@font-face {
    font-family: noto;
    font-weight: 400;
    font-display: swap;
    src: url(NotoSans_Condensed-Regular.ttf)format("truetype")
}

@font-face {
    font-family: noto;
    font-weight: 500;
    font-display: swap;
    src: url(NotoSans_Condensed-Medium.ttf)format("truetype")
}

@font-face {
    font-family: noto;
    font-weight: 600;
    font-display: swap;
    src: url(NotoSans_Condensed-SemiBold.ttf)format("truetype")
}

@font-face {
    font-family: noto;
    font-weight: 700;
    font-display: swap;
    src: url(NotoSans_Condensed-Bold.ttf)format("truetype")
}

a {
    white-space: nowrap;
    text-decoration: underline;
    color: black;
}

* {
    position: relative;
    margin: unset;
    margin-block: unset;
    margin-inline-start: unset;
    margin-inline-end: unset;
    padding: unset;
    border: 0px solid black;
    box-sizing: border-box;
    font-family: noto, sans-serif;
    unicode-bidi: plaintext;
    font-weight: 400;
    font-size: 14px;
    line-height: 1;
    white-space-collapse: collapse;
}

.page {
    max-width: 1200px;
}

.screen-reader {
    position: absolute;
    left: -9999px;
    z-index: -1;
    white-space: nowrap;
}

header {
    padding-left: 45px;
    padding-right: 45px;
    padding-top: 40px;
    max-width: 1280px;
}

h1 {
    align-items: center;
    display: flex;
    gap: 20px;
    padding-left: 45px;
    padding-right: 45px;
    padding-top: 40px;
}

#line {
    background-color: black;
    color: white;
    font-size: 4.2rem;
    margin: 0;
    margin-block: 0;
    min-width: 8rem;
    padding-left: 1rem;
    padding-right: 1rem;
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
    text-align: right;
}

#destination {
    margin: 0px;
    margin-block: 0px;
    font-size: 2.4rem;
}

#symbols {
    margin-left: auto;
    text-align: right;
}

.symbols_img {
    height: 5.2rem;
}

#header-daytype-1 {
    background-color: #6f6f6f;
    color: white;
}

#header-daytype-2 {
    background-color: #48484A;
    color: white;
}

#header-stops,
#header-notes,
#header-info,
#header,
.header,
#header-daytype-3,
#header-daytype-4,
#header-daytype-5 {
    background-color: black;
    color: white;
}

#header-stops,
#header-notes,
#header-info,
#header,
.header,
#header-daytype-1,
#header-daytype-2,
#header-daytype-3,
#header-daytype-4,
#header-daytype-5 {
    padding-left: 0.3rem;
    padding-right: 0.3rem;
    padding-top: 0.3rem;
    padding-bottom: 0.3rem;
    text-align: left;
    margin-bottom: 5px;
}

h2 {
    font-size: 1.3rem;
}

main {
    padding-left: 45px;
    padding-right: 45px;
    padding-top: 0.83rem;
    display: grid;
    grid-template-columns: auto 242px;
    gap: 0.5rem;
}

.dayTypes {
    display: grid;
    gap: 0.5rem;
}

section {
    align-items: center;
}

#stops {
    margin-left: auto;
    width: 242px;
}

h3 {
    min-width: 18px;
    color: white;
    background-color: black;
    display: inline-block;
}

.minute,
.interval {
    padding-right: 3px;
    margin-top: 0px;
    margin-left: 0px;
    margin-right: 0px;
    margin-bottom: 0px;
    display: inline-block;
}

.hour {
    min-width: 18px;
    max-width: 18px;
    padding-top: 2px;
    padding-bottom: 2px;
    padding-left: 0;
    display: inline-block;
    color: white;
    background-color: black;
}

.hour-value {
    display: block;
    text-align: center;
}

.minute,
.interval {
    padding-left: 0px;
    color: black;
    background-color: white;
}

.minute {
    min-width: 2.2rem;
    max-width: 2.2rem;
}

.DHW {
    margin: 0px;
    min-height: 5px;
    padding-top: 2px;
    padding-bottom: 2px;
    padding-left: 3px;
    padding-right: 3px;
    opacity: 0;
}

.DHW_none {
    margin: 0px;
    min-height: 5px;
    padding-left: 3px;
    padding-right: 3px;
    font-size: 0.1rem;
    opacity: 0;
}

.minuteToStop {
    display: flex;
    gap: 5px;
}

.stopsMinute {
    line-height: 1.2;
    text-align: right;
    width: 1.5rem;
}

.stop {
    line-height: 1.2;
}

.timingPoint {
    font-weight: 700;
}

nav {
    position: absolute;
    z-index: 10000;
    left: 5px;
    top: 0px;
}

nav a {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    background-color: white;
    border-radius: 2px;
    color: var(--text-text-secondary);
    cursor: pointer;
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    font-family: sans-serif;
    height: 2em;
    letter-spacing: inherit;
    opacity: 0;
    padding: .2rem;
    position: absolute;
    text-decoration: none;
    text-transform: inherit;
    top: 16px;
    -webkit-transform: translateY(-100%);
    transform: translateY(-100%);
    white-space: nowrap;
    width: auto
}

nav a:focus {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0)
}

a:focus-visible {
    outline: 3px solid black;
}

#STOPPOINT {
    position: absolute;
    bottom: 5mm;
    left: 3mm;
    font-size: 9pt;
    transform: rotate(-90deg);
}

#footer {
    padding-left: 45px;
    padding-right: 45px;
    padding-top: 0.83rem;
    display: grid;
    gap: 0.5rem;
    grid-template-columns: auto 242px;
}

#footer p {
    line-height: 1.1;
}

#footer-notes-info {
    display: flex;
    gap: 0.5rem;
}

#info {
    white-space: nowrap;
}

#INFORMATION p span {
    line-height: 1.2;
}

#LOGOTYPE {
    visibility: visible;
    min-width: 242px;
}

#VTLogo {
    position: absolute;
    bottom: 0;
    width: 242px;
}

.note {
    display: flex;
    gap: 0.5rem;
}

.noteKey {
    display: inline-block;
    font-weight: 700;
    padding-left: 6px;
    text-align: center;
    width: 1rem;
}

.noteText {
    display: inline-block;
    font-weight: 400;
    vertical-align: top;
}

@media screen {
    #STOPPOINT {
        visibility: hidden;
    }
}

@media screen and (max-width: 1000px) {
    header {
        padding-top: 0.1rem;
        padding-left: 0.1rem;
        padding-right: 0.1rem;
    }

    h1 {
        display: flex;
        flex-wrap: wrap;
        margin: unset;
        margin-block: unset;
        padding: unset;
    }

    #line {
        flex: 100%;
        padding-top: 0.1rem;
        padding-right: 0.1rem;
        margin: 0;
        margin-block: 0;
        background-color: black;
        color: white;
        font-size: 4.8rem;
        text-align: left;
    }

    #destination {
        flex: 100%;
        padding-top: 0.1rem;
        margin: 0px;
        margin-block: 0px;
        font-size: 2.3rem;
        text-align: left;
    }

    #symbols {
        display: none;
    }

    main {
        display: flex;
        flex-wrap: wrap;
        padding-left: 0.1rem;
        padding-right: 0.1rem;
    }

    .dayTypes {
        display: flex;
        flex-wrap: wrap;
        padding-left: 0.1rem;
        padding-right: 0.1rem;
    }

    main div {
        flex: 100%;
    }

    .dayTypes {
        flex-wrap: wrap;
    }

    #footer {
        display: flex;
        flex-wrap: wrap;
        padding-left: 0.1rem;
        padding-right: 0.1rem;
        padding-top: unset;
    }

    #footer div {
        flex: 100%;
    }

    #footer-notes-info {
        display: block;
    }

    section {
        flex: 100%;
    }

    section.TIMETABLE {
        min-width: auto;
        padding-bottom: 0.9rem;
    }

    #EXPLANATION {
        min-width: auto;
        padding-top: 0.83rem;
    }

    #INFORMATION {
        min-width: auto;
        padding-top: 0.83rem;
    }

    #LOGOTYPE {
        visibility: hidden;
        min-width: 0px;
    }
}

@media print {
    @page {
        size: A4 landscape;
        margin: 0mm;
    }

    #STOPPOINT {
        visibility: visible;
    }

    #footer {
        position: fixed;
        bottom: 10mm;
        width: 100vw;
    }

    a {
        text-decoration: none;
    }
}