/* ===========================
   Tailwind v4 base imports
   =========================== */
@import "tailwindcss";
@import "tw-animate-css";


/* Optional Google Fonts (prefer next/font in production) */
/* @import url("https://fonts.googleapis.com/css2?family=Signika:wght@300;400;500;600;700&display=swap"); */

/* Dark variant helper (works with class="dark" on <html>) */
@custom-variant dark (&:is(.dark *));

/* ===========================
      THEME TOKENS (Tailwind v4)
      =========================== */
@theme {
    /* Breakpoints */

    /* Brand colors (utility names: text-ye-blue, bg-ye-blue, etc.) */
    --color-ye-blue: #0097dc;
    --color-ye-grey-text: #58585a;
    --color-ye-grey-bg: #d9d9d9;

    /* System colors (enable bg-background, text-foreground, border-border, etc.) */
    --color-background: oklch(1 0 0);
    --color-foreground: oklch(0.141 0.005 285.823);
    --color-card: oklch(1 0 0);
    --color-card-foreground: oklch(0.141 0.005 285.823);
    --color-popover: oklch(1 0 0);
    --color-popover-foreground: oklch(0.141 0.005 285.823);
    --color-primary: oklch(0.21 0.006 285.885);
    --color-primary-foreground: oklch(0.985 0 0);
    --color-secondary: oklch(0.967 0.001 286.375);
    --color-secondary-foreground: oklch(0.21 0.006 285.885);
    --color-muted: oklch(0.967 0.001 286.375);
    --color-muted-foreground: oklch(0.552 0.016 285.938);
    --color-accent: oklch(0.967 0.001 286.375);
    --color-accent-foreground: oklch(0.21 0.006 285.885);
    --color-destructive: oklch(0.577 0.245 27.325);
    --color-border: oklch(0.92 0.004 286.32);
    --color-input: oklch(0.92 0.004 286.32);
    --color-ring: oklch(0.705 0.015 286.067);

    /* Optional charts / sidebar tokens */
    --color-chart-1: oklch(0.646 0.222 41.116);
    --color-chart-2: oklch(0.6 0.118 184.704);
    --color-chart-3: oklch(0.398 0.07 227.392);
    --color-chart-4: oklch(0.828 0.189 84.429);
    --color-chart-5: oklch(0.769 0.188 70.08);
    --color-sidebar: oklch(0.985 0 0);
    --color-sidebar-foreground: oklch(0.141 0.005 285.823);
    --color-sidebar-primary: oklch(0.21 0.006 285.885);
    --color-sidebar-primary-foreground: oklch(0.985 0 0);
    --color-sidebar-accent: oklch(0.967 0.001 286.375);
    --color-sidebar-accent-foreground: oklch(0.21 0.006 285.885);
    --color-sidebar-border: oklch(0.92 0.004 286.32);
    --color-sidebar-ring: oklch(0.705 0.015 286.067);

    /* Font family token */
    --font-signika: "Signika", sans-serif;
    --font-open-sans: "Open Sans", sans-serif;
    --font-Noto-sans: "Noto Sans";


    /* Typography tokens (sizes + line-heights) */
    /* H1 */
    --text-h1-mob: 18px;
    --leading-h1-mob: 1.2;
    --text-h1-tab: 30px;
    --leading-h1-tab: 1.2;
    --text-h1-desktop: 30px;
    --leading-h1-desktop: 1.1;

    /* H2 */
    --text-h2-mob: 22px;
    --leading-h2-mob: 1.2;
    --text-h2-tab: 24px;
    --leading-h2-tab: 1.2;
    --text-h2-desktop: 40px;
    --leading-h2-desktop: 1.25;

    /* H3 */
    --text-h3-mob: 18px;
    --leading-h3-mob: 1.25;
    --text-h3-tab: 20px;
    --leading-h3-tab: 1.25;
    --text-h3-desktop: 30px;
    --leading-h3-desktop: 1.2;

    /* H4 */
    --text-h4-mob: 18px;
    --leading-h4-mob: 1.3;
    --text-h4-tab: 20px;
    --leading-h4-tab: 1.3;
    --text-h4-desktop: 25px;
    --leading-h4-desktop: 1.25;

    /* Body */
    --text-body1-mob: 18px;
    --leading-body1-mob: 1.5;
    --text-body1-tab: 20px;
    --leading-body1-tab: 1.5;
    --text-body1-desktop: 25px;
    --leading-body1-desktop: 1.5;

    --text-body2-mob: 16px;
    --leading-body2-mob: 20px;
    --text-body2-tab: 18px;
    --leading-body2-tab: 22px;
    --text-body2-desktop: 22px;
    --leading-body2-desktop: 35px;

    --text-body3-mob: 14px;
    --leading-body3-mob: 1.5;
    --text-body3-tab: 16px;
    --leading-body3-tab: 1.5;
    --text-body3-desktop: 22px;
    --leading-body3-desktop: 1.5;

    --text-body4-mob: 10px;
    --leading-body4-mob: 1.4;
    --text-body4-tab: 10px;
    --leading-body4-tab: 1.4;
    --text-body4-desktop: 15px;
    --leading-body4-desktop: 1.4;
}

/* ===========================
      BASE LAYER
      =========================== */
@layer base {

    /* Dark-mode remaps for system color tokens */
    .dark {
        --color-background: oklch(0.141 0.005 285.823);
        --color-foreground: oklch(0.985 0 0);
        --color-card: oklch(0.21 0.006 285.885);
        --color-card-foreground: oklch(0.985 0 0);
        --color-popover: oklch(0.21 0.006 285.885);
        --color-popover-foreground: oklch(0.985 0 0);
        --color-primary: oklch(0.92 0.004 286.32);
        --color-primary-foreground: oklch(0.21 0.006 285.885);
        --color-secondary: oklch(0.274 0.006 286.033);
        --color-secondary-foreground: oklch(0.985 0 0);
        --color-muted: oklch(0.274 0.006 286.033);
        --color-muted-foreground: oklch(0.705 0.015 286.067);
        --color-accent: oklch(0.274 0.006 286.033);
        --color-accent-foreground: oklch(0.985 0 0);
        --color-destructive: oklch(0.704 0.191 22.216);
        --color-border: oklch(1 0 0 / 10%);
        --color-input: oklch(1 0 0 / 15%);
        --color-ring: oklch(0.552 0.016 285.938);
    }
   
    html{
        height:100%;
    }
    body {
        overflow-x: hidden;
        width: 100%;
        min-height: 100dvh;
        min-height: 100vh;/* fallback for browsers that don't support 100dvh */
        margin:0;
        padding:0;
    }

html,
body {
    overscroll-behavior-y: none;
}

    * {
        font-family: var(--font-Noto-sans);
    }

    /* These will now resolve because tokens exist in @theme */
    body {
        @apply bg-background text-foreground;
    }
}

button,
a {
    cursor: pointer !Important;
}


/* ===========================
      COMPONENT UTILITIES
      =========================== */
@layer components {

    /* Headings */
    .heading-hero {
        @apply text-h1-mob leading-h1-mob md:text-h1-tab md:leading-h1-tab lg:text-h1-desktop lg:leading-h1-desktop font-bold uppercase tracking-wide;
    }

    .heading-2 {
        @apply text-h2-mob leading-h2-mob md:text-h2-tab md:leading-h2-tab lg:text-h2-desktop lg:leading-h2-desktop font-bold uppercase;
    }

    .heading-3 {
        @apply text-h3-mob leading-h3-mob md:text-h3-tab md:leading-h3-tab lg:text-h3-desktop lg:leading-h3-desktop font-normal uppercase;
    }

    .heading-4 {
        @apply text-h4-mob leading-h4-mob md:text-h4-tab md:leading-h4-tab lg:text-h4-desktop lg:leading-h4-desktop font-bold uppercase;
    }

    /* Body variants */
    .body-1 {
        @apply text-body1-mob leading-body1-mob md:text-body1-tab md:leading-body1-tab lg:text-body1-desktop lg:leading-body1-desktop;
    }

    .body-2 {
        @apply text-body2-mob leading-body2-mob md:text-body2-tab md:leading-body2-tab lg:text-body2-desktop lg:leading-body2-desktop;
    }

    .body-3 {
        @apply text-body3-mob leading-body3-mob md:text-body3-tab md:leading-body3-tab lg:text-body3-desktop lg:leading-body3-desktop;
    }

    .body-4 {
        @apply text-body4-mob leading-body4-mob md:text-body4-tab md:leading-body4-tab lg:text-body4-desktop lg:leading-body4-desktop;
    }

    /* Helpers */
    .text-ye-blue {
        color: var(--color-ye-blue);
    }

    .text-ye-grey {
        color: var(--color-ye-grey-text);
    }

    .divider {
        height: 5px;
        background: var(--color-ye-grey-bg);
    }

    /* Scrollbars */
    .no-scrollbar::-webkit-scrollbar {
        display: none;
    }

    .no-scrollbar {
        -ms-overflow-style: none;
        scrollbar-width: none;
    }

    /* Program backgrounds (example gradients) */
    .gradient-birding {
        background: linear-gradient(68.29deg,
                #226b20 27.42%,
                #72a71f 62.3%,
                #95c11f 79.74%);
    }

    .gradient-algo {
        background: linear-gradient(237.7deg, #9e358c 2.53%, #521b4a 72.46%);
    }

    .gradient-technic {
        background: linear-gradient(238.81deg, #e2033f 2.34%, #890b23 68.86%);
    }

    .gradient-robotics {
        background: linear-gradient(237.06deg, #00a99d 2.55%, #007469 69.66%);
    }

    .gradient-rocket {
        background: linear-gradient(237.16deg, #525151 3.83%, #002941 69.61%);
    }
}

/* ===========================
      EXTRA UTILITIES
      =========================== */
@layer utilities {
    .flex-column {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
    }

    .shadow-curve {
        -webkit-mask-image: radial-gradient(80% 60% at 50% 100%,
                black 60%,
                transparent 100%);
        mask-image: radial-gradient(140% 35% at 50% 100%,
                black 60%,
                transparent 100%);
        background: rgba(0, 0, 0, 0.4);
        filter: blur(18px);
    }
}

/* 🌿 Slider Track & Thumb Styling */
input[type="range"]::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    background-color: #ffffff;
    border: 3px solid #95c11f;
    width: 18px;
    height: 18px;
    border-radius: 50%;
    transition: all 0.2s ease;
    margin-top: -7px;
    /* center the thumb */
}

@media (min-width: 640px) {
    input[type="range"]::-webkit-slider-thumb {
        width: 22px;
        height: 22px;
        border-width: 3px;
        margin-top: -9px;
    }
}

@media (min-width: 834px) {
    input[type="range"]::-webkit-slider-thumb {
        width: 26px;
        height: 26px;
        border-width: 4px;
        margin-top: -11px;
    }
}

input[type="range"]::-webkit-slider-thumb:hover {
    transform: scale(1.1);
}

input[type="range"]::-webkit-slider-runnable-track {
    border-radius: 9999px;
}

@theme inline {
    --radius-sm: calc(var(--radius) - 4px);
    --radius-md: calc(var(--radius) - 2px);
    --radius-lg: var(--radius);
    --radius-xl: calc(var(--radius) + 4px);
    --color-background: var(--background);
    --color-foreground: var(--foreground);
    --color-card: var(--card);
    --color-card-foreground: var(--card-foreground);
    --color-popover: var(--popover);
    --color-popover-foreground: var(--popover-foreground);
    --color-primary: var(--primary);
    --color-primary-foreground: var(--primary-foreground);
    --color-secondary: var(--secondary);
    --color-secondary-foreground: var(--secondary-foreground);
    --color-muted: var(--muted);
    --color-muted-foreground: var(--muted-foreground);
    --color-accent: var(--accent);
    --color-accent-foreground: var(--accent-foreground);
    --color-destructive: var(--destructive);
    --color-border: var(--border);
    --color-input: var(--input);
    --color-ring: var(--ring);
    --color-chart-1: var(--chart-1);
    --color-chart-2: var(--chart-2);
    --color-chart-3: var(--chart-3);
    --color-chart-4: var(--chart-4);
    --color-chart-5: var(--chart-5);
    --color-sidebar: var(--sidebar);
    --color-sidebar-foreground: var(--sidebar-foreground);
    --color-sidebar-primary: var(--sidebar-primary);
    --color-sidebar-primary-foreground: var(--sidebar-primary-foreground);
    --color-sidebar-accent: var(--sidebar-accent);
    --color-sidebar-accent-foreground: var(--sidebar-accent-foreground);
    --color-sidebar-border: var(--sidebar-border);
    --color-sidebar-ring: var(--sidebar-ring);
}

:root {
    --radius: 0.625rem;
    --background: oklch(1 0 0);
    --foreground: oklch(0.141 0.005 285.823);
    --card: oklch(1 0 0);
    --card-foreground: oklch(0.141 0.005 285.823);
    --popover: oklch(1 0 0);
    --popover-foreground: oklch(0.141 0.005 285.823);
    --primary: oklch(0.21 0.006 285.885);
    --primary-foreground: oklch(0.985 0 0);
    --secondary: oklch(0.967 0.001 286.375);
    --secondary-foreground: oklch(0.21 0.006 285.885);
    --muted: oklch(0.967 0.001 286.375);
    --muted-foreground: oklch(0.552 0.016 285.938);
    --accent: oklch(0.967 0.001 286.375);
    --accent-foreground: oklch(0.21 0.006 285.885);
    --destructive: oklch(0.577 0.245 27.325);
    --border: oklch(0.92 0.004 286.32);
    --input: oklch(0.92 0.004 286.32);
    --ring: oklch(0.705 0.015 286.067);
    --chart-1: oklch(0.646 0.222 41.116);
    --chart-2: oklch(0.6 0.118 184.704);
    --chart-3: oklch(0.398 0.07 227.392);
    --chart-4: oklch(0.828 0.189 84.429);
    --chart-5: oklch(0.769 0.188 70.08);
    --sidebar: oklch(0.985 0 0);
    --sidebar-foreground: oklch(0.141 0.005 285.823);
    --sidebar-primary: oklch(0.21 0.006 285.885);
    --sidebar-primary-foreground: oklch(0.985 0 0);
    --sidebar-accent: oklch(0.967 0.001 286.375);
    --sidebar-accent-foreground: oklch(0.21 0.006 285.885);
    --sidebar-border: oklch(0.92 0.004 286.32);
    --sidebar-ring: oklch(0.705 0.015 286.067);
}

.dark {
    --background: oklch(0.141 0.005 285.823);
    --foreground: oklch(0.985 0 0);
    --card: oklch(0.21 0.006 285.885);
    --card-foreground: oklch(0.985 0 0);
    --popover: oklch(0.21 0.006 285.885);
    --popover-foreground: oklch(0.985 0 0);
    --primary: oklch(0.92 0.004 286.32);
    --primary-foreground: oklch(0.21 0.006 285.885);
    --secondary: oklch(0.274 0.006 286.033);
    --secondary-foreground: oklch(0.985 0 0);
    --muted: oklch(0.274 0.006 286.033);
    --muted-foreground: oklch(0.705 0.015 286.067);
    --accent: oklch(0.274 0.006 286.033);
    --accent-foreground: oklch(0.985 0 0);
    --destructive: oklch(0.704 0.191 22.216);
    --border: oklch(1 0 0 / 10%);
    --input: oklch(1 0 0 / 15%);
    --ring: oklch(0.552 0.016 285.938);
    --chart-1: oklch(0.488 0.243 264.376);
    --chart-2: oklch(0.696 0.17 162.48);
    --chart-3: oklch(0.769 0.188 70.08);
    --chart-4: oklch(0.627 0.265 303.9);
    --chart-5: oklch(0.645 0.246 16.439);
    --sidebar: oklch(0.21 0.006 285.885);
    --sidebar-foreground: oklch(0.985 0 0);
    --sidebar-primary: oklch(0.488 0.243 264.376);
    --sidebar-primary-foreground: oklch(0.985 0 0);
    --sidebar-accent: oklch(0.274 0.006 286.033);
    --sidebar-accent-foreground: oklch(0.985 0 0);
    --sidebar-border: oklch(1 0 0 / 10%);
    --sidebar-ring: oklch(0.552 0.016 285.938);
}

@layer base {
    * {
        @apply border-border outline-ring/50;
    }

    body {
        @apply bg-background text-foreground;
    }
}

/* BASE */


.teacher-slider::-webkit-scrollbar {
    display: none;
}

/* Hide scrollbar for Firefox */
.teacher-slider {
    scrollbar-width: none;
}

/* Hide scrollbar for IE/Old Edge */
.teacher-slider {
    -ms-overflow-style: none;
}

.scrollbar-always::-webkit-scrollbar {
    width: 8px !important;
    /* your choice */
}

.scrollbar-always::-webkit-scrollbar-track {
    background: #f1f1f1;
}

.scrollbar-always::-webkit-scrollbar-thumb {
    background: #c1c1c1;
    border-radius: 1px;
}

.scrollbar-always {
    scrollbar-width: auto !important;
    /* Firefox */
    -ms-overflow-style: auto !important;
    /* IE / Edge */
}

.scroll-thin::-webkit-scrollbar {
    width: 4px;
}

.scroll-thin::-webkit-scrollbar-thumb {
    background: #bbb;
    border-radius: 10px;
}

/* Thin, subtle scrollbar — only the thumb, no track/box around it */
.testimonial-scrollbar::-webkit-scrollbar {
    width: 4px;
    background: transparent;
}

.testimonial-scrollbar::-webkit-scrollbar-track,
.testimonial-scrollbar::-webkit-scrollbar-track-piece,
.testimonial-scrollbar::-webkit-scrollbar-corner {
    background: transparent;
    border: none;
    box-shadow: none;
}

.testimonial-scrollbar::-webkit-scrollbar-thumb {
    background: rgba(255, 255, 255, 0.4);
    border-radius: 9999px;
    border: none;
}

.testimonial-scrollbar:hover::-webkit-scrollbar-thumb {
    background: rgba(255, 255, 255, 0.6);
}

/* Hide the up/down arrow buttons that the native bar adds (all variants) */
.testimonial-scrollbar::-webkit-scrollbar-button,
.testimonial-scrollbar::-webkit-scrollbar-button:single-button,
.testimonial-scrollbar::-webkit-scrollbar-button:start:decrement,
.testimonial-scrollbar::-webkit-scrollbar-button:end:increment,
.testimonial-scrollbar::-webkit-scrollbar-button:vertical:start,
.testimonial-scrollbar::-webkit-scrollbar-button:vertical:end {
    display: none !important;
    height: 0 !important;
    width: 0 !important;
    background: transparent !important;
}

.testimonial-scrollbar {
    scrollbar-width: thin;
    /* Firefox */
    scrollbar-color: rgba(255, 255, 255, 0.4) transparent;
}

.swiper-slide {
    display: flex;
    justify-content: center;
    box-sizing: border-box;
}


.swiper-pagination {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 8px;
    /* adjust vertical position */
    display: flex;
    justify-content: center;
    pointer-events: auto;
    z-index: 999;
    /* make sure it's above slides */
}

.testimonial-swiper .swiper-pagination {
    bottom: 6px !important;
    z-index: 50;
}

.testimonial-swiper .swiper-pagination-bullet {
    background: #ffffff !important;
    /* white */
    opacity: 1 !important;
    width: 9px;
    height: 9px;
    margin: 0 6px;
}

.testimonial-swiper .swiper-pagination-bullet-active {
    background: #D1D5DB !important;
    /* grey-300 */
    transform: scale(1.05);
}

.program-swiper .swiper-pagination-bullet {
    background: #ffffff !important;
    /* white */
    opacity: 1 !important;
}

.program-swiper .swiper-pagination-bullet-active {
    background: grey !important;
    /* grey-300 */
}

.swiper-pagination-bullet {
    width: 8px;
    height: 8px;
    border-radius: 9999px;
    background: rgba(203, 213, 225, 0.7);
    /* slate-300 / 70% */
    margin: 0 4px;
    opacity: 1;
}

.swiper-pagination-bullet-active {
    background: #0097DC;
    /* your accent color */
    transform: scale(1.15);
}

input[type="range"].slider-progress-bar {
    -webkit-appearance: none;
    appearance: none;
    width: 100%;
    height: 10px;
    border-radius: 9999px;
    background: transparent;
    /* gradient comes from inline style */
    outline: none;
    cursor: pointer;
}

/* TRACK – Chrome/Edge/Safari */
input[type="range"].slider-progress-bar::-webkit-slider-runnable-track {
    height: 10px;
    border-radius: 9999px;
    background: transparent;
    /* let the input's background show */
}

/* THUMB – Chrome/Edge/Safari */
input[type="range"].slider-progress-bar::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    width: 24px;
    height: 24px;
    border-radius: 9999px;
    background-color: #ffffff;
    border: 1px solid #ffffff;
    box-shadow: none;
    margin-top: -9px;
    /* center thumb on 10px track */
    cursor: pointer;
}

/* TRACK – Firefox */
input[type="range"].slider-progress-bar::-moz-range-track {
    height: 10px;
    border-radius: 9999px;
    background: transparent;
}

/* THUMB – Firefox */
input[type="range"].slider-progress-bar::-moz-range-thumb {
    width: 28px;
    height: 28px;
    border-radius: 9999px;
    background-color: #ffffff;
    border: 1px solid #ffffff;
    box-shadow: none;
    cursor: pointer;
}

/* IE/Edge legacy (optional) */
input[type="range"].slider-progress-bar::-ms-track {
    height: 10px;
    border-radius: 9999px;
    background: transparent;
    border-color: transparent;
    color: transparent;
}

input[type="range"].slider-progress-bar::-ms-thumb {
    width: 28px;
    height: 28px;
    border-radius: 9999px;
    background-color: #95c11f;
    border: 4px solid #ffffff;
    box-shadow: none;
}

.swiper-slide-thumb-active {
    border-bottom: 3px solid #0097DC;
}

.swiper-wrapper {
    transition-timing-function: linear !important;
}

.a-slider .swiper-slide-thumb-active {
    border-bottom: none;
}

button.tab-btns {
    border: 1px solid #0097dc;
}

div#form-heading p {
    font-family: 'Noto Sans' !important;
}

/*
.workshop-article:first-child .time {
    display: none;
}*/

::placeholder {
    color: #828282;
}
.class-registration-box {
    box-shadow: 0 25px 50px -12px #00000040;
    margin-top: 0;
    border-top-left-radius: 0;
    border-top-right-radius: 0;
}
.class-registration-box:before {
    content: "";
    z-index: -2;
    background: #0097dc;
    border-radius: 40px;
    width: 100%;
    height: 54px;
    position: absolute;
    bottom: -10px;
    left: 0;
}
.registration-form button:disabled img {
    filter: contrast(0.4);
}
.registration-form ::placeholder {
    color: #828282;
}
input {
    color: #58585a!important;
}
@media (max-width: 1024px) {
    .videos-container video {
        object-fit: cover;
        height: 690px;
    }

    .tab-btn {
        width: 130px;
        font-size: 10px;
    }

    .tab-btn:before {
        left: -12px;
    }

    .workshop-article:nth-child(4) .range-t {
        font-size: 12px;
        font-weight: bold;
        line-height: 17px;
    }

    .slide-description-txt {
        min-width: 400px;
        padding-left: 10px;
    }
}

@media (max-width: 960px) {
    .slide-description-txt {
        min-width: 364px;
        padding-left: 0;
    }

    .content-slider-left {
        gap: 12px;
    }
}

@media (max-width: 767px) {
    .videos-container video {
        object-fit: cover;
        height: 600px;
    }

    .tab-wrap {
        flex-wrap: nowrap;
        overflow-x: auto;
        justify-content: flex-start;
    }

    .tab-btn {
        flex: 0 0 130px;
    }

    button.tab-btns {
        min-width: 110px !important;
    }

    /*
#allWorkshop .swiper-slide[data-swiper-slide-index="2"] .age-t {
    display: none;
}
#allWorkshop .swiper-slide[data-swiper-slide-index="3"] .range-t {
    font-size: 12px;
}
#allWorkshop .swiper-slide[data-swiper-slide-index="3"] .age-t {
    display: none;
}
#allWorkshop .swiper-slide[data-swiper-slide-index="4"] .age-t {
    display: none;
}
#allWorkshop .swiper-slide[data-swiper-slide-index="0"] .time2 {
    display: none;
}*/
    #allWorkshop .swiper-slide[data-swiper-slide-index="0"] .left-box {
        min-width: 40%;
    }

    .video-thumbnail-wrapper {
        flex-direction: row;
        display: flex;
        width: 100%;
        height: auto;
        flex-wrap: nowrap;
        overflow-x: auto;
        margin-bottom: 0;
        padding-bottom: 4px;
    }

    .video-thumbnail-wrapper button.rounded-xl {
        width: auto;
        flex: 0 0 auto;
        margin-right: 10px;
    }

    .video-thumbnail-wrapper p.text-sm {
        width: 90%;
        right: 5%;
        bottom: -12px;
    }

    .vide0-slider {
        position: relative;
        margin-top: -540px;
        width: 100%;
        justify-content: flex-start;
    }
}

div#swiper-wrapper-fc899159e7466975 {
    margin-left: 34px !important;
}

/*
@media (min-width: 767px) {
.program-around-slider .swiper-slide.swiper-slide-prev .slider-card,
.program-around-slider .swiper-slide.swiper-slide-next  .slider-card  {
    transform: none!important;
    opacity: 1!important;
    padding: 0 3px;
}
}
*/

.vide0-slider svg {
    color: #fff;
}

.video-slider.border-transparent:before {
    position: absolute;
    left: 0;
    width: 100%;
    height: 100%;
    content: '';
    background: #0000008a;
    z-index: 1;
    border-radius: 12px;
}

.video-slider.border-transparent {
    position: relative;
}

.video-slider.border-transparent p.txt {
    opacity: 0;
}

.video-slider.border-transparent:hover p.txt {
    opacity: 1;
}

.m-box {
    opacity: 0;
    transition: linear .5s;
}

.map-box:hover .m-box {
    opacity: 1;
}

.custom-scrollbar::-webkit-scrollbar-thumb {
    background-color: #0097DC;
}

article#robo .logo-img img {
    width: 140px !important;
    height: 100px !important;
    object-fit: cover;
    margin-top: 8px;
}

article#smartivo .logo-img img {
    width: 140px !important;
    height: 70px !important;
    margin-top: 30px;
}

article#algoC .logo-img img {
    width: 140px !important;
    height: 88px !important;
    margin-top: 30px;
}

.play-btn {
    position: absolute;
    top: 38%;
    left: 40%;
    z-index: 1;
}

.video-slider.border-transparent .play-btn {
    opacity: 1 !important;
}

@media (max-width: 767px) {
    .custom-txt:before {
        position: absolute;
        top: 8px;
        left: 1px;
        content: '';
        width: 1px;
        height: 33px;
        background: #d9d9d9;
    }

    article#smartivo .img-mob img {
        width: 85px !important;
        height: 46px !important;
        margin-top: 18px;
    }

    article#algoC .img-mob img {
        width: 90px !important;
        height: 54px !important;
        margin-top: 18px;
    }

    article#robo .img-mob img {
        width: 100px !important;
        height: 64px !important;
        object-fit: cover;
        margin-top: 5px;
    }

    article#bricks .img-mob img {
        margin-top: -5px;
    }
}


/* ============================= */
/* SITE SCROLLBAR ONLY */
/* ============================= */
html::-webkit-scrollbar-track,
body::-webkit-scrollbar-track {
    border-radius: 8px !important;
    background-color: #fff !important;
}

html::-webkit-scrollbar,
body::-webkit-scrollbar {
    width: 6px !important;
    background-color: #fff !important;
}

html::-webkit-scrollbar-thumb,
body::-webkit-scrollbar-thumb {
    border-radius: 5px !important;
    background-color: #0097DC !important;
}


html {
    scroll-behavior: smooth;
}

@media (min-width: 1280px) {
    article#ALGOPLAY h3 {
        width: 420px;
    }
    .lang-translated h1 {
        font-size: 44px;
    }

    .lang-translated h1.heading-hero {
        font-size: 26px;
    }

    .lang-translated h1.program-txt {
        font-size: 75px;
    }

    .lang-translated .text-balance span {
        display: block;
    }

    .lang-translated .\32 xl\:text-\[15px\] {
        font-size: 14px;
    }

    .lang-translated .ws-icon-box h3 {
        font-size: 20px;
    }

    .lang-translated h1.heading-hero {
        font-size: 50px;
    }

    .lang-translated h1.heading-hero.home {
        font-size: 26px;
    }

    .lang-translated .xl\:text-\[50px\] {
        font-size: 45px;
    }

    .lang-translated .lg\:text-\[24px\] {
        font-size: 20px !important;
    }

    .lang-translated .\32 xl\:text-\[40px\] {
        font-size: 34px !important;
    }

    .lang-translated .\32 xl\:text-\[50px\] {
        font-size: 42px !important;
    }

    .lang-translated .\32 xl\:text-\[30px\] {
        font-size: 26px !important;
    }

    .lang-translated .xl\:text-\[22px\] {
        font-size: 20px;
        line-height: 30px;
    }

    .lang-translated .\32 xl\:text-\[60px\] {
        font-size: 54px;
    }

    .lang-translated .work-objectives .lg\:mr-\[50px\] {
        margin-right: 0px;
    }

    section#program-6bafb5fb-686c-4b7e-914f-4b425d3c6e2e .lo-img {
        width: 115px;
    }

    section#program-4dfd0730-29b3-45e7-a4d1-d631cf4fcee3 .lo-img {
        width: 80px;
    }

    .lang-translated section#program-all button .xl\:text-\[24px\] {
        font-size: 18px;
    }
}

@media (max-width: 991px) {

    .lang-translated .md\:text-\[50px\] {
        font-size: 44px;
    }

    .lang-translated .md\:text-\[50px\] {
        font-size: 44px;
    }

    .lang-translated .md\:text-\[50px\] {
        font-size: 45px;
    }

    .lang-translated .md\:w-\[233px\] {
        width: 323px;
    }

    .lang-translated .md\:w-2\/3 {
        width: 55.6667%;
    }

    .card_footer span {
        line-height: 12px;
    }

    .i-box {
        width: 110px;
    }
}

@media (max-width: 767px) {
    .lang-translated .text-\[30px\] {
        font-size: 26px;
        line-height: 32px !important;
    }

    .lang-translated .text-\[40px\] {
        font-size: 36px;
    }

    .lang-translated .text-\[18px\] {
        font-size: 16px;
    }

    .lang-translated .md\:w-2\/3 {
        width: 100%;
    }

    .lang-translated .text-\[30px\] {
        font-size: 26px;
    }

    main.workshop-detail.workshop-375ca4f7-00a9-41f6-a9ab-b9658eef0b9f .txt-pro {
        font-size: 16px;
    }
}

@media (min-width: 767px) {
    main.workshop-detail.workshop-375ca4f7-00a9-41f6-a9ab-b9658eef0b9f .object-img img {
        height: 600px !important;
        width: 650px !important;
        object-fit: contain !important;
    }

    main.workshop-detail.workshop-375ca4f7-00a9-41f6-a9ab-b9658eef0b9f .object-img {
        left: 54%;
    }

    .highlights {
        position: absolute;
    }

    .highlights img {
        object-fit: contain;
    }

    main#program-1b6f87de-9617-4321-b8ee-478b5645ebfb .highlights {
        position: relative;
    }

    main#program-1b6f87de-9617-4321-b8ee-478b5645ebfb .highlights img {
        object-fit: contain;
    }

    main.workshop-detail.workshop-be8e27b1-0133-43a9-aebf-3ea8f51ac531 .object-img {
        width: 800px;
        right: 0;
        left: auto;
    }

    main.workshop-detail.workshop-be8e27b1-0133-43a9-aebf-3ea8f51ac531 .object-img {
        height: 530px;
    }

    main#program-f4b63b4d-bd57-42da-9cf2-a66d2c9179d7 .highlights {
        position: relative;
    }

    article .logo-img img[alt="ALGO BUDDY"] {
        width: 100px !important;
        height: 100px !important;
        margin: 5px auto 0;
    }

    /*
article .logo-img img[alt="SMARTIVO"] {
    margin: 24px auto 0;
    width: 55px !important;
    height: 64px !important;
}
article .logo-img img[alt="ALGO C"] {
    width: 100px!important;
    height: 100px!important;
    margin: auto;
}
article .logo-img img[alt="ROBO TOYS"] {
    width: 90px!important;
    height: 90px!important;
    object-fit: cover;
    margin: 13px auto 0;
}*/
}

main.workshop-detail {
    overflow-x: hidden;
}

@media (max-width: 767px) {
    .workshop-detail.workshop-pro .pro-txt {
        font-size: 11px;
    }

    .workshop-detail.workshop-pro .object-img img {
        height: 600px !important;
        width: 650px !important;
        object-fit: contain !important;
    }

    .workshop-detail.workshop-pro .object-img {
        left: 54%;
    }

    .workshop-detail.workshop-pro .txt-pro {
        font-size: 16px;
    }
}

.workshop-detail.workshop-pro .txt-pro {
    font-size: 16px;
}

main.workshop-detail {
    overflow-x: hidden;
}

@media (max-width: 767px) {
    .workshop-detail.workshop-pro .pro-txt {
        font-size: 11px;
    }
}

@layer utilities {

    /* Custom thin blue scrollbar */
    .custom-dropdown-scrollbar::-webkit-scrollbar {
        width: 4px;
    }

    .custom-dropdown-scrollbar::-webkit-scrollbar-track {
        background: transparent;
    }

    .custom-dropdown-scrollbar::-webkit-scrollbar-thumb {
        background: #0097DC;
        border-radius: 10px;
    }

    .custom-dropdown-scrollbar::-webkit-scrollbar-thumb:hover {
        background: #0082c0;
    }

    /* Firefox scrollbar */
    .custom-dropdown-scrollbar {
        scrollbar-width: thin;
        scrollbar-color: #0097DC transparent;
    }
}

.scroll-btn.swiper-button-disabled {
    opacity: 0.4;
}

img.icon-logo[alt="ROBO TOYS"] {
    object-fit: cover;
    height: 140px;
}

img.icon-logo[alt="BIG BUILDERS"] {
    object-fit: cover;
    height: 100px;
}

img.icon-logo[alt="SMARTIVO"] {
    height: 82px;
}

img.icon-logo[alt="GALILEO TECHNIC"] {
    object-fit: cover;
    height: 96px;
}

img.icon-logo[alt="ALGO BUDDY"] {
    height: 75px;
}

img.icon-logo[alt="BRICKS CHALLENGE"] {
    object-fit: cover;
    height: 90px;
}

.subtitle-index strong {
    color: #0097dc !important;
}

main#program-4dfd0730-29b3-45e7-a4d1-d631cf4fcee3 .highlights {
    height: 700px;
}

.tab-arrow-mob button {
    width: 30px !important;
    height: 30px !important;
}

@media (min-width: 1024px) {
.thumbnail-gal {
    margin-top: -20px;
}
main#program-SMARTIVO .main-slider-pro img {
    object-fit: cover;
}
.main-slider-pro img[alt="Trash collector"],
.main-slider-pro img[alt="Fun coding"] {
    transform: scale(1.4);
}
.main-slider-pro img[alt="Goal runner"] {
    transform: scale(1.2);
}
main#program-ALGOC .main-slider-pro img {
    transform: scale(1.3);
}
main#program-ALGOC img[alt="Target-Detecting Scorebot"] {
    transform: none;
}
main#program-ALGO_BUDDY .dis-image img {
    transform: scale(1.2) ;
}
main#program-ROBO_TOYS .main-slider-pro img {
    transform: scale(1.1);
}
main#program-ALGOC .dis-image img {
    transform: none;
}
main#program-ALGOPLAY .dis-image img, main#program-ROBO_TOYS .dis-image img  {
    transform: none;
}
main#program-ALGOPLAY .main-slider-pro img {
    transform: scale(1.2);
}
main#program-GALILEO_TECHNIC .main-slider-pro img {
    transform: scale(1.17);
}
main#program-BIG_BUILDERS .main-slider-pro img {
    transform: scale(1.2);
}
.main-slider-pro img[alt="basset hound"], 
.main-slider-pro img[alt="Dragonfly"] {
    transform: none !important;
}
.main-slider-pro img[alt="Hay Gate"] {
    transform: scale(1.2);
}
.dis-image img {
    transform: scale(1.2);
}
main#program-GALILEO_TECHNIC .dis-image img, main#program-BRICKS_CHALLENGE .dis-image img {
    transform: none !important;
}
.wrksp-logo-box img {
    transform: scale(1.2);
}
.wrksp-logo-box img[alt="GOLDEN AGE"],
.wrksp-logo-box img[alt="GOLDEN AGE"],
.wrksp-logo-box img[alt="MECHANICS CAMPS"],
.wrksp-logo-box img[alt="CODING CAMPS"]{
    transform: none;
}
main.workshop-detail section#footerForm {
    padding-top: 240px;
}

.discover-tab-btn:nth-child(2) span,
.discover-tab-btn:nth-child(3) span {
        width: 100%;
        display: block;
        margin-left: auto;
    }

    article#ALGOPLAY h3 {

        width: 364px;

    }
    .discover-title span {
        display: block;
    }

    .i-box:last-child p.i-text {
        width: 160px;
    }

    .ws-icon-box:first-child {
        width: 38%;
    }

    .swiper-pagination {
        bottom: -7px !important;
    }


    /* No scale here on purpose. The <img> is `object-contain` inside a
       `rounded-2xl overflow-hidden` box, so a WIDE image (dragonfly, etc.)
       already spans the full container width — scaling it up pushed the excess
       outside the box and the overflow clipped ~17% off each side. `contain`
       is by definition "as large as possible without cropping", so any
       scale() > 1 necessarily crops width-constrained images.
       There were already per-program escapes for this further down
       (`.workshop-GOLDEN.AGE .main-slider-pro img { transform: none }`),
       which is the same symptom patched one program at a time. */
    .main-slider-pro img {
        transform: none;
    }

}

@media (max-width: 1290px) {
    .ws-icon-box h3 {
        font-size: 20px;
    }
}

.dropdown-img img[alt="BIG BUILDERS"] {
    object-fit: cover;
}

@media only screen and (min-width: 768px) and (max-width: 1360px) {
    .work-highlight-box {
        height: 700px;
    }
}

@media only screen and (min-width: 767px) and (max-width: 810px) {
.inspiring-block {
   height: 680px;
}
.content-top h3 {
    font-size: 18px;
}
}

@media only screen and (min-width: 767px) and (max-width: 991px) {
.contact-info a {
    word-break: normal !important;
    white-space: normal;
    font-size: 11px !important;
    line-height: 20px;
}
.contact-info h3 {
    margin-bottom: 10px;
}
section#program-all {
     min-height: 600px;
}
.approch-img {
    width: 500px;
    height: 500px;
    bottom: 19%;
    right: -60px;
}
.about-highlight-img {
    transform: scale(1.4);
}
.about-highlight-img[alt="Sketching Smartivo"] {
    transform: scale(1.2)!important;
}
}


@media (min-width: 1900px) {
    .gain-box h2 {
        padding-top: 200px;
    }
}

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

 .accordion-workshop {
        margin-top: -160px;
    }
.slider-activity h3 {
        font-size: 34px;
    }
    img.absolute.program-toy.-bottom-\[20px\].right-3.md\:right-1.lg\:right-3.lg\:bottom-\[-6px\].md\:bottom-\[-28\].h-\[160px\].w-fit.h-\[60px\].md\:h-\[120px\].lg\:h-\[160px\].lg\:bottom-\[-15px\] {
        width: 146px !important;
    }

    .program-around-slider .swiper-slide.swiper-slide-prev .slider-card,
    .program-around-slider .swiper-slide.swiper-slide-next .slider-card {
        padding: 0 3px !important;
    }

    .program-around-slider {
        padding-right: 0;
    }

    .program-around-slider .swiper.swiper-initialized.swiper-horizontal.swiper-watch-progress {
        padding-right: 10vw !important;
    }
}

@media only screen and (min-width: 768px) and (max-width: 991px) {
    img.icon-logo[alt=ALGO\ BUDDY] {
        height: 50px;
        width: 100px;
    }

    img.icon-logo[alt=BIG\ BUILDERS] {
        object-fit: cover;
        height: 74px;
    }

    img.icon-logo[alt=BRICKS\ CHALLENGE] {
        object-fit: cover;
        height: 68px;
        width: 100px;
    }

    img.icon-logo[alt=GALILEO\ TECHNIC] {
        object-fit: cover;
        height: 69px;
        width: 100px;
    }

    img.icon-logo[alt=ROBO\ TOYS] {
        object-fit: cover;
        height: 90px;
        width: 100px;
    }

}

main#program-d115022f-c27c-4cc0-bd8f-6f682044fbdc .lo-img img {
    object-fit: cover;
}

.marquee span {
    font-family: "Noto Sans";
}

.marquee-swiper .swiper-wrapper {
    transition-timing-function: linear !important;
    will-change: transform;
}

@media (min-width: 767px) {
   /* .pro-objectives:before {
        position: absolute;
        bottom: 0;
        left: 0;
        width: 100%;
        height: 1030px;
        content: '';
        background: url(https://yefranchisees.b-cdn.net/frontend/Program-detail/bg_Program-Objectives.png);
        background-size: cover;
        z-index: -1;
    }

    .work-objectives:before {
        position: absolute;
        bottom: -150px;
        left: 0;
        width: 100%;
        height: 1000px;
        content: '';
        background: url(https://yefranchisees.b-cdn.net/frontend/Program-detail/bg_Program-Objectives.png);
        background-size: cover;
        z-index: -1;
    }*/

    .lang-translated div#form-heading h2 {
        font-size: 30px !important;
    }

    .lang-translated div#form-heading p {
        font-size: 16px;
    }

    .lang-translated .box-border p.text-white {
        font-size: 12px;
    }

    .lang-translated .work-objectives .\32 xl\:text-\[22px\] {
        font-size: 20px;
        line-height: 30px;
    }

    .lang-translated .mt-4.program-btn a {
        min-width: 100%;
    }

    .lang-translated p.text-xl.subtitle-index {
        font-size: 30px !important;
    }
}

.swiper-slide.swiper-slide-visible.swiper-slide-active.swiper-slide-fully-visible .slider-card {
    transform: scale(1) !important;
    opacity: 1 !important;
}

.swiper-slide.swiper-slide-visible.swiper-slide-active .slider-card {
    transform: scale(1) !important;
    opacity: 1 !important;
    padding: 0 3px;
}

.testimonial .no-scrollbar::-webkit-scrollbar {
    display: none;
    /* Chrome, Safari */
}

.testimonial .no-scrollbar {
    -ms-overflow-style: none;
    /* IE, Edge */
    scrollbar-width: none;
    /* Firefox */
}

@media (max-width: 1600px) {
    .img-icons {
        width: 120px;
        height: 60px;
    }
}
@media (min-width: 1400px) {
.discover-carousel .swiper::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    z-index: 2;
    background: linear-gradient(
            to bottom,
            rgba(255, 255, 255, 0) 50%,
            rgb(255 255 255 / 0%) 75%,
            #ffffff00 100%
        ),
        linear-gradient(
            to right,
            #ffffff00 0%,
            rgba(255, 255, 255, 0) 15%,
            rgba(255, 255, 255, 0) 85%,
            #ffffff 100%
        );
    border-radius: 16px;
    margin-top: 10px;
}
}
@media (max-width: 1400px) {
    .discover-program-btn img {
        width: 20px;
        height: 20px;
    }

    .discover-program-btn {
        padding: 10px 20px;
        height: 50px;
        gap: 5px;
    }

    .discover-program-btn span {
        font-size: 16px;
    }

    .programs-advantages {
        gap: 20px;
    }

    .icon-text {
        font-size: 20px;
    }
}

div#registration-form button:hover {
    box-shadow: 10px 14px 14px #0000000D;
}

div#registration-form button:active {
    background: #0084C1;
    box-shadow: 10px 14px 14px #0000000D;
}

/* The globe canvas is stretched over the "OUR MISSION" copy (mb-[-290px] on
   mobile), so it must never intercept gestures — otherwise dragging that text
   rotates the globe instead of scrolling. Rotation is handled by .globe-hit,
   a circle matching the rendered globe, which OrbitControls binds to. */
.globe-canvas canvas {
    pointer-events: none !important;
    touch-action: pan-y !important;
}

/* three.js sets `touch-action: none` inline on its control element; only
   !important beats that. pan-y keeps a vertical swipe scrolling the page even
   when it starts on the globe, while horizontal drags rotate it. */
.globe-hit {
    touch-action: pan-y !important;
}

/* The phone country selector is a <button> inside #registration-form, so the
   submit-button :active/:hover fill above leaks onto it. Neutralize it here. */
.phone-input-field button:active {
    background: transparent !important;
    box-shadow: none !important;
}

.phone-input-field button:hover {
    box-shadow: none !important;
}

nav[aria-label="Breadcrumb"] {
    display: none;
}

button[aria-label="Previous slide"]:active,
button[aria-label="Previous slide"]:hover,
button[aria-label="Next slide"]:active,
button[aria-label="Next slide"]:hover {
    background: transparent !important;
    box-shadow: none !important;
}

.dropdown svg.lucide.lucide-chevron-down {
    display: none !important;
}

.acc-bg:before {
    content: "";
    z-index: -1;
    background: #fff;
    width: 100%;
    height: 66px;
    position: absolute;
    top: -60px;
    left: 0;
}

.submenu-item:last-child span {
    margin-top: 14px;
}

.active-mobile-submenu {
    border-top: 1px solid #585858;
    border-bottom: 1px solid #585858;
    padding: 5px 0 10px;
}

.lang-translated .age-box .s1 {
    font-size: 24px;
}

.around-logo img[alt="ALGO C"],
.around-logo img[alt="ALGO PLAY"],
.around-logo img[alt="SMARTIVO"] {
    object-fit: cover;
}

.border-box {
    position: relative;
}

.border-box:before {
    content: "";
    background: #e4e4e7;
    width: 108%;
    height: .5px;
    position: absolute;
    top: -2px;
    left: -13px;
}

.menu-item:nth-child(4) .border-box:before {
    width: 108%;
    left: -14px;
}

#ribbon-Birthdays .bg-work {
    background: linear-gradient(127.67deg, #F39000 34.95%, #F39300 35.96%, #F8B900 48.09%, #FCD500 59.21%, #FEE600 68.81%, #FFED00 76.39%) !important;
}

section[id="program-ALGOC"] .ribbon-gradient, section[id="program-ALGOC"] .gradient-bg {
    background: linear-gradient(175deg, #DC4B63, #E89163) !important;
}
section#program-ALGOPLAY .content-top h3 {
    width: 90%;
}
section#program-ALGOPLAY .gradient-bg {
    background: linear-gradient(167deg, rgb(158, 53, 140), rgb(82, 27, 74)) !important;
}
.slider-activity img[alt="PRO"] {
    object-position: top;
}

/*=================Form-checkbox===================*/
.custom-checkbox input {
    position: relative;
}

.custom-checkbox input:after {
    content: "";
    width: 16px;
    height: 16px;
    background: #0097DC;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) scale(0);
    border-radius: 4px;
    transition: 0.2s ease;
}

.custom-checkbox input:checked:after {
    transform: translate(-50%, -50%) scale(1);
}

.custom-checkbox input:checked:before {
    background: #fff !important;
    content: '';
    width: 25px;
    height: 25px;
    top: 0;
    left: 0;
    position: absolute;
    border: 1px solid #585858;
    border-radius: 4px;
    overflow: hidden
}

button.back-step:active {
    background: transparent !important;
    box-shadow: none !important;
}

.animate-scroll {
    will-change: transform;
}

.select-dropdown {
    border-top-left-radius: 0;
    border-top-right-radius: 0;
    padding: 0;
}

.custom-dropdown-scrollbar {
    background: #fff;
    border-bottom: 1px solid #58585A;
    border-radius: 24px;
}

.select-dropdown:before {
    position: absolute;
    bottom: -10px;
    left: 0;
    content: '';
    width: 100%;
    height: 52px;
    background: #0097DC;
    border-radius: 40px;
    z-index: -2;
}

.drop-btns button:hover {
    box-shadow: none !important;
}

.custom-dropdown-scrollbar {
    text-align: center;
}

.custom-dropdown-scrollbar button {
    width: 90%;
    margin: 0 auto !important;
}

.drop-btns button:active {
    background: transparent !important;
}

.slider-disvocer .swiper-wrapper {
    padding: 20px 0 !important;
}

.drop-open:before {
    position: absolute;
    top: -32px;
    left: -1px;
    width: 32px;
    height: 34px;
    content: '';
    background: #fff;
    z-index: 0;
    border-top-left-radius: 50px;
    border-top-right-radius: 50px;
}

.relative.language-dropdown {
    width: 32px;
    height: 32px;
    padding: 2px;
    background: #fff;
    border-radius: 50%;
}

.language-dropdown button {
    position: relative !important;
    z-index: 99 !important;
}

.around-logo:before {
    position: absolute;
    content: '';
    width: 50px;
    height: 10px;
    bottom: 0;
    left: 0;
    background: #ffffff;
}

.submit-btn:hover img[alt="Grey-Gear"] {
    display: none;
}

.submit-btn:hover img[alt="White-Gear"] {
    display: block !important;
    opacity: 1;
}

.about-slider .swiper-slide-thumb-active {
    border-bottom: none;
    position: relative;
}

.about-slider .swiper-slide-thumb-active:before {
    position: absolute;
    top: 0;
    left: 0;
    content: '';
    width: 100%;
    height: 100%;
    background: #0000007d;
    border-radius: 15px;
}

.thumbs-swiper .thumb-item img {
    filter: grayscale(1);
}

.thumbs-swiper .swiper-slide-thumb-active {
    border-bottom: 2px solid #0097DC !important;
}

img[alt="Teacher desktop"] {
    box-shadow: 0px 14px 14px 6px #00000026;
}

.discover-carousel .swiper-wrapper {
    padding-bottom: 40px;
    padding-top: 10px;
}

article#workshop-PRO .range-t {
    font-size: 16px;
    line-height: 22px;
}

.workshop-footer-form .custom-dropdown-scrollbar button {
    min-height: 70px;
    padding: 14px 0;
}

p#text-Birthdays-1,
p#text-Birthdays-2,
p#text-Birthdays-3,
p#text-Birthdays-4,
p#text-Birthdays-5,
p#text-Birthdays-6,
h4#heading-Birthdays {
    color: #58585A !important;
}

.lang-translated h1.hero-heading {
    font-size: 30px;
}

section#program-ROBO_TOYS .ribbon-gradient,
section#program-ROBO_TOYS .gradient-bg {
    background: linear-gradient(199deg, #00A99D, #007469) !important;
}

article[id="workshop-MECHANICS CAMPS"] .time,
article[id="workshop-CODING CAMPS"] .time {
    display: block;
}

.a-sliders .thumbnail-slider {
    padding: 0 10px 0 14px;
    position: relative;
}

.a-sliders .thumbnail-slider:before {
    position: absolute;
    top: 0;
    right: -18px;
    width: 100px;
    height: 100px;
    content: '';
    background: linear-gradient(272deg, #0171b3, transparent);
    z-index: 2;
}

.a-sliders .thumbnail-slider:after {
    position: absolute;
    top: 14px;
    left: -42px;
    width: 100px;
    height: 100px;
    content: '';
    background: linear-gradient(97deg, #00568b, transparent);
    z-index: 2;
}

.workshop-MECHANICS.CAMPS nav span {
    color: #226b20;
}
div#AI-CODING_CAMPS .img-container img{
   transform: scale(1.2);
}
@media (min-width: 1800px) {
.about-slider {
    margin-top: 111px;
}
}
@media (min-width: 1600px) {
    .workshop-description {
        height: 80px;
    }
div[id="image-CODING CAMPS"] img {
    object-fit: contain;
    margin-left: -50px;
    transform: scale(1.1);
}
.work-highlight-box img[alt="Build Up"] {
    transform: scale(1.4) !important;
    margin-left: -170px!important;
}
.accordion-workshop {
    margin-top: -190px !important;
}
}

.thumbnail-gal {
    width: 90% !important;
}

.work-objectives .thumbnail-gal .thumbnail-slider-box {
    border-bottom: 1px !important;
}

.work-objectives .swiper-slide-thumb-active {
    border-bottom: 2px solid #0097dc;
}

.thumbnail-gal img {
    transform: scale(1.1) !important;
}

.work-objectives .btn-left {
    bottom: 50px;
}

.work-objectives .btn-right {
    bottom: 50px;
}


@media (max-width: 767px) {
    .thumbnail-gal {
        width: 87% !important;
        margin: 0 auto !important;
    }

    .work-objectives .btn-left,
    .work-objectives .btn-right {
        bottom: 10px;
    }

    .custom-checkbox input:checked:before {
        width: 21px;
        height: 21px;
    }

    .lang-translated h1.hero-heading {
        font-size: 22px;
    }

    .slider-activity img[alt="PRO"] {
        object-position: top;
    }
}

@media only screen and (min-width: 1460px) and (max-width: 1536px) {
.young-mind-image {
    height: 470px !important;
}
}
@media only screen and (min-width: 1280px) and (max-width: 1360px) {
    .video-thumbnail-wrapper {
        transform: translate(-33%, 0);
    }
}

@media only screen and (min-width: 1365px) and (max-width: 1399px) {
    img[alt="Teacher desktop"] {
        right: 20px;
    }
}

@media only screen and (min-width: 1110px) and (max-width: 1280px) {
    .video-thumbnail-wrapper {
        transform: translate(-45%, 0);
    }

    .highlights img[alt="ALGOC"] {
        margin-left: 120px;
    }

    .discover-gall img[alt="Birthdays"] {
        width: 600px !important;
    }

    .discover-gall img[alt="GOLDEN AGE"] {
        width: 100% !Important;
        height: 500px !important;
        margin-left: -80px;
    }
}

@media only screen and (min-width: 1040px) and (max-width: 1110px) {
    .video-thumbnail-wrapper {
        transform: translate(-57%, 0);
        right: calc(50% - 580px);
    }

    .discover-gall img[alt="GOLDEN AGE"] {
        width: 100% !Important;
        height: 400px !important;
        margin-left: -80px;
    }
}

@media only screen and (min-width: 991px) and (max-width: 1040px) {
    .video-thumbnail-wrapper {
        transform: translate(-57%, 0);
        right: calc(50% - 530px);
    }
}

@media only screen and (min-width: 1190px) and (max-width: 1260px) {
    .card-image {
        width: 340px !important;
    }
}

@media only screen and (min-width: 767px) and (max-width: 800px) {
    h2.structure-heading {
    font-size: 28px;
}
.workshop-GOLDEN.AGE .bg-top.accordion-bg,
.workshop-CODING.CAMPS .bg-top.accordion-bg,
.workshop-MECHANICS.CAMPS .bg-top.accordion-bg {
    margin-top: -40px;
}
h1.hh {
    margin-top: 40px;
}
    .accordion-workshop {
        margin-top: -160px;
        padding-top: 30px;
    }

    nav.flex.items-center a.dropdown {
        font-size: 12px;
    }

    p.user-name {
        font-size: 18px;
    }

    .program-article p.wrap-break-word {
        margin-top: 4px;
        font-size: 15px !important;
        line-height: 23px !important;
    }

    .program-discription {
        height: 108px !important;
    }

    .discription-program {
        height: 90px;
    }

    .dis-image {
        width: 416px !important;
    }

    h3.program_card_heading {
        padding-top: 0 !important;
    }
.about-form {
    margin-top: 100px;
}
}

@media (max-width: 1366px) {
    .contact-info h3 {
        margin-bottom: 0;
    }

    .max-w-\[1300px\] {
        max-width: 1200px !important;
    }

    .index-header {
        max-width: 1200px !important;
    }

    img[alt="Teacher desktop"] {
        right: 0px;
        width:560px;
    }

    .banner-content {
        padding-left: 0px !important;
    }

    .slide-description-txt {
        min-width: 440px;
        padding-left: 10px;
    }
}

@media only screen and (min-width: 1024px) and (max-width: 1290px) {
    .inspire-young .text-left {
        width: 100%;
    }

    .pro-card {
        margin-top: 20px;
        margin-bottom: 100px;
    }
}
@media only screen and (min-width: 1280px) and (max-width: 1289px) {
 .inner-ribbon {
        width: 200px;
        height: 445px;
        object-fit: cover;
    }
}
@media only screen and (min-width: 1100px) and (max-width: 1289px) {
    .banner-content {
        padding-left: 0px !important;
        max-Width: 76%;
        width: 100%;
    }

    .discover-gall {
        width: 600px;
    }

    .big-image {
        width: 324px;
    }

    .lo-img img {
        transform: scale(1.1);
    }

    .ribbon-gradient {
        width: 88%;
    }
}

@media only screen and (min-width: 899px) and (max-width: 1280px) {
    .workshop-image {
        width: 330px;
    }

    .workshop-content {
        padding-right: 350px !important;
    }
}

@media only screen and (min-width:898px) and (max-width: 1099px) {
    .banner-content {
        padding-left: 40px !important;
        padding-right: 300px;
    }
}


@media only screen and (min-width: 767px) and (max-width: 899px) {
    section#allWorkshop>section {
        padding-bottom: 40px;
    }

    .workshop-image {
        width: 267px;
    }

    .workshop-content {
        padding-right: 270px !important;
    }

    .workshop-image img[alt="Birthdays"] {
        object-position: 80% 50%;
    }

    .workshop-image img[alt="GOLDEN AGE"] {
        object-position: 60% 50%;
    }

    .workshop-image img[alt="MECHANICS CAMPS"],
    .workshop-image img[alt="CODING CAMPS"] {
        object-position: 100% 50%;
    }

    .workshop-image {
        width: 267px;
    }

    .workshop-content {
        padding-right: 270px !important;
    }

    .workshop-image img[alt="Birthdays"] {
        object-position: 80% 50%;
    }

    .workshop-image img[alt="GOLDEN AGE"] {
        object-position: 60% 50%;
    }

    .workshop-image img[alt="MECHANICS CAMPS"],
    .workshop-image img[alt="CODING CAMPS"] {
        object-position: 100% 50%;
    }

    .workshop-image img[alt="PRO"] {
        object-position: 53% 50%;
    }

    .workshop-content p.md\:text-\[14px\] {
        font-size: 13px;
        line-height: 19px;
    }

    .workshop-content h3.text-\[30px\] {
        font-size: 27px;
        margin-top: -35px;
    }
}

/* Workshop cards: always show the full description (no fixed height / scrollbar) */


@media (max-width: 1078px) {
    .banner-content {
        padding-left: 50px !important;
        padding-right: 300px;
    }

    .inner-ribbon {
        width: 156px;
        height: 400px;
    }
}

@media (max-width: 1100px) {
    img[alt="Teacher desktop"] {
        right: -50px;
        width: 400px;
        top: -200px;
        height: 520px;
    }
.error-image-wrapper img {
    transform: scale(1.4);
}
}

@media only screen and (min-width:767px) and (max-width: 1024px) {
main#program-SMARTIVO .main-slider-pro img {
    transform: scale(1.3);
}
main#program-SMARTIVO .main-slider-pro img[alt="Smartivo Sketching"] {
    transform: none;
}
.main-slider-pro img[alt="Trash collector"],
.main-slider-pro img[alt="Fun coding"] {
    transform: scale(1.3);
}
.main-slider-pro img[alt="Goal runner"] {
    transform: scale(1.2);
}
main#program-ALGOC .main-slider-pro img {
    transform: scale(1.3);
}
main#program-ALGOC img[alt="Target-Detecting Scorebot"] {
    transform: none;
}
main#program-ALGO_BUDDY .dis-image img {
    transform: scale(1.2) ;
}
main#program-ROBO_TOYS .main-slider-pro img {
    transform: scale(1.1);
}
main#program-ALGOC .dis-image img {
    transform: none;
}
main#program-ALGOPLAY .dis-image img, main#program-ROBO_TOYS .dis-image img  {
    transform: none;
}
main#program-ALGOPLAY .main-slider-pro img {
    transform: scale(1.2);
}
main#program-GALILEO_TECHNIC .main-slider-pro img {
    transform: scale(1.17);
}
main#program-BIG_BUILDERS .main-slider-pro img {
    transform: scale(1.2);
}
.main-slider-pro img[alt="basset hound"], 
.main-slider-pro img[alt="Dragonfly"] {
    transform: none !important;
}
.main-slider-pro img[alt="Hay Gate"] {
    transform: scale(1.2);
}


    .range-box {
        margin-left: -1px;
    }

    .range-box p.whitespace-nowrap {
        font-size: 11px;
    }
}

@media (max-width: 1078px) {
    .banner-content {
        padding-left: 50px !important;
        padding-right: 300px;
    }

    .inner-ribbon {
        width: 156px;
        height: 400px;
    }
}



@media (max-width: 900px) {
    .program-article h3.text-\[18px\] {
        font-size: 15px;
    }

    .program-article p.wrap-break-word {
        margin-top: 4px;
        font-size: 13px;
    }

    .program-article h3.text-\[30px\] {
        margin-top: -16px;
    }
}

@media only screen and (min-width: 784px) and (max-width: 898px) {
    .banner-content h3.text-\[18px\] {
        font-size: 16px;
    }

    .banner-content p {
        font-size: 13px;
        line-height: 20px;
    }

    .big-image {
        width: 240px;
    }

    .banner-content {
        padding-right: 270px;
        padding-left: 36px !important;
    }

    .inner-ribbon {
        width: 142px;
        height: 386px;
    }

    .inner-ribbon h4 {
        font-size: 18px;
    }

    .banner-conten .mt-\[25px\] {
        margin-top: 15px;
    }
}

@media only screen and (min-width: 767px) and (max-width: 784px) {
    .banner-content .text-\[30px\] {
        font-size: 25px;
    }

    .banner-content h3.text-\[18px\] {
        font-size: 15px;
    }

    .banner-content p {
        font-size: 12px;
        line-height: 19px;
    }

    .banner-content {
        padding-right: 260px;
        padding-left: 44px !important;
    }
}

@media only screen and (min-width: 640px) and (max-width: 767px) {
    .xlider {
        margin-top: 130px;
    }
    .program-banner {
    min-height: 1100px;
}
}

@media only screen and (min-width: 640px) and (max-width: 780px) {
    section#program-all button {
        padding: 10px 14px;
    }

    section#program-all button span {
        font-size: 14px;
    }

    h3.program_card_heading {
        padding-top: 10px;
        font-size: 30px !important;
        line-height: 35px !important;
    }
}

@media (max-width: 360px) {
    .pro-grid {
        column-gap: 0;
        margin-top: 10px;
    }

    .pro-grid-inner img {
        width: 25px;
        height: 25px;
    }

    .pro-grid-inner {
        gap: 4px;
    }

    .pro-grid-inner p.text-lg {
        font-size: 16px;
    }

    .mobile-bg {
        top: 40px !important;
    }

    .program-block {
        margin-top: -90px !important;
    }
}


@media only screen and (min-width:1280px) and (max-width: 1440px) {
.globe-container {
    width: 1300px !important;
    height: 1500px !important;
    top: -26% !important;
    right: -30% !important;
}
}

@media only screen and (min-width: 1281px) and (max-width: 1420px) {
    .workshop-block {
        margin-top: 50px !important;
    }

    .workshop-img {
        width: 90%;
    }
}

@media (max-width: 1023px) {
    .workshop-block {
        margin-top: 60px;
    }
}

@media only screen and (min-width: 940px) and (max-width: 1279px) {
    .work-inner-image {
        width: 330px;
    }

    .work-inner-content {
        padding-left: 40px;
        padding-right: 375px !important;
    }
}

@media only screen and (min-width: 767px) and (max-width: 940px) {
    .workshop-block.sm\:px-\[50px\] {
        padding-inline: 20px;
    }
}

@media only screen and (min-width: 1100px) and (max-width: 1280px) {
    .workshop-right-icon {
        width: 600px;
        margin-left: -99px;
    }
}

@media only screen and (min-width: 900px) and (max-width: 1280px) {
    .workshop-img {
        width: 100%;
        height: 320px;
    }
}

@media only screen and (min-width: 1000px) and (max-width: 1280px) {
    article .workshop-description {
        height: 91px;
    }
}

@media only screen and (min-width: 800px) and (max-width: 999px) {
    article .workshop-description {
        height: 110px;
    }
}

@media only screen and (min-width: 767px) and (max-width: 800px) {
    article .workshop-description {
        height: 100px;
    }
}

@media only screen and (min-width: 823px) and (max-width: 940px) {
    .work-inner-image {
        width: 250px;
    }

    .work-inner-content {
        padding-left: 40px;
        padding-right: 290px !important;
    }

    .work-inner-content h3.text-\[18px\] {
        font-size: 16px;
    }
}

@media only screen and (min-width:767px) and (max-width: 823px) {
    .work-inner-content h3.text-\[30px\] {
        font-size: 26px;
    }

    .work-inner-content .text-\[14px\] {
        font-size: 13px;
    }
}

@media only screen and (min-width: 638px) and (max-width: 768px) {
    .work-form {
        margin-top: 220px;
    }

    .mob-ribbon {
        height: 250px !important;
    }

    .object-img {
        margin-top: 100px;
    }
}

@media only screen and (min-width:525px) and (max-width: 638px) {
    .mob-ribbon {
        height: 220px !important;
    }
}

@media (max-width: 767px) {
    .language-text {
        display: none;
    }

    .banner-content {
        padding-right: 16px;
        padding-left: 16px !important;
    }

    .big-image {
        width: 100%;
    }

    .big-image img {
        width: 100%;
        padding: 5px;
    }

    .mob-img img {
        width: 100%;
        height: 300px;
        object-fit: cover;
    }

    .mob-img {
        width: 100%;
        height: 300px;
        border-radius: 20px;
        overflow: hidden;
    }

    .workshop-description {
        font-size: 18px;
    }

    .workshop-image {
        width: 98%;
    }

    .work-inner-content {
        padding-left: 20px;
        padding-right: 20px !important;
    }

    .work-inner-image {
        width: 98%;
    }
}

@media (max-width: 517px) {
    section#program-ba1d297d-6aa7-4f58-8a09-d5678fc460b5 .mob-ribbon {
        height: 210px;
    }
}

@media (min-width: 80rem) {
    .xl\:px-34 {
        padding-inline: calc(var(--spacing) * 10) !important;
    }
}

@media (max-width: 1370px) {
    h3.program_card_heading {
        font-size: 50px;
    }
}

@media only screen and (min-width: 991px) and (max-width: 1280px) {
div#AI-CODING_CAMPS .img-container img{
   transform: scale(1.3);
}
    .ribbon-container {
        width: 180px;
    }

    .ribbon_bg {
        width: 150px;
    }

    h3.program_card_heading {
        font-size: 46px;
        line-height: 46px;
    }
}

@media only screen and (min-width: 767px) and (max-width: 1030px) {
.discover-gall img[alt="CODING CAMPS"] {
    object-fit: contain;
    transform: scale(1.2);
    margin-left: -10px;
}
    h3.program_card_heading {
        padding-top: 10px;
        font-size: 34px !important;
        line-height: 40px !important;
    }

    .ribbon_bg {
        width: 134px;
        margin-left: -10px;
        border-top-left-radius: 14px;
    }

    .lang-translated .icon-program img {
        height: 43px !important;
        margin-top: 10px;
    }

    .lo-img img {
        transform: scale(1.5);
    }
     .lo-img img[alt="BIG BUILDERS"] {
        transform: scale(1.3);
        margin-top: 6px;
     } 
    /* Same reason as the >=1024px rule: the image is object-contain inside an
       overflow-hidden box, so scaling up crops wide images at both edges. */
    .main-slider-pro img {
        transform: none;
    }

    .workshop-GOLDEN.AGE .main-slider-pro img {
        transform: none;
    }

    .discover {
        padding-bottom: 0;
    }

    .dis-image {
        height: 390px;
        width: 450px;
        margin-left: -60px;
    }

    .highlights {
        margin-left: 45px !important;
    }

    .highlights img[alt="ALGOC"] {
        object-position: 100% 50%;
    }

    .highlights img[alt="BRICKS CHALLENGE"] {
        object-position: 100% 50%
    }

    .AI_IMG svg {
        width: 110px;
    }

    .right-container-wrapper h3 {
        font-size: 22px;
        text-align: left;
        padding-left: 10px;
    }

    div#AI-BRICKS_CHALLENGE .right-container-wrapper {
        width: 600px !important;
    }

    div#AI-BRICKS_CHALLENGE .img-container {
        right: 40px !important;
        left: unset !important;
        top: unset !important;
        width: 330px;
        position: absolute;
        bottom: 75px;
    }

    div#AI-BRICKS_CHALLENGE {
        margin-bottom: -91px !important;
    }

    .highlights img[alt="RoboToys"] {
        margin-left: 120px;
    }

    .workshop-img {
        height: 340px;
    }

    .object-img {
        right: -45px;
        z-index: -1;
        width: 700px;
        height: 600px;
        position: absolute;
        top: 76px;
    }

    .work-highlight-box {
        width: 800px;
        position: absolute;
        top: 43px;
        right: -44px;
    }

    h4#heading-Build\ Up {
        font-size: 18px;
        line-height: 28px;
    }

    .workshop-ribbon-logo img {
        transform: scale(1.5);
    }

    .discover-gall img[alt="Build Up"] {
        object-fit: contain;
        transform: scale(1.5);
    }

    .object-img img[alt="CODING CAMPS"] {
        width: 600px !important;
        margin-left: 100px;
    }

    section[id="wrapper-CODING CAMPS"] {
        margin-top: -191px;
    }

    div[id="image-CODING CAMPS"] {
        margin-top: 100px;
        width: 521px;
    }

    div#AI-CODING_CAMPS .img-container img {
        object-fit: cover;
    }

    .object-img img[alt="GOLDEN AGE"] {
        width: 570px !important;
        margin-left: 110px;
    }

    .discover-gall img[alt="GOLDEN AGE"] {
        object-fit: contain;
    }

    section[id="wrapper-GOLDEN AGE"] {
        margin-top: -180px;
    }

    .work-highlight-box img[alt="GOLDEN AGE"] {
        margin-left: 40px;
    }

    .txt-pro {
        font-size: 17px;
    }

    .object-img img[alt="PRO"] {
        width: 420px !important;
        margin-left: 250px;
    }

    .discover-gall img[alt="PRO"] {
       object-fit: contain;
       transform: scale(1.7);
}

    .work-highlight-box img[alt="PRO"] {
        width: 520px !important;
        margin-left: 250px;
    }

    .object-img img[alt="MECHANICS CAMPS"] {
        width: 600px !important;
        margin-left: 100px;
    }

    section[id="wrapper-MECHANICS CAMPS"] {
        margin-top: -192px;
    }

    .work-highlight-box img[alt="MECHANICS CAMPS"] {
        margin-left: 100px;
        margin-top: 90px;
    }

    .discover-gall img[alt="MECHANICS CAMPS"] {
       margin-left: -51px;
       object-position: 21% 50%;
       width: 457px !important;
       height: 400px !important;
      transform: scale(1.2);
    }

    .class-heading-wrapper {
        margin-top: 0px;
    }
}

@media only screen and (min-width: 767px) and (max-width: 1020px) {
    div#AI-BRICKS_CHALLENGE .text-left {
        width: 60%;
    }
}

@media only screen and (min-width: 767px) and (max-width: 819px) {
    h3.program_card_heading {
        font-size: 30px;
        line-height: 32px;
    }

    .program-discription {
        height: 90px;
    }

    img[alt="Teacher tab"] {
        width: 310px !important;
        height: 330px;
    }

    .workshop-ribbon-logo img {
        transform: scale(1.5);
    }

    .work-inner-image img[alt="Birthdays"] {
        object-position: right;
    }
}

@media only screen and (min-width: 627px) and (max-width: 767px) {
    div#program-from {
        margin-top: -200px;
    }
}
@media only screen and (min-width: 1280px) and (max-width: 1440px) {
.approch-img {
    width: 700px;
    height: 700px;
    bottom: 100px;
}
}
@media only screen and (min-width: 1100px) and (max-width: 1280px) {
.approch-img {
    width: 600px;
    height: 600px;
    bottom: 100px;
}
}
@media only screen and (min-width: 767px) and (max-width: 1280px) {
.wrksp-logo-box {
    width: 110px;
    height: 110px;
}
.discover-carousel .swiper{
    position: relative;
}
}

@media (max-width: 768px) {

    .program-article h3.text-\[30px\] {
        margin-top: 0px;
    }
}


@media only screen and (min-width: 767px) and (max-width: 800px) {
.footer-wrapper img[alt="Young Engineers Logo"] {
    width: 200px;
}
.quick-links {
    margin-left: -37px;
}
    .gain-box {
        margin-top: 0;
    }

    .we-wre-section {
        padding-top: 50px;
    }

    .approch-img {
        width: 460px;
    }
}
@media only screen and (min-width: 998px) and (max-width: 1024px) {
.we-wre-section {
    min-height: 620px;
}
.misson-section {
    margin-top: -120px;
}
.globe-container {
      top: -16%;
      right: -32%;
    }
}
@media only screen and (min-width: 767px) and (max-width: 1024px) {
.discover-carousel .swiper:before {
    position: absolute;
    top: 0;
    right: -4px;
    width: 100px;
    height: 100%;
    content: '';
    background: linear-gradient(268deg, #ffffff, transparent);
    z-index: 9;
}
.about-highlight-img {
    transform: scale(1.4);
}
.about-highlight-img[alt="Basketball"] {
    transform: scale(1.7);
}
.about-highlight-img[alt="spinning top bouncer"] {
    transform: scale(1.6);
}
.about-highlight-img[alt="Card shuffler"],
.about-highlight-img[alt="Accordion Robot"],
.about-highlight-img[alt="Zombie"] {
    transform: scale(2);
}
.about-highlight-img[alt="Bird's Migration"] {
    transform: scale(1.8);
}
    img.icon-logo[alt="BIG BUILDERS"] {
        object-fit: cover;
        height: 74px;
    }

    img.icon-logo[alt="SMARTIVO"] {
        height: 62px;
    }

    img.icon-logo[alt="BRICKS CHALLENGE"] {
        height: 64px;
        margin-left: 10px;
    }

    img.icon-logo[alt="GALILEO TECHNIC"] {
        object-fit: cover;
        height: 68px;
        margin-left: 7px;
    }

    img.icon-logo[alt="ALGO PLAY"] {
        height: 63px;
        object-fit: cover;
        margin-left: 5px;
    }

    img.icon-logo[alt="ALGO C"] {
        height: 73px;
        margin-left: 5px;
    }

    article#workshop-PRO .range-t {
        font-size: 14px;
        line-height: 17px;
    }

    .globe-container canvas {
        width: 1100px !important;
        height: 1100px !important;
    }

    .thumbnail-slider {
        margin-right: 50px;
    }

    img[alt="Teacher tab"] {
        object-fit: cover;
        border-radius: 247px;
        width: 430px;
        height: 530px;
        box-shadow: 0 14px 14px 6px #00000026;
        margin-top: -45px;
        right: 0;
    }

    .about-form .carousel-wrapper {
        background: #fff;
        padding-top: 16px;
        margin-top: -2px;
    }
}

@media only screen and (min-width: 767px) and (max-width: 800px) {
    .content-top {
        margin-top: 30px !important;
    }

    .program-article h3 {
        font-size: 16px;
    }

    .program-article h3 span {
        font-size: 16px;
        line-height: 23px;
    }

    .program-article p.wrap-break-word {
        margin-top: 4px;
        font-size: 13px;
    }

    .program-discription {
        height: 110px;
    }

    article[id="GALILEO TECHNIC"] .program-discription,
    article[id="BRICKS CHALLENGE"] .program-discription {
        height: 84px;
    }
    .globe-container {
        right: -29% !important;
    }
}

@media (min-width: 1790px) {
    .pro-objectives {
        margin-top: -120px;
    }
}

@media (min-width: 1660px) {
    .object-img img[alt="GOLDEN AGE"] {
        margin-left: -1%;
        height: 800px !important;
    }
}

@media (min-width: 1360px) {
    .object-img img[alt="workshop-objectives"] {
        height: 760px !important;
    }

    .highlights img.object-cover[alt="ALGO PLAY"] {
        height: 858px !important;
        object-fit: contain !important;
    }

    .highlights img[alt="GALILEO TECHNIC"] {
        height: 800px !important;
    }

    .highlights img[alt="BRICKS CHALLENGE"] {
        object-fit: contain;
        height: 870px !important;
        margin-left: 62px;
        margin-top: -50px;
    }

    .highlights img[alt="BIG BUILDERS"] {
        object-fit: contain;
        height: 870px !important;
        margin-top: -70px;
    }

    .highlights img[alt="ALGOPLAY"] {
        object-fit: contain;
        height: 870px !important;
        margin-top: -60px;
    }

    .highlights img[alt="RoboToys"],
    .highlights img[alt="ALGOC"] {
        object-fit: contain;
        height: 830px !important;
        margin-top: -60px;
        margin-left: 40px;
    }

    .highlights img[alt="ALGOBUDDY"] {
        object-fit: contain;
        height: 830px !important;
        margin-top: -60px;
        margin-left: -90px;
    }

    .object-img img[alt="Build Up"] {
        height: 800px !important;
        margin-left: -100px;
        margin-top: -10px;
    }

.work-highlight-box img[alt="Build Up"] {
    object-fit: contain;
    object-position: center;
    margin-top: -20px;
    width: 900px !important;
    height: 750px !important;
    transform: scale(1.2);
    margin-left: -80px;
}

.discover-gall img[alt="Build Up"] {
    object-fit: contain;
    object-position: center;
    width: 834px !important;
    height: 650px !important;
    transform: scale(1.3);
}

    .object-img img[alt="Build up"] {
        width: 1000px !important;
        height: 899px !important;
        margin-left: -6% !important;
        margin-top: -40px !important;
    }

    .object-img img[alt="Camps"] {
        height: 772px !important;
        margin-top: -60px;
    }

    div#image-Camps {
        height: 900px;
        margin-top: 143px;
    }

    .object-img img[alt="PRO"] {
        margin-top: 120px;
        height: 500px !important;
    }

    div#ribbon-PRO .txt-pro {
        font-size: 16px;
    }

    div#ribbon-PRO .age-range {
        flex-direction: column;
    }

    div#image-PRO {
        margin-top: 123px;
        height: 770px;
    }

    .discover-gall img[alt="PRO"] {
        object-fit: contain;
        object-position: 25% 50%;
        height: 640px !important;
        transform: scale(1.4);
    }

.object-img img[alt="GOLDEN AGE"] {
    height: 730px !important;
    margin-left: -1%;
}
.work-highlight-box img[alt="GOLDEN AGE"] {
    width: 1044px !important;
    height: 900px !important;
    top: -119px !important;
    transform: scale(1.1);
    margin-left: -40px;
}

    div#image-Birthday\ Parties {
        height: 900px;
        width: 1200px;
    }

    .discover-gall img[alt="Golden age"] {
        object-fit: cover;
        object-position: left;
    }

    div#ribbon-Golden\ age .bg-work {
        width: 174px;
    }

    div#ribbon-Golden\ age .bg-work h4 {
        color: #54545a;
    }

    .object-img img[alt="Birthday Parties"] {
        height: 760px !important;
        margin-left: -6%;
    }

    .registration-form input[type="text"],
    .registration-form input[type="email"],
    .registration-form input[type="tel"],
    .registration-form input[type="number"] {
        height: 50px !important;
        color: #58585A;
    }

    .drop-btns button {
        min-height: 50px;
    }

    .object-img img[alt="MECHANICS CAMPS"] {
        margin-top: -50px;
        margin-left: -20px;
        height: 850px !important;
    }

    .work-highlight-box img[alt="MECHANICS CAMPS"],
    .work-highlight-box img[alt="CODING CAMPS"] {
        height: 800px !important;
    }

    .work-highlight-box img[alt="MECHANICS CAMPS"] {
       margin-left: 16px;
       transform: scale(1.25);
    }

    .highlights img[alt="SMARTIVO"] {
        height: 800px !important;
    }

    .highlights img[alt="ALGOBUDDY"] {
        height: 920px !important;
    }

    .highlights img[alt="BIG BUILDERS"] {
        height: 1000px !important;
    }

    .object-img img[alt="Birthdays"] {
        height: 800px !important;
    }

    div#image-Birthdays {
        margin-top: 136px;
        width: 1140px !important;
        height: 800px !important;
    }

    div#image-Birthdays img {
        object-fit: cover;
        object-position: bottom;
    }

    section[id="wrapper-MECHANICS CAMPS"] {
        margin-top: -210px !important;
    }

.discover-gall img[alt="MECHANICS CAMPS"] {
    object-fit: contain;
    margin-top: 30px;
    transform: scale(1.15);
    margin-left: -50px;
}

.discover-gall img[alt="GOLDEN AGE"] {
    object-fit: contain;
    object-position: center;
    width: 600px !important;
    height: 600px !important;
    transform: scale(1.1);
}

    section[id="wrapper-CODING CAMPS"] {
        margin-top: -210px;
    }

    section#discover-ALGOPLAY .discover-content,
    section#discover-ALGOC .discover-content,
    section#discover-GALILEO_TECHNIC .discover-content,
    section#discover-BRICKS_CHALLENGE .discover-content {
        width: 700px;
    }

    section#discover-ALGOC img[alt="Discover image"] {
        margin-left: 100px;
    }

    .thumbnail-gal img[alt="Construction Site Crane"] {
        object-fit: contain;
        transform: scale(1.1);
    }

    div[id="image-CODING CAMPS"] {
        height: 941px;
        margin-top: 360px;
        width: 780px;
    }

    div[id="image-CODING CAMPS"] img {
        object-fit: cover;
    }

    .client-c1 {
        margin-top: -218px !important;
        z-index: 9;
    }
}

@media (max-width: 1300px) {
    .accordion-workshop {
        margin-top: -200px;
        padding-top: 50px;
    }

    nav[aria-label="Back navigation"] a {
        margin-bottom: 0;
    }

    .highlights img.object-cover[alt="ALGO PLAY"] {
        margin-left: 45px;
        height: 600px !important;
    }

    .slide-description-txt {
        padding-left: 40px;
    }

    .pre-arrow {
        left: 410px;
    }

    .objective-text {
        margin-top: 50px;
    }
}

.btn-blue span:before {
    position: absolute;
    top: 4px;
    right: -29px;
    content: '';
    width: 20px;
    height: 20px;
    background: url(data:image/svg+xml,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M4.75542%2010.0216C4.49819%209.76436%204.49819%209.34729%204.75542%209.09007C5.01266%208.83286%205.42971%208.83286%205.68694%209.09007L8.33226%2011.7354L13.8878%206.17974C14.145%205.92251%2014.5621%205.92251%2014.8193%206.17974C15.0766%206.43697%2015.0766%206.85402%2014.8193%207.11126L8.8369%2013.0937C8.55797%2013.3726%208.10569%2013.3726%207.82676%2013.0937L4.75542%2010.0216Z%22%20fill%3D%22white%22%2F%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M9.99665%200.714355C4.86829%200.714355%200.710938%204.87171%200.710938%2010.0001C0.710938%2015.1284%204.86829%2019.2858%209.99665%2019.2858C15.125%2019.2858%2019.2824%2015.1284%2019.2824%2010.0001C19.2824%204.87171%2015.125%200.714355%209.99665%200.714355ZM2.13951%2010.0001C2.13951%205.66069%205.65727%202.14293%209.99665%202.14293C14.336%202.14293%2017.8538%205.66069%2017.8538%2010.0001C17.8538%2014.3394%2014.336%2017.8572%209.99665%2017.8572C5.65727%2017.8572%202.13951%2014.3394%202.13951%2010.0001Z%22%20fill%3D%22white%22%2F%3E%3C%2Fsvg%3E);
    background-size: contain;
}

.btn-blue span {
    position: relative;
}

.video-container:before {
    position: absolute;
    top: 0;
    left: 0;
    content: '';
    width: 100%;
    height: 100%;
    background: rgb(48 48 48 / 31%);
    z-index: 11;
}

.pro-objectives .swiper-slide-thumb-active {
    border-bottom: none;
}

h4#heading-Birthday\ Parties,
.discover-box p#text-Birthday\ Parties {
    color: #58585A !important;
}

.discover-box p[id="text-Birthday Parties"] {
    color: #58585a !important;
}

div#accordion-Golden\ age span {
    color: #58585a !important;
}

div#accordion-Golden\ age .acc-open {
    color: #ddbd48 !important;
}

.video-is-fullscreen .v-controls {
    right: 40px;
    bottom: 40px;
}

@media (max-width: 767px) {
.mobile-main-img img[alt="Card shuffler"],
.mobile-main-img img[alt="Bird's Migration"],
.mobile-main-img img[alt="Zombie"] {
    transform: scale(1.5);
}
.mobile-main-img img[alt="Accordion Robot"] {
    transform: scale(1.4);
}
.mobile-main-img img[alt="Basketball"] {
    transform: scale(1.1);
}
.inspire-young img {
    transform: scale(1.15);
}
.young-content-wrapper {
    margin-bottom: 0;
}
.discover-navigaton {
    margin-left: 0 !important;
    width: 100% !important;
}
.content-top {
    margin-top: 8px !important;
}
h1.discover-title {
    margin-top: 60px;
}
.icon-program-mob:last-child {
    padding-right: 0;
}
.icon-program-mob:last-child p {
    margin-left: -20px;
    margin-right: 10px;
}
.discover-carousel .swiper:before {
    position: absolute;
    top: 0;
    right: -4px;
    width: 70px;
    height: 100%;
    content: '';
    background: linear-gradient(268deg, #ffffff, transparent);
    z-index: 9;
}
.error-image-wrapper img {
    transform: none;
}
    .about-slider .swiper-slide-thumb-active::before {
        height: 60px;
    }
 
    /* 416px was hardcoded for every phone, but the form container is `px-12`
       (48px a side), so a 375px viewport only offers ~279px — the circle spilled
       past the screen and got clipped. min() keeps the intended size on wide
       phones and shrinks it to fit on narrow ones; aspect-ratio holds the circle
       now that the height is no longer pinned. */
    img[alt="Teacher tab"] {
        box-shadow: 0 14px 14px 6px #00000026;
        width: min(416px, 100%);
        height: auto;
        aspect-ratio: 1 / 1;
        border-radius: 50%;
        object-fit: cover;
        /* Centred on purpose. The CMS image is 640x667 (ratio 0.960) — a
           near-square RGBA cut-out that already contains its own round crop —
           so this frame only trims 4%, 14px top and bottom. Top-anchoring was
           compensating for the 396x506 teacher_two.png fallback, not for the
           image actually in use, and it threw the framing off centre. */
    }

    .thumbnail-slider {
        width: 100% !important;
        top: 50% !important;
        position: absolute !important;
    }

    .a-slider .swiper-slide.swiper-slide-next img {
        margin-left: -58%;
        transform: scale(0.35);
        margin-top: 50px;
    }

    .a-slider .swiper-slide.swiper-slide-prev img {
        margin-left: 50%;
        transform: scale(0.35);
        margin-top: 50px;
    }

    .a-sliders,
    .a-sliders .grid,
    .a-sliders .md\:col-span-5 {
        overflow: visible;
    }

    /*
.a-slider .swiper-slide.swiper-slide-prev h3 {
    padding-right:30px;
}*/
    .a-slider .swiper {
        overflow: visible !important;
    }

    .programe-all-block .all-program-btn img {
        display: none;
    }

    .programe-all-block .all-program-btn {
        position: relative;
    }

    .programe-all-block .all-program-btn:before {
        position: absolute;
        top: 10px;
        left: 12%;
        width: 24px;
        height: 24px;
        content: '';
        background: url(data:image/svg+xml,%3Csvg%20width%3D%2223%22%20height%3D%2223%22%20viewBox%3D%220%200%2023%2023%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Ccircle%20cx%3D%2211.5%22%20cy%3D%2211.5%22%20r%3D%2210.75%22%20stroke%3D%22%230097DC%22%20stroke-width%3D%221.5%22%2F%3E%3Cpath%20d%3D%22M11.75%204.49951C11.75%204.0853%2011.4142%203.74951%2011%203.74951C10.5858%203.74951%2010.25%204.0853%2010.25%204.49951L11%204.49951L11.75%204.49951ZM10.4697%2019.5384C10.7626%2019.8313%2011.2374%2019.8313%2011.5303%2019.5384L16.3033%2014.7655C16.5962%2014.4726%2016.5962%2013.9977%2016.3033%2013.7048C16.0104%2013.4119%2015.5355%2013.4119%2015.2426%2013.7048L11%2017.9474L6.75736%2013.7048C6.46447%2013.4119%205.98959%2013.4119%205.6967%2013.7048C5.4038%2013.9977%205.4038%2014.4726%205.6967%2014.7655L10.4697%2019.5384ZM11%204.49951L10.25%204.49951L10.25%2019.0081L11%2019.0081L11.75%2019.0081L11.75%204.49951L11%204.49951Z%22%20fill%3D%22%230097DC%22%2F%3E%3C%2Fsvg%3E);
        z-index: 1;
        background-size: contain;
        background-repeat: no-repeat;
    }

    .object-img img[alt="Birthday Parties"] {
        object-fit: cover;
    }

    h4#ribbon-Birthday\ Parties {
        color: #58585a;
    }

    .object-img img[alt="Build up"] {
        object-fit: cover;
        width: 100%;
        height: 400px !important;
        object-position: 90% 50%;
    }

    .discover-gall img[alt="Build up"] {
        object-fit: cover;
        height: 340px !important;
        object-position: 40% 50%;
    }

    .workshop-highlight-mob img[alt="Build up"] {
        width: 280px !important;
        height: 180px !important;
        object-fit: cover;
        object-position: 110% 50%;
    }

    .discover-gall img[alt="Golden age"] {
        object-fit: cover;
    }

    .workshop-highlight-mob img[alt="Golden age"] {
        width: 280px !important;
        height: 200px !important;
        object-fit: cover;
        object-position: 110% 50%;
    }

    .discover-gall img[alt="PRO"] {
        object-fit: cover;
    }

    section#program-d3a4172b-f552-464d-b04b-4512c89b0b05 .mob-ribbon {
        height: 210px;
    }

    .object-img img[alt="Build Up"] {
        object-fit: cover;
        object-position: 83% 50%;
        height: 360px !important;
    }

    .workshop-detail.workshop-67c8c645-53a4-4f4b-89c0-b95e3e5f4ded .pro-txt {
        font-size: 18px !important;
        word-break: break-word !important;
        overflow-wrap: break-word !important;
        white-space: normal !important;
        width: 76px !important;
        display: block !important;
    }

    .discover-slider-box {
        box-shadow: #0000001a 4px 9px 9px !important;
    }

    .teacher-slider-container .swiper-pagination.swiper-pagination-clickable.swiper-pagination-bullets.swiper-pagination-horizontal {
        bottom: 20px;
    }

    h4#ribbon-Birthdays {
        color: #58585a !important;
    }

    /*
.misson-section:before {
    position: absolute;
    top: 0;
    left: 0;
    width: 1609px;
    height: 220px;
    content: '';
    background: url("https://yefranchisees.b-cdn.net/frontend/floor-why-ye.png");
    background-size: cover;
    background-position: center;
    z-index: -11;
}
*/
.discover-gall img[alt="Build Up"] {
    object-fit: cover;
}

.discover-gall img[alt="GOLDEN AGE"] {
    object-fit: contain;
}
div[id="Mobile-ribbon-GOLDEN AGE"] .mob-ribbon .p-1 {
     background: linear-gradient(206deg, #DBBC47, #603C1E) !important;
}
 div[id="Mobile-ribbon-Birthday Parties"] .mob-ribbon .p-1 {
    background: linear-gradient(206deg, #fde502, #f29000) !important;
}
 div[id="Mobile-ribbon-Build Up"] .mob-ribbon .p-1 {
     background: linear-gradient(206deg, #3274b3, #15395f) !important;
}
.AI_IMG svg {
    width: 100px;
    height: 67px;
}
}

div[id="ribbon-GOLDEN AGE"] .bg-work {
    background: linear-gradient(206deg, #DBBC47, #603C1E) !important;
}

div[id="ribbon-Birthday Parties"] .bg-work {
    background: linear-gradient(206deg, #fde502, #f29000) !important;
}

div[id="ribbon-Build Up"] .bg-work {
    background: linear-gradient(206deg, #3274b3, #15395f) !important;
}

div[id="accordion-GOLDEN AGE"] span {
    color: #585858 !important;
}

div[id="accordion-GOLDEN AGE"] span.acc-open {
    color: #ddbd48 !important;
}

@media (min-width: 1200px) {
    div[id="ribbon-GOLDEN AGE"] .bg-work {
        width: 105% !important;
    }

}

@media (max-width: 400px) {

    /* Same overflow at <=400px. The original 416x357 here made an OVAL, which
       is what 375-390px phones were landing on — kept round instead so the
       portrait reads the same at every width. */
    img[alt="Teacher tab"] {
        box-shadow: 0 14px 14px 6px #00000026;
        width: min(416px, 100%);
        height: auto;
        aspect-ratio: 1 / 1;
        border-radius: 50%;
        object-fit: cover;
    }


    .workshop-tabs-cols h1 {
        padding-right: 50px;
    }

    .workshop-tabs-cols {
        padding-bottom: 120px;
    }

    section#allWorkshop {
        margin-top: -50px;
    }

    main#program-7560c015-e789-4bc9-a4f7-c1dc33170d72 .highlights-heading-mob {
        margin: 20px 0 10px;
    }

    .programe-all-block .all-program-btn:before {
        left: 8%;
    }

    .tab-arrow-mob {
        width: 88%;
    }
}

@media (max-width: 380px) {
    .pro-card h4 {
        font-size: 16px;
    }
    .workshop-description {
         min-height: 170px;
    }
.tab-arrow-mob {
    top: 410px !important;
}
.program-discription {
    height: 230px !important;
}
}

@media (max-width: 365px) {
    /* 300px still overflowed the ~224-269px available at these widths. Capping
       with min() and letting aspect-ratio (1/1, set above) drive the height
       keeps it circular and inside the container. */
    img[alt="Teacher tab"] {
        width: min(300px, 100%) !important;
        height: auto;
    }
}

@media (max-width:330px) {
    .globe-container {
        overflow: hidden;
    }

    .globe-container canvas {
        object-fit: contain;
        width: 258px !important;
        margin: 0 auto;
        margin-left: 15px;
    }

    .globe-container>div>div {
        width: 320px !important;
    }
}

div#AI-BRICKS_CHALLENGE {
    background: url(https://yefranchisees.b-cdn.net/frontend/programs-page/AI.jpg);
    background-size: cover;
    width: 100%;
    height: 1000px;
    background-position: top;
    margin-top: -99px;
    padding-top: 170px;
    margin-bottom: -120px;
    z-index: 0;
    position: relative;
}

div#AI-BRICKS_CHALLENGE section {
    padding: 40px 50px;
}

div#AI-BRICKS_CHALLENGE .container {
    flex-direction: row-reverse;
}

div#AI-BRICKS_CHALLENGE .img-container {
    right: -75px;
    left: unset;
    top: 50px;
}

div#AI-BRICKS_CHALLENGE .img-container img {
    object-fit: cover;
    height: 665px !important;
    width: 675px !important;
    transform: scale(1.1);
}

div#AI-BRICKS_CHALLENGE h3 {
    font-size: 30px;
}
.workshop-main article:last-child {
    margin-bottom: 80px;
}

@media (min-width: 1300px) {
div#AI-CODING_CAMPS .img-container {
     height: 700px;
}
.v-controls {
    right: calc(50% - 480px);
}
.video-thumbnail-wrapper {
    z-index: 99;
    height: 640px;
}
.videos-container:after {
    content: "";
    position: absolute;
    bottom: 50px;
    right: calc(50% - 638px);
    width: 150px;
    height: 30px;
    background: #fff;
    z-index: 99;
    pointer-events: none;
}
}

@media (max-width: 1290px) {
    div#AI-BRICKS_CHALLENGE .img-container img {
        object-fit: cover;
        width: 570px !important;
        height: 576px !important;
    }

    div#AI-BRICKS_CHALLENGE .img-container {
        right: -130px;
        left: unset;
        top: 76px;
    }

    div#AI-BRICKS_CHALLENGE .AI_IMG svg {
        width: 120px;
    }

    div#AI-BRICKS_CHALLENGE .AI_IMG {
        margin-bottom: 0;
    }
}


@media only screen and (min-width: 1210px) and (max-width: 1290px) {
.slider-activity a {
        font-size: 20px;
}
}
@media only screen and (min-width: 1030px) and (max-width: 1210px) {
.slider-activity a {
        font-size: 15px;
}
}

@media (max-width: 1030px) {
.slider-activity a {
    font-size: 18px !important;
}
    .discover-gall {
        height: 370px;
    }

    .discover-navigaton {
        width: 419px;
        bottom: -25px !important;
    }

    .pre-arrow {
        left: 460px;
    }

    .slide-description-txt {
        padding-left: 30px;
    }

    .corousel-text {
        padding-left: 0px;
    }

    .user-name {
        font-size: 16px;
    }

    div#AI-BRICKS_CHALLENGE .bg-box {
        width: 90%;
        left: 5%;
    }

    div#AI-BRICKS_CHALLENGE .img-container {
        right: -60px;
        left: unset;
        top: 0px;
    }

    div#AI-BRICKS_CHALLENGE .img-container img {
        object-fit: cover;
        width: 500px !important;
        height: 368px !important;
    }

    div#AI-BRICKS_CHALLENG .right-container-wrapper {
        width: 426px;
    }

    div#AI-BRICKS_CHALLENGE .AI_IMG svg {
        width: 84px;
        height: 50px;
    }

    div#AI-BRICKS_CHALLENGE .btn-AI {
        height: 48px;
        font-size: 16px;
        width: 400px;
    }

    div#AI-BRICKS_CHALLENGE .text-right-container {
        padding-left: 20px;
    }

    div#AI-BRICKS_CHALLENGE h3 {
        font-size: 24px;
        text-align: left;
    }

    div#AI-BRICKS_CHALLENGE {
        height: 670px;
        margin-top: -59px;
        margin-bottom: -120px;
        padding-top: 124px;
    }

    .v-controls {
        right: 223px;
        bottom: 40px;
    }
}

@media only screen and (min-width: 767px) and (max-width: 998px) {
.workshop-img {
    height: 318px;
}
.payment-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: repeat(3, 1fr);
    gap: 8px;
}
.card-1 {
    grid-column: span 2 / span 2;
}
.card-2 {
    grid-column: span 2 / span 2;
    grid-row-start: 2;
}
.card-3 {
    grid-row-start: 3;
}
.card-4 {
    grid-row-start: 3;
}
.footer-form-wrapper {
    max-width: 300PX;
}

.more-button {
    margin-bottom: 0;
}
.globe-container {
      top: -16%;
      right: -25%;
    }
.testimonial-track{
    position: relative;
}
.testimonial-track:before {
    position: absolute;
    content: '';
    width: 190px;
    height: 100%;
    top: 0;
    right: -20px;
    background: linear-gradient(270deg, #00619c, transparent);
    z-index: 12;
}
div[aria-label="Why Young Engineers features"]:before {
    position: absolute;
    content: '';
    width: 50px;
    height: 100%;
    top: 0;
    right: 0;
    background: linear-gradient(274deg, #fff, transparent);
}
div[aria-label="Why Young Engineers features"] {
    position: relative;
}
div#AI-CODING_CAMPS .img-container img {
    transform: scale(1.6);
} 
    .from-outer-wrapper {
        padding: 0;
    }

    .contact-info {
        margin-left: -30px;
    }

    .quick-links {
        margin-left: -20px;
    }

    .workshop-banner {
        padding-top: 75px;
    }

    .workshop-block {
        margin-top: 30px;
    }

    .workshop-main nav {
        margin-top: 20px;
    }

    .xlider {
        margin-top: 56px;
    }

    .workshop-image {
        margin-top: 20px;
    }

    .our-approch {
        padding-top: 40px;
    }

    .thumbnail-gal {
        width: 86% !important;
        margin: 0 auto !important;
    }

    .workshop-banner {
        min-height: 600px;
    }

    .img-container img {
        transform: scale(1.1);
    }
    div#AI-ROBO_TOYS .img-container img {
    transform: scale(1.3);
}
}

@media only screen and (min-width: 768px) and (max-width: 830px) {
img[alt="Teacher tab"] {
    height: 460px;
    margin-top: 0;
    right: 0;
    transform: scale(1.1);
    width: 357px !important;
}
.from-outer-wrapper h2 {
    font-size: 29px;
}
.from-outer-wrapper p {
    font-size: 13px;
}
main#program-ALGO_BUDDY .dis-image img {
    transform: scale(1.1);
}
.highlights img[alt="ALGOBUDDY"] {
    transform: scale(1.3);
    margin-left: -80px;
}
.highlights img[alt="ALGOC"], .highlights img[alt="BRICKS CHALLENGE"] {
    object-position: 160% 50%;
}
.highlights img[alt="BRICKS CHALLENGE"] {
    margin-left: -90px;
}
.highlights img[alt="GALILEO TECHNIC"] {
    transform: scale(1.12);
    margin-left: -26px;
}
    .work-inner-content {
        padding-left: 30px;
    }

    .class-heading-wrapper {
        gap: 10px;
    }
}

@media (max-width: 1099px) {
    .a-sliders .thumbnail-slider {
        width: 386px;
    }

    .a-sliders .thumbnail-slider:after {
        display: none;
    }
}

@media only screen and (min-width: 830px) and (max-width: 998px) {
    .highlights {
        margin-left: 88px !important;
    }

    .discover-slider-box {
        height: 116px;
        width: 100%;
    }

    .discover-card-left {
        width: 40%;
    }

    .discover-navigaton {
        width: 390px !important;
    }

    .misson-section {
        margin-top: -80px;
    }

    .we-wre-section {
        padding-top: 50px;
        padding-bottom: 50px;
    }

    .gain-box {
        margin-top: 0;
    }
}
@media only screen and (min-width: 930px) and (max-width: 998px) {
.young-mind-image {
    width: 400px;
}
}
@media only screen and (min-width: 830px) and (max-width: 930px) {
.young-mind-image {
    width: 340px;
}
}

@media (max-width: 998px) {
    div#AI-BRICKS_CHALLENG .text-left {
        max-width: 360px;
    }

    .a-sliders .thumbnail-slider {
        width: 400px;
    }

    div#AI-BRICKS_CHALLENG .img-container img {
        object-fit: contain !important;
    }

    .discover-navigaton {
        width: 323px;
        margin-left: -30px;
        top: unset;
        bottom: 0 !important;
    }

    .discover-text-left {
        padding-right: 10px;
    }
    .discover-card-left {
        height: max-content;
      margin-top: 0;
    }
    .pre-arrow {
        left: 340px;
    }
}

@media (max-width: 836px) {
    .a-sliders .thumbnail-slider {
        width: 351px;
    }
}

@media (max-width:830px) {
    header nav.flex {
        gap: 20px !important;
    }

    .slide-description-txt {
        min-width: 320px;
        padding-left: 0;
    }

    .pro-created,
    .pro-data {
        padding: 0 15px !important;
        margin-top: 7px !important;
    }

    h3.program_card_heading {
        font-size: 29px !important;
        line-height: 34px !important;
    }
}

@media (max-width: 860px) {
    .testimonial .swiper-pagination {
        left: -79px !important;
    }

    .a-sliders .thumbnail-slider {
        width: 340px;
    }
}

@media (min-width:767px) and (max-width: 1000px) {
    .registration-form button.submit-btn {
        font-size: 14px;
        width: 100%;
    }

    .registration-form button img[alt="Gear"] {
        margin: 0;
    }
}

@media (min-width:767px) and (max-width: 840px) {
    .workshop-banner {
        min-height: 600px !important;
    }

    section#wrapper-PRO {
        margin-top: -134px;
    }

    .a-sliders .thumbnail-slider:before {
        background: linear-gradient(272deg, #006bac, #0000) !important;
        right: -35px;
    }
}

@media only screen and (min-width:800px) and (max-width: 960px) {
    .gain-box {
        margin-top: 0;
    }

    .we-wre-section {
        padding-top: 50px;
    }
}

@media (min-width:767px) and (max-width: 800px) {
div#AI-CODING_CAMPS .img-container img {
    transform: scale(1.4);
} 
.footer-form-wrapper {
    max-width: 270PX;
}
img[alt="Teacher tab"] {
    margin-top: -16px;
    transform: none;
}
.from-outer-wrapper h2 {
    font-size: 26px;
}
.workshop-MECHANICS.CAMPS .work-inner-content h1 {
    font-size: 26px;
}
.from-outer-wrapper p {
    font-size: 12px;
}
.workshop-detail section#footerForm {
    padding-top: 260px;
}
.more-button {
    margin-bottom: 40px;
}
    .globe-container {
       top: -10%;
    }
    .gain-box {
        min-height: 750px;
    }

    .a-sliders .thumbnail-slider {
        width: 312px;
    }

    a.btn-work-shop {
        font-size: 13px;
    }

    .big-image {
        width: 220px;
    }

    .program-btn a {
        font-size: 14px;
    }

    .program-btn a img {
        width: 22px;
        height: 22px;
    }

    header nav.flex {
        gap: 15px !important;
    }

    .program-block img[alt="Robot"] {
        width: 35rem;
        margin-top: 40px;
    }

    .discover-text-left {
        padding-right: 15px;
        font-size: 15px;
        line-height: 22px;
    }

    .slider-activity h3 {
        font-size: 30px;
    }

    .program-btn a {
        font-size: 13px;
    }

    .accordion-workshop {
        margin-top: -140px !important;
        padding-top: 30px;
    }
}

@media (max-width: 768px) {
    section[id="wrapper-GOLDEN AGE"] {
        margin-top: -110px;
    }

    .objective-text {
        margin-top: 0;
    }

    .accordion-workshop {
        margin-top: -100px;
        padding-top: 30px;
    }

    div#registration-form {
        margin-top: -280px;
    }

    div#AI-BRICKS_CHALLENGE .text-right-container {
        padding-left: 0;
    }

    div#AI-BRICKS_CHALLENG .right-container-wrapper {
        width: 100%;
    }

    div#AI-BRICKS_CHALLENGE section {
        padding: 40px 30px;
    }

    div#AI-BRICKS_CHALLENGE {
        height: auto;
        margin-top: 0;
        margin-bottom: -100px;
        padding-top: 130px;
        background: url(https://yefranchisees.b-cdn.net/frontend/programs-page/AI%20-1.png);
        background-size: cover;
        background-position: top;
        padding-bottom: 100px;
    }

    div#AI-BRICKS_CHALLENGE .container {
        padding: 0 10px;
    }

    div#AI-BRICKS_CHALLENGE h3 {
        font-size: 22px !important;
    }

    div#AI-BRICKS_CHALLENGE .btn-AI {
        width: 100%;
        height: 48px;
        font-size: 15px;
    }

    .slider-activity a {
        font-size: 16px;
    }

    .slide-description-txt {
        padding-left: 0;
    }

    .program-discription {
        height: 206px;
    }

    .program-article p.wrap-break-word {
        margin-top: 4px;
        font-size: 18px;
    }

    article[id="workshop-MECHANICS CAMPS"] .left-box,
    article[id="workshop-CODING CAMPS"] .left-box {
        width: 29%;
    }

    .testimonial-outer-wrapper {
        min-height: 1060px !important;
    }

    .testimonial-outer-wrapper>section {
        min-height: 1060px !important;
    }

    .corousel-text {
        padding-left: 0;
    }

    .discover-tab-btn:nth-child(3) button {
        padding: 10px 18px
    }

    div#Mobile-PRO .pro-txt.t1 {
        font-size: 18px;
    }

    .discover-tab-btn:nth-child(1) button {
        padding-left: 10px;
        padding-right: 10px;
    }

    .icon-program-mob {
        padding-left: 0;
        padding-right: 10px;
        gap: 0;
    }

    .icon-program-mob:nth-child(1) .pro-img-bx {
        width: 100px;
    }

    .program-discription {
        font-weight: 300;
    }

    .mobile-image-slider .swiper-slide.swiper-slide-visible.swiper-slide-next {
        margin-left: -35px;
    }

    .mobile-image-slider .swiper-slide.swiper-slide-visible.swiper-slide-prev {
        margin-left: 34px;
    }

    .mobile-image-slider .swiper-slide-active {
        transform: scale(1.2) !important;
        margin-left: -18px;
    }

    .mobile-image-slider {
        padding-bottom: 20px;
    }
}

section#program-GALILEO_TECHNIC .ribbon-gradient, 
section#program-GALILEO_TECHNIC .gradient-bg  {
    background: linear-gradient(265deg, #E2033F, #890B23) !important;
}

section#program-ALGOPLAY .ribbon-gradient {
    background: linear-gradient(167deg, #9E358C, #521B4A) !important;
}

section#program-BRICKS_CHALLENGE .ribbon-gradient, 
section#program-BRICKS_CHALLENGE .gradient-bg {
    background: linear-gradient(250deg, #95C11F, #226B20) !important;
}

ul.submenu-list li:last-child {
    border-top: 1px solid #E0E0E0;
    margin-top: 7px;
    padding-top: 7px;
}

.program-toy {
    object-fit: contain;
    transform: scale(1.15);
}
.program-toy[alt="ALGOC"] {
    transform: scale(1.5);
}
.program-toy[alt="SMARTIVO"] {
    transform: scale(1.1);
}

main[class="workshop-GOLDEN AGE"] .main-slider-pro img {
    transform: none;
}

/*
  Note: CSS does not support embedding JavaScript expressions like `${...}` for dynamic background gradients.
  To set a dynamic gradient background based on JS, update the background style via JavaScript in your component instead.
*/

/*
  WORKSHOP OBJECTIVES: at the md–lg range both columns live in the grid; vertically
  center them so the image lines up with the objectives list (Safari rendered the
  image high). Handled via grid `items-center` in the component. At xl the image is
  absolutely positioned — center it relative to its grid row here for consistency.
*/
@media only screen and (min-width: 1025px) and (max-width: 1367px) {
.discover-gall {
    width: 600px;
    margin-left: -100px;
}
}

@media (min-width: 1300px) and (max-width: 1367px) {
    .banner-content {
        padding-left: 0;
    }

    .testimonial .swiper {
        max-width: 1110px !important;
        margin-left: 0;
    }

    #program-ALGOPLAY .highlights {
        margin-left: 160px;
    }

    .workshop-img {
        width: 100%;
        height: 470px;
    }
}

@media (min-width: 1280px) and (max-width: 1300px) {
    .banner-content {
        padding-left: 0;
    }

    .workshop-img {
        width: 100%;
        height: 470px;
    }

    .testimonial .swiper {
        max-width: 1024px !important;
        margin-left: 0;
    }

    .highlights img[alt="BRICKS CHALLENGE"] {
        margin-left: 170px;
    }

    #program-ALGOPLAY .highlights {
        margin-left: 200px;
    }
}

@media only screen and (min-width: 1290px) and (max-width: 1440px) {
    section[id="wrapper-GOLDEN AGE"] {
        margin-top: -204px;
    }
}

@media only screen and (min-width: 1367px) and (max-width: 1460px) {
    .testimonial .swiper {
        width: 91% !important;
        margin-left: 0 !important;
    }

    .young-mind-image {
        width: 620px;
        height: 460px;
    }

    .big-image {
        width: 500px;
    }

    .work-inner-image {
        width: 500px;
    }

    main#program-ROBO_TOYS .highlights,
    main#program-ALGOC .highlights {
        margin-left: 200px;
    }

    section#discover-ALGOC img[alt="Discover image"] {
        margin-left: 69px !important;
        width: 90% !important;
    }

    .discover-gall img[alt="MECHANICS CAMPS"] {
        margin-left: -50px;
    }
}

@media (min-width: 1280px) and (max-width: 1367px) {
    .workshop-detail.workshop-PRO .object-img {
        width: 700px;
        margin-left: 30%;
        margin-top: 30px;
    }

    .slider-activity p span {
        font-size: 21px;
    }

    .Footer .contact-info a {
        line-height: 25px;
    }

    .young-mind-image {
        width: 570px;
        height: 464px;
    }

    .big-image {
        width: 400px;
    }

    .work-inner-image {
        width: 400px;
    }

    main#program-ROBO_TOYS .highlights,
    main#program-ALGOC .highlights {
        margin-left: 190px;
    }

    section#discover-ALGOC img[alt="Discover image"] {
        margin-left: 69px !important;
        width: 90% !important;
    }

    .discover-gall img[alt="MECHANICS CAMPS"] {
        margin-left: -60px;
    }
}

@media (min-width: 1030px) and (max-width: 1360px) {
    .txt-pro {
        font-size: 17px;
    }
    .accordion-workshop {
    margin-top: -220px;
}
}

@media (max-width: 1279px) {
    .a-sliders .thumbnail-slider {
        margin-top: -98px;
    }
 .contact-info a {
        font-size: 12px;
        line-height:20px;
        word-break: break-word;
        overflow-wrap: break-word;
        white-space: normal;
    }
.contact-info  button {
    font-size: 12px;
    padding: 10px 5px;
}
}

@media (min-width:1030px) and (max-width: 1279px) {
div#AI-BRICKS_CHALLENGE .img-container {
    right: -105px;
    left: unset;
    top: -90px;
}
div#AI-BRICKS_CHALLENGE {
    height: 840px;;
}

.young-mind-image {
    width: 500px;
}
.inspiring-block {
    height: 780px;
} 

.workshop-detail.workshop-Birthdays .object-img {
        width: 800px;
    }

    .object-img img[alt="Birthdays"] {
        height: 589px !important;
        width: 800px !important;
        margin-left: -20%;
    }
}

@media (min-width: 1180px) and (max-width: 1280px) {
    div[id="image-GOLDEN AGE"] {
        width: 800px;
        margin-left: -256px;
    }

    .discover-gall img[alt="PRO"] {
        object-fit: cover;
    }

    /* `right` is the offset of the image's right edge from its wrapper's right
   edge, and the image is wider than the wrapper — so a POSITIVE value drags it
   left, over the form. At 1180px (iPad landscape) the old `right: 20px` put the
   photo on top of the input fields. main fixed this independently with -61px
   (this branch had reached -60px separately), so main's value is kept. */
    img[alt="Teacher desktop"] {
        width: 500px;
        right: -11px;
        margin-top: 30px;
    }

    .workshop-block {
        margin-bottom: 30px;
    }

    .workshop-img {
        height: 460px;
    }

    .work-inner-content {
        padding-left: 0 !important;
    }
}

@media only screen and (min-width:820px) and (max-width: 1180px) {
    img[alt="Teacher desktop"] {
    width: 442px;
    right: -90px;
    height: 544px;
}

    .about-form {
        padding-top: 100px;
    }
}
@media (min-width: 767px) and (max-width: 1024px) {
.program-toy[alt="ALGOC"] {
    transform: scale(1.4);
}
.program-toy {
    transform: scale(1.2);
}
.swiper-slide.swiper-slide-visible.swiper-slide-active.swiper-slide-fully-visible .slider-card img.program-toy {
    transform: scale(.9);
}
}

@media (min-width: 1024px) and (max-width: 1180px) {
    .discover-gall img[alt="PRO"] {
        object-fit: contain;
        transform: scale(1.4);
    }

    .workshop-detail.workshop-PRO .discover-gall {
        width: 550px;
    }
}

@media (min-width: 768px) and (max-width: 1279px) {
    .work-objectives .object-img {
        align-self: center;
    }
}


@media only screen and (min-width:1000px) and (max-width: 1025px) {
.workshop-logos {
     width: 380px;
}
.Footer h3 {
    font-size: 13px;
}
.contact-info {
    margin-left: -20px;
}
.footer-wrapper {
    gap: 20px;
}
.footer-wrapper img[alt="Young Engineers Logo"] {
    width: 300px;
}
}

@media only screen and (min-width: 767px) and (max-width: 1000px) {
.footer-wrapper  img[alt="Young Engineers Logo"] {
    width: 244px;
}
.contact-info a,
.quick-links a {
    font-size: 11px;
}
.contact-info {
    margin-left: -40px;
}
.footer-wrapper {
    gap: 10px;
}
.Footer h3 {
    font-size: 12px;
}
.contact-info button {
    width: 90%;
}
}
@media (max-width: 1025px) {
    section#wrapper-PRO {
        margin-top: -134px;
    }
    .accordion-bg {
        background-position: 83% 50%;
        background-repeat: no-repeat;
    }

    .workshop-banner {
        min-height: 660px;
    }

    .content-top {
        margin-top: 20px;
    }

    .thumbnail-gal.swiper-thumbs img {
        object-fit: contain;
        transform: scale(1.2);
    }

    header .menu-item a {
        font-size: 14px;
    }

    header nav.flex {
        gap: 40px;
    }
    .slider-activity p span {
        font-size: 18px;
        line-height: 28px;
    }

    div[aria-label="Why Young Engineers features"] {
        font-size: 13px;
    }

    .discover-carousel {
        width: 96%;
        margin-top: 20px;
    }

    .discover-slider-box {
        height: 116px;
    }

    .slider-activity a {
        font-size: 18px;
    }

    .slider-activity p span {
        font-weight: 300;
    }

    .testimonial button[aria-label="Previous slide"] {
        width: 40px
    }

    .testimonial {
        gap: 10px;
    }

    img[alt="Teacher desktop"] {
        top: -234px;
        object-fit: cover;
    }

.contact-info a {
    word-break: normal !important;
    white-space: normal;
    font-size: 12px !important;
    line-height: 20px;
}
.contact-info h3 {
    margin-bottom: 10px;
}

    .content-container {
        margin-top: -90px;
    }

    .quick-links a {
        font-size: 12px;
    }

    .contact-info button {
        font-size: 12px;
        gap: 5px;
        padding: 7px 5px;
    }

    .contact-info button img {
        width: 18px;
        height: 18px;
    }

    .Footer button[aria-label="Scroll to top"] {
        display: none;
    }

    .pro-created,
    .pro-data {
        padding: 0 20px;
        margin-top: 10px;
    }
}

@media (min-width:767px) and (max-width: 1025px) {

    .a-sliders {
        margin-top: 50px;
    }

    .testimonial .swiper {
        width: 792px;
        margin-left: 0;
    }

    div[id="image-GOLDEN AGE"] {
        top: 100px;
    }
}

@media only screen and (min-width: 590px) and (max-width: 768px) {
    .discover-carousel {
        width: 100%;
        margin-top: 20px;
    }
}

@media only screen and (min-width: 590px) and (max-width: 767px) {
    .teacher-slider-image {
        height: 300px;
    }

    .teacher-slider-image img {
        object-position: 50% 8%;
    }
}

@media (max-width: 767px) {
.workshop-main article:last-child {
    margin-bottom: 0px;
}

    .about-form div#registration-form {
        margin-top: 0;
    }
    .workshop-CODING.CAMPS .discover-gall {
        height: 518px;
    }

    div#AI-CODING_CAMPS .bg-top {
        background-position: center !important;
    }

    .testimonial .swiper-pagination {
        left: 0px !important;
    }

    .v-controls {
        bottom: 130px;
        right: 0;
        align-items: flex-end;
    }

    .mobile-main-img img[alt="fan robot"] {
        padding-bottom: 10px;
    }
}
@media only screen and (min-width: 640px) and (max-width: 767px) {
div#registration-form {
    margin-top: -197px !important;
}
}
@media (max-width: 458px) {
    .testimonial-outer-wrapper,
    .testimonial-outer-wrapper > section {
        min-height: 1230px !important;
    }

    div#registration-form {
        margin-top: -400px;
    }
}

@media (max-width: 420px) {
    h3.icon-box-heading {
        font-size: 17px;
    }

    .icon-wrap {
        gap: 5px;
    }

    .icon-wrap:nth-child(1) {
        width: 51%;
    }

    .icon-wrap:nth-child(2) {
        width: 45%;
    }

    .custom-checkbox input:after {
        left: 52%;
    }
}

@media (max-width: 400px) {
    .testimonial-outer-wrapper {
        min-height: 1190px !important;
    }
}

@media (max-width: 380px) {
    h3.icon-box-heading {
        font-size: 16px;
    }

    .custom-checkbox input:after {
        left: 60%;
    }

    .custom-checkbox input:after {
        left: 62%;
        top: 51%;
    }

    div#Mobile-PRO .pro-txt.t1 {
        font-size: 16px;
    }

    .mob-ribbon {
        grid-column: span 4;
        height: 160px !important;
    }

    .mob-ribbon>div .rounded-full {
        width: 90px !important;
        height: 90px !important;
        margin-top: 10px;
    }

    .mob-ribbon>div .rounded-full img {
        width: 90px !important;
        height: 90px !important;
        margin: 0 auto;
    }

    .content-top .text-\[14px\] {
        font-size: 12px;
    }
}

@media (max-width: 361px) {
    h3.icon-box-heading {
        font-size: 14px;
    }

    .icon-box-text {
        font-size: 8px;
    }

    div[id="Mobile-MECHANICS CAMPS"] .wokshop-left,
    div[id="Mobile-CODING CAMPS"] .wokshop-left {
        grid-column: span 4;
    }

    div[id="Mobile-MECHANICS CAMPS"] .wokshop-right,
    div[id="Mobile-CODING CAMPS"] .wokshop-right {
        grid-column: span 8;
    }

    div[id="Mobile-MECHANICS CAMPS"] .pro-txt,
    div[id="Mobile-CODING CAMPS"] .pro-txt {
        font-size: 24px;
    }

    .testimonial-outer-wrapper h2 {
        font-size: 28px;
    }
}

@media (max-width: 340px) {

    .time2,
    .age-t {
        font-size: 11px;
    }

    .range-t {
        font-size: 22px;
    }

    .text-left .flex,
    .left-box .flex {
        gap: 1px;
    }

    article#workshop-PRO .range-t {
        font-size: 15px;
        line-height: 25px;
    }

    .custom-checkbox input:checked:after {
        transform: translate(-40%, -45%) scale(1);
    }

    .mob-ribbon>div .rounded-full {
        margin-top: 10px;
        width: 75px !important;
        height: 75px !important;
    }
}

@media (max-width: 330px) {
    .mob-ribbon {
        height: 150px;
    }

    div[id="Mobile-MECHANICS CAMPS"] .pro-txt,
    div[id="Mobile-CODING CAMPS"] .pro-txt {
        font-size: 19px;
    }

    .pro-card h4 {
        font-size: 14px;
    }

    .banner-content {
        padding-right: 15px;
        padding-left: 15px !important;
    }

    .img-mob {
        width: 60px;
        height: 60px;
        margin-top: -24px;
    }

    .testimonial-outer-wrapper h2 {
        font-size: 25px;
        margin-top: -30px;
    }

    .workshop-description {
        font-size: 16px;
    }

    div#Mobile-PRO .pro-txt.t1 {
        font-size: 14px;
    }
}

@media only screen and (min-width: 390px) and (max-width: 410px) {
    .discover-slider-box {
        width: 146px;
    }

    .inspiring-block {
        margin-top: -200px;
    }
}

/* ===========================
   FULLSCREEN VIDEO
   The video wrapper carries fixed heights (h-[550px] / md:h-[450px] /
   lg:h-[700px]) and the <video> carries max-[767px]:h-[550px]. Author
   declarations beat the UA's `:fullscreen { height:100% }`, so in fullscreen
   the wrapper stayed 550px tall inside a taller viewport and its bg-black
   showed as a band below the picture. Force both to fill the screen.
   The doubled class is a specificity bump so this beats the h-[...] utility
   without needing !important.
   =========================== */
.video-is-fullscreen.video-is-fullscreen {
    width: 100%;
    height: 100%;
    max-height: none;
}

.video-is-fullscreen video {
    width: 100%;
    height: 100%;
    max-height: none;
    object-fit: cover;
}

/* The dim overlay exists to keep the homepage headline legible over the
   video. In fullscreen there is no headline, so it only greys the picture. */
.video-is-fullscreen::before {
    display: none;
}

/* The control bar keeps Tailwind's `top-4`, and when both top and bottom are
   set on an auto-height absolute box the bottom offset is ignored — so the
   existing `.video-is-fullscreen .v-controls { bottom: 40px }` never applied
   and the controls stayed pinned to the top. Clearing top lets it take effect. */
.video-is-fullscreen .v-controls {
    top: auto;
    bottom: 40px;
    right: 40px;
}

/* ===========================
   PROGRAM CARD - TABLET LANDSCAPE GUTTER
   The program card's centre column is `lg:px-0`, so it has no left padding of
   its own and begins exactly at .ribbon-container's edge. Between 1031px and
   1280px the ribbon inside is 150px wide and absolutely placed at left:24px,
   so it ends at 174px against a 180px column — a 6px gap, and the heading and
   body text sit almost flush against the ribbon. This is the band iPad
   landscape (1180px) falls in.

   Below 1031px a later rule narrows .ribbon_bg to 134px with a -10px margin,
   so the gap is already fine there; above 1280px Tailwind's xl values give
   ~25px. Only this band needs correcting, hence the 1031px floor.
   =========================== */
@media only screen and (min-width: 1031px) and (max-width: 1280px) {
    .ribbon-container {
        width: 200px;
    }
    .content-top {
    margin-top: 24px;
}
}
@media only screen and (min-width: 1024px) and (max-width: 1534px) {
.young-content-wrapper {
    min-height: 740px;
}
}
@media only screen and (min-width: 1024px) and (max-width: 1279px) {
div[aria-label="Why Young Engineers features"] {
    font-size: 13px!important;
}
}
@media only screen and (min-width: 1140px) and (max-width: 1279px) {
.discover-card-left {
    width: 40%;
}
.discover-navigaton {
    bottom: 30px;
}
.video-thumbnail-wrapper {
  transform: translate(-1%, 0);
}
img[alt="Teacher desktop"] {
    right: -50px;
    width: 450px;
    right: -30px;
    height: 550px;
}
}
@media only screen and (min-width: 980px) and (max-width: 1023px) {
div[aria-label="Why Young Engineers features"] {
    font-size: 14px!important;
}
.our-approch {
    min-height: 860px;
}
}
/* ===========================
   PROGRAM / WORKSHOP DETAIL BANNER - TABLET OVERLAP
   The ribbon card is absolutely positioned inside a spacer column that is only
   120px wide (the intended `md:w-[145px]` is misspelt `md:wsNa-[145px]` in both
   detail pages, so it generates nothing). Every breakpoint therefore has to
   push .banner-content right by hand to clear it.

   Between 1100px and 1279px that compensation was missing: the block above
   grows .inner-ribbon to 200px while `@media (max-width:1366px)` forces
   padding-left to 0, so the ribbon ended 80px INSIDE the text column and drew
   over it — "BIG BUILDERS" rendered as "BUILDERS", the CTA as "GN UP FOR A
   TRIAL LESSON". The ribbon ends at 220px from the row edge and the column
   starts at 140px, so 80px of the padding is spent just clearing it; 130px
   leaves a 50px gap, which lines up with the 45.6px the 1290-1366px band
   above it already has rather than the cramped 20px a bare clearance gives.

   Stops at 1279px on purpose: from 1280px the spacer jumps to xl:w-[220px] and
   already clears the ribbon on its own, so extending this would over-indent.
   Appended at the end of the file so it outranks the max-width:1366px rule,
   which is also !important.
   =========================== */
@media only screen and (min-width: 1100px) and (max-width: 1279px) {
.inner-ribbon {
    object-fit: contain;
    width: 179px;
    height: 391px;
    margin-top: 3px;
}
.banner-content {
    padding-left: 100px !important;
}
    /* Text inside the ribbon card sat flush against its left edge here. The two
   detail blocks only carry Tailwind's `md:px-3` (12px) at this width — the
   `xl:px-7` (28px) needs 1280px, and the two existing `.pro-created,.pro-data`
   rules stop at max-width 830px and 1025px, so nothing covers 1100-1279.
   28px is exactly what xl:px-7 gives, so the ribbon reads the same as it does
   on desktop. The ribbon is 200px wide in this band vs 174.4px at xl, so the
   text still has more room here than on desktop and nothing re-wraps. */
    .pro-created,
    .pro-data {
        padding-left: 28px;
        padding-right: 28px;
    }

    /* Testimonial arrows are flex siblings of the slider, not overlays — but the
   track carries `lg:-mx-16` (-64px) and `lg:-mr-20` (-80px), which drag it
   back underneath them. `max-[1200px]:!ml-[-7px]` already tames the left side,
   so the left arrow sits clear while the right one gets covered by 80px of
   card. Matching both margins to that same -7px makes the two sides
   symmetric, so neither arrow lands on a testimonial. */
    .testimonial-track {
        margin-left: -7px;
        margin-right: -7px;
    }
}

/* ===========================
   WORKSHOP DETAIL BANNER - TABLET OVERLAP
   Same defect as the program banner, different class. `@media (min-width:1180px)
   and (max-width:1280px)` forces .work-inner-content to `padding-left: 0
   !important`, overriding the 40px the 940-1279px rule gives it — while the
   ribbon is 140px wide over a 120px spacer column (`md:w-[145px]` is misspelt
   `md:wsNa-[145px]` here too). That leaves the ribbon 20px inside the text, so
   "BUILD UP", the subtitle and the BOOK BUILD UP! button were all cut off.

   45px restores a 25px gap, matching the 25.6px the 1280px step already has so
   there is no jump at the breakpoint. Stops at 1279px: from 1280px the spacer
   becomes xl:w-[200px] and clears the ribbon on its own.

   Only padding-left is touched — the ribbon's own text is already wrapping at
   this width ("Created For / Children"), so unlike the program card this one
   must not get extra internal padding.
   =========================== */
@media only screen and (min-width: 1180px) and (max-width: 1279px) {
    .work-inner-content {
        padding-left: 45px !important;
    }
}

/* ===========================
   STICKY FOOTER (opt-in via .page-fill on <main>)
   Navbar and the page's <main> are siblings inside <body>, and nothing makes
   the document fill the viewport. On a short page — e.g. class-registration
   when Stripe is not configured and the form is replaced by a one-line notice —
   the footer stopped ~370px down a ~790px viewport and left blank white below.

   Scoping the flex container to `body:has(main.page-fill)` means only pages
   that opt in are affected, and because BODY is the flex container the navbar's
   height is subtracted automatically — no calc() against a hardcoded nav
   height that would drift per breakpoint.
   =========================== */
body:has(main.page-fill) {
    display: flex;
    flex-direction: column;
    min-height: 100svh;
}

body:has(main.page-fill) main.page-fill {
    display: flex;
    flex: 1 0 auto;
    flex-direction: column;
}

/* The section that absorbs the slack; the footer after it keeps its own size.
   Centring matters as much as stretching: pinning the footer down without it
   left the short "payment not configured" notice clinging to the top with a
   tall void underneath. Centred, the leftover space sits above and below the
   message and reads as deliberate whitespace.

   `flex: 1 0 auto` (grow, never shrink) means the section can't end up smaller
   than its content, so when the real Stripe form renders and overflows, the
   centring is a no-op and nothing is clipped. */
body:has(main.page-fill) main.page-fill > .page-fill-grow {
    display: flex;
    flex: 1 0 auto;
    flex-direction: column;
    justify-content: center;
}

/* ===========================
   TESTIMONIAL QUOTE SCROLLBAR
   The quote's scroll indicator is drawn by ScrollableQuote in
   TestimonialSlider.tsx as a real element, because the NATIVE bar cannot be
   made persistent: iOS Safari and Chrome's device emulation both use overlay
   scrollbars that only appear mid-gesture and ignore ::-webkit-scrollbar
   sizing. Hide the native bar at every width so the custom one is the single
   indicator and mobile, tablet and desktop all look the same.
   =========================== */
.testimonial-scrollbar {
    scrollbar-width: none;
    -ms-overflow-style: none;
}

.testimonial-scrollbar::-webkit-scrollbar {
    width: 0;
    height: 0;
    display: none;
}



/* ===========================
   NAV DROPDOWN EASING
   Used by the Programs / Workshops dropdown in Navbar.tsx. Defined here rather
   than as `ease-[cubic-bezier(...)]` because Tailwind was not emitting a rule
   for that arbitrary value — the class landed in the HTML with no CSS behind
   it, so the panel fell back to the browser default ease and looked abrupt.
   This curve decelerates hard at the end, which is what makes the open read as
   "settling" rather than just sliding.
   =========================== */
.nav-ease {
    transition-timing-function: cubic-bezier(0.16, 1, 0.3, 1);
}








/* ===========================
   MOBILE NAV SUBMENU ACCORDION
   Used by the Programs / Workshops submenus in the mobile menu.

   `grid-template-rows: 0fr -> 1fr` animates to the list's ACTUAL height. The
   previous approach transitioned max-height between 0 and 24rem, but the list
   is only ~230px: opening therefore reached full height in ~60% of the duration
   and then sat still, while closing spent its first ~40% collapsing empty space
   before anything appeared to move. That dead time is what made it feel jerky.
   It also clipped the list outright once a franchisee had enough programs to
   exceed 384px.

   Written as a plain class rather than `grid-rows-[0fr]` because Tailwind was
   not emitting a rule for that arbitrary value — the class reached the HTML
   with no CSS behind it, so nothing animated at all.
   =========================== */
.nav-accordion {
    display: grid;
    grid-template-rows: 0fr;
    opacity: 0;
    transition:
        grid-template-rows 300ms cubic-bezier(0.16, 1, 0.3, 1),
        opacity 300ms cubic-bezier(0.16, 1, 0.3, 1);
}

.nav-accordion.is-open {
    grid-template-rows: 1fr;
    opacity: 1;
}

/* The 0fr row only collapses if the child hides its own overflow. */
.nav-accordion > * {
    overflow: hidden;
}

/* ===========================
   DESKTOP NAV DROPDOWN (Programs / Workshops card)
   Written as plain CSS because Tailwind in this project does not emit its
   arbitrary utilities — duration-[300ms], scale-[0.97], ease-[cubic-bezier(..)]
   and transition-[a,b,c] all reached the markup with no rule behind them, so
   transition-duration resolved to 0s and the card snapped open and shut.
   Only the stock steps (duration-150/200/300) exist.

   `visibility` is transitioned on purpose: per spec it holds the element
   visible for the whole fade-out and only then hides it, which also keeps the
   links out of the tab order while the card is closed.

   Open is slower than close (300ms vs 150ms) — a menu that lingers on the way
   out feels unresponsive.
   =========================== */
.nav-dropdown {
    transform-origin: top;
    opacity: 0;
    visibility: hidden;
    transform: translateY(-8px) scale(0.97);
    pointer-events: none;
    will-change: opacity, transform;
    transition:
        opacity 150ms cubic-bezier(0.16, 1, 0.3, 1),
        transform 150ms cubic-bezier(0.16, 1, 0.3, 1),
        visibility 150ms;
}

.nav-dropdown.is-open {
    opacity: 1;
    visibility: visible;
    transform: translateY(0) scale(1);
    pointer-events: auto;
    transition-duration: 300ms;
}

/* Each entry fades up behind the panel; the per-item delay is set inline. */
.nav-dropdown-item {
    opacity: 0;
    transform: translateY(-4px);
    transition:
        opacity 320ms cubic-bezier(0.16, 1, 0.3, 1),
        transform 320ms cubic-bezier(0.16, 1, 0.3, 1);
}

.nav-dropdown.is-open .nav-dropdown-item {
    opacity: 1;
    transform: translateY(0);
}


/* ===========================
   CLASS REGISTRATION - POLICY ROW ALIGNMENT
   The "I agree with the Privacy Policy and Terms of Use" row normally sits
   left-aligned so its checkbox shares a left edge with "Save my card details"
   in StripePaymentFields.

   When payer_id is "2" the whole coupon + payment block is hidden, so there is
   no second checkbox to line up with and the row was left stranded against the
   edge below a centred button. Centring it from md up makes it read as part of
   the button group.

   Mobile keeps the left edge: the label wraps to two lines there and centring
   would leave it ragged.

   Written as a plain class rather than `md:justify-center` because Tailwind in
   this project has repeatedly failed to emit utilities that are not already
   used elsewhere, leaving the class in the markup with no rule behind it.
   =========================== */
@media (min-width: 768px) {
    .policy-row-centered {
        justify-content: center;
    }
}


/* ===========================
   PAYMENT METHOD RADIOS
   The radios had no accent-color, so they rendered in the browser/OS default
   (green on the reporter's machine) instead of the brand blue. accent-color
   restyles the native control without replacing it, so keyboard focus,
   :checked semantics and screen-reader behaviour are all preserved.
   Scoped to .payment-box, which already wraps every payment radio.
   =========================== */
.payment-box input[type="radio"] {
    accent-color: #0097DC;
}

/* =========================================
   PROGRAM FOOTER SLIDER
   ========================================= */
button:focus-visible,
a:focus-visible{
    outline:none !important;
}

@keyframes programSliderFade {
from { opacity: 0;}
to {opacity: 1;}
}
@keyframes programSliderImageZoom {
from {opacity: 0.7;transform: scale(0.9);}
to {opacity: 1;transform: scale(1);}
}

/* Main slide fade */
.program-slider-animation {
  animation: programSliderFade 0.9s ease-in-out;
}
/* Main robot/image zoom */
.program-slider-animation .program-main-image {
  animation: programSliderImageZoom 0.7s
    cubic-bezier(0.22, 1, 0.36, 1);
}

/* Accessibility */
@media (prefers-reduced-motion: reduce) {
  .program-slider-animation,
  .program-slider-animation .program-main-image {
    animation: none;
  }
}

