$border-radius: 0; $border-radius-lg: $border-radius; $border-radius-sm: $border-radius; $danger: #cd2e12; @import "~bootstrap/scss/functions"; @import "~bootstrap/scss/variables"; $primary: #005ea8; $primary-gradient: linear-gradient(120deg, #0083c5 10%, #005ea8 90%); $danger-gradient: linear-gradient(120deg, $danger 10%, darken($danger, 10%) 90%); $custom-control-indicator-checked-bg: $dark; $custom-control-indicator-active-bg: $dark; $small-font-size: $font-size-base * 0.8; $line-types: ( 'trolleybus': #419517, 'tram': #cd2e12, 'bus': $primary, 'train': $yellow, 'unknown': $dark ); $default-spacing: .5rem; $alert-margin-bottom: $default-spacing; $headings-margin-bottom: $default-spacing; $container-max-widths: map-merge($container-max-widths, ( xl: 1320px )); $link-color: #005ea8; $grid-gutter-width: $spacer * 2; @import "~bootstrap/scss/bootstrap"; @mixin headings { h1, h2, h3, h4, h5, h6 { @content } } @mixin direct-headings { > h1, > h2, > h3, > h4, > h5, > h6 { @content } } @mixin spacing($spacing: .25em) { margin-left: $spacing; &:first-child { margin-left: 0; } } @mixin no-scrollbars { scrollbar-width: none; /* Firefox */ -ms-overflow-style: none; /* Internet Explorer 10+ */ &::-webkit-scrollbar { /* WebKit */ width: 0; height: 0; } } @mixin active { &:hover, &:active, &:focus, #{&}--active { @content } } @mixin flex-with-spacing($spacing) { display: flex; & > *:not(:last-child) { margin-right: $spacing; } } @mixin position($position, $top: inherit, $right: inherit, $bottom: inherit, $left: inherit) { $right: if($right == inherit, $top, $right); $bottom: if($bottom == inherit, $top, $bottom); $left: if($left == inherit, $right, $left); position: $position; top: $top; right: $right; left: $left; bottom: $bottom; } @import "common"; @import "stop"; @import "departure"; @import "line"; @import "controls"; @import "animations"; @import "form"; @import "favourites"; @import "trip"; @import "dragscroll"; @import "map"; @import "ui/switch"; @import "ui/popup"; @import "ui/modal"; @import "page/provider-picker"; html, body { overscroll-behavior-y: contain; } body { min-height: 100vh; display: flex; flex-direction: column; background: url("../images/background.png") repeat-x center bottom 63px; &.contains-modal { overflow-y: hidden; } main { flex: 1 1 auto; position: relative; > * { transition: opacity .3s ease-in-out; } } main::after { transition: opacity .3s ease-in-out; position: absolute; top: 2rem; bottom: 2rem; right: 2rem; left: 2rem; content: ""; opacity: 0; background: url("../images/logo.png") center center no-repeat; background-size: contain; display: none; } main.not-ready { > * { opacity: 0; } &::after { opacity: 1 !important; display: block; } } .attribution { font-size: small; color: $text-muted; text-align: right; margin-top: 0.5rem; } footer { @extend .flex; flex-wrap: wrap; font-size: $font-size-sm; padding: $alert-padding-y $alert-padding-y; transition: all .5s ease; opacity: .15; filter: grayscale(100%); &:hover { opacity: 1; filter: grayscale(0%); } img { height: 1.5rem; } > * { flex: 1 1 auto; padding: .4rem 0; } } } #app { margin-top: $grid-gutter-width / 2; } @include media-breakpoint-up('md') { #app { padding-top: 4rem; padding-top: 2rem; } body footer > * { flex: 0 1 auto; } }