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


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


.navbar {
    background-color: #fff !important;
    box-shadow: 0px 0px 5px 0px #534B41;
}

.nav-link {
    font-size: calc(14px + (16 - 14) * ((100vw - 300px) / (1920 - 300)));
    color: #252526;
    font-weight: 500;
    letter-spacing: 1px;
    margin-right: 0.5rem;
}

.logo-nav {
    max-width: 150px;
    min-width: 150px;

}

.close {
    position: absolute;
    padding: 1rem 1rem;
    margin: 1rem;
    right: 1rem;
    font-size: 2rem;
    z-index: 1000000;
    color: #000;
}

.dropdown-item:active {
    color: #000;
    text-decoration: none;
    background-color: #fff;
}

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

.chiamaci {
    background-color: #334168;
    font-size: calc(14px + (16 - 14) * ((100vw - 300px) / (1920 - 300)));
    color: #E3DED5;
    border-radius: 1rem;
    padding-left: 1rem !important;
    padding-right: 1rem !important;
    margin-top: 0.3rem;
    padding-top: 0.2rem;
    padding-bottom: 0.2rem;
    font-weight: 500;
}

.chiamaci:hover {
    color: #D13D25;
}


/*----------fine-navbar-head----------*/
/*----------animazione-testo----------*/
.cssanimation,
.cssanimation span {
    animation-duration: 0.3s;
    animation-fill-mode: both;
}



.leRotateYZoomIn span {
    animation-name: leRotateYZoomIn
}

@keyframes leRotateYZoomIn {
    from {
        transform: perspective(600px) translate3d(0, -10px, -0px) rotateY(0deg);
        opacity: 0
    }

    2% {
        transform: perspective(600px) translate3d(0, -10px, -0px) rotateY(0deg)
    }
}

/*----------animazione-testo----------*/



.back-head {
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    height: 95vh;
}

.logo-head {
    position: absolute;
    max-height: 99%;
    max-width: 99%;
    right: 0;
    bottom: 0;
}

.back-blu {
    background-color: #334168;
}

.box-head {
    padding-top: 25%;
    padding-bottom: 8rem;
}

.box-head-pag {
    padding-top: 5%;
    padding-bottom: 8rem;
    padding-left: 5%;
    padding-right: 5%;
}

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

.dim-sez {
    padding-top: 8rem;
    padding-bottom: 8rem;
}

.title-h1 {
    font-size: calc(40px + (100 - 40) * ((100vw - 300px) / (1920 - 300)));
    line-height: calc(18px + (100 - 18) * ((100vw - 300px) / (1920 - 300)));
    color: #fff;
    font-weight: 800;
}

.subtitle-h1 {
    font-size: calc(24px + (80 - 24) * ((100vw - 300px) / (1920 - 300)));
    line-height: calc(36px + (80 - 36) * ((100vw - 300px) / (1920 - 300)));
    color: #D13D25;
    font-weight: 300;
}

.hr-head {
    border-top: 4px solid #fff;
    margin-right: 19rem;
    margin-top: 3rem;
}

.hr-head-red {
    border-top: 4px solid #D13D25;
    margin-right: 19rem;
    margin-top: 1rem;
}

.txt-head {
    font-size: calc(20px + (24 - 20) * ((100vw - 300px) / (1920 - 300)));
    color: #fff;
}

.title-sez {
    font-size: calc(40px + (100 - 40) * ((100vw - 300px) / (1920 - 300)));
    line-height: calc(40px + (100 - 40) * ((100vw - 300px) / (1920 - 300)));
    color: #334168;
    font-weight: 800;
}

.hr-sez {
    border-top: 3px solid #A1A1A1;
    margin-top: 2rem;
}

.txt-1sez {
    font-size: calc(16px + (20 - 16) * ((100vw - 300px) / (1920 - 300)));
    color: #474747;
    font-weight: 500;
    padding-top: 1rem;
}

.nome-servizio {
    font-size: calc(18px + (20 - 18) * ((100vw - 300px) / (1920 - 300)));
    color: #212426;
    font-weight: 800;
    margin-bottom: 0px;
    border-top: 2px solid #334168;
    margin-top: 1rem;
    padding-top: 1rem;
}

.sp-servizi {
    padding-top: 3rem;
    padding-bottom: 3rem;
}

.icn {
    max-width: 100%;
}

.icn-prodotti {
    max-width: 70%;

}

.txt-servizio {
    font-size: calc(16px + (16 - 16) * ((100vw - 300px) / (1920 - 300)));
    color: #212426;
    font-weight: 300;
    margin-right: 3rem;
}

.title-h2 {
    font-size: calc(30px + (80 - 30) * ((100vw - 300px) / (1920 - 300)));
    line-height: calc(30px + (80 - 30) * ((100vw - 300px) / (1920 - 300)));
    color: #fff;
    font-weight: 700;
}

.subtitle-h2 {
    font-size: calc(20px + (30 - 20) * ((100vw - 300px) / (1920 - 300)));
    line-height: calc(20px + (30 - 20) * ((100vw - 300px) / (1920 - 300)));
    color: #D13D25;
    font-weight: 300;
}
.carousel-item img {
    aspect-ratio: 4 / 5;
    height: 100%;
}

.back-prodotto {
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

.hr-img {
    border-top: 4px solid #fff;
    margin-right: 19rem;
    margin-left: 19rem;
    margin-top: 3rem;
}

.box-back-photo {
    padding-top: 18rem;
    padding-bottom: 18rem;
}

.back-prodotto-full {
    background-size: cover;
    background-repeat: repeat-y;
    background-position: 50% 0;
    transition: 0s linear;
    transition-property: background-position;
    background-attachment: fixed;
}

.nome-prodotto {
    font-size: calc(18px + (20 - 18) * ((100vw - 300px) / (1920 - 300)));
    color: #212426;
    font-weight: 700;
    color: #fff;
    text-align: center;
    text-shadow: 0px 0px 10px #232323;
}

.txt-prodotti {
    font-size: calc(20px + (24 - 20) * ((100vw - 300px) / (1920 - 300)));
    color: #fff;
    text-shadow: 0px 0px 10px #232323;
}

.title-prodotti {
    font-size: calc(30px + (80 - 30) * ((100vw - 300px) / (1920 - 300)));
    line-height: calc(30px + (80 - 30) * ((100vw - 300px) / (1920 - 300)));
    color: #fff;
    font-weight: 700;
    text-shadow: 0px 0px 10px #232323;
}

.subtitle-prodotti {
    font-size: calc(20px + (30 - 20) * ((100vw - 300px) / (1920 - 300)));
    line-height: calc(20px + (30 - 20) * ((100vw - 300px) / (1920 - 300)));
    color: #D13D25;
    font-weight: 300;
    text-shadow: 0px 0px 10px #232323;
}

.dim-icn {
    padding-top: 3rem;
}

.icn-pag {
    width: 30%;
}

.txt-icn-pag {
    padding-top: 0.5rem;
    font-size: calc(14px + (14 - 14) * ((100vw - 300px) / (1920 - 300)));
    color: #474747;
    text-align: center;
}

.box-photo {
    padding: 0.2rem;
    overflow: hidden;
}

.photo-700 {
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    height: 700px;
    overflow: hidden;
    -webkit-transition: all 1s ease-in-out;
}

.photo-700:hover {
    -webkit-transform: scale(1.05, 1.05);
    transform: scale(1.05, 1.05);
    -webkit-transition: all 1s ease-in-out;
}

.photo-700:hover>p {
    text-shadow: 0px 0px 20px #F3F0E2;
}

.txt-photo-small {
    font-family: 'STIX Two Text', serif;
    font-size: calc(35px + (64 - 35) * ((100vw - 300px) / (1920 - 300)));
    font-weight: 100;
    text-transform: uppercase;
    letter-spacing: 0.4rem;
    line-height: calc(14vw + (14 - 14) * ((100vw - 300px) / (1920 - 300)));
    ;
    color: #fff;
    text-align: center;
    padding-top: 20%;
    text-shadow: 1px 1px 10px #000;
    -webkit-transition: all 1s ease-in-out;
}


.sp-servizi-black {
    padding-top: 3rem;
    padding-bottom: 3rem;
    background-color: #212426;
}

.btn {
    background-color: transparent;
    font-size: calc(14px + (18 - 14) * ((100vw - 300px) / (1920 - 300)));
    border: 0px;
    border-bottom: 3px solid #D13D25;
    border-radius: 0px;
    padding-bottom: 4px;
    font-weight: 400;

}

.btn:hover {
    background-color: transparent;
    font-size: calc(14px + (18 - 14) * ((100vw - 300px) / (1920 - 300)));
    font-weight: 400;
    border: 0px;
    border-bottom: 3px solid #D13D25;
    color: #fff;

}

.img-promo{
        width: 50%;
        padding-top: 3rem;
    }
.sp-gallery {
    padding: 0;
    height: 300px;
}

.gallery {
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    height: 300px;
}

.box-prod-pag {
    padding-top: 6rem;
    padding-bottom: 6rem;
}


.dim-tende {
    padding-top: 5rem;
    padding-bottom: 5rem;
}

.title-tende {
    font-family: 'STIX Two Text', serif;
    font-size: calc(22px + (28 - 22) * ((100vw - 300px) / (1920 - 300)));
    color: #212426;
    font-weight: 600;
    text-transform: uppercase;
}

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




.title-h1-pag {
    font-size: calc(40px + (130 - 40) * ((100vw - 300px) / (1920 - 300)));
    line-height: calc(40px + (100 - 40) * ((100vw - 300px) / (1920 - 300)));
    color: #334168;
    font-weight: 400;
    margin-top: -8.5rem;
}

.subtitle-h1-pag {
    font-size: calc(24px + (50 - 24) * ((100vw - 300px) / (1920 - 300)));
    line-height: calc(36px + (80 - 36) * ((100vw - 300px) / (1920 - 300)));
    color: #D13D25;
    font-weight: 300;
}

.box-img-head-pag {
    padding-top: 4rem;
    padding-left: 4rem;
    padding-right: 4rem;
}

.back-head-pag {
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    height: 70vh;
    opacity: 0.8;
}

.title-h2-pag {
    font-size: calc(30px + (70 - 30) * ((100vw - 300px) / (1920 - 300)));
    line-height: calc(30px + (60 - 30) * ((100vw - 300px) / (1920 - 300)));
    color: #fff;
    font-weight: 700;
}


.lato-schedaz {
    padding: 0.5rem;
}

.sp-schedaz {
    padding: 1rem;
    box-shadow: 0px 0px 10px 0px #A7A7A7;
    border-radius: 0.5rem;
}

.sfalzo {
    padding-top: 6rem;
}


.nopadding {
    padding: 0px;
}

.sez-footer {
    padding-top: 4rem;
    padding-bottom: 4rem;
    background-color: #334168;
}

.tit-foot {
    font-size: calc(16px + (18 - 16) * ((100vw - 300px) / (1920 - 300)));
    color: #E3DED5;
    font-weight: 700;
    padding-top: 2rem;
    margin-bottom: 0.5rem;
}

.txt-foot {
    font-size: calc(14px + (16 - 14) * ((100vw - 300px) / (1920 - 300)));
    color: #E3DED5;
    font-weight: 400;
    margin-bottom: 0.1rem;
}

.flag {
    width: 30px;
}


.h-txt {
    padding-top: 7%;
}

.white {
    color: #fff;
}

.blu {
    color: #334168 !important;
}

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

a {
    text-decoration: none;
}

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


.accent {
    color: #D13D25;
}

.sp-dati p>a {
    color: #fff;
}

@media only screen and (max-width: 1121px) {
    .back-prodotto-full {
        background-size: cover;
        background-repeat: no-repeat;
        background-position: center;
        transition: none;
        transition-property: none;
        background-attachment: inherit;
    }
}

@media only screen and (max-width: 840px) {
    .img-promo{
        width: 80%;
        padding-left:10%;
        padding-top: 1rem;
    }
}

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

    .sfalzo {
        padding-top: 0rem;
    }

    .box-head {
        padding-top: 4rem;
        padding-bottom: 4rem;
    }

    .back-blu {
        background-color: #334168;
    }

    .back-head {
        height: 40vh;
    }

    .nopadding {
        padding: 0px;
    }

    .hr-head {
        border-top: 4px solid #fff;
        margin-right: 8rem;
        margin-top: 1rem;
    }

    .hr-head-red {
        border-top: 4px solid #D13D25;
        margin-right: 8rem;
        margin-top: 1rem;
    }

    .dim-sez {
        padding-top: 2rem;
        padding-bottom: 2rem;
    }

    .back-prodotto {
        background-size: cover;
        background-position: center;
        background-repeat: no-repeat;
        height: 40vh;
    }

    .box-back-photo {
        padding-top: 10rem;
        padding-bottom: 10rem;
    }

    .box-img-head-pag {
        padding-top: 2rem;
        padding-left: 1rem;
        padding-right: 1rem;
    }

    .back-head-pag {
        height: 30vh;
        opacity: 0.8;
    }

    .title-h1-pag {
        margin-top: 0.2rem;
    }

    .sp-gallery {
        padding: 0;
        height: 200px;
    }

    .gallery {
        background-position: center;
        background-size: cover;
        background-repeat: no-repeat;
        height: 200px;
    }

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

    .btn {
        margin-top: 0.3rem;
    }

    .back-t {
        background-image: url(../img/back-t.svg);
        background-position: right;
        background-size: cover;
        background-repeat: no-repeat;
    }

      .logo-head {
        max-width: 45%;
    }


}