/*
* Itsim style
*/

html,
body {
    margin: 0;
    height: 100%;
    min-height: 100% !important;
    width: 100%;
    font-family: 'Roboto', sans-serif;
}

body {
    padding-top: 50px;
    background-color: #ffffff;
}

body.cursorWait, body.cursorWait *{
    cursor: wait !important;
}

body.cursorProgress, body.cursorProgress * {
    cursor: progress !important;
}

#map-container {
    margin: 0;
    padding: 0;
    height: 100%;
    min-height: 100% !important;
    width: 100%;
    cursor: default;
    z-index: 1;
    display: none;
    background-color: #ddd;
}

.mapboxgl-map {
    margin: 0;
    padding: 0;
    height: 100%;
    min-height: 100% !important;
    width: 100%;
}

.mapboxgl-canvas-container.mapboxgl-interactive,
.mapboxgl-ctrl-nav-compass {
    cursor: url('../data/img/cursor-grab.png') 11 10, auto;
    cursor: grab;
}

.mapboxgl-canvas-container.mapboxgl-interactive:active,
.mapboxgl-ctrl-nav-compass:active {
    cursor: url('../data/img/cursor-grabbing.png') 11 10, move;
    cursor: grabbing;
}
.mapboxgl-ctrl-icon.mapboxgl-ctrl-recenter {
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg'%3E %3Cpath style='fill:%23333333;' d='m 5,4 c -0.5,0 -1,0.5 -1,1 v 10 c 0,0.5 0.5,1 1,1 h 3 a 0.5 0.5 0 0 0 0 -1 h -2 c -0.5,0 -1,-0.5 -1,-1 v -8 c 0,-0.5 0.5,-1 1,-1 h 2 a 0.5 0.5 0 0 0 0 -1 h -3 z'/%3E %3Cpath style='fill:%23333333;' d='m 15,4 c 0.5,0 1,0.5 1,1 v 10 c 0,0.5 -0.5,1 -1,1 h -3 a 0.5 0.5 0 0 1 0 -1 h 2 c 0.5,0 1,-0.5 1,-1 v -8 c 0,-0.5 -0.5,-1 -1,-1 h -2 a 0.5 0.5 0 0 1 0 -1 h 3 z'/%3E %3C/svg%3E");
}

.bbm-wrapper {
    z-index: 99999;
    padding: 0;
}
.bbm-modal {
    padding: 50px 10px;
    max-width: 1100px;
}

.mapboxgl-popup {
    z-index: 2000;
}
.mapboxgl-popup-content {
    box-shadow: 10px 10px 20px rgba(0,0,0,0.4);
    background-color: dimgray;
    color: white;
}
.mapboxgl-popup-content .itsim-icon {
    background-color: white;
}
.mapboxgl-popup-anchor-top .mapboxgl-popup-tip,
.mapboxgl-popup-anchor-bottom .mapboxgl-popup-tip {
    border-top-color: dimgray;
    border-bottom-color: dimgray;
}
.mapboxgl-popup-anchor-left .mapboxgl-popup-tip,
.mapboxgl-popup-anchor-right .mapboxgl-popup-tip {
    border-left-color: dimgray;
    border-right-color: dimgray;
}

.is__popup-horizontal-line {
    margin: 0;
    margin-top: 4px;
    padding: 3px;
}

.mapboxgl-popup-close-button {
    font-size: x-large;
    padding-top: 4px;
}

.mapboxgl-ctrl-bottom-right {
    right: 300px;
}

/* For general use */

.is__right-panel,
.is__left-panel {
    position: fixed;
    border-radius: 0px;
}

.is__right-panel {
    right: 8px;
    top: 60px;
}

.is__left-panel {
    top: 50px;
}

.is__bottom-panel {
    position: fixed;
    border-radius: 2px;
    bottom: 26px;
    left: 20px;
}

.is__middle-panel {
    left: 260px!important;
}

.is__vertical-align {
    /* position: relative; */
    /* top: 50%; */
    /* vertical-align: middle; */
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    /* display: inline-block; */
}

.modal-dialog {
    top: 100px;
}

.is__modal-picker-elem {
    padding-bottom: 3px;
}

.dropdown-menu > li > a {
    cursor: pointer;
}

.is__pencil-icon-button {
    color: #b1b1b1;
}

.is__pencil-icon-button:hover {
    color: #575756;
}

.is__button-white {
    color: #b1b1b1;
}

.is__button-white:hover {
    color: #FFFFFF;
}

.btn .caret {
    margin-left: 5px;
}

/* For topmenu (navbar) */

.navbar {
    font-family: 'Open Sans', sans-serif;
}
.navbar-brand-img-left {
  display: flex;
  flex-direction: column;
}
#logo {
  height: 48px;
  align-self: center;
}

.is__top-menu-left-element {
    text-transform: uppercase;
}

#navbarGear li.liTitle,
#navbarUser li.liTitle {
    padding-left: 10px;
    font-weight: bold;
    color: black;
}

#navbarGear li.selected > a,
#navbarGear li.selected > a:hover,
#navbarUser li.selected > a,
#navbarUser li.selected > a:hover {
    background-color: #0A89CE;
    color: white;
}

/* For projects and scenarios dashboard */

.is__scenarios-dashboard {
    background-color: white;
    top: 20px;
}

.is__projects-dashboard {
    background-color: white;
    top: 20px;
}

.confirmation-buttons > .btn-group > .dco__projects-panel-remove-confirm-button {
    float: none;
}

.confirmation-buttons > .btn-group > .dco__projects-panel-cancel-button {
    float: none;
}

.confirmation-buttons > .btn-group > .itsim__pattern-modal-cancel {
    float: right;
}

.confirmation-buttons > .btn-group > .is__route-modal-cancel {
    float: right;
}

.bbm-wrapper .confirmation-buttons  {
    width: 190px;
    height: 30px;
}

.btn .btn-primary .itsim__pattern-modal-trash {
    margin-left: 0px;
}

/* For Map controls */
.is__map-control-container {
    position: absolute;
    left: 20px;
    padding: 0;
    margin: 0;
    background-color: white;
}
.is__map-control-container.is__map-left-margin {
    margin-left: 250px !important;
}
.is__map-control-container > * {
    box-shadow: 5px 5px 50px rgba(0,0,0,0.4);
    border-radius: 5px;
}
.is__map-control-pos-1 {
    bottom: 26px;
    z-index: 512;
}
.is__map-control-pos-2 {
    bottom: 76px;
    z-index: 511;
}
.is__map-control-pos-3 {
    bottom: 126px;
    z-index: 510;
}
.is__map-control-container > .is__map-control-toggle-icon {
    position: absolute;
    display: block;
    cursor: pointer;
    bottom: 0;
    width: 36px;
    height: 36px;
    font-size: 28px;
    line-height: 36px;
    text-align: center;
    /* background image or font class should be precised in an other css class */
}
.is__map-control-container > .is__map-control-button-icon {
    position: absolute;
    visibility: visible;
    cursor: pointer;
    bottom: 0;
    width: 36px;
    height: 36px;
    font-size: 28px;
    line-height: 36px;
    text-align: center;
    vertical-align: middle;
    /* background image or font class should be precised in an other css class */
}
.is__map-control-container > .is__map-control-content {
    position: absolute;
    visibility: hidden;
    opacity: 0;
    bottom: 0;
    padding: 0;
    margin: 0;
}
.is__map-control-container:hover > .is__map-control-button-icon {
    visibility: hidden;
}
.is__map-control-container:hover > .is__map-control-content {
    visibility: visible;
    opacity: 1;
    transition: opacity 400ms, visibility 400ms;
}
.is__icon-layers {
    background-color: white;
    background-image: url(../data/img/icon-map-layers.png);
    background-position: 50% 50%;
    background-repeat: no-repeat;
}
.is__control-layers-expanded {
    padding: 6px 10px 6px 6px !important;
    color: #333;
    background: white;
}
.is__control-layers-expanded label {
    white-space: nowrap;
}
.is__control-layers-separator {
    height: 0;
    border-top: 1px solid #ddd;
    margin: 5px -10px 5px -6px;
}
.is__control-layers-selector {
    margin-top: 2px;
    position: relative;
    top: 1px;
}

.is__origin-destination-button-link {
    background: white;
    color: #B9B9B9;
}
.is__origin-destination-button-link:hover {
    background: white;
    color: #0A89CE;
}

.is__origin-destination-button-activated > .is__origin-destination-button-link {
    background: #0A89CE;
    color: white;
}
.is__origin-destination-button-activated > .is__origin-destination-button-link:hover {
    background: #055682;
    color: white;
}

.is__export-gtfs-button-link {
    background: white;
    color: #B9B9B9;
}
.is__export-gtfs-button-link:hover {
    background: white;
    color: #0A89CE;
}
.is__export-gtfs-button-link-disabled,
.is__export-gtfs-button-link-disabled:hover {
    background: lightgray;
    color: #B9B9B9;
    cursor: not-allowed !important;
}

.fps-control{
    font-size: 15px;
    padding: 10px;
}

/* Itsim icons */
.itsim-icon {
    display: inline-block;
    background-color: black;
    -webkit-mask-size: 100%;
    -moz-mask-size: 100%;
    mask-size: 100%;
    -webkit-mask-position: 50%;
    -moz-mask-position: 50%;
    mask-position: 50%;
    vertical-align: text-bottom;
    width: 20px;
    height: 20px;
}
.itsim-cable-car {
    -webkit-mask-image: url(../data/img/icon-cable-car.svg);
    -moz-mask-image: url(../data/img/icon-cable-car.svg);
    mask-image: url(../data/img/icon-cable-car.svg);
}
.itsim-gondola {
    -webkit-mask-image: url(../data/img/icon-gondola.svg);
    -moz-mask-image: url(../data/img/icon-gondola.svg);
    mask-image: url(../data/img/icon-gondola.svg);
}
.itsim-funicular {
    -webkit-mask-image: url(../data/img/icon-funicular.svg);
    -moz-mask-image: url(../data/img/icon-funicular.svg);
    mask-image: url(../data/img/icon-funicular.svg);
}

/* For Node element*/

.is__node {
    background: #fff;
    border: 2px solid #717171;
    border-radius: 50%;
    position: absolute;
    width: 14px;
    height: 14px;
    cursor: pointer;
}

.is__node-selected {
    background: #FFFFFF;
    border: 2px solid #000000;
    border-radius: 50%;
    position: absolute;
    cursor: pointer;
}

.is__node-selected-direction {
    background: #FFFFFF;
    border: 3px solid #FF0000;
    border-radius: 50%;
    position: absolute;
    cursor: pointer;
}

.is__node-selected-origin {
    border: 3px solid #5ED401;
    position: absolute;
    cursor: pointer;
}

.is__node-selected-destination {
    border: 3px solid red;
    position: absolute;
    cursor: pointer;
}

/* For Wait view */

#is__wait-view {
    position: absolute;
    width: 100%;
    /* height: 100%; */
    bottom: 0px;
    top: 50px;
    right: 0;
    z-index: 1029;
    background-color: #dddddd;
    text-align: center;
    vertical-align: middle;
    text-align: center;
}

/* For Action Doing Modal */
.action-doing-text {
    color: black;
}
div.action-doing-text {
    font-style: italic;
}
span.action-doing-text {
    margin-bottom: 20px;
}
.action-doing-ok-text {
    color: green;
}
.action-doing-fail-text {
    color: red;
}

/* For edit bar view */

#is__edit-bar-container {
    position: absolute;
    bottom: 0;
    text-align: center;
    z-index: 500;
}
#is__edit-bar-container.is__edit-bar-explore {
    float: right;
    right: 60%;
}
#is__edit-bar-container.is__edit-bar-edition {
    float: left;
    left: 100px;
}

.is__edit-bar {
    box-shadow: 5px 5px 50px rgba(0,0,0,0.4);
    border-radius: 5px;
    background-color: #FFFFFF;
    z-index: 500;
    bottom: 0;
    border-bottom-right-radius: 0px;
    border-bottom-left-radius: 0px;
    position: absolute;
}
#is__edit-bar-container.is__edit-bar-explore .is__edit-bar {
    width: 360px;
    padding: 10px;
}
#is__edit-bar-container.is__edit-bar-edition .is__edit-bar {
    width: 400px;
    padding: 0;
}

.is__edit-bar > ul.nav {
    margin: 0;
    padding: 0;
}
.is__edit-bar > .nav > li.disabled > a {
    color: #95A5A6
}

.is__edit-bar-use-road-network.active {
    background-color: #95A5A6;
    color: #FFFFFF!important;
}

.is__edit-bar-use-road-network.active:hover {
    background-color: #95A5A6!important;
    color: #FFFFFF!important;
}

.is__edit-bar-use-road-network:hover {
    background-color: #e6e6e6!important;
    color: #333!important;
}

.is__edit-bar>.nav>li>a {
    color: black;
}

.is__edit-bar>.nav>li>a:focus, .is__edit-bar>.nav>li>a:hover {
    background-color: #eee;
}

.is__edit-bar-info {
    color: black;
    margin: 6px 10px;
    font-size: 1.2em;
    line-height: 1;
}
.is__edit-bar-info * {
    color: black;
}


/* For KPI view */

.sidebar.right {
    top: 50px;
    height: 100%;
    right: 0px;
    margin-right: 0;
}

.sidebars>.sidebar {
    position: fixed;
    color: #575756;
    text-align: center;
}

.is__kpi-sidebar {
    box-shadow: rgba(0, 0, 0, 0.65098) 0px 1px 5px 0px;
    margin-right: 0px;
    margin-left: 13px;
    width: 300px;
    height: calc(100% - 50px);
    background: #DDDDDD;
    padding-bottom: 10px;
    display: flex;
    flex-direction: column;
}

.is__kpi-sidebar-time-selectors {
  display: flex;
  flex-direction: row;
  justify-content: center;
  gap: 1ch;
}

.is__kpi-view {
    padding: 0.5em;
    overflow-y: auto;
}

.is__kpi-title {
    font-size: 20px;
    background-color: #575756;
    color: white;
    font-weight: 700;
    height: 28px;
    padding-left: 0.5em;
    padding-right: 0.5em;
}

.is__kpi-title-stop {
    background-color: transparent;
}

.is__kpi-provisonal-title {
    font-size: 16px;
    font-style: italic;
    background-color: #575756;
    font-weight: 200;
    color: #DDDDDD;
    height: 28px;
    padding-left: 0.5em;
    padding-right: 0.5em;
}

.is__stats-value {
    padding-left: 1em;
    padding-right: 0;
    text-align: right;
}

.is__stats-label {
    padding-left: 0;
    padding-right: 1em;
    font-size: 100%;
    width: 80%;
    text-align: left;
    white-space: normal;
}

.is__stats-alert {
    padding-left: 0;
    padding-right: 1em;
    font-size: 110%;
    font-weight: bold;
    color: #0A89CE;
}

.is__kpi-edit {
    padding-top: 3px;
    text-align: left;
}

.is__kpi-date-type-picker-container {
    position: relative;
}

.is__kpi-date-type-picker {
    box-shadow: rgba(0, 0, 0, 0.65098) 0px 1px 5px 0px;
    position: absolute;
    background: #efefef;
    z-index: 1300;
    padding: 10px;
    right: 0px;
    top: -20px;
    text-align: left;
}

.is__kpi-date-type-picker-hover:hover {
    background: #dddddd;
    cursor: pointer;
}

.is__kpi-date-large-button {
    display: block;
    margin: auto;
}

.is__kpi-chosen-dates, .is__kpi-chosen-times {
  margin: 1px 0 1px 0;
}

.is__kpi-transport-label {
    width: 40%;
    text-align: left;
    font-size: 90%;
    white-space: nowrap;
    padding-right: 1em;
    padding-left: 3em;
}

.datepicker table tr td span.disabled,
.datepicker table tr td span.disabled:hover {
    color: #d8d8d8;
}

.datepicker table tr td.disabled,
.datepicker table tr td.disabled:hover {
    color: #d8d8d8;
}

.datepicker table tr td.highlighted.disabled,
.datepicker table tr td.highlighted.disabled:active {
    color: #d8d8d8;
}

.is__kpi-date-type-picker-list-elem tr td {
    padding-left: 0px;
    padding-right: 6px;
    white-space: nowrap;
}

.is__kpi-date-type-picker-list-elem tr th {
    padding-left: 0px;
    padding-right: 6px;
    white-space: nowrap;
}

.is__time-picker-modal-buttons div .popover-title {
    white-space: pre-wrap;
}

/* For Route Menu view */

#is__route-menu {
    background-color: #FFFFFF;
    box-shadow: rgba(0, 0, 0, 0.65098) 0px 1px 5px 0px;
    display: block;
    /* padding-bottom: 5px; */
    /* padding-top: 5px; */
    z-index: 100;
    width: 250px;
    bottom: 0px;
    /* height: 100%; */
    /* margin-top: 50px; */
}

.is__project-title,
.is__scenario-title,
.is__route-menu-title {
    background-color: #0A89CE;
    padding-top: 6px;
    color: #FFFFFF;
    font-weight: bold;
    height: 32px;
    padding-left: 5px;
    padding-right: 5px;
}
.is__route-menu-title .popover {
    color: #000000;
}
.is__route-menu-title .popover .popover-content {
    width: 200px;
    text-align: justify;
}
.is__project-title,
.is__scenario-title {
    background-color: #575756;
    white-space: nowrap;
    overflow-x: hidden;
    text-overflow: ellipsis;
}

.is__pattern-menu-select {
    padding: 0px;
}

.is__route-menu-elements {
    overflow-y: auto;
    height: 100%;
}

.is__route-elem {
    padding: 0px;
}

.is__route-menu-element-create {
    margin: 1px;
    float: right;
}

.is__route-title {
    text-align: left;
    color: #95969A;
    cursor: pointer;
    padding: 0px;
    border-bottom: cyan;
    border-bottom-width: 80px;
}

.is__route-title.selected {
    background-color: #DDDDDD;
    color: #575756;
}

.is__route-title:hover {
    font-weight: 700;
}

.is__route-group {
    margin-bottom: 6px;
}

.is__pattern-item.selected {
    background-color: #DDDDDD;
    color: #575756;
}

.is__pattern-item {
    border-bottom-style: solid;
    border-bottom-width: 1px;
    border-color: #95969A;
}

.is__trip-item.selected {
    background-color: #DDDDDD;
    color: #575756;
}

.is__trip-item {
    cursor: pointer;
    border-color: #95969A;
    border-bottom-style: solid;
    border-bottom-width: 1px;
    padding: 0px;
    text-align: center;
}

.is__pattern-timetable-header {
    display: table;
    width: 100%;
}

.is__pattern-timetable-left {
    border-top-style: solid;
    border-top-width: 1px;
    border-right-style: solid;
    border-right-width: 1px;
    border-color: #95969A;
    padding: 0px;
}

.is__pattern-timetable-center {
    border-top-style: solid;
    border-top-width: 1px;
    border-color: #95969A;
    padding: 0px;
}

.is__pattern-timetable-right {
    border-top-style: solid;
    border-top-width: 1px;
    border-left-style: solid;
    border-left-width: 1px;
    border-color: #95969A;
    padding: 0px;
}

.is__pattern-timetable-header-left {
    border-right-style: solid;
    border-right-width: 1px;
    border-color: #95969A;
    padding: 0px;
    float: none;
    display: table-cell;
    vertical-align: middle;
    text-align: center;
}

.is__pattern-timetable-header-center {
    padding: 0px;
    float: none;
    display: table-cell;
    text-align: center;
    vertical-align: middle;
}

.is__pattern-timetable-header-right {
    border-left-style: solid;
    border-left-width: 1px;
    border-color: #95969A;
    padding: 0px;
    float: none;
    text-align: center;
    display: table-cell;
    vertical-align: middle;
}

.is__pattern-row {
    margin-right: 0px;
    margin-left: 0px;
}

.is__trip-elem {
    margin-left: 0px;
    margin-top: 0px;
    margin-bottom: 0px;
}

.is__pattern-modal-timetables-container .editableform .form-control {
    width: 50px;
    height: 22px;
    padding: 2px 5px;
    font-size: 12px;
    line-height: 1.5;
    border-radius: 3px;
}

.is__pattern-modal-timetables-container-table {
    text-align: center;
}

.is__pattern-trip-number {
    display: inline;
}

/*
 *  STYLE 1
 */

.scroll-1::-webkit-scrollbar-track {
    -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3);
    box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3);
    border-radius: 10px;
    background-color: #F5F5F5;
}

.scroll-1::-webkit-scrollbar {
    width: 8px;
    background-color: #F5F5F5;
}

.scroll-1::-webkit-scrollbar-thumb {
    border-radius: 10px;
    -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, .3);
    box-shadow: inset 0 0 6px rgba(0, 0, 0, .3);
    background-color: #B8B8B8;
}


/* For Reports view */

.is__reports-view {
    padding: 15px;
}

.is__reports-menu {
    background-color: white;
    padding-bottom: 15px;
}

.is__reports-dashboard {
    background-color: white;
    padding-bottom: 15px;
}

.is__reports-menu-title {
    font-size: 20px;
    background-color: #575756;
    font-weight: 700;
    color: #dddddd;
    text-align: center;
}

.is__reports-graph {
    background-color: white;
    padding-bottom: 15px;
}

.is__reports-graph-title-sub {
    font-size: 16px;
}

.is__reports-graph-title-header {
    font-size: 20px;
    font-weight: 700;
}

.is__reports-graph-title-row {
    background-color: #575756;
    color: #dddddd;
    padding: 5px;
}

.is__input-validation-error {
    color: #a94442;
    border-color: #a94442;
    background-color: #f2dede;
}

.is__map-layer-legend-container {
    position: absolute;
    right: calc(250px + 100px);
    bottom: 60px;
    border-radius: 5px;
    box-shadow: 2px 2px 10px rgba(0, 0, 0, 0.3);
    margin-right: 8px;
    padding: 6px;
    background-color: #ffffff;
}

.is__map-layer-legend-title {
    font-size: 12px;
    font-weight: 700;
    padding-bottom: 4px;
    color: rgb(149, 150, 154);
}

.is__map-layer-legend {
    display: inline-block;
}

.is__map-layer-legend-item {
    height: 18px;
}

.is__map-layer-legend-value {
    position: relative;
    bottom: 5px;
    font-size: 10px;
    color: rgb(149, 150, 154);
}

.is__map-layer-legend-color {
    width: 20px;
    height: 18px;
    fill-opacity: 0.8;
}

.is__map-point-of-interest {
    background: #ff3300;
    border-radius: 50%;
}

.contextmenu-item-remove::before {
    color: red !important;
}


@media (max-width: 991px) {
    .navbar-header {
        float: none;
    }
    .navbar-left,.navbar-right {
        float: none !important;
    }
    .navbar-toggle {
        display: block;
    }
    .navbar-collapse {
        width: inherit;
        border-top: 1px solid transparent;
        -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1);
                box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1);
    }
    .navbar-fixed-top {
        top: 0;
        border-width: 0 0 1px;
    }
    .navbar-collapse.collapse {
        display: none!important;
    }
    .navbar-nav {
        float: none!important;
        margin-top: 7.5px;
    }
    .navbar-nav > li {
        float: none;
    }
    .navbar-nav > li > a {
        padding-top: 10px;
        padding-bottom: 10px;
    }
    .collapse.in {
        display:block !important;
    }
    .container > .navbar-header,
    .container-fluid > .navbar-header,
    .container > .navbar-collapse,
    .container-fluid > .navbar-collapse {
        margin-right: -15px;
        margin-left: -15px;
    }
    .navbar-text {
        float: none;
    }
}
.navbar > .container .navbar-brand,
.navbar > .container-fluid .navbar-brand {
    margin-left: 0;
    cursor: default;
}

.vert-scroll {
    overflow-y: auto;
}
.max-height {
    max-height: 400px;
}
@media (min-height: 1000px) {
    .max-height {
        max-height: 600px;
    }
}
@media (min-height: 1200px) {
    .max-height {
        max-height: 70vh;
    }
}
.modal-with-sidebar {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: flex-start;
    align-items: stretch;
}
.modal-with-sidebar > .modal-sidebar {
    flex-basis: auto;
    flex-grow: 0;
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    justify-content: flex-start;
    align-items: stretch;
    background-color: #ECF0F1E8;
}
.modal-with-sidebar > .modal-sidebar > .modal-tab {
    display: block;
    flex-basis: auto;
    flex-grow: 0;
    flex-shrink: 0;
    font-weight: bold;
    text-align: start;
    padding: 10px;
    background-color: transparent;
    color: #0A89CE;
    cursor: pointer;
}
.modal-with-sidebar > .modal-sidebar > .modal-tab:hover {
    background-color: #d3d7d8e8;
}
.modal-with-sidebar > .modal-sidebar > .modal-tab.active {
    background-color: #0A89CE;
    color: white;
}
.modal-with-sidebar > .modal-sidebar > .modal-tab.error {
    text-decoration-line: underline;
    text-decoration-style: wavy;
    color: white;
    text-decoration-color: red;
    font-style: italic;
    background-color: #da9e9e;
}
.modal-with-sidebar > .modal-sidebar > .modal-tab.error.active {
    background-color: #af7f7f;
}
.modal-with-sidebar > .modal-sidebar > .modal-tab.error:hover {
    background-color: #af7f7f;
}
.modal-with-sidebar > .modal-sidebar > .modal-tab::after {
    content: attr(data-text);
}
.modal-with-sidebar > .modal-sidebar > .modal-tab-separator {
    border-top: 1px solid #999;
    margin: initial;
}
.modal-with-sidebar > .modal-sidebar > .add-new-indicator-button-container {
    display: flex;
    flex-flow: row nowrap;
    justify-content: flex-end;
    margin-right: 47px; /* +/- buttons (16) + trash icon (31) */
}
.modal-with-sidebar > .modal-body {
    flex-basis: auto;
    flex-grow: 1;
    flex-shrink: 1;
}
.modal-tab-content {
    display: grid;
}
.modal-tab-content > div {
    grid-row: 1;
    grid-column: 1;
    visibility: hidden;
}
.modal-tab-content > div.active {
    visibility: visible;
}
.modal-tab-content > div > * {
    display: block;
    margin-bottom: 10px;
}
.modal-tab-content label,
label.label-and-value-per-line {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: flex-start;
    align-items: baseline;
    margin-bottom: 10px;
    font-weight: inherit;
}
.modal-tab-content label > div:first-child,
label.label-and-value-per-line > div:first-child {
    flex-basis: 50%;
    flex-shrink: 0;
    flex-grow: 0;
    margin-right: 2em;
}
.modal-tab-content label > div:last-child,
label.label-and-value-per-line  > div:last-child {
    flex-basis: auto;
    flex-shrink: 1;
    flex-grow: 1;
}
.modal-tab-content .parameter-by-mode-list {
    display: flex;
    width: 100%;
    flex-flow: row wrap;
    justify-content: space-between;
}
.modal-tab-content .parameter-by-mode-list > div {
    display: flex;
    min-width: 250px;
    flex-flow: row nowrap;
    align-items: baseline;
    margin-bottom: 10px;
}
.modal-tab-content .parameter-by-mode-list > div > div:first-child {
    flex: 1 1 auto;
    width: 100%;
}
.modal-tab-content .parameter-by-mode-list + .add-new-mode-button-container, .modal-tab-content .parameter-by-mode-list + .add-new-mode-indicator-button-container {
    display: flex;
    flex-flow: row nowrap;
    justify-content: flex-end;
    margin-right: 47px; /* +/- buttons (16) + trash icon (31) */
}
.transport-type-item-content {
    display: flex;
    flex-direction: row;
    align-items: baseline;
    flex-grow: 1;
}
.custom-transport-modes-header {
    margin-bottom: 10px;
}
.is__custom-transport-mode-elem {
    display: flex;
    flex-direction: column;
    margin-bottom: 5px;
}
.custom-transport-mode-elem-content {
    display: flex;
    flex-direction: row;
}
.custom-transport-mode-elem-name {
    flex-grow: 1;
    flex-shrink: 1;
}
.custom-transport-mode-elem-buttons {
    display: flex;
    justify-content: right;
    padding-left: 15px;
    column-gap: 6px;
}
ul.errors-and-warnings {
    display: block;
    list-style-type: none;
    margin: 20px 0 0 0;
    padding: 0;
}
ul.errors-and-warnings > li {
    display: block;
    color: red;
}
ul.errors-and-warnings > li:first-child {
    border-top: 1px solid red;
}
ul.errors-and-warnings > li::before {
    content: '‣ ';
}
div.fix-spinner {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: flex-start;
    align-items: stretch;
    flex-grow: 1;
}
div.fix-spinner > input[type=number]::-webkit-inner-spin-button,
div.fix-spinner > input[type=number]::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0;
}
div.fix-spinner > input[type=number] {
    -moz-appearance: textfield;
    flex-grow: 0;
    flex-shrink: 0;
    width: auto;
    inline-size: 5ch; /* 2 (base) + 2 (padding) + 3 (number 100 is 3 chars) */
}
div.fix-spinner > div.buttons {
    flex-grow: 0;
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    justify-content: center;
    align-items: stretch;
    width: 16px;
    border: 1px solid #CCC;
    border-radius: 4px;
    visibility: hidden;
}
div.fix-spinner:hover > div.buttons,
div.fix-spinner > input[type=number]:active ~ div.buttons,
div.fix-spinner > input[type=number]:focus ~ div.buttons {
    visibility: visible;
}
/*div.fix-spinner > div.buttons:active {
    visibility: visible;
}*/
div.fix-spinner > div.buttons > div.up,
div.fix-spinner > div.buttons > div.down {
    flex-grow: 1;
    flex-shrink: 1;
    text-align: center;
    line-height: 1;
    cursor: pointer;
}
div.fix-spinner > div.buttons > div.up:active,
div.fix-spinner > div.buttons > div.down:active {
    background-color: #0A89CE;
    color: white;
}
div.fix-spinner > div.buttons > div.up {
    border-bottom: 1px solid #CCC;
}
div.fix-spinner > div.buttons > div.up::after {
    content: "+";
}
div.fix-spinner > div.buttons > div.down::after {
    content: "−";
}
div.fix-spinner[data-unit] > div.unit {
    align-self: center;
    text-align: left;
    width: 4ch; /* 3 chars + padding left 1 char */
    margin-left: -5ch; /* 1 char from the right side */
    margin-right: 1ch; /* compensate the one char added above */
    color: inherit;
    cursor: text;
}
div.fix-spinner[data-unit] > input[type=number] {
    padding-left: 6px;
    padding-right: 5.3ch; /* the margin-left from above + 0.3 */
    inline-size: 12ch; /* 2 (base) + 3 (number 100 is 3 chars) + 5 (padding-right) + 2 */
    text-align: right;
}
div.fix-spinner[data-unit] > input[type=number]:active + div.unit,
div.fix-spinner[data-unit] > input[type=number]:focus + div.unit {
    color: #ccc;
}

.nav-tabs > li.active > a {
    color: white;
    background-color: #0A89CE;
}
.nav-tabs > li.active > a:hover {
    color: white;
    background-color: #055682;
}
.nav-tabs > li > a::after {
    content: attr(data-text);
}
.modal-content label > div.colorpicker-component {
    inline-size: 15ch;
}
div.colorpicker-visible {
    z-index: 1000000;
}
.colorpicker-influence-area {
    display: inline-block;
}
.colorpicker-influence-area .colorpicker-inline {
    box-shadow: none;
    border: none;
}
.colorpicker-influence-area .colorpicker-selectors {
    background-color: transparent !important;
    height: 20px;
}
.colorpicker-influence-area .colorpicker-selectors i {
    width: 20px;
    height: 20px;
}
.classic-modal-content > form label {
    font-weight: inherit;
}
.apply-to-whole-route-btn {
    margin-top: 5px;
    font-size: 90%;
}
#userPreferences,
#userMenu {
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 50%;
    top: 7px;
    height: 36px;
    width: 36px;
    background-color: transparent;
    transition: color 200ms cubic-bezier(0.4,0.0,0.2,1),
        background 200ms cubic-bezier(0.4,0.0,0.2,1),
        box-shadow 400ms cubic-bezier(0.4,0.0,0.2,1);
}
#userPreferences[aria-expanded=false]:hover,
#userMenu[aria-expanded=false]:hover {
    background-color: #a8a8a8;
}
#userPreferences[aria-expanded=false]:active,
#userPreferences[aria-expanded=true],
#userMenu[aria-expanded=false]:active,
#userMenu[aria-expanded=true] {
    background-color: #0A89CE;
}
#userPreferences > span,
#userMenu > span {
    color: white;
}
li.is__top-menu-right-elements-container {
    display: flex;
    top: 7px;
}
li.is__top-menu-right-elements-container > div > a[role=button],
#topmenu-user {
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 50%;
    height: 36px;
    width: 36px;
    margin: 0;
    font-size: 120%;
    background-color: transparent;
    transition: color 200ms cubic-bezier(0.4,0.0,0.2,1),
        background 200ms cubic-bezier(0.4,0.0,0.2,1),
        box-shadow 400ms cubic-bezier(0.4,0.0,0.2,1);
}
li.is__top-menu-right-elements-container > div > a[role=button]:hover {
    color: white;
    background-color: #a8a8a8;
    text-decoration: none;
}
li.is__top-menu-right-elements-container > div > a[role=button]:active {
    color: white;
    background-color: #0A89CE;
    text-decoration: none;
}
@media (max-width: 991px) {
    #userPreferences,
    li.is__top-menu-right-elements-container {
        top: 0;
    }
}
@media (min-width: 768px) and (max-width: 991px) {
    .navbar-right .dropdown-menu.user-preferences-dropdown,
    .navbar-right .dropdown-menu.user-menu-dropdown {
        left: 0;
        right: auto;
        margin-top: 5px;
    }
}
.navbar-nav > li > .dropdown-menu,
#navbarUser > .dropdown-menu {
    border-radius: 4px;
    border: 1px solid rgba(121, 121, 121, 0.15);
    margin-top: -4px;
}
.transport-mode-dropdown {
    max-height: 300px;
    overflow-y: auto;
}
.mapboxgl-ctrl-scale {
    position: absolute;
    bottom: 17px;
    right: 100px;
}
.is__route-menu-glass-panel {
    background-color: rgba(125, 125, 125, 0.4);
    position: fixed;
    top: 115px;
    width: 250px;
    height: 100%;
    z-index: 10;
}

.is__coef {
    flex: 0 0 4ch;
    text-align: right;
}

.is__coef-input {
    flex: 0 0 10ch;
    text-align: right;
}

.is__plus-sign {
    flex: 0 0 2ch;
    text-align: center;
}

.is__multiply-by {
    flex: 0 0 2ch;
    text-align: center;
}

.is__variable {
    flex: 0 0 8ch;
    text-align: left;
}
