/* AI Talent Hunt header logo: preserve aspect ratio across template breakpoints. */
nav.navbar.bootsnav .navbar-brand > img.ath-header-logo {
    width: auto;
    height: 52px;
    max-width: 190px;
    object-fit: contain;
    object-position: left center;
    /* Enlarge the artwork only; preserve the existing header's layout box. */
    transform: scale(1.18);
    transform-origin: center;
}

/* Shared recruitment navigation. */
@media (min-width: 992px) {
    nav.navbar.bootsnav.ath-main-nav ul.nav > li > a {
        font-size: 13px;
        padding-left: 10px;
        padding-right: 10px;
        letter-spacing: 0.2px;
    }

    nav.navbar.bootsnav.ath-main-nav ul.nav > li.dropdown > a {
        padding-right: 20px;
    }
}

@media (max-width: 991px) {
    nav.navbar.bootsnav .navbar-brand > img.ath-header-logo {
        width: auto;
        height: 38px;
        max-width: 138px;
    }
}

@media (max-width: 480px) {
    nav.navbar.bootsnav .navbar-brand > img.ath-header-logo {
        height: 34px;
        max-width: 122px;
    }
}

/* Keep the template's compact navigation until all eight links fit.
   This breakpoint is also used by the scoped handler in bootsnav.js. */
@media (min-width: 1200px) {
    html body nav.navbar.bootsnav.ath-main-nav > .container-full,
    html body nav.navbar.bootsnav.ath-main-nav > .container {
        display: flex;
        align-items: center;
        gap: 16px;
    }

    html body nav.navbar.bootsnav.ath-main-nav .navbar-header {
        order: 1;
        flex: 0 0 auto;
        float: none;
    }

    html body nav.navbar.bootsnav.ath-main-nav .navbar-brand {
        margin: 0;
        padding: 20px 0;
    }

    html body nav.navbar.bootsnav.ath-main-nav .navbar-collapse {
        order: 2;
        flex: 1 1 auto;
        min-width: 0;
        padding: 0;
    }

    html body nav.navbar.bootsnav.ath-main-nav ul.nav.navbar-nav {
        display: flex;
        align-items: center;
        justify-content: center;
        flex-direction: row;
        flex-wrap: nowrap;
        float: none;
        margin: 0 !important;
    }

    html body nav.navbar.bootsnav.ath-main-nav ul.nav > li > a {
        padding-left: 10px !important;
        padding-right: 10px !important;
        white-space: nowrap;
    }


    html body nav.navbar.bootsnav.ath-main-nav > .container-full::before,
    html body nav.navbar.bootsnav.ath-main-nav > .container-full::after,
    html body nav.navbar.bootsnav.ath-main-nav > .container::before,
    html body nav.navbar.bootsnav.ath-main-nav > .container::after {
        display: none;
    }
}

@media (max-width: 1199px) {
    /* One compact-header sizing system. Keep the desktop artwork scale and
       layout untouched; phones/tablets use the logo's natural aspect ratio. */
    html body #home[data-ath-shared-header] {
        --ath-compact-header-height: 64px;
        --ath-compact-logo-width: 156px;
        --ath-compact-header-gutter: 16px;
    }

    html body nav.navbar.bootsnav.ath-main-nav {
        background: #ffffff !important;
        border-bottom: 1px solid #e3ebf2;
    }

    html body nav.navbar.bootsnav.ath-main-nav > .container-full,
    html body nav.navbar.bootsnav.ath-main-nav > .container {
        position: relative;
        width: 100%;
        max-width: none;
        padding: 0 var(--ath-compact-header-gutter);
    }

    html body nav.navbar.bootsnav.ath-main-nav .navbar-header {
        position: relative;
        display: flex;
        align-items: center;
        justify-content: center;
        float: none;
        width: 100%;
        min-height: calc(var(--ath-compact-header-height) - 1px);
        padding: 0 44px;
    }

    html body nav.navbar.bootsnav.ath-main-nav .navbar-brand {
        float: none !important;
        display: flex;
        align-items: center;
        justify-content: center;
        width: var(--ath-compact-logo-width);
        max-width: 100%;
        height: auto;
        min-height: 44px;
        margin: 0 !important;
        padding: 0;
    }

    html body nav.navbar.bootsnav.ath-main-nav .navbar-brand > img.ath-header-logo {
        top: 0;
        width: 100%;
        height: auto !important;
        max-width: 100%;
        transform: none;
    }

    html body nav.navbar.bootsnav.ath-main-nav .navbar-toggle {
        position: absolute;
        left: 0;
        top: 50%;
        transform: translateY(-50%);
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 44px;
        height: 44px;
        padding: 0;
        margin: 0;
        color: #10264c;
        border-radius: 4px;
        line-height: 1;
    }








    html body nav.navbar.bootsnav.ath-main-nav .navbar-collapse {
        width: 100%;
        max-height: min(560px, calc(100vh - var(--ath-compact-header-height) - 12px));
        max-height: min(560px, calc(100dvh - var(--ath-compact-header-height) - 12px));
        overflow-y: auto !important;
        overscroll-behavior: contain;
        margin: 0;
        padding: 0;
        background: #ffffff;
    }

    html body nav.navbar.bootsnav.ath-main-nav .navbar-collapse.collapse {
        display: none !important;
    }

    html body nav.navbar.bootsnav.ath-main-nav .navbar-collapse.collapse.show,
    html body nav.navbar.bootsnav.ath-main-nav .navbar-collapse.collapse.in {
        display: block !important;
        margin-bottom: 0;
    }

    html body nav.navbar.bootsnav.ath-main-nav ul.nav.navbar-nav {
        display: block;
        float: none !important;
        width: 100%;
        margin: 0 !important; /* Bootsnav sets centering margins inline. */
        padding: 0 15px 12px;
    }

    html body nav.navbar.bootsnav.ath-main-nav ul.nav > li {
        display: block;
        float: none;
        width: 100%;
    }

    html body nav.navbar.bootsnav.ath-main-nav ul.nav > li > a {
        display: block;
        width: 100%;
        min-height: 44px;
        padding: 13px 0 !important;
        margin: 0;
        border-top: 0;
        border-bottom: 1px solid #e3ebf2;
        color: #10264c !important;
    }

    html body nav.navbar.bootsnav.ath-main-nav li.dropdown > a.dropdown-toggle::after {
        display: none;
    }

    html body nav.navbar.bootsnav.ath-main-nav li.dropdown > a.dropdown-toggle::before {
        content: "\f105";
        float: right;
        font-family: "Font Awesome 5 Free";
        font-weight: 900;
        margin-left: 10px;
    }

    html body nav.navbar.bootsnav.ath-main-nav li.dropdown.on > a.dropdown-toggle::before {
        content: "\f107";
    }

    html body nav.navbar.bootsnav.ath-main-nav ul.nav li.dropdown ul.dropdown-menu {
        position: relative !important;
        float: none;
        width: 100%;
        min-width: 0;
        left: 0;
        margin: 0 !important;
        padding: 0 0 0 15px !important;
        border: 0;
        border-radius: 0;
        box-shadow: none !important;
        background: transparent;
    }

    html body nav.navbar.bootsnav.ath-main-nav ul.nav li.dropdown ul.dropdown-menu > li > a {
        display: block;
        width: 100%;
        min-height: 44px;
        padding: 11px 0;
        white-space: normal;
        border-bottom: 1px solid #e3ebf2;
        color: #10264c;
    }

    /* Network's photograph banner reserves the fixed header's space explicitly.
       Match that reservation to the shared compact row, not its old 90px value. */
    html body.ath-network-photo-page header#home[data-ath-shared-header] {
        height: var(--ath-compact-header-height);
    }
}

@media (min-width: 768px) and (max-width: 1199px) {
    html body #home[data-ath-shared-header] {
        --ath-compact-header-height: 72px;
        --ath-compact-logo-width: 180px;
        --ath-compact-header-gutter: 24px;
    }
}

html body nav.navbar.bootsnav.ath-main-nav .navbar-toggle:focus-visible {
    outline: 2px solid #0884b8;
    outline-offset: 2px;
}

/* Public dropdown affordances: desktop chevrons; mobile retains its existing arrows. */
@media (min-width: 1200px) {
    html body nav.navbar.bootsnav.ath-main-nav ul.nav > li.dropdown > a[data-ath-dropdown] {
        position: relative;
        padding-right: 26px !important;
    }

    html body nav.navbar.bootsnav.ath-main-nav ul.nav > li.dropdown > a[data-ath-dropdown]::after {
        content: "" !important;
        display: inline-block !important;
        position: absolute;
        top: calc(50% - 4px);
        right: 10px;
        width: 6px;
        height: 6px;
        margin: 0;
        border: 0;
        border-right: 1.5px solid currentColor;
        border-bottom: 1.5px solid currentColor;
        transform: rotate(45deg);
        transition: transform .16s ease;
        pointer-events: none;
    }

    html body nav.navbar.bootsnav.ath-main-nav ul.nav > li.dropdown.on > a[data-ath-dropdown]::after {
        transform: rotate(225deg);
    }
}

html body nav.navbar.bootsnav.ath-main-nav ul.nav li.dropdown ul.dropdown-menu > li > a {
    transition: background-color .16s ease, color .16s ease, box-shadow .16s ease;
}

html body nav.navbar.bootsnav.ath-main-nav ul.nav li.dropdown ul.dropdown-menu > li > a:is(:hover, :focus-visible, :active) {
    background: #ecf6fa !important;
    color: #086785 !important;
    box-shadow: inset 3px 0 0 #0884b8;
}

html body nav.navbar.bootsnav.ath-main-nav ul.nav li.dropdown ul.dropdown-menu > li > a:focus-visible {
    outline: 2px solid #086c8f;
    outline-offset: -2px;
}

@media (prefers-reduced-motion: reduce) {
    html body nav.navbar.bootsnav.ath-main-nav ul.nav > li.dropdown > a[data-ath-dropdown]::after,
    html body nav.navbar.bootsnav.ath-main-nav ul.nav li.dropdown ul.dropdown-menu > li > a {
        transition: none;
    }
}

/* Shared header state colours. The header's context switches tone on scroll/
   resize; solid white and transparent dark backgrounds both retain contrast. */
html body #home[data-ath-shared-header] { --ath-nav-accent: #c34326; }
html body #home[data-ath-shared-header][data-ath-header-tone="dark"] { --ath-nav-accent: #ffad66; }
/* The vendor's global .active pill is not a navigation treatment. */
html body #home[data-ath-shared-header] nav.ath-main-nav ul.ath-primary-menu > li.active,
html body #home[data-ath-shared-header] nav.ath-main-nav ul.ath-primary-menu > li.active > a {
    background: transparent !important;
    border-radius: 0 !important;
}
html body #home[data-ath-shared-header] nav.ath-main-nav ul.ath-primary-menu > li > a:is(:hover, :focus-visible),
html body #home[data-ath-shared-header] nav.ath-main-nav ul.ath-primary-menu > li.active > a {
    color: var(--ath-nav-accent) !important;
}
html body #home[data-ath-shared-header] nav.ath-main-nav ul.ath-primary-menu > li.active > a {
    text-decoration: underline;
    text-decoration-thickness: 2px;
    text-decoration-color: var(--ath-nav-accent);
    text-underline-offset: 7px;
}
html body #home[data-ath-shared-header] nav.ath-main-nav ul.ath-primary-menu li.dropdown ul.dropdown-menu > li > a:is(:hover, :focus-visible),
html body #home[data-ath-shared-header] nav.ath-main-nav ul.ath-primary-menu li.dropdown ul.dropdown-menu > li.active > a {
    background: #fff1e7 !important;
    color: #ad3b1f !important;
    box-shadow: none;
}
html body #home[data-ath-shared-header] nav.ath-main-nav ul.ath-primary-menu a:focus-visible {
    outline: 2px solid var(--ath-nav-accent) !important;
    outline-offset: -3px;
}
html body #home[data-ath-shared-header] nav.ath-main-nav ul.ath-primary-menu .dropdown-menu a:focus-visible {
    outline-color: #ad3b1f !important;
}
@media (max-width:1199px) {
    html body #home[data-ath-shared-header] { --ath-nav-accent: #c34326 !important; }
}
@media (prefers-reduced-motion:reduce) {
    html body #home[data-ath-shared-header] nav.ath-main-nav ul.ath-primary-menu a { transition: none !important; }
}

/* Portal utilities: quiet existing-user route, warm new-account action. */
html body #home[data-ath-shared-header] .ath-header-portal {
    --ath-portal-ink: #132d46;
    --ath-portal-rule: #dce6ee;
    flex: 0 0 auto;
}
html body #home[data-ath-shared-header][data-ath-header-tone="dark"] .ath-header-portal {
    --ath-portal-ink: #ffffff;
    --ath-portal-rule: rgba(255,255,255,.25);
}
html body #home[data-ath-shared-header] .ath-header-portal-label {
    display: block;
    color: var(--ath-portal-ink);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 1px;
    line-height: 1.4;
    text-transform: uppercase;
}
html body #home[data-ath-shared-header] .ath-header-portal-links {
    display: flex;
    align-items: center;
    gap: 16px;
}
html body #home[data-ath-shared-header] .ath-header-portal a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.2;
    white-space: nowrap;
    text-decoration: none;
    transition: background-color .18s ease, color .18s ease, box-shadow .18s ease;
}
html body #home[data-ath-shared-header] a.ath-header-signin {
    color: var(--ath-portal-ink) !important;
}
html body #home[data-ath-shared-header] a.ath-header-signin:is(:hover,:focus-visible) {
    color: var(--ath-nav-accent) !important;
}
html body #home[data-ath-shared-header] a.ath-header-signup {
    gap: 12px;
    padding: 0 15px;
    border: 1px solid #ffb45b;
    border-radius: 5px;
    background: #ffb45b;
    color: #132d46 !important;
    box-shadow: 0 1px 2px rgba(19,45,70,.08);
}
html body #home[data-ath-shared-header] a.ath-header-signup:is(:hover,:focus-visible) {
    background: #ffc67e;
    box-shadow: 0 3px 8px rgba(19,45,70,.14);
}
html body #home[data-ath-shared-header] .ath-header-action-arrow {
    position: relative;
    width: 12px;
    height: 10px;
    flex: 0 0 12px;
    transition: transform .18s ease;
}
html body #home[data-ath-shared-header] .ath-header-action-arrow::before {
    content: "";
    position: absolute;
    top: 4px;
    left: 0;
    width: 11px;
    height: 1.5px;
    background: currentColor;
}
html body #home[data-ath-shared-header] .ath-header-action-arrow::after {
    content: "";
    position: absolute;
    top: 1.5px;
    right: 0;
    width: 6px;
    height: 6px;
    border-top: 1.5px solid currentColor;
    border-right: 1.5px solid currentColor;
    transform: rotate(45deg);
}
html body #home[data-ath-shared-header] .ath-header-signup:is(:hover,:focus-visible) .ath-header-action-arrow {
    transform: translateX(2px);
}
html body #home[data-ath-shared-header] .ath-header-portal a:focus-visible {
    outline: 2px solid var(--ath-nav-accent);
    outline-offset: 4px;
}
@media (min-width:1200px) {
    html body #home[data-ath-shared-header] .navbar-collapse {
        display: flex !important;
        align-items: center;
    }
    html body #home[data-ath-shared-header] ul.ath-primary-menu {
        flex: 1 1 auto;
        min-width: 0;
    }
    html body #home[data-ath-shared-header] .ath-header-portal {
        margin-left: 12px;
        padding-left: 20px;
        border-left: 1px solid var(--ath-portal-rule);
    }
    html body #home[data-ath-shared-header] .ath-header-portal-label { display: none; }
}
@media (min-width:1200px) and (max-width:1359px) {
    html body #home[data-ath-shared-header] nav.ath-main-nav > .container-full {
        width: 100%;
        padding-left: 28px;
        padding-right: 28px;
        gap: 14px;
    }
    html body #home[data-ath-shared-header] nav.ath-main-nav ul.ath-primary-menu > li > a {
        padding-left: 8px !important;
        padding-right: 8px !important;
    }
    html body #home[data-ath-shared-header] nav.ath-main-nav ul.ath-primary-menu > li.dropdown > a {
        padding-right: 24px !important;
    }
    html body #home[data-ath-shared-header] .ath-header-portal {
        margin-left: 8px;
        padding-left: 14px;
    }
}
@media (max-width:1199px) {
    html body #home[data-ath-shared-header] .ath-header-portal {
        --ath-portal-ink: #132d46;
        --ath-portal-rule: #dce6ee;
        margin: 0 15px 20px;
        padding-top: 16px;
        border-top: 1px solid var(--ath-portal-rule);
    }
    html body #home[data-ath-shared-header] .ath-header-portal-links {
        margin-top: 10px;
        gap: 14px;
    }
    html body #home[data-ath-shared-header] .ath-header-portal a {
        flex: 1 1 0;
        min-height: 44px;
    }
    html body #home[data-ath-shared-header] a.ath-header-signin {
        border: 1px solid #dce6ee;
        border-radius: 5px;
    }
}
@media (prefers-reduced-motion:reduce) {
    html body #home[data-ath-shared-header] .ath-header-portal a,
    html body #home[data-ath-shared-header] .ath-header-action-arrow { transition: none; }
    html body #home[data-ath-shared-header] .ath-header-signup:is(:hover,:focus-visible) .ath-header-action-arrow { transform: none; }
}

/* Reserve the template arrow's overhang without shrinking its tap area. */
@media (max-width: 480px) {
    .ath-services-cta.btn-animation.border.dark {
        max-width: calc(100% - 30px);
        padding-left: 20px;
        padding-right: 60px;
        white-space: normal;
    }
}
/* Prevent icon-font code points from flashing as $, boxes or unrelated glyphs
   while slow connections are still fetching the corresponding font files. */
html:not(.ath-elegant-icons-ready) [data-icon]::before,
html:not(.ath-elegant-icons-ready) [class^="arrow_"]::before,
html:not(.ath-elegant-icons-ready) [class*=" arrow_"]::before,
html:not(.ath-elegant-icons-ready) [class^="icon_"]::before,
html:not(.ath-elegant-icons-ready) [class*=" icon_"]::before,
html:not(.ath-elegant-icons-ready) [class^="social_"]::before,
html:not(.ath-elegant-icons-ready) [class*=" social_"]::before,
html:not(.ath-flaticon-ready) [class^="flaticon-"]::before,
html:not(.ath-flaticon-ready) [class*=" flaticon-"]::before,
html:not(.ath-flaticon-ready) [class^="flaticon-"]::after,
html:not(.ath-flaticon-ready) [class*=" flaticon-"]::after,
html:not(.ath-fontawesome-ready) .fa::before,
html:not(.ath-fontawesome-ready) .fas::before,
html:not(.ath-fontawesome-ready) .far::before,
html:not(.ath-fontawesome-ready) .fab::before,
html:not(.ath-themify-ready) [class^="ti-"]::before,
html:not(.ath-themify-ready) [class*=" ti-"]::before {
    visibility: hidden;
}

/* Lightweight media skeletons. They activate only when an image remains
   unresolved beyond the delay managed by ath-shared-header.js. Static text is
   never blocked, and loaded assets stop animating independently. */
@keyframes ath-skeleton-sweep {
    from { background-position: 180% 0; }
    to { background-position: -80% 0; }
}

html.ath-skeleton-visible img.ath-media-loading,
html.ath-skeleton-visible .ath-bg-loading {
    background-color: #e8f1f5 !important;
    background-image: linear-gradient(100deg, #e8f1f5 18%, #f7fbfc 40%, #e8f1f5 62%) !important;
    background-repeat: no-repeat !important;
    background-size: 220% 100% !important;
    animation: ath-skeleton-sweep 1.25s linear infinite;
}

html.ath-skeleton-visible img.ath-media-loading {
    color: transparent;
}

@media (prefers-reduced-motion: reduce) {
    html.ath-skeleton-visible img.ath-media-loading,
    html.ath-skeleton-visible .ath-bg-loading {
        animation: none;
        background-image: none !important;
    }
}
