:root {
    --ztm-zone-A: #33a864;
    --ztm-zone-B: #d70000;
    --ztm-zone-C: #e6e600;
    --ztm-zone-D: #0B93F6;
}

.planner {
    color: #0a0a0a !important;
}

.planner a, .planner a:hover {
    text-decoration: none;
    color: inherit;
}

.planner__title {
    color: #0a0a0a;
    display: flex;
    align-items: center;
    margin-bottom: 15px;
}

.planner__title h2 {
    margin: 0 15px 0 0;
}

.planner__router-switch {
    justify-self: flex-end;
    margin-left: auto;
    width: fit-content;
}

@media (max-width: 768px) {
    .planner__title {
        flex-wrap: wrap;
    }

    .planner__router-switch {
        margin: 5px 15px 5px 15px;
        width: 100%;
    }
}

.planner__title a {
    display: flex;
    align-items: center;
}

.planner__title a {
    color: #0a0a0a;
}

.line-type {
    width: 100%;
    margin-bottom: 15px;
}

.line-type__name {
    display: flex;
    color: #000;
    font-weight: 300;
    font-size: 18px !important;
    line-height: 16px;
    padding: 8px 15px;
    align-items: center;
}

.line-type-icon, .planner-icon {
    display: block;
    width: 100%;
    max-width: 85px;
    height: 72px;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
}

.line-type__name .line-type-icon {
    max-height: 35px;
    max-width: 42px;
    margin-right: 10px;
}

.line-type-icon--tram {
    background-image: url("/ztm-trip-planner/assets/images/vehicle-icons/Tramwaj.png");
}

.line-type-icon--bus {
    background-image: url("/ztm-trip-planner/assets/images/vehicle-icons/Autobus.png");
}

.line-type-icon--night {
    background-image: url("/ztm-trip-planner/assets/images/vehicle-icons/Autobus_nocny.png");
}

.line-type-icon--tram-night {
    background-image: url("/ztm-trip-planner/assets/images/vehicle-icons/tram-night.png");
}

.line-type-icon--for-the-bus {
    background-image: url("/ztm-trip-planner/assets/images/vehicle-icons/za-tramwaj.png");
}

.line-type-icon--tour {
    background-image: url("/ztm-trip-planner/assets/images/vehicle-icons/Autobus_turystyczny.png");
}

.planner-icon {
    height: 40px;
    width: 45px;
    margin: 0 15px;
    background-image: url("/ztm-trip-planner/assets/images/rozklad-jazdy-dark.png");
}


.line-type__list {
    display: flex;
    list-style: none;
    flex-wrap: wrap;
    margin: 0;
    padding: 0 15px;
}

.line-type__list-item {
    display: flex;
    align-items: center;
    width: 33px;
    height: 28px;
    margin: 5px 3px;
    text-align: center;
    justify-content: center;
}

.line-type__list-item--with-background {
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    text-indent: -9999px;
}

/* Planner Line */
.planner__line-title {
    display: flex;
    flex: 1 1 100%;
    width: 100%;
    align-items: center;
    padding: 5px;
}

.planner__line-title a {
    color: inherit;
}


.line-title__icon {
    display: flex;
    align-items: center;
    width: 50px;
    height: 44px;
    font-weight: 600;
    font-size: 26px;
    text-align: center;
    margin: 5px 15px 5px 3px;
    color: #000;
}

.line-title__name {
    padding: 15px 0;
    margin: 0;
    font-weight: 600;
}

.line-title__icon--with-background {
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    text-indent: -9999px;
}

.line-title__icon:not(.line-title__icon--with-background) {
    width: fit-content;
    padding: 0 5px;
}

@media (max-width: 768px) {
    .planner__line-title {
        flex-wrap: wrap;
        justify-content: center;
    }

    .line-title__name {
        text-align: center;
        font-size: 19px !important;
    }

    .line-show-variants {
        width: 100%;
        text-align: center;
    }
}


.planner__line-directions {
    display: flex;
    width: 100%;
    justify-content: center;
}

.line-direction {
    width: 100%;
    max-width: 50%;
    margin: 0 10px;
}

@media (max-width: 768px) {
    .planner__line-directions {
        display: block;
    }

    .line-direction {
        display: block;
        width: 100%;
        max-width: 100%;
    }
}


.line-direction__name {
    font-size: 16px;
    padding: 10px 0;
    border-bottom: 1px dotted #3d65a0;
}

.line-direction__stops {
    list-style: none;
    padding: 0;
    margin: 0;
}

.line-stop {
    padding: 5px 15px;
    display: flex;
    font-size: 15px;
    width: 100%;
    align-items: center;
    color: #000;
    position: relative;
}

.line-stop.even {
    background: #f0f0f0;
}

.line-stop a {
    display: flex;
    align-items: center;
    width: 100%;
    text-decoration: none;
    color: inherit;
}

.line-stop__zone-name {
    color: #fff;
    font-size: 15px;
    line-height: 20px;
    text-align: center;
    width: 20px;
    height: 20px;
    border-radius: 3px;
    display: flex;
    justify-content: center;
    align-content: center;
    justify-self: flex-end;
    margin-left: auto;
}

.line-stop__badge-box {
    width: 10px;
    height: 10px;
    margin-right: 15px;
    z-index: 1;
}

.line-stop__badge {
    width: 10px;
    height: 10px;
    border-radius: 50px;
    border-width: 1px;
    border-style: solid;
    display: block;
    position: relative;
    z-index: 5;
}

.line-stop--zone-A .line-stop__badge, .line-stop--zone-A .line-stop__zone-name {
    border-color: var(--ztm-zone-A);
    background: var(--ztm-zone-A);
}

.line-stop--zone-B .line-stop__badge, .line-stop--zone-B .line-stop__zone-name {
    border-color: var(--ztm-zone-B);
    background: var(--ztm-zone-B);
}

.line-stop--zone-C .line-stop__badge, .line-stop--zone-C .line-stop__zone-name {
    border-color: var(--ztm-zone-C);
    background: var(--ztm-zone-C);
    color: #000;
}

.line-stop--zone-D .line-stop__badge, .line-stop--zone-D .line-stop__zone-name {
    border-color: var(--ztm-zone-D);
    background: var(--ztm-zone-D);
}

.line-stop--on-demand .line-stop__badge {
    background: #fff;
}

.line-stop--variant {
    display: none;
}

.line-stop--variant .line-stop__badge-box {
    margin-left: 45px;
}

.line-stop--variant .line-stop__badge-box, .line-stop--variant .line-stop__name, .line-stop--variant .line-stop__zone-name {
    opacity: 0.55;
}

.line-stop:not(:first-of-type):before, .line-stop:not(:last-of-type):after {
    content: ' ';
    height: 50%;
    width: 2px;
    left: 19px;
    position: absolute;
}

.line-stop:not(:first-of-type):before {
    top: 0;
}

.line-stop:not(:last-of-type):after {
    bottom: 0;
}

.line-stop--zone-A.line-stop:not(:first-of-type):before, .line-stop--zone-A.line-stop:not(:last-of-type):after {
    background-color: var(--ztm-zone-A);
}

.line-stop--zone-B.line-stop:not(:first-of-type):before, .line-stop--zone-B.line-stop:not(:last-of-type):after {
    background-color: var(--ztm-zone-B);
}

.line-stop--zone-C.line-stop:not(:first-of-type):before, .line-stop--zone-C.line-stop:not(:last-of-type):after {
    background-color: var(--ztm-zone-C);
}

.line-stop--zone-D.line-stop:not(:first-of-type):before, .line-stop--zone-D.line-stop:not(:last-of-type):after {
    background-color: var(--ztm-zone-D);
}

.line-stop--variant:not(:first-of-type) .line-stop__badge-box:before, .line-stop--variant:not(:last-of-type) .line-stop__badge-box:before,
.line-stop--variant:not(:first-of-type) .line-stop__badge-box:after, .line-stop--variant:not(:last-of-type) .line-stop__badge-box:after {
    content: ' ';
    height: 1rem;
    width: 2px;
    left: 64px;
    position: absolute;
    z-index: 1;
}

.line-stop--variant:not(:first-of-type) .line-stop__badge-box:before, .line-stop__badge-box:not(:last-of-type) .line-stop__badge-box:before {
    top: 0;
}

.line-stop--variant:not(:first-of-type) .line-stop__badge-box:after, .line-stop--variant:not(:last-of-type) .line-stop__badge-box:after {
    bottom: 0;
}

.line-stop--zone-A.line-stop--variant:not(:first-of-type) .line-stop__badge-box:before, .line-stop--zone-A.line-stop--variant:not(:last-of-type) .line-stop__badge-box:before,
.line-stop--zone-A.line-stop--variant:not(:first-of-type) .line-stop__badge-box:after, .line-stop--zone-A.line-stop--variant:not(:last-of-type) .line-stop__badge-box:after,
.line-stop--zone-A.line-stop--variant .line-stop__badge:before {
    background-color: var(--ztm-zone-A);
}

.line-stop--zone-B.line-stop--variant:not(:first-of-type) .line-stop__badge-box:before, .line-stop--zone-B.line-stop--variant:not(:last-of-type) .line-stop__badge-box:before,
.line-stop--zone-B.line-stop--variant:not(:first-of-type) .line-stop__badge-box:after, .line-stop--zone-B.line-stop--variant:not(:last-of-type) .line-stop__badge-box:after,
.line-stop--zone-B.line-stop--variant .line-stop__badge:before {
    background-color: var(--ztm-zone-B);
}

.line-stop--zone-C.line-stop--variant:not(:first-of-type) .line-stop__badge-box:before, .line-stop--zone-C.line-stop--variant:not(:last-of-type) .line-stop__badge-box:before,
.line-stop--zone-C.line-stop--variant:not(:first-of-type) .line-stop__badge-box:after, .line-stop--zone-C.line-stop--variant:not(:last-of-type) .line-stop__badge-box:after,
.line-stop--zone-C.line-stop--variant .line-stop__badge:before {
    background-color: var(--ztm-zone-C);
}

.line-stop--zone-D.line-stop--variant:not(:first-of-type) .line-stop__badge-box:before, .line-stop--zone-D.line-stop--variant:not(:last-of-type) .line-stop__badge-box:before,
.line-stop--zone-D.line-stop--variant:not(:first-of-type) .line-stop__badge-box:after, .line-stop--zone-D.line-stop--variant:not(:last-of-type) .line-stop__badge-box:after,
.line-stop--zone-D.line-stop--variant .line-stop__badge:before {
    background-color: var(--ztm-zone-D);
}

/** In **/
.line-stop--variant-in.line-stop--variant-last-stop .line-stop__badge-box:after {
    height: 55px;
    transform: rotate(52deg);
    bottom: -28px;
    left: 42px;
    z-index: 1;
}

.line-stop--variant-in.line-stop--variant-first-stop .line-stop__badge-box:before {
    display: none;
}

/** Out **/
.line-stop--variant-out.line-stop--variant-first-stop .line-stop__badge-box:before,
.line-stop--variant-out.line-stop--variant-last-stop.line-stop--variant-first-stop .line-stop__badge-box:before {
    height: 55px;
    transform: rotate(-52deg);
    top: -28px;
    left: 42px;
}

.line-stop--variant-out.line-stop--variant-last-stop .line-stop__badge-box:after {
    display: none;
}

.line-stop--variant-in:not(.line-stop--variant-last-stop) + .line-stop--variant-in .line-stop__badge-box:before {
    display: block;
}

/** In-Out **/
.line-stop--variant-in-out.line-stop--variant-first-stop .line-stop__badge-box:before,
.line-stop--variant-in-out.line-stop--variant-last-stop.line-stop--variant-first-stop .line-stop__badge-box:before {
    height: 55px;
    transform: rotate(-52deg);
    top: -28px;
    left: 42px;
}

.line-stop--variant-in-out.line-stop--variant-last-stop .line-stop__badge-box:after {
    height: 55px;
    transform: rotate(52deg);
    bottom: -28px;
    left: 42px;
    z-index: 1;
}

.line-stop--variant-in + .line-stop--variant-in-out.line-stop--variant-last-stop.line-stop--variant-first-stop .line-stop__badge:before {
    content: ' ';
    display: block;
    height: 1rem;
    width: 2px;
    left: 3px;
    position: absolute;
    top: -1rem;
}

.line-stop:first-child.line-stop--variant-in-out .line-stop__badge-box:before, .line-stop:first-child.line-stop--variant-in-out:after {
    display: none;
}

.line-stop:last-child.line-stop--variant-in-out .line-stop__badge-box:after, .line-stop:first-child.line-stop--variant-in-out:before {
    display: none;
}

.line-stop--variant {
    display: none;
}

.line-stop--variant.show {
    display: block;
}

/**
    Buttons
 */
.btn {
    display: flex;
    padding: 5px 15px;
    text-align: center;
    border: 1px solid #2c2c2c;
    color: #2c2c2c;
}

.line-show-variants {
    justify-self: flex-end;
    margin-left: auto;
}

/**
    Legend, Agency
 */

.planner-stop__legend, .planner-operator__legend {
    padding: 5px 0;

}

.planner-stop__legend p, .planner-operator__legend p {
    margin-bottom: 2px;
    color: #181818;
}

.stop-legend__description, .operator-legend__description {
    font-size: 12px;
}

.print-row {
    display: none !important;
}
.alerts-box {
    list-style: none;
    padding: 5px 0;
    margin: 5px 0 0 0;
    background-color: #ffff00;
    overflow: hidden;
}

.alerts-box__infolist {
    color: var(--ztm-zone-B)
}

.alerts-box__infolist li {
    display: none;
}

.alerts-box__infolist li.active {
    display: block;
}

.alerts-box__infolist li, .alerts-box__infolist li a {
    color: inherit;
    font-size: 16px;
    font-weight: 600;
    text-decoration: none;
}

.plan-trip-external input, .plan-trip-external select, .plan-trip-external button {
    border-color: #0a3f89;
}

.plan-trip-external__time-box.hide {
    display: none;
}

.plan-trip-external__warning {
    font-size: 10px;
    line-height: 13px;
    color: #999;
}

.plan-trip-external__button {
    padding: 8px;
    text-align: center;
    width: 100%;
    margin-bottom: 8px;
    display: block;
}
