/*
*****************************
******** MOBILE MENU ********
*****************************
*/

/* Fallback example for browsers that don't support 3D transforms (and no JS fallback) */
/* We'll show the first level only */
.no-csstransforms3d .mp-pusher,
.no-js .mp-pusher {
    padding-left: 0;
}

.no-csstransforms3d .mp-menu .mp-level,
.no-js .mp-menu .mp-level {
    display: none;
}

.no-csstransforms3d .mp-menu > .mp-level,
.no-js .mp-menu > .mp-level {
    display: block;
}

.mp-menu {
    position: absolute;
    /* we can't use fixed here :( */
    z-index: 9;
    top: 0;
    left: 0;

    width: 600px;
    height: 100vh;

    background-color: var(--fond);

    transition: transform .5s;
    transform: translateX(-100%);

}

.mp-level > ul > li > a > span {
    color: var(--text);
}

.mp-level > ul > li > a:hover > span {
    color: #fff;
}

/* menu mobile */

.mp-level {
    position: absolute;
    top: 0;
    left: 0;

    overflow: hidden;

    width: 100%;
    height: calc(100vh - 50px);

    -webkit-transform: translateX(-100%);
    -ms-transform: translateX(-100%);
    transform: translateX(-100%);

}

.mp-menu > .mp-level {
    top: 150px;
}

.mp-menu > .mp-level.mp-level-open {
    height: calc(100% - 50px);
}

.mp-level.mp-level-open {
    overflow: auto;

    height: calc(100vh - 50px);
}

.mp-level.mp-level-open.mp-level-overlay {
    overflow: hidden;

    height: 200vh;
}

.mp-level.mp-level-open.mp-level-overlay > ul > li:not(.m_current) {
    visibility: hidden;

    opacity: 0;
}

.mp-level.mp-level-overlay {
    cursor: pointer;
}

.mp-level.mp-level-overlay.mp-level:before {
    width: 100%;
    height: 100%;

    opacity: 1;
    background: transparent;
}

.mp-pusher,
.mp-level {
    -webkit-transition: transform .5s;
    -moz-transition: transform .5s;
    transition: transform .5s;
}

#menu-desktop .blue_sep {
    max-width: 180px;
    height: 2px;
}

.menu-mobile-lang {
    display: none;
    text-align: center;
    margin-top: 2rem;
    color: var(--color2);
}

.menu-mobile-lang a {
    color: var(--color2);
}

/* overlap */
.mp-overlap .mp-level.mp-level-open {
    -webkit-transform: translateX(-40px);
    -ms-transform: translateX(-40px);
    transform: translateX(-40px);

    box-shadow: 1px 0 2px rgba(0, 0, 0, .2);
}

/* First level */
.mp-menu > .mp-level,
.mp-menu > .mp-level.mp-level-open,
.mp-menu.mp-overlap > .mp-level,
.mp-menu.mp-overlap > .mp-level.mp-level-open {
    -webkit-transition: transform .5s, -webkit-transform .5s;
    -moz-transition: transform .5s, -moz-transform .5s;
    transition: transform .5s;
    -webkit-transform: translateX(0);
    -ms-transform: translateX(0);
    transform: translateX(0);

    box-shadow: none;
}

/* cover */
.mp-cover .mp-level.mp-level-open {
    -webkit-transform: translateX(0);
    -ms-transform: translateX(0);
    transform: translateX(0);
}

.mp-cover .mp-level.mp-level-open > ul > li > .mp-level:not(.mp-level-open) {
    -webkit-transform: translateX(-100%);
    -ms-transform: translateX(-100%);
    transform: translateX(-100%);
}

/* titles */

.mp-menu .title {
    display: block;
    line-height: 40px;
    min-height: 40px;
    margin: 0 20px;
    padding: .7em 0;
    color: rgba(0, 0, 0, .7);
    text-shadow: 0 0 1px rgba(0, 0, 0, .1);
}

.mp-menu .title .text {
    margin-left: 20px;
    vertical-align: middle;
}

.mp-menu .title .picto + .text {
    margin-left: 0;
}

.mp-menu .mp-level .mp-level .mp-level .title,
.mp-menu .close_bloc .title {
    color: #fff;
}

.mp-menu .mp-level .mp-level .mp-level .title a {
    display: inline-block;
    line-height: 18px;
    padding-bottom: 3px;
    vertical-align: middle;
}

.mp-menu .title a:hover,
.mp-menu ul li .title a:hover {
    color: var(--color1);
    background: transparent;
}

.mp-menu .title .picto,
.mp-menu .title a .picto {
    font-size: 40px;
    line-height: 40px;

    overflow: visible;

    width: auto;
    margin: 0 5px;
}

.mp-menu .title .picto + .centered-height {
    width: calc(100% - 60px);
}

.mp-menu.mp-overlap .title:before {
    font-size: 75%;
    line-height: 1.8;
    position: absolute;
    top: 0;
    right: 0;
    margin-right: 8px;
    transition: opacity .3s, transform .1s .3s;
    transform: translateX(-100%);
    opacity: 0;
}

.mp-overlap .mp-level.mp-level-overlay > .title:before {
    transition: transform .3s, opacity .3s;
    transform: translateX(0);
    opacity: 1;
}

/* lists */

.mp-menu ul {
    overflow: hidden;
    list-style: none;
    text-align: left;
}

.mp-menu > .mp-level > ul {
    position: relative;
    overflow: auto;
    width: 600px;
    margin: 0;
    padding: 0;
}

.mp-menu ul li:before {
    position: absolute;
    left: 10px;
    line-height: 30px;
    color: rgba(0, 0, 0, .8);
    z-index: -1;
}

/* lists links */
.mp-menu .mp-level > ul > li,
.mp-menu ul li > a {
    display: block;
    font-size: 2rem;
    line-height: 1.1;
    font-weight: 500;
    font-family: var(--font2), sans-serif;
    color: var(--color5);
    padding: .6em 2em 0 0;
    outline: none;
    transition: color .3s;
}

.mp-menu ul li > a {
    position: relative;
    display: inline-block;
}

.mp-menu ul li > a::after {
    content: "";
    display: block;
    height: .1rem;
    width: 0;
    background-color: var(--color5);
    margin: .4rem auto 0 auto;
    transition: width .5s;
}

.mp-menu ul li > a:hover::after {
    width: 65px;
    max-width: 100%;
}

.mp-menu .mp-level ul {
    padding-left: 0;
}

.mp-menu .mp-level ul li {
    padding-left: 3em;
}

.mp-menu .mp-level ul ul li {
    padding-left: 6em;
}

.mp-menu .mp-level ul ul li a {
    color: var(--color8);
    font-size: 1.8rem;
    font-weight: 400;
    font-family: var(--font1), sans-serif;
}

.mp-menu .mp-level ul ul li a::after {
    background-color: var(--color8);
}

.mp-menu ul li > a .icon {
    font-size: 12px;
}

#mp-menu .mp-level ul {
    list-style: none;
}

#mp-menu .mp-level-2 a {
    line-height: 20px;
    vertical-align: middle;
}

#mp-menu .mp-level-2 .centered-height a {
    line-height: 1;

    display: inline-block;
    float: none;

    vertical-align: middle;
}

#mp-menu .mp-level-2 .c_container a,
#mp-menu .mp-level-2 .c_container span {
    line-height: 20px;

    color: var(--text);
}

#mp-menu .mp-level-2 .c_container span {
    color: var(--text);
}

#mp-menu .mp-level-2 a.mp-back:hover {
    color: var(--text);
}

#mp-menu .mp-level-2 ul {
    margin: 0;
    padding: 0;
}

#mp-menu .mp-level-2 li {
    padding: 0 5px;
}

.mp-level a .text,
.mp-level .espace_mobile .text {
    font-size: 20px;
    line-height: 20px;

    padding-left: 0;

    -webkit-transition: border-color .3s ease-in, padding .3s ease-in;
    -moz-transition: border-color .2s ease-in, padding .2s ease-in;
    transition: border-color .2s ease-in, padding .2s ease-in;
    vertical-align: middle;
}

.mp-level a:hover .text,
.mp-level .espace_mobile:hover .text {
    padding-left: 5px;
}

/*.mp-level .espace_mobile .text{
    vertical-align: top;
}*/
.mp-level .espace_mobile {
    line-height: 22px;

    padding: .7em 1em .7em 1em;

    cursor: pointer;

    color: #fff;
    border: none;
    outline: none;
    background-color: transparent;
}

.mp-level .espace_mobile:hover .text,
.mp-level .espace_mobile:hover .picto {
    color: var(--text);
}

.mp-level .espace_mobile .picto {
    font-size: 22px;

    overflow: visible;

    width: 24px;
    margin: 0 10px 0 0;
}

.mp-level > ul > li > a {
    /*box-shadow: inset 0 1px rgba(0, 0, 0, .1);*/
}

.mp-menu.out ul li a:hover {
    background: rgba(0, 0, 0, .2);
    box-shadow: inset 0 -1px rgba(0, 0, 0, 0);
}

.mp-menu.out .mp-level.mp-level-overlay > ul > li > a,
.mp-level.mp-level-overlay > ul > li:first-child > a {
    box-shadow: inset 0 -1px rgba(0, 0, 0, 0);
}

.mp-level.mp-level-overlay > ul > li:first-child > a {
    box-shadow: inset 0 -1px rgba(0, 0, 0, 0), inset 0 1px rgba(0, 0, 0, 0);
}

#mp-menu .mp-level .picto_menu {
    position: static;

    margin: 0 0 0 6px;

    -webkit-transition: border-color .2s ease-in, margin .3s ease-in;
    -moz-transition: border-color .2s ease-in, margin .3s ease-in;
    transition: border-color .2s ease-in, margin .3s ease-in;
    vertical-align: middle;

    border-color: transparent transparent transparent rgba(0, 0, 0, .7);
}

#mp-menu .mp-level a:hover .picto_menu {
    border-color: transparent transparent transparent #fff;
}

/* back buttons */

.mp-back {
    font-size: 1.2em;
    position: relative;
    display: block;
    padding: 1em 1em 1em 2.4em;
    transition: color .2s, background .3s, padding .2s;
    letter-spacing: 1px;
    color: #fff;
    outline: none;
    background: rgba(0, 0, 0, .1);
    box-shadow: inset 0 1px rgba(0, 0, 0, .1);
}

.mp-back:hover {
    padding: 1em 1em 1em 2.7em;
}

.mp-menu.out .mp-level.mp-level-overlay > .mp-back {
    color: transparent;
    background: transparent;
    box-shadow: none;
}

#mp-menu .mp-back::before,
#mp-menu .mp-level-2 .mp-back::before {
    font-family: 'kfont' !important;

    margin-right: 20px;

    content: '\ea01';
    vertical-align: middle;
}

#mp-menu .mp-back .picto_menu {
    border-color: transparent rgba(0, 0, 0, .7) transparent transparent;
}

#mp-menu .mp-level .mp-back:hover .picto_menu {
    border-color: transparent #fff transparent transparent;
}

.mp-level li {
    margin-left: 0;
    /*    position: relative;
    */
}

.m_event:after {
    font-family: 'kfont' !important;
    float: right;
    margin-right: 40px;
    content: '\ea01';
    transform: scaleX(-1);
    vertical-align: middle;
    color: var(--text);
}

/*#mp-menu li.eboutique a span, #mp-menu li.fooding a span{*/
/*color:#ffffff;*/
/*}*/

/* fancy mobile rules */
.fancybox-content {
    background-color: var(--fond);
}

.fancybox-inner,
#fancybox-content > div {
    overflow: hidden !important;
}

#fancybox-content > div img {
    width: 100%;
}

/* ***************** */
.mp-pusher {
    -webkit-transition: transform .5s;
    transition: transform .5s;
}

.fancy_visible .scroller,
.menu_visible .scroller {
    overflow: hidden;

    height: 100%;
}

.menu_visible html {
    overflow: hidden;
}

.mp-fancy {
    position: absolute;
    z-index: 1;
    top: 0;
    left: 0;

    width: 340px;
    height: 100%;

    -webkit-transform: translateX(-340px);
    -ms-transform: translateX(-340px);
    transform: translateX(-340px);
}

.scroller:before {
    position: absolute;
    z-index: 9999;
    top: 0;
    right: 0;

    display: block;

    width: 0;
    height: 0;

    content: '';
}

.scroller.mp-pushed {
    cursor: pointer;
}

.scroller.mp-pushed:before {
    bottom: 0;
    left: 0;

    width: auto;
    height: auto;

    -webkit-transition: background .5s;
    transition: background .5s;

    background: rgba(0, 0, 0, .5);
}

.mp-pusher.fancy_visible {
    -webkit-transform: translateX(640px);
    -ms-transform: translateX(640px);
    transform: translateX(640px);
}

.mp-pusher.menu_visible {
    -webkit-transform: translateX(600px);
    -ms-transform: translateX(600px);
    transform: translateX(600px);
}

.mp-pusher::after {
    position: absolute;
    top: 0;
    right: 0;

    width: 0;
    height: 0;

    content: '';

    opacity: 0;
}

.mp-pusher.fancy_visible {
    -webkit-transform: translateX(640px);
    -ms-transform: translateX(640px);
    transform: translateX(640px);
}

#mp-fancy > .header {
    position: relative;

    border-bottom: 5px solid var(--color1);
}

/* Launcher du menu */
#menu_launcher {
    font-size: 20px;
    width: 40px;
    height: 40px;
    line-height: 40px;
    cursor: pointer;
}

#menu_launcher a {
    display: block;
}

#menu_launcher .text {
    font-size: 1.1em;
    line-height: 1;
    padding-bottom: 5px;
    vertical-align: middle;

    color: var(--text);
}

/* hamburger */

.picto-menu {
    position: absolute;
    top: 16px;
    left: 6px;

    display: inline-block;

    width: 28px;
    height: 2px;

    transition: all .3s ease-in-out 0s;

    background: #000;
}

.picto-menu:before,
.picto-menu:after {
    position: absolute;
    left: 0;

    display: inline-block;

    width: 28px;
    height: 2px;

    content: '';
    transition: all .3s ease-in-out 0s;
    -webkit-transform-origin: center center 0;
    transform-origin: center center 0;

    background: var(--color4) none repeat scroll 0 0;
}

.picto-menu:before {
    top: 8px;
}

.picto-menu:after {
    top: -8px;
}

.menuhidden .picto-menu:before {
    height: 2px;

    transform: rotate(45deg);
}

.menuhidden .picto-menu:after {
    height: 2px;

    transform: rotate(-45deg);
}

.menuhidden .picto-menu:before,
.menuhidden .picto-menu:after {
    top: 0;

    transform-origin: 50% 50% 0;
}

.menuhidden .picto-menu {
    background: transparent none repeat scroll 0 0;
}

/* Menu icon */
.m_icon {
    position: relative;
    display: inline-block;
    width: 30px;
    height: 2px;
    margin: 10px 0;
    vertical-align: middle;
    background: var(--color4);
}

.m_icon:before {
    content: '';
    position: absolute;
    top: -10px;
    left: 0;
    display: block;
    width: 30px;
    height: 2px;
    background: var(--color4);
}

.m_icon:after {
    content: '';
    position: absolute;
    bottom: -10px;
    left: 0;
    display: block;
    width: 30px;
    height: 2px;
    background: var(--color4);
}

/* Partie Logo */
#mh_close {
    text-align: right;
    cursor: pointer;
    width: 40px;
    height: 40px;
    position: absolute;
    top: 10px;
    right: 20px;
}

#mh_close .icon {
    padding: 10px;
    cursor: pointer;
}

#mp-menu #mh_close {
    cursor: pointer;
    width: 40px;
    height: 40px;
    position: absolute;
    top: 10px;
    right: 20px;
}

#logo_mh {
    width: 240px;
    margin: 15px auto 5px;
    text-align: center;
}

#logo_mh img {
    max-width: 100%;
    max-height: 100px;
}

#mp-menu #mh_close {
    position: absolute;
    top: 40px;
    right: 20px;

    width: 40px;
    height: 40px;

    cursor: pointer;
}

/* symbols */

.symbol {
    font-size: 1em;
    position: relative;
    display: inline-block;
}

.symbol-close {
    position: relative;
    width: 30px;
    height: 2px;
    margin: 19px 5px;
    transform: rotate(45deg);
    background: var(--color5);
}

.symbol-close:after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 30px;
    height: 2px;
    background: var(--color5);
    transform: rotate(90deg);
    transform-origin: 50% 50%;
}

/* Spa selection */
.info_menu_desktop a {
    font-size: 18px;
    color: var(--color7);
}

.info_menu_desktop .tel-menu-mobile a {
    font-size: 20px;
    color: var(--color7);
}

@media screen and (max-width: 1024px) {
    .mp-pusher.menu_visible {
        -webkit-transform: translateX(400px);
        -ms-transform: translateX(400px);
        transform: translateX(400px);
    }
}

@media (max-width: 992px) {
    .mp-level.mp-level-open.mp-level-overlay {
        overflow: hidden;
        height: 200vh;
    }

    .mp-menu .mp-level > ul > li,
    .mp-menu ul li > a {
        font-size: 2rem;
    }

    .mp-menu .mp-level ul ul li a {
        font-size: 1.8rem;
    }
}

@media only screen and (max-width: 575px) {
    .mp-menu,
    .mp-menu .title,
    .mp-menu > .mp-level > ul {
        width: 300px;
    }

    #mp-menu #mh_close {
        top: 0;
    }

    .mp-menu > .mp-level {
        top: 80px;
    }

    .mp-menu .mp-level ul li {
        padding-left: 1em;
    }

    .mp-menu .mp-level ul ul li {
        padding-left: 2em;
    }

    .mp-menu ul li > a {
        padding-left: 1rem;
        line-height: 1;
    }

    .mp-pusher.fancy_visible {
        -webkit-transform: translateX(340px);
        -ms-transform: translateX(340px);
        transform: translateX(340px);
    }

    .mp-pusher.menu_visible {
        -webkit-transform: translateX(300px);
        -ms-transform: translateX(300px);
        transform: translateX(300px);
    }

    .mp-pusher.fancy_visible {
        -webkit-transform: translateX(340px);
        -ms-transform: translateX(340px);
        transform: translateX(340px);
    }

    .menu-mobile-lang {
        display: block;
    }
}
