/************************************************
Stylesheet: Global Stylesheet
*************************************************/



/*********************
GENERAL STYLES
*********************/
 
:root {
    --mabe23-blue: #009aff;
    --mabe23-blue-dark: #0079cc;
    --mabe23-blue-light: #eaf5ff;
    --mabe23-dark: #0e1116;
    --mabe23-text-color: #5b6472;
    --mabe23-light-gray: #f5f8fb;
    --mabe23-border: #e2e7ee;
    --mabe23-navy: #0b1f33;
    --mabe23-white: #fff;
    --mabe23-font: 'Titillium Web', sans-serif;
}
 
/* WPML BANNER SITO DI SVILUPPO */
.otgs-development-site-front-end { display: none; }
 
html { background-color: #000; }
body {
    width: 100%;
    max-width: 1920px;
    margin: 0 auto;
    color: var(--mabe23-dark);
    font-family: var(--mabe23-font);
    font-size: 400;
    /* Con NAV BAR fissa: */
    padding-top: var(--header-height, 100px); /* valore di fallback, aggiornato dal JS caricato in nav-offcanvas-topbar.php e inserito nelle classi CSS do di body {...} e #slide_home .orbit, .orbit-wrapper, .orbit-slide, .orbit-image, .dotoverlay_abs {...} */
}
header.header { max-width: 1920px; }
 
h1, h2, h3, h4, h5, h6, .wp-block-woocommerce-product-new .wc-block-grid__product-title {
    font-family: var(--mabe23-font) !important;
}
 
body, p, a, ul, ol, li, table, input, textarea {
    font-family: var(--mabe23-font) !important;
}
 
h1, h2, h3, h4, h5, h6, .wp-block-woocommerce-product-new .wc-block-grid__product-title {
    color: var(--mabe23-dark);
    font-weight: 700;
    line-height: 1.1em;
    text-transform: none;
    text-align: left;
    padding-top: 20px;
    padding-bottom: 20px;
}
 
h1 { font-size: 3.0rem; }
h2, .wp-block-woocommerce-product-new .wc-block-grid__product-title { font-size: 2.5rem; }
h3 { font-size: 2.1rem; }
h4 { font-size: 1.8rem; }
h5 { font-size: 1.6rem; }
h6 { font-size: 1.4rem; }
    

 
/*
.wp-block-woocommerce-product-new .wc-block-grid__product-title {
    font-size: 1rem;
    margin: 0;
    padding: .5em 0;
    text-decoration: none !important;
}
*/
 
p {
    font-size: 1.2rem;
    color: var(--mabe23-text-color);
    line-height: 1.5em;
}
ol, ul, li, label {
    font-size: 1.2rem;
    color: var(--mabe23-text-color);
}
table {
    font-size: 1.1rem;
    color: var(--mabe23-text-color);
    line-height: 1.3em;
}
 
    @media (max-width:48em) {
        h1 { font-size: 2rem; }
        h2 { font-size: 1.8rem; }
        h3 { font-size: 1.6rem; }
        h4 { font-size: 1.5rem; }
        h5 { font-size: 1.4rem; }
        h6 { font-size: 1.3rem; }
        button, .button { }
    }
    @media (max-width:39.9375em) {
    }

h1 span, h2 span, h3 span, h4 span, h5 span, h6 span {
    color: var(--mabe23-blue);
    font-weight: 700;
}

/* Sopratitolo / Eyebrow */
.sopratitolo {
    display: block;
    font-family: var(--mabe23-font);
    font-weight: 700;
    font-size: .9rem;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    color: var(--mabe23-blue);
    margin: 0 0 8px;
}
    @media (max-width:48em) {
        .sopratitolo {
            font-size: .8rem;
        }
    }
 
/* Sottotitolo */
.sottotitolo {
    display: block;
    font-family: var(--mabe23-font);
    font-weight: 400;
    font-size: 1.3rem;
    color: var(--mabe23-text-color);
    line-height: 1.5em;
    margin: 10px 0 0;
}
    @media (max-width:48em) {
        .sottotitolo {
            font-size: 1.15rem;
        }
    }

.grid-container {
    max-width: 1400px;
}

.circle_bg_1 {
    position: absolute;
    top: -80px;
    right: -60px;
    width: 340px;
    height: 340px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.12);
}
.circle_bg_2 {
    position: absolute;
    bottom: -120px;
    left: -40px;
    width: 280px;
    height: 280px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.08);
}

.button.expanded {
    display: block;
    width: 100%;
    text-align: center;
}

a { color: var(--mabe23-blue); text-decoration: underline; }
    a:hover { color: #ccc; }

a.button, .button,
a.wc-block-cart__submit-button, .wc-block-cart__submit-button,
a.wc-block-components-checkout-place-order-button, .wc-block-components-checkout-place-order-button,
.woocommerce #respond input#submit, .woocommerce a.button, .woocommerce button, .woocommerce button.button, .woocommerce input.button,
.woocommerce #respond input#submit.alt, .woocommerce a.button.alt, .woocommerce button.button.alt, .woocommerce input.button.alt,
.wp-block-woocommerce-product-new .add_to_cart_button {
    display: inline-block;
    color: var(--mabe23-white);
    font-size: 1rem;
    font-weight: 700;
    margin: 0;
    padding: 16px 30px;
    text-transform: none;
    text-decoration: none;
    border-radius: 12px;
    background-color: var(--mabe23-blue);
    -webkit-box-shadow: rgba(0, 154, 255, 0.65) 0px 14px 30px -10px;
    box-shadow: rgba(0, 154, 255, 0.65) 0px 14px 30px -10px;
    -moz-transition: all .3s;
    -o-transition: all .3s;
    -ms-transition: all .3s;
    -webkit-transition: all .3s;
    transition: all .3s;
}
    button:hover, a.button:hover, .button:hover,
    a.wc-block-cart__submit-button:hover, .wc-block-cart__submit-button:hover,
    a.wc-block-components-checkout-place-order-button:hover, .wc-block-components-checkout-place-order-button:hover,
    .woocommerce #respond input#submit:hover, .woocommerce a.button:hover, .woocommerce button:hover, .woocommerce button.button:hover, .woocommerce input.button:hover,
    .woocommerce #respond input#submit.alt:hover, .woocommerce a.button.alt:hover, .woocommerce button.button.alt:hover, .woocommerce input.button.alt:hover,
    .wp-block-woocommerce-product-new .add_to_cart_button:hover {
        color: var(--mabe23-white);
        background-color: var(--mabe23-blue-dark);
        -webkit-box-shadow:none;
        box-shadow:none;
    }
    button:focus, a.button:focus,
    .woocommerce #respond input#submit:focus, .woocommerce a.button:focus, .woocommerce button:focus .woocommerce button.button:focus, .woocommerce input.button:focus,
    .wp-block-woocommerce-product-new .add_to_cart_button:focus  {
        color: var(--mabe23-white);
        background-color: var(--mabe23-blue-dark);
    }
a.button_white,
.woocommerce a.button_white, .woocommerce button.button_white, .woocommerce input.button_white {
    color: var(--mabe23-dark);
    padding: 14px 28px;
    border: 1px solid var(--mabe23-border);
    background-color: transparent;
    -webkit-box-shadow: none;
    box-shadow: none;
}
    a.button_white:hover,
    .woocommerce a.button_white:hover, .woocommerce button.button_white:hover, .woocommerce input.button_white:hover {
        color: var(--mabe23-white);
        background-color: var(--mabe23-blue);
        border: 1px solid var(--mabe23-blue);
    }

.woocommerce #respond input#submit.alt.disabled, .woocommerce #respond input#submit.alt.disabled:hover, .woocommerce #respond input#submit.alt:disabled, .woocommerce #respond input#submit.alt:disabled:hover, .woocommerce #respond input#submit.alt:disabled[disabled], .woocommerce #respond input#submit.alt:disabled[disabled]:hover, .woocommerce a.button.alt.disabled, .woocommerce a.button.alt.disabled:hover, .woocommerce a.button.alt:disabled, .woocommerce a.button.alt:disabled:hover, .woocommerce a.button.alt:disabled[disabled], .woocommerce a.button.alt:disabled[disabled]:hover, .woocommerce button.button.alt.disabled, .woocommerce button.button.alt.disabled:hover, .woocommerce button.button.alt:disabled, .woocommerce button.button.alt:disabled:hover, .woocommerce button.button.alt:disabled[disabled], .woocommerce button.button.alt:disabled[disabled]:hover, .woocommerce input.button.alt.disabled, .woocommerce input.button.alt.disabled:hover, .woocommerce input.button.alt:disabled, .woocommerce input.button.alt:disabled:hover, .woocommerce input.button.alt:disabled[disabled], .woocommerce input.button.alt:disabled[disabled]:hover {
    opacity: .3;
    color: var(--mabe23-white);
    background-color: #777;
}

select {
    border-radius: 9px;
    border: 1px solid var(--mabe23-blue);
}
select option { font-size: 1.2rem; }
select option:checked {
    color: var(--mabe23-white);
    background-color: var(--mabe23-blue);
}
option:not(:checked) {
    color: var(--mabe23-blue);
    background-color: var(--mabe23-white); 
}

.select2.select2-container,
.select2-selection.select2-selection--single,
.select2-selection__rendered {
    height: auto;
}
span#select2-orddd_lite_time_slot-container {
    padding: .5rem;
}
.select2-container--default .select2-selection--single .select2-selection__arrow {
    top: .7rem;
}

.label {
    color: var(--mabe23-blue-dark);
    font-size: 1.2rem;
    white-space: wrap;
    background-color: transparent;
}



/*********************
MENU
*********************/

/* EFFETTI PRINCIPALI SU SCROLL */
header.header {
    position: fixed;
    display: block;
    top: 0;
    left: 0;
    width: 100%;
    border-bottom: 1px solid var(--mabe23-border);
    background-color: rgba(255, 255, 255, 0);
    z-index: 999; /* IUBENDA BOX è impostato su 10000 */
    -moz-transition: all .5s;
    -o-transition: all .5s;
    -ms-transition: all .5s;
    -webkit-transition: all .5s;
    transition: all .5s;
}
    @media (max-width:48em) {
        header.header {
            -moz-transition: all .3s;
            -o-transition: all .3s;
            -ms-transition: all .3s;
            -webkit-transition: all .3s;
            transition: all .3s;
        }
    }
    header.darkHeader {
        border-bottom: 1px solid var(--mabe23-blue);
        background-color: rgba(11, 31, 51, 1);
    }
    /* Sposto il menu più in basso per gli utenti loggati con admi bar attiva sul frontend così non viene nascosto dalla admin bar */
    body.logged-in.admin-bar header.header   {
        margin-top: 32px; /* Altezza della admin bar */
    }
#top-bar-menu {
    max-width: 1400px;
    height: auto;
    margin: 0 auto;
}
.top-bar-menu.maxwidthcontent { overflow: visible; }
.top-bar, .top-bar ul {
    background-color: transparent;
}
    .darkHeader .top-bar {
        padding: 3px 0;
    }
ul.submenu.is-dropdown-submenu {
    margin-top: 10px;
    background-color: rgba(11, 31, 51, 0.7);
}
    .darkHeader ul.submenu.is-dropdown-submenu {
        background-color: var(--mabe23-white);
    }
    @media (max-width:39.9375em) { /* 39.9375em oppure 63.9375em */
        ul#main-nav ul.submenu.is-accordion-submenu { padding-left: 20px; }
        .is-dropdown-submenu {
            position: relative;
            top: auto !important;
            right: auto !important;
            left: auto !important;
            z-index: 1;
            display: block;
            min-width: 200px;
            border: 0;
            background: transparent;
        }
    }

/* PULSANTI */
header.header a,
header.header a:visited,
header.header a:focus {
    color: var(--mabe23-dark);
    font-size: 0.9rem;
    font-weight: 700;
    text-transform: uppercase;
}
    header.header.darkHeader a {
        color: var(--mabe23-blue) !important;
    }
    @media screen and (max-width: 39.9375em) {
        header.header a,
        header.header a:visited,
        header.header a:focus {
            color: var(--mabe23-blue);
        }
    }
.dropdown.menu.medium-horizontal>li.is-dropdown-submenu-parent > a::after,
.accordion-menu .is-accordion-submenu-parent:not(.has-submenu-toggle) > a::after {
    border-color: var(--mabe23-white) transparent transparent;
}
    .darkHeader .dropdown.menu.medium-horizontal>li.is-dropdown-submenu-parent > a::after,
    .darkHeader .accordion-menu .is-accordion-submenu-parent:not(.has-submenu-toggle) > a::after {
        border-color: var(--mabe23-blue-dark) transparent transparent;
    }

.fast_link_bar { text-align: right; }
.fast_link_bar .top_bar_btn,
.darkHeader .fast_link_bar .top_bar_btn {
    display: inline-block;
    color: var(--mabe23-white) !important;
    font-size: .8rem;
    font-weight: 700;
    text-transform: uppercase !important;
    letter-spacing: .5px;
    margin: 0;
    padding: 7px 30px;
    text-transform: none;
    text-decoration: none;
    border-radius: 12px;
    background-color: var(--mabe23-blue);
    -webkit-box-shadow:none;
    box-shadow:none;
    -moz-transition: all .3s;
    -o-transition: all .3s;
    -ms-transition: all .3s;
    -webkit-transition: all .3s;
    transition: all .3s;
}
    .fast_link_bar .top_bar_btn:hover,
    .fast_link_bar .top_bar_btn:focus,
    .darkHeader .fast_link_bar .top_bar_btn:hover,
    .darkHeader .fast_link_bar .top_bar_btn:focus {
        color: var(--mabe23-white) !important;
        background-color: var(--mabe23-blue-dark);
        -webkit-box-shadow:none;
        box-shadow:none;
    }
.menu_link_mobile_only {
    display: none !important;
    padding: 0 5px 5px 5px;
}
    @media screen and (max-width: 39.9375em) {
        .menu_link_mobile_only { display: list-item !important; }
    }
.menu_link_mobile_only a {
    color: var(--mabe23-blue-light) !important;
    border-radius: 9px;
    background-color: var(--mabe23-blue) !important;
}

/* PAGINA ATTIVA */
.menu .active > a,
.menu .is-active > a {
    color: var(--mabe23-blue) !important;
    background: transparent;
}
    header.header.darkHeader .active > a,
    header.header.darkHeader .is-active > a {
        color: var(--mabe23-white) !important;
    }
    @media screen and (max-width: 39.9375em) {
        .menu .active > a,
        .menu .is-active > a {
            color: var(--mabe23-white) !important;
        }
    }
.dropdown.menu>li.is-active > a {
    color: var(--mabe23-white);
    background: transparent;
}

/* LOGO */
header.header .menu a.logo {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: 0px 10px; /* row-gap - column gap */
    padding: 0px
}
.menu a.logo img {
    padding-right: 5px;
    width: 200px;
    height: auto;
    -moz-transition: all .3s;
    -o-transition: all .3s;
    -ms-transition: all .3s;
    -webkit-transition: all .3s;
    transition: all .3s;
}
    @media (max-width:39.9375em) {
        .menu a.logo img {
            padding-right: 0px;
            width: 150px;
        }
    }

header.header img.logo_wp {}
header.header.darkHeader img.logo_wp { width: 0px; }
header.header img.logo_onScroll { width: 0px; }
header.header.darkHeader img.logo_onScroll { width: 110px;}

.menu a.logo span.site_name {
    display: block;
    width: 100%;
    padding: 0 1rem 0 0;
    color: var(--mabe23-blue-dark);
    font-size: 1.4rem;
    font-weight: 400;
    letter-spacing: 2px;
}
    @media (max-width:39.9375em) {
        .menu a.logo span.site_name { font-size: 1.2rem; }
    }

/* PAYOFF */
.menu a.logo span.site_payoff {
    display: block;
    width: 100%;
    padding: .2rem 0 0 0;
    visibility: visible;
    height: auto;
    color: var(--mabe23-text-color);
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.2;
    text-transform: capitalize;
    letter-spacing: 2px;
    -moz-transition: all .3s;
    -o-transition: all .3s;
    -ms-transition: all .3s;
    -webkit-transition: all .3s;
    transition: all .3s;
}
    .darkHeader .menu a.logo span.site_payoff {
        height: 0;
        margin-top: -300px;
        visibility: hidden;
    }
    @media (max-width:39.9375em) {
        .menu a.logo span.site_payoff {
            max-width: 220px;
            font-size: .9rem;
        }
    }

/* DIMENSIONE MENU SU TABLET */
@media (max-width:63.9375em) {
    .show-for-medium > ul > li > a {
        font-size: 0.8em;
    }
}


/*********************
MENU MOBILE
*********************/

/* Medium: max-width: 63.9375em */ /* Small: max-width: 39.9375em) */



/* MENU A TENDINA SULLE MEDIUM media queries COME SULLE SMALL media queries: */
/*
@media screen and (max-width: 63.9375em) {
    body.home .top-bar .top-bar-left { }
    ul#main-nav { margin-top: 20px !important; }
}
@media screen and (min-width: 39.9375em) and (max-width: 63.9375em) {
    .top-bar {
        -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    }
    .top-bar .top-bar-left,
    .top-bar .top-bar-right {
        -webkit-box-flex: 0;
        -webkit-flex: 0 0 100%;
        -ms-flex: 0 0 100%;
        flex: 0 0 100%;
        max-width: 100%;
    }
    .top-bar .top-bar-right .menu ul.vertical.menu.accordion-menu {
        width: 100%;
    }
    ul#main-nav {
        width: 100%;
        top: 10px;
        right: 0;
        left: 0;
    }
}
*/

/* ALTEZZA MENU MOBILE */
@media screen and (max-width: 39.9375em) {
.vertical .is-accordion-submenu-parent {
    height: auto !important;
}
}

/* VOCI MENU MOBILE */
@media screen and (max-width: 39.9375em) {
header.header a, 
.menu .active > a {
    text-align: left;
}
}

/* SFONDO MENU MOBILE */
.show-for-medium-only ul.medium-horizontal.menu.submenu.is-accordion-submenu.dropdown.is-active,
.show-for-small-only ul.medium-horizontal.menu.submenu.is-accordion-submenu.accordion-menu.is-active {
    background-color: rgba(11, 31, 51, 1) !important;
}

/* PULSANTE MENU MOBILE */
a.mobilemenubutton {
    display: block;
    position: absolute !important;
    width: 40px;
    height: 35px;
    text-align: right;
    padding: 7px !important;
    right: 0;
    left: auto;
    top: 7px;
    right: 3px;
    margin: 0 auto;
}
    @media screen and (max-width: 39.9375em) { 
        a.mobilemenubutton {
            top: -50px;
            right: 0;
        }
        .darkHeader a.mobilemenubutton {
            top: -35px;
            right: 0;
        }
    }
a.mobilemenubutton i {
    font-size: 1.6rem;
}
    .darkHeader a.mobilemenubutton i {
        color: var(--mabe23-blue-dark);
        font-size: 1.6rem;
    }
    a.mobilemenubutton::after {
        display: none !important;
    }

/* ALTEZZA HEADER MOBILE */
@media screen and (max-width: 39.9375em) { 
    .vertical .is-accordion-submenu-parent {
        height: 0;
    }
}



/*********************
MAIN CONTENT
*********************/

.maxwidthcontent {
    max-width: 1400px;
    height: auto;
    overflow: hidden;
    margin: 0 auto;
}
    @media (max-width:1420px) {
        .maxwidthcontent {
            padding: 0 10px;
        }
    }

#boxthumb {
    position: relative;
    height: 60vH;
    max-height: 900px;
    width: 100%;
    margin-left: 0;
    margin-right: 0;
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
}
    @media screen and (max-width: 69em) { 
        #boxthumb {
            height: 280px;
        }
    }
    @media screen and (max-width: 40em) { 
        #boxthumb {
            height: 200px;
        }
    }
#boxNOthumb {
    position: relative;
    height: 120px;
    background-color: var(--mabe23-blue-dark);
}
.diagonalBox {
    clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%);
    -webkit-clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%);
    /* Senza diagonali: 0% 0%, 100% 0%, 100% 100%, 0% 100% */
    /* sx top, dx top, dx bottom, sx bottom */
}

/* SFONDO PUNTINATO */
.dotoverlay {
    display: block;
    position: absolute;
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
    vertical-align: middle;
    background-image: url(../images/dot-overlay.svg);
    background-color: rgba(0, 0, 0, 0.3);
    background-size: 2px 2px;
    background-repeat: repeat;
}

/* CELLE A ZERO */
@media screen and (max-width: 39.9375em) { /* Small: max-width: 39.9375em) */
    .small-0 { display: none; }
}
@media screen and (min-width: 39.9376em) and (max-width: 63.9375em)  { /* Medium: max-width: 63.9375em */ 
    .medium-0 { display: none !important; }
}
@media screen and (min-width: 64em) { 
    .large-0 { display: none !important; }
}

/* RICERCA */
#productsfooter_search {
    display: block;
    position: relative;
    width: 100%;
    margin: 70px auto;
}
form.search-form {
    display: block;
    position: relative;
    width: 100%;
    max-width: 600px;
    margin: 0 auto;
}
form.search-form label,
form.search-form button {
    display: inline-block;
    margin: 0;
    padding: .85em 1em;
    font-size: 1.2rem;
}
form.search-form label {
    width: calc(100% - 70px);
}
form.search-form input[type=search] {
    border: 0;
    border-bottom: 1px solid var(--mabe23-blue-dark);
    -webkit-box-shadow: none;
    box-shadow: none;
    background-color: transparent;
}
span.results_icon i {
    color: #6cb7fd;
    vertical-align: middle;
    padding-right: 10px;
}



/*********************
SEZIONE HERO
*********************/

.box_hero {
    padding: 90px 0 110px 0;
    padding-top: 20px;
}
    @media (max-width:64em) {
        .box_hero { padding: 30px 0 50px; }
    }
    @media (max-width:39.9375em) {
        .box_hero { padding: 10px 0 30px; }
    }

.box_hero .hero_text { order: 1; }
    @media (max-width:64em) {
        .box_hero .hero_text { order: 2; margin-top: 60px; }
    }
.box_hero .hero_img { order: 2; }
    @media (max-width:64em) {
        .box_hero .hero_img { order: 1; }
    }

.box_hero__badge {
    display: inline-block;
    padding: 7px 15px;
    border: 1px solid var(--mabe23-blue);
    border-radius: 100px;
    color: var(--mabe23-blue-dark);
    background: var(--mabe23-blue-light);
    font-family: var(--mabe23-font);
    font-weight: 600;
    font-size: .8rem;
    letter-spacing: .5px;
    text-transform: uppercase;
    text-decoration: none;
}

.box_hero__title {
    padding-top: 18px;
}
    @media (max-width:48em) {
        .box_hero__title {
            padding-top: 14px;
        }
    }

.box_hero__text {
    margin-top: 6px;
}

.box_hero__buttons {
    display: flex;
    gap: 14px;
    flex-wrap: wrap;
    margin-top: 30px;
}
    @media (max-width:39.9375em) {
        .box_hero__buttons {
            margin-top: 22px;
        }
        .box_hero__buttons .button {
            flex: 1 1 auto;
            text-align: center;
        }
    }

.box_hero__stats {
    display: flex;
    gap: 34px;
    flex-wrap: wrap;
    margin-top: 44px;
}
    @media (max-width:39.9375em) {
        .box_hero__stats {
            gap: 26px;
            margin-top: 30px;
        }
    }

.box_hero__stat {
    display: flex;
    flex-direction: column;
}

.box_hero__stat_num {
    font-family: var(--mabe23-font);
    font-weight: 800;
    font-size: 1.9rem;
    color: var(--mabe23-dark);
    letter-spacing: -1px;
}

.box_hero__stat_label {
    font-size: .85rem;
    color: var(--mabe23-text-color);
    margin-top: 2px;
}

.box_hero__media {
    position: relative;
}

.box_hero__media img {
    width: 100%;
    height: 80vH;
    /* aspect-ratio: 4 / 5; */
    object-fit: cover;
    display: block;
    border-radius: 24px;
    box-shadow: 0 40px 80px -30px rgba(0,0,0,.35);
}
    @media (max-width:39.9375em) {
        .box_hero__media img { height: 45vH; }
    }

.box_hero__floating_card {
    position: absolute;
    bottom: -24px;
    left: -24px;
    display: flex;
    align-items: center;
    gap: 14px;
    background: var(--mabe23-white);
    border-radius: 16px;
    padding: 18px 22px;
    box-shadow: 0 24px 50px -20px rgba(0,0,0,.4);
}
    @media (max-width:48em) {
        .box_hero__floating_card {
            left: 14px;
            bottom: -44px;
        }
    }

.box_hero__floating_icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 46px;
    height: 46px;
    border-radius: 12px;
    background: var(--mabe23-blue-light);
    color: var(--mabe23-blue);
    font-size: 22px;
    flex: none;
}

.box_hero__floating_text {
    display: flex;
    flex-direction: column;
}

.box_hero__floating_title {
    font-family: var(--mabe23-font);
    font-weight: 800;
    font-size: 1rem;
    color: var(--mabe23-dark);
}

.box_hero__floating_subtitle {
    font-size: .8rem;
    color: var(--mabe23-text-color);
}



/*********************
SEZIONE 1 - COLLAGE IMMAGINI + TESTO (box_collage_partecipa)
*********************/

.box_collage_partecipa {
    position: relative;
    padding: 90px 0;
}
    @media (max-width:64em) {
        .box_collage_partecipa {
            padding: 70px 0;
        }
    }
    @media (max-width:39.9375em) {
        .box_collage_partecipa {
            padding: 50px 0;
        }
    }
 
.box_collage_partecipa__grid .cell img {
    width: 100%;
    height: auto;
    aspect-ratio: 1 / 1;
    object-fit: cover;
    display: block;
    border-radius: 18px;
    box-shadow: 0 20px 40px -28px rgba(0,0,0,.35);
}
    @media (max-width:39.9375em) {
        .box_collage_partecipa__grid .cell img {
            border-radius: 12px;
        }
    }

.box_collage_partecipa .collage_img { order: 1; }
    @media (max-width:64em) {
        .box_collage_partecipa .collage_img { order: 2; }
    }
.box_collage_partecipa .collage_text { order: 2; }
    @media (max-width:64em) {
        .box_collage_partecipa .collage_text { order: 1; }
    }
 
 
/*********************
SEZIONE 2 - DUE BOX AFFIANCATI / NETWORKING (box_networking_pillars)
*********************/
 
.box_networking_pillars {
    padding: 0 0 40px;
}
    @media (max-width:39.9375em) {
        .box_networking_pillars {
            padding: 0 0 24px;
        }
    }
 
.box_networking_pillars__card {
    background: var(--mabe23-light-gray);
    border: 1px solid var(--mabe23-border);
    border-radius: 20px;
    padding: 44px 38px;
    height: 100%;
}
    @media (max-width:48em) {
        .box_networking_pillars__card {
            padding: 32px 26px;
        }
    }
 
.box_networking_pillars__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 54px;
    height: 54px;
    border-radius: 14px;
    color: var(--mabe23-blue);
    background: var(--mabe23-white);
    box-shadow: 0 10px 22px -14px rgba(0,0,0,.4);
    font-size: 26px;
    line-height: 1;
}
 
 
/*********************
SEZIONE 3 - BANNER CTA (box_cta_banner)
*********************/
 
.box_cta_banner {
    padding: 70px 0;
}
    @media (max-width:1420px) {
        .box_cta_banner {
            width: calc(100% - 20px);
            padding: 10px;
        }
    }
 
.box_cta_banner__inner {
    position: relative;
    background: linear-gradient(135deg, var(--mabe23-blue-dark) 0%, var(--mabe23-blue) 100%);
    border-radius: 26px;
    padding: 64px 56px;
}
    @media (max-width:48em) {
        .box_cta_banner__inner {
            padding: 44px 30px;
            border-radius: 18px;
        }
    }
 
.box_cta_banner__inner h2,
.box_cta_banner__inner p,
.box_cta_banner__inner div {
    color: var(--mabe23-white);
}
 
.box_cta_banner__buttons {
    display: flex;
    flex-direction: column;
    gap: 14px;
}
    @media (max-width:48em) {
        .box_cta_banner__buttons {
            margin-top: 24px;
        }
    }
 
.box_cta_banner__buttons .button {
    background: var(--mabe23-white);
    color: var(--mabe23-blue);
    border: none;
}
 
.box_cta_banner__buttons .button.hollow {
    background: transparent;
    color: var(--mabe23-white);
    border: 1px solid rgba(255,255,255,.5);
}
 
 
/*********************
SEZIONE 4 - I VANTAGGI (box_vantaggi)
*********************/

.box_vantaggi {
    position: relative;
    padding: 40px 0 80px;
}
    @media (max-width:39.9375em) {
        .box_vantaggi {
            padding: 20px 0 50px;
        }
    }
 
.box_vantaggi__intro {
    text-align: center;
    margin-top: 50px;
}
    @media (max-width:48em) {
        .box_vantaggi__intro {
            margin-top: 25px;
        }
    }
 
.box_vantaggi h2 { text-align: center; }

.box_vantaggi__card {
    border: 1px solid var(--mabe23-border);
    border-radius: 20px;
    padding: 38px 32px;
    height: 100%;
    transition: transform .3s, box-shadow .3s;
}
    @media (max-width:48em) {
        .box_vantaggi__card {
            padding: 28px 24px;
        }
    }
 
.box_vantaggi__num {
    display: block;
    font-family: var(--mabe23-font);
    font-weight: 800;
    font-size: 46px;
    color: var(--mabe23-blue);
    opacity: .22;
    letter-spacing: -2px;
}
    @media (max-width:48em) {
        .box_vantaggi__num {
            font-size: 36px;
        }
    }
 
 
/*********************
SEZIONE 5 - GLI EVENTI (box_eventi)
*********************/
 
.box_eventi {
    padding: 90px 0;
    background: var(--mabe23-light-gray);
}
    @media (max-width:39.9375em) {
        .box_eventi {
            padding: 60px 0;
        }
    }
 
.box_eventi__intro {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 24px;
    flex-wrap: wrap;
    margin-bottom: 46px;
}
    @media (max-width:64em) {
        .box_eventi__intro {
            align-items: flex-start;
            flex-direction: column;
            justify-content: flex-start;
            gap: 0;
            margin-bottom: 30px;
        }
    }
 
.box_eventi__link_vedi_tutti {
    color: var(--mabe23-blue);
    font-weight: 700;
    font-size: 1rem;
    text-decoration: none;
    border-bottom: 2px solid transparent;
    transition: border-color .2s;
}
    .box_eventi__link_vedi_tutti:hover {
        border-color: var(--mabe23-blue);
    }
 
.box_eventi__card {
    background: var(--mabe23-white);
    border: 1px solid var(--mabe23-border);
    border-radius: 20px;
    box-shadow: 0 30px 60px -34px rgba(0,0,0,.35);
    overflow: hidden;
    height: 100%;
    transition: transform .3s, box-shadow .3s;
}
    .box_eventi__card:hover {
        transform: translateY(-6px);
        box-shadow: none;
    }
 
.box_eventi__card_media {
    position: relative;
    display: block;
    aspect-ratio: 16 / 11;
    overflow: hidden;
}
.box_eventi__card_media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
 
.box_eventi__card_data {
    position: absolute;
    top: 14px;
    left: 14px;
    background: var(--mabe23-white);
    color: var(--mabe23-blue-dark);
    font-weight: 700;
    font-size: .8rem;
    padding: 6px 12px;
    border-radius: 8px;
    text-transform: uppercase;
}

.lista_corsi__card_close {
    position: absolute;
    top: 14px;
    left: 14px;
    background: var(--mabe23-white);
    color: red;
    font-weight: 700;
    font-size: .8rem;
    padding: 6px 12px;
    border-radius: 8px;
    text-transform: uppercase;
}
.singolo_corso__card_close {
    display: inline-block;
    padding: 7px 15px;
    border: 1px solid rgb(189, 0, 0);
    border-radius: 100px;
    color: var(--mabe23-light-gray);
    background: red;
    font-family: var(--mabe23-font);
    font-weight: 600;
    font-size: .8rem;
    letter-spacing: .5px;
    text-transform: uppercase;
}

h1.single-title,
.course_subtitle {
    text-transform: lowercase;
}
h1.single-title:first-letter,
.course_subtitle:first-letter {
    text-transform: uppercase;
}

.box_eventi__card_body {
    padding: 24px 24px 28px 24px;
}
    @media (max-width:39.9375em) {
        .box_eventi__card_body {
            padding: 18px 18px 22px 18px;
        }
    }
.box_eventi__card_NoThumbnail {
    height: 60px;
    background: linear-gradient(to right, var(--mabe23-blue), var(--mabe23-blue-dark) );
}
.box_eventi__card_body h3 {
    font-size: 1.3rem;
    text-transform: lowercase;
    padding-top: 0;
    padding-bottom: 0;
}
.box_eventi__card_body h3:first-letter {
    text-transform: uppercase;
}
.box_eventi__card_body h3 a {
    color: inherit;
    text-decoration: none;
}

.box_eventi .eventi_read_more { margin-top: 20px; }
.box_eventi .eventi_read_more a.button { width: 100%; }

.course_info,
.coach_bio {
    padding: 2em 2em;
    border-radius: 20px;
    background: #f1f5f9;
    overflow: hidden;
}

.coach_photo {
    border-radius: 20px;
    overflow: hidden;
}
.coach_title {
    margin-bottom: 0;
    padding-bottom: 5px;
}
.coach_website,
.coach_linkedin {
    display: flex;
    align-items: center;
}
.coach_website a,
.coach_linkedin a,
.coach_website i,
.coach_linkedin i {
    color: var(--mabe23-blue);
}
.coach_website a,
.coach_linkedin a {
    font-size: .9rem;
}
.coach_website i,
.coach_linkedin i {
    font-size: 1.2rem;
    padding-right: 10px;
}
 
/*********************
SEZIONE 6 - CERCA COS NELLA TUA CITTA (box_cerca_citta)
*********************/
 
.box_cerca_citta {
    padding: 90px 0;
}
    @media (max-width:39.9375em) {
        .box_cerca_citta {
            padding: 60px 0;
        }
    }
 
.box_cerca_citta img {
    width: 100%;
    height: auto;
    aspect-ratio: 5 / 4;
    object-fit: cover;
    display: block;
    border-radius: 20px;
    box-shadow: 0 30px 60px -30px rgba(0,0,0,.35);
}
 
.box_cerca_citta__search {
    display: flex;
    gap: 12px;
    margin-top: 30px;
    flex-wrap: wrap;
}
    @media (max-width:39.9375em) {
        .box_cerca_citta__search {
            margin-top: 22px;
        }
    }
 
.box_cerca_citta__search input[type="text"] {
    flex: 1 1 220px;
    min-width: 220px;
    padding: 16px 18px;
    border: 1px solid var(--mabe23-border);
    border-radius: 10px;
    font-size: 1rem;
    font-family: var(--mabe23-font);
    margin: 0;
}
 
.box_cerca_citta__search .button {
    margin: 0;
}
 
 
/*********************
SEZIONE 7 - UNISCITI A COS / FORM CONTATTI (box_unisciti_form)
*********************/
 
.box_unisciti_form {
    position: relative;
    padding: 90px 0;
    background: var(--mabe23-light-gray);
}
    @media (max-width:39.9375em) {
        .box_unisciti_form {
            padding: 60px 0;
        }
    }
 
.box_unisciti_form__stats {
    display: flex;
    gap: 40px;
    flex-wrap: wrap;
    margin-top: 34px;
    padding-top: 26px;
    border-top: 1px solid var(--mabe23-border);
}
    @media (max-width:48em) {
        .box_unisciti_form__stats {
            gap: 28px;
            margin-top: 24px;
            padding-top: 20px;
        }
    }
 
.box_unisciti_form__stat {
    display: flex;
    flex-direction: column;
}
 
.box_unisciti_form__stat_num {
    font-family: var(--mabe23-font);
    font-weight: 800;
    font-size: 1.9rem;
    color: var(--mabe23-blue);
    letter-spacing: -1px;
}
 
.box_unisciti_form__stat_label {
    font-size: .8rem;
    color: var(--mabe23-text-color);
    letter-spacing: .7px;
    text-transform: uppercase;
    font-weight: 700;
    margin-top: 4px;
}

.box_unisciti_form__form {
    background: var(--mabe23-white);
    border: 1px solid var(--mabe23-border);
    border-radius: 22px;
    padding: 38px 36px;
    box-shadow: 0 34px 80px -42px rgba(0,0,0,.35);
}
    @media (max-width:48em) {
        .box_unisciti_form__form {
            padding: 26px 22px;
        }
    }

 
 
/*********************
SEZIONE 8 - NEWSLETTER / BREVO (box_newsletter)
*********************/
 
.box_newsletter {
    position: relative;
    padding: 90px 0;
    background: var(--mabe23-navy);
}
    @media (max-width:39.9375em) {
        .box_newsletter {
            padding: 60px 0;
        }
    }

.box_newsletter__badge {
    display: inline-block;
    padding: 7px 15px;
    border-radius: 100px;
    color: var(--mabe23-blue);
    background: rgba(0, 154, 255, .1);
    border: 1px solid var(--mabe23-blue);
    font-family: var(--mabe23-font);
    font-weight: 600;
    font-size: .8rem;
    letter-spacing: .5px;
    text-transform: uppercase;
}
 
.box_newsletter h2,
.box_newsletter p,
.box_newsletter div,
.box_newsletter .sopratitolo {
    color: var(--mabe23-white);
}
 
.box_newsletter__form input[type="text"],
.box_newsletter__form input[type="email"] {
    width: 100%;
    padding: 15px 16px;
    border: 1px solid rgba(255,255,255,.2);
    border-radius: 11px;
    font-size: 1rem;
    font-family: var(--mabe23-font);
    color: var(--mabe23-white);
    background: rgba(255,255,255,.05);
    margin: 0 0 16px;
}
    @media (max-width:39.9375em) {
        .box_newsletter__form input[type="text"],
        .box_newsletter__form input[type="email"] {
            margin: 0 0 12px;
        }
    }
 
.box_newsletter__form .button {
    text-transform: uppercase;
    letter-spacing: .5px;
}

 
 
/*********************
PAGAMENTO ISCRIZIONE
*********************/

#subscriptions_box .cell > div {
    height: 100%;
    padding: 2em 2em;
    border-radius: 20px;
    background: #f1f5f9;
    overflow: hidden;
}
#subscriptions_box .payment_mode span {
    color: var(--mabe23-blue-dark);
    font-size: .75rem;
    font-weight: 600;
    letter-spacing: .5px;
    text-transform: uppercase;
    text-decoration: none;
    padding: 7px 15px;
    border: 1px solid var(--mabe23-blue);
    border-radius: 100px;
    background: var(--mabe23-blue-light);
}
#subscriptions_box h2 {
    margin-bottom: 0;
    padding-bottom: 0;
}
#subscriptions_box .description {
    font-size: 1rem;
}
#subscriptions_box .price {
  margin: 1.5rem 0;
}
#subscriptions_box .price span:first-child {
  font-size: 2rem;
  font-weight: 700;
}
#subscriptions_box .price span:nth-child(2) {
  font-size: .8rem;
}
#subscriptions_box .year_discount,
#subscriptions_box .total_month_sum {
    font-size: .8rem;
    font-weight: 600;
}
#subscriptions_box .info_bb {
    font-size: .9rem;
    font-weight: 600;
}
#subscriptions_box .note {
  color: var(--mabe23-text-color);
  font-size: .8rem;
  line-height: 1.6;
  margin-top: 2rem;
}
#subscriptions_box .pay_btn .button {
    width: 100%;
}


 
/*********************
ICONE A LATO DEI BOX
*********************/
/*
.box_vantaggi::before,
.box_collage_partecipa::before,
.box_unisciti_form::before {
    content: "";
    color: var(--mabe23-blue);
    display: block;
    position: absolute;
    width: 150px;
    height: 150px;
    background-position: center;
    background-size: contain;
    background-repeat: no-repeat;
}
    @media (max-width:64.9375em) {
        .box_vantaggi::before,
        .box_collage_partecipa::before,
        .box_unisciti_form::before {
            width: 100px;
            height: 100px;
        }
    }

.box_collage_partecipa::before {
    bottom: 100px;
    right: -205px;
    background-image: url('../images/icon_puzzle.svg');
}
    @media (max-width:1600px) {
        .box_collage_partecipa::before {
            right: 20px;
        }
    }
    @media (max-width:64.9375em) {
        .box_collage_partecipa::before {
            top: -10px;
            right: 0;
        }
    }

.box_vantaggi::before {
    bottom: 100px;
    left: -205px;
    background-image: url('../images/icon_network.svg');
}
    @media (max-width:1600px) {
        .box_vantaggi::before {
            top: 0;
            bottom: auto;
            left: 30px;
        }
    }
    @media (max-width:64.9375em) {
        .box_vantaggi::before {
            top: 50px;
            left: 0;
            z-index: -1;
        }
    }

.box_unisciti_form::before {
    top: 100px;
    left: 20px;
    background-image: url('../images/icon_send.svg');
}
    @media (max-width:1600px) {
        .box_unisciti_form::before {
            top: 20px;
            left: 0;
        }
    }
    @media (max-width:39.9375em) {
        .box_unisciti_form::before {
            top: 0;
            left: auto;
            right: 0;
        }
    }
*/


/*********************
SCROLL DOWN (puntini in dissolvenza)
*********************/

.scroll-down-container {
    position: relative;
    width: auto;
    height: auto;
    margin: 30px auto 0px auto;
}
.scroll-down-invite {
    display: flex;
    bottom: 28px;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    pointer-events: none;
    z-index: 2;
}
.scroll-down-invite__dot {
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background: #ccc;
    opacity: 0;
}

/*********************
STACKED CARD FAN
*********************/

.social_cards {
    display: block;
    overflow: hidden;
    width: 100%;
    margin: 0;
    padding: 90px 0 20px 0;
    background-color: var(--mabe23-navy);
}
.social_cards h2,
.social_cards p {
    color: #fff;
    text-align: center;
}
.social_cards p,
.social_cards a {
    text-transform: uppercase;
    font-weight: 700;
}
.social_cards p.social_cta { font-size: 2rem; }
.social_cards span.v_bar {
    width: 1px;
    height: 100%;
    border-left: 1px solid #fff;
    padding: 5px;
}
.social_cards a {
    color: #fff;
    text-decoration: none;
}
    .social_cards a:hover, .social_cards a:focus { opacity: .5; }
.stacked_card_fan {
    position: relative;
    width: 100%;
    min-height: 28rem;
    display: flex;
    justify-content: center;
    align-items: flex-end;
    margin-top: 50px;
    margin-bottom: 50px;
}
    @media (max-width: 69em) {
        .stacked_card_fan {
            min-height: 26rem;
        }
    }
    @media (max-width: 39.9375em) {
        .stacked_card_fan {
            min-height: 16rem;
        }
    }
.stacked_card_fan .scf-card {
    position: absolute;
    top: 0;
    left: 50%;
    width: 20rem;
    height: 25rem; /* aspect-ratio 4/5: inserisco il valore perchè mi serve per definire l'altezza di .stacked_card_fan via css */
    margin-left: -10rem;
    background-color: #fff;
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    border-radius: 12px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.15);
    transform-origin: center bottom;
    will-change: transform;
}
    @media (max-width: 69em) {
        .stacked_card_fan .scf-card {
            width: 12rem;
            height: 23rem;
            margin-left: -6rem;
        }
    }
    @media (max-width: 39.9375em) {
        .stacked_card_fan .scf-card {
            width: 10rem;
            height: 13rem;
            margin-left: -5rem;
        }
    }



/*********************
PINNED PANELS WITH OVERSCROLL con GSAP
*********************/

.slides-wrapper {}
.slide_section,
.slide_section_inner {
    width: 100%;
    position: relative;
    overflow: hidden;
}
.slides-wrapper .pin-spacer {}
    @media (max-width:39.9375em) {
        .slides-wrapper .pin-spacer { margin-bottom: 800px !important; }
    }
.slide_section_inner_Message { margin: 30vH 10px 20vH 10px; }
    @media (max-width:39.9375em) {
        .slide_section_inner_Message { margin: 30vH 10px 20vH 10px; }
    }
.slide_section_inner_Message p {
    font-size: 4rem;
    line-height: 1.1;
    font-weight: 700;
    text-align: center;
}
.slide_section_inner_Message span {
    color: var(--mabe23-blue);
    font-weight: 700;
}


/*********************
WAVE SLIDER
Realizzato con GSAP
*********************/

.ws-slider-section{
    position:relative;
    overflow:hidden;
    background: #fff; /* deve combaciare con lo sfondo della sezione: è il colore che "riempie" l'onda */
    padding: 0;
}

/* Onda sopra e sotto: due SVG piatti, riempiti del colore di sfondo,
 posizionati SOPRA la fascia immagini con z-index maggiore */
.ws-shape{
    position:absolute;
    left:0;
    width:100%;
    line-height:0;
    z-index:3;
pointer-events:none;
}
.ws-shape svg{
    display:block;
    width:100%;
    height:130px; /* profondità della curva: aumenta/diminuisci per accentuare o ridurre l'effetto */
}
.ws-shape-top{ top:-1px; }
.ws-shape-bottom{ bottom:-1px; transform:rotate(180deg); }
.ws-shape svg path{ fill:#fff; }
    @media (max-width: 767px){
        .ws-shape svg{ height:60px; }
    }

/* Contenitore che maschera lo scorrimento orizzontale */
.ws-track-wrapper{
    overflow:hidden;
    width:100%;
}

/* Riga di immagini: verrà mossa da GSAP. width:max-content
 perché deve poter eccedere il contenitore */
.ws-track{
    display:flex;
    width:max-content;
    will-change:transform;
}

.ws-item{
    flex:0 0 auto;
    width:300px;
    margin-right:20px;
    height:640px;
    border-radius:4px;
    overflow:hidden;
    background-color: #ccc;
}
    @media (max-width:1366px){ .ws-item{ height:520px; } }
    @media (max-width:1024px){ .ws-item{ height:400px; width:240px; } }
    @media (max-width:767px){ .ws-item{ height:320px; width:190px; margin-right:12px; } }
.ws-item img{
    width: 100% !important;
    height: 100% !important;
    object-fit: cover;
    display: block;
}



/*********************
SLIDE
Realizzato con Orbit
di Foundation
*********************/

/* Attivo su Home */
#slide_home {
    background-color: #eee;
}
#slide_home .orbit,
#slide_home .orbit-wrapper,
#slide_home .orbit-slide,
#slide_home .orbit-image,
#slide_home .dotoverlay_abs {
    height: calc(100vH - var(--header-height)); /* valore di fallback, aggiornato dal JS caricato in nav-offcanvas-topbar.php */
    /* height: 100vH; */
    max-height: 1200px;
    margin: 0;
    padding: 0;
    overflow: hidden;
}
    @media (max-width:48em) {
        #slide_home .orbit,
        #slide_home .orbit-wrapper,
        #slide_home .orbit-slide,
        #slide_home .orbit-image,
        #slide_home .dotoverlay_abs {
            height: 60vH;
            max-height: 60vH;
        }
    }
    @media (max-width:39.9375em) {
        #slide_home .orbit,
        #slide_home .orbit-wrapper,
        #slide_home .orbit-slide,
        #slide_home .orbit-image,
        #slide_home .dotoverlay_abs {
            height: 50vH;
            max-height: 50vH;
        }
    }
#slide_home .dotoverlay_abs {
    display: block;
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    margin: 0;
    padding: 0;
    vertical-align: middle;
    background-image: url(../images/dot-overlay.svg);
    background-color: rgba(0, 0, 0, 0.1);
    background-size: 2px 2px;
    background-repeat: repeat;
}
#slide_home .gradient_overlay {
    display: block;
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    margin: 0;
    padding: 0;
    vertical-align: middle;
    background: linear-gradient( to bottom, rgba(0, 0, 0, 0), rgba(0, 0, 0, .3) );
}
#slide_home .orbit-image {
    object-fit: cover;
}
#slide_home .orbit-caption {
    position: absolute;
    max-width: 1400px;
    height: auto;
    background-color: transparent;
    bottom: auto; /* Correzione */
    margin-bottom: auto; /* Correzione */
    margin: 0;
    padding: 0;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}
    @media (max-width:1500px) {
        #slide_home .orbit-caption { max-width: calc(100% - 80px); }
    }
    @media (max-width:48em) {
        #slide_home .orbit-caption { max-width: calc(100% - 80px); }
    }
    @media (max-width:39.9375em) {
        #slide_home .orbit-caption { max-width: calc(100% - 20px); }
    }
#slide_home .orbit-caption .title_figcaption,
#slide_home .orbit-caption p {
    color: var(--mabe23-white);
    text-align: center;
    line-height: 1em;
    padding: 3px;
    margin: 0 auto;
}
#slide_home .orbit-caption .title_figcaption {
    font-size: 3rem;
    font-weight: 700;
    text-transform: uppercase;
}
    @media (max-width:48em) {
        #slide_home .orbit-caption .title_figcaption { font-size: 2rem; }
    }
    @media (max-width:39.9375em) {
        #slide_home .orbit-caption .title_figcaption { font-size: 1.6rem; }
    }
#slide_home .orbit-caption .title_figcaption span {
    display: inline-block;
    padding: 10px 20px;
    background-color: var(--mabe23-blue);
}
#slide_home .orbit-caption .button_figcaption {
    margin: 10px 0 10px 0;
    padding: 10px 25px 8px 25px;
    text-transform: uppercase;
    border: 2px solid var(--mabe23-white);
}

#slide_home .orbit-controls button,
#slide_home .orbit-bullets button {
    cursor: pointer;
}
    @media (max-width:48em) {
        #slide_home .orbit-controls button { display: none; }
    }
#slide_home .orbit-controls button {
    font-size: 3em;
    border: 0;
    background-color: transparent;
}

/* PULSANTI SLIDE GRANDI AI PIEDI DELL'IMMAGINE */
#slide_home .orbit-bullets {
    position: relative;
    display: flex;
    align-content: center;
    align-items: center;
    width: 100%;
    height: auto;
    margin: 0;
    margin-top: -12px;
    overflow: hidden;
    opacity: .7;
}
#slide_home .orbit-bullets button {
    width: 100%;
    height: 12px;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background-color: var(--mabe23-blue-dark);
    -moz-transition: all .3s;
    -o-transition: all .3s;
    -ms-transition: all .3s;
    -webkit-transition: all .3s;
    transition: all .3s;
}

/* PULSANTI SLIDE PICCOLE E SOPRA L'IMMAGINE */
/*
#slide_home .orbit-bullets {
    position: absolute;
    width: 320px;
    height: auto;
    margin: 0;
    overflow: hidden;
    bottom: 0;
    left: 50%;
    transform: translate(-50%, -20px);
}
#slide_home .orbit-bullets button {
    display: inline-block;
    width: 35px;
    height: 12px;
    margin: 0px .3rem;
    padding: 0;
    border: 0;
    border-radius: 4px;
    background-color: var(--mabe23-white);
    -moz-transition: all .3s;
    -o-transition: all .3s;
    -ms-transition: all .3s;
    -webkit-transition: all .3s;
    transition: all .3s;
}
*/
#slide_home .orbit-bullets button.is-active {
    background-color: var(--mabe23-blue);
}
#slide_home .orbit-bullets span.show-for-sr {
    display: none;
}



/*********************
ELENCO NEWS
*********************/

#loopblog {
    margin-top: 3em;
    margin-left: 0px !important;
    margin-right: 0px !important;
}
#loopblog > .cell {
    margin-bottom: 50px;
    background-color: var(--mabe23-white);
    -moz-transition: all .7s;
    -o-transition: all .7s;
    -ms-transition: all .7s;
    -webkit-transition: all .7s;
    transition: all .7s;
}
    #loopblog > .cell:hover {
        background-color: #f0f0f0;
    }
#loopblog .imagebox, #loopblog h2, #loopblog p {
    display: block;
    position: relative;
    text-align: center;
    width: 100%;
}
#loopblog .imagebox {
    height: 250px;
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    background-color: #eee;
}
#loopblog  h2.looptitle {
    font-size: 1em;
    line-height: 1.5em;
    padding: 5px 0 20px 0;
}
#loopblog p {
    text-align: center;
    padding: 0;
}
#loopblog  p.entry-date {
    font-size: 0.9rem;
    color: #ccc;
    margin: 0;
    padding: 15px 0 5px 0;
}



/*********************
POSTS & CONTENT STYLES
*********************/

.fa-brands.fa-whatsapp {
  font-size: 1.2em;
}

#accordion_tab .tabs-title,
#accordion_tab .tabs-title > a {
    outline: none !important;
}

li.accordion-item {
    border: 0 !important;
    margin: 4px 0;
    overflow: hidden;
}
li.accordion-item a.accordion-title {
    color: var(--mabe23-white);
    font-size: 1.2rem;
    line-height: 1;
    padding: 1.25rem 2rem;
    border: 0 !important;
    border-bottom: 0 !important;
    border-radius: 100px !important;
    text-decoration: none;
    background-color: var(--mabe23-blue);
}
li a.accordion-title:focus, li a.accordion-title:hover { background-color: var(--mabe23-blue-dark); }
li.accordion-item div.accordion-content {
    padding: 1rem;
    border: 0 !important;
    border-bottom-width: 1px;
    border-bottom-style: solid;
    border-bottom-color: rgb(230, 230, 230);
    border-bottom: 0;
    background-color: transparent;
    color: var(--mabe23-text-color);
}

ul.tabs {
    width: 100%;
    max-width: 600px;
    margin: 0 auto 5px auto;
    border: 0;
}
li.tabs-title {
    margin: 0 2px;
    border-radius: 9px;
    border: 1px solid var(--mabe23-blue);
    overflow: hidden;
}
li.tabs-title a {
    color: var(--mabe23-blue);
    font-size: .9rem;
    font-weight: 700;
    text-transform: uppercase;
    text-align: center;
    text-decoration: none;
    -moz-transition: all .3s;
    -o-transition: all .3s;
    -ms-transition: all .3s;
    -webkit-transition: all .3s;
    transition: all .3s;
}
li.tabs-title.is-active a {
    color: var(--mabe23-white);
    background-color: var(--mabe23-blue);
}
.tabs-content {
    border-top: 1px solid var(--mabe23-blue);
    border-color: var(--mabe23-blue);
    border-radius: 9px;
}

.page-title .vcard {
  border: 0px;
  padding: 0px; }

.byline {
  color: #999; }

.entry-content img {
  max-width: 100%;
  height: auto; }

.entry-content .alignleft, .entry-content img.alignleft {
  margin-right: 1.5em;
  display: inline;
  float: left; }

.entry-content .alignright, .entry-content img.alignright {
  margin-left: 1.5em;
  display: inline;
  float: right; }

.entry-content .aligncenter, .entry-content img.aligncenter {
  margin-right: auto;
  margin-left: auto;
  display: block;
  clear: both; }

.entry-content video, .entry-content object {
  max-width: 100%;
  height: auto; }

.entry-content pre {
  background: #eee;
  border: 1px solid #cecece;
  padding: 10px; }

.wp-caption {
  max-width: 100%;
  background: #eee;
  padding: 5px; }
  .wp-caption img {
    max-width: 100%;
    margin-bottom: 0;
    width: 100%; }
  .wp-caption p.wp-caption-text {
    font-size: 0.85em;
    margin: 4px 0 7px;
    text-align: center; }

.post-password-form input[type="submit"] {
  display: inline-block;
  vertical-align: middle;
  margin: 0 0 1rem 0;
  font-family: inherit;
  padding: 0.85em 1em;
  -webkit-appearance: none;
  border: 1px solid transparent;
  border-radius: 0;
  transition: background-color 0.25s ease-out, color 0.25s ease-out;
  font-size: 0.9rem;
  line-height: 1;
  text-align: center;
  cursor: pointer;
  background-color: #1779ba;
  color: #fefefe; }
  [data-whatinput='mouse'] .post-password-form input[type="submit"] {
    outline: 0; }
  .post-password-form input[type="submit"]:hover, .post-password-form input[type="submit"]:focus {
    background-color: #14679e;
    color: #fefefe; }

/*********************
IMAGE GALLERY STYLES
*********************/

/* Masonry Gallery con GSAP */
.gsap_gallery {
    column-count: 3;
    column-gap: 16px;
}
    @media (max-width: 1024px) {
        .gsap_gallery { column-count: 2; }
    }
    @media (max-width: 640px) {
        .gsap_gallery { column-count: 1; }
    }
.gsap_gallery__item {
    break-inside: avoid;
    margin-bottom: 16px;
    overflow: hidden;
    border-radius: 4px;
}
.gsap_gallery__img {
    width: 100%;
    display: block;
    transition: transform .4s ease;
}
.gsap_gallery__link:hover .gsap_gallery__img {
    transform: scale(1.04);
}

.gsap_lightbox {
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,.92);
    display: none;
    align-items: center;
    justify-content: center;
    z-index: 9999;
}
.gsap_lightbox.is-active { display: flex; }
.gsap_lightbox__img {
    max-width: 90vw;
    max-height: 85vh;
    opacity: 0;
    transform: scale(.92);
}
.gsap_lightbox__close,
.gsap_lightbox__prev,
.gsap_lightbox__next {
    position: absolute;
    background: none;
    border: none;
    color: var(--mabe23-white);
    font-size: 2.5rem;
    cursor: pointer;
    z-index: 2;
}
.gsap_lightbox__close { top: 20px; right: 30px; }
.gsap_lightbox__prev  { left: 20px; }
.gsap_lightbox__next  { right: 20px; }

.gallery::before, .gallery::after {
  content: ' ';
  display: table; }

.gallery::after {
  clear: both; }

.gallery.gallery-columns-1 > dl {
  width: 100%;
  float: left;
  padding-right: 0.625rem;
  padding-left: 0.625rem; }
  @media print, screen and (min-width: 39.9375em) {
    .gallery.gallery-columns-1 > dl {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  .gallery.gallery-columns-1 > dl:last-child:not(:first-child) {
    float: right; }

.gallery.gallery-columns-2 > dl {
  width: 50%;
  float: left;
  padding-right: 0.625rem;
  padding-left: 0.625rem; }
  @media print, screen and (min-width: 39.9375em) {
    .gallery.gallery-columns-2 > dl {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  .gallery.gallery-columns-2 > dl:last-child:not(:first-child) {
    float: right; }

.gallery.gallery-columns-3 > dl {
  width: 33.33333%;
  float: left;
  padding-right: 0.625rem;
  padding-left: 0.625rem; }
  @media print, screen and (min-width: 39.9375em) {
    .gallery.gallery-columns-3 > dl {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  .gallery.gallery-columns-3 > dl:last-child:not(:first-child) {
    float: right; }

.gallery.gallery-columns-4 > dl {
  width: 25%;
  float: left;
  padding-right: 0.625rem;
  padding-left: 0.625rem; }
  @media print, screen and (min-width: 39.9375em) {
    .gallery.gallery-columns-4 > dl {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  .gallery.gallery-columns-4 > dl:last-child:not(:first-child) {
    float: right; }

.gallery.gallery-columns-5 > dl {
  width: 20%;
  float: left;
  padding-right: 0.625rem;
  padding-left: 0.625rem; }
  @media print, screen and (min-width: 39.9375em) {
    .gallery.gallery-columns-5 > dl {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  .gallery.gallery-columns-5 > dl:last-child:not(:first-child) {
    float: right; }

.gallery.gallery-columns-6 > dl {
  width: 16.66667%;
  float: left;
  padding-right: 0.625rem;
  padding-left: 0.625rem; }
  @media print, screen and (min-width: 39.9375em) {
    .gallery.gallery-columns-6 > dl {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  .gallery.gallery-columns-6 > dl:last-child:not(:first-child) {
    float: right; }

.gallery.gallery-columns-7 > dl {
  width: 14.28571%;
  float: left;
  padding-right: 0.625rem;
  padding-left: 0.625rem; }
  @media print, screen and (min-width: 39.9375em) {
    .gallery.gallery-columns-7 > dl {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  .gallery.gallery-columns-7 > dl:last-child:not(:first-child) {
    float: right; }

.gallery.gallery-columns-8 > dl {
  width: 12.5%;
  float: left;
  padding-right: 0.625rem;
  padding-left: 0.625rem; }
  @media print, screen and (min-width: 39.9375em) {
    .gallery.gallery-columns-8 > dl {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  .gallery.gallery-columns-8 > dl:last-child:not(:first-child) {
    float: right; }

.gallery dl {
  width: 100%;
  float: left;
  padding-left: 0.9375rem;
  padding-right: 0.9375rem; }

.gallery dl:last-child:not(:first-child) {
  float: right; }

/*********************
PAGE NAVI STYLES
*********************/
.page-navigation {
  margin-top: 1rem; }

/*********************
COMMENT STYLES
*********************/
#comments .commentlist {
  margin-left: 0px; }

#respond ul {
  margin-left: 0px; }

.commentlist li {
  position: relative;
  clear: both;
  overflow: hidden;
  list-style-type: none;
  margin-bottom: 1.5em;
  padding: 0.7335em 10px; }
  .commentlist li:last-child {
    margin-bottom: 0; }
  .commentlist li ul.children {
    margin: 0; }

.commentlist li[class*=depth-] {
  margin-top: 1.1em; }

.commentlist li.depth-1 {
  margin-left: 0;
  margin-top: 0; }

.commentlist li:not(.depth-1) {
  margin-left: 10px;
  margin-top: 0;
  padding-bottom: 0; }

.commentlist .vcard {
  margin-left: 50px; }
  .commentlist .vcard cite.fn {
    font-weight: 700;
    font-style: normal; }
  .commentlist .vcard time {
    float: right; }
    .commentlist .vcard time a {
      color: #999;
      text-decoration: none; }
      .commentlist .vcard time a:hover {
        text-decoration: underline; }
  .commentlist .vcard img.avatar {
    position: absolute;
    left: 10px;
    padding: 2px;
    border: 1px solid #cecece;
    background: var(--mabe23-white); }

.commentlist .comment_content p {
  margin: 0.7335em 0 1.5em;
  font-size: 1em;
  line-height: 1.5em; }

.commentlist .comment-reply-link {
  float: right; }

/*********************
COMMENT FORM STYLES
*********************/
.respond-form {
  margin: 1.5em 10px;
  padding-bottom: 2.2em; }
  .respond-form form {
    margin: 0.75em 0; }
    .respond-form form li {
      list-style-type: none;
      clear: both;
      margin-bottom: 0.7335em; }
      .respond-form form li label,
      .respond-form form li small {
        display: none; }
    .respond-form form input[type=text],
    .respond-form form input[type=email],
    .respond-form form input[type=url],
    .respond-form form textarea {
      padding: 3px 6px;
      background: #efefef;
      border: 2px solid #cecece;
      line-height: 1.5em; }
      .respond-form form input[type=text]:focus,
      .respond-form form input[type=email]:focus,
      .respond-form form input[type=url]:focus,
      .respond-form form textarea:focus {
        background: var(--mabe23-white); }
      .respond-form form input[type=text]:invalid,
      .respond-form form input[type=email]:invalid,
      .respond-form form input[type=url]:invalid,
      .respond-form form textarea:invalid {
        outline: none;
        border-color: #fbc2c4;
        background-color: #f6e7eb;
        -ms-box-shadow: none;
        box-shadow: none; }
    .respond-form form input[type=text],
    .respond-form form input[type=email],
    .respond-form form input[type=url] {
      max-width: 400px;
      min-width: 250px; }
    .respond-form form textarea {
      resize: none;
      width: 97.3%;
      height: 150px; }

#comment-form-title {
  margin: 0 0 1.1em; }

#allowed_tags {
  margin: 1.5em 10px 0.7335em 0; }

.nocomments {
  margin: 0 20px 1.1em; }

/*********************
SIDEBARS & ASIDES
*********************/
.sidebar {
    margin-bottom: 25px;
}
.sidebar li {
    font-size: 1rem;
    list-style: none;
    margin-bottom: 1rem;
}
.sidebar .widget_block {
    margin-top: 50px;
}

.widget ul {
  margin: 0; }



/*********************
NEWSLETTER
*********************/

/* Popup - Reveal Modal di Zurb Foundation */
.reveal-overlay { background-color: rgba(0,0,0,.7); }
#popup_newsletter {
    padding: 0 !important;
    border-top-left-radius: 50px;
    border-bottom-right-radius: 50px;
}
    @media screen and (max-width: 40em) {
        #popup_newsletter.reveal.small {
            top: 70px !important;
            bottom: auto;
            left: 50%;
            transform: translateX(-50%);
            width: 90%;
            max-width: 75rem;
            height: auto;
            min-height: auto;
            margin-left: 0;
            border: 0;
            border-top-left-radius: 25px;
            border-bottom-right-radius: 25px;
        }
    }
#popup_newsletter #newsletterBox {
  margin-top: 0;
  margin-bottom: 0;
  padding: 0;
}
#popup_newsletter .popup_img {
    background-image: url('https://etabeta-ninfee.it/wp-content/uploads/2024/02/molte-gocce-d-acqua-su-una-foglia-di-banana-ben-organizzata.jpg');
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}
    @media screen and (max-width: 40em) {
        #popup_newsletter .popup_img {
            background-image: none;
        }
    }
#popup_newsletter .sib_title_container,
#popup_newsletter .sib_Privacy_container,
#popup_newsletter .sib_input_container {
    display: inline-block;
    width: 100%;
    padding: 0;
}
    @media screen and (max-width: 40em) {
        #popup_newsletter .sib_field_container {}
    }
.button_popup_newsletter {
    position: fixed;
    bottom: 10px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 99;
}
.button_popup_newsletter .open_modal_btn {
    font-size: .9rem !important;
    border: 1px solid #d9d5c1 !important;
    -webkit-box-shadow: 0 4px 13px rgb(50 50 93 / 50%), 0 1px 13px rgb(0 0 0 / 50%);
    box-shadow: 0 4px 13px rgb(50 50 93 / 50%), 0 1px 13px rgb(0 0 0 / 50%);
}
    .button_popup_newsletter .open_modal_btn:visited,
    .button_popup_newsletter .open_modal_btn:focus {
        background-color: #668c99;
    }

#popup_newsletter a.close-button {
    position: relative !important;
    top: auto;
    right: auto;
    color: #575757 !important;
    font-size: 1rem !important;
    position: relative !important;
}



/*********************
FOOTER STYLES
*********************/
.footer {
    position: relative;
    clear: both;
    margin: 0;
    padding-top: 40px;
    background-color: rgb(8, 21, 34);
}
footer .small-12 {}
    @media screen and (max-width: 39.9375em) { /* small-12 */
        footer .small-12 {
            padding-top: 35px;
        }
    }
footer h3, footer h4, footer p, footer a {
    color: #9fb3c6;
    text-align: center;
}
footer a { text-decoration: none; }
    footer a:hover {
        color: var(--mabe23-blue);
    }
footer h4 {
    font-size: 1.1em;
    font-weight: 700;
    padding-top: 0;
    margin-top: 0;
}
footer p {
    font-size: 0.9em;
}
footer a.social {
    font-size: 1.5rem;
    padding: 0 7px 0 7px;
    text-decoration: none;
}

/* FOOTER CREDITS */
footer .credits {
    padding-top: 50px;
    padding-bottom: 20px;
    background-color: rgba(0,0,0,.3);
}
footer .credits p,
footer .credits a {
    color: #ccc;
    font-size: 0.8rem;
}
    footer .credits a:hover { color: var(--mabe23-blue); }

/* RICERCA NEL FOOTER */
#footer_search {
    display: block;
    position: relative;
    width: 90%;
    margin: 0 auto 0 0;
}
#footer_search form.search-form {
    display: block;
    position: relative;
    width: 100%;
    max-width: 600px;
    margin: 0 auto;
}
#footer_search form.search-form label,
#footer_search form.search-form button {
    display: inline-block;
    color: var(--mabe23-white);
    margin: 0;
    padding: .85em 1em;
    font-size: 1.2rem;
    background: transparent;
}
#footer_search form.search-form label {
    width: calc(100% - 70px);
    padding-left: 0;
}
#footer_search form.search-form button {
    border: 0;
    background: rgba(0,0,0,.3);
}
    #footer_search form.search-form button:hover {
        border: 0;
        background: var(--mabe23-blue);
    }
#footer_search form.search-form input[type=search] {
    color: var(--mabe23-white);
    border: 0;
    border-bottom: 1px solid var(--mabe23-white);
    -webkit-box-shadow: none;
    box-shadow: none;
    background: transparent;
}

.wpml_custom_footer_selcetor {
    margin-bottom: 25px;
    text-align: center;
}
.wpml_custom_footer_selcetor span.wpml_description_text,
.wpml_custom_footer_selcetor div.wpml-ls-legacy-list-horizontal { display: inline-block; }
.wpml_custom_footer_selcetor span.wpml_description_text {
    font-size: 1rem;
    color: var(--mabe23-white);
}
.wpml_custom_footer_selcetor ul {
    width: auto;
    margin: 0 auto;
    display: inline-block;
}



/*********************
VISUAL EDITOR STYLES
*********************/
body#tinymce {
  margin: 20px; }

/*********************
PLUGIN STYLES
*********************/
.gform_body ul {
  list-style: none outside none;
  margin: 0; }

/*# sourceMappingURL=style.css.map */




/*********************
CONTACT FORM 7
*********************/

.wpcf7 p { 
    font-size: 1rem;
    text-align: left;
    margin: 0;
}

.wpcf7 [type=checkbox], .wpcf7 [type=file], .wpcf7 [type=radio] {
    margin: 0;
}

.wpcf7 input, .wpcf7  select, .wpcf7 textarea, span.wpcf7-list-item-label { color: var(--mabe23-dark); }
    .wpcf7 input::placeholder, .wpcf7 select::placeholder, .wpcf7 textarea::placeholder { color: #aaa; }
.wpcf7 input,
.wpcf7 input:hover, .wpcf7 input:focus, .wpcf7 input:visited,
.wpcf7 input:-webkit-autofill, .wpcf7 input:-webkit-autofill:hover, .wpcf7 input:-webkit-autofill:focus, .wpcf7 input:-webkit-autofill:active,
.wpcf7 textarea,
.wpcf7 textarea:hover, .wpcf7 textarea:focus, .wpcf7 textarea:visited,
.wpcf7 textarea:-webkit-autofill, .wpcf7 textarea:-webkit-autofill:hover, .wpcf7 textarea:-webkit-autofill:focus, .wpcf7 textarea:-webkit-autofill:active,
select.wpcf7-select {
    font-weight: 400;
    padding: 13px 15px;
    border: 1px solid var(--mabe23-border);
    border-radius: 12px;
    background: var(--mabe23-light-gray);
    -webkit-box-shadow: none;
    box-shadow: none;
}
    .wpcf7 span[data-name="your-recipient"]::after { /* arrow in select */
        content: "";
        position: absolute;
        right: 10px;
        top: 3px;
        width: 0; 
        height: 0; 
        border-left: 8px solid transparent;
        border-right: 8px solid transparent;
        border-top: 8px solid var(--mabe23-blue);
    }
.wpcf7 textarea {
    height: 6em;
}
.wpcf7 input.wpcf7-file {
    border-bottom: 0;
    margin-bottom: 3px;
}
.wpcf7 span.label,
.wpcf7 label {
    color: var(--mabe23-text-color);
    font-size: .8rem;
    font-weight: 700;
    letter-spacing: .5px;
    text-transform: uppercase;
    margin-bottom: 2rem;
}
.wpcf7 span.label i,
.wpcf7 label i {
    color: var(--mabe23-blue);
    font-size: .8rem;
    vertical-align: top;
}
.wpcf7 span.label { margin-bottom: .2rem; }
.wpcf7 .checkbox_container { margin-bottom: 2rem; }
.wpcf7-checkbox label {
    display: flex;
    align-items: center;
    grid-gap: 5px;
    margin-bottom: .2rem;
}
.wpcf7 .wpcf7-list-item-label {
    color: var(--mabe23-text-color);
    font-size: 1rem;
    font-weight: 400;
    text-transform: none;
}
.wpcf7 input[type="submit"] {
    float: right;
    color: var(--mabe23-white);
    font-weight: 700;
    margin-top: 20px;
    padding: 16px 30px;
    border: 0;
    background-color: var(--mabe23-blue);
    box-shadow: rgba(0, 154, 255, 0.65) 0px 14px 30px -10px;
    -webkit-box-shadow: rgba(0, 154, 255, 0.65) 0px 14px 30px -10px;
}
    .wpcf7 input[type="submit"]:hover  {
        color: var(--mabe23-white);
        background-color: var(--mabe23-blue-dark);
        box-shadow: none;
        -webkit-box-shadow: none;
    }
.wpcf7 input[type="checkbox"] {
    height: 1.4rem;
    width: 1.4rem;
    border: 0;
    border-radius: 0;
    margin-bottom: 0;
}
.wpcf7 .privacy_box label {
    flex-direction: row !important;
    align-items: flex-start;
}
.wpcf7 .privacy_box span {
    color: var(--mabe23-text-color);
}
.wpcf7-response-output {
    display: block;
    max-width: 600px;
    margin: 10px auto !important;
    border-width: 4px !important;
    background-color: var(--mabe23-white);
}
.privacy_box label {
  margin-bottom: 0;
  display: flex;
  justify-content: flex-start;
  align-items: center;
}
.privacy_box label span.wpcf7-list-item-label {
  padding-left: 10px;
}
span.cf7_description {
    font-weight: 400 !important;
    text-transform: none !important;
    padding-left: 10px !important;
}


/*********************
Search & Filter PRO
*********************/

.searchandfilter { margin: 50px 5px; }
.searchandfilter ul { margin: 0; }
.searchandfilter select.sf-input-select {
    min-width: 120px;
}
.searchandfilter li[data-sf-field-type="post_meta"],
.searchandfilter li[data-sf-field-type="taxonomy"],
.searchandfilter li[data-sf-field-type="search"],
.searchandfilter .sf-field-reset,
.searchandfilter .sf-field-submit {
    display: inline-block;
    padding: 5px;
    margin-top: 0;
    padding-top: 0;
}
.searchandfilter li[data-sf-field-type="post_meta"],
.searchandfilter li[data-sf-field-type="taxonomy"],
.searchandfilter li[data-sf-field-type="search"] {
    width: 25%;
    float: left;
}
    @media screen and (max-width: 40em) { /* small-12 */
        .searchandfilter li[data-sf-field-type="post_meta"],
        .searchandfilter li[data-sf-field-type="taxonomy"],
        .searchandfilter li[data-sf-field-type="search"] {
            width: 100%;
            float: none;
        }
    }
.searchandfilter li[data-sf-field-type="post_meta"] label,
.searchandfilter li[data-sf-field-type="taxonomy"] label,
.searchandfilter li[data-sf-field-type="search"] label {
    width: 100%;
}
.searchandfilter h4 {
    position: relative;
    color: var(--mabe23-blue);
    font-size: 1em;
    letter-spacing: 0;
    text-align: left;
}
.searchandfilter li[data-sf-field-input-type="radio"] ul li,
.searchandfilter li[data-sf-field-input-type="checkbox"] ul li {
    display: inline-block;
}
.searchandfilter li[data-sf-field-input-type="radio"] ul li.sf-item-0 { /* nascondo il radio-button "All items" */
    display: none;
}
.searchandfilter li[data-sf-field-input-type="radio"] ul li,
.searchandfilter li[data-sf-field-input-type="checkbox"] ul li {
    padding: 0;
}
.searchandfilter input.sf-input-radio,
.searchandfilter input.sf-input-checkbox {
    margin-bottom: 0;
}
.searchandfilter .noUi-connect { /* filtro grafico slider */
    background-color: var(--mabe23-blue);
}
.searchandfilter li[data-sf-field-type="taxonomy"] select { border: 1px solid var(--mabe23-blue-dark); }
.searchandfilter li[data-sf-field-type="search"] input {
    font-weight: 300;
    border: 1px solid var(--mabe23-blue-dark);
    -webkit-box-shadow: none;
    box-shadow: none;
    background-color: var(--mabe23-white);
}
.searchandfilter .sf-field-reset,
.searchandfilter .sf-field-submit {
    display: inline-block;
    width: 50%;
    padding-bottom: 30px;
}
    @media screen and (max-width: 320px) {
        .searchandfilter .sf-field-reset,
        .searchandfilter .sf-field-submit{
            
        }
    }
.searchandfilter input[type="submit"] {
    display: inline-block;
    color: var(--mabe23-white);
    font-size: 1rem;
    font-weight: 700;
    padding: 10px 27px;
    text-transform: uppercase;
    border: none;
    border-radius: 4px;
    background-color: var(--mabe23-blue);
    cursor: pointer;
}
    .searchandfilter input[type="submit"]:hover {
        color: var(--mabe23-white);
        background-color: var(--mabe23-blue-dark);
    }
.searchandfilter .meta-slider {
    max-width: 250px;
    width: calc(100% - 30px);
    margin-left: 0;
    margin-right: auto;
}
.searchandfilter select option:checked {
    color: var(--mabe23-white);
    background-color: var(--mabe23-blue);
}



/*********************
 * WP-PageNavi
 * per pagination Search&Filter
*********************/
.pagination-result .woocommerce-pagination {
    display: block;
    width: 100%;
    overflow: hidden;
    text-align: center;
}
.woocommerce-pagination .wp-pagenavi {
    display: inline-block;
    overflow: hidden;
    margin: 1em 0;
    border-right: 1px solid #d3ced2;
}
.woocommerce-pagination .wp-pagenavi a,
.woocommerce-pagination .wp-pagenavi span {
    display: inline-block;
    font-size: 1.2rem;
    font-weight: 400;
    line-height: 1;
    padding: .5em;
    min-width: 1em;
    border: 0;
    margin: 0;
    border-top: 1px solid #d3ced2;
    border-bottom: 1px solid #d3ced2;
    border-left: 1px solid #d3ced2;
}
.woocommerce-pagination .wp-pagenavi a.last,
.woocommerce-pagination .wp-pagenavi span.last {
}
.wp-pagenavi span.current {
    color: var(--mabe23-blue-dark);
    border-color: var(--mabe23-blue);
    background: #ebe9eb;
}



/*********************
 * YITH Infinite Scrolling
*********************/
.yith-infs-loader {
    display: block;
    margin: 0 auto;
    width: 50px;
    height: auto;
}



/*********************
GOOGLE MAPS
Nascondo la parte superiore di Google MyMaps
*********************/

/*
<div id="mabe_map">
    <!-- Altezza del frame di GoogleMap uguale allo stile:
        #mabe_map iframe { top: -60px; }
    -->
    <iframe src="https://www.google.com/maps/d/u/0/embed?mid=1xQ9J7zJlk1wBTlxI12q6rgiaehETJCdG" width="100%" height="500"></iframe>
</div>
*/

#mabe_map {
    display: block;
    position: relative;
    width: 100%;
    height: 440px;
    overflow: hidden;
}
#mabe_map iframe {
    position: absolute;
    top: -55px; /* Altezza uguale a quella del frame di GoogleMap presente in Contatti */
    left: 0;
    border: 0;
}
#mabe_map .maps_hide {
    content: '';
    position: absolute;
    width: 100%;
    height: 60px;
    background-color: #f1f1f1;
    top: 0;
    left: 0;
    z-index: 990;
}



/*********************
GOOGLE RECAPTCHA v.3
*********************/

.grecaptcha-badge {
    opacity: 0 !important;
    width: 0 !important;
    height: 0 !important;
}



/*********************
IUBENDA
*********************/

.iubenda-tp-btn.iubenda-cs-preferences-link {
    display: none !important;
    visibility: hidden !important;
}



/*********************
PAGINA 404
*********************/

body.error404 { background-color: var(--mabe23-white); }
body.error404 header.article-header { margin-top: 50px; }
body.error404 .search {
    max-width: 400px;
    margin: 0 auto;
    text-align: center;
}
body.error404 form.search-form { margin: 10px 0px; }



/*********************
STILI PER LA STAMPA
DELLA PAGINA WEB
*********************/

@media print {

    a[href]:after {
        content: none !important;
    }
    @page {
        margin-top: 0 !important;
        margin-bottom: 0 !important;
    }
    header.header,
    footer .inner-footer > div:nth-child(1),
    footer .inner-footer > div:nth-child(2),
    footer .inner-footer > div:nth-child(3),
    footer .inner-footer > div:nth-child(4),
    footer > div.credits_block { display: none !important; }
    
}



/*********************
SINGOLO CORSO
*********************/
.sticky {

}
.sticky.is-stuck { z-index: 0; }

/* ---------- Reset minimo della sezione ---------- */
.course-section,
.course-section *,
.course-section *::before,
.course-section *::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

/* ---------- Layout generale ---------- */
.course-section {
    position: relative;
    width: 100%;
    overflow: hidden;
    border-radius: 20px;
    background: #f1f5f9;
}

.course-container {
    position: relative;
    margin: 0 auto;
    padding: 3rem 1.5rem;
}

/* ---------- Blob decorativi in movimento ---------- */
.course-blobs {
  position: absolute;
  inset: 0;
  overflow: hidden;
  pointer-events: none;
}

.blob {
  position: absolute;
  border-radius: 42px;
  opacity: 0.10;
}
.blob--mabe23-blue { background: var(--mabe23-blue); }
.blob--mabe23-navy  { background: var(--mabe23-navy); }

.blob--1 {
  top: -10rem;  left: -6rem;
  width: 540px; height: 540px;
  transform: rotate(16deg);
  animation: drift 11s ease-in-out infinite;
}
.blob--2 {
  top: 33%; right: -7rem;
  width: 480px; height: 480px;
  transform: rotate(-22deg);
  animation: drift 14s ease-in-out infinite reverse;
}
.blob--3 {
  bottom: -8rem; left: 33%;
  width: 420px; height: 420px;
  transform: rotate(30deg);
  animation: drift 11s ease-in-out infinite;
}

/* ---------- Intro ---------- */
.course-intro { margin-bottom: 3rem; }
@media (min-width: 1024px) { .course-intro { margin-bottom: 4rem; } }

.course-eyebrow {
  display: flex;
  align-items: center;
  gap: 0.625rem;
}
.course-dot {
  width: 6px; height: 6px;
  border-radius: 9999px;
  background: var(--mabe23-blue);
}
.course-eyebrow span:last-child {
  font-family: var(--mabe23-font);
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.28em;
  color: var(--mabe23-blue);
}

.course-title {
    margin-top: .75rem;
}
.course-coach {
    margin-top: .75rem;
    margin-bottom: .75rem;
    padding: 0;
}

.course-subtitle {
  margin-top: 1rem;
  max-width: 46ch;
  font-size: 1rem;
  line-height: 1.6;
  color: var(--mabe23-text-color);
  text-wrap: pretty;
}
@media (min-width: 640px) { .course-subtitle { font-size: 1.125rem; } }


.course-col-right > * {
  position: sticky;
  top: 2rem;
}

/* ---------- Glass panel (pannello in vetro con effetto sheen) ---------- */
.glass-panel {
  position: relative;
  overflow: hidden;
  border-radius: 28px;
  background: rgba(255, 255, 255, 0.75);
  padding: 1.25rem;
  box-shadow: 0 24px 60px -30px rgba(11, 31, 51, 0.35);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border: 1px solid rgba(0, 0, 0, 0.05);
}
@media (min-width: 640px) { .glass-panel { padding: 1.75rem; } }

.glass-panel--summary {
    margin-top: 100px;
    background: rgba(255, 255, 255, 0.80);
    box-shadow: 0 30px 70px -34px rgba(11, 31, 51, 0.45);
}
   @media (max-width:39.9375em) { .glass-panel--summary { margin-top: 0; } }

.glass-panel + .glass-panel { margin-top: 1.5rem; }

/* effetto sheen che attraversa il pannello */
.glass-panel::after {
  content: "";
  position: absolute;
  inset: 0;
  transform: translateX(-130%);
  background: linear-gradient(105deg, transparent 32%, rgba(255, 255, 255, 0.5) 50%, transparent 68%);
  animation: sheen 6s ease-in-out infinite;
  pointer-events: none;
}

/* ---------- Header pannello ---------- */
.panel-head {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding-bottom: 0.75rem;
  border-bottom: 1px solid rgba(0, 0, 0, 0.05);
}
.panel-label {
  font-family: var(--mabe23-font);
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.22em;
  color: var(--mabe23-navy);
}
.panel-counter {
  font-family: var(--mabe23-font);
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.22em;
  color: var(--mabe23-text-color);
}

/* ---------- Date chips ---------- */
.date-chips {
  margin-top: 1rem;
  display: flex;
  flex-wrap: wrap;
  gap: 0.625rem;
}

.date-chip {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  border-radius: 12px;
  background: var(--mabe23-white);
  padding: 0.625rem 0.875rem;
  box-shadow: 0 6px 18px -10px rgba(11, 31, 51, 0.35);
  border: 1px solid rgba(0, 0, 0, 0.05);
  transition: transform 0.3s ease;
}
.date-chip:hover { transform: translateY(-2px); }

.date-chip-day {
  display: flex;
  flex-direction: column;
  align-items: center;
  line-height: 1;
}
.date-day {
  font-family: var(--mabe23-font);
  font-size: 1.125rem;
  font-weight: 700;
  color: var(--mabe23-navy);
}
.date-month {
  font-size: 10px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.14em;
  color: var(--mabe23-text-color);
}

.date-sep {
  height: 1.75rem;
  width: 1px;
  background: rgba(0, 0, 0, 0.05);
}

.date-chip-meta { display: flex; flex-direction: column; }
.date-year {
  font-size: 11px;
  font-weight: 600;
  color: var(--mabe23-navy);
}
.date-weekday {
  font-size: 10px;
  color: var(--mabe23-text-color);
}

/* ---------- Lista informazioni ---------- */
.info-list { margin-top: 0.5rem; }

.info-row {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 1rem 0;
  border-bottom: 1px solid rgba(0, 0, 0, 0.05);
}
.info-list .info-row:last-child { border-bottom: none; }

.info-icon {
  display: grid;
  place-items: center;
  width: 36px;
  height: 36px;
  flex-shrink: 0;
  border-radius: 10px;
  background: rgba(0, 154, 255, 0.10);
  border: 1px solid rgba(0, 154, 255, 0.20);
}

.info-icon i {
  font-size: 0.875rem;
  color: var(--mabe23-blue);
}

.info-row dt {
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.16em;
  color: var(--mabe23-text-color);
}
.info-row dd {
  margin-left: auto;
  text-align: right;
  font-family: var(--mabe23-font);
  font-size: 15px;
  font-weight: 600;
  color: var(--mabe23-navy);
}

/* ---------- Riepilogo (colonna destra) ---------- */
.summary-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
}

.badge {
    border-radius: 9999px;
    background: rgba(0, 154, 255, 0.10);
    padding: 0.25rem 0.625rem;
    font-family: var(--mabe23-font);
    font-size: 11px;
    font-weight: 600;
    color: var(--mabe23-blue);
    border: 1px solid rgba(0, 154, 255, 0.20);
}
.total-value {
    font-size: 2rem;
    font-weight: 700;
}

/* CTA */
.cta-btn {
  margin-top: 1.25rem;
  display: flex;
  width: 100%;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  border-radius: 12px;
  background: var(--mabe23-blue);
  padding: 0.75rem 0.75rem 0.75rem 1rem;
  font-family: var(--mabe23-font);
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--mabe23-white);
  text-decoration: none;
  border: 1px solid var(--mabe23-blue);
  box-shadow: 0 14px 30px -12px rgba(0, 154, 255, 0.6);
  transition: transform 0.3s ease;
}
.cta-btn:hover { transform: translateY(-2px); }
.cta-btn[disabled] { opacity: .3; }

.cta-arrow { transition: transform 0.3s ease; }
.cta-btn:hover .cta-arrow { transform: translateX(2px); }

.cta-note {
    margin-top: 2rem;
    text-align: left;
    font-size: 11px;
    line-height: 1.6;
    color: var(--mabe23-text-color);
}