@charset "UTF-8";
/* CSS Document */


body,
h1,
h2,
h3,
h4,
h5,
p {
    font-family: 'Urbanist', sans-serif;
}



::-moz-selection {
    /* Code for Firefox */
    color: #F4F2E8;
    background: #D56370;
}

::selection {
    color: #F4F2E8;
    background: #D56370;
}


.navbar {
    background-color: #F8F6E9 !important;
    background-image: url(../img/back-head.svg);
    background-size: 100%;
    background-position: top;
    background-repeat: no-repeat;
}

.back-head {
    background-image: url(../img/back-head.svg);
    background-size: 100%;
    background-position: top;
    background-repeat: no-repeat;
}

.navbar-brand {
    font-family: 'DM Serif Display', serif;
    color: #A12B2E;
    font-size: calc(20px + (34 - 20) * ((100vw - 300px) / (1920 - 300)));
    margin-left: 15rem;
}

.nav-link {
    font-family: 'DM Serif Display', serif;
    color: #A12B2E;
    font-size: calc(14px + (22 - 14) * ((100vw - 300px) / (1920 - 300)));
    padding-top: 1rem;
    margin-left: 3rem;
}

.logo-nav {
    max-width: 50px;
    min-width: 50px;
}

.back-gian {
    background-image: url(../img/foto2.png);
    background-size: cover;
    background-position: top;
    background-repeat: no-repeat;
}

.img-profilo {
    position: absolute;
    bottom: 0;
}

.sp-foto {
    padding-top: 4rem;
}

.title-h1 {
    font-family: 'DM Serif Display', serif;
    font-size: calc(34px + (110 - 34) * ((100vw - 300px) / (1920 - 300)));
    line-height: calc(30px + (110 - 30) * ((100vw - 300px) / (1920 - 300)));
    color: #A12B2E;
    padding-top: 12rem;
}

.txt {
    font-size: calc(16px + (22 - 16) * ((100vw - 300px) / (1920 - 300)));
    color: #A12B2E;
}

.title-comp {
    font-family: 'DM Serif Display', serif;
    font-size: calc(20px + (28 - 20) * ((100vw - 300px) / (1920 - 300)));
    color: #A12B2E;
    font-weight: 700;
    margin-bottom: 0.2rem;
}

.sp-comp {
    padding-left: 2rem;
    padding-right: 2rem;
}

.sp-bot {
    padding-bottom: 7rem;
}

.title-h2 {
    font-family: 'DM Serif Display', serif;
    font-size: calc(32px + (120 - 32) * ((100vw - 300px) / (1920 - 300)));
    line-height: calc(28px + (110 - 28) * ((100vw - 300px) / (1920 - 300)));
    color: #A12B2E;
    padding-top: 12rem;
}

.back-exp {
    background-image: url(../img/back-exp.svg);
    background-size: 100%;
    background-position: top;
    background-repeat: no-repeat;
}

.sp-form {
    padding-top: 16rem;
    padding-left: 6rem;
}

.tit-form {
    font-size: calc(22px + (30 - 22) * ((100vw - 300px) / (1920 - 300)));
    color: #F8F6E9;
    font-weight: 700;
    margin-bottom: 0.2rem;
}

.form-control {
    display: block;
    width: 100%;
    padding: 0.375rem 0.75rem;
    font-size: calc(20px + (24 - 20) * ((100vw - 300px) / (1920 - 300)));
    color: #F8F6E9;
    font-weight: 600;
    line-height: 1.5;
    background-color: #A12B2E;
    background-clip: padding-box;
    border: 3px solid #F8F6E9;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    border-radius: 0.375rem;
    transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}

.form-control:focus {
    color: #F8F6E9;
    background-color: #A12B2E;
    border: 3px solid #F8F6E9;
    outline: 0;
    box-shadow: 4px 4px 10px #292929;
}

.btn {
    font-size: calc(16px + (18 - 16) * ((100vw - 300px) / (1920 - 300)));
    color: #F8F6E9;
    font-weight: 600;
    line-height: 1.5;
    background-color: #A12B2E;
    background-clip: padding-box;
    border: 3px solid #F8F6E9;
}

.btn:hover {
    font-size: calc(16px + (18 - 16) * ((100vw - 300px) / (1920 - 300)));
    color: #A12B2E;
    font-weight: 600;
    line-height: 1.5;
    background-color: #F8F6E9;
    background-clip: padding-box;
    border: 3px solid #F8F6E9;
    box-shadow: 4px 4px 10px #292929;
}

input::placeholder {
    font-weight: 600;
    opacity: 0.7;
    font-size: calc(20px + (24 - 20) * ((100vw - 300px) / (1920 - 300)));
    color: #F8F6E9 !important;
}

textarea::placeholder {
    color: #F8F6E9 !important;
}

.sp-foot {
    padding-top: 4rem;
    padding-bottom: 0rem;
}

.tit-foot {
    font-size: calc(20px + (24 - 20) * ((100vw - 300px) / (1920 - 300)));
    color: #A12B2E;
    font-weight: 700;
    margin-bottom: 0.2rem;
}

.txt-foot {
    font-size: calc(20px + (20 - 20) * ((100vw - 300px) / (1920 - 300)));
    color: #A12B2E;
    margin-bottom: 0.2rem;
}

.logo-foot {
    max-width: 80px;
    min-width: 80px;
    padding-bottom: 2rem;
}

.form-check-label {
    color: #F8F6E9;
    font-size: calc(12px + (14 - 12) * ((100vw - 300px) / (1920 - 300)));
}

.white {
    color: #F8F6E9;
}

.black {
    color: #292929;
}

.sp-dati {
    margin-top: 2rem;
    padding-top: 1rem;
    border-top: 2px solid #A12B2E;
}

.txt-dati,
.txt-dati a {
    font-size: calc(14px + (20 - 14) * ((100vw - 300px) / (1920 - 300)));
    color: #A12B2E;
    margin-bottom: 0.2rem;
}

a {
    text-decoration: none;
    color: #fff;
}

a:hover {
    text-decoration: none;
    color: #8E2023;
}

@media only screen and (max-width: 1500px) {}

@media only screen and (max-width: 840px) {}

@media only screen and (max-width: 850px) {
    .title-h1 {
        font-family: 'DM Serif Display', serif;
        font-size: calc(40px + (120 - 40) * ((100vw - 300px) / (1920 - 300)));
        line-height: calc(30px + (110 - 30) * ((100vw - 300px) / (1920 - 300)));
        color: #A12B2E;
        padding-top: 2rem;
        font-weight: 700;
    }

    .sp-bot {
        padding-bottom: 1rem;
    }

    .logo-nav {
        max-width: 40px;
        min-width: 40px;
    }

    .sp-foto {
        padding-top: 1rem;
    }

    .sub-h1 {
        font-size: calc(32px + (120 - 32) * ((100vw - 300px) / (1920 - 300)));
        line-height: calc(20px + (110 - 20) * ((100vw - 300px) / (1920 - 300)));
        font-weight: 200;
    }

    .title-h2 {
        font-family: 'DM Serif Display', serif;
        font-size: calc(52px + (120 - 52) * ((100vw - 300px) / (1920 - 300)));
        line-height: calc(48px + (110 - 48) * ((100vw - 300px) / (1920 - 300)));
        padding-top: 4rem;
    }

    .sp-foot {
        padding-top: 2rem;
        padding-bottom: 0rem;
        padding-left: 1rem;
        padding-right: 1rem;
    }

    .nav-link {
        font-family: 'DM Serif Display', serif;
        color: #A12B2E;
        font-size: calc(12px + (34 - 12) * ((100vw - 300px) / (1920 - 300)));
        padding-top: 0.5rem;
    }

    .logo-nav {
        max-width: 30px;
        min-width: 30px;
    }

    .img-profilo {
        position: static !important;
        bottom: 0;
    }

    .sp-form {
        padding-top: 2rem;
        padding-bottom: 2rem;
        padding-left: 1rem;
        padding-right: 1rem;
    }

    .navbar-brand {
        font-family: 'DM Serif Display', serif;
        color: #A12B2E;
        font-size: calc(20px + (34 - 20) * ((100vw - 300px) / (1920 - 300)));
        margin-left: 0.5rem;
    }

    .navbar-toggler {
        padding: var(--bs-navbar-toggler-padding-y) var(--bs-navbar-toggler-padding-x);
        font-size: var(--bs-navbar-toggler-font-size);
        line-height: 1;
        color: var(--bs-navbar-color);
        background-color: transparent;
        border: 0px solid;
        border-radius: var(--bs-navbar-toggler-border-radius);
        transition: var(--bs-navbar-toggler-transition);
    }

    .navbar-toggler:focus {
        text-decoration: none;
        outline: 0;
        box-shadow: 0 0 0 0;
    }

    .nav-link {
        font-family: 'DM Serif Display', serif;
        color: #A12B2E;
        font-size: calc(14px + (22 - 14) * ((100vw - 300px) / (1920 - 300)));
        padding-top: 0.4rem;
        margin-left: 1rem;
    }
}