:root {
    --dark: #424242;
    --grigioscuro: #A0A0A0;
    --grigio: #dbdbdb;
    --grigiochiaro: #F1F1F1;
    --white: #fff;
    --maincolor: #778189;
    --secondarycolor: #BCCDC0;
    --gradient: linear-gradient(90deg, #778189, #BCCDC0);
    --gradientInv: linear-gradient(-90deg, #778189, #BCCDC0);
}

*:not(font) {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    /* line-height: 1; */
    color: var(--dark);
    font-family: 'Montserrat', sans-serif;
}

/* Imposta lo sfondo della scrollbar */
::-webkit-scrollbar-track {
    background-color: var(--grigio);
}

/* Imposta il colore del track della scrollbar */
::-webkit-scrollbar-thumb {
    background-color: var(--dark);
}

/* Imposta la larghezza della scrollbar */
::-webkit-scrollbar {
    width: 7px;
}

/* Imposta il colore del thumb al click */
::-webkit-scrollbar-thumb:active {
    background-color: var(--dark);
}

/* ANCHOR Elementi generici  */

a {
    text-decoration: none;
}

button {
    background: none;
    border: none;
    cursor: pointer;
}

ul {
    list-style: none;
}

/* html {
    overflow-x: hidden;
}*/

/* body {
    min-height: 200vh;
} */

/* html, */
/* body.home {
    overflow: hidden;
    margin-right: 7px;
} */

/* .home .hc_buttons>div,
.home .hc_buttons>button,
.home .menu_wrapper li:not(.sub-menu li) {
    visibility: hidden;
} */

/* .home .logo_box_header {
    visibility: hidden;
} */

ion-icon,
.feather {
    pointer-events: none;
}

p strong {
    font-weight: 500;
}

img {
    max-width: 100%;
}

pre {
    background-color: var(--grigiochiaro);
    padding: 1rem;
    max-width: 600px;
    overflow: auto;
    max-height: 300px;
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
}

/* ANCHOR Wrappers  */
.wrapper {
    width: 100%;
    max-width: 1280px;
    margin: 0 auto;
    /* border: 1px dotted red; */
}

.major_wrapper {
    width: 100%;
    padding-left: 5%;
    padding-right: 5%;
}

.big_wrapper {
    width: 100%;
    padding-left: 10%;
    padding-right: 10%;
}

.mega_wrapper {
    width: 100%;
    padding-left: 20px;
    padding-right: 20px;
}

/* ANCHOR Padding */
.pad10 {
    padding-top: 10px;
    padding-bottom: 10px;
}

.pad15 {
    padding-top: 15px;
    padding-bottom: 15px;
}

.pad20 {
    padding-top: 20px;
    padding-bottom: 20px;
}

.pad30 {
    padding-top: 30px;
    padding-bottom: 30px;
}

.pad40 {
    padding-top: 40px;
    padding-bottom: 40px;
}

.pad50 {
    padding-top: 50px;
    padding-bottom: 50px;
}

.pad60 {
    padding-top: 60px;
    padding-bottom: 60px;
}

.pad70 {
    padding-top: 70px;
    padding-bottom: 70px;
}

.pad80 {
    padding-top: 80px;
    padding-bottom: 80px;
}

.pad90 {
    padding-top: 90px;
    padding-bottom: 90px;
}

.pad100 {
    padding-top: 100px;
    padding-bottom: 100px;
}

.pad120 {
    padding-top: 120px;
    padding-bottom: 120px;
}

.pad150 {
    padding-top: 150px;
    padding-bottom: 150px;
}

.nopadtop {
    padding-top: 0;
}

.nopadbottom {
    padding-bottom: 0;
}

.padright20 {
    padding-right: 20px;
}

/* ANCHOR Margin */
.mart10 {
    margin-top: 10px;
}

.mart20 {
    margin-top: 20px;
}

.mart30 {
    margin-top: 30px;
}

.mart40 {
    margin-top: 40px;
}

.mart50 {
    margin-top: 50px;
}

.mart60 {
    margin-top: 60px;
}

.mart70 {
    margin-top: 70px;
}

.mart80 {
    margin-top: 80px;
}

.mart90 {
    margin-top: 90px;
}

.mart100 {
    margin-top: 100px;
}

.marb10 {
    margin-bottom: 10px;
}

.marb20 {
    margin-bottom: 20px;
}

.marb30 {
    margin-bottom: 30px;
}

.marb40 {
    margin-bottom: 40px;
}

.marb50 {
    margin-bottom: 50px;
}

.marb60 {
    margin-bottom: 60px;
}

.marb70 {
    margin-bottom: 70px;
}

.marb80 {
    margin-bottom: 80px;
}

.marb90 {
    margin-bottom: 90px;
}

.marb100 {
    margin-bottom: 100px;
}

.no_marb {
    margin-bottom: 0;
}

/* SECTION Backgrounds */


.bg_dark {
    background-color: var(--dark);
}

.bg_grigiochiaro {
    background-color: var(--grigiochiaro);
}

.bg_grigio {
    background-color: var(--grigio);
}

.bg_white {
    background-color: var(--white);
}

.bg_maincolor {
    background-color: var(--maincolor);
}

.bg_secondarycolor {
    background-color: var(--secondarycolor);
}

/* !SECTION */

.has_maincolor {
    color: var(--maincolor);
}

/* SECTION Elementi Grid layout */

.grid {
    display: grid;
}

.auto_grid {
    grid-auto-flow: column;
}

.align_center {
    align-items: center;
}

/* ANCHOR Grid template columns */
.grid_2_cols {
    grid-template-columns: repeat(2, 1fr);
}

.grid_3_cols {
    grid-template-columns: repeat(3, 1fr);
}

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

.grid_5_cols {
    grid-template-columns: repeat(5, 1fr);
}

.grid_6_cols {
    grid-template-columns: repeat(6, 1fr);
}

.grid_7_cols {
    grid-template-columns: repeat(7, 1fr);
}

.grid_8_cols {
    grid-template-columns: repeat(8, 1fr);
}

.grid_1_2_cols {
    grid-template-columns: 1fr 2fr;
}

.grid_2_1_cols {
    grid-template-columns: 2fr 1fr;
}

.grid_2_3_cols {
    grid-template-columns: 2fr 3fr;
}

.grid_3_2_cols {
    grid-template-columns: 3fr 2fr;
}

.grid_2_1_1_cols {
    grid-template-columns: 2fr 1fr 1fr;
}

/* ANCHOR Valori GAP  */
.gap3 {
    gap: 3px;
}

.gap4 {
    gap: 4px;
}

.gap5 {
    gap: 5px;
}

.gap10 {
    gap: 10px;
}

.gap15 {
    gap: 15px;
}

.gap20 {
    gap: 20px;
}

.gap30 {
    gap: 30px;
}

.gap40 {
    gap: 40px;
}

.gap50 {
    gap: 50px;
}

.gap60 {
    gap: 60px;
}

.gap70 {
    gap: 70px;
}

.gap80 {
    gap: 80px;
}

.gap90 {
    gap: 90px;
}

.gap100 {
    gap: 100px;
}


/*ANCHOR - Grid Area */
.first_col_row {
    grid-area: 1/1/1/1;
}

.second_col_row {
    grid-area: 1/2/1/2;
}

/* !SECTION */

/* SECTION Flex elements */

.wrap_center {
    display: flex;
    /* align-items: center; */
    justify-content: center;
}

.jc-space-btw {
    justify-content: space-between;
}

.jc-center {
    justify-content: center;
}

.flex {
    display: flex;
    align-items: center;
}

.flex_col {
    flex-direction: column;
}

.reverse_flex_row {
    flex-direction: row-reverse;
}

.reverse_flex_col {
    flex-direction: column-reverse;
}

.align_start {
    align-items: initial;
}

.span_2 {
    grid-column: span 2;
}

.span_3 {
    grid-column: span 3;
}



/* !SECTION */



.buttons_wrapper {
    display: flex;
    align-items: center;
    gap: 35px;
}

.minh500 {
    min-height: 500px;
}

.minh600 {
    min-height: 600px;
}

.minh700 {
    min-height: 700px;
}

.minh800 {
    min-height: 800px;
}

.minh100vh {
    height: 100vh;
}

/* SECTION - Positions */


.pos_rel {
    position: relative;
}

.pos_abs {
    position: absolute;
}


.pos_fix {
    position: fixed;
}


.pos_sticky {
    position: -webkit-sticky;
    position: sticky;
}

/* !SECTION */

/* ANCHOR toTop */

#toTop {
    position: fixed;
    z-index: 99999;
    bottom: 230px;
    right: 60px;
    background-color: #1111111f;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    transition: .3s;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    transform: translateY(20px);
    pointer-events: none;
}

#toTop a {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 10px;
}

#toTop a svg {
    width: 100%;
    pointer-events: none;
}

#toTop a svg polyline {
    stroke: var(--dark);
    fill: none;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 2.2rem;
    transition: .3s;
}

#toTop.show_toTop {
    pointer-events: auto;
    opacity: 1;
    transform: translateY(0);
}

#toTop:hover a svg polyline {
    stroke: var(--white);
}

#toTop:hover {
    background-color: var(--dark);
}


/* SECTION Privacy Policy  */

.wt-cli-manage-consent-link {
    cursor: pointer;
}

#privacy h3 {
    /* font-size: 2vw; */
    margin: 20px auto;
    font-size: 1.5vw;
}

#privacy h4 {
    margin: 10px auto;
    font-size: 18px;
}

#privacy h5 {
    margin: 10px 0;
    font-size: 17px;
}

#privacy p {
    line-height: 1.5;
    font-size: 15px;
    margin-top: 10px;
    text-align: justify;
}

#privacy p strong {
    font-weight: 700;
}

#privacy ol,
#privacy ul {
    list-style: square;
    margin-left: 25px;
    padding: 15px 0;
    /* line-height: 1.6; */
}

#privacy ol {
    list-style-type: decimal;
}

#privacy ul ul {
    list-style: circle;
    padding-bottom: 0;
}

#privacy ol li,
#privacy ul li {
    line-height: 1.6;
    font-size: 15px;
}

/* !SECTION  */

/* SECTION Pagina di ringraziamento */
#ringraziamento {
    display: flex;
    justify-content: center;
    text-align: center;
    background: var(--white);
    padding: 20px;
}

#ringraziamento .wrapper {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 30px;
}

#ringraziamento h2 {
    text-transform: uppercase;
    font-size: 28px;
    padding-bottom: 20px;
    color: var(--maincolor);
    border-bottom: 1px solid var(--secondarycolor);
}

#ringraziamento p {
    /* margin: 30px 0; */
    font-size: 20px;
}

/* .page-id-141 .header_container,
.page-id-3 .header_container {
    justify-content: center;
} */

/* !SECTION  */

/*SECTION Stile per e-commerce */
.iva_label {
    font-size: 0.8rem;
}

.real_price_label {
    font-size: 0.9rem;

}

/*!SECTION */

/* SECTION - Header */


header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 9999998;
    transition: .3s;
}

.hc_grid {
    grid-template-columns: 1fr auto 1fr;
}

.header_container {
    transition: .3s;
}

header.scrolling .header_container {
    padding-top: 20px;
    padding-bottom: 20px;
}

header.scrolling {
    background: rgba(0, 0, 0, 0.8);
    -webkit-backdrop-filter: blur(4px);
    backdrop-filter: blur(4px);
    box-shadow: rgba(99, 99, 99, 0.2) 0px 2px 8px 0px;
}

.logoBox {
    width: 250px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.logoBox a {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}

body:not(#home-page) .logoBox {
    transition: -webkit-filter .3s;
    transition: filter .3s;
    transition: filter .3s, -webkit-filter .3s;
}

body:not(#home-page) header.scrolling .logoBox {
    -webkit-filter: invert(1) brightness(2);
    filter: invert(1) brightness(2);
}

.logo_box_header a svg {
    width: 100%;
}

.logo_box_header a svg * {
    fill: var(--white);
    transition: .3s;
}

header.scrolling .logo_box_header a svg * {
    fill: var(--maincolor);
}

body.archive header.scrolling .menu_wrapper .menu li a:not(.sub-menu li a)::after {
    background-color: var(--white);
}

.menu_wrapper .menu li.menu-item-has-children.is-current-ancestor a::after {
    background-color: var(--maincolor);
    scale: 1 1;
}

/* !SECTION */

/* SECTION - Hero home */


#hero {
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    /* display: grid; */
    place-items: center;
    position: relative;
}

#hero::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 2;
    pointer-events: none;
    background-image: linear-gradient(0deg, rgba(0, 0, 0, 0) 0, rgba(0, 0, 0, 0.03) 75%, rgba(0, 0, 0, 0.1) 84%, rgba(0, 0, 0, 0.5) 100%);
}

.slider_container .splide__arrow {
    background: none;
}

.slider_container .splide__arrow .bx {
    pointer-events: none;
    font-size: 25px;
    color: var(--white);
}

.slider_container .splide__arrow--prev {
    left: 5%;
}

.slider_container .splide__arrow--prev svg {
    scale: initial;
    transform: initial;
    pointer-events: none;
}

.slider_container .splide__arrow--next {
    right: 5%;
}

.slider_container .splide__arrow svg {
    width: 50px;
    height: 50px;
}

.slider_container .splide__arrow svg * {
    fill: none;
    stroke: var(--white);
    stroke-width: 4px;
}

.slider_container {
    height: 100%;
    width: 100%;
}

.slider_container div.splide__track {
    height: 100%;
}

.single_slide {
    height: 100%;
    width: 100%;
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    display: flex;
    align-items: center;
    justify-content: center;
}

.hero_text_block {
    padding: 0 0 0 10vw;
}

.hero_text_block :where(h1, h2) {
    font-weight: 300;
    color: var(--white);
    line-height: 1.4;
}

.hero_text_block h1 {
    font-size: 1.9rem;
    color: var(--white);
    font-weight: bold;
    margin-bottom: 1.5rem;
}

.hero_text_block h2 {
    font-size: 2.5rem;
}

.logo_box_header {
    width: 140px;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    z-index: 99999999;
}

.logo_box_header a {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.logo_box_header a img {
    width: 100%;
}

.user_icon_box {
    width: 23px;
    height: 23px;
}

.user_icon_box a {
    width: 100%;
    height: 100%;
}

.user_icon_box a svg {
    width: 100%;
}

body.archive .user_icon_box a svg *,
body.single .user_icon_box a svg *,
.user_icon_box a svg * {
    fill: none;
    stroke: var(--white);
    stroke-width: 1px;
    transition: .3s;
}

body.archive .user_icon_box a svg *,
body.single .user_icon_box a svg *,
body.page-template-templates .user_icon_box a svg * {
    stroke: var(--dark);
}

body.archive header.scrolling .user_icon_box a svg *,
body.single header.scrolling .user_icon_box a svg *,
body.page-template-templates header.scrolling .user_icon_box a svg * {
    stroke: var(--white);
}

.menu_wrapper .menu {
    display: flex;
    align-items: center;
    gap: 2.5rem;
}

/* li.menu-item-has-children span {
    color: var(--white);
    text-transform: uppercase;
    font-weight: 300;
} */

.hc_grid_inner.hc__right {
    justify-content: flex-end;
}

/* .menu_wrapper .menu li:not(.sub-menu li) {} */

.menu_wrapper .menu li a {
    color: var(--white);
    text-transform: uppercase;
    font-weight: 300;
    display: block;
    position: relative;
    transition: .3s;
    padding: 16px 0;
    /* background: limegreen; */
}

body.single .menu_wrapper .menu li a:not(.sub-menu li a),
body.page-template-templates .menu_wrapper .menu li a:not(.sub-menu li a),
.archive .menu_wrapper .menu li a:not(.sub-menu li a) {
    color: var(--dark);
    font-weight: normal;
    font-size: 14px;
}

/* body[class*="ringraziamento"] .logo_box_header a svg *,
body[class*="privacy"] .logo_box_header a svg *,
body[class*="contatti"] .logo_box_header a svg *,
body[class*="agenti"] .logo_box_header a svg *,
body[class*="company"] .logo_box_header a svg *,
body[class*="portfolio"] .logo_box_header a svg *,
body[class*="product"] .logo_box_header a svg *,
body[class*="novita"] .logo_box_header a svg *,
body[class*="singolo-elemento"] .logo_box_header a svg *,
.archive .logo_box_header a svg * {
    fill: var(--maincolor);
} */

header.scrolling .menu_wrapper .menu li a:not(.sub-menu li a) {
    color: var(--white);
}

.menu_wrapper .menu li.menu-item-has-children {
    position: relative;
}

.menu_wrapper .menu li.menu-item-has-children .sub-menu:not(.menu-item-nephews) {
    position: absolute;
    top: 100%;
    left: 0;
    bottom: 0;
    background-color: #000;
    height: 20vh;
    display: flex;
    flex-direction: column;
    gap: .75rem;
    opacity: 0;
    padding: 2rem;
    pointer-events: none;
    transition: .3s;
    overflow: hidden;
    /* width: 600px; */
}

.menu_wrapper .menu li.menu-item-has-children:hover .sub-menu {
    opacity: 0.9;
    pointer-events: auto;
}

.menu_wrapper .menu li a::after {
    /* .menu_wrapper .menu li a:not(.sub-menu li a)::after { */
    content: '';
    background-color: var(--white);
    width: 100%;
    height: 2px;
    position: absolute;
    bottom: 8px;
    left: 0;
    transition: scale 0.2s;
    scale: 0 1;
    transform-origin: right;
}

body.archive .menu_wrapper .menu li a:not(.sub-menu li a)::after,
body.page-template-templates .menu_wrapper .menu li a:not(.sub-menu li a)::after {
    background-color: var(--maincolor);
}

.menu_wrapper .menu li.current-menu-item a::after {
    /* .menu_wrapper .menu li.current-menu-item a:not(.sub-menu li a)::after { */
    scale: 1 1;
    background-color: var(--maincolor);
}

.menu_wrapper .menu li a:hover::after {
    /* .menu_wrapper .menu li a:not(.sub-menu li a):hover::after { */
    transform-origin: left;
    scale: 1 1;
}


.menu_wrapper .menu li a.hover:not(.sub-menu li a)::after {
    scale: 1 1;
}

.menu_wrapper .menu li.menu-item-has-children .sub-menu.menu-item-nephews {
    top: 0;
    /* left: calc(100% + 6rem); */
    /* left:  50%; */
    opacity: 0;
    pointer-events: none;
    padding: 0;
    transition: .3s;
    /* translate: 3rem 0; */
    z-index: 2;
    position: absolute;
}


.menu_wrapper .menu li.menu-item-has-children .sub-menu li.menu-child {
    width: auto;
    position: relative;
    display: flex;
    gap: 1rem;
}

/* .menu_wrapper .menu li.menu-item-has-children .sub-menu li.menu-child a {
    padding: 0 2rem;
} */

.menu_wrapper .menu li.menu-item-has-children .sub-menu li.menu-child a:not(.menu-item-nephews li a) {
    padding: 0;
    width: -webkit-max-content;
    width: -moz-max-content;
    width: max-content;
}

.menu_wrapper .menu li.menu-item-has-children .sub-menu li.menu-child:not(.menu-item-nephews) {
    position: relative;
}

.menu_wrapper .menu li.menu-item-has-children .sub-menu li.menu-child:not(.menu-item-nephews) span.linea {
    /* position: absolute; */
    /* right: -4.75rem; */
    /* left: 30%; */
    width: 6rem;
    height: 1px;
    background-color: var(--white);
    /* top: 50%; */
    margin-top: 10px;
    z-index: 2;
    transform-origin: left;
    scale: 0 1;
    transition: .3s;
}

.menu_wrapper .menu li.menu-item-has-children .sub-menu li.menu-child ul li.menu-nephew a {
    padding: 6px 0;
    width: -webkit-max-content;
    width: -moz-max-content;
    width: max-content;
    transition: .3s;
}

.menu_wrapper .menu li.menu-item-has-children .sub-menu li.menu-child ul li.menu-nephew.is-visited a {
    font-weight: 600;
}

.menu_wrapper .menu li.menu-item-has-children .sub-menu li.menu-child ul li.menu-nephew a:hover {
    padding-left: 10px;
}

.menu_wrapper .menu li.menu-item-has-children:hover>a:after {
    scale: 1 1;
}

.menu_wrapper .menu li.menu-item-has-children .sub-menu li.menu-child ul li.menu-nephew:first-of-type a {
    padding-top: 0;
}


.menu_wrapper .menu li.menu-item-has-children ul.sub-menu.is-son-item li.menu-child.no_hover ul.is-nephew-items.menu-item-nephews {
    opacity: 0;
    translate: 3rem 0;
    pointer-events: none;
}



.menu_wrapper .menu li.menu-item-has-children .sub-menu li.menu-child.has_hover .sub-menu.menu-item-nephews {
    translate: 0 0;
    opacity: 1;
    pointer-events: auto;
}

.menu_wrapper .menu li.menu-item-has-children:hover .sub-menu.menu-item-nephews.is_first_voice_elements {
    opacity: 1;
    translate: 0 0;
    pointer-events: auto;
}


.menu_wrapper .menu li.menu-item-has-children:hover .sub-menu li.menu-child:not(.no_hover):first-of-type span.linea,
.menu_wrapper .menu li.menu-item-has-children .sub-menu li.menu-child:not(.no_hover).has_hover span.linea {
    scale: 1 1;
}

button#search_opener {
    width: 20px;
    flex-shrink: 0;
}

button#search_opener svg {
    width: 100%;
    pointer-events: none;
    height: 25px;
}

button#search_opener svg * {
    fill: none;
    stroke: var(--white);
    stroke-width: 1.3px;
    transition: .3s;
}

body.single button#search_opener svg *,
body.page-template-templates button#search_opener svg *,
.archive button#search_opener svg * {
    stroke: var(--dark);
}

header.scrolling button#search_opener svg * {
    stroke: var(--white);
}

button#trigger_mobile_menu {
    width: 30px;
    height: 30px;
    flex-direction: column;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    gap: 6px;
}

button#trigger_mobile_menu .mob_line {
    width: 100%;
    height: 1px;
    background-color: var(--white);
    border-radius: 10px;
    transition: .2s;
}

button#trigger_mobile_menu .mob_line.mid {
    width: calc(100% / 3 * 2);
}

button#trigger_mobile_menu .mob_line.bottom {
    width: calc(100% / 3 * 1);
}


.hc_buttons button img {
    pointer-events: none;
    flex-shrink: 0;
}

.btn_mob_menu {
    display: none;
}

button#lang_switcher_btn {
    display: flex;
    align-items: center;
    gap: 6px;
}

button#lang_switcher_btn span {
    font-size: .9rem;
    pointer-events: none;
    color: var(--white);
    flex-shrink: 0;
    transition: .3s;
}

body.single button#lang_switcher_btn span,
body.page-template-templates button#lang_switcher_btn span,
.archive button#lang_switcher_btn span {
    color: var(--dark);
}

header.scrolling button#lang_switcher_btn span {
    color: var(--white);
}

button#lang_switcher_btn span.icon_handler {
    flex-shrink: 0;
    width: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
}

button#lang_switcher_btn.clicked span.icon_handler {
    rotate: 180deg;
}

button#lang_switcher_btn span.icon_handler svg {
    width: 100%;
}

button#lang_switcher_btn span.icon_handler svg * {
    fill: none;
    transition: .3s;
    stroke: var(--white);
    stroke-width: 1.3px;
}

body.single button#lang_switcher_btn span.icon_handler svg *,
body.page-template-templates button#lang_switcher_btn span.icon_handler svg *,
.archive button#lang_switcher_btn span.icon_handler svg * {
    stroke: var(--dark);
}

header.scrolling button#lang_switcher_btn span.icon_handler svg * {
    stroke: var(--white);
}

.search_res_container {
    top: calc(100% + 1rem);
    right: -3px;
    width: 390px;
    background-color: var(--grigiochiaro);
    padding: 2rem 1rem 1rem;
    transition: .3s;
    translate: 0 20px;
    opacity: 0;
    pointer-events: none;
}

.search_results_wrapper {
    overflow: auto;
    max-height: 420px;
}

.search_res_container.show {
    translate: 0 0;
    opacity: 1;
    pointer-events: auto;
    box-shadow: rgba(255, 255, 255, 0.1) 0px 1px 1px 0px inset, rgba(50, 50, 93, 0.25) 0px 50px 100px -20px, rgba(0, 0, 0, 0.3) 0px 30px 60px -30px;
}

.search_res_container::before {
    content: '';
    position: inherit;
    top: -9px;
    right: 4px;
    width: 15px;
    height: 10px;
    background-color: inherit;
    -webkit-clip-path: polygon(50% 0%, 0% 100%, 100% 100%);
    clip-path: polygon(50% 0%, 0% 100%, 100% 100%);
}

.search_res_container .search_input_wrapper {
    width: 100%;
    height: 30px;
    position: relative;
}

.search_res_container .search_input_wrapper input {
    width: 100%;
    height: 100%;
    background: none;
    border: none;
    border-bottom: 1px solid var(--dark);
    color: var(--dark);
    border-radius: 0;
    outline: none;
}

.search_res_container .search_input_wrapper button {
    height: 100%;
    width: 30px;
    padding: 5px;
    background-color: var(--dark);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.search_res_container .search_input_wrapper button svg {
    width: 100%;
    pointer-events: none;
}

.search_res_container .search_input_wrapper button svg * {
    fill: none;
    stroke: var(--grigiochiaro);
    stroke-width: 1.5px;
}

#close_search {
    width: 14px;
    height: 14px;
    top: 7px;
    right: 7px;
}

#close_search span {
    width: 100%;
    height: 1px;
    background-color: var(--dark);
    position: absolute;
    rotate: 45deg;
    top: 50%;
    left: 50%;
    /* transform-origin: left; */
    pointer-events: none;
    translate: -50% -50%;
}

#close_search span:nth-child(2) {
    rotate: -45deg;
}

.search_results_wrapper.extend {
    padding-top: 1rem;
}

.block_res_wrapper {
    padding-bottom: 1.3rem;
}

.single_search_result {
    border-bottom: 1px solid var(--grigio);
    padding-bottom: 1.3rem;
}

.ssr_image {
    flex-shrink: 0;
    width: 70px;
    height: 70px;
    border-radius: 50%;
    overflow: hidden;
}

.ssr_image a {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.ssr_image a img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
}

p.ssr_resource {
    top: 5px;
    right: 5px;
    font-size: .75rem;
    text-transform: uppercase;
    pointer-events: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

img.ssr_type_image {
    mix-blend-mode: multiply;
}

.ssr_details :where(h4, a, p) {
    color: var(--dark);
}

.ssr_details h4 a {
    font-size: 0.9rem;
    font-weight: 400;
    line-height: 1.3;
}

.ssr_details p {
    font-size: .8rem;
    font-weight: 400;
    opacity: .75;
}


#loader_overlay {
    z-index: 9999999;
    background-color: var(--dark);
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}

#loader_overlay img {
    width: 25%;
    visibility: hidden;
}

/* !SECTION */

/* SECTION Intro Home */


.single_family {
    height: 600px;
}

.single_family h5 {
    font-size: 1.5rem;
    font-weight: 300;
    color: var(--white);
    bottom: 3rem;
    left: 3rem;
    text-transform: uppercase;
    pointer-events: none;
    letter-spacing: 1.25px;
    z-index: 2;
}

.single_family a {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
    width: 100%;
    overflow: hidden;
    position: relative;
}

.single_family a::after {
    content: '';
    pointer-events: none;
    position: absolute;
    z-index: 1;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background: #111111;
    transition: .3s;
    transform-origin: bottom;
    background: linear-gradient(0deg, rgba(18, 18, 18, 0.75) 0%, rgba(18, 18, 18, 0) 50%);
    /* background-size: 100% 400%; */
}

.single_family a:hover::after {
    scale: 1 1.5;
}

.single_family a::before {
    content: attr(data-title);
    font-weight: 800;
    pointer-events: none;
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    text-transform: uppercase;
    text-align: center;
    font-size: 7rem;
    color: var(--white);
    line-height: 1;
    translate: 100% 0;
    opacity: 0;
    transition: .3s;
}

.single_family a:hover::before {
    opacity: 0.4;
    translate: 0 0;
}

.single_family a img {
    width: 100%;
    -o-object-position: top;
    object-position: top;
    -o-object-fit: cover;
    object-fit: cover;
    height: 100%;
}


/* !SECTION */

/* SECTION - Progetti HOME */
.section_title {
    margin-bottom: 3rem;
}

.section_title :where(h2, h3) {
    text-align: center;
}

.section_title h3 {
    font-size: 1.65rem;
    font-weight: 400;
}

.section_title h2 {
    font-weight: 700;
    font-size: 1.85rem;
    margin-bottom: .25rem;
}

.single_family.is_a_home_project h5 {
    position: initial;
}

.home_proj_dets {
    position: absolute;
    bottom: 3rem;
    left: 3rem;
    /* text-transform: uppercase; */
    pointer-events: none;
    /* letter-spacing: 1.25px; */
    z-index: 2;
    width: 50%;
}

.home_proj_dets h5 {
    font-size: 1.25rem;
    font-weight: 600;
    text-transform: capitalize;
}

.home_proj_dets p {
    font-size: .75rem;
    font-weight: 300;
    text-transform: uppercase;
    color: var(--white);
    letter-spacing: 1.25px;
}

.more_elements_btn_wrapper {
    grid-column: 1/-1;
    width: -webkit-max-content;
    width: -moz-max-content;
    width: max-content;
    margin-left: auto;
    margin-right: auto;
    /* text-align: center; */
    display: flex;
    align-items: center;
    justify-content: center;
}

.more_elements_btn_wrapper a {
    /* display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column; */
    display: block;
    border: 1px solid var(--dark);
    letter-spacing: 1px;
    position: relative;
    overflow: hidden;
    height: 40px;
}

.more_elements_btn_wrapper a span {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 18px 2px;
    /* width: 100%; */
    height: 100%;
    text-transform: uppercase;
    font-weight: 600;
    font-size: .85rem;
    transition: .3s;
    position: relative;
    z-index: 1;
}

.more_elements_btn_wrapper a:hover span {
    translate: 0 -100%;
    color: var(--white);
}

.more_elements_btn_wrapper a::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: var(--dark);
    z-index: 0;
    transition: .3s;
    translate: 0 -100%;
    pointer-events: none;
}

.more_elements_btn_wrapper a:hover::after {
    translate: 0 0;
}

.project_preview {
    height: 60vh;
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
}

.project_preview.half_container {
    width: calc((100% - 20px) / 2);
    flex-grow: 1;
    flex-shrink: 0;
}

.projects_preview_container {
    flex-wrap: wrap;
}

.project_preview.full_container {
    width: 100%;
}

.proj_title_box_container {
    bottom: 2rem;
    left: 2rem;
    right: 2rem;
    z-index: 2;
}

.big_proj_title_box_container {
    top: 2rem;
    left: 0;
    width: 100%;
    z-index: 2;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.project_preview.half_container::after {
    content: '';
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    pointer-events: none;
    z-index: 1;
    background-image: linear-gradient(180deg, rgba(0, 0, 0, 0) 0, rgba(0, 0, 0, 0.2) 65%, rgba(0, 0, 0, 0.5) 84%, rgba(0, 0, 0, 0.7) 100%);
}

.project_preview.full_container::after {
    content: '';
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    pointer-events: none;
    z-index: 1;
    background-image: linear-gradient(0deg, rgba(0, 0, 0, 0) 0, rgba(0, 0, 0, 0.2) 65%, rgba(0, 0, 0, 0.5) 84%, rgba(0, 0, 0, 0.7) 100%);
}

.big_proj_title_box_container *,
.proj_title_box_container * {
    color: var(--white);
}

.big_proj_title_box_container * {
    text-align: center;
}

.big_proj_title_box_container h3,
.proj_title_box_container h3 {
    font-size: 1.4rem;
    font-weight: 600;
    margin-bottom: 0.2rem;
}

.big_proj_title_box_container p.location_label,
.proj_title_box_container p.location_label {
    margin-bottom: 1.6rem;
    font-size: 0.9rem;
    text-transform: uppercase;
    letter-spacing: 1.4px;
    font-weight: 300;
}

a.home_proj_link {
    display: flex;
    align-items: center;
    justify-content: center;
    width: -webkit-max-content;
    width: -moz-max-content;
    width: max-content;
    padding: 0.5rem 1.1rem;
    border: 1px solid;

    position: relative;
    overflow: hidden;
}

a.home_proj_link span {
    position: relative;
    z-index: 1;
    text-transform: uppercase;
    font-size: .8rem;
    color: var(--white);
    transition: color .3s;
}

a.home_proj_link:hover span {
    color: var(--dark);
}

a.home_proj_link::before {
    content: '';
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background-color: var(--white);
    translate: -100% 0;
    transition: .3s;
}

a.home_proj_link:hover::before {
    translate: 0 0;
}

/* !SECTION */

/* SECTION - Collezioni Home */


.hc_filters button {
    font-size: 1.1rem;
    padding: 0.4rem 2rem 0.2rem;
    border-bottom: 1px solid var(--grigio);
    flex-grow: 1;
    flex-shrink: 0;
    transition: border-color .2s;
}

.hc_filters button.selected {
    border-color: var(--dark);
    border-width: 2px;
}

.home_collections_display .hc_header .hc_filters {
    flex-grow: 1;
}

a.more_prods_link {
    padding: 0.4rem 1rem;
    border: 1px solid;
    position: relative;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
}

a.more_prods_link::after {
    content: '';
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    transition: .3s;
    translate: -100% 0;
    background-color: var(--dark);
}

a.more_prods_link:hover::after {
    translate: 0 0;
}

a.more_prods_link span {
    position: relative;
    z-index: 1;
    transition: .3s;
    text-transform: uppercase;
    font-size: .8rem;
    font-weight: 500;
    color: var(--dark);
}

a.more_prods_link:hover span {
    color: var(--white);
}

.single_home_collection_image {
    width: 100%;
    height: 750px;
}

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

.opaque_me {
    opacity: 0;
    transition: .3s;
}

/* !SECTION */

/* SECTION - News Home */

.single_hn_card {
    display: grid;
    gap: 1.75rem;
    grid-template-rows: 300px auto;
}

.shn_card__image,
.shn_card__image a {
    height: 300px;
    border: 1px solid var(--grigio);
    display: flex;
    align-items: center;
    justify-content: center;
}

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

.shn_card__content p {
    font-size: .9rem;
    font-weight: 400;
    line-height: 1.5;
}

.shn_card__title_date p.date {
    font-size: 0.85rem;
    margin-top: 4px;
}

.bdg_content {
    display: flex;
    align-items: initial;
    flex-direction: column;
    justify-content: center;
    padding: 2rem 8rem;
}

.bdg_content h4 {
    text-transform: uppercase;
    font-weight: 400;
    font-size: 1.1rem;
}

.bdg_content h2 {
    font-weight: 700;
    font-size: 2rem;
    margin: 5px 0 1.85rem;
}

.bdg_content .more_prods_link {
    width: -webkit-max-content;
    width: -moz-max-content;
    width: max-content;
}

/* !SECTION */


/* SECTION Download Home */


.single_download_home_container {
    aspect-ratio: 1;
}

.single_download_home_container .sdh_image {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    overflow: hidden;
}

.single_download_home_container .sdh_image::after {
    content: attr(data-title);
    position: absolute;
    top: 50%;
    left: 50%;
    width: 100%;
    text-align: center;
    font-size: 1.5rem;
    text-transform: uppercase;
    translate: -50% -50%;
    font-weight: 600;
    color: var(--white);
    transition: .3s;
    opacity: .85;
    pointer-events: none;
}

.single_download_home_container .sdh_image:hover::after {
    scale: 3;
    opacity: .3;
}

.single_download_home_container .sdh_image a {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.single_download_home_container .sdh_image a img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
}


/* !SECTION */

/* SECTION Footer */

.top_footer {
    border-bottom: 1px solid var(--grigio);
    flex-wrap: wrap;
}

.top_footer_logo {
    width: 170px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.top_footer_logo a {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: .3s;
    opacity: .5;
}

.top_footer_logo a:hover {
    opacity: 1;
}

.top_footer_logo a svg {
    width: 100%;
}

.footer_menu_wrapper ul.menu {
    display: flex;
    align-items: center;
    -moz-column-gap: 2.5rem;
    column-gap: 2.5rem;
    flex-wrap: wrap;
    row-gap: 1rem;
}

.footer_menu_wrapper ul.menu li {
    position: relative;
}

.footer_menu_wrapper ul.menu li::after {
    content: '';
    position: absolute;
    top: 0;
    right: -1.25rem;
    bottom: 0;
    width: 1px;
    background-color: var(--grigio);
}

.footer_menu_wrapper ul.menu li:last-of-type::after {
    content: none;
}

.footer_menu_wrapper ul.menu li a {
    font-size: .85rem;
    opacity: .8;
    transition: .3s;
}

.footer_menu_wrapper ul.menu li a:hover {
    opacity: 1;
}

p.follow_us_text {
    font-size: .9rem;
    font-weight: 600;
    color: var(--dark);
    opacity: .65;
}

.social_footer_wrapper a {
    height: 1rem;
    opacity: .4;
    transition: .3s;
}

.social_footer_wrapper a:hover {
    opacity: 1;
}

.social_footer_wrapper a svg {
    height: 100%;
}

.footer_copyright p {
    font-size: .85rem;
    opacity: .7;
    line-height: 1.5;
}

.cb_wrapper {
    width: 160px;
    margin-left: auto;
}

.cb_wrapper a {
    width: 100%;
    transition: .3s;
    opacity: .4;
}

.cb_wrapper a svg {
    width: 100%;
}

.cb_wrapper a:hover {
    opacity: 1;
}

/* !SECTION */

.otgs-development-site-front-end {
    display: none !important;
}

/*SECTION - Azienda e pagine */

/* !SECTION */

/* SECTION - Tipologia */

section#breadcrumbs {
    /* visibility: hidden; */
    /* opacity: 0; */
    padding-top: 120px;
    padding-bottom: 10px;
}

section#breadcrumbs .bread_wrapper {
    padding-bottom: .5rem;
    border-bottom: 1px solid var(--grigioscuro);
}

.bread_wrapper p {
    display: flex;
    align-items: center;
    gap: 4px;
}

.bread_wrapper p a,
.bread_wrapper p span {
    font-size: .85rem;
}

.bread_wrapper p a {
    transition: .2s;
}

.bread_wrapper p a:hover {
    color: var(--maincolor);
}

.bread_wrapper p span.current {
    font-weight: 600;
}

.tax_title_wrapper :where(h1, h2) {
    text-align: center;
    line-height: 1.4;
    font-weight: 400;
}

.tax_title_wrapper h2 {
    font-size: 1.8rem;
    /* text-transform: uppercase; */
    font-weight: 300;
}

.tax_title_wrapper h1 {
    font-size: 1.85rem;
    font-weight: 700;
}

.tax_title_wrapper h1.light {
    font-weight: 300;
    /* text-transform: capitalize; */
}

section#tax_filters {
    visibility: hidden;
}

section#tax_filters .filters_grid button {
    padding: 0.8rem;
    background-color: var(--white);
    border: 1px solid var(--grigio);
    border-right: 0;
    font-size: 1rem;
    color: var(--grigiofooterscuro);
    transition: .2s;
    text-transform: uppercase;
    flex: 1;
}

section#tax_filters .filters_grid button:last-of-type {
    border-right: 1px solid var(--grigio);
}

section#tax_filters .filters_grid button.selected {
    background-color: var(--grigiofooterscuro);
    color: var(--white);
}

section#tax_filters .filters_grid button:hover {
    background-color: var(--grigiofooterchiaro);
    color: var(--white);
}

.single_tax_item {
    visibility: hidden;
}

.sti_image_wrapper {
    width: 100%;
    aspect-ratio: 1;
}

.sti_image_wrapper a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    -webkit-filter: brightness(.95);
    filter: brightness(.95);
    overflow: hidden;
    transition: .3s;
}

.sti_image_wrapper a:hover {
    -webkit-filter: brightness(1);
    filter: brightness(1);
}

.sti_image_wrapper a img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    transition: .3s;
}

.sti_image_wrapper a:hover img {
    scale: 1.05;
}

.ssf_header_block .sti_image_wrapper a:hover img {
    scale: initial;
}

.sti_title h4 {
    text-align: center;
    margin-top: 10px;
}

.sti_title h4 a {
    font-weight: 400;
    text-transform: uppercase;
    line-height: 1.4;
}

.tax_items_grid {
    row-gap: 30px;
}

h3.fam_desc_content__title {
    font-size: 1.1rem;
    font-weight: 600;
    line-height: 1.4;
}

.fam_desc_content__text p {
    line-height: 1.8;
}

.fam_desc_content__text p:not(:last-of-type) {
    margin-bottom: 1rem;
}

ul.fam_desc_content__list {
    margin: 1.75rem 0;
    display: flex;
    flex-direction: column;
    gap: .45rem;
}

ul.fam_desc_content__list li {
    display: flex;
    align-items: center;
    gap: 12px;
}

ul.fam_desc_content__list li::before {
    content: '';
    width: 9px;
    height: 9px;
    background-color: var(--maincolor);
    flex-shrink: 0;
}

.fam_desc_icons_wrapper .single_icon {
    height: 35px;
}

.fam_desc_icons_wrapper .single_icon img {
    height: 100%;
}

.fam_images_inner.is_single_image.is_not_gallery {
    width: 400px;
    /* height: 250px; */
    margin: 0 auto;
}

.fam_images_inner.is_single_image a {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.fam_images_inner.is_single_image.is_not_gallery a {
    -webkit-filter: brightness(.95);
    filter: brightness(.95);
}

.fam_images_inner.is_single_image a img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
}

.single_sottofam_item .sti_image_wrapper {
    width: auto;
    height: auto;
    margin: 0 auto;
    aspect-ratio: initial;
}

.single_sottofam_item .sti_image_wrapper a {
    -webkit-filter: brightness(1);
    filter: brightness(1);
}

.single_sottofam_item {
    border-top: 1px solid var(--grigio);
}

.single_sottofam_item .sti_title h4 {
    margin: 0;
    text-align: initial;
}

.single_sottofam_item .sti_title h4 a {
    font-weight: 600;
    font-size: 1.3rem;
    line-height: 1.4;
    transition: .3s;
}

.single_sottofam_item .sti_title h4 a:hover {
    color: var(--maincolor);
}

.single_sottofam_item .sti_title {
    align-self: center;
}

.details_list {
    align-self: center;
}

.details_list table {
    border-collapse: collapse;
    width: 100%;
    table-layout: fixed;
}

.details_list table tbody tr {
    border-bottom: 1px solid var(--grigio);
}

.details_list table tbody tr td {
    padding: 5px 0;
    font-size: 0.8rem;
}

.details_list table tbody tr td strong {
    font-weight: 700;
}

.details_list table tbody tr td:nth-of-type(2) {
    text-align: right;
}

.plus_wrapper {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.plus_wrapper button {
    width: 100%;
    /* height: 100%; */
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    transition: .2s;
    aspect-ratio: 1;
    border-radius: 50%;
}

.plus_wrapper button span {
    width: 50px;
    height: 1px;
    background-color: var(--dark);
    pointer-events: none;
    position: absolute;
    top: 50%;
    left: 50%;
    translate: -50% -50%;
    transition: .3s;
}

.plus_wrapper button span:nth-of-type(2) {
    rotate: 90deg;
}

.plus_wrapper button.clicked span {
    rotate: 180deg;
}

.plus_wrapper button:hover {
    background-color: var(--grigiochiaro);
}

.ssf_header_block {
    grid-template-columns: auto 1.5fr 1fr 1fr 100px;
}

a.single_prod_link {
    width: 130px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto;
}

.single_prod_link a img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
}

.ssf_products_table_wrapper table {
    border-collapse: collapse;
}

.ssf_products_table_wrapper table tbody tr {
    border-top: 1px solid var(--grigio);
}

.ssf_products_table_wrapper table tbody tr:nth-of-type(1) {
    border-top: 0;
}

.ssf_products_list {
    display: grid;
    grid-template-rows: auto 0fr;
    overflow: hidden;
    gap: 2rem;
}

.ssf_products_table_wrapper {
    height: 500px;
    overflow: auto;
    padding: 0 1rem 1rem 0;
}

.ssf_products_table_wrapper table thead {
    position: -webkit-sticky;
    position: sticky;
    top: 0;
    box-shadow: inset 0px -1px 0px 0px #ddd;
    background-color: var(--white);
}

/* .ssf_products_table_wrapper table thead tr {
    border-bottom: 1px solid var(--grigio);
} */

.ssf_products_table_wrapper table tbody tr td {
    text-align: center;
}

.ssf_products_table_wrapper table thead tr th {
    text-transform: uppercase;
    font-size: 0.85rem;
    font-weight: 600;
    padding: 5px 0;
    text-align: center;
}

.ssf_products_table_wrapper table thead tr th:nth-of-type(2),
.ssf_products_table_wrapper table tbody tr td:nth-of-type(2) {
    text-align: left;
}

.single_sottofam_item.grid {
    grid-template-rows: 200px 0fr;
    transition: .5s;
}

.single_sottofam_item.grid.open {
    grid-template-rows: 200px 1fr;
}

.ssf_products_list_single_filter {
    height: 36px;
    border: 1px solid var(--grigio);
    border-right: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 1;
}

.ssf_products_list_single_filter button {
    width: 100%;
    height: 100%;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    transition: .3s;
    color: var(--grigiofooterscuro);
}

.ssf_products_list_single_filter button:hover {
    background-color: var(--grigio);
}


.ssf_products_list_single_filter button[value="pulisci"] span,
.ssf_products_list_single_filter button[data-filter="pulisci"] span {
    width: 22px;
    height: 2px;
    background-color: var(--grigio);
    position: absolute;
    top: 50%;
    left: 50%;
    translate: -50% -50%;
    rotate: 45deg;
    transition: .3s;
    pointer-events: none;
}

.ssf_products_list_single_filter button[value="pulisci"] span:nth-of-type(2),
.ssf_products_list_single_filter button[data-filter="pulisci"] span:nth-of-type(2) {
    rotate: -45deg;
}

.ssf_products_list_single_filter button[value="pulisci"]:hover span,
.ssf_products_list_single_filter button[data-filter="pulisci"]:hover span {
    background-color: var(--grigioscuro);
}

.ssf_products_list_single_filter:last-of-type {
    border-right: 1px solid var(--grigio);
    width: 36px;
    flex: 0 0 auto;
}

.ssf_products_list_filters {
    width: 100%;
}

.ssf_products_list_single_filter .choices {
    width: 100%;
    height: 100%;
    border: none;
}

.ssf_products_list_single_filter .choices[data-type*=select-one] .choices__inner {
    background: none;
    border: none;
    border-radius: initial;
    padding: 0 1rem;
    min-height: initial;
    height: 100%;
    display: flex;
    align-items: center;
}

.choices__list--dropdown .choices__item--selectable.is-highlighted::after,
.choices__list[aria-expanded] .choices__item--selectable.is-highlighted::after {
    display: none !important;
}

.ssf_products_list_single_filter .choices__list--dropdown,
.ssf_products_list_single_filter .choices__list[aria-expanded] {
    border: 1px solid var(--grigio);
    top: 100%;
    margin-top: 0;
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
    z-index: 10;
}

.same_type_name {
    text-align: center;
    font-size: .9rem;
    letter-spacing: 1.3px;
    opacity: .9;
    margin-top: 10px;
}

.single_rel_wrapper .sr_image a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
}

.single_rel_wrapper .sr_image {
    width: 100%;
    height: 270px;
    background-color: var(--white);
}

.single_rel_wrapper .sr_image a img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
}

.single_rel_wrapper .sr_name {
    text-align: center;
    margin-top: 10px;
}

.single_rel_wrapper .sr_name a {
    font-size: 1rem;
    font-weight: 300;
}

.section_title.is_small h2 {
    font-size: 1.2rem;
    font-weight: 500;
}

.single_info_details :where(h5, p) {
    text-align: center;
}

.single_info_details h5 {
    font-size: .9rem;
    font-weight: 600;
    line-height: 1.25;
}

.single_info_details p {
    font-size: .9rem;
    line-height: 1.4;
    max-width: 50%;
    margin: 5px auto;
}

.more_info_grid {
    max-width: 75%;
    margin: 0 auto;
}

.more_info_grid.grid_2_cols {
    max-width: 50%;
}

.more_info_grid.grid_2_cols .single_info_details p {
    max-width: 100%;
}

.single_info a {
    width: 100%;
    height: 100%;
}

.single_info .small_icon {
    height: 30px;
    margin: 0 auto 10px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.single_info .small_icon :where(img, svg) {
    height: 100%;
}

.download_ldt_anchor {
    width: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto;
}

.ssf_products_list_single_filter input[type="text"] {
    width: 100%;
    height: 100%;
    border: none;
    outline: none;
    text-align: center;
    padding: 0 1rem;
}

.choices__list--dropdown .choices__item--selectable,
.choices__list[aria-expanded] .choices__item--selectable {
    padding-right: 0 !important;
    word-break: normal !important;
}

/* #family_description .fam_desc_grid>div {
    visibility: hidden;
} */



/* !SECTION */


/* SECTION - NEWS */


.single_news.first_news {
    grid-column: 1/-1;
}

.single_news_big {
    padding: 1rem 0;
}

/* .single_news_big:nth-of-type(1), */
.single_news_big:nth-of-type(6n + 1) {
    background-color: #F1F1F1;
}

/* .single_news_big:nth-of-type(3), */
.single_news_big:nth-of-type(6n + 3) {
    background-color: #DFE7E1;
}

/* .single_news_big:nth-of-type(5), */
.single_news_big:nth-of-type(6n + 5) {
    background-color: #EFEBE6;
}

.snb_image {
    width: 75%;
    border: 1px solid var(--grigioscuro);
    display: flex;
    align-items: center;
    justify-content: center;
    justify-self: flex-end;
}

.snb_image a {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.snb_image a img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
}

.snb_image.multiply {
    mix-blend-mode: multiply;
}

.snb_inner {
    max-width: 70%;
    margin: 0 auto;
}

h3.snb_title {
    margin: 1.6rem 0;
    font-size: 1.4rem;
    line-height: 1.4;
    font-weight: 400;
}

p.snb_date {
    font-size: .9rem;
}

.snb_content p {
    font-size: .95rem;
    line-height: 1.6;
}

.single_news_big.inverted .snb_inner .snb_image {
    order: 2;
    justify-self: flex-start;
}

.single_news_big.inverted .snb_inner .snb_details {
    order: 1;
}

.single_news_big.inverted .snb_inner .snb_details :where(h3, p) {
    text-align: right;
}

.archive .header_container,
.single .header_container,
.page-template-templates .header_container {
    padding-bottom: 0;
}

section#family_intro {
    background-size: cover;
    position: relative;
    background-position: center top;
    background-repeat: no-repeat;
    min-height: 1062px;
    /* 	min-height: calc(100vh + 150px); */
}

section#family_intro::after {
    content: '';
    position: absolute;
    inset: 0;
    width: 100%;
    background-image: linear-gradient(90deg, rgba(0, 0, 0, 0) 0, rgba(0, 0, 0, 0.1) 70%, rgba(0, 0, 0, 0.15) 80%, rgba(0, 0, 0, 0.25) 100%);
}

.archive section#breadcrumbs .bread_wrapper {
    border-bottom: none;
    padding-bottom: 0;
}

/* !SECTION */

/* SECTION Singolo Prodotto */


.prod_dets_grid {
    grid-template-columns: 1.5fr 2.5fr 1fr;
}

.aside_single_block.is_last_block {
    margin-bottom: 0;
}

.block_dets_title {
    margin-bottom: 2rem;
    padding-bottom: 0.5rem;
    border-bottom: 2px solid var(--grigio);
}

.block_dets_title h4 {
    font-size: .9rem;
    text-transform: uppercase;
    font-weight: 600;
}

.for_technical_design {
    width: 90%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto;
}

.for_technical_design a {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.fslightbox-flex-centered :where(span, div) {
    color: var(--white);
}

.for_table_center table {
    width: 100%;
    border-collapse: collapse;
    /* table-layout: fixed; */
}

.for_table_center table tr td {
    padding: 8px 0 4px;
    font-size: .9rem;
}

.for_table_center table tr td:first-of-type {
    text-transform: lowercase;
}

.for_table_center table tr td strong {
    font-weight: 600;
}

.for_table_center table tr td:last-of-type {
    text-align: right;
}

.for_table_center table tr {
    border-bottom: 1px solid var(--grigiochiaro);
}

.single_prod_download_link {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 10px 12px;
    background-color: var(--grigiochiaro);
    width: 100%;
    transition: .3s;
}

.single_prod_download_link:hover {
    background-color: var(--grigio);
}

.single_prod_download_link span {
    font-size: .85rem;
}

.single_prod_download_link :where(span, img) {
    pointer-events: none;
}

.single_prod_download_link img {
    width: 20px;
}

.aside_single_block__content.for_icons .single_icon {
    width: 40px;
}

section#main_image {
    visibility: hidden;
}

.prod_column {
    visibility: hidden;
}

.prod_image_wrapper {
    width: 100%;
    height: 0;
    position: relative;
    padding-bottom: 100%;
}

.prod_image_wrapper img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
}

.inner_col {
    align-items: initial;
}

.marchi_wrapper img {
    height: 30px;
    display: inline-block;
    margin-left: 10px;
}

h3.subtitle_with_border {
    font-size: 1rem;
    font-weight: 300;
    text-transform: uppercase;
    padding-top: 10px;
    border-top: 1px solid var(--grigio);
}

.carat_teck_wrapper table {
    table-layout: fixed;
}

.carat_teck_wrapper table tbody tr td {
    font-size: .85rem;
    padding-bottom: 10px;
    padding-right: 2rem;
}

.lucide-circle-slash-2 {
    width: 1rem;
}

h4.small_indication {
    font-size: 0.9rem;
    font-weight: normal;
}

.name_header h1 {
    font-size: 1.95rem;
    font-weight: normal;
}

.code_diameter_wrapper h2 {
    font-size: 1.1rem;
    margin-bottom: 6px;
}

.code_diameter_wrapper .diameter {
    display: flex;
    align-items: center;
    gap: 0.3rem;
}

a.single_prod_doc strong {
    font-size: 0.85rem;
}

a.single_prod_doc svg {
    width: 1.2rem;
}

.has_border_top {
    border-top: 1px solid var(--grigio);
}

.single_product_gallery .splide__arrows {
    position: initial;
    bottom: initial;
    -webkit-margin-before: 1.5rem;
            margin-block-start: 1.5rem;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1.5rem;
}

.single_product_gallery .splide__arrows .splide__pagination {
    position: initial;
    margin: initial;
    padding: initial;
    transform: initial;
}

.single_product_gallery .splide__arrows .splide__pagination p {
    display: flex;
    align-items: center;
    gap: 3px;
}

.single_product_gallery .splide__arrows .splide__arrow {
    position: initial;
    transform: initial;
    width: initial;
    background: none;
    height: initial;
}

.single_product_gallery .splide__arrows .splide__arrow svg {
    fill: none;
    stroke: #111;
    stroke-width: 1.5px;
    width: 50px;
}

.single_product_gallery .splide__arrows .splide__arrow.splide__arrow--prev svg {
    transform: rotate(0);
}

.section_title.st_smaller h3 {
    font-size: 1.1rem;
    text-transform: uppercase;
    font-weight: 600;
}

.same_fam_prods_container {
    max-width: 40%;
    margin: 0 auto;
    --numProds: 4;
    --numProdsLessOne: calc(var(--numProds) - 1);
}

.sfp_single_item {
    flex-shrink: 0;
    width: calc((100% - (var(--numProdsLessOne) * 30px)) / var(--numProds));
}

.sfp_single_item.is_alone_rel {
    max-width: 50%;
    margin: 0 auto;
}

.same_fam_prods_container .sfp_image {
    width: 100%;
    height: 0;
    padding-bottom: 100%;
    display: block;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}

.sfp_image a {
    width: 100%;
    height: 0;
    display: block;
    padding-bottom: 100%;
}

.technical_design_wrapper {
    width: 50%;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
}

.technical_design_wrapper a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
}

.technical_design_wrapper a img {
    width: 100%;
    height: 100%;
    -o-object-fit: scale-down;
    object-fit: scale-down;
}

.combo_wrapper table {
    table-layout: auto;
    border-collapse: collapse;
}

.combo_wrapper table tbody tr {
    cursor: pointer;
}

.combo_wrapper table tbody tr td {
    padding: .25rem 0;
    font-size: 0.85rem;
}

.combo_wrapper table tbody tr td:nth-of-type(2) {
    padding-left: .5rem;
    padding-right: 2rem;
}

.single_fin_item {
    gap: 5px;
}

.combo_wrapper table tbody tr td input {
    display: none;
}

.combo_wrapper table tbody tr td label {
    cursor: pointer;
}

.fake_radio {
    width: 1rem;
    height: 1rem;
    border: 1px solid var(--grigio);
    position: relative;
}

.fake_radio::after {
    content: '';
    position: absolute;
    background: var(--dark);
    inset: 2px;
    scale: 0 0;
    transition: .2s;
}

.combo_wrapper table tbody tr td input:checked~.fake_radio::after {
    scale: 1 1;
}

.combo_wrapper.combo_2 table tbody tr td:nth-of-type(3),
.combo_wrapper.combo_2 table tbody tr td:nth-of-type(4),
.combo_wrapper.combo_2 table tbody tr td:nth-of-type(5),
.combo_wrapper.combo_2 table tbody tr td:nth-of-type(6) {
    padding-right: .6rem;
}

.code_indicator_wrapper {
    border-top: 1px solid var(--grigio);
    padding: 0 0.75rem;
    height: 0;
    transition: .3s;
    overflow: hidden;
}

.code_indicator_wrapper.open {
    height: 50px;
}

.same_fam_prods_container .sfp_flex {
    flex-wrap: wrap;
    justify-content: center;
}

/* !SECTION */

/* SECTION Lingue selettore */


.lang_selector {
    position: absolute;
    top: 150%;
    right: 0;
    min-width: 140px;
    translate: 0 30px;
    opacity: 0;
    pointer-events: none;
    transition: .3s;
}

.lang_selector .wpml-ls-legacy-list-horizontal {
    border: initial;
    padding: initial;
    clear: initial;
}

.lang_selector .wpml-ls-legacy-list-horizontal ul li {
    width: 100%;
}

.lang_selector.show {
    translate: 0 0;
    opacity: 1;
    pointer-events: auto;
}

.lang_selector ul li a {
    width: 100%;
    display: flex;
    gap: 6px;
    font-size: .9rem;
    text-transform: uppercase;
    background-color: var(--grigiochiaro);
    padding: 10px 14px;
    transition: .3s;
    border: none;
    align-items: center;
}

.lang_selector ul li a:hover {
    background-color: var(--grigio);
}

.lang_selector ul li a span {
    flex-shrink: 0;
    font-size: .85rem;
    margin: 0;
}

/* !SECTION */

.has_border_bottom {
    border-bottom: 1px solid var(--grigio);
}

/* SECTION Novità di prodotto */


.nov_prods_list {
    align-items: initial;
}

.single_nov_card {
    align-items: initial;
    visibility: hidden;
    overflow: hidden;
}

.single_nov_card>* {
    visibility: hidden;
}

.snc_image {
    width: calc((100% / 5) * 2);
    /* height: 500px; */
    aspect-ratio: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.snc_image a {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.snc_image a img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
}

.snc_links.flex {
    align-items: initial;
}

.snc_elements {
    flex-grow: 1;
    display: grid;
    place-items: center;
}

.single_nov_card.flex.on_right {
    flex-direction: row-reverse;
}

.single_nov_card .snc_details {
    max-width: 50%;
}

.single_nov_card .snc_details h3 {
    font-size: 1.5rem;
    font-weight: 300;
}

.single_nov_card .snc_content p {
    line-height: 1.6;
    /* font-size: .95rem; */
    font-weight: 300;
}

.snc_links a {
    opacity: .8;
    transition: .3s;
}

.snc_links a:hover {
    opacity: 1;
}

.snc_links a svg {
    width: 20px;
}

.snc_links a svg * {
    fill: none;
    stroke: var(--dark);
    stroke-width: 2px;
    transition: .3s;
}

.snc_links a.anchor_for_product svg * {
    stroke-width: 4px;
}

.snc_links a span {
    font-weight: 400;
    font-size: .8rem;
    transition: .3s;
}

.snc_links a:hover span {
    color: var(--maincolor);
}

.snc_links a:hover svg * {
    stroke: var(--maincolor);
}

/* !SECTION */

.ssf_products_list_single_filter .choices[data-type*=select-one]::after {
    content: "";
    height: 8px;
    width: 8px;
    border: 2px solid var(--grigio);
    border-left: 0;
    border-top: 0;
    rotate: 45deg;
    position: absolute;
    right: 1rem;
    top: 50%;
    translate: 0 -55%;
    margin: 0;
    pointer-events: none;
    transition: .2s;
}

.ssf_products_list_single_filter .choices[data-type*=select-one].is-open::after {
    border: 2px solid var(--grigio);
    border-left: 0;
    border-top: 0;
    rotate: 225deg;
    translate: 0 -35%;
    margin: 0;
}

/* SECTION Pagina Download */

.download_grid {
    min-height: 50vh;
}

.single_file_preview {
    display: grid;
    grid-template-rows: 320px 1fr;
    gap: 20px;
}

.single_file_image_preview {
    width: 100%;
    /* aspect-ratio: 1/1.41; */
    background-color: var(--grigiochiaro);
    height: 320px;
    position: relative;
}

.single_file_image_preview::after {
    content: '';
    position: absolute;
    pointer-events: none;
    width: 100%;
    height: 100%;
    background-color: transparent;
    box-shadow: inset 0px 0px 11px 0px rgba(0, 0, 0, 0.2);
    top: 0;
    left: 0;
    transition: .3s;
}

.single_file_preview:hover .single_file_image_preview::after {
    box-shadow: inset 0px 0px 30px 0px rgba(0, 0, 0, 0.9);
}

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

.is_contain .single_file_image_preview img {
    -o-object-fit: contain;
    object-fit: contain;
}

.single_file_details .file_label_name {
    font-size: .85rem;
    font-weight: 600;
}

.single_file_details .bx {
    font-size: 1.2rem;
}

a.absolute_link {
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    z-index: 2;
}

.gets_smaller {
    width: 50%;
    margin: 0 auto;
}

.single_file_details img {
    width: 20px;
}

.is_for_download_filters .ssf_products_list_single_filter button.selected {
    background-color: var(--grigiofooterchiaro);
    color: var(--white);
}

.single_file_details svg {
    fill: none;
    stroke: var(--dark);
    stroke-width: 1.3px;
    width: 24px;
    flex-shrink: 0;
}

/* !SECTION */

/* SECTION - Progetti */
.projects_filters .single_filter_btn button {
    color: var(--grigiofooterchiaro);
    font-weight: 500;
    transition: .2s;
    /* visibility: hidden; */
}

.projects_filters .single_filter_btn button.clicked {
    font-weight: 600;
    color: var(--grigiofooterscuro);
}

/* .projects_wall {
    display: grid;
    grid-template-columns: repeat(4, 1fr);

    grid-column-gap: 3px;
    grid-row-gap: 5px;
} */

.projects_wall {
    --gap: 4px;
    --col: 4;
    align-items: initial;
    flex-wrap: wrap;
    /*     gap: var(--gap);
    --totalGap: calc(var(--gap) * var(--col)); */
}

.projects_wall .single_project {
    flex-grow: 1;
    flex-shrink: 0;
    width: calc((100% - var(--totalGap)) / var(--col));
    /* visibility: hidden; */
}

.projects_wall .single_project:last-of-type {
    flex-grow: 0;
}

.projects_wall .single_project.longer_than_high {
    width: calc(((100% - var(--totalGap)) / var(--col) * 1.5) + var(--gap));
    /* max-width: 400px; */
}

.skeleton_element,
.single_project {
    background-color: var(--grigiochiaro);
}

.skeleton_element {
    width: calc((100% - var(--totalGap)) / var(--col));
    height: 450px;
    -webkit-animation: yoYoOpacity 1.5s ease-in-out infinite;
    animation: yoYoOpacity 1.5s ease-in-out infinite;
    -webkit-animation-delay: calc(var(--i) * .05s);
    animation-delay: calc(var(--i) * .05s);
}

@-webkit-keyframes yoYoOpacity {

    0%,
    100% {
        opacity: 0;
    }

    50% {
        opacity: 1;
    }
}

@keyframes yoYoOpacity {

    0%,
    100% {
        opacity: 0;
    }

    50% {
        opacity: 1;
    }
}

.single_project .proj_image {
    width: 100%;
    height: 450px;
    position: relative;
}

.single_project .proj_image::after {
    content: '';
    position: absolute;
    z-index: 1;
    width: 100%;
    height: 100%;
    pointer-events: none;
    top: 0;
    left: 0;
    background-image: linear-gradient(180deg, rgba(0, 0, 0, 0) 0, rgba(0, 0, 0, 0.2) 70%, rgba(0, 0, 0, 0.4) 80%, rgba(0, 0, 0, 0.7) 100%);
    background-position: 50% 50%;
    background-origin: padding-box;
    -webkit-background-clip: border-box;
    background-clip: border-box;
    background-size: auto auto;
}

.single_project .proj_image img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
}

.single_project .global_link,
.banner_url .global_link {
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    z-index: 2;
}

.single_project .etichetta_proj {
    width: 60%;
    pointer-events: none;
    bottom: 1.5rem;
    left: 2rem;
    z-index: 3;
}


.single_project .etichetta_proj p {
    color: var(--white);
}

.single_project .etichetta_proj p.proj_name {
    font-weight: 600;
    font-size: 1rem;
}

.single_project .etichetta_proj p.proj_location {
    font-weight: 300;
    font-size: .7rem;
    letter-spacing: 1px;
}

.arrows_container button:disabled {
    pointer-events: none;
    opacity: .5;
}

.arrows_container button img,
.arrows_container button svg {
    width: 50px;
    pointer-events: none;
}

.arrows_container button svg * {
    fill: none;
    stroke: var(--dark);
    stroke-width: 2px;
}

/* SECTION - Singolo progetto */

.big_wrapper.is_for_single_project {
    /*     display: grid;
    grid-template-columns: 1fr 3fr 1fr; */
    width: 100%;
}

.big_wrapper.is_for_single_project .category_box_info {
    order: 1;
    align-self: end;
}

.big_wrapper.is_for_single_project .tax_title_wrapper {
    display: flex;
    flex-direction: column;
    align-items: center;
    order: 2;
}

.back_link_wrapper {
    width: -webkit-max-content;
    width: -moz-max-content;
    width: max-content;
}

.back_link_wrapper a {
    display: flex;
    align-items: center;
    gap: 10px;
}

.back_link_wrapper a img,
.back_link_wrapper a svg {
    width: 22px;
}

.back_link_wrapper a svg * {
    fill: none;
    stroke: var(--dark);
    stroke-width: 3px;
}

.back_link_wrapper a span {
    text-transform: uppercase;
    font-size: .8rem;
}

.big_wrapper.is_for_single_project .tax_title_wrapper h1 {
    font-weight: bold;
}

.big_wrapper.is_for_single_project .category_box_info .label {
    font-size: .8rem;
}

.big_wrapper.is_for_single_project .category_box_info .cat_list {
    font-size: 0.9rem;
}

.big_wrapper.is_for_single_project .tax_title_wrapper .element_location {
    font-size: 0.85rem;
}

.project_side_box {
    padding-top: 0.6rem;
    border-top: 1px solid var(--grigiofooterscuro);
}

.project_side_box h4 {
    text-align: center;
    width: 100%;
    text-transform: uppercase;
    font-weight: 700;
    font-size: .8rem;
}

.prod_proj_info {
    display: flex;
    flex-direction: column;
    align-items: center;
    position: relative;
}

.proj_descr_wrapper p {
    text-align: center;
    line-height: 1.5;
    font-size: .9rem;
}

.prod_proj_info p {
    font-size: .8rem;
    text-align: center;
}

.prod_proj_info a.global_link,
.banner_url a.global_link {
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
}

.sti_image_wrapper.reduce_image {
    width: 280px;
    height: 140px;
}

.sti_image_wrapper.reduce_image a img {
    width: 100%;
    height: 100%;
    -o-object-fit: scale-down;
    object-fit: scale-down;
}

.proj_intro_grid .main_img {
    width: 100%;
    height: 550px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.proj_intro_grid .main_img a {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.proj_intro_grid .main_img a img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
}

.photo_container {
    width: 100%;
    height: auto;
    display: flex;
    align-items: center;
    justify-content: center;
}

.photo_container a {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.photo_container a img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
}

.related_elements_title {
    margin-bottom: 2rem;
    text-align: center;
}

.related_elements_title h3 {
    font-size: 1.75rem;
    font-weight: 300;
}

.single_related_project {
    width: 100%;
    position: relative;
    overflow: hidden;
}

.related_grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    grid-template-rows: 1fr;
    gap: 0px 3px;
    grid-auto-flow: row;
    justify-content: center;
    grid-template-areas:
        "item_1 item_1 item_2 item_3";
}

.item_1 {
    grid-area: item_1;
}

.item_2 {
    grid-area: item_2;
}

.item_3 {
    grid-area: item_3;
}

.proj_img {
    width: 100%;
    height: 450px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.proj_img img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: top;
    object-position: top;
}

.etichetta_correlato {
    bottom: 2rem;
    left: 2rem;
    width: 100%;
    max-width: 50%;
    z-index: 2;
    pointer-events: none;
}

.single_related_project a.global_link {
    z-index: 3;
    inset: 0;
}

.single_related_project .proj_img::after {
    content: '';
    position: absolute;
    z-index: 1;
    width: 100%;
    height: 100%;
    pointer-events: none;
    top: 0;
    left: 0;
    background-image: linear-gradient(180deg, rgba(0, 0, 0, 0) 0, rgba(0, 0, 0, 0.2) 70%, rgba(0, 0, 0, 0.4) 80%, rgba(0, 0, 0, 0.7) 100%);
    background-position: 50% 50%;
    background-origin: padding-box;
    -webkit-background-clip: border-box;
    background-clip: border-box;
    background-size: auto auto;
    transition: .3s;
    transform-origin: bottom;
}

.single_related_project:hover .proj_img::after {
    scale: 1 1.15;
}

.etichetta_correlato p {
    color: var(--white);
    font-size: 0.8rem;
    letter-spacing: 1.1px;
}

.etichetta_correlato p.related_name {
    font-size: 1rem;
    font-weight: 600;
}

.etichetta_correlato p.related_location {
    font-weight: 300;
}

.code_indicator_wrapper .icons_wrapper .icon_svg svg {
    width: 26px;
    fill: none;
    stroke: #424242;
    stroke-width: 3px;
}

.single_fam_proj .sfp_image {
    width: 100%;
    height: 650px;
}

.single_fam_proj .sfp_image img {
    width: 100%;
    height: 100%;
    -o-object-fit: scale-down;
    object-fit: scale-down;
}

/* !SECTION */

/* !SECTION */

/* SECTION - Pagina News */


.single_news_image {
    width: 100%;
    /* height: 450px; */
    aspect-ratio: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    /* perspective: 1000px; */
}


.single_news_image a {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: .3s;
}

.single_news_image a img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
}

.single_news_image a:hover {
    transform: scale(1.1);
}

@supports not (aspect-ratio: 1) {
    .single_news_image {
        height: 0;
        padding-top: 100%;
    }

    .single_news_image a {
        height: 0;
        padding-top: 100%;
    }
}

.news_details {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    margin: 0 auto;
}

.first_news .news_details {
    width: 75%;
}

.first_news .news_details .news_date {
    font-size: .8rem;
}

.all_the_others_news .news_details .news_date {
    font-size: .75rem;
}

.first_news .news_details h3.news_title a {
    font-size: 2rem;
    line-height: 1.4;
    font-weight: 300;
    transition: .3s;
}

.all_the_others_news .news_details h3.news_title a {
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.4;
    transition: .3s;
}

.all_the_others_news .news_details h3.news_title a:hover,
.first_news .news_details h3.news_title a:hover {
    color: var(--maincolor);
}

.first_news .text_block.news_content p:first-of-type {
    /* font-weight: 700; */
    margin-bottom: 30px;
    font-size: 1.1rem;
}

.first_news .text_block.news_content p:nth-of-type(2) {
    margin-bottom: 25px;
}

.first_news .text_block.news_content p {
    font-size: .9rem;
    line-height: 1.5;
}

.single_news.all_the_others_news .news_details {
    align-items: center;
}

.all_the_others_news .text_block.news_content p {
    text-align: center;
    line-height: 1.5;
    font-size: 0.85rem;
}

/* !SECTION */

/* SECTION - Company */

/*SECTION - Aggiunte da Piero */
.footer_menu_wrapper .sub-menu {
    display: none;
}

/*NOTE - pageintro.php */

.intro_gallery_slide {
    height: 400px;
    width: auto;
    display: flex;
    /* align-items: center; */
    justify-content: center;
}

.intro_gallery_slide a {
    height: 100%;
    width: 100%;
}

.intro_gallery_slide a img,
.link_container .arrow_img_container {
    height: 100%;
    width: 100%;
    -o-object-fit: cover;
    object-fit: cover;
}

/*NOTE - template-company.php e template-sostenibilita.php */
section#company-intro .text_content,
.intro_paragraph .text_content {
    text-align: center;
    line-height: 1.6;
    font-size: 1.2rem;
}

.paragraph_elements .text_container {
    display: flex;
    flex-direction: column;
    gap: 20px;
    align-items: self-start;
    justify-content: center;

}

.paragraph_elements .text_container .title_section h3,
.banner_content .box_text .text_container .title_section h3 {
    font-size: 2rem;
    font-weight: 400;
}

.paragraph_elements .text_container .par_text,
.box_text .text_container .par_text {
    line-height: 1.6;
    font-size: 1rem;
}

.box_text .text_container .title_section h3,
.box_text .text_container .par_text p,
.box_text .text_container .par_text strong,
.box_text .text_container .par_text ol,
.box_text .text_container .par_text ul,
.box_text .text_container .par_text ul li,
.box_text .text_container .par_text ol li {
    color: var(--white);
}

.paragraph_elements .text_container .par_text ul,
.box_text .text_container .par_text ul {
    list-style: disc;
}

.paragraph_elements .text_container .par_text ul,
.paragraph_elements .text_container .par_text ol,
.box_text .text_container .par_text ul,
.box_text .text_container .par_text ol {
    margin-left: 30px;
    margin-top: 20px;
}

.paragraph_elements .text_container .par_text ul li,
.paragraph_elements .text_container .par_text ol li,
.box_text .text_container .par_text ul li,
.box_text .text_container .par_text ol li {
    line-height: 2;
    margin-bottom: 10px;
}

.half_container .box_text .text_container .par_text ol li {
    margin-bottom: 40px;
}

.banner_type {
    background-color: var(--grigiochiaro);
}

.banner_container {
    min-height: 500px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}

.banner_container .banner_text_container {
    font-size: 2rem;
    text-align: center;
}

.banner_container .banner_text_container h1,
.banner_container .banner_text_container h2,
.banner_container .banner_text_container h3,
.banner_container .banner_text_container h4,
.banner_container .banner_text_container h5,
.banner_container .banner_text_container p,
.banner_container .banner_text_container p em,
.banner_container .banner_text_container p strong {
    color: var(--white);

}

.banner_container .img_arrow_container {
    height: 50px;
    width: auto;
}

.banner_container .img_arrow_container img {
    width: 100%;
    height: 100%;
    -o-object-fit: contain;
    object-fit: contain;
}

.banner_content.full_text_container {
    display: flex;
    align-items: center;
    justify-content: center;
}

.banner_content .box_text {
    margin: 50px auto;
}

.banner_content.full_text_container .box_text .text_container .title_section {
    margin-bottom: 12vh;
}

.banner_content.half_container {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    /* margin: 20px auto; */
}

.banner_content.half_container .box_text .text_container .title_section {
    margin-bottom: 7vh;
}

section#paragraph-introduzione-azienda-container .paragraph_elements {
    padding-right: 4rem;
    padding-left: 4rem;
}

/*NOTE - Light Stories */
.single_news.first_news .single_news_image {
    max-height: 650px;
}

.ln_container .recent_news_title {
    margin: 10vh auto;
    text-align: center;
    /* text-transform: uppercase; */
    /* font-weight: 400; */
}

.ln_container .recent_news_title h3 {
    font-size: 1.9rem;
    font-weight: 400;
}

.single_news.first_news .news_date {
    font-size: 1.15rem;
    text-transform: uppercase;
}

a.show_more_button_link {
    display: inline-block;
    text-transform: uppercase;
    border: 1px solid var(--dark);
    padding: 10px 15px;
    font-size: 13px;
}

#related-light-stories .related_light_story,
.single_news.all_the_others_news {
    border-bottom: 1px solid var(--maincolor);
}

#related-light-stories .related_light_story,
.single_news.all_the_others_news .ln_preview_details {
    display: flex;
    flex-direction: column;
}

#related-light-stories .related_light_story,
.ln_grid .single_news.all_the_others_news .news_details {
    align-items: flex-start;
    gap: 10px;
}

#related-light-stories .related_head .news_date,
#related-light-stories .related_head .news_title h4,
#related-light-stories .related_head .text_block.news_content p,
.ln_grid .single_news.all_the_others_news .news_details .news_date,
.ln_grid .single_news.all_the_others_news .news_details .news_title,
.ln_grid .single_news.all_the_others_news .news_details .text_block.news_content p {
    text-align: left;
}

/*NOTE - single-light_story.php */
.light_story_content,
.related_head {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.light_story_content .main-paragraph,
.light_story_content .light-news-paragraph {
    margin-bottom: 30px;
}

#related-light-stories .related_light_story .news_date {
    /* #related-light-stories .related_light_story .preview_related{ */
    font-size: 0.85rem;
}

#related-light-stories .related_light_story .preview_related,
.sezione.intro_ls .post_title,
.light_story_content .main-paragraph,
.light_story_content .light-news-paragraph {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 30px;
}

.sezione.intro_ls .post_title .date-container {
    text-transform: uppercase;
    color: var(--grigioscuro);
}

.sezione.intro_ls .post_title h2 {
    font-weight: 400;
    font-size: 2rem;
}

section.intro_ls .post_image {
    height: 500px;
    width: 100%;
}

section.intro_ls .post_image img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
}

.light_story_content .main-paragraph h1,
.light_story_content .light-news-paragraph h1,
.light_story_content .main-paragraph h2,
.light_story_content .light-news-paragraph h2,
.light_story_content .light-news-paragraph strong {
    font-weight: 600;
}

.light_story_content .main-paragraph h3,
.light_story_content .light-news-paragraph h3,
.light_story_content .main-paragraph h4,
.light_story_content .light-news-paragraph h4,
.light_story_content .main-paragraph h5,
.light_story_content .light-news-paragraph h5 {
    font-weight: 500;
}

.light_story_content .main-paragraph h1,
.light_story_content .light-news-paragraph h1 {
    font-size: 1.8rem;
}

.light_story_content .main-paragraph h3,
.light_story_content .light-news-paragraph h3 {
    font-size: 1.6rem;
}

.light_story_content .main-paragraph h3,
.light_story_content .light-news-paragraph h3 {
    font-size: 1.5rem;
}

.light_story_content .main-paragraph h4,
.light_story_content .light-news-paragraph h4 {
    font-size: 1.1rem;
}

.light_story_content .main-paragraph p,
.light_story_content .light-news-paragraph p {
    line-height: 1.6;
    font-size: 1rem;
}

.light_story_content .main-paragraph ul,
.light_story_content .main-paragraph ol {
    margin-left: 30px;
    margin-top: 20px;
}

.light_story_content .light-news-paragraph .paragraph_image_container {
    width: 100%;
    /* height: 500px; */
    display: flex;
    align-items: center;
    justify-content: center;
}

.light_story_content .light-news-paragraph .paragraph_image_container a {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.light_story_content .light-news-paragraph .paragraph_image_container.has_prod_link {
    flex-direction: column;
    align-items: initial;
    width: 50%;
    margin: 1rem auto 0;
}

.light_story_content .light-news-paragraph .paragraph_image_container a img {
    width: 100%;
    height: 100%;
    -o-object-fit: scale-down;
    object-fit: scale-down;
}

.link_container.pos_rel {
    display: flex;

}

#main_ln_page_link .link_container.pos_rel {
    justify-content: center;
    align-items: center;
    gap: 10px;
}

.link_container.left_pos {
    justify-content: left;
}

.single-light_story .light_story_content .light-news-paragraph .link_container .arrow_img_container {
    width: 30px;
    height: 20px;
}

#related-light-stories .news_date {
    color: var(--grigioscuro);
}

#related-light-stories .related_light_story,
#related-light-stories .related_light_story .related_head {
    gap: 20px;
}

#main_ln_page_link .link_container {
    text-transform: uppercase;
    padding: 15px 20px;
    font-size: 15px;
}

#main_ln_page_link .link_container.pos_rel a {
    display: flex;
    justify-content: center;
    border: 1px solid var(--dark);
    width: -webkit-max-content;
    width: -moz-max-content;
    width: max-content;
    padding: 1rem;
    gap: 10px;
}

#main_ln_page_link .link_container.pos_rel a svg {
    flex-shrink: 0;
    flex-grow: 1;
    width: 30px;
}

#main_ln_page_link .link_container.pos_rel a svg * {
    fill: none;
    stroke: #111;
    stroke-width: 1.5px;
}

#main_ln_page_link .link_container.pos_rel a span {
    flex-shrink: 0;
    flex-grow: 1;
}

.link_container.pos_rel.show_more_button_link .arrow_img_container {
    width: 50px;
    height: 25px;
}

.link_container.pos_rel.show_more_button_link .arrow_img_container img {
    width: 100%;
    height: 100%;
    -o-object-fit: contain;
    object-fit: contain;
}

/*NOTE - Video */
.video_container {
    width: 100%;
    max-width: calc(100% / 2);
    aspect-ratio: 16/9;
    /*     display: flex;
    align-items: center;
    justify-content: center; */
    margin: 0 auto;
}

.video_container video {
    width: 100%;

}

/* !SECTION */



.grecaptcha-badge {
    display: none !important;
}

.main_intro_element {
    background-size: cover;
    background-position: center;
    visibility: hidden;
    overflow: hidden;
}

#company_intro .intro_description {
    /* grid-template-columns: 1fr 1fr; */
    place-items: end normal;
}

#company_intro .intro_description h1 {
    font-size: 6rem;
    color: var(--white);
    font-weight: 300;
    line-height: 1.2;
    visibility: hidden;
}

.secondary_text_intro p {
    text-align: center;
    font-size: 1rem;
    line-height: 1.7;
}

.is_paragraph .title_paragraph {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
}

.is_paragraph .title_paragraph .title_icon {
    width: 50px;
    -webkit-filter: grayscale(1) brightness(0.8) saturate(0);
    filter: grayscale(1) brightness(0.8) saturate(0);
}

.is_paragraph .title_paragraph .title_icon svg {
    width: 100%;
}

.is_paragraph .title_paragraph .title_icon svg * {
    fill: none;
    stroke: var(--dark);
    stroke-width: 1px;
}

.is_paragraph .title_paragraph h3 {
    font-size: 0.9rem;
    text-transform: uppercase;
    font-weight: 400;
    letter-spacing: 1px;
}

.parags_index_grid a {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
}

.parags_index_grid a img {
    width: 40px;
    pointer-events: none;
}

.parags_index_grid a span {
    text-transform: uppercase;
    color: var(--maincolor);
    font-size: .85rem;
    display: inline-block;
    margin-top: 1rem;
    pointer-events: none;
}

.compress {
    padding-left: 10%;
    padding-right: 10%;
}

section.is_paragraph:nth-of-type(even) {
    background-color: var(--grigiochiaro);
}

.is_paragraph .motto {
    margin-bottom: 2rem;
}

.is_paragraph .motto h2 {
    font-size: 1.75rem;
    line-height: 1.3;
    font-weight: 300;
}

.paragraph_text p {
    font-size: .9rem;
    line-height: 1.7;
}

.image_content .grid .image_container {
    width: 100%;
    height: 400px;
}

.image_content .grid .image_container img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
}

section#chi-siamo-section .motto h2,
section#test-section .motto h2,
section#certificazioni-section .motto h2 {
    text-align: center;
}

.single_feature .evidence_value span {
    color: var(--maincolor);
    font-weight: bold;
    font-size: 1.75rem;
}

.single_feature .value_horizontal_divider {
    width: 100%;
    height: 1.25px;
    background-color: var(--maincolor);
}

.single_feature .feature_descr p {
    text-align: center;
    font-size: .95rem;
}

.single_feature .feature_descr p strong {
    font-weight: 700;
    font-size: .8rem;
}

.image_container.has_white_border {
    border: 2px solid var(--white);
}

.image_content .gallery_container .image_container {
    height: 320px;
}

#chi-siamo-section .paragraph_text p {
    text-align: center;
    font-size: .8rem;
}

.text_paragraph.compressed {
    padding-right: 40%;
    align-self: center;
}

.text_paragraph p {
    line-height: 1.6;
    font-size: .9rem;
}

.gallery_test {
    flex-wrap: wrap;
    grid-template-areas:
        "image1 image2 image3 image3"
        "image4 image4 image5 image5";
}

.image1 {
    grid-area: image1;
}

.image2 {
    grid-area: image2;
}

.image3 {
    grid-area: image3;
}

.image4 {
    grid-area: image4;
}

.image5 {
    grid-area: image5;
}

.single_img {
    width: 100%;
    height: 200px;
    cursor: pointer;
    position: relative;
}

.single_img::before {
    content: attr(data-point);
    position: absolute;
    top: 0;
    left: 0;
    font-weight: bold;
    font-size: .8rem;
    color: var(--white);
    width: 20px;
    height: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: var(--maincolor);
    z-index: 1;
    line-height: 20px;
    transition: .2s;
    transform-origin: left top;
    pointer-events: none;
}

.single_img.on_over::before {
    scale: 1.75;
}

.single_img img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    /* -o-object-position: left top;
    object-position: left top; */
    -webkit-filter: grayscale(1);
    filter: grayscale(1);
    transition: .3s;
    pointer-events: none;
}

.single_img.selected img,
.single_img:hover img {
    -webkit-filter: grayscale(0);
    filter: grayscale(0);
}

.gallery_test {
    flex-wrap: wrap;
    grid-template-areas: "image1 image2 image3 image3"
        "image4 image4 image5 image5";
    grid-template-rows: repeat(2, 1fr);
    align-self: center;
}

.test_points {
    list-style-type: none;
}

.test_item_header {
    display: flex;
    align-items: flex-start;
    justify-content: flex-start;
    gap: 8px;
}

.test_item_header span {
    font-size: .8rem;
    pointer-events: none;
}

.test_item_header span.number {
    color: var(--maincolor);
    font-weight: 800;
}

.test_item_header span.point_title {
    font-weight: 700;
}

.test_points li {
    border-bottom: 1px solid var(--grigiofooterchiaro);
    padding-top: 1rem;
    padding-bottom: 1rem;
    display: grid;
    grid-template-rows: auto 0;
    transition: grid-template-rows .2s;
    transition: grid-template-rows .2s, -ms-grid-rows .2s;
    cursor: pointer;
}

.test_item_content {
    /* padding: 1.2rem; */
    font-size: .8rem;
    line-height: 1.6;
    overflow: hidden;
    padding-left: 1.2rem;
    transition: padding .2s;
}

.test_points li.open {
    grid-template-rows: auto 1fr;
}

.test_points li.open .test_item_content {
    padding-top: 1.2rem;
}

.test_points li:last-of-type {
    margin-bottom: 0;
    padding-bottom: 0;
    border-bottom: none;
}

.title_parag_content p {
    line-height: 1.5;
    text-align: center;
    font-size: .9rem;
}

.single_cert {
    grid-template-columns: 200px 1fr 100px;
}

.single_cert .show_more_btn_container {
    width: 30px;
    height: 30px;
    position: relative;
    align-self: center;
    transition: .3s;
}

.single_cert.open .show_more_btn_container {
    rotate: 45deg;
}

.single_cert .show_more_btn_container span {
    width: 100%;
    height: 1.25px;
    background-color: var(--dark);
    pointer-events: none;
    position: absolute;
    top: 50%;
    left: 50%;
    translate: -50% -50%;
}

.single_cert .show_more_btn_container span:nth-of-type(2) {
    rotate: 90deg;
}

.document_anchor_cert {
    display: flex;
    align-items: center;
    gap: 10px;
    width: -webkit-max-content;
    width: -moz-max-content;
    width: max-content;
    margin-left: auto;
    margin-top: 1.5rem;
}

.document_anchor_cert span {
    color: var(--maincolor);
    flex-grow: 1;
    flex-shrink: 0;
    font-size: .8rem;
}

a.document_anchor_cert :where(img, svg) {
    flex-shrink: 0;
    width: 20px;
}

a.document_anchor_cert svg * {
    fill: none;
    stroke: var(--maincolor);
    stroke-width: 1px;
}

.cert_logo {
    display: flex;
    align-items: flex-start;
    justify-content: center;
    height: 60px;
    width: 100px;
    margin: 0 auto;
}


.cert_logo img {
    height: 100%;
    width: 100%;
    -o-object-fit: scale-down;
    object-fit: scale-down;
}

.single_cert {
    grid-template-columns: auto 1fr auto;
    padding: 1rem 2rem;
    border-bottom: 1px solid var(--grigio);
    cursor: pointer;
    transition: all .3s;
    position: relative;
}

.single_cert::before {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    top: 0;
    right: 0;
    background-image: linear-gradient(180deg, rgba(0, 0, 0, 0) 0, rgba(0, 0, 0, 0.03) 75%, rgba(0, 0, 0, 0.05) 84%, rgba(0, 0, 0, 0.07) 100%);
    transition: .3s;
    opacity: 0;
    z-index: -1;
}

.single_cert.open::before {
    opacity: 1;
}

.cert_info {
    display: grid;
    grid-template-rows: auto 0;
    align-self: center;
    transition: grid-template-rows .3s, padding .2s;
    transition: grid-template-rows .3s, padding .2s, -ms-grid-rows .3s;
}

.single_cert.open .cert_info {
    grid-template-rows: auto 1fr;
}

.content_cert {
    overflow: hidden;
    transition: padding .4s;
}

.single_cert.open .cert_info .content_cert {
    padding: .75rem 0;
}

.content_cert p {
    line-height: 1.8;
    font-size: .8rem;
}

/*NOTE - Portofolio progetti */
#raccolta_progetti .single_project {
    width: auto;
    height: 500px;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}

#raccolta_progetti .single_project::after {
    content: '';
    position: absolute;
    inset: 0;
    background-size: 100% 100%;
    background-position: 0px 0px;
    background-image: linear-gradient(0deg, #000000c7 15%, #00000000 100%);
}

#raccolta_progetti .single_project .show_more_button_link {
    color: var(--white);
    border: 1px solid var(--white);

}

#raccolta_progetti .single_project .etichetta_proj .single_project_info {
    margin: 10px auto;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

#raccolta_progetti .single_project .etichetta_proj .single_project_info .proj_name {
    font-size: 1.3rem;
}

#raccolta_progetti .single_project .etichetta_proj .single_project_info .proj_location {
    font-size: 1rem;
}

.sfp_details a.show_more_button_link,
.news_details a.show_more_button_link,
.article_link_container a.show_more_button_link,
.related_light_story a.show_more_button_link,
#raccolta_progetti .single_project .etichetta_proj a {
    pointer-events: auto;
    overflow: hidden;
    position: relative;
}

.sfp_details a.show_more_button_link::after,
.news_details a.show_more_button_link::after,
.article_link_container a.show_more_button_link::after,
.related_light_story a.show_more_button_link::after,
#raccolta_progetti .single_project .etichetta_proj a::after {
    content: '';
    position: absolute;
    inset: 0;
    background-color: var(--white);
    translate: -101% 0;
    transition: .3s;
}

.sfp_details a.show_more_button_link:hover::after,
.news_details a.show_more_button_link:hover::after,
.article_link_container a.show_more_button_link:hover::after,
.related_light_story a.show_more_button_link:hover::after,
#raccolta_progetti .single_project .etichetta_proj a:hover::after {
    translate: 0 0;
}

.sfp_details a.show_more_button_link span,
.news_details a.show_more_button_link span,
.article_link_container a.show_more_button_link span,
.related_light_story a.show_more_button_link span,
#raccolta_progetti .single_project .etichetta_proj a span {
    position: relative;
    z-index: 4;
    color: var(--white);
    transition: .3s;
}

.news_details a.show_more_button_link span,
.article_link_container a.show_more_button_link span,
.related_light_story a.show_more_button_link span,
.sfp_details a.show_more_button_link span {
    color: var(--dark);
}

.news_details a.show_more_button_link a:hover span,
.article_link_container a.show_more_button_link a:hover span,
.related_light_story a.show_more_button_link a:hover span,
#raccolta_progetti .single_project .etichetta_proj a:hover span {
    color: var(--dark);
}

.news_details a.show_more_button_link::after,
.article_link_container a.show_more_button_link::after,
.related_light_story a.show_more_button_link::after,
.sfp_details a.show_more_button_link::after {
    background-color: var(--dark);
}

.news_details a.show_more_button_link:hover span,
.article_link_container a.show_more_button_link:hover span,
.related_light_story a.show_more_button_link:hover span,
.sfp_details a.show_more_button_link:hover span {
    color: var(--white);
}

/*NOTE - Singolo Progetto */
#tax_title_progetti .big_wrapper.is_for_single_project .tax_title_wrapper {
    align-items: flex-start;
}

#tax_title_progetti .tax_title_wrapper :where(h1, h2) {
    text-align: left;
}

.proj_info_content {
    align-items: flex-start;
    justify-content: flex-start;
}

.base_info_container {
    align-items: flex-start;
}

.single_info_container {
    display: flex;
}

.single_info_container .valore_campo {
    font-weight: 600;
}

#tax_title_progetti .tax_title_wrapper .element_location {
    text-transform: uppercase;
    font-weight: 500;
}

#tax_title_progetti {
    width: 100%;
}

.is_for_single_project .tax_title_wrapper h1 {
    font-size: 2.15rem;
}

.proj_image_section {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    max-width: 75%;
    margin-left: auto;
    margin-right: auto;
}

.single_proj_image {
    height: 600px;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* .single_proj_image a {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
} */
.single_proj_image a {
    width: auto;
    height: 100%;
    display: inline-block;
    /* align-items: center; */
    /* justify-content: center; */
}

.single_proj_image a img {
    width: 100%;
    height: 100%;
    -o-object-fit: scale-down;
    object-fit: scale-down;
}

.proj_gallery.is_single_image {
    width: 100%;
    height: 650px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.proj_gallery.is_single_image a {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.proj_gallery.is_single_image a img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
}

.proj_gallery {
    width: 100%;
    /* max-width: 1024px; */
    /* margin-inline: auto; */
}

.images_pagination {
    min-width: 60px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.2rem;
}

.proj_gallery .splide__arrow--prev svg {
    transform: initial;
}

.proj_gallery .splide__arrows {
    position: absolute;
    top: 50%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 2rem;
    /* right: 0;
    left: 0; */
    z-index: 10;
    translate: 0 -50%;
    /* inset: 50% 2vw 0; */
    inset: 50% -70px 0;
    pointer-events: none;
}

.proj_gallery .splide__arrows .splide__arrow {
    position: initial;
    top: initial;
    left: initial;
    right: initial;
    transform: initial;
    background: none;
    width: 60px;
    pointer-events: all;
}

.proj_gallery .splide__arrows .splide__arrow svg {
    width: 100%;
    height: auto;
}

.proj_gallery .splide__arrows .splide__arrow svg * {
    fill: none;
    stroke: #111;
    stroke-width: 1px;
}

/* .single_proj_image img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
} */

.proj_gallery .images_pagination {
    display: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

.prod_list_container {
    margin-top: 2.5rem;
    padding-top: 1rem;
    border-top: 1px solid var(--grigioscuro);
}

.prod_list_container h2 {
    text-transform: uppercase;
    font-size: 1rem;
    font-weight: 600;
    margin-bottom: 1.5rem;
}

.prod_proj_info .image_prod {
    width: 100%;
    height: 300px;
}

.prod_proj_info .image_prod img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
}

.prod_proj_details {
    z-index: 2;
    left: 1rem;
    bottom: 1rem;
    gap: 5px;
    pointer-events: none;
}

.prod_proj_info::after {
    content: '';
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
    background-size: 100% 40%;
    background-position: center bottom;
    background-image: linear-gradient(0deg, rgba(0, 0, 0, 0.45) 15%, rgba(0, 0, 0, 0) 100%);
    background-repeat: no-repeat;
}

.prod_proj_details p {
    color: var(--white);
    font-weight: 600;
}

.prod_proj_fam_types img {
    -webkit-filter: invert(1);
    filter: invert(1);
    width: 1.2rem;
    height: 1.2rem;
}

section#mega_compressor {
    padding: 0 2% 70px;
}

.story_events_container {
    width: 100%;
}

.story_events_container {
    width: 100%;
    max-width: 95%;
    margin-inline: auto;
}

.story_events_container .period_list {
    width: 100%;
    justify-content: space-around;
    --dotWidth: 18px;
}

.story_events_container .period_list::after {
    position: absolute;
    content: '';
    pointer-events: none;
    width: 100%;
    left: 0;
    right: 0;
    height: 1px;
    z-index: 1;
    background-color: var(--dark);
    bottom: calc((var(--dotWidth)) / 2);
}

button.single_period_events span.period_label {
    font-size: 1.4rem;
    font-weight: bold;
    opacity: .6;
    transition: .3s;
}

/* .period_container {
    transition: .3s;
    transform-origin: center calc(100% - (var(--dotWidth) / 2) * (-1));
} */

/* .period_container.active {
    scale: 1.05;
} */

.period_container:hover button.single_period_events span.period_label,
.period_container.active .single_period_events span.period_label {
    opacity: 1;
}

.period_container button.single_period_circle {
    width: var(--dotWidth);
    height: var(--dotWidth);
    border-radius: 50%;
    background-color: var(--grigiochiaro);
    border: 2px solid var(--dark);
    opacity: 1;
    transition: background-color .3s, scale .3s;
    position: relative;
    z-index: 2;
}

.period_container:hover button.single_period_circle {
    background-color: var(--dark);
}

.period_container.active button.single_period_circle {
    background-color: var(--dark);
    scale: 1.05;
}

.event_container {
    min-height: 500px;
    padding: 2.75rem;
}

.event_container .event_date_wrapper h2 {
    font-weight: 300;
    font-size: 2.5rem;
}

.event_container span.arrow_indicator {
    background-color: var(--white);
    width: 3rem;
    height: 28px;
    top: -27px;
    -webkit-clip-path: polygon(50% 0%, 0% 100%, 100% 100%);
    clip-path: polygon(50% 0%, 0% 100%, 100% 100%);
    transition: .3s;
}

.single_ev_el_card {
    transition: .3s;
}

.seec_image,
.seec_image img {
    width: 100%;
}

.seec_details h4 {
    text-align: center;
    font-weight: 400;
    font-size: 1.05rem;
    text-transform: uppercase;
    line-height: 1.3;
}

/* !SECTION */

/* SECTION Famiglia */


#family_intro .fam_intro_wrapper {
    align-self: center;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    position: relative;
    z-index: 3;
}

.prod_pres_grid .left_col .single_product_gallery ul li .image_container,
.prod_pres_grid .left_col .single_product_gallery ul li .image_container a {
    display: flex;
    align-items: center;
    justify-content: center;
}

.prod_pres_grid .left_col .single_product_gallery ul li .image_container a {
    width: 100%;
    height: 100%;
}

.prod_pres_grid .left_col .single_product_gallery ul li .image_container a img {
    width: 100%;
}

.intro_text_container * {
    color: var(--white);
}

.intro_text_container p:nth-of-type(1),
.intro_text_container p:nth-of-type(2) {
    margin-bottom: .75rem;
    font-size: 1.35rem;
    text-transform: uppercase;
    text-align: right;
}

.intro_text_container p:nth-of-type(1) span,
.intro_text_container p:nth-of-type(2) span {
    font-weight: 300;
}

.intro_text_container h2 {
    font-size: 2.45rem;
    font-weight: 600;
    text-align: right;
    line-height: 1.4;
}

.intro_text_container p.designer_par {
    text-align: right;
}

.type_icons_container {
    justify-content: flex-end;
    margin-top: 1rem;
}

.type_icons_container img {
    -webkit-filter: invert(1);
    filter: invert(1);
    width: 1.75rem;
    height: 1.75rem;
}

.gallery_product_slider .splide__slide a {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.gallery_product_slider .splide__slide a img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
}

.fam_desc_content_wrapper .splide__arrows {
    display: flex;
    align-items: center;
    gap: 1rem;
    margin-top: 3rem;
}

.fam_desc_content_wrapper .splide__arrows .splide__pagination,
.fam_desc_content_wrapper .splide__arrows .splide__arrow {
    position: initial;
    transform: initial;
    width: auto;
    height: auto;
    border-radius: initial;
    background: none;
}

.fam_desc_content_wrapper .splide__arrows .splide__arrow.splide__arrow--prev svg {
    transform: initial;
}

.fam_desc_content_wrapper .splide__arrows .splide__arrow svg {
    width: 50px;
    height: auto;
    pointer-events: none;
}

.fam_desc_content_wrapper .splide__arrows .splide__arrow svg * {
    fill: none;
    stroke: #111;
    stroke-width: 1.35px;
}

.fam_desc_content_wrapper {
    align-self: center;
}

.fam_desc_content_wrapper p {
    line-height: 1.75;
}

.fam_desc_content_wrapper p:not(:last-of-type) {
    margin-bottom: 1.5rem;
}

.section_title.start_align {
    display: flex;
}

.section_title.start_align.flex_col {
    align-items: flex-start;
}

h4.subtitle_section {
    margin-top: 5px;
    font-size: 0.9rem;
    font-weight: 400;
    text-transform: uppercase;
    letter-spacing: 2px;
}

.section_title.top_border {
    padding-top: 0.6rem;
    border-top: 1px solid var(--grigio);
}

section[id*="family-products"] .section_title h3,
section#finiture-fam .section_title h3,
section#prog-corr-fam .section_title h3,
section#type-prod-related .section_title h3,
section#custom_size_section .section_title h3,
section#custom_size_fin .section_title h3,
section#custom_size_system_elements .section_title h3,
section#custom_size_related_accessory .section_title h3 {
    font-size: 1.1rem;
    text-transform: uppercase;
    letter-spacing: 1.15px;
    font-weight: 600;
}

.single_product_family {
    grid-template-rows: 1fr auto;
    gap: 2.5rem;
    padding: .5rem;
    transition: background-color 0.3s;
}

.single_product_family:hover {
    background-color: var(--grigiochiaro);

}

/* .single_product_family .product_catalogue_image {
    height: 420px;
} */

.single_product_family .product_catalogue_image {
    height: 325px;
}


.single-product .single_product_family {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}

.single-product .single_product_family .product_catalogue_image {
    height: initial;
    aspect-ratio: 1;
    width: 100%;
    position: relative;
    overflow: hidden;
}

.single-product .single_product_family .product_catalogue_image img {
    width: 100%;
    height: auto;
    position: absolute;
    top: 50%;
    left: 50%;
    translate: -50% -50%;
}

.single_product_family a.global_link {
    inset: 0;
    z-index: 2;
}

h4.code_name_product.is_for_system {
    font-size: 1.5rem;
    font-weight: 400;
    text-transform: uppercase;
}

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

.box_img {
    width: 100%;
    height: 0;
    padding-bottom: 100%;
}

p.fin_name {
    font-size: 0.9rem;
    line-height: 1.2;
}

.fam_projects_slider .splide__arrows {
    position: absolute;
    bottom: 0;
    left: 0;
}

.fam_projects_slider .splide__arrows .splide__arrow {
    position: initial;
    transform: initial;
    background: none;
    width: auto;
    height: auto;
}

.fam_projects_slider .splide__arrows .splide__arrow svg {
    width: 50px;
    height: auto;
    transform: initial;
}

.fam_projects_slider .splide__arrows .splide__arrow svg * {
    fill: none;
    stroke: #111;
    stroke-width: 1.25px;
}

.fam_projects_slider .splide__arrows .splide__pagination {
    position: initial;
}

.fam_projects_slider .sfp_details {
    align-self: flex-end;
    margin-bottom: 10rem;
    align-items: flex-start;
}

.sfp_details h4 {
    font-size: 1.1rem;
    line-height: 1.5;
}

.sfp_details p {
    font-size: .9rem;
}

.single_related_box {
    width: 100%;
    height: 0;
    padding-bottom: 100%;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
}

.single_related_box .global_link {
    inset: 0;
    z-index: 5;
}

.srb_details {
    bottom: 1rem;
    left: 1rem;
    z-index: 2;
    pointer-events: none;
}

.srb_details h4.prod_title {
    color: var(--white);
    font-weight: 600;
    font-size: .9rem;
    margin-bottom: .25rem;
}

.single_related_box::after {
    content: '';
    position: absolute;
    inset: 0;
    background-size: 100% 50%;
    background-position: center bottom;
    background-image: linear-gradient(0deg, rgba(0, 0, 0, 0.45) 25%, rgba(0, 0, 0, 0) 100%);
    background-repeat: no-repeat;
}

.srb_details .prod_types .type_icon {
    width: 22px;
    height: 22px;
}

.srb_details .prod_types .type_icon img {
    -webkit-filter: invert(1);
    filter: invert(1);
    width: 100%;
    height: 100%;
    -o-object-fit: contain;
    object-fit: contain;
}

#family_intro::after {
    /* content: ''; */
    position: absolute;
    /* inset: 0; */
    pointer-events: none;
    z-index: 1;
    /* background-size: 50% 100%; */
    /* background-position: right center; */
    /* background-image: linear-gradient(90deg, var(--avgColorAlphaZero) 0, var(--avgColorAlphaCento) 75%); */
    background-repeat: no-repeat;
    /* mix-blend-mode: darken; */
    width: 50%;
    right: 0;
    top: 0;
    bottom: 0;
}

.single_config_card {
    padding-top: 20px;
    border-top: 2px solid var(--grigiochiaro);
}

.single_config_card h3 {
    font-size: 1.4rem;
    font-weight: 500;
    text-align: center;
    margin-bottom: 1rem;
}

.single_config_card .sci_image,
.single_config_card .sci_image a {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.single_config_card .sci_image a img {
    width: 100%;
    -o-object-fit: scale-down;
    object-fit: scale-down;
}

.text_upper {
    text-transform: uppercase;
}

.section_title .text_align_center {
    text-align: center;
}

.section_title .text_bolder {
    font-weight: 600;
}

/* ANCHOR - Tabella CUSTOM SIZE */

.custom_size_wrapper,
.custom_size_wrapper table {
    width: 100%;
}

.custom_size_wrapper {
    overflow: auto;
    /* overflow-y: hidden; */
    -webkit-overflow-scrolling: touch;
}

.custom_size_wrapper {
    max-width: 70%;
    margin-inline: auto;
}

.custom_size_wrapper table {
    border-collapse: collapse;
    /* white-space: nowrap; */
}

.custom_size_wrapper table thead {
    border-bottom: 2px solid var(--grigioscuro);
}

.custom_size_wrapper table thead th {
    padding-bottom: 10px;
    padding-inline: 1rem;
    font-size: 1.1rem;
}

.custom_size_wrapper table tbody {
    margin-bottom: 2rem;
    /* display: flex;
    flex-direction: column; */
}

.custom_size_wrapper table tbody tr {
    border-bottom: 1px solid var(--grigioscuro);
}

.custom_size_wrapper table tr td p.flex {
    flex-wrap: wrap;
}

.custom_size_wrapper table tbody:last-of-type tr.empty_row_separator {
    border-bottom: initial;
}

.custom_size_wrapper table tbody tr td {
    padding-block: 0.45rem;
    padding-inline: 1rem;
    font-size: 1.1rem;
}

.custom_size_wrapper table tbody tr.empty_row_separator td {
    padding-block: initial;
    height: 25px;
}

.custom_size_wrapper table tbody:last-of-type tr.empty_row_separator td {
    height: initial;
}

th svg.lucide.lucide-circle-slash-2 {
    stroke-width: 3px;
    height: 1rem;
}

.custom_size_wrapper table thead tr th {
    text-align: left;
    vertical-align: initial;
}

button.dark_btn {
    background-color: #121212;
    padding: 1.3rem 2rem;
    margin-inline: auto;
    /* width: max-content; */
    display: block;
    /* margin: 0 auto; */
    color: var(--white);
    line-height: 1.3;
    font-size: 1rem;
}

button.dark_btn :where(strong, i, em, b) {
    color: var(--white);
    pointer-events: none;
}

button#hubspot_activator {
    transition: .2s;
}

button#hubspot_activator:hover {
    opacity: .95;
}

button#hubspot_activator strong {
    font-size: 1.25rem;
}

.custom_size_system_elements_grid .single_product_family {
    gap: 20px;
    /* flex-basis: 150px; */
    width: 185px;
}

.custom_size_system_elements_grid .single_product_family .product_catalogue_image {
    height: initial;
    width: 100%;
}

/* !SECTION */

/* SECTION - Agenti */

#agent_list {
    visibility: hidden;
    /* overflow-x: hidden; */
}

#complete_agents_web .section_title {
    visibility: hidden;
}

.flipping {
    width: 50px;
    height: 50px;
    display: flex;
    -webkit-animation: flipping-v3xuu0lg 1.6s infinite linear;
    animation: flipping-v3xuu0lg 1.6s infinite linear;
}

.flipping::before,
.flipping::after {
    content: "";
    flex: 1;
    -webkit-animation: flipping-fmm6xylg 0.8s infinite linear alternate,
        flipping-5c2854lg 1.6s infinite linear -0.4s;
    animation: flipping-fmm6xylg 0.8s infinite linear alternate,
        flipping-5c2854lg 1.6s infinite linear -0.4s;
}

.flipping::after {
    --s: -1, -1;
}

@-webkit-keyframes flipping-v3xuu0lg {

    0%,
    49.99% {
        transform: scaleX(1) rotate(0deg);
    }

    50%,
    100% {
        transform: scaleX(-1) rotate(-90deg);
    }
}

@keyframes flipping-v3xuu0lg {

    0%,
    49.99% {
        transform: scaleX(1) rotate(0deg);
    }

    50%,
    100% {
        transform: scaleX(-1) rotate(-90deg);
    }
}

@-webkit-keyframes flipping-fmm6xylg {

    0%,
    5% {
        transform: scale(var(--s, 1)) translate(0px) perspective(216px) rotateY(0deg);
    }

    33% {
        transform: scale(var(--s, 1)) translate(-14.4px) perspective(216px) rotateX(0deg);
    }

    66% {
        transform: scale(var(--s, 1)) translate(-14.4px) perspective(216px) rotateX(-180deg);
    }

    95%,
    100% {
        transform: scale(var(--s, 1)) translate(0px) perspective(216px) rotateX(-180deg);
    }
}

@keyframes flipping-fmm6xylg {

    0%,
    5% {
        transform: scale(var(--s, 1)) translate(0px) perspective(216px) rotateY(0deg);
    }

    33% {
        transform: scale(var(--s, 1)) translate(-14.4px) perspective(216px) rotateX(0deg);
    }

    66% {
        transform: scale(var(--s, 1)) translate(-14.4px) perspective(216px) rotateX(-180deg);
    }

    95%,
    100% {
        transform: scale(var(--s, 1)) translate(0px) perspective(216px) rotateX(-180deg);
    }
}

@-webkit-keyframes flipping-5c2854lg {

    0%,
    49.99% {
        background: #e30421;
        border-radius: 0;
    }

    50%,
    100% {
        background: #82888f;
        border-radius: 144px 0 0 144px;
    }
}

@keyframes flipping-5c2854lg {

    0%,
    49.99% {
        background: #e30421;
        border-radius: 0;
    }

    50%,
    100% {
        background: #82888f;
        border-radius: 144px 0 0 144px;
    }
}

.intro_image_container {
    /* height: 700px; */
    display: flex;
    align-items: flex-start;
}

.intro_image_container img {
    /* width: 100%; */
    height: 100%;
    -o-object-fit: scale-down;
    object-fit: scale-down;
}

.zone_agents_components {
    align-self: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding-right: 3rem;
    /* width: 60%; */
}

.zone_agents_components .choices {
    width: 50%;
}

h3.zone_agents_title {
    font-size: 1.2rem;
    text-align: center;
    font-weight: 400;
    margin-bottom: 2rem;
}

p.ab_place {
    font-size: 0.9rem;
    margin-bottom: 1rem;
    text-align: center;
}

.ab_logo {
    width: 100%;
    max-width: 70%;
    margin: 0 auto 1rem;
    border: 1px solid var(--grigiochiaro);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0.7rem;
}

.ab_logo img {
    width: 100%;
}

h4.ab_name {
    text-align: center;
    line-height: 1.4;
    margin-bottom: 0.1rem;
}

p.ab_address {
    text-align: center;
    font-size: .9rem;
}

.agents_search_results .agent_block {
    padding: 1.2rem;
    width: 300px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto;
}

p.ab_tel,
p.ab_mail {
    font-size: 0.85rem;
    text-align: center;

}

p.ab_tel a,
p.ab_mail a {
    transition: .3s;
}

p.ab_tel a:hover,
p.ab_mail a:hover {
    color: var(--maincolor);
}

a.ab_indicazioni {
    padding: 5px 20px;
    border: 1px solid var(--grigiofooterscuro);
    font-size: .85rem;
    transition: .3s;
}

a.ab_indicazioni:hover {
    color: var(--white);
    background-color: var(--maincolor);
    border-color: var(--maincolor);
}

.agent_card {
    border: 1px solid var(--grigio);
    opacity: 0;
}

.card_inner {
    justify-content: space-between;
    padding: 1rem;
    height: 100%;
}

.card_inner .label_location {
    font-size: .9rem;
    line-height: 1.3;
    text-align: center;
}

.card_inner .ab_indicazioni {
    text-align: center;
    max-width: -webkit-max-content;
    max-width: -moz-max-content;
    max-width: max-content;
    margin: 0 auto;
}

h4.agent_card_title {
    text-align: center;
    line-height: 1.4;
    font-size: 1rem;
    margin-bottom: 7px;
}

.contact_container {
    text-align: center;
}

.contact_container :where(span, a) {
    font-size: .9rem;
}

.contact_container span.just_a_label.but_goes_block {
    text-align: center;
    display: block;
    width: 100%;
}

.contact_container a {
    transition: .3s;
}

.contact_container a:hover {
    color: var(--maincolor);
}

.logo_container {
    max-width: 200px;
}

/* !SECTION */


/* SECTION - Pagina Prodotti */


.typologies_grid {
    width: 100%;
    gap: 3px;
    flex-wrap: wrap;
}

.typologies_grid label {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1rem;
    background-color: var(--grigiochiaro);
    /* flex: 1; */
    transition: .3s;
    cursor: pointer;
    flex-grow: 1;
    flex-shrink: 1;
    flex-basis: initial;
}

.typologies_grid input {
    display: none;
}

.typologies_grid label span {
    font-size: .9rem;
    transition: .3s;
    pointer-events: none;
    text-transform: uppercase;
}

.typologies_grid label:hover span {
    color: var(--white);
}

.typologies_grid label:hover {
    background-color: var(--maincolor);
    color: var(--white);
}

.typologies_grid input:checked+label {
    background-color: var(--grigioscuro);
}

.typologies_grid input:checked+label span {
    color: var(--white);
}

.single_family_card {
    width: 100%;
    padding-top: 100%;
    background-position: center;
    background-size: cover;
}

.single_family_card .global_link,
.banner_url .global_link,
.light_story_content_section .light_story_content .main-paragraph .global_link:not(#main_ln_page_link),
.light_story_content_section .light_story_content .light-news-paragraph .global_link:not(#main_ln_page_link) {
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    z-index: 1;
}

.single_family_card .global_link::after {
    /* content: ''; */
    inset: 0;
    background: linear-gradient(0deg, rgba(0, 0, 0, 0.4) 0%, rgba(0, 0, 0, 0.2) 30%, rgba(0, 0, 0, 0) 70%);
    z-index: 1;
    position: absolute;
}

.fam_details {
    bottom: 1rem;
    left: 1rem;
    right: 1rem;
    z-index: 2;
}

.fam_details h4 {
    color: #222;
    font-size: .85rem;
    line-height: 1.4;
}

.single_family_card.sfondo_scuro .fam_details h4 {
    color: var(--white);
}

section#prods_families_wall {
    padding-bottom: 120px;
}

.sfc_types {
    gap: 3px;
}

.single_family_card.sfondo_scuro .sfc_types img {
    -webkit-filter: invert(1);
    filter: invert(1);
}

#open_filters {
    padding: .5rem 1rem;
    border-radius: .3rem;
    transition: .3s;
}

#open_filters:hover {
    background-color: var(--grigiochiaro);
}

#open_filters svg {
    width: 20px;
    height: 20px;
    fill: none;
    stroke: var(--grigioscuro);
    stroke-width: 1.5;
    stroke-linecap: "round";
    stroke-linejoin: "round";
    pointer-events: none;
}

#open_filters span {
    font-size: .9rem;
    color: var(--grigioscuro);
    font-weight: 600;
    pointer-events: none;
}

#search_fam_btn svg {
    fill: none;
    stroke: var(--grigioscuro);
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.search_family_wrapper {
    align-items: initial;
    height: 30px;
    position: relative;
}

.search_family_wrapper input {
    flex-shrink: 0;
    font-size: .9rem;
    border: none;
    height: 100%;
    width: 250px;
    outline: none;
}

.search_family_wrapper button#search_fam_btn {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
}

.all_filters_container {
    /* max-width: 80%; */
    margin: 0 auto;
    overflow: hidden;
    transition: .3s;
}

.all_filters_container .all_filters__inner .af_col h4 {
    margin-bottom: 14px;
    font-size: .8rem;
    text-transform: uppercase;
    color: var(--maincolor);
    font-weight: 600;
}

.filters_note.pad30 p {
    font-size: 0.9rem;
    opacity: .7;
    text-align: left;
}

.af_col ul {
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.af_col ul li {
    width: -webkit-max-content;
    width: -moz-max-content;
    width: max-content;
}

.af_col ul li label {
    display: flex;
    align-items: center;
    gap: 7px;
    cursor: pointer;
}

.af_col ul li label input[type="checkbox"] {
    display: none;
}

.af_col ul li label .filter_fake_check {
    border: 1px solid var(--grigioscuro);
    border-radius: 0;
    width: 14px;
    height: 14px;
    transition: .3s;
    position: relative;
}

.af_col ul li label .filter_fake_check:after {
    content: '';
    position: absolute;
    left: 4px;
    top: 0px;
    width: 3px;
    height: 7px;
    border: solid #ffffff;
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
}

.af_col ul li label span {
    font-size: .9rem;
}

.af_col ul li label input[type="checkbox"]:checked~.filter_fake_check {
    background-color: var(--maincolor);
    border-color: var(--maincolor);
}

.fi_container {
    display: none;
    position: relative;
    align-items: initial;
    width: 90%;
}

.fi_container.show {
    display: flex;
}

.fi_container span {
    font-size: 0.85rem;
    line-height: 1.25;
}

.foro_incasso_wrapper label {
    display: flex;
    align-items: center;
    gap: 6px;
    cursor: pointer;
}

.foro_incasso_wrapper label .fake_flag {
    width: 44px;
    height: 20px;
    border: 2px solid var(--grigiochiaro);
    border-radius: 100px;
    background-color: var(--grigiochiaro);
    display: flex;
    transition: .3s;
    flex-shrink: 0;
}

.foro_incasso_wrapper label .fake_flag::after {
    content: '';
    width: 16px;
    height: 16px;
    background-color: var(--grigioscuro);
    border-radius: 100%;
    transition: .3s;
}

.foro_incasso_wrapper label input[type="checkbox"]:checked~.fake_flag {
    background-color: var(--grigioscuro);
    border-color: var(--grigioscuro);
}

.foro_incasso_wrapper label input[type="checkbox"]:checked~.fake_flag::after {
    background-color: var(--grigiochiaro);
    /* margin-left: auto; */
    translate: 23px 0;
}

.foro_incasso_wrapper label input[type="checkbox"] {
    display: none;
}

.foro_incasso_wrapper label span {
    font-size: 0.8rem;
    line-height: 1.2;
}

.fi_container input[type="number"] {
    width: 30px;
    border: none;
    background: none;
    outline: none;
    height: 20px;
    -webkit-appearance: textfield;
    -moz-appearance: textfield;
    appearance: textfield;
}

.fi_container input[type="number"]::-webkit-inner-spin-button,
.fi_container input[type="number"]::-webkit-outer-spin-button {
    -webkit-appearance: none;
}

.fi_inputs_wrapper {
    width: 100%;
}

.fi_val_wrapper label {
    font-size: .8rem;
}

.fi_val_wrapper.max_value_wrapper {
    justify-content: flex-end;
}

.fi_container .fi_range_slider {
    position: relative;
    width: 100%;
    height: 4px;
    background-color: var(--grigiochiaro);
    top: 1px;
    /* margin: auto; */
}

.fi_container .fi_range_slider .fi_progress {
    left: 0;
    right: 0;
    height: 100%;
    background-color: var(--grigio);
    position: absolute;
    border-radius: 50px;
}

.fi_container .fi_range_slider input[type="range"] {
    position: absolute;
    top: -5px;
    left: -5px;
    width: 110%;
    -webkit-appearance: none;
    pointer-events: none;
    background: none;
    outline: none;
}

.fi_container .fi_range_slider input::-webkit-slider-thumb {
    pointer-events: auto;
    -webkit-appearance: none;
    width: 14px;
    height: 14px;
    background-color: var(--grigio);
    border-radius: 50%;
}

.whole_filters_section_container {
    grid-template-rows: 40px 0fr;
    transition: grid-template-rows .3s;
    transition: grid-template-rows .3s, -ms-grid-rows .3s;
}

.whole_filters_section_container.open {
    grid-template-rows: 40px 1fr;
}

.open .all_filters_container {
    padding-top: 1.5rem;
}

.fi_container.not_chrome .fi_range_slider {
    height: initial;
    top: initial;
    background-color: initial;
}

.fi_container.not_chrome .fi_progress {
    display: none;
}

.fi_container.not_chrome .fi_range_slider input[type="range"] {
    position: initial;
    top: initial;
    left: initial;
    width: 100%;
    pointer-events: initial;
    -webkit-appearance: auto;
    background: initial;
    outline: initial;
}

.fi_container.not_chrome .fi_range_slider input::-webkit-slider-thumb {
    pointer-events: auto;
    -webkit-appearance: initial;
    width: initial;
    height: initial;
    background-color: initial;
    border-radius: initial;
}

.af_col {
    display: grid;
    grid-template-rows: auto 1fr;
}

.af_col.is_for_collections {
    display: flex;
    flex-direction: column;
}

.af_col.is_for_collections .choices__list--dropdown .choices__list,
.af_col.is_for_collections .choices__list[aria-expanded] .choices__list {
    max-height: 280px;
}

.af_col.is_for_collections .choices[data-type*=select-one] {
    width: 200px;
}

.btn_style {
    webkit-appearance: button;
    -moz-appearance: button;
    appearance: button;
}

button#launch_filters,
a#reset_filters {
    align-self: flex-end;
    padding: 10px;
    background-color: var(--maincolor);
    color: var(--white);
    text-transform: uppercase;
    transition: .3s;
}

button#launch_filters:hover,
a#reset_filters:hover {
    background-color: var(--grigioscuro);
}

a#reset_filters {
    margin-top: 7px;
    text-align: center;
    font-size: 14px;
    background-color: transparent;
    border: 1px solid var(--maincolor);
    color: var(--maincolor);
}

a#reset_filters:hover {
    background-color: var(--grigioscuro);
    color: var(--white);
    border-color: var(--grigioscuro);
}

.search_family_wrapper .search_results_wrapper {
    top: 100%;
    left: 0;
    width: 100%;
    translate: 0 25px;
    opacity: 0;
    pointer-events: none;
    transition: .3s;
    z-index: 10;
    gap: 0;
}

.search_family_wrapper .search_results_wrapper.show {
    opacity: 1;
    translate: 0 0;
    pointer-events: auto;
    /* box-shadow: rgba(100, 100, 111, 0.2) 0px 7px 29px 0px; */
}

.search_no_res,
.single_prod_search {
    padding: 1rem;
    background-color: var(--dark);
    transition: .3s;
}

.single_prod_search {
    border-bottom: 1px solid rgba(255, 255, 255, .2);
}

.single_prod_search:hover {
    background-color: #111;
}

.div_res_image {
    width: 70px;
    height: 70px;
    border-radius: 50%;
    overflow: hidden;
    flex-shrink: 0;
}

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

.single_res_details {
    align-items: initial;
}

p.search_no_res,
.single_res_details :where(h5, p) {
    font-size: 1rem;
    font-weight: 400;
    color: var(--white);
}

.single_res_details p {
    font-size: .9rem;
}

.single_prod_search a.global_link {
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
}

#close_search_prods_wrapper {
    width: 25px;
    height: 25px;
    background-color: var(--dark);
    margin-left: auto;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    position: relative;
}

#close_search_prods_wrapper span {
    width: 16px;
    height: 1px;
    background-color: var(--white);
    pointer-events: none;
    position: absolute;
    left: 50%;
    top: 50%;
    translate: -50% -50%;
    rotate: 45deg;
}

#close_search_prods_wrapper span:nth-of-type(2) {
    rotate: -45deg;
}

.skeleton_filter_div {
    width: 100%;
    height: 0;
    padding-bottom: 100%;
    background-color: var(--grigiochiaro);
    -webkit-animation: pulse .6s infinite;
    animation: pulse .6s infinite;
}

@-webkit-keyframes pulse {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

@keyframes pulse {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

.dots {
    width: 40px;
    height: 9.6px;
    background: radial-gradient(circle closest-side, #778189 90%, #0000) 0% 50%,
        radial-gradient(circle closest-side, #778189 90%, #0000) 50% 50%,
        radial-gradient(circle closest-side, #778189 90%, #0000) 100% 50%;
    background-size: calc(100%/3) 100%;
    background-repeat: no-repeat;
    -webkit-animation: dots-zcf63l 0.6s infinite linear;
    animation: dots-zcf63l 0.6s infinite linear;
    position: absolute;
    top: 50%;
    right: 40px;
    margin-top: -5px;
}

@-webkit-keyframes dots-zcf63l {
    33% {
        background-size: calc(100%/3) 0%, calc(100%/3) 100%, calc(100%/3) 100%;
    }

    50% {
        background-size: calc(100%/3) 100%, calc(100%/3) 0%, calc(100%/3) 100%;
    }

    66% {
        background-size: calc(100%/3) 100%, calc(100%/3) 100%, calc(100%/3) 0%;
    }
}

@keyframes dots-zcf63l {
    33% {
        background-size: calc(100%/3) 0%, calc(100%/3) 100%, calc(100%/3) 100%;
    }

    50% {
        background-size: calc(100%/3) 100%, calc(100%/3) 0%, calc(100%/3) 100%;
    }

    66% {
        background-size: calc(100%/3) 100%, calc(100%/3) 100%, calc(100%/3) 0%;
    }
}

/* !SECTION */

/* SECTION - Contatti */

.form_header p {
    text-align: center;
    line-height: 1.6;
    font-size: .95rem;
}

.has_alone_child {
    display: flex;
    align-items: center;
    justify-content: center;
}

.has_alone_child .single_info_details p {
    max-width: 100%;
}

.no_flex_shrink {
    flex-shrink: 0;
}

.do_flex_shrink {
    flex-shrink: 1;
}

p.req_fields_alert {
    margin-bottom: 12px;
    font-size: 0.8rem;
}

.section_head_title_section h3 {
    text-align: center;
    font-size: 2rem;
    line-height: 1.5;
    font-weight: 300;
}

.section_head_title_section p {
    margin-top: 1rem;
    text-align: center;
}

.contacts_portion {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.contacts_portion p {
    font-size: .9rem;
}

.contacts_portion ol.contact_list {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.contacts_portion ol.contact_list li {
    list-style: none;
    margin-top: 6px;
    font-size: .9rem;
}

.contacts_portion ol.contact_list li a span {
    font-weight: 600;
    transition: .3s;
}

.contacts_portion ol.contact_list li a:hover span {
    color: var(--maincolor);
}

.maps_address_info {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-top: 2rem;
    gap: 6px;
}

.maps_address_info h5 {
    text-transform: uppercase;
}

.maps_address_info a span {
    font-size: .9rem;
}

.ssg_image {
    height: 400px;
}

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

/* body[class*="contatti"] #more_info {
    visibility: hidden;
} */

section#modulo-pagina-contatti :where(.req_fields_alert, .form_row, .form_header) {
    visibility: hidden;
}

section#distributori .section_title h3,
section#mappa .section_title h3 {
    font-size: 1.35rem;
    font-weight: 600;
}

.single_zone {
    padding: 3rem;
    background-color: var(--grigiochiaro);
}

.zone_name h4 {
    font-size: 1.1rem;
    text-align: center;
    font-weight: 400;
    text-transform: uppercase;
}

.zone_name {
    margin-bottom: 2.5rem;
}

.contacts_location_intro p {
    text-align: center;
    line-height: 1.5;
}

.contacts_location_intro p a {
    transition: .3s;
}

.contacts_location_intro p a:hover {
    color: var(--maincolor);
}

h4.name_activity {
    margin-bottom: 10px;
}

.contacts_location_intro {
    margin-bottom: 4rem;
}

.consulente_info h5 {
    line-height: 1.4;
    text-align: center;
    margin-bottom: 6px;
}

ul.lista_contatti_consulente {
    display: flex;
    flex-direction: column;
    gap: 0.8rem;
}

ul.lista_contatti_consulente li {
    font-size: .8rem;
    text-align: center;
}

.cons-list {
    gap: 1.35rem;
}

.single_zone[data-zone="lazio"],
.single_zone[data-zone="lombardia"] {
    grid-row: span 2;
}

.zone_cons_grid.grid {
    grid-auto-rows: 1fr;
}

.index_grid.grid {
    gap: 3px;
}

.point_of_index h4 {
    text-align: center;
    padding: 10px;
    background-color: var(--grigiochiaro);
    color: var(--dark);
    font-weight: 400;
    font-size: 1rem;
    transition: .3s;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    cursor: pointer;
}

.point_of_index.selected h4 {
    font-weight: 600;
    color: var(--white);
    background-color: var(--maincolor);
}

section#indice-pagina {
    padding-bottom: 0;
}

.frame_map_container {
    width: 75%;
    margin-left: auto;
    margin-right: auto;
    position: relative;
    padding-bottom: 50%;
    height: 0;
    overflow: hidden;
}

/* iframe posizionato in maniera assoluta */
.frame_map_container iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

section {
    transition: .3s;
}

section.hided {
    max-height: 0;
    overflow: hidden;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

/* !SECTION */

/* ANCHOR - Spinner search */

.spinner_search {
    width: 20px;
    height: 20px;
    border-radius: 50%;
    border: 4px solid;
    border-color: var(--grigio);
    border-right-color: var(--grigioscuro);
    -webkit-animation: s2 0.5s infinite linear;
    animation: s2 0.5s infinite linear;
    position: absolute;
    right: 35px;
    top: 4px;
}

@-webkit-keyframes s2 {
    to {
        transform: rotate(1turn)
    }
}

@keyframes s2 {
    to {
        transform: rotate(1turn)
    }
}

/* SECTION - Singola News */


.woocommerce .media_wrapper {
    width: 100%;
    aspect-ratio: 16 / 9;
}

.woocommerce .media_wrapper :where(img, video, iframe) {
    width: 100%;
    height: 100%;
    -o-object-fit: scale-down;
    object-fit: scale-down;
}

.post_content_section .post_title h1 {
    text-align: center;
    font-size: 2rem;
}

.post_content_section .post_content,
.post_content_section .post_image {
    width: 50%;
    margin-left: auto;
    margin-right: auto;
}

.post_content_section .post_content p {
    text-align: center;
    line-height: 1.5;
    font-size: 1.15rem;
}

/* !SECTION */

.choices__list--dropdown,
.choices__list[aria-expanded] {
    z-index: 10 !important;
}

.border_bottom_white {
    border-bottom: 2px solid var(--white);
}

.extended_padding_bottom {
    padding-bottom: 120px;
}

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


#hbspt_newsletter_wrapper {
    /* display: none; */
    position: fixed;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    /* padding: 3rem; */
    background: rgba(255, 255, 255, .95);
    z-index: 9999999;
    display: flex;
    align-items: initial;
    justify-content: center;
    opacity: 0;
    pointer-events: none;
    transition: .3s;
    padding: 4rem 0;
}

div#hbspt_newsletter_wrapper.open {
    opacity: 1;
    pointer-events: auto;
}

button#close_hbspt_newsletter {
    position: absolute;
    top: 2rem;
    right: 2rem;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.hbspt-form {
    width: 100%;
    max-width: 800px;
    max-height: 910px;
    overflow: auto;
    padding: 2rem;
    box-shadow: rgba(99, 99, 99, 0.2) 0px 2px 8px 0px;
    border-radius: .5rem;
    background-color: var(--white);
    
    margin: 0 auto;
}

.contacts_page_form_hs .hbspt-form {
    max-height: 100%;
}

button#close_hbspt_newsletter svg {
    width: 100%;
    transition: .3s;
    opacity: .75;
    pointer-events: none;
}

button#close_hbspt_newsletter:hover svg {
    opacity: 1;
}

button#close_hbspt_newsletter svg * {
    fill: none;
    stroke: #111;
    stroke-width: 1.5px;
}

.hbspt-form {
    width: 100%;
    max-width: 800px;
    max-height: 910px;
    overflow: auto;
    padding: 2rem;
    box-shadow: rgba(99, 99, 99, 0.2) 0px 2px 8px 0px;
    border-radius: .5rem;
    background-color: var(--white);

    margin: 0 auto;
}

.custom_size_wrapper table thead th[class*="col_lux"],
.custom_size_wrapper table tbody td[class*="col_lux"] {
    width: 80px;
    border-left: 1px solid #dfdfdf;
}

.custom_size_wrapper table thead th[class*="lm"],
.custom_size_wrapper table tbody td[class*="lm"] {
    width: 120px;
    -webkit-padding-start: 0;
    padding-inline-start: 0;
}

.custom_size_system_elements_grid {
    flex-wrap: wrap;
}

.fake_range_track {
    height: 4px;
    border-radius: 10px;
    background-color: var(--grigiochiaro);
    position: relative;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

.fake_range_track .fake_range_slider {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    background-color: var(--grigioscuro);
    border-radius: 0;
    width: 100%;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

.fake_range_track .fake_thumb {
    position: absolute;
    width: 16px;
    top: 50%;
    margin-top: -8px;
    height: 16px;
    border-radius: 50%;
    background-color: var(--grigioscuro);
    cursor: pointer;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

.range_val_wrapper {
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

.fake_range_track .fake_thumb.fake_range_min_thumb {
    left: 0;
}

.fake_range_track .fake_thumb.fake_range_max_thumb {
    right: 0;
}

.video-progetto-container{
    display: flex; 
    justify-content: center; 
    align-items: center; 
    padding-left: 0; 
    padding-right: 0; 
    width: 100%; 
    margin-right: 0; 
    width: calc(100% - 60px); 
    max-width: 900px; 
    height: 100%;
    margin-right: auto; 
    margin-left: auto;
}

.video-progetto-box{
    height: 100%; 
    width: 100%; 
    -o-object-fit: scale-down; 
       object-fit: scale-down;
}

a#csse_preview {
    display: flex;
    align-items: center;
    margin-block-start: 60px;
    width: max-content;
    padding: 1rem 2rem;
    border: 2px solid var(--dark);
    text-transform: uppercase;
    font-weight: bold;
    transition: 300ms;
}

a#csse_preview:hover {
background-color: var(--dark);
color: var(--white);
}

/* SECTION MEDIA QUERIES */
/* ANCHOR - Media 1400px */
@media only screen and (max-width: 1400px) {
    .menu_wrapper .menu {
        gap: 2rem;
    }

    .custom_size_wrapper {
        max-width: initial;
        margin-inline: initial;
    }
}

/* ANCHOR - Media 1250px */
@media only screen and (max-width: 1250px) {



    .custom_size_wrapper table thead th[class*="col_lux"],
    .custom_size_wrapper table tbody td[class*="col_lux"],
    .custom_size_wrapper table thead th[class*="lm"],
    .custom_size_wrapper table tbody td[class*="lm"] {
        width: auto;
    }
}

/* ANCHOR - Media 1100px */
@media only screen and (max-width: 1100px) {
    .menu_wrapper .menu {
        gap: 1rem;
    }

    .custom_size_wrapper table thead tr th,
    .custom_size_wrapper table tbody tr td {
        padding-inline: 0.4rem;
        font-size: 1rem;
    }

    .menu_wrapper .menu li a {
        font-size: .9rem;
    }

    .event_elements_grid.grid {
        grid-template-columns: repeat(4, 1fr);

        -moz-column-gap: 1rem;
        column-gap: 1rem;
        row-gap: 1.5rem;
        margin-top: 2rem;
    }
}

/* ANCHOR - Media 1001px */
@media only screen and (max-width: 1001px) {

    .grid_2_cols,
    .grid_3_cols,
    .grid_4_cols,
    .grid_5_cols,
    .grid_6_cols,
    .grid_7_cols,
    .grid_8_cols,
    .grid_1_2_cols,
    .grid_2_1_cols,
    .grid_2_3_cols,
    .grid_3_2_cols,
    .grid_2_1_1_cols {
        grid-template-columns: 1fr 1fr;
    }

    .wrapper,
    .big_wrapper,
    .major_wrapper,
    .mega_wrapper {
        width: 100%;
        padding-left: 25px;
        padding-right: 25px;
    }

    .btn_mob_menu {
        display: flex;
        align-items: center;
        justify-content: center;
    }

    button#trigger_mobile_menu .mob_line {
        transition: .3s;
    }

    header.scrolling button#trigger_mobile_menu .mob_line {
        background-color: var(--white);
    }

    button#trigger_mobile_menu.clicked .mob_line:nth-of-type(1) {
        transform-origin: right;
        rotate: -30deg;
    }

    button#trigger_mobile_menu.clicked .mob_line:nth-of-type(2) {
        opacity: 0;
    }

    button#trigger_mobile_menu.clicked .mob_line:nth-of-type(3) {
        transform-origin: right;
        rotate: 30deg;
        width: 100%;
    }

    .archive button#trigger_mobile_menu .mob_line,
    .single button#trigger_mobile_menu .mob_line,
    .page-template button#trigger_mobile_menu .mob_line {
        background-color: var(--dark);
    }

    section#hero {
        min-height: 100vh;
        overflow: hidden;
        background-position: 70%;
    }

    section#breadcrumbs {
        padding-top: 110px;
    }


    .hero_text_block h1 {
        font-size: 2rem;
    }

    .section_title h3 {
        font-size: 1rem;
    }

    .hero_text_block h2 {
        font-size: 1.75rem;
    }

    .single_family {
        height: 400px;
    }

    .section_title h2 {
        font-size: 1.35rem;
    }

    .mobile_menu_wrapper {
        top: 100%;
        right: 0;
        background-color: var(--dark);
        max-height: 60vh;
        width: 100%;
        overflow: auto;
        transition: .3s;
        translate: 100% 0;
    }

    .mobile_menu_wrapper.show_menu_mob {
        translate: 0 0;
    }

    .mobile_menu_wrapper ul.menu li a {
        color: var(--grigiochiaro);
    }

    .mobile_menu_wrapper ul.menu {
        padding: 1.4rem 0;
    }

    .mobile_menu_wrapper ul.menu li a {
        color: var(--grigiochiaro);
        padding: 0.6rem 2rem;
        display: flex;
        font-size: .9rem;
        border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    }

    .mobile_menu_wrapper ul.menu li:last-of-type a:not(.sub-menu li a) {
        border-bottom: none;
    }

    .mobile_menu_wrapper ul.menu li.menu-item-has-children {
        display: grid;
        grid-template-rows: 42px 0fr;
        transition: .7s;
    }

    .mobile_menu_wrapper ul.menu li.menu-item-has-children .sub-menu {
        padding-left: 1rem;
    }

    .mobile_menu_wrapper ul.menu li.menu-item-has-children.expand {
        grid-template-rows: 42px 1fr;
    }

    .mobile_menu_wrapper ul.menu li.menu-item-has-children ul.sub-menu {
        overflow: hidden;
    }

    .sub-menu .menu-item-nephews,
    .sub-menu-item.menu-child {
        position: relative;
    }

    .sub-menu-item.menu-child::before,
    .sub-menu .menu-item-nephews::before {
        content: '';
        pointer-events: none;
        position: absolute;
        top: 0;
        left: 0;
        bottom: 0;
        width: 1px;
        background-color: var(--white);
        opacity: .1;
    }

    .sub-menu .menu-item-nephews::before {
        left: 1rem;
    }

    .footer_grid.grid {
        grid-template-columns: 1fr 1fr;
        gap: 20px;
    }

    .footer_grid .footer_col {
        grid-column: initial;
        border: none;
    }

    .footer_grid .footer_col:nth-of-type(1) {
        order: 1;
    }

    .footer_grid .footer_col:nth-of-type(2) {
        order: 3;
    }

    .footer_grid .footer_col:nth-of-type(3) {
        order: 5;
    }

    .footer_grid .footer_col:nth-of-type(4) {
        order: 2;
    }

    .footer_grid .footer_col:nth-of-type(5) {
        order: 5;
    }

    .footer_element.footer_list.footer_links ul.menu {
        display: flex;
        flex-direction: column;
        gap: 8px;
    }

    .footer_element.footer_info p {
        font-size: 0.8rem;
    }

    footer.pad40 {
        padding-bottom: 100px;
    }

    .newsletter_input_wrapper.grid {
        display: flex;
        width: 100%;
    }

    .newsletter_input_wrapper.grid input {
        flex-grow: 1;
        flex-shrink: 0;
    }

    .footer_socials_wrapper ul.flex {
        justify-content: initial;
        gap: 2rem;
    }

    .snc_image {
        height: auto;
    }

    .snc_elements {
        padding: 2rem 0;
    }

    .single_nov_card .snc_details {
        max-width: 80%;
    }

    .filters_container {
        flex-wrap: wrap;
    }

    .download_grid.grid.grid_5_cols {
        grid-template-columns: 1fr 1fr;
    }

    .gets_smaller {
        width: 75%;
    }

    .ssf_products_list_filters {
        flex-wrap: wrap;
    }

    #company_intro .intro_description {
        min-height: initial;
        padding: 170px 0 80px 0;
    }

    #company_intro .intro_description h1 {
        font-size: 3rem;
    }

    .is_paragraph .image_content .grid.grid_2_cols {
        grid-template-columns: 1fr 1fr;
    }

    .text_paragraph.compressed {
        padding-right: 0;
        align-self: initial;
    }

    #test-section .paragraph_content.grid {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .first_news .news_details {
        width: 100%;
        padding: 1.5rem;
    }

    .first_news .single_news_image {
        aspect-ratio: initial;
    }

    .zone_research_intro.grid {
        grid-template-columns: 2.5fr 1.5fr;
        gap: 0;
    }

    h3.zone_agents_title {
        font-size: 1rem;
    }

    .zone_agents_components .choices {
        width: 100%;
    }

    .agents_grid.grid {
        gap: 25px;
    }

    .zone_agents_components {
        padding: 1rem 2rem;
    }

    .ab_logo {
        max-width: 100%;
        width: 120px;
    }

    section#agent_list {
        padding-bottom: 70px;
    }

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

    .agents_search_results .agent_block {
        width: 100%;
    }

    .intro_image_container img {
        -o-object-fit: cover;
        object-fit: cover;
    }

    .form_grid .form_row:last-of-type {
        grid-column: 1 / -1;
    }

    .showroom_gallery .ssg_image {
        height: 250px;
    }

    .filters_grid.flex {
        flex-wrap: wrap;
    }

    .bread_wrapper p {
        flex-wrap: wrap;
    }

    .fam_desc_grid.grid {
        grid-template-columns: 1fr;
    }

    .ssf_header_block.grid {
        /* display: flex; */
        gap: 20px;
        grid-template-columns: repeat(5, 1fr);
        grid-template-rows: 1fr 1fr;
    }

    .single_sottofam_item .sti_image_wrapper {
        width: 120px;
        grid-row: 1 / span 2;
    }

    .plus_wrapper {
        grid-row: 1;
        grid-column: 5;
        align-self: center;
        width: 30px;
        height: 30px;
        justify-self: end;
    }

    .plus_wrapper button span {
        width: 60%;
    }

    .single_sottofam_item .sti_title {
        grid-row: 1;
        grid-column: 2 / span 3;
    }

    .details_list.first_list {
        grid-row: 2;
        grid-column: 2 / span 2;
    }

    .details_list.second_list {
        grid-row: 2;
        grid-column: 4 / span 2;
    }

    .related_grid.grid {
        grid-template-areas: initial;
        gap: 13px 5px;
    }

    /* .is_for_project_related .related_grid.grid {} */

    .prod_dets_grid {
        gap: 20px;
    }

    .prod_dets_grid.grid {
        grid-template-columns: 1fr 1fr;
    }

    .prod_column.center_col {
        grid-column: 1 / span 2;
    }

    aside.prod_column.left {
        grid-row: 2;
        grid-column: 1;
    }

    .single_info_details p {
        max-width: 80%;
    }

    /* .big_wrapper.is_for_single_project .tax_title_wrapper {
        order: initial;
    } */

    .big_wrapper.is_for_single_project .category_box_info {
        order: initial;
        align-self: center;
        text-align: center;
        margin-top: 1rem;
        margin-bottom: 1rem;
    }

    .big_wrapper.is_for_single_project {
        display: flex;
        flex-direction: column;
    }

    .single_related_project.item_1,
    .single_related_project.item_2,
    .single_related_project.item_3,
    .single_related_project.item_4,
    .single_related_project.item_5 {
        grid-area: initial;
    }

    .is_for_project_related .related_grid.grid {
        grid-template-columns: repeat(3, 1fr);
    }

    .proj_gallery_grid.grid {
        gap: 50px;
    }

    .proj_gallery .splide__arrows {
        inset: 50% 2vw 0;
    }
}

/* ANCHOR - Media 800px */
@media only screen and (max-width: 800px) {
    .descrizione_sito_catalogo{
        /* padding-bottom: 75px; */
        margin-top: 10px;
    }

    .descrizione_sito_catalogo > .wrapper > .major_wrapper{
        padding-left: 0;
    }

    .search_res_container {
        left: -150px;
        width: 300px;
    }

    .search_res_container::before {
        right: initial;
        left: calc(50% + 2px);
    }

    #toTop {
        display: none !important;
    }

    [class*="grid_"] {
        display: flex;
        flex-direction: column;
    }

    .top_footer.flex {
        flex-direction: column;
    }

    .footer_menu_wrapper ul.menu {
        /* flex-direction: column; */
        gap: 1.5rem;
        flex-wrap: wrap;
    }

    .top_footer__col.top_footer__left {
        flex-direction: column;
        align-items: flex-start;
    }

    .top_footer.flex {
        flex-direction: column;
        align-items: initial;
        width: 100%;
    }

    section#hero {
        min-height: 600px;
    }

    section#hero .slider_container .slider-arrows {
        position: absolute;
        bottom: 18vh;
        left: 25px;
        right: 25px;
        display: flex;
        align-items: center;
        justify-content: space-between;
    }

    section#hero .slider_container .slider-arrows .splide__arrow {
        position: initial;
        transform: initial;
    }

    .hero_text_block {
        padding-left: 35px;
        padding-right: 35px;
        padding-top: 30px;
        padding-bottom: 30px;
        background-color: rgb(0 0 0 / 65%);
    }

    .footer_grid.grid {
        grid-template-columns: 1fr;
        gap: 0;
    }

    .span_2,
    .span_3 {
        grid-column: initial;
    }

    .footer_grid .footer_col {
        margin-bottom: 1rem;
    }

    .footer_grid .footer_col:nth-of-type(2) {
        margin-bottom: 9px;
    }

    .footer_grid .footer_col:nth-of-type(1),
    .footer_grid .footer_col:nth-of-type(2),
    .footer_grid .footer_col:nth-of-type(3),
    .footer_grid .footer_col:nth-of-type(4),
    .footer_grid .footer_col:nth-of-type(5) {
        order: initial;
    }

    footer.pad40 {
        padding-bottom: 80px;
    }

    .single_nov_card.flex.on_left,
    .single_nov_card.flex.on_right {
        flex-direction: column;
    }

    .snc_image {
        width: 100%;
    }

    .tax_title_wrapper h1 {
        font-size: 1.25rem;
    }

    .projects_wall.flex {
        flex-direction: column;
    }

    .skeleton_element,
    .projects_wall .single_project.longer_than_high,
    .projects_wall .single_project {
        width: 100%;
        height: 300px;
    }

    .single_project .proj_image {
        height: 100%;
    }

    .download_grid.grid.grid_5_cols {
        grid-template-columns: 1fr;
        padding-top: 40px;
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 40px 10px;
    }

    .gets_smaller {
        width: 100%;
    }

    .parags_index_grid.grid.compress {
        padding-left: initial;
        padding-right: initial;
        /* display: flex; */
        /* flex-wrap: wrap; */
        grid-template-columns: repeat(3, 1fr);
        gap: 20px;
    }

    .parags_index_grid a img {
        width: 30px;
    }

    div#paragraphs_index .wrapper {
        padding: 0;
    }

    .is_paragraph .image_content .grid.grid_2_cols {
        grid-template-columns: 1fr;
    }

    section#custom-section .paragraph_content {
        gap: 2rem;
    }

    .single_img.image1,
    .single_img.image2,
    .single_img.image3,
    .single_img.image4,
    .single_img.image5 {
        grid-area: initial;
    }

    .is_paragraph .motto h2 {
        font-size: 1.3rem;
    }

    .gallery_test.grid {
        grid-template-areas: initial;
        grid-template-rows: initial;
        grid-template-columns: 1fr 1fr;
    }

    .single_cert.grid.gap40 {
        gap: 20px;
        grid-template-columns: 1fr 1fr 20px;
    }

    .cert_logo {
        grid-column: 1 / -1;
        height: 40px;
    }

    .single_cert .cert_info {
        grid-column: 1 / span 2;
    }

    .single_cert .show_more_btn_container {
        align-self: initial;
    }

    .first_news .single_news_image {
        aspect-ratio: 1;
    }

    h3.news_title.mart50.marb40 {
        margin-top: 2rem;
        margin-bottom: 1rem;
    }

    .first_news .news_details h3.news_title a {
        font-size: 1.5rem;
    }

    .zone_research_intro.grid {
        /* grid-template-columns: 1fr; */
        display: flex;
        flex-direction: column;
    }

    .map_wrapper {
        height: 250px;
    }

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

    section#family_description {
        padding-top: 0;
    }

    section#agent_list {
        padding-bottom: 50px;
    }

    section#sottofamiglie_items {
        margin-top: 0;
    }

    .ssf_header_block.grid {
        grid-template-columns: repeat(4, 1fr);
        grid-template-rows: 1fr 1fr 1fr;
        padding-top: 10px;
        padding-bottom: 10px;
        gap: 0;
    }

    .single_sottofam_item.grid {
        grid-template-rows: 255px 0fr;
    }

    .single_sottofam_item .sti_image_wrapper {
        width: 50px;
        height: 50px;
        grid-row: 1;
        grid-column: 1;
        justify-self: start;
        display: flex;
        align-items: center;
        justify-content: flex-start;
        margin: 0;
    }

    .details_list.second_list table tbody tr:last-of-type {
        border-bottom: 0;
    }

    .single_sottofam_item .sti_title {
        grid-row: 1;
        grid-column: 2 / span 2;
    }

    .details_list.first_list {
        grid-column: 1 / -1;
        margin-top: 10px;
    }

    .details_list.second_list {
        grid-column: 1 / -1;
        grid-row: 3;
    }

    .plus_wrapper {
        grid-column: 4;
    }

    .single_sottofam_item .sti_title h4 a {
        font-size: 1rem;
    }

    .single_sottofam_item.grid.open {
        grid-template-rows: 255px 1fr;
    }

    section#tax_filters .filters_grid button {
        padding: .5rem;
        font-size: .9rem;
        flex: initial;
        width: 100%;
        border: 1px solid var(--grigio);
        margin-top: 3px;
    }

    .ssf_products_list {
        gap: 0.3rem;
    }

    .ssf_products_list_single_filter {
        flex: initial;
        flex-shrink: 0;
        flex-grow: 1;
        width: 100%;
        border: 1px solid var(--grigio);
        margin-bottom: 5px;
    }



    .ssf_products_table_wrapper table thead {
        display: none;
    }

    .ssf_products_table_wrapper table tbody tr td {
        width: 100%;
        display: flex;
        align-items: flex-start;
        justify-content: flex-start;
        flex-direction: column;
        padding: 0.45rem 0;
        border-bottom: 1px solid var(--grigiochiaro);
    }

    a.single_prod_link {
        width: 70px;
        margin: 0;
    }

    .ssf_products_table_wrapper table tbody tr {
        position: relative;
    }

    .ssf_products_table_wrapper table tbody tr td[data-title="ldt"] {
        position: absolute;
        top: 0.45rem;
        right: 1rem;
        width: 40px;
        display: block;
    }

    a.download_ldt_anchor {
        width: 100%;
        margin: 0;
    }

    .ssf_products_table_wrapper table tbody tr td:not([data-title="ldt"])::before {
        content: attr(data-title);
        font-size: 0.7rem;
        font-weight: 700;
        text-transform: uppercase;
        display: block;
        margin-bottom: 2px;
    }

    .ssf_products_table_wrapper table tbody tr td[data-title="ldt"],
    .ssf_products_table_wrapper table tbody tr td[data-title="finiture"],
    .ssf_products_table_wrapper table tbody tr td:first-of-type {
        border-bottom: none;
    }

    .aside_single_block__content.for_photometric_data {
        max-width: 80%;
        margin-inline: auto;
    }

    .ssf_products_table_wrapper {
        height: 350px;
        padding: 0 0 1rem 0;
    }

    .prod_dets_grid.grid {
        grid-template-columns: 1fr;
    }

    .prod_column.center_col {
        grid-column: initial;
    }

    aside.prod_column.left {
        grid-row: initial;
        grid-column: initial;
    }

    .for_table_center table {
        table-layout: fixed;
    }

    .single_info_details p {
        max-width: 100%;
    }

    section#other_info {
        padding-top: 40px;
        padding-bottom: 40px;
    }

    .is_for_project_related .related_grid.grid {
        display: flex;
        flex-direction: column;
    }

    .fam_images_inner.is_single_image.is_not_gallery {
        width: 100%;
    }

    .home_collections_display .hc_header .hc_filters {
        flex-wrap: wrap;
    }

    .hero_text_block h1 {
        font-size: 1.5rem;
    }

    .hero_text_block h2 {
        font-size: 1.45rem;
    }

    .logoBox {
        flex-shrink: 0;
        width: 150px;
    }

    header .menu_wrapper {
        position: absolute;
        top: 100%;
        left: 0;
        right: 0;
        z-index: 99999;
        transition: .3s;
        translate: 100% 0;
    }

    .archive .header_container,
    .single .header_container,
    .page-template-templates .header_container {
        padding-bottom: 30px;
    }

    header .menu_wrapper.show_menu_mob {
        translate: 0 0;
    }

    header .menu_wrapper .menu {
        flex-direction: column;
        align-items: initial;
        gap: 0;
    }

    header .menu_wrapper .menu li {
        width: 100%;
    }

    body.single .menu_wrapper .menu li a:not(.sub-menu li a),
    body.page-template-templates .menu_wrapper .menu li a:not(.sub-menu li a),
    .archive .menu_wrapper .menu li a:not(.sub-menu li a) {
        color: var(--white);
        font-weight: normal;
    }

    header .menu_wrapper .menu li a {
        background-color: var(--dark);
        width: 100%;
        display: flex;
        align-items: center;
        justify-content: center;
        border-bottom: 1px solid rgba(255, 255, 255, .4);
    }

    header .menu_wrapper .menu li a::after {
        display: none;
    }

    .projects_preview_container .project_preview {
        width: 100%;
        height: 40vh;
    }

    .big_proj_title_box_container h3,
    .proj_title_box_container h3 {
        font-size: 1.25rem;
    }

    a.home_proj_link span {
        font-size: 0.7rem;
    }

    section#home_collections .section_title h3 {
        line-height: 1.4;
        margin-top: 1rem;
    }

    .hc_header.flex {
        flex-direction: column;
    }

    .single_home_collection_image {
        height: 380px;
    }

    .home_news_grid.grid {
        gap: 40px;
    }

    .footer_menu_wrapper ul.menu li::after {
        right: -13px;
    }

    .footer_copyright p {
        line-height: 1.75;
    }

    .top_footer__col.top_footer__right {
        flex-direction: column;
        align-items: initial;
    }

    .section_title.is_small h2 {
        line-height: 1.4;
    }

    .bdg_content {
        padding: 2rem;
        order: 1;
    }

    .bdg_content h2 {
        font-size: 1.35rem;
    }

    .banner_download_image {
        min-height: initial;
        height: 300px;
        background-position: center;
        background-size: cover;
        background-repeat: no-repeat;
        order: 2;
    }

    .menu_wrapper .menu li.menu-item-has-children a .arrow_btn {
        position: absolute;
        right: 25px;
        top: 50%;
        translate: 0 -50%;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .menu_wrapper .menu li.menu-item-has-children a .arrow_btn svg {
        width: 24px;
        fill: none;
        stroke: var(--white);
        stroke-width: 1px;
        transition: .3s;
    }

    .menu_wrapper .menu li.menu-item-has-children a .arrow_btn.rotated svg {
        rotate: 180deg;
    }

    .menu_wrapper .menu li.menu-item-has-children .sub-menu:not(.menu-item-nephews) {
        position: initial;
        height: auto;
        padding: 0;
        gap: 0;
        opacity: 1;
        pointer-events: auto;
    }

    .menu_wrapper .menu li.menu-item-has-children {
        position: relative;
        transition: .3s;
        overflow: hidden;
        /* max-height: 51px; */
    }

    .menu_wrapper .menu li.menu-item-has-children .sub-menu:not(.menu-item-nephews) li a {
        box-shadow: inset 0px 0px 42px 18px rgba(0, 0, 0, 0.2);
    }

    .banner_content.half_container {
        display: block;
    }

    .banner_content .box_text {
        margin: 0;
    }

    section.banner_type {
        background-image: none !important;
    }

    .banner_content .box_text .text_container .title_section,
    .banner_content.full_text_container .box_text .text_container .title_section {
        margin-bottom: 2rem;
        padding-top: 3rem;
    }

    .banner_content.full_text_container {
        flex-direction: column;
    }

    .box_text .text_container .title_section h3,
    .box_text .text_container .par_text p,
    .box_text .text_container .par_text strong,
    .box_text .text_container .par_text ol,
    .box_text .text_container .par_text ul,
    .box_text .text_container .par_text ul li,
    .box_text .text_container .par_text ol li {
        color: var(--dark);
    }

    .banner_mobile_bg {
        margin-top: 2rem;
        width: 100%;
        height: 350px;
        flex-shrink: 0;
        background-size: cover;
        background-repeat: no-repeat;
        background-position: center;
    }

    .paragraph_elements .text_container .title_section h3,
    .banner_content .box_text .text_container .title_section h3 {
        font-size: 1.75rem;
    }

    .paragraph_elements .text_container .par_text p,
    .box_text .text_container .par_text {
        font-size: .9rem;
        margin-bottom: 1rem;
    }

    section#paragraph-introduzione-azienda-container .paragraph_elements {
        padding-left: 1.75rem;
        padding-right: 1.75rem;
    }

    section#paragraph-introduzione-azienda-container {
        padding-top: 1.75rem;
        padding-bottom: 1.75rem;
    }

    section#paragraph-stakeholders-container {
        padding-top: 0;
    }

    .tax_title_wrapper h2 {
        font-size: 1.55rem;
        margin-top: 1rem;
    }

    section#filters_header {
        padding-top: 0;
    }

    button#open_filters {
        padding: 0;
    }

    .search_family_wrapper input {
        width: 200px;
        font-size: 0.75rem;
    }

    #open_filters:hover {
        background-color: initial;
    }

    .all_filters_container {
        width: 100%;
        max-width: 100%;
    }

    .all_filters__inner.grid {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 6px;
    }

    .af_col:last-of-type {
        grid-column: 1 / -1;
    }

    .fi_container {
        width: 100%;
    }

    button#launch_filters,
    a#reset_filters {
        align-self: center;
        width: 100%;
        margin-top: 2rem;
    }

    .af_col ul li label span {
        font-size: .8rem;
    }

    .af_col {
        padding: 0.6rem;
        border: 1px solid var(--grigiochiaro);
        /* border-radius: 0.6rem; */
    }

    .af_col.is_for_launching_btn {
        padding: initial;
        border: initial;
        margin-top: 1.5rem;
    }

    section#family_intro {
        min-height: 500px;
    }

    .fam_desc_grid.grid {
        gap: 30px;
        padding-top: 30px;
    }

    .fam_desc_content_wrapper {
        padding-bottom: 50px;
        display: flex;
        flex-direction: column-reverse;
    }

    .fam_desc_content_wrapper {
        padding-bottom: 50px;
        display: flex;
        flex-direction: column-reverse;
    }

    .fam_desc_content_wrapper .splide__arrows {
        margin-top: 1rem;
        margin-bottom: 2rem;
    }

    .product_catalogue_image {
        height: 340px;
    }

    .products_container {
        gap: 45px;
    }

    .single_product_family {
        gap: 1.2rem;
    }

    .fam_projects_slider .sfp_details {
        align-self: initial;
        margin-bottom: 0;
        order: 2;
    }

    .single_fam_proj .sfp_image {
        height: 300px;
        order: 1;
    }

    .single_fam_proj .sfp_image img {
        height: 100%;
        width: 100%;
        -o-object-fit: cover;
        object-fit: cover;
    }

    .right_col .inner_col .col_block .name_header h1 {
        font-size: 1.85rem;
    }

    .right_col .inner_col .col_block .name_header {
        flex-direction: column;
        gap: 12px;
        align-items: initial;
    }

    .name_header .marchi_wrapper {
        margin-top: 1rem;
        gap: 6px;
        /* max-width: 75%; */
    }

    .name_header .marchi_wrapper img {
        margin: 0;
        height: 2rem;
    }

    .name_header .marchi_wrapper img {
        margin: 0;
        height: 1.75rem;
    }

    .same_fam_prods_container {
        max-width: 100%;
    }

    /* .same_fam_prods_container .sfp_flex {
        gap: 10px;
    } */

    .sfp_single_item.is_alone_rel {
        max-width: 75%;
    }

    .is_services_par .main_par_content .col_par .paragraph_gallery {
        flex-wrap: wrap;
    }

    .is_services_par .main_par_content .col_par .paragraph_text_container h2 {
        font-size: 1.75rem;
    }

    .is_services_par .main_par_content .col_par {
        margin: 0;
    }

    #banner_chiusura .banner_text p {
        font-size: 1.3rem;
        margin: 0 10%;
    }

    .single_news.first_news .news_date {
        font-size: .9rem;
    }

    .ln_container .recent_news_title {
        margin: 2rem 0;
    }

    .ln_container .recent_news_title h3 {
        font-size: 1.75rem;
    }

    .first_news .text_block.news_content p:first-of-type {
        font-size: 1rem;
    }

    .sezione.intro_ls .post_title h2 {
        font-size: 1.5rem;
        text-align: center;
    }

    section.intro_ls .post_image {
        margin: 2rem 0 0;
        height: 250px;
    }

    section.intro_ls .post_image img {
        width: 100%;
        height: 100%;
        -o-object-fit: cover;
        object-fit: cover;
    }

    .light_story_content .main-paragraph {
        margin-bottom: 0;
    }

    .bread_wrapper p span.current {
        line-height: 1.5;
    }

    .light_story_content .light-news-paragraph .paragraph_image_container {
        height: auto;
    }

    #main_ln_page_link .link_container.pos_rel a {
        width: 100%;
    }

    .light_story_content .light-news-paragraph .paragraph_image_container.has_prod_link {
        width: 80%;
    }

    .single_file_image_preview {
        height: 250px;
    }

    .single_file_preview {
        grid-template-rows: 1fr auto;
    }

    .snb_inner {
        margin: 2rem 15px;
        max-width: 100%;
    }

    .single_news_big {
        padding: 0;
    }

    .single_news_big.inverted .snb_inner .snb_details :where(h3, p) {
        text-align: initial;
    }

    .snb_image {
        width: 100%;
    }

    .single_news_big.inverted .snb_inner .snb_details,
    .single_news_big.inverted .snb_inner .snb_image {
        order: initial;
    }

    .post_content_section .post_content,
    .post_content_section .post_image {
        width: 100%;
    }

    .single-post section#post_content {
        padding-bottom: 50px;
    }

    .bottom_footer {
        padding-bottom: 20px;
    }

    section#indice-pagina {
        padding-top: 0;
    }

    section#mappa,
    section#distributori,
    section#richiesta-informazioni {
        padding-top: 40px;
    }

    .on_page_contact .form_total_container .form_header {
        margin-bottom: 0;
    }

    section#distributori .section_title h3,
    section#mappa .section_title h3,
    .on_page_contact .form_total_container .form_header h3 {
        text-align: center;
        line-height: 1.4;
        font-size: 1rem;
        font-weight: 600;
    }

    p.extra_msg_form {
        position: initial;
        text-align: center;
        margin-bottom: 1rem;
        font-size: .75rem;
    }

    .form_row .input_wrapper.is_submit button {
        padding: 1rem;
    }

    .frame_map_container {
        width: 100%;
        padding-bottom: 75%;
    }

    .same_fam_prods_container {
        --numProds: 2;
    }

    /*  .same_fam_prods_container .sfp_flex {
        row-gap: 50px;
    } */

    .proj_image_section {
        max-width: 100%;
    }

    .single_proj_image {
        height: 350px;
    }

    #hbspt_newsletter_wrapper {
        align-items: flex-start;
        max-height: 100vh;
        overflow: auto;
    }

    .hbspt-form {
        max-height: initial;
        overflow: initial;
    }

    .proj_gallery .splide__arrows {
        inset: auto 0 -40px;
    }

    .fam_projects_slider .splide__arrows {
        position: initial;
        -webkit-margin-before: 2rem;
        margin-block-start: 2rem;
        width: 100%;
        justify-content: space-around;
    }

    section#system_section {
        padding-block: 0;
    }

    .single_config_card h3 {
        font-size: 1.2rem;
    }

    .custom_size_wrapper table tbody tr td {
        font-size: 1rem;
    }

    .custom_size_wrapper table thead tr th:nth-of-type(4) {
        width: 250px;
        display: inline-block;
    }

    #custom_size_fin .grid_fin {
        display: grid;
        grid-template-columns: 1fr 1fr;
    }

    .period_list_wrapper {
        overflow: hidden;
        /* -webkit-overflow-scrolling: touch; */
    }

    /* .period_list_wrapper::-webkit-scrollbar {
        display: none;
    } */

    .story_events_container {
        max-width: 85%;
    }

    section#mega_compressor {
        padding: 0;
    }

    .event_container .event_date_wrapper h2 {
        font-size: 2rem;
    }

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

    .company_head.section_title {
        margin-bottom: 1.5rem;
        max-width: 90%;
    }

    .story_events_container .period_list {
        gap: 75px;
    }

    .company_head.section_title h3 {
        font-size: 1.15rem;
    }

    .event_container {
        padding: 1rem;
    }

    button.single_period_events span.period_label {
        font-size: 1.2rem;
    }

    .af_col.is_for_collections .choices[data-type*=select-one] {
        width: 100%;
    }

    .video_container {
        max-width: 100%;
    }


    .custom_size_system_elements_grid {
        flex-wrap: wrap;
    }

    section#fam_cta_section {
        padding-top: 0;
    }

    button#close_hbspt_newsletter {
        top: 1rem;
        right: 1rem;
    }
}

/* ANCHOR - MEdia 600px */
@media only screen and (max-width: 600px) {
    .event_elements_grid.grid {
        display: grid;
        grid-template-columns: 1fr 1fr;
        -moz-column-gap: 1rem;
        column-gap: 1rem;
        row-gap: 1.5rem;
        margin-top: 2rem;
    }

    .custom_size_system_elements_grid {
        display: flex;
        align-items: initial;
        gap: 0.5rem;
        /* flex-direction: column; */
    }

    .custom_size_system_elements_grid .single_product_family {
        width: 158px;
    }

    .custom_size_system_elements_grid .single_product_family .product_catalogue_image {
        width: 100%;
    }

    a#csse_preview {
        width: 100%;
        text-align: center;
        line-height: 1.4;
    }

}


@media only screen and (max-width: 1680px) {
    .categorie-prodotto-view.grid_4_cols{
        grid-template-columns: repeat(3, 1fr);
    }
}

@media only screen and (max-width: 1480px) {
    .categorie-prodotto-view.grid_4_cols{
        grid-template-columns: repeat(2, 1fr);
    }

    .single_product_family .product_catalogue_image {
        height: 420px;
    }    
}

@media only screen and (max-width: 480px) {

    .single_product_family .product_catalogue_image {
        height: 300px;
    }    
}


/* !SECTION */
/* ANCHOR - End */