/******************************************************************
Theme Name: Balefire
Theme URI: https://www.balefireagency.com;
Description: Custom Theme by Balefire Marketing + Advertising
Author: Balefire Marketing + Advertising
Author URI: https://www.balefireagency.com
Version: 1.1
License: GNU General Public License & MIT
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Namespace: bf
******************************************************************/
/*!
 * Mmenu Light
 * mmenujs.com/mmenu-light
 *
 * Copyright (c) Fred Heusschen
 * www.frebsite.nl
 *
 * License: CC-BY-4.0
 * http://creativecommons.org/licenses/by/4.0/
 */:root{--mm-ocd-width:80%;--mm-ocd-min-width:200px;--mm-ocd-max-width:440px}body.mm-ocd-opened{overflow-y:hidden;-ms-scroll-chaining:none;overscroll-behavior:none}.mm-ocd{position:fixed;top:0;right:0;bottom:100%;left:0;z-index:9999;overflow:hidden;-ms-scroll-chaining:none;overscroll-behavior:contain;background:rgba(0,0,0,0);-webkit-transition-property:bottom,background-color;-o-transition-property:bottom,background-color;transition-property:bottom,background-color;-webkit-transition-duration:0s,.3s;-o-transition-duration:0s,.3s;transition-duration:0s,.3s;-webkit-transition-timing-function:ease;-o-transition-timing-function:ease;transition-timing-function:ease;-webkit-transition-delay:.45s,.15s;-o-transition-delay:.45s,.15s;transition-delay:.45s,.15s}.mm-ocd--open{bottom:0;background:rgba(0,0,0,.25);-webkit-transition-delay:0s;-o-transition-delay:0s;transition-delay:0s}.mm-ocd__content{position:absolute;top:0;bottom:0;z-index:2;width:var(--mm-ocd-width);min-width:var(--mm-ocd-min-width);max-width:var(--mm-ocd-max-width);background:var(--white);-webkit-transition-property:-webkit-transform;transition-property:-webkit-transform;-o-transition-property:transform;transition-property:transform;transition-property:transform,-webkit-transform;-webkit-transition-duration:.3s;-o-transition-duration:.3s;transition-duration:.3s;-webkit-transition-timing-function:ease;-o-transition-timing-function:ease;transition-timing-function:ease}.mm-ocd--left .mm-ocd__content{left:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}.mm-ocd--right .mm-ocd__content{right:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}.mm-ocd--open .mm-ocd__content{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.mm-ocd__backdrop{position:absolute;top:0;bottom:0;z-index:3;width:clamp(calc(100% - var(--mm-ocd-max-width)),calc(100% - var(--mm-ocd-width)),calc(100% - var(--mm-ocd-min-width)));background:rgba(3,2,1,0)}.mm-ocd--left .mm-ocd__backdrop{right:0}.mm-ocd--right .mm-ocd__backdrop{left:0}.mm-spn,.mm-spn a,.mm-spn li,.mm-spn span,.mm-spn ul{display:block;padding:0;margin:0;-webkit-box-sizing:border-box;box-sizing:border-box}:root{--mm-spn-item-height:50px;--mm-spn-item-indent:20px;--mm-spn-line-height:24px;--mm-spn-panel-offset:30%}.mm-spn{width:100%;height:100%;-webkit-tap-highlight-color:transparent;-webkit-overflow-scrolling:touch;overflow:hidden;-webkit-clip-path:inset(0 0 0 0);clip-path:inset(0 0 0 0);-webkit-transform:translateX(0);-ms-transform:translateX(0);transform:translateX(0)}.mm-spn ul{-webkit-overflow-scrolling:touch;position:fixed;top:0;left:100%;bottom:0;z-index:2;width:calc(100% + var(--mm-spn-panel-offset));padding-right:var(--mm-spn-panel-offset);line-height:var(--mm-spn-line-height);overflow:visible;overflow-y:auto;background:inherit;-webkit-transition:left .3s ease 0s;-o-transition:left .3s ease 0s;transition:left .3s ease 0s;cursor:default}.mm-spn ul:after{content:"";display:block;height:var(--mm-spn-item-height)}.mm-spn>ul{left:0}.mm-spn ul.mm-spn--open{left:0}.mm-spn ul.mm-spn--parent{left:calc(-1 * var(--mm-spn-panel-offset));overflow:visible}.mm-spn li{position:relative;background:inherit;cursor:pointer}.mm-spn li:before{content:"";display:block;position:absolute;top:calc(var(--mm-spn-item-height)/ 2);right:calc(var(--mm-spn-item-height)/ 2);z-index:0;width:10px;height:10px;border-top:2px solid;border-right:2px solid;-webkit-transform:rotate(45deg) translate(0,-50%);-ms-transform:rotate(45deg) translate(0,-50%);transform:rotate(45deg) translate(0,-50%);opacity:.4}.mm-spn li:after{content:"";display:block;margin-left:var(--mm-spn-item-indent);border-top:1px solid;opacity:.15}.mm-spn a,.mm-spn span{position:relative;z-index:1;padding:calc((var(--mm-spn-item-height) - var(--mm-spn-line-height))/ 2) var(--mm-spn-item-indent)}.mm-spn a{background:inherit;color:inherit;text-decoration:none}.mm-spn a:not(:last-child){width:calc(100% - var(--mm-spn-item-height))}.mm-spn a:not(:last-child):after{content:"";display:block;position:absolute;top:0;right:0;bottom:0;border-right:1px solid;opacity:.15}.mm-spn span{background:0 0}.mm-spn.mm-spn--navbar{cursor:pointer}.mm-spn.mm-spn--navbar:before{content:"";display:block;position:absolute;top:calc(var(--mm-spn-item-height)/ 2);left:var(--mm-spn-item-indent);width:10px;height:10px;margin-top:2px;border-top:2px solid;border-left:2px solid;-webkit-transform:rotate(-45deg) translate(50%,-50%);-ms-transform:rotate(-45deg) translate(50%,-50%);transform:rotate(-45deg) translate(50%,-50%);opacity:.4}.mm-spn.mm-spn--navbar.mm-spn--main{cursor:default}.mm-spn.mm-spn--navbar.mm-spn--main:before{content:none;display:none}.mm-spn.mm-spn--navbar:after{content:attr(data-mm-spn-title);display:block;position:absolute;top:0;left:0;right:0;height:var(--mm-spn-item-height);padding:0 calc(var(--mm-spn-item-indent) * 2);line-height:var(--mm-spn-item-height);opacity:.4;text-align:center;overflow:hidden;white-space:nowrap;-o-text-overflow:ellipsis;text-overflow:ellipsis}.mm-spn.mm-spn--navbar.mm-spn--main:after{padding-left:var(--mm-spn-item-indent)}.mm-spn.mm-spn--navbar ul{top:calc(var(--mm-spn-item-height) + 1px)}.mm-spn.mm-spn--navbar ul:before{content:"";display:block;position:fixed;top:inherit;z-index:2;width:100%;border-top:1px solid currentColor;opacity:.15}.mm-spn.mm-spn--light{color:#444;background:#f3f3f3}.mm-spn.mm-spn--dark{color:#ddd;background:#333}.mm-spn.mm-spn--vertical{overflow-y:auto}.mm-spn.mm-spn--vertical ul{width:100%;padding-right:0;position:static}.mm-spn.mm-spn--vertical ul ul{display:none;padding-left:var(--mm-spn-item-indent)}.mm-spn.mm-spn--vertical ul ul:after{height:calc(var(--mm-spn-item-height)/ 2)}.mm-spn.mm-spn--vertical ul.mm-spn--open{display:block}.mm-spn.mm-spn--vertical li.mm-spn--open:before{-webkit-transform:rotate(135deg) translate(-50%,0);-ms-transform:rotate(135deg) translate(-50%,0);transform:rotate(135deg) translate(-50%,0)}.mm-spn.mm-spn--vertical ul ul li:last-child:after{content:none;display:none}

:root {
    --body-bg: #F5F5F5;
    --bs-primary: #039C20;
    --bs-primary-dark: #136222;
    --bs-primary-rgb: rgb(3, 156, 32);
    --bs-dark: #5F6062;
    --bs-light-rgb: rgb(95, 96, 98);
    --bs-light: #ffffff;
    --bs-light-rgb: rgb(255, 255, 255);
    --bs-light-text: #78A22F;
    --bs-primary-text-emphasis: #78A22F;
    --bs-light-bg: #ffffff;
    --bs-light-text: var(--bs-primary);
    --bs-primary-bg-subtle: #78A22F;
    --bs-font-sans-serif: "Roboto", sans-serif;
    --bs-font-serif: "Roboto Slab", serif;
    --bs-heading-color: #344767;
    --bs-btn-bg: var(--bs-primary-dark);
    --bs-btn-bg-hover: var(--bs-primary);
    --bs-btn-color: var(--white);
    --bs-btn-color-hover: var(--white);
    --bs-btn-border-color: var(--bs-primary-dark);
    --bs-btn-border-color-hover: var(--bs-primary);
    --bs-btn-border-radius: 3rem;
    --brand-primary-light: #AFEF7E;
    --brand-blue: var(--bs-heading-color);
    --brand-aqua: #0087A0;
    --brand-purple: #A52868;
    --brand-orange: #F37021;
    --brand-maroon: #8F002B;
    --brand-red: #E31B23;
    --brand-dark: #5F6062;
    --white: #ffffff;
    --black: #000000;

    --space-3xs: clamp(0.3125rem, 0.3125rem + 0vw, 0.3125rem);
    --space-2xs: clamp(0.5625rem, 0.5417rem + 0.1042vw, 0.625rem);
    --space-xs: clamp(0.875rem, 0.8542rem + 0.1042vw, 0.9375rem);
    --space-s: clamp(1.125rem, 1.0833rem + 0.2083vw, 1.25rem);
    --space-m: clamp(1.6875rem, 1.625rem + 0.3125vw, 1.875rem);
    --space-l: clamp(2.25rem, 2.1667rem + 0.4167vw, 2.5rem);
    --space-xl: clamp(3.375rem, 3.25rem + 0.625vw, 3.75rem);
    --space-2xl: clamp(4.5rem, 4.3333rem + 0.8333vw, 5rem);
    --space-3xl: clamp(6.75rem, 6.5rem + 1.25vw, 7.5rem);
  
    /* One-up pairs */
    --space-3xs-2xs: clamp(0.3125rem, 0.2083rem + 0.5208vw, 0.625rem);
    --space-2xs-xs: clamp(0.5625rem, 0.4375rem + 0.625vw, 0.9375rem);
    --space-xs-s: clamp(0.875rem, 0.75rem + 0.625vw, 1.25rem);
    --space-s-m: clamp(1.125rem, 0.875rem + 1.25vw, 1.875rem);
    --space-m-l: clamp(1.6875rem, 1.4167rem + 1.3542vw, 2.5rem);
    --space-l-xl: clamp(2.25rem, 1.75rem + 2.5vw, 3.75rem);
    --space-xl-2xl: clamp(3.375rem, 2.8333rem + 2.7083vw, 5rem);
    --space-2xl-3xl: clamp(4.5rem, 3.5rem + 5vw, 7.5rem);
  
    /* Custom pairs */
    --space-s-l: clamp(1.125rem, 0.6667rem + 2.2917vw, 2.5rem);
    --space-m-xl: clamp(1.6875rem, 1rem + 3.4375vw, 3.75rem);
    --space-l-2xl: clamp(2rem, 0.5rem + 8.75vw, 5.5rem);    
    --space-l-3xl: clamp(2.25rem, 0.5rem + 8.75vw, 7.5rem);    
}

#bazinga {position:absolute;top:0;left:-99999px;}

body {
    position: relative;
    background-color: var(--body-bg);
    font-family: var(--bs-font-sans-serif);
}

/*body:not(.home) main {
    margin-top: var(--space-l-3xl);
}*/

.h1, .h2, .h3, .h4, .h5, .h6,
h1, h2, h3, h4, h5, h6 {
    color: var(--bs-heading-color);
    font-family: var(--bs-font-serif);
    line-height: 1;
}

p, .p {
    font-size: 1.125rem;
}

.btn-primary {
    --bs-btn-color: #ffffff;
    --bs-btn-bg: var(--bs-primary);
    --bs-btn-border-color: var(--bs-primary);   
    --bs-btn-hover-color: #0a0a0a;
    --bs-btn-hover-bg: var(--bs-primary-dark);
    --bs-btn-hover-border-color: var(--bs-primary-dark);
    --bs-btn-focus-shadow-rgb: 200, 27, 86;
    --bs-btn-active-color: #ffffff;
    --bs-btn-active-bg: var(--bs-primary-dark);
    --bs-btn-active-border-color: var(--bs-primary-dark);
    --bs-btn-active-shadow: none;
    --bs-btn-disabled-color: #ffffff;
    --bs-btn-disabled-bg: var(--bs-dark);
    --bs-btn-disabled-border-color: var(--bs-dark);
}

.btn,
a.btn,
.btn .btn-primary,
button,
input[type="submit" ],
.gform_button button,
.gform_button input[type="submit"] {
    color: var(--white);
    font-weight: 600;
    border-radius: 8px !important;
    background-color: var(--bs-primary) !important;
    color: var(--white);
    box-shadow: none;
    transition: all 0.3s ease-in-out;
}

.btn-primary:hover,
.btn.bg-gradient-primary:hover
button:hover,
button:focus,
input[type="submit"]:hover,
input[type="submit"]:focus {
    box-shadow: none;
    background-color: var(--bs-primary-dark) !important;
}

.bg-aqua {
    background-color: var(--brand-aqua);
}

.bg-blue {
    background-color: var(--brand-blue);
}

.bg-purple {
    background-color: var(--brand-purple);
}

.bg-orange {
    background-color: var(--brand-orange);
}

.bg-maroon {
    background-color: var(--brand-maroon);
}

.bg-red {
    background-color: var(--brand-red);
}

.bg-brand-dark {
    background-color: var(--brand-dark);
}

a.text-aqua {
    color: var(--brand-aqua);
}

#content {
    padding-block: var(--space-l-xl);
}

a.text-aqua:hover,
a.text-aqua:focus {
    opacity: 0.75;
}

img.img-cover {
    object-fit: cover;
    object-position: center;
    width: 100%;
    height: 100%;
}

hr.primary {
    display: block;
    width: 100%;
    height: 1px;
    border-color: var(--bs-primary);
}

.card .card-body {
    font-family: var(--bs-font-sans-serif);
    padding: 1rem;
}

.rounded-btn-group .btn {
    border-radius: 2rem;
}

.btn {
    text-transform: uppercase;
}

.btn.bg-primary {
    background: var(--bs-primary);
    color: var(--white);
    transition: all 0.3s ease-in-out;
}

.btn.bg-primary:hover {
    background: var(--bs-primary-dark) !important;
}

.btn-light, .btn-light:hover,
.btn.bg-gradient-light,
.btn.bg-gradient-light:hover {
    color: var(--bs-light-text);
}

a.xoo-qv-button {
    margin: auto 0;
}

header#masthead {
    width: 100%;
    height: auto;
    z-index: 100;
    background: rgba(255, 255, 255, 1);
    border-bottom: 1px solid #DEE2E8;
}

.header-logo {
    position: relative;
    z-index: 2;
    margin-block: var(--space-2xs);
}

.header-logo a svg {
    height: auto;
    width: 205px;
}

.header-nav {
    position: relative;
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    height: 100%;
    padding: 0 2rem;
    overflow: visible;
}

.top-nav {
    background: var(--bs-primary-dark);
    clip-path: polygon(10% 0, 0 0, 100% 0, 100% 100%, 15% 100%);
    padding: 0.25rem 1rem 0.25rem 2rem;
    margin-top: 0;
    margin-bottom: auto;
    margin-right: -2rem;
    padding-right: 2rem;
    position: relative;
    z-index: 1;
}

.top-nav nav#nav-top {
    position: relative;
    z-index: 2;
}

.top-nav #nav-top #menu-account-menu li:first-child {
    position: relative;
    z-index: 2;
}

.main-nav {
    margin-left: auto;
}

.navbar-toggler {
    border: none;
    background: none;
    padding: 0.5rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 2px;
    margin-left: 1rem;
    cursor: pointer;
}

.navbar-toggler:focus {
    outline: none;
    box-shadow: none;
}

.navbar-toggler-bar {
    width: 20px;
    height: 2px;
    background: var(--white);
    transition: all 0.3s ease;
    display: block;
}

.navbar-toggler-icon {
    background: none;
    width: auto;
    height: auto;
}

span.navbar-toggler-icon .navbar-toggler-bar{
    display: block;
    position: relative;
    width: 22px;
    height: 2px;
    border-radius: 2px;
    background: var(--black) !important;
    transition: all 0.2s ease-in-out;
    margin: 0 auto;
}

#prehead span.small-sans-heading {
    display: block;
    width: 100%;
    letter-spacing: normal;
    font-family: var(--bs-font-sans-serif);
    font-size: 1.125rem;
    font-weight: 900;
    color: var(--bs-primary);
    margin-right: 0.5rem;
}

#page-header .page-header-card {
    background: rgba(255,255,255,0.25);
    backdrop-filter: blur(20px);
    border-radius: 1rem;
    box-shadow: 0 3px 8px 0 rgba(0,0,0,0.2);
}

.header-card {
    background: rgba(255,255,255,0.95);
    backdrop-filter: blur(80px);
    border-radius: 1rem;
    box-shadow: 0 3px 8px 0 rgba(0,0,0,0.2);
}

.header-card {
    color: var(--black);
}

@media (width < 768px) {

    .container {
        padding-inline: 2rem;
    }

    .home header.page-header {
        padding-block-start: 2rem;
    }
    #page-header .page-header-card {
        background: rgba(255,255,255,0.85);
        backdrop-filter: blur(20px);
        border-radius: 1rem;
        box-shadow: 0 3px 8px 0 rgba(0,0,0,0.2);
    }
    
}

/* Utility Styles */

.py-2xl {
    padding-block: var(--space-l-2xl);
}

.pt-2xl {
    padding-block-start: var(--space-l-2xl);
}

.pt-3xl {
    padding-block-start: var(--space-l-3xl);
}

.pb-2xl {
    padding-block-end: var(--space-l-2xl);
}

.pb-3xl {
    padding-block-end: var(--space-l-3xl);
}


.bg-primary {
    background: var(--bs-primary) !important;
}

.bg-gradient-primary {
    background-image: linear-gradient(195deg, var(--bs-primary), var(--bs-primary-dark)) !important;
}

.bg-gradient-brand-primary {
    background-image: linear-gradient(195deg, var(--brand-primary-light), var(--bs-primary)) !important;
}

.bg-gradient-dark {
    background-image: linear-gradient(195deg,rgba(0,0,0,0.3),rgba(0,0,0,0.98)) !important
}

.card.card-background.card-background-mask-dark:before {
    background: rgba(0,0,0,0.2) !important;
}

.card.card-background.card-background-mask-dark:after {
    background-image: linear-gradient(195deg,rgba(0,0,0,0.3),rgba(0,0,0,0.98)) !important;
    opacity: 1 !important;
}

.text-gradient.text-primary {
    background-image: linear-gradient(195deg,rgba(0,0,0,0.3),rgba(0,0,0,0.98)) !important;
}

.text-gradient {
    background: linear-gradient(to right, var(--bs-primary), var(--bs-primary-dark));
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.text-primary {
    color: var(--bs-primary) !important;
}

.min-h-500 {
    min-height: 500px
}

.input-group.input-group-dynamic .form-control,.input-group.input-group-dynamic .form-control:focus,.input-group.input-group-static .form-control,.input-group.input-group-static .form-control:focus {
    background-image: linear-gradient(0deg,var(--bs-primary) 2px,rgba(156,39,176,0) 0),linear-gradient(0deg,#d2d2d2 1px,hsla(0,0%,82%,0) 0);
}

.input-group.input-group-dynamic .form-control:focus,.input-group.input-group-static .form-control:focus {
    background-size: 100% 100%,100% 100%
}

.input-group.input-group-dynamic .form-control[disabled],.input-group.input-group-static .form-control[disabled] {
    cursor: not-allowed;
    background-image: linear-gradient(0deg,var(--bs-primary) 2px,rgba(156,39,176,0) 0),linear-gradient(0deg,#e5e5e5 1px,hsla(0,0%,82%,0) 0);
}

.input-group.input-group-dynamic.is-focused label,.input-group.input-group-static.is-focused label {
    color: var(--bs-primary);
}

@media (width >= 1024px) {
    .min-h-500-lg {
        min-height: 500px;
    }
}

#reviews-section .card-body {
    min-height: 235px;
}

.service-area #icon-grid h2 {
    max-width: 575px;
    margin-inline: auto;
}

#icon-grid .icon-svg {
    display: flex;
    align-items: center;
    justify-content: center;
}

#icon-grid img.icon-svg {
    width: 100%;
    height: auto;
    max-height: 1.7rem;
}

/* FAQs */
.accordion h2 span svg {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: auto;
    height: 1rem;
    max-width: 1rem;
    height: auto;
    margin: auto auto !important;
}

/* Icon Grid */
a.icon-link {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: flex-start;
    gap: 0.5rem;
    width: 100%;
    height: auto;
    transition: all 0.2s ease-in-out;
}

.icon-link svg {
    fill: var(--bs-primary);
    width: auto;
    height: auto;
    max-height: 0.8rem;
    transition: all 0.2s ease-in-out;
}

a.icon-link:hover svg {
    margin-inline-start: 0.25rem;
}

#description-text p {
    line-height: 1.3;
}

#description-text p:first-child {
    padding-block: 0;
    margin-block: auto;
}

.choose-body-text p {
    padding-block-end: 1rem;
}

/* Contact CTA */
#contact-cta {
    position: relative;
}

#contact-cta .footer-overlay {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 36vh;
    background-color: var(--white);
    z-index: 2;
}

#contact-cta .card {
    box-shadow: 0 3px 8px 0 rgba(0,0,0,0.2);
    border: none;
    z-index: 3;
}

#contact-cta input[type="submit" ] {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    margin-inline-start: auto;
} 

.image-container {
    position: relative;
    display: inline-block;
    overflow: hidden;
    border-radius: 0.5rem;
}

.image-container img {
    object-fit: cover;
    width: 100%;
    height: 100%;
    display: block;
}

.image-container::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.84);
    mix-blend-mode: multiply;
    z-index: 2;
    border-radius: inherit;
    pointer-events: none;
}

/* Components */
main {
    margin-block-start: auto;
}

/* Gravity Forms */
body input:focus {
    border-color: var(--brand-primary) !important;
}

/* Footer Styles */
footer#footer-main {
    background-color: var(--bs-primary-dark);
}

#footer-left {
    justify-content: center;
    margin-block: auto;
    margin-inline-start: 0;
}

/* Footer Navigation Styles */
footer#footer-main ul#footer-nav.nav {
    display: flex !important;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    margin: auto;
    gap: 1rem;
    list-style: none;
}

footer#footer-main ul#footer-nav.nav li > a {
    color: #ffffff !important;
    text-decoration: none;
    font-size: 1rem;
    transition: opacity 0.2s ease;
    display: inline-block;
}

footer#footer-main ul#footer-nav.nav li:not(:last-child) > a:hover {
    text-decoration: underline;
}

footer#footer-main ul#footer-nav.nav li:last-child > a {
    background-color: #ffffff !important;
    color: var(--bs-primary-dark) !important;
    padding: 0.5rem 1rem;
    border-radius: 0.375rem;
    font-weight: 600;
    text-transform: uppercase;
    transition: all 0.2s ease;
}

footer#footer-main ul#footer-nav.nav li:last-child > a:hover {
    opacity: 0.9;
    transform: translateY(-1px);
}

/* Mobile Footer Layout - screens smaller than 768px */
@media (width < 768px) {
    .max-height-500 {
        width: 100%;
        height: auto;
        max-height: 500px;
        object-fit: cover;
        object-position: center;
    }

    #footer-right {
        order: 1;
        justify-content: center;
        margin: 0 auto 1rem;
    }
    
    #footer-left {
        order: 2;
        justify-content: center;
        margin-block-start: var(--space-md);
        margin-inline: auto;
    }

    footer#footer-main ul#footer-nav.nav li {
        margin: auto auto;
        padding: 0 0.5rem;
    }

}

@media (width >= 768px) {
    footer#footer-main ul#footer-nav.nav {
        margin-left: auto;
        justify-content: flex-end;
    }
    footer#footer-main ul#footer-nav.nav li > a {
        color: #ffffff !important;
        text-decoration: none;
        font-size: 1rem;
        transition: opacity 0.2s ease;
        display: inline-block;
        margin-block: auto;
        margin-inline-start: var(--space-xs);
    }
    
}

.edit-footer {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    padding: 2rem;
    background: var(--white);
}

.edit-footer a {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    color: var(--white);
    text-decoration: none;
    font-size: 1.125rem;
    font-weight: 900;
    text-transform: uppercase;
    text-align: center;
    padding: 0.5rem 1.5rem;
    background: var(--bs-primary);
    margin-inline: auto;
    border-radius: 0.125rem;
    gap: 1rem;
    max-width: fit-content;
    transition: all 0.2s ease;
}

.edit-footer a:hover,
.edit-footer a:focus {
    background: var(--bs-primary-dark);
}

@media (width <= 1023px) {
    .top-nav {
        display: none;
    }
    
    .account-nav {
        flex-direction: row;
        align-items: center;
    }
    
    /* Only hide nav when it's in the header, not in mmenu */
    .header-nav #nav-main {
        display: none;
    }
    
    .navbar-toggler {
        display: flex;
        margin-left: 0;
    }
    
}

@media (width >= 1024px) {
    header#masthead {
        width: 100%;
        height: auto;
        background: rgba(255, 255, 255, 1);
    }
    
    .navbar-toggler {
        display: none;
    }

    header #primary-navbar nav li a {
        color: var(--black);
    }
    
    /* Hide top-nav items in desktop header nav */
    header #nav-main .menu-item-top-nav,
    header #nav-main ul.nav > li.menu-item-top-nav,
    #nav-main .nav > li.menu-item-top-nav,
    #nav-main .nav > li[data-top-nav="true"] {
        display: none !important;
    }
    
    #primary-navbar {
        width: 100%;
        height: 100%;
    }
    
    nav#nav-top {
        background: transparent;
        border-radius: 0;
        display: flex;
        align-items: center;
    }
    
    #nav-top #menu-account-menu {
        display: flex;
        flex-direction: row;
        align-items: center;
        justify-content: flex-end;
        margin: 0;
        padding: 0;
    }
    
    #nav-top #menu-account-menu li {
        margin: 0 0.25rem;
        list-style: none;
    }
    
    #nav-top #menu-account-menu li a {
        color: var(--white);
        text-decoration: none;
        font-size: 0.875rem;
        padding: 0.25rem 0.5rem;
        transition: opacity 0.2s ease;
    }
    
    #nav-top #menu-account-menu li a:hover {
        opacity: 0.7;
    }
    
    ul.nav > li > a,
    ul.nav > li > a:hover {
        cursor: pointer;
        color: var(--black);
    }
    
    .account-nav-icon {
        display: flex;
        align-items: center;
        gap: 0.75rem;
        margin-left: 1rem;
    }
    
    .account-nav-icon a {
        padding: 0.25rem;
        display: flex;
        align-items: center;
        justify-content: center;
        transition: opacity 0.2s ease;
    }
    
    #nav-main {
        display: flex;
        align-items: center;
    }
    
    #nav-main .nav {
        margin: 0;
        padding: 0;
        list-style: none;
    }
    
    #nav-main .nav > li {
        padding: 0;
        margin: auto 0.5rem;
    }
    
    #nav-main .nav > li.menu-item-top-nav,
    #nav-main .nav > li[data-top-nav="true"] {
        display: none !important;
    }
    
    #nav-main .nav > li > a {
        color: var(--black);
        text-decoration: none;
        padding: 0.5rem 1rem;
        display: block;
        transition: opacity 0.2s ease;
        font-size: 14px;
        font-weight: 900;
        text-transform: uppercase;
    }

    /* Desktop navigation styles */
    #nav-main {
        display: flex;
        align-items: center;
    }

    nav#nav-main {
        padding: 0.5rem 1rem;
        margin-block: auto;
    }
    
    #nav-main .nav {
        display: flex;
        flex-direction: row;
        align-items: center;
    }
    
    #nav-main .nav > li {
        padding: 0;
        margin: auto 0.5rem;
    }
    
    #nav-main .nav > li > a {
        color: var(--black);
        text-decoration: none;
        padding: 0.5rem 1rem;
        display: block;
        transition: opacity 0.2s ease;
        font-size: 14px;
        font-weight: 900;
        text-transform: uppercase;
    }
    
    #nav-main .nav > li > a:hover {
        opacity: 0.7;
    }

    /* Parent menu item needs relative positioning for dropdown */
    nav#nav-main li.menu-item-has-children {
        position: relative;
    }
    
    /* Hide submenu by default */
    nav#nav-main li.menu-item-has-children ul.sub-menu {
        display: none;
        position: absolute;
        top: 100%;
        left: 0;
        z-index: 1000;
        background: var(--bs-primary);
        border-radius: 4px;
        margin: 0;
        padding: 0.5rem 0;
        list-style: none;
        width: auto;
        min-width: 225px;
        box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
    }
        
    /* Show submenu on hover */
    nav#nav-main li.menu-item-has-children:hover ul.sub-menu {
        display: block;
    }
    
    /* Style submenu items */
    nav#nav-main li.menu-item-has-children ul.sub-menu li {
        margin: 0;
        padding: 0;
    }
    
    nav#nav-main li.menu-item-has-children ul.sub-menu li a {
        display: block;
        padding: 0.5rem 1rem;
        color: var(--white);
        text-decoration: none;
        font-size: 14px;
        font-weight: 400;
        text-transform: none;
        transition: background-color 0.2s ease;
    }
    
    nav#nav-main li.menu-item-has-children ul.sub-menu li a:hover {
        background: rgba(255, 255, 255, 0.1);
        opacity: 1;
    }
}

/* Styles for 1024px to 1280px range */
@media (width >= 1024px) and (width < 1280px) {
    .account-nav {
        margin-left: 2rem;
        display: flex;
        flex-direction: column;
        align-items: flex-end;
        justify-content: flex-start;
    }
    
    .top-nav {
        align-self: flex-end;
        margin-top: 0;
        margin-bottom: 0;
        margin-right: -2rem;
        padding-left: 3.5rem;
        padding-right: 2rem;
        clip-path: polygon(5% 0, 0 0, 100% 0, 100% 100%, 10% 100%);
    }
    
    .main-nav {
        margin-left: auto;
        display: flex;
        justify-content: flex-end;
        align-items: flex-end;
        margin-top: 0.5rem;
    }
    
    nav#nav-main {
        margin-block-start: 0;
        margin-block-end: 0;
        margin-inline-start: auto;
        align-items: flex-end;
        padding: 0.375rem 0.75rem;
    }
    
    #nav-main {
        align-items: flex-end;
    }
    
    #nav-main .nav {
        align-items: flex-end;
    }
    
    #nav-main .nav > li {
        margin: auto 0.375rem;
    }
    
    #nav-main .nav > li > a {
        font-size: 12px;
        padding: 0.5rem 0.75rem;
    }
    
    #nav-top #menu-account-menu li:first-child {
        margin-left: 0.5rem;
    }
}

@media (width >= 1280px) {
    .header-nav {
        padding: 0 4rem;
    }
    
    .top-nav {
        margin-right: -4rem;
        padding-right: 4rem;
        padding-left: 10vw;
    }
    
    .account-nav {
        margin-left: 0;
    }
    
    nav#nav-main {
        margin-block: auto;
        align-items: center;
    }
    
    #nav-main {
        align-items: center;
    }
    
    #nav-main .nav {
        align-items: center;
    }
}

/* Clean mmenu styling using documented approach */
.mm {
    background: #333 !important;
    color: #fff !important;
    --mm-spn-item-height: 50px;
    --mm-spn-item-indent: 20px;
    --mm-spn-line-height: 24px;
    --mm-ocd-max-width: 440px;
    --mm-ocd-width: 80%;
}

.mm a {
    color: #fff !important;
    text-decoration: none !important;
    display: block !important;
}

.mm a:hover {
    opacity: 0.7 !important;
    background: rgba(255, 255, 255, 0.1) !important;
}

/* Make sure the mobile menu appears above everything */
.mm-ocd {
    z-index: 10000 !important;
}

/* Equalize card heights using CSS Grid - only on screens larger than 768px */
@media (min-width: 769px) {
    .icon-grid-section .row {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 3rem;
    }
    
    .icon-grid-section .col-lg-4 {
        display: contents;
    }
    
    .icon-grid-section .card {
        display: flex;
        flex-direction: column;
        height: 100%;
    }
    
    .icon-grid-section .card-body {
        flex: 1;
        display: flex;
        flex-direction: column;
        justify-content: space-between;
    }
    
    .icon-grid-section .card-body p {
        flex: 1;
    }
}

/* Rotating/Flip Cards */
.rotating-card-container {
    perspective: 1000px;
    width: 100%;
}

.card-rotate {
    position: relative;
    width: 100%;
    transition: transform 0.6s;
    transform-style: preserve-3d;
}

.rotating-card-container:hover .card-rotate {
    transform: rotateY(180deg);
}

.card-rotate .front,
.card-rotate .back {
    position: relative;
    width: 100%;
    backface-visibility: hidden;
    border-radius: 0.75rem;
    overflow: hidden;
}

.card-rotate .front {
    transform: rotateY(0deg);
}

.card-rotate .back {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    transform: rotateY(180deg);
}

.card-rotate .front-background,
.card-rotate .back-background {
    position: relative;
    background-size: cover;
    background-position: center;
}

.card-rotate .front-background::before,
.card-rotate .back-background::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(195deg, rgba(66, 66, 74, 0.6), rgba(25, 25, 25, 0.6));
    z-index: 0;
}

.card-rotate .card-body {
    position: relative;
    z-index: 1;
}

.min-height-500 {
    min-height: 500px;
}

@media (width <= 768px) {
    .min-height-500 {
        min-height: 400px;
    }
    
    /* Adjust rotating card text sizes for small screens */
    .rotating-card-container .card-body h3 {
        font-size: 1.25rem;
        line-height: 1.2;
    }
    
    .rotating-card-container .card-body p {
        font-size: 0.875rem;
        line-height: 1.3;
    }
    
    .rotating-card-container .card-body .btn {
        font-size: 0.75rem;
        padding: 0.375rem 0.875rem;
    }
}

