/**
 * Theme Name:     AFC
 * Author:         Chucks Inc
 * Template:       hello-elementor
 * Text Domain:	   afc
 * Description:    Cool beans.
 */


::selection {
    background: var(--e-global-color-accent);
    color: #fff;
}

::-moz-selection {
    background: var(--e-global-color-accent);
    color: #fff;
}

::-webkit-selection {
    background: var(--e-global-color-accent);
    color: #fff;
}

body {

    background-image:
        url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVQI12P4////fwAJ+wP7BTTN9wAAAABJRU5ErkJggg=="),
        linear-gradient(105deg, var(--e-global-color-primary) 51%, #044A4D 100%);
    background-repeat: repeat, no-repeat;
    background-size: auto, cover;
    background-blend-mode: overlay;
}

body,
html,
li,
p {
    font-family: "Kumbh Sans", Sans-serif;
    font-weight: 400;
}

h1,
h2,
h3,
h4,
h5 {
    line-height: 1.2 !important
}

.mobilemenu {
    height: 0
}

.mobilemenu .elementor-nav-menu--dropdown .elementor-sub-item {
    font-size: 20px !important;
    font-weight: normal !important
}

/* Hamburger Styles */

/* ── Hamburger trigger ──────────────────────────────────────────────────── */
.menutrigger {
    width: 30px;
    cursor: pointer;
    z-index: 1001;
    position: relative;
}

.menutrigger .bar {
    width: 100%;
    height: 3px;
    background: #fff;
    margin: 6px 0;
    transition: all 0.3s ease;
}

/* Hamburger → X transition */
.menutrigger.active .bar:nth-child(1) {
    transform: rotate(45deg) translate(7px, 7px);
}

.menutrigger.active .bar:nth-child(2) {
    opacity: 0;
}

.menutrigger.active .bar:nth-child(3) {
    transform: rotate(-45deg) translate(5px, -6px);
}

/* ── Hamburger visibility on mobile ─────────────────────────────────────────
   The hamburger widget (e441265) lives inside the CTA container (2cf6ec4)
   which Elementor hides on tablet/mobile. Override to keep it reachable,
   but suppress every sibling in that container so only the trigger shows.  */
@media (max-width: 1024px) {
    .elementor-element-2cf6ec4 {
        display: flex !important;
    }

    .elementor-element-2cf6ec4 > *:not(.elementor-element-e441265) {
        display: none !important;
    }
}

/* ── Mobile drawer ──────────────────────────────────────────────────────── */
.mobilemenu {
    position: fixed;
    /* JS sets --mobile-menu-top to actual header height; 80px is the fallback */
    top: var(--mobile-menu-top, 80px) !important;
    right: 0;
    height: calc(100% - var(--mobile-menu-top, 80px));
    z-index: 1000;
    box-shadow: -4px 0 10px rgba(0, 0, 0, 0.1);

    /* Hidden state — off-screen, no pointer events */
    transform: translateX(100%);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;

    transition: transform 0.4s ease, opacity 0.4s ease, visibility 0.4s ease;
}

.mobilemenu.open {
    transform: translateX(0);
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}

/* WP admin bar adds 46px; adjust top and height to match */
.admin-bar .mobilemenu {
    top: calc(var(--mobile-menu-top, 80px) + 46px) !important;
    height: calc(100% - var(--mobile-menu-top, 80px) - 46px);
}

/* ── Body scroll lock ───────────────────────────────────────────────────── */
body.frozen {
    overflow: hidden;
}


.legal_content a:hover {
    color: var(--e-global-color-accent)
}

.legal_content a {
    color: #fff
}

.legal_content h2 {
    font-size: 20px;
    font-weight: bold
}

.legal_content h3 {
    font-size: 18px;
    font-weight: bold
}

.legal_content ul,
.legal_content ol {
    margin-bottom: 30px
}

p:last-child {
    margin-bottom: 0
}


.navwrap::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(105deg, var(--e-global-color-primary) 51%, #044A4D 100%);
    opacity: 0;
    transition: opacity 0.5s ease-in-out;
    z-index: -1;
}

.navwrap.stuck::after {
    opacity: 1;
}

.bg-gradient {
    position: absolute;
    width: 100%;
    top: 0;
    bottom: 0;
    overflow: hidden;
    background: radial-gradient(circle at 50% 50%, rgba(255, 255, 255, 0.5) 0%, rgba(255, 255, 255, 0) 70%);
    filter: blur(100px);
    /* makes it soft and dreamy */
    animation: blob-pulse 12s infinite ease-in-out;
}

@keyframes blob-pulse {
    0% {
        transform: scale(1) translate(0%, 0%);
        opacity: 0.4;
        border-radius: 45% 55% 55% 45% / 50% 45% 55% 50%;
    }

    25% {
        transform: scale(1.2) translate(10%, -10%);
        opacity: 0.6;
        border-radius: 50% 50% 45% 55% / 55% 50% 50% 45%;
    }

    50% {
        transform: scale(0.9) translate(-10%, 10%);
        opacity: 0.5;
        border-radius: 55% 45% 50% 50% / 50% 55% 45% 50%;
    }

    75% {
        transform: scale(1.1) translate(5%, -5%);
        opacity: 0.7;
        border-radius: 50% 50% 55% 45% / 45% 50% 50% 55%;
    }

    100% {
        transform: scale(1) translate(0%, 0%);
        opacity: 0.4;
        border-radius: 45% 55% 55% 45% / 50% 45% 55% 50%;
    }
}

.border a,
a.border {
    color: #fff !important;
    background-color: transparent !important;
}

.teal-border a,
a.teal-border {
    border: 1px solid var(--e-global-color-secondary) !important;
    background-color: transparent !important;
}

.hvr-grow a,
a.hvr-grow {
    display: inline-block;
    vertical-align: middle;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    box-shadow: 0 0 1px rgba(0, 0, 0, 0);
    -webkit-transition-duration: 0.3s;
    transition-duration: 0.3s;
    -webkit-transition-property: transform;
    transition-property: transform;
}

.hvr-grow a:hover,
a.hvr-grow:hover {
    -webkit-transform: scale(1.05);
    transform: scale(1.05);
}

.fancybutton {
    color: #fff;
    text-transform: uppercase;
    background: rgba(0, 0, 0, .2);
    border: 1px solid rgba(255, 255, 255, .1);
    padding: 5px 5px 5px 15px;
    font-family: "Kumbh Sans", Sans-serif;
    font-size: 12px;
    letter-spacing: 2px;
    font-weight: 400;
    display: flex;
    align-items: center;
    gap: 20px;
    overflow: hidden;
    -webkit-transition: all .5s ease-in-out;
    -moz-transition: all .5s ease-in-out;
    -ms-transition: all .5s ease-in-out;
    -o-transition: all .5s ease-in-out;
    transition: all .5s ease-in-out;
}

.fancybutton:after {
    content: '';
    display: inline-block;
    width: 60px;
    min-height: 26px;
    align-self: stretch;
    border-radius: 1px;
    background-color: var(--e-global-color-accent);
    background-image: url('img/r-arrow.svg');
    background-repeat: no-repeat;
    background-size: 20px;
    background-position: center center;
    transform: translateX(0);
}

.fancybutton:hover {
    color: #fff !important;
    -webkit-box-shadow: 0 0 20px 0 rgba(0, 0, 0, .1);
    box-shadow: 0 0 20px 0 rgba(0, 0, 0, .1);
    border: 1px solid rgba(255, 255, 255, .2)
}

.fancybutton:hover:after {
    animation: bgFlyOnce .5s ease-in-out forwards;
}

@keyframes bgFlyOnce {
    0% {
        background-position: center center;
        /* start */
    }

    40% {
        background-position: 180% center;
        /* fly right */
    }

    41% {
        background-position: -80% center;
        /* jump left off-screen */
    }

    100% {
        background-position: center center;
        /* return to original */
    }
}


.btn.evenwidths a {
    width: 260px;
    display: block
}

.btn.orange a {
    background-color: var(--e-global-color-accent) !important;
    border: 1px solid var(--e-global-color-accent);
    color: #fff;
}

.btn.orange .elementor-button-text::after {
    background: #fff;
}

.btn a {
    border: 1px solid rgba(255, 255, 255, .3);
    backdrop-filter: blur(10px);
    /* blur the content behind */
    -webkit-backdrop-filter: blur(10px);
    /* Safari support */
}

.btn .elementor-button-text {
    position: relative;
    display: inline-block;
}

.btn .elementor-button-text::after,
.submenu .elementor-icon-list-text:after,
.mainmenu ul li .e-n-menu-title-text:after,
.formy button.wpforms-submit:after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 2px;
    width: 45px;
    height: 1px;
    background: var(--e-global-color-primary);
    transform: translateX(-100%);
    opacity: 0;
    transition: transform 0.35s ease, opacity 0.35s ease;
}

.btn.border .elementor-button-text::after,
.mainmenu ul li .e-n-menu-title-text:after,
.formy button.wpforms-submit:after {
    background: #fff;
}

.formy button.wpforms-submit:after {
    left: 20px !important;
    bottom: 10px !important;
}

.btn:hover .elementor-button-text::after,
.submenu a:hover .elementor-icon-list-text:after,
.mainmenu ul li a:hover .e-n-menu-title-text:after,
.formy button.wpforms-submit:hover:after {
    transform: translateX(0);
    /* slide into view */
    opacity: 1;
}


.mainheader span {
    font-weight: 500;
    font-style: italic;
}

.whitebox .boxed_arrow,
.flipcard-front .boxed_arrow {
    width: 40px !important;
    height: 40px !important;
    display: flex;
    align-content: center;
    justify-content: center;
    transform: translateX(0);
}

.whitebox:hover .boxed_arrow {
    animation: bgFlyOnce2 .5s ease-in-out forwards;
}

.flipcard-front .boxed_arrow {
    border: 1px solid rgba(255, 255, 255, .3);
    background-image: url(https://charlier50.sg-host.com/wp-content/uploads/2025/11/uprightarrow.svg);
    background-position: center center;
    background-repeat: no-repeat;
    background-size: 16px auto;
    filter: brightness(0) invert(1)
}

@keyframes bgFlyOnce2 {
    0% {
        background-position: center center;
        /* start */
    }

    40% {
        background-position: center -150%;
        /* fly UP out the top */
    }

    41% {
        background-position: center 180%;
        /* jump to BOTTOM off-screen */
    }

    100% {
        background-position: center center;
        /* return to original */
    }
}

.formy * {
    font-family: "Kumbh Sans", Sans-serif;
    font-weight: 400;
}

.formy .wpforms-field {
    position: relative;
    margin-bottom: 20px;
    padding: 0 !important;
}

.formy .wpforms-field-label {
    position: absolute;
    left: 12px;
    top: 50%;
    font-size: 1rem;
    color: #fff !important;
    pointer-events: none;
    transition: all 0.25s ease;
    background: transparent;
    padding: 5px;
    transform: translateY(-50%);
    z-index: 1;
    border-radius: 1px;
    border: 1px solid rgba(255, 255, 255, 0);
    margin-bottom: 0;
    font-weight: normal !important
}

.formy .wpforms-field-textarea .wpforms-field-label {
    top: 28px
}

/* When field is focused or has content → float up */
.formy .wpforms-field.wpforms-has-focus .wpforms-field-label,
.formy .wpforms-field.wpforms-has-value .wpforms-field-label {
    top: 0 !important;
    font-size: 0.75rem !important;
    color: #fff;
    border: 1px solid rgba(255, 255, 255, .3);
    background: var(--e-global-color-secondary);
    font-weight: normal;
    margin: 0;
    padding: 0 5px;
}

/* Input/textarea styling */
.formy .wpforms-field input,
.formy .wpforms-field textarea {
    width: 100%;
    padding: 10px 20px !important;
    border: 1px solid rgba(255, 255, 255, .3) !important;
    border-radius: 1px !important;
    font-size: 16px;
    background: rgba(255, 255, 255, .1) !important;
    color: #fff !important;
    max-height: 250px;
    resize: none !important;
}

.formy .wpforms-required-label {
    color: #fff !important;
    top: -2px !important;
    left: -2px;
    position: relative !important;
    font-size: 10px !important;
}

.formy .wpforms-field input:focus,
.formy .wpforms-field textarea:focus {
    outline: none !important;
    border-color: #fff !important;
    box-shadow: 0 0 10px 10px rgba(0, 0, 0, .05) !important;
}

.formy button.wpforms-submit {
    font-size: 16px !important;
    font-weight: 700 !important;
    line-height: 16px !important;
    border-radius: 1px !important;
    background-color: var(--e-global-color-accent) !important;
    border: 1px solid var(--e-global-color-accent) !important;
    color: #fff !important;
    padding: 10px 20px !important;
    height: 50px !important;
    display: flex;
    flex-direction: row;
    gap: 5px;
    justify-content: center;
    align-items: center;
}

.formy button.wpforms-submit:hover {
    background: var(--e-global-color-accent) !important;
}


/* Top errors container styling */
.formy .wpforms-top-errors {
    margin-bottom: 20px;
    padding: 15px 20px;
    background: #c62828;

    border-radius: 1px;
    color: #fff;
    font-size: 12px;
}

.formy em.wpforms-error {
    display: none !important
}

.formy .wpforms-top-errors:empty {
    display: none;
}

.formy .wpforms-field input.wpforms-error {
    border-color: #c62828 !important
}

.formy .wpforms-top-errors ul {
    margin: 0;
    padding-left: 0;
    list-style-type: none;
}

.formy .wpforms-top-errors ul li {
    margin: 0
}

.footer .fmenu a {
    -webkit-transition-duration: 0.3s;
    transition-duration: 0.3s;
    -webkit-transition-property: transform;
    transition-property: transform;
}

.footer .fmenu a:hover {
    -webkit-transform: translateX(2px);
    transform: translateX(2px);
}

.map_box h3 {
    font-family: "Kumbh Sans", Sans-serif;
    font-weight: bold;
    font-size: 16px !important;
    margin: 0 0 5px !important
}

.map_box p {
    font-family: "Kumbh Sans", Sans-serif;
    font-weight: 400;
    font-size: 14px !important;
    margin-bottom: 5px !important;
}

@media only screen and (max-width: 768px) and (orientation: portrait) {

    .btn a,
    .btn,
    .btn.evenwidths,
    .btn.evenwidths a {
        display: block;
        width: 100%
    }
}
