/* ===========================
   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;
    }

/* Must stay `auto` on the viewport element. `none` (and `contain`) here kills
   Chrome Android's pull-to-refresh gesture, so on a phone there was no way to
   reload the page by pulling down. If an inner scroller (a modal body, a
   horizontal slider) chains its overscroll to the page, put
   `overscroll-behavior: contain` on THAT container — never on html/body. */
html,
body {
    overscroll-behavior-y: auto;
}

    * {
        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;
}
.class-registration-box {
  animation: none;
  transition: none;
}

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

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

    .tab-btn:before {
        left: -12px;
    }
    .slide-description-txt {
        min-width: 400px;
        padding-left: 0px;
    }
.range-t {
    font-size: 30px;
    line-height: 32px;
}
.rangr-a {
    font-size: 30px;
}
article#workshop-Pro .range-t {
    font-size: 16px;
}
article[id="workshop-Mechanics Camps"] .time,
article[id="workshop-Coding Camps"] .time{
    display: block;
}
}


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

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

@media (max-width: 767px) {
.work-btn {
    width: 100%;
    justify-content: center;
}
.mob-ribbon {
    margin-left: 12px;
    width: 90%;
}
    .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: 144px !important;
    }

    /* Every language except English: a fixed 144px min-width replaces the
       browser's own "never narrower than the longest word" floor, so long
       words spill out of the tab - "ACCOMPAGNEMENT" (fr) by 20px,
       "ACOMPAÑAMIENTO" (es) by 18px. Keep 144px as the width but let a tab
       grow to its longest word. Scoped away from English because
       "Collaborative" is already 2px into its padding and this would widen
       that tab; :lang() reads the server-set <html lang>, so it is right from
       the first paint and covers any language added later. */
    html:not(:lang(en)) button.tab-btns {
        flex: 0 0 144px;
        min-width: min-content !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) {
.work-highlight-box[id="image-Golden Age"] {
    width: 1100px;
    height: 1000px;
    margin-top: 100px;
}

section[id="wrapper-Mechanics Camps"] .accordion-bg,
section[id="wrapper-Coding Camps"] .accordion-bg {
    margin-top: -50px;
}
.work-highlight-box[id="image-Mechanics Camps"] {
    width: 800px;
    height: 900px;
}
.work-highlight-box[id="image-Coding Camps"] {
    width: 800px;
    height: 900px;
    margin-top: 100px;
}
.discover-gall img[alt="Pro"] {
    transform: scale(1.3);
}
.work-highlight-box[id="image-Pro"] {
    height: 740px;
    margin-top: 60px;
}
    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: 22px;
        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) {
.form-banner-wrapper {
    min-height: 290px;
}
    .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;
    }
    .i-box:last-child {
        width: 160px;
    }
}
@media (max-width: 840px) {
.i-box {
    width: 99px;
}
.i-heading {
    font-size: 17px;
}
}
@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: none;
}
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="Mechanics Camps"] {
    transform: scale(1.05);
}
.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) {
.inspire-thumbnail {
    width: 79px;
}
.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: 1025px) and (max-width:1190px) {
.client-c1 .videos-container video {
    height: 680px !important;
}
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
.client-c1 img[alt="Additional Activities tablet background"] {
    object-position: 63% 54%;
}
.filters-wrapper {
    padding-top: 0;
    padding-bottom: 0;
}
img.program-toy[alt="Smartivo"] {
    bottom: -8px;
}
.accordion-workshop[id="wrapper-Pro"] {
    margin-top: -150px !important;
}
 .accordion-workshop[id="wrapper-Pro"] .head-wrapper-top {
    padding-top: 0;
}
.accordion-workshop[id="wrapper-Birthday Parties"],
.accordion-workshop[id="wrapper-Buildup"] {
    margin-top: -150px;
}
.slider-activity h3 {
        font-size: 34px;
    }
    img.absolute.program-toy {
        width: 146px !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) {
.tab-arrow-mob {
    display: flex;
    justify-content: flex-start;
    position: relative;
    gap: 16px;
    width: 100%;
    left: 0;
    margin-top: -31px;
    margin-bottom: 10px;
}

   /* .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;
}
/*
.swiper-wrapper .swiper-slide-visible.swiper-slide-fully-visible .slider-card {
    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 */
}
.description-content {
    min-height: 120px;
}
@media (max-width: 1600px) {
    .img-icons {
        width: 120px;
        height: 60px;
    }
}
@media (min-width: 1400px) {
.workshop-detail.workshop-Golden.Age .bg-work {
    width: 102%;
}
.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: 16px;
    top: -16px;
}
.discover-carousel .swiper {
    border-radius: 20px;
    padding-top: 0px;
}
.discover-carousel .swiper-wrapper {
    margin-top: -0px;
}
}
@media only screen and (min-width: 1280px) and (max-width: 1294px) {
.slider-activity h3 {
    font-size: 32px;
}
}
@media only screen and (min-width: 1280px) and (max-width: 1530px) {
.teacher-block {
    min-height: 1020px;
}
}

@media only screen and (min-width: 1280px) and (max-width: 1400px) {
.workshop-text-box {
    min-height: 110px;
}
.join-free-class-section {
    min-height: 980px !important;
}
.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: 0px;
    top: -11px;
}
.discover-carousel .swiper {
    border-radius: 30px;
    padding-top: 0px;
}
.discover-carousel .swiper-wrapper {
    padding-top: 0;
}
}
@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;
}
.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: 0px;
	border-radius: 20px;
}
.photos-carousel-swiper {
    border-radius: 22px;
}
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="Buildup"] {
    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;
}
main.workshop-detail.workshop-Pro .txt-pro {
    font-size: 17px;
}

.slider-inner {
    width: 100%;
    height: 100%;
}
.marquee-swiper .swiper-slide {
    padding-bottom: 12px;
}
main#program-BRICKS_CHALLENGE .highlights {
    height: 900px;
    margin-top: 210px;
    margin-left: 250px;
}
main#program-ALGO_BUDDY .highlights {
    height:900px;
    margin-left:20px;
    margin-top: 260px;
}
main#program-BIG_BUILDERS .highlights {
    height:1000px;
    margin-top: 200px;
}
main#program-ALGOPLAY .highlights {
     height: 900px;
     margin-top: 210px;
     margin-left: 150px;
}
main#program-ROBO_TOYS .highlights {
    height: 800px;
    margin-top: 120px;
    margin-left: 170px;
}
main#program-ALGOC .highlights {
    height: 840px;
    margin-top: 120px;
    margin-left: 170px;
}

.workshop-article span.time {
    display: block;
}

@media (max-width: 1280px) {
main#program-BRICKS_CHALLENGE .highlights {
    margin-left: 300px;
}
main#program-ALGO_BUDDY .highlights {
    margin-left: 0px;
}
main#program-ALGOPLAY .highlights {
     height: 800px;
    margin-left: 180px;
}
main#program-ROBO_TOYS .highlights {
    height: 700px;
    margin-top: 180px;
}
}
@media (max-width: 1100px) {
main#program-BRICKS_CHALLENGE .highlights {
    height: 600px;
    margin-left: 200px;
}
main#program-ALGOPLAY .highlights {
    height: 750px;
    margin-left: 100px;
}
}
@media (max-width: 1024px) {
main#program-BRICKS_CHALLENGE .highlights {
    height: 600px;
    margin-top: 60px;
}
main#program-ALGOPLAY .highlights {
    height: 670px;
    margin-left: 120px !important;
}
}
@media (max-width: 840px) {
main#program-ALGOPLAY .highlights {
    height: 600px;
    margin-left: 100px !important;
}
}
@media only screen and (min-width: 1364px) and (max-width: 1540px) {
section.accordion-workshop[id="wrapper-Golden Age"] {
    margin-top: -200px;
}
section.accordion-workshop[id="wrapper-Buildup"] {
    margin-top: -190px;
}
}

@media (max-width: 767px) {
    .pro-grid-inner img[alt="Recognition"] {
      width: 40px;
      height: 40px;
    }
    .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: -40px;
    }
}

@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;
}
div#AI-BRICKS_CHALLENGE .btn-AI {
    width: 70%;
}
.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 {
        min-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: 0px;
    }
}

@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: calc(100% + 35px);
        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, .workshop-ribbon-logo 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;
   min-height: 300px;
}
}

@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: 290px;
    }

    .inner-ribbon {
        width: 156px;
        height: calc(100% + 80px);
    }
}

@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: 1023px) {
 main#program-SMARTIVO .main-slider-pro img {
    transform: scale(1.3);
}
}
@media only screen and (min-width:767px) and (max-width: 1024px) {

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: none;
}
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: calc(100% + 80px);
    }
}



@media (max-width: 900px) {
.ribbon-gradient {
    width: 98%;
}
    .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;
        margin-top: 0;
    }

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

    .inner-ribbon {
        width: 142px;
        height: calc(100% + 66px);
    }

    .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: -80px;
}
.objective-text {
    margin-top: 80px;
}
.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) {
.thank-you-subheading {
    font-size: 15px;
}    
div[id="Mobile-Pro"] .pro-txt.t1 {
    font-size: 14px;
}
    .pro-grid {
        column-gap: 0;
        margin-top: 10px;
    }

    .pro-grid-inner img,
    .pro-grid-inner img[alt="Recognition"] {
        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: auto;
    }
}

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

@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;
        border-radius: 32px;
    }

    .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) {
.workshop-Build.Up .work-objectives h2 strong {
    display: block;
}
button.work-btn {
    margin-top: 10px;
}

.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);
         margin-top: 5px;
    }
    .workshop-ribbon-logo img {
        transform: scale(1.5);
         margin-top: 2px;
    }
    
     .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;
        margin-left: -270px;
         margin-top: 100px;
    }
    .work-highlight-box[id="image-Birthday Parties"] {
         margin-left: -380px;
    }
    .work-highlight-box[id="image-Golden Age"] {
        margin-left: -300px;
    }
    .discover-gall img[alt="Pro"] {
       transform:scale(1.7);
       margin-left: 0px;
    }
    .discover-gall img {
       transform: scale(1.2);
       margin-left: -30px;
    }
    h4#heading-Build\ Up {
        font-size: 18px;
        line-height: 28px;
    }

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

    .discover-gall img[alt="Buildup"] {
        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: 28px;
    }

    .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: -290px;
    }
    section#all-program {
    padding-bottom: 0;
}
}
@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:1031px) and (max-width: 1279px) {
.discover-gall img[alt="Golden Age"] {
    width: 520px !important;
    margin-left: 50px !important;
}
.work-highlight-box {
    height: 900px;
    width: 800px;
    margin-left: -300px;
    margin-top: 50px;
}
.head-wrapper-top {
    padding-top: 0;
}
}
@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) {
section[id="wrapper-Mechanics Camps"] .accordion-bg,
section[id="wrapper-Coding Camps"] .accordion-bg  {
    margin-top: -56px;
}
.work-highlight-box {
    width: 730px;
}
div[aria-label="Why Young Engineers features"] {
    font-size: 14px !important;
}
.young-content-wrapper {
    min-height: 540px;
    padding-top: 20px;
}
.footer-wrapper img[alt="Young Engineers Logo"] {
    width: 200px;
}
.quick-links {
    margin-left: -37px;
}
    .gain-box {
        margin-top: 0;
    }

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

    .approch-img {
        width: 460px;
    }
}

@media only screen and (min-width: 870px) and (max-width: 998px) {
.about-slider .swiper-thumbs .swiper-slide {
   width: 98px !important;
}
}
@media only screen and (min-width: 998px) and (max-width: 1024px) {
.about-slider {
    flex-direction: column;
    margin-top: 40px;
}
.about-slider .swiper-wrapper {
    display: flex;
    flex-direction: row!important;
    gap: 6px;
}
.about-slider .swiper-thumbs {
    width: 100%;
    height: 120px;
}
.about-slider .swiper {
    height: 400px;
}
.about-slider .swiper-thumbs .swiper-slide {
    width: 103px;
}
.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) {
.programs-page-wrapper div#registration-form {
    margin-top: -210px;
}
.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;
    }
.slider-inner img {
    transform: scale(1.1);
}
.about-main-swiper .swiper-wrapper {
   gap: 0 !important;
}
.about-main-swiper .swiper-slide {
    overflow: hidden;
}
}
@media only screen and (min-width: 767px) and (max-width: 830px) {
div#AI-BRICKS_CHALLENGE .img-container img {
    object-fit: contain !important;
}
div#AI-BRICKS_CHALLENGE .img-container {
    right: 24px!Important;
}
}
@media only screen and (min-width: 765px) and (max-width: 769px) {
div#AI-BRICKS_CHALLENGE .text-left {
    padding-left: 10px;
}
div#AI-BRICKS_CHALLENGE .btn-AI {
    width: 55%!important;
    margin-left: 10px;
}
}
@media only screen and (min-width: 767px) and (max-width: 800px) {
.programs-page-wrapper div#registration-form {
    margin-top: -250px;
}
    .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) {
img.about-highlight-img[alt="Card shuffler"] {
    transform: scale(1.6);
}
img.about-highlight-img[alt="Accordion Robot"],
img.about-highlight-img[alt="Bird's Migration"], 
img.about-highlight-img[alt="Zombie"] {
    transform: scale(1.5);
}
.lo-img img {
    transform: scale(1.2);
    margin-top: 10px;
}
.workshop-ribbon-logo img {
    transform: scale(1.2);
    margin-top: 7px;
}
    .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;
    }

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

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

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

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

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

.work-highlight-box img[alt="Buildup"] {
    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="Buildup"] {
    object-fit: contain;
    object-position: center;
    width: 834px !important;
    height: 650px !important;
    transform: scale(1.3);
}

    .object-img img[alt="Buildup"] {
        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: 0px;
    }

    .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;
}
article[id="workshop-Coding Camps"] .desk-duration,
article[id="workshop-Mechanics Camps"] .desk-duration {
    flex-direction: column;
    align-items: flex-start;
    gap: 0;
}


@media (max-width: 767px) {
.icon-program-mob img[alt="Bricks Challenge"], 
.icon-program-mob img[alt="AlgoPlay"] {
    width: 80px!important;
}
article[id="workshop-Coding Camps"] .mob-duration,
article[id="workshop-Mechanics Camps"] .mob-duration {
    flex-direction: column;
    align-items: flex-start;
    gap: 4px;
}

/* Every language except English. The two rules above stack "4 hours per day"
   under the number, but they match the English title in the article id
   ("workshop-Coding Camps"), and translated cards carry a translated title, so
   in French "4 heures par jour" was squeezed beside the number and pushed the
   age column narrow enough to break "6-12" in two. Letting the row wrap puts
   the extra text below only when it doesn't fit, so short units ("min",
   "séances") stay beside the number exactly as in English. */
html:not(:lang(en)) .mob-duration {
    flex-wrap: wrap;
    row-gap: 4px;
}
.about-mission-icon {
    grid-template-columns: 1fr;
}
.pro-objectives {
    background: url("https://yefranchisees.b-cdn.net/frontend/Program-detail/path%20(2).png");
    background-size: cover;
    margin-top: -87px;
    padding-top: 85px;
}
.work-objectives {
    background: url("https://yefranchisees.b-cdn.net/frontend/Program-detail/Program-Objectives-bg-1.png") 0 0 / cover;
    margin-top: -85px;
    padding-top: 85px;
}
.mob-ribbon img[alt="Pro"] {
    transform: scale(1.5);
    padding-top: 7px;
}
.we-wre-section .swiper-watch-progress.swiper-backface-hidden.swiper-thumbs {
    display: none;
}
.we-wre-section .slider-inner {
    width: 83%;
    margin: 0 auto;
    border-radius: 20px;
    overflow: hidden;
    height: 210px;
}
.we-wre-section .slider-inner img {
    object-fit: cover;
    height: 210px;
    width: 100%;
}
.carousel-wrapper {
    padding-top: 0;
    margin-top: 0;
}

div[id="Mobile-Pro"] .pro-txt.t1 {
    font-size: 16px;
}
.discover-gall img[alt="Pro"] {
    object-fit: contain;
    transform: scale(1.5);
}
.work-inner-image img[alt="Pro"] {
    object-position: 50% 0%;
}
    .form-grid, .from-grid-2, .payment-grid {
        gap: 10px;
    }
.discription-program {
    margin-top: 0;
}
.discover-carousel .swiper::before {
        height: 94% !important;
    }    
.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: 10px;
    margin-top: 0;
}
.young-content-wrapper p {
    min-height: 230px;
}
.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;
}
.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  span {
      position: relative;
      padding-left: 34px;
    }

    .programe-all-block .all-program-btn  span:before  {
        position: absolute;
        top: 0px;
        left: 0;
        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="Buildup"] {
        object-fit: cover;
        width: 100%;
        height: 400px !important;
        object-position: 90% 50%;
    }

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

    .workshop-highlight-mob img[alt="Buildup"] {
        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="Buildup"] {
        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: none !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="Buildup"] {
    object-fit: contain;
    transform: scale(1.4);
}

.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-Buildup"] .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;
    width: 96%;
}

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

div[id="ribbon-Buildup"] .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;
}
.activity-slide img[alt="Pro"] {
    object-position: top;
}

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

}
@media only screen and (min-width:420px) and (max-width: 480px) {
.Descover-container {
    padding-top: 80px;
}
.dis-bg-img {
    margin-top: 10px;
}
.filters-wrapper {
    padding-top: 0;
}
}
@media (min-width:420px) and (max-width: 600px) {
.gain-box {
    min-height: 810px;
}
}
@media (min-width:380px) and (max-width: 420px) {
.gain-box {
    min-height: 840px;
}
}
@media (min-width:380px) and (max-width: 400px) {
section#program-all {
    min-height: 990px;
}
}
@media only screen and (min-width: 525px) and (max-width: 767px) {
.logo-wrap-mobile {
    width: 140px;
    height: 140px;
}
}

@media only screen and (min-width: 400px) and (max-width: 480px) {
.mob-ribbon {
    grid-column: span 4/ span 4;
}
}
@media only screen and (min-width: 350px) and (max-width: 370px) {
article#Algobuddy h3.mob-subtitle {
    font-size: 31px;
    width: 100%;
}
}
@media only screen and (min-width: 330px) and (max-width: 350px) {
article#Algobuddy h3.mob-subtitle {
    font-size: 28px;
}
}
@media (max-width: 400px) {
.pro-heading-mob {
    padding-left: 0;
}
.pro-heading-mob h3 {
    font-size: 32px;
}

    /* 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-img-bx img[alt="Bricks Challenge"], .pro-img-bx img[alt="AlgoPlay"] {
    width: 68px !important;
}
.discover-slider-box {
    width: 100%;
    height: 170px !important;
}
.pro-heading-mob {
    padding-left: 8px;
}
.discover-carousel .swiper:before {
    right: -8px;
}
.icon-program-mob {
    width: 120px;
}
.icon-program-mob .pro-img-bx {
    width: 75px;
}
.icon-program-mob:first-child .pro-img-bx {
    width: 77px !important;
}
.pro-img-bx img[alt="Algobuddy"] {
    transform: scale(1.02);
}
.icon-program-mob:nth-child(2) .pro-img-bx {
    margin-top: 3px;
    width: 76px !important;
}
    .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) {
.description-content {
    font-size: 19px;
}
main#program-ALGO_BUDDY .pro-heading-mob h3 {
    font-size: 30px;
}
    /* 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 only screen and (min-width: 380px) and (max-width:390px) {
.pro-heading-mob h3 {
    font-size: 30px;
}
}
@media (max-width:330px) {
main#program-ALGO_BUDDY .pro-heading-mob h3 {
    font-size: 29px;
}
    .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: 0px;
}
main.workshop-detail.workshop-Birthday.Parties .discover-box p {
    color: #58585a !important;
}
@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 only screen and (min-width: 900px) and (max-width: 1030px) {
.content-div {
    margin-top: 40px;
}
.workshop-banner {
    min-height: 620px !important;
}
.program-banner {
    min-height: 650px;
}
}   
@media only screen and (min-width:850px) and (max-width: 900px) {
section#wrapper-Pro {
    margin-top: -155px !important;
}
}
@media (max-width: 1030px) {

.discover-gall img[alt="Mechanics Camps"] {
    transform: scale(1.3);	
	 margin-left: -34px;
}
div[id="ribbon-GOLDEN AGE"] .bg-work {
    width: 98%;
}
.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: 0px;
    }
   .description-content {
      min-height: 110px;
    }
    .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;
    }
    .highlights img[alt="Robo Toys"] {
       margin-left: 100px;
       margin-top: 0px;
    }
    .highlights img[alt="Algoc"] {
       margin-left: 100px;
       margin-top: 0px;
   }
    div#AI-BRICKS_CHALLENG .right-container-wrapper {
        width: 426px;
    }
  .work-form {
    gap: 0;
}
main.programs-detail .carousel-wrapper {
    margin-top: 20px;
}

    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: 800px) and (max-width: 1000px) {
.join-free-class-section img[alt="Join Free Class background (tablet)"] {
    margin-top: -150px;
}
}

@media only screen and (min-width: 998px) and (max-width: 1100px) {
.join-box {
    padding-top: 100px;
}
}
@media only screen and (min-width: 767px) and (max-width: 800px) {
.description-content {
    min-height: 120px;
}
.content-div {
    margin-top: 20px;
}
.a-sliders {
    margin-top: 20px !important;
}
.join-free-class-section img[alt="Join Free Class background (tablet)"] {
    margin-top: -120px !important;
    height: 820px !important;
  }
}
@media only screen and (min-width: 767px) and (max-width: 784px) {
.ribbon-gradient {
    width: 92%;
}
}
@media only screen and (min-width: 767px) and (max-width: 998px) {
.a-sliders {
    margin-top: 30px!important;
}
.highlights img[alt="Algobuddy"] {
    margin-left: -40px;
}
.accordion-workshop[id="wrapper-Golden Age"] {
    margin-top: -160px !important;
}
.imgss {
    width: 100%;
}
.work-highlight-box[id="image-Buildup"] {
    top: 0%;
    right: 95px;
}
.accordion-workshop[id="wrapper-Buildup"]  .head-wrapper-top {
    padding-top: 60px;
}
.work-highlight-box[id="image-Birthday Parties"] {
    margin-top: 0;
}
.accordion-workshop[id="wrapper-Birthday Parties"] .head-wrapper-top {
    padding-top: 60px;
}
.accordion-workshop[id="wrapper-Pro"] .head-wrapper-top {
    padding-top: 120px;
}
.work-highlight-box[id="image-Pro"] {
    width: 500px !important;
    margin-top: 110px;
    margin-left: 0!important;
    position: absolute;
    right: -30px!important;
}
.corousel-image-left img[alt="Learning Powered by Generative AI"] {
    transform: scale(1.26);
    margin-left: 20px;
    z-index: -1;
}
.corousel-image-left img {
    transform: scale(1.1);
    margin-left: 7px;
}
img[alt="Programs Around You background (tablet)"] {
    margin-top: -27px;
}
.about-slider .swiper-wrapper {
    display: flex;
    flex-direction: row!important;
    gap: 6px;
}
.about-slider .swiper-slide {
    width: 88px;
}
.about-slider .swiper-slide-thumb-active:before {
    height: 70px;
}
.we-wre-section {
    padding-top: 70px;
}
.about-slider .slider.image-right {
    margin-top: 0px !important;
}
.program-block img[alt="Robot"] {
    margin-right: 60px;
}
.join-free-class-section img[alt="Join Free Class background (tablet)"] {
    margin-top: -100px;
}
.join-free-class-section {
    margin-top: -590px;
    padding-bottom: 0;
    padding-top: 0;
    height: 640px;
}
.join-slider {
    margin-top: 70px;
}
.discover-carousel .swiper:before {
    height: 91%;
    top: 0;
    border-top-right-radius: 20px;
    right: 0;
    width: 50px;
}
.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: -12%;
      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: -90px;
       min-width: 200px;
    }

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

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

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

    .xlider {
        margin-top: 56px;
    }

    article .workshop-image {
        margin-top: 0px;
    }

    .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: 830px) and (max-width: 898px) {
h3.program_card_heading {
    font-size: 30px !important;
    line-height: 40px !important;
}
header nav.flex {
    gap: 20px !important;
}
.pro-created, .pro-data {
    padding: 0 12px !important;
}
}
@media only screen and (min-width: 768px) and (max-width: 830px) {
.a-sliders {
    margin-top: 20px !important;
}
.work-highlight-box[id="image-Golden Age"] {
    margin-left: -360px;
}
.work-highlight-box[id="image-Coding Camps"] {
    width: 690px;
}
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: 48%;
    }

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

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

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

    .gain-box {
        margin-top: 0;
    }
}

@media only screen and (min-width: 990px) and (max-width: 1023px) {
.workshop-content {
    min-height: 300px;
}
}
@media only screen and (min-width: 930px) and (max-width: 1023px) {
.inspire-thumbnail {
    width: 100px;
}
.young-mind-image {
    width: 100%;
}
}

@media only screen and (min-width:810px) and (max-width: 930px) {
section[id="wrapper-Pro"] .accordion-bg {
    margin-top: 20px;
}
}
@media only screen and (min-width: 830px) and (max-width: 930px) {
.young-mind-image {
    width: 100%;
}
.inspire-thumbnail {
    width: 90px;
}
}
@media only screen and (min-width: 1365px) and (max-width: 1420px) {
.banner-content {
    padding-left: 0;
    padding-right: 540px!important;
}
}

@media (max-width: 998px) {
.big-image {
    margin-top: 0!important;
}
.about-slider-arrow {
    margin-top: 20px;
}
    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;
         margin-top: -4px !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) {
.form-grid,
.from-grid-2, 
.payment-grid {
    gap: 10px;
}

    .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: 70px;
    }
}

@media (min-width:767px) and (max-width: 800px) {
.workshop-main article:last-child {
    margin-bottom: 30px;
}
.about-slider .swiper-slide {
    width: 83px;
}
section[id="wrapper-Golden Age"] .accordion-bg {
    margin-top: -28px;
}
.join-box h1 {
    margin-top: 0;
}
div#AI-CODING_CAMPS .img-container img {
    transform: scale(1.4);
} 
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);
}
.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: 770px;
    }
   .about-slider-arrow {
      margin-bottom: -16px;
    }
    .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 (min-width:500px) and (max-width: 600px) {
.inspire-young  img[alt="Curved background for mobile"] {
    margin-top: 22px;
}
.inspire-young {
    padding-top: 100px;
}
}
@media (min-width:395px) and (max-width: 480px) {
.inspire-young  img[alt="Curved background for mobile"] {
    margin-top: 22px;
}
.inspire-young {
    padding-top: 100px;
}
.inspire-young h3 {
    z-index: 99;
    position: relative;
}
.young-content-wrapper p {
    min-height: 190px;
}
.young-content-wrapper {
    margin-bottom: 20px;
}
}
@media screen and (orientation: landscape) and (max-width: 1023px) {
.model-wrapper {
    padding-top: 50px;
}
.btn-cls {
    font-size: 24px;
    top: 24px;
}
.photo-scroll-lightbox {
    width: 450px;
    height: 280px;
    margin: 0px auto;
}
.photo-scroll-lightbox img {
    width: 100%;
    height: 280px;
}
.photo-scroll-lightbox-close {
    top: 20px;
}
}
@media screen and (max-width: 767px) and (orientation: landscape) {

.photo-scroll-lightbox {
    width: 400px;
    height: 240px;
    margin: 0px auto;
}
.photo-scroll-lightbox img {
    width: 100%;
    height: 240px;
}
.btn-cls {
    top: 20px;
}
.model-wrapper {
    padding-top: 50px;
}
.photo-scroll-lightbox-close {
    font-size: 24px;
}
}

@media (max-width: 768px) {
  .h-bottom {
    text-wrap: balance;
  }
main#program-GALILEO_TECHNIC .h-bottom,
main#program-BRICKS_CHALLENGE .h-bottom {
    text-wrap: wrap;
    padding-right: 40px;
}
.program-around-logo-slider:before {
    position: absolute;
    top: 0;
    right: 0px;
    content: '';
    width: 35px;
    height: 100%;
    background: linear-gradient(256deg, #ffffff, transparent);
    z-index: 1;
}
.workdhop-logo-slider-mob:before {
    content: "";
    z-index: 1;
    background: linear-gradient(277deg, #ffffff, #0000);
    width: 40px;
    height: 100%;
    position: absolute;
    top: 0;
    right: -2px;
}
.workshop-image img[alt="Pro"] {
    object-position: 50% 0%;
}
.program-around-logo-slider:after,
.workdhop-logo-slider-mob:after {
    content: "";
    z-index: 1;
    background: linear-gradient(82deg, #ffffff, #0000);
    width: 24px;
    height: 100%;
    position: absolute;
    top: 0;
    left: -6px;
}
.program-around-slider img.program-toy[alt="Algoc"] {
    transform: scale(1.5);
}
    section[id="wrapper-GOLDEN AGE"] {
        margin-top: -110px;
    }
.slider-activity img[alt="Pro"] {
    object-position: top;
}
    .objective-text {
        margin-top: 0;
    }

    .accordion-workshop {
        margin-top: -112px;
        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: 15px !important;
    }

    .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: 5px;
        padding-right: 5px;
    }
    .discover-tab-btn button {
        text-transform: capitalize !important;
        padding-left: 5px;
        padding-right: 5px;
        min-width: 116px!important;
    }
.about-form {
    margin-top: -150px;
}
    .icon-program-mob {
        padding-left: 0;
        padding-right: 10px;
        gap: 0;
        box-shadow: 13px 8px 23px #00000026;
    }

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

    .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;
    }
}
@media (min-width:767px) and (max-width: 800px) {
.discover-tab-btn button {
    min-width: 112px !important;
}
}
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) {
.testimonial .swiper {
     max-width: 1110px !important;
    margin-left: 0;
}
#program-ALGOPLAY .highlights {
   margin-left: 160px;
}
.workshop-img {
    width: 100%;
    height: 470px;
}
.banner-content {
    padding-left: 0;
}
}

@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) {
.highlights img[alt="Bricks Challenge"] {
    margin-left: 130px;
    margin-top: 70px;
}
main.workshop-detail.workshop-Birthday.Parties .kid-discover-section {
    background: url("https://yefranchisees.b-cdn.net/frontend/discover/birthday-party/bg_What%20Kids%20Discover.png");
    background-size: cover;
    background-position: top;
}
main.workshop-detail.workshop-Birthday.Parties .kid-discover-bg {
    margin-top: 50px;
}
.p-range, .p-duration {
    font-size: 30px;
    line-height: 32px;
}
.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: -80px;
    min-width: 200px;
}
.footer-wrapper {
    gap: 10px;
}
.Footer h3 {
    font-size: 12px;
}
.contact-info button {
    width: 90%;
}
.social-links {
    min-width: 160px;
}
}
@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: 16px;
    }

    .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: 12px;
}

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

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

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

    .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: 768px) and (max-width: 800px) {
    .discover-carousel {
        width: 96%;
        margin-top: 20px;
    }
} 
@media only screen and (min-width: 590px) and (max-width: 767px) {
    .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) {
.description-content {
    min-height: 120px;
}
.workshop-Mechanics.Camps .mob-durations,
.workshop-Coding.Camps .mob-durations {
    flex-direction: column;
    align-items: flex-start;
}
span.time2 {
    line-height: 20px;
}
.form-banner-wrapper {
    min-height: 480px;
}
.form-wrapper-box {
    margin-top: -280px;
    margin-bottom: 50px;
}
div#AI-BRICKS_CHALLENGE img[alt="Feature Image"] {
    transform: scale(1.3);
    padding: 20px;
}
div#AI-BRICKS_CHALLENGE .mob-img-ai {
    height: 320px;
}
div#AI-CODING_CAMPS .mob-img-ai img[alt="Feature Image"] {
    transform: scale(1.3);
    padding: 10px;
}
div#AI-CODING_CAMPS .mob-img-ai {
    height: 340px;
    margin-top: 20px;
    margin-bottom: -20px;
}
.filters-wrapper {
    padding-top: 0;
}
.discover-slider-box {
       width: 100%;
       height: 210px;
}
.discover-slider-box img {
       width: 100%;
       object-fit: cover;
    }
.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: 1330px !important;
    }

    div#registration-form {
        margin-top: -400px;
    }
.user-name {
    display: block;
}
.user-name img {
    margin-left: 8px;
}
}

@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 only screen and (min-width: 380px) and (max-width: 400px) {
.mob-ribbon {
    height: 148px;
}
}
@media (max-width: 400px) {
main#program-GALILEO_TECHNIC .h-bottom,
main#program-BRICKS_CHALLENGE .h-bottom  {
    padding-right: 0px;
}
    .testimonial-outer-wrapper {
        min-height: 1190px !important;
    }
}

@media (max-width: 380px) {
.description-content {
    font-size: 19px;
}
    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: 128px !important;
    }

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

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

    .content-top .text-\[14px\] {
        font-size: 12px;
    }
}
@media (max-width: 379px) {
  .mob-ribbon>div .rounded-full {
        margin-top: 10px;
    }
}
@media (max-width: 361px) {
.mob-ribbon > div .rounded-full {
    width: 80px !important;
    height: 80px !important;
}

    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) {
.teacher-block {
    margin-top: -300px;
}
.swiper-watch-progress {
    padding-left: 0!important;
    padding-right: 15vw!important;
}
.program-around-slider .swiper-slide.swiper-slide-prev, 
.program-around-slider .swiper-slide.swiper-slide-next {
    transform: scale(.6);
}
.mob-ribbon>div .rounded-full img {
    margin-top: 0px;
}
    .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: 100%;
       height: 200px;
    }
    .discover-slider-box img {
       width: 100%;
       object-fit: cover;
    }
    .inspiring-block {
        margin-top: -200px;
    }
}
@media (max-width: 360px) {
.range-t {
    font-size: 25px;
    line-height: 28px;
}
div#AI-BRICKS_CHALLENGE h3 {
    font-size: 21px!important;
}
.mob-ribbon > div .rounded-full {
    width: 75px !important;
    height: 75px !important;
    margin-top: 16px;
}
}
/* ===========================
   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: 900px) and (max-width: 1220px) {
.big-image {
    height: 400px;
    margin-top: 0;
}
.content-top {
    margin-top: 16px;
}
}
@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: calc(100% + 71px);
    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);
    /* The card itself unrolls downward. A fade plus a 0.97 scale was too small
       a move to read as the panel opening — only the staggered items looked
       animated, and the card behind them just appeared. clip-path reveals the
       real box without distorting the text the way scaleY would, and costs no
       layout change. The `round` matches rounded-bl/br-[20px] so the corners
       stay curved for the whole sweep instead of squaring off mid-animation. */
    clip-path: inset(0 0 100% 0 round 0 0 20px 20px);
    pointer-events: none;
    will-change: opacity, transform, clip-path;
    transition:
        opacity 150ms cubic-bezier(0.16, 1, 0.3, 1),
        transform 150ms cubic-bezier(0.16, 1, 0.3, 1),
        /* Gentler curve than the fade's near-expo easing, which finished
           ~86% of the sweep in its first 60ms and so read as an instant
           pop. Ease-out cubic spreads the reveal across the full run so
           the card is actually seen opening — and closing. */
        clip-path 220ms cubic-bezier(0.33, 1, 0.68, 1),
        visibility 150ms;
}

.nav-dropdown.is-open {
    opacity: 1;
    visibility: visible;
    transform: translateY(0) scale(1);
    clip-path: inset(0 0 0 0 round 0 0 20px 20px);
    pointer-events: auto;
    transition-duration: 300ms;
    top: -30px;
    padding-top: 70px;
}

/* The visible card.
   It sits on a pseudo-element rather than on .nav-dropdown itself because the
   panel is pulled 30px up into the header (above) so its box bridges the gap
   between the trigger and the list — without that strip the pointer leaves
   .menu-item on the way down and the menu shuts. The strip has to keep taking
   pointer events but must not paint: a white box drawn across the header bar
   reads as a rectangle sitting under the next nav link, which is what it was
   doing to WORKSHOPS. Insetting the card by the same 60px as the open state's
   padding-top starts it exactly at the header's bottom edge.
   z-index is negative so it stays behind the list; .nav-dropdown's own z-index
   keeps the whole thing above the page either way. */
.nav-dropdown::before {
    content: "";
    position: absolute;
    inset: 60px 0 0 0;
    background: #fff;
    border-radius: 20px;
    box-shadow: 0px 14px 14px #0000001f;
    z-index: -1;
    pointer-events: none;
}

.workshop-Coding.Camps .work-inner-content .gradient-bg {
    background: linear-gradient(79deg, #3b7e21, #95c11f) !important;
}

/* Someone who asked for less motion gets the panel with no sweep at all. */
@media (prefers-reduced-motion: reduce) {
    .nav-dropdown,
    .nav-dropdown.is-open {
        clip-path: none;
        transition-duration: 1ms;
    }
}

/* 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;
}

main.workshop-detail.workshop-Mechanics.Camps nav[aria-label="Back navigation"] a {
    color: #226b20 !important;
}

.workshop-detail.workshop-Golden.Age .bg-work {
    background: linear-gradient(15deg, #633f1e 37%, #ddbd48) !important;
}

@media (max-width: 767px) {
  .program-around-slider .swiper {
    padding-left: 0 !important;
  }

  .program-around-slider .swiper-wrapper {
    margin-left: 0 !important;
  }
}

/* =========================================
   DESKTOP ANIMATION
   KEEPING YOUR EXISTING ANIMATION
   ========================================= */
@media (max-width: 767px) {
@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);
}


@keyframes programSliderMobileNext {
    from { opacity: 0.8; transform: translateX(60px) scale(0.8);
    }
    55% { opacity: 1; transform: translateX(12px) scale(0.94); }
    to { opacity: 1; transform: translateX(0) scale(1); }
}

@keyframes programSliderMobilePrev {
    from { opacity: 0.8; transform: translateX(-60px) scale(0.8);}
    55% { opacity: 1;  transform: translateX(-12px) scale(0.94); }
    to {  opacity: 1; transform: translateX(0) scale(1); }
}

/* Mobile slide transition */
@keyframes programSliderMobileNext {
  from {
    transform: translateX(100%);
  }

  to {
    transform: translateX(0);
  }
}

@keyframes programSliderMobilePrev {
  from {
    transform: translateX(-100%);
  }

  to {
    transform: translateX(0);
  }
}
}
@media (max-width: 767px) {
  .program-slider-animation.program-slider-next {
    animation: programSliderMobileNext 0.6s
      cubic-bezier(0.22, 1, 0.36, 1);
  }

  .program-slider-animation.program-slider-prev {
    animation: programSliderMobilePrev 0.6s
      cubic-bezier(0.22, 1, 0.36, 1);
  }

  /* Remove the desktop fade and image zoom on mobile */
  .program-slider-animation {
    opacity: 1;
  }

  .program-slider-animation .program-main-image {
    animation: none;
  }
}
/* =========================================
   ACTIVITY SLIDER - SMALL → BIG
   ========================================= */
@media (max-width: 767px) {
.activity-slide .activity-card,
.testimonial-slide .testimonial-card {
  transform: scale(0.92);
  opacity: 0.8;
  transition:
    transform 0.65s cubic-bezier(0.16, 1, 0.3, 1),
    opacity 0.5s ease;
  will-change: transform;
}

.activity-slide.swiper-slide-active .activity-card,
.testimonial-slide.swiper-slide-active .testimonial-card {
  transform: scale(1);
  opacity: 1;
}
}
/* Mobile */
@media (max-width: 599px) {
  .activity-slide .activity-card,
  .testimonial-slide .testimonial-card {
    transform: scale(0.88);
    opacity: 0.75;
    transition:
      transform 0.65s cubic-bezier(0.16, 1, 0.3, 1),
      opacity 0.5s ease;
  }

  .activity-slide.swiper-slide-active .activity-card,
  .testimonial-slide.swiper-slide-active .testimonial-card {
    transform: scale(1);
    opacity: 1;
  }
}



/*=====================Program -page-slider============================*/
@media (max-width: 767px) {
  .mobile-slide-animation {
    width: 100%;
    height: 100%;
    will-change: transform, opacity;
  }
.mobile-slide-next {
    animation: mobileSlideNext 500ms cubic-bezier(0.22, 1, 0.36, 1);
  }
  .mobile-slide-prev {
    animation: mobileSlidePrev 500ms cubic-bezier(0.22, 1, 0.36, 1);
  }

  @keyframes mobileSlideNext {
    0% { transform: translateX(35%) scale(0.78); opacity: 0; }
    25% { transform: translateX(20%) scale(0.84); opacity: 0.45; }
    55% { transform: translateX(7%) scale(0.93); opacity: 0.8;}
    80% { transform: translateX(1%) scale(0.98); opacity: 0.95; }
    100% {  transform: translateX(0) scale(1);  opacity: 1;}
  }

  @keyframes mobileSlidePrev {
    0% { transform: translateX(-35%) scale(0.78); opacity: 0; }
    25% { transform: translateX(-20%) scale(0.84);  opacity: 0.45;}
    55% { transform: translateX(-7%) scale(0.93); opacity: 0.8;}
    80% { transform: translateX(-1%) scale(0.98); opacity: 0.95;}
    100% {  transform: translateX(0) scale(1); opacity: 1; }
 }
}


/*-----------teacher slider-------------*/
@media (max-width: 767px) {
  .teacher-mobile-slide {
    overflow: visible;
  }
  .teacher-mobile-slide.swiper-slide-active {
    animation: teacherSlideIn 500ms cubic-bezier(0.22, 1, 0.36, 1);
    transform-origin: center center;
  }

  @keyframes teacherSlideIn {
    0% { transform: translateX(35%) scale(0.78);  opacity: 0;}
    25% { transform: translateX(20%) scale(0.84); opacity: 0.45; }
    55% { transform: translateX(7%) scale(0.93); opacity: 0.8; }
    80% { transform: translateX(1%) scale(0.98); opacity: 0.95; }
    100% { transform: translateX(0) scale(1); opacity: 1; }
  }
}

/*===============Program-page-slider===============*/
@media (max-width: 767px) {
  .all-programs-swiper .swiper-slide {
    overflow: visible;
  }

  /* Let Swiper handle horizontal movement; animate only the card. */
  .all-programs-swiper .swiper-wrapper {
    transition-timing-function: cubic-bezier(0.25, 0.8, 0.25, 1) !important;
  }

  .all-programs-swiper .program-article {
    transform: scale(0.96);
    opacity: 0.85;
    transition: transform 500ms cubic-bezier(0.25, 0.8, 0.25, 1),
                opacity 500ms ease;
    will-change: transform, opacity;
  }

  .all-programs-swiper .swiper-slide-active .program-article {
    transform: scale(1);
    opacity: 1;
  }
}


@media (max-width: 1650px) {
.teacher-lightbox .lightbox-image-container img {
   object-position: center 20%;
}
}

/*-------------------------*/
@media (max-width: 767px) {
  .workshop-mobile-animation {
    will-change: transform, opacity;
    transform-origin: center center;
  }
  .workshop-mobile-next {
    animation: workshopSlideNext 500ms
      cubic-bezier(0.22, 1, 0.36, 1);
  }
  .workshop-mobile-prev {
    animation: workshopSlidePrev 500ms
      cubic-bezier(0.22, 1, 0.36, 1);
  }

  @keyframes workshopSlideNext {
    0% { transform: translateX(35%) scale(0.78); opacity: 0;}
    25% { transform: translateX(20%) scale(0.84); opacity: 0.45; }
    55% { transform: translateX(7%) scale(0.93); opacity: 0.8;}
    80% { transform: translateX(1%) scale(0.98); opacity: 0.95;}
    100% { transform: translateX(0) scale(1); opacity: 1;}
  }

  @keyframes workshopSlidePrev {
    0% { transform: translateX(-35%) scale(0.78); opacity: 0;}
    25% { transform: translateX(-20%) scale(0.84); opacity: 0.45;}
    55% {transform: translateX(-7%) scale(0.93); opacity: 0.8;}
    80% { transform: translateX(-1%) scale(0.98); opacity: 0.95;}
    100% { transform: translateX(0) scale(1); opacity: 1;}
  }
}

/*-----------All workshop-------------*/
/*=============== Workshop & Program mobile slider animation ===============*/
@media (max-width: 767px) {
  .all-programs-swiper {
    overflow: visible !important;
  }

  .all-programs-swiper .swiper-wrapper {
    align-items: flex-start;
    transition-timing-function: cubic-bezier(0.25, 0.8, 0.25, 1) !important;
  }

  .all-programs-swiper .swiper-slide {
    overflow: visible;
  }

  /* Animate the card content, not the Swiper slide position. */
  .all-programs-swiper .workshop-animation-inner {
    width: 100%;
    transform: scale(0.96);
    opacity: 0.85;
    transform-origin: center center;
    transition:
      transform 500ms cubic-bezier(0.25, 0.8, 0.25, 1),
      opacity 500ms ease;
    will-change: transform, opacity;
  }

  .all-programs-swiper .swiper-slide-active .workshop-animation-inner {
    transform: scale(1);
    opacity: 1;
  }

  .all-programs-swiper .program-article {
    transform: scale(0.96);
    opacity: 0.85;
    transition:
      transform 500ms cubic-bezier(0.25, 0.8, 0.25, 1),
      opacity 500ms ease;
    will-change: transform, opacity;
  }

  .all-programs-swiper .swiper-slide-active .program-article {
    transform: scale(1);
    opacity: 1;
  }
}



/*================program card css==================*/
img.icon-logo {
    object-fit: cover;
}

.slider-card {
  position: relative;
  width: 100%;
  height: 210px;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: visible;
}

/* Keep the original card width */
.slider-card > .program-card-inner {
  width: 100%;
  flex-shrink: 0;
}

/* Mobile */
@media (max-width: 767px) {
.slider-card {
  height: 210px;
}
.program-around-slider img.program-toy {
    width: 100%;
    height: 180px;
    object-fit: contain;
}
.program-around-slider img.program-toy[alt="Algoc"] {
    transform: scale(1.5);
}
}

/* Tablet */

@media only screen and (min-width: 767px) and (max-width:998px) {
.card_footer {
    padding: 6px 10px;
}
}

@media (min-width: 768px) {
  .slider-card {
    width: 250px;
    height: 150px;
  }
}

/* Desktop */
@media (min-width: 1024px) {
  .slider-card {
    width: 295px;
    height: 215px;
  }
}

/* Large desktop */
@media (min-width: 1280px) {
  .slider-card {
    width: 320px;
  }
}


/*============workshop tab===================*/
.workshop-slide-viewport {
  position: relative;
  width: 100%;
  overflow: hidden;
}

.workshop-slide-track {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  width: 100%;
  overflow: hidden;
}

.workshop-slide-layer {
  grid-area: 1 / 1;
  width: 100%;
  min-width: 0;
  animation-duration: 500ms;
  animation-timing-function: ease-in-out;
  animation-fill-mode: both;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}

.workshop-slide-static {
  transform: translateX(0);
}

/*  NEXT ARROW*/

.workshop-slide-out-next {
  animation-name: workshopExitLeft;
}

.workshop-slide-in-next {
  animation-name: workshopEnterRight;
}

/* PREVIOUS ARROW */

.workshop-slide-out-prev {
  animation-name: workshopExitRight;
}

.workshop-slide-in-prev {
  animation-name: workshopEnterLeft;
}

/* KEYFRAMES */
.workshop-slide-layer {
  grid-area: 1 / 1;
  width: 100%;
  min-width: 0;
  animation-duration: 600ms;
  animation-timing-function: ease-in-out;
  animation-fill-mode: both;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  transform-origin: center center;
}
.workshop-slide-static {
  transform: translateX(0) scale(1);
}
.workshop-slide-out-next {
  animation-name: workshopExitLeft;
}
.workshop-slide-in-next {
  animation-name: workshopEnterRight;
}
.workshop-slide-out-prev {
  animation-name: workshopExitRight;
}
.workshop-slide-in-prev {
  animation-name: workshopEnterLeft;
}

/*  NEXT ANIMATION*/

@keyframes workshopExitLeft {
  from { transform: translateX(0) scale(1);}
  to { transform: translateX(-100%) scale(0.90);}
}
@keyframes workshopEnterRight {
  from { transform: translateX(100%) scale(0.90);}
  to { transform: translateX(0) scale(1); }
}

/* PREVIOUS ANIMATION */

@keyframes workshopExitRight {
  from {transform: translateX(0) scale(1);}
  to {transform: translateX(100%) scale(0.90);}
}
@keyframes workshopEnterLeft {
  from { transform: translateX(-100%) scale(0.90);}
  to {transform: translateX(0) scale(1);}
}

@media (min-width: 1023px) and (max-width: 1289px) {
.teacher-block {
    margin-top: -180px;
    padding-top: 10px;
}
}
@media only screen and (min-width: 1023px) and (max-width: 1090px) {
.lang-translated  .i-box {
    gap: 4px;
    width: 109px;
}
.lang-translated .i-heading {
    font-size: 20px;
}
.lang-translated .i-box:last-child p.i-text {
    width: 121px;
}
}
/*==============lang=es=================*/
@media (min-width: 1200px) {
.lang-translated .slider-card {
   width: 350px;
}
.lang-translated .card_footer span {
    font-size: 10px;
}
.lang-translated  .card_footer>div {
    max-width: 190px;
}
.lang-translated .discover-card-left a span {
    font-size: 21px;
    line-height: 2;
}
.lang-translated .activity-card h3 {
    font-size: 32px;
    line-height: 40px;
}
.lang-translated .activity-content{
    min-height: 210px;
}
.lang-translated .program-btn {
    width: max-content;
}
.lang-translated .wrksp-logo-box img {
    transform: none;
}
}



@media only screen and (min-width: 640px) and (max-width: 767px) {
.ws-why-section {
    padding-bottom: 0;
}
.all-workshop-section {
    padding-top: 90px;
}
.pro-objectives {
    margin-top: -170px;
    padding-top: 0;
}
.program-banner {
    min-height: 1040px;
}    
.young-content-wrapper {
   margin-top: 60px;
}
.program-block img[alt="Robot"] {
    width: 30rem;
}
.robot-image {
    right: -90px;
}
h1.discover-title {
    margin-top: 80px;
}
.description-content {
    min-height: 60px;
}
.single-program-slide {
    width: 400px!important;
    max-width: 400px;
}
.inspire-young img[alt="Curved background for mobile"] {
    margin-top: 30px;
}
.young-content-wrapper {
    margin-top: 40px;
}
.young-content-wrapper p {
    min-height: auto;
}
.inspire-young img {
    transform: scale(1.1);
}
.subtitle-index {
    width: 100%;
    max-width: 100%;
}
.discover-slider-box {
    width: 100%;
    height: 290px;
}
.we-wre-section .slider-inner,
.we-wre-section .slider-inner img  {
    height: 320px;;
}
.thumbnail-gal {
    padding-top: 20px;
}
.main-slider-pro {
    height: 300px;
}
.discover-content h2 {
    position: absolute;
}
.content-objective-list {
    padding-top: 60px;
}
.discover {
    padding-bottom: 0;
}
.program-highlight-mob {
    right: 0;
    width: 380px;
}
div#AI-BRICKS_CHALLENGE .btn-AI {
    width: 340px;
}
.main-slider-pro img[alt="fan moving robot"],
.main-slider-pro img[alt="Goal runner"],
.main-slider-pro img[alt="Illustrator"]  {
    transform: scale(1.2);
}
.main-slider-pro img[alt="Trash collector"],
.main-slider-pro img[alt="Fun coding"]  {
    transform: scale(1.4);
}
main#program-SMARTIVO .main-slider-pro img {
    transform: scale(1.4);
}
.main-slider-pro img[alt="Smartivo Sketching"] {
    transform: none;
}
main#program-BRICKS_CHALLENGE .main-slider-pro img {
    transform: scale(1.2);
}
.main-slider-pro img[alt="Cards Dealer"] {
    transform: scale(1.3);
}
}

@media only screen and (min-width: 700px) and (max-width: 767px) {
.young-content-wrapper {
   margin-top: 70px;
}
h1.discover-title {
    margin-top: 100px;
}
}

@media only screen and (min-width: 600px) and (max-width: 767px) {
.activity-slide .activity-card, .testimonial-slide .testimonial-card {
    opacity: 1;
    transform: none;
}
.testimonial-card {
    min-width:90%!important
}
.testimonial-outer-wrapper h2 {
    margin-bottom: 20px;
}
.we-wre-section a, .globe-content a, .our-approch a, .program-btn a {
    max-width: fit-content !important;
}
.globe-content {
    padding-top: 20px;
}
.approch-img {
    width: 471px;
}
.mobile-main-img img[alt="Card shuffler"], .mobile-main-img img[alt="Bird's Migration"], .mobile-main-img img[alt="Zombie"],.mobile-main-img img[alt="Accordion Robot"] {
    transform: none;
}
.program-banner-mob h1 {
    display: flex;
    gap: 10px;
}
section#program-all button {
    padding: 10px 40px;
    width: fit-content;
}
section#program-all {
    min-height: 960px;
}
.inspiring-block button {
    width: fit-content;
}
.program-discription {
    height: 100%;
    min-height: 110px;
}
.Footer button {
    width: 250px;
}
}
@media only screen and (min-width: 540px) and (max-width: 640px) {
.pro-objectives {
    margin-top: -113px;
}
}
@media only screen and (min-width:500px) and (max-width: 640px) {
.inspire-young img[alt="Curved background for mobile"] {
    margin-top: 30px;
}
.young-content-wrapper {
    margin-top: 40px;
}
.young-content-wrapper p {
    min-height: auto;
}
.inspire-young img {
    transform: scale(1.1);
}
.subtitle-index {
    width: 100%;
    max-width: 100%;
}
.join-box button {
    margin-top: 10px;
}
.discover-slider-box {
    width: 100%;
    height: 300px;
}
h1.discover-title {
    margin-top: 0;
}
.testimonial-outer-wrapper, .testimonial-outer-wrapper > section {
    min-height: 1090px !important;
}
.Footer button {
    width: 250px;
}
.description-content {
    min-height: 100px;
}
.single-program-slide {
    width: 360px!important;
    max-width: 360px;
}
.we-wre-section a, .globe-content a, .our-approch a, .program-btn a {
    max-width: fit-content;
}
}
@media only screen and (min-width: 500px) and (max-width: 580px) {
.testimonial-outer-wrapper, .testimonial-outer-wrapper > section {
    min-height: 1180px!important;
}
}
@media only screen and (min-width: 460px) and (max-width: 500px) {
.testimonial-outer-wrapper, .testimonial-outer-wrapper > section {
    min-height: 1300px !important;
}
div#home-from div#registration-form {
    margin-top: -400px;
}
}
@media (max-width: 340px) {
.program-around-slider .swiper {
    padding-left: 0 !important;
    padding-right: 0!important;
}
.card_footer span {
    line-height: 12px;
    font-size: 10px;
}
.content-slider-left {
    padding-left: 0;
}
.gain-box h3 {
    font-size: 16px!important;
}
.gain-box h3 {
    font-size: 16px!important;
}
}

/* =========================================================================
   640-767px - workshops list and workshop detail
   =========================================================================
   This is Tailwind's `sm` range, which on this project carries layout meant
   for small TABLETS held upright: a -120px section pull to tuck a tall card
   under a wave, a -600px pull on the workshop list, 12-column grids, 480/500px
   text caps, 100%-wide buttons. A phone turned sideways is about 740px wide,
   so it gets all of it, and on a short wide viewport those rules overlap,
   stretch and clip.

   Every rule below is driven by WIDTH, not height - each one undoes an `sm:`
   or `min-width: 638px` declaration. The block was first written as
   `orientation: landscape` with `max-height: 540px`, which meant a browser
   window 740px wide but 560px tall fell straight back to the broken layout.
   Keyed to the width band alone, it holds at any height and in either
   orientation; below 640px and from `md` up nothing here applies.
   ========================================================================= */
@media (min-width: 640px) and (max-width: 767px) {
    .programs-detail .xlider {
    margin-top: 100px;
}

    /* Hero card sat straight on the next section's pattern, leaving two blue
       stubs beside it. The portrait value leaves the blue band intact. */
    .ws-why-section {
        margin-top: -90px;
    }

    /* `sm:-mt-150` pulled the workshop list 600px up, over the tab image. */
    .all-workshop-section {
        margin-top: 0;
    }

    /* Below `md` these are `w-full`, which is fine on a 390px phone and reads
       as a stretched bar at 740px. */
    .workshop-learn-more {
        width: 200px;
    }

    .btn-work-shop {
        width: auto;
    }

    /* Both card photos ran to the card's edge, losing the white margin the
       rounded corners need. */
    .workshop-image, 
    .work-inner-image {
    width: 98%;
    margin-left: auto;
    margin-right: auto;
    right: 0;
    margin-bottom: 7px;
}

    /* 6 of 12 columns is ~350px here - one character short of fitting
       "WORKSHOP OBJECTIVES" on a line, so every heading wrapped. */
    .objective-text {
        grid-column: span 7 / span 7;
    }

    .xlider {
        grid-column: span 5 / span 5;
    }

    .workshop-cta-row {
        margin-top: 64px;
    }

    /* The heading landed on the wave in the background image. */
    .kid-discover-section {
        padding-top: 160px;
        padding-bottom: 80px;
    }

    /* 220px above is set for 638-768px tablets; at this height it is a gap. */
    .work-form {
        margin-top: 120px;
    }

    /* `sm:pt-[140px]` clears a tablet's taller background art above the Q&A
       heading; portrait phones use 0 and landscape needs the same. */
    .head-wrapper-top {
        padding-top: 0;
    }

    /* 90px in a ribbon that is 250px tall here reads as a badge rather than
       the brand mark. 140px is what the programs detail page already gives
       its ribbon icon at these widths (.logo-wrap-mobile, min-width 525px);
       both pages share the .mob-ribbon panel, so they now match. */
    .mob-ribbon-logo {
        width: 140px;
        height: 140px;
    }

    /* Same cap on the workshop list cards: `max-w-[480px]` against a 658px
       column, so the text stopped well short of the card's edge. */
    .workshop-description {
        max-width: none;
    }

    /* `max-w-[500px]` only bites in this band: a portrait phone's card is
       narrower than the cap and from `md` up the card reserves its right side
       for the photo. Here the card is ~670px, so the text stopped 170px short
       of its own edge. */
    .work-desc {
        max-width: none;
    }

    /* The band between the hero photo and "Workshop objectives" showed two
       stacked waves with a grey strip between them. Below 768px this section
       is pulled 85px up over the hero and painted with
       Program-Objectives-bg-1.png (`0 0 / cover`), a tall portrait artwork
       whose curved top is meant to sit over the hero's own curve. On a phone
       `cover` scales it by height and the two curves coincide; at 640-767px it
       scales by width, its curve grows and drifts below the hero's, and both
       show. Dropping the artwork here leaves the hero's single curve - what a
       portrait phone shows - and 80px of overlap with 24px of padding puts the
       heading 95px under the photo, against 94px in portrait. */
    .work-objectives {
        margin-top: -140px;
        padding-top: 100px;
    }
    .workshop-banner {
       padding-bottom: 96px;
    } 
    /* The robot sat 200px wide in a ~295px column, leaving a bare rectangle
       between it and the page edge. Filling the column uses that space and
       balances the taller ribbon logo. */
    .workshop-highlight-mob,
    .workshop-highlight-mob img {
         width: 240px;
         height: 170px;
    }

    .workshop-highlight-mob {
        margin-left: auto;
        margin-right: 0;
    }

    /* Several of these are portrait artwork (658x810, 739x859), so
       object-contain letterboxes them and centres the result, putting white
       back at the right edge. Anchoring right removes it. */
    .workshop-highlight-mob img {
        object-position: right center;
    }

    /* "BOOK MECHANICS CAMP!" broke onto two lines inside a 45px-tall pill.
       The column is 289px and the button spends 105px of it on the icon, the
       gap and 30px of padding either side, leaving 184px for a label that
       needs ~220px at 16px. Trimming the chrome and the type gives the longest
       label on this page ("BOOK BIRTHDAY PARTIES!") about 30px to spare, and
       nowrap keeps it on one line. */
    .workshop-action-btn {
        font-size: 14px;
        gap: 6px;
        padding-left: 16px;
        padding-right: 16px;
        white-space: nowrap;
    }

    .workshop-action-btn img {
        height: 24px;
    }

    /* `max-[767px]:pt-[360px]` leaves an empty band between the last accordion
       row and the teacher photo: the form pulls its own content up less here
       (`sm:mt-[-160px]`) than on a portrait phone (`mt-[-300px]`), so the
       padding is no longer cancelled out. 240px closes the band without the
       form's background art riding up over the accordion. */
    #footerForm {
        padding-top: 240px;
    }
}


/* "Discover workshops" in the Why-Workshops section.
   A `max-width: 767px` rule above gives .work-btn `width: 100%`. On a 390px
   phone that is a normal full-width CTA, but the same rule runs up to 767px,
   where the button becomes a 700px bar across the column - the label is only
   263px wide, which is what every size from `md` up already renders. Phones
   keep the full-width button; from 500px it hugs its label, so the handover to
   the `md` layout is seamless instead of jumping from 708px to 263px. */
@media (min-width: 500px) and (max-width: 767px) {
    .work-btn {
        width: fit-content;
    }
}


/* iOS-friendly mobile program slider */
@media (max-width: 767px) {
  .all-programs-swiper {
    width: 100%;
    overflow: hidden;
    touch-action: pan-y;
    -webkit-user-select: none;
    user-select: none;
    -webkit-tap-highlight-color: transparent;
  }

  .all-programs-swiper .swiper-wrapper {
    align-items: stretch;
    will-change: transform;
  }

  .all-programs-swiper .swiper-slide {
    box-sizing: border-box;
    min-width: 0;
    height: auto;
    overflow: visible;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
  }

  .all-programs-swiper .program-article {
    width: 100%;
    min-width: 0;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
  }

  .all-programs-swiper img {
    -webkit-user-drag: none;
  }
}

/*==========lightbox-image============*/
@media only screen and (min-width: 500px) and (max-width: 767px) {
.lightbox-image-container {
    width: 420px;
    margin: 0 auto;
}
.lightbox-image-container img {
    width: 100%;
    object-fit: cover;
}
}
@media (max-width: 500px) {
.lightbox-image-container {
    width: 100%;
    height: 220px;
}
.lightbox-image-container img {
    width: 100%;
    object-fit: cover;
}
}
@media only screen and (min-width: 400px) and (max-width: 500px) {
.about-content-right {
    margin-bottom: 0;
    min-height: 108px;
}
 article#Algoc {
    margin-bottom: 50px;
}
}

/*==============Lang="arabic"================*/
.lang-arabic .nav-view {
    margin-left: 0;
    margin-right: auto;
    flex-direction: row-reverse;
}
.lang-arabic .program-robot-image {
    right: auto;
    left: -100px;
    transform: scaleX(-1);
}
.lang-arabic .program-txt {
    text-align: right;
}
.lang-arabic img[alt="Join Free Class background (desktop)"] {
    transform: scaleX(-1);
}
.lang-arabic .join-box p {
    text-align: right;
}
.lang-arabic .join-free-class-section {
    height: 900px;
}
.lang-arabic .discover-navigaton {
    margin-left: auto;
    margin-right: 0;
    right: 0;
    flex-direction: row-reverse;
    justify-content: flex-end;
}
.lang-arabic .client-c1 h2 {
    text-align:right;
}
.lang-arabic .testimonial-track {
    margin-inline: 0;
}
.lang-arabic .program-card-top {
    position: relative;
    background-image: none !important;
}
.lang-arabic .program-card-top:before {
    content: "";
    position: absolute;
    inset: 0px;
    background-image: url("https://yefranchisees.b-cdn.net/frontend/mask_group.svg");
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    transform: scaleX(-1);
    z-index: 0;
    right: -68px;
    bottom: -7px;
}
.lang-arabic .around-logo:before {
   display: none;
}
.lang-arabic .slider-card.is-inactive .program-card-top:before {
    inset: 0 -105px -7px 0;
}
.lang-arabic .program-card-top.Algoc{
    background-image: linear-gradient(rgb(220, 75, 99) 0%, rgb(232, 145, 99) 100%)!important;
}
.lang-arabic .discover-carousel {
    flex-direction: row-reverse;
}
.lang-arabic .workshop-home-slider {
    flex-direction: row-reverse;
}
.lang-arabic .testimonial-left-arrow {
    width: 30px;
}
.lang-arabic .testimonial-icons-row {
    padding: 0;
}
.lang-arabic .footer-slider-arrows {
    flex-direction: row-reverse;
}
.lang-arabic .contact-info h3 {
    text-align: right;
}
.lang-arabic .testimonial {
    flex-direction: row-reverse;
}
.lang-arabic .program-age-range {
    flex-direction: row-reverse;
}
.lang-arabic input[type="tel"] {
    text-align: right;
}
.lang-arabic .globe-container {
    right: auto;
    left: -27%;
}
.lang-arabic .approch-img {
    right: unset;
    left: 0;
    transform: scaleX(-1);
}
.lang-arabic .our-approch p {
    margin-right: 0;
    margin-left: 50px;
}
.lang-arabic .gain-box .thumbnail-slider {
    margin-left: 30px;
    margin-right: auto;
}
.lang-arabic .about-slider-arrow {
    flex-direction: row-reverse;
}
.lang-arabic .a-sliders .thumbnail-slider::after {
    background: linear-gradient(97deg, rgb(0 61 99), rgba(0, 0, 0, 0));
}
.lang-arabic .a-sliders .thumbnail-slider::before {
    background: linear-gradient(272deg, rgb(0 91 145), rgba(0, 0, 0, 0));
}
.lang-arabic .globe-container {
    right: auto;
    left: -27%;
}
.lang-arabic .approch-img {
    right: unset;
    left: 0;
    transform: scaleX(-1);
}
.lang-arabic .our-approch p {
    margin-right: 0;
    margin-left: 50px;
}
.lang-arabic .gain-box .thumbnail-slider {
    margin-left: 30px;
    margin-right: auto;
}
.lang-arabic .about-slider-arrow {
    flex-direction: row-reverse;
}
.lang-arabic .a-sliders .thumbnail-slider::after {
    background: linear-gradient(97deg, rgb(0 61 99), rgba(0, 0, 0, 0));
}
.lang-arabic .a-sliders .thumbnail-slider::before {
    background: linear-gradient(272deg, rgb(0 91 145), rgba(0, 0, 0, 0));
}

.lang-arabic .Experience-badge {
    right: 0;
}
.lang-arabic .Experience-badge img {
    transform: scale(-1);
}
.lang-arabic .Experience-badge>div {
    flex-direction: row-reverse;
}
.lang-arabic .teacher-slider-container {
    flex-direction: row-reverse;
}
.lang-arabic .card-image {
    right: auto;
    left: 20px;
}
.lang-arabic .ribbon-container>div {
    right: 20px;
    left: auto;
}
@media (min-width: 96rem) {
.lang-arabic .all-programs-content-box {
    padding-right: 0;
    padding-left: 550px;
}
}


/* Workshop detail "Book ..." button, every language except English. It is
   `md:w-max` with a fixed h-[45px] / lg:h-[60px], sized for English labels.
   Translated labels are longer: "¡RESERVA UN CAMPAMENTO DE MECÁNICA!" ran
   66-134px off the right edge of the screen on desktop, and on phones wrapped
   to two lines inside the fixed 45px pill. Here the button stays inside its
   column and grows taller instead; the minimum heights match the fixed ones,
   so a label that fits on one line looks exactly as before. Also overrides the
   640-767px `white-space: nowrap` above, which assumes English lengths. */
html:not(:lang(en)) .workshop-action-btn {
    height: auto;
    min-height: 45px;
    max-width: 100%;
    white-space: normal;
    padding-top: 8px;
    padding-bottom: 8px;
}

@media (min-width: 1024px) {
    html:not(:lang(en)) .workshop-action-btn {
        min-height: 60px;
    }
}

/* Same button, every language except English: keep it BESIDE the text, as in
   English, but give a translated label room to stay on one line. The right
   column is only 287-407px, and "¡RESERVA UN CAMPAMENTO DE MECÁNICA!" needs
   ~640px at English sizes, so it wrapped into a 3-line pill. From 1024px the
   row splits 6/6 instead of 8/4, the icon gap and side padding are trimmed,
   and the label is one step smaller (16px / 22px instead of 18px / 24px).
   Checked one line at 820-1920px in Spanish and French; anything longer still
   falls back to wrapping inside the pill via the rule above. */
html:not(:lang(en)) .workshop-action-btn {
    gap: 12px;
    padding-left: 24px;
    padding-right: 24px;
}

@media (min-width: 1024px) {
    html:not(:lang(en)) .workshop-cta-row > div:first-child,
    html:not(:lang(en)) .workshop-cta-row > div:last-child {
        grid-column: span 6 / span 6;
    }

    html:not(:lang(en)) .workshop-action-btn {
        font-size: 16px;
    }
}

@media (min-width: 1280px) {
    html:not(:lang(en)) .workshop-action-btn {
        font-size: 22px;
    }
}

/* Same button on phones, every language except English: it is full width, so
   one line depends on the label size. 14px (the size English already uses on
   wide phones) with tighter padding keeps French on one line from 360px and
   Spanish from 390px; on the narrowest phones one more step (13px) brings
   "¡RESERVA UN CAMPAMENTO DE MECÁNICA!" onto one line too. */
@media (max-width: 767px) {
    html:not(:lang(en)) .workshop-action-btn {
        font-size: 14px;
        gap: 8px;
        padding-left: 16px;
        padding-right: 16px;
    }

    html:not(:lang(en)) .workshop-action-btn img {
        height: 22px;
    }
}

@media (max-width: 389px) {
    html:not(:lang(en)) .workshop-action-btn {
        font-size: 13px;
        gap: 6px;
        padding-left: 12px;
        padding-right: 12px;
    }
}

/* Workshop detail, phone, "Created for / Duration" row, every language except
   English. English stacks "4 hours per day" under the number through rules
   keyed to its own title (.workshop-Mechanics.Camps .mob-durations), which a
   translated title switches off - so in French "4 heures par jour" squeezed in
   beside "6 jours" and wrapped into "6 jours jour". And a translated label such
   as "Conçu pour les enfants" takes two lines where "Durée" takes one, so the
   two values started at different heights. Here the per-day text drops below
   the number only when it doesn't fit, and both columns share the label row
   (subgrid), so the longer label sets the height and the values line up. */
@media (max-width: 767px) {
    html:not(:lang(en)) .mob-durations {
        flex-wrap: wrap;
        row-gap: 2px;
    }

    html:not(:lang(en)) .grid:has(> .wokshop-left) {
        row-gap: 0;
    }

    html:not(:lang(en)) .wokshop-left,
    html:not(:lang(en)) .wokshop-right {
        grid-row: span 2;
        display: grid;
        grid-template-rows: subgrid;
        align-content: start;
    }

    html:not(:lang(en)) .wokshop-left > div,
    html:not(:lang(en)) .wokshop-right > div {
        align-self: start;
    }
}

/* =========================================================================
   Workshops list - every language except English
   ========================================================================= */

/* Per-day text: stack it under the number only when it is long (the
   duration-long class, set in AllWorkshop.tsx for text over 10 characters).
   This replaces a `.lang-translated .desk-duration` rule that stacked EVERY
   card, which put "min" under "120" on the Birthday, Pro and Golden Age
   ribbons. English keeps its own title-based stacking rules. */
html:not(:lang(en)) .desk-duration.duration-long,
html:not(:lang(en)) .mob-duration.duration-long {
    flex-direction: column;
    align-items: flex-start;
    gap: 0;
}

/* Hero stats ("Reconocimiento", "Reconnaissance"): a single long word can't
   wrap, so it ran 10-86px past its box and the white card from 768px up. The
   text column may now shrink and break the word, and the size steps down a
   little below 1440px. */
html:not(:lang(en)) .ws-icon-box > div {
    min-width: 0;
}

html:not(:lang(en)) .ws-icon-box h3 {
    hyphens: auto;
    overflow-wrap: anywhere;
}

@media (min-width: 768px) and (max-width: 1023px) {
    html:not(:lang(en)) .ws-icon-box h3 {
        font-size: 16px;
    }

    /* "VER TODOS LOS TALLERES" made the button 256px, and the stats row is
       right-aligned at a fixed width, so the first stat icon sat 11px on top
       of the button. One size smaller keeps them apart. */
    html:not(:lang(en)) div:has(> .workshop-right-icon) > a,
    html:not(:lang(en)) div:has(> .workshop-right-icon) > a span {
        font-size: 14px;
    }

    /* "CAMPAMENTOS DE PROGRAMACIÓN" took 3 lines in a 239px column. Scoped
       to the title by class: a plain `.workshop-content h3` also caught the
       subtitle (also an h3) and enlarged it, which pushed the title above
       the card. The subtitle steps down instead, so the stack fits. */
    html:not(:lang(en)) .workshop-content h3.workshop-card-title {
        font-size: 22px;
    }

    html:not(:lang(en)) .workshop-content h3.workshop-card-subtitle {
        font-size: 15px;
    }
}

@media (min-width: 1024px) and (max-width: 1279px) {
    html:not(:lang(en)) .ws-icon-box h3 {
        font-size: 16px;
    }

    html:not(:lang(en)) .workshop-content h3.workshop-card-subtitle {
        font-size: 16px;
    }
}

@media (min-width: 1280px) and (max-width: 1439px) {
    html:not(:lang(en)) .ws-icon-box h3 {
        font-size: 17px;
    }
}

/* Phone cards: "Conçu pour les enfants" / "Creado Para Niños" wrapped to two
   lines in a fixed 40% column while "Durée" took one. The label stays on one
   line and the column sizes to it; the per-day text under the number is one
   step smaller so it still fits beside on 360px phones. */
@media (max-width: 767px) {
    html:not(:lang(en)) .left-box {
        width: auto;
        flex: 0 0 auto;
        margin-right: 0;
    }

    html:not(:lang(en)) .left-box > p {
        white-space: nowrap;
        font-size: 14px;
    }

    html:not(:lang(en)) .mob-duration.duration-long .time2 {
        font-size: 14px;
        white-space: nowrap;
    }
}
/*=======================*/
.lang-translated .about-content-right {
    margin-bottom: 40px;
    min-height: 130px;
}
.lang-translated .inspiring-block button {
    font-size: 22px;
}
.lang-translated .ribbon_bg >div {
    gap: 6px;
}
.lang-translated .ribbon_bg >div p {
    white-space: normal!important;
}
.lang-translated span.lessons {
    font-size: 13px;
}
.lang-translated .btn-AI {
    width: 100%;
}
.lang-translated .registration-form h4 {
    font-size: 16px;
}
@media (min-width:1280px) {
.lang-translated .teacher-block {
    margin-top: -400px;
}
}
@media (min-width: 767px) and (max-width: 1030px) {
.lang-translated .discover-card-left {
    gap: 16px;
}
.lang-translated .features-tabs>div {
    min-width: 170px;
}
.lang-translated .inspire-young .nav-view {
    padding-bottom: 40px;
}
.lang-translated .btn-AI {
    width: 100%;
    font-size: 15px;
}
.lang-translated .discription-program {
    font-size: 13px;
    line-height: 23px;
    margin-top: 10px;
}
.lang-translated .hero-heading {
    max-width: 460px!important;
}

.lang-translated .home-hero {
    height: 570px;
    padding-top: 40px;
}
.lang-translated p.text-xl.subtitle-index {
    font-size: 20px !important;
}
}
@media (min-width: 767px) and (max-width: 900px) {
.lang-translated .teacher-block {
    margin-top: -100px;
}
}
@media (min-width: 767px) and (max-width: 800px) {
.lang-translated  .program-article h3 span {
    font-size: 15px;
    line-height: 20px;
}
.lang-translated  article#Algoc {
    margin-bottom: 50px;
}
.lang-translated .about-slider-arrow {
    margin-bottom: 0;
    margin-top: 0;
}
.lang-translated div#form-heading h2 {
    font-size: 29px!important;
}
.lang-translated .inspiring-block {
    height: 640px;
}
}
@media (max-width: 767px) {
.lang-translated .our-approch a {
    gap: 4px;
}
.lang-translated .our-approch a span {
    font-size: 15px;
}
.lang-translated .program-banner-mob h1 {
    display: flex;
    column-gap: 10px;
    flex-wrap: wrap;
}
.lang-translated .about-content-right {
    min-height: 120px !important;
    margin-bottom: 0 !important;
}
.lang-translated .features-tabs>div {
    min-width: 140px;
}
.lang-translated .discover-tab-btn button {
    text-transform: capitalize!important;
    min-width: 140px!important;
}
}

@media (min-width: 420px) and (max-width: 600px) {
.lang-translated .gain-box {
    min-height: 840px;
}
}
@media (max-width:430px) {
.lang-code-fr .our-approch a span {
    font-size: 12.5px;
}
.lang-code-fr img[alt="Gear"] {
    width: 17px;
    height: 17px;
}
.lang-translated .Descover-container a {
    padding-left: 10px !important;
    padding-right: 10px !important;
}
.lang-translated .Descover-container a span {
    font-size: 15px;
}
}
@media (max-width: 390px) {
.lang-translated .all-program-btn span {
    font-size: 15px!important;
}
.lang-translated .about-content-right {
    min-height: 130px !important;
    margin-bottom: 0 !important;
}
.lang-translated .inspiring-block  button {
    font-size: 15px!important;
}
.lang-translated .programe-all-block .all-program-btn {
    padding: 16px 10px;
}
.lang-translated  .programe-all-block .all-program-btn span {
    padding-left: 30px;
    position: relative;
    font-size: 16px;
}
.lang-translated .btn-AI {
    gap: 6px;
    font-size: 13px;
}
.lang-translated .mobile-main-img img[alt="robot ventilador"] {
    transform: scale(0.9);
}
.lang-translated .pro-grid-inner > div {
    white-space: normal;
    width: 116px;
}
.lang-translated .pro-grid-inner img[alt=Recognition],
.lang-translated .pro-grid-inner img  {
    width: 25px;
    height: 25px;
}
.lang-translated .pro-objectives a {
    padding-left: 10px;
    padding-right: 10px;
}
}
@media (max-width: 370px) {
.lang-translated .our-approch a span {
    font-size: 14px;
}
}
/*=======================*/
.lang-translated .about-content-right {
    min-height: 150px;
    margin-bottom: 24px;
}
.lang-translated .inspiring-block button {
    font-size: 22px;
}
.lang-translated .ribbon_bg >div {
    gap: 6px;
}
.lang-translated .ribbon_bg >div p {
    white-space: normal!important;
}
.lang-translated span.lessons {
    font-size: 13px;
}
.lang-translated .btn-AI {
    width: 100%;
}
.lang-translated .registration-form h4 {
    font-size: 16px;
}
.lang-translated main.workshop-detail.workshop-Campamentos.de.Mecánica nav[aria-label="Back navigation"] a,
.lang-translated main.workshop-detail.workshop-Camps.de.mécanique nav[aria-label="Back navigation"] a {
    color: rgb(34, 107, 32) !important;
}
@media (min-width: 1200px) {
.lang-code-fr section#program-all {
    min-height: 1060px;
}
}
@media (min-width: 1100px) and (max-width: 1200px) {
.lang-translated .teacher-block {
    margin-top: -150px;
}
}
@media (min-width: 767px) and (max-width: 1200px) {
.lang-translated article:last-child {
    margin-bottom: 50px;
}
}
@media (min-width: 900px) and (max-width: 1100px) {
.lang-translated .teacher-block {
    margin-top: -100px;
}
}
@media (min-width: 1024px) and (max-width: 1080px) {
section#program-all {
    min-height: 1060px;
}
}
@media (min-width: 1040px) and (max-width: 1160px) {
.lang-translated .i-box {
    width: 128px;
}
.lang-translated .i-box:last-child p.i-text {
    width: 100%;
}
}
@media (min-width: 960px) and (max-width: 1030px) {
.lang-translated .i-box {
    width: 110px;
}
}
@media (min-width: 767px) and (max-width: 900px) {
.lang-translated .teacher-block {
    margin-top: -100px;
}
.lang-translated .inspiring-block button {
    font-size: 15px;
}
.lang-translated .inspiring-block {
    height: 600px;
}
.lang-translated .i-box:last-child {
    width: 110px;
}
.lang-translated .program-btn a span {
    font-size: 13px;
}
}
@media (min-width: 767px) and (max-width: 800px) {
.lang-translated .banner-bottom-content {
    gap: 8px;
}
.lang-translated .inspiring-block button {
    font-size: 14px;
}
.lang-translated  .program-article h3 span {
    font-size: 15px;
    line-height: 20px;
}
.lang-translated  article#Algoc {
    margin-bottom: 50px;
}
}
@media (max-width: 767px) {
.lang-translated .our-approch a {
    gap: 4px;
}
.lang-translated .our-approch a span {
    font-size: 15px;
}
.lang-translated .program-banner-mob h1 {
    display: flex;
    column-gap: 10px;
    flex-wrap: wrap;
}
.lang-translated .inspiring-block button {
    font-size: 16px;
}
}

@media (min-width: 420px) and (max-width: 600px) {
.lang-translated .gain-box {
    min-height: 840px;
}
}
@media (max-width:430px) {
.lang-translated  .program-discription {
   min-height: 270px !important;
}
.lang-code-fr .our-approch a span {
    font-size: 12.5px;
}
.lang-code-fr img[alt="Gear"] {
    width: 17px;
    height: 17px;
}
}
@media (max-width: 390px) {
.lang-translated .inspiring-block  button {
    font-size: 14px!important;
}
.lang-translated .programe-all-block .all-program-btn {
    padding: 16px 10px;
}
.lang-translated  .programe-all-block .all-program-btn span {
    padding-left: 30px;
    position: relative;
    font-size: 16px;
}
.lang-translated .btn-AI {
    gap: 6px;
    font-size: 13px;
}
}
@media (max-width: 370px) {
.lang-translated .our-approch a span {
    font-size: 14px;
}
}

/* Phone card header: the 120px ribbon is `overflow-hidden` with no
   flex-shrink: 0, so a long unbreakable title word ("PROGRAMACIÓN",
   "D'ANNIVERSAIRE") squeezed it to as little as 73px and the white logo circle
   touched both edges. The ribbon now keeps its width, and the title steps down
   to 22px (breaking a word only if it still can't fit). */
@media (max-width: 767px) {
    html:not(:lang(en)) .workshop-mob-ribbon {
        flex-shrink: 0;
    }

    html:not(:lang(en)) .workshop-mob-title {
        font-size: 22px;
        hyphens: auto;
        overflow-wrap: anywhere;
    }
}

/* Workshops list logo, 1024-1199px: English scales the Mechanics Camps logo to
   1.05 (the others 1.2) via its alt text, which is the English title. A
   translated title misses that rule, so the logo got 1.2 and its wording was
   cut by the circle. Matching on the logo FILE works in any language. (From
   1200px an existing .lang-translated rule turns the scaling off.) */
@media (min-width: 1024px) and (max-width: 1199px) {
    html:not(:lang(en)) .wrksp-logo-box img[src*="logo_mechanics_camps"] {
        transform: scale(1.05);
    }
}

/* Workshop detail hero, tablet: the card is a fixed 320px tall and a
   translated "Book" label needs two lines, so the button ran 7-29px past the
   bottom of the card. The subtitle steps down a size and the description's
   scroll box is a little shorter (its text still scrolls), which makes room. */
@media (min-width: 768px) and (max-width: 1199px) {
    html:not(:lang(en)) .content-div > h1 + p {
        font-size: 15px;
    }

    html:not(:lang(en)) .work-desc {
        height: 72px;
    }
}

/* Home "join a free trial class": the heading, subtitle and button sit on the
   white part of a background photo. Translated headings are longer than
   "JOIN A FREE TRIAL CLASS", so at 1024px+ they ran 11-128px into the photo
   (English keeps ~50px clear). Every language except English: the heading gets
   a narrower cap, plus a smaller size and button label at 1024-1279px, where
   the white area is narrowest. */
@media (min-width: 1024px) and (max-width: 1279px) {
    html:not(:lang(en)) h1.hh {
        font-size: 40px;
        max-width: 470px;
    }

    html:not(:lang(en)) .join-box button span {
        font-size: 20px;
    }
}

@media (min-width: 1280px) {
    html:not(:lang(en)) h1.hh {
        max-width: 600px;
    }
}

@media (min-width: 1280px) and (max-width: 1439px) {
    html:not(:lang(en)) h1.hh {
        max-width: 560px;
    }
}

/* Phones, every language except English:
   - Workshops list: with the one-line "Creado Para Niños" label, the row's
     `max-[364px]:gap-1` (4px) let the two columns run together at 360px.
   - Workshop detail: long per-day text ("4 horas al día") goes under the
     number, as English does with its title-based rules (duration-long is set
     in workshops/[id]/page.tsx for text over 10 characters).
   - Workshop detail: a long title word ("PROGRAMACIÓN") ran past the card at
     30px in the 7/12 column beside the ribbon. */
@media (max-width: 767px) {
    html:not(:lang(en)) div:has(> .left-box) {
        gap: 12px;
    }

    html:not(:lang(en)) .mob-durations.duration-long {
        flex-direction: column;
        align-items: flex-start;
        gap: 0;
    }

    html:not(:lang(en)) [id^="Mobile-ribbon-"] .col-span-7 > p:first-child {
        font-size: 22px;
        hyphens: auto;
        overflow-wrap: anywhere;
    }
}

/* Program cards (home slider, programs page), every language except English:
   the grey bar fits two skill labels (each capped at 100px) beside a
   "More info" button that never wraps. Translated labels and button text are
   longer ("Fundamentos de Programación", "MÁS INFORMACIÓN"), so the second
   label slid up to 22px under the button and text spilled up to 20px past the
   card. Here the labels share the space left of the button and break long
   words with a hyphen, and the button may wrap to two lines - nothing overlaps
   or spills. Icons and text keep their English size. */
html:not(:lang(en)) .card_footer {
    gap: 6px;
}

html:not(:lang(en)) .card_footer > div:first-child {
    flex: 1 1 auto;
    min-width: 0;
    max-width: none;
}

html:not(:lang(en)) .card_footer > div:first-child > div {
    flex: 1 1 0;
    min-width: 0;
    max-width: none;
}

html:not(:lang(en)) .card_footer > div:first-child span {
    hyphens: auto;
    overflow-wrap: break-word;
    min-width: 0;
}

html:not(:lang(en)) .card_footer > a,
html:not(:lang(en)) .card_footer > button {
    flex-shrink: 0;
    white-space: normal;
    max-width: 92px;
    text-align: center;
    line-height: 1.15;
}
