/*
Theme Name: Zen Builder 5 Child
Template: zenbuilder5
Theme URI: https://theme-zen.com/
Author: ThemeZen
Author URI: https://theme-zen.com/
Description: Make custom changes for your website in this child theme.
Requires at least: 6.1
Tested up to: 6.2
Requires PHP: 7.4
Version: 1.0.0
License: ThemeZen Licence
License URI: 
Text Domain: zenbuilder5
Tags: one-column, custom-colors, custom-menu, custom-logo, editor-style, featured-images, full-site-editing, block-patterns, rtl-language-support, sticky-post, threaded-comments, translation-ready, wide-blocks, block-styles, accessibility-ready, blog, portfolio, news
*/



/*-------------------------------------------------------------
Globals (GLOB)
    GLOB - Body
    GLOB - Typography
    GLOB - Forms
    GLOB - UL
    GLOB - HR
    GLOB - Links
    GLOB - Buttons
Header (HEAD)
    HEAD - Header over hero
    HEAD - Layout
    HEAD - Logo
	HEAD - Navigation
    HEAD - Links
Hero (HERO)
	HERO - Layout
Carousel (CARO)
	CARO - Layout
Footer (FOOT)
    FOOT - Layout
    FOOT - Links
Posts (POST)
    POST - Buttons
Components (COMP)
    COMP - Cards
    COMP - Tabbed panel
    COMP - WP Gallery
    COMP - WP Cover
    COMP - WP File
Bootstrap (BOOT)
	BOOT - Breakpoints Examples
--------------------------------------------------------------*/

/*--------------------------------------------------------------
GLOB - Body
--------------------------------------------------------------*/
body {
    background: #eff6f2;
}

@media (min-width: 1400px) {
    .container, .navbar-collapse>.ms-auto, 
    .container-sm, .container-md, .container-lg, .container-xl, 
    .container-xxl {
        max-width: 1600px;
    }
}
/*
Source - https://stackoverflow.com/a
Posted by Yann39, modified by community. See post 'Timeline' for change history
Retrieved 2025-12-19, License - CC BY-SA 4.0
*/
.grecaptcha-badge { 
    visibility: hidden !important;
}

/*--------------------------------------------------------------
GLOB - Typography
--------------------------------------------------------------*/
h1, .h1,
h2, .h2,
h3, .h3,
h4, .h4,
h5, .h5,
h6, .h6,
[class^="is-style-h"],
.is-style-lead,
.is-style-display-1,
.is-style-display-2,
.is-style-display-3,
.is-style-display-4,
.is-style-display-5,
.is-style-display-6 {
    font-family: "Gilda Display";
}

.is-style-mb-0 {
    margin-bottom: 0!important;
}

h2 {
    line-height: 1.4;
}

.handwritten {
    font-family: 'Satisfy', cursive;
    font-weight: 100;
}

h5.modal-title {
 font-size: 1.6rem;
}

.is-style-lead,
footer h3 {
    line-height: 2rem;
}

.is-style-lead  {
    font-family: var(--bs-body-font-family)!important;
}

footer h3 {
    /* font-family: var(--bs-body-font-family)!important; */
    font-size: 1.1rem!important;
    font-weight: 500!important;
    color: #ae9a64 !important;

}

footer {
    font-size: 1rem;
}

footer a, footer p, footer li {
    font-size: inherit;
}

.wp-block-zenbuilder5-footer-info {
    font-size: .8rem;
}

.cover-banner h1 {
    margin-bottom: 0;
}

.cover-banner.bg-dark {
    background-color: rgb(41 102 71) !important;
}

.home .wp-block-cover h1:after,
.card-styled-01 h2:after,
.section-cta-01 h2:after,
.cover-banner .is-style-small-caps:after,
.section-content-left-right h2:after,
.card-section-menus .card h2:after,
.tall-cards h2:after,
.hero-banner h1:after {
    content:'';
    width: 70px;
    height: 2px;
    background-color: #ae9a64;
    display: block;
    margin-top: .25rem;
    margin-bottom: 1rem;
}

.card-styled-01 h2:after,
.tall-cards h2:after,
.card-section-menus .card h2:after {
    margin-top: .75rem;
}

.tall-cards h2:after {
    margin-bottom: .0;
}

.section-cta-01 h2:after,
.cover-banner .is-style-small-caps:after,
.home .wp-block-cover h1:after {
    margin: auto;
    margin-top: 1rem;
    background-color: #fff;
}

.home .wp-block-cover h1:after {
    margin-top: .5rem;
    background-color: #fff;
     background-color: #ae9a64;
     margin-bottom: 1.25rem;
}

.hero-banner h1:after {
    margin: auto;
    margin-top: .75rem;
    margin-bottom: 1.25rem;
}

.cover-banner .is-style-small-caps:after {
    margin-top: 1.25rem;
}

@media screen and (min-width: 576px) {
    .hero-banner h1:after {
        margin-top: 0.25rem;
    }
}

@media screen and (min-width: 768px) {
    .cover-banner .is-style-small-caps:after {
        margin-top: 2.5rem;
    }

    .card-styled-01 h2:after {
        margin-top: 0.25rem;
    }

    .section-cta-01 h2:after {
        margin-top: .5rem;
    }
 
    .cover-banner .is-style-small-caps:after {
        margin-top: 2rem;
    }
}
.section-content-left-right h2:after {
    margin-top: 1.25rem;
    margin-bottom: 1.5rem;
}

.is-style-small-caps {
    font-weight: 500;
    letter-spacing: .3rem;
    font-size: .9rem;
    margin-bottom: .5rem !important;
}

@media screen and (min-width: 768px) {
    .section-content-left-right h2:after {
        margin-top: 1rem;
    }
}

.card-section-menus .card {
    transition: transform 0.4s ease, box-shadow 0.4s ease;
}

.card-section-menus .card:hover {
    transform: translateY(-6px);
    box-shadow: 0 12px 25px rgba(0,0,0,0.12);
}

.section-grid-cards .zenbuilder5-col > .card {
    position: relative;
    overflow: hidden;
}

.section-grid-cards .zenbuilder5-col > .card::after {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,0.15);
    opacity: 0;
    transition: opacity 0.4s ease;
}

.section-grid-cards .zenbuilder5-col > .card:hover::after {
    opacity: 1;
}


/*--------------------------------------------------------------
GLOB - UL
--------------------------------------------------------------*/

/*--------------------------------------------------------------
GLOB - HR
--------------------------------------------------------------*/
hr {
    width: 100%;
    border-bottom: 0!important;
}

/*--------------------------------------------------------------
GLOB - Links
--------------------------------------------------------------*/
.btn-link {
    padding-left: 0;
    padding-right: 0;
    color: var(--wp--preset--color--contrast);
    border-bottom: 1px solid var(--wp--preset--color--contrast);
    padding-bottom: .15rem !important;
}

/*--------------------------------------------------------------
GLOB - Buttons
--------------------------------------------------------------*/
.btn {
    letter-spacing: 2px;
    font-weight: 400;
    padding: 13px 29px;
    line-height: 17px;
    font-size: 14px;
    text-transform: uppercase;
}

.btn-outline-light,
.btn-outline-dark {
    border-width: 2px;
}

:root :where(.wp-element-button, .wp-block-button__link) {
    letter-spacing: 2px;
    font-weight: 400;
    padding: 13px 29px;
    line-height: 17px;
    font-size: 14px;
    text-transform: uppercase;
    border: var(--bs-btn-border-width) solid var(--bs-btn-border-color);
    border-radius: var(--bs-btn-border-radius);
    background-color: var(--bs-btn-bg);
    transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}

.zenbuilder5-btn {
    position: relative;
    overflow: hidden;
    z-index: 1;
}

.zenbuilder5-btn::before {
    content: "";
    position: absolute;
    top: -10%;
    left: -20%;
    width: 0%;
    height: 120%;
    background: var(--bs-btn-bg);
    transform: skewX(-8deg);
    transition: width 0.45s ease-in-out;
    z-index: -1;
}

.zenbuilder5-btn:hover::before {
    width: 150%;
}

/* Optional: ensure text stays readable */
.zenbuilder5-btn:hover {
    color: var(--bs-btn-hover-color, #fff);
}


/*--------------------------------------------------------------
HEAD - Header over hero
--------------------------------------------------------------*/

#header {
    padding: 0;
}

.offcanvas-logo-mobile {
    margin: auto;
}

/* Logo is absolute center, so header height increased to stop overlap */
@media (min-width: 992px) {
    #header {
        height: 130px;
    }
}

@media (min-width: 992px) {
    /* Header bg */
    
    /* Overlayed on hero (Fixed default) */
    /* body.home header.wp-block-template-part {
        background-color: transparent;
    } */
    
    /* Not overlayed on hero */
    body.home header.wp-block-template-part {
        position: sticky!important;
    }

    /* // Logo resize on scroll, removed as was affecting scroll, slowin git down */
    /* header.section-header-nav-sticky .custom-logo-link  {
        width: 100px;
    }

    header.section-header-nav-sticky .custom-logo-link img {
        transition: all 0.5s ease-in-out;
        max-width: 60px;
    }
  */
    /* header.section-header-nav-sticky .btn:not(.dropdown-toggle) {
        padding: 8px 25px;
         transition: all 0.5s ease-in-out;
    } */

    /* Header links */
    /* Colour on hero (default) */
    /* .home header:not(.section-header-nav-sticky) .nav-link,
    .home header:not(.section-header-nav-sticky) .nav-link:hover,
    .home header:not(.section-header-nav-sticky) .nav-link:focus {
        color: #fff;
    } */
}

/*--------------------------------------------------------------
HEAD - Layout
--------------------------------------------------------------*/
body.home header.wp-block-template-part {
    transition: all 0.5s ease;
}

body.home header.wp-block-template-part {
    box-shadow:none;
}

header.wp-block-template-part,
body.home header.wp-block-template-part.section-header-nav-sticky {
    background-color: #fff;
    box-shadow:none;
    box-shadow: 4px 4px 30px 0 rgba(0, 0, 0, 0.09);
}

header.wp-block-template-part.section-header-nav-sticky {
    box-shadow: 4px 4px 30px 0 rgba(0, 0, 0, 0.09);
}

@media (min-width: 992px) {
    /* Header bg */
    /* body.home header.wp-block-template-part {
        background-color: transparent;
    } */

    body.home header.wp-block-template-part {
        position: sticky!important;
    }

}

@media (min-width: 992px) and (max-width: 1200px) {
    
    /* Center logo to fit with menu */
    .navbar-nav-wrap {
        justify-content: center;
    }

    #navbarNavDropdown > div.ms-auto {
        margin-left: 0!important;
        width: 100%;
    }

    #navbarNavDropdown > div.ms-auto > #primary-menu {
        justify-content: center;
    }

}

/*--------------------------------------------------------------
HEAD - Logo
--------------------------------------------------------------*/

/* Make the logo center on desktop, flex includes widths of elements, so logo wasnt center */
@media (min-width: 992px) {
    #header .wp-block-site-logo {
        margin-right: 0 !important;
        position: absolute;
        left: 50%;
        transform: translateX(-50%);
    }
}

header .custom-logo-link {
    transition: all 0.3s ease-in-out;
    max-width: 100%;
}

header .logo-text {
    max-width: 6rem;
    line-height: 1rem;
}

header .logo-text p:nth-child(1){
    font-size: .7rem;
}
header .logo-text p:nth-child(2){
    /* font-size: .6rem!important; */
    display: none;
}

@media (min-width: 992px) { 
    header .logo-text {
        max-width: 12rem;
    }
    header .logo-text p:nth-child(1){
        font-size: 1.1rem;
    }
    header .logo-text p:nth-child(2){
        /* font-size: .6rem!important; */
        display: block;
    }
}

header .custom-logo-link,
header.section-header-nav-sticky .custom-logo-link {
    /* max-width:  60px; */
}

header .custom-logo-link {
    max-width:  100px;
}

/* header.section-header-nav-sticky .custom-logo-link {
    max-width:  50%;
    transition: all 0.3s ease-in-out;
} */

@media (min-width: 992px) {
    header .custom-logo-link {
        max-width:100%;
    }

    /* header.section-header-nav-sticky .custom-logo-link {
        max-width:  80%;
    } */
}

@media (max-width: 767px) {
    header .custom-logo-link {
        max-width: 80px;
    }
}

/*--------------------------------------------------------------
HEAD - Navigation
--------------------------------------------------------------*/

/* Offcanvas backdrop styling */
.offcanvas-backdrop.show {
    background-color: rgba(0, 0, 0, 0.9); 
    background-color: rgba(12, 20, 16, 0.9); 

}

/* Animation for menu links */
/* Initial hidden state */
#offcanvasNavbar #primary-menu > li {
    opacity: 0;
    transform: translateY(12px);
    transition:
        opacity 0.35s ease,
        transform 0.35s ease;
}

/* When offcanvas is open */
#offcanvasNavbar.show #primary-menu > li {
    opacity: 1;
    transform: translateY(0);
}

/* Stagger delays */
#offcanvasNavbar.show #primary-menu > li:nth-child(1)  { transition-delay: 0.05s; }
#offcanvasNavbar.show #primary-menu > li:nth-child(2)  { transition-delay: 0.10s; }
#offcanvasNavbar.show #primary-menu > li:nth-child(3)  { transition-delay: 0.15s; }
#offcanvasNavbar.show #primary-menu > li:nth-child(4)  { transition-delay: 0.20s; }
#offcanvasNavbar.show #primary-menu > li:nth-child(5)  { transition-delay: 0.25s; }
#offcanvasNavbar.show #primary-menu > li:nth-child(6)  { transition-delay: 0.30s; }
#offcanvasNavbar.show #primary-menu > li:nth-child(7)  { transition-delay: 0.35s; }
#offcanvasNavbar.show #primary-menu > li:nth-child(8)  { transition-delay: 0.40s; }
#offcanvasNavbar.show #primary-menu > li:nth-child(9)  { transition-delay: 0.45s; }
#offcanvasNavbar.show #primary-menu > li:nth-child(10) { transition-delay: 0.50s; }
#offcanvasNavbar.show #primary-menu > li:nth-child(11) { transition-delay: 0.55s; }
#offcanvasNavbar.show #primary-menu > li:nth-child(12) { transition-delay: 0.60s; }
/* End: Animation for menu links */


/* Start: Always show mobile menu even on desktop */
.navbar-expand-lg .navbar-toggler {
    display: block;
}

#primary-menu .btn.zenbuilder5-dropdown-toggle{
    max-height: 50px;
}

#primary-menu a {
    min-height: 50px;
    line-height: normal;
    padding: 0 1.2rem;
    white-space: normal;
    display: flex;
    align-items: center;
}

#primary-menu .dropdown-menu a {
    height: auto;
    min-height: 50px;
    padding: 0 1.2rem;
}

@media (min-width: 992px) {
    .offcanvas-end {
        width: 420px;
    }
}

/* END: Always show mobile menu even on desktop */

.dropdown-toggle svg {
    width: 2rem;
    color: #ae9a64;
}

@media (min-width: 992px) {
    .offcanvas-body>.ms-auto {
        margin-right: auto !important;
    }

    #primary-menu > li {
        margin-right: 1rem;
    }
}

/* Now on desktop the dropdowns have white bg, only mobile needs dark bg */
/* @media (max-width: 991.98px) { */
    .offcanvas,
    #primary-menu .dropdown-menu,
    #primary-menu .dropdown-menu a,
    #primary-menu .dropdown-grid-menu {
        background-color: var(--bs-primary);
    }

    .dropdown-item,
    .dropdown-item:hover,
    .dropdown-item:focus {
        color: #fff;
    }

    .offcanvas-header .btn-close {
        background: transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23FFF'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414z'/%3e%3c/svg%3e") center center / 1em no-repeat;
    }

/* } */


.navbar-nav .dropdown .dropdown-menu:not(.show) {
    display: none;
    opacity: 0;
    /* transition: opacity 0.3s ease, transform 0.3s ease;
    transform: translateY(10px);
    visibility: hidden; */
}

.dropdown-menu {
    box-shadow:none;
}

@media (min-width: 992px) {
    .navbar-toggler::after {
        content: " MENU";
        margin-left: 0.5rem;
        margin-top: .1rem;
        font-size: 0.875rem;
        font-weight: 600;
        letter-spacing: 0.08em;
        text-transform: uppercase;
        vertical-align: middle;
    }
}

body header .navbar-toggler {
    width: auto;
    margin-left: 0;
}

/*--------------------------------------------------------------
HEAD - Links
--------------------------------------------------------------*/
header a {
    text-decoration: none;
}

.nav-link,
.nav-link:hover,
.nav-link:focus,
#primary-menu a,
#primary-menu a:hover,
#primary-menu a:focus {
    text-transform: uppercase;
    letter-spacing: .7px;
    font-size: .9rem;
}

#primary-menu a,
#primary-menu a:hover,
#primary-menu a:focus {
    font-size: 1.4rem;
    font-family: "Gilda Display";
}

.nav-link,
.nav-link:hover,
.nav-link:focus,
#primary-menu .dropdown-item {
    color: #bbd3c7;
}

.nav-link:hover,
.nav-link:focus,
#primary-menu .dropdown-item:hover,
#primary-menu .dropdown-item:focus,
#primary-menu .current-menu-item > .nav-link,
#primary-menu .current-menu-item > .dropdown-item {
    color: #fff;
}
#primary-menu .dropdown-menu {
    border-radius: 0;
}

.modal-body .wp-block-zenbuilder5-tabbed-panel .nav-tabs {
    border: none;
}

/*--------------------------------------------------------------
HERO - Layout
--------------------------------------------------------------*/
.hero-banner .row.min-vh-100 {
        min-height: 80vh !important;
}


/* Start: The home page hero carousel item (first) needs fixed heights, based on users content, stops height changing */
body.home .carousel-item .zenbuilder5-section {
    height: 600px!important;
}

@media (min-width: 992px) {
    body.home .carousel-item .zenbuilder5-section {
        height: 700px!important;
    }
}

@media (min-width: 1200px) {
    body.home .carousel-item .zenbuilder5-section {
        height: 800px!important;
    }
}

body.home .carousel-item .zenbuilder5-section .container,
body.home .carousel-item .zenbuilder5-section .container .row {
    height: 100%;
}
/* End: The home page hero carousel item (first) needs fixed heights, based on users content, stops height changing */

/*--------------------------------------------------------------
CARO - Layout
--------------------------------------------------------------*/
.swiper--ui-light .swiper-button-prev:before, 
.swiper--ui-light .swiper-button-next:before, 
.swiper--ui-light~.swiper-button-outside-wrapper .swiper-button-prev:before, 
.swiper--ui-light~.swiper-button-outside-wrapper .swiper-button-next:before {
    background-color: rgb(174 154 100);
}

.carousel-fw-overflow {
    overflow: visible!important;
    height: 240px;
}

@media (min-width: 768px) {
    .carousel-fw-overflow {
        height: 300px;
    }
}

@media (min-width: 992px) {
    .carousel-fw-overflow {
        height: 500px;
    }
}

.carousel-fw-overflow .wp-block-zenbuilder5-carousel-swiper-item {
    height: auto!important;
    align-items: unset;
}

.carousel-fw-overflow .wp-block-zenbuilder5-carousel-swiper-item figure.wp-block-image img{
    height: 100%!important;
    object-fit: cover!important;
}


.swiper-horizontal>.swiper-scrollbar, .swiper-scrollbar.swiper-scrollbar-horizontal {
    display: none;
}

.swiper-button-next:after, 
.swiper-button-prev:after {
    font-size: 0!important;
}

.section-cta-01.mx-2 {
    margin-right: .8rem !important;
    margin-left: .8rem !important;
}

.dyn-cards-overflow-visible .swiper {
    overflow: visible;
}

.swiper-button-prev:before, .swiper-button-next:before {
    border-radius: 0;
}

.grid-card-01 > .card-body {
    padding: 0;
}

.grid-card-01,
.grid-card-02,
.grid-card-03,
.grid-card-04 {
        min-height: 200px;
}

@media (min-width: 992px) {
    .grid-card-01 {
         min-height: 850px;
    }
    .grid-card-02 {
         min-height: 525px;
    }
    .grid-card-03,
    .grid-card-04 {
         min-height: 300px;
    }
}

 .ft-cards-events .card {
    background: transparent;
    min-height: auto !important;
 }

 /* .ft-cards-events .card .card-event-info {
    display: none;
 } */

 .card-event-info .text-bg-primary {
    background-color: rgb(174 154 100) !important;
}

.card-event-info {
       font-size: .9rem;
}

.card-event-info .badge{
       font-size: .95rem;
}

 .ft-cards-events .card .h4 {
    margin-bottom: 0;
 }

 .ft-cards-events .card .card-body  {
    padding-left: 0;
    padding-right: 0;
    padding-bottom: 0;
 }



/*--------------------------------------------------------------
FOOT - Layout
--------------------------------------------------------------*/
footer {
    background-color: #fff;
}

.footer-logo {
    width: 300px;
}

footer .border-top {
    border-top: var(--bs-border-width) var(--bs-border-style) #a4ada6 !important;
}

footer .footer-nav-horizonal a,
footer .footer-nav-horizonal a:hover,
footer .footer-nav-horizonal a:focus {
    color: white;
    margin-right: 3rem;
    text-decoration: none!important;
    text-transform: uppercase;
    color: #bbd3c7;
    text-transform: uppercase;
    letter-spacing: .7px;
    font-size: .9rem;
}

footer .footer-nav-horizonal a:hover,
footer .footer-nav-horizonal a:focus {
    color: white;
}

.wp-block-zenbuilder5-footer-info a{
    color: white;
    font-size: inherit;
}

@media screen and (max-width: 767px) {
    footer .footer-nav-horizonal li {
        width: 50%;
        margin-bottom: 1rem;
    }
}

/* Footer accordion style headers for mobile view */
/* Hide content on mobile */
.js-info-content {
    display: none;
}

/* Show content on desktop screens */
@media (min-width: 769px) {
    .js-info-content {
        display: block !important;
    }

    /* Disable pointer cursor on desktop */
    .js-toggle-info-content {
        cursor: default;
    }
}

/* Optional: make headings look clickable on mobile */
/* .js-toggle-info-content {
    cursor: pointer;
} */

/* MOBILE ONLY */
@media (max-width: 768px) {

    .js-toggle-info-content {
        position: relative;
        padding-right: 20px;
        cursor: pointer;
    }

    /* Arrow (chevron-style) */
    .js-toggle-info-content::after {
        content: "";
        position: absolute;
        right: 0;
        top: 50%;
        width: 8px;
        height: 8px;
        border-right: 2px solid currentColor;
        border-bottom: 2px solid currentColor;
        transform: translateY(-50%) rotate(45deg);
        transition: transform 0.25s ease;
    }

    /* Rotate arrow when open */
    .js-toggle-info-content.is-open::after {
        transform: translateY(-50%) rotate(-135deg);
    }
}


/* END: Footer accordion style headers for mobile view */

/*--------------------------------------------------------------
FOOT - Links
--------------------------------------------------------------*/
footer a,
footer a:hover {
    text-decoration: none;
} 

footer a:not(.btn):hover {
    text-decoration: underline;
} 


/*--------------------------------------------------------------
POST - Buttons
--------------------------------------------------------------*/
.row-categories-blog .btn{
    padding: 6px 15px;
}

/*--------------------------------------------------------------
COMP - Cards
--------------------------------------------------------------*/

.tall-cards .wp-block-zenbuilder5-card .card-img-top {
    padding-top: 120%;
    padding-top: 380px;
    padding-top: 260px;
}

.tall-cards .card {
    background-color: transparent;
}

@media screen and (min-width: 992px) {
    .tall-cards .wp-block-zenbuilder5-card .card-img-top {
        padding-top: 500px;
    }
}

.tall-cards .swiper-slide {
    height: auto;
}

.tall-cards .swiper-slide .card .btn {
    margin-top: auto;
}


.post-type-archive .card,
.archive .card,
.blog .card,
.card-footer,
.cpt_zb5_event-template-default .card,
.cpt_zb5_event-template-default .card .list-group-item{
    background-color: transparent;
}

/* Card animations */
/* Base state — include transition here */
.card-section-menus .card .zenbuilder5-btn .btn-icon-wrapper svg {
    transition: transform 0.35s ease-in-out;
    transform: translateX(0); /* optional, just explicit */
    margin-right: 10px;
}

/* Hover state — only the transform changes */
.card-section-menus .card:hover .zenbuilder5-btn .btn-icon-wrapper svg {
    transform: translateX(4px);
}
/* End card animations */

.card-section-menus .card .btn {
 border: none;
 margin-top: auto;
}

.card-footer {
    /* background-color: #d7e3d6; */
}
.card {
    border:0;
}


/* Base state */

/* Base state */
.card-section-menus .card {
    transition: transform 0.35s ease, box-shadow 0.35s ease!important;
    transform-origin: bottom right!important;
}

/* Hover state */
.card-section-menus .card:hover {
    transform:scale(1.02) !important;
    box-shadow: 0 10px 20px rgba(0,0,0,0.2)!important;
    z-index: 1;
}

.card-section-menus .card a {
    color: var(--bs-dark);
}




.card-styled-01 {
    /* max-width: 525px; */
    max-width: 615px;
    min-height: auto;
    background-color: #EFF6F2;
}

.card-styled-01:before,
.card-styled-02:before {
    content: '';
    width: calc(100% - 1.5rem);
    height: calc(100% - 1.5rem);
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 1;
    border: 1px solid #A3AFB0;
}

.card-styled-02{
    padding: 1.5rem;
    background-color: #EFF6F2;
}

.card-styled-02 .card-body {
    padding: 0;
}

.section-grid-cards .zenbuilder5-col>.card::before {
    content: '';
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
    background: #000000;
    background: linear-gradient(0deg, rgba(0, 0, 0, 0.6) 0%, rgba(0, 0, 0, 0.7) 7%, rgba(0, 0, 0, 0) 33%);
}


@media screen and (min-width: 992px) {
    .section-grid-cards h2 {
        margin-bottom: 0 !important;
    }
}

@media screen and (max-width: 991px) {
    .is-style-lead,
    footer h3 {
        line-height: 1.75rem;
    }
}

@media screen and (max-width: 575px) {
    .is-style-lead {
        font-size: var(--bs-body-font-size);
    }
}

.section-grid-cards .card-body {
    padding-top: 0;
    padding-bottom: 0;
}

@media screen and (max-width: 791px) {
    .section-grid-cards .card-body {
        padding: 0;
    }
}

 @media screen and (min-width: 992px) {
     .card-styled-01 {
         /* min-height: 525px; */
         min-height: 615px;
     }
 }

/* Mobile grid paddings to get content flush */
/* .section-content-left-right__img-right .zenbuilder5-col:nth-child(2),
.section-content-left-right__img-left .zenbuilder5-col:nth-child(1) {
    padding-left: 0;
    padding-right: 0;
}

.section-content-img-gallery-style-01 .wp-block-zenbuilder5-row {
    margin-left: -3rem;
    margin-right: -3rem;
} */


/* Large devices should have padding */
/* @media screen and (min-width: 992px) {
    .section-content-left-right__img-right .zenbuilder5-col:nth-child(2){
        padding-left: calc(var(--bs-gutter-x) / 2);
    }

    .section-content-left-right__img-left .zenbuilder5-col:nth-child(1){
        padding-right: calc(var(--bs-gutter-x) / 2);
    }
} */




/*--------------------------------------------------------------
COMP - Tabbed panels
--------------------------------------------------------------*/
.wp-block-zenbuilder5-tabbed-panel .nav-tabs  {
    justify-content: center;
}

.wp-block-zenbuilder5-tabbed-panel .nav-item {
    margin-right: 1rem;
}

.wp-block-zenbuilder5-tabbed-panel .nav-link {
    /* background-color: var(--bs-primary); */
    color: var(--bs-primary);
}

.wp-block-zenbuilder5-tabbed-panel .nav-link.active {
    background-color: var(--bs-primary);
    color: #fff;
}
.wp-block-zenbuilder5-tabbed-panel-child {
    padding-top: 2rem;
    padding-bottom: 2rem;
}

/*--------------------------------------------------------------
COMP - WP Gallery
--------------------------------------------------------------*/

/* Modern Masonry Editorial Gallery
-----------------------------------------*/
/* .wp-block-gallery {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    grid-auto-rows: 220px;
    grid-auto-flow: dense;
    gap: 1.2rem;
    margin: 2rem 0;
} */

/* Make images cover nicely */
/* .wp-block-gallery .wp-block-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
} */

/* Allow some items to span bigger spaces for that classy layout */
/* .wp-block-gallery .wp-block-image:nth-child(3n) {
    grid-column: span 2;
    grid-row: span 2;
}

.wp-block-gallery .wp-block-image:nth-child(7n) {
    grid-row: span 2;
}

.wp-block-gallery .wp-block-image:nth-child(11n) {
    grid-column: span 2;
} */

/* Mobile: simple stacked layout */
/* @media (max-width: 600px) {
    .wp-block-gallery {
        grid-template-columns: 1fr 1fr;
        grid-auto-rows: 160px;
    }
    .wp-block-gallery .wp-block-image {
        grid-column: span 1 !important;
        grid-row: span 1 !important;
    }
} */


.wp-block-gallery.has-nested-images figure.wp-block-image:not(#individual-image) {
    width: 100%;
}


@media (min-width: 600px) {
    .wp-block-gallery.has-nested-images.columns-4 figure.wp-block-image:not(#individual-image) {
        width: 100%;
    }
}




/* Modern Masonry Editorial Gallery - One empty grid item at start to offset layout
-----------------------------------------*/

/* Adjust for left/right image alignment in left-right sections so its flush to edges */
.section-content-left-right__img-left .wp-block-gallery{
    margin-right: -1.5rem;
    margin-left:-1.5rem;
}

.section-content-left-right__img-left .wp-block-zenbuilder5-col:nth-of-type(1) .card,
.section-content-left-right__img-right .wp-block-zenbuilder5-col:nth-of-type(2) .card {
    margin-left: -1.5rem;
    margin-right: -1.5rem;
}


@media screen and (min-width: 768px) {
    /* Adjust for left/right image alignment in left-right sections so its flush to edges */
    .section-content-left-right__img-left .wp-block-gallery{
        margin-right: -1.5rem;
    }

    .section-content-left-right__img-left .wp-block-zenbuilder5-col:nth-of-type(1) .card {
        margin-left: -1.5rem;
        margin-right: 0;
    }
  
    .section-content-left-right__img-right .wp-block-zenbuilder5-col:nth-of-type(2) .card {
        margin-right: -1.5rem;
        margin-left: 0;
    }
}




/* Half width gallery , with a clean bottom line */
/* Masonry gallery */
.gallery-half-width.wp-block-gallery {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr); /* Stable 3-column grid */
    grid-auto-rows: 220px;
    grid-auto-flow: dense;
    gap: 1.2rem;
    margin: 0;
}

/* Cover images nicely */
.gallery-half-width.wp-block-gallery .wp-block-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Feature blocks */
.gallery-half-width.wp-block-gallery .wp-block-image:nth-child(2) {
    grid-column: span 2;
    grid-row: span 1;
}

.gallery-half-width.wp-block-gallery .wp-block-image:nth-child(3n) {
    grid-column: span 2;
    grid-row: span 2;
}

.wp-block-gallery .wp-block-image:nth-child(7n),
.gallery-half-width .wp-block-gallery .wp-block-image:nth-child(11n) {
    grid-row: span 2;
}

/* Tablet */


/* Mobile */
@media (max-width: 600px) {
    .gallery-half-width .wp-block-gallery {
        grid-template-columns: 1fr 1fr;
        grid-auto-rows: 160px;
    }
    .gallery-half-width .wp-block-gallery .wp-block-image {
        grid-column: span 1 !important;
        grid-row: span 1 !important;
    }
}





/* 
.wp-block-gallery.gallery-full-width {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr);
    grid-auto-rows: 220px;
    grid-auto-flow: dense;
    gap: 1.2rem;
    margin: 0;
} */

/* .gallery-full-width.wp-block-gallery {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr);
    grid-auto-rows: 220px;
    grid-auto-flow: dense;
    gap: 1.2rem;
    margin: 0;
}


.gallery-full-width.wp-block-gallery .wp-block-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
} */


.gallery-full-width.wp-block-gallery .wp-block-image:nth-child(2) {
    grid-column: span 2;
    grid-row: span 1;
}

.gallery-full-width.wp-block-gallery .wp-block-image:nth-child(3n) {
    grid-column: span 2;
    grid-row: span 2;
}

/* .wp-block-gallery .wp-block-image:nth-child(7n),
.gallery-full-width.wp-block-gallery .wp-block-image:nth-child(11n) {
    grid-row: span 2;
}
 */



/* Full width gallery , with a clean bottom line */
.wp-block-gallery.gallery-full-width {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    grid-auto-rows: 220px;
    grid-auto-flow: dense;
    gap: 1.2rem;
    margin: 2rem 0;
    position: relative;
    margin-left: -1.5rem;
    margin-right: -1.5rem;
}

/* Keep the grid line clean when smaller screen */
@media (max-width: 1600px) {
    .wp-block-gallery.gallery-full-width {
        grid-template-columns: repeat(3, 1fr);
        grid-auto-rows: 200px;
    }
}


/* Make images cover nicely */
.wp-block-gallery.gallery-full-width .wp-block-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}


/* Larger feature images */
.wp-block-gallery.gallery-full-width .wp-block-image:nth-child(3n) {
    grid-column: span 2;
    grid-row: span 2;
}

.wp-block-gallery.gallery-full-width .wp-block-image:nth-child(7n) {
    grid-row: span 2;
}

.wp-block-gallery.gallery-full-width .wp-block-image:nth-child(11n) {
    grid-column: span 2;
}

/* -------------------------------------------
   FIX: Prevent messy final row
------------------------------------------- */

/* 1. Last two images must NOT be large */
.wp-block-gallery.gallery-full-width .wp-block-image:nth-last-child(-n+2) {
    grid-column: span 2 !important;
    grid-row: span 1 !important;
}

.wp-block-gallery.gallery-full-width .wp-block-image:nth-last-child(-n+1) {
    grid-column: span 1 !important;
    grid-row: span 1 !important;
}

/* 2. If the LAST item is alone → make it a clean full-width image */
/* .wp-block-gallery.gallery-full-width .wp-block-image:last-child:nth-child(odd) {
    grid-column: 1 / -1 !important;
    grid-row: span 1 !important;
} */

/* Mobile: simplify layout */
@media (max-width: 600px) {
    .wp-block-gallery.gallery-full-width {
        grid-template-columns: 1fr 1fr;
        grid-auto-rows: 160px;
    }

    /* Remove desktop-only layout overrides */
    .wp-block-gallery.gallery-full-width .wp-block-image {
        grid-column: span 1 !important;
        grid-row: span 1 !important;
    }
}

/* Swiper */
.gallery-js-swiper{
    margin-left: 0;
    margin-right: 0;
    position: relative;
}

.gallery-js-swiper .swiper-button-next{
    margin-right: 1.5rem;
}

.gallery-js-swiper .swiper-button-prev{
    margin-left: 1.5rem;
}

.gallery-js-swiper .swiper-button-next,
.gallery-js-swiper  .swiper-button-prev {
    margin-top: calc(0px - (var(--swiper-navigation-size) / 2)) !important;
}

body .swiper-button-next,
 body .swiper-button-prev {
    z-index: 2;
}

.gallery-js-swiper.gallery-half-width .swiper-button-next{
    margin-right: 0;
}

.gallery-js-swiper.gallery-half-width .swiper-button-prev{
    margin-left: 0;
}


/*--------------------------------------------------------------
COMP - WP Cover
--------------------------------------------------------------*/

@media screen and (max-width: 991px) {
   .entry-content > .wp-block-cover,
   .entry-content > .cover-banner {
        min-height: calc(100vh - 70px)!important;
    }

}

@media screen and (max-width: 575px) {
    .entry-content > .cover-banner {
        height: calc(100vh - 70px)!important;
    }
}

/*--------------------------------------------------------------
COMP - WP File
--------------------------------------------------------------*/
.pdf-wrapper object {
    width: 100%;
    height: 400px; /* adjust as needed */
}



/*--------------------------------------------------------------
BOOT - Breakpoints Examples
--------------------------------------------------------------*/

/* Small devices (landscape phones, 576px and up) */
@media (min-width: 576px) { 

}

/* Medium devices (tablets, 768px and up) */
@media (min-width: 768px) { 

}

/* Large devices (desktops, 992px and up) */
@media (min-width: 992px) {

}

/* X-Large devices (large desktops, 1200px and up) */
@media (min-width: 1200px) {   

}

/* XX-Large devices (larger desktops, 1400px and up) */
@media (min-width: 1400px) {  

}