/*
	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 "./components/menu.css";

@import "./Moduli/Newsletter/newsletter.css";
@import "./components/Footer/footer_01.css";

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

@import "./Headers/mobile-menu/mob-menu_handle.css";



/* ----------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------------
------------------------------------------ Scrollbar --------------------------------------------
-------------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------------*/ 
     body {
        overflow-y: overlay;
     }
    img {
      overflow: hidden !important;
    }
    ::-webkit-scrollbar {
        width: 0.36vw; /*7*/
        height: 0.63vw; /*12*/
        background-color: #f0f0f0;
    }
    ::-webkit-scrollbar-thumb {
        background-color: var(--color_1);
        border-radius: 0;
    }
    ::-webkit-scrollbar-track {
        background-color: #e0e0e0;
        border-radius: 0px;
    }
    [data-wpr-lazyrender] {
        content-visibility: unset !important;
    }

    .edit-link,
    .otgs-development-site-front-end,
    .screen-reader-text,
    .ui-helper-hidden-accessible {
        display: none !important;
    }
    .cart-contents-counts::before {
        content: "[";
    }
    .cart-contents-counts::after {
        content: "]";
    }

/* ----------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------------
----------------------------------- 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-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-1--grad {
        background: #C49D62;
        background: linear-gradient(360deg, rgba(196, 157, 98, 1) 0%, rgba(175, 137, 75, 1) 100%);
    }    

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

	/* General spacing of content 4/5/6 col grid */
	.content-sp {
		padding: 1.042vw;
	}
	.content-sp.abs-p {
		padding: 1.563vw 5.21vw 1.563vw 1.563vw; /* 50 180 100 100*/
	}
	.content-sp_02 {
		padding: 2.08vw; /*40*/
	}
	.content-sp_03 {
		padding: 2.083vw;
	}

	/* 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: 4.688vw;
	}	
	/* 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: 17.708vw;
        min-height: 280px;
    }
	.img-size_00 img {
	    height: 23.18vw; /*445*/
	    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;
    }

/* ----------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------------
----------------------------------- 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 {
        z-index: 1;
    }

    /* Breadcumbs
    ----------------------------------------------------------------*/
        .breadcrumbs > * {
            font-family: var(--rg-font);
        }
        .breadcrumbs .breadcrumbs-divider {
            margin: 0 0.26vw;
        }
        .breadcrumbs > *:first-child {
            margin-left: 0;
        }
        .breadcrumbs > *:last-child {
            margin-right: 0;
        }
        .breadcrumbs {
            font-family: var(--rg-font);
        }
        .breadcrumbs a {
            font-family: var(--bd-font);
        }
        #breadcrumbs a:hover {
            text-decoration: underline;
            text-underline-offset: 2px;
        }        
	    #breadcrumbs {
	        position: relative;
	        z-index: 2;
	    }
	    #breadcrumbs .current-item {
	        font-family: var(--rg-font);
	    }
	    #breadcrumbs a:hover,
	    #breadcrumbs a:hover * {
	        color: var(--color_1);
	    }

    /* Sticky Header 
    --------------------------------------------*/
        header .top-header-wrapper.still-sticky {
            z-index: 4;
        }
        header .top-header-wrapper.still-sticky {
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            background-color: rgba(255, 255, 255, .95);
            transform: translateY(-120%);
            padding: 0.52vw 0;
            box-shadow: 0px 0.05vw 1.04vw rgb(0 0 0 / 25%);
        }
        header .top-header-wrapper.still-sticky a,
        body header .top-header-wrapper.still-sticky ::placeholder,
        body header .top-header-wrapper.still-sticky .main-searchbar input[type=search],
        header .still-sticky .cart-contents-counts {
            color: var(--color-main) !important;
        }
        body header .top-header-wrapper.still-sticky .main-searchbar input[type=search] {
            border-color: var(--color-main) !important;
        }
        body header .top-header-wrapper.still-sticky.sticky-header {
            transform: translateY(0);
            transition: transform 0.3s ease-in-out;
        }
        body header .top-header-wrapper.still-sticky .top-bar {
            top: 15px !important;
        }
        body header .top-header-wrapper.still-sticky .main-menu {
            margin-top: 2.6vw;
        }
        body header .top-header-wrapper.still-sticky .main-logo a {
            width: 7.34vw;
            height: 5.26vw;
        }
        body header .top-header-wrapper.still-sticky .menu > li > a:before {
            background: var(--color-main);
        }

    /* 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
    --------------------------------------------*/
        body .swiper-button-lock.swiper-button-prev,
        body .swiper-button-lock.swiper-button-next {
            display: none !important;
        }

        /* Normal pagination
        ------------------------------------------------------*/
        .swiper-pagination.relative-pagination {
            position: relative !important;
            bottom: unset !important;
            margin-top: 30px;
            z-index: 4;
        }
        .swiper-pagination.relative-pagination > .swiper-pagination-bullets .swiper-pagination-bullet,
        .swiper-pagination.relative-pagination .swiper-pagination-bullet {
            opacity: 0.3;
            margin: 0 14px !important;
        }
        .swiper-pagination.relative-pagination .swiper-pagination-bullet-active {
            background-color: var(--color_1);
            opacity: 1 !important;
        }


        /* Timing pagination
        ------------------------------------------------------*/
            .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: 4.17vw;
                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: 2px;
                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: 2px;
                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;
            }

    /* 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: 3.02vw; /*58*/
            height: 3.02vw; /*58*/
            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.94vw; /*18*/
            background-color: transparent;
            border-radius: 100%;
            border: 2px 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);
        }
        /* Slider on dark background */
        .neg-arrows.pos-arrows svg {
            fill: #ffffff;
            border-color: #ffffff;
        }

        /*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.4;
        }
        .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%;
    }
    .prev.page-numbers, 
    .next.page-numbers,
    .page-numbers li:before {
        display: none !important;
    }
    .prev.page-numbers {
        left: 0;
    }
    .next.page-numbers {
        right: 0;
    }
    .page-numbers:not(a),
    .nav-links {
        display: flex;
        margin: 0 !important;
        gap: 0.52vw; /*10*/
        text-align: center;
        line-height: 1;
        color: var(--color-main);
        -webkit-transition: all 0.1s ease-in-out;
        transition: all 0.1s ease-in-out;
        list-style-type: none !important;
    }
    .nav-links {
        justify-content: center;
    }
    .page-numbers li {
        margin: 0 !important;
    }
    a.page-numbers ,
    span.page-numbers {
        display: flex;
        height: 3.13vw; /*60*/
        width: 3.13vw; /*60*/
        justify-content: center;
        font-family: var(--md-font);    
        background-color: #f1f1f1;
        border-radius: 1.04vw; /*20*/
        align-items: center;
        margin: 0 !important;
    }
    a.page-numbers:not(.next, .prev) {
        color: var(--color-main);
    }
    a.page-numbers:not(.next, .prev):hover {
        color: var(--color-main--);
    }
    a.page-numbers:hover,
    .page-numbers.current {
        background-color: var(--color-main);
        color: #fff !important;
    }

/* Stripe con Background
------------------------------------------------------------------------------*/
    .with-bg-img { 
        position: relative;
    }
    .with-bg-img > *:first-child {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        opacity: 0.55;
        z-index: 0;
    }
    .with-bg-img > *:not(:first-child) { 
        position: relative;
        z-index: 2;
    }

/* 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: 4.69vw;
        width: 4.69vw;
        min-height: 75px;
        min-width: 75px;
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        background-image: url('data:image/svg+xml,<svg fill="%23fff" viewBox="0 0 1920 1920" xmlns="http://www.w3.org/2000/svg"><path d="M175 .024V1920l1570.845-959.927z" fill-rule="evenodd"/></svg>');
        background-size: 56%;
        background-position: 60% center;
        background-repeat: no-repeat;
        opacity: 0.7;
        z-index: 3;
        pointer-events: none;
        border: 5px solid #fff;
        border-radius: 100%;
        transition: opacity 0.3s ease-in-out;
    }
    .media-container.with-video .video-placeholder:hover:before {
        opacity: 1;
    }



/* ----------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------------
------------------------------------- Svg Arrow Inside a Box ------------------------------------
-------------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------------*/
    .arrow-btn svg {
        width: 2.34vw; /*45*/
        height: 2.34vw; /*45*/
        min-width: 35px;
        min-height: 35px;        
        display: block;
        border: 2px solid #fff;
        border-radius: 100%;
        padding: 0.68vw; /*13*/
    }
    .arrow-btn.abs-p {
        right: 1.56vw; /*30*/
        bottom: 1.56vw; /*30*/
        -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;
    }
    .link-arrow:hover svg {
        fill: var(--color-main-) !important;
    }    

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

    /* Box Shadow Effect */
    .box-sh_01 {
        box-shadow: 0 2px 15px 0 rgb(0 0 0 / 15%);
    }


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


/* ----------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------------
--------------------------------------- Download List  ------------------------------------------
-------------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------------*/
body ul.download-list > li:not(.menu-item):before {
    content: none;
}
body ul.download-list li {
    margin-left: 0;
}
.download-list svg {
    width: 30px;
    height: 30px;
    min-width: 30px;
}
body .download-list * {
    margin: 0 !important;
}
body .download-list a {
    margin-left: 1em !important;
}
body .download-list li {
    margin-bottom: 1em !important;
}

/* STAFF STRIPE
---------------------------------------------------------------*/
    .staff-grid .img-fit {
        object-position: top center !important;
    }