@import url('https://fonts.googleapis.com/css2?family=Roboto+Condensed:wght@700&family=Roboto:ital,wdth,wght@0,75..100,100..900;1,75..100,100..900&display=swap');

/*
// <weight>: Use a value from 100 to 900
// <width>: Use a value from 75 to 100
// <uniquifier>: Use a unique and descriptive class name

    .roboto-<uniquifier> {
         font-family: "Roboto", sans-serif;
         font-optical-sizing: auto;
         font-weight: <weight>;
         font-style: normal;
         font-variation-settings:
         "wdth" <width>;
     }

 // <uniquifier>: Use a unique and descriptive class name

    .roboto-condensed-<uniquifier> {
      font-family: "Roboto Condensed", sans-serif;
      font-optical-sizing: auto;
      font-weight: 700;
      font-style: normal;
    }
*/

@font-face {
    font-family: 'pp_formulamedium';
    src: url('../font/ppformula-medium.woff2') format('woff2'),
    url('../font/ppformula-medium.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}
@font-face {
    font-family: 'pp_formulaextrabold';
    src: url('../font/ppformula-extrabold.woff2') format('woff2'),
    url('../font/ppformula-extrabold.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}

:root{
    --primary-color: #FFD500;
    --secondary-color:#00A0E8;
    --third-color:#AB338A;
    --third-color-dark: #8c136a;
    --dark-color:#010001;
    --light-color:#ffffff;
}

::selection {
    background: var(--secondary-color); /* WebKit/Blink Browsers */
    color: var(--light-color);
}
::-moz-selection {
    background: var(--secondary-color); /* Gecko Browsers */
    color: var(--light-color);
}

body{
    background-color: var(--light-color);
    color: var(--dark-color);
    font-family: "Roboto", sans-serif;
    font-weight: 300;
    font-style: normal;
}

h1 {
    font-family: 'pp_formulaextrabold';
    font-size: 36px;
    line-height: 1.2;
    text-shadow: rgb(255, 255, 255) 4px 0px 0px, rgb(255, 255, 255) 3.87565px 0.989616px 0px, rgb(255, 255, 255) 3.51033px 1.9177px 0px, rgb(255, 255, 255) 2.92676px 2.72656px 0px, rgb(255, 255, 255) 2.16121px 3.36588px 0px, rgb(255, 255, 255) 1.26129px 3.79594px 0px, rgb(255, 255, 255) 0.282949px 3.98998px 0px, rgb(255, 255, 255) -0.712984px 3.93594px 0px, rgb(255, 255, 255) -1.66459px 3.63719px 0px, rgb(255, 255, 255) -2.51269px 3.11229px 0px, rgb(255, 255, 255) -3.20457px 2.39389px 0px, rgb(255, 255, 255) -3.69721px 1.52664px 0px, rgb(255, 255, 255) -3.95997px 0.56448px 0px, rgb(255, 255, 255) -3.97652px -0.432781px 0px, rgb(255, 255, 255) -3.74583px -1.40313px 0px, rgb(255, 255, 255) -3.28224px -2.28625px 0px, rgb(255, 255, 255) -2.61457px -3.02721px 0px, rgb(255, 255, 255) -1.78435px -3.57996px 0px, rgb(255, 255, 255) -0.843183px -3.91012px 0px, rgb(255, 255, 255) 0.150409px -3.99717px 0px, rgb(255, 255, 255) 1.13465px -3.8357px 0px, rgb(255, 255, 255) 2.04834px -3.43574px 0px, rgb(255, 255, 255) 2.83468px -2.82216px 0px, rgb(255, 255, 255) 3.44477px -2.03312px 0px, rgb(255, 255, 255) 3.84068px -1.11766px 0px, rgb(255, 255, 255) 3.9978px -0.132717px 0px;
    margin: 0;
    padding: 0;
    text-transform: uppercase;
}

h1 span {
    background: linear-gradient(
            to top,
            transparent 20%,            /* partie transparente : haut du texte */
            var(--primary-color) 20%   /* partie colorée : bas du texte */
    );
    -webkit-box-decoration-break: clone;
    box-decoration-break: clone;
    padding: 0;
}
@media only screen and (max-width: 640px) {
    h1 {
        font-family: 'pp_formulaextrabold';
        font-size: 28px;
        line-height: 1.2;
        text-shadow: rgb(255, 255, 255) 3px 0px 0px, rgb(255, 255, 255) 2.83487px 0.981584px 0px, rgb(255, 255, 255) 2.35766px 1.85511px 0px, rgb(255, 255, 255) 1.62091px 2.52441px 0px, rgb(255, 255, 255) 0.705713px 2.91581px 0px, rgb(255, 255, 255) -0.287171px 2.98622px 0px, rgb(255, 255, 255) -1.24844px 2.72789px 0px, rgb(255, 255, 255) -2.07227px 2.16926px 0px, rgb(255, 255, 255) -2.66798px 1.37182px 0px, rgb(255, 255, 255) -2.96998px 0.42336px 0px, rgb(255, 255, 255) -2.94502px -0.571704px 0px, rgb(255, 255, 255) -2.59586px -1.50383px 0px, rgb(255, 255, 255) -1.96093px -2.27041px 0px, rgb(255, 255, 255) -1.11013px -2.78704px 0px, rgb(255, 255, 255) -0.137119px -2.99686px 0px, rgb(255, 255, 255) 0.850987px -2.87677px 0px, rgb(255, 255, 255) 1.74541px -2.43999px 0px, rgb(255, 255, 255) 2.44769px -1.73459px 0px, rgb(255, 255, 255) 2.88051px -0.838247px 0px;        margin: 0;
        padding: 0;
        text-transform: uppercase;
    }
}




a{
    color: var(--primary-color);
}

a.crypted:after {
    content: attr(data-name) "@" attr(data-domain) "." attr(data-tld);
}



/***** BUTTON - START *****/

.uk-button {
    font-family: 'pp_formulaextrabold';
    border-radius: 60px;
    padding:  14px 25px 10px 25px;
    font-size: 14px;
    line-height: 1.2;
    text-align: center;
}
.uk-button-third {
    background-color: var(--third-color);
    color: var(--light-color);
    border: 2px solid transparent;
}
.uk-button-third:hover {
    background-color: var(--third-color-dark);
    color: var(--light-color);
    border: 2px solid transparent;
}

.uk-button-default.yellow {
    background-color: transparent;
    color: var(--primary-color);
    border: 2px solid var(--primary-color);
}
.uk-button-default.yellow:hover {
    background-color: var(--primary-color);
    color: var(--dark-color);
    border: 2px solid var(--primary-color);
}

/***** BUTTON - END *****/


/***** HERO - START *****/

.main-container {
    position: relative;
    perspective: 1000px;
    height: 100vh;
}
.yellow-shape, .blue-shape {
    min-width: 2000px;
    position: absolute;
    transform-origin: center;
    opacity: 0;
    animation: layerIntro .9s cubic-bezier(.22,.8,.2,0) forwards;
    will-change: transform, opacity;
    pointer-events: none; /* important : laisse passer la souris au parent */
}
.yellow-shape *, .blue-shape * { pointer-events: none; }
.yellow-shape { bottom: -200px; right: -200px; animation-delay: .05s; }
.blue-shape { bottom: -450px; right: -150px; animation-delay: .15s; }
.shape1, .shape2 {
    fill: none;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.2px;
    vector-effect: non-scaling-stroke;
    opacity: 0;
    animation: pathIntro .9s ease-out .1s forwards;
}

.shape1 { stroke: #ffd500; }
.shape2 { stroke: #00a0e8; }

.main-container .logo svg{
    width: 400px;
    height: auto;
}

.logo .black {
    fill: var(--dark-color);
}
.logo .white{
    fill: var(--light-color);
}
.logo .yellow{
    fill: var(--primary-color);
}


.logo .date {
    font-family: 'pp_formulaextrabold';
    font-size: 18px;
    line-height: 1.2;
    text-shadow: rgb(255, 255, 255) 2px 0px 0px, rgb(255, 255, 255) 1.75517px 0.958851px 0px, rgb(255, 255, 255) 1.0806px 1.68294px 0px, rgb(255, 255, 255) 0.141474px 1.99499px 0px, rgb(255, 255, 255) -0.832294px 1.81859px 0px, rgb(255, 255, 255) -1.60229px 1.19694px 0px, rgb(255, 255, 255) -1.97998px 0.28224px 0px, rgb(255, 255, 255) -1.87291px -0.701566px 0px, rgb(255, 255, 255) -1.30729px -1.5136px 0px, rgb(255, 255, 255) -0.421592px -1.95506px 0px, rgb(255, 255, 255) 0.567324px -1.91785px 0px, rgb(255, 255, 255) 1.41734px -1.41108px 0px, rgb(255, 255, 255) 1.92034px -0.558831px 0px;    margin: 0;
    padding: 0;
    text-transform: uppercase;
}

.logo .date span {
    background: linear-gradient(
            to top,
            transparent 20%,            /* partie transparente : haut du texte */
            var(--primary-color) 20%   /* partie colorée : bas du texte */
    );
    -webkit-box-decoration-break: clone;
    box-decoration-break: clone;
    padding: 0;
}



@keyframes layerIntro {
    from { opacity: 0; }
    to   { opacity: 1; }
}
@keyframes pathIntro { from{opacity:0} to{opacity:1} }

@media (prefers-reduced-motion: reduce) {
    .yellow-shape, .blue-shape, .shape1, .shape2 {
        animation: none !important;
        opacity: 1 !important;
        transform: none !important;
    }
}

.main-container .uk-position-top .uk-grid{
    height: 90px;
}
.main-container .slogan{
    font-family: "Roboto Condensed", sans-serif;
    font-optical-sizing: auto;
    font-weight: 700;
    font-style: normal;
    font-size: 18px;
    line-height: 1.2;
    text-transform: uppercase;
}
.main-container .uk-icon-button {
    font-size: 20px;
    width: 44px;
    height: 44px;
    background: var(--third-color);
    color: var(--light-color);
    rotate: -10deg;
}
.main-container .uk-icon-button:hover {
    background: var(--third-color-dark);
    color: var(--light-color);
    text-decoration: none;
}

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

    .yellow-shape, .blue-shape {
        min-width: 1900px;
        position: absolute;
        transform-origin: center;
        opacity: 0;
        animation: layerIntro .9s cubic-bezier(.22,.8,.2,0) forwards;
        will-change: transform, opacity;
        pointer-events: none; /* important : laisse passer la souris au parent */
    }
    .yellow-shape *, .blue-shape * { pointer-events: none; }
    .yellow-shape { bottom: -130px; right: -180px; animation-delay: .05s; }
    .blue-shape { bottom: -420px; right: -300px; animation-delay: .15s; }
    .shape1, .shape2 {
        fill: none;
        stroke-linecap: round;
        stroke-linejoin: round;
        stroke-width: 1.15px;
        vector-effect: non-scaling-stroke;
        opacity: 0;
        animation: pathIntro .9s ease-out .1s forwards;
    }

    .main-container .logo svg{
        width: 300px;
        height: auto;
    }
    .main-container .slogan{
        font-size: 14px;
    }
}

/* états initiaux posés par JS avant visibilité */
.svg-prep-slide { opacity: 0; transform: translateY(10px); }
.svg-prep-fade  { opacity: 0; }

/* état révélé */
.svg-show { opacity: 1; transform: none; transition: opacity .5s ease, transform .5s ease; }


/* Respecte reduce-motion */
@media (prefers-reduced-motion: reduce){
    .svg-prep-slide,
    .svg-prep-fade{
        transition:none !important;
        opacity:1 !important;
        transform:none !important;
    }
}

/***** HERO - END *****/

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

.footer{
    background-color: var(--dark-color);
    color: var(--light-color);
    font-size: 14px;
}

.footer .social a{
    font-size: 32px;
    color: var(--light-color);
    margin: 0 7px;
}
.footer .social a:hover{
    color: var(--primary-color);
}

.footer .uk-navbar-nav>li>a {
    display: flex;
    justify-content: center;
    align-items: center;
    column-gap: .25em;
    box-sizing: border-box;
    min-height: 0;
    font-size: 12px;
    font-family: 'pp_formulamedium';
    text-decoration: none;
    color: var(--light-color);
}
.footer .uk-navbar-nav>li>a:hover {
    color: var(--primary-color);
}

.footer .credits a{
    font-weight: 500;
    text-transform: uppercase;
}
.footer .credits a:hover{
    color: var(--primary-color);
    text-decoration: underline;
}

@media only screen and (max-width: 960px) {
    .footer .uk-navbar-nav {
        display: block;
        gap: 0;
        margin: 0;
        padding: 0;
        list-style: none;
    }
    .footer .uk-navbar-nav>li>a{
        padding: 5px 0;
    }
}

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

/***** MENU-STICKY - START *****/

.menu-sticky{
    background: rgba(255,255,255,.9);
}
.menu-sticky.uk-sticky{
    margin-top: -80px;
}
.menu-sticky .uk-container{
    height: 80px;
}
.menu-sticky .logo svg{
    height: 60px;
    width: auto;
    margin: 10px 0;
}
.menu-sticky .slogan{
    font-family: "Roboto Condensed", sans-serif;
    font-optical-sizing: auto;
    font-weight: 700;
    font-style: normal;
    font-size: 16px;
    line-height: 1.4;
    text-transform: uppercase;
    margin-left: 20px;
}
.menu-sticky .uk-icon-button {
    font-size: 20px;
    width: 44px;
    height: 44px;
    background: var(--third-color);
    color: var(--light-color);
    rotate: -10deg;
}
.menu-sticky .uk-icon-button:hover {
    background: var(--third-color-dark);
    color: var(--light-color);
    text-decoration: none;
}

/***** MENU-STICKY - END *****/

/***** MENU-TOP - START *****/

.menu-top .logo svg{
    height: 70px;
    width: auto;
    margin: 10px 0;
}

.menu-top .menu-shape svg{
    max-width: 740px;
    fill: none;
    stroke: #00a0e8;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.2px;
}
.menu-top h1{
    position: relative;
    margin: 150px 0 50px 0;
    display: block;
}
.menu-top .slogan{
    font-family: "Roboto Condensed", sans-serif;
    font-optical-sizing: auto;
    font-weight: 700;
    font-style: normal;
    font-size: 16px;
    line-height: 1.4;
    text-transform: uppercase;
    margin: 10px 0 0 20px;
}
.menu-top .uk-icon-button {
    font-size: 20px;
    width: 44px;
    height: 44px;
    background: var(--third-color);
    color: var(--light-color);
    rotate: -10deg;
}
.menu-top .uk-icon-button:hover {
    background: var(--third-color-dark);
    color: var(--light-color);
    text-decoration: none;
}

@media only screen and (max-width: 960px) {
    .menu-top .menu-shape svg{
        max-width: 90%;
        fill: none;
        stroke: #00a0e8;
        stroke-linecap: round;
        stroke-linejoin: round;
        stroke-width: 1px;
    }
    .menu-top h1{
        position: relative;
        margin: 150px 0 50px 0;
        display: block;
        z-index: 9999;
    }
}
@media only screen and (max-width: 640px) {
    .menu-top .menu-shape svg{
        max-width: 90%;
        fill: none;
        stroke: #00a0e8;
        stroke-linecap: round;
        stroke-linejoin: round;
        stroke-width: 0.9px;
    }
    .menu-top h1{
        position: relative;
        margin: 120px 0 50px 0;
        display: block;
        z-index: 9999;
    }
}

/***** MENU-TOP - END *****/

/***** PAGE - STRAT *****/

.page a {
    /* RESET */
    text-decoration: none;
    line-height: 1;
    position: relative;
    z-index: 0;
    display: inline-block;
    padding: 5px 5px;
    overflow: hidden;
    color: var(--dark-color);
    vertical-align: bottom;
    transition: color .3s ease-out;
    font-weight: 400;
}
.page a::before {
    content: "";
    position: absolute;
    z-index: -1;
    top: 0;
    left: 0;
    transform: translateY(calc(100% - 2px));
    width: 100%;
    height: 100%;
    background-image: linear-gradient(60deg, var(--primary-color) 0%, var(--primary-color) 100%);
    transition: transform .25s ease-out;
}
.page a:hover {
    color: var(--dark-color);
    text-decoration: none;
}
.page a:hover::before {
    transform: translateY(0);
    transition: transform .25s ease-out;
}

/***** PAGE - END *****/