/**
 * Forms
 */

/* All elements */
.field { margin-bottom: 30px; position:relative; }
.field label { display: inline-block; margin:0; }

[data-validate-for] { display:none; font-size:10px; line-height:10px; position:absolute; right:0; bottom:-1.2em; }
[data-validate-for].visible { display:block; }

/* Textfields & textareas */
.field.textfield input,
.field.textarea textarea { display: block; width: 100%; padding: 10px; border: 1px solid #ccc; }

/* Checkbox & Radio */
.field.checkbox label,
.field.radio label { display:flex; flex-direction:row; align-items:center; justify-content:flex-start; position:relative; margin-bottom:10px; cursor: pointer; }

.field.checkbox input,
.field.radio input,
.field.checkbox span:before,
.field.radio span:before { width:20px; height:20px; margin-right:10px; }

.field.checkbox span:before,
.field.radio span:before { content:''; position:absolute; left:0; top:50%; transform:translateY(-50%); border:1px solid #ccc; background:#fff; }

.field.checkbox span:after,
.field.radio span:after { content:''; position:absolute; left:3px; top:50%; transform:translateY(-50%); width: 14px; height:14px; background:#ccc; opacity:0; transition:all 0.5s ease 0s; }

.field.checkbox input:checked+span:after,
.field.radio input:checked+span:after { opacity: 1; }

.field.checkbox span:before,
.field.checkbox span:after { border-radius: 0; }

.field.radio span:before,
.field.radio span:after { border-radius: 50%; }

.field.radio.inline,
.field.checkbox.inline { display:flex; flex-direction:row; align-items:center; justify-content:flex-start; }
.field.radio.inline label,
.field.checkbox.inline label { margin-right:15px; margin-bottom:0; }

/* Select */
.field.select select { display:block; width:100%; padding:10px; border:1px solid #ccc; }

/* Captcha */
.field.captcha { display:flex; flex-direction:row; justify-content:center; }

/**
 * Navigation
 **/
 
/* Frontend editor */
.ct-widget.ct-ignition { position:fixed; left:auto; top:auto; right:20px; bottom:20px; z-index:10000; transition:all 0.5s ease 0s; }
.ct-widget.ct-ignition .ct-ignition__button { position:static; margin-top:10px;}

.ce-element { outline:2px dashed rgba(243, 156, 18, 0.5); }
.ce-element--focused, .ce-element:focus { outline:2px dashed rgba(243, 156, 18, 1); }

/**
 * Legal
 **/
.legal { margin:60px 0; }
.legal h1 { font-size:4rem; margin:0 0 1em 0; }
.legal h2 { font-size:3rem; margin:1em 0; }
.legal h3 { font-size:2.5rem; margin:1em 0; }
.legal h4 { font-size:2rem; margin:1em 0; }
.legal h5 { font-size:1.5rem; margin:1em 0; }
.legal table { width:100%; margin:2em 0; }
.legal table th,
.legal table td { padding:1em; border:1px solid rgba(0,0,0,0.25); }
 /* ==========================================================
   Test refonte accueil - classes isolées
   ========================================================== */
.message {
    display: none;
}
.ef-test-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-height: 48px;
    padding: 13px 22px;
    background: #000;
    border: 2px solid #000;
    color: #fff;
    font-size: 1.45rem;
    font-weight: 700;
    line-height: 1;
    text-transform: uppercase;
    transition: all 0.3s ease;
}

.ef-test-btn:hover {
    background: transparent;
    color: #000;
}

.ef-test-btn svg {
    width: 20px;
    fill: currentColor;
}

.ef-test-btn--video {
    background: #07a99d;
    border-color: #07a99d;
}

.ef-test-btn--video:hover {
    color: #07a99d;
}

/* Hero */
.ef-test-hero {
    position: relative;
    height: 650px;
    min-height: 650px;
    margin-bottom: 80px;
    overflow: hidden;
    background: #fff;
}

.ef-test-hero__background {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 0;

    width: 67%;
    height: 100%;

    max-width: none;
    object-fit: fill;
    object-position: left top;
}

.ef-test-hero__media {
    position: absolute;
    top: 0;
    right: 0;
    left: 60%;
    z-index: 1;
    height: 100%;
}

.ef-test-hero__swiper,
.ef-test-hero__slide,
.ef-test-hero__slide img {
    width: 100%;
    height: 100%;
}

.ef-test-hero__slide img {
    object-fit: cover;
}

.ef-test-hero__container {
    position: relative;
    z-index: 3;
    height: 650px;
    min-height: 650px;

    width: 60%;
    max-width: none;
    margin: 0;

    display: flex;
    align-items: center;
    justify-content: center;

    padding-left: clamp(40px, 6vw, 130px);
    padding-right: clamp(40px, 5vw, 90px);
}

.ef-test-hero__content {
    width: 100%;
    max-width: 760px;
    padding: clamp(42px, 4vw, 62px) clamp(42px, 4.5vw, 70px);
    background: rgba(255, 255, 255, 0.96);
    box-shadow: 0 22px 55px rgba(0, 0, 0, 0.12);
}

.ef-test-hero__content h1,
.ef-test-hero__content h2 {
    color: #000;
    font-size: 4rem;
    font-weight: 700;
    line-height: 1.15;
    margin-bottom: 22px;
}

.ef-test-hero__content p {
    color: #172033;
    line-height: 1.8;
    max-width: 620px;
}

.ef-test-hero__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 28px;
}

/* Formations */
.ef-test-formations {
    position: relative;
    z-index: 2;
    text-align: center;
}

.ef-test-formations__inner {
    padding: 70px 80px 95px;
}

.ef-test-formations__inner::before {
    content: "";
    position: absolute;
    inset: 0 80px;
    z-index: -1;
    background: #f1f1f1;
}

.ef-test-formations__inner h2 {
    color: #000;
    font-size: 4rem;
    font-weight: 400;
    line-height: 1.2;
    margin-bottom: 50px;
}

.ef-test-formations__grid {
    align-items: stretch;
}

.ef-test-formations__grid > li {
    margin-bottom: 30px;
}

/* Flip cards */
.ef-test-card {
    height: 100%;
    min-height: 330px;
    background: transparent;
    perspective: 1200px;
}

.ef-test-card__inner {
    position: relative;
    width: 100%;
    min-height: 330px;
    height: 100%;
    cursor: pointer;
    background: transparent;
    border: 0;
    transform-style: preserve-3d;
    transition: transform 0.65s ease;
}

.ef-test-card.is-flipped .ef-test-card__inner {
    transform: rotateY(180deg);
}

.ef-test-card__face {
    position: absolute;
    inset: 0;
    min-height: 330px;
    padding: 45px 34px;
    color: #fff;
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
    box-shadow: 0 18px 35px rgba(0, 0, 0, 0.12);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.ef-test-card__front img {
    width: 82px;
    max-height: 82px;
    object-fit: contain;
    margin-bottom: 28px;
}

.ef-test-card__back {
    transform: rotateY(180deg);
    align-items: flex-start;
    text-align: left;
}

.ef-test-card__title {
    display: block;
    width: 100%;
    font-size: 2.1rem;
    font-weight: 800;
    line-height: 1.35;
    text-align: center;
}

.ef-test-card__back .ef-test-card__title {
    margin-bottom: 20px;
    text-align: left;
}

.ef-test-card__hint,
.ef-test-card__return {
    display: block;
    margin-top: 22px;
    font-size: 1.25rem;
    font-weight: 400;
    opacity: 0.9;
}

.ef-test-card__return {
    width: 100%;
    text-align: center;
}

.ef-test-card__links {
    display: flex;
    flex-direction: column;
    gap: 10px;
    width: 100%;
}

.ef-test-card__links a {
    position: relative;
    color: #fff;
    font-size: 1.4rem;
    line-height: 1.35;
    padding-left: 18px;
    text-align: left;
}

.ef-test-card__links a::before {
    content: "•";
    position: absolute;
    left: 0;
    top: 0;
}

.ef-test-card__links a:hover,
.ef-test-card__links a:focus {
    text-decoration: underline;
}

.ef-test-card--yellow .ef-test-card__face {
    background-color: #ffcf2a;
}

.ef-test-card--purple .ef-test-card__face {
    background-color: #37246e;
}

.ef-test-card--green .ef-test-card__face {
    background-color: #07a99d;
}
/* ==========================================================
   Header test isolé
   ========================================================== */

.ef-test-header {
    position: relative;
    z-index: 20;
    width: 100%;
    background: #fff;
    box-shadow: 0 1px 0 rgba(0, 0, 0, 0.06);
    padding-right: 40px;
}

.ef-test-header__inner {
    height: 78px;
    min-height: 78px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 40px;
}

.ef-test-header__logo {
    display: flex;
    align-items: center;
    flex: 0 0 auto;
}

.ef-test-header__logo img {
    display: block;
    width: 120px;
    max-height: 70px;
    object-fit: contain;
}

.ef-test-desktop-nav {
    flex: 1 1 auto;
    display: flex;
    justify-content: flex-end;
}

.ef-test-desktop-nav__list {
    height: 78px;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 34px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.ef-test-desktop-nav__item {
    position: relative;
}

.ef-test-desktop-nav__item > a,
.ef-test-desktop-nav__trigger {
    min-height: 78px;
    padding: 0;
    color: #000;
    font-size: 1.35rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.02em;
    line-height: 1;
    border: 0;
    background: transparent;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.ef-test-desktop-nav__item > a:hover,
.ef-test-desktop-nav__trigger:hover,
.ef-test-desktop-nav__item:focus-within > a,
.ef-test-desktop-nav__item:focus-within > .ef-test-desktop-nav__trigger {
    color: #07a99d;
}

.ef-test-desktop-nav__chevron {
    font-size: 1.1rem;
    line-height: 1;
    transform: translateY(-1px);
}

.ef-test-desktop-nav__dropdown {
    position: absolute;
    left: 50%;
    top: 100%;
    z-index: 30;
    min-width: 270px;
    padding: 18px;
    background: #fff;
    border: 1px solid rgba(0, 0, 0, 0.08);
    box-shadow: 0 18px 45px rgba(0, 0, 0, 0.14);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateX(-50%) translateY(12px);
    transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s ease;
}

.ef-test-desktop-nav__dropdown--wide {
    width: min(760px, calc(100vw - 80px));
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px 28px;
}

.ef-test-desktop-nav__item--dropdown:hover .ef-test-desktop-nav__dropdown,
.ef-test-desktop-nav__item--dropdown:focus-within .ef-test-desktop-nav__dropdown {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateX(-50%) translateY(0);
}

.ef-test-desktop-nav__dropdown a {
    display: block;
    color: #000;
    font-size: 1.35rem;
    line-height: 1.4;
    padding: 9px 10px;
    border-radius: 4px;
}
/* Sous-menus de niveau 2 dans les dropdowns desktop */
.ef-test-desktop-nav__subitem {
    position: relative;
}

.ef-test-desktop-nav__subtrigger {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;

    width: 100%;
    padding: 9px 10px;
    border: 0;
    border-radius: 4px;
    background: transparent;

    color: #000;
    font-family: inherit;
    font-size: 1.35rem;
    font-weight: 400;
    line-height: 1.4;
    text-align: left;

    cursor: default;
    appearance: none;
    -webkit-appearance: none;
}

.ef-test-desktop-nav__subtrigger span {
    font-size: 1.8rem;
    line-height: 1;
    transform: translateY(-1px);
}

.ef-test-desktop-nav__subitem:hover > .ef-test-desktop-nav__subtrigger,
.ef-test-desktop-nav__subitem:focus-within > .ef-test-desktop-nav__subtrigger {
    color: #07a99d;
    background: rgba(7, 169, 157, 0.08);
}

.ef-test-desktop-nav__submenu {
    position: absolute;
    top: 0;
    left: calc(100% + 8px);
    min-width: 230px;
    padding: 14px;
    background: #fff;
    border: 1px solid rgba(0, 0, 0, 0.08);
    box-shadow: 0 18px 45px rgba(0, 0, 0, 0.14);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateX(10px);
    transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s ease;
    z-index: 40;
}

.ef-test-desktop-nav__subitem:hover > .ef-test-desktop-nav__submenu,
.ef-test-desktop-nav__subitem:focus-within > .ef-test-desktop-nav__submenu {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateX(0);
}

.ef-test-desktop-nav__submenu a {
    white-space: nowrap;
}
.ef-test-desktop-nav__subitem--open-left > .ef-test-desktop-nav__submenu {
    left: auto;
    right: calc(100% + 8px);
    transform: translateX(-10px);
}

.ef-test-desktop-nav__subitem--open-left:hover > .ef-test-desktop-nav__submenu,
.ef-test-desktop-nav__subitem--open-left:focus-within > .ef-test-desktop-nav__submenu {
    transform: translateX(0);
}

.ef-test-desktop-nav__dropdown a:hover,
.ef-test-desktop-nav__dropdown a:focus {
    color: #07a99d;
    background: rgba(7, 169, 157, 0.08);
}

.ef-test-desktop-nav__group strong {
    display: block;
    color: #000;
    font-size: 1.25rem;
    text-transform: uppercase;
    margin-bottom: 8px;
}

.ef-test-mobile-nav {
    display: none;
}

/* Sécurité contre les anciennes règles globales du header */
.ef-test-header .hamburger {
    margin-left: 0;
}



/**
 * General Elements
 **/

html { font-size:10px; }
body { font-size:1.6rem; font-family:'Open Sans'; font-weight:400; }
:focus, button:focus { outline:none; }

/* Images */
img, svg { max-width:100%; height:auto; }
img[data-sizes] { display:block; width:100%; }
/*
.image { position: relative; }
.image > * { position: absolute; top: 0; left: 0; width: 100%; height: 100%; display: block; }
.image:after { content: ''; display: block; height: 0; width: 100%; }
*/

/* Paragraphs */
p { margin-bottom:1em; line-height:2em; }
p:last-child { margin-bottom:0; }

/* Link */
a { transition:all 0.5s ease 0s; }
a:hover { text-decoration:none; }

a svg { transition:all 0.5s ease 0s; }

/* Lists */
ul, ol { margin-bottom:0; padding:0; list-style:none; }

/* Buttons */
.btn { background:#000; padding:30px 50px; color:#fff; text-transform:uppercase; font-size:1.8rem; font-weight:700; display:inline-block; border:2px solid #000; transition:all 0.5s ease 0s; }
.btn:hover { background:transparent; color:#000; }

.btn.small { padding:15px 30px; font-size:1.4rem; }


/**
 * Components
 **/
 
/* Generic */
.relative { position:relative; }
.align-center { align-items:center; }
.padding { padding-top:100px; padding-bottom:100px; }
.container-fluid { padding-left:50px; padding-right:50px; }
[data-bg] { background-size:cover; background-position:center center; background-repeat:no-repeat; }

/* Alert */
.alert { position: relative; padding: .75rem 1.25rem; margin-bottom: 1rem; border: 1px solid transparent; border-radius: .25rem; }
.alert .close { display:none; }
.alert-success { color: #155724; background-color: #d4edda; border-color: #c3e6cb; }
.alert-primary { color: #004085; background-color: #cce5ff; border-color: #b8daff; }
.alert-secondary { color: #383d41; background-color: #e2e3e5; border-color: #d6d8db; }
.alert-danger { color: #721c24; background-color: #f8d7da; border-color: #f5c6cb; }
.alert-warning { color: #856404; background-color: #fff3cd; border-color: #ffeeba; }
.alert-info { color: #0c5460; background-color: #d1ecf1; border-color: #bee5eb; }

/* message */
.message { padding:5px 0; color:#fff; background:#07a99d; text-align:center; position:relative; z-index:2; }

/* Heading */
.heading { min-height:750px; display:flex; align-items:center; justify-content: center; position:relative; }
.heading:before { content:''; position:absolute; left:0; top:0; width:100%; height:100%; z-index:1; background:rgba(0,0,0,0.2); }
.heading .video a { color:#fff; text-transform:uppercase; font-weight:bold; }
.heading .video svg { width:50px; margin-right:30px; fill:#ff0000; }
.heading .container { margin-top:auto; position:relative; z-index:2; }
.heading .caption { padding-bottom:150px; }
.heading .uppertitle { color:#fff; text-transform:uppercase; font-size:2rem; font-weight:600; }
.heading .uppertitle:after { content:''; display:block; width:30px; height:2px; background:#fff; margin:10px 0 50px 0; }
.heading .title { font-weight:700; font-size:7rem; color:#fff; display:flex; flex-direction:row; align-items:flex-start; line-height:1.2em; }
.heading .title svg { width:50px; fill:#fff; margin-right:30px; margin-top:15px; }
.heading .picto { position:absolute; right:0; bottom:0; transform:translateY(50%); }

/* Accordion */
.accordions { box-shadow: 0px 0px 20px -10px rgba(0,0,0,0.5); }
.accordion .title { padding:50px 80px 50px 150px; background:#3e3e3e; color:#fff; display:flex; flex-direction:row; align-items:center; justify-content:space-between; cursor:pointer; margin-bottom:5px; border:none; }
.accordion .title .upper { display:block; font-weight:700; font-size:2.2rem; margin-bottom:5px; }
.accordion .title .lower { display:block; font-size:1.8rem; font-weight:400; }
.accordion .title .icon { width:75px; height:75px; background:rgba(0,0,0,0.2); display:flex; align-items:center; justify-content:center; border-radius:100%; transition:all 0.5s ease 0s; }
.accordion .title svg { width:15px; fill:#fff; }
.accordion .description { padding:80px 80px 80px 150px; border:none; }
.accordion:last-child .title { margin-bottom:0; }

.accordion.open .title { background:#585858; }
.accordion.open .title .icon { transform:rotate(-90deg); }

/* Forms */
.field.textfield {  }
.field.textfield label { position:absolute; left:0; top:50%; transform:translateY(-50%); transition:all 0.3s ease 0s; z-index:2; font-weight:bold; }
.field.textfield input { border-color:#a9a9a9; border-width:0 0 1px 0; padding:20px 0 5px 0; border-radius:0; height:auto; background:transparent; }
.field.textfield.active label,
.field.textfield.filled label { top:0; transform:translateY(0); font-size:1.2rem; }

.field.textarea label { position:absolute; left:0; top:10px; transition:all 0.5s ease 0s; z-index:2; font-weight:bold; }
.field.textarea textarea { border-color:#a9a9a9; border-width:0 0 1px 0; max-height:0; padding:10px 0; min-height:50px; max-height:50px; transition:all 0.5s ease 0s; background:transparent; }
.field.textarea.active textarea,
.field.textarea.filled textarea { min-height:300px;  max-height:300px; padding:40px 0;  }
.field.textarea.active label,
.field.textarea.filled label { font-size:1.2rem; }

.field.submit { text-align:center; }
.field.submit .btn { display:block; width:100%; }

.fields .label { font-weight:bold; margin-bottom:15px; }
.field.checkbox span:before, .field.radio span:before { border-color:#dcdcdc; }
.field.checkbox span:after, .field.radio span:after { left:0; width:20px; height:20px; background-color:#07a99d; }

/* Page */
.page h2 { font-size:4rem; }
.page .heading {  }
.page .intro { background-position:35% -300px; background-size:auto; background-repeat:no-repeat; }
.page .intro .image img { object-fit:cover; }
.page .intro .image:after { padding-bottom: 115.78947368421052% }
.page .intro .image iframe { max-width:100%; }
.page .intro h3 { color:#1db1a6; font-weight:bold;  }
.page .separator { background-position:center top; padding-top:150px; }
.page .separator .image:after { padding-bottom: 68.88888888888889% }
.page .separator .text h2 { font-size:3.5rem; font-weight:400; line-height:1em; margin-bottom:30px; }
.page .separator .download { color:#000; display:inline-block; }
.page .separator .more { font-size:2rem; }
.page .separator .image:after { padding-bottom: 74.54228421970357% }
.page .separator .icon { display:block; margin:40px auto; width:50px; }
.page .separator .icon svg { width:50px; height:50px; display:flex; align-items:center; justify-content:center; padding:12px; border-radius:100%; border:1px solid #000; }
.page .separator .link { font-size:3.5rem; line-height:1.2em; }
.page .separator .relative:after { content:''; position:absolute; right:0; top:100px; bottom:30px; width:calc(100% - 450px); background:#ededed; z-index:-1; }
.page .separator .text { margin-top:50px; font-size:3.5rem;  }
.page .separator .text p { line-height:1.4em; }
.page .separator .quote { font-size:3.5rem; font-weight:300; text-align:center; display:flex; max-width:500px; align-items:center; justify-content:center; margin:100px auto; position:relative; }
.page .separator .quote:before { content:''; position:absolute; left:-80px; top:-80px; width:75px; height:50px; background:url(../themes/lycee/assets/img/quote-open.png) no-repeat center center / contain; }
.page .separator .quote:after { content:''; position:absolute; right:-80px; bottom:-80px; width:75px; height:50px; background:url(../themes/lycee/assets/img/quote-close.png) no-repeat center center / contain; }
.page .separator .quote p { line-height:1.4em; }
.page .slider { position:relative; }
.page .slider .chevron-pattern { width:300px; height:500px; background-size:contain; position:absolute; right:-50px; bottom:-50px; z-index:-1; transform:rotate(180deg); }
.page .slider h2 { margin-bottom:80px; }
.page .slider .relative { padding-right:100px; }
.page .slider .swiper-wrapper { box-sizing:border-box; }
.page .slider .swiper-slide { background:#f2f2f2; padding:80px; }
.page .slider .swiper-slide h3 { margin-bottom:50px; }
.page .slider .swiper-slide h4 { color:#1db1a6; }
.page .slider .swiper-slide ul li { margin-bottom:10px; position:relative; padding-left:20px; }
.page .slider .swiper-slide ul li:before { content:''; background:url(../themes/lycee/assets/vendor/fontawesome/svgs/solid/arrow-right.svg) no-repeat center center / contain; width:15px; height:15px; display:inline-block; position:absolute; left:0; top:4px; }
.page .slider .pagination { position:absolute; right:0; top:100px; display:flex; flex-direction:column; align-items:flex-end; justify-content:flex-start; }
.page .slider .pagination .swiper-pagination-bullet  { margin-bottom:15px; display:flex; flex-direction:row; align-items:center; justify-content:flex-end; width:auto; height:auto; background:none; opacity:1; }
.page .slider .pagination .bullet { width:30px; height:30px; background:none; border:1px solid transparent; display:flex; align-items:center; justify-content:center; border-radius:100%; margin-right:10px; }
.page .slider .pagination .bullet .inner { width:19px; height:18px; display:inline-block; border:1px solid #a3a3a3; border-radius:100%; }
.page .slider .pagination .bullet-number { color:#000; font-weight:bold; font-size:2rem; }
.page .slider .pagination .swiper-pagination-bullet-active .bullet { border-color:#ffcf2a; }
.page .slider .pagination .swiper-pagination-bullet-active .bullet .inner { border-color:#ffcf2a; background-color:#ffcf2a; }
.page .slider .navigation { text-align:center; margin-top:50px; }
.page .slider .arrow { width:50px; height:50px; margin:0 15px; display:inline-flex; align-items:center; justify-content:center; background:transparent; border:1px solid #000; border-radius:100%; cursor:pointer; }
.page .slider .arrow svg { width:20px; }

/**
 * Layout
 **/
 
.hamburger { padding:25px 50px; background:#0b0b0c; color:#fff; margin-left:80px; display:flex; flex-direction:row; align-items:center; justify-content:center; position:static; }
.hamburger-inner, .hamburger-inner:after, .hamburger-inner:before { background:#fff; border-radius:0; height:3px; }
.hamburger .text { color:#fff; text-transform:uppercase; margin-right:15px; }
.hamburger.is-active .hamburger-inner, .hamburger.is-active .hamburger-inner:after, .hamburger.is-active .hamburger-inner:before { background-color:#fff; }

#header { position:relative; left:0; top:0; width:100%; z-index:5;  }
#header .row { height:200px; }
#header .wrapper { display:flex; flex-direction:row; align-items:center; justify-content:flex-end; }
#header .navigation { display:flex; flex-direction:row; align-items:flex-start; justify-content:flex-end; }
#header .icons ul { display:flex; flex-direction:row; align-items:center; justify-content:flex-end; }
#header .icons li { list-style:none; margin-left:15px; }
#header .icons a { width:50px; height:50px; display:flex; align-items:center; justify-content:center; background:#ededed; border-radius:100%; }
#header .icons svg { width:25px; max-height:25px; fill:#555556; }
#header .icons a:hover { background:#07a99d; }
#header .icons a:hover svg { fill:#fff; }

#overlay { position:fixed; left:0; top:0; width:100%; height:100vh; background:#0b0b0c; z-index:2; transform:translateY(-100%); transition:all 0.5s ease 0s;  display:flex; align-items:center; justify-content:center; color:#fff; }
#overlay .hamburger { position:fixed; right:30px; top:30px;}
#overlay ul { list-style:none; }
#overlay ul ul { display:none; padding-left:20px; }
#overlay ul li { cursor:pointer; }
#overlay a { color:#fff; }
#overlay span { display:flex; flex-direction:row; align-items:center; justify-content:space-between; }
#overlay span img { width:10px; filter:invert(100%); transition:all 0.5s ease 0s; }
#overlay li.active > span img { transform:rotate(90deg); }

#overlay .lvl1 {  }
#overlay .lvl1 > li { padding:5px 0; font-size:2.4rem; font-weight:bold; text-transform:uppercase; border-bottom:1px solid rgba(255,255,255,0.2); }
#overlay .lvl1 > li:last-child { border:none; }
#overlay .lvl2 {  }
#overlay .lvl2 > li { font-size:2rem; text-transform:uppercase; font-weight:700; border-top:1px solid rgba(255,255,255,0.2); padding:5px 0; }
#overlay .lvl3 {  }
#overlay .lvl3 > li { font-size:2rem; text-transform:none; font-weight:400; }

body.open { overflow:hidden; }
body.open #overlay { transform:translateY(0); }

#page { /*background:url(../img/header2.png) no-repeat center top;*/ width:100%; overflow:hidden; }

#footer { color:#fff; }
#footer h3 { color:#07a99d; font-size:2.6rem; font-weight:bold; margin-bottom:20px; }
#footer .phones { margin:60px 0; font-size:2rem; font-weight:bold; }
#footer .phones p { line-height:1.4em; }
#footer .center { text-align:center; }
#footer .center .btn { background:#07a99d; margin:60px 0; border-color:#07a99d; }
#footer .center .btn:hover { background:transparent; color:#07a99d; }
#footer .center .address b { font-weight:bold; font-size:2.4rem; display:block; }
#footer .center .socials ul { list-style:none; display:flex; flex-direction:row; align-items:center; justify-content:center; }
#footer .center .socials li { margin:0 10px; }
#footer .center .socials a { display:flex; align-items:center; justify-content:center; width:50px; height:50px; color:#fff; border-radius:100%; background:#ccc; }
#footer .center .socials svg { width:26px; fill:#fff; }
#footer .center .socials .instagram a { background-color:#6926bc; }
#footer .center .socials .twitter a { background-color:#2392d8; }
#footer .center .socials .youtube a { background-color:#e40904; }
#footer .links { margin-bottom:80px; }
#footer .links:last-child { margin-bottom:0; }
#footer .links ul { list-style:none; }
#footer .links li { margin:5px 0; }
#footer .links a { color:#fff; }
#footer .copyright { color:rgba(255, 255, 255, 0.3); margin-top:60px; }
#footer .copyright a { color:rgba(255, 255, 255, 0.3); }
#footer .copyright a:hover { color:#fff; }
#footer .right { display:flex; flex-direction:column; align-items:flex-end; justify-content:flex-start; }
#footer .right .links { min-width:250px; }

/**
 * Page specific
 **/
 
/* Accueil */
#accueil #page { background:none; padding-top:0; } 
#accueil h1, #accueil h2 { font-size:4rem; font-weight:400; line-height:1.2em; margin-bottom:30px; }
#accueil h1 b, #accueil h2 b { font-weight:600; }
#accueil #header .logo img { padding:40px 20px; background:#fff; }
#accueil #header .row { align-items:flex-start; }
#accueil #header .navigation { margin-top:30px; }

#accueil .slider { position:relative; margin-top:-280px; margin-bottom:100px; }
#accueil .slider .swiper-container { width:50vw; float:right; position:absolute; right:0; top:0; z-index:-1; height:100%; }
#accueil .slider .image img { height:100%; object-fit:cover; }
#accueil .slider .image:after { padding-bottom:100%; }
#accueil .slider .caption { position:absolute; left:32vw; top:50%; z-index:3; max-width:500px; }
#accueil .slider .caption .buttons { display:flex; flex-direction:row; align-items:center; justify-content:flex-start; }
#accueil .slider .caption .btn { margin-top:30px; padding:10px 20px; margin-right:10px; display:inline-flex; flex-direction:row; align-items:center; justify-content:center; }
#accueil .slider .caption .btn svg { width:20px; fill:#fff; margin-right:10px; }
#accueil .slider .caption .btn:hover svg { fill:#000; }

#accueil .formations { text-align:center; position:relative; z-index:2; }
#accueil .formations .relative { padding-top:50px; padding-bottom:100px; }
#accueil .formations .relative:before { content:''; position:absolute; left:80px; top:0; right:80px; bottom:0; background:#ededed; z-index:-2; }
#accueil .formations h2 { font-size:4rem; font-weight:400;  line-height:1.2em; margin-bottom:50px; }
#accueil .formations .box { background:#777; padding:80px 50px 50px 50px; height:100%; display:flex; flex-direction:column; align-items:center; justify-content:flex-end; }
#accueil .formations img { margin-bottom:30px; }
#accueil .formations h3 { font-size:2rem; font-weight:700; }
#accueil .formations a { color:#fff; }
#accueil .formations .yellow { background-color:#ffcf2a; }
#accueil .formations .purple { background-color:#37246e; }
#accueil .formations .green { background-color:#07a99d; }
#accueil .blog h2 { margin-bottom:80px; text-align:center; }
#accueil .blog h3 { font-size:2.4rem; margin-bottom:30px; }
#accueil .blog .swiper-wrapper { box-sizing:border-box; }
#accueil .blog .box { box-shadow: 0px 0px 40px -10px rgba(0,0,0,0.35); padding:80px; }
#accueil .blog .date { color:#07a99d; font-weight:bold; }
#accueil .blog .date:after { content:''; display:block; width:32px; height:2px; background:#07a99d; margin:30px 0;  }
#accueil .blog .pagination { position:static; margin-top:50px; display:flex; flex-direction:row; align-items:center; justify-content:center; }
#accueil .blog .pagination .swiper-pagination-bullet  { margin-bottom:15px; display:flex; flex-direction:row; align-items:center; justify-content:center; width:auto; height:auto; background:none; opacity:1; }
#accueil .blog .pagination .bullet { width:30px; height:30px; background:none; border:1px solid transparent; display:flex; align-items:center; justify-content:center; border-radius:100%; margin-right:10px; }
#accueil .blog .pagination .bullet .inner { width:19px; height:18px; display:inline-block; border:1px solid #a3a3a3; border-radius:100%; }
#accueil .blog .pagination .bullet-number { color:#000; font-weight:bold; font-size:2rem; }
#accueil .blog .pagination .swiper-pagination-bullet-active .bullet { border-color:#ffcf2a; }
#accueil .blog .pagination .swiper-pagination-bullet-active .bullet .inner { border-color:#ffcf2a; background-color:#ffcf2a; }
#accueil .blog .btn { margin-top:30px; }
#accueil .erasmus { padding-top:150px; padding-bottom:150px; margin-top:100px; }
#accueil .erasmus .image:after { padding-bottom: 67% }
#accueil .erasmus .image img { box-shadow: 0px 0px 20px 0px rgba(0,0,0,0.30); }
#accueil .erasmus .text .chevron { margin:30px; display:none; }
#accueil .erasmus .text .chevron svg { width:90px; }
#accueil .widgets { text-align:center; padding:60px 0; }
#accueil .widgets .social { padding:60px 0; }
#accueil .widgets .btn { padding:15px 45px 15px 30px; border-radius:50px; display:inline-flex; flex-direction:row; align-items:center; justify-content:center; margin-bottom:60px; }
#accueil .widgets .btn svg { margin-right:30px; fill:#fff; width:30px; }
#accueil .widgets .twitter .btn { background:#2392d8; border-color:#2392d8; }
#accueil .widgets .twitter .btn:hover { background:transparent; color:#2392d8; }
#accueil .widgets .twitter .btn:hover svg { fill:#2392d8; }
#accueil .widgets .instagram .btn { background:#6926bc; border-color:#6926bc; }
#accueil .widgets .instagram .btn:hover { background:transparent; color:#6926bc; }
#accueil .widgets .instagram .btn:hover svg { fill:#6926bc; }

/* Formation */
#formation-pros .content .heading .title { color:#04a69a; margin-bottom:30px; }
#formation-pros .content .heading .title svg { fill:#04a69a;  }
#formation-pros .content .testimonial { background-position:35% -300px; background-size:auto; background-repeat:no-repeat; padding:170px 0 50px 0; }
#formation-pros .content .testimonial .title { font-size:4.5rem; margin-bottom:40px; }
#formation-pros .content .testimonial .image:after { padding-bottom: 88.46153846153847% }
#formation-pros .content .testimonial .author { font-style:italic; font-weight:600; text-align:right; }
#formation-pros .content .accordion.open .title { background:#04a69a; }
#formation-pros .content .diplomas .description .icon { position:absolute; left:0; top:-15px; width:90px; height:90px; border-radius:100%; background:#00978c; display:flex; align-items:center; justify-content:center; padding:10px; }
#formation-pros .content .diplomas .description .icon img { max-width:50px; max-height:60px; }
#formation-pros .content .diplomas .description .download { display:flex; flex-direction:row; align-items:center; justify-content:flex-start; }
#formation-pros .content .diplomas .description .download h3 { margin-top:15px; }
#formation-pros .content .diplomas .description .download a { color:#04a69a; }
#formation-pros .content .diplomas .description h2 { font-size:4.5rem; margin-bottom:80px; font-weight:bold; padding-left:150px; }
#formation-pros .content .diplomas .description h3 { font-size:2.5rem; font-weight:600; }
#formation-pros .content .diplomas .description ul { list-style:none; }
#formation-pros .content .diplomas .description li { margin-bottom:50px; position:relative; padding-left:150px; }
#formation-pros .content .diplomas .description p { font-size:1.5rem; }
#formation-pros .content .separator { background-position:center top; }
#formation-pros .content .video { text-align:center; }
#formation-pros .content .video h2 { font-size:3rem; margin-bottom:1em; }
#formation-pros .content .video iframe { width:800px; height:450px; }
#formation-pros .content .punchline { font-size:3.5rem; font-weight:300; text-align:center; display:flex; max-width:500px; align-items:center; justify-content:center; margin:100px auto; position:relative; }
#formation-pros .content .punchline:before { content:''; position:absolute; left:-80px; top:-80px; width:75px; height:50px; background:url(../themes/lycee/assets/img/quote-open.png) no-repeat center center / contain; }
#formation-pros .content .punchline:after { content:''; position:absolute; right:-80px; bottom:-80px; width:75px; height:50px; background:url(../themes/lycee/assets/img/quote-close.png) no-repeat center center / contain; }
#formation-pros .content .punchline p { line-height:1.4em; }
#formation-pros .content .brochure .download { color:#000; }
#formation-pros .content .brochure .more { font-size:2rem; }
#formation-pros .content .brochure .image:after { padding-bottom: 74.54228421970357% }
#formation-pros .content .brochure .icon { display:block; margin:40px 0; }
#formation-pros .content .brochure .icon svg { width:50px; height:50px; display:flex; align-items:center; justify-content:center; padding:12px; border-radius:100%; border:1px solid #000; }
#formation-pros .content .brochure .link { font-size:3.5rem; line-height:1.2em; }
#formation-pros .content .brochure .relative:after { content:''; position:absolute; right:0; top:100px; bottom:30px; width:calc(100% - 450px); background:#ededed; z-index:-1; }
#formation-pros .content .brochure .text { margin-top:50px; }

#formation-general .content .heading .title { color:#ffcf2a; margin-bottom:30px; }
#formation-general .content .heading .title svg { fill:#ffcf2a;  }
#formation-general .content .heading .caption { padding-bottom:60px; }
#formation-general .content .testimonial { background-position:35% -300px; background-size:auto; background-repeat:no-repeat; padding:170px 0 50px 0; }
#formation-general .content .testimonial .title { font-size:4.5rem; margin-bottom:40px; }
#formation-general .content .testimonial .image:after { padding-bottom: 88.46153846153847% }
#formation-general .content .testimonial .author { font-style:italic; font-weight:600; text-align:right; }
#formation-general .content .accordion.open .title { background:#ffcf2a; }
#formation-general .content .diplomas .description { padding:0 150px 80px 150px; }
#formation-general .content .diplomas .description .inner { margin-bottom:60px; }
#formation-general .content .diplomas .description .icon { position:absolute; left:0; top:-15px; width:90px; height:90px; border-radius:100%; background:#00978c; display:flex; align-items:center; justify-content:center; padding:10px; }
#formation-general .content .diplomas .description .icon img { max-width:50px; max-height:60px; }
#formation-general .content .diplomas .description h2 { font-size:4.5rem; margin-bottom:80px; font-weight:bold; padding-left:150px; }
#formation-general .content .diplomas .description h3 { font-size:2.5rem; font-weight:600; margin:0 -150px 0 -150px; background:#f3f3f3; padding:30px 150px;}
#formation-general .content .diplomas .description ul { list-style:none; margin:50px 0; }
#formation-general .content .diplomas .description li { margin:30px 0; font-size:1.8rem; display:flex; flex-direction:row; align-items:flex-start; justify-content:flex-start; }
#formation-general .content .diplomas .description li:before { content:''; display:inline-block; margin-right:15px; width:15px; height:20px; background:url(../themes/lycee/assets/img/puce-general.png) no-repeat center center / contain; }
#formation-general .content .diplomas .description p { font-size:1.5rem; }
#formation-general .content .separator { background-position:center top; }
#formation-general .content .video { text-align:center; }
#formation-general .content .video h2 { font-size:3rem; margin-bottom:1em; }
#formation-general .content .video iframe { width:800px; height:450px; }
#formation-general .content .punchline { font-size:3.5rem; font-weight:300; text-align:center; display:flex; max-width:500px; align-items:center; justify-content:center; margin:100px auto; position:relative; }
#formation-general .content .punchline:before { content:''; position:absolute; left:-80px; top:-80px; width:75px; height:50px; background:url(../themes/lycee/assets/img/quote-open.png) no-repeat center center / contain; }
#formation-general .content .punchline:after { content:''; position:absolute; right:-80px; bottom:-80px; width:75px; height:50px; background:url(../themes/lycee/assets/img/quote-close.png) no-repeat center center / contain; }
#formation-general .content .punchline p { line-height:1.4em; }
#formation-general .content .brochure .download { color:#000; }
#formation-general .content .brochure .more { font-size:2rem; }
#formation-general .content .brochure .image:after { padding-bottom: 74.54228421970357% }
#formation-general .content .brochure .icon { display:block; margin:40px 0; }
#formation-general .content .brochure .icon svg { width:50px; height:50px; display:flex; align-items:center; justify-content:center; padding:12px; border-radius:100%; border:1px solid #000; }
#formation-general .content .brochure .link { font-size:3.5rem; line-height:1.2em; }
#formation-general .content .brochure .relative:after { content:''; position:absolute; right:0; top:100px; bottom:30px; width:calc(100% - 450px); background:#ededed; z-index:-1; }
#formation-general .content .brochure .text { margin-top:50px; }

#formation-technos .content .heading .title { color:#37246e; margin-bottom:30px; }
#formation-technos .content .heading .title svg { fill:#37246e;  }
#formation-technos .content .heading .caption { padding-bottom:60px; }
#formation-technos .content .testimonial { background-position:35% -300px; background-size:auto; background-repeat:no-repeat; padding:170px 0 50px 0; }
#formation-technos .content .testimonial .title { font-size:4.5rem; margin-bottom:40px; }
#formation-technos .content .testimonial .image:after { padding-bottom: 88.46153846153847% }
#formation-technos .content .testimonial .author { font-style:italic; font-weight:600; text-align:right; }
#formation-technos .content .accordion.open .title { background:#37246e; }
#formation-technos .content .diplomas .description { padding:0 150px 80px 150px; }
#formation-technos .content .diplomas .description .inner { margin-bottom:60px; }
#formation-technos .content .diplomas .description .icon { position:absolute; left:0; top:-15px; width:90px; height:90px; border-radius:100%; background:#00978c; display:flex; align-items:center; justify-content:center; padding:10px; }
#formation-technos .content .diplomas .description .icon img { max-width:50px; max-height:60px; }
#formation-technos .content .diplomas .description h2 { font-size:4.5rem; margin-bottom:80px; font-weight:bold; padding-left:150px; }
#formation-technos .content .diplomas .description h3 { font-size:2.5rem; font-weight:600; margin:0 -150px 0 -150px; background:#f3f3f3; padding:30px 150px;}
#formation-technos .content .diplomas .description ul { list-style:none; margin:50px 0; }
#formation-technos .content .diplomas .description li { margin:30px 0; font-size:1.8rem; display:flex; flex-direction:row; align-items:flex-start; justify-content:flex-start; }
#formation-technos .content .diplomas .description li:before { content:''; display:inline-block; margin-right:15px; width:15px; height:20px; background:url(../themes/lycee/assets/img/puce-techno.png) no-repeat center center / contain; }
#formation-technos .content .diplomas .description p { font-size:1.5rem; }
#formation-technos .content .separator { background-position:center top; }
#formation-technos .content .video { text-align:center; }
#formation-technos .content .video h2 { font-size:3rem; margin-bottom:1em; }
#formation-technos .content .video iframe { width:800px; height:450px; }
#formation-technos .content .punchline { font-size:3.5rem; font-weight:300; text-align:center; display:flex; max-width:500px; align-items:center; justify-content:center; margin:100px auto; position:relative; }
#formation-technos .content .punchline:before { content:''; position:absolute; left:-80px; top:-80px; width:75px; height:50px; background:url(../themes/lycee/assets/img/quote-open.png) no-repeat center center / contain; }
#formation-technos .content .punchline:after { content:''; position:absolute; right:-80px; bottom:-80px; width:75px; height:50px; background:url(../themes/lycee/assets/img/quote-close.png) no-repeat center center / contain; }
#formation-technos .content .punchline p { line-height:1.4em; }
#formation-technos .content .brochure .download { color:#000; }
#formation-technos .content .brochure .more { font-size:2rem; }
#formation-technos .content .brochure .image:after { padding-bottom: 74.54228421970357% }
#formation-technos .content .brochure .icon { display:block; margin:40px 0; }
#formation-technos .content .brochure .icon svg { width:50px; height:50px; display:flex; align-items:center; justify-content:center; padding:12px; border-radius:100%; border:1px solid #000; }
#formation-technos .content .brochure .link { font-size:3.5rem; line-height:1.2em; }
#formation-technos .content .brochure .relative:after { content:''; position:absolute; right:0; top:100px; bottom:30px; width:calc(100% - 450px); background:#ededed; z-index:-1; }
#formation-technos .content .brochure .text { margin-top:50px; }

/* Contact */
#contact .form h2 { text-align:center; margin-bottom:80px; }
#contact .form .inner { background:#ededed; padding:80px 200px; }
#contact .form .chevron-green { width:300px; height:500px; background-size:contain; transform:rotate(180deg); position:absolute; right:-100px; top:300px; z-index:-1; }
#contact .form .chevron-pattern { width:300px; height:500px; background-size:contain; position:absolute; left:-100px; bottom:100px; z-index:-1; }

/* Les classes */
#les-classes h2 { font-size:4rem; margin-bottom:1em; }
#les-classes .carousel { margin-bottom:100px; }

#les-classes .pagination { display:flex; flex-direction:row; align-items:center; justify-content:center; margin-top:50px; }
#les-classes .pagination .swiper-pagination-bullet { display:flex; flex-direction:row; align-items:center; justify-content:flex-end; width:auto; height:auto; background:none; opacity:1; }
#les-classes .pagination .bullet { width:30px; height:30px; background:none; border:1px solid transparent; display:flex; align-items:center; justify-content:center; border-radius:100%; margin-right:10px; }
#les-classes .pagination .bullet .inner { width:18px; height:18px; display:inline-block; border:1px solid #a3a3a3; border-radius:100%; }
#les-classes .pagination .bullet-number { color:#000; font-weight:bold; font-size:2rem; }
#les-classes .pagination .swiper-pagination-bullet-active .bullet { border-color:#ffcf2a; }
#les-classes .pagination .swiper-pagination-bullet-active .bullet .inner { border-color:#ffcf2a; background-color:#ffcf2a; }

/* Les horaires */
#les-horaires .table thead th { padding-bottom:30px; }
#les-horaires .table thead th strong { display:inline-block; padding:15px 40px; background:#ccc;  border-radius:40px; color:#fff; min-width:250px; }
#les-horaires .table thead th:nth-child(1) strong { background-color:#37246e; }
#les-horaires .table thead th:nth-child(2) strong { background-color:#ffcf2a; }
#les-horaires .table thead th:nth-child(3) strong { background-color:#07a99d; }

#les-horaires .table tbody td { padding:10px; }
#les-horaires .table tbody tr:nth-child(even) { background:#f2f2f2; }


#accueil .ef-test-hero img.ef-test-hero__background {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 0;

    width: auto !important;
    height: 100% !important;
    max-width: none !important;

    object-fit: unset !important;
    object-position: left top;
}







/* Responsive */
/* ==========================================================
   Responsive - formations test accueil
   ========================================================== */

/* Grands écrans intermédiaires */
@media (max-width: 1399px) {
    .ef-test-formations__inner {
        padding: 64px 60px 85px;
    }

    .ef-test-formations__inner::before {
        inset: 0 60px;
    }

    .ef-test-formations__inner h2 {
        font-size: 3.6rem;
        margin-bottom: 44px;
    }

    .ef-test-card,
    .ef-test-card__inner,
    .ef-test-card__face {
        min-height: 310px;
    }

    .ef-test-card__face {
        padding: 40px 30px;
    }
}

/* Petits desktops / grands laptops */
@media (max-width: 1199px) {
    .ef-test-formations__inner {
        padding: 58px 40px 75px;
    }

    .ef-test-formations__inner::before {
        inset: 0 40px;
    }

    .ef-test-formations__inner h2 {
        font-size: 3.2rem;
        margin-bottom: 38px;
    }

    .ef-test-card,
    .ef-test-card__inner,
    .ef-test-card__face {
        min-height: 290px;
    }

    .ef-test-card__face {
        padding: 34px 26px;
    }

    .ef-test-card__front img {
        width: 70px;
        max-height: 70px;
        margin-bottom: 22px;
    }

    .ef-test-card__title {
        font-size: 1.9rem;
    }

    .ef-test-card__links a {
        font-size: 1.3rem;
    }
}

/* Tablette */
@media (max-width: 991px) {
    .ef-test-formations__inner {
        padding: 56px 30px 68px;
    }

    .ef-test-formations__inner::before {
        inset: 0 24px;
    }

    .ef-test-formations__inner h2 {
        font-size: 3rem;
        margin-bottom: 34px;
    }

    .ef-test-formations__grid {
        row-gap: 24px;
    }

    .ef-test-formations__grid > li {
        margin-bottom: 0;
    }

    .ef-test-card,
    .ef-test-card__inner,
    .ef-test-card__face {
        min-height: 270px;
    }

    .ef-test-card__face {
        padding: 32px 24px;
    }

    .ef-test-card__front img {
        width: 64px;
        max-height: 64px;
        margin-bottom: 20px;
    }

    .ef-test-card__title {
        font-size: 1.85rem;
    }

    .ef-test-card__hint,
    .ef-test-card__return {
        margin-top: 16px;
        font-size: 1.15rem;
    }
}
@media (max-width: 991px) {
    #accueil .ef-test-hero__container {
        width: 100%;
        max-width: none;
        padding-left: 30px;
        padding-right: 30px;
        box-sizing: border-box;
    }

    #accueil .ef-test-hero__content {
        width: 100%;
        max-width: 720px;
        box-sizing: border-box;
    }
}
/* Mobile */
@media (max-width: 767px) {
    .ef-test-formations {
        margin-top: 0;
    }

    .ef-test-formations__inner {
        padding: 48px 18px 56px;
    }

    .ef-test-formations__inner::before {
        inset: 0 0;
    }

    .ef-test-formations__inner h2 {
        font-size: 2.7rem;
        line-height: 1.15;
        margin-bottom: 30px;
    }

    .ef-test-formations__grid {
        row-gap: 18px;
    }

    .ef-test-formations__grid > li {
        width: 100%;
        max-width: 100%;
        flex: 0 0 100%;
    }

    .ef-test-card,
    .ef-test-card__inner,
    .ef-test-card__face {
        min-height: 260px;
    }

    .ef-test-card__face {
        padding: 30px 24px;
    }

    .ef-test-card__front img {
        width: 58px;
        max-height: 58px;
        margin-bottom: 18px;
    }

    .ef-test-card__title {
        font-size: 1.8rem;
    }

    .ef-test-card__links {
        gap: 8px;
    }

    .ef-test-card__links a {
        font-size: 1.3rem;
        line-height: 1.35;
    }
}

/* Très petit mobile */
@media (max-width: 575px) {
    .ef-test-formations__inner {
        padding: 42px 14px 48px;
    }

    .ef-test-formations__inner h2 {
        font-size: 2.4rem;
        margin-bottom: 26px;
    }

    .ef-test-card,
    .ef-test-card__inner,
    .ef-test-card__face {
        min-height: 250px;
    }

    .ef-test-card__face {
        padding: 28px 20px;
    }

    .ef-test-card__title {
        font-size: 1.65rem;
    }

    .ef-test-card__links a {
        font-size: 1.22rem;
    }

    .ef-test-card__hint,
    .ef-test-card__return {
        font-size: 1.1rem;
    }
}
/* ==========================================================
   Responsive - hero test accueil
   ========================================================== */

/* Écrans larges intermédiaires */
@media (max-width: 1399px) {
    .ef-test-hero {
        height: 600px;
        min-height: 600px;
    }

    .ef-test-hero__container {
        height: 600px;
        min-height: 600px;
    }

    .ef-test-hero__media {
        left: 58%;
    }

    .ef-test-hero__content {
        max-width: 620px;
        width: min(620px, 56vw);
        padding: 48px 52px;
    }

    .ef-test-hero__content h1,
    .ef-test-hero__content h2 {
        font-size: 3.6rem;
    }

    .ef-test-hero__content p {
        max-width: 520px;
        line-height: 1.75;
    }
}

/* Petits desktops / grands laptops */
@media (max-width: 1199px) {
    .ef-test-hero {
        height: 560px;
        min-height: 560px;
        margin-bottom: 70px;
    }

    .ef-test-hero__container {
        height: 560px;
        min-height: 560px;
    }

    .ef-test-hero__media {
        left: 60%;
    }

    #accueil .ef-test-hero img.ef-test-hero__background {
        height: 100% !important;
        width: auto !important;
        max-width: none !important;
        object-fit: unset !important;
    }

    .ef-test-hero__content {
        max-width: 560px;
        width: min(560px, 55vw);
        padding: 42px 44px;
    }

    .ef-test-hero__content h1,
    .ef-test-hero__content h2 {
        font-size: 3.2rem;
        margin-bottom: 18px;
    }

    .ef-test-hero__content p {
        max-width: 480px;
        line-height: 1.7;
    }

    .ef-test-btn {
        min-height: 46px;
        padding: 12px 20px;
        font-size: 1.3rem;
    }
}

/* Tablette : on passe sur une structure verticale propre */
@media (max-width: 991px) {
    .ef-test-hero {
        height: auto;
        min-height: 0;
        margin-bottom: 60px;
        overflow: visible;
        background: #fff;
    }

    #accueil .ef-test-hero img.ef-test-hero__background {
        position: absolute;
        top: 0;
        left: 0;
        width: auto !important;
        height: 420px !important;
        max-width: none !important;
        opacity: 0.55;
        object-fit: unset !important;
        object-position: left top;
        pointer-events: none;
    }

    .ef-test-hero__media {
        position: relative;
        top: auto;
        right: auto;
        left: auto;
        z-index: 2;
        width: 100%;
        height: 340px;
        margin-bottom: 0;
    }

    .ef-test-hero__swiper,
    .ef-test-hero__slide,
    .ef-test-hero__slide img {
        width: 100%;
        height: 100%;
    }

    .ef-test-hero__slide img {
        object-fit: cover;
    }

    .ef-test-hero__container {
        height: auto;
        min-height: 0;
        display: block;
        padding-top: 40px;
        padding-bottom: 20px;
    }

    .ef-test-hero__content {
        position: relative;
        z-index: 3;
        max-width: 720px;
        width: 100%;
        margin: 0 auto;
        padding: 42px 44px;
        background: rgba(255, 255, 255, 0.96);
    }

    .ef-test-hero__content h1,
    .ef-test-hero__content h2 {
        font-size: 3rem;
    }

    .ef-test-hero__content p {
        max-width: none;
    }
}


/* Mobile */
@media (max-width: 767px) {
    .ef-test-hero {
        margin-bottom: 45px;
    }

    #accueil .ef-test-hero img.ef-test-hero__background {
        height: 320px !important;
        opacity: 0.35;
    }

    .ef-test-hero__media {
        height: 280px;
    }

    .ef-test-hero__container {
        padding-top: 30px;
        padding-bottom: 10px;
    }

    .ef-test-hero__content {
        padding: 34px 30px;
        box-shadow: 0 14px 35px rgba(0, 0, 0, 0.10);
    }

    .ef-test-hero__content h1,
    .ef-test-hero__content h2 {
        font-size: 2.6rem;
        line-height: 1.15;
        margin-bottom: 18px;
    }

    .ef-test-hero__content p {
        font-size: 1.4rem;
        line-height: 1.7;
    }

    .ef-test-hero__actions {
        flex-direction: column;
        align-items: stretch;
        gap: 10px;
        margin-top: 24px;
    }

    .ef-test-btn {
        width: 100%;
        min-height: 46px;
        padding: 13px 18px;
        font-size: 1.25rem;
    }
}

/* Très petit mobile */
@media (max-width: 575px) {
    .ef-test-hero {
        margin-bottom: 35px;
    }

    #accueil .ef-test-hero img.ef-test-hero__background {
        display: none;
    }

    .ef-test-hero__media {
        height: 220px;
    }

    .ef-test-hero__container {
        padding-top: 24px;
    }

    .ef-test-hero__content {
        padding: 28px 24px;
        background: #fff;
    }

    .ef-test-hero__content h1,
    .ef-test-hero__content h2 {
        font-size: 2.3rem;
    }

    .ef-test-hero__content p {
        font-size: 1.35rem;
    }
}
@media (max-width: 1199px) {
    .ef-test-desktop-nav__list {
        gap: 22px;
    }

    .ef-test-desktop-nav__item > a,
    .ef-test-desktop-nav__trigger {
        font-size: 1.2rem;
    }
}

@media (max-width: 991px) {
    .ef-test-header__inner {
        height: 78px;
        min-height: 78px;
    }

    .ef-test-header__logo img {
        width: 68px;
        max-height: 58px;
    }

    .ef-test-desktop-nav {
        display: none;
    }

    .ef-test-mobile-nav {
        display: flex;
        align-items: center;
    }

    .ef-test-mobile-nav__button {
        margin-left: 0;
    }
}

@media (max-width: 575px) {
    .ef-test-header__inner {
        height: 70px;
        min-height: 70px;
    }

    .ef-test-header__logo img {
        width: 60px;
        max-height: 52px;
    }
}

/**
 * Extra large
 **/
@media (min-width: 1600px) {
    .container { max-width:1560px; }
}
@media (max-width: 991px) {
    #overlay {
        align-items: flex-start;
        padding-top: 200px;
    }
}
/**
 * Extra large
 **/
@media (max-width: 1599px) {
    .heading { min-height:650px; }
    .heading .title { font-size:6rem; }
    .heading .caption { padding-bottom:100px; }
    
    .accordion .title { padding:30px 60px 30px 100px; }
    .accordion .description { padding:60px 60px 30px 100px; }
    
    #accueil h1, #accueil h2 { font-size:3.5rem; }
    #accueil #header .logo img { padding:30px 20px; }
    #accueil .formations h2 { font-size:3.5rem; }
    #accueil .formations .box { padding:30px 50px 30px 50px; }
    
    #contact .form .inner { padding:80px 150px; }
    
    #formation-pros .content .testimonial .title { font-size:3.5rem; }
    #formation-pros .content .brochure .relative:after { top:50px; bottom:0; width:calc(100% - 300px); }
    
    

}

/**
 * Large devices
 **/
@media (max-width: 1199px) {
    body { font-size:1.4rem; }
    
    .btn { padding:20px 40px; font-size:1.6rem; }
    
    .hamburger { padding:20px 30px; margin-left:50px; }
    
    .heading { min-height:550px; }
    .heading .title { font-size:5rem; }
    .heading .title svg { width:40px; margin-right:15px; }
    .heading .caption { padding-bottom:80px; }
    .heading .picto { max-width:200px; }
    
    .accordion .title { padding:30px 60px; }
    .accordion .description { padding:60px; }
    
    .padding { padding-top:80px; padding-bottom:80px; }
    
    .content h2 { font-size:3.5rem; }
    
    .page .separator { padding-top:100px; }
    
    #header .row { height:150px; }
    #header .icons { }
    #header .icons a { width:40px; height:40px; }
    #header .icons svg { width:20px; max-height:20px; }
    
    #footer .center .socials a { width:40px; height:40px; }
    #footer .center .socials svg { width:20px; }
    
    #accueil h1, #accueil h2 { font-size:3rem; }
    #accueil .slider { margin-top:-230px; }
    #accueil .slider .caption { max-width:400px; }
    
    #contact .form .inner { padding:80px 100px; }
    #contact .form .chevron-green { top:200px; }
    
    #formation-pros .content .testimonial .title { font-size:3rem; margin-bottom:20px; }
    #formation-pros .content .brochure .icon { margin:30px 0; }
    #formation-pros .content .brochure .more br { display:none; }
    
    


}

/**
 * Medium devices
 **/
@media (max-width: 991px) {
    .btn { padding:15px 30px; }
    
    .hamburger { margin-left:30px; }
    
    .heading { min-height:450px; }
    .heading .title { font-size:4rem; }
    .heading .title svg { width:30px; }
    .heading .caption { padding-bottom:60px; }
    
    .padding { padding-top:60px; padding-bottom:60px; }
    
    .content h2 { font-size:3rem; }
    
    .page h2 { font-size:3rem; }
    .page .intro { padding:60px 0; }
    .page .intro .image { order:2; margin-top:15px; }
    .page .intro .text { order:1; }
    .page .slider h2 { margin-bottom:60px; }
    .page .slider .swiper-slide { padding:60px; }
    
    .accordion .title .icon { width:50px; height:50px; }
    .accordion .title svg { width:10px; }
    
    
    #footer .right { align-items:flex-start; }
    #footer .right .links { min-width:0; }
    
    #overlay .lvl1 > li { font-size:2rem; }
    #overlay .lvl2 > li { font-size:1.6rem; }
    #overlay .lvl3 > li { font-size:1.4rem; }
    
    #contact .form h2 { margin-bottom:60px; }
    #contact .form .inner { padding:60px 80px; }
    #contact .form .chevron-green { top:100px; }
    #contact .form .chevron-pattern { bottom:50px; }
    
    #accueil .formations h2 { font-size:3rem; }
    #accueil .formations .box { padding:30px; }
    
    #formation-pros .content .testimonial { padding:150px 0; }
    #formation-pros .content .diplomas .description .icon { width:70px; height:70px; }
    #formation-pros .content .diplomas .description .icon img { width:30px; }
    #formation-pros .content .diplomas .description li { padding-left:100px; }
    #formation-pros .content .brochure .relative:after { top:0; bottom:-40px; width:calc(100% - 200px); }
    #formation-pros .content .brochure .more { font-size:1.6rem; }
    #formation-pros .content .brochure .link { font-size:2.5rem; }
    
    #accueil h1 { margin-bottom:15px; }
    #accueil h1, #accueil h2 { font-size:2.5rem; }
    #accueil #header .logo img { padding:20px; }
    #accueil .slider { margin-bottom:160px; }
    #accueil .slider .caption { max-width:350px; font-size:1.3rem; top:auto; bottom:-120px; }
    #accueil .slider .caption p { line-height:1.8em; }
    #accueil .formations img { max-height:100px; }
    #accueil .formations h3 { font-size:1.6rem; }
    #accueil .blog .box { padding:40px; }

}

/**
 * Small devices
 **/
@media (max-width: 767px) {
    .btn { font-size:1.4rem; }
    
    .heading { min-height:350px; }
    .heading .title { font-size:3.5rem; }
    .heading .caption { padding-bottom:40px; }
    .heading .picto { display:none; }
    .heading .uppertitle:after { margin-bottom:30px; }
    
    .padding { padding-top:40px; padding-bottom:40px; }
    
    .container-fluid { padding-left:30px; padding-right:30px; }
    
    .hamburger { margin-left:15px; }
    
    .accordion .title { padding:30px; }
    .accordion .description { padding:30px; }
    
    .content h2 { font-size:2.5rem; }
    
    .page h2 { font-size:2.5rem; }
    .page .separator .image { margin-bottom:15px; }
    .page .separator .text br { display:none; }
    .page .slider h2 { margin-bottom:40px; }
    .page .slider .swiper-slide { padding:40px; }
    .page .slider .relative { padding-right:80px; }
    

    #header .row { height:110px; }
    
    #footer { text-align:center; }
    #footer .center { order:1; margin-bottom:30px; }
    #footer .center .btn { margin:30px 0;}
    #footer .left { order:2; }
    #footer .left .phones { margin:30px 0; }
    #footer .right { order:3; display:none; }
    
    #contact .form h2 { margin-bottom:40px; }
    #contact .form .inner { padding:40px 60px; }
    
    #formation-pros .content .testimonial { padding:60px 0; }
    #formation-pros .content .testimonial .title { font-size:2.5rem; }
    #formation-pros .content .testimonial .text { order:1; }
    #formation-pros .content .testimonial .image { margin-bottom:15px; order:2; }
    #formation-pros .content .diplomas { padding-top:80px; }
    #formation-pros .content .diplomas li { padding-left:90px; }
    #formation-pros .content .diplomas .description h3 { font-size:2rem; }
    #formation-pros .content .diplomas .icon { width:50px; height:50px; }
    #formation-pros .content .diplomas .icon img { max-width:30px; }
    #formation-pros .content .brochure { text-align:center; }
    #formation-pros .content .brochure .relative:after { content:none; }
    #formation-pros .content .brochure .icon { display:flex; justify-content:center; align-items:center; }
    
    #accueil #header { padding:20px 0; }
    #accueil #header .row { align-items:center; }
    #accueil #header .navigation { margin-top:0; }
    #accueil #header .logo img { padding:0; }
    
    #accueil .slider { margin-bottom:50px; margin-top:0; }
    #accueil .slider .swiper-container { position:static; float:none; width:100vw; margin-bottom:30px;}
    #accueil .slider .image img { width:100%; max-height:300px; object-fit:cover; }
    #accueil .slider .image > * { position:static; }
    #accueil .slider .image:after { content:none; }
    #accueil .slider .bg { min-height:300px; object-fit:cover; display:none; }
    #accueil .slider .caption { left:30px; max-width:calc(100% - 60px); position:static; margin:0 auto; }
    #accueil .formations .relative:before { left:40px; right:40px; }
    #accueil .erasmus { margin-top:0; padding-bottom:50px; }
    #accueil .erasmus .image { margin-bottom:15px; }
    #accueil .blog .image { margin-bottom:30px }

}

/**
 * Extra small devices
 **/
@media (max-width: 575px) {
    .heading { min-height:250px; }
    .heading .title { font-size:3rem; }
    .heading .caption { padding-bottom:20px; }
    
    .padding { padding-top:20px; padding-bottom:20px; }
    
    .btn { padding:10px 20px; } 

    .hamburger { padding:15px; }
    .hamburger .text { display:none; }
    
    .page h2 { font-size:3rem; }
    .page .slider h2 { margin-bottom:20px;}
    .page .slider .relative { padding-right:0; }
    .page .slider .pagination { display:none; }
    
    #header .wrapper .icons { display:none; }
    #header .wrapper .menu { margin-bottom:0; }
    #header .logo img { max-height:80px; }
    
    #contact .form h2 { margin-bottom:20px; }
    #contact .form .inner { padding:20px 40px; }
    
    
    #formation-pros .content .diplomas .description .icon { display:none; }
    #formation-pros .content .diplomas .description li { padding-left:0; }
    
    #accueil #header .navigation { margin-top:0; }
    #accueil #header .row { align-items:center; height:80px; }
    
    #accueil .formations .relative:before { left:10px; right:10px; }
    #accueil .slider .image img { max-height:200px; }

}