@font-face {
    font-family: 'Didot Italic';
    src: url('linotype-didot-italic.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'Badr Lt';
    src: url('badr-lt.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'Didot Regular';
    src: url('didotLh-Roman.otf') format('opentype');
    font-weight: normal;
    font-style: normal;
}

body {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

.background {
    width: 100vw;
    height: 100vh;
    background-color: #F9D382;
    display: flex;
    align-items: center;
    justify-content: center;
}

.line {
    background-color: black;
    position: absolute;
}

.line1, .line3 {
    width: 100%;
    height: 3px;
}

.line2, .line4 {
    height: 100%;
    width: 3px;
}

.line1 {
    top: 5px;
}

.line2 {
    right: 5px;
}

.line3 {
    bottom: 5px;
}

.line4 {
    left: 5px;
}

.inner {
    height: 90%;
    width: 80%;
}

.wrapper_text {
    position: relative;
    width: 100%;
    height: 80%;
    margin: 0 auto;
}

.image {
    width: auto;
    height: 100%;
    position: absolute;
    left: 17%;
}

.title {
    font-family: 'Didot Regular';
    font-size: calc(14px + (18 - 2) * ( (100vw - 480px) / ( 1024 - 480) ));
    position: absolute;
    top: 11%;
    left: 39%;
}

.subtitle {
    font-family: 'Didot Italic';
    position: absolute;
    font-size: calc(14px + (18 - 2) * ( (100vw - 480px) / ( 1024 - 480) ));
    left: 39%;
    top: 26%;
}

.contact {
    font-family: 'Didot Regular';
    position: absolute;
    right: 15%;
    display: flex;
    flex-direction: column;
    align-items: end;
    font-size: calc(14px + (8 - 2) * ( (100vw - 560px) / ( 1024 - 480) ));
    bottom: 10%;
}

.contact p {
    margin: 8px;
}

.contact a {
    text-decoration: none;
    color: #000;
}

.contact a:link {
    text-decoration: none;
    color: #000;
}

@-moz-document url-prefix() {
    .contact a {
        text-decoration: none;
        color: #000;
    }
}

.description {
    width: 90%;
    line-height: 40px;
    font-family: 'Badr Lt';
    font-size: calc(14px + (8 - 2) * ( (100vw - 560px) / ( 1024 - 480) ));
    position: absolute;
    bottom: 0%;
    left: 50%;
    transform: translate(-50%, 0);
    text-align: center;
    letter-spacing: 2px;
    height: 15%;
}

@media(max-width: 1500px) {
    .title {
        top: 8%;
        left: 32%;
    }
    .subtitle {
        top: 23%;
        left: 32%;
    }
    .description {
        line-height: 30px;
    }
}

@media(max-width: 1201px) {
    .title {
        top: 9%;
        left: 35%;
    }
    .subtitle {
        top: 23%;
        left: 35%;
    }
    .description {
        line-height: 30px;
    }
}

@media(max-width: 1025px) {
    .title {
        top: 13%;
        left: 39%;
    }
    .subtitle {
        top: 27%;
        left: 39%;
    }
}

@media (orientation: portrait) {
    .inner {
        width: 90%;
    }
    .image {
        height: 60%;
        left: 14%;
    }
    .title {
        top: 8%;
        left: 47%;
    }
    .subtitle {
        top: 16%;
        left: 47%;
    }
    .contact {
        font-size: 20px;
        bottom: 0;
        right: 25%;
    }
    .wrapper_text {
        height: 70%;
    }
    .description {
        bottom: 5%;
    }
}

@media (orientation: portrait) and (max-width: 300px) {
    .title {
        font-size: 12px;
        top: 8%;
        left: 40%;
    }
    .subtitle {
        font-size: 18px;
        top: 16%;
        left: 40%;
    }
    .contact {
        font-size: 18px;
        bottom: 0;
        right: 25%;
    }
    .description {
        font-size: 16px;
    }
}

@media (orientation: portrait) and (max-width: 400px) {
    .title {
        font-size: 16px;
        top: 8%;
        left: 40%;
    }
    .subtitle {
        font-size: 18px;
        top: 16%;
        left: 40%;
    }
    .contact {
        font-size: 18px;
        bottom: 0;
        right: 25%;
    }
    .description {
        font-size: 16px;
    }
}

@media (orientation: portrait) and (max-width: 500px) {
    .title {
        font-size: 18px;
        top: 8%;
        left: 47%;
    }
    .subtitle {
        font-size: 20px;
        top: 16%;
        left: 47%;
    }
    .contact {
        font-size: 22px;
        bottom: 0;
        right: 25%;
    }
    .description {
        font-size: 16px;
    }
}

@media (orientation: portrait) and (max-width: 600px) {
    .title {
        font-size: 13px;
        top: 8%;
        left: 46%;
    }
    .subtitle {
        font-size: 15px;
        top: 16%;
        left: 46%;
    }
    .contact {
        font-size: 20px;
        bottom: 0;
        right: 25%;
    }
    .description {
        font-size: 16px;
    }
}

@media (orientation: portrait) and (min-width: 900px) {
    .title {
        font-size: 32px;
        top: 8%;
        left: 40%;
    }
    .subtitle {
        font-size: 34px;
        top: 16%;
        left: 40%;
    }
    .contact {
        font-size: 36px;
        bottom: 0;
        right: 25%;
    }
    .description {
        font-size: 30px;
    }
}

@media (orientation: portrait) and (min-width: 800px) {
    .title {
        font-size: 32px;
        top: 8%;
        left: 40%;
    }
    .subtitle {
        font-size: 34px;
        top: 16%;
        left: 40%;
    }
    .contact {
        font-size: 36px;
        bottom: 0;
        right: 25%;
    }
    .description {
        font-size: 30px;
    }
}