@font-face {
    font-family: 'Avenir Next LT Pro Condensed';
    font-style: normal;
    font-weight: normal;
    src: local('Avenir Next LT Pro Condensed'), url('avenir-next-lt-pro/AvenirNextLTPro-Cn.woff') format('woff');
}

@font-face {
    font-family: 'Avenir Next LT Pro Demi';
    font-style: normal;
    font-weight: normal;
    src: local('Avenir Next LT Pro Demi'), url('avenir-next-lt-pro/AvenirNextLTPro-Demi.woff') format('woff');
}

@font-face {
    font-family: 'Avenir Next LT Pro Demi Condensed';
    font-style: normal;
    font-weight: normal;
    src: local('Avenir Next LT Pro Demi Condensed'), url('avenir-next-lt-pro/AvenirNextLTPro-DemiCn.woff') format('woff');
}

@font-face {
    font-family: 'Avenir Next LT Pro Heavy Condensed';
    font-style: normal;
    font-weight: normal;
    src: local('Avenir Next LT Pro Heavy Condensed'), url('avenir-next-lt-pro/AvenirNextLTPro-HeavyCn.woff') format('woff');
}

@font-face {
    font-family: 'Avenir Next LT Pro Medium Condensed';
    font-style: normal;
    font-weight: normal;
    src: local('Avenir Next LT Pro Medium Condensed'), url('avenir-next-lt-pro/AvenirNextLTPro-MediumCn.woff') format('woff');
}

@font-face {
    font-family: 'Avenir Next LT Pro Regular';
    font-style: normal;
    font-weight: normal;
    src: local('Avenir Next LT Pro Regular'), url('avenir-next-lt-pro/AvenirNextLTPro-Regular.woff') format('woff');
}

@font-face {
    font-family: 'Avenir Next LT Pro Ultra Light Condensed';
    font-style: normal;
    font-weight: normal;
    src: local('Avenir Next LT Pro Ultra Light Condensed'), url('avenir-next-lt-pro/AvenirNextLTPro-UltLtCn.woff') format('woff');
}

@font-face {
    font-family: 'Avenir Next LT Pro Bold';
    font-style: normal;
    font-weight: normal;
    src: local('Avenir Next LT Pro Bold'), url('avenir-next-lt-pro/AvenirNextLTPro-Bold.woff') format('woff');
}

@font-face {
    font-family: 'Avenir Next LT Pro Bold Condensed';
    font-style: normal;
    font-weight: normal;
    src: local('Avenir Next LT Pro Bold Condensed'), url('avenir-next-lt-pro/AvenirNextLTPro-BoldCn.woff') format('woff');
}

@font-face {
    font-family: 'Avenir Next LT Pro Bold Condensed Italic';
    font-style: normal;
    font-weight: normal;
    src: local('Avenir Next LT Pro Bold Condensed Italic'), url('avenir-next-lt-pro/AvenirNextLTPro-BoldCnIt.woff') format('woff');
}

@font-face {
    font-family: 'Avenir Next LT Pro Condensed Italic';
    font-style: normal;
    font-weight: normal;
    src: local('Avenir Next LT Pro Condensed Italic'), url('avenir-next-lt-pro/AvenirNextLTPro-CnIt.woff') format('woff');
}

@font-face {
    font-family: 'Avenir Next LT Pro Demi Condensed Italic';
    font-style: normal;
    font-weight: normal;
    src: local('Avenir Next LT Pro Demi Condensed Italic'), url('avenir-next-lt-pro/AvenirNextLTPro-DemiCnIt.woff') format('woff');
}

@font-face {
    font-family: 'Avenir Next LT Pro Demi Italic';
    font-style: normal;
    font-weight: normal;
    src: local('Avenir Next LT Pro Demi Italic'), url('avenir-next-lt-pro/AvenirNextLTPro-DemiIt.woff') format('woff');
}

@font-face {
    font-family: 'Avenir Next LT Pro Heavy Condensed Italic';
    font-style: normal;
    font-weight: normal;
    src: local('Avenir Next LT Pro Heavy Condensed Italic'), url('avenir-next-lt-pro/AvenirNextLTPro-HeavyCnIt.woff') format('woff');
}

@font-face {
    font-family: 'Avenir Next LT Pro Italic';
    font-style: normal;
    font-weight: normal;
    src: local('Avenir Next LT Pro Italic'), url('avenir-next-lt-pro/AvenirNextLTPro-It.woff') format('woff');
}

@font-face {
    font-family: 'Avenir Next LT Pro Medium Condensed Italic';
    font-style: normal;
    font-weight: normal;
    src: local('Avenir Next LT Pro Medium Condensed Italic'), url('avenir-next-lt-pro/AvenirNextLTPro-MediumCnIt.woff') format('woff');
}

@font-face {
    font-family: 'Avenir Next LT Pro Ultra Light Condensed Italic';
    font-style: normal;
    font-weight: normal;
    src: local('Avenir Next LT Pro Ultra Light Condensed Italic'), url('avenir-next-lt-pro/AvenirNextLTPro-UltLtCnIt.woff') format('woff');
}
::-webkit-scrollbar {
  width: 8px;
  cursor: pointer;
}
/* Track */
::-webkit-scrollbar-track {
  background: #f1f1f1;
}
/* Handle */
::-webkit-scrollbar-thumb {
  background: #252560;
}
/* Handle on hover */
::-webkit-scrollbar-thumb:hover {
  background: #555;
}
/* Optional: Makes the sample page fill the window. */
html,
body {
  height: 100%;
  margin: 0;
  padding: 0;
  font-size:15px;
  font-family:'Avenir Next LT Pro Regular', Montserrat, sans-serif;
}
#mapsection{
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-direction: row;
    flex-direction: row;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    height:100vh;
    max-height:100%;
}
#map, #controls{
    box-sizing:border-box;
}
#map {
  height: 100%;
  width:calc(100% - 390px);
}
#controls{
  position:relative;
  width:390px;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-direction: column;
  flex-direction: column;
  max-height:100%;
  font-size:15px;
  line-height:2em;
  border:0.2em solid #efefef;
  box-sizing:border-box;
  padding:3em 0 0;
}
#heads{
  position:absolute;
  top:0;
  left:0;
  right:0;
}
#lists{
  position:relative;
  width:100%;
  height:100%;
  padding:0.5em;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-direction: column;
  flex-direction: column;
  overflow-y:auto;
}
.info-window,
.info-window *,
#map, #map *
#controls,
#controls * {
   box-sizing:border-box;
  -webkit-touch-callout: none; /* iOS Safari */
    -webkit-user-select: none; /* Safari */
     -khtml-user-select: none; /* Konqueror HTML */
       -moz-user-select: none; /* Old versions of Firefox */
        -ms-user-select: none; /* Internet Explorer/Edge */
            user-select: none; /* Non-prefixed version, currently
                                  supported by Chrome, Edge, Opera and Firefox */
}

.title-list{
  font-family:'Avenir Next LT Pro Demi', Montserrat, sans-serif;
  font-size:1.3em;
  display:block;
  margin: 0.8em 0 0.2em;
}
.item, #planmass .title-list, .item-sub-list {
  cursor:pointer;
}
.item, .title-list, .item-sub-list {
  color: #252560;
}
.list.active .item{
  cursor:inherit;
}
.item {
  width:50%;
  position:absolute;
  top:0;
  text-align:center;
  color: #1a9cac;
  font-family: 'Avenir Next LT Pro Demi', Montserrat, sans-serif;
  line-height: 3em;
  height: 3em;
}
#title-globals{
  left:0;
}
#title-planmass{
  right:0;  
}
.title-list {
  padding:0 0.2em 0 1em ; 
}
.item-sub-list{
  padding:0 0.2em 0 2.2em ; 
}
.access-icon{
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0.6em 0 0.6em 1.2em;
    border-color: transparent transparent transparent #007bff;
    margin-right: 0.8em;
}

.list:not(.active) .item:hover, #planmass .title-list:hover, .item-sub-list:hover {
  opacity:0.7;
}
.item.title:not(.active){
   background-color:#efefef;
   color:#777;
}

.list:not(.active) .legend-list {
   display:none; 
}

.title-sub-list, .icon-sub-list {
    display:inline-block;
    vertical-align: middle;
}
.icon-sub-list.icon-marker.circle {
    border-radius:1em;
    color:#fff;
    background-color:#333;
    width: 1.6em;
    height: 1.6em;
    margin-right: 1em;
    text-align: center;
    line-height: 1em;
    padding: 5px 0;
    font-family: 'Avenir Next LT Pro Bold Condensed';
}
#planmass .icon-sub-list.icon-marker.circle{
    border-radius:1em;
    width: 1.8em;
    height: 1.8em;
    line-height: 1em;
    padding: 7px 0;
}

.icon-sub-list.icon-polyline.bus {
    width: 1.6em;
    height: 3px;
    border-radius:1.5px;
    margin-right: 1em;
}
.icon-sub-list.icon-polyline.bus.double {
    width: 1.6em;
    height: 9px;
    border-top:3px solid #fff;
    border-bottom:3px solid #fff;
    background-color:#fff;
    border-radius:2px;
    margin-right: 1em;
}
.icon-sub-list.tram{
    width: 1.6em;
    height: 6px;
    border-radius:3px;
    margin-right: 1em;
}
.icon-sub-list.tram-square{
    background-color:#fff;
    border:4.5px solid #fff;
    width: 1.3em;
    height: 1.3em;
    margin-right: 1em;
    border-radius:3px;
    margin-right: 1em;
}
.icon-sub-list.double.street {
    width: 1.6em;
    height: 12px;
    border-top:2px solid #fff;
    border-bottom:2px solid #fff;
    background-color:#fff;
    border-radius:2px;
    margin-right: 1em;
}
.icon-sub-list.sncf{
    position:relative;
    background-color:#2e3a6e;
    width: 1.6em;
    height: 1em;
    border:2px solid #e6e7e8;
}
.icon-sub-list.sncf:before,.icon-sub-list.sncf:after{
    content:'';
    position:absolute;
    display:block;
    height:100%;
}
.icon-sub-list.sncf:before{
    left:29.5%;
    right:29.5%;
    top:0;
    bottom:0;
    border-left:2px solid #e6e7e8;
    border-right:2px solid #e6e7e8;
}
.icon-sub-list.sncf:after{
    width:100%;
    top:calc((100% - 2px) / 2);
    left:0;
    right:0;
    height:2px;
    background-color:#e6e7e8;
}
.icon-sub-list.sncf{
    background-color:#2e3a6e;
    width: 1.6em;
    height:1.1em;
    margin-right: 1em;
}
.icon-sub-list.svg{
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  display:inline-block;
  width: 30px;
  height: 30px;
  margin-right: 1em;
}
.aerosky.icon-sub-list, .ecloz.icon-sub-list, .orchestra.icon-sub-list, .infinity.icon-sub-list, .neowise.icon-sub-list {
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  display:inline-block;
  width: 30px;
  height: 30px;
  margin-right: 0.8em;
}
.aerosky {
  background-image: url('data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IiB2aWV3Qm94PSIwIDAgNjAgNTAiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDYwIDUwOyI+PHBvbHlnb24gc3R5bGU9ImZpbGw6I0NCRTVGMDsiIHBvaW50cz0iMC41LDM2LjcgMTUsNS42IDU5LjUsMjcuNiA0OC40LDQ0LjQgMjQuMywzMi43IDE1LjEsNDQuNCAiLz48L3N2Zz4=');
}
.ecloz {
  background-image: url('data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IiB2aWV3Qm94PSIwIDAgNjAgNTAiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDYwIDUwOyI+PHBvbHlnb24gc3R5bGU9ImZpbGw6I0NCRTVGMDsiIHBvaW50cz0iMTAuMiwwLjUgNTguMywxMy43IDU0LjQsNDkuNSAxLjcsMjQuMiAiLz48L3N2Zz4=');
}
.orchestra {
  background-image: url('data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IiB2aWV3Qm94PSIwIDAgNjAgNTAiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDYwIDUwOyI+PHBvbHlnb24gc3R5bGU9ImZpbGw6I0NCRTVGMDsiIHBvaW50cz0iMjMuMSwwLjIgNTQsMTEuNSAzNC43LDQ5LjggNiwzNiAiLz48L3N2Zz4=');
}
.infinity {
  background-image: url('data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IiB2aWV3Qm94PSIwIDAgNjAgNTAiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDYwIDUwOyI+PHBvbHlnb24gc3R5bGU9ImZpbGw6I0NCRTVGMDsiIHBvaW50cz0iMTQuOCwwLjIgNDgsNS4yIDQ2LjQsMzIuMyAzNC4zLDMwLjcgMzEuNCw0OS44IDEyLDQ1LjggMTUsMzMuMSAiLz48L3N2Zz4=');
}
.neowise {
  background-image: url('data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IiB2aWV3Qm94PSIwIDAgNjAgNTAiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDYwIDUwOyI+PHBvbHlnb24gc3R5bGU9ImZpbGw6IzE0MjY0QjsiIHBvaW50cz0iNTMuMyw0OC43IDYwLDM1LjUgNTEuMiwzMS40IDUyLjksMjcuOSA0Ny45LDI1LjUgNDYuMSwyOSAzMSwyMS45IDM3LjcsOC45IDM0LjIsNy43IDEuMSwxLjMgMC41LDkuOCAxLjcsOS43IDAsMzQuNyAxMS4yLDM3LjggMzEuMiwzOC4xICIvPjwvc3ZnPg==');
}

#planmass .sub-list.category-list{
  padding: 0 0 0 2em;
}
#planmass .item-sub-list{
  display: inline-block;
  width: 30%;
  white-space: nowrap;
  padding: 0;
}

/* */

.gm-style-iw.gm-style-iw-c{
  padding:0 !important;
  background-color: inherit !important;
  box-shadow: inherit !important;
}
.gm-style-iw.gm-style-iw-c .gm-style-iw-d{
  overflow:hidden !important;
  margin:0 !important;
}
.gm-style-iw.gm-style-iw-c .gm-style-iw-d > div{ 
    padding:18px !important;
}
.gm-style-iw.gm-style-iw-c .gm-ui-hover-effect {
  display:none !important;
}
.gm-style .gm-style-iw-t::after {
  opacity:0;
  background:inherit !important;
  box-shadow:inherit !important;
  background-color:#fff !important;
  width:40px !important;
  transform:inherit!important;
  left:-20px;
}
.info-window {
  font-family:'Avenir Next LT Pro Regular', Montserrat, sans-serif;
  background-color:rgba(255,255,255,1);
  border-radius: 3px;
  padding: 0.8em 1.2em;
  box-shadow: 0 2px 7px 1px rgb(0 0 0 / 30%);
  box-sizing:border-box;
  position:relative;
}
.slider-windows{
    width:500px;
    max-width:100%;
    padding: 0;
}

.gm-style .gm-style-iw-t {
  bottom:0 !important;
}
.info-window:after {
    background: linear-gradient(45deg,rgba(255,255,255,1) 50%,rgba(255,255,255,0) 51%,rgba(255,255,255,0) 100%);
    box-shadow: -2px 2px 2px 0 rgb(178 178 178 / 40%);
    content: "";
    height: 15px;
    left: calc(100% / 2);
    position: absolute;
    bottom: -15px;
    transform: translate(-50%,-50%) rotate(-45deg);
    width: 15px;
}
.info-window h1{
  margin:0;
  font-size:1.2em;
  font-weight:normal;
}
.slider-windows h1.title{
  position: absolute;
  top: 1em;
  left: 1.5em;
  z-index: 100;
  color: #fff;
  font-size: 21px;
  background-color: #1a9cac;
  font-family: 'Avenir Next LT Pro Regular', Montserrat, sans-serif;
  padding: 0.2em 0.4em;
}
.slidable {
  width: 100%;
  max-width: 100%;
  height:calc(500px * 0.56);
  position:relative;
  padding: 0;
  border-left: 1em solid #1a9cac;
}
.slidable .frame,
.slidable .frame-controls {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  white-space: nowrap;
  overflow: hidden;
}
.bloc-slider-textbox {
  background-repeat: no-repeat;
  background-size: cover;
  height: 100%;
  position: relative;
}
.slidable .frame-controls {
  z-index: 1;
}
.slidable .frame {
  letter-spacing: -0.31em;
  letter-spacing: normal;
  word-spacing: -0.43em;
  z-index: 0;
}
.slidable .frame > * {
  letter-spacing: inherit;
  letter-spacing: normal;
  word-spacing: normal;
  white-space: normal;
  width: 100%;
  display: inline-block;
  background-position: center;
}
.slidable .frame > * img {
  display: none;
}
.nav-arrow {
  background-repeat: no-repeat;
  width: 3em;
  height: 3em;
  position: absolute;
  -webkit-transition: -webkit-transform 0.5s;
  transition: -webkit-transform 0.5s;
  transition: transform 0.5s;
  transition: transform 0.5s, -webkit-transform 0.5s;
  background-image: url('data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IiB2aWV3Qm94PSIwIDAgMzAgMzAiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDMwIDMwOyI+PGNpcmNsZSBzdHlsZT0iZmlsbDojRkZGRkZGOyIgY3g9IjE1IiBjeT0iMTUiIHI9IjE1Ii8+PHBvbHlsaW5lIHN0eWxlPSJmaWxsOm5vbmU7c3Ryb2tlOiMxQjlDQUM7c3Ryb2tlLXdpZHRoOjAuNzU7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLWxpbmVqb2luOnJvdW5kO3N0cm9rZS1taXRlcmxpbWl0OjEwOyIgcG9pbnRzPSIxMi43LDkuNSAxOC43LDE1IDEyLjcsMjAuNSAiLz48L3N2Zz4=');
}

.nav-arrow-next {
  bottom: calc(2em * 1.1);
  right:3em;
  background-size: contain;
}
.nav-arrow-back {
  bottom: calc(2em * 1.1);
  left:3em;
  background-size: contain;
  transform:rotate(-180deg);
}
.nav-arrow:hover {
  -webkit-transform: translateX(0.5em);
  transform: translateX(0.5em);
}
.nav-arrow-back:hover {
  -webkit-transform: translateX(-0.5em);
  transform: translateX(-0.5em) rotate(-180deg);
}



#debug{
   display:none;
   position:absolute;
   top:1em;
   right:1em;
   z-index:10;
   background-color:#f1f1f1;
   border:1px solid #333;
   padding:1em;
}

#report {
    padding:3em;
    display:none;
}
#form {
    margin-bottom:1em;
}
.liste-rc{
    border:1px solid #777;
    padding:1em;
}
.list-rc-title,
.liste-rc li{
    line-height:1.4em;
    width:600px;
    position:relative;
}
.liste-rc li+li{
    margin-top:0.3em;
}
.item-switch,
.item-deleter {
    display:inline-block;
    width:1.4em;
    height:1.4em;
    background-color:red;
    position: absolute;
    right: 0;
    top: 0;
}
.item-switch{
    right: 1.6em;
    background-color:royalblue;
}