/*
Theme Name: Nexsol Thème
Theme URI: https://www.nexsol.tech/
Author: Nexsol Tech
Author URI: https://nexsol.tech
Description: Thème WP du site web de Nexsol.
Version: 1.0
License: Apache 2.0
License URI: https://www.apache.org/licenses/LICENSE-2.0
Text Domain: nexsol-theme
*/

:root {
    --primary: #E69317;
    --primary-pastel: #FEE8D9;
    --accent: #8c64ff;
    --accent-pastel: #b8a1fd;
    --tertiary: #ff8fc2;
    --tertiary-pastel: #ffbddb;
    --grey: #69686D;
    --grey-pastel: #959FA8;
    --ardoise: #2C3E50;
    --text-color: rgb(12, 12, 12);
    --neutral: #f7f5ee;


    --linear-gradient: linear-gradient(130deg, rgba(144, 192, 224, 0.8) 0%, rgba(188, 255, 241, 0.8) 50%, rgba(188, 255, 241, 0.4) 100%);

    --color-bg1: #ffffff;
    --color-bg2: #fceee0;
    --color1: 255, 189, 150;
    --color2: 255, 143, 194;
    --color3: 173, 216, 255;
    --color4: 242, 153, 155;
    --color5: 255, 230, 180;
    --color-interactive: 140, 100, 255;
    --circle-size: 80%;
    --blending: hard-light;
}

html,
body {
    font-family: "Nunito", serif;
    font-optical-sizing: auto;
    font-weight: normal;
    font-style: normal;
    font-size: 14px;
    margin: 0;
    padding: 0.5rem;
}

header>img {
    max-height: 38px;
}

header,
main .container>*,
footer,
.sub-header h1 {
    width: 100%;
    max-width: clamp(320px, 90vw, 1280px);
    margin: 0 auto;
    padding: 0 16px;
    z-index: 1;
    box-sizing: border-box;
}

.fullwidth {
    max-width: unset !important;
    border-radius: 24px;
    margin: 120px auto !important;
    overflow: hidden;
}

.fullwidth.pink {
    background-image: linear-gradient(15deg, color-mix(in srgb, var(--tertiary-pastel) 60%, transparent), color-mix(in srgb, var(--neutral) 20%, transparent));
}

.fullwidth.primary {
    background-image: linear-gradient(15deg, color-mix(in srgb, var(--primary-pastel) 60%, transparent), color-mix(in srgb, var(--neutral) 20%, transparent));
}

.fullwidth.accent {
    background-image: linear-gradient(15deg, color-mix(in srgb, var(--accent-pastel) 60%, transparent), color-mix(in srgb, var(--neutral) 20%, transparent));
}

.margin-120 {
    margin-top: 120px;
}

main {
    position: relative;
}

.mobile-menu-overlay {
    /* Height & width depends on how you want to reveal the overlay (see JS below) */
    height: 100%;
    width: 0;
    position: fixed;
    /* Stay in place */
    z-index: 999;
    /* Sit on top */
    left: 0;
    top: 0;
    background-color: #ecf0f1;
    background-color: var(--neutral);
    /* Black w/opacity */
    overflow-x: hidden;
    /* Disable horizontal scroll */
    transition: 0.5s;
    /* 0.5 second transition effect to slide in or slide down the overlay (height or width, depending on reveal) */
}

.mobile-menu-overlay.active {
    width: 100%;
}

/* Position the content inside the overlay */
.overlay-content {
    position: relative;
    top: 25%;
    /* 25% from the top */
    width: 100%;
    /* 100% width */
    text-align: center;
    /* Centered text/links */
    margin-top: 30px;
    /* 30px top margin to avoid conflict with the close button on smaller screens */
}

.overlay-content ul {
    padding: 0;
}

.overlay-content li {
    list-style-type: none;
}

.overlay-content a {
    font-size: 2rem;
    margin-bottom: 1rem;
    color: var(--grey);
    text-decoration: none;
    display: block;
}

/* Position the close button (top right corner) */
.mobile-menu-overlay .closebtn {
    position: absolute;
    top: 20px;
    right: 45px;
    font-size: 60px;
}

.full-height {
    height: 80vh;
}

.full-height img {
    object-fit: contain;
}

h2.wp-block-heading strong,
.gradient-text {
    background-image: linear-gradient(130deg, var(--accent), var(--primary));
    -webkit-text-fill-color: transparent;
    -webkit-background-clip: text;
    background-clip: text;
    padding-left: 0;
    display: inline;
    overflow: visible;
    font-weight: inherit;
}

h2.wp-block-heading {
    font-size: 3rem;
    text-align: center;
    text-transform: uppercase;
}

.uppercase {
    text-transform: uppercase;
}

.background-gradient {
    position: relative;
    background: var(--linear-gradient);
    z-index: -1;
    max-width: initial !important;
    padding: 0 !important;
    margin: 0 auto;
}

.background-gradient>* {
    position: relative;
    z-index: 1;
    max-width: clamp(320px, 90vw, 1280px);
    padding: 0 16px;
    margin: 0 auto;
}

.background-gradient:before,
.white-blur {
    content: '';
    background: rgb(255, 255, 255);
    background: linear-gradient(0deg, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 0.3) 21%, rgba(255, 255, 255, 0.1) 62%, rgba(255, 255, 255, 1) 100%);
    height: 100%;
    width: 100%;
    position: absolute;
    top: 0;
    z-index: 1;
}

header {
    max-width: unset !important;
    left: 0;
    display: flex;
    justify-content: space-between;
    padding: 1rem 2rem;
    box-sizing: border-box;
    position: fixed;
    z-index: 1000;
}

header img {
    max-width: 128px;
}

.product-header {
    margin-bottom: 120px !important;
}

.product-header .description {
    margin-top: 75px;
    background: linear-gradient(-45deg, var(--neutral), color-mix(in srgb, var(--primary-pastel) 20%, transparent));
    padding: 1rem 2rem;
    border-radius: 24px;
}

.product-header .wp-block-column:has(figure) {
    max-width: 420px;
}

.product-header figure {
    border-radius: 24px;
    box-sizing: border-box;
    overflow: hidden;
}

#menu-btn {
    position: absolute;
    top: -1000%;
    left: -1000%;
}

.menu-icon {
    visibility: hidden;
}

nav {
    background-color: var(--color-bg1);
    border: 1px solid var(--color-bg2);
    border-radius: 16px;
    color: var(--text-color);
    padding: 8px 12px;
    position: fixed;
    top: 3.5rem;
    left: 50%;
    transform: translateX(-50%);
    z-index: 1000;
    transition: all 200ms ease;
}

header.active nav {
    opacity: 0.8;
    top: 1.5rem;
}

header.active nav:hover {
    opacity: 1;
}

nav ul {
    display: flex;
    gap: 10px;
    padding: 0;
    margin: 0;
}

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

nav ul li a {
    border-radius: 8px;
    color: inherit;
    display: block;
    padding: 10px 16px;
    text-decoration: none;
    transition: all 200ms ease;
    white-space: nowrap;
}

nav ul li:hover a {
    background-color: color-mix(in srgb, var(--primary-pastel) 40%, transparent);
}

nav ul li.current-menu-item a {
    background-color: var(--primary-pastel);
    font-weight: bold;
}

.gradient-bg {
    width: 100%;
    height: 100vh;
    position: relative;
    overflow: hidden;
    background: linear-gradient(40deg, var(--color-bg1), var(--color-bg2));
    top: 0;
    left: 0;
    border-radius: 24px;
}

.gradient-bg svg {
    position: fixed;
    top: 0;
    left: 0;
    width: 0;
    height: 0;
}

.gradient-bg .gradients-container {
    filter: url(#goo) blur(40px);
    width: 100%;
    height: 100%;
}

.gradient-bg .g1 {
    position: absolute;
    background: radial-gradient(circle at center, rgba(var(--color1), 0.8) 0, rgba(var(--color1), 0) 50%) no-repeat;
    mix-blend-mode: var(--blending);

    width: var(--circle-size);
    height: var(--circle-size);
    top: calc(50% - var(--circle-size) / 2);
    left: calc(50% - var(--circle-size) / 2);

    transform-origin: center center;
    animation: moveVertical 30s ease infinite;

    opacity: 1;
}

.gradient-bg .g2 {
    position: absolute;
    background: radial-gradient(circle at center, rgba(var(--color2), 0.8) 0, rgba(var(--color2), 0) 50%) no-repeat;
    mix-blend-mode: var(--blending);

    width: var(--circle-size);
    height: var(--circle-size);
    top: calc(50% - var(--circle-size) / 2);
    left: calc(50% - var(--circle-size) / 2);

    transform-origin: calc(50% - 400px);
    animation: moveInCircle 20s reverse infinite;

    opacity: 1;
}

.gradient-bg .g3 {
    position: absolute;
    background: radial-gradient(circle at center, rgba(var(--color3), 0.8) 0, rgba(var(--color3), 0) 50%) no-repeat;
    mix-blend-mode: var(--blending);

    width: var(--circle-size);
    height: var(--circle-size);
    top: calc(50% - var(--circle-size) / 2 + 200px);
    left: calc(50% - var(--circle-size) / 2 - 500px);

    transform-origin: calc(50% + 400px);
    animation: moveInCircle 40s linear infinite;

    opacity: 1;
}

.gradient-bg .g4 {
    position: absolute;
    background: radial-gradient(circle at center, rgba(var(--color4), 0.8) 0, rgba(var(--color4), 0) 50%) no-repeat;
    mix-blend-mode: var(--blending);

    width: var(--circle-size);
    height: var(--circle-size);
    top: calc(50% - var(--circle-size) / 2);
    left: calc(50% - var(--circle-size) / 2);

    transform-origin: calc(50% - 200px);
    animation: moveHorizontal 40s ease infinite;

    opacity: 0.7;
}

.gradient-bg .g5 {
    position: absolute;
    background: radial-gradient(circle at center, rgba(var(--color5), 0.8) 0, rgba(var(--color5), 0) 50%) no-repeat;
    mix-blend-mode: var(--blending);

    width: calc(var(--circle-size) * 2);
    height: calc(var(--circle-size) * 2);
    top: calc(50% - var(--circle-size));
    left: calc(50% - var(--circle-size));

    transform-origin: calc(50% - 800px) calc(50% + 200px);
    animation: moveInCircle 20s ease infinite;

    opacity: 1;
}

.gradient-bg .interactive {
    position: absolute;
    background: radial-gradient(circle at center, rgba(var(--color-interactive), 0.8) 0, rgba(var(--color-interactive), 0) 50%) no-repeat;
    mix-blend-mode: var(--blending);

    width: 100%;
    height: 100%;
    top: -50%;
    left: -50%;

    opacity: 0.7;
}

.gradient-bg .text {
    z-index: 10;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    color: var(--text-color);
}

.gradient-bg .text h1 {
    text-transform: uppercase;
    text-align: center;
    font-size: 3rem;
}

.gradient-bg .text button {
    font-size: 16px;
}

.gradient-bg .text .actions {
    display: flex;
    justify-content: center;
    gap: 1rem;
}

.wp-block-button a,
button,
a.button,
#contact button {
    background-color: var(--color-bg2);
    border: 1px solid var(--primary-pastel);
    border-radius: 0.8rem;
    color: var(--text-color);
    outline: none;
    padding: 0.75rem 1rem;
}

.wp-block-button:hover a,
button:hover,
a.button:hover,
#contact button:hover {
    cursor: pointer;
    background: var(--primary-pastel) !important;
    color: var(--primary) !important;
}

.wp-block-button.black a,
button.black,
a.button.black {
    background-color: var(--text-color);
    border: 1px solid var(--ardoise);
    color: var(--color-bg1);
}

.wp-block-button.black a:hover,
button.black:hover,
a.button.black:hover {
    background-color: var(--ardoise) !important;
    border: 1px solid var(--ardoise) !important;
    color: var(--color-bg1) !important;
}

/* ---- Expertise ----- */

#expertise {
    margin-top: 145px;
}

#expertise .block {
    padding: 1rem 1.5rem;
    background-image: linear-gradient(45deg, var(--primary-pastel), color-mix(in srgb, var(--neutral) 20%, transparent));
    border-radius: 24px;
}

#expertise .block:nth-child(1) {
    background-image: linear-gradient(45deg, var(--accent-pastel), color-mix(in srgb, var(--neutral) 20%, transparent));
}

#expertise .block:nth-child(2) {
    background-image: linear-gradient(45deg, var(--tertiary-pastel), color-mix(in srgb, var(--neutral) 20%, transparent));
}

#expertise .block:nth-child(3) {
    background-image: linear-gradient(45deg, var(--primary-pastel), color-mix(in srgb, var(--neutral) 20%, transparent));
}

#expertise .block h3 {
    text-align: center;
}

/* ---- Nous choisir ----- */

.logo-fullwidth {
    transition: opacity 200ms ease;
}

.logo-fullwidth.animate__bounceOut {
    opacity: 0;
}

.logo-fullwidth:not(.animate__bounceOut) {
    opacity: 1;
}

.logo-fullwidth figure {
    margin: 145px auto;
    max-width: 450px;
}

.wp-block-group.neutral {
    border-radius: 16px;
    background: linear-gradient(-45deg, var(--neutral), color-mix(in srgb, var(--primary-pastel) 20%, transparent));
    padding: 4rem 2rem !important;
}

.neutral {
    /* background-color: var(--neutral); */
    border-radius: 24px;
    padding: 2rem !important;
}

.neutral h2 {
    margin-top: 0;
}

#nous-choisir {}

.users {}

.users .wp-block-column:has(figure) {
    max-width: 250px;
    align-items: center;
    display: flex;
}

.users .wp-block-column:not(.avatar) {
    background-image: linear-gradient(-45deg, var(--neutral), color-mix(in srgb, var(--primary-pastel) 20%, transparent));
    border-radius: 24px;
    padding: 0 2rem 2rem 2rem !important;
}

.users .wp-block-column:not(.avatar):nth-child(odd) {
    background-image: linear-gradient(45deg, var(--neutral), color-mix(in srgb, var(--primary-pastel) 20%, transparent));
}

.users figure {
    border-radius: 999px;
    /* overflow: hidden; */
    border: 5px solid var(--primary-pastel);
    position: relative;
}

.users figure img {
    width: 100%;
    border-radius: 999px;
}

.users figure:before {
    content: '';
    width: 24px;
    height: 24px;
    border-radius: 24px;
    background-color: var(--primary-pastel);
    position: absolute;
    top: -0.5rem;
    right: 0;
    z-index: -1;
}

.users figure:after {
    content: '';
    width: calc(100% - 0px);
    height: calc(100% - 0px);
    border-radius: 999px;
    background-color: var(--primary-pastel);
    position: absolute;
    bottom: -1rem;
    right: -1rem;
    z-index: -1;
}

.users .wp-block-column:has(figure):nth-child(odd) figure:after {
    right: unset;
    left: -1rem;
}

.users .wp-block-column:has(figure):nth-child(even) figure:before {
    right: unset;
    left: 0;
}

/* ---- BLOG ----- */

#blog {}

.wp-block-columns:has(.blogs-tiles) {
    margin-top: 2.5rem;
    display: flex;
    flex-direction: column;
}

.wp-block-columns .blogs-tiles:nth-child(odd) {
    transform: translateX(-10%);
}

.wp-block-columns .blogs-tiles:nth-child(even) {
    transform: translateX(-150%);
}

.blogs-tiles {
    display: flex;
    gap: 1rem;
    width: 100%;
}

.blogs-tiles figure {
    border-radius: 0.75rem;
    overflow: hidden;
    flex: 0 0 20%;
}

.blogs-tiles figure img {
    border-radius: 0.75rem;
    width: 100%;
}

/* ---- CONTACT ----- */

#contact .wp-block-column:has(figure) {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

#contact input,
#contact textarea {
    border-radius: 12px;
    border-color: var(--primary-pastel);
    position: relative;
    box-shadow: 3px 3px 0px 1px var(--primary-pastel);
}

/* ---- ACCORDION ----- */

/* Conteneur principal */
.accordion.wp-block-group {
    display: flex;
    gap: 1rem;
    height: clamp(260px, 60vh, 560px);
    overflow: hidden;
    --collapsed: 43px;
}

/* Chaque panneau */
.accordion.wp-block-group>.wp-block-group {
    position: relative;
    flex: 1 1 0;
    min-width: 0;
    display: flex;
    border-radius: 16px;
    background-color: var(--neutral);
    height: 100%;
}

/* Contenu interne */
.accordion.wp-block-group>.wp-block-group>.wp-block-group__inner-container {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: .75rem;
    width: 100%;
    padding: .75rem;
}

/* Titres et paragraphes */
.accordion.wp-block-group h3.wp-block-heading {
    margin: 0;
    line-height: 1.2;
    writing-mode: horizontal-tb;
    text-orientation: mixed;
    white-space: normal;
    text-align: center;
}

.accordion.wp-block-group p {
    margin: 0;
    text-align: center;
}

/* ---------- État par défaut : tout fermé sauf le 1er ---------- */
.accordion.wp-block-group>.wp-block-group {
    flex: 0 0 auto;
    transition: all 300ms ease;
    width: 43px;
}

/* Les panneaux inactifs ont leur titre vertical et cachent le texte */
.accordion.wp-block-group>.wp-block-group:not(.active) {
    cursor: pointer;
}

.accordion.wp-block-group>.wp-block-group:not(.active) h3.wp-block-heading {
    writing-mode: vertical-rl;
    text-orientation: mixed;
    white-space: nowrap;
    text-align: center;
}

.accordion.wp-block-group>.wp-block-group figure {
    max-width: 300px;
}

.accordion.wp-block-group>.wp-block-group:not(.active) figure,
.accordion.wp-block-group>.wp-block-group:not(.active) p {
    display: none;
}

/* ---------- Panneau actif ---------- */
.accordion.wp-block-group>.wp-block-group.active {
    flex: 1 1 auto;
    width: 100%;
    padding: 1rem;
}

.accordion.wp-block-group>.wp-block-group.active {
    background-image: linear-gradient(45deg, var(--primary-pastel), color-mix(in srgb, var(--neutral) 20%, transparent));
}

.accordion.wp-block-group>.wp-block-group:nth-child(2).active {
    background-image: linear-gradient(45deg, var(--accent-pastel), color-mix(in srgb, var(--neutral) 20%, transparent));
}

.accordion.wp-block-group>.wp-block-group:nth-child(3).active {
    background-image: linear-gradient(45deg, var(--tertiary-pastel), color-mix(in srgb, var(--neutral) 20%, transparent));
}

.accordion.wp-block-group>.wp-block-group:nth-child(4).active {
    background-image: linear-gradient(45deg, var(--primary-pastel), color-mix(in srgb, var(--neutral) 20%, transparent));
}

.accordion.wp-block-group>.wp-block-group.active h3.wp-block-heading {
    writing-mode: horizontal-tb;
}

.accordion.wp-block-group>.wp-block-group.active figure,
.accordion.wp-block-group>.wp-block-group.active p {
    display: block;
}

/* Accessibilité focus */
.accordion.wp-block-group>.wp-block-group:focus {
    outline: 2px solid currentColor;
    outline-offset: -2px;
}


/* ---- FOOTER ----- */

footer {
    padding: 32px 16px;
}

footer section {
    display: flex;
    flex-wrap: wrap;
    gap: 2rem;
    justify-content: space-between;
}

footer section aside {
    align-items: center;
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    justify-content: center;
}

footer section aside h2 {
    margin: 0;
}

footer section article {
    align-items: center;
    display: flex;
    flex: 1 1 auto;
    justify-content: center;
}

footer section article .container {
    display: flex;
    gap: 2rem;
    justify-content: space-around;
    flex: 1 1 100%;
    flex-wrap: wrap;
}

footer section article .title {
    color: #27ae60;
    font-size: 14px;
    font-family: 'Roboto Mono';
}

footer section article .title:before {
    content: '//';
    margin-right: 0.2rem;
}

footer section article p,
footer section article ul {
    padding: 0;
    color: var(--grey);
}

footer section article p {
    padding-left: 1rem;
    color: #27ae60;
}

/* footer section article p:before, */
footer section article ul:before {
    content: '[';
    display: block;
}

/* footer section article p:after, */
footer section article ul:after {
    content: '];';
    display: block;
}

footer section article p:before {
    content: '/*';
    display: block;
    margin-left: -1rem;
}

footer section article p:after {
    content: '*/';
    display: block;
    margin-left: -1rem;
}

footer section article ul li,
footer section article p {
    font-family: 'Roboto Mono';
    list-style-type: none;
    margin-bottom: 0.5rem;
}

footer section article ul li {
    padding-left: 1rem;
    color: #c0392b;
}

footer section article ul li a {
    color: inherit;
    text-decoration: none;
}

footer section article ul li a:hover {
    text-decoration: underline;
}

footer section article ul li:before {
    content: '"';
    /* margin-right: 0.2rem; */
}

footer section article ul li:after {
    content: '";';
    /* margin-left: 0.2rem; */
}

footer h2 {
    font-weight: bold;
    font-size: 40px;
}

.bottom-bar {
    padding: 32px 16px;
    border-top: 1px solid color-mix(in srgb, var(--primary) 30%, transparent);
}

/* ------MEDIA------ */

@media screen and (max-width: 1100px) {
    .gradient-bg .text h1 {
        width: 75vw;
    }
}

@media screen and (max-width: 781px) {

    nav {
        right: 1rem;
        left: unset;
    }

    nav ul {
        display: none;
    }

    .menu-icon {
        grid-area: hamburger;
        cursor: pointer;
        display: flex;
        justify-content: flex-end;
        align-items: baseline;
        /* padding: 30px 20px 30px 0; */
        padding: 1rem;
        position: relative;
        user-select: none;
        visibility: visible;
    }

    .navicon {
        background: var(--text-color);
        display: block;
        height: 4px;
        width: 24px;
        position: relative;
    }

    .navicon:before {
        top: 8px;
    }

    .navicon:after {
        top: -8px;
    }

    .navicon:before,
    .navicon:after {
        background: var(--text-color);
        display: block;
        width: 100%;
        height: 100%;
        content: "";
        position: absolute;
        transition: all 0.2s ease-out;
    }

    .menu-btn:checked~.menu {
        max-height: 240px;
    }

    .menu-btn:checked~.menu-icon .navicon {
        background: transparent;
    }

    .menu-btn:checked~.menu-icon .navicon:before {
        transform: rotate(-45deg);
    }

    .menu-btn:checked~.menu-icon .navicon:after {
        transform: rotate(45deg);
    }

    .menu-btn:checked~.menu-icon .navicon:before,
    .menu-btn:checked~.menu-icon .navicon:after {
        top: 0;
    }

    h2.wp-block-heading {
        font-size: 2rem;
        text-align: center;
        text-transform: uppercase;
    }

    .users .user {
        justify-content: center;
    }

    .users .user:nth-child(even) {
        flex-wrap: wrap-reverse !important;
    }

    .gradient-bg .text h1 {
        font-size: 2rem;
    }

    .swiss-made {
        display: none;
    }

    /* Mobile : accordéon vertical (panneaux empilés) */
    .accordion.wp-block-group {
        flex-direction: column;
        height: auto;
    }

    .accordion.wp-block-group>.wp-block-group {
        width: 100%;
        height: var(--collapsed);
        min-height: var(--collapsed);
        transition: height 500ms ease;
    }

    /* Le premier (par défaut ouvert) ou le .active prennent la hauteur restante */
    .accordion.wp-block-group>.wp-block-group:first-child,
    .accordion.wp-block-group>.wp-block-group.active {
        height: 100%;
    }

    /* En vertical, on garde les titres horizontaux pour les panneaux fermés */
    .accordion.wp-block-group>.wp-block-group:not(.active):not(:first-child) h3.wp-block-heading {
        writing-mode: horizontal-tb;
        white-space: nowrap;
    }
}

@media screen and (max-width: 479px) {

    footer section article .title {
        text-align: center;
    }

    footer section article li {
        text-align: center;
    }

    footer section article li:before {
        display: none;
    }
}

/* -------- KEYFRAMES ----------*/


@keyframes moveInCircle {
    0% {
        transform: rotate(0deg);
    }

    50% {
        transform: rotate(180deg);
    }

    100% {
        transform: rotate(360deg);
    }
}

@keyframes moveVertical {
    0% {
        transform: translateY(-50%);
    }

    50% {
        transform: translateY(50%);
    }

    100% {
        transform: translateY(-50%);
    }
}

@keyframes moveHorizontal {
    0% {
        transform: translateX(-50%) translateY(-10%);
    }

    50% {
        transform: translateX(50%) translateY(10%);
    }

    100% {
        transform: translateX(-50%) translateY(-10%);
    }
}