* {
    box-sizing: border-box;
    -moz-osx-font-smoothing: grayscale;
    -webkit-font-smoothing: antialiased; 
    font-smoothing: antialiased; 

}

html {
    font-size: 100%;
    -webkit-text-size-adjust: 100%;
    -ms-text-size-adjust: 100%;
}


html, body {
    box-sizing: border-box;
    font-family: 'Montserrat', helvetica, arial, lucida, sans-serif;
    font-size: 1rem;
    line-height: 1.4rem;
    font-weight: 400;
    font-style: normal;
    background: #fff;
    color: #3f3f3f;
    text-rendering: optimizeLegibility; 
    word-wrap: normal !important;
    -webkit-hyphens: none !important;
    hyphens: none !important;
    -webkit-word-break: normal !important;
    word-break: normal !important;
}

@font-face {
  font-family: 'FontAwesome';
  font-style: normal;
  font-weight: normal;
  src: url("fonts/font-awesome/fa-brands-400.eot");
  src: url("fonts/font-awesome/fa-brands-400.eot?#iefix") format("embedded-opentype"),
       url("fonts/font-awesome/fa-brands-400.woff2") format("woff2"),
       url("fonts/font-awesome/fa-brands-400.woff") format("woff"),
       url("fonts/font-awesome/fa-brands-400.ttf") format("truetype"),
       url("fonts/font-awesome/fa-brands-400.svg#fontawesome") format("svg");
}


:root {
    --gris-dark: #3f3f3f; 
    --gris-light: #efefef; 
    --bleu: #0192d5; 
    --rouge: #bc0505;
    --strong: 800;
    --leftright: 4vw;
    --cat-public: #29b05c;
    --cat-competition: #c91d1d;
    --cat-location: #ee7a1a;
    --cat-gratuit: #ca7cc5;
    --cat-fermeture: #222222;
    --cat-karting: #33689e;
    --cat-jeunes: #75b0e8;
    --cat-r3: #7343bc;
    --cat-abonne: #116315;
    --cat-ecole: #dbbc12;
    --cat-acrobatie: #115222;
}


.strong {
    font-weight: 800;
}

.bkg-blanc {
    background: #fff;
}

.bkg-bleu {
    background: var(--bleu);
}

.bkg-gris {
    background: var(--gris-dark);
}

.bkg-gris-light {
    background: var(--gris-light);
}

.bkg-piste {
    background: url(img/bkg-piste.jpg) center center no-repeat;
    background-size: cover;
}


.bkg-gris,
.bkg-gris strong,
.bkg-gris p,
.bkg-gris h2,
.bkg-gris h3,
.bkg-gris h4,
.bkg-gris h5,
.bkg-gris p,
.bkg-gris a,
.bkg-piste p,
.bkg-piste h2,
.bkg-piste h3,
.bkg-piste h4,
.bkg-piste h5,
.bkg-piste p,
.bkg-piste a {
    color: #fff;
}



p {
    word-wrap: normal !important;
    -webkit-hyphens: none !important;
    hyphens: none !important;
    -webkit-word-break: normal !important;
    word-break: normal !important;
    margin-bottom: 10px;
    font-family: 'Montserrat', helvetica, arial, lucida, sans-serif;
    margin-top: 0;
    font-style: normal;
    position: relative;
}

.entry-content p {
    margin: 0;
    margin-bottom: 10px;
}

.small,
p.small {
    font-size: .8rem;
    line-height: 1.1rem;
}

.big p,
.big,
p.big {
    font-size: 1.25rem;
    line-height: 1.5rem;
    margin-bottom: 15px;
}

.superbig,
.superbig p {
    font-size: 1.8rem;
    line-height: 1.9rem;
}

.moyenbig {
    font-size: 3.7rem;
    line-height: 3.8rem;
}


.bigbig {
    font-size: 5rem;
    line-height: 5rem;
    letter-spacing: -2px;
    margin-bottom: 0;
}

.megabig {
    font-size: 7rem;
    line-height: 6.5rem;
    margin-bottom: 0;
    letter-spacing: -2px;
}

.cap {
    text-transform: uppercase;
}

ul, ol {
    margin: 0;
}

a {
    text-decoration: none;
    outline: none;
}

a,
a:hover,
a:visited,
a::after,
a:hover::after {
    outline-style: none !important;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
    text-decoration: none !important;
}

section a {
    text-decoration: underline !important;
}

a,
a:visited {
    
}

a img {
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
}

img.aligncenter {
    margin: 0 auto 20px;
    text-align: center;
}


p a {
    font-weight: bold;
    color: var(--gris-dark);
    display: inline-block;
}

:focus {
    outline: none !important;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	font-style: normal;
    font-weight: 800;
    margin: 0;
}


h1 {
    letter-spacing: -1px;
}

h1.bleu {
    font-size: 2.5rem;
    margin: 0;
    line-height: 2.6rem;
}

h2 {
    font-size: 3.75rem;
    line-height: 3.8rem;
    margin-bottom: 40px;
    letter-spacing: -1px;
}

h2.h2small {
    font-size: 2.5rem;
    line-height: 2.5rem;
    margin-bottom: 30px;
}

h1.after::after,
.contenu-flexible h2::after,
h2.after::after {
    content: '';
    display: inline-block;
    background: var(--bleu);
    width: 120px;
    height: 2px;
    margin-left: 8px;
}

h1.before,
h2.before,
h2.big-nombre {
    max-width: 80%;
}

.flex-item-moitie h1.before,
.flex-item-moitie h2.before,
.flex-item-moitie h2.big-nombre {
    max-width: 100%;
}

h1.before::before,
h2.before::before {
    content: '';
    display: block;
    width: 140px;
    height: 140px;
    margin-bottom: 20px;
    background: url(img/fleche-bleue-cercle.png) top left no-repeat;
    background-size: contain;
}


h2.big-nombre::before {
    content: '';
    display: block;
    font-weight: 800;
    font-size: 10rem;
    line-height: 9.2rem;
    margin-bottom: 0;
    letter-spacing: -1px;
}

h2.big-nombre.big01::before {
    content: '01';
}

h2.big-nombre.big02::before {
    content: '02';
}

h2.big-nombre.big03::before {
    content: '03';
}

h2.big-nombre.big04::before {
    content: '04';
}

h2.big-nombre.big05::before {
    content: '05';
}

h2.big-nombre.big06::before {
    content: '06';
}



h1.after {
    font-size: 3.75rem;
    line-height: 3.8rem;
    margin-bottom: 40px;
    letter-spacing: -1px;
}


h3 {
    font-size: 1.8rem;
    line-height: 1.9rem;
    margin-bottom: 15px;
    letter-spacing: -1px;
}


h3.after {
    font-size: 2.5rem;
    line-height: 2.6rem;
    margin-bottom: 30px;
    margin-top: 25px;
    display: inline-block;
}

h3.after::after {
    content: '';
    display: block;
    height: 22px;
    width: 100%;
    background: var(--bleu);
    margin-top: -15px;
}

h3.after.gris-dark::after {
    content: '';
    display: block;
    height: 22px;
    width: 100%;
    background: var(--bleu);
    margin-top: -15px;
    opacity: .2;
}

.bkg-gris h3.after.gris-dark::after {
    opacity: 1;
}


body.page-template-page-texte h3 {
    margin-top: 25px;
    color: var(--bleu);
}

body.page-template-page-texte h1.before {
    max-width: 100% !important;
}


h4 {
    margin-bottom: 15px;
}


h5 {
}


a.cta {
    display: inline-block;
    font-weight: 800;
    text-transform: uppercase;
    font-size: 1rem;
    text-align: center;
    padding: 12px 30px;
    margin: 20px;
    box-shadow: 0px 12px 12px rgba(0, 0, 0, .2);
    color: #fff;
    text-decoration: none !important;
    position: relative;
}


a.cta.cta-small {
    display: inline-block;
    font-weight: 800;
    text-transform: uppercase;
    font-size: .7rem;
    padding: 6px 14px;
    margin: 20px;
    color: #fff;
    box-shadow: 0 0 0;
    text-decoration: none !important;
    position: relative;
}


a.cta.displayblock {
    display: inline-block;
}

a.cta.displaynone {
    display: none;
}

a.cta.cta-bleu,
a.cta.cta-bleu.cta-small {
    background: var(--bleu);
}

a.cta.cta-rouge,
a.cta.cta-rouge.cta-small {
    background: var(--rouge);
}

a.cta:hover {
    background: var(--gris-dark);
    color: #fff !important;
}


a.cta.picto {
    padding-left: 60px;
}

a.cta.picto::before {
    content: '';
    position: absolute;
    top: 10px;
    left: 20px;
    z-index: 6;
    color: #fff;
    font-size: 1.6rem;
    font-family: 'Material icons';
    font-weight: 400;
}

a.cta.picto.picto-calendrier::before {
    content: '\e916';
}

a.cta.picto.picto-resa::before {
    content: '\e53f';
}

a.cta-light {
    font-weight: 800;
    text-decoration: none !important;
    color: var(--gris-dark);
    margin: 20px 0;
    display: inline-block;
}

a.cta-light.blanc {
    color: #fff;
}

a.cta-light::before {
    content: '';
    display: inline-block;
    margin-right: 4px;
    background: url(img/fleche-bleue.png) center right no-repeat;
    overflow: hidden;
    width: 82px;
    height: 10px;
    vertical-align: middle;
    -webkit-transition: all .3s;
    transition: all .3s;
}

a.cta-light:hover::before {
    width: 65px;
    -webkit-transition: all .3s;
    transition: all .3s;
}


a {
    text-decoration: none !important;
    color: var(--gris-dark);
}

a.strong {
    font-weight: 800;
}

a:hover {
    color: var(--bleu);
}


blockquote p {
    font-style: italic;
    font-size: .9rem;
    line-height: 1.3rem;
    position: relative;
    margin-left: 0;
    padding-left: 0;
    margin: 12px 0;
}

blockquote {
    position: relative;
    clear: both;
}

blockquote::before {
    content: '';
    display: block;
    position: absolute;
    left: -30px;
    top: 0;
    width: 6px;
    height: 100%;
    background: var(--bleu);
}

.small-screen {
    display: none;
    padding: 55px 0 0;
    background: var(--gris-light);
}

.small-screen .formules-home {
    position: relative;
    bottom: auto;
}

.small-screen .formules-home .flex-item-quart .partie-basse {
    box-shadow: 0 0 0 !important;
}

.small-screen .formules-home .flex-item-quart.module-formule:hover {
    margin-top: 0 !important;
}

.small-screen .formules-home .flex-item-quart {
    margin-bottom: 40px;
}


/*************************************************************************/
/************************* GESTION COOKIES *******************************/
/*************************************************************************/

.youtube_player {
}

.youtube_player iframe {
}

iframe {
}





/*************************************************************************/
/************************* STRUCTURE *************************************/
/*************************************************************************/

#content {
    margin-top: 0;
    width: 100%;
}


.wrap {
    width: 100%;
    position: relative;
    padding: 0 var(--leftright);
}



.container800 {
    width: 850px;
    max-width: 90%;
    margin: 0 auto 40px;
}

.container1150 {
    width: 1150px;
    max-width: 95%;
    margin: 40px auto;
}

.hentry {
    background: none;
    border-radius: 0;
    border: 0;
    margin-bottom: 0;
}

.entry-content {
    padding: 0;
}

.hentry header {
    border: 0;
    border-bottom: 0;
    padding: 0;
}

.hentry footer {
    border: 0;
    padding: 0;
}


.clearboth {
    clear: both;
}

.floatleft {
    float: left;
}

.floatright {
    float: right;
}

.center {
    text-align: center;
}

.right {
    text-align: right;
}

.display-table {
    display: table;
    vertical-align: middle;
    height: 100%;
    width: 100%;
}

.display-table-cell {
    display: table-cell;
    vertical-align: middle;
    height: 100%;
    width: 100%;
}

.blanc p,
p.blanc,
.blanc {
    color: #fff;
}

.bleu,
p.bleu {
    color: var(--bleu);
}

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

.actu-sans-image {
    background: url(img/actu-sans-image.jpg) center center no-repeat;
    background-size: cover;
}


.widget {
    padding: 0;
    margin: 0;
}

.widgettitle {
    border: 0;
    margin-bottom: 0;
}

.padding80 {
    padding: 80px;
}

.padding60 {
    padding: 60px;
}

.padding50 {
    padding: 50px;
}

.padding40 {
    padding: 40px;
}

.padding30 {
    padding: 30px;
}

.padding20 {
    padding: 20px;
}

.padding15 {
    padding: 15px;
}

.padding10 {
    padding: 10px;
}

.cartouche {
    margin: 30px auto;
}

.container-flex {
    display: -webkit-flex;
    display: -webkit-box;
    display: -ms-flexbox;    
    display: flex;
    position: relative;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: space-between;
    justify-content: space-between;
}

.container-flex-center {
    display: -webkit-flex;
    display: -webkit-box;
    display: -ms-flexbox;    
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: center;
    justify-content: center;
}

.container-flex-nowrap {
    display: -webkit-flex;
    display: -webkit-box;
    display: -ms-flexbox;    
    display: flex;
    -webkit-flex-wrap: nowrap;
    flex-wrap: nowrap;
    -webkit-justify-content: space-between;
    justify-content: space-between;
}


.container-flex-start {
    display: -webkit-flex;
    display: -webkit-box;
    display: -ms-flexbox;    
    display: flex;
    flex-wrap: wrap;
    -webkit-justify-content: flex-start;
    justify-content: flex-start;
}


.flex-item-moitie {
    -webkit-justify-content: space-between;
    justify-content: space-between;
    width: 48%;
    position: relative;
}


.flex-item-quart {
    -webkit-justify-content: space-between;
    justify-content: space-between;
    width: 24%;
    position: relative;
}

.flex-item-std {
    -webkit-justify-content: space-between;
    justify-content: space-between;
    position: relative;
}


.flex-item-trois-quart {
    -webkit-justify-content: space-between;
    justify-content: space-between;
    width: 70%;
    position: relative;
}



.flex-item-tiers {
    -webkit-justify-content: space-between;
    justify-content: space-between;
    width: 31%;
    position: relative;
}

.flex-item-deux-tiers {
    -webkit-justify-content: space-between;
    justify-content: space-between;
    width: 67%;
    position: relative;
}

.flex-item-auto {
    -webkit-justify-content: space-between;
    justify-content: space-between;
    position: relative;
}

.flex-item-cinq {
    -webkit-justify-content: space-between;
    justify-content: space-between;
    width: 18%;
    position: relative;
}

.flex-item-40 {
    -webkit-justify-content: space-between;
    justify-content: space-between;
    width: 38%;
    position: relative;
}

.flex-item-60 {
    -webkit-justify-content: space-between;
    justify-content: space-between;
    width: 58%;
    position: relative;
}

.flex-item-70 {
    -webkit-justify-content: space-between;
    justify-content: space-between;
    width: 70%;
    position: relative;
}






/************************************************************************************************************************************/
/************************************************** SCROLL TO TOP *******************************************************************/
/************************************************************************************************************************************/

#toTop {
    display: none;
    position: fixed;
    bottom: 0;
    left: 50%;
    margin-left: -25px;
    z-index: 8222;
}

#toTop::before {
    content: '\e5c7';
    font-family: 'Material Icons';
    width: 50px;
    height: 40px;
    display: block;
    background: var(--bleu);
    font-size: 1.8rem;
    text-align: center;
    line-height: 30px;
    -webkit-transition: all 0.4s;
    transition: all 0.4s;
    color: #fff;
    margin-bottom: 0;
    opacity: .7;
}

#toTop::after {
    position: absolute;
    z-index: 3;
    content: 'TOP';
    font-size: .6rem;
    color: #fff;
    font-weight: 800;
    bottom: 3px;
    width: 100%;
    text-align: center;
}


#toTop:hover::before {
    opacity: 1;

    -webkit-transition: all 0.2s;
    transition: all 0.2s;
}

/**********************************************************************************************************************************************************/
/********************************************************************** TRANSITION PAGES ******************************************************************/
/**********************************************************************************************************************************************************/

.loader-site {
    background: #fff;
    width: 100%;
    height: 100%;
    position: fixed;
    z-index: 15000;
}

#loader-wrapper {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1000;
}


#lr-loading {
    background: url(img/circuit-anim.gif) center center no-repeat;
    width: 160px;
    height: 102px;
    background-size: contain;
    position: absolute;
    left: 50%;
    margin-left: -80px;
    top: 35%;
}

#lr-loading::after {
    content: 'Chargement';
    font-size: .85rem;
    color: var(--bleu);
    font-weight: 800;
    position: absolute;
    top: 105px;
    width: 100%;
    text-align: center;
}


#holder {
	opacity: 0;  
	transition: opacity 0.3s ease-in-out;
 	-moz-transition: opacity 0.3s ease-in-out;
 	-webkit-transition: opacity 0.3s ease-in-out;
}

#holder.visible {
	opacity: 1;
	transition: opacity 0.4s ease-in-out;
 	-moz-transition: opacity 0.4s ease-in-out;
 	-webkit-transition: opacity 0.4s ease-in-out;
}


/*************************************************************************/
/**************************** HEADER *************************************/
/*************************************************************************/

header.header {
    position: fixed;
    z-index: 2112;
    top: 0;
    left: 0;
    width: 100%;
    height: 120px;
    margin: 0 auto;
    background-color: #fff;
    box-shadow: 0px 15px 15px rgba(0, 0, 0, 0);
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
}

.logo-header {
    position: absolute;
    top: 20px;
    z-index: 6001;
    width: 250px;
    height: 86px;
    /*background: url(img/carole-logo.png) top left no-repeat;*/
    background: url(img/carole-logo2021.png) top left no-repeat;
    background-size: contain;
}

#inner-header {
    position: relative;
}


body.home header.header.scroll,
header.header.scroll {
    background: #fff;
    box-shadow: 0px 4px 15px rgba(0, 0, 0, .2);
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
    height: auto;
}

header.header.scroll .logo-header {
    top: 10px;
    height: 60px;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
}

header.header.scroll #wpmega-menu-main-nav {
    margin-top: -20px;
}

header.header.scroll .top-header {
    opacity: 0;
    visibility: hidden;
}

header.header.scroll .top-header a {
    cursor: default;
    pointer-events: none;
}


/*************** RECHERCHE ***************/


.declenche-search {
    position: absolute;
    right: 15px;
    top: 10px;
}

.declenche-search::after {
    content: '\e8b6';
    font-family: 'Material icons';
    color: var(--gris-dark);
    font-size: 1.4rem;
    display: block;
    position: relative;
}

#search-2 {
    position: absolute;
    right: 65px;
    top: -150px;  
    -webkit-transition: all 0.4s;
    transition: all 0.4s;
}

#search-2.actif {
    top: 50px; 
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
}

#search-2 input#s {
    width: 350px;
    height: 60px;
    border-radius: 5px;
    background: #fff;
    max-width: 90%;
    font-size: .9rem;
    box-shadow: 0px 0 14px rgba(0, 0, 0, .2);
}


#search-2 #searchsubmit {
    display: none;
}



/*************************************************************************/
/******************************* MENUS ***********************************/
/*************************************************************************/

/***********************/
/******* TOP HEADER ****/
/***********************/

.top-header {
    margin-top: 10px;
    z-index: 8541;
    position: relative;
}

.sidebar-subheader,
.menu-menu-top-header-container {
    text-align: right;
}

#menu-menu-top-header {
    display: inline-block;
    text-align: right;
}

.top-header ul li {
    display: inline-block;
}

.top-header ul li a {
    font-size: .8rem;
    color: var(--gris-dark);
    padding: 2px 10px;
    border-left: 1px solid var(--bleu);
}

.top-header ul li:first-child a {
    border: 0;;
}

.top-header ul li a:hover {
    color: var(--bleu);
}


/***********************/
/*** MENU PRINCIPAL ****/
/***********************/


#wpmega-menu-main-nav {
    margin: 0 auto 0;
    text-align: center;
    display: -webkit-flex !important;
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
    -webkit-flex-wrap: nowrap;
    flex-wrap: nowrap;
    -webkit-justify-content: space-around;
    justify-content: space-around;
    width: 960px;
    
}

#wpmega-menu-main-nav > li {
    flex-basis: auto;
    margin: auto !important;
}


#wpmega-menu-main-nav li > a {
    font-weight: var(--strong);
    color: var(--gris-dark);
    font-family: inherit;
    font-size: 1rem;
    margin-left: 0;
    line-height: 1.4rem;
    padding: 15px 25px;
/*    position: absolute; */
    z-index: 6003;
    text-align: center;
}

#wpmega-menu-main-nav li:hover {
    background: none;
}

.wp-megamenu-main-wrapper.wpmm-orientation-horizontal ul.wpmm-mega-wrapper > li > a {
    text-transform: none;
}

/*** FLECHE BLEUE SI SOUS-MENU ****/
#wpmega-menu-main-nav li > a::before {
    content: '\e5c5';
    display: block;
    position: absolute;
    top: 15px;
    right: 0;
    font-family: 'Material icons';
    font-size: 1.2rem;
    color: var(--bleu);
    background: none;
    width: auto;
    height: auto;
}



/*** MASQUER FLECHE SI PAS DE SOUS-MENU ****/
#wpmega-menu-main-nav li.wpmega-flyout-horizontal-right > a::before {
    display: none;
}


#wpmega-menu-main-nav li > a::after {
    content: '';
    display: block;
    margin-top: 4px;
    margin-left: 0;
    right: auto;
    position: relative;
    top: auto;
    background: var(--bleu);
    width: 0;
    height: 6px;
}

#wpmega-menu-main-nav li.active-show > a::after,
#wpmega-menu-main-nav li > a:hover::after {
    width: 36px;
}

.wpmm-sub-menu-wrap {
    position: fixed !important; 
    top: 0 !important;
    width: 100%;
    z-index: 3001 !important;
}

.wpmega-clean-white .wpmm-mega-wrapper > li:hover, .wpmega-clean-white .wpmm-mega-wrapper > li.current-menu-item {
    background: none;
}

/***********************/
/****** SOUS-MENUS *****/
/***********************/


.wpmm-sub-menu-wrap {
    top: -500px !important;
}

.wp-megamenu-main-wrapper.wpmm-orientation-horizontal.wpmm-slide ul.wpmm-mega-wrapper li .wpmm-sub-menu-wrap, .wp-megamenu-main-wrapper.wpmm-orientation-horizontal.wpmm-slide ul.wpmm-mega-wrapper li.wpmega-horizontal-left-edge .wpmm-sub-menu-wrap, .wp-megamenu-main-wrapper.wpmm-orientation-horizontal.wpmm-slide ul.wpmm-mega-wrapper li.wpmega-horizontal-center .wpmm-sub-menu-wrap {
    left: 0 !important;
}

.wp-megamenu-main-wrapper.wpmm-orientation-horizontal ul.wpmm-mega-wrapper li .wpmm-sub-menu-wrap {
    height: auto;
    padding: 120px 20px 40px;
    text-align: left;
}


.wpmm-sub-menu-wrap li {
    margin-bottom: 0;
    margin: 0;
}

.wpmm-sub-menu-wrap a::before,
.wpmm-sub-menu-wrap a::after {
    content: '' !important;
    display: none !important;
}

.wpmm_megamenu ul.wp-mega-sub-menu li a {
    font-weight: 400 !important;
    text-align: left !important;
    padding: 6px 0 !important;
    position: relative !important;
    width: auto !important;
    height: auto !important;
    top: auto !important;
    height: auto;
    font-family: inherit !important;
    text-transform: none !important;
    color: var(--bleu) !important;
}

.wpmm-sub-menu-wrap ul li h4.wpmm-mega-block-title,
.wpmm-sub-menu-wrap ul li.wp-mega-menu-header > a.wp-mega-menu-link span.wpmm-mega-menu-href-title {
    font-weight: 400 !important;
    font-size: 1rem;
    line-height: 1.4rem;
    text-align: left;
    color: var(--bleu) !important;
    text-align: left;
    padding: 0 !important;
    position: relative !important;
    width: auto !important;
    height: auto !important;
    top: auto !important;
    font-family: inherit !important;
    text-transform: none !important;
    margin-bottom: 0;
}

.wpmm-sub-menu-wrap ul li.wp-mega-menu-header > a.wp-mega-menu-link span::after {
    content: '';
    display: inline-block;
    width: 0;
    height: 2px;
    background: var(--bleu);
    margin-left: 5px;
    -webkit-transition: all .3s;
    transition: all .3s;
}

.wpmm-sub-menu-wrap ul li.wp-mega-menu-header > a.wp-mega-menu-link:hover span::after {
    width: 40px;
    -webkit-transition: all .3s;
    transition: all .3s;
}


.wpmm-sub-menu-wrap ul li.wp-mega-menu-header > a.wp-mega-menu-link {
    margin-bottom: 0;
    display: inline-block;
}


.wpmm-sub-menu-wrap ul.wp-mega-sub-menu > li.wp-mega-menu-header > a span.wpmm-mega-menu-href-title {
    font-weight: 400 !important;
}


.wpmm-sub-menu-wrap.wpmm-mega-slidedown {
    box-shadow: 0px 3px 5px rgba(200,200,200,0.2) !important;
    top: 0 !important;
}


.wp-megamenu-main-wrapper.wpmega-clean-white.wpmm-orientation-horizontal {
    border: 0;
}


.wpmm-sub-menu-wrapper.wpmm-menu0 {
    width: 700px;
    margin: 0 auto;
}



/****************************/
/******* RESEAUX SOCIAUX ****/
/****************************/

li.twitter,
li.facebook,
li.instagram {
    display: inline-block;
    width: auto !important;
    margin: 0 10px 0 0 !important;
}

li.twitter a::after,
li.facebook a::after,
li.instagram a::after {
    content: '';
    color: var(--gris-dark);
    display: inline-block;
    font-size: 1rem;
    font-family: 'fontAwesome';
}

section.home-instagram li.twitter a::after,
section.home-instagram li.facebook a::after,
section.home-instagram li.instagram a::after {
    font-size: 2rem;
}

li.facebook a::after {
    content: '\f39e' !important;
}

li.instagram a::after {
    content: '\f16d' !important;
}

li.twitter a::after {
    content: '\f099' !important;
}

li.twitter a:hover::after,
li.facebook a:hover::after,
li.instagram a:hover::after {
    color: var(--bleu);
}


/****************************/
/******* LATERAL FIXE *******/
/****************************/


.menu-lateral-fixe {
    position: fixed;
    right: -120px;
    top: 15%;
    z-index: 2115;
}

#menu-menu-fixe-lateral li {
    width: 180px;
    height: 60px;
    background: var(--bleu);
    margin: 0;
    position: relative;
    -webkit-transition: all .3s;
    transition: all .3s;
}

#menu-menu-fixe-lateral li.reservation {
    background: var(--rouge);
}

#menu-menu-fixe-lateral li:hover {
    margin-left: -120px;
}


#menu-menu-fixe-lateral li a {
    padding-left: 62px;
    line-height: 60px;
    font-weight: 800;
    color: #fff;
    font-size: .85rem;
    height: 60px;
    position: absolute;
    width: 100%;
}


#menu-menu-fixe-lateral li.webcam {
/*    display: none; */
}


#menu-menu-fixe-lateral li a::before {
    content: '';
    display: block;
    position: absolute;
    font-family: 'Material icons';
    font-size: 2rem;
    width: 60px;
    text-align: center;
    line-height: 60px;
    color: #fff;
    left: 0;
}

#menu-menu-fixe-lateral li.reservation a::before {
    content: '\e53f';
}

#menu-menu-fixe-lateral li.calendrier a::before {
    content: '\e916';
}

#menu-menu-fixe-lateral li.webcam a::before {
    content: '\e04b';
}

#menu-menu-fixe-lateral li.meteo-carole a::before {
    content: '\e430';
}

#menu-menu-fixe-lateral li.acces a::before {
    content: '\e55f';
}



/****************************/
/**** MENU RESPONSIVE *******/
/****************************/

#responsive-menu-container {
    z-index: 9999 !important;
}

button.rmp_menu_trigger {
    z-index: 9997 !important;
}

.wpmegamenu-toggle.wpmega-enabled-menutoggle {
    display: none !important;
    visibility: hidden !important;
}

#responsive-menu-title,
.responsive-menu-item > a,
.rmp-menu-title a {
    font-weight: 800;
    padding-bottom: 10px;
}

.rmp-container ul li {
    text-align: left !important;
    margin-bottom: 15px !important;
}

#rmp-menu-wrap-11044 .rmp-menu-item-link {
    color: var(--bleu) !important;
    font-weight: 800 !important;
}

#rmp-menu-wrap-11044 .rmp-submenu .rmp-menu-item-link {
    font-weight: 400 !important;
}


/*************************************************************************/
/******************************* CHAT ************************************/
/*************************************************************************/

.start-group h2 {
    font-size: 1.3rem !important;
}


/*************************************************************************/
/****************************** FOOTER ***********************************/
/*************************************************************************/

footer.footer {
    background: none;
}

#inner-footer {
    border-bottom: 1px solid var(--gris-dark);
    border-top: 1px solid var(--gris-dark);
    padding-top: 40px;
    padding-bottom: 40px;
}

footer.footer h4 {
    font-weight: 800;
    color: var(--bleu);
    font-size: 1.2rem;
    margin-bottom: 20px;
}

footer.footer a {
    color: var(--gris-dark);
    text-decoration: none;
    font-size: .85rem;
}

footer.footer a:hover {
    color: var(--bleu);
}

footer.footer,
footer.footer p {
    color: var(--gris-dark);
}

.adresse-footer,
.adresse-footer a,
.adresse-footer p {
    font-size: .85rem;
    line-height: 1.2rem;
}

.adresse-footer p.strong {
    color: var(--bleu);
    margin-bottom: 4px;
}

.adresse-footer a {
    margin-top: 4px;
    color: var(--bleu) !important;
    font-weight: 400;
}

#content {
    padding-top: 120px;
}


/*************************************************************************/
/******************************** FORMULAIRE *****************************/
/*************************************************************************/

.wpcf7 textarea,
.wpcf7 input {
    border-bottom: 1px solid var(--gris-light);
    background: none;
    border-radius: 0;
    max-width: 700px;
    font-size: .95rem;
    color: var(--gris-dark);
    background: #f7f7f7;
}


.wpcf7 textarea:focus,
.wpcf7 input:focus {
    background: #fff;
    border-bottom-color: var(--bleu);
}

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

.form-control-placeholder {
  position: absolute;
  top: 0;
  padding: 7px 0 0 13px;
  transition: all 200ms;
  opacity: 0.5;
}


.form-control:focus + .form-control-placeholder,
.form-control:valid + .form-control-placeholder {
    font-size: 75%;
    transform: translate3d(0, -100%, 0);
    opacity: 1;
}

.wpcf7-acceptance {
    padding: 0;
    width: 100%;
    display: block;
}

.wpcf7-acceptance .wpcf7-list-item {
    padding: 0;
    margin: 0;
    font-size: .85rem;
    line-height: 1.1rem;
}

.submit-form {
    margin: 15px 0 0 0;
}

.wpcf7-response-output {
    width: 100%;
    max-width: 700px;
    border: 0 !important;
    color: var(--gris-dark) !important;
    padding: 8px 12px !important;
    background: var(--gris-light);
    margin-left: 0 !important;
}

div.wpcf7-validation-errors,
div.wpcf7-acceptance-missing {
    background: #c77a8a !important;
    color: #fff !important;
    font-size: .9rem !important;
    line-height: 1.2rem !important;
}

span.wpcf7-not-valid-tip {
    color: #c77a8a !important;
}

.wpcf7 .wpcf7-submit,
.wpcf7 .wpcf7-submit:focus {
    font-size: .85rem;
    padding: 12px 26px;
    text-align: center;
    font-weight: 800;
    color: #fff;
    background: var(--gris-dark);
    margin: 5px 0;
    border: 0 !important;
}


/*************************************************************************/
/****************************** HOME *************************************/
/*************************************************************************/

body.home #content {
    padding-top: 0;
}

body.home header.header {
    background-color: transparent;
}




/************* PARTIE HAUTE ************/

.top-home-image {
    width: 100%;
    height: 70vh;
    position: relative;
    margin-bottom: 60px;
}

.top-home-image h1 {
    font-size: 4.8rem;
    line-height: 4.8rem;
    position: relative;
}

.top-home-image h1::before {
    content: '';
    display: block;
    top: -90px;
    left: 50%;
    margin-left: -81px;
    width: 162px;
    height: 90px;
    background: url(img/trace-circuit.png) center center no-repeat;
    background-size: contain;
    position: absolute;
}

.formules-home {
    position: absolute;
    width: 1000px;
    bottom: -40px;
    left: 50%;
    margin-left: -500px;
    
}

.formules-home .flex-item-quart {
    -webkit-transition: all .6s;
    transition: all .6s;
}

a.absolute,
.formules-home .flex-item-quart.lien-formules a,
.formules-home .flex-item-quart a {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 8;
}


.formules-home .flex-item-quart.lien-formules {
    box-shadow: 0px 15px 15px rgba(0, 0, 0, .2);
    padding: 30px;
}

.formules-home .flex-item-quart.lien-formules p::after {
    content: '';
    display: block;
    height: 4px;
    width: 0;
    background: #fff;
    margin-top: 8px;
    -webkit-transition: all .3s;
    transition: all .3s;
}

.formules-home .flex-item-quart.lien-formules:hover p::after {
    width: 140px;
    -webkit-transition: all .3s;
    transition: all .3s;
}


.formules-home .flex-item-quart.lien-formules:hover {
    background: var(--gris-dark);
    -webkit-transition: all .3s;
    transition: all .3s;
}


.formules-home .flex-item-quart .partie-haute {
    margin-bottom: 8px;
    padding: 40px 20px 20px;
    position: relative;
}

.formules-home .flex-item-quart .partie-basse {
    padding: 20px;
    padding: 20px;
    box-shadow: 0px 15px 15px rgba(0, 0, 0, .2);
    -webkit-transition: all .3s;
    transition: all .3s;
}

.formules-home .flex-item-quart.module-formule:hover {
    -webkit-transition: all .2s;
    transition: all .2s;
    margin-top: -8px;
}


.formules-home .flex-item-quart:hover .partie-basse {
    box-shadow: 0px 25px 20px rgba(0, 0, 0, .2);
    -webkit-transition: all .3s;
    transition: all .3s;
}

.formules-home .flex-item-quart p {
    margin-bottom: 0;
}

.pastille-duree {
    width: 68px;
    height: 68px;
    border-radius: 50%;
    line-height: 60px;
    position: absolute;
    top: -34px;
    left: 50%;
    margin-left: -34px;
    border: 4px solid #fff;
    z-index: 6;
}

.pastille-duree.abonnement {
    font-size: .7rem;
}

a.hover-dark {
    background: rgba(0,0,0,0);
}

a.hover-dark:hover {
    background: rgba(0,0,0,0.4);
}

section {
    padding: 60px 0;
    position: relative;
}

section.home-activites {
    padding-bottom: 0;
}

section.wrap {
    padding: 60px var(--leftright);
}

section.wrap:nth-of-type(1) {
    padding: 80px var(--leftright) 60px;
}

body.page-template-page-texte section.wrap:nth-of-type(1) {
    padding: 60px var(--leftright) 60px;
}


/************* CALENDRIERS ************/


body.home .the-events-calendar-category-list {
    margin-bottom: 40px;
}


.fancybox-content {
    max-width  : 90% !important;
    max-height : 90%;
    margin: 0 auto;
    padding: 30px !important;
}

.lien-popin::before {
    content: '+';
    display: block;
    width: 30px;
    height: 30px;
    color: #fff;
    font-weight: 800;
    text-align: center;
    font-size: 1.5rem;
    line-height: 30px;
    position: absolute;
    z-index: 3;
    bottom: -15px;
    left: 50%;
    margin-left: -15px;
    border-radius: 50%;
    border: 2px solid #fff;
}

.recurringinfo {
    display: none !important;
}

.titre-semaine::before,
.titre-jour::before {
    content: '';
    display: inline-block;
    margin-right: 12px;
    width: 38px;
    height: 38px;
    vertical-align:text-bottom;
}

.titre-semaine::before {
    background: url(img/icone-calendrier-semaine.png) center center no-repeat;
    background-size: contain;
}

.titre-jour::before {
    background: url(img/icone-calendrier-jour.png) center center no-repeat;
    background-size: contain;
}

.tribe-events-day,
.tribe-this-week-widget-weekday-wrapper  {
    margin-top: 30px;
    padding-top: 15px;
    border-top: 2px solid var(--gris-light);
    padding-bottom: 15px;
    margin-bottom: 30px;
    border-bottom: 2px solid var(--gris-light);
}

.tribe-events-day-time-slot-heading,
.tribe-this-week-widget-header-date {
    background: none !important;
    color: var(--gris-dark) !important;
    text-transform: capitalize;
    margin-bottom: 20px !important;
    padding: 0 !important;
}

.tribe-this-week-widget-day-wrap {
    padding: 0 6px !important;
/*    border-left: 2px solid var(--gris-light); */
/*    min-height: 350px; */
}

.tribe-this-week-widget-day:first-child .tribe-this-week-widget-day-wrap {
    border-left: 0;
}

#tribe-events-header {
    position: absolute !important;
    bottom: -20px !important;
    width: 100%;
}

#tribe-events-header .tribe-events-nav-next {
    
}

.tribe-this-week-event {
    padding: 10px 10px 30px 10px !important;
    border-left: 0 !important;
    margin-bottom: 20px !important;
    text-align: center;
    position: relative;
    box-shadow: 0 6px 8px rgba(0,0,0,0.2);
}

.tribe-this-week-event h5 {
    color: #fff !important;
    line-height: 1.1rem !important;
    letter-spacing: 0;
    font-size: .76rem !important;
    color: var(--gris-dark) !important;
}

.tribe-this-week-event a {
    position: absolute;
    top: 0;
    width: 100%;
    height: 100%;
    left: 0;
}

.tribe-this-week-event h5 a {
    position: relative;
    top: auto;
    width: auto;
    height: auto;
    left: auto;
    display: none;
}

.tribe-this-week-event:hover {
    box-shadow: 0 6px 2px rgba(0,0,0,0.2);
    background: var(--gris-light);
}

.tribe-this-week-events-widget .tribe-this-week-widget-day .tribe-this-week-widget-day-wrap .type-tribe_events:nth-child(1) {
    margin-top: 30px;
    min-height: 140px;
    margin-bottom: 60px !important;
}

.tribe-this-week-events-widget .tribe-this-week-widget-day .tribe-this-week-widget-day-wrap .type-tribe_events:nth-child(2) {
    min-height: 140px;
}


.tribe-this-week-events-widget .tribe-this-week-widget-day .tribe-this-week-widget-day-wrap .type-tribe_events:nth-child(1)::before {
    content: 'Matin';
    display: block;
    text-align: center;
    width: 100%;
    font-size: .7rem;
    top: -34px;
    left: 0;
    font-weight: 800;
    text-transform: uppercase;
    position: absolute;
    color: var(--bleu);
}

.tribe-this-week-events-widget .tribe-this-week-widget-day .tribe-this-week-widget-day-wrap .type-tribe_events:nth-child(2)::before {
    content: 'Après-midi';
    display: block;
    text-align: center;
    width: 100%;
    font-size: .7rem;
    top: -34px;
    left: 0;
    font-weight: 800;
    text-transform: uppercase;
    position: absolute;
    color: var(--bleu);
}


.type-tribe_events {
    background: #fff;
    border-top: 8px solid #fff;
}

.tribe-events-category-fermeture {
    border-color: var(--cat-fermeture);
}

.tribe-events-category-public {
    border-color: var(--cat-public);
}

.tribe-events-category-pit-bike-r3 {
    border-color: var(--cat-r3);
}

.tribe-events-category-location {
    border-color: var(--cat-location);
}

.tribe-events-category-weekend-gratuit {
    border-color: var(--cat-gratuit);
}

.tribe-events-category-jeunes-25cv {
    border-color: var(--cat-jeunes);
}

.tribe-events-category-competition {
    border-color: var(--cat-competition);
}

.tribe-events-category-karting-side-car {
    border-color: var(--cat-karting);
}

.tribe-events-category-roulage-abonnes {
    border-color: var(--cat-abonne);
}

.tribe-events-category-ecole {
    border-color: var(--cat-ecole);
}

.tribe-events-category-acrobatie {
    border-color: var(--cat-acrobatie);
}

.tribe-events-category-acrobatie .lien-popin::before,
.tribe-events-category-fermeture .lien-popin::before,
.tribe-events-category-public .lien-popin::before,
.tribe-events-category-pit-bike-r3 .lien-popin::before,
.tribe-events-category-location .lien-popin::before,
.tribe-events-category-weekend-gratuit .lien-popin::before,
.tribe-events-category-jeunes-25cv .lien-popin::before,
.tribe-events-category-competition .lien-popin::before,
.tribe-events-category-karting-side-car .lien-popin::before,
.tribe-events-category-ecole .lien-popin::before {
    background: var(--bleu);
}

.tribe-this-week-event h5::before {
    content: '';
    display: block;
    margin: 0 auto 4px;
    width: 26px;
    height: 26px;
}


.tribe-events-category-fermeture h5::before {
    background: url(img/calend-fermeture.png) center center no-repeat;
    background-size: contain;
}

.tribe-events-category-public h5::before {
    background: url(img/calend-reservation.png) center center no-repeat;
    background-size: contain;
}

.tribe-events-category-pit-bike-r3 h5::before {
    background: url(img/calend-r3.png) center center no-repeat;
    background-size: contain;
}

.tribe-events-category-location h5::before {
    background: url(img/calend-location.png) center center no-repeat;
    background-size: contain;
}

.tribe-events-category-weekend-gratuit h5::before {
    background: url(img/calend-gratuit.png) center center no-repeat;
    background-size: contain;
}

.tribe-events-category-jeunes-25cv h5::before {
    background: url(img/calend-jeunes.png) center center no-repeat;
    background-size: contain;
}

.tribe-events-category-competition h5::before {
    background: url(img/calend-compet.png) center center no-repeat;
    background-size: contain;
}

.tribe-events-category-karting-side-car h5::before {
    background: url(img/calend-karting.png) center center no-repeat;
    background-size: contain;
}

.tribe-events-category-roulage-abonnes h5::before {
    background: url(img/calend-abonne.png) center center no-repeat;
    background-size: contain;
}

.tribe-events-category-ecole h5::before {
    background: url(img/calend-ecole.png) center center no-repeat;
    background-size: contain;
}

.tribe-events-category-acrobatie h5::before {
    background: url(img/calend-acrobatie.png) center center no-repeat;
    background-size: contain;
}

.tribe-events-sub-nav a {
    color: var(--gris-dark);
    font-weight: 800;
    text-decoration: none !important;
}

.tribe-events-sub-nav .nav-previous a::before {
    content: '';
    display: inline-block;
    background: url(img/fleche-bleue.png) center right no-repeat;
    transform: rotate(180deg);
    overflow: hidden;
    width: 82px;
    height: 10px;
    vertical-align: middle;
    margin-right: 4px;
    -webkit-transition: all .3s;
    transition: all .3s;
}


.tribe-events-sub-nav .nav-previous a:hover::before {
    width: 65px;
    -webkit-transition: all .3s;
    transition: all .3s;
}


.tribe-events-sub-nav .nav-next a::after {
    content: '';
    display: inline-block;
    background: url(img/fleche-bleue.png) center right no-repeat;
    overflow: hidden;
    width: 82px;
    height: 10px;
    vertical-align: middle;
    margin-left: 4px;
    -webkit-transition: all .3s;
    transition: all .3s;
}


.tribe-events-sub-nav .nav-next a:hover::after {
    width: 65px;
    -webkit-transition: all .3s;
    transition: all .3s;
}

.tribe-events-day {
    border-bottom: 0;
}

.tribe-events-day .tribe-events-day-time-slot .tribe-events-day-time-slot-heading {
    margin: 14px 0 10px !important;
    font-weight: 800 !important;
}

.tribe-events-day .tribe-events-day-time-slot:nth-of-type(2) .tribe-events-day-time-slot-heading {
    margin: 10px 0 23px !important;
}


.tribe-events-day .tribe-events-day-time-slot .type-tribe_events {
    margin-left: 0 !important;
    margin-bottom: 12px;
}

.tribe-events-list .type-tribe_events {
    border-bottom: 0 !important;
    background: #fff;
    padding: 20px !important;
    box-shadow: 0 8px 8px rgba(0,0,0,0.2);
}

.tribe-events-list .type-tribe_events:hover {
    box-shadow: 0 6px 4px rgba(0,0,0,0.2);
    background: var(--gris-light);
}


.type-tribe_events {
    position: relative;
}

.type-tribe_events a.url {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 5;
}

#tribe-events-content.tribe-events-list {
    margin-bottom: 30px !important;
}

.module-event-jour-home .tribe-events-event-meta {
    color: var(--bleu) !important;
}

.module-event-jour-home {
    padding-left: 46px;
    position: relative;
}

.module-event-jour-home::before {
    content: '';
    width: 40px;
    height: 40px;
    position: absolute;
    left: -8px;
    top: 0;
    display: block;
    vertical-align: middle;
}


.type-tribe_events.tribe-events-category-fermeture .module-event-jour-home::before {
    background: url(img/calend-fermeture.png) center center no-repeat;
    background-size: contain;
}

.type-tribe_events.tribe-events-category-public .module-event-jour-home::before {
    background: url(img/calend-reservation.png) center center no-repeat;
    background-size: contain;
}

.type-tribe_events.tribe-events-category-pit-bike-r3 .module-event-jour-home::before {
    background: url(img/calend-r3.png) center center no-repeat;
    background-size: contain;
}

.type-tribe_events.tribe-events-category-location .module-event-jour-home::before {
    background: url(img/calend-location.png) center center no-repeat;
    background-size: contain;
}

.type-tribe_events.tribe-events-category-weekend-gratuit .module-event-jour-home::before {
    background: url(img/calend-gratuit.png) center center no-repeat;
    background-size: contain;
}

.type-tribe_events.tribe-events-category-jeunes-25cv .module-event-jour-home::before {
    background: url(img/calend-jeunes.png) center center no-repeat;
    background-size: contain;
}

.type-tribe_events.tribe-events-category-competition .module-event-jour-home::before {
    background: url(img/calend-compet.png) center center no-repeat;
    background-size: contain;
}

.type-tribe_events.tribe-events-category-karting-side-car .module-event-jour-home::before {
    background: url(img/calend-karting.png) center center no-repeat;
    background-size: contain;
}

.type-tribe_events.tribe-events-category-roulage-abonnes .module-event-jour-home::before {
    background: url(img/calend-abonne.png) center center no-repeat;
    background-size: contain;
}

.type-tribe_events.tribe-events-category-ecole .module-event-jour-home::before {
    background: url(img/calend-ecole.png) center center no-repeat;
    background-size: contain;
}

.type-tribe_events.tribe-events-category-acrobatie .module-event-jour-home::before {
    background: url(img/calend-acrobatie.png) center center no-repeat;
    background-size: contain;
}

.events-list #tribe-events-footer,
.tribe-events-day #tribe-events-footer,
.tribe-events-map #tribe-events-footer {
    margin-top: 30px !important;
    padding-top: 20px !important;
    border-top: 2px solid var(--gris-light);
}


.tribe-events-nav-previous span,
.tribe-events-nav-next span {
    display: none;
}

.tribe-events-nav-previous a::before {
    content: '';
    display: inline-block;
    background: url(img/fleche-bleue.png) center right no-repeat;
    overflow: hidden;
    width: 70px;
    transform: rotate(180deg);
    height: 10px;
    vertical-align: middle;
    margin-right: 4px;
    -webkit-transition: all .3s;
    transition: all .3s;
}


.tribe-events-nav-previous a:hover::before {
    width: 60px;
    -webkit-transition: all .3s;
    transition: all .3s;
}


.tribe-events-nav-next a::after {
    content: '';
    display: inline-block;
    background: url(img/fleche-bleue.png) center right no-repeat;
    overflow: hidden;
    width: 70px;
    height: 10px;
    vertical-align: middle;
    margin-left: 4px;
    -webkit-transition: all .3s;
    transition: all .3s;
}


.tribe-events-nav-next a:hover::after {
    width: 60px;
    -webkit-transition: all .3s;
    transition: all .3s;
}

.tribe-events-ical {
    display: none !important;
}


.popin-even-semaine a.cta-bleu {
    margin-left: 0;
}

.popin-even-semaine a.cta-rouge {
    display: none;
}

.popin-even-semaine.tribe-events-category-public a.cta-rouge {
    display: inline-block;
}


body.home #tribe-events-bar {
    display: none !important;
}

body.home .the-events-calendar-category-list {
    display: none !important;
}




/**************************************************/
/* NOUVELLE FONCTION CALENDRIER MENSUEL 02-2020 */
/**************************************************/

#selection-date {
    width: 100%;
    text-align: center;
    margin: 20px auto;
}


#selection-date select {
    display: inline-block;
    margin: 8px 8px;
    background-color: #f1f1f1;
    border: 0;
    padding-right: 35px;
    border-radius: 0;
    width: auto;
    color: #888888;
    font-size: .9rem;
    background-position: 94.5%;
}

#submit-date {
    background: var(--bleu);
    color: #fff;
    font-size: .85rem;
    text-align: center;
    height: 40px;
    border: 0;
    font-family: 'Montserrat', helvetica, arial, lucida, sans-serif;
    font-weight: 600;
    padding: 8px 25px;
}

#submit-date:hover {
    background: var(--gris-dark);
}

#submit-date.inactif {
    pointer-events: none;
    cursor: default;
    background: #eaeaea;
}





/************* ACTIVITES ************/

.container-activite-home {
    min-height: 580px;
    background-size: contain;
}

.img-avtivite01,
.img-avtivite02 {
    background-size: contain;
    background-repeat: no-repeat;
}

.img-avtivite01 {
    background-position: top right;
}

.img-avtivite02 {
    background-position: top left;
}


.texte-activite01 {
    padding-left: var(--leftright);
}

.texte-activite02 {
    padding-right: var(--leftright);
}


/************* EVENEMENTS ************/

.banniere-evenement img {
    height: 100%;
    max-width: 100%;
}

.event-der .bkg-cover {
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    min-height: 500px;
}

.bloc-intro-even {
    position: absolute;
    bottom: -30px;
    right: 60px;
    width: 350px;
    z-index: 7;
    box-shadow: 0px 8px 20px rgba(0, 0, 0, .2);
    -wekbit-transition: all .4s;
    transition: all .4s;
}

.hover-image {
    background: var(--gris-dark);
    position: absolute;
    top: 0;
    left: -105%;
    width: 100%;
    height: 100%;
    opacity: .4;
    z-index: 5;
    -wekbit-transition: all .4s;
    transition: all .4s;
}

.image-survol {
    overflow: hidden;
    position: relative;
}

.image-survol:hover .hover-image,
.image-evenement:hover .hover-image {
    left: 0;
    -wekbit-transition: all .3s;
    transition: all .3s;
}

.image-evenement:hover .bloc-intro-even {
    bottom: -20px;
    -wekbit-transition: all .3s;
    transition: all .3s;
}


/************* ACTUALITES ************/

section.home-actualites .wrap {
    padding-bottom: 50px;
}

section.home-actualites.bkg-cover {
    background-position: bottom center;
    background-size: cover;
}

section.home-actualites .flex-item-40 {
    height: 480px;
}

.owl-actualites.owl-carousel {
    width: 77%;
    min-height: 550px;
    position: absolute;
    top: 180px;
    left: 18%;
}

.owl-actualites .owl-stage-outer {
    height: 100%;
    min-height: 100%;
}

.owl-actualites.owl-carousel .item {
    height: 500px;
    position: relative;
    -wekbit-transition: all .3s;
    transition: all .3s;
}

.owl-actualites.owl-carousel .item .img-actu {
    height: 250px;
    width: 100%;
}

.owl-actualites.owl-carousel .item p.small {
    margin-bottom: 20px;
    display: inline-block;
}

.owl-actualites.owl-carousel .item a.cta-light {
    position: absolute;
    bottom: 0;
    left: 30px;
}

.owl-carousel .owl-nav.disabled {
    display: block !important;
}

.owl-nav {
    position: absolute;
    top: 0;
    left: -100px; 
    z-index: 72;
}

.owl-nav .owl-prev {
    margin-bottom: 20px;
}

.owl-nav .owl-next,
.owl-nav .owl-prev {
    width: 70px;
    height: 70px;
    border-radius: 50%;
    border: 3px solid #fff !important;
    display: block;
    line-height: 70px;
    -wekbit-transition: all .3s;
    transition: all .3s;
}

.owl-nav .owl-next span,
.owl-nav .owl-prev span {
    font-size: 2rem !important;
    font-weight: 800 !important;
    text-align: center !important;
    color: #fff !important;
    -wekbit-transition: all .3s;
    transition: all .3s;
}

.owl-nav .owl-next:hover,
.owl-nav .owl-prev:hover {
    border-color: var(--bleu) !important;
    -wekbit-transition: all .3s;
    transition: all .3s;
}

.owl-nav .owl-next:hover span,
.owl-nav .owl-prev:hover span {
    color: var(--bleu) !important;
    -wekbit-transition: all .3s;
    transition: all .3s;
}

.lien-toutes-actus {
    margin-top: 230px;
    width: 100%;
}


/************* NEWSLETTER ************/

.module-newsletter::before {
    content: '';
    display: inline-block;
    width: 75px;
    height: 75px;
    background: url(img/fleche-bleue-cercle.png) center center no-repeat;
    background-size: contain;
    margin-right: 20px;
    float: left;
}



#sbscrbr-form {
    width: 100%;
    max-width: 100%;
    margin: 0;
    position: relative;
}

.sbscrbr-unsubscribe-wrap {
    display: none;
}

.sbscrbr-submit-block,
.sbscrbr-email-wrap {
    
}

.sbscrbr_field_form {
    width: 75%;
}

.sbscrbr-email-wrap {
    width: 75%;
}

.sbscrbr-submit-block input.submit {
    width: 100%;
    height: 34px;
    background: var(--bleu);
    color: #fff;
    line-height: 34px;
    border: 0;
    font-weight: 800;
    font-size: .85rem;
}

.sbscrbr-GDPR-wrap {
    font-size: .7rem;
    line-height: .9rem;
}

.sbscrbr-email-wrap {
    position: relative;
    
}

.sbscrbr-email-wrap::before {
    content: '\e554';
    display: block;
    font-family: 'Material Icons';
    font-size: 1.6rem;
    color: rgba(0,0,0,0.2);
    z-index: 7;
    top: 8px;
    left: 12px;
    position: absolute;
}

.sbscrbr-email-wrap input[type=text] {
    font-size: .85rem;
    padding-left: 45px;
    font-family: 'Montserrat';
}


.sbscrbr-GDPR-wrap input {
    margin-right: 8px;
    cursor: pointer;
}

.sbscrbr-GDPR-wrap a {
    display: inline;
    font-weight: bold;
    color: var(--bleu) !important;
}

.sbscrbr-form-done,
.sbscrbr-form-error {
    padding: 8px 15px !important;
    max-width: 100%;
    margin: 10px auto !important;
    font-size: .9rem !important;
    line-height: 1.3rem !important;
    position: absolute;
    top: -60px;
    left: 0;
    z-index: 6;
    font-weight: 800;
    font-size: .85rem;
    line-height: 1.1rem;
}

.sbscrbr-form-done {
    background: var(--gris-light); 
}

.sbscrbr-form-error {
    background: #ff0000;
    color: #fff !important;
}

.sbscrbr-submit-block {
    margin-top: 15px;
}



#sb_instagram #sbi_load .sbi_load_btn,
#sb_instagram .sbi_follow_btn a {
    text-decoration: none !important;
    font-weight: 800;
    padding: 10px 20px;
}

.home-instagram .flex-item-40 {
    max-height: 440px;
}



/*************************************************************************/
/*********************************** PAGES *******************************/
/*************************************************************************/

.top-header-sans-image {
    border-bottom: 2px solid var(--gris-light);
}


.top-image {
    width: 100%;
    height: 340px;
    position: relative;
    margin-bottom: 40px;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
    background-color: var(--gris-light);
}

.top-image.top-image-calendrier {
    background: url(img/top-image-home-real.jpg) center center no-repeat;
    background-repeat: no-repeat;
    background-size: cover;
}

.module-40ans {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 7;
    width: var(--leftright);
    height: 100%;
    background: url(img/bandeau-40ans.jpg) center center no-repeat #fff;
    background-size: contain;
}


.bloc-titre-page {
    position: absolute;
    bottom: -60px;
    width: 100%;
}

.bloc-titre-page .bkg-blanc {
    box-shadow: 0px 4px 8px rgba(0, 0, 0, .2);
}

.bloc-titre-page .bkg-blanc p.moyenbig {
    margin-bottom: 0;
}

.container-introduction {
    margin-bottom: 30px;
}

.contenu-flexible.wrap {
    padding-top: 20px;
    padding-bottom: 20px;
}

.contenu-flexible.bkg-gris {
    padding-top: 40px !important;
    padding-bottom: 40px;
}

.contenu-flexible.bkg-gris p strong {
    color: #fff;
}

.contenu-flexible .owl-carousel {
    width: 77%;
    min-height: 300px;
    position: absolute;
    top: 180px;
    left: 18%;
}

.contenu-flexible .owl-stage-outer {
    height: 100%;
    min-height: 100%;
}

.contenu-flexible .owl-carousel .item {
    height: 250px;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
    position: relative;
    box-shadow: 0 0 12px rgba(0,0,0,0.2);
    -wekbit-transition: all .3s;
    transition: all .3s;
}

.contenu-carousel {
    padding-bottom: 50px;
}

.contenu-carousel .bkg-gris {
    height: 480px;
}

.Zebra_Accordion dd {
    display: none;
    height: auto !important;
}

.Zebra_Accordion dt {
    cursor: pointer;
}

.Zebra_Accordion {
    margin: 60px 0;
}

.Zebra_Accordion img {
    margin: 0 auto 20px;
}

.accordion-titre {
    padding: 20px;
    background: #fff;
    color: var(--gris-dark);
    margin-bottom: 8px;
    text-align: center;
    position: relative;
    box-shadow: 0 0 12px rgba(0,0,0,0.2);
}

.accordion-titre:hover,
.accordion-titre.Zebra_Accordion_Expanded {
    background: var(--gris-dark);
    color: #fff;
    -webkit-transition: all .3s
    transition: all .3s
}

.accordion-contenu {
    box-shadow: 0 0 12px rgba(0,0,0,0.2);
    margin-bottom: 8px;
    
}


.ug-textpanel-bg.ug-trans-enabled {
    background: none !important;
}

.ug-tile .ug-textpanel-title {
    display: none !important;
}

#gdgallery-container-2 .gdgallery_load_more_space button {
    background-color: var(--bleu) !important;
    border: 0 !important;
    font-family: inherit !important;
}


#infos-pratiques .flex-item-quart h4 {
    padding-top: 15px;
    border-top: 1px solid var(--gris-dark);
}

#infos-pratiques .flex-item-quart:nth-of-type(3) a.cta-light {
    cursor: pointer;
}


#infos-pratiques .flex-item-quart::before {
    content: '';
    display: block;
    width: 78px;
    height: 55px;
    margin-bottom: 15px;
}

#infos-pratiques .flex-item-quart:nth-of-type(1)::before {
    background: url(img/infos-route.png) center center no-repeat;
    background-size: contain;
}

#infos-pratiques .flex-item-quart:nth-of-type(2)::before {
    background: url(img/infos-train.png) center center no-repeat;
    background-size: contain;
}

#infos-pratiques .flex-item-quart:nth-of-type(3)::before {
    background: url(img/infos-hebergement.png) center center no-repeat;
    background-size: contain;
}

#infos-pratiques .flex-item-quart:nth-of-type(4)::before {
    background: url(img/infos-info.png) center center no-repeat;
    background-size: contain;
}

 
article.post-361 {
    background: url(img/bkg-article-circuit.jpg) bottom center no-repeat;
    background-size: contain;
    padding-bottom: 600px;
}


body.page-id-532 .contenu-flexible.bkg-gris,
body.page-id-532 .image-basse.img-contenu-flexible {
    margin-bottom: 0;
}

.flxmap-directions {
    padding: 20px;
    text-align: center;
}

.flxmap-directions p {
    text-align: center;
}

.flxmap-directions input[type='text']{
    background: var(--gris-light);
    margin: 12px auto;
}

.flxmap-directions input[type='submit'] {
    border: 0;
    background: var(--gris-dark);
    font-size: .85rem;
    color: #fff;
    padding: 6px 15px;
    font-weight: 800;
}

.flxmap-directions table {
    margin: 20px auto;
}


/*************************************************************************/
/***************************** MEDIATHEQUE *******************************/
/*************************************************************************/


body.page-id-622 .contenu-flexible h4 {
    margin-top: 20px;
    display: inline-block;
    font-size: 1.3rem;
    line-height: 1.7rem;
}

body.page-id-622 .contenu-flexible h4::after {
    content: '';
    display: block;
    height: 12px;
    width: 100%;
    margin-top: -10px;
    background: var(--bleu);
    opacity: .3;
    position: relative;
}

/*************************************************************************/
/****************************** CALENDRIER *******************************/
/*************************************************************************/


/************** FILTRES CATEGORIES *************/

.the-events-calendar-category-list {
    display: -webkit-flex;
    display: -webkit-box;
    display: -ms-flexbox;    
    display: flex;
    position: relative;
    -webkit-flex-wrap: nowrap;
    flex-wrap: nowrap;
    -webkit-justify-content: center;
    justify-content: center;
    width: 100%;
    text-align: center;
    margin-top: 40px;
    background: var(--gris-light);
    margin-bottom: 60px;
}
/*
.the-events-calendar-category-list::before {
    content: 'Filtrer l\'affichage';
    display: block;
    text-align: center;
    font-size: .9rem;
    font-weight: 800;
    position: absolute;
    width: 100%;
    top: 15px;
}
*/

.the-events-calendar-category-list .item-categorie {
    padding: 15px 40px;
    text-align: center;
    color: var(--gris-dark);
    font-weight: 800;
    font-size: .75rem;
    text-transform: uppercase;
    position: relative;
    -webkit-justify-content: space-between;
    justify-content: space-between;
}

.the-events-calendar-category-list .item-categorie {
    background: var(--gris-light);
    border-bottom: 10px solid #fff;
}

.the-events-calendar-category-list .item-categorie.active {
    background: #fff;
    box-shadow: 0 0 20px rgba(0,0,0,0.2);
    z-index: 3;
}

.the-events-calendar-category-list .item-categorie.categorie-competition {
    border-color: var(--cat-competition);
}

.the-events-calendar-category-list .item-categorie.categorie-fermeture {
    border-color: var(--cat-fermeture);
}

.the-events-calendar-category-list .item-categorie.categorie-jeunes-25cv {
    border-color: var(--cat-jeunes);
}

.the-events-calendar-category-list .item-categorie.categorie-karting-side-car {
    border-color: var(--cat-karting);
}

.the-events-calendar-category-list .item-categorie.categorie-location {
    border-color: var(--cat-location);
}

.the-events-calendar-category-list .item-categorie.categorie-pit-bike-r3 {
    border-color: var(--cat-r3);
}

.the-events-calendar-category-list .item-categorie.categorie-public {
    border-color: var(--cat-public);
}

.the-events-calendar-category-list .item-categorie.categorie-weekend-gratuit {
    border-color: var(--cat-gratuit);
}

.the-events-calendar-category-list .item-categorie.categorie-roulage-abonnes {
    border-color: var(--cat-abonne);
}

.the-events-calendar-category-list .item-categorie.categorie-ecole {
    border-color: var(--cat-ecole);
}

.the-events-calendar-category-list .item-categorie.categorie-acrobatie {
    border-color: var(--cat-acrobatie);
}


.the-events-calendar-category-list .item-categorie span::before {
    content: '';
    display: block;
    margin: 0 auto 2px;
    width: 30px;
    height: 30px;
}

.the-events-calendar-category-list .item-categorie.categorie-competition span::before {
    background: url(img/calend-compet.png) top center no-repeat;
    background-size: contain;
}

.the-events-calendar-category-list .item-categorie.categorie-fermeture span::before {
    background: url(img/calend-fermeture.png) top center no-repeat;
    background-size: contain;
}

.the-events-calendar-category-list .item-categorie.categorie-jeunes-25cv span::before {
    background: url(img/calend-jeunes.png) top center no-repeat;
    background-size: contain;
}

.the-events-calendar-category-list .item-categorie.categorie-karting-side-car span::before {
    background: url(img/calend-karting.png) top center no-repeat;
    background-size: contain;
}

.the-events-calendar-category-list .item-categorie.categorie-location span::before {
    background: url(img/calend-location.png) top center no-repeat;
    background-size: contain;
}

.the-events-calendar-category-list .item-categorie.categorie-pit-bike-r3 span::before {
    background: url(img/calend-r3.png) top center no-repeat;
    background-size: contain;
}

.the-events-calendar-category-list .item-categorie.categorie-public span::before {
    background: url(img/calend-reservation.png) top center no-repeat;
    background-size: contain;
}

.the-events-calendar-category-list .item-categorie.categorie-weekend-gratuit span::before {
    background: url(img/calend-gratuit.png) top center no-repeat;
    background-size: contain;
}

.the-events-calendar-category-list .item-categorie.categorie-roulage-abonnes span::before {
    background: url(img/calend-abonne.png) top center no-repeat;
    background-size: contain;
}

.the-events-calendar-category-list .item-categorie.categorie-ecole span::before {
    background: url(img/calend-ecole.png) top center no-repeat;
    background-size: contain;
}

.the-events-calendar-category-list .item-categorie.categorie-acrobatie span::before {
    background: url(img/calend-acrobatie.png) top center no-repeat;
    background-size: contain;
}

.the-events-calendar-category-list .item-categorie a {
    text-decoration: none !important;
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
}

.tribe-bar-disabled,
#tribe-bar-views {
    display: none;
}

.the-events-calendar-category-list.calendrier-mois .item-categorie:hover {
    margin-top: -10px;
}

.module-event-jour-home .tribe-events-list-event-description {
    display: none !important;
}


/************** CALENDRIER MENSUEL *************/

.marginzero,
.margin-zero {
    margin: 0 !important;
}

.tribe-common--breakpoint-medium.tribe-events .tribe-events-l-container {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

.tribe-events-header__title,
.tribe-events-c-breadcrumbs__list {
    display: none !important;
}

table.tribe-events-calendar {
    margin: 30px 0 !important;
    padding: 20px 0 !important;
    border-top: 3px solid var(--gris-light) !important;
    border-bottom: 3px solid var(--gris-light) !important;
}

table.tribe-events-calendar thead {
    margin-top: 10px !important;
}

.tribe-events-calendar th {
    background: none;
    color: var(--gris-dark) !important;
    text-transform: capitalize;
    letter-spacing: 0;
    height: auto;
    text-align: left;
    padding: 8px;
}

body.post-type-archive-tribe_events .tribe-events-c-subscribe-dropdown__button,
body.post-type-archive-tribe_events .tribe-events-c-view-selector__button {
    display: none;
}

#tribe-events-content .tribe-events-calendar td, 
#tribe-events-content table.tribe-events-calendar {
    border: 0;
    padding: 8px;
}

/*box-shadow: 0px 4px 8px rgba(0, 0, 0, .2);*/

.tribe-common--breakpoint-medium.tribe-events .tribe-events-calendar-month__day,
.tribe-common--breakpoint-medium.tribe-events .tribe-events-calendar-month__body {
    border: 0 !important;
    padding: 0 8px !important;
}

.tribe-events-calendar-month__calendar-event-datetime {
    display: none;
}

.tribe-common--breakpoint-medium.tribe-events .tribe-events-calendar-month__week {
    border: 0 !important;
}

.tribe-events-calendar td div[id*=tribe-events-daynum-] {
    background: none;
    padding: 0;
    margin-bottom: 8px;
    line-height: inherit;
}

.tribe-events-calendar td.tribe-events-present div[id*=tribe-events-daynum-],
.tribe-events-calendar td.tribe-events-present div[id*=tribe-events-daynum-]>a {
    text-align: center;
    background: var(--bleu);
}


.tribe-events-calendar-month__calendar-event,
.events-archive.events-gridview #tribe-events-content table .type-tribe_events {
    margin: 0;
    padding: 12px 15px !important;
}

.tribe-events-calendar-month__calendar-event .tribe-events-calendar-month__calendar-event-title a,
.events-archive.events-gridview #tribe-events-content table .type-tribe_events h3 {
    font-family: inherit !important;
    letter-spacing: 0;
    line-height: 1.15rem;
    text-decoration: none !important;
    font-size: .85rem !important;
    font-weight: 800;
    color: var(--gris-dark) !important;
}

.tribe-events-calendar-month__calendar-event .tribe-events-calendar-month__calendar-event-title a:hover {
    text-decoration: none !important;
}

.tribe-events-calendar-month__calendar-event,
.events-archive.events-gridview #tribe-events-content table .type-tribe_events {
    background: #fff;
    box-shadow: 0 6px 6px rgba(0,0,0,0.2);
    border-top: 4px solid #fff !important;
    text-align: center;
    margin-bottom: 20px !important;
    border-bottom: 0 !important;
    
}

.tribe-events-calendar-month__calendar-event:hover,
.events-archive.events-gridview #tribe-events-content table .type-tribe_events:hover {
    box-shadow: 0 4px 4px rgba(0,0,0,0.2);
    background: var(--gris-light);
}

.tribe-events-calendar-month__calendar-event.cat_competition,
.events-archive.events-gridview #tribe-events-content table .type-tribe_events.cat_competition {
    border-color: var(--cat-competition) !important;
}

.tribe-events-calendar-month__calendar-event.cat_fermeture,
.events-archive.events-gridview #tribe-events-content table .type-tribe_events.cat_fermeture {
    border-color: var(--cat-fermeture) !important;
}

.tribe-events-calendar-month__calendar-event.cat_jeunes-25cv,
.events-archive.events-gridview #tribe-events-content table .type-tribe_events.cat_jeunes-25cv {
    border-color: var(--cat-jeunes) !important;
}

.tribe-events-calendar-month__calendar-event.cat_karting-side-car,
.events-archive.events-gridview #tribe-events-content table .type-tribe_events.cat_karting-side-car {
    border-color: var(--cat-karting) !important;
}

.tribe-events-calendar-month__calendar-event.cat_location,
.events-archive.events-gridview #tribe-events-content table .type-tribe_events.cat_location {
    border-color: var(--cat-location) !important;
}

.tribe-events-calendar-month__calendar-event.cat_pit-bike-r3,
.events-archive.events-gridview #tribe-events-content table .type-tribe_events.cat_pit-bike-r3 {
    border-color: var(--cat-r3) !important;
}

.tribe-events-calendar-month__calendar-event.cat_public,
.events-archive.events-gridview #tribe-events-content table .type-tribe_events.cat_public {
    border-color: var(--cat-public) !important;
}

.tribe-events-calendar-month__calendar-event.cat_weekend-gratuit,
.events-archive.events-gridview #tribe-events-content table .type-tribe_events.cat_weekend-gratuit {
    border-color: var(--cat-gratuit) !important;
}

.tribe-events-calendar-month__calendar-event.cat_roulage-abonnes,
.events-archive.events-gridview #tribe-events-content table .type-tribe_events.cat_roulage-abonnes {
    border-color: var(--cat-abonne) !important;
}

.tribe-events-calendar-month__calendar-event.cat_ecole,
.events-archive.events-gridview #tribe-events-content table .type-tribe_events.cat_ecole {
    border-color: var(--cat-ecole) !important;
}

.tribe-events-calendar-month__calendar-event.cat_acrobatie,
.events-archive.events-gridview #tribe-events-content table .type-tribe_events.cat_acrobatie {
    border-color: var(--cat-acrobatie) !important;
}


.tribe-events-calendar-month__calendar-event-title::before,
.events-archive.events-gridview #tribe-events-content table .type-tribe_events h3::before {
    content: '';
    display: block;
    margin: 0 auto 10px
    width: 24px;
    height: 24px;
}


.cat_competition tribe-events-calendar-month__calendar-event-title::before,
.events-archive.events-gridview #tribe-events-content table .type-tribe_events.cat_competition h3::before {
    background: url(img/calend-compet.png) top center no-repeat;
    background-size: contain;
}

.cat_fermeture .tribe-events-calendar-month__calendar-event-title::before,
.events-archive.events-gridview #tribe-events-content table .type-tribe_events.cat_fermeture h3::before {
    background: url(img/calend-fermeture.png) top center no-repeat;
    background-size: contain;
}

.cat_jeunes-25cv .tribe-events-calendar-month__calendar-event-title::before,
.events-archive.events-gridview #tribe-events-content table .type-tribe_events.cat_jeunes-25cv h3::before {
    background: url(img/calend-jeunes.png) top center no-repeat;
    background-size: contain;
}

.cat_karting-side-car .tribe-events-calendar-month__calendar-event-title::before,
.events-archive.events-gridview #tribe-events-content table .type-tribe_events.cat_karting-side-car h3::before {
    background: url(img/calend-karting.png) top center no-repeat;
    background-size: contain;
}

.cat_location .tribe-events-calendar-month__calendar-event-title::before,
.events-archive.events-gridview #tribe-events-content table .type-tribe_events.cat_location h3::before {
    background: url(img/calend-location.png) top center no-repeat;
    background-size: contain;
}

.cat_pit-bike-r3 .tribe-events-calendar-month__calendar-event-title::before,
.events-archive.events-gridview #tribe-events-content table .type-tribe_events.cat_pit-bike-r3 h3::before {
    background: url(img/calend-r3.png) top center no-repeat;
    background-size: contain;
}

.cat_public .tribe-events-calendar-month__calendar-event-title::before,
.events-archive.events-gridview #tribe-events-content table .type-tribe_events.cat_public h3::before {
    background: url(img/calend-reservation.png) top center no-repeat;
    background-size: contain;
}

.cat_weekend-gratuit .tribe-events-calendar-month__calendar-event-title::before,
.events-archive.events-gridview #tribe-events-content table .type-tribe_events.cat_weekend-gratuit h3::before {
    background: url(img/calend-gratuit.png) top center no-repeat;
    background-size: contain;
}

.cat_roulage-abonnes .tribe-events-calendar-month__calendar-event-title::before,
.events-archive.events-gridview #tribe-events-content table .type-tribe_events.cat_roulage-abonnes h3::before {
    background: url(img/calend-abonne.png) top center no-repeat;
    background-size: contain;
}

.cat_ecole .tribe-events-calendar-month__calendar-event-title::before,
.events-archive.events-gridview #tribe-events-content table .type-tribe_events.cat_ecole h3::before {
    background: url(img/calend-ecole.png) top center no-repeat;
    background-size: contain;
}

.cat_acrobatie .tribe-events-calendar-month__calendar-event-title::before,
.events-archive.events-gridview #tribe-events-content table .type-tribe_events.cat_acrobatie h3::before {
    background: url(img/calend-acrobatie.png) top center no-repeat;
    background-size: contain;
}

.tribe-events-tooltip {
    padding-top: 20px;
    padding-bottom: 20px;
}

.full-calendar {
    display: none;
}

body.events-category .full-calendar {
    display: block;
}


/*************************************************************************/
/********************** 10/2025 - Week **************************/
/*************************************************************************/

.tribe-events-pro .tribe-events-pro-week-grid__header-column,
.tribe-events-pro .tribe-events-pro-week-grid__events-day, .tribe-events-pro .tribe-events-pro-week-grid__multiday-events-day,
.tribe-events-pro .tribe-events-pro-week-grid__events-row-outer-wrapper,
.tribe-events-pro .tribe-events-pro-week-grid__events-scroll-wrapper,
.tribe-events-pro .tribe-events-pro-week-grid__header-row,
.tribe-events-pro .tribe-events-pro-week-grid__events-row-outer-wrapper {
    border: 0 !important;
}

.tribe-events-pro-week-grid__body {
    margin-top: -40px !important;
}

body.home .tribe-events-header__events-bar,
body.home .tribe-events-c-subscribe-dropdown__container {
    display: none;
}

a.absolute {
    position: absolute;
    width: 100%;
    height: 100%;
    z-index: 3;
    top: 0;
    left: 0;
}

.tribe-events-pro .tribe-events-pro-week-grid__event {
    box-shadow: 0 0 6px rgba(0,0,0,0.15) !important;
    width: calc(100% - 10px) !important;
    right: 0 !important;
}

.tribe-events-pro .tribe-events-pro-week-grid__event-link-inner {
    padding: 15px 15px 20px 15px !important;
    text-align: center;
    background: #fff !important;
}

.tribe-events-pro .tribe-events-pro-week-grid__event h5 {
    color: #fff !important;
    line-height: 1.1rem !important;
    letter-spacing: 0;
    font-size: .9rem !important;
    color: var(--gris-dark) !important;
    font-weight: 800;
}

.tribe-events-pro .tribe-events-pro-week-grid__event-link {
    text-decoration: none !important;
}

.tribe-events-pro .tribe-events-pro-week-grid__event {
    border-top: 8px solid #fff;
}

.tribe-events-pro .tribe-events-pro-week-grid__event.cat_fermeture {
    border-color: var(--cat-fermeture);
}

.tribe-events-pro .tribe-events-pro-week-grid__event.cat_public {
    border-color: var(--cat-public);
}

.tribe-events-pro .tribe-events-pro-week-grid__event.cat_pit-bike-r3 {
    border-color: var(--cat-r3);
}

.tribe-events-pro .tribe-events-pro-week-grid__event.cat_location {
    border-color: var(--cat-location);
}

.tribe-events-pro .tribe-events-pro-week-grid__event.cat_weekend-gratuit {
    border-color: var(--cat-gratuit);
}

.tribe-events-pro .tribe-events-pro-week-grid__event.cat_jeunes-25cv {
    border-color: var(--cat-jeunes);
}

.tribe-events-pro .tribe-events-pro-week-grid__event.cat_competition {
    border-color: var(--cat-competition);
}

.tribe-events-pro .tribe-events-pro-week-grid__event.cat_karting-side-car {
    border-color: var(--cat-karting);
}

.tribe-events-pro .tribe-events-pro-week-grid__event.cat_roulage-abonnes {
    border-color: var(--cat-abonne);
}

.tribe-events-pro .tribe-events-pro-week-grid__event.cat_ecole {
    border-color: var(--cat-ecole);
}

.tribe-events-pro .tribe-events-pro-week-grid__event.cat_acrobatie {
    border-color: var(--cat-acrobatie);
}

.tribe-events-pro .tribe-events-pro-week-grid__event h5::before {
    content: '';
    display: block;
    margin: 0 auto 4px;
    width: 26px;
    height: 26px;
}

.tribe-events-pro .tribe-events-pro-week-grid__event.cat_fermeture h5::before {
    background: url(img/calend-fermeture.png) center center no-repeat;
    background-size: contain;
}

.tribe-events-pro .tribe-events-pro-week-grid__event.cat_public h5::before {
    background: url(img/calend-reservation.png) center center no-repeat;
    background-size: contain;
}

.tribe-events-pro .tribe-events-pro-week-grid__event.cat_pit-bike-r3 h5::before {
    background: url(img/calend-r3.png) center center no-repeat;
    background-size: contain;
}

.tribe-events-pro .tribe-events-pro-week-grid__event.cat_location h5::before {
    background: url(img/calend-location.png) center center no-repeat;
    background-size: contain;
}

.tribe-events-pro .tribe-events-pro-week-grid__event.cat_weekend-gratuit h5::before {
    background: url(img/calend-gratuit.png) center center no-repeat;
    background-size: contain;
}

.tribe-events-pro .tribe-events-pro-week-grid__event.cat_jeunes-25cv h5::before {
    background: url(img/calend-jeunes.png) center center no-repeat;
    background-size: contain;
}

.tribe-events-pro .tribe-events-pro-week-grid__event.cat_competition h5::before {
    background: url(img/calend-compet.png) center center no-repeat;
    background-size: contain;
}

.tribe-events-pro .tribe-events-pro-week-grid__event.cat_karting-side-car h5::before {
    background: url(img/calend-karting.png) center center no-repeat;
    background-size: contain;
}

.tribe-events-pro .tribe-events-pro-week-grid__event.cat_roulage-abonnes h5::before {
    background: url(img/calend-abonne.png) center center no-repeat;
    background-size: contain;
}

.tribe-events-pro .tribe-events-pro-week-grid__event.cat_ecole h5::before {
    background: url(img/calend-ecole.png) center center no-repeat;
    background-size: contain;
}

.tribe-events-pro .tribe-events-pro-week-grid__event.cat_acrobatie h5::before {
    background: url(img/calend-acrobatie.png) center center no-repeat;
    background-size: contain;
}

.lien-popin::before {
    content: '+';
    display: block;
    width: 30px;
    height: 30px;
    color: #fff;
    font-weight: 800;
    text-align: center;
    font-size: 1.5rem;
    line-height: 30px;
    position: absolute;
    z-index: 3;
    bottom: -15px;
    left: 50%;
    margin-left: -15px;
    border-radius: 50%;
    border: 2px solid #fff;
    background: var(--bleu);
}


/*************************************************************************/
/********************** 10/2025 - Day **************************/
/*************************************************************************/

body.home .flex-item-tiers .tribe-events-c-top-bar__datepicker {
    display: none !important;
}


body.home .tribe-events-pro-week-mobile-events__event,
body.home .tribe-events .tribe-events-calendar-day__event {
    background: #fff;
    padding: 20px !important;
    box-shadow: 0 0 12px rgba(0,0,0,0.15);
}

body.home .tribe-events-pro-week-mobile-events__event:hover,
body.home .tribe-events .tribe-events-calendar-day__event:hover {
    box-shadow: 0 0 6px rgba(0,0,0,0.2);
    background: var(--gris-light);
}

body.home #tribe-events-content.tribe-events-list {
    margin-bottom: 30px !important;
}

body.home .tribe-events-calendar-day__event-datetime-wrapper {
    color: var(--bleu) !important;
    font-weight: 700;
    font-size: 14px;
    line-height: 1.5;
}

.tribe-events .tribe-events-calendar-day__event-datetime {
    color: var(--bleu) !important;
}

.tribe-events-calendar-day__event-header h3 {
    font-size: 1.5rem !important;   
}

.tribe-events-calendar-day__event-content.tribe-common-g-col {
    padding-left: 46px !important;
}

.tribe-events-calendar-day__event-content.tribe-common-g-col::before {
    content: '';
    width: 36px;
    height: 36px;
    position: absolute;
    left: 12px;
    top: 26%;
    display: block;
    vertical-align: middle;
}


.tribe_events_cat-fermeture .tribe-events-calendar-day__event-content.tribe-common-g-col::before {
    background: url(img/calend-fermeture.png) center center no-repeat;
    background-size: contain;
}

.tribe_events_cat-public .tribe-events-calendar-day__event-content.tribe-common-g-col::before {
    background: url(img/calend-reservation.png) center center no-repeat;
    background-size: contain;
}

.tribe_events_cat-pit-bike-r3 .tribe-events-calendar-day__event-content.tribe-common-g-col::before {
    background: url(img/calend-r3.png) center center no-repeat;
    background-size: contain;
}

.tribe_events_cat-location .tribe-events-calendar-day__event-content.tribe-common-g-col::before {
    background: url(img/calend-location.png) center center no-repeat;
    background-size: contain;
}

.tribe_events_cat-weekend-gratuit .tribe-events-calendar-day__event-content.tribe-common-g-col::before {
    background: url(img/calend-gratuit.png) center center no-repeat;
    background-size: contain;
}

.tribe_events_cat-jeunes-25cv .tribe-events-calendar-day__event-content.tribe-common-g-col::before {
    background: url(img/calend-jeunes.png) center center no-repeat;
    background-size: contain;
}

.tribe_events_cat-competition .tribe-events-calendar-day__event-content.tribe-common-g-col::before {
    background: url(img/calend-compet.png) center center no-repeat;
    background-size: contain;
}

.tribe_events_cat-karting-side-car .tribe-events-calendar-day__event-content.tribe-common-g-col::before {
    background: url(img/calend-karting.png) center center no-repeat;
    background-size: contain;
}

.tribe_events_cat-roulage-abonnes .tribe-events-calendar-day__event-content.tribe-common-g-col::before {
    background: url(img/calend-abonne.png) center center no-repeat;
    background-size: contain;
}

.tribe_events_cat-ecole .tribe-events-calendar-day__event-content.tribe-common-g-col::before {
    background: url(img/calend-ecole.png) center center no-repeat;
    background-size: contain;
}

.tribe_events_cat-acrobatie .tribe-events-calendar-day__event-content.tribe-common-g-col::before {
    background: url(img/calend-acrobatie.png) center center no-repeat;
    background-size: contain;
}

body.home .tribe-events-pro-week-mobile-events__event, 
body.home .tribe-events .tribe-events-calendar-day__event {
    border-top: 8px solid #fff;
}

body.home .tribe-events-pro-week-mobile-events__event.tribe_events_cat-fermeture, 
body.home .tribe-events .tribe-events-calendar-day__event.tribe_events_cat-fermeture {
    border-color: var(--cat-fermeture);
}


body.home .tribe-events-pro-week-mobile-events__event.tribe_events_cat-public, 
body.home .tribe-events .tribe-events-calendar-day__event.tribe_events_cat-public {
    border-color: var(--cat-public);
}

body.home .tribe-events-pro-week-mobile-events__event.tribe_events_cat-pit-bike-r3, 
body.home .tribe-events .tribe-events-calendar-day__event.tribe_events_cat-pit-bike-r3 {
    border-color: var(--cat-r3);
}

body.home .tribe-events-pro-week-mobile-events__event.tribe_events_cat-location, 
body.home .tribe-events .tribe-events-calendar-day__event.tribe_events_cat-location {
    border-color: var(--cat-location);
}

body.home .tribe-events-pro-week-mobile-events__event.tribe_events_cat-weekend-gratuit, 
body.home .tribe-events .tribe-events-calendar-day__event.tribe_events_cat-weekend-gratuit {
    border-color: var(--cat-gratuit);
}

body.home .tribe-events-pro-week-mobile-events__event.tribe_events_cat-jeunes-25cv, 
body.home .tribe-events .tribe-events-calendar-day__event.tribe_events_cat-jeunes-25cv {
    border-color: var(--cat-jeunes);
}

body.home .tribe-events-pro-week-mobile-events__event.tribe_events_cat-competition, 
body.home .tribe-events .tribe-events-calendar-day__event.tribe_events_cat-competition {
    border-color: var(--cat-competition);
}

body.home .tribe-events-pro-week-mobile-events__event.tribe_events_cat-karting-side-car, 
body.home .tribe-events .tribe-events-calendar-day__event.tribe_events_cat-karting-side-car {
    border-color: var(--cat-karting);
}

body.home .tribe-events-pro-week-mobile-events__event.tribe_events_cat-roulage-abonnes, 
body.home .tribe-events .tribe-events-calendar-day__event.tribe_events_cat-roulage-abonnes {
    border-color: var(--cat-abonne);
}

body.home .tribe-events-pro-week-mobile-events__event.tribe_events_cat-ecole, 
body.home .tribe-events .tribe-events-calendar-day__event.tribe_events_cat-ecole {
    border-color: var(--cat-ecole);
}

body.home .tribe-events-pro-week-mobile-events__event.tribe_events_cat-acrobatie, 
body.home .tribe-events .tribe-events-calendar-day__event.tribe_events_cat-acrobatie {
    border-color: var(--cat-acrobatie);
}


.tribe-events .tribe-events-c-nav__next,
.tribe-events .tribe-events-c-nav__prev {
    font-weight: 800 !important;
    color: var(--bleu) !important;
    text-decoration: none !important;
    font-size: 1rem !important;
}

.tribe-events .tribe-events-c-nav__next:hover,
.tribe-events .tribe-events-c-nav__prev:hover {
    text-decoration: underline !important;
}


/*************************************************************************/
/********************** SINGLE EVENT CALENDRIER **************************/
/*************************************************************************/


body.single .the-events-calendar-category-list.calendrier-mois {
    display: none !important;
}

body.single.single-tribe_events .top-image {
    display: none;
}

body.single.single-tribe_events section.wrap {
    border-top: 3px solid var(--gris-light);
    padding-top: 40px;
    padding-bottom: 40px;
}

.image-footer {
    display: none;
}

body.single.single-tribe_events .image-footer {
    display: block;
    width: 100%;
    height: 340px;
    background: url(img/bottom-event.jpg) center center no-repeat;
    background-size: cover;
}

#tribe-events-content {
    margin-bottom: 0 !important;
}

.tribe-events-cal-links {
    display: none !important;
}

.tribe-events-single .container800::before {
    content: '';
    display: block;
    margin: 0 auto;
    width: 60px;
    height: 60px;
}

.tribe-events-single .container800.cat-competition::before {
    background: url(img/calend-compet.png) top center no-repeat;
    background-size: contain;
}

.tribe-events-single .container800.cat-weekend-gratuit::before {
    background: url(img/calend-gratuit.png) top center no-repeat;
    background-size: contain;
}

.tribe-events-single .container800.cat-fermeture::before {
    background: url(img/calend-fermeture.png) top center no-repeat;
    background-size: contain;
}

.tribe-events-single .container800.cat-jeunes-25cv::before {
    background: url(img/calend-jeunes.png) top center no-repeat;
    background-size: contain;
}

.tribe-events-single .container800.cat-karting-side-car::before {
    background: url(img/calend-karting.png) top center no-repeat;
    background-size: contain;
}

.tribe-events-single .container800.cat-location::before {
    background: url(img/calend-location.png) top center no-repeat;
    background-size: contain;
}

.tribe-events-single .container800.cat-pit-bike-r3::before {
    background: url(img/calend-r3.png) top center no-repeat;
    background-size: contain;
}

.tribe-events-single .container800.cat-public::before {
    background: url(img/calend-reservation.png) top center no-repeat;
    background-size: contain;
}

.tribe-events-single .container800.cat-roulage-abonnes::before {
    background: url(img/calend-abonne.png) top center no-repeat;
    background-size: contain;
}

.tribe-events-single .container800.cat-ecole::before {
    background: url(img/calend-ecole.png) top center no-repeat;
    background-size: contain;
}

.border-categorie {
    height: 6px;
    width: 100%;
    margin: 10px 0 30px;
}

.tribe-events-single .container800.cat-competition .border-categorie {
    background: var(--cat-competition);
}
.tribe-events-single .container800.cat-fermeture .border-categorie {
    background: var(--cat-fermeture);
}
.tribe-events-single .container800.cat-jeunes-25cv .border-categorie {
    background: var(--cat-jeunes);
}
.tribe-events-single .container800.cat-karting-side-car .border-categorie {
    background: var(--cat-karting);
}
.tribe-events-single .container800.cat-location .border-categorie {
    background: var(--cat-location);
}
.tribe-events-single .container800.cat-pit-bike-r3 .border-categorie {
    background: var(--cat-r3);
}
.tribe-events-single .container800.cat-public .border-categorie {
    background: var(--cat-public);
}
.tribe-events-single .container800.cat-weekend-gratuit .border-categorie {
    background: var(--cat-gratuit);
}

.tribe-events-single .container800.cat-roulage-abonnes .border-categorie {
    background: var(--cat-abonne);
}

.tribe-events-single .container800.cat-ecole .border-categorie {
    background: var(--cat-ecole);
}

.tribe-events-schedule {
    margin-top: 8px;
}

.tribe-events-schedule h2 {
    font-weight: 800 !important;
    font-size: 1.6rem !important;
    line-height: 1.8rem !important;
    color: var(--bleu);
}

.single-tribe_events .tribe-events-event-meta {
    border: 0 !important;
    background: #fff !important;
    font-size: .9rem !important;
    box-shadow: 0 0 20px rgba(0,0,0,0.2);
    padding: 30px;
}

.tribe-events-event-meta:before, .tribe-events-event-meta~div:not(.tribe-events-event-meta,.event-tickets) {
    display: none;
}

.tribe-events-event-categories-label {
    display: none;
}

.single-tribe_events img {
    max-width: 100%;
    height: auto;
    margin-bottom: 30px;
}


.tribe-events-back {
    display: none;
}

.tribe-events-single>.tribe_events {
    display: block;
    overflow: inherit;
}

.tribe-events-series-relationship-single-marker {
    display: none;
}

h1.tribe-events-single-event-title {
    font-size: inherit;
    line-height: inherit;
    color: inherit;
    font-family: inherit;
    font-weight: 800;
}





/*************************************************************************/
/**************************** SINGLE ACTUALITE ***************************/
/*************************************************************************/


.youtube-full,
.youtube_player,
.dailymotion_player,
iframe {
    height: 450px;
    width: 100%;
    margin: 20px 0;
}

form iframe {
    height: auto;
    margin: 0;
    width: auto;
}

.flex-item-deux-tiers iframe {
    height: 450px;
}


.flex-item-moitie iframe {
    height: 380px;
}

.flex-item-tiers iframe {
    height: 380px;
}

.flex-item-quart iframe {
    height: 200px;
}

.contenu-article iframe {
    width: 100%;
    height: 450px;
    margin: 20px 0;
}




/*************************************************************************/
/***************************** SINGLE ACTIVITE ***************************/
/*************************************************************************/

.intro-activite {
    padding-top: 160px;
}

.intro-activite .introduction {
    margin-bottom: 20px;
}

.contenu-flexible p strong,
.contenu-pages p strong {
    color: var(--bleu);
}

section.accordion-activites {
    padding-top: 30px;
}

.accordion-activites .-accordion__panel ul,
.contenu-flexible ul,
.contenu-pages ul {
    margin-bottom: 15px;
}

.accordion-activites .-accordion__panel ul li,
.contenu-flexible ul li,
.contenu-pages ul li {
    list-style: square;
    margin-left: 20px;
    margin-bottom: 5px;
}

li.-accordion__panel {
    box-shadow: 0 12px 12px rgba(0,0,0,0.2);
}

.contenu-pages img {
    max-width: 100%;
    height: auto;
}

.contenu-pages h3.after {
    margin-bottom: 25px;
    margin-top: 20px;
}


.flex-formule {
    margin-top: 60px;
}

.flex-formule.plus-de-cinq {
    margin-bottom: 30px;
}

.flex-formule::before {
    content: '';
    display: block;
    font-size: 5rem;
    font-weight: 800;
    color: #fff;
    line-height: 4.8rem;
}

.flex-formule:nth-of-type(1)::before {
    content: '#01';
}

.flex-formule:nth-of-type(2)::before {
    content: '#02';
}

.flex-formule:nth-of-type(3)::before {
    content: '#03';
}

.flex-formule:nth-of-type(4)::before {
    content: '#04';
}

.flex-formule:nth-of-type(5)::before {
    content: '#05';
}

.texte-formule-activite {
    margin-top: 25px;
    padding-top: 25px;
    border-top: 5px solid var(--bleu);
}

.texte-formule-activite strong {
    font-size: 1.25rem;
    line-height: 1.3rem;
}

.liens-cta {
    position: absolute;
    width: 100%;
    bottom: -45px;
    left: 0;
    z-index: 8;
}

section.image-basse {
    padding: 0;
    height: 600px;
    max-height: 80vh;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
    margin: 0;
}

section.img-contenu-flexible {
    margin-bottom: 30px;
}

.contenu-flexible {
    margin-bottom: 30px;
}

.contenu-flexible:nth-child(2),
.contenu-flexible:nth-child(3),
.contenu-flexible:nth-child(4) {
    padding-top: 30px;
}

.contenu-flexible img {
    max-width: 100%;
    height: auto;
    margin-bottom: 20px;
}

.contenu-flexible thead tr th {
    padding: 8px 15px;
    background: var(--bleu);
    color: #fff;
    border-left: 4px solid #fff;
    text-align: left;
}

.contenu-flexible thead tr th:first-child {
    border-left: 0;
}

.contenu-flexible tbody td {
    padding: 20px 15px;
    border-bottom: 1px solid var(--bleu)
}


/*
.-accordion--horizontal {
    width: 100%;
    display: block;
    height: 700px;
}

.-accordion {
    margin: 0;
    padding: 0;
}

.-accordion--box.-accordion--horizontal .-accordion__panel {
    margin-right: 10px;
}

.-accordion--horizontal .-accordion__panel {
    position: relative;
    float: left;
    height: 100%;
}

.-accordion__panel {
    margin: 0;
    padding: 0;
    list-style: none;
    overflow: hidden;
}

.-accordion--box .-accordion__heading {
    background: #fff;
}

.-accordion--horizontal .-accordion__heading {
    width: 700px;
    text-align: right;
    display: block;
    -webkit-transform: translateX(-100%) rotate(-90deg) translateZ(0px);
    -moz-transform: translateX(-100%) rotate(-90deg) translateZ(0px);
    -ms-transform: translateX(-100%) rotate(-90deg) translateZ(0px);
    -o-transform: translateX(-100%) rotate(-90deg) translateZ(0px);
    transform: translateX(-100%) rotate(-90deg) translateZ(0px);
    -webkit-transform-origin: right top 0;
    -moz-transform-origin: right top 0;
    -ms-transform-origin: right top 0;
    -o-transform-origin: right top 0;
    transform-origin: right top 0;
}

.-accordion__heading {
    position: relative;
    display: block;
    padding: 30px;
    cursor: pointer;
}

.-accordion--horizontal .-accordion__expander {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 65vw;
    max-width: 65vw;
    background: #fff;
    margin-left: 100px;
    overflow-y: auto;
    padding: 30px;
}

.-accordion--active .-accordion__heading {
    background: var(--bleu);
    color: #fff;
}

.-accordion__heading::after {
    content: '';
    display: inline-block;
    width: 40px;
    height: 40px;
    margin-left: 20px;
    vertical-align: middle;
    transform: rotate(90deg);
}


.panel-tarifs .-accordion__heading::after {
    background: url(img/picto-accordion01.png) center center no-repeat;
    background-size: contain;
}
.panel-circuit .-accordion__heading::after {
    background: url(img/picto-accordion02.png) center center no-repeat;
    background-size: contain;
}
.panel-acces .-accordion__heading::after {
    background: url(img/picto-accordion03.png) center center no-repeat;
    background-size: contain;
}
.panel-equipements .-accordion__heading::after {
    background: url(img/picto-accordion04.png) center center no-repeat;
    background-size: contain;
}

.panel-tarifs.-accordion--active .-accordion__heading::after {
    background: url(img/picto-accordion01open.png) center center no-repeat;
    background-size: contain;
}
.panel-circuit.-accordion--active .-accordion__heading::after {
    background: url(img/picto-accordion02open.png) center center no-repeat;
    background-size: contain;
}
.panel-acces.-accordion--active .-accordion__heading::after {
    background: url(img/picto-accordion03open.png) center center no-repeat;
    background-size: contain;
}
.panel-equipements.-accordion--active .-accordion__heading::after {
    background: url(img/picto-accordion04open.png) center center no-repeat;
    background-size: contain;
}


.container-formules .flex-item-tiers {
    padding: 15px 0;
    margin-bottom: 15px;
    border-bottom: 4px solid var(--bleu)
}

.panel-circuit img.image-base {
    width: 100%;
    height: auto;
}

.chiffre,
.chiffre-carac {
    margin-top: 15px;
    padding-top: 15px;
    border-top: 1px solid var(--gris-dark);
    margin-bottom: 30px;
}

.panel-acces li,
.panel-equipements li {
    font-size: .85rem;
    margin-bottom: 3px !important;
    line-height: 1.1rem;
}

*/

.module-formule-indiv {
    margin-bottom: 30px;
}

.module-formule-indiv:nth-of-type(even) {
    box-shadow: 0 0 20px rgba(0,0,0,0.2);
}



.panel-tarifs,
.panel-circuit,
.panel-acces,
.panel-equipements {
    position: relative;
    text-align: left;
    padding: 30px 30px 30px 80px !important;
    
}

.panel-tarifs::after,
.panel-circuit::after,
.panel-acces::after,
.panel-equipements::after {
    content: '';
    display: block;
    position: absolute;
    width: 40px;
    height: 40px;
    top: 20px;
    left: 20px;
}


.panel-tarifs::after {
    background: url(img/picto-accordion01.png) center center no-repeat;
    background-size: contain;
}
.panel-circuit::after {
    background: url(img/picto-accordion02.png) center center no-repeat;
    background-size: contain;
}
.panel-acces::after {
    background: url(img/picto-accordion03.png) center center no-repeat;
    background-size: contain;
}
.panel-equipements::after {
    background: url(img/picto-accordion04.png) center center no-repeat;
    background-size: contain;
}


.panel-tarifs.Zebra_Accordion_Expanded,
.panel-circuit.Zebra_Accordion_Expanded,
.panel-acces.Zebra_Accordion_Expanded,
.panel-equipements.Zebra_Accordion_Expanded,
.panel-tarifs:hover,
.panel-circuit:hover,
.panel-acces:hover,
.panel-equipements:hover {
    background: var(--bleu);
    color: #fff;
}

.panel-tarifs.Zebra_Accordion_Expanded::after {
    background: url(img/picto-accordion01open.png) center center no-repeat;
    background-size: contain;
}
.panel-circuit.Zebra_Accordion_Expanded::after {
    background: url(img/picto-accordion02open.png) center center no-repeat;
    background-size: contain;
}
.panel-acces.Zebra_Accordion_Expanded::after {
    background: url(img/picto-accordion03open.png) center center no-repeat;
    background-size: contain;
}
.panel-equipements.Zebra_Accordion_Expanded::after {
    background: url(img/picto-accordion04open.png) center center no-repeat;
    background-size: contain;
}

.container-flex .flex-item-moitie img {
    max-width: 100%;
}





/*************************************************************************/
/******************************** COMPETITIONS ***************************/
/*************************************************************************/

.module-competition .image-survol {
    height: 220px;
}

.competition-der .image-survol {
    height: 450px;
}

.module-competition a.cta-light {
    position: absolute;
    bottom: 10px;
    left: 30px;
}

.bkg-blanc.module-competition {
    box-shadow: 0 12px 20px rgba(0,0,0,0.2);
}

.module-competition {
    margin-bottom: 30px;
    min-height: 440px;
}

.introduction-page img {
    max-width: 100%;
    height: auto;
    margin: 20px 0;
}

.pagination ul {
    white-space: normal !important;
}

.page-numbers li {
    width: 40px;
    height: 40px;
    border: 0;
    margin-right: 6px;
    font-weight: 800;
    background: #fff;
    float: none;
    display: inline-block;
}

span.current {
    background: var(--bleu);
    color: #fff !important;
}

.page-numbers li a {
    color: var(--gris-dark);
    font-weight: 800;
    text-decoration: none !important;
}

.page-numbers li a:hover {
    background: var(--gris-light);
}


/******** LIENS PARTAGE *******/

.bloc-partage {
    padding-top: 20px;
    margin-top: 20px;
    padding-bottom: 50px;
    border-top: 5px solid var(--gris-light);
}

a.share-icone {
    text-decoration: none !important;
    margin: 0 8px;
}

a.share-icone::before {
    content: '';
    display: inline-block;
    font-size: 1.6rem;
    font-family: 'fontAwesome';
    color: var(--bleu);
}

a.share-icone:hover::before {
    color: var(--gris-dark);
}

a.share-icone.share-twitter::before {
    content: '\f081';
}

a.share-icone.share-facebook::before {
    content: '\f082';
}


/*************************************************************************/
/******************************** BOUTIQUE *******************************/
/*************************************************************************/

.module-produit .image-survol {
    height: auto;
}

.module-produit img {
    margin: 0 auto;
    max-width: 100%;
    height: auto;
}

.module-produit a.cta-light {
    position: relative;
    bottom: auto;
    left: auto;
    margin-top: 25px;
}

.produit-en-avant {
    margin-bottom: 50px;
}

.produit-en-avant .image-survol {
    height: 500px;
    max-height: 90vh;
}

.logo-partenaire {
    height: 60px;
    margin: 0 10px 15px;
    display: inline-block;
    float: none !important;
    position: relative;
}

.logo-partenaire img {
    max-height: 100%;
    max-width: 100%;
}

.flex-item-full {
    width: 100%;
}

footer.footer .menu-reseaux-sociaux li {
    margin: 0 auto !important;
    float: none;
}

.module-40ans {
    display: none !important;
}




/*************************************************************************/
/******************************** 404 ************************************/
/*************************************************************************/


.page-404 {
    height: 80vh;
    background: url(img/top-image-home.jpg) top center no-repeat;
    background-size: cover;
}


