/* ==========================================================
   CHRIST FAITH CITY CENTRE
   PREMIUM HEADER
========================================================== */

.cfc-premium-topbar,
.cfc-premium-header,
.cfc-premium-mobile-menu,
.cfc-premium-overlay,
.cfc-premium-topbar *,
.cfc-premium-header *,
.cfc-premium-mobile-menu * {
    box-sizing: border-box;
}


/* ==========================================================
   VARIABLES
========================================================== */

:root {

    --cfc-navy: #18266b;
    --cfc-blue: #383a9e;
    --cfc-cyan: #06aee2;

    --cfc-deep: #101a4c;

    --cfc-text: #222942;
    --cfc-muted: #6f768a;

    --cfc-light: #f5f9fc;
    --cfc-white: #ffffff;

}


/* ==========================================================
   TOP BAR
========================================================== */

.cfc-premium-topbar {

    position: relative;

    z-index: 1001;

    width: 100%;

    background:
        linear-gradient(
            100deg,
            #151d5d 0%,
            #292d8c 52%,
            #079ed4 100%
        );

    color: #ffffff;

    font-family: "Manrope", sans-serif;
}


/* decorative light */

.cfc-premium-topbar::after {

    content: "";

    position: absolute;

    top: 0;
    left: 50%;

    width: 260px;
    height: 100%;

    transform: translateX(-50%);

    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(255,255,255,.06),
            transparent
        );

    pointer-events: none;
}


.cfc-premium-topbar-inner {

    width: min(94%, 1580px);

    min-height: 38px;

    margin: auto;

    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 25px;

}


/* LEFT */

.cfc-premium-topbar-left {

    display: flex;

    align-items: center;

    gap: 10px;

    font-size: 11.5px;

    font-weight: 600;

    letter-spacing: .15px;

}


.cfc-premium-live-dot {

    position: relative;

    width: 7px;
    height: 7px;

    border-radius: 50%;

    background: #6fffc2;

    box-shadow:
        0 0 0 4px rgba(111,255,194,.12);

}


.cfc-premium-top-separator {

    width: 1px;
    height: 14px;

    background: rgba(255,255,255,.25);

}


.cfc-premium-top-message {

    color: rgba(255,255,255,.72);

}


/* RIGHT */

.cfc-premium-topbar-right {

    display: flex;

    align-items: center;

    gap: 14px;

}


.cfc-premium-topbar-right > span {

    width: 1px;
    height: 13px;

    background: rgba(255,255,255,.25);

}


.cfc-premium-topbar-right a {

    display: flex;

    align-items: center;

    gap: 7px;

    color: rgba(255,255,255,.9);

    text-decoration: none;

    font-size: 11.5px;

    font-weight: 600;

    transition: .25s ease;

}


.cfc-premium-topbar-right a:hover {

    color: #ffffff;

}


.cfc-premium-topbar-right i {

    color: #77e6ff;

}


/* ==========================================================
   MAIN HEADER
========================================================== */

.cfc-premium-header {

    position: relative;

    z-index: 1000;

    width: 100%;

    background:
        linear-gradient(
            180deg,
            rgba(255,255,255,1),
            rgba(255,255,255,.98)
        );

    border-bottom: 1px solid #edf0f6;

    font-family: "Manrope", sans-serif;

    transition:
        box-shadow .3s ease,
        transform .3s ease;

}


/* premium bottom glow */

.cfc-premium-header::after {

    content: "";

    position: absolute;

    left: 50%;
    bottom: -1px;

    width: 42%;
    height: 1px;

    transform: translateX(-50%);

    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(7,174,226,.65),
            transparent
        );

}


.cfc-premium-header-inner {

    width: min(96%, 1640px);

    min-height: 96px;

    margin: auto;

    display: flex;

    align-items: center;

    gap: 30px;

}


/* ==========================================================
   BRAND
========================================================== */

.cfc-premium-brand {

    position: relative;

    flex-shrink: 0;

    display: flex;

    align-items: center;

    gap: 13px;

    text-decoration: none;

}


/* LOGO CONTAINER */

.cfc-premium-logo-box {

    position: relative;

    width: 78px;
    height: 78px;

    display: flex;

    align-items: center;

    justify-content: center;

}


/* subtle premium shape */

.cfc-premium-logo-box::before {

    content: "";

    position: absolute;

    inset: 6px;

    border-radius: 22px;

    transform: rotate(8deg);

    background:
        linear-gradient(
            135deg,
            rgba(55,57,157,.055),
            rgba(6,174,226,.08)
        );

}


.cfc-premium-logo-box img {

    position: relative;

    z-index: 2;

    width: 74px;
    height: 74px;

    object-fit: contain;

    display: block;

}


/* BRAND CONTENT */

.cfc-premium-brand-content {

    position: relative;

    padding-right: 23px;

    display: flex;

    flex-direction: column;

    line-height: 1;

}


/* vertical divider */

.cfc-premium-brand-content::after {

    content: "";

    position: absolute;

    right: 0;
    top: 7px;

    width: 1px;
    height: 46px;

    background:
        linear-gradient(
            transparent,
            #d8deea,
            transparent
        );

}


.cfc-premium-brand-small {

    margin-bottom: 5px;

    color: #8a91a5;

    font-size: 8px;

    font-weight: 800;

    letter-spacing: 2px;

    text-transform: uppercase;

}


.cfc-premium-brand-content strong {

    color: var(--cfc-blue);

    font-family: "Playfair Display", serif;

    font-size: 20px;

    font-weight: 700;

    white-space: nowrap;

}


.cfc-premium-brand-city {

    margin-top: 5px;

    color: var(--cfc-cyan);

    font-size: 11px;

    font-weight: 800;

    letter-spacing: 2.3px;

    text-transform: uppercase;

}


/* ==========================================================
   NAVIGATION
========================================================== */

.cfc-premium-nav {

    flex: 1;

    display: flex;

    align-items: center;

    justify-content: center;

    gap: 2px;

}


.cfc-premium-nav > a,
.cfc-premium-dropdown-trigger {

    position: relative;

    min-height: 46px;

    padding: 0 10px;

    display: flex;

    align-items: center;

    justify-content: center;

    gap: 6px;

    border: none;

    background: transparent;

    color: #353b51;

    font-family: "Manrope", sans-serif;

    font-size: 12.5px;

    font-weight: 700;

    text-decoration: none;

    white-space: nowrap;

    cursor: pointer;

    transition: .25s ease;

}


/* active indicator */

.cfc-premium-nav > a::before,
.cfc-premium-dropdown-trigger::before {

    content: "";

    position: absolute;

    left: 50%;
    bottom: 4px;

    width: 0;
    height: 2px;

    transform: translateX(-50%);

    border-radius: 10px;

    background:
        linear-gradient(
            90deg,
            var(--cfc-blue),
            var(--cfc-cyan)
        );

    transition: width .25s ease;

}


.cfc-premium-nav > a:hover,
.cfc-premium-nav > a.active,
.cfc-premium-dropdown-trigger:hover {

    color: var(--cfc-blue);

}


.cfc-premium-nav > a:hover::before,
.cfc-premium-nav > a.active::before,
.cfc-premium-dropdown:hover
.cfc-premium-dropdown-trigger::before {

    width: 24px;

}


/* ==========================================================
   DROPDOWN
========================================================== */

.cfc-premium-dropdown {

    position: relative;

}


.cfc-premium-dropdown-trigger i {

    color: #9197a8;

    font-size: 9px;

    transition: transform .25s ease;

}


.cfc-premium-dropdown:hover
.cfc-premium-dropdown-trigger i {

    transform: rotate(180deg);

}


/* MENU */

.cfc-premium-dropdown-menu {

    position: absolute;

    top: calc(100% + 15px);
    left: 50%;

    width: 370px;

    padding: 13px;

    transform:
        translateX(-50%)
        translateY(10px);

    background: rgba(255,255,255,.98);

    border: 1px solid #edf0f5;

    border-radius: 18px;

    box-shadow:
        0 25px 70px rgba(22,36,85,.14);

    opacity: 0;

    visibility: hidden;

    pointer-events: none;

    transition: .25s ease;

}


/* invisible hover bridge */

.cfc-premium-dropdown-menu::before {

    content: "";

    position: absolute;

    left: 0;
    top: -22px;

    width: 100%;
    height: 22px;

}


.cfc-premium-dropdown:hover
.cfc-premium-dropdown-menu {

    opacity: 1;

    visibility: visible;

    pointer-events: auto;

    transform:
        translateX(-50%)
        translateY(0);

}


/* DROPDOWN TITLE */

.cfc-premium-dropdown-heading {

    padding: 8px 10px 13px;

    border-bottom: 1px solid #edf0f5;

    margin-bottom: 6px;

}


.cfc-premium-dropdown-heading span {

    color: var(--cfc-cyan);

    font-size: 9px;

    font-weight: 800;

    letter-spacing: 1.8px;

    text-transform: uppercase;

}


.cfc-premium-dropdown-heading h4 {

    margin: 3px 0 0;

    color: var(--cfc-deep);

    font-family: "Playfair Display", serif;

    font-size: 18px;

}


/* DROPDOWN LINKS */

.cfc-premium-dropdown-menu > a {

    display: grid;

    grid-template-columns:
        42px
        1fr
        20px;

    align-items: center;

    gap: 10px;

    padding: 10px;

    border-radius: 11px;

    color: var(--cfc-text);

    text-decoration: none;

    transition: .25s ease;

}


.cfc-premium-dropdown-menu > a:hover {

    background: #f4faff;

    transform: translateX(3px);

}


.cfc-premium-drop-icon {

    width: 40px;
    height: 40px;

    display: flex;

    align-items: center;

    justify-content: center;

    border-radius: 10px;

    color: var(--cfc-blue);

    background:
        linear-gradient(
            135deg,
            #eff1ff,
            #eafaff
        );

}


.cfc-premium-dropdown-menu strong {

    display: block;

    margin-bottom: 2px;

    color: #242b49;

    font-size: 12.5px;

}


.cfc-premium-dropdown-menu small {

    color: #858b9b;

    font-size: 10px;

}


.cfc-premium-dropdown-menu > a > i {

    color: #a9afbd;

    font-size: 10px;

}


/* ==========================================================
   PRAYER CTA
========================================================== */

.cfc-premium-actions {

    flex-shrink: 0;

    display: flex;

    align-items: center;

    gap: 12px;

}


.cfc-premium-prayer-btn {

    position: relative;

    min-width: 185px;
    min-height: 57px;

    padding: 7px 12px 7px 8px;

    display: grid;

    grid-template-columns:
        42px
        1fr
        16px;

    align-items: center;

    gap: 8px;

    overflow: hidden;

    border-radius: 13px;

    background:
        linear-gradient(
            125deg,
            #292d8d,
            #3438a0 48%,
            #07a9dc
        );

    color: #ffffff;

    text-decoration: none;

    box-shadow:
        0 12px 28px rgba(42,55,150,.19);

    transition:
        transform .25s ease,
        box-shadow .25s ease;

}


/* shine */

.cfc-premium-prayer-btn::before {

    content: "";

    position: absolute;

    top: -40px;
    left: -60px;

    width: 45px;
    height: 150px;

    transform: rotate(25deg);

    background:
        rgba(255,255,255,.10);

    transition: left .55s ease;

}


.cfc-premium-prayer-btn:hover::before {

    left: 115%;

}


.cfc-premium-prayer-btn:hover {

    transform: translateY(-2px);

    box-shadow:
        0 17px 35px rgba(42,55,150,.25);

}


.cfc-premium-prayer-icon {

    width: 42px;
    height: 42px;

    display: flex;

    align-items: center;

    justify-content: center;

    border: 1px solid rgba(255,255,255,.18);

    border-radius: 10px;

    background: rgba(255,255,255,.11);

    font-size: 15px;

}


.cfc-premium-prayer-text {

    display: flex;

    flex-direction: column;

}


.cfc-premium-prayer-text small {

    margin-bottom: 2px;

    color: rgba(255,255,255,.65);

    font-size: 8px;

    font-weight: 600;

}


.cfc-premium-prayer-text strong {

    color: #ffffff;

    font-size: 11.5px;

    font-weight: 800;

}


.cfc-premium-btn-arrow {

    font-size: 10px;

}


/* ==========================================================
   MOBILE BUTTON
========================================================== */

.cfc-premium-menu-toggle {

    width: 48px;
    height: 48px;

    display: none;

    align-items: center;

    justify-content: center;

    flex-direction: column;

    gap: 5px;

    border: 0;

    border-radius: 12px;

    background:
        linear-gradient(
            135deg,
            var(--cfc-blue),
            var(--cfc-cyan)
        );

    box-shadow:
        0 8px 20px rgba(21,116,190,.18);

    cursor: pointer;

}


.cfc-premium-menu-toggle span {

    width: 21px;
    height: 2px;

    display: block;

    border-radius: 20px;

    background: #ffffff;

}


/* ==========================================================
   STICKY HEADER
========================================================== */

.cfc-premium-header.cfc-header-fixed {

    position: fixed;

    top: 0;
    left: 0;

    width: 100%;

    box-shadow:
        0 12px 40px rgba(25,35,80,.09);

    animation: cfcHeaderSlide .35s ease;

}


.cfc-premium-header.cfc-header-fixed
.cfc-premium-header-inner {

    min-height: 78px;

}


.cfc-premium-header.cfc-header-fixed
.cfc-premium-logo-box {

    width: 62px;
    height: 62px;

}


.cfc-premium-header.cfc-header-fixed
.cfc-premium-logo-box img {

    width: 59px;
    height: 59px;

}


@keyframes cfcHeaderSlide {

    from {
        transform: translateY(-100%);
    }

    to {
        transform: translateY(0);
    }

}


/* ==========================================================
   OVERLAY
========================================================== */

.cfc-premium-overlay {

    position: fixed;

    inset: 0;

    z-index: 9998;

    background:
        rgba(8,16,48,.62);

    backdrop-filter: blur(6px);

    -webkit-backdrop-filter: blur(6px);

    opacity: 0;

    visibility: hidden;

    transition: .35s ease;

}


.cfc-premium-overlay.active {

    opacity: 1;

    visibility: visible;

}


/* ==========================================================
   MOBILE MENU
========================================================== */

.cfc-premium-mobile-menu {

    position: fixed;

    top: 0;
    right: -440px;

    z-index: 9999;

    width: min(420px, 92%);

    height: 100dvh;

    overflow-y: auto;

    background: #ffffff;

    font-family: "Manrope", sans-serif;

    box-shadow:
        -20px 0 70px rgba(10,21,62,.18);

    transition:
        right .42s cubic-bezier(.76,0,.24,1);

}


.cfc-premium-mobile-menu.active {

    right: 0;

}


/* ==========================================================
   MOBILE HEADER
========================================================== */

.cfc-premium-mobile-head {

    min-height: 91px;

    padding: 13px 20px;

    display: flex;

    align-items: center;

    justify-content: space-between;

    border-bottom: 1px solid #edf0f5;

}


.cfc-premium-mobile-logo {

    display: flex;

    align-items: center;

    gap: 10px;

    text-decoration: none;

}


.cfc-premium-mobile-logo img {

    width: 61px;
    height: 61px;

    object-fit: contain;

}


.cfc-premium-mobile-logo div {

    display: flex;

    flex-direction: column;

}


.cfc-premium-mobile-logo strong {

    color: var(--cfc-blue);

    font-family: "Playfair Display", serif;

    font-size: 18px;

}


.cfc-premium-mobile-logo span {

    margin-top: 3px;

    color: var(--cfc-cyan);

    font-size: 10px;

    font-weight: 800;

    letter-spacing: 1.7px;

    text-transform: uppercase;

}


.cfc-premium-mobile-close {

    width: 43px;
    height: 43px;

    display: flex;

    align-items: center;

    justify-content: center;

    border: 0;

    border-radius: 50%;

    background: #f2f6fb;

    color: var(--cfc-blue);

    font-size: 18px;

    cursor: pointer;

}


/* ==========================================================
   MOBILE INTRO
========================================================== */

.cfc-premium-mobile-intro {

    position: relative;

    margin: 17px;

    padding: 21px;

    overflow: hidden;

    border-radius: 16px;

    background:
        linear-gradient(
            135deg,
            #f2f3ff,
            #eefbff
        );

}


.cfc-premium-mobile-intro::after {

    content: "";

    position: absolute;

    width: 120px;
    height: 120px;

    right: -55px;
    top: -55px;

    border-radius: 50%;

    background:
        rgba(7,174,226,.08);

}


.cfc-premium-mobile-intro > span {

    color: var(--cfc-cyan);

    font-size: 9px;

    font-weight: 800;

    letter-spacing: 2px;

    text-transform: uppercase;

}


.cfc-premium-mobile-intro h3 {

    margin: 6px 0 7px;

    color: var(--cfc-deep);

    font-family: "Playfair Display", serif;

    font-size: 22px;

    line-height: 1.25;

}


.cfc-premium-mobile-intro p {

    max-width: 280px;

    margin: 0;

    color: #737a8d;

    font-size: 11px;

    line-height: 1.7;

}


/* ==========================================================
   MOBILE NAV
========================================================== */

.cfc-premium-mobile-nav {

    padding: 3px 15px 18px;

}


.cfc-premium-mobile-nav a {

    min-height: 54px;

    padding: 6px 10px;

    display: grid;

    grid-template-columns:
        39px
        1fr
        20px;

    align-items: center;

    gap: 9px;

    border-bottom: 1px solid #f0f2f6;

    color: #353c55;

    font-size: 13px;

    font-weight: 700;

    text-decoration: none;

    transition: .25s ease;

}


.cfc-premium-mobile-icon {

    width: 37px;
    height: 37px;

    display: flex;

    align-items: center;

    justify-content: center;

    border-radius: 10px;

    color: var(--cfc-blue);

    background:
        linear-gradient(
            135deg,
            #f1f2ff,
            #edfaff
        );

    transition: .25s ease;

}


.cfc-premium-mobile-nav a > i {

    justify-self: end;

    color: #adb3c1;

    font-size: 9px;

}


.cfc-premium-mobile-nav a:hover,
.cfc-premium-mobile-nav a.active {

    padding-left: 14px;

    color: var(--cfc-blue);

    background: #f8fbfe;

}


.cfc-premium-mobile-nav a:hover
.cfc-premium-mobile-icon,
.cfc-premium-mobile-nav a.active
.cfc-premium-mobile-icon {

    color: #ffffff;

    background:
        linear-gradient(
            135deg,
            var(--cfc-blue),
            var(--cfc-cyan)
        );

}


/* ==========================================================
   MOBILE PRAYER BOX
========================================================== */

.cfc-premium-mobile-prayer {

    margin: 0 17px 25px;

    padding: 20px;

    overflow: hidden;

    border-radius: 17px;

    background:
        linear-gradient(
            130deg,
            #242984,
            #34389d 50%,
            #08a9db
        );

    box-shadow:
        0 15px 35px rgba(35,50,145,.2);

    color: #ffffff;

}


.cfc-premium-mobile-prayer-top {

    display: flex;

    align-items: center;

    gap: 10px;

}


.cfc-premium-mobile-prayer-top div {

    width: 37px;
    height: 37px;

    display: flex;

    align-items: center;

    justify-content: center;

    border-radius: 9px;

    background: rgba(255,255,255,.12);

}


.cfc-premium-mobile-prayer-top span {

    color: rgba(255,255,255,.7);

    font-size: 9px;

    font-weight: 800;

    letter-spacing: 1.7px;

}


.cfc-premium-mobile-prayer h4 {

    margin: 13px 0 15px;

    max-width: 270px;

    font-family: "Playfair Display", serif;

    font-size: 19px;

    line-height: 1.35;

}


.cfc-premium-mobile-prayer > a {

    min-height: 42px;

    padding: 0 14px;

    display: flex;

    align-items: center;

    justify-content: space-between;

    border-radius: 9px;

    background: #ffffff;

    color: var(--cfc-blue);

    font-size: 11px;

    font-weight: 800;

    text-decoration: none;

}


/* ==========================================================
   RESPONSIVE
========================================================== */

@media (max-width: 1510px) {

    .cfc-premium-brand-content {

        display: none;

    }

    .cfc-premium-nav > a,
    .cfc-premium-dropdown-trigger {

        padding-left: 8px;
        padding-right: 8px;

        font-size: 11.5px;

    }

}


@media (max-width: 1230px) {

    .cfc-premium-nav {

        display: none;

    }

    .cfc-premium-brand-content {

        display: flex;

    }

    .cfc-premium-menu-toggle {

        display: flex;

    }

    .cfc-premium-header-inner {

        width: 92%;

        justify-content: space-between;

    }

}


@media (max-width: 767px) {

    .cfc-premium-topbar {

        display: none;

    }

    .cfc-premium-header-inner {

        min-height: 78px;

    }

    .cfc-premium-logo-box {

        width: 60px;
        height: 60px;

    }

    .cfc-premium-logo-box img {

        width: 58px;
        height: 58px;

    }

    .cfc-premium-brand-content {

        padding-right: 0;

    }

    .cfc-premium-brand-content::after {

        display: none;

    }

    .cfc-premium-brand-small {

        display: none;

    }

    .cfc-premium-brand-content strong {

        font-size: 17px;

    }

    .cfc-premium-brand-city {

        font-size: 9px;

        letter-spacing: 1.5px;

    }

    .cfc-premium-prayer-btn {

        display: none;

    }

}


@media (max-width: 390px) {

    .cfc-premium-brand-content strong {

        font-size: 15px;

    }

    .cfc-premium-brand-city {

        font-size: 8px;

    }

    .cfc-premium-logo-box {

        width: 54px;
        height: 54px;

    }

    .cfc-premium-logo-box img {

        width: 52px;
        height: 52px;

    }

}


body.cfc-menu-open {

    overflow: hidden;

}





/* ==========================================================
   BIGGER HEADER FONTS
========================================================== */

/* Church Name */
.cfc-premium-brand-content strong {
    font-size: 25px;
    font-weight: 700;
}

/* City Centre */
.cfc-premium-brand-city {
    font-size: 13px;
    font-weight: 800;
    letter-spacing: 2.4px;
}

/* Welcome To */
.cfc-premium-brand-small {
    font-size: 10px;
}


/* ==========================================================
   DESKTOP MENU - BIGGER FONT
========================================================== */

.cfc-premium-nav > a,
.cfc-premium-dropdown-trigger {
    font-size: 15px;
    font-weight: 700;
    padding-left: 12px;
    padding-right: 12px;
}


/* Explore Arrow */
.cfc-premium-dropdown-trigger i {
    font-size: 10px;
}


/* ==========================================================
   PRAYER BUTTON
========================================================== */

.cfc-premium-prayer-text small {
    font-size: 10px;
}

.cfc-premium-prayer-text strong {
    font-size: 14px;
}


/* ==========================================================
   TOP BAR
========================================================== */

.cfc-premium-topbar-left {
    font-size: 13px;
}

.cfc-premium-topbar-right a {
    font-size: 13px;
}


/* ==========================================================
   DROPDOWN
========================================================== */

.cfc-premium-dropdown-heading span {
    font-size: 11px;
}

.cfc-premium-dropdown-heading h4 {
    font-size: 21px;
}

.cfc-premium-dropdown-menu strong {
    font-size: 14px;
}

.cfc-premium-dropdown-menu small {
    font-size: 11px;
}


/* ==========================================================
   MOBILE MENU BIGGER FONT
========================================================== */

.cfc-premium-mobile-nav a {
    font-size: 15px;
    font-weight: 700;
}

.cfc-premium-mobile-intro h3 {
    font-size: 25px;
}

.cfc-premium-mobile-intro p {
    font-size: 13px;
}


/* ==========================================================
   RESPONSIVE
========================================================== */

@media (max-width: 1510px) {

    .cfc-premium-nav > a,
    .cfc-premium-dropdown-trigger {
        font-size: 14px;
        padding-left: 9px;
        padding-right: 9px;
    }

}


@media (max-width: 767px) {

    .cfc-premium-brand-content strong {
        font-size: 19px;
    }

    .cfc-premium-brand-city {
        font-size: 10px;
    }

    .cfc-premium-mobile-nav a {
        font-size: 15px;
    }

}





/* ==========================================================
   CHRIST FAITH CITY CENTRE
   PREMIUM FOOTER
========================================================== */

.cfc-footer,
.cfc-footer * {
    box-sizing: border-box;
}

.cfc-footer {

    --cfc-footer-purple: #36399b;
    --cfc-footer-blue: #28368d;
    --cfc-footer-cyan: #08afe1;
    --cfc-footer-deep: #0c1541;
    --cfc-footer-deeper: #080f30;

    position: relative;

    margin-top: 90px;

    font-family: "Manrope", sans-serif;

    background: var(--cfc-footer-deep);

    color: #ffffff;

    overflow: hidden;
}


/* ==========================================================
   TOP LINE
========================================================== */

.cfc-footer-top-line {

    position: absolute;

    top: 0;
    left: 0;

    width: 100%;
    height: 3px;

    background:
        linear-gradient(
            90deg,
            #36399b,
            #08afe1,
            #36399b
        );

}


/* ==========================================================
   PRAYER CTA
========================================================== */

.cfc-footer-cta-wrap {

    position: relative;

    z-index: 5;

    width: min(92%, 1380px);

    margin: 0 auto;

    padding-top: 55px;
}


.cfc-footer-cta {

    position: relative;

    padding: 38px 42px;

    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 40px;

    overflow: hidden;

    border: 1px solid rgba(255,255,255,.11);

    border-radius: 24px;

    background:
        linear-gradient(
            120deg,
            #292c8d 0%,
            #35399e 47%,
            #08a9dc 100%
        );

    box-shadow:
        0 25px 60px rgba(0,0,0,.20);
}


/* DECORATIVE CIRCLE */

.cfc-footer-cta::before {

    content: "";

    position: absolute;

    width: 280px;
    height: 280px;

    right: -100px;
    top: -130px;

    border: 1px solid rgba(255,255,255,.10);

    border-radius: 50%;
}


.cfc-footer-cta::after {

    content: "";

    position: absolute;

    width: 170px;
    height: 170px;

    right: -30px;
    bottom: -120px;

    border-radius: 50%;

    background: rgba(255,255,255,.05);
}


.cfc-footer-cta-left {

    position: relative;

    z-index: 2;

    display: flex;

    align-items: center;

    gap: 24px;

    max-width: 850px;
}


.cfc-footer-cta-icon {

    flex: 0 0 78px;

    width: 78px;
    height: 78px;

    display: flex;

    align-items: center;

    justify-content: center;

    border: 1px solid rgba(255,255,255,.18);

    border-radius: 20px;

    background: rgba(255,255,255,.10);

    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.12);

    font-size: 30px;
}


.cfc-footer-cta-content > span {

    display: block;

    margin-bottom: 6px;

    color: #aeefff;

    font-size: 11px;

    font-weight: 800;

    letter-spacing: 2px;
}


.cfc-footer-cta-content h2 {

    margin: 0 0 8px;

    color: #ffffff;

    font-family: "Playfair Display", serif;

    font-size: clamp(27px, 2.4vw, 38px);

    line-height: 1.2;
}


.cfc-footer-cta-content p {

    max-width: 680px;

    margin: 0;

    color: rgba(255,255,255,.72);

    font-size: 14px;

    line-height: 1.8;
}


.cfc-footer-cta-action {

    position: relative;

    z-index: 3;

    flex-shrink: 0;
}


.cfc-footer-cta-action a {

    min-height: 56px;

    padding: 0 24px;

    display: flex;

    align-items: center;

    justify-content: center;

    gap: 13px;

    border-radius: 12px;

    background: #ffffff;

    color: #303594;

    text-decoration: none;

    font-size: 14px;

    font-weight: 800;

    box-shadow:
        0 13px 30px rgba(0,0,0,.13);

    transition: .3s ease;
}


.cfc-footer-cta-action a:hover {

    transform: translateY(-3px);

    box-shadow:
        0 17px 35px rgba(0,0,0,.18);
}


/* ==========================================================
   MAIN FOOTER
========================================================== */

.cfc-footer-main {

    position: relative;

    padding: 75px 0 65px;

    background:

        radial-gradient(
            circle at 90% 10%,
            rgba(8,175,225,.08),
            transparent 27%
        ),

        radial-gradient(
            circle at 5% 90%,
            rgba(54,57,155,.12),
            transparent 25%
        ),

        linear-gradient(
            135deg,
            #0d1746,
            #080f30
        );
}


/* DECORATIVE CROSS */

.cfc-footer-main::after {

    content: "✝";

    position: absolute;

    right: 5%;
    bottom: -75px;

    color: rgba(255,255,255,.018);

    font-family: serif;

    font-size: 320px;

    line-height: 1;

    pointer-events: none;
}


.cfc-footer-container {

    position: relative;

    z-index: 2;

    width: min(92%, 1380px);

    margin: auto;
}


.cfc-footer-grid {

    display: grid;

    grid-template-columns:
        1.4fr
        .75fr
        .85fr
        1.25fr;

    gap: 55px;
}


/* ==========================================================
   FOOTER BRAND
========================================================== */

.cfc-footer-brand {

    display: flex;

    align-items: center;

    gap: 14px;

    width: fit-content;

    text-decoration: none;
}


.cfc-footer-logo {

    width: 78px;
    height: 78px;

    padding: 4px;

    display: flex;

    align-items: center;

    justify-content: center;

    border-radius: 18px;

    background: #ffffff;

    box-shadow:
        0 10px 30px rgba(0,0,0,.16);
}


.cfc-footer-logo img {

    width: 100%;
    height: 100%;

    object-fit: contain;
}


.cfc-footer-brand-text {

    display: flex;

    flex-direction: column;
}


.cfc-footer-brand-text strong {

    color: #ffffff;

    font-family: "Playfair Display", serif;

    font-size: 25px;

    font-weight: 700;
}


.cfc-footer-brand-text span {

    margin-top: 4px;

    color: #42d4ff;

    font-size: 11px;

    font-weight: 800;

    letter-spacing: 2.5px;

    text-transform: uppercase;
}


.cfc-footer-description {

    max-width: 370px;

    margin: 24px 0 20px;

    color: rgba(255,255,255,.62);

    font-size: 14px;

    line-height: 1.9;
}


/* FAITH LINE */

.cfc-footer-faith-line {

    display: flex;

    align-items: center;

    gap: 9px;

    margin-bottom: 23px;
}


.cfc-footer-faith-line > span {

    width: 25px;
    height: 1px;

    background: #08afe1;
}


.cfc-footer-faith-line i {

    color: #40d5ff;

    font-size: 12px;
}


.cfc-footer-faith-line strong {

    color: rgba(255,255,255,.82);

    font-size: 11px;

    font-weight: 700;

    letter-spacing: 1px;
}


/* ==========================================================
   SOCIAL
========================================================== */

.cfc-footer-social {

    display: flex;

    gap: 9px;
}


.cfc-footer-social a {

    width: 42px;
    height: 42px;

    display: flex;

    align-items: center;

    justify-content: center;

    border: 1px solid rgba(255,255,255,.10);

    border-radius: 10px;

    background: rgba(255,255,255,.055);

    color: #ffffff;

    font-size: 14px;

    text-decoration: none;

    transition: .3s ease;
}


.cfc-footer-social a:hover {

    border-color: transparent;

    background:
        linear-gradient(
            135deg,
            #36399b,
            #08afe1
        );

    transform: translateY(-4px);
}


/* ==========================================================
   HEADINGS
========================================================== */

.cfc-footer-heading {

    margin-bottom: 25px;
}


.cfc-footer-heading span {

    display: block;

    margin-bottom: 5px;

    color: #36d0fb;

    font-size: 9px;

    font-weight: 800;

    letter-spacing: 1.8px;

    text-transform: uppercase;
}


.cfc-footer-heading h3 {

    position: relative;

    margin: 0;

    padding-bottom: 13px;

    color: #ffffff;

    font-family: "Playfair Display", serif;

    font-size: 21px;

    font-weight: 700;
}


.cfc-footer-heading h3::after {

    content: "";

    position: absolute;

    left: 0;
    bottom: 0;

    width: 35px;
    height: 2px;

    border-radius: 20px;

    background:
        linear-gradient(
            90deg,
            #36399b,
            #08afe1
        );
}


/* ==========================================================
   FOOTER LINKS
========================================================== */

.cfc-footer-links {

    margin: 0;

    padding: 0;

    list-style: none;
}


.cfc-footer-links li {

    margin-bottom: 13px;
}


.cfc-footer-links a {

    display: inline-flex;

    align-items: center;

    gap: 8px;

    color: rgba(255,255,255,.65);

    font-size: 13.5px;

    font-weight: 500;

    text-decoration: none;

    transition: .25s ease;
}


.cfc-footer-links a i {

    color: #28c7f3;

    font-size: 9px;

    transition: .25s ease;
}


.cfc-footer-links a:hover {

    color: #ffffff;

    transform: translateX(4px);
}


/* ==========================================================
   SMALL PRAYER LINK
========================================================== */

.cfc-footer-prayer-link {

    max-width: 220px;

    margin-top: 25px;

    padding: 12px;

    display: flex;

    align-items: center;

    gap: 10px;

    border: 1px solid rgba(255,255,255,.08);

    border-radius: 12px;

    background: rgba(255,255,255,.04);

    text-decoration: none;

    transition: .3s ease;
}


.cfc-footer-prayer-link > div {

    width: 38px;
    height: 38px;

    flex-shrink: 0;

    display: flex;

    align-items: center;

    justify-content: center;

    border-radius: 9px;

    background:
        linear-gradient(
            135deg,
            #35399d,
            #08afe1
        );

    color: #ffffff;
}


.cfc-footer-prayer-link > span {

    display: flex;

    flex-direction: column;
}


.cfc-footer-prayer-link small {

    color: #8d96b5;

    font-size: 9px;
}


.cfc-footer-prayer-link strong {

    margin-top: 2px;

    color: #ffffff;

    font-size: 11px;
}


.cfc-footer-prayer-link:hover {

    background: rgba(255,255,255,.07);

    transform: translateY(-2px);
}


/* ==========================================================
   CONTACT
========================================================== */

.cfc-footer-contact-item {

    display: grid;

    grid-template-columns: 43px 1fr;

    gap: 12px;

    margin-bottom: 20px;
}


.cfc-footer-contact-icon {

    width: 43px;
    height: 43px;

    display: flex;

    align-items: center;

    justify-content: center;

    border: 1px solid rgba(255,255,255,.09);

    border-radius: 10px;

    background: rgba(255,255,255,.05);

    color: #38d0fa;

    font-size: 14px;
}


.cfc-footer-contact-item span {

    display: block;

    margin-bottom: 4px;

    color: #808baa;

    font-size: 9px;

    font-weight: 800;

    letter-spacing: 1px;

    text-transform: uppercase;
}


.cfc-footer-contact-item p {

    margin: 0;

    color: rgba(255,255,255,.70);

    font-size: 13px;

    line-height: 1.7;
}


.cfc-footer-contact-item a {

    color: rgba(255,255,255,.78);

    font-size: 13px;

    line-height: 1.6;

    text-decoration: none;

    word-break: break-word;

    transition: .25s ease;
}


.cfc-footer-contact-item a:hover {

    color: #42d5ff;
}


/* CONTACT BUTTON */

.cfc-footer-contact-btn {

    width: fit-content;

    min-height: 46px;

    margin-top: 5px;

    padding: 0 18px;

    display: inline-flex;

    align-items: center;

    justify-content: center;

    gap: 10px;

    border-radius: 10px;

    background:
        linear-gradient(
            135deg,
            #34389d,
            #08aee0
        );

    color: #ffffff;

    font-size: 12px;

    font-weight: 800;

    text-decoration: none;

    box-shadow:
        0 10px 25px rgba(4,122,190,.15);

    transition: .3s ease;
}


.cfc-footer-contact-btn:hover {

    transform: translateY(-3px);
}


/* ==========================================================
   BOTTOM
========================================================== */

.cfc-footer-bottom {

    position: relative;

    z-index: 3;

    border-top: 1px solid rgba(255,255,255,.07);

    background: #070d29;
}


.cfc-footer-bottom-container {

    width: min(92%, 1380px);

    min-height: 70px;

    margin: auto;

    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 25px;
}


.cfc-footer-copyright {

    display: flex;

    align-items: center;

    gap: 10px;
}


.cfc-footer-cross {

    width: 31px;
    height: 31px;

    display: flex;

    align-items: center;

    justify-content: center;

    border-radius: 8px;

    background: rgba(255,255,255,.05);

    color: #31c9f5;

    font-size: 11px;
}


.cfc-footer-copyright p {

    margin: 0;

    color: #77809d;

    font-size: 11.5px;
}


.cfc-footer-copyright strong {

    color: #b9c0d5;

    font-weight: 600;
}


/* BOTTOM LINKS */

.cfc-footer-bottom-links {

    display: flex;

    align-items: center;

    gap: 13px;
}


.cfc-footer-bottom-links > span {

    width: 3px;
    height: 3px;

    border-radius: 50%;

    background: #3f4968;
}


.cfc-footer-bottom-links a {

    color: #7f88a5;

    font-size: 11px;

    text-decoration: none;

    transition: .25s ease;
}


.cfc-footer-bottom-links a:hover {

    color: #35cff8;
}


/* ==========================================================
   TABLET
========================================================== */

@media (max-width: 1100px) {

    .cfc-footer-grid {

        grid-template-columns:
            1.3fr 1fr;

        gap: 50px 60px;
    }


    .cfc-footer-cta {

        padding: 32px;

    }

}


/* ==========================================================
   MOBILE
========================================================== */

@media (max-width: 767px) {

    .cfc-footer {

        margin-top: 60px;
    }


    .cfc-footer-cta-wrap {

        width: 90%;

        padding-top: 35px;
    }


    .cfc-footer-cta {

        padding: 28px 23px;

        flex-direction: column;

        align-items: flex-start;

        gap: 24px;

        border-radius: 18px;
    }


    .cfc-footer-cta-left {

        align-items: flex-start;

        gap: 15px;
    }


    .cfc-footer-cta-icon {

        flex: 0 0 55px;

        width: 55px;
        height: 55px;

        border-radius: 14px;

        font-size: 21px;
    }


    .cfc-footer-cta-content > span {

        font-size: 9px;

        letter-spacing: 1.4px;
    }


    .cfc-footer-cta-content h2 {

        font-size: 25px;
    }


    .cfc-footer-cta-content p {

        font-size: 12px;

        line-height: 1.7;
    }


    .cfc-footer-cta-action {

        width: 100%;
    }


    .cfc-footer-cta-action a {

        width: 100%;

        min-height: 52px;
    }


    /* MAIN */

    .cfc-footer-main {

        padding: 55px 0 45px;
    }


    .cfc-footer-grid {

        grid-template-columns: 1fr;

        gap: 42px;
    }


    .cfc-footer-brand-text strong {

        font-size: 22px;
    }


    .cfc-footer-description {

        max-width: 100%;
    }


    /* BOTTOM */

    .cfc-footer-bottom-container {

        padding: 20px 0;

        min-height: auto;

        flex-direction: column;

        text-align: center;

        gap: 15px;
    }


    .cfc-footer-copyright {

        flex-direction: column;

        justify-content: center;
    }


    .cfc-footer-copyright p {

        line-height: 1.7;
    }

}


/* ==========================================================
   SMALL MOBILE
========================================================== */

@media (max-width: 430px) {

    .cfc-footer-cta-left {

        display: block;
    }


    .cfc-footer-cta-icon {

        margin-bottom: 16px;
    }


    .cfc-footer-logo {

        width: 65px;
        height: 65px;
    }


    .cfc-footer-brand-text strong {

        font-size: 19px;
    }


    .cfc-footer-brand-text span {

        font-size: 9px;
    }


    .cfc-footer-contact-item {

        grid-template-columns: 39px 1fr;
    }


    .cfc-footer-contact-icon {

        width: 39px;
        height: 39px;
    }

}





/* ==========================================================
   FINAL FULL-WIDTH FIX
   HEADER + FOOTER
========================================================== */

/* Prevent browser default spacing */
html,
body {
    margin: 0 !important;
    padding: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: hidden;
}


/* ==========================================================
   HEADER - FULL WIDTH
========================================================== */

.cfc-premium-topbar,
.cfc-premium-header {
    width: 100% !important;
    max-width: none !important;

    margin-left: 0 !important;
    margin-right: 0 !important;

    padding-left: 0 !important;
    padding-right: 0 !important;
}


/* HEADER CONTENT */

.cfc-premium-topbar-inner,
.cfc-premium-header-inner {

    width: 100% !important;
    max-width: none !important;

    margin-left: 0 !important;
    margin-right: 0 !important;

    padding-left: 15px !important;
    padding-right: 15px !important;
}


/* ==========================================================
   FOOTER - FULL WIDTH
========================================================== */

.cfc-footer,
.cfc-footer-main,
.cfc-footer-bottom {

    width: 100% !important;
    max-width: none !important;

    margin-left: 0 !important;
    margin-right: 0 !important;
}


/* MAIN FOOTER CONTENT */

.cfc-footer-container {

    width: 100% !important;
    max-width: none !important;

    margin-left: 0 !important;
    margin-right: 0 !important;

    padding-left: 20px !important;
    padding-right: 20px !important;
}


/* FOOTER CTA */

.cfc-footer-cta-wrap {

    width: 100% !important;
    max-width: none !important;

    margin-left: 0 !important;
    margin-right: 0 !important;

    padding-left: 20px !important;
    padding-right: 20px !important;
}


/* FOOTER BOTTOM */

.cfc-footer-bottom-container {

    width: 100% !important;
    max-width: none !important;

    margin-left: 0 !important;
    margin-right: 0 !important;

    padding-left: 20px !important;
    padding-right: 20px !important;
}


/* ==========================================================
   IMPORTANT:
   IF HEADER/FOOTER IS INSIDE BOOTSTRAP .container
========================================================== */

.cfc-premium-header .container,
.cfc-premium-topbar .container,
.cfc-footer .container {

    width: 100% !important;
    max-width: none !important;

    margin-left: 0 !important;
    margin-right: 0 !important;

    padding-left: 15px !important;
    padding-right: 15px !important;
}


/* ==========================================================
   TABLET
========================================================== */

@media (max-width: 991px) {

    .cfc-premium-header-inner,
    .cfc-premium-topbar-inner {
        width: 100% !important;
        padding-left: 15px !important;
        padding-right: 15px !important;
    }


    .cfc-footer-container,
    .cfc-footer-cta-wrap,
    .cfc-footer-bottom-container {
        width: 100% !important;
        padding-left: 18px !important;
        padding-right: 18px !important;
    }

}


/* ==========================================================
   MOBILE
========================================================== */

@media (max-width: 767px) {

    .cfc-premium-header-inner {
        width: 100% !important;
        padding-left: 12px !important;
        padding-right: 12px !important;
    }


    .cfc-footer-container,
    .cfc-footer-cta-wrap,
    .cfc-footer-bottom-container {

        width: 100% !important;

        margin-left: 0 !important;
        margin-right: 0 !important;

        padding-left: 15px !important;
        padding-right: 15px !important;
    }

}







/* ==========================================================
   CHRIST FAITH CITY CENTRE
   FOOTER FINAL UPDATE
   - 4 EQUAL COLUMNS
   - EQUAL LEFT / RIGHT SPACE
   - BIGGER FONTS
========================================================== */


/* ==========================================================
   FOOTER CONTAINER
   Equal spacing on both sides
========================================================== */

.cfc-footer-container {
    width: 100% !important;
    max-width: 1500px !important;

    margin-left: auto !important;
    margin-right: auto !important;

    padding-left: 40px !important;
    padding-right: 40px !important;
}


/* ==========================================================
   4 PERFECTLY EQUAL COLUMNS
========================================================== */

.cfc-footer-grid {
    display: grid !important;

    grid-template-columns:
        repeat(4, minmax(0, 1fr)) !important;

    gap: 45px !important;

    align-items: start;
}


/* Prevent long text from making a column wider */

.cfc-footer-about,
.cfc-footer-column,
.cfc-footer-contact {
    width: 100%;
    min-width: 0;
}


/* ==========================================================
   CHURCH LOGO / BRAND
========================================================== */

.cfc-footer-logo {
    width: 85px;
    height: 85px;
}


.cfc-footer-brand-text strong {
    font-size: 28px !important;
    line-height: 1.2;
}


.cfc-footer-brand-text span {
    margin-top: 6px;

    font-size: 13px !important;

    letter-spacing: 2.2px;
}


/* ==========================================================
   ABOUT DESCRIPTION
========================================================== */

.cfc-footer-description {
    max-width: 100% !important;

    font-size: 16px !important;

    line-height: 1.9 !important;

    color: rgba(255,255,255,.72) !important;
}


/* FAITH HOPE LOVE */

.cfc-footer-faith-line strong {
    font-size: 13px !important;
}


/* ==========================================================
   FOOTER COLUMN HEADINGS
========================================================== */

.cfc-footer-heading {
    margin-bottom: 28px;
}


.cfc-footer-heading span {
    font-size: 11px !important;

    letter-spacing: 1.8px;

    margin-bottom: 7px;
}


.cfc-footer-heading h3 {
    font-size: 25px !important;

    line-height: 1.3;

    padding-bottom: 15px;
}


.cfc-footer-heading h3::after {
    width: 45px;
    height: 3px;
}


/* ==========================================================
   QUICK LINKS / MINISTRY LINKS
========================================================== */

.cfc-footer-links li {
    margin-bottom: 15px !important;
}


.cfc-footer-links a {
    font-size: 15.5px !important;

    font-weight: 500;

    line-height: 1.5;

    gap: 10px;
}


.cfc-footer-links a i {
    font-size: 11px !important;
}


/* ==========================================================
   CONTACT SECTION
========================================================== */

.cfc-footer-contact-item {
    grid-template-columns: 48px 1fr !important;

    gap: 14px !important;

    margin-bottom: 24px !important;
}


.cfc-footer-contact-icon {
    width: 48px !important;
    height: 48px !important;

    font-size: 16px !important;

    border-radius: 12px;
}


.cfc-footer-contact-item span {
    margin-bottom: 5px;

    font-size: 11px !important;

    letter-spacing: 1.2px;
}


.cfc-footer-contact-item p,
.cfc-footer-contact-item a {
    font-size: 15px !important;

    line-height: 1.75 !important;
}


/* EMAIL FIX */

.cfc-footer-contact-item a {
    word-break: break-word;
}


/* ==========================================================
   CONTACT BUTTON
========================================================== */

.cfc-footer-contact-btn {
    min-height: 52px !important;

    padding-left: 22px !important;
    padding-right: 22px !important;

    font-size: 14px !important;

    border-radius: 11px;
}


/* ==========================================================
   PRAYER MINI BOX
========================================================== */

.cfc-footer-prayer-link {
    max-width: 100% !important;

    padding: 14px !important;

    margin-top: 28px;
}


.cfc-footer-prayer-link > div {
    width: 44px;
    height: 44px;

    font-size: 16px;
}


.cfc-footer-prayer-link small {
    font-size: 11px !important;
}


.cfc-footer-prayer-link strong {
    font-size: 13px !important;
}


/* ==========================================================
   SOCIAL MEDIA ICONS
========================================================== */

.cfc-footer-social {
    gap: 11px;
}


.cfc-footer-social a {
    width: 46px !important;
    height: 46px !important;

    font-size: 16px !important;
}


/* ==========================================================
   TOP PRAYER CTA
   Equal left/right alignment with footer
========================================================== */

.cfc-footer-cta-wrap {
    width: 100% !important;
    max-width: 1500px !important;

    margin-left: auto !important;
    margin-right: auto !important;

    padding-left: 40px !important;
    padding-right: 40px !important;
}


.cfc-footer-cta-content > span {
    font-size: 12px !important;
}


.cfc-footer-cta-content h2 {
    font-size: 38px !important;
}


.cfc-footer-cta-content p {
    font-size: 16px !important;

    line-height: 1.8;
}


.cfc-footer-cta-action a {
    min-height: 58px;

    padding-left: 27px;
    padding-right: 27px;

    font-size: 15px !important;
}


/* ==========================================================
   FOOTER BOTTOM
   SAME LEFT + RIGHT ALIGNMENT
========================================================== */

.cfc-footer-bottom-container {
    width: 100% !important;
    max-width: 1500px !important;

    margin-left: auto !important;
    margin-right: auto !important;

    padding-left: 40px !important;
    padding-right: 40px !important;
}


.cfc-footer-copyright p {
    font-size: 13px !important;
}


.cfc-footer-bottom-links a {
    font-size: 13px !important;
}


/* ==========================================================
   LARGE SCREEN
========================================================== */

@media (min-width: 1600px) {

    .cfc-footer-container,
    .cfc-footer-cta-wrap,
    .cfc-footer-bottom-container {
        max-width: 1600px !important;

        padding-left: 50px !important;
        padding-right: 50px !important;
    }


    .cfc-footer-grid {
        gap: 55px !important;
    }


    .cfc-footer-description {
        font-size: 17px !important;
    }


    .cfc-footer-links a {
        font-size: 16px !important;
    }


    .cfc-footer-contact-item p,
    .cfc-footer-contact-item a {
        font-size: 16px !important;
    }

}


/* ==========================================================
   TABLET
   Change 4 columns into 2 equal columns
========================================================== */

@media (max-width: 1100px) {

    .cfc-footer-container,
    .cfc-footer-cta-wrap,
    .cfc-footer-bottom-container {
        max-width: 100% !important;

        padding-left: 30px !important;
        padding-right: 30px !important;
    }


    .cfc-footer-grid {
        grid-template-columns:
            repeat(2, minmax(0, 1fr)) !important;

        gap: 50px 40px !important;
    }

}


/* ==========================================================
   MOBILE
========================================================== */

@media (max-width: 767px) {

    .cfc-footer-container,
    .cfc-footer-cta-wrap,
    .cfc-footer-bottom-container {
        width: 100% !important;

        padding-left: 20px !important;
        padding-right: 20px !important;
    }


    .cfc-footer-grid {
        grid-template-columns: 1fr !important;

        gap: 45px !important;
    }


    /* Brand */

    .cfc-footer-brand-text strong {
        font-size: 24px !important;
    }


    .cfc-footer-brand-text span {
        font-size: 11px !important;
    }


    /* Description */

    .cfc-footer-description {
        font-size: 15px !important;

        line-height: 1.8 !important;
    }


    /* Headings */

    .cfc-footer-heading h3 {
        font-size: 23px !important;
    }


    /* Links */

    .cfc-footer-links a {
        font-size: 15px !important;
    }


    /* Contact */

    .cfc-footer-contact-item p,
    .cfc-footer-contact-item a {
        font-size: 14.5px !important;
    }


    /* CTA */

    .cfc-footer-cta-content h2 {
        font-size: 29px !important;
    }


    .cfc-footer-cta-content p {
        font-size: 14px !important;
    }


    /* Bottom */

    .cfc-footer-copyright p,
    .cfc-footer-bottom-links a {
        font-size: 12px !important;
    }

}


/* ==========================================================
   SMALL MOBILE
========================================================== */

@media (max-width: 430px) {

    .cfc-footer-container,
    .cfc-footer-cta-wrap,
    .cfc-footer-bottom-container {
        padding-left: 16px !important;
        padding-right: 16px !important;
    }


    .cfc-footer-heading h3 {
        font-size: 22px !important;
    }


    .cfc-footer-description {
        font-size: 14.5px !important;
    }


    .cfc-footer-links a {
        font-size: 14.5px !important;
    }

}





/* ==========================================================
   CHRIST FAITH CITY CENTRE
   PREMIUM HOME ABOUT SECTION
========================================================== */

.cfc-home-about,
.cfc-home-about * {
    box-sizing: border-box;
}


.cfc-home-about {

    position: relative;

    padding: 95px 0;

    overflow: hidden;

    background:
        radial-gradient(
            circle at 5% 15%,
            rgba(12, 174, 225, .07),
            transparent 25%
        ),
        linear-gradient(
            180deg,
            #ffffff 0%,
            #fbfdff 100%
        );

    font-family: "Manrope", sans-serif;
}


/* ==========================================================
   BACKGROUND DECORATION
========================================================== */

.cfc-home-about-shape {

    position: absolute;

    pointer-events: none;

    border-radius: 50%;

}


.cfc-home-about-shape-one {

    width: 330px;
    height: 330px;

    left: -210px;
    top: 60px;

    border: 1px solid rgba(55, 58, 158, .07);

}


.cfc-home-about-shape-two {

    width: 280px;
    height: 280px;

    right: -190px;
    bottom: 30px;

    background:
        rgba(8, 175, 225, .035);

}


/* ==========================================================
   MAIN CONTAINER
========================================================== */

.cfc-home-about-container {

    position: relative;

    z-index: 2;

    width: min(92%, 1450px);

    margin: 0 auto;

    display: grid;

    grid-template-columns:
        minmax(0, .95fr)
        minmax(0, 1.05fr);

    align-items: center;

    gap: 85px;

}


/* ==========================================================
   IMAGE AREA
========================================================== */

.cfc-home-about-visual {

    position: relative;

    padding: 15px 25px 40px 10px;

}


.cfc-home-about-image-wrap {

    position: relative;

}


/* BACK DECORATION */

.cfc-home-about-image-bg {

    position: absolute;

    left: -16px;
    top: -16px;

    width: 62%;
    height: 65%;

    border-radius: 25px;

    background:
        linear-gradient(
            135deg,
            rgba(55,58,158,.12),
            rgba(8,175,225,.11)
        );

}


/* MAIN IMAGE */

.cfc-home-about-image {

    position: relative;

    z-index: 2;

    display: block;

    width: 100%;
    height: 500px;

    object-fit: cover;

    border-radius:
        28px
        90px
        28px
        28px;

    box-shadow:
        0 30px 65px
        rgba(23, 35, 86, .15);

}


/* ==========================================================
   FLOATING CARD
========================================================== */

.cfc-home-about-floating-card {

    position: absolute;

    z-index: 5;

    right: -25px;
    bottom: 35px;

    min-width: 220px;

    padding: 15px 17px;

    display: flex;

    align-items: center;

    gap: 12px;

    border:
        1px solid
        rgba(255,255,255,.8);

    border-radius: 15px;

    background:
        rgba(255,255,255,.96);

    box-shadow:
        0 18px 45px
        rgba(25,38,89,.16);

}


.cfc-home-about-floating-icon {

    width: 48px;
    height: 48px;

    flex-shrink: 0;

    display: flex;

    align-items: center;
    justify-content: center;

    border-radius: 12px;

    background:
        linear-gradient(
            135deg,
            #383a9e,
            #08afe1
        );

    color: #ffffff;

    font-size: 18px;

}


.cfc-home-about-floating-card > div:last-child {

    display: flex;

    flex-direction: column;

}


.cfc-home-about-floating-card span {

    color: #8b92a5;

    font-size: 10px;

    font-weight: 700;

    text-transform: uppercase;

    letter-spacing: .6px;

}


.cfc-home-about-floating-card strong {

    margin-top: 3px;

    color: #20285d;

    font-family:
        "Playfair Display",
        serif;

    font-size: 18px;

}


/* ==========================================================
   2012 CARD
========================================================== */

.cfc-home-about-year-card {

    position: relative;

    z-index: 6;

    width: 78%;

    margin:
        -7px
        0
        0
        35px;

    padding: 16px 20px;

    display: flex;

    align-items: center;

    gap: 16px;

    border-radius: 14px;

    background: #ffffff;

    border:
        1px solid
        #e8edf4;

    box-shadow:
        0 15px 40px
        rgba(25,39,90,.08);

}


.cfc-home-about-year {

    padding-right: 16px;

    border-right:
        1px solid
        #e3e7ef;

    color: #383a9e;

    font-family:
        "Playfair Display",
        serif;

    font-size: 31px;

    font-weight: 700;

}


.cfc-home-about-year-card > div:last-child {

    display: flex;

    flex-direction: column;

}


.cfc-home-about-year-card span {

    color: #9298a8;

    font-size: 10px;

    font-weight: 700;

    text-transform: uppercase;

}


.cfc-home-about-year-card strong {

    margin-top: 3px;

    color: #293152;

    font-size: 13px;

}


/* ==========================================================
   RIGHT CONTENT
========================================================== */

.cfc-home-about-content {

    max-width: 700px;

}


/* SMALL LABEL */

.cfc-home-about-label {

    margin-bottom: 15px;

    display: flex;

    align-items: center;

    gap: 11px;

}


.cfc-home-about-label-line {

    width: 38px;
    height: 2px;

    flex-shrink: 0;

    border-radius: 10px;

    background:
        linear-gradient(
            90deg,
            #383a9e,
            #08afe1
        );

}


.cfc-home-about-label > span:last-child {

    color: #168ebd;

    font-size: 11px;

    font-weight: 800;

    letter-spacing: 1.8px;

}


/* ==========================================================
   HEADING
========================================================== */

.cfc-home-about-content h2 {

    margin: 0 0 24px;

    color: #172052;

    font-family:
        "Playfair Display",
        serif;

    font-size:
        clamp(40px, 4vw, 57px);

    font-weight: 700;

    line-height: 1.12;

    letter-spacing: -.8px;

}


.cfc-home-about-content h2 span {

    display: block;

    color: #393b9d;

}


/* ==========================================================
   TEXT
========================================================== */

.cfc-home-about-lead {

    position: relative;

    margin:
        0
        0
        19px;

    padding-left: 18px;

    color: #303956;

    font-size: 18px;

    font-weight: 600;

    line-height: 1.8;

}


.cfc-home-about-lead::before {

    content: "";

    position: absolute;

    left: 0;
    top: 5px;

    width: 3px;
    height: calc(100% - 10px);

    border-radius: 20px;

    background:
        linear-gradient(
            #393b9d,
            #08afe1
        );

}


.cfc-home-about-text {

    margin:
        0
        0
        14px;

    color: #697084;

    font-size: 15.5px;

    line-height: 1.9;

}


/* ==========================================================
   FEATURE BOXES
========================================================== */

.cfc-home-about-features {

    margin-top: 28px;

    display: grid;

    grid-template-columns:
        repeat(2, minmax(0,1fr));

    gap: 15px;

}


.cfc-home-about-feature {

    padding: 17px;

    display: grid;

    grid-template-columns:
        52px
        1fr;

    align-items: center;

    gap: 13px;

    border:
        1px solid
        #e8edf4;

    border-radius: 15px;

    background: #ffffff;

    box-shadow:
        0 8px 25px
        rgba(28,42,89,.04);

    transition:
        transform .3s ease,
        box-shadow .3s ease,
        border-color .3s ease;

}


.cfc-home-about-feature:hover {

    transform:
        translateY(-5px);

    border-color:
        rgba(8,175,225,.25);

    box-shadow:
        0 18px 38px
        rgba(28,42,89,.09);

}


.cfc-home-about-feature-icon {

    width: 52px;
    height: 52px;

    display: flex;

    align-items: center;
    justify-content: center;

    border-radius: 13px;

    background:
        linear-gradient(
            135deg,
            #eff0ff,
            #eafaff
        );

    color: #393b9d;

    font-size: 19px;

}


.cfc-home-about-feature h3 {

    margin: 0 0 4px;

    color: #252d56;

    font-size: 15px;

    font-weight: 800;

}


.cfc-home-about-feature p {

    margin: 0;

    color: #7c8395;

    font-size: 11.5px;

    line-height: 1.6;

}


/* ==========================================================
   BOTTOM
========================================================== */

.cfc-home-about-bottom {

    margin-top: 30px;

    display: flex;

    align-items: center;

    gap: 25px;

}


/* BUTTON */

.cfc-home-about-btn {

    min-height: 57px;

    padding:
        6px
        7px
        6px
        22px;

    flex-shrink: 0;

    display: inline-flex;

    align-items: center;

    gap: 17px;

    border-radius: 12px;

    background:
        linear-gradient(
            135deg,
            #35389c,
            #08aee0
        );

    color: #ffffff;

    text-decoration: none;

    font-size: 14px;

    font-weight: 800;

    box-shadow:
        0 13px 30px
        rgba(46,67,163,.18);

    transition: .3s ease;

}


.cfc-home-about-btn > span {

    width: 43px;
    height: 43px;

    display: flex;

    align-items: center;
    justify-content: center;

    border-radius: 9px;

    background:
        rgba(255,255,255,.14);

}


.cfc-home-about-btn:hover {

    transform:
        translateY(-3px);

    box-shadow:
        0 18px 38px
        rgba(46,67,163,.24);

}


/* QUOTE */

.cfc-home-about-scripture {

    display: flex;

    align-items: flex-start;

    gap: 9px;

    color: #747c90;

    font-size: 11.5px;

    font-style: italic;

    line-height: 1.65;

}


.cfc-home-about-scripture i {

    margin-top: 2px;

    color: #08afe1;

    font-size: 14px;

}


/* ==========================================================
   TABLET
========================================================== */

@media (max-width: 991px) {

    .cfc-home-about {

        padding:
            75px
            0;

    }


    .cfc-home-about-container {

        width: 90%;

        grid-template-columns: 1fr;

        gap: 60px;

    }


    .cfc-home-about-visual {

        width: min(100%, 680px);

        margin: auto;

    }


    .cfc-home-about-content {

        max-width: 100%;

    }

}


/* ==========================================================
   MOBILE
========================================================== */

@media (max-width: 767px) {

    .cfc-home-about {

        padding:
            60px
            0;

    }


    .cfc-home-about-container {

        width: calc(100% - 32px);

        gap: 45px;

    }


    /* IMAGE */

    .cfc-home-about-visual {

        padding:
            10px
            0
            25px;

    }


    .cfc-home-about-image-bg {

        left: -8px;
        top: -8px;

    }


    .cfc-home-about-image {

        height: 390px;

        border-radius:
            20px
            55px
            20px
            20px;

    }


    /* FLOATING CARD */

    .cfc-home-about-floating-card {

        right: 10px;
        bottom: 20px;

        min-width: 190px;

        padding: 12px;

    }


    .cfc-home-about-floating-icon {

        width: 42px;
        height: 42px;

    }


    .cfc-home-about-floating-card strong {

        font-size: 16px;

    }


    /* YEAR */

    .cfc-home-about-year-card {

        width:
            calc(100% - 35px);

        margin:
            -5px
            auto
            0;

    }


    .cfc-home-about-year {

        font-size: 26px;

    }


    /* LABEL */

    .cfc-home-about-label > span:last-child {

        font-size: 9px;

        letter-spacing: 1.3px;

    }


    /* TITLE */

    .cfc-home-about-content h2 {

        font-size: 38px;

        margin-bottom: 20px;

    }


    /* TEXT */

    .cfc-home-about-lead {

        font-size: 16px;

        line-height: 1.75;

    }


    .cfc-home-about-text {

        font-size: 14px;

        line-height: 1.8;

    }


    /* FEATURES */

    .cfc-home-about-features {

        grid-template-columns: 1fr;

    }


    .cfc-home-about-feature p {

        font-size: 12px;

    }


    /* BOTTOM */

    .cfc-home-about-bottom {

        align-items: flex-start;

        flex-direction: column;

    }

}


/* ==========================================================
   SMALL MOBILE
========================================================== */

@media (max-width: 430px) {

    .cfc-home-about-image {

        height: 340px;

    }


    .cfc-home-about-content h2 {

        font-size: 34px;

    }


    .cfc-home-about-btn {

        width: 100%;

        justify-content: space-between;

    }

}




/* ==========================================================
   CHRIST FAITH CITY CENTRE
   PREMIUM 3 SLIDE HERO
========================================================== */

.cfc-hero-slider,
.cfc-hero-slider * {
    box-sizing: border-box;
}


.cfc-hero-slider {
    position: relative;

    width: 100%;
    height: 700px;

    overflow: hidden;

    font-family: "Manrope", sans-serif;

    background: #101747;
}


/* ==========================================================
   SLIDES
========================================================== */

.cfc-hero-slides,
.cfc-hero-slide {
    position: absolute;

    inset: 0;

    width: 100%;
    height: 100%;
}


.cfc-hero-slide {
    visibility: hidden;

    opacity: 0;

    transition:
        opacity .8s ease,
        visibility .8s ease;
}


.cfc-hero-slide.active {
    visibility: visible;

    opacity: 1;

    z-index: 2;
}


/* ==========================================================
   BACKGROUND IMAGE
========================================================== */

.cfc-hero-bg {
    position: absolute;

    inset: 0;

    overflow: hidden;
}


.cfc-hero-bg img {
    width: 100%;
    height: 100%;

    object-fit: cover;
    object-position: center;

    transform: scale(1);

    transition:
        transform 7s ease;
}


.cfc-hero-slide.active .cfc-hero-bg img {
    transform: scale(1.07);
}


/* ==========================================================
   PREMIUM DARK OVERLAY
========================================================== */

.cfc-hero-overlay {
    position: absolute;

    inset: 0;

    background:

        linear-gradient(
            90deg,
            rgba(6, 13, 45, .94) 0%,
            rgba(10, 20, 65, .88) 32%,
            rgba(20, 29, 83, .57) 60%,
            rgba(10, 20, 58, .22) 100%
        ),

        linear-gradient(
            0deg,
            rgba(5,10,35,.55),
            transparent 45%
        );
}


/* CYAN GLOW */

.cfc-hero-slide::after {
    content: "";

    position: absolute;

    width: 500px;
    height: 500px;

    left: -300px;
    top: -230px;

    border-radius: 50%;

    background:
        rgba(0, 190, 240, .10);

    filter: blur(30px);

    pointer-events: none;
}


/* ==========================================================
   CONTENT CONTAINER
========================================================== */

.cfc-hero-container {
    position: relative;

    z-index: 5;

    width: min(92%, 1500px);
    height: 100%;

    margin: auto;

    display: flex;

    align-items: center;
}


.cfc-hero-content {
    max-width: 810px;

    padding-bottom: 45px;
}


/* ==========================================================
   SMALL TITLE
========================================================== */

.cfc-hero-small-title {
    margin-bottom: 18px;

    display: flex;

    align-items: center;

    gap: 12px;

    color: #76e5ff;

    font-size: 12px;

    font-weight: 800;

    letter-spacing: 2.4px;
}


.cfc-hero-small-title span {
    width: 43px;
    height: 2px;

    border-radius: 10px;

    background: #5edfff;
}


/* ==========================================================
   HEADING
========================================================== */

.cfc-hero-content h1,
.cfc-hero-content h2 {
    max-width: 800px;

    margin: 0 0 22px;

    color: #ffffff;

    font-family:
        "Playfair Display",
        serif;

    font-size:
        clamp(52px, 5.2vw, 78px);

    font-weight: 700;

    line-height: 1.06;

    letter-spacing: -1px;
}


.cfc-hero-content h1 span,
.cfc-hero-content h2 span {
    display: block;

    margin-top: 5px;

    color: #69dfff;
}


/* ==========================================================
   DESCRIPTION
========================================================== */

.cfc-hero-content p {
    max-width: 680px;

    margin: 0 0 30px;

    color: rgba(255,255,255,.80);

    font-size: 17px;

    line-height: 1.85;
}


/* ==========================================================
   BUTTONS
========================================================== */

.cfc-hero-actions {
    display: flex;

    align-items: center;

    flex-wrap: wrap;

    gap: 12px;
}


.cfc-hero-btn {
    min-height: 57px;

    padding: 0 23px;

    display: inline-flex;

    align-items: center;

    justify-content: center;

    gap: 11px;

    border-radius: 11px;

    text-decoration: none;

    font-size: 14px;

    font-weight: 800;

    transition: .3s ease;
}


/* PRIMARY */

.cfc-hero-btn-primary {
    color: #ffffff;

    background:
        linear-gradient(
            135deg,
            #3c3ca3,
            #08afe1
        );

    box-shadow:
        0 15px 35px
        rgba(3, 142, 206, .24);
}


.cfc-hero-btn-primary:hover {
    transform: translateY(-3px);

    box-shadow:
        0 20px 40px
        rgba(3, 142, 206, .30);
}


/* OUTLINE */

.cfc-hero-btn-outline {
    border:
        1px solid
        rgba(255,255,255,.25);

    background:
        rgba(255,255,255,.07);

    backdrop-filter: blur(8px);

    color: #ffffff;
}


.cfc-hero-btn-outline:hover {
    background: #ffffff;

    color: #283387;

    transform: translateY(-3px);
}


/* ==========================================================
   TEXT ANIMATION
========================================================== */

.cfc-hero-slide .cfc-hero-small-title,
.cfc-hero-slide h1,
.cfc-hero-slide h2,
.cfc-hero-slide p,
.cfc-hero-slide .cfc-hero-actions {
    opacity: 0;

    transform: translateY(25px);
}


.cfc-hero-slide.active .cfc-hero-small-title {
    animation:
        cfcHeroFadeUp .7s .15s forwards;
}


.cfc-hero-slide.active h1,
.cfc-hero-slide.active h2 {
    animation:
        cfcHeroFadeUp .8s .28s forwards;
}


.cfc-hero-slide.active p {
    animation:
        cfcHeroFadeUp .8s .42s forwards;
}


.cfc-hero-slide.active .cfc-hero-actions {
    animation:
        cfcHeroFadeUp .8s .55s forwards;
}


@keyframes cfcHeroFadeUp {

    from {
        opacity: 0;

        transform:
            translateY(28px);
    }

    to {
        opacity: 1;

        transform:
            translateY(0);
    }

}


/* ==========================================================
   SIDE TEXT
========================================================== */

.cfc-hero-side-text {
    position: absolute;

    z-index: 10;

    right: 25px;
    top: 50%;

    transform:
        translateY(-50%)
        rotate(90deg);

    transform-origin: center;

    color:
        rgba(255,255,255,.38);

    font-size: 9px;

    font-weight: 800;

    letter-spacing: 3px;

    pointer-events: none;
}


/* ==========================================================
   ARROWS
========================================================== */

.cfc-hero-arrows {
    position: absolute;

    z-index: 20;

    right: 4%;
    bottom: 105px;

    display: flex;

    gap: 8px;
}


.cfc-hero-arrow {
    width: 49px;
    height: 49px;

    padding: 0;

    display: flex;

    align-items: center;

    justify-content: center;

    border:
        1px solid
        rgba(255,255,255,.20);

    border-radius: 10px;

    background:
        rgba(8,15,50,.40);

    backdrop-filter: blur(10px);

    color: #ffffff;

    cursor: pointer;

    font-size: 13px;

    transition: .3s ease;
}


.cfc-hero-arrow:hover {
    border-color: transparent;

    background:
        linear-gradient(
            135deg,
            #393ca1,
            #08afe1
        );

    transform: translateY(-3px);
}


/* ==========================================================
   BOTTOM BAR
========================================================== */

.cfc-hero-bottom {
    position: absolute;

    z-index: 15;

    left: 0;
    bottom: 0;

    width: 100%;

    border-top:
        1px solid
        rgba(255,255,255,.11);

    background:
        rgba(5,10,35,.38);

    backdrop-filter: blur(10px);
}


.cfc-hero-bottom-inner {
    width: min(92%, 1500px);

    min-height: 75px;

    margin: auto;

    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 30px;
}


/* ==========================================================
   COUNTER
========================================================== */

.cfc-hero-counter {
    display: flex;

    align-items: center;

    gap: 11px;

    color:
        rgba(255,255,255,.55);

    font-size: 11px;

    font-weight: 700;
}


.cfc-hero-current {
    color: #ffffff;

    font-size: 17px;
}


.cfc-hero-counter-line {
    width: 38px;
    height: 1px;

    background:
        rgba(255,255,255,.30);
}


/* ==========================================================
   DOTS
========================================================== */

.cfc-hero-dots {
    display: flex;

    align-items: center;

    gap: 7px;
}


.cfc-hero-dot {
    width: 9px;
    height: 9px;

    padding: 0;

    border: 0;

    border-radius: 20px;

    background:
        rgba(255,255,255,.35);

    cursor: pointer;

    transition: .3s ease;
}


.cfc-hero-dot.active {
    width: 31px;

    background: #55d9fb;
}


/* ==========================================================
   BOTTOM MESSAGE
========================================================== */

.cfc-hero-bottom-message {
    display: flex;

    align-items: center;

    gap: 9px;

    color:
        rgba(255,255,255,.60);

    font-size: 10px;

    font-weight: 700;

    letter-spacing: .8px;
}


.cfc-hero-bottom-message i {
    color: #5bdcfb;
}


/* ==========================================================
   TABLET
========================================================== */

@media (max-width: 991px) {

    .cfc-hero-slider {
        height: 650px;
    }


    .cfc-hero-container {
        width: 90%;
    }


    .cfc-hero-content {
        max-width: 680px;
    }


    .cfc-hero-content h1,
    .cfc-hero-content h2 {
        font-size: 58px;
    }


    .cfc-hero-side-text {
        display: none;
    }

}


/* ==========================================================
   MOBILE
========================================================== */

@media (max-width: 767px) {

    .cfc-hero-slider {
        height: 620px;
    }


    .cfc-hero-container {
        width: calc(100% - 34px);

        align-items: center;
    }


    .cfc-hero-content {
        padding-bottom: 45px;
    }


    /* Better mobile image visibility */

    .cfc-hero-bg img {
        object-position: center;
    }


    .cfc-hero-overlay {
        background:
            linear-gradient(
                90deg,
                rgba(6,12,42,.91),
                rgba(8,17,55,.72)
            ),
            linear-gradient(
                0deg,
                rgba(5,10,35,.62),
                transparent
            );
    }


    .cfc-hero-small-title {
        margin-bottom: 13px;

        font-size: 9px;

        letter-spacing: 1.4px;
    }


    .cfc-hero-small-title span {
        width: 28px;
    }


    .cfc-hero-content h1,
    .cfc-hero-content h2 {
        margin-bottom: 17px;

        font-size: 42px;

        line-height: 1.08;
    }


    .cfc-hero-content p {
        margin-bottom: 23px;

        font-size: 14px;

        line-height: 1.75;
    }


    .cfc-hero-btn {
        min-height: 51px;

        padding: 0 17px;

        font-size: 12px;
    }


    .cfc-hero-arrows {
        display: none;
    }


    .cfc-hero-bottom-inner {
        width: calc(100% - 34px);

        min-height: 65px;
    }


    .cfc-hero-bottom-message {
        display: none;
    }

}


/* ==========================================================
   SMALL MOBILE
========================================================== */

@media (max-width: 430px) {

    .cfc-hero-slider {
        height: 600px;
    }


    .cfc-hero-content h1,
    .cfc-hero-content h2 {
        font-size: 37px;
    }


    .cfc-hero-actions {
        width: 100%;
    }


    .cfc-hero-btn {
        width: 100%;
    }


    .cfc-hero-bottom-inner {
        justify-content: space-between;
    }

}





/* ==========================================================
   COMPACT PREMIUM MISSION
========================================================== */

.cfc-compact-mission,
.cfc-compact-mission * {
    box-sizing: border-box;
}

.cfc-compact-mission {
    position: relative;
    width: 100%;
    padding: 55px 0;
    overflow: hidden;

    font-family: "Manrope", sans-serif;

    background:
        radial-gradient(
            circle at 5% 10%,
            rgba(8, 175, 225, .06),
            transparent 25%
        ),
        #f8faff;
}

.cfc-compact-mission-container {
    width: min(94%, 1500px);
    margin: 0 auto;
}


/* ==========================================================
   HEADING
========================================================== */

.cfc-compact-mission-head {
    margin-bottom: 30px;

    display: grid;
    grid-template-columns: 1.1fr .9fr;

    align-items: end;

    gap: 50px;
}

.cfc-compact-label {
    position: relative;

    display: inline-block;

    margin-bottom: 8px;
    padding-left: 38px;

    color: #1594c1;

    font-size: 10px;
    font-weight: 800;

    letter-spacing: 2px;
}

.cfc-compact-label::before {
    content: "";

    position: absolute;

    left: 0;
    top: 50%;

    width: 28px;
    height: 2px;

    background:
        linear-gradient(
            90deg,
            #393b9d,
            #08afe1
        );
}

.cfc-compact-mission-title h2 {
    margin: 0;

    color: #172052;

    font-family: "Playfair Display", serif;

    font-size: clamp(34px, 3.3vw, 48px);
    font-weight: 700;

    line-height: 1.12;
}

.cfc-compact-mission-title h2 span {
    color: #393b9d;
}

.cfc-compact-mission-head > p {
    max-width: 570px;

    margin: 0;

    padding-left: 22px;

    border-left: 2px solid #08afe1;

    color: #687186;

    font-size: 14px;
    line-height: 1.75;
}


/* ==========================================================
   GRID
========================================================== */

.cfc-compact-mission-grid {
    display: grid;

    grid-template-columns:
        repeat(4, minmax(0, 1fr));

    gap: 13px;
}


/* ==========================================================
   CARD
========================================================== */

.cfc-compact-mission-card {
    min-height: 145px;

    padding: 20px;

    display: grid;

    grid-template-columns: 48px 1fr;

    align-items: start;

    gap: 14px;

    border: 1px solid #e6eaf2;

    border-radius: 15px;

    background: #ffffff;

    box-shadow:
        0 8px 25px rgba(27, 42, 89, .04);

    transition: .3s ease;
}

.cfc-compact-mission-card:hover {
    transform: translateY(-4px);

    border-color:
        rgba(8, 175, 225, .25);

    box-shadow:
        0 15px 35px rgba(27, 42, 89, .08);
}


/* ==========================================================
   ICON
========================================================== */

.cfc-compact-mission-icon {
    width: 48px;
    height: 48px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 12px;

    color: #393b9d;

    background:
        linear-gradient(
            135deg,
            #eef0ff,
            #e7faff
        );

    font-size: 17px;

    transition: .3s ease;
}

.cfc-compact-mission-card:hover
.cfc-compact-mission-icon {
    color: #ffffff;

    background:
        linear-gradient(
            135deg,
            #393b9d,
            #08afe1
        );
}


/* ==========================================================
   CARD TEXT
========================================================== */

.cfc-compact-mission-card h3 {
    margin: 2px 0 7px;

    color: #252d59;

    font-family: "Playfair Display", serif;

    font-size: 18px;
    line-height: 1.25;
}

.cfc-compact-mission-card p {
    margin: 0;

    color: #737b8d;

    font-size: 12.5px;
    line-height: 1.6;
}


/* ==========================================================
   LAST CARD
   FILL REMAINING SPACE
========================================================== */

.cfc-compact-mission-card:last-child {
    grid-column: span 2;

    background:
        linear-gradient(
            120deg,
            #17215d,
            #34399d
        );

    border-color: transparent;
}

.cfc-compact-mission-card:last-child
.cfc-compact-mission-icon {
    color: #ffffff;

    background: rgba(255,255,255,.12);
}

.cfc-compact-mission-card:last-child h3 {
    color: #ffffff;
}

.cfc-compact-mission-card:last-child p {
    color: rgba(255,255,255,.72);
}


/* ==========================================================
   TABLET
========================================================== */

@media (max-width: 1100px) {

    .cfc-compact-mission-grid {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }

    .cfc-compact-mission-card:last-child {
        grid-column: span 2;
    }

}


/* ==========================================================
   MOBILE
========================================================== */

@media (max-width: 767px) {

    .cfc-compact-mission {
        padding: 45px 0;
    }

    .cfc-compact-mission-container {
        width: calc(100% - 30px);
    }

    .cfc-compact-mission-head {
        margin-bottom: 25px;

        grid-template-columns: 1fr;

        gap: 16px;
    }

    .cfc-compact-mission-title h2 {
        font-size: 33px;
    }

    .cfc-compact-mission-head > p {
        padding-left: 15px;

        font-size: 13px;
    }

    .cfc-compact-mission-grid {
        grid-template-columns: 1fr;
    }

    .cfc-compact-mission-card,
    .cfc-compact-mission-card:last-child {
        grid-column: auto;

        min-height: auto;

        padding: 18px;
    }

}


/* ==========================================================
   SMALL MOBILE
========================================================== */

@media (max-width: 430px) {

    .cfc-compact-mission {
        padding: 38px 0;
    }

    .cfc-compact-mission-title h2 {
        font-size: 30px;
    }

    .cfc-compact-mission-card {
        grid-template-columns: 44px 1fr;
    }

    .cfc-compact-mission-icon {
        width: 44px;
        height: 44px;
    }

    .cfc-compact-mission-card h3 {
        font-size: 17px;
    }

}





/* ==========================================================
   CHRIST FAITH CITY CENTRE
   PREMIUM VISIT & CONNECT
========================================================== */

.cfc-visit-section,
.cfc-visit-section * {
    box-sizing: border-box;
}

.cfc-visit-section {
    position: relative;

    width: 100%;

    padding: 65px 0 0;

    overflow: hidden;

    font-family: "Manrope", sans-serif;

    background:
        radial-gradient(
            circle at 5% 10%,
            rgba(8,175,225,.07),
            transparent 25%
        ),
        #f8faff;
}


/* ==========================================================
   CONTAINER
========================================================== */

.cfc-visit-container {
    width: min(94%, 1500px);

    margin: 0 auto 50px;

    display: grid;

    grid-template-columns:
        minmax(0,.85fr)
        minmax(0,1.15fr);

    align-items: center;

    gap: 75px;
}


/* ==========================================================
   LEFT CONTENT
========================================================== */

.cfc-visit-label {
    margin-bottom: 12px;

    display: flex;

    align-items: center;

    gap: 10px;

    color: #1594c1;

    font-size: 10px;

    font-weight: 800;

    letter-spacing: 2px;
}

.cfc-visit-label span {
    width: 35px;
    height: 2px;

    border-radius: 20px;

    background:
        linear-gradient(
            90deg,
            #393b9d,
            #08afe1
        );
}


.cfc-visit-content h2 {
    margin: 0 0 18px;

    color: #172052;

    font-family: "Playfair Display", serif;

    font-size: clamp(39px, 4vw, 55px);

    line-height: 1.1;

    font-weight: 700;

    letter-spacing: -.7px;
}

.cfc-visit-content h2 span {
    display: block;

    color: #393b9d;
}


.cfc-visit-lead {
    max-width: 600px;

    margin: 0 0 12px;

    color: #343d5d;

    font-size: 16px;

    font-weight: 600;

    line-height: 1.75;
}

.cfc-visit-text {
    max-width: 600px;

    margin: 0;

    color: #72798c;

    font-size: 14px;

    line-height: 1.8;
}


/* ==========================================================
   BUTTONS
========================================================== */

.cfc-visit-actions {
    margin-top: 25px;

    display: flex;

    flex-wrap: wrap;

    gap: 10px;
}

.cfc-visit-btn {
    min-height: 52px;

    padding: 0 20px;

    display: inline-flex;

    align-items: center;
    justify-content: center;

    gap: 10px;

    border-radius: 10px;

    text-decoration: none;

    font-size: 13px;

    font-weight: 800;

    transition: .3s ease;
}


.cfc-visit-btn-primary {
    color: #ffffff;

    background:
        linear-gradient(
            135deg,
            #393b9d,
            #08afe1
        );

    box-shadow:
        0 12px 28px
        rgba(42,70,160,.16);
}

.cfc-visit-btn-primary:hover {
    transform: translateY(-3px);

    box-shadow:
        0 17px 35px
        rgba(42,70,160,.22);
}


.cfc-visit-btn-light {
    color: #313a85;

    border: 1px solid #dfe4ef;

    background: #ffffff;
}

.cfc-visit-btn-light:hover {
    border-color: #08afe1;

    transform: translateY(-3px);
}


/* ==========================================================
   RIGHT CONTACT CARDS
========================================================== */

.cfc-visit-info {
    display: grid;

    grid-template-columns:
        repeat(2, minmax(0,1fr));

    gap: 13px;
}


.cfc-visit-card {
    position: relative;

    min-height: 155px;

    padding: 21px;

    display: grid;

    grid-template-columns: 52px 1fr;

    align-items: start;

    gap: 14px;

    border: 1px solid #e5eaf2;

    border-radius: 16px;

    background: #ffffff;

    box-shadow:
        0 10px 30px
        rgba(28,42,88,.045);

    text-decoration: none;

    transition: .3s ease;
}


/* ADDRESS TAKES FULL WIDTH */

.cfc-visit-card:first-child {
    grid-column: span 2;

    min-height: 140px;

    background:
        linear-gradient(
            120deg,
            #ffffff,
            #f5fbff
        );
}


.cfc-visit-card-link:hover {
    border-color:
        rgba(8,175,225,.28);

    transform: translateY(-4px);

    box-shadow:
        0 17px 38px
        rgba(28,42,88,.09);
}


/* ==========================================================
   ICON
========================================================== */

.cfc-visit-icon {
    width: 52px;
    height: 52px;

    display: flex;

    align-items: center;
    justify-content: center;

    flex-shrink: 0;

    border-radius: 13px;

    color: #393b9d;

    background:
        linear-gradient(
            135deg,
            #eef0ff,
            #e7faff
        );

    font-size: 18px;

    transition: .3s ease;
}

.cfc-visit-card-link:hover
.cfc-visit-icon {
    color: #ffffff;

    background:
        linear-gradient(
            135deg,
            #393b9d,
            #08afe1
        );
}


/* ==========================================================
   CARD CONTENT
========================================================== */

.cfc-visit-card span {
    display: block;

    margin: 2px 0 5px;

    color: #1594c1;

    font-size: 9px;

    font-weight: 800;

    letter-spacing: 1.4px;
}

.cfc-visit-card h3 {
    margin: 0 0 6px;

    color: #222b58;

    font-family: "Playfair Display", serif;

    font-size: 18px;

    line-height: 1.3;

    overflow-wrap: anywhere;
}

.cfc-visit-card p {
    margin: 0;

    color: #767e90;

    font-size: 12.5px;

    line-height: 1.65;
}


/* CARD ARROW */

.cfc-visit-card-arrow {
    position: absolute;

    right: 16px;
    top: 16px;

    color: #b4bac7;

    font-size: 10px;

    transition: .3s ease;
}

.cfc-visit-card-link:hover
.cfc-visit-card-arrow {
    color: #08afe1;
}


/* ==========================================================
   BOTTOM FAITH BAR
========================================================== */

.cfc-visit-bottom {
    width: 100%;

    background:
        radial-gradient(
            circle at 85% 20%,
            rgba(8,175,225,.22),
            transparent 25%
        ),
        linear-gradient(
            120deg,
            #111a50,
            #303692 65%,
            #087fae
        );
}

.cfc-visit-bottom-inner {
    width: min(94%, 1500px);

    min-height: 105px;

    margin: auto;

    display: grid;

    grid-template-columns:
        55px
        1fr
        auto;

    align-items: center;

    gap: 18px;
}


/* CROSS */

.cfc-visit-bottom-icon {
    width: 55px;
    height: 55px;

    display: flex;

    align-items: center;
    justify-content: center;

    border: 1px solid
        rgba(255,255,255,.14);

    border-radius: 14px;

    background:
        rgba(255,255,255,.08);

    color: #6ce2ff;

    font-size: 20px;
}


.cfc-visit-bottom-inner > div:nth-child(2) {
    display: flex;

    flex-direction: column;
}

.cfc-visit-bottom-inner span {
    margin-bottom: 4px;

    color: #70e3ff;

    font-size: 9px;

    font-weight: 800;

    letter-spacing: 1.6px;
}

.cfc-visit-bottom-inner strong {
    color: #ffffff;

    font-family: "Playfair Display", serif;

    font-size: 21px;

    font-weight: 600;
}


/* PLAN VISIT */

.cfc-visit-bottom-inner > a {
    min-height: 48px;

    padding: 0 19px;

    display: inline-flex;

    align-items: center;
    justify-content: center;

    gap: 9px;

    border-radius: 10px;

    background: #ffffff;

    color: #30378d;

    text-decoration: none;

    font-size: 12px;

    font-weight: 800;

    transition: .3s ease;
}

.cfc-visit-bottom-inner > a:hover {
    transform: translateY(-3px);

    box-shadow:
        0 12px 28px
        rgba(0,0,0,.15);
}


/* ==========================================================
   TABLET
========================================================== */

@media (max-width: 991px) {

    .cfc-visit-section {
        padding-top: 55px;
    }

    .cfc-visit-container {
        width: 90%;

        grid-template-columns: 1fr;

        gap: 40px;
    }

    .cfc-visit-content {
        max-width: 750px;
    }

    .cfc-visit-bottom-inner {
        width: 90%;
    }

}


/* ==========================================================
   MOBILE
========================================================== */

@media (max-width: 767px) {

    .cfc-visit-section {
        padding-top: 45px;
    }

    .cfc-visit-container {
        width: calc(100% - 30px);

        margin-bottom: 35px;
    }

    .cfc-visit-content h2 {
        font-size: 35px;
    }

    .cfc-visit-lead {
        font-size: 14.5px;
    }

    .cfc-visit-text {
        font-size: 13.5px;
    }


    /* CONTACT CARDS */

    .cfc-visit-info {
        grid-template-columns: 1fr;
    }

    .cfc-visit-card,
    .cfc-visit-card:first-child {
        grid-column: auto;

        min-height: auto;

        padding: 18px;
    }


    /* BOTTOM */

    .cfc-visit-bottom-inner {
        width: calc(100% - 30px);

        padding: 22px 0;

        grid-template-columns: 50px 1fr;

        gap: 14px;
    }

    .cfc-visit-bottom-icon {
        width: 50px;
        height: 50px;
    }

    .cfc-visit-bottom-inner strong {
        font-size: 17px;

        line-height: 1.4;
    }

    .cfc-visit-bottom-inner > a {
        grid-column: 1 / -1;

        width: 100%;
    }

}


/* ==========================================================
   SMALL MOBILE
========================================================== */

@media (max-width: 430px) {

    .cfc-visit-content h2 {
        font-size: 32px;
    }

    .cfc-visit-actions {
        flex-direction: column;
    }

    .cfc-visit-btn {
        width: 100%;
    }

    .cfc-visit-card {
        grid-template-columns: 46px 1fr;
    }

    .cfc-visit-icon {
        width: 46px;
        height: 46px;
    }

    .cfc-visit-card h3 {
        font-size: 16px;
    }

}




/* =========================================
   REMOVE GAP BETWEEN VISIT SECTION & FOOTER
========================================= */

.cfc-visit-section {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}

.cfc-visit-bottom {
    margin-bottom: 0 !important;
    padding-bottom: 0;
}

.cfc-visit-bottom-inner {
    margin-bottom: 0 !important;
}

/* Footer must start immediately */
.cfc-footer {
    margin-top: 0 !important;
}

/* Remove accidental empty spacing */
.cfc-visit-section + footer {
    margin-top: 0 !important;
}


/* IMPORTANT - if footer has top spacing */
footer.cfc-footer {
    padding-top: 0;
}





/* ==========================================================
   DEEP WEB SOLUTION CREDIT
========================================================== */

.cfc-footer-developer-wrap {
    width: 100%;

    border-top: 1px solid rgba(255,255,255,.07);

    background: rgba(5, 12, 43, .28);
}

.cfc-footer-developer {
    width: min(94%, 1500px);

    min-height: 46px;

    margin: 0 auto;

    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;

    gap: 6px;

    color: rgba(255,255,255,.58);

    font-family: "Manrope", sans-serif;

    font-size: 12.5px;

    font-weight: 500;

    text-align: center;
}


/* DEVELOPER LINK */

.cfc-footer-developer a {
    position: relative;

    display: inline-flex;
    align-items: center;

    gap: 6px;

    color: #68ddff;

    font-size: 12.5px;

    font-weight: 800;

    text-decoration: none;

    transition:
        color .3s ease,
        transform .3s ease;
}

.cfc-footer-developer a::after {
    content: "";

    position: absolute;

    left: 0;
    bottom: -3px;

    width: 0;
    height: 1px;

    background: #68ddff;

    transition: width .3s ease;
}

.cfc-footer-developer a:hover {
    color: #ffffff;

    transform: translateY(-1px);
}

.cfc-footer-developer a:hover::after {
    width: 100%;
}

.cfc-footer-developer a i {
    font-size: 9px;

    opacity: .75;
}


/* MOBILE */

@media (max-width: 767px) {

    .cfc-footer-developer {
        width: calc(100% - 30px);

        min-height: 52px;

        font-size: 12px;
    }

    .cfc-footer-developer a {
        font-size: 12px;
    }

}




/* ==========================================================
   FOOTER FONT SIZE / LINK SIZE IMPROVEMENT
   ADD AT VERY BOTTOM OF CSS
========================================================== */


/* QUICK LINKS + MINISTRIES */

.cfc-footer-links li {
    margin-bottom: 13px !important;
}

.cfc-footer-links li a {
    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.5 !important;

    display: inline-flex;
    align-items: center;

    gap: 9px;
}


/* LINK ARROW ICON */

.cfc-footer-links li a i {
    font-size: 12px !important;
}


/* FOOTER COLUMN HEADINGS */

.cfc-footer-heading > span {
    font-size: 12px !important;
    font-weight: 700 !important;
    letter-spacing: 1.5px !important;
}

.cfc-footer-heading h3 {
    font-size: 25px !important;
    line-height: 1.25 !important;
}


/* CHURCH DESCRIPTION */

.cfc-footer-description {
    font-size: 16px !important;
    line-height: 1.8 !important;
}


/* FAITH HOPE LOVE */

.cfc-footer-faith-line strong {
    font-size: 14px !important;
}


/* CONTACT LABELS */

.cfc-footer-contact-item span {
    font-size: 12px !important;
    font-weight: 700 !important;
}


/* CONTACT ADDRESS */

.cfc-footer-contact-item p {
    font-size: 15px !important;
    line-height: 1.7 !important;
}


/* EMAIL + PHONE */

.cfc-footer-contact-item a {
    font-size: 15px !important;
    font-weight: 600 !important;
    line-height: 1.6 !important;
}


/* NEED PRAYER BOX */

.cfc-footer-prayer-link small {
    font-size: 12px !important;
}

.cfc-footer-prayer-link strong {
    font-size: 15px !important;
}


/* CONTACT BUTTON */

.cfc-footer-contact-btn {
    font-size: 14px !important;
    font-weight: 700 !important;
}


/* COPYRIGHT */

.cfc-footer-copyright p {
    font-size: 14px !important;
}


/* BOTTOM LINKS - ABOUT / CONTACT / PARTNERSHIP */

.cfc-footer-bottom-links a {
    font-size: 14px !important;
    font-weight: 600 !important;
}


/* DESIGNED & DEVELOPED */

.cfc-footer-developer,
.cfc-footer-developer span {
    font-size: 13.5px !important;
}

.cfc-footer-developer a {
    font-size: 14px !important;
    font-weight: 800 !important;
}


/* ==========================================================
   TABLET
========================================================== */

@media (max-width: 991px) {

    .cfc-footer-links li a {
        font-size: 16px !important;
    }

    .cfc-footer-heading h3 {
        font-size: 23px !important;
    }

    .cfc-footer-contact-item p,
    .cfc-footer-contact-item a {
        font-size: 15px !important;
    }

}


/* ==========================================================
   MOBILE
   KEEP TEXT READABLE - DO NOT MAKE TOO SMALL
========================================================== */

@media (max-width: 767px) {

    .cfc-footer-heading h3 {
        font-size: 22px !important;
    }

    .cfc-footer-heading > span {
        font-size: 11px !important;
    }

    .cfc-footer-links li {
        margin-bottom: 12px !important;
    }

    .cfc-footer-links li a {
        font-size: 15.5px !important;
    }

    .cfc-footer-description {
        font-size: 15px !important;
    }

    .cfc-footer-contact-item p,
    .cfc-footer-contact-item a {
        font-size: 14.5px !important;
    }

    .cfc-footer-bottom-links a {
        font-size: 13.5px !important;
    }

    .cfc-footer-copyright p {
        font-size: 13px !important;
        line-height: 1.6 !important;
    }

    .cfc-footer-developer,
    .cfc-footer-developer span,
    .cfc-footer-developer a {
        font-size: 13px !important;
    }

}






/* =========================================================
   CHRIST FAITH CITY CENTRE
   ABOUT PAGE
========================================================= */

.cfcc-about-page {
    overflow: hidden;
    background: #ffffff;
    color: #252c3a;
}


/* =========================================================
   CONTAINER
========================================================= */

.cfcc-about-page .cfcc-container {
    width: min(1180px, calc(100% - 40px));
    margin: 0 auto;
}


/* =========================================================
   COMMON SECTION
========================================================= */

.cfcc-about-page .cfcc-section {
    padding: 95px 0;
}

.cfcc-about-page .cfcc-section-label {
    display: inline-block;
    margin-bottom: 14px;
    color: #159fcb;
    font-size: 13px;
    font-weight: 800;
    letter-spacing: 2px;
    text-transform: uppercase;
}

.cfcc-about-page h2 {
    margin: 0;
    color: #17265a;
    font-size: clamp(34px, 4vw, 50px);
    line-height: 1.15;
    font-weight: 800;
}

.cfcc-about-page h2 span {
    color: #13a7d5;
}

.cfcc-about-page p {
    color: #657084;
    font-size: 16px;
    line-height: 1.9;
}


/* =========================================================
   BANNER
========================================================= */

.cfcc-about-banner {
    position: relative;
    min-height: 410px;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;

    background:
        linear-gradient(
            135deg,
            #111f55 0%,
            #17346d 48%,
            #078fb9 100%
        );
}

.cfcc-about-banner::before {
    content: "";
    position: absolute;
    width: 600px;
    height: 600px;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 50%;
    top: -280px;
    right: -120px;
}

.cfcc-about-banner::after {
    content: "";
    position: absolute;
    width: 450px;
    height: 450px;
    border: 1px solid rgba(255,255,255,.10);
    border-radius: 50%;
    bottom: -260px;
    left: -100px;
}

.cfcc-banner-overlay {
    position: absolute;
    inset: 0;
    background:
        radial-gradient(
            circle at center,
            rgba(255,255,255,.08),
            transparent 50%
        );
}

.cfcc-banner-content {
    position: relative;
    z-index: 2;
    width: min(850px, 90%);
    text-align: center;
    color: #ffffff;
}

.cfcc-banner-small {
    display: block;
    margin-bottom: 14px;
    color: #75e4ff;
    font-size: 13px;
    font-weight: 800;
    letter-spacing: 3px;
}

.cfcc-banner-content h1 {
    margin: 0;
    color: #ffffff;
    font-size: clamp(46px, 6vw, 76px);
    line-height: 1;
    font-weight: 800;
}

.cfcc-banner-line {
    width: 70px;
    height: 3px;
    margin: 25px auto 20px;
    background: #43c8eb;
    border-radius: 10px;
}

.cfcc-banner-content p {
    max-width: 650px;
    margin: auto;
    color: rgba(255,255,255,.86);
    font-size: 17px;
    line-height: 1.8;
}


/* =========================================================
   INTRO
========================================================= */

.cfcc-about-intro {
    background: #ffffff;
}

.cfcc-intro-grid {
    display: grid;
    grid-template-columns: 1.05fr .95fr;
    align-items: center;
    gap: 80px;
}

.cfcc-intro-content p {
    margin: 0 0 18px;
}

.cfcc-title-line {
    width: 65px;
    height: 3px;
    margin: 22px 0 30px;
    background: linear-gradient(
        90deg,
        #17265a,
        #13a7d5
    );
    border-radius: 10px;
}

.cfcc-title-line.center {
    margin-left: auto;
    margin-right: auto;
}

.cfcc-highlight-box {
    display: flex;
    gap: 18px;
    align-items: center;
    margin-top: 30px;
    padding: 22px 24px;
    background: #f2fbfd;
    border-left: 4px solid #13a7d5;
    border-radius: 8px;
}

.cfcc-highlight-box p {
    margin: 0;
    color: #27345c;
    font-size: 15px;
    font-weight: 600;
    line-height: 1.7;
}

.cfcc-highlight-icon {
    flex: 0 0 42px;
    width: 42px;
    height: 42px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #17265a;
    color: #ffffff;
    font-size: 18px;
}

.cfcc-intro-image {
    position: relative;
    padding: 20px;
}

.cfcc-image-frame {
    position: relative;
    z-index: 2;
    overflow: hidden;
    border-radius: 18px;
    background: #ffffff;
    box-shadow: 0 25px 60px rgba(23,38,90,.16);
}

.cfcc-image-frame img {
    width: 100%;
    height: 520px;
    display: block;
    object-fit: cover;
}

.cfcc-image-decoration {
    position: absolute;
    width: 170px;
    height: 170px;
    right: -5px;
    bottom: -5px;
    border-right: 5px solid #13a7d5;
    border-bottom: 5px solid #13a7d5;
    border-radius: 0 0 20px 0;
}


/* =========================================================
   JOURNEY
========================================================= */

.cfcc-journey {
    background: #f7fafc;
}

.cfcc-section-heading {
    max-width: 800px;
    margin: 0 auto 55px;
    text-align: center;
}

.cfcc-section-heading p {
    max-width: 680px;
    margin: 0 auto;
}

.cfcc-journey-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 25px;
}

.cfcc-journey-card {
    position: relative;
    padding: 38px 32px;
    background: #ffffff;
    border: 1px solid #e8edf3;
    border-radius: 14px;
    box-shadow: 0 12px 35px rgba(24,42,75,.06);
    transition: .3s ease;
}

.cfcc-journey-card:hover {
    transform: translateY(-7px);
    box-shadow: 0 20px 45px rgba(24,42,75,.11);
}

.cfcc-journey-number {
    margin-bottom: 22px;
    color: #13a7d5;
    font-size: 14px;
    font-weight: 800;
    letter-spacing: 2px;
}

.cfcc-journey-card h3 {
    margin: 0 0 13px;
    color: #17265a;
    font-size: 22px;
}

.cfcc-journey-card p {
    margin: 0;
}


/* =========================================================
   FAITH
========================================================= */

.cfcc-faith {
    background: #ffffff;
}

.cfcc-faith-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 22px;
}

.cfcc-faith-card {
    padding: 32px;
    background: #ffffff;
    border: 1px solid #e6ebf1;
    border-radius: 14px;
    box-shadow: 0 10px 30px rgba(24,42,75,.045);
    transition: .3s ease;
}

.cfcc-faith-card:hover {
    transform: translateY(-5px);
    border-color: rgba(19,167,213,.35);
    box-shadow: 0 18px 40px rgba(24,42,75,.08);
}

.cfcc-faith-icon {
    width: 45px;
    height: 45px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 22px;
    border-radius: 10px;
    background: #eefaff;
    color: #079bc8;
    font-size: 12px;
    font-weight: 800;
}

.cfcc-faith-card h3 {
    margin: 0 0 12px;
    color: #17265a;
    font-size: 21px;
}

.cfcc-faith-card p {
    margin: 0 0 17px;
    font-size: 15px;
    line-height: 1.8;
}

.cfcc-faith-card span {
    display: block;
    color: #13a7d5;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.6;
}


/* =========================================================
   PROFILE
========================================================= */

.cfcc-profile {
    background: #f7fafc;
}

.cfcc-profile-grid {
    display: grid;
    grid-template-columns: .85fr 1.15fr;
    align-items: center;
    gap: 80px;
}

.cfcc-profile-image {
    position: relative;
    padding: 18px;
}

.cfcc-profile-image-frame {
    position: relative;
    overflow: hidden;
    border-radius: 18px;
    box-shadow: 0 25px 60px rgba(23,38,90,.16);
}

.cfcc-profile-image-frame img {
    width: 100%;
    height: 650px;
    display: block;
    object-fit: cover;
}

.cfcc-profile-content p {
    margin: 0 0 18px;
}


/* =========================================================
   VISION
========================================================= */

.cfcc-vision {
    background:
        linear-gradient(
            135deg,
            #111f55,
            #163f7a
        );
}

.cfcc-vision .cfcc-section-label {
    color: #70dcf5;
}

.cfcc-vision h2 {
    color: #ffffff;
}

.cfcc-vision h2 span {
    color: #4ed0ee;
}

.cfcc-vision .cfcc-title-line {
    background: linear-gradient(
        90deg,
        #ffffff,
        #40c9e9
    );
}

.cfcc-vision-header {
    text-align: center;
    max-width: 850px;
    margin: 0 auto;
}

.cfcc-vision-scripture {
    display: inline-block;
    margin-top: 5px;
    padding: 10px 22px;
    border: 1px solid rgba(255,255,255,.18);
    border-radius: 50px;
    color: #ffffff;
    background: rgba(255,255,255,.07);
}

.cfcc-vision-intro {
    max-width: 850px;
    margin: 45px auto;
    padding: 30px 35px;
    border-left: 3px solid #42cbe9;
    background: rgba(255,255,255,.06);
    border-radius: 0 12px 12px 0;
}

.cfcc-vision-intro p {
    margin: 0 0 14px;
    color: rgba(255,255,255,.82);
}

.cfcc-vision-intro p:last-child {
    margin-bottom: 0;
}

.cfcc-vision-list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 18px;
}

.cfcc-vision-item {
    display: flex;
    gap: 18px;
    padding: 25px;
    background: rgba(255,255,255,.065);
    border: 1px solid rgba(255,255,255,.10);
    border-radius: 12px;
    transition: .3s ease;
}

.cfcc-vision-item:hover {
    background: rgba(255,255,255,.10);
    transform: translateY(-4px);
}

.cfcc-vision-item span {
    flex: 0 0 35px;
    color: #4dd0ee;
    font-size: 13px;
    font-weight: 800;
}

.cfcc-vision-item p {
    margin: 0;
    color: rgba(255,255,255,.78);
    font-size: 14px;
    line-height: 1.75;
}


/* =========================================================
   MISSION
========================================================= */

.cfcc-mission {
    background: #ffffff;
}

.cfcc-mission-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
}

.cfcc-mission-card {
    padding: 30px 26px;
    background: #f8fbfd;
    border: 1px solid #e7edf2;
    border-radius: 14px;
    transition: .3s ease;
}

.cfcc-mission-card:hover {
    transform: translateY(-6px);
    background: #ffffff;
    box-shadow: 0 18px 40px rgba(23,38,90,.09);
}

.cfcc-mission-card > span {
    display: block;
    margin-bottom: 20px;
    color: #13a7d5;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 2px;
}

.cfcc-mission-card h3 {
    margin: 0 0 12px;
    color: #17265a;
    font-size: 20px;
}

.cfcc-mission-card p {
    margin: 0;
    font-size: 14px;
    line-height: 1.75;
}


/* =========================================================
   CTA
========================================================= */

.cfcc-about-cta {
    padding: 85px 0;
    background:
        linear-gradient(
            135deg,
            #079bc7,
            #17265a
        );
}

.cfcc-cta-inner {
    max-width: 800px;
    margin: auto;
    text-align: center;
}

.cfcc-cta-inner .cfcc-section-label {
    color: #a7efff;
}

.cfcc-cta-inner h2 {
    color: #ffffff;
}

.cfcc-cta-inner h2 span {
    color: #8be9ff;
}

.cfcc-cta-inner p {
    max-width: 650px;
    margin: 20px auto 30px;
    color: rgba(255,255,255,.86);
}

.cfcc-cta-button {
    display: inline-flex;
    align-items: center;
    gap: 14px;
    padding: 15px 27px;
    background: #ffffff;
    color: #17265a;
    border-radius: 50px;
    text-decoration: none;
    font-size: 15px;
    font-weight: 800;
    transition: .3s ease;
}

.cfcc-cta-button span {
    font-size: 20px;
    transition: .3s ease;
}

.cfcc-cta-button:hover {
    color: #079bc7;
    transform: translateY(-3px);
    box-shadow: 0 12px 30px rgba(0,0,0,.15);
}

.cfcc-cta-button:hover span {
    transform: translateX(5px);
}


/* =========================================================
   RESPONSIVE
========================================================= */

@media (max-width: 1100px) {

    .cfcc-faith-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .cfcc-mission-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .cfcc-vision-list {
        grid-template-columns: repeat(2, 1fr);
    }

}


@media (max-width: 900px) {

    .cfcc-about-page .cfcc-section {
        padding: 70px 0;
    }

    .cfcc-intro-grid,
    .cfcc-profile-grid {
        grid-template-columns: 1fr;
        gap: 45px;
    }

    .cfcc-intro-image {
        max-width: 650px;
        width: 100%;
        margin: auto;
    }

    .cfcc-profile-image {
        max-width: 600px;
        width: 100%;
        margin: auto;
    }

    .cfcc-journey-grid {
        grid-template-columns: 1fr;
    }

    .cfcc-journey-card {
        padding: 30px;
    }

}


@media (max-width: 700px) {

    .cfcc-about-page .cfcc-container {
        width: min(100% - 28px, 1180px);
    }

    .cfcc-about-page .cfcc-section {
        padding: 60px 0;
    }

    .cfcc-about-banner {
        min-height: 340px;
    }

    .cfcc-banner-content h1 {
        font-size: 46px;
    }

    .cfcc-banner-content p {
        font-size: 15px;
    }

    .cfcc-faith-grid,
    .cfcc-mission-grid,
    .cfcc-vision-list {
        grid-template-columns: 1fr;
    }

    .cfcc-image-frame img {
        height: 400px;
    }

    .cfcc-profile-image-frame img {
        height: 450px;
    }

    .cfcc-highlight-box {
        align-items: flex-start;
    }

    .cfcc-vision-intro {
        padding: 25px;
    }

}


@media (max-width: 480px) {

    .cfcc-about-page .cfcc-section {
        padding: 50px 0;
    }

    .cfcc-banner-small {
        font-size: 11px;
        letter-spacing: 2px;
    }

    .cfcc-banner-content h1 {
        font-size: 40px;
    }

    .cfcc-about-page h2 {
        font-size: 32px;
    }

    .cfcc-faith-card,
    .cfcc-mission-card {
        padding: 25px;
    }

    .cfcc-image-frame img {
        height: 330px;
    }

    .cfcc-profile-image-frame img {
        height: 360px;
    }

}






/* =========================================================
   CHRIST FAITH CITY CENTRE
   OUR MINISTRY PAGE
========================================================= */

.cfcc-ministry-page {
    overflow: hidden;
    background: #ffffff;
    color: #252c3a;
}

.cfcc-ministry-container {
    width: min(1180px, calc(100% - 40px));
    margin: 0 auto;
}

.cfcc-ministry-section {
    padding: 95px 0;
}

.cfcc-ministry-page p {
    color: #657084;
    font-size: 16px;
    line-height: 1.9;
}

.cfcc-ministry-label {
    display: inline-block;
    margin-bottom: 14px;
    color: #119dc9;
    font-size: 13px;
    font-weight: 800;
    letter-spacing: 2px;
    text-transform: uppercase;
}

.cfcc-ministry-page h2 {
    margin: 0;
    color: #17265a;
    font-size: clamp(34px, 4vw, 50px);
    line-height: 1.15;
    font-weight: 800;
}

.cfcc-ministry-page h2 span {
    color: #12a6d4;
}


/* =========================================================
   BANNER
========================================================= */

.cfcc-ministry-banner {
    position: relative;
    min-height: 410px;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;

    background:
        linear-gradient(
            135deg,
            #111f55 0%,
            #17366d 50%,
            #079bc5 100%
        );
}

.cfcc-ministry-banner::before {
    content: "";
    position: absolute;
    width: 620px;
    height: 620px;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 50%;
    top: -310px;
    right: -120px;
}

.cfcc-ministry-banner::after {
    content: "";
    position: absolute;
    width: 460px;
    height: 460px;
    border: 1px solid rgba(255,255,255,.10);
    border-radius: 50%;
    bottom: -260px;
    left: -100px;
}

.cfcc-ministry-banner-overlay {
    position: absolute;
    inset: 0;

    background:
        radial-gradient(
            circle at center,
            rgba(255,255,255,.08),
            transparent 55%
        );
}

.cfcc-ministry-banner-content {
    position: relative;
    z-index: 2;
    width: min(900px, 90%);
    text-align: center;
}

.cfcc-ministry-banner-small {
    display: block;
    margin-bottom: 15px;
    color: #78e3fa;
    font-size: 13px;
    font-weight: 800;
    letter-spacing: 3px;
}

.cfcc-ministry-banner-content h1 {
    margin: 0;
    color: #ffffff;
    font-size: clamp(46px, 6vw, 76px);
    line-height: 1;
    font-weight: 800;
}

.cfcc-ministry-banner-line {
    width: 70px;
    height: 3px;
    margin: 25px auto 20px;
    border-radius: 10px;
    background: #42c9e9;
}

.cfcc-ministry-banner-content p {
    margin: 0 auto;
    color: rgba(255,255,255,.86);
    font-size: 17px;
}


/* =========================================================
   INTRO
========================================================= */

.cfcc-ministry-intro {
    background: #ffffff;
}

.cfcc-ministry-intro-grid {
    display: grid;
    grid-template-columns: 1.05fr .95fr;
    align-items: center;
    gap: 75px;
}

.cfcc-ministry-title-line {
    width: 65px;
    height: 3px;
    margin: 22px 0 30px;
    border-radius: 10px;

    background:
        linear-gradient(
            90deg,
            #17265a,
            #13a7d5
        );
}

.cfcc-ministry-title-line.center {
    margin-left: auto;
    margin-right: auto;
}

.cfcc-ministry-intro-content p {
    margin: 0 0 18px;
}

.cfcc-ministry-highlight {
    display: flex;
    align-items: center;
    gap: 18px;

    margin-top: 30px;
    padding: 22px 24px;

    border-left: 4px solid #12a6d4;
    border-radius: 8px;

    background: #f2fbfd;
}

.cfcc-ministry-highlight-icon {
    flex: 0 0 44px;

    width: 44px;
    height: 44px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 50%;

    background: #17265a;
    color: #ffffff;

    font-size: 21px;
}

.cfcc-ministry-highlight strong {
    display: block;
    margin-bottom: 5px;

    color: #17265a;
    font-size: 15px;
}

.cfcc-ministry-highlight p {
    margin: 0;
    font-size: 14px;
    line-height: 1.7;
}

.cfcc-ministry-intro-image {
    position: relative;
    padding: 18px;
}

.cfcc-ministry-image-frame {
    position: relative;
    z-index: 2;

    overflow: hidden;
    border-radius: 20px;

    background: #ffffff;

    box-shadow:
        0 25px 60px rgba(23,38,90,.15);
}

.cfcc-ministry-image-frame img {
    width: 100%;
    height: 520px;

    display: block;

    object-fit: cover;
}

.cfcc-ministry-image-decoration {
    position: absolute;

    right: 0;
    bottom: 0;

    width: 160px;
    height: 160px;

    border-right: 5px solid #13a7d5;
    border-bottom: 5px solid #13a7d5;

    border-radius: 0 0 20px 0;
}


/* =========================================================
   COMMON HEADING
========================================================= */

.cfcc-ministry-heading {
    max-width: 820px;
    margin: 0 auto 50px;
    text-align: center;
}

.cfcc-ministry-heading p {
    max-width: 700px;
    margin: 0 auto;
}


/* =========================================================
   BIBLICAL FOUNDATION
========================================================= */

.cfcc-ministry-foundation {
    background: #f7fafc;
}

.cfcc-ministry-scripture {
    max-width: 900px;

    margin: 0 auto 40px;
    padding: 42px 50px;

    text-align: center;

    background: #ffffff;

    border: 1px solid #e7edf2;
    border-radius: 15px;

    box-shadow:
        0 15px 45px rgba(23,38,90,.07);
}

.cfcc-scripture-mark {
    color: #13a7d5;

    font-family: Georgia, serif;

    font-size: 70px;
    line-height: .5;
}

.cfcc-ministry-scripture p {
    margin: 18px 0;

    color: #27345c;

    font-family: Georgia, serif;

    font-size: 20px;
    line-height: 1.8;
}

.cfcc-ministry-scripture span {
    color: #119dc9;

    font-size: 13px;
    font-weight: 800;
}

.cfcc-ministry-text {
    max-width: 950px;
    margin: auto;
}

.cfcc-ministry-text p {
    margin-bottom: 20px;
}


/* =========================================================
   FAITH
========================================================= */

.cfcc-ministry-faith {
    background: #ffffff;
}

.cfcc-ministry-faith-grid {
    display: grid;

    grid-template-columns: 1.5fr .7fr;

    align-items: center;

    gap: 70px;
}

.cfcc-ministry-faith-content p {
    margin-bottom: 18px;
}

.cfcc-ministry-faith-card {
    padding: 42px 34px;

    border-radius: 16px;

    background:
        linear-gradient(
            145deg,
            #17265a,
            #0c9dc8
        );

    box-shadow:
        0 20px 50px rgba(23,38,90,.16);
}

.cfcc-ministry-card-icon {
    width: 48px;
    height: 48px;

    display: flex;
    align-items: center;
    justify-content: center;

    margin-bottom: 25px;

    border-radius: 50%;

    background: rgba(255,255,255,.13);

    color: #ffffff;

    font-size: 22px;
}

.cfcc-ministry-faith-card h3 {
    margin: 0 0 15px;

    color: #ffffff;

    font-size: 25px;
}

.cfcc-ministry-faith-card p {
    color: rgba(255,255,255,.84);
    font-size: 15px;
}

.cfcc-ministry-faith-card span {
    color: #9aefff;

    font-size: 13px;
    font-weight: 800;
}


/* =========================================================
   PURPOSE
========================================================= */

.cfcc-ministry-purpose {
    background: #f7fafc;
}

.cfcc-ministry-purpose-grid {
    display: grid;

    grid-template-columns: repeat(4, 1fr);

    gap: 20px;
}

.cfcc-ministry-purpose-card {
    padding: 32px 27px;

    border: 1px solid #e5ebf0;
    border-radius: 14px;

    background: #ffffff;

    transition: .3s ease;
}

.cfcc-ministry-purpose-card:hover {
    transform: translateY(-6px);

    box-shadow:
        0 18px 40px rgba(23,38,90,.08);
}

.cfcc-ministry-purpose-card > span {
    display: block;

    margin-bottom: 20px;

    color: #13a7d5;

    font-size: 12px;
    font-weight: 800;

    letter-spacing: 2px;
}

.cfcc-ministry-purpose-card h3 {
    margin: 0 0 12px;

    color: #17265a;

    font-size: 21px;
}

.cfcc-ministry-purpose-card p {
    margin: 0;

    font-size: 14px;
    line-height: 1.8;
}


/* =========================================================
   HEALING SCHOOL
========================================================= */

.cfcc-ministry-school {
    background: #ffffff;
}

.cfcc-ministry-school-grid {
    display: grid;

    grid-template-columns: repeat(4, 1fr);

    gap: 20px;
}

.cfcc-ministry-school-card {
    padding: 32px 27px;

    border: 1px solid #e5ebf0;
    border-radius: 14px;

    background: #f8fbfd;

    transition: .3s ease;
}

.cfcc-ministry-school-card:hover {
    transform: translateY(-6px);

    background: #ffffff;

    box-shadow:
        0 18px 40px rgba(23,38,90,.08);
}

.cfcc-ministry-school-number {
    margin-bottom: 20px;

    color: #13a7d5;

    font-size: 12px;
    font-weight: 800;

    letter-spacing: 2px;
}

.cfcc-ministry-school-card h3 {
    margin: 0 0 12px;

    color: #17265a;

    font-size: 20px;
}

.cfcc-ministry-school-card p {
    margin: 0;

    font-size: 14px;
    line-height: 1.8;
}


/* =========================================================
   GREATER WORKS
========================================================= */

.cfcc-ministry-works {
    background: #f7fafc;
}

.cfcc-ministry-verse {
    max-width: 850px;

    margin: 0 auto 50px;
    padding: 35px;

    text-align: center;

    border: 1px solid #e5ebf0;
    border-radius: 14px;

    background: #ffffff;
}

.cfcc-ministry-verse p {
    margin: 0 0 15px;

    color: #27345c;

    font-family: Georgia, serif;

    font-size: 20px;
    line-height: 1.8;
}

.cfcc-ministry-verse strong {
    color: #119dc9;
}

.cfcc-ministry-work-grid {
    display: grid;

    grid-template-columns: repeat(3, 1fr);

    gap: 22px;
}

.cfcc-ministry-work-card {
    padding: 34px;

    border: 1px solid #e7edf2;
    border-radius: 14px;

    background: #ffffff;

    transition: .3s ease;
}

.cfcc-ministry-work-card:hover {
    transform: translateY(-6px);

    box-shadow:
        0 18px 40px rgba(23,38,90,.08);
}

.cfcc-work-number {
    color: #13a7d5;

    font-size: 12px;
    font-weight: 800;

    letter-spacing: 2px;
}

.cfcc-ministry-work-card h3 {
    margin: 20px 0 12px;

    color: #17265a;

    font-size: 22px;
}

.cfcc-ministry-work-card p {
    margin: 0;

    font-size: 15px;
}


/* =========================================================
   DISCIPLES
========================================================= */

.cfcc-ministry-disciples {
    background: #ffffff;
}

.cfcc-ministry-disciples-grid {
    display: grid;

    grid-template-columns: repeat(3, 1fr);

    gap: 22px;
}

.cfcc-ministry-disciple-card {
    padding: 38px 30px;

    text-align: center;

    border: 1px solid #e5ebf0;
    border-radius: 15px;

    background: #ffffff;

    box-shadow:
        0 10px 30px rgba(23,38,90,.04);
}

.cfcc-disciple-icon {
    width: 58px;
    height: 58px;

    display: flex;
    align-items: center;
    justify-content: center;

    margin: 0 auto 22px;

    border-radius: 50%;

    background: #eefaff;

    color: #119dc9;

    font-size: 15px;
    font-weight: 800;
}

.cfcc-ministry-disciple-card h3 {
    margin: 0 0 12px;

    color: #17265a;

    font-size: 21px;
}

.cfcc-ministry-disciple-card p {
    margin: 0 0 17px;

    font-size: 14px;
}

.cfcc-ministry-disciple-card > span {
    color: #13a7d5;

    font-size: 12px;
    font-weight: 800;
}


/* =========================================================
   COMMISSION
========================================================= */

.cfcc-ministry-commission {
    background:
        linear-gradient(
            135deg,
            #111f55,
            #164477
        );
}

.cfcc-ministry-commission-inner {
    max-width: 900px;

    margin: auto;

    text-align: center;
}

.cfcc-ministry-commission .cfcc-ministry-label {
    color: #70e0f7;
}

.cfcc-ministry-commission h2 {
    color: #ffffff;
}

.cfcc-ministry-commission h2 span {
    color: #58d9f3;
}

.cfcc-ministry-commission .cfcc-ministry-title-line {
    background:
        linear-gradient(
            90deg,
            #ffffff,
            #46cce9
        );
}

.cfcc-ministry-commission-inner > p {
    color: rgba(255,255,255,.82);
}

.cfcc-ministry-commission-box {
    margin-top: 35px;

    padding: 30px;

    border:
        1px solid rgba(255,255,255,.14);

    border-radius: 14px;

    background:
        rgba(255,255,255,.06);
}

.cfcc-ministry-commission-box strong {
    display: block;

    color: #ffffff;

    font-family: Georgia, serif;

    font-size: 20px;
    line-height: 1.7;
}

.cfcc-ministry-commission-box span {
    display: block;

    margin-top: 15px;

    color: #69def7;

    font-size: 13px;
    font-weight: 800;
}


/* =========================================================
   LSS
========================================================= */

.cfcc-ministry-lss {
    background: #ffffff;
}

.cfcc-ministry-lss-grid {
    display: grid;

    grid-template-columns: .8fr 1.2fr;

    gap: 80px;
}

.cfcc-ministry-lss-content p {
    margin: 0 0 20px;
}


/* =========================================================
   CTA
========================================================= */

.cfcc-ministry-cta {
    padding: 85px 0;

    background:
        linear-gradient(
            135deg,
            #079bc7,
            #17265a
        );
}

.cfcc-ministry-cta-inner {
    max-width: 800px;

    margin: auto;

    text-align: center;
}

.cfcc-ministry-cta .cfcc-ministry-label {
    color: #a7efff;
}

.cfcc-ministry-cta h2 {
    color: #ffffff;
}

.cfcc-ministry-cta h2 span {
    color: #8be9ff;
}

.cfcc-ministry-cta p {
    max-width: 680px;

    margin: 20px auto 30px;

    color: rgba(255,255,255,.86);
}

.cfcc-ministry-button {
    display: inline-flex;

    align-items: center;

    gap: 14px;

    padding: 15px 28px;

    border-radius: 50px;

    background: #ffffff;

    color: #17265a;

    text-decoration: none;

    font-size: 15px;
    font-weight: 800;

    transition: .3s ease;
}

.cfcc-ministry-button span {
    font-size: 20px;

    transition: .3s ease;
}

.cfcc-ministry-button:hover {
    transform: translateY(-3px);

    color: #079bc7;

    box-shadow:
        0 12px 30px rgba(0,0,0,.15);
}

.cfcc-ministry-button:hover span {
    transform: translateX(5px);
}


/* =========================================================
   RESPONSIVE
========================================================= */

@media (max-width: 1100px) {

    .cfcc-ministry-purpose-grid,
    .cfcc-ministry-school-grid {
        grid-template-columns: repeat(2, 1fr);
    }

}


@media (max-width: 900px) {

    .cfcc-ministry-section {
        padding: 70px 0;
    }

    .cfcc-ministry-intro-grid,
    .cfcc-ministry-faith-grid,
    .cfcc-ministry-lss-grid {
        grid-template-columns: 1fr;

        gap: 45px;
    }

    .cfcc-ministry-intro-image {
        max-width: 650px;

        width: 100%;

        margin: auto;
    }

    .cfcc-ministry-work-grid,
    .cfcc-ministry-disciples-grid {
        grid-template-columns: 1fr;
    }

}


@media (max-width: 700px) {

    .cfcc-ministry-container {
        width: min(100% - 28px, 1180px);
    }

    .cfcc-ministry-section {
        padding: 60px 0;
    }

    .cfcc-ministry-banner {
        min-height: 340px;
    }

    .cfcc-ministry-banner-content h1 {
        font-size: 46px;
    }

    .cfcc-ministry-banner-content p {
        font-size: 15px;
    }

    .cfcc-ministry-purpose-grid,
    .cfcc-ministry-school-grid {
        grid-template-columns: 1fr;
    }

    .cfcc-ministry-scripture {
        padding: 35px 25px;
    }

    .cfcc-ministry-scripture p,
    .cfcc-ministry-verse p {
        font-size: 17px;
    }

    .cfcc-ministry-image-frame img {
        height: 400px;
    }

}


@media (max-width: 480px) {

    .cfcc-ministry-section {
        padding: 50px 0;
    }

    .cfcc-ministry-banner-content h1 {
        font-size: 40px;
    }

    .cfcc-ministry-page h2 {
        font-size: 32px;
    }

    .cfcc-ministry-highlight {
        align-items: flex-start;
    }

    .cfcc-ministry-image-frame img {
        height: 330px;
    }

    .cfcc-ministry-purpose-card,
    .cfcc-ministry-school-card,
    .cfcc-ministry-work-card {
        padding: 27px;
    }

}





/* =========================================================
   CHRIST FAITH CITY CENTRE
   EVANGELISM PAGE
========================================================= */

.cfcc-evangelism-page {
    overflow: hidden;
    background: #ffffff;
    color: #252c3a;
}

.cfcc-evangelism-container {
    width: min(1180px, calc(100% - 40px));
    margin: 0 auto;
}

.cfcc-evangelism-section {
    padding: 95px 0;
}

.cfcc-evangelism-page p {
    color: #657084;
    font-size: 16px;
    line-height: 1.9;
}

.cfcc-evangelism-label {
    display: inline-block;
    margin-bottom: 14px;
    color: #119dc9;
    font-size: 13px;
    font-weight: 800;
    letter-spacing: 2px;
    text-transform: uppercase;
}

.cfcc-evangelism-page h2 {
    margin: 0;
    color: #17265a;
    font-size: clamp(34px, 4vw, 50px);
    line-height: 1.15;
    font-weight: 800;
}

.cfcc-evangelism-page h2 span {
    color: #12a6d4;
}


/* =========================================================
   BANNER
========================================================= */

.cfcc-evangelism-banner {
    position: relative;
    min-height: 410px;

    display: flex;
    align-items: center;
    justify-content: center;

    overflow: hidden;

    background:
        linear-gradient(
            135deg,
            #111f55 0%,
            #17366d 50%,
            #079bc5 100%
        );
}

.cfcc-evangelism-banner::before {
    content: "";

    position: absolute;

    width: 620px;
    height: 620px;

    top: -310px;
    right: -120px;

    border:
        1px solid rgba(255,255,255,.12);

    border-radius: 50%;
}

.cfcc-evangelism-banner::after {
    content: "";

    position: absolute;

    width: 460px;
    height: 460px;

    bottom: -260px;
    left: -100px;

    border:
        1px solid rgba(255,255,255,.10);

    border-radius: 50%;
}

.cfcc-evangelism-banner-overlay {
    position: absolute;
    inset: 0;

    background:
        radial-gradient(
            circle at center,
            rgba(255,255,255,.08),
            transparent 55%
        );
}

.cfcc-evangelism-banner-content {
    position: relative;
    z-index: 2;

    width: min(900px, 90%);

    text-align: center;
}

.cfcc-evangelism-banner-small {
    display: block;

    margin-bottom: 15px;

    color: #78e3fa;

    font-size: 13px;
    font-weight: 800;

    letter-spacing: 3px;
}

.cfcc-evangelism-banner-content h1 {
    margin: 0;

    color: #ffffff;

    font-size: clamp(46px, 6vw, 76px);

    line-height: 1;
    font-weight: 800;
}

.cfcc-evangelism-banner-line {
    width: 70px;
    height: 3px;

    margin: 25px auto 20px;

    border-radius: 10px;

    background: #42c9e9;
}

.cfcc-evangelism-banner-content p {
    margin: 0 auto;

    color: rgba(255,255,255,.86);

    font-size: 17px;
}


/* =========================================================
   COMMON TITLE LINE
========================================================= */

.cfcc-evangelism-title-line {
    width: 65px;
    height: 3px;

    margin: 22px 0 30px;

    border-radius: 10px;

    background:
        linear-gradient(
            90deg,
            #17265a,
            #13a7d5
        );
}

.cfcc-evangelism-title-line.center {
    margin-left: auto;
    margin-right: auto;
}


/* =========================================================
   INTRO
========================================================= */

.cfcc-evangelism-intro {
    background: #ffffff;
}

.cfcc-evangelism-intro-grid {
    display: grid;

    grid-template-columns: 1.05fr .95fr;

    align-items: center;

    gap: 75px;
}

.cfcc-evangelism-intro-content p {
    margin: 0 0 18px;
}

.cfcc-evangelism-highlight {
    display: flex;

    align-items: center;

    gap: 18px;

    margin-top: 30px;

    padding: 22px 24px;

    border-left: 4px solid #12a6d4;

    border-radius: 8px;

    background: #f2fbfd;
}

.cfcc-evangelism-highlight-icon {
    flex: 0 0 44px;

    width: 44px;
    height: 44px;

    display: flex;

    align-items: center;
    justify-content: center;

    border-radius: 50%;

    background: #17265a;

    color: #ffffff;

    font-size: 20px;
}

.cfcc-evangelism-highlight strong {
    display: block;

    margin-bottom: 5px;

    color: #17265a;

    font-size: 15px;
}

.cfcc-evangelism-highlight p {
    margin: 0;

    font-size: 14px;

    line-height: 1.7;
}

.cfcc-evangelism-intro-image {
    position: relative;

    padding: 18px;
}

.cfcc-evangelism-image-frame {
    position: relative;
    z-index: 2;

    overflow: hidden;

    border-radius: 20px;

    background: #ffffff;

    box-shadow:
        0 25px 60px rgba(23,38,90,.15);
}

.cfcc-evangelism-image-frame img {
    display: block;

    width: 100%;
    height: 530px;

    object-fit: cover;
}

.cfcc-evangelism-image-decoration {
    position: absolute;

    right: 0;
    bottom: 0;

    width: 160px;
    height: 160px;

    border-right: 5px solid #13a7d5;
    border-bottom: 5px solid #13a7d5;

    border-radius: 0 0 20px 0;
}


/* =========================================================
   COMMON HEADING
========================================================= */

.cfcc-evangelism-heading {
    max-width: 820px;

    margin: 0 auto 50px;

    text-align: center;
}

.cfcc-evangelism-heading p {
    max-width: 700px;

    margin: 0 auto;
}


/* =========================================================
   GREAT COMMISSION
========================================================= */

.cfcc-evangelism-commission {
    background: #f7fafc;
}

.cfcc-evangelism-scripture {
    max-width: 900px;

    margin: 0 auto 40px;

    padding: 42px 50px;

    text-align: center;

    border: 1px solid #e7edf2;

    border-radius: 15px;

    background: #ffffff;

    box-shadow:
        0 15px 45px rgba(23,38,90,.07);
}

.cfcc-evangelism-scripture-mark {
    color: #13a7d5;

    font-family: Georgia, serif;

    font-size: 70px;

    line-height: .5;
}

.cfcc-evangelism-scripture p {
    margin: 18px 0;

    color: #27345c;

    font-family: Georgia, serif;

    font-size: 20px;

    line-height: 1.8;
}

.cfcc-evangelism-scripture span {
    color: #119dc9;

    font-size: 13px;

    font-weight: 800;
}

.cfcc-evangelism-scripture-row {
    display: grid;

    grid-template-columns: repeat(3, 1fr);

    gap: 20px;
}

.cfcc-evangelism-scripture-row > div {
    padding: 28px;

    border:
        1px solid #e5ebf0;

    border-radius: 13px;

    background: #ffffff;
}

.cfcc-evangelism-scripture-row strong {
    color: #17265a;

    font-size: 17px;
}

.cfcc-evangelism-scripture-row p {
    margin: 12px 0 0;

    font-size: 14px;
}


/* =========================================================
   TOUCH MY SOUL
========================================================= */

.cfcc-touch-soul {
    background: #ffffff;
}

.cfcc-touch-soul-heading {
    max-width: 800px;

    margin-bottom: 45px;
}

.cfcc-touch-soul-grid {
    display: grid;

    grid-template-columns: repeat(3, 1fr);

    gap: 22px;
}

.cfcc-touch-soul-card {
    padding: 34px;

    border:
        1px solid #e6edf2;

    border-radius: 14px;

    background: #ffffff;

    box-shadow:
        0 10px 30px rgba(23,38,90,.045);

    transition: .3s ease;
}

.cfcc-touch-soul-card:hover {
    transform: translateY(-6px);

    box-shadow:
        0 18px 40px rgba(23,38,90,.09);
}

.cfcc-touch-soul-icon {
    width: 46px;
    height: 46px;

    display: flex;

    align-items: center;
    justify-content: center;

    margin-bottom: 20px;

    border-radius: 10px;

    background: #eefaff;

    color: #119dc9;

    font-size: 12px;

    font-weight: 800;

    letter-spacing: 1px;
}

.cfcc-touch-soul-card h3 {
    margin: 0 0 12px;

    color: #17265a;

    font-size: 21px;
}

.cfcc-touch-soul-card p {
    margin: 0;

    font-size: 14px;
}

.cfcc-touch-soul-content {
    max-width: 900px;

    margin: 40px auto 0;

    text-align: center;
}


/* =========================================================
   LOVE YOUR NEIGHBOUR
========================================================= */

.cfcc-neighbour {
    background: #f7fafc;
}

.cfcc-neighbour-grid {
    display: grid;

    grid-template-columns: .8fr 1.2fr;

    gap: 80px;

    align-items: center;
}

.cfcc-neighbour-content p {
    margin: 0 0 20px;
}

.cfcc-neighbour-verse {
    margin-top: 35px;

    padding: 25px;

    border-left: 4px solid #13a7d5;

    background: #ffffff;

    border-radius: 0 12px 12px 0;
}

.cfcc-neighbour-verse strong {
    display: block;

    color: #17265a;

    font-family: Georgia, serif;

    font-size: 18px;

    line-height: 1.7;
}

.cfcc-neighbour-verse span {
    display: block;

    margin-top: 10px;

    color: #119dc9;

    font-size: 12px;

    font-weight: 800;
}


/* =========================================================
   RESPONSIBILITY
========================================================= */

.cfcc-evangelism-responsibility {
    background: #ffffff;
}

.cfcc-responsibility-grid {
    display: grid;

    grid-template-columns: repeat(4, 1fr);

    gap: 20px;
}

.cfcc-responsibility-card {
    padding: 32px 27px;

    border:
        1px solid #e5ebf0;

    border-radius: 14px;

    background: #f8fbfd;

    transition: .3s ease;
}

.cfcc-responsibility-card:hover {
    transform: translateY(-5px);

    background: #ffffff;

    box-shadow:
        0 18px 40px rgba(23,38,90,.08);
}

.cfcc-responsibility-card > span {
    color: #13a7d5;

    font-size: 12px;

    font-weight: 800;

    letter-spacing: 2px;
}

.cfcc-responsibility-card h3 {
    margin: 20px 0 12px;

    color: #17265a;

    font-size: 21px;
}

.cfcc-responsibility-card p {
    margin: 0;

    font-size: 14px;
}


/* =========================================================
   STORY
========================================================= */

.cfcc-evangelism-story {
    background: #f7fafc;
}

.cfcc-story-box {
    max-width: 950px;

    margin: auto;

    padding: 50px;

    border:
        1px solid #e5ebf0;

    border-radius: 18px;

    background: #ffffff;

    box-shadow:
        0 15px 45px rgba(23,38,90,.06);
}

.cfcc-story-label {
    margin-bottom: 12px;

    color: #119dc9;

    font-size: 12px;

    font-weight: 800;

    letter-spacing: 2px;
}

.cfcc-story-box p {
    margin-bottom: 18px;
}

.cfcc-story-quote {
    margin-top: 35px;

    padding: 25px;

    text-align: center;

    border-radius: 12px;

    background: #f2fbfd;
}

.cfcc-story-quote span {
    display: block;

    color: #13a7d5;

    font-family: Georgia, serif;

    font-size: 50px;

    line-height: .5;
}

.cfcc-story-quote p {
    margin: 15px 0;

    color: #27345c;

    font-family: Georgia, serif;

    font-size: 20px;
}

.cfcc-story-quote strong {
    color: #119dc9;

    font-size: 13px;
}


/* =========================================================
   HARVEST
========================================================= */

.cfcc-harvest {
    background: #ffffff;
}

.cfcc-harvest-heading {
    max-width: 800px;

    margin: 0 auto 45px;

    text-align: center;
}

.cfcc-harvest-content {
    max-width: 850px;

    margin: auto;

    text-align: center;
}

.cfcc-harvest-verse {
    max-width: 850px;

    margin: 35px auto 0;

    padding: 30px;

    text-align: center;

    border-radius: 14px;

    background:
        linear-gradient(
            135deg,
            #17265a,
            #079bc7
        );
}

.cfcc-harvest-verse p {
    margin: 0 0 15px;

    color: #ffffff;

    font-family: Georgia, serif;

    font-size: 20px;

    line-height: 1.8;
}

.cfcc-harvest-verse span {
    color: #a4efff;

    font-size: 13px;

    font-weight: 800;
}


/* =========================================================
   WORLD OUTREACH
========================================================= */

.cfcc-world-outreach {
    background: #f7fafc;
}

.cfcc-world-outreach-heading {
    max-width: 800px;

    margin: 0 auto 50px;

    text-align: center;
}

.cfcc-world-outreach-heading p {
    max-width: 700px;

    margin: auto;
}

.cfcc-world-outreach-grid {
    display: grid;

    grid-template-columns: repeat(3, 1fr);

    gap: 22px;
}

.cfcc-world-card {
    padding: 34px;

    border:
        1px solid #e5ebf0;

    border-radius: 14px;

    background: #ffffff;

    transition: .3s ease;
}

.cfcc-world-card:hover {
    transform: translateY(-6px);

    box-shadow:
        0 18px 40px rgba(23,38,90,.08);
}

.cfcc-world-number {
    color: #13a7d5;

    font-size: 12px;

    font-weight: 800;

    letter-spacing: 2px;
}

.cfcc-world-card h3 {
    margin: 20px 0 12px;

    color: #17265a;

    font-size: 21px;
}

.cfcc-world-card p {
    margin: 0;

    font-size: 14px;
}


/* =========================================================
   PARTNERS
========================================================= */

.cfcc-partners {
    background: #ffffff;
}

.cfcc-partners-heading {
    max-width: 800px;

    margin: 0 auto 45px;

    text-align: center;
}

.cfcc-partners-content {
    max-width: 900px;

    margin: auto;

    text-align: center;
}

.cfcc-partners-scripture {
    margin-top: 30px;

    padding: 28px;

    border-left: 4px solid #13a7d5;

    border-radius: 0 12px 12px 0;

    background: #f2fbfd;
}

.cfcc-partners-scripture strong {
    display: block;

    color: #17265a;

    font-family: Georgia, serif;

    font-size: 19px;
}

.cfcc-partners-scripture span {
    display: block;

    margin-top: 10px;

    color: #119dc9;

    font-size: 12px;

    font-weight: 800;
}


/* =========================================================
   PARTNER BENEFITS
========================================================= */

.cfcc-partner-benefits {
    background: #f7fafc;
}

.cfcc-partner-grid {
    display: grid;

    grid-template-columns: repeat(4, 1fr);

    gap: 20px;
}

.cfcc-partner-card {
    padding: 30px 26px;

    border:
        1px solid #e5ebf0;

    border-radius: 14px;

    background: #ffffff;

    transition: .3s ease;
}

.cfcc-partner-card:hover {
    transform: translateY(-5px);

    box-shadow:
        0 18px 40px rgba(23,38,90,.08);
}

.cfcc-partner-card > span {
    color: #13a7d5;

    font-size: 12px;

    font-weight: 800;

    letter-spacing: 2px;
}

.cfcc-partner-card h3 {
    margin: 18px 0 12px;

    color: #17265a;

    font-size: 19px;
}

.cfcc-partner-card p {
    margin: 0;

    font-size: 14px;
}


/* =========================================================
   DONATION
========================================================= */

.cfcc-donation {
    background:
        linear-gradient(
            135deg,
            #111f55,
            #164477
        );
}

.cfcc-donation-inner {
    max-width: 1000px;

    margin: auto;

    text-align: center;
}

.cfcc-donation .cfcc-evangelism-label {
    color: #70e0f7;
}

.cfcc-donation h2 {
    color: #ffffff;
}

.cfcc-donation h2 span {
    color: #58d9f3;
}

.cfcc-donation .cfcc-evangelism-title-line {
    background:
        linear-gradient(
            90deg,
            #ffffff,
            #46cce9
        );
}

.cfcc-donation-inner > p {
    color: rgba(255,255,255,.82);
}

.cfcc-donation-options {
    display: grid;

    grid-template-columns: repeat(3, 1fr);

    gap: 20px;

    margin-top: 45px;
}

.cfcc-donation-option {
    padding: 30px;

    border:
        1px solid rgba(255,255,255,.12);

    border-radius: 14px;

    background:
        rgba(255,255,255,.06);
}

.cfcc-donation-icon {
    width: 48px;
    height: 48px;

    display: flex;

    align-items: center;
    justify-content: center;

    margin: 0 auto 20px;

    border-radius: 50%;

    background: rgba(255,255,255,.12);

    color: #ffffff;

    font-weight: 800;
}

.cfcc-donation-option h3 {
    margin: 0 0 12px;

    color: #ffffff;

    font-size: 20px;
}

.cfcc-donation-option p {
    color: rgba(255,255,255,.74);

    font-size: 14px;
}

.cfcc-donation-option a {
    display: inline-block;

    margin-top: 8px;

    color: #75e4fa;

    text-decoration: none;

    font-size: 14px;

    font-weight: 800;
}


/* =========================================================
   GIVING
========================================================= */

.cfcc-giving {
    background: #ffffff;
}

.cfcc-giving-grid {
    display: grid;

    grid-template-columns: repeat(4, 1fr);

    gap: 14px;
}

.cfcc-giving-grid div {
    padding: 18px;

    text-align: center;

    border:
        1px solid #e5ebf0;

    border-radius: 10px;

    background: #f8fbfd;

    color: #27345c;

    font-size: 14px;

    font-weight: 700;

    transition: .3s ease;
}

.cfcc-giving-grid div:hover {
    transform: translateY(-3px);

    border-color: #13a7d5;

    color: #119dc9;

    background: #ffffff;
}


/* =========================================================
   PARTNERSHIP IMPACT
========================================================= */

.cfcc-partnership-impact {
    padding: 90px 0;

    background: #f7fafc;
}

.cfcc-impact-inner {
    max-width: 800px;

    margin: auto;

    text-align: center;
}

.cfcc-impact-email {
    margin: 30px auto;

    padding: 24px;

    border-radius: 12px;

    background: #ffffff;

    border:
        1px solid #e5ebf0;
}

.cfcc-impact-email span {
    display: block;

    margin-bottom: 8px;

    color: #657084;

    font-size: 12px;

    font-weight: 700;

    text-transform: uppercase;

    letter-spacing: 1px;
}

.cfcc-impact-email a {
    color: #119dc9;

    font-size: 17px;

    font-weight: 800;

    text-decoration: none;

    word-break: break-word;
}

.cfcc-impact-note {
    font-size: 14px !important;
}


/* =========================================================
   FINAL CTA
========================================================= */

.cfcc-evangelism-cta {
    padding: 85px 0;

    background:
        linear-gradient(
            135deg,
            #079bc7,
            #17265a
        );
}

.cfcc-evangelism-cta-inner {
    max-width: 800px;

    margin: auto;

    text-align: center;
}

.cfcc-evangelism-cta .cfcc-evangelism-label {
    color: #a7efff;
}

.cfcc-evangelism-cta h2 {
    color: #ffffff;
}

.cfcc-evangelism-cta h2 span {
    color: #8be9ff;
}

.cfcc-evangelism-cta p {
    max-width: 650px;

    margin: 20px auto 30px;

    color: rgba(255,255,255,.86);
}

.cfcc-evangelism-cta-buttons {
    display: flex;

    justify-content: center;

    flex-wrap: wrap;

    gap: 14px;
}

.cfcc-evangelism-button {
    display: inline-flex;

    align-items: center;

    gap: 13px;

    padding: 15px 27px;

    border-radius: 50px;

    background: #ffffff;

    color: #17265a;

    text-decoration: none;

    font-size: 14px;

    font-weight: 800;

    transition: .3s ease;
}

.cfcc-evangelism-button span {
    font-size: 19px;

    transition: .3s ease;
}

.cfcc-evangelism-button:hover {
    transform: translateY(-3px);

    color: #079bc7;

    box-shadow:
        0 12px 30px rgba(0,0,0,.15);
}

.cfcc-evangelism-button:hover span {
    transform: translateX(5px);
}

.cfcc-evangelism-button.outline {
    border:
        1px solid rgba(255,255,255,.45);

    background: transparent;

    color: #ffffff;
}

.cfcc-evangelism-button.outline:hover {
    background: #ffffff;

    color: #17265a;
}


/* =========================================================
   RESPONSIVE
========================================================= */

@media (max-width: 1100px) {

    .cfcc-responsibility-grid,
    .cfcc-partner-grid,
    .cfcc-giving-grid {
        grid-template-columns: repeat(2, 1fr);
    }

}


@media (max-width: 900px) {

    .cfcc-evangelism-section {
        padding: 70px 0;
    }

    .cfcc-evangelism-intro-grid,
    .cfcc-neighbour-grid {
        grid-template-columns: 1fr;

        gap: 45px;
    }

    .cfcc-evangelism-intro-image {
        max-width: 650px;

        width: 100%;

        margin: auto;
    }

    .cfcc-evangelism-scripture-row,
    .cfcc-touch-soul-grid,
    .cfcc-world-outreach-grid {
        grid-template-columns: 1fr;
    }

    .cfcc-donation-options {
        grid-template-columns: 1fr;
    }

}


@media (max-width: 700px) {

    .cfcc-evangelism-container {
        width: min(100% - 28px, 1180px);
    }

    .cfcc-evangelism-section {
        padding: 60px 0;
    }

    .cfcc-evangelism-banner {
        min-height: 340px;
    }

    .cfcc-evangelism-banner-content h1 {
        font-size: 46px;
    }

    .cfcc-evangelism-banner-content p {
        font-size: 15px;
    }

    .cfcc-responsibility-grid,
    .cfcc-partner-grid,
    .cfcc-giving-grid {
        grid-template-columns: 1fr;
    }

    .cfcc-evangelism-scripture {
        padding: 35px 25px;
    }

    .cfcc-evangelism-scripture p,
    .cfcc-harvest-verse p {
        font-size: 17px;
    }

    .cfcc-evangelism-image-frame img {
        height: 400px;
    }

    .cfcc-story-box {
        padding: 32px 25px;
    }

}


@media (max-width: 480px) {

    .cfcc-evangelism-section {
        padding: 50px 0;
    }

    .cfcc-evangelism-banner-content h1 {
        font-size: 40px;
    }

    .cfcc-evangelism-page h2 {
        font-size: 32px;
    }

    .cfcc-evangelism-highlight {
        align-items: flex-start;
    }

    .cfcc-evangelism-image-frame img {
        height: 330px;
    }

    .cfcc-evangelism-button {
        width: 100%;
        justify-content: center;
    }

}





/* =========================================================
   CHRIST FAITH CITY CENTRE
   HEALING SCHOOL / LSS
========================================================= */

.cfcc-healing-page {
    overflow: hidden;
    background: #ffffff;
    color: #252c3a;
}

.cfcc-healing-container {
    width: min(1180px, calc(100% - 40px));
    margin: 0 auto;
}

.cfcc-healing-section {
    padding: 95px 0;
}

.cfcc-healing-page p {
    color: #657084;
    font-size: 16px;
    line-height: 1.9;
}

.cfcc-healing-label {
    display: inline-block;
    margin-bottom: 14px;
    color: #119dc9;
    font-size: 13px;
    font-weight: 800;
    letter-spacing: 2px;
    text-transform: uppercase;
}

.cfcc-healing-page h2 {
    margin: 0;
    color: #17265a;
    font-size: clamp(34px, 4vw, 50px);
    line-height: 1.15;
    font-weight: 800;
}

.cfcc-healing-page h2 span {
    color: #12a6d4;
}


/* =========================================================
   BANNER
========================================================= */

.cfcc-healing-banner {
    position: relative;
    min-height: 410px;

    display: flex;
    align-items: center;
    justify-content: center;

    overflow: hidden;

    background:
        linear-gradient(
            135deg,
            #111f55 0%,
            #17366d 50%,
            #079bc5 100%
        );
}

.cfcc-healing-banner::before {
    content: "";

    position: absolute;

    width: 620px;
    height: 620px;

    top: -310px;
    right: -120px;

    border:
        1px solid rgba(255,255,255,.12);

    border-radius: 50%;
}

.cfcc-healing-banner::after {
    content: "";

    position: absolute;

    width: 460px;
    height: 460px;

    bottom: -260px;
    left: -100px;

    border:
        1px solid rgba(255,255,255,.10);

    border-radius: 50%;
}

.cfcc-healing-banner-overlay {
    position: absolute;
    inset: 0;

    background:
        radial-gradient(
            circle at center,
            rgba(255,255,255,.08),
            transparent 55%
        );
}

.cfcc-healing-banner-content {
    position: relative;
    z-index: 2;

    width: min(900px, 90%);

    text-align: center;
}

.cfcc-healing-banner-small {
    display: block;

    margin-bottom: 15px;

    color: #78e3fa;

    font-size: 13px;
    font-weight: 800;

    letter-spacing: 3px;
}

.cfcc-healing-banner-content h1 {
    margin: 0;

    color: #ffffff;

    font-size: clamp(46px, 6vw, 76px);

    line-height: 1;
    font-weight: 800;
}

.cfcc-healing-banner-line {
    width: 70px;
    height: 3px;

    margin: 25px auto 20px;

    border-radius: 10px;

    background: #42c9e9;
}

.cfcc-healing-banner-content p {
    margin: 0 auto;

    color: rgba(255,255,255,.86);

    font-size: 17px;
}


/* =========================================================
   COMMON TITLE LINE
========================================================= */

.cfcc-healing-title-line {
    width: 65px;
    height: 3px;

    margin: 22px 0 30px;

    border-radius: 10px;

    background:
        linear-gradient(
            90deg,
            #17265a,
            #13a7d5
        );
}

.cfcc-healing-title-line.center {
    margin-left: auto;
    margin-right: auto;
}


/* =========================================================
   INTRO
========================================================= */

.cfcc-healing-intro {
    background: #ffffff;
}

.cfcc-healing-intro-grid {
    display: grid;

    grid-template-columns: 1.05fr .95fr;

    align-items: center;

    gap: 75px;
}

.cfcc-healing-intro-content p {
    margin: 0 0 18px;
}

.cfcc-healing-highlight {
    display: flex;

    align-items: center;

    gap: 18px;

    margin-top: 30px;

    padding: 22px 24px;

    border-left: 4px solid #12a6d4;

    border-radius: 8px;

    background: #f2fbfd;
}

.cfcc-healing-highlight-icon {
    flex: 0 0 44px;

    width: 44px;
    height: 44px;

    display: flex;

    align-items: center;
    justify-content: center;

    border-radius: 50%;

    background: #17265a;

    color: #ffffff;

    font-size: 20px;
}

.cfcc-healing-highlight strong {
    display: block;

    margin-bottom: 5px;

    color: #17265a;

    font-size: 15px;
}

.cfcc-healing-highlight p {
    margin: 0;

    font-size: 14px;

    line-height: 1.7;
}

.cfcc-healing-intro-image {
    position: relative;

    padding: 18px;
}

.cfcc-healing-image-frame {
    position: relative;
    z-index: 2;

    overflow: hidden;

    border-radius: 20px;

    background: #ffffff;

    box-shadow:
        0 25px 60px rgba(23,38,90,.15);
}

.cfcc-healing-image-frame img {
    display: block;

    width: 100%;
    height: 530px;

    object-fit: cover;
}

.cfcc-healing-image-decoration {
    position: absolute;

    right: 0;
    bottom: 0;

    width: 160px;
    height: 160px;

    border-right: 5px solid #13a7d5;
    border-bottom: 5px solid #13a7d5;

    border-radius: 0 0 20px 0;
}


/* =========================================================
   HEADING
========================================================= */

.cfcc-healing-heading {
    max-width: 820px;

    margin: 0 auto 50px;

    text-align: center;
}

.cfcc-healing-heading p {
    max-width: 700px;

    margin: 0 auto;
}


/* =========================================================
   FOUNDATION
========================================================= */

.cfcc-healing-foundation {
    background: #f7fafc;
}

.cfcc-healing-scripture {
    max-width: 900px;

    margin: 0 auto 40px;

    padding: 42px 50px;

    text-align: center;

    border:
        1px solid #e7edf2;

    border-radius: 15px;

    background: #ffffff;

    box-shadow:
        0 15px 45px rgba(23,38,90,.07);
}

.cfcc-healing-scripture-mark {
    color: #13a7d5;

    font-family: Georgia, serif;

    font-size: 70px;

    line-height: .5;
}

.cfcc-healing-scripture p {
    margin: 18px 0;

    color: #27345c;

    font-family: Georgia, serif;

    font-size: 20px;

    line-height: 1.8;
}

.cfcc-healing-scripture span {
    color: #119dc9;

    font-size: 13px;

    font-weight: 800;
}

.cfcc-healing-text {
    max-width: 950px;

    margin: auto;
}

.cfcc-healing-text p {
    margin-bottom: 20px;
}


/* =========================================================
   FAITH
========================================================= */

.cfcc-healing-faith {
    background: #ffffff;
}

.cfcc-healing-faith-grid {
    display: grid;

    grid-template-columns: 1.5fr .7fr;

    align-items: center;

    gap: 70px;
}

.cfcc-healing-faith-card {
    padding: 42px 34px;

    border-radius: 16px;

    background:
        linear-gradient(
            145deg,
            #17265a,
            #0c9dc8
        );

    box-shadow:
        0 20px 50px rgba(23,38,90,.16);
}

.cfcc-healing-card-icon {
    width: 48px;
    height: 48px;

    display: flex;

    align-items: center;
    justify-content: center;

    margin-bottom: 25px;

    border-radius: 50%;

    background: rgba(255,255,255,.13);

    color: #ffffff;

    font-size: 22px;
}

.cfcc-healing-faith-card h3 {
    margin: 0 0 15px;

    color: #ffffff;

    font-size: 25px;
}

.cfcc-healing-faith-card p {
    color: rgba(255,255,255,.84);

    font-size: 15px;
}

.cfcc-healing-faith-card span {
    color: #9aefff;

    font-size: 13px;

    font-weight: 800;
}


/* =========================================================
   GREATER WORKS
========================================================= */

.cfcc-healing-works {
    background: #f7fafc;
}

.cfcc-healing-verse {
    max-width: 850px;

    margin: 0 auto 50px;

    padding: 35px;

    text-align: center;

    border:
        1px solid #e5ebf0;

    border-radius: 14px;

    background: #ffffff;
}

.cfcc-healing-verse p {
    margin: 0 0 15px;

    color: #27345c;

    font-family: Georgia, serif;

    font-size: 20px;

    line-height: 1.8;
}

.cfcc-healing-verse strong {
    color: #119dc9;
}

.cfcc-healing-work-grid {
    display: grid;

    grid-template-columns: repeat(3, 1fr);

    gap: 22px;
}

.cfcc-healing-work-card {
    padding: 34px;

    border:
        1px solid #e7edf2;

    border-radius: 14px;

    background: #ffffff;

    transition: .3s ease;
}

.cfcc-healing-work-card:hover {
    transform: translateY(-6px);

    box-shadow:
        0 18px 40px rgba(23,38,90,.08);
}

.cfcc-healing-work-card > span {
    color: #13a7d5;

    font-size: 12px;

    font-weight: 800;

    letter-spacing: 2px;
}

.cfcc-healing-work-card h3 {
    margin: 20px 0 12px;

    color: #17265a;

    font-size: 21px;
}

.cfcc-healing-work-card p {
    margin: 0;

    font-size: 14px;
}


/* =========================================================
   MINISTRY
========================================================= */

.cfcc-healing-ministry {
    background: #ffffff;
}

.cfcc-healing-ministry-grid {
    display: grid;

    grid-template-columns: .8fr 1.2fr;

    gap: 80px;
}

.cfcc-healing-ministry-content p {
    margin: 0 0 20px;
}


/* =========================================================
   COMMISSION
========================================================= */

.cfcc-healing-commission {
    background: #f7fafc;
}

.cfcc-healing-commission-box {
    max-width: 850px;

    margin: 0 auto 35px;

    display: flex;

    align-items: center;

    gap: 25px;

    padding: 30px;

    border-radius: 15px;

    background:
        linear-gradient(
            135deg,
            #17265a,
            #079bc7
        );
}

.cfcc-healing-commission-icon {
    flex: 0 0 65px;

    width: 65px;
    height: 65px;

    display: flex;

    align-items: center;
    justify-content: center;

    border-radius: 50%;

    background: rgba(255,255,255,.12);

    color: #ffffff;

    font-weight: 800;
}

.cfcc-healing-commission-box p {
    margin: 0 0 7px;

    color: #ffffff;

    font-family: Georgia, serif;

    font-size: 19px;
}

.cfcc-healing-commission-box span {
    color: #a4efff;

    font-size: 12px;

    font-weight: 800;
}

.cfcc-healing-commission-grid {
    display: grid;

    grid-template-columns: repeat(4, 1fr);

    gap: 15px;
}

.cfcc-healing-commission-grid > div {
    padding: 25px;

    border:
        1px solid #e5ebf0;

    border-radius: 12px;

    background: #ffffff;
}

.cfcc-healing-commission-grid strong {
    color: #17265a;

    font-size: 17px;
}

.cfcc-healing-commission-grid p {
    margin: 8px 0 0;

    font-size: 14px;
}


/* =========================================================
   SEVENTY
========================================================= */

.cfcc-healing-seventy {
    background: #ffffff;
}

.cfcc-healing-seventy-grid {
    display: grid;

    grid-template-columns: repeat(3, 1fr);

    gap: 22px;
}

.cfcc-healing-seventy-card {
    padding: 38px 30px;

    text-align: center;

    border:
        1px solid #e5ebf0;

    border-radius: 15px;

    background: #ffffff;

    box-shadow:
        0 10px 30px rgba(23,38,90,.04);
}

.cfcc-healing-seventy-number {
    width: 58px;
    height: 58px;

    display: flex;

    align-items: center;
    justify-content: center;

    margin: 0 auto 22px;

    border-radius: 50%;

    background: #eefaff;

    color: #119dc9;

    font-size: 13px;

    font-weight: 800;
}

.cfcc-healing-seventy-card h3 {
    margin: 0 0 12px;

    color: #17265a;

    font-size: 21px;
}

.cfcc-healing-seventy-card p {
    margin: 0;

    font-size: 14px;
}


/* =========================================================
   GOSPEL
========================================================= */

.cfcc-healing-gospel {
    background:
        linear-gradient(
            135deg,
            #111f55,
            #164477
        );
}

.cfcc-healing-gospel-inner {
    max-width: 850px;

    margin: auto;

    text-align: center;
}

.cfcc-healing-gospel .cfcc-healing-label {
    color: #70e0f7;
}

.cfcc-healing-gospel h2 {
    color: #ffffff;
}

.cfcc-healing-gospel h2 span {
    color: #58d9f3;
}

.cfcc-healing-gospel .cfcc-healing-title-line {
    background:
        linear-gradient(
            90deg,
            #ffffff,
            #46cce9
        );
}

.cfcc-healing-gospel-inner p {
    color: rgba(255,255,255,.9);

    font-family: Georgia, serif;

    font-size: 22px;
}

.cfcc-healing-gospel-inner strong {
    color: #70e0f7;

    font-size: 13px;
}


/* =========================================================
   EXPERIENCE
========================================================= */

.cfcc-healing-experience {
    background: #f7fafc;
}

.cfcc-healing-experience-grid {
    display: grid;

    grid-template-columns: repeat(4, 1fr);

    gap: 20px;
}

.cfcc-healing-experience-card {
    padding: 32px 27px;

    border:
        1px solid #e5ebf0;

    border-radius: 14px;

    background: #ffffff;

    transition: .3s ease;
}

.cfcc-healing-experience-card:hover {
    transform: translateY(-5px);

    box-shadow:
        0 18px 40px rgba(23,38,90,.08);
}

.cfcc-healing-experience-card > div {
    color: #13a7d5;

    font-size: 12px;

    font-weight: 800;

    letter-spacing: 2px;
}

.cfcc-healing-experience-card h3 {
    margin: 20px 0 12px;

    color: #17265a;

    font-size: 20px;
}

.cfcc-healing-experience-card p {
    margin: 0;

    font-size: 14px;
}


/* =========================================================
   FINAL
========================================================= */

.cfcc-healing-final {
    background: #ffffff;
}

.cfcc-healing-final-inner {
    max-width: 800px;

    margin: auto;

    text-align: center;
}

.cfcc-healing-final-inner p {
    max-width: 750px;

    margin: 0 auto 18px;
}

.cfcc-healing-button {
    display: inline-flex;

    align-items: center;

    gap: 14px;

    margin-top: 20px;

    padding: 15px 28px;

    border-radius: 50px;

    background:
        linear-gradient(
            135deg,
            #17265a,
            #079bc7
        );

    color: #ffffff;

    text-decoration: none;

    font-size: 14px;

    font-weight: 800;

    transition: .3s ease;
}

.cfcc-healing-button span {
    font-size: 20px;

    transition: .3s ease;
}

.cfcc-healing-button:hover {
    transform: translateY(-3px);

    box-shadow:
        0 12px 30px rgba(23,38,90,.18);
}

.cfcc-healing-button:hover span {
    transform: translateX(5px);
}


/* =========================================================
   RESPONSIVE
========================================================= */

@media (max-width: 1100px) {

    .cfcc-healing-commission-grid,
    .cfcc-healing-experience-grid {
        grid-template-columns: repeat(2, 1fr);
    }

}


@media (max-width: 900px) {

    .cfcc-healing-section {
        padding: 70px 0;
    }

    .cfcc-healing-intro-grid,
    .cfcc-healing-faith-grid,
    .cfcc-healing-ministry-grid {
        grid-template-columns: 1fr;

        gap: 45px;
    }

    .cfcc-healing-intro-image {
        max-width: 650px;

        width: 100%;

        margin: auto;
    }

    .cfcc-healing-work-grid,
    .cfcc-healing-seventy-grid {
        grid-template-columns: 1fr;
    }

}


@media (max-width: 700px) {

    .cfcc-healing-container {
        width: min(100% - 28px, 1180px);
    }

    .cfcc-healing-section {
        padding: 60px 0;
    }

    .cfcc-healing-banner {
        min-height: 340px;
    }

    .cfcc-healing-banner-content h1 {
        font-size: 46px;
    }

    .cfcc-healing-banner-content p {
        font-size: 15px;
    }

    .cfcc-healing-scripture {
        padding: 35px 25px;
    }

    .cfcc-healing-scripture p,
    .cfcc-healing-verse p {
        font-size: 17px;
    }

    .cfcc-healing-commission-box {
        align-items: flex-start;
    }

    .cfcc-healing-commission-grid {
        grid-template-columns: 1fr;
    }

    .cfcc-healing-experience-grid {
        grid-template-columns: 1fr;
    }

    .cfcc-healing-image-frame img {
        height: 400px;
    }

}


@media (max-width: 480px) {

    .cfcc-healing-section {
        padding: 50px 0;
    }

    .cfcc-healing-banner-content h1 {
        font-size: 40px;
    }

    .cfcc-healing-page h2 {
        font-size: 32px;
    }

    .cfcc-healing-highlight {
        align-items: flex-start;
    }

    .cfcc-healing-image-frame img {
        height: 330px;
    }

    .cfcc-healing-commission-box {
        flex-direction: column;
    }

    .cfcc-healing-commission-icon {
        flex-basis: auto;
    }

}





/* =========================================================
   CHRIST FAITH CITY CENTRE
   PRAYER LINE PAGE
========================================================= */

.cfcc-prayer-page {
    overflow: hidden;
    background: #ffffff;
    color: #252c3a;
}

.cfcc-prayer-container {
    width: min(1180px, calc(100% - 40px));
    margin: 0 auto;
}

.cfcc-prayer-section {
    padding: 95px 0;
}

.cfcc-prayer-page p {
    color: #657084;
    font-size: 16px;
    line-height: 1.9;
}

.cfcc-prayer-label {
    display: inline-block;
    margin-bottom: 14px;

    color: #119dc9;

    font-size: 13px;
    font-weight: 800;

    letter-spacing: 2px;
    text-transform: uppercase;
}

.cfcc-prayer-page h2 {
    margin: 0;

    color: #17265a;

    font-size: clamp(34px, 4vw, 50px);

    line-height: 1.15;
    font-weight: 800;
}

.cfcc-prayer-page h2 span {
    color: #12a6d4;
}


/* =========================================================
   BANNER
========================================================= */

.cfcc-prayer-banner {
    position: relative;

    min-height: 410px;

    display: flex;

    align-items: center;
    justify-content: center;

    overflow: hidden;

    background:
        linear-gradient(
            135deg,
            #111f55 0%,
            #17366d 50%,
            #079bc5 100%
        );
}

.cfcc-prayer-banner::before {
    content: "";

    position: absolute;

    width: 620px;
    height: 620px;

    top: -310px;
    right: -120px;

    border: 1px solid rgba(255,255,255,.12);

    border-radius: 50%;
}

.cfcc-prayer-banner::after {
    content: "";

    position: absolute;

    width: 460px;
    height: 460px;

    bottom: -260px;
    left: -100px;

    border: 1px solid rgba(255,255,255,.10);

    border-radius: 50%;
}

.cfcc-prayer-banner-overlay {
    position: absolute;

    inset: 0;

    background:
        radial-gradient(
            circle at center,
            rgba(255,255,255,.08),
            transparent 55%
        );
}

.cfcc-prayer-banner-content {
    position: relative;

    z-index: 2;

    width: min(900px, 90%);

    text-align: center;
}

.cfcc-prayer-banner-small {
    display: block;

    margin-bottom: 15px;

    color: #78e3fa;

    font-size: 13px;
    font-weight: 800;

    letter-spacing: 3px;
}

.cfcc-prayer-banner-content h1 {
    margin: 0;

    color: #ffffff;

    font-size: clamp(46px, 6vw, 76px);

    line-height: 1;

    font-weight: 800;
}

.cfcc-prayer-banner-line {
    width: 70px;
    height: 3px;

    margin: 25px auto 20px;

    border-radius: 10px;

    background: #42c9e9;
}

.cfcc-prayer-banner-content p {
    margin: 0 auto;

    color: rgba(255,255,255,.86);

    font-size: 17px;
}


/* =========================================================
   TITLE LINE
========================================================= */

.cfcc-prayer-title-line {
    width: 65px;
    height: 3px;

    margin: 22px 0 30px;

    border-radius: 10px;

    background:
        linear-gradient(
            90deg,
            #17265a,
            #13a7d5
        );
}

.cfcc-prayer-title-line.center {
    margin-left: auto;
    margin-right: auto;
}


/* =========================================================
   INTRO
========================================================= */

.cfcc-prayer-intro {
    background: #ffffff;
}

.cfcc-prayer-intro-grid {
    display: grid;

    grid-template-columns: 1.05fr .95fr;

    align-items: center;

    gap: 75px;
}

.cfcc-prayer-intro-content p {
    margin: 0 0 18px;
}

.cfcc-prayer-highlight {
    display: flex;

    align-items: center;

    gap: 18px;

    margin-top: 30px;

    padding: 22px 24px;

    border-left: 4px solid #12a6d4;

    border-radius: 8px;

    background: #f2fbfd;
}

.cfcc-prayer-highlight-icon {
    flex: 0 0 44px;

    width: 44px;
    height: 44px;

    display: flex;

    align-items: center;
    justify-content: center;

    border-radius: 50%;

    background: #17265a;

    color: #ffffff;

    font-size: 20px;
}

.cfcc-prayer-highlight strong {
    display: block;

    margin-bottom: 5px;

    color: #17265a;

    font-size: 15px;
}

.cfcc-prayer-highlight p {
    margin: 0;

    font-size: 14px;

    line-height: 1.7;
}


/* =========================================================
   IMAGE
========================================================= */

.cfcc-prayer-image {
    position: relative;

    padding: 18px;
}

.cfcc-prayer-image-frame {
    position: relative;

    z-index: 2;

    overflow: hidden;

    border-radius: 20px;

    background: #ffffff;

    box-shadow:
        0 25px 60px rgba(23,38,90,.15);
}

.cfcc-prayer-image-frame img {
    display: block;

    width: 100%;
    height: 520px;

    object-fit: cover;
}

.cfcc-prayer-image-decoration {
    position: absolute;

    right: 0;
    bottom: 0;

    width: 160px;
    height: 160px;

    border-right: 5px solid #13a7d5;
    border-bottom: 5px solid #13a7d5;

    border-radius: 0 0 20px 0;
}


/* =========================================================
   HEADING
========================================================= */

.cfcc-prayer-heading {
    max-width: 800px;

    margin: 0 auto 50px;

    text-align: center;
}

.cfcc-prayer-heading p {
    max-width: 700px;

    margin: 0 auto;
}


/* =========================================================
   CONTACT CENTRE
========================================================= */

.cfcc-prayer-contact {
    background: #f7fafc;
}

.cfcc-prayer-contact-grid {
    display: grid;

    grid-template-columns: repeat(2, 1fr);

    gap: 22px;
}

.cfcc-prayer-contact-card {
    display: flex;

    align-items: flex-start;

    gap: 22px;

    padding: 30px;

    border: 1px solid #e5ebf0;

    border-radius: 15px;

    background: #ffffff;

    transition: .3s ease;
}

.cfcc-prayer-contact-card:hover {
    transform: translateY(-5px);

    box-shadow:
        0 18px 40px rgba(23,38,90,.08);
}

.cfcc-prayer-contact-card.featured {
    border-color: #12a6d4;

    box-shadow:
        0 12px 35px rgba(18,166,212,.08);
}

.cfcc-prayer-contact-icon {
    flex: 0 0 52px;

    width: 52px;
    height: 52px;

    display: flex;

    align-items: center;
    justify-content: center;

    border-radius: 13px;

    background: #eefaff;

    color: #119dc9;

    font-size: 21px;

    font-weight: 800;
}

.cfcc-prayer-contact-info span {
    display: block;

    margin-bottom: 6px;

    color: #119dc9;

    font-size: 11px;

    font-weight: 800;

    letter-spacing: 1.5px;
}

.cfcc-prayer-contact-info h3 {
    margin: 0 0 8px;

    color: #17265a;

    font-size: 21px;
}

.cfcc-prayer-contact-info p {
    margin: 0 0 14px;

    font-size: 14px;
}

.cfcc-prayer-contact-info a {
    display: inline-flex;

    align-items: center;

    gap: 8px;

    color: #119dc9;

    text-decoration: none;

    font-size: 13px;

    font-weight: 800;
}

.cfcc-prayer-contact-info a b {
    font-size: 17px;

    transition: .3s ease;
}

.cfcc-prayer-contact-info a:hover b {
    transform: translateX(4px);
}


/* =========================================================
   PRAYER REQUEST
========================================================= */

.cfcc-prayer-request {
    background: #ffffff;
}

.cfcc-prayer-request-inner {
    max-width: 850px;

    margin: auto;

    padding: 55px 40px;

    text-align: center;

    border-radius: 20px;

    background:
        linear-gradient(
            135deg,
            #17265a,
            #079bc7
        );

    box-shadow:
        0 25px 60px rgba(23,38,90,.16);
}

.cfcc-prayer-request-icon {
    width: 58px;
    height: 58px;

    display: flex;

    align-items: center;
    justify-content: center;

    margin: 0 auto 20px;

    border-radius: 50%;

    background: rgba(255,255,255,.12);

    color: #ffffff;

    font-size: 23px;
}

.cfcc-prayer-request .cfcc-prayer-label {
    color: #9ceeff;
}

.cfcc-prayer-request h2 {
    color: #ffffff;
}

.cfcc-prayer-request h2 span {
    color: #72e3fa;
}

.cfcc-prayer-request .cfcc-prayer-title-line {
    background:
        linear-gradient(
            90deg,
            #ffffff,
            #46cce9
        );
}

.cfcc-prayer-request p {
    max-width: 680px;

    margin: 0 auto 25px;

    color: rgba(255,255,255,.86);
}


/* =========================================================
   BUTTON
========================================================= */

.cfcc-prayer-button {
    display: inline-flex;

    align-items: center;

    gap: 13px;

    padding: 15px 27px;

    border-radius: 50px;

    background: #ffffff;

    color: #17265a;

    text-decoration: none;

    font-size: 14px;

    font-weight: 800;

    transition: .3s ease;
}

.cfcc-prayer-button span {
    font-size: 19px;

    transition: .3s ease;
}

.cfcc-prayer-button:hover {
    transform: translateY(-3px);

    color: #079bc7;

    box-shadow:
        0 12px 30px rgba(0,0,0,.15);
}

.cfcc-prayer-button:hover span {
    transform: translateX(5px);
}


/* =========================================================
   SERVICES
========================================================= */

.cfcc-prayer-services {
    background: #f7fafc;
}

.cfcc-prayer-services-grid {
    display: grid;

    grid-template-columns: repeat(3, 1fr);

    gap: 22px;
}

.cfcc-prayer-service {
    padding: 34px 30px;

    border: 1px solid #e5ebf0;

    border-radius: 15px;

    background: #ffffff;

    transition: .3s ease;
}

.cfcc-prayer-service:hover {
    transform: translateY(-5px);

    box-shadow:
        0 18px 40px rgba(23,38,90,.08);
}

.cfcc-prayer-service-number {
    color: #13a7d5;

    font-size: 12px;

    font-weight: 800;

    letter-spacing: 2px;
}

.cfcc-prayer-service h3 {
    margin: 20px 0 12px;

    color: #17265a;

    font-size: 21px;
}

.cfcc-prayer-service p {
    margin: 0 0 15px;

    font-size: 14px;
}

.cfcc-prayer-service a {
    color: #119dc9;

    text-decoration: none;

    font-size: 13px;

    font-weight: 800;
}


/* =========================================================
   SCRIPTURE
========================================================= */

.cfcc-prayer-scripture {
    padding: 85px 0;

    background: #ffffff;
}

.cfcc-prayer-scripture-inner {
    max-width: 850px;

    margin: auto;

    text-align: center;
}

.cfcc-prayer-scripture-mark {
    color: #13a7d5;

    font-family: Georgia, serif;

    font-size: 75px;

    line-height: .5;
}

.cfcc-prayer-scripture-inner p {
    margin: 20px 0 14px;

    color: #27345c;

    font-family: Georgia, serif;

    font-size: 25px;

    line-height: 1.7;
}

.cfcc-prayer-scripture-inner span {
    color: #119dc9;

    font-size: 13px;

    font-weight: 800;
}


/* =========================================================
   FINAL CTA
========================================================= */

.cfcc-prayer-final {
    padding: 90px 0;

    background:
        linear-gradient(
            135deg,
            #111f55,
            #164477
        );
}

.cfcc-prayer-final-inner {
    max-width: 800px;

    margin: auto;

    text-align: center;
}

.cfcc-prayer-final .cfcc-prayer-label {
    color: #70e0f7;
}

.cfcc-prayer-final h2 {
    color: #ffffff;
}

.cfcc-prayer-final h2 span {
    color: #72e3fa;
}

.cfcc-prayer-final p {
    max-width: 650px;

    margin: 20px auto 30px;

    color: rgba(255,255,255,.84);
}

.cfcc-prayer-final-buttons {
    display: flex;

    justify-content: center;

    flex-wrap: wrap;

    gap: 14px;
}

.cfcc-prayer-button.outline {
    border: 1px solid rgba(255,255,255,.45);

    background: transparent;

    color: #ffffff;
}

.cfcc-prayer-button.outline:hover {
    background: #ffffff;

    color: #17265a;
}


/* =========================================================
   RESPONSIVE
========================================================= */

@media (max-width: 950px) {

    .cfcc-prayer-intro-grid {
        grid-template-columns: 1fr;

        gap: 50px;
    }

    .cfcc-prayer-image {
        max-width: 650px;

        width: 100%;

        margin: auto;
    }

    .cfcc-prayer-services-grid {
        grid-template-columns: 1fr 1fr;
    }

}


@media (max-width: 700px) {

    .cfcc-prayer-container {
        width: min(100% - 28px, 1180px);
    }

    .cfcc-prayer-section {
        padding: 60px 0;
    }

    .cfcc-prayer-banner {
        min-height: 340px;
    }

    .cfcc-prayer-banner-content h1 {
        font-size: 46px;
    }

    .cfcc-prayer-banner-content p {
        font-size: 15px;
    }

    .cfcc-prayer-contact-grid,
    .cfcc-prayer-services-grid {
        grid-template-columns: 1fr;
    }

    .cfcc-prayer-contact-card {
        padding: 25px;
    }

    .cfcc-prayer-request-inner {
        padding: 42px 25px;
    }

    .cfcc-prayer-image-frame img {
        height: 400px;
    }

    .cfcc-prayer-scripture-inner p {
        font-size: 20px;
    }

}


@media (max-width: 480px) {

    .cfcc-prayer-section {
        padding: 50px 0;
    }

    .cfcc-prayer-banner-content h1 {
        font-size: 40px;
    }

    .cfcc-prayer-page h2 {
        font-size: 32px;
    }

    .cfcc-prayer-contact-card {
        gap: 15px;
    }

    .cfcc-prayer-contact-icon {
        flex-basis: 45px;

        width: 45px;
        height: 45px;
    }

    .cfcc-prayer-image-frame img {
        height: 330px;
    }

    .cfcc-prayer-button {
        width: 100%;

        justify-content: center;
    }

}





/* =========================================================
   CHRIST FAITH CITY CENTRE
   KINGDOM INVESTMENT
========================================================= */

.cfcc-kingdom-page {
    overflow: hidden;
    background: #ffffff;
    color: #252c3a;
}

.cfcc-kingdom-container {
    width: min(1180px, calc(100% - 40px));
    margin: 0 auto;
}

.cfcc-kingdom-section {
    padding: 95px 0;
}

.cfcc-kingdom-page p {
    color: #657084;
    font-size: 16px;
    line-height: 1.9;
}

.cfcc-kingdom-label {
    display: inline-block;
    margin-bottom: 14px;

    color: #119dc9;

    font-size: 13px;
    font-weight: 800;

    letter-spacing: 2px;
    text-transform: uppercase;
}

.cfcc-kingdom-page h2 {
    margin: 0;

    color: #17265a;

    font-size: clamp(34px, 4vw, 50px);
    line-height: 1.15;

    font-weight: 800;
}

.cfcc-kingdom-page h2 span {
    color: #12a6d4;
}


/* =========================================================
   BANNER
========================================================= */

.cfcc-kingdom-banner {
    position: relative;

    min-height: 410px;

    display: flex;
    align-items: center;
    justify-content: center;

    overflow: hidden;

    background:
        linear-gradient(
            135deg,
            #111f55 0%,
            #17366d 50%,
            #079bc5 100%
        );
}

.cfcc-kingdom-banner::before {
    content: "";

    position: absolute;

    width: 620px;
    height: 620px;

    top: -310px;
    right: -120px;

    border: 1px solid rgba(255,255,255,.12);

    border-radius: 50%;
}

.cfcc-kingdom-banner::after {
    content: "";

    position: absolute;

    width: 460px;
    height: 460px;

    bottom: -260px;
    left: -100px;

    border: 1px solid rgba(255,255,255,.10);

    border-radius: 50%;
}

.cfcc-kingdom-banner-overlay {
    position: absolute;
    inset: 0;

    background:
        radial-gradient(
            circle at center,
            rgba(255,255,255,.08),
            transparent 55%
        );
}

.cfcc-kingdom-banner-content {
    position: relative;
    z-index: 2;

    width: min(900px, 90%);

    text-align: center;
}

.cfcc-kingdom-banner-content > span {
    display: block;

    margin-bottom: 15px;

    color: #78e3fa;

    font-size: 13px;
    font-weight: 800;

    letter-spacing: 3px;
}

.cfcc-kingdom-banner-content h1 {
    margin: 0;

    color: #ffffff;

    font-size: clamp(43px, 6vw, 72px);

    line-height: 1;

    font-weight: 800;
}

.cfcc-kingdom-banner-line {
    width: 70px;
    height: 3px;

    margin: 25px auto 20px;

    border-radius: 10px;

    background: #42c9e9;
}

.cfcc-kingdom-banner-content p {
    margin: 0;

    color: rgba(255,255,255,.86);

    font-size: 17px;
}


/* =========================================================
   COMMON TITLE LINE
========================================================= */

.cfcc-kingdom-title-line {
    width: 65px;
    height: 3px;

    margin: 22px 0 30px;

    border-radius: 10px;

    background:
        linear-gradient(
            90deg,
            #17265a,
            #13a7d5
        );
}

.cfcc-kingdom-title-line.center {
    margin-left: auto;
    margin-right: auto;
}


/* =========================================================
   INTRO
========================================================= */

.cfcc-kingdom-intro-grid {
    display: grid;

    grid-template-columns: 1.1fr .9fr;

    align-items: center;

    gap: 80px;
}

.cfcc-kingdom-intro-content p {
    margin: 0 0 18px;
}

.cfcc-kingdom-highlight {
    display: flex;

    align-items: center;

    gap: 18px;

    margin-top: 30px;

    padding: 22px 24px;

    border-left: 4px solid #12a6d4;

    border-radius: 8px;

    background: #f2fbfd;
}

.cfcc-kingdom-highlight-icon {
    flex: 0 0 44px;

    width: 44px;
    height: 44px;

    display: flex;

    align-items: center;
    justify-content: center;

    border-radius: 50%;

    background: #17265a;

    color: #ffffff;

    font-size: 20px;
}

.cfcc-kingdom-highlight strong {
    display: block;

    color: #17265a;

    font-size: 14px;

    margin-bottom: 5px;
}

.cfcc-kingdom-highlight p {
    margin: 0;

    font-size: 14px;

    line-height: 1.7;
}


/* =========================================================
   VISUAL
========================================================= */

.cfcc-kingdom-visual {
    position: relative;

    min-height: 470px;

    display: flex;

    align-items: center;
    justify-content: center;

    overflow: hidden;

    border-radius: 25px;

    background:
        linear-gradient(
            145deg,
            #17265a,
            #079bc7
        );

    box-shadow:
        0 25px 60px rgba(23,38,90,.15);
}

.cfcc-kingdom-visual-card {
    position: relative;
    z-index: 3;

    width: 260px;

    padding: 45px 30px;

    text-align: center;

    border:
        1px solid rgba(255,255,255,.2);

    border-radius: 20px;

    background: rgba(255,255,255,.09);

    backdrop-filter: blur(10px);

    box-shadow:
        0 20px 50px rgba(0,0,0,.12);
}

.cfcc-kingdom-cross {
    margin-bottom: 20px;

    color: #ffffff;

    font-family: Georgia, serif;

    font-size: 70px;
}

.cfcc-kingdom-visual-card span {
    display: block;

    color: #9defff;

    font-size: 12px;

    letter-spacing: 3px;

    font-weight: 800;
}

.cfcc-kingdom-visual-card strong {
    display: block;

    margin: 5px 0 12px;

    color: #ffffff;

    font-size: 28px;
}

.cfcc-kingdom-visual-card small {
    color: rgba(255,255,255,.75);

    font-size: 13px;
}

.cfcc-kingdom-circle {
    position: absolute;

    border: 1px solid rgba(255,255,255,.12);

    border-radius: 50%;
}

.cfcc-kingdom-circle.circle-one {
    width: 480px;
    height: 480px;
}

.cfcc-kingdom-circle.circle-two {
    width: 330px;
    height: 330px;
}


/* =========================================================
   HEADING
========================================================= */

.cfcc-kingdom-heading {
    max-width: 850px;

    margin: 0 auto 50px;

    text-align: center;
}

.cfcc-kingdom-heading p {
    max-width: 720px;

    margin: 0 auto;
}


/* =========================================================
   PURPOSE
========================================================= */

.cfcc-kingdom-purpose {
    background: #f7fafc;
}

.cfcc-kingdom-purpose-grid {
    display: grid;

    grid-template-columns: repeat(3, 1fr);

    gap: 22px;
}

.cfcc-kingdom-purpose-card {
    padding: 35px 30px;

    border: 1px solid #e5ebf0;

    border-radius: 15px;

    background: #ffffff;

    transition: .3s ease;
}

.cfcc-kingdom-purpose-card:hover {
    transform: translateY(-6px);

    box-shadow:
        0 18px 40px rgba(23,38,90,.08);
}

.cfcc-kingdom-purpose-card > span {
    color: #13a7d5;

    font-size: 12px;

    letter-spacing: 2px;

    font-weight: 800;
}

.cfcc-kingdom-purpose-card h3 {
    margin: 20px 0 12px;

    color: #17265a;

    font-size: 22px;
}

.cfcc-kingdom-purpose-card p {
    margin: 0;

    font-size: 14px;
}


/* =========================================================
   GOSPEL CITY
========================================================= */

.cfcc-kingdom-city {
    background: #ffffff;
}

.cfcc-kingdom-city-grid {
    display: grid;

    grid-template-columns: .95fr 1.05fr;

    gap: 75px;

    align-items: center;
}

.cfcc-kingdom-city-content p {
    margin-bottom: 18px;
}

.cfcc-kingdom-city-features {
    display: grid;

    grid-template-columns: repeat(2, 1fr);

    gap: 18px;
}

.cfcc-kingdom-city-feature {
    display: flex;

    gap: 16px;

    padding: 25px;

    border: 1px solid #e5ebf0;

    border-radius: 13px;

    background: #ffffff;

    box-shadow:
        0 8px 25px rgba(23,38,90,.04);
}

.cfcc-kingdom-city-feature .icon {
    flex: 0 0 45px;

    width: 45px;
    height: 45px;

    display: flex;

    align-items: center;
    justify-content: center;

    border-radius: 10px;

    background: #eefaff;

    color: #119dc9;

    font-size: 20px;
}

.cfcc-kingdom-city-feature h3 {
    margin: 0 0 6px;

    color: #17265a;

    font-size: 17px;
}

.cfcc-kingdom-city-feature p {
    margin: 0;

    font-size: 13px;

    line-height: 1.7;
}


/* =========================================================
   PLAN
========================================================= */

.cfcc-kingdom-plan {
    background: #f7fafc;
}

.cfcc-kingdom-plan-grid {
    display: grid;

    grid-template-columns: repeat(3, 1fr);

    gap: 20px;
}

.cfcc-kingdom-plan-card {
    position: relative;

    padding: 32px 28px;

    border: 1px solid #e4ebf0;

    border-radius: 14px;

    background: #ffffff;

    transition: .3s ease;
}

.cfcc-kingdom-plan-card:hover {
    transform: translateY(-5px);

    box-shadow:
        0 18px 40px rgba(23,38,90,.08);
}

.cfcc-kingdom-plan-card .number {
    color: #13a7d5;

    font-size: 12px;

    font-weight: 800;

    letter-spacing: 2px;
}

.cfcc-kingdom-plan-card h3 {
    margin: 18px 0 10px;

    color: #17265a;

    font-size: 20px;
}

.cfcc-kingdom-plan-card p {
    margin: 0 0 15px;

    font-size: 14px;
}

.cfcc-kingdom-plan-card small {
    color: #119dc9;

    font-size: 11px;

    font-weight: 800;
}


/* =========================================================
   BUSINESS
========================================================= */

.cfcc-kingdom-business {
    background: #ffffff;
}

.cfcc-kingdom-business-grid {
    display: grid;

    grid-template-columns: .8fr 1.2fr;

    gap: 80px;
}

.cfcc-kingdom-business-grid p {
    margin: 0 0 18px;
}


/* =========================================================
   SCHOOLS
========================================================= */

.cfcc-kingdom-schools {
    background: #f7fafc;
}

.cfcc-kingdom-school-box {
    display: grid;

    grid-template-columns: 100px 1fr;

    gap: 35px;

    padding: 55px;

    border-radius: 20px;

    background: #ffffff;

    box-shadow:
        0 15px 45px rgba(23,38,90,.06);
}

.cfcc-kingdom-school-icon {
    width: 80px;
    height: 80px;

    display: flex;

    align-items: center;
    justify-content: center;

    border-radius: 20px;

    background:
        linear-gradient(
            135deg,
            #17265a,
            #079bc7
        );

    color: #ffffff;

    font-size: 28px;
}


/* =========================================================
   GOSPEL FUN
========================================================= */

.cfcc-kingdom-fun {
    background: #ffffff;
}

.cfcc-kingdom-fun-grid {
    display: grid;

    grid-template-columns: repeat(4, 1fr);

    gap: 18px;
}

.cfcc-kingdom-fun-grid > div {
    padding: 30px 25px;

    border: 1px solid #e5ebf0;

    border-radius: 13px;

    background: #ffffff;
}

.cfcc-kingdom-fun-grid strong {
    color: #17265a;

    font-size: 17px;
}

.cfcc-kingdom-fun-grid p {
    margin: 10px 0 0;

    font-size: 13px;
}


/* =========================================================
   PARTNERSHIP
========================================================= */

.cfcc-kingdom-partnership {
    background: #f7fafc;
}

.cfcc-kingdom-partnership-inner {
    max-width: 900px;

    margin: auto;

    text-align: center;
}

.cfcc-kingdom-partnership-inner > p {
    max-width: 800px;

    margin-left: auto;
    margin-right: auto;
}

.cfcc-kingdom-partner-quote {
    margin-top: 35px;

    padding: 35px;

    border-radius: 16px;

    background:
        linear-gradient(
            135deg,
            #17265a,
            #079bc7
        );
}

.cfcc-kingdom-partner-quote .quote-mark {
    color: #78e3fa;

    font-family: Georgia, serif;

    font-size: 65px;

    line-height: .5;
}

.cfcc-kingdom-partner-quote p {
    margin: 20px 0 10px;

    color: #ffffff;

    font-family: Georgia, serif;

    font-size: 20px;
}

.cfcc-kingdom-partner-quote strong {
    color: #9defff;

    font-size: 12px;
}


/* =========================================================
   PRIMARY FOCUS
========================================================= */

.cfcc-kingdom-focus {
    background: #ffffff;
}

.cfcc-kingdom-focus-box {
    max-width: 900px;

    margin: 0 auto 30px;

    display: flex;

    align-items: center;

    gap: 25px;

    padding: 35px;

    border-radius: 17px;

    background:
        linear-gradient(
            135deg,
            #17265a,
            #079bc7
        );
}

.cfcc-kingdom-focus-symbol {
    flex: 0 0 65px;

    width: 65px;
    height: 65px;

    display: flex;

    align-items: center;
    justify-content: center;

    border-radius: 50%;

    background: rgba(255,255,255,.12);

    color: #ffffff;

    font-size: 28px;
}

.cfcc-kingdom-focus-box h3 {
    margin: 0 0 8px;

    color: #ffffff;

    font-size: 23px;
}

.cfcc-kingdom-focus-box p {
    margin: 0 0 7px;

    color: rgba(255,255,255,.84);
}

.cfcc-kingdom-focus-box span {
    color: #9defff;

    font-size: 12px;

    font-weight: 800;
}

.cfcc-kingdom-scripture {
    max-width: 850px;

    margin: auto;

    padding: 35px;

    text-align: center;

    border: 1px solid #e5ebf0;

    border-radius: 15px;

    background: #f8fafc;
}

.cfcc-kingdom-scripture .scripture-mark {
    color: #13a7d5;

    font-family: Georgia, serif;

    font-size: 65px;

    line-height: .5;
}

.cfcc-kingdom-scripture p {
    margin: 20px 0 10px;

    color: #27345c;

    font-family: Georgia, serif;

    font-size: 19px;
}

.cfcc-kingdom-scripture strong {
    color: #119dc9;

    font-size: 12px;
}


/* =========================================================
   VISION
========================================================= */

.cfcc-kingdom-vision {
    background:
        linear-gradient(
            135deg,
            #111f55,
            #164477
        );
}

.cfcc-kingdom-vision-inner {
    max-width: 900px;

    margin: auto;

    text-align: center;
}

.cfcc-kingdom-vision .cfcc-kingdom-label {
    color: #70e0f7;
}

.cfcc-kingdom-vision h2 {
    color: #ffffff;
}

.cfcc-kingdom-vision h2 span {
    color: #70e0f7;
}

.cfcc-kingdom-vision .cfcc-kingdom-title-line {
    background:
        linear-gradient(
            90deg,
            #ffffff,
            #46cce9
        );
}

.cfcc-kingdom-vision-inner > p {
    max-width: 800px;

    margin-left: auto;
    margin-right: auto;

    color: rgba(255,255,255,.84);
}

.cfcc-kingdom-vision-points {
    display: grid;

    grid-template-columns: repeat(4, 1fr);

    gap: 15px;

    margin-top: 35px;
}

.cfcc-kingdom-vision-points > div {
    padding: 23px 15px;

    border:
        1px solid rgba(255,255,255,.15);

    border-radius: 12px;

    background: rgba(255,255,255,.06);
}

.cfcc-kingdom-vision-points span {
    display: block;

    margin-bottom: 7px;

    color: #70e0f7;

    font-size: 11px;

    font-weight: 800;
}

.cfcc-kingdom-vision-points strong {
    color: #ffffff;

    font-size: 15px;
}


/* =========================================================
   FINAL
========================================================= */

.cfcc-kingdom-final {
    padding: 90px 0;

    background: #ffffff;
}

.cfcc-kingdom-final-inner {
    max-width: 800px;

    margin: auto;

    text-align: center;
}

.cfcc-kingdom-final-inner p {
    max-width: 700px;

    margin: 20px auto 30px;
}

.cfcc-kingdom-final-buttons {
    display: flex;

    justify-content: center;

    flex-wrap: wrap;

    gap: 14px;
}

.cfcc-kingdom-button {
    display: inline-flex;

    align-items: center;

    gap: 13px;

    padding: 15px 28px;

    border-radius: 50px;

    background:
        linear-gradient(
            135deg,
            #17265a,
            #079bc7
        );

    color: #ffffff;

    text-decoration: none;

    font-size: 14px;

    font-weight: 800;

    transition: .3s ease;
}

.cfcc-kingdom-button span {
    font-size: 19px;

    transition: .3s ease;
}

.cfcc-kingdom-button:hover {
    transform: translateY(-3px);

    box-shadow:
        0 12px 30px rgba(23,38,90,.18);
}

.cfcc-kingdom-button:hover span {
    transform: translateX(5px);
}

.cfcc-kingdom-button.outline {
    background: transparent;

    border: 1px solid #17265a;

    color: #17265a;
}

.cfcc-kingdom-button.outline:hover {
    background: #17265a;

    color: #ffffff;
}


/* =========================================================
   RESPONSIVE
========================================================= */

@media (max-width: 1000px) {

    .cfcc-kingdom-plan-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .cfcc-kingdom-fun-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .cfcc-kingdom-vision-points {
        grid-template-columns: repeat(2, 1fr);
    }

}


@media (max-width: 900px) {

    .cfcc-kingdom-section {
        padding: 70px 0;
    }

    .cfcc-kingdom-intro-grid,
    .cfcc-kingdom-city-grid,
    .cfcc-kingdom-business-grid {
        grid-template-columns: 1fr;

        gap: 50px;
    }

    .cfcc-kingdom-purpose-grid {
        grid-template-columns: 1fr;
    }

}


@media (max-width: 700px) {

    .cfcc-kingdom-container {
        width: min(100% - 28px, 1180px);
    }

    .cfcc-kingdom-section {
        padding: 60px 0;
    }

    .cfcc-kingdom-banner {
        min-height: 340px;
    }

    .cfcc-kingdom-banner-content h1 {
        font-size: 43px;
    }

    .cfcc-kingdom-city-features,
    .cfcc-kingdom-plan-grid,
    .cfcc-kingdom-fun-grid {
        grid-template-columns: 1fr;
    }

    .cfcc-kingdom-school-box {
        grid-template-columns: 1fr;

        padding: 35px 25px;
    }

    .cfcc-kingdom-school-icon {
        width: 65px;
        height: 65px;
    }

    .cfcc-kingdom-focus-box {
        align-items: flex-start;
    }

}


@media (max-width: 480px) {

    .cfcc-kingdom-section {
        padding: 50px 0;
    }

    .cfcc-kingdom-page h2 {
        font-size: 32px;
    }

    .cfcc-kingdom-banner-content h1 {
        font-size: 38px;
    }

    .cfcc-kingdom-highlight {
        align-items: flex-start;
    }

    .cfcc-kingdom-visual {
        min-height: 390px;
    }

    .cfcc-kingdom-visual-card {
        width: 220px;
    }

    .cfcc-kingdom-vision-points {
        grid-template-columns: 1fr;
    }

    .cfcc-kingdom-focus-box {
        flex-direction: column;
    }

    .cfcc-kingdom-final-buttons {
        flex-direction: column;
    }

    .cfcc-kingdom-button {
        width: 100%;

        justify-content: center;
    }

}






/* =========================================================
   CHRIST FAITH CITY CENTRE
   FAITH TALK PAGE
========================================================= */

.cfcc-faith-page {
    overflow: hidden;
    background: #ffffff;
    color: #252c3a;
}

.cfcc-faith-container {
    width: min(1180px, calc(100% - 40px));
    margin: 0 auto;
}

.cfcc-faith-section {
    padding: 95px 0;
}

.cfcc-faith-page p {
    color: #657084;
    font-size: 16px;
    line-height: 1.9;
}

.cfcc-faith-label {
    display: inline-block;
    margin-bottom: 14px;

    color: #119dc9;

    font-size: 13px;
    font-weight: 800;

    letter-spacing: 2px;
    text-transform: uppercase;
}

.cfcc-faith-page h2 {
    margin: 0;

    color: #17265a;

    font-size: clamp(34px, 4vw, 50px);

    line-height: 1.15;

    font-weight: 800;
}

.cfcc-faith-page h2 span {
    color: #12a6d4;
}


/* =========================================================
   BANNER
========================================================= */

.cfcc-faith-banner {
    position: relative;

    min-height: 410px;

    display: flex;

    align-items: center;
    justify-content: center;

    overflow: hidden;

    background:
        linear-gradient(
            135deg,
            #111f55,
            #17366d 50%,
            #079bc5
        );
}

.cfcc-faith-banner::before {
    content: "";

    position: absolute;

    width: 620px;
    height: 620px;

    top: -310px;
    right: -120px;

    border: 1px solid rgba(255,255,255,.12);

    border-radius: 50%;
}

.cfcc-faith-banner::after {
    content: "";

    position: absolute;

    width: 460px;
    height: 460px;

    bottom: -260px;
    left: -100px;

    border: 1px solid rgba(255,255,255,.10);

    border-radius: 50%;
}

.cfcc-faith-banner-overlay {
    position: absolute;
    inset: 0;

    background:
        radial-gradient(
            circle at center,
            rgba(255,255,255,.08),
            transparent 55%
        );
}

.cfcc-faith-banner-content {
    position: relative;

    z-index: 2;

    width: min(900px, 90%);

    text-align: center;
}

.cfcc-faith-banner-content > span {
    display: block;

    margin-bottom: 15px;

    color: #78e3fa;

    font-size: 13px;

    font-weight: 800;

    letter-spacing: 3px;
}

.cfcc-faith-banner-content h1 {
    margin: 0;

    color: #ffffff;

    font-size: clamp(48px, 6vw, 76px);

    line-height: 1;

    font-weight: 800;
}

.cfcc-faith-banner-line {
    width: 70px;
    height: 3px;

    margin: 25px auto 20px;

    border-radius: 10px;

    background: #42c9e9;
}

.cfcc-faith-banner-content p {
    margin: 0;

    color: rgba(255,255,255,.86);

    font-size: 17px;
}


/* =========================================================
   TITLE LINE
========================================================= */

.cfcc-faith-title-line {
    width: 65px;
    height: 3px;

    margin: 22px 0 30px;

    border-radius: 10px;

    background:
        linear-gradient(
            90deg,
            #17265a,
            #13a7d5
        );
}

.cfcc-faith-title-line.center {
    margin-left: auto;
    margin-right: auto;
}


/* =========================================================
   INTRO
========================================================= */

.cfcc-faith-intro-grid {
    display: grid;

    grid-template-columns: 1.1fr .9fr;

    align-items: center;

    gap: 80px;
}

.cfcc-faith-intro-content p {
    margin: 0 0 18px;
}

.cfcc-faith-highlight {
    display: flex;

    align-items: center;

    gap: 18px;

    margin-top: 30px;

    padding: 22px 24px;

    border-left: 4px solid #12a6d4;

    border-radius: 8px;

    background: #f2fbfd;
}

.cfcc-faith-highlight-icon {
    flex: 0 0 44px;

    width: 44px;
    height: 44px;

    display: flex;

    align-items: center;
    justify-content: center;

    border-radius: 50%;

    background: #17265a;

    color: #ffffff;

    font-size: 20px;
}

.cfcc-faith-highlight strong {
    display: block;

    margin-bottom: 5px;

    color: #17265a;

    font-size: 14px;
}

.cfcc-faith-highlight p {
    margin: 0;

    font-size: 14px;

    line-height: 1.7;
}


/* =========================================================
   VISUAL
========================================================= */

.cfcc-faith-visual {
    position: relative;

    min-height: 470px;

    display: flex;

    align-items: center;
    justify-content: center;

    overflow: hidden;

    border-radius: 25px;

    background:
        linear-gradient(
            145deg,
            #17265a,
            #079bc7
        );

    box-shadow:
        0 25px 60px rgba(23,38,90,.15);
}

.cfcc-faith-visual-inner {
    position: relative;

    z-index: 3;

    width: 260px;

    padding: 45px 30px;

    text-align: center;

    border:
        1px solid rgba(255,255,255,.2);

    border-radius: 20px;

    background: rgba(255,255,255,.09);

    backdrop-filter: blur(10px);
}

.cfcc-faith-cross {
    margin-bottom: 20px;

    color: #ffffff;

    font-family: Georgia, serif;

    font-size: 70px;
}

.cfcc-faith-visual-inner > span {
    display: block;

    color: #9defff;

    font-size: 12px;

    letter-spacing: 3px;

    font-weight: 800;
}

.cfcc-faith-visual-inner strong {
    display: block;

    margin: 5px 0 12px;

    color: #ffffff;

    font-size: 30px;
}

.cfcc-faith-visual-inner small {
    color: rgba(255,255,255,.75);

    font-size: 13px;
}

.cfcc-faith-circle {
    position: absolute;

    border: 1px solid rgba(255,255,255,.12);

    border-radius: 50%;
}

.cfcc-faith-circle.circle-one {
    width: 480px;
    height: 480px;
}

.cfcc-faith-circle.circle-two {
    width: 330px;
    height: 330px;
}


/* =========================================================
   HEADING
========================================================= */

.cfcc-faith-heading {
    max-width: 850px;

    margin: 0 auto;

    text-align: center;
}

.cfcc-faith-heading p {
    max-width: 720px;

    margin: 0 auto;
}


/* =========================================================
   SCRIPTURE INTRO
========================================================= */

.cfcc-faith-scripture-intro {
    padding: 80px 0 40px;

    background: #f7fafc;
}


/* =========================================================
   TESTIMONY ONE
========================================================= */

.cfcc-faith-testimony {
    background: #f7fafc;

    padding-top: 55px;
}

.cfcc-faith-testimony-grid {
    display: grid;

    grid-template-columns: 120px 1fr;

    gap: 35px;

    max-width: 1000px;

    margin: auto;
}

.cfcc-faith-testimony-number {
    color: #13a7d5;

    font-size: 72px;

    line-height: 1;

    font-weight: 800;

    opacity: .25;
}

.cfcc-faith-testimony-content > p {
    margin-bottom: 20px;
}

.cfcc-faith-reference {
    display: inline-block;

    margin: 5px 0 25px;

    padding: 9px 15px;

    border-radius: 50px;

    background: #17265a;

    color: #ffffff;

    font-size: 12px;

    font-weight: 800;

    letter-spacing: .5px;
}

.cfcc-faith-quote {
    position: relative;

    margin: 20px 0 30px;

    padding: 35px 40px;

    border-radius: 15px;

    background: #ffffff;

    box-shadow:
        0 12px 35px rgba(23,38,90,.07);
}

.cfcc-faith-quote .quote-mark {
    color: #13a7d5;

    font-family: Georgia, serif;

    font-size: 60px;

    line-height: .5;
}

.cfcc-faith-quote p {
    margin: 20px 0 10px;

    color: #27345c;

    font-family: Georgia, serif;

    font-size: 20px;

    line-height: 1.7;
}

.cfcc-faith-quote strong {
    color: #119dc9;

    font-size: 12px;
}


/* =========================================================
   SCRIPTURE BOX
========================================================= */

.cfcc-faith-scripture-box {
    padding: 75px 0;

    background: #ffffff;
}

.cfcc-faith-large-scripture {
    max-width: 850px;

    margin: auto;

    padding: 45px;

    text-align: center;

    border-radius: 18px;

    background:
        linear-gradient(
            135deg,
            #17265a,
            #079bc7
        );

    box-shadow:
        0 20px 50px rgba(23,38,90,.13);
}

.cfcc-faith-large-scripture > span {
    color: #9defff;

    font-size: 12px;

    font-weight: 800;

    letter-spacing: 2px;
}

.cfcc-faith-large-scripture p {
    margin: 20px 0 15px;

    color: #ffffff;

    font-family: Georgia, serif;

    font-size: 23px;

    line-height: 1.7;
}

.cfcc-faith-large-scripture small {
    color: rgba(255,255,255,.7);
}


/* =========================================================
   REFLECTION
========================================================= */

.cfcc-faith-reflection {
    background: #ffffff;
}

.cfcc-faith-reflection-inner {
    max-width: 850px;

    margin: auto;

    text-align: center;
}


/* =========================================================
   PETER SECTION
========================================================= */

.cfcc-faith-peter {
    background: #f7fafc;
}

.cfcc-faith-peter-grid {
    display: grid;

    grid-template-columns: 1.1fr .9fr;

    align-items: center;

    gap: 70px;
}

.cfcc-faith-peter-content p {
    margin-bottom: 18px;
}

.cfcc-faith-peter-card {
    padding: 45px 35px;

    text-align: center;

    border-radius: 20px;

    background:
        linear-gradient(
            145deg,
            #17265a,
            #079bc7
        );

    box-shadow:
        0 25px 60px rgba(23,38,90,.14);
}

.cfcc-faith-peter-icon {
    width: 65px;
    height: 65px;

    display: flex;

    align-items: center;
    justify-content: center;

    margin: 0 auto 20px;

    border-radius: 50%;

    background: rgba(255,255,255,.12);

    color: #ffffff;

    font-size: 25px;
}

.cfcc-faith-peter-card > span {
    color: #9defff;

    font-size: 11px;

    letter-spacing: 2px;

    font-weight: 800;
}

.cfcc-faith-peter-card h3 {
    margin: 10px 0;

    color: #ffffff;

    font-size: 28px;
}

.cfcc-faith-peter-card p {
    color: rgba(255,255,255,.82);

    font-size: 14px;
}

.cfcc-faith-peter-line {
    width: 55px;
    height: 2px;

    margin: 20px auto;

    background: #62dbf3;
}

.cfcc-faith-peter-card small {
    color: #ffffff;

    font-size: 12px;
}


/* =========================================================
   PETER SCRIPTURE
========================================================= */

.cfcc-faith-peter-scripture {
    padding: 75px 0;

    background: #ffffff;
}

.cfcc-faith-peter-scripture-inner {
    max-width: 850px;

    margin: auto;

    text-align: center;
}

.cfcc-faith-peter-scripture-inner .quote-mark {
    color: #13a7d5;

    font-family: Georgia, serif;

    font-size: 70px;

    line-height: .5;
}

.cfcc-faith-peter-scripture-inner p {
    margin: 20px 0 12px;

    color: #27345c;

    font-family: Georgia, serif;

    font-size: 24px;
}

.cfcc-faith-peter-scripture-inner span {
    color: #119dc9;

    font-size: 12px;

    font-weight: 800;
}


/* =========================================================
   MESSAGE
========================================================= */

.cfcc-faith-message {
    background: #f7fafc;
}

.cfcc-faith-message-box {
    max-width: 900px;

    margin: auto;

    text-align: center;
}

.cfcc-faith-message-box p {
    max-width: 780px;

    margin-left: auto;
    margin-right: auto;
}


/* =========================================================
   DECLARATION
========================================================= */

.cfcc-faith-declaration {
    padding: 90px 0;

    background:
        linear-gradient(
            135deg,
            #111f55,
            #164477
        );
}

.cfcc-faith-declaration-inner {
    max-width: 850px;

    margin: auto;

    text-align: center;
}

.cfcc-faith-declaration-symbol {
    width: 65px;
    height: 65px;

    display: flex;

    align-items: center;
    justify-content: center;

    margin: 0 auto 20px;

    border-radius: 50%;

    background: rgba(255,255,255,.1);

    color: #ffffff;

    font-size: 25px;
}

.cfcc-faith-declaration .cfcc-faith-label {
    color: #70e0f7;
}

.cfcc-faith-declaration h2 {
    color: #ffffff;
}

.cfcc-faith-declaration h2 span {
    color: #70e0f7;
}

.cfcc-faith-declaration .cfcc-faith-title-line {
    background:
        linear-gradient(
            90deg,
            #ffffff,
            #46cce9
        );
}

.cfcc-faith-declaration p {
    max-width: 700px;

    margin: 0 auto 25px;

    color: rgba(255,255,255,.86);

    font-size: 18px;
}

.cfcc-faith-amen {
    display: inline-block;

    padding: 12px 25px;

    border: 1px solid rgba(255,255,255,.3);

    border-radius: 50px;

    color: #ffffff;

    font-size: 13px;

    font-weight: 800;

    letter-spacing: 3px;
}


/* =========================================================
   FINAL
========================================================= */

.cfcc-faith-final {
    padding: 90px 0;

    background: #ffffff;
}

.cfcc-faith-final-inner {
    max-width: 800px;

    margin: auto;

    text-align: center;
}

.cfcc-faith-final-inner p {
    max-width: 680px;

    margin: 20px auto 30px;
}

.cfcc-faith-button {
    display: inline-flex;

    align-items: center;

    gap: 12px;

    padding: 15px 28px;

    border-radius: 50px;

    background:
        linear-gradient(
            135deg,
            #17265a,
            #079bc7
        );

    color: #ffffff;

    text-decoration: none;

    font-size: 14px;

    font-weight: 800;

    transition: .3s ease;
}

.cfcc-faith-button span {
    font-size: 19px;

    transition: .3s ease;
}

.cfcc-faith-button:hover {
    transform: translateY(-3px);

    box-shadow:
        0 12px 30px rgba(23,38,90,.18);
}

.cfcc-faith-button:hover span {
    transform: translateX(5px);
}


/* =========================================================
   RESPONSIVE
========================================================= */

@media (max-width: 900px) {

    .cfcc-faith-intro-grid,
    .cfcc-faith-peter-grid {
        grid-template-columns: 1fr;

        gap: 50px;
    }

    .cfcc-faith-testimony-grid {
        grid-template-columns: 80px 1fr;
    }

}


@media (max-width: 700px) {

    .cfcc-faith-container {
        width: min(100% - 28px, 1180px);
    }

    .cfcc-faith-section {
        padding: 65px 0;
    }

    .cfcc-faith-banner {
        min-height: 340px;
    }

    .cfcc-faith-banner-content h1 {
        font-size: 44px;
    }

    .cfcc-faith-testimony-grid {
        grid-template-columns: 1fr;
    }

    .cfcc-faith-testimony-number {
        font-size: 50px;
    }

    .cfcc-faith-quote {
        padding: 28px;
    }

    .cfcc-faith-large-scripture {
        padding: 35px 25px;
    }

}


@media (max-width: 480px) {

    .cfcc-faith-section {
        padding: 50px 0;
    }

    .cfcc-faith-page h2 {
        font-size: 32px;
    }

    .cfcc-faith-banner-content h1 {
        font-size: 38px;
    }

    .cfcc-faith-visual {
        min-height: 390px;
    }

    .cfcc-faith-visual-inner {
        width: 220px;
    }

    .cfcc-faith-highlight {
        align-items: flex-start;
    }

    .cfcc-faith-large-scripture p {
        font-size: 19px;
    }

    .cfcc-faith-peter-scripture-inner p {
        font-size: 20px;
    }

    .cfcc-faith-button {
        width: 100%;

        justify-content: center;
    }

}





/* =========================================================
   CHRIST FAITH CITY CENTRE
   PARTNERS OPPORTUNITY PAGE
========================================================= */

.partners-page {
    overflow: hidden;
    background: #ffffff;
    color: #252c3a;
}

.partners-container {
    width: min(1180px, calc(100% - 40px));
    margin: 0 auto;
}

.partners-page p {
    color: #657084;
    font-size: 16px;
    line-height: 1.9;
}

.partners-label {
    display: inline-block;
    margin-bottom: 14px;

    color: #119dc9;

    font-size: 13px;
    font-weight: 800;

    letter-spacing: 2px;
    text-transform: uppercase;
}

.partners-page h2 {
    margin: 0;

    color: #17265a;

    font-size: clamp(34px, 4vw, 50px);

    line-height: 1.15;
    font-weight: 800;
}

.partners-page h2 span {
    color: #12a6d4;
}


/* =========================================================
   BANNER
========================================================= */

.partners-banner {
    position: relative;

    min-height: 410px;

    display: flex;
    align-items: center;
    justify-content: center;

    overflow: hidden;

    background:
        linear-gradient(
            135deg,
            #111f55 0%,
            #17366d 50%,
            #079bc5 100%
        );
}

.partners-banner::before {
    content: "";

    position: absolute;

    width: 650px;
    height: 650px;

    top: -350px;
    right: -100px;

    border:
        1px solid rgba(255,255,255,.12);

    border-radius: 50%;
}

.partners-banner::after {
    content: "";

    position: absolute;

    width: 450px;
    height: 450px;

    bottom: -280px;
    left: -100px;

    border:
        1px solid rgba(255,255,255,.1);

    border-radius: 50%;
}

.partners-banner-overlay {
    position: absolute;
    inset: 0;

    background:
        radial-gradient(
            circle at center,
            rgba(255,255,255,.08),
            transparent 60%
        );
}

.partners-banner-content {
    position: relative;
    z-index: 2;

    width: min(900px, 90%);

    text-align: center;
}

.partners-banner-content > span {
    display: block;

    margin-bottom: 15px;

    color: #78e3fa;

    font-size: 13px;
    font-weight: 800;

    letter-spacing: 3px;
}

.partners-banner-content h1 {
    margin: 0;

    color: #ffffff;

    font-size: clamp(44px, 6vw, 70px);

    line-height: 1.05;
    font-weight: 800;
}

.partners-banner-line {
    width: 70px;
    height: 3px;

    margin: 25px auto 20px;

    border-radius: 10px;

    background: #42c9e9;
}

.partners-banner-content p {
    margin: 0;

    color: rgba(255,255,255,.86);

    font-size: 17px;
}


/* =========================================================
   TITLE LINE
========================================================= */

.partners-title-line {
    width: 65px;
    height: 3px;

    margin: 22px 0 30px;

    border-radius: 10px;

    background:
        linear-gradient(
            90deg,
            #17265a,
            #13a7d5
        );
}

.partners-title-line.center {
    margin-left: auto;
    margin-right: auto;
}


/* =========================================================
   INTRO
========================================================= */

.partners-intro {
    padding: 95px 0;
}

.partners-intro-grid {
    display: grid;

    grid-template-columns: 1.1fr .9fr;

    align-items: center;

    gap: 75px;
}

.partners-intro-content p {
    margin-bottom: 18px;
}

.partners-scripture {
    margin-top: 30px;

    padding: 22px 25px;

    border-left: 4px solid #13a7d5;

    border-radius: 8px;

    background: #f2fbfd;
}

.partners-scripture strong {
    display: block;

    margin-bottom: 7px;

    color: #17265a;

    font-size: 13px;

    letter-spacing: 1px;
}

.partners-scripture span {
    color: #657084;

    font-family: Georgia, serif;

    font-size: 15px;

    line-height: 1.7;
}


/* =========================================================
   VISUAL
========================================================= */

.partners-visual {
    position: relative;

    min-height: 460px;

    display: flex;

    align-items: center;
    justify-content: center;

    overflow: hidden;

    border-radius: 25px;

    background:
        linear-gradient(
            145deg,
            #17265a,
            #079bc7
        );

    box-shadow:
        0 25px 60px rgba(23,38,90,.15);
}

.partners-visual-card {
    position: relative;
    z-index: 3;

    width: 270px;

    padding: 45px 30px;

    text-align: center;

    border:
        1px solid rgba(255,255,255,.2);

    border-radius: 20px;

    background: rgba(255,255,255,.09);

    backdrop-filter: blur(10px);
}

.partners-cross {
    margin-bottom: 20px;

    color: #ffffff;

    font-family: Georgia, serif;

    font-size: 70px;
}

.partners-visual-card > span {
    display: block;

    color: #9defff;

    font-size: 12px;

    letter-spacing: 3px;

    font-weight: 800;
}

.partners-visual-card strong {
    display: block;

    margin: 7px 0 12px;

    color: #ffffff;

    font-size: 28px;
}

.partners-visual-card small {
    color: rgba(255,255,255,.75);

    font-size: 13px;
}

.partners-circle {
    position: absolute;

    border:
        1px solid rgba(255,255,255,.12);

    border-radius: 50%;
}

.partners-circle.circle-one {
    width: 480px;
    height: 480px;
}

.partners-circle.circle-two {
    width: 330px;
    height: 330px;
}


/* =========================================================
   MEMBER / IMPACT
========================================================= */

.partners-member {
    padding: 90px 0;

    background: #f7fafc;
}

.partners-heading {
    max-width: 850px;

    margin: 0 auto 50px;

    text-align: center;
}

.partners-impact-grid {
    display: grid;

    grid-template-columns: repeat(3, 1fr);

    gap: 25px;
}

.partners-impact-card {
    position: relative;

    padding: 40px 32px;

    border:
        1px solid #e3ebf0;

    border-radius: 17px;

    background: #ffffff;

    transition: .3s ease;
}

.partners-impact-card:hover {
    transform: translateY(-6px);

    box-shadow:
        0 18px 40px rgba(23,38,90,.08);
}

.partners-impact-number {
    position: absolute;

    top: 22px;
    right: 23px;

    color: #13a7d5;

    font-size: 12px;

    font-weight: 800;

    letter-spacing: 2px;

    opacity: .65;
}

.partners-impact-icon {
    width: 55px;
    height: 55px;

    display: flex;

    align-items: center;
    justify-content: center;

    margin-bottom: 22px;

    border-radius: 14px;

    background: #eefaff;

    color: #119dc9;

    font-size: 22px;
}

.partners-impact-card h3 {
    margin: 0 0 12px;

    color: #17265a;

    font-size: 22px;
}

.partners-impact-card p {
    margin: 0;

    font-size: 14px;
}


/* =========================================================
   MESSAGE
========================================================= */

.partners-message {
    padding: 95px 0;

    background: #ffffff;
}

.partners-message-box {
    max-width: 850px;

    margin: auto;

    text-align: center;
}

.partners-message-box > p {
    max-width: 760px;

    margin-left: auto;
    margin-right: auto;
}

.partners-ambassador {
    display: flex;

    align-items: center;

    max-width: 650px;

    margin: 35px auto 0;

    padding: 25px;

    text-align: left;

    border-radius: 13px;

    background: #f2fbfd;

    border-left: 4px solid #13a7d5;

    gap: 20px;
}

.partners-ambassador-icon {
    flex: 0 0 48px;

    width: 48px;
    height: 48px;

    display: flex;

    align-items: center;
    justify-content: center;

    border-radius: 50%;

    background: #17265a;

    color: #ffffff;
}

.partners-ambassador strong {
    display: block;

    margin-bottom: 5px;

    color: #17265a;

    font-size: 13px;

    letter-spacing: 1px;
}

.partners-ambassador p {
    margin: 0;

    font-size: 14px;
}


/* =========================================================
   DONATION
========================================================= */

.partners-donation {
    padding: 95px 0;

    background: #f7fafc;
}

.partners-donation-grid {
    display: grid;

    grid-template-columns: 1.1fr .9fr;

    align-items: center;

    gap: 70px;
}

.partners-donation-content > p {
    max-width: 700px;
}

.partners-donation-list {
    margin: 30px 0;
}

.partners-donation-item {
    display: flex;

    gap: 18px;

    padding: 18px 0;

    border-bottom:
        1px solid #e3e9ee;
}

.partners-donation-item > span {
    color: #13a7d5;

    font-size: 13px;

    font-weight: 800;
}

.partners-donation-item strong {
    display: block;

    margin-bottom: 4px;

    color: #17265a;

    font-size: 15px;
}

.partners-donation-item p {
    margin: 0;

    font-size: 14px;
}

.partners-primary-button {
    display: inline-flex;

    align-items: center;

    gap: 12px;

    padding: 15px 27px;

    border-radius: 50px;

    background:
        linear-gradient(
            135deg,
            #17265a,
            #079bc7
        );

    color: #ffffff;

    text-decoration: none;

    font-size: 14px;

    font-weight: 800;

    transition: .3s ease;
}

.partners-primary-button:hover {
    transform: translateY(-3px);

    box-shadow:
        0 12px 30px rgba(23,38,90,.18);
}

.partners-primary-button span {
    font-size: 18px;
}


/* =========================================================
   DONATION CARD
========================================================= */

.partners-donation-card {
    padding: 45px 35px;

    text-align: center;

    border-radius: 22px;

    background:
        linear-gradient(
            145deg,
            #17265a,
            #079bc7
        );

    box-shadow:
        0 25px 60px rgba(23,38,90,.15);
}

.partners-donation-card-top > span {
    color: #9defff;

    font-size: 11px;

    font-weight: 800;

    letter-spacing: 2px;
}

.partners-donation-card h3 {
    margin: 10px 0 25px;

    color: #ffffff;

    font-size: 32px;
}

.partners-donation-card-icon {
    width: 70px;
    height: 70px;

    display: flex;

    align-items: center;
    justify-content: center;

    margin: 0 auto 22px;

    border-radius: 50%;

    background: rgba(255,255,255,.1);

    color: #ffffff;

    font-size: 30px;
}

.partners-donation-card p {
    color: rgba(255,255,255,.82);

    font-size: 14px;
}

.partners-donation-card-line {
    width: 55px;
    height: 2px;

    margin: 22px auto;

    background: #6bdff5;
}

.partners-donation-card > strong {
    color: #ffffff;

    font-size: 12px;

    letter-spacing: 2px;
}


/* =========================================================
   CONTRIBUTION AREAS
========================================================= */

.partners-description {
    padding: 95px 0;

    background: #ffffff;
}

.partners-description-heading {
    max-width: 850px;

    margin: 0 auto 50px;

    text-align: center;
}

.partners-purpose-grid {
    display: grid;

    grid-template-columns: repeat(3, 1fr);

    gap: 15px;
}

.partners-purpose-item {
    min-height: 115px;

    display: flex;

    flex-direction: column;

    justify-content: center;

    padding: 20px 23px;

    border:
        1px solid #e3ebf0;

    border-radius: 12px;

    background: #f9fbfc;

    transition: .3s ease;
}

.partners-purpose-item:hover {
    border-color: #9edbea;

    background: #f2fbfd;

    transform: translateY(-3px);
}

.partners-purpose-item > span {
    margin-bottom: 7px;

    color: #13a7d5;

    font-size: 11px;

    font-weight: 800;

    letter-spacing: 1px;
}

.partners-purpose-item strong {
    color: #17265a;

    font-size: 14px;
}

.partners-purpose-item small {
    margin-top: 5px;

    color: #7b8797;

    font-size: 12px;
}


/* =========================================================
   IMPACT
========================================================= */

.partners-impact {
    padding: 95px 0;

    background:
        linear-gradient(
            135deg,
            #111f55,
            #164477
        );
}

.partners-impact-inner {
    max-width: 850px;

    margin: auto;

    text-align: center;
}

.partners-impact .partners-label {
    color: #70e0f7;
}

.partners-impact h2 {
    color: #ffffff;
}

.partners-impact h2 span {
    color: #70e0f7;
}

.partners-impact .partners-title-line {
    background:
        linear-gradient(
            90deg,
            #ffffff,
            #46cce9
        );
}

.partners-impact-inner > p {
    max-width: 700px;

    margin: 0 auto;

    color: rgba(255,255,255,.82);
}

.partners-impact-quote {
    display: flex;

    align-items: center;
    justify-content: center;

    flex-wrap: wrap;

    gap: 15px;

    margin: 40px auto 0;
}

.partners-impact-quote div {
    width: 48px;
    height: 48px;

    display: flex;

    align-items: center;
    justify-content: center;

    border-radius: 50%;

    background: rgba(255,255,255,.1);

    color: #ffffff;
}

.partners-impact-quote span,
.partners-impact-quote strong {
    padding: 12px 18px;

    border:
        1px solid rgba(255,255,255,.2);

    border-radius: 50px;

    color: #ffffff;

    font-size: 11px;

    letter-spacing: 1px;
}


/* =========================================================
   CONTACT
========================================================= */

.partners-contact {
    padding: 95px 0;

    background: #ffffff;
}

.partners-contact-box {
    max-width: 800px;

    margin: auto;

    text-align: center;
}

.partners-contact-box > p {
    max-width: 650px;

    margin: 0 auto 20px;
}

.partners-email {
    display: block;

    margin: 15px auto 25px;

    color: #119dc9;

    font-size: clamp(15px, 2vw, 20px);

    font-weight: 800;

    text-decoration: none;

    word-break: break-word;
}

.partners-email-button {
    display: inline-flex;

    align-items: center;

    gap: 12px;

    padding: 15px 27px;

    border-radius: 50px;

    background:
        linear-gradient(
            135deg,
            #17265a,
            #079bc7
        );

    color: #ffffff;

    text-decoration: none;

    font-size: 14px;

    font-weight: 800;

    transition: .3s ease;
}

.partners-email-button:hover {
    transform: translateY(-3px);

    box-shadow:
        0 12px 30px rgba(23,38,90,.18);
}


/* =========================================================
   FINAL
========================================================= */

.partners-final {
    padding: 80px 0;

    background: #f7fafc;
}

.partners-final-content {
    max-width: 750px;

    margin: auto;

    text-align: center;
}

.partners-final-content > span {
    color: #119dc9;

    font-size: 12px;

    font-weight: 800;

    letter-spacing: 2px;
}

.partners-final-content h2 {
    margin: 15px 0;

    color: #17265a;

    font-size: 38px;
}

.partners-final-content h2 strong {
    color: #12a6d4;
}

.partners-final-content p {
    max-width: 650px;

    margin: auto;
}


/* =========================================================
   RESPONSIVE
========================================================= */

@media (max-width: 950px) {

    .partners-intro-grid,
    .partners-donation-grid {
        grid-template-columns: 1fr;

        gap: 50px;
    }

    .partners-impact-grid {
        grid-template-columns: 1fr;
    }

}


@media (max-width: 800px) {

    .partners-purpose-grid {
        grid-template-columns: repeat(2, 1fr);
    }

}


@media (max-width: 650px) {

    .partners-container {
        width: min(100% - 28px, 1180px);
    }

    .partners-intro,
    .partners-member,
    .partners-message,
    .partners-donation,
    .partners-description,
    .partners-impact,
    .partners-contact {
        padding: 65px 0;
    }

    .partners-banner {
        min-height: 340px;
    }

    .partners-banner-content h1 {
        font-size: 42px;
    }

    .partners-purpose-grid {
        grid-template-columns: 1fr;
    }

    .partners-visual {
        min-height: 390px;
    }

    .partners-visual-card {
        width: 220px;
    }

    .partners-ambassador {
        align-items: flex-start;
    }

}


@media (max-width: 480px) {

    .partners-page h2 {
        font-size: 32px;
    }

    .partners-banner-content h1 {
        font-size: 36px;
    }




    .partners-donation-card {
        padding: 35px 25px;
    }

    .partners-primary-button,
    .partners-email-button {
        width: 100%;

        justify-content: center;
    }

    .partners-impact-quote {
        flex-direction: column;
    }

}














/* =========================================================
   CHRIST FAITH CITY CENTRE
   MEDIA PAGE
========================================================= */

.media-page {
    overflow: hidden;
    background: #ffffff;
    color: #252c3a;
}

.media-container {
    width: min(1180px, calc(100% - 40px));
    margin: 0 auto;
}

.media-page p {
    color: #657084;
    font-size: 16px;
    line-height: 1.85;
}

.media-label {
    display: inline-block;

    margin-bottom: 13px;

    color: #119dc9;

    font-size: 12px;
    font-weight: 800;

    letter-spacing: 2px;
    text-transform: uppercase;
}

.media-page h2 {
    margin: 0;

    color: #17265a;

    font-size: clamp(34px, 4vw, 50px);

    line-height: 1.15;

    font-weight: 800;
}

.media-page h2 span {
    color: #12a6d4;
}


/* =========================================================
   BANNER
========================================================= */

.media-banner {
    position: relative;

    min-height: 410px;

    display: flex;

    align-items: center;
    justify-content: center;

    overflow: hidden;

    background:
        linear-gradient(
            135deg,
            #111f55,
            #17366d 50%,
            #079bc5
        );
}

.media-banner::before {
    content: "";

    position: absolute;

    width: 650px;
    height: 650px;

    top: -350px;
    right: -120px;

    border: 1px solid rgba(255,255,255,.12);

    border-radius: 50%;
}

.media-banner::after {
    content: "";

    position: absolute;

    width: 480px;
    height: 480px;

    bottom: -300px;
    left: -120px;

    border: 1px solid rgba(255,255,255,.10);

    border-radius: 50%;
}

.media-banner-overlay {
    position: absolute;
    inset: 0;

    background:
        radial-gradient(
            circle at center,
            rgba(255,255,255,.08),
            transparent 60%
        );
}

.media-banner-content {
    position: relative;
    z-index: 2;

    text-align: center;

    width: min(900px, 90%);
}

.media-banner-content > span {
    display: block;

    margin-bottom: 14px;

    color: #78e3fa;

    font-size: 13px;

    font-weight: 800;

    letter-spacing: 3px;
}

.media-banner-content h1 {
    margin: 0;

    color: #ffffff;

    font-size: clamp(48px, 6vw, 72px);

    line-height: 1;

    font-weight: 800;
}

.media-banner-line {
    width: 70px;
    height: 3px;

    margin: 25px auto 20px;

    background: #42c9e9;

    border-radius: 10px;
}

.media-banner-content p {
    margin: 0;

    color: rgba(255,255,255,.85);

    font-size: 17px;
}


/* =========================================================
   TITLE LINE
========================================================= */

.media-title-line {
    width: 65px;
    height: 3px;

    margin: 22px 0 28px;

    border-radius: 10px;

    background:
        linear-gradient(
            90deg,
            #17265a,
            #13a7d5
        );
}

.media-title-line.center {
    margin-left: auto;
    margin-right: auto;
}


/* =========================================================
   INTRO
========================================================= */

.media-intro {
    padding: 85px 0 70px;
}

.media-intro-content {
    max-width: 800px;

    margin: auto;

    text-align: center;
}

.media-intro-content p {
    max-width: 720px;

    margin: auto;
}


/* =========================================================
   FEATURED
========================================================= */

.media-featured {
    padding: 70px 0 95px;

    background: #f7fafc;
}

.media-section-heading {
    max-width: 850px;

    margin: 0 auto 50px;

    text-align: center;
}

.media-section-heading p {
    max-width: 700px;

    margin: 0 auto;
}

.media-featured-card {
    display: grid;

    grid-template-columns: 1.2fr .8fr;

    overflow: hidden;

    border-radius: 22px;

    background: #ffffff;

    box-shadow:
        0 20px 55px rgba(23,38,90,.10);
}

.media-video {
    min-height: 430px;

    background: #111f55;
}

.media-video-placeholder {
    width: 100%;
    height: 100%;

    min-height: 430px;

    display: flex;

    flex-direction: column;

    align-items: center;
    justify-content: center;

    gap: 18px;

    background:
        radial-gradient(
            circle at center,
            #1d4780,
            #111f55
        );
}

.media-play-button {
    width: 78px;
    height: 78px;

    display: flex;

    align-items: center;
    justify-content: center;

    padding-left: 4px;

    border-radius: 50%;

    background: #ffffff;

    color: #119dc9;

    font-size: 23px;

    box-shadow:
        0 12px 35px rgba(0,0,0,.20);

    cursor: pointer;
}

.media-video-placeholder > span {
    color: rgba(255,255,255,.75);

    font-size: 11px;

    letter-spacing: 2px;

    font-weight: 800;
}

.media-featured-content {
    padding: 50px 40px;

    display: flex;

    flex-direction: column;

    justify-content: center;
}

.media-small-label {
    color: #119dc9;

    font-size: 11px;

    letter-spacing: 2px;

    font-weight: 800;
}

.media-featured-content h3 {
    margin: 12px 0;

    color: #17265a;

    font-size: 30px;
}

.media-featured-content p {
    margin: 0 0 25px;

    font-size: 14px;
}

.media-button,
.media-outline-button,
.media-final-button {
    display: inline-flex;

    align-items: center;

    justify-content: center;

    gap: 11px;

    width: fit-content;

    padding: 14px 25px;

    border-radius: 50px;

    text-decoration: none;

    font-size: 13px;

    font-weight: 800;

    transition: .3s ease;
}

.media-button {
    background:
        linear-gradient(
            135deg,
            #17265a,
            #079bc7
        );

    color: #ffffff;
}

.media-button:hover,
.media-final-button:hover {
    transform: translateY(-3px);

    box-shadow:
        0 12px 30px rgba(23,38,90,.18);
}


/* =========================================================
   VIDEO GALLERY
========================================================= */

.media-videos {
    padding: 95px 0;
}

.media-video-grid {
    display: grid;

    grid-template-columns: repeat(3, 1fr);

    gap: 25px;
}

.media-video-card {
    overflow: hidden;

    border:
        1px solid #e5ebef;

    border-radius: 16px;

    background: #ffffff;

    transition: .3s ease;
}

.media-video-card:hover {
    transform: translateY(-6px);

    box-shadow:
        0 18px 40px rgba(23,38,90,.09);
}

.media-card-image {
    position: relative;

    height: 215px;

    overflow: hidden;

    background: #17265a;
}

.media-card-placeholder {
    width: 100%;
    height: 100%;

    display: flex;

    align-items: center;
    justify-content: center;

    background:
        linear-gradient(
            135deg,
            #17265a,
            #079bc7
        );
}

.media-card-placeholder span {
    color: rgba(255,255,255,.35);

    font-size: 25px;

    font-weight: 800;

    letter-spacing: 4px;
}

.media-card-play {
    position: absolute;

    left: 50%;
    top: 50%;

    transform: translate(-50%, -50%);

    width: 55px;
    height: 55px;

    border: 0;

    border-radius: 50%;

    background: rgba(255,255,255,.96);

    color: #119dc9;

    font-size: 16px;

    cursor: pointer;

    transition: .3s ease;
}

.media-card-play:hover {
    transform:
        translate(-50%, -50%)
        scale(1.08);
}

.media-card-content {
    padding: 25px;
}

.media-card-content > span {
    color: #119dc9;

    font-size: 10px;

    letter-spacing: 2px;

    font-weight: 800;
}

.media-card-content h3 {
    margin: 9px 0;

    color: #17265a;

    font-size: 20px;
}

.media-card-content p {
    margin: 0;

    font-size: 14px;

    line-height: 1.7;
}


/* =========================================================
   SERMONS
========================================================= */

.media-sermons {
    padding: 95px 0;

    background: #f7fafc;
}

.media-sermons-grid {
    display: grid;

    grid-template-columns: 1fr .8fr;

    align-items: center;

    gap: 80px;
}

.media-sermons-content p {
    max-width: 650px;
}

.media-outline-button {
    margin-top: 12px;

    border:
        1px solid #17265a;

    color: #17265a;

    background: transparent;
}

.media-outline-button:hover {
    background: #17265a;

    color: #ffffff;
}

.media-sermon-feature {
    min-height: 330px;

    display: flex;

    flex-direction: column;

    align-items: center;
    justify-content: center;

    border-radius: 22px;

    background:
        linear-gradient(
            145deg,
            #17265a,
            #079bc7
        );

    box-shadow:
        0 20px 50px rgba(23,38,90,.13);

    text-align: center;
}

.media-sermon-icon {
    width: 70px;
    height: 70px;

    display: flex;

    align-items: center;
    justify-content: center;

    margin-bottom: 20px;

    border-radius: 50%;

    background: rgba(255,255,255,.11);

    color: #ffffff;

    font-size: 28px;
}

.media-sermon-feature > span {
    color: #9defff;

    font-size: 11px;

    letter-spacing: 2px;

    font-weight: 800;
}

.media-sermon-feature strong {
    margin: 10px 0;

    color: #ffffff;

    font-size: 38px;
}

.media-sermon-feature small {
    color: rgba(255,255,255,.7);

    font-size: 13px;
}


/* =========================================================
   PHOTO GALLERY
========================================================= */

.media-gallery {
    padding: 95px 0;
}

.media-photo-grid {
    display: grid;

    grid-template-columns: repeat(4, 1fr);

    grid-auto-rows: 210px;

    gap: 15px;
}

.media-photo {
    position: relative;

    display: flex;

    align-items: flex-end;

    padding: 20px;

    overflow: hidden;

    border-radius: 15px;

    background:
        linear-gradient(
            145deg,
            #17265a,
            #079bc7
        );
}

.media-photo::before {
    content: "";

    position: absolute;
    inset: 0;

    background:
        radial-gradient(
            circle at 30% 20%,
            rgba(255,255,255,.25),
            transparent 35%
        );
}

.media-photo span {
    position: relative;
    z-index: 2;

    color: #ffffff;

    font-size: 13px;

    font-weight: 800;

    letter-spacing: 1px;
}

.photo-one {
    grid-column: span 2;
    grid-row: span 2;
}

.photo-two {
    grid-column: span 1;
}

.photo-three {
    grid-column: span 1;
}

.photo-four {
    grid-column: span 2;
}

.photo-five {
    grid-column: span 2;
}


/* =========================================================
   SOCIAL
========================================================= */

.media-social {
    padding: 95px 0;

    background:
        linear-gradient(
            135deg,
            #111f55,
            #164477
        );
}

.media-social-inner {
    max-width: 800px;

    margin: auto;

    text-align: center;
}

.media-social-icon {
    width: 70px;
    height: 70px;

    display: flex;

    align-items: center;
    justify-content: center;

    margin: 0 auto 22px;

    border-radius: 50%;

    background: rgba(255,255,255,.1);

    color: #ffffff;

    font-size: 25px;
}

.media-social .media-label {
    color: #70e0f7;
}

.media-social h2 {
    color: #ffffff;
}

.media-social h2 span {
    color: #70e0f7;
}

.media-social .media-title-line {
    background:
        linear-gradient(
            90deg,
            #ffffff,
            #46cce9
        );
}

.media-social-inner > p {
    max-width: 650px;

    margin: auto;

    color: rgba(255,255,255,.82);
}

.media-social-buttons {
    display: flex;

    align-items: center;
    justify-content: center;

    flex-wrap: wrap;

    gap: 12px;

    margin-top: 30px;
}

.media-social-button {
    padding: 12px 22px;

    border:
        1px solid rgba(255,255,255,.25);

    border-radius: 50px;

    color: #ffffff;

    text-decoration: none;

    font-size: 12px;

    font-weight: 800;

    transition: .3s ease;
}

.media-social-button:hover {
    background: #ffffff;

    color: #17265a;
}


/* =========================================================
   FINAL
========================================================= */

.media-final {
    padding: 90px 0;

    background: #ffffff;
}

.media-final-content {
    max-width: 800px;

    margin: auto;

    text-align: center;
}

.media-final-content > span {
    color: #119dc9;

    font-size: 12px;

    font-weight: 800;

    letter-spacing: 2px;
}

.media-final-content h2 {
    margin: 15px 0;

    color: #17265a;

    font-size: clamp(36px, 5vw, 55px);
}

.media-final-content h2 strong {
    color: #12a6d4;
}

.media-final-content p {
    max-width: 650px;

    margin: 0 auto 28px;
}

.media-final-button {
    background:
        linear-gradient(
            135deg,
            #17265a,
            #079bc7
        );

    color: #ffffff;
}


/* =========================================================
   RESPONSIVE
========================================================= */

@media (max-width: 1000px) {

    .media-video-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .media-featured-card,
    .media-sermons-grid {
        grid-template-columns: 1fr;
    }

    .media-photo-grid {
        grid-template-columns: repeat(2, 1fr);
    }

}


@media (max-width: 700px) {

    .media-container {
        width: min(100% - 28px, 1180px);
    }

    .media-banner {
        min-height: 340px;
    }

    .media-banner-content h1 {
        font-size: 44px;
    }

    .media-intro,
    .media-featured,
    .media-videos,
    .media-sermons,
    .media-gallery,
    .media-social {
        padding: 65px 0;
    }

    .media-video-grid {
        grid-template-columns: 1fr;
    }

    .media-video,
    .media-video-placeholder {
        min-height: 300px;
    }

    .media-photo-grid {
        grid-template-columns: 1fr 1fr;

        grid-auto-rows: 170px;
    }

    .photo-one {
        grid-column: span 2;
    }

    .photo-two,
    .photo-three,
    .photo-four,
    .photo-five {
        grid-column: span 1;
    }

}


@media (max-width: 480px) {

    .media-page h2 {
        font-size: 32px;
    }

    .media-banner-content h1 {
        font-size: 38px;
    }

    .media-featured-content {
        padding: 35px 25px;
    }

    .media-photo-grid {
        grid-template-columns: 1fr;

        grid-auto-rows: 190px;
    }

    .photo-one,
    .photo-two,
    .photo-three,
    .photo-four,
    .photo-five {
        grid-column: span 1;
    }

    .media-social-buttons {
        flex-direction: column;
    }

    .media-social-button {
        width: 100%;

        text-align: center;
    }

    .media-button,
    .media-outline-button,
    .media-final-button {
        width: 100%;
    }

}






/* =========================================================
   CONTACT PAGE
========================================================= */

.contact-page {
    width: 100%;
    overflow: hidden;
    background: #ffffff;
}

.contact-container {
    width: min(1180px, 92%);
    margin: 0 auto;
}


/* =========================================================
   CONTACT BANNER
========================================================= */

.contact-banner {
    position: relative;
    min-height: 420px;

    display: flex;
    align-items: center;
    justify-content: center;

    text-align: center;

    background:
        linear-gradient(
            135deg,
            rgba(8, 34, 78, 0.96),
            rgba(0, 132, 184, 0.88)
        );

    padding: 80px 20px;
}

.contact-banner::before {
    content: "";
    position: absolute;

    width: 400px;
    height: 400px;

    border-radius: 50%;

    background: rgba(255,255,255,0.06);

    top: -180px;
    left: -100px;
}

.contact-banner::after {
    content: "";
    position: absolute;

    width: 350px;
    height: 350px;

    border-radius: 50%;

    background: rgba(255,255,255,0.05);

    bottom: -180px;
    right: -80px;
}

.contact-banner-content {
    position: relative;
    z-index: 2;

    max-width: 850px;
}

.contact-banner-label {
    display: inline-block;

    font-size: 13px;
    font-weight: 700;

    letter-spacing: 3px;

    color: #66e3ff;

    margin-bottom: 18px;
}

.contact-banner h1 {
    margin: 0 0 20px;

    color: #ffffff;

    font-size: clamp(42px, 6vw, 72px);

    font-weight: 800;

    line-height: 1.05;
}

.contact-banner p {
    max-width: 700px;

    margin: auto;

    color: rgba(255,255,255,0.88);

    font-size: 18px;

    line-height: 1.8;
}


/* =========================================================
   INTRO
========================================================= */

.contact-intro {
    padding: 90px 0 60px;

    background: #ffffff;

    text-align: center;
}

.contact-intro-content {
    max-width: 850px;

    margin: auto;
}

.section-label {
    display: inline-block;

    color: #009dcc;

    font-size: 13px;

    font-weight: 800;

    letter-spacing: 2.5px;

    margin-bottom: 15px;
}

.contact-intro h2,
.contact-information h2,
.contact-form-header h2,
.contact-map-header h2 {

    margin: 0 0 20px;

    color: #102b50;

    font-size: clamp(30px, 4vw, 46px);

    line-height: 1.2;

    font-weight: 800;
}

.contact-intro h2 span,
.contact-information h2 span,
.contact-form-header h2 span,
.contact-map-header h2 span {

    color: #009dcc;
}

.contact-intro p {
    color: #64748b;

    font-size: 17px;

    line-height: 1.9;

    margin: 0 auto 12px;
}


/* =========================================================
   MAIN CONTACT AREA
========================================================= */

.contact-main {
    padding: 90px 0;

    background: #f5f9fc;
}

.contact-grid {
    display: grid;

    grid-template-columns: 0.95fr 1.05fr;

    gap: 70px;

    align-items: start;
}


/* =========================================================
   INFORMATION
========================================================= */

.contact-information {
    padding-top: 10px;
}

.contact-description {
    color: #64748b;

    font-size: 16px;

    line-height: 1.8;

    margin-bottom: 35px;
}

.contact-info-card {

    display: flex;

    gap: 18px;

    padding: 22px 0;

    border-bottom: 1px solid #e2eaf0;
}

.contact-icon {

    width: 52px;
    height: 52px;

    flex-shrink: 0;

    display: flex;

    align-items: center;
    justify-content: center;

    border-radius: 14px;

    background: #e6f8fc;

    color: #009dcc;

    font-size: 19px;
}

.contact-info-content h3 {

    margin: 0 0 7px;

    color: #17365d;

    font-size: 17px;

    font-weight: 750;
}

.contact-info-content p {

    margin: 0;

    color: #64748b;

    font-size: 15px;

    line-height: 1.7;
}

.contact-info-content a {

    color: #009dcc;

    font-size: 15px;

    font-weight: 600;

    text-decoration: none;

    transition: 0.3s;
}

.contact-info-content a:hover {
    color: #102b50;
}


/* =========================================================
   EMERGENCY
========================================================= */

.contact-emergency {

    margin-top: 25px;

    padding: 24px;

    display: flex;

    align-items: center;

    gap: 18px;

    border-radius: 18px;

    background: linear-gradient(
        135deg,
        #102b50,
        #075b85
    );

    box-shadow: 0 15px 35px rgba(16,43,80,0.15);
}

.emergency-icon {

    width: 55px;
    height: 55px;

    flex-shrink: 0;

    display: flex;

    align-items: center;
    justify-content: center;

    border-radius: 50%;

    background: rgba(255,255,255,0.12);

    color: #66e3ff;

    font-size: 20px;
}

.contact-emergency span {

    display: block;

    color: #66e3ff;

    font-size: 11px;

    font-weight: 800;

    letter-spacing: 1.5px;

    margin-bottom: 5px;
}

.contact-emergency h3 {

    margin: 0 0 5px;

    color: #ffffff;

    font-size: 16px;
}

.contact-emergency a {

    color: #ffffff;

    font-size: 20px;

    font-weight: 800;

    text-decoration: none;
}


/* =========================================================
   FORM
========================================================= */

.contact-form-wrapper {

    background: #ffffff;

    padding: 42px;

    border-radius: 24px;

    box-shadow:
        0 20px 60px rgba(24, 54, 90, 0.09);

    border: 1px solid #e7eef4;
}

.contact-form-header {
    margin-bottom: 30px;
}

.contact-form-header p {

    margin: 0;

    color: #64748b;

    font-size: 15px;

    line-height: 1.7;
}

.contact-form {
    width: 100%;
}

.form-row {

    display: grid;

    grid-template-columns: 1fr 1fr;

    gap: 18px;
}

.form-group {
    margin-bottom: 20px;
}

.form-group label {

    display: block;

    margin-bottom: 8px;

    color: #17365d;

    font-size: 14px;

    font-weight: 700;
}

.form-group input,
.form-group textarea {

    width: 100%;

    box-sizing: border-box;

    border: 1px solid #dbe5ec;

    background: #f9fbfd;

    border-radius: 12px;

    padding: 14px 16px;

    color: #17365d;

    font-family: inherit;

    font-size: 15px;

    outline: none;

    transition: all 0.3s;
}

.form-group input {

    height: 50px;
}

.form-group textarea {

    min-height: 145px;

    resize: vertical;
}

.form-group input:focus,
.form-group textarea:focus {

    border-color: #00a6d6;

    background: #ffffff;

    box-shadow:
        0 0 0 4px rgba(0,166,214,0.08);
}

.form-group input::placeholder,
.form-group textarea::placeholder {

    color: #9aaabd;
}


/* =========================================================
   SUBMIT BUTTON
========================================================= */

.contact-submit {

    width: 100%;

    border: none;

    padding: 16px 24px;

    border-radius: 12px;

    background: linear-gradient(
        135deg,
        #009dcc,
        #007aa5
    );

    color: #ffffff;

    font-family: inherit;

    font-size: 15px;

    font-weight: 750;

    display: flex;

    align-items: center;

    justify-content: center;

    gap: 12px;

    cursor: pointer;

    transition: all 0.3s;

    box-shadow:
        0 12px 25px rgba(0,157,204,0.20);
}

.contact-submit:hover {

    transform: translateY(-2px);

    box-shadow:
        0 17px 30px rgba(0,157,204,0.28);
}

.contact-submit i {
    transition: 0.3s;
}

.contact-submit:hover i {
    transform: translateX(5px);
}


/* =========================================================
   CTA
========================================================= */

.contact-cta {

    padding: 75px 0;

    background: #ffffff;
}

.contact-cta-inner {

    padding: 40px 45px;

    border-radius: 22px;

    display: grid;

    grid-template-columns: auto 1fr auto;

    align-items: center;

    gap: 30px;

    background:
        linear-gradient(
            135deg,
            #102b50,
            #08799f
        );

    box-shadow:
        0 20px 45px rgba(16,43,80,0.14);
}

.contact-cta-icon {

    width: 70px;
    height: 70px;

    border-radius: 20px;

    display: flex;

    align-items: center;
    justify-content: center;

    background: rgba(255,255,255,0.10);

    color: #66e3ff;

    font-size: 28px;
}

.contact-cta-content span {

    display: block;

    margin-bottom: 7px;

    color: #66e3ff;

    font-size: 12px;

    font-weight: 800;

    letter-spacing: 2px;
}

.contact-cta-content h2 {

    margin: 0 0 8px;

    color: #ffffff;

    font-size: 28px;

    font-weight: 800;
}

.contact-cta-content p {

    margin: 0;

    color: rgba(255,255,255,0.78);

    font-size: 14px;

    line-height: 1.7;
}

.contact-cta-button a {

    display: inline-flex;

    align-items: center;

    gap: 10px;

    padding: 14px 23px;

    border-radius: 10px;

    background: #ffffff;

    color: #102b50;

    text-decoration: none;

    font-size: 14px;

    font-weight: 800;

    white-space: nowrap;

    transition: 0.3s;
}

.contact-cta-button a:hover {

    transform: translateY(-2px);

    background: #66e3ff;
}


/* =========================================================
   MAP
========================================================= */

.contact-map-section {

    padding: 90px 0;

    background: #f5f9fc;
}

.contact-map-header {

    text-align: center;

    max-width: 700px;

    margin: 0 auto 35px;
}

.contact-map-header p {

    color: #64748b;

    font-size: 16px;

    line-height: 1.8;

    margin: 0;
}

.contact-map {

    overflow: hidden;

    border-radius: 22px;

    background: #ffffff;

    border: 1px solid #e1e9ef;

    box-shadow:
        0 18px 50px rgba(20,50,80,0.10);
}

.contact-map iframe {

    display: block;

    width: 100%;

    min-height: 450px;
}


/* =========================================================
   RESPONSIVE
========================================================= */

@media (max-width: 992px) {

    .contact-grid {

        grid-template-columns: 1fr;

        gap: 50px;
    }

    .contact-information {

        max-width: 700px;
    }

    .contact-form-wrapper {

        max-width: 750px;
    }

    .contact-cta-inner {

        grid-template-columns: auto 1fr;
    }

    .contact-cta-button {

        grid-column: 2;
    }

}


@media (max-width: 768px) {

    .contact-banner {

        min-height: 350px;

        padding: 70px 20px;
    }

    .contact-banner p {

        font-size: 16px;

        line-height: 1.7;
    }

    .contact-intro {

        padding: 65px 0 40px;
    }

    .contact-main {

        padding: 65px 0;
    }

    .contact-form-wrapper {

        padding: 30px 24px;

        border-radius: 18px;
    }

    .form-row {

        grid-template-columns: 1fr;

        gap: 0;
    }

    .contact-cta {

        padding: 60px 0;
    }

    .contact-cta-inner {

        grid-template-columns: 1fr;

        text-align: center;

        padding: 35px 25px;
    }

    .contact-cta-icon {

        margin: auto;
    }

    .contact-cta-button {

        grid-column: auto;
    }

    .contact-cta-button a {

        width: 100%;

        justify-content: center;

        box-sizing: border-box;
    }

    .contact-map-section {

        padding: 65px 0;
    }

    .contact-map iframe {

        min-height: 350px;
    }

}


@media (max-width: 480px) {

    .contact-container {

        width: 90%;
    }

    .contact-banner {

        min-height: 320px;

        padding: 60px 15px;
    }

    .contact-banner-label {

        font-size: 11px;

        letter-spacing: 2px;
    }

    .contact-banner h1 {

        font-size: 40px;
    }

    .contact-banner p {

        font-size: 15px;
    }

    .contact-info-card {

        gap: 13px;
    }

    .contact-icon {

        width: 46px;
        height: 46px;

        border-radius: 12px;
    }

    .contact-emergency {

        padding: 20px;

        align-items: flex-start;
    }

    .emergency-icon {

        width: 48px;
        height: 48px;
    }

    .contact-emergency a {

        font-size: 17px;
    }

    .contact-form-wrapper {

        padding: 25px 18px;
    }

    .contact-cta-content h2 {

        font-size: 24px;
    }

    .contact-map iframe {

        min-height: 300px;
    }

}