diff options
Diffstat (limited to 'sass/app.scss')
-rw-r--r-- | sass/app.scss | 1109 |
1 files changed, 734 insertions, 375 deletions
diff --git a/sass/app.scss b/sass/app.scss index e9969d2..75074bd 100644 --- a/sass/app.scss +++ b/sass/app.scss @@ -1,3 +1,8 @@ +/* + * Copyright (C) 2011-2020 Birte Kristina Friesel + * + * SPDX-License-Identifier: BSD-2-Clause + */ body { margin: 0; color: $fg; @@ -5,7 +10,7 @@ body { } html { - font-family: Sans-Serif; + font-family: "Arimo", "Arial", Sans-Serif; } a { @@ -13,8 +18,19 @@ a { text-decoration: none; } +.visually-hidden { + clip: rect(0 0 0 0); + clip-path: inset(50%); + height: 1px; + overflow: hidden; + position: absolute; + white-space: nowrap; + width: 1px; +} + p, div.about, +div.config, div.input-field, div.notes { max-width: 94%; @@ -22,6 +38,13 @@ div.notes { margin-right: auto; } +div.journey, +div.nextstop { + max-width: 98%; + margin-left: auto; + margin-right: auto; +} + p { text-align: justify; } @@ -31,416 +54,681 @@ div.content { margin: 0; } +.copyright { + margin-top: 1em; + color: $fg3; + clear: both; +} + .wagonorder { position: relative; width: 100%; height: 100ex; -} - -.wagonorder .section { - position: absolute; - left: 1em; - width: 2em; - text-align: center; -} - -.wagonorder .wagon { - position: absolute; - left: 3em; - min-width: 6em; - border: 1px solid $fg3; - padding-left: 0.2em; - padding-right: 0.2em; -} - -.wagonorder .wagon ~ .wagon { - border-top: none; -} - -.wagonorder .firstclass { - background-color: $firstclass-wagon-color; -} - -.wagonorder .powercar { - background-color: $powercar-wagon-color; -} - -.wagonorder .wagon .material-icons { - color: $fg2; -} - -.wagonorder .wagon .direction { - position: absolute; - left: 0.2em; - bottom: 0; - right: 0; - text-align: center; - color: $fg2; -} - -.wagonorder .nondestwagon { - border-style: dashed; -} - -.wagonorder .details { - position: absolute; - padding-top: 0.5ex; - left: 10em; - right: 0em; -} -.wagonorder .details .type { - display: inline-block; - width: 5em; - color: $fg2; -} + &.exit-unknown { + .section { + left: 1em; + width: 2em; + } + .wagon { + left: 3em; + min-width: 6em; + } + .details { + left: 10em; + right: 0em; + } + } -.wagonorder .details .uicunknown { - color: $fg3; -} + &.exit-left { + .section { + left: 1em; + width: 2em; + background-color: $bg05; + } + .wagon { + left: 3em; + min-width: 6em; + } + .details { + left: 10em; + right: 0em; + } + } -.wagonorder .details .uicexchange { - margin-right: 0.2em; - color: $fg3; -} + &.exit-right { + .section { + right: 1em; + width: 2em; + background-color: $bg05; + } + .wagon { + right: 3em; + min-width: 6em; + } + .details { + right: 10em; + left: 0em; + text-align: right; + } + } -.wagonorder .details .uiccountry { - margin-right: 0.2em; - color: $fg3; -} + .section { + position: absolute; + text-align: center; + } -.wagonorder .details .uic5 { - margin-right: 0.2em; - color: $fg3; -} + .wagon { + position: absolute; + border: 1px solid $fg3; + padding-left: 0.2em; + padding-right: 0.2em; + + .material-icons { + color: $fg2; + } + + .direction { + position: absolute; + left: 0.2em; + bottom: 0; + right: 0; + text-align: center; + color: $fg2; + } + } -.wagonorder .details .uic56 { - color: $fg2; - font-weight: bold; -} + .wagon ~ .wagon { + border-top: none; + } -.wagonorder .details .uic78 { - margin-right: 0.2em; - color: $fg2; - font-weight: bold; -} + .firstclass { + background-color: $firstclass-wagon-color; + } -.wagonorder .details .uic78::before { - content: "-"; -} + .powercar { + background-color: $powercar-wagon-color; + } -.wagonorder .details .uictype { - margin-right: 0.2em; - color: $fg2; - font-weight: bold; -} + .closed { + background-color: $closed-wagon-color; + } -.wagonorder .details .uicno { - color: $fg2; -} + .nondestwagon { + border-style: dashed; + } -.wagonorder .details .uiccheck { - color: $fg3; + .details { + position: absolute; + padding-top: 0.5ex; + + .type { + display: inline-block; + width: 5em; + color: $fg; + } + + a.type { + color: $link-color; + } + + .groupno { + color: $fg; + } + + .grouptype { + color: $fg2; + } + + .grouptype:before { + content: "("; + } + + .grouptype:after { + content: ")"; + } + + .uicunknown { + color: $fg3; + } + + .uicexchange { + margin-right: 0.2em; + color: $fg3; + } + + .uiccountry { + margin-right: 0.2em; + color: $fg3; + } + + .uic5 { + margin-right: 0.2em; + color: $fg3; + } + + .uic56 { + color: $fg2; + font-weight: bold; + } + + .uic78 { + margin-right: 0.2em; + color: $fg2; + font-weight: bold; + } + + .uic78:before { + content: "-"; + } + + .uictype { + margin-right: 0.2em; + color: $fg2; + font-weight: bold; + } + + .uicno { + color: $fg2; + } + + .uiccheck { + color: $fg3; + } + + .uiccheck:before { + content: "-"; + } + } } -.wagonorder .details .uiccheck::before { - content: "-"; +.singlewagon { + .sign-left { + float: left; + padding-left: 5%; + } + .sign-right { + float: right; + padding-right: 5%; + } + .sign-center { + text-align: center; + } + .platform { + text-align: center; + background-color: $bg1; + font-weight: bold; + padding-top: 0.5em; + padding-bottom: 0.5em; + } + img.wagonfile { + width: 100%; + margin-top: 0.2em; + margin-bottom: 0.2em; + } } div.app { border-width:1px 2px; width:100%; margin-bottom: 5em; -} - -div.app > ul { - position:relative; - width:100%; - - list-style-type:none; - margin:0; - padding:0; -} - -div.app > ul > li { - min-height:7em; - display:block; - width:100%; - position:relative; - cursor: pointer; - border-bottom: 1px solid $li-border-color; - background-color: $bg; -} - -div.app li .line { - font-size: 2.7em; - position:absolute; - bottom:5px; - left:2px; - max-width: 6em; - max-height: 3ex; - overflow: hidden; -} - -div.app li .line .trainsubtype { - font-weight: normal; - font-size: 70%; - position: relative; - vertical-align: baseline; - top: -0.6ex; - left: -0.5ex; -} - -div.app li .line .trainno { - font-weight: normal; -} - -div.app li .line .trainno_sub { - font-weight: normal; - font-size: 0.6em; - text-align: center; - margin-top: -0.2em; -} - -div.app li .sbahn .trainno_sub { - font-weight: normal; - font-size: 0.5em; - text-align: center; - margin-top: -0.25em; -} - -div.app li .lineinfo { - color:$fg; - font-size: 2em; - position:absolute; - top:0px; - left:2px; -} - -div.app .replacement { - color: $replacement-color; -} - -div.app .replaced { - color: $replaced-color; -} - -div.app .sbahn { - font-weight:bold; - border-radius: 30px; - padding:3px 6px 2px 6px; - background-color: $sbahn-color; -} - -div.app .bahn, -div.app .fern, -div.app .ext { - font-weight:bold; - border-radius: 5px; - padding:3px 5px 2px 5px; -} - -div.app .bahn { - background-color: $bahn-color; -} - -div.app .fern { - background-color: $fern-color; -} - -div.app .ext { - background-color: $fern-color; - border: 2px solid $ext-border-color; -} - -div.app li .route { - background-color: transparent; - font-size:2.1em; - position:absolute; - top:1px; - left:7.7em; - height: 1.2em; - width: 70%; - overflow: hidden; - color: $route-color; -} - -div.app li .info { - color: $info-color; - background-color: transparent; - font-size:2.1em; - position:absolute; - top:1px; - left:7.7em; - height: 1.2em; - width: 70%; - overflow: hidden; -} - -div.app .moreinfo { - font-size:2.1em; - position:fixed; - left:0; - right:0; - bottom:0em; - z-index: 5; - overflow: auto; - cursor: default; - background-color: $bg; -} - -div.app .moreinfo .mheader, -div.app .moreinfo .mfooter { - max-width: 50em; - margin-left: auto; - margin-right: auto; -} -div.app .collapsed-moreinfo { - display: none; -} - -div.app .expanded-moreinfo { - display: block; -} - -div.app .moreinfo .mheader { - text-align: center; - font-size: 120%; - padding-top: 0.5em; - padding-bottom: 0.5em; - padding-left: 1em; - padding-right: 1em; - border-bottom: 0.1em dashed #cccccc; -} - -div.app .moreinfo .mfooter { - padding-top: 1em; - padding-left: 1em; - padding-right: 1em; -} - -div.app .moreinfo .loading { - text-align: center; - width: 100%; - color: #888888; -} - -div.app .moreinfo .reason, -div.app .moreinfo .minfo { - color: $info-color; -} + > ul { + position:relative; + width:100%; + + list-style-type:none; + margin:0; + padding:0; + + > li { + min-height:7em; + display:block; + width:100%; + position:relative; + border-bottom: 1px solid $li-border-color; + background-color: $bg; + + &.cancelled { + background-color: $cancelled-bg-color; + .time { + color: $fg !important; + } + } + + &.past { + opacity: 0.8; + background-color: $past-bg-color; + } + + > a { + color:$fg; + } + + .anchor { + position: relative; + top: -12em; + } + + .line { + font-size: 2.7em; + position:absolute; + bottom:5px; + left:2px; + max-width: 6em; + max-height: 3ex; + overflow: hidden; + + .trainno { + font-weight: normal; + } + + .trainno_sub { + font-weight: normal; + font-size: 0.6em; + text-align: center; + margin-top: -0.2em; + } + } + + .sbahn .trainno_sub { + font-weight: normal; + font-size: 0.5em; + text-align: center; + margin-top: -0.25em; + } + + .lineinfo { + color:$fg; + font-size: 2em; + position:absolute; + top:0px; + left:2px; + } + + .route, .info { + background-color: transparent; + font-size:2.1em; + position:absolute; + top: 0; + left: 7.7em; + right: 7em; + height: 1.5em; + overflow: hidden; + white-space: nowrap; + } + + .route { + color: $route-color; + } + + .info { + color: $info-color; + } + + .dest, .origin { + background-color: transparent; + font-size:4em; + position:absolute; + bottom:0; + left:4em; + width: 70%; + white-space: nowrap; + overflow: hidden; + color: $fg; + } + + .dest { + background-color: transparent; + color: $fg; + } + + .origin { + background-color: transparent; + color: $fg2; + + &:before { + content: "von "; + } + } + + .load { + color: $fg; + font-weight: normal; + margin-right: 0.5em; + } + + .platform { + background-color: transparent; + font-size: 3em; + font-weight: bold; + position: absolute; + right: 5px; + bottom: 0; + padding-left: 0.2em; + color: $fg; + } + + .changed-platform { + color: $info-color; + } + + + .time { + background-color: transparent; + font-size:2.3em; + position:absolute; + right:5px; + top:1px; + padding-left: 0.2em; + color: $fg; + + &.delayed { + color: $delay-color; + background-color: transparent; + } + + &.a-bit-delayed { + color: $smalldelay-color; + background-color: transparent; + } + + &.on-time { + color: $ontime-color; + background-color: transparent; + } + + .no-realtime { + background-color: transparent; + padding-right: 1ex; + i.material-icons { + font-size: 12px; + } + } + + .delay { + font-size:1em; + color: $delay-color; + background-color: transparent; + padding-right: 1ex; + } + + .undelay { + font-size:1em; + color: $undelay-color; + padding-right: 1ex; + } + + .delaynorm { + font-size:0.9em; + color: $delaynorm-color; + } + + .undelaynorm { + font-size:0.9em; + color: $undelaynorm-color; + } + } + } + } -div.app .moreinfo .verbose { - margin-bottom: 0.6em; -} + .trainsubtype { + font-weight: normal; + font-size: 70%; + position: relative; + vertical-align: baseline; + top: -0.6ex; + left: -0.5ex; + } -div.app .moreinfo .timeinfo { - margin-bottom: 0.6em; -} + .replacement { + color: $replacement-color; + } -div.app .moreinfo .mroute .important-stop { - color: $fg; -} + .replaced { + color: $replaced-color; + } -div.app .moreinfo .mroute .generic-stop { - color: $fg2; -} + .sbahn { + font-weight:bold; + border-radius: 30px; + padding:3px 6px 2px 6px; + background-color: $sbahn-color; + } -div.app .moreinfo .mroute .additional-stop { - color: $additional-stop-color; -} + .bahn, .fern, .ext { + font-weight:bold; + border-radius: 5px; + padding:3px 5px 2px 5px; + } -div.app .moreinfo .mroute .cancelled-stop { - color: $cancelled-stop-color; -} + .bahn { + background-color: $bahn-color; + } -div.app li .dest { - background-color: transparent; - font-size:4em; - position:absolute; - top:0.62em; - left:4em; - bottom:0px; - width: 70%; - overflow: hidden; - color: $fg; -} + .fern { + background-color: $fern-color; + } -div.app li.cancelled { - background-color: $cancelled-bg-color; -} + .ext { + border: 2px solid $bahn-color; + } -div.app li .countdown { - background-color: transparent; - font-size: 3em; - position: absolute; - right: 5px; - bottom: 2px; - padding-left: 0.2em; - color: $fg; -} + .tram, .bus, .ubahn { + padding:3px 5px 2px 5px; + } -div.app li .header { - color:$fg; - font-size:2em; - font-weight:bold; - padding-top:8px; - border-width-top:0; - display:block; - text-align:center; -} + .tram { + background-color: $tram-color; + } -div.app li .head { - border-bottom-width:0; -} + .bus { + background-color: $bus-color; + } -div.app li .countdown .delay { - font-size:1em; - color: $delay-color; - background-color: transparent; - padding-right:7px; -} + .ubahn { + background-color: $ubahn-color; + } -div.app li .countdown .undelay { - font-size:1em; - color: $undelay-color; - padding-right:7px; -} + .moreinfo { + font-size:2.1em; + position:fixed; + left:0; + right:0; + bottom:0em; + z-index: 5; + overflow: auto; + cursor: default; + background-color: $bg; + + .mheader, .mfooter { + max-width: 50em; + margin-left: auto; + margin-right: auto; + } + + .mheader { + text-align: center; + font-size: 120%; + padding-top: 0.5em; + padding-bottom: 0.5em; + padding-left: 1em; + padding-right: 1em; + border-bottom: 0.1em dashed #cccccc; + } + + .mfooter { + padding-top: 0.5em; + padding-left: 1em; + padding-right: 1em; + } + + .dataline { + font-size: 120%; + width: 100%; + display: flex; + justify-content: space-between; + margin-bottom: 0.5em; + + > div { + width: 33%; + } + } + + .wagonorder-preview { + font-size: 110%; + width: 100%; + text-align: center; + margin-bottom: 1em; + + a { + color: $fg; + } + + .otherno { + color: $fg2; + } + + .meta { + color: $fg1; + } + } + + .departure { + text-align: right; + } + + .platform { + text-align: center; + } + + .arrival { + display: inline-block; + text-align: right; + } + + .loading { + text-align: center; + width: 100%; + color: #888888; + } + + .minfo { + color: $info-color; + } + + .timehidden { + color: $fg2; + } + + .undelay { + color: $undelay-color; + } + + .verbose { + margin-bottom: 1em; + + .no-realtime { + color: $cancelled-stop-color; + } + } + + .messages { + i.material-icons { + font-size: 14px; + } + } + + .details { + margin-top: 1em; + } + + .mroute { + .important-stop { + color: $fg; + } + + .generic-stop { + color: $fg2; + } + + .additional-stop { + color: $additional-stop-color; + } + + .cancelled-stop { + color: $cancelled-stop-color; + } + + .past-stop { + list-style-type: disc; + } + + .future-stop { + list-style-type: circle; + } + + .time-early { + color: $early-stop-color; + } + + .time-delayed { + color: $delayed-stop-color; + } + + .time-sched-only { + color: $delayed-stop-color; + } + + .time-sched-ontime { + color: $early-stop-color; + } + + + .annotation { + color: $fg2; + list-style-type: none; + padding-left: 3em; + } + + .-sched:before { + content: " "; + } + + .time-sched:after { + content: " "; + } + + .time-sched-only:before { + content: "("; + } + + .time-sched-only:after { + content: ")"; + } -div.app li .countdown .delaynorm { - font-size:0.9em; - color: $delaynorm-color; - padding-right:7px; -} + i.material-icons { + font-size: 14px; + } + } -div.app li .countdown .undelaynorm { - font-size:0.9em; - color: $undelaynorm-color; - padding-right:7px; -} + .db-attr { + margin-bottom: 1em; -div.app li .countdown .platform { - font-weight: bold; -} + span { + margin-right: 0.5em; + } + } -div.app li .countdown .changed-platform { - color: $info-color; -} + } -div.app li .time { - background-color: transparent; - font-size:2.3em; - position:absolute; - right:5px; - top:4px; - padding-left: 0.2em; - color: $fg; -} + .collapsed-moreinfo { + display: none; + } -div.app span.delayed { - color: $delay-color; - background-color: transparent; + .expanded-moreinfo { + display: block; + } } ul.ui-autocomplete { @@ -478,15 +766,34 @@ div.candidatelist a .distance { padding-bottom: 0.3em; } -div.about { +div.candidatelist a .traininfo { + font-size: 0.7em; + color: #999999; + padding-top: 0.2em; + padding-bottom: 0.3em; +} + +div.config { margin-top: 2em; font-family: Sans-Serif; color: $fg2; + + a { + color: $link-color; + cursor: pointer; + text-decoration: none; + } } -div.about a { - color: $link-color; - text-decoration: none; +div.about { + margin-top: 1em; + font-family: Sans-Serif; + color: $fg2; + + a { + color: $link-color; + text-decoration: none; + } } .notice { @@ -593,6 +900,44 @@ div.field { margin-bottom: 0.6em; } +.disabledbutton { + display: inline-block; + vertical-align: baseline; + border-radius: 4px; + border: 1px solid #cccccc; + box-shadow: none; + padding: 0.9ex; + margin-right: 1em; +} + +.smallbutton { + display: inline-block; + vertical-align: baseline; + border-radius: 4px; + border: 1px solid #2e6da4; + transition: background-color .3s; + color: #fff; + background-color: #337ab7; + cursor: pointer; + box-shadow: none; + padding: 0.9ex; + margin-right: 1em; +} + +.smallbutton .material-icons, +.disabledbutton .material-icons { + display: block; + float: left; + margin-right: 0.5ex; +} + +.smallbutton img { + display: block; + float: left; + margin-right: 0.7ex; + height: 1.2em; +} + input, select, .button { display: inline-block; width: 60em; @@ -646,17 +991,24 @@ input[type="submit"]:focus, input[type="submit"]:hover, .button:active, .button:focus, -.button:hover { +.button:hover, +.smallbutton:active, +.smallbutton:focus, +.smallbutton:hover { color: #fff; background-color: #286090; border-color: #204d74; } input[type="submit"]:active, -.button.active { +.button:active { box-shadow: inset 0 3px 5px rgba(0,0,0,.125); } +.button-active { + font-weight: bold; +} + .button-light { color: $fg1; background-color: $bg; @@ -672,6 +1024,10 @@ input[type="submit"]:active, border-color: $button-hover-border; } +div.backendlink { + margin-top: 1ex; +} + div.notes { margin-top: 2em; } @@ -703,6 +1059,10 @@ nav { overflow: hidden; } +nav a { + color: #fff; +} + nav .nav-wrapper { position: relative; height: 100%; @@ -717,7 +1077,6 @@ nav .brand-logo { position: absolute; display: inline-block; padding-left: 0.5rem; - z-index: -1; } nav ul { |