/*
	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 "./general/effects.css";

@import "./Moduli/dynamicSearchBar/dynamicSearchBar.css";

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

@import "./components/Footer/footer.css";

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

@import "./components/Filtri/searchbar.css";



/* ----------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------------
------------------------------------------ Scrollbar --------------------------------------------
-------------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------------*/ 
     body {
        overflow-y: overlay;
     }
    *:focus {
        outline: unset !important;
    }
    *:focus-visible {
        border: 1px solid #000 !important;
    }
    .screen-reader-text-hidden {
        display: none !important;
    }
    #iubenda-iframe .iub-toggle-checkbox input.style1:checked:after {
        display: none;
    }
    ::-webkit-scrollbar-track
    {
        border-radius: 5px;
        -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3);
        background-color: transparent;
    }
    ::-webkit-scrollbar
    {
        width: 5px;
        -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3);
        background-color: transparent;
    }
    ::-webkit-scrollbar-thumb
    {
        border-radius: 5px;
        -webkit-box-shadow: inset 0 0 6px rgba(0,0,0,.3);
        background-color: var(--color-main);

    }

    body::-webkit-scrollbar
    {
        width: 10px;
    }

    /* Divider Color
    -----------------------------------------*/
        .divider {
            background-color: var(--color_1);
        }
        .theme-b-main .divider {
            background-color: var(--color-pure-white);
        }
        .abs-divider:before {
            content: '';
            display: block;
            width: 100%;
            background-color: var(--color_1);
            position: absolute;
            bottom: 0;
            left: 0;
        }

/* ----------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------------
----------------------------------- Theme Background Colors -------------------------------------
-------------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------------*/
    .theme-b-main {
        background-color: var(--color-main);
    }
    .theme-b-main- {
        background-color: var(--color-main-);
    }
    .theme-b-main-- {
        background-color: var(--color-main--);
    }
    .theme-b-main--- {
        background-color: var(--color-main---);
    }
    .theme-b-main---- {
        background-color: var(--color-main----);
    }
    .theme-b-main----- {
        background-color: var(--color-main-----);
    }
    .theme-b-1 {
        background-color: var(--color_1);
    }
    .theme-b-1- {
        background-color: var(--color_1-);
    }
    .theme-b-1-- {
        background-color: var(--color_1--);
    }
    .theme-b-2 {
        background-color: var(--color_2);
    }
    .theme-b-2- {
        background-color: var(--color_2-);
    }
    .theme-b-2-- {
        background-color: var(--color_2--);
    }

/* ----------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------------
----------------------------------- Grid general classes ----------------------------------------
-------------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------------*/

	/* General spacing of content 4/5/6 col grid */
	.content-sp {
		padding: 1.042vw;
	}
	.content-sp.abs-p {
		padding: 1.354vw 1.042vw;
	}
	.content-sp_02 {
		padding: 1.563vw;
	}
	.content-sp_03 {
		padding: 2.083vw;
	}
    .content-sp_04 {
        padding: 1.042vw 3.125vw 1.979vw 1.25vw;
    }
	/* When content is under img with bk text and same height */
	.content-equal-h {
    	height: 12.5vw;
    }
	.content-equal-h .btn {
	    margin-top: 1.042vw;
	    min-width: 100%;
	}

	/* One col grid / Banner */
	.one-col-grid .content-sp.abs-p {
	    padding: 6.25vw;
	}	
		/* Banner with centered content */
		.banner-c .col-content-inner {
		    max-width: 50%;
		    margin: auto;
		}
		/* Banner with content on top left */
		.banner-tl .col-content-inner {
		    max-width: 65%;
		}
		/* Banner with content on bottom left */
		.banner-bl .col-content-inner {
		    max-width: 55%;
		}

	/* Two col grid */
	.two-col-grid .content-sp.abs-p {
	    padding: 2.083vw 3.125vw 1.563vw 1.563vw;
	}
    .two-col-grid .col-content-btn .link-arrow,
    .two-col-grid .col-content-btn .btn {
        margin-top: 2.083vw;
    }
	/* Three col grid */
	.three-col-grid .content-sp.abs-p {
	    padding: 3.125vw 4.167vw 2.083vw 2.083vw;
	}
	.three-col-grid .col-content-btn .btn,
	.four-col-grid .col-content-btn .btn,
	.five-col-grid .col-content-btn .btn,
	.six-col-grid .col-content-btn .btn,
    .carousel .add-to-cart-btn .btn {
	    margin-top: 0.938vw;
	}
    
/* ----------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------------
----------------------------------- Img Height Classes ------------------------------------------
-------------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------------*/

	/* Apply on es: <div class="three-col-grid img-size_01"> */
	.img-size_full img {
		height: 100vh;
	}
	.img-size_full_01 img {
		height: 120vh;
	}
    .img-size_0 img {
        height: 19.792vw; /* 380*/
        min-height: 280px;
    }
	.img-size_00 img {
	    height: 21.875vw;
	    min-height: 300px;
	}
	.img-size_01 img {
		height: 30.208vw;
		min-height: 420px;
	}
	.img-size_02 img {
		height: 37.5vw;
		min-height: 560px;
	}
    .img-size_03 img {
        height: 43.75vw;
        min-height: 680px;
    }

/* ----------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------------
----------------------------------- Video Height Classes ------------------------------------------
-------------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------------*/
    .video-size * {
        width: 100%;
        height: 100%;
    }
    .video-size_0 {
        height: 9.375vw;
        min-height: 155px;
    }
    .video-size_00 {
        height: 21.875vw;
        min-height: 300px;
    }
    .video-size_01 {
        height: 30.208vw;
        min-height: 420px;
    }
    .video-size_02 {
        height: 37.5vw;
        min-height: 560px;
    }

/* ----------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------------
----------------------------------- Box Height Classes ------------------------------------------
-------------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------------*/

    /* Apply on es: <div class="three-col-grid box-size_01"> */
        .box-size_01 .col-content {
            height: 16.667vw;
            min-height: 280px;
        }


/* ----------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------------
-------------------------------- Title + btn / link structure -----------------------------------
-------------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------------*/
    .stripe-content.align-c .link-arrow, .stripe-content.align-c .btn {
        min-width: max-content;
    }
    .stripe-title.flex-grow {
        margin-right: 2em;
    }

/* ----------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------------
----------------------------------- Default Header Rules ----------------------------------------
-------------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------------*/
    header {
        position: relative;
        z-index: 10 !important;
    }
    #header-content {
        position: relative;
        z-index: 1;
    }
    
    /* Breadcumbs
    ----------------------------------------------------------------*/
        .breadcrumbs .breadcrumbs-divider {
            margin: 0 0.729vw; /*14*/
        }
        #breadcrumbs a:hover {
            text-decoration: underline;
            text-underline-offset: 2px;
        }        
	    #breadcrumbs {
	        position: relative;
	        z-index: 2;
	    }
	    #breadcrumbs a {
            color: #000;
	        font-family: var(--bd-font);
            text-decoration: unset !important;
	    }
	    #breadcrumbs .current-item {
	        font-family: var(--rg-font);
	    }
	    #breadcrumbs a:hover,
	    #breadcrumbs a:hover * {
	        color: var(--color_1-);
	    }
        .single #breadcrumbs {
            padding-bottom: 1.042vw;
        }
        .body-breadcrumbs * {
            font-family: var(--sbd-font);
        }
        .body-breadcrumbs .current-item {
            font-family: var(--rg-font);
        }

    /* 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%);
        }
        .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;
        }

    /* Gallery Slide Arrows
    --------------------------------------------*/
        .swiper-button-next:after, 
        .swiper-rtl .swiper-button-prev:after,
        .swiper-button-prev:after, 
        .swiper-rtl .swiper-button-next:after {
            content: none !important;
        }

        body .swiper-button-next,
        body .swiper-button-prev {
            width: 2.604vw;
            height: 2.604vw;
            min-width: 35px;
            min-height: 35px;
            display: block !important;
            margin-top: 0 !important;
            z-index: 2 !important;
            -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
        }
        body .swiper-button-next svg,
        body .swiper-button-prev svg{
            width: 100%;
            height: 100%;
        }
        .swiper-button-prev svg {
            -webkit-transform: rotate(180deg);
            -ms-transform: rotate(180deg);
            transform: rotate(180deg);
        }

        /* Buttons */
        .slider-buttons svg {
            fill: var(--color-pure-white);
            padding: 0.833vw;
            background-color: transparent;
            border-radius: 100%;
            border: 1px solid var(--color-pure-white);
        }

        /* When Buttons are inside a Carousel/Gallery */
        body .swiper-button-prev {
            left: 1.042vw;
        }
        body .swiper-button-next {
            right: 1.042vw;
        }
        /* On white Bk apply class pos-arrows */
        .pos-arrows svg {
            fill: var(--color-main-text);
            border-color: var(--color-main-text);
        }
        /* on dark Bk apply class neg-arrows */
        .neg-arrows svg{
            fill: var(--color-pure-white);
        }

        /*Relative inline arrows
        -----------------------------------------------------------*/
        .relative-arrow {
            display: flex;
            flex-flow: wrap;
        }
        .relative-arrow .swiper-button-next,
        .relative-arrow .swiper-button-prev {
            position: relative;
            top: unset;
            transform: unset !important;
            left: unset !important;
            right: unset !important;
    		border-radius: 100%;
            -webkit-transition: all 0.2s ease-in-out;
            transition: all 0.2s ease-in-out;
        }      
        .relative-arrow .swiper-button-next {
            margin-left: 0.521vw;
        }

        /* Hover effect on arrows */
        .relative-arrow .swiper-button-next,
        .relative-arrow .swiper-button-prev {
            opacity: 0.6;
        }
        .relative-arrow .swiper-button-next:hover,
        .relative-arrow .swiper-button-prev:hover {
            opacity: 1;
        }

        /* Small Arrows */
        .small-arrows .swiper-button-prev, 
        .small-arrows .swiper-button-next {
            width: 1.042vw;
            height: 1.042vw;
            min-width: 12px;
            min-height: 12px;
        }

        /* Other */
        .swiper-button-lock {
            display: none;
        }
        .swiper-button-disabled {
            opacity: 0.3 !important;
        }

/* ----------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------------
------------------------------------- Swiper Slider General -------------------------------------
-------------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------------*/
    .swiper-container {
        position: relative;
        overflow: hidden;
    }


/* Pagination
--------------------------------------------------------------------------------------------------------------*/
    #pagination {
        width: 100%;
    }
    .next.page-numbers {
        right: 0;
    }
    .nav-links {
        position: relative;
        height: 1.406vw; /*27*/
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 0.781vw; /*15*/
    }
    .page-numbers {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 1.406vw; /*27*/
        height: 1.406vw; /*27*/
        font-size: 0.781vw; /*15*/
        font-family: var(--bd-font);
        line-height: 1;        
        background-color: #e5e8eb;
        border-radius: 100%;
        padding: 0;
        margin-bottom: 0 !important;
        text-decoration: unset !important;
    }
    .page-numbers.current,
    .page-numbers:hover {
        background-color: var(--color-main);
        color: #fff;
    }
    .page-numbers.separatore {
        pointer-events: none !important;
    }
    .page-numbers svg {
        width: 0.573vw; /*11*/
    }
    .page-numbers:hover svg path {
        fill: #ffffff;
    }

/* 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(/wp-content/uploads/2024/08/play-btn_n.svg);
        background-size: contain;
        background-position: center;
        background-repeat: no-repeat;
        opacity: 0.8;
        z-index: 3;
        pointer-events: none;
    }



/* ----------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------------
------------------------------------- Svg Arrow Inside a Box ------------------------------------
-------------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------------*/
    .arrow-btn svg {
        width: 2.083vw;
        height: 2.083vw;
        display: block;
    }
    .arrow-btn.abs-p {
        right: 1.042vw;
        bottom: 1.042vw;
        -webkit-transition: all .175s cubic-bezier(0.47, -2.05, 0.53, 2.4);
        transition: all .175s cubic-bezier(0.47, -2.05, 0.53, 2.4);
    }
    .arrow-btn svg {
        fill: var(--color-main);
    }
    .arrow-btn.white svg {
        fill: var(--color-white);
    }
    .col-container-inner:hover .arrow-btn {
        right: 0.833vw;
    }
    .five-col-grid .arrow-btn svg {
        width: 1.563vw;
        height: 1.563vw;  
    }

/* ----------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------------
------------------------------------ CONTACTS WITH ICONS  ---------------------------------------
-------------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------------*/
    .contacts-container {
        gap: 0.521vw 2.604vw; /*10 50*/
    }
    .contacts-container .icon-container {
        height: 1.563vw; /*30*/
        width: 1.563vw; /*30*/
        min-width: 1.563vw; /*30*/
        border: 0.052vw solid var(--color_1);
        padding: 0.26vw; /*5*/
        border-radius: 100%;
        margin-right: 0.521vw; /*10*/
    }
    .contacts-container a {
        text-underline-offset: 0.156vw; /*3*/
    }
    .contacts-container a:hover {
        text-decoration: unset;
    }


/* ----------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------------
--------------------------------- Standard CSS effects ------------------------------------------
-------------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------------*/

    /* Box Shadow Effect */
    .box-sh_01 {
        box-shadow: 0 2px 15px 0 rgb(0 0 0 / 15%);
    }
    .box-sh_02 {
        box-shadow: 0px 10px 15px 0px rgba(0, 0, 0, 0.15);
    }
    /* Custom Overlay */
    .overlay_2::after {
        mix-blend-mode: unset;
    }

/* TO CHECK****** Hover
------------------------------------------------------------------------------------------------------------------------------------*/
    body #content a:not([data-customclass='btn'],
    .wp-block-button__link, .btn):hover{
        /*color: var(--color-yellow) !important;*/
    }

    .menu-icon a:hover {
        color: var(--color-white);
    }

/* Hover effect on menu / footer a */

.menu li a:before,
footer a:before,
.custom-cookie-anchor:before {
    content: '';
    height: 2px;
    position: absolute;
    bottom: -1px;
    left: 0;
    width: 0;
    transition: all 0.25s ease-in-out;
    z-index: 1;
    background: var(--color-pure-white);
}
header .menu li a:before {
    bottom: -2px;
}
header .mega-menu a:before {
    bottom: -5px !important;
}
.main-menu li a:before {
    background: var(--color-main)
}
.menu li a:hover:before,
footer a:hover:before,
.menu li.current-menu-item > a:before,
.mega-menu a.current-page:before,
.custom-cookie-anchor:hover:before {
    width: 100%;
}
.menu li,
footer a,
.custom-cookie-anchor {
    position: relative;
    width: fit-content
}
.menu li:not(.with-mega-menu) {
    position: relative;
}
footer .menu li a:before,
footer a:before,
.custom-cookie-anchor:before {
    height: 1px;
    bottom: -3px;
}

#map-cookie-overlay {
    background-color: var(--color-main---);
    padding: 0 40px;
}