/* =======================__THE APA Africa - Main__============================  */
:root {
    --apa-green:       #0a5c36;
    --apa-green-mid: #1a8a52;
    --apa-green-dark:  #084526;
    --apa-navy:        #1a3a6b;
    --apa-grey:        #858585;
    --apa-gray:        #858585;
    --apa-gold:        #d4af37;
    --apa-gold-dark:   #c9a227;
    --apa-charcoal:    #070606;
    --apa-accent:      #61ce70;
    --apa-soft: #f4f8f6;
    --apa-bronze: #7a4706;
    --apa-line: #d9e2df;
    --apa-text:        #1f2a24;
    --apa-text-soft:   #4b5a52;
    --apa-border:      #e3e7e4;
    --apa-white:       #ffffff;
    --apa-bg-card:     #ffffff;
    --apa-bg-page:     #fafaf8;
    --apa-bg-light:    #f5f5f5;
    --apa-chip-bg:     #eaf3ee;
    --apa-tag-bg:      #eef1f6;
    --apa-pill-bg:     #f4f6f5;

    --apa-radius:      10px;
    --apa-radius-sm:   6px;
    --apa-shadow:      0 1px 3px rgba(10, 92, 54, 0.06);

    --font-sans: "Helvetica Neue", "Helvetica", "Arial", ui-sans-serif, system-ui, sans-serif;
    --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;

    --color-black: #000;
    --color-white: #fff;
    --spacing: .25rem;

    --text-xs: .75rem;
    --text-xs--line-height: calc(1 / .75);
    --text-sm: .875rem;
    --text-sm--line-height: calc(1.25 / .875);
    --text-base: 1rem;
    --text-base--line-height: calc(1.5 / 1);
    --text-lg: 1.125rem;
    --text-lg--line-height: calc(1.75 / 1.125);
    --text-xl: 1.25rem;
    --text-xl--line-height: calc(1.75 / 1.25);
    --text-2xl: 1.5rem;
    --text-2xl--line-height: calc(2 / 1.5);
    --text-3xl: 1.875rem;
    --text-3xl--line-height: calc(2.25 / 1.875);
    --text-4xl: 2.25rem;
    --text-4xl--line-height: calc(2.5 / 2.25);
    --text-5xl: 3rem;
    --text-5xl--line-height: 1;
    --text-6xl: 3.75rem;
    --text-6xl--line-height: 1;
    --text-7xl: 4.5rem;
    --text-7xl--line-height: 1;
    --font-weight-normal: 400;
    --font-weight-medium: 500;
    --font-weight-semibold: 600;
    --font-weight-bold: 700;
    --font-weight-extrabold: 800;
    --font-weight-black: 900;
    --tracking-tight: -.025em;
    --tracking-wide: .025em;
    --tracking-wider: .05em;
    --tracking-widest: .1em;
    --leading-tight: 1.25;
    --leading-snug: 1.375;
    --leading-relaxed: 1.625;
    --radius-md: .375rem;
    --radius-lg: .5rem;
    --radius-2xl: 1rem;
    --animate-spin: spin 1s linear infinite;
    --aspect-video: 16 / 9;
    --default-transition-duration: .15s;
    --default-transition-timing-function: cubic-bezier(.4, 0, .2, 1);
    --default-font-family: var(--font-sans);
    --default-mono-font-family: var(--font-mono);
   
    --tw-border-style { syntax: "*";inherits: false;initial-value: solid;}


}

* { box-sizing: border-box; }

body:not(.page-template-page-apa-CSPA) {
    margin: 0;
    /* background: var(--apa-bg-page); */
    color: var(--apa-text);
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
    line-height: 1.5;
}

.apa-main__header {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 10px;
}


.apa-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: var(--apa-gold);
    color: #4a3a0a;
    font-weight: 800;
    font-size: 20px;
    padding: 6px 12px;
    border-radius: 6px;
    letter-spacing: 0.02em;
    flex-shrink: 0;
}

.apa-badge-outline {
  border: 1px solid var(--apa-gold);
  color: var(--apa-gold);
  letter-spacing: .1em;
  text-transform: uppercase;
  border-radius: 4px;
  padding: 4px 12px;
  font-size: .72rem;
  display: inline-block;
}

.apa-badge--sm {
    font-size: 13px;
    padding: 5px 10px;
}

.apa-title {
    font-size: 30px;
    font-weight: 700;
    color: var(--apa-green);
    margin: 0;
}

.apa-subtitle {
    color: var(--apa-text-soft);
    font-size: 15px;
    /* max-width: 780px; */
    margin: 0 0 28px;
}

.apa-main__header + .apa-subtitle {
    border-bottom: 3px solid var(--apa-gold);
    padding-bottom: 24px;
}

.apa-divider {
    height: 3px;
    background: var(--apa-gold-dark);
    margin: 4px 0 16px;
}


.apa-main-container {
    width: 100%;
}


.apa-gradient {
    background: linear-gradient(157deg, #0a5c36 0%, #0b5c4e 48%, #0d2b4e 100%);
}

.elementor-field-group .elementor-field-textual {background: transparent !important;}

.apa-kpi {
    background: #ffffff1a;
    border-radius: 8px;
}

h2 {
    font-size: var(--text-2xl);
    font-weight: bold;
    color: var(--apa-green);
}

.text-apa-navy {
    color: var(--apa-navy);
}
.font-semibold {
    --tw-font-weight: var(--font-weight-semibold);
    font-weight: var(--font-weight-semibold);
}

.border-rounded {

    border-radius: var(--radius-lg);

}

.text-white {color: #ffffff !important;}


.font-mono {
        font-family: var(--font-mono)
    }

    .text-2xl {
        font-size: var(--text-2xl);
        line-height: var(--tw-leading,var(--text-2xl--line-height))
    }

    .text-3xl {
        font-size: var(--text-3xl);
        line-height: var(--tw-leading,var(--text-3xl--line-height))
    }

    .text-4xl {
        font-size: var(--text-4xl);
        line-height: var(--tw-leading,var(--text-4xl--line-height))
    }

    .text-5xl {
        font-size: var(--text-5xl);
        line-height: var(--tw-leading,var(--text-5xl--line-height))
    }

    .text-6xl {
        font-size: var(--text-6xl);
        line-height: var(--tw-leading,var(--text-6xl--line-height))
    }

    .text-7xl {
        font-size: var(--text-7xl);
        line-height: var(--tw-leading,var(--text-7xl--line-height))
    }

    .text-base {
        font-size: var(--text-base);
        line-height: var(--tw-leading,var(--text-base--line-height))
    }

    .text-lg {
        font-size: var(--text-lg);
        line-height: var(--tw-leading,var(--text-lg--line-height))
    }

    .text-sm {
        font-size: var(--text-sm);
        line-height: var(--tw-leading,var(--text-sm--line-height))
    }

    .text-xl {
        font-size: var(--text-xl);
        line-height: var(--tw-leading,var(--text-xl--line-height))
    }

    .text-xs {
        font-size: var(--text-xs);
        line-height: var(--tw-leading,var(--text-xs--line-height))
    }



    .p-0\.5 {
        padding: calc(var(--spacing) * .5)
    }

    .p-1 {
        padding: var(--spacing)
    }

    .p-2 {
        padding: calc(var(--spacing) * 2)
    }

    .p-3 {
        padding: calc(var(--spacing) * 3)
    }

    .p-4 {
        padding: calc(var(--spacing) * 4)
    }

    .p-5 {
        padding: calc(var(--spacing) * 5)
    }

    .p-6 {
        padding: calc(var(--spacing) * 6)
    }

    .p-7 {
        padding: calc(var(--spacing) * 7)
    }

    .p-8 {
        padding: calc(var(--spacing) * 8)
    }

    .p-10 {
        padding: calc(var(--spacing) * 10)
    }

    .px-1 {
        padding-inline:var(--spacing)}

    .px-1\.5 {
        padding-inline: calc(var(--spacing) * 1.5)
    }

    .px-2 {
        padding-inline:calc(var(--spacing) * 2)}

    .px-2\.5 {
        padding-inline: calc(var(--spacing) * 2.5)
    }

    .px-3 {
        padding-inline:calc(var(--spacing) * 3)}

    .px-3\.5 {
        padding-inline: calc(var(--spacing) * 3.5)
    }

    .px-4 {
        padding-inline:calc(var(--spacing) * 4)}

    .px-5 {
        padding-inline: calc(var(--spacing) * 5)
    }

    .px-6 {
        padding-inline:calc(var(--spacing) * 6)}

    .px-8 {
        padding-inline: calc(var(--spacing) * 8)
    }

    .px-10 {
        padding-inline:calc(var(--spacing) * 10)}

    .py-0\.5 {
        padding-block: calc(var(--spacing) * .5)
    }

    .py-1 {
        padding-block:var(--spacing)}

    .py-1\.5 {
        padding-block: calc(var(--spacing) * 1.5)
    }

    .py-2 {
        padding-block:calc(var(--spacing) * 2)}

    .py-2\.5 {
        padding-block: calc(var(--spacing) * 2.5)
    }

    .py-3 {
        padding-block:calc(var(--spacing) * 3)}

    .py-3\.5 {
        padding-block: calc(var(--spacing) * 3.5)
    }

    .py-4 {
        padding-block:calc(var(--spacing) * 4)}

    .py-6 {
        padding-block: calc(var(--spacing) * 6)
    }

    .py-8 {
        padding-block:calc(var(--spacing) * 8)}

    .py-10 {
        padding-block: calc(var(--spacing) * 10)
    }

    .py-12 {
        padding-block:calc(var(--spacing) * 12)}

    .py-14 {
        padding-block: calc(var(--spacing) * 14)
    }

    .py-16 {
        padding-block:calc(var(--spacing) * 16)}

    .py-20 {
        padding-block: calc(var(--spacing) * 20)
    }

    .pt-0 {
        padding-top: 0
    }

    .pt-1 {
        padding-top: var(--spacing)
    }

    .pt-3 {
        padding-top: calc(var(--spacing) * 3)
    }

    .pt-4 {
        padding-top: calc(var(--spacing) * 4)
    }

    .pt-5 {
        padding-top: calc(var(--spacing) * 5)
    }

    .pt-6 {
        padding-top: calc(var(--spacing) * 6)
    }

    .pt-8 {
        padding-top: calc(var(--spacing) * 8)
    }

    .pr-2 {
        padding-right: calc(var(--spacing) * 2)
    }

    .pb-1 {
        padding-bottom: var(--spacing)
    }

    .pb-2 {
        padding-bottom: calc(var(--spacing) * 2)
    }

    .pb-6 {
        padding-bottom: calc(var(--spacing) * 6)
    }

    .pb-10 {
        padding-bottom: calc(var(--spacing) * 10)
    }

    .pb-12 {
        padding-bottom: calc(var(--spacing) * 12)
    }

    .pl-2 {
        padding-left: calc(var(--spacing) * 2)
    }

    .pl-4 {
        padding-left: calc(var(--spacing) * 4)
    }

    .pl-5 {
        padding-left: calc(var(--spacing) * 5)
    }

    .pl-6 {
        padding-left: calc(var(--spacing) * 6)
    }
/* =======================__Display__============================  */
.d-none {display: none;}    
.btn-small, .elementor-size-sm, #cspa-1 {
    font-size: var(--text-xs) !important;
    line-height: var(--tw-leading, var(--text-xs--line-height)) !important;
        --tw-font-weight: var(--font-weight-bold) !important;
    font-weight: var(--font-weight-bold) !important;
    padding-block: calc(var(--spacing) * 1.5) !important;
    padding-inline: calc(var(--spacing) * 3) !important;
        border-radius: var(--radius-md) !important;
        background-color: var(--apa-green) !important;
        text-transform: none !important;
        letter-spacing: normal !important;
}

.btn-small:hover, .btn-small:active, .btn-small:focus, 
.elementor-size-sm:hover, .elementor-size-sm:active, .elementor-size-sm:focus, 
#cspa-1:hover, #cspa-1:focus, #cspa-1:active {
    background-color: var(--apa-green-mid) !important;
}

/* =======================__Footer__============================  */
 .footer-heading {
    text-transform: uppercase;
    color: var(--apa-gold);
    --tw-tracking: var(--tracking-wider);
    letter-spacing: var(--tracking-wider);
    --tw-font-weight: var(--font-weight-bold);
    font-weight: var(--font-weight-bold);
        font-size: var(--text-xs);
    line-height: var(--tw-leading, var(--text-xs--line-height));
 }