﻿@import url(https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,300;0,400;0,500;0,700;1,400;1,500;1,700&display=swap);

.nav-tabs-dark {
    border-bottom: 1px solid #5b5a57
}

    .nav-tabs-dark .nav-link {
        text-decoration: none !important
    }

        .nav-tabs-dark .nav-link:not(.active) {
            color: #c1c0bf
        }

            .nav-tabs-dark .nav-link:not(.active):hover {
                border: 1px solid #5b5a57
            }

        .nav-tabs-dark .nav-link.active {
            background-color: #3f3f3d;
            color: #fff;
            border: 1px solid #5b5a57;
            border-bottom: 1px solid #3f3f3d
        }

.table tr:nth-child(odd) {
    background: #f4f3f2 !important
}

.table tr:nth-child(2n) {
    background: #fff !important
}

.table tr {
    border-bottom: none
}

.table th {
    background: #3f3f3d;
    color: #fff
}

.border-1 {
    border-width: 1px !important
}

.border-2 {
    border-width: 2px !important
}

.border-3 {
    border-width: 3px !important
}

.border-4 {
    border-width: 4px !important
}

.border-5 {
    border-width: 5px !important
}

.d-flex[style*="display:none"], .d-flex[style*="display: none"] {
    display: none !important
}

.st-header-tabs {
    margin-top: .25rem;
    border-bottom: .5rem solid #3f3f3d
}

    .st-header-tabs ul {
        padding-left: .5rem
    }

.validation-error-wrap ul {
    margin: 1rem 0
}

    .validation-error-wrap ul:before {
        content: "Errors:"
    }

button:disabled, input[type=button]:disabled {
    background: #f4f3f2 !important;
    border: #f4f3f2 !important;
    color: #c1c0bf !important;
    cursor: not-allowed
}

.cursor-pointer {
    cursor: pointer !important
}

div.st-map-control {
    padding-right: 0 !important
}

.nav-link {
    display: flex;
    align-items: center
}

.ui-widget {
    font-family: Roboto,Verdana,Geneva,sans-serif !important
}

.ui-dialog {
    background: #f8f8f8 !important
}

.ui-datepicker {
    background: #fff;
    border: 1px solid #c1c0bf;
    border-radius: 4px;
    box-shadow: 0 4px 8px rgba(0,0,0,.4)
}

.ui-datepicker-header {
    background: #3f3f3d;
    border-radius: 4px;
    color: #fff;
    font-weight: 700
}

.ui-datepicker-next {
    position: relative
}

    .ui-datepicker-next:before {
        color: #ffc655 !important;
        position: absolute;
        left: 11px;
        top: 4px;
        font-family: Font Awesome\ 5 Free;
        content: "\F0DA"
    }

.ui-datepicker-prev {
    position: relative
}

    .ui-datepicker-prev:before {
        color: #ffc655 !important;
        position: absolute;
        left: 11px;
        top: 4px;
        font-family: Font Awesome\ 5 Free;
        content: "\F0D9"
    }

.ui-datepicker-calendar {
    border-collapse: separate !important;
    border-spacing: 2px
}

    .ui-datepicker-calendar tbody {
        font-size: 18px
    }

        .ui-datepicker-calendar tbody .ui-state-active {
            background: #ffc655 !important
        }

        .ui-datepicker-calendar tbody .ui-state-highlight {
            position: relative
        }

            .ui-datepicker-calendar tbody .ui-state-highlight:after {
                content: " ";
                width: 6px;
                height: 6px;
                border-radius: 3px;
                background: #c1c0bf;
                position: absolute;
                bottom: 2px;
                left: 14px
            }

        .ui-datepicker-calendar tbody td {
            background: #f4f3f2;
            border-radius: 4px;
            margin: .2rem
        }

            .ui-datepicker-calendar tbody td:hover {
                background: #e3e2e1
            }

            .ui-datepicker-calendar tbody td a {
                display: block;
                width: 100%;
                height: 100%
            }

        .ui-datepicker-calendar tbody .ui-datepicker-week-end a {
            color: #898888 !important
        }

.ui-dialog-titlebar-close {
    background: url("/Content/img/st-icon-black-times-16x16.png") 50%
}

.select2-selection {
    margin-top: 6px !important;
    height: 36px !important
}

.select2-selection__rendered {
    padding-top: 3px
}

.select2-selection__arrow {
    top: 10px !important
}

.select2-results__options {
    margin-top: -6px !important;
    margin-bottom: -6px !important
}

.select2-dropdown--below {
    padding-top: 6px !important;
    padding-bottom: 6px !important
}

.H_ui * {
    box-sizing: content-box !important
}

.H_ui .here-maps-tooltip {
    position: relative;
    opacity: 1;
    background: #2d2c2b;
    text-align: left;
    padding-left: 6px
}

.here-maps-tooltip {
    font-size: 14px !important
}

.st-map-bubble {
    opacity: 0
}

.opacity-100 {
    opacity: 1
}

.homeMarker {
    left: calc(-100% + 154px) !important
}

    .homeMarker:before {
        position: absolute;
        top: 50%;
        transform: translateY(calc(50% - 54px));
        width: 14px;
        height: 28px;
        left: -144px;
        content: url("/Content/img/map/ib-left-tail.png")
    }

    .homeMarker .H_ib_body {
        bottom: 0 !important;
        transform: translate(-2px,calc(50% - 30px));
        margin-left: 20px
    }

    .homeMarker .H_ib_tail {
        display: none
    }

.districtMarker {
    left: calc(-100% + 154px) !important
}

    .districtMarker:before {
        position: absolute;
        top: 50%;
        transform: translateY(calc(50% - 28px));
        width: 14px;
        height: 28px;
        left: -144px;
        content: url("/Content/img/map/ib-left-tail.png")
    }

    .districtMarker .H_ib_body {
        bottom: 0 !important;
        transform: translate(-2px,50%);
        margin-left: 20px
    }

    .districtMarker .H_ib_tail {
        display: none
    }

.alertMarker {
    left: calc(-100% + 154px) !important
}

    .alertMarker:before {
        position: absolute;
        top: 50%;
        transform: translateY(calc(50% - 28px));
        width: 14px;
        height: 28px;
        left: -144px;
        content: url("/Content/img/map/ib-left-tail.png")
    }

    .alertMarker .H_ib_body {
        bottom: 0 !important;
        transform: translate(-2px,50%);
        margin-left: 20px
    }

    .alertMarker .H_ib_tail {
        display: none
    }

.svgMarker {
    left: calc(-100% + 158px) !important
}

    .svgMarker:before {
        position: absolute;
        top: 50%;
        transform: translateY(-22px);
        width: 14px;
        height: 28px;
        left: -144px;
        content: url("/Content/img/map/ib-left-tail.png")
    }

    .svgMarker .H_ib_body {
        bottom: 0 !important;
        transform: translate(-2px,20%);
        margin-left: 20px
    }

    .svgMarker .H_ib_tail {
        display: none
    }

.H_ib_content {
    max-width: 100px
}

.st-mc-filter-card {
    background: #f5fafc;
    position: relative;
    border: 1px solid #007bff
}

    .st-mc-filter-card .st-mc-filter-card-header {
        background: #e3e2e1
    }

    .st-mc-filter-card.active {
        background: #f4f3f2;
        border: 1px solid #c1c0bf
    }

    .st-mc-filter-card.not-active .st-mc-filter-card-header {
        background: #f5fafc;
        position: relative
    }

        .st-mc-filter-card.not-active .st-mc-filter-card-header:after {
            font-family: Font Awesome\ 5 Free;
            font-weight: 900;
            content: "\F0D7";
            right: 8px;
            top: 8px;
            position: absolute;
            z-index: 99
        }

        .st-mc-filter-card.not-active .st-mc-filter-card-header:hover {
            background: #d6ebff !important;
            cursor: pointer
        }

.st-mc-delay-badges .badge {
    font-size: 1rem
}

.rollout-header td {
    vertical-align: middle !important
}

.minutesdelayedplaceholder {
    background: #ff8383;
    color: #490808
}

.minutesdelayedplaceholder, .minutesstartingsoonplaceholder {
    border-radius: 8px;
    padding: 1px 8px;
    text-align: center;
    font-weight: 700;
    display: block;
    width: 70px;
    align-items: center
}

.minutesstartingsoonplaceholder {
    background: #ffe2a1;
    color: #4c2906
}

.minuteslabel {
    font-size: 11px;
    font-weight: 500
}

.minutesvalue {
    height: 20px
}

.st-table tbody .rollout-header-past-time td {
    background: #ef3030 !important;
    color: #fff !important
}

.st-table tbody .rollout-header-start-soon td {
    background: #ffb000 !important;
    color: #000 !important
}

.st-table tbody .rollout-header-start-hour td {
    background: #c1c0bf !important;
    color: #000 !important
}

.st-tier-list {
    padding-left: 0;
    list-style: none
}

    .st-tier-list li {
        cursor: pointer;
        display: flex;
        border-left: 6px solid hsla(0,0%,100%,0)
    }

        .st-tier-list li:not(:last-child) {
            border-bottom: 1px solid #e3e2e1
        }

        .st-tier-list li:hover {
            background: #d6ebff
        }

        .st-tier-list li .st-tier-list-item-status-indicator > div:first-child, .st-tier-list li .st-tier-list-item-status-indicator > div:last-child {
            width: 4px;
            background: #c1c0bf;
            flex-grow: 1
        }

        .st-tier-list li .st-tier-list-item-status-indicator > div:nth-child(2) {
            display: flex;
            flex-grow: 0;
            flex-shrink: 0;
            border-radius: 999px;
            width: 32px;
            height: 32px;
            align-items: center;
            justify-content: center;
            text-align: center;
            line-height: 1.2;
            color: #fff;
            border: 2px solid #c1c0bf
        }

        .st-tier-list li.breakdown-tier .st-tier-list-item-status-indicator > div:first-child, .st-tier-list li.completed-tier .st-tier-list-item-status-indicator > div:first-child, .st-tier-list li.completed-tier .st-tier-list-item-status-indicator > div:last-child {
            background: #007bff
        }

        .st-tier-list li.completed-tier .st-tier-list-item-status-indicator > div:nth-child(2) {
            background: #007bff;
            border: none
        }

        .st-tier-list li.active {
            background: #fff9eb;
            border-left: 6px solid #ffb000
        }

        .st-tier-list li.on-route-tier .st-tier-list-item-status-indicator > div:first-child {
            background: #007bff
        }

        .st-tier-list li.on-route-tier .st-tier-list-item-status-indicator > div:nth-child(2) {
            border: none
        }

        .st-tier-list li:first-child .st-tier-list-item-status-indicator > div:first-child, .st-tier-list li:last-child .st-tier-list-item-status-indicator > div:last-child {
            visibility: hidden
        }

.st-tier-list-item-status-indicator {
    display: flex;
    flex-direction: column;
    align-items: center;
    flex-grow: 0;
    flex-shrink: 0;
    width: 52px
}

.route-activity-stop-list .ui-state-highlight {
    background: #5b5a57 !important;
    border: none !important;
    height: 87px
}

.st-highlight-table tr:nth-of-type(odd), .st-highlight-table tr:nth-of-type(odd) td {
    background: #f8f8f8 !important
}

.st-highlight-table tr:hover, .st-highlight-table tr:hover td {
    background: #f4f3f2 !important
}

.st-highlight-table tr.st-highlighted-row, .st-highlight-table tr.st-highlighted-row td {
    background: #fff0cf !important
}

    .st-highlight-table tr.st-highlighted-row:hover, .st-highlight-table tr.st-highlighted-row:hover td {
        background: #ffe2a1 !important
    }

.st-route-activity-details > .tab-pane {
    overflow: auto;
    height: 100%
}

.st-view-header-sub-nav {
    display: flex;
    padding-left: 0;
    list-style: none;
    margin-bottom: 0
}

    .st-view-header-sub-nav li {
        margin-right: 6px
    }

        .st-view-header-sub-nav li a {
            padding: 4px 10px;
            color: #c1c0bf !important;
            background: #3f3f3d;
            border-radius: 4px;
            font-size: 14px;
            font-weight: 700
        }

            .st-view-header-sub-nav li a:hover {
                color: #fff !important;
                text-decoration: none !important
            }

            .st-view-header-sub-nav li a.active {
                color: #000 !important;
                background: #ffb000 !important
            }

.seating-configuration .seating-configuration-footer, .seating-configuration .seating-configuration-header, .st-seat-config-tools .seating-configuration-footer, .st-seat-config-tools .seating-configuration-header {
    display: grid;
    grid-template-columns: 54px 332px 54px;
    align-items: center
}

.seating-configuration .seating-configuration-header-title, .st-seat-config-tools .seating-configuration-header-title {
    background: #e3e2e1;
    font-weight: 700;
    padding-top: 24px;
    padding-bottom: 8px;
    flex-grow: 1
}

.seating-configuration .seating-configuration-footer-title, .st-seat-config-tools .seating-configuration-footer-title {
    background: #e3e2e1;
    font-weight: 700;
    padding-top: 8px;
    padding-bottom: 24px;
    flex-grow: 1
}

.seating-configuration .seat-row, .st-seat-config-tools .seat-row {
    display: grid;
    grid-template-columns: 54px 166px 166px 54px;
    align-items: center
}

.seating-configuration .seat-number, .st-seat-config-tools .seat-number {
    font-weight: 700
}

.seating-configuration .seat, .st-seat-config-tools .seat {
    width: 166px;
    height: 51px;
    background-color: #e3e2e1;
    background-image: url("/Content/img/seatingconfiguration/seat-icon-3-seat.png");
    background-repeat: no-repeat;
    font-size: 14px;
    position: relative
}

    .seating-configuration .seat .empty-seat-actions, .seating-configuration .seat .seat-actions, .st-seat-config-tools .seat .empty-seat-actions, .st-seat-config-tools .seat .seat-actions {
        display: none
    }

.seating-configuration .seat-wheelchair, .seating-configuration .seat-wheelchair-lift, .st-seat-config-tools .seat-wheelchair, .st-seat-config-tools .seat-wheelchair-lift {
    position: absolute;
    width: 166px;
    height: 104px;
    bottom: -2px;
    left: 0;
    background-image: url("/Content/img/seatingconfiguration/wheelchair-seat.png");
    background-repeat: no-repeat;
    background-position-x: 16px
}

    .seating-configuration .seat-wheelchair-lift .seat-actions, .seating-configuration .seat-wheelchair .seat-actions, .st-seat-config-tools .seat-wheelchair-lift .seat-actions, .st-seat-config-tools .seat-wheelchair .seat-actions {
        margin-top: 34px !important
    }

.seating-configuration .seat-wheelchair-lift, .st-seat-config-tools .seat-wheelchair-lift {
    background-image: url("/Content/img/seatingconfiguration/wheelchair-lift.png")
}

.seating-configuration .seat-2, .st-seat-config-tools .seat-2 {
    background-image: url("/Content/img/seatingconfiguration/seat-icon-2-seat.png")
}

.seating-configuration .seat-empty, .st-seat-config-tools .seat-empty {
    background-image: url("/Content/img/seatingconfiguration/seat-icon-empty.png")
}

.seating-configuration .seat-left, .st-seat-config-tools .seat-left {
    background-position: top 0 left 16px
}

    .seating-configuration .seat-left.seat-2, .st-seat-config-tools .seat-left.seat-2 {
        text-align: left;
        padding-left: 20px
    }

.seating-configuration .seat-right, .st-seat-config-tools .seat-right {
    background-position: top 0 right 16px
}

    .seating-configuration .seat-right.seat-2, .st-seat-config-tools .seat-right.seat-2 {
        text-align: right;
        padding-right: 20px
    }

.seating-configuration.edit-configuration .seat:hover, .st-seat-config-tools.edit-configuration .seat:hover {
    background-image: url("/Content/img/seatingconfiguration/seat-icon-3-seat-hover.png")
}

    .seating-configuration.edit-configuration .seat:hover .seat-actions, .st-seat-config-tools.edit-configuration .seat:hover .seat-actions {
        display: block
    }

.seating-configuration.edit-configuration .seat .empty-seat-actions, .seating-configuration.edit-configuration .seat .seat-actions, .st-seat-config-tools.edit-configuration .seat .empty-seat-actions, .st-seat-config-tools.edit-configuration .seat .seat-actions {
    display: none
}

.seating-configuration.edit-configuration .seat-2:hover, .st-seat-config-tools.edit-configuration .seat-2:hover {
    background-image: url("/Content/img/seatingconfiguration/seat-icon-2-seat-hover.png")
}

.seating-configuration.edit-configuration .seat-empty:hover, .st-seat-config-tools.edit-configuration .seat-empty:hover {
    background-image: url("/Content/img/seatingconfiguration/seat-icon-empty-hover.png")
}

    .seating-configuration.edit-configuration .seat-empty:hover .empty-seat-actions, .st-seat-config-tools.edit-configuration .seat-empty:hover .empty-seat-actions {
        display: block
    }

    .seating-configuration.edit-configuration .seat-empty:hover .seat-actions, .st-seat-config-tools.edit-configuration .seat-empty:hover .seat-actions {
        display: none
    }

.seating-configuration.edit-configuration .seat-actions, .st-seat-config-tools.edit-configuration .seat-actions {
    margin-top: 9px
}

    .seating-configuration.edit-configuration .seat-actions button, .st-seat-config-tools.edit-configuration .seat-actions button {
        background: #ef3030;
        border-radius: 9999px;
        border: none;
        color: #fff;
        font-weight: 700;
        padding-top: 3px;
        padding-bottom: 3px
    }

        .seating-configuration.edit-configuration .seat-actions button:hover, .st-seat-config-tools.edit-configuration .seat-actions button:hover {
            background: #c61d1d
        }

    .seating-configuration.edit-configuration .seat-actions i, .st-seat-config-tools.edit-configuration .seat-actions i {
        opacity: .6;
        margin-right: 4px;
        font-size: 11px
    }

.seating-configuration.edit-configuration .empty-seat-actions, .st-seat-config-tools.edit-configuration .empty-seat-actions {
    margin-top: 9px
}

    .seating-configuration.edit-configuration .empty-seat-actions button, .st-seat-config-tools.edit-configuration .empty-seat-actions button {
        background: #81d322;
        border-radius: 9999px;
        border: none;
        color: #fff;
        font-weight: 700;
        padding-top: 3px;
        padding-bottom: 3px
    }

        .seating-configuration.edit-configuration .empty-seat-actions button:hover, .st-seat-config-tools.edit-configuration .empty-seat-actions button:hover {
            background: #5ea012
        }

    .seating-configuration.edit-configuration .empty-seat-actions i, .st-seat-config-tools.edit-configuration .empty-seat-actions i {
        opacity: .8;
        font-size: 11px
    }

.seating-configuration.edit-configuration .seat-wheelchair-lift:hover, .seating-configuration.edit-configuration .seat-wheelchair:hover, .st-seat-config-tools.edit-configuration .seat-wheelchair-lift:hover, .st-seat-config-tools.edit-configuration .seat-wheelchair:hover {
    background-image: url("/Content/img/seatingconfiguration/wheelchair-seat-hover.png")
}

    .seating-configuration.edit-configuration .seat-wheelchair-lift:hover .seat-actions, .seating-configuration.edit-configuration .seat-wheelchair:hover .seat-actions, .st-seat-config-tools.edit-configuration .seat-wheelchair-lift:hover .seat-actions, .st-seat-config-tools.edit-configuration .seat-wheelchair:hover .seat-actions {
        display: block
    }

.seating-configuration.edit-configuration .seat-wheelchair-lift .seat-actions, .seating-configuration.edit-configuration .seat-wheelchair .seat-actions, .st-seat-config-tools.edit-configuration .seat-wheelchair-lift .seat-actions, .st-seat-config-tools.edit-configuration .seat-wheelchair .seat-actions {
    margin-top: 34px !important;
    display: none
}

    .seating-configuration.edit-configuration .seat-wheelchair-lift .seat-actions button, .seating-configuration.edit-configuration .seat-wheelchair .seat-actions button, .st-seat-config-tools.edit-configuration .seat-wheelchair-lift .seat-actions button, .st-seat-config-tools.edit-configuration .seat-wheelchair .seat-actions button {
        background: #ef3030;
        border-radius: 9999px;
        border: none;
        color: #fff;
        font-weight: 700;
        padding-top: 3px;
        padding-bottom: 3px
    }

        .seating-configuration.edit-configuration .seat-wheelchair-lift .seat-actions button:hover, .seating-configuration.edit-configuration .seat-wheelchair .seat-actions button:hover, .st-seat-config-tools.edit-configuration .seat-wheelchair-lift .seat-actions button:hover, .st-seat-config-tools.edit-configuration .seat-wheelchair .seat-actions button:hover {
            background: #c61d1d
        }

    .seating-configuration.edit-configuration .seat-wheelchair-lift .seat-actions i, .seating-configuration.edit-configuration .seat-wheelchair .seat-actions i, .st-seat-config-tools.edit-configuration .seat-wheelchair-lift .seat-actions i, .st-seat-config-tools.edit-configuration .seat-wheelchair .seat-actions i {
        opacity: .6;
        margin-right: 4px;
        font-size: 11px
    }

.seating-configuration.edit-configuration .seat-wheelchair-lift:hover, .st-seat-config-tools.edit-configuration .seat-wheelchair-lift:hover {
    background-image: url("/Content/img/seatingconfiguration/wheelchair-lift-hover.png")
}

.seating-configuration .add-wheelchair-btn, .st-seat-config-tools .add-wheelchair-btn {
    background: url("/Content/img/seatingconfiguration/wheelchair-seat.png") no-repeat 50%;
    width: 134px;
    height: 96px;
    position: relative;
    padding-top: 23px
}

    .seating-configuration .add-wheelchair-btn .empty-seat-actions, .st-seat-config-tools .add-wheelchair-btn .empty-seat-actions {
        display: none
    }

    .seating-configuration .add-wheelchair-btn:hover, .st-seat-config-tools .add-wheelchair-btn:hover {
        background: url("/Content/img/seatingconfiguration/wheelchair-seat-empty-hover.png") no-repeat 50%
    }

        .seating-configuration .add-wheelchair-btn:hover .empty-seat-actions, .st-seat-config-tools .add-wheelchair-btn:hover .empty-seat-actions {
            display: block
        }

.seating-configuration .add-wheelchair-lift-btn, .st-seat-config-tools .add-wheelchair-lift-btn {
    background: url("/Content/img/seatingconfiguration/wheelchair-lift.png") no-repeat 50%;
    width: 134px;
    height: 96px;
    position: relative;
    padding-top: 23px
}

    .seating-configuration .add-wheelchair-lift-btn .empty-seat-actions, .st-seat-config-tools .add-wheelchair-lift-btn .empty-seat-actions {
        display: none
    }

    .seating-configuration .add-wheelchair-lift-btn:hover, .st-seat-config-tools .add-wheelchair-lift-btn:hover {
        background: url("/Content/img/seatingconfiguration/wheelchair-lift-empty-hover.png") no-repeat 50%
    }

        .seating-configuration .add-wheelchair-lift-btn:hover .empty-seat-actions, .st-seat-config-tools .add-wheelchair-lift-btn:hover .empty-seat-actions {
            display: block
        }

.seating-configuration .seat-add-wheelchair, .seating-configuration .seat-add-wheelchair-lift, .st-seat-config-tools .seat-add-wheelchair, .st-seat-config-tools .seat-add-wheelchair-lift {
    position: absolute;
    width: 166px;
    height: 104px;
    bottom: -2px;
    left: 0;
    background-image: url("/Content/img/seatingconfiguration/wheelchair-seat-empty-hover.png");
    background-repeat: no-repeat;
    background-position-x: 16px;
    opacity: 0
}

    .seating-configuration .seat-add-wheelchair-lift:hover, .seating-configuration .seat-add-wheelchair:hover, .st-seat-config-tools .seat-add-wheelchair-lift:hover, .st-seat-config-tools .seat-add-wheelchair:hover {
        opacity: 1
    }

    .seating-configuration .seat-add-wheelchair-lift .empty-seat-actions, .seating-configuration .seat-add-wheelchair .empty-seat-actions, .st-seat-config-tools .seat-add-wheelchair-lift .empty-seat-actions, .st-seat-config-tools .seat-add-wheelchair .empty-seat-actions {
        margin-top: 34px !important;
        display: block
    }

        .seating-configuration .seat-add-wheelchair-lift .empty-seat-actions button, .seating-configuration .seat-add-wheelchair .empty-seat-actions button, .st-seat-config-tools .seat-add-wheelchair-lift .empty-seat-actions button, .st-seat-config-tools .seat-add-wheelchair .empty-seat-actions button {
            background: #81d322;
            border-radius: 9999px;
            border: none;
            color: #fff;
            font-weight: 700;
            padding-top: 3px;
            padding-bottom: 3px
        }

            .seating-configuration .seat-add-wheelchair-lift .empty-seat-actions button:hover, .seating-configuration .seat-add-wheelchair .empty-seat-actions button:hover, .st-seat-config-tools .seat-add-wheelchair-lift .empty-seat-actions button:hover, .st-seat-config-tools .seat-add-wheelchair .empty-seat-actions button:hover {
                background: #5ea012
            }

        .seating-configuration .seat-add-wheelchair-lift .empty-seat-actions i, .seating-configuration .seat-add-wheelchair .empty-seat-actions i, .st-seat-config-tools .seat-add-wheelchair-lift .empty-seat-actions i, .st-seat-config-tools .seat-add-wheelchair .empty-seat-actions i {
            opacity: .8;
            font-size: 11px
        }

.seating-configuration .seat-add-wheelchair-lift, .st-seat-config-tools .seat-add-wheelchair-lift {
    background-image: url("/Content/img/seatingconfiguration/wheelchair-lift-empty-hover.png")
}

.independent-dashboard-value-wrap {
    display: inline-flex;
    align-items: center;
    padding: 12px 20px;
    background: #3f3f3d;
    border-radius: 8px;
    font-weight: 700;
    margin-bottom: 10px;
    margin-right: 10px
}

.independent-dashboard-value-title {
    color: #ffc655
}

.independent-dashboard-value {
    line-height: 1.2;
    font-size: 2rem;
    margin-right: 10px
}

.dashboard-tile.clickable-tile:hover {
    background: #d6ebff !important;
    border: 1px solid #007bff;
    cursor: pointer
}

#resequenceFAQs {
    padding-left: 0
}

    #resequenceFAQs li {
        padding: 1rem;
        list-style: none;
        background-color: #f4f3f2;
        border-top: 1px solid #c1c0bf;
        border-left: 1px solid #c1c0bf;
        border-right: 1px solid #c1c0bf;
        color: #161616;
        cursor: grab
    }

        #resequenceFAQs li:first-child {
            border-radius: 4px 4px 0 0
        }

        #resequenceFAQs li:last-child {
            border-radius: 0 0 4px 4px;
            border-bottom: 1px solid #c1c0bf
        }

.st-list {
    padding: 0
}

    .st-list li {
        background: #f8f8f8;
        border-bottom: 1px solid #c1c0bf;
        display: flex;
        list-style: none;
        align-items: center;
        padding: .5rem .25rem
    }

        .st-list li.st-list-item-add {
            display: flex;
            padding: 0;
            border-bottom: 1px solid #007bff
        }

            .st-list li.st-list-item-add button {
                padding: 1rem .75rem;
                border-radius: 0;
                background: #d6ebff;
                color: #007bff;
                font-weight: 700;
                text-align: center
            }

        .st-list li .btn-link {
            text-decoration: none
        }

        .st-list li .st-list-item-details {
            flex-grow: 1;
            display: flex;
            align-items: center
        }

        .st-list li .st-list-item-actions {
            flex-shrink: 0
        }

.st-area-image-folders li {
    margin-bottom: .5rem
}

    .st-area-image-folders li:hover {
        cursor: pointer;
        background: #d6ebff;
        border: 1px solid #007bff !important
    }

.st-area-images .selected-image {
    border: 3px solid #9a14cc;
    padding: 0 !important;
    -webkit-box-shadow: 0 0 8px rgba(154,20,204,.6) !important;
    -moz-box-shadow: 0 0 8px rgba(154,20,204,.6) !important;
    box-shadow: 0 0 8px rgba(154,20,204,.6) !important
}

.st-area-images > .st-area-image {
    margin-right: .25rem;
    margin-bottom: .25rem;
    max-width: 216px;
    display: inline-block;
    padding: 3px;
    cursor: pointer
}

    .st-area-images > .st-area-image img {
        max-width: 210px
    }

.resequence-list {
    padding-left: 0;
    font-weight: 700;
    list-style: none
}

    .resequence-list li {
        background: #f8f8f8;
        border-bottom: 1px solid #c1c0bf;
        height: 60px;
        display: flex;
        align-items: center;
        cursor: grab
    }

.resequence-list-numbers {
    padding-left: 0;
    font-weight: 700;
    color: #ffc655;
    list-style: none
}

    .resequence-list-numbers li {
        background: #3f3f3d;
        border-bottom: 1px solid #c1c0bf;
        width: 60px;
        height: 60px;
        display: flex;
        align-items: center;
        justify-content: center
    }

.action-menu {
    width: 180px;
    box-shadow: 0 .5rem 1rem rgba(0,0,0,.15) !important
}

    .action-menu ul {
        border-top: 1px solid #5b5a57
    }

    .action-menu li {
        padding: .5rem 1rem;
        border-bottom: 1px solid #5b5a57;
        color: #58afff
    }

        .action-menu li:hover {
            cursor: pointer;
            background: #2d2c2b;
            color: #aad6ff
        }

.st-inspection-section-item {
    color: #161616
}

    .st-inspection-section-item.clickable:hover {
        background: #f4f3f2;
        cursor: pointer;
        color: #007bff
    }

    .st-inspection-section-item.active {
        background: #ffc655 !important
    }

.main-nav-action-menu {
    border-radius: .25rem 0 .25rem .25rem !important
}

.main-nav-action-menu-btn {
    border-radius: .25rem
}

    .main-nav-action-menu-btn.active {
        background: #f8f8f8 !important;
        color: #2d2c2b !important;
        border-radius: .25rem .25rem 0 0 !important
    }

        .main-nav-action-menu-btn.active:hover {
            color: #2d2c2b !important
        }

.hor-nav a, .hor-nav li {
    position: relative;
    bottom: 3px
}

#activitymap {
    background: #f4f3f2
}

    #activitymap > div {
        float: right
    }

    #activitymap div {
        box-sizing: initial;
        background-repeat: no-repeat
    }

    #activitymap * {
        cursor: default
    }

.st-label {
    color: #2d2c2b !important
}

#searchFormOpener {
    cursor: pointer;
    background: #3f3f3d
}

    #searchFormOpener:hover {
        background: #007bff
    }

.feedback-bubble {
    z-index: 999
}

#editGeofenceHelperText {
    display: none
}

header {
    z-index: 999
}

.route-details-tab a {
    color: #007bff !important
}

.nav.nav-tabs .nav-link {
    margin-bottom: -1px;
    margin-bottom: 0 !important
}

body {
    font-family: Roboto,Verdana,Geneva,sans-serif
}

.text-xs {
    font-size: 11px
}

.text-small {
    font-size: 14px
}

.text-base {
    font-size: 18px
}

.text-large {
    font-size: 21px
}

.text-xl {
    font-size: 28px
}

.text-2xl {
    font-size: 36px
}

.text-3xl {
    font-size: 48px
}

.text-4xl {
    font-size: 60px
}

.text-5xl {
    font-size: 84px
}

.font-light {
    font-weight: 300
}

.font-regular {
    font-weight: 400
}

.font-semi-bold {
    font-weight: 500
}

.font-bold {
    font-weight: 700
}

p.text-xs {
    margin-bottom: .25rem;
    line-height: 1.2
}

.alert-danger {
    border-color: #ef3030;
    background-color: #fff0f0;
    color: #960f0f
}

.alert-warning {
    border-color: #ffb000;
    background-color: #fff9eb;
    color: #4c2906
}

.alert-success {
    border-color: #81d322;
    background-color: #f8ffef;
    color: #273f06
}

.alert-info {
    border-color: #58afff;
    background-color: #f5fafc;
    color: #002e60
}

.alert-purple {
    border-color: #be5be3;
    background-color: #fcf3ff;
    color: #420b5b
}

.border-dotted-2 {
    border-width: 2px;
    border-style: dashed
}

.st-alert {
    display: flex;
    flex-direction: column;
    border: 1px solid green;
    border-radius: 4px
}

.st-alert-header {
    padding: 8px 16px;
    border-radius: 4px 4px 0 0;
    display: flex;
    align-items: center;
    flex-direction: row
}

.st-alert-body {
    border-radius: 0 0 4px 4px;
    padding: 16px
}

.st-alert-title {
    font-weight: 700;
    margin-bottom: 0
}

.st-alert-status-icon {
    margin-right: 8px
}

.st-alert-success {
    color: #273f06;
    background: #f8ffef;
    border: 1px solid #81d322
}

    .st-alert-success .st-alert-header {
        background: #edffd6
    }

        .st-alert-success .st-alert-header .st-alert-status-icon {
            color: #5ea012
        }

        .st-alert-success .st-alert-header ~ .st-alert-body {
            border-top: 1px solid #81d322
        }

.st-alert-warning {
    color: #4c2906;
    background: #fff9eb;
    border: 1px solid #ffb000
}

    .st-alert-warning .st-alert-header {
        background: #fff0cf
    }

        .st-alert-warning .st-alert-header .st-alert-status-icon {
            color: #bf7600
        }

        .st-alert-warning .st-alert-header ~ .st-alert-body {
            border-top: 1px solid #ffb000
        }

.st-alert-danger {
    color: #490808;
    background: #fff0f0;
    border: 1px solid #ef3030
}

    .st-alert-danger .st-alert-header {
        background: #ffcdcd
    }

        .st-alert-danger .st-alert-header .st-alert-status-icon {
            color: #c61d1d
        }

        .st-alert-danger .st-alert-header ~ .st-alert-body {
            border-top: 1px solid #ef3030
        }

.st-alert-info {
    color: #002e60;
    background: #f5fafc;
    border: 1px solid #007bff
}

    .st-alert-info .st-alert-header {
        background: #d6ebff
    }

        .st-alert-info .st-alert-header .st-alert-status-icon {
            color: #005ec2
        }

        .st-alert-info .st-alert-header ~ .st-alert-body {
            border-top: 1px solid #007bff
        }

.badge-warning {
    background: #ffe2a1;
    color: #4c2906
}

.badge-info {
    background: #aad6ff;
    color: #002e60
}

.badge-success {
    background: #d1f8a0;
    color: #273f06
}

.badge-danger {
    background: #ff8383;
    color: #490808
}

.badge-secondary {
    background: #e3e2e1;
    color: #2d2c2b
}

.badge-purple, .badge-secondary-warning {
    background: #dda5f2;
    color: #420b5b
}

.badge-gray-500 {
    background: #898888;
    color: #fff
}

.badge-gray-900 {
    background: #161616;
    color: #fff
}

.badge-black {
    background: #000;
    color: #fff
}

.badge-orange {
    background: #ff952c;
    color: #6e3700
}

.badge-outbound, .badge-teal {
    background: #0ac7ad;
    color: #fff
}

.badge-blue-600, .badge-inbound {
    background: #005ec2;
    color: #fff
}

.st-route-type-badge {
    font-weight: 500;
    border-radius: .25rem;
    padding: .125rem .5rem
}

    .st-route-type-badge.inbound {
        background: #0071bc;
        color: #fff
    }

    .st-route-type-badge.outbound {
        background: #0ac7ad;
        color: #fff
    }

.modal-header {
    background: #2d2c2b;
    color: #fff;
    border-bottom: 4px solid #ffb000;
    border-top-left-radius: .2rem;
    border-top-right-radius: .2rem
}

.modal-title {
    font-weight: 300
}

.modal-close-icon {
    width: 20px;
    height: 20px
}

.modal.fade {
    opacity: 1
}

    .modal.fade .modal-dialog {
        -webkit-transform: translate(0);
        -moz-transform: translate(0);
        transform: translate(0)
    }

.modal-dialog.animated {
    -webkit-animation-duration: .2s;
    animation-duration: .2s;
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both
}

.modal {
    background-color: transparent;
    transition: background-color .25s ease-out
}

    .modal.show {
        background-color: rgba(0,0,0,.5)
    }

.modal-backdrop {
    display: none
}

.modal-backdrop-transparent {
    background-color: transparent;
    opacity: 0;
    z-index: 900
}

.modal-backdrop-primary, .modal-backdrop-transparent {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%
}

.modal-backdrop-primary {
    background-color: rgba(0,0,0,.8);
    opacity: .6;
    z-index: 1040
}

.modal-transition {
    transition: all .4s ease
}

.modal-content {
    box-shadow: 0 2px 4px rgba(68,68,68,.6) !important;
    border: none !important;
    max-height: calc(100vh - 56px)
}

.modal-header {
    cursor: grab
}

.st-default-modal-dialog .modal-body {
    max-height: 100% !important;
    overflow: auto
}

.st-tooltip-link {
    color: #898888;
    cursor: help;
    font-size: 18px;
    text-align: middle;
    margin-left: 8px
}

    .st-tooltip-link:hover {
        color: #007bff
    }

.st-tab.active {
    color: #2d2c2b;
    border-bottom: 3px solid #007bff
}

.form-control.is-invalid, .input-validation-error {
    border-color: #dc3545;
    padding-right: 2.25rem;
    background-repeat: no-repeat;
    background-position: center right 0.5625rem;
    background-size: 1.125rem 1.125rem;
    background-image: none
}

label.is-invalid {
    width: 100%;
    margin-top: .25rem;
    font-size: 80%;
    color: #dc3545
}

.input-validation-error:focus, .is-invalid:focus {
    border-color: rgba(220,53,69,.8);
    outline: 0;
    -webkit-box-shadow: 0 0 8px rgba(220,53,69,.6) !important;
    -moz-box-shadow: 0 0 8px rgba(220,53,69,.6) !important;
    box-shadow: 0 0 8px rgba(220,53,69,.6) !important
}

.dropdown-validation-error {
    border-color: #dc3545
}

    .dropdown-validation-error:focus {
        border-color: rgba(220,53,69,.8);
        outline: 0;
        -webkit-box-shadow: 0 0 8px rgba(220,53,69,.6) !important;
        -moz-box-shadow: 0 0 8px rgba(220,53,69,.6) !important;
        box-shadow: 0 0 8px rgba(220,53,69,.6) !important
    }

.custom-invalid-feedback, .field-validation-error {
    width: 100%;
    margin-top: .25rem;
    font-size: 80%;
    color: #dc3545
}

.custom-select.input-validation-error, .custom-select.is-invalid {
    background: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3E%3Cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3E%3C/svg%3E") no-repeat right .75rem center/8px 10px
}

.btn:focus, .btn:hover, button:focus, input:focus, select:focus, textarea:focus {
    -webkit-box-shadow: 0 0 8px rgba(0,123,255,.6) !important;
    -moz-box-shadow: 0 0 8px rgba(0,123,255,.6) !important;
    box-shadow: 0 0 8px rgba(0,123,255,.6) !important
}

.btn.btn-a-link:focus, .btn.btn-a-link:hover, .btn.btn-link:focus, .btn.btn-link:hover, .btn:disabled {
    -webkit-box-shadow: none !important;
    -moz-box-shadow: none !important;
    box-shadow: none !important
}

.st-label {
    font-size: .85rem;
    color: #898888;
    margin-bottom: 0
}

.validation-summary.validation-summary-errors ul {
    padding-left: 0;
    margin-bottom: 0;
    list-style: none
}

.loader-wrap {
    width: 64px;
    height: 32px;
    background: #fff;
    top: -2px;
    left: -2px;
    z-index: 999
}

.loader {
    border: 4px solid rgba(0,123,255,.2);
    border-radius: 50%;
    border-top: 4px solid #007bff !important;
    width: 24px;
    height: 24px;
    -webkit-animation: spin 1s linear infinite;
    animation: spin 1s linear infinite;
    margin: auto
}

@-webkit-keyframes spin {
    0% {
        -webkit-transform: rotate(0deg)
    }

    to {
        -webkit-transform: rotate(1turn)
    }
}

@keyframes spin {
    0% {
        transform: rotate(0deg)
    }

    to {
        transform: rotate(1turn)
    }
}

.st-link-danger {
    color: #ef3030 !important
}

    .st-link-danger:hover {
        color: #960f0f !important
    }

.btn-a-link {
    padding: 0;
    color: #007bff
}

.btn-danger-link {
    color: #ef3030 !important
}

    .btn-danger-link:hover {
        color: #960f0f
    }

.btn-a-link:hover {
    color: #005ec2;
    text-decoration: underline
}

.btn-outline-primary {
    background: #d6ebff
}

.btn-outline-success {
    background: #edffd6
}

.btn-outline-danger {
    background: #ffcdcd
}

.btn-primary:disabled {
    background: #c1c0bf;
    border: #c1c0bf
}

.st-img-btn {
    background: #d6ebff;
    border: 1px solid #007bff;
    padding: 1rem;
    text-align: center;
    border-radius: .25rem !important;
    color: #00438b;
    cursor: pointer
}

    .st-img-btn:hover {
        background: #007bff;
        color: #fff
    }

.btn-icon-left {
    padding-left: 38px !important;
    background-image: url("/Content/img/map/st-icon-center-map-20x20.png");
    transition: all .15s ease-in-out
}

    .btn-icon-left, .btn-icon-left:hover {
        background-position: 12px 8px;
        background-repeat: no-repeat
    }

        .btn-icon-left:hover {
            background-image: url("/Content/img/map/st-icon-center-map-hover-20x20.png")
        }

.btn.icon-passthrough {
    background-image: url("/Content/img/map/st-icon-passthrough-blue-20x20.png") !important
}

    .btn.icon-passthrough:hover {
        background-image: url("/Content/img/map/st-icon-passthrough-20x20.png") !important
    }

.btn-icon-center-map {
    padding-left: 28px !important;
    background-image: url("/Content/img/map/st-icon-center-map-hover-20x20.png");
    background-position: 12px 8px;
    background-repeat: no-repeat;
    transition: all .15s ease-in-out
}

.st-main-nav li {
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none
}

    .st-main-nav li:hover {
        color: #fff;
        cursor: pointer
    }

.st-main-nav-link:hover {
    color: #fff !important;
    cursor: pointer
}

.st-main-nav-section-nav {
    font-weight: 700
}

    .st-main-nav-section-nav ul:not(:last-child) {
        margin-right: 2.5rem
    }

    .st-main-nav-section-nav li {
        margin-bottom: .35rem
    }

    .st-main-nav-section-nav a {
        color: #ffc655 !important
    }

.st-main-nav-sub-category {
    font-size: 14px;
    color: #898888
}

.st-active-nav-item {
    color: #ffc655 !important;
    background: #2d2c2b
}

.st-custom-radio [type=radio] {
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0
}

    .st-custom-radio [type=radio] + img {
        cursor: pointer
    }

    .st-custom-radio [type=radio]:checked + img {
        outline: 2px solid red
    }

    .st-custom-radio [type=radio] + div {
        cursor: pointer;
        color: #007bff;
        background: #fff;
        border: 1px solid #007bff;
        border-radius: .25rem;
        padding: 1rem
    }

        .st-custom-radio [type=radio] + div:hover {
            background: #f5fafc;
            color: #007bff
        }

    .st-custom-radio [type=radio]:checked + div {
        background: #fcf3ff;
        color: #9a14cc;
        border-color: #9a14cc
    }

.st-radio {
    align-items: center;
    display: flex;
    align-content: flex-start
}

.st-radio__label {
    flex-grow: 1
}

.st-radio__input {
    opacity: 0;
    position: absolute;
    z-index: -1
}

.st-radio__container {
    display: flex;
    align-items: center;
    justify-content: center;
    background: 30px 30px #f4f3f2;
    border: 1px solid #c1c0bf;
    padding: 1px;
    border-radius: 15px;
    width: 30px;
    height: 30px;
    transition: background-color .3s ease;
    margin-left: auto;
    cursor: pointer
}

:checked + .st-radio__container {
    background-color: #007bff;
    border-color: #007bff
}

.st-radio__container.st-radio__on {
    background-color: #fff;
    border-color: #007bff
}

    .st-radio__container.st-radio__on .st-radio__knob {
        background-color: #007bff
    }

.st-radio__knob {
    display: block;
    background-color: #fff;
    border-radius: 50%;
    height: 20px;
    width: 20px;
    transition: transform .3s ease
}

.custom-lg-radio {
    display: block;
    position: relative;
    padding-left: 35px;
    margin-bottom: 12px;
    cursor: pointer;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none
}

    .custom-lg-radio input {
        position: absolute;
        opacity: 0;
        cursor: pointer
    }

    .custom-lg-radio:hover input ~ .checkmark {
        background-color: #ccc
    }

    .custom-lg-radio input:checked ~ .checkmark {
        background-color: #2196f3
    }

    .custom-lg-radio .checkmark:after {
        content: "";
        position: absolute;
        display: none
    }

    .custom-lg-radio input:checked ~ .checkmark:after {
        display: block
    }

    .custom-lg-radio .checkmark:after {
        top: 9px;
        left: 9px;
        width: 8px;
        height: 8px;
        border-radius: 50%;
        background: #fff
    }

.st-sticky-search {
    background-color: rgba(63,63,61,0);
    transition: background-color .3s
}

    .st-sticky-search.st-sticky-search-active {
        background-color: #3f3f3d
    }

div.st-search-form-container {
    border-right: 3px solid #c1c0bf;
    width: 300px;
    flex-grow: 0 !important;
    flex-shrink: 0 !important
}

.search-form-opener {
    cursor: pointer;
    background: #3f3f3d
}

    .search-form-opener:hover {
        background: #007bff
    }

.snack-success {
    border-color: #aeec66 !important
}

    .snack-success .snack-status-icon-success {
        display: block !important
    }

.snack-warning {
    border-color: #ffc655 !important
}

    .snack-warning .snack-status-icon-warning {
        display: block !important
    }

.snack-danger {
    border-color: #fa5252 !important
}

    .snack-danger .snack-status-icon-danger {
        display: block !important
    }

.snack-info {
    border-color: #58afff !important
}

    .snack-info .snack-status-icon-info {
        display: block !important
    }

.slide-in-from-right {
    animation: slide-in-from-right .5s forwards
}

.slide-in-from-right, .slide-out-to-right {
    -webkit-animation: slide-in-from-right .5s forwards
}

.slide-out-to-right {
    animation: slide-out-to-right .5s forwards
}

@keyframes slide-in-from-right {
    0% {
        transform: translateX(0)
    }

    to {
        transform: translateX(-100%)
    }
}

@-webkit-keyframes slide-in-from-right {
    0% {
        -webkit-transform: translateX(0)
    }

    to {
        -webkit-transform: translateX(-100%)
    }
}

@keyframes slide-out-to-right {
    0% {
        transform: translateX(-100%);
        opacity: 1
    }

    to {
        transform: translateX(0);
        opacity: 0
    }
}

@-webkit-keyframes slide-out-to-right {
    0% {
        -webkit-transform: translateX(-100%);
        opacity: 1
    }

    to {
        -webkit-transform: translateX(0);
        opacity: 0
    }
}

.st-details-table td:first-child {
    color: #5b5a57;
    width: 33%
}

.st-details-table td:nth-child(2) {
    font-weight: 700;
    width: 67%
}

.st-table thead th {
    background: #3f3f3d;
    color: #fff
}

.st-table tbody th {
    background: #5b5a57 !important;
    color: #f4f3f2 !important
}

.st-table.st-table-fixed-header {
    position: relative;
    top: -1px
}

    .st-table.st-table-fixed-header th {
        position: sticky;
        top: -1px
    }

.st-table.st-table-dark td, .st-table.st-table-dark th {
    border-top: 1px solid #5b5a57;
    border-bottom-style: none
}

.st-table.st-table-dark tr {
    background: #3f3f3d !important
}

.st-table-fixed-header th {
    border-top: none !important
}

th.order {
    cursor: default
}

    th.order.order-ascending:after {
        font-family: Font Awesome\ 5 Free;
        content: "\F30C";
        color: #898888;
        padding: 6px
    }

    th.order.order-descending:after {
        font-family: Font Awesome\ 5 Free;
        content: "\F309";
        color: #898888;
        padding: 6px
    }

.st-toggle {
    align-items: center;
    display: flex;
    align-content: flex-start
}

.st-toggle__label {
    flex-grow: 1
}

.st-toggle__input {
    opacity: 0;
    position: absolute;
    z-index: -1
}

.st-toggle__container {
    display: block;
    background: 61px 30px #c1c0bf;
    padding: 1px;
    border-radius: 15px;
    height: 30px;
    transition: background-color .3s ease;
    width: 61px;
    margin-left: auto;
    cursor: pointer
}

:focus + .st-toggle__container {
    -webkit-box-shadow: 0 0 8px rgba(0,123,255,.6) !important;
    -moz-box-shadow: 0 0 8px rgba(0,123,255,.6) !important;
    box-shadow: 0 0 8px rgba(0,123,255,.6) !important
}

.st-toggle__container.st-toggle__on, :checked + .st-toggle__container {
    background-color: #007bff;
    border-color: #007bff
}

    .st-toggle__container.st-toggle__on .st-toggle__knob {
        transform: translateX(31px)
    }

.st-toggle__container.st-toggle__small {
    width: 41px;
    height: 20px
}

    .st-toggle__container.st-toggle__small .st-toggle__knob {
        height: 18px !important;
        width: 18px !important
    }

    .st-toggle__container.st-toggle__small.st-toggle__on .st-toggle__knob, :checked + .st-toggle__container > .st-toggle__container.st-toggle__small.st-toggle__on {
        transform: translateX(21px) !important
    }

.st-toggle__knob {
    display: block;
    background-color: #fff;
    border-radius: 50%;
    box-shadow: 0 1px 3px 0 rgba(0,0,0,.3);
    height: 28px;
    width: 28px;
    transition: transform .3s ease
}

:checked + .st-toggle__container > .st-toggle__knob {
    transform: translateX(31px)
}

.text-gray-100 {
    color: #f8f8f8 !important
}

.text-gray-200 {
    color: #f4f3f2 !important
}

.text-gray-300 {
    color: #e3e2e1 !important
}

.text-gray-400 {
    color: #c1c0bf !important
}

.text-gray-500 {
    color: #898888 !important
}

.text-gray-600 {
    color: #5b5a57 !important
}

.text-gray-700 {
    color: #3f3f3d !important
}

.text-gray-800 {
    color: #2d2c2b !important
}

.text-gray-900 {
    color: #161616 !important
}

.text-yellow-100 {
    color: #fff9eb !important
}

.text-yellow-200 {
    color: #fff0cf !important
}

.text-yellow-300 {
    color: #ffe2a1 !important
}

.text-yellow-400 {
    color: #ffc655 !important
}

.text-yellow-500 {
    color: #ffb000 !important
}

.text-yellow-600 {
    color: #bf7600 !important
}

.text-yellow-700 {
    color: #7f4909 !important
}

.text-yellow-800 {
    color: #4c2906 !important
}

.text-yellow-900 {
    color: #281504 !important
}

.text-green-100 {
    color: #f8ffef !important
}

.text-green-200 {
    color: #edffd6 !important
}

.text-green-300 {
    color: #d1f8a0 !important
}

.text-green-400 {
    color: #aeec66 !important
}

.text-green-500 {
    color: #81d322 !important
}

.text-green-600 {
    color: #5ea012 !important
}

.text-green-700 {
    color: #40660e !important
}

.text-green-800 {
    color: #273f06 !important
}

.text-green-900 {
    color: #0b1402 !important
}

.text-red-100 {
    color: #fff0f0 !important
}

.text-red-200 {
    color: #ffcdcd !important
}

.text-red-300 {
    color: #ff8383 !important
}

.text-red-400 {
    color: #fa5252 !important
}

.text-red-500 {
    color: #ef3030 !important
}

.text-red-600 {
    color: #c61d1d !important
}

.text-red-700 {
    color: #960f0f !important
}

.text-red-800 {
    color: #490808 !important
}

.text-red-900 {
    color: #2d0b09 !important
}

.text-blue-100 {
    color: #f5fafc !important
}

.text-blue-200 {
    color: #d6ebff !important
}

.text-blue-300 {
    color: #aad6ff !important
}

.text-blue-400 {
    color: #58afff !important
}

.text-blue-500 {
    color: #007bff !important
}

.text-blue-600 {
    color: #005ec2 !important
}

.text-blue-700 {
    color: #00438b !important
}

.text-blue-800 {
    color: #002e60 !important
}

.text-blue-900 {
    color: #001933 !important
}

.text-purple-100 {
    color: #fcf3ff !important
}

.text-purple-200 {
    color: #f4d8ff !important
}

.text-purple-300 {
    color: #dda5f2 !important
}

.text-purple-400 {
    color: #be5be3 !important
}

.text-purple-500 {
    color: #9a14cc !important
}

.text-purple-600 {
    color: #720aa3 !important
}

.text-purple-700 {
    color: #57067c !important
}

.text-purple-800 {
    color: #420b5b !important
}

.text-purple-900 {
    color: #2c0b3d !important
}

.bg-gray-100 {
    background-color: #f8f8f8 !important
}

.bg-gray-200 {
    background-color: #f4f3f2 !important
}

.bg-gray-300 {
    background-color: #e3e2e1 !important
}

.bg-gray-400 {
    background-color: #c1c0bf !important
}

.bg-gray-500 {
    background-color: #898888 !important
}

.bg-gray-600 {
    background-color: #5b5a57 !important
}

.bg-gray-700 {
    background-color: #3f3f3d !important
}

.bg-gray-800 {
    background-color: #2d2c2b !important
}

.bg-gray-900 {
    background-color: #161616 !important
}

.bg-yellow-100 {
    background-color: #fff9eb !important
}

.bg-yellow-200 {
    background-color: #fff0cf !important
}

.bg-yellow-300 {
    background-color: #ffe2a1 !important
}

.bg-yellow-400 {
    background-color: #ffc655 !important
}

.bg-yellow-500 {
    background-color: #ffb000 !important
}

.bg-yellow-600 {
    background-color: #bf7600 !important
}

.bg-yellow-700 {
    background-color: #7f4909 !important
}

.bg-yellow-800 {
    background-color: #4c2906 !important
}

.bg-yellow-900 {
    background-color: #281504 !important
}

.bg-green-100 {
    background-color: #f8ffef !important
}

.bg-green-200 {
    background-color: #edffd6 !important
}

.bg-green-300 {
    background-color: #d1f8a0 !important
}

.bg-green-400 {
    background-color: #aeec66 !important
}

.bg-green-500 {
    background-color: #81d322 !important
}

.bg-green-600 {
    background-color: #5ea012 !important
}

.bg-green-700 {
    background-color: #40660e !important
}

.bg-green-800 {
    background-color: #273f06 !important
}

.bg-green-900 {
    background-color: #0b1402 !important
}

.bg-red-100 {
    background-color: #fff0f0 !important
}

.bg-red-200 {
    background-color: #ffcdcd !important
}

.bg-red-300 {
    background-color: #ff8383 !important
}

.bg-red-400 {
    background-color: #fa5252 !important
}

.bg-red-500 {
    background-color: #ef3030 !important
}

.bg-red-600 {
    background-color: #c61d1d !important
}

.bg-red-700 {
    background-color: #960f0f !important
}

.bg-red-800 {
    background-color: #490808 !important
}

.bg-red-900 {
    background-color: #2d0b09 !important
}

.bg-blue-100 {
    background-color: #f5fafc !important
}

.bg-blue-200 {
    background-color: #d6ebff !important
}

.bg-blue-300 {
    background-color: #aad6ff !important
}

.bg-blue-400 {
    background-color: #58afff !important
}

.bg-blue-500 {
    background-color: #007bff !important
}

.bg-blue-600 {
    background-color: #005ec2 !important
}

.bg-blue-700 {
    background-color: #00438b !important
}

.bg-blue-800 {
    background-color: #002e60 !important
}

.bg-blue-900 {
    background-color: #001933 !important
}

.bg-purple-100 {
    background-color: #fcf3ff !important
}

.bg-purple-200 {
    background-color: #f4d8ff !important
}

.bg-purple-300 {
    background-color: #dda5f2 !important
}

.bg-purple-400 {
    background-color: #be5be3 !important
}

.bg-purple-500 {
    background-color: #9a14cc !important
}

.bg-purple-600 {
    background-color: #720aa3 !important
}

.bg-purple-700 {
    background-color: #57067c !important
}

.bg-purple-800 {
    background-color: #420b5b !important
}

.bg-purple-900 {
    background-color: #2c0b3d !important
}

.border-gray-100 {
    border-color: #f8f8f8 !important
}

.border-gray-200 {
    border-color: #f4f3f2 !important
}

.border-gray-300 {
    border-color: #e3e2e1 !important
}

.border-gray-400 {
    border-color: #c1c0bf !important
}

.border-gray-500 {
    border-color: #898888 !important
}

.border-gray-600 {
    border-color: #5b5a57 !important
}

.border-gray-700 {
    border-color: #3f3f3d !important
}

.border-gray-800 {
    border-color: #2d2c2b !important
}

.border-gray-900 {
    border-color: #161616 !important
}

.border-yellow-100 {
    border-color: #fff9eb !important
}

.border-yellow-200 {
    border-color: #fff0cf !important
}

.border-yellow-300 {
    border-color: #ffe2a1 !important
}

.border-yellow-400 {
    border-color: #ffc655 !important
}

.border-yellow-500 {
    border-color: #ffb000 !important
}

.border-yellow-600 {
    border-color: #bf7600 !important
}

.border-yellow-700 {
    border-color: #7f4909 !important
}

.border-yellow-800 {
    border-color: #4c2906 !important
}

.border-yellow-900 {
    border-color: #281504 !important
}

.border-green-100 {
    border-color: #f8ffef !important
}

.border-green-200 {
    border-color: #edffd6 !important
}

.border-green-300 {
    border-color: #d1f8a0 !important
}

.border-green-400 {
    border-color: #aeec66 !important
}

.border-green-500 {
    border-color: #81d322 !important
}

.border-green-600 {
    border-color: #5ea012 !important
}

.border-green-700 {
    border-color: #40660e !important
}

.border-green-800 {
    border-color: #273f06 !important
}

.border-green-900 {
    border-color: #0b1402 !important
}

.border-red-100 {
    border-color: #fff0f0 !important
}

.border-red-200 {
    border-color: #ffcdcd !important
}

.border-red-300 {
    border-color: #ff8383 !important
}

.border-red-400 {
    border-color: #fa5252 !important
}

.border-red-500 {
    border-color: #ef3030 !important
}

.border-red-600 {
    border-color: #c61d1d !important
}

.border-red-700 {
    border-color: #960f0f !important
}

.border-red-800 {
    border-color: #490808 !important
}

.border-red-900 {
    border-color: #2d0b09 !important
}

.border-blue-100 {
    border-color: #f5fafc !important
}

.border-blue-200 {
    border-color: #d6ebff !important
}

.border-blue-300 {
    border-color: #aad6ff !important
}

.border-blue-400 {
    border-color: #58afff !important
}

.border-blue-500 {
    border-color: #007bff !important
}

.border-blue-600 {
    border-color: #005ec2 !important
}

.border-blue-700 {
    border-color: #00438b !important
}

.border-blue-800 {
    border-color: #002e60 !important
}

.border-blue-900 {
    border-color: #001933 !important
}

.border-purple-100 {
    border-color: #fcf3ff !important
}

.border-purple-200 {
    border-color: #f4d8ff !important
}

.border-purple-300 {
    border-color: #dda5f2 !important
}

.border-purple-400 {
    border-color: #be5be3 !important
}

.border-purple-500 {
    border-color: #9a14cc !important
}

.border-purple-600 {
    border-color: #720aa3 !important
}

.border-purple-700 {
    border-color: #57067c !important
}

.border-purple-800 {
    border-color: #420b5b !important
}

.border-purple-900 {
    border-color: #2c0b3d !important
}

.z-0 {
    z-index: 0 !important
}

.z-1 {
    z-index: 1 !important
}

.z-10 {
    z-index: 10 !important
}

.z-1000 {
    z-index: 1000 !important
}

.hide {
    display: none !important
}

.h-20 {
    height: 20% !important
}

.h-40 {
    height: 40% !important
}

.h-60 {
    height: 60% !important
}

.h-screen {
    height: 100vh
}

.min-h-screen {
    min-height: 100vh
}

.w-20 {
    width: 20% !important
}

.w-40 {
    width: 40% !important
}

.w-60 {
    width: 60% !important
}

.w-80 {
    width: 80% !important
}

.st-map-container {
    width: 100%;
    height: 100%;
    position: relative;
    background: #f4f3f2;
    color: #fff
}

.st-map-controls-container {
    height: 100%;
    position: absolute;
    display: flex;
    z-index: 2
}

.add-campus-cursor {
    cursor: url("/Content/img/map/st-map-marker-campus-add.png") 28 22,auto
}

.add-depot-cursor {
    cursor: url("/Content/img/map/st-map-marker-depot-add.png") 28 23,auto
}

.drag-cursor {
    cursor: url("/Content/img/drag-cursor.png"),auto
}

.draggable-stop-marker {
    cursor: grab
}

.add-cursor {
    cursor: url("/Content/img/map_add_marker.png"),auto
}

#st-map-controls {
    overflow-y: scroll;
    background: #3f3f3d;
    height: 100%;
    width: 410px;
    flex-grow: 1;
    color: #fff;
    user-select: none;
    -webkit-user-select: none;
    -khtml-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none
}

    #st-map-controls::-webkit-scrollbar {
        width: 17px
    }

    #st-map-controls::-webkit-scrollbar-track {
        border: 1px solid #5b5a57;
        background: #3f3f3d
    }

    #st-map-controls::-webkit-scrollbar-thumb, #st-map-controls::-webkit-scrollbar-thumb:hover {
        background: #5b5a57
    }

    #st-map-controls.controls-closed {
        width: 0 !important;
        overflow: hidden
    }

        #st-map-controls.controls-closed ~ div #st-map-controls-pin {
            display: none
        }

    #st-map-controls a {
        color: #58afff !important
    }

        #st-map-controls a:hover {
            color: #d6ebff !important
        }

    #st-map-controls .st-link-danger {
        color: #ff8383 !important
    }

        #st-map-controls .st-link-danger:hover {
            color: #ffcdcd !important
        }

#st-map-controls-nav {
    background: #2d2c2b;
    border-radius: 0 24px 24px 0;
    align-self: start;
    padding: 10px 10px 10px 0;
    display: flex;
    flex-direction: column;
    flex-grow: 0;
    max-width: 50px
}

#st-map-controls-pin {
    top: 188px;
    left: 0;
    box-sizing: border-box;
    display: flex;
    color: #fff;
    margin-top: 10px
}

    #st-map-controls-pin a {
        height: 32px;
        border-radius: 0 16px 16px 0;
        text-align: center;
        width: auto;
        display: inline-flex
    }

        #st-map-controls-pin a, #st-map-controls-pin a span.pin-text {
            color: #fff;
            white-space: nowrap;
            position: relative;
            align-items: center
        }

            #st-map-controls-pin a span.pin-text {
                padding: 4px 6px;
                height: 32px;
                z-index: 1;
                width: 0;
                overflow: hidden;
                transition: all .3s ease;
                height: 100%;
                display: flex;
                border-top-right-radius: 20px;
                border-bottom-right-radius: 20px;
                margin-left: 20px;
                padding-left: 20px;
                padding-right: 10px;
                cursor: pointer;
                background: #007bff;
                opacity: 0
            }

            #st-map-controls-pin a span.pin-icon {
                color: #fff;
                cursor: pointer;
                border-radius: 0 16px 16px 0;
                height: 100%;
                width: 2.5rem;
                display: flex;
                justify-content: center;
                align-items: center;
                position: absolute;
                z-index: 2;
                background: #007bff
            }

            #st-map-controls-pin a.pinned span.pin-icon, #st-map-controls-pin a.pinned span.pin-text {
                background: #ef3030
            }

            #st-map-controls-pin a.not-pinned i {
                transform: rotate(90deg)
            }

            #st-map-controls-pin a:hover {
                color: #fff;
                text-decoration: none;
                cursor: pointer
            }

                #st-map-controls-pin a:hover span.pin-text {
                    display: inline;
                    width: 100%;
                    opacity: 1
                }

            #st-map-controls-pin a * {
                margin: 0 auto;
                display: block
            }

.st-map-control {
    padding-right: 17px
}

.stop-list-item-details-section {
    background: #3f3f3d;
    border-radius: .2rem;
    padding: .5rem 1rem;
    margin: .5rem 1.5rem .5rem 0
}

.st-map-controls-nav-item {
    width: 40px;
    height: 32px;
    box-sizing: border-box;
    border-radius: 0 16px 16px 0;
    display: flex
}

    .st-map-controls-nav-item:not(:first-child) {
        margin-top: 10px
    }

.st-map-controls-nav-item-link {
    box-sizing: border-box;
    padding: 4px 6px;
    margin-left: 8px;
    background: #007bff;
    color: #fff !important;
    border-radius: 16px;
    display: flex;
    align-items: center;
    text-align: center;
    min-width: 32px;
    text-decoration: none
}

    .st-map-controls-nav-item-link:hover {
        color: #fff;
        text-decoration: none !important;
        background: #007bff;
        cursor: pointer
    }

    .st-map-controls-nav-item-link * {
        margin: 0 auto;
        display: block
    }

.st-map-controls-nav-item.selected {
    background: #3f3f3d
}

    .st-map-controls-nav-item.selected .st-map-controls-nav-item-link {
        background: #3f3f3d;
        color: #f4f3f2
    }

.st-map-control-title {
    background: #161616;
    color: #fff;
    font-size: 14px;
    font-weight: 500;
    padding: 2px 14px
}

.st-map-controls-layer-group-title {
    font-size: 14px;
    font-weight: 500;
    padding: 12px 14px;
    color: #ffb000;
    background: #2d2c2b
}

.st-map-controls-layer-item {
    padding: 12px 14px 12px 6px;
    color: #f4f3f2;
    display: flex;
    align-items: center;
    border-bottom: 1px solid #5b5a57
}

    .st-map-controls-layer-item:hover {
        background: #5b5a57;
        cursor: pointer
    }

    .st-map-controls-layer-item .item-title {
        flex-grow: 1;
        padding-left: 4px
    }

    .st-map-controls-layer-item.layer-visible .layer-item-visibility:after {
        content: "\F06E";
        font-family: Font Awesome\ 5 Free;
        font-weight: 900;
        font-style: normal;
        margin: 0 0 0 10px;
        text-decoration: none
    }

    .st-map-controls-layer-item.layer-invisible {
        opacity: .5
    }

        .st-map-controls-layer-item.layer-invisible .layer-item-visibility:after {
            content: "\F070";
            font-family: Font Awesome\ 5 Free;
            font-weight: 900;
            font-style: normal;
            margin: 0 0 0 10px;
            text-decoration: none
        }

.tooltip-bubble {
    color: #898888
}

    .tooltip-bubble:hover {
        color: #fff;
        cursor: help !important
    }

.roster-list-item, .stop-list-item {
    position: relative;
    padding: 12px 6px;
    border-bottom: 1px solid #5b5a57
}

    .roster-list-item .close-smart-alert-details, .roster-list-item .close-stop-details, .roster-list-item .roster-list-item-details, .roster-list-item .stop-list-item-details, .stop-list-item .close-smart-alert-details, .stop-list-item .close-stop-details, .stop-list-item .roster-list-item-details, .stop-list-item .stop-list-item-details {
        display: none
    }

    .roster-list-item .open-smart-alert-details, .roster-list-item .open-stop-details, .stop-list-item .open-smart-alert-details, .stop-list-item .open-stop-details {
        display: inline-block
    }

    .roster-list-item.selected, .stop-list-item.selected {
        background: #5b5a57;
        border-bottom: 1px solid #3f3f3d
    }

        .roster-list-item.selected .roster-list-item-details, .roster-list-item.selected .stop-list-item-details, .stop-list-item.selected .roster-list-item-details, .stop-list-item.selected .stop-list-item-details {
            display: block
        }

        .roster-list-item.selected .close-smart-alert-details, .roster-list-item.selected .close-stop-details, .stop-list-item.selected .close-smart-alert-details, .stop-list-item.selected .close-stop-details {
            display: inline-block
        }

        .roster-list-item.selected .open-smart-alert-details, .roster-list-item.selected .open-stop-details, .stop-list-item.selected .open-smart-alert-details, .stop-list-item.selected .open-stop-details {
            display: none
        }

.stop-list-item {
    position: relative
}

    .stop-list-item.not-visited {
        z-index: 99;
        background: #3f3f3d
    }

.legend-item, .legend-item * {
    cursor: help;
    user-select: none;
    -webkit-user-select: none;
    -khtml-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none
}

.stop-details-content {
    margin-left: 2rem
}

.roster-list-item {
    padding-left: 14px
}

.roster-list-item-basic-info, .stop-list-item-basic-info, .stop-number {
    display: flex;
    align-items: center
}

.stop-number {
    background: url("/Content/img/map/st-map-legend-stop-resolved.png");
    width: 56px;
    height: 60px;
    justify-content: center;
    color: #fff;
    font-weight: 700;
    flex-grow: 0;
    flex-shrink: 0;
    margin-left: 1rem;
    margin-right: 1rem;
    z-index: 2
}

    .stop-number.stop-designated {
        background: url("/Content/img/map/st-map-legend-unresolved.png") no-repeat 50%
    }

    .stop-number.stop-skipped {
        background: url("/Content/img/map/st-map-legend-stop-skipped.png") no-repeat 50%
    }

        .stop-number.stop-skipped span {
            padding-bottom: 6px
        }

    .stop-number.stop-unknown {
        background: url("/Content/img/map/st-map-legend-undesignated-stops.png") no-repeat 50%
    }

    .stop-number.campus {
        background: url("/Content/img/map/st-map-legend-campuses-resolved.png") no-repeat 50%
    }

        .stop-number.campus span {
            background: #fa5252;
            border-radius: 2rem;
            border: 2px solid #122e4c;
            padding-left: .5rem;
            padding-right: .5rem
        }

        .stop-number.campus.skipped span {
            background: #898888 !important
        }

    .stop-number.depot {
        background: url("/Content/img/map/st-map-legend-depots-resolved.png") no-repeat 50%
    }

        .stop-number.depot span {
            background: #fa5252;
            border: 2px solid #122e4c;
            border-radius: 2rem;
            padding-left: .5rem;
            padding-right: .5rem
        }

        .stop-number.depot.skipped span {
            background: #898888 !important
        }

.stop-item-menu-item {
    width: 20px !important
}

.roster-item-menu, .stop-item-menu {
    color: #c1c0bf;
    padding: 8px;
    margin: 4px;
    flex-grow: 0;
    flex-shrink: 0
}

.roster-item-menu-item, .stop-item-menu-item {
    display: inline-block;
    text-align: center
}

    .roster-item-menu-item:not(:first-child), .stop-item-menu-item:not(:first-child) {
        margin-left: 10px
    }

    .roster-item-menu-item:hover, .stop-item-menu-item:hover {
        color: #fff;
        cursor: pointer
    }

    .roster-item-menu-item.stop-skipped, .stop-item-menu-item.stop-skipped {
        opacity: 0 !important;
        cursor: default
    }

.roster-item-info, .stop-item-info {
    flex-grow: 1
}

.stop-list-item-details {
    padding-left: 56px
}

    .stop-list-item-details ul {
        list-style-type: none;
        padding-left: 0;
        margin-bottom: 0;
        padding-bottom: 12px
    }

        .stop-list-item-details ul li {
            padding: 6px 0;
            cursor: default
        }

            .stop-list-item-details ul li:not(:last-child) {
                border-bottom: 1px solid #898888
            }

.stop-entry-exit-points {
    background: #3f3f3d;
    border-radius: .2rem;
    padding: .5rem 1rem;
    margin: .5rem 1.5rem .5rem 0
}

.designated-stop-time {
    color: #898888
}

.show-smart-alerts-marker .alert-selected-text {
    display: none
}

.smart-alert-selected {
    background: #dda5f2;
    color: #420b5b;
    display: inline-block;
    padding: .25em .4em;
    font-weight: 700;
    line-height: 1;
    text-align: center;
    white-space: nowrap;
    vertical-align: baseline;
    border-radius: .25rem;
    transition: color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out
}

    .smart-alert-selected .alert-selected-text {
        display: inline !important;
        font-size: 75%
    }

    .smart-alert-selected:hover {
        color: #420b5b
    }

.st-legend-advanced-marker .st-legend-marker-details {
    display: none;
    z-index: 99
}

.st-legend-advanced-marker:hover .st-legend-marker-details {
    display: flex
}

.frozen-stop {
    background: url("/Content/img/map/st-map-legend-stop-frozen.png") no-repeat 50% !important
}

.unknown-stop {
    background: url("/Content/img/map/st-map-legend-undesignated-stops.png") no-repeat 50% !important
}

.st-map-tool-btn-selected {
    background: #fff0cf url("/Content/img/btn-active-circle-yellow-700.png") no-repeat bottom 10px right 10px !important;
    border: 1px solid #ffb000 !important;
    color: #7f4909
}

    .st-map-tool-btn-selected:hover {
        color: #7f4909 !important
    }

.st-icon {
    width: 36px;
    height: 36px;
    cursor: pointer
}

    .st-icon.st-icon-copy-stop {
        background: url("/Content/img/map/st-icon-copy-stop.png")
    }

        .st-icon.st-icon-copy-stop:hover {
            background: url("/Content/img/map/st-icon-copy-stop-hover.png")
        }

.stop-number.campus span, .stop-number.depot span {
    background: #122e4c !important;
    border: none !important;
    border-radius: 2rem;
    padding-left: .5rem;
    padding-right: .5rem
}

.st-passthrough-map-controls-nav-item, .st-stop-map-controls-nav-item {
    width: 40px;
    height: 32px;
    box-sizing: border-box;
    border-radius: 0 16px 16px 0;
    display: flex
}

    .st-passthrough-map-controls-nav-item:not(:first-child), .st-stop-map-controls-nav-item:not(:first-child) {
        margin-top: 10px
    }

    .st-passthrough-map-controls-nav-item.selected, .st-stop-map-controls-nav-item.selected {
        background: #3f3f3d
    }

        .st-passthrough-map-controls-nav-item.selected .st-map-controls-nav-item-link, .st-stop-map-controls-nav-item.selected .st-map-controls-nav-item-link {
            background: #3f3f3d;
            color: #f4f3f2
        }

.edit-stop-st-map-controls-layer-item-2, .st-map-controls-layer-item-2 {
    padding: 12px 14px 12px 6px;
    color: #f4f3f2;
    display: flex;
    align-items: center;
    border-bottom: 1px solid #5b5a57
}

    .edit-stop-st-map-controls-layer-item-2.layer-invisible, .st-map-controls-layer-item-2.layer-invisible {
        opacity: .6
    }

        .edit-stop-st-map-controls-layer-item-2.layer-invisible .edit-stop-layer-visibility-btn, .edit-stop-st-map-controls-layer-item-2.layer-invisible .layer-visibility-btn, .edit-stop-st-map-controls-layer-item-2.layer-invisible .layer-visibility-btn-passthrough, .st-map-controls-layer-item-2.layer-invisible .edit-stop-layer-visibility-btn, .st-map-controls-layer-item-2.layer-invisible .layer-visibility-btn, .st-map-controls-layer-item-2.layer-invisible .layer-visibility-btn-passthrough {
            background: url("/Content/img/map/st-icon-16x16-eye-slash.png") no-repeat 50%
        }

            .edit-stop-st-map-controls-layer-item-2.layer-invisible .edit-stop-layer-visibility-btn.layer-data-unavailable, .edit-stop-st-map-controls-layer-item-2.layer-invisible .layer-visibility-btn-passthrough.layer-data-unavailable, .edit-stop-st-map-controls-layer-item-2.layer-invisible .layer-visibility-btn.layer-data-unavailable, .st-map-controls-layer-item-2.layer-invisible .edit-stop-layer-visibility-btn.layer-data-unavailable, .st-map-controls-layer-item-2.layer-invisible .layer-visibility-btn-passthrough.layer-data-unavailable, .st-map-controls-layer-item-2.layer-invisible .layer-visibility-btn.layer-data-unavailable {
                cursor: not-allowed
            }

                .edit-stop-st-map-controls-layer-item-2.layer-invisible .edit-stop-layer-visibility-btn.layer-data-unavailable:after, .edit-stop-st-map-controls-layer-item-2.layer-invisible .layer-visibility-btn-passthrough.layer-data-unavailable:after, .edit-stop-st-map-controls-layer-item-2.layer-invisible .layer-visibility-btn.layer-data-unavailable:after, .st-map-controls-layer-item-2.layer-invisible .edit-stop-layer-visibility-btn.layer-data-unavailable:after, .st-map-controls-layer-item-2.layer-invisible .layer-visibility-btn-passthrough.layer-data-unavailable:after, .st-map-controls-layer-item-2.layer-invisible .layer-visibility-btn.layer-data-unavailable:after {
                    position: relative;
                    content: "\F071";
                    font-family: Font Awesome\ 5 Free;
                    font-weight: 900;
                    font-style: normal;
                    color: #ffc655;
                    text-decoration: none;
                    left: 12px;
                    top: 10px
                }

    .edit-stop-st-map-controls-layer-item-2 .edit-stop-layer-visibility-btn, .edit-stop-st-map-controls-layer-item-2 .layer-visibility-btn, .edit-stop-st-map-controls-layer-item-2 .layer-visibility-btn-passthrough, .st-map-controls-layer-item-2 .edit-stop-layer-visibility-btn, .st-map-controls-layer-item-2 .layer-visibility-btn, .st-map-controls-layer-item-2 .layer-visibility-btn-passthrough {
        position: relative;
        background: url("/Content/img/map/st-icon-eye-16x16.png") no-repeat 50%;
        width: 24px;
        height: 22px;
        cursor: pointer
    }

        .edit-stop-st-map-controls-layer-item-2 .edit-stop-layer-visibility-btn:hover, .edit-stop-st-map-controls-layer-item-2 .layer-visibility-btn-passthrough:hover, .edit-stop-st-map-controls-layer-item-2 .layer-visibility-btn:hover, .st-map-controls-layer-item-2 .edit-stop-layer-visibility-btn:hover, .st-map-controls-layer-item-2 .layer-visibility-btn-passthrough:hover, .st-map-controls-layer-item-2 .layer-visibility-btn:hover {
            background-color: #5b5a57 !important
        }

#st-passthrough-map-controls, #st-stop-map-controls {
    overflow-y: scroll;
    background: #3f3f3d;
    height: 100%;
    width: 300px;
    flex-grow: 1;
    color: #fff
}

    #st-passthrough-map-controls::-webkit-scrollbar, #st-stop-map-controls::-webkit-scrollbar {
        width: 17px
    }

    #st-passthrough-map-controls::-webkit-scrollbar-track, #st-stop-map-controls::-webkit-scrollbar-track {
        border: 1px solid #5b5a57;
        background: #3f3f3d
    }

    #st-passthrough-map-controls::-webkit-scrollbar-thumb, #st-passthrough-map-controls::-webkit-scrollbar-thumb:hover, #st-stop-map-controls::-webkit-scrollbar-thumb, #st-stop-map-controls::-webkit-scrollbar-thumb:hover {
        background: #5b5a57
    }

    #st-passthrough-map-controls.controls-closed ~ div #st-map-controls-pin, #st-stop-map-controls.controls-closed ~ div #st-map-controls-pin {
        display: none
    }

    #st-passthrough-map-controls a, #st-stop-map-controls a {
        color: #58afff !important
    }

        #st-passthrough-map-controls a:hover, #st-stop-map-controls a:hover {
            color: #d6ebff !important
        }

    #st-passthrough-map-controls .st-link-danger, #st-stop-map-controls .st-link-danger {
        color: #ff8383 !important
    }

        #st-passthrough-map-controls .st-link-danger:hover, #st-stop-map-controls .st-link-danger:hover {
            color: #ffcdcd !important
        }

#st-passthrough-map-controls, #st-stop-map-controls {
    user-select: none;
    -webkit-user-select: none;
    -khtml-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none
}

    #st-passthrough-map-controls.controls-closed, #st-stop-map-controls.controls-closed {
        width: 0 !important;
        overflow: hidden
    }

        #st-passthrough-map-controls.controls-closed ~ div #st-passthrough-map-controls-pin, #st-passthrough-map-controls.controls-closed ~ div #st-stop-map-controls-pin, #st-stop-map-controls.controls-closed ~ div #st-passthrough-map-controls-pin, #st-stop-map-controls.controls-closed ~ div #st-stop-map-controls-pin {
            display: none
        }

#st-passthrough-map-controls-nav, #st-stop-map-controls-nav {
    background: #2d2c2b;
    border-radius: 0 24px 24px 0;
    align-self: start;
    padding: 10px 10px 10px 0;
    display: flex;
    flex-direction: column;
    flex-grow: 0;
    max-width: 50px
}

#st-passthrough-map-controls-pin, #st-stop-map-controls-pin {
    top: 188px;
    left: 0;
    box-sizing: border-box;
    display: flex;
    color: #fff;
    margin-top: 10px
}

    #st-passthrough-map-controls-pin a, #st-stop-map-controls-pin a {
        height: 32px;
        color: #fff;
        border-radius: 0 16px 16px 0;
        text-align: center;
        white-space: nowrap;
        position: relative;
        width: auto;
        display: inline-flex;
        align-items: center
    }

        #st-passthrough-map-controls-pin a span.pin-text, #st-stop-map-controls-pin a span.pin-text {
            padding: 4px 6px;
            white-space: nowrap;
            position: relative;
            height: 32px;
            z-index: 1;
            width: 0;
            color: #fff;
            overflow: hidden;
            transition: all .3s ease;
            height: 100%;
            display: flex;
            align-items: center;
            border-top-right-radius: 20px;
            border-bottom-right-radius: 20px;
            margin-left: 20px;
            padding-left: 20px;
            padding-right: 10px;
            cursor: pointer;
            background: #007bff;
            opacity: 0
        }

        #st-passthrough-map-controls-pin a span.pin-icon, #st-stop-map-controls-pin a span.pin-icon {
            color: #fff;
            cursor: pointer;
            border-radius: 0 16px 16px 0;
            height: 100%;
            width: 2.5rem;
            display: flex;
            justify-content: center;
            align-items: center;
            position: absolute;
            z-index: 2;
            background: #007bff
        }

        #st-passthrough-map-controls-pin a.pinned span.pin-icon, #st-passthrough-map-controls-pin a.pinned span.pin-text, #st-stop-map-controls-pin a.pinned span.pin-icon, #st-stop-map-controls-pin a.pinned span.pin-text {
            background: #ef3030
        }

        #st-passthrough-map-controls-pin a.not-pinned i, #st-stop-map-controls-pin a.not-pinned i {
            transform: rotate(90deg)
        }

        #st-passthrough-map-controls-pin a:hover, #st-stop-map-controls-pin a:hover {
            color: #fff;
            text-decoration: none;
            cursor: pointer
        }

            #st-passthrough-map-controls-pin a:hover span.pin-text, #st-stop-map-controls-pin a:hover span.pin-text {
                display: inline;
                width: 100%;
                opacity: 1
            }

        #st-passthrough-map-controls-pin a *, #st-stop-map-controls-pin a * {
            margin: 0 auto;
            display: block
        }

.st-ui-container {
    background: #f8f8f8;
    width: 100%
}

    .st-ui-container .st-view-header {
        background: #2d2c2b;
        color: #fff
    }

.st-fixed-container {
    position: absolute;
    display: flex;
    flex-direction: column;
    height: 100%;
    overflow: hidden
}

    .st-fixed-container .st-view-header {
        flex-grow: 0;
        flex-shrink: 0
    }

    .st-fixed-container > * {
        overflow: auto
    }

.st-view-header-main {
    display: flex;
    align-items: center;
    padding: .5rem
}

    .st-view-header-main .st-view-header-title {
        flex-grow: 1
    }

        .st-view-header-main .st-view-header-title h1 {
            font-size: 24px;
            margin-bottom: 0 !important
        }

.st-view-body {
    min-height: calc(100vh - 163px);
    display: flex;
    background: #f8f8f8;
    overflow: hidden;
    align-items: stretch
}

    .st-view-body .tab-content {
        width: 100%
    }

        .st-view-body .tab-content .tab-pane {
            height: 100%
        }

.st-view-body-columns {
    display: flex;
    width: 100%;
    height: 100%;
    background: #f8f8f8;
    overflow: hidden
}

    .st-view-body-columns tab-pane {
        display: flex
    }

    .st-view-body-columns > * {
        flex-grow: 1;
        overflow: hidden
    }

        .st-view-body-columns > * > .st-view-group-body {
            overflow: auto;
            height: 100%
        }

.st-view-column, .st-view-columns {
    display: flex;
    height: 100%
}

.st-view-column {
    flex-grow: 1;
    overflow: hidden;
    border-right: 1px solid #c1c0bf;
    flex-direction: column
}

.st-view-column-body {
    overflow: auto;
    height: 100%
}

.st-view-group {
    border-right: 1px solid #c1c0bf;
    display: flex;
    flex-direction: column
}

.st-view-group-header {
    background: #3f3f3d;
    display: flex;
    align-items: center;
    color: #fff;
    padding: 0 4px;
    flex-grow: 0;
    flex-shrink: 0
}

    .st-view-group-header h2 {
        font-size: 16px;
        padding-top: 6px;
        margin-right: 6px
    }

    .st-view-group-header .st-info {
        color: #e3e2e1
    }

    .st-view-group-header .btn-a-link {
        color: #58afff
    }

.st-tab-actions {
    background: #3f3f3d;
    padding: 1rem .5rem;
    display: flex;
    align-items: center;
    flex-shrink: 0
}

body {
    background: #f8f8f8
}

.st-navbar-bottom-border {
    background: #fed53d;
    background: -moz-linear-gradient(-45deg,#fed53d 0,#ffb000 100%);
    background: -webkit-linear-gradient(-45deg,#fed53d,#ffb000);
    background: linear-gradient(135deg,#fed53d,#ffb000);
    background-size: cover;
    width: 100%;
    height: 10px
}

.st-bg-yellow-gradient, .st-navbar-bottom-border {
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#fed53d",endColorstr="#ffb000",GradientType=1)
}

.st-bg-yellow-gradient {
    background: #fed53d;
    background: -moz-radial-gradient(center,ellipse cover,#fed53d 1%,#ffb000 100%);
    background: -webkit-radial-gradient(center,ellipse cover,#fed53d 1%,#ffb000 100%);
    background: radial-gradient(ellipse at center,#fed53d 1%,#ffb000 100%)
}
