@charset "UTF-8";
/*----------------COLORS----------------*/
/*-----------Color of contact form---------*/
/*--------field Types for contact form----------*/
@import url("https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,500;0,600;0,700;0,800;0,900;1,400;1,500;1,600;1,700;1,800;1,900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Lato:ital,wght@0,100;0,300;0,400;0,700;0,900;1,100;1,300;1,400;1,700;1,900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Lato");
@import url("https://fonts.googleapis.com/css2?family=Anton&display=swap");
@import url("../bootstrap-icons.min-d4e6b78eb8123c8233aeac7d500e7262.css");

* {
    box-sizing: border-box;
    font-family: "Lato", sans-serif;
}

.red {
    color: var(--brand-color) !important;
}

.grey {
    color: rgb(132, 132, 132);
}

article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav {
    display: block;
}

blockquote, q {
    quotes: none;
}

blockquote::before, blockquote::after,
q::before, q::after {
    content: none;
}

table {
    border-collapse: collapse;
    border-spacing: 0;
}

/* Landscape phones and down */
/* Landscape phone to portrait tablet */
/* Portrait tablet to landscape and desktop */
/* Large desktop */
:root {
    --brand-color: #e41f27;
    --red-200: #FFF4F4;
    --purple-800: #2E3049;
    --green-800: #009E8F;
    --green-200: #B9E2DE;
    --orange-800: #FFAF00;
    --orange-600: #FEC162;
    --dark: #292929;
    --white: #FFF;
    --grey: #FFF2DF;
    --radius: 16px;
    --shadow: rgba(0, 0, 0, 0.3) 0 .5rem 1rem -.5rem;
    --font-lato: "Lato", sans-serif;
    --font-playfair: "Playfair Display", sans-serif;
    --font-size-small: 0.875rem;
    --font-size-base: 1rem;
    --font-size-medium: 1.125rem;
    --font-size-large: 1.25rem;
    --font-size-xl: 2.25rem;
    --font-size-xxl: 4.06rem;
    --font-weight-regular: 400;
    --font-weight-medium: 500;
    --font-weight-semi-bold: 600;
    --font-weight-bold: 700;
}
@media (max-width: 767px) {
    :root {
        --font-size-regular: 15px;
        --font-size-medium: 1rem;
        --font-size-xxl: 2.25rem;
        --font-size-xl: 1.7rem;
    }
}
@media (max-width: 991px) {
    :root {
        --font-size-regular: 16px;
        --font-size-medium: 1.125rem;
        --font-size-xxl: 2.5rem;
        --font-size-xl: 2rem;
    }
}

.btn {
    text-align: center;
    display: block;
    width: fit-content;
    margin: 0 auto 0.5rem;
    padding: 1em 2em;
    border-radius: 0 8px 8px 8px;
    color: var(--white);
    border: none;
    font-size: var(--font-size-regular);
    box-shadow: var(--shadow);
    cursor: pointer;
}
.btn * {
    vertical-align: middle;
}

.btn:hover {
    transform: translateY(-2px);
    transition: all 0.2s ease-in-out;
    background-color: var(--orange-800);
    color: var(--white);
}

a.btn:hover, li.btn a:hover {
    text-decoration: none;
}
@media (max-width: 767px) {
    a.btn, li.btn a {
        display: block;
    }
}

.btn--primary, .btn-big {
    background-color: var(--brand-color);
}

.btn--secondary {
    background-color: var(--orange-800);
}

.btn--tertiary {
    background-color: var(--green-800);
}

.btn-quaternary {
    background-color: var(--green-200);
    color: var(--purple-800);
}

.btn--full {
    width: 20rem;
}
@media (max-width: 767px) {
    .btn--full {
        width: 100%;
    }
}

.btn:disabled {
    background-color: #a9a9a9;
    cursor: not-allowed;
    opacity: 0.7;
}

.outline {
    background-color: transparent;
    border: 2px solid var(--white);
    box-shadow: none;
}

.outline--red {
    color: var(--brand-color);
    background-color: transparent;
    border: 2px solid var(--brand-color);
}
.outline--red:hover {
    color: var(--white);
    background-color: var(--brand-color);
}

.btn--icon {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.link {
    font-weight: var(--font-weight-bold);
    text-decoration: underline;
    text-underline-offset: 0.2rem;
}
.link:hover {
    color: var(--brand-color);
}

select,
input[type=text],
input[type=email],
input[type=date],
input[type=tel],
input[type=number], textarea {
    padding: 0.5em 1em;
    width: 100%;
    background-color: var(--white);
    border: 1px solid var(--purple-800);
    border-radius: 0 0.5em 0.5em 0.5em;
}

input[type=checkbox] {
    margin-right: 8px;
    border-radius: var(--radius);
    width: 20px;
    height: 20px;
}

textarea {
    min-height: 150px;
    resize: none;
}

.form-item {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    margin: 0.5rem 0;
    .choices {
        display: flex;
        flex-direction: row;
        flex-wrap: wrap;
        gap: 1.5rem;
    }
    div {
        display: flex;
        flex-direction: column;
        gap: 0.5rem;
    }
}

.form-group-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 2rem;
    margin-bottom: 1em;
    align-items: last baseline;
}

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

.form-checkbox {
    display: flex;
    align-items: start;
    gap: 0.5rem;

    input[type=checkbox] {
        width: 20px;
        height: 20px;
    }

    label {
        font-size: var(--font-size-regular);
    }
}

#success-estimate {
    display: none;
    font-size: var(--font-size-regular);
    color: var(--green-800);
    font-weight: var(--font-weight-bold);
    border: 1px solid var(--green-800);
    text-align: center;
    padding: 0.2rem;
}

.error {
    list-style-type: none;
    padding: 0;

    li, p {
        font-size: var(--font-size-regular);
        color: var(--brand-color);
        font-weight: var(--font-weight-bold);
        border: 1px solid var(--brand-color);
        text-align: center;
        padding: 0.2rem;
        a {
            text-decoration: underline;
        }
    }
}

.dark {
    background-color: #2e3049;
    color: white;

    .error li {
        background-color: rgba(255, 255, 255, 0.75);
    }
}

@media (max-width: 767px) {
    .floating-button {
        position: fixed;
        bottom: 2rem;
        right: 2rem;
        z-index: 1000;
        align-items: center;
        transition: all 0.2s ease-in-out;
    }
}

body {
    position: relative;
    width: 100%;
    margin: 0 auto;
    overflow-x: hidden;

    background-color: #FBFBFB;
    font-size: var(--font-size-base);
    font-family: var(--font-lato);
    color: var(--purple-800);
}

body.dev {
    border: 0.25em dashed orange;
}
body > .dev-info {
    border-bottom: 0.25em dashed orange;
}

img {
    max-width: 100%;
    height: auto;
    object-fit: contain;
}

p, li, span {
    line-height: 1.4;
}

a {
    color: inherit;
    text-decoration: none;
    cursor: pointer;
}
a:hover:not(.btn) {
    text-decoration: underline;
    text-underline-offset: 0.2rem;
}

.bold {
    font-weight: var(--font-weight-bold);
}

.v-hidden {
    position: absolute;
    top: -4000px;
    left: 0;
    background-color: var(--white);
    color: var(--brand-color);
    border: var(--brand-color) 1px solid;
    padding: 10px;
    z-index: 9999;
}

.v-hidden:focus {
    top: 0;
}

.main {
    flex: 1;
}

.container {
    width: calc(100% - 1.25rem);
    max-width: 80.75rem;
    margin-left: auto;
    margin-right: auto;
}
@media (max-width: 767px) {
    .container {
        margin-block: 0;
        padding: 0 20px;
    }
}

.container-sm {
    width: calc(100% - 3.45rem);
    max-width: 60rem;
    margin-left: auto;
    margin-right: auto;
}
@media (max-width: 767px) {
    .container-sm {
        margin-block: 0;
        padding: 0 20px;
    }
}

.hidden {
    display: none !important;
    overflow: hidden;
}

.line {
    background-color: var(--primary);
    height: 3px;
    width: 100%;
    display: block;
    margin-block: 0.9rem;
}

.title {
    font-family: var(--font-playfair);
    font-size: var(--font-size-xl);
    font-weight: var(--font-weight-bold);
    color: var(--purple-800);
}

.red {
    color: var(--brand-color);
}

.white {
    color: white;
}

.subtitle {
    font-size: var(--font-size-medium);
    font-weight: var(--font-weight-semi-bold);
    margin-bottom: 1rem;
}

.subtitle-toogle {
    font-size: var(--font-size-medium);
    font-weight: var(--font-weight-semi-bold);
    cursor: pointer;
}

.fade-in {
    animation: fade-in 0.5s ease-in;
}

@keyframes fade-in {
    0% {
        opacity: 0;
    }
    100% {
        opacity: 1;
    }
}
:root {
    --brand-color: #e41f27;
    --red-200: #FFF4F4;
    --purple-800: #2E3049;
    --green-800: #009E8F;
    --green-200: #B9E2DE;
    --orange-800: #FFAF00;
    --orange-600: #FEC162;
    --dark: #292929;
    --white: #FFF;
    --grey: #FFF2DF;
    --radius: 16px;
    --shadow: rgba(0, 0, 0, 0.3) 0 .5rem 1rem -.5rem;
    --font-lato: "Lato", sans-serif;
    --font-playfair: "Playfair Display", sans-serif;
    --font-size-small: 0.875rem;
    --font-size-base: 1rem;
    --font-size-medium: 1.125rem;
    --font-size-large: 1.25rem;
    --font-size-xl: 2.25rem;
    --font-size-xxl: 4.06rem;
    --font-weight-regular: 400;
    --font-weight-medium: 500;
    --font-weight-semi-bold: 600;
    --font-weight-bold: 700;
}
@media (max-width: 767px) {
    :root {
        --font-size-regular: 15px;
        --font-size-medium: 1rem;
        --font-size-xxl: 2.25rem;
        --font-size-xl: 1.7rem;
    }
}
@media (max-width: 991px) {
    :root {
        --font-size-regular: 16px;
        --font-size-medium: 1.125rem;
        --font-size-xxl: 2.5rem;
        --font-size-xl: 2rem;
    }
}

h1 {
    font-size: 2em;
    margin: 20px 0;
    color: --brand-color;
}

h2 {
    font-size: 1.5em;
}

h3 {
    font-size: 1.3em;
}

h4 {
    font-size: 1em;
}

h5 {
    font-size: 0.8em;
}

h6 {
    font-size: 0.7em;
}

p a {
    text-decoration: underline;
}

img,
embed,
object,
video {
    max-width: 100%;
}

th, td {
    padding: 0.5em;
    vertical-align: top;
}

.alt-color {
    color: #ffaf00;
}

.clearfix:after {
    content: "";
    display: table;
    clear: both;
}

label.required::after {
    content: " *";
    color: red;
}

.progress {
    cursor: progress !important;
}

.list-style-disc {
    list-style: disc;
}

.main-content {
    background-color: #FBFBFB;
}

.breadcrumb a {
    color: rgb(29, 29, 27);

    &:hover {
        color: var(--brand-color);
    }
}

.fixed-container {
    max-width: 1340px;
    width: calc(100vw - 60px);
    margin: auto;
    box-sizing: content-box;
}

.featured {
    font-size: 1.2em;
    font-weight: 700;
    color: var(--brand-color);
    text-transform: uppercase;
    &.big {
        font-size: 1.5em;
    }
}

.dot:before {
    content: "•";
    color: #ffaf00;
    font-style: normal;
    font-size: 1.2em;
}

nav ul, nav ol {
    padding: 0;
    list-style-type: none;
}

@media screen and (max-width: 800px) {
    .fixed-container {
        width: auto;
        padding: 15px;
    }
    h1 {
        font-size: 1.6em;
    }
}
#top-menu {
    background-color: var(--purple-800);
    padding: 0.7rem 0;

    .top-menu-links {
        color: var(--purple-800);
        background-color: var(--green-200);
        border: 1px solid var(--purple-800);
        margin-right: 1rem;
        display: block;

        &:hover {
            color: var(--green-200);
            border: 1px solid var(--green-200);
            background-color: var(--purple-800);
        }
    }

    .pre-menu-links {
        display: flex;
        gap: 10px;
        justify-content: space-between;
        align-items: baseline;

        p {
            font-size: var(--font-size-small);
            font-weight: var(--font-weight-semi-bold);
            flex: 0 1 auto;
        }
        .pre-menu-links-items {
            flex: 1 0 auto;
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 10px;
            margin: 0 1em 0 0;
        }
    }
}

@media (max-width: 991px) {
    #top-menu {
        .top-menu-links {
            margin-right: 0;
        }
        .pre-menu-links {
            flex-direction: column;
            justify-content: center;

            p {
                display: none;
            }
            .pre-menu-links-items {
                margin-top: 0.8rem;
                margin-right: 0;
            }
        }
    }
}

@media (max-width: 480px) {
    #top-menu .pre-menu-links .pre-menu-links-items {
        flex-wrap: wrap;
        li {
            font-size: var(--font-size-small);
        }
    }
}

#btm-menu {
    position: relative;
    display: block;
    background-color: var(--grey) !important;
    transition: all 0.3s ease;

    ul {
        list-style-type: none;
        padding: 0;
    }
    .main-menu {
        display: grid;
        grid-template-columns: 1fr 2fr 1fr 1fr;
        align-items: center;
        padding: 0.8rem 0;
        .main-logo {
            grid-column: 1;
            a {
                display: inline-block;
            }
            img {
                height: 4.5em;
                display: inline-block;
            }
        }
        .right-menu {
            grid-column: 2;
            position: relative;
            flex-direction: column;
            justify-content: space-between;
        }
        .pre-menu-search-form {
            background-color: var(--white);
            border: 2px solid var(--purple-800);
            width: 100%;
            border-radius: 0 0.5em 0.5em 0.5em;
            padding: 0.25em;
            margin-left: 1px;
            display: flex;
            button {
                border: none;
                background-color: transparent;
                padding-right: 1em;
                &:hover {
                    transform: scale(1.1);
                }
            }
            input[type=search] {
                flex: auto;
                padding: 0.5em 0 0.5em 1em;
                background-color: var(--white);
                font-size: var(--font-size-regular);
                border: none;
                outline: none;
            }
        }
        .phone-btn-container {
            grid-column: 4;
            margin-top: 0.5rem;
            text-align: right;
        }
    }
    &.header-fixed {
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        z-index: 1000;
        background-color: var(--grey);
        box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
        animation: slideDown 0.3s ease;
    }
}
@media (max-width: 991px) {
    #btm-menu .main-menu {
        .pre-menu-search-form {
            width: 100%;
            button {
                top: -8px;
            }
        }
        .phone-btn-container {
            justify-content: center;
            margin-top: 0.75rem;
        }
    }
}

@keyframes slideDown {
    from {
        transform: translateY(-100%);
    }
    to {
        transform: translateY(0);
    }
}
.mobile-menu-is-open header .header-phone {
    background-color: #0c4391;
    z-index: 12;
}

@media screen and (min-width: 990px) {
    #overlay.is-open {
        position: absolute;
        width: 100%;
        height: 100%;
        left: 0;
        right: 0;
        bottom: 0;
        background-color: rgba(0, 0, 0, 0.5);
        z-index: 2;
        cursor: pointer;
    }

    header {
        .main-menu {
            grid-template-columns: 1fr;
        }
        .main-logo {
            margin: 0 auto 10px;
            img {
                height: 80px;
            }
        }
        .right-menu {
            gap: 10px;
            .pre-menu-links, header .right-menu #site-menu-nav {
                justify-content: center;
            }
            #site-menu-nav {
                .site-menu--level-0 #search-btn {
                    margin: 10px;
                }
                .search-menu #motsclefs {
                    right: 40px;
                }
            }
        }
        .pre-menu-search-form {
            margin-top: 1em;
        }
    }
}
#burger-checkbox {
    display: none;
}
#burger-checkbox:checked ~ .burger-btn:before {
    box-shadow: transparent 0 0 0 0;
    top: 50%;
    transform: rotate(225deg);
}
#burger-checkbox:checked ~ .burger-btn:after {
    top: 50%;
    transform: rotate(315deg);
}

.burger-btn {
    -webkit-tap-highlight-color: transparent;
    display: none;
    background: transparent;
    position: absolute;
    top: 25px;
    right: 10px;
    height: 30px;
    width: 50px;
    &:hover {
        cursor: pointer;
    }
    &:before, &:after {
        background: var(--purple-800);
        backface-visibility: hidden;
        content: "";
        height: 3px;
        left: 0;
        transition: 0.5s;
        width: 50px;
    }
    &:before {
        box-shadow: var(--purple-800) 0 14px 0 0;
        position: absolute;
        top: 0;
    }
    &:after {
        position: absolute;
        top: calc(100% - 2px);
    }
}

.menu-search-form-mobile {
    display: none;
    position: absolute;
    width: calc(100% - 60px);
    height: 60px;
    padding: 15px;

    input, button {
        border: 1px var(--brand-color) solid;
    }
    input {
        width: 100%;
        padding-left: 10px;
    }
    button {
        background-color: var(--brand-color);
        display: flex;
        justify-content: center;
        align-content: center;
        padding: 5px;
        cursor: pointer;
        img {
            filter: contrast(0) brightness(2);
            width: 100%;
            object-fit: contain;
            height: 100%;
        }
    }
}

@media screen and (max-width: 990px) {
    #btm-menu {
        min-height: 12vh;
        .main-menu {
            display: block;
        }
    }
    header {
        &.fixed-container {
            padding: 0;
        }
        .main-menu {
            padding: 15px;
            .right-menu {
                display: none;
                background-color: var(--grey);
                border: 1px solid var(--purple-800);
                border-radius: var(--radius);
                box-shadow: var(--shadow);
                width: calc(100vw - 30px);
                padding: 1rem !important;
                z-index: 1000;
                .pre-menu-links {
                    flex-direction: column;
                    > a {
                        transition: 0s;
                    }
                }
                #site-menu-nav {
                    flex-direction: column;
                    align-items: flex-start;
                }
            }
        }

        .burger-btn {
            display: block;
        }
        #burger-checkbox:checked ~ .main-menu .right-menu {
            display: flex;
        }
        .menu-search-form-mobile {
            display: flex;
        }
    }
}
#site-menu-nav {
    display: flex;
    justify-content: center;
    gap: 1.5rem;
    align-items: center;
    margin: 0;
    a {
        display: block;
        position: relative;
    }
    .menu-text-content {
        display: block;
        a {
            position: initial;
        }
    }
    li[class^=site-menu--level] {
        &.has-child > a {
            text-transform: capitalize;
            &:before {
                padding: 10px 17px;
            }
        }
        > a {
            padding: 10px;
            text-shadow: none;
        }
    }
    li[class^=site-menu--level].site-menu--level-0 > a {
        transition: 0.2s;
        color: var(--purple-800);
        font-family: var(--font-family-lato);
        font-size: var(--font-size-base);
        font-weight: var(--font-weight-semi-bold);
        &.active {
            color: var(--brand-color);
            border-bottom: 2px solid var(--brand-color);
        }
        &:hover {
            color: var(--brand-color);
            text-decoration: none !important;
        }
    }

    li[class^=site-menu--level].site-menu--level-1 > a {
        padding-left: 20px;
    }
    li[class^=site-menu--level].site-menu--level-2 > a {
        padding-left: 40px;
    }
    li[class^=site-menu--level].site-menu--level-3 > a {
        padding-left: 60px;
    }
    li[class^=site-menu--level].has-child {
        &.is-open > ul {
            height: auto;
        }
        ul {
            height: 0;
            overflow: hidden;
        }
    }
}

@media (max-width: 767px) {
    #site-menu-nav li[class^=site-menu--level].site-menu--level-0 > a.active {
        border-bottom: none;
    }
}

@media screen and (min-width: 990px) {
    #menu-btn {
        display: none;
    }
    #site-menu {
        display: block;
        .mobile-overflow {
            .site-menu--level-0.is-open {
                background-color: var(--white);
                z-index: 100;
                border-radius: 0 8px 0 0;
            }
            .site-menu--level-0.is-open a {
                padding-bottom: 2rem;
                color: var(--brand-color);
            }
            #site-menu-nav {
                li[class^=site-menu--level].site-menu--level-0 {
                    .header-phone {
                        font-size: 1.1em;
                    }
                    > a {
                        &.header-phone {
                            display: block;
                            background-color: #ffe3b7;
                            color: #636363;
                            text-shadow: none;

                            &.header-phone-number {
                                color: var(--brand-color);
                            }
                        }

                        &.logo:hover {
                            background-color: transparent;
                        }
                    }
                    > ul {
                        transform: translate(30px, -110px);
                    }

                    &.has-child {
                        > ul {
                            position: absolute;
                            left: -320px;
                            top: 168px;
                            height: 0;
                            width: 200px;
                            text-align: left;
                            z-index: 1000;
                            box-shadow: 11px 7px 15px -6px rgba(0, 0, 0, 0.49);
                        }
                        &.is-open > ul {
                            height: auto;
                            overflow: initial;
                        }
                    }

                    .site-menu--level-1 {
                        font-family: var(--font-lato);
                        font-size: var(--font-size-medium);
                        font-weight: var(--font-weight-semi-bold);
                        display: block;

                        > ul {
                            columns: 3;
                            column-rule: solid 2px var(--brand-color);
                        }

                        &:last-child {
                            border-bottom: none;
                        }
                        > a {
                            background-color: var(--green-200);
                            color: var(--purple-800);
                            font-family: var(--font-lato);
                            padding: 2rem;
                            font-size: 1.1em;
                            &:hover {
                                background-color: white;
                                color: var(--brand-color);
                            }
                        }
                        &.is-open {
                            border-right: none;
                            > ul {
                                display: block;
                                width: 1150px;
                                min-height: 100%;
                            }
                            a {
                                background-color: white;
                                color: var(--brand-color);
                            }
                            &:hover {
                                color: var(--brand-color);
                            }
                        }
                        > ul {
                            overflow: auto;
                            position: absolute;
                            border-radius: 0 16px 16px 0;
                            z-index: -1;
                            top: 0;
                            left: 200px;
                            background: #fff;
                            display: none;
                            padding: 2rem;
                            box-shadow: 11px 7px 15px -6px rgba(0, 0, 0, 0.49);
                        }
                        .site-menu--level-2 {
                            padding: 20px 0;
                            break-inside: avoid;
                            width: 100%;
                            display: table;

                            a {
                                font-weight: var(--font-weight-bold);
                                font-size: var(--font-size-large);
                                font-family: var(--font-playfair);
                            }
                            .site-menu--level-3 {
                                display: block;
                                a {
                                    font-size: var(--font-size-base);
                                    font-weight: var(--font-weight-regular);
                                    font-family: var(--font-lato);
                                }
                            }
                        }
                        .site-menu--level-2,
                        .site-menu--level-3 {
                            > a {
                                padding: 0;
                                color: var(--purple-800);

                                &[href="#"] {
                                    cursor: default;
                                }

                                &:hover {
                                    color: var(--brand-color);
                                }
                            }
                            &.has-child ul {
                                height: auto;
                                width: auto;
                            }
                        }
                    }
                }
            }
        }
    }
}

.career-mobile-info {
    display: none;
}

@media screen and (max-width: 990px) {
    .career-mobile-info {
        display: block;
        padding: 0 1rem;
        p {
            font-size: var(--font-size-small);
            color: var(--purple-800);
            line-height: 1.5;
            margin: 0;
            a {
                color: var(--brand-color);
                text-decoration: underline;
                font-weight: var(--font-weight-semi-bold);
            }
        }
    }
}
#footer {
    background-color: var(--purple-800);
    text-align: left;
    ul {
        list-style-type: none;
    }
}

.footer--group {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    color: var(--white);
    align-items: baseline;
    align-content: center;
    padding: 5rem 0;

    .footer--group__item {
        flex: 1;
        text-align: center;
        .footer-title {
            font-size: var(--font-size-large);
            font-weight: var(--font-weight-semi-bold);
        }
        .footer-contact {
            display: flex;
            flex-direction: column;
            gap: 30px;
        }
        ul {
            margin-top: 15px;
            font-size: var(--font-size-base);
            display: flex;
            flex-direction: column;
            gap: 10px;
            li p {
                margin-bottom: 15px;
            }
            .footer-links {
                display: flex;
                justify-content: start;
                flex-direction: column;
                gap: 8px;
            }
        }
        .footer--reseaux__item {
            margin-top: 20px;
            align-items: baseline;
            justify-content: center;
            font-size: var(--font-size-xl);
            .bi {
                margin: 0 0.5ch;
            }
            a:hover {
                transform: scale(1.1);
            }
        }
    }
}

@media (max-width: 991px) {
    .footer--group {
        flex-direction: column;
        align-items: center;
        padding: 2rem;
        gap: 4rem;
    }
}
@media (max-width: 767px) {
    .footer--group {
        flex-direction: column;
        align-items: center;
        padding: 2rem;
        gap: 1rem;
        .footer--group__item {
            h4 {
                margin-bottom: 0;
                margin-top: 0;
            }

            .footer-contact {
                padding: 0;
                gap: 0.5rem;
                p {
                    margin-top: 0.5rem;
                }
                a.btn {
                    &.outline {
                        width: unset;
                        padding-top: 0.5em;
                        padding-bottom: 0.5em;
                    }

                    &.btn--primary {
                        width: unset;
                        padding-top: 0.7em;
                        padding-bottom: 0.7em;
                    }
                }
            }
            .footer-links {
                margin-bottom: 1.5rem;
            }
        }
    }
}
#footer-location {
    border-top: 1px solid var(--white);
    background-color: var(--purple-800);
    color: var(--white);
    text-align: center;
    padding: 1rem 0;
    section a {
        margin-right: 0.2rem;
    }
    section a:not(:last-child)::after {
        content: " - ";
    }
    .copyr {
        font-size: var(--font-size-small);
        color: var(--white);
        margin-top: 1rem;
        font-weight: var(--font-weight-semi-bold);
    }
}
@media (max-width: 767px) {
    #footer-location {
        padding-top: 2rem;
        section a {
            font-size: 0.8rem;
        }
        .copyr {
            margin-top: 2.5rem;
            font-size: 0.8rem;
        }
    }
}

.consent {
    position: fixed;
    z-index: 1000;
    border: var(--purple-800) 1px solid;
    bottom: 0;
    left: 0;
    right: 0;
    background: var(--grey);
    color: var(--purple-800);
    padding: 2em;
    a {
        text-decoration: underline;
    }
    h3 {
        font-size: var(--font-size-large);
        font-weight: var(--font-weight-bold);
        margin-bottom: 1rem;
    }
    .consent-container {
        display: flex;
        justify-content: space-between;
    }
    ul {
        list-style: circle;
        li {
            font-weight: var(--font-weight-semi-bold);
            &::marker {
                color: var(--purple-800);
            }
        }
    }
    .consent-info {
        flex: 0 1 auto;
    }
    .consent-action {
        flex: 0 1 30ch;
    }
}

@media (max-width: 767px) {
    .consent {
        padding: 0.75em 1em;
        height: auto;
        h3 {
            font-size: inherit;
            font-weight: var(--font-weight-bold);
            margin-bottom: 0.5rem;
        }
        .consent-container {
            flex-direction: column;
            gap: 1rem;
            ul {
                margin: 0;
                margin-bottom: 0.5rem;
                padding-left: 1.5rem;
                li {
                    margin-bottom: 0;
                }
            }
            p {
                margin-top: 0;
            }
        }
        .consent-info {
            flex: 0 1 100%;
        }
        .consent-action {
            flex: 0 1 100%;
            display: flex;
            flex-direction: row;
            gap: 2rem;
            button {
                flex: 1;
                padding: 0.75rem;
                font-size: 0.875rem;
            }
        }
    }
}

.main-container main aside {
    margin: 20px 0;
    div {
        padding: 0;
        display: flex;
        justify-content: space-between;
        align-items: center;
        img {
            max-width: 200px;
            max-height: 220px;
            display: block;
            height: 100%;
            width: 25%;
            padding: 10px 0;
        }
    }
    .training-resume {
        background-color: var(--green-200);
        padding: 1em;
        border-radius: 1em;
        h3 {
            margin: 0.5em 0;
        }
        .price {
            font-weight: bold;
            color: var(--brand-color);
        }
    }
    .training-inscription a {
        margin: 1em 0;
        background-color: var(--brand-color);
        text-align: center;
        font-size: 1.5em;
        display: block;
        color: var(--white);
        padding: 0.5em;
        &:hover {
            text-decoration: underline;
        }
    }
}

@media screen and (max-width: 620px) {
    .main-container main aside div {
        flex-wrap: wrap;
        justify-content: space-around;
        img {
            width: 50%;
        }
    }
}

.card--container {
    position: relative;
    border: 1px solid #ccc;
    padding: 1em;
    border-radius: var(--radius);
    box-shadow: var(--shadow);
    max-width: 100%; /* Empêche le dépassement */
    box-sizing: border-box; /* Inclut padding dans la largeur */
    overflow: hidden; /* Sécurité supplémentaire */
}

.card--link {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0; /* Utiliser right:0 au lieu de width:100% */
    width: auto; /* Évite les largeurs fixes héritées */
}

#breadcrumb .breadcrumb {
    margin-top: 0.5rem;
    margin-bottom: 1rem;
    padding: 0.5rem 0;
    font-size: var(--font-size-base);
    font-weight: var(--font-weight-medium);
    color: var(--purple-800);
    font-family: var(--font-lato);
    a:last-child {
        border-bottom: 1px solid var(--brand-color);
        font-weight: var(--font-weight-bold);
    }
}


.price-container {
    width: 100%;
    margin-right: 30px;
    p {
        margin: 0;
    }
    ul {
        padding: 0;
        margin: 0;
        list-style-type: none;
    }
    .price-heading {
        display: flex;
        a {
            border: none;
            background-color: var(--grey);
            color: var(--purple-800);
            width: 100%;
            padding: 1.2rem;
            font-size: var(--font-size-small);
            font-weight: var(--font-weight-bold);
            cursor: pointer;
            text-align: center;
        }
    }
}
@media (max-width: 767px) {
    .price-container {
        display: flex;
        flex-direction: column;
        .price-heading {
            flex-wrap: wrap;
            display: contents;
            a.price-selector {
                display: flex;
                justify-content: space-between;
                align-items: center;
                text-align: left;
                &::after {
                    content: "";
                    flex-shrink: 0;
                    width: 14px;
                    height: 14px;
                    background-image: url("/media/image/pictos/CaretRed.svg");
                    background-size: contain;
                    background-repeat: no-repeat;
                    background-position: center;
                    transition: transform 0.2s ease;
                }
                &.selected::after {
                    transform: rotate(90deg);
                    filter: brightness(0) invert(1);
                }
            }
        }
    }
}

@media (max-width: 991px) {
    .price-container {
        width: 100%;
        margin-right: 0;
        .price-heading a {
            font-size: 0.8rem;
        }
    }
}
.price-container {
    .price-heading a.selected {
        background-color: var(--orange-800);
        color: var(--white);
    }
    .price-subheading {
        background-color: var(--orange-800);
        color: var(--white);
        font-size: var(--font-size-small);
        text-align: center;
        font-weight: var(--font-weight-bold);
        padding: 20px 0;
    }
    .price-content {
        border: 1px solid var(--orange-800);
        border-top: none;
        text-align: center;
        padding: 15px 10px 30px 10px;
        background-color: var(--white);
        p {
            margin: 10px auto;
            font-size: var(--font-size-base);
        }
        ul li {
            margin: 10px auto;
            font-size: var(--font-size-base);
        }
        #inter > div.right > ul > li:nth-child(1) > a {
            text-decoration: underline !important;
            &:hover {
                text-decoration: none;
                color: var(--green-800);
            }
        }
    }
}

@media (max-width: 767px) {
    .price-container .price-content {
        display: contents;
        .price-option {
            border: 0;
            border-top: none;
            padding: 15px 10px 20px;
            background-color: var(--white);
            text-align: center;
        }
    }
}

.price-container .price-content #inter .left, .price-container .price-content #inter .right {
    box-shadow: 0 0.1rem 0.5rem rgba(0, 0, 0, 0.25);
    border-radius: 0.5rem;
    overflow: hidden;
}
.price-container .price-content #inter .left > *, .price-container .price-content #inter .right > * {
    padding: 0.7rem 1.5rem;
    margin: 0;
}
@media (max-width: 767px) {
    .price-container .price-content #inter .left, .price-container .price-content #inter .right {
        margin: 0 auto;
        width: 90%;
    }
}
.price-container .price-content #inter .left h4, .price-container .price-content #inter .right h4 {
    border-bottom: 1px solid var(--orange-800);
}
.price-container .price-content #inter .left .price, .price-container .price-content #inter .right .price {
    border: 0;
}
.price-container .price-content #inter .left ul, .price-container .price-content #inter .right ul {
    list-style-type: "✔";
    text-align: left;
}
.price-container .price-content #inter .left ul li, .price-container .price-content #inter .right ul li {
    padding-left: 0.5rem;
}
.price-container .price-content #inter .left {
    border: 1px solid var(--orange-800);
    background: #fef8ed;
}
.price-container .price-content #inter .left h4 {
    background: var(--orange-800);
    color: #FFF;
}
.price-container .price-content #inter .left .price {
    background: #FFF3DD;
    border-radius: 0;
    display: block;
}
.price-container .price-content #inter .left ul li::marker {
    color: var(--orange-800);
}
.price-container .price-content > div {
    display: flex;
    justify-content: center;
    gap: 1rem;
    align-items: normal;
}
.price-container .price-content > div > * {
    flex: 1;
}
@media (max-width: 991px) {
    .price-container .price-content > div {
        flex-direction: column;
    }
}
.price-container .price-content > div .price {
    margin: 2rem 0;
    padding: 1rem 2rem;
    color: var(--purple-800);
    font-size: 22px;
    font-weight: var(--font-weight-bold);
    border-radius: 8px;
    border: 1px solid var(--purple-800);
    display: inline-block;
}
@media (max-width: 767px) {
    .price-container .price-content > div .price {
        margin: 0;
    }
}
.price-container .price-content > div.hide {
    display: none;
}
.price-container .price-content .devis {
    display: block;
    margin: 1rem;
}
.price-container .price-content .actions {
    align-items: center;
    display: flex;
    flex-direction: column;
    gap: 1rem;
    margin: 1rem 0;
}
@media (max-width: 767px) {
    .price-container .price-content .actions {
        margin-top: 0;
        margin-bottom: 1rem;
        display: none;
        padding: 0;
    }
    .price-container .price-content .actions div {
        width: 100%;
    }
    .price-container .price-content .actions div button.btn.btn--primary.btn--full {
        width: 90%;
    }
    .price-container .price-content .actions a.btn.outline--red {
        display: none;
    }
}
.price-container .price-content .contact-link {
    font-size: 0.9em;
    text-decoration: underline;
    display: block;
}
.price-container price-info {
    font-weight: initial;
    font-size: var(--font-size-base);
}

.estimate-confirmation {
    background-color: var(--purple-800);
    padding: 1.5em;
    color: #ffffff;
    text-align: center;
    box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.75);
}

.modal {
    display: none;
    position: fixed;
    z-index: 10;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    overflow: auto;
    background-color: rgba(0, 0, 0, 0.5);
}
.modal label {
    font-weight: var(--font-weight-bold);
}
.modal .text-area {
    height: 80px;
}
.modal #estimate-form input {
    width: 100%;
}
.modal .modal-content {
    background-color: var(--white);
    max-height: 95vh;
    overflow: scroll;
    z-index: 1000;
    text-align: left !important;
    margin: 1% auto;
    position: relative;
    padding: 1.5rem;
    border-radius: 10px;
    width: 80%;
    display: flex;
    flex-direction: column;
}
.modal .modal-content h2 {
    text-align: center;
}
.modal .contentList {
    min-width: 80%;
}
@media (max-width: 991px) {
    .modal .contentList {
        min-width: 100%;
    }
}
.modal .close {
    color: var(--purple-800);
    position: absolute;
    top: 10px;
    right: 20px;
    float: right;
    font-size: var(--font-size-xl);
    font-weight: bold;
    cursor: pointer;
}
.modal .close:hover,
.modal .close:focus {
    color: var(--brand-color);
    text-decoration: none;
    cursor: pointer;
}
.modal .steps {
    display: flex;
    justify-content: center;
    gap: 2rem;
    align-items: center;
    margin: 2rem 0;
}
@media (max-width: 991px) {
    .modal .steps {
        flex-direction: column;
        gap: 2rem;
        align-items: start;
    }
}
.modal .steps .step-details .step-num {
    font-size: var(--font-size-large);
    font-weight: var(--font-weight-bold);
    color: var(--white);
    background-color: var(--purple-800);
    padding: 0.7rem;
    border-radius: 10px;
    margin-right: 0.5rem;
}
.modal .required_notice {
    font-size: var(--font-size-small);
    margin-bottom: 1rem;
}
.modal .btn-action {
    display: flex;
    justify-content: center;
    gap: 0.5rem;
}
.modal .job-seekers {
    text-align: center !important;
}
.modal .job-seekers a {
    color: var(--brand-color);
    text-decoration: underline;
}
.modal .legal-notice {
    text-align: center !important;
}
.modal .legal-notice p {
    font-size: var(--font-size-small);
}
.modal .step {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}
.modal .step .final-step {
    min-height: 200px;
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}
.modal .step .final-step h3 {
    text-align: center;
}
.modal .step .form-group-grid {
    display: flex;
    gap: 2rem;
}
.modal .step .form-group-grid .form-item {
    width: 100%;
}
@media (max-width: 991px) {
    .modal .step .form-group-grid {
        flex-direction: column;
        gap: 0.7rem;
        align-items: flex-start;
    }
}

.flash > div {
    position: relative;
    text-align: center;
    padding: 1em;
    color: var(--white);
    background-color: var(--green-800);
    border: 1px solid transparent;
    z-index: 256;
    cursor: pointer;
    opacity: 0.9;
}
.flash > div.flash-success {
    color: var(--white);
    background-color: var(--green-800);
    border-color: var(--green-200);
}
.flash > div.flash-error {
    color: var(--white);
    background-color: var(--brand-color);
    border-color: var(--red-200);
}
.flash > div:hover {
    opacity: 0.75;
}

.logo-title {
    display: flex;
    align-items: center;
    gap: 1rem;
}

.sc-sessions-grid-item {
    background-color: white;
    border-radius: var(--radius);
    box-shadow: var(--shadow);
    margin-bottom: 2rem;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding: 30px;
    min-height: 300px;
    height: 300px;
    width: 400px;
    cursor: pointer;
}
.sc-sessions-grid-item .sc-sessions-grid-item-content {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    height: 100%;
}
.sc-sessions-grid-item:hover, .sc-sessions-grid-item:focus {
    box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.75);
}
@media (max-width: 767px) {
    .sc-sessions-grid-item {
        flex: 1;
        width: 100%;
    }
}
.sc-sessions-grid-item .sc-sessions-grid-item-content-header h4 {
    margin: 0;
}
.sc-sessions-grid-item .sc-sessions-grid-item-content-header p {
    margin-bottom: 0.4rem;
}
.sc-sessions-grid-item .sc-sessions-grid-item-content-body-icon {
    margin: 0.8rem 0;
}
.sc-sessions-grid-item .sc-sessions-grid-item-content-body-icon > .bi {
    font-size: var(--font-size-large);
    color: var(--green-800);
}
.sc-sessions-grid-item .sc-sessions-grid-item-content-body-icon > * {
    vertical-align: bottom;
}

.social-share {
    font-size: 2em;
    display: flex;
    justify-content: start;
    gap: 1ch;
}

.splide {
    margin-top: 2.8rem;
}

.splide__slide {
    text-align: center;
    filter: grayscale(1);
    transition: 0.3s ease;
}
.splide__slide:hover {
    filter: grayscale(0);
}

.splide__slide img {
    max-height: 90px;
}

#tabs {
    margin-bottom: 4rem;
}
@media (max-width: 767px) {
    #tabs {
        display: flex;
        flex-direction: column;
        margin: 0;
    }
}
#tabs .sub {
    margin-top: 2rem;
    background-color: var(--green-200);
    padding: 1.5rem 0;
}
@media (max-width: 767px) {
    #tabs .sub {
        margin: 0;
        display: contents;
    }
}
#tabs nav ul {
    list-style-type: none;
}
#tabs nav .tabs-menu {
    display: flex;
    flex-wrap: wrap;
    border-width: 1px 0 0 1px;
    margin: 0 auto;
}
@media (max-width: 767px) {
    #tabs nav .tabs-menu {
        display: contents;
    }
}
#tabs nav .tabs-menu a {
    text-decoration: none;
    display: block;
}
#tabs nav .tabs-menu a:hover {
    text-decoration: none;
}
#tabs nav .tabs-menu li {
    flex: 1 1 auto;
    padding: 0.5em;
    text-align: center;
    color: var(--green-800);
    background-color: var(--white);
    font-size: var(--font-size-base);
    font-weight: var(--font-weight-bold);
}
#tabs nav .tabs-menu li .link:hover {
    color: var(--white);
}
#tabs nav .tabs-menu li.active {
    background-color: var(--green-800);
    color: var(--white);
}
@media (max-width: 767px) {
    #tabs nav .tabs-menu li {
        padding: 1rem 1.2rem;
        border-bottom: 1px solid var(--green-200);
        background-color: var(--green-200);
    }
    #tabs nav .tabs-menu li a.link {
        display: flex;
        justify-content: space-between;
        align-items: center;
        text-align: left;
        width: 100%;
    }
    #tabs nav .tabs-menu li a.link::after {
        content: "";
        flex-shrink: 0;
        width: 14px;
        height: 14px;
        background-image: url("/media/image/pictos/CaretRed.svg");
        background-size: contain;
        background-repeat: no-repeat;
        background-position: center;
        transition: transform 0.2s ease;
    }
    #tabs nav .tabs-menu li.active a.link::after {
        transform: rotate(90deg);
        filter: brightness(0) invert(1);
    }
}
#tabs .tabs {
    display: none;
}
@media (max-width: 767px) {
    #tabs .tabs {
        padding: 1rem 1.2rem;
    }
}
#tabs .tabs dt {
    font-weight: bold;
}
#tabs .tabs h2 {
    margin: 10px 0;
}
#tabs .tabs h3 {
    margin: 10px 0;
}
#tabs .tabs table {
    margin-bottom: 1em;
}
#tabs .tabs table th, #tabs .tabs table td {
    padding: 0;
    text-align: left;
}
#tabs .tabs table th a, #tabs .tabs table td a {
    color: var(--purple-800);
}
#tabs .tabs table th a:hover, #tabs .tabs table td a:hover {
    text-decoration: underline;
}
#tabs .tabs ::marker {
    color: var(--green-800);
}
#tabs .tabs .program-details {
    width: max-content;
    max-width: 100%;
}
#tabs .tabs .program-details h4 {
    font-size: var(--font-size-medium);
    font-family: var(--font-playfair);
    color: var(--green-800);
    margin: revert;
    font-weight: var(--font-weight-bold);
}
#tabs .tabs .program-details p {
    padding-left: 4ch;
    margin: revert;
}
#tabs .tabs .program-details a {
    text-decoration: underline;
}
#tabs .tabs .pdf-programme {
    margin-top: 2.2rem;
}
#tabs .tabs .pdf-programme a {
    background-color: var(--brand-color);
}
#tabs .tabs .dawan-copyright {
    display: none;
}
#tabs .tabs .cpf-ready {
    text-align: center;
    color: --brand-color;
    font-weight: bold;
}
#tabs .tabs .dates-by-location {
    width: 100%;
    margin: 0 auto;
    border-collapse: collapse;
}
@media (max-width: 991px) {
    #tabs .tabs .dates-by-location {
        width: 90%;
        margin: 0 auto;
    }
}
#tabs .tabs .dates-by-location th, #tabs .tabs .dates-by-location td {
    padding: 8px;
}
#tabs .tabs .dates-by-location th {
    background-color: var(--grey);
    color: var(--purple-800);
    font-weight: var(--font-weight-bold);
}
#tabs .tabs .dates-by-location tr:nth-child(even) {
    background-color: #f2f2f2;
}
#tabs .tabs .dates-by-location .discounted {
    color: var(--green-800);
}
#tabs .tabs .dates-by-location a.selectSessionInDates {
    background: #F00;
    border-radius: 0.3rem;
    padding: 0.2rem 1rem;
    color: #FFF;
    text-decoration: none;
}
#tabs .tabs .dates-by-location a.selectSessionInDates:hover, #tabs .tabs .dates-by-location a.selectSessionInDates:active, #tabs .tabs .dates-by-location a.selectSessionInDates:focus {
    background: var(--brand-color);
}
#tabs .tabs .contact-us {
    margin: 0.8rem 0;
    text-align: center;
}
#tabs .tabs .locations {
    display: flex;
    flex-wrap: wrap;
    margin-top: 1.2rem;
    gap: 15px;
    justify-content: space-around;
    list-style-type: none;
    padding: 0;
}
@media (max-width: 991px) {
    #tabs .tabs .locations {
        flex-direction: column;
    }
}
#tabs .tabs .locations .imple--content {
    width: 25em;
    min-height: 12em;
}
@media (max-width: 991px) {
    #tabs .tabs .locations .imple--content {
        min-width: 100%;
    }
}
#tabs .tabs .locations .imple--content .imple--title {
    display: flex;
    align-items: center;
    gap: 10px;
}
#tabs .tabs .locations .imple--content .imple--title h3 {
    font-family: var(--font-playfair);
    font-size: var(--font-size-large);
    font-weight: var(--font-weight-bold);
}
#tabs .tabs.active {
    display: block;
    padding: 1.8rem 1.2rem;
    width: 100%;
}
@media (max-width: 767px) {
    #tabs .tabs.active {
        padding: 0 1.2rem;
    }
}
#tabs .program-header ul {
    padding: 0;
}
@media screen and (min-width: 990px) {
    #tabs nav .tabs-menu li {
        width: auto;
    }
}
#tabs .testimonies .contentList {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin: 0 auto;
}
@media (max-width: 991px) {
    #tabs .testimonies .contentList {
        flex-direction: column;
        justify-content: center;
    }
}
#tabs .testimonies .contentList ul {
    background-color: var(--white);
    border-radius: var(--radius);
    box-shadow: var(--shadow);
    margin-bottom: 20px;
    padding: 20px;
    width: calc(33.33% - 20px);
}
@media (max-width: 991px) {
    #tabs .testimonies .contentList ul {
        width: 90%;
        margin: 0 0.8rem;
    }
}
#tabs .testimonies .contentList ul li {
    line-height: 1.5;
    margin-bottom: 10px;
}
#tabs .testimonies .contentList ul li:last-child {
    font-weight: bold;
    margin-bottom: 0;
}

.sc-search-item {
    background-color: white;
    border-radius: var(--radius);
    box-shadow: var(--shadow);
    margin-bottom: 2rem;
    padding: 30px;
    min-height: 318px;
    width: 100%;
    cursor: pointer;
}
.sc-search-item:hover, .sc-search-item:focus {
    box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.75);
}
@media (max-width: 991px) {
    .sc-search-item {
        flex: 1;
        min-height: 450px;
        height: 100%;
    }
}
.sc-search-item .sc-sessions-grid-item-content-body-icon {
    display: flex;
    align-items: center;
    gap: 0.7rem;
    margin: 0.8rem 0;
}
@media (max-width: 991px) {
    .sc-search-item .sc-sessions-grid-item-content-body-icon {
        gap: 1.5rem;
    }
}
.sc-search-item .sc-sessions-grid-item-content-footer {
    text-align: center;
}

.toggle-item label {
    border: none;
    background-color: var(--green-200);
    width: 100%;
    max-width: 940px;
    padding: 1.2rem;
    display: grid;
    grid-template-columns: 1fr 20px;
    align-items: center;
    text-align: center;
    box-shadow: 0 4px 4px rgba(0, 0, 0, 0.25);
    margin-bottom: 1.5rem;
    transition: 0.2s;
}
.toggle-item label:hover {
    cursor: pointer;
}
.toggle-item > div > div {
    display: none;
    flex-flow: wrap;
    margin-bottom: 15px;
}
.toggle-item input {
    display: none;
}
.toggle-item input:checked ~ div > div {
    transform: translate(0, -1.5rem);
    display: flex;
    background-color: var(--white);
    padding: 1.5rem;
    box-shadow: 0 4px 4px rgba(0, 0, 0, 0.25);
}
@media (max-width: 767px) {
    .toggle-item input:checked ~ div > div {
        padding: 0;
    }
}
.toggle-item input:checked ~ div label {
    max-width: 100%;
}
.toggle-item input:checked ~ div label img {
    transform: rotate(90deg);
}
.toggle-item ul {
    width: 100%;
}
.toggle-item li::marker {
    color: var(--orange-800);
}
.toggle-item li a:hover {
    color: var(--brand-color);
}

.block-video {
    position: relative;
    display: block;
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
}

.block-video img {
    display: block;
    max-width: initial;
    opacity: 1;
    transition: opacity 0.3s;
}

.play-video {
    position: absolute;
    width: 62px;
    height: 62px;
    top: 50%;
    left: 50%;
    bottom: 0;
    transform: translate(-50%, -50%);
    transition: transform 0.3s;
    z-index: 2;
}

.block-video video {
    position: relative;
    width: 100%;
    max-width: 850px;
    outline: none;
}

.generic_page {
    padding-bottom: 4rem;
}
@media (max-width: 767px) {
    .generic_page {
        padding-bottom: 2rem;
    }
    .generic_page .page-body figure.image {
        margin: 0;
    }
    .generic_page .page-body figure.image img {
        width: 100%;
    }
}
.generic_page h1 {
    margin-bottom: 1rem;
}
@media (max-width: 767px) {
    .generic_page h1 {
        font-size: 1.8rem;
        margin-top: 0;
    }
}
.generic_page h2, .generic_page h3, .generic_page h4 {
    font-size: var(--font-size-medium);
    font-weight: var(--font-weight-bold);
    margin: 1rem 0;
}

.intro {
    font-size: var(--font-size-medium);
    margin: 1rem 0;
    padding: 1rem;
    color: var(--purple-800);
    border-radius: var(--radius);
    border-left: 4px solid var(--green-800);
    box-shadow: var(--shadow);
}

@media (max-width: 991px) {
    #career-page h1 {
        margin-bottom: 1.2rem;
    }
}
@media (max-width: 767px) {
    #career-page h1 {
        font-size: 1.8rem;
    }
}
#career-page #career {
    display: flex;
    flex-direction: column;
    gap: 4rem;
}
@media (max-width: 767px) {
    #career-page #career {
        gap: 1rem;
    }
}
#career-page #career h2 {
    font-size: var(--font-size-large);
    font-weight: var(--font-weight-bold);
    font-family: var(--font-playfair);
}
#career-page #career .sc--metier {
    display: flex;
    align-items: center;
    gap: 1.2rem;
}
@media (max-width: 991px) {
    #career-page #career .sc--metier {
        flex-direction: column;
    }
}
#career-page #career .sc--metier .sc--metier-body {
    width: 60%;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    gap: 1.8rem;
}
@media (max-width: 991px) {
    #career-page #career .sc--metier .sc--metier-body {
        width: 100%;
    }
}
@media (max-width: 767px) {
    #career-page #career .sc--metier .sc--metier-body {
        gap: 0;
    }
}
#career-page #career .sc--metier .sc--metier-body .metier-join-us h2 {
    margin-bottom: 1.2rem;
}
@media (max-width: 767px) {
    #career-page #career .sc--metier .sc--metier-body .metier-join-us a.btn.btn--primary {
        width: 100%;
    }
}
#career-page #career .sc--metier .sc--metier-body .metier-desc {
    display: flex;
    flex-direction: column;
    gap: 0.8rem;
}
@media (max-width: 767px) {
    #career-page #career .sc--metier .sc--metier-body .metier-desc {
        gap: 0;
    }
    #career-page #career .sc--metier .sc--metier-body .metier-desc h2 {
        margin-bottom: 0;
    }
    #career-page #career .sc--metier .sc--metier-body .metier-desc p:nth-of-type(2) {
        margin-bottom: 0;
    }
}
#career-page #career .sc--metier .sc--metier-video {
    flex-grow: 1;
    margin: 0 auto;
}
#career-page #career .sc--why {
    background-color: var(--green-200);
    padding: 4rem 0;
}
@media (max-width: 767px) {
    #career-page #career .sc--why {
        padding: 0;
    }
}
#career-page #career .sc--why .container {
    display: flex;
    flex-direction: column;
    gap: 0.8rem;
}
#career-page #career .sc--why .container h2, #career-page #career .sc--why .container p, #career-page #career .sc--why .container h3 {
    margin-bottom: 0.8rem;
}
#career-page #career .sc--why .container .sc--why-cards {
    display: flex;
    justify-content: space-between;
}
#career-page #career .sc--why .container .sc--why-cards .bi {
    color: var(--green-800);
    font-size: var(--font-size-xl);
}
@media (max-width: 991px) {
    #career-page #career .sc--why .container .sc--why-cards {
        display: block;
    }
}
#career-page #career .sc--why .container .sc--why-cards .cards {
    display: flex;
    flex-direction: column;
    background-color: var(--white);
    box-shadow: var(--shadow);
    max-width: 400px;
    padding: 2rem;
    align-items: flex-start;
    flex-grow: 1;
}
@media (max-width: 991px) {
    #career-page #career .sc--why .container .sc--why-cards .cards {
        margin-bottom: 1.5rem;
        max-width: 100%;
    }
}
#career-page #career .sc--why .container .sc--why-cards .cards h3 {
    margin-bottom: 0.8rem;
}
#career-page #career .sc--parcours > div {
    display: flex;
    flex-direction: column;
    gap: 4rem;
}
#career-page #career .sc--parcours > div .text-content {
    display: flex;
    align-items: center;
    gap: 1.8rem;
}
@media (max-width: 767px) {
    #career-page #career .sc--parcours > div .text-content {
        gap: 0;
    }
}
#career-page #career .sc--parcours > div .text-content img {
    margin-right: 1.8rem;
    min-width: 50%;
}
@media (max-width: 991px) {
    #career-page #career .sc--parcours > div .text-content {
        flex-direction: column;
    }
    #career-page #career .sc--parcours > div .text-content img {
        width: 100%;
        margin-bottom: 1.8rem;
    }
}
@media (max-width: 991px) and (max-width: 767px) {
    #career-page #career .sc--parcours > div .text-content img {
        margin: 0;
    }
}
#career-page #career .sc--parcours > div .text-content h2 {
    margin-bottom: 0.8rem;
}
#career-page #career .sc--parcours > div .text-content p {
    margin-bottom: 0.8rem;
}
#career-page #career .sc--parcours > div .video-content {
    display: flex;
    gap: 1.8rem;
}
#career-page #career .sc--parcours > div .video-content .block-video {
    width: 50%;
    margin: 0 auto;
}
@media (max-width: 991px) {
    #career-page #career .sc--parcours > div .video-content .block-video {
        width: 100%;
    }
}
@media (max-width: 991px) {
    #career-page #career .sc--parcours > div .video-content {
        flex-direction: column;
    }
}
#career-page #career .sc--processus {
    background-color: var(--grey);
    padding: 4rem 0;
}
@media (max-width: 767px) {
    #career-page #career .sc--processus {
        padding: 0;
    }
}
#career-page #career .sc--processus .container {
    display: flex;
    flex-direction: column;
    gap: 2rem;
}
@media (max-width: 767px) {
    #career-page #career .sc--processus .container {
        gap: 0;
    }
}
#career-page #career .sc--processus .container h2, #career-page #career .sc--processus .container p, #career-page #career .sc--processus .container h3 {
    margin-bottom: 0.8rem;
    text-align: center;
}
#career-page #career .sc--processus .container .steps {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 1rem;
}
@media (max-width: 991px) {
    #career-page #career .sc--processus .container .steps {
        flex-direction: column;
    }
}
#career-page #career .sc--processus .container .steps .step {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.5rem;
    padding: 1rem;
    flex: 1;
}
#career-page #career .sc--processus .container .steps .step h3 {
    font-size: var(--font-size-xl);
    font-family: var(--font-playfair);
    color: white;
    padding: 0.5rem 1.5rem 0.8rem 1.5rem;
    border-radius: 50%;
}
@media (max-width: 767px) {
    #career-page #career .sc--processus .container .steps .step h3 {
        margin: 0;
    }
}
#career-page #career .sc--processus .container .steps .step #st-1 {
    background-color: #FFD6A0;
}
#career-page #career .sc--processus .container .steps .step #st-2 {
    background-color: var(--orange-800);
}
#career-page #career .sc--processus .container .steps .step #st-3 {
    background-color: #FF8B00;
}
#career-page #career .sc--processus .container .steps .step #st-4 {
    background-color: var(--brand-color);
}
#career-page #career .sc--processus .container .steps .step h4 {
    font-weight: var(--font-weight-bold);
    font-family: var(--font-playfair);
    text-align: center;
}
@media (max-width: 767px) {
    #career-page #career .sc--processus .container .steps .step h4 {
        margin: 0;
    }
}
#career-page #career .sc--chrono {
    padding: 4rem 0;
}
@media (max-width: 767px) {
    #career-page #career .sc--chrono {
        padding: 0 0 4rem 0;
    }
}
#career-page #career .sc--chrono h2 {
    text-align: center;
}
#career-page #career .sc--chrono .timeline {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100px;
}
#career-page #career .sc--chrono .timeline .timeline-container {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    height: 4px;
    background-color: var(--purple-800);
}
#career-page #career .sc--chrono .timeline .timeline-container .timeline-point {
    position: relative;
    width: 15px;
    height: 15px;
    border-radius: 50%;
    background-color: var(--brand-color);
}
#career-page #career .sc--chrono .timeline .timeline-container .timeline-point::before {
    content: attr(data-year);
    position: absolute;
    font-weight: var(--font-weight-bold);
    font-size: var(--font-size-large);
    font-family: var(--font-playfair);
    color: var(--brand-color);
    top: 20px;
    left: 50%;
    transform: translateX(-50%);
}
#career-page #career .sc--chrono .timeline .timeline-container .timeline-point::after {
    content: attr(data-description);
    position: absolute;
    top: 60px;
    left: 50%;
    transform: translateX(-50%);
    width: 200px;
    text-align: center;
}
@media (max-width: 991px) {
    #career-page #career .sc--chrono .timeline {
        height: auto;
        justify-content: start;
        padding: 2rem;
    }
    #career-page #career .sc--chrono .timeline .timeline-container {
        flex-direction: column;
        height: auto;
        gap: 150px;
        width: 4px;
    }
    #career-page #career .sc--chrono .timeline .timeline-container .timeline-point::before, #career-page #career .sc--chrono .timeline .timeline-container .timeline-point::after {
        left: calc(100% + 10px);
        transform: none;
    }
    #career-page #career .sc--chrono .timeline .timeline-container .timeline-point::before {
        top: -10px;
    }
    #career-page #career .sc--chrono .timeline .timeline-container .timeline-point::after {
        top: 30px;
        text-align: start;
    }
}
#career-page #career strong {
    font-weight: var(--font-weight-bold);
}
#career-page #career em {
    font-style: italic;
}

.contact-page {
    display: flex;
    gap: 3rem;
    align-items: stretch;
}
.contact-page h1 {
    margin-bottom: 2rem;
    color: var(--purple-800);
}
@media (max-width: 767px) {
    .contact-page h1 {
        font-size: 1.7rem;
        margin-top: 0.8rem;
    }
}

.contact-image {
    flex: 1 1 40%;
}
@media (max-width: 991px) {
    .contact-image {
        display: none;
    }
}

.contact-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
@media (max-width: 991px) {
    .contact-image img {
        display: none;
    }
}

.contact-form {
    flex: 1 1 60%;
}
.contact-form .required_notice {
    font-size: var(--font-size-small);
    line-height: 14px;
    letter-spacing: 0.02em;
}
.contact-form .btn_wrapper {
    position: relative;
}
.contact-form .btn_wrapper .formButton {
    margin-right: 0;
}
@media (max-width: 767px) {
    .contact-form .btn_wrapper .formButton {
        width: 100%;
    }
}
.contact-form legend {
    margin-bottom: 2rem;
}
@media (max-width: 767px) {
    .contact-form legend {
        margin-bottom: 1rem;
    }
}
.contact-form div input, .contact-form div select, .contact-form div textarea {
    width: 100%;
}
.contact-form div textarea {
    min-height: 180px;
}
@media (max-width: 767px) {
    .contact-form .form-group-grid {
        gap: 0;
        margin-bottom: 0;
    }
}
@media (max-width: 767px) {
    .contact-form .form-group-grid .form-item {
        margin-top: 0;
    }
}

@media (max-width: 767px) {
    main#cpf .title {
        margin: 1rem 0;
    }
}
main#cpf .cpf-dual {
    display: flex;
}
@media (max-width: 767px) {
    main#cpf .cpf-dual {
        flex-direction: column;
    }
    main#cpf .cpf-dual aside {
        display: none;
    }
}
main#cpf .cpf-dual > * {
    flex: 1;
}
main#cpf .contact-action {
    display: none;
}
@media (max-width: 767px) {
    main#cpf .contact-action {
        display: flex;
    }
}

#offers {
    display: flex;
    flex-direction: column;
    gap: 2rem;
}
@media (max-width: 767px) {
    #offers {
        gap: 1rem;
    }
    #offers header .title {
        font-size: 1.8rem;
        margin: 0;
    }
}

.toggler {
    border: none;
    display: grid;
    grid-template-columns: 1fr 1fr;
    background-color: #ffe3b7;
    padding: 0;
    height: 50px;
}
.toggler > img {
    width: 100%;
    object-fit: cover;
    height: 50px;
}
.toggler div {
    height: 50px;
    display: flex;
    justify-content: right;
    align-items: center;
    padding: 0 10px;
    text-transform: uppercase;
    transition: 0.3s;
    border: 2px solid #ffe3b7;
}
.toggler div img {
    filter: invert(26%) sepia(43%) saturate(7483%) hue-rotate(344deg) brightness(87%) contrast(104%);
    width: 40px;
    margin-left: 40px;
    transition: 0.3s;
}
.toggler:hover {
    cursor: pointer;
}
.toggler:hover div {
    border: 2px solid var(--brand-color);
    border-left: 2px solid #ffe3b7;
}
.toggler:hover div img {
    margin-left: 0;
}

.toggle {
    max-height: 0;
    overflow: hidden;
    transition: 0.2s;
    line-height: 1.5em;
    padding: 0 10px;
    margin: 0;
}

.toggler-checkbox {
    display: none;
}
.toggler-checkbox:checked ~ ul {
    padding: 10px;
    max-height: 1000px;
}

.jobs-cities {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
}

@media screen and (max-width: 1100px) {
    .jobs-cities {
        grid-template-columns: 1fr;
        max-width: 600px;
        margin: auto;
    }
}
@media screen and (max-width: 600px) {
    .toggler div img {
        margin-left: 0;
    }
}
@media screen and (max-width: 450px) {
    .toggler {
        grid-template-columns: 0.35fr 1fr;
    }
}
#hero {
    background-image: url("../images/cover_home-2432ad019f3203d06662a8f9dc7ca2cf.webp");
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
}
#hero.no-bg {
    background-image: none;
}

#hero > video {
    display: inline-block;
    vertical-align: top;
}

.hero-content {
    min-height: 669px;
    padding-top: 8rem;
    color: #fff;
}
.hero-content h1 {
    font-size: var(--font-size-xxl);
    font-family: var(--font-playfair);
    font-weight: 700;
    color: var(--white);
    margin-bottom: 0.8rem;
}
.hero-content h1 span {
    color: var(--brand-color);
}
.hero-content p {
    font-size: 18px;
    margin-bottom: 20px;
}
.hero-content .search-bar {
    display: flex;
    align-items: center;
    width: 609px;
    height: 40px;
    padding: 24px 24px;
    background-color: var(--white);
    border: 2px solid var(--purple-800);
    border-radius: 0 8px 8px 8px;
}
@media (max-width: 767px) {
    .hero-content .search-bar {
        width: 100%;
    }
}
.hero-content .search-bar input[type=search] {
    font-size: var(--font-size-regular);
    flex-grow: 1;
    border: none;
    outline: none;
    padding: 0 10px;
}
.hero-content .search-bar button {
    border: none;
    background-color: transparent;
    cursor: pointer;
}
.hero-content .search-bar button:hover {
    transform: scale(1.1);
}

#sc-advantage {
    display: flex;
    align-items: center;
    gap: 4rem;
    padding: 4rem 0;
}
@media (max-width: 991px) {
    #sc-advantage {
        flex-direction: column;
        gap: 2rem;
    }
}
@media (max-width: 767px) {
    #sc-advantage {
        flex-direction: column;
        gap: 0.5rem;
        padding: 0 0 1rem;
        margin-left: 0;
        margin-right: 0;
        width: 100%;
    }
}
#sc-advantage .sc-advantage_body {
    padding: 40px;
    flex: 1 0 40%;
    background-color: var(--grey);
}
#sc-advantage .sc-advantage_body h2, #sc-advantage .sc-advantage_body p {
    margin-bottom: 2rem;
}
@media (max-width: 767px) {
    #sc-advantage .sc-advantage_body {
        padding: 0 20px 20px;
    }
    #sc-advantage .sc-advantage_body h2 {
        margin-bottom: 0.6rem;
    }
    #sc-advantage .sc-advantage_body p {
        margin-top: 0.6rem;
    }
}
#sc-advantage .sc-advantage_illust {
    flex: 1 0 60%;
}
@media (max-width: 767px) {
    #sc-advantage .sc-advantage_illust {
        margin-left: 10px;
        margin-right: 10px;
        padding-right: 20px;
        padding-left: 20px;
    }
}
#sc-advantage .sc-advantage_illust .pictos {
    display: flex;
    justify-content: space-around;
    gap: 15px;
    flex-wrap: wrap;
}
#sc-advantage .sc-advantage_illust .pictos img {
    display: block;
    max-height: 8em;
    max-width: 40ch;
}
@media (max-width: 767px) {
    #sc-advantage .sc-advantage_illust .pictos {
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        grid-template-rows: auto auto;
        justify-items: center;
        align-items: center;
        gap: 1rem;
    }
    #sc-advantage .sc-advantage_illust .pictos > *:first-child {
        grid-column: 1/-1;
    }
    #sc-advantage .sc-advantage_illust .pictos img {
        height: auto;
        width: 100%;
        object-fit: contain;
    }
}

#sc-service {
    padding-bottom: 4rem;
}
@media (max-width: 767px) {
    #sc-service {
        padding-top: 0.5rem;
        border-top: 3px solid rgb(239, 239, 241);
        padding-bottom: 1rem;
    }
}
#sc-service .sc-service-items {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 2rem;
}
@media (max-width: 767px) {
    #sc-service .sc-service-items {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        justify-items: center;
        align-items: center;
        gap: 0;
    }
}
#sc-service .sc-service-items .sc-service-item {
    display: flex;
    flex-direction: column;
    width: 300px;
    padding: 2rem;
    gap: 1rem;
    align-items: center;
    justify-content: center;
}
@media (max-width: 767px) {
    #sc-service .sc-service-items .sc-service-item {
        width: 100%;
        flex: unset;
        padding: 0.5rem;
        gap: 0.5rem;
    }
    #sc-service .sc-service-items .sc-service-item img {
        width: 50px;
        height: 50px;
        object-fit: contain;
    }
    #sc-service .sc-service-items .sc-service-item p {
        font-size: 1rem;
        font-weight: bold;
        margin: 0;
    }
}
#sc-service .sc-service-items .sc-service-item p {
    text-align: center;
}

#sc-sessions {
    background-color: var(--green-800);
    padding: 5rem 0;
}
@media (max-width: 767px) {
    #sc-sessions {
        padding-top: 0;
        padding-bottom: 0;
    }
}
#sc-sessions .sc-sessions-body {
    display: flex;
    flex-direction: column;
    align-items: center;
}
@media (max-width: 767px) {
    #sc-sessions .sc-sessions-body h2 {
        font-size: 1.8rem;
        margin-bottom: 0.5rem;
    }
}
#sc-sessions .subtitle {
    margin: 0.5rem 0 2rem 0;
}
#sc-sessions .sc-sessions-grid {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    flex-direction: row;
    gap: 2.5rem;
}
@media (max-width: 991px) {
    #sc-sessions .sc-sessions-grid {
        flex-direction: column;
        justify-content: center;
        gap: 0;
    }
}
@media (max-width: 767px) {
    #sc-sessions .sc-sessions-grid-item {
        padding: 1.5rem;
        min-height: unset;
    }
}
@media (max-width: 767px) {
    #sc-sessions .sc-sessions-grid-item-content-footer .btn {
        padding-top: 0.7em;
        padding-bottom: 0.7em;
        margin-bottom: 0;
        width: unset;
        margin-top: 1rem;
    }
    #sc-sessions .sc-sessions-grid-item-content-footer .btn img {
        display: none;
    }
}

#sc-partners {
    background-color: var(--orange-600);
    padding: 4rem 0;
    display: flex;
    flex-direction: column;
    gap: 20px;
}
@media (max-width: 767px) {
    #sc-partners {
        padding: 0;
    }
    #sc-partners h2 {
        margin-bottom: 0;
    }
}

#sc-feedback {
    display: flex;
    gap: 4rem;
    padding: 5rem 0;
    align-items: center;
}
@media (max-width: 991px) {
    #sc-feedback {
        flex-direction: column;
        gap: 4rem;
    }
}
@media (max-width: 767px) {
    #sc-feedback {
        flex-direction: column;
        gap: 0;
        padding-top: 0;
        padding-bottom: 1rem;
    }
}

.sc-feedback_body {
    padding-inline: 1.5rem;
    flex: 1 0 50%;
}
@media (max-width: 991px) {
    .sc-feedback_body {
        transform: translate(0, 0);
    }
}
@media (max-width: 767px) {
    .sc-feedback_body {
        transform: translate(0, 0);
        padding-right: 0;
        padding-left: 0;
    }
    .sc-feedback_body .btn {
        margin: 0;
        width: unset;
    }
    .sc-feedback_body .btn img {
        display: none;
    }
}
.sc-feedback_body .sc-feedback-txt {
    margin-top: 1rem;
    margin-bottom: 2rem;
}

.sc-feedback_video {
    flex: 1 0 50%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    position: relative;
    z-index: 1;
}
@media (max-width: 767px) {
    .sc-feedback_video::before, .sc-feedback_video::after {
        display: none;
    }
}
.sc-feedback_video::before {
    content: "";
    position: absolute;
    border-radius: 50%;
    top: 0;
    left: -1.2%;
    width: 500px;
    height: 500px;
    background-color: var(--blue-200);
    z-index: -1;
    transform: translate(0, -5%);
}
.sc-feedback_video .sc-feedback_video_content {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 3rem;
}
@media (max-width: 767px) {
    .sc-feedback_video .sc-feedback_video_content {
        margin-top: 2rem;
        align-items: flex-start;
        gap: 1rem;
    }
}

.logos img {
    max-height: 64px;
    margin: 0 1ch;
}

#landing-btm-menu {
    position: relative;
    max-height: 100px;
    background-color: var(--grey) !important;
}
#landing-btm-menu ul {
    list-style-type: none;
    padding: 0;
}
#landing-btm-menu .main-menu {
    display: flex;
    justify-content: space-between;
    align-items: center;
}
#landing-btm-menu .main-menu .main-logo img {
    height: 4.5em;
}

#landing .training-group {
    display: flex;
    flex-direction: row;
    gap: 2rem;
}
@media (max-width: 768px) {
    #landing .training-group {
        flex-direction: column;
    }
}
#landing .training-group .training-heading {
    margin-top: 2em;
}
#landing .training-group h1 {
    font-size: var(--font-size-xl);
    font-weight: var(--font-weight-bold);
    color: var(--purple-800);
    font-family: var(--font-playfair);
}

.form-item {
    margin: 1em 0;
}

.align-form-item {
    margin: 0;
}

.center {
    text-align: center;
}
.center img {
    max-width: 20%;
}

.two-cols {
    display: flex;
}
.two-cols > * {
    width: 50%;
}

@media (max-width: 768px) {
    .two-cols {
        display: initial;
    }
    .two-cols > * {
        width: initial;
    }
}
.strip {
    display: flex;
    flex-direction: column;
    align-items: center;
}
.strip h2 {
    text-align: initial;
    font-size: 1.5em;
    margin: 2em 0 1em;
}

#reasons {
    background-color: var(--green-800);
    color: white;
    text-align: center;
}
#reasons h2 {
    color: white;
}
#reasons .card-group {
    display: flex;
}
@media (max-width: 768px) {
    #reasons .card-group {
        flex-direction: column;
    }
}
#reasons .card {
    margin: 1em;
    padding: 1em;
    min-width: 16%;
}
#reasons .icon {
    display: inline-block;
    background-color: var(--purple-800);
    color: white;
    padding: 0.25em 0.5em;
    font-size: 2em;
    border-radius: 0.25em;
}

.splide__slide p {
    margin: 0;
}
.splide__slide p.author {
    color: #999;
}

#trainings {
    background-color: #fff2df;
}
#trainings nav {
    margin-bottom: 1.5em;
}
#trainings nav ul {
    padding: revert;
}

#training {
    color: var(--purple-800);
    font-family: var(--font-lato);
}
#training h2 {
    font-size: var(--font-size-medium);
    font-weight: bold;
}
#training .training-group {
    display: flex;
    flex-direction: row;
    align-items: baseline;
    gap: 2rem;
}
@media (max-width: 991px) {
    #training .training-group {
        flex-direction: column;
        align-items: stretch;
    }
}
#training .training-prerequisites-button {
    background-color: #2e3049;
    padding: 8px;
    margin: 0;
    margin-top: 8px;
}
#training .training-prerequisites-button:hover {
    background-color: #fdad01;
}
#training h1 {
    font-size: var(--font-size-xl);
    font-weight: var(--font-weight-bold);
    color: var(--purple-800);
    font-family: var(--font-playfair);
}
@media (max-width: 767px) {
    #training h1 {
        font-size: 1.7rem;
        margin: 0 0 1rem;
    }
}
#training .training-heading {
    flex: 1 1 50%;
    min-width: 0;
}
#training .training-heading p {
    margin: 0;
}
@media (max-width: 991px) {
    #training .training-heading {
        flex: 1 1 100%;
    }
}
#training .training-heading .training-heading-title {
    display: flex;
    justify-content: start;
    align-items: center;
    gap: 0.7rem;
    flex-wrap: wrap;
    gap: 0;
}
#training .training-heading .training-heading-title svg {
    width: 40%;
    height: auto;
    margin-top: -2rem;
}
#training .training-heading .training-heading-title h1 {
    flex: 1 1 auto;
    min-width: 0;
    margin-top: -1rem;
}
#training .training-heading .training-heading-list {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}
@media (max-width: 767px) {
    #training .training-heading .training-heading-list {
        gap: 0;
    }
    #training .training-heading .training-heading-list .training-heading-icons {
        order: 1;
    }
    #training .training-heading .training-heading-list .pdf-programme {
        order: 2;
        margin-top: 1rem;
    }
    #training .training-heading .training-heading-list .pdf-programme a.btn.btn-big {
        width: 100%;
    }
    #training .training-heading .training-heading-list .training-heading-bottom {
        order: 3;
    }
}
#training .training-heading .training-heading-list .training-heading-top-item {
    display: flex;
    align-items: start;
    gap: 2rem;
    font-size: var(--font-size-medium);
}
#training .training-heading .training-heading-list .training-heading-top-item img {
    background-color: var(--purple-800);
    border-radius: 8px;
    padding: 0.4rem;
}
#training .training-heading .training-heading-list .training-heading-top {
    margin: 1rem 0;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 1rem;
}
#training .training-heading .training-heading-list .training-heading-top .training-heading-top-item {
    display: flex;
    align-items: start;
    gap: 0.7rem;
    padding-right: 1rem;
    font-size: var(--font-size-medium);
    border-right: 1px solid var(--brand-color);
}
#training .training-heading .training-heading-list .training-heading-top .training-heading-top-item:last-child {
    padding-right: 0;
    border-right: none;
}
@media (max-width: 991px) {
    #training .training-heading .training-heading-list .training-heading-top .training-heading-top-item {
        border-right: none;
    }
}
@media (max-width: 991px) {
    #training .training-heading .training-heading-list .training-heading-top {
        flex-direction: column;
        align-items: flex-start;
    }
}
#training .training-heading .training-heading-list .training-heading-bottom {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}
#training .training-heading .training-heading-list .training-heading-bottom .training-heading-bottom-item {
    display: flex;
    align-items: start;
    gap: 0.7rem;
}
#training .training-heading .training-heading-list .training-heading-bottom .training-heading-bottom-item.block {
    display: inline-block;
}
#training .training-heading .training-heading-list .training-heading-bottom .training-heading-bottom-item:before {
    content: "";
    min-width: 16px;
    min-height: 16px;
    border-radius: 0 4px 4px 4px;
    background-color: var(--orange-800);
    vertical-align: middle;
    transform: translateY(5px);
}
#training .training-heading .training-heading-list .training-heading-bottom .training-heading-bottom-item.training-red:before {
    background-color: var(--brand-color);
}
#training .training-heading .training-heading-list .training-heading-bottom .training-heading-bottom-item p {
    font-size: var(--font-size-base);
    font-weight: var(--font-weight-medium);
    overflow-wrap: break-word;
    min-width: 0;
}
#training .training-heading .training-heading-list .training-heading-bottom .training-heading-bottom-item p span {
    font-weight: var(--font-weight-bold);
}
#training .training-content {
    flex: 1 1 50%;
    min-width: 0;
}
@media (max-width: 991px) {
    #training .training-content {
        width: 100%;
        flex: 1 1 100%;
    }
}
@media (max-width: 767px) {
    #training .training-content {
        width: 100vw;
        position: relative;
        left: 50%;
        transform: translateX(-50%);
    }
}
#training .training-content .training-cpf {
    padding: 1rem;
    display: flex;
    justify-content: space-between;
    margin: 2rem 0;
}
@media (max-width: 991px) {
    #training .training-content .training-cpf {
        flex-direction: column;
        align-items: flex-start;
        gap: 1rem;
    }
}
@media (max-width: 767px) {
    #training .training-content .training-cpf {
        align-items: center;
        margin: 1rem;
        padding: 0 1rem;
    }
}
#training .training-content .training-cpf .cpf-title {
    font-weight: var(--font-weight-semi-bold);
    font-size: var(--font-size-base);
}
@media (max-width: 767px) {
    #training .training-content .training-cpf .cpf-title {
        text-align: center;
        margin-top: 0;
    }
}
#training .training-content .training-cpf .cpf-icons {
    display: flex;
    justify-content: center;
    align-items: baseline;
    gap: 0.7rem;
}
#training .training-content .training-cpf img {
    width: 100px;
    height: 100px;
    display: block;
    padding: 0;
}
#training .training-content .training-cpf .cpf-detail {
    font-size: var(--font-size-small);
    text-align: center;
}
#training .logo-wrapper {
    margin: 1em 0;
    text-align: center;
}
#training .logo-wrapper img {
    max-width: 80%;
    max-height: 360px;
}
@media (max-width: 767px) {
    #training .logo-wrapper img {
        display: none;
    }
}
@media (max-width: 767px) {
    #training #tabs .contact-action .btn.outline--red {
        background: rgba(255, 255, 255, 0.7);
    }
}

@media (min-width: 768px) {
    #contact-dawan-action {
        display: none;
    }
}

@media (max-width: 991px) {
    #top > section > main > section > section > div > ul > div > li > a > div.left > img {
        display: none;
    }
}

.contact-action {
    display: flex;
    justify-content: center;
    margin-bottom: 1rem;
}
@media (max-width: 767px) {
    .contact-action {
        margin: 1rem 0;
    }
}

.accented_title {
    padding-left: 0.6em;
    border-left: solid 0.4rem #E41F27;
}
.accented_title > em {
    font-weight: bolder;
    color: #E41F27;
}

.first-level {
    margin-top: 2rem;
}

.training {
    position: relative;

    div.third-level.container {
        display: flex;

        a.btn.btn--primary {
            height: fit-content;
            margin: 0 0 0 auto;
            align-self: center;
        }
    }
    h1 {
        color: var(--purple-800);
    }
}

@media (max-width: 767px) {
    .training h1 {
        margin: 1rem 0;
    }
}
.training h3 a {
    font-size: var(--font-size-large);
    font-weight: var(--font-weight-bold);
    text-decoration: underline;
    text-underline-offset: 0.3rem;
    font-family: var(--font-playfair);
    color: var(--green-800);
}
.training h3 a:hover {
    color: var(--brand-color);
}
.training h3:first-child {
    margin-top: 2rem;
}
@media (max-width: 767px) {
    .training h3:first-child {
        margin-top: 1rem;
    }
}
.training .raw h1 {
    font-size: var(--font-size-xl);
    font-weight: var(--font-weight-bold);
    color: var(--purple-800);
    margin-bottom: 2rem;
    font-family: var(--font-playfair);
}
.training .select-level {
    margin-top: 2rem;
}
.training .banner-container {
    background: #fdf3e4;
}
.training .banner-container > * {
    background: center center no-repeat #FFF2DF;
    box-shadow: 0 0.2rem 0.4rem #000;
    background-size: cover;
    width: 100%;
    max-height: 431px;
    aspect-ratio: 3/1;
    box-sizing: content-box;
    border: 0.2rem solid #FFF;
    border-radius: 2rem;
    display: grid;
    align-items: center;
    justify-items: center;
}
.training .banner-container > * > * {
    grid-area: 1/1;
    height: 100%;
    max-height: 431px;
    aspect-ratio: 1.7856225931;
    max-width: 100%;
    margin: auto;
    background-color: rgba(0, 0, 0, 0.5);
    border-width: 0 0.1rem;
    border-style: solid;
    border-color: #FFF;
}
.training .training-section-right {
    border: 0.2rem solid var(--purple-800);
    border-radius: var(--radius);
    box-shadow: var(--shadow);
    margin: 2rem 0;
}
.training .training-section-right ul {
    margin: 0;
    list-style-type: none;
}
@media (max-width: 767px) {
    .training .training-section-right ul.cadre {
        margin: 0;
        padding: 0 1rem 0;
    }
}
@media (max-width: 767px) {
    .training .training-section-right {
        margin: 1rem 0;
        padding: 0 0.8rem 0;
    }
}
.training .training-section-right li {
    border-bottom: 0.2rem solid var(--purple-800);
}
@media (max-width: 767px) {
    .training .training-section-right li {
        padding-bottom: 1rem;
    }
}
.training .training-section-right li:last-child {
    border-bottom: none;
}
.training .training-section-right li a {
    display: block;
}
.training .training-section-right li a:hover {
    text-decoration: none;
}
.training .training-section-right li a .box-link {
    font-size: var(--font-size-medium);
    color: var(--purple-800);
    font-weight: var(--font-weight-bold);
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0.25rem;
}
.training .training-section-right li a .box-link:hover {
    color: var(--brand-color) !important;
}
@media (max-width: 991px) {
    .training .training-section-right li a .box-link {
        flex-direction: column;
        align-items: flex-start;
        gap: 1rem;
    }
}
@media (max-width: 767px) {
    .training .training-section-right li a .box-link {
        gap: 0;
    }
}
.training .training-section-right li a .box-link .right {
    max-width: 80%;
}
@media (max-width: 767px) {
    .training .training-section-right li a .box-link .right {
        margin-top: 1rem;
        max-width: 100%;
    }
    .training .training-section-right li a .box-link .right svg {
        min-width: 48px;
    }
    .training .training-section-right li a .box-link .right p {
        margin: 0;
    }
}
@media (max-width: 767px) {
    .training .training-section-right li a .box-link .left {
        margin-top: 1em;
    }
    .training .training-section-right li a .box-link .left .img-calendarcheck {
        display: none;
    }
    .training .training-section-right li a .box-link .left .img-caretred {
        width: 25px;
        height: 24px;
    }
}
.training .training-section-right li a .box-link .left p {
    color: var(--brand-color);
}
@media (max-width: 767px) {
    .training .training-section-right li a .box-link .left p.training-date {
        margin: 0;
    }
}
.training .training-section-right li a .box-link .right, .training .training-section-right li a .box-link .left {
    display: flex;
    align-items: center;
    gap: 1rem;
}
.training .training-description {
    background-color: var(--grey);
    padding: 2rem 0;
}
@media (max-width: 767px) {
    .training .training-description {
        margin: 0 -30px;
        padding: 1rem 0 0;
    }
}
.training .training-description .training-description-content {
    display: flex;
    gap: 2rem;
    align-items: start;
}
@media (max-width: 991px) {
    .training .training-description .training-description-content {
        flex-wrap: wrap;
    }
}
@media (max-width: 767px) {
    .training .training-description .training-description-content {
        gap: 0;
    }
    .training .training-description .training-description-content nav {
        order: 2;
    }
    .training .training-description .training-description-content .training-description-item {
        order: 1;
    }
}
.training .training-description .training-description-content img {
    max-width: 320px;
}
@media (max-width: 991px) {
    .training .training-description .training-description-content img {
        display: none;
    }
}
.training .training-description .training-description-content .training-description-item {
    flex: 1;
    background-color: var(--white);
    border: 1px solid var(--purple-800);
    border-radius: var(--radius);
    padding: 2rem;
    font-size: var(--font-size-medium);
}
@media (max-width: 991px) {
    .training .training-description .training-description-content .training-description-item {
        flex: 0 0 100%;
        margin-bottom: 2rem;
        max-width: 100%;
    }
}
@media (max-width: 767px) {
    .training .training-description .training-description-content .training-description-item {
        padding: 0;
        border: 0;
        background-color: var(--grey);
        margin: 0;
    }
}
.training .training-description .training-description-content .training-description-item h2 {
    color: var(--purple-800);
}
@media (max-width: 767px) {
    .training .training-description .training-description-content .training-description-item h2 {
        margin: 0 0 -10px;
        font-size: 1.2em;
    }
}
.training .training-description .training-description-content .training-description-item h3 {
    color: var(--green-800);
}
@media (max-width: 767px) {
    .training .training-description .training-description-content .training-description-item h3 {
        margin: 0 0 -10px;
        font-size: 1.1em;
    }
}
@media (max-width: 767px) {
    .training .training-description .training-description-content .training-description-item p {
        font-size: 0.876em;
    }
}
@media (max-width: 767px) {
    .training .training-description .training-description-content .training-description-item li {
        font-size: 0.876em;
    }
}

dialog#formDialog {
    width: fit-content;
    height: fit-content;
    border:0;
    border-radius:1rem;
    box-shadow: 0 0.2rem 0.5rem #000;

    form#contact-form {
        max-width: 500px;
    }

    &::backdrop {
        background-color: rgba(0, 0, 0, 0.5);
    }

    .close-dialog {
        position: absolute;
        top: 10px;
        right: 10px;
        background: none;
        border: none;
        font-size: 28px;
        color: #666;
        cursor: pointer;
        padding: 0;
        width: 30px;
        height: 30px;
        display: flex;
        align-items: center;
        justify-content: center;
        font-weight: 300;
        line-height: 1;
        outline: none;

        &:hover {
            color: #333;
        }

        &:active {
            color: #000;
        }
    }
}

#search-page {
    padding: 4rem 0 0 0;
}
@media (max-width: 767px) {
    #search-page {
        padding: 0;
    }
}
#search-page .header-content {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}
@media (max-width: 767px) {
    #search-page .header-content {
        gap: 0;
    }
    #search-page .header-content p.subtitle {
        margin-top: 0.5em;
    }
}
#search-page .header-content .header-content-inner h1 span {
    color: var(--green-800);
}
@media (max-width: 767px) {
    #search-page .header-content .header-content-inner h1.title {
        font-size: 1.6em;
        margin-bottom: 0.6rem;
    }
}
#search-page .header-content .search-bar-result .search-input {
    position: relative;
    display: flex;
    gap: 0.5rem;
    flex-direction: column;
    max-width: 600px;
}
@media (max-width: 991px) {
    #search-page .header-content .search-bar-result .search-input {
        max-width: 100%;
    }
}
#search-page .header-content .search-bar-result .field-search {
    position: relative;
}
#search-page .header-content .search-bar-result .icon-search {
    position: absolute;
    z-index: 10;
    right: 20px;
    top: 5px;
    border: none;
    background-color: transparent;
    cursor: pointer;
}
#search-page .header-content .search-bar-result .icon-search:hover {
    transform: scale(1.1);
}
@media (max-width: 991px) {
    #search-page .header-content .search-bar-result .icon-search {
        top: 5px;
        right: 5px;
    }
}
#search-page .search-result {
    background-color: var(--green-200);
    padding: 2rem 0;
}
#search-page .search-result ol {
    list-style-type: none;
}
@media (max-width: 767px) {
    #search-page .search-result ol.search-result {
        padding: 0;
        margin: 0;
        display: grid;
        gap: 2rem;
    }
    #search-page .search-result ol.search-result li article.sc-search-item {
        margin-bottom: 0;
        min-height: unset;
        padding: 0.1rem 1.5rem 1rem;
    }
    #search-page .search-result ol.search-result li article.sc-search-item .sc-sessions-grid-item-content .sc-sessions-grid-item-content-header h2.subtitle.logo-title svg {
        min-width: 48px;
    }
    #search-page .search-result ol.search-result li article.sc-search-item .sc-sessions-grid-item-content .sc-sessions-grid-item-content-body .sc-sessions-grid-item-content-body-icon:nth-child(2) {
        display: none;
    }
    #search-page .search-result ol.search-result li article.sc-search-item .sc-sessions-grid-item-content .sc-sessions-grid-item-content-footer a.btn.btn--primary {
        padding-top: 0.7em;
        padding-bottom: 0.7em;
        margin-bottom: 0;
        width: unset;
        margin-top: 1rem;
    }
    #search-page .search-result ol.search-result li article.sc-search-item .sc-sessions-grid-item-content .sc-sessions-grid-item-content-footer a.btn.btn--primary img {
        display: none;
    }
}

#session-confirmed {
    padding: 4rem 0;
}
@media (max-width: 767px) {
    #session-confirmed {
        padding: 0;
    }
    #session-confirmed .title {
        margin: 1rem 0;
    }
}
#session-confirmed .page-body #noResultsMessage {
    font-size: var(--font-size-large);
    font-weight: var(--font-weight-semi-bold);
    color: var(--brand-color);
    text-align: center;
    margin: 2rem 0;
}
#session-confirmed .page-body .form-sessions-filters {
    /* USE GRID */
    display: flex;
    gap: 1rem;
    padding: 2rem 0;
    align-items: center;
    border-bottom: 1px solid var(--purple-800);
    margin-bottom: 2rem;
}
@media (max-width: 767px) {
    #session-confirmed .page-body .form-sessions-filters .close:first-of-type {
        display: none;
    }
}
#session-confirmed .page-body .form-sessions-filters .close:last-of-type {
    display: none;
}
@media (max-width: 767px) {
    #session-confirmed .page-body .form-sessions-filters .close:last-of-type {
        display: block;
        font-size: 1.2rem;
        text-decoration: underline;
        color: #0f6674;
    }
}
#session-confirmed .page-body .form-sessions-filters .close {
    background: none;
    border: none;
    font-size: 2rem;
    color: var(--purple-800);
    cursor: pointer;
    padding: 0;
    line-height: 1;
    transform: translate(0, 13px);
}
#session-confirmed .page-body .form-sessions-filters .close:hover {
    color: var(--brand-color); /* Change la couleur au survol */
}
@media (max-width: 767px) {
    #session-confirmed .page-body .form-sessions-filters {
        flex-direction: column;
    }
}
#session-confirmed .page-body .form-sessions-filters .form-group {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}
@media (max-width: 767px) {
    #session-confirmed .page-body .form-sessions-filters .form-group {
        width: 100%;
    }
}
#session-confirmed .page-body [hidden] {
    display: none !important;
}
#session-confirmed .page-body #searchResult .month-session-line {
    margin-bottom: 2rem;
    display: flex;
    flex-direction: column;
    gap: 0.8rem;
}
@media (max-width: 767px) {
    #session-confirmed .page-body #searchResult .month-session-line {
        margin: 0;
    }
}
#session-confirmed .page-body #searchResult .month {
    font-weight: var(--font-weight-semi-bold);
    font-size: var(--font-size-large);
    color: var(--brand-color);
}
@media (max-width: 767px) {
    #session-confirmed .page-body #searchResult .month a {
        display: none;
    }
}
#session-confirmed .page-body #searchResult .session-line {
    position: relative;
    display: flex;
    font-size: var(--font-size-medium);
    font-weight: var(--font-weight-semi-bold);
}
@media (max-width: 991px) {
    #session-confirmed .page-body #searchResult .session-line {
        flex-direction: column;
        width: 100%;
        gap: 0.5rem;
        margin-bottom: 1.8rem;
    }
}
#session-confirmed .page-body #searchResult .session-line .date {
    flex: 0 0 max-content;
    margin: 0;
}
#session-confirmed .page-body #searchResult .session-line :not(.date) {
    flex: auto;
}
#session-confirmed .page-body #searchResult .session-line > *:first-child::after, #session-confirmed .page-body #searchResult .session-line > *:last-child::before {
    content: ">";
    display: inline-block;
    margin: 0 0.8rem;
    font-weight: var(--font-weight-bold);
}
@media (max-width: 991px) {
    #session-confirmed .page-body #searchResult .session-line > *:first-child::after, #session-confirmed .page-body #searchResult .session-line > *:last-child::before {
        display: none;
    }
}
@media (max-width: 767px) {
    #session-confirmed .page-body #searchResult .session-line > *:first-child::after, #session-confirmed .page-body #searchResult .session-line > *:last-child::before {
        display: none;
    }
}
#session-confirmed .page-body #searchResult .session-line a {
    text-decoration: underline;
    text-underline-offset: 0.2rem;
}
#session-confirmed .page-body #searchResult .session-line a:hover {
    text-decoration: underline;
    text-underline-offset: 0.2rem;
}
#session-confirmed .page-body #searchResult .session-line .date {
    font-weight: var(--font-weight-regular);
    color: var(--purple-800);
}
#session-confirmed .btn.floating-button {
    display: none;
}
@media (max-width: 767px) {
    #session-confirmed .btn.floating-button {
        display: flex;
        justify-content: center;
        align-items: center;
        font-size: 1.8rem;
        width: 3rem;
        height: 3rem;
        padding: 0;
        border-radius: 50%;
        opacity: 70%;
    }
}
#session-confirmed #loadMoreMonths {
    display: none;
}
@media (max-width: 767px) {
    #session-confirmed #loadMoreMonths {
        display: block;
        width: fit-content;
    }
}

@media (max-width: 767px) {
    .location header.container h1.title {
        margin: 0;
        font-size: 1.8rem;
    }
}
.location .sc--advantages {
    background-size: cover;
    margin-top: 2rem;
    background-repeat: no-repeat;
    background-position: center;
    z-index: 1;
    min-height: 500px;
}
@media (max-width: 767px) {
    .location .sc--advantages {
        background-image: none !important;
    }
}
.location .sc--advantages > .container {
    display: flex;
}
.location .sc--advantages .sc--advantages--logo {
    flex: 0 1 auto;
}
.location .sc--advantages .sc--advantages--logo img {
    max-width: 320px;
}
.location .sc--advantages .sc--advantages--items {
    z-index: 2;
    background-color: rgba(46, 30, 73, 0.9);
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    color: var(--white);
    padding: 2.8rem;
    min-height: 500px;
}
@media (max-width: 767px) {
    .location .sc--advantages .sc--advantages--items {
        gap: 1rem;
        margin: 0;
        width: 100%;
        padding: 1.5rem;
    }
    .location .sc--advantages .sc--advantages--items h2.title.white {
        margin: 0 0 1rem 0;
    }
}
.location .sc--advantages .sc--advantages--items .icons {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}
.location .sc--advantages .sc--advantages--items .sc--advantages--item {
    font-size: var(--font-size-medium);
}
.location .sc--advantages .sc--advantages--items .sc--advantages--item i {
    font-size: var(--font-size-large);
    color: var(--green-800);
}
@media (max-width: 767px) {
    .location .sc--advantages .sc--advantages--items .sc--advantages--item p {
        margin-top: 0;
    }
}
.location .sc--advantages .sc--advantages--items .address {
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-size: var(--font-size-medium);
}
@media (max-width: 767px) {
    .location .sc--advantages .sc--advantages--items .address {
        flex-direction: column;
        vertical-align: bottom;
        gap: 0.8rem;
        align-items: unset;
    }
    .location .sc--advantages .sc--advantages--items .address p {
        margin-top: 0;
    }
    .location .sc--advantages .sc--advantages--items .address a#map-link.btn.btn--primary.btn-big {
        width: 100%;
    }
}
.location .sc--sessions-location {
    padding: 4rem 0;
    display: flex;
    align-items: center;
    gap: 2rem;
}
@media (max-width: 991px) {
    .location .sc--sessions-location {
        display: initial;
    }
}
.location .sc--sessions {
    flex: 1 0 50%;
}
@media (max-width: 767px) {
    .location .sc--sessions {
        padding: 0 1.5rem 0;
    }
    .location .sc--sessions h2.title.red {
        margin-bottom: 1.5rem;
    }
}
@media (max-width: 991px) {
    .location .sc--sessions {
        padding: 0 1.5rem 0;
    }
}
.location .sc--sessions .title {
    margin-bottom: 2rem;
}
@media (max-width: 991px) {
    .location .sc--sessions {
        flex: 1 1 100%;
    }
}
.location .sc--sessions .session-line {
    position: relative;
    display: flex;
    font-size: var(--font-size-medium);
}
@media (max-width: 991px) {
    .location .sc--sessions .session-line {
        flex-direction: column;
        width: 100%;
        gap: 0.5rem;
        margin-bottom: 1.8rem;
    }
}
.location .sc--sessions .session-line .date {
    flex: 0 0 max-content;
}
.location .sc--sessions .month-session-line {
    display: flex;
    flex-direction: column;
    gap: 0.8rem;
    margin-bottom: 2rem;
}
.location .sc--sessions .month-session-line .session-line {
    margin: 0;
}
.location .sc--sessions .month-session-line .session-line p.date {
    margin: 0;
}
.location .sc--sessions .month-session-line .session-line a {
    text-decoration: underline;
    text-underline-offset: 0.2rem;
}
@media (max-width: 991px) {
    .location .sc--sessions .month-session-line .session-line {
        margin-bottom: 1.8rem;
    }
}
.location .sc--sessions .month-session-line .session-line > *:first-child::after {
    content: ">";
    display: inline-block;
    margin: 0 0.8rem;
    font-weight: var(--font-weight-bold);
}
@media (max-width: 991px) {
    .location .sc--sessions .month-session-line .session-line > *:first-child::after {
        display: none;
    }
}
@media (max-width: 767px) {
    .location .sc--sessions .month-session-line .session-line > *:first-child::after {
        display: none;
    }
}
.location .sc--sessions .month {
    font-weight: var(--font-weight-semi-bold);
    font-size: var(--font-size-large);
    color: var(--brand-color);
    margin-top: 0.83em;
    margin-bottom: 0.83em;
}
.location .sc--sessions #loadMoreMonthsLocation {
    display: none;
}
@media (max-width: 767px) {
    .location .sc--sessions #loadMoreMonthsLocation {
        display: block;
        width: fit-content;
        margin-top: 1rem;
    }
}
.location .btn.floating-button {
    display: none;
}
@media (max-width: 767px) {
    .location .btn.floating-button {
        display: flex;
        justify-content: center;
        align-items: center;
        font-size: 1.8rem;
        width: 3rem;
        height: 3rem;
        padding: 0;
        border-radius: 50%;
        opacity: 70%;
    }
}
.location .sc--map {
    flex: 0 0 40%;
}
@media (max-width: 767px) {
    .location .sc--map {
        display: none;
    }
}
@media (max-width: 991px) {
    .location .sc--map {
        flex: 1 0 auto;
    }
}
.location .sc--map #map {
    width: 100%;
    height: 400px;
    z-index: 1 !important;
}

.not-found {
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 80vh;
    text-align: center;
    padding: 2rem;
}
.not-found .content {
    max-width: 600px;
}
.not-found .content h1 {
    font-size: var(--font-size-xl);
    font-weight: var(--font-weight-bold);
    margin-bottom: 1rem;
    color: var(--purple-800);
}
.not-found .content h1 span {
    font-size: var(--font-size-xxl);
    color: var(--brand-color);
    display: block;
}
.not-found .content p {
    font-size: 1.2rem;
    line-height: 1.5;
    margin-bottom: 1rem;
}
.not-found .content a {
    color: var(--blue-800);
    text-decoration: underline;
    transition: color 0.3s ease;
}
.not-found .content a:hover {
    color: var(--blue-600);
}
