:root {
    --accentkleur: rgb(185, 255, 93);
    --achtergrond: black;
    --voorgrond: white;
    --tekst-achtergrond: lightgrey;
    --tabelaccentkleur: rgba(185, 255, 93, 5%);
    --tabelkleur: rgba(0, 0, 0, 5%);
    --tabelsterkaccentkluer: rgba(185, 255, 93, 10%);
    --tabelsterkkleur: rgba(0, 0, 0, 10%);
}

@font-face {
font-family: 'CartoGothic Std';
font-style: normal;
font-weight: normal;
src: local('CartoGothic Std Book'), url('materialen/lettertypes/CartoGothicStd-Book.woff') format('woff');
}    

/* @font-face {
font-family: 'CartoGothic Std Italic';
font-style: normal;
font-weight: normal;
src: local('CartoGothic Std Italic'), url('materialen/lettertypes/CartoGothicStd-Italic.woff') format('woff');
}     */

@font-face {
font-family: 'CartoGothic Std';
font-style: normal;
font-weight: bold;
src: local('CartoGothic Std Bold'), url('materialen/lettertypes/CartoGothicStd-Bold.woff') format('woff');
}  

/* @font-face {
    vertical-align: super;
    font-size: smaller;
    line-height: normal;
    font-weight: bold;
    font-family: 'letterkwadraat';
    unicode-range: U+0041-U+005a, U+0061-U+007a;
    src: local('CartoGothic Std Bold'), url('materialen/lettertypes/CartoGothicStd-Bold.woff') format('woff');
} */

/* @font-face {
font-family: 'CartoGothic Std Bold Italic';
font-style: normal;
font-weight: normal;
src: local('CartoGothic Std Bold Italic'), url('materialen/lettertypes/CartoGothicStd-BoldItalic.woff') format('woff');
} */

@font-face {
    font-family: dejavu;
    src: url(materialen/lettertypes/DejaVuSans.ttf);
    font-weight: normal;
}
@font-face {
    font-family: dejavu;
    src: url(materialen/lettertypes/DejaVuSans-Bold.ttf);
    font-weight: bold;
}
@font-face {
    font-family: dejavu;
    src: url(materialen/lettertypes/DejaVuSans-BoldOblique.ttf);
    font-weight: bold;
    font-style: italic;
}
@font-face {
    font-family: dejavu;
    src: url(materialen/lettertypes/DejaVuSansCondensed.ttf);
    font-stretch: condensed;
}
@font-face {
    font-family: dejavu;
    src: url(materialen/lettertypes/DejaVuSansCondensed-Bold.ttf);
    font-weight: bold;
    font-stretch: condensed;
}
@font-face {
    font-family: dejavu;
    src: url(materialen/lettertypes/DejaVuSansCondensed-BoldOblique.ttf);
    font-weight: bold;
    font-style: italic;
    font-stretch: condensed;
}
@font-face {
    font-family: dejavu;
    src: url(materialen/lettertypes/DejaVuSansCondensed-Oblique.ttf);
    font-style: italic;
    font-stretch: condensed;
}
@font-face {
    font-family: dejavu;
    src: url(materialen/lettertypes/DejaVuSans-ExtraLight.ttf);
    font-weight: 200;
}
@font-face {
    font-family: dejavu;
    src: url(materialen/lettertypes/DejaVuSans-Oblique.ttf);
    font-style: italic;
}
@font-face {
    font-family: vervoerders;
    src: url(materialen/lettertypes/vervoerders.woff);
    font-style: italic;
}

@font-face {
    font-family: breed;
    src: url(materialen/lettertypes/breed.woff2);
    font-style: italic;
}

@font-face {
    font-family: 'ns25';
    font-style: normal;
    font-weight: normal;
    src: local('CartoGothic Std Book'), url('materialen/lettertypes/CartoGothicStd-Book.woff2') format('woff2');
}
@font-face {
    font-family: 'ns25';
    font-style: normal;
    font-weight: bold;
    src: local('CartoGothic Std Bold'), url('materialen/lettertypes/CartoGothicStd-Bold.woff2') format('woff2');
}  


html, body {
    margin: 0;
    height: 100%;
    font-family: dejavu;
    background-color: black;
    color: white;
}

sup {
    line-height: 0;
    font-size: 0.5em;
}

@media only screen and (max-width: 1160px) {
    html, body {
        font-size: 1.5vh;
    }
    h2 {
        font-size: 2vh;
    }
}

.onzichtbaar {
    /* display: none; */
    visibility: hidden;
}

.vervoerder {
    font-family: vervoerders;
}
.geselecteerd {
    font-weight: bold;
    text-decoration-line: underline;
}
.balk {
    overflow: auto;
    list-style: none;
    margin: 0;
    bottom: 0;
    padding: 0;
    width: 100%;
    height: 60px;
    background: linear-gradient(-10deg, hsl(51, 100%, 16.5%), hsl(240, 100%, 9%), hsl(240, 100%, 9%), hsl(240, 100%, 9%), hsl(51, 100%, 16.5%));
}
.balk img {
    max-height: 55px;
}
.balk-onderdeel, .balk-titel {
    white-space: nowrap;
    float: left;
    display: inline;
    cursor: pointer;
}
.balk-titel a {
    display: block;
    font-family: dejavu;
    color: white;
    font-weight: bold;
    font-stretch: condensed;
    text-align: center;
    text-decoration: none;
    font-size: 22.5px;
    padding: 15px 12.5px;
}
.balk-onderdeel a {
    display: inline-block;
    font-family: dejavu;
    font-weight: 200;
    color: white;
    text-align: center;
    text-decoration: none;
    font-size: 20px;
    padding: 17.5px 15px;
}
.balk-meerkeuze {
    display: none;
}
@media only screen and (max-width: 1125px) {
    .balk-onderdeel {
        display: none;
    }
    .balk-meerkeuze {
        display: block;
        font-family: dejavu;
        font-weight: 200;
        color: white;
        background-color: transparent;
        border: 0px;
        text-align: center;
        text-decoration: none;
        font-size: 20px;
        padding: 15px 12.5px;
    }
}
@media only screen and (max-width: 395px) {
    .balk-titel {
        display: none;
    }
}
.balk-onderdeel:hover a {
    font-weight: normal;
}
a.actief, option.actief {
    color: var(--accentkleur);
}
.tabblad {
    height: calc(100% - 60px);
}
#tab-intro, #tab-storingen, #tab-zelf, #tab-zelftypen, #tab-info, #tab-drgl, #tab-opties {
    background-image: url('materialen/afbeeldingen/background.jpg');
    background-attachment: fixed;
    background-size: cover;
    background-repeat: no-repeat;
    margin-top: 0;
    margin-bottom: 0;
    overflow: scroll;
}

.grid {
    display: grid;
    /* gap: 50px; */
    height: calc(100% - 60px);
    max-width: 100%;
    grid-template-columns: auto;
    overflow: scroll;
}
.grid-motd {
    grid-column: 1 / 4;
    display: flex;
    align-items: center;
    padding: 2%;
}
#motd-titel {
    word-wrap: break-word;
    font-size: 50pt;
    display: inline;
    font-weight: bold;
    color: var(--accentkleur);
    margin-left: 0;
}
#motd-opmerking {
    word-wrap: break-word;
    font-size: 20pt;
    display: inline;
    color: white;
    margin-left: 0;
}
.grid-welkom {
    padding-top: 2%;
    padding-bottom: 2%;
    padding-left: 2%;
    padding-right: 0%;
    grid-column: 4 / 6;
    max-width: 100%;
    color: white;
}

.grid-welkom div {
    padding: 1% 2% 1% 2%;
    border-radius: 2px;
    height: 98%;
    /* background-color: hsla(86, 75%, 68%, 50%); */
    background: linear-gradient(0deg, hsla(0, 0%, 0%, 50%), hsla(0, 0%, 0%, 75%), hsla(0, 0%, 0%, 75%), hsla(0, 0%, 0%, 75%), hsla(0, 0%, 0%, 50%));

    border-top-left-radius: 1rem;
    border-bottom-left-radius: 1rem;
}

@media only screen and (max-width: 1160px) {
    .grid-motd div {
        text-align: center;
    }
    .grid-welkom {
        grid-column: 1 / 1;
        padding-right: 2%;
    }
    .grid-welkom div {
        border-top-right-radius: 1rem;
        border-bottom-right-radius: 1rem;
    }
    #motd-titel {
        font-size: 5vh;
    }
    #motd-opmerking {
        font-size: 2vh;
    }
}

.contentvenster {
    height: 95%;
}
#tab-storingen .contentvenster {
    backdrop-filter: blur(0.5em);
}
.contentvenster-vol {
    backdrop-filter: blur(0.5em);

}
#tab-zelf .contentvenster-vol {
    padding: 0% 10% 0% 10%;
    overflow-y: scroll;
}
#tab-info .contentvenster-vol {
    padding: 0% 10% 0% 10%;
    overflow-y: scroll;
}
#tab-opties .contentvenster-vol {
    padding: 5% 10% 5% 10%;
    overflow-y: scroll;
}
#tab-zelftypen .contentvenster-vol {
    padding: 2.5% 10% 2.5% 10%;
    overflow-y: scroll;
}

.zoekbalk {
    height: 5%;
    background-color: var(--accentkleur);
    color: black;
    position: sticky;
    white-space: nowrap;
    overflow-x: scroll;
    font-stretch: condensed;
}
.zoekbalk input {
    margin-left: 1%;
}
.zoekbalk-opties br {
    display: none;
}
.zoekbalk-opties {
    display: inline;
}
.zoekbalkknop-mobiel {
    display: none;
}


@media screen and (max-width: 1160px) {
    .zoekbalk a {
        display: none;
    }
    .zoeker {
        width: 12em;
    }
    .zoekbalk-opties-volscherm {
        padding: 5% 10% 5% 10%;
        background-color: var(--accentkleur);
    }
    .zoekbalk-opties-volscherm a {
        display: block;
    }
    .zoekbalk .zoekbalk-opties {
        display: none;
        background-color: black;
    } 
    .zoekbalk-opties-volscherm * {
        display: block;   
    }
    .zoekbalk-opties-volscherm .standaardknop {
        height: auto;
    }
    .zoekbalkknop-mobiel {
        display: inline;
    }
}

.zoekbalk input[type="checkbox"]:checked {
    accent-color: var(--voorgrond);
}
.simpele-knop {
    border-style: hidden;
    color: white;
    border-radius: 5px;
    margin: 5px;
    height: 75%;
    font-family: 'CartoGothic Std';
    font-stretch: condensed;
    background-color: rgba(0, 0, 0, 1);
    vertical-align: middle;
}
.simpele-knop :hover {
    background-color: var(--accentkleur);
    color: black;
}
#storingenvak {
    font-family: 'CartoGothic Std';
}
.grid-storingen {
    display: grid;
    gap: 200px;
    height: 100%;
    max-width: 100%;
}
.grid-storingen div {
    margin: 5% 10% 5% 10%;
    border-radius: 1em;
    height: 75%;
}
#tab-vtrein {
    background-image: url('materialen/afbeeldingen/vtrein.jpg');
    background-repeat: no-repeat;
    background-attachment: fixed;
    background-size: cover;
}
#tab-vtrein .grid-storingen {
    backdrop-filter: grayscale(100%);
}
#stemfilterkeuzes a {
    margin-left: 2px;
    margin-right: 2px;
    padding: 2px;
    font-stretch: condensed;
    line-height: 1.8;
    color: white;
}
#categoriekeuzes a {
    margin-left: 2px;
    margin-right: 2px;
    padding: 2px;
    font-stretch: condensed;
    line-height: 1.8;
    /*color: white;  */
}
#stemfilterkeuzes .geselecteerd {
    text-decoration-line: underline;
}
.vak {
    display: grid;
    grid-template-columns: auto auto auto auto;
    border-style: solid;
    border-color: var(--voorgrond);
    border-radius: 2px;
    height: 200px;
    overflow: scroll;
    margin-left: 2%;
    margin-right: 2%;
}
.optie {
    border-style: hidden;
    background-color:blue;
    border-radius: 5px;
    color: white;
    margin: 2px;
    font-weight: bold;
    width: fit-content;
    height: min-content;
    list-style: none;
}
/*.optie {
    border-style: hidden;
    background-color:blue;
    border-radius: 5px;
    color: white;
    margin: 2px;
    font-weight: bold;
    width: fit-content;
    height: min-content;
}*/
.knop {
    border-style: hidden;
    font-size: 12pt;
    background-color:var(--achtergrond);
    border: 2.5px solid var(--accentkleur);
    /* display: inline; */
    color: white;
    margin-left: 20px;
    margin-right: 20px;
    margin-top: 0px;
    padding: 2.5px;
    vertical-align: middle;

}
.stationsknop {
    float: right;
    border-style: hidden;
    background-color:green;
    border-radius: 5px;
    color: #000090;
    background-color: white;
    font-weight: bold;

}
.select {
    border-style: hidden;
    background-color:grey;
    color: black;
    border-radius: 5px;
    margin: 20px;
    font-weight: bold;
    padding: 5px;

}
#audiospeler {
    display: none;
}
p {margin-left: 2%;}
h3 {margin-left: 2%;}
h2 {
    margin-left: 2%;
    color: var(--accentkleur);
}
#optiesvak {
    list-style-type: none;
    padding: 0;
    border-style: solid;
    border-color: var(--voorgrond);
    border-radius: 2px;
    height: 200px;
    overflow: scroll;
    margin-left: 2%;
    margin-right: 2%;
}

/*li {

}*/
input {
    background-color: lightgrey;
    font-family: dejavu;
    font-stretch: condensed;
    font-size: 16pt;
    vertical-align: middle;
    border: 1px;
    border-style: hidden;
    border-radius: 6px;
    margin-left: 2%;
    margin-right: 0.5%
}

#storingenvak table {
    width: 100%;
}
.storing {
    background-color: #ffde59;
    color: #d50000;
}
.storing img {
    height: 60px;
    display: block;
    margin-left: auto;
    margin-right: auto;
}
.omroeptrein div table {
    background-color: #fdfea0;
}
.storing h1 {
    font-size: 28pt;
    color: #d50000;
    margin-top: 0px;
    margin-bottom: 0px;
    margin-left: 2%;
}
.storing h2 {
    font-size: 18pt;
    font-weight: normal;
    color: #d50000;
    margin-top: 0px;
    margin-bottom: 0px;
}
.rood {
    color: #d50000; 
}
.storing p {
    margin-top: 0;
    font-size: 18pt;
    color: #000090;
}
.zichtbaar {
    display: block;
}
.onzichtbaar {
    display: none;
}
#vertrekframe {
    overflow: scroll;
    background-color: white;
    color: #000090;
}
#vertrektijdvak {
font-family: 'CartoGothic Std'; margin: 0; 
overflow-y: hidden;
}

#vertrektijdvak table {
    width: 100%;
}

#vertrektijd-storing:nth-child(1), #vertrektijd-storing:nth-child(3) {
    width: clamp(1%, 10%, 20%);
}
#vertrektijd-storing:nth-child(2) {
    width: clamp(60%, 80%, 98%);
}

#vertrektijdscherm {
    background-color: white;
}

.volscherm {
    position: fixed;
    width: 100%;
    height: 100%;
    top:0px;
    left:0px;
    z-index:1000;
}
.ritvervalt {
    color: #9090dd;
}
.ritvervalt-doorstreept {
    color: #9090dd;
    text-decoration: line-through;
}
.important {
    background-color: #000090;
    color: white;
}
.rittitel-wit {
    font-size: 24px;
    line-height: 24px;
    background-color: white;
    border-width: 2px;
    border-color: black;
    font-weight: bold;
}
.ritdetails-wit {
    font-size: 16px;
    background-color: white;
    height: 22px;
    line-height: 19px;
    
}
.rittitel-blauw {
    font-size: 24px;
    line-height: 24px;
    background-color: #d5e5ff;
    border-width: 2px;
    border-color: black;
    font-weight: bold;
}
.ritdetails-blauw {
    font-size: 16px;
    background-color: #d5e5ff;
    height: 22px;
    line-height: 19px;
    
}
#bovenbalk-vertrektijden {
    font-family: 'CartoGothic Std';
    font-weight: bold;
}
#vertrektijd-storingtitel {
    font-size: 16pt;
    margin: 0.5%;
    margin-bottom: 0%;

}
#vertrektijd-storingtekst {
    font-size: 12pt; 
    margin: 0%; 
    margin-left: 0.5%;
    margin-right: 0.5%;
}

.rittabel-kolom1 {
    width: 8%;
    text-align: center;
}
.rittabel-kolom2 {
    width: 65%;
}
.rittabel-kolom3 {
    width: 7%;
}
.rittabel-kolom4 {
    font-weight: normal;
    width: 20%;
}
.vertrektijden-lijn {
    font-weight: normal;
}
.rit-spoor{
    position: relative;
    top: 10px;
    border-style: solid;
    border-color: #000090;
    padding-left: 8px;
    padding-right: 8px;
    padding-top: 5px;
    padding-bottom: 5px;
    background-color: white;
    
}
.rit-knippert{
    animation:  knipperen 2s infinite;
}
@keyframes knipperen {
    0%{     color: 100%;    }
    50%{    color: transparent; }
    100%{   color: 100%; }
}
.rit-geenspoor{
    position: relative;
    top: 10px;
    border-style: solid;
    border-color: #9090dd;
    padding-left: 8px;
    padding-right: 8px;
    padding-top: 5px;
    padding-bottom: 5px;
    background-color: white;
}
.rit-spoorrood{
    position: relative;
    top: 10px;
    border-style: solid;
    border-color: #d50000;
    color: #d50000;
    padding-left: 8px;
    padding-right: 8px;
    padding-top: 5px;
    padding-bottom: 5px;
    background-color: white;
}
.rit-geenspoorrood{
    position: relative;
    top: 10px;
    border-style: solid;
    border-color: #d50000;
    color: #9090dd;
    padding-left: 8px;
    padding-right: 8px;
    padding-top: 5px;
    padding-bottom: 5px;
    background-color: white;
}
.logica {
    height: 30vp;
    /*margin-left: 5%;*/
    /*margin-right: 5%;*/
    padding-left: 5%;
    padding-right: 5%;
    font-size: 24pt;
    text-align: center;
    overflow: hidden;
    min-width: 200px
}
.max {
    color: white;
    background-color: magenta;

}
.ns {
    color: blue;
    background-color: yellow;
}
.whatever {
    color:lightgray;
    background-color: black;
}
#tdinfo {
    /* border: 1px solid;
    border-color: #ffde59; */
    color: white;
    margin: 1%;
}
#tdinfo .belangrijk-bericht {
    color:  #ffde59;
}
#tdtable {
    margin: 1%;
    overflow-x: scroll;
    vertical-align: top;
}
#tdtable td {
    background-color: rgba(0, 0, 0, 0.75);
    vertical-align: top;
}
#tdtable img {
    max-height: 30pt;
    height: auto;
    display: block;
}

#ritinfogrid {
    display: grid;
    grid-template-columns: 5% minmax(10%, max-content) minmax(10%, max-content) minmax(20%, max-content) minmax(4%, max-content) auto;
    min-width:  750px;  
    font-size: 14pt;
    --ouderoute: gray;
    
}

#ritinfogrid > div:not(.ritinfo-route, :has(img)) {
    background-color: rgba(0, 0, 0, 0.75);    
    margin: 0.05lh;
    padding: 0.1lh;
    /* height: 1lh; */
    display: flex;
    align-items: center;
}

#ritinfogrid > div:has(img) {
    background-color: rgba(0, 0, 0, 0.75);    
    margin: 0.05lh;
    padding: 0.1lh;
    overflow: scroll;
}

#ritinfogrid > div.extra {
    font-weight: bold;
}

#ritinfogrid > div.vervallen {
    text-decoration: line-through;
}

#ritinfogrid img {
    max-height: 30pt;
    height: auto;
    display: block;
}

.ritinfo-route {
    position: relative;
    /* height: 3lh; */
}

.ritinfo-route span {
    position: absolute;
    display: grid;
}

.ritinfo-routelijn[lijnstukje="vorige"] {
    width: 0.25ch;
    background-color: var(--ouderoute);
    height: calc(50% - calc(1.3lh * 0.25) + 2px);
    top: calc(calc(1.3lh * 0.25) - 1px);
}

/* #ritinfogrid:nth-child(1 of .ritinfo-route) .ritinfo-routelijn[lijnstukje="vorige"] {
    display: none;
}

#ritinfogrid:nth-last-child(even of .ritinfo-route) .ritinfo-routelijn[lijnstukje="volgende"],
#ritinfogrid:nth-last-child(even of .ritinfo-route) .ritinfo-routelijn[lijnstukje="volgende-anders"] {
    display: none;
} */

.ritinfo-routelijn[lijnstukje="volgende"] {
    top: 50%;
    height: calc(50% + calc(1.3lh * 0.25));
    width: 0.25ch;
    background-color: var(--ouderoute);
}

.ritinfo-route .ritinfo-routelijn[lijnstukje="volgende"],
.ritinfo-route .ritinfo-routelijn[lijnstukje="vorige"] {
    left: calc(75% - 0.25ch)
}

.ritinfo-route.omgeleid .ritinfo-routelijn[lijnstukje="volgende"],
.ritinfo-route.omgeleid .ritinfo-routelijn[lijnstukje="vorige"] {
    left: calc(25% - 0.25ch)
}

.ritinfo-routelijn[lijnstukje="volgende-anders"] {
    top: 50%;
    height: calc(50% + calc(1.3lh * 0.25));
    width: calc(50% + 0.125ch);
    left: calc(25% - 0.25ch);
    /* left: calc(25% - 0.125ch); */
}
.ritinfo-routelijn[lijnstukje="volgende-anders"]::before,
.ritinfo-routelijn[lijnstukje="volgende-anders"]::after {
    height: 50%;
    width: calc(50% - 0.125ch);
    content: '';
    display: block;
    border-style: solid;
    position: absolute;
    border-color: var(--ouderoute);
}
.ritinfo-route:not(.omgeleid) .ritinfo-routelijn[lijnstukje="volgende-anders"]::before {
    border-width: 0 0.25ch 0.25ch 0;
    border-radius: 0 0 100% 0;

    left: calc(50% + 0.125ch - 1px);
}
.ritinfo-route:not(.omgeleid) .ritinfo-routelijn[lijnstukje="volgende-anders"]::after {
    border-width: 0.25ch 0 0 0.25ch;
    border-radius: 100% 0 0 0;
    top: 50%;
}
.ritinfo-route.omgeleid .ritinfo-routelijn[lijnstukje="volgende-anders"]::before {
    border-width: 0 0 0.25ch 0.25ch;
    border-radius: 0 0 0 100%;
}
.ritinfo-route.omgeleid .ritinfo-routelijn[lijnstukje="volgende-anders"]::after {
    border-width: 0.25ch 0.25ch 0 0;
    border-radius: 0 100% 0 0;
    top: 50%;
    left: calc(50% + 0.125ch - 1px);
}

.ritinfo-routelijn[lijnstukje="volgende"].actief,
.ritinfo-routelijn[lijnstukje="vorige"].actief {
    background-color: var(--accentkleur);
}

.ritinfo-routelijn[lijnstukje="volgende-anders"].actief::before,
.ritinfo-routelijn[lijnstukje="volgende-anders"].actief::after {
    border-color: var(--accentkleur);
}

.ritinfo-routepunt {
  height: 0.75lh;
  aspect-ratio: 1 / 1;
  background-color: var(--ouderoute);
  border-radius: 100%;
  top: calc(50% - 0.375lh);
  left: calc(calc(75% - 0.375lh) - calc(0.125lh / 2));
  display: grid;
  justify-content: center;
  align-items: center;
  color:black;
}

.ritinfo-routepunt.geenknoop {
    height: 0.70lh;
    aspect-ratio: 1 / 1;
    border:0.025lh solid;
    border-color: var(--ouderoute); 
    background-color: black;
    color: var(--ouderoute);
}


.ritinfo-route.ritinfo-route.omgeleid .ritinfo-routepunt:not(.oude-route) {
    left: calc(calc(25% - 0.375lh) - calc(0.125lh / 2));
}
.ritinfo-routepunt.actief:not(.geenknoop),
.ritinfo-routestreep.actief
{background-color: var(--accentkleur);}

.ritinfo-routepunt.actief.geenknoop {
    border-color:var(--accentkleur);
    color: var(--accentkleur);
}

.ritinfo-routepunt::after {
    content: attr(soort);
    font-size: 6pt;
    font-weight: bold;
}
/* .ritinfo-routepunt.omgeleid {
    height: 1lh;
    aspect-ratio: 1 / 1;
    background-color: white;
    border-radius: 100%;
    top: 0.15lh;
    left: calc(calc(75% - 0.5lh) - calc(0.125lh / 2));
} */
.ritinfo-routestreep {
    height: 0.25lh;
    width: 1em;
    background-color: var(--ouderoute);
    top: calc(50% - 0.125lh);
    left: calc(75% - 0.5em - 0.0725em);
    display: grid;
    justify-content: center;
    align-items: center;
}
.ritinfo-route.omgeleid .ritinfo-routestreep {
    left: calc(25% - 0.5em - 0.0725em);
}


.ritinfo-kaart-grid {
    display: grid;
    width: 100%;
    height: 50%;
    justify-content: center;
    align-items: center;
}

#ritinfo-kaart {
    width: 60vw;
    height: 40vh;
}

.oud {
    color: gray;
    text-decoration: line-through;
}
/* #storingvak-vertrektijden {
    font-family: 'CartoGothic Std';
    /*height: 45pt;

    width: 100%;
} */
#vertrektijd-storing-hoofdvlak {
    background-color: #ffde59;
    color: #000090;
}
#vertrektijd-storing-hoofdvlak.vertrektijd-calamiteit {
    font-family: 'CartoGothic Std';
    /*height: 45pt;*/
    background-color: #d50000;
    color: white;
    width: 100%;
}

#vertrektijd-storing-hoofdvlak.vertrektijd-spotuffy-bericht #vertrektijd-storingtitel {
    color: green;
}

#storingvak-vertrektijden h2 {
font-size: 16pt;
}
#storingvak-vertrektijden p {
    font-size: 16pt;
}
/* .leaflet-popup-content-wrapper {
    font-size: large;
}
.leaflet-popup.stationpunt, .leaflet-popup.storingpunt {
    font-family: 'CartoGothic Std';
    font-size: 20pt;
}
.leaflet-popup.stationpunt .leaflet-popup-content {
    margin: 2px;
}
.leaflet-popup.stationpunt .leaflet-popup-content-wrapper, .leaflet-popup.storingpunt .leaflet-popup-content-wrapper {
    font-family: 'CartoGothic Std';
    font-size: 20pt;
    border-radius: 0px;
    background-color: #000090;
    color:white
}
.leaflet-popup.storingpunt .leaflet-popup-content-wrapper {
    font-family: 'CartoGothic Std';
    font-size: 20pt;
    border-radius: 0px;
    background-color: #d50000;
    color:white
}
.leaflet-popup.werkzaamhedenpunt .leaflet-popup-content-wrapper {
    font-family: 'CartoGothic Std';
    font-size: 20pt;
    border-radius: 0px;
    color: black;
    background-color: #ffde59;
}
.leaflet-popup.stationpunt .leaflet-popup-tip-container , .leaflet-popup.storingpunt .leaflet-popup-tip-container, .leaflet-popup.werkzaamhedenpunt .leaflet-popup-tip-container {
    display: none;
} */
#menu-vtrein {
    background-color: rgba(0, 0, 0, 0.75);
    border-radius: 1px;
    color: white;
}
#menu-vtrein .instelling-aanpasser * {
    margin-left: 0;
}

.leaflet-div-icon:has(.vtrein-positiepunt, .vtrein-stationpunt) {
    background: transparent;
    border: transparent;
}

.vtrein-stationpunt {
    background-color: #000090;
    width: 1rem;
    height: 1rem;
    display: block;
    left: -0.5rem;
    top: -0.5rem;
    position: relative;
    border-radius: 1rem;
    /*transform: rotate(45deg);*/
    /* border: 0.25rem solid #FFFFFF */
}

.vtrein-stationpunt.vervallen {
    background-color: black;
}
.vtrein-stationpunt.extra {
    background-color: lawngreen;
}

.vtrein-positiepunt {
    background-color: #ffde59;
    font-size: 2.5vh;
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    width: 2.5vh;
    height: 2.5vh;
    left: -1.25vh;
    top: -1.25vh;
    position: relative;
    border-radius: 2.5vh;
    /* border: 0.25rem solid #FFFFFF */
}

.vtrein-positiepunt span {
    display: block;
}

.vtrein-stationpopup .leaflet-popup-tip {
    display: none;
}
.vtrein-stationpopup .leaflet-popup-content-wrapper {
    background-color: #000090;
    color: white;
    font-size: large;
    border-radius: unset;
    font-family: 'CartoGothic Std';

}
.vtrein-stationpopup .leaflet-popup-content {
    margin: 1mm;
    
}

.vtrein-stationpopup.vervallen .leaflet-popup-content-wrapper {
    background-color: black;
    text-decoration: line-through;
    text-decoration-color: #d50000;
    text-decoration-thickness: 20%;
}
.vtrein-stationpopup.extra .leaflet-popup-content-wrapper {
    text-decoration: underline;
    text-decoration-color: lawngreen;
    text-decoration-thickness: 20%;
}

#nsic {
    font-family: 'CartoGothic Std';
    /* font-size: 80px; */
    font-size: 7.5vh;
    vertical-align: middle;
}
.nsic-balk {
    background-color: #000090;
    color: white;
    width: 100%;
    height: 10%;
}
.nsic-balk.invert {
    background-color: black;
    color: white;
    width: 100%;
    height: 10%;
}
.nsic-balk-roze {
    background-color: magenta;
    color: white;
    width: 100%;
    height: 10%;
}
.nsic-balk img {
    max-height: 100%;
    display: inline;
}
.nsic-balk table {
    width: 98%;
    margin: 0;
    border-radius: 0%;
    height: 100%;
    margin-left: 1%;
    margin-right: 1%;
}
.nsic-balk table tr td {
    vertical-align: middle;
}
.nsic-balk-hoofdinfo {
    width: 90%;
}
.nsic-balk-tijdinfo {
    width: 10%;
}
.nsic-hoofdscherm {
    background-color: white;
    color: #000090;
    height: 40%;
}
.nsic-hoofdscherm table {
    width: 98%;
    margin: 0;
    border-radius: 0%;
    height: 100%;
    margin-left: 1%;
    margin-right: 1%;
    
}
.nsic-hoofdscherm tr {
    width: 100%;
    height: calc(100% / 3);
}
#nsic-volgendestation-tijd, #nsic-volgendestation {
    font-weight: bold;
    /* font-size: 120px; */
    font-size: 11vh;
}
.nsic-details {
    background-color: #000090;
    color: white;
    height: 50%;
    overflow-y: hidden;
}
.nsic-details table {
    width: 98%;
    margin: 0;
    border-radius: 0%;
    margin-left: 1%;
    margin-right: 1%;
    /*height: 100%;*/ 
}  
.nsic-details table tbody tr {
    /* height: 180px;  */
    height: calc(calc(50vh / 3) - 2px);
}
.nsic-tussenstationstijd {
    width: 12.5%;
}
/*.nsic-tussenstationslijn {
    margin-top: -1.75%;
    width: 7.5%;
    border-left: 25px solid white;
    height: 100%;
    position: absolute;
    left: 15.75%;
    
}*/
.testlijn {
    /* height: 101%; */
    height: 105%;
    /* width: 20%; */
    background-color: white;
    display: inline-block;
    position: absolute;
    width: 2.6vh;
    /* left: 40%; */
    left: 5.2vh;
    bottom: 0%;

}
.eindlijn {
    /* height: 51%;
    /* left: 40%; */
    /* width: 20%; */   
    height: 55%;  
    background-color: white;
    display: inline-block;
    position: absolute;
    width: 2.6vh;  
    left: 5.2vh;
    bottom: 50%;
}
.nsic-tussenstation {
    /* height: 80px; */
    height: 7.5vh;
    /* width: 80px; */
    width: 7.5vh;
    position: relative;
    /* left: calc(50% - 40px); */
    left: 2.6vh;
    /* margin-top: 20px; */
    margin-top: 1.875vh;
    background-color: white;
    border-radius: 50%;
    display: inline-block;
    
}
.nsic-tussenstationsrij {
    font-weight: bold;
}
.nsic-eindstation {
    /* height: 100px;
    width: 100px; */
    height: 9vh;
    width: 9vh;
    /* margin-left: calc(50% - 50px); */
    margin-left: 1.8vh;
    background-color: white;
    border-radius: 50%;
    display: inline-block;
    
}
.nsic-tussenstationslijn.nsic-eindstation {

}
.nsic-tussenstationsnaam {
    width: 80%;
}
.nsic-soort {
    font-style: italic;
    font-weight: bold;

}
.nsic-soort-icoon {
    height: 100%;
    position: relative;
    display: inline-block;
    margin: 0;
    width: 5%;

}
.nsic-soort-icoon > img {
    display: block;
    position: absolute;
    min-height: 100%;
}
.nsic-bestemming {
    font-weight: bold;
}
.nsic-tijd {
    display: block;
    text-align: end;
    font-weight: bold;
}
.nsic-overstappen {
    background-color: #000090;
    color: white;
    height: 50%;
    overflow-y: hidden;
}
.nsic-overstappen p {
    margin: 1%;
}
.nsic-overstappen table {
    margin: 1%;
    height: 75%;
    width: 98%;
    font-weight: bold;
}
.nsic-overstappen table tr {
    height: calc(100% / 3);
}
.nsic-overstappen div {
    height: 100%;
}
.rechts-aanhouden {
    float: right;
}
.stationscherm-stations {
    font-weight: bold;
    /* font-size: 120px; */
    font-size: 11vh;
    color: #000090;
    word-break: keep-all;
}
.stationscherm-boodschap {
    margin-top: 2%;
    color: #000090;
}
#nsic-eindbestemming {
    color: #000090;
}
#nsic-stationvertrek {
    color: #000090;
    position: absolute;
    bottom: 1%;
    left: 1%;
    font-weight: bold;
    /* font-size: 40px; */
    font-size: 3.6vh;
}
.nsic-vertraagd {
    text-decoration: underline;
    text-decoration-color: #d50000;
    text-decoration-thickness: 10%;
}
.nsic-stationscherm {
    height: 100%;
    background-color: white;
}
#nsic-naderendstation-tijd, #nsic-naderendstation {
    font-weight: bold;
    /* font-size: 120px; */
    font-size: 11vh;
}
#nsic-storingsscherm {
    background-image: url('materialen/afbeeldingen/vtrein.jpg');
    background-attachment: fixed;
    background-size: 100% auto;
}
#nsic-storingsbericht {
    color: black;
    background-color: rgba(255, 255, 255, 0.4);
    margin-right: 60%;
    margin-top: 3%;
    margin-left: 3%;
    padding: 1%;
    border-radius: 15px;
}   
#nsic-mededelingen {
    background-color: #ffde59;
    color: #000090;
    height: 100%;
    padding: 2%;
}

.nsic-tijdtype.vtrein-gewijzigd {
    text-decoration: underline;
    text-decoration-color: #d50000;
    text-decoration-thickness: 10%;
}

.nsic-teksttype.vtrein-gewijzigd {
    color: #d50000;
}

.nsic-teksttype-omliggend:has(*.nsic-teksttype.vtrein-gewijzigd) {
    color: #d50000;
}

/*nieuw*/
#nsic .vtrein-onderwegscherm {
    width: 100%;
    height: 100%;
}

#nsic .vtrein-onderwegscherm > * {
    width: 100%;
    height: 100%;
}

.popupvenster {
    position: absolute;
    z-index: 1;
    left: 25%;
    top: 25%;
    width: 50%;
    height: 25%;
    background-color: lightgrey;
    border: 2px solid black;
}
.overtitel {
    background: linear-gradient(-10deg, gold, darkblue, darkblue, darkblue, gold);
    font-weight: bold;
    color: white;
    border-bottom: 2px solid black;
}
.overtitel button {
    background-color: rgba(0, 0, 0, 0);
    font-size: 8pt;
    border-radius: 0;
    color: black;
    background-color: white;
    font-weight: bold;
    display: inline;
    float: right;
}

#instelling-aanpasser span {
    line-height: 1.5;

}

.instelling-kop {
    font-weight: bold;
    margin: 0;
}

.instellingen-zonder-kop .instelling-kop {
    display: none;
}

.instelling-melding {
    color: var(--tekst-achtergrond);
    font-style: italic;
}

select {
    font-size: 12pt;
    font-family: dejavu;
    color: var(--accentkleur);
    border: 1px solid var(--accentkleur);
    border-radius: 4px;
    background-color: transparent;
    margin-bottom: 0.25%;
    appearance: none;
    background-position: center right;
    background-image: url("materialen/afbeeldingen/drop.svg");
    background-repeat: no-repeat;
    padding: 0.2ch;
    padding-right: 2ch;
}

#instelling-aanpasser input, #tab-drgl input, button,#instelling-aanpasser th,#instelling-aanpasser td, .instelling-aanpasser td {
    font-size: 12pt;
    font-family: dejavu;
    color: var(--accentkleur);
    border: 1px solid var(--accentkleur);
    border-radius: 4px;
    background-color: transparent;
    margin-bottom: 0.25%;

}
#instelling-aanpasser table,
.instelling-aanpasser table {
    width: 20vw;
    height: 14pt;
    table-layout: fixed;
    word-break: break-all;

} 
#instelling-aanpasser th, #instelling-aanpasser tr,
.instelling-aanpasser th, .instelling-aanpasser tr
 {
    height: 24pt;
} 
input[type="checkbox"]:checked {
    accent-color: var(--accentkleur);
}

@keyframes sgm {
    0% {
        transform: translateX(100vw);
        left: 0;
      }

      100% {
        transform: translateX(-100%);
        left: 100%;
      }
    /* 0%{ transform: translate(100vw, 0); }
    100%{ transform: translate(-200vw, 0); } */
}

.sgm {
    font-size: 5vw;
}

.sgm-scroll {
    animation: sgm 30s linear infinite;
    display: inline-block;
}

.sgm-scherm {
    background-color: black;
    height: 100vh;
}

.sgm-scherm * {
    font-family: breed;
    color: orange;
}

#arriva-noord .arrnoord-scherm {
    height: 100vh;
    font-family: 'Arial Narrow';
}

.arrnoord-scherm *.vtrein-gewijzigd {
    color: #df1313;
}

.arrnoord-scherm *.vtrein-extra {
    color: #25bf78;
}

.arrnoord-scherm *.vtrein-vervallen {
    color: #55595e;
}

.arrnoord-achter-blauw {background-color: #2D146E}
.arrnoord-achter-accent {background-color: #00becd}
.arrnoord-achter-wit {
    color:#000000;
    background-color: #FFFFFF;
}

.arrnoord-titel {
    height: 19.5vh;
    font-size: 15vh;
    display: table;
    overflow-x: scroll;
    white-space: nowrap;
}
.arrnoord-titel span {
    display: table-cell;
    vertical-align: middle;
    line-height: 19.5vh;
}
.arrnoord-titel .arrnoord-links {
    width: 85vw;
}
.arrnoord-titel .arrnoord-rechts {
    text-align: right;
    width: 15vw;
}
.arrnoord-scheiding {height: 1vh}

.arrnoord-beneden {
    align-content: end;
}

.arrnoord-huidig-station {
    height: 24.5vh;
    line-height: 1;
}
.arrnoord-huidig-station * {
    margin: 0;
    padding: 0  ;
}
.arrnoord-huidig-station-bijschrift {
    font-family: Arial;
    font-size: 5.5vh;
}
.arrnoord-huidig-station-tussenruimte {
    font-size: 4vh;
}
.arrnoord-vertrektijd {
    font-size: 7vh;
    font-family: 'Arial Narrow';
}
.arrnoord-huidig-station-aankomst {
    font-size:  10vh;
    line-height: 15vh;
}
.arrnoord-station-aankomst-boven {
    padding-bottom: 5.5vh;
}
.arrnoord-huidig-station-titel {
    font-size:  17.5vh;
    overflow-x: scroll;
    white-space: nowrap;
}
.arrnoord-grid {
    display: grid;
    gap: 0;
    grid-template-columns: 15vw 70vw 15vw;
}
.arrnoord-stationslijst {
    height: 44.5vh;
    overflow: hidden;
}
.arrnoord-spoor {
    height: 9.5vh;
    display: grid;
    gap: 0;
    grid-template-columns: 17.5vw auto;
}


.arrnoord-tijd {
    float: right;
    font-size:  10vh;
}

.arrnoord-komend-station {
    height: calc(100% / 3);
}
.arrnoord-komend-station-tijd {
    font-size: 10vh;
    line-height: 12.5vh;
}
.arrnoord-komend-station-naam {
    font-size: 12vh;
    white-space: nowrap;
}
.arrnoord-komend-station-plaatje {
    font-size: 7.5vh;
    align-content: center;
    text-align: right;
    padding: 1.5vh;
}
.arrnoord-onderbalk-spoor {
    font-family: Arial;
    font-size: 7.5vh;
}

.arrnoord-overstaplijst {
    height: 43.5vh;
    overflow: hidden;
    display: grid;
    grid-template-rows: calc(43.5vh / 3) calc(43.5vh / 3) calc(43.5vh / 3);
    background-color: white;
    color: black;
    --zichtbare-overstaps-eersten: visible;
    --zichtbare-overstaps-middelsten: visible;
    --zichtbare-overstaps-laatsten: visible;
    --positie-overstaps-eersten: static;
    --positie-overstaps-middelsten: static;
    --positie-overstaps-laatsten: static;
}

.arrnoord-overstaplijst:has(> :nth-last-child(4):nth-child(-n + 3)) {
    animation: arrnoord-twee-overstappaginas 15s infinite;
}

.arrnoord-overstaplijst:has(> :nth-last-child(7):nth-child(-n + 3)) {
    animation: arrnoord-drie-overstappaginas 15s infinite;
}

@keyframes arrnoord-twee-overstappaginas {
    0% {
        --zichtbare-overstaps-eersten: visible;
        --positie-overstaps-eersten: static;
    }
    50% {
        --zichtbare-overstaps-eersten: hidden;
        --positie-overstaps-eersten: absolute;
    }
    100% {
        --zichtbare-overstaps-eersten: visible;
        --positie-overstaps-eersten: static;
    }
}

@keyframes arrnoord-drie-overstappaginas {
    0% {
        --zichtbare-overstaps-eersten: visible;
        --positie-overstaps-eersten: static;
        --zichtbare-overstaps-middelsten: visible;
        --positie-overstaps-middelsten: static;
    }
    33% {
        --zichtbare-overstaps-eersten: hidden;
        --positie-overstaps-eersten: absolute;
        --zichtbare-overstaps-middelsten: visible;
        --positie-overstaps-middelsten: static;
    }
    66% {
        --zichtbare-overstaps-eersten: hidden;
        --positie-overstaps-eersten: absolute;
        --zichtbare-overstaps-middelsten: hidden;
        --positie-overstaps-middelsten: absolute;
    }
}

.arrnoord-overstaplijst > :nth-child(n+1):nth-child(-n+3) {
    visibility: var(--zichtbare-overstaps-eersten);
    position: var(--positie-overstaps-eersten);
}

.arrnoord-overstaplijst > :nth-child(n+4):nth-child(-n+6) {
    visibility: var(--zichtbare-overstaps-middelsten);
    position: var(--positie-overstaps-middelsten);
}

.arrnoord-overstaplijst > :nth-child(n+7):nth-child(-n+9) {
    visibility: var(--zichtbare-overstaps-laatste);
    position: var(--positie-overstaps-laatste);
}

.arrnoord-overstaplijst > div {
    display: grid;
    grid-template-columns: 20vw 60vw 20vw;
    font-size: 10vh;
    align-content: end;
    overflow-x: hidden;
    white-space: nowrap;
}
.arrnoord-overstap-soort {
    text-align: right;
    padding-right: 2ch;
}
.arrnoord-overstap-tijd {
    font-size: 7vh;
}

.arrnoord-bericht {
    height: 100vh;
    background: url('./materialen/afbeeldingen/arrnoord-mededeling.svg') no-repeat fixed calc(75vw - 1px), linear-gradient(to right, #00beceff 0%, #00beceff 75%, white 75%);
    font-family: 'Open Sans';
    display: grid;
    grid-template-columns: 75%;
    grid-template-rows: min-content;
}
.arrnoord-bericht * {
    width: 75vw;
    word-wrap: normal;
    margin: 1vw;
}

.arrnoord-logo {
    position: absolute;
    bottom: 0;
    left: 0;
    margin-left: 1vw;
    margin-bottom: 2.5vh;
    font-size: 5vh;
    font-family: dejavu;
    font-weight: bold;
    display: grid;
    grid-template-columns: auto auto;
    align-items: center;
    
}
.arrnoord-logo span {
    margin: 0;
}
.arrnoord-logo img {
    display: inline;
    height: 1lh;
    width: auto;
    margin: 0 1vw;
}

.arrnoord-bericht h1 {
    font-size: 5vw;
}
.arrnoord-bericht div {
    font-size: 2.5vw;
}

 #instelling-aanpasser select {
    font-size: 12pt;
    color: var(--accentkleur);
    border: 1px solid var(--accentkleur);
    border-radius: 4px;
    background-color: transparent;
} 

.gtwruf-scherm {
    height: 100vh;
    font-family: Arial;
    font-weight: bold;
}

.gtwruf-kleurstelling-arr {
    --bovenbalktekst: white;
    --bovenbalkkleur: darkblue;
    --tijdachtergrondkleur: white;
    --eindbestemmingkleur: lightgray;
    --eindbestemmingtekst: black;
    --onderbalkkleur: red;
    --logokleur: white;
    --lijnkleur: gray;
    --stationpuntkleur: white;
    --overstapwitkleur: white;
    --overstapkopkleur: white;
    --overstapkoptekst: darkblue;
    --overstapkleur: darkblue;
    --overstaptekst: white;
    --niet-instapkleur: red;
        --stationslijstkleur: white;
    --stationstekstkleur: black;
}
.gtwruf-kleurstelling-arr[data-dynamischewaarde="NS"] {
    --bovenbalktekst: white;
    --bovenbalkkleur: #003373;
    --tijdachtergrondkleur: white;
    --eindbestemmingkleur: lightgray;
    --eindbestemmingtekst: black;
    --onderbalkkleur: #ffac00;
    --logokleur: white;
    --lijnkleur: #ffac00;
    --stationpuntkleur: white;
    --overstapwitkleur: white;
    --overstapkopkleur: white;
    --overstapkoptekst: #003373;
    --overstapkleur: #003373;
    --overstaptekst: white;
    --niet-instapkleur: red;
        --stationslijstkleur: white;
    --stationstekstkleur: black;
}
.gtwruf-kleurstelling-arr[data-dynamischewaarde="RRReis"] {
    --bovenbalktekst: white;
    --bovenbalkkleur: #59167d;
    --tijdachtergrondkleur: white;
    --eindbestemmingkleur: lightgray;
    --eindbestemmingtekst: black;
    --onderbalkkleur: #00965e;
    --logokleur: white;
    --lijnkleur: #3b7ed8;
    --stationpuntkleur: white;
    --overstapwitkleur: white;
    --overstapkopkleur: white;
    --overstapkoptekst: darkblue;
    --overstapkleur: darkblue;
    --overstaptekst: white;
    --niet-instapkleur: red;
    --stationslijstkleur: white;
    --stationstekstkleur: black;
}
.gtwruf-kleurstelling-arr[data-dynamischewaarde="RRReis"] .gtwruf-logo img {
    content: url('materialen/afbeeldingen/RRReis.png');
}
.gtwruf-kleurstelling-arr[data-dynamischewaarde="R-net"] {
    --bovenbalktekst: white;
    --bovenbalkkleur: #ff7c00;
    --tijdachtergrondkleur: white;
    --eindbestemmingkleur: #fff9ed;
    --eindbestemmingtekst: #4c3522;
    --onderbalkkleur: #ff7c00;
    --logokleur: white;
    --lijnkleur: #ff7c00;
    --stationpuntkleur: white;
    --overstapwitkleur: white;
    --overstapkopkleur: white;
    --overstapkoptekst: darkblue;
    --overstapkleur: darkblue;
    --overstaptekst: white;
    --niet-instapkleur: red;
        --stationslijstkleur: white;
    --stationstekstkleur: black;
}
.gtwruf-kleurstelling-arr[data-dynamischewaarde="R-net"] .gtwruf-logo img {
    content: url('materialen/afbeeldingen/qbuzz.gif');
}

.gtwruf-kleurstelling-arr[data-dynamischewaarde="Blauwnet"] {
    --bovenbalktekst: white;
    --bovenbalkkleur: #0061a1;
    --tijdachtergrondkleur: white;
    --eindbestemmingkleur: #e5eff6;
    --eindbestemmingtekst: black;
    --onderbalkkleur: #069edb;
    --logokleur: white;
    --lijnkleur: #069edb;
    --stationpuntkleur: white;
    --overstapwitkleur: white;
    --overstapkopkleur: white;
    --overstapkoptekst: #0061a1;
    --overstapkleur: #0061a1;
    --overstaptekst: white;
    --niet-instapkleur: red;
        --stationslijstkleur: white;
    --stationstekstkleur: black;
}
.gtwruf-kleurstelling-arr[data-dynamischewaarde="Blauwnet"] .gtwruf-logo img {
    content: url('materialen/afbeeldingen/blauwnet.png');
}
.gtwruf-kleurstelling-arr[data-dynamischewaarde="Connexxion"] {
    --bovenbalktekst: white;
    --bovenbalkkleur: #006272;
    --tijdachtergrondkleur: white;
    --eindbestemmingkleur: #006272;
    --eindbestemmingtekst: white;
    --onderbalkkleur: #e1e000;
    --logokleur: white;
    --lijnkleur: #e1e000;
    --stationpuntkleur: white;
    --overstapwitkleur: white;
    --overstapkopkleur: white;
    --overstapkoptekst: darkblue;
    --overstapkleur: darkblue;
    --overstaptekst: white;
    --niet-instapkleur: red;
    --stationslijstkleur: white;
    --stationstekstkleur: black;
}
.gtwruf-kleurstelling-arr[data-dynamischewaarde="Connexxion"] .gtwruf-logo img {
    content: url('materialen/afbeeldingen/cxx.svg');
}
.gtwruf-kleurstelling-arr[data-dynamischewaarde="Transdev"] {
    --bovenbalktekst: white;
    --bovenbalkkleur: #fe0000;
    --tijdachtergrondkleur: white;
    --eindbestemmingkleur: #dcdcdc;
    --eindbestemmingtekst: black;
    --onderbalkkleur: #fe0000;
    --logokleur: white;
    --lijnkleur: #fe0000;
    --stationpuntkleur: white;
    --overstapwitkleur: white;
    --overstapkopkleur: white;
    --overstapkoptekst: darkblue;
    --overstapkleur: darkblue;
    --overstaptekst: white;
    --niet-instapkleur: red;
        --stationslijstkleur: white;
    --stationstekstkleur: black;
}
.gtwruf-kleurstelling-arr[data-dynamischewaarde="Hermes"] {
    --bovenbalktekst: white;
    --bovenbalkkleur: #009ee0;
    --tijdachtergrondkleur: white;
    --eindbestemmingkleur: #009ee0;
    --eindbestemmingtekst: white;
    --onderbalkkleur: #e3227a;
    --logokleur: white;
    --lijnkleur: #e3227a;
    --stationpuntkleur: white;
    --overstapwitkleur: white;
    --overstapkopkleur: white;
    --overstapkoptekst: darkblue;
    --overstapkleur: darkblue;
    --overstaptekst: white;
    --niet-instapkleur: red;
        --stationslijstkleur: white;
    --stationstekstkleur: black;
}
.gtwruf-kleurstelling-arr[data-dynamischewaarde="Hermes"] .gtwruf-logo img,
.gtwruf-kleurstelling-arr[data-dynamischewaarde="Hermes"] .gtwruf-logo img {
    content: url('materialen/afbeeldingen/breng.svg');
}

.gtwruf-kleurstelling-arr[data-dynamischewaarde="NS"] .gtwruf-logo img ,
.gtwruf-kleurstelling-arr[data-dynamischewaarde="NS Int"] .gtwruf-logo img {
    content: url('materialen/afbeeldingen/NS.svg');
}

.gtwruf-kleurstelling-arr[data-dynamischewaarde="Arriva"] .gtwruf-logo img {
    content: url('materialen/afbeeldingen/arriva.gif');
}

.gtwruf-kleurstelling-arr[data-dynamischewaarde="Limburg"] {
    --bovenbalktekst: black;
    --bovenbalkkleur: #fdfdfc;
    --tijdachtergrondkleur: #2d558e;
    --eindbestemmingkleur: #f6c50a;
    --eindbestemmingtekst: black;
    --onderbalkkleur: #f6c50a;
    --logokleur: white;
    --lijnkleur: #d90c15;
    --stationpuntkleur: #fdfdfc;
    --overstapwitkleur: #fdfdfc;
    --overstapkopkleur: #fdfdfc;
    --overstapkoptekst: darkblue;
    --overstapkleur: darkblue;
    --overstaptekst: #fdfdfc;
    --niet-instapkleur: red;
    --stationslijstkleur: #2d558e;
    --stationstekstkleur: #fdfdfc;
}

.gtwruf-kleurstelling-arr[data-dynamischewaarde="Limburg"] .gtwruf-logo img {
    content: url('materialen/afbeeldingen/limburg.svg');
}

.gtwruf-kleurstelling-arr[data-dynamischewaarde="Veolia"] {
    --bovenbalktekst: white;
    --bovenbalkkleur: #666666;
    --stationslijstkleur: white;
    --eindbestemmingkleur: #666666;
    --eindbestemmingtekst: white;
    --onderbalkkleur: #ED1C24;
    --logokleur: white;
    --lijnkleur: #ED1C24;
    --stationpuntkleur: white;
    --overstapwitkleur: white;
    --overstapkopkleur: white;
    --overstapkoptekst: darkblue;
    --overstapkleur: darkblue;
    --overstaptekst: white;
    --niet-instapkleur: red;
    --stationslijstkleur: white;
    --stationstekstkleur:  black;
}

.gtwruf-kleurstelling-arr[data-dynamischewaarde="Veolia"] .gtwruf-logo img {
    content: url('materialen/afbeeldingen/veolia.svg');
}


.gtwruf-kleurstelling-mll {
    --bovenbalktekst: white;
    --bovenbalkkleur: darkblue;
    --tijdachtergrondkleur: white;
    --eindbestemmingkleur: lightgray;
    --eindbestemmingtekst: black;
    --onderbalkkleur: red;
    --logokleur: red;
    --lijnkleur: red;
    --stationpuntkleur: white;
    --overstapwitkleur: white;
    --overstapkopkleur: white;
    --overstapkoptekst: darkblue;
    --overstapkleur: darkblue;
    --overstaptekst: white;
    --niet-instapkleur: red;
    --stationslijstkleur: white;
    --stationstekstkleur: black;
}

.gtwruf-kleurstelling-mll .gtwruf-logo img {
    content: url('materialen/afbeeldingen/rnet.png');
}

.gtwruf-bovenbalk {
    height: 20vh;
    background-color: var(--bovenbalkkleur);
    color: var(--bovenbalktekst);
}

.gtwruf-bovenbalk.niet-instappen {
    height: 20vh;
    background-color: var(--niet-instapkleur);
}

.gtwruf-stationslijst {
    height: 40vh;
    background-color: var(--stationslijstkleur);
    color: var(--stationstekstkleur);
}

.gtwruf-eindbestemming {
    height: 20vh;
    background-color: var(--eindbestemmingkleur);
    color: var(--eindbestemmingtekst);
}

.gtwruf-onderbalk {
    height: 20vh;
    background-color: var(--onderbalkkleur);
}

.gtwruf-grid {
    display: grid;
    grid-template-columns: calc(100vw / 6) 10vw auto 15vw;
    align-items: center;
}

.gtwruf-grid-stationslijst {
    display: grid;
    grid-template-columns: auto;
    align-items: start;
    grid-template-rows: auto auto auto;
    padding-top: 5vw;
}

.gtwruf-punt-grid {
    display: grid;
    grid-template-columns: auto;
    grid-template-rows: auto;
    justify-content: center;
    align-items: center;
}

.gtwruf-titel {
    font-size: 10vh;
}

.gtwruf-titelinspring {
    text-indent: 1ch;
}

.gtwruf-logo {
    background-color: var(--logokleur);
    height: 100%;
}

.gtwruf-logo-grid {
    display: grid;
    grid-template-columns: auto;
    grid-template-rows: auto;
    align-items: center;
    justify-content: center;
    height: 100%;
}

.gtwruf-logo-grid img {
    max-height: 15vh;
    max-width: calc(100vw / 6);
}

.gtwruf-ondertitel {
    font-size: 5vh;
}

.gtwruf-tekst {
    font-size: 6vh;
}

.gtwruf-punt-huidig-station {
    position: sticky;
    height: 5vh;
    width: 5vh;
    background-color: var(--stationpuntkleur);
    border: 1vh solid var(--lijnkleur);
    border-radius: 50%;
    display: inline-block;
    z-index: 2;
}

.gtwruf-punt-tussenstation {
    height: 2.5vh;
    width: 2.5vh;
    background-color: var(--stationpuntkleur);
    border: 1vh solid var(--lijnkleur);
    border-radius: 50%;
    display: inline-block;
    z-index: 2;
}


.gtwruf-tussenstation-tijd {
    text-align: center;
}

.gtwruf-klok {
    height: 17.5vh;
    width: 17.5vh;
}

.gtwruf-lijn {
    position: absolute;
    left: 45%;
    top: 70%;
    background-color: var(--lijnkleur);
    width: 10%;
    height: 66vh;
    z-index: 1;  
}

.gtwruf-stippellijn-boven {
    position: absolute;
    left: 45%;
    top: 70%;
    background-color: var(--lijnkleur);
    width: 10%;
    height: calc(66vh * 0.75);
    z-index: 1;   
}

.gtwruf-stippellijn-onder {
    position: absolute;
    left: 4.5vw;
    top: calc(50% + calc(66vh * 0.75));
    width: 0;
    height: calc(66vh * 0.25);
    border-left: 1vw var(--lijnkleur) dashed;
    border-right: none;
    border-left-style: dotted;
    z-index: 1;  
}

.gtwruf-dubbele-kolom {
    grid-column: span 2
}

.gtwruf-overstapstation {
    padding-left: 2vw;
    height: 100%;
}

.gtwruf-overstappen-wit {
    height: 10vh;
    background-color: var(--overstapwitkleur);
}
.gtwruf-overstapgebied {
    grid-template-rows: repeat(12, auto);
}
.gtwruf-overstapgebied > * {
    height: calc(70vh / 12);
    overflow: hidden;
}
.gtwruf-overstapgrid {
    display: grid;
    grid-template-columns: calc(100vw / 9) calc(100vw / 18) auto  calc(100vw / 18) calc(100vw / 9);
    align-items: center;
    overflow: hidden;
}
.gtwruf-overstap-aansluiting {
    grid-column: 1 / 4;
    text-align: left;
    font-size: 3vh;
    background-color: var(--overstapkopkleur);
    color: var(--overstapkoptekst);
    padding-left: 1vw;
}
.gtwruf-overstapkop {
    background-color: var(--overstapkopkleur);
    color: var(--overstapkoptekst);
}
.gtwruf-overstapkoptekst {
    text-align: center;
    font-size: 2.5vh;

}
.gtwruf-overstap {
    background-color: var(--overstapkleur);
    color: var(--overstaptekst);
    font-size: 3vh;
}
.gtwruf-overstap div {
    border-top: 0.25vw solid var(--overstaptekst);
    height: 100%;
    align-content: center;
}
.gtwruf-overstap div:not(.gtwruf-overstap-links) {
    border-left: 0.25vw solid var(--overstaptekst);
}
.gtwruf-overstap-links {
    border-left: 0vw;
}

.gtwruf-overstap div:not(.gtwruf-overstap-eindbestemming) {
    text-align: center;
}
.gtwruf-overstap-eindbestemming {
    padding-left: 2vw;
    font-size: 3vh;
    text-align: left;
    vertical-align: top;
    align-self: top;
}

.gtwruf-blanco-tijd {
    height: 60vh;
    background-color: var(--tijdachtergrondkleur);
    position: relative;
}

.gtwruf-blanco-tijd object {
    position: absolute;
    bottom: 0;
    right: 0;
    width: 17.5vh;
    height: 17.5vh;
}

#nssp, .nssp {
    --accentkleur: #000090;
    --achtergrondkleur: #FFFFFF;
    --wijzigingskleur: #d50000;
    --vervallenkleur: #9090dd;
    height: 100vh;
    overflow: hidden;
    font-family: 'CartoGothic Std';
}
.nssp-balk {
    background-color: var(--accentkleur);
    color: var(--achtergrondkleur);
    height: 20vh;
    display: grid;
    grid-template-columns: 80vw 20vw;
    grid-template-rows: auto;
    align-items: center;
}
.nssp-balk * {
    padding: 0;
}

@keyframes nssp-eindbestemming {
    0% {
        transform: translateX(0%);
    }
    50% {
        transform: translateX(calc(-100% + 80vw));
    }
    100% {
        transform: translateX(0%);
    }
}
.nssp-balk .nssp-eindbestemming {
    overflow-x: clip;
}
.nssp-balk .vtrein-eindbestemming {
    min-width: 100%;
    display: inline-block;
    font-size: 18vh;
    font-weight: bold;
    white-space: nowrap;
    animation: nssp-eindbestemming 20s linear infinite;
}
.nssp-balk .vtrein-tijd {
    font-size: 12vh;
    font-weight: bold;
}
.nssp-inhoud {
    height: 80vh;
    padding: 2vh;
    background-color: var(--achtergrondkleur);
    color: var(--accentkleur);
}
.nssp-minigrid {
    display: grid;
    height: 100%;
    width: 100%;
    justify-content: center;
    align-items: center;
    position: relative;
}
.nssp-detail {
    font-size: 9.5vh;
    font-weight: lighter;
}
.nssp-titel {
    font-size: 18vh;
    font-weight: bold;
}
.nssp-titel-klein {
    font-size: 13.5vh;
    font-weight: bold;
}
.nssp-subtitel {
    font-size: 12vh;
    font-weight: bold;
}
#nssp .vtrein-gewijzigd:not(.vtrein-eindbestemming-tijd):not(
    .vtrein-tijd):not(.vtrein-volgend-station-tijd):not(
    .vtrein-station-tijd):not(.vtrein-tussenstations-tijd):not(
    .vtrein-overstappen-tijd) {
    color: var(--wijzigingskleur);
}

#nssp span:has(.vtrein-volgend-station-spoor):has(.vtrein-gewijzigd) {
    color: var(--wijzigingskleur);
}

#nssp .vtrein-eindbestemming-tijd.vtrein-gewijzigd,
#nssp .vtrein-tijd.vtrein-gewijzigd,
#nssp .vtrein-volgend-station-tijd.vtrein-gewijzigd,
#nssp .vtrein-station-tijd.vtrein-gewijzigd,
#nssp .vtrein-tussenstations-tijd.vtrein-gewijzigd,
#nssp .vtrein-overstappen-tijd.vtrein-gewijzigd
{
    text-decoration: underline;
    text-decoration-color: #d50000;
    text-decoration-thickness: 10%;
}

.nssp-inhoud .vtrein-overstappen {
    display: grid;
    align-items: center;
    row-gap: 5vh;
}

.nssp-overstap {
    display: grid;
    grid-template-columns: auto max-content;
    max-height: 1lh;
    overflow: hidden;
}

.nssp-overstap .vtrein-overstappen-bestemming {
    overflow: hidden;
    line-height: 12vh;
}
.nssp-rechts {
    float: right;
}
/* .nssp-overstap {
    align-content: center;
    display: grid;
    grid-template-columns: 70% 15% 15%;
} */
/* .nssp-overstap .vtrein-overstappen-spoor {
    justify-self: end;
}

.nssp-overstap .vtrein-overstappen-soort {
    justify-self: center;
} */
.nssp-stationsvlak {
    height: 80vh;
    padding: 0;
    background-color: var(--achtergrondkleur);
}
.nssp-volgende-stations {
    max-width: 100%;
    height: 100%;
    overflow-y: hidden;
    color: var(--accentkleur);

}
.nssp-tussenstation {
    height: calc(100% / 3);
    display: grid;
    align-items: center;
    grid-template-columns: 18.5% 5% 76.5%;
}
.nssp-tussenstation .vtrein-tussenstations-tijd {
    justify-self: center;
    padding-left: 1vw;
    font-size: 9.5vh;
    font-weight: bold;
}
.nssp-tussenstation .vtrein-tussenstations-naam {
    padding-left: 1vw;
    font-size: 12vh;
    font-weight: bold;
}
.nssp-tussenpunt, .nssp-eindpunt {
    align-items: center;
    background-color: var(--accentkleur);
    border-radius: 50%;
    display: inline-block;
}
.nssp-tussenlijn {
    width: 2vh;
    background-color: var(--accentkleur);
    height: 100%;
    display: block;
    position: absolute;
    top: 0;
    left: calc(50% - 1vh);
}
.nssp-tussenpunt {
    height: 7.5vh;
    width: 7.5vh;
}
.nssp-eindlijn {
    width: 2vh;
    background-color: var(--accentkleur);
    height: 50%;
    display: block;
    position: absolute;
    top: 0;
    left: calc(50% - 1vh);
}
.nssp-eindpunt {
    height: 9vh;
    width: 9vh;
}
.nssp-rechts {
    float: right;
}

#nssp .vtrein-storingsscherm {
    background-image: url('materialen/afbeeldingen/vtrein.jpg');
    background-repeat: no-repeat;
    background-attachment: fixed;
    background-size: cover;
    height: 100%;
}

.nssp-kaartvlak {
    height: 80vh;
    padding: 0;
}

.nssp-kaart {
    height: 80vh;
    width: 100vw;
    /* padding: 0; */
    background-color: black;
}
#ns25 {
    --detailkleur: #d5e5ff;
    --blauwkleur: #000090;
    --witkleur: white;
    --overstapkop: #d5e5ff;
    --overstapgrijs: #d5e5ff;
    --overstapwit: white;
    --roodkleur: #d50000;
    --roodfilter: hue-rotate(90deg);
    font-family: 'ns25';
}

.ns25-onderwegschermen {
    height: 100%;
}
.ns25-grid:not(.onzichtbaar) {
    display: grid;
    height: 100%;
    grid-template-rows: 25% 25% 50%;
    background-color: white;
}

.ns25-bovenbalk {
    display: grid;
    grid-template-rows: calc(100% / 3) calc(calc(100% / 3) * 2);
    background-color: var(--blauwkleur);
    color: var(--witkleur);
    align-items: center;
}

.ns25-bovenbalk > * {
    padding: 1.25vh;
}

.ns25-bovenbalk-bijschrift {
    display: grid;
    grid-template-columns: 75% 25%;
    font-size: calc(22.5vh / 3);
    line-height: calc(22.5vh / 3);
    
}

.ns25-eindbestemming {
    font-size: calc(calc(22.5vh / 3) * 2);
    font-weight: bold;
}

.ns25-bovenbalk-tijd {
    text-align: right;
}
.ns25-station, .ns25-tussenstation {
    display: grid;
    grid-template-columns: 7.5vw auto;
}
.ns25-station {
    color: var(--blauwkleur);
    background-color: var(--witkleur);
}
.ns25-station-inhoud {
    display: grid;
    grid-template-rows: calc(100% / 3) calc(calc(100% / 3) * 2);
}
.ns25-station-bijschrift,
.ns25-station-titel {
    display: grid;
    grid-template-columns: auto 30vw;
}
.ns25-station-bijschrift {
    font-size: calc(22.5vh / 3);
    line-height: calc(22.5vh / 3);
}
.ns25-station-titel {
    font-size: calc(calc(22.5vh / 3) * 2);
    font-weight: bold;
    line-height: calc(calc(25vh / 3) * 2);
    align-self: start;
}
.ns25-station-details {
    display: grid;
    grid-template-columns: auto auto;
    align-self: center;
}
.ns25-station-tijd {
    font-size: calc(22.5vh / 2);
    align-content: end;
    line-height: calc(calc(22.5vh / 3) * 2);
}
.ns25-station-spoor {
    justify-self: center;
}
.ns25-spoor-box {
    border: 0.5vh var(--blauwkleur) solid;
    height: 12.5vh;
    aspect-ratio: 1/1;
    display: grid;
    grid-template-rows: 25% 75%;  
    background-color: white;
}

.ns25-spoor-hoek {
    height: 100%;
    aspect-ratio: 1 / 1;
    background-color: var(--blauwkleur);
}

.ns25-spoor-onder {
    font-size: 7.5vh;
    justify-self: center;
    align-self: center;
    font-family: 'CartoGothic Std';
}

.ns25-spoor-onder.vtrein-gewijzigd {
    text-decoration: underline;
    text-decoration-color: var(--roodkleur);
    text-decoration-thickness: 10%;
    color: var(--roodkleur);
}

.ns25-spoor-onder sup {
    font-size: 5vh;
}

.ns25-station-route {
    position: relative;
    display: grid;
}

.ns25-routelijn {
    position: absolute;
    height: 100%;
    width: 1vw;
    left: calc(50% - 0.5vw);
    background-color: var(--blauwkleur);
}

.ns25-station-route .ns25-routelijn {
    height: 25vh;
}

.ns25-station-route .ns25-routelijn.ns25-routelijn-start {
    height: 10vh;
    bottom: 0;
}

.ns25-station-route .ns25-routelijn.ns25-routelijn-eind {
    height: 20vh;
}

.ns25-routepunt[data-punt="regulier"] {
    position: absolute;
    left: 50%;
    height: 1vw;
    width: 2.5vw;
    background-color: var(--blauwkleur);
    top: calc(50% - calc(1vw / 2));
}

.ns25-station-route .ns25-routepunt[data-punt="regulier"] {
    top: calc(calc(100% / 3 * 2) - calc(1vw / 2));
}

.ns25-routepunt[data-punt="eind"] {
    left: calc(50% - calc(5vh / 2) - 1vw);
    height: 5vh;
    aspect-ratio: 1 / 1;
    background-color: var(--witkleur);
    border: 1vw solid var(--blauwkleur);
    border-radius: 10vw;
    position: absolute;
    top: calc(50% - 2.5vh - 1vw);
}

.ns25-station-route .ns25-routepunt[data-punt="eind"],
.ns25-station-route .ns25-routepunt[data-punt="start"],
.ns25-station-route .ns25-routepunt
{
    top: calc(calc(100% / 3 * 2) - 2.5vh - 1vw);
}

.ns25-routepunt-container {
    display: grid;
    grid-template-rows: auto;
    justify-items: center;
    z-index: 1;
    height: 66%;
    align-self: center;
}

.ns25-routepunt[data-punt="start"] {
    left: calc(50% - calc(5vh / 2) - 1vw);
    height: 5vh;
    aspect-ratio: 1 / 1;
    background-color: var(--blauwkleur);
    border: 1vw solid var(--blauwkleur);
    border-radius: 10vw;
    position: absolute;
    top: calc(50% - 2.5vh - 1vw);
    box-shadow: inset 0 0 0 1vh var(--witkleur);
}

/* .ns25-routepunt {
    left: calc(50% - calc(5vh / 2) - 1vw);
    height: 5vh;
    aspect-ratio: 1 / 1;
    background-color: var(--witkleur);
    border: 1vh solid var(--blauwkleur);
    border-width: 1vw;
    border-radius: 10vw;
    position: absolute;
    top: calc(50% - 2.5vh - 1vh);
} */


.ns25-details, .ns25-details .ns25-routepunt[data-punt="eind"] {
    background-color:var(--detailkleur);
}

.ns25-mededeling {
    font-size: calc(22.5vh / 3);
    color: var(--blauwkleur);
}

.ns25-waarschuwing {
    height: 0.7lh;
}

.ns25-tussenstations:not(.onzichtbaar) {
    display: grid;
    grid-template-rows: calc(100% / 3) calc(100% / 3) calc(100% / 3);
    grid-auto-rows: calc(100% / 3);
    overflow-y: hidden;
    color: var(--blauwkleur);
    container-type: scroll-state;
    height: 100%;
}

.ns25-komende-stations:not(.onzichtbaar) {
    display: grid;
    grid-auto-rows: 100%;
    color: var(--blauwkleur);
    grid-template-columns: 7.5vw auto;
    font-size: calc(22.5vh / 3);
    height: 100%;
}
.ns25-komende-stations > :last-child {
    overflow-y: scroll;

}
.ns25-komende-stations :last-child::-webkit-scrollbar {
    -webkit-appearance: none;
    width: 7px;
    background-color: gray;

}

.ns25-komende-stations img {
    display: inline;
    height: 1lh;
    aspect-ratio: 1 / 1;
}

.ns25-tussenstations > .laatste-scroll:not(:first-child, :nth-last-child(-n+2)) .ns25-routelijn ,
.ns25-tussenstations > div:has(+ div + div:last-of-type.laatste-scroll):not(:first-child) .ns25-routelijn,
.ns25-tussenstations > div:has(+ div.laatste-scroll + div:last-of-type):not(:first-child) .ns25-routelijn
{
    /* @container scroll-state(stuck: top) {
        box-shadow: none;
    } */
    background-color: transparent;
    font-size: 100%;
    box-shadow: 
    inset 0 1em 0 0 var(--detailkleur),
    inset 0 2em 0 0 var(--blauwkleur),
    inset 0 3em 0 0 var(--detailkleur),
    inset 0 15em 0 0 var(--blauwkleur)
    ;
}


.ns25-tussenstations > :last-child .ns25-routelijn {
    height: 50%;
}

.ns25-tussenstation-inhoud {
    grid-template-columns: 15vw auto;
    font-size: 10vh;
    display: grid;
    justify-items: start;
    align-content: center;
}

.ns25-tussenstations:has(.ns25-tussenstation-tijd.vtrein-gewijzigd) .ns25-tussenstation-inhoud {
    grid-template-columns: 20vw auto;
}

.ns25-tussenstation-naam {
    font-weight: bold;
    padding-left:  1ch;
    width: 100%;
}

.ns25-tussenstation-route, .ns25-komende-stations-route {
    position: relative;
}

.ns25-overstappen-kop {
    background-color: var(--overstapkop);
    height: 7.5vh;
    font-size: 5vh;
    font-weight: bold;
    color: var(--blauwkleur);
    display: grid;
    align-items: center;
    grid-template-columns: auto auto;
}

.ns25-overstappen-kop :first-child {
    justify-self: start;
}

.ns25-overstappen-kop :last-child {
    justify-self: end;
}

.ns25-overstappen-tabel {
    height: 42.5vh;
    display: grid;
    grid-template-rows: calc(42.5vh / 3) calc(42.5vh / 3) calc(42.5vh / 3);
}
.ns25-overstappen-tabel > div:nth-child(2) {
    background-color: var(--overstapgrijs);
}
.ns25-overstappen-tabel > div {
    background-color: var(--overstapwit);
    line-height: 1lh;
    white-space: nowrap;
    color: var(--blauwkleur);
    display: grid;
    grid-template-columns: minmax(12.5vw, max-content) auto minmax(20vw, max-content) min-content;
    justify-items: center;
    font-size: 10vh;
    align-items: center;
    grid-gap: 2vw;
}

.ns25-overstappen-tabel > div > :nth-child(2) {
    width: 100%;
}

.ns25-overstappen-tabel:has(.vtrein-overstappen-tijd.vtrein-gewijzigd) > div {
    grid-template-columns: 17.5vw auto 20vw min-content;
}

.ns25-overstappen-tabel > div > span {
    display: inline-block;
}

.ns25-overstappen-tabel > div > :nth-child(2) {
    font-weight: bold;
}

.ns25-overstappen-tabel > div > :nth-child(1),
.ns25-overstappen-tabel > div > :nth-child(2) {
    justify-self: start;
}

/* .ns25-overstappen-tabel > div > :nth-child(3) {
    justify-self: end;
} */
.ns25-overstappen-tabel > div > :nth-child(4) {
    justify-self: end;
    font-weight: bold;
}

.ns25-overstappen-kop, .ns25-overstappen-tabel > div {
    padding-left: 1vw;
    padding-right: 1vw;
}

.ns25-vertraging {
    font-size: smaller;
    color: var(--roodkleur);
}

.ns25-storingsscherm {
    display: grid;
    grid-template-rows: 5vh auto 5vh;
    height: 100vh;
    background-image: url('materialen/afbeeldingen/vtrein.jpg');
    background-repeat: no-repeat;
    background-attachment: fixed;
    background-size: cover;
    color: var(--witkleur);
}
.ns25-storingsscherm :first-child, .ns25-storingsscherm :last-child {
    background-color: var(--blauwkleur);
    font-size: 3.5vh;
}
.ns25-storingsscherm > :first-child > :last-child {
    float: right;
}

#ns25-kaart {
    height: 100vh;
}

#protos {
    height: 100%;
    font-family: Arial;
    --tekstkleur: darkblue;
    --bovenbalkkleur: darkblue;
    --bovenbalktekstkleur: white;
    --stationskleur: darkblue;
    --komendstationkleur: darkred;
    --komendstationachtergrond: rgba(255, 255, 255, 50%);
    --lijnkleur: black;
    --achtergrond: skyblue;
    --logoachtergrond: white;
}

#protos > * {
    display: grid;
    justify-items: center;
    align-items: center;
    background-color: black;
}

.protos-scherm {
    height: 100%;
    aspect-ratio: 4 / 3;
    background: var(--achtergrond);
    color: var(--tekstkleur);
    display: grid;
    grid-auto-flow: column;
    grid-template-columns: calc(100vh / 6) 1vmin auto;
    font-weight: bold;
}

.protos-scherm > * {
    display: grid;
    grid-template-rows: calc(100vh / 6) auto;
}

.protos-logo {
    background: var(--logoachtergrond);
    display: grid;
    grid-row: auto;
    justify-items: center;
    align-items: center;
}

.protos-logo img {
    max-width: calc(100vh / 6);
    max-height: calc(100vh / 6);
}


.protos-pijl {
    justify-self: center;
    font-size: calc(100vmin / 9);
}

.protos-lijn {
    background-color: var(--lijnkleur);
}

.protos-bovenbalk {
    background-color: var(--bovenbalkkleur);
    color: var(--bovenbalktekstkleur);
    display: grid;
    grid-auto-flow: column;
    grid-template-columns: auto max-content;
    align-items: center;
    width: 100%
}

.protos-bestemming {
    justify-self: center;
    font-size: 5vmin;
}

.protos-tijd-datum {
    text-align: right;
    font-size: 4vmin;
    line-height: 1.75;
}

.protos-stations {
    padding: 15% 0;
    font-size: 5vmin;
    display: flex;
    flex-direction: column-reverse;
    justify-content: start;
}

.protos-stations > * {
    height: calc(20% / 110 * 100);
    position: relative;
    display: grid;
    grid-auto-flow: column;
    align-items: center;
}

.protos-stations > :first-child {
    height: calc(30% / 110 * 100);
    background: var(--komendstationachtergrond);
}

.protos-station-punt {
    position: absolute;
    height: 25%;
    border: 1vmin black solid;
    border-radius: 100%;
    aspect-ratio: 1 / 1;
    background-color: var(--stationskleur);
    transform: translateX(calc(-50% - 0.5vmin) /*, calc(50% - 12.5% - 0.5vmin)*/);

}

.protos-stations > :first-child .protos-station-punt {
    background-color: var(--komendstationkleur);
    position: absolute;
    height: 50%;
    border: 1.5vmin var(--lijnkleur) solid;
    /* transform: translate(calc(-50% - 0.5vmin), calc(50% - 25% - 0.5vmin)); */
    font-size:  5vmin;
}

.protos-station-tekst {
    padding: 0 1ch;
    display: grid;
    grid-auto-flow: column;
    grid-template-columns: auto min-content;
    
}

.protos-stations > :first-child .protos-station-tekst {
    padding-left: 2ch;
}

#protos .vtrein-tussenstations-tijd {
    float: right;
}


#zelftyper {
    height: 40vh;
    padding: 1%;
    color:var(--achtergrond);
    background-color: var(--voorgrond);
    line-height: 1;
    overflow: scroll;
    margin: 2% 0%;
    background-color: rgba(0, 0, 0, 0.5);
    color: var(--accentkleur);
    border: 2px solid var(--accentkleur);
    border-radius: 1vh;
    font-size: 2vh;
}

#zelftyper-fout {
    background-color: rgba(69.5, 0, 0, 0.5);
    color: var(--voorgrond);
    font-size: 2vh;
    border-radius: 1vh;
    padding: 0.5%;
    border: 2px solid var(--voorgrond)
}

#zelftyper-fout:empty {
    display: none;
}

#zelftyper * {
    margin: 0;
    display: inline;
}

[contentEditable=true]:empty:not(:focus):before {
    content: attr(data-placeholder)
}

#zelftyp-knop {
    display: inline-block;
}

.zelftyper-menu * {
    margin-left: 0%;
    margin-right: 0%;
}

.zelftyper-menu {
    padding: 0% 2%;
}

@media only screen and (max-width: 0px) {
    #nsic {
        font-family: 'CartoGothic Std';
        font-size: 20pt;
        vertical-align: middle;
    }
    .nsic-balk {
        background-color: #000090;
        color: white;
        width: 100%;
        height: 10%;
    }
    .nsic-balk.invert {
        background-color: black;
        color: white;
        width: 100%;
        height: 10%;
    }
    .nsic-balk-roze {
        background-color: magenta;
        color: white;
        width: 100%;
        height: 10%;
    }
    .nsic-balk img {
        max-height: 100%;
        display: inline;
    }
    .nsic-balk table {
        width: 98%;
        margin: 0;
        border-radius: 0%;
        height: 100%;
        margin-left: 1%;
        margin-right: 1%;
    }
    .nsic-balk table tr td {
        vertical-align: middle;
    }
    .nsic-balk-hoofdinfo {
        width: 90%;
    }
    .nsic-balk-tijdinfo {
        width: 10%;
    }
    .nsic-hoofdscherm {
        background-color: white;
        color: #000090;
        height: 40%;
    }
    .nsic-hoofdscherm table {
        width: 98%;
        margin: 0;
        border-radius: 0%;
        height: 100%;
        margin-left: 1%;
        margin-right: 1%;
        
    }
    .nsic-hoofdscherm tr {
        width: 100%;
        height: calc(100% / 3);
    }
    #nsic-volgendestation-tijd, #nsic-volgendestation {
        font-weight: bold;
        font-size: 30pt;
    }
    .nsic-details {
        background-color: #000090;
        color: white;
        height: 50%;
        overflow-y: hidden;
    }
    .nsic-details table {
        width: 98%;
        margin: 0;
        border: 0px;
        margin-left: 1%;
        margin-right: 1%;
        /*height: 100%;*/ 
    }  
    .nsic-details table tbody tr {
        height: 45pt; 
    }
    .nsic-tussenstationstijd {
        width: 12.5%;
    }
    /*.nsic-tussenstationslijn {
        margin-top: -1.75%;
        width: 7.5%;
        border-left: 25px solid white;
        height: 100%;
        position: absolute;
        left: 15.75%;
        
    }*/
    .testlijn {
        height: 110%;
        width: 20%;
        background-color: white;
        display: inline-block;
        position: absolute;
        left: 40%;
        bottom: 0%;
    
    }
    .eindlijn {
        height: 55%;
        width: 20%;
        background-color: white;
        display: inline-block;
        position: absolute;
        left: 40%;
        bottom: 50%;
    }
    .nsic-tussenstation {
        height: 20pt;
        width: 20pt;
        left: calc(50% - 10pt);
        margin-top: 5%;
        background-color: white;
        border-radius: 50%;
        display: inline-block;
        
    }
    .nsic-tussenstationsrij {
        font-weight: bold;
    }
    .nsic-eindstation {
        height: 25pt;
        width: 25pt;
        margin-left: calc(50% - 12.5pt);
        background-color: white;
        border-radius: 50%;
        display: inline-block;
        
    }
    .nsic-tussenstationslijn.nsic-eindstation {
    
    }
    .nsic-tussenstationsnaam {
        width: 80%;
    }
    .nsic-soort {
        font-style: italic;
        font-weight: bold;
    
    }
    .nsic-bestemming {
        font-weight: bold;
    }
    .nsic-tijd {
        display: block;
        text-align: end;
        font-weight: bold;
    }
    .nsic-overstappen {
        background-color: #000090;
        color: white;
        height: 50%;
        overflow-y: hidden;
    }
    .nsic-overstappen p {
        margin: 1%;
    }
    .nsic-overstappen table {
        margin: 1%;
        height: 75%;
        width: 98%;
        font-weight: bold;
    }
    .nsic-overstappen table tr {
        height: calc(100% / 3);
    }
    .nsic-overstappen div {
        height: 100%;
    }
    .rechts-aanhouden {
        float: right;
    }
    .stationscherm-stations {
        font-weight: bold;
        font-size: 35pt;
        color: #000090;
        word-break: keep-all;
    }
    .stationscherm-boodschap {
        margin-top: 2%;
        color: #000090;
    }
    #nsic-eindbestemming {
        color: #000090;
    }
    #nsic-stationvertrek {
        color: #000090;
        position: absolute;
        bottom: 1%;
        left: 1%;
        font-weight: bold;
        font-size: 10pt;
    }
    .nsic-vertraagd {
        text-decoration: underline;
        text-decoration-color: #d50000;
        text-decoration-thickness: 10%;
    }
    .nsic-stationscherm {
        height: 100%;
        background-color: white;
    }
    #nsic-naderendstation-tijd, #nsic-naderendstation {
        font-weight: bold;
        font-size: 20pt;
    }
    #nsic-storingsscherm {
        background-image: url('materialen/afbeeldingen/vtrein.jpg');
        background-attachment: fixed;
        background-size: 100% auto;
    }
    #nsic-storingsbericht {
        color: black;
        background-color: rgba(255, 255, 255, 0.4);
        margin-right: 60%;
        margin-top: 3%;
        margin-left: 3%;
        padding: 1%;
        border-radius: 1pt;
    }   
    #nsic-mededelingen {
        background-color: #ffde59;
        color: #000090;
        height: 100%;
        padding: 2%;
    }
}

#drgl-venster {
    padding: 5vmin;
    height: calc(100% - 10vmin);
    width: calc(100% - 10vmin);
}

#drgl-venster input[type="checkbox"] {
    margin-left: 0;
}

#drgl-tabel {
    display: grid;
    padding: 0.5vmin;
    grid-gap: 0.5vh;
}

#drgl-tabel > *:nth-child(n) {
    background-color: var(--tabelaccentkleur);
}
#drgl-tabel > *:nth-child(2n) {
    background-color: var(--tabelkleur);
}

#drgl-tabel > div {
    display: grid;
    grid-template-columns: auto auto auto auto max-content max-content max-content;
    gap: 0.5vmin;
    padding: 0.5vmin 0;
}


#bewerk-drgl > div {
    padding: 1vmin;
}

.drgllijstniveau > div {
    margin: 0.5vmin 0;
    padding: 0 0.5vmin;
}

.drglniveau {
    margin: 0.5vmin 0;
    padding: 0 0.5vmin;
}

.drglniveau > div {
    padding: 0.5vmin 0;
}

#bewerk-drgl > button {
    margin: 1vmin;
}

#bewerk-drgl > div:nth-child(n) {
    background-color: var(--tabelaccentkleur);
}
.drgllijstniveau > div > div:nth-child(n) {
    background-color: var(--tabelsterkaccentkluer);
}

#bewerk-drgl > div:nth-child(2n) {
    background-color: var(--tabelkleur);
}
.drgllijstniveau > div > div:nth-child(2n) {
    background-color: var(--tabelsterkkleur);
}

.drgllijstniveau > div {
    border-left: 0.5vmin var(--accentkleur) solid;
}