/*
Theme Name: ILC
Theme URI: https://ilearningcenter.education/
Description: Custom child theme for Innovative Learning Center
Author: ILC
Template: twentytwentyfour
Version: 1.0.0
Text Domain: ilc-child
*/

/* =========================================================
   ILC GLOBAL TYPOGRAPHY
   Based on the original ILC website
   ========================================================= */

html,
body {
    font-family: 'Mulish', sans-serif !important;
}

body {
    color: #292929 !important;
    font-size: 18px !important;
    font-weight: 300 !important;
    line-height: 30px !important;
}

/* =========================================================
   ILC ICON BOXES
   Remove Elementor card styling
   ========================================================= */

.equal-card {
    border: none;
    border-width: 0;
    border-style: none;
    border-color: transparent;
    border-radius: 0;
    box-shadow: none;
    background: transparent;
}


/* Elementor Icon Box wrapper */

.equal-card .elementor-widget-container {
    border: none !important;
    border-radius: 0;
    box-shadow: none;
}

/* =========================================================
   ILC BRAND COLORS
   ========================================================= */

:root {
    --ilc-navy: #082a52;
    --ilc-navy-2: #18335f;
    --ilc-gold: #ffb11b;
    --ilc-teal: #0b8ea3;
    --ilc-green: #5a9d47;
    --ilc-purple: #7454b5;
    --ilc-aqua: #58abb4;
    --ilc-text: #16345e;
    --ilc-muted: #637083;
    --ilc-border: #e6e9ee;
    --ilc-light: #f5f8fa;
}


/* =========================================================
   DESKTOP SERVICES MEGA MENU
   ========================================================= */

@media (min-width: 1025px) {


    /* -----------------------------------------------------
       HEADER
       ----------------------------------------------------- */

    .elementor-location-header {
        position: relative !important;
        z-index: 9999 !important;
    }

    .elementor-location-header .elementor-widget-nav-menu,
    .elementor-location-header .elementor-widget-nav-menu > .elementor-widget-container,
    .elementor-location-header .elementor-nav-menu--main,
    .elementor-location-header .elementor-nav-menu--main > .elementor-nav-menu,
    .elementor-location-header .ilc-mega-services {
        position: static !important;
    }


    /* =====================================================
       IMPORTANT:
       HIDE MEGA MENU UNTIL JS ADDS .ilc-menu-open
       ===================================================== */

    .elementor-location-header
    .ilc-mega-services
    > .sub-menu {

        position: absolute !important;

        top: calc(100% + 0px) !important;

        left: 12px !important;
        right: 12px !important;

        width: auto !important;
        max-width: none !important;
        min-width: 0 !important;

        margin: 0 !important;

        /*
         * Space on right = promotional panel
         * Space at bottom = benefits strip
         */
        padding: 28px 270px 80px 26px !important;

        box-sizing: border-box !important;

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

        column-gap: 0 !important;
        row-gap: 0 !important;

        background: #ffffff !important;

        border: 1px solid rgba(12, 43, 79, 0.09) !important;

        border-radius: 8px !important;

        box-shadow:
            0 16px 45px rgba(5, 36, 72, 0.16) !important;

        z-index: 99999 !important;


        /* CLOSED STATE */

        display: grid !important;

        opacity: 0 !important;
        visibility: hidden !important;
        pointer-events: none !important;

        transform: translateY(-6px) !important;

        transition:
            opacity 0.18s ease,
            transform 0.18s ease,
            visibility 0s linear 0.18s !important;
    }


    /* -----------------------------------------------------
       OPEN STATE
       ----------------------------------------------------- */

    .elementor-location-header
    .ilc-mega-services.ilc-menu-open
    > .sub-menu {

        opacity: 1 !important;
        visibility: visible !important;
        pointer-events: auto !important;

        transform: translateY(0) !important;

        transition:
            opacity 0.18s ease,
            transform 0.18s ease,
            visibility 0s linear 0s !important;
    }


    /* =====================================================
       SIX SERVICE BLOCKS
       ===================================================== */

    .elementor-location-header
    .ilc-mega-services
    > .sub-menu
    > li {

        position: relative !important;

        display: block !important;

        width: 100% !important;
        min-width: 0 !important;

        margin: 0 !important;

        padding: 0 25px 26px 18px !important;

        box-sizing: border-box !important;

        background: transparent !important;

        border-right: 1px solid var(--ilc-border) !important;
    }


    /* row 2 */

    .elementor-location-header
    .ilc-mega-services
    > .sub-menu
    > li:nth-child(n+4) {

        padding-top: 20px !important;

        border-top: 1px solid #f0f1f3 !important;
    }


    /* third column */

    .elementor-location-header
    .ilc-mega-services
    > .sub-menu
    > li:nth-child(3n) {

        border-right: 0 !important;
    }


    /* =====================================================
       SERVICE TITLE
       ===================================================== */

    .elementor-location-header
    .ilc-mega-services
    > .sub-menu
    > li
    > a {

        position: relative !important;

        display: flex !important;

        align-items: flex-start !important;

        min-height: 62px !important;

        margin: 0 !important;

        padding: 4px 0 0 52px !important;

        box-sizing: border-box !important;

        color: var(--ilc-text) !important;

        background: transparent !important;

        font-size: 13px !important;
        font-weight: 800 !important;

        line-height: 1.15 !important;

        text-transform: uppercase !important;

        white-space: normal !important;

        text-decoration: none !important;

        box-shadow: none !important;

        transform: none !important;
    }


    /* =====================================================
       ROUND ICONS
       ===================================================== */

    .elementor-location-header
    .ilc-mega-services
    > .sub-menu
    > li
    > a::before {

        position: absolute !important;

        left: 0 !important;
        top: 0 !important;

        width: 38px !important;
        height: 38px !important;

        display: flex !important;

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

        border-radius: 50% !important;

        color: #ffffff !important;

        font-family: "Font Awesome 6 Free" !important;
        font-weight: 900 !important;

        font-size: 17px !important;

        line-height: 1 !important;

        box-shadow:
            0 3px 6px rgba(17, 49, 84, 0.13) !important;
    }


    /* -----------------------------------------------------
       ICON 1 - Grant Proposal
       ----------------------------------------------------- */

    .ilc-mega-services
    > .sub-menu
    > li:nth-child(1)
    > a::before {

        content: "\f15c";

        background: var(--ilc-teal) !important;
    }


    /* -----------------------------------------------------
       ICON 2 - Program Evaluation
       ----------------------------------------------------- */

    .ilc-mega-services
    > .sub-menu
    > li:nth-child(2)
    > a::before {

        content: "\f201";

        background: var(--ilc-green) !important;
    }


    /* -----------------------------------------------------
       ICON 3 - Research
       ----------------------------------------------------- */

    .ilc-mega-services
    > .sub-menu
    > li:nth-child(3)
    > a::before {

        content: "\f02d";

        background: var(--ilc-purple) !important;
    }


    /* -----------------------------------------------------
       ICON 4 - Human Subjects
       ----------------------------------------------------- */

    .ilc-mega-services
    > .sub-menu
    > li:nth-child(4)
    > a::before {

        content: "\f0c0";

        background: #ff9500 !important;
    }


    /* -----------------------------------------------------
       ICON 5 - Dashboard
       ----------------------------------------------------- */

    .ilc-mega-services
    > .sub-menu
    > li:nth-child(5)
    > a::before {

        content: "\f200";

        background: var(--ilc-aqua) !important;
    }


    /* -----------------------------------------------------
       ICON 6 - Sustainability
       ----------------------------------------------------- */

    .ilc-mega-services
    > .sub-menu
    > li:nth-child(6)
    > a::before {

        content: "\f06c";

        background: #dda700 !important;
    }


    /* =====================================================
       COLORED SHORT LINE BELOW HEADING AREA
       ===================================================== */

    .elementor-location-header
    .ilc-mega-services
    > .sub-menu
    > li::after {

        content: "";

        display: block;

        width: 35px;
        height: 2px;

        margin: 4px 0 5px 0;

        background: var(--ilc-teal);
    }


    .elementor-location-header
    .ilc-mega-services
    > .sub-menu
    > li:nth-child(2)::after {

        background: var(--ilc-green);
    }


    .elementor-location-header
    .ilc-mega-services
    > .sub-menu
    > li:nth-child(3)::after {

        background: var(--ilc-purple);
    }


    .elementor-location-header
    .ilc-mega-services
    > .sub-menu
    > li:nth-child(4)::after {

        background: #ff9500;
    }


    .elementor-location-header
    .ilc-mega-services
    > .sub-menu
    > li:nth-child(5)::after {

        background: var(--ilc-aqua);
    }


    .elementor-location-header
    .ilc-mega-services
    > .sub-menu
    > li:nth-child(6)::after {

        background: #dda700;
    }


    /* =====================================================
       REMOVE ELEMENTOR PARENT ARROWS
       ===================================================== */

    .elementor-location-header
    .ilc-mega-services
    > .sub-menu
    > li
    > a
    > .sub-arrow {

        display: none !important;
    }


    /* =====================================================
       CHILD SUBMENUS
       ===================================================== */

    .elementor-location-header
    .ilc-mega-services
    > .sub-menu
    > li
    > .sub-menu {

        position: static !important;

        display: block !important;

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

        margin: 0 !important;

        padding: 0 !important;

        background: transparent !important;

        border: 0 !important;
        border-radius: 0 !important;

        box-shadow: none !important;

        opacity: 1 !important;
        visibility: visible !important;

        transform: none !important;

        pointer-events: auto !important;
    }


    .elementor-location-header
    .ilc-mega-services
    > .sub-menu
    > li
    > .sub-menu
    > li {

        display: block !important;

        width: 100% !important;

        margin: 0 !important;
        padding: 0 !important;
    }


    /* =====================================================
       CHILD LINKS
       ===================================================== */

    .elementor-location-header
    .ilc-mega-services
    > .sub-menu
    > li
    > .sub-menu
    > li
    > a {

        position: relative !important;

        display: block !important;

        width: 100% !important;

        margin: 0 !important;

        padding: 5px 18px 5px 14px !important;

        box-sizing: border-box !important;

        color: #30476a !important;

        background: transparent !important;

        font-size: 12px !important;
        font-weight: 500 !important;

        line-height: 1.25 !important;

        white-space: normal !important;

        text-decoration: none !important;

        border: 0 !important;
    }


    /* -----------------------------------------------------
       CHILD ARROW
       ----------------------------------------------------- */

    .elementor-location-header
    .ilc-mega-services
    > .sub-menu
    > li
    > .sub-menu
    > li
    > a::after {

        content: "\f105";

        position: absolute !important;

        right: 0 !important;
        top: 50% !important;

        transform: translateY(-50%) !important;

        font-family: "Font Awesome 6 Free" !important;
        font-weight: 900 !important;

        font-size: 9px !important;

        color: var(--ilc-navy) !important;
    }


    /* =====================================================
       HOVERS
       ===================================================== */

    .elementor-location-header
    .ilc-mega-services
    > .sub-menu
    > li
    > a:hover {

        color: var(--ilc-teal) !important;

        background: transparent !important;

        transform: none !important;
    }


    .elementor-location-header
    .ilc-mega-services
    > .sub-menu
    > li
    > .sub-menu
    > li
    > a:hover {

        color: var(--ilc-teal) !important;

        background: transparent !important;
    }


    /* =====================================================
       PROMO PANEL
       Added through PHP/JS markup
       ===================================================== */

    .ilc-mega-promo {

        position: absolute;

        top: 12px;
        right: 10px;
        bottom: 74px;

        width: 225px;

        overflow: hidden;

        display: flex;
        flex-direction: column;

        background:
            linear-gradient(
                180deg,
                #082b54 0%,
                #06284e 100%
            );

        border-radius: 6px;

        color: #ffffff;

        box-sizing: border-box;
    }


    .ilc-mega-promo-content {

        padding: 20px 21px 14px;

        position: relative;

        z-index: 2;
    }


    .ilc-mega-promo h3 {

        margin: 0 0 9px;

        color: #ffffff;

        font-size: 18px;
        font-weight: 700;

        line-height: 1.25;
    }


    .ilc-mega-promo h3 span {

        display: block;

        color: var(--ilc-gold);
    }


    .ilc-mega-promo-line {

        display: block;

        width: 30px;
        height: 2px;

        margin: 12px 0;

        background: var(--ilc-gold);
    }


    .ilc-mega-promo p {

        margin: 0;

        color: rgba(255,255,255,0.94);

        font-size: 10px;

        line-height: 1.45;
    }


    /* -----------------------------------------------------
       PROMO IMAGE
       ----------------------------------------------------- */

	.ilc-mega-promo-image {
		width: 100%;
		flex: 1 1 auto;
		min-height: 190px;
		
		background-image:
			linear-gradient(
				to bottom,
				rgba(24, 51, 95, 0.90) 0%,
				rgba(24, 51, 95, 0.55) 45%,
				rgba(24, 51, 95, 0.15) 100%
			),
			url('/wp-content/uploads/2026/05/Evaluation-System-Design-for-New-Programs.jpg');

		background-position: center center;
		background-repeat: no-repeat;
		background-size: cover;
	}


    /* -----------------------------------------------------
       CONSULTATION BUTTON
       ----------------------------------------------------- */

    .ilc-mega-promo-actions {

        padding: 12px 20px 10px;
    }


    .ilc-mega-promo-button {

        display: flex;

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

        width: 100%;

        padding: 11px 15px;

        box-sizing: border-box;

        border-radius: 4px;

        background: var(--ilc-gold);

        color: #06284e !important;

        font-size: 11px;
        font-weight: 700;

        text-decoration: none !important;

        transition:
            transform 0.2s ease,
            background-color 0.2s ease;
    }


    .ilc-mega-promo-button:hover {

        background: #ffc044;

        transform: translateY(-1px);
    }


    .ilc-mega-promo-link {

        display: block;

        margin: 10px 0 0;

        color: #ffffff !important;

        font-size: 10px;

        text-decoration: underline !important;
    }


    /* =====================================================
       BOTTOM BENEFITS STRIP
       ===================================================== */

    .ilc-mega-benefits {

        position: absolute;

        left: 0;
        right: 0;
        bottom: 0;

        height: 68px;

        display: grid;

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

        align-items: center;

        padding: 0 25px;

        box-sizing: border-box;

        background:
            linear-gradient(
                90deg,
                #f5fbfd 0%,
                #ffffff 50%,
                #f5fbfd 100%
            );

        border-radius: 0 0 8px 8px;
    }


    .ilc-mega-benefit {

        display: flex;

        align-items: center;

        gap: 10px;

        min-width: 0;

        padding: 0 16px;

        border-right: 1px solid #e4ebef;
    }


    .ilc-mega-benefit:last-child {

        border-right: 0;
    }


    .ilc-mega-benefit-icon {

        flex: 0 0 38px;

        width: 38px;
        height: 38px;

        display: flex;

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

        border: 1.5px solid var(--ilc-teal);

        border-radius: 50%;

        color: var(--ilc-teal);

        font-family: "Font Awesome 6 Free";
        font-weight: 900;

        font-size: 15px;
    }


    .ilc-mega-benefit:nth-child(2)
    .ilc-mega-benefit-icon {

        color: var(--ilc-green);

        border-color: var(--ilc-green);
    }


    .ilc-mega-benefit:nth-child(3)
    .ilc-mega-benefit-icon {

        color: var(--ilc-purple);

        border-color: var(--ilc-purple);
    }


    .ilc-mega-benefit:nth-child(4)
    .ilc-mega-benefit-icon {

        color: #dda700;

        border-color: #dda700;
    }


    .ilc-mega-benefit strong {

        display: block;

        margin-bottom: 2px;

        color: var(--ilc-text);

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

        line-height: 1.2;
    }


    .ilc-mega-benefit span {

        display: block;

        color: #627083;

        font-size: 10px;

        line-height: 1.25;
    }


    /* =====================================================
       SERVICES NAV ARROW
       ===================================================== */

    .ilc-mega-services
    > a
    > .sub-arrow {

        color: inherit !important;
    }

}


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

@media (min-width: 768px) and (max-width: 1024px) {

    .ilc-mega-services
    > .sub-menu {

        position: static !important;

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

        padding: 20px !important;

        margin: 0 !important;

        border-radius: 0 !important;

        box-shadow: none !important;
    }


    .ilc-mega-promo,
    .ilc-mega-benefits {

        display: none !important;
    }

}


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

@media (max-width: 767px) {

    .ilc-mega-services
    > .sub-menu {

        position: static !important;

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

        margin: 0 !important;

        padding: 0 !important;

        border-radius: 0 !important;

        box-shadow: none !important;

        transform: none !important;
    }


    .ilc-mega-promo,
    .ilc-mega-benefits {

        display: none !important;
    }

}

@media (min-width: 1025px) {

    .elementor-nav-menu--main
    .ilc-mega-services
    > .sub-menu {
        transform: translateY(-25px) !important;
    }

}

/* =========================================================
   ILC MEGA MENU - FINAL POSITION / SIZE FIX
   Viewport positioned to avoid right-side clipping
   ========================================================= */

@media (min-width: 1025px) {

    .elementor-location-header
    .ilc-mega-services
    > .sub-menu {
        position: fixed !important;
        top: 125px !important;
        left: 20px !important;
        right: 20px !important;
        width: auto !important;
        min-width: 900px !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 22px 285px 66px 22px !important;
        box-sizing: border-box !important;
        transform: translateY(-5px) !important;
        opacity: 0 !important;
        visibility: hidden !important;
        pointer-events: none !important;
    }

    .elementor-location-header
    .ilc-mega-services.ilc-menu-open
    > .sub-menu {
        transform: translateY(0) !important;
        opacity: 1 !important;
        visibility: visible !important;
        pointer-events: auto !important;
    }

    .elementor-location-header
    .ilc-mega-services
    > .sub-menu
    > li {
        padding: 0 22px 18px 16px !important;
    }

    .elementor-location-header
    .ilc-mega-services
    > .sub-menu
    > li:nth-child(n+4) {
        padding-top: 14px !important;
        padding-bottom: 10px !important;
    }

    .elementor-location-header
    .ilc-mega-services
    > .sub-menu
    > li
    > a {
        min-height: 54px !important;
        padding: 2px 0 0 52px !important;
        font-size: 13px !important;
        line-height: 1.15 !important;
    }

    .elementor-location-header
    .ilc-mega-services
    > .sub-menu
    > li
    > .sub-menu
    > li
    > a {
        padding: 4px 18px 4px 14px !important;
        font-size: 12px !important;
        line-height: 1.3 !important;
    }

    .ilc-mega-promo {
        top: 10px !important;
        right: 10px !important;
        bottom: 64px !important;
        width: 245px !important;
    }

    .ilc-mega-promo-content {
        padding: 16px 18px 10px !important;
    }
	
	.ilc-mega-promo-content p {
		font-size: 9px !important;
	}

    .ilc-mega-promo h3 {
        margin: 0 0 7px !important;
        font-size: 17px !important;
        line-height: 1.2 !important;
    }

    .ilc-mega-promo-line {
        margin: 8px 0 9px !important;
    }

    .ilc-mega-promo p {
        font-size: 9px !important;
        line-height: 1.35 !important;
    }

    .ilc-mega-promo-image {
        min-height: 145px !important;
        background-position: center center !important;
        background-size: cover !important;
    }

    .ilc-mega-promo-actions {
        padding: 9px 18px 8px !important;
    }

    .ilc-mega-promo-button {
        padding: 9px 12px !important;
        font-size: 10px !important;
    }

    .ilc-mega-promo-link {
        margin-top: 7px !important;
        font-size: 9px !important;
    }

    .ilc-mega-benefits {
        height: 64px !important;
        padding: 0 20px !important;
    }

    .ilc-mega-benefit {
        gap: 9px !important;
        padding: 0 15px !important;
    }

    .ilc-mega-benefit-icon {
        flex: 0 0 36px !important;
        width: 36px !important;
        height: 36px !important;
        font-size: 14px !important;
    }

    .ilc-mega-benefit strong {
        font-size: 9px !important;
    }

    .ilc-mega-benefit span {
        font-size: 10px !important;
        line-height: 1.2 !important;
    }
}

@media (min-width: 1025px) and (max-width: 1199px) {
    .elementor-location-header
    .ilc-mega-services
    > .sub-menu {
        left: 12px !important;
        right: 12px !important;
        min-width: 900px !important;
        padding-right: 250px !important;
    }

    .ilc-mega-promo {
        width: 220px !important;
    }
}