/**
*
* [Biz Design Solution]
*
* [Graphiste & Webdesigner]
*
* [Version 1.0 * 03/2024]
*
**/

/*************/
/* [Général] */
/*************/

*, ::before, ::after {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    scroll-behavior: smooth;
    text-decoration: none;
    scrollbar-width: none;
}

:root {
    /* Couleurs Principales */
    --color1: #FFFFFF; /* F5F5F7 */
    --color2: #111111;
    --color3: #67D99E; 
    --color4: #555555;
    --color5: #68BCC4;
    --color6: #94E4BA;
    --color7: #808080;
    --color8: #d3225d;

    /* Typographie */   
    --font1: 'Nunito', sans-serif;
    --font2: 'Roboto', sans-serif;
}

body {
    font-family: var(--font1);
    background-color: var(--color1);
    /* Overflow X */
    overflow-x: hidden;
    color: var(--color2);
}

a {
    text-decoration: none;
    color: inherit;
    cursor: pointer;
    opacity: 1;
}

b { font-weight: 500; }

strong { font-weight: 300; }

ul, nav, li { list-style: none;}

h1, h2, h3, h4, h5, h6 { font-weight: 400; }

h2 {
    font-family: var(--font2);
    color: var(--color2);
    font-size: 28px; 
    font-weight: 700;
    margin-bottom: 20px;
}

.text-center { text-align: center !important; }
.text-left { text-align: left !important; }
.text-right { text-align: right !important; }

.centrage {
    margin: 0 auto;
}

p {
    margin-bottom: 10px;
    font-size: 18px;
    font-weight: 500;
    line-height: 26px;
    font-weight: 300;
}

@media screen and (max-width: 600px) {
    p { font-size: 16px; }
}

.container {
    width: 100%;
    max-width: 1300px;
    margin: 0 auto;
    padding-left: 50px;
    /* +10 à droite Scrollbar Progress */
    padding-right: 60px;
}

@media screen and (max-width: 600px) {
    .container { 
        padding-left: 20px;
        /* +10 à droite Scrollbar Progress */
        padding-right: 30px;
    }
}

.justify { text-align: justify; }

.section-title h1, .section-title h2, .section-title-pink h2 {
    padding-bottom: 20px;
    margin-bottom: 50px;
    position: relative;
}

.section-title h1::before, .section-title h2::before, .section-title-pink h2::before {
    content: '';
    content: '';
    position: absolute;
    display: block;
    width: 200px;
    height: 1px;
    background: #ddd;
    bottom: 1px;
    left: calc(50% - 100px);
}

.section-title h1::after, .section-title h2::after {
    content: '';
    position: absolute;
    display: block;
    width: 50px;
    height: 3px;
    background: var(--color3);
    bottom: 0;
    left: calc(50% - 25px);
}

.section-title-pink h2::after {
    content: '';
    position: absolute;
    display: block;
    width: 50px;
    height: 3px;
    background: var(--color8);
    bottom: 0;
    left: calc(50% - 25px);
}

/* Line Move Translate X */

.line-move {
    /* margin-bottom: 50px; */
    position: relative;
    transition: all 0.5s ease-in-out;
    width: 200px;
    margin: 0 auto 70px;
}

.line-grey {
    position: absolute;
    display: block;
    width: 200px;
    height: 1px;
    background: #ddd;
    bottom: 1px;
    left: calc(50% - 100px );
    transition: all 0.5s ease-in-out;
}

.line-green {
    position: absolute;
    display: block;  
    width: var(--moveLineWidth);
    height: 3px;
    background: var(--color3);
    bottom: 0;
    left: calc(50% - 100px);
    transition: all 0.8s ease-in-out; 
}

.line-pink {
    position: absolute;
    display: block; 
    width: var(--moveLineWidth);
    height: 3px;
    background: var(--color8);
    bottom: 0;
    left: calc(50% - 100px);
    transition: all 0.8s ease-in-out; 
}


/****************/
/* [Hover Zoom] */
/****************/

.hover-zoom { height: 100%; overflow: hidden; }  
.hover-zoom img { transition: transform 1s ease; }
.hover-zoom:hover img { transform: scale(1.05); }

/************************/
/* [Scrollbar-Progress] */
/************************/

#progressBar {
    position: fixed;
    top: 0;
    right: 0;
    width: 10px;
    height: 0;   
    background: var(--color3);
    z-index: 2;
}

#progressBarBG {
    position: fixed;
    top: 0;
    right: 0;
    width: 10px;
    height: 100%;   
    background: #e2e2e2;
    z-index: 1;
}

.progressBarPink {
    background: var(--color8) !important; 
}

/**********************/
/* [Bouton-Vert-Rose] */
/**********************/

.btn .button {
    max-width: 180px;
    min-width: 140px;
    height: 50px;
    padding: 0 25px;
    border-radius: 2px;
    font-weight: 600;

    font-family: var(--font1);
    text-transform: uppercase;
    font-size: 14px;
    letter-spacing: 0.15em;

    display: flex;
    align-items: center;
    justify-content: center;

    overflow: hidden;
    cursor: pointer;
    position: relative;
}

.btn .button:after, .btn .button:before {
    content: "";
    width: 0%;
    height: 0%;
    position: absolute;
    border-radius: 100%;
}

.btn .button span { z-index: 1; transition: all 0.3s ease-out; }

/* Bouton 01 */
.btn .button.cta-01 { background: linear-gradient(90deg, #67D99E 0%, #61e29f 95%); color: white; border: solid 1px #67D99E;}
.btn .button:hover.cta-01 { color: #67D99E; }
.btn .button.cta-01:after { transition: all 0.5s ease; background-color: white; }
.btn .button.cta-01:before { transition: all 0.5s ease-out; background: #8ae4b5; }

/* Bouton 02 */
.btn .button.cta-02 { background: linear-gradient(140deg, #e91a5f 5%, #d83272 100%); color: var(--color1); border: solid 1px var(--color8);}
.btn .button:hover.cta-02 { color: var(--color8); }
.btn .button.cta-02:before { transition: all 0.5s ease-out; background: #d83272; }
.btn .button.cta-02:after { transition: all 0.5s ease; background: var(--color1); }


.btn .button:hover:after, .btn .button:hover:before {
    width: 200px;
    height: 200px;
    border-radius: 4px;
}

.btn .button:hover:after { transition: all 0.7s ease-in; }
.btn .button:hover:before { transition: all 0.5s ease-in; }

/*****************/
/* [Toggle Menu] */
/*****************/

.toggle {
    position: fixed;
    z-index: 4;
    top: 10px;
    right: 30px;
    width: 50px;
    height: 50px;
    cursor: pointer;
    display: flex;
    justify-content: start;
    align-items: center;
    background: transparent;
}

.line {
    position: absolute;
    display: block;
    width: 100%;
    height: 2px;
    background: var(--color2);
    transition: transform 0.3s ease-out, opacity 0.3s ease-out;
}

.l1-green { transform: translateY(-10px); background-color: var(--color3); }
.l2-green { width: 70%; background-color: var(--color3); transition: all 0.3s ease-in-out; }
.l3-green { width: 50%; transform: translateY(10px); background-color: var(--color3); transition: all 0.3s ease-in-out; }

.l1-pink { transform: translateY(-10px); background-color: var(--color8); }
.l2-pink { width: 70%; background-color: var(--color8); transition: all 0.3s ease-in-out; }
.l3-pink { width: 50%; transform: translateY(10px); background-color: var(--color8); transition: all 0.3s ease-in-out; }

.toggle:hover .l2-green, .toggle:hover .l2-pink { width: 100%; }
.toggle:hover .l3-green, .toggle:hover .l3-pink { width: 100%; }

.open .toggle .l1-green, .open .toggle .l1-pink { transform: translateY(0px) rotate(135deg); }
.open .toggle .l2-green, .open .toggle .l2-pink { opacity: 0;}
.open .toggle .l3-green, .open .toggle .l3-pink { width: 100%; transform: translateY(0px) rotate(-135deg); }
.open .toggle-title-green, .open .toggle-title-pink { display: none; transition: all 1s ease-in-out;}

.open .menu, .open .menu-pink { 
    /* Menu Circle */    
    clip-path: circle(200% at 100% 0);
    transition: all 1.5s cubic-bezier(0.645, 0.045, 0.355, 1) 0.1s;
    z-index: 4;
}

.menu, .menu-pink {
    background: #f3f3f3;
    width: 100%;
    height: 100vh;
    position: absolute; 
    top: 0;
    right: 0;
    /* Menu Circle */
    clip-path: circle(0 at 100% 0);
    transition: all 0.7s ease-in-out;
    
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    gap: 0 100px;
    list-style: none;
    text-transform: uppercase;
    cursor: pointer;
    z-index: 4;
}

.menu-diez {
    font-size: 14px;
    font-weight: 400;
    letter-spacing: 0;
    margin-right: 10px;
    transition: all 0.3s ease-in-out;
}

.menu-link a:hover .menu-diez, .menu-link-pink a:hover .menu-diez {
    font-size: 18px;
    font-weight: 400;
    letter-spacing: 0;
    margin-right: 10px;
    transition: all 0.3s ease-in-out;
}

.menu-active a {
    font-size: 28px !important;
    font-weight: 500;
    color: var(--color3) !important;
    letter-spacing: 1px;
    transition: all 0.3s ease-in-out;
}

.menu-active-pink a {
    font-size: 28px !important;
    font-weight: 500;
    color: var(--color8) !important;
    letter-spacing: 1px;
    transition: all 0.3s ease-in-out;
}

.menu-block {
    display: flex;
    flex-direction: column;
    width: 320px;
    border-right: 1px solid #ebebeb;
}

.menu-link {
    color: var(--color2);
    font-family: var(--font2);
    font-size: 28px;
    font-weight: 500;
    padding: 10px;
    transition: all 0.3s ease-in-out;
}

.menu-link a {
    color: #979797;
    letter-spacing: 1px;
    font-weight: 400;
    transition: all 0.3s ease-in-out;
}

.menu-link a:hover {
    font-size: 28px;
    font-weight: 500;
    color: var(--color3);
    transition: all 0.3s ease-in-out;
}

.menu-link-pink {
    color: var(--color8);
    font-family: var(--font2);
    font-size: 28px;
    font-weight: 500;
    padding: 10px;
    transition: all 0.3s ease-in-out;
}

.menu-link-pink a {
    color: #979797;
    letter-spacing: 1px;
    font-weight: 400;
    transition: all 0.3s ease-in-out;
}

.menu-link-pink a:hover {
    font-size: 28px;
    font-weight: 500;
    color: var(--color8);
    transition: all 0.3s ease-in-out;
}

.menu-language { margin-bottom: 30px; }
.menu-language img { max-width: 32px; }

/* Menu Latéral Fixe */

.menu-lateral { 
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 20px;
    z-index: 5;
    width: 40px;
    height: 200px;
    position: relative;
}

.pays {
    position: relative;
    width: 40px;
    height: 45px;
}

/* Language dans Menu */

.language-menu  {position: absolute; }
.pays .language-menu img { width: 40px; opacity: 0.8; transition: all 0.3s ease-in-out; }
.pays:hover .language-menu img { opacity: 1; transition: all 0.2s ease-in-out; }

.icon-lateral img { width: 40px; opacity: 0.7; transition: all 0.1s ease-in-out; filter: brightness(0%); }
.icon-lateral:hover img { opacity: 1; transition: all 0.2s ease-in-out; filter: none;}

/* Texte Vert Menu Effet */

.toggle-title-green {
    color: var(--color3);
    font-weight: 700;
    transform: translate(-60px, 5px);
    z-index: 4;
    height: 30px;
    overflow: hidden;
    transition: all 1s ease-in-out;
}

.toggle-title-green span {
    display: inline-block;
    position:relative;
    transition: transform 500ms;
}

.toggle-title-green span:after  {
    content: attr(data-hover);
    position: absolute;
    top: 30px;
    left:0;
    transform: translate3d(0,0,0);
    transition: all 0.3s ease-in-out;
}

.toggle-title-green:hover span {

    color: var(--color3);
    transform: translateY(-30px);
}

/* Texte Rose Menu Effet */

.toggle-title-pink {
    color: var(--color8);
    font-weight: 700;
    transform: translate(-60px, 5px);
    z-index: 4;
    height: 30px;
    overflow: hidden;
    transition: all 1s ease-in-out;
}

.toggle-title-pink span {
    display: inline-block;
    position:relative;
    transition: transform 500ms;
}

.toggle-title-pink span:after {
    content: attr(data-hover);
    position: absolute;
    top: 30px;
    left:0;
    transform: translate3d(0,0,0);
    transition: all 0.3s ease-in-out;
}

.toggle-title-pink:hover span {
    font-weight: 700;
    color: var(--color8);
    transform: translateY(-30px);
}

/* Effet Menu TEXT Background Hover */

.menu-bg-text .item-bg-text a:before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: clamp(60px, 10vw, 200px);
    color: rgba(0, 0, 0, 0.04);
    border-radius: 50%;
    z-index: -1;
    opacity: 0;
    font-family: var(--font2);
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 500px;
    transition: letter-spacing 0.5s, left 0.5s;
}

.menu-bg-text .item-bg-text a:hover:before {
    content: attr(data-text);
    opacity: 1;
    left: 50%;
    letter-spacing: 10px;
    font-style: normal;
}

@media all and (max-width: 600px) {  
    .menu-bg-text .item-bg-text a:hover:before {
        display: none;
    }
}

@media all and (max-width: 600px) {  
    .menu, .menu-pink {
        flex-direction: column;
        justify-content: center;
        align-items: center;
    }
    .menu-block {
        width: 320px;
        border: none;
    }
    .menu-lateral {
        flex-direction: row;
        width: 100%;
        height: 50px;
        margin-top: 30px;
    }
}

/************/
/* [Navbar] */
/************/

.navbar {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    width: 100vw;
    height: 70px;
    background-color: var(--color1); 
    z-index: 3;
}

.navbar-active {
    box-shadow: 0 1px 20px -1px rgba(0, 0, 0, 0.2); 
}

.navbar-container {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin: 0 30px 0 20px; /* +10 à droite Scrollbar Progress */
    height: 70px;
    z-index: 3;
}

.company {
    display: flex;
    align-items: center;
    color: var(--color2);
    font-family: var(--font1);
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: 1px;
    font-weight: 500;
}

.company-logo {
    z-index: 5;
    transition: all 0.3s ease-in-out;
}

.company-logo a {
    opacity: 0.95;
}

.company-logo a:hover {
    opacity: 1;
}

.company-logo-trainning {
    z-index: 5;
}

.company-logo-trainning img {
    width: auto;
    height: 50px;
    transition: all 0.3s ease-in-out;
}

.logo-full img {
    width: auto;
    height: 60px;
    position: absolute;
    top: 10px;
    left: 20px;
    transition: all 0.7s ease-in-out;  
}

.logo-solo {
    display: none;
}

.logo-solo img { 
    width: auto;
    height: 50px;
    position: absolute;
    top: 10px;
    left: 20px;
    transition: all 0.3s ease-in-out;  
}

@media all and (max-width: 600px) {  
    .logo-full { display: none; }
    .logo-solo { display: initial; }
}

/*************************/
/* [Intro-Page-de-Garde] */
/*************************/

/* Language */

.language-index {
    position: absolute;
    top: 15px;
    right: 25px;
    z-index: 2;
    width: 40px;
    height: 40px;
}

.language-index img { 
    width: 40px; 
    opacity: 0.8;
    transition: all 0.3s ease-in-out;
}

.language-index img:hover {
    opacity: 1;
}

/* Slider LOGOS Page d'intro */

.slider {
    /* Hauteur DVH pour Mobile */
    height: 100dvh;
    position: relative;
    box-sizing: border-box;
}

.slider h1, .slider h2 {
    font-size: clamp(16px, 5vw, 24px);
    font-weight: 500;
    color: var(--color3);
    font-family: var(--font2);
    text-transform: uppercase;
    margin-bottom: 10px;
}

.content p {
    font-size: clamp(16px, 3vw, 18px);
}

.prev {
    position: absolute;
    top: 50%;
    left: 30px;
    transform: translateY(-50%);
    width: 35px;
    height: 35px;
    font-family: monospace;
    font-size: 20px;
    color: var(--color2);
    background-color: #eeeeee;
    border-radius: 2px;
    border: none;
    z-index: 2;
    transition: .5s;
    cursor: pointer;
}

.next {
    position: absolute;
    top: 50%;
    right: 30px;
    transform: translateY(-50%);
    width: 35px;
    height: 35px;
    font-family: monospace;
    font-size: 20px;
    color: var(--color2);
    background-color: #eeeeee;
    border-radius: 2px;
    border: none;
    z-index: 2;
    transition: .5s;
    cursor: pointer;
}

.prev:hover, .next:hover {
    background-color: #dddddd;
    color: var(--color2);
}

.slider-list .slider-item {
    position: absolute;
    inset: 0 0 0 0; 
    overflow: hidden;
    opacity: 0;
    transition: 0.5s;
}

.slider-list .slider-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: right;
    margin-bottom: 30px;
}

.slider-list .slider-item::after {
    content: '';
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    bottom: 0;
    background-image: linear-gradient(to right, #ffffff 60%, transparent);
}

.slider-list .slider-item .content {
    width: 600px;
    position: absolute;
    left: 50%;
    top: 40%;
    transform: translate(-50%, -50%);
    max-width: 80%;
    z-index: 1;
}

.slider .slider-list .slider-item .content p:nth-child(1) {
    text-transform: uppercase;
    letter-spacing: 10px;
}

.slider .slider-list .slider-item.active {
    opacity: 1;
    z-index: 1;
}
 
.slider .slider-list .slider-item.active h1,
.slider .slider-list .slider-item.active h2,
.slider .slider-list .slider-item.active p {
    transform: translateY(30px);
    /* filter: blur(20px); */
    opacity: 0;
    animation: showContent 1s 0.5s ease-in-out 1 forwards;
}

.slider .slider-list .slider-item.active img {
    opacity: 0;
    animation: showContent 1s 0.5s ease-in-out 1 forwards;
}

@keyframes showContent {
    to{
        transform: translateY(0);
        /* filter: blur(0); */
        opacity: 1;
    }
}

.slider .slider-list .slider-item.active h1,
.slider .slider-list .slider-item.active h2 {
    animation-delay: 1s;
}

.slider .slider-list .slider-item.active p {
    animation-delay: 0.8s;
    animation-duration: 1s;
}

/* Miniatures */

.thumbnail {
    position: absolute;
    bottom: 30px;
    z-index: 2;
    width: 100%;
    height: auto;
    padding: 0 50px;
    box-sizing: border-box;
    overflow: auto;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 20px;
}

.thumbnail::-webkit-scrollbar {
    width: 0;
}

.thumbnail .slider-item {
    transition: 0.5s;
    flex-shrink: 1;
    margin: 10px;
    cursor: pointer;
}

.thumbnail .slider-item img {
    /* width: clamp(50%, 40vh, 200px); */
    width: 200px;
    height: auto;
    opacity: 0.5;
    transition: all 0.3s ease-in-out;
    filter: grayscale(100%);
}

.thumbnail .slider-item.active img {
    /* width: clamp(40px, 40vh, 220px);     */
    width: 220px;
    opacity: 1;
    filter: grayscale(0);
}

.thumbnail .slider-item.active {
    filter: none;
}

@media screen and (max-width: 1250px) {
    .thumbnail .slider-item img {
        width: 150px;
    }
    .thumbnail .slider-item.active img {
        width: 170px;
    }
    .thumbnail {
        gap: 0;
    }
}

@media screen and (max-width: 900px) {
    .thumbnail .slider-item img {
        width: 100px;
    }
    .thumbnail .slider-item.active img {
        width: 120px;
    }
}

@media screen and (max-width: 870px) {
    .prev, .next {
        display: none;
    }
}

@media screen and (max-width: 650px) {
    .thumbnail .slider-item img {
        width: 90px;
    }
    .thumbnail .slider-item.active img {
        width: 100px;
    }
    .thumbnail .slider-item {
        margin: 5px;
    }
    .thumbnail {
        bottom: 10px;
    }
    .btn-enter {
        bottom: 75px;
    }
}

@media screen and (max-width: 650px) {
    .thumbnail .slider-item img {
        width: 60px;
    }
    .thumbnail .slider-item.active img {
        width: 70px;
    }
}

@media screen and (max-width: 400px) {
    .thumbnail .slider-item img {
        width: 40px;
    }
    .thumbnail .slider-item.active img {
        width: 70px;
    }
}

/* Responsive Hauteur */

@media screen and (max-height: 750px) { 
    .thumbnail {
        bottom: 10px;
    }
}

@media screen and (max-height: 600px) { 
    .slider-list .slider-item .content {
        width: 600px;
    }
}

@media screen and (max-height: 550px) {
    .content p {
        display: none;
    }
    .language-index {
        display: none;
    }
}

@media screen and (max-height: 400px) {
    .thumbnail {
        display: none;
    }
}

/* Fin Slider Services */


/*************/
/* [Accueil] */
/*************/

#hero-home {
    background-color: var(--color1);
    width: 100vw;
    height: 100%;
}

.slogan-container {
    padding-top: 200px;
}

.lottie-01 {
    width: 400px; 
    height: 350px;
    margin: 0 auto;
}

.typewriter {
    font-family: var(--font2);
    text-transform: uppercase;
    font-weight: 600;
    font-size: clamp(30px, 10vw, 60px);
    letter-spacing: 3px;
    padding-bottom: 20px;
}

.slogan {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    overflow-x : hidden;
}

.slogan img {
    max-width: 300px;
    height: 90px;
    margin: 10px 50px 0 0;
}

.slogan h1 {
    font-family: var(--font2);
    /* text-transform: uppercase; */
    font-size: clamp(16px, 5vw, 28px);
    font-weight: 300;
    letter-spacing: 3px;
    line-height: 1.2;
    padding-bottom: 20px;
}

.green-title { color: var(--color3); }
.pink-title { color: var(--color8); }
.blue-title { color: #042A79; }
.red-title { color: #B20F11; }

.slogan h2 {
    color: var(--color2);
    font-family: var(--font2);
    text-transform: uppercase;
    font-size: clamp(18px, 2vw, 28px);
    font-weight: 300;
    margin-top: 30px;
    letter-spacing: 2px;
    margin-bottom: 5px;
}

.slogan h2:first-child {
    margin-top: 0;
}

.slogan p { color: var(--color4); }

.slogan-block-g { 
    width: 60%; 
    align-self: self-start;
    padding-right: 50px;
    overflow-x : hidden;
}

.slogan-block-d { 
    width: 40%; 
    align-self: self-start;
    overflow-x : hidden;
}

@media all and (max-width: 1000px) {  
    .slogan-block-g {
        width: 100%;
        padding-right: 0;
    }
    .slogan-block-d {
        width: 100%;
    }
}

@media all and (max-width: 749px) {  
    .typewriter .green-title {
        display: block;
    }
}

@media all and (max-width: 400px) {  
    .lottie-01 {
        width: 100%; 
        height: auto;
    }
}

/*****************/
/* [Scroll-Down] */
/*****************/

.scroll-down-container {
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 50px auto 100px;
    position: relative;
}

.scroll-down-container-intro {
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
}

.scroll-down-intro {
    position: absolute;
    bottom: 20%;
    left: 50%;
    transform: translateX(-50%);
    z-index: 1;
}

.scroll-down {
    position: relative;
    width: 24px;
    height: 24px;
}

.scroll-down a {
    display: block;
    left: 50%;
    width: 100px;
    height: 100px;
    transform: translateX(-50%);
    position: relative;
    display: flex;
    justify-content: center;
}

.bouton-intro {
    width: 200px;
    height: auto;
    display: inline-block;
}

.chevron, .chevron-grey {
    display: block;
    position: absolute;
    width: 28px;
    height: 8px;
    opacity: 0;
    transform: translateX(-50%);
    transform: scale3d(0.5, 0.5, 0.5);    
    animation: move 6s ease-out infinite;
}

.chevron:first-child, .chevron-grey:first-child {
    animation: move 6s ease-out 2s infinite;
}

.chevron:nth-child(2), .chevron-grey:nth-child(2) {
    animation: move 6s ease-out 4s infinite;
}

.chevron:before, .chevron:after {
    content: ' ';
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    height: 100%;
    width: 51%;
    background: var(--color3);
}

.chevron-grey:before, .chevron-grey:after {
    content: ' ';
    position: absolute;
    top: 0;
    height: 100%;
    width: 51%;
    background: #919191;    
}

.chevron:before, .chevron-grey:before {
    left: 0;
    transform: skew(0deg, 30deg);
}

.chevron:after, .chevron-grey:after {
    right: 0;
    width: 50%;
    transform: skew(0deg, -30deg);
}

@keyframes move {
    25% {
        opacity: 1;
    }
    33% {
        opacity: 1;
        transform: translateY(30px);
    }
    67% {
        opacity: 1;
        transform: translateY(40px);
    }
    100% {
        opacity: 0;
        transform: translateY(55px) scale3d(0.5, 0.5, 0.5);
    }
}

.chevron-text {
    display: block;
    margin-top: -30px;
    font-family: var(--font2);
    font-weight: 400;
    font-size: 20px;
    color: var(--color7);
    text-transform: uppercase;
    white-space: nowrap;
    transition: color 0.3s ease-in-out, transform 0.3s ease-in-out;
}

.chevron-text:hover {
    color: var(--color4);
    /* transform: translateY(-3px); */
}

/* Responsive Hauteur */

@media screen and (max-height: 400px) {
    .scroll-down-intro {
        bottom: 60px;
    }
}

/***********/
/* [About] */
/***********/

.about {
    padding-top: 100px;
    padding-bottom: 20px;
}

.about-container {
    color: var(--color2);
}

.about h2 {
    text-transform: uppercase;
    font-size: clamp(30px, 10vw, 40px);
    color: var(--color2);
    text-align: center;
}

.about-block {
    display: flex;
    justify-content: space-between;
}

.about-block-text {
    width: 47%;
}

.about-block .button {
    margin-top: 50px;
}

@media all and (max-width: 1000px) {  
    .about-block {
        flex-direction: column;
    }
    .about-block-text {
        width: 100%;
        margin-bottom: 50px;
    }
    .about-block .button {
        margin: 50px auto 0;
    }
}

/*************************/
/* [Scroll-Trigger-Text] */
/*************************/

.ST-about-container {
    margin-top: 100px;
    margin-bottom: 100px;
    text-align: right;
}

.ST-about-text-1,
.ST-about-text-2,
.ST-about-text-3,
.ST-about-text-4,
.ST-about-text-5 {
    font-family: var(--font2);
    font-size: clamp(24px, 8vw, 100px);
    text-transform: uppercase;
    font-weight: 700;
    letter-spacing: 3px;
    color: var(--color3);
    opacity: 1;
    word-break: break-all;
}

.scrollTrigger-about li {
    padding: 10px 0;
}

/*******************/
/* [Chiffres-Clés] */
/*******************/

.chiffres {
    margin-bottom: 200px;
}

.chiffres-container {
    margin-top: 100px;
    margin-bottom: 100px;
}

.chiffres h2 {
    text-transform: uppercase;
    font-size: clamp(30px, 10vw, 40px);
    color: var(--color2);
    text-align: center;
}

.chiffres-grid-container {
    display: grid;
    grid-template-columns: 430px repeat(2, 1fr)  230px; 
    grid-template-rows: repeat(2, 1fr);
    background: var(--color1);
    margin-top: 100px;
    margin-bottom: 100px;
}

/* Grille en Version 01 */
/* .chiffres-grid-1 { grid-area: 1 / 1 / 2 / 2; background: #eeeeee; }  */
/* .chiffres-grid-2 { grid-area: 1 / 2 / 2 / 3; background: #fafafa; } */
/* .chiffres-grid-3 { grid-area: 2 / 1 / 3 / 3; background: #f5f5f5; } */
/* .chiffres-grid-4 { grid-area: 1 / 3 / 3 / 4; background: #eeeeee; } */
/* .chiffres-grid-5 { grid-area: 1 / 4 / 3 / 5; background: #fafafa; }  */

/* Grille en Version 02 */
.chiffres-grid-1 { grid-area: 1 / 2 / 2 / 3; background: #eeeeee; } 
.chiffres-grid-2 { grid-area: 1 / 3 / 2 / 4; background: #fafafa; }
.chiffres-grid-3 { grid-area: 2 / 2 / 3 / 4; background: #f5f5f5; }
.chiffres-grid-4 { grid-area: 1 / 1 / 3 / 2; background: #fafafa; }
.chiffres-grid-5 { grid-area: 1 / 4 / 3 / 5; background: #eeeeee; } 

.chiffres-grid-3 {
    display: flex;
    flex-direction: row;
    justify-content: start;
    align-items: center;
}

.number-grid {
    font-size: clamp(64px, 10vw, 80px);
    font-weight: 700;
    font-family: var(--font2);
    color: var(--color3);
}

.count-up-animation img {
    width: 48px;
    margin-left: 10px;
}

.chiffres-grid-1, .chiffres-grid-2,.chiffres-grid-3,.chiffres-grid-4,.chiffres-grid-5 {
    padding: 20px 30px;
}

.chiffres-grid-container h3 {
    margin-top: 10px;
    margin-bottom: 10px;
}

.chiffres-liste li {
    padding: 5px 0;
    color: var(--color4);
}

.chiffres-liste li::before {
    content: "✓";
    color: var(--color3);
    font-weight: 900;
    font-size: 16px;
    margin-right: 10px;
}

.teamcenter-partner {

    margin-left: 50px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.teamcenter-icons {
    margin-left: 50px;
}

.icon-teamcenter { width: 64px; }

@media all and (max-width: 1211px) {
    .chiffres-grid-container {
        grid-template-columns: 1fr 1fr;
        grid-template-rows: auto;
    }
    .chiffres-grid-1 { grid-area: 2 / 1 / 3 / 2; }
    .chiffres-grid-2 { grid-area: 2 / 2 / 3 / 3; }
    .chiffres-grid-3 { grid-area: 3 / 1 / 4 / 3; }
    .chiffres-grid-4 { grid-area: 1 / 1 / 2 / 2; }
    .chiffres-grid-5 { grid-area: 1 / 2 / 2 / 3; }     
}

@media all and (max-width: 700px) {
    .chiffres-grid-container {
        grid-template-columns: 1fr;
        grid-template-rows: auto;
    }
    .chiffres-grid-1 { grid-area: 4 / 1 / 5 / 2; }
    .chiffres-grid-2 { grid-area: 3 / 1 / 4 / 2; }
    .chiffres-grid-3 { grid-area: 5 / 1 / 6 / 2; }
    .chiffres-grid-4 { grid-area: 1 / 1 / 2 / 2; }
    .chiffres-grid-5 { grid-area: 2 / 1 / 3 / 2; }   

    .chiffres-grid-3 {
        flex-direction: column;
        align-items: start;
    }  
    .teamcenter-partner {
        margin-left: 0;
    }
}

@media all and (max-width: 400px) {
    .teamcenter-partner {
        display: flex;
        flex-direction: column;
        align-items: start;
    }
    .teamcenter-icons {
        margin: 20px 0;
    }
}

/*****************/
/* [Nos-Valeurs] */
/*****************/

.valeurs h2 {
    text-transform: uppercase;
    font-size: clamp(30px, 10vw, 40px);
    color: var(--color2);
    text-align: center;
}

.valeurs-container {
    margin-top: 100px;
    margin-bottom: 100px;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}

.valeurs-block {
    width: 22%;
}

.valeurs-block img { 
    width: 64px; 
    margin: 0 auto 20px;}

.valeurs-block h3 { 
    margin-bottom: 20px;
    text-transform: uppercase;
    height: 52px;
    font-weight: 600;
}

@media all and (max-width: 1000px) {
    .valeurs-block {
        width: 48%;
        margin-bottom: 50px;
    }    
}

@media all and (max-width: 700px) {
    .valeurs-block {
        width: 100%;
        margin-bottom: 50px;
    }    
}

.typewriter-2 {
    margin-top: 200px;
    margin-bottom: 200px;
    text-align: right;
}

.virgule {
    font-size: 30px;
}

/*********************/
/* [About-TEAM-Home] */
/*********************/

.about-team {
    margin: 150px 0;
}

.about-team-container {
    color: var(--color2);
}

.about-team h2 {
    text-transform: uppercase;
    font-size: clamp(30px, 10vw, 40px);
    color: var(--color2);
    text-align: center;
}

.about-team-block {
    display: flex;
    justify-content: space-between;
}

.about-team-block-text {
    width: 47%;
}

.about-team-block .button { margin: 50px auto 0;}

.btn-link {
    display: inline-block;
    margin-top: 50px;
    color: var(--color3);
    font-weight: 700;
    font-family: var(--font1);
    font-size: 24px;
    transition: all 0.3s ease-in-out;
}

.btn-link:hover {
    color: #4cb47e;
}

.btn-link-pink {
    display: inline-block;
    margin-top: 50px;
    color: #e64178;
    font-weight: 700;
    font-family: var(--font1);
    font-size: 24px;
    transition: all 0.3s ease-in-out;
}

.btn-link-pink:hover {
    color: var(--color8);
}

/* Arrow Green */

.arrow {
    color: var(--color3);
    cursor: pointer;
    display: inline-block;
    height: 12px;
    margin-left: 0.5em;
    position: relative;
    transition: width 0.2s ease;
    vertical-align: middle;
    width: 15px;
    transition: all 0.3s ease-in-out;
}
.arrow::after {
    border-right: 2px solid currentColor;
    border-top: 2px solid currentColor;
    content: "";
    display: block;
    height: 10px;
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%) rotate(45deg);
    width: 10px;
}
.arrow::before {
    border-bottom: 2px solid currentColor;
    content: "";
    left: 0;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 100%;
    }

a:hover .arrow {
    width: 20px;
    transition: all 0.3s ease-in-out;
    color: #4cb47e;
}

/* Arrow Pink */

.arrow-pink {
    color: #e64178;
    cursor: pointer;
    display: inline-block;
    height: 12px;
    margin-left: 0.5em;
    position: relative;
    transition: width 0.2s ease;
    vertical-align: middle;
    width: 15px;
    transition: all 0.3s ease-in-out;
}
.arrow-pink::after {
    border-right: 2px solid currentColor;
    border-top: 2px solid currentColor;
    content: "";
    display: block;
    height: 10px;
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%) rotate(45deg);
    width: 10px;
}
.arrow-pink::before {
    border-bottom: 2px solid currentColor;
    content: "";
    left: 0;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 100%;
    }

a:hover .arrow-pink {
    width: 20px;
    transition: all 0.3s ease-in-out;
    color: var(--color8);
}


@media all and (max-width: 1000px) {  
    .about-team-block {
        flex-direction: column;
    }
    .about-team-block-text {
        width: 100%;
        margin-bottom: 50px;
    }
}

/*************/
/* [Contact] */
/*************/

.contact {
    margin-bottom: 150px;
}

.contact-container {
    color: var(--color2);
}

.contact h2 {
    text-transform: uppercase;
    font-size: clamp(30px, 10vw, 40px);
    color: var(--color2);
    text-align: center;
}

.contact-block {
    display: flex;
    justify-content: space-between;
}

.contact-block-c { width: 100%; }
.contact-block-g { width: 68%; }
.contact-block-d { width: 28%; align-self: center; justify-self: center;}
.contact-block .button { margin: 0 auto;}

@media all and (max-width: 1000px) {  
    .contact-block {
        flex-direction: column;
    }
    .contact-block-g {
        width: 100%;
        margin-bottom: 50px;
    }
    .contact-block-d {
        width: 100%;
      }
}

/*****************/
/* [Team-Astate] */
/*****************/

.team-astate h1 {
    font-family: var(--font2);
    text-transform: uppercase;
    font-weight: 600;
    font-size: clamp(30px, 10vw, 60px);
    letter-spacing: 3px;
    padding-bottom: 20px;
    text-align: center;
}

.team-astate .slogan { margin-top: 50px; }

.team { 
    margin-top: 50px;
    margin-bottom: 150px;
    padding-top: 50px; 
}

/**********************/
/* [Team-Cards-Popup] */
/**********************/

.team-container {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 40px;
}

.team-block {
    /* margin: 20px; */
    text-align: center;
    position: relative;
    color: var(--color2);
    overflow: hidden;
    width: 230px; 
    height: 350px;
}

.team-block img { 
    width: 230px; 
    height: 350px;
    object-fit: cover;
    object-position: top;  
    filter: grayscale(100%);
    transition: all 0.5s ease-in-out;
}

.team-block:hover img { 
    filter: grayscale(0);
    transition: all 0.5s ease-in-out;
}

.details-collaborateur {
    width: 100%;
    padding: 10px;
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    background: rgba(103, 185, 143, 0.95);
    color: var(--color1);
    font-size: 14px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 96px;
}

.details-collaborateur:before {
    content: "";
    position: absolute;
    top: 5px;
    left: 5px;
    width: 10px;
    height: 10px;
    border-color: #fff;
    border-style: solid;
    border-width: 1px 0 0 1px;
}

.details-collaborateur:after{
    content: "";
    position: absolute;
    bottom: 5px;
    right: 5px;
    width: 10px;
    height: 10px;
    border-color: #fff;
    border-style: solid;
    border-width: 0 1px 1px 0;
}

.nom-collaborateur {
    font-size: 16px;
    font-weight: 800;
}

.fonction-collaborateur {
    font-size: 14px;
    font-style: italic;
}

/* Magnific Popup */

.popup-team {
    background: white;
	padding: 40px;
	text-align: left;
	max-width: 400px;
	margin: 40px auto;
	position: relative;  
}

.popup-team img {
	width: 100%;
    height: 300px;
    object-fit: cover;
    object-position: top;
}

.popup-team h2 { 
    margin-bottom: 5px; 
    font-size: 20px;
}

.popup-team h3 { 
    margin-bottom: 10px; 
    color: var(--color3);
    font-size: 18px;
    font-weight: 700;
}

.popup-team p { 
    font-size: 16px;
}

/* Fade-zoom animation for first dialog */

/* start state */
.my-mfp-zoom-in .zoom-anim-dialog {
	opacity: 0;

	-webkit-transition: all 0.2s ease-in-out; 
	-moz-transition: all 0.2s ease-in-out; 
	-o-transition: all 0.2s ease-in-out; 
	transition: all 0.2s ease-in-out; 

	-webkit-transform: scale(0.8); 
	-moz-transform: scale(0.8); 
	-ms-transform: scale(0.8); 
	-o-transform: scale(0.8); 
	transform: scale(0.8); 
}

/* animate in */
.my-mfp-zoom-in.mfp-ready .zoom-anim-dialog {
	opacity: 1;

	-webkit-transform: scale(1); 
	-moz-transform: scale(1); 
	-ms-transform: scale(1); 
	-o-transform: scale(1); 
	transform: scale(1); 
}

/* animate out */
.my-mfp-zoom-in.mfp-removing .zoom-anim-dialog {
	-webkit-transform: scale(0.8); 
	-moz-transform: scale(0.8); 
	-ms-transform: scale(0.8); 
	-o-transform: scale(0.8); 
	transform: scale(0.8); 

	opacity: 0;
}

/* Dark overlay, start state */
.my-mfp-zoom-in.mfp-bg {
	opacity: 0;
	-webkit-transition: opacity 0.3s ease-out; 
	-moz-transition: opacity 0.3s ease-out; 
	-o-transition: opacity 0.3s ease-out; 
	transition: opacity 0.3s ease-out;
}
/* animate in */
.my-mfp-zoom-in.mfp-ready.mfp-bg {
	opacity: 0.8;
}
/* animate out */
.my-mfp-zoom-in.mfp-removing.mfp-bg {
	opacity: 0;
}

/******************/
/* [Nos-Services] */
/******************/

.services h1 {
    font-family: var(--font2);
    text-transform: uppercase;
    font-weight: 600;
    font-size: clamp(30px, 10vw, 60px);
    letter-spacing: 3px;
    padding-bottom: 20px;
    text-align: center;
}

.btn-trainning {
    display: inline-block;
    margin-top: 20px;
    background: #ffc0d5;
    color: #e71e61;
    padding: 10px 20px;
    border-radius: 2px;
    font-weight: 600;
    font-family: var(--font1);
    font-size: 14px;
    letter-spacing: 1px;
    transition: all 0.3s ease-in-out;
}

.btn-trainning:hover {
    background: #D3225D;
    color: var(--color1);
    transition: all 0.3s ease-in-out;
}

/***************/
/* [Accordéon] */
/***************/

.services-accordeon {
    margin-top: 50px;
    margin-bottom: 150px;
}

.accordeon-title {
    font-size: 18px;
    font-family: var(--font2);
    color: var(--color2);
    font-weight: 400;
    transition: all 0.5s ease-in-out;
}

.accordeon .accordeon-item {
    border-bottom: solid 1px #eeeeee;
}

.accordeon button {
    position: relative;
    display: block;
    text-align: left;
    width: 100%;
    padding: 24px 0;
    color: var(--color2);
    font-size: 18px;
    font-weight: 400;
    border: none;
    background: none;
    outline: none;
    transition: all 0.5s ease-in-out;
}

.accordeon-title:hover {
    color: var(--color3);
    transition: all 0.3s ease-out;
}

.accordeon button:hover, .accordeon button:focus {
    cursor: pointer;
    color: var(--color3);
    transition: all 0.3s ease-out;
}

.accordeon button .accordeon-title {
    padding: 16px 24px 16px 0;
}

.accordeon button .icon {
    display: inline-block;
    position: absolute;
    top: 50%;
    right: 0;
    transform: translate(-50%, -50%);   
    width: 22px;
    height: 22px;
    border: 1px solid;
    border-radius: 22px;
}

.accordeon button .icon::before {
    content: "";
    display: block;
    position: absolute;
    top: 9px;
    left: 5px;
    width: 10px;
    height: 2px;
    background: currentColor;
}

.accordeon button .icon::after {
    content: "";
    display: block;
    position: absolute;
    top: 5px;
    left: 9px;
    width: 2px;
    height: 10px;
    background: currentColor;
}

.accordeon button[aria-expanded=true] {
    color: var(--color3);
}

.accordeon button[aria-expanded=true] .accordeon-title {
    color: var(--color3);
    font-size: 20px;
    font-weight: bold;
    transition: all 0.5s ease-in-out;
    font-weight: 500;
}

.accordeon button[aria-expanded=true] .icon::after {
    width: 0;
    transition: all 0.5s ease-in-out;
}

.accordeon button[aria-expanded=true] + .accordeon-content {
    opacity: 1;
    height: 100%;
    max-height: none;
    transition: all 0.7s ease-in-out;
    will-change: opacity, max-height, height;
    margin-bottom: 32px;
}

.accordeon .accordeon-content {
    opacity: 0;
    height: 0;
    max-height: 0;
    overflow: hidden;
    transition: all 0.7s ease-in-out;
    will-change: opacity, max-height, height;
}

.accordeon-content .btn-link {
    margin-top: 10px;
    margin-right: 5px;
    font-size: 20px;
}

/****************/
/* [Formations] */
/****************/

.formations h1 {
    font-family: var(--font2);
    text-transform: uppercase;
    font-weight: 600;
    font-size: clamp(30px, 10vw, 60px);
    letter-spacing: 3px;
    padding-bottom: 20px;
    text-align: center;
}

.formations .section-title h1::after {
    background: var(--color8);
}

.qualiopi {
    text-align: center;
}

.qualiopi img {
    max-width: 350px;
    width: 100%;
    height: auto;
}

.percent-pink {
    font-size: clamp(20px, 5vw, 40px);
    font-weight: 700;
    font-family: var(--font2);
    color: var(--color8);
}

.btn-certificate {
    display: inline-block;
    margin-top: 20px;
    margin-bottom: 20px;
    background: #ffc0d5;
    color: #e71e61;
    padding: 10px 20px;
    border-radius: 2px;
    font-weight: 600;
    font-family: var(--font1);
    font-size: 14px;
    letter-spacing: 1px;
    transition: all 0.3s ease-in-out;
}

.btn-certificate:hover {
    background: #D3225D;
    color: var(--color1);
    transition: all 0.3s ease-in-out;
}

.btn-certificate-2 {
    display: inline-block;
    margin-top: 20px;
    margin-bottom: 20px;
    color: #ca5079;
    padding: 10px 20px;
    border-radius: 2px;
    font-weight: 600;
    font-family: var(--font1);
    font-size: 14px;
    letter-spacing: 1px;
    transition: all 0.1s ease-in-out;

}

.btn-certificate-2:hover {
    color: #D3225D;
}

.widgets-pink {
    color: var(--color1);
    background: linear-gradient(145deg, #e91a5f 10%, #ff5194 100%) !important;
}

.widgets-pink hr {
    background-color: transparent;
    margin: 0 0 16px;
    border-style: none;
    border-bottom: 1px dotted #ededed;
}

/*************************/
/* [Chiffres-Formations] */
/*************************/

.chiffres-trainning { 
    margin-top: 100px;
    margin-bottom: 100px; 
}

.chiffres-trainning h2 {
    font-size: 24px;
    font-weight: 700;
    font-family: var(--font1);
    color: var(--color8);
    line-height: 26px;
    margin-bottom: 10px;
}

.chiffres-trainning-grid-container {
    display: grid;
    grid-template-columns: 410px 1fr 1fr; 
    grid-template-rows: auto;
    background: var(--color1);
    margin-top: 50px;
    margin-bottom: 50px;
}
    
.chiffres-trainning-grid-1 { grid-area: 1 / 1 / 3 / 2; background: #ffffff; border: 1px solid #eeeeee; }
.chiffres-trainning-grid-2 { grid-area: 1 / 2 / 2 / 3; background: #fafafa; }
.chiffres-trainning-grid-3 { grid-area: 1 / 3 / 2 / 4; background: #f5f5f5; }
.chiffres-trainning-grid-4 { grid-area: 2 / 2 / 3 / 3; background: #eeeeee; }
.chiffres-trainning-grid-5 { grid-area: 2 / 3 / 3 / 4; background: #ffffff; border: 1px solid #eeeeee; }

.number-grid-pink {
    font-size: clamp(64px, 10vw, 80px);
    font-weight: 700;
    font-family: var(--font2);
    color: var(--color8);
}

.act-grid {
    display: flex;
    justify-content: center;
    align-items: center;
}

.act-grid-img {
    max-width: 280px;
    width: 100%;
    height: auto;
}

.chiffres-trainning-grid-1, 
.chiffres-trainning-grid-2,
.chiffres-trainning-grid-3,
.chiffres-trainning-grid-4,
.chiffres-trainning-grid-5 { 
    padding: 20px 30px; 
}

.chiffres-trainning-grid-container h3 {
    margin-top: 10px;
    margin-bottom: 10px;
}


@media all and (max-width: 1200px) {
    .chiffres-trainning-grid-container {
        grid-template-columns: 1fr 1fr;
        grid-template-rows: auto;
    }
    .chiffres-trainning-grid-1 { grid-area: 1 / 1 / 3 / 2; }
    .chiffres-trainning-grid-2 { grid-area: 1 / 2 / 2 / 3; }
    .chiffres-trainning-grid-3 { grid-area: 2 / 2 / 3 / 3; }
    .chiffres-trainning-grid-4 { grid-area: 3 / 1 / 4 / 2; }
    .chiffres-trainning-grid-5 { grid-area: 3 / 2 / 4 / 3; }     
}

@media all and (max-width: 800px) {
    .chiffres-trainning-grid-container {
        grid-template-columns: 1fr;
        grid-template-rows: auto;
    }
    .chiffres-trainning-grid-1 { grid-area: 1 / 1 / 2 / 2; }
    .chiffres-trainning-grid-2 { grid-area: 2 / 1 / 3 / 2; }
    .chiffres-trainning-grid-3 { grid-area: 3 / 1 / 4 / 2; }
    .chiffres-trainning-grid-4 { grid-area: 4 / 1 / 5 / 2; }
    .chiffres-trainning-grid-5 { display: none; } 
}

/************************/
/* [Catalogue-Formules] */
/************************/

.formules {
    margin-top: 200px;
    margin-bottom: 200px;
}

.formules-container h2 {
    text-transform: uppercase;
    font-size: clamp(30px, 10vw, 40px);
    color: var(--color2);
    text-align: center;
}

.formules-block {
    margin-top: 100px;
    margin-bottom: 100px;
    display: flex;
    justify-content: space-between;
    align-items: stretch;
    flex-wrap: wrap;
}

.formules-cards {
    width: 30%;
    border: 1px solid #eeeeee;
    /* padding: 100px 50px; */
    box-shadow: 0px 5px 10px rgba(0, 0, 0, 0.08);
    border-radius: 2px;
}

.nom-formule {
    width: 100%;
    height: 152px;
    background: var(--color8);
    color: var(--color1);
    clip-path: polygon(0 0, 100% 0, 100% 75%, 0 100%);
}

.formules-cards h3 {
    border-radius: 2px 2px 0 0;
    padding: 50px 30px;
    text-transform: uppercase;
    font-weight: 700;
}

.formules-cards h4 {
    padding: 30px;
    height: 110px;
    font-weight: 700;

}

.formules-cards-details {
    padding: 10px 30px;
}

.formules-cards img {
    max-width: 32px;
    vertical-align: middle;
    margin-right: 20px;
}

.btn-formules {
    display: inline-block;
    margin-top: 50px;
    margin-bottom: 50px;
    background: #ffc0d5;
    color: #e71e61;
    padding: 10px 20px;
    border-radius: 2px;
    font-weight: 600;
    font-family: var(--font1);
    font-size: 14px;
    letter-spacing: 1px;
    transition: all 0.3s ease-in-out;
}

.btn-formules:hover {
    background: #D3225D;
    color: var(--color1);
    transition: all 0.3s ease-in-out;
}

@media all and (max-width: 1050px) {  
    .formules-cards {
        width: 48%;
        margin-bottom: 40px;
    }
}

@media all and (max-width: 700px) {  
    .formules-cards {
        width: 100%;
        margin-bottom: 40px;
    }
}

/*************/
/* [Widgets] */
/*************/

.widgets {
    color: var(--color1);
    background: linear-gradient(140deg,#37b1c7 10%, #5dc58e 70%);
}

.container-widgets {
    font-size: 14px;
    font-weight: 400;
    padding-top: 15px;
    padding-bottom: 5px;
    display: flex;
    justify-content: space-between;  
    flex-wrap: wrap;
}

.widgets-block {
    color: var(--color1);
    font-family: var(--font1);
    width: 30%;
}

.widgets-title {
    font-family: var(--font2);
    font-size: 14px;
    font-weight: 500;
    text-transform: uppercase;
    line-height: 26px;
    margin: 16px 0 5px;
}

.widgets hr {
    background-color: transparent;
    margin: 0 0 16px;
    border-style: none;
    border-bottom: 1px dotted #ededed;
}

.container-widgets p {
    color: var(--color1);
    font-family: var(--font1);
    font-size: 14px;
    font-weight: 500;
}

.widgets-text a {
    opacity: 0.8;
}

.widgets-text a:hover {
    opacity: 1;
}

.widgets-block h3 {
    font-size: 28px;
    margin: 0 0 10px 0;
    padding: 2px 0 2px 0;
    line-height: 1;
    text-transform: uppercase;
    font-weight: 600;
    color: var(--color1);
}

.horaire-right {
    margin-left: 32px;
}

.chevron-white img {
    width: 6px;
    margin-right: 5px;
}

.social-links {
    padding-left: 0px;
    display: flex;
}

.social-links a {
    opacity: 0.5;
    transition: 0.2s ease-in-out;  
    display: inline-block;
}

.social-links a:hover {
    opacity: 1;
    transition: 0.2s ease-in-out;  
}

.social-links img {
    margin-right: 16px;
    max-width: 40px;
}

.social-links:last-child img {
    margin-right: 0;
}

@media all and (max-width: 880px) {  
    .widgets-block {
        width: 100%;
        text-align: center;
        margin-bottom: 32px;
    }
    .widgets-block:last-child {
        margin-bottom: 0;
    }
    .social-links {
        justify-content: center;
    }
}

/*****************/
/*  [14-Footer]  */
/*****************/

.bg-footer {
    /* background-color: var(--color2); */
    color: var(--color1);
    padding-top: 5px;
    padding-bottom: 15px;
}

.footer hr {
    color: transparent;
    border-top: 1px solid #ededed !important;
    margin-bottom: 5px !important;
}

.footer-container {
    font-size: 14px;
    display: flex;
    justify-content:space-between;
}

.copyright-g {
    display: flex;
    justify-content: center;
}

.copyright-d {
    padding-left: 20px;
}

.footer-container a {
    transition: 0.3s;
    color: var(--color1);
    opacity: 0.7;
}

.footer-container a:hover {
    transition: 0.3s;
    color: var(--color1);
    opacity: 1;
}

.footer-container p {
    margin-top: 0;
    margin-bottom: 0 !important;
}

@media all and (max-width: 880px) {
    .footer-container {
        flex-direction: column;
        justify-content: space-between;
    }    
    .footer-block:first-child {
        padding-bottom: 16px;
    }
    .copyright-d {
        padding-left: 0;
    }
}

@media all and (max-width: 580px) {
    .copyright-g {
        flex-direction: column;
    }
    .footer-cookies {
        padding: 16px 0;
    }
}

/*************************/
/* [15-Mentions Légales] */
/*************************/

.mentions-titre h1 {
    font-family: var(--font2);
    text-transform: uppercase;
    font-weight: 600;
    font-size: clamp(30px, 10vw, 60px);
    letter-spacing: 3px;
    padding-bottom: 20px;
    text-align: center;
}

.bg-mentions {
    background-color: var(--color1);
    color: var(--color2);
    margin-bottom: 200px;
}

.mentions-legales {
    font-family: var(--font1) !important;
    font-size: 16px;
    max-width: 1300px;
}

.bg-mentions h2 {
    font-family: var(--font1);
    font-size: 20px;
    text-transform: uppercase;
    text-align: center;
    padding: 40px 20px;
    font-weight: normal;
}

.mentions-legales h3 {
    font-family: var(--font1);
    font-size: 16px;
    color: var(--color3);
    font-weight: bold;
    margin: 10px 0;
    text-transform: capitalize;
}

.mentions-legales h4 {
    font-family: var(--font1);
    font-size: 16px;
    color: var(--color3);
    font-weight: bold;
    margin: 10px 0;
    text-transform: capitalize;
}

.mentions-legales hr {
    color: transparent;
    border-style: none;
    border-top: 1px dashed var(--color6);
    margin: 20px 0 30px;
}

.mentions-legales b {
    font-family: var(--font1);
    color: var(--color2);
    font-weight: bold;
}

.mentions-legales p {
    color: var(--color2);
    font-family: var(--font1);
    font-weight: 400;
    font-size: 16px;
    line-height: 23px;
    margin: 10px 0;
}

.mentions-legales a {
    color: var(--color2);
    opacity: 0.9;
    transition: 0.3s ease-in-out;
}

.mentions-legales a:hover {
    color: var(--color2);
    opacity: 1;
    transition: 0.3s ease-in-out;
}