/**
/*
Theme Name: Ability Plus Initiative
Theme URI: https://abilityplus.org.ng/
Description: Custom child theme for Ability Plus Initiative.
Author: Ability Plus Initiative
Version: 3.0.0
Template: astra
Text Domain: ability-plus-initiative
*/

/* =========================================================
   CHILD THEME BASE
========================================================= */


/* =========================================================
   01. ROOT VARIABLES
========================================================= */

:root {

    --api-red: #D71920;
    --api-red-dark: #A80F15;
    --api-red-light: #F13A40;

    --api-black: #0B0B0C;
    --api-black-soft: #151517;

    --api-white: #FFFFFF;
    --api-white-soft: #F5F5F5;

    --api-gray: #B8B8B8;
    --api-gray-dark: #6F6F73;

    --api-border-light: rgba(255, 255, 255, 0.18);

    --api-glass:
        rgba(255, 255, 255, 0.08);

    --api-shadow:
        0 25px 80px rgba(0, 0, 0, 0.35);

    --api-transition:
        all 0.4s cubic-bezier(0.22, 1, 0.36, 1);

    --api-radius:
        10px;

}


/* =========================================================
   02. GLOBAL RESET
========================================================= */

#api-hero,
#api-hero *,
#api-hero *::before,
#api-hero *::after {

    box-sizing: border-box;

}


#api-hero {

    margin: 0;

    padding: 0;

    width: 100%;

    position: relative;

    overflow: hidden;

    font-family:
        "Inter",
        "Segoe UI",
        Roboto,
        Helvetica,
        Arial,
        sans-serif;

    color: var(--api-white);

    isolation: isolate;

}


/* =========================================================
   03. HERO BACKGROUND
========================================================= */

.api-hero-background {

    position: absolute;

    inset: 0;

    z-index: -3;

    overflow: hidden;

}


.api-hero-background img {

    width: 100%;

    height: 100%;

    object-fit: cover;

    object-position: center center;

    display: block;

    transform: scale(1.04);

    animation:
        apiHeroImageZoom 14s
        ease-in-out
        infinite
        alternate;

}


/* =========================================================
   04. BACKGROUND IMAGE ANIMATION
========================================================= */

@keyframes apiHeroImageZoom {

    from {

        transform: scale(1.04);

    }

    to {

        transform: scale(1.10);

    }

}


/* =========================================================
   05. DARK OVERLAY
========================================================= */

.api-hero-overlay {

    position: absolute;

    inset: 0;

    z-index: -2;

    background:

        linear-gradient(
            90deg,
            rgba(0, 0, 0, 0.92) 0%,
            rgba(0, 0, 0, 0.78) 40%,
            rgba(0, 0, 0, 0.45) 75%,
            rgba(0, 0, 0, 0.62) 100%
        );

}


/* =========================================================
   06. HERO SECTION HEIGHT
========================================================= */

.api-hero {

    min-height: 100vh;

    min-height: 100svh;

    display: flex;

    align-items: center;

    padding:

        150px

        6vw

        100px;

}


/* =========================================================
   07. HERO CONTAINER
========================================================= */

.api-hero-container {

    width: 100%;

    max-width: 1400px;

    margin: 0 auto;

    display: grid;

    grid-template-columns:
        minmax(0, 1.25fr)
        minmax(320px, 0.75fr);

    gap: 80px;

    align-items: center;

}


/* =========================================================
   08. HERO CONTENT
========================================================= */

.api-hero-content {

    max-width: 780px;

}


/* =========================================================
   09. EYEBROW
========================================================= */

.api-hero-eyebrow {

    display: inline-flex;

    align-items: center;

    gap: 12px;

    margin-bottom: 25px;

    color: var(--api-white);

    font-size: 14px;

    font-weight: 700;

    letter-spacing: 2px;

    text-transform: uppercase;

}


.api-hero-eyebrow-line {

    display: block;

    width: 42px;

    height: 3px;

    background:
        var(--api-red);

    border-radius: 20px;

}


/* =========================================================
   10. MAIN HEADING
========================================================= */

.api-hero-title {

    margin:

        0

        0

        28px;

    padding: 0;

    max-width: 850px;

    font-family:

        "Poppins",

        "Segoe UI",

        sans-serif;

    font-size:

        clamp(
            48px,
            6vw,
            88px
        );

    font-weight: 800;

    line-height: 1.02;

    letter-spacing: -2px;

    color: var(--api-white);

}


/* =========================================================
   11. HEADING RED HIGHLIGHT
========================================================= */

.api-hero-title-highlight {

    color: var(--api-red);

    position: relative;

    display: inline-block;

}


/* Decorative underline */

.api-hero-title-highlight::after {

    content: "";

    position: absolute;

    left: 0;

    bottom: -8px;

    width: 65%;

    height: 5px;

    background:

        var(--api-red);

    border-radius: 20px;

    opacity: 0.9;

}


/* =========================================================
   12. HERO DESCRIPTION
========================================================= */

.api-hero-description {

    max-width: 700px;

    margin:

        0

        0

        38px;

    color:

        rgba(
            255,
            255,
            255,
            0.82
        );

    font-size: 18px;

    line-height: 1.8;

    font-weight: 400;

}


/* =========================================================
   13. CTA ACTIONS
========================================================= */

.api-hero-actions {

    display: flex;

    align-items: center;

    flex-wrap: wrap;

    gap: 16px;

    margin-bottom: 40px;

}


/* =========================================================
   14. BUTTON BASE
========================================================= */

.api-button {

    min-height: 58px;

    display: inline-flex;

    align-items: center;

    justify-content: center;

    gap: 16px;

    padding:

        0

        28px;

    border:

        2px

        solid

        transparent;

    border-radius:

        var(--api-radius);

    text-decoration: none;

    font-size: 15px;

    font-weight: 700;

    line-height: 1;

    cursor: pointer;

    transition:

        var(--api-transition);

}


/* =========================================================
   15. PRIMARY BUTTON
========================================================= */

.api-button-primary {

    background:

        var(--api-red);

    color:

        var(--api-white);

    box-shadow:

        0 12px 30px

        rgba(
            215,
            25,
            32,
            0.30
        );

}


.api-button-primary:hover {

    background:

        var(--api-white);

    color:

        var(--api-red);

    transform:

        translateY(-4px);

    box-shadow:

        0 18px 40px

        rgba(
            0,
            0,
            0,
            0.35
        );

}


/* =========================================================
   16. SECONDARY BUTTON
========================================================= */

.api-button-secondary {

    background:

        rgba(
            255,
            255,
            255,
            0.05
        );

    color:

        var(--api-white);

    border-color:

        rgba(
            255,
            255,
            255,
            0.55
        );

    backdrop-filter:

        blur(10px);

}


.api-button-secondary:hover {

    background:

        var(--api-white);

    color:

        var(--api-black);

    border-color:

        var(--api-white);

    transform:

        translateY(-4px);

}


/* =========================================================
   17. BUTTON ARROW
========================================================= */

.api-button-arrow {

    font-size: 21px;

    transition:

        transform

        0.3s

        ease;

}


.api-button:hover
.api-button-arrow {

    transform:

        translateX(5px);

}


/* =========================================================
   18. TRUST LABEL
========================================================= */

.api-hero-trust {

    display: flex;

    align-items: center;

    gap: 14px;

    max-width: 420px;

}


.api-hero-trust-icon {

    width: 38px;

    height: 38px;

    flex-shrink: 0;

    display: flex;

    align-items: center;

    justify-content: center;

    border-radius: 50%;

    background:

        var(--api-red);

    color:

        var(--api-white);

    font-size: 18px;

    font-weight: 800;

}


.api-hero-trust strong {

    display: block;

    margin-bottom: 4px;

    color:

        var(--api-white);

    font-size: 14px;

}


.api-hero-trust span {

    display: block;

    color:

        rgba(
            255,
            255,
            255,
            0.60
        );

    font-size: 13px;

}


/* =========================================================
   19. IMPACT GLASS CARD
========================================================= */

.api-hero-impact-card {

    position: relative;

    padding: 38px;

    background:

        rgba(
            15,
            15,
            16,
            0.65
        );

    border:

        1px

        solid

        rgba(
            255,
            255,
            255,
            0.16
        );

    border-radius:

        18px;

    backdrop-filter:

        blur(18px);

    -webkit-backdrop-filter:

        blur(18px);

    box-shadow:

        var(--api-shadow);

    transition:

        var(--api-transition);

}


.api-hero-impact-card:hover {

    transform:

        translateY(-8px);

    border-color:

        rgba(
            215,
            25,
            32,
            0.55
        );

}


/* =========================================================
   20. CARD HEADER
========================================================= */

.api-hero-card-top {

    display: flex;

    align-items: center;

    justify-content: space-between;

    padding-bottom: 24px;

    margin-bottom: 28px;

    border-bottom:

        1px

        solid

        rgba(
            255,
            255,
            255,
            0.12
        );

}


.api-hero-card-label {

    color:

        var(--api-red);

    font-size: 13px;

    font-weight: 800;

    letter-spacing: 2px;

    text-transform: uppercase;

}


.api-hero-card-number {

    color:

        rgba(
            255,
            255,
            255,
            0.25
        );

    font-size: 34px;

    font-weight: 800;

}


/* =========================================================
   21. CARD HEADING
========================================================= */

.api-hero-impact-card h2 {

    margin:

        0

        0

        18px;

    color:

        var(--api-white);

    font-family:

        "Poppins",

        "Segoe UI",

        sans-serif;

    font-size: 27px;

    line-height: 1.25;

}


/* =========================================================
   22. CARD DESCRIPTION
========================================================= */

.api-hero-impact-card p {

    margin:

        0

        28px;

    color:

        rgba(
            255,
            255,
            255,
            0.68
        );

    font-size: 15px;

    line-height: 1.8;

}


/* =========================================================
   23. FOCUS LIST
========================================================= */

.api-hero-focus-list {

    list-style: none;

    margin: 0;

    padding: 0;

    display: flex;

    flex-direction: column;

    gap: 14px;

}


.api-hero-focus-list li {

    display: flex;

    align-items: center;

    gap: 12px;

    color:

        rgba(
            255,
            255,
            255,
            0.88
        );

    font-size: 14px;

    font-weight: 600;

}


.api-focus-check {

    width: 24px;

    height: 24px;

    display: flex;

    align-items: center;

    justify-content: center;

    flex-shrink: 0;

    border-radius: 50%;

    background:

        rgba(
            215,
            25,
            32,
            0.18
        );

    color:

        var(--api-red);

    font-size: 12px;

    font-weight: 800;

}


/* =========================================================
   24. SCROLL INDICATOR
========================================================= */

.api-hero-scroll {

    position: absolute;

    left: 6vw;

    bottom: 35px;

    display: inline-flex;

    align-items: center;

    gap: 14px;

    color:

        rgba(
            255,
            255,
            255,
            0.60
        );

    text-decoration: none;

    font-size: 11px;

    font-weight: 700;

    letter-spacing: 2px;

    text-transform: uppercase;

    transition:

        var(--api-transition);

}


.api-hero-scroll:hover {

    color:

        var(--api-white);

}


.api-hero-scroll-line {

    width: 50px;

    height: 1px;

    background:

        var(--api-red);

    position: relative;

    overflow: hidden;

}


.api-hero-scroll-line::after {

    content: "";

    position: absolute;

    top: 0;

    left: -100%;

    width: 100%;

    height: 100%;

    background:

        var(--api-white);

    animation:

        apiScrollLine

        2.2s

        ease-in-out

        infinite;

}


@keyframes apiScrollLine {

    0% {

        left: -100%;

    }

    50% {

        left: 0;

    }

    100% {

        left: 100%;

    }

}


/* =========================================================
   25. BOTTOM RED LINE
========================================================= */

.api-hero-bottom-line {

    position: absolute;

    left: 0;

    bottom: 0;

    width: 100%;

    height: 4px;

    background:

        var(--api-red);

}


/* =========================================================
   26. DECORATIVE CIRCLES
========================================================= */

.api-hero-decoration {

    position: absolute;

    border-radius: 50%;

    pointer-events: none;

    z-index: -1;

}


.api-hero-decoration-one {

    width: 300px;

    height: 300px;

    top: -150px;

    right: 15%;

    border:

        1px

        solid

        rgba(
            215,
            25,
            32,
            0.25
        );

}


.api-hero-decoration-two {

    width: 180px;

    height: 180px;

    bottom: 8%;

    right: 38%;

    border:

        1px

        solid

        rgba(
            255,
            255,
            255,
            0.08
        );

}


/* =========================================================
   27. INITIAL ANIMATION STATES
========================================================= */

[data-api-animation] {

    opacity: 0;

    transition:

        opacity

        0.9s

        ease,

        transform

        0.9s

        cubic-bezier(
            0.22,
            1,
            0.36,
            1
        );

}


[data-api-animation="fade-up"] {

    transform:

        translateY(35px);

}


[data-api-animation="fade-left"] {

    transform:

        translateX(45px);

}


/* =========================================================
   28. ACTIVE ANIMATION STATE
========================================================= */

.api-animation-visible {

    opacity: 1;

    transform:

        translate(
            0,
            0
        );

}


/* =========================================================
   29. ANIMATION DELAYS
========================================================= */

.api-hero-eyebrow {

    transition-delay:

        0.1s;

}


.api-hero-title {

    transition-delay:

        0.2s;

}


.api-hero-description {

    transition-delay:

        0.35s;

}


.api-hero-actions {

    transition-delay:

        0.5s;

}


.api-hero-trust {

    transition-delay:

        0.65s;

}


.api-hero-impact-card {

    transition-delay:

        0.4s;

}


/* =========================================================
   30. TABLET RESPONSIVE
========================================================= */

@media
(max-width: 1100px) {

    .api-hero {

        padding:

            130px

            5vw

            90px;

    }


    .api-hero-container {

        grid-template-columns:

            1fr;

        gap: 55px;

    }


    .api-hero-content {

        max-width: 800px;

    }


    .api-hero-impact-card {

        max-width: 600px;

    }


    .api-hero-scroll {

        display: none;

    }

}


/* =========================================================
   31. TABLET SMALL
========================================================= */

@media
(max-width: 768px) {

    .api-hero {

        min-height: auto;

        padding:

            120px

            24px

            80px;

    }


    .api-hero-container {

        gap: 45px;

    }


    .api-hero-title {

        font-size:

            clamp(
                44px,
                9vw,
                64px
            );

        letter-spacing:

            -1.5px;

    }


    .api-hero-description {

        font-size: 16px;

        line-height: 1.7;

    }


    .api-hero-impact-card {

        padding: 30px;

    }

}


/* =========================================================
   32. MOBILE
========================================================= */

@media
(max-width: 560px) {

    .api-hero {

        padding:

            110px

            20px

            70px;

    }


    .api-hero-overlay {

        background:

            linear-gradient(
                180deg,
                rgba(0, 0, 0, 0.88),
                rgba(0, 0, 0, 0.75)
            );

    }


    .api-hero-title {

        font-size: 43px;

        line-height: 1.05;

    }


    .api-hero-title-highlight::after {

        height: 3px;

        bottom: -5px;

    }


    .api-hero-description {

        font-size: 15px;

    }


    .api-hero-actions {

        flex-direction: column;

        align-items: stretch;

        width: 100%;

    }


    .api-button {

        width: 100%;

        min-height: 56px;

    }


    .api-hero-trust {

        align-items: flex-start;

    }


    .api-hero-impact-card {

        padding: 25px;

        border-radius: 14px;

    }


    .api-hero-impact-card h2 {

        font-size: 24px;

    }


    .api-hero-card-number {

        font-size: 27px;

    }


    .api-hero-decoration-one {

        width: 180px;

        height: 180px;

        right: -80px;

    }


    .api-hero-decoration-two {

        display: none;

    }

}


/* =========================================================
   33. REDUCED MOTION ACCESSIBILITY
========================================================= */

@media
(prefers-reduced-motion: reduce) {

    .api-hero-background img {

        animation: none;

        transform: scale(1.04);

    }


    .api-hero-scroll-line::after {

        animation: none;

    }


    [data-api-animation] {

        opacity: 1;

        transform: none;

        transition: none;

    }


    .api-button,
    .api-hero-impact-card {

        transition: none;

    }

}


/* =========================================================
   34. KEYBOARD ACCESSIBILITY
========================================================= */

.api-button:focus-visible,
.api-hero-scroll:focus-visible {

    outline:

        3px

        solid

        var(--api-white);

    outline-offset: 4px;

}


/* =========================================================
   END OF ABILITY PLUS INITIATIVE HERO CSS
========================================================= */

/* =========================================================
   ABILITY PLUS INITIATIVE
   ABOUT SECTION CSS
========================================================= */


/* =========================================================
   01. ABOUT SECTION
========================================================= */

.api-about {

    position: relative;

    width: 100%;

    overflow: hidden;

    background: #ffffff;

    color: #111111;

    padding: 120px 6vw 0;

}


/* =========================================================
   02. ABOUT CONTAINER
========================================================= */

.api-about-container {

    position: relative;

    z-index: 2;

    max-width: 1400px;

    margin: 0 auto;

    display: grid;

    grid-template-columns:
        minmax(0, 0.9fr)
        minmax(0, 1.1fr);

    gap: 90px;

    align-items: center;

}


/* =========================================================
   03. VISUAL AREA
========================================================= */

.api-about-visual {

    position: relative;

    min-height: 600px;

}


/* =========================================================
   04. MAIN IMAGE
========================================================= */

.api-about-main-image {

    position: absolute;

    top: 0;

    left: 0;

    width: 88%;

    height: 540px;

    overflow: hidden;

    border-radius: 20px;

    box-shadow:
        0 30px 70px
        rgba(0, 0, 0, 0.15);

}


.api-about-main-image img {

    width: 100%;

    height: 100%;

    display: block;

    object-fit: cover;

    object-position: center;

    transition:
        transform 0.8s
        cubic-bezier(
            0.22,
            1,
            0.36,
            1
        );

}


.api-about-main-image:hover img {

    transform:
        scale(1.06);

}


/* =========================================================
   05. ESTABLISHED CARD
========================================================= */

.api-about-established-card {

    position: absolute;

    right: 0;

    bottom: 35px;

    z-index: 3;

    width: 190px;

    padding: 28px;

    display: flex;

    flex-direction: column;

    background:

        #D71920;

    color: #ffffff;

    border-radius: 12px;

    box-shadow:

        0 20px 45px
        rgba(
            215,
            25,
            32,
            0.35
        );

}


.api-about-established-number {

    font-family:
        "Poppins",
        "Segoe UI",
        sans-serif;

    font-size: 42px;

    font-weight: 800;

    line-height: 1;

}


.api-about-established-label {

    margin-top: 8px;

    font-size: 13px;

    font-weight: 600;

    opacity: 0.9;

}


/* =========================================================
   06. IMAGE ACCENT
========================================================= */

.api-about-image-accent {

    position: absolute;

    left: -25px;

    bottom: 20px;

    width: 120px;

    height: 120px;

    z-index: -1;

    border:

        18px solid

        #D71920;

    border-radius: 50%;

    opacity: 0.12;

}


/* =========================================================
   07. SECTION EYEBROW
========================================================= */

.api-section-eyebrow {

    display: flex;

    align-items: center;

    gap: 12px;

    margin-bottom: 20px;

    color: #D71920;

    font-size: 13px;

    font-weight: 800;

    letter-spacing: 2px;

    text-transform: uppercase;

}


.api-section-eyebrow-line {

    width: 38px;

    height: 3px;

    background: #D71920;

    border-radius: 20px;

}


/* =========================================================
   08. ABOUT HEADING
========================================================= */

.api-about-title {

    max-width: 650px;

    margin:

        0

        0

        25px;

    font-family:

        "Poppins",

        "Segoe UI",

        sans-serif;

    font-size:

        clamp(
            38px,
            4vw,
            62px
        );

    font-weight: 800;

    line-height: 1.08;

    letter-spacing: -1.5px;

    color: #111111;

}


.api-about-title span {

    color: #D71920;

}


/* =========================================================
   09. ABOUT TEXT
========================================================= */

.api-about-intro {

    max-width: 680px;

    margin:

        0

        0

        18px;

    color: #222222;

    font-size: 19px;

    line-height: 1.7;

    font-weight: 600;

}


.api-about-description {

    max-width: 680px;

    margin:

        0

        0

        35px;

    color: #666666;

    font-size: 16px;

    line-height: 1.85;

}


/* =========================================================
   10. MISSION / VISION
========================================================= */

.api-about-values {

    display: grid;

    grid-template-columns:
        1fr
        1fr;

    gap: 18px;

    margin-bottom: 35px;

}


.api-about-value-card {

    display: flex;

    gap: 16px;

    padding: 22px;

    background: #F7F7F7;

    border:

        1px solid

        #EEEEEE;

    border-radius: 12px;

    transition:

        all 0.4s
        cubic-bezier(
            0.22,
            1,
            0.36,
            1
        );

}


.api-about-value-card:hover {

    transform:
        translateY(-5px);

    border-color:
        rgba(
            215,
            25,
            32,
            0.25
        );

    box-shadow:

        0 15px 35px
        rgba(
            0,
            0,
            0,
            0.08
        );

}


/* =========================================================
   11. VALUE ICON
========================================================= */

.api-about-value-icon {

    width: 42px;

    height: 42px;

    flex-shrink: 0;

    display: flex;

    align-items: center;

    justify-content: center;

    border-radius: 10px;

    background:
        rgba(
            215,
            25,
            32,
            0.10
        );

}


.api-about-value-icon svg {

    width: 22px;

    height: 22px;

    fill: #D71920;

}


.api-about-value-card h3 {

    margin:

        0

        0

        7px;

    color: #111111;

    font-size: 17px;

    font-weight: 800;

}


.api-about-value-card p {

    margin: 0;

    color: #666666;

    font-size: 13px;

    line-height: 1.7;

}


/* =========================================================
   12. ABOUT CTA
========================================================= */

.api-about-actions {

    display: flex;

    align-items: center;

    flex-wrap: wrap;

    gap: 20px;

}


.api-about-button {

    min-height: 54px;

    display: inline-flex;

    align-items: center;

    gap: 15px;

    padding:

        0

        26px;

    background: #111111;

    color: #ffffff;

    border-radius: 7px;

    text-decoration: none;

    font-size: 14px;

    font-weight: 700;

    transition:

        all 0.35s
        ease;

}


.api-about-button:hover {

    background: #D71920;

    color: #ffffff;

    transform:
        translateY(-3px);

}


.api-about-button-arrow {

    font-size: 20px;

    transition:
        transform 0.3s
        ease;

}


.api-about-button:hover
.api-about-button-arrow {

    transform:
        translateX(5px);

}


.api-about-note {

    color: #888888;

    font-size: 13px;

    font-style: italic;

}


/* =========================================================
   13. WHAT WE DO SECTION
========================================================= */

.api-about-work {

    position: relative;

    max-width: 1400px;

    margin:

        120px

        auto

        0;

    padding:

        90px

        6vw

        110px;

    background: #111111;

    color: #ffffff;

}


.api-about-work-container {

    display: grid;

    grid-template-columns:
        0.8fr
        1.2fr;

    gap: 80px;

    align-items: end;

    margin-bottom: 65px;

}


.api-about-work-heading h2 {

    max-width: 600px;

    margin: 0;

    font-family:

        "Poppins",

        "Segoe UI",

        sans-serif;

    font-size:

        clamp(
            35px,
            4vw,
            56px
        );

    line-height: 1.1;

    font-weight: 800;

    color: #ffffff;

}


.api-about-work-text p {

    max-width: 650px;

    margin: 0;

    color:

        rgba(
            255,
            255,
            255,
            0.65
        );

    font-size: 16px;

    line-height: 1.8;

}


/* =========================================================
   14. WORK AREAS
========================================================= */

.api-about-areas {

    display: grid;

    grid-template-columns:
        repeat(
            4,
            1fr
        );

    gap: 1px;

    background:

        rgba(
            255,
            255,
            255,
            0.12
        );

}


.api-about-area {

    min-height: 280px;

    padding: 35px 28px;

    background: #111111;

    transition:

        all 0.4s
        ease;

}


.api-about-area:hover {

    background: #D71920;

    transform:
        translateY(-5px);

}


.api-about-area-number {

    display: block;

    margin-bottom: 55px;

    color:

        rgba(
            255,
            255,
            255,
            0.30
        );

    font-size: 13px;

    font-weight: 700;

}


.api-about-area h3 {

    margin:

        0

        0

        14px;

    color: #ffffff;

    font-size: 19px;

    font-weight: 800;

}


.api-about-area p {

    margin: 0;

    color:

        rgba(
            255,
            255,
            255,
            0.60
        );

    font-size: 13px;

    line-height: 1.7;

}


.api-about-area:hover p {

    color:

        rgba(
            255,
            255,
            255,
            0.85
        );

}


/* =========================================================
   15. DECORATIONS
========================================================= */

.api-about-decoration {

    position: absolute;

    pointer-events: none;

    border-radius: 50%;

}


.api-about-decoration-one {

    width: 300px;

    height: 300px;

    top: 50px;

    right: -150px;

    border:

        1px solid

        rgba(
            215,
            25,
            32,
            0.08
        );

}


.api-about-decoration-two {

    width: 200px;

    height: 200px;

    bottom: 300px;

    left: -100px;

    border:

        1px solid

        rgba(
            0,
            0,
            0,
            0.06
        );

}


/* =========================================================
   16. RESPONSIVE — TABLET
========================================================= */

@media
(max-width: 1100px) {

    .api-about {

        padding:

            100px

            5vw

            0;

    }


    .api-about-container {

        grid-template-columns:
            1fr;

        gap: 70px;

    }


    .api-about-visual {

        max-width: 700px;

        width: 100%;

        margin: 0 auto;

    }


    .api-about-content {

        max-width: 850px;

    }


    .api-about-work {

        margin-top: 90px;

        padding:

            75px

            5vw

            90px;

    }


    .api-about-work-container {

        grid-template-columns:
            1fr;

        gap: 35px;

    }


    .api-about-areas {

        grid-template-columns:
            1fr
            1fr;

    }

}


/* =========================================================
   17. RESPONSIVE — MOBILE
========================================================= */

@media
(max-width: 700px) {

    .api-about {

        padding:

            80px

            20px

            0;

    }


    .api-about-visual {

        min-height: 480px;

    }


    .api-about-main-image {

        width: 92%;

        height: 430px;

    }


    .api-about-established-card {

        right: 0;

        bottom: 15px;

        width: 160px;

        padding: 22px;

    }


    .api-about-established-number {

        font-size: 34px;

    }


    .api-about-title {

        font-size: 40px;

    }


    .api-about-intro {

        font-size: 17px;

    }


    .api-about-values {

        grid-template-columns:
            1fr;

    }


    .api-about-actions {

        align-items:
            flex-start;

        flex-direction:
            column;

    }


    .api-about-work {

        margin-top: 70px;

        padding:

            65px

            20px

            70px;

    }


    .api-about-areas {

        grid-template-columns:
            1fr;

    }


    .api-about-area {

        min-height: auto;

    }


    .api-about-area-number {

        margin-bottom: 30px;

    }

}


/* =========================================================
   18. SMALL MOBILE
========================================================= */

@media
(max-width: 420px) {

    .api-about-title {

        font-size: 35px;

    }


    .api-about-visual {

        min-height: 420px;

    }


    .api-about-main-image {

        height: 370px;

    }


    .api-about-established-card {

        width: 145px;

        padding: 18px;

    }


    .api-about-established-number {

        font-size: 30px;

    }

}

/* =========================================================
   ABILITY PLUS INITIATIVE
   IMPACT SECTION CSS
========================================================= */


/* =========================================================
   01. IMPACT SECTION
========================================================= */

.api-impact {

    position: relative;

    width: 100%;

    overflow: hidden;

    padding:

        120px

        6vw

        120px;

    background:

        #F5F5F5;

    color:

        #111111;

}


/* =========================================================
   02. IMPACT CONTAINER
========================================================= */

.api-impact-container {

    position: relative;

    z-index: 2;

    max-width:

        1400px;

    margin:

        0 auto

        70px;

    display: grid;

    grid-template-columns:

        1fr

        1fr;

    gap:

        80px;

    align-items: end;

}


/* =========================================================
   03. EYEBROW
========================================================= */

.api-impact-eyebrow {

    display: flex;

    align-items: center;

    gap: 12px;

    margin-bottom: 20px;

    color:

        #D71920;

    font-size: 13px;

    font-weight: 800;

    letter-spacing: 2px;

    text-transform: uppercase;

}


.api-impact-eyebrow-line {

    width: 38px;

    height: 3px;

    background:

        #D71920;

    border-radius: 20px;

}


/* =========================================================
   04. MAIN HEADING
========================================================= */

.api-impact-heading h2 {

    max-width:

        650px;

    margin:

        0;

    font-family:

        "Poppins",

        "Segoe UI",

        sans-serif;

    font-size:

        clamp(

            40px,

            4.5vw,

            68px

        );

    font-weight:

        800;

    line-height:

        1.05;

    letter-spacing:

        -2px;

    color:

        #111111;

}


.api-impact-heading h2 span {

    color:

        #D71920;

}


/* =========================================================
   05. INTRO TEXT
========================================================= */

.api-impact-intro {

    max-width:

        650px;

}


.api-impact-intro p {

    margin:

        0

        0

        20px;

    color:

        #666666;

    font-size:

        16px;

    line-height:

        1.85;

}


/* =========================================================
   06. STATISTICS GRID
========================================================= */

.api-impact-stats {

    position:

        relative;

    z-index:

        2;

    max-width:

        1400px;

    margin:

        0 auto;

    display:

        grid;

    grid-template-columns:

        repeat(

            4,

            1fr

        );

    background:

        #111111;

    border-radius:

        14px;

    overflow:

        hidden;

    box-shadow:

        0 25px 70px

        rgba(

            0,

            0,

            0,

            0.12

        );

}


/* =========================================================
   07. STAT CARD
========================================================= */

.api-impact-stat {

    position:

        relative;

    min-height:

        330px;

    padding:

        40px 30px;

    background:

        #111111;

    border-right:

        1px solid

        rgba(

            255,

            255,

            255,

            0.10

        );

    transition:

        all

        0.4s

        cubic-bezier(

            0.22,

            1,

            0.36,

            1

        );

}


.api-impact-stat:last-child {

    border-right:

        none;

}


.api-impact-stat:hover {

    background:

        #D71920;

    transform:

        translateY(

            -8px

        );

}


/* =========================================================
   08. STAT NUMBER
========================================================= */

.api-impact-stat-number {

    min-height:

        70px;

    display:

        flex;

    align-items:

        center;

    color:

        #FFFFFF;

    font-family:

        "Poppins",

        "Segoe UI",

        sans-serif;

    font-size:

        clamp(

            40px,

            4vw,

            62px

        );

    font-weight:

        800;

    line-height:

        1;

    letter-spacing:

        -2px;

}


.api-counter-plus {

    color:

        #D71920;

}


.api-impact-stat:hover
.api-counter-plus {

    color:

        #FFFFFF;

}


.api-counter-text {

    font-size:

        clamp(

            24px,

            2.5vw,

            38px

        );

    letter-spacing:

        -1px;

}


/* =========================================================
   09. STAT LINE
========================================================= */

.api-impact-stat-line {

    width:

        40px;

    height:

        3px;

    margin:

        25px 0;

    background:

        #D71920;

    transition:

        width

        0.4s

        ease;

}


.api-impact-stat:hover
.api-impact-stat-line {

    width:

        70px;

    background:

        #FFFFFF;

}


/* =========================================================
   10. STAT TITLE
========================================================= */

.api-impact-stat h3 {

    margin:

        0

        0

        14px;

    color:

        #FFFFFF;

    font-size:

        19px;

    font-weight:

        800;

}


/* =========================================================
   11. STAT DESCRIPTION
========================================================= */

.api-impact-stat p {

    margin:

        0;

    color:

        rgba(

            255,

            255,

            255,

            0.58

        );

    font-size:

        13px;

    line-height:

        1.75;

}


.api-impact-stat:hover
.api-impact-stat p {

    color:

        rgba(

            255,

            255,

            255,

            0.85

        );

}


/* =========================================================
   12. FEATURE SECTION
========================================================= */

.api-impact-feature {

    position:

        relative;

    z-index:

        2;

    max-width:

        1400px;

    min-height:

        480px;

    margin:

        100px auto 0;

    padding:

        70px;

    display:

        grid;

    grid-template-columns:

        1.1fr

        0.9fr;

    gap:

        60px;

    align-items:

        center;

    overflow:

        hidden;

    background:

        #D71920;

    border-radius:

        18px;

}


/* =========================================================
   13. FEATURE LABEL
========================================================= */

.api-impact-feature-label {

    display:

        inline-flex;

    margin-bottom:

        22px;

}


.api-impact-feature-label span {

    padding:

        8px 14px;

    color:

        #FFFFFF;

    border:

        1px solid

        rgba(

            255,

            255,

            255,

            0.35

        );

    border-radius:

        50px;

    font-size:

        11px;

    font-weight:

        700;

    letter-spacing:

        1.5px;

    text-transform:

        uppercase;

}


/* =========================================================
   14. FEATURE HEADING
========================================================= */

.api-impact-feature-content h3 {

    max-width:

        700px;

    margin:

        0 0 25px;

    color:

        #FFFFFF;

    font-family:

        "Poppins",

        "Segoe UI",

        sans-serif;

    font-size:

        clamp(

            34px,

            4vw,

            58px

        );

    font-weight:

        800;

    line-height:

        1.08;

    letter-spacing:

        -1.5px;

}


.api-impact-feature-content h3 span {

    color:

        #111111;

}


/* =========================================================
   15. FEATURE DESCRIPTION
========================================================= */

.api-impact-feature-content p {

    max-width:

        650px;

    margin:

        0 0 32px;

    color:

        rgba(

            255,

            255,

            255,

            0.82

        );

    font-size:

        16px;

    line-height:

        1.8;

}


/* =========================================================
   16. FEATURE BUTTON
========================================================= */

.api-impact-button {

    min-height:

        56px;

    display:

        inline-flex;

    align-items:

        center;

    gap:

        18px;

    padding:

        0 25px;

    background:

        #111111;

    color:

        #FFFFFF;

    border-radius:

        7px;

    text-decoration:

        none;

    font-size:

        14px;

    font-weight:

        700;

    transition:

        all

        0.35s

        ease;

}


.api-impact-button:hover {

    background:

        #FFFFFF;

    color:

        #111111;

    transform:

        translateY(

            -4px

        );

}


/* =========================================================
   17. FEATURE VISUAL
========================================================= */

.api-impact-feature-visual {

    position:

        relative;

    min-height:

        350px;

    display:

        flex;

    align-items:

        center;

    justify-content:

        center;

}


/* =========================================================
   18. DECORATIVE CIRCLES
========================================================= */

.api-impact-circle {

    position:

        absolute;

    border-radius:

        50%;

    border:

        1px solid

        rgba(

            255,

            255,

            255,

            0.30

        );

}


.circle-one {

    width:

        350px;

    height:

        350px;

}


.circle-two {

    width:

        250px;

    height:

        250px;

}


.circle-three {

    width:

        150px;

    height:

        150px;

}


/* =========================================================
   19. CENTER SYMBOL
========================================================= */

.api-impact-feature-symbol {

    position:

        relative;

    z-index:

        3;

    width:

        100px;

    height:

        100px;

    display:

        flex;

    align-items:

        center;

    justify-content:

        center;

    background:

        #111111;

    border-radius:

        50%;

    box-shadow:

        0 20px 50px

        rgba(

            0,

            0,

            0,

            0.20

        );

}


.api-impact-feature-symbol span {

    color:

        #FFFFFF;

    font-size:

        60px;

    font-weight:

        300;

    line-height:

        1;

}


/* =========================================================
   20. BACKGROUND DECORATIONS
========================================================= */

.api-impact-decoration {

    position:

        absolute;

    border-radius:

        50%;

    pointer-events:

        none;

}


.api-impact-decoration-one {

    width:

        500px;

    height:

        500px;

    top:

        -250px;

    right:

        -200px;

    border:

        1px solid

        rgba(

            215,

            25,

            32,

            0.10

        );

}


.api-impact-decoration-two {

    width:

        300px;

    height:

        300px;

    bottom:

        100px;

    left:

        -150px;

    border:

        1px solid

        rgba(

            0,

            0,

            0,

            0.05

        );

}


/* =========================================================
   21. TABLET
========================================================= */

@media

(max-width: 1100px) {

    .api-impact {

        padding:

            100px

            5vw;

    }


    .api-impact-container {

        grid-template-columns:

            1fr;

        gap:

            35px;

    }


    .api-impact-stats {

        grid-template-columns:

            1fr

            1fr;

    }


    .api-impact-stat:nth-child(2) {

        border-right:

            none;

    }


    .api-impact-feature {

        padding:

            60px;

        grid-template-columns:

            1fr;

    }


    .api-impact-feature-visual {

        min-height:

            280px;

    }

}


/* =========================================================
   22. MOBILE
========================================================= */

@media

(max-width: 700px) {

    .api-impact {

        padding:

            80px

            20px;

    }


    .api-impact-heading h2 {

        font-size:

            40px;

    }


    .api-impact-stats {

        grid-template-columns:

            1fr;

    }


    .api-impact-stat {

        min-height:

            auto;

        padding:

            35px 28px;

        border-right:

            none;

        border-bottom:

            1px solid

            rgba(

                255,

                255,

                255,

                0.10

            );

    }


    .api-impact-stat:last-child {

        border-bottom:

            none;

    }


    .api-impact-feature {

        margin-top:

            70px;

        padding:

            45px 25px;

    }


    .api-impact-feature-content h3 {

        font-size:

            36px;

    }


    .api-impact-feature-visual {

        min-height:

            230px;

    }


    .circle-one {

        width:

            230px;

        height:

            230px;

    }


    .circle-two {

        width:

            170px;

        height:

            170px;

    }


    .circle-three {

        width:

            110px;

        height:

            110px;

    }

}
/* =========================================================
   ABILITY PLUS INITIATIVE
   PROGRAMS SECTION CSS
========================================================= */


/* =========================================================
   01. PROGRAMS SECTION
========================================================= */

.api-programs {

    position: relative;

    width: 100%;

    overflow: hidden;

    padding:

        120px

        6vw

        120px;

    background:

        #FFFFFF;

    color:

        #111111;

}


/* =========================================================
   02. PROGRAMS HEADER
========================================================= */

.api-programs-header {

    position: relative;

    z-index: 2;

    max-width:

        850px;

    margin:

        0 auto

        75px;

    text-align:

        center;

}


/* =========================================================
   03. EYEBROW
========================================================= */

.api-programs-eyebrow {

    display:

        inline-flex;

    align-items:

        center;

    gap:

        12px;

    margin-bottom:

        20px;

    color:

        #D71920;

    font-size:

        13px;

    font-weight:

        800;

    letter-spacing:

        2px;

    text-transform:

        uppercase;

}


.api-programs-eyebrow-line {

    width:

        38px;

    height:

        3px;

    background:

        #D71920;

    border-radius:

        20px;

}


/* =========================================================
   04. HEADER TITLE
========================================================= */

.api-programs-header h2 {

    margin:

        0

        0

        22px;

    font-family:

        "Poppins",

        "Segoe UI",

        sans-serif;

    font-size:

        clamp(

            40px,

            5vw,

            70px

        );

    font-weight:

        800;

    line-height:

        1.05;

    letter-spacing:

        -2px;

    color:

        #111111;

}


.api-programs-header h2 span {

    color:

        #D71920;

}


/* =========================================================
   05. HEADER DESCRIPTION
========================================================= */

.api-programs-header p {

    max-width:

        750px;

    margin:

        0 auto;

    color:

        #666666;

    font-size:

        16px;

    line-height:

        1.85;

}


/* =========================================================
   06. PROGRAMS GRID
========================================================= */

.api-programs-grid {

    position:

        relative;

    z-index:

        2;

    max-width:

        1400px;

    margin:

        0 auto;

    display:

        grid;

    grid-template-columns:

        repeat(

            4,

            1fr

        );

    gap:

        18px;

}


/* =========================================================
   07. PROGRAM CARD
========================================================= */

.api-program-card {

    position:

        relative;

    min-height:

        420px;

    padding:

        35px 30px;

    display:

        flex;

    flex-direction:

        column;

    background:

        #F7F7F7;

    border:

        1px solid

        #EEEEEE;

    border-radius:

        12px;

    overflow:

        hidden;

    transition:

        all

        0.45s

        cubic-bezier(

            0.22,

            1,

            0.36,

            1

        );

}


/* =========================================================
   08. CARD HOVER
========================================================= */

.api-program-card::before {

    content:

        "";

    position:

        absolute;

    top:

        0;

    left:

        0;

    width:

        100%;

    height:

        4px;

    background:

        #D71920;

    transform:

        scaleX(

            0

        );

    transform-origin:

        left;

    transition:

        transform

        0.45s

        ease;

}


.api-program-card:hover {

    background:

        #111111;

    border-color:

        #111111;

    transform:

        translateY(

            -10px

        );

    box-shadow:

        0

        25px

        60px

        rgba(

            0,

            0,

            0,

            0.14

        );

}


.api-program-card:hover::before {

    transform:

        scaleX(

            1

        );

}


/* =========================================================
   09. PROGRAM NUMBER
========================================================= */

.api-program-number {

    position:

        absolute;

    top:

        25px;

    right:

        25px;

    color:

        rgba(

            0,

            0,

            0,

            0.08

        );

    font-family:

        "Poppins",

        "Segoe UI",

        sans-serif;

    font-size:

        42px;

    font-weight:

        800;

    line-height:

        1;

}


.api-program-card:hover
.api-program-number {

    color:

        rgba(

            255,

            255,

            255,

            0.12

        );

}


/* =========================================================
   10. PROGRAM ICON
========================================================= */

.api-program-icon {

    width:

        58px;

    height:

        58px;

    margin:

        20px

        0

        35px;

    display:

        flex;

    align-items:

        center;

    justify-content:

        center;

    background:

        rgba(

            215,

            25,

            32,

            0.10

        );

    border-radius:

        12px;

    transition:

        all

        0.4s

        ease;

}


.api-program-icon svg {

    width:

        29px;

    height:

        29px;

    fill:

        #D71920;

}


.api-program-card:hover
.api-program-icon {

    background:

        #D71920;

    transform:

        rotate(

            -5deg

        );

}


.api-program-card:hover
.api-program-icon svg {

    fill:

        #FFFFFF;

}


/* =========================================================
   11. PROGRAM TITLE
========================================================= */

.api-program-card h3 {

    max-width:

        260px;

    margin:

        0

        0

        15px;

    color:

        #111111;

    font-family:

        "Poppins",

        "Segoe UI",

        sans-serif;

    font-size:

        20px;

    font-weight:

        800;

    line-height:

        1.25;

}


.api-program-card:hover h3 {

    color:

        #FFFFFF;

}


/* =========================================================
   12. PROGRAM DESCRIPTION
========================================================= */

.api-program-card p {

    margin:

        0;

    color:

        #6B6B6B;

    font-size:

        13px;

    line-height:

        1.75;

}


.api-program-card:hover p {

    color:

        rgba(

            255,

            255,

            255,

            0.65

        );

}


/* =========================================================
   13. PROGRAM LINK
========================================================= */

.api-program-link {

    margin-top:

        auto;

    padding-top:

        25px;

    display:

        inline-flex;

    align-items:

        center;

    gap:

        12px;

    color:

        #D71920;

    text-decoration:

        none;

    font-size:

        13px;

    font-weight:

        800;

}


.api-program-link span:last-child {

    font-size:

        19px;

    transition:

        transform

        0.3s

        ease;

}


.api-program-link:hover {

    color:

        #D71920;

}


.api-program-link:hover
span:last-child {

    transform:

        translateX(

            6px

        );

}


.api-program-card:hover
.api-program-link {

    color:

        #FFFFFF;

}


/* =========================================================
   14. PROGRAMS FOOTER CTA
========================================================= */

.api-programs-footer {

    position:

        relative;

    z-index:

        2;

    max-width:

        1400px;

    margin:

        80px auto 0;

    padding:

        50px 55px;

    display:

        flex;

    align-items:

        center;

    justify-content:

        space-between;

    gap:

        40px;

    background:

        #111111;

    border-radius:

        14px;

}


.api-programs-footer-label {

    display:

        block;

    margin-bottom:

        10px;

    color:

        #D71920;

    font-size:

        12px;

    font-weight:

        800;

    letter-spacing:

        1.5px;

    text-transform:

        uppercase;

}


.api-programs-footer h3 {

    max-width:

        650px;

    margin:

        0;

    color:

        #FFFFFF;

    font-family:

        "Poppins",

        "Segoe UI",

        sans-serif;

    font-size:

        clamp(

            24px,

            3vw,

            38px

        );

    line-height:

        1.2;

    font-weight:

        800;

}


/* =========================================================
   15. PROGRAMS BUTTON
========================================================= */

.api-programs-button {

    min-height:

        56px;

    flex-shrink:

        0;

    display:

        inline-flex;

    align-items:

        center;

    gap:

        18px;

    padding:

        0 26px;

    background:

        #D71920;

    color:

        #FFFFFF;

    border-radius:

        7px;

    text-decoration:

        none;

    font-size:

        14px;

    font-weight:

        700;

    transition:

        all

        0.35s

        ease;

}


.api-programs-button:hover {

    background:

        #FFFFFF;

    color:

        #111111;

    transform:

        translateY(

            -4px

        );

}


.api-programs-button span:last-child {

    font-size:

        20px;

    transition:

        transform

        0.3s

        ease;

}


.api-programs-button:hover
span:last-child {

    transform:

        translateX(

            5px

        );

}


/* =========================================================
   16. DECORATION
========================================================= */

.api-programs-decoration-one {

    position:

        absolute;

    width:

        500px;

    height:

        500px;

    top:

        -250px;

    right:

        -250px;

    border:

        1px solid

        rgba(

            215,

            25,

            32,

            0.07

        );

    border-radius:

        50%;

    pointer-events:

        none;

}


/* =========================================================
   17. TABLET
========================================================= */

@media

(max-width: 1100px) {

    .api-programs {

        padding:

            100px

            5vw;

    }


    .api-programs-grid {

        grid-template-columns:

            repeat(

                2,

                1fr

            );

    }


    .api-programs-footer {

        padding:

            45px;

    }

}


/* =========================================================
   18. MOBILE
========================================================= */

@media

(max-width: 700px) {

    .api-programs {

        padding:

            80px

            20px;

    }


    .api-programs-header {

        margin-bottom:

            55px;

    }


    .api-programs-header h2 {

        font-size:

            40px;

    }


    .api-programs-grid {

        grid-template-columns:

            1fr;

    }


    .api-program-card {

        min-height:

            390px;

    }


    .api-programs-footer {

        margin-top:

            60px;

        padding:

            35px 25px;

        flex-direction:

            column;

        align-items:

            flex-start;

    }


    .api-programs-button {

        width:

            100%;

        justify-content:

            center;

    }

}
/* =========================================================
   ABILITY PLUS INITIATIVE
   GALLERY SECTION CSS
========================================================= */


/* =========================================================
   01. GALLERY SECTION
========================================================= */

.api-gallery {

    position: relative;

    width: 100%;

    overflow: hidden;

    padding:

        120px

        6vw

        120px;

    background:

        #F5F5F5;

    color:

        #111111;

}


/* =========================================================
   02. GALLERY HEADER
========================================================= */

.api-gallery-header {

    position: relative;

    z-index: 2;

    max-width:

        850px;

    margin:

        0 auto

        70px;

    text-align:

        center;

}


/* =========================================================
   03. EYEBROW
========================================================= */

.api-gallery-eyebrow {

    display:

        inline-flex;

    align-items:

        center;

    gap:

        12px;

    margin-bottom:

        20px;

    color:

        #D71920;

    font-size:

        13px;

    font-weight:

        800;

    letter-spacing:

        2px;

    text-transform:

        uppercase;

}


.api-gallery-eyebrow-line {

    width:

        38px;

    height:

        3px;

    background:

        #D71920;

    border-radius:

        20px;

}


/* =========================================================
   04. GALLERY TITLE
========================================================= */

.api-gallery-header h2 {

    margin:

        0

        0

        22px;

    font-family:

        "Poppins",

        "Segoe UI",

        sans-serif;

    font-size:

        clamp(

            40px,

            5vw,

            70px

        );

    font-weight:

        800;

    line-height:

        1.05;

    letter-spacing:

        -2px;

    color:

        #111111;

}


.api-gallery-header h2 span {

    color:

        #D71920;

}


/* =========================================================
   05. DESCRIPTION
========================================================= */

.api-gallery-header p {

    max-width:

        750px;

    margin:

        0 auto;

    color:

        #666666;

    font-size:

        16px;

    line-height:

        1.85;

}


/* =========================================================
   06. GALLERY GRID
========================================================= */

.api-gallery-grid {

    position:

        relative;

    z-index:

        2;

    max-width:

        1400px;

    margin:

        0 auto;

    display:

        grid;

    grid-template-columns:

        1.4fr

        1fr

        1fr;

    grid-template-rows:

        300px

        300px;

    gap:

        18px;

}


/* =========================================================
   07. GALLERY ITEM
========================================================= */

.api-gallery-item {

    position:

        relative;

    display:

        block;

    overflow:

        hidden;

    border-radius:

        12px;

    background:

        #111111;

    text-decoration:

        none;

}


.api-gallery-featured {

    grid-row:

        span 2;

}


/* =========================================================
   08. GALLERY IMAGE
========================================================= */

.api-gallery-item img {

    width:

        100%;

    height:

        100%;

    display:

        block;

    object-fit:

        cover;

    transition:

        transform

        0.8s

        cubic-bezier(

            0.22,

            1,

            0.36,

            1

        );

}


.api-gallery-item:hover img {

    transform:

        scale(

            1.08

        );

}


/* =========================================================
   09. IMAGE OVERLAY
========================================================= */

.api-gallery-overlay {

    position:

        absolute;

    inset:

        0;

    display:

        flex;

    align-items:

        flex-end;

    justify-content:

        space-between;

    padding:

        28px;

    background:

        linear-gradient(

            to top,

            rgba(

                0,

                0,

                0,

                0.88

            )

            0%,

            rgba(

                0,

                0,

                0,

                0.35

            )

            45%,

            rgba(

                0,

                0,

                0,

                0

            )

            100%

        );

    transition:

        background

        0.4s

        ease;

}


.api-gallery-item:hover
.api-gallery-overlay {

    background:

        linear-gradient(

            to top,

            rgba(

                215,

                25,

                32,

                0.90

            )

            0%,

            rgba(

                215,

                25,

                32,

                0.30

            )

            60%,

            rgba(

                0,

                0,

                0,

                0

            )

            100%

        );

}


/* =========================================================
   10. OVERLAY CONTENT
========================================================= */

.api-gallery-overlay-content {

    max-width:

        85%;

}


.api-gallery-category {

    display:

        block;

    margin-bottom:

        8px;

    color:

        #FFFFFF;

    font-size:

        11px;

    font-weight:

        800;

    letter-spacing:

        1.5px;

    text-transform:

        uppercase;

}


.api-gallery-overlay h3 {

    margin:

        0;

    color:

        #FFFFFF;

    font-family:

        "Poppins",

        "Segoe UI",

        sans-serif;

    font-size:

        20px;

    font-weight:

        800;

    line-height:

        1.25;

}


/* =========================================================
   11. FEATURED TITLE
========================================================= */

.api-gallery-featured
.api-gallery-overlay h3 {

    font-size:

        clamp(

            24px,

            3vw,

            38px

        );

}


/* =========================================================
   12. ARROW
========================================================= */

.api-gallery-arrow {

    width:

        48px;

    height:

        48px;

    flex-shrink:

        0;

    display:

        flex;

    align-items:

        center;

    justify-content:

        center;

    background:

        #FFFFFF;

    color:

        #111111;

    border-radius:

        50%;

    font-size:

        22px;

    transition:

        all

        0.4s

        ease;

}


.api-gallery-item:hover
.api-gallery-arrow {

    background:

        #111111;

    color:

        #FFFFFF;

    transform:

        rotate(

            45deg

        );

}


/* =========================================================
   13. GALLERY FOOTER
========================================================= */

.api-gallery-footer {

    position:

        relative;

    z-index:

        2;

    max-width:

        1400px;

    margin:

        70px auto

        0;

    padding:

        45px

        50px;

    display:

        flex;

    align-items:

        center;

    justify-content:

        space-between;

    gap:

        40px;

    background:

        #111111;

    border-radius:

        14px;

}


/* =========================================================
   14. FOOTER LABEL
========================================================= */

.api-gallery-footer-text > span {

    display:

        block;

    margin-bottom:

        10px;

    color:

        #D71920;

    font-size:

        12px;

    font-weight:

        800;

    letter-spacing:

        1.5px;

    text-transform:

        uppercase;

}


/* =========================================================
   15. FOOTER HEADING
========================================================= */

.api-gallery-footer h3 {

    max-width:

        650px;

    margin:

        0;

    color:

        #FFFFFF;

    font-family:

        "Poppins",

        "Segoe UI",

        sans-serif;

    font-size:

        clamp(

            24px,

            3vw,

            38px

        );

    font-weight:

        800;

    line-height:

        1.2;

}


/* =========================================================
   16. GALLERY BUTTON
========================================================= */

.api-gallery-button {

    min-height:

        56px;

    flex-shrink:

        0;

    display:

        inline-flex;

    align-items:

        center;

    gap:

        18px;

    padding:

        0

        26px;

    background:

        #D71920;

    color:

        #FFFFFF;

    border-radius:

        7px;

    text-decoration:

        none;

    font-size:

        14px;

    font-weight:

        700;

    transition:

        all

        0.35s

        ease;

}


.api-gallery-button:hover {

    background:

        #FFFFFF;

    color:

        #111111;

    transform:

        translateY(

            -4px

        );

}


.api-gallery-button span:last-child {

    font-size:

        20px;

    transition:

        transform

        0.3s

        ease;

}


.api-gallery-button:hover
span:last-child {

    transform:

        translateX(

            5px

        );

}


/* =========================================================
   17. BACKGROUND DECORATION
========================================================= */

.api-gallery-decoration {

    position:

        absolute;

    width:

        500px;

    height:

        500px;

    right:

        -250px;

    bottom:

        -250px;

    border:

        1px solid

        rgba(

            215,

            25,

            32,

            0.08

        );

    border-radius:

        50%;

    pointer-events:

        none;

}


/* =========================================================
   18. TABLET
========================================================= */

@media

(max-width: 1000px) {

    .api-gallery {

        padding:

            100px

            5vw;

    }


    .api-gallery-grid {

        grid-template-columns:

            1fr

            1fr;

        grid-template-rows:

            350px

            250px

            250px;

    }


    .api-gallery-featured {

        grid-column:

            span 2;

        grid-row:

            span 1;

    }


    .api-gallery-footer {

        padding:

            40px;

    }

}


/* =========================================================
   19. MOBILE
========================================================= */

@media

(max-width: 700px) {

    .api-gallery {

        padding:

            80px

            20px;

    }


    .api-gallery-header {

        margin-bottom:

            50px;

    }


    .api-gallery-header h2 {

        font-size:

            40px;

    }


    .api-gallery-grid {

        grid-template-columns:

            1fr;

        grid-template-rows:

            repeat(

                4,

                300px

            );

    }


    .api-gallery-featured {

        grid-column:

            auto;

        grid-row:

            auto;

    }


    .api-gallery-overlay {

        padding:

            22px;

    }


    .api-gallery-featured
    .api-gallery-overlay h3 {

        font-size:

            26px;

    }


    .api-gallery-footer {

        margin-top:

            55px;

        padding:

            35px

            25px;

        flex-direction:

            column;

        align-items:

            flex-start;

    }


    .api-gallery-button {

        width:

            100%;

        justify-content:

            center;

    }

}
/* =========================================================
   ABILITY PLUS INITIATIVE
   NEWS & STORIES SECTION CSS
========================================================= */


/* =========================================================
   01. NEWS SECTION
========================================================= */

.api-news {

    position: relative;

    width: 100%;

    overflow: hidden;

    padding:

        120px

        6vw

        120px;

    background:

        #FFFFFF;

    color:

        #111111;

}


/* =========================================================
   02. NEWS HEADER
========================================================= */

.api-news-header {

    position:

        relative;

    z-index:

        2;

    max-width:

        850px;

    margin:

        0 auto

        70px;

    text-align:

        center;

}


/* =========================================================
   03. EYEBROW
========================================================= */

.api-news-eyebrow {

    display:

        inline-flex;

    align-items:

        center;

    gap:

        12px;

    margin-bottom:

        20px;

    color:

        #D71920;

    font-size:

        13px;

    font-weight:

        800;

    letter-spacing:

        2px;

    text-transform:

        uppercase;

}


.api-news-eyebrow-line {

    width:

        38px;

    height:

        3px;

    background:

        #D71920;

    border-radius:

        20px;

}


/* =========================================================
   04. NEWS TITLE
========================================================= */

.api-news-header h2 {

    margin:

        0

        0

        22px;

    font-family:

        "Poppins",

        "Segoe UI",

        sans-serif;

    font-size:

        clamp(

            40px,

            5vw,

            70px

        );

    font-weight:

        800;

    line-height:

        1.05;

    letter-spacing:

        -2px;

    color:

        #111111;

}


.api-news-header h2 span {

    color:

        #D71920;

}


/* =========================================================
   05. NEWS DESCRIPTION
========================================================= */

.api-news-header p {

    max-width:

        750px;

    margin:

        0 auto;

    color:

        #666666;

    font-size:

        16px;

    line-height:

        1.85;

}


/* =========================================================
   06. NEWS LAYOUT
========================================================= */

.api-news-layout {

    position:

        relative;

    z-index:

        2;

    max-width:

        1400px;

    margin:

        0 auto;

    display:

        grid;

    grid-template-columns:

        1.15fr

        0.85fr;

    gap:

        25px;

}


/* =========================================================
   07. FEATURED NEWS
========================================================= */

.api-featured-news {

    display:

        flex;

    flex-direction:

        column;

    background:

        #F5F5F5;

    border:

        1px solid

        #EEEEEE;

    border-radius:

        14px;

    overflow:

        hidden;

    transition:

        all

        0.4s

        ease;

}


.api-featured-news:hover {

    transform:

        translateY(

            -6px

        );

    box-shadow:

        0

        25px

        60px

        rgba(

            0,

            0,

            0,

            0.10

        );

}


/* =========================================================
   08. FEATURED IMAGE
========================================================= */

.api-news-image-link {

    position:

        relative;

    display:

        block;

    height:

        430px;

    overflow:

        hidden;

}


.api-news-image-link img {

    width:

        100%;

    height:

        100%;

    display:

        block;

    object-fit:

        cover;

    transition:

        transform

        0.8s

        cubic-bezier(

            0.22,

            1,

            0.36,

            1

        );

}


.api-featured-news:hover
.api-news-image-link img {

    transform:

        scale(

            1.06

        );

}


/* =========================================================
   09. FEATURED BADGE
========================================================= */

.api-news-featured-badge {

    position:

        absolute;

    left:

        25px;

    bottom:

        25px;

    padding:

        10px

        16px;

    background:

        #D71920;

    color:

        #FFFFFF;

    border-radius:

        5px;

    font-size:

        11px;

    font-weight:

        800;

    letter-spacing:

        1px;

    text-transform:

        uppercase;

}


/* =========================================================
   10. FEATURED CONTENT
========================================================= */

.api-featured-news-content {

    padding:

        35px;

}


/* =========================================================
   11. NEWS META
========================================================= */

.api-news-meta {

    display:

        flex;

    align-items:

        center;

    gap:

        9px;

    margin-bottom:

        15px;

    color:

        #D71920;

    font-size:

        11px;

    font-weight:

        800;

    letter-spacing:

        1px;

    text-transform:

        uppercase;

}


/* =========================================================
   12. FEATURED TITLE
========================================================= */

.api-featured-news-content h3 {

    max-width:

        700px;

    margin:

        0

        0

        18px;

    font-family:

        "Poppins",

        "Segoe UI",

        sans-serif;

    color:

        #111111;

    font-size:

        clamp(

            26px,

            3vw,

            42px

        );

    font-weight:

        800;

    line-height:

        1.15;

}


/* =========================================================
   13. FEATURED DESCRIPTION
========================================================= */

.api-featured-news-content p {

    margin:

        0

        25px;

    color:

        #666666;

    font-size:

        14px;

    line-height:

        1.8;

}


/* =========================================================
   14. READ MORE
========================================================= */

.api-news-read-more {

    display:

        inline-flex;

    align-items:

        center;

    gap:

        12px;

    color:

        #D71920;

    text-decoration:

        none;

    font-size:

        13px;

    font-weight:

        800;

}


.api-news-read-more span:last-child {

    font-size:

        20px;

    transition:

        transform

        0.3s

        ease;

}


.api-news-read-more:hover {

    color:

        #111111;

}


.api-news-read-more:hover
span:last-child {

    transform:

        translateX(

            6px

        );

}


/* =========================================================
   15. NEWS LIST
========================================================= */

.api-news-list {

    display:

        flex;

    flex-direction:

        column;

    gap:

        25px;

}


/* =========================================================
   16. NEWS CARD
========================================================= */

.api-news-card {

    min-height:

        0;

    display:

        grid;

    grid-template-columns:

        180px

        1fr;

    background:

        #F5F5F5;

    border:

        1px solid

        #EEEEEE;

    border-radius:

        14px;

    overflow:

        hidden;

    transition:

        all

        0.4s

        ease;

}


.api-news-card:hover {

    transform:

        translateY(

            -5px

        );

    box-shadow:

        0

        20px

        45px

        rgba(

            0,

            0,

            0,

            0.08

        );

}


/* =========================================================
   17. NEWS CARD IMAGE
========================================================= */

.api-news-card-image {

    display:

        block;

    min-height:

        270px;

    overflow:

        hidden;

}


.api-news-card-image img {

    width:

        100%;

    height:

        100%;

    display:

        block;

    object-fit:

        cover;

    transition:

        transform

        0.6s

        ease;

}


.api-news-card:hover
.api-news-card-image img {

    transform:

        scale(

            1.08

        );

}


/* =========================================================
   18. NEWS CARD CONTENT
========================================================= */

.api-news-card-content {

    padding:

        28px;

    display:

        flex;

    flex-direction:

        column;

    justify-content:

        center;

}


/* =========================================================
   19. NEWS CARD META
========================================================= */

.api-news-card-meta {

    margin-bottom:

        10px;

    color:

        #D71920;

    font-size:

        10px;

    font-weight:

        800;

    letter-spacing:

        1.5px;

    text-transform:

        uppercase;

}


/* =========================================================
   20. NEWS CARD TITLE
========================================================= */

.api-news-card-content h3 {

    margin:

        0

        0

        10px;

    color:

        #111111;

    font-family:

        "Poppins",

        "Segoe UI",

        sans-serif;

    font-size:

        19px;

    font-weight:

        800;

    line-height:

        1.3;

}


/* =========================================================
   21. NEWS CARD DESCRIPTION
========================================================= */

.api-news-card-content p {

    margin:

        0

        15px;

    color:

        #666666;

    font-size:

        12px;

    line-height:

        1.7;

}


/* =========================================================
   22. NEWS CARD LINK
========================================================= */

.api-news-card-link {

    display:

        inline-flex;

    align-items:

        center;

    gap:

        8px;

    color:

        #111111;

    text-decoration:

        none;

    font-size:

        12px;

    font-weight:

        800;

}


.api-news-card-link span {

    color:

        #D71920;

    font-size:

        17px;

    transition:

        transform

        0.3s

        ease;

}


.api-news-card-link:hover {

    color:

        #D71920;

}


.api-news-card-link:hover
span {

    transform:

        translateX(

            5px

        );

}


/* =========================================================
   23. NEWS FOOTER
========================================================= */

.api-news-footer {

    position:

        relative;

    z-index:

        2;

    max-width:

        1400px;

    margin:

        70px auto

        0;

    padding:

        45px

        50px;

    display:

        flex;

    align-items:

        center;

    justify-content:

        space-between;

    gap:

        40px;

    background:

        #111111;

    border-radius:

        14px;

}


/* =========================================================
   24. FOOTER LABEL
========================================================= */

.api-news-footer-text > span {

    display:

        block;

    margin-bottom:

        10px;

    color:

        #D71920;

    font-size:

        12px;

    font-weight:

        800;

    letter-spacing:

        1.5px;

    text-transform:

        uppercase;

}


/* =========================================================
   25. FOOTER HEADING
========================================================= */

.api-news-footer h3 {

    max-width:

        650px;

    margin:

        0;

    color:

        #FFFFFF;

    font-family:

        "Poppins",

        "Segoe UI",

        sans-serif;

    font-size:

        clamp(

            24px,

            3vw,

            38px

        );

    font-weight:

        800;

    line-height:

        1.2;

}


/* =========================================================
   26. NEWS BUTTON
========================================================= */

.api-news-button {

    min-height:

        56px;

    flex-shrink:

        0;

    display:

        inline-flex;

    align-items:

        center;

    gap:

        18px;

    padding:

        0

        26px;

    background:

        #D71920;

    color:

        #FFFFFF;

    border-radius:

        7px;

    text-decoration:

        none;

    font-size:

        14px;

    font-weight:

        700;

    transition:

        all

        0.35s

        ease;

}


.api-news-button:hover {

    background:

        #FFFFFF;

    color:

        #111111;

    transform:

        translateY(

            -4px

        );

}


.api-news-button span:last-child {

    font-size:

        20px;

    transition:

        transform

        0.3s

        ease;

}


.api-news-button:hover
span:last-child {

    transform:

        translateX(

            5px

        );

}


/* =========================================================
   27. DECORATION
========================================================= */

.api-news-decoration-one {

    position:

        absolute;

    width:

        500px;

    height:

        500px;

    top:

        -250px;

    left:

        -250px;

    border:

        1px solid

        rgba(

            215,

            25,

            32,

            0.07

        );

    border-radius:

        50%;

    pointer-events:

        none;

}


/* =========================================================
   28. TABLET
========================================================= */

@media

(max-width: 1000px) {

    .api-news {

        padding:

            100px

            5vw;

    }


    .api-news-layout {

        grid-template-columns:

            1fr;

    }


    .api-news-image-link {

        height:

            450px;

    }


    .api-news-card {

        grid-template-columns:

            220px

            1fr;

    }


    .api-news-footer {

        padding:

            40px;

    }

}


/* =========================================================
   29. MOBILE
========================================================= */

@media

(max-width: 700px) {

    .api-news {

        padding:

            80px

            20px;

    }


    .api-news-header {

        margin-bottom:

            50px;

    }


    .api-news-header h2 {

        font-size:

            40px;

    }


    .api-news-image-link {

        height:

            300px;

    }


    .api-featured-news-content {

        padding:

            28px

            22px;

    }


    .api-news-card {

        grid-template-columns:

            1fr;

    }


    .api-news-card-image {

        height:

            240px;

        min-height:

            0;

    }


    .api-news-card-content {

        padding:

            25px;

    }


    .api-news-footer {

        margin-top:

            55px;

        padding:

            35px

            25px;

        flex-direction:

            column;

        align-items:

            flex-start;

    }


    .api-news-button {

        width:

            100%;

        justify-content:

            center;

    }

}
/* =========================================================
   ABILITY PLUS INITIATIVE
   PARTNERS & COLLABORATORS SECTION CSS
========================================================= */


/* =========================================================
   01. PARTNERS SECTION
========================================================= */

.api-partners {

    position:

        relative;

    width:

        100%;

    overflow:

        hidden;

    padding:

        120px

        6vw;

    background:

        #F5F5F5;

    color:

        #111111;

}


/* =========================================================
   02. PARTNERS HEADER
========================================================= */

.api-partners-header {

    position:

        relative;

    z-index:

        2;

    max-width:

        850px;

    margin:

        0 auto

        70px;

    text-align:

        center;

}


/* =========================================================
   03. EYEBROW
========================================================= */

.api-partners-eyebrow {

    display:

        inline-flex;

    align-items:

        center;

    gap:

        12px;

    margin-bottom:

        20px;

    color:

        #D71920;

    font-size:

        13px;

    font-weight:

        800;

    letter-spacing:

        2px;

    text-transform:

        uppercase;

}


.api-partners-eyebrow-line {

    width:

        38px;

    height:

        3px;

    background:

        #D71920;

    border-radius:

        20px;

}


/* =========================================================
   04. PARTNERS TITLE
========================================================= */

.api-partners-header h2 {

    margin:

        0

        0

        22px;

    font-family:

        "Poppins",

        "Segoe UI",

        sans-serif;

    font-size:

        clamp(

            40px,

            5vw,

            70px

        );

    font-weight:

        800;

    line-height:

        1.05;

    letter-spacing:

        -2px;

    color:

        #111111;

}


.api-partners-header h2 span {

    color:

        #D71920;

}


/* =========================================================
   05. HEADER DESCRIPTION
========================================================= */

.api-partners-header p {

    max-width:

        760px;

    margin:

        0 auto;

    color:

        #666666;

    font-size:

        16px;

    line-height:

        1.85;

}


/* =========================================================
   06. PARTNER LOGO GRID
========================================================= */

.api-partners-logos {

    position:

        relative;

    z-index:

        2;

    max-width:

        1400px;

    margin:

        0 auto;

    display:

        grid;

    grid-template-columns:

        repeat(

            6,

            1fr

        );

    border-top:

        1px solid

        #DDDDDD;

    border-left:

        1px solid

        #DDDDDD;

}


/* =========================================================
   07. PARTNER LOGO ITEM
========================================================= */

.api-partner-logo {

    min-height:

        170px;

    display:

        flex;

    align-items:

        center;

    justify-content:

        center;

    padding:

        30px;

    background:

        #FFFFFF;

    border-right:

        1px solid

        #DDDDDD;

    border-bottom:

        1px solid

        #DDDDDD;

    transition:

        all

        0.4s

        ease;

}


.api-partner-logo:hover {

    background:

        #111111;

    transform:

        translateY(

            -5px

        );

    box-shadow:

        0

        15px

        35px

        rgba(

            0,

            0,

            0,

            0.12

        );

}


/* =========================================================
   08. PLACEHOLDER
========================================================= */

.api-partner-logo-placeholder {

    display:

        flex;

    flex-direction:

        column;

    align-items:

        center;

    justify-content:

        center;

    gap:

        10px;

    text-align:

        center;

    opacity:

        0.55;

    transition:

        all

        0.4s

        ease;

}


.api-partner-logo:hover
.api-partner-logo-placeholder {

    opacity:

        1;

}


/* =========================================================
   09. PLACEHOLDER SYMBOL
========================================================= */

.api-partner-logo-symbol {

    width:

        45px;

    height:

        45px;

    display:

        flex;

    align-items:

        center;

    justify-content:

        center;

    border:

        2px solid

        #D71920;

    border-radius:

        50%;

    color:

        #D71920;

    font-size:

        25px;

    font-weight:

        300;

    transition:

        all

        0.4s

        ease;

}


.api-partner-logo:hover
.api-partner-logo-symbol {

    background:

        #D71920;

    color:

        #FFFFFF;

}


/* =========================================================
   10. PLACEHOLDER NAME
========================================================= */

.api-partner-logo-name {

    color:

        #555555;

    font-size:

        10px;

    font-weight:

        800;

    letter-spacing:

        1.5px;

    text-transform:

        uppercase;

}


.api-partner-logo:hover
.api-partner-logo-name {

    color:

        #FFFFFF;

}


/* =========================================================
   11. PARTNERSHIP AREAS
========================================================= */

.api-partnership-areas {

    position:

        relative;

    z-index:

        2;

    max-width:

        1400px;

    margin:

        60px auto

        0;

    display:

        grid;

    grid-template-columns:

        repeat(

            4,

            1fr

        );

    gap:

        12px;

}


/* =========================================================
   12. PARTNERSHIP AREA
========================================================= */

.api-partnership-area {

    min-height:

        75px;

    display:

        flex;

    align-items:

        center;

    gap:

        18px;

    padding:

        20px;

    background:

        #FFFFFF;

    border:

        1px solid

        #EEEEEE;

    border-radius:

        8px;

    color:

        #111111;

    font-size:

        12px;

    font-weight:

        700;

    transition:

        all

        0.3s

        ease;

}


.api-partnership-area:hover {

    border-color:

        #D71920;

    transform:

        translateY(

            -4px

        );

}


/* =========================================================
   13. AREA NUMBER
========================================================= */

.api-partnership-area-number {

    color:

        #D71920;

    font-size:

        11px;

    font-weight:

        800;

}


/* =========================================================
   14. PARTNERS CTA
========================================================= */

.api-partners-cta {

    position:

        relative;

    z-index:

        2;

    max-width:

        1400px;

    margin:

        70px auto

        0;

    padding:

        55px

        60px;

    display:

        flex;

    align-items:

        center;

    justify-content:

        space-between;

    gap:

        50px;

    background:

        #111111;

    border-radius:

        14px;

}


/* =========================================================
   15. CTA CONTENT
========================================================= */

.api-partners-cta-content {

    max-width:

        750px;

}


.api-partners-cta-label {

    display:

        block;

    margin-bottom:

        12px;

    color:

        #D71920;

    font-size:

        12px;

    font-weight:

        800;

    letter-spacing:

        1.5px;

    text-transform:

        uppercase;

}


/* =========================================================
   16. CTA HEADING
========================================================= */

.api-partners-cta h3 {

    margin:

        0

        15px;

    color:

        #FFFFFF;

    font-family:

        "Poppins",

        "Segoe UI",

        sans-serif;

    font-size:

        clamp(

            26px,

            3vw,

            42px

        );

    font-weight:

        800;

    line-height:

        1.15;

}


/* =========================================================
   17. CTA DESCRIPTION
========================================================= */

.api-partners-cta p {

    max-width:

        700px;

    margin:

        0;

    color:

        rgba(

            255,

            255,

            255,

            0.62

        );

    font-size:

        14px;

    line-height:

        1.8;

}


/* =========================================================
   18. PARTNER BUTTON
========================================================= */

.api-partners-button {

    min-height:

        58px;

    flex-shrink:

        0;

    display:

        inline-flex;

    align-items:

        center;

    justify-content:

        center;

    gap:

        18px;

    padding:

        0

        28px;

    background:

        #D71920;

    color:

        #FFFFFF;

    border-radius:

        7px;

    text-decoration:

        none;

    font-size:

        14px;

    font-weight:

        700;

    transition:

        all

        0.35s

        ease;

}


.api-partners-button:hover {

    background:

        #FFFFFF;

    color:

        #111111;

    transform:

        translateY(

            -4px

        );

}


.api-partners-button span:last-child {

    font-size:

        20px;

    transition:

        transform

        0.3s

        ease;

}


.api-partners-button:hover
span:last-child {

    transform:

        translateX(

            5px

        );

}


/* =========================================================
   19. BACKGROUND DECORATION
========================================================= */

.api-partners-decoration {

    position:

        absolute;

    width:

        500px;

    height:

        500px;

    right:

        -250px;

    top:

        -250px;

    border:

        1px solid

        rgba(

            215,

            25,

            32,

            0.08

        );

    border-radius:

        50%;

    pointer-events:

        none;

}


/* =========================================================
   20. TABLET
========================================================= */

@media

(max-width: 1100px) {

    .api-partners {

        padding:

            100px

            5vw;

    }


    .api-partners-logos {

        grid-template-columns:

            repeat(

                3,

                1fr

            );

    }


    .api-partnership-areas {

        grid-template-columns:

            repeat(

                2,

                1fr

            );

    }


    .api-partners-cta {

        padding:

            45px;

    }

}


/* =========================================================
   21. MOBILE
========================================================= */

@media

(max-width: 700px) {

    .api-partners {

        padding:

            80px

            20px;

    }


    .api-partners-header {

        margin-bottom:

            50px;

    }


    .api-partners-header h2 {

        font-size:

            40px;

    }


    .api-partners-logos {

        grid-template-columns:

            repeat(

                2,

                1fr

            );

    }


    .api-partner-logo {

        min-height:

            140px;

        padding:

            20px;

    }


    .api-partnership-areas {

        grid-template-columns:

            1fr;

        margin-top:

            40px;

    }


    .api-partners-cta {

        margin-top:

            55px;

        padding:

            35px

            25px;

        flex-direction:

            column;

        align-items:

            flex-start;

    }


    .api-partners-button {

        width:

            100%;

    }

}
/* =========================================================
   ABILITY PLUS INITIATIVE
   FINAL CTA SECTION CSS
========================================================= */


/* =========================================================
   01. MAIN CTA SECTION
========================================================= */

.api-cta {

    position:

        relative;

    width:

        100%;

    overflow:

        hidden;

    padding:

        130px

        6vw

        100px;

    background:

        #111111;

    color:

        #FFFFFF;

}


/* =========================================================
   02. CTA INNER CONTENT
========================================================= */

.api-cta-inner {

    position:

        relative;

    z-index:

        3;

    max-width:

        1000px;

    margin:

        0 auto;

    text-align:

        center;

}


/* =========================================================
   03. CTA EYEBROW
========================================================= */

.api-cta-eyebrow {

    display:

        inline-flex;

    align-items:

        center;

    justify-content:

        center;

    gap:

        15px;

    margin-bottom:

        30px;

    color:

        #D71920;

    font-size:

        12px;

    font-weight:

        800;

    letter-spacing:

        2px;

    text-transform:

        uppercase;

}


.api-cta-eyebrow-line {

    width:

        35px;

    height:

        2px;

    background:

        #D71920;

}


/* =========================================================
   04. CTA HEADING
========================================================= */

.api-cta-inner h2 {

    max-width:

        950px;

    margin:

        0 auto

        25px;

    color:

        #FFFFFF;

    font-family:

        "Poppins",

        "Segoe UI",

        sans-serif;

    font-size:

        clamp(

            42px,

            6vw,

            78px

        );

    font-weight:

        800;

    line-height:

        1.05;

    letter-spacing:

        -3px;

}


.api-cta-inner h2 span {

    color:

        #D71920;

}


/* =========================================================
   05. CTA DESCRIPTION
========================================================= */

.api-cta-description {

    max-width:

        750px;

    margin:

        0 auto;

    color:

        rgba(

            255,

            255,

            255,

            0.65

        );

    font-size:

        16px;

    line-height:

        1.9;

}


/* =========================================================
   06. PRIMARY CTA ACTIONS
========================================================= */

.api-cta-primary-actions {

    display:

        flex;

    align-items:

        center;

    justify-content:

        center;

    gap:

        15px;

    margin:

        45px auto

        80px;

}


/* =========================================================
   07. PRIMARY BUTTON
========================================================= */

.api-cta-primary-button {

    min-height:

        60px;

    display:

        inline-flex;

    align-items:

        center;

    justify-content:

        center;

    gap:

        20px;

    padding:

        0

        30px;

    background:

        #D71920;

    color:

        #FFFFFF;

    border:

        1px solid

        #D71920;

    border-radius:

        6px;

    text-decoration:

        none;

    font-size:

        14px;

    font-weight:

        800;

    transition:

        all

        0.35s

        ease;

}


.api-cta-primary-button:hover {

    background:

        #FFFFFF;

    border-color:

        #FFFFFF;

    color:

        #111111;

    transform:

        translateY(

            -5px

        );

    box-shadow:

        0

        15px

        35px

        rgba(

            0,

            0,

            0,

            0.25

        );

}


/* =========================================================
   08. SECONDARY BUTTON
========================================================= */

.api-cta-secondary-button {

    min-height:

        60px;

    display:

        inline-flex;

    align-items:

        center;

    justify-content:

        center;

    gap:

        20px;

    padding:

        0

        30px;

    background:

        transparent;

    color:

        #FFFFFF;

    border:

        1px solid

        rgba(

            255,

            255,

            255,

            0.35

        );

    border-radius:

        6px;

    text-decoration:

        none;

    font-size:

        14px;

    font-weight:

        700;

    transition:

        all

        0.35s

        ease;

}


.api-cta-secondary-button:hover {

    background:

        #FFFFFF;

    border-color:

        #FFFFFF;

    color:

        #111111;

    transform:

        translateY(

            -5px

        );

}


/* =========================================================
   09. BUTTON ARROW
========================================================= */

.api-cta-button-arrow {

    font-size:

        20px;

    transition:

        transform

        0.3s

        ease;

}


.api-cta-primary-button:hover
.api-cta-button-arrow,

.api-cta-secondary-button:hover
.api-cta-button-arrow {

    transform:

        translateX(

            6px

        );

}


/* =========================================================
   10. ACTION CARDS
========================================================= */

.api-cta-actions {

    position:

        relative;

    z-index:

        3;

    max-width:

        1400px;

    margin:

        0 auto;

    display:

        grid;

    grid-template-columns:

        repeat(

            4,

            1fr

        );

    gap:

        1px;

    background:

        rgba(

            255,

            255,

            255,

            0.15

        );

    border:

        1px solid

        rgba(

            255,

            255,

            255,

            0.15

        );

}


/* =========================================================
   11. ACTION CARD
========================================================= */

.api-cta-action-card {

    position:

        relative;

    min-height:

        270px;

    display:

        flex;

    flex-direction:

        column;

    justify-content:

        space-between;

    padding:

        35px;

    background:

        #111111;

    color:

        #FFFFFF;

    text-decoration:

        none;

    transition:

        all

        0.4s

        ease;

}


.api-cta-action-card:hover {

    background:

        #D71920;

    transform:

        translateY(

            -8px

        );

}


/* =========================================================
   12. ACTION NUMBER
========================================================= */

.api-cta-action-number {

    color:

        #D71920;

    font-size:

        12px;

    font-weight:

        800;

    letter-spacing:

        1px;

}


.api-cta-action-card:hover
.api-cta-action-number {

    color:

        #FFFFFF;

}


/* =========================================================
   13. ACTION CONTENT
========================================================= */

.api-cta-action-content h3 {

    margin:

        0

        10px;

    color:

        #FFFFFF;

    font-family:

        "Poppins",

        "Segoe UI",

        sans-serif;

    font-size:

        23px;

    font-weight:

        800;

}


.api-cta-action-content p {

    max-width:

        250px;

    margin:

        0;

    color:

        rgba(

            255,

            255,

            255,

            0.55

        );

    font-size:

        13px;

    line-height:

        1.7;

}


.api-cta-action-card:hover
.api-cta-action-content p {

    color:

        rgba(

            255,

            255,

            255,

            0.85

        );

}


/* =========================================================
   14. ACTION ARROW
========================================================= */

.api-cta-action-arrow {

    align-self:

        flex-end;

    width:

        45px;

    height:

        45px;

    display:

        flex;

    align-items:

        center;

    justify-content:

        center;

    border:

        1px solid

        rgba(

            255,

            255,

            255,

            0.25

        );

    border-radius:

        50%;

    font-size:

        20px;

    transition:

        all

        0.4s

        ease;

}


.api-cta-action-card:hover
.api-cta-action-arrow {

    background:

        #FFFFFF;

    border-color:

        #FFFFFF;

    color:

        #D71920;

    transform:

        rotate(

            -45deg

        );

}


/* =========================================================
   15. BOTTOM STATEMENT
========================================================= */

.api-cta-bottom {

    position:

        relative;

    z-index:

        3;

    max-width:

        900px;

    margin:

        65px auto

        0;

    display:

        flex;

    align-items:

        center;

    justify-content:

        center;

    gap:

        20px;

}


.api-cta-bottom p {

    margin:

        0;

    color:

        rgba(

            255,

            255,

            255,

            0.45

        );

    font-size:

        12px;

    font-weight:

        600;

    letter-spacing:

        0.5px;

    text-align:

        center;

}


.api-cta-bottom-line {

    width:

        50px;

    height:

        1px;

    background:

        rgba(

            255,

            255,

            255,

            0.2

        );

}


/* =========================================================
   16. BACKGROUND SHAPES
========================================================= */

.api-cta-background-shape {

    position:

        absolute;

    pointer-events:

        none;

    border-radius:

        50%;

    border:

        1px solid

        rgba(

            215,

            25,

            32,

            0.15

        );

}


/* =========================================================
   17. SHAPE ONE
========================================================= */

.api-cta-shape-one {

    width:

        700px;

    height:

        700px;

    top:

        -400px;

    left:

        -300px;

}


/* =========================================================
   18. SHAPE TWO
========================================================= */

.api-cta-shape-two {

    width:

        500px;

    height:

        500px;

    right:

        -250px;

    bottom:

        -300px;

}


/* =========================================================
   19. GRID PATTERN
========================================================= */

.api-cta-grid {

    position:

        absolute;

    inset:

        0;

    opacity:

        0.035;

    background-image:

        linear-gradient(

            rgba(

                255,

                255,

                255,

                0.5

            )

            1px,

            transparent

            1px

        ),

        linear-gradient(

            90deg,

            rgba(

                255,

                255,

                255,

                0.5

            )

            1px,

            transparent

            1px

        );

    background-size:

        50px

        50px;

    pointer-events:

        none;

}


/* =========================================================
   20. TABLET
========================================================= */

@media

(max-width: 1000px) {

    .api-cta {

        padding:

            100px

            5vw

            80px;

    }


    .api-cta-actions {

        grid-template-columns:

            repeat(

                2,

                1fr

            );

    }


}


/* =========================================================
   21. MOBILE
========================================================= */

@media

(max-width: 700px) {

    .api-cta {

        padding:

            80px

            20px

            70px;

    }


    .api-cta-inner h2 {

        font-size:

            42px;

        letter-spacing:

            -1.5px;

    }


    .api-cta-primary-actions {

        flex-direction:

            column;

        width:

            100%;

        margin:

            35px auto

            60px;

    }


    .api-cta-primary-button,

    .api-cta-secondary-button {

        width:

            100%;

    }


    .api-cta-actions {

        grid-template-columns:

            1fr;

    }


    .api-cta-action-card {

        min-height:

            230px;

    }


    .api-cta-bottom {

        margin-top:

            50px;

    }


    .api-cta-bottom-line {

        display:

            none;

    }

}
/* =========================================================
   ABILITY PLUS INITIATIVE
   PREMIUM FOOTER CSS
========================================================= */


/* =========================================================
   01. FOOTER MAIN
========================================================= */

.api-footer {

    position:

        relative;

    width:

        100%;

    background:

        #0B0B0B;

    color:

        #FFFFFF;

}


/* =========================================================
   02. FOOTER MAIN AREA
========================================================= */

.api-footer-main {

    padding:

        90px

        6vw

        80px;

}


.api-footer-container {

    max-width:

        1400px;

    margin:

        0 auto;

    display:

        grid;

    grid-template-columns:

        2fr

        1fr

        1fr

        1.3fr;

    gap:

        70px;

}


/* =========================================================
   03. BRAND
========================================================= */

.api-footer-brand {

    max-width:

        400px;

}


.api-footer-logo {

    display:

        inline-flex;

    align-items:

        center;

    margin-bottom:

        25px;

}


.api-footer-logo img {

    display:

        block;

    width:

        auto;

    max-width:

        210px;

    max-height:

        75px;

    object-fit:

        contain;

}


/* =========================================================
   04. DESCRIPTION
========================================================= */

.api-footer-description {

    margin:

        0

        0

        30px;

    color:

        rgba(

            255,

            255,

            255,

            0.58

        );

    font-size:

        14px;

    line-height:

        1.9;

}


/* =========================================================
   05. SOCIAL MEDIA
========================================================= */

.api-footer-socials {

    display:

        flex;

    align-items:

        center;

    gap:

        10px;

}


.api-footer-social {

    width:

        42px;

    height:

        42px;

    display:

        flex;

    align-items:

        center;

    justify-content:

        center;

    border:

        1px solid

        rgba(

            255,

            255,

            255,

            0.2

        );

    border-radius:

        50%;

    color:

        #FFFFFF;

    text-decoration:

        none;

    font-size:

        13px;

    font-weight:

        700;

    transition:

        all

        0.3s

        ease;

}


.api-footer-social:hover {

    background:

        #D71920;

    border-color:

        #D71920;

    transform:

        translateY(

            -4px

        );

}


/* =========================================================
   06. FOOTER COLUMN
========================================================= */

.api-footer-column h3 {

    margin:

        0

        0

        25px;

    color:

        #FFFFFF;

    font-size:

        15px;

    font-weight:

        800;

}


/* =========================================================
   07. FOOTER LIST
========================================================= */

.api-footer-column ul {

    margin:

        0;

    padding:

        0;

    list-style:

        none;

}


.api-footer-column li {

    margin-bottom:

        13px;

}


.api-footer-column li a {

    color:

        rgba(

            255,

            255,

            255,

            0.55

        );

    text-decoration:

        none;

    font-size:

        13px;

    transition:

        all

        0.3s

        ease;

}


.api-footer-column li a:hover {

    color:

        #D71920;

    padding-left:

        5px;

}


/* =========================================================
   08. CONTACT ITEM
========================================================= */

.api-footer-contact-item {

    display:

        flex;

    align-items:

        flex-start;

    gap:

        15px;

    margin-bottom:

        22px;

}


.api-footer-contact-icon {

    width:

        35px;

    height:

        35px;

    flex-shrink:

        0;

    display:

        flex;

    align-items:

        center;

    justify-content:

        center;

    background:

        rgba(

            215,

            25,

            32,

            0.12

        );

    border:

        1px solid

        rgba(

            215,

            25,

            32,

            0.35

        );

    border-radius:

        50%;

    color:

        #D71920;

    font-size:

        13px;

}


.api-footer-contact-item strong {

    display:

        block;

    margin-bottom:

        5px;

    color:

        #FFFFFF;

    font-size:

        12px;

}


.api-footer-contact-item p {

    margin:

        0;

    color:

        rgba(

            255,

            255,

            255,

            0.55

        );

    font-size:

        13px;

    line-height:

        1.6;

}


.api-footer-contact-item a {

    color:

        rgba(

            255,

            255,

            255,

            0.55

        );

    text-decoration:

        none;

}


.api-footer-contact-item a:hover {

    color:

        #D71920;

}


/* =========================================================
   09. SUPPORT BAR
========================================================= */

.api-footer-support {

    padding:

        45px

        6vw;

    background:

        #D71920;

}


.api-footer-support-container {

    max-width:

        1400px;

    margin:

        0 auto;

    display:

        flex;

    align-items:

        center;

    justify-content:

        space-between;

    gap:

        40px;

}


.api-footer-support-text span {

    display:

        block;

    margin-bottom:

        8px;

    color:

        rgba(

            255,

            255,

            255,

            0.75

        );

    font-size:

        11px;

    font-weight:

        800;

    letter-spacing:

        2px;

    text-transform:

        uppercase;

}


.api-footer-support-text h3 {

    margin:

        0;

    color:

        #FFFFFF;

    font-size:

        clamp(

            22px,

            3vw,

            32px

        );

    font-weight:

        800;

    line-height:

        1.2;

}


/* =========================================================
   10. SUPPORT BUTTON
========================================================= */

.api-footer-support-button {

    min-height:

        56px;

    flex-shrink:

        0;

    display:

        inline-flex;

    align-items:

        center;

    justify-content:

        center;

    gap:

        18px;

    padding:

        0

        28px;

    background:

        #FFFFFF;

    color:

        #111111;

    border-radius:

        6px;

    text-decoration:

        none;

    font-size:

        13px;

    font-weight:

        800;

    transition:

        all

        0.3s

        ease;

}


.api-footer-support-button:hover {

    background:

        #111111;

    color:

        #FFFFFF;

    transform:

        translateY(

            -4px

        );

}


.api-footer-support-button span:last-child {

    font-size:

        20px;

    transition:

        transform

        0.3s

        ease;

}


.api-footer-support-button:hover
span:last-child {

    transform:

        translateX(

            5px

        );

}


/* =========================================================
   11. FOOTER BOTTOM
========================================================= */

.api-footer-bottom {

    background:

        #070707;

}


.api-footer-bottom-container {

    max-width:

        1400px;

    min-height:

        80px;

    margin:

        0 auto;

    padding:

        20px

        6vw;

    display:

        flex;

    align-items:

        center;

    justify-content:

        space-between;

    gap:

        25px;

}


.api-footer-bottom p {

    margin:

        0;

    color:

        rgba(

            255,

            255,

            255,

            0.4

        );

    font-size:

        11px;

}


/* =========================================================
   12. LEGAL LINKS
========================================================= */

.api-footer-legal {

    display:

        flex;

    align-items:

        center;

    gap:

        25px;

}


.api-footer-legal a {

    color:

        rgba(

            255,

            255,

            255,

            0.4

        );

    text-decoration:

        none;

    font-size:

        11px;

    transition:

        color

        0.3s

        ease;

}


.api-footer-legal a:hover {

    color:

        #D71920;

}


/* =========================================================
   13. BACK TO TOP
========================================================= */

.api-footer-top {

    width:

        42px;

    height:

        42px;

    display:

        flex;

    align-items:

        center;

    justify-content:

        center;

    background:

        transparent;

    border:

        1px solid

        rgba(

            255,

            255,

            255,

            0.2

        );

    border-radius:

        50%;

    color:

        #FFFFFF;

    cursor:

        pointer;

    font-size:

        18px;

    transition:

        all

        0.3s

        ease;

}


.api-footer-top:hover {

    background:

        #D71920;

    border-color:

        #D71920;

    transform:

        translateY(

            -4px

        );

}


/* =========================================================
   14. TABLET
========================================================= */

@media

(max-width: 1100px) {

    .api-footer-container {

        grid-template-columns:

            repeat(

                2,

                1fr

            );

        gap:

            55px;

    }


    .api-footer-brand {

        max-width:

            500px;

    }

}


/* =========================================================
   15. MOBILE
========================================================= */

@media

(max-width: 700px) {

    .api-footer-main {

        padding:

            70px

            20px

            60px;

    }


    .api-footer-container {

        grid-template-columns:

            1fr;

        gap:

            45px;

    }


    .api-footer-brand {

        max-width:

            100%;

    }


    .api-footer-support {

        padding:

            45px

            20px;

    }


    .api-footer-support-container {

        flex-direction:

            column;

        align-items:

            flex-start;

    }


    .api-footer-support-button {

        width:

            100%;

    }


    .api-footer-bottom-container {

        padding:

            25px

            20px;

        flex-direction:

            column;

        text-align:

            center;

    }


    .api-footer-legal {

        flex-wrap:

            wrap;

        justify-content:

            center;

        gap:

            15px;

    }

}
/* =========================================================
   ABILITY PLUS INITIATIVE
   V2 COMPATIBILITY + WORDPRESS / ELEMENTOR OVERRIDES
   Add this section at the VERY BOTTOM of style.css
========================================================= */


/* =========================================================
   01 — GLOBAL V2 SAFETY
========================================================= */

.api-homepage-v2,
.api-homepage-v2 *,
.api-hero,
.api-about,
.api-impact,
.api-programs,
.api-gallery,
.api-news,
.api-partners,
.api-cta,
.api-footer {

    box-sizing:
        border-box;

}


/* Prevent horizontal overflow */

html,
body {

    overflow-x:
        hidden;

}


/* =========================================================
   02 — V2 ANIMATION SYSTEM
========================================================= */

[data-api-animation] {

    opacity:
        0;

    transform:
        translateY(
            25px
        );

    transition:
        opacity
        0.7s
        ease,

        transform
        0.7s
        ease;

}


[data-api-animation].api-animation-visible {

    opacity:
        1;

    transform:
        translateY(
            0
        );

}


/* Reduced motion */

@media (
    prefers-reduced-motion:
    reduce
) {

    [data-api-animation] {

        opacity:
            1;

        transform:
            none;

        transition:
            none;

    }

}


/* =========================================================
   03 — WORDPRESS / ELEMENTOR TYPOGRAPHY PROTECTION
========================================================= */

/*
 * These rules protect the custom V2 design from
 * Elementor and Astra global typography overrides.
 */


/* General paragraphs */

.api-homepage-v2 p,
.api-about p,
.api-impact p,
.api-programs p,
.api-gallery p,
.api-news p,
.api-partners p,
.api-cta p {

    line-height:
        1.7;

}


/* Headings */

.api-homepage-v2 h1,
.api-homepage-v2 h2,
.api-homepage-v2 h3,
.api-homepage-v2 h4,
.api-about h1,
.api-about h2,
.api-about h3,
.api-impact h2,
.api-impact h3,
.api-programs h2,
.api-programs h3,
.api-gallery h2,
.api-gallery h3,
.api-news h2,
.api-news h3,
.api-partners h2,
.api-partners h3,
.api-cta h2,
.api-cta h3 {

    margin-top:
        0;

}


/* Links */

.api-homepage-v2 a {

    text-decoration-thickness:
        1px;

    text-underline-offset:
        3px;

}


/* =========================================================
   04 — ABOUT SECTION TEXT OVERRIDE
========================================================= */

.api-about {

    color:
        #172235;

}


.api-about h1,
.api-about h2,
.api-about h3,
.api-about h4 {

    color:
        #172235 !important;

}


.api-about p {

    color:
        #526071 !important;

}


/* =========================================================
   05 — IMPACT SECTION TEXT OVERRIDE
========================================================= */

.api-impact {

    color:
        #172235;

}


.api-impact h1,
.api-impact h2,
.api-impact h3,
.api-impact h4 {

    color:
        #e5e5e5 !important;

}


.api-impact p {

    color:
        #afb2b5 !important;

}


/* Impact counters */

.api-impact [data-api-counter] {

    color:
        #d42626 !important;

    font-weight:
        800;

}


/* =========================================================
   06 — PROGRAMS SECTION TEXT OVERRIDE
========================================================= */

.api-programs {

    color:
        #172235;

}


.api-programs h1,
.api-programs h2,
.api-programs h3,
.api-programs h4 {

    color:
        #172235 !important;

}


.api-programs p {

    color:
        #526071 !important;

}


/* Program cards */

.api-programs a {

    text-decoration:
        none;

}


/* =========================================================
   07 — GALLERY SECTION
========================================================= */

.api-gallery {

    color:
        #172235;

}


.api-gallery h1,
.api-gallery h2,
.api-gallery h3,
.api-gallery h4 {

    color:
        #172235 !important;

}


.api-gallery p {

    color:
        #526071 !important;

}


/* =========================================================
   08 — NEWS SECTION
========================================================= */

.api-news {

    color:
        #172235;

}


.api-news h1,
.api-news h2,
.api-news h3,
.api-news h4 {

    color:
        #172235 !important;

}


.api-news p {

    color:
        #526071 !important;

}


/* News links */

.api-news a {

    text-decoration:
        none;

}


/* =========================================================
   09 — PARTNERS SECTION
========================================================= */

.api-partners {

    color:
        #172235;

}


.api-partners h1,
.api-partners h2,
.api-partners h3,
.api-partners h4 {

    color:
        #e5e5e5 !important;

}


.api-partners p {

    color:
        #526071 !important;

}


/* Partner logos */

.api-partners img {

    max-width:
        100%;

    height:
        auto;

    object-fit:
        contain;

}


/* =========================================================
   10 — NEW V2 CTA SYSTEM
========================================================= */

.api-cta {

    position:
        relative;

    isolation:
        isolate;

}


/* Main CTA box */

.api-cta-box {

    position:
        relative;

    z-index:
        1;

}


/* CTA heading protection */

.api-cta .api-cta-content h2 {

    color:
        #ffffff !important;

}


.api-cta .api-cta-content h2 span {

    color:
        #f5d36a !important;

}


/* CTA paragraph */

.api-cta .api-cta-content p {

    color:
        rgba(
            255,
            255,
            255,
            0.78
        ) !important;

}


/* CTA eyebrow */

.api-cta .api-eyebrow {

    color:
        rgba(
            255,
            255,
            255,
            0.75
        ) !important;

}


/* CTA primary button */

.api-cta .api-btn--white {

    color:
        #d42626 !important;

    background:
        #ffffff !important;

}


.api-cta .api-btn--white span {

    color:
        #d42626 !important;

}


/* CTA primary hover */

.api-cta .api-btn--white:hover {

    color:
        #172235 !important;

    background:
        #f5d36a !important;

}


.api-cta .api-btn--white:hover span {

    color:
        #172235 !important;

}


/* CTA outline button */

.api-cta .api-btn--outline-light {

    color:
        #ffffff !important;

    background:
        transparent !important;

}


.api-cta .api-btn--outline-light span {

    color:
        #ffffff !important;

}


/* CTA outline hover */

.api-cta .api-btn--outline-light:hover {

    color:
        #d42626 !important;

    background:
        #ffffff !important;

}


.api-cta .api-btn--outline-light:hover span {

    color:
        #d42626 !important;

}


/* =========================================================
   11 — CTA ACTION CARDS
========================================================= */

.api-cta-option {

    color:
        #ffffff !important;

    text-decoration:
        none !important;

}


.api-cta-option-content strong {

    color:
        #ffffff !important;

}


.api-cta-option-content small {

    color:
        rgba(
            255,
            255,
            255,
            0.58
        ) !important;

}


.api-cta-option-icon {

    color:
        #d42626 !important;

    background:
        #ffffff !important;

}


.api-cta-option-arrow {

    color:
        #ffffff !important;

}


/* =========================================================
   12 — NEW V2 FOOTER
========================================================= */

.api-footer {

    position:
        relative;

    color:
        #ffffff;

    background:
        #111a2a;

}


/* Footer headings */

.api-footer h1,
.api-footer h2,
.api-footer h3,
.api-footer h4 {

    color:
        #ffffff !important;

}


/* Footer paragraph */

.api-footer p {

    color:
        rgba(
            255,
            255,
            255,
            0.58
        ) !important;

}


/* Footer links */

.api-footer a {

    color:
        rgba(
            255,
            255,
            255,
            0.55
        );

    text-decoration:
        none;

}


.api-footer a:hover {

    color:
        #f5d36a !important;

}


/* Footer logo */

.api-footer-logo img {

    display:
        block;

    width:
        auto;

    max-width:
        190px;

    height:
        auto;

    max-height:
        75px;

    object-fit:
        contain;

}


/* =========================================================
   13 — FOOTER SOCIAL LINKS
========================================================= */

.api-footer-social a {

    display:
        flex;

    align-items:
        center;

    justify-content:
        center;

    color:
        rgba(
            255,
            255,
            255,
            0.75
        ) !important;

}


.api-footer-social a:hover {

    color:
        #ffffff !important;

    background:
        #d42626 !important;

}


/* =========================================================
   14 — FOOTER DONATE BUTTON
========================================================= */

.api-footer-donate {

    color:
        #ffffff !important;

    background:
        #d42626 !important;

    border-color:
        #d42626 !important;

}


.api-footer-donate:hover {

    color:
        #172235 !important;

    background:
        #f5d36a !important;

    border-color:
        #f5d36a !important;

}


/* =========================================================
   15 — NEWSLETTER
========================================================= */

.api-footer-newsletter-label {

    color:
        #f5d36a !important;

}


.api-footer-newsletter-content h3 {

    color:
        #ffffff !important;

}


.api-footer-newsletter-form input {

    color:
        #ffffff !important;

    background:
        transparent !important;

}


.api-footer-newsletter-form input::placeholder {

    color:
        rgba(
            255,
            255,
            255,
            0.4
        ) !important;

}


.api-footer-newsletter-form button {

    color:
        #ffffff !important;

    background:
        #d42626 !important;

}


.api-footer-newsletter-form button:hover {

    color:
        #172235 !important;

    background:
        #f5d36a !important;

}


/* =========================================================
   16 — FOOTER BOTTOM
========================================================= */

.api-footer-bottom p {

    color:
        rgba(
            255,
            255,
            255,
            0.4
        ) !important;

}


.api-footer-legal a {

    color:
        rgba(
            255,
            255,
            255,
            0.4
        ) !important;

}


.api-footer-legal a:hover {

    color:
        #f5d36a !important;

}


/* =========================================================
   17 — IMAGE SAFETY
========================================================= */

.api-homepage-v2 img {

    max-width:
        100%;

    height:
        auto;

}


/* Image loaded */

.api-image-ready {

    opacity:
        1;

}


/* Image error */

.api-image-error {

    opacity:
        0.6;

}


/* =========================================================
   18 — KEYBOARD ACCESSIBILITY
========================================================= */

.api-button-keyboard-active {

    outline:
        3px
        solid
        #f5d36a !important;

    outline-offset:
        4px;

}


/* =========================================================
   19 — WORDPRESS ADMIN BAR
========================================================= */

.admin-bar .api-footer {

    margin-bottom:
        0;

}


/* =========================================================
   20 — MOBILE SAFETY
========================================================= */

@media (
    max-width:
    767px
) {


    .api-homepage-v2 {

        width:
            100%;

        max-width:
            100%;

        overflow-x:
            hidden;

    }


    .api-cta-content h2 {

        font-size:
            40px;

        line-height:
            1.1;

    }


    .api-footer-newsletter-form input {

        min-width:
            0;

    }


    .api-footer-contact li a {

        word-break:
            break-word;

    }


}


/* =========================================================
   21 — ELEMENTOR EDITOR SAFETY
========================================================= */

/*
 * Elementor editor should not hide sections
 * that use the V2 animation system.
 */

.elementor-editor-active
[data-api-animation] {

    opacity:
        1;

    transform:
        none;

}


/* =========================================================
   22 — FINAL V2 STATUS
========================================================= */

.api-js-ready {

    --api-v2-ready:
        1;

}