*{
	margin:0;
	padding: 0;
	box-sizing: border-box;
	font-optical-sizing: none;
	font-family: 'Bodoni Moda', serif;
	font-family: "Afacad Flux", serif;
}

body {
    overflow-x: hidden;
    width: 100%;
    display: block;
    background-color: #141414;
}

body::-webkit-scrollbar,
*::-webkit-scrollbar {
    display: none;
}

.load-body{
    animation: removeBlur 0.5s ease-in-out;
}
@keyframes removeBlur {
 0% {
   filter: blur(15px);
 }
 50% {
   filter: blur(7px);
 }
 100% {
   filter: blur(0px);
 }

}

a{
    text-decoration: none;
    color: #000;
}

ul {
    padding-left: 0;
    margin-bottom: 0;
    list-style: none;
}

p {
    margin-top: 0;
    margin-bottom: 0;
}

.scroll-none{
    overflow: hidden;
}

.menu{
    position: fixed;
    width: 100%;
    z-index: 1500;
}

.bgd-nav {
    transition: 0.2s, border-radius 0.3s;
    z-index: 8;
    display: flex;
    width: 100%;
    padding: 0;
    justify-content: space-between;
    align-items: center;
    background-color: #fff;
    padding-left: 2rem;
    padding-right: 0;
    border-radius: 21px;
    align-content: center;
}

.head{
    background-color: transparent;
    position: relative;
    /* z-index: 1000; */
    transition: all 0.3s;
    padding-top: 1rem;
}

.navbar-cont {
    display: flex;
    width: 100%;
    transition: 0.1s;
    justify-content: space-between;
    align-items: center;
    gap: 3rem;
}

.logo {
    width: 14rem;
    transition: all 0.3s;
    position: relative;
    text-align: center;
    display: flex;
    align-items: center;
    /* padding-left: 2rem; */
}

.logo > img {
    height: 100%;
}

.cls-111{
    transition: all 0.3s;
}

.navigation-bar {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    /* border-top: 1px solid #ffffff5e; */
}

span.item-menu {
    cursor: pointer;
}

.item-menu {
    color: var(--default-color);
    text-transform: uppercase;
    font-size: 14px;
    font-weight: 500;
    letter-spacing: 0.5px;
    padding: 1.5rem 2.5rem;
    position: relative;
    transition: all 0.3s;
    border-radius: 20px;
}

.item-menu span {
    transition: all 0.3s;
    position: relative;
    /* z-index: 3; */
    color: #c21b17;
}

.fake-menu {
    display: flex;
    gap: 10px;
    align-items: center;
    transition: all 0.3s;
}

.icon-tab{
    width: 0.7rem;
    height: 0.7rem;
    transition: all 0.3s;
    position: relative;
    display: flex;
    align-items: center;
}
.icon-tab .cls-91 {
    fill: #707070;
    width: 100%;
    height: 100%;
    transition: all 0.3s;
}
.tab-header.active .icon-tab .cls-91 {
    fill: #fff;
}
.tab-header:hover .icon-tab .cls-91 {
    fill: #fff;
}
.tab-header.active .icon-tab{
    transform: rotate(45deg);
}



.icon-dropdown {
    width: 0.7rem;
    height: 0.7rem;
    transition: all 0.3s;
    position: relative;
    display: flex;
    align-items: center;
}

.plus-red-pos{
    transition: all 0.3s;
}

.icon-dropdown-b.active .plus-red-pos{
    transform: rotate(45deg);
}

.icon-dropdown-b.active .plus-red-pos .cls-1996{
    fill: #aa1b17;
}

.icon-dropdown .cls-1 {
    fill: #aa1b17;
    width: 100%;
    height: 100%;
    transition: all 0.3s;
}

.icon-dropdown.active{
    transform: rotate(45deg);
}

.scroll .icon-square {
    border: 1px solid #56575c;
}
.scroll .icon-line {
    background-color: #56575c;
}

.item-menu:hover .icon-dropdown .cls-1 {
    fill: #fff;
    width: 100%;
    height: 100%;
}
.item-menu.active .icon-dropdown .cls-1 {
    fill: #fff;
    width: 100%;
    height: 100%;
}

.scroll .item-menu:last-child:hover{
    border-top-right-radius: 0;
}

.scroll .item-menu:last-child.in-page {
    border-top-right-radius: 0px;
}


.dropdown-menu {
    min-width: 10rem;
    background: #aa1b17;
    display: flex;
    border: none;
    height: 0;
    left: 0;
    width: fit-content;
    top: 4.2rem;
    padding: 0 1rem;
    transition: all 0.2s;
    border-radius: 20px;
    border-top-left-radius: 0;
    opacity: 0;
    visibility: hidden;
    overflow: hidden;
    box-shadow: 0px 20px 20px 5px rgba(0, 0, 0, 0.12);
    z-index: 99;
}

.dropdown-menu.active {
    height: fit-content;
    opacity: 1;
    visibility: visible;
    padding: 1rem 2rem;
}

.dropdown-menu .sub-menu {
    min-width: 11rem;
    position: relative;
    padding: 0;
    border-radius: 0;
    padding-bottom: 1rem;
}
.sub-menu {
    width: 100%;
    height: 100%;
    position: relative;
    overflow-y: scroll;
}

.dropdown-menu .sub-menu .nav-item {
    margin: 0;
    border-bottom: 1px solid #ffffff70;
}




.top-head-container {
    display: flex;
    width: 100%;
    transition: 0.1s;
    justify-content: space-between;
    align-items: center;
}

.top-head-cta{
    display: flex;
    gap: 2rem;
    align-items: center;
}

.top-head-cta a span{
    color: #fff;
    font-size: 14px;
}

.mail-cta,
.tel-cta{
    padding: 0.5rem 0;
}

.mail-cta-content,
.tel-cta-content{
    display: flex;
    gap: 6px;
    align-items: center;
    border-radius: 7px;
    padding: 1px 10px;
    transition: all 0.3s ease;
    border: 1px solid #707070;
}

.tel-cta-content svg,
.mail-cta-content svg{
    width: 0.8rem;
    height: 0.8rem;
}

.tel-cta-content:hover,
.mail-cta-content:hover{
    border: 1px solid #fff;
}

.head-prev-cta span{
    color:#fff;
    text-transform: uppercase;
    font-size: 13px;
    font-weight: 600;
    transition: all 0.3s;
}

.head-prev-cta{
    background-color: #aa1b17;
    padding: 11px 25px;
    border-radius: 10px;
    display: flex;
    justify-content: center;
    align-items: center;
    transition: all 0.3s;
    border: 2px solid #aa1b17;
}

.scroll .head-prev-cta{
    padding: 9px 22px;
}

.scroll .head-prev-cta span{
    font-size: 12px;
}

.item-menu.active .fake-menu{
    color: #fff;
}

.head-prev-cta:hover {
    background-color: #fff;
}

.head-prev-cta:hover span{
    color: #aa1b17;
}

.head.dropdown-open {
    -webkit-box-shadow: 0px 9px 20px 5px rgba(0, 0, 0, 0.1);
    box-shadow: 0px 9px 20px 5px rgba(0, 0, 0, 0.1);
}

.head{
    /* -webkit-box-shadow: 0px 9px 20px 5px rgba(0, 0, 0, 0.1); */
    /* box-shadow: 0px 9px 20px 5px rgba(0, 0, 0, 0.1); */
}

.scroll .head {
    padding-top: 0;
    /* box-shadow: 0px 6px 20px 5px rgba(0, 0, 0, 0.1); */
  }

.scroll .head.no-shadow {
    box-shadow: none;
}

.scroll .bgd-nav{
    border-top-left-radius: 0;
    border-top-right-radius: 0;
}
.bgd-nav{
    box-shadow: 0px 6px 20px 5px rgba(0, 0, 0, 0.1);
}
.logo-gramma {
    width: 2.5rem;
    transition: all 0.3s;
}

.logo-gramma-div {
    width: 14rem;
    transition: all 0.3s;
    display: block;
}

.logo-tipo {
    margin-left: 0.5rem;
    width: 8rem;
    transition: all 0.3s;
}

.logo-tipo-div {
    margin-left: 0.5rem;
    width: 8rem;
    transition: all 0.3s;
    display: block;
}

.scroll .logo-tipo {
    /* width: 0rem; */
    /* transition: all 0.3s; */
}

.scroll .logo-gramma {
    width: 2rem;
    transition: 0.3s;
}

/* .scroll .navbar-cont {
    gap: 0;
} */

.scroll .item-menu {
    padding: 1.5rem 2.2rem;
    transition: all 0.3s;
}

.sub-menu-wrapper {
    min-width: 5rem;
    margin: 0 auto;
    display: flex;
    justify-content: center;
    padding-top: 4rem;
    padding-bottom: 4rem;
    width: max-content;
}

.sub-menu-flex {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10rem;
    width: 100%;
}

.h6-a{
    font-size: 15px;
    font-weight: 500;
}









/* Modifica la sezione delle card */
.cards-section {
    position: relative;
    margin-top: -60px;
    padding-bottom: 5rem;
    background-color: #fff;
}

.cards-wrapper {
    display: flex;
    justify-content: center;
    gap: 25px;
    position: relative;
    z-index: 5;
}

.card {
    flex: 1;
    max-width: 700px;
    display: flex;
    flex-direction: column;
    border: 1px solid #e0e0e0;
    border-radius: 20px;
    overflow: hidden;
    padding: 4rem 5rem;
    background-color: #fff;
    box-shadow: 0 4px 20px 5px rgba(0, 0, 0, 0.1);
    justify-content: center;
    align-content: center;
    align-items: flex-start;
}

.card-title {
    font-size: 47px;
    font-weight: 500;
    margin: 0;
    color: #aa1b17;
    letter-spacing: 0;
}

.card-desc {
    flex-grow: 1;
    margin: 0 0 30px;
    font-size: 18px;
    font-weight: 300;
}

.card-cta {
    text-transform: uppercase;
    display: flex;
    padding: 15px 20px;
    background-color: #fff;
    color: #aa1b17;
    text-decoration: none;
    border-radius: 10px;
    text-align: center;
    transition: all 0.3s;
    border: 2px solid #aa1b17;
    font-size: 14px;
    font-weight: 500;
    align-items: center;
    justify-content: center;
    gap: 1rem;
}

.card:hover .card-cta{
    background-color: #aa1b17;
    color: #fff;
}


.logo-tipo-div {
    transform-origin: left;
    /* transition: all 0.3s; */
}

.logo-tipo {
    transform-origin: left;
    transition: all 0.18s;
}

.scroll .logo-tipo {
    /* transform: scaleX(0); */
    opacity: 0;
    margin-left: 0;
    transform: translateX(-20px);
}


.swiper {
    width: 100%;
    height: 100vh;
}

.swiper-slide {
    FONT-WEIGHT: 500;
    FONT-WEIGHT: 600;
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: center;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    height: 100vh;
    filter: brightness(0.4);
}

.hero-title-container{
    max-width: 77%;
    position: absolute;
    top: 2rem;
    left: 6.8rem;
    display: flex;
    z-index: 3;
    align-items: center;
    height: 100vh;
    justify-content: center;
}


.hero-title {
    position: relative;
    width: 100%;
    height: fit-content;
    display: flex;
    padding-top: 0rem;
}

.hero-inside-container{
    display: flex;
    flex-direction: column;
    gap: 3rem;
}

.hero-inside-container-title{
    padding-right: 0;
}

.hero-inside-container-title h1{
    font-family: 'Bodoni Moda', serif;
    font-size: 90px;
    line-height: 98px;
    font-weight: 400;
    color: #fff;
}

.swiper-nav{
    display: flex;
    gap: 1.5rem;
}

.swiper-button{
    cursor: pointer;
    display: flex;
    border-radius: 15px;
    width: 4rem;
    height: 3rem;
    display: flex;
    justify-content: center;
    align-items: center;
    transition: all 0.3s;
}

.swiper-button-b{
    cursor: pointer;
    display: flex;
    border: 2px solid #70707050;
    border-radius: 10px;
    width: 3rem;
    height: 3rem;
    display: flex;
    justify-content: center;
    align-items: center;
    transition: all 0.3s;
}


.prev-c svg{
    /* transform: rotate(180deg); */
}

.prev-p svg{
    transform: rotate(180deg);
}

.swiper-button svg {
    width: 1.2rem;
    height: 1.2rem;
    fill: #ffffff80;
    transition: all 0.3s;
}
.swiper-button-b svg {
    width: 1rem;
    height: 1rem;
    fill: #70707050;
    transition: all 0.3s;
}

.swiper-button:hover{
    border-color: #fff;
}

.swiper-button:hover svg{
    fill: #fff;
}

.swiper-button-b:hover{
    border-color: #707070;
}

.swiper-button-b:hover svg{
    fill: #707070;
}

.right-buttons-container{
    display: flex;
    flex-direction: column;
    gap: 15px;
    position: fixed;
    right: 0;
    top: 40%;
    z-index: 99;
    transform: translateX(78%);
}

.btn-right{
    background-color: #aa1b17;
    border-top-left-radius: 10px;
    border-bottom-left-radius: 10px;
    box-shadow: -5px 5px 10px rgba(0, 0, 0, 0.2);
    border-right: 0;
    display: flex;
    gap: 15px;
    padding: 1rem 1rem;
    transition: all 0.3s ease;
    align-items: center;
}

.btn-right:hover{
    transform: translateX(-78%);
}

.btn-right span{
    color: #fff;
    text-transform: uppercase;
    font-size: 14px;
    line-height: 14px;
    font-weight: 600;
}

.btn-right svg{
    width: 1.5rem;
    height: 1.5rem;
    fill: #ffffff80;
    transition: all 0.3s;
}

.banner-pvc {
    padding-top: 4rem;
    padding-bottom: 4rem;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    position: relative;
    z-index: 0;
}

.banner-pvc::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.4);
    z-index: 1;
}

.banner-content{
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.banner-title {
    position: relative;
    z-index: 2;
    padding-bottom: 20px;
    display: flex;
    flex-direction: column;
    gap: 0;
}

.banner-content{
    position: relative;
    z-index: 2;
}

.banner-title h2 span{
    font-size: 50px;
    line-height: 54px;
    font-weight: 300;
    color: #fff;
}

.banner-title h2 {
    font-size: 50px;
    line-height: 54px;
    font-weight: 500;
    color: #fff;
    margin: 0;
}

.banner-title h3 {
    font-size: 50px;
    line-height: 54px;
    font-weight: 300;
    color: #fff;
}

.banner-title h6 {
    font-size: 16px;
    line-height: 16px;
    font-weight: 400;
    color: #707070;
    text-transform: uppercase;
}

.banner-desc *{
    font-size: 18px;
    line-height: 24px;
    font-weight: 100;
    color: #fff;
}

.banner-desc p{
    margin-bottom: 1rem;
}

.banner-ul ul {
    margin-bottom: 2rem;
    padding-left: 0;
}

.banner-ul ul li {
    position: relative;
    padding-left: 28px;
    margin-bottom: 4px;
}

.banner-ul ul li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 6px;
    width: 14px;
    height: 14px;
    background-image: url("/assets/frontend/img/svg/piu-3.svg");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}

.banner-cta{
    background-color: #c21b17;
    padding: 20px 3.5rem;
    border-radius: 15px;
    display: flex;
    justify-content: center;
    align-items: center;
    transition: all 0.3s;
    border: 2px solid #c21b17;
    gap: 1rem;
}

.top-head-cta{
    display: flex;
    gap: 1rem;
    align-items: center;
}

.top-head-cta a span{
    color: #fff;
    font-size: 13px;
}

.banner-btn{
    display: flex;
    justify-content: flex-start;
    align-items: center;
}

.banner-cta svg{
    width: 1rem;
    height: 1rem;
}

.banner-cta span{
    color: #fff;
    text-transform: uppercase;
    font-size: 16px;
    font-weight: 500;
    transition: all 0.3s;
    letter-spacing: 1px;
}

.banner-cta:hover {
    background-color: #fff;
}

.banner-cta:hover .cls-3 {
    stroke: #aa1b17;
}

.banner-cta:hover span{
    color: #aa1b17;
}

.banner-cta:hover .cls-91 {
    stroke: #aa1b17;
}

.banner-products{
    padding-top: 4rem;
    padding-bottom: 4rem;
    position: relative;
}

.banner-title.black h2,
.banner-title.black h3{
    color: #707070;
}





.product.swiper-slide {
    FONT-WEIGHT: inherit;
    FONT-WEIGHT: inherit;
    text-align: inherit;
    /* display: inherit; */
    /* justify-content: inherit; */
    align-items: inherit;
    background-position: inherit;
    background-repeat: no-repeat;
    background-size: inherit;
    height: auto;
    filter: brightness(1);
    padding: 15px;
    transition: all 0.3s ease;
    margin-bottom: 1rem;
}

.prod-swiper-wrapper{
    gap: 0;
}

.prod-swiper-wrapper-beta {
    gap: 0;
    width: 100%;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
}

.prod-swiper-nav {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 100%;
    max-width: 1400px; /* o la larghezza massima che preferisci */
    left: 50%;
    transform: translate(-50%, -50%);
    display: flex;
    justify-content: left;
    flex-direction: column;
    gap: 1rem;
}

.swiper-button.prev-p {
    transform: translateX(-20px);
}

.swiper-button.next-p {
    transform: translateX(-20px);
}

.products-wrapper{
    padding: 1rem 0;
}

.product-cta{
    background-color: #aa1b17;
    padding: 15px 25px;
    border-radius: 10px;
    transition: all 0.3s;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.product-btn{
    display: flex;
    justify-content: flex-start;
    align-items: center;
    flex: 0 0 auto;
}

.product-cta span{
    color: #fff;
    text-transform: uppercase;
    font-size: 13px;
    font-weight: 600;
    transition: all 0.3s;
}

.product.swiper-slide:hover .product-cta{
    background-color: #707070;
}

.product.swiper-slide:hover .product-img{
    transform: scale(0.9);
}

.product{
    display: flex;
    flex-direction: column;
    gap: 10px;
    justify-content: space-between;
    height: 100%;
    transition: all 0.3s;
}

.product-img{
    display: block;
    width: 100%;
    height: 18rem;
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    position: relative;
    flex: 0 0 auto;
    padding-top: 60%;
    transition: all 0.3s;
}

.product-span{
    padding: 5px 15px;
    text-transform: uppercase;
    font-size: 9px;
    font-weight: 500;
    border: 1px solid #707070;
    border-radius: 7px;
    color: #707070;
    position: absolute;
    top: 1rem;
    right: 1rem;
    background-color: #fff;
    transition: all 0.3s;
}

.product.swiper-slide:hover .product-span{
    background-color: #707070;
    color: #fff;
}

.product-title{
    flex: 0 0 auto;
    flex-grow: 1;
}

.product-title h4{
    font-size: 30px;
    line-height: 30px;
    font-weight: 700;
    color: #707070;
    margin: 0;
}

.product-title h5{
    font-size: 24px;
    line-height: 27px;
    font-weight: 300;
    color: #707070;
}

.product-details{
    display: flex;
    flex-direction: column;
    gap: 5px;
    flex: 1 0 auto;
    justify-content: flex-end;
}

.det-a{
    display: flex;
    gap: 5px;
    justify-content: center;
    align-items: center;
}

.bottom-product{
    display: flex;
    flex-direction: column;
    gap: 15px;
    flex: 1 0 auto;
}



.grafic-det {
    width: 100%;
    height: 8px;
    background-color: #70707020;
    border-radius: 4px;
    overflow: hidden;
    position: relative;
}

.grafic-det::after {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    height: 100%;
    background-color: #707070;
    border-radius: 4px;
    transition: width 0.8s ease-in-out;
}

.det-a {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
}

.det-a span {
    min-width: 100px;
    font-size: 12px;
    text-transform: uppercase;
    font-weight: 700;
    color: #707070;
}

/* Classi per le diverse percentuali */
.percent-70 .grafic-det::after {
    width: 70%;
}

.percent-90 .grafic-det::after {
    width: 90%;
}

.percent-40 .grafic-det::after {
    width: 40%;
}






.reasons{
    padding-top: 6rem;
    padding-bottom: 6rem;
    border-top: 1px solid #00000030;
}

.banner-title-orange {
    padding-bottom: 2rem;
}

.banner-title-orange h2 {
    font-size: 50px;
    line-height: 54px;
    font-weight: 500;
    color: #aa1b17;
    margin: 0;
}

.banner-title-orange h2 span {
    font-size: 50px;
    line-height: 54px;
    font-weight: 300;
    color: #aa1b17;
}

.banner-title-orange h3 {
    font-size: 50px;
    line-height: 54px;
    font-weight: 300;
    color: #aa1b17;
}



.banner-cards-container{
    background-color: #f0f0f0;
    border-radius: 30px;
    display: flex;
}

.banner-card{
    background-color: #f0f0f0;
    border-radius: 30px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    height: auto;
    min-height: 250px;
    padding: 2rem;
    flex: 1;
    gap: 1rem;
    transition: all 0.3s;
}

.banner-card-btn {
    flex: 0 0 auto;
    width: 100%;
    padding-top: 1rem;
}

.banner-card-cta {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 15px;
    padding: 15px 20px;
    background-color: #f0f0f0;
    border-radius: 12px;
    transition: all 0.3s;
    border: 2px solid #707070;
}

.banner-card-cta span{
    color: #707070;
    font-size: 14px;
    font-weight: 500;
    text-align: center;
    text-transform: uppercase;
    transition: all 0.3s ease;
}

.banner-card-cta svg{
    width: 1rem;
    height: 1rem;
    fill: #707070;
}

.banner-card-cta.big svg {
    width: 1.3rem;
    height: 1.3rem;
    fill: #707070;
}

.banner-card-title{
    flex: 0 0 auto;
}

.banner-card-title h4{
    font-size: 30px;
    line-height: 30px;
    font-weight: 600;
    color: #707070;
    margin: 0;
    transition: all 0.3s;
}

.banner-card-title h5{
    font-size: 30px;
    line-height: 30px;
    font-weight: 300;
    color: #707070;
}

.banner-card-title h6{
    font-size: 18px;
    line-height: 18px;
    font-weight: 500;
    color: #707070;
    text-transform: uppercase;
    padding-top: 1rem;
}

.banner-card-desc{
    flex: 1 0 auto;
}

.banner-card-desc p{
    font-size: 18px;
    line-height: 22px;
    font-weight: 200;
}

.banner-card:hover{
    background-color: #fff;
    box-shadow: 0 4px 20px 5px rgba(0, 0, 0, 0.1);
    transform: scale(1.02);
}

.banner-card:hover .banner-card-title h4{
    color: #aa1b17;
}

.banner-card:hover .banner-card-cta{
    background-color: #aa1b17;
    border-color: #aa1b17;
    color: #fff;
}

.banner-card:hover .banner-card-cta span{
    color: #fff;
}

.banner-card:hover .banner-card-cta svg{
    fill: #fff;
}

.banner-card:hover .cls-5,
.banner-card:hover .cls-6,
.banner-card:hover .cls-7{
    transition: all 0.3s;
    stroke:#fff;
}

.plus-minus-wrapper {
  width: .9rem;
  height: .9rem;
  position: relative;
}

.plus-minus-square {
  width: 100%;
  height: 100%;
  border: 1px solid #aa1b17;
  border-radius: 2px;
  transition: all 0.3s ease;
}

.plus-minus-icon {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 0.5rem;  
  height: 0.5rem;
}

.plus-minus-line {
  position: absolute;
  background-color: #aa1b17;
  transition: all 0.3s ease;
}

.plus-minus-horizontal {
  width: 100%;
  height: 1px; 
  top: 50%;
  transform: translateY(-50%);
}

.plus-minus-vertical {
  height: 100%;
  width: 0.5px;
  left: 50%;
  transform: translateX(-50%);
}

.plus-minus-wrapper.active .plus-minus-vertical {
  transform: translateX(-50%) rotate(90deg);
}

.card:hover .plus-minus-line {
    background-color: #fff;
}

.card:hover .plus-minus-square {
    border: 1px solid #fff;
  }

.icon-wrapper {
    width: .8rem;
    height: .8rem;
    position: relative;
}

.icon-square {
    width: 100%;
    height: 100%;
    border: 1px solid #fff;
    border-radius: 2px;
    transition: all 0.3s ease;
}

.icon-icon {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 0.4rem;
    height: 0.4rem;
}

.icon-line {
    position: absolute;
    background-color: #fff;
    transition: all 0.3s ease;
}

.icon-horizontal {
    width: 100%;
    height: 0.5px;
    top: 50%;
    transform: translateY(-50%);
}

.icon-vertical {
    height: 100%;
    width: 1px; 
    left: 50%;
    transform: translateX(-50%);
}

.icon-square {
    border: 1px solid #56575c;
}
.icon-line{
    background-color: #56575c;
}

.dropdown-open .icon-square{
    border: 1px solid #56575c;
}

.dropdown-open .icon-line{
    background-color: #56575c;
}
  
.icon-wrapper.active .icon-vertical {
    transform: translateX(-50%) rotate(90deg);
}

.icon-wrapper.active .icon-square{
    border: 1px solid #aa1b17;
}

.icon-wrapper.active .icon-line{
    background-color: #aa1b17;
}
  

/* .item-menu:hover .icon-square{
    border: 1px solid #aa1b17;
}

.item-menu:hover .icon-line{
    background-color: #aa1b17;
} */

.cls-11,
.cls-12{
    transition: all 0.3s ease;
}




.banner-card:hover .cls-11{
    stroke: #fff;
}

.find-container{
    display: flex;
}

.find-center{
    padding-top: 4rem;
    padding-bottom: 4rem;
    background-color: #aa1b17;
    border-radius: 20px;
    position: relative;
    z-index: 1;
    margin-top: -1rem;
}

.find-left{
    display: flex;
    flex-direction: column;
    gap: 2rem;
    height: 100%;
    justify-content: center;
}

.find-title h4{
    font-size: 40px;
    line-height: 45px;
    font-weight: 300;
    color: #fff;
}

.unisciti-title h4{
    font-size: 50px;
    line-height: 55px;
    font-weight: 400;
    color: #fff;
}

.find-title h4 span{
    font-weight: 600;
}

.find-btn{
    display: flex;
    padding-top: 1rem;
    width: 100%;
    gap: 1rem;
}

.unisciti-btn{
    display: flex;
}

.find-cta{
    background-color: #fff;
    border: 2px solid #fff;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 15px;
    padding: 15px 30px;
    border-radius: 12px;
    transition: all 0.3s;
}

.find-cta svg{
    width: 1rem;
    height: 1rem;
    transition: all 0.3s ease;
}

.find-cta span{
    color: #aa1b17;
    font-size: 14px;
    font-weight: 700;
    text-align: center;
    text-transform: uppercase;
    transition: all 0.3s ease;
}

.find-cta:hover{
    background-color: #aa1b17;
}

.find-cta:hover span{
    color: #fff;
}

.find-cta:hover .cls-12{
    stroke: #fff;
}


.find-right{
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
    height: 100%;
    justify-content: center;
}

.find-info p{
    color: #fff;
    font-size: 18px;
    line-height: 21px;
    font-weight: 100;
}

.find-info p a{
    color: #fff;
    font-weight: 400;
    text-decoration: underline;
    font-size: 18px;
    line-height: 21px;
}

.find-ul li{
    color: #fff;
    font-size: 18px;
    line-height: 21px;
    font-weight: 100;
    padding-left: 2rem;
    position: relative;
}

.find-ul li:not(:last-child) {
    margin-bottom: 1rem;
}

.find-ul li span{
    color: #fff;
    font-weight: 500;
    text-transform: uppercase;
    font-size: 17px;
    line-height: 21px;
}

.find-ul li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 5px;
    width: 14px;
    height: 14px;
    background-image: url("/assets/frontend/img/svg/piu-3.svg");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}


.banner-sost {
    padding-top: 6rem;
    padding-bottom: 6rem;
    position: relative;
}

.banner-sost::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: url('/assets/frontend/img/jpg/banner-sostenibilita.jpg');
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    filter: brightness(0.7);
    z-index: -1;
}

.sost-content {
    display: flex;
    flex-direction: column;
    gap: 2rem;
    position: relative;
}

.sost-title h2 {
    font-size: 50px;
    line-height: 54px;
    font-weight: 500;
    color: #fff;
    margin-bottom: 0;
}

.sost-title h3 {
    font-size: 50px;
    line-height: 54px;
    font-weight: 300;
    color: #fff;
}

.sost-btn{
    display: flex;
}

.sost-cta{
    background-color: transparent;
    border: 2px solid #fff;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 15px;
    padding: 15px 3rem;
    border-radius: 12px;
    transition: all 0.3s;
}

.sost-cta svg {
    width: 1rem;
    height: 1rem;
    transition: all 0.3s ease;
}

.sost-cta span {
    color: #fff;
    font-size: 14px;
    font-weight: 700;
    text-align: center;
    text-transform: uppercase;
    transition: all 0.3s ease;
}

.sost-cta:hover{
    background-color: #f0f0f0;
    border: 2px solid #707070;
}

.sost-cta:hover span{
    color: #707070;
}

.sost-cta:hover .cls-14{
    stroke: #707070;
}

.quality-banner{
    padding-top: 4rem;
    padding-bottom: 4rem;
    background-color: #fff6ed;
    background-image: url('/assets/frontend/img/jpg/banner-catalogo-mobile.jpg');
    background-position: bottom -3rem right 0rem;
    background-repeat: no-repeat;
    background-size: contain;
}

.qual-content{
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}

.qual-title h2{
    font-size: 40px;
    line-height: 44px;
    font-weight: 300;
    color: #707070;
}

.qual-title h2 span{
    font-weight: 500;
}

.qual-p p{
    color: #707070;
    font-size: 18px;
    line-height: 21px;
    font-weight: 300;
}

.qual-ul li span{
    color: #707070;
    font-size: 15px;
    line-height: 16px;
    font-weight: 300;
    text-transform: uppercase;
}

.qual-ul li:not(:last-child){
    margin-bottom: 5px;
}

.qual-ul li{
    padding-left: 2rem;
    position: relative;
}

.qual-ul li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 5px;
    width: 14px;
    height: 14px;
    background-image: url("/assets/frontend/img/svg/piu.svg");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}

.qual-btn {
    display: flex;
}

.qual-cta {
    background-color: #707070;
    border: 2px solid #707070;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 15px;
    padding: 15px 3rem;
    border-radius: 12px;
    transition: all 0.3s;
}

.qual-cta svg {
    width: 1rem;
    height: 1rem;
    transition: all 0.3s ease;
}

.qual-cta span {
    color: #fff;
    font-size: 14px;
    font-weight: 700;
    text-align: center;
    text-transform: uppercase;
    transition: all 0.3s ease;
}

.qual-cta:hover{
    background-color: #fff6ed;
    border: 2px solid #707070;
}

.qual-cta:hover span{
    color: #707070;
}

.qual-cta:hover .cls-16{
    stroke: #707070;
}



.blog-banner{
    padding: 5rem 0;
}

.blog-banner-title{
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-bottom: 2rem;
}

.blog-banner-title h2{
    font-size: 50px;
    line-height: 54px;
    font-weight: 300;
    color: #aa1b17;
}

.blog-banner-title h2 span{
    font-weight: 500;
}

.blog-card-text h4 {
    font-size: 23px;
    line-height: 27px;
    font-weight: 600;
    color: #707070;
    margin-bottom: 1rem;
    min-height: 60px;
    display: -webkit-box;
    -webkit-box-orient: vertical;
}

.blog-card-text p {
    font-size: 16px;
    line-height: 20px;
    font-weight: 200;
    color: #707070;
    margin: 0;
    display: -webkit-box;
    -webkit-box-orient: vertical;
}

.blog-ban-wrapper{
    display: flex;
    justify-content: space-between;
    gap: 2rem;
}

.blog-ban-card{
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
    justify-content: space-between;
    border-radius: 20px;
    background-color: #f0f0f0;
    transition: all 0.3s ease;
    width: calc((100% - 4rem) / 3);
    min-height: 0;
}

.blog-card-img{
    width: 100%;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    border-radius: 10px;
    position: relative;
    height: 250px;
    flex-shrink: 0;
    overflow: hidden;
}

.blog-card-img::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: inherit;
    background-position: inherit;
    background-repeat: inherit;
    background-size: inherit;
    transition: transform 0.3s ease;
}

/* Effetto zoom in hover */
.blog-ban-card:hover .blog-card-img::before {
    transform: scale(1.1);
}

.blog-card-img span{
    padding: 5px 15px;
    background-color: #aa1b17;
    border-radius: 7px;
    color: #fff;
    text-transform: uppercase;
    font-size: 9px;
    position: absolute;
    top: 15px;
    right: 15px;
}

.blog-card-text{
    padding: 0 2rem;
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    min-height: 0;
}

.blog-card-btn{
    padding: 0 2rem 2rem 2rem;
    margin-top: auto;
}

.blog-card-cta {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 15px;
    padding: 15px 20px;
    background-color: #f0f0f0;
    border-radius: 12px;
    transition: all 0.3s;
    border: 2px solid #707070;
}

.blog-card-cta svg {
    width: 1rem;
    height: 1rem;
    fill: #707070;
}

.blog-card-cta span {
    color: #707070;
    font-size: 14px;
    font-weight: 500;
    text-align: center;
    text-transform: uppercase;
    transition: all 0.3s ease;
}

.blog-ban-card{
    box-shadow: 0 4px 20px 5px rgba(0, 0, 0, 0.1);
    /* transform: scale(1.02); */
}

.blog-ban-card:hover .blog-card-cta{
    background-color: #707070;
}

.blog-ban-card:hover .blog-card-cta span{
    color: #fff;
}

.blog-ban-card:hover .blog-card-cta .cls-11{
    stroke: #fff;
}

.blog-ban-cta{
    display: flex;
    gap: 15px;
    align-items: center;
}

.blog-ban-cta span{
    color: #aa1b17;
    font-size: 14px;
    line-height: 14px;
    font-weight: 500;
    text-transform: uppercase;
}

.blog-ban-cta svg{
    width: 1rem;
    height: 1rem;
    stroke: #aa1b17;
}

.footer-desktop{
    padding: 7rem 0 15px 0;
    background-color: #141414;
}

.footer-mobile{
    display: none;
}

.footer-mobile {
    padding: 4rem 0 15px 0;
    background-color: #141414;
}

.footer-container{
    display: flex;
    padding-top: 3rem;
    padding-bottom: 4rem;
}

.footer-col-left{
    display: flex;
    flex-direction: column;
    gap: 4rem;
}

.footer-logo-title h5{
    color: #fff;
    font-size: 18px;
    line-height: 20px;
    font-weight: 500;
    text-transform: uppercase;
}

.footer-social h6{
    color: #fff;
    font-size: 18px;
    line-height: 20px;
    font-weight: 400;
}

.footer-social ul li a{
    color: #f0f0f0;
    font-size: 14px;
    line-height: 18px;
    font-weight: 300;
    transition: all 0.3s ease;
    position: relative;
}

.footer-social ul li a::after {
   content: '';
   position: absolute;
   left: 0;
   bottom: -2px;
   width: 100%;
   height: 1px;
   background-color: #fff;
   opacity: 0;
   transition: opacity 0.3s ease;
}

.footer-social ul li a:hover::after {
   opacity: 1;
}

.footer-veka{
    display: flex;
    gap: 20px;
    align-items: center;
}

.footer-veka img{
    display: block;
    width: 8rem;
    height: 100%;
}

.footer-veka span{
    color: #fff;
    font-size: 16px;
    line-height: 18px;
    font-weight: 100;
}

.cta-b{
    background: transparent;
    border: none;
    padding-top: 0;
}

.footer-col-central{
    display: flex;
    flex-direction: column;
    gap: 3rem;
}

.footer-links h6{
    color: #fff;
    font-size: 18px;
    line-height: 20px;
    font-weight: 400;
}

.footer-links ul li a{
    color: #f0f0f0;
    font-size: 13px;
    line-height: 13px;
    font-weight: 300;
    text-transform: uppercase;
    transition: all 0.3s ease;
    position: relative;
}

.footer-links ul li a::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: -4px;
    width: 100%;
    height: 1px;
    background-color: #fff;
    opacity: 0;
    transition: opacity 0.3s ease;
}

.footer-links ul li a:hover::after {
    opacity: 1;
}

.footer-links ul li {
    margin-bottom: 4px;
}

.footer-login h6{
    color: #fff;
    font-size: 18px;
    line-height: 20px;
    font-weight: 400;
    margin-bottom: 1rem;
}

.footer-btn{
    display: flex;
    padding-bottom: 1rem;
}

.footer-cta{
    background-color: #c21b17;
    border-radius: 15px;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 20px 3.5rem;
    text-transform: uppercase;
    cursor: pointer;
    transition: all 0.3s ease;
    border: 2px solid #c21b17;
}

.footer-cta span{
    color: #fff;
    font-size: 16px;
    font-weight: 500;
    text-transform: uppercase;
    transition: all 0.3s ease;
    letter-spacing: 1px;
}

.footer-cta:hover{
    background-color: #141414;
    border: 2px solid #fff;
}


.login-span{
    color: #f0f0f0;
    font-size: 14px;
    line-height: 17px;
    font-weight: 200;
    width: 70%;
    display: block;
}

.login-span a{
    color: #f0f0f0;
    font-size: 14px;
    line-height: 14px;
    font-weight: 300;
    text-decoration: underline;
    transition: all 0.3s ease;
}

.login-span a:hover{
    color: #fff;
}

.contact-form {
    width: 100%;
    margin: 0 auto;
    position: relative;
}

.form-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 20px;
    padding-top: 0.5rem;
}

.input-group {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
}

.checkbox-group {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    padding-top: 1rem;
}

.single-group {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0px;
}

.triple-group{
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}

.input-group input,
.input-c,
.input-d {
    width: 100%;
    padding: 10px 20px;
    border: 1px solid #f0f0f0;
    border-radius: 15px !important;
    background: #fff;
    color: #141414;
    font-size: 16px;
    font-weight: 400;
}

.input-d {
    -moz-appearance: none !important;
    -webkit-appearance: none !important;
    appearance: none !important;
    background-size: 15px !important;
    background-repeat: no-repeat !important;
    background-position: calc(100% - 10px) center !important;
    background-color: #f0f0f0;
}

.input-c{
    color: #c21b17;
    font-size: 16px;
    font-weight: 500;
}

.input-d{
    color: #141414;
    font-size: 16px;
    font-weight: 400;
    /* text-transform: uppercase;  */
}

.input-group input:focus,
.input-c:focus,
.input-d:focus {
    outline: none !important;
    box-shadow: none !important;
    border-color: #fff!important;
}
/* Rimuove anche l'outline in Firefox */
.input-group input:focus-visible,
.input-c:focus-visible,
.input-d:focus-visible{
    outline: none !important;
}

/* Rimuove il bordo azzurro in Chrome */
.input-group input,
.input-c,
.input-d{
    -webkit-appearance: none;
}

.input-group input::placeholder{     
    color: #a0a0a0;     
    font-size: 16px;      
    font-weight: 400;       
}
.input-d::placeholder{          
    color: #a0a0a0;     
    font-size: 16px;      
    font-weight: 400; 
}

.input-c option{
    color: #000;
    font-size: 16px; 
    font-weight: 400; 
    cursor: pointer;
}

.input-c option:first-child {
    display: none;
}

.privacy-group {
    width: 100%;
    padding-top: 0.5rem;
}

.privacy-label {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    cursor: pointer;
    margin-bottom: 10px;
}

.checkbox-c[type=checkbox] {
    background: #fff;
    appearance: none;
    color: #fff;
    height: 16px;
    width: 16px;
    cursor: pointer;
    border-radius: 3px;
    min-width: 12px;
    flex: 0 0 16px;
}

.privacy-label span {
    flex: 1;
    line-height: 1.4;
}

.privacy-label input[type="checkbox"] {
    margin-top: 1px;
}

.checkbox-c:checked[type=checkbox] {
    background-image: url(/assets/frontend/img/svg/plus-red.svg);
    background-size: 15px 15px;
    background-position: center;
    background-repeat: no-repeat;
 }

.privacy-label span {
    color: #fff;
    font-size: 16px;
    line-height: 17px;
    font-weight: 200;
}

.privacy-label span a{
    color: #f0f0f0;
    font-size: 16px;
    line-height: 17px;
    font-weight: 400;
    text-decoration: underline;
}

.submit-but {
    display: flex;
    align-items: center;
    margin-top: 0;
}

.message-send {
    position: absolute;
    color: #fff;
    bottom: -2rem;
    width: 100%;
    font-size: 1.5rem;
    left: 0;
    background: transparent;
    padding: 3rem;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-direction: column;
    margin-left: 2rem;
}



.checkbox-group h6{
    font-size: 14px;
    line-height: 17px;
    font-weight: 300;
    color: #fff;
    text-transform: uppercase;
    margin-bottom: 15px;
}

.footer-right h6{
    color: #fff;
    font-size: 21px;
    line-height: 23px;
    font-weight: 400;
}

.footer-right p{
    color: #a0a0a0;
    font-size: 21px;
    line-height: 23px;
    font-weight: 200;
    width: 100%;
    display: block;
}

.item-menu:hover{
    background-color: #aa1b17;
}
.item-menu.in-page {
    background-color: #aa1b17;
}
.item-menu.in-page span{
    color: #fff;
}
.in-page .icon-dropdown .cls-1{
    fill: #fff;
    stroke: #fff;
}
.item-menu.active{
    background-color: #aa1b17;
    border-bottom-right-radius: 0;
    border-bottom-left-radius: 0;
}

.dropdown-open .item-menu.active {
    background-color: #aa1b17;
}

.item-menu.active .fake-menu {
    color: #fff;
}

.item-menu:hover .fake-menu {
    color: #fff;
}

.item-menu.active span {
    color: #fff;
}

.item-menu:hover span{
    color: #fff;
}
/* .scroll .item-menu {
    opacity: 1 !important;
}

.scroll .item-menu span {
    color: #fff;
}
.scroll .item-menu:hover span{
    color: #fff;
} */


.input-c {
    -moz-appearance: none!important;
    -webkit-appearance: none!important;
    appearance: none!important;
    background-color: #fff;
    background-image: url(/assets/frontend/img/svg/plus-red.svg);
    background-size: 15px!important;
    background-repeat: no-repeat!important;
    background-position: calc(100% - 20px) center!important;
    cursor: pointer!important;
    line-height: 26px;
}

.menu-mobile{
    display: none;
}

.mobile-menu-container {
    display: none;
}

.mobile-blog-news-btn{
    display: none;
}

.blog-ban-cta-b{
    display: flex;
    gap: 15px;
    align-items: center;
    background: #aa1b17;
    border-radius: 12px;
    padding: 15px 3rem;
    justify-content: center;
    border: 2px solid #aa1b17;
}

.blog-ban-cta-b span{
    color: #fff;
    font-size: 14px;
    line-height: 14px;
    font-weight: 500;
    text-transform: uppercase;
}

.blog-ban-cta-b svg{
    width: 1rem;
    height: 1rem;
    stroke: #fff;
}








/*BREADCRUMBS*/

/* Stile breadcrumbs */
.breadcrumbs-container ul {
    display: flex;
    align-items: center;
    list-style: none;
    padding: 0;
    margin: 0;
}

.breadcrumbs-container li {
    display: flex;
    align-items: center;
    font-size: 17px;
    font-weight: 200;
    text-transform: uppercase;
}

/* Aggiunge il separatore "/" dopo ogni elemento tranne l'ultimo */
.breadcrumbs-container li:not(:last-child)::after {
    content: "/";
    margin: 0 25px;
    color: #141414;
}

.breadcrumbs-container a {
    color: #141414;
    text-decoration: none;
    transition: color 0.3s ease;
}

.breadcrumbs-container a:hover {
    color: #000;
}

/* Stile per il link attivo */
.breadcrumbs-container li.active a {
    color: #141414;
    font-weight: 700;
}

.breadcrumbs-container.withe a {
    color: #fff;
}
.breadcrumbs-container.withe li:not(:last-child)::after {
    color: #fff;
}
.breadcrumbs-container.withe li.active a {
    color: #fff;
    font-weight: 500;
}
.breadcrumbs-container.withe a:hover {
    color: #fff;
}

/* Stile hero title */
.hero-title-b {
    margin-top: 1rem;
}

.hero-title-b h1 {font-family: 'Bodoni Moda', serif;font-size: 80px;line-height: 90px;font-weight: 400;color: #fff;}

.hero-title-w {
    margin-top: 1rem;
}

.hero-title-w h1 {font-family: 'Bodoni Moda', serif;font-size: 80px;line-height: 90px;font-weight: 400;color: #141414;}

.hero-title-b h1 span {
    font-weight: 500;
    font-size: 70px;
    line-height: 70px;
    display: inline-block;
    margin-right: 0;
}

.hero-title-c {
    margin-top: 1rem;
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.hero-title-c h1 span{
    font-family: 'Bodoni Moda', serif;
    font-size: 60px;
    line-height: 60px;
    font-weight: 500;
    color: #fff;
    margin: 0;
}

.hero-title-c h1{
    font-family: 'Bodoni Moda', serif;
    font-size: 60px;
    line-height: 60px;
    font-weight: 300;
    color: #fff;
    margin: 0;
}

.hero-title-c h2 {
    font-size: 60px;
    line-height: 60px;
    font-weight: 300;
    color: #707070;
    margin: 0;
}

.hero-title-d {
    margin-top: 1rem;
}

.hero-title-d h1 {
    font-size: 70px;
    line-height: 70px;
    font-weight: 300;
    color: #fff;
}

.hero-title-d h1 span {
    font-weight: 500;
    font-size: 70px;
    line-height: 70px;
    display: inline-block;
    margin-right: 0;
}


/*HERO*/
.hero {
    position: relative;
    padding-top: 10rem;
    padding-bottom: 5rem;
    z-index: 1;
}

.hero.noi::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: url(/assets/frontend/img//jpg/noi_cover.jpg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    filter: brightness(0.8);
    z-index: -1;
}
.hero.privati::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: url(/assets/frontend/img//jpg/privati_cover.jpg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    filter: brightness(0.8);
    z-index: -1;
}
.hero.business::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: url(/assets/frontend/img//jpg/business_cover.jpg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    filter: brightness(0.8);
    z-index: -1;
}
.hero.staff::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: url(/assets/frontend/img//jpg/staff_cover.jpg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    filter: brightness(0.6);
    z-index: -1;
}
.hero.blog-page::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: url(/assets/frontend/img//jpg/blog_cover.jpg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    filter: brightness(0.6);
    z-index: -1;
}

.hero.news-page::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: var(--bg-image);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    filter: brightness(0.8);
    z-index: -1;
}
.hero.posizioni::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: url(/assets/frontend/img//jpg/lavora-con-noi_cover.jpg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    filter: brightness(0.6);
    z-index: -1;
}
.hero.contatti::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: url(/assets/frontend/img//jpg/contatti_cover.jpg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    filter: brightness(0.6);
    z-index: -1;
}
.hero.faq::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #fff;
    z-index: -1;
}
.hero.faq{
    padding-bottom: 1rem;
}
.hero.error::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: url(/assets/frontend/img//jpg/404_background.jpg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    filter: brightness(0.6);
    z-index: -1;
    border-radius: 20px;
    border-top-left-radius: 0;
    border-top-right-radius: 0;
}

.errore{
    display: flex;
    flex-direction: column;
    gap: 3rem;
    width: fit-content;
    margin-top: 2rem;
}

.errore-span{
    font-size: 21px;
    line-height: 24px;
    font-weight: 200;
    color: #fff;
}



/*BLOG NEWS*/
.blog-tab-menu {
    margin-bottom: 2rem;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    background-color: #c21b17;
    border-radius: 15px;
    position: relative;
    margin-top: -1.5rem;
    z-index: 101;
}

.blog-tab-menu::after {
    /* content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 5px;
    background-color: #f0f0f0;
    border-radius: 4px;
    z-index: 1; */
}

.blog-tab-menu ul {
    display: flex;
    list-style: none;
    padding: 0;
    margin: 0;
    gap: 0;
    min-width: min-content;
    justify-content: space-between;
    position: relative;
}

.blog-tab-menu li {
    color: #fff;
    cursor: pointer;
    transition: all 0.3s ease;
    padding: 20px 1rem;
    white-space: nowrap;
    font-size: 14px;
    line-height: 14px;
    font-weight: 400;
    user-select: none;
    text-transform: uppercase;
    position: relative;
    width: 100%;
    display: flex;
    justify-content: center;
    border-radius: 15px;
}

.blog-tab-menu li:hover {background-color: #aa1b17;}

.blog-tab-menu li.active {
    /* color: #FF6B00;
    opacity: 1;
    font-weight: 700; */
    background-color: #aa1b17;
}

.blog-tab-menu li.colors-active {
    color: #FF6B00;
    opacity: 1;
    font-weight: 700;
}

.blog-tab-menu li.handles-active {
    color: #FF6B00;
    opacity: 1;
    font-weight: 700;
}


.blog-tab-menu li.active::after {
    /* content: '';
    position: absolute;
    bottom: 0px;
    left: 0;
    width: 100%;
    height: 5px;
    border-radius: 4px;
    background-color: #FF6B00;
    z-index: 2; */
}

.blog-tab-menu li.colors-active::after {
    content: '';
    position: absolute;
    bottom: 0px;
    left: 0;
    width: 100%;
    height: 5px;
    border-radius: 4px;
    background-color: #FF6B00;
    z-index: 2;
}

.blog-tab-menu li.handles-active::after {
    content: '';
    position: absolute;
    bottom: 0px;
    left: 0;
    width: 100%;
    height: 5px;
    border-radius: 4px;
    background-color: #FF6B00;
    z-index: 2;
}

.news-container {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 2rem;
    min-height: 200px;
    padding-bottom: 6rem;
}

.initial-loader {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #fff;
    z-index: 100;
    opacity: 1;
}

.initial-loader.fade-out {
    animation: fadeOutLoader 0.5s ease-out forwards;
}

@keyframes fadeOutLoader {
    0% {
        opacity: 1;
    }
    50% {
        opacity: 0.8;
    }
    100% {
        opacity: 0;
        visibility: hidden;
        pointer-events: none;
    }
}

.news-card {
    transition: opacity 0.3s ease-in-out;
    will-change: opacity;
}

.news-card.fade {
    opacity: 0;
}

.news-card.blog-ban-card{
    width: 100%;
    gap: 2rem;
    padding: 1rem;
    background-color: #fff;
    border-radius: 20px;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    transition: all 0.3s;
    border: 2px solid #f0f0f0;
}

.news-card.blog-ban-card:hover{
    border: 2px solid #aa1b17;
}

.news-content{
    display: flex;
    justify-content: space-between;
}

.news{
    padding-top: 5rem;
    padding-bottom: 6rem;
    background-color: #fff;
}

.news-img{
    display: block;
    width: 100%;
    height: 75vh;
    background-position: top;
    background-repeat: no-repeat;
    background-size: contain;
    margin-bottom: 4rem;
}


/*TABS*/
.tab-container {
    display: flex;
    flex-direction: column;
    padding-top: 1rem;
}

.tab-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 15px 25px;
    background-color: #f0f0f0;
    border-radius: 6px;
    cursor: pointer;
    margin-bottom: 0;
    transition: all 0.3s ease;
}

.tab-header h6{
    color: #707070;
    margin: 0;
    transition: all 0.3s;
}

.tab-header h6 {
    font-size: 14px;
    line-height: 14px;
    font-weight: 500;
    text-transform: uppercase;
}

.tab-header:hover,
.tab-header.active {
    background-color: #aa1b17;
}

.tab-header:hover h6,
.tab-header.active h6 {
    color: #fff;
}

.tab-body {
    background-color: #fff;
    border-radius: 7px;
    margin-bottom: 10px;
    height: 0;
    max-height: 0;
    opacity: 0;
    visibility: hidden;
    overflow: hidden;
    transition: all 0.3s ease;
}

.tab-body::-webkit-scrollbar {
    display: block;
    width: 10px;
    height: 3rem;
}

.tab-body::-webkit-scrollbar-track {
    background: #f1f1f1;
}

.tab-body::-webkit-scrollbar-thumb {
    background: #70707050;
    border-radius: 3px;
    cursor: pointer;
}

.tab-body.active {
    padding: 10px;
    min-height: 185px;
    max-height: 230px;
    opacity: 1;
    visibility: visible;
    overflow-y: auto;
    transition: all 0.3s ease;
    position: relative;
    padding-top: 1rem;
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.other-news {
    opacity: 0;
    padding: 15px;
    border-radius: 15px;
    transition: opacity 0.3s ease-out;
    padding-bottom: 1rem;
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    align-items: flex-start;
    box-shadow: 0 0px 8px 2px rgba(0, 0, 0, 0.1);
}

.other-news:not(:first-child) {
    padding-top: 1.5rem;
}

.other-news:not(:last-child) {
    border-bottom: 1px solid #f0f0f0;
}

.tab-body.active .other-news {
    opacity: 1;
    transition-delay: 0.2s;
}

.other-news-img {
    display: block;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    width: 30%;
    height: 5rem;
    flex-shrink: 0;
    border-radius: 10px;
}

.other-news-txt {
    width: 70%;
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.other-news-txt h6 {
    color: #141414;
    font-size: 20px;
    line-height: 20px;
    font-weight: 600;
    line-height: 18px;
    margin: 0;
}

.other-news-txt p {
    color: #707070;
    font-size: 12px;
    font-weight: 300;
    line-height: 14px;
    margin: 0;
}


.tab-header:hover .icon-square,
.tab-header.active .icon-square{
    border: 1px solid #fff;
}
.tab-header:hover .icon-line,
.tab-header.active .icon-line{
    background-color: #fff;
}

.tab-header.active .icon-vertical{
    transform: translateX(-50%) rotate(90deg);
}







.social-share{
    margin-top: 1rem;
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    align-content: flex-start;
    flex-direction: column;
    gap: 2rem;
    position: relative;
}

.beta-h4 span{
    font-size: 31px;
    line-height: 31px;
    font-weight: 500;
    color: #aa1b17;
}

.social-icon-container{
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    align-items: center;
}

.social-icon{
    display: flex;
    height: 2rem;
    width: 2rem;
    border: 1px solid #fff;
    border-radius: 4px;
    justify-content: center;
    align-items: center;
    transition: all 0.3s ease;
    cursor: pointer;
}

.social-icon.red{
    border: 2px solid #c21b17;
    width: 3rem;
    height: 3rem;
}

.social-icon svg{
    width: .8rem;
    height: .8rem;
    transition: all 0.3s;
}
.social-icon.red svg{
    width: 1.2rem;
    height: 1.2rem;
    transition: all 0.3s;
}
.social-icon:hover{
    background-color: #c21b17;
    border: 2px solid #c21b17;
}

.social-icon:hover svg{
    /* box-shadow: -2px 2px 8px rgba(0, 0, 0, 0.2); */
    fill:#fff;
}

.social-icon:hover #Dribbble-Light-Preview{
    fill:#fff!important;
}

.footer-info {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    font-size: 12px;
    font-weight: 400;
    text-align: left;
    padding-top: 1rem;
    color: #a0a0a0;
    flex-wrap: wrap;
    border-top: 1px solid #ffffff50;
}
.footer-info span {
    padding: 0 30px;
    position: relative;
}
.footer-info span:first-child {
    padding-left: 0;
}
.footer-info span:last-child {
    padding-right: 0;
}
.footer-info span:not(:last-child)::after {
    content: "|";
    position: absolute;
    right: -3px;
    top: 50%;
    transform: translateY(-50%);
    color: #a0a0a0;
}
.footer-info a {
    color: inherit;
    text-decoration: underline;
    transition: all 0.3s;
}
.footer-info a:hover {
    color: #fff;
}




.template-image{
    display: block;
    height: 60vh;
    width: 100%;
    margin: 2rem 0;
    background-repeat: no-repeat;
}

.template-text{
    padding: 1rem 0;
    display: flex;
    flex-direction: column;
    gap: 0;
}

.template-title h2{
    font-size: 40px;
    line-height: 40px;
    font-weight: 500;
    color: #aa1b17;
}

.template-subtitle h3{
    font-size: 30px;
    line-height: 30px;
    font-weight: 400;
    color: #aa1b17;
}

.news-text,
.template-content{
    color: #707070;
}

.news-text{
    margin-bottom: 0;
}




.azienda-desc{
    background-color: #fff;
    padding-top: 5rem;
    padding-bottom: 2rem;
    position: relative;
}

.azienda-desc.beta {
    padding-top: 15rem;
}

.content-container{
    display: flex;
    position: relative;
    z-index: 5;
}

.col-desc-p{
    display: flex;
    flex-direction: column;
    gap: 2rem;
}

.col-desc-p{
    width: 47%;
}

.col-space{
    width: 6%;
}

.col-desc-p p{
    color: #141414;
    font-size: 20px;
    line-height: 24px;
    font-weight: 200;
}

.col-desc-p span{
    color: #141414;
    font-size: 21px;
    line-height: 26px;
    font-weight: 500;
}

.numbers{
    padding-top: 7rem;
    padding-bottom: 7rem;
}

.numbers-container{
    display: flex;
    align-items: center;
    justify-content: space-around;
    gap: 1rem;
}

.numbers-col{
    display: flex;
    flex-direction: column;
    gap: 1rem;
    justify-content: space-between;
    padding: 2rem;
    align-items: center;
}

.num-image{
    display: block;
    width: 100%;
    height: 6rem;
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
}

.num span{
    color: #707070;
    font-size: 90px;
    line-height: 90px;
    font-weight: 700;
}

.num-name span{
    color: #707070;
    font-size: 30px;
    line-height: 30px;
    font-weight: 300;
}

























.milestones-mobile{
    display: none;
}

.milestones{
    background-color: #aa1b17;
    padding-top: 5rem;
    padding-bottom: 6rem;
}

.mile-title h2{
    color: #fff;
    font-size: 60px;
    font-weight: 400;
}

.years-grid{
    display: grid;
    grid-template-columns: repeat(4, 1fr);
}

.year span{
    color: #fff;
    font-size: 35px;
    font-weight: 500;
}

.year{
    position: relative;
    padding-bottom: 1rem;
    padding-top: 2rem;
}

.timeline::after{
    display: block;
    content: '';
    width: 75%;
    height:2px;
    background-color: #fff;
    transform: translateX(10px);
}

.point{
    display: block;
    width: 2rem;
    height: 2rem;
    border-radius: 50%;
    background-color: #ffffff50;
    position: absolute;
    bottom: -16px;
    left: -4px;
}

.inner-point{
    display: block;
    width: 1rem;
    height: 1rem;
    border-radius: 50%;
    background-color: #ffffff;
    position: absolute;
    bottom: -8px;
    left: 4px;
}

.year-desc{
    padding-top: 2rem;
    padding-right: 2.6rem;
}

.year-desc p{
    color: #fff;
    font-size: 18px;
    line-height: 23px;
    font-weight: 200;
}

.year-desc span{
    font-weight: 400;
}




.impianti{
    padding-top: 5rem;
    padding-bottom: 5rem;
}

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

.impianti-title h4{
    color: #707070;
    font-size: 60px;
    line-height: 56px;
    font-weight: 400;
}

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

.impianti-desc p{
    color: #707070;
    font-size: 18px;
    line-height: 23px;
    font-weight: 300;
}

.impianti-desc p span{
    font-weight: 500;
}

.impianti-ul li span{
    color: #707070;
    font-size: 18px;
    line-height: 23px;
    font-weight: 500;
    text-transform: uppercase;
}

.impianti-ul li:not(:last-child){
    margin-bottom: 8px;
}

.impianti-ul li{
    padding-left: 2rem;
    position: relative;
}

.impianti-ul li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 6px;
    width: 14px;
    height: 14px;
    background-image: url("/assets/frontend/img/svg/piu-2.svg");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}

.impianti-video-container{
    padding-right: 2rem;
    display: block;
    width: 100%;
    height: 50vh;
}

.video-iframe {
    position: relative;
    width: 100%;
    height: 100%;
    overflow: hidden;
    margin-top: 9px;
}
.video-iframe iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: 0;
}


.banner-cert{
    padding-top: 5rem;
    padding-bottom: 5rem;
    background-color: #f0f0f0;
}

.banner-cert-title h2 {
    color: #707070;
    margin: 0;
    font-size: 60px;
    line-height: 56px;
    font-weight: 300;
}

.banner-cert-title h2 span{
    font-weight: 500;
}

.banner-cert-ul{
    padding-top: 2rem;
    padding-bottom: 2rem;
}

.banner-cert-ul li{
    color: #707070;
    font-size: 18px;
    line-height: 23px;
    font-weight: 300;
}

.banner-cert-ul li span{
    font-weight: 500;
}

.banner-cert-ul li:not(:last-child){
    margin-bottom: 1rem;
}

.banner-cert-ul li{
    padding-left: 2rem;
    position: relative;
}

.banner-cert-ul li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 6px;
    width: 14px;
    height: 14px;
    background-image: url("/assets/frontend/img/svg/piu-2.svg");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}



.hero-b{
    position: relative;
    padding-top: 8rem;
    border-bottom: 1px solid #70707050;
}

.splash-hero-container{
    display: flex;
}

.splash-hero{
    padding: 4rem;
    padding-right: 5rem;
}

.prod-img{
    display: block;
    width: 100%;
    height: 100%;
    background-position: center right -1rem;
    background-repeat: no-repeat;
    background-size: cover;
}

.product-description{
    display: flex;
    flex-direction: column;
    gap: 1rem;
    margin-top: 2.5rem;
}

.product-description p{
    color: #707070;
    font-size: 18px;
    line-height: 23px;
    font-weight: 300;
}

.product-description p span{
    font-weight: 500;
}

.splash-buttons{
    display: flex;
    gap: 1rem;
    justify-content: flex-start;
    align-items: center;
    margin-top: 2.5rem;
}

.minimal-splash{
    display: flex;
    padding-top: 2rem;
    padding-bottom: 0;
}

.minimal-list li{
    display: flex;
    gap: 2rem;
    justify-content: flex-start;
    align-content: flex-start;
}

.minimal-list li:not(:last-child){
    margin-bottom: 30px;
}

.minimal-text{
    display: flex;
    flex-direction: column;
    gap: 4px;
    margin: 0;
    justify-content: flex-start;
    align-items: flex-start;
    align-content: flex-start;
}

.min-svg {
    display: block;
    width: 2.5rem;
    height: 100%;
}

.min-svg img{
    width: 2.5rem;
    height: 100%;
}

.min-title h6{
    color: #707070;
    font-size: 16px;
    line-height: 18px;
    font-weight: 700;
    text-transform: uppercase;
    margin: 0;
}

.min-desc p{
    color: #707070;
    font-size: 16px;
    line-height: 20px;
    font-weight: 300;
    margin: 0;
}

.minimal-img{
    display: block;
    width: 100%;
    height: 70vh;
    background-position: top;
    background-repeat: no-repeat;
    background-size: contain;
}

.minimal-button{
    display: flex;
    padding-top: 3rem;
}

.minimal-cta {
    text-transform: uppercase;
    display: flex;
    padding: 15px 50px;
    background-color: #fff;
    color: #aa1b17;
    text-decoration: none;
    border-radius: 10px;
    text-align: center;
    transition: all 0.3s;
    border: 2px solid #aa1b17;
    font-size: 14px;
    font-weight: 500;
    align-items: center;
    justify-content: center;
    gap: 1rem;
}

.minimal-cta:hover{
    background-color: #aa1b17;
    color: #fff;
}

.slider-product{
    padding-top: 2rem;
    padding-bottom: 5rem;
}

.product-b.swiper-slide {
    height: 80vh;
    filter: brightness(1);
}



.swiper-button-c{
    cursor: pointer;
    display: flex;
    border: 2px solid #707070;
    border-radius: 10px;
    width: 3rem;
    height: 3rem;
    display: flex;
    justify-content: center;
    align-items: center;
    transition: all 0.3s;
}

.swiper-nav-b {
    position: absolute;
    top: 47%;
    width: 100%;
    max-width: 1400px;
    left: 50%;
    transform: translate(-50%, -50%);
    display: flex;
    justify-content: space-between;
    flex-direction: row;
    gap: 1rem;
    z-index: 9;
}

.swiper-button-c{
    cursor: pointer;
    display: flex;
    border: 2px solid #00000050;
    border-radius: 10px;
    width: 3rem;
    height: 3rem;
    display: flex;
    justify-content: center;
    align-items: center;
    transition: all 0.3s;
}

.swiper-button-c svg {
    width: 1rem;
    height: 1rem;
    fill: #00000050;
    transition: all 0.3s;
}

.swiper-button-c:hover{
    border-color: #000000;
}

.swiper-button-c:hover svg{
    fill: #000000;
}

.swiper-button-c.prev-c{
    transform: translateX(2rem);
}
.swiper-button-c.next-c{
    transform: translateX(-2rem);
}

.myProductSwiper{
    padding-bottom: 5rem;
    border-bottom: 1px solid #70707050;
}

.info-prod-container{
    display: flex;
    padding-bottom: 5rem;
    border-bottom: 1px solid #70707050;
}

.info-prod-text{
    display: flex;
    flex-direction: column;
    gap: 2rem;
}

.info-prod-desc{
    display: flex;
    flex-direction: column;
    gap: 2rem;
}

.info-prod-desc h5{
    color: #aa1b17;
    font-size: 16px;
    line-height: 17px;
    font-weight: 700;
    margin: 0;
    text-transform: uppercase;
}

.info-prod-desc span{
    color: #707070;
    font-size: 12px;
    line-height: 17px;
    font-weight: 300;
    margin: 0;
    padding-left: 4.5rem;
}

.info-prod-buttons{
    display: flex;
    flex-direction: column;
    gap: 1rem;
    padding-top: 1rem;
}

.scheda-btn {
    display: flex;
    justify-content: flex-start;
    align-items: center;
}

.scheda-cta {
    background-color: #fff;
    padding: 15px 3rem;
    border-radius: 10px;
    display: flex;
    justify-content: center;
    align-items: center;
    transition: all 0.3s;
    border: 2px solid #aa1b17;
    gap: 1rem;
}

.scheda-cta svg {
    width: 1rem;
    height: 1rem;
}

.scheda-cta span {
    color: #aa1b17;
    text-transform: uppercase;
    font-size: 13px;
    font-weight: 600;
    transition: all 0.3s;
}

.scheda-cta:hover{
    background-color: #aa1b17;
}
.scheda-cta:hover span{
    color: #fff;
}
.scheda-cta:hover .cls-22{
    fill: #fff;
}

.find-beta-btn {
    display: flex;
    justify-content: flex-start;
    align-items: center;
}

.find-beta-cta {
    background-color: #fff;
    padding: 15px 3.85rem;
    border-radius: 10px;
    display: flex;
    justify-content: center;
    align-items: center;
    transition: all 0.3s;
    border: 2px solid #707070;
    gap: 1rem;
}

.find-beta-cta span {
    color: #707070;
    text-transform: uppercase;
    font-size: 13px;
    font-weight: 600;
    transition: all 0.3s;
}

.find-beta-cta:hover{
    background-color: #707070;
}
.find-beta-cta:hover span{
    color: #fff;
}

.info-prod-img{
    display: block;
    width: 100%;
    height: 80vh;
    background-image: url('/assets/frontend/img/png/ultraluce82_angolo.png');
    background-position: center right 5rem;
    background-repeat: no-repeat;
    background-size: contain;
}

.section-colors,
.section-handle{
    padding-top: 5rem;
}

.colors-container{
    padding-bottom: 5rem;
    border-bottom: 1px solid #70707050;
}

.colors-container {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 2rem;
    min-height: 100px;
    padding-bottom: 2rem;
}

.color-card {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 1rem;
    justify-content: space-between;
    margin-bottom: 2rem;
}

.color-card.fade {
    opacity: 0;
}

.color-card {
    transition: opacity 0.3s ease-in-out;
    will-change: opacity;
}

.color-card {
    transition: opacity 0.3s ease;
}

.color-card.fade-out {
    opacity: 0;
}

.color-img{
    width: 100%;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    position: relative;
    height: 140px;
    flex-shrink: 0;
    overflow: hidden;
    border: 1px solid #70707050;
}

.color-experience{
    padding: 7px;
    background-color: #aa1b17;
    border-radius: 4px;
    color: #fff;
    text-transform: uppercase;
    font-size: 9px;
    position: absolute;
    top: 10px;
    right: 10px;
    display: flex;
    justify-content: center;
    align-items: center;
}

.color-experience svg{
    width: 20px;
    height: 20px;
}


.color-text{
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.color-text h4{
    color: #707070;
    font-size: 16px;
    line-height: 18px;
    font-weight: 700;
    text-transform: uppercase;
    margin: 0;
}

.color-text h5{
    color: #707070;
    font-size: 16px;
    line-height: 18px;
    font-weight: 400;
    text-transform: uppercase;
    margin: 0;
}


.handle-container {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1rem;
    min-height: 100px;
    padding-bottom: 5rem;
    border-bottom: 1px solid #f0f0f0;
}

.handle-card {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 1rem;
    justify-content: space-between;
    padding-left: 4rem;
    padding-right: 4rem;
    margin-bottom: 2rem;
}

.handle-card.fade {
    opacity: 0;
}

.handle-card {
    transition: opacity 0.3s ease-in-out;
    will-change: opacity;
}

.handle-card {
    transition: opacity 0.3s ease;
}

.handle-card.fade-out {
    opacity: 0;
}

.handle-img{
    width: 100%;
    background-position: center left 0rem;
    background-repeat: no-repeat;
    background-size: contain;
    position: relative;
    height: 230px;
    flex-shrink: 0;
    overflow: hidden;
}

.handle-experience{
    padding: 7px;
    background-color: #aa1b17;
    border-radius: 4px;
    color: #fff;
    text-transform: uppercase;
    font-size: 9px;
    position: absolute;
    top: 0;
    right: 5px;
    display: flex;
    justify-content: center;
    align-items: center;
}

.handle-experience svg{
    width: 20px;
    height: 20px;
}


.handle-text{
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.handle-text h4{
    color: #707070;
    font-size: 16px;
    line-height: 18px;
    font-weight: 700;
    text-transform: uppercase;
    margin: 0;
}

.handle-text h5{
    color: #707070;
    font-size: 16px;
    line-height: 18px;
    font-weight: 400;
    text-transform: uppercase;
    margin: 0;
}

.find-form-banner{
    padding-top: 5rem;
    padding-bottom: 5rem;
    background-color: #aa1b17;
}

.form-container{
    display: flex;
    flex-direction: column;
    gap: 1rem;
    height: 100%;
    justify-content: left;
}

.find-title-b h4{
    font-size: 50px;
    line-height: 54px;
    font-weight: 300;
    color: #fff;
}

.find-title-b h4 span{
    font-weight: 500;
}

.find-form-info p{
    color: #fff;
    font-size: 18px;
    line-height: 21px;
    font-weight: 100;
}

.find-form-info p span{
    font-weight: 400;
}

.find-form-btn{
    display: flex;
    cursor: pointer;
}

.find-form-cta{
    background-color: #fff;
    border: 2px solid #fff;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 15px;
    padding: 15px 5rem;
    border-radius: 12px;
    transition: all 0.3s;
}

.find-form-cta svg{
    width: 1rem;
    height: 1rem;
    transition: all 0.3s ease;
}

.find-form-cta span{
    color: #aa1b17;
    font-size: 14px;
    font-weight: 700;
    text-align: center;
    text-transform: uppercase;
    transition: all 0.3s ease;
}

.find-form-cta:hover{
    background-color: #aa1b17;
}

.find-form-cta:hover span{
    color: #fff;
}

.find-form-cta:hover .cls-12{
    stroke: #fff;
}

.correlati{
    padding-top: 5rem;
    padding-bottom: 5rem;
}

.prod-correlati-container{
    padding-bottom: 5rem;
    border-bottom: 1px solid #70707050;
}

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

.corr-card{
    display: flex;
    border: 1px solid #70707030;
    border-radius: 10px;
    padding: 2rem;
    gap: 1.5rem;
    transition: all 0.3s ease;
}

.corr-card:hover{
    box-shadow: 0 4px 20px 5px rgba(0, 0, 0, 0.1);
}

.corr-img{
    display: block;
    width: 10rem;
    height: 10rem;
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
}

.corr-txt{
    display: flex;
    flex-direction: column;
    gap: 5px;
    padding-top: 1rem;
    padding-bottom: 1rem;
    justify-content: center;
    align-items: flex-start;
    align-content: flex-start;
}

.corr-txt h6{
    font-size: 30px;
    line-height: 30px;
    font-weight: 700;
    color: #707070;
    margin: 0;
}

.corr-txt p{
    font-size: 21px;
    line-height: 21px;
    font-weight: 300;
    color: #707070;
    margin: 0;
    width: 75%;
}

.suggest-container{
    padding-top: 5rem;
}

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

.suggest-card {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
    width: 100%;
    height: 10rem;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    justify-content: center;
    align-items: flex-start;
    padding: 10rem 5rem;
    border-radius: 15px;
    overflow: hidden;
}

.suggest-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: inherit; 
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    filter: brightness(0.8);
    z-index: 1; 
}

.suggest-card * {
    position: relative;
    z-index: 2; 
}

.sugg-title h6{
    font-size: 40px;
    line-height: 40px;
    font-weight: 700;
    color: #fff;
    margin: 0;
}

.sugg-btn {
    display: flex;
}

.sugg-cta {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 15px;
    padding: 15px 3rem;
    background-color: transparent;
    border-radius: 12px;
    transition: all 0.3s;
    border: 2px solid #fff;
}

.sugg-cta span{
    color: #fff;
    font-size: 14px;
    font-weight: 500;
    text-align: center;
    text-transform: uppercase;
    transition: all 0.3s ease;
}

.sugg-cta svg{
    width: 1rem;
    height: 1rem;
    fill: #fff;
}

.suggest-card:hover .sugg-cta{
    background-color: #aa1b17;
    border-color: #aa1b17;
}

.handle-desc{
    margin-bottom: 2rem;
}

.handle-desc p{
    color: #707070;
    font-size: 18px;
    line-height: 23px;
    font-weight: 300;
}


.template-content ul {
    margin-top: 1rem!important;
    margin-bottom: 1rem!important;
    padding-left: 0;
}

.template-content ul li {
    position: relative;
    padding-left: 28px;
    margin-bottom: 4px;
    font-weight: 200;
    font-size: 20px;
}

.template-content ul li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 6px;
    width: 14px;
    height: 14px;
    background-image: url("/assets/frontend/img/svg/plus-red.svg");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}

.template-content p{
    font-size: 20px;
    font-weight: 200;
    line-height: 24px;
    color: #141414;
}

.template-content{
    font-size: 20px;
    font-weight: 200;
    line-height: 24px;
    color: #141414;
}

.news-text p{
    font-weight: 200;
    font-size: 20px;
    line-height: 24px;
    color: #141414;
}

.no-posts p{
    font-weight: 200;
    font-size: 20px;
    line-height: 24px;
    color: #141414;
}

.cert-wrapper{
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 1rem;
    padding-top: 4rem;
    padding-bottom: 6rem;
    border-bottom: 1px solid #70707050;
}

.cert-img{
    display: block;
    width: 100%;
    height: 7rem;
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
}

.partner-container{
    padding-top: 5rem;
    padding-bottom: 2rem;
}

.partner-wrapper{
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1rem;
    padding-top: 4rem;
    padding-bottom: 0;
}

.partner-img{
    display: block;
    width: 100%;
    height: 7rem;
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    filter: grayscale(100%);
    transition: all 0.3s ease;
}

.partner-img:hover{
    filter: grayscale(0%);
}

.made-container{
    display: flex;
    flex-direction: column;
    gap: 0rem;
    padding-top: 2rem;
}

.banner-made {
    padding-top: 5rem;
    padding-bottom: 5rem;
}

.made-img{
    display: block;
    width: 100%;
    height: 100%;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}

.banner-unisciti{
    padding-top:5rem;
    padding-bottom: 5rem;
    background-color: #aa1b17;
    border-radius: 20px;
    position: relative;
    z-index: 1;
    margin-top: -1rem;
}

.unisciti-container{
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.become-btn {
    display: flex;
}

.become-cta {
    background-color: #aa1b17;
    border-radius: 7px;
    display: flex;
    gap: 2rem;
    justify-content: center;
    align-items: center;
    padding: 15px 3rem;
    text-transform: uppercase;
    cursor: pointer;
    transition: all 0.3s ease;
    border: 2px solid #aa1b17;
}

.become-cta span {
    color: #fff;
    font-size: 14px;
    line-height: 17px;
    font-weight: 500;
    text-transform: uppercase;
    transition: all 0.3s ease;
}

.become-cta:hover {
    background-color: #707070;
    border: 2px solid #fff;
}

.become-cta svg{
    width: 1rem;
    height: 1rem;
}

.products-description{
    display: flex;
    flex-direction: column;
    gap: 1rem;
    padding-bottom: 5rem;
    border-bottom: 1px solid #70707050;
}

.products-description p{
    color: #707070;
    font-size: 18px;
    line-height: 23px;
    font-weight: 300;
}

.products-description p span{
    font-weight: 500;
}

.banner-perfect {
    padding-top: 4rem;
    padding-bottom: 4rem;
    position: relative;
    background-color: #f0f0f0;
}

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

.bottom-product.perfect{
    flex: none;
}

.hero-description{
    padding: 2rem 0 5rem 0;
}

.hero-description p{
    color: #fff;
    font-size: 18px;
    line-height: 23px;
    font-weight: 300;
}

.soste-section{
    padding-top: 5rem;
    padding-bottom: 0;
}

.soste-container{
    padding-bottom: 5rem;
    border-bottom: 1px solid #70707050;
    display: flex;
}

.soste-inner {
    display: flex;
    flex-direction: column;
    gap: 0rem;
}

.soste-gallery-container{
    padding-top: 5rem;
}

.soste-desc{
    display: flex;
    flex-direction: column;
    gap: 2rem;
    padding-top: 2rem;
    padding-bottom: 2rem;
}

.soste-desc p{
    color: #707070;
    font-size: 18px;
    line-height: 23px;
    font-weight: 300;
}

.soste-desc p span{
    font-weight: 500;
}









.hermans-gallery {
    padding-bottom: 4rem;
}

.hermans-gallery-container {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 2rem;
    height: 32rem;
    overflow: hidden;
    transition: height 0.3s ease;
}

.hermans-gallery-container.expanded {
    height: max-content;
}

.hermans-img {
    display: block;
    height: 15rem;
    width: 100%;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    cursor: pointer;
    border: 1px solid #707070;
}

.gallery-pattern {
    background: #000000ad;
    position: fixed;
    top: 0;
    width: 100%;
    display: flex;
    height: 100%;
    z-index: 9999;
    align-content: center;
    align-items: center;
    left: 0;
    transition: 0.5s;
    opacity: 0;
    visibility: hidden;
    justify-content: center;
}

.close-gallery {
    position: absolute;
    z-index: 999;
    color: #fff;
    top: 0.5rem;
    height: 1.5rem;
    right: 1.5rem;
    width: 1.5rem;
    cursor: pointer;
}

.controls {
    display: flex;
    align-content: center;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: space-between;
    position: relative;
    align-items: center;
    width: 100%;
    z-index: 11;
    margin: auto 8rem;
}

.images-gallery {
    top: 0;
    position: fixed;
    width: 100%;
    z-index: 10;
    height: 100%;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-content: center;
    justify-content: center;
    align-items: center;
}

.box-image-gallery {
    width: 80%;
    top: 0rem;
    display: flex;
    height: 70vh;
    position: relative;
    flex-wrap: nowrap;
    flex-direction: row;
    align-content: center;
    justify-content: center;
}

.item-gallery {
    width: 100%;
    display: none;
    text-align: center;
}

.item-gallery.animate__animated {
    animation-duration: 0.3s;
    --animate-delay: 0.3s;
}

.item-gallery > img {
    max-width: 100%;
    height: auto;
    max-height: 70vh;
    border-radius: 0;
    max-width: 77vw;
}

.show-more-btn {
    width: 100%;
    display: flex;
    justify-content: center;
}



.gallery-toggle {
    cursor: pointer;
}

.cta-content {
    display: flex;
    gap: 20px;
    align-items: center;
}

.cta-content svg {
    fill: #fff;
    width: 1rem;
    transition: all 0.3s;
    mix-blend-mode: difference;
}

.arrow-cta svg {
    width: 1rem;
    height: 1rem;
    transition: all 0.3s;
}

.arrow-cta{
    display: flex;
}

.cta-content span {
    font-size: 12px;
    line-height: 14px;
    font-weight: 600;
    transition: all 0.3s;
    text-transform: uppercase;
}

.cta-c {
    padding: 14px 30px;
    border: 2px solid #707070;
    border-radius: 8px;
    transition: all 0.3s;
    background-color: transparent;
}

.cta-c .cta-content span {
    color: #707070;
}

.cta-c:hover {
    background-color: #707070;
}
.cta-c:hover .cta-content span {
    color: #fff;
}
.cta-c:hover .cls-111{
    stroke: #fff;
}

.show {
    visibility: visible !important;
    opacity: 1 !important;
    transform: translateY(0);
}

.item-gallery.show {
    display: block;
}

.event-btn-sec{
    padding-bottom: 5rem;
}

.banner-produzione {
    padding-top: 6rem;
    padding-bottom: 6rem;
    position: relative;
}

.banner-produzione::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: url('/assets/frontend/img/jpg/banner-produzione-sostenibile.jpg');
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    filter: brightness(0.7);
    z-index: -1;
}

.produzione-content {
    display: flex;
    flex-direction: column;
    gap: 2rem;
    position: relative;
}

.produzione-title h2 {
    font-size: 50px;
    line-height: 54px;
    font-weight: 300;
    color: #fff;
    margin-bottom: 0;
}

.produzione-title h2 span{
    font-weight: 500;
}

.produzione-desc p{
    color: #fff;
    font-weight: 500;
    font-size: 17px;
    line-height: 21px;
}


.banner-visita{
    padding-top: 2rem;
    padding-bottom: 5rem;
}

.visita-container {
    display: flex;
    flex-direction: column;
    gap: 0rem;
}

.visita-desc{
    padding-top: 4rem;
    display: flex;
    flex-direction: column;
}

.visita-desc p{
    color: #707070;
    font-size: 18px;
    line-height: 23px;
    font-weight: 300;
}

.visita-desc p span{
    font-weight: 500;
}

.visita-desc p a{
    font-weight: 500;
    text-decoration: underline;
    color: #707070;
    transition: all 0.3s;
}

.visita-desc p a:hover{
    color: #000;
}

.diventa-content p {
    color: #707070;
    font-size: 18px;
    line-height: 23px;
    font-weight: 300;
}

.diventa-content{
    display: flex;
    flex-direction: column;
    gap: 2rem;
    padding-top: 2rem;
    padding-bottom: 4rem;
}

.diventa-content p span{
    font-weight: 500;
}

.diventa-content p a{
    text-decoration: underline;
    font-weight: 500;
    color: #707070;
    transition: all 0.3s;
}

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

.contatti-section{
    padding-top: 5rem;
    padding-bottom: 3rem;
    background-color: #fff;
}

.contatti-intro{
    display: grid;
    grid-template-columns: repeat(2,1fr);
    gap: 4rem;
}

.contatti-text p {
    font-size: 20px;
    line-height: 24px;
    font-weight: 200;
    color: #141414;
}

.lavora-section{
    padding-top: 5rem;
    padding-bottom: 3rem;
    background-color: #fff;
}

.lavora-desc p{
    font-size: 20px;
    line-height: 24px;
    font-weight: 200;
    color: #141414;
}



.contatti-content{
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 2rem;
    padding-top: 2rem;
    padding-bottom: 5rem;
}

.contatti-card{
    display: flex;
    flex-direction: column;
    gap: 1rem;
    padding: 2rem;
    background-color: #fff;
    border-radius: 20px;
    transition: all 0.3s;
    border: 2px solid #f0f0f0;
    box-shadow: 0 4px 20px 5px rgba(0, 0, 0, 0.1);
}
.sede-principale{
    padding-top: 5rem;
}
.sede-principale .contatti-card{
    display: grid;
    grid-template-columns: repeat(2,1fr);
    gap: 2rem;
}
.sede-principale .contatti-img{
    height: 300px;
}
.principale-content{
    display: flex;
    flex-direction: column;
    gap:1rem;
    justify-content: center;
}

.contatti-img{
    width: 100%;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    border-radius: 20px;
    position: relative;
    height: 250px;
    flex-shrink: 0;
    overflow: hidden;
    margin-bottom: .5rem;
}

.contatti-title h4{
    font-size: 35px;
    line-height: 38px;
    font-weight: 600;
    color: #aa1b17;
}

.contatti-desc h6{
    display: flex;
    flex-direction: column;
}

.contatti-desc h6{
    font-size: 16px;
    line-height: 16px;
    font-weight: 400;
    color: #141414;
    text-transform: uppercase;
    margin: 0;
}

.contatti-desc{
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.contatti-desc p {
    font-size: 20px;
    line-height: 24px;
    font-weight: 200;
    color: #141414;
}

.contatti-buttons{
    display: flex;
    gap: 15px;
    margin-top: 1rem;
    justify-content: space-between;
}

.btn-c{
    display: flex;
    gap: 1rem;
    padding: 12px 2rem;
    border: 2px solid #aa1b17;
    border-radius: 11px;
    transition: all 0.3s;
    width: 100%;
}

.btn-c svg{
    width: 1rem;
    height: 1rem;
    transition: all 0.3s;

}
.btn-c span{
    font-size: 15px;
    line-height: 14px;
    font-weight: 500;
    color: #aa1b17;
    text-transform: uppercase;
    margin: 0;
    letter-spacing: 1px;
    transition: all 0.3s;
}

.btn-c:hover{
    background-color: #aa1b17;
}
.btn-c:hover span{
    color: #fff;
}
.btn-c:hover svg{
    fill: #fff;
}

.contatti-card:hover {
    /* background-color: #fff;
    box-shadow: 0 4px 20px 5px rgba(0, 0, 0, 0.1);
    transform: scale(1.02); */
}

.find-desc p{
    color: #fff;
    font-size: 18px;
    line-height: 23px;
    font-weight: 300;
}

.find-cta.beta {
    background-color: #aa1b17;
    border: 2px solid #fff;
    padding: 15px 3.5rem;
}

.find-cta.beta span {
    color: #fff;
}

.find-cta.beta:hover{
    background-color: #fff;
}

.find-cta.beta:hover span{
    color: #aa1b17;
}

.find-cta.beta:hover .cls-142{
    stroke: #aa1b17;
}

.banner-newsletter{
    padding-top: 5rem;
    padding-bottom: 5rem;
}

.find-title-c h4{
    font-size: 50px;
    line-height: 54px;
    font-weight: 300;
    color: #707070;
}

.find-title-c h4 span{
    font-weight: 500;
}

.find-desc-c{
    padding-top: 1rem;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.find-desc-c p {
    color: #707070;
    font-size: 18px;
    line-height: 23px;
    font-weight: 300;
}

.input-group.grey input, 
.input-group.grey .input-c {
    border: 1px solid #f0f0f0;
    background: #f0f0f0;
    color: #707070;
}

.input-group.grey .input-c {
    -moz-appearance: none !important;
    -webkit-appearance: none !important;
    appearance: none !important;
    background: url(/assets/frontend/img/svg/piu.svg) !important;
    background-size: 15px !important;
    background-repeat: no-repeat !important;
    background-position: calc(100% - 10px) center !important;
    cursor: pointer !important;
    background-color: #f0f0f0 !important;
}

.input-group.grey input::placeholder,
.input-d::placeholder{     
    color: #a0a0a0;     
    font-size: 16px;      
    font-weight: 400;      
}

.input-group.grey .input-c option{
    color: #707070;
    font-size: 16px; 
    font-weight: 400; 
    cursor: pointer;
}

.privacy-label.grey span {
    color: #f7f7f7;
    font-weight: 300;
}

.privacy-label.grey .checkbox-c[type=checkbox]{
    background: #f0f0f0;
}
.privacy-label.grey .checkbox-c:checked[type=checkbox] {
    background-size: 14px 14px;
    background-position: center;
    background-repeat: no-repeat;
    background-image: url(/assets/frontend/img/svg/plus-red.svg);
}

.checkbox-group.grey h6 {
    font-weight: 600;
    color: #707070;
}

.privacy-label.grey span a {
    color: #f7f7f7;
}

.banner-candidatura {
    background-color: #aa1b17;
    padding-top: 5rem;
    padding-bottom: 7rem;
    border-radius: 20px;
    position: relative;
    z-index: 0;
    margin-top: -1rem;
}

.cv-sec{
    padding-top: 2rem;
}

.cv-title{
    display: flex;
    flex-direction: column;
    gap: 4px;
    padding-bottom: 0.7rem;
}

.cv-title label{
    font-size: 15px;
    line-height: 15px;
    font-weight: 700;
    color: #707070;
    text-transform: uppercase;
}

small{
    font-size: 14px;
    line-height: 14px;
    color: #707070;
    font-weight: 300;
}









.custom-file-input {
    position: relative;
    overflow: hidden;
    width: 100%;
    cursor: pointer;
}
.custom-file-input input[type=file] {
    position: absolute;
    top: 0;
    right: 0;
    min-width: 100%;
    min-height: 100%;
    font-size: 100px;
    text-align: right;
    filter: alpha(opacity=0);
    opacity: 0;
    outline: none;
    background: white;
    cursor: inherit;
    display: block;
}
.custom-file-input .file-custom {
    position: relative;
    display: inline-flex;
    height: 48px;
    width: 100%;
}
.custom-file-input .file-select {
    background-color: #707070;
    border: 2px solid #707070;
    color: #fff;
    padding: 12px 30px;
    border-radius: 10px;
    text-transform: uppercase;
    cursor: pointer;
    font-size: 13px;
    position: absolute;
    transition: all 0.3s;
}
.custom-file-input .file-name {
    color: #707070;
    border: 1px solid #f0f0f0;
    border-radius: 8px;
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
    padding: 12px 10rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    width: 100%;
    background-color: #f0f0f0;
    font-size: 13px;
    display: flex;
    flex-direction: row;
}   


.current-pdf{
    margin-top: 0.5rem;
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.pdf-link{
    font-size: 14px;
    line-height: 14px;
    font-weight: 400;
    color: #707070;
    display: flex;
    align-items: center;
    gap: 5px;
}

.posizioni-section{
    background-color: #fff;
}

.posizioni-card{
    background-color: #f0f0f0;
    border-radius: 15px;
    padding: 2rem;
    transition: all 0.3s;
    height: 6rem;
    cursor: pointer;
    overflow: hidden;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.posizioni-card.active{
    background-color: #fff;
    height: max-content!important;
    box-shadow: 0 4px 20px 5px rgba(0, 0, 0, 0.1);
}

.posizioni-header{
    display: flex;
    justify-content: space-between;
    width: 100%;
    align-items: center;
}

.posizioni-header h4 {
    display: -webkit-box;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    overflow: hidden;
    margin: 0;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    max-height: 56px; /* Altezza approssimativa per due righe */
    font-size: 34px;
    line-height: 37px;
  }

.cls-1996{ 
    transition: all 0.3s;
}

.posizioni-header.active h4{ 
    color: #aa1b17;
    -webkit-line-clamp: unset;
        max-height: none;
}
.posizioni-card:hover h4{ 
    color: #aa1b17;
}
.posizioni-card:hover .cls-1996{ 
    fill: #aa1b17;
}

.posizioni-body {
    opacity: 0;
    transform: translateY(-10px);
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    margin-top: 2rem;
}

.posizioni-card.active .posizioni-body {
    opacity: 1;
    transform: translateY(0);
}

.icon-dropdown-b {
    width: 1.5rem;
    height: 1.5rem;
    transition: all 0.3s;
    position: relative;
    display: flex;
    align-items: center;
}

.icon-dropdown-b svg {
    fill: #fff;
    width: 100%;
    height: 100%;
}


.icon-wrapper-b {
    width: 1.5rem;
    height: 1.5rem;
    position: relative;
}

.icon-square-b {
    width: 100%;
    height: 100%;
    border: 1px solid #fff;
    border-radius: 2px;
    transition: all 0.3s ease;
}

.icon-icon-b {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 0.60rem;
    height: 0.60rem;
}

.icon-line-b {
    position: absolute;
    background-color: #fff;
    transition: all 0.3s ease;
}

.icon-horizontal-b {
    width: 100%;
    height: 1px;
    top: 50%;
    transform: translateY(-50%);
}

.icon-vertical-b {
    height: 100%;
    width: 1px;
    left: 50%;
    transform: translateX(-50%);
}

.icon-square-b {
    border: 2px solid #56575c;
}
.icon-line-b{
    background-color: #56575c;
}

/* .dropdown-open .icon-square-b{
    border: 1px solid #56575c;
}

.dropdown-open .icon-line-b{
    background-color: #56575c;
} */
  
.icon-wrapper-b.active .icon-vertical-b {
    transform: translateX(-50%) rotate(90deg);
}

.icon-wrapper-b.active .icon-square-b{
    border: 2px solid #aa1b17;
}

.icon-wrapper-b.active .icon-line-b{
    background-color: #aa1b17;
}

.posizioni-cards-container{
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
    padding-top: 2rem;
    padding-bottom: 5rem;
}

.candidatura-form-title{
    padding-top: 2rem;
    padding-bottom: 2rem;
}

.candidatura-form-title h2 {
    font-size: 55px;
    line-height: 55px;
    font-weight: 400;
    color: #fff;
    margin: 0;
}

.candidatura-form-title h2 span {
    font-size: 50px;
    line-height: 54px;
    font-weight: 500;
    color: #aa1b17;
}

.posizioni-foot{
    display: flex;
    flex-direction: column;
    gap: 2rem;
    padding-top: 2rem;
}

.posizioni-body p{
	font-size: 21px;
	line-height: 24px;
	font-weight: 400;
	color: #141414;
}

.posizioni-body p span{
    font-weight: 500;
}

.posizioni-foot p{
    color: #141414;
    font-size: 16px;
    line-height: 18px;
    font-weight: 400;
}

.posizioni-body ul {
    margin-top: 0.5rem;
    margin-bottom: 2rem!important;
    padding-left: 0;
}

.posizioni-body ul li {
    position: relative;
    padding-left: 28px;
    margin-bottom: 1px;

	font-size: 21px;
    line-height: 24px;
    font-weight: 400;
    color: #141414;
}

.posizioni-body li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 6px;
    width: 14px;
    height: 14px;
    background-image: url("/assets/frontend/img/svg/plus-red.svg");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}

.form-richiedi-prev{
    padding-bottom: 5rem;
}

.form-scarica-catalogo{
    padding-bottom: 5rem;
}


.blog-tab-menu-mobile {
    display: none;
}
.blog-tab-menu-mobile {
    display: none;
    margin-bottom: 2rem;
}

.input-group.grey-b .input-c {
    -moz-appearance: none !important;
    -webkit-appearance: none !important;
    appearance: none !important;
    background: url(/assets/frontend/img/svg/plus-red.svg) !important;
    background-size: 15px !important;
    background-repeat: no-repeat !important;
    background-position: calc(100% - 10px) center !important;
    cursor: pointer !important;
    background-color: #fff !important;
}
.input-group.grey-b input, .input-group.grey-b .input-c {
    border: 1px solid #70707080;
    background: #f0f0f0;
    color: #707070;
}
.input-group.grey-b .input-c option {
    color: #707070;
    font-size: 11px;
    font-weight: 400;
    cursor: pointer;
}
.input-group.grey-b .input-c:focus{
    outline: none !important;
    box-shadow: none !important;
    border-color: #70707080 !important;
}

.text-success {
    color: #aa1b17!important;
}

























































































.swiper-pagination {
    position: absolute;
    right: 7.65rem!important;
    top: 50%!important;
    transform: translateY(-50%)!important;
    display: flex;
    flex-direction: column; /* Rende i puntini verticali */
    gap: 5px; /* Spazio tra i puntini */
    z-index: 999999;
}

.swiper-pagination-bullet {
    width: 10px;
    height: 10px;
    background-color: #ffffff50;
    opacity: 0.3;
    border-radius: 50%;
    transition: opacity 0.3s;
    cursor: pointer;
}

.swiper-pagination-bullet-active {
    opacity: 1;
    background-color: #fff;
}

.hero-inside-button-container{
    width: 100%;
    display: flex;
    justify-content: left;
    align-items: center;
}

.hero-inside-button{
    padding: 20px 3.5rem;
    background-color: #c21b17;
    border: 2px solid #c21b17;
    border-radius: 15px;
}

.hero-inside-button span{
    font-family: "Afacad Flux", serif;
    font-size: 16px;
    font-weight: 500;
    color: #fff;
    text-transform: uppercase;
    letter-spacing: 1px;
}



.hero-title-text, 
.hero-button-text {
    transition: opacity 0.3s ease;
}

.hero-title-text.fade-out,
.hero-button-text.fade-out {
    opacity: 0;
}

.nav-link.cms {
    padding: 0;
    font-size: 10px;
    font-weight: 500;
    line-height: 1.5em;
    padding: 2rem;
    /* padding-right: 1rem !important; */
    /* padding-left: 1rem !important; */
    margin: 0 1rem;
    letter-spacing: 2px;
    display: flex;
    color: var(--secondary-color);
    fill: var(--secondary-color);
    transition: 0.2s;
    cursor: pointer;
    align-items: center;
    text-transform: uppercase;
    gap: 1rem;
}


.dropdown-menu .sub-menu .nav-item .nav-link.cms {
    color: #fff;
    margin: 0;
    padding: 1rem 1rem 0 1rem;
    transition: 0.1s all;
}


.dropdown-menu .sub-menu .nav-item .nav-link.cms {
    color: #fff;
    margin: 0;
    padding: 10px;
    transition: 0.2s all;
    font-size: 13px;
    line-height: 13px;
    font-weight: 400;
    letter-spacing: 0;
    border-radius: 0;
    padding: 10px 0;
}
.nav-link.cms img {
    width: .8rem;
}













.dropdown-menu .sub-menu .nav-item .nav-link.cms {
    position: relative;
    display: flex;
    align-items: center;
    transform: translateX(-14%);
    transition: all 0.3s ease;
}


.dropdown-menu .sub-menu .nav-item .nav-link.cms:hover {
    transform: translateX(0);
}






















.home-card{
    display: flex;
    gap: 4rem;
    padding: 2.5rem 2rem;
    flex-direction: row;
    border: 2px solid #fff;
    transition: all 0.3s;
    justify-content: center;
    align-content: center;
    align-items: center;
}

.home-card:hover{
    border: 2px solid #c21b17;
}

.home-card-text{
    display: flex;
    flex-direction: column;
    gap: 0rem;
}

.home-card-text span{
    font-size: 16px;
    font-weight: 500;
    line-height: 14px;
    text-transform: uppercase;
    color: #aa1b17;
    letter-spacing: 1px;
}

.home-card-img svg{
    width: 7rem;
    height: 5rem;
}

.intro-section{
    padding-top: 2rem;
    padding-bottom: 5rem;
    background-color: #fff;
}

.intro-container{
    display: flex;
}

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

.intro-text h2{
    font-family: 'Bodoni Moda', serif;
    font-size: 40px;
    line-height: 45px;
    font-weight: 700;
    color: #141414;
}

.intro-text p{
    font-size: 21px;
    line-height: 24px;
    font-weight: 200;
    color: #141414;
}

.intro-buttons-container{
    display: flex;
    gap: 2rem;
    padding-top: 1rem;
}

.button-a {
    padding: 20px 3.5rem;
    background-color: #c21b17;
    border: 2px solid #c21b17;
    border-radius: 15px;
    color: #fff;
    text-transform: uppercase;
    transition: all 0.3s;
    font-weight: 500;
    font-size: 16px;
    letter-spacing: 1px;
    display: flex;
    justify-content: center;
    align-items: center;
}

.button-a:hover{
    background-color: #fff;
    border: 2px solid #c21b17;
    color: #c21b17;
}

.button-b {
    padding: 20px 3.5rem;
    background-color: #fff;
    border: 2px solid #c21b17;
    border-radius: 15px;
    color: #c21b17;
    text-transform: uppercase;
    transition: all 0.3s;
    font-weight: 500;
    letter-spacing: 1px;
    font-size: 16px;
    display: flex;
    justify-content: center;
    align-items: center;
}

.button-b:hover{
    background-color: #c21b17;
    border: 2px solid #c21b17;
    color: #fff;
}

.button-c {
    padding: 20px 3.5rem;
    background-color: #aa1b17;
    border-radius: 15px;
    border: 2px solid #fff;
    color: #fff;
    text-transform: uppercase;
    transition: all 0.3s;
    font-weight: 500;
    letter-spacing: 1px;
    font-size: 16px;
}

.button-c:hover{
    background-color: #fff;
    border: 2px solid #fff;
    color: #c21b17;
}

.button-d {
    padding: 20px 3.5rem;
    background-color: #70707050;
    border-radius: 15px;
    border: 2px solid #70707050;
    color: #707070;
    text-transform: uppercase;
    transition: all 0.3s;
    font-weight: 500;
    letter-spacing: 1px;
    font-size: 16px;
    cursor: pointer;
}

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

.intro-img{
    display: block;
    width: 100%;
    height: 100%;
    border-radius: 20px;
    background-position: bottom;
    background-repeat: no-repeat;
    background-size: cover;
    background-image: url('/assets/frontend/img/jpg/tugliani-sielli-1.jpg');
    filter: brightness(0.9);
}

.slider-section {
    position: relative;
    margin-bottom: -150px;
    padding-top: 0;
    background-color: #fff;
}

.slider-wrapper-beta{
    display: flex;
    justify-content: center;
    gap: 25px;
    position: relative;
    z-index: 7;
}

.home-news-section{
    background-color: #aa1b17;
    padding-top: 17rem;
    padding-bottom: 9rem;
    border-radius: 20px;
    position: relative;
    z-index: 1;
}

.swiper.swiper-beta {
    width: 100%;
    height: 70vh;
    border-radius: 20px;
}

.swiper-slide.beta{
    height: 70vh;
    filter: brightness(1);
}

.swiper-nav.beta{
    position: absolute;
    bottom: 2rem;
    left: 2rem;
    border-radius: 13px;
    z-index: 2;
    gap: 0;
    background: #c21b17;
}

.swiper-button:hover{
    background: #aa1b17;
}

.home-news-container{
    display: flex;
    align-content: center;
    justify-content: center;
    gap: 2rem;
    flex-direction: column;
}

.title-withe h4{
    font-size: 55px;
    line-height: 55px;
    font-weight: 400;
    color: #fff;
}

.home-news-cards{
    display: flex;
    gap: 2rem;
    align-items: center;
    justify-content: center;
}

.home-news-card{
    gap: 2rem;
    padding: 1rem;
    background-color: #fff;
    border-radius: 20px;
    max-width: 38vw;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
}

.home-news-card-content{
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 1rem;
}

.home-news-card-img{
    display: block;
    width: 100%;
    height: 35vh;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    border-radius: 15px;
}

.home-news-card-button{
    display: flex;
    flex-direction: row;
    gap: 0.5rem;
    flex-wrap: wrap;
}

.home-news-card-button span{
    font-size: 12px;
    line-height: 12px;
    font-weight: 500;
    color: #aa1b17;
    padding: 6px 1rem;
    border: 2px solid #aa1b1720;
    text-transform: uppercase;
    border-radius: 8px;
    max-width: fit-content;
}

.home-news-card-text{
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    height: 100%;
}

.home-news-card-text h6{
    font-size: 31px;
    line-height: 29px;
    font-weight: 600;
    color: #171717;
}

.home-news-card-text p{
    font-size: 17px;
    line-height: 21px;
    font-weight: 300;
    color: #171717;
}

.title-withe{
    width: 100%;
    display: flex;
    justify-content: center;
}

.home-news-button{
    width: 100%;
    display: flex;
    justify-content: center;
    align-content: center;
    align-items: center;
}


.home-form-section{
    padding-top: 9rem;
    padding-bottom: 7rem;
    background-image: url('/assets/frontend/img/jpg/form_background.jpg');
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    position: relative;
    z-index: 0;
    margin-top: -1rem;
    border-bottom-left-radius: 20px;
    border-bottom-right-radius: 20px;
}
.home-form-section.beta{
    background-image: inherit;
    border-radius: 20px;
    background-color: #aa1b17;
}

.home-form-container{
    display: flex;
}

.home-form-title-container{
    display: flex;
    flex-direction: column;
    gap: 2rem;
}

.home-form-title-container span{
    font-size: 21px;
    line-height: 30px;
    font-weight: 200;
    color: #fff;
}

.home-form-title-container span a{
    text-decoration: underline;
    font-size: 21px;
    line-height: 23px;
    font-weight: 400;
    color: #fff;
}

.footer-header{
    display: flex;
    justify-content: space-between;
    padding-bottom: 2rem;
    border-bottom: 1px solid #ffffff50;
}

.footer-logo svg{
    width: 16rem;
}

.footer-social-container{
    display: flex;
    gap: 4rem;
    align-items: center;
}

.footer-social-container span{
    font-size: 21px;
    line-height: 23px;
    font-weight: 400;
    color: #fff;
}

.footer-social{
    display: flex;
    gap: 15px;
}










.sede-header{
    display: flex;
    justify-content: space-between;
    align-items: center;
    transition: all 0.3s;
    cursor: pointer;
    padding: 20px 0;
    border-bottom: 1px solid #a0a0a0;
}

.sede-header:hover span{
	color: #fff;
}

.sede-header span{
    font-size: 21px;
    line-height: 23px;
    font-weight: 400;
    color: #a0a0a0;
    transition: all 0.3s;
}

.sede-header.active span{
    color: #fff;
}

.sede-header svg{
    width: 1rem;
    transition: transform 0.3s ease;
    transform: rotate(0deg);
}

.sede-header.active svg{
    transform: rotate(45deg);
}

.sede-body{
    display: flex;
    height: 0;
    transition: all 0.3s;
    opacity: 0;
    visibility: hidden;
    overflow: hidden;
    transform: translateY(-10px);
    flex-direction: column;
    gap: 1rem;
}

.sede-body.active{
    height: max-content;
    opacity: 1;
    visibility: visible;
    transform: translateY(0px);
    padding: 15px 0;
}

.sede-info h6{
    font-size: 14px;
    line-height: 14px;
    font-weight: 400;
    color: #a0a0a0;
    text-transform: uppercase;
    margin: 0;
}

.sede-info p{
    font-size: 16px;
    line-height: 17px;
    font-weight: 300;
    color: #a0a0a0;
}

.sede-info{
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.footer-sedi-list{
    display: flex;
    flex-direction: column;
}

.footer-sede.mini:not(:last-child){
    border-bottom: 1px solid #a0a0a0;
}

.footer-sede.mini{
    padding: 10px 0;
    font-size: 17px;
    line-height: 17px;
    font-weight: 400;
    color: #a0a0a0;
    text-transform: uppercase;
}

.footer-sede.mini .sede-header{
    padding: 0;
    border-bottom: 0;
}

.footer-sede.mini .sede-header span{
    font-size: 17px;
    line-height: 17px;
    font-weight: 400;
    color: #a0a0a0;
    text-transform: uppercase;
    padding: 0;
}

.footer-sede.mini .sede-header svg {
    width: 0.8rem;
    transition: transform 0.3s ease;
    transform: rotate(0deg);
}

.footer-sede.mini .sede-header.active svg {
    transform: rotate(45deg);
}

.footer-sede.mini .sede-header.active span {
    color: #fff;
}

.footer-sede.mini{
    transition: all 0.3s;
}

.footer-sede.mini:hover{
    color: #fff;
}

.footer-sede.mini:hover .sede-header span {
    color: #fff;
}

.sede-body.mini.active{
    padding: 15px;
}

.sede-body.mini ul li:not(:last-child){
    padding-bottom: 10px;
}


.sede-body.mini ul li a{
    font-size: 17px;
    line-height: 17px;
    font-weight: 400;
    color: #a0a0a0;
    text-transform: none;
    transition: all 0.3s;
}

.sede-body.mini ul li a:hover{
    color: #fff;
}


.footer-grid{
    padding-top: 2rem;
}

.input-e{
    background-color:#141414!important;
    color: #fff!important;
    border: 2px solid #a0a0a0!important;
}

.checkbox-c.withe{
    border: 1px solid #a0a0a0;
    margin-top: 3px!important;
}
.checkbox-c:checked.withe{
    background-image: url(/assets/frontend/img/svg/plus-withe.svg)!important;
}


.footer-message {
    position: absolute;
    color: #fff;
    top: inherit;
    bottom: 0;
    width: 100%;
    font-size: 1.5rem;
    left: 0;
    background: #141414;
    padding: 3rem;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-left: 0;
    flex-direction: column;
}

.not-show{
    display: none;
}

.footer-info span:nth-child(6n) {
    padding-left: 0;
}




.tris-grid{
    display: grid;
    grid-template-columns: repeat(3,1fr);
}

.tris-el{
    display: flex;
    flex-direction: column;
    gap: 1rem;
    width: 75%;
}

.tris-img{
    display: block;
    height: 8rem;
    width: 8rem;
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
}

.tris-title h4{
    font-size: 24px;
    line-height: 27px;
    color: #141414;
    font-weight: 500;
}

.tris-desc p{
    color: #141414;
    font-size: 21px;
    line-height: 24px;
    font-weight: 200;
}

.azienda-tris{
    background-color: #fff;
    padding-top: 0rem;
    padding-bottom: 9rem;
}

.tris-content{
    display: flex;
    flex-direction: column;
    gap: 1rem;
}



/*____________________________________________________________________________________*/
/*FORM BETA*/

.beta .input-group input, .input-c.beta, .input-d.beta {
    border: 1px solid #ffff;
    background-color: transparent;
    color: #fff;
}

.beta .input-c.beta {
    background-color: transparent;
    background-image: url(/assets/frontend/img/svg/plus-withe.svg);
    font-weight: 400;
}


.beta .input-group input::placeholder{     
    color: #fff;
    font-weight: 300;         
}
.beta .input-d::placeholder{          
    color: #fff;    
    font-weight: 300; 
}

.beta .privacy-label.grey .checkbox-c[type=checkbox] {
    background: transparent;
    border: 1px solid #fff;
}

.beta .privacy-label.grey .checkbox-c:checked[type=checkbox] {
    background-image: url(/assets/frontend/img/svg/plus-withe.svg);
}

.beta .banner-cta {
    border: 2px solid #fff;
    background: #fff;
}
.beta .banner-cta span {
    color: #aa1b17;
}
.beta .banner-cta:hover {
    background: #aa1b17;
}
.beta .banner-cta:hover span {
    color: #fff;
}
/*____________________________________________________________________________________*/



.logo-gen-grey{
    position: absolute;
    top: 8rem;
    right: -140px;
    display: block;
    width: 80vw;
    height: 100%;
    z-index: 4;
}

.footer-sede:first-child{
    padding-top: 0;
}
.footer-sede:first-child .sede-header{
    padding-top: 0;
}

.logo:hover .cls-111{
    fill:#fff;
}

.bgd-nav:before {
    position: absolute;
    top: 0;
    left: 0;
    content: '';
    width: 23%;
    height: 100%;
    background-color: #aa1b17;
    z-index: 0;
    border-radius: 20px;
    transition: all 0.3s;
    opacity: 0;
    visibility: hidden;
}

/* .bgd-nav:hover .bgd-nav:before{
    opacity: 1;
    visibility: visible;
} */

.scroll .bgd-nav:before {
    border-top-left-radius: 0;
}

.bgd-nav.hover-active:before {
    opacity: 1;
    visibility: visible;
}


.privati-section,
.staff-section{
    background-color: #fff;
    padding-top: 5rem;
    padding-bottom: 10rem;
}

.cat-p{
    padding-bottom: 4rem;
}

.cat-p p {
    color: #141414;
    font-size: 20px;
    line-height: 24px;
    font-weight: 200;
}

.cat-container{
    display: grid;
    grid-template-columns: repeat(1,1fr);
    gap: 2rem;
}
.cat-box {
    cursor: pointer;
    display: flex;
    justify-content: left;
    align-items: flex-start;
    gap: 2rem;
    padding: 2rem;
    border: 2px solid #fff;
    border-radius: 20px;
    transition: all 0.3s;
    box-shadow: 0px 0px 20px 5px rgba(0, 0, 0, 0.1);
}

.cat-box:hover {
    border: 2px solid #aa1b17;
}

.cat-img {
    display: block;
    height: 6rem;
    width: 6rem;
    min-width: 6rem;
    flex-shrink: 0;
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    margin-top: 0.5rem;
}

.cat-title {
    display: flex;
    flex-direction: column;
    gap: 5px;
    justify-content: flex-start;
    height: 100%;
    flex: 1;
}

.cat-title h4{
    font-size: 41px;
    line-height: 41px;
    font-weight: 500;
    margin: 0;
    color: #aa1b17;
    letter-spacing: 0;
}

.cat-title p{
    color: #141414;
    font-size: 20px;
    line-height: 24px;
    font-weight: 200;
}

.staff-container {
    display: grid;
    grid-template-columns: repeat(4, minmax(250px, 1fr));
    gap: 2rem;
    padding: 0px;
    height: max-content;
    /* overflow: hidden; */
    transition: height 0.3s ease;
}

.staff-container.expanded {
    height: max-content;
}

.staff-box {
    display: grid;
    grid-template-rows: auto 1fr auto;
    min-height: 71vh;
    padding: 1.5rem;
    border: 2px solid #fff;
    border-radius: 20px;
    transition: all 0.3s;
    box-shadow: 0px 0px 20px 0px rgba(0, 0, 0, 0.1);
    text-decoration: none;
    color: inherit;
}

.staff-box:hover {
    border: 2px solid #c21b17;
}

.staff-img {
    width: 100%;
    aspect-ratio: 10/10;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    border-radius: 10px;
    margin-bottom: 1rem;
    filter: grayscale(100%);
    transition: all 0.3s;
}
.staff-box:hover .staff-img {
    filter: grayscale(0%);
}

.staff-content{
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.staff-title{
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    align-items: flex-start;
    align-content: flex-start;
    width: 100%;
}

.staff-title h4{
    font-size: 37px;
    line-height: 37px;
    font-weight: 500;
    margin: 0;
    color: #171717;
    letter-spacing: 0;
}

.staff-title span{
    font-size: 17px;
    line-height: 17px;
    font-weight: 200;
    margin: 0;
    color: #171717;
    letter-spacing: 0;
    text-transform: uppercase;
}

.staff-button{
    width: 100%;
    padding: 15px;
    border-radius: 15px;
    background-color: #fff;
    border: 2px solid #c21b17;
    color: #c21b17;
    font-size: 16px;
    text-transform: uppercase;
    font-weight: 500;
    transition: all 0.3s;
    display: flex;
    align-content: center;
    justify-content: center;
    align-items: center;
    margin-top: auto;
    padding-top: 1rem;
    letter-spacing: 0.5px;
}

.staff-box:hover .staff-button{
    background-color: #c21b17;
    color: #fff;
}

.staff-toggle{
    display: flex;
    align-content: center;
    justify-content: center;
    align-items: center;
    padding-top: 2rem;
    display: none;
}

.hero.empty{
    background-color: #fff;
    padding-top: 5rem;
}

.staff-page{
    padding-bottom: 10rem;
    background-color: #fff;
}

.staff-conteiner{
    padding-top: 2rem;
    display: flex;
}

.staff-name h1{
    font-family: 'Bodoni Moda', serif;
    font-size: 70px;
    line-height: 70px;
    font-weight: 600;
    margin: 0;
    color: #171717;
    letter-spacing: 0;
}

.staff-profile{
    display: block;
    width: 100%;
    height: 45vh;
    aspect-ratio: 10/10;
    border-radius: 15px;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}

.staff-desc{
    padding-top: 2rem;
    font-size: 20px;
    line-height: 24px;
    font-weight: 200;
    color: #141414;
}

.staff-details{
    padding-top: 2rem;
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.staff-info{
    display: flex;
    align-content: center;
    align-items: center;
    justify-content: flex-start;
    gap: 15px;
}

.staff-info img{
    width: 1.5rem;
    height: 1.5rem;
}

.staff-info span{
    font-size: 16px;
    line-height: 16px;
    font-weight: 600;
    text-transform: uppercase;
    color: #aa1b17;
    letter-spacing: 1px;
}

.staff-btn{
    display: flex;
    width: 100%;
    padding-top: 1rem;
}

.btn-form{
    cursor: pointer;
}

.blog{
    background-color: #fff;
    position: relative;
}

.beta-h4{
    padding: 1rem 0;
    border-bottom: 2px solid #aa1b17;
}

.template-button{
    width: 100%;
    display: flex;
}

.staff-box.empty {
    pointer-events: none;
    cursor: default;
    min-height: 60vh;
}

.staff-button.empty {
    opacity: 0;
    visibility: hidden;
    display: none;
}

.privacy-section{
    padding: 10rem 0;
    background-color: #fff;
}

.privacy-text h1 {
    font-family: 'Bodoni Moda', serif;
    font-size: 55px;
    line-height: 60px;
    font-weight: 400;
    color: #141414;
    margin-bottom: 2rem;
}

.privacy-text h2 {
    font-size: 27px;
    line-height: 32px;
    color: #aa1b17;
}

.privacy-text p {
    font-size: 21px;
    line-height: 24px;
    font-weight: 200;
    color: #141414;
}

.privacy-text ul{
    padding-top: 1rem;
}

.privacy-text ul li{
    font-size: 21px;
    line-height: 24px;
    font-weight: 200;
    color: #141414;
    padding-left: 28px;
    margin-bottom: 1px;
    position: relative;
}

.privacy-text li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 6px;
    width: 14px;
    height: 14px;
    background-image: url(/assets/frontend/img/svg/plus-red.svg);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}

.privacy-content{
    display: flex;
    flex-direction: column;
    gap: 2.5rem;
    padding-top: 2rem;
}

.privacy-text{
    display: flex;
    flex-direction: column;
    gap: 0;
}

.intro-text p span{
    font-weight: 500;
}

.tris-desc p span{
    font-weight: 500;
}

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

.cat-title ul {
    margin-top: 1rem !important;
    margin-bottom: 1rem !important;
    padding-left: 0;
    list-style: none;
}

.cat-title ul li {
    position: relative;
    padding-left: 28px;
    margin-bottom: 4px;
    font-weight: 200;
    font-size: 20px;
    line-height: 1.4;
}

.cat-title ul li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0px;
    width: 14px;
    height: 14px;
    min-width: 14px;
    min-height: 14px;
    background-image: url(/assets/frontend/img/svg/plus-red.svg);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    flex-shrink: 0;
    transform: translateY(-50%);
    margin-top: 0.7em;
}

.cat-title p {
    font-size: 20px;
    font-weight: 200;
    line-height: 24px;
    color: #141414;
}



.hero-inside-button-container {
    display: none;
    opacity: 0;
    transition: opacity 0.3s ease;
}

.hero-inside-button-container.active {
    display: block;
    opacity: 1;
}

.fade-out {
    opacity: 0;
    transition: opacity 0.3s ease;
}

.fade-in {
    opacity: 1;
    transition: opacity 0.3s ease;
}










.header__icons {
    display: flex;
    align-items: center;
    width: 38px;
}
.icon-hamburger {
    height: 40px;
    width: 30px;
    margin-bottom: 12px;
    display: none;
}
.menu.active, .icon-hamburger {
    display: block;
}
.header__icons a {
    color: #fff;
    opacity: 0.8;
    font-size: 27px;
    transition: color 0.3s;
}
.burger-menu {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    height: 3rem;
    justify-content: center;
}
.burger-menu .line {
    border-bottom-right-radius: 10px;
    border-bottom-left-radius: 10px;
    border-top-right-radius: 10px;
    border-top-left-radius: 10px;
    background: #aa1b17;
    width: 2.3rem;
    height: 3px;
    transition: 0.3s;
}
.burger-menu .line {
    border-bottom-right-radius: 10px;
    border-bottom-left-radius: 10px;
    border-top-right-radius: 10px;
    border-top-left-radius: 10px;
    background: #aa1b17;
    width: 2.3rem;
    height: 3.2px;
    transition: 0.3s;
}

.burger-menu.change .bar_1 {
    transform: rotate(45deg) translate(8px, 6px) scaleX(1);
}
.burger-menu.change .bar_3 {
    transform: rotate(-45deg) translate(2px, 0px) scaleX(1);
}