:focus {
    outline: -webkit-focus-ring-color auto 0 !important;
}

body {
    font-family: 'Libre Caslon Display', serif;
    font-family: 'Cormorant Garamond', serif;
 

    background: #fefdf6;
}

#footer {
    background:#f9f7ec;
}
.linkinn{
    color: #000;

}
.logo_footer{
height: 5rem;
    margin: 6% 0 3%;
}
.main {
    opacity: 0;
}



/*COOKIE*/
#cm, #s-bns button, #s-cnt .b-bn .b-tl.exp {
    background-color: #f9f7ec !important;
    color: rgb(18, 17, 17) !important;
    font-family: 'Comfortaa';
    border-radius: 0px !important;
  }
  @media screen and (max-width: 688px){
  .cc_div .cloud #c-bns {
     
      margin: 0 auto !important;
    margin-top: 1.625em !important;
    display: flex !important;
    flex-wrap: wrap !important;
    flex-direction: row !important;
    gap: 11px !important;
    width: 100% !important;
    }
    }
  
#c-s-bn{
    background-color: #d7be5f !important;
    color: white !important;
    border-radius: 0 !important;
    transition: all .1s !important;
}
#cm .c-bn {
    margin: 0 !important;
}
@media screen and (min-width: 688px){ 
    
    #cm .c-bn{
        margin-bottom: 10px !important;
    }
}


  .cloud #c-ttl {
    margin-top: 0em !important;
    font-family: 'Cormorant Garamond', serif !important;
    font-size: 1.4rem !important;
    margin-bottom: 0.5rem !important;
}
  
  #c-p-bn {
    background-color: #d7be5f !important;
    color: white !important;
    border-radius: 0;
    transition: all .1s !important;
  }
  
  #c-p-bn:hover {
    background: #d7be5f !important;
    color: #ffffff !important;
    box-shadow:inset -2px 3px 5px #302b143b;
  }
  .c--anim .c-bn {
    transition: all .3s ease !important;
}
  

  
  #c-s-in{
    font-family: 'Comfortaa';
  }
/*COOKIE*/

/*swiper*/



.hero-slider {
  width: 100%;
  height: 700px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  z-index: 0;
  overflow: hidden;
}

@media (max-width: 991px) {
  .hero-slider {
    height: 600px;
  }
}

@media (max-width: 767px) {
  .hero-slider {
    height: 500px;
  }
}

.hero-slider .swiper-slide {
  overflow: hidden;
  color: #fff;
}
.swiper-button-next:after{
    content: '>';
    color: #f9eed9 !important;
    font-size: 30px !important;
}
.swiper-button-prev:after {
    content: '<';
    color: #f9eed9 !important;
    font-size: 30px !important;
}
.swiper-button-prev, .swiper-button-next{
    display: none !important;
}

.hero-slider .swiper-container {
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
}

.hero-slider .slide-inner {
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  z-index: 1;
  background-size: cover !important;
  background-position: center;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: left;
  padding: 0 7%;
}

.hero-slider .swiper-button-prev,
.hero-slider .swiper-button-next {
  background: transparent;
  width: 55px;
  height: 55px;
  line-height: 53px;
  margin-top: -30px;
  text-align: center;
  border: 2px solid #d4d3d3;
  border-radius: 55px;
  opacity:0;
  visibility:hidden;
  transition:all .3s ease;
}
.hero-slider:hover .swiper-button-prev,
.hero-slider:hover .swiper-button-next {
  transform:translateX(0);
  opacity:1;
  visibility:visible;
}

@media (max-width: 767px) {
  .hero-slider .swiper-button-prev,
  .hero-slider .swiper-button-next {
    display: none;
  }
}

.hero-slider .swiper-button-prev {
  left: 25px;
  transform:translateX(50px);
}

.hero-slider .swiper-button-prev:before {
display: none;
}

.hero-slider .swiper-button-next {
  right: 25px;
  transform:translateX(-50px);
}

.hero-slider .swiper-button-next:before {
display: none;
}

.hero-slider .swiper-pagination-bullet {
  width: 5px;
  height: 5px;
  text-align: left;
  line-height: 12px;
  font-size: 12px;
  color: #000;
  opacity: 1;
  background:#fff;
  transition:all .2s ease;
}

.hero-slider .swiper-pagination-bullet-active {
  opacity:1;
  padding: 7px !important;
}

.hero-slider .swiper-container-horizontal > .swiper-pagination-bullets,
.hero-slider .swiper-pagination-custom,
.hero-slider .swiper-pagination-fraction {
  bottom: 30px;
}


.swiper-pagination {
  text-align:left;
}

.hero-slider .swiper-container-horizontal > .swiper-pagination-bullets{
  bottom:50px;
    max-width: 1200px;
    padding: 0 15px;
    margin: 0 auto;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    align-items: center;
}
.swiper-pagination-clickable .swiper-pagination-bullet {
    cursor: pointer;
    padding: 1px;
    margin: 5px;}

    .slide-bg-image{
        background-position: center !important;
        background-blend-mode: overlay;
      
    }
    .cornice{
        color: #000000 !important;
        box-shadow: 0 0 20px #0000001f;
        background: #fefdf6c7;
        border-radius: 0;
        text-shadow: 0 0 20px #00000012;
        padding: 30px 0;
        max-width: 450px;
    }

.slide1{
    background: #ffffff87;
    background-blend-mode: hard-light !important;
}
    .slide2{
      background:#404040;   
    }
    .slide3{
  background:#404040;  
    }
    .slide-bg-image video   {
    position: absolute;
    top: 0;
    width: 100%;
    height: 100vh;
    object-fit: cover;
    padding: 0;
    }

    
        
    
/*--------------------------------------------------------------
	#hero-style
--------------------------------------------------------------*/
.hero-style {
  height: 850px;
  transition:all .4s ease;
}

@media (max-width: 991px) {
  .hero-style {
    height: 600px;
  }
}

@media (max-width: 767px) {
  .hero-style{
    height: 500px;
  }
}

@media screen and (min-width: 992px) {
  .hero-style .container {
    padding-top: 95px;
  }
  .blocco{
    padding:20px 0;
    margin: 5px 0;
}
.b_text{
    padding-left: 3rem !important;
    }
}
/*
.hero-style .slide-title,
.hero-style .slide-text,
.hero-style .slide-btns {
  max-width: 690px;
}*/

.hero-style .slide-title h2 {
  font-size: 50px;
  font-weight: 600;
  line-height: 1;
  color: #ffffff;
  margin: 0 0 40px;
  text-transform: capitalize;
  transition:all .4s ease;
}

@media (max-width: 1199px) {
  .hero-style .slide-title h2 {
    font-size: 50px;
  }
}

@media (max-width: 991px) {
  .hero-style .slide-title h2 {
    font-size: 50px;
    margin: 0 0 35px;
  }
}



@media (max-width: 767px) {
  .hero-style .slide-title h2 {
    font-size: 35px;
    margin: 0 0 30px;
  }
}

.hero-style .slide-text p, .hero-style .slide-text li {
    opacity: 1;
    font-size: 22px;
    font-weight: 300;
    line-height: 1.5;
    letter-spacing: 0px;
  color: #ffffff;
  
  transition:all .4s ease;
}



@media (max-width: 767px) {
  .hero-style .slide-text p {
    font-size: 16px;
    font-size: 1rem;
    font-weight: normal;
    margin: 0 0 30px;
  }
}

.hero-style .slide-btns > a:first-child {
  margin-right: 10px;
}



/*--------------------------------------------------------------
	#button-style
--------------------------------------------------------------*/
.theme-btn, .theme-btn-s2{
    background-color: #ffffff;
    font-size: 17px;
    font-weight: 500;
    line-height: 1.4;
    text-align: center;
    color: #2b3b95;
    padding: 7px 32px;
    border: 0;
    border-radius: 0px;
    text-transform: uppercase;
    display: inline-block;
    line-height: initial;
    transition: all .4s ease;
}
a {
    text-decoration: none;
    transition: all 0.2s ease;
}
.theme-btn-s2{
    background-color:#d8be5f;
    color: #ffffff;
}
.theme-btn:hover, .theme-btn-s2:hover, .theme-btn:focus, .theme-btn-s2:focus, .theme-btn:active, .theme-btn-s2:active {
    background-color:#13141a ;
    color: #fff;
}
.theme-btn-s3{
  font-size: 16px;
  font-weight: 500;
  line-height: 1.5;
  color: #ffffff;
  text-transform: uppercase;
}
i.fa-chevron-circle-right{
  height:22px;
  width:22px;
}
a:hover {
    text-decoration: none;
}
@media (max-width: 991px){
  .theme-btn, .theme-btn-s2, .theme-btn-s3 {
    font-size: 13px;
    padding: 15px 25px;
  }
}
@media (max-width: 767px){
  .theme-btn, .theme-btn-s2{
    padding: 13px 20px;
    font-size: 15px;
  }
}



/*slick*/

/*para*/

#hero, #hero2 {
    height: 100%;
    overflow: hidden;
    position: relative;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    padding: 0 20px;
    border: solid .65rem #fefdf6;
}

#content {
    background-color: #130d0a;
}

.layer, .layer2 {
    background-size: cover;
    background-repeat: no-repeat;
    width: 100%;
    height: 75vh;
    position: fixed;
    z-index: -1;
}
.layer_page {
    background-size: cover;
    background-repeat: no-repeat;
    width: 100%;
    height: 70vh;
    position: fixed;
    z-index: -1;
}

.text-dark{
   color: #000000 !important
}

.text-header {
    font-size: 50px;
    text-align: center;
}


.layer-bg {
    background-image: url('/assets/img/hero1.jpg');
    background-size: cover;
}

.layer-bg-page {
    background-image: url('/assets/img/giallo.jpg');
    background-size: cover;
    background-position: center;
    filter: sepia(.251);
 
}

.layer-1 {
    background-image: url('/assets/img/hero1.jpg');
    background-position: left bottom;
}

.layer-2 {
    background-image: url('https://s3-us-west-2.amazonaws.com/s.cdpn.io/272781/ilu_02.png');
}

.layer-3 {
    background-image: url('https://s3-us-west-2.amazonaws.com/s.cdpn.io/272781/ilu_man.png');
    background-position: right bottom;
}

.layer-4 {
    background-image: url('https://s3-us-west-2.amazonaws.com/s.cdpn.io/272781/ilu_01.png');
}

.layer-overlay {
    background-image: url('https://s3-us-west-2.amazonaws.com/s.cdpn.io/272781/ilu_overlay.png');
}

@media only screen and (max-width: 768px) {
    .invert {
        display: flex;
        flex-direction: column-reverse;
        text-align: left !important;
    }
    .layer-1 {
        background-position: 26% bottom;
    }
    .layer-3 {
        background-position: 35% bottom;
    }
}

#scroll-down {
    display: block;
    position: relative;
    padding-top: 57px;
    text-align: center;
}

.arrow-down {
    display: block;
    margin: 0 auto;
    width: 10px;
    height: 38px;
}

.arrow-down:after {
    content: '';
    display: block;
    margin: 0;
    padding: 0;
    width: 10px;
    height: 10px;
    border-top: 2px solid #d1b34e;
    border-right: 2px solid #d1b34e;
    behavior: url(-ms-transform.htc);
    -moz-transform: rotate(135deg);
    -webkit-transform: rotate( 135deg);
    -o-transform: rotate(135deg);
    -ms-transform: rotate(135deg);
    transform: rotate( 135deg);
}

#scroll-down::before {
    -webkit-animation: elasticus 1.2s cubic-bezier(1, 0, 0, 1) infinite;
    -moz-animation: elasticus 1.2s cubic-bezier(1, 0, 0, 1) infinite;
    -o-animation: elasticus 1.2s cubic-bezier(1, 0, 0, 1) infinite;
    animation: elasticus 1.2s cubic-bezier(1, 0, 0, 1) infinite;
    position: absolute;
    top: 0px;
    left: 50%;
    margin-left: -1px;
    width: 2px;
    height: 60px;
    background: #d1b34e;
    content: ' ';
}

@-webkit-keyframes elasticus {
    0% {
        -webkit-transform-origin: 0% 0%;
        -ms-transform-origin: 0% 0%;
        -moz-transform-origin: 0% 0%;
        -o-transform-origin: 0% 0%;
        transform-origin: 0% 0%;
        -webkit-transform: scale(1, 0);
        -ms-transform: scale(1, 0);
        -moz-transform: scale(1, 0);
        -o-transform: scale(1, 0);
        transform: scale(1, 0);
    }
    50% {
        -webkit-transform-origin: 0% 0%;
        -ms-transform-origin: 0% 0%;
        -moz-transform-origin: 0% 0%;
        -o-transform-origin: 0% 0%;
        transform-origin: 0% 0%;
        -webkit-transform: scale(1, 1);
        -ms-transform: scale(1, 1);
        -moz-transform: scale(1, 1);
        -o-transform: scale(1, 1);
        transform: scale(1, 1);
    }
    50.1% {
        -webkit-transform-origin: 0% 100%;
        -ms-transform-origin: 0% 100%;
        -moz-transform-origin: 0% 100%;
        -o-transform-origin: 0% 100%;
        transform-origin: 0% 100%;
        -webkit-transform: scale(1, 1);
        -ms-transform: scale(1, 1);
        -moz-transform: scale(1, 1);
        -o-transform: scale(1, 1);
        transform: scale(1, 1);
    }
    100% {
        -webkit-transform-origin: 0% 100%;
        -ms-transform-origin: 0% 100%;
        -moz-transform-origin: 0% 100%;
        -o-transform-origin: 0% 100%;
        transform-origin: 0% 100%;
        -webkit-transform: scale(1, 0);
        -ms-transform: scale(1, 0);
        -moz-transform: scale(1, 0);
        -o-transform: scale(1, 0);
        transform: scale(1, 0);
    }
}

@-moz-keyframes elasticus {
    0% {
        -webkit-transform-origin: 0% 0%;
        -ms-transform-origin: 0% 0%;
        -moz-transform-origin: 0% 0%;
        -o-transform-origin: 0% 0%;
        transform-origin: 0% 0%;
        -webkit-transform: scale(1, 0);
        -ms-transform: scale(1, 0);
        -moz-transform: scale(1, 0);
        -o-transform: scale(1, 0);
        transform: scale(1, 0);
    }
    50% {
        -webkit-transform-origin: 0% 0%;
        -ms-transform-origin: 0% 0%;
        -moz-transform-origin: 0% 0%;
        -o-transform-origin: 0% 0%;
        transform-origin: 0% 0%;
        -webkit-transform: scale(1, 1);
        -ms-transform: scale(1, 1);
        -moz-transform: scale(1, 1);
        -o-transform: scale(1, 1);
        transform: scale(1, 1);
    }
    50.1% {
        -webkit-transform-origin: 0% 100%;
        -ms-transform-origin: 0% 100%;
        -moz-transform-origin: 0% 100%;
        -o-transform-origin: 0% 100%;
        transform-origin: 0% 100%;
        -webkit-transform: scale(1, 1);
        -ms-transform: scale(1, 1);
        -moz-transform: scale(1, 1);
        -o-transform: scale(1, 1);
        transform: scale(1, 1);
    }
    100% {
        -webkit-transform-origin: 0% 100%;
        -ms-transform-origin: 0% 100%;
        -moz-transform-origin: 0% 100%;
        -o-transform-origin: 0% 100%;
        transform-origin: 0% 100%;
        -webkit-transform: scale(1, 0);
        -ms-transform: scale(1, 0);
        -moz-transform: scale(1, 0);
        -o-transform: scale(1, 0);
        transform: scale(1, 0);
    }
}

@-o-keyframes elasticus {
    0% {
        -webkit-transform-origin: 0% 0%;
        -ms-transform-origin: 0% 0%;
        -moz-transform-origin: 0% 0%;
        -o-transform-origin: 0% 0%;
        transform-origin: 0% 0%;
        -webkit-transform: scale(1, 0);
        -ms-transform: scale(1, 0);
        -moz-transform: scale(1, 0);
        -o-transform: scale(1, 0);
        transform: scale(1, 0);
    }
    50% {
        -webkit-transform-origin: 0% 0%;
        -ms-transform-origin: 0% 0%;
        -moz-transform-origin: 0% 0%;
        -o-transform-origin: 0% 0%;
        transform-origin: 0% 0%;
        -webkit-transform: scale(1, 1);
        -ms-transform: scale(1, 1);
        -moz-transform: scale(1, 1);
        -o-transform: scale(1, 1);
        transform: scale(1, 1);
    }
    50.1% {
        -webkit-transform-origin: 0% 100%;
        -ms-transform-origin: 0% 100%;
        -moz-transform-origin: 0% 100%;
        -o-transform-origin: 0% 100%;
        transform-origin: 0% 100%;
        -webkit-transform: scale(1, 1);
        -ms-transform: scale(1, 1);
        -moz-transform: scale(1, 1);
        -o-transform: scale(1, 1);
        transform: scale(1, 1);
    }
    100% {
        -webkit-transform-origin: 0% 100%;
        -ms-transform-origin: 0% 100%;
        -moz-transform-origin: 0% 100%;
        -o-transform-origin: 0% 100%;
        transform-origin: 0% 100%;
        -webkit-transform: scale(1, 0);
        -ms-transform: scale(1, 0);
        -moz-transform: scale(1, 0);
        -o-transform: scale(1, 0);
        transform: scale(1, 0);
    }
}

@keyframes elasticus {
    0% {
        -webkit-transform-origin: 0% 0%;
        -ms-transform-origin: 0% 0%;
        -moz-transform-origin: 0% 0%;
        -o-transform-origin: 0% 0%;
        transform-origin: 0% 0%;
        -webkit-transform: scale(1, 0);
        -ms-transform: scale(1, 0);
        -moz-transform: scale(1, 0);
        -o-transform: scale(1, 0);
        transform: scale(1, 0);
    }
    50% {
        -webkit-transform-origin: 0% 0%;
        -ms-transform-origin: 0% 0%;
        -moz-transform-origin: 0% 0%;
        -o-transform-origin: 0% 0%;
        transform-origin: 0% 0%;
        -webkit-transform: scale(1, 1);
        -ms-transform: scale(1, 1);
        -moz-transform: scale(1, 1);
        -o-transform: scale(1, 1);
        transform: scale(1, 1);
    }
    50.1% {
        -webkit-transform-origin: 0% 100%;
        -ms-transform-origin: 0% 100%;
        -moz-transform-origin: 0% 100%;
        -o-transform-origin: 0% 100%;
        transform-origin: 0% 100%;
        -webkit-transform: scale(1, 1);
        -ms-transform: scale(1, 1);
        -moz-transform: scale(1, 1);
        -o-transform: scale(1, 1);
        transform: scale(1, 1);
    }
    100% {
        -webkit-transform-origin: 0% 100%;
        -ms-transform-origin: 0% 100%;
        -moz-transform-origin: 0% 100%;
        -o-transform-origin: 0% 100%;
        transform-origin: 0% 100%;
        -webkit-transform: scale(1, 0);
        -ms-transform: scale(1, 0);
        -moz-transform: scale(1, 0);
        -o-transform: scale(1, 0);
        transform: scale(1, 0);
    }
}


/*
# Preloader
--------------------------------------------------------------*/




#preloader {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 9999;
    overflow: hidden;
    background:#f9f7ec;
    display: block;

    box-shadow: 0 0 13px #0000004d;


}

#preloader:before {
    content: "";
    position: fixed;
    top: calc(50% - 80px);
    left: calc(50% - 80px);
    border: 2px solid #e33f2000;
    border-top-color: #000000;
    border-bottom-color: #ceae32;
    border-radius: 50%;
    width: 160px;
    height: 160px;
    -webkit-animation: animate-preloader 1s linear infinite;
    animation: animate-preloader 1s linear infinite;
    
}

@-webkit-keyframes animate-preloader {
    0% {
        transform: rotate(0deg);
    }
    100% {
        transform: rotate(360deg);
    }
}

@keyframes animate-preloader {
    0% {
        transform: rotate(0deg);
    }
    100% {
        transform: rotate(360deg);
    }
}

.logohero{
    height:110px;
}

.logopreloader {
    width: 110px;
    object-fit: contain;
    position: fixed;
    top: calc(50% - 35px);
    left: calc(50% - 50px);
}
.preloader{
    display: block;
  
}

body.loaded .preloader{

        animation: fadeOut 1s;
   
        animation-fill-mode: forwards;
        animation-timing-function:cubic-bezier(.8, .2, .2, .9);
    
       
    
}

@keyframes fadeOut {
    100% {
  
      transform: translateY(-100%);
      visibility: hidden;
    }
  }


/*
# Preloader
--------------------------------------------------------------*/

/*para*/

.img {
    width: 100%;
    object-fit: cover;
}


.section-generale{
    padding:6% 5% 10%;
    
}

.section-backg{
padding: 35vh 5%;
}

.contenitore{
    max-width: 1000px;
    margin: auto;
}
.contenitore2{
    max-width: 1200px;
    margin: auto;
}

.hr_first {
  
    width: 30%;
    max-width: 80px;
    border-color: #d1b34e;
    border-width: 2px;
    margin-top:1rem;
}
@media only screen and (max-width: 768px) {
    .section-generale{
        padding: 3% 7% 20%;
    }
    .hr_first {
        padding-bottom: 2rem;
    }
    .m-mob-0{
        margin: 0;
        }
}


.civile{
    background-image: url(/assets/img/civile.jpg);
}

.penale{
    background-image: url(/assets/img/penale.jpg);
}
.societario{
    background-image: url(/assets/img/societario.jpg);
}
.lavoro{
    background-image: url(/assets/img/lavoro.jpg);
}
.immigrazione{
    background-image: url(/assets/img/immigrazione.jpg);
}
.minorile{
    background-image: url(/assets/img/minori.jpg);
}
.whiteb{
    background: #fefdf6;

}
.greyb{
    background: #f4f4f4;
}

@media only screen and (max-width: 768px) {
.societario{
    background-image: url(/assets/img/new.jpg);
}
}




.servizi {
    background-image: linear-gradient( 0deg, #1d1c19d4, #1d1c19d4), url(/assets/img/giallo.jpg);
    background-position: center;
    background-size: cover;
}



.contatti i{
    font-size: 50px;
    padding-bottom: 15px;
    color: #ceae32;

}

.contatti p{
    color: #ceae32;
    font-size: 19px;
}


ul li{
   
    line-height: 1.75;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.5;
    -webkit-font-smoothing: antialiased;
}

.list_decimal{
    list-style: decimal inside;
}

.section-pubblicazioni .row {
    max-width: 900px;
    margin: auto;
}

.card-img-top {
    border-radius: 0;
    filter: sepia(.21);
}

.civile-descrizione {
    background: #fff;
    padding: 10% 5%;
}
.img_big{
   height: 400px;
   object-fit:cover;
   max-width:1000px; 
   margin:auto;
}
.aforisma{
    color: #fff; padding:20vh 20px;
    background: url(/assets/img/diritto.jpg) center center no-repeat;
    background-size: cover;
    background-color: #000000a6;
    background-blend-mode: multiply;
}
.aforisma h3{
    font-weight: 100;
    font-size: 1.8rem;
    margin-bottom: 3px !important;   
     letter-spacing: 1px;
    font-style: italic;
}
.aforisma p{
      text-align: right;
    font-size: 1.5rem;
    padding-top: 22px;
    color: #d1b34e;
}
#map{
   width: 100%; height: 450px;
}
.gia {
    color: #fffcef;
}

.ico {
    height: auto;
    width: 65%;
    margin-bottom: 15px;
}
.max2{
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    margin-bottom: 3px;
    font-weight: 300;
}

.shadow {
    box-shadow: 0 0 3px red;
}

.image-trans {
    position: relative;
    width: 100%;
    height: 100%;
    backface-visibility: hidden;
    background-color: #000000;
    height: 100%;
    position: absolute;
    width: 100%;
    z-index: 2;
    transform: translate3d(0px, 0px, 0px) scale(0, 1);
}

.fadin {
    opacity: 0;
    /*transform: translateY(25px);*/
    transition: all 0.9s ease;
}

.title_section {
    text-align: center;
    margin-bottom: 20px;
    overflow: hidden;
    --duration: 400ms;
    --delay: calc(var(--duration) / 2);
    --ease: cubic-bezier(0.25, 1, 0.5, 1);
}

.fix {
    position: absolute;
    top: 30px;
    left: 20%;
    font-size: 50px;
    color: #fff;
}

.fade_active {
    opacity: 1;
    /*  transform: translateY(0);*/
}

.logo {
    height: 50px;
    object-fit: contain;
    padding: 0px;
    max-width: 100%;
    opacity: 0;
}

.logo-hero {
    height: 140px;
    object-fit: contain;
    padding: 0px;
    max-width: 80%;
}

/* arrow*/

.arrow {
    position: absolute;
    bottom: 100px;
    left: 50%;
    width: 50px;
    height: 50px;
    margin-left: -25px;
    border-left: 5px solid #ffffff;
    border-bottom: 5px solid #ffffff;
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
    -webkit-animation: sdb05 1.5s infinite;
    animation: sdb05 1.5s infinite;
    box-sizing: border-box;
}

@-webkit-keyframes sdb05 {
    0% {
        -webkit-transform: rotate(-45deg) translate(0, 0);
        opacity: 0;
    }
    50% {
        opacity: 1;
    }
    100% {
        -webkit-transform: rotate(-45deg) translate(-20px, 20px);
        opacity: 0;
    }
}

@keyframes sdb05 {
    0% {
        transform: rotate(-45deg) translate(0, 0);
        opacity: 0;
    }
    50% {
        opacity: 1;
    }
    100% {
        transform: rotate(-45deg) translate(-20px, 20px);
        opacity: 0;
    }
}

/* arrow */

/*2 HOVER*/

.hovereffect {
    width: 100%;
    height: 100%;
    float: left;
    overflow: hidden;
    position: relative;
    background: #42b078;
    max-height: 300px;
}

.hovereffect .overlay {
    width: 100%;
    height: 100%;
    position: absolute;
    overflow: hidden;
    top: 0;
    left: 0;
    padding: 20px 20px;
}

.hovereffect img {
    display: block;
    position: relative;
    max-width: none;
    width: calc(100% + 20px);
    -webkit-transition: opacity 0.35s, -webkit-transform 0.35s;
    transition: opacity 0.35s, transform 0.35s;
    -webkit-transform: translate3d(-10px, 0, 0);
    transform: translate3d(-10px, 0, 0);
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
}

.hovereffect:hover img {
    opacity: 0.4;
    filter: alpha(opacity=40);
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
}

.hovereffect h2 {
    text-transform: uppercase;
    color: #fff;
    text-align: center;
    position: relative;
    font-size: 17px;
    overflow: hidden;
    padding: 0.5em 0;
    background-color: transparent;
}

.hovereffect h2:after {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 2px;
    background: #fff;
    content: '';
    -webkit-transition: -webkit-transform 0.35s;
    transition: transform 0.35s;
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
}

.hovereffect:hover h2:after {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
}

.hovereffect a, .hovereffect p {
    color: #FFF;
    opacity: 0;
    filter: alpha(opacity=0);
    -webkit-transition: opacity 0.35s, -webkit-transform 0.35s;
    transition: opacity 0.35s, transform 0.35s;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
}

.hovereffect:hover a, .hovereffect:hover p {
    opacity: 1;
    filter: alpha(opacity=100);
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
}

@media (max-width: 1000px) {
    .hovereffect a, .hovereffect p {
        opacity: 1;
        filter: alpha(opacity=100);
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }
    .hovereffect img {
        opacity: 0.4;
        filter: alpha(opacity=40);
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }
    .hovereffect {
        width: 100%;
        height: 100%;
        float: left;
        overflow: hidden;
        position: relative;
        cursor: default;
        background: #42b078;
    }
}

/*menu gsap*/

.menudrop menu ul {
    list-style: none;
    padding-inline-start: 0;
}
ul li{
    font-family: 'Montserrat', sans-serif;
    font-size: .95rem;
    font-weight: 400;
    line-height: 1.75;
    font-family: 'Montserrat', sans-serif;
    -webkit-font-smoothing: antialiased;
}

menu ul li {
    text-align: center;
    margin: 0 auto;  
    opacity: 0;
    cursor: pointer;
    line-height: 1.7;
    font-weight: 500;
    color: #141313;
    font-family: 'Cormorant Garamond', serif;
}

menu ul li:nth-child(1) {
    color: #de0000;
}

menu ul li:hover {
    color: #de0000;
}

menu {
    width: 100%;
    margin: 60px auto;
    position: relative;
    text-align: center;
    padding: 0;
    overflow-y: scroll;
    height: -webkit-fill-available;
}

menu, menu a {
    color: #000;
}

.sub_menu {
    font-size: 1.4rem;
}

.menudrop {
    position: fixed;
    
    width: 100%;
    height: 100vh;
    display: none;
    background-color: #f9f7ec;
    z-index: 100;
    padding-bottom: 30px;
    left: 0;
    top: 0;
    transform: translateY(-100%);
   
    box-shadow: 0 0 13px #0000004d;
}

.icon-menu {
    font-weight: 900;
    padding-left: 2%;
    position: absolute;
    top: 10px;
    font-size: 1.3rem;
}
.bottom_bar {
    position: fixed;
    height: auto;
    width: 100%;
    bottom: 0;
    left: 0;
    background-color: #f9f7ec;
    z-index: 99;
    opacity: 0;
}
.social-links {
    text-align: center;
}
.social-links a {
    display: inline-block;
}
.social-links i {
    font-size: 30px;
    padding: 15px;
    color: #ceae32b5;
}
#hamburger {
    position: fixed;
    padding: 10px;
    top: 3px;
    right: 2%;
    width: 50px;
    height: 50px;
    z-index: 101;
    cursor: pointer;
}

#hamburger:hover {
    width: 60px;
}

#hamburger span {
    width: 100%;
    height: 2px;
    background: #fdfdfd;
    display: block;
    margin: 7px auto;
}

#hamburger.on span {
    background-color: #000 !important;
    transition: all .5s;
}

#hamburger.on .span1 {
    transform: translateY(45deg);
}

#hamburger {
    transition: 0.3s;
}

#hamburger {
    animation: moveme 0.3s 2 alternate backwards;
}

@keyframes moveme {
    from {
        width: 65px;
    }
    to {
        width: 75px;
    }
}

@media only screen and (max-width: 768px) {
    menu ul li {
        font-size: 1.8rem;
        line-height: 2;
        font-weight: 400;
       
    }
}

/*menu gsap*/

#header_fix {
    box-shadow: 0 0rem 1rem rgba(0, 0, 0, .175) !important;
    background: #fff;
    padding: 5px;
}

header {
    padding: 5px;
    background-color: rgba(255, 255, 255, 0);
    box-shadow: 0 0 0 transparent;
}
.page_header{
opacity:1 !important;
background:#fff !important;
}
.page_header .logo{
    opacity:1 !important;
}
.page_header #hamburger span{
    background:#000 !important;
}

.hero {
    /* Use vh as a fallback for browsers that do not support Custom Properties */
    position: relative;
    height: 100vh;
    margin: 0 auto;
    max-width: 100%;
    background: url(/assets/img/img2.jpg);
    background-size: cover;
    justify-content: center;
}

.hero_mini {
    /* Use vh as a fallback for browsers that do not support Custom Properties */
    position: relative;
    height: 50vh;
    margin: 0 auto;
    max-width: 100%;
    background: url(/assets/img/img2.jpg);
    background-size: cover;
}

.specifica {
    /* Use vh as a fallback for browsers that do not support Custom Properties */
    height: calc(var(--vh, 1vh) * 100) !important;
    margin: 0 auto;
    max-width: 100%;
    overflow-y: hidden;
}


.logobianco {
    opacity: 0;
    height: 100px;
    object-fit: contain;
    padding: 0px;
    max-width: 100%;
}

.inverso {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
}

.div_after {
    position: relative;
    height: 100%;
    min-height:380px;
}

.div_after img {
    width: 100%;
    height: 100%;
    object-fit: cover;   
    min-height: 380px;
    filter: sepia(.1);
}
.div_after:before{
content:"";
position:absolute;
height:100%;
width:100%;
left: 15px;
top: -15px;
border:solid 1px #d1b34e;
z-index: 1;
}

.div_after:after {
    content: "";
    position: absolute;
    height: 100%;
    width: 100%;
    left: -15px;
    top: 15px;
    z-index: -1;
    background: #f9f7ec;
}

.py-6{
    padding-top:100px;
    padding-bottom:100px;
}



@media only screen and (min-width: 769px) {
    menu ul li {
        font-size: 1.7rem;
        line-height: 2;
        font-weight: 500;
     
    }
}

menu a:hover{
    border-bottom: solid 1px;
    border-top: solid 1px;
    color: #000;
    padding: 0 30px;
}

.arrow-scroll {
    position: absolute;
    z-index: 9;
    right: 0;
    left: 0;
    bottom: 40px;
    text-align: center;
}

.arrow-scroll-wrapper {
    animation: arrow-scroll 1.7s infinite ease;
}

svg {
    overflow: hidden;
    vertical-align: middle;
    margin: 10px;
}

@keyframes arrow-scroll {
    0%, 100% {
        transform: translateY(0);
    }
    50% {
        transform: translateY(-10px);
    }
    55% {
        transform: translateY(-10px);
    }
}

.specifica {
    min-height: -webkit-fill-available !important;
    /* Use vh as a fallback for browsers that do not support Custom Properties */
    height: calc(var(--vh, 1vh) * 100);
    margin: 0 auto;
    max-width: 100%;
}

/* TEXT
=========================== */

.h1, h1 {
    font-size: 1.8rem;
    font-weight: 400;
    line-height: 120%;
}


.section-servizi h1, .section-pubblicazioni h1 {
    margin-bottom: 4rem;
    padding-top: 2rem;
}


h2 {
    line-height: 1.5;
    font-size: 1.8rem;
    font-weight: 500;
    -webkit-font-smoothing: antialiased;
    
}
h3{

    font-weight: 400;
    font-size: 1.3rem;
    margin-bottom: 3px !important;
}
h4{
   
       font-size: 1.6rem;
       font-weight: 400;
}

h5{
    font-family: 'Montserrat', sans-serif;
    font-weight: 200;
    font-size: 1.31rem !important;
 
}
hr {
    margin-top: 0.5rem;
    margin-bottom: 1.5rem;
    border-top: 1px solid rgb(0 0 0 / 25%);
}

p {
    font-size: .95rem;
    font-weight: 400;
    line-height: 1.75;
    font-family: 'Montserrat', sans-serif;
    -webkit-font-smoothing: antialiased;
}


@media screen and (max-width: 768px) {
    p {
        font-size: 1rem;
        font-weight: 400;
        line-height: 1.5;
        font-family: 'Montserrat', sans-serif;
        -webkit-font-smoothing: antialiased;
    }
}
.italic{
    font-style: italic;
    font-size: 1rem;
    font-weight: 400;
}

.slide-text h2{
    line-height: 1.5;
    font-size: 2rem;
    font-weight: 500;

}
.title_page{
    line-height:1.2;
    font-size:2rem;
    text-transform:uppercase;
    padding-bottom: 3rem;
    color: #f9f7ec;
}



strong {
    font-weight: 500;
}


/*
h3::before {
    content: "";
    min-width: 50px;
    height: 1px;
    display: inline-block;
    background: #ffffff;
    margin: 4px 10px;
}

h3::after {
    content: "";
    min-width: 50px;
    height: 1px;
    display: inline-block;
    background: #ffffff;
    margin: 4px 10px;
}*/

h6 {
    font-family: 'Cormorant Garamond', serif;
 
    -webkit-font-smoothing: antialiased;
    font-size: 24px !important;
    font-weight:600 !important;
    color:#ceae32;
}
.giallo{
    color:#d1b34e;
}
/*
h6::after {
    content: "";
    width: 120px;
    height: 1px;
    display: inline-block;
    background: #de0000;
    margin: 4px 10px;
}*/

.pfirst {
    line-height: 2.3;
    text-align: justify;
}

.cursive {
    font-size: .95rem;
    font-weight: 700;
    font-style: italic;
}

.title_slide {
    font-size: 2.3rem;
}

.title-subheader {
    font-size: 2.2rem;
    color: #f9eed9;
}

.title-section {
    padding-bottom: 30px;
}

.light {
    color: #ccc6bd;
}

.hard-light {
    color: #f9eed9;
}

.light-back {
    background: #f7f0e8;
}

.dark {
    color: #141313;
}

.hard-dark {
    color: #2e2b28;
}

.dark-back {
    background: #5e5b57;
}

.ggg2{
    /*transform: translate(-30px, -30px);
    opacity: 0;*/
    opacity: 1;

    will-change: transform, opacity;
}

/*reveal on scroll overlay img*/

.image {
    margin: auto;
    position: relative;
    width: 300px;
    height: 300px;
}

.image-trans {
    position: fixed !important;
    width: 300px;
    height: 100vh !important;
    backface-visibility: hidden;
    background-color: #5e5b57;
    height: 100%;
    width: 100%;
    z-index: 2;
    transform: translate3d(0px, 0px, 0px) scale(0, 1);
    transform-origin: top right;
}

.image-transtop {
    position: fixed !important;
    width: 100%;
    height: 100%;
    backface-visibility: hidden;
    background-color: #e9e1da;
    height: 100%;
    position: absolute;
    width: 100%;
    z-index: 2;
    transform: translate3d(0px, 0px, 0px) scale(0, 1);
}

.image-content {
    position: relative;
    width: 100%;
    height: 100%;
    display: block;
    background-image: url('https://i.ebayimg.com/images/g/WVUAAOSw7NNUIWUi/s-l500.jpg');
    background-size: cover;
    background-repeat: no-repeat;
    background-position: -30px 0;
    opacity: 0;
    transition: all .5s ease;
}
.desc_page{
    line-height: 1.3;
    font-size: 1.5rem;
  
}

.desc_page:first-child {
    text-align: justify;
   }
.btn {
    color: #fff;
    background-color: #d1b34e;
    border-color: #007bff00;
    border-radius: 0;
   
    border-top-left-radius: 20px;
    font-size: 17px;
    padding: 3px 13px;
}
.continua{
    color: #fff;
    background-color: #d1b34e;
    padding: 5px 15px;
    border-radius:0;
}
.hidden-y{
    overflow-y:hidden;
}

.btn-secondary {
    color: #fff;
    background-color: #778c9e00;
    border-color: #ffffff;
    border: 0;
    border-bottom: solid 1px;
    border-radius: 0;
}

.btn-secondary:hover {
    color: #5b5b5b;
    background-color: #fffae6;
    border-color: #545b62;
}

.section-servizi .blocco {
    margin: 30px 0;
}
.blocco{
    padding:20px 10px;
}


/*
.blocco{
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center !important;
}*/


.card {
    position: relative;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
    flex-direction: column;
    min-width: 0;
    word-wrap: break-word;
    background-color: #fff;
    background-clip: border-box;
    border: 1px solid rgba(0, 0, 0, .125);
    border-radius: 0;
    margin: 10px 0;
}

/*reveal on scroll overlay img*/


.transition {
    position: fixed;
    z-index: 101;
    width: 100%;
    height: 100vh;
    top: 0;
    left: 0;
    margin: 0;
    padding: 0;
    pointer-events: none;
}

.transition li {
    width: 100%;
    -webkit-transform: scaleX(0);
    transform: scaleX(0);
    background: #141414;
    height: 100vh;
    z-index: 999;
    list-style: none;
}
/*
.logo_trans{
    -webkit-transform: scaleX(0);
    transform: scaleX(0);
}
*/

.point_no{
    pointer-events: none;
}

.home-section {
    height: 75vh !important;
}

.home-section:before {
    content: "";
    background: linear-gradient( 0deg, white, transparent);
    position: absolute;
    bottom: 0;
    top: 0;
    left: 0;
    right: 0;
    height: 75vh;
}


.page_subheader{
    height:70vh;
}
.page_subheader:before {
    content: "";
    background: linear-gradient( 0deg, #1e1e1e, transparent);
    position: absolute;
    bottom: 0;
    top: 0;
    left: 0;
    right: 0;
    height: 70vh;

}


/*home hero slide*/

:root {
    --main-white-color: white;
    --main-black-color: black;
}

.static {
    position: static;
}

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

.owl-carousel .owl-slide {
    position: relative;
    height: 100vh;
    background-color: #0101014d;
    background-blend-mode: overlay;

}

.owl-carousel .owl-slide-animated {
    transform: translateX(20px);
    opacity: 0;
    visibility: hidden;
    transition: all 0.05s;
}

.owl-carousel .owl-slide-animated.is-transitioned {
    transform: none;
    opacity: 1;
    visibility: visible;
    transition: all 0.5s;
}

.owl-carousel .owl-slide-title.is-transitioned {
    transition-delay: 0.2s;
}

.owl-carousel .owl-slide-subtitle.is-transitioned {
    transition-delay: 0.35s;
}

.owl-carousel .owl-slide-cta.is-transitioned {
    transition-delay: 0.5s;
}

.owl-carousel .owl-dots, .owl-carousel .owl-nav {
    position: absolute;
}

.owl-carousel .owl-dots .owl-dot, .owl-carousel .owl-nav [class*="owl-"]:focus {
    outline: none;
}

.owl-carousel .owl-dots .owl-dot span {
    background: transparent;
    border: 1px solid var(--main-black-color);
    transition: all 0.2s ease;
}

.owl-carousel .owl-dots .owl-dot:hover span, .owl-carousel .owl-dots .owl-dot.active span {
    background: var(--main-black-color);
}

.owl-carousel .owl-nav {
    left: 50%;
    top: 10%;
    transform: translateX(-50%);
    margin: 0;
}

.owl-carousel .owl-nav svg {
    opacity: 0.3;
    transition: opacity 0.3s;
}

.owl-carousel .owl-nav button:hover svg {
    opacity: 1;
}

.owl-carousel .owl-nav [class*="owl-"]:hover {
    background: transparent;
}

@media screen and (max-width: 575px) {
    .owl-carousel .owl-nav {
        top: 5%;
    }
    .owl-carousel .owl-nav svg {
        width: 24px;
        height: 24px;
    }
}

/*home hero slide*/

/*
.a_blocco:hover .blocco,
.a_blocco:hover + .blocco,
.a_blocco:hover ~ .blocco {
    box-shadow: 0 0 7px #00000024 !important;
}

*/
.a_blocco{
    display: block;
    background-color: #fff;
    border-bottom-right-radius: 20px;
    overflow: hidden;
    border: solid 0.3px #d1b34e5e;
}
.a_blocco:hover{
    box-shadow: 0 0 7px #00000024 !important;

}

