@import url('https://fonts.googleapis.com/css2?family=Outfit:wght@100;200;300;400;500;600;700;800;900&display=swap');
@import url('header.css');
@import url('footer.css');
@import url('keyframes.css');
@import url('span.css');
@import url('product.css');
@import url('profile.css');
@import url('legal.css');
:root{
    --darkblue: #0c85d1;
    --blue: #009dff;
    --lightblue: #3bb4ff;
    --darkbg: #303f49;
    --bg: #40535f;
    --lightbg: #7e919c;
    --grey: #e2f4ff;
    --shadow: 0 0 4px rgb(0 0 0 / 40%);
}
*{
    padding: 0;
    margin: 0;
    
    scroll-behavior: smooth;
}
body{
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    font-family: 'Outfit';
}
content{
    display: flex;
    flex-direction: column;
    flex-grow: 1;
}
content > h1{
    margin: 0 20%;
}
hero-bar{
    overflow: hidden;
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    height: 100vh;
    width: 100%;
    background: var(--blue);
    color: #fff;
    z-index: 1;
}
a.triangle{
    cursor: pointer;
    z-index: 999;
    position: absolute;
    left: 50%;
    bottom: 100px;
    display: block;
    border-top: 30px solid #fff;
    border-left: 20px solid transparent;
    border-right: 20px solid transparent;
    animation: moving ease 3s infinite;
    --translated-text: "";
}
a.triangle:after{
    position: absolute;
    display: block;
    bottom: 40px;
    left: 50%;
    content: var(--translated-text);
    width: max-content;
    color: #fff;
    transform: translateX(-50%);
}
@keyframes moving{
    0%{
        transform: translate(-50%, 0);
    }
    50%{
        transform: translate(-50%, 75%);
    }
    100%{
        transform: translate(-50%, 0);
    }
}
hero-bar:after{
    width: 70vw;
    height: 70vw;
    max-width: 600px;
    max-height: 600px;
    border-radius: 35vh;
    display: block;
    content: "";
    position: absolute;
    background: var(--lightblue);
    z-index: 1;
    animation: hero-bottomcircle 5s ease-in-out infinite;
}
hero-bar:before{
    width: 20vw;
    height: 20vw;
    max-width: 300px;
    max-height: 300px;
    border-radius: 10vw;
    display: block;
    content: "";
    position: absolute;
    top: -5vw;
    left: 5vw;
    background: var(--darkblue);
    z-index: 1;
    animation: hero-topcircle 7s ease infinite;
}

.texting h6{
    opacity: 0.2;
}
.texting h5{
    opacity: 0.4;
}
.texting h4{
    opacity: 0.6;
}
.texting h3{
    opacity: 0.8;
}
.texting h1{
    font-weight: bold;
}

@media screen and (max-width: 1200px) {
    hero-bar div h1, hero-bar div h4{
        display: inline;
    }
    grid{
        grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)) !important;
        width: 90% !important;
    }
    grid item{
        max-width: 100%;
        gap: 20px;
        padding: 20px 0;
        aspect-ratio: auto !important;
    }
    *{
        text-align: center;
    }
    .texting{
        display: none;
    }
}
hero-bar div > div:not(.share-link-btn){
    display: flex;
    flex-direction: column;
}
hero-bar div h1{
    font-size: 48px;
}
hero-bar h4{
    font-weight: 300;
}
hero-bar > div{
    z-index: 2;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 20px;
}
content > div.bar{
    padding: 20px 0;
     min-height: 260px;
     display: flex;
     align-items: center;
     justify-content: center;
     gap: 20px;
}
content div.grey-bar{
    background: var(--grey);
}
content h1{
    font-weight: 400;
}
content b{
    font-weight: 900;
}
.blue{
    color: var(--blue);
}
div.logo{
    -webkit-mask-image: url("../img/logo.svg");
    mask-image: url("../img/logo.svg");
    background: #fff;
}
grid{
    display: grid;
    grid-template-columns: repeat(auto-fill, 400px);
    justify-content: center;
    gap: 20px;
    width: 70%;
    margin: 0 auto;
}
.aside-login{
    background: var(--blue);
    width: 400px;
    height: 100%;
}
.title-login{
    font-size: 72px;
    font-weight: 900;
    color: #fff;
}
.box-login{
    width: 325px;
    padding: 40px;
    background: #fff;
    border-radius: 40px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 20px;
    box-shadow: var(--shadow);
}
.box-login form{
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 10px;
    width: 100%;
}
.box-login form input:not([type=submit]){
    border: 2px solid #d7dde0;
    padding: 10px 15px;
    width: 100%;
    outline: 0;
    border-radius: 5px;
    transition: 0.2s border-color;
}
.box-login form input:not([type=submit]):hover, .box-login form input:not([type=submit]):focus, .box-login form input:not([type=submit]):not(:placeholder-shown){
    border-color: var(--blue);
}
.box-login form input[type=submit]{
    border: none;
    padding: 10px 15px;
    margin-top: 10px;
    width: 100%;
    outline: 0;
    border-radius: 40px;
    background: var(--blue);
    color: #fff;
    font-weight: 900;
    transition: 0.2s background;
}
.box-login form input[type=submit]:hover{
    background: var(--darkbg);
}
.box-login .name{
    display: flex;
    align-items: center;
    gap: 10px;
    color: var(--blue);
}
.box-login .name h1{
    font-weight: 900;
    font-size: 48px;
}
.box-login .logo{
    width: 64px;
    height: 64px;
    background: var(--blue);
}
div.bar.partner{
    flex-direction: column;
}
div.partner:not(.bar){
    width: 100%;
    height: 100%;
    display: grid;
    grid-template-columns: repeat(auto-fit, 200px);
    justify-content: center;
    gap: 20px;
}
a.partner{
    text-decoration: none;
}
a.partner span{
    display: flex;
    flex-direction: column;
    width: 200px;
    text-align: center;
    gap: 15px;
}
a.partner span img{
    width: 100%;
    aspect-ratio: 1;
    border-radius: 5px;
    background-color: var(--blue);
}
a.partner span p{
    text-align: center;
    font-weight: 700;
    font-size: 24px;
    color: var(--blue) !important;
}
div.code{
    background: var(--darkbg);
    padding: 10px;
    border-radius: 10px;
    color: #fff;
}
box-info{
    color: #fff;
    background: var(--lightblue);
    overflow: hidden;
    border-radius: 5px;
    min-width: 200px;
}
box-info a{
    color: currentColor;
}
box-info h1{
    display: flex;
    justify-content: center;
    align-items: center;
    line-height: 1;
    font-weight: 900;
    padding: 20px;
}
box-info h2{
    display: flex;
    justify-content: center;
    align-items: center;
    line-height: 1;
    font-size: 20px;
    padding: 10px 20px;
    background: var(--blue);
}
div.grid-box{
    margin: 0 20px;
    display: grid;
    gap: 20px;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
}
div.table{
    width: 90%;
    margin: 0 auto;
    overflow-x: auto;
}
table.profile{
    border-collapse: separate;
    text-align: left;
    width: calc(100% - 16px);
    margin: 10px 8px;
    border-spacing: 0 10px;
}
table.profile th{
    padding: 1rem 2rem;
    text-transform: uppercase;
    text-align: center;  
}
table.profile tr:first-child th{
    font-weight: 400;
}
table.profile tr:first-child{
    color: var(--lightbg);
}
table.profile tr:not(:first-child){
    margin-top: 5px;
    border-radius: 10px;
    transition: 0.5s box-shadow;
    background: var(--grey);
}
table.profile tr:not(:first-child) th:first-child{
    border-radius: 10px 0 0 10px;
}
table.profile tr:not(:first-child) th:last-child{
    border-radius: 0 10px 10px 0; 
}
table.profile tr:not(:first-child):hover{
    box-shadow: 0 8px 8px rgb(0 0 0 / 10%);
}
table.profile th span[type=PAIED]{
    margin: 0 auto;
    display: block;
    padding: 5px;
    border-radius: 5px;
    color: #fff;
    width: fit-content;
    background: var(--blue);
}
table.profile th span[type=PAIED] a{
    color: currentColor;
}
table.profile tr.tableRowButton{
    position: relative;
}
table.profile tr.tableRowButton:after{
    border-radius: 10px;
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0; top: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    background: var(--blue);
    content: 'Afficher';
    opacity: 0;
    font-weight: 800;
    color: #fff;
    transition: 0.2s opacity;
    cursor: pointer;
}
table.profile tr.tableRowButton:hover:after{
    opacity: 1;
}
div.share-link-btn{
    display: flex;
    gap: 20px;
}
hero-bar div.share-link-btn a{
    padding: 10px;
    border-radius: 10px;
    background: #fff;
    color: var(--blue);
    width: 32px;
    height: 32px;
    display: flex;
    justify-content: center;
    align-items: center;
    transition: 0.2s color;
}
hero-bar div.share-link-btn a:hover{
    color: var(--darkblue);
}
.cookie-banner{
    position: fixed;
    display: flex;
    gap: 10px;
    flex-direction: column;
    align-items: flex-end;
    left: 20px;
    bottom: 20px;
    background-color: #fff;
    border-radius: 20px;
    padding: 10px;
    z-index: 9999;
    box-shadow: var(--shadow);
}
.cookie-banner hr{
    width: 100%;
    border: none;
    border-top: 1px solid #d9d9d9;
}
.cookie-banner .js-cookie-dismiss{
    color: #fff;
    background: var(--blue);
    padding: 10px 20px;
    border: none;
    transition: 0.2s all;
    font-weight: 700;
    width: fit-content;
    border-radius: 40px;
}
.cookie-banner .js-cookie-dismiss:hover{
    cursor: pointer;
    background: var(--darkblue);
}
.js-cookie-banner.move-out{
    animation: 1s move-out ease;
}
@keyframes move-out {
    to {
        left: 0;
        transform: translateX(-100%);
    }
}
.divider-top {
    width: 100%;
    overflow: hidden;
    line-height: 0;
    background: var(--grey);
}

.divider-top svg {
    position: relative;
    display: block;
    width: calc(100% + 1.3px);
    height: 110px;
}

.divider-top .shape-fill {
    fill: #009DFF;
}
div.form form{
    width: 100%;
    margin: 0 auto;
    display: flex;
    gap: 20px;
    flex-direction: column;
}
div.form-selector{
    margin: 0 20px;
    margin-top: 20px;
    flex-grow: 1;
    display: flex;
    gap: 20px;
    flex-wrap: wrap;
}
div.form{
    min-width: 280px;
    display: flex;
    flex-direction: column;
    gap: 20px;
    flex-grow: 1;
}
@media screen and (max-width: 1200px) {
    div.form-selector{
        flex-direction: column;
    }
}
div.form form input[type=submit]{
    border: none;
    padding: 10px 15px;
    width: 100%;
    outline: 0;
    border-radius: 40px;
    background: var(--blue);
    color: #fff;
    font-weight: 900;
    transition: 0.2s background;
}
div.form form input[type=submit]:hover{
    background: var(--darkbg);
}
div.form form input:not([type=submit]){
    border: 2px solid #d7dde0;
    padding: 10px 15px;
    width: 100%;
    outline: 0;
    border-radius: 5px;
    transition: 0.2s border-color;
}
div.form form input:not([type=submit]):hover, div.form form input:not([type=submit]):focus, div.form form input:not([type=submit]):not(:placeholder-shown){
    border-color: var(--blue);
}
.form{
    display: flex;
    gap: 20px;
}
.form input[type=submit]{
    border: none;
    padding: 10px 15px;
    outline: 0;
    border-radius: 40px;
    background: var(--blue);
    color: #fff;
    font-weight: 900;
    transition: 0.2s background;
}
.form input[type=submit]:hover{
    background: var(--darkbg);
}
.form input:not([type=submit]){
    border: 2px solid #d7dde0;
    padding: 10px 15px;
    outline: 0;
    border-radius: 5px;
    transition: 0.2s border-color;
}
.form input:not([type=submit]):hover, .form input:not([type=submit]):focus, .form input:not([type=submit]):not(:placeholder-shown){
    border-color: var(--blue);
}
profile-box{
    display: flex;
    flex-direction: column;
    background: var(--lightblue);
    width: 50px;
    padding: 10px;
    border-radius: 60px;
    gap: 10px;
}
profile-box button{
    border-radius: 25px;
    border: none;
    background: transparent;
    width: 50px;
    height: 50px;
}
profile-box button svg{
    fill: var(--blue);
    width: 30px;
    height: 30px;
}
profile-box button:hover{
    background: var(--blue);
}
profile-box button:hover svg{
    fill: #fff;
}
content a.btn{
    background: var(--blue);
    padding: 10px 20px;
    border-radius: 25px;
    color: #fff;
    transition: 0.2s background;
}
content a.btn:hover{
    background: var(--darkblue);
    padding: 10px 20px;
    border-radius: 25px;
    color: #fff;
}
hr{
    width: 90%; border: none; border-bottom: 1px solid #e5e5e5; margin: 20px auto;
}