:root {
    --color_txt_body: #52565b;
    --bg_body: #f9faff;
    --vert: #239E46;
    --jaune: #F7F409;
    --bleu: #3B5AA3;
    --gris: #f5f5f5;
    --gris_clair: #f9faff;
    --bleu_footer: #181d38;
}

body{
    background-color: var(--bg_body);
}

.txt_jaune{
    color: var(--jaune) !important;
}

.txt_vert{
    color: var(--vert) !important;
}

.bg-light {
    background: #f9faff !important;
}

*{
    box-sizing: border-box;
}

section, footer, header, article, main, aside, .row, .container{
    position: relative;
}

a, img, button, span, [name], a:after, span:after{
    transition:all 0.5s; 
    -webkit-transition:all 0.5s;
}

/*h1, h2, h3, h4, h5, h6{
    color: inherit;
    padding: 0;
    margin-top: 0;
}*/

* > p:last-child{
    margin-bottom: 0 !important;
}

a:hover, a:focus{
    text-decoration: none;
}

a:hover{
    color: #239E46;
}

/*ul, ol{
    margin: 0;
    padding: 0;
    list-style: none
}*/

img{
    max-width: 100%;
}


/*general*/

.clear{
    clear:both !important; 
    display:block; 
    float:none !important; 
    width:100% !important; 
    height:0px !important; 
    margin:0 !important; 
    padding:0 !important; 
    border:none !important; 
    min-height:0px !important;
}

.vertical_align_center_parent{-webkit-transform-style:preserve-3d; -moz-transform-style:preserve-3d; transform-style:preserve-3d !important; position:relative;}

.vertical_align_center{top:50%; transform:translateY(-50%); -webkit-transform:translateY(-50%); -moz-transform:translateY(-50%); position:relative;}

.notDisplay{
    display:none;
}

.displayBlock{
    display: block;
}

.displayInlineBlock{
    display: inline-block;
    vertical-align: top;
}

.position_relative{
    position: relative;
}

.object_fit_cover{
    width:100%; 
    height:100% !important; 
    object-fit:cover;
}

.margin, .wrap{
    margin: 0 auto;
}

.full{
    height: 100%;
    width: 100%;
}

.width_100{
    width: 100%;
}

.height_100{
    height: 100%;
}

.z_index_0{
    z-index: 0;
}

.z_index_1{
    z-index: 1;
}

.z_index_2{
    z-index: 2;
}

.no_margin{
    margin: 0;
}

.nowrap{
    white-space: nowrap;
}

.cover{background-repeat:no-repeat; background-size:cover; background-position:center center;}

.parallax{background-repeat:no-repeat; background-size:cover; background-position:center center; background-attachment:fixed;}

.fond_sombre{position:relative;}

.fond_sombre:after{content:''; position:absolute; top:0; left:0; display:block; width:100%; height:100%; background-color:rgba(0, 0, 0, 0.6); z-index:0;}

.fond_white{position:relative;}

.fond_white:after{content:''; position:absolute; top:0; left:0; display:block; width:100%; height:100%; background-color:rgba(255, 255, 255, 0.7); z-index:0;}

.fond_paper {background: url(../images/paper.png) repeat;}

.block_round {
    padding: 30px;
    border-radius: 10px;
    border: 2px solid #F4F4F4;
    background: #fff;
    box-shadow: 0 0 35px #fff, 0 0 20px #ddd, 0 0 15px #fff;
}


/* structure */

.no_padding, .no_flex{
    padding: 0;
}

.row_noflex{
    display: block;
}

.row_noflex:after, .no_flex .elementor-container:after{
    content:'';
    display: block;
    clear: both;
}

.row_noflex *[class*="col-"]{
    max-width: none;
    flex: none;
    float: left;
}

.float_left, .row_noflex *[class*="col-"].float_left{
    float:left;
}

.float_right, .row_noflex *[class*="col-"].float_right{
    float:right;
}

.row.no_padding *[class*="col-"]:not(.padding), .container.no_padding *[class*="col-"]:not(.padding){
    padding-left:0; 
    padding-right: 0;
}

.container.no_padding .row:not(.padding), .row.no_padding, .row.no_padding .row:not(.padding){
    margin-right:auto; 
    margin-left: auto;
}

.no_padding .col, .no_flex .col, .no_flex .elementor-column{
    padding-left: 0;
    padding-right: 0;
}

.no_flex.elementor-section.elementor-section-boxed > .elementor-container, .no_flex .elementor-container{
    display: block;
}

.no_flex .col, .no_flex .elementor-column{
    display: block;
    float: left;
}

.no_flex .col.float_right, .no_flex .elementor-column.float_right{
    float: right;
}

.no_padding .elementor-widget-wrap, .no_flex .elementor-widget-wrap{
    padding: 0 !important;
}


/* header */

.navbar-light .navbar-brand .i{
    margin-right: 5px;
    color: var(--jaune);
}

.navbar-light .navbar-nav .nav-link{
    text-align: center;
    padding: 20px 0;
}

.navbar-light .navbar-nav .nav-link .i{
    font-size: 110%;
    opacity: 0.2;
}

.navbar-light .navbar-nav .nav-link.active .i, .navbar-light .navbar-nav .nav-link:hover .i{
    color: var(--jaune);
    opacity: 1;
}

.navbar-light .navbar-nav .nav-link.dropdown-toggle .i{
    margin-left: -20px;
}

.navbar-light .navbar-nav .nav-link.btn_search{
    padding: 10px 0 0;
    margin-left: 20px;
    margin-right: 10px;
}

.navbar-light .navbar-nav .nav-link.btn_search .i{
    font-size: 150%;
}

.navbar-light a.link_account{
    height: auto;
    padding-top: 29.5px !important;
    padding-bottom: 29.5px !important;
    position: relative;
}

.navbar-light a.link_account:hover, .navbar-light a.link_account:focus{
    color: #000 !important;
    background-color: var(--jaune);
    border-color: var(--jaune);
}

.navbar-light a.link_account:before{
    width: 0; 
    height: 0; 
    border-top: 20px solid transparent;
    border-bottom: 20px solid transparent;
    border-left: 25px solid #fff;
    content: '';
    display: block;
    position: absolute;
    top: 29%;
    left: -2px;
}

.navbar-light a.link_account i{
    color: var(--jaune);
}

.navbar-light a.link_account:hover i, .navbar-light a.link_account:focus i{
    color: var(--vert);
}


/* home */

.btn-light {
    color: #000;
    background-color: var(--jaune);
    border-color: var(--jaune);
}

.btn-light:hover{}

.btn-primary:hover{
    background-color: var(--jaune);
    border-color: var(--jaune);
    color: #000 !important;
}


.header-carousel .owl-item .desc{
    margin-bottom: 2.15rem !important;
}

.header-carousel .owl-nav .owl-prev, .header-carousel .owl-nav .owl-next{
    border: 3px dashed #fff;
}

.service-item{
    border-radius: 50%;
    height: 300px;
    background: none;
    border: 10px dotted var(--vert);
    overflow: hidden;
}

.section_services .service-item i{
    color: var(--jaune) !important;
}

.section_services .service-item .title{
    text-transform: capitalize;
}

.section_services .service-item.active{
    background: /*var(--vert)*/#fff;
    color: var(--color_txt_body) !important;
    border: none;
}

.section_services .service-item.active .title{
    /*color: #fff;*/
    color: var(--color_txt_body) !important;
}

.section-title{
    background: var(--bg_body);
}

.section-title::before, .section-title::after{
    background: var(--jaune);
}

.section_thematiques .item .bg_title{
    background-color: rgba(255,255,255, 0.9);
    max-width: 55%;
    margin: 5px;
}

.section_thematiques .item .bg_title .title{
    font-weight: 800;
    line-height: 1.2em;
    font-size: 1rem;
}

.section_thematiques .item .bg_title small{
    display: block;
    text-align: right;
    font-weight: 900;
}

.p_link_see_all{
    text-align: right;
    margin-top: 25px;
}

.link_see_all{
    color: #52565b;
    font-size: 0.9rem;
    display: inline-block;
    position: relative;
}

.link_see_all i{
    color: var(--jaune);
    margin-left: 3px;
}

.section_cours .course-item{
    /*margin-bottom: 25px;*/
}

.section_cours .course-item .img{
    display: block;
    height: 200px;
    background: #222;
}

.section_cours .course-item.last{
    margin-bottom: 0 !important;
}

.section_cours .course-item .link1{
    background: var(--jaune);
    color: #000;
    border-color: var(--jaune);
}

.section_cours .course-item .data{
    min-height: 222px;
}

.section_cours .course-item .title{
    max-height: 52px;
    font-size: 1.12rem;
    overflow: hidden;
    line-height: 1.4em;
    margin-bottom: 0.75rem !important;
}

.section_cours .course-item .extrait{
    max-height: 72px; 
    overflow: hidden;
}

.section_cours .course-item .infos .info{
    padding: 0 10px;
}

.section_cours .course-item .infos .info a{
    color: var(--color_txt_body);
}

.section_cours .course-item .infos .info a:hover{
    opacity: 0.8;
}


/* listing cours */

.section_title_page{
    background-color: #F7F409;
    color: #fff;
}

.section_title_page *{
    color: #fff;
}

.section_title_page .wrap_title_page{
    min-height: 350px;
    padding: 3rem 0;
    flex-direction: column;
}

.wrap_title_page .fil_ariane{
    margin-bottom: 15px;
}

.wrap_title_page .fil_ariane .sep{
    margin: 0 5px;
}

.section_title_page h1{
    margin: 0;
    font-size: 3.5rem;
}

.section_listing_matieres{
    padding-top: 70px;
}

.title_section_mini{
    font-size: 0.6rem;
    margin-bottom: 5px;
}

.section_listing_matieres .item{
    max-width: 12.06%;
    flex: 0 0 12.06%;
    text-align: center;
    margin-bottom: 5px;
    padding: 10px !important;
    border: 1px solid #eee;
    margin-right: 0.5028%;
    background: #fff;
}

.section_listing_matieres .item.last{
    margin-right: 0 !important;
}

.section_listing_matieres .item:hover{
    background-color: #f5f5f5;
}

.section_listing_matieres .item img{
    margin-bottom: 5px;
    max-width: 50px;
}

.section_listing_matieres .item .title{
    font-size: 0.75rem;
    max-height: 29px;
    overflow: hidden;
}


.col_sidebar_cours{
    max-width: 24.5%;
    flex: 0 0 24.5%;
}

.col_listing_cours{
    max-width: 73.5%;
    flex: 0 0 73.5%;
}

.block_sidebar_filter{margin-bottom:30px; position: relative;}

.block_sidebar_filter .title_block{font-size:15px; white-space:nowrap; overflow:hidden; position:relative; cursor: pointer;
color:#101010; letter-spacing:-.2px; padding:0; height:51px; line-height:51px; background-color:#fff; margin-bottom:15px;}

.block_sidebar_filter .title_block:after{content:"\f067"; display:inline-block; height:100%; position:absolute; top:0; right:20px; font-family:"Font Awesome 5 Free";
transition:all 0.50s; -webkit-transition:all 0.50s; -o-transition:all 0.50s; -moz-transition:all 0.50s; -ms-transition:all 0.50s;}

.block_sidebar_filter.open .title_block:after{content:"\f068";}

.block_sidebar_filter .title_block .margin{margin:0 45px 0 20px; overflow:hidden; display:block;}

.block_sidebar_filter .margin_block{margin:0 15px; overflow:hidden; overflow-y:auto; max-height:300px;}

.block_sidebar_filter .field{font-size:13px; color:#777;}

.block_sidebar_filter .field:hover, .block_sidebar_filter .field.active{color:var(--vert);}

.block_sidebar_filter .field_checkbox{line-height:25px; cursor: pointer;}

.block_sidebar_filter .field_checkbox .i{font-size:16px; width:13px; font-weight: 400;}

.block_sidebar_filter .field_checkbox.checked .fa:before{
    content:"\f14a";
    color: var(--vert);
}

.block_sidebar_filter .field_checkbox .txt{margin-left:5px;}

.block_sidebar_filter .sub_elts{margin-left:20px;}

.block_sidebar_prix input{height:40px; line-height:40px; border:1px solid #f0f0f0; color:#9a9a9a; width:100%; padding-left:10px;}

.block_sidebar_prix .submit{margin-top: 15px;}

.block_sidebar_prix .submit button{height:40px; width:40px; border-radius:50%; background:#f2f2f2; color:#101010; padding:0 5px; text-align:center; font-weight:700; 
border:1px solid #f0f0f0;}

.block_sidebar_prix .submit button:hover{ background: $color_site; color: #fff;}


.wrap_listing_cours{
    padding-top: 50px;
    z-index: 1;
}

.section_listing_cours .item{
    max-width: 32%;
    flex: 0 0 32%;
    margin-right: 2%;
}

.section_listing_cours .item.last{
    margin-right: 0 !important;
}

.section_cours .item .course-item{
    background: #fff;
}

.section_cours .item .course-item .matiere{
    background-color: #f9faff;
    border: none !important;
    color: #52565b;
    outline: none !important;
}


/* page par défaut */

.main_page{
    min-height: 200px;
    padding: 3.5rem 0;
}


/* formulaires */

.form_site .fields, .form_site .field{
    position: relative;
}

.form_site .field{
    margin-bottom: 15px;
}

.form_site label{
    display: block;
    font-weight: 600;
    margin-bottom: 3px;
    line-height: 1em;
}

.form_site .label{
    cursor: pointer;
}

.form_site .field_checkbox label{
    display: inline-block;
    font-weight: 400;
    line-height: 1.5em;
    margin-right: 10px;
}

.form_site .field_checkbox [name]{
    display: inline-block !important;
    width: auto !important;
    border: inherit !important;
    line-height: 1em !important;
    height: auto !important;
    margin-right: 5px;
    position: relative;
    top: 2px;
}

.form_site [name]{
    border: 2px solid #F4F4F4;
    border-radius: 20px;
    height: 45px;
    line-height: 45px;
    background: #F6F6F6;
    padding: 0 20px;
    font-size: 14px;
    color: #555;
    width: 100%;
    display: block;
    color: #555;
    position: relative;
    z-index: 1;
}

.field_password{
    position: relative;
}

.field_password:after{
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    content: "\f06e";
    display: inline-block;
    position: absolute;
    right: 15px;
    top: 30%;
    color: #ccc;
    font-size: 18px;
    z-index: 2;
}

.field_password [name]{
    padding-right: 40px;
}

.msge_password_forget{
    padding-left: 13px;
    margin-top: 5px;
    font-weight: 700;
}

.bloc_submit{
    padding-top: 10px;
}


/* single cours */

.links_onglets{
    margin-bottom: 30px;
}

.links_onglets .link{
    color: #585E74;
    font-weight: 700;
    font-size: 14px;
    text-align: center;
    font-family: "Nunito",sans-serif;
}

.links_onglets .link.open {
    color: var(--vert);
}

.links_onglets .link .icone{
    display: inline-block;
    width: 50px;
    height: 50px;
    line-height: 50px/*41px*/;
    border-radius: 50%;
    background: var(--jaune);
    color: var(--bleu);
    margin-bottom: 3px;
    font-size: 20px;
}

.links_onglets .link.open .icone{
    background: var(--vert);
    color: #fff;
}

.links_onglets .link .txt{
    display: block;
}

.resume_cours{
    line-height: 1.5em;
    margin-bottom: 45px;
}

.resume_cours h2{
    margin-bottom: 15px;
    line-height: 1em;
}

.cours_content{
    background: #fff;
    padding: 30px;
    font-size: 16px;
    line-height: 1.5em;
    padding-bottom: 80px;
    position: relative;
    min-height: 400px;
}

.cours_content:before{
    content:'';
    display: block;
    position: absolute;
    top: 0;
    left: -10000px;
    width: 10000px;
    background: #fff;
    height: 100%;
    z-index: 0;
}

.video_player_cours{
    margin-bottom: 25px;
    background: #fff;
    padding-top: 10px;
}

.zone_wysiwig strong{
    font-weight: 600;
}

.zone_wysiwig h2, .zone_wysiwig h3, .zone_wysiwig h4{
    line-height: 1.2em;
    color: #239E46;
    position: relative;
    font-size: 24px;
    padding-top: 5px;
    margin-bottom: 17px;
}

.zone_wysiwig h2 strong, .zone_wysiwig h3 strong, .zone_wysiwig h4 strong{
    position: relative;
    top: -3px;
    background: #F7F409;
    width: 25px;
    height: 25px;
    line-height: 25px;
    border-radius: 50%;
    text-align: center;
    display: inline-block;
    color: #3B5AA3;
    font-size: 80%;
    font-weight: 700;
}

.zone_wysiwig h3{
    font-size: 22px;
    color: #585E74;
}

.zone_wysiwig h3 strong{
    background: none;
    border: 2px solid #F7F409;
    line-height: 21px;
}

.zone_wysiwig h4{
    font-size: 18px;
    color: #585E74;
    margin-bottom: 10px;
    padding-top: 10px;
}

.zone_wysiwig h4 strong{
    background: none;
    line-height: 1em;
    color: #239E46;
    font-size: 100%;
    top: 0;
}

.zone_wysiwig ul, .zone_wysiwig ol{
    margin-left: 20px;
}

.zone_wysiwig li{
    margin-bottom: 5px;
}

.zone_wysiwig ul li{
    list-style: disc;
}

.zone_wysiwig ol li{
    padding-left: 10px;
}

.quiz h2{
    color: #585E74;
}

.quiz form label{
    margin-bottom: 10px;
}

.quiz form .label{
    margin-bottom: 10px;
    line-height: 1.3em;
}

.quiz form .field_checkbox label{
    font-size: 15px;
    cursor: pointer;
}

.quiz form .btn{
    color: #000 !important;
}

.definitions{
    line-height: 1.3em;
    font-size: 14px;
}

.definitions .def{
    margin-bottom: 35px;
}

.definitions .def .title{
    margin-bottom: 10px;
}

.label_tag{
    display: inline-block;
    background: #239E46;
    color: #fff;
    text-transform: uppercase;
    line-height: 1em;
    margin-bottom: 4px;
    font-weight: 700;
    padding: 5px 10px;
    font-size: 11px;
    font-family: "Nunito",sans-serif;
    border-radius: 5px;
}

.definitions .def .title{
    font-size: 20px;
}

.definitions .def  strong{
    font-weight: 600;
}

.sidebar{
    padding-left: 20px;
}

.sidebar .bloc_sidebar{
    margin-bottom: 30px;
}

.sidebar .title{
    margin-bottom: 13px;
    font-size: 1.6rem;
}

.sidebar p{
    margin-bottom: 10px;
}

.sidebar .bloc_share a{
    width: 35px;
    height: 35px;
    border: 1px solid #52565b;
    border-radius: 50%;
    text-align: center;
    margin-right: 5px;
    padding: 5px;
    background: #fff;
}

.sidebar .bloc_share a:last-child{
    margin-right: 0 !important;
}

.sidebar .bloc_share a:hover{
    background: var(--vert);
    color: #fff;
}

.sidebar .bloc_infos_cours{
    font-size: 13px;
}

.sidebar .bloc_exos_cours .item{
    margin-bottom: 10px;
    position: relative;
    display: block;
}

.sidebar .bloc_exos_cours .item .img{
    width: 35px;
    height: 35px;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
}

.sidebar .bloc_exos_cours .item .title{
    padding-left: 45px;
    padding-top: 8px;
    width: 100%;
    font-size: 14px;
    line-height: 1.3em;
}


/* listing exercices */

.section_listing_exe .course-item .data{
    min-height: 160px;
}

.section_listing_exe .course-item .info i.false{
    color: red !important;
}


/* single exercice */

.main_single_exo .links_onglets .link{
    margin-right: 10%;
}

.main_single_exo .links_onglets .link:last-child{
    margin-right: 0 !important;
}

.sidebar_exo .bloc_exos_cours.bloc_exos .item .img{
    top: 5px;
    width: auto;
    height: auto;
}

.sidebar_exo .bloc_exos_cours.bloc_exos .item .title{
    padding-left: 20px;
    margin-bottom: 0;
}

.sidebar_exo .bloc_exos_cours.bloc_exos .item .title i{
    color: var(--vert);
    margin-right: 5px;
}


/* footer */

.footer{
    background-color: #222;
}


/* responsive */


@media (max-width:1199px) 
{ 
    .hidden_md{display: none;}
    
    .visible_md{display: block !important;}
}

@media (max-width:991px) 
{
    .hidden_sm{display: none !important;}
    
    .visible_sm{display: block !important;}
    
    .visible_sm_inline_block{display: inline-block !important;}

    .no_float_sm{float:none !important; flex: none !important; width:100% !important; margin-right:auto !important; margin-left:auto !important; 
    display:block !important; max-width: none !important;}
    
    .row .no_float_sm{max-width: none;}
    
    .no_position_absolute_sm{width:100% !important; right:auto !important; left:auto !important; top:auto !important; bottom:auto !important;
    margin-right:auto !important; margin-left:auto !important; position:relative !important; display:block !important;}
    
    .align_center_sm{text-align:center !important;}
    
    .margin_bottom_sm{margin-bottom:30px;}
    
    .no_height_100_sm, .height_auto_sm{height:auto !important; max-height:none !important;}
  
    .width_100_sm{width:100% !important;}
    
    .no_vertical_align_center_sm{top:auto !important; transform:none !important;}
}

@media (max-width:767px) 
{
    .no_float_xs{float:none !important; flex: none !important; width:100% !important; margin-right:auto !important; margin-left:auto !important; 
    display:block !important; max-width: none !important;}
    
    .row .no_float_xs, .row_noflex .no_float_xs{max-width: none;}
    
    .no_position_absolute_xs{width:100% !important; right:auto !important; left:auto !important; top:auto !important; bottom:auto !important;
    margin-right:auto !important; margin-left:auto !important; position:relative !important; display:block !important;}
    
    .hidden_xs{display: none !important;}
    
    .visible_xs{display: block !important;}
    
    .visible_xs_inline_block{display: inline-block !important;}
    
    .align_center_xs{text-align:center !important;}
    
    .margin_bottom_xs{margin-bottom:20px;}
    
    .no_height_100_xs, .height_auto_xs{height:auto !important; max-height:none !important;}
    
    .width_100_xs{width:100% !important;}
    
    .no_vertical_align_center_xs{top:auto !important; transform:none !important;}

}
