/*
===============================================================
 # CUSTOM CSS
  - Forces animation elements to be visible in the static export
===============================================================*/

/* Dynamic Page Transition Overlay */
.aux-page-animation-overlay {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    width: 100vw !important;
    height: 100vh !important;
    background: #FFF !important;
    z-index: 999999 !important; /* Always cover everything */
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important; /* Block clicks while fading in/out */
    transition: opacity 800ms cubic-bezier(0.4, 0, 0.2, 1), visibility 0s linear 0s !important;
}

.aux-page-animation-overlay.fade-out {
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important; /* Allow clicks once faded out */
    transition: opacity 800ms cubic-bezier(0.4, 0, 0.2, 1), visibility 0s linear 800ms !important;
}


/* Fix numbers inside the feature list boxes */
.elementor-element-2c3ff67 .aux-icon-list-text {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 44px !important;
    height: 44px !important;
    min-width: 44px !important;
    min-height: 44px !important;
    align-self: flex-start !important;
    margin-top: 4px !important;
    position: relative !important;
    line-height: 1 !important;
    box-sizing: border-box !important;
}

.elementor-element-2c3ff67 .aux-icon-list-text:before {
    width: 100% !important;
    height: 100% !important;
    top: 0 !important;
    left: 0 !important;
    position: absolute !important;
    content: "" !important;
    display: block !important;
}

.elementor-element-2c3ff67 .aux-icon-list-item {
    align-items: flex-start !important;
}

.elementor-element-2c3ff67 .aux-icon-list-text2 {
    margin-top: 8px !important;
}

@media (max-width: 767px) {
    .elementor-element-2c3ff67 .aux-icon-list-text {
        width: 34px !important;
        height: 34px !important;
        min-width: 34px !important;
        min-height: 34px !important;
        margin-top: 2px !important;
    }
    .elementor-element-2c3ff67 .aux-icon-list-text2 {
        margin-top: 5px !important;
    }
}

/* Responsive fixes for homepage hero modern heading */
@media (max-width: 1440px) {
    .elementor-173 .elementor-element.elementor-element-e0fcca1 .aux-modern-heading-secondary,
    .elementor-173 .elementor-element.elementor-element-e0fcca1 .aux-modern-heading-secondary .aux-head-highlight {
        font-size: 54px !important;
        line-height: 1.1em !important;
    }
}

@media (max-width: 1200px) {
    .elementor-173 .elementor-element.elementor-element-e0fcca1 .aux-modern-heading-secondary,
    .elementor-173 .elementor-element.elementor-element-e0fcca1 .aux-modern-heading-secondary .aux-head-highlight {
        font-size: 42px !important;
        line-height: 1.2em !important;
    }
}

@media (max-width: 767px) {
    .elementor-173 .elementor-element.elementor-element-e0fcca1 .aux-modern-heading-secondary,
    .elementor-173 .elementor-element.elementor-element-e0fcca1 .aux-modern-heading-secondary .aux-head-highlight {
        font-size: 28px !important;
        line-height: 1.2em !important;
    }
}

/* Homepage Hero Alignment Overrides */
/* ── Large Desktop (min-width: 1441px) ── */
@media (min-width: 1441px) {
    .elementor-173 .elementor-element.elementor-element-e0fcca1 .aux-modern-heading-primary {
        font-size: 42px !important;
    }
    .elementor-173 .elementor-element.elementor-element-e0fcca1 .aux-modern-heading-secondary,
    .elementor-173 .elementor-element.elementor-element-e0fcca1 .aux-modern-heading-secondary .aux-head-highlight {
        font-size: 82px !important;
        line-height: 1.05em !important;
    }
    .elementor-173 .elementor-element.elementor-element-e0fcca1 .aux-modern-heading-description {
        font-size: 23px !important;
        line-height: 1.5em !important;
        max-width: 620px !important;
    }
    .elementor-173 .elementor-element.elementor-element-9fd6b6f {
        transform: scale(0.68) !important;
        transform-origin: right top !important;
        margin-bottom: -320px !important;
    }
}

/* ── Mid Desktop/Laptop (1201px to 1440px) ── */
@media (max-width: 1440px) and (min-width: 1201px) {
    .elementor-173 .elementor-element.elementor-element-e0fcca1 .aux-modern-heading-primary {
        font-size: 36px !important;
    }
    .elementor-173 .elementor-element.elementor-element-e0fcca1 .aux-modern-heading-secondary,
    .elementor-173 .elementor-element.elementor-element-e0fcca1 .aux-modern-heading-secondary .aux-head-highlight {
        font-size: 68px !important;
        line-height: 1.1em !important;
    }
    .elementor-173 .elementor-element.elementor-element-e0fcca1 .aux-modern-heading-description {
        font-size: 21px !important;
        line-height: 1.5em !important;
    }
    .elementor-173 .elementor-element.elementor-element-9fd6b6f {
        transform: scale(0.64) !important;
        transform-origin: right top !important;
        margin-bottom: -360px !important;
    }
}

/* ── Small Desktop/Tablet Landscape (768px to 1200px) ── */
@media (max-width: 1200px) and (min-width: 768px) {
    .elementor-173 .elementor-element.elementor-element-e0fcca1 .aux-modern-heading-primary {
        font-size: 32px !important;
    }
    .elementor-173 .elementor-element.elementor-element-e0fcca1 .aux-modern-heading-secondary,
    .elementor-173 .elementor-element.elementor-element-e0fcca1 .aux-modern-heading-secondary .aux-head-highlight {
        font-size: 54px !important;
        line-height: 1.1em !important;
    }
    .elementor-173 .elementor-element.elementor-element-9fd6b6f {
        transform: scale(0.60) !important;
        transform-origin: right top !important;
        margin-bottom: -400px !important;
    }
}

/* ── Mobile (max-width: 767px) ── */
@media (max-width: 767px) {
    .elementor-173 .elementor-element.elementor-element-9fd6b6f {
        transform: scale(0.62) !important;
        transform-origin: center center !important;
        margin-bottom: -150px !important;
        margin-top: -60px !important;
    }
}






/* ── Merged Theme Customizer Styles from phlox-pro/custom ── */
/*
===============================================================
 #CUSTOM CSS
- Please do not edit this file. This file is generated from admin area.
- Every changes here will be overwritten by theme
===============================================================*/
    /* header-logo-width 
=========================*/
.aux-logo-header .aux-logo-anchor{ max-width:80px; }
/* header-logo-max-height-type 
=========================*/
.aux-logo-header .aux-logo-anchor > img { max-height:85px; }
/* site-frame-background-color 
=========================*/
@media screen and (min-width: 700px) { .aux-framed .aux-side-frames, body.aux-framed:after, .aux-framed .aux-side-frames:before, .aux-framed .aux-side-frames:after {background-color:#111111;}}
/* sticky-header-color 
=========================*/
.aux-elementor-header.aux-sticky .elementor-section-wrap > .elementor-section, .aux-elementor-header.aux-sticky [data-elementor-type="header"] > .elementor-section { background-color:#FFFFFF !important; }
/* site-header-container-scaled-height 
=========================*/
.aux-top-sticky .site-header-section.aux-sticky .aux-fill .aux-menu-depth-0 > .aux-item-content, .aux-top-sticky .site-header-section.aux-sticky .aux-header-elements,.aux-elementor-header.aux-sticky [data-elementor-type="header"] > .elementor-section > .elementor-container,.aux-elementor-header.aux-sticky .elementor-section-wrap > .elementor-section > .elementor-container { min-height:80px; }
/* site-header-container-height 
=========================*/
.site-header-section .aux-header-elements:not(.aux-vertical-menu-elements), .site-header-section .aux-fill .aux-menu-depth-0 > .aux-item-content { height:85px; }
/* site-transparent-header-bgcolor 
=========================*/
.site-header-section { background-color:#FFFFFF; }
/* site-vertical-menu-background-color 
=========================*/
.aux-vertical-menu-side { background-color:#FFF; }
/* site-header-navigation-item-height 
=========================*/
.site-header-section .aux-middle .aux-menu-depth-0 > .aux-item-content { height:60px; }
/* site-mobile-header-toggle-button-color 
=========================*/
.site-header-section .aux-header .aux-burger:before, .site-header-section .aux-header .aux-burger:after, .site-header-section .aux-header .aux-burger .mid-line { border-color:#3d3d3d; }
/* site-menu-full-screen-background-color 
=========================*/
#fs-menu-search:before { background-color:rgba(255, 255, 255, 0.95); }
/* site-top-header-background-color 
=========================*/
#top-header {background-color:#FFFFFF;}
/* blog-post-like-icon-size 
=========================*/
.single-post .wp_ulike_general_class .wp_ulike_btn:before { font-size:24px; }
/* blog-post-share-button-icon-size 
=========================*/
.single-post .aux-single-post-share span::before { font-size:24px; }
/* post-title-bar-overlay-pattern-opacity 
=========================*/
.single-post .aux-overlay-bg-hash::before { opacity:0.15; }
/* page-title-bar-overlay-pattern-opacity 
=========================*/
.page .aux-overlay-bg-hash::before { opacity:0.5; }
/* subfooter-bar-layout-bg-color 
=========================*/
.aux-subfooter-bar { background-color:#fafafa; }
/* subfooter-bar-top-border-color 
=========================*/
.aux-subfooter-bar { border-top:1px solid #EAEAEA; }
/* subfooter-layout-bg-image-position 
=========================*/
.aux-subfooter {background-position:center center;}
/* subfooter-layout-bg-image-size 
=========================*/
.aux-subfooter {background-size:cover;}
/* subfooter-layout-bg-image-repeat 
=========================*/
.aux-subfooter {background-repeat:no-repeat;}
/* subfooter-top-border-color 
=========================*/
.aux-subfooter { border-top:1px solid #EAEAEA; }
/* site-footer-bg-color 
=========================*/
.aux-site-footer {background-color:#1A1A1A;}
/* footer-top-border-color 
=========================*/
.aux-site-footer {border-top:1px solid #EAEAEA;}
/* footer-top-border-width 
=========================*/
.aux-site-footer { border-top-width:1px; }
/* site-secondary-logo-max-height 
=========================*/
.aux-logo-footer .aux-logo-anchor img { max-height:50px; }
/* portfolio-single-share-button-icon-size 
=========================*/
.single-portfolio .aux-single-portfolio-share span::before { font-size:24px; }
/* portfolio-single-like-icon-size 
=========================*/
.single-portfolio .wp_ulike_general_class button::before { font-size:26px; }
/* portfolio-title-bar-overlay-pattern-opacity 
=========================*/
.single-portfolio .aux-overlay-bg-hash::before { opacity:0.5; }
/* portfolio-classic-entry-box-background-color 
=========================*/
.post-type-archive-portfolio .aux-entry-boxed .entry-main { background-color:#FFFFFF; }
/* portfolio-classic-entry-box-border-color 
=========================*/
.post-type-archive-portfolio .aux-entry-boxed .entry-main { border-color:#EAEAEA !important; }
/* portfolio-land-side-background-color 
=========================*/
.post-type-archive-portfolio .aux-item-land .aux-land-side { background-color:#FFFFFF; }
/* portfolio-land-side-border-color 
=========================*/
.post-type-archive-portfolio .aux-item-land .aux-land-side { border-color:#EAEAEA !important; }
/* body-typography 
=========================*/
body{ font-family:'Nunito'; } 
/* general-heading-h1 
=========================*/
body h1, body .aux-h1{ font-family:'Nunito'; } 
/* general-heading-h2 
=========================*/
body h2, body .aux-h2{ font-family:'Nunito'; } 
/* general-heading-h3 
=========================*/
body h3, body .aux-h3{ font-family:'Nunito'; } 
/* general-heading-h4 
=========================*/
body h4, body .aux-h4{ font-family:'Nunito'; } 
/* general-heading-h5 
=========================*/
body h5, body .aux-h5{ font-family:'Nunito'; } 
/* single-post-title-typography 
=========================*/
.single-post .aux-primary .hentry .entry-title{ color:rgb(1, 128, 140); font-size:50px; font-weight:bold; text-transform:capitalize; } 
@media(max-width: 1024px){ .single-post .aux-primary .hentry .entry-title{ font-size:40px; }  } 
@media(max-width: 768px){ .single-post .aux-primary .hentry .entry-title{ font-size:30px; }  } 
/* single-post-content-typography 
=========================*/
.single-post .hentry .entry-content{ color:rgb(112, 112, 112); font-size:16px; font-weight:400; } 
@media(max-width: 1024px){ .single-post .hentry .entry-content{ font-size:15px; }  } 
@media(max-width: 768px){ .single-post .hentry .entry-content{ font-size:14px; }  } 
/* single-post-info-typography 
=========================*/
.single-post .hentry .entry-info{ color:rgb(120, 120, 120); font-size:16px; font-weight:400; } 
@media(max-width: 1024px){ .single-post .hentry .entry-info{ font-size:15px; }  } 
@media(max-width: 768px){ .single-post .hentry .entry-info{ font-size:14px; }  } 
/* single-post-info-terms-typography 
=========================*/
.single-post .hentry .entry-info a{ color:rgb(120, 120, 120); font-size:16px; font-weight:400; } 
@media(max-width: 1024px){ .single-post .hentry .entry-info a{ font-size:15px; }  } 
@media(max-width: 768px){ .single-post .hentry .entry-info a{ font-size:14px; }  } 
/* single-post-meta-typography 
=========================*/
.single-post .hentry footer.entry-meta .entry-tax{ color:rgb(32, 32, 32); font-size:27px; font-weight:600; text-transform:capitalize; font-style:normal; } 
@media(max-width: 1024px){ .single-post .hentry footer.entry-meta .entry-tax{ font-size:24px; }  } 
@media(max-width: 768px){ .single-post .hentry footer.entry-meta .entry-tax{ font-size:22px; }  } 
/* single-post-meta-terms-typography 
=========================*/
.single-post .hentry footer.entry-meta .entry-tax a, .single-post .hentry footer.entry-meta .entry-tax i{ color:rgb(1, 128, 140); font-size:27px; font-weight:600; text-decoration:none; } 
@media(max-width: 1024px){ .single-post .hentry footer.entry-meta .entry-tax a, .single-post .hentry footer.entry-meta .entry-tax i{ font-size:24px; }  } 
@media(max-width: 768px){ .single-post .hentry footer.entry-meta .entry-tax a, .single-post .hentry footer.entry-meta .entry-tax i{ font-size:22px; }  } 
/* blog-post-like-icon-color 
=========================*/
.single-post .wp_ulike_btn:before, .single-post .wp_ulike_is_liked .wp_ulike_btn:before { color:#ffffff; }
/* blog-post-not-like-icon-color 
=========================*/
.single-post .wp_ulike_is_unliked .wp_ulike_btn:before { color:#ffffff; }
/* blog-post-like-icon-hover-color 
=========================*/
.single-post .wp_ulike_general_class .wp_ulike_btn:hover:before { color:#ffffff; }
/* blog-post-share-button-icon-color 
=========================*/
.single-post .aux-single-post-share span::before { color:#ffffff; }
/* blog-post-share-button-icon-hover-color 
=========================*/
.single-post .aux-single-post-share span:hover::before { color:#ffffff; }
/* comment-forms-replay-title-typo 
=========================*/
#reply-title > span{ color:rgb(16, 16, 16); font-size:36px; font-weight:600; letter-spacing:0.72px; } 
@media(max-width: 1024px){ #reply-title > span{ font-size:32px; }  } 
@media(max-width: 768px){ #reply-title > span{ font-size:28px; }  } 
/* comment-forms-button-typo 
=========================*/
#commentform .form-submit input[type="submit"]{ font-size:18px; font-weight:400; text-transform:uppercase; } 
@media(max-width: 1024px){ #commentform .form-submit input[type="submit"]{ font-size:16px; }  } 
@media(max-width: 768px){ #commentform .form-submit input[type="submit"]{ font-size:15px; }  } 
/* comment-forms-placeholder-typo 
=========================*/
#commentform input::placeholder, #commentform textarea::placeholder{ color:rgb(42, 42, 42); font-size:16px; font-weight:400; text-transform:capitalize; font-style:normal; } 
@media(max-width: 768px){ #commentform input::placeholder, #commentform textarea::placeholder{ font-size:14px; }  } 
/* comment-forms-notes-typo 
=========================*/
#commentform .comment-notes{ color:rgb(91, 91, 91); font-size:16px; font-weight:400; } 
@media(max-width: 768px){ #commentform .comment-notes{ font-size:14px; }  } 
/* single-portfolio-overview-title-typography 
=========================*/
.aux-single .type-portfolio .entry-side-title > h1{ color:var(--e-global-color-773602d); font-size:33px; font-weight:700; text-transform:capitalize; } 
@media(max-width: 1024px){ .aux-single .type-portfolio .entry-side-title > h1{ font-size:30px; }  } 
@media(max-width: 768px){ .aux-single .type-portfolio .entry-side-title > h1{ font-size:28px; }  } 
/* single-portfolio-overview-content-typography 
=========================*/
.aux-single .type-portfolio .entry-side-overview{ color:var(--e-global-color-primary); font-size:16px; font-weight:400; } 
@media(max-width: 768px){ .aux-single .type-portfolio .entry-side-overview{ font-size:15px; }  } 
/* single-portfolio-meta-typography 
=========================*/
.aux-single .type-portfolio .entry-meta-data dt{ font-size:22px; color:var(--e-global-color-secondary); font-weight:600; text-transform:capitalize; } 
@media(max-width: 1024px){ .aux-single .type-portfolio .entry-meta-data dt{ font-size:22px; }  } 
@media(max-width: 768px){ .aux-single .type-portfolio .entry-meta-data dt{ font-size:20px; }  } 
/* single-portfolio-meta-terms-typography 
=========================*/
.aux-single .type-portfolio .entry-meta-data dd, .aux-single .type-portfolio .entry-meta-data .entry-tax > a{ color:var(--e-global-color-primary); font-size:20px; font-weight:500; text-transform:capitalize; } 
@media(max-width: 768px){ .aux-single .type-portfolio .entry-meta-data dd, .aux-single .type-portfolio .entry-meta-data .entry-tax > a{ font-size:16px; }  } 
/* portfolio-single-share-button-icon-color 
=========================*/
.single-portfolio .aux-single-portfolio-share span::before { color:var(--e-global-color-secondary); }
/* portfolio-single-share-button-icon-hover-color 
=========================*/
.single-portfolio .aux-single-portfolio-share span:hover::before { color:var(--e-global-color-773602d); }
/* portfolio-single-like-icon-color 
=========================*/
.single-portfolio .wp_ulike_is_liked button::before, .single-portfolio .wp_ulike_is_unliked.wp_ulike_is_liked button::before, .single-portfolio .wp_ulike_is_not_liked.wp_ulike_is_liked button::before { color:var(--e-global-color-773602d); }
/* portfolio-single-not-like-icon-color 
=========================*/
.single-portfolio .wp_ulike_is_unliked button::before, .single-portfolio .wp_ulike_is_not_liked button:before { color:var(--e-global-color-secondary); }
/* portfolio-single-like-icon-hover-color 
=========================*/
.single-portfolio .wp_ulike_general_class button:hover::before { color:var(--e-global-color-773602d); }
/* elementor-color-primary 
=========================*/
.aux-customize-preview.elementor-kit-174 {--e-global-color-primary: #001733;}
/* elementor-color-secondary 
=========================*/
.aux-customize-preview.elementor-kit-174 {--e-global-color-secondary: #01808C;}
/* elementor-color-text 
=========================*/
.aux-customize-preview.elementor-kit-174 {--e-global-color-text: #707070;}
/* elementor-color-accent 
=========================*/
.aux-customize-preview.elementor-kit-174 {--e-global-color-accent: #FC858C;}

/* ===============================================================
   MULTI-DEVICE COMPATIBILITY FIXES
   Added for cross-device responsiveness
   =============================================================== */

/* Prevent horizontal scroll on all devices */
html, body {
    overflow-x: hidden;
    max-width: 100%;
}

/* Make all images responsive */
img {
    max-width: 100%;
    height: auto;
}

/* Fix Google Maps iframe on mobile */
.elementor-widget-google_maps .elementor-custom-embed,
.elementor-widget-google_maps iframe {
    width: 100% !important;
    max-width: 100%;
}

@media screen and (max-width: 768px) {
    .elementor-widget-google_maps iframe {
        height: 300px !important;
    }
}

/* Fix elementor rows from overflowing */
.elementor-row {
    flex-wrap: wrap;
}

/* Ensure elementor columns stack properly on mobile */
@media screen and (max-width: 767px) {
    .elementor-column {
        width: 100% !important;
        max-width: 100% !important;
        flex-basis: 100% !important;
    }

    /* Fix footer columns on mobile */
    .aux-elementor-footer .elementor-column {
        width: 100% !important;
        max-width: 100% !important;
        flex-basis: 100% !important;
        margin-bottom: 20px;
    }

    /* Improve contact form usability on mobile */
    .wpcf7-form input,
    .wpcf7-form textarea,
    .wpcf7-form select {
        width: 100% !important;
        box-sizing: border-box;
        font-size: 16px !important; /* Prevents iOS zoom on focus */
    }

    /* Fix working hours table on mobile */
    .aux-modern-heading-description table {
        width: 100%;
        border-collapse: collapse;
    }

    .aux-modern-heading-description table td {
        padding: 5px 10px;
        font-size: 14px;
    }

    /* Fix footer contact info wrapping */
    .aux-icon-list-text,
    .aux-icon-list-text2 {
        word-break: break-word;
    }
}

/* Tablet-specific fixes (768px - 1024px) */
@media screen and (min-width: 768px) and (max-width: 1024px) {
    /* Ensure 4-column grids become 2-column on tablet */
    .elementor-col-25 {
        width: 50% !important;
        max-width: 50% !important;
        flex-basis: 50% !important;
    }
}

/* Fix touch target size for mobile menu burger */
.aux-burger-box {
    min-width: 44px;
    min-height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Improve button touch targets on mobile */
@media screen and (max-width: 767px) {
    .aux-modern-button {
        min-height: 44px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        padding-left: 20px;
        padding-right: 20px;
    }

    /* Fix heading sizes on very small screens */
    .aux-modern-heading-primary {
        word-break: break-word;
        hyphens: auto;
    }

    /* Fix the site logo on mobile */
    .aux-widget-logo {
        max-width: 100%;
    }

    .aux-logo-anchor img {
        max-width: 160px;
        height: auto;
    }
}

/* ── Collage Row 4 & Row 5 Alignment Corrected ── */
.elementor-element.elementor-element-a8fc6cc,
.elementor-element.elementor-element-f6ed3fe,
.elementor-element.elementor-element-ae0f349,
.elementor-element.elementor-element-134b100,
.elementor-element.elementor-element-a1a5ddf,
.elementor-element.elementor-element-9166b9d {
    max-width: 25% !important;
}
@media screen and (max-width: 1440px) {
    .elementor-element.elementor-element-a8fc6cc,
    .elementor-element.elementor-element-f6ed3fe,
    .elementor-element.elementor-element-ae0f349,
    .elementor-element.elementor-element-134b100,
    .elementor-element.elementor-element-a1a5ddf,
    .elementor-element.elementor-element-9166b9d {
        width: 22% !important;
    }
}
@media screen and (max-width: 1024px) {
    .elementor-element.elementor-element-a8fc6cc,
    .elementor-element.elementor-element-f6ed3fe,
    .elementor-element.elementor-element-ae0f349,
    .elementor-element.elementor-element-134b100,
    .elementor-element.elementor-element-a1a5ddf,
    .elementor-element.elementor-element-9166b9d {
        width: 20% !important;
    }
}
@media screen and (max-width: 767px) {
    .elementor-element.elementor-element-a8fc6cc,
    .elementor-element.elementor-element-f6ed3fe,
    .elementor-element.elementor-element-ae0f349,
    .elementor-element.elementor-element-134b100,
    .elementor-element.elementor-element-a1a5ddf,
    .elementor-element.elementor-element-9166b9d {
        width: 22% !important;
    }
}

/* Guarantee both images scale identically and max out at 239px */
.elementor-element-a1a5ddf img,
.elementor-element-f6ed3fe img {
    width: 100% !important;
    height: auto !important;
    max-width: 239px !important;
}



