/*
	Main CSS THEME
*/

@import "./general/variables.css";
@import "./general/font-color.css";
@import "./general/font-general.css";
@import "./general/font-sizes.css";

@import "./general/buttons.css";
@import "./general/cf7.css";

@import "./general/containers.css";

@import "./general/spacing.css";
@import "./general/general.css";

@import "./components/menu.css";

@import "./general/effects.css";

@import "./components/popup.css";



/* GENERAL
 ------------------------------------------------------------------------------------------------------------------------------------*/
    .otgs-development-site-front-end {
        display: none !important;
    }
    #iubenda-iframe input[type="checkbox"]:after {
        display: none !important;
    }    
     body {
        overflow-y: overlay;
     }
     body.hide-scroll {
        overflow: hidden;
     }
    ::-webkit-scrollbar-track
    {
        border-radius: 10px;
        -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3);
        background-color: transparent;
    }

    ::-webkit-scrollbar
    {
        width: 11px;
        -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3);
        background-color: transparent;
    }

    ::-webkit-scrollbar-thumb
    {
        border-radius: 10px;
        -webkit-box-shadow: inset 0 0 6px rgba(0,0,0,.3);
        background-color: rgba(0, 0, 0, 0.3);
    }

    .swiper-container {
        position: relative;
        overflow: hidden;
    }

    /* General Elements
    -----------------------------------------*/
        .divider-w {
            height: 2px;
            background-color: var(--color-white);
        }
        .divider-b {
            height: 2px;
            background-color: rgb(24 80 58 / 10%);
        }
        .divider-1 { 
            height: 1px;
            background-color: #D5D5D5;
        }
        .divider-2 {
            height: 1px;
            background-color: var(--color-orange);
        }
        .sm-divider {
            height: 1px;
        }


/* Default Header Rules
 ------------------------------------------------------------------------------------------------------------------------------------*/
    header {
        position: relative;
        z-index: initial !important;
    }
    #header-content {
        z-index: 1;
    }

    /* Breadcumbs
    ----------------------------------------------------------------*/
        .breadcrumbs > * {
            font-family: var(--text-font-light);
            margin: 0 0.729vw; /*14*/
        }
        .breadcrumbs > *:first-child {
            margin-left: 0;
        }
        .breadcrumbs > *:last-child {
            margin-right: 0;
        }
        .breadcrumbs .current-item {
            font-family: var(--text-font-bold) !important;
        }
        #breadcrumbs a:hover {
            text-decoration: underline;
            text-underline-offset: 2px;
        }        

        .header-content-small #breadcrumbs * {
            color: #fff;
        }

    /* Sticky Header 
    --------------------------------------------*/
        header .col-full-menu .main-menu-container.still-sticky {
            position: fixed;
            top: 0;
            left: 0;
            transform: translateY(-300px);
            width: 100%;
            box-shadow: 0px -6px 20px 0px rgb(0 0 0 / 20%);
            z-index: 5;
            padding: 0.521vw 0;
            background-color: var(--color-pure-white);
        }
        header .col-full-menu .main-menu-container.still-sticky.sticky-header {
            transform: translateY(0);
            transition: transform 0.3s ease-in-out;
        }
        header .col-full-menu .main-menu-container.still-sticky .logo-container a {
            min-width: unset;
            min-height: unset;
            width: 9.6359vw; /*185*/
            height: 2.292vw; /*44*/
        }
        header .still-sticky .menu-main-navigation {
            height: auto;
            min-height: unset;
        }
        header .still-sticky .menu a {
            font-size: 0.781vw;
        }
        header .still-sticky li {
            margin-bottom: 0 !important;
        }
        header .still-sticky .header-contact-container a.menu-contact-icon {
            height: 1.563vw;
            width: 1.563vw;
        }
        header .still-sticky .menu-contact-icon img {
            filter: unset;
        }
        header.sticky-active #scroll-header {
            display: none !important;
        }

    /* Slider timed dots
    --------------------------------------------*/
        @-webkit-keyframes bulletGrow {
            0% { 
                transform: translateX(-100%);
            }
            100% { 
                transform: translateX(0);
            }
        }
        @keyframes bulletGrow {
            0% { 
                transform: translateX(-100%);
            }
            100% { 
                transform: translateX(0%);
            }
        }

    /* Slider Bullets
    --------------------------------------------*/
        .swiper-pagination-bullet {
            height: 0.625vw;
            width: 0.625vw;
            background-color: var(--color-pure-white);
            margin: 0px 25px !important;
        }
        .timing-pagination .swiper-pagination-bullet {
            position: relative;
            margin: 0 0.260vw !important;
        }
        .timing-pagination .swiper-pagination-bullet {
            align-items: flex-end;
            display: inline-flex;
            background-color: transparent !important;
        }
        .timing-pagination .swiper-pagination-bullet,
        .timing-pagination .swiper-pagination-bullet-active {
            width: 3.646vw;
            height: 1.302vw;
            border-radius: unset;
            opacity: 1;
            overflow: hidden;
        }
        .timing-pagination .swiper-pagination-bullet:first-child {
            margin-left: 0 !important;
        }        
        .timing-pagination .swiper-pagination-bullet:before {
            content: '';
            display: block;
            position: relative;
            height: 3px;
            width: 100%;
            background-color: #fff;
            transform: translateX(-100%);
            position: absolute;
            bottom: 0;
            left: 0;
            z-index: 2;
        }
        .timing-pagination .swiper-pagination-bullet:after {
            content: '';
            display: block;
            position: relative;
            z-index: 1;
            height: 3px;
            width: 100%;
            background-color: rgb(255 255 255 / 60%) !important;
        }
        .timing-pagination .swiper-pagination-bullet-active:before {
            -webkit-animation: bulletGrow 10s linear forwards;
            animation: bulletGrow 10s linear forwards;
            -webkit-animation-delay: 0.3s;
            animation-delay: 0.3s;
        }

        .timing-dark.timing-pagination .swiper-pagination-bullet:after {
            background-color: #b69b81 !important;
        }
        .timing-dark.timing-pagination .swiper-pagination-bullet:before {
            background-color: #95795b !important;
        }

    /* Slider Scrollbar
    --------------------------------------------*/
        .swiper-scrollbar.js-swiper-scrollbar {
            height: 4px;
            width: 70%;
            cursor: pointer;
        }
        .swiper-scrollbar-drag {
            background-color: var(--color-red);
        }
        .centered-scrollbar { /* Hand aligned with container md */
            max-width: 75%;
            margin: auto;
        }
        .right-scrollbar {
            margin: auto;
            margin-right: 0;
        }

        .theme-b-1 .swiper-scrollbar {
            background: var(--main-color-);
        }

    /* Gallery Slide Arrows
    --------------------------------------------*/
        .swiper-button-next:after, 
        .swiper-rtl .swiper-button-prev:after,
        .swiper-button-prev:after, 
        .swiper-rtl .swiper-button-next:after {
            content: '' !important;
            background-size: contain;
		    background-repeat: no-repeat;
		    background-position: center;
            width: 100%;
            height: 100%;
            display: block;
        }
        .swiper-button-prev:after, 
        .swiper-rtl .swiper-button-next:after {
            background-image: url(/wp-content/uploads/2024/03/circle-prev.png);
        }
        .swiper-button-next:after, 
        .swiper-rtl .swiper-button-prev:after {
            background-image: url(/wp-content/uploads/2024/03/circle-next.png);

        }

        .swiper-button-next,
        .swiper-button-prev {
            width: 2.604vw !important;
            height: 2.604vw !important;
            min-width: 35px !important;
            min-height: 35px !important;
            display: block !important;
            margin-top: 0 !important;
            z-index: 2 !important;
        }
        .relative-arrow .swiper-button-next:hover,
        .relative-arrow .swiper-button-prev:hover {
            filter: brightness(0.9);
        }
        /*Vertically Centered arrows
        -----------------------------------------------------------*/
        .centered-arrows .swiper-button-next,
        .centered-arrows .swiper-button-prev {
            top: 50%;
            transform: translateY(-50%);
        }
        .centered-arrows .swiper-button-next {
            right: -3.646vw !important; /*70*/
        }
        .centered-arrows .swiper-button-prev {
            left: -3.646vw !important; /*70*/
        }

        /*Relative inline arrows
        -----------------------------------------------------------*/
        .relative-arrow .swiper-button-next,
        .relative-arrow .swiper-button-prev {
            position: relative;
            top: unset;
            transform: unset;
            left: unset !important;
            right: unset !important;
        	background-color: var(--color-orange);
    		border-radius: 100%;
            -webkit-transition: all 0.2s ease-in-out;
            transition: all 0.2s ease-in-out;
            display: flex !important;
            align-items: center;
            justify-content: center;
        }      
        .swiper-button-lock {
            display: none;
        }
		.relative-arrow .swiper-button-next {
		    margin-left: 0.521vw;
		}
        .swiper-button-disabled {
            opacity: 0.5 !important;
        }

/* Stripe with bg image
---------------------------------------------------------------------------------------------------------------*/
    .stripe-with-bg-image {
        position: relative;
    }
    .stripe-with-bg-image > *:first-child {
        position: relative;
        z-index: 1;
    }
    .stripe-bg-image {
        position: absolute;
        top: 0;
        left: 0;
        height: 100%;
        width: 100%;
        z-index: 0;
    }

/* Content SP
--------------------------------------------------------------------------------------------------------------*/
    .content-sp {
        padding: 1.042vw;
    }

/* Image Size
--------------------------------------------------------------------------------------------------------------*/
    .img-size_00 img {
        height: 21.875vw;
        min-height: 300px;
    }
    .img-size_01 img {
        height: 30.208vw;
        min-height: 420px;
    }

/* Background Pictogram
--------------------------------------------------------------------------------------------------------------*/
    .section-with-pictogram {
        position: relative;
        overflow: hidden;
    }
    .bg-gradient {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: rgb(233,244,239);
        background: linear-gradient(0deg, rgba(233,244,239,1) 0%, rgba(221,244,235,1) 25%, rgba(233,244,239,1) 50%, rgba(221,244,235,1) 75%, rgba(233,244,239,1) 100%);
        z-index: 1;
    }
    .section-with-pictogram .bg-pictogram {
        display: flex;
        height: auto;
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        z-index: 2;
        mix-blend-mode: soft-light;
    }
    .section-with-pictogram > *:not(.bg-pictogram, .bg-gradient) {
        position: relative;
        z-index: 4;
    }

    .section-with-pictogram .bg-1, 
    .section-with-pictogram .bg-3 {
        width: 39.078%;
    }
    .section-with-pictogram .bg-1 {
        background-position: -6.094vw top;
        opacity: 33%;
    }
    .section-with-pictogram .bg-2 {
        width: 21.844%;
        background-position: -1.406vw top;
        opacity: 28%;
    }
    .section-with-pictogram .bg-3 {
        background-position: -1.406vw top;
        opacity: 30%;
    }
    .section-with-pictogram .bg-1, 
    .section-with-pictogram .bg-2, 
    .section-with-pictogram .bg-3 {
        background-image: url(/wp-content/uploads/2024/01/bg-pictogram-left-1.png);
        background-size: 21.719vw;
    }


/* Header pictogram
---------------------------------------------------------------------------------------------------------------*/
    .header-pictogram {
        position: absolute !important;
        z-index: 3 !important;
        width: 100%;
        top: 0;
        height: 100vh;
        overflow: hidden;
    }
    .header-pictogram > * {
        position: absolute;
        top: 0;
        width: 52.135vw; /*1001*/
        height: 39.479vw; /*758*/
        opacity: 0.1;
    }
    .header-pictogram .right-pictogram {
        top: 12%;
        right: -34%;
    }
    .header-pictogram .left-pictogram {
        top: 14%;
        left: -28%;
    }


/* Pagination
--------------------------------------------------------------------------------------------------------------*/
    #pagination {
        width: 100%;
    }
    .prev.page-numbers, 
    .next.page-numbers {
        position: absolute;
        top: 0;
        padding: 0;
        display: flex;
        align-items: center;
    }
    .prev.page-numbers {
        left: 0;
    }
    .next.page-numbers {
        right: 0;
    }
    .nav-links {
        position: relative;
        height: 2.083vw; /*40*/
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 0.781vw;
    }
    .page-numbers {
        width: 1.3549vw;
        height: 1.3549vw;
        min-width: 26px;
        min-height: 26px;
        display: flex;
        align-items: center;
        justify-content: center;
        border-radius: 100%;
        line-height: 1;
        transition: all 0.2s ease-in-out;
        margin-bottom: 0;
        font-family: var(--text-font);
    }
    #pagination .page-numbers:not(.current) {
        background-color: #eaeaea;
    }
    #pagination .page-numbers.current {
        background-color: var(--color-green);
        color: var(--color-lime);
    }

    .pagination-text {
        display: block;
        margin-top: 0.104vw; /*2*/
    }
    .pagination-btn {
        display: flex;
        align-items: center;
        justify-content: center;
        height: 2.083vw; /*40*/
        width: 2.083vw; /*40*/
        border-radius: 100%;
        background-size: contain;
        background-position: center;
        background-repeat: no-repeat;
        -webkit-transition: all 0.1s ease-in-out;
        transition: all 0.1s ease-in-out;
    }
    .next.page-numbers,
    .prev.page-numbers {
        display: none;     
    }

/* Video Elements
------------------------------------------------------------------------------*/
    .media-container.with-video {
        position: relative;
    }
    .media-container.with-video .video-container iframe {
        width: 100%;
        height: 100%;
    }
    .media-container.with-video .video-container {
        height: 100%;
        position: relative;
        z-index: 1;
    }
    .media-container.with-video .video-placeholder {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        z-index: 2;
        cursor: pointer;
    }
    .media-container.with-video .video-placeholder:before {
        content: '';
        display: block;
        height: 3.646vw; /*70*/
        width: 3.646vw; /*70*/
        min-height: 70px;
        min-width: 70px;
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        background-image: url('data:image/svg+xml,<svg id="Layer_1" style="enable-background:new 0 0 512 512;" version="1.1" xml:space="preserve" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="96 64 320 384"><path d="M405.2,232.9L126.8,67.2c-3.4-2-6.9-3.2-10.9-3.2c-10.9,0-19.8,9-19.8,20H96v344h0.1c0,11,8.9,20,19.8,20 c4.1,0,7.5-1.4,11.2-3.4l278.1-165.5c6.6-5.5,10.8-13.8,10.8-23.1C416,246.7,411.8,238.5,405.2,232.9z"></path></svg>');
        background-size: contain;
        background-position: center;
        background-repeat: no-repeat;
        opacity: 0.8;
        z-index: 3;
        pointer-events: none;
        filter: invert(1);
    }
    .media-container.with-video .video-placeholder:hover:before {
        opacity: 1;
    }

    /* Social Link
    --------------------------------------------------------------------------*/
        .social-links .menu {
            gap: 1.042vw; /*20*/
        }
        .social-links a {
            width: 2.5vw; /*48*/
            height: 2.5vw; /*48*/
            min-width: 35px;
            min-height: 35px;
            display: block;
            margin-top: 0;
            padding: 0.651vw; /*12.5*/
            border-radius: 100%;
            background-color: var(--color-lime);
        }

/* Footer
------------------------------------------------------------------------------------------------------------------------------------*/
    footer .stripe-container {
        padding-bottom: 1.823vw; /*35*/
    }
    .footer-logo {
        width: 32.292vw;
        height: 7.7089vw;
        margin: 0 auto;
    }
    .footer-logo a {
        display: block;
        width: 100%;
        height: 100%;
    }
    footer .single-social {
        margin-bottom: 0;
    }

    .widget-column {
        padding-right: 3.125vw;
    }
    .widget-column:last-child {
        max-width: 21.354vw;
        padding-right: 0;
    }

    .list-from-mobile h4 {
        display: none;
    }
    footer h4 {
        margin-bottom: 1.354vw; /*26*/
        font-family: var(--text-font);
        font-size: 0.833vw;
        line-height: 1;
        letter-spacing: 0;
    }
    footer a {
        color: var(--color-lime);
    }
    footer #footer-notes a {
        color: #fff !important;
    }
    footer.desktop-footer .menu li {
        font-size: unset !important;
        margin-bottom: 0.885vw !important; /*17*/
    }
    footer.desktop-footer .menu li:last-child {
        margin-bottom: 0 !important;
    }
    footer.desktop-footer .menu li,
    footer.desktop-footer .menu li a {
        line-height: 1 !important;
    }    
    footer.desktop-footer .menu li a {
        display: inline-block;
    }
    footer .sm-divider {
        margin: 1.042vw 0;
    }
    .desktop-footer h4 {
        pointer-events: none;
    }
    .desktop-footer .footer-widget .menu {
        display: block !important;
    }

    .desktop-footer a:not(.btn, .social):hover {
        text-decoration: underline;
        text-underline-offset: 0.208vw; /*4*/
    }

    /* Footer Contacts
    ---------------------------------------*/
        #widget-01 {
            width: 18vw;
            min-width: 345px;
        }
        .footer-contact {
            align-items: center;
        }
        .footer-contact:not(:last-child) {
            margin-bottom: 1.458vw; /*28*/
            align-items: center;
        }
        .footer-contact img {
            width: 1.042vw; /*20*/
            min-width: 17px;
            height: auto;
            margin-right: 1.042vw; /*20*/
        }

    /* Footer Azienda
    ---------------------------------------*/
        footer.desktop-footer #widget-02 .menu li {
            margin-bottom: 1.302vw !important; /*25*/
        }

    /* Footer Buttons
    ---------------------------------------*/
        footer .btn {
            display: block;
        }
        footer .btn:not(:first-child) {
            margin-top: 1.563vw; /*30*/
        }
        footer .btn-company:before {
            left: 19%;
        }        

    /* Footer Social
    ---------------------------------------*/
        footer .social-links {
            margin-top: 2.865vw; /*56*/
        }
        footer .social-links .menu {
            gap: 0.573vw; /*11*/
        }
        footer .single-social {
            margin-bottom: 0;
            background-color: var(--color-lime);
            border-radius: 100%;
        }        
        footer .single-social a {
            display: block;
            width: 1.51vw; /*29*/
            height: 1.51vw; /*29*/
            min-width: 26px;
            min-height: 26px;
            padding: 0.417vw; /*8*/
        }
        footer .single-social:hover {
            background-color: #ccd8b2;
            box-shadow: inset 0px 2px 3px 0px rgba(0, 0, 0, 0.2);
        }

    /* Footer Notes
    ---------------------------------------*/
        footer #footer-notes p {
            display: inline-block;
        } 
		footer #footer-notes p,
        footer #footer-notes a {
			line-height: 1;
		}
        footer #footer-notes .footer-notes-content {
            justify-content: center;
            gap: 8.854vw; /*170*/
        }