body {
    font-family: work sans;
    margin: 0;
    background: #172535;
}

html,
body,
#page,
.slick-slider,
.diapo-container,
.slick-slider .slick-track,
.slick-slider .slick-list {
    height: 100%;
}

.diapo-container>a {
    display: block;
}

video {
    width: 100%;
    height: auto;
}

#logo {
    margin: 1.75rem auto 1rem;
}

#logo svg {
    width: 135px;
    height: 144px;
}

#page,
#logo,
.menu-tools {
    display: flex;
}

#page {
    flex-direction: column;
    position: relative;
}

#page>.col-lg-6 {
    width: 100%;
}

#page>.col-lg-6:first-child {
    background: #172535 url(images-1055/bkg-left.jpg) center top no-repeat;
    background-size: cover;
    position: relative;
    z-index: 2;
    /*justify-content: space-between;
    flex-direction: column;
    display: flex;*/
}

#logo,
.menu-tools {
    justify-content: center;
}

.menu-tools {
    position: relative;
    z-index: 5;
}

.menu-tools>div {
    position: relative;
}

.menu-tools a {
    text-decoration: none;
    color: #fff;
    text-transform: uppercase;
    display: flex;
    flex-direction: column;
    margin: 0px 5px;
    padding: 0.5rem;
    font-size: .8rem;
    transition: all 0.2s;
}

.menu-tools div:first-child>a:hover,
.menu-tools div:first-child>a:focus {
    background-color: #f29400;
}

.menu-tools div:nth-child(2)>a:hover,
.menu-tools div:nth-child(2)>a:focus {
    background-color: #d29c00;
}

.menu-tools div:nth-child(3)>a:hover,
.menu-tools div:nth-child(3)>a:focus {
    background-color: #18a096;
}

.menu-tools div:nth-child(4)>a:hover,
.menu-tools div:nth-child(4)>a:focus {
    background-color: #e5322d;
}

.menu-tools div:nth-child(5)>a:hover,
.menu-tools div:nth-child(5)>a:focus {
    background-color: #2187ca;
}

.menu-tools div:nth-child(6)>a:hover,
.menu-tools div:nth-child(6)>a:focus {
    background-color: #99cc33;
}

.menu-tools svg {
    max-height: 40px;
    width: auto;
    margin: auto;
}

.menu-tools a span {
    display: block;
    text-align: center;
}

.menu-tools #reservation {
    list-style: none;
    margin: 0;
    position: absolute;
    top: -200%;
    right: 0;
    z-index: -1;
    transition: all 0.2s;
    padding-left: 0;
    transform: scale(0, 0);
}

.menu-tools #reservation.open {
    top: 100%;
    transform: scale(1, 1);
}

.menu-tools #reservation a {
    background-color: #e5322d;
    color: #fff;
    white-space: nowrap;
}

.menu-tools #reservation a:hover,
.menu-tools #reservation a:focus {
    background-color: #8d2724;
}

.container-map-link {
    display: flex;
    justify-content: center;
    flex: 1;
    flex-direction: column;
    margin: auto 0;
    background: transparent url(images-1055/bkg-map.png) 60% 50% no-repeat;
    background-size: contain;
    padding: 1rem 0;
}

.map {
    display: flex;
    margin: auto;
    max-width: 576px;
    width: 60%;
    height: 100%;
}

.map svg {
    height: auto;
    width: auto;
    margin: auto;
}

.map svg * {
    -webkit-transition: all 0.2s;
    -o-transition: all 0.2s;
    transition: all 0.2s;
}

.map svg #loupe {
    transform-origin: center top;
}

.map svg #texte {
    transform-origin: center center;
}

.map:hover svg #carte polygon,
.map:focus svg #carte polygon {
    fill: #e98a1a;
}

.map:hover svg #marker,
.map:focus svg #marker {
    opacity: 0;
}

.map:hover svg #texte,
.map:focus svg #texte {
    opacity: 0;
    transform: scale(0, 0);
}

.map:hover svg #loupe,
.map:focus svg #loupe {
    transform: scale(1.33, 1.33);
}

.map:hover svg #loupe path,
.map:focus svg #loupe path {
    fill: #fff;
}

.diapo-container,
.slick-slide,
.slick-slide a {
    overflow: hidden;
}

.slick-slide a {
    display: block;
    height: 100%;
}

.slick-slide img {
    height: 100%;
    width: auto;
}

#menu-choix-centre {
    position: absolute;
    right: 100%;
    top: 0;
    bottom: 0;
    background: #fff url(images-1055/bkg-choix-centre.svg) right top no-repeat;
    background-size: 62.5% auto;
    z-index: 10;
    -webkit-transition: all 0.4s ease;
    -o-transition: all 0.4s ease;
    transition: all 0.4s ease;
    color: #172535;
}

#menu-choix-centre.open {
    right: 0%;
}

#menu-choix-centre a.close-choix-centre,
#map_1055 a.close-map {
    position: absolute;
    width: 35px;
    height: 35px;
    right: 5%;
    top: 5%;
}

#map_1055 a.close-map {
    width: 28px;
    height: 28px;
    right: 70px;
    top: 30px;
    z-index: 100;
    background-color: rgba(235, 190, 190, 0.5);
    transition: all 0.2s;
    display: flex;
    justify-content: center;
    -ms-align-items: center;
    align-items: center;
}

#menu-choix-centre a.close-choix-centre svg {
    width: 35px;
    height: 35px;
    margin: auto;
}

#map_1055 a.close-map svg {
    width: 20px;
    height: 20px;
}

#map_1055 a.close-map svg path {
    -webkit-transition: all 0.2s;
    -o-transition: all 0.2s;
    transition: all 0.2s;
    fill: #c00;
}

#map_1055 a.close-map:hover {
    background-color: rgba(204, 0, 0, 1);
    /*width: 35px; height: 35px;*/
}

#map_1055 a.close-map:hover svg path {
    fill: #fff;
}

#menu-choix-centre>div {
    margin-left: 12%;
    margin-top: 14%;
    overflow: auto;
    max-height: 86%;
}

#menu-choix-centre .titre-choix {
    font-weight: 700;
    font-size: 42px;
    line-height: 0.76;
    margin-bottom: 2rem;
}

#menu-choix-centre ul {
    padding-left: 0;
    position: relative;
    z-index: 2;
}

#menu-choix-centre li {
    list-style: none;
}

#menu-choix-centre li a {
    color: #172535;
    text-decoration: none;
    font-size: 22px;
    padding: 0.325rem 0.25rem;
    margin-left: -0.125rem;
    display: inline-block;
    position: relative;
    transition: all 0.2s;
}

#menu-choix-centre li a:before {
    content: '';
    display: block;
    height: 100%;
    width: 0;
    position: absolute;
    left: 0;
    top: 0;
    z-index: -1;
    background-color: #172535;
    transition: all 0.2s;
}

#menu-choix-centre li a:hover,
#menu-choix-centre li a:focus {
    color: #fff;
}

#menu-choix-centre li a:hover:before,
#menu-choix-centre li a:focus:before {
    width: 100%;
}

/*.map svg {
    max-width: 598px;
}*/

#map_1055 {
    position: fixed;
    left: 0;
    right: 0;
    top: 100%;
    bottom: -100%;
    transition: all 0.4s ease;
    background-color: #172535;
    z-index: 100;
}

body.map_opened #map_1055 {
    top: 0%;
    bottom: 0%;
}

#map_1055 .map_content {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
}

div.mapboxgl-popup-content {
    min-width: 280px;
    padding: 10px 10px 0;
}

.mapboxgl-popup-content h3 {
    margin-top: 0;
    font-size: 1rem;
    color: #172535;
    margin-bottom: 0.5rem;
}

.mapboxgl-popup-content a.btn {
    margin-right: 5px;
    padding: 0.375rem 0.5rem 0.25rem;
    display: inline-block;
    background-color: #2187ca;
    color: #fff;
    text-decoration: none;
    border-radius: 2px;
    transition: all 0.2s;
}

.mapboxgl-popup-content a.btn[href*="facebook"]:before,
.mapboxgl-popup-content a.btn[href*="instagram"]:before {
    content: '';
    display: inline-block;
    width: 14px;
    height: 14px;
    margin-bottom: -1px;
}

.mapboxgl-popup-content a.btn[href*="facebook"]:before {
    background: url(images-1055/facebook.svg) center center no-repeat;
    -webkit-background-size: contain;
    background-size: contain;
}

.mapboxgl-popup-content a.btn[href*="instagram"]:before {
    background: url(images-1055/instagram.svg) center center no-repeat;
    -webkit-background-size: contain;
    background-size: contain;
}

.mapboxgl-popup-content a.btn span.hide {
    display: none;
}

.mapboxgl-popup-content a.btn:hover {
    background-color: #08507f;
}

.mapboxgl-popup-content p {
    line-height: 1.2;
    margin-bottom: 0.25rem;
}

.mapboxgl-popup-content .mapboxgl-popup-close-button {
    font-size: 1rem;
    background: #e77;
    transition: all 0.2s;
    padding: 0.25rem 0.5rem;
    border-radius: 0 0 0 2px;
}

.mapboxgl-popup-content .mapboxgl-popup-close-button:hover {
    color: #fff;
    background: #c00;
}

@media screen and (max-width: 47.99em) {
    html.js body.loaded #page {
        overflow: auto !important;
    }

    #logo {
        margin: 1rem auto 0.5rem;
    }

    #logo svg {
        width: 75px;
        height: 84px;
    }

    .menu-tools a {
        margin: 0px 2px;
        padding: 0.25rem;
    }

    .menu-tools svg {
        max-height: 26px;
    }

    .menu-tools a span {
        font-size: 0.625rem;
        line-height: 1.8;
    }

    #logo,
    .menu-tools {
        display: flex;
        flex-wrap: wrap;
    }

    #page {
        display: flex;
        flex-direction: column;
    }
}

@media screen and (min-width: 62em) {
    #page {
        flex-direction: row;
    }

    #page>.col-lg-6 {
        width: 50%;
    }

    .container-map-link {
        position: absolute;
        bottom: 0;
        left: 0;
        right: 0;
        top: 263px;
    }

    #menu-choix-centre.open {
        right: 50%;
    }

    #menu-choix-centre .titre-choix {
        font-size: 70px;
    }

    /*#map_1055 a.close-map  {
        width: 35px; height: 35px;
    }
    #map_1055 a.close-map svg {
        width: 35px; height: 35px;
    }*/
}

@media screen and (min-width: 92em) {

    .menu-tools a {
        font-size: 1rem;
    }

}