/* #region Général */
* {
    box-sizing: border-box;
}

body {
    color: #404040;
    font: 400 15px/22px 'Source Sans Pro', 'Helvetica Neue', sans-serif;
    margin: 0;
    padding: 0;
    -webkit-font-smoothing: antialiased;
}

h1 {
    font-size: 22px;
    margin: 0;
    font-weight: 400;
    line-height: 20px;
    padding: 20px 2px;
}

a {
    color: #404040;
    text-decoration: none;
}

a:hover {
    color: #101010;
}

/* The page is split between map and sidebar - the sidebar gets 1/3, map
gets 2/3 of the page. You can adjust this to your personal liking. */
.sidebar {
    position: absolute;
    width: 25%;
    height: 100%;
    top: 0;
    left: 0;
    overflow: hidden;
    border-right: 1px solid rgba(0, 0, 0, 0.25);
}

.map {
    position: absolute;
    left: 25%;
    width: 75%;
    top: 0;
    bottom: 0;
}

/* #endregion */

/* ----------------------- */
/* #region Panneau latéral */
.heading {
    background: #fff;
    border-bottom: 1px solid #eee;
    height: 60px;
    display: flex;
    flex-flow: row nowrap;
    overflow-x: auto;
    overflow-y: hidden;
}

.heading .heading-submenu {
    height: 60px;
    width: auto;
    border-right: 1px solid #eee;
    cursor: pointer;
}

.heading .heading-submenu img {
    height: 60px;
}

.heading .heading-submenu:hover {
    background-color: #eee;
}


.heading #menu-project.heading-submenu.menu-active { background-color: #DBAD55; }
.heading #menu-food.heading-submenu.menu-active { background-color: #FAC864; }
.heading #menu-school.heading-submenu.menu-active { background-color: #f9b88c; }
.heading #menu-store.heading-submenu.menu-active { background-color: #B4987F; }
.heading #menu-parc.heading-submenu.menu-active { background-color: #26a126; }
.heading #menu-transport.heading-submenu.menu-active { background-color: #3774b8; }
.heading #menu-hobbies.heading-submenu.menu-active { background-color: #54a5b2; } 
/* .heading #menu-project.heading-submenu.menu-active { background-color: #DBAD55; }
.heading #menu-food.heading-submenu.menu-active { background-color: #E3BF8E; }
.heading #menu-school.heading-submenu.menu-active { background-color: #5F95C5; }
.heading #menu-store.heading-submenu.menu-active { background-color: #B4987F; }
.heading #menu-parc.heading-submenu.menu-active { background-color: #FAC864; }
.heading #menu-transport.heading-submenu.menu-active { background-color: #1f5b9d; }
.heading #menu-hobbies.heading-submenu.menu-active { background-color: #54a5b2; }  */



.listings {
    height: calc(100% - 60px);
    overflow: auto;
}
.listings .listing {
    display: none;
    width: 100%;
}
.listings .listing.listing-active {
    display: block;
}
.listings .listing .item {
    display: block;
    border-bottom: 1px solid #eee;
    padding: 10px;
    text-decoration: none;
}
.listings .listing .item:last-child {
    border-bottom: none;
}
.listings .listing .item .title {
    display: block;
    font-weight: 700;
}

.listings .listing#listing-food .item .title { color: #D2AF7D; }
.listings .listing#listing-school .item .title { color: #e5a980; }
.listings .listing#listing-store .item .title { color: #A3876F; }
.listings .listing#listing-parc .item .title { color: #1f811f; }
.listings .listing#listing-transport .item .title { color: #234a76; }
.listings .listing#listing-hobbies .item .title { color: #54a5b2; }
/* .listings .listing#listing-food .item .title { color: #D2AF7D; }
.listings .listing#listing-school .item .title { color: #4F84B4; }
.listings .listing#listing-store .item .title { color: #A3876F; }
.listings .listing#listing-parc .item .title { color: #E9B753; }
.listings .listing#listing-transport .item .title { color: #194576; }
.listings .listing#listing-hobbies .item .title { color: #54a5b2; } */

.listings .listing .item .title small { font-weight: 400; }

.listings .listing#listing-food .item.menu-item-active .title,
.listings .listing#listing-food .item:hover .title { color: #C79531; }
.listings .listing#listing-school .item.menu-item-active .title,
.listings .listing#listing-school .item:hover .title { color: #cd9874; }
.listings .listing#listing-store .item.menu-item-active .title,
.listings .listing#listing-store .item:hover .title { color: #81654D; }
.listings .listing#listing-parc .item.menu-item-active .title,
.listings .listing#listing-parc .item:hover .title { color: #186618; }
.listings .listing#listing-transport .item.menu-item-active .title,
.listings .listing#listing-transport .item:hover .title { color: #1c3b5d; }
.listings .listing#listing-hobbies .item.menu-item-active .title,
.listings .listing#listing-hobbies .item:hover .title { color: #42828c; }
/* .listings .listing#listing-food .item.menu-item-active .title,
.listings .listing#listing-food .item:hover .title { color: #B08D5B; }
.listings .listing#listing-school .item.menu-item-active .title,
.listings .listing#listing-school .item:hover .title { color: #2D6292; }
.listings .listing#listing-store .item.menu-item-active .title,
.listings .listing#listing-store .item:hover .title { color: #81654D; }
.listings .listing#listing-parc .item.menu-item-active .title,
.listings .listing#listing-parc .item:hover .title { color: #C79531; }
.listings .listing#listing-transport .item.menu-item-active .title,
.listings .listing#listing-transport .item:hover .title { color: #13365c; }
.listings .listing#listing-hobbies .item.menu-item-active .title,
.listings .listing#listing-hobbies .item:hover .title { color: #42828c; } */

.listings .listing .item.menu-item-active { background-color: #f8f8f8; }

/* project */
.listings .listing#listing-project .item {
    display: block;
    border-bottom: 1px solid #eee;
    padding: 10px;
    text-decoration: none;
}

.listings .listing#listing-project .item .title {
    display: block;
    font-weight: 700;
    font-size: 1.5em;
    color: #044;
}

.listings .listing#listing-project .item img {
    width: calc(100% - 20px);
}
.listings .listing#listing-project .item .residence-titre {
    text-align:center;
    font-size: 1.2rem;
}
.listings .listing#listing-project .item .residence-titre .residence-nom {
    font-weight:600;
    color:#DBAD55;
}
.listings .listing#listing-project .item .residence-adresse {
    text-align:left;
    font-size: 1rem;
}
.listings .listing#listing-project .item .residence-desciption {
    text-align:left;
    font-size: 1rem;
}




::-webkit-scrollbar {
    width: 3px;
    height: 3px;
    border-left: 0;
    background: rgba(0, 0, 0, 0.1);
}

::-webkit-scrollbar-track {
    background: none;
}

::-webkit-scrollbar-thumb {
    background: #888888;
    border-radius: 0;
}

/* #endregion */
/* ----------------------- */

/* -------------------- */
/* #region Marker popup */
.mapboxgl-popup {
    padding-bottom: 50px;
}

.mapboxgl-popup-close-button {
    display: none;
}

.mapboxgl-popup-content {
    font: 400 15px/22px 'Source Sans Pro', 'Helvetica Neue', sans-serif;
    padding: 0;
    width: 180px;
}

.mapboxgl-popup-content h3 {
    color: #fff;
    margin: 0;
    padding: 10px;
    border-radius: 3px 3px 0 0;
    font-weight: 700;
    margin-top: -15px;
}


.mapboxgl-popup-content h3.project { background: #DBAD55; }
.mapboxgl-popup-content h3.food { background: #E9B753; }
.mapboxgl-popup-content h3.school { background: #e5a980; }
.mapboxgl-popup-content h3.store { background: #A3876F; }
.mapboxgl-popup-content h3.parc { background: #1f811f; }
.mapboxgl-popup-content h3.transport { background: #234a76; }
.mapboxgl-popup-content h3.hobbies { background: #54a5b2; }
/* .mapboxgl-popup-content h3.project { background: #DBAD55; }
.mapboxgl-popup-content h3.food { background: #D2AF7D; }
.mapboxgl-popup-content h3.school { background: #4F84B4; }
.mapboxgl-popup-content h3.store { background: #A3876F; }
.mapboxgl-popup-content h3.parc { background: #E9B753; }
.mapboxgl-popup-content h3.transport { background: #194576; }
.mapboxgl-popup-content h3.hobbies { background: #54a5b2; } */




.mapboxgl-popup-content .img-container {
    padding: 5px 5px 0 5px;
    text-align: center;
}

.mapboxgl-popup-content .img-container img {
    height: 90px;
    width: auto;
}

.mapboxgl-popup-content h4 {
    margin: 0;
    padding: 10px;
    font-weight: 400;
}

.mapboxgl-popup-content div {
    padding: 10px;
}

.mapboxgl-popup-anchor-top>.mapboxgl-popup-content {
    margin-top: 15px;
}

.mapboxgl-popup-anchor-top>.mapboxgl-popup-tip {
    border-bottom-color: #fff;
}

/* #endregion */
/* -------------------- */

/* --------------------- */
/* #region Marker images */
.marker_project {
    border: none;
    cursor: pointer;
    height: 99px;
    width: 153px;
    /* background-image: url(../assets/mapbox/marker_projet.png); */
    background-image: url(../assets/mapbox/marker_projet_v2.png);
}

.marker_food {
    border: none;
    cursor: pointer;
    height: 58px;
    width: 58px;
    background-image: url(../assets/mapbox/marker_resto.png);
}

.marker_school {
    border: none;
    cursor: pointer;
    height: 58px;
    width: 58px;
    background-image: url(../assets/mapbox/marker_school.png);
}

.marker_store {
    border: none;
    cursor: pointer;
    height: 58px;
    width: 58px;
    background-image: url(../assets/mapbox/marker_store.png);
}

.marker_parc {
    border: none;
    cursor: pointer;
    height: 58px;
    width: 58px;
    background-image: url(../assets/mapbox/marker_parc.png);
}

.marker_transport {
    border: none;
    cursor: pointer;
    height: 58px;
    width: 58px;
    background-image: url(../assets/mapbox/marker_transport.png);
}

.marker_hobbies {
    border: none;
    cursor: pointer;
    height: 58px;
    width: 58px;
    background-image: url(../assets/mapbox/marker_hobbies.png);
}
/* #endregion */
/* --------------------- */


.mapboxgl-ctrl-geocoder {
    border: 0;
    border-radius: 0;
    position: relative;
    top: 0;
    width: 800px;
    margin-top: 0;
}

.mapboxgl-ctrl-geocoder>div {
    min-width: 100%;
    margin-left: 0;
}

.low-zindex { z-index:0 }
.medium-zindex { z-index:5 }
.high-zindex { z-index:10 }