


/*GENERALS*/

html{
    background:#fff;
}

::-webkit-scrollbar {
   -webkit-appearance: none;
   width: 0px;
}


:focus-visible{
  outline: none; 
}



body{
     background: #fff;
}
 a{
     cursor:none;
}

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

a:hover,
a:focus {
	color: #fff;
	outline: none;
}


section{
    z-index:9;
    position:relative;
}

.load-body{
   animation: removeBlur 0.5s ease-in-out;
   overflow-y:hidden;
}

[role=button] {
    cursor: none !Important;
}



@keyframes removeBlur {
 0% {
   filter: blur(15px);
 }
 50% {
   filter: blur(7px);
 }
 100% {
   filter: blur(0px);
 }
 
}



/*input, textarea, button{*/
/*    cursor:none !Important;*/
/*}*/




.change-page {
	width: 100vw;
	height: 100%;
	pointer-events: none;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 999;
	cursor:none;
}

.shape-overlays-page {
	width: 100vw;
	height: 100%;
	pointer-events: none;
	top: 0;
	left: 0;
}

.shape-overlays-page__path:nth-of-type(1) {
	fill: #141414;
}


.shape-overlays {
	width: 100vw;
	height: 100%;
	pointer-events: none;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 100;
}

.shape-overlays.is-opened {
	pointer-events: auto;
}

.shape-overlays__path:nth-of-type(1) {
	fill: #141414;
}



.shape-overlays-gallery {
	width: 100vw;
	height: 100%;
	pointer-events: none;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 102;
}

.shape-overlays-gallery.is-opened {
	pointer-events: auto;
}

.shape-overlays-gallery__path:nth-of-type(1) {
	fill: #141414;
}



.sec-padding{
    padding: 8rem 0 6rem 0;
}

/* input{*/
/*     cursor:none;*/
/*}*/
 ::-webkit-scrollbar {
     -webkit-appearance: none;
     width: 0px;
}


.relative{
    position:relative;
}




.grid-page{
    display: grid;
    gap: 7rem;
}


.grid-page.column-2{
    grid-template-columns: 50% auto;
}

.grid-page.column-2.reverse{
    grid-template-columns: auto 58%;
}


.grid-page.v-2{
    gap: 5rem;
}

.grid-page.v-3{
    gap: 6rem;
}

.grid-page.column-3{
    grid-template-columns: 40% auto auto;
}


.grid-page.column-2-c{
    grid-template-columns: 40% auto;
    gap: 18%;
}










/* ------------------------- Custom Cursor -------------------------------------------------- */

.custom-cursor {
   position: fixed;
   z-index: 100;
   pointer-events: none;
   transform: translate(-48%, -75%) rotate(0.001deg);
   display: none;
   opacity: 0;
   visibility: hidden;
   display: flex;
}


.cursor-normal {
   position: absolute;
   left: 50%;
   top: 50%;
   transform: translate(-50%, -50%);
   display: flex;
   transition: var(--animation-primary);
   height: 2em;
   align-items: center;
   justify-content: center;
   overflow: hidden;
   border-radius:1.5em;
}

.cursor-normal .cursor-normal-before {
   position: absolute;
   width: 100%;
   height: 100%;
   background-color: #e30613;
   transition: all .4s cubic-bezier(0.5, 0.75, 0, 1) 0s;
   width: 0.5em;
   height: 0.5em;
   border:0;
   border-radius: 50%;
}



.custom-cursor.nav .cursor-normal-before {
   background-color: transparent;
   border:3px solid #e30613;
   border-radius: 0;
       width: 2.5rem;
    height: 2.5rem;
}

.custom-cursor.nav .cursor-normal{
   
   width:6rem;
   height:6rem;
}




.custom-cursor.hide .cursor-normal .cursor-normal-before{
   
   opacity:0;
}


.custom-cursor .cursor-text {
   white-space: nowrap;
   color: #fff;
   text-transform: uppercase;
   display: block;
   position: relative;
   transform-origin: left center;
   transition: opacity 0.2s ease-in-out 0s;
   opacity: 0;
   padding: 0 0.5em;
   font-family: "Barlow", sans-serif;
   font-size: 18px;
   font-weight: 400;
}

.custom-cursor .cursor-text.duplicate {
   position: absolute;
   left: 100%;
}

.custom-cursor .cursor-text {
   animation: loopCursorNormal calc(var(--cursor-speed) / 4.5) linear;
   animation-iteration-count: infinite;
}

@keyframes loopCursorNormal { 
   0% { transform: translateX(0%); }
   100% {transform: translateX(-100%); } 
}

/* Hover Normal */

.custom-cursor.cursor-hover .cursor-normal {
   transform: translate(-50%, -75%);
}

.custom-cursor.cursor-hover .cursor-normal .cursor-normal-before {
   width: 100%;
   height: 100%;
   border-radius: 0;
}

.custom-cursor.cursor-hover .cursor-normal .cursor-text {
   opacity: 1;
   transition: opacity 0.1s ease-in-out 0.15s;
}


@media (hover: hover) {

   .custom-cursor.cursor-init {
      display: flex;
      opacity: 1;
      visibility: visible;
   }
}














 .my-cursor{
    width: 10px;
    height: 10px;
    border:2px solid;
    border-color:#e30613;
    transform:translate(-50%, -50%);
    position:fixed;
    transition:0.3s width, 0.3s height, 0s border-radius, 0s border, 0.3s opacity, 0.3s background-color;
    z-index: 10;
    color: #fff;
    pointer-events:none;
}
 .my-cursor.open{
     background-color:#141414;
     border: 0;
}

.my-cursor.nav{
    border-radius:50%;
    background:#fff;
    border:0;
}


.cursor.nav{
    border:0.05rem solid #ffffff4d;
    /*box-shadow:inset 0 0 0 0.05rem #ffffff4d;*/
     width:9rem !important;
    height:8rem !important;
    background-color:#fff0;
}



.cursor.nav.right{
    background-image:url('/media/arrow_single_dx.svg');
    background-position: center;
    background-size: 3rem;
    background-repeat: no-repeat;
    
}


.cursor.nav.left{
    background-image:url('/media/arrow_single_sx.svg');
    background-position: center;
    background-size: 3rem;
    background-repeat: no-repeat;
}

.cursor.nav.up{
    background-image:url('/media/arrow_single_top.svg');
    background-position: center;
    background-size: 1.5rem;
    background-repeat: no-repeat;
}


.cursor.nav.click{
    background-image:url('/media/click.svg');
    background-position: center;
    background-size: 3rem;
    background-repeat: no-repeat;
}



.my-cursor.line {
    border: 0;
    border-radius: 0;
    border-bottom:2px solid;
}


.cursor.line {
    height: 2rem;
    width:2px;
    border-radius: 0;
}


.my-cursor.b__burger{
    width:5rem !important;
    height:5rem !important;
}


.cursor.b__burger{
    border:0.05rem solid;
    /*box-shadow:inset 0 0 0 0.05rem #ffffff4d;*/
    border-color:#ffffff4d;
    width:4.5rem !important;
    height:4rem !important;
    background-color:#fff0 !important;
}




 .cursor.black{
     background-color:#141414;
     border-color:#1414144d;
     /*box-shadow:inset 0 0 0 20px #141414;*/
}



 .my-cursor.black{
     color:#141414;
     border:0.05rem solid #1414144d;
     
}
 .my-cursor.black.open{
     background-color:#141414;
     /*box-shadow:0 0 20px #141414;*/
}
 .cursor.white{
      
     background-color:#fff;
     border-color:#ffffff4d;
     /*box-shadow:inset 0 0 0 20px #ffffff;*/
}
 .my-cursor.white{
     color:#fff;
     /*border:0.05rem solid #ffffff4d;*/
     border-color:#ffffff4d;
}
 .my-cursor.white.open{
     background-color:#fff;
}



 .my-cursor.square{
     border-radius:0px;
    /* background-color:transparent !important;
     */
    /* border:2px solid #fff;
     */
}
 .my-cursor.square_offset{
     border-radius:0px;
     background-color:transparent !important;
     border:2px solid #fff;
}

 .my-cursor.square_offset_bottom{
     border-radius:0px;
     background-color:transparent !important;
     border:0;
     border-bottom:2px solid #fff;
}

.bg-black{
    background-color: #141414 !important;
}


.bg-white {
    background: #fff;
    background-image: none !important;
}


.bg-background{
    padding: 10rem 0;
    background-image:url('/media/contatti.jpg');
    background-size: cover;
    background-position: top;
}

/* .box{
     padding:2rem;
}
 */
 .items-menu {
     display: flex;
     gap: 0;
     padding: 0;
     list-style: none;
     margin: 0;
}
/* .item-menu{*/
/*     display: flex;*/
/*     flex-direction: row-reverse;*/
/*     align-items: center;*/
/*}*/
 .content-menu .row-menu:nth-child(even) .items-menu{
     justify-content: flex-end;
}
/* .item-menu.open{*/
/*     visibility: visible;*/
/*     opacity: 1;*/
     
/*}*/
/* .item-menu a{*/
/*     color: #ffffff;*/
/*     font-family: "Barlow", sans-serif;*/
/*     letter-spacing: 2px;*/
/*     transform: skewY(-5deg);*/
/*     transform-origin: 0;*/
/*     margin: 0;*/
/*     position: relative;*/
/*     font-size: 3.7rem;*/
/*     font-weight: 200;*/
/*     transition: 0.3s;*/
/*     text-transform: uppercase;*/
/*     overflow:hidden;*/
/*     padding: 0 1rem;*/
/*}*/
/* .item-menu a:before {*/
/*     content: '';*/
/*     width: 100%;*/
/*     position: absolute;*/
/*     left: 0;*/
/*     bottom: 0;*/
/*     height: 100%;*/
/*     background: #141414;*/
/*     transition: 0.3s;*/
/*     z-index: 2;*/
/*}*/
/* .item-menu a::after {*/
/*     content: attr(data-text);*/
/*     height: 100%;*/
/*     top: 0;*/
/*     font-size: 4rem;*/
/*     font-family: "Barlow", sans-serif;*/
/*     transform-origin: 100% 50%;*/
/*     transform: translate3d(150%, 0, 0);*/
/*     transition: transform 0.3s cubic-bezier(0.5, 0.5, 0.3, 1);*/
/*     position: absolute;*/
/*     width: 100%;*/
/*     left: 0;*/
/*     font-weight: 500;*/
/*     color: currentColor;*/
/*     line-height: normal;*/
/*     text-align: center;*/
/*     font-style:italic;*/
/*     z-index: 1;*/
/*}*/
/* .item-menu:not(:last-child)::before {*/
/*     content: '';*/
/*     width: 4rem;*/
/*     display: block;*/
/*     height: 1px;*/
/*     margin: 0 0.5rem;*/
/*     background: linear-gradient(to right, #ffffff 50%, #ffffff00 50%);*/
/*     background-size: 200% 100%;*/
/*     background-position: right bottom;*/
/*     transition:0.3s;*/
/*     opacity: 0.5;*/
/*}*/
/* .item-menu.open a{*/
/*     transform:skewY(0deg) */
/*}*/
/* .item-menu a span {*/
/*     display: inline-block;*/
/*     transition: transform 0.3s cubic-bezier(0.5, 0.5, 0.3, 1);*/
/*     opacity: 0.4;*/
/*}*/
/* .item-menu a:hover span{*/
/*     transform:translate3d(-150%, 0, 0);*/
/*}*/
/* .item-menu a:hover::after{*/
/*     transform: translate3d(0, 0, 0);*/
/*}*/

/* .item-menu a.active span{*/
/*     transform:translate3d(-150%, 0, 0);*/
/*}*/
/* .item-menu a.active::after{*/
/*     transform: translate3d(0, 0, 0);*/
/*}*/

/* .item-menu.open a:before{*/
/*     height: 0;*/
/*}*/
/* .item-menu.open:before{*/
/*     background-position: left bottom;*/
/*}*/
 .sub-menu{
     opacity:0;
     visibility: hidden;
     transition: 0.5s;
     position:relative;
     height:0;
     overflow: hidden;
}
 .sub-menu.show{
     opacity:1;
     visibility: visible;
}
 .items-sub {
     display: flex;
     gap: 0;
     padding: 0;
     list-style: none;
     margin: 0;
}


.items-sub:nth-child(even)  {
    justify-content: flex-end;
}

 .item-sub{
     display: flex;
     flex-direction: row-reverse;
     align-items: center;
     height: 2rem;
}
 .item-sub a{
     color: #ffffff;
     font-family: "Barlow", sans-serif;
     letter-spacing: 2px;
     transform: skewY(-5deg);
     transform-origin: 0;
     margin: 0;
     position: relative;
     font-size: 14px;
     font-weight: 200;
     transition: 0.3s;
     text-transform: uppercase;
     overflow:hidden;
     padding: 0 1rem;
}
 .item-sub a:before {
     content: '';
     width: 100%;
     position: absolute;
     left: 0;
     bottom: 0;
     height: 100%;
     background: #141414;
     transition: 0.3s;
     z-index: 2;
}
 .item-sub a::after {
     content: attr(data-text);
     height: 100%;
     top: 0;
     font-size: 16px;
     font-family: "Barlow", sans-serif;
     font-style:italic;
     transform-origin: 100% 50%;
     transform: translate3d(150%, 0, 0);
     transition: transform 0.3s cubic-bezier(0.5, 0.5, 0.3, 1);
     position: absolute;
     width: 100%;
     left: 0;
     font-weight: 500;
     color: currentColor;
     line-height: normal;
     text-align: center;
}
 .item-sub:not(:last-child)::before {
     content: '';
     width: 2rem;
     display: block;
     height: 1px;
     margin: 0;
     background: linear-gradient(to right, #ffffff 50%, #ffffff00 50%);
     background-size: 200% 100%;
     background-position: right bottom;
     transition:0.3s;
     opacity: 0.5;
}
 .item-sub.open a{
     transform:skewY(0deg) 
}
 .item-sub a span {
     display: inline-block;
     transition: transform 0.3s cubic-bezier(0.5, 0.5, 0.3, 1);
     opacity: 0.4;
}
 .item-sub a:hover span{
     transform:translate3d(-150%, 0, 0);
}
 .item-sub a:hover::after{
     transform: translate3d(0, 0, 0);
}
 .item-sub.open a:before{
     height: 0;
}
 .item-sub.open:before{
     background-position: left bottom;
}
 .footer-menu {
     position: absolute;
     width: 100%;
     bottom: 0;
     padding: 1rem 0;
     z-index:8;
}
 .socials-menu{
     display: flex;
     gap: 0;
     padding: 0;
}
 .socials-menu a {
     color: #ffffff;
     font-family: "Barlow", sans-serif;
     letter-spacing: 2px;
     transform: skewY(-5deg);
     transform-origin: 0;
     margin: 0;
     position: relative;
     font-size: 14px;
     font-weight: 200;
     transition: 0.3s;
     overflow: hidden;
     padding: 0 0.5rem;
}
 .socials-menu a.open{
     transform:skewY(0deg) 
}
 .socials-menu a.open:before {
     height: 0;
}
 .socials-menu a:before {
     content: '';
     width: 100%;
     position: absolute;
     left: 0;
     bottom: 0;
     height: 100%;
     background: #141414;
     transition: 0.3s;
}
 .langs-menu{
     display: flex;
     gap: 0;
     padding: 0;
}
 .langs-menu a {
     color: #ffffff;
     font-family: "Barlow", sans-serif;
     letter-spacing: 2px;
     transform: skewY(-5deg);
     transform-origin: 0;
     margin: 0;
     position: relative;
     font-size: 14px;
     font-weight: 200;
     transition: 0.3s;
     overflow: hidden;
     padding: 0 0.5rem;
}
 .langs-menu a.open{
     transform:skewY(0deg) 
}
 .langs-menu a.open:before {
     height: 0;
}
 .langs-menu a:before {
     content: '';
     width: 100%;
     position: absolute;
     left: 0;
     bottom: 0;
     height: 100%;
     background: #141414;
     transition: 0.3s;
}
 .lateral{
     display: flex;
     justify-content: space-between;
}
 .menu {
     width: 100%;
     height: 100%;
     position: fixed;
     top: 0;
     left: 0;
     z-index: 101;
     align-items: center;
     display: none;
}
 .menu.show{
     display: flex;
}
 .content-menu{
}
 .paragraph{
     font-size: 14px;
     text-transform: uppercase;
     color:#fff;
     font-family: "Barlow", sans-serif;
     letter-spacing: 2px;
     margin: 0;
     font-weight: 200;
}
 .sticky-menu{
    position: fixed;
    transition:0.2s;
    z-index: 10;
    width: 100vw;
    display: flex;
    justify-content: center;
    background:transparent;
    transition:all 0.7s cubic-bezier(0.5, 0.5, 0, 1);
}

.page.menu_scroll {
   background: #fff;
   border-radius: 0 0 25px 25px;
   box-shadow: 0 0 10px 10px #bbbbbb1f;
}


.page.menu_scroll .nav-page {
    padding-top: 1rem;
    padding-bottom: 1rem;
}


.page.menu_scroll .logo svg {
    width: 6rem;
    
}

.mix-mode{
    mix-blend-mode: difference;
}

.no-mode{
    mix-blend-mode: normal;
}

 .nav-page {
     display: flex;
     flex-direction: row;
     justify-content: space-between;
     align-content: center;
     align-items: center;
     padding-top: 2rem;
     width: 100%;
     padding-bottom: 2rem;
     transition:0.2s;
}

.logo{
    transition: 0.5s;
}

 .logo img{
     width: 13rem;
}

 .logo svg{
    width: 7rem;
    fill: currentColor;
    stroke-width: 0px;
    transition:0.2s;
}


 .logo.red svg{
    fill: #e30613;
}

 .logo.white svg{
    fill: #fff;
}

/*.menu_scroll .logo.white svg{*/
/*    fill: #e30613;*/
/*}*/


 .burger-menu {
     display:block;
     cursor: pointer;
     position: fixed;
     top: 2rem;
     z-index: 12;
     right: 7.4rem;
    overflow:hidden;
        transition: all 0.7s cubic-bezier(0.5, 0.5, 0, 1), fill 0.7s cubic-bezier(0.5, 0.5, 0, 1), stroke 0.7s cubic-bezier(0.5, 0.5, 0, 1), top 0.2s;
    transform: translate(0%, 0%) rotate(0.001deg);
}


.burger-menu.page.scroll{
    top:0.7rem;
}

.bg_menu{
    display: flex;
     flex-direction: column;
         height: 3.5rem;
     width: 3.5rem;
     background: #fff;
     padding: 1rem;
     border-radius: 2em;
    justify-content: center;
    transition:0.5s;

}


.bg_menu.hide{
    transform:translateY(100%);
}

.logo.hide{
    transform:translateY(100%);
}


.bg_menu .cls-1 {
    fill: none;
    stroke: #e30011;
    stroke-miterlimit: 10;
    stroke-width: 10px;
}

.bg_menu .cls-2 {
    fill: #e30011;
    stroke-width: 0px;
}


.bg_menu.open .cls-1 {
    stroke: #e30613;
    
}

.bg_menu.open .cls-2 {
    fill: #e30613;
}



 .burger-menu .line {
     background: #fff;
     width: 3.5rem;
     height: 2px;
     transition: 0.3s;
}
 .burger-menu .bar_2{
     margin:5.3px 0;
}
 .burger-menu.change .bar_1{
     transform: rotate(45deg) translate(7px, 3px) scaleX(1);
}
 .burger-menu.change .bar_2{
     opacity: 0;
}
 .burger-menu.change .bar_3{
     transform: rotate(-45deg) translate(2px, -2px) scaleX(1);
}
 

.galleries-section{
    width: 100%;
    height: 100%;
    position: fixed;
    top: 0;
    padding-top: 6.5rem;
    padding-bottom: 30px;
    left: 0;
    z-index: 102;
    align-items: center;
    opacity: 0;
    visibility:hidden;
    transition: 0.5s;
}

.galleries-section.show{
    opacity: 1;
    visibility: visible;
}


.sec_scroll{
    position: sticky;
    z-index: 7;
    top: 0;
    height: auto;
    border-radius: 0 0 0 0;
    background: #fff;
    margin-bottom: -1rem;
    transition:0.5s;
    min-height: 100vh;
        overflow-x: clip;
}


.sec_static{
    z-index: 8;
    height: fit-content;
    border-radius: 0 0 25px 25px;
    background-image:url(/media/icolab_background.jpg);
    background-position: 0 75%;
    background-size: 100%;
    padding: 12rem 0 5rem 0;
    background-repeat: repeat;
    overflow: hidden;
    background-color: #fff;
    min-height: 100vh;
}

.sec_scroll.leave{
    border-radius: 0 0 0 0;
}

.sec_scroll.next{
    border-radius: 25px 25px 0 0;
}


.last_section {
    z-index: 7;
    border-bottom-left-radius: 25px;
    border-bottom-right-radius: 25px;
    /*top:-10rem;*/
}


.slide_image{background-position: 0 75%;background-size: cover;display: flex;align-items: center;padding: 0;}

.sec_1{
    height:100vh;

}



.sec_2{
    height:100vh;

}

.sec_3{
    height:100vh;

}












.slides {
    position: relative;
    width: 100%;
    height: 100vh;
    overflow: hidden;
    display: grid;
    grid-template-rows: 100%;
    grid-template-columns: 100%;
    place-items: center;
    z-index: 10;
    align-items: center;
}


.swiper {

    height: 100%;
}


.swiper-slide {
    text-align: center;
    font-size: 18px;
    /*background: #fff;*/
    display: flex;
    justify-content: center;
    align-items: center;
    display: block;
}

.swiper-slide img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: bottom;
}


.swiper-slide.big {
  width: 66%;
}

.swiper-slide.tall {
    width: 33%;
}

/*.swiper-slide:nth-child(3n) {*/
/*    width: 40%;*/
/*}*/

.slide {
	width: 100%;
	height: 100%;
	grid-area: 1 / 1 / -1 / -1;
	pointer-events: none;
	opacity: 0;
	overflow: hidden;
	position: relative;
	display: grid;
	place-items: center;
	will-change: transform, opacity;
}

.slide--current {
	pointer-events: auto;
	opacity: 1;
}

.slide__img {
	width: 100%;
	height: 100%;
	background-size: cover;
	background-position: bottom;
	background-repeat: no-repeat;
	will-change: transform, opacity, filter;
}


.slide__img.gallery {
	background-size: contain;
}


.navigations-slider{
    bottom: 4.8rem;
    position: absolute;
    width: fit-content;
    left: 7.5rem;
    z-index: 100;
}

.divider-navigation{
    position: absolute;
    width:100%;
    left:0;
    z-index: 100;
    height: 100%;
    display: grid;
    grid-template-columns: 50% 50%;
}


.divider-gallery-navigation{
    position: absolute;
    width:100%;
    left:0;
    z-index: 100;
    top: 0;
    height: 100%;
    display: grid;
    gap:10rem;
    grid-template-columns: auto auto;
}

.navigations-slider .container{
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
}

.arrows-slider {
    display: flex;
    z-index: 101;
    gap: 0;
    flex-direction: row-reverse;
    
}




.arrows-slider span svg {
    stroke: #fff;
    height: 10rem;
    
}

.my-cursor.nav__slider{

    border: 1.7rem solid #fff;
    border-top: 0.6rem solid #fff;
    border-bottom: 0.6rem solid #fff;
}


.my-cursor.nav__arrow{

    background:#fff;
}




.navigation-slider{
   display: flex;
   z-index: 101;
   gap: 1rem;
}

.nav-slider{
    height: 1rem;
    width: 1rem;
    border-radius:50%;
    background:transparent;
    border: 0.6px solid #fff;
    border-top: 2.5px solid #fff;
    border-bottom: 2.5px solid #fff;
    transition:0.3s;
}

.nav-slider:not(:first-child){
}

.nav-slider.active{
   background: #fff;
}

.text-slides{
    position: absolute;
    width: 100%;
    z-index: 100;
    display: flex;
    height: 55vh;
    overflow: hidden;
    align-content: flex-start;
    bottom: 10.5rem;
}


.text-slides .container{
   display: flex;
   flex-direction: row;
   justify-content: space-between;
   align-items: flex-start;
}


.block-text-slide {
    transition: 0.7s;
    position: absolute;
    opacity: 0;
    visibility: hidden;
    top: 0;
    width: 57vw;
    transform: translateY(520px) skew(-20deg);
}

.block-text-slide.active {
    transform: translateY(70px) skew(0);
    visibility: visible;
    opacity: 1;
}

.block-text-slide .title-slide {
    font-family: "Barlow", sans-serif;
    font-size: 4.8rem;
    line-height: 4rem;
    color: #fff;
    text-transform:uppercase;
    margin: 0;
}

.block-text-slide .title-slide span{
    font-family: "Barlow", sans-serif;
    font-style:italic;
    font-size: 5.5rem;
    line-height: 5rem;
}

.products-slide{
    height: fit-content;
    position: absolute;
    right: 2.7rem;
    top: 0;
    opacity:0;
    visibility:hidden;
    width: 10vw;
    transition:0.5s;
}

.products-slide.active{
    opacity:1;
    visibility:visible;
}


.lateral-product{
    content: attr(data-text);
    font-family: "Barlow", sans-serif;
    text-transform: uppercase;
    color: #fff;
    font-weight: 100;
    left: -8rem;
    top: 0;
    letter-spacing: 2px;
    position: absolute;
    transform: rotateZ(-90deg) translate(-85px, 0);
    width: max-content;
    font-size: 12px;
}

.lateral-product span{
    font-weight: 400;
}

.product-slide{
    display:flex;
    gap: 0.3rem;
    margin-bottom: 1.5rem;
    flex-direction:column;
}

.product-slide p{
    margin:0;
    font-family: "Barlow", sans-serif;
    text-transform: uppercase;
    color: #fff;
    font-size: 12px;
    line-height: normal;
    letter-spacing: 1px;
    font-weight: 100;
}

.product-slide .category-slide{
    font-weight:400;
}

/*.product-slide .name-product-slide{*/
/*    font-weight:400;*/
/*}*/


.pulse {
    box-shadow: 0px 0px 1px 1px #0000001a;
  animation: pulse-animation 2s infinite;
}

@keyframes pulse-animation {
  0% {
    box-shadow: 0 0 0 0px rgba(0, 0, 0, 0.2);
  }
  100% {
    box-shadow: 0 0 0 20px rgba(0, 0, 0, 0);
  }
}




footer {
  /* place on the bottom */
  position: sticky;
  top: 0;
  left: 0;
  width: 100%;
  background: #e30613;
  padding: 2rem 0 1rem 0;
  border-radius: 25px 25px 0 0;
  z-index: 7;
}

footer.show {
  /* z-index: 7; */
}


footer.page {
    transform: translateY(100%);
    position: fixed;
    bottom: 0;
    transition: 0.5s;
    z-index: 10;
    top: auto;
}

footer.page.show{
    transform: translateY(1px);
}

.scroll-menu{
    position:fixed;
    z-index: 100;
    top:0;
    height:0;
    transition:0.2s;
    left:0;
    width:100vw;
    background: #141414;
}




 .white-menu {
    background-color:#fff;
}
 


.newsletter{
    display: grid;
    grid-template-columns: auto 10rem;
    gap: 3rem;
    align-items: center;
}

.row-footer-input{
    width: 100%;
}

.footer-input{
    width: 100%;
    background: transparent;
    border: 0;
    border-bottom: 1px solid #ffffff24;
    text-align: right;
    padding: 0.5rem;
    font-family: "Barlow", sans-serif;
    letter-spacing: 2px;
    font-size: 2rem;
    font-weight: 100;
    z-index: 9;
    color: #fff;
    position: relative;
}


.footer-input::placeholder{
    text-transform:uppercase;
}

.button-newsletter{
    background: transparent;
    border: 0;
}

.button-newsletter{
    background: transparent;
    border: 0;
    padding: 0;
}

.button-newsletter svg {
    stroke: #fff;
    width: 100%;
}


.float-label{
    position: relative;
}

.float-label label{
    position: absolute;
    top: 0.3rem;
    font-size: 2.3rem;
    text-transform: uppercase;
    line-height: normal;
    letter-spacing: 2px;
    font-family: "Barlow", sans-serif;
    font-style:italic;
    font-weight: 500;
    color: #fff;
    z-index: 8;
    left: 0.5rem;
}



.choice-sel {
   display: flex;
   flex-direction: row;
   align-items: center;
   margin-top: 0.5rem;
   gap: 1rem;
   width: 100%;
   margin-bottom: 2rem;
}


.checkbox-c[type=checkbox] {
   appearance: none;
   height: 1.5rem;
   transition: 0.2s;
   width: 1.5rem;
   border-radius: 5px;
   background: #ffffff;
   box-shadow: 0 0 10px 10px #bbbbbb1f;
   cursor: pointer;
}

.checkbox-c:checked[type=checkbox] {
   background-size: 15px 15px;
   background-position: center;
   background-image: url(/media/icon_check_red.svg);
   background-repeat: no-repeat;
}

.label-check {
   font-family: "Barlow", sans-serif;
   color: #000;
   letter-spacing: 1px;
   font-size: 18px;
   font-weight: 300;
   transition: 0.2s;
   line-height: 18px;
}

.label-check.check {
   opacity: 1;
}


.container.b-footer{
    bottom: 0;
    display:flex;
    justify-content: space-between;
    position: relative;
    z-index: 1;
}

.copyright > p, .privacy-links > p{
   font-family: "Barlow", sans-serif;
   color: #ffffff;
   letter-spacing: 1px;
   font-size: 11px;
   text-transform: uppercase;
   font-weight: 100;
   margin:0;
}

.copyright > p a, .privacy-links > p a {
     text-decoration:underline;
     transition:0.2s;
     color: #ffffff9e;
}

.copyright > p a:hover, .privacy-links > p a:hover {
    color: #fff;
}

.middle-footer{
    margin-bottom: 1rem;
    z-index: 1;
    position: relative;
}

footer:after{
    content: '';
    position:absolute;
    width: 100%;
    height: 100%;
    background-image: url('/media/logo_stroke.svg');
    background-size: 100%;
    background-repeat: no-repeat;
    opacity: 0.1;
    bottom: 0;
    background-position: bottom;
    z-index: 0;
}

.links-footer{
    text-align:center;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
}

.links-footer:not(:last-child){
    margin-bottom: 0.5rem;
}




.item-link-footer{
    position:relative;
    font-family: "Barlow", sans-serif;
    color: #fff;
    letter-spacing: 1px;
    font-size: 14px;
    font-weight: 100;
    margin:0;
    display: flex;
    flex-direction: row;
    align-items: center;
}

.links-footer .item-link-footer:not(:last-child):after{
    position: relative;
    content:'';
    width: 1.5rem;
    height: 1px;
    background: #fff;
    display: block;
    margin: 0 1rem;
    opacity: 0.5;
}




.h1-c {
    font-family: "Barlow", sans-serif;
    font-size: 5rem;
    line-height: 5rem;
    color: #000;
    letter-spacing: 0;
    font-weight: 300;
    margin: 0 0 3rem 0;
}

.h1-c.v_min{
    font-size: 4rem;
    line-height: 4rem;
}

.h2-c {
    font-family: "Barlow", sans-serif;
    font-size: 4rem;
    line-height: 4rem;
    color: #000;
    letter-spacing: 0;
    font-weight: 500;
    margin: 0 0 3rem 0;
}


.h1-c span{
    
    font-weight: 500;
}
.h2-c span{
    
    font-weight: 500;
}



.h2-c.white{
    color: #fff;
}

.content-p.white{
    color: #fff;
}

.h3-c {
    font-family: "Barlow", sans-serif;
    font-style:italic;
    font-size: 3.5rem;
    line-height: 4rem;
    color: #141414;
    text-transform:uppercase;
    letter-spacing: 1px;
    margin-bottom: 1rem;
}



/*.h2-c span::before {*/
/*     content: '';*/
/*     width: 100%;*/
/*     position: absolute;*/
/*     left: 0;*/
/*     bottom: 0;*/
/*     height: 100%;*/
/*     background: #ffffff;*/
/*     transition: 0.3s;*/
/*     z-index: 0.8s;*/
/*     transition-delay:1s;*/
/*}*/


/*.h2-c span.open::before {*/
/*     height:0;*/
/*}*/


.img-100{
    width:100%;
}

.m-b-3{
    margin-bottom:3rem;
}

.m-b-4{
    margin-bottom:4rem;
}

.m-b-5{
    margin-bottom:5rem;
}

.m-t-1 {
    margin-top: 1rem;
}

.m-t-3{
    margin-top:3rem;
}

.m-t-4 {
    margin-top: 4rem;
}

.m-t-5{
    margin-top:5rem;
}


.m-t-10{
    margin-top:10rem;
}


.p-t-15{
    padding-top:15rem;
}

.p-content p{
    font-family: "Barlow", sans-serif;
    color: #141414;
    letter-spacing: 0.5px;
    font-weight:100;
    font-size: 18px;
}

.content-p{
    font-family: "Barlow", sans-serif;
    color: #000;
    letter-spacing: 0;
    font-weight: 300;
    font-size: 20px;
}


.list-links{
    display: flex;
    flex-direction: column;
    gap: 0;
}

.item-list-links {
    display: flex;
    flex-direction: row;
    align-items: center;
    padding: 1.2rem 0;
    width: 100%;
    overflow: hidden;
    border: 0;
    position: relative;
    justify-content: space-between;
}


.item-list-links:first-child {
    padding-top:0;
}

.item-list-links .text-link{
     color: #141414;
     font-family: "Barlow", sans-serif;
     letter-spacing: 2px;
     transform: skewY(-5deg);
     transform-origin: 0;
     margin: 0;
     position: relative;
     font-size: 1.8rem;
     font-weight: 200;
     transition: 0.3s;
     text-transform: uppercase;
     overflow:hidden;
     padding: 0;
     line-height: 2rem;
     padding: 0 4rem 0 0;
}
.item-list-links::before {
     content: '';
     width: 100%;
     position: absolute;
     left: 0;
     bottom: 0;
     height: 100%;
     background: #ffffff;
     transition: 0.3s;
     z-index: 1;
}
.item-list-links .text-link::after {
     content: attr(data-text);
     height: 100%;
     top: 0;
     font-size: 2rem;
     font-family: "Barlow", sans-serif;
     font-style:italic;
     transform-origin: 100% 50%;
     transform: translate3d(150%, 0, 0);
     transition: transform 0.3s cubic-bezier(0.5, 0.5, 0.3, 1);
     position: absolute;
     width: 100%;
     left: 0;
     font-weight: 500;
     color: currentColor;
     line-height: 2rem;
}


.item-list-links.open {
border-bottom: 1px solid #1414143b;
}
.item-list-links.open .text-link{
     transform:skewY(0deg) 
}
.item-list-links .text-link span {
     display: inline-block;
     transition: transform 0.3s cubic-bezier(0.5, 0.5, 0.3, 1);
}
.item-list-links:hover .text-link span{
     transform:translate3d(-150%, 0, 0);
}
.item-list-links:hover .text-link::after{
     transform: translate3d(2rem, 0, 0);
}
.item-list-links.open:before{
     height: 0;
}
 
 
.arrow-link{
    height: 100%;
    width: 3rem;
    transition:0.2s;
    transform: translate3d(150%, 0, 0);
}

.arrow-link svg{
    
}


.item-list-links:hover .arrow-link{
    transform: translate3d(0%, 0, 0);
}


.mansory-grid-image{
    padding: 0;
    display: grid;
    grid-gap: 1rem;
    grid-template-columns: repeat(auto-fit, minmax(195px, 1fr));
    grid-auto-rows: 197.34px;
    grid-auto-flow: dense;
}

.mansory-grid-image .small {
	grid-row: span 2;
	grid-column: span 1;
}
.mansory-grid-image .tall {
	grid-row: span 2;
	grid-column: span 2;
}
.mansory-grid-image .big {
	grid-column: span 4;
	grid-row: span 2;
}

.mansory-grid-image img{
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: bottom;
}


/*@-webkit-keyframes rotatingX  {
/*  from {*/
/*    -webkit-transform: rotateX(0deg);*/
/*    -o-transform: rotateX(0deg);*/
/*    transform: rotateX(0deg);*/
/*  }*/
/*  to {*/
/*    -webkit-transform: rotateX(360deg);*/
/*    -o-transform: rotateX(360deg);*/
/*    transform: rotateX(360deg);*/
/*  }*/
/*}*/

/*@keyframes rotatingX {*/
/*  from {*/
/*    -ms-transform: rotateX(0deg);*/
/*    -moz-transform: rotateX(0deg);*/
/*    -webkit-transform: rotateX(0deg);*/
/*    -o-transform: rotateX(0deg);*/
/*    transform: rotateX(0deg);*/
/*  }*/
/*  to {*/
/*    -ms-transform: rotateX(360deg);*/
/*    -moz-transform: rotateX(360deg);*/
/*    -webkit-transform: rotateX(360deg);*/
/*    -o-transform: rotateX(360deg);*/
/*    transform: rotateX(360deg);*/
/*  }*/
/*}*/




.buttons-flex{
    display: grid;
    gap: 5rem;
    grid-template-columns: auto auto;
}



.full-arrow-link{
    display: flex;
    align-items: center;
    gap: 1rem;
    transition:0.2s;
    opacity: 0.5;
    justify-content: space-between;
}

.full-arrow-link:hover{
    
    opacity: 1;
}


.full-arrow-link div {
    color: #141414;
    font-family: "Barlow", sans-serif;
    letter-spacing: 2px;
    transform-origin: 0;
    margin: 0;
    position: relative;
    font-size: 1.8rem;
    text-transform: uppercase;
    font-weight: 200;
}


.full-arrow-link div span{
    font-family: "Barlow", sans-serif;
    font-style:italic;
    font-weight: 500;
    font-size: 2rem;
}

.full-arrow-link .arrow-full-link{
    height: 5rem;
    width:5rem;
    display:none;
}
.full-arrow-link .arrow-full-link svg{
    stroke: #141414;
}

.full-image{
    /* width:100%; */
    /* height:100%; */
}


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


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

.image-full {
    margin: 5rem 0 10rem 0;
}

.image-full img{
    width:100vw;
}


.row.center{
    align-items: center;
}



.grid-color{
    position:absolute;
    top:0;
    left:0;
    height:100%;
    width:100%;
    grid-template-columns: 45% 55%;
    display: grid;
    z-index: -1;
}

.overlay-col {
    background-color: #141414b0;
}

.column-c{
    background-color: #00000020;
}

.vh-100{
    height:100vh;
}


.addresses{
    display:flex;
    margin-top: 3rem;
    gap:2rem;
    flex-direction: column;
}

.item-address{
}




.item-address p{
    margin:0;
    color: #fff;
    font-family: "Barlow", sans-serif;
    font-size: 18px;
    font-weight: 200;
    line-height: 22px;
    letter-spacing: 1px;
}

.item-address a{
    margin:0;
    color: #fff;
    font-family: "Barlow", sans-serif;
    font-size: 18px;
    font-weight: 400;
}

p.f-400{
   font-weight: 400; 
}

.t-address{
    font-size: 16px !important;
    text-transform:uppercase;
    font-weight: 200 !important;
    letter-spacing: 1px;
}

.input-c {
    background: #fff;
    border: 0;
    border-bottom: 1px solid #ffffff52;
    padding: 1rem;
    font-family: "Barlow", sans-serif;
    letter-spacing: 0;
    font-size: 16px;
    font-weight: 300;
    line-height: 20px;
    color: #000;
    text-transform: uppercase;
    position: relative;
    width: 100%;
    margin-bottom: 1.5rem;
    border-radius: 10px;
    box-shadow: 0 0 10px 10px #bbbbbb1f;
}

select.input-c{
    background-image:url(/media/apri.svg);
    background-size: 1.2rem;
    background-repeat: no-repeat;
    -moz-appearance: none; /* Firefox */
    -webkit-appearance:none; /* Safari and Chrome */
    appearance:none;
    cursor: pointer;
    background-position-x: 96%;
    background-position-y: 50%;
}

.input-c::placeholder{
    text-transform:uppercase;
    
    color: #00000052;
}


.input-with-error{
    position:relative;
    
}

.input-with-error.show-error .error{
    opacity:1;
    visibility:visible;
    -webkit-animation-duration: 0.5s;
     animation-duration: 0.5s;
     -webkit-animation-fill-mode: both;
     animation-fill-mode: both;
     -webkit-animation-name: pulse;
     animation-name: pulse;
     -webkit-animation-timing-function: ease-in-out;
     animation-timing-function: ease-in-out;
}

.input-with-error .error{
    position:absolute;
    padding: 0.3rem 0.8rem;
    text-align: center;
    width: fit-content;
    color: #fff;
    font-family: "Barlow", sans-serif;
    letter-spacing: 0;
    display: block;
    font-size: 15px;
    font-weight: 400;
    bottom: 10px;
    background: #e30613;
    right: 10px;
    line-height: normal;
    z-index: 1;
    border-radius: 5px;
    display: flex;
    gap: 0.5rem;
    align-items: center;
    box-shadow: 0 0 10px 10px #bbbbbb1f;
    opacity:0;
    visibility:hidden;
}


.input-with-error .error svg{
}

.input-with-error .error:before{
    content:'';
    width: 0;
    height: 0;
    border-left: 7px solid transparent;
    border-right: 7px solid transparent;
    border-bottom: 7px solid #e30613;
    position:absolute;
    top: -6px;
    left:calc(50% - 5px);
}







.message-contact{
    position: absolute;
    padding: 0.3rem 0.8rem;
    text-align: center;
    width: fit-content;
    color: #e30613;
    font-family: "Barlow", sans-serif;
    letter-spacing: 0;
    font-size: 15px;
    font-weight: 600;
    bottom: 0;
    background: #ffffff;
    right: 1rem;
    line-height: normal;
    z-index: 9;
    border-radius: 5px;
    display: flex;
    gap: 0.5rem;
    align-items: center;
    box-shadow: 0 0 20px #00000052;
    opacity:0;
    visibility:hidden;
}


.message-contact.show-message{
    opacity:1;
    visibility:visible;
    -webkit-animation-duration: 0.5s;
     animation-duration: 0.5s;
     -webkit-animation-fill-mode: both;
     animation-fill-mode: both;
     -webkit-animation-name: pulse;
     animation-name: pulse;
     -webkit-animation-timing-function: ease-in-out;
     animation-timing-function: ease-in-out;
}

.message-contact.close-message{
    -webkit-animation-duration: 0.5s;
     animation-duration: 0.5s;
     -webkit-animation-fill-mode: both;
     animation-fill-mode: both;
     -webkit-animation-name: rightExit;
     animation-name: rightExit;
     -webkit-animation-timing-function: ease-in-out;
     animation-timing-function: ease-in-out;
}



.inputs-form{
    display:flex;
    flex-direction: column;
    gap: 1rem;
}

.title-form{
    font-family: "Barlow", sans-serif;
    font-size: 1.8rem;
    color: #898989;
    text-transform:uppercase;
    font-weight:100;
    margin-bottom: 2rem;
    line-height: normal;
    position:relative;
    line-height: 1.8rem;
    letter-spacing: 2px;
}

.title-form span{
    font-family: "Barlow", sans-serif;
    font-style:italic;
    font-weight: 500;
    font-size: 2rem;
    color: #fff;
    letter-spacing: 2px;
    line-height: 2rem;
}

.uppercase{
    text-transform:uppercase;
}

.checkbox-c.small{
    height: 1rem;
    width: 1rem;
}

.send-button{
    font-family: "Barlow", sans-serif;
    background: transparent;
    border: 0;
    padding: 0;
    color:#fff;
    font-size: 1.8rem;
    display: block;
    font-weight: 100;
    text-transform: uppercase;
    text-align: left;
    margin-top: 2rem;
}

.send-button span{
    font-family: "Barlow", sans-serif;
    font-style:italic;
    font-size: 2rem;
    font-weight: 500;
}


.send-button svg {
    width: 6rem;
    height: 5rem;
    stroke: currentColor;
    display: none;
}




 .control-gallery{
    position: fixed;
    transition:0.2s;
    z-index: 103;
    width: 100vw;
    top: 0;
    display: flex;
    justify-content: center;
    opacity:0;
    visibility:hidden;
    transition: 0.5s;
}

.control-gallery.show{
     opacity:1;
    visibility:visible;
}

 .control-gallery .container {
     display: flex;
     flex-direction: row;
     justify-content: center;
     align-content: center;
     align-items: center;
     padding-top: 2rem;
     width: 100%;
     padding-bottom: 2rem;
}

 .close-gallery{
     display: flex;
     flex-direction: column;
     gap: 0.5rem;
     height: 2.5rem;
     justify-content: center;
}
 .close-gallery .line {
     background: #fff;
     width: 3.5rem;
     height: 2px;
     transition: 0.3s;
}

 .close-gallery .bar_1{
     transform: rotate(45deg) translate(7px, 3px) scaleX(1);
}

 .close-gallery  .bar_3{
     transform: rotate(-45deg) translate(2px, -2px) scaleX(1);
}

.error-page{
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    display: flex;
    align-items: center;
}


.content-error-page{
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-items: start;
    height: 100%;
}

.go-back{
    transform: rotate(-180deg);
    width: 20rem;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}


.go-back svg{
    stroke: #fff;
    height: 5rem;
    display: none;
}

.title-form:after{
    content:'';
    position: absolute;
    top: 0.9rem;
    right: 0;
    width: 3.5rem;
    display: block;
    height: 1px;
    margin: 0 0.5rem;
    opacity: 0.5;
    background: #ffffff;
}

.label-check a{
    text-decoration: underline;
    color: currentColor;
}

.mega-cursor{
    width:2000vw !important;
    height:2000vh !important;
}

.sec-page-effect{
    transform:translateY(300px);
    transition:0.5s;
}

.sec-page-effect.show{
    transform:translateY(0px);
}



 @-webkit-keyframes pulse {
     0% {
         -webkit-transform: scaleX(1);
         transform: scaleX(1)
     }
     50% {
         -webkit-transform: scale3d(1.05, 1.05, 1.05);
         transform: scale3d(1.05, 1.05, 1.05)
     }
     to {
         -webkit-transform: scaleX(1);
         transform: scaleX(1)
     }
 }

 @keyframes pulse {
     0% {
         -webkit-transform: scaleX(1);
         transform: scaleX(1)
     }
     50% {
         -webkit-transform: scale3d(1.05, 1.05, 1.05);
         transform: scale3d(1.05, 1.05, 1.05)
     }
     to {
         -webkit-transform: scaleX(1);
         transform: scaleX(1)
     }
 }






 @-webkit-keyframes rightExit {
     0% {
         -webkit-transform: translateX(0%);
         transform: translateX(0%)
     }
     100% {
         -webkit-transform: translateX(120%);
         transform: translateX(120%)
     }

 }

 @keyframes rightExit {
     0% {
         -webkit-transform: translateX(0%);
         transform: translateX(0%)
     }
     100% {
         -webkit-transform: translateX(120%);
         transform: translateX(120%)
     }
    
 }





 .my_animate__pulse {
     -webkit-animation-duration: 0.5s;
     animation-duration: 0.5s;
     -webkit-animation-fill-mode: both;
     animation-fill-mode: both;
     -webkit-animation-name: pulse;
     animation-name: pulse;
     -webkit-animation-timing-function: ease-in-out;
     animation-timing-function: ease-in-out;
 }
 
.nav-mobile {
    position: absolute;
    bottom: 2rem;
    right: 12px;
    z-index: 100;
    display: none;
}
 
 .arrow-nav-mobile svg{
     width: 5rem;
     height: 5rem;
     stroke: #fff;
 }
 

 
 
 .navs-galleries{
     
 }
 
 .nav_gallery_arrow_left svg, .nav_gallery_arrow_right svg{
    
stroke: #fff;
    padding: 5px;
    width: 5rem;
 }
 
 
 .nav_gallery_arrow_left svg{
     transform:rotate(-180deg);
 }
 
 .crazy-load div{
     position:relative;
    /*overflow:hidden;*/
        filter: blur(6px);
            transition: 0.3s;
    transition-delay: 0.3s;
 }
 
  .crazy-load div.hide-load{
    
        filter: blur(0px);
    
 }
 
/*.crazy-load div::before {*/s
/*    content: '';*/
/*    width: 100%;*/
/*    height: 100%;*/
/*    position: absolute;*/
/*    top: 0;*/
/*    left: 0;*/
/*    background: #fff;*/
/*    transform: translateY(0%);*/
/*    transition: 0.3s;*/
/*    transition-delay: 0.3s;*/
/*}*/

/*.crazy-load div.hide-load::before{*/
/*    transform: translateY(+120%);*/
/*}*/
 

.scroll_top {
    position: absolute;
    width: 100%;
    height: 10rem;
    bottom:0;
}

.grid-images{
    display:grid;
    grid-template-columns: auto auto auto;
    align-content: space-between;
}

.item-image{
    
}

.item-image img{
    width: 100%;
}


.p_slide{
     font-family: "Barlow", sans-serif;
     color: #fff;
     letter-spacing: 1px;
     font-size: 22px;
     font-weight: 200;
     text-transform:uppercase;
     text-align: center;
}

.p_slide span{
   
     font-weight: 600;
     
}

.line-menu{
    transition:0.3s;
}

.line-menu.rotate_line {
    transform: rotate(45deg) translate(20%, -50%);
}

.line-menu-2{
    transition:0.3s;
}

.line-menu-2.rotate_line {
    transform: rotate(-45deg) translate(-50%, 20%);
}


.line-close.rotate_line {
    transform: rotate(45deg) translate(20%, -50%);
}

.line-close-2.rotate_line {
    transform: rotate(-45deg) translate(-50%, 20%);
}

.close-gallery {
    background: #fff;
    position: fixed;
    top: 2rem;
    right: 7rem;
    width: 3rem;
    cursor: pointer;
    height: 3rem;
    padding: 0.5rem;
    transition:0.2s;
    z-index: 100;
}

.close-gallery svg{
}


.close-gallery .cls-1 {
    fill: none;
    stroke: #e30011;
    stroke-miterlimit: 10;
    stroke-width: 14px;
    transition:0.2s;
}




.close-gallery:hover {
    background: #e30011;
}

.close-gallery:hover .cls-1 {
    stroke: #fff;
    
}


.modal-nav-mobile {
    position: fixed;
    top: 0rem;
    z-index: 11;
    padding: 2rem;
    right: 5.4rem;
    height:100vh;
    display: flex;
    align-items: flex-start;
    justify-content: flex-end;
    pointer-events: none;
    overflow: hidden;
    transition:0.2s;
}


.modal-nav-mobile.page.scroll{
    top: -1.3rem;
}

.modal-nav-mobile.open-menu {
    pointer-events: all;
    
}

.modal-block{
    border-radius: 1.5em;
    padding: 0.25em 0.75em;
    position: relative;
    border-radius: 1.5em;
}

.modal-block-background{
    background: #fff;
    width: 3.5rem;
    height: 3.5rem;
    border-radius: 2em;
    position: absolute;
    transition: all 0.7s cubic-bezier(0.5, 0.5, 0, 1), background 0.2s ease-in-out, transform 0.7s cubic-bezier(0.5, 0.5, 0, 1) 0s;
    right: 0;
    top: 0;
}

.modal-nav-mobile .ul-mobile {
    position: relative;
    display: flex;
    flex-direction: column;
    transform: translateY(0) scale(0.1) rotate(0.001deg);
    transition: all  0.7s cubic-bezier(0.5, 0.5, 0, 1);
    transform-origin: top right;
    padding: 1.5em 1.7em 1.5em 1.4em;
    opacity: 0;
    margin: 0;
    gap: 0.5rem;
    list-style: none;
}



.open-menu .modal-block-background {
    width: 100%;
    height: 100%;
    box-shadow: 0 0 10px 10px #bbbbbb1f;
}

.open-menu .ul-mobile {
    transform: translateY(0) scale(1) rotate(0.001deg);
    opacity: 1;
}

.modal-nav-mobile .ul-mobile .modal-small-title {
    color: #e30613;
    transform: translateY(0em);
    text-transform: uppercase;
    font-weight: 500;
    font-size: 0.8em;
    opacity: 0.5;
    margin-bottom: 0.75em;
    margin-top: 0.2em;
}

.modal-nav-mobile .ul-mobile a {
    display: block;
}

.ul-mobile li a > span {
    font-family: "Barlow", sans-serif;
    font-weight: 400;
    font-size: 1.5rem;
    color: #e30613;
    transition: all 0.7s cubic-bezier(0.5, 0.5, 0, 1), color 0.2s ease-in-out;
    position: relative;
    display: block;
    padding-right: 1em;
}

.ul-mobile li a > span::before {
    content: "";
    position: absolute;
    right: 0;
    top: 50%;
    transform: translate(calc(50%), -10%) scale(0) rotate(0.001deg);
    width: 0.3em;
    height: 0.3em;
    background-color: #e30613;
    transition: all 0.7s cubic-bezier(0.5, 0.5, 0, 1), transform 0.7s cubic-bezier(0.5, 0.5, 0, 1), background-color 0.2s ease-in-out;
}




.ul-mobile li a.active > span {
    color: #bdbdbd;
}

.ul-mobile li a.active > span::before {
    background-color: #bdbdbd;
    transform: translate(50%, -10%) scale(1) rotate(0.001deg);
}



.ul-mobile:hover li a:hover > span::before {
    transform: translate(50%, -10%) scale(1) rotate(0.001deg);
}

.burger-menu.open{
        transform: translate(-0.9em, 0.9em) rotate(0.001deg);
}

.buttons-col{
    display: flex;
    flex-direction: column;
    align-items: stretch;
    margin-top: 2rem;
    gap: 1rem;
    width: 25rem;
}

.button{
    padding: 1rem;
    font-family: "Barlow", sans-serif;
    font-weight: 400;
    letter-spacing: 1px;
    font-size: 18px;
    text-transform: uppercase;
    border-radius: 2rem;
    text-align: center;
}

.button-red{
    background-color: #e30613;
    color: #fff;
}

.button-white{
    background-color: #ffffff;
    color: #000;
    box-shadow: 0 0 10px 10px #bbbbbb1f;
}


.button-red:hover{
     color: #fff;
}

.button-white:hover{
    color: #000;
}

.img-right {
    position: absolute;
    right: 10vw;
    width: auto;
    bottom:0;
    height: 85vh;
}

.aling-right{
    display: flex;
    justify-content: flex-end;
    align-items: center;
}

.images-puzzle{
    position: relative;
    width: 30rem;
    height: 30rem;
    right: -5px;
}

.img-puzzle{
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    transition: transform 1s 1.5s, opacity 0.5s 1.5s;
    opacity:0;
}

.pos_2{
    transform:rotate(45deg);
}

.pos_3{
    transform:rotate(90deg);
}

.pos_4{
    transform:rotate(135deg);
}

.pos_5{
    transform:rotate(180deg);
}

.pos_6{
    transform:rotate(240deg);
}

.pos_7{
    transform:rotate(300deg);
}



.reset_rotate .img-puzzle{
    transform: rotate(0) !important;
    opacity:1 !important;
}


.links-list{
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    gap: 2rem;
}

.links-list li{
    font-family: "Barlow", sans-serif;
    color: #ffffff;
    letter-spacing: 1px;
    font-size: 16px;
}


.breadcrumb-page{
   margin-bottom:2rem;
}

.breadcrumbs{
   display: -webkit-box;
   display: -ms-flexbox;
   display: flex;
   -webkit-box-align: center;
   -ms-flex-align: center;
   align-items: center;
   -ms-flex-wrap: wrap;
   flex-wrap: wrap;
   list-style: none;
   margin: 0;
   padding: 0;
   /*margin-left: -10px;*/
   line-height: 15px;
}

.breadcrumbs > li > a{
   color: #000000;
   font-family: "Barlow", sans-serif;
   font-size: 14px;
   font-weight: 200;
   letter-spacing: 1px;
   border-radius: 0px 0px 0px 0px;
   padding: 0px 0px 0px 0px;
   text-transform: uppercase;
   text-decoration:none;
}

.breadcrumbs > li:not(:last-child):after{
   content: '|';
   margin:0px 10px;
   color: #0000005c;
   font-family: "Barlow", sans-serif;
   font-size: 12px;
}


.breadcrumbs > li > a.active{
   color: #000;
   font-weight: 500;
}


.breadcrumbs > li.black > a{
   color: #3a3a3a78;
}

.breadcrumbs > li.black:not(:last-child):after{
   color: #3a3a3a78;
}


.breadcrumbs > li.black > a.active{
   color:#3a3a3a;
}

.grid-products{
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 3rem 2rem;
}

.product-grid{
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.box-img-product{
    width: 100%;
    height: 400px;
    overflow: hidden;
    border-radius: 1em;
}

.box-img-product img{
    width: 100%;
    object-fit: cover;
    height: 100%;
    transition: 0.3s ease-in-out;
}


.box-img-product:hover img{
    transform:scale(1.1);
}

.box-img-product.no-zoom:hover img{
    transform:scale(1.0);
}




.button-product {
    color: #e30613;
    background: #fff;
    transition: 0.2s;
    display: block;
}

.button-product:hover {
    color: #fff;
    background: #e30613;
}




.swiper-top-products {
    position: relative;
    overflow: hidden;
    list-style: none;
    z-index: 1;
    margin-right: -14.5rem;
    margin-top: 1rem;
    margin-bottom: 1rem;
}


.swiper-gallery-products{
    position: relative;
    overflow: hidden;
    list-style: none;
    z-index: 1;
    margin-top: 1rem;
    margin-bottom: 1rem;
}


.slide-products {
    transition: 0.5s;
    display: flex;
    gap: 1rem;
    flex-direction: column;
    align-items: stretch;
}


.slide-galleries {
    transition: 0.5s;
    display: flex;
    gap: 1rem;
    flex-direction: column;
    align-items: stretch;
}

.slide-home img {
    width: 100%;
}



.swiper-slide {
    flex-shrink: 0;
    width: 100%;
    height: 100%;
    position: relative;
    background-size: cover;
    padding: 0;
    margin: 1rem 0;
    transition-property: transform;
}

.swiper-button-next, .swiper-button-prev {
    position: absolute;
    top: 50%;
    cursor: pointer !important;
    width: auto;
    height: auto;
    margin-top: calc(0px - (var(--swiper-navigation-size)/ 2));
    z-index: 10;
    cursor: pointer;
    display: flex;
    align-items: center;
    /* border: 3px solid #e30613; */
    justify-content: center;
    background-color: #fff;
    transition:0.5s;
}


.swiper-button-next{
    right: -4.3rem;
    left: auto;
    padding: 0;
}

.swiper-button-prev{
    left: -4.3rem;
    right: auto;
    padding: 0;
}


.swiper-button-next.gallery-product{
    right: 0rem;
    left: auto;
    padding: 0;
}

.swiper-button-prev.gallery-product{
    left: 0rem;
    right: auto;
    padding: 0;
}



.swiper-button-next:after{
   content:'';
}

.swiper-button-prev:after{
   content:'';
}

.swiper-button-next svg, .swiper-button-prev svg {
    height: 3rem;
    width: auto;
    stroke: #e30613;
}

.swiper-button-next:hover, .swiper-button-prev:hover {
    background-color: #e30613;
}

.swiper-button-next:hover svg, .swiper-button-prev:hover svg{
    stroke: #fff;
}

.sub-title{
    margin:0;
    color:#e30613;
    font-family: "Barlow", sans-serif;
    font-size: 22px;
    font-weight: 600;
    text-transform:uppercase;
    letter-spacing: 0;
}

.p-brevetto{
    margin:0;
    color:#000;
    font-family: "Barlow", sans-serif;
    font-size: 16px;
    line-height: 18px;
    font-weight: 200;
    text-transform:uppercase;
    margin-bottom:1rem;
}

.p-brevetto span{
    
    font-weight: 500;
}


.p-brevetto span:not(:last-child)::after{
    content:'/';
    font-weight: 200;
    margin:0 1rem;
}






/*accordion*/

.cms-accordion{
   margin-top:30px;
   gap: 30px;
   display: flex;
   flex-direction: column;
}

.cms-item-accordion{
   padding: 1.5rem;
   background: #fff;
   border-radius: 1em;
   box-shadow: 0 0 10px 10px #bbbbbb1f;
   display: grid;
   gap: 2rem;
   align-items: start;
   grid-template-columns: 3rem auto;
}

.cms-header-accordion{
   line-height: normal;
   cursor: pointer;
   gap: 2rem;
   color: #e30613;
   font-family: "Barlow", sans-serif;
   font-size: 22px;
   letter-spacing: 0;
   padding-bottom: 0.5rem;
   border-bottom: 0;
   padding: 0;
   display: grid;
   align-content: center;
   align-items: center;
   cursor:pointer;
   grid-template-columns: auto auto;
   justify-content: space-between;
   font-weight: 600;
   text-transform: uppercase;
   padding-top: 0.2rem;
}

.change-accordion {
   width: 2.5rem;
   height: 2.5rem;
   padding: 0.5rem;
   display: flex;
   cursor: pointer;
   flex-direction: column;
   justify-content: center;
   /* border: 3px solid; */
}




.change-accordion  > .bar-1{
   width:100%;
   background: #e30613;
   height: 3px;
}

.change-accordion  > .bar-2{
   width:100%;
   background: #e30613;
   height: 3px;
   margin-top: -3px;
   transition: 0.1s;
   transform:rotate(90deg);
}

.change-accordion.open > .bar-2{
   transform: rotate(180deg);
}


.cms-body-accordion{
   color: #000;
   font-family: "Barlow", sans-serif;
   font-size: 18px;
   font-weight: 400;
   padding: 0;
   position: relative;
   overflow-y: hidden;
   overflow-x:hidden;
   transition: 0.35s all;
   padding-top: 1rem;
} 


.cms-body-accordion.hide{
   height: 0!important;
   /* max-height: 0; */
   /*display:block;*/
   /*padding-bottom: 0;*/
   padding-top: 0;
}

.icon-accordion{
    width: 100%;
    height: 3rem;
}

.icon-accordion img{
    height: 100%;
    object-fit: contain;
}

.icon-accordion svg{
    stroke: #e30613;
}

.radius-0{
    border-radius:0;
}

.sec_static.v_2{
    padding-top:5rem;
    z-index: 9;
    min-height:100px;
    padding-bottom: 10rem;
}

.sec_static .h2-c{
    margin: 0 0 1rem 0;
}

.swiper-correlated-products {
    position: relative;
    overflow: hidden;
    list-style: none;
    z-index: 1;
}


.swiper-home{
    position: relative;
    overflow: hidden;
    list-style: none;
    z-index: 1;   
}




.hide{
    visibility:hidden;
    opacity:0;
}


.card-loader{
    position: fixed;
    width: 100vw;
    height: 100vh;
    background: #e30613;
    z-index: 10;
    border-radius: 0;
    display: flex;
    align-content: center;
    justify-content: center;
    align-items: center;
}

.box-loader{
    overflow: hidden;
    display: block;
}

.text-loader{
    font-family: "Barlow", sans-serif;
    color: #fff;
    letter-spacing: 1px;
    font-size: 22px;
    font-weight: 400;
    text-transform: uppercase;
    text-align: center;
    margin: 0;
    transform: translateY(100%);
    transition: 0.5s;
}



.box{
    display: block;
    overflow: hidden;
}

.swiper-button-next.swiper-button-disabled, .swiper-button-prev.swiper-button-disabled {
    opacity: 0;
}



 .mobile{
     display:none;
 }


.btn{
    border:none;
    width: 40%;
}

.btn:hover, .btn:focus{
    background-color: #e30613;
    color: #fff;
}

.red{
    color: #e30613;
}
.link_underline {
    color: currentColor;
    text-decoration: underline;
    font-weight: 600;
}

.link_underline:hover {
    color: currentColor;
}

.grid-contact {
    display: grid;
    grid-template-columns: auto 2px 20%;
    gap: 4rem;
}

.divider-red{
    height: 100%;
    width: 2px;
    background-color: #e3061350;
}


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

.h5-c {
    color: #e30613;
    font-family: "Barlow", sans-serif;
    font-size: 22px;
    letter-spacing: 0;
    line-height: normal;
    font-weight: 600;
    margin-bottom: 0.5rem;
}

.contacts p {
    font-family: "Barlow", sans-serif;
    color: #000;
    letter-spacing: 0;
    font-weight: 300;
    font-size: 20px;
    margin:0;
}

.contacts a {
    font-family: "Barlow", sans-serif;
    color: #000;
    letter-spacing: 0;
    font-weight: 300;
    font-size: 20px;
    display:block;
}


.load-body{
   animation: removeBlur 0.5s ease-in-out;
   overflow-y:hidden;
}





@keyframes removeBlur {
 0% {
   filter: blur(15px);
 }
 50% {
   filter: blur(7px);
 }
 100% {
   filter: blur(0px);
 }
 
}

.p-bottom-10{
    padding-bottom:10rem;
}



.choice-sel.input-with-error .error {
    bottom: -2rem;
    left: -4.4rem;
    right:unset;
}



.card-sel{
    position: absolute;
    width: calc(100% - 4rem);
    background: #fff;
    height: fit-content;
    border-radius: 10px;
    box-shadow: 0 0 10px 10px #bbbbbb1f;
    left: 1rem;
    top: 3rem;
    padding: 1rem;
    display: flex;
    z-index: 9;
    flex-direction: column;
    gap: 0.5rem;
    transform: translateY(15px);
    opacity: 0;
    visibility: hidden;
    transition: 0.2s;
}

.item-option{
    font-family: "Barlow", sans-serif;
    color: #000;
    letter-spacing: 0;
    font-size: 16px;
    font-weight: 300;
    line-height: 20px;
    text-transform: uppercase;
    color: #000;
    cursor: pointer;
    opacity:0.52;
    transition:0.2s;
}


.item-option:hover{
    opacity:1;
}

.fake-input{
    cursor:pointer;
}


.input-with-sel.active .card-sel{
        transform: translateY(0px);
    opacity: 1;
    visibility: visible;
}

.input-with-sel .change-sel{
   width: 2.5rem;
   height: 2.5rem;
   padding: 0.5rem;
   display: flex;
   position: absolute;
   cursor: pointer;
   flex-direction: column;
   justify-content: center;
   right: 0.5rem;
   top: 0.4rem;
}



.change-sel  > .bar-1{
   width:100%;
   background: #e30613;
   height: 3px;
}

.change-sel  > .bar-2{
   width:100%;
   background: #e30613;
   height: 3px;
   margin-top: -3px;
   transition: 0.1s;
   transform:rotate(90deg);
}

.input-with-sel.active .change-sel > .bar-2{
   transform: rotate(180deg);
}

.content-p ul {
    list-style: none;
    padding-left: 1.2rem;
}

.content-p ul > li {
    position: relative;
}

.content-p ul > li::before {
    content: '';
    width: 8px;
    position: absolute;
    height: 8px;
    background: #e30613;
    top: 0.7rem;
    left: -1rem;
    border-radius: 50%;
}

.grid-single-products{
    display: grid;
    grid-template-columns: auto auto auto;
    gap:2rem;
    margin-top: 1rem;
    margin-bottom: 1rem;
}

.grid-single-products.grid_1{
    grid-template-columns: auto auto;

}

.grid-single-products .box-img-product{
    margin:20px 0;
}

.grid_1 .box-img-product{
        height: 600px;
}

.grid-single-products.grid_0{
    grid-template-columns: 50%;
}

.grid_0 .box-img-product{
        height: 600px;
}


.slide-galleries .box-img-product{
        height: 80vh;
}

.slide-galleries .box-img-product img {
    object-position: center;
    object-fit: contain;
}

.card-gallery {
    position: fixed;
    width: 100%;
    height: 100%;
    bottom: 0;
    transform: translateY(100%);
    transition: 0.3s;
    z-index: 99;
    background: #0000008a;
    display: flex;
    align-items: center;
}

.card-gallery.show {
    transform: translateY(0);
}

.content-p a{
    color: #e30613;
}

.content-p a:hover{
    color: #e30613;
}

.grid-cards{
    display:grid;
    gap:2rem;
    grid-template-columns: repeat(2, 1fr);
    margin-top: 2rem;
}

.card-certificate{
    padding: 3rem;
    background: #fff;
    border-radius: 1em;
    box-shadow: 0 0 10px 10px #bbbbbb1f;
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.card-certificate p{
    margin-bottom: 0;
}

.img-cert{
    height: 8rem;
    width: fit-content;
}

.name-cert{
    line-height: normal;
    color: #000;
    font-family: "Barlow", sans-serif;
    font-size: 35px;
    letter-spacing: 0;
    font-weight: 600;
    margin-top: 2rem;
}


.grid-images-text{
    display: flex;
    gap:2rem;
    margin-top: 4rem;
    flex-direction: column;
}

.item-img-text:nth-child(odd){
    display: grid;
    gap: 5rem;
    align-items: center;
    grid-template-columns: 25rem auto;
    grid-auto-flow: dense;
    }
    
.item-img-text:nth-child(even){
    display: grid;
    gap: 5rem;
    align-items: center;
    grid-template-columns: auto 25rem;
    grid-auto-flow: dense;
    }
    
.box-rounded{
        width: 25rem;
        height: 25rem;
        overflow: hidden;
        border-radius: 1em;
}

.box-rounded.full{
        width: 100%;
    height: 100%;
}

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

.box-rounded.full img{
    object-fit: contain;
}

.rounded-image{
    border-radius: 1em;
}

.box-text{
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.box-text p{
    margin: 0;
}


p.thin{
    font-weight:200;
}

.grid-portaabiti {
    display: grid;
    grid-template-columns: 50% auto;
    gap: 3rem;
}