/* ==== Auto-generated from blade inline styles ==== */
/* from resources/views/welcome.blade.php */
html {
    scroll-behavior: smooth;
}

.pointer {
    cursor: pointer;
}

.txt-eclip {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.text-decoration-none {
    text-decoration: none !important;
}

.star-bg,
.fa-star-half-alt,
.far {
    color: #e41645;
    font-size: 11px;
}

.cus-hig-us-plan {
    display: -webkit-box;
    max-width: 100%;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    min-height: 35px;
}

.cust-scrool {
    max-height: 100vh !important;
    overflow-y: auto;
    overflow-x: hidden;
}

.cust-scrool::-webkit-scrollbar {
    display: none;
}

@media (max-width: 1199px) and (min-width:992px) {
    /* .custom-cards {
    			margin-top: -345px !important;
			} */
}

.ux-63e0d25d {
    height: 991px;
}

.ux-ef618cae {
    animation-delay: 400ms;
    color: #fff !important
}

.ux-4d9b5486 {
    animation-delay: 600ms;
}

.ux-12148fe0 {
    font-size: 20px;
    padding-bottom: 5px;
}

.ux-63332820 {
    animation-delay: 900ms;
    color: #eee !important
}

.ux-b256aa85 {
    animation-delay: 1100ms;
}

.ux-af888f94 {
    animation-delay: 2100ms;
}

.ux-2fec4c37 {
    animation-delay: 1200ms;
}

.ux-e98e59a1 {
    height: 100px
}

.ux-0fb3c399 {
    background-size: cover
}

.ux-f4908733 {
    outline: 1px solid #ededed
}

.ux-c368eddf {
    max-height: 109px
}

.ux-6b9c179a {
    font-size: 12px
}

.ux-4bca7089 {
    border-bottom: 1px solid rgba(0, 0, 0, .125);
    border-top: 1px solid rgba(0, 0, 0, .125);
}

.ux-d4a6aa87 {
    background-color: #fff
}

.ux-b6d149d0 {
    overflow: scroll;
}

.ux-95782264 {
    width: 150px
}

.ux-8f77872c {
    width: 200px
}

.ux-11e4d352 {
    text-align: right;
    width: 300px
}

.ux-a91718ca {
    text-align: right;
    width: 230px
}

.ux-503022cb {
    height: auto
}

.ux-e543ce4a {
    text-align: right;
    width: 540px
}

/* from resources/views/video/index.blade.php */
.newst {
    position: relative;
    text-align: right;
    height: 420px;
    width: 520px;
}

#gmap_canvas img {
    max-width: none !important;
    background: none !important
}

.ux-17da6b57 {
    margin: 1px;
}

.ux-224b51a7 {
    display: none;
}

.ux-37ccaecd {
    width: 20px
}

/* from resources/views/frontend/welcome.blade.php */
html {
    scroll-behavior: smooth;
}

.pointer {
    cursor: pointer;
}

.txt-eclip {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.text-decoration-none {
    text-decoration: none !important;
}

.star-bg,
.fa-star-half-alt,
.far {
    color: #e41645;
    font-size: 11px;
}

.cus-hig-us-plan {
    display: -webkit-box;
    max-width: 100%;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    min-height: 35px;
}

.cust-scrool {
    max-height: 100vh !important;
    overflow-y: auto;
    overflow-x: hidden;
}

.cust-scrool::-webkit-scrollbar {
    display: none;
}

@media (max-width: 1199px) and (min-width:992px) {
    /* .custom-cards {
    			margin-top: -345px !important;
			} */
}

a:hover {
    color: #0056b3;
    text-decoration: none;
}

/* from resources/views/frontend/welcome.blade.php */
.course-card {
    position: relative;
    display: flex;
    flex-direction: column;
    height: 100%;
    background: linear-gradient(165deg, #141518 0%, #1f2126 65%, #2a1a24 100%);
    border-radius: 18px;
    text-decoration: none;
    overflow: hidden;
    box-shadow: 0 12px 30px rgba(0, 0, 0, .35);
    transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
    border: 1px solid rgba(228, 22, 69, .2);
    will-change: transform;
}

.course-card::before {
    content: "";
    position: absolute;
    inset: 0;
    background: radial-gradient(circle at 92% 8%, rgba(228, 22, 69, .25) 0, rgba(228, 22, 69, 0) 45%);
    pointer-events: none;
}

.course-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 16px 36px rgba(0, 0, 0, .45);
    border-color: rgba(228, 22, 69, .55);
    text-decoration: none;
}

.course-card__media {
    position: relative;
    padding-top: 60%;
    overflow: hidden;
}

.course-card__media::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 48%;
    background: linear-gradient(to top, rgba(17, 18, 20, .9) 0%, rgba(17, 18, 20, 0) 100%);
}

.course-card__media img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .3s ease;
}

.course-card:hover .course-card__media img {
    transform: scale(1.03);
}

.course-card__grade {
    position: absolute;
    top: 14px;
    left: 14px;
    z-index: 2;
    background: rgba(255, 255, 255, .96);
    color: #151515;
    font-size: .7rem;
    font-weight: 700;
    padding: 5px 10px;
    border-radius: 999px;
    text-transform: uppercase;
    letter-spacing: .04em;
}

.course-card__level {
    position: absolute;
    top: 14px;
    right: 14px;
    z-index: 2;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 5px 10px;
    border-radius: 999px;
    font-size: .68rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .04em;
    background: rgba(228, 22, 69, .95);
    color: #fff;
}

.course-card__level i {
    font-size: .72rem;
}

.course-card__body {
    position: relative;
    z-index: 1;
    padding: 16px 16px 14px;
    color: #fff;
    flex: 1;
    display: flex;
    flex-direction: column;
}

.course-card__title {
    font-size: .98rem;
    font-weight: 700;
    color: #fff;
    line-height: 1.35;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.course-card__description {
    margin: 0 0 12px;
    font-size: .78rem;
    line-height: 1.5;
    color: rgba(255, 255, 255, .8);
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    min-height: 52px;
}

.course-card__instructor {
    font-size: .85rem;
    color: rgba(255, 255, 255, .7);
}

.course-card__rating {
    display: flex;
    align-items: center;
    gap: 4px;
    font-size: .85rem;
    color: #f8d36b;
}

.course-card__rating i {
    font-size: .78rem;
}

.course-card__rating .far {
    color: rgba(255, 255, 255, .3);
}

.course-card__rating-value {
    font-weight: 700;
    color: #fff;
}

.course-card__rating-count {
    font-size: .75rem;
    color: rgba(255, 255, 255, .65);
}

.course-card__xp {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 8px 10px;
    border-radius: 10px;
    background: rgba(255, 255, 255, .06);
    border: 1px solid rgba(255, 255, 255, .08);
    margin-bottom: 10px;
}

.course-card__xp-label {
    font-size: .7rem;
    text-transform: uppercase;
    letter-spacing: .07em;
    color: rgba(255, 255, 255, .7);
}

.course-card__xp-value {
    font-size: .82rem;
    font-weight: 700;
    color: #fff;
}

.course-card__topics {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: auto;
}

.course-card__topics p {
    margin: 0;
    font-size: .73rem;
    line-height: 1.45;
    color: rgba(255, 255, 255, .86);
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.course-card__badge {
    background: rgba(228, 22, 69, .16);
    border: 1px solid rgba(228, 22, 69, .35);
    border-radius: 999px;
    padding: 5px 10px;
    font-size: .66rem;
    text-transform: uppercase;
    font-weight: 600;
    letter-spacing: .02em;
    color: rgba(255, 255, 255, .9);
}

.course-card__cta {
    margin-top: 10px;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: #ffb4c6;
    font-size: .78rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .05em;
}

.course-card:hover .course-card__cta {
    color: #fff;
}

.strategy-board-thumb {
    width: 210px;
    height: 210px;
    object-fit: contain;
    border-radius: 18px;
    padding: 8px;
    filter: none;
}

/* MATHNOPOLY lab image — rounded corners on homepage hero + sections */
.mathnopoly-lab-img {
    border-radius: 18px !important;
    overflow: hidden; 
}

.custom-cards .card {
    background: linear-gradient(150deg, #120f16 0%, #1a141d 58%, #2a0f1a 100%) !important;
    border: 1px solid rgba(228, 22, 69, .36) !important;
    box-shadow: 0 18px 44px rgba(0, 0, 0, .42) !important;
    transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
    border-radius: 18px !important;
}

.custom-cards .card::after {
    content: "";
    position: absolute;
    inset: 0;
    background:
        radial-gradient(circle at 88% 10%, rgba(228, 22, 69, .20), transparent 26%),
        radial-gradient(circle at 14% 92%, rgba(228, 22, 69, .14), transparent 30%);
    pointer-events: none;
}

.custom-cards .card .card-body {
    position: relative;
    z-index: 1;
}

.custom-cards .card:hover {
    transform: translateY(-6px);
    border-color: rgba(228, 22, 69, .62) !important;
    box-shadow: 0 22px 46px rgba(0, 0, 0, .55) !important;
}

.custom-cards .card-title {
    color: #fff !important;
    letter-spacing: .03em;
}

.custom-cards .card-text {
    color: rgba(255, 255, 255, .86) !important;
}

.custom-cards .card a {
    color: #ff9cb3 !important;
    font-weight: 700 !important;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    transition: color .2s ease, text-shadow .2s ease, transform .2s ease;
}

.custom-cards .card a:hover {
    color: #ffffff !important;
    text-shadow: 0 0 14px rgba(228, 22, 69, .65);
    transform: translateY(-1px);
}

.custom-cards .card a i {
    transition: transform .2s ease;
}

.custom-cards .card a:hover i {
    transform: translateX(4px);
}

.gamify-image-panel {
    position: relative;
    background: linear-gradient(150deg, #100d13 0%, #1a131b 62%, #290f18 100%);
    border: 1px solid rgba(228, 22, 69, .48);
    border-radius: 16px;
    padding: 9px;
    box-shadow: 0 18px 40px rgba(0, 0, 0, .45), 0 0 0 2px rgba(228, 22, 69, .18) inset;
    overflow: hidden;
}

.gamify-image-panel::before {
    content: "Mission Preview";
    position: absolute;
    top: 12px;
    left: 12px;
    z-index: 2;
    background: linear-gradient(90deg, #e41645, #8f1235);
    color: #fff;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
    padding: 5px 10px;
    border-radius: 999px;
}

.gamify-image-panel img {
    display: block;
    width: 100%;
    height: auto;
    border-radius: 10px;
}

.approach-img-mathnopoly-wheel {
    background: transparent !important;
    background-image: none !important;
    overflow: visible;
    border-radius: 0;
}

.approach-img-mathnopoly-wheel img {
    display: block;
    width: 100%;
    height: auto;
    object-fit: contain;
    object-position: center;
    background: transparent;
}

.hero-video-frame {
    position: relative;
    height: 430px;
    overflow: hidden;
    border-radius: 18px;
    background: transparent;
    border: 0 !important;
    box-shadow: none;
    padding: 0;
}

.hero-video-frame video {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
    border-radius: 18px;
}

.hero-video-poster {
    position: absolute;
    inset: 0;
    z-index: 2;
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center;
    border-radius: 18px;
    background: #0d1f33;
    transition: opacity 0.35s ease, visibility 0.35s ease;
    pointer-events: none;
}

.hero-video-poster.is-hidden {
    opacity: 0;
    visibility: hidden;
}

/* MATHNUSA word: same theme treatment as legacy header (highlighted-word + pencil animation) */
.hero-mathnusa-word .highlighted-word.highlighted-word-animation-1 {
    /* font-size: clamp(1.75rem, 4.5vw, 2.85rem); */
    line-height: 1.05;
    vertical-align: baseline;
}

@media (max-width: 991px) {

    .slider-container.rev_slider_wrapper,
    #revolutionSlider.slider.rev_slider.manual {
        height: auto !important;
        min-height: 0 !important;
    }

    .hero-video-frame {
        height: 340px;
    }
}

.our-services-title-zigzag.custom-title-with-icon {
    position: relative;
    padding-bottom: 14px;
}

.our-services-title-zigzag.custom-title-with-icon:before {
    content: "";
    position: absolute;
    top: auto !important;
    bottom: 0 !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    display: block;
    width: 68px;
    height: 3px;
    background: #e41645 !important;
    border-radius: 999px;
    margin-bottom: 0;
}

.grade-pill-icon,
.course-card-grade-icon {
    display: inline-block;
    vertical-align: middle;
    flex-shrink: 0;
    border-radius: 50%;
    object-fit: cover;
}

.grade-pill-icon {
    width: 22px;
    height: 22px;
    margin-right: 8px;
}

.course-card-grade-icon {
    width: 30px;
    height: 30px;
    min-width: 30px;
    min-height: 30px;
}

.ux-1033dd73 {
    border-radius: 10px;
}

.ux-6e581838 {
    background: #000000;
    padding: 60px 0;
    position: relative;
    min-height: 78vh;
}

.ux-71c99712 {
    position: absolute;
    top: -40px;
    left: -35px;
    width: 140px;
    height: 140px;
    opacity: .18;
}

.ux-4ddb3847 {
    position: absolute;
    bottom: 18px;
    right: -26px;
    width: 110px;
    height: 110px;
    opacity: .16;
}

.ux-2ada863c {
    position: absolute;
    top: 22%;
    right: 14%;
    width: 22px;
    height: 22px;
    background: #e41645;
    border-radius: 50%;
    opacity: .55;
}

.ux-9a071840 {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 24px;
}

.ux-fea24996 {
    text-align: center;
    margin-bottom: 40px;
}

.ux-942e5edc {
    font-size: 13px;
    letter-spacing: 3px;
    text-transform: uppercase;
    color: #9ca3af;
    font-weight: 600;
    margin-bottom: 12px;
}

.ux-84e54bf7 {
    font-size: 32px;
    font-weight: 700;
    color: #f9fafb;
    line-height: 1.2;
    margin-bottom: 16px;
}

.ux-928c553a {
    font-size: 15px;
    color: #d1d5db;
    max-width: 500px;
    margin: 0 auto;
}

.ux-50aefd1f {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px;
    margin-bottom: 40px;
}

.ux-f6a2f11b {
    padding: 8px 22px;
    border-radius: 100px;
    border: 1px solid #e41645;
    background: #e41645;
    color: #ffffff;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
}

.ux-7a1db181 {
    margin-left: 6px;
    font-size: 10px;
    font-weight: 700;
    color: #e41645;
}

.ux-a64bf3b5 {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
    gap: 16px;
}

.ux-70a93ef9 {
    position: absolute;
    top: 10px;
    left: 10px;
    font-size: 10px;
    font-weight: 700;
    padding: 4px 10px;
    border-radius: 20px;
    text-transform: uppercase;
    letter-spacing: 0.6px;
    background: rgba(17, 24, 39, 0.86);
    border: 1px solid rgba(228, 22, 69, .55);
    color: #ffffff;
}

.ux-5ac8ac0d {
    position: absolute;
    top: 10px;
    right: 10px;
    font-size: 11px;
    font-weight: 600;
    padding: 3px 9px;
    border-radius: 20px;
    background: rgba(17, 24, 39, 0.75);
    color: #f9fafb;
}

.ux-a02f25f6 {
    padding: 14px 16px;
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.ux-6cd83f8d {
    font-size: 14px;
    font-weight: 700;
    color: #f9fafb;
    line-height: 1.4;
}

.ux-14f21ab8 {
    font-size: 12px;
    color: #c0c7d3;
    line-height: 1.5;
    flex: 1;
}

.ux-069cf501 {
    padding: 10px 16px 14px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    border-top: 1px solid rgba(255, 255, 255, .08);
}

.ux-dc107b37 {
    font-size: 11px;
    color: #b8c0cd;
}

.ux-1b0549d7 {
    font-size: 11px;
    font-weight: 700;
    color: #ff8ea7;
    display: flex;
    align-items: center;
    gap: 4px;
}

.ux-91b0e2c7 {
    font-size: 16px;
    font-weight: 700;
    color: #f9fafb;
}

.ux-0a7cc8ef {
    font-size: 13px;
    color: #ff8ea7;
    margin-top: 8px;
}

.ux-2a117045 {
    gap: 10px;
}

.ux-d850e378 {
    border-radius: 16px;
}

/* from resources/views/frontend/insights/retrieval-practice-math-retention.blade.php */
.insights-page {
    position: relative;
    background-image: linear-gradient(135deg, rgba(6, 7, 14, 0.93), rgba(22, 5, 14, 0.9)), url('/frontend/landing-page/images/backgrounds/mathnopoly-gamify-bg.jpg');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

.insights-panel {
    background: rgba(15, 19, 35, 0.84);
    border: 1px solid rgba(255, 255, 255, 0.16);
    border-radius: 18px;
    box-shadow: 0 18px 42px rgba(0, 0, 0, 0.34);
    padding: 28px 24px;
}

.insights-badge {
    display: inline-block;
    padding: 6px 12px;
    border-radius: 999px;
    font-size: 12px;
    letter-spacing: 0.6px;
    font-weight: 700;
    text-transform: uppercase;
    color: #fff;
    background: linear-gradient(90deg, #e41645, #f25d7e);
    margin-bottom: 12px;
}

.insights-panel h1,
.insights-panel h3,
.insights-panel p,
.insights-panel li,
.insights-panel ol {
    color: #fff;
}

.insights-panel .meta {
    color: rgba(255, 255, 255, 0.72);
}

.insights-panel ul,
.insights-panel ol {
    padding-left: 22px;
}

.insights-section-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
    margin-top: 24px;
}

.insights-section-card {
    background: linear-gradient(165deg, rgba(13, 16, 29, 0.92), rgba(32, 12, 22, 0.9));
    border: 1px solid rgba(228, 22, 69, 0.3);
    border-radius: 14px;
    padding: 22px 20px;
    box-shadow: 0 12px 28px rgba(0, 0, 0, 0.28);
    height: 100%;
}

.insights-section-title {
    color: #fff;
    font-weight: 700;
    margin-bottom: 12px;
}

.insights-tag {
    display: inline-block;
    margin: 0 8px 8px 0;
    padding: 6px 12px;
    border-radius: 999px;
    border: 1px solid rgba(228, 22, 69, 0.45);
    background: rgba(228, 22, 69, 0.16);
    color: #fff;
    font-size: 12px;
    font-weight: 600;
}

@media (max-width: 991px) {
    .insights-section-grid {
        grid-template-columns: 1fr;
    }
}

/* from resources/views/frontend/insights/domain-level-tracking-math-growth.blade.php */
.insights-page {
    position: relative;
    background-image: linear-gradient(135deg, rgba(6, 7, 14, 0.93), rgba(22, 5, 14, 0.9)), url('/frontend/landing-page/images/backgrounds/mathnopoly-gamify-bg.jpg');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

.insights-panel {
    background: rgba(15, 19, 35, 0.84);
    border: 1px solid rgba(255, 255, 255, 0.16);
    border-radius: 18px;
    box-shadow: 0 18px 42px rgba(0, 0, 0, 0.34);
    padding: 28px 24px;
}

.insights-badge {
    display: inline-block;
    padding: 6px 12px;
    border-radius: 999px;
    font-size: 12px;
    letter-spacing: 0.6px;
    font-weight: 700;
    text-transform: uppercase;
    color: #fff;
    background: linear-gradient(90deg, #e41645, #f25d7e);
    margin-bottom: 12px;
}

.insights-panel h1,
.insights-panel h3,
.insights-panel p,
.insights-panel li,
.insights-panel ol {
    color: #fff;
}

.insights-panel .meta {
    color: rgba(255, 255, 255, 0.72);
}

.insights-panel ul,
.insights-panel ol {
    padding-left: 22px;
}

/* from resources/views/frontend/layouts/landingPage.blade.php */
html {
    scroll-behavior: smooth;
}

.text-black {
    color: #000;
}

.bg-light-silver {
    background: #f7f7f7;
}

.svg-icon {
    height: 100px;
}

.font-white {
    color: #fff !important;
}

.input-border {
    outline: 1px solid #555
}

.text-ellipsis {
    display: block;
    width: 200px;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.text-justify {
    font-size: 1px;
}

/* .btn-nav {
				background: linear-gradient(135deg, #e41645 0%, #292929 80%) !important;
			} */
.dropdown-primary button:hover {
    /* background: linear-gradient(135deg, #292929 0%, #e41645 80%) !important; */
    background-color: #e41645 !important;
    /* color: #dc3545 !important; */
}

.dropdown-primary button {
    font-size: 15px;
    font-weight: 600;
}

.btn-outline-danger {
    color: #fff !important;
}

/* Keep LOGIN / REGISTER compact: theme stretches all nav <li>s to full header height */
@media (min-width: 992px) {
    #header .header-nav-main nav>ul>li.nav-auth-item {
        align-self: center;
        height: auto;
        min-height: 0;
        display: flex;
        align-items: center;
    }
}

#header .header-nav-main nav>ul>li.nav-auth-item>a.nav-auth-btn {
    align-self: center;
}

#header .header-nav-main nav>ul>li>a.nav-auth-btn {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    min-height: 0 !important;
    height: auto !important;
    padding: 4px 14px !important;
    margin: 0 5px !important;
    border-radius: 999px;
    border: 1px solid #e41645 !important;
    background-color: transparent !important;
    color: #e41645 !important;
    line-height: 1.2;
    font-size: 11px;
    white-space: nowrap;
    text-transform: uppercase;
    position: relative;
    top: 0;
    transition: background-color .2s ease, border-color .2s ease, color .2s ease, transform .2s ease;
}

#header .header-nav-main nav>ul>li>a.nav-auth-btn:hover {
    background-color: #e41645 !important;
    border-color: #e41645 !important;
    color: #fff !important;
    transform: scale(0.97);
    min-height: 0 !important;
}

@media only screen and (min-width: 992px) {
    #header .header-column.header-column-logo {
        padding-left: 36px;
    }

    #header .header-logo a {
        display: inline-flex;
        align-items: center;
        margin-left: 28px;
    }

    #header .header-logo img {
        height: 64px;
        width: auto;
        display: block;
        image-rendering: -webkit-optimize-contrast;
    }

    #mainNav {
        display: flex;
        align-items: center;
        flex-wrap: nowrap;
    }

    #header .header-nav-main nav>ul>li.dropdown-primary {
        display: flex;
        align-items: center;
    }
}

.slider-container:after {
    content: '';
    display: block;
    width: 101%;
    height: 100px;
    background-color: #fff;
    position: absolute;
    bottom: -48px;
    left: -1%;
    transform: rotate(2deg);
    z-index: 0 !important;
}

.page-header.page-header-modern.page-header-background:after {
    content: '';
    display: block;
    width: 101%;
    height: 75px;
    left: -3px;
    bottom: -38px;
}

.btn-gradient:not(.btn-outline):active,
.btn-gradient:not(.btn-outline).active {
    background-color: #e41645 !important;
    color: #FFF !important;
}

.btn-gradient:not(.btn-outline) {
    background-color: #e41645 !important;
    color: #FFF;
}

.card-grade-us {
    position: absolute;
    padding: 8px 15px;
    color: #e41645;
    top: 56px;
    border-radius: 50px;
    left: -10px;
    font-weight: 600;
}

.grade .card-grade-us {
    background: #e41645;
    color: #fff;
    top: 10px;
    left: -18px;
    padding: 10px 25px;
}

.fa-check {
    color: #e41645;
}

html .btn-light:hover {
    background-color: none;
}

@media only screen and (max-width: 1199px) and (min-width:992px) {

    #header .header-nav.header-nav-links.header-nav-light-text nav>ul>li>a,
    #header .header-nav.header-nav-line.header-nav-light-text nav>ul>li>a {
        color: #FFF;
        font-size: 12px !important;
    }

    .custom-nav-us button {
        font-size: 12px !important;
    }

}

@media only screen and (max-width: 991px) {

    #header,
    #header.header-transparent,
    #header.header-transparent .header-body,
    #header.header-transparent.header-effect-shrink .header-body,
    #header.header-effect-shrink .header-body,
    #header .header-body {
        background-color: #292929 !important;
    }

    #header .header-container {
        padding-left: 12px !important;
        padding-right: 12px !important;
    }

    #header .header-logo img {
        max-height: 42px;
        width: auto;
    }

    #header .header-logo a {
        margin-left: 0;
    }

    #header .header-nav-main {
        background-color: #292929 !important;
    }

    #header+.main {
        padding-top: 76px;
    }

    #header.header-no-border-bottom .header-nav.header-nav-links nav>ul>li>a,
    #header.header-no-border-bottom .header-nav.header-nav-links nav>ul>li:hover>a {
        text-align: center !important;
    }

    #header .header-nav-main nav>ul>li.dropdown-primary {
        display: flex;
        justify-content: center;
    }

    #header .header-nav-main nav>ul>li.nav-auth-item {
        align-self: center;
        height: auto;
    }

    #header .header-nav-main nav>ul>li>a.nav-auth-btn {
        width: 160px;
        min-height: 0 !important;
        padding: 6px 14px !important;
        margin: 6px auto !important;
        justify-content: center;
    }

    .cus-btn-media {
        background-color: #e41645 !important;
        background: none !important;
        margin: 5px !important;
    }

    .cus-btn-media button {
        background-color: #e41645 !important;
        width: 100% !important;
        border: none !important;
    }
}

/* .our-services{
			top:500px !important;
		} */
.footer-reference {
    background: #292929;
    padding: 0;
}

.footer-reference .footer-shell {
    padding: 42px 0 26px;
}

.footer-reference .footer-shell-inner {
    padding: 0;
}

.footer-reference .footer-brand-title {
    color: #fff;
    font-weight: 700;
    font-size: 14px;
    letter-spacing: .6px;
    text-transform: uppercase;
    margin-bottom: 16px;
}

.footer-reference .footer-copy {
    color: rgba(255, 255, 255, 0.92);
    line-height: 1.6;
    margin-bottom: 0;
}

.footer-reference .footer-col-title {
    color: #fff;
    font-weight: 700;
    font-size: 14px;
    letter-spacing: .6px;
    text-transform: uppercase;
    margin-bottom: 16px;
}

.footer-reference .footer-links-grid {
    display: block;
}

.footer-reference .footer-links {
    list-style: none;
    padding: 0;
    margin: 0;
}

.footer-reference .footer-links li {
    margin-bottom: 10px;
}

.footer-reference .footer-links a {
    color: rgba(255, 255, 255, 0.9);
    text-decoration: none;
    font-weight: 400;
}

.footer-reference .footer-links a:hover {
    color: #ffffff;
}

.footer-reference .footer-bottom-bar {
    background: transparent;
    border-top: 1px solid rgba(255, 255, 255, 0.25);
    color: #fff;
    font-size: 14px;
    padding: 18px 0;
    font-weight: 400;
}

.footer-reference .footer-bottom-bar-inner {
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    flex-wrap: wrap;
}

.footer-reference .footer-copyright {
    margin: 0;
    color: rgba(255, 255, 255, 0.92);
}

.footer-reference .footer-social {
    display: flex;
    gap: 10px;
}

.footer-reference .footer-social a {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(255, 255, 255, 0.65);
    color: #fff;
    text-decoration: none;
    transition: all .2s ease;
}

.footer-reference .footer-social a:hover {
    background: #fff;
    color: #292929;
}

.footer-reference .footer-contact-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.footer-reference .footer-contact-list li {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    color: rgba(255, 255, 255, 0.92);
    margin-bottom: 10px;
}

.footer-reference .footer-contact-list li i {
    width: 16px;
    margin-top: 3px;
}

.footer-reference .footer-company-name {
    white-space: nowrap;
}

@media (max-width: 991px) {
    .footer-reference .footer-shell {
        padding: 30px 0 18px;
    }

    .footer-reference .footer-shell-inner {
        padding: 0;
    }

    .footer-reference .footer-bottom-bar-inner {
        justify-content: center;
        text-align: center;
    }
}

/* ---------------- */
/* from resources/views/frontend/landing-page/peerTutoring.blade.php */
.gamified-page {
    position: relative;
    background-image: linear-gradient(135deg, rgba(6, 7, 14, 0.93), rgba(22, 5, 14, 0.9)), url('/frontend/landing-page/images/backgrounds/mathnopoly-gamify-bg.jpg');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

.gamified-page .gamified-panel {
    position: relative;
    overflow: hidden;
    background: linear-gradient(160deg, rgba(32, 40, 70, 0.94), rgba(19, 23, 44, 0.96));
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 20px;
    box-shadow: 0 26px 64px rgba(0, 0, 0, 0.55), inset 0 1px 0 rgba(255, 255, 255, 0.08);
    padding: 30px 28px;
}

.gamified-page .gamified-panel::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: linear-gradient(90deg, #e41645, #f25d7e, #2b6cff);
}

.gamified-page .gamified-badge {
    display: inline-block;
    padding: 6px 12px;
    border-radius: 999px;
    font-size: 12px;
    letter-spacing: 0.6px;
    font-weight: 700;
    text-transform: uppercase;
    color: #fff;
    background: linear-gradient(90deg, #e41645, #f25d7e);
    margin-bottom: 12px;
}

.gamified-page .section-heading {
    position: relative;
    padding-left: 16px;
}

.gamified-page .section-heading::before {
    content: "";
    position: absolute;
    left: 0;
    top: 7px;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #e41645;
    box-shadow: 0 0 0 4px rgba(228, 22, 69, 0.22);
}

.gamified-page ul.custom-text-4 li {
    margin-bottom: 7px;
}

.gamified-page .gamified-side {
    background: rgba(15, 19, 35, 0.78);
    border: 1px solid rgba(255, 255, 255, 0.15);
    border-radius: 16px;
    padding: 14px;
}

.gamified-page .appear-animation,
.gamified-page [data-appear-animation] {
    opacity: 1 !important;
    animation: none !important;
    transition: none !important;
    transform: none !important;
}

/* from resources/views/frontend/landing-page/howItWorks.blade.php */
.how-page {
    position: relative;
    background-image: linear-gradient(135deg, rgba(6, 7, 14, 0.93), rgba(22, 5, 14, 0.9)), url('/frontend/landing-page/images/backgrounds/mathnopoly-gamify-bg.jpg');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

.how-panel {
    position: relative;
    overflow: hidden;
    background: linear-gradient(160deg, rgba(32, 40, 70, 0.94), rgba(19, 23, 44, 0.96));
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 20px;
    box-shadow: 0 26px 64px rgba(0, 0, 0, 0.55), inset 0 1px 0 rgba(255, 255, 255, 0.08);
    padding: 30px 28px;
}

.how-panel::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: linear-gradient(90deg, #e41645, #f25d7e, #2b6cff);
}

.how-badge {
    display: inline-block;
    padding: 6px 12px;
    border-radius: 999px;
    font-size: 12px;
    letter-spacing: 0.6px;
    font-weight: 700;
    text-transform: uppercase;
    color: #fff;
    background: linear-gradient(90deg, #e41645, #f25d7e);
    margin-bottom: 12px;
}

.how-heading {
    position: relative;
    padding-left: 16px;
}

.how-heading::before {
    content: "";
    position: absolute;
    left: 0;
    top: 8px;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #e41645;
    box-shadow: 0 0 0 4px rgba(228, 22, 69, 0.22);
}

.how-list li {
    margin-bottom: 8px;
}

.how-side {
    background: rgba(15, 19, 35, 0.78);
    border: 1px solid rgba(255, 255, 255, 0.15);
    border-radius: 16px;
    padding: 14px;
}

.how-side img {
    border-radius: 14px;
    box-shadow: 0 12px 24px rgba(0, 0, 0, 0.28);
}

.how-page .appear-animation,
.how-page [data-appear-animation] {
    opacity: 1 !important;
    animation: none !important;
    transition: none !important;
    transform: none !important;
}

/* from resources/views/frontend/landing-page/teachers.blade.php */
.about-page {
    position: relative;
    background-image: linear-gradient(135deg, rgba(6, 7, 14, 0.93), rgba(22, 5, 14, 0.9)), url('/frontend/landing-page/images/backgrounds/mathnopoly-gamify-bg.jpg');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

.about-panel {
    background: rgba(15, 19, 35, 0.84);
    border: 1px solid rgba(255, 255, 255, 0.16);
    border-radius: 18px;
    box-shadow: 0 18px 42px rgba(0, 0, 0, 0.34);
    padding: 28px 24px;
}

.about-badge {
    display: inline-block;
    padding: 6px 12px;
    border-radius: 999px;
    font-size: 12px;
    letter-spacing: 0.6px;
    font-weight: 700;
    text-transform: uppercase;
    color: #fff;
    background: linear-gradient(90deg, #e41645, #f25d7e);
    margin-bottom: 12px;
}

.about-heading {
    position: relative;
    padding-left: 16px;
}

.about-heading::before {
    content: "";
    position: absolute;
    left: 0;
    top: 8px;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #e41645;
    box-shadow: 0 0 0 4px rgba(228, 22, 69, 0.22);
}

.about-list li {
    margin-bottom: 8px;
}

.about-side {
    background: rgba(15, 19, 35, 0.78);
    border: 1px solid rgba(255, 255, 255, 0.15);
    border-radius: 16px;
    padding: 14px;
}

.about-side img {
    border-radius: 14px;
    box-shadow: 0 12px 24px rgba(0, 0, 0, 0.28);
}

.about-page .appear-animation,
.about-page [data-appear-animation] {
    opacity: 1 !important;
    animation: none !important;
    transition: none !important;
    transform: none !important;
}

/* from resources/views/frontend/landing-page/mathnopoly.blade.php */
.gamified-page {
    position: relative;
    background-image: linear-gradient(135deg, rgba(6, 7, 14, 0.93), rgba(22, 5, 14, 0.9)), url('/frontend/landing-page/images/backgrounds/mathnopoly-gamify-bg.jpg');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

.gamified-page .gamified-panel {
    position: relative;
    overflow: hidden;
    background: linear-gradient(160deg, rgba(32, 40, 70, 0.94), rgba(19, 23, 44, 0.96));
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 20px;
    box-shadow: 0 26px 64px rgba(0, 0, 0, 0.55), inset 0 1px 0 rgba(255, 255, 255, 0.08);
    padding: 30px 28px;
}

.gamified-page .gamified-panel::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: linear-gradient(90deg, #e41645, #f25d7e, #2b6cff);
}

.gamified-page .gamified-badge {
    display: inline-block;
    padding: 6px 12px;
    border-radius: 999px;
    font-size: 12px;
    letter-spacing: 0.6px;
    font-weight: 700;
    text-transform: uppercase;
    color: #fff;
    background: linear-gradient(90deg, #e41645, #f25d7e);
    margin-bottom: 12px;
}

.gamified-page .section-heading {
    position: relative;
    padding-left: 16px;
}

.gamified-page .section-heading::before {
    content: "";
    position: absolute;
    left: 0;
    top: 7px;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #e41645;
    box-shadow: 0 0 0 4px rgba(228, 22, 69, 0.22);
}

.gamified-page ul.custom-text-4 li {
    margin-bottom: 7px;
}

.gamified-page .gamified-side {
    background: rgba(15, 19, 35, 0.78);
    border: 1px solid rgba(255, 255, 255, 0.15);
    border-radius: 16px;
    padding: 14px;
}

.gamified-page .gamified-side img {
    border-radius: 12px;
    box-shadow: 0 12px 24px rgba(0, 0, 0, 0.28);
}

.gamified-page .appear-animation,
.gamified-page [data-appear-animation] {
    opacity: 1 !important;
    animation: none !important;
    transition: none !important;
    transform: none !important;
}

/* from resources/views/frontend/landing-page/ourServices.blade.php */
.gamified-page {
    position: relative;
    background-image: linear-gradient(135deg, rgba(6, 7, 14, 0.92), rgba(22, 5, 14, 0.89)), url('/frontend/landing-page/images/backgrounds/mathnopoly-gamify-bg.jpg');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

.gamified-page .gamified-panel {
    position: relative;
    overflow: hidden;
    background: linear-gradient(160deg, rgba(32, 40, 70, 0.94), rgba(19, 23, 44, 0.96));
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 20px;
    box-shadow: 0 26px 64px rgba(0, 0, 0, 0.55), inset 0 1px 0 rgba(255, 255, 255, 0.08);
    padding: 30px 28px;
}

.gamified-page .gamified-panel::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: linear-gradient(90deg, #e41645, #f25d7e, #2b6cff);
}

.gamified-page .gamified-badge {
    display: inline-block;
    padding: 6px 12px;
    border-radius: 999px;
    font-size: 12px;
    letter-spacing: 0.6px;
    font-weight: 700;
    text-transform: uppercase;
    color: #fff;
    background: linear-gradient(90deg, #e41645, #f25d7e);
    margin-bottom: 12px;
}

.gamified-page .section-heading {
    position: relative;
    padding-left: 16px;
}

.gamified-page .section-heading::before {
    content: "";
    position: absolute;
    left: 0;
    top: 7px;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #e41645;
    box-shadow: 0 0 0 4px rgba(228, 22, 69, 0.22);
}

.gamified-page ul.custom-text-4 li {
    margin-bottom: 7px;
}

.gamified-page .gamified-side {
    background: rgba(15, 19, 35, 0.78);
    border: 1px solid rgba(255, 255, 255, 0.16);
    border-radius: 16px;
    padding: 14px;
}

.gamified-page .service-gallery img {
    border-radius: 12px;
    box-shadow: 0 12px 24px rgba(0, 0, 0, 0.28);
}

.gamified-page .appear-animation,
.gamified-page [data-appear-animation] {
    opacity: 1 !important;
    animation: none !important;
    transition: none !important;
    transform: none !important;
}

/* from resources/views/frontend/landing-page/forSchools.blade.php */
.schools-page {
    position: relative;
    background-image: linear-gradient(135deg, rgba(6, 7, 14, 0.93), rgba(22, 5, 14, 0.9)), url('/frontend/landing-page/images/backgrounds/mathnopoly-gamify-bg.jpg');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

.schools-panel {
    background: rgba(15, 19, 35, 0.84);
    border: 1px solid rgba(255, 255, 255, 0.16);
    border-radius: 18px;
    box-shadow: 0 18px 42px rgba(0, 0, 0, 0.34);
    padding: 28px 24px;
}

.schools-badge {
    display: inline-block;
    padding: 6px 12px;
    border-radius: 999px;
    font-size: 12px;
    letter-spacing: 0.6px;
    font-weight: 700;
    text-transform: uppercase;
    color: #fff;
    background: linear-gradient(90deg, #e41645, #f25d7e);
    margin-bottom: 12px;
}

.schools-heading {
    position: relative;
    padding-left: 16px;
}

.schools-heading::before {
    content: "";
    position: absolute;
    left: 0;
    top: 8px;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #e41645;
    box-shadow: 0 0 0 4px rgba(228, 22, 69, 0.22);
}

.schools-list {
    padding-left: 18px;
}

.schools-list li {
    margin-bottom: 8px;
}

.schools-dashboard {
    border: 2px dashed rgba(228, 22, 69, 0.36);
    border-radius: 14px;
    min-height: 240px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: rgba(255, 255, 255, 0.82);
    font-weight: 600;
    letter-spacing: 0.3px;
    background: rgba(255, 255, 255, 0.05);
}

.schools-cta-wrap {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

.schools-page .appear-animation,
.schools-page [data-appear-animation] {
    opacity: 1 !important;
    animation: none !important;
    transition: none !important;
    transform: none !important;
}

/* from resources/views/frontend/landing-page/schoolLeaders.blade.php */
.about-page {
    position: relative;
    background-image: linear-gradient(135deg, rgba(6, 7, 14, 0.93), rgba(22, 5, 14, 0.9)), url('/frontend/landing-page/images/backgrounds/mathnopoly-gamify-bg.jpg');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

.about-panel {
    background: rgba(15, 19, 35, 0.84);
    border: 1px solid rgba(255, 255, 255, 0.16);
    border-radius: 18px;
    box-shadow: 0 18px 42px rgba(0, 0, 0, 0.34);
    padding: 28px 24px;
}

.about-badge {
    display: inline-block;
    padding: 6px 12px;
    border-radius: 999px;
    font-size: 12px;
    letter-spacing: 0.6px;
    font-weight: 700;
    text-transform: uppercase;
    color: #fff;
    background: linear-gradient(90deg, #e41645, #f25d7e);
    margin-bottom: 12px;
}

.about-heading {
    position: relative;
    padding-left: 16px;
}

.about-heading::before {
    content: "";
    position: absolute;
    left: 0;
    top: 8px;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #e41645;
    box-shadow: 0 0 0 4px rgba(228, 22, 69, 0.22);
}

.about-list li {
    margin-bottom: 8px;
}

.about-side {
    background: rgba(15, 19, 35, 0.78);
    border: 1px solid rgba(255, 255, 255, 0.15);
    border-radius: 16px;
    padding: 14px;
}

.about-side img {
    border-radius: 14px;
    box-shadow: 0 12px 24px rgba(0, 0, 0, 0.28);
}

.about-page .appear-animation,
.about-page [data-appear-animation] {
    opacity: 1 !important;
    animation: none !important;
    transition: none !important;
    transform: none !important;
}

/* from resources/views/frontend/landing-page/forFamilies.blade.php */
.families-page {
    position: relative;
    background-image: linear-gradient(135deg, rgba(6, 7, 14, 0.93), rgba(22, 5, 14, 0.9)), url('/frontend/landing-page/images/backgrounds/mathnopoly-gamify-bg.jpg');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

.families-panel {
    background: rgba(15, 19, 35, 0.84);
    border: 1px solid rgba(255, 255, 255, 0.16);
    border-radius: 18px;
    box-shadow: 0 18px 42px rgba(0, 0, 0, 0.34);
    padding: 28px 24px;
}

.families-badge {
    display: inline-block;
    padding: 6px 12px;
    border-radius: 999px;
    font-size: 12px;
    letter-spacing: 0.6px;
    font-weight: 700;
    text-transform: uppercase;
    color: #fff;
    background: linear-gradient(90deg, #e41645, #f25d7e);
    margin-bottom: 12px;
}

.families-heading {
    position: relative;
    padding-left: 16px;
}

.families-heading::before {
    content: "";
    position: absolute;
    left: 0;
    top: 8px;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #e41645;
    box-shadow: 0 0 0 4px rgba(228, 22, 69, 0.22);
}

.families-list {
    padding-left: 18px;
}

.families-list li {
    margin-bottom: 8px;
}

.families-dashboard {
    border: 2px dashed rgba(228, 22, 69, 0.34);
    border-radius: 14px;
    min-height: 220px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: rgba(255, 255, 255, 0.82);
    font-weight: 600;
    letter-spacing: 0.3px;
    background: rgba(255, 255, 255, 0.05);
}

.families-cta-wrap {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

.families-hero-image {
    max-width: 920px;
    margin-left: auto;
    margin-right: auto;
}

.families-hero-img {
    display: block;
    width: 100%;
    height: auto;
    border-radius: 14px;
    box-shadow: 0 14px 36px rgba(0, 0, 0, 0.35);
}

.families-page .appear-animation,
.families-page [data-appear-animation] {
    opacity: 1 !important;
    animation: none !important;
    transition: none !important;
    transform: none !important;
}

/* from resources/views/frontend/landing-page/aboutUs.blade.php */
.about-page {
    position: relative;
    background-image: linear-gradient(135deg, rgba(6, 7, 14, 0.93), rgba(22, 5, 14, 0.9)), url('/frontend/landing-page/images/backgrounds/mathnopoly-gamify-bg.jpg');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

.about-panel {
    background: rgba(15, 19, 35, 0.84);
    border: 1px solid rgba(255, 255, 255, 0.16);
    border-radius: 18px;
    box-shadow: 0 18px 42px rgba(0, 0, 0, 0.34);
    padding: 28px 24px;
}

.about-badge {
    display: inline-block;
    padding: 6px 12px;
    border-radius: 999px;
    font-size: 12px;
    letter-spacing: 0.6px;
    font-weight: 700;
    text-transform: uppercase;
    color: #fff;
    background: linear-gradient(90deg, #e41645, #f25d7e);
    margin-bottom: 12px;
}

.about-heading {
    position: relative;
    padding-left: 16px;
}

.about-heading::before {
    content: "";
    position: absolute;
    left: 0;
    top: 8px;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #e41645;
    box-shadow: 0 0 0 4px rgba(228, 22, 69, 0.22);
}

.about-list li {
    margin-bottom: 8px;
}

.about-side {
    background: rgba(15, 19, 35, 0.78);
    border: 1px solid rgba(255, 255, 255, 0.15);
    border-radius: 16px;
    padding: 14px;
}

.about-side img {
    border-radius: 14px;
    box-shadow: 0 12px 24px rgba(0, 0, 0, 0.28);
}

.about-page .appear-animation,
.about-page [data-appear-animation] {
    opacity: 1 !important;
    animation: none !important;
    transition: none !important;
    transform: none !important;
}

.ux-6d062ed5 {
    border-radius: 14px;
}

/* from resources/views/frontend/landing-page/parents.blade.php */
.about-page {
    position: relative;
    background-image: linear-gradient(135deg, rgba(6, 7, 14, 0.93), rgba(22, 5, 14, 0.9)), url('/frontend/landing-page/images/backgrounds/mathnopoly-gamify-bg.jpg');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

.about-panel {
    background: rgba(15, 19, 35, 0.84);
    border: 1px solid rgba(255, 255, 255, 0.16);
    border-radius: 18px;
    box-shadow: 0 18px 42px rgba(0, 0, 0, 0.34);
    padding: 28px 24px;
}

.about-badge {
    display: inline-block;
    padding: 6px 12px;
    border-radius: 999px;
    font-size: 12px;
    letter-spacing: 0.6px;
    font-weight: 700;
    text-transform: uppercase;
    color: #fff;
    background: linear-gradient(90deg, #e41645, #f25d7e);
    margin-bottom: 12px;
}

.about-heading {
    position: relative;
    padding-left: 16px;
}

.about-heading::before {
    content: "";
    position: absolute;
    left: 0;
    top: 8px;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #e41645;
    box-shadow: 0 0 0 4px rgba(228, 22, 69, 0.22);
}

.about-list li {
    margin-bottom: 8px;
}

.about-side {
    background: rgba(15, 19, 35, 0.78);
    border: 1px solid rgba(255, 255, 255, 0.15);
    border-radius: 16px;
    padding: 14px;
}

.about-side img {
    border-radius: 14px;
    box-shadow: 0 12px 24px rgba(0, 0, 0, 0.28);
}

.about-page .appear-animation,
.about-page [data-appear-animation] {
    opacity: 1 !important;
    animation: none !important;
    transition: none !important;
    transform: none !important;
}

/* from resources/views/frontend/landing-page/course/allCourses.blade.php */
.cus-btn-par-us button {
    border: 2px solid #e41645 !important;
    color: #fff;
}

html .bg-color-hover-primary:hover .cus-btn-par-us button {

    border: 2px solid #fff !important;
    color: #fff;
}

html .bg-hover-primary:hover .cus-btn-par-us button {

    border-color: 2px solid #fff !important;
    color: #fff;
}

.page-header.page-header-modern.page-header-background {
    padding: 40px 0 200px;
    margin-bottom: 0;
    background-position: 0 100%;
    bottom: 2px;
}

/* .page-header.page-header-modern.page-header-background:after {
                content: '';
                display: block;
                width: 101%;
                height: 75px;
                left:-3px;
                bottom:-38px;
            } */
.thumb-info-side-image-custom .thumb-info-caption h4 {
    margin: 12px 0 0 0;
}

.cour-cus-us {
    flex-direction: row;
    box-shadow: 0px 11px 15px -7px rgba(0, 0, 0, 0.2), 0px 24px 38px 3px rgba(0, 0, 0, 0.14), 0px 9px 46px 8px rgba(0, 0, 0, 0.12);
}

.cus-topic-priz {
    text-align: right;
}

.cus-curs-btn {
    position: absolute;
    bottom: 15px;
    right: 15px;
}

.cus-curs-txt {
    position: absolute;
    bottom: 8px;
    right: 15px;
}

.star-bg,
.fa-star-half-alt,
.far {
    color: #e41645;
    font-size: 11px;
}

.txt-eclip {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.cus-topic-priz {
    padding-top: .5rem;
}

.cus-elicp-title {
    display: -webkit-box;
    max-width: 100%;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    min-height: 70px;
}

.card-grade-us {
    top: 35px;
    z-index: 9;
    background: #eebb4d;
    color: #fff;
    padding: 10px 25px;
    left: -18px;
}

@media only screen and (max-width: 991px) {
    .cus-topic-priz {
        text-align: left;
        padding-top: 0 !important;
    }

    .cus-curs-btn {
        position: relative;
        bottom: 0px;
        left: 0px;
        float: left;
        margin-bottom: 15px;
    }

    .cus-curs-txt {
        position: relative;
        bottom: 8px;
        left: 0px;
        float: left;
        margin-bottom: 15px;
        padding-left: 0;
    }
}

@media only screen and (min-width: 991px) {
    .cus-card-cours {
        display: flex;
    }
}

@media only screen and (max-width: 991px) and (min-width:767px) {
    .cus-card-cours {
        max-width: 48%;
        margin: 15px 5px !important;
    }

    .cus-curs-txt {
        position: relative;
        bottom: 0px;
        left: 0px;
        float: left;
        margin-bottom: 15px;
        padding-left: 0;
    }
}

.ux-f32b34e0 {
    animation-delay: 200ms;
}

.ux-b3a15a8a {
    width: 100px
}

.ux-950c231a {
    list-style: none;
    padding-right: 25px
}

.ux-d41d8cd9 {}

/* from resources/views/frontend/landing-page/course/courseTopics.blade.php */
.page-header.page-header-modern.page-header-background {
    padding: 40px 0 200px;
    margin-bottom: 0;
    background-position: 0 100%;
    bottom: 2px;
}

.cust-scrool {
    max-height: 100vh !important;
    overflow-y: auto;
    overflow-x: hidden;
}

.cust-scrool::-webkit-scrollbar {
    display: none;
}

.ux-44a275ea {
    position: absolute;
    display: block;
    overflow: visible;
}

.ux-e30f5882 {
    color: #fff !important
}

/* from resources/views/frontend/landing-page/section/courseSections.blade.php */
/* ---------- Udemy-style course page ---------- */
:root {
    --uc-theme-primary: #e41645;
    --uc-theme-primary-dark: #bf1239;
    --uc-theme-dark: #1c1d1f;
    --uc-theme-dark-2: #2d2f31;
}

.uc-hero {
    background: linear-gradient(135deg, var(--uc-theme-dark) 0%, var(--uc-theme-dark-2) 100%);
    color: #fff;
    padding: 56px 0 64px;
    position: relative;
    overflow: hidden;
}

.uc-hero .breadcrumb {
    background: transparent !important;
    margin-bottom: 10px;
    padding: 0;
}

.uc-hero .breadcrumb-light li,
.uc-hero .breadcrumb-light li a {
    color: #d1d7dc;
}

.uc-hero .breadcrumb-light li.active {
    color: #fff;
}

.uc-hero h1 {
    font-size: 2rem;
    font-weight: 800;
    color: #fff;
    margin: 0 0 12px;
    line-height: 1.25;
}

.uc-hero .uc-grade {
    display: inline-block;
    padding: 2px 10px;
    background: rgba(255, 255, 255, .12);
    border-radius: 4px;
    font-size: .85rem;
    margin-left: 8px;
    vertical-align: middle;
}

.uc-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 18px;
    align-items: center;
    margin-top: 12px;
    font-size: .92rem;
    color: #d1d7dc;
}

.uc-meta .uc-rating-num {
    color: #f3ca8c;
    font-weight: 700;
    margin-right: 4px;
}

.uc-meta .bi-star-fill {
    color: #f3ca8c;
    font-size: 14px;
}

.uc-meta .bi-star {
    color: #f3ca8c;
    font-size: 14px;
}

.uc-meta .uc-meta-item {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

/* ---------- Body ---------- */
.uc-body {
    background: #fff;
    padding: 40px 0 64px;
}

.uc-section-title {
    font-size: 1.5rem;
    font-weight: 700;
    color: #1c1d1f;
    margin: 0 0 6px;
}

.uc-section-sub {
    color: #6a6f73;
    font-size: .9rem;
    margin-bottom: 20px;
}

/* Vertical tabs (sections) */
.uc-curriculum {
    border: 1px solid #e6e8ea;
    border-radius: 6px;
    overflow: hidden;
    background: #fff;
}

.uc-curriculum .row {
    margin: 0;
}

.uc-tabs-col {
    background: #f7f9fa;
    border-right: 1px solid #e6e8ea;
    padding: 0;
}

.uc-tabs-col .nav-tabs {
    flex-direction: column;
    border: 0;
    margin: 0;
    padding: 0;
}

.uc-tabs-col .nav-item {
    margin: 0;
    list-style: none;
}

.uc-tabs-col .nav-link {
    display: block;
    padding: 14px 18px;
    border: 0;
    border-bottom: 1px solid #e6e8ea;
    border-radius: 0;
    color: #1c1d1f;
    background: transparent;
    font-weight: 600;
    font-size: .95rem;
    line-height: 1.35;
    text-transform: none;
    position: relative;
    transition: background .15s ease;
}

.uc-tabs-col .nav-link:hover {
    background: #eef0f2;
    color: #1c1d1f;
}

.uc-tabs-col .nav-item.active .nav-link,
.uc-tabs-col .nav-link.active {
    background: #fff;
    color: #1c1d1f;
    box-shadow: inset 4px 0 0 var(--uc-theme-primary);
}

.uc-tab-meta {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 8px;
    margin-top: 4px;
    font-weight: 500;
    font-size: .8rem;
    color: #6a6f73;
}

.uc-tab-meta .uc-enrolled {
    background: #eceb98;
    color: #3d3c0a;
    padding: 1px 8px;
    border-radius: 999px;
    font-size: .72rem;
    font-weight: 700;
}

/* Right content pane */
.uc-pane-col {
    padding: 0;
    background: #fff;
}

.uc-pane {
    padding: 24px;
}

.uc-pane>.tab-pane {
    display: none;
}

.uc-pane>.tab-pane.active {
    display: block;
}

.uc-cta-card {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    background: #f7f9fa;
    border: 1px solid #e6e8ea;
    border-radius: 6px;
    padding: 14px 18px;
    margin-bottom: 20px;
}

.uc-cta-card .uc-cta-text {
    color: #1c1d1f;
    font-weight: 600;
}

.uc-cta-card .uc-cta-text small {
    display: block;
    color: #6a6f73;
    font-weight: 400;
    font-size: .82rem;
}

.uc-cta-btn {
    background: var(--uc-theme-primary);
    color: #fff;
    font-weight: 700;
    padding: 10px 22px;
    border: 0;
    border-radius: 4px;
    text-transform: none;
    font-size: .95rem;
    transition: background .15s ease;
}

.uc-cta-btn:hover {
    background: var(--uc-theme-primary-dark);
    color: #fff;
}

.uc-cta-purchased {
    color: #1e7c5a;
    font-weight: 700;
    background: #e6f4ed;
    padding: 8px 16px;
    border-radius: 4px;
    font-size: .9rem;
}

/* Lecture items */
.uc-lectures {
    list-style: none;
    padding: 0;
    margin: 0;
}

.uc-lecture {
    border: 1px solid #e6e8ea;
    border-radius: 6px;
    padding: 16px 18px;
    margin-bottom: 10px;
    background: #fff;
    transition: border-color .15s ease, box-shadow .15s ease;
}

.uc-lecture:hover {
    border-color: #c4c8cb;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .04);
}

.uc-lecture-head {
    display: flex;
    align-items: flex-start;
    gap: 12px;
}

.uc-lecture-icon {
    flex-shrink: 0;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: #f7f9fa;
    color: #6a6f73;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    margin-top: 2px;
}

.uc-lecture-body {
    flex-grow: 1;
    min-width: 0;
}

.uc-lecture-title {
    font-size: 1rem;
    font-weight: 600;
    color: #1c1d1f;
    margin: 0 0 6px;
    line-height: 1.4;
}

.uc-lecture-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
    margin-bottom: 8px;
}

.uc-chip {
    display: inline-block;
    padding: 2px 10px;
    background: #f1f3f5;
    color: #3e4143;
    border-radius: 999px;
    font-size: .75rem;
    font-weight: 500;
}

.uc-lecture-outline {
    color: #3e4143;
    font-size: .92rem;
    line-height: 1.55;
    margin: 0;
    display: flow-root;
    /* contain floats from editor html */
    overflow-wrap: anywhere;
}

.uc-lecture-outline>*:first-child {
    margin-top: 0 !important;
}

.uc-lecture-outline>*:last-child {
    margin-bottom: 0 !important;
}

.uc-lecture-outline p {
    margin: 0 0 10px;
    white-space: normal;
}

.uc-lecture-outline ul,
.uc-lecture-outline ol {
    margin: 0 0 10px;
    padding-left: 22px;
}

.uc-lecture-outline li {
    margin-bottom: 6px;
}

.uc-lecture-outline table,
.uc-lecture-outline img,
.uc-lecture-outline iframe,
.uc-lecture-outline video {
    max-width: 100% !important;
}

.uc-lecture-outline table {
    display: block;
    overflow-x: auto;
}

.uc-empty {
    text-align: center;
    padding: 40px 16px;
    color: #6a6f73;
}

/* Reviews */
.uc-reviews {
    margin-top: 40px;
}

.uc-reviews-head {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 24px;
    margin-bottom: 20px;
}

.uc-reviews-avg {
    display: flex;
    align-items: center;
    gap: 12px;
}

.uc-reviews-avg .uc-avg-num {
    font-size: 2.2rem;
    font-weight: 800;
    color: #1c1d1f;
    line-height: 1;
}

.uc-reviews-avg .uc-avg-label {
    color: #6a6f73;
    font-size: .85rem;
    margin-top: 2px;
}

.uc-review-card {
    border-bottom: 1px solid #e6e8ea;
    padding: 16px 0;
}

.uc-review-card:last-child {
    border-bottom: 0;
}

.uc-review-head {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 6px;
}

.uc-avatar {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: #1c1d1f;
    color: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    font-size: 14px;
    text-transform: uppercase;
    object-fit: cover;
}

.uc-review-name {
    font-weight: 700;
    color: #1c1d1f;
}

.uc-review-stars .bi-star-fill,
.uc-review-stars .bi-star {
    font-size: 14px;
    color: #f3ca8c;
}

.uc-course-page .uc-rating-picker {
    display: flex;
    align-items: center;
    gap: 6px
}

.uc-course-page .uc-rating-star-btn {
    background: transparent;
    border: 0;
    padding: 0;
    cursor: pointer;
    line-height: 1
}

.uc-course-page .uc-rating-star-btn .bi {
    font-size: 22px;
    color: #f8d47a;
    transition: color .15s ease
}

.uc-course-page .uc-rating-star-btn.active .bi {
    color: #f4b400
}

.uc-review-comment {
    color: #3e4143;
    font-size: .92rem;
    margin: 4px 0 0;
}

.uc-review-form {
    margin-top: 24px;
    padding: 20px;
    background: #f7f9fa;
    border: 1px solid #e6e8ea;
    border-radius: 6px;
}

.uc-review-form textarea {
    border: 1px solid #e6e8ea;
    border-radius: 4px;
    padding: 10px 12px;
    font-size: .92rem;
}

.uc-review-form .btn-primary {
    background: var(--uc-theme-primary);
    border-color: var(--uc-theme-primary);
    font-weight: 700;
}

.uc-review-form .btn-primary:hover {
    background: var(--uc-theme-primary-dark);
    border-color: var(--uc-theme-primary-dark);
}

@media (max-width: 991.98px) {
    .uc-tabs-col {
        border-right: 0;
        border-bottom: 1px solid #e6e8ea;
    }
}

.ux-f861301b {
    font-size: 28px;
}

.ux-ca5fda2e {
    font-size: 36px;
}

/* from resources/views/frontend/landing-page/packages/packageCourses.blade.php */
.cus-btn-par-us button {
    border: 2px solid #e41645 !important;
    color: #fff;
}

html .bg-color-hover-primary:hover .cus-btn-par-us button {

    border: 2px solid #fff !important;
    color: #fff;
}

html .bg-hover-primary:hover .cus-btn-par-us button {

    border-color: 2px solid #fff !important;
    color: #fff;
}

.page-header.page-header-modern.page-header-background {
    padding: 40px 0 200px;
    margin-bottom: 0;
    background-position: 0 100%;
    bottom: 2px;
}

/* .page-header.page-header-modern.page-header-background:after {
                content: '';
                display: block;
                width: 101%;
                height: 75px;
                left:-3px;
                bottom:-38px;
            } */
.thumb-info-side-image-custom .thumb-info-caption h4 {
    margin: 12px 0 0 0;
}

.cour-cus-us {
    flex-direction: row;
    box-shadow: 0px 11px 15px -7px rgba(0, 0, 0, 0.2), 0px 24px 38px 3px rgba(0, 0, 0, 0.14), 0px 9px 46px 8px rgba(0, 0, 0, 0.12);
}

.cus-topic-priz {
    text-align: right;
}

.cus-curs-btn {
    position: absolute;
    bottom: 15px;
    right: 15px;
}

.star-bg,
.fa-star-half-alt,
.far {
    color: #e41645;
    font-size: 11px;
}

.cus-curs-btn {
    position: absolute;
    bottom: 15px;
    right: 15px;
}

.cus-curs-txt {
    position: absolute;
    bottom: 8px;
    right: 15px;
}

.cus-topic-priz {
    padding-top: .5rem;
}

.txt-eclip {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.cus-elicp-title {
    display: -webkit-box;
    max-width: 100%;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    min-height: 70px;
}

.card-grade-us {
    top: 35px;
    z-index: 9;
    background: #eebb4d;
    color: #fff;
    padding: 10px 25px;
    left: -18px;
}

@media only screen and (max-width: 991px) {
    .cus-topic-priz {
        text-align: left;
        padding-top: 0 !important;
    }

    .cus-curs-btn {
        position: relative;
        bottom: 0px;
        left: 0px;
        float: left;
        margin-bottom: 15px;
    }

    .cus-curs-txt {
        position: relative;
        bottom: 8px;
        left: 0px;
        float: left;
        margin-bottom: 15px;
        padding-left: 0;
    }

}

@media only screen and (min-width: 991px) {
    .cus-card-cours {
        display: flex;
    }
}

@media only screen and (max-width: 991px) and (min-width:767px) {
    .cus-card-cours {
        max-width: 48%;
        margin: 15px 5px !important;
    }

    .cus-curs-txt {
        position: relative;
        bottom: 0px;
        left: 0px;
        float: left;
        margin-bottom: 15px;
        padding-left: 0;
    }
}

.ux-b39739df {
    padding-right: 25px
}

/* from resources/views/frontend/landing-page/packages/allPackages.blade.php */
.cus-btn-par-us button {
    border: 2px solid #e41645 !important;
    color: #fff;
}

html .bg-color-hover-primary:hover .cus-btn-par-us button {

    border: 2px solid #fff !important;
    color: #fff;
}

html .bg-hover-primary:hover .cus-btn-par-us button {

    border-color: 2px solid #fff !important;
    color: #fff;
}

.page-header.page-header-modern.page-header-background {
    padding: 40px 0 200px;
    margin-bottom: 0;
    background-position: 0 100%;
    bottom: 2px;
}

/* .page-header.page-header-modern.page-header-background:after {
                content: '';
                display: block;
                width: 101%;
                height: 75px;
                left:-3px;
                bottom:-38px;
            } */
.thumb-info-side-image-custom .thumb-info-caption h4 {
    margin: 12px 0 0 0;
}

.cour-cus-us {
    flex-direction: row;
    box-shadow: 0px 11px 15px -7px rgba(0, 0, 0, 0.2), 0px 24px 38px 3px rgba(0, 0, 0, 0.14), 0px 9px 46px 8px rgba(0, 0, 0, 0.12);
}

.cus-topic-priz {
    text-align: right;
}

.cus-curs-btn {
    position: absolute;
    bottom: 15px;
    right: 15px;
}

.star-bg,
.fa-star-half-alt,
.far {
    color: #e41645;
    font-size: 11px;
}

.fa-check {
    color: #e41645;
}

.cus-curs-btn {
    position: absolute;
    bottom: 15px;
    right: 15px;
}

.cus-curs-txt {
    position: absolute;
    bottom: 8px;
    right: 15px;
}

.cus-topic-priz {
    padding-top: .5rem;
}

.txt-eclip {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.card-grade-us {
    top: 35px;
    z-index: 9;
    background: #eebb4d;
    color: #fff;
    padding: 10px 25px;
    left: -18px;
}

@media only screen and (max-width: 991px) {
    .cus-topic-priz {
        text-align: left;
        padding-top: 0 !important;
    }

    .cus-curs-btn {
        position: relative;
        bottom: 0px;
        left: 0px;
        float: left;
        margin-bottom: 15px;
    }

    .cus-hig-us {
        min-height: 80px;
    }

    .cus-curs-txt {
        position: relative;
        bottom: 8px;
        left: 0px;
        float: left;
        margin-bottom: 15px;
        padding-left: 0;
    }
}

@media only screen and (min-width: 991px) {
    .cus-card-cours {
        display: flex;
    }

    .cus-hig-us {
        min-height: 60px;
    }
}

@media only screen and (max-width: 991px) and (min-width:767px) {
    .cus-card-cours {
        max-width: 48%;
        margin: 15px 5px !important;
    }

    .cus-hig-us {
        min-height: 105px;
    }

    .cus-curs-txt {
        position: relative;
        bottom: 0px;
        left: 0px;
        float: left;
        margin-bottom: 15px;
        padding-left: 0;
    }
}

@media only screen and (min-width: 1200px) {

    .cus-hig-us {
        min-height: 90px;
    }
}

@media only screen and (min-width: 1240px) {

    .cus-hig-us {
        min-height: 100px;
    }
}

.ux-59fcdf86 {
    min-height: 0px
}

/* from resources/views/auth/register.blade.php */
@media screen and (max-width:767px) {
    .img-auto-adjust {
        width: 100%;
    }
}

.select2-selection__rendered {
    margin-left: 26px;
    color: #3b4781 !important;
}

.ux-82954f4b {
    padding-bottom: 0
}

/* from resources/views/auth/login.blade.php */
@media screen and (max-width:767px) {
    /* .overflow {
                overflow:hidden;
                padding-top:15px;
            } */

    .img-auto-adjust {
        width: 100%;
    }
}

/* from resources/views/classes/index.blade.php */
#whiteboard {
    margin-left: 12px;
}

.ux-60462b8c {
    z-index: 1000000
}

.ux-a5e069b3 {
    z-index: 100001;
    padding-left: 0px
}

/* from resources/views/classes/backupwhiteboard2.blade.php */
zwibbler {
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    display: flex;
    flex-flow: row nowrap;
}

.tools {
    background: #f5f5f5;
    flex: 0 0 200px;
    display: flex;
    flex-flow: column nowrap;
    overflow-y: scroll;
    padding: 10px;
    font-family: Ubuntu;
}

[z-canvas] {
    flex: 1 1 auto;
}

.tools button {
    font-family: inherit;
    font-size: 100%;
    padding: 5px;
    display: block;
    background-color: white;
    border: none;
    border-radius: 2px;
    border-bottom: 2px solid #ddd;
    width: 100%;
}

.tools button[tool] {
    display: inline-block;
    width: 60px;
    height: 60px;
    font-size: 30px;
}

.tools button.option {
    border: 0;
    padding: 10px;
    border-radius: 3px;
    background: transparent;
    text-align: left;
}

.tools button.selected {
    background: #dbe6d7;
}

.tools button.hover {
    background: #ddd;
}

.tools hr {
    border: none;
    border-top: 1px solid #ccc;
}

.tools select {
    width: 100%;
}

[swatch] {
    border: 1px solid black;
    display: inline-block;
    height: 2em;
    width: 4em;
    vertical-align: middle;
    margin-right: 10px;
}

.colour-picker {
    padding: 10px 0;
}

.pages {
    flex: 0 0 100px;
    background: #ccc;
    display: flex;
    flex-flow: row nowrap;
    overflow-x: scroll;
    overflow-y: hidden;
    align-items: center;
}

.pages .page {
    border: 3px solid transparent;
    display: inline-block;
    margin: 1.5rem !important;
}

.pages .page.selected {
    border: 3px solid orange;
}

[z-popup] {
    background: #ccc;
    padding: 10px;
    box-shadow: 2px 2px 2px rgba(0, 0, 0.2);
}

.ux-744ebabe {
    background-image: linear-gradient(to right, #9f78ff, #32cafe);
    color: white;
}

.ux-d589b21c {
    overflow-y: scroll;
    height: 1000px;
}

.ux-a4b02401 {
    height: 1000px;
}

.ux-50ca5efd {
    display: flex;
    flex-flow: column;
    flex: 1 1 auto;
    min-width: 0
}

.ux-17c1e18a {
    padding: 30px 10px;
}

.ux-cb458930 {
    display: none
}

/* from resources/views/classes/whiteboard.blade.php */
/* Hide sidebar only on whiteboard page */
body.whiteboard-layout.vertical-menu .main-menu,
body.whiteboard-layout.vertical-menu .navbar-header {
    display: none !important;
}

body.whiteboard-layout.vertical-menu .app-content {
    margin-left: 0 !important;
    width: 100% !important;
}

#whiteboard-canvas-container {
    border: 2px solid #e0e0e0;
    background: #fafafa;
    margin: 10px 0;
    position: relative;
    width: 100%;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}

#whiteboard-canvas {
    cursor: crosshair;
    display: block;
    background: white;
}

.toolbar {
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    padding: 6px 4px;
    border-right: 3px solid rgba(255, 255, 255, 0.2);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
    position: relative;
    z-index: 10;
    width: 100px;
    min-width: 100px;
    height: 100%;
    box-shadow: 2px 0 12px rgba(0, 0, 0, 0.15);
    overflow-y: auto;
}

.toolbar .btn {
    margin: 0;
    padding: 4px;
    width: 42px;
    min-width: 42px;
    height: 42px;
    border-radius: 5px;
    border: 1.5px solid rgba(255, 255, 255, 0.3);
    background: rgba(255, 255, 255, 0.95);
    color: #333;
    transition: all 0.3s ease;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    font-weight: 500;
}

.toolbar .btn:hover {
    background: rgba(255, 255, 255, 1);
    transform: scale(1.05);
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.25);
    border-color: rgba(255, 255, 255, 0.6);
}

.toolbar .btn.active {
    background: #4CAF50;
    color: white;
    border-color: #45a049;
    box-shadow: 0 4px 8px rgba(76, 175, 80, 0.5);
    transform: scale(1.05);
}

.toolbar-group {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 4px;
    margin-bottom: 6px;
    padding-bottom: 6px;
    border-bottom: 1.5px solid rgba(255, 255, 255, 0.4);
    width: 100%;
    justify-items: center;
}

.toolbar-group:last-child {
    border-bottom: none;
    margin-bottom: 0;
    padding-bottom: 0;
}

/* Single button groups span full width */
.toolbar-group> :only-child {
    grid-column: span 2;
}

.color-picker {
    width: 42px;
    height: 42px;
    border: 1.5px solid rgba(255, 255, 255, 0.6);
    border-radius: 5px;
    cursor: pointer;
    padding: 0;
    background: white;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
    grid-column: span 2;
}

#brush-width {
    width: 88px;
    height: 22px;
    margin: 2px 0;
    cursor: pointer;
    writing-mode: horizontal-tb;
    direction: ltr;
    grid-column: span 2;
}

.toolbar label {
    color: white;
    font-weight: 600;
    margin: 2px 0;
    font-size: 10px;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
    text-align: center;
    width: 100%;
    grid-column: span 2;
}

#brush-width-value {
    color: white;
    font-weight: 600;
    font-size: 10px;
    display: block;
    text-align: center;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
    width: 100%;
    grid-column: span 2;
}

.math-symbols {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 8px;
    padding: 15px;
    background: #f8f9fa;
    border-radius: 8px;
}

.math-symbol-btn {
    padding: 12px;
    font-size: 20px;
    cursor: pointer;
    border: 2px solid #ddd;
    background: white;
    border-radius: 6px;
    transition: all 0.2s;
    font-weight: 500;
}

.math-symbol-btn:hover {
    background: #667eea;
    color: white;
    border-color: #667eea;
    transform: scale(1.1);
}

.whiteboard-wrapper {
    background: white;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
}

.whiteboard-wrapper .card-body {
    display: flex;
    flex-direction: row;
    padding: 0;
    height: calc(100vh - 200px);
    min-height: 600px;
}

#whiteboard-canvas-container {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: auto;
    padding: 10px;
}

.card-header {
    border-bottom: 3px solid rgba(0, 0, 0, 0.1);
}

.fa-caret-up {
    font-size: 27px;
}

/* from resources/views/classes/whiteboard.blade.php */
#mathModal .modal-body {
    overflow: visible;
}

#math-equation-editor {
    width: 100% !important;
    min-height: 250px !important;
    border: 2px solid #ddd !important;
    padding: 20px !important;
    background: white !important;
    font-size: 20px !important;
    border-radius: 4px !important;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1) !important;
}

.mq-editable-field {
    border: none !important;
    box-shadow: none !important;
    padding: 10px !important;
    min-height: 200px !important;
}

.mq-editable-field.mq-focused {
    border: none !important;
    box-shadow: none !important;
}

/* Style the MathEditor toolbar */
div[class^="matheditor-wrapper-"] {
    width: 100% !important;
    margin: 0 !important;
}

div[class^="matheditor-toolbar-"] {
    background: white !important;
    border: 1px solid #ddd !important;
    border-radius: 4px !important;
    padding: 15px !important;
    margin-bottom: 15px !important;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1) !important;
}

div[class^="matheditor-wrapper-"] ul[class^="tabs-"] {
    background: #f8f9fa !important;
    border-bottom: 2px solid #667eea !important;
    padding: 0 !important;
    margin: 0 0 15px 0 !important;
    border-radius: 4px 4px 0 0 !important;
}

div[class^="matheditor-wrapper-"] ul[class^="tabs-"] li {
    padding: 12px 25px !important;
    cursor: pointer !important;
    border: none !important;
    background: transparent !important;
    color: #666 !important;
    font-weight: 500 !important;
    transition: all 0.3s !important;
    margin: 0 !important;
    height: auto !important;
    border-radius: 4px 4px 0 0 !important;
}

div[class^="matheditor-wrapper-"] ul[class^="tabs-"] li.current {
    background: #667eea !important;
    color: white !important;
    font-weight: 600 !important;
}

div[class^="matheditor-wrapper-"] ul[class^="tabs-"] li:hover {
    background: #e9ecef !important;
    color: #333 !important;
}

div[class^="matheditor-wrapper-"] ul[class^="tabs-"] li.current:hover {
    background: #5568d3 !important;
    color: white !important;
}

.matheditor-btn-span {
    min-width: 60px !important;
    height: 50px !important;
    padding: 8px 12px !important;
    border: 1px solid #ddd !important;
    background: white !important;
    border-radius: 4px !important;
    cursor: pointer !important;
    transition: all 0.2s !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 16px !important;
    margin: 5px !important;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05) !important;
}

.matheditor-btn-span:hover {
    background: #f0f0f0 !important;
    border-color: #667eea !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.15) !important;
}

.matheditor-btn-span:active {
    transform: translateY(0) !important;
}

.ux-2ff06733 {
    background: #f8f9fa;
}

.ux-fe991269 {
    max-width: 850px;
}

.ux-48c70af7 {
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    border-bottom: 3px solid rgba(255, 255, 255, 0.2);
}

.ux-db117290 {
    font-weight: 600;
}

.ux-033634ea {
    opacity: 0.9;
}

.ux-73ebbc2d {
    padding: 0;
    background: #f8f9fa;
}

.ux-32c16dc4 {
    padding: 20px;
}

.ux-541a6760 {
    display: block;
    min-height: 250px;
    border: 2px solid #ddd;
    padding: 20px;
    background: white;
    font-size: 20px;
    border-radius: 4px;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.ux-700781bd {
    background: #f8f9fa;
    border-top: 2px solid #dee2e6;
    padding: 15px;
}

.ux-0b69e9dd {
    min-width: 100px;
}

.ux-1066d7cc {
    min-width: 100px;
    background: #667eea;
    border-color: #667eea;
}

.ux-9c2abca4 {
    max-height: 150px;
    object-fit: contain;
}

.ux-7e2d41f7 {
    height: 560px;
}

/* from resources/views/quizizz/quizizz_questions/index.blade.php */
.right {
    float: right !important;
}

.left {
    float: left !important;
}

.alert-danger {
    color: #f44336 !important;
    background-color: #fee0e19c !important;
    border-color: #fed3d6 !important;
}

.import-questions-modal .modal-dialog {
    max-width: 96vw;
    width: 96vw;
}

.import-questions-modal {
    z-index: 11050 !important;
}

.import-questions-modal .modal-body {
    overflow-x: auto;
}

.import-questions-modal .import-questions-table {
    min-width: 1300px;
}

/* from resources/views/quizizz/quizizz_questions/edit.blade.php */
.btn-primary {
    background-color: #6967CE;
    color: #FFFFFF !important;
}

.right {
    float: right !important;
}

.left {
    float: left !important;
}

.matheditor-btn-span {
    width: 50px !important;
    height: 36px !important;
}

div[class^="matheditor-wrapper-"] ul[class^="tabs-"] li {
    height: 28px !important;
}

.btn-file {
    position: relative;
    overflow: hidden;
}

.btn-file input[type=file] {
    position: absolute;
    top: 0;
    right: 0;
    min-width: 100%;
    min-height: 100%;
    font-size: 100px;
    text-align: right;
    filter: alpha(opacity=0);
    opacity: 0;
    outline: none;
    background: white;
    cursor: inherit;
    display: block;
}

#img-upload {
    width: 100%;
}

.img-upload {
    height: 400px;
    border: 1px solid #607d8b;
}

.customimage {
    height: 285px;
}

.customvideo {
    height: 285px;
}

#firstdiv .row {
    text-align: center;
    margin-top: 38px;
}

.tox-menubar {
    display: none !important;
}

.btn-submit-loading[disabled] {
    opacity: .8;
    cursor: not-allowed;
}

.btn-spinner {
    display: none;
}

.btn-submit-loading.is-loading .btn-spinner {
    display: inline-block;
}

.btn-submit-loading.is-loading .btn-text {
    opacity: .9;
}

.ux-af18eac8 {
    font-size: 20px;
}

.ux-de901076 {
    max-width: 100%;
    max-height: 420px;
}

/* from resources/views/quizizz/quizizz_questions/import-questions.blade.php */
.right {
    float: right !important;
}

.left {
    float: left !important;
}

.alert-danger {
    color: #f44336 !important;
    background-color: #fee0e19c !important;
    border-color: #fed3d6 !important;
}

/* from resources/views/quizizz/quizizz_questions/create.blade.php */
.btn-primary {
    background-color: #6967CE;
    color: #FFFFFF !important;
}

.right {
    float: right !important;
}

.left {
    float: left !important;
}

.matheditor-btn-span {
    width: 50px !important;
    height: 36px !important;
}

div[class^="matheditor-wrapper-"] ul[class^="tabs-"] li {
    height: 28px !important;
}

.btn-file {
    position: relative;
    overflow: hidden;
}

.btn-file input[type=file] {
    position: absolute;
    top: 0;
    right: 0;
    min-width: 100%;
    min-height: 100%;
    font-size: 100px;
    text-align: right;
    filter: alpha(opacity=0);
    opacity: 0;
    outline: none;
    background: white;
    cursor: inherit;
    display: block;
}

#img-upload {
    width: 100%;
}

.img-upload {
    height: 400px;
    border: 1px solid #607d8b;
}

.customimage {
    height: 285px;
}

.customvideo {
    height: 285px;
}

#firstdiv .row {
    text-align: center;
    margin-top: 38px;
}

.tox-menubar {
    display: none !important;
}

.btn-submit-loading[disabled] {
    opacity: .8;
    cursor: not-allowed;
}

.btn-spinner {
    display: none;
}

.btn-submit-loading.is-loading .btn-spinner {
    display: inline-block;
}

.btn-submit-loading.is-loading .btn-text {
    opacity: .9;
}

.ux-e54c17e5 {
    height: 243px !important;
}

/* from resources/views/quizizz/quizizz/index.blade.php */
.right {
    float: right !important;
}

.left {
    float: left !important;
}

.alert-danger {
    color: #f44336 !important;
    background-color: #fee0e19c !important;
    border-color: #fed3d6 !important;
}

.toast {
    position: fixed;
    top: 20px;
    right: 20px;
    z-index: 2000;
}

.toast.toast-success .toast-header {
    background-color: #28a745;
    color: #fff;
}

.toast.toast-danger .toast-header {
    background-color: #dc3545;
    color: #fff;
}

.status-toggle-wrap {
    display: inline-block;
    transform: scale(1.18);
    transform-origin: left center;
    margin-left: 6px;
}

/* from resources/views/quizizz/quizizz/studentQuizAnswer.blade.php */
.right {
    float: right !important;
}

.left {
    float: left !important;
}

.alert-danger {
    color: #f44336 !important;
    background-color: #fee0e19c !important;
    border-color: #fed3d6 !important;
}

.modal {
    overflow: scroll;
}

.teacher-marked {
    background-color: #e8f5e8 !important;
}

.auto-marked {
    background-color: #fff3cd !important;
}

/* from resources/views/quizizz/quizizz/studentQuiz.blade.php */
.right {
    float: right !important;
}

.left {
    float: left !important;
}

.alert-danger {
    color: #f44336 !important;
    background-color: #fee0e19c !important;
    border-color: #fed3d6 !important;
}

/* from resources/views/quizizz/quizizz/edit.blade.php */
.right {
    float: right !important;
}

.left {
    float: left !important;
}

.alert-danger {
    color: #f44336 !important;
    background-color: #fee0e19c !important;
    border-color: #fed3d6 !important;
}

/* from resources/views/quizizz/quizizz/create.blade.php */
.right {
    float: right !important;
}

.left {
    float: left !important;
}

.alert-danger {
    color: #f44336 !important;
    background-color: #fee0e19c !important;
    border-color: #fed3d6 !important;
}

/* from resources/views/quizizz/studentquiz/index.blade.php */
.quiz-card {
    padding: 5px 20px 20px 20px;
    box-shadow: 0 7px 15px 0 rgb(0 0 0 / 10%);
    background-color: #FFF;
    border-top: 3px solid rgb(118 151 255);
    margin-bottom: 30px;
}

.quiz-name {
    font-size: 22px;
}

.quiz-card p {
    font-size: 13px;
}

.topic-detail {
    margin: 10px 0 20px;
    list-style-type: none;
    -webkit-padding-start: 0;
}

.topic-detail li {
    margin-bottom: 6px;
    position: relative;
}

.topic-detail li .ft-arrow-right {
    position: absolute;
    right: 0;
    top: 3.5px;
    color: #2196f3;
}

.ft-arrow-right {
    display: inline-block;
    font: normal normal normal 14px/1 FontAwesome;
    font-size: inherit;
    text-rendering: auto;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.row {
    margin-right: -15px;
    margin-left: -15px;
}

.row:before {
    display: table;
    content: " ";
}

.row:after {
    clear: both;
}

.row:after {
    display: table;
    content: " ";
}

.col-xs-6 {
    width: 50%;
}

.col-xs-6 {
    position: relative;
    min-height: 1px;
    padding-right: 15px;
    padding-left: 15px;
}

.col-xs-6 {
    float: left;
}

.ux-ca37eb11 {
    margin-left: 40px;
}

/* from resources/views/quizizz/studentquiz/startquizz.blade.php */
.card-body {
    padding: 0px !important;
}

h3:not(.cus-our-serv-subtitle) {
    margin-right: 10px;
    margin-left: 8px;
    margin-top: 10px;
    font-weight: bold;
}

.customdiv {
    border-left: 4px solid #3f51b5;
    margin-top: 10px;
    display: flex;
    font-size: 1.51rem;
    margin-bottom: 15px;
    box-shadow: 0px 1px 15px 1px rgb(158 158 158 / 46%);
}

.customdiv p {
    font-size: 1.51rem;
    margin-top: 3px;
    margin-left: 8px;
}

.customdiv img,
.customdiv iframe {
    margin-left: 6px;
    border: 1px solid #9e9e9e;
}

.steps ul {
    display: none !important;
}

.form-check-label {
    font-size: 1.51rem;
}

.form-inline .form-check {
    display: table;
}

.form-inline {
    display: block;
}

.form-check-input {
    width: 25px;
    height: 20px;
}

.difficulty-badge {
    display: inline-block;
    padding: 4px 10px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 700;
    margin: 8px 0;
}

.difficulty-easy {
    background: #e6f7ed;
    color: #1f8b4c;
}

.difficulty-hard {
    background: #fff4e5;
    color: #b56a00;
}

.difficulty-difficult {
    background: #ffe9e9;
    color: #b3261e;
}

.difficulty-very-difficult {
    background: #f3e8ff;
    color: #6b21a8;
}

.ux-db3b3887 {
    float: right;
}

.ux-1982de1c {
    float: right
}

/* from resources/views/quizizz/studentquiz/completeQuiz.blade.php */
.quiz-card {
    padding: 5px 20px 20px 20px;
    box-shadow: 0 7px 15px 0 rgb(0 0 0 / 10%);
    background-color: #FFF;
    border-top: 3px solid rgb(118 151 255);
    margin-bottom: 30px;
}

.quiz-name {
    font-size: 22px;
}

.quiz-card p {
    font-size: 13px;
}

.topic-detail {
    margin: 10px 0 20px;
    list-style-type: none;
    -webkit-padding-start: 0;
}

.topic-detail li {
    margin-bottom: 6px;
    position: relative;
}

.topic-detail li .ft-arrow-right {
    position: absolute;
    right: 0;
    top: 3.5px;
    color: #2196f3;
}

.ft-arrow-right {
    display: inline-block;
    font: normal normal normal 14px/1 FontAwesome;
    font-size: inherit;
    text-rendering: auto;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.row {
    margin-right: -15px;
    margin-left: -15px;
}

.row:before {
    display: table;
    content: " ";
}

.row:after {
    clear: both;
}

.row:after {
    display: table;
    content: " ";
}

.col-xs-6 {
    width: 50%;
}

.col-xs-6 {
    position: relative;
    min-height: 1px;
    padding-right: 15px;
    padding-left: 15px;
}

.col-xs-6 {
    float: left;
}

/* from resources/views/quizizz/studentquiz/cufReportsDetails.blade.php */
.right {
    float: right !important;
}

.left {
    float: left !important;
}

.alert-danger {
    color: #f44336 !important;
    background-color: #fee0e19c !important;
    border-color: #fed3d6 !important;
}

.modal {
    overflow: scroll;
}

.ux-fa7c2c0a {
    margin: 0;
    padding: 0;
    font-family: Arial, sans-serif;
    background-color: #f4f4f4;
}

.ux-983a0cec {
    background-color: #f4f4f4;
    padding: 20px;
}

.ux-1b9010da {
    background-color: #ffffff;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.ux-bc1b7bb9 {
    background-color: #007bff;
    padding: 20px;
    text-align: center;
}

.ux-91a3996d {
    color: #ffffff;
    margin: 0;
    font-size: 24px;
}

.ux-7cea880d {
    padding: 30px;
}

.ux-7459df9b {
    color: #333333;
    margin-top: 0;
}

.ux-e14ccf82 {
    color: #666666;
    line-height: 1.6;
}

.ux-7432df0a {
    background-color: #f8f9fa;
    padding: 20px;
    border-radius: 4px;
    margin: 20px 0;
}

.ux-b0473a88 {
    margin-bottom: 15px;
}

.ux-e01ff9b3 {
    color: #333333;
}

.ux-80be794b {
    color: #666666;
    margin: 5px 0;
}

.ux-765342ed {
    margin: 30px 0;
}

.ux-4ff84e53 {
    display: inline-block;
    padding: 12px 30px;
    background-color: #007bff;
    color: #ffffff;
    text-decoration: none;
    border-radius: 4px;
    font-weight: bold;
}

.ux-799b11dc {
    color: #666666;
    line-height: 1.6;
    margin-top: 30px;
}

.ux-337ce4c9 {
    background-color: #f8f9fa;
    padding: 20px;
    text-align: center;
    border-top: 1px solid #e9ecef;
}

.ux-903f6ac3 {
    color: #666666;
    margin: 0;
    font-size: 12px;
}

/* from resources/views/student/dashboard.blade.php */
.card-footer .btn:hover {
    color: #2b345f;
    text-decoration: none;
}

.card .card {
    box-shadow: 0px 0px 2px 0px rgba(62, 57, 10) !important;
}

.cus-order li {
    list-style-type: initial !important;
}

#DataTables_Table_0_wrapper>.row>.col-sm-12.col-md-6 {
    align-self: flex-end;
}

@media (max-width: 991.98px) {
    .dataTables_wrapper .table {
        display: table;
    }
}

.ux-3ea13412 {
    width: 25%
}

/* from resources/views/student/enroledCourse.blade.php */
.course-card {
    border-radius: 20px;
    border: 1px solid rgba(0, 0, 0, 0.05);
    box-shadow: 0 15px 35px rgba(15, 29, 80, 0.08);
    transition: transform .25s ease, box-shadow .25s ease;
    background: #fff;
    min-height: 100%;
}

.course-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 20px 45px rgba(15, 29, 80, 0.12);
}

.course-card__grade {
    padding: 6px 14px;
    border-radius: 999px;
    background: rgba(99, 102, 241, .12);
    color: #4f46e5;
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .05em;
}

.course-card__meta {
    border-top: 1px solid rgba(0, 0, 0, 0.06);
}

.ux-53df9f6d {
    margin-top: 14px !important;
}

/* from resources/views/admin/dashboard.blade.php */
.avatar-fallback-wrap {
    position: relative;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    overflow: hidden;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #eef1f5;
}

.avatar-fallback-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 50%;
}

.avatar-initials {
    width: 100%;
    height: 100%;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 11px;
    font-weight: 600;
    color: #344054;
    text-transform: uppercase;
    background: #dbe3ee;
}

.ux-557448a3 {
    width: 85%
}

/* from resources/views/admin/grades/index.blade.php */
/* CSS for the loading spinner */
.loader {
    display: none;
    border: 4px solid #f3f3f3;
    border-top: 4px solid #3498db;
    border-radius: 50%;
    width: 20px;
    height: 20px;
    animation: spin 1s linear infinite;
    margin-left: 10px;
}

@keyframes spin {
    0% {
        transform: rotate(0deg);
    }

    100% {
        transform: rotate(360deg);
    }
}

.grades-page-content {
    overflow: visible !important;
}

.grades-submit-btn {
    width: 100%;
}

.grade-update-modal {
    z-index: 11050 !important;
}

.modal {
    z-index: 11050 !important;
}

.grade-action-link {
    font-weight: 600;
}

.ux-40430a3c {
    width: 70px;
}

.ux-93b8ea5b {
    display: none;
}

/* from resources/views/shared/css.blade.php */
.img-box {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    line-height: 40px;
    text-align: center;
    background: #ccc;
    /* color:#fff; */
}

.text-ellipsis {
    display: block;
    width: 200px;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

/* from resources/views/layouts/auth.blade.php */
.btn-danger {
    background-color: #e41645;
}

.home-button {
    color: #fff;
}

.home-button:hover {
    color: #e41645;
    transition: ease-in-out;
}

.blank-page .content-wrapper .flexbox-container {
    height: auto !important;
}

.overflow {
    overflow: hidden;
    padding-top: 15px;
    padding-bottom: 15px;
}

.form-link p {
    margin: 5px auto;
}

@media only screen and (max-width: 1200px) {
    .form-link p {
        text-align: center !important;
    }
}

.ux-6ec404fb {
    background: #333
}

/* from resources/views/layouts/admin.blade.php */
.btn-file {
    height: 40px;
    border: 2px dashed #ccc;
    line-height: 15px;
    cursor: pointer;
}

/* from resources/views/layouts/landingPage.blade.php */
html {
    scroll-behavior: smooth;
}

.text-black {
    color: #000;
}

.bg-light-silver {
    background: #f7f7f7;
}

.svg-icon {
    height: 100px;
}

.font-white {
    color: #fff !important;
}

.input-border {
    outline: 1px solid #555
}

.text-ellipsis {
    display: block;
    width: 200px;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.text-justify {
    font-size: 1px;
}

/* .btn-nav {
				background: linear-gradient(135deg, #e41645 0%, #292929 80%) !important;
			} */
.dropdown-primary button:hover {
    /* background: linear-gradient(135deg, #292929 0%, #e41645 80%) !important; */
    background-color: #e41645 !important;
    /* color: #dc3545 !important; */
}

.dropdown-primary button {
    font-size: 15px;
    font-weight: 600;
}

.btn-outline-danger {
    color: #fff !important;
}

.slider-container:after {
    content: '';
    display: block;
    width: 101%;
    height: 100px;
    background-color: #fff;
    position: absolute;
    bottom: -48px;
    left: -1%;
    transform: rotate(2deg);
    z-index: 0 !important;
}

.page-header.page-header-modern.page-header-background:after {
    content: '';
    display: block;
    width: 101%;
    height: 75px;
    left: -3px;
    bottom: -38px;
}

.btn-gradient:not(.btn-outline):active,
.btn-gradient:not(.btn-outline).active {
    background-color: #e41645 !important;
    color: #FFF !important;
}

.btn-gradient:not(.btn-outline) {
    background-color: #e41645 !important;
    color: #FFF;
}

.card-grade-us {
    position: absolute;
    padding: 8px 15px;
    color: #e41645;
    top: 56px;
    border-radius: 50px;
    left: -10px;
    font-weight: 600;
}

.grade .card-grade-us {
    background: #e41645;
    color: #fff;
    top: 10px;
    left: -18px;
    padding: 10px 25px;
}

.fa-check {
    color: #e41645;
}

html .btn-light:hover {
    background-color: none;
}

@media only screen and (max-width: 1199px) and (min-width:992px) {

    #header .header-nav.header-nav-links.header-nav-light-text nav>ul>li>a,
    #header .header-nav.header-nav-line.header-nav-light-text nav>ul>li>a {
        color: #FFF;
        font-size: 12px !important;
    }

    .custom-nav-us button {
        font-size: 12px !important;
    }

}

@media only screen and (min-width: 992px) {
    #header .header-column.header-column-logo {
        padding-left: 36px;
    }

    #header .header-logo a {
        display: inline-flex;
        align-items: center;
        margin-left: 28px;
    }

    #header .header-logo img {
        height: 64px;
        width: auto;
        display: block;
        image-rendering: -webkit-optimize-contrast;
    }
}

@media only screen and (max-width: 991px) {

    #header.header-no-border-bottom .header-nav.header-nav-links nav>ul>li>a,
    #header.header-no-border-bottom .header-nav.header-nav-links nav>ul>li:hover>a {
        text-align: center !important;
    }

    .cus-btn-media {
        background-color: #e41645 !important;
        background: none !important;
        margin: 5px !important;
    }

    .cus-btn-media button {
        background-color: #e41645 !important;
        width: 100% !important;
        border: none !important;
    }

    #header .header-logo a {
        margin-left: 0;
    }
}

/* .our-services{
			top:500px !important;
		} */
/* ---------------- */
.ux-a4aee869 {
    margin: 0px 5px
}

.ux-041039c6 {
    padding-top: 66px
}

.ux-304e1bc0 {
    height: auto;
}

/* from resources/views/landing-page/course/allCourses.blade.php */
.cus-btn-par-us button {
    border: 2px solid #e41645 !important;
    color: #fff;
}

html .bg-color-hover-primary:hover .cus-btn-par-us button {

    border: 2px solid #fff !important;
    color: #fff;
}

html .bg-hover-primary:hover .cus-btn-par-us button {

    border-color: 2px solid #fff !important;
    color: #fff;
}

.page-header.page-header-modern.page-header-background {
    padding: 40px 0 200px;
    margin-bottom: 0;
    background-position: 0 100%;
    bottom: 2px;
}

/* .page-header.page-header-modern.page-header-background:after {
                content: '';
                display: block;
                width: 101%;
                height: 75px;
                left:-3px;
                bottom:-38px;
            } */
.thumb-info-side-image-custom .thumb-info-caption h4 {
    margin: 12px 0 0 0;
}

.cour-cus-us {
    flex-direction: row;
    box-shadow: 0px 11px 15px -7px rgba(0, 0, 0, 0.2), 0px 24px 38px 3px rgba(0, 0, 0, 0.14), 0px 9px 46px 8px rgba(0, 0, 0, 0.12);
}

.cus-topic-priz {
    text-align: right;
}

.cus-curs-btn {
    position: absolute;
    bottom: 15px;
    right: 15px;
}

.cus-curs-txt {
    position: absolute;
    bottom: 8px;
    right: 15px;
}

.star-bg,
.fa-star-half-alt,
.far {
    color: #e41645;
    font-size: 11px;
}

.txt-eclip {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.cus-topic-priz {
    padding-top: .5rem;
}

.cus-elicp-title {
    display: -webkit-box;
    max-width: 100%;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    min-height: 70px;
}

.card-grade-us {
    top: 35px;
    z-index: 9;
    background: #eebb4d;
    color: #fff;
    padding: 10px 25px;
    left: -18px;
}

@media only screen and (max-width: 991px) {
    .cus-topic-priz {
        text-align: left;
        padding-top: 0 !important;
    }

    .cus-curs-btn {
        position: relative;
        bottom: 0px;
        left: 0px;
        float: left;
        margin-bottom: 15px;
    }

    .cus-curs-txt {
        position: relative;
        bottom: 8px;
        left: 0px;
        float: left;
        margin-bottom: 15px;
        padding-left: 0;
    }
}

@media only screen and (min-width: 991px) {
    .cus-card-cours {
        display: flex;
    }
}

@media only screen and (max-width: 991px) and (min-width:767px) {
    .cus-card-cours {
        max-width: 48%;
        margin: 15px 5px !important;
    }

    .cus-curs-txt {
        position: relative;
        bottom: 0px;
        left: 0px;
        float: left;
        margin-bottom: 15px;
        padding-left: 0;
    }
}

/* from resources/views/landing-page/course/courseTopics.blade.php */
.page-header.page-header-modern.page-header-background {
    padding: 40px 0 200px;
    margin-bottom: 0;
    background-position: 0 100%;
    bottom: 2px;
}

.cust-scrool {
    max-height: 100vh !important;
    overflow-y: auto;
    overflow-x: hidden;
}

.cust-scrool::-webkit-scrollbar {
    display: none;
}

/* from resources/views/landing-page/section/courseSections.blade.php */
.page-header.page-header-modern.page-header-background {
    padding: 40px 0 200px;
    margin-bottom: 0;
    background-position: 0 100%;
    bottom: 2px;
}

.cust-scrool {
    max-height: 100vh !important;
    overflow-y: auto;
    overflow-x: hidden;
}

.cust-scrool::-webkit-scrollbar {
    display: none;
}

.ux-6209acf3 {
    wbackground: #e41645
}

/* from resources/views/landing-page/packages/packageCourses.blade.php */
.cus-btn-par-us button {
    border: 2px solid #e41645 !important;
    color: #fff;
}

html .bg-color-hover-primary:hover .cus-btn-par-us button {

    border: 2px solid #fff !important;
    color: #fff;
}

html .bg-hover-primary:hover .cus-btn-par-us button {

    border-color: 2px solid #fff !important;
    color: #fff;
}

.page-header.page-header-modern.page-header-background {
    padding: 40px 0 200px;
    margin-bottom: 0;
    background-position: 0 100%;
    bottom: 2px;
}

/* .page-header.page-header-modern.page-header-background:after {
                content: '';
                display: block;
                width: 101%;
                height: 75px;
                left:-3px;
                bottom:-38px;
            } */
.thumb-info-side-image-custom .thumb-info-caption h4 {
    margin: 12px 0 0 0;
}

.cour-cus-us {
    flex-direction: row;
    box-shadow: 0px 11px 15px -7px rgba(0, 0, 0, 0.2), 0px 24px 38px 3px rgba(0, 0, 0, 0.14), 0px 9px 46px 8px rgba(0, 0, 0, 0.12);
}

.cus-topic-priz {
    text-align: right;
}

.cus-curs-btn {
    position: absolute;
    bottom: 15px;
    right: 15px;
}

.star-bg,
.fa-star-half-alt,
.far {
    color: #e41645;
    font-size: 11px;
}

.cus-curs-btn {
    position: absolute;
    bottom: 15px;
    right: 15px;
}

.cus-curs-txt {
    position: absolute;
    bottom: 8px;
    right: 15px;
}

.cus-topic-priz {
    padding-top: .5rem;
}

.txt-eclip {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.cus-elicp-title {
    display: -webkit-box;
    max-width: 100%;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    min-height: 70px;
}

.card-grade-us {
    top: 35px;
    z-index: 9;
    background: #eebb4d;
    color: #fff;
    padding: 10px 25px;
    left: -18px;
}

@media only screen and (max-width: 991px) {
    .cus-topic-priz {
        text-align: left;
        padding-top: 0 !important;
    }

    .cus-curs-btn {
        position: relative;
        bottom: 0px;
        left: 0px;
        float: left;
        margin-bottom: 15px;
    }

    .cus-curs-txt {
        position: relative;
        bottom: 8px;
        left: 0px;
        float: left;
        margin-bottom: 15px;
        padding-left: 0;
    }

}

@media only screen and (min-width: 991px) {
    .cus-card-cours {
        display: flex;
    }
}

@media only screen and (max-width: 991px) and (min-width:767px) {
    .cus-card-cours {
        max-width: 48%;
        margin: 15px 5px !important;
    }

    .cus-curs-txt {
        position: relative;
        bottom: 0px;
        left: 0px;
        float: left;
        margin-bottom: 15px;
        padding-left: 0;
    }
}

/* from resources/views/landing-page/packages/allPackages.blade.php */
.cus-btn-par-us button {
    border: 2px solid #e41645 !important;
    color: #fff;
}

html .bg-color-hover-primary:hover .cus-btn-par-us button {

    border: 2px solid #fff !important;
    color: #fff;
}

html .bg-hover-primary:hover .cus-btn-par-us button {

    border-color: 2px solid #fff !important;
    color: #fff;
}

.page-header.page-header-modern.page-header-background {
    padding: 40px 0 200px;
    margin-bottom: 0;
    background-position: 0 100%;
    bottom: 2px;
}

/* .page-header.page-header-modern.page-header-background:after {
                content: '';
                display: block;
                width: 101%;
                height: 75px;
                left:-3px;
                bottom:-38px;
            } */
.thumb-info-side-image-custom .thumb-info-caption h4 {
    margin: 12px 0 0 0;
}

.cour-cus-us {
    flex-direction: row;
    box-shadow: 0px 11px 15px -7px rgba(0, 0, 0, 0.2), 0px 24px 38px 3px rgba(0, 0, 0, 0.14), 0px 9px 46px 8px rgba(0, 0, 0, 0.12);
}

.cus-topic-priz {
    text-align: right;
}

.cus-curs-btn {
    position: absolute;
    bottom: 15px;
    right: 15px;
}

.star-bg,
.fa-star-half-alt,
.far {
    color: #e41645;
    font-size: 11px;
}

.fa-check {
    color: #e41645;
}

.cus-curs-btn {
    position: absolute;
    bottom: 15px;
    right: 15px;
}

.cus-curs-txt {
    position: absolute;
    bottom: 8px;
    right: 15px;
}

.cus-topic-priz {
    padding-top: .5rem;
}

.txt-eclip {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.card-grade-us {
    top: 35px;
    z-index: 9;
    background: #eebb4d;
    color: #fff;
    padding: 10px 25px;
    left: -18px;
}

@media only screen and (max-width: 991px) {
    .cus-topic-priz {
        text-align: left;
        padding-top: 0 !important;
    }

    .cus-curs-btn {
        position: relative;
        bottom: 0px;
        left: 0px;
        float: left;
        margin-bottom: 15px;
    }

    .cus-hig-us {
        min-height: 80px;
    }

    .cus-curs-txt {
        position: relative;
        bottom: 8px;
        left: 0px;
        float: left;
        margin-bottom: 15px;
        padding-left: 0;
    }
}

@media only screen and (min-width: 991px) {
    .cus-card-cours {
        display: flex;
    }

    .cus-hig-us {
        min-height: 60px;
    }
}

@media only screen and (max-width: 991px) and (min-width:767px) {
    .cus-card-cours {
        max-width: 48%;
        margin: 15px 5px !important;
    }

    .cus-hig-us {
        min-height: 105px;
    }

    .cus-curs-txt {
        position: relative;
        bottom: 0px;
        left: 0px;
        float: left;
        margin-bottom: 15px;
        padding-left: 0;
    }
}

@media only screen and (min-width: 1200px) {

    .cus-hig-us {
        min-height: 90px;
    }
}

@media only screen and (min-width: 1240px) {

    .cus-hig-us {
        min-height: 100px;
    }
}

/* from resources/views/schools/addSchool.blade.php */
@media screen and (max-width:767px) {
    .img-auto-adjust {
        width: 100%;
    }
}

.ux-f52f6b21 {
    padding: 0 !important
}

.ux-b7015937 {
    padding: 0px
}

.ux-734223a5 {
    align-items: center
}

.ux-e5e6f834 {
    font-size: 20px
}

.ux-63044726 {
    color: white
}

/* from resources/views/instructor/index.blade.php */
.select2-container--default .select2-search--inline .select2-search__field {
    padding-left: 36px;
}

/* from resources/views/instructor/assignCourses.blade.php */
.select2-container--default .select2-search--inline .select2-search__field {
    padding-left: 36px;
}

.ux-6d567387 {
    width: 100%
}

/* from resources/views/instructor/edit.blade.php */
.select2-container--default .select2-search--inline .select2-search__field {
    padding-left: 36px;
}

/* from resources/views/instructor/dashboard.blade.php */
.card-footer .btn:hover {
    color: #2b345f;
    text-decoration: none;
}

.card .card {
    box-shadow: 0px 0px 2px 0px rgba(62, 57, 10) !important;
}

.cus-order li {
    list-style-type: initial !important;
}

#DataTables_Table_0_wrapper>.row>.col-sm-12.col-md-6 {
    align-self: flex-end;
}

@media (max-width: 991.98px) {
    .dataTables_wrapper .table {
        display: table;
    }
}

/* from resources/views/instructor/login.blade.php */
.instructor-login-wrapper {
    min-height: 100vh;
    padding-top: 60px;
    padding-bottom: 24px;
}

.ux-820c64a2 {
    display: inline-block;
}

/* from resources/views/vendor/mail/html/layout.blade.php */
@media only screen and (max-width: 600px) {
    .inner-body {
        width: 100% !important;
    }

    .footer {
        width: 100% !important;
    }
}

@media only screen and (max-width: 500px) {
    .button {
        width: 100% !important;
    }
}

/* from resources/views/stripe/singleCheckout.blade.php */
html {
    scroll-behavior: smooth;
}

.ux-f6c32d8d {
    height: 100vh
}

.ux-4a256a09 {
    color: green;
}

/* from resources/views/stripe/checkout.blade.php */
html {
    scroll-behavior: smooth;
}

/* from resources/views/stripe/packages.blade.php */
html {
    scroll-behavior: smooth;
}

.ux-f25258b9 {
    width: 18rem;
    outline: 1px solid #ededed
}

/* from resources/views/stripe/coursePayment.blade.php */
/**
 * The CSS shown here will not be introduced in the Quickstart guide, but shows
 * how you can use CSS to style your Element's container.
 */
.StripeElement {
    box-sizing: border-box;

    height: 40px;

    padding: 10px 12px;

    border: 1px solid transparent;
    border-radius: 4px;
    background-color: white;

    box-shadow: 0 1px 3px 0 #e6ebf1;
    -webkit-transition: box-shadow 150ms ease;
    transition: box-shadow 150ms ease;
}

.StripeElement--focus {
    box-shadow: 0 1px 3px 0 #cfd7df;
}

.StripeElement--invalid {
    border-color: #fa755a;
}

.StripeElement--webkit-autofill {
    background-color: #fefde5 !important;
}

.payment-course-summary {
    border: 1px solid #e9ecef;
    border-radius: 8px;
    padding: 16px;
    background: #fff;
}

.payment-course-summary__title {
    font-size: 1.05rem;
    font-weight: 700;
    color: #1f2d3d;
    margin-bottom: 8px;
}

.payment-course-summary__meta {
    color: #6c757d;
    font-size: .9rem;
    margin-bottom: 8px;
}

.payment-course-summary__outline {
    color: #495057;
    font-size: .92rem;
    margin: 0;
}


/* manual cleanup helpers */
.welcome-grade-chip {
    display: inline-flex;
    align-items: center;
    padding: 8px 22px;
    border-radius: 100px;
    border: 1px solid #d1d5db;
    background: #fff;
    color: #4b5563;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer
}

.welcome-grade-dot {
    display: inline-block;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--dot-color);
    margin-right: 6px;
    vertical-align: middle
}

.welcome-course-card {
    border-radius: 14px;
    overflow: hidden;
    background: linear-gradient(160deg, #131019 0%, #1a1320 62%, #27101a 100%);
    border: 1px solid rgba(228, 22, 69, .28);
    box-shadow: 0 12px 26px rgba(0, 0, 0, .26);
    display: flex;
    flex-direction: column;
    align-items: stretch;
    width: 100%;
    min-width: 0;
    text-decoration: none;
    transition: border-color .2s, transform .2s, box-shadow .2s
}

.welcome-course-thumb-wrap {
    height: 140px;
    position: relative;
    overflow: hidden;
    background: var(--thumb-bg)
}

.welcome-course-thumb {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block
}

.welcome-course-grade-icon {
    position: absolute;
    top: 10px;
    left: 10px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, .35)
}

.welcome-coming-card {
    border-radius: 14px;
    overflow: hidden;
    background: #12131a;
    border: 1px solid rgba(228, 22, 69, .28);
    display: flex;
    flex-direction: column;
    align-items: stretch;
    justify-content: flex-start;
    text-align: left;
    cursor: default;
}

.welcome-gamify-bg {
    background-image: linear-gradient(135deg, rgba(8, 8, 10, .78), rgba(40, 0, 12, .72)), url('/mathnusa2025-latest-web/public/frontend/landing-page/images/backgrounds/mathnopoly-gamify-bg.jpg');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat
}

.logo-watermark-bg {
    background: url('/mathnusa2025-latest-web/public/app-assets/images/logo/logo-low-opacity-light.png');
    background-repeat: no-repeat;
    background-attachment: fixed;
    background-position: center
}

.modal-dynamic-display.is-visible {
    display: block
}

.modal-dynamic-display.is-hidden {
    display: none
}

.grade-thumb {
    width: 48px;
    height: 48px;
    object-fit: cover;
    border-radius: 6px
}

.profile-dob-input {
    padding-left: 20px
}

.welcome-card-img {
    min-height: 0
}

.legacy-mathnopoly-bg {
    background-image: url('/mathnusa2025-latest-web/public/landing-page/images/mathnopoly/mathnopoly-3.jpg');
    background-size: cover
}

.quiz-answer-media {
    max-width: 150px;
    max-height: 100px;
    border: 1px solid #ddd
}

.quiz-video {
    height: 220px;
    width: 250px
}

.chat-logo-bg {
    background-image: url('/mathnusa2025-latest-web/public/backend/app-assets/images/logo/math-logo.jpeg')
}

.chat-msg-time.from-self {
    color: #fff
}

.chat-msg-time.from-other {
    color: #777
}

.delay-200 {
    animation-delay: 200ms
}

.quiz-image-preview {
    height: 243px !important
}

.ml-10 {
    margin-left: 10px
}

.whiteboard-canvas-container {
    background: #fff;
    padding: 10px
}

.whiteboard-image {
    max-height: 400px;
    border: 2px solid #ddd;
    border-radius: 8px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, .1)
}

.whiteboard-image-lg {
    max-height: 600px
}

.whiteboard-student-card {
    cursor: pointer;
    transition: transform .2s
}

.whiteboard-thumb {
    max-height: 150px;
    object-fit: contain
}

.chat-time-light {
    color: #fff
}

.chat-time-muted {
    color: #777
}

.mn-error-page {
    min-height: 70vh;
    display: flex;
    align-items: center;
    padding: 110px 0 70px;
    background: radial-gradient(circle at top right, rgba(228, 22, 69, .28), rgba(10, 10, 15, .95) 48%), #0f0f15
}

.mn-error-card {
    max-width: 760px;
    margin: 0 auto;
    text-align: center;
    background: rgba(17, 17, 25, .84);
    border: 1px solid rgba(228, 22, 69, .35);
    border-radius: 18px;
    padding: 56px 24px;
    box-shadow: 0 20px 50px rgba(0, 0, 0, .38)
}

.mn-error-code {
    font-size: 92px;
    line-height: 1;
    font-weight: 800;
    letter-spacing: 2px;
    color: #fff;
    margin: 0 0 14px
}

.mn-error-title {
    font-size: 34px;
    line-height: 1.2;
    font-weight: 700;
    color: #fff;
    margin: 0 0 12px
}

.mn-error-copy {
    max-width: 560px;
    margin: 0 auto 28px;
    color: #d2d4df;
    font-size: 16px;
    line-height: 1.7
}

.mn-error-actions {
    display: flex;
    justify-content: center
}

.mn-error-home-btn {
    min-width: 180px
}

.grade-pill.is-active {
    background: #e41645;
    border-color: #e41645;
    color: #fff
}

.course-gallery-card.is-hidden {
    display: none !important
}

.welcome-course-card:hover {
    border-color: rgba(228, 22, 69, .62);
    box-shadow: 0 16px 32px rgba(228, 22, 69, .24);
    transform: translateY(-3px)
}

.welcome-locked-grade-icon {
    width: 56px;
    height: 56px;
    border-radius: 50%;
    object-fit: cover;
    box-shadow: 0 6px 16px rgba(0, 0, 0, .35);
    margin-bottom: 12px
}

/* frontend welcome course/grade grid */
#gradeContent {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 20px;
}

#gradeContent > a {
    display: block;
    width: 100%;
    min-width: 0;
    text-decoration: none;
    color: inherit;
}

#gradeContent .course-gallery-card {
    width: 100%;
    min-width: 0;
    height: 100%;
}

#gradeContent .welcome-course-thumb-wrap {
    width: 100%;
    aspect-ratio: 16 / 9;
    height: auto;
    min-height: 0;
    overflow: hidden;
    display: block;
    position: relative;
    flex-shrink: 0;
    border-radius: 14px 14px 0 0;
    background: var(--thumb-bg, #0d1f33);
}

#gradeContent .welcome-course-thumb {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center top;
    display: block;
}

#gradeContent .welcome-coming-card .ux-a02f25f6 {
    text-align: center;
}

#gradeContent .welcome-coming-card {
    cursor: default;
}

/* class/training-session layout */
.chat-application .app-content.content.page {
    display: flex;
    gap: 1rem;
    margin-top: .75rem;
    height: calc(100dvh - 100px);
    min-height: calc(100vh - 100px);
    flex-wrap: nowrap;
    overflow: hidden;
}

.chat-application .app-content.content.page .sidebar-left {
    flex: 0 0 320px;
    max-width: 320px;
    height: 100%;
}

.chat-application .app-content.content.page .sidebar-left.sidebar-fixed {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    z-index: 1;
}

.chat-application .app-content.content.page .sidebar {
    height: 100%;
}

.chat-application .app-content.content.page .content-right {
    flex: 1 1 auto;
    min-width: 0;
    height: 100%;
    position: relative;
    z-index: 2;
    background: #fff;
    border: 1px solid #e6e6e6;
    border-radius: .25rem;
    overflow: hidden;
}

.chat-application .app-content.content.page .sidebar-content.card {
    height: 100%;
    overflow: hidden;
    margin-bottom: 0;
}

.chat-application .app-content.content.page #users-list {
    max-height: calc(100% - 84px);
    overflow-y: auto;
}

.chat-application .app-content.content.page .users-list-padding {
    padding-top: 40px;
    padding-bottom: 0;
}

.chat-application #start_class,
.chat-application #whiteboard {
    margin-top: .35rem;
    margin-bottom: .35rem;
}

.chat-application #whiteboard {
    margin-left: .5rem;
}

@media (max-width:991.98px) {
    .chat-application .app-content.content.page {
        flex-direction: column;
        height: auto;
        min-height: auto;
        overflow: visible;
    }

    .chat-application .app-content.content.page .sidebar-left,
    .chat-application .app-content.content.page .content-right {
        flex: 1 1 100%;
        max-width: 100%;
        width: 100%;
        height: auto;
    }

    .chat-application .app-content.content.page #users-list {
        max-height: 280px;
    }
}

/* frontend landing page course sections */
.uc-course-page .uc-hero {
    background-color: #14162a;
    background-image: url('/mathnusa2025-latest-web/public/frontend/landing-page/images/backgrounds/mathnopoly-gamify-bg.jpg');
    background-size: cover;
    background-position: center;
    background-blend-mode: multiply;
    border-bottom: 4px solid #e41645;
    padding: 40px 0 44px
}

.uc-course-page .uc-hero-inner {
    max-width: 1300px;
    margin: 0 auto;
    padding: 0 28px
}

.uc-course-page .uc-hero-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 340px;
    gap: 24px;
    align-items: start
}

.uc-course-page .uc-hero-main h1 {
    font-size: 34px;
    line-height: 1.2;
    font-weight: 800;
    color: #fff;
    margin: 0
}

.uc-course-page .uc-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 16px;
    margin-top: 14px
}

.uc-course-page .uc-meta-item {
    color: #f7f9fa;
    font-size: 14px;
    display: inline-flex;
    align-items: center;
    gap: 6px
}

.uc-course-page .uc-rating-num {
    font-weight: 700;
    color: #f3ca8c
}

.uc-course-page .uc-meta-item .bi-star-fill,
.uc-course-page .uc-meta-item .bi-star-half,
.uc-course-page .uc-meta-item .bi-star {
    color: #f3ca8c
}

.uc-course-page .uc-rating-star {
    font-size: 14px;
    vertical-align: middle
}

.uc-course-page .uc-hero-cta {
    position: relative;
    z-index: 2
}

.uc-course-page .uc-body .container {
    max-width: 1300px;
    padding-left: 28px;
    padding-right: 28px
}

/* Undo theme tight letter-spacing for rich text (editor HTML) inside course body */
.uc-course-page .uc-body,
.uc-course-page .uc-body *, .uc-mission-card-body * {
    letter-spacing: normal !important;
    font-family: "Poppins", sans-serif !important;
    color: black !important;
}

.uc-course-page .uc-topbar {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: 12px;
    padding: 16px 0 20px;
    border-bottom: 2px solid #f0f0f0;
    margin-bottom: 24px
}

.uc-course-page .uc-topbar h2 {
    margin: 0;
    font-size: 22px;
    font-weight: 800;
    color: #1a1a2e
}

.uc-course-page .uc-full-course-btn {
    padding: 14px 18px;
    background: #dc3545;
    color: #fff;
    border: 0;
    border-radius: 6px;
    font-weight: 700;
    font-size: 14px;
    cursor: pointer;
    text-decoration: none;
    display: inline-flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    gap: 10px;
    box-shadow: 0 4px 18px rgba(17, 24, 39, .25)
}

.uc-course-page .uc-full-course-btn:hover {
    background: #9229dc
}

.uc-course-page .uc-full-course-label {
    font-size: 14px;
    font-weight: 700;
    line-height: 1;
    color: #fff;
    text-align: center
}

.uc-course-page .uc-course-layout {
    align-items: flex-start
}

.uc-course-page .uc-left-panel {
    width: 100%;
    min-width: 0;
    border: 1px solid #d1d7dc;
    border-radius: 8px;
    overflow: hidden;
    background: #fff;
    box-shadow: 0 2px 4px rgba(0, 0, 0, .08)
}

.uc-course-page .uc-sidebar-mission-row {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 14px 16px;
    cursor: pointer;
    border-bottom: 1px solid #e7eefc;
    border-left: 3px solid transparent;
    background: #fff;
    transition: all .18s
}

.uc-course-page .uc-sidebar-mission-row:hover {
    background: #eef4ff
}

.uc-course-page .uc-sidebar-mission-row.uc-mission-active {
    background: #fff3f6;
    border-left-color: #e41645
}

.uc-course-page .uc-mission-name {
    flex: 1;
    font-weight: 700;
    font-size: 15px;
    color: #1a1a2e;
    white-space: normal
}

.uc-course-page .uc-mission-price-pill {
    border: 1.5px solid #e41645;
    color: #e41645;
    border-radius: 6px;
    padding: 2px 8px;
    font-size: 12px;
    font-weight: 700;
    white-space: nowrap;
    background: #fff3f6
}

.uc-course-page .uc-mission-check,
.uc-course-page .uc-session-check {
    width: 18px;
    height: 18px;
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 11px;
    border: 2px solid #ccc;
    border-radius: 4px;
    color: #ccc
}

.uc-course-page .uc-session-check {
    border-radius: 50%
}

.uc-course-page .uc-mission-check.purchased,
.uc-course-page .uc-session-check.purchased {
    background: #198754;
    border-color: #198754;
    color: #fff
}

.uc-course-page .uc-chevron {
    font-size: 13px;
    color: #7a7f89;
    transition: transform .2s;
    display: inline-flex
}

.uc-course-page .uc-chevron.open {
    transform: rotate(90deg);
    color: #e41645
}

.uc-course-page .uc-session-list {
    background: #edf3ff;
    border-top: 1px solid #dee8ff;
    display: none
}

.uc-course-page .uc-session-list.open {
    display: block
}

.uc-course-page .uc-session-row {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 16px 10px 36px;
    cursor: pointer;
    border-left: 3px solid transparent;
    transition: all .15s;
    background: #edf3ff;
    width: 100%;
    text-align: left;
    border-right: 0;
    border-top: 0;
    border-bottom: 1px solid #dee8ff
}

.uc-course-page .uc-session-row:hover {
    background: #dce9ff
}

.uc-course-page .uc-session-row.uc-session-active {
    background: #ffe7ee;
    border-left-color: #e41645
}

.uc-course-page .uc-session-row-name {
    flex: 1;
    font-size: 13px;
    font-weight: 600;
    color: #1f2937
}

.uc-course-page .uc-session-row-price {
    font-size: 12px;
    color: #1d4ed8;
    font-weight: 700;
    white-space: nowrap
}

.uc-course-page .uc-detail-panel {
    flex: 1;
    border: 1px solid #e8e8e8;
    border-radius: 12px;
    padding: 32px;
    background: #fff;
    min-height: 500px
}

.uc-course-page .uc-detail-view {
    display: none
}

.uc-course-page .uc-detail-view.uc-detail-view-open {
    display: block
}

.uc-course-page .uc-detail-price-large {
    font-size: 28px;
    font-weight: 800;
    color: #e41645;
    margin: 8px 0 20px
}

.uc-course-page .uc-detail-meta {
    color: #666;
    font-size: 14px;
    margin-bottom: 16px
}

.uc-course-page .uc-detail-buy-btn {
    padding: 12px 28px;
    background: #e41645;
    color: #fff;
    border: 0;
    border-radius: 999px;
    font-weight: 700;
    font-size: 15px;
    cursor: pointer
}

.uc-course-page .uc-purchased-badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 8px 18px;
    background: #eafaf1;
    color: #198754;
    border-radius: 999px;
    font-weight: 700;
    font-size: 14px
}

.uc-course-page .uc-detail-session-link {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 10px 14px;
    border: 1px solid #f0f0f0;
    border-radius: 8px;
    margin-bottom: 8px;
    cursor: pointer;
    text-decoration: none;
    color: #333;
    transition: background .15s
}

.uc-course-page .uc-detail-session-link:hover {
    background: #fff5f7;
    color: #e41645
}

.uc-course-page .uc-breadcrumb-detail {
    font-size: 13px;
    color: #999;
    margin-bottom: 12px
}

.uc-course-page .uc-divider {
    border: 0;
    border-top: 1px solid #f0f0f0;
    margin: 20px 0
}

.uc-course-page .uc-lecture-outline,
.uc-course-page .uc-lecture-outline * {
    max-width: 100%;
    overflow-wrap: anywhere;
    word-break: break-word
}

.uc-course-page .uc-lecture-outline img,
.uc-course-page .uc-lecture-outline iframe,
.uc-course-page .uc-lecture-outline video,
.uc-course-page .uc-lecture-outline table {
    max-width: 100% !important;
    height: auto !important
}

.uc-course-page .uc-check-wrap {
    display: inline-flex;
    align-items: center;
    margin: 0;
    cursor: pointer
}

.uc-course-page .uc-check-input {
    position: absolute;
    opacity: 0;
    pointer-events: none
}

.uc-course-page .uc-check-indicator {
    width: 18px;
    height: 18px;
    border: 2px solid #bcc5d1;
    border-radius: 4px;
    background: #fff;
    position: relative;
    display: inline-block;
    transition: .15s
}

.uc-course-page .uc-check-indicator-session {
    border-radius: 50%
}

.uc-course-page .uc-check-input:checked+.uc-check-indicator {
    background: #2563eb;
    border-color: #2563eb
}

.uc-course-page .uc-check-input:checked+.uc-check-indicator::after {
    content: "";
    position: absolute;
    left: 5px;
    top: 1px;
    width: 4px;
    height: 9px;
    border: solid #fff;
    border-width: 0 2px 2px 0;
    transform: rotate(45deg)
}

.uc-course-page .uc-selection-summary {
    margin-top: 12px;
    width: 100%;
    border: 1px solid #d1d7dc;
    border-radius: 8px;
    padding: 16px;
    background: #ffffff;
    box-shadow: 0 2px 4px rgba(0, 0, 0, .08);
    position: sticky;
    top: 14px
}

.uc-course-page .uc-summary-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 5px 0;
    color: #334155
}

.uc-course-page .uc-summary-total {
    margin-top: 8px;
    padding-top: 10px;
    border-top: 1px solid #e2e8f0;
    color: #0f172a
}

.uc-course-page .uc-mission-card {
    border: 1px solid #d1d7dc;
    border-radius: 8px;
    background: #fff;
    overflow: hidden
}

.uc-course-page .uc-mission-card-head {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px 14px;
    background: #f8fafc
}

.uc-course-page .uc-mission-card-toggle {
    display: flex;
    align-items: center;
    gap: 10px;
    flex: 1;
    border: 0;
    background: transparent;
    padding: 0;
    text-align: left;
    cursor: pointer
}

.uc-course-page .uc-mission-card-toggle:focus,
.uc-course-page .uc-mission-card-toggle:focus-visible {
    outline: none;
    box-shadow: none
}

.uc-course-page .uc-mission-card-title {
    font-weight: 700;
    color: #111827;
    flex: 1
}

.uc-course-page .uc-mission-card-price {
    font-weight: 700;
    color: #e41645
}

.uc-course-page .uc-price-wrap {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    justify-content: flex-end
}

.uc-course-page .uc-price-final {
    font-size: 18px;
    font-weight: 800;
    color: #111827;
    line-height: 1
}

.uc-course-page .uc-price-old {
    font-size: 13px;
    font-weight: 600;
    color: #6b7280;
    text-decoration: line-through;
    line-height: 1
}

.uc-course-page .uc-price-save {
    font-size: 11px;
    font-weight: 700;
    color: #0f766e;
    background: #ecfeff;
    border: 1px solid #99f6e4;
    border-radius: 999px;
    padding: 2px 8px;
    line-height: 1.2
}

.uc-course-page .uc-price-wrap.uc-price-wrap-inverse {
    justify-content: flex-start
}

.uc-course-page .uc-price-wrap.uc-price-wrap-inverse .uc-price-final {
    color: #fff
}

.uc-course-page .uc-price-wrap.uc-price-wrap-inverse .uc-price-old {
    color: rgba(255, 255, 255, .85)
}

.uc-course-page .uc-mission-card-body {
    display: none;
    padding: 16px
}

.uc-course-page .uc-mission-card-body.open {
    display: block
}

.uc-course-page .uc-session-tabs {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    margin: 14px 0 10px
}

.uc-course-page .uc-session-tab {
    border: 1px solid #d6deea;
    background: #f8fbff;
    color: #1f2937;
    padding: 7px 10px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 600;
    display: inline-flex;
    gap: 8px;
    align-items: center;
    cursor: pointer
}

.uc-course-page .uc-session-tab.active {
    background: #e7f1ff;
    border-color: #7aa7ff;
    color: #0f3ea0
}

.uc-course-page .uc-session-tab-price {
    font-weight: 700
}

.uc-course-page .uc-session-pane {
    display: none;
    border-top: 1px solid #edf1f5;
    padding-top: 12px;
    margin-top: 8px
}

.uc-course-page .uc-session-pane.active {
    display: block
}

@media (max-width:860px) {
    .uc-course-page .uc-hero-grid {
        grid-template-columns: 1fr
    }

    .uc-course-page .uc-hero-main h1 {
        font-size: 26px
    }

    .uc-course-page .uc-topbar {
        flex-wrap: wrap
    }

    .uc-course-page .uc-detail-panel {
        padding: 18px
    }

    .uc-course-page .uc-selection-summary {
        position: static
    }
}

.quiz-question-card {
    background: #f8fafc;
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    padding: 14px;
}

.quiz-media-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 12px;
    margin-top: 10px;
}

.quiz-media-card {
    background: #ffffff;
    border: 1px solid #e5e7eb;
    border-radius: 10px;
    padding: 8px;
    box-shadow: 0 2px 8px rgba(15, 23, 42, 0.06);
}

.quiz-media-image,
.quiz-media-video {
    width: 100%;
    height: auto;
    max-height: 320px;
    object-fit: contain;
    border-radius: 8px;
    display: block;
    background: #000;
}

/* Navbar link sizing for better laptop fit */
.custom-text-3 {
    font-size: 14px !important;
}

@media only screen and (max-width: 991px) {
    .custom-text-3 {
        font-size: 13px !important;
    }
}

/* TinyMCE Oxide: floating UI above Chameleon fixed navbar (z-index ~9999) */
.tox-tinymce-aux,
body .tox-dialog-wrap {
    z-index: 100060 !important;
}

/* ============================================================
   QA Report 2026-05-26 — fixes (do not delete this block)
   ============================================================ */

/* #12: hero paragraph spacing — tighten line-height + bottom margin so the
   three paragraphs read as one connected block instead of three islands */
.hero-paragraph {
    margin-bottom: 0.6rem !important;
    line-height: 1.55 !important;
}

/* #14: counter labels were nearly invisible on the dark hero gradient */
.hero-counters .counter strong {
    color: #ffffff !important;
}

.hero-counters .counter label {
    color: rgba(255, 255, 255, 0.92) !important;
    font-weight: 600 !important;
    background: transparent !important;
    line-height: 1.35;
}

.hero-counters .counter .hero-counter-note {
    display: block;
    margin-top: 0.2rem;
    font-size: 0.72em;
    font-weight: 500 !important;
    line-height: 1.3;
    color: rgba(255, 255, 255, 0.72) !important;
}

/* #16: feature cards alignment
   The demo theme (demo-digital-agency-2.css) intentionally staggers cards 2 & 3
   with translateY(45px) and translateY(90px). Reset those + equalise heights. */
.custom-cards .col-custom-cards:nth-child(2),
.custom-cards .col-custom-cards:nth-child(3) {
    transform: none !important;
}

.custom-cards .row {
    align-items: stretch !important;
}

.custom-cards .col-custom-cards {
    display: flex !important;
    flex-direction: column;
}

.custom-cards .col-custom-cards .card {
    width: 100%;
    height: auto !important;
    flex: 1 1 auto;
    display: flex !important;
    flex-direction: column;
    bottom: auto !important;
}

.custom-cards .card .card-body {
    flex: 1 1 auto;
    display: flex !important;
    flex-direction: column;
    justify-content: flex-start !important;
}

.custom-cards .card .card-body > .strategy-board-thumb {
    align-self: center;
}

.custom-cards .card .card-body > .card-title,
.custom-cards .card .card-body > .card-text {
    text-align: center;
}

/* push LEARN MORE to the bottom so all three CTAs sit on one baseline */
.custom-cards .card .card-body > a:last-child {
    margin-top: auto !important;
    padding-top: 18px;
    text-align: center;
    align-self: center;
}

/* #17: Read More (link-hover-style-1) — make hover state obvious */
a.link-hover-style-1.text-color-primary {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 14px;
    border: 1px solid rgba(228, 22, 69, 0.45);
    border-radius: 999px;
    transition: background-color .2s ease, color .2s ease, border-color .2s ease, transform .2s ease;
}

a.link-hover-style-1.text-color-primary:hover {
    background-color: #e41645;
    border-color: #e41645;
    color: #ffffff !important;
    transform: translateY(-1px);
    text-decoration: none;
}

/* #9: footer logo (replaced the plain-text brand) */
.footer-reference .footer-brand {
    display: inline-block;
    margin-bottom: 16px;
}

.footer-reference .footer-brand-logo {
    height: 52px;
    width: auto;
    display: block;
}

/* #10.1: Courses dropdown — readable submenu over dark header */
.nav-courses-dropdown {
    position: relative;
}

.nav-courses-dropdown .dropdown-menu {
    background-color: #222 !important;
    min-width: 200px;
    width: auto;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 6px;
    padding: 6px 0;
    margin-top: 4px;
    box-shadow: 0 10px 24px rgba(0, 0, 0, 0.35);
    list-style: none;
    position: absolute !important;
    top: 100% !important;
    bottom: auto !important;
    left: 0 !important;
    right: auto !important;
    transform: none !important;
}

.nav-courses-dropdown .dropdown-menu > li {
    display: block;
    width: 100%;
}

.nav-courses-dropdown .dropdown-menu .dropdown-divider {
    border-top: 1px solid rgba(255, 255, 255, 0.12);
    margin: 4px 0;
    height: 0;
    padding: 0 !important;
    background: transparent !important;
}

#header .nav-courses-dropdown .dropdown-menu .dropdown-item,
#header .nav-courses-dropdown .dropdown-menu li > a,
#header .nav-courses-dropdown .dropdown-menu li > a.text-light {
    display: block;
    width: 100%;
    padding: 8px 18px !important;
    color: #ffffff !important;
    background: transparent !important;
    font-size: 13px;
    font-weight: 500;
    text-decoration: none;
    white-space: nowrap;
    border-bottom: 0 !important;
    transform: none !important;
}

#header .nav-courses-dropdown .dropdown-menu li:hover > a,
#header .nav-courses-dropdown .dropdown-menu li:focus > a,
#header .nav-courses-dropdown .dropdown-menu .dropdown-item:hover,
#header .nav-courses-dropdown .dropdown-menu .dropdown-item:focus,
#header .nav-courses-dropdown .dropdown-menu li:hover > a.text-light,
#header .nav-courses-dropdown .dropdown-menu li:focus > a.text-light {
    background: #e41645 !important;
    background-color: #e41645 !important;
    color: #ffffff !important;
    text-decoration: none !important;
}

.nav-courses-dropdown > a.dropdown-toggle::after {
    margin-left: 6px;
    vertical-align: 0.15em;
}

/* #31: laptop header layout — keep logo left + nav on one line at 992–1399px */
@media only screen and (min-width: 992px) and (max-width: 1399px) {
    #header .header-column.header-column-logo {
        padding-left: 12px !important;
    }
    #header .header-logo a {
        margin-left: 0 !important;
    }
    #header .header-logo img {
        height: 48px !important;
    }
    #header .header-nav.header-nav-links.header-nav-light-text nav > ul > li > a,
    #header .header-nav-main nav > ul > li > a {
        font-size: 11px !important;
        padding-left: 6px !important;
        padding-right: 6px !important;
        white-space: nowrap !important;
    }
    #mainNav {
        flex-wrap: nowrap !important;
    }
}

/* #1 / #31: even on narrower laptop widths, never let nav items wrap */
@media (min-width: 992px) {
    #header .header-nav-main nav > ul > li > a {
        white-space: nowrap;
    }
}

/* #21 / #26: mobile + tablet — remove the tall empty space above the hero */
@media (max-width: 991px) {
    .slider-container.rev_slider_wrapper.ux-63e0d25d {
        height: auto !important;
        min-height: 0 !important;
        padding-top: 0 !important;
    }
    .slider-container .container.pt-5.mt-5 {
        padding-top: 16px !important;
        margin-top: 8px !important;
    }
    .slider-container .row.align-items-center.pt-3 {
        padding-top: 0 !important;
    }
    .slider-container .row.align-items-center.pt-3 > .col-lg-5 {
        margin-top: 0 !important;
    }
    .slider-container .row.align-items-center.pt-3 > .col-lg-5 h1 {
        margin-top: 20px !important;
    }
}

/* #22 / #26: hero video/image — bullet-proof 16:9 frame via padding-bottom hack
   (avoids aspect-ratio / height:auto collapsing to 0 while the video buffers) */
@media (max-width: 991px) {
    .hero-video-frame {
        position: relative !important;
        height: 0 !important;
        padding-bottom: 56.25% !important; /* 9 / 16 */
        overflow: hidden;
    }
    .hero-video-frame video,
    .hero-video-frame .hero-video {
        position: absolute !important;
        top: 0;
        left: 0;
        width: 100% !important;
        height: 100% !important;
        object-fit: cover !important;
    }
    .hero-video-frame .hero-video-poster {
        position: absolute !important;
        top: 0;
        left: 0;
        width: 100% !important;
        height: 100% !important;
        object-fit: contain !important;
    }
}

/* #23: feature cards were too tall on mobile — tighten padding + image size */
@media (max-width: 767px) {
    .custom-cards .card {
        padding: 22px !important;
    }
    .strategy-board-thumb {
        width: 140px;
        height: 140px;
    }
    .custom-cards .col-custom-cards {
        margin-bottom: 16px;
    }
}

/* #24 / #25 / #28: trim excess vertical whitespace between sections on small screens */
@media (max-width: 991px) {
    .our-services.cus-our-serv {
        padding-top: 24px !important;
        margin-top: 0 !important;
    }
    .our-services.cus-our-serv .container.pt-5 {
        padding-top: 0 !important;
    }
    .custom-angled.section-angled {
        margin-bottom: 0 !important;
        padding-bottom: 0 !important;
    }
    .custom-angled .section-angled-content {
        margin-bottom: 0 !important;
    }
    .custom-angled .container.py-5 {
        padding-top: 24px !important;
        padding-bottom: 24px !important;
    }
    .our-services.ux-d4a6aa87 {
        padding-top: 24px !important;
        margin-bottom: 24px !important;
    }
    .our-services.ux-d4a6aa87 .container {
        padding-top: 0 !important;
    }
}

/* #29: tablet — make Growth in Action images larger so overlay doesn't sit on faces */
@media (min-width: 768px) and (max-width: 1199px) {
    .ux-d4a6aa87 .portfolio-item img {
        width: 100%;
        min-height: 240px;
        object-fit: cover;
        object-position: top center;
    }
    .ux-d4a6aa87 .thumb-info-title.bg-transparent {
        padding: 16px !important;
        background: linear-gradient(to top, rgba(0,0,0,0.75), rgba(0,0,0,0)) !important;
    }
}

/* #30: tablet — Our Services instructional video should stack above content */
@media (min-width: 768px) and (max-width: 991px) {
    .gamified-page .col-md-8,
    .gamified-page .col-md-4 {
        flex: 0 0 100% !important;
        max-width: 100% !important;
    }
    .gamified-page .col-md-4 {
        order: -1;
        margin-bottom: 18px;
    }
}

/* #27: tablet — course module cards were being cropped on the sides */
@media (min-width: 768px) and (max-width: 991px) {
    .ux-6e581838 .ux-9a071840 {
        padding: 0 16px;
    }
    #gradeContent {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 14px !important;
    }
}

/* Mobile — switch home page Learning Modules grid from 3 cols to 2 cols */
@media (max-width: 767px) {
    .ux-6e581838 .ux-9a071840 {
        padding: 0 12px;
    }
    #gradeContent {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 12px !important;
    }
}

/* Very small phones — give each card a bit more breathing room */
@media (max-width: 380px) {
    #gradeContent {
        gap: 10px !important;
    }
}

/* Instructional Framework page — full circular wheel infographic */
.framework-wheel-wrap {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    max-width: 640px;
    margin: 0 auto;
    padding: 8px 12px 4px;
}

.framework-wheel-img {
    display: block;
    width: 100%;
    max-width: 560px;
    height: auto;
    margin: 0 auto;
    object-fit: contain;
    background: transparent;
    filter: drop-shadow(0 12px 28px rgba(0, 0, 0, 0.45));
}

@media (max-width: 575px) {
    .framework-wheel-wrap {
        max-width: 100%;
        padding: 4px 0;
    }

    .framework-wheel-img {
        max-width: min(100%, 340px);
    }
}

/* Public grade-courses page — light section, 3-up card grid that scales down responsively */
.grade-courses-section {
    background: #ffffff;
}

.grade-courses-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
}

@media (max-width: 991px) {
    .grade-courses-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 18px;
    }
}

@media (max-width: 575px) {
    .grade-courses-grid {
        grid-template-columns: 1fr;
    }
}

.grade-course-card-link {
    display: block;
    text-decoration: none;
    color: inherit;
}

.grade-course-card-link:hover {
    text-decoration: none;
}

.grade-courses-grid .course-gallery-card {
    width: 100%;
}

.grade-courses-grid .welcome-course-thumb-wrap {
    width: 100%;
    aspect-ratio: 16 / 9;
    height: auto;
    overflow: hidden;
    display: block;
    position: relative;
    border-radius: 14px 14px 0 0;
}

.grade-courses-grid .welcome-course-thumb {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center top;
    display: block;
}

/* Auth pages footer — modern, centered layout with an OR divider,
   outlined secondary CTA, and a subtle "Back to Home" link */
.auth-footer {
    padding: 18px 22px 20px;
    text-align: center;
}

.auth-footer-divider {
    position: relative;
    display: flex;
    align-items: center;
    margin: 4px 0 16px;
    color: #9aa3b2;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.16em;
    text-transform: uppercase;
}

.auth-footer-divider::before,
.auth-footer-divider::after {
    content: "";
    flex: 1;
    height: 1px;
    background: linear-gradient(to right, rgba(154, 163, 178, 0), rgba(154, 163, 178, 0.45), rgba(154, 163, 178, 0));
}

.auth-footer-divider span {
    padding: 0 14px;
}

.auth-footer-prompt {
    margin: 0 0 10px;
    color: #6b7280;
    font-size: 14px;
}

.btn.btn-outline-auth {
    display: inline-block;
    min-width: 220px;
    padding: 10px 22px;
    border: 1.5px solid #e41645;
    border-radius: 8px;
    background: transparent;
    color: #e41645;
    font-weight: 600;
    font-size: 14px;
    letter-spacing: 0.02em;
    text-decoration: none;
    transition: background-color .18s ease, color .18s ease, transform .18s ease, box-shadow .18s ease;
}

.btn.btn-outline-auth:hover,
.btn.btn-outline-auth:focus {
    background-color: #e41645;
    color: #ffffff;
    text-decoration: none;
    transform: translateY(-1px);
    box-shadow: 0 6px 16px rgba(228, 22, 69, 0.28);
}

.auth-footer-home-link {
    display: inline-flex;
    align-items: center;
    margin-top: 16px;
    color: #6b7280;
    font-size: 13px;
    font-weight: 500;
    text-decoration: none;
    transition: color .15s ease;
}

.auth-footer-home-link:hover,
.auth-footer-home-link:focus {
    color: #e41645;
    text-decoration: none;
}

.auth-footer-home-link i {
    font-size: 14px;
}

@media (max-width: 575px) {
    .auth-footer {
        padding: 14px 16px 18px;
    }
    .btn.btn-outline-auth {
        min-width: 0;
        width: 100%;
    }
}

/* Hero video — make sure it sits above the slider's white tilted overlay
   and is always visible (not collapsed) on all viewports */
.hero-video-frame {
    position: relative;
    z-index: 2;
}

.hero-video-frame .hero-video,
.hero-video-frame video {
    display: block;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover;
    object-position: center;
    background: #0d1f33;
    border-radius: 18px;
    position: relative;
    z-index: 1;
}

.hero-video-frame .hero-video-poster {
    position: absolute;
    inset: 0;
    z-index: 2;
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    object-position: center;
    border-radius: 18px;
    background: #0d1f33;
}

/* =========================================================
   Homepage mobile polish (≤767px) — spacing, alignment, sizing
   ========================================================= */
@media (max-width: 767px) {
    /* Section padding: tighten across the page so users don't scroll past empty gutters */
    #main .slider-container,
    #main .our-services.cus-our-serv,
    #main .our-approach,
    #main .ux-d4a6aa87,
    #main .our-insights,
    #main .section.custom-angled {
        padding-left: 12px !important;
        padding-right: 12px !important;
    }

    #main .container,
    #main .container-fluid {
        padding-left: 14px;
        padding-right: 14px;
    }

    /* Hero: tighten the top, give the video room, drop the heading size */
    .slider-container .container.pt-5 {
        padding-top: 12px !important;
    }
    .slider-container .row.align-items-center {
        padding-top: 0 !important;
    }
    .slider-container h1.text-11 {
        font-size: 1.85rem !important;
        line-height: 1.15 !important;
        margin-top: 12px !important;
        margin-bottom: 12px !important;
    }
    .hero-paragraph {
        font-size: 0.95rem !important;
        line-height: 1.55 !important;
        margin-bottom: 0.6rem !important;
    }
    .hero-mathnusa-word .highlighted-word {
        font-size: 1.4rem !important;
    }
    .hero-video-frame {
        position: relative !important;
        height: 0 !important;
        /* padding-bottom: 56.25% !important; */
        margin-top: 0px;
        margin-bottom: 33px !important;
        overflow: hidden;
    }
    .hero-video-frame video,
    .hero-video-frame .hero-video {
        position: absolute !important;
        top: 0;
        left: 0;
        width: 100% !important;
        height: 100% !important;
        object-fit: cover !important;
        border-radius: 18px;
    }
    .hero-video-frame .hero-video-poster {
        position: absolute !important;
        top: 0;
        left: 0;
        width: 100% !important;
        height: 100% !important;
        object-fit: contain !important;
        border-radius: 18px;
    }
    .slider-container .col-lg-6.offset-lg-1 {
        margin-bottom: 18px !important;
    }
    /* the white "tilted" overlay below the hero pokes into the next section on mobile — flatten it */
    .slider-container:after {
        height: 50px;
        bottom: -25px;
        transform: rotate(1deg);
    }

    /* Three feature cards: stack with sane spacing (the desktop staircase reset is already applied) */
    .custom-cards {
        margin-top: 16px !important;
        margin-bottom: 16px !important;
        padding-bottom: 12px !important;
    }
    .custom-cards .col-custom-cards {
        margin-bottom: 16px;
    }
    .custom-cards .col-custom-cards:last-child {
        margin-bottom: 0;
    }
    .custom-cards .card {
        padding: 26px !important;
    }
    .strategy-board-thumb {
        width: 130px;
        height: 130px;
    }
    .custom-cards .card-title {
        font-size: 1rem !important;
    }
    .custom-cards .card-text {
        font-size: 0.88rem !important;
    }

    /* "A Structured Math System Built for Real Growth" + characters banner */
    .our-services.cus-our-serv {
        padding-top: 18px !important;
        margin-top: 0 !important;
    }
    .our-services.cus-our-serv .container.pt-5 {
        padding-top: 0 !important;
    }
    #main .our-services.cus-our-serv h2.cus-our-serv-title {
        font-size: 1.55rem !important;
        line-height: 1.2 !important;
    }
    #main .our-services.cus-our-serv h3.cus-our-serv-subtitle {
        font-size: 1rem !important;
        margin-top: 0.25rem !important;
    }
    .gamify-image-panel {
        padding: 6px;
    }
    .gamify-image-panel::before {
        font-size: 10px;
        padding: 4px 8px;
    }

    /* Instructional Framework section: wheel + lists */
    .our-approach {
        padding: 24px 0 !important;
        margin: 0 !important;
    }
    .our-approach h2.text-8,
    .our-approach .custom-text-10 {
        font-size: 1.4rem !important;
        text-align: center;
    }
    .our-approach .approach-img-mathnopoly-wheel {
        max-width: 280px;
        margin-left: auto !important;
        margin-right: auto !important;
    }
    .our-approach ul.custom-list {
        padding-left: 0 !important;
        margin-left: 0 !important;
    }
    .our-approach .col-lg-6.col-xl-4,
    .our-approach .col-lg-4 {
        margin-bottom: 14px;
    }
    .our-approach .ux-2a117045 {
        flex-direction: column;
        gap: 10px !important;
    }
    .our-approach .ux-2a117045 .btn {
        width: 100%;
        text-align: center;
    }

    /* "Designed for Every Learning Environment" — 3 stacked cards */
    .our-approach .row:last-child .col-lg-4 {
        margin-bottom: 18px;
        text-align: center;
    }

    /* "How MATHNOPOLY Drives Measurable Growth" — image + counters */
    .section.custom-angled {
        padding: 0 !important;
        margin-bottom: 0 !important;
    }
    .section.custom-angled .container.py-5 {
        padding-top: 20px !important;
        padding-bottom: 20px !important;
    }
    .section.custom-angled .container .row > .col-md-6,
    .section.custom-angled .container .row > .col-xl-6 {
        margin-bottom: 14px;
    }
    .section.custom-angled .pl-md-4.mt-5 {
        padding-left: 0 !important;
        margin-top: 8px !important;
    }
    .section.custom-angled h3.text-7 {
        font-size: 1.35rem !important;
        line-height: 1.2 !important;
    }
    .hero-counters .counter strong {
        font-size: 1.6rem !important;
    }
    .hero-counters .counter label {
        font-size: 0.75rem !important;
    }

    /* "Recognizing Growth in Action" — 6 portfolio cards */
    .ux-d4a6aa87 {
        padding-top: 20px !important;
        margin-bottom: 20px !important;
    }
    .ux-d4a6aa87 .container {
        padding-top: 0 !important;
    }
    .ux-d4a6aa87 h4.custom-text-10 {
        font-size: 1.25rem !important;
        padding-bottom: 18px !important;
        margin-bottom: 12px !important;
    }
    .ux-d4a6aa87 .row > .col-md-4 {
        margin-bottom: 12px;
    }
    .ux-d4a6aa87 .portfolio-item img {
        width: 100%;
        height: auto;
    }

    /* Insights */
    .our-insights .container.py-5 {
        padding-top: 18px !important;
        padding-bottom: 18px !important;
    }
    .our-insights h4.custom-text-10 {
        font-size: 1.25rem !important;
        padding-bottom: 18px !important;
        margin-bottom: 18px !important;
    }
    .our-insights article h4.custom-text-8 {
        font-size: 1.05rem !important;
        line-height: 1.3 !important;
    }

    /* Strategic Math / "Explore the Platform" CTA card at the bottom */
    .get-in-touch.welcome-gamify-bg {
        padding-top: 28px !important;
        padding-bottom: 28px !important;
    }
    .get-in-touch.welcome-gamify-bg h4.custom-text-10 {
        font-size: 1.3rem !important;
    }
    .get-in-touch.welcome-gamify-bg .custom-text-7 {
        font-size: 0.95rem !important;
    }
    .get-in-touch.welcome-gamify-bg .col-lg-4 {
        margin-top: 16px !important;
        justify-content: flex-start !important;
    }
    .get-in-touch.welcome-gamify-bg .col-lg-4 .btn {
        width: 100%;
        text-align: center;
    }

    /* Generic typography toning — keep big section titles readable on small screens */
    #main h2.text-8 {
        font-size: 1.55rem !important;
        line-height: 1.2 !important;
    }
    #main .our-services.cus-our-serv h2.cus-our-serv-title {
        font-size: 1.55rem !important;
    }
    #main .our-services.cus-our-serv h3.cus-our-serv-subtitle {
        font-size: 1rem !important;
        margin-top: 0.25rem !important;
    }
    #main h3.text-7 {
        font-size: 1.3rem !important;
    }
    #main .text-color-dark.custom-text-10 {
        font-size: 1.25rem !important;
    }
}

/* Small phones (≤480px): one more squeeze on text + paddings */
@media (max-width: 480px) {
    .slider-container h1.text-11 {
        font-size: 1.55rem !important;
    }
    .hero-paragraph {
        font-size: 0.9rem !important;
    }
    #main h2.text-8 {
        font-size: 1.35rem !important;
    }
    #main .our-services.cus-our-serv h2.cus-our-serv-title {
        font-size: 1.35rem !important;
    }
    #main .our-services.cus-our-serv h3.cus-our-serv-subtitle {
        font-size: 0.95rem !important;
        margin-top: 0.2rem !important;
    }
    .custom-cards .card {
        padding: 22px !important;
    }
    .strategy-board-thumb {
        width: 110px;
        height: 110px;
    }
}

@media (max-width: 1199px) {
    .get-in-touch {
        padding: 5px 0 !important;
    }
}

/* end QA Report 2026-05-26 fixes */

/* ===== Unified gamified card theme across content pages ===== */
.schools-panel,
.about-panel,
.families-panel,
.insights-panel {
    position: relative;
    overflow: hidden;
    background: linear-gradient(160deg, rgba(32, 40, 70, 0.94), rgba(19, 23, 44, 0.96));
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 20px;
    box-shadow: 0 26px 64px rgba(0, 0, 0, 0.55), inset 0 1px 0 rgba(255, 255, 255, 0.08);
    padding: 30px 28px;
}

.schools-panel::before,
.about-panel::before,
.families-panel::before,
.insights-panel::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: linear-gradient(90deg, #e41645, #f25d7e, #2b6cff);
}

/* ============================================================
   Light theme (client request):
   - Homepage: white navbar + white hero so they match
   - Footer: white background site-wide
   ============================================================ */

/* ---- Homepage white navbar ---- */
#header.header-home-light .header-body {
    background: #ffffff !important;
    box-shadow: 0 1px 0 rgba(0, 0, 0, 0.06), 0 6px 18px rgba(0, 0, 0, 0.05) !important;
}
#header.header-home-light .header-logo img {
    filter: brightness(0);
}
#header.header-home-light .header-nav-main nav .nav-link {
    color: #15182b !important;
}
#header.header-home-light .header-nav-main nav .nav-link:hover,
#header.header-home-light .header-nav-main nav .nav-link.active {
    color: #e41645 !important;
}
#header.header-home-light .hamburger-line,
#header.header-home-light .header-nav-main-mobile .fa {
    color: #15182b !important;
}

/* ---- Hero: solid dark (clean contrast against the white section below) ---- */
.slider-container.hero-pro {
    background: #14162a !important;
}
.slider-container.hero-pro h1 {
    color: #ffffff !important;
}
.slider-container.hero-pro .hero-paragraph {
    color: rgba(255, 255, 255, 0.82) !important;
}
.slider-container.hero-pro .hero-mathnusa-word .highlighted-word {
    color: #e41645 !important;
}
/* Clean white-framed video */
.slider-container.hero-pro .hero-video-frame {
    border: 0 !important;
    border-radius: 14px !important;
    box-shadow: 0 0 0 4px #ffffff, 0 22px 50px rgba(0, 0, 0, 0.45) !important;
}

/* ---- White footer (site-wide) ---- */
.footer-reference {
    background: #ffffff !important;
    border-top: 1px solid #e6e9ef;
}
.footer-reference .footer-brand-logo {
    filter: brightness(0);
}
.footer-reference .footer-brand-title,
.footer-reference .footer-col-title {
    color: #15182b !important;
}
.footer-reference .footer-copy,
.footer-reference .footer-copyright,
.footer-reference .footer-contact-list li {
    color: #4a4f5e !important;
}
.footer-reference .footer-links a {
    color: #4a4f5e !important;
}
.footer-reference .footer-links a:hover {
    color: #e41645 !important;
}
.footer-reference .footer-contact-list li i {
    color: #e41645 !important;
}
.footer-reference a.text-white {
    color: #15182b !important;
}
.footer-reference .footer-bottom-bar {
    border-top: 1px solid rgba(0, 0, 0, 0.1) !important;
    color: #15182b !important;
}
.footer-reference .footer-social a {
    border-color: rgba(0, 0, 0, 0.3) !important;
    color: #15182b !important;
}
.footer-reference .footer-social a:hover {
    background: #15182b !important;
    color: #ffffff !important;
}

/* ============================================================
   Homepage — clean professional theme (client direction):
   solid colors, dark + white sections alternating, no gradients,
   flat (non-angled) section edges, one font family everywhere.
   ============================================================ */

/* ---- One consistent font family across all content (frontend only) ---- */
/* Scoped to `body:not(.vertical-layout)` so it never leaks into the backend
   admin/student/teacher theme, which shares this stylesheet but keeps its own
   Muli/Comfortaa typography. Backend layouts always set `.vertical-layout`. */
body:not(.vertical-layout),
body:not(.vertical-layout) h1, body:not(.vertical-layout) h2, body:not(.vertical-layout) h3,
body:not(.vertical-layout) h4, body:not(.vertical-layout) h5, body:not(.vertical-layout) h6,
body:not(.vertical-layout) p, body:not(.vertical-layout) a, body:not(.vertical-layout) li,
body:not(.vertical-layout) blockquote, body:not(.vertical-layout) label,
body:not(.vertical-layout) .btn, body:not(.vertical-layout) .nav-link, body:not(.vertical-layout) .dropdown-item,
body:not(.vertical-layout) .card-title, body:not(.vertical-layout) .card-text,
body:not(.vertical-layout) .custom-text-1, body:not(.vertical-layout) .custom-text-2,
body:not(.vertical-layout) .custom-text-3, body:not(.vertical-layout) .custom-text-4,
body:not(.vertical-layout) .custom-text-5, body:not(.vertical-layout) .custom-text-6,
body:not(.vertical-layout) .custom-text-7, body:not(.vertical-layout) .custom-text-8,
body:not(.vertical-layout) .custom-text-9, body:not(.vertical-layout) .custom-text-10,
body:not(.vertical-layout) .custom-font-size-1,
body:not(.vertical-layout) .alternative-font-1, body:not(.vertical-layout) .alternative-font-2,
body:not(.vertical-layout) .alternative-font-3, body:not(.vertical-layout) .alternative-font-4,
body:not(.vertical-layout) .highlighted-word {
    font-family: 'Poppins', sans-serif !important;
}

/* ---- Solid section colors (no gradients) ---- */
/* "Learning Modules by Grade" — solid dark (matches hero) */
.ux-6e581838 {
    background: #14162a !important;
}
/* Angled feature band — solid dark */
.section.custom-angled.bg-dark {
    background: #14162a !important;
}
/* Content sections stay clean white (remove earlier tints) */
.our-services.cus-our-serv,
.our-approach#instructionalFramework,
.our-services.ux-d4a6aa87,
.our-insights#blog {
    background: #ffffff !important;
}

/* ---- Remove angled/curved section edges -> straight, professional ---- */
section.section.section-angled .section-angled-layer-top,
section.section.section-angled .section-angled-layer-bottom {
    display: none !important;
}
section.section.section-angled,
.section.custom-angled {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}
.section.custom-angled .section-angled-content {
    padding-top: 60px !important;
    padding-bottom: 60px !important;
}

/* ---- Bottom CTA ("Strategic Math…"): solid + remove slanted curve into footer ---- */
.get-in-touch.welcome-gamify-bg {
    background: #14162a !important;
}
.get-in-touch.welcome-gamify-bg::after,
.get-in-touch.welcome-gamify-bg:after {
    display: none !important;
}

/* ---- Tighten excessive top/bottom spacing on homepage content sections ---- */
#main .our-services.cus-our-serv {
    padding-top: 36px !important;
    padding-bottom: 36px !important;
    margin-top: 0 !important;
}
#main .our-services.cus-our-serv > .container.pt-5 {
    padding-top: 0 !important;
    margin-top: 0 !important;
}
#main .our-services.cus-our-serv .cus-our-serv-row {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    margin-bottom: 0 !important;
}
#main .our-services.cus-our-serv .cus-our-serv-heading {
    margin-bottom: 1rem !important;
}
#main .our-services.cus-our-serv .cus-our-serv-heading h2.cus-our-serv-title,
#main .our-services.cus-our-serv h2.cus-our-serv-title {
    font-size: 2.3rem !important;
    line-height: 1.2 !important;
    font-weight: 700 !important;
    letter-spacing: normal !important;
    text-transform: none !important;
    margin: 0 !important;
    padding: 0 !important;
}
#main .our-services.cus-our-serv .cus-our-serv-heading h3.cus-our-serv-subtitle,
#main .our-services.cus-our-serv h3.cus-our-serv-subtitle {
    font-size: 1.2rem !important;
    line-height: 1.4 !important;
    font-weight: 700 !important;
    letter-spacing: 0.3px !important;
    text-transform: none !important;
    margin: 0.35rem 0 0 0 !important;
    padding: 0 !important;
}
#main .our-services.cus-our-serv .cus-our-serv-heading + p {
    margin-top: 0.75rem !important;
}
#main .our-approach {
    padding-top: 40px !important;
    padding-bottom: 40px !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}
#main .our-services.ux-d4a6aa87 {
    padding-top: 40px !important;
    padding-bottom: 40px !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

/* ============================================================
   Interior pages -> light professional theme (match homepage):
   white page background, white content cards, dark text,
   solid accents (no gradients), no decorative blobs/curves.
   ============================================================ */

/* Page backgrounds: subtle light grey so the content card stands out */
.gamified-page, .how-page, .schools-page, .about-page, .families-page, .insights-page {
    background: #eef1f6 !important;
}

/* ---- Page header band (mini hero on every sub-page) ---- */
.page-header-band {
    position: relative;
    background-color: #14162a;
    background-image: url('/mathnusa2025-latest-web/public/frontend/landing-page/images/backgrounds/mathnopoly-gamify-bg.jpg');
    background-size: cover;
    background-position: center;
    background-blend-mode: multiply;
    padding: 46px 0 50px;
    border-bottom: 4px solid #e41645;
}
.page-header-band .page-header-breadcrumb {
    font-size: 13px;
    font-weight: 600;
    letter-spacing: .3px;
    color: rgba(255, 255, 255, 0.75);
    margin-bottom: 10px;
}
.page-header-band .page-header-breadcrumb a {
    color: rgba(255, 255, 255, 0.75);
    text-decoration: none;
}
.page-header-band .page-header-breadcrumb a:hover {
    color: #ffffff;
}
.page-header-band .page-header-breadcrumb .sep {
    margin: 0 8px;
    color: #e41645;
}
.page-header-band .page-header-breadcrumb .current {
    color: #ffffff;
}
.page-header-band .page-header-title {
    color: #ffffff;
    font-family: 'Poppins', sans-serif;
    font-weight: 800;
    font-size: 2.2rem;
    line-height: 1.15;
    margin: 0;
}

/* Remove decorative blur circles + angled slants on these pages */
:is(.gamified-page, .how-page, .schools-page, .about-page, .families-page, .insights-page) .custom-circle {
    display: none !important;
}
:is(.gamified-page, .how-page, .schools-page, .about-page, .families-page, .insights-page)::after,
:is(.gamified-page, .how-page, .schools-page, .about-page, .families-page, .insights-page)::before {
    display: none !important;
}

/* Content sits in a clean white card lifted over the grey page + header band */
:is(.gamified-panel, .how-panel, .schools-panel, .about-panel, .families-panel, .insights-panel) {
    background: #ffffff !important;
    border: 1px solid #e6e9ef !important;
    box-shadow: 0 16px 40px rgba(20, 22, 58, 0.08) !important;
    border-radius: 14px !important;
    padding: 36px 38px !important;
    margin-top: -36px !important;
    position: relative;
    z-index: 2;
}
:is(.gamified-panel, .how-panel, .schools-panel, .about-panel, .families-panel, .insights-panel)::before {
    display: none !important;
}
/* Badge is redundant with the header band -> hide it */
:is(.gamified-badge, .how-badge, .schools-badge, .about-badge, .families-badge, .insights-badge) {
    display: none !important;
}
/* Gamified touch: solid-red underline accent under the page title */
:is(.gamified-panel, .how-panel, .schools-panel, .about-panel, .families-panel, .insights-panel) > h1:first-of-type {
    position: relative;
    padding-bottom: 16px;
    margin-bottom: 18px;
}
:is(.gamified-panel, .how-panel, .schools-panel, .about-panel, .families-panel, .insights-panel) > h1:first-of-type::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 72px;
    height: 5px;
    border-radius: 3px;
    background: #e41645;
}
/* Section sub-headings: solid-red left accent block (gamified, one color) */
:is(.gamified-page, .how-page, .schools-page, .about-page, .families-page, .insights-page) :is(.section-heading, .schools-heading, .about-heading, .how-heading) {
    padding-left: 16px !important;
    border-left: 4px solid #e41645;
}
:is(.gamified-page, .how-page, .schools-page, .about-page, .families-page, .insights-page) :is(.section-heading, .schools-heading, .about-heading, .how-heading)::before {
    display: none !important;
}

/* Dark text inside panels (keep brand-red accents) */
:is(.gamified-panel, .how-panel, .schools-panel, .about-panel, .families-panel, .insights-panel) :is(h1, h2, h3, h4, h5, h6, p, li, strong, em, td, th, label, span):not(.text-primary):not(.btn):not(.avatar-video-player *),
:is(.gamified-panel, .how-panel, .schools-panel, .about-panel, .families-panel, .insights-panel) .text-color-light:not(.text-primary):not(.btn):not(.avatar-video-player *) {
    color: #1f2333 !important;
}
/* Filled CTA buttons inside panels keep bold white text */
:is(.gamified-panel, .how-panel, .schools-panel, .about-panel, .families-panel, .insights-panel) a.btn.btn-primary,
:is(.gamified-panel, .how-panel, .schools-panel, .about-panel, .families-panel, .insights-panel) .btn.btn-primary {
    color: #ffffff !important;
    font-weight: 700 !important;
}
:is(.gamified-panel, .how-panel, .schools-panel, .about-panel, .families-panel, .insights-panel) a:not(.btn):not(.text-primary) {
    color: #e41645 !important;
}

/* Badges: solid red (no gradient) */
:is(.gamified-badge, .how-badge, .schools-badge, .about-badge, .families-badge, .insights-badge) {
    background: #e41645 !important;
}

/* Secondary "image" side panels: light, aligned to the content card's top */
:is(.gamified-side, .how-side) {
    background: #f4f6f8 !important;
    border: 1px solid #e6e9ef !important;
    margin-top: -36px !important;
    border-radius: 14px;
    overflow: hidden;
}
:is(.gamified-side, .how-side) img {
    border-radius: 8px;
}

/* Insights index — clean list (no card-on-card, no big red titles) */
.insights-list-item {
    padding: 22px 0;
    border-bottom: 1px solid #e6e9ef;
}
.insights-list-item:last-child {
    border-bottom: 0;
}
.insights-list-item .meta {
    color: #8a8f9c !important;
    font-size: 12px;
    letter-spacing: .6px;
    font-weight: 600;
}
.insights-list-title {
    margin: 4px 0 8px;
    font-weight: 800;
}
:is(.insights-panel) .insights-list-title a:not(.text-primary):not(.btn) {
    color: #1f2333 !important;
    text-decoration: none;
}
:is(.insights-panel) .insights-list-title a:not(.text-primary):not(.btn):hover {
    color: #e41645 !important;
}
.insights-list-excerpt {
    color: #5a6072 !important;
    margin-bottom: 8px;
}
.insights-list-item .insights-read-more {
    display: inline-block;
    color: #e41645 !important;
    font-weight: 700;
    text-decoration: underline;
    letter-spacing: .2px;
}
.insights-list-item .insights-read-more:hover {
    color: #c4123b !important;
}

/* Light outline buttons -> dark outline so they show on white */
:is(.gamified-page, .how-page, .schools-page, .about-page, .families-page, .insights-page) .btn-outline.btn-light {
    border-color: #15182b !important;
    color: #15182b !important;
}
:is(.gamified-page, .how-page, .schools-page, .about-page, .families-page, .insights-page) .btn-outline.btn-light:hover {
    background: #15182b !important;
    color: #ffffff !important;
}

/* ============================================================
   Homepage hero polish: align text with video, fix MATHNUSA word
   ============================================================ */
.slider-container.hero-pro .row.align-items-center {
    align-items: flex-start !important;
}
.slider-container.hero-pro .col-lg-5 {
    padding-top: 8px;
}
.slider-container.hero-pro h1 {
    margin-top: 0 !important;
    margin-bottom: 14px !important;
}
/* MATHNUSA wordmark: clean block, no overlapping animation line */
.slider-container.hero-pro .hero-mathnusa-word {
    display: block;
    margin: 0 0 16px 0 !important;
}
.slider-container.hero-pro .hero-mathnusa-word .highlighted-word {
    margin-left: 0 !important;
    font-size: 1.5rem;
    letter-spacing: .5px;
    line-height: 1.2;
}
.slider-container.hero-pro .hero-mathnusa-word .highlighted-word-animation-1::after,
.slider-container.hero-pro .hero-mathnusa-word .highlighted-word-animation-1:after {
    display: none !important;
}
.slider-container.hero-pro .hero-paragraph {
    margin-bottom: 14px !important;
}

/* ============================================================
   Navbar: click-only dropdowns + fit on laptops
   ============================================================ */
/* Courses / More dropdowns: open on click only (kill Porto hover-open) */
#header .header-nav-main nav > ul > li.nav-courses-dropdown:hover > .dropdown-menu {
    display: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
}
#header .header-nav-main nav > ul > li.nav-courses-dropdown.show > .dropdown-menu,
#header .header-nav-main nav > ul > li.nav-courses-dropdown .dropdown-menu.show {
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
}

/* Tighten nav spacing on laptops so items + buttons never run off-screen */
@media (min-width: 992px) and (max-width: 1550px) {
    #header.header-home-light .header-nav-main nav > ul > li > a.nav-link {
        padding-left: 10px !important;
        padding-right: 10px !important;
        font-size: 13px !important;
    }
}
@media (min-width: 992px) and (max-width: 1300px) {
    #header.header-home-light .header-nav-main nav > ul > li > a.nav-link {
        padding-left: 7px !important;
        padding-right: 7px !important;
        font-size: 12px !important;
    }
    #header.header-home-light .header-logo img { height: 46px !important; }
}

/* ============================================================
   Insights blog — modern card grid
   ============================================================ */
.insights-blog .insights-blog-head {
    text-align: left;
    max-width: 820px;
    margin: 0 0 42px;
}
.insights-blog .insights-eyebrow {
    display: inline-block;
    background: #e41645;
    color: #fff;
    font-weight: 700;
    font-size: 12px;
    letter-spacing: .8px;
    text-transform: uppercase;
    padding: 6px 16px;
    border-radius: 999px;
    margin-bottom: 16px;
}
.insights-blog .insights-blog-head h1 {
    font-weight: 800;
    color: #15182b;
    margin-bottom: 14px;
}
.insights-blog .insights-blog-head p {
    color: #5a6072;
    font-size: 1.06rem;
    margin: 0;
}
.insights-blog .insights-blog-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(330px, 1fr));
    gap: 28px;
}
.insights-blog .insights-card {
    background: #fff;
    border: 1px solid #e6e9ef;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 12px 30px rgba(20, 22, 58, .06);
    transition: transform .2s ease, box-shadow .2s ease;
    display: flex;
    flex-direction: column;
}
.insights-blog .insights-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 22px 46px rgba(20, 22, 58, .13);
}
.insights-blog .insights-card-cover {
    position: relative;
    display: flex;
    align-items: flex-end;
    height: 152px;
    padding: 18px;
    overflow: hidden;
    text-decoration: none;
}
.insights-blog .insights-card-cover.cover-0 { background: #14162a; }
.insights-blog .insights-card-cover.cover-1 { background: #e41645; }
.insights-blog .insights-card-cover.cover-2 { background: #2b6cff; }
.insights-blog .insights-card-mark {
    position: absolute;
    top: -22px;
    right: 12px;
    font-size: 110px;
    font-weight: 800;
    color: rgba(255, 255, 255, .10);
    line-height: 1;
    user-select: none;
}
.insights-blog .insights-card-cat {
    position: relative;
    z-index: 2;
    background: rgba(255, 255, 255, .2);
    color: #fff;
    font-weight: 700;
    font-size: 11px;
    letter-spacing: .6px;
    text-transform: uppercase;
    padding: 6px 13px;
    border-radius: 999px;
}
.insights-blog .insights-card-body {
    padding: 20px 22px 24px;
    display: flex;
    flex-direction: column;
    flex: 1;
}
.insights-blog .insights-card-meta {
    color: #8a8f9c;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: .3px;
    text-transform: uppercase;
    margin-bottom: 10px;
    display: flex;
    gap: 8px;
    align-items: center;
}
.insights-blog .insights-card-meta .dot { color: #e41645; }
.insights-blog .insights-card-title {
    font-size: 1.2rem;
    font-weight: 800;
    line-height: 1.32;
    margin-bottom: 10px;
}
.insights-blog .insights-card-title a { color: #15182b; text-decoration: none; }
.insights-blog .insights-card-title a:hover { color: #e41645; }
.insights-blog .insights-card-excerpt {
    color: #5a6072;
    margin-bottom: 16px;
    flex: 1;
}
.insights-blog .insights-card-link {
    align-self: flex-start;
    color: #e41645;
    font-weight: 700;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 8px;
}
.insights-blog .insights-card-link i { transition: transform .2s ease; }
.insights-blog .insights-card-link:hover { color: #c4123b; }
.insights-blog .insights-card-link:hover i { transform: translateX(4px); }

/* ============================================================
   Navbar v2: proper Bootstrap click dropdowns + nicer style
   ============================================================ */
/* COURSES + MORE: hidden by default; show ONLY on Bootstrap .show (click) */
#header .header-nav-main nav > ul > li.nav-courses-dropdown > .dropdown-menu {
    display: none !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
}
#header .header-nav-main nav > ul > li.nav-courses-dropdown.show > .dropdown-menu,
#header .header-nav-main nav > ul > li.nav-courses-dropdown > .dropdown-menu.show,
#header .header-nav-main nav > ul > li.nav-courses-dropdown.open > .dropdown-menu {
    display: block !important;
}

/* Clean white dropdown menu (matches the white navbar) */
#header .nav-courses-dropdown .dropdown-menu {
    background: #ffffff !important;
    border: 1px solid #e6e9ef !important;
    border-radius: 10px !important;
    box-shadow: 0 14px 34px rgba(20, 22, 58, 0.14) !important;
    padding: 8px !important;
    margin-top: 10px !important;
    min-width: 214px;
}
#header .nav-courses-dropdown .dropdown-menu .dropdown-item,
#header .nav-courses-dropdown .dropdown-menu li > a,
#header .nav-courses-dropdown .dropdown-menu li > a.text-light {
    color: #1f2333 !important;
    background: transparent !important;
    border-radius: 7px !important;
    padding: 9px 14px !important;
    font-weight: 600;
    font-size: 13px;
}
#header .nav-courses-dropdown .dropdown-menu li:hover > a,
#header .nav-courses-dropdown .dropdown-menu .dropdown-item:hover,
#header .nav-courses-dropdown .dropdown-menu li:hover > a.text-light {
    background: #fce4eb !important;
    color: #e41645 !important;
}
#header .nav-courses-dropdown .dropdown-menu .dropdown-divider {
    border-top: 1px solid #eceef3 !important;
    margin: 6px 4px !important;
}
/* Caret indicator on toggles */
#header .nav-courses-dropdown > a.dropdown-toggle::after {
    margin-left: 7px;
    vertical-align: 0.15em;
    border-top-color: currentColor;
}

/* Account dropdown: dark menu — keep background, force readable white links */
#header.header-home-light .header-nav-main nav > ul > li.dropdown:not(.nav-courses-dropdown) .dropdown-menu {
    background: #1e1e1e !important;
    border: 1px solid rgba(255, 255, 255, 0.08) !important;
    border-radius: 6px !important;
    box-shadow: 0 10px 24px rgba(0, 0, 0, 0.35) !important;
    padding: 6px 0 !important;
    min-width: 200px;
}
#header.header-home-light .header-nav-main nav > ul > li.dropdown:not(.nav-courses-dropdown) .dropdown-menu .dropdown-divider {
    border-top: 1px solid rgba(255, 255, 255, 0.12) !important;
    margin: 4px 0 !important;
}
#header.header-home-light .header-nav-main nav > ul > li.dropdown:not(.nav-courses-dropdown) .dropdown-menu li > a,
#header.header-home-light .header-nav-main nav > ul > li.dropdown:not(.nav-courses-dropdown) .dropdown-menu li > a.nav-link,
#header.header-home-light .header-nav-main nav > ul > li.dropdown:not(.nav-courses-dropdown) .dropdown-menu li > a.text-light,
#header.header-home-light .header-nav-main nav > ul > li.dropdown:not(.nav-courses-dropdown) .dropdown-menu li > a.text-danger {
    color: #ffffff !important;
    background: transparent !important;
    display: block;
    width: 100%;
    padding: 8px 18px !important;
    font-size: 13px;
    font-weight: 600;
    text-decoration: none;
    white-space: nowrap;
}
#header.header-home-light .header-nav-main nav > ul > li.dropdown:not(.nav-courses-dropdown) .dropdown-menu li:hover > a,
#header.header-home-light .header-nav-main nav > ul > li.dropdown:not(.nav-courses-dropdown) .dropdown-menu li:focus > a {
    color: #ffffff !important;
    background: #e41645 !important;
}

/* Nav links: animated red underline on hover / active (cleaner look) */
#header.header-home-light .header-nav-main nav > ul > li > a.nav-link {
    position: relative;
    transition: color .15s ease;
}
#header.header-home-light .header-nav-main nav > ul > li > a.nav-link::after {
    content: "";
    position: absolute;
    left: 10px;
    right: 10px;
    bottom: 4px;
    height: 2px;
    background: #e41645;
    border-radius: 2px;
    transform: scaleX(0);
    transform-origin: left center;
    transition: transform .18s ease;
}
#header.header-home-light .header-nav-main nav > ul > li > a.nav-link:hover::after,
#header.header-home-light .header-nav-main nav > ul > li > a.nav-link.active::after,
#header.header-home-light .header-nav-main nav > ul > li.show > a.nav-link::after {
    transform: scaleX(1);
}

/* ============================================================
   Guided Instruction coach card: gamify colour on the CARD,
   transparent coach image floats on top.
   ============================================================ */
.gamified-side-coach {
    background-color: #14162a !important;
    background-image: url('/mathnusa2025-latest-web/public/frontend/landing-page/images/backgrounds/mathnopoly-gamify-bg.jpg') !important;
    background-size: cover !important;
    background-position: center !important;
    background-blend-mode: multiply !important;
    border: 1px solid rgba(255, 255, 255, 0.12) !important;
    border-radius: 16px !important;
    overflow: hidden;
    padding: 10px 10px 0 !important;
    display: flex;
    align-items: flex-end;
    justify-content: center;
}
.gamified-side-coach img {
    max-height: 460px;
    width: auto;
    margin: 0 auto;
    display: block;
}

/* Fix: LOGIN/REGISTER keep WHITE text on hover (beat the nav-link:hover red rule) */
#header.header-home-light .header-nav-main nav > ul > li > a.nav-auth-btn[href*="login"]:hover,
#header.header-home-light .header-nav-main nav > ul > li > a.nav-auth-btn[href*="register"]:hover,
#header.header-home-light .header-nav-main nav > ul > li > a.nav-auth-btn[href*="login"]:focus,
#header.header-home-light .header-nav-main nav > ul > li > a.nav-auth-btn[href*="register"]:focus {
    background: #c4123b !important;
    border-color: #c4123b !important;
    color: #ffffff !important;
}
/* no underline indicator on the buttons */
#header.header-home-light .header-nav-main nav > ul > li > a.nav-auth-btn::after {
    display: none !important;
}

/* Re-assert LOGIN (red outline) / REGISTER (red fill) base styling */
#header.header-home-light .header-nav-main nav > ul > li > a.nav-auth-btn {
    font-weight: 700 !important;
    letter-spacing: .4px !important;
    border-radius: 4px !important;
    padding: 7px 20px !important;
    text-transform: uppercase;
}
#header.header-home-light .header-nav-main nav > ul > li > a.nav-auth-btn[href*="login"] {
    background: #ffffff !important;
    border: 2px solid #e41645 !important;
    color: #e41645 !important;
}
#header.header-home-light .header-nav-main nav > ul > li > a.nav-auth-btn[href*="register"] {
    background: #e41645 !important;
    border: 2px solid #e41645 !important;
    color: #ffffff !important;
}

/* ============================================================
   Mobile fixes: hero white-space + visible mobile menu
   ============================================================ */
@media (max-width: 991px) {
    /* Hero: kill the white gap (collapsing mt-5 margin) and give dark padding */
    #main .slider-container.hero-pro {
        padding-top: 20px !important;
        padding-bottom: 26px !important;
    }
    #main .slider-container.hero-pro .container.pt-5 {
        margin-top: 0 !important;
        padding-top: 0 !important;
    }
    #main .slider-container.hero-pro h1 {
        margin-top: 0 !important;
    }

    /* Mobile menu: it sits on a dark panel, so links must be WHITE (were dark navy = invisible) */
    #header.header-home-light .header-nav-main nav .nav-link {
        color: #ffffff !important;
    }
    #header.header-home-light .header-nav-main nav .nav-link.active,
    #header.header-home-light .header-nav-main nav .nav-link:hover {
        color: #ff8da5 !important;
    }
    /* underline indicator off in mobile stacked menu */
    #header.header-home-light .header-nav-main nav > ul > li > a.nav-link::after {
        display: none !important;
    }
    /* Dropdown (Courses / More) items readable in mobile menu */
    #header.header-home-light .nav-courses-dropdown .dropdown-menu {
        background: rgba(255, 255, 255, 0.08) !important;
        border: 0 !important;
        box-shadow: none !important;
        margin: 4px 0 6px !important;
    }
    #header.header-home-light .nav-courses-dropdown .dropdown-menu .dropdown-item,
    #header.header-home-light .nav-courses-dropdown .dropdown-menu li > a,
    #header.header-home-light .nav-courses-dropdown .dropdown-menu li > a.text-light {
        color: #ffffff !important;
    }
    #header.header-home-light .nav-courses-dropdown .dropdown-menu li:hover > a {
        color: #ff8da5 !important;
        background: transparent !important;
    }
    /* Hamburger toggle visible on the white header bar */
    #header.header-home-light .header-btn-collapse-nav {
        background: #e41645 !important;
        color: #ffffff !important;
    }
}

/* Remove the unnecessary 76px top offset that left a white gap above the mobile hero */
@media (max-width: 991px) {
    #header + .main {
        padding-top: 0 !important;
    }
}

/* ============================================================
   Logo brand colours (blue + red) + animated hero background
   ============================================================ */
:root {
    --brand-blue: #1d58a5;
    --brand-red: #c2151b;
}

/* Show the real coloured logo (remove the dark filter) */
#header.header-home-light .header-logo img { filter: none !important; }
.footer-reference .footer-brand-logo { filter: none !important; height: 52px; width: auto; }

/* Hero: blue+red brand combination */
.slider-container.hero-pro .hero-mathnusa-word .highlighted-word {
    color: var(--brand-blue) !important;
    font-weight: 800;
}
.slider-container.hero-pro .hero-video-frame {
    box-shadow: 0 0 0 3px var(--brand-blue), 0 0 0 6px var(--brand-red),
                0 22px 50px rgba(0, 0, 0, 0.45) !important;
}

/* ===== Section background polka-dots (hero + dark + white sections) ===== */
.has-section-bg-dots {
    position: relative;
    overflow: hidden;
}
.has-section-bg-dots > *:not(.section-bg-dot) {
    position: relative;
    z-index: 2;
}
/* Per-theme dot colours (light sections by default) */
.has-section-bg-dots {
    --dot-blue: #1d58a5;
    --dot-red: #c2151b;
    --dot-accent: #1d58a5;
    --dot-opacity: 0.30;
    --dot-accent-opacity: 0.18;
}
.has-section-bg-dots .section-bg-dot {
    display: block;
    position: absolute;
    border-radius: 50%;
    z-index: 1;
    pointer-events: none;
    opacity: var(--dot-opacity);
    filter: none !important;
    box-shadow: none !important;
    animation: none !important;
}
/* Blue dots */
.has-section-bg-dots .section-bg-dot:nth-of-type(1)  { width: 92px; height: 92px; background: var(--dot-blue) !important; top: -34px; left: -26px; }
.has-section-bg-dots .section-bg-dot:nth-of-type(4)  { width: 52px; height: 52px; background: var(--dot-blue) !important; bottom: -22px; left: 48%; }
.has-section-bg-dots .section-bg-dot:nth-of-type(7)  { width: 48px; height: 48px; background: var(--dot-blue) !important; bottom: 12%; left: 58%; }
.has-section-bg-dots .section-bg-dot:nth-of-type(10) { width: 60px; height: 60px; background: var(--dot-blue) !important; top: 84%; left: 44%; }
.has-section-bg-dots .section-bg-dot:nth-of-type(13) { width: 70px; height: 70px; background: var(--dot-blue) !important; top: 8%; right: 4%; }
.has-section-bg-dots .section-bg-dot:nth-of-type(17) { width: 44px; height: 44px; background: var(--dot-blue) !important; top: 68%; right: 20%; }
/* Red dots */
.has-section-bg-dots .section-bg-dot:nth-of-type(2)  { width: 64px; height: 64px; background: var(--dot-red) !important; top: 6%; left: 38%; }
.has-section-bg-dots .section-bg-dot:nth-of-type(5)  { width: 58px; height: 58px; background: var(--dot-red) !important; top: 74%; left: 7%; }
.has-section-bg-dots .section-bg-dot:nth-of-type(8)  { width: 42px; height: 42px; background: var(--dot-red) !important; top: 20%; left: 5%; }
.has-section-bg-dots .section-bg-dot:nth-of-type(11) { width: 46px; height: 46px; background: var(--dot-red) !important; top: 30%; left: 32%; }
.has-section-bg-dots .section-bg-dot:nth-of-type(14) { width: 56px; height: 56px; background: var(--dot-red) !important; top: 24%; right: 14%; }
.has-section-bg-dots .section-bg-dot:nth-of-type(16) { width: 64px; height: 64px; background: var(--dot-red) !important; bottom: 16%; right: 10%; }
/* Accent dots (slightly softer) */
.has-section-bg-dots .section-bg-dot:nth-of-type(3)  { width: 72px; height: 72px; background: var(--dot-accent) !important; top: 13%; left: 68%; opacity: var(--dot-accent-opacity); }
.has-section-bg-dots .section-bg-dot:nth-of-type(6)  { width: 62px; height: 62px; background: var(--dot-accent) !important; top: 42%; left: 55%; opacity: var(--dot-accent-opacity); }
.has-section-bg-dots .section-bg-dot:nth-of-type(9)  { width: 54px; height: 54px; background: var(--dot-accent) !important; top: 60%; left: 22%; opacity: var(--dot-accent-opacity); }
.has-section-bg-dots .section-bg-dot:nth-of-type(12) { width: 50px; height: 50px; background: var(--dot-accent) !important; top: 50%; left: 3%; opacity: var(--dot-accent-opacity); }
.has-section-bg-dots .section-bg-dot:nth-of-type(15) { width: 48px; height: 48px; background: var(--dot-accent) !important; top: 48%; right: 6%; opacity: var(--dot-accent-opacity); }
.has-section-bg-dots .section-bg-dot:nth-of-type(18) { width: 80px; height: 80px; background: var(--dot-accent) !important; bottom: -28px; right: -18px; opacity: var(--dot-accent-opacity); }

/* Dark sections: brighter tints + white accent so dots pop on navy */
.slider-container.hero-pro.has-section-bg-dots,
.ux-6e581838.has-section-bg-dots,
.section.custom-angled.bg-dark.has-section-bg-dots,
.welcome-gamify-bg.has-section-bg-dots,
.has-section-bg-dots.bg-color-dark,
.has-section-bg-dots.bg-dark {
    --dot-blue: #1d58a5;
    --dot-red: #c2151b;
    --dot-accent: #ffffff;
    --dot-opacity: 0.22;
    --dot-accent-opacity: 0.06;
}

.slider-container.hero-pro > .container,
.slider-container.hero-pro #revolutionSlider {
    position: relative;
    z-index: 5;
}
.slider-container.hero-pro .hero-video-frame {
    position: relative;
    z-index: 5;
    box-shadow: 0 0 0 3px #ffffff, 0 0 0 6px var(--brand-red), 0 22px 50px rgba(0, 0, 0, 0.4) !important;
}

@media (max-width: 991px) {
    .has-section-bg-dots .section-bg-dot {
        display: none !important;
    }
}

/* Other parts: blue as a secondary accent next to brand red */
.footer-reference .footer-contact-list li i { color: var(--brand-blue) !important; }
.insights-blog .insights-card-cover.cover-2 { background: var(--brand-blue) !important; }

/* Fix: mobile homepage hero gap (#main had 76px top padding) */
@media (max-width: 991px) {
    #main { padding-top: 0 !important; }
}

/* ==========================================================================
   Avatar character videos (frontend.partials.avatar-video)
   ========================================================================== */
.avatar-video-player {
    margin: 0 0 1.75rem 0;
    border-radius: 16px;
    overflow: hidden;
    background: linear-gradient(145deg, #1a1f35 0%, #121528 100%);
    border: 1px solid rgba(255, 255, 255, 0.08);
    box-shadow:
        0 24px 60px rgba(0, 0, 0, 0.42),
        0 0 0 1px rgba(228, 22, 69, 0.12);
    position: relative;
    color: #ffffff;
    scroll-margin-top: 120px;
}
.avatar-video-player--sidebar {
    margin-bottom: 0;
}
.gamified-side .avatar-video-player__name {
    font-size: 0.92rem;
}
.gamified-side .avatar-video-player__badge {
    font-size: 0.65rem;
    padding: 5px 8px;
}
.gamified-side .avatar-video-player__header {
    padding: 12px 14px 10px;
}
.gamified-side .avatar-video-player__controls {
    padding: 10px 12px 12px;
    gap: 8px;
}
.gamified-side .avatar-video-player__btn {
    width: 32px;
    height: 32px;
}
/* Keep player chrome readable even when nested inside light-content panels */
.avatar-video-player :is(span, button, i) {
    color: inherit;
}
.avatar-video-player::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: linear-gradient(90deg, #e41645 0%, #2b6cff 100%);
    z-index: 2;
}
.avatar-video-player__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 14px 18px 12px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}
.avatar-video-player__title-wrap {
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
}
.avatar-video-player__dot {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: #e41645;
    box-shadow: 0 0 0 4px rgba(228, 22, 69, 0.2);
    flex-shrink: 0;
    animation: avatar-video-pulse 2s ease-in-out infinite;
}
@keyframes avatar-video-pulse {
    0%, 100% { opacity: 1; transform: scale(1); }
    50% { opacity: 0.7; transform: scale(0.92); }
}
.avatar-video-player__name {
    color: #ffffff !important;
    font-weight: 700;
    font-size: 1.05rem;
    letter-spacing: 0.02em;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.35);
}
.avatar-video-player__badge {
    color: #ffffff !important;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    padding: 6px 12px;
    border-radius: 999px;
    background: #2b6cff;
    border: 1px solid rgba(255, 255, 255, 0.2);
    flex-shrink: 0;
}
.avatar-video-player__viewport {
    position: relative;
    aspect-ratio: 16 / 9;
    background: #000;
    overflow: hidden;
}
.avatar-video-player__video {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center center;
    background: #000;
}
.avatar-video-player__unmute {
    position: absolute;
    right: 16px;
    bottom: 16px;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 16px;
    border: 1px solid rgba(255, 255, 255, 0.25);
    border-radius: 999px;
    background: rgba(20, 24, 43, 0.94);
    color: #ffffff !important;
    font-size: 0.9rem;
    font-weight: 700;
    cursor: pointer;
    backdrop-filter: blur(6px);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.45);
    transition: transform 0.2s ease, background 0.2s ease;
    z-index: 3;
}
.avatar-video-player__unmute span,
.avatar-video-player__unmute i {
    color: #ffffff !important;
}
.avatar-video-player__unmute:hover {
    transform: translateY(-1px);
    background: rgba(228, 22, 69, 0.92);
}
.avatar-video-player__unmute.is-hidden {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
}
.avatar-video-player__controls {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 16px 14px;
    background: #121528;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
}
.avatar-video-player__btn {
    width: 36px;
    height: 36px;
    border: 0;
    border-radius: 10px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(255, 255, 255, 0.14);
    color: #ffffff !important;
    cursor: pointer;
    transition: background 0.2s ease, color 0.2s ease;
    flex-shrink: 0;
}
.avatar-video-player__btn i {
    color: #ffffff !important;
}
.avatar-video-player__btn:hover {
    background: rgba(228, 22, 69, 0.85);
}
.avatar-video-player__progress-wrap {
    flex: 1 1 auto;
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
}
.avatar-video-player__progress-track {
    flex: 1 1 auto;
    height: 6px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.16);
    cursor: pointer;
    overflow: hidden;
}
.avatar-video-player__progress-fill {
    height: 100%;
    width: 0;
    border-radius: inherit;
    background: linear-gradient(90deg, #e41645 0%, #ff5667 100%);
    transition: width 0.08s linear;
}
.avatar-video-player__time {
    color: #ffffff !important;
    font-size: 0.82rem;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
    min-width: 42px;
    text-align: right;
    flex-shrink: 0;
    opacity: 0.95;
}
.avatar-video-player__viewport:fullscreen,
.avatar-video-player__viewport:-webkit-full-screen {
    width: 100%;
    height: 100%;
    aspect-ratio: auto;
}
.avatar-video-player__viewport:fullscreen .avatar-video-player__video,
.avatar-video-player__viewport:-webkit-full-screen .avatar-video-player__video {
    object-fit: contain;
}
@media (max-width: 575px) {
    .avatar-video-player__header {
        padding: 12px 14px 10px;
    }
    .avatar-video-player__badge {
        display: none;
    }
    .avatar-video-player__controls {
        gap: 8px;
        padding: 10px 12px 12px;
    }
    .avatar-video-player__btn {
        width: 32px;
        height: 32px;
        border-radius: 8px;
    }
    .avatar-video-player__unmute span {
        display: none;
    }
}

/* ==========================================================================
   Family Waitlist form (reusable partial: frontend.partials.family-waitlist-form)
   ========================================================================== */
.waitlist-card {
    background: #ffffff;
    border-radius: 18px;
    padding: 32px 30px;
    box-shadow: 0 24px 60px rgba(0, 0, 0, 0.35);
    color: #1f2333;
    scroll-margin-top: 120px;
    position: relative;
    z-index: 2;
}
.waitlist-head {
    text-align: center;
    margin-bottom: 24px;
}
.waitlist-title {
    font-weight: 800;
    font-size: 1.9rem;
    color: #15182b;
    margin: 0 0 6px 0;
}
.waitlist-subtitle {
    font-size: 1.05rem;
    color: #e41645;
    font-weight: 600;
    margin: 0;
}
.waitlist-form .waitlist-row {
    display: flex;
    flex-wrap: wrap;
    gap: 18px;
    margin-bottom: 18px;
}
.waitlist-form .waitlist-field {
    flex: 1 1 calc(50% - 9px);
    min-width: 240px;
    display: flex;
    flex-direction: column;
}
.waitlist-form label {
    font-weight: 600;
    color: #2a2f45;
    margin-bottom: 7px;
    font-size: 0.95rem;
}
.waitlist-form .req {
    color: #e41645;
    margin-left: 2px;
}
.waitlist-form .form-control {
    width: 100%;
    height: auto;
    padding: 12px 14px;
    border: 1px solid #c9cfdd;
    border-radius: 10px;
    background: #fff;
    color: #1f2333;
    font-size: 1rem;
}
.waitlist-form .form-control:focus {
    border-color: #2b6cff;
    box-shadow: 0 0 0 3px rgba(43, 108, 255, 0.15);
    outline: none;
}
.waitlist-form .form-control.is-invalid,
.waitlist-form .waitlist-fieldset.is-invalid {
    border-color: #e41645;
}
.waitlist-error {
    color: #e41645;
    font-size: 0.85rem;
    margin-top: 6px;
}
.waitlist-promo {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 14px;
    border: 1px dashed #2b6cff;
    border-radius: 10px;
    background: rgba(43, 108, 255, 0.06);
}
.waitlist-promo-code {
    font-weight: 800;
    letter-spacing: 1px;
    color: #15182b;
    background: #ffd84d;
    padding: 4px 10px;
    border-radius: 6px;
}
.waitlist-promo-note {
    color: #2a2f45;
    font-weight: 600;
}
.waitlist-fieldset {
    border: 1px solid #e2e6ef;
    border-radius: 12px;
    padding: 16px 18px;
    margin: 0 0 18px 0;
}
.waitlist-fieldset legend {
    font-size: 1rem;
    font-weight: 700;
    color: #2a2f45;
    width: auto;
    padding: 0 8px;
    margin: 0;
    border: 0;
}
.waitlist-options {
    display: flex;
    flex-wrap: wrap;
    gap: 14px 26px;
}
.waitlist-option {
    display: flex;
    align-items: center;
    gap: 8px;
    font-weight: 500;
    color: #2a2f45;
    margin: 0;
    cursor: pointer;
}
.waitlist-option input {
    width: 18px;
    height: 18px;
    accent-color: #e41645;
    margin: 0;
}
.waitlist-consent {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    color: #2a2f45;
    font-weight: 500;
    margin: 4px 0 22px 0;
    cursor: pointer;
}
.waitlist-consent input {
    width: 18px;
    height: 18px;
    margin-top: 2px;
    accent-color: #e41645;
}
.waitlist-submit {
    width: 100%;
    border: 0;
    letter-spacing: 0.5px;
}
.waitlist-alert {
    border-radius: 10px;
    padding: 14px 16px;
    margin-bottom: 20px;
    font-weight: 600;
}
.waitlist-alert-success {
    background: #e7f7ec;
    color: #1c7a3e;
    border: 1px solid #b6e6c6;
}
.waitlist-alert-error {
    background: #fdecef;
    color: #b3123a;
    border: 1px solid #f5c2cd;
}
@media (max-width: 575px) {
    .waitlist-card { padding: 24px 18px; }
    .waitlist-title { font-size: 1.55rem; }
    .waitlist-form .waitlist-field { flex: 1 1 100%; }
}
