/* Immanuel Online School — house style overlay
   White page, black text, Inter. Loaded after modern-custom.css.
   Visual only. Does not replace Kingster, Bootstrap, or page markup. */

@import url('https://fonts.googleapis.com/css2?family=Inter:ital,wght@0,400;0,500;0,600;0,700;1,400&display=swap');

:root {
    --ios-heading-color: #111111;
    --ios-body-color: #5c5c5c;
    --ios-body-font: "Inter", "Segoe UI", system-ui, sans-serif;
    --ios-body-size: 16px;
}

body.kingster-body {
    background: #ffffff !important;
    background-color: #ffffff !important;
    color: #5c5c5c !important;
    font-family: "Inter", "Segoe UI", system-ui, sans-serif !important;
}

body.kingster-body :focus-visible {
    outline: 2px solid #111111;
    outline-offset: 3px;
}

/* Nav bar: black with the logo strip, white links.
   Solid at the top so it joins the banner. Slightly translucent with blur once it sticks, so white type stays readable over the page. */
body:not(.ios-home2) .kingster-header-wrap,
body:not(.ios-home2) .kingster-header-background,
body:not(.ios-home2) .kingster-sticky-menu-placeholder,
body:not(.ios-home2) .kingster-header-wrap .kingster-header-background,
body:not(.ios-home2) .kingster-mobile-header.kingster-header-background {
    background: #000000 !important;
    background-color: #000000 !important;
}

body:not(.ios-home2) .kingster-header-wrap.kingster-fixed-navigation,
body:not(.ios-home2) .kingster-header-wrap.kingster-fixed-navigation .kingster-header-background,
body:not(.ios-home2) .kingster-fixed-navigation .kingster-mobile-header.kingster-header-background {
    background: rgba(0, 0, 0, 0.86) !important;
    background-color: rgba(0, 0, 0, 0.86) !important;
    backdrop-filter: blur(18px) saturate(140%);
    -webkit-backdrop-filter: blur(18px) saturate(140%);
}

body:not(.ios-home2) .kingster-header-wrap.kingster-header-style-plain {
    border-bottom: 1px solid rgba(255, 255, 255, 0.12) !important;
    border-color: rgba(255, 255, 255, 0.12) !important;
}

.kingster-header-wrap :focus-visible {
    outline-color: #ffffff;
}

.kingster-mobile-button-hamburger:before,
.kingster-mobile-button-hamburger:after,
.kingster-mobile-button-hamburger span {
    background: #ffffff !important;
}

.kingster-navigation .sf-menu > li > a,
.kingster-main-menu .sf-menu > li > a {
    color: #ffffff !important;
    font-family: "Inter", "Segoe UI", system-ui, sans-serif !important;
    font-weight: 500 !important;
    border-radius: 999px;
    background: transparent !important;
}

.kingster-navigation .sf-menu > li > a:hover,
.kingster-navigation .sf-menu > li.current-menu-item > a,
.kingster-navigation .sf-menu > li.current-menu-ancestor > a,
.kingster-main-menu .sf-menu > li > a:hover,
.kingster-main-menu .sf-menu > li.current-menu-item > a,
.kingster-main-menu .sf-menu > li.current-menu-ancestor > a {
    color: #ffffff !important;
    background: rgba(255, 255, 255, 0.14) !important;
}

.kingster-navigation .sf-mega,
.kingster-main-menu .sf-mega,
.kingster-navigation .sub-menu,
.kingster-main-menu .sub-menu {
    background: #ffffff !important;
    color: #111111 !important;
}

.kingster-navigation .sf-mega a,
.kingster-navigation .sub-menu a,
.kingster-main-menu .sf-mega a,
.kingster-main-menu .sub-menu a {
    color: #111111 !important;
    background: transparent !important;
    border-radius: 8px;
}

.sf-menu > li > .sub-menu a:hover,
.sf-menu > .kingster-mega-menu > .sf-mega a:hover {
    color: #111111 !important;
}

/* Content type */
.kingster-body .kingster-page-wrapper h1,
.kingster-body .kingster-page-wrapper h2,
.kingster-body .kingster-page-wrapper h3,
.kingster-body .kingster-page-wrapper h4,
.kingster-body .kingster-page-wrapper h5,
.kingster-body .kingster-page-wrapper h6,
.gdlr-core-page-builder-body .gdlr-core-title-item-title,
.gdlr-core-page-builder-body .gdlr-core-skin-title {
    font-family: "Inter", "Segoe UI", system-ui, sans-serif !important;
    color: #111111 !important;
    font-weight: 600;
    letter-spacing: -0.03em;
}

.kingster-page-wrapper .gdlr-core-text-box-item-content,
.kingster-page-wrapper .gdlr-core-text-box-item-content p,
.kingster-page-wrapper .gdlr-core-text-box-item-content li {
    font-family: "Inter", "Segoe UI", system-ui, sans-serif !important;
    color: #5c5c5c !important;
    font-size: 16px;
    line-height: 1.6;
}

.gdlr-core-page-builder-body .gdlr-core-text-box-item-content p a,
.gdlr-core-page-builder-body .gdlr-core-personnel-list-content p a,
.gdlr-core-pbf-wrapper .gdlr-core-text-box-item-content p a,
.kingster-page-wrapper .gdlr-core-text-box-item-content p a,
.kingster-page-wrapper .gdlr-core-personnel-list-content p a {
    color: #111111 !important;
    text-decoration: underline;
    text-underline-offset: 3px;
}

.gdlr-core-page-builder-body .gdlr-core-text-box-item-content p a:hover,
.kingster-page-wrapper .gdlr-core-text-box-item-content p a:hover,
.kingster-page-wrapper .gdlr-core-personnel-list-content p a:hover {
    color: #111111 !important;
}

/* Keep light text on the dark page-title band and Column Service blocks */
.kingster-page-title,
.kingster-page-title-wrap h1,
.kingster-page-title-wrap .kingster-page-title,
.gdlr-core-page-builder-body [data-skin="Column Service"] h1,
.gdlr-core-page-builder-body [data-skin="Column Service"] h2,
.gdlr-core-page-builder-body [data-skin="Column Service"] h3,
.gdlr-core-page-builder-body [data-skin="Column Service"] h4,
.gdlr-core-page-builder-body [data-skin="Column Service"] h5,
.gdlr-core-page-builder-body [data-skin="Column Service"] h6,
.gdlr-core-page-builder-body [data-skin="Column Service"] .gdlr-core-skin-title,
.gdlr-core-page-builder-body [data-skin="Column Service"] .gdlr-core-text-box-item-content,
.gdlr-core-page-builder-body [data-skin="Column Service"] .gdlr-core-text-box-item-content p,
.gdlr-core-page-builder-body [data-skin="Column Service"] .gdlr-core-text-box-item-content p a {
    color: #ffffff !important;
}

/* Buttons and form controls on public pages */
.kingster-page-wrapper .gdlr-core-button,
.kingster-page-wrapper a.gdlr-core-button,
.kingster-page-wrapper .kingster-button,
.kingster-page-wrapper input[type="submit"],
.kingster-page-wrapper button[type="submit"],
.kingster-page-wrapper .submit-button {
    background: #111111 !important;
    color: #ffffff !important;
    border: 1px solid #111111 !important;
    border-radius: 999px !important;
    font-family: "Inter", "Segoe UI", system-ui, sans-serif !important;
    font-weight: 600 !important;
    box-shadow: none !important;
}

.kingster-page-wrapper .gdlr-core-button:hover,
.kingster-page-wrapper a.gdlr-core-button:hover,
.kingster-page-wrapper .kingster-button:hover,
.kingster-page-wrapper input[type="submit"]:hover,
.kingster-page-wrapper button[type="submit"]:hover,
.kingster-page-wrapper .submit-button:hover {
    background: #2a2a2a !important;
    color: #ffffff !important;
}

.kingster-page-wrapper input[type="text"],
.kingster-page-wrapper input[type="email"],
.kingster-page-wrapper input[type="tel"],
.kingster-page-wrapper input[type="url"],
.kingster-page-wrapper input[type="number"],
.kingster-page-wrapper textarea,
.kingster-page-wrapper select {
    border: 1px solid #d0d0d0 !important;
    border-radius: 12px !important;
    color: #111111 !important;
    background: #ffffff !important;
    font-family: "Inter", "Segoe UI", system-ui, sans-serif !important;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
}

/* Footer: black bar, white type. Gold hover removed. */
.kingster-footer-wrapper {
    background: #111111 !important;
    background-color: #111111 !important;
    color: rgba(255, 255, 255, 0.86) !important;
}

.kingster-footer-wrapper a,
.kingster-footer-wrapper a:hover,
.kingster-footer-wrapper .kingster-widget-title,
.kingster-footer-wrapper h1,
.kingster-footer-wrapper h2,
.kingster-footer-wrapper h3,
.kingster-footer-wrapper h4,
.kingster-footer-wrapper h5,
.kingster-footer-wrapper h6 {
    color: #ffffff !important;
    font-family: "Inter", "Segoe UI", system-ui, sans-serif !important;
}

.kingster-copyright-wrapper {
    background: #000000 !important;
    background-color: #000000 !important;
    color: rgba(255, 255, 255, 0.72) !important;
    border-top: 1px solid rgba(255, 255, 255, 0.12) !important;
}

.kingster-copyright-wrapper a,
.kingster-copyright-wrapper a:hover {
    color: #ffffff !important;
}

/* One black bar. The banner logo sits on the left and fills that side. The menu stays centred. */
.ios-suite-banner {
    display: none !important;
}

.kingster-header-wrap .kingster-logo {
    display: flex !important;
    align-items: center;
    position: absolute;
    left: calc(14px + 0.5cm);
    top: calc(8px + 0.5cm);
    bottom: calc(8px + 0.5cm);
    width: auto !important;
    max-width: none !important;
    height: auto;
    margin: 0 !important;
    padding: 0 !important;
    float: none !important;
    z-index: 80 !important;
    pointer-events: auto !important;
}

.kingster-header-wrap .kingster-logo-inner,
.kingster-animate-fixed-navigation .kingster-logo-inner,
.kingster-header-wrap.kingster-fixed-navigation .kingster-logo-inner {
    max-width: none !important;
    width: auto !important;
    height: 100%;
}

.kingster-header-wrap .kingster-logo-inner a,
.kingster-mobile-header .kingster-logo-inner a {
    display: flex;
    align-items: center;
    height: 100%;
    line-height: 0;
    position: relative;
    z-index: 2;
    pointer-events: auto;
    cursor: pointer;
    outline: none;
}

.kingster-header-wrap .kingster-logo-inner a:focus,
.kingster-header-wrap .kingster-logo-inner a:focus-visible,
.kingster-mobile-header .kingster-logo-inner a:focus,
.kingster-mobile-header .kingster-logo-inner a:focus-visible,
.kingster-header-wrap .kingster-logo-inner a:focus-visible img,
.kingster-mobile-header .kingster-logo-inner a:focus-visible img {
    outline: none;
    box-shadow: none;
}

/* The menu bar is full width and was sitting over the logo, so clicks missed the home link. */
.kingster-header-wrap .kingster-navigation,
.kingster-header-wrap .kingster-main-menu {
    pointer-events: none;
}

.kingster-header-wrap .kingster-main-menu > ul > li,
.kingster-header-wrap .kingster-navigation a,
.kingster-header-wrap .kingster-navigation button {
    pointer-events: auto;
}

.kingster-header-wrap .kingster-logo-inner img,
.kingster-animate-fixed-navigation .kingster-logo-inner img,
.kingster-header-wrap.kingster-fixed-navigation .kingster-logo-inner img {
    height: 100% !important;
    width: auto !important;
    max-width: none !important;
    max-height: none !important;
    object-fit: contain !important;
    display: block;
}

.kingster-mobile-header .kingster-logo {
    display: block !important;
}

.kingster-mobile-header .kingster-logo-inner {
    max-width: none !important;
}

.kingster-mobile-header .kingster-logo-inner img {
    width: auto !important;
    height: 48px !important;
    max-width: none !important;
    max-height: none !important;
    object-fit: contain !important;
}

body.kingster-body .kingster-header-container,
body.kingster-body .kingster-header-container-inner {
    width: 100% !important;
    max-width: none !important;
    min-height: 128px !important;
    padding: 0 !important;
    position: relative;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

/* Centre the menu in the black bar. Immanuel Suite lines up with the other links. */
.kingster-header-style-plain.kingster-style-menu-right .kingster-navigation,
.kingster-header-style-plain.kingster-style-menu-right .kingster-main-menu {
    float: none !important;
    width: 100% !important;
    text-align: center !important;
    display: block !important;
}

.kingster-main-menu > ul.sf-menu {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    float: none !important;
    vertical-align: middle;
}

.kingster-header-style-plain .kingster-navigation {
    line-height: normal !important;
}

.kingster-main-menu > ul.sf-menu > li {
    float: none !important;
    display: inline-flex !important;
    align-items: center !important;
    position: relative;
}

.kingster-main-menu > ul.sf-menu > li.menu-item-has-children::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: 100%;
    height: 16px;
}

.kingster-main-menu > ul.sf-menu > li:hover > .sf-mega,
.kingster-main-menu > ul.sf-menu > li.sfHover > .sf-mega,
.kingster-main-menu > ul.sf-menu > li:hover > ul.sub-menu,
.kingster-main-menu > ul.sf-menu > li.sfHover > ul.sub-menu {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    top: 100% !important;
    z-index: 10060;
    line-height: 1.45 !important;
}

.kingster-main-menu .sf-mega,
.kingster-main-menu .sf-mega a,
.kingster-main-menu .sf-mega li,
.kingster-main-menu .sub-menu,
.kingster-main-menu .sub-menu a,
.kingster-main-menu .sub-menu li {
    line-height: 1.45 !important;
}

/* Inter on every public page. One place, loaded after the older serif rules. */
body.kingster-body h1,
body.kingster-body h2,
body.kingster-body h3,
body.kingster-body h4,
body.kingster-body h5,
body.kingster-body h6,
body.kingster-body .ios-feature-heading,
body.kingster-body .ios-feature-eyebrow,
body.kingster-body .ios-feature-lead,
body.kingster-body .ios-hero-title,
body.kingster-body .gdlr-core-skin-title,
body.kingster-body .gdlr-core-title-item-title,
body.kingster-body .gdlr-core-title-item-caption,
body.kingster-body .kingster-page-title,
body.kingster-body .kingster-page-caption,
body.kingster-body .kingster-breadcrumbs,
body.kingster-body .kingster-breadcrumbs a,
body.kingster-body .lbl,
body.kingster-body p,
body.kingster-body li,
body.kingster-body a,
body.kingster-body button,
body.kingster-body label,
body.kingster-body input,
body.kingster-body textarea,
body.kingster-body select {
    font-family: "Inter", "Segoe UI", system-ui, sans-serif !important;
}

/* Pastel page banners. A light wash on the left keeps the black title readable. */
.ios-banner-pastel {
    background-size: cover !important;
    background-position: center center !important;
}

.ios-banner-pastel .kingster-page-title-overlay {
    opacity: 1 !important;
    background: linear-gradient(90deg, rgba(255, 255, 255, 0.72) 0%, rgba(255, 255, 255, 0.28) 38%, rgba(255, 255, 255, 0) 68%) !important;
}

.ios-banner-pastel .kingster-page-title-bottom-gradient,
.ios-banner-pastel .kingster-page-title-top-gradient {
    display: none !important;
}

.ios-banner-pastel .kingster-page-title,
.ios-banner-pastel h1.kingster-page-title {
    color: #111111 !important;
    font-weight: 600 !important;
    text-shadow: none !important;
}

.kingster-page-title-wrap.ios-banner-pastel.ios-banner-teaching {
    background-repeat: no-repeat !important;
    background-size: cover !important;
    background-position: center 58% !important;
}

.kingster-page-title-wrap.ios-banner-teaching .kingster-page-title-overlay {
    opacity: 1 !important;
    background:
        linear-gradient(100deg, rgba(176, 168, 220, 0.42) 0%, rgba(150, 186, 220, 0.18) 28%, rgba(255, 255, 255, 0) 58%) !important;
}

body.kingster-body h1,
body.kingster-body h2,
body.kingster-body .ios-feature-heading {
    font-weight: 600 !important;
    letter-spacing: -0.03em;
}

.kingster-page-title,
.kingster-page-title-wrap h1,
.kingster-page-title-wrap .kingster-page-title,
.gdlr-core-page-builder-body [data-skin="Column Service"] h1,
.gdlr-core-page-builder-body [data-skin="Column Service"] h2,
.gdlr-core-page-builder-body [data-skin="Column Service"] h3,
.gdlr-core-page-builder-body [data-skin="Column Service"] h4,
.kingster-footer-wrapper,
.kingster-footer-wrapper a,
.kingster-footer-wrapper h1,
.kingster-footer-wrapper h2,
.kingster-footer-wrapper h3,
.kingster-footer-wrapper h4,
.kingster-footer-wrapper h5,
.kingster-footer-wrapper h6 {
    font-family: "Inter", "Segoe UI", system-ui, sans-serif !important;
}

/* Immanuel Suite sits in the bar like the other links. The callout stays a light card. */
.ios-suite-nav {
    position: relative;
    list-style: none;
    display: inline-flex !important;
    align-items: center !important;
}

.ios-suite-link {
    appearance: none;
    -webkit-appearance: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: transparent;
    border: 0;
    cursor: pointer;
    color: #ffffff !important;
    font-family: "Inter", "Segoe UI", system-ui, sans-serif !important;
    font-size: 15px;
    font-weight: 500 !important;
    letter-spacing: 0;
    padding: 8px 12px;
    margin: 0;
    border-radius: 999px;
    line-height: 1.2;
    vertical-align: middle;
    text-shadow: none;
    box-shadow: none;
    animation: none;
}

.ios-suite-link:hover,
.ios-suite-link:focus-visible,
.ios-suite-nav:hover .ios-suite-link {
    color: #ffffff !important;
    background: rgba(255, 255, 255, 0.14);
    outline: none;
}

.kingster-header-wrap,
.kingster-header-container,
.kingster-header-container-inner,
.kingster-navigation,
.kingster-main-menu,
.kingster-main-menu > ul.sf-menu,
.ios-suite-nav {
    overflow: visible !important;
}

.ios-suite-panel {
    display: block;
    visibility: hidden;
    opacity: 0;
    pointer-events: none;
    position: absolute;
    top: 100%;
    right: 0;
    width: min(360px, 78vw);
    padding: 10px 8px 8px;
    background: #ffffff;
    border: 1px solid #e6e6e6;
    border-radius: 16px;
    box-shadow: 0 12px 40px rgba(0, 0, 0, 0.12);
    z-index: 10050;
    line-height: 1.4 !important;
    text-align: left;
}

.ios-suite-nav:hover .ios-suite-panel,
.ios-suite-nav:focus-within .ios-suite-panel,
.ios-suite-nav.is-open .ios-suite-panel {
    visibility: visible;
    opacity: 1;
    pointer-events: auto;
}

.ios-suite-panel a {
    display: block;
    text-decoration: none !important;
    color: #111111 !important;
    background: #ffffff !important;
    border-radius: 12px;
    padding: 10px 12px;
    line-height: 1.4 !important;
    font-size: 14px !important;
    white-space: normal;
}

.ios-suite-panel a:hover,
.ios-suite-panel a:focus-visible {
    background: #f6f6f6 !important;
    color: #111111 !important;
}

.ios-suite-panel strong {
    display: block;
    font-size: 14px;
    font-weight: 600;
    letter-spacing: -0.02em;
    color: #111111;
}

.ios-suite-new {
    display: inline-block;
    margin-left: 6px;
    padding: 1px 6px 2px;
    border-radius: 999px;
    background: #111111;
    color: #ffffff;
    font-style: normal;
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    line-height: 1.4;
    vertical-align: 1px;
}

#kingster-mobile-menu .ios-suite-new {
    background: #ffffff;
    color: #111111;
}

.ios-suite-panel span {
    display: block;
    margin-top: 2px;
    font-size: 13px;
    font-weight: 400;
    letter-spacing: 0;
    line-height: 1.4;
    color: #5c5c5c;
}

#kingster-mobile-menu .ios-suite-mobile > a {
    font-weight: 600 !important;
}

#kingster-mobile-menu .ios-suite-mobile .sub-menu a {
    display: block;
    white-space: normal;
    line-height: 1.35;
}

#kingster-mobile-menu .ios-suite-mobile .sub-menu span {
    display: block;
    margin-top: 2px;
    font-size: 13px;
    font-weight: 400;
    color: rgba(255, 255, 255, 0.72);
}

@media (max-width: 1260px) {
    .kingster-mobile-header .kingster-logo-inner img {
        height: 44px !important;
    }
}
