
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@300;400;500&family=Montserrat:wght@300;400;600&display=swap');


html, body {
    font-weight: 400;
    font-family: 'Montserrat', sans-serif;
    font-size: 14px;
    line-height: 28px;
    color: #414141;
    scroll-behavior: smooth;
}

a {  color: #414141;}

h1, h2, h3, h4, h5,
.h1, .h2, .h3, .h4 {
    font-family: 'Cormorant Garamond', serif;
    display: inline-block;
    font-weight: 400;
}

/*.hero-title {
    font-size: 180px; line-height: 240px;
    letter-spacing: .01rem;
}*/
h1, .h1 {
    font-size: 80px; line-height: 86px;
    letter-spacing: .01rem;
    /*font-weight: 500;*/
}
h2, .h2 {
    font-size: 20px; line-height: 36px;
    letter-spacing: .01rem;
    font-weight: 400;
    font-family: 'Montserrat', sans-serif;
}

h3, .h3, .link {
    font-size: 48px; line-height: 56px;
    letter-spacing: .01rem;
    /*font-weight: 500;*/
    font-family: 'Cormorant Garamond', serif;
}
.link:hover {text-decoration: underline; font-weight: 500;}

h4, .h4 {
    font-size: 32px; line-height: 38px;
    letter-spacing: .01rem;
}
/*h3.hero-subtitle {
    font-size: 1.5rem;
    letter-spacing: .01rem;
}
h4, h5 {
    font-size: 1.25rem;
    letter-spacing: .01rem;
    margin-bottom: 0;
}
h5 small {font-weight: 600;}*/

h6 {font-weight: 600; font-family: 'Montserrat', sans-serif;}

small {font-size: 75%;}
.mini {font-family: 'Montserrat', sans-serif; font-size: 14px; line-height: 28px; }
.bold {font-weight: 600;}

.etichetta { font-family: 'Montserrat', sans-serif; font-size: 13px; font-weight: 600;
    color: #E2C5C5;
    text-transform: uppercase;}
.etichetta_dark { font-family: 'Montserrat', sans-serif; font-size: 13px; font-weight: 600;
    color: #414141;
    text-transform: uppercase;}


/* -- general -- */
.bg-theme {background-color: #E2C5C5;}

.bg-dark{background-color: #414141 !important;}
.bg-white {background-color: #fff;}
.bg-grey{background-color: #F8F8F8 !important;}
.bg-pink{background-color: #F7F0F0 !important;}

.color-grey {color: #ccc !important}
.color-white {color: #fff !important}
.color-dark {color: #414141 !important}


header {background-color: rgba(255, 255, 255, 0.40);}
a:hover {color: inherit;}



.btn { position: relative;
  padding: 1em 2em;
  border: none;
  border-radius: 0px;
  background-color: transparent;
  cursor: pointer;
  outline: none;
  font-size: 14px; font-weight: 600;
}

.btn-link, .btn-link:hover { color: #414141; text-decoration: none; }
.btn-link::after,
.btn-link::before {
      content: '';
      display: block;
      position: absolute;
      width: 20%; height: 20%;
      border: 1px solid;
      transition: all 0.6s ease;
      border-radius: 0px }

.btn-link::after {
      bottom: 0;
      right: 0;
      border-top-color: transparent;
      border-left-color: transparent;
      border-bottom-color: #414141;
      border-right-color: #414141}

.btn-link::before {
      top: 0;
      left: 0;
      border-bottom-color: transparent;
      border-right-color: transparent;
      border-top-color: #414141;
      border-left-color: #414141}

.btn-link:hover:after,
.btn-link:hover:before {
      width: 100%;
      height: 100% }
.btn-link:hover::after {
      border-bottom-color: #E2C5C5;
      border-right-color: #E2C5C5}
.btn-link:hover::before {
      border-top-color: #E2C5C5;
      border-left-color: #E2C5C5}

.bg-dark .btn-link::after {
      border-bottom-color: #E2C5C5;
      border-right-color: #E2C5C5}
.bg-dark .btn-link::before {
      border-top-color: #E2C5C5;
      border-left-color: #E2C5C5}


.breadcrumb {padding: 0rem 0rem 3rem; list-style: none; background-color: transparent; border-radius: 0;}

form input[type="text"],form input[type="email"], form textarea {display: block; margin: 0; width: 100%; border-radius: 10px; border: 0; padding: 5px 15px; font-size: 1rem;}
form label {display: block; margin: 0; width: 100%;}


/* -- HEADER & FOOTER -- */
ul, li {
    list-style-type: none;
    margin: 0;
    padding: 0;
}
nav ul li {
    width: auto;
    position: relative;
    display: inline-block;
    padding: 0 15px 0 0;
}
nav ul li a {
    display: block;
    padding: 0 15px;
    font-weight: 600;
    font-size: 0.875rem;
    color: #004f59;
    text-transform: uppercase;
    display: block;
    letter-spacing: 0.025rem;
}

footer a {color: #414141 !important;}
footer h6 { text-transform: uppercase; }

/*footer .social .fa {font-size: 30px; padding: 5px 15px 5px 0;}*/
/*footer .social img {font-size: 30px; padding: 5px 15px 5px 0; filter: invert(1); width: 45px;}*/

.partners img {filter: grayscale(1);}
.partners img:hover {filter: grayscale(0);}

.certifications img {filter: grayscale(1);}
.certifications img:hover {filter: grayscale(0);}

footer .copyright {
    background-color: #fff;
    font-size: 0.85rem;
    line-height: 1.25rem;
    text-align: left;}



.hero {background-size: contain; background-position:center; background-repeat: no-repeat;}
.hero_cta {background-size: cover; background-position:center; background-repeat: no-repeat;}
.hero_pietre {background-size: contain; background-position:center; background-repeat: no-repeat; min-height: 400px;}
.hero_form {background-size: 100%; background-position:top; background-repeat: no-repeat;}

.squared {background-size: cover; background-position:center; background-repeat: no-repeat; min-height: 525px; }
.rect, .rect2 {background-size: 70%; background-position:top right 3rem; background-repeat: no-repeat; min-height: 525px; }

.bg-date{background-size: auto; background-position: center; background-repeat: no-repeat;}
.bg-mani {background-size: 60%; background-position: bottom right; background-repeat: no-repeat;}
.img90 {width: 90%;}
.img40 {width: 40%;}

/*.left10 {margin-left: 10rem;}
.left20 {margin-left: 20rem;}*/

.vh-85 {height: 85vh;}
.vh-15 {height: 15vh;}

.line-right {margin-top: -100px; margin-left: 150px; margin-bottom: -100px; height: 15rem}
.line-right-in {margin-top: -100px; margin-left: 70%; margin-bottom: 0; height: 15rem}
/*.line-right-mini {margin-top: 50px; margin-left: 50%; margin-bottom: 50px; }*/
.line-right-mid {margin-top: -10rem; margin-left: 50%;}

.line-left {height: 15rem}
.line-left-in {margin-top: -300px; margin-right: 75px; margin-bottom: -50px; height: 15rem}


h4.pink-arrow::before {content: ''; background: url('../img/arrow-right.svg'); background-repeat: no-repeat; background-position: left center;
    width: 40px; height: 38px; padding: 0px 20px;}
h4.diamond::before {content: ''; background: url('../img/diamond.svg'); background-repeat: no-repeat; background-position: left center;
    width: 50px; height: 38px; padding: 0px 25px;}



/*//SEZIONI CON ACCORDION*/
.img-hover label {opacity: 0;  position: relative; transition: 0.3s; display: inline-block;}
.img-hover:hover label{ opacity: 1; transform: translate(-50%,0); text-decoration: underline; cursor: pointer;}
.img-hover:hover img{ opacity: 0.5; }

@media(max-width: 767px){
    .img-hover label {opacity: 1; transform: translate(-2rem,0); text-decoration: underline; cursor: pointer;}
    .img-hover img{ opacity: 0.5; }
}

.btn-accordion {background: transparent; border: 0;}

.card {border: 0; border-radius: 0; border-bottom: 1px solid rgba(0,0,0,.05); margin: 1rem auto; width: 100%;}
.card-header { padding: 0.75rem 1.25rem; margin-bottom: 0; background-color: transparent; border: 0;}

#accordion h5 { display: block; }
#accordion h5 button:before {
    content: '+';
    font-size: 48px;
    line-height: 38px;
    font-family: 'Cormorant Garamond';
    font-weight: 400;
    margin-right: 2rem;
    transition: all 0.3s;
}
#accordion h5 button.open:before{
    content: "-";
}
.letter {background-repeat: no-repeat; background-position: top right 3rem; background-size: 80px;}


@media(max-width: 991px){

    html, body {font-size: 1;}

/*    .hero-title {
        font-size: 90px;
        line-height: 120px;
        letter-spacing: .01rem;
    }*/
    h1, .h1 {
        font-size: 60px;
        line-height: 65px;
        letter-spacing: .01rem;
    }

    h2, .h2 {
        font-size: 16px; line-height: 27px;
        letter-spacing: .01rem;
    }

    h3, .h3, .link {
        font-size: 32px; line-height: 38px;
        letter-spacing: .01rem;
    }


    h4, .h4 {
        font-size: 24px; line-height: 32px;
        letter-spacing: .01rem;
    }
   /* h3.hero-subtitle {
        font-size: 1.5rem;
        letter-spacing: .01rem;
    }
    h4, h5 {
        font-size: 1rem;
        letter-spacing: .01rem;
        margin-bottom: 0;
    }*/

    .etichetta, .etichetta_dark {font-size: 12px;}


    /*.left10 {margin-left: 5rem;}
    .left20 {margin-left: 10rem;}*/
    .vh-85,
    .vh-100 {
        height: auto!important;
    }


    .hero {background-size: 90%;}
    .bg-date {background-size: 90%;}
    .hero_pietre {min-height: 220px; }
    .squared {height: 325px; min-height: auto}
    .rect {background-size: 70%; background-position:top center; background-repeat: no-repeat; min-height: 325px; }
    .rect2 {background-size: 70%; background-position:top center; background-repeat: no-repeat; min-height: 215px; }

    .line-right {margin-top: -50px; margin-left: 50%; margin-bottom: px; width: 20%;}
    .line-right-mini {margin-top: 50px; margin-left: 50%; margin-bottom: 50px;}
    .line-left-in {margin-top: -50px; margin-right: 0; margin-bottom: 50px; width: 20%;}
    .line-right-in {margin-top: -50px; margin-right: 0; margin-bottom: 0px; width: 20%;}

    .letter {background-size: 70px; background-position: right 2rem top;}
}

@media(max-width: 767px){
    .img90 {width: 100%;}
    .bg-mani {background-size: 100%;}
    .bg-date {background-size: 90%;}
    .cross-links {margin-right:0; margin-left: 0;}
    .btn { padding: 1em 1.5em; font-size: 12px; border: 2px solid #E2C5C5 !important;}
    .btn-link, .btn-link::after, .btn-link::before {border: 0px solid transparent;}

    /*.left10 {margin-left: 0rem;}
    .left20 {margin-left: 0rem;}*/

    .letter {background-size: 60px; background-position: right 2rem top;}
}

@media (max-width: 576px) {
}

@media (max-width: 360px) {
    h1, .h1, .hero-title {font-size: 60px;
        line-height: 70px;}

}


/*
.privacy{font-size: 16px; line-height: 20px; }
.privacy label{vertical-align: top}
.regen-captcha,.regen-captcha:hover{color:#FFC200; text-decoration: none; position: absolute; left: 20px;z-index: 5; font-size: 18px }
.regen-captcha::after{content: url("../img/refresh.png"); width: 15px; height: 15px;position: absolute; left: -20px; top:2px}
.captcha img{border-radius: 10px;margin-bottom: 3px}*/





/* MENU */
#header {width: 100%; height: 65px; background-color: transparent; z-index: 5600; position: relative; transition: 0.3s;}
#header.active {background: transparent!important;}
#header.active span {color: #fff!important;}
#header.active .toggle span {background: #fff!important;}
#header.active .logo {filter:invert(1)}


#menu {width: 100%; height: 100vh; position: fixed; /*background-color: rgba(41, 41, 41, 0.95);*/ background-color: rgba(21, 21, 21, 0.85); opacity: 0; transition-duration: 0.5s; z-index: -10;}
#menu.active {opacity: 1; transition-duration: 0.5s; z-index: 5500;}
#hamburger {width: 55px; height: 55px;}
.toggle {width: 60px; height: 60px; background-color: transparent; position: fixed; z-index: 1000; cursor: pointer;}
.toggle span {width: 30px; height: 1px; /*background: #414141;*/ background: #212121; top: 20px; position: absolute; left: 15px; transform: translate(0%, 0%); transition: 0.4s;}
.toggle span:nth-child(2) {margin-top: 10px;}
.toggle span:nth-child(3) {margin-top: 20px;}
.toggle.active span:nth-child(1) {transform: rotate(45deg); margin-top: 10px; transition-duration: 0.4s;}
.toggle.active span:nth-child(2) {opacity: 0; transition-duration: 0.1s;}
.toggle.active span:nth-child(3) {transform: rotate(-45deg); margin-top: 10px; transition-duration: 0.4s;}
.text-close, .text-open {position: absolute; right: 85px; top: 18px; transition-duration: 0.4s;}
.text-close.active, .text-open {opacity: 1; transition-duration: 0.5s;}
.text-close, .text-open.active {opacity: 0; transition-duration: 0.5s;}
/*.intro-sub {display: block;}
.intro-sub.remove {display: none;}
.intro-sub span {font-size: 1.5rem; opacity: 0.2; font-weight: 600; color: white; font-family: 'Helvetica', sans-serif}*/
#menu ul {list-style-type: none;}
#menu ul li a, #menu ul li a:hover {color: white; text-decoration: none; transition-duration: 0.2s; background-position: right;}
#menu .collapsing { position: relative; height: 0; overflow: hidden; transition: 0s ease;}
#menu .fade { transition: opacity .25s linear; }
/*#menu label {color: #fff !important;}*/


/*FORM*/
.form-control {
    height: 50px;
    border: 0 !important;
    border-radius: 0 !important;
    padding: 0.75rem 1rem !important;
}
.form-row>.col, .form-row>[class*=col-] {
    padding-right: 10px;
    padding-left: 0;
}
textarea.form-control {
    height: auto;
    min-height: 300px;
}

/*.lds-ring {
    display: inline-block;
    position: relative;
    width: 80px;
    height: 80px;
}
.lds-ring div {
    box-sizing: border-box;
    display: block;
    position: absolute;
    width: 64px;
    height: 64px;
    margin: 8px;
    border: 8px solid #009999;
    border-radius: 50%;
    animation: lds-ring 1.2s cubic-bezier(0.5, 0, 0.5, 1) infinite;
    border-color: #009999 transparent transparent transparent;
}
.lds-ring div:nth-child(1) {
    animation-delay: -0.45s;
}
.lds-ring div:nth-child(2) {
    animation-delay: -0.3s;
}
.lds-ring div:nth-child(3) {
    animation-delay: -0.15s;
}
@keyframes lds-ring {
    0% {
        transform: rotate(0deg);
    }
    100% {
        transform: rotate(360deg);
    }
}*/


/*.lds-spinner {color: official;display: inline-block;position: relative;width: 80px;height: 80px;}
.lds-spinner div {transform-origin: 40px 40px;animation: lds-spinner 1.2s linear infinite;}
.lds-spinner div:after {content: " ";display: block;position: absolute;top: 3px;left: 37px;width: 6px;height: 18px;border-radius: 20%;background: #000;}
.lds-spinner div:nth-child(1) {transform: rotate(0deg);animation-delay: -1.1s;}
.lds-spinner div:nth-child(2) {transform: rotate(30deg);animation-delay: -1s;}
.lds-spinner div:nth-child(3) {transform: rotate(60deg);animation-delay: -0.9s;}
.lds-spinner div:nth-child(4) {transform: rotate(90deg);animation-delay: -0.8s;}
.lds-spinner div:nth-child(5) {transform: rotate(120deg);animation-delay: -0.7s;}
.lds-spinner div:nth-child(6) {transform: rotate(150deg);animation-delay: -0.6s;}
.lds-spinner div:nth-child(7) {transform: rotate(180deg);animation-delay: -0.5s;}
.lds-spinner div:nth-child(8) {transform: rotate(210deg);animation-delay: -0.4s;}
.lds-spinner div:nth-child(9) {transform: rotate(240deg);animation-delay: -0.3s;}
.lds-spinner div:nth-child(10) {transform: rotate(270deg);animation-delay: -0.2s;}
.lds-spinner div:nth-child(11) {transform: rotate(300deg);animation-delay: -0.1s;}
.lds-spinner div:nth-child(12) {transform: rotate(330deg);animation-delay: 0s;}
@keyframes lds-spinner { 0% {opacity: 1;} 100% {opacity: 0;} }
.lds-spinner{position: absolute;bottom: 10%; right: 50%; transform: translate(50%,-50%);}
.form-loading{position: absolute; top: 0px; left: 0px; background-color: rgba(255,255,255,0.8);height: 100%; width: 100%;z-index:30}*/



/*
@media (min-width: 1200px){
    .col-xl-2 {
        -ms-flex: 0 0 20%;
        flex: 0 0 20%;
        max-width: 20%;
    }
}
@media (min-width: 1600px){
    .col-xl-2 {
        -ms-flex: 0 0 16.666667%;
        flex: 0 0 16.666667%;
        max-width: 16.666667%;
    }
}*/

/*@media (min-width: 1200px){
.container, .container-lg, .container-md, .container-sm, .container-xl {
    max-width: 1140px;}
}
@media (min-width: 1300px){
.container, .container-lg, .container-md, .container-sm, .container-xl {
    max-width: 1240px;}
}
@media (min-width: 1400px){
.container, .container-lg, .container-md, .container-sm, .container-xl {
    max-width: 1340px;}
}
@media (min-width: 1500px){
.container, .container-lg, .container-md, .container-sm, .container-xl {
    max-width: 1440px;}
}*/
.shape-cont{padding-top: 30px !important; padding-bottom: 30px !important;margin-bottom: 15px; position: relative; }
.shape-selector{position: relative; }
.shape-cont::after{content: "";position: absolute;width: 1px; height: calc(80%);background-color: #D9D9D9; top: 10%; right: -1px;z-index: 3}
.shape-cont:last-child::after{content: none}
.shape-selector>div{margin-top: 20px}
.shape-selector.active{filter: invert(78%) sepia(16%) saturate(543%) hue-rotate(314deg) brightness(101%) contrast(84%);}

.lds-spinner {color: official;display: inline-block;position: relative;width: 80px;height: 80px;}
.lds-spinner div {transform-origin: 40px 40px;animation: lds-spinner 1.2s linear infinite;}
.lds-spinner div:after {content: " ";display: block;position: absolute;top: 3px;left: 37px;width: 6px;height: 18px;border-radius: 20%;background: #000;}
.lds-spinner div:nth-child(1) {transform: rotate(0deg);animation-delay: -1.1s;}
.lds-spinner div:nth-child(2) {transform: rotate(30deg);animation-delay: -1s;}
.lds-spinner div:nth-child(3) {transform: rotate(60deg);animation-delay: -0.9s;}
.lds-spinner div:nth-child(4) {transform: rotate(90deg);animation-delay: -0.8s;}
.lds-spinner div:nth-child(5) {transform: rotate(120deg);animation-delay: -0.7s;}
.lds-spinner div:nth-child(6) {transform: rotate(150deg);animation-delay: -0.6s;}
.lds-spinner div:nth-child(7) {transform: rotate(180deg);animation-delay: -0.5s;}
.lds-spinner div:nth-child(8) {transform: rotate(210deg);animation-delay: -0.4s;}
.lds-spinner div:nth-child(9) {transform: rotate(240deg);animation-delay: -0.3s;}
.lds-spinner div:nth-child(10) {transform: rotate(270deg);animation-delay: -0.2s;}
.lds-spinner div:nth-child(11) {transform: rotate(300deg);animation-delay: -0.1s;}
.lds-spinner div:nth-child(12) {transform: rotate(330deg);animation-delay: 0s;}
@keyframes lds-spinner { 0% {opacity: 1;} 100% {opacity: 0;} }
.lds-spinner{position: absolute;bottom: 10%; right: 50%;transform: translate(50%,-50%);}
.form-loading{position: absolute; top: 0px; left: 0px; background-color: rgba(255,255,255,0.8);height: 100%; width: 100%;z-index:30}



