body{
    font-family: "LaNord-Regular";
    margin:0;
    font-size: 13px;
    background-color: black;
}

#menu {
    font-size: 20px;
    top: 0;
    position: fixed;
    width: calc(100vw - 20px);
    background-color: white;
    border-bottom: 1px solid lightgray;
    z-index: 1000;
    padding: 0px 10px 0px 10px;
    height: 30px;
    display: flex;
    align-items: stretch; /* Pour que les enfants occupent toute la hauteur */
}

.menu_logo {
    display: flex;
    align-items: center;
    padding-right: 10px; /* <- l'espace souhaité */
    margin-right: 0px;  /* ou une marge si tu préfères */
    font-size: 20px;
    color: black;
    text-decoration: none;
    height: 100%;
    border-right: 1px solid lightgray;
}

#menu_ligne_2 {
    display: flex;
    height: 100%;
}

.menu_app {
    display: flex;
    align-items: center;
    color: black;
    font-size: 20px;
    padding: 0 10px 0 10px;
    margin: 0;
    border-right: 1px solid lightgray;
    height: 30px;
    white-space: nowrap;
    background-color:white;
    flex: 0 1 auto; /* ne grandit pas, peut rétrécir si nécessaire */
}

.menu_app:hover {
    background-color:#f2f2f2;
}

.menu_buy {
    display: flex;
    align-items: center;
    justify-content: center;
    height: calc(100% - 16px); /* réduit la hauteur de 10px */
    margin: 8px 0 8px 10px;     /* haut, droite, bas, gauche */
    border: 1px solid #3b99fc;
    color: #3b99fc;
    border-radius: 5px;
    font-size: 10px;
    padding: 0 8px;
    background-color: white;
    box-sizing: border-box;
}

.menu_buy:hover {
    color:white;
    background-color: #3b99fc;
}

.menu_installation{
    display: flex;
    align-items: center;
    justify-content: center;
    height: calc(100% - 16px); /* réduit la hauteur de 10px */
    margin: 8px 0 8px 10px;     /* haut, droite, bas, gauche */
    border: 1px solid rgb(228, 93, 80);
    color: rgb(228, 93, 80);
    border-radius: 5px;
    font-size: 10px;
    padding: 0 8px;
    background-color: white;
    box-sizing: border-box;
}

.menu_installation:hover {
    color:white;
    background-color: rgb(228, 93, 80);
}

.menu_gallery{
    display: flex;
    align-items: center;
    justify-content: center;
    height: calc(100% - 16px); /* réduit la hauteur de 10px */
    margin: 8px 0 8px 10px;     /* haut, droite, bas, gauche */
    border: 1px solid black;
    color: black;
    border-radius: 5px;
    font-size: 10px;
    padding: 0 8px;
    background-color: white;
    box-sizing: border-box;
}

.menu_gallery:hover {
    color:white;
    background-color: black;
}

/*Language FR/EN*/

#cb_language{
    display:none;
}

#language{
    display: flex;
    align-items: center;
    position:absolute;
    right:10px;
    cursor:pointer;
    font-size: 20px;
    height: 100%;
}

#language:hover{
    color:#3b99fc;
}

.fr{
    display:none;
}

.en{
    display:inline;
}

/*Footer*/

.footer{
    display: flex;
    align-items: center;
    float:left;
    position: relative;
    margin:0;
    padding:0 10px 0 10px;
    width:calc(100% - 20px);
    background-color: white;
    color:black;
    height:30px;
}

.footer_about{
    justify-content: center;
    height: calc(100% - 16px); /* réduit la hauteur de 10px */
    margin: 0px;     /* haut, droite, bas, gauche */
    border: 1px solid black;
    color: black;
    border-radius: 5px;
    font-size: 10px;
    padding: 0 8px;
    background-color: white;
    text-decoration:none;
}

.footer a{
    text-decoration: none;
}

.footer_about:hover{
    color: white;
    background-color: black;
}

.footer_picto{
    position: relative;
    width:20px;
    height:20px;
    vertical-align: middle;
}

.footer_picto:hover{
    filter: invert(48%) sepia(80%) saturate(2061%) hue-rotate(192deg) brightness(103%) contrast(97%);
}

.footer_left{
    float: left;
    position: absolute;
    left:10px;
}

.footer_right{
    float: left;
    position: absolute;
    right:10px;
}



















.div_gauche_droite {
    display: flex;
    width: 100%;
    gap: 10px; /* Espace entre les deux colonnes */
}

.div_gauche, .div_droite {
    width: 50%;
    padding: 0;
    box-sizing: border-box;
}

.div_gauche img, .div_droite img {
    width: 100%;
    height: auto;
    display: block;
}
























.red{
    color:rgb(228, 93, 80);
}




.gallery_container{
    display: flex;
    flex-wrap: wrap;
    gap: 1px;
    padding: 1px;
    background: white;
    border-bottom:1px solid lightgray;
}

.gallery_img{
    object-fit: cover;
    width: calc((100vw - 7px) / 6);
    height: calc((100vw - 7px) / 6);
    vertical-align: middle;
    border-radius: 0px;
    cursor:pointer;
}

.gallery_big_img {
    width: calc((((100vw - 7px) / 6) * 3) + 2px);
    height: auto;
}

.footer a{
    padding:0 10px 0 0;
}

.icon{
    width:20px;
    margin-right:10px;
}



p{
    margin:0;
    padding:0;
}

.over{
    display: block;
    /*height:calc(34vw - 23px);*/
    height:auto;
    overflow:none;
    padding-right:0px;
}

/*
.over::-webkit-scrollbar {
    width: 3px;
}

.over::-webkit-scrollbar-thumb {
    background-color: black;
    background-clip: content-box;
}
*/

.black{
    font-family: "LaNord-Bold";
}

.bug1{
    border:1px solid rgb(133,117,85);
    padding:0 6px 0 6px;
    border-radius: 5px;
    font-size: 10px;
}

.div_bug{
    border:1px solid rgb(133,117,85);
    color:rgb(133,117,85);
    padding:6px;
    border-radius: 5px;
    font-size: 10px;
}

.java{
    border:1px solid #3b99fc;
    padding:0 6px 0 6px;
    color:#3b99fc;
    border-radius: 5px;
    font-size: 10px;
}

.java_list{
    border:1px solid #3b99fc;
    padding:0 6px 0 6px;
    color:#3b99fc;
    border-radius: 5px;
    font-size: 10px;
    display:inline-table; /* Ajuste la largeur à celle du contenu */
    font-variant-numeric: tabular-nums;
}

.nbr{
    padding:0;
    color:rgb(133,117,85);
    font-size: 10px;
    font-variant-numeric: tabular-nums;
}

.new {
    float:right;
    margin-right: 0px;
    border: 1px solid #3b99fc;
    padding:1.5pt 1pt 0.5pt 1pt;
    color: white;
    background-color: #3b99fc;
    font-size: 5pt;
    border-radius: 10px;
    width: 10px;
    height: 10px;
    text-align: center;
    flex-shrink: 0;
}

.underline{
    text-decoration: underline;
}

.section_title {
    position: relative;
    display: flex;
    align-items: center;         /* centre verticalement */
    justify-content: center;     /* centre horizontalement */
    margin-top: 31px;
    padding: 0px 5px 5px 5px;
    height: 70px;
    background-color: white;
    text-align: center;
    width: calc(100vw - 10px);
    border-bottom: 1px solid lightgray;
}

.title_1{
    position:relative;
    font-size: 40px;
}

.section_cols{
    float:left;
    position: relative;
    margin:0;
    padding:5px;
    background-color: white;
    border-bottom:1px solid lightgray;
    width:calc(100vw - 10px);
}

.section_cols_full{
    height:100vh;
    background-color: #f2f2f2;
}

.section_intro_img{
    position:relative;
    float:left;
    width:100vw;
    height:calc(100vh - 61px);
    background-image: url(../img/intro.png);
    background-position: center;
    background-size: cover;
    margin-top:30px;
    border-bottom:1px solid lightgray;
}

.section_st_img{
    float:left;
    width:100vw;
    height:100vh;
    background-image: url(../img/st/st_interface_flou.png);
    background-position: center;
    background-size: cover;
    border-bottom:1px solid lightgray;
}

.section_cr_img{
    float:left;
    width:100vw;
    height:100vh;
    background-image: url(../img/cr/cr_interface_flou.png);
    background-position: center;
    background-size: cover;
    border-bottom:1px solid lightgray;
}

.section_dr_img{
    float:left;
    width:100vw;
    height:100vh;
    background-image: url(../img/dr/dr_interface_flou.png);
    background-position: center;
    background-size: cover;
    border-bottom:1px solid lightgray;
}

.section_pt_img{
    float:left;
    width:100vw;
    height:100vh;
    background-image: url(../img/pt/pt_interface_flou.png);
    background-position: center;
    background-size: cover;
    border-bottom:1px solid lightgray;
}

.section_collection_st_img{
    float:left;
    width:calc(50vw - 1px);
    height:50vh;
    background-image: url(../img/st/st_interface_flou.png);
    background-position: center;
    background-size: cover;
}

.section_collection_cr_img{
    float:left;
    width:50vw;
    height:50vh;
    background-image: url(../img/cr/cr_interface_flou.png);
    background-position: center;
    background-size: cover;
    border-left:1px solid white;
}

.section_download{
    float:left;
    width:calc(100vw - 40px);
    padding:0 20px 20px 20px;
    background-color: white;
}

.div-line{
    float:left;
    width:100vw;
    border-top:1px solid black;
}

.col_0 {
    display: flex;
    justify-content: center; /* Centre horizontalement */
    align-items: center;     /* Centre verticalement */
    position:relative;
    width:calc(100% - 20px);
    float:left;
    padding:10px;
}

.download {
    display: flex;
    justify-content: center; /* Centre horizontalement */
    align-items: center;     /* Centre verticalement */
    width: calc(100% - 40px);
    height: 100%;
    background-color: #f2f2f2;
    border-radius: 5px;
    text-align: center;
    padding: 20px;
}

.download_1 {
    display: flex;
    flex-direction: column;  /* Dispose les éléments en colonne */
    align-items: center;     /* Centre les éléments horizontalement */
    padding: 20px;           /* Optionnel, pour ajouter un peu de padding */
}

.download_row {
    display: flex;
    justify-content: center; /* Centre les enfants horizontalement */
    align-items: center;     /* Centre les enfants verticalement */
    width: 100%;             /* Prend toute la largeur du parent */
    margin-bottom: 20px;     /* Ajoute un espace en bas pour séparer de l'image */
}

.download_2 {
    text-align: center;
    margin: 0 20px 0 20px;            /* Optionnel, pour espacer les éléments */
}

.justify_price{
    position:absolute;
    left: 120px;
}

.download_page{
    width:100%;
    position:absolute;
    background-color: #f2f2f2;
}

.download_page_flex{
    position:relative;
    text-align: center;
    max-width:400px;
    margin-left:auto;
    margin-right:auto;
    margin-top:50px;
    margin-bottom:50px;
}

.intro_flex{
    text-align: center;
    position:absolute;
    top:calc(50vh - 45px);
    left:50%;
    width:700px;
    max-width:100%;
    transform: translateX(-50%) translateY(-50%);
    margin:0;
    padding:0;
    display:flex;
}

.col_intro{
    width:350px;
    float:left;
}

.title_intro{
    font-size: 20px;
    text-align: center;
    color:white;
}

.title_intro_p{
    font-size: 13px;
    text-align: center;
    color:white;
    /*font-style: italic;*/
}

.title_2{
    font-size: 20px;
}

.title_2_tab{
    font-size: 20px;
    margin-left:40px;
}

li{
    padding-left:0px;
}

ol{
    list-style-type: disc;
    margin:0;
    padding:0 0 0 16px;
}

ul{
    list-style-type: disc;
    margin:0;
    padding:0 0 0 7px;
    list-style-type: "–";
    list-style-position: outside;
}

ul li{
    padding-left:10px;
}

code{
    color:rgb(133,117,85);
}

code li{
    margin-left:-1px;
}

.gold{
    color:rgb(133,117,85);
}

.num_chapter{
    float:left;
    position:absolute;
    left:5px;
}

.col_1{
    position:relative;
    width:calc(calc(100% / 6) - 10px);
    float:left;
    padding:5px 5px 5px 5px;
}

.col_1 p{
    font-size:20px;
}

.col_2{
    position:relative;
    width:calc(calc(calc(100% / 6) * 2) - 10px);
    float:left;
    padding:5px;
    height:calc(100% - 40px);
}

.checkout{
    width:calc(100% - 80px);
    text-align: center;
    padding:40px;
    background-color: #f2f2f2;
    border-radius:5px;
    height:calc(100% - 50px);
    margin-top:0px;
}

.checkout_student{
    width:calc(100% - 80px);
    text-align: center;
    padding:40px;
    background-color: #f2f2f2;
    border-radius: 5px;
    min-height:calc(100vh - 239px);
    margin-top:0px;
}

.col_3{
    position:relative;
    width:calc(50% - 10px);
    float:left;
    padding:5px;
}

.col_4{
    position:relative;
    width:calc(25% - 10px);
    float:left;
    padding:5px;
}

.col_5{
    position:relative;
    width:calc(20% - 10px);
    float:left;
    padding:5px;
}

.col_0{
    position:relative;
    width:calc(100% - 10px);
    float:left;
    padding:5px;
}

.col_centre{
    text-align: center;
    position:absolute;
    left:50%;
    width:800px;
    transform: translateX(-50%);
    display:flex;
}

.col_aligned{
    width:350px;
    float:left;
    padding:5px;
}

.bold{
    font-family: "LaNord-Bold";
    color: #3b99fc;
}

img{
    width:100%;
    border-radius: 5px;
}

video{
    border-radius: 5px;
}

.guide_img{
    width:250px;
}

.pdf{
    width:100%;
    filter: drop-shadow(0px 0px 10px rgb(0 0 0 / 0.2));
}

.italic{
    font-style: italic;
}

.smallblue{
    font-size: 10px;
    color:white;
    padding:4px 10px 4px 10px;
    background-color: black;
}

.logo{
    width:100px;
    filter: drop-shadow(0px 0px 10px rgb(0 0 0 / 0.2));
    will-change: filter;
}

.parent{
    position:relative;
    width: 240px;
    height: 150px;
    margin-left:auto;
    margin-right: auto;
}

.child1{
    position:absolute;
    z-index: 1;
    left:0;
}

.child2{
    position:absolute;
    top:0;
    right:0;
    z-index: 0;
}

.merci{
    font-size:200px;
}

.separator{
    border-bottom:solid lightgray 1px;
    margin:10px -10px 10px -10px;
}

.bg_black{
    border-bottom:1px solid DimGray;
    width:calc(100% - 20px);
    background-color: black;
    color:white;
}

.bg_black_bottom{
    border-bottom:1px solid DimGray;
    width:calc(100% - 20px);
    height:calc(20vh);
    background-color: black;
    background-image: url(../img/intro.png);
    background-position: center;
    background-size: cover;
    color:white;
}

.input_custom{
    padding:4px 10px;
    width:250px;
    max-width:calc(100% - 20px);
    border:1px solid lightgray;
    outline: none;
    font-size: 13px;
    font-family: "LaNord-Regular";
    border-radius: 5px;
    margin:2px;
}

.input {
    /*width:100px;
    border:1px solid black;*/
    width: 0.1px;
    height: 0.1px;
    opacity: 0;
    overflow: hidden;
    position: absolute;
    z-index: -1;
}

.input_btn, .bouton_acheter{
    -webkit-appearance: none;
    font-family: "LaNord-Regular";
    font-size: 13px;
    background-color: white;
    border:1px solid lightgray;
    padding:4px 10px;
    cursor:pointer;
    /*
    box-shadow: 0 0 0 0 transparent;
    transition: box-shadow 200ms cubic-bezier(.19, 1, .22, 1);
    */
    outline: none;
    color:black;
    font-weight: 100;
    border-radius: 5px;
}

.input_btn:hover, .bouton_acheter:hover, select:hover{
    /*box-shadow: 0 4px 10px -3px #000;*/
    background-color:#fafafa;
}

.bouton_buy{
    border: 1px solid #3b99fc;
    color: #3b99fc;
}

.bouton_buy:hover{
    background-color: #3b99fc;
    color:white;
}

.bouton_installation{
    border: 1px solid rgb(228, 93, 80);
    color: rgb(228, 93, 80);
}

.bouton_installation:hover{
    background-color: rgb(228, 93, 80);
    color:white;
}

.buttons{
    display:inline-flex;
}

/*Links menu*/

#menu a:link {
    color: black;
    text-decoration: none;
}

#menu a:visited {
    color: black;
}

#menu a:hover {
    color: #3b99fc;
}

#menu a:active {
    color: #3b99fc;
}

label a:link {
    color: black;
    text-decoration: none;
}

label a:visited {
    color: black;
    text-decoration: none;
}

label a:hover {
    color: black;
    text-decoration: none;
}

label a:active {
    color: black;
    text-decoration: none;
}

/*Links black*/

a:link {
    color: black;
}

a:visited {
    color: black;
}

a:hover {
    color: #3b99fc;
}

a:active {
    color: #3b99fc;
}

/*Links bg_black white*/

.bg_black a:link {
    color: white;
}

.bg_black a:visited {
    color: white;
}

.bg_black a:hover {
    color: #3b99fc;
}

.bg_black a:active {
    color: #3b99fc;
}

#form2{
    display:none;
}

#paypal-button-container {
    display:none;
    max-width:250px;
    margin:auto;
    padding:0;
    z-index: 0;
}

.total_price{
    font-size: 20px;
    border:none;
    outline: none;
    text-align: left;
    max-width:40px;
    background: transparent;
    font-family: "LaNord-Regular";
}

/* Style pour aligner horizontalement les éléments .app_cb */
.app_cb_container {
    display: flex;
    justify-content: space-around; /* Répartit les éléments avec des espaces égaux entre eux */
    flex-wrap: wrap; /* Permet de passer à la ligne suivante si nécessaire */
    max-width:500px;
    margin:auto;
}

/* Style pour chaque checkbox avec son label */
.app_cb {
    display: flex;
    flex-direction: column;
    align-items: center; /* Centre les éléments à l'intérieur de chaque .app_cb */
    padding:10px;
}

.app_cb img{
    max-width:100px;
    cursor:pointer;
}

.cb_checkout, .cb_checkout_label{
    cursor:pointer;
}

#st_label, #dr_label, #cr_label{
    padding:3px;
}

#about_flexible{
    display: grid;
    grid-template-rows: auto auto auto auto 1fr auto;
    min-height: 100vh;
}

#installation_flexible{
    display: grid;
    grid-template-rows: auto 1fr;
    min-height:calc(100vh - 30px);
}

#checkout_flexible{
    display: grid;
    grid-template-rows: auto auto 1fr auto;
    min-height: 100vh;
}

#checkout_students_flexible{
    display: grid;
    grid-template-rows: auto 1fr auto;
    min-height: 100vh;
}

.col_100 {
    width:calc(100% - 10px);
    padding:5px;
}

.space{
    width:20px;
}

.g-recaptcha {
    display: flex;
    justify-content: center;  /* Centre horizontalement */
    align-items: center;      /* Centre verticalement (si nécessaire) */
    height: 100%;             /* S'adapte à la hauteur disponible */
}

/*Fonts*/

@font-face {
    font-family: "LaNord-Regular";
    src: url("../font/LaNord-Regular.otf");
}

@font-face {
    font-family: "LaNord-Bold";
    src: url("../font/LaNord-Bold.otf");
}

/*Responsive*/

@media only screen and (max-width: 1000px) {
    .menu_app::before {
        content: attr(data-short);
    }

    .menu_app::after {
        content: '';
    }

    .menu_app {
        font-size: 0;
    }

    .menu_app::before {
        font-size: 20px;
    }
    
    .col_1, .col_2, .col_3, .col_4, .col_5 {
        width: calc(100% - 10px);
        height: auto;
        -webkit-text-size-adjust: 100%;
    }

    /*
    .col_1{
        padding:0px 5px 20px 5px;
    }
    
    .col_2{
        padding:0px 5px 20px 5px;
    }
    
    .col_3{
        padding:0px 5px 20px 5px;
    }
    */
    
    .section_st_img, .section_dr_img, .section_pt_img, .section_cr_img, .section_collection_st_img, .section_collection_cr_img{
        max-height:500px;
    }
    
    .intro_flex {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
    }
    
    .col_intro {
        flex: 1 1 20%;
        box-sizing: border-box;
        padding: 20px;
        text-align: center;
    }
    
    .gallery_img{
        object-fit: cover;
        width: calc((100vw - 5px) / 4);
        height: calc((100vw - 5px) / 4);
        vertical-align: middle;
        border-radius: 0px;
        cursor:pointer;
    }

    .gallery_big_img {
        width: calc(100vw - 2px);
        height: auto;
    }
    
    /*

    

    .download, .checkout{
        min-height:inherit;
        height:auto;
    }

    .over{
        height:auto;
        padding-right: 0;
        overflow:inherit;
    }

    .section_guide{
        height:auto;
    }

    .guide_img, video{
        width:100%;
    }

    

    .cb_checkout, .cb_checkout_label{
        cursor:pointer;
    }
    
    .checkout_student{
        min-height:calc(100vh - 278px);
    }
    
    .col_centre{
        max-width:100%;
    }
    
    

    
    */
}

@media only screen and (max-width: 600px) {
    #menu_ligne_2{
        top:31px;
        left:0px;
        position:fixed;
        padding:0px;
        width:100vw;
        z-index: 0;
        height:30px;
        background-color: white;
        border-bottom:1px solid lightgray;        
    }
    
    .section_title{
        margin-top:62px;
    }
    
    .section_intro_img {
        margin-top:60px;
        height:calc(100vh - 91px);
    }
    
    .checkout_student{
        min-height:calc(100vh - 269px);
    }
}
