/* ############################################################# */
/* ###################### DEFAULT WEBSITE ###################### */
/* ############################################################# */

/* ### ACTION COPIER COLLER ### */

/* Background */
::-moz-selection { /* Code for Firefox */
    color: #fff;
    background: var(--color-1);
}
::selection {
    color: #fff;
    background: var(--color-1);
}



/* #### SCROLLBAR #### */

/* Scrollbar */
::-webkit-scrollbar {
    width: 10px;
}
::-webkit-scrollbar-thumb {
    background: var(--color-2);
    border-bottom:6px solid var(--color-1);
    border-radius: 0px 0px 0px 0px;
    -webkit-border-radius: 0px 0px 0px 0px;
}
::-webkit-scrollbar-track {
    position: fixed;
    background: #ecf0f5;
    -webkit-box-shadow: inset 0 0 5px rgb(0 0 0 / 10%);
    -webkit-border-radius: 0px 0px 0px 0px;
    border-radius: 0px 0px 0px 0px;
}



/* #### BACK TO TOP #### */

/* Back to top module */
.progress-wrap {
    position: fixed;
    background:#ffffff;
    right: 12px!important;
    bottom: 92px!important;
    height: 46px;
    width: 46px;
    cursor: pointer;
    display: block;
    border-radius: 50px;
    border: 1px solid var(--color-1);
    box-shadow: inset  0 0 0 0px rgba(0,0,0,0.1);
    opacity: 0;
    visibility: hidden;
    transform: translateY(15px);
    -webkit-transition: all 200ms linear;
    transition: all 200ms linear;
    z-index: 999999999!important;
}

/* Mobile placement module */
@media all and (max-width: 499px) {
.progress-wrap {
    margin-bottom: 26px!important;
  }
}

/* Back to top icon */
.progress-wrap:after {
    color: var(--color-1);
    content: "\21";
    font-family: ETmodules!important;
    font-size:22px;
    font-weight:900;
    position:relative;
    display: flex!important;
    justify-content:center!important;
    left: -1px;
    top: -36px!important;
    z-index: 999999;
    -webkit-box-shadow: none;
    box-shadow: none;
    border-radius: 50%;
}

/* Back to top visibility */
.progress-wrap.active-progress {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.progress-wrap svg path { 
    fill: none; 
}

/* Back to top progress indicator */
.progress-wrap svg.progress-circle path {
    stroke: var(--color-1); /* --- Color indicator --- */
    stroke-width: 8;
    box-sizing:border-box;
    -webkit-transition: all 200ms linear;
    transition: all 200ms linear;
}

/* Back to top module hover */
.progress-wrap:hover {
   background:#ecf0f5!important;
}

/* Icon hover */
.progress-wrap:hover:after {
    color: var(--color-1);
}

/* Icon active animate */
.progress-wrap:active:after {
    color:#bdbdbd!important;
    transform: rotate(350deg)!important;
    transition: transform 0.3s linear!important;
}



/* #### LOADER #### */

/* PRELOADER CSS */
.page-loader {
    background: #01254c;
    opacity: 1;
    width: 100%;
    height: 100vh;
    position: fixed;
    top: 0;
    left: 0;
    display: flex;
    text-align: center;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    overflow: hidden!important;
    z-index: 999999999999!important;
}

.page-loader-txt {
    color: rgba(255, 255, 255, .3);
    font-family:Arial;
    font-size:14px;
    letter-spacing: 0.3rem;
    font-weight: bold;
    text-transform: uppercase;
    line-height: 1.5;
    margin-left:0;
    margin-right:0;
}

/* SPINNER ANIMATION */
.page-loader-spinner {
    display: inline-block;
    width: 112px;
    height:112px;
    border: 10px solid rgba(255, 255, 255, .3);
    border-radius: 50%;
    border-top-color: #c60505;
    animation: spin 3s ease-in-out infinite;
    -webkit-animation: spin 3s ease-in-out infinite; 
      }
@keyframes spin {
    to {
    -webkit-transform: rotate(360deg);
        }
      }
@-webkit-keyframes spin {
    to {
    -webkit-transform: rotate(360deg);
  }
}



/* ########################### */
/* ######## BREADCRUMBS ###### */
/* ########################### */

/* Lien */
#abf_breadcrumbs a {
    color:var(--color-2)
}

/* Lien actif */
#abf_breadcrumbs span.breadcrumb_last {
    color: var(--color-1)!important;
}



/* ###################################### */
/* ###### TEMPLATE DEFAULT OPTIONS ###### */
/* ###################################### */

/* ###  GENERAL ### */
#page-container {
    padding-top: 0px !important;
    overflow-x: hidden !important;
}

/* Largeur row site web */
.page .et_pb_row, .single .et_pb_row {
   width: 84%;
}

/* Z INDEX */
.container, .et_pb_row{
    z-index:1;
}



/* ################################################# */
/* ###### RESPONSIVE TEMPLATE DEFAULT OPTIONS ###### */
/* ################################################# */
/* 2 rangées sur mobile */
@media (max-width: 980px){
.twoX2 .et_pb_column{
    max-width: 47.25% !important;
}

/* these bottom two are for a three column row */
.twoX2 .et_pb_column.et_pb_column_1_3:nth-of-type(3){
    margin: 0 25%; /*this centers the third column */
}
.twoX2 .et_pb_column_1_3:nth-of-type(2) {
    float: right; /* this puts space between the first and second columns */
  }
}



/* ########################### */
/* ######### BOUTONS ######### */
/* ########################### */

/* #### DEFAUT BUTTON #### */

/* Defaut button color */
.et_pb_button, .et_pb_more_button, a.read-more-button{
    color:#fff!important;
    background:var(--color-1)!important;
    border-color:var(--color-1)!important;
    border-radius:0;
}

/* Bouton alignés add class "boutons-en-ligne" */
.boutons-en-ligne .et_pb_button_module_wrapper {
    display: inline-block;
    margin: 1%!important;
}
.boutons-en-ligne {
    text-align: center;
}

/* Bouton commentaires Apple */
input#submit.submit {
    -moz-appearance: button;
    -webkit-appearance: button;
}	


/* #### STICKY FULLWIDTH BUTTON #### */

.devis-button-sticky.et_pb_sticky .dipl_button_item .dipl_button_link {
    min-width:100%!important;
    padding:0!important;
    left:0!important;
    margin:0!important;
    left:0!important;
    border-radius:0px;
    z-index:999;
}

.devis-button-sticky {
    width:100%!important;
    left:0!important
}

.devis-button-sticky.et_pb_sticky .dipl_button_item .dipl_button_link .dipl_button_secondary_text {
    display:none
}


/* #### FULLWIDTH BUTTON #### */

/* Container fullwidth */
.submit-fullwidth .et_contact_bottom_container,

/* Contact form plugin submit fullwitdth */
.de_fb_submit_container {
    float:none;
    background:transparent; 
    width: 100%;
    padding:0;
    margin-top:0!important;
    margin-bottom:16px!important;
    margin-left:0px;
    border-radius:0;
    flex-direction:column;
}

/* Button fullwidth */
.submit-fullwidth .et_contact_bottom_container button {
    min-width:100%;
    background:var(--color-1)!important;
    height:58px;
    font-size:22px!important;
    font-weight:700!important;
    padding:0;
    margin:0;
}

/* Button fullwidth hover */
.submit-fullwidth
.submit-container, .submit-fullwidth button:hover {
    background:var(--color-2)!important;
    border-color:var(--color-2)!important;
}



/* #### BUTTON LOADER #### */
.button {
    display: inline-block;
    border: 0;
    outline: 0;
    padding: 12px 16px;
    line-height: 1.4;
    background: linear-gradient(#4d4d4d,#2f2f2f);
    border-radius: 5px;
    border: 1px solid black;
    font-family: "Lucida Grande", "Lucida Sans Unicode", Tahoma, Sans-Serif;
    color: white !important;
    font-size: 1.2em;
    cursor: pointer;
    /* Important part */
    position: relative;
    transition: padding-right .3s ease-out;
}
.button.loading {
    background-color: #ccc;
    padding-right: 40px;
}
.button.loading:after {
    content: "";
    position: absolute;
    border-radius: 100%;
    right: 6px;
    top: 50%;
    width: 0px;
    height: 0px;
    margin-top: -2px;
    border: 2px solid rgba(255,255,255,0.5);
    border-left-color: #FFF;
    border-top-color: #FFF;
    animation: spin .6s infinite linear, grow .3s forwards ease-out;
}
@keyframes spin { 
    to {
    transform: rotate(359deg);
    }
}
@keyframes grow { 
    to {
    width: 14px;
    height: 14px;
    margin-top: -8px;
    right: 13px;
    }
}



/* ############################ */
/* ######### TABS ABF ######### */
/* ############################ */

/* Défault tabs */
.abfTableCellheader, .abfTableHead, .abfTableCellheaderfirst,
.abfTableCelldesc, .abfTableCelldescheader, .abfTableCelldescfirst {
    background-color: var(--color-2);
    color:#fff;
    font-family:"Source Sans Pro";
    font-weight:500;
    height: 42px;
    font-size:14px;
    display: table-cell;
    padding: 18px;
    text-align: center;
    vertical-align: middle;
    line-height:1.0;
}

/* Général tabs */
.abfTable {
    font-size:14px;
    color:var(--color-2);
    display: table;
    min-width: 100%;
    max-width:100%;
    text-align: center;
    border-radius: 4px!important;
    border: solid 1px #ecf0f1;
    overflow: hidden;
}

.abfTableBody {
    display: table-row-group;
}

.abfTableRow {
    display: table-row;
}

/* Align text first tabs */
span.abfTableRow {
    display:flex;
    justify-content:center;
}

.abfTableCelldescfirst
span.abfTableRow {
    display:flex;
    justify-content:left;
}

/* Header */
.abfTableCellheader, .abfTableHead {
    border-right: 1px solid #e8e8e8;
}

/* Header right table */
.abfTableCellheaderfirst, .abfTableHead {
    border-right: 0px;
}

/* Header */
.abfTableCellheaderfirst, .abfTableCellheader, .abfTableCelldescheader {
    border-bottom: 1px solid #e8e8e8; 
}

/* Table up */
.abfTableCell, .abfTableHead {
    vertical-align: middle;
    border-right: 1px solid #e8e8e8;
    display: table-cell;
    padding: 3px 10px;
    background-color: #fff;
}

/* Table down */
.abfTableCelldown, .abfTableHead {
    background-color: #e8e8e8;
    border-right: 1px solid #fff;
    display: table-cell;
    padding: 3px 10px;
    vertical-align: middle;
}

/* Table down right table */
.abfTableCelldownfirst, .abfTableHead {
    background-color: #e8e8e8;
    border-right: 0px;
    display: table-cell;
    padding: 3px 10px;
    vertical-align: middle;
}

/* Désignation left table */
.abfTableCelldesc, .abfTableHead {
    border: 1px solid #e8e8e8;
    border-left: 0px;
    border-top: 0px;
    border-right: 1px solid var(--color-2);
    padding: 10px;
    text-align: left;
}	

/* Désignation Header */
.abfTableCelldescheader, .abfTableHead {
    border-right: 1px solid #e8e8e8;
}

/* Désignation footer */
.abfTableCelldescfirst, .abfTableHead {
    text-align:left!important;
    padding: 10px!important;
}	

/* Left menu tabs */
.tabs-menu-title, .tabs-content-title-price {
    color: var(--color-2);
    font-weight: 500;
    font-family: "Roboto Slab";
}

/* ### TABS TITLE AND SUBTITLE ### */

/* Title */
.tabs-content-title-price {
    font-size: 26px;
    margin: 6px 0;
    text-align:left;
}

.tabs-content-subtitle {
    color: var(--color-1);
    font-size: 16px;
    font-weight: 500;
    margin-bottom: 12px;
    text-align:left;
}

.tabs-content-footer-price {
    color: var(--color-2);
    font-size: 14px;
    font-weight: 300;
    text-align: center;
    margin-top: 12px;
}

/* Title and subtitle left menu header */
.tabs-menu-title {
    font-size: 18px;
    margin-top: 6px;
}

.tabs-menu-subtitle {
    color: var(--color-1);
    font-size:14px;
    font-weight: 500;
}

@media (max-width: 780px) {
.et_pb_tabs_0.et_pb_tabs {
    display: block;
  }
}



/* ########################### */
/* # AVIS CLIENTS # */
/* ########################### */

/* #### SHOW MORE #### */

/* Link */
.morecontent span {
    display: none;
}

.morelink {
    display: block;
    z-index:9
}

/* Show more link btn */
a.morelink{
    color:#00a8ff!important
}


/* #### DEFAULT TEMPLATE REVIEWS #### */

/* Remove icon testimonial */
.dipl_testimonial_quote_icon {
    display: none!important;
}

/* Rating star */
.dipl_testimonial_slider .dipl_testimonial_rating {
    position: absolute!important;
    top: -6px;
    left:6px
}

/* Image réseau */
.dipl_testimonial_author_image {
    max-width: 65px;
    height: 50px!important;
}

/* Reviews title */
h2.abf_title_reviews{
    font-size:16px;
    font-weight:700!important;
    font-family:Source sans pro;
    color:#fff
}

/* Slider title */
.dipl_testimonial_slider h2.abf_title_reviews{
    margin-top:24px!important;
}

/* Reviews description */
.dipl_testimonial_desc p {
    line-height: 1.2!important;
    font-size:14px!important;
}

/* Reviews content */
.abf_description_reviews{
    font-size:14px;
}

/* Title posté sur ... */
.dipl_testimonial_author_designation {
    font-weight:700
}



/* #### STAR ICON #### */

/* Data icon */
.dipl_testimonial_star::after {
    content: "\2605"!important;
}

/* Icon padding and margin */
.dipl_testimonial_rating .dipl_testimonial_star {
    margin:0 1px;
    padding:0 1px
}

/* Rating date */
.dipl_testimonial_slider .dipl_testimonial_author_company {
    position: absolute;
    top: 6px;
    right: 6px;
}


/* #### TRUSTPILOT #### */

/* color */

/* Remplissage 1 étoile */
#trustpilot_reviews .dipl_testimonial_empty_star {
    color: #ffffff;
    background-color: #ff3722;
    line-height:1.1em
}   

/* Remplissage 5 étoiles */
#trustpilot_reviews .dipl_testimonial_filled_star {
    color: #ffffff;
    background-color: #00B67A;
    line-height:1.1em
}

/* Title posté sur Trustpilot */
#trustpilot_reviews .dipl_testimonial_author_designation {
    color: #00B67A;
    font-weight:700
}


/* #### SLIDER LIGHT TEMPLATE REVIEWS #### */

/* Reviews light card */
.light_template_reviews .dipl_single_testimonial_card {
    background:#fff!important;
}

/* Reviews light title */
.light_template_reviews h2.abf_title_reviews {
    color:#111;
}

/* Reviews light description */
.light_template_reviews .abf_description_reviews {
    font-size:14px;
    color:#191919!important;
}



/* ########################################### */
/* ######### DIAPO MODULE SERVICESV1 ######### */
/* ########################################### */

/* Change icons */
.et-pb-arrow-prev:before {
    content: "\23";
}

.et-pb-arrow-next:before {
    content: "\24";
}

/* Row arrow */
.diapo_module_serviceV1 div.et-pb-slider-arrows{
    height:52px;
    position:absolute!important;
    right:0;
    margin-left:60%!important;
}

/* Arrow */
.diapo_module_serviceV1 .et-pb-arrow-next, 
.diapo_module_serviceV1 .et-pb-arrow-prev {
    color: var(--color-1);
    font-size: 32px;
    background: transparent;
    width:52px;
    height:52px;
    top:24px;
    border-radius:32px;
    border:1px solid var(--color-1);
    display:flex;
    align-items:center;
    justify-content:center;	
}

/* Arrow next */
.diapo_module_serviceV1 .et-pb-arrow-next {
    margin-left:62px!important
}

/* Row bullets */
.diapo_module_serviceV1 .et-pb-controllers {
    width:60%!important;
    position:relative!important;
    display:flex;
    left:0;
    bottom: -5px!important;
    padding:10px 0!important;
    min-height:52px!important;
}

/* Bullet inactive */
.diapo_module_serviceV1 .et-pb-controllers a{
    min-width: 12px!important;
    min-height:12px!important;
    border:1px solid var(--color-2);
    opacity:1;
    background-color: var(--color-2)!important;
    border-radius:32px!important;
    margin:4px!important;
}

/* Bullet active */
.diapo_module_serviceV1.et_pb_slider_0 .et-pb-controllers .et-pb-active-control {
    min-width: 28px!important;
    max-height:12px!important;
    padding: 4px!important;
    background-color: var(--color-1) !important;
    border:1px solid var(--color-1);
}

/* #### DESKTOP #### */

/* Row bullets */
@media screen and (min-width: 599px)  {
.diapo_module_serviceV1 .et-pb-controllers {
    margin-left:5%!important;
}

/* Arrow desktop*/
.diapo_module_serviceV1 .et-pb-slider-arrows a,
.diapo_module_serviceV1 div.et-pb-slider-arrows{
    left:-32px;
  }
	
/* Arrow */
.diapo_module_serviceV1 .et-pb-arrow-next, 
.diapo_module_serviceV1 .et-pb-arrow-prev {
    left:60%!important
  }		
}


/* #### MOBILE #### */

/* Arrow prev */
@media screen and (max-width: 599px)  {
.diapo_module_serviceV1 .et-pb-arrow-prev {
    margin-left: -112px!important;

  }
}


/* #### Slider partenaires #### */

/* Icon next and prev */

.swiper-button-next, .swiper-button-prev {
    border: 1px solid #c60505 !important;
    border-radius:32px
}


/* Row next and prev */
.dipl_swiper_navigation {
    margin-top:0!important;
    margin-bottom:52px;
    margin-top:-32px!important;
    display: flex;
    flex-wrap: wrap;
}



/* Row bullet pagination */
.dipl_swiper_pagination {
    position:absolute;
    bottom:72px;
}




/* #################################################################### */
/* ########################### CUSTOM PLUGIN ########################## */
/* #################################################################### */


/* ############################## */
/* # FORM DEFAULT  # */
/* ############################## */

/* Placeholder */
::placeholder,
/* Placeholder extra form */
.nice-select.et_pb_contact_select.input,

/* Placeholder form builder */
.nice-select.divi-form-builder-field.select-field.et_pb_contact_select,

/* Placeholder label and field*/
.de_fb_form_field .field_label,
form p.et_pb_contact_field,

/* Placeholder select2 */
.select2-container--default .select2-selection--single .select2-selection__rendered,

/* Nice select */
select, .nice-select {
    text-transform: none !important;
    font-size:14px!important;
    font-weight:300!important;
    color:#999;
    cursor:pointer;
}

/* Autocomplete */
input:-webkit-autofill {
    -webkit-box-shadow: 0 0 0px 1000px white inset!important;
}

/* Label */
LABEL {
    text-align:left!important
}


/* ############################## */
/* # ABF CONTACT FORM # */
/* ############################## */

/* Form */	
.abf_contact_form form{
    background: transparent!important;
    padding:0!important;
    margin-top:-16px!important
}

/* Input margin */	
.abf_contact_form p.et_pb_contact_field {
    margin-bottom: 12px!important;
}

/* Input */	
.abf_contact_form .et_pb_contact p input, .extra-form-default .et_pb_contact p textarea,

/* Textarea */
.abf_contact_form .et_pb_contact p textarea,

/* Select */
.abf_contact_form select,

/* Nice Select */
.abf_contact_form.de_fb_form .et_pb_contact_select,
.abf_contact_form .nice-select.et_pb_contact_select.input,

/* Select 2 */
.abf_contact_form .select2 {
    background: #fff!important;
    border: 1px solid #d9d9d9!important;
}


/* ### INPUT FOCUS ### */

/* Input focus*/	
.abf_contact_form .et_pb_contact p input:focus, .extra-form-default .et_pb_contact p textarea:focus,

/* Textarea */
.abf_contact_form .et_pb_contact p textarea:focus,

/* Select */
.abf_contact_form select:focus,

/* Nice Select */
.abf_contact_form .nice-select.et_pb_contact_select.input:focus,
.abf_contact_form.de_fb_form .et_pb_contact_select:focus {
    background: #fff!important;
    border: 2px solid var(--color-2)!important;
    color: var(--color-2)!important
}


/* ###  CHECKBOXE & RADIO BUTTON ### */

/* Container */
.et_pb_contact_field_options_wrapper, label {
    padding:0;
    border:0;
    color:#999;
}

/* Checkboxe */
.et_pb_contact p input[type=checkbox]+label i, .et_pb_contact p input[type=radio]+label i {
    width: 26px;
    height: 26px;
    background-color: #fff!important;
    border: 1px solid #d9d9d9;
    margin-top:2px;
}

/* Radio button checked */
.et_pb_contact p input[type=radio]:checked+label i:before {
    background: var(--color-2)!important;
    border-radius: 50%;
    width: 8px;
    height: 8px;
}

/* ######################## */
/* # CONTACT FORM PLUGIN # */
/* ######################## */

/* Loader */
.donut {
    width: 3rem;
    height: 3rem;
    margin: 1rem;
    border-radius: 50%;
    border: 0.3rem solid rgba(151,159,208,.3);
    border-top-color: var(--color-1)!important;
    -webkit-animation: 1.5s spin infinite linear;
    animation: 1.5s spin infinite linear;
}
.donut.multi {
    border-bottom-color: var(--color-1)!important;
}

/* Input margin bottom */
.abf_contact_form .et_pb_module.de_fb_form_field {
    margin-bottom: 6px!important;
}



/* #################################### */
/* # SEND MESSAGE CONFIRMATION # */
/* #################################### */

/* Message non envoyé */
.message_failed {
    font-size: 16px;
    font-weight:700;
    color: var(--color-2)!important;
    line-height: 1.2em;
    text-align: center;
}
/* Message non envoyé background */
.message.message_failed {
    background: #fff;
    padding: 12px;
    border: 3px solid red;
}
/* Icon message non envoyé */
.message.message_failed:before {
    content: "\72";
    font-family: ETModules;
    position: relative;
    display: block!important;
    text-align: center!important;
    color: red;
    font-size: 52px;
    height:42px;
    margin-top: 12px;
}

/* Message envoyé */
.message_success {	
    font-size: 16px;
    font-weight:700;
    color: var(--color-2)!important;
    line-height: 1.2em;
    text-align: center;	
}
/* Message envoyé background */
.message.message_success {
    background: #fff;
    padding: 12px;
    border: 3px solid green;
}
/* Icon message envoyé */
.message.message_success:before {
    content: "\52";
    font-family:ETModules;
    position: relative;
    display: block!important;
    text-align: center!important;
    color:green;
    font-size: 52px;
    height:42px;
    margin-top: 12px;
}



/* ########################### */
/* # ERROR INPUT # */
/* ########################### */

/* Label error remove border */
p.error,
.de_fb_form_field label.error {
    border:0;
    font-weight:500!important;
    color:red!important;
}

/* Label error color */
.bloom_subscribe .error, .de_fb_form_field .error {
    color: red!important;
}

/* SELECT Label error */
.divi-form-builder-field.select-field.et_pb_contact_select.error,

select#de_fb_service.divi-form-builder-field.select-field.et_pb_contact_select.error {
    border:2px solid red!important;
    color:red!important;
}



/* Before Label error */
.et_pb_contact p.error:before,
.de_fb_form_field label.error:before {
    content: "\f05a";
    font-family: "FontAwesome";
    margin-right: 3px;
}


/* Add border input and text color red */
.divi-form-builder-field.textarea-field.error, .divi-form-builder-field.input-field.error,
.de_fb_form_field input.error, .de_fb_form_field select.error, .de_fb_form_field textarea.error, .de_fb_form_field .error ~ span {
    border: 2px red solid!important;
    color:red!important;
}



/* ######################################## */
/* ################### FAQS ############### */
/* ######################################## */

/* #### Faqs divi V2 #### */

/* Icon faq inactif */
.abf_faq_v2 .et_pb_toggle h3.et_pb_toggle_title:before {    
    transition:all .2s ease-out 0s!important;
}

/* Icon faq actif */
.abf_faq_v2 .et_pb_toggle.et_pb_toggle_open h3.et_pb_toggle_title:before {
    transform: rotate(180deg)!important;
    transition:all .2s ease-out 0s!important;
}


/* #### Faqs schema plug #### */

/* Remove default margin */
.et-db #et-boc .et-l .et_pb_column .abf_accordion_faq .et_pb_module {
    margin-bottom:0!important;	
}

/* Title vertical align */
.dipl_faq_page_schema .dipl_faq_accordion .dipl_question_wrapper {
    display: flex;
    align-items: center;
}

/* Border bottom separate */
.et-db #et-boc .et-l .abf_accordion_faq.dipl_faq_page_schema .dipl_faq_page_schema_item{
    border-bottom: 1px solid #d9d9d9!important;	
}

/* Icon toogle faq */
.abf_accordion_faq .dipl_faq_accordion .dipl_question_wrapper::after {
    color: var(--color-2);
}

/* Icon faq active */
.et-db #et-boc .et-l .abf_accordion_faq .dipl_faq_accordion .dipl_faq_page_schema_item.dipl_active .dipl_question_wrapper::after {
    transform: rotate(180deg)!important;
    transition:all 0.2s ease-out 0s!important;
}




/* ############################################################# */
/* ########################### FOOTER ########################## */
/* ############################################################# */

/* #### HORAIRES D'OUVERTURES V1 V2 #### */

/* Row statut */
#open-status2, #open-status {
    margin:6px 0;
    margin-bottom:6px!important;
    display:block;
    text-align:center;
}

/* Hours content */
.openinghours {
    display: block;
    padding: 0;
    background: transparent!important;
    color:#bdbdbd!important;
    border: 0;
    width: 95%!important;
    max-width: 600px;
    margin: 0 auto;
    font-size:16px
}

/* Hours width */
.opening-hours-table {
    border: 0;
    width: 100%;
    margin-left: 0!important;
}

.opening-hours-table tr td {
   width: 100%;
   max-width: 600px;
}

.openinghourscontent {
    width: 100%;
    float: none;
    padding-bottom: 0!important;
}

/* Hours tabs TD */
.openinghours td {
    border-bottom: 1px dashed #333333!important;
    padding: 2px 2px!important;
    border-top: 0px;
}

/* Statut */
.today {
    color: var(--color-1)!important;
    font-weight:700;
}

/* Statut Open or closed */
.openorclosed2:after, .openorclosed:after {
    content: " [statut]";
}

/* Statut open */
.openinghours .hours-open2:after, 
.openinghours .hours-open:after {
    content: " Ouvert";
    color: #fff;
    background: green;
    font-weight: 700;
    margin-left: 4px;
    padding: 0px 6px!important;
    padding-left: 0px!important;
    border-radius: 14px!important;
}

/* Statut closed */
.hours-closed2:after, 
.hours-closed:after {
    content: " Fermé";
    color: #fff;
    background: var(--color-1);
    font-weight: 700;
    margin-left: 4px;
    padding: 0px 6px!important;
    padding-left: 0px!important;
    border-radius: 14px!important;
}

/* Hide hours week closed */
.opens2.hide-hours-tabs, .closes2.hide-hours-tabs {
  display:none;
}

#Dimanche td,
#Sunday td {
    border-bottom:0
}

/* Icon */

/* Statut icon */
.openinghours small.openorclosed:before,
.openinghours small.openorclosed2:before {
    content: "\f05a";
    font-family: "FontAwesome";
    margin-right: 2px;
    color: #bdbdbd !important;
}

/* Today icon */
.today td:first-child:before {
    content: "\f017";
    font-family: "FontAwesome";
    margin-right: 2px;
}



/* #### BOTTOM NOTIFICATION #### */

/* Section */
.at-banner { 
    position: fixed; 
    bottom: 0; 
    right: 0; 
    left: 0; 
    background: var(--color-1); 
    width: 100%; 
    padding: 4px; 
    box-sizing: border-box;     
    color: #fff; 
    -webkit-animation: at-banner-slide-in 0.5s ease forwards; animation: at-banner-slide-in 0.8s ease forwards;
    z-index: 999999!important; 
} 

/* Content */
.at-banner__content { 
    font-size:18px;
    font-weight:300;
    text-size-adjust: none;
    -moz-text-size-adjust: none;
    -webkit-text-size-adjust: none;
    -ms-text-size-adjust: none;
    display: flex; 
    align-items: center; 
    flex-direction: row; 
    justify-content: center;
    width: 100%; 
    margin: 0 auto; 
    padding: 10px 40px; 
    box-sizing: border-box; 
    z-index: 999999!important; 
} 

.at-banner__text { 
    margin: 0 22px 0 0;
} 

div.at-banner__text p{
    margin: 0 22px 0 0;
    line-height: 1.2;
}

/* Bouton Notification */
.at-banner__button { 
    display: inline-block;
    color: var(--color-1);
    background-color: #fff;
    text-decoration: none; 
    white-space: nowrap;
    padding: 8px 12px!important;
    border-radius: 4px;
    font-weight:700;
}

/* Icon bouton */
.at-banner__button:before {
    content: "\f879"; 
    font-family: "FontAwesome";
    margin-right: 8px;
}

/* Bouton hover */
.at-banner__button:hover {
    color:#fff;
    background-color: var(--color-2);
}

/* X Bouton close notification */
.at-banner__close { 
    position: absolute; 
    top: 50%; 
    right: 20px; 
    width: 20px; 
    height: 20px; 
    transform: translateY(-50%); 
    cursor: pointer;    
} 

.at-banner__close:before, .at-banner__close:after { 
    content: ""; 
    position: absolute; 
    top: 50%; 
    left: 50%; 
    display: block; 
    background: #fff; 
    width: 100%; 
    height: 3px; 
    border-radius: 2px; 
    transform-origin: center; 
} 

/* X Icon close animation */
.at-banner__close:before { transform: translate(-50%, -50%) rotate(-45deg); } 

.at-banner__close:after { transform: translate(-50%, -50%) rotate(45deg); } @-webkit-keyframes at-banner-slide-in { 0% { transform: translateY(-150%); } 100% { transform: translateY(0%); } } @keyframes at-banner-slide-in { 0% { transform: translateY(-150%); } 100% { transform: translateY(0%);} }

/* Visibility Notification */
.hide-header {
    opacity: 0;
    visibility: hidden;
}

.show-header {
    opacity: 1;
    margin-top: 0px;
}

/* Animation Notification */
#global-header-section {
    -webkit-transition: all 0.5s ease;
    -moz-transition: all 0.5s ease;
    -o-transition: all 0.5s ease;
    -ms-transition: all 0.5s ease;
    transition: all 0.5s ease;
}

/* ### RESPONSIVE BOTTOM NOTIFICATION ### */

/* Content*/
@media all and (max-width: 499px) {
.at-banner__content {
    display: block;
    align-items: center;
    flex-direction: row;
    justify-content: center;
    width: 100%;
    margin: 0 auto;
    padding: 6px;
    box-sizing: border-box;
    z-index:999999;
}
	
.at-banner__text {
    margin: 0!important;
}
	
/* Bouton Notification */
.at-banner__button { 
    border-radius: 4px;
    margin-left: -22px;
    margin-right: auto;
    margin-top: 8px;
    margin-bottom: 4px;
    padding: 6px 16px;
  }
}



/* ### TABLE MAKER ### */

/* Hidden titre */
@media (min-width: 980px) {
#abf_footer_section_tabs	
.hidden-titre {
    display: none;
  }
}

/* Footer title tabs */ 
#abf_footer_section_tabs .dvmd_table_maker_0_tb_footer .dvmd_tm_tcell.dvmd_tm_chead .dvmd_tm_cdata {
    font-family: "Roboto Slab"!important;
    font-weight: 700!important;
    text-transform: none;
}

/* Active container margin bottom */ 
#abf_footer_section_tabs .dvmd_tm_tblock.dvmd_tm_tblock.dvmd_tm_cblock.dvmd_tm_active {
    margin-bottom:-42px;
}

/* Footer icon accordion tabs */ 
#abf_footer_section_tabs .dvmd_table_maker_0_tb_footer .dvmd_tm_accordion .dvmd_tm_toggle:focus {
    box-shadow: 0 0 0 2px #01254c!important;
}

/* Table maker icon active */
.dvmd_table_maker_0_tb_footer .dvmd_tm_accordion .dvmd_tm_active .dvmd_tm_toggle i:after {
    content: "\4d"!important;
    transform: rotate(90deg)!important;
    transition:all .5s ease-out 0s!important;
}

/* Table maker icon inactive */
.dvmd_table_maker_0_tb_footer .dvmd_tm_accordion .dvmd_tm_toggle i:after {
    content: "\4c"!important;
    transform: rotate(180deg)!important;
    transition:all .5s ease-out 0s!important;	
}

/* Icon cursor */ 
#abf_footer_section_tabs .dvmd_table_maker_0_tb_footer .dvmd_tm_accordion .dvmd_tm_toggle:hover {
    cursor: pointer!important
}

/* ### FOOTER MENU ### */

/* Vertical menu */
.abf_vertical_menu .nav li li a, .abf_vertical_menu .nav li li a:hover {
    text-transform: none;
}

/* Display block */
.abf_vertical_menu .et_pb_menu_inner_container,
.abf_vertical_menu .et_pb_menu__wrap,
.abf_vertical_menu .et_pb_menu__menu,
.abf_vertical_menu.et_pb_menu .et_pb_menu__menu>nav,
.abf_vertical_menu.et_pb_menu .et_pb_menu__menu>nav>ul {
    display: block!important;
}

/* Remove hamburger menu */
.abf_vertical_menu .et_mobile_nav_menu {
    display: none!important;
}

/* Link */
.abf_vertical_menu a {
    background: transparent;
    padding: 0px 6px 6px 0px!important;
    font-size: 16px;
    color: #bdbdbd!important;
    border-bottom: 1px dashed #333333!important;
    width: 98%;
}

/* Icon link before */
#footer_menu .abf_vertical_menu a:before {
    content: "\24";
    font-family: ETmodules;
    font-weight: bold;
    padding-right: 4px;
    bottom: -2px;
    position: relative;
}

/* Lien actif */
.abf_vertical_menu.et_pb_menu_0_tb_footer.et_pb_menu .et-menu-nav li.current-menu-item a, .et_pb_menu_1_tb_footer.et_pb_menu .et-menu-nav li.current-menu-item a {
    color: #C60505!important;
    padding-left: 0;
    font-size: 17px;
    font-weight: 900;
    pointer-events:none !important;
}

/* Lien hover */
.abf_vertical_menu .et-menu a:hover {
    color: #c60505!important;
    font-size: 17px;
    font-weight: 800;
}

/* ### COPYRIGHT ### */

/* Link copyright */
#footer_copyright a {
    background: #01254c;
    color: #c60505;
    padding:0 8px;
    border-radius: 32px;
    font-size: 22px
}

/* Responsive link copyright */
@media (max-width: 640px) {  
#footer_copyright a {
    display: inline-block!important;
    margin-top: 4px;
  }
}


/* ### RATE MY POST ### */

/* Stars background */
i.js-rmp-rating-icon.rmp-icon.rmp-icon--ratings.rmp-icon--star.rmp-icon--full-highlight{
    font-size:32px!important;
    background: #293b51!important;
    border-radius:32px;
    border:1px solid var(--color-1)!important;
    padding:6px;
    margin:1px
}
/* Stars background */
i.js-rmp-rating-icon.rmp-icon.rmp-icon--ratings.rmp-icon--star.rmp-icon--full-highlight:hover { 
    background: var(--color-2)!important;
}



/* Input reviews */
.rmp-widgets-container.rmp-wp-plugin.rmp-main-container .rmp-feedback-widget__input {
    display: block;
    background: #fff !important;
    color: var(--color-2)!important;
    margin-left: auto;
    margin-right: auto;
    min-width: 242px;
    max-width: 630px;
    max-height: 132px;
    margin-bottom: 0.4rem;
    overflow-y: visible!important;
}

/* Bouton send reviews */
button.rmp-feedback-widget__btn.rmp-btn.rmp-btn--large.js-rmp-feedback-button {
    background: var(--color-1)!important;
    color: #fff;
    min-width: 242px;
}
/* Géolocalisation IP */
.rmp-widgets-container.rmp-wp-plugin.rmp-main-container .rmp-feedback-widget__text {
    margin: 0 0 0.4rem 0;
    color: var(--color-1);
    font-size:12px;
}

/* Responsive input reviews */
@media (max-width: 479px) {
button.rmp-feedback-widget__btn.rmp-btn.rmp-btn--large.js-rmp-feedback-button,	
.rmp-widgets-container.rmp-wp-plugin.rmp-main-container .rmp-feedback-widget__input {
    min-width:90%;
  }
}