html { height: 100vh; padding: 0; margin: 0; } body { height: 100vh; padding: 0; margin: 0; font-size: 17px; font-weight: 400; display: flex; flex-direction: column; align-items: stretch; } .content { height: 100%; overflow-y: scroll; -ms-overflow-style: none; scrollbar-width: none; } @media print { .content { overflow-y: unset; } } .content::-webkit-scrollbar { display: none; } #loading { display: flex; align-items: center; justify-content: center; } footer { margin-top: auto; display: flex; align-items: flex-end; background-color: #e0e0e0; padding-bottom: env(safe-area-inset-bottom, 0); } footer * { text-transform: capitalize; } footer .lsk { flex-grow: 1; flex-basis: 0; text-align: start; } footer .csk { text-align: center; text-transform: uppercase; } footer .rsk { flex-grow: 1; flex-basis: 0; text-align: end; } header { background-color: white; display: flex; align-items: center; } header.embedded { position: fixed; left: env(titlebar-area-x, 0); top: env(titlebar-area-y, 0); width: env(titlebar-area-width, 100%); min-height: env(titlebar-area-height, 36px); -webkit-app-region: drag; app-region: drag; background-color: #0000ff; color: white; } .header.embedded .IC { color: #00ee00 !important; } .header.embedded .IR, .header.embedded .IRN { color: #ffaaaa !important; } @media (display-mode: window-controls-overlay) { header { position: fixed; left: env(titlebar-area-x, 0); top: env(titlebar-area-y, 0); width: env(titlebar-area-width, 100%); min-height: env(titlebar-area-height, 36px); -webkit-app-region: drag; app-region: drag; background-color: #0000ff; color: white; } .header .IC { color: #00ee00 !important; } .header .IR, .header .IRN { color: #ffaaaa !important; } header .back { -webkit-app-region: no-drag; app-region: no-drag; filter: invert(100%) sepia(0%) saturate(0%) hue-rotate(83deg) brightness(104%) contrast(101%); } .header-placeholder { box-sizing: border-box; height: max(env(titlebar-area-height, 36px), 42px); margin-bottom: 2px; background-color: #0000ff; } } header .left, header .right { flex-grow: 1; flex-basis: 0; } header .back { margin: 4px; height: 24px; cursor: pointer; } header.embedded .back { -webkit-app-region: no-drag; app-region: no-drag; filter: invert(100%) sepia(0%) saturate(0%) hue-rotate(83deg) brightness(104%) contrast(101%); } h1 { font-size: 17px; font-weight: 400; text-align: center; margin: 8px; } h2 { font-size: 17px; font-weight: 600; margin: 1px 0; padding-left: 8px; padding-right: 8px; } h3 { font-size: 14px; font-weight: 400; margin: 1px 0; padding-left: 8px; padding-right: 8px; } h4 { font-size: 14px; font-weight: 400; margin: 1px 0; padding-left: 8px; padding-right: 8px; color: #606060; background-color: #f0f0f0; } h5 { font-size: 14px; font-weight: 600; } p.pri { font-size: 17px; font-weight: 400; margin: 0 8px; } p.sec { font-size: 14px; font-weight: 400; margin: 0 8px; color: grey; } p.thi { font-size: 12px; font-weight: 400; margin: 0 8px; color: grey; } p, ul { font-size: 17px; font-weight: 400; margin: 0 8px; } p.link, a:not(.no-a-custom):not(.no-custom-a) { font-size: 17px; font-weight: 700; } p.btn, button { font-size: 17px; font-weight: 400; margin: 8px; padding: 8px; border: 1px solid grey; border-radius: 10px; } ul { padding: 0; margin: 0; } li { list-style: none; margin: 0; display: block; } li:focus { color: white; background-color: blue; } li.items:not(.disabled):hover:not(:focus) { color: black; background-color: lightskyblue; } a:not(.no-a-custom):not(.no-custom-a) { display: block; padding: 8px; } a:not(.no-a-custom):not(.no-custom-a):not(:focus):not(:hover) { color: black; } a.no-a-custom, a.no-custom-a { color: inherit; text-decoration: inherit; } a.inline:not(.no-a-custom):not(.no-custom-a) { display: inline; padding: 2px; } li a { text-decoration: none; } a.disabled { color: grey; text-decoration: none; } a:not(.disabled):hover:not(:focus) { color: black; background-color: lightskyblue; } a:focus, a:hover { color: white; background-color: blue; text-decoration: none; } input { display: block; box-sizing: border-box; width: calc(100% - 16px); margin: 8px; padding: 2px; border: 2px solid grey; } .hidden { display: none !important; } body { font-family: -apple-system, BlinkMacSystemFont, Ubuntu, 'Segoe UI', 'Roboto', Sans-Serif, sans-serif; } pre { margin: 0; display: inline; font-family: 'Martian Mono', Menlo, Consolas, Monaco, Liberation Mono, Lucida Console, monospace; } .tabs { display: flex; flex-direction: row; justify-content: center; } .tabs h3 { margin: 2px; cursor: pointer; } .tabs h3.selected { border-bottom: #5555ff 2px solid; border-bottom-left-radius: 5%; border-bottom-right-radius: 5%; } .early { color: green; } .late { color: red; } .suggestion { display: flex; flex-direction: row; align-items: center; } .suggestion :first-child { flex: 1; } .suggestion .star { flex: 0; pointer-events: none; width: 24px; height: 24px; } .suggestion .star.checked { filter: invert(90%) sepia(49%) saturate(704%) hue-rotate(359deg) brightness(94%) contrast(99%); } .product-suburban { color: green !important; } .product-national, .product-nationalExpress { font-style: italic; font-weight: 500; } .product-bus { color: purple !important; } .product-subway { color: blue !important; } .product-tram { color: lightcoral !important; } @media print { footer, .no-print { display: none !important; } header .back { display: none !important; } } /* Specific train styles */ /* Stuttgart Stadtbahn */ .product-subway.product-adminCode-vvs020 { padding: 1px 4px; } .product-subway.product-id-8-vvs020-u1 { background-color: #d39e70; color: black !important; } .product-subway.product-id-8-vvs020-u2 { background-color: #ff6a2f; color: white !important; } .product-subway.product-id-8-vvs020-u3 { background-color: #925d39; color: white !important; } .product-subway.product-id-8-vvs020-u4 { background-color: #6866b5; color: white !important; } .product-subway.product-id-8-vvs020-u5 { background-color: #19c5f4; color: black !important; } .product-subway.product-id-8-vvs020-u6 { background-color: #fb3199; color: white !important; } .product-subway.product-id-8-vvs020-u7 { background-color: #2cbc8e; color: white !important; } .product-subway.product-id-8-vvs020-u8 { background-color: #c7ba7b; color: black !important; } .product-subway.product-id-8-vvs020-u9 { background-color: #fed035; color: black !important; } .product-subway.product-id-8-vvs020-u11 { background-color: #9b9c9f; color: white !important; } .product-subway.product-id-8-vvs020-u12 { background-color: #80c6ea; color: black !important; } .product-subway.product-id-8-vvs020-u13 { background-color: #fea1bb; color: black !important; } .product-subway.product-id-8-vvs020-u14 { background-color: #63c254; color: black !important; } .product-subway.product-id-8-vvs020-u15 { background-color: #0454ae; color: white !important; } .product-subway.product-id-8-vvs020-u15 { background-color: #c6c03c; color: black !important; } .product-subway.product-id-8-vvs020-u16 { background-color: #c6c03c; color: black !important; } .product-subway.product-id-8-vvs020-u19 { background-color: #ffb531; color: black !important; } /* Stuttgart S-Bahn */ .product-suburban.product-adminCode-800643 { padding: 1px 4px; } .product-suburban.product-id-4-800643-1 { background-color: #59b244; color: white !important; } .product-suburban.product-id-4-800643-2 { background-color: #fe2e1e; color: white !important; } .product-suburban.product-id-4-800643-3 { background-color: #ff6a30; color: white !important; } .product-suburban.product-id-4-800643-4 { background-color: #0066b7; color: white !important; } .product-suburban.product-id-4-800643-5 { background-color: #02b7e1; color: white !important; } .product-suburban.product-id-4-800643-6 { background-color: #874a09; color: white !important; } .product-suburban.product-id-4-800643-11 { background-color: #58b243; color: white !important; } .product-suburban.product-id-4-800643-60 { background-color: #928d1d; color: white !important; } .product-suburban.product-id-4-800643-62 { background-color: #cc7628; color: white !important; } /* Köln S-Bahn */ .product-suburban.product-adminCode-8003S_, .product-suburban.product-adminCode-8003RL, .product-suburban.product-adminCode-800352, .product-regional.product-adminCode-800352 { padding: 1px 4px; border-radius: 5px; } .product-suburban.product-id-4-8003rl-6 { background-color: #e6007d; color: white !important; } .product-suburban.product-id-4-8003s-11 { background-color: #f39200; color: white !important; } .product-suburban.product-id-4-8003s-12 { background-color: #009642; color: white !important; } .product-suburban.product-id-4-8003s-19 { background-color: #0281c9; color: white !important; } .product-suburban.product-id-4-800352-23 { background-color: #787fbd; color: white !important; } .product-regional.product-id-rb-25 { background-color: #c793c2; color: white !important; } /* Karlsruhe Tram */ .product-tram.product-adminCode-kvv021 { aspect-ratio: 1 / 1; display: inline-block; min-width: 20px; text-align: center; padding: 1px; } .product-tram.product-id-8-kvv021-1 { background-color: #ed1c23; color: white !important; } .product-tram.product-id-8-kvv021-2 { background-color: #0171bc; color: white !important; } .product-tram.product-id-8-kvv021-3 { background-color: #957139; color: white !important; } .product-tram.product-id-8-kvv021-4 { background-color: #ffcb0a; color: black !important; } .product-tram.product-id-8-kvv021-5 { background-color: #00bced; color: white !important; } .product-tram.product-id-8-kvv021-17 { background-color: #660000; color: white !important; } .product-tram.product-id-8-kvv021-18 { background-color: #1a7247; color: white !important; } /* Karlsruhe S-Bahn */ .product-suburban.product-adminCode-801539, .product-suburban.product-operator-albtal-verkehrs-gesellschaft-mbh { padding: 1px 4px; border-radius: 5px; } .product-suburban.product-id-4-801539-1, .product-suburban.product-id-4-a6s1-1, .product-suburban.product-id-4-a6s11-11, .product-suburban.product-id-4-a6s12-12 { background-color: #01a76d; color: white !important; } .product-suburban.product-id-4-801539-2, .product-suburban.product-id-4-a6s2-2 { background-color: #a066aa; color: white !important; } .product-suburban.product-id-4-801539-3, .product-suburban.product-id-4-a6s3-3 { background-color: #ffdd04; color: black !important; } .product-suburban.product-id-4-801539-4, .product-suburban.product-id-4-a6s4-4 { background-color: #9e184c; color: white !important; } .product-suburban.product-id-4-a6s5-5, .product-suburban.product-id-4-a6s51-51, .product-suburban.product-id-4-a6s52-52 { background-color: #f69894; color: black !important; } .product-suburban.product-id-4-a6s6-6 { background-color: #282268; color: white !important; } .product-suburban.product-id-4-a6s7-7, .product-suburban.product-id-4-a6s71-71 { background-color: #fff302; color: black !important; } .product-suburban.product-id-4-a6s8-8, .product-suburban.product-id-4-a6s81-81 { background-color: #6d6929; color: white !important; } .product-suburban.product-id-4-a6s9-9 { background-color: #a6ce41; color: white !important; } .product-suburban.product-id-4-a6s31-31, .product-suburban.product-id-4-a6s32-32 { background-color: #01a99d; color: white !important; } .product-suburban.product-id-4-a6s33-33 { background-color: #8b5ba3; color: white !important; }