body {
    font-family: 'Signika', sans-serif;
    color: #66717f;
    font-weight: 300;
    -webkit-text-size-adjust: 100%;
}

*{
    box-sizing: border-box;
}

section, footer, header, article, main, aside, .row{
    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{
    color: #ff9933;
}

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%;
}

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

.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;
}

.overflow_hidden{
    overflow: hidden;
}


/* 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;
}


/* general site */

.txtMain{
    color:#f606cf;
}

.bg_gris{
    background-color: #F6F7F9;
}

.title_elt{
    margin-bottom: 0 !important;
}

.title_h1 .elementor-heading-title, h1, .h1{
    font-size: 48px;
    font-weight: 800;
    margin: 0 auto;
    margin-bottom: 25px;
    display: inline-block;
    max-width: 900px;
    line-height: 1.3;
    letter-spacing: 1.5px;
    color: #1b2b4b;
}

.title_mini_section .elementor-heading-title{
    font-size: 12px;
    font-weight: 500;
    letter-spacing: 2.6px;
    color: #ff9933;
    text-transform: uppercase;
    margin-bottom: 20px;
    line-height: 1.3em;
}

.title_section .elementor-heading-title{
    font-size: 32px;
    font-weight: 800;
    line-height: 1.3em;
    color: #1b2b4b;
    margin-bottom: 25px;
}

.txt_section{
    font-size: 18px;
    line-height: 1.75em;
    margin-bottom: 35px !important;
}

.txt_section a, .section_about_footer .col_txt a{
    opacity: 0.8;
    color: #66717f;
}

.txt_section a:hover, .section_about_footer .col_txt a:hover{
    /*color: #ff9933;*/
    text-decoration: underline;
}

.btn_site a, .btn_site .a{
    max-width: 100%;
    text-align: center;
    background-color: #ff9933;
    box-shadow: 0 3px 10px 0 rgb(0 0 0 / 15%);
    font-size: 18px;
    padding: 21px 25px;
    letter-spacing: -0.2px;
    border-radius: 31px;
    font-weight: 600;
    color: #fff;
    border: 2px solid transparent;
    display: inline-block;
}

.btn_site.blue a, .btn_site.blue .a{
    background-color: #438BC0;
}

.btn_site a:hover, .btn_site .a:hover{
    transform: scale(1.05);
}

.btn_site.medium a, .btn_site.medium .a{
    font-size: 16px;
    padding: 12px 20px;
}

.btn_site.no_shadow a, .btn_site.no_shadow .a{
    box-shadow: none;
}

.btn_site.border_ a, .btn_site.border_ .a{
    background-color: transparent;
    border: 2px solid #ff9933;
    color: #ff9933;
}

.btn_site.border_ a:hover, .btn_site.border_ .a:hover{
    background-color: #ff9933;
    color: #fff;
}

.btn_site.border_.blue a, .btn_site.border_.blue .a{
    border-color: #438BC0;
    color: #438BC0;
}

.btn_site.border_.blue a:hover, .btn_site.border_.blue .a:hover{
    background-color: #438BC0;
    color: #fff;
}

.btn_site.border_.grey a, .btn_site.border_.grey .a{
    border-color: #66717f;
    color: #66717f;
}

.btn_site.border_.grey a:hover, .btn_site.border_.grey .a:hover{
    background-color: #66717f;
    color: #fff;
}

.btn_site a span, .btn_site .a span{
    transition: all 0s;
}

.mini_txt{
    font-size: 21px;
    font-weight: 300;
    line-height: 1.3em;
    color: #1b2b4b;
}


/* main parts */

.container, .elementor-section.elementor-section-boxed .elementor-container{
    width: 1140px;
    max-width: 100%;
}

.container.w_1300, .w_1300.elementor-section.elementor-section-boxed .elementor-container{
    width: 1300px;
}


/* header */

#header{
    background-color: #F6F7F9;
    position: relative;
    z-index: 999;
    padding: 30px 0;
}

.logo_header{
    width: /*140px*/10.76923076923077%;
    padding-top: 0;
}

.block_right_header{
    width: /*1100px*/84.61538461538462%;
}

.main_nav{
    margin-right: /*50px*/4.545454545454545%;
}

.main_nav > div > ul li{
    display: inline-block;
    vertical-align: top;
}

.main_nav > div > ul li a{
    display: block;
    font-size: 16px;
    color: #04151f;
    margin: 5px 2px;
    padding: 5px 10px;
    text-align: center;
}

.main_nav > div > ul li a:hover{
    opacity: 0.8;
}

.main_nav > div > ul li.current-menu-item a{
    font-weight: 800;
}

.main_nav > div > ul li.link_cta a, .link_cta a{
    font-weight: 300;
    border-radius: 19px;
    background-color: #EEF2F6;
    vertical-align: middle;
    color: #04151F;
    font-size: 15px;
    padding: 11px 10px;
    min-width: 110px;
    margin: 0 10px;
    border-color: transparent;
    text-align: center;
}


.small_links{
    padding-top: 12px;
}

.small_links .bloc{
    margin-right: 10px;
}

.small_links > .bloc:last-child{
    margin-right: auto !important;
}

.small_links a{
    color: #04151f;
    font-size: 20px;
    line-height: 1em;
}

.small_links .social_links{
    margin-top: -5px;
    margin-left: 15px;
}

.small_links .social_links li{
    margin-right: 5px;
}

.small_links .social_links li:last-child{
    margin-right: auto !important;
}

.small_links .social_links li a{
    display: block;
    height: 30px;
    width: 30px;
    line-height: 32px;
    border-radius: 50%;
    background: #fff;
    text-align: center;
    font-size: 17px;
}


/* home */

.section_home{
    text-align: center;
    padding-top: 63px;
}

.section_home *{
    text-align: center;
}

.section_home .boutons .elementor-widget-wrap{
    text-align: center;
    display: block;
}

.section_home .btn_site{
    display: inline-block;
    vertical-align: top;
    margin-right: /*20px*/1.754385964912281%;
    width: auto;
}

.section_home .btn_site.last{
    margin-right: auto !important;
}

.section_home .btn_site a{
    min-width: 265px;
}

.section_home .mini_txt{
    margin-bottom: 42px;
}

.section_home .img{
    margin-top: 20px;
}

.section_img_txt{
    padding-top: 64px;
}

.section_img_txt .col_img{
    width: /*675px*/51.92307692307692%;
}

.section_img_txt .col_img.avec_diapo .img{
    position: relative;
    z-index: 1;
    width: /*459px*/68%;
    margin-bottom: 0;
}

.section_img_txt .col_img .img img{
    width: 100%;
}

.section_img_txt .col_img .diapo{
    width: /*337px*/49.92592592592593%;
    height: 90%;
    right: 0;
    top: 5%;
    position: absolute;
    z-index: 2;
    box-shadow: 34px 23px 24px 0 rgb(228 234 240 / 45%);
    border-radius: 16px;
    overflow: hidden;
}

.section_img_txt .col_img .diapo div{
    height: 100%;
    width: 100%;
}

.section_img_txt .col_img .diapo img.swiper-slide-image{
    object-fit: cover;
    width: 100%;
    height: 100%;
}

.section_img_txt .col_img .diapo div.swiper-pagination-bullets{
    height: auto;
    bottom: 13px;
}

.section_img_txt .col_txt{
    width: /*455px*/35%;
    padding-top: 80px;
    margin-right: /*60px*/4.615384615384615%;
}

.section_img_txt .col_txt .btn_site{
    display: inline-block;
    vertical-align: top;
    width: auto;
}

.section_img_txt .col_txt .btn_site.last{
    margin-left: /*15px*/3.296703296703297%;
}

.section_img_txt .col_txt .btn_site a{
    min-width: 176px;
}

.section_features{
    padding-top: 64px;
    padding-bottom: 64px;
}

.section_features > .elementor-container > .elementor-column > .elementor-widget-wrap{
    padding: 0 !important;
    /*background-color: #fefefe;*/
}

.boxes > div.elementor-container{
    width: 100% !important;
}

.boxes .col{
    padding: 10px;
}

.boxes .col > div.elementor-widget-wrap{
    background-color: #F6F7F9;
    padding: 40px 50px 60px;
    border-radius: 50%;
    transition: all 0.5s;
    z-index: 1;
    border: 2px solid transparent;
}

.boxes .col > div.elementor-widget-wrap:hover{
    z-index: 2;
    border: 2px solid #F6F7F9;
    background-color: #fff;
    cursor: help;
}

.boxes .col .img{
    margin-bottom: 25px;
}

.boxes .col .title .elementor-heading-title{
    font-size: 16px;
    font-weight: bold;
    line-height: 1.19;
    letter-spacing: 1.1px;
    text-align: center;
    margin-bottom: 16px;
    color: #1b2b4b;
}

.boxes .col .txt{
    font-size: 14px;
    line-height: 1.36;
    letter-spacing: 1px;
    text-align: center;
}

.section_galerie{
    padding-top: 0;
    padding-bottom: 94px;
    overflow: hidden;
}

.svg_bg_white{
    position: absolute;
    z-index: 2;
    top: -2px;
    display: block;
    width: calc(150%);
    left: 50%;
    -webkit-transform: translateX(-50%) /*rotate(180deg)*/;
    transform: translateX(-50%) /*rotate(180deg)*/;
    overflow: hidden;
    fill: #FFFFFF;
}

.section_galerie .title_mini_section{
    padding-top: 84px;
}

.section_galerie .col_img{
    width: /*755px*/58.07692307692308%;
}

.section_galerie .col_img .img{
    max-height: 800px;
    overflow: hidden;
    border-radius: 10px;
    margin-top: 10px;
}

.section_galerie .col_listing_img{
    width: /*535px*/41.15384615384615%;
}

.section_tarifs{
    padding-top: 84px;
    padding-bottom: 84px;
}

.table_tarifs{
    margin-top: 20px;
    width: 100%;
}

.table_tarifs th{
    border-bottom: 1px solid #EEF2F6;
    text-align: center;
    padding: 16px;
    width: 33%;
    font-size: 28px;
    color: #1b2b4b;
    font-weight: 800;
    line-height: 1.3em;
}

.table_tarifs td{
    padding: 16px;
    border-bottom: 1px solid #EEF2F6;
    font-size: 17px;
    line-height: 1.3em;
    color: #45526C;
    text-align: center;
    vertical-align: top;
}

.table_tarifs tbody tr > td:first-child{
    min-width: 300px;
    width: 34%;
    text-align: left;
    padding-left: 0 !important;
}

.table_tarifs tbody tr:last-child td{
    border-bottom: none;
}

.table_tarifs .tr_price td{
    font-size: 17px;
    padding: 40px 20px;
    color: #45526C;
}

.table_tarifs tr td.bold{
    color: #1b2b4b;
    font-weight: bold;
    font-size: 25px;
    line-height: 1.3em;
}

.table_tarifs .tr_price td .prix{
    font-weight: 600;
    font-size: 23px;
    line-height: 1em;
}

.table_tarifs .tr_price td p{
    margin-bottom: 15px;
}

.table_tarifs .tr_price td p.annee2{
    opacity: 0.7;
}

.table_tarifs .tr_price td .devise{
    font-size: 50%;
    font-weight: 600;
    margin-right: 5px;
}

.table_tarifs .tr_price td .btn_site{
    padding-top: 10px;
}

.table_tarifs tbody tr > td.info{
    background: url(../images/info.svg) no-repeat right 18px;
    background-size: 18px;
    padding-right: 20px;
    cursor: help;
}

.block_info{
    display: none;
}

.table_tarifs td i.good{
    color: #ff9933;
}

.table_tarifs td i.no{
    color: #EEF2F6;
}

.table_tarifs .tr_foot td{
    padding: 40px 20px;
}

.section_ccm{
    padding-bottom: 64px;
}


/* footer */

.section_about_footer{
    background: #F6F7F9;
    padding-top: 55px;
    padding-bottom: 55px;
    border-top: 5px solid #f3f3f3;
}

.section_about_footer .col_img{
    width: /*125px*/9.615384615384615%;
    padding-right: /*30px*/2.307692307692308%;
}

.section_about_footer .col_img:after{
    position: absolute;
    content: '';
    top: 5px;
    right: 0;
    height: 100%;
    width: 1px;
    background: #ff9933;
    display: block;
}

.section_about_footer .col_img img{
    width: auto;
}

.section_about_footer .col_txt{
    width: /*1145px*/88.07692307692308%;
    font-size: 0.95rem;
}

.section_bottom_footer{
    background-color: #282F31;
    padding: 25px 0 20px;
    color: #fff;
    font-size: 0.90rem;
    line-height: 1em;
}

.section_bottom_footer a{
    color: #fff;
}

.section_bottom_footer a:hover{
    color: #eee;
}

.section_bottom_footer .col_copyright{
    width: 57%;
    text-align: right;
}

.section_bottom_footer .col_contacts{
    width: 40%;
}

.section_bottom_footer .col_contacts .elt{
    display: inline-block;
    vertical-align: top;
    margin-right: 7px;
}

.section_bottom_footer .col_contacts div span.elt:last-of-type{
    margin-right: auto !important;
}


/* responsive */

@media (max-width:1449px) /* testé sur 1366px */
{ 

}

@media (max-width:1299px) /* testé sur 1200px */
{ 

}

@media (max-width:1199px) 
{ 
    body{}
    
    .hidden_md{display: none;}
    
    .visible_md{display: block !important;}
    
    .no_float_md{float:none !important; flex: none !important; width:100% !important; margin-right:auto !important; margin-left:auto !important; 
    display:block !important;}
    
    .container, .elementor-section.elementor-section-boxed > .elementor-container{
        width: 900px;
    }
    
}

@media (max-width:991px) 
{
    body{}
    
    .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;}
    
    .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;}
    
    
    .container .container, .elementor-container .elementor-container{
        max-width: 95% !important;
    }
    
}

@media (max-width:767px) 
{
    body{}
    
    .no_float_xs{float:none !important; flex: none !important; width:100% !important; margin-right:auto !important; margin-left:auto !important; 
    display:block !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;}
    
    .container, .elementor-section.elementor-section-boxed > .elementor-container{
        width: 90%;
    }
}
