/*
Theme Name: Enfold Child
Description: Heavily modified version of Enfold's Child theme.
Version: 1.0.1
Author: Kriesi
Author URI: http://www.kriesi.at
Template: enfold
*/
@media only screen and (max-width: 767px) {
    .responsive #top #wrap_all .container {
        width: 100% !important;
        max-width: 100% !important
    }
    #top input[type="checkbox"] {
        display: block !important;
    }
}

/*==============================================
  CSS CUSTOM PROPERTY VARIABLES
==============================================*/
:root {
  --color-gray-main: #717288;
  --color-red-main: #a5273e;
  --color-blue-main: #454869;
  --color-navy-accent: #1e2233;
  --color-gray-accent: #bdbcc5;
  
  --spacing-xs: 10px;
  --spacing-sm: 15px;
  --spacing-md: 25px;
  --spacing-lg: 35px;
  --spacing-xl: 50px;
  
  --border-radius-full: 9999px;
  --border-radius-sm: 4px;
  
  --font-size-base: 1rem;
  --font-size-lg: 1.25rem;
  --font-size-xl: 1.5rem;
  --font-size-2xl: 2rem;
  
  /* Commonly used values */
  --transition-standard: 0.3s ease;
  --transition-slow: 0.5s ease-out;
  --transition-fast: 0.2s ease-in-out;
  --shadow-standard: 2px 2px 0px;
  --shadow-large: 4px 4px 0px;
  --line-height-tight: 1.2;
  --line-height-normal: 1.5;
  --border-width-standard: 2px;
}

/*==============================================
  BASE STYLES
==============================================*/

.gcl-blog-post .wp-block-post-featured-image img {
        object-position: bottom !important;
    }

body {
    font-family: 'roboto';
}

.container_wrap {
    border: 0;
}

.responsive .container {
    max-width: 100%;
}

.container {
    padding: 0px !important;
}

.content {
    padding: 0px !important;
    border: none;
}

.is-layout-flex {
    padding-left: clamp(10px, 4vw, var(--spacing-lg));
    padding-right: clamp(10px, 4vw, var(--spacing-lg));
}

/*==============================================
  LAYOUT COMPONENTS
==============================================*/

.privacy-policy-container {
    max-width: 800px;
    margin: auto;
}

.success-stories-container {
    margin: 0 !important;
}

.container .av-content-small.units {
    width: 80%;
}

.content .entry-content-wrapper {
    padding: 0;
}

.sidebar {
    border-right-style: solid;
    border-right-width: 1px;
    margin-right: -1px;
}

.container_wrap.sidebar_right {
    background-image: url("http://gabadie.com/wordpress/wp-content/uploads/2024/11/cart-hills-left.png");
    background-size: 80%;
    background-position: bottom left;
    background-repeat: no-repeat;
}

/*==============================================
  BLOG COMPONENTS
==============================================*/

.gcl-blog-post figure.alignfull {
}

.gcl-blog-post {
    display: flex;
    flex-direction: column;
    height: 100%;
    padding: 0 !important;
    position: relative;
    padding-bottom: 25px !important;
}

.gcl-blog-post h3 {
    margin: 0;
    line-height: var(--line-height-tight);
}

.gcl-blog-post .wp-block-post-excerpt {
    height: 100px;
    margin: 0 !important;
    overflow: hidden;
    position: relative;
}

.gcl-blog-post .wp-block-post-excerpt__excerpt {
    margin: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-box-orient: vertical;
}

.gcl-read-more {
    font-size: var(--font-size-lg);
    border-style: solid;
    text-align: center;
    border-color: var(--color-red-main) !important;
    border-width: 4px;
    width: 75%;
    border-radius: var(--border-radius-full);
    padding: var(--spacing-xs);
    position: relative;
    bottom: 20px;
}

.gcl-read-more:hover {
    color: initial !important;
}

ul.wp-block-post-template {
    list-style-type: none !important;
}

#top.single-post .big-preview.single-big {
    width: 100%;
    max-height: 550px;
    overflow: hidden;
}

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

/*==============================================
  UI COMPONENTS
==============================================*/

.is-style-justify-start {
    justify-content: flex-start !important;
}

.is-style-justify-center {
    justify-content: center !important;
}

.is-style-justify-end {
    justify-content: flex-end !important;
}

.is-style-justify-between {
    justify-content: space-between !important;
}

.gcl-button,
.wpcf7-submit,
.wp-block-buttons .gcl-button a {
    background: transparent;
    color: #fff;
    border: var(--border-width-standard) solid var(--color-red-main);
    padding: 0.75rem 2rem;
    border-radius: var(--border-radius-full);
    cursor: pointer;
    font-size: var(--font-size-base);
    transition: all var(--transition-standard);
}

.gcl-button:hover,
.wp-block-buttons .gcl-button a:hover {
    background: var(--color-red-main);
    text-decoration: none;
}

.wp-block-buttons .gcl-button {
    border: 0;
}

.wp-block-buttons .gcl-button:hover {
    background: none;
}

.av-menu-button a span {
    background: white;
    color: var(--color-red-main);
    border-radius: var(--border-radius-full) !important;
    transition: background var(--transition-standard);
}

.av-menu-button a span:hover {
    background: var(--color-navy-accent);
}

/*==============================================
  ANIMATIONS & EFFECTS
==============================================*/

.spacer-animation-wrapper {
    position: relative;
    height: 75px;
    padding: var(--spacing-xs) 0;
    overflow: hidden;
    background-color: var(--color-red-main);
}

.sliding-element-right {
    position: absolute;
    width: auto;
    height: 50px;
    /* Start off-screen to the left */
    transform: translateX(-100%);
    transition: transform 5s ease-in-out;
}

.sliding-element-right.slide-in-right {
    /* Move all the way off-screen to the right */
    transform: translateX(100vw);
}

.sliding-element-left {
    position: absolute;
    width: auto;
    height: 50px;
    right: 0;
    /* Start off-screen to the right */
    transform: translateX(100%);
    transition: transform 5s ease-in-out;
}

.sliding-element-left.slide-in-left {
    transform: translateX(-100vw);
}

/* Golf cart divider image sizing - force override */
.sliding-element-right img,
.sliding-element-left img {
    width: auto !important;
    height: 100% !important;
    max-height: 50px !important;
    min-height: 50px !important;
    object-fit: contain !important;
    -webkit-object-fit: contain !important;
    -o-object-fit: contain !important;
    display: block !important;
    max-width: none !important;
    min-width: auto !important;
    vertical-align: top !important;
}

/* Force container heights */
.spacer-animation-wrapper {
    height: 75px !important;
    min-height: 75px !important;
    max-height: 75px !important;
}

.sliding-element-right,
.sliding-element-left {
    height: 50px !important;
    min-height: 50px !important;
    max-height: 50px !important;
}

/* Responsive golf cart sizing with stronger overrides */
@media screen and (max-width: 767px) {
    .spacer-animation-wrapper {
        height: 60px !important;
        min-height: 60px !important;
        max-height: 60px !important;
    }
    
    .sliding-element-right,
    .sliding-element-left {
        height: 40px !important;
        min-height: 40px !important;
        max-height: 40px !important;
    }
    
    .sliding-element-right img,
    .sliding-element-left img {
        max-height: 40px !important;
        min-height: 40px !important;
        height: 40px !important;
    }
}

@media screen and (min-width: 768px) and (max-width: 989px) {
    .spacer-animation-wrapper {
        height: 70px !important;
        min-height: 70px !important;
        max-height: 70px !important;
    }
    
    .sliding-element-right,
    .sliding-element-left {
        height: 45px !important;
        min-height: 45px !important;
        max-height: 45px !important;
    }
    
    .sliding-element-right img,
    .sliding-element-left img {
        max-height: 45px !important;
        min-height: 45px !important;
        height: 45px !important;
    }
}

@media screen and (min-width: 990px) {
    .spacer-animation-wrapper {
        height: 75px !important;
        min-height: 75px !important;
        max-height: 75px !important;
    }
    
    .sliding-element-right,
    .sliding-element-left {
        height: 50px !important;
        min-height: 50px !important;
        max-height: 50px !important;
    }
    
    .sliding-element-right img,
    .sliding-element-left img {
        max-height: 50px !important;
        min-height: 50px !important;
        height: 50px !important;
    }
}

.shadow-dark {
    filter: drop-shadow(4px 4px 0px black);
}

.shadow-dark-small {
    filter: drop-shadow(2px 2px 0px black);
}

.shadow-light {
    filter: drop-shadow(4px 4px 0px var(--color-blue-main));
}

.shadow-light-small {
    filter: drop-shadow(2px 2px 0px var(--color-blue-main));
}

.shadow-red {
    filter: drop-shadow(4px 4px 0px var(--color-red-main));
}

.shadow-red-small {
    filter: drop-shadow(2px 2px 0px var(--color-red-main));
}

/*==============================================
  COLOR THEME CLASSES
==============================================*/

* .theme-red-text * {
    color: var(--color-red-main) !important;
}

.theme-blue {
    background-color: var(--color-blue-main);
    color: #fff;
}

.theme-gray {
    background-color: var(--color-gray-main);
    color: #fff;
}

.theme-red {
    background-color: var(--color-red-main);
    color: #fff;
}

.theme-navy {
    background-color: var(--color-navy-accent);
    color: #fff;
}

.theme-white-gray {
    background-color: #fff;
    color: var(--color-gray-main);
}

.theme-white-blue {
    background-color: #fff;
    color: var(--color-blue-main);
}

.theme-gray-navy {
    background-color: var(--color-gray-accent);
    color: var(--color-navy-accent);
}

.theme-gray-navy > p > * {
    color: var(--color-navy-accent) !important;
}

/*==============================================
  SPECIALIZED COMPONENTS
==============================================*/

/* Image Overlays */
.wp-block-columns .wp-block-column {
    position: relative;
}

.gcl-image-overlay {
    width: 100%;
    height: 100%;
    overflow: hidden !important;
    position: relative;
}

/* Create background layer for smooth zoom effect */
.gcl-image-overlay::after {
    content: '';
    position: absolute;
    top: -10%;
    left: -10%;
    right: -10%;
    bottom: -10%;
    background-image: inherit;
    background-size: cover !important;
    background-position: center center !important;
    background-repeat: no-repeat;
    transition: transform 0.5s ease-out;
    z-index: 0;
}

.wp-block-columns .wp-block-column:hover .wp-block-group.gcl-image-overlay::after,
.wp-block-group.gcl-image-overlay:hover::after
{
    transform: scale(1.1);
}

.wp-block-group.gcl-image-overlay h2 {
    transition: transform 0.5s ease-out;
    position: relative;
    z-index: 3;
}

.wp-block-columns .wp-block-column:hover .wp-block-group.gcl-image-overlay h2,
.wp-block-group.gcl-image-overlay:hover h2
{
    transform: translateY(-5px);
    text-shadow: 2px 2px 8px rgba(0,0,0,0.5);
}

.wp-block-group.gcl-image-overlay::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0,0,0,0.4);
    transition: background 0.5s ease-out;
    z-index: 1;
}

.wp-block-columns .wp-block-column:hover .wp-block-group.gcl-image-overlay::before,
.wp-block-group.gcl-image-overlay:hover::before
{
    background: rgba(0,0,0,0.6);
}

.gcl-image-overlay {
    box-shadow: inset 0 0 0 2000px rgba(114, 114, 128, 0.75);
}

/*==============================================
  GCL STATIC OVERLAY (No Hover Effects)
==============================================*/

.gcl-static-overlay {
    width: 100%;
    height: 100%;
    overflow: hidden !important;
    position: relative;
}

/* Create background layer for static overlay */
.gcl-static-overlay::after {
    content: '';
    position: absolute;
    top: -10%;
    left: -10%;
    right: -10%;
    bottom: -10%;
    background-image: inherit;
    background-size: cover !important;
    background-position: center center !important;
    background-repeat: no-repeat;
    transition: transform 0.5s ease-out;
    z-index: 0;
}

/* Hover effect for background zoom */
.wp-block-columns .wp-block-column:hover .wp-block-group.gcl-static-overlay::after,
.wp-block-group.gcl-static-overlay:hover::after
{
    transform: scale(1.1);
}

/* Static overlay with hover transition */
.gcl-static-overlay::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0,0,0,0.4);
    transition: background 0.5s ease-out;
    z-index: 1;
}

/* Hover effect for overlay darkening */
.wp-block-columns .wp-block-column:hover .wp-block-group.gcl-static-overlay::before,
.wp-block-group.gcl-static-overlay:hover::before
{
    background: rgba(0,0,0,0.6);
}

.gcl-static-overlay h2 {
    transition: transform 0.5s ease-out;
    position: relative;
    z-index: 3;
}

/* Hover effect for text lift */
.wp-block-columns .wp-block-column:hover .wp-block-group.gcl-static-overlay h2,
.wp-block-group.gcl-static-overlay:hover h2
{
    transform: translateY(-5px);
    text-shadow: 2px 2px 8px rgba(0,0,0,0.5);
}

.gcl-static-overlay {
    box-shadow: inset 0 0 0 2000px rgba(114, 114, 128, 0.75);
}


/* Keep the flex behavior consistent inside the link */
.wp-block-group a.team-link {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-decoration: none;
    /* Match the spacing of the non-link groups */
    gap: var(--wp--preset--spacing--50);
}

a.team-link:hover {
    color: #454869;
}

/* Remove any default margins that might be affecting the elements inside the link */
.team-link figure,
.team-link h3,
.team-link p {
    margin: 0;
}

.team-link {
    text-align: center;
}

.unpad-left {
    margin-left: -35px;
}

.unpad-right {
    margin-right: -35px;
}

span.logo {
    overflow: visible;
    width: 150px;
    height: auto;
    left: 2%;
}

.justify {
    text-align: justify !important;
    text-justify: inter-word !important;
    word-spacing: 2px !important;
}

/*-----------------------------------------
// PALLETTE
//----------------------------------------*/


/** DOCUMENT SETUP **/



/** END DOCUMENT SETUP **/

/*-----------------------------------------
// EFFECTS
//----------------------------------------*/

/** HEADER **/
ul li .avia-menu-text {
    font-size: max(1.8vw, 16px);
}

ul ul li .avia-menu-text {
    font-size: 20px;
}

/** BOX STAT LAYOUTS **/
.stat-box-red h2 {
    color: #fff;
    background-color: var(--color-red-main);
}

.stat-box-red p * {
    color: #fff;
    background-color: var(--color-red-main);
}

.stat-box-red svg {
    color: #fff !important;
}

/* Center stat-box icons on all screen sizes */
.stat-box-red,
[class*="stat-box"] {
    text-align: center !important;
}

.stat-box-red svg,
[class*="stat-box"] svg,
.stat-box-red .wp-block-outermost-icon-block,
[class*="stat-box"] .wp-block-outermost-icon-block {
    margin-left: auto !important;
    margin-right: auto !important;
    display: block !important;
    text-align: center !important;
}

/** LANDING PAGE VIDEO **/
.video-landing {
    
}

.video-landing h2 {
    font-size: 100px;
}

.video-landing h3 {
    font-size: 64px;
}
@media screen and (max-width: 989px) {
    /* start of large tablet styles */
    
    }
    
@media screen and (max-width: 479px) {
    .video-landing h2 {
        font-size: 96px;
    }

    .video-landing h3 {
        font-size: 72px;
    }
}

@media screen and (max-width: 479px) {
    /* start of phone styles */
    .video-landing h2 {
        font-size: 15vw;
    }

    .video-landing h3 {
        font-size: 7vw;
    }
}

/** END LANDING PAGE VIDEO **/

/*-----------------------------------------
// FOOTER
//----------------------------------------*/

/** Footer Logo **/
div#footer div.container div.flex_column section#media_image-2 {
    display: flex;
    flex-direction: row;
    justify-content: center;
}

div#footer div.container div.flex_column section#media_image-2 img {
    flex: 0;
}

/** Footer Menu **/
.footer-body {
    font-size: 20px;
    line-height: 1.1em;
}

.menu-footer-container #menu-footer {
    list-style: none;
    margin: 0;
    padding: 0;
    font-family: Arial, sans-serif;
}
  
.menu-footer-container #menu-footer > li {
    margin-bottom: 0.5rem;
}
  
.menu-footer-container #menu-footer a {
    color: white;
    text-decoration: none;
    font-size: 1rem;
    display: block;
    padding: 0.25rem 0;
}

.menu-footer-container #menu-footer a:focus {
    color: var(--color-red-main) !important;
}

.menu-footer-container #menu-footer a:hover {
    color: var(--color-red-main);
    text-decoration: underline;
}
  
.menu-footer-container #menu-footer .menu-item-has-children {
    position: relative;
}
  
.menu-footer-container #menu-footer .menu-item-has-children > a::after {
    content: '▼';
    display: inline-block;
    margin-left: 0.5rem;
    font-size: 0.8em;
    transition: transform 0.3s ease;
}
  
.menu-footer-container #menu-footer .menu-item-has-children.active > a::after {
    transform: rotate(-180deg);
}
  
.menu-footer-container #menu-footer .sub-menu {
    display: none;
    list-style: none;
    margin: 0;
    padding-left: 1.5rem;
}
  
.menu-footer-container #menu-footer .sub-menu.active {
    display: block;
}
  
.menu-footer-container #menu-footer .current-menu-item > a {
    font-weight: bold;
    color: var(--color-red-main);
    text-decoration: underline;
}

footer.gcl-footer {
    padding-top: 10px;
    padding-left: 25px;
    padding-right: 25px;
}

.disclaimer {
    font-style: italic;
    text-align: center;
    color: var(--color-gray-accent);
    font-size: 16px;
    line-height: var(--line-height-normal);
}

#socket {
    background-color: var(--color-navy-accent);
    padding-top: 10px;
    padding-bottom: 10px;
}

#socket p.copyright {
    text-align: center;
    margin-bottom: 0px;
    float: none;
    font-weight: bold;
    font-size: 14px;
}

/** Footer Stylings **/
div#footer div.container div.textwidget.custom-html-widget h2 {
    color: var(--color-red-main);
}

div#footer div.container div.textwidget.custom-html-widget h4 {
    color: var(--color-red-main);
}
div#footer div.container div.footer-custom-socials {
    flex-direction: row;
    justify-content: space-between;
}

div#footer div.container div.footer-custom-socials a {
    -webkit-transition: filter 500ms ease;
    transition: filter 500ms ease;
}

@keyframes facebookColor {
    0% { filter: none; }
    10% { filter: grayscale(100%); }
    11% { filter: grayscale(100%) hue-rotate(222deg) saturate(229%); }
    100% { filter: grayscale(0%) hue-rotate(222deg) saturate(229%); }
 }
 
 div#footer div.container div.footer-custom-socials a.facebook:hover {
    animation: facebookColor 500ms ease forwards;
 }

 @keyframes instagramColor {
    0% { filter: none; }
    10% { filter: grayscale(100%); }
    11% { filter: grayscale(100%) hue-rotate(330deg) saturate(175%); }
    100% { filter: grayscale(0%) hue-rotate(330deg) saturate(175%);
    }
 }
 
 div#footer div.container div.footer-custom-socials a.instagram:hover {
    animation: instagramColor 500ms ease forwards;
 }

 @keyframes linkedinColor {
    0% { filter: none; }
    10% { filter: grayscale(100%); }
    11% { filter: grayscale(100%) hue-rotate(200deg) saturate(350%); }
    100% { filter: grayscale(0%) hue-rotate(200deg) saturate(350%); }
 }
 
 div#footer div.container div.footer-custom-socials a.linkedin:hover {
    animation: linkedinColor 500ms ease forwards;
 }

#footer a[aria-current="page"] {
    color: var(--color-red-main);
    filter: drop-shadow(2px 2px 0px black);
}

#footer .menu a {
    font-size: 20px;
}

#footer .menu .sub-menu a {
    font-size: 18px;
}

#footer .menu .menu-item-has-children > a::after {
    cursor: pointer;
    content: '▼';
    padding-left: 8px;
}

#footer .menu .menu-item-has-children > a.active:after {
    cursor: pointer;
    content: '▲';
    padding-left: 8px;
}

/** END FOOTER **/

/*-----------------------------------------
// CONTACT US FORM
//----------------------------------------*/

.contact-section {
    background-color: var(--color-navy-accent);
    color: white;
    padding-top: 50px;
}

/* Shield */
.shield-container {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    position: relative;
    min-height: 400px;
    padding: 2rem 0;
}

.shield-wrapper {
    position: relative;
    width: 75%;
    aspect-ratio: 1 / 1.2;
}

.contact-shield {
    width: 100%;
    height: auto;
    display: block;
    object-fit: contain;
}

.shield-content {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 60%;
    text-align: center;
    z-index: 1;
    display: flex;
    flex-direction: column;
    gap: 1rem;
    padding: 5%;
}

h3.shield-header {
    color: var(--color-red-main);
    margin: 0;
    font-size: calc(2.5vw + 1rem);
    /* Limit the maximum size */
    max-font-size: 3.5rem;

    line-height: var(--line-height-tight);
    word-wrap: break-word;
}

.shield-text {
    margin: 0;
    font-size: 2em;
    line-height: 1.3;
    word-wrap: break-word;
    font-size: calc(0.8vw + 0.8rem);
    max-font-size: 2em;
}

/* Adjust mobile breakpoint */
@media (max-width: 479px) {
    .shield-wrapper {
        width: 90%;
    }
    
    .shield-content {
        width: 70%;
    }
    
    h3.shield-header {
        /* Adjust font size for mobile */
        font-size: calc(3vw + 0.8rem);
    }
    
    .shield-text {
        /* Adjust font size for mobile */
        font-size: calc(2vw + 0.6rem);
    }
}

/* Add a smaller breakpoint for very small screens */
@media (max-width: 479px) {
    .shield-wrapper {
        width: 95%;
    }
    
    .shield-content {
        width: 75%;
    }
}

/*-----------------------------------------
// CONTACT
//----------------------------------------*/
.contact-form {
    color: #fff;
    font-size: 24px;
    line-height: var(--line-height-normal);
}

.contact-form button {
    display: block;
    margin: auto;
}

.form-row {
    display: flex;
    gap: 2rem;
    margin-bottom: 1.5rem;
}

.form-field {
    flex: 1;
    position: relative;
    padding-bottom: 5px;
}

.form-field label {
    display: block;
    margin-bottom: 0.5rem;
    color: #fff;
}

.form-field input,
.form-field textarea,
.wpcf7-form-control-wrap input.wpcf7-text {
    width: 100%;
    background-color: transparent !important;
    border: none !important;
    border-bottom: 2px solid var(--color-red-main) !important;
    color: #fff !important;
    padding: 0.5rem 0;
    font-size: 1rem;
    transition: border-bottom-width 0.2s ease-in-out;
}

.form-field input:focus,
.form-field textarea:focus,
.wpcf7-form-control-wrap input.wpcf7-text:focus {
    outline: none;
    border-bottom-width: 4px !important;
}

.form-field input:hover:not(:focus),
.form-field textarea:hover:not(:focus),
.wpcf7-form-control-wrap input.wpcf7-text:hover:not(:focus) {
    outline: none;
    border-bottom-width: 6px !important;
}

.checkbox-field {
    display: flex;
    align-items: center;
    gap: 1rem;
    margin: 1.5rem 0;
}

.checkbox-field input[type="checkbox"] {
    width: 20px;
    height: 20px;
}

.checkbox-field label {
    font-size: 0.75em;
}


.av-menu-button a span {
    background: white;
    color: var(--color-red-main);
    border-radius: 9999px !important;
    transition: background var(--transition-standard);
}

.av-menu-button a span:hover {
    background: var(--color-navy-accent);
}

.wp-block-buttons .gcl-button {
    border: 0;
}

.wp-block-buttons .gcl-button:hover {
    background: none;
}


.contact-section .contact-info {
    display: flex;
    justify-content: center;
    gap: 3rem;
    margin-top: 2rem;
    padding-top: 2rem;
    border-top: 1px solid rgba(165, 39, 62, 0.3);
}

.contact-section .contact-method {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    color: #fff !important;
    text-decoration: none;
    width: 100%;
}

/* Contact form mini header styling */
.contact-mini-header {
    font-size: 1.25rem !important;
    font-weight: 600 !important;
    margin-bottom: 0.5rem !important;
}

/* Contact form mini text styling */
.contact-mini-text {
    font-size: 1rem !important;
    font-weight: 400 !important;
    margin-top: 0 !important;
}

.contact-section .contact-method .contact-heading {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin-bottom: 0.5rem;
}

.contact-section .icon {
    width: 48px;
    height: 48px;
}

.contact-section .contact-method p,
.contact-section .contact-method address {
    margin: 0;
    /*padding-left: calc(48px + 0.5rem); Icon width + gap */
    font-style: normal;
}

.contact-info .contact-method .contact-heading span {
    color: #fff;
}

.contact-section a.contact-method:hover {
    text-decoration: underline !important;
}

@media (max-width: 479px) {
    .contact-form .contact-info {
        flex-direction: column;
        align-items: center;
        gap: 1rem;
    }
    
    .contact-section .contact-method {
        align-items: center;
    }
    
    .contact-section .contact-method p,
    .contact-section .contact-method address {
        padding-left: 0;
        text-align: center;
    }
}

@media (max-width: 479px) {
    .form-row {
        flex-direction: column;
        gap: 1rem;
    }
}

/** END CONTACT FORM **/

/*-----------------------------------------
// SERVICES
//----------------------------------------*/

.service-header {
    position: relative;
    padding-top: calc(12vw + 25px) !important;  /* Adjust based on icon height */
    padding-left: 0;
    padding-right:0;
}

.service-header .wp-block-outermost-icon-block {
    position: absolute;
    z-index: 1;
}

.wp-block-heading {
    position: relative;
    z-index: 2;
}

@media (max-width: 479px) {
    .service-header h2 {
        font-size: max(2.5rem, 3vw) !important;
    }
    .icon-container {
        width: 100% !important;
    }
    .wp-block-outermost-icon-block {
        width: 50% !important;
    }
}

/*Add your own styles here:*/
.menu > li > a {
    font-size: 18px;
}


/*-----------------------------------------
// HELPERS
//----------------------------------------*/

.half-width {
    width: 50% !important;
}

.full-width {
    width: 100% !important;
}

.container_wrap.sidebar_right {
    /*padding-top: 50px;
    padding-bottom: 50px;*/
}

/*-----------------------------------------
// TOPBAR
//----------------------------------------*/

#top .menu-item-search-dropdown > a {
    font-size: 32px;
}

/** END TOPBAR **/

.sidebar .page_item {
    font-size: 16px !important;
}

/*-----------------------------------------
// SIDEBAR
//----------------------------------------*/

@media screen and (max-width: 479px) {
    .sidebar .page_item {
        padding-left: 15px !important;
        padding-right: 15px !important;
        left: 0 !important;
    }
}

.page_item:hover {
    text-decoration: underline;
    text-decoration-color: var(--color-red-main);
}

@media screen and (max-width: 479px) {
    .responsive #top #wrap_all .container {
        width: 100%;
        max-width: 100%;
    }
}

/** END SIDEBAR **/

/*-----------------------------------------
// BLOG
//----------------------------------------*/

/* CSS - Featured image size */


/** END BLOG **/

/** INTRODUCTION **/

/** CIRCULAR-WRAPPED IMAGES **/
.service-image {
    display: block !important;
    shape-outside: circle(45%) !important;
    shape-margin: 10px;
    width: 250px;
    height: 250px;
}

.service-image img {
    border-radius: 50%;
    object-fit: cover !important;
    width: 100% !important;
    height: 100% !important;
}

.service-image::before {
    content: '';
    position: absolute;
    top: -5px;
    left: -5px;
    right: -5px;
    bottom: -5px;
    border-radius: 50%;
    background: linear-gradient(45deg, var(--color-gray-main), var(--color-gray-accent));
    z-index: -1;
}

/** END CIRCULAR WRAPPED IMAGES **/

/*==============================================
  CLIENT FIRST TEXT POSITIONING
==============================================*/

/* Position "Client First Every Time" text to align left within circular image */
.client-first-text {
    text-align: left !important;
    margin-left: 0 !important;
    padding-left: 0 !important;
    position: relative;
    z-index: 2;
}

/* Vertically center client-first cover inner container */
.client-first .wp-block-cover__inner-container {
    display: flex !important;
    flex-direction: column;
    justify-content: center !important;
    min-height: inherit !important;
}

/* Mobile positioning for client first text */
@media screen and (max-width: 479px) {
    .client-first-text {
        text-align: left !important;
        margin-left: 0 !important;
        margin-right: auto !important;
        padding-left: 0 !important;
        align-self: flex-start !important;
    }
    
    /* Position wp-block-cover__inner-container at far left edge for client-first area */
    .client-first .wp-block-cover__inner-container {
        width: 100vw !important;
        position: relative !important;
        padding-left: 10px !important;
        left: 0 !important;
        align-items: center !important;
        text-align: left !important;
        font-size: 8vw !important;
    }
}

@media screen and (max-width: 989px) {
/* start of large tablet styles */
    #intro h2 {
        font-size: 6vw !important;
        overflow-wrap: normal;
    }

    #intro h3 {
        text-align: center;
    }

    .service-image {
        float: none !important;
        margin: auto !important;
        display: block !important;
    }
    
    /* Remove text justification when content stacks */
    .justify {
        text-align: left !important;
        text-justify: none !important;
        word-spacing: normal !important;
    }
}

@media screen and (max-width: 479px) {
/* start of medium tablet styles */
    
}

/* Responsive nav sizing to prevent logo overlap without wrapping */
@media screen and (min-width: 768px) and (max-width: 989px) {
    /* Scale nav text and padding responsively */
    .menu > li > a {
        font-size: clamp(14px, 1.8vw, 18px) !important;
        padding-left: clamp(8px, 1.2vw, 15px) !important;
        padding-right: clamp(8px, 1.2vw, 15px) !important;
    }
    
    /* Reduce overall nav item spacing */
    .av-main-nav > li {
        margin-right: clamp(2px, 0.5vw, 8px) !important;
    }
    
    /* Ensure logo positioning is maintained */
    span.logo {
        z-index: 1000 !important;
    }
}

/* Additional footer breakpoint for larger tablets/small laptops */
@media screen and (min-width: 768px) and (max-width: 989px) and (max-width: 991px) {
    /* Footer adjustments for medium tablets */
    footer.gcl-footer {
        padding-left: 20px !important;
        padding-right: 20px !important;
    }
    
    .footer-body {
        font-size: clamp(1.5rem, 2.8vw, 1.875rem) !important;
        text-align: center !important;
    }
    
    /* Larger footer headers for tablets */
    div#footer div.container div.textwidget.custom-html-widget h2,
    div#footer div.container div.textwidget.custom-html-widget h4,
    #footer h2,
    #footer h3,
    #footer h4 {
        font-size: clamp(1.75rem, 3.2vw, 2.25rem) !important;
        text-align: center !important;
        margin-bottom: 1rem !important;
    }
    
    #footer .menu a {
        font-size: clamp(1.375rem, 3.2vw, 1.875rem) !important;
        text-align: center !important;
        padding: 0.4rem 0 !important;
    }
    
    #footer .menu .sub-menu a {
        font-size: clamp(1.25rem, 2.8vw, 1.625rem) !important;
        text-align: center !important;
        padding: 0.3rem 0 !important;
    }
    
    .menu-footer-container #menu-footer,
    .menu-footer-container #menu-footer > li {
        text-align: center !important;
    }
    
    div#footer div.container div.footer-custom-socials {
        justify-content: center !important;
    }
}

@media screen and (max-width: 479px) {
/* start of phone styles */
    #intro h2 {
        text-align: center;
        font-size: 11vw !important;
        overflow-wrap: normal;
    }

    #intro h3 {
        text-align: center;
    }

    .service-image {
        float: none !important;
        margin: 0 auto !important;
        width: clamp(200px, 60vw, 300px) !important;
        height: clamp(200px, 60vw, 300px) !important;
        aspect-ratio: 1 / 1 !important;
    }
}

/** END INTRODUCTION **/

.areas-we-serve {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 35px 35px 35px 35px;
    background-color: var(--color-gray-main);
}

.areas-we-serve h2 {
    font-size: 4vw;
    text-align: center;
    color:#a5273e;
}

.areas-we-serve .areas-slogan {
    max-width: 500px;
    text-align: center;
    font-size: 24px;
    color:#1e2233;
    padding-bottom: 15px;
}

.areas-we-serve p {
    font-size: 18px;
    max-width: 800px;
    line-height: var(--line-height-normal);
}

.areas-map {
    width: 75%;
    padding-bottom: 25px;
}

.why-gcl p {
    font-family: 'static';
    font-weight: 400;
}

/*==============================================
  MOBILE UTILITY CLASSES
==============================================*/

@media screen and (max-width: 767px) {
    .gapless-mobile {
        gap: 0px !important;
    }
    
    /* Fix FAQ section grid positioning */
    .service-faq .wp-block-media-text__content {
        grid-row: 1 !important;
        padding-top: var(--spacing-md) !important;
        padding-bottom: var(--spacing-md) !important;
    }
    
    /* Hide why-gcl background image on mobile */
    .why-gcl {
        background-image: none !important;
    }
    
    /* Make why-gcl text larger on mobile */
    .why-gcl p {
        font-size: clamp(1.25rem, 6vw, 2rem) !important;
    }
    
    /* Make get-started-text header larger on mobile */
    .get-started-text,
    h2.get-started-text {
        font-size: clamp(2.5rem, 8vw, 4rem) !important;
        line-height: var(--line-height-tight) !important;
    }
    
    /* Add margin to service images and custom border elements on mobile */
    .service-image,
    .custom-border {
        margin-top: var(--spacing-md) !important;
        margin-bottom: var(--spacing-md) !important;
    }
    
    /* Ensure image rules don't override service-image and custom-border margins */
    img.service-image,
    .wp-block-image.service-image,
    figure.service-image,
    .wp-block-figure.service-image,
    img.custom-border,
    .wp-block-image.custom-border,
    figure.custom-border,
    .wp-block-figure.custom-border {
        margin-top: var(--spacing-md) !important;
        margin-bottom: var(--spacing-md) !important;
    }
    
    /* Make client-first-text larger on mobile */
    .client-first-text {
        font-size: clamp(3.5rem, 10vw, 6rem) !important;
        line-height: var(--line-height-tight) !important;
    }
    
    /* Make first client-first-text element even larger on mobile */
    .client-first-text:first-of-type {
        font-size: clamp(5rem, 15vw, 9rem) !important;
    }
    
    /* Safari Mobile Compatibility Fixes */
    
    /* Fix Safari image rendering issues */
    .gcl-blog-post > a:first-child img.wp-post-image {
        -webkit-transform: translateZ(0) !important;
        transform: translateZ(0) !important;
        -webkit-backface-visibility: hidden !important;
        backface-visibility: hidden !important;
        -webkit-perspective: 1000 !important;
        perspective: 1000 !important;
    }
    
    /* Fix Safari flexbox issues */
    .gcl-blog-post {
        -webkit-flex-direction: column !important;
        -webkit-align-items: flex-start !important;
        -webkit-justify-content: flex-start !important;
    }
    
    /* Fix Safari grid layout issues */
    .wp-container-core-post-template-is-layout-1 {
        display: -webkit-box !important;
        display: -webkit-flex !important;
        display: flex !important;
        -webkit-flex-direction: column !important;
        flex-direction: column !important;
        -webkit-box-orient: vertical !important;
        -webkit-box-direction: normal !important;
    }
    
    /* Fix Safari webkit-line-clamp issues */
    .gcl-blog-post .wp-block-post-excerpt__excerpt {
        -webkit-line-clamp: 3 !important;
        -webkit-box-orient: vertical !important;
        display: -webkit-box !important;
        line-clamp: 3 !important;
        box-orient: vertical !important;
    }
    
    
    /* Fix Safari Mobile specific image stretching for attachment-post-thumbnail */
    img.attachment-post-thumbnail {
        max-height: 250px !important;
        height: auto !important;
        width: 100% !important;
        object-fit: cover !important;
        -webkit-object-fit: cover !important;
        aspect-ratio: 16/9 !important;
    }
    
    /* Safari Mobile viewport detection and specific fixes */
    @supports (-webkit-touch-callout: none) {
        img.attachment-post-thumbnail {
            height: 250px !important;
            max-height: 250px !important;
            min-height: 250px !important;
        }
    }
    
    /* Success Stories page Safari mobile fixes */
    .success-stories-container {
        -webkit-overflow-scrolling: touch !important;
    }
    
    /* Fix WordPress core container grid layouts for Safari mobile */
    .wp-container-core-post-template-is-layout-1,
    .wp-container-core-post-template-is-layout-2 {
        display: -webkit-box !important;
        display: -webkit-flex !important;
        display: flex !important;
        -webkit-box-orient: vertical !important;
        -webkit-box-direction: normal !important;
        -webkit-flex-direction: column !important;
        flex-direction: column !important;
        gap: var(--spacing-md) !important;
        grid-template-columns: none !important;
    }
    
    .wp-container-core-group-is-layout-1,
    .wp-container-core-group-is-layout-2 {
        display: -webkit-box !important;
        display: -webkit-flex !important;
        display: flex !important;
        -webkit-box-orient: vertical !important;
        -webkit-box-direction: normal !important;
        -webkit-flex-direction: column !important;
        flex-direction: column !important;
    }
    
    .why-gcl .wp-block-group {
        display: -webkit-box !important;
        display: -webkit-flex !important;
        display: flex !important;
        -webkit-box-orient: vertical !important;
        -webkit-box-direction: normal !important;
        -webkit-flex-direction: column !important;
        flex-direction: column !important;
    }
    
    /* Fix image containers in success stories for Safari mobile */
    .success-stories-container img,
    .wp-block-post-featured-image img {
        max-width: 100% !important;
        height: auto !important;
        -webkit-transform: translateZ(0) !important;
        transform: translateZ(0) !important;
        -webkit-backface-visibility: hidden !important;
        backface-visibility: hidden !important;
        object-fit: cover !important;
        -webkit-object-fit: cover !important;
    }
    
    /* Apply 16:9 aspect ratio to success story images on Safari mobile - minimal fix */
    @supports (-webkit-touch-callout: none) {
        .success-stories-container .wp-block-post-featured-image,
        .wp-container-core-post-template-is-layout-1 .wp-block-post-featured-image,
        .wp-container-core-post-template-is-layout-2 .wp-block-post-featured-image {
            aspect-ratio: 16/9 !important;
            overflow: hidden !important;
            position: relative !important;
        }
        
        .success-stories-container .wp-block-post-featured-image img,
        .wp-container-core-post-template-is-layout-1 .wp-block-post-featured-image img,
        .wp-container-core-post-template-is-layout-2 .wp-block-post-featured-image img {
            width: 100% !important;
            height: 100% !important;
            object-fit: cover !important;
            -webkit-object-fit: cover !important;
        }
    }
    
    /* Fix title positioning without breaking layout */
    .success-stories-container .wp-block-post-title,
    .wp-container-core-post-template-is-layout-1 .wp-block-post-title,
    .wp-container-core-post-template-is-layout-2 .wp-block-post-title {
        margin-top: var(--spacing-sm) !important;
        z-index: 10 !important;
        position: relative !important;
        background: rgba(255, 255, 255, 0.95) !important;
        padding: var(--spacing-xs) !important;
        border-radius: var(--border-radius-sm) !important;
    }
}

/*==============================================
  MOBILE CONTENT HIERARCHY & CENTER ALIGNMENT
==============================================*/

/* Mobile-first content hierarchy with center alignment */
@media screen and (max-width: 479px) {
    /* Main headings - largest in hierarchy */
    h1, .wp-block-heading h1, 
    .parallax-text.large,
    .hero-title {
        font-size: clamp(2.5rem, 8vw, 4rem) !important;
        line-height: 1.1 !important;
        text-align: center !important;
        margin: 0 auto 1.5rem auto !important;
        max-width: 90% !important;
    }
    
    /* Section headings - second level */
    h2, .wp-block-heading h2,
    .parallax-text,
    .section-header {
        font-size: clamp(2rem, 7vw, 3.5rem) !important;
        line-height: 1.2 !important;
        text-align: center !important;
        margin: 0 auto 1.25rem auto !important;
        max-width: 95% !important;
    }
    
    /* Subsection headings - third level */
    h3, .wp-block-heading h3,
    .parallax-text.small,
    .subsection-header {
        font-size: clamp(1.5rem, 6vw, 2.5rem) !important;
        line-height: 1.3 !important;
        text-align: center !important;
        margin: 0 auto 1rem auto !important;
        max-width: 95% !important;
    }
    
    /* Minor headings - fourth level */
    h4, .wp-block-heading h4 {
        font-size: clamp(1.25rem, 5vw, 2rem) !important;
        line-height: 1.3 !important;
        text-align: center !important;
        margin: 0 auto 0.75rem auto !important;
        max-width: 95% !important;
    }
    
    /* Body text and content */
    p, .wp-block-paragraph,
    .content-text {
        font-size: clamp(1rem, 4vw, 1.25rem) !important;
        line-height: 1.5 !important;
        text-align: center !important;
        margin: 0 auto 1rem auto !important;
        max-width: 90% !important;
    }
    
    /* Lists - centered */
    ul:not(.av-main-nav), ol, .wp-block-list {
        text-align: center !important;
        list-style-position: inside !important;
        margin: 0 auto 1rem auto !important;
        max-width: 90% !important;
    }
    
    /* List items */
    li {
        font-size: clamp(1rem, 4vw, 1.25rem) !important;
        line-height: 1.5 !important;
        margin-bottom: 0.5rem !important;
    }
    
    /* All containers and blocks */
    .wp-block-group,
    .wp-block-columns,
    .wp-block-column,
    .content-container {
        text-align: center !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }
    
    /* Images and media */
    img, .wp-block-image,
    figure, .wp-block-figure {
        max-width: 100% !important;
        height: auto !important;
        margin: 0 auto !important;
        display: block !important;
    }
    
    /* Exception for navbar logo - preserve original positioning */
    span.logo img,
    .logo img,
    #header .logo img {
        margin: 0 !important;
    }
    
    /* Exception for navbar icons - prevent display block from stacking them */
    #top .menu-item-search-dropdown > a,
    .av-burger-menu-main,
    #advanced_menu_toggle {
        display: inline-block !important;
        margin: 0 !important;
    }
    
    
    /* Buttons */
    .wp-block-button,
    .gcl-button,
    button {
        display: block !important;
        margin: 1rem auto !important;
        text-align: center !important;
    }
    
    .wp-block-button a,
    .gcl-button {
        font-size: clamp(1.125rem, 4.5vw, 1.375rem) !important;
        padding: 0.75rem 1.5rem !important;
        width: auto !important;
        height: auto !important;
        border-radius: var(--border-radius-full) !important;
        display: inline-block !important;
    }
    
    /* Center the SVG icons above legal approach sections */
    .wp-block-outermost-icon-block {
        text-align: center !important;
        margin: 0 auto 1rem auto !important;
        display: block !important;
    }
    
    .wp-block-outermost-icon-block svg {
        margin: 0 auto !important;
        display: block !important;
        width: clamp(8rem, 15vw, 10rem) !important;
        height: clamp(8rem, 15vw, 10rem) !important;
    }
    
    /* Style "When you hire Golf Cart Law" blurb text on mobile */
    .how-we-help-blurb {
        font-size: clamp(1rem, 5.5vw, 1.25rem) !important;
        line-height: 1.4 !important;
        padding: 0.5rem 0 !important;
        margin: 0.5rem auto !important;
    }
    
    /* Floating consultation button - maintain rectangular layout on mobile */
    .floating-consultation-button {
        position: fixed !important;
        bottom: 30px !important;
        right: 30px !important;
    }
    
    .consultation-toggle {
        display: flex !important;
        align-items: center !important;
        flex-direction: row !important;
        white-space: nowrap !important;
        padding: 12px 24px !important;
        min-width: auto !important;
        width: auto !important;
        height: auto !important;
    }
    
    .consultation-toggle img {
        width: 48px !important;
        height: 48px !important;
        margin-right: 8px !important;
        flex-shrink: 0 !important;
    }
    
    /* Override gcl-button margin for consultation-toggle */
    .floating-consultation-button .consultation-toggle {
        margin: 0 !important;
    }
    
    /* Legal services page header with icon styling */
    .service-header {
        position: relative !important;
        padding: 0 !important;
    }
    
    .service-header .wp-block-outermost-icon-block {
        position: absolute !important;
        top: -50px !important;
        left: 0 !important;
        width: clamp(6rem, 22.5vw, 12rem) !important;
        height: clamp(6rem, 22.5vw, 12rem) !important;
        z-index: 1 !important;
    }
    
    .service-header .wp-block-outermost-icon-block .icon-container,
    .service-header .wp-block-outermost-icon-block svg {
        width: 100% !important;
        height: 100% !important;
    }
    
    /* Page title positioning */
    .service-header h2,
    .service-header .wp-block-heading {
        position: relative !important;
        z-index: 2 !important;
        margin-left: 0 !important;
        padding-left: 0 !important;
    }
    
}

/*==============================================
  MOBILE-FIRST RESPONSIVE DESIGN
==============================================*/

/* Base styles above are mobile-first (320px+) */

/* Small screens and up (480px+) */
@media screen and (min-width: 480px) and (max-width: 767px) {
    .video-landing h2 {
        font-size: 15vw;
    }
    
    .video-landing h3 {
        font-size: 7vw;
    }
    
    #intro h2 {
        text-align: center;
        font-size: 11vw !important;
        overflow-wrap: normal;
    }
    
    #intro h3 {
        text-align: center;
    }
    
    .service-image {
        float: none !important;
        margin: 0 auto !important;
        width: clamp(200px, 60vw, 300px) !important;
        height: clamp(200px, 60vw, 300px) !important;
        aspect-ratio: 1 / 1 !important;
    }
    
    .shield-wrapper {
        width: 95%;
    }
    
    .shield-content {
        width: 75%;
    }
}

/*==============================================
  PARALLAX TEXT MOBILE STYLING
==============================================*/

/* Mobile-responsive parallax text headers */
.parallax-text {
    font-size: clamp(2.5rem, 8vw, 4rem) !important;
    line-height: 1.1 !important;
    text-align: center !important;
    font-weight: bold !important;
    text-shadow: 2px 2px 4px rgba(0,0,0,0.5) !important;
    color: white !important;
}

/* Smaller parallax text elements */
.parallax-text.small {
    font-size: clamp(1.75rem, 6vw, 3rem) !important;
}

/* Large parallax text elements */
.parallax-text.large {
    font-size: clamp(3rem, 10vw, 5rem) !important;
}

/* Tablet-specific parallax text sizing */
@media screen and (min-width: 768px) and (max-width: 989px) {
    .parallax-text {
        font-size: clamp(2.25rem, 6vw, 3.5rem) !important;
    }
}

/*==============================================
  OUR SPECIALTIES MOBILE STYLING
==============================================*/

/* Mobile-specific styling for Our Specialties section */
@media screen and (max-width: 479px) {
    /* Increase heading size on mobile for Our Specialties section */
    .wp-block-group,
    .wp-block-heading,
    h2.wp-block-heading {
        font-size: clamp(5rem, 6vw, 6rem);
    }
    
    /* Specific mobile sizing for odometer elements */
    .wp-block-group h2.odometer-years,
    .wp-block-group h2.odometer-cases,
    .wp-block-group h2.odometer-free,
    .wp-block-heading h2.odometer-years,
    .wp-block-heading h2.odometer-cases,
    .wp-block-heading h2.odometer-free,
    h2.wp-block-heading.odometer-years,
    h2.wp-block-heading.odometer-cases,
    h2.wp-block-heading.odometer-free {
        font-size: clamp(1.5rem, 5vw, 2.25rem) !important;
        line-height: 1.2 !important;
    }
    
    /* Reduce side padding for Our Specialties content on mobile */
    
    /* Specific targeting for specialty sections */
    .wp-block-columns .wp-block-column {
        padding-left: clamp(10px, 3vw, 25px);
        padding-right: clamp(10px, 3vw, 25px);
    }
    
    /* Center stat-box icons on mobile */
    .stat-box-red,
    [class*="stat-box"] {
        text-align: center !important;
    }
    
    .stat-box-red svg,
    [class*="stat-box"] svg,
    .stat-box-red .wp-block-outermost-icon-block,
    [class*="stat-box"] .wp-block-outermost-icon-block {
        margin-left: auto !important;
        margin-right: auto !important;
        display: block !important;
        text-align: center !important;
    }
    
    /* Increase Areas we Serve header size on mobile */
    .areas-we-serve h2 {
        font-size: clamp(2.5rem, 8vw, 4rem) !important;
    }
    
    /* Increase video landing text size on mobile */
    .video-landing h2 {
        font-size: clamp(3rem, 12vw, 5rem) !important;
    }
    
    .video-landing h3 {
        font-size: clamp(2rem, 8vw, 3.5rem) !important;
    }
    
    /* Fix footer layout on mobile - properly centered */
    footer.gcl-footer {
        padding-left: clamp(10px, 2.5vw, 20px) !important;
        padding-right: clamp(10px, 2.5vw, 20px) !important;
    }
    
    /* Ensure footer container is perfectly centered */
    #footer .container {
        margin: 0 auto !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
        text-align: center !important;
    }
    
    /* Stack footer content vertically */
    div#footer div.container {
        display: flex !important;
        flex-direction: column !important;
        gap: 1rem !important;
    }
    
    div#footer div.container div.flex_column {
        width: 100% !important;
        margin-bottom: 1rem !important;
        margin-left: 0 !important;
    }
    
    /* Override Enfold's av_one_fourth margin-left on mobile */
    #footer .av_one_fourth,
    #footer .flex_column {
        margin-left: 0 !important;
        margin-right: 0 !important;
    }
    
    /* Hide footer logo/image on mobile */
    div#footer div.container div.flex_column section#media_image-2 {
        display: none !important;
    }
    
    /* Large footer headers and more moderate menu text scaling */
    .footer-body {
        font-size: clamp(1.75rem, 3.5vw, 2.25rem) !important;
        line-height: 1.3em !important;
        text-align: center !important;
    }
    
    /* Larger footer headers/headings */
    div#footer div.container div.textwidget.custom-html-widget h2,
    div#footer div.container div.textwidget.custom-html-widget h4,
    #footer h2,
    #footer h3,
    #footer h4 {
        font-size: clamp(2rem, 4vw, 2.75rem) !important;
        text-align: center !important;
        margin-bottom: 1rem !important;
    }
    
    #footer .menu a {
        font-size: clamp(1.5rem, 4vw, 2.25rem) !important;
        text-align: center !important;
        padding: 0.5rem 0 !important;
    }
    
    #footer .menu .sub-menu a {
        font-size: clamp(1.25rem, 3.5vw, 1.875rem) !important;
        text-align: center !important;
        padding: 0.375rem 0 !important;
    }
    
    /* Center all footer menu items with mobile-friendly spacing */
    .menu-footer-container #menu-footer {
        text-align: center !important;
    }
    
    .menu-footer-container #menu-footer > li {
        text-align: center !important;
        margin-bottom: 1rem !important;
    }
    
    .menu-footer-container #menu-footer a {
        padding: 0.75rem 1rem !important;
        display: inline-block !important;
        min-height: 44px !important;
        line-height: 1.2 !important;
    }
    
    /* Mobile dropdown functionality */
    .menu-footer-container #menu-footer .sub-menu {
        display: none !important;
        margin-top: 0.5rem !important;
    }
    
    .menu-footer-container #menu-footer .menu-item-has-children.active .sub-menu {
        display: block !important;
    }
    
    /* Mobile dropdown arrows */
    .menu-footer-container #menu-footer .menu-item-has-children > a::after {
        content: ' ▼' !important;
        font-size: 0.8em !important;
        margin-left: 0.5rem !important;
        transition: transform 0.3s ease !important;
    }
    
    .menu-footer-container #menu-footer .menu-item-has-children.active > a::after {
        transform: rotate(180deg) !important;
    }
    
    /* Fix social icons layout */
    div#footer div.container div.footer-custom-socials {
        justify-content: center !important;
        gap: 1.5rem !important;
        margin-top: 1rem !important;
    }
    
    /* Responsive disclaimer text size with minimal padding */
    .disclaimer {
        font-size: clamp(0.875rem, 2.5vw, 1.125rem) !important;
        padding: 0 clamp(5px, 1.5vw, 10px) !important;
        text-align: center !important;
    }
    
    /* Center all footer text content */
    div#footer div.container div.textwidget.custom-html-widget {
        text-align: center !important;
    }
    
    div#footer div.container div.textwidget.custom-html-widget h2,
    div#footer div.container div.textwidget.custom-html-widget h4 {
        text-align: center !important;
    }
}

/* Extra small screens - maximize width usage */
@media screen and (max-width: 479px) {
    
    /* Minimize footer padding on very small screens but keep centered */
    footer.gcl-footer {
        padding-left: clamp(8px, 2vw, 12px) !important;
        padding-right: clamp(8px, 2vw, 12px) !important;
    }
    
    /* Extra centering assurance for very small screens */
    
    /* Reduce disclaimer padding further */
    .disclaimer {
        padding: 0 clamp(3px, 1vw, 5px) !important;
    }
    
    /* Tighten footer container spacing */
    div#footer div.container {
        gap: 0.75rem !important;
    }
    
    div#footer div.container div.flex_column {
        margin-bottom: 0.5rem !important;
    }
}

/* Medium screens and up (768px+) */
@media screen and (min-width: 768px) and (max-width: 989px) {
    /* Ensure stat-box icons stay centered on larger screens */
    .stat-box-red,
    [class*="stat-box"] {
        text-align: center !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
    }
    
    .stat-box-red svg,
    [class*="stat-box"] svg,
    .stat-box-red .wp-block-outermost-icon-block,
    [class*="stat-box"] .wp-block-outermost-icon-block {
        margin-left: auto !important;
        margin-right: auto !important;
        display: block !important;
        text-align: center !important;
    }
    
    .parallax-container h2 {
        font-size: 4rem !important;
    }
    
    .video-landing h2 {
        font-size: 96px;
    }
    
    .video-landing h3 {
        font-size: 72px;
    }
    
    .service-header h2 {
        font-size: max(2.5rem, 3vw) !important;
    }
    
    .icon-container {
        width: 100% !important;
    }
    
    .wp-block-outermost-icon-block {
        width: 50% !important;
    }
    
    .shield-wrapper {
        width: 90%;
    }
    
    .shield-content {
        width: 70%;
    }
    
    h3.shield-header {
        font-size: calc(3vw + 0.8rem);
    }
    
    .shield-text {
        font-size: calc(2vw + 0.6rem);
    }
    
    .form-row {
        flex-direction: column;
        gap: 1rem;
    }
    
    .contact-form .contact-info {
        flex-direction: column;
        align-items: center;
        gap: 1rem;
    }
    
    .contact-section .contact-method {
        align-items: center;
    }
    
    .contact-section .contact-method p,
    .contact-section .contact-method address {
        padding-left: 0;
        text-align: center;
    }
    
    .sidebar .page_item {
        padding-left: 15px !important;
        padding-right: 15px !important;
        left: 0 !important;
    }
    
    .responsive #top #wrap_all .container {
        width: 100%;
        max-width: 100%;
    }

    /* Mobile article cards optimization */
    .wp-container-core-post-template-is-layout-1 {
        grid-template-columns: 1fr !important;
        gap: var(--spacing-md) !important;
        padding: 0 !important;
        margin: 0 !important;
        width: 100vw !important;
        margin-left: calc(-50vw + 50%) !important;
        align-items: flex-start !important;
    }

    .gcl-blog-post {
        display: -webkit-box !important;
        display: -webkit-flex !important;
        display: flex !important;
        -webkit-box-orient: vertical !important;
        -webkit-box-direction: normal !important;
        -webkit-flex-direction: column !important;
        flex-direction: column !important;
        -webkit-box-align: start !important;
        -webkit-align-items: flex-start !important;
        align-items: flex-start !important;
        -webkit-box-pack: start !important;
        -webkit-justify-content: flex-start !important;
        justify-content: flex-start !important;
        width: 100% !important;
        margin: 0 0 var(--spacing-lg) 0 !important;
        background: #fff !important;
        border-radius: 0 !important;
        box-shadow: 0 2px 8px rgba(0,0,0,0.1) !important;
        overflow: visible !important;
        min-height: auto !important;
        height: auto !important;
    }

    /* Remove default WordPress block padding */
    .gcl-blog-post.wp-block-group {
        padding: 0 !important;
    }

    .wp-block-columns:has(.gcl-blog-post) {
        padding: 0 !important;
        margin: 0 !important;
    }

    .wp-block-columns:has(.gcl-blog-post) .wp-block-column {
        padding: 0 !important;
        margin: 0 !important;
    }

    /* Featured image styling - Safari compatible */
    .gcl-blog-post > a:first-child {
        display: block !important;
        width: 100% !important;
        height: 250px !important;
        overflow: hidden !important;
        margin: 0 !important;
        margin-bottom: var(--spacing-sm) !important;
        flex-shrink: 0 !important;
        align-self: stretch !important;
        -webkit-flex-shrink: 0 !important;
        -webkit-align-self: stretch !important;
        position: relative !important;
        order: 1 !important;
        -webkit-order: 1 !important;
    }

    .gcl-blog-post > a:first-child img.wp-post-image {
        width: 100% !important;
        height: 100% !important;
        object-fit: cover !important;
        -o-object-fit: cover !important;
        -webkit-object-fit: cover !important;
        object-position: center !important;
        -o-object-position: center !important;
        -webkit-object-position: center !important;
        transition: transform 0.3s ease !important;
        -webkit-transition: -webkit-transform 0.3s ease !important;
        display: block !important;
        vertical-align: top !important;
        position: absolute !important;
        top: 0 !important;
        left: 0 !important;
        right: 0 !important;
        bottom: 0 !important;
    }

    .gcl-blog-post > a:first-child:hover img.wp-post-image {
        transform: scale(1.05) !important;
    }

    /* Title styling */
    .gcl-blog-post .wp-block-post-title {
        padding: var(--spacing-md) var(--spacing-md) 0 var(--spacing-md) !important;
        margin: 0 !important;
        margin-top: auto !important;
        width: 100% !important;
        flex-shrink: 0 !important;
        align-self: stretch !important;
        -webkit-flex-shrink: 0 !important;
        -webkit-align-self: stretch !important;
        order: 2 !important;
        -webkit-order: 2 !important;
    }

    .gcl-blog-post .wp-block-post-title a,
    .gcl-blog-post .wp-block-post-title h3 {
        font-size: var(--font-size-xl) !important;
        font-weight: 600 !important;
        line-height: 1.3 !important;
        color: var(--color-blue-main) !important;
        text-decoration: none !important;
        margin: 0 !important;
        display: block !important;
        vertical-align: top !important;
    }

    .gcl-blog-post .wp-block-post-title a:hover {
        color: var(--color-red-main) !important;
    }

    /* Excerpt styling */
    .gcl-blog-post .wp-block-post-excerpt {
        margin: 0 !important;
        height: auto !important;
        position: static !important;
        flex-grow: 1 !important;
        width: 100% !important;
        align-self: stretch !important;
        -webkit-align-self: stretch !important;
        order: 3 !important;
        -webkit-order: 3 !important;
    }

    .gcl-blog-post .wp-block-post-excerpt__excerpt {
        font-size: var(--font-size-base) !important;
        line-height: 1.5 !important;
        color: var(--color-gray-main) !important;
        margin: 0 0 var(--spacing-md) 0 !important;
        -webkit-line-clamp: 3 !important;
        display: -webkit-box !important;
        -webkit-box-orient: vertical !important;
        overflow: hidden !important;
        vertical-align: top !important;
    }

    /* Read more link styling */
    .gcl-blog-post .wp-block-post-excerpt__more-link,
    .gcl-blog-post .wp-block-post-read-more {
        padding: 0 var(--spacing-md) var(--spacing-md) var(--spacing-md) !important;
        margin: 0 !important;
        margin-top: auto !important;
        width: 100% !important;
        flex-shrink: 0 !important;
        align-self: stretch !important;
        -webkit-flex-shrink: 0 !important;
        -webkit-align-self: stretch !important;
        order: 4 !important;
        -webkit-order: 4 !important;
    }

    .gcl-blog-post .gcl-read-more {
        display: block !important;
        width: 75% !important;
        margin-left: auto;
        margin-right: auto;
        padding: var(--spacing-sm) var(--spacing-md) !important;
        background-color: var(--color-red-main) !important;
        color: white !important;
        text-decoration: none !important;
        border-radius: var(--border-radius-full) !important;
        text-align: center !important;
        font-weight: 600 !important;
        font-size: var(--font-size-base) !important;
        transition: background-color 0.3s ease !important;
        border: 2px solid var(--color-red-main) !important;
        position: static !important;
        bottom: auto !important;
        left: auto !important;
        transform: none !important;
        vertical-align: top !important;
        box-sizing: border-box !important;
    }

    .gcl-blog-post .gcl-read-more:hover {
        background-color: transparent !important;
        color: var(--color-red-main) !important;
    }
}

/* Large screens and up (992px+) */
@media screen and (min-width: 768px) and (max-width: 989px) {
    #intro h2 {
        font-size: 6vw !important;
        overflow-wrap: normal;
    }

    #intro h2.free-eval {
        font-size: 4vw !important;
    }
    
    #intro h3 {
        text-align: center;
    }
    
    .service-image {
        float: none !important;
        margin: auto !important;
        display: block !important;
    }
}

/* Extra large screens and up (1200px+) */
@media screen and (min-width: 990px) {
    .video-landing h2 {
        font-size: 100px;
    }
    
    .video-landing h3 {
        font-size: 64px;
    }
}

/* Desktop parallax background effects */
.wp-block-group[style*="background-image"]:not(.client-first),
.wp-block-cover,
.gcl-image-overlay:not(.gcl-static-overlay),
[class*="bg-"],
div.has-background:not(.client-first) {
    background-size: cover !important;
    background-position: center center !important;
    background-attachment: fixed !important;
    background-repeat: no-repeat !important;
    min-height: 60vh !important;
    position: relative !important;
    overflow: hidden !important;
}

/* Ensure content appears above background on desktop */
.wp-block-group[style*="background-image"]:not(.client-first) > *,
.wp-block-cover:not(.client-first) > *,
.gcl-image-overlay:not(.client-first) > * {
    position: relative !important;
    z-index: 2 !important;
}

/* Desktop parallax for cover inner containers */
.wp-block-group.has-background:not(.client-first),
.wp-block-cover__inner-container {
    background-size: cover !important;
    background-position: center !important;
    background-attachment: fixed !important;
    min-height: 30vh !important;
}

/* Desktop parallax for Enfold theme containers */
.container_wrap[style*="background-image"],
.av-section-cont-open[style*="background-image"] {
    background-size: cover !important;
    background-position: center center !important;
    background-attachment: fixed !important;
    position: relative !important;
    overflow: hidden !important;
}

/* Desktop blog post content padding */
@media screen and (min-width: 768px) {
    .gcl-blog-post .wp-block-post-title,
    .gcl-blog-post .wp-block-post-excerpt,
    .gcl-blog-post .wp-block-post-excerpt__more-link,
    .gcl-blog-post .wp-block-post-read-more {
        padding-left: var(--spacing-md) !important;
        padding-right: var(--spacing-md) !important;
    }
    
    /* Center and fix stretching of read more buttons on desktop */
    .gcl-blog-post .gcl-read-more {
        display: block !important;
        width: 75% !important;
        max-width: 200px !important;
        margin-left: auto !important;
        margin-right: auto !important;
        text-align: center !important;
        box-sizing: border-box !important;
        flex-shrink: 0 !important;
    }
    
    /* Center icon containers in stat-box-red on desktop */
    .stat-box-red .icon-container,
    .stat-box-red .wp-block-outermost-icon-block {
        margin-left: auto !important;
        margin-right: auto !important;
        display: block !important;
        text-align: center !important;
    }
    
    /* Make client-first-text larger on desktop */
    .client-first-text {
        font-size: clamp(3.5rem, 4vw, 6rem) !important;
        line-height: var(--line-height-tight) !important;
    }
    
    /* Make first client-first-text element even larger on desktop */
    .client-first-text:first-of-type {
        font-size: clamp(5rem, 6vw, 8rem) !important;
    }
}



/* Remove border on Free Evaluation form at 781px and below */
@media screen and (max-width: 767px) {
    .eval-col {
        border-left-color: transparent !important;
        border-left: none !important;
    }
    
    /* Mobile background image coverage with working parallax effect */
    .wp-block-group[style*="background-image"],
    .wp-block-cover,
    .gcl-image-overlay:not(.gcl-static-overlay),
    [class*="bg-"],
    div.has-background {
        background-size: cover !important;
        background-position: center center !important;
        background-attachment: scroll !important;
        background-repeat: no-repeat !important;
        min-height: 60vh !important;
        position: relative !important;
        overflow: hidden !important;
        margin-bottom: 0 !important;
        padding-bottom: 0 !important;
    }
    
    /* Ensure content appears above background */
    .wp-block-group[style*="background-image"]:not(> .client-first) > *,
    .wp-block-cover > *,
    .gcl-image-overlay > * {
        position: relative !important;
        z-index: 2 !important;
    }
    
    /* Specific targeting for sections with background images */
    .wp-block-group.has-background,
    .wp-block-cover__inner-container {
        background-size: cover !important;
        background-position: center !important;
        background-attachment: scroll !important;
        min-height: 50vh !important;
        margin-bottom: 0 !important;
    }
    
    /* Enhanced mobile parallax for specific containers */
    .container_wrap[style*="background-image"],
    .av-section-cont-open[style*="background-image"] {
        background-size: cover !important;
        background-position: center center !important;
        background-attachment: scroll !important;
        position: relative !important;
        overflow: hidden !important;
        margin-bottom: 0 !important;
    }
}

/* Fix gray gaps and add mobile parallax simulation */
@media screen and (max-width: 767px) {
    /* Remove gaps between sections */
    .wp-block-group,
    .wp-block-cover,
    .gcl-image-overlay:not(.gcl-static-overlay) {
        margin-top: 0 !important;
        margin-bottom: 0 !important;
        padding-bottom: 0 !important;
        border-bottom: none !important;
    }
    
    /* Mobile parallax using larger background size for scroll effect */
    .wp-block-group[style*="background-image"],
    .wp-block-cover,
    .gcl-image-overlay:not(.gcl-static-overlay) {
        background-size: 110% !important;
        background-position: center center !important;
        background-attachment: scroll !important;
        transform: translateZ(0) !important;
        will-change: transform !important;
        backface-visibility: hidden !important;
    }
    
    /* Remove any default WordPress block spacing */
    .wp-block-group + .wp-block-group,
    .wp-block-cover + .wp-block-cover,
    .gcl-image-overlay + .gcl-image-overlay {
        margin-top: 0 !important;
    }
    
    /* Make client-first flush with left edge on mobile */
    .wp-block-group.client-first {
        margin-left: calc(-50vw + 50%) !important;
        width: 100vw !important;
        padding-left: 1rem !important;
        position: relative !important;
    }
    
    /* Make team-link parent groups full-width on mobile */
    .wp-block-group:has(.team-link) {
        margin-left: calc(-50vw + 50%) !important;
        width: 100vw !important;
        padding-left: 1rem !important;
        padding-right: 1rem !important;
        position: relative !important;
    }
    
    /* Match inner-container height with background container on mobile */
    .wp-block-cover__inner-container {
        min-height: 60vh !important;
        height: 100% !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
    }
    
    /* Ensure background containers have consistent height */
    .wp-block-cover,
    .wp-block-group[style*="background-image"],
    .gcl-image-overlay:not(.gcl-static-overlay) {
        min-height: 60vh !important;
        height: auto !important;
        display: flex !important;
        align-items: center !important;
    }
}
