@import 'icomoon.css';

/*-- 
HELPERS
--*/

h1,
.h1-like,
h2,
.h2-like,
h3{
    font-weight: 700;
}

h2,
.h2-like{
    text-transform: uppercase;
    color: #575757;
}

h2 a{
    color: inherit;
}

h3{
    line-height: 2.4rem;
    margin: 1rem auto;
}

p{
    line-height: 1.2;
}

p a{
    color: inherit;
    text-decoration: underline;
}

span a{
    color: inherit;
    text-decoration: underline;
}

a{
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
    text-decoration: none;
}

textarea{
    white-space: pre-wrap;
}

.pam{
    padding: 1rem;
}

.pal{
    padding: 2rem;
}

.prl{
    padding-right:2rem;
}

.pll{
    padding-left:2rem;
}

.mal{
    margin: 2rem;
}

.w50{
    width:50%;
}

@media (min-width: 1024px) {
    .pam{
        padding: 1.5rem;
    }
    
    .pal{
        padding: 3rem;
    }
    
    .mal{
        margin: 3rem;
    }
}

.pbn{
    padding-bottom: 0;
}

.prn{
    padding-right: 0;
}

.color-gray{
    color: #707070;
}


.color-success{
    color:#82bf40;
}

.color-warning{
    color:#f6a802;
}

.help{
    font-size:1.5rem;
}

.no-underline, .no-underline:hover, .no-underline:visited .no-underline:active{
    text-decoration:none !important;
}

span.badge{
    color: #ffffff;
    font-size: 1.2rem;
    font-weight: bold;
}

button:focus,
input:focus{
    outline: transparent;
}

.bg-body{
    position: fixed;
    left: 0px;
    top: 0px;
    right: 0px;
    bottom: 0px;
    z-index: 1000;
    display: none;
    background-color: rgba(0, 0, 0, .63);
    width:100%;
    height:100%;
}

.btn{
    text-transform: uppercase;
    padding: 1.6rem 1.8rem;
    text-decoration: none;
    white-space: normal;
    overflow: hidden;
    position: relative;
    display: inline-block;
    text-align: center;
    border: 2px solid #fff;
}

.btn:hover,
.btn:focus,
.btn:active{
    text-decoration: none;
    color:#fff;
}
.btn.btn-inverse:hover{
    color:#fff;
}

.btn-white{
    background:#fff;
    color:#000;
}
.btn-white:hover {
    color:#fff;
    border-color: #fff;
    background-color: rgba(255, 255, 255, 0.1);
}
.btn-white.btn-inverse{
    background-color: transparent;
    color:#fff;
}
.btn-white.btn-inverse:hover{
    background-color: rgba(255, 255, 255, 0.1);
}

.btn--block{
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
}

.checkbox-label, .radio-label{
    margin-bottom: 0;
}

.checkbox-label span{
    position: relative;
    border: 2px solid #707070;
    vertical-align: middle;
    width: 3rem;
    height: 3rem;
    display: block;
}

.radio-label span{
    position: relative;
    border: 2px solid #707070;
    vertical-align: middle;
    width: 3rem;
    height: 3rem;
    border-radius:50%;
    display: block;
}

.checkbox{
    width: 2.6rem;
    height: 2.6rem;
    border-radius: 0;
    -webkit-box-shadow: none;
    box-shadow: none;
    border: 6px solid white;
}

.radio{
    width: 2.6rem;
    height: 2.6rem;
    border: 7px solid #fff;
    border-radius: 50%;
    -webkit-box-shadow: none;
    box-shadow: none;
}

.radio-choices{
    display:inline-block;
    width:100%;
}

.radio-choices > label{
    float:left;
    display:block;
    margin-right:20px;
}
.radio-choices.right > label{
    float:right;
}

.radio-label > *{
    float:left;
}

.radio-label span{
    margin-right:10px;
}

.flex-container--row{
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
}

.flex-align-center{
    -ms-flex-line-pack: center;
    align-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    -ms-grid-row-align: center;
    align-items: center;
}

.panel{
    position:relative;
    background: #ffffff;
    -webkit-box-shadow: 0px 3px 6px 0px rgba(0, 0, 0, 0.16);
    box-shadow: 0px 3px 6px 0px rgba(0, 0, 0, 0.16);
}

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

.before-opacity{
    position: relative;
}

.before-opacity::before{
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    z-index: 0;
    background-color: rgba(0,0,0, 0.35);
}

.link-icon{
    display: inline-block;
    text-decoration: none;
    position: relative;
    font-size: 1.3rem;
}

@media (min-width: 1024px) {
    .link-icon{
        font-size: 1.6rem;
    }
}

.link-icon:hover,
.link-icon:focus,
.link-icon:active{
    text-decoration: none;
}

.link-icon i{
    display: block;
    margin: 0;
    font-size: 3.5rem;
    text-align: center;
}

.link-icon span.text{
    display: block;
    margin-top: 5px;
    text-transform: uppercase;
    text-align:center;
}

.link-icon span.badge{
    position: absolute;
    right: 10px;
    bottom: 24px;
    line-height: 0.8;
}

/*-- 
BODY
--*/

html,
body{
    min-height: 100%;
    height: 100%;
}

body{
    font-family: 'Lato', sans-serif;
    color: #707070;
    min-height: 100%;
    height: 100%;
    font-size: 1.6rem;
}

*{
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

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

/*--
HEADER 
--*/

header{
    position: fixed;
    top: 0;
    width: 100%;
    z-index: 10000;
    height: 100px;
    -webkit-transition: all .3s;
    transition: all .3s;
    -webkit-box-shadow: 0px 3px 6px 0px rgba(0, 0, 0, 0.16);
    box-shadow: 0px 3px 6px 0px rgba(0, 0, 0, 0.16);
}

header.is-expanded{
    min-height: 100%; 
    height: auto;
}

header .flex-container{
    height: 100px;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    -ms-grid-row-align: center;
    align-items: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    background: #ffffff;
}

.meteo{
    font-size: 1.6rem;
    -ms-flex-negative: 0;
    flex-shrink: 0;
}

.meteo i{
    font-size: 3.8rem;
}

.meteo .temperature{
    font-size: 2.4rem;
    margin-left: 0.5rem;
    vertical-align: bottom;
}
.meteo .date{
    color: #707070;
    text-transform: uppercase;
}

#main{
    padding-top: 100px;
}

@media (min-width: 1024px) {
    header,
    header .flex-container,
    .fixed-background{
        height: 150px;
    }

    #main{
        padding-top: 150px;
    }
}

.nav-button{
    position: relative;
    padding: 0;
    background: none;
    margin: 0 2rem;
    font-size: 1.2rem;
    height: 3.2rem;
    width: 3rem;
    -ms-flex-negative: 0;
    flex-shrink: 0;
}

.nav-button::before{
    content: "MENU";
    font-size: 1rem;
    position: absolute;
    top: 0;
    left: 0;
    -webkit-transition: all .2s;
    transition: all .2s;
}

.nav-button > *{
    background: none;
    width: 100%;
    height: 1.4rem;
    margin-top: 1.6rem;
}

.nav-button > *::before, .nav-button > *::after {
    height: 4px;
    -webkit-transition-property: top, height, -webkit-transform;
    transition-property: top, height, -webkit-transform;
    transition-property: transform, top, height;
    transition-property: transform, top, height, -webkit-transform;
    will-change: transform, top, height;
}

.nav-button.is-active::before{
    opacity: 0;
}

.nav-button.is-active > *{
    margin-top: 0;
}

.navigation-button span{
    font-size: 1.2rem;
}

@media (min-width: 1024px) {
    .nav-button{
        margin: 0 3rem;
        height: 4.6rem;
        width: 4.2rem;
    }
    .nav-button::before{
        font-size: 1.4rem;   
    }
    .nav-button > *{
        height: 1.8rem;
        margin-top: 1.8rem;
    }
}

.after-separation{
    position: relative;    
    margin-right:4.4rem;
}

.before-separation{
    position: relative;
    margin-left:4.4rem;
}

.after-separation::after, .before-separation::before{
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    content: "";
    width: 1px;
    height: 35px;
    background: #707070;
}

.after-separation::after{
    right: -2.2rem;
    height: 5rem;
}

.before-separation::before{
    left: -2.2rem;
    height: 5rem;
}

.logo-container{
    line-height: 1.5rem;
}

.logo-container img{
    max-width: 120px;
    max-height:50px;
}

.logo-container a:hover,
.logo-container a:focus,
.logo-container a:active{
    text-decoration: none;
}

.logo-container span{
    font-size: 1.2rem;
    /*padding-top: 4px;*/
}

@media (min-width: 1024px) {
    .logo-container{
        line-height: 3.2rem;
        max-width: 100%;
        margin-left: 0 !important;
    }
    
    .logo-container img{
        max-width: 500px;
        width: 100%;
    }
    
    .logo-container a > *{
        display: inline-block;
        width: auto;
        vertical-align: middle;
    }
    
    .logo-container img{
        margin-right: 20px;
    }
    
    .logo-container div{
        padding-top: 5px;
    }
    
    .logo-container span{
        font-size: 2.6rem;
    }
}

.header-actions{
    -ms-flex-negative: 0;
    flex-shrink: 0;
}

.header-actions a:last-child{
    margin-right:0;
}
.header-actions a:first-child {
    margin-left:0;
}

.header-actions a {
    margin: 0 10px;
}

.btn-account{
    position: absolute;
    width: 100%;
    height: 100%;
    background: none;
    padding: 0;
}

.info-account{
    position: relative;
    padding: 0;
    height: 100px;
    -ms-flex-item-align: start;
    align-self: flex-start;
    /*width: 350px;*/
}


.name-account{
    line-height: 1.8rem;
}

.name-account span.prenom{
    font-size: 2.6rem;
    text-transform: uppercase;
    line-height: 2.6rem;
}

.name-account span.mon-profil{
    color: #707070;
    width: 100%;
    display: block;
    font-size: 1.4rem;
}

.illus-account{
    position: relative;
    background: gray;
    width: 100px;
    height: 100px;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    margin-left: 3rem;
}

.info-account .icon-arrow-down{
    content: "";
    display: block;
    width: 26px;
    height: 26px;
    line-height: 26px;
    text-align: center;
    position: absolute;
    right: 87px;
    top: 50%;
    font-size: 1rem;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
}

.info-account .icon-arrow-down:before{
    display: block;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
}

.info-account .icon-arrow-down.is-active:before{
    -webkit-transform: rotate(180deg);
    transform: rotate(180deg);
}

.info-account .icon-arrow-down.is-active{
    
}

@media (min-width: 1023px) {
    .info-account{
        -ms-flex-negative: 0;
        flex-shrink: 0;
    }
    .illus-account{
        width: 150px;
        height: 150px;
    }
    .info-account .icon-arrow-down{
        width: 4rem;
        height: 4rem;
        right: 130px;
        line-height: 4rem;
    }
}

/*--
HOME
--*/
.bricks-home h2{
    font-size:2.3rem;
    padding-right:6rem;
}

/*--
NAVIGATION + PANEL ACCOUNT
--*/

#navigation, .panel-account{
    position: fixed;  
    width:100%;
    top: 100px;
    height: calc(100% - 100px);
    background: #ffffff;
    overflow: scroll;
    transition: .5s;
    -webkit-transition: all .5s ease;
    transition: all .5s ease;
}

#navigation{
    z-index: 9999;
    left: 0;
    transform: translateX(-100%);
}

.panel-account{
    z-index: 9998;
    right: 0;
    transform: translateX(100%);
}
#navigation.is-opened, .panel-account.is-opened {
    transform: translateX(0%);
}

@media (min-width: 768px) {
    #navigation, .panel-account{
        width:auto;        
    }
}

@media (min-width: 1024px) {
    #navigation, .panel-account{        
        top: 150px;   
        height: calc(100% - 150px);
    }
}

#navigation ul{
    max-width: 600px;
    margin:0 20px
}

#navigation li{
    height: 100px;
    width: 100%;
    border-bottom:2px solid #f5f5f5;
}

#navigation a{
    position: relative;
    display: flex;
    flex-flow: row nowrap;
    align-items: center;
    justify-content: flex-start;
    width: 100%;
    height: 100%;
    color: #575757;
    font-size: 2.3rem;
    font-weight: bold;
    text-decoration: none;
    text-transform: uppercase;
}

@media (min-width: 768px) {
    #navigation a{
        padding-right: 120px;
    }
}

#navigation a::before{
    opacity: 0;
    display: inline-block;
    position: absolute;
    right: 60px;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    content: "\e90f";
    font-family: 'icomoon';
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
    font-size: 2.4rem;
}

#navigation a:hover::before,
#navigation a:active::before,
#navigation a:focus::before,
#navigation a.active::before{
    opacity: 1;
    right: 0px;
}

#navigation i{
    font-size: 4rem;
    width: 50px;
    margin: 0 10px 0 15px;
    text-align: center;
}

/*--
PANEL ACCOUNT
--*/

.panel-account-content{
    max-width: 500px;
}

.panel-account-content .number{
    font-size: 3rem;
}

.profil-bar {
    min-width: 260px;
    height: 1em;
    margin-top: 5px;
    position: relative;
    background: #ffffff;
}

.profil-bar .percentage {
    position: relative;
    font-size: 1em;
    height: 1em;
}


/*--
Carousel et banniere
--*/
.banner-container{
    height:100%;
}

.banniere-header{
    position: relative;
    overflow:hidden;
}

.banniere-header,
.banniere-header .owl-item{
    height: 400px;

}

#notification{
    position: absolute;
    top: 2rem;
    margin-left: 2rem;
    right: 2rem;
    z-index: 4;
}

#encart-nous-appeler p{
    padding-top: 2rem;
    width: 100%;
}

.owl-item > div,
.content-banniere-header{
    height: 100%;
    -webkit-box-align: center;
    -ms-flex-align: center;
    -ms-grid-row-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}

.content-banniere-header h2{
    font-size: 3rem;
}

.content-banner .content-link{
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
}

@media (min-width: 1024px) {
    .banniere-header,
    .banniere-header .owl-item{
        height: 400px;
    }
    
    .content-banniere-header h2{
        font-size: 5rem;
    }
    
    #encart-nous-appeler p{
        padding-top: 0;
        width: auto;
    }

}

.banniere-header .owl-item{
    position: relative;
    width: 100%;
    overflow: hidden;
}

.content-banner h3{
    font-size:2.3rem;
}

.content-banner {
    height: 100%;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: top center;
    text-align: center;
    position: relative;
    top: 0;
    width: 100%;
    color:#fff;
}

.background-fixed{
    background-attachment: fixed;
}

.parallax-window {
    position: absolute;
    z-index: -1;
	min-height: 400px;
	background: transparent;
}

.item-text{
    -webkit-box-align: start;
    -ms-flex-align: start;
    -ms-grid-row-align: flex-start;
    align-items: flex-start;
}

@media (min-width: 1023px){
    .item-text{
        margin-top: 2rem;
    }
}

.content-banner h2,
.content-banner .h2-like,
.content-banner h1{
    color: #ffffff;
    line-height: 5rem;
    padding: 0 50px;
}

.content-banner p{
    color: #ffffff;
    font-size: 1.8rem;
    line-height: 2.2rem;
}

@media (max-width: 1023px) {
    .item-text{
        -webkit-box-align: center;
        -ms-flex-align: center;
        -ms-grid-row-align: center;
        align-items: center;
    }

    .content-banner p{
        font-size: 1.6rem;
    }
}

.content-banner .item-center{
    z-index: 2;
    position: relative;
}

.owl-dots{
    position: absolute;
    height: 10px;
    bottom: 33px;
    width: 100%;
    text-align: center;
}

@media (min-width: 1023px) {
   .owl-dots{
        bottom: 80px;
    } 
}

.owl-carousel button.owl-dot span{
    display: inline-block;
    vertical-align: top;
    margin: 0 5px;
    width: 10px;
    height: 10px;
    background-color: #ffffff;
    opacity: 0.5;
    border-radius: 50%;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
}

.owl-carousel button.owl-dot.active  span,
.owl-carousel button.owl-dot:hover  span{
    opacity: 1;
}

.owl-item .item-center > h2,
.owl-item .item-center > div.item-text,
.owl-item .item-center > ul,
.owl-item .item-center > div:last-child,
.owl-item .content-banniere-header h2,
.owl-item .content-banniere-header div.item-text{
    -webkit-transition: .5s;
    transition: .5s;
    opacity: 0;
}

.owl-item .item-center > ul{
    -webkit-transition-delay: .5s;
    transition-delay: .5s;
}

.owl-item .item-center > h2,
.owl-item .item-center > div.item-text,
.owl-item .content-banniere-header h2{
    -webkit-transform: translateY(-50px);
    transform: translateY(-50px);
}

.owl-item .item-center > div:last-child,
.owl-item .item-center > ul,
.owl-item .content-banniere-header div.item-text{
    -webkit-transform: translateY(50px);
    transform: translateY(50px);
}


.owl-item.active .item-center > h2,
.owl-item.active .item-center > div.item-text,
.owl-item.active .item-center > ul,
.owl-item.active .item-center > div:last-child,
.owl-item.active .content-banniere-header h2,
.owl-item.active .content-banniere-header div.item-text{
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0);
}

.owl-carousel-banniere, .owl-carousel-banniere > div, .owl-carousel-sidebar, .owl-carousel-sidebar > div{
    height:100%;
}

.owl-carousel-sidebar .owl-item h2 img{
    width: auto;
    display:initial !important;
}

.owl-footer .link-main img{
    max-width:60%;
}

.owl-carousel-banniere.banner-desktop{
    display:none;
}

@media (min-width: 480px) {
    .owl-carousel-banniere.banner-desktop{
        display:block;
    }

    .owl-carousel-banniere.banner-mobile{
        display:none;
    }
}

.btn-retour{
    position: absolute;
    display: block;
    left: 2rem;
    top: 50%;
    margin-top: -23px;
    font-size: 3rem;
    -webkit-transition: -webkit-transform .3s linear;
    transition: -webkit-transform .3s linear;
    transition: transform .3s linear;
    transition: transform .3s linear, -webkit-transform .3s linear;
}

.btn-retour:hover,
.btn-retour:focus,
.btn-retour:active{
    text-decoration: none;
}

.btn-retour i:before{
    color: #ffffff;
}

@-webkit-keyframes anim-aller-retour {
	0% {
		-webkit-transform: translateX(0px);
		transform: translateX(0px);
	}
    50% {
		-webkit-transform: translateX(-15px);
		transform: translateX(-15px);
	}
    100% {
		-webkit-transform: translateX(0px);
		transform: translateX(0px);
	}
}

@keyframes anim-aller-retour {
	0% {
		-webkit-transform: translateX(0px);
		transform: translateX(0px);
	}
    50% {
		-webkit-transform: translateX(-15px);
		transform: translateX(-15px);
	}
    100% {
		-webkit-transform: translateX(0px);
		transform: translateX(0px);
	}
}



@-webkit-keyframes anim-aller-retour-right {
	0% {
		-webkit-transform: translateX(0) translateY(0);
		transform: translateX(0) translateY(0);
	}
    50% {
		-webkit-transform: translateX(20px) translateY(0);
		transform: translateX(20px) translateY(0);
	}
    100% {
		-webkit-transform: translateX(0px) translateY(0);
		transform: translateX(0px) translateY(0);
	}
}

@keyframes anim-aller-retour-right {
	0% {
		-webkit-transform: translateX(0) translateY(0);
		transform: translateX(0) translateY(0);
	}
    50% {
		-webkit-transform: translateX(20px) translateY(0);
		transform: translateX(20px) translateY(0);
	}
    100% {
		-webkit-transform: translateX(0px) translateY(0);
		transform: translateX(0px) translateY(0);
	}
}

.btn-retour:hover{
    -webkit-animation: anim-aller-retour .5s;
    animation: anim-aller-retour .5s;
}

.btn--suite:hover ~ i{
    -webkit-animation: anim-aller-retour-right .5s;
    animation: anim-aller-retour-right .5s;
}

/*--
PAGE CONTENT 
--*/

.page-content{
    position: relative;
    z-index: 3;
    padding: 0 2rem;
    margin-top: -20px;
    margin-bottom:50px;
}

.owl-carousel-activites,
.owl-carousel-activites .owl-stage-outer,
.owl-carousel-activites .owl-stage,
.owl-carousel-activites .owl-item{
    height: 200px;
    overflow:hidden;
}

.owl-carousel-activites .owl-item h2{
    font-size:2.8rem;
}

.owl-carousel-activites .owl-item h2,
.owl-carousel-activites .owl-item .content-zoom-activite > div{
    -webkit-transition: .5s;
    transition: .5s;
    opacity: 0;
    -webkit-transition-delay: .5s;
    transition-delay: .5s;
    -webkit-transform: translateY(-40px);
    transform: translateY(-40px);
}

.owl-carousel-activites .owl-item.active h2,
.owl-carousel-activites .owl-item.active .content-zoom-activite > div{
    -webkit-transform: translateY(0);
    transform: translateY(0);
    opacity: 1;
}

.owl-carousel-activites .owl-item .content-zoom-activite > div:last-child{
    -webkit-transform: translateY(40px);
    transform: translateY(40px);
}

.owl-carousel-activites .owl-item.active .content-zoom-activite > div:last-child{
    -webkit-transform: translateY(0);
    transform: translateY(0);
}

@media (min-width: 1023px) {
    .home-content{
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
    }

    .home-content > div{
        width: calc(50% - 1.5rem);
    }
}

.legende{
    background-color: #F5F5F5;
    font-size: 1.4rem;
}

.legende.legende-white,
.legende.legende-white button{
    background-color: #ffffff;
}

.legende button{
    color: #D5D5D5;
    background: #F5F5F5;
    width: 100%;
    text-align: left;
    padding: 1.2rem 2rem;
}

@media (min-width: 1023px) {
   .legende button{
        padding: 1.2rem 3rem;
    }

}

.legende.legende-white button{
    padding: 1.2rem 0 0;
}

@media (min-width: 1023px) {
   .page-content{
        padding: 0;
        margin-top: -50px;
    } 
}

/*.panel a:not(.link-icon) > i{
    width: 60px;
    margin-right: 2rem;
    font-size: 4.5rem;
    text-align: center;
}*/

@media (min-width: 1023px) {
   /*.panel a:not(.link-icon) > i{
        margin-right: 2.5rem;
    }*/ 
}

.bricks-home .icon-primary{
    width: 60px;
    margin-right: 2rem;
    font-size: 4.5rem;
    text-align: center;
}

@media (min-width: 1023px) {
    .bricks-home .icon-primary{
        margin-right: 2.5rem;
    }
}

.panel i.icon-points{
    position:absolute;
    right:3rem;
    top:50%;
    transform: translateY(-50%);
    font-size: 2rem;
    margin-right: 0;
    float: right;
    line-height: 4.5rem;
    text-align: right;
    width: 2rem;
    cursor:grab;
    z-index:99;
}

.panel .text-legende{
    max-height: 0px;
    opacity: 0;
    overflow: hidden;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
}

.panel .text-legende.is-opened{
    max-height: 1000px;
    opacity: 1;
}

.panel .text-legende p{
    padding-top: 1rem;
    opacity: 0;
    -webkit-transition-delay: 1s;
    transition-delay: 1s;
    -webkit-transition: all 1s;
    transition: all 1s;
}

.panel .text-legende.is-opened p{
    opacity: 1;
}

.panel a:not(.link-icon) > i,
.panel a:not(.link-icon) > span{
    display: inline-block;
    vertical-align: middle;
}

/*--
TABS
--*/

.tabs-menu {
    border-bottom: none;
    -webkit-box-align: stretch;
    -ms-flex-align: stretch;
    -ms-grid-row-align: stretch;
    align-items: stretch;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
}

.tabs-menu-link {
    display: block;
    background: #F5F5F5;
    color: #707070;
    margin-bottom: -2px;
    padding: 1em;
    width: 50%;
    text-align: center;
    text-decoration: none;
    -webkit-transition: .25s;
    transition: .25s;
    border: none;
    text-transform: uppercase;
    font-weight: normal;
    font-size: 1.6rem;
    line-height: 1.8rem;
}

@media (min-width: 1023px) {
   .tabs-menu-link {
        font-size: 2rem;
        line-height: 2.4rem;
    } 
}

.tabs-menu-link.is-active {
    outline: 0;
    color: #707070;
    background: #ffffff;
}

.tabs-menu-link.is-active:hover {
    color: #707070;
    outline: 0;
}

.tabs-menu-link:hover{
    outline: 0;
}

.tabs-menu-link:focus,
.tabs-menu-link:hover{
    text-decoration: none;
}

.tabs-content-item {
  padding: 0 ;
}

.tabs-content-item[aria-hidden="true"] {
  visibility: hidden;
  overflow: hidden;
  height: 0;
  min-height: 0;
  padding: 0;
}

.tabs-content-item[aria-hidden="false"] {
  visibility: visible;
}

#tabplanning .scroll-zone{
    height: 180px;
    max-height: 180px;
    height: auto;
}

.scroll-zone{
    height: 380px;
    overflow-y: scroll;
}

.items-page-content .item:not(:last-child){
    margin-bottom: 2rem;
    border-bottom: 2px solid #F5F5F5;
}

.item-content:not(:last-child){
    margin-bottom: 2rem;
}

.items-page-content .item > h3{
    line-height: 1;
}

.item-invoice .date, .item-paycheck .date{
    display: block;
    width: auto;
    min-width:75px;
    padding:10px;
    height: 75px;
    margin-right: 2rem;
    text-transform: uppercase;
    text-align: center;
}

.item-invoice .date .jour, .item-paycheck .date .jour{
    /*padding-top: 1rem;*/
    font-size: 2rem;
    display: block;
    line-height: 3rem;
    font-weight: bold;
}

.item-planning:not(:last-child) {
    margin-bottom: 2rem;
    padding-bottom: 2rem;
    border-bottom: 2px solid #F5F5F5;
}

.zoom-activite{
    height: 200px;
    background-repeat: no-repeat;
}

.content-zoom-activite{
    position: relative;
    height: 100%;
    z-index: 2;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

.content-zoom-activite > *{
    color: #ffffff;
}

.content-zoom-activite > a{
    -ms-flex-item-align: end;
    align-self: flex-end;
}

.animation{
    padding: 1.5rem;
}

.illustration-animation{
    position: relative;
    z-index: 2;
    height: auto;
    padding: 2rem;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -ms-flex-line-pack: center;
    align-content: center;
    -ms-flex-wrap: nowrap;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-box-align: center;
    -ms-flex-align: center;
    -ms-grid-row-align: center;
    align-items: center;
}

.illustration-animation h2,
.illustration-animation i:before{
    color: #ffffff;
}

.illustration-animation i{
    font-size: 3rem;
}

@media (min-width: 1023px) {
    .illustration-animation{
        height: auto;
        padding: 7rem;
    }  
}

.activite-title{
    font-size:3rem;
    line-height: 3rem;
}

.items-page-content .header-item a:last-child{
    margin-right: 0px;
}

.items-page-content .header-item a:first-child{
    margin-left: 0px;
}

.tarif{
    font-size: 4rem;
    color: #575757;
    font-weight: bold;
    text-align: right;
    vertical-align: top;
}

.tarif.tarif-precision{
    line-height: 4.5rem;
}

.tarif.tarif-precision i{
    font-size: 1.5rem;
    line-height: 1.5rem;
    color: #575757;
    font-weight: normal;
    width:100%;
    text-align:right;
    display:block;
}

.panier-page-content .item-content{
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

#basket-catalog, #basket-invoices{
    border-bottom: 2px solid #F5F5F5;
}

#basket-catalog .activite:not(:last-child){
    padding-bottom: 3rem;
}

#basket-cotisation{
    border-bottom: 2px solid #F5F5F5;
}

#basket-cotisation .tarif{
    font-size: 2rem;
}

.total .label, .total .tarif{
    font-size:4rem;
    line-height:4rem;
}

.basket-step{
    text-transform:uppercase;
    font-size: 1.8rem;
    font-weight: bold;
    position:relative;
}

.basket-step.step-active:after{
    content:'';
    height:10px;
    width:100%;
    bottom:0;
    left:0;
    position:absolute;
}

.basket-step i{
    vertical-align: middle;
    font-size: 4rem;
    margin-right: 20px;
}

.basket-step span{
    font-size:2rem;
    color:#707070;
    white-space: nowrap;
}

#logo-bank{
    margin-top: 3rem;
    width:60%;
}

.full-session{
    opacity:0.5;
}

/* ----
planning
--*/
#planningHeader .calendarTitle{
    font-size:1.8rem;
    color:#707070;
    text-transform: uppercase;
    font-weight: bold;
}

#planningHeader .planningFlex{
    display:flex;
}

#planningHeader .borders{
    position:relative;
}
#planningHeader .borders:before{
    content: '';
    border-left: 1px solid #707070;
    position: absolute;
    height: 50%;
    top: 25%;
    left: 0;
}
#planningHeader .borders:after{
    content: '';
    border-left: 1px solid #707070;
    position: absolute;
    height: 50%;
    top: 25%;
    right: 0;
}

#planningHeader .goPrev i, #planningHeader .goNext i{
    font-size:1.6rem !important;
    margin:0 !important;
    width:auto;
    vertical-align:baseline;
}
#planningHeader .goPrev{
    margin-right:1rem;
}

#planningHeader .changeView, #planningHeader .goToday, #planningHeader .changeView:focus, #planningHeader .goToday:focus{
    opacity:0.5;
    text-transform:uppercase;
    text-decoration:none;
    font-weight:bold;
    margin-left:1.8rem;
    font-size: 1.8rem;
    position:relative;
}
#planningHeader .changeView:hover, #planningHeader .goToday:hover{    
    text-decoration:none;
    opacity:1;
}
#planningHeader .changeView.active{
    opacity:1;
}
#planningHeader .changeView.active:after{
    content:'';
    position:absolute;
    bottom:-5px;
    width:50%;
    left:25%;
}

@media (max-width: 768px) {   
    #planningHeader .planningPart{
        text-align:center;
        justify-content: center;
    }  
    
    #planningHeader .borders:after{
        content:none;
    }
    #planningHeader .borders:before{
        content:none;
    }
}

/* ABSENCES / contrats */

.item-contrat .solde{
    font-size: 4rem;
    color: #575757;
    font-weight: bold;
    text-align:center;
}

.item-contrat .solde span{
    display:block;
    font-size:1.6rem;
    text-transform:uppercase;
}


/* ----
PAGINATION
--*/
#pagination{
    width:100%;
    text-align:center;
    color:#575757;
}

#pagination .prev-link a, #pagination .next-link a{
    text-decoration:none;
}

#pagination .prev-link{
    text-align:left;
}

#pagination .next-link{
    text-align:right;
}

#pagination span{
    margin:0 3px;
}

/*-- 
CONNEXION
--*/

.connexion-content{
    min-height: 100%;
}

.connexion-content > div{
    position: relative;
}


@media (max-width: 1023px) {
    .connexion-content{
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
        -ms-flex-direction: row;
        flex-direction: row;
    }
    .connexion-content > div{
        width: 100%;
    }
}

.connexion-content .owl-carousel,
.connexion-content .owl-carousel .owl-stage-outer,
.connexion-content .owl-carousel .owl-stage,
.connexion-content .owl-carousel .owl-item,
.connexion-content .content-banner > div{
    min-height: 690px;
    height: 100%;
}

.connexion-content .content-banner > div{
    height: 100%;
}

@media (min-width: 1023px) {
    .connexion-content .content-banner p{
        width: 80%;
        margin: 1rem auto;
    }
}

.connexion-content .owl-dots{
    bottom: auto;
    top: 4rem;
}

.connexion-content h2 i{
    font-size: 8rem;
    color: #ffffff;
}

.connexion-bloc {
    font-size: 2rem;
    padding: 3rem;
}

.connexion-content .footer-item{
    max-width: 440px;
    margin: auto;
}


@media (min-width: 1023px) {
    .connexion-bloc {
        max-width: 60%;
        margin: auto;
    }
}

.connexion-content .owl-footer{
    position: absolute;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    bottom: 0;
    z-index: 3;
    color: #ffffff;
    padding: 2rem;
    font-size:1.5rem;
}

.owl-footer a{
    font-size: 3rem;
    text-decoration:none;
}

/*--
ALERTES
--*/

.alertes{
    position: absolute;
    top: 100px;
    z-index: 4;
    min-height: 100%;
    height: 100%;
    width: 100%;
}

.alertes .before-opacity{
    padding-top:3rem;
    height: 100%;
    min-height: 100%;
}

.alertes .before-opacity::before{    
    background-color: rgba(0,0,0, 0.5);
}

.alertes .close-notifications{
    position:absolute;
    right:1rem;
    top:1rem;
    
    text-decoration:none;
}
.alertes .close-notifications i::before{
    color:#fff !important;
}

.alertes-content{
    position: relative;
    padding: 2rem 2rem 0;
}

.notification{
    margin-bottom: 2rem;
    font-size:1.8rem;
    text-transform:uppercase;
}

.notification .notification-content{
    position:relative;
    padding:0 45px;
}

.notification a{
    text-decoration:none;
}

.notification.inactive,
.notification.inactive a i::before{
    color: #D5D5D5;
}

.notification button{
    background: none;
}

.notification .link-icon {
   -webkit-transition: -webkit-transform .3s linear;
    transition: -webkit-transform .3s linear;
    transition: transform .3s linear;
    transition: transform .3s linear, -webkit-transform .3s linear;
}

.notification .link-icon:hover {
    -webkit-animation: anim-aller-retour .5s;
    animation: anim-aller-retour .5s;
}

.notification .link-icon i{
    font-size:2rem;
}

.notification .notification-date{
    font-weight:bold;
}

.notification .remove-notification{
    padding: 0;
    font-size: 2.2rem;
    right:0;
    top:0;
    position:absolute;
}

.notification .link-notification{
    margin:0;
    left:0;
    top:50%;
    transform: translateY(-50%);
    position:absolute;
}

@media (min-width: 1023px) {
    .alertes{
        top: 150px;
    }
    
    .alertes .before-opacity{
        padding-top:1rem;
    }

    .alertes-content{
        padding: 3rem 2rem 0;
    }
    
    .notification{
        margin-bottom: 3rem;
    }
}

.notification > div{
    -webkit-box-align: center;
    -ms-flex-align: center;
    -ms-grid-row-align: center;
    align-items: center;
}

.alertes .no-notifications{
    color:#fff;
    font-size:2rem;
}

/*--
FOOTER
--*/

.contact-footer,
.contact-footer > div,
.content-contact-footer{
    min-height: 400px;
}

.contact-footer h2{
    text-transform: none;
}

.content-contact-footer{
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    -webkit-box-align: center;
    -ms-flex-align: center;
    -ms-grid-row-align: center;
    align-items: center;
    -ms-flex-line-pack: center;
    align-content: center;
    -ms-flex-pack: distribute;
    justify-content: space-around;
    padding: 6rem 0;
}

.links-contact-footer{
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}

.links-contact-footer .popup-button{
    font-size: 2.2rem;
    margin: 1.5rem 0;
    text-transform: uppercase;
    background: none;
    padding: 0;
}

.popup{
    display:none;
}

@media (min-width: 1023px) {
   .links-contact-footer .link-icon{
        font-size: 3rem;
    } 

    .links-contact-footer{
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
        width: 100%;
    }
}

.links-contact-footer .popup-button > *{
    display: inline-block;
    vertical-align: middle;
}

.links-contact-footer [class^="icon-"]{
    width: 70px;
    text-align: center;
    margin-right: 1rem;
}

.links-contact-footer [class^="icon-"]:before{
    color: #ffffff;
    font-size: 5rem;
}

.content-contact-footer *{
    color: #ffffff;
}

.reseaux-footer{
    padding-bottom: 113px;
}

.reseaux-footer img{
    width:auto;
}

.reseaux-footer .fl, .reseaux-footer .fr{
    width:100%;
    text-align:center;
}

.links-reseaux{
    margin:15px 0 0;
}

.links-reseaux li a{
    vertical-align:middle;
}

@media (min-width: 1023px) {
   .reseaux-footer{
        padding-bottom: 30px;
    } 
    
    .reseaux-footer .fl, .reseaux-footer .fr{
        width:auto;
    }
    
    .links-reseaux{
        margin-top:0;
    }
}

.links-reseaux li{
    display: inline-block;
    margin: 0 1rem;
    line-height: 3rem;
}

.links-reseaux  [class^="icon-"]{
    font-size: 2.2rem;
}

.links-reseaux .popup-button:hover,
.links-reseaux .popup-button:focus,
.links-reseaux .popup-button:active,
.links-reseaux a:hover,
.links-reseaux a:focus,
.links-reseaux a:active{
    text-decoration: none;
}

.footer-widgets{
    position: fixed;
    bottom: 0;
    z-index: 4;
    width: 100%;
    max-height: 100px;
    background: #ffffff;
}

.content-footer-widgets{
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: left;    
    -webkit-box-align: end;
    -ms-flex-align: end;
    -ms-grid-row-align: flex-end;
    align-items: flex-end;
    padding: 1rem 1.5rem;
    -webkit-box-shadow: 0px 3px 6px 6px rgba(0, 0, 0, 0.16);
    box-shadow: 0px 3px 6px 6px rgba(0, 0, 0, 0.16);
}

.content-footer-widgets span{
    font-size: 1rem;
}

.content-footer-widgets .header-actions i{
    font-size: 3rem;
}

.content-footer-widgets .meteo .temperature{
    font-size: 1.6rem;
}

.content-footer-widgets span.badge{
    font-size: 0.8rem;
    bottom: 15px;
    right: 4px;
}

/*--
FORM
--*/

.form-error{
    color:#D9534F;
    list-style-type: none;
    margin:5px 0 0;
}
.form-error a{
    text-decoration:underline;
    color:#D9534F;
}

.form-filtres,
.title-with-icon{
    width: 100%;
}

.title-with-icon,
.title-with-icon i,
.title-with-icon h3{
    vertical-align: middle;
}

.title-with-icon,
.title-with-icon h3{
    font-size: 1.6rem;
}

.title-form-filtres{
    font-size: 2rem;
    padding-bottom: 1rem;
}

.form-filtres,
.title-with-icon{
    width: 100%;
}

.title-with-icon i{
    font-size: 4rem;
}

.title-with-icon > *{
    vertical-align: middle;
    color: #575757;

}

.form-filtres .btn,
.title-with-icon .btn{
    font-size: 2rem;
    margin-top: 2rem;
    margin-top: 0;
}

.title-with-icon .legend{
    font-size:1.5rem;
    font-style:italic;
}

@media (min-width: 1023px) {
    
    .title-with-icon,
    .title-with-icon h3{
        font-size: 2rem;
        line-height: 3rem;
    }
    
    .title-form-filtres{
        padding-bottom: 3rem;
        width: 335px;
    }
    
    .form-filtres .btn{
        width: 195px;
        margin-top: 0;
    }
}

.dk-select{
    width: auto;
}

.dk-selected{
    color: #212529;
}

.dk-selected.hidden-option {
    color: #777;
    opacity: 0.8;
}
.dk-option.hidden-option {
    display: none;
}

.form-filtres .dk-selected,
.form-filtres select, .form-filtres input[type="text"]{
    border: none;
    text-transform: uppercase;
    font-size: 2rem;
    padding: 2rem;
    box-shadow: none !important;    
}

.form-filtres .dk-selected::before{
    right:20px;
}

@media (min-width: 1023px) {
    .form-filtres .dk-selected,
    .form-filtres select,
    .form-filtres input[type="text"]{
        padding: 4.1rem 3rem;
    }
}

.dk-selected::before,
select::before{
    border: none;
    content: "\e923";
    font-family: 'icomoon';
    font-size: 1.2rem;
    margin: 0;
    right: 15px;
    top: auto;
    -webkit-transition: all .3s;
    transition: all .3s;
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
}

.dk-select-open-down .dk-selected::before{
    -webkit-transform: rotate(180deg);
    transform: rotate(180deg);
}

.dk-selected::after,
select::after{
    display: none;   
}

.dk-select-open-up .dk-select-options, 
.dk-select-open-down .dk-select-options, 
.dk-select-multi:focus .dk-select-options{
    border: none;
    padding: 2rem 0;
    border-radius: 0;
    -webkit-box-shadow: 0px 3px 6px 0px rgba(0, 0, 0, 0.16);
    box-shadow: 0px 3px 6px 0px rgba(0, 0, 0, 0.16);
    z-index: 1;
    text-transform: uppercase;
}

.connexion-bloc .dk-select-open-down .dk-select-options,
.connexion-bloc .dk-select-open-down .dk-select-options,
.connexion-bloc .dk-select-multi:focus .dk-select-options{
    padding: 1.5rem 0;
    text-transform: none;
    
}

@media (min-width: 1023px) {
    .dk-select-open-down .dk-select-options{
        padding: 2rem 1rem;
    }
}

.dk-select-options .dk-option-highlight,
.dk-option-selected{
    background: none;
    color: #005C9F;
}

.dk-option{
    padding: 0.2rem 2rem;
    font-size: 2rem;
}

::-webkit-input-placeholder {
  color: inherit;
}

input::-webkit-input-placeholder,
textarea::-webkit-input-placeholder {
  color: inherit;
}

input:-ms-input-placeholder,
textarea:-ms-input-placeholder {
  color: inherit;
}

input::-ms-input-placeholder,
textarea::-ms-input-placeholder {
  color: inherit;
}

input::-webkit-input-placeholder,
textarea::-webkit-input-placeholder {
  color: inherit;
}

input:-ms-input-placeholder,
textarea:-ms-input-placeholder {
  color: inherit;
}

input::placeholder,
textarea::placeholder {
  color: inherit;
}

input[type="submit"]{
    -webkit-box-shadow: none;
    box-shadow: none;
}

.form-theme input[type="text"],
.form-theme input[type="email"],
.form-theme input[type="number"],
.form-theme input[type="tel"],
.form-theme input[type="search"],
.form-theme input[type="password"],
.form-theme textarea,
select,
.form-theme .dk-selected{
    width: 100%;
    margin-top: 0;
    -webkit-box-shadow: none;
    box-shadow: none;
    border: none;
    border-radius: 0px;
    font-size: 2rem;
}

.form-theme textarea{
    border-radius: 3px;
}

.form-theme .dk-selected{
    padding-bottom: 1rem;
}

.form-theme .form-message{
    border:1px solid #707070;
    margin:20px 0;
    padding:10px;
    font-weight:bold;
}

.title-with-icon input[type="text"], .title-with-icon input[type="tel"]{
    border: none;
    text-transform: uppercase;
    font-size: 1.6rem;
    width: 100%;
    color: #575757;
    -webkit-box-shadow: none;
    box-shadow: none;
    padding: 2rem;
}

.title-with-icon input[type="submit"],
.title-with-icon input[type="button"]{
    width: 100%;
}

@media (min-width: 1023px) {
    .title-with-icon input[type="text"],
    .title-with-icon input[type="tel"]{
        font-size: 2rem;
        width: 320px;
        /*height: 100%;*/
    }
    .title-with-icon input[type="submit"],
    .title-with-icon input[type="button"]{
        height: 100%;
        width:auto;
    }
}

.form-theme .dk-select{
    width: 100%;
}

.form-theme .dk-select-open-down .dk-select-options{
    z-index: 2;
}

.checkbox-container > label{
    float:left;
}

.checkbox-container > span{
    padding-left:50px;
    display:block;
}

form{
    position: relative;
}

.input {
    position: relative;
    display: inline-block;
    width: 100%;
    vertical-align: top;
    margin-bottom:0.6em;
}

.input__field {
    position: relative;
    display: block;
    width: 100%;
    border: none;
    border-radius: 0;
    background: #ffffff;
    -webkit-appearance: none; /* for box shadows to show on iOS */
}

.input__field:focus {
	outline: none;
}

.input__label {
	padding: 0;
        padding-left:5px;
	-webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
	-webkit-touch-callout: none;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
}

.input__label-content {
    position: relative;
    display: block;
    padding: 2em 0;
    width: 100%;
}

.input--hoshi {
    overflow: hidden;
    margin-bottom:0;
    border-bottom:1px solid #000 !important;
    padding: 1.5em 0.7em 0.3em;
    position: relative;
    display:block;
    width:100%;
}

.input-error .input--hoshi{
    border-bottom-color:#D9534F !important;
}

.input-error .input--hoshi.input--filled::after, .input-error .select--hoshi.select--filled::after{
    background:#D9534F !important;
}

.input--hoshi .input__field {
    width: 100%;
    padding:0;
    font-weight: bold;
    background: transparent;
}

.input--hoshi .input__label {
    position: absolute;
    bottom: 5px;
    left: 0;
    padding: 0 0.4em;
    width: 100%;
    height: auto;
    text-align: left;
    pointer-events: none;
    margin:0;
}

.input--hoshi.input--filled .input__label {
    top:0;
}

.input--hoshi::after, .select--hoshi::after  {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 0;
    height: 3px;
    transition: 0.3s;
}
.input--hoshi.input--filled::after, .select--hoshi.select--filled::after{
    width:100%;
}

.input-group-addon{
    position:absolute;
    right:5px;
    bottom:5px;
    margin:0;
}

@-webkit-keyframes anim-1 {
	50% {
		opacity: 0;
		-webkit-transform: translate3d(1em, 0, 0);
		transform: translate3d(1em, 0, 0);
	}
	51% {
		opacity: 0;
		-webkit-transform: translate3d(-1em, -35%, 0);
		transform: translate3d(-1em, -35%, 0);
	}
	100% {
		opacity: 1;
		-webkit-transform: translate3d(0, -35%, 0);
		transform: translate3d(0, -35%, 0);
	}
}

@keyframes anim-1 {
	50% {
		opacity: 0;
		-webkit-transform: translate3d(1em, 0, 0);
		transform: translate3d(1em, 0, 0);
	}
	51% {
		opacity: 0;
		-webkit-transform: translate3d(-1em, -35%, 0);
		transform: translate3d(-1em, -35%, 0);
	}
	100% {
		opacity: 1;
		-webkit-transform: translate3d(0, -35%, 0);
		transform: translate3d(0, -35%, 0);
	}
}

.container-modal{
    position: fixed;
    left: 0px;
    top: 0px;
    right: 0px;
    bottom: 0px;
    z-index: 999999;
    display: none;
    text-align:center;
}

.bg-modal {    
    background-color: rgba(0, 0, 0, .63);
    text-align:center;
    width:100%;
    height:100%;
    position:absolute;
}

.bg-modal.z99999 {z-index: 99999}

.modal {
  position: relative;
  left:0;
  margin:auto;
  top: 50%;
  z-index: 100000;
  display: none;
  overflow: auto;
  min-width: 40vw;
  max-width: 90%;
  max-height: 90%;
  padding: 50px;
  background-color: #fff;
  box-shadow: 0 3px 6px 0 rgba(0, 0, 0, .16);
  -webkit-transform: translate(0, -50%);
  -ms-transform: translate(0, -50%);
  transform: translate(0, -50%);
  width: auto;
  display: inline-block;
  text-align: left;
  overflow:auto;
}

.modal-title {
  margin-top: 0px;
  margin-bottom: 40px;
}

.close-modal {
  position: absolute;
  top: 20px;
  right: 20px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  width: 30px;
  height: 33px;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-transform: translate(0px, 0px) rotate(45deg);
  -ms-transform: translate(0px, 0px) rotate(45deg);
  transform: translate(0px, 0px) rotate(45deg);
  cursor: pointer;
}

.close-modal__line {
  position: absolute;
  width: 100%;
  height: 2px;
}

.flex-verticle-center-align {
    align-items: center;
    flex-wrap: initial;
}

.close-modal__line.second {
  -webkit-transform: rotate(90deg);
  -ms-transform: rotate(90deg);
  transform: rotate(90deg);
}

/* MODAL CONTENT STYLE */

.encart-etre-appele input[name="phone"] {
    width:100%;
    box-shadow: none;
    border: dashed 1px #aaa;
}

.modal .pal {padding-left: 0; padding-top: 0}

.modal textarea{
    line-height: 30px;
    box-shadow: none;
    border: dashed 1px #aaa;
    padding: 10px 20px;
    margin-bottom: 30px;
    width: 100%;
}

@media (max-width: 1024px) {
   .modal {
    max-width: 95%;
    max-height: 95%;
    padding: 25px;
  }
  .close-modal {
    top: 10px;
    right: 10px;
    width: 25px;
    height: 25px;
  }
}

/* General Style */
.bolder {font-weight: bolder;}
.aligncenter {text-align: center;}

.illus-account img {width: 100%;height: 100%; object-fit: cover}

input::placeholder, textarea::placeholder {color: #a5a5a5; font-style: italic;}

.illustration-animation h2 {
    max-width: 75%;
}

header {
    z-index: 10000;
}

.noclick {
pointer-events: none
}

/* Mon compte */

.info-account .icon-arrow-down:before {
    -webkit-transform: rotate(-90deg);
    transform: rotateZ(-90deg);
}

.info-account .icon-arrow-down.is-active:before {
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg);
}

.name-account {
    margin-right: 15px;
}

.panel-account .btn-primary{
    font-size:2px;
    font-size:1.4rem;
}

.btn-grey{
    color: #707070;
    text-transform:uppercase;
    text-decoration:none;
}
.btn-grey:hover{
    text-decoration:none;
}
.btn-grey i{
    margin-left:1rem;
}
.btn-grey i:before{
    color: #707070;
}

.gradient__mask {
    position: absolute;
    left: 0px;
    top: 0px;
    right: 0px;
    bottom: 0px;
    display: block;
    background-image: -webkit-linear-gradient(270deg, rgba(0, 0, 0, .05), rgba(0, 0, 0, .3));
    background-image: linear-gradient(180deg, rgba(0, 0, 0, .05), rgba(0, 0, 0, .3));
}

.illustration-animation h2, .illustration-animation i {position: relative;}

.security-page .change-consent{
    position:fixed;
    right:0;
    bottom:0;
    padding:0.5rem;
    text-decoration:none;
}

footer {position: relative;}

.flex-container-row-data {flex-direction: row; margin-top: 0px;}

/*
Alterify
*/
.ajs-message.ajs-error.ajs-visible, .ajs-message.ajs-success.ajs-visible {
    background: white;
    text-align: left;
    color: grey;
    text-shadow: none;
    position: relative;
    z-index: 1;
    padding: 20px 20px 20px 70px;
    box-shadow: 0 3px 6px rgba(0,0,0,0.16);
    border-radius: 0;
    border: 1px solid #d6d6d6;
}

.ajs-message.ajs-error.ajs-visible:before {
    content: "\e943";
    width: 50px;
    background: #d40000;
    top: 0;
    left: 0;
    z-index: 2;
    height: 100%;
    position: absolute;
    color: white;
    font-size: 2rem;
    padding: 17px 15px;
    font-family: icomoon;
}

.ajs-message.ajs-success.ajs-visible:before {
    content: "\e942";
    width: 50px;
    background: #82be40;
    top: 0;
    left: 0;
    z-index: 2;
    height: 100%;
    position: absolute;
    color: white;
    font-size: 2rem;
    padding: 17px 15px;
    font-family: icomoon;
}

.alertify-notifier.ajs-bottom {
    bottom: 40px;
}


@media (max-width: 1024px) {
    .small-hidden {
        display: none !important;
    }
}

/* BASKET HACK */
.basket-step a, .basket-step {
    display: flex;
    flex-direction: row;
}

/* IPAD PORTRAIT */
@media only screen 
  and (min-device-width: 768px) 
  and (max-device-width: 1024px) 
  and (orientation: portrait) 
  and (-webkit-min-device-pixel-ratio: 1) {

    #navigation {
        width: 60vw;
    }

    .info-account {
        width: auto;
    }

    .basket-step a:not(.link-icon) > i {
        width: auto;
    }

    .content-footer-widgets {
        -webkit-box-shadow: 0px 3px 18px 6px rgba(0, 0, 0, 0.3);
        box-shadow: 0px 3px 18px 6px rgba(0, 0, 0, 0.3);
    }
}

/* PHONE MEDI QUERY */

@media only screen 
  and (min-device-width: 320px) 
  and (max-device-width: 480px)
  and (-webkit-min-device-pixel-ratio: 1) {

        .info-account .icon-arrow-down {
            font-size: 0.8rem;
        }

        .content-banner h2, .content-banner .h2-like, .content-banner h1 {
            padding: 0 20px;
        }

        #pagination {
            display: grid;
            grid-auto-flow: column;
        }

        .modal {
            width: 80vw;
            height: auto;
            min-width: 80vw;
            min-height: 0;
            padding: 20px;
            max-height: 90vh;
        }

        #navigation {
            width: 90vw;
        }

        .info-account {
            width: auto;
        }

        .illustration-animation .icon-fleche {display: none}

        #sessions .item .item-right {
            margin-top: 20px;
        }

        #sessions .item .add-session {
            float: right
        }

        .before-separation::before {
            display: none
        }

        .w50 {
            width: 100%;
        }

        /* KNACSS HACK */
        .flex-container--row {flex-direction: column}
        .flex-container-row-data {flex-direction: row; margin-top: 20px;}

        .content-footer-widgets {
            -webkit-box-shadow: 0px 3px 18px 6px rgba(0, 0, 0, 0.3);
            box-shadow: 0px 3px 18px 6px rgba(0, 0, 0, 0.3);
        }

        .form-filtres .dk-selected, .form-filtres select, .form-filtres input[type="text"] {
            padding: 2rem 6rem 2rem 2rem;
        }

        .form-filtres .dk-selected, .form-filtres select, .form-filtres input[type="text"] {
            font-size: 1.7rem;
            padding: 2rem;
        }
}


@-moz-document url-prefix() {
    .modal-content .title-with-icon {flex-wrap: unset}
}

@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
    .grid-for-ie{
        display:block;
    }
    #planningHeader .planningPart {display:inline-block; width:33%;}
    
    #planningDay .list, #planningDay .map {display:inline-block; width:49%;vertical-align:top;margin:0;}
    
    .connexion-content .w40{ min-height: 100vh; }
}

/* Outdated Browser */
#outdated {
    font-family: "Open Sans", "Segoe UI", sans-serif;
    position: absolute;
    background-color: #f25648;
    color: white;
    display: none;
    overflow: hidden;
    left: 0;
    position: fixed;
    text-align: center;
    text-transform: uppercase;
    top: 0;
    width: 100%;
    z-index: 200000;
    padding: 0 24px 24px 0; }
#outdated.fullscreen {
    height: 100%; }
#outdated .vertical-center {
    display: table-cell;
    text-align: center;
    vertical-align: middle; }
#outdated h6 {
    font-size: 25px;
    line-height: 25px;
    margin: 12px 0; }
#outdated p {
    font-size: 12px;
    line-height: 12px;
    margin: 0; }
#outdated #buttonUpdateBrowser {
    border: 2px solid white;
    color: white;
    cursor: pointer;
    display: block;
    margin: 30px auto 0;
    padding: 10px 20px;
    position: relative;
    text-decoration: none;
    width: 230px; }
#outdated #buttonUpdateBrowser:hover {
    background-color: white;
    color: #f25648; }
#outdated .last {
    height: 20px;
    position: absolute;
    right: 70px;
    top: 10px;
    width: auto;
    display: inline-table; }
#outdated .last[dir=rtl] {
    left: 25px !important;
    right: auto !important; }
#outdated #buttonCloseUpdateBrowser {
    color: white;
    display: block;
    font-size: 36px;
    height: 100%;
    line-height: 36px;
    position: relative;
    text-decoration: none;
    width: 100%; }

/* loaders */
div.div-blocked{
    position:relative;
}
div.div-blocked::before{
    content:'';
    position:absolute;
    width:100%;
    height:100%;
    z-index: 999;
    background-color:rgba(0, 0, 0, 0.2);
    padding:10px;
    left: 0;
    top: 0;
}

.link-loading [class^="icon-"]{
    border: 6px solid #f3f3f3; /* Light grey */
    border-radius: 50%;
    width: 35px;
    height: 35px;
    animation: spin 1s linear infinite;
    margin: auto;
}
.link-loading [class^="icon-"]:before{
    content:none !important;
}

.loader{
    margin:10px;
    display:inline-block;
}

.loader:after{
    content:'';
    border: 6px solid #f3f3f3; /* Light grey */
    border-radius: 50%;
    width: 34px;
    height: 34px;
    animation: spin 1s linear infinite;
    margin-left: auto !important;   
    margin-right: auto !important; 
    display: block;
}

.div-loading{
    min-height:200px;
}

.div-loading > :not(.loading-info){
    -webkit-filter: blur(5px);
    -moz-filter: blur(5px);
    -o-filter: blur(5px);
    -ms-filter: blur(5px);
    filter: blur(5px);
}

.div-loading:before{   
    content:'';
    position:absolute;
    background:#000;
    opacity:0.2;
    width:100%;
    height:100%;
    top:0;
    left:0;
    z-index: 1000;
}

.div-loading:after{    
    content:'';
    border: 20px solid #f3f3f3; /* Light grey */
    border-radius: 50%;
    width: 100px;
    height: 100px;    
    position:absolute;  
    top: 50%;    
    left: 50%;
    animation: spincenter 1s linear infinite;
    z-index: 1001;
}

.loading-info{
    display:none;
}
.div-loading .loading-info{
    display:block;
    font-size:30px;
    font-weight:bold;
    position:absolute;
    bottom:10%;
    left:0;
    width:100%;
    text-align:center;
    color:#fff;
    text-shadow: 0px 0px 4px #000;
    z-index:1001;
}

@keyframes spin {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}

@keyframes spincenter {
  0% { transform: translate(-50%, -50%) rotate(0deg); }
  100% { transform: translate(-50%, -50%) rotate(360deg); }
}


/*UPDATES*/
.panel a:hover{
    text-decoration: none;
}
.only-mobile{
    display: none;
}
.container-welcome-text{
    padding: 2rem 3rem;
}
.welcome-text{
    display: flex;
    flex-flow: column nowrap;
    align-items: flex-start;
    justify-content: flex-start;
}
.welcome-text img{
    margin-top: 5px;
    max-height:50px;
    height: auto;
}

.content-banner > div{
    height:100%;
    position: relative;
}
.title-with-icon > *{
    max-width: 100%;
}
#notifications .before-opacity::before{
    content:none;
}
#notifications .before-opacity .before{
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    z-index: 0;
    background-color: rgba(0,0,0, 0.35);
}
#form-payment .flex-container{
    flex-flow: row nowrap;
    justify-content: space-between;
}
#form-payment .dk-selected{
    padding-right: 0.5rem;
}

/*responsive*/
@media all and (max-width: 1024px){
    .mobile-none{
        display: none;
    }
    .only-mobile{
        display: block;
    }
    .panel a:not(.link-icon) > i{
        margin-right: 1rem;
    }
    .panel a:not(.link-icon) > span{
        font-size: 2rem;
    }
    /*.bricks-home h2 a{
        display: flex;
        flex-flow: row nowrap;
        align-items: center;
        justify-content: flex-start;
    }*/
    
    #basket-content .clearfix{
        display: flex;
        flex-flow: column-reverse nowrap;
        align-items: flex-end;
        justify-content: flex-start;
    }
    #basket-content .clearfix .textleft{
        margin-top: 3rem;
    }
    #basket-content .conditions-generales{
        display: flex;
        flex-flow: row nowrap;
        align-items: center;
        justify-content: flex-end;
    }

    .title-with-icon input[type="tel"] {
        line-height: 30px;
        font-size: 1.3rem;
        box-shadow: none;
        border: dashed 1px #aaa;
        padding: 10px;
        margin-bottom: 30px;
        width: 100%;
    }
    .contact-footer p{
        font-size: 1.2rem;
    }
}
@media all and (max-width: 767px){
    .w100-mobile{
        width: 100%;
    }
    .btn-retour{
        font-size: 2rem;
        margin-top: -14px;
    }
    .help .icon-legende{
        font-size: 2.5rem;
        margin-left: 5px;
    }
    #navigation a::before{
        content:none;
    }
    .content-banner h2, .content-banner .h2-like, .content-banner h1{
        font-size: 2.5rem;
        padding: 0 35px;
    }
    h2.pam{
        font-size: 2.5rem;
    }
    .content-contact-footer{
        padding: 4rem 0;
    }
}
@media only screen and (-webkit-min-device-pixel-ratio: 1) and (max-device-width: 480px) and (min-device-width: 320px) {
    .banniere-header, .banniere-header .owl-item {
        height: 300px;
    }
    #navigation a{
        font-size: 2rem;
    }
    #navigation a::before{
        font-size: 1.7rem;
    }

    .illustration-animation{
        padding-right: 5rem;
        position: relative;
    }
    .illustration-animation h2 {
        font-size: 2.3rem;
        max-width: 100%;
    }
    .illustration-animation i{
        font-size: 2rem;
        position: absolute;
        right:10px;
        top: 50%;
        margin-top: -10px;
    }
    .item-content .flex-container.header-item{
        padding-right: 7rem;
    }
}

/*------- viewer pdf ----------- */
body.pdfviewer-active{
    overflow:hidden;
}

#pdfviewer-container {
    display:none;
    position: fixed;
    top: 0;
    left: 0;
    right:0;
    left:0;
    bottom:0;
    background: white;
    z-index: 99999999;
    overflow: hidden;
    width: 80%;
    height: 90%;
    margin: auto;
}

body.pdfviewer-active #pdfviewer-container{
    display:block !important;
}
body.pdfviewer-active:before{
    content: '';
    position:fixed;
    width:100%;
    height:100%;
    background-color: rgba(0, 0, 0, .63);
    top: 0;
    left: 0;
    z-index: 99999;
}

#pdfviewer-container .close {
    position: fixed;
    right: 20px;
    top: 20px;
    background: rgba(0,0,0,.65);
    padding: 10px;
    border-radius: 66px;
    width: 50px;
    height: 50px;
    border: none;
    display: flex;
    justify-content: center;
    align-items: center;
    align-content: center;
    color:#fff;
    font-weight:bold;
    font-size:20px;
}

@media (max-width: 1024px) {
    #pdfviewer-container{
        width:100%;
        height:100%;
    }

    #pdfviewer-container .close {
        top:auto;
        bottom:20px !important;
    }
}
/*------------------- */
/*------- selection année ----------- */
.form-years .dk-selected:after{
    content: 'Années\Aprécédentes';
    display:block;
    border:0;
    margin:0;
    text-align:right;
    text-transform:none;
    white-space: pre;
    right: 6rem;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    height: auto;
}

@media (max-width: 1023px) {
    .form-years .dk-selected:after{
        font-size:15px;
        line-height:18px;
    }
}
/*------------------- */

.ui-tooltip{
    z-index:9999999;
    max-width: 600px;
}

.phonenumber {
    font-size: 24px;
    margin-bottom: 30px;
}

.mandatory{
    font-style: italic;
    font-size: 14px;
    display: block;
}