.map {
  position:absolute;
  padding:0;
  margin:0;
  width:100%;
  height:100%;
  left:0;
  top:0;
}

.map.left {
  top: 47px;
  height: calc(100% - 47px);
  width:50%;
}

.map.right {
  top: 47px;
  height: calc(100% - 47px);
  width:50%;
  left:50%;
}

@media(max-width:767px) {
  .map.left,.map.right {
    top: 138px;
    height: calc(100% - 138px);
  }
}

#panel {
    position: absolute;
    left:0;
    top:0;
    bottom:0;
    background-color: white;
    box-shadow: -30px 0px 100px 0px #888;
    width:300px;
    z-index:1000;
    overflow-x: hidden;
}

#comparison-header {
  width: 100%;
}

#comparison-header .o-grid__cell {
  margin:4px;
  margin-top:5px;
}

#comparison-header .see-city {
  padding-top:11px;
  padding-left:10px;
  font-size:0.9em;
}

#comparison-header a.c-link:visited {
  color:#0c7fda;
}

#comparison-header a.c-link.c-link--brand:visited {
  color:#2c3e50;
}

#comparison-header .comparison-main-ctrl {
  display:flex;
}

#comparison-header .comparison-main-ctrl .comparison-link {
  padding:7px 0 0 20px;
  vertical-align:sub;
  font-size: 0.9em;
}

.comparison-link + .comparison-link {
  padding-left:10px !important;
}

.comparison-intro {
  max-width: 600px;
  text-align: center;
  margin: 0 auto;
  margin-top: 20%;
}

.comparison-settings {
  margin-left:-1em;
  width: calc(100% + 2em);
  max-height:400px;
  overflow: auto;
  background-color: white;
  position:relative;
  z-index:1000;
  box-shadow:0 5px 10px 0 rgba(0,0,0,0.1);
  font-size: 0.9em;
}

.comparison-settings > .c-card {
  margin:5px 15px 10px 15px;
}

.comparison-settings-timeline-speed-container {
  padding-left: 1em;
  max-width: 300px;
}

@media (max-width: 600px){
    #panel {
        width: 100%;
    }
}

.panel-full-width {
  width:100% !important;
}

.popup-feature-info {
  display: block;
  margin-top:5px;
  padding-right:5px;
  min-width:200px;
}

.popup-feature-adjacent {
  border-top: 1px dashed #c0c0c0;
  padding-top: 7px;
  margin-top: 5px;
}

.station-popup {
  display: block;
  margin-bottom:10px;
  font-size:1.15em;
}

.popup-data {
  display: none;
}

.popup-data-title {
  padding: 5px 0;
  font-weight: lighter;
}

.popup-data-toggle {
  width: 100%;
  display: block;
  text-align: right;
}

.popup-data-checkbox {
  display: none;
}

.popup-data-toggle > .show-more {
  display: block;
}

.popup-data-toggle > .show-less {
  display: none;
}

input.popup-data-checkbox:checked + .popup-data { display: block; }
input.popup-data-checkbox:checked + .popup-data + .popup-data-toggle > .show-more { display: none; }
input.popup-data-checkbox:checked + .popup-data + .popup-data-toggle > .show-less { display: block; }

.popup-transport-modes {
  margin-bottom: 5px;
}

.popup-transport-modes .c-badge {
  margin-right: 5px;
  margin-top:4px;
}

.panel-header-title {
  padding:25px 0 20px 0;
}

.panel-header-title h2.c-heading {
  display:inline;
  margin-right:10px;
  padding-top:0px;
  padding-bottom:10px;
}

.panel-header-title .commands {
  padding-top:10px;
  font-size:0.9em;
}

.panel-header-title .commands > a.c-link {
  display:inline-block;
  margin-right: 10px;
}

.panel-header-title .commands > a.c-link:visited {
  color:#0c7fda;
}

.panel-header-title .commands > a.c-link.c-link--brand:visited {
  color:#2c3e50;
}

.panel-body {
    position: relative;
    overflow: auto;
    padding-bottom: 20px;
}

.editor-cards-container {
  padding:10px 15px;
}

#edit-lines-card {
  display:none;
  margin:0;
}

.mapboxgl-popup-content {
    font-size:14px;
    box-shadow: 0 3px rgba(0,0,0,0.1);
}

/* To fix a Blace css */
#main-container {
    margin-top: -1px;
    flex-wrap: wrap;
}

.line-label {
  display:inline-block;
  min-width:21px;
  text-align:center;
  border-radius:2px;
  line-height:12px;
  vertical-align:top;
  padding-bottom: 4px;
  white-space:nowrap;
  max-width:98%;
  overflow-x:auto;
  text-overflow:ellipsis;
  direction:ltr;
}

.line-label:hover{
  text-overflow:unset;
  direction:rtl;
}

/* Bugfix to prevent wrong rendering of special characters
 * when chaning the direction.
 * Taken from https://stackoverflow.com/a/51616164/3095803*/
.line-label:after, .line-label:before {
  content: "\200E";
}

.line-label-system {
  line-height: 18px;
  vertical-align: top;
  margin-right: 7px;
}

.line-label-year {
  line-height: 18px;
  vertical-align: top;
  display: inline-block;
}

.line-label-li {
  padding-top: 2px;
  padding-bottom: 5px;
}

.edit-city-link {
  margin-left:10px;
}

.back-edit-city-link {
  margin-left:15px;
}

.edit-city-link span{
  vertical-align:middle;
}

.back-edit-city-link span {
  vertical-align:middle;
  line-height:12px;
}

.line-code {
  background-color: #e5eaec;
  color: #111;
  font-family: Consolas, Andale Mono WT, Andale Mono, Lucida Console, Lucida Sans Typewriter, DejaVu Sans Mono, Bitstream Vera Sans Mono, Liberation Mono, Nimbus Mono L, Monaco, Courier New, Courier, monospace;
  font-weight: 400;
  height: auto;
}

.alert {
  background-color: #F5A9A9;
}

.no-max-height {
  max-height:none;
}

.editor-line-color {
  border-radius:1px;
  width:45px;
  height:25px;
  box-shadow:0 0 1px rgba(0,0,0,0.5);
  margin: 5px 5px 5px 25px;
  background-color:#fff;
  position:relative;
}

.editor-line-color:hover {
  box-shadow:0 0 1px rgba(0,0,0,1);
}

.editor-line-color .color {
  cursor: pointer;
  width:39px;
  height:19px;
  border-radius:3px;
  position:absolute;
  top:3px;
  left:3px;
}

.editor-features-lines-container {
  width: 100%;
}

.editor-features-lines-item {
  padding: 2px 0;
}

.editor-features-lines-item .line-name {
  max-width: 190px;
  display: inline-block;
}

.editor-features-lines-item .line-commands {
  margin-left: 10px;
  color: #888;
  float: right;
}

.editor-features-lines-item .line-commands .far + .far {
  margin-right: 2px;
  margin-left: 7px;
}

.editor-features-lines-item .line-commands .selected,
.editor-features-lines-item .line-commands .far:hover {
  color: #000;
  cursor: pointer;
}

.editor-features-lines-item .line-years {
  padding: 5px;
  background-color: rgba(0,0,0,0.05);
  margin: 4px 1px;
  border-radius: 3px;
}

.editor-features-lines-item .line-years small {
  padding: 1px 1px 0 1px;
  display: block;
}

.color-picker-container {
  position:absolute;
  z-index:100000;
  cursor: default;
}

.city-toggleable-container {
  margin: 2px 15px 20px 15px;
  font-size: 0.9em;
}

.city-toggleable-container > .c-card__item > .o-form-element {
  margin: 0 8px;
}

.year-container .year-group {
  padding-bottom: 2px;
}

.year-and-km-container {
  padding: 0 15px 20px 15px;
}

.km-indicator .c-badge--success {
  margin-right: 5px;
}

.edit-mode-buttons {
  padding: 10px 15px 20px 15px;
}

.cities-container {
  height:500px;
  overflow:auto;
  padding:10px 1px 10px 1px;
}

.cities-container .item-location {
  margin-left: 3px;
}

.cities-container .system-tag {
  margin: 0 5px;
}

.lines-editor-container {
  overflow: initial;
  margin-bottom: 20px !important;
}

.lines-editor-container .c-card__item--brand {
  border-top-left-radius: 4px;
  border-top-right-radius: 4px;
}

.lines-editor-container.new-system .c-card__item--brand {
  border-radius: 4px;
}

.lines-editor-container .o-field {
  margin-left: 10px;
}

.lines-editor-container .o-field select {
  border-color: #e6e6e6;
}

.cookie-notice-container {
  background-color:#f2f2ea;
  padding:0 15px;
  position:fixed;
  bottom:0;
  left:0;
  right:0;
  z-index: 100000;
}

.cookie-notice-container button{
  float: right;
}

.modified-features-list-subitem {
  margin-right:5px;
}

.loading {
  background-color:white;
  opacity:0.5;
}

/* spinner */
/* taken from https://projects.lukehaas.me/css-loaders/ */
.loader,
.loader:after {
  border-radius: 50%;
  width: 10em;
  height: 10em;
}
.loader {
  margin: 60px auto;
  font-size: 10px;
  position: relative;
  text-indent: -9999em;
  border-top: 1.1em solid rgba(44, 62, 80, 0.2);
  border-right: 1.1em solid rgba(44, 62, 80, 0.2);
  border-bottom: 1.1em solid rgba(44, 62, 80, 0.2);
  border-left: 1.1em solid #2c3e50;
  -webkit-transform: translateZ(0);
  -ms-transform: translateZ(0);
  transform: translateZ(0);
  -webkit-animation: load8 1.1s infinite linear;
  animation: load8 1.1s infinite linear;
}
@-webkit-keyframes load8 {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
@keyframes load8 {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
/* --- */

.system-toggle {
  cursor: pointer;
  padding-left:8px;
  padding-right:15px;
}

input.system-name {
  color: white;
  background: transparent;
  width: 200px;
  display: inline-block;
}

button.save-system {
  float: right;
}

.c-field--choice.editor-system-tag {
  display:inline-block;
  width:120px;
}

.system-name + .c-field--choice.editor-system-tag {
  margin-left: 10px;
}

.not-dragging-line .draggable-line {
  cursor: move;
  cursor: grab;
  cursor: -moz-grab;
  cursor: -webkit-grab;
}

.dragging-line {
  cursor: grabbing;
  cursor: -moz-grabbing;
  cursor: -webkit-grabbing;
}

.line-system-select {
  border-left-width: 1px !important;
  max-width: 200px
}

.contact-icon {
  font-size: 1.1em;
}

.contact-icon + .contact-icon {
  margin-left: 20px;
}

.share .contact-icon + .contact-icon {
  margin-left: 15px;
}

.contact-icon a {
  margin-left: 5px;
  color: #888;
  font-size:1.1em;
}

.contact-icon a:hover {
  color: #000 !important;
}

.landing-title {
  text-align: center;
  color: #555;
  padding-left:10%;
  padding-right:10%;
}

.landing-image {
  display: block;
  margin: 0 auto;
  width:426px;
  padding:20px;
  padding-bottom:0;
}

.landing-image img {
  margin-left:-45px;
}

@media (max-width: 426px){
    .landing-image {
      width: 100%;
    }
    .landing-image img {
      width: 100%;
      margin-left:-10px;
    }
    .landing-title {
      display:none;
    }
}

.cities-search-container {
  padding-top:0;
}

.data-link {
  margin-left: 10px;
}

.contributors-list-container {
  max-width: 32em;
  text-align: center;
}

@media (min-width: 550px) {
  .contributors-list {
    width: 50%;
    display: inline-block;
    vertical-align: top;
  }
}

.contributors-list .c-list {
  text-align: left;
}

.contributors-list li {
  padding-bottom: 5px;
}

.top-systems-list {
  display: inline-block;
  vertical-align: top;
  text-align:left;
}

.top-systems-list li {
  padding-bottom: 5px;
}

.contributors-list a, .top-systems-list a {
  margin-right: 10px;
  margin-left: 10px;
}
ul.auth {
  list-style-type: none;
  padding: 0;
  margin: 0 auto;
  max-width: 200px;
}

ul.auth li {
  margin-bottom:10px;
}

ul.auth a.twitter {
  display: inline-block;
  background-color: #00aced;
  color: rgb(255, 255, 255);
  width: 190px;
  padding-top: 10px;
  padding-bottom: 10px;
  border-top-left-radius: 2px;
  border-top-right-radius: 2px;
  border-bottom-right-radius: 2px;
  border-bottom-left-radius: 2px;
  border: 1px solid transparent;
  font-size: 16px;
  font-weight: bold;
  font-family: Roboto;
  background-position: initial initial;
  background-repeat: initial initial;
  line-height: 19px;
  text-decoration: none;
  cursor: default;
}

span.osm-container {
  display: block;
  margin-bottom: 10px;
}

select.osm-route {
  display: inline-block;
  border: none;
  width: 105px;
}

.osm-container .preamble {
  margin-right: 10px;
}
.osm-container .members {
  display: block;
  font-size:0.8em;
}

table .narrow {
  max-width: 150px;
}

.navbar-logo {
  width: 132px;
  vertical-align: middle;
}

/* We need this rule because in some browsers the color is set to white
 * when the button is active*/
.cut-line-control,.satellite-control button:active {
  color: rgba(0, 0, 0, 0.847);
}

.system-tree {
  margin-left: 1em;
  padding-right: 1em;
  margin-bottom: 0.2em;
}

.system-tree .system-name {
  margin-right: 7px;
}

.system-tree .c-badge {
  font-size: 0.7em;
}

.line-label-li .system-tag{
  line-height: 12px;
  vertical-align: top;
  margin-right: 5px;
}

.line-tree-content .c-badge {
  display: inline;
  margin-left: 7px;
}

.city-systems-container {
  display: block;
  position: relative;
}
.city-systems.show-less {
  max-height: 81px;
  overflow: hidden;
}

.city-systems.show-more{
  max-height: auto;
  overflow: hidden;
}

.city-systems-toggle{
  width:100%;
  padding-right: 10px;
  text-align: right;
  position: absolute;
  line-height: 38px;
}

.city-systems-toggle.show-less {
  box-shadow: 0 -3px 0px rgba(0,0,0,0.1);
}

.u-letter-box--large.letter-with-footer {
  padding-bottom:4em;
}

.system-indicator {
  margin:-5px 15px 20px;
}

.system-indicator-name {
  margin-right:10px
}

.system-indicator-link {
  display: inline-block;
  font-size: 0.9em;
}

/*  Avatar */
.c-avatar {
  background-color: rgb(205,152,59);
  vertical-align: middle;
}

.avatar-inline-list {
  margin-right: 3px;
}

.avatar-initials {
  overflow: hidden;
  text-align: center;
  vertical-align: bottom;
  line-height: 200%;
  font-size: 1.5em;
  height:100%;
}

.user-page-username {
  margin-left: 20px;
  display:inline;
  position:relative;
}

.user-nickname-input {
  display: inline;
  border:0;
  outline:0;
  width: 250px;
  padding:0;
  position: absolute;
  top:0;
  bottom:0;
}

.user-current-nickname {
  display:inline-block;
}

.user-avatar-edit {
  position:absolute;
  left:-10px;
  top:40px;
}

.user-avatar-edit-controls {
  line-height:15px;
}

.user-avatar-edit-control {
  font-size: initial;
  margin-left:10px;
}

.user-gravatar {
  margin-left: 10px;
  font-size: 0.45em;
  width: 300px;
}

.user_contributions td.c-table__cell {
  display: block;
}

a[disabled], a[disabled]:hover {
   pointer-events: none;
   color: #e1e1e1;
}

.editor-general-alert .fa {
  margin: 5px;
}

.editor-general-alert .fa-times {
  float: right;
  cursor: pointer;
}

.footer {
  margin-top: 80px;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-self: flex-end;
}

@media (max-width: 900px) {
  .footer {
    flex-direction: column;
  }
}

.footer a {
  color: inherit;
}

.footer .copyright img {
  width: 92px;
  margin-left: 7px;
  vertical-align: text-bottom;
}

.discussion {
  height: calc(100% - 61.25px);
  overflow: auto;
  display: flex;
  flex-direction: column-reverse;
}

.discussion .send-msg {
  margin: 15px 0;
}

.discussion .send-msg textarea {
  resize: none;
}

.discussion .send-msg button {
  width: 45px;
}

.discussion .discussion-message {
  margin-bottom: 15px;
}

.discussion .discussion-message .discussion-message-header {
  display: flex;
  justify-content: space-between;
}

.discussion .discussion-message .c-paragraph {
  text-align: justify;
  white-space: pre-wrap;
}

.discussion .no-msgs-sign {
  max-width: 600px;
  text-align: center;
  margin: 0 auto;
  margin-bottom: 20%;
}

.discussion .no-msgs-sign ul {
  text-align:left;
}

.feature-history ol {
  margin-left:10px;
}

.feature-history .history-record-type {
  margin-left:5px;
}

.feature-history .history-record-author {
  margin-left:5px;
}

.feature-history > input:checked+.c-card__item, .c-card__item--active {
  font-weight:inherit;
}

.about.sponsor-button {
  margin-top: 5px;
}
