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

body,
h1,
h2,
h3,
h4,
h5,
p {
    font-family: "Urbanist", sans-serif;
}
.list-flag{
        
        padding-left:0;
        gap:4rem;
        list-style: none;
        display: inline-flex;
        flex-direction: row;
        justify-content: center;
        
    }
.urbanist-<uniquifier> {
    font-family: "Urbanist", sans-serif;
    font-optical-sizing: auto;
    font-weight: <weight>;
    font-style: normal;
}

.list-btn{
        display: flex;
        flex-direction: column;
        gap:2rem;
    }

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

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

.flag-nav {
    max-width: 50px;
    margin-left: 1rem;
}

.wa {
    position: fixed;
    max-width: 120px;
    right: 1rem;
    bottom: 1rem;
    z-index: 100000;
}

.link-privacy {
    color: black;
}

.navbar-toggler-icon {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba(50,50,50,1)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='3' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
    border: 0px solid rgb(25, 25, 25);
}

.wa {
    position: fixed;
    max-width: 100px;
    right: 1rem;
    bottom: 1rem;
    z-index: 100000;
}

.form-check-input:checked {
    background-color: #273373;
    border-color: #273373;
}

.bg-light {
    background-color: transparent !important;
    margin-top: 0.5rem;
    margin-left: 0.5rem;
    margin-right: 0.5rem;
    padding-left: 0.5rem;
    padding-right: 1rem;
    transition-duration: 1s;
}

nav.navscr {
    background-color: #f0efed !important;
    border-radius: 0.2rem;
    box-shadow: 0px 0px 10px 0px #2424243a;
    transition-duration: 1s;
}

.logo-nav {
    max-width: 8rem;
    min-width: 8rem;
}

.btn-nav {
    background-color: #9e937e;
    border-radius: 0.2rem;
    color: hsl(0, 0%, 100%);
    font-family: "Urbanist", sans-serif;
    font-weight: 500;
    font-size: calc(16px + (20 - 16)*((100vw - 300px) /(1920 - 300)));
    box-shadow: 0px 0px 10px 0px #d3cdc2;
    padding: 0.4rem 1rem;
    border: 0px solid #9e937e;
    margin-top: 0px;
    text-transform: uppercase;
}

.btn-nav:hover {
    background-color: #827661;
    color: hsl(0, 4%, 95%);
    border: 0px solid #9e937e;
    box-shadow: 0px 0px 20px 0px #d3cdc2;
}

.nav-link {
    font-family: "Urbanist", sans-serif;
    font-size: calc(16px + (22 - 16)*((100vw - 300px) /(1920 - 300)));
    color: #262626;
    font-weight: 400;
    text-decoration: none;
    margin-right: 2rem;
    text-transform: uppercase;
    letter-spacing: 0.1em;
}

.nav-link:hover {
    font-family: "Urbanist", sans-serif;
    color: #262626;
    font-weight: 500;
    text-decoration: none;
    margin-right: 2rem;
}







/*-----------------------------------Video Back----------------------------------------------*/

.video-background-holder {
    position: relative;
    height: 100vh;
    max-height: auto;
    min-height: 25rem;
    width: 100%;
    overflow: hidden;
    transition-duration: 2s
}

.img-manifesto,
.img-manifesto:hover {
    transition-duration: .3s
}

.video-background-holder video {
    position: absolute;
    top: 50%;
    left: 50%;
    min-width: 100%;
    min-height: 100%;
    width: auto;
    height: auto;
    z-index: 0;
    -ms-transform: translateX(-50%) translateY(-50%);
    -moz-transform: translateX(-50%) translateY(-50%);
    -webkit-transform: translateX(-50%) translateY(-50%);
    transform: translateX(-50%) translateY(-50%)
}

.video-background-content {
    position: relative;
    z-index: 2
}

.video-background-overlay {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    background-color: #fff;
    opacity: 0;
    z-index: 1
}

.col-flex-video {
    align-items: center;

}

.video-storia {
    position: relative;
    height: 70vh;
    min-height: 25rem;
    width: 100%;
    overflow: hidden;
    border-radius: 1rem;
    transition-duration: 2s
}

/*-----------------------------------Fine Video Back----------------------------------------------*/

.logo-intro {
    max-width: 50%;
    min-width: 50%;
    padding-top: 20%;
    padding-bottom: 4rem;
}

.btn-intro-chez {
    background-color: #9e937e;
    border-radius: 8rem;
    color: rgb(255, 255, 255);
    font-family: "DM Sans", sans-serif;
    font-weight: 600;
    font-size: calc(16px + (26 - 16)*((100vw - 300px) /(1920 - 300)));
    box-shadow: 0px 0px 4px 0px #9e937e;
    padding: 0.8rem 2rem;
    border: 0px solid #d3cdc2;
}

.btn-intro-chez:hover {
    background-color: #afa697;
    border-radius: 8rem;
    border: 0px solid #afa697;
    color: rgb(255, 255, 255);
    font-family: "DM Sans", sans-serif;
    font-weight: 600;
    font-size: calc(16px + (26 - 16)*((100vw - 300px) /(1920 - 300)));
    box-shadow: 0px 0px 8px 0px #c3bcb0;
    padding: 0.8rem 2rem;
}

.btn-intro-covo {
    background-color: #9e937e;
    border-radius: 8rem;
    color: rgb(255, 255, 255);
    font-family: "DM Sans", sans-serif;
    font-weight: 600;
    font-size: calc(16px + (26 - 16)*((100vw - 300px) /(1920 - 300)));
    box-shadow: 0px 0px 10px 0px #9e937e;
    padding: 0.8rem 2rem;
    border: 0px solid #9e937e;
}

.btn-intro-covo:hover {
    background-color: #afa697;
    border-radius: 8rem;
    border: 0px solid #afa697;
    color: rgb(255, 255, 255);
    font-family: "DM Sans", sans-serif;
    font-weight: 600;
    font-size: calc(16px + (26 - 16)*((100vw - 300px) /(dati - 300)));
    box-shadow: 0px 0px 20px 0px #afa697;
    padding: 0.8rem 2rem;
}

.sp-icn-intro {
    padding-top: 1rem;
}

.icn-intro {
    max-width: 50%;
    display: block;
    margin: auto;
    transition-duration: 1s;
}

.icn-intro:hover {
    max-width: 55%;
    display: block;
    margin: auto;
    transition-duration: 1s;
}


.back-dati-intro {
    background-color: #222222;
}

.dati-intro {
    text-align: center;

    padding-left: 2rem;
    font-size: calc(12px + (16 - 12)*((100vw - 300px) /(1920 - 300)));
    line-height: calc(20px + (16- 20)*((100vw - 300px) /(1920 - 300)));
    color: #fff;
    font-weight: 300;
    margin-bottom: 0rem;
    padding-top: 0.6rem;
    padding-bottom: 0rem;
}



/*-----------------------------------Fine Intro----------------------------------------------*/

.sp-h1 {
    padding-top: 4rem;
    padding-bottom: 14rem;
    padding-left: 6%;
    padding-right: 6%;
}

.back-head-covo {
    background-image: url(../img/covo-head.jpg);
    background-size: 100%;
    background-repeat: no-repeat;
    background-position: center;
    height: 110vh;
    position: relative;
}

.back-head-chez {
    background-image: url(../img/chez-head.jpg);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center top;
    height: 100vh;
    position: relative;
}

.back-logo {
    background-image: url(../img/back-logo.svg);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center top;
    height: auto;
    position: relative;
}

.sfumatura {
    position: absolute;
    bottom: -2px;
    width: 100%;
}

.logo-head {
    max-width: 50%;
    display: block;
    margin: auto;
    padding-top: 15%;
}

.title-h1 {
    font-weight: 400;
    font-size: calc(60px + (80 - 60)*((100vw - 300px) /(1920 - 300)));
    line-height: calc(40px + (70 - 40)*((100vw - 300px) /(1920 - 300)));
    color: #f0efed;
}

.title-h2 {
    font-weight: 400;
    font-size: calc(30px + (70 - 30)*((100vw - 300px) /(1920 - 300)));
    line-height: calc(30px + (60 - 30)*((100vw - 300px) /(1920 - 300)));

    text-align: right;
}

.title-h2-sx {
    font-weight: 400;
    font-size: calc(30px + (70 - 30)*((100vw - 300px) /(1920 - 300)));
    line-height: calc(30px + (60 - 30)*((100vw - 300px) /(1920 - 300)));
}

.title-h2-l {
    font-weight: 800;
    font-size: calc(30px + (60 - 30)*((100vw - 300px) /(1920 - 300)));
    line-height: calc(30px + (60 - 30)*((100vw - 300px) /(1920 - 300)));
}

.title-h3 {
    font-weight: 700;
    font-size: calc(30px + (40 - 30)*((100vw - 300px) /(1920 - 300)));
    line-height: calc(30px + (40 - 30)*((100vw - 300px) /(1920 - 300)));
    color: #f0efed;
    padding-top: 4rem;
}

.title-h3-foto {
    font-weight: 700;
    font-size: calc(30px + (40 - 30)*((100vw - 300px) /(1920 - 300)));
    line-height: calc(30px + (40 - 30)*((100vw - 300px) /(1920 - 300)));
    padding-top: 4rem;
    color: #242424;
}

.sp-testo-vista {
    padding-top: 20%;
    padding-bottom: 20%;
}

.back-trasporto {
    background-image: url(../img/chez-2.jpg);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center bottom;
    height: auto;
    padding-top: ;
    position: relative;
}

.back-interno {
    background-image: url(../img/interno.jpg);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center bottom;
    height: 100vh;
    position: relative;
}

.back-interno2 {
    background-image: url(../img/interno2.jpg);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center bottom;
    height: auto;
    position: relative;
}

.back-covo-lato {
    background-image: url(../img/covo1.jpg);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center bottom;
    height: 100vh;
    position: relative;
}

.back-covo-lato2 {
    background-image: url(../img/covo2.jpg);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center bottom;
    height: auto;
    position: relative;
}

.box-1txt {
    padding: 8rem;
}

.box-1foto {
    padding: 8rem;
    padding-top: 15%;
    padding-bottom: 15%;
}

.txt-video {
    font-size: calc(18px + (26 - 18)*((100vw - 300px) /(1920 - 300)));
    color: #fff;
    font-weight: 400;
    padding-top: 2rem;

}

.txt-intro {
    font-size: calc(18px + (26 - 18)*((100vw - 300px) /(1920 - 300)));
    color: #fff;
    font-weight: 600;
    padding-top: 2rem;
    text-align: center;
    text-shadow: 4px 4px 10px #0000004b;
}

.txt-foto {
    font-size: calc(18px + (26 - 18)*((100vw - 300px) /(1920 - 300)));

    font-weight: 400;
    padding-top: 2rem;
    text-align: right;
}

.txt-foto2 {
    font-size: calc(18px + (26 - 18)*((100vw - 300px) /(1920 - 300)));
    font-weight: 400;
    padding-top: 2rem;
}

.txt {
    font-size: calc(18px + (26 - 18)*((100vw - 300px) /(1920 - 300)));
    color: #fff;
    font-weight: 500;
    text-align: center;
    padding-top: 2rem;
}

.txt-m {
    font-size: calc(18px + (24 - 18)*((100vw - 300px) /(1920 - 300)));
    color: #fff;
    font-weight: 500;
    padding-top: 2rem;
}

.img-chez {
    max-width: 70%;
    display: block;
    margin: auto;
}

.sec-gallery {
    position: absolute;
    margin-top: -6%;
}

.sec-gallery-m {
    position: absolute;
    margin-top: -8%;
    padding-bottom: 2rem;
}

.img-gallery {
    border-radius: 1rem;
    box-shadow: 2px 2px 1rem #1b1b1b;
}



.h-foot {
    padding-top: 12rem;
}

.sp-foot {
    padding-top: 6vh;
}

.log-foot {
    max-width: 30%;
}

.box-txt-foot {
    padding-top: 10%;
}

.tit-foot {
    font-size: calc(16px + (40 - 16)*((100vw - 300px) /(1920 - 300)));
    line-height: calc(20px + (40 - 20)*((100vw - 300px) /(1920 - 300)));
    color: #fff;
    font-weight: 800;
    margin-bottom: 0.7rem;
}

.txt-foot {
    font-size: calc(16px + (28 - 16)*((100vw - 300px) /(1920 - 300)));
    line-height: calc(20px + (36 - 20)*((100vw - 300px) /(1920 - 300)));
    color: #fff;
    font-weight: 400;
    margin-bottom: 0.7rem;
}

.txt-foot-r {
    font-size: calc(16px + (24 - 16)*((100vw - 300px) /(1920 - 300)));
    line-height: calc(20px + (30 - 20)*((100vw - 300px) /(1920 - 300)));
    color: #fff;
    font-weight: 400;
    margin-bottom: 0.7rem;
    padding-right: 2rem;
}

.logo-foot {
    padding-top: 0.5rem;
}

.dati {
    text-align: center;
    padding-bottom: 1rem;
    padding-left: 2rem;
    font-size: calc(12px + (20 - 12)*((100vw - 300px) /(1920 - 300)));
    line-height: calc(20px + (20- 20)*((100vw - 300px) /(1920 - 300)));
    color: #fff;
    font-weight: 400;
    margin-bottom: 0.7rem;
    padding-top: 5rem;
}

.form-control {
    margin-top: 1rem;
    display: block;
    width: 100%;
    padding: 0.375rem 0.75rem;
    font-size: calc(16px + (28 - 16)*((100vw - 300px) /(1920 - 300)));
    font-weight: 400;
    line-height: 1.5;
    color: #222222;
    background-color: transparent;
    background-clip: padding-box;
    border: 0px;
    border-bottom: 5px solid #000000;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    border-radius: 0rem;
    transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}

.form-control-b {
    color: #222222;
    border-bottom: 5px solid #222222;

}

input::placeholder,
textarea::placeholder {
    opacity: 1;
    color: #000000 !important;
    font-size: calc(16px + (28 - 16)*((100vw - 300px) /(1920 - 300)));
    font-weight: 200;
}

::-webkit-input-placeholder {
    /* Chrome/Opera/Safari */
    opacity: 1;
    color: #b5b5b5 !important;
    font-size: calc(16px + (28 - 16)*((100vw - 300px) /(1920 - 300)));
    font-weight: 200;
}

.form-control:focus {
    color: #fff;
    background-color: transparent;
    border-color: #fff;
    outline: 0;
    box-shadow: 0 0 0 0;
}


textarea.form-control {}

.mappa {
    height: 40vh;
}


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

a:hover {
    color: #9e937e;
    text-decoration: none;
}

#sendBtn {
    color: #fafafa;
    background-color: #9e937e;
}

.nero {
    color: #222222
}



@media only screen and (max-width: 1620px) {
    
    .box-1txt {
        padding: 2rem;
    }
    .video-background-holder{
        min-height: 100vh;
        padding-top: 4rem;
        padding-bottom: 4rem;
        height: auto;
    }
    .back-covo-lato{
        height: auto;
    }
    .box-1foto {
        padding: 3rem;
        padding-top: 15%;
        padding-bottom: 15%;
    }
    .back-interno{
        height: auto;
    }
    #gallery{
        scroll-margin-top: 16rem;
    }
}

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

    .back-head-covo {  
        background-size: cover;
    }
    .logo-head {
        max-width: 80%;
        display: block;
        margin: auto;
        padding-top: 34%;
    }
    .navbar-expand-lg .navbar-nav .nav-link {
        padding-right: 0rem;
        padding-left: 0.4rem;
    }
    .nav-link {
        
        font-size: calc(14px + (22 - 16)*((100vw - 300px) /(1920 - 300)));
   
    }
}







@media only screen and (max-width: 850px) {
    .spacing-top-home {
        padding-top: 3rem;
    }
    .list-flag{
        
        padding-left:0;
        
        list-style: none;
        display: inline-flex;
        flex-direction: row;
        justify-content: center;
        gap: 1rem;
    }
    .list-btn{
        display: flex;
        flex-direction: column;
        gap:2rem;
    }
    .sp-h1 {
        padding-top: 4rem;
        padding-bottom: 4rem;
        padding-left: 6%;
        padding-right: 6%;
    }

    .bg-light {
        background-color: transparent !important;
        margin-top: 0.5rem;
        margin-left: 0.5rem;
        margin-right: 0.5rem;
        padding-left: 0.5rem;
        padding-right: 0.5rem;
        transition-duration: 1s;
    }

    .logo-nav {
        max-width: 7rem;
        min-width: 7rem;
        padding: 0.2rem;
    }

    nav.navscr {

        border-radius: 2rem;

        transition-duration: 1s;
    }

    .back-offerte {
        padding-top: 4rem;
        padding-bottom: 4rem;
    }

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

    .h-pag {
        padding-top: 5rem;
    }
}

@media only screen and (max-width: 790px) {
    .back-head-chez {
        height: 80vh;
    }

    .logo-head {
        max-width: 60%;
        padding-top: 40%;
    }

    .box-1txt {
        padding: 1rem;
    }

    .box-1foto {
        padding: 2rem;
        padding-top: 10%;
        padding-bottom: 10%;
    }

    .col-flex-video {
        align-items: center;

    }

    .back-interno {
        height: 55vh;
    }

    .back-interno2 {
        background-repeat: no-repeat;
        height: 50vh;
        background-size: cover;

    }

    .h-foot {
        padding-top: 17rem;
    }

    .title-h1 {

        line-height: calc(50px + (70 - 50)*((100vw - 300px) /(1920 - 300)));
        font-weight: 600;
    }
}

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


    .logo-head {
        max-width: 90%;
        padding-top: 65%;
    }

    .h-foot {
        padding-top: 19rem;
    }




    .title-h1 {
        padding-top: 3rem;
        font-size: calc(40px + (80 - 40)*((100vw - 300px) /(1920 - 300)));
        line-height: calc(40px + (70 - 40)*((100vw - 300px) /(1920 - 300)));
        font-weight: 600;
    }

    .txt-video {
        font-size: calc(18px + (26 - 18)*((100vw - 300px) /(1920 - 300)));
        padding-top: 2rem;
    }



    .dati {
        text-align: center;
        padding-bottom: 0.3rem;
        padding-left: 0.3rem;

        margin-bottom: 0.7rem;
        padding-top: 2rem;
    }



    .back-head-covo {

        background-size: cover;
        background-position: 59% 80%;
        height: 80vh;
        position: relative;
    }

    .back-covo-lato {

        height: 50vh;

    }

    .icn-intro {
        max-width: 100%;

    }

    .sp-icn-intro {
        justify-content: center;
        flex-direction: row;
        padding-top: 1rem;
    }

    .logo-intro {
        max-width: 40%;
        min-width: 50%;
        padding-top: 7%;
        padding-bottom: 4rem;
    }

    .video-background-holder {
        position: relative;
        height: auto;
        max-width: 100%;
        max-height: auto;
        min-height: 25rem;
        width: 100%;
        overflow: unset;
        transition-duration: 2s;
        padding: 0.3em;

    }

    .video-background-holder video {
        display: block;
        width: 100%;
        height: auto;
        object-fit: cover;
        aspect-ratio: 9/16;
    }

}