@charset "UTF-8";

.bg-light,
.bg-light.scrolled {
    padding-top: 0;
    padding-bottom: 0
}

.nav-link,
.title-head {
    font-weight: 300;
    letter-spacing: .1rem
}

.navbar-toggler:focus,
a {
    outline: 0;
    text-decoration: none
}

.nav-link,
a,
a:hover {
    text-decoration: none
}

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

@font-face {
    font-family: coterie;
    src: url("../font/coterie.ttf")
}

a[href^=tel] {
    text-decoration: inherit;
    color: inherit
}

.contatti-nav>a,
.nav-link,
a.btn-gold:hover,
button.btn-gold:hover {
    color: #fff
}

.bg-light {
    background-color: transparent !important
}

.bg-light.scrolled,
.nav-pag {
    background-color: #1d2243 !important
}

.bg-light.scrolled {
    transition-delay: 1s;
    transition-duration: 1s
}

.brd-head,
.brd-head.brd-h,
.brd-head.brd-h>video,
.brd-head>video {
    transition-duration: 2s
}

.contatti-nav {
    background-color: transparent
}

.bg-light.scrolled>div>div>ul>.contatti-nav,
.nav-pag>div>div>ul>.contatti-nav {
    background-color: #e5cf67 !important;
    transition-delay: 1s;
    transition-duration: 1s
}

.bg-light.scrolled>div>div>ul>.contatti-nav>a {
    color: #1d2243;
    transition-delay: 1s;
    transition-duration: 1s
}

.nav-pag>div>div>ul>.contatti-nav>a {
    color: #1d2243 !important;
    transition-delay: 1s;
    transition-duration: 1s
}

.back-navsu {
    background-color: #121528 !important
}

.dropdown-item:hover,
.dropdown-menu,
.navbar-brand {
    background-color: #1d2243
}

.sp-lat-nav {
    padding-right: 0
}

.logo-nav {
    min-width: 80px;
    width: 60px;
    position: absolute;
    top: 0;
    left: 5rem;
    padding: .5rem
}

.nav-link {
    font-family: urbanist;
    font-size: calc(16px + (20 - 16)*((100vw - 300px) /(1920 - 300)));
    margin-right: 2rem;
    margin-left: 2rem;
    padding-top: 1.5rem;
    padding-bottom: 1.5rem;
    text-transform: uppercase
}

.title-h1,
.title-head,
.title-serv {
    font-family: coterie
}

.gold,
.nav-link:focus,
.nav-link:hover {
    color: #e5cf67
}

.dropdown-item,
.nav-su,
.title-h1,
.txt {
    color: #fff
}

.brd-head {
    border: 0 solid #1d2243
}

.brd-head.brd-h {
    border: 7rem solid #1d2243
}

.brd-head.brd-h>video {
    opacity: calc(.8);
    filter: blur(4px)
}

.brd-head>video {
    opacity: calc(1);
    filter: blur(0px)
}

.slide-head {
    height: 150vh
}

.nav-su {
    margin-bottom: 0;
    text-align: right;
    padding-right: 5rem;
    padding-top: .2rem;
    padding-bottom: .2rem
}

.dropdown-item,
.dropdown-item:hover {
    font-size: calc(16px + (20 - 16)*((100vw - 300px) /(1920 - 300)));
    padding-top: .6rem;
    padding-bottom: .6rem;
    text-transform: uppercase
}

.nav-su>span {
    padding-left: 3rem
}

.sp-icn {
    padding-left: .5rem !important
}

.dropdown-menu {
    border: 0 solid transparent;
    border-radius: 0
}

.dropdown-item:hover {
    color: #e5cf67
}

.video-background-holder {
    position: relative;
    height: 100vh;
    min-height: 25rem;
    width: 100%;
    overflow: hidden;
    border-radius: 0;
    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
}

.video-contatti {
    border-radius: 4rem 100rem 0 0
}

.pos-h1 {
    margin-top: 12%
}

.title-head {
    font-size: calc(30px + (70 - 30)*((100vw - 300px) /(1920 - 300)));
    color: #fff;
    text-align: center;
    text-shadow: 2px 2px 6px #0000009f
}

.logo-head {
    max-width: 15%
}

.anno {
    max-width: 85%
}

.title-h1 {
    font-size: calc(60px + (120 - 60)*((100vw - 300px) /(1920 - 300)));
    line-height: calc(14px + (20 - 14)*((100vw - 300px) /(1920 - 300)));
    font-weight: 300;
    letter-spacing: .1rem;
    text-transform: uppercase;
    padding-bottom: 3rem
}

.txt,
.txt-gold {
    font-size: calc(16px + (20 - 16)*((100vw - 300px) /(1920 - 300)));
    font-weight: 300;
    letter-spacing: .1rem
}

.sp-1txt {
    padding-bottom: 5%
}

.back-h1 {
    background-image: url("../img/sfondo-h1.svg");
    background-position: center top;
    background-size: cover;
    background-repeat: no-repeat
}

.foto-servizi,
.foto-servizi2 {
    background-position: center;
    height: 50vh;
    background-repeat: no-repeat
}

.sp-h1,
.sp-h1-pag {
    padding-top: 14%;
    padding-left: 4%;
    padding-right: 4%
}

.txt-gold {
    color: #e5cf67
}

.btn-gold {
    background-color: #e5cf67;
    font-size: calc(16px + (18 - 16)*((100vw - 300px) /(1920 - 300)));
    color: #1d2243;
    font-weight: 400;
    letter-spacing: .1rem;
    padding: .8rem 1.5rem;
    border: 0;
    margin-right: .5rem;
    margin-bottom: .5rem;
    white-space: nowrap;
}

.messaggio,
.nome,
.title-serv,
.txt-serv {
    color: #161616;
    font-weight: 300;
    text-align: center
}

.foto-servizi {
    background-image: url("../img/ser-1.jpg");
    background-size: cover
}

.foto-servizi2 {
    background-image: url("../img/ser-2.jpg");
    background-size: cover
}

.back-frasi,
.back-servizi {
    background-position: center top;
    background-size: cover
}

.box-punti,
.box-servizio {
    background-color: #fff;
    height: 50vh;
    padding: 20% 10% 10%
}

.sp-punti,
.sp-servizi {
    padding: 0 1rem .5rem
}

.sp-sez-punti,
.sp-sez-servizi {
    padding-top: 4rem;
    padding-bottom: 4rem
}

.title-serv {
    font-size: calc(24px + (30 - 24)*((100vw - 300px) /(1920 - 300)));
    line-height: calc(22px + (30 - 22)*((100vw - 300px) /(1920 - 300)));
    letter-spacing: .1rem;
    text-transform: uppercase;
    padding-bottom: 1rem
}

.txt-serv {
    font-size: calc(16px + (18 - 16)*((100vw - 300px) /(1920 - 300)));
    letter-spacing: .1rem
}

.sp-int-servizio {
    padding: 2rem
}

.sp-h2 {
    padding-top: 5rem;
    padding-bottom: 5rem
}

.icn {
    max-width: 30%;
    padding-bottom: 10%
}

.box-manifesto {
    background-color: #fff;
    padding: 10% 5% 15%
}

.manifesto {
    max-width: 90%;
    padding-bottom: 10%
}

.nome {
    font-family: Urbanist, sans-serif;
    font-size: calc(18px + (28 - 18)*((100vw - 300px) /(1920 - 300)));
    line-height: calc(16px + (28 - 16)*((100vw - 300px) /(1920 - 300)));
    letter-spacing: .1rem;
    text-transform: uppercase;
    padding-bottom: .5rem
}

.title-casaf,
.title-h2,
.title-socrem {
    font-family: coterie;
    letter-spacing: .1rem
}

.messaggio {
    font-size: calc(16px + (18 - 16)*((100vw - 300px) /(1920 - 300)));
    letter-spacing: .1rem;
    padding-left: 5%;
    padding-right: 5%
}

.title-h2 {
    font-size: calc(30px + (70 - 30)*((100vw - 300px) /(1920 - 300)));
    color: #1d2243;
    font-weight: 300;
    text-align: center
}

.title-socrem,
.txt-h2,
.txt-socrem {
    color: #161616;
    font-weight: 300
}

.txt-h2 {
    font-size: calc(16px + (20 - 16)*((100vw - 300px) /(1920 - 300)));
    text-align: center
}

.back-servizi {
    background-image: url("../img/sfondo-servizi.svg");
    background-repeat: no-repeat
}

.sp-sezione {
    padding-top: 7%;
    padding-bottom: 7%
}

.box-socrem {
    padding: 1% 3% 3%
}

.title-socrem {
    font-size: calc(16px + (70 - 16)*((100vw - 300px) /(1920 - 300)))
}

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

.frase {
    font-size: calc(16px + (30 - 16)*((100vw - 300px) /(1920 - 300)));
    color: #767676;
    font-weight: 400;
    text-align: center;
    padding-top: 5%
}

.title-casaf,
.txt-casaf {
    color: #eaebee;
    font-weight: 300;
    text-align: center
}

.virgolette-sx {
    max-width: 70%
}

.virgolette-dx {
    max-width: 70%;
    padding-top: 95%
}

.back-frasi {
    background-image: url("../img/back-frasi.svg");
    background-repeat: no-repeat
}

.back-casa,
.back-casaf {
    background-size: 100%;
    background-repeat: no-repeat
}

.back-casaf {
    background-image: url("../img/casaf.jpg");
    background-position: center
}

.sp-casaf {
    padding-top: 15%;
    padding-bottom: 10%
}

.title-casaf {
    font-size: calc(16px + (60 - 16)*((100vw - 300px) /(1920 - 300)));
    line-height: calc(16px + (60 - 16)*((100vw - 300px) /(1920 - 300)));
    text-shadow: 2px 2px 10px #1e1e1e6d
}

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

.autore {
    font-size: calc(16px + (24 - 16)*((100vw - 300px) /(1920 - 300)));
    color: #1b1b1b;
    font-weight: 400;
    text-align: center
}

.img-azienda {
    padding-top: 24%
}

.back-casa {
    background-image: url("../img/back-casa.jpg");
    background-position: bottom center
}

.sp-casa {
    padding-bottom: 80vh
}

.logo-casa {
    width: 40%;
    padding-top: 2rem
}

.txt-casa {
    font-size: calc(16px + (22 - 16)*((100vw - 300px) /(1920 - 300)));
    color: #1d2243;
    font-weight: 500;
    letter-spacing: .1rem;
    text-align: center;
    padding-top: 5rem
}

.sub-h1,
.title-h1-pag {
    color: #fff;
    text-transform: uppercase;
    font-family: coterie
}

.title-h1-pag {
    font-size: calc(50px + (80 - 50)*((100vw - 300px) /(1920 - 300)));
    line-height: calc(45px + (70 - 45)*((100vw - 300px) /(1920 - 300)));
    font-weight: 300;
    letter-spacing: .1rem;
    padding-bottom: 3rem
}

.sub-h1 {
    font-size: calc(20px + (40 - 20)*((100vw - 300px) /(1920 - 300)));
    font-weight: 300;
    letter-spacing: .1rem
}

.title-h2-pag,
.txt-pag-s {
    color: #1d2243;
    font-weight: 300;
    letter-spacing: .1rem
}

.title-h2-pag {
    font-family: coterie;
    font-size: calc(30px + (50 - 30)*((100vw - 300px) /(1920 - 300)))
}

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

.sp-card-slider {
    padding: 1rem
}

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

.img-socrem-pag {
    padding: 55% 10% 10%
}

.sp-foot {
    padding-top: 5%;
    padding-bottom: 5%
}

.h-foot {
    padding-top: 10%
}

.title-foot {
    font-family: coterie;
    font-size: calc(22px + (24 - 22)*((100vw - 300px) /(1920 - 300)));
    color: #fff;
    letter-spacing: .1rem
}

.nome-sede {
    font-size: calc(16px + (20 - 16)*((100vw - 300px) /(1920 - 300)));
    color: #fff;
    font-weight: 600;
    letter-spacing: .1rem;
    margin-bottom: 0
}

.dati,
.txt-foot {
    font-weight: 300;
    letter-spacing: .1rem;
    color: #fff
}

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

.logo-foot {
    max-width: 50%
}

.camelie {
    max-width: 60%;
    margin-left: -3rem
}

.sp-dati {
    padding-left: 6%;
    padding-right: 6%;
    padding-top: 2rem
}

.dati {
    font-size: calc(14px + (16 - 14)*((100vw - 300px) /(1920 - 300)));
    border-top: 2px solid #fff;
    padding-top: 1rem;
    padding-left: 2%;
    padding-right: 2%;
    margin-bottom: 0
}

.navbar-toggler {
    border: 0 solid #000
}

.navbar-toggler:focus {
    box-shadow: 0 0 0 transparent
}

.navbar-toggler-icon {
    background-image: url("../img/hamburger.svg");
}

a {
    color: #fff
}

a:hover {
    color: #e5cf67
}

.current {
    background-color: #1d2243;
    color: #fff
}

.img-manifesto:hover {
    transform: scale(1.05)
}

form.telegramma {
    background: #fff;
    padding: 2rem;
    box-shadow: 0 2px 8px rgba(0, 0, 0, .05)
}

input.telegramma,
textarea.telegramma {
    border-radius: 0;
    border: 1px solid #e0e0e0;
    background: #f7f7fa;
    padding: .75rem;
    font-size: 1rem
}

a.link-privacy {
    text-decoration: underline;
    color: #161616
}

@media only screen and (max-width:1100px) {
    .box-servizio {
        background-color: #fff;
        height: 40vh;
        padding: 20% 10% 10%
    }

    .box-punti {
        background-color: #fff;
        height: auto;
        padding: 10%
    }

    .sp-punti {
        padding: 0 1rem .5rem
    }

    .logo-foot {
        max-width: 20%
    }

    .pos-h1 {
        padding-top: 30%
    }

    .hide-mobile {
        display: none
    }

    .logo-nav {
        min-width: 80px;
        width: 80px;
        position: absolute;
        top: -2.5vh;
        left: 2rem;
        padding: .5rem
    }

    .brd-head.brd-h {
        border: 4rem solid #1d2243;
        transition-duration: 2s
    }

    .img-azienda {
        padding-top: 0
    }

    .sp-h1-pag {
        padding: 2% 4% 4%
    }

    .img-serv-mobile,
    .logo-casa,
    .txt-casa {
        padding-top: 2rem
    }

    .sp-casa {
        padding-bottom: 18vh
    }

    .logo-casa {
        width: 60%
    }

    .sp-card-slider {
        padding: 1rem
    }

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

    .img-socrem-pag {
        padding: 10% 20% 20%
    }
}

@media only screen and (max-width:840px) {
    .hide-mobile {
        display: none
    }

    .nav-su {
        color: #fff;
        margin-bottom: 0;
        text-align: center;
        padding-right: .2rem;
        padding-top: .2rem;
        padding-bottom: .2rem
    }

    .nav-su>span {
        padding-left: 2rem
    }

    .bg-light {
        background-color: #1d2243 !important
    }

    .logo-nav {
        min-width: 60px;
        width: 60px;
        position: absolute;
        top: -3vh;
        left: .4rem;
        padding: .5rem
    }

    .nav-link {
        font-family: urbanist;
        font-size: calc(16px + (20 - 16) * ((100vw - 300px) / (1920 - 300)));
        color: #fff;
        font-weight: 300;
        letter-spacing: .1rem;
        text-decoration: none;
        margin-right: 1rem;
        margin-left: 1rem;
        padding-top: .5rem;
        padding-bottom: .5rem;
        text-transform: uppercase
    }

    .brd-head.brd-h {
        border: 2rem solid #1d2243;
        transition-duration: 2s
    }

    .logo-head {
        max-width: 35%;
        margin-top: 54%;
        margin-bottom: 1rem
    }

    .img-socrem,
    .logo-foot {
        max-width: 50%
    }

    .sp-h2,
    .sp-sez-servizi {
        padding-top: 2rem;
        padding-bottom: 2rem
    }

    .box-servizio {
        background-color: #fff;
        height: auto;
        padding: 10%
    }

    .img-socrem {
        margin-bottom: 2rem
    }

    .camelie {
        max-width: 60%;
        margin-left: 0
    }

    .foto-servizi,
    .foto-servizi2,
    .video-background-overlay {
        height: 30vh
    }

    .sp-h1-pag {
        padding: 8% 5% 6%
    }

    .title-h1,
    .title-h1-pag {
        padding-bottom: 1rem
    }

    .rid {
        font-size: calc(36px + (80 - 36) * ((100vw - 300px) / (1920 - 300)))
    }

    .sp-card-slider {
        padding: .2em
    }
}