mirror of
https://github.com/HSLdevcom/digitransit-ui
synced 2025-07-27 15:05:15 +02:00
748 lines
14 KiB
SCSS
748 lines
14 KiB
SCSS
.map.flex-grow {
|
|
position: relative;
|
|
min-height: 20rem;
|
|
}
|
|
|
|
.stops-near-you-location-search {
|
|
position: fixed;
|
|
margin: 30px 30px 0 0;
|
|
right: 0;
|
|
width: 300px;
|
|
z-index: index($zindex, map-buttons);
|
|
|
|
.origin-stop-near-you-selector-input-icon {
|
|
margin-left: 9px;
|
|
}
|
|
|
|
div > div > .origin-stop-near-you-selector {
|
|
height: 44px;
|
|
box-shadow: 0 4px 20px 0 rgba(0, 0, 0, 0.15);
|
|
width: 100%;
|
|
border-radius: 8px;
|
|
border: none;
|
|
background-color: #fff;
|
|
padding-left: 37px;
|
|
padding-right: 5px;
|
|
}
|
|
}
|
|
|
|
.stops-near-you-spinner-container {
|
|
position: relative;
|
|
z-index: 1;
|
|
height: 80px;
|
|
animation: fadeIn 0.4s;
|
|
}
|
|
|
|
.citybike-content-container {
|
|
padding: 15px 14px 22px;
|
|
display: flex;
|
|
height: 45px;
|
|
box-sizing: content-box;
|
|
|
|
.availability-container {
|
|
padding-left: 15px;
|
|
flex: 1;
|
|
|
|
.sub-header-h4 {
|
|
font-size: 0.813rem;
|
|
}
|
|
}
|
|
|
|
.icon-container {
|
|
display: flex;
|
|
align-self: center;
|
|
|
|
.icon {
|
|
width: 36px;
|
|
height: 36px;
|
|
}
|
|
}
|
|
}
|
|
|
|
.stops-near-you-page {
|
|
position: relative;
|
|
overflow: visible;
|
|
display: flex;
|
|
flex-direction: column;
|
|
padding: 0 60px 10px 60px;
|
|
min-height: calc(50vh - 60px);
|
|
|
|
.route-number {
|
|
.icon-container {
|
|
font-size: 20px;
|
|
}
|
|
}
|
|
|
|
.separator {
|
|
border-top: 1px solid #ddd;
|
|
padding-bottom: 22px;
|
|
}
|
|
|
|
.stops-near-you-no-stops {
|
|
width: 100%;
|
|
background-color: $infobox-color-generic-blue;
|
|
font-weight: normal;
|
|
font-size: 0.9375rem;
|
|
line-height: 1.2;
|
|
display: flex;
|
|
align-items: center;
|
|
padding: 17px 17px 17px 0;
|
|
border-radius: 5px;
|
|
margin-top: 23px;
|
|
|
|
.icon-container {
|
|
min-width: 60px;
|
|
justify-content: center;
|
|
display: flex;
|
|
|
|
.icon {
|
|
width: 24px;
|
|
height: 24px;
|
|
}
|
|
}
|
|
}
|
|
|
|
.citybike-use-disclaimer {
|
|
border-radius: 8px;
|
|
border: solid 1px #ddd;
|
|
background-color: $background-color-lighter;
|
|
padding: 12px 18px 12px 18px;
|
|
width: 100%;
|
|
margin-bottom: 10px;
|
|
|
|
.disclaimer-header {
|
|
display: flex;
|
|
justify-content: space-between;
|
|
font-size: 1rem;
|
|
}
|
|
|
|
.disclaimer-content {
|
|
display: flex;
|
|
align-items: center;
|
|
font-weight: normal;
|
|
font-size: 0.813rem;
|
|
}
|
|
|
|
.disclaimer-close-button-container {
|
|
margin-left: 10px;
|
|
background-color: $primary-color;
|
|
width: fit-content;
|
|
height: fit-content;
|
|
color: white;
|
|
text-decoration: none;
|
|
border-radius: 25px;
|
|
padding: 3px 25px 3px 25px;
|
|
}
|
|
|
|
.disclaimer-close-button {
|
|
font-weight: $font-weight-medium;
|
|
}
|
|
|
|
.disclaimer-close {
|
|
cursor: pointer;
|
|
}
|
|
}
|
|
|
|
.no-favorites-container {
|
|
display: flex;
|
|
flex-direction: column;
|
|
text-align: center;
|
|
padding: 3em 2.5em;
|
|
border-top: 1px solid #ddd;
|
|
|
|
.no-favorites-header {
|
|
font-size: 0.9375em;
|
|
margin-bottom: 8px;
|
|
}
|
|
|
|
.no-favorites-content {
|
|
color: #666;
|
|
font-size: 0.9375em;
|
|
padding: 0 2em;
|
|
line-height: 1.4;
|
|
font-weight: normal;
|
|
}
|
|
|
|
.instruction-image {
|
|
padding: 30px 0 15px;
|
|
align-self: center;
|
|
width: 300px;
|
|
}
|
|
}
|
|
|
|
.show-more-button {
|
|
margin: 0 6.25em 20px;
|
|
font-weight: $font-weight-medium;
|
|
background-color: $white;
|
|
color: $primary-color;
|
|
border: 1px solid #ddd;
|
|
min-height: 28px;
|
|
border-radius: 16px;
|
|
font-size: 0.9375rem;
|
|
}
|
|
|
|
.nearest-stops-update-container {
|
|
min-height: 80px;
|
|
display: flex;
|
|
flex-direction: column;
|
|
margin: 0 auto;
|
|
font-weight: normal;
|
|
font-size: 0.9375rem;
|
|
text-align: center;
|
|
color: #666;
|
|
|
|
.update-stops-button {
|
|
border: 1px solid #ddd;
|
|
min-height: 30px;
|
|
padding: 0 16px;
|
|
border-radius: 15px;
|
|
color: $primary-color;
|
|
font-weight: $font-weight-medium;
|
|
margin: 7px 0 20px;
|
|
background-color: $white;
|
|
letter-spacing: -0.5px;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
|
|
.icon-container {
|
|
display: flex;
|
|
font-size: 20px;
|
|
padding-right: 13px;
|
|
}
|
|
}
|
|
}
|
|
|
|
.stop-near-you-container {
|
|
border: 1px solid #d9d9d9;
|
|
border-radius: 10px;
|
|
width: 100%;
|
|
margin-bottom: 10px;
|
|
animation: fadeIn 0.7s;
|
|
|
|
.alert-container {
|
|
margin: 0 14px 4px;
|
|
}
|
|
|
|
.stop-near-you-header-container {
|
|
display: flex;
|
|
|
|
.stop-near-you-name {
|
|
font-size: 1.125rem;
|
|
line-height: 24px;
|
|
letter-spacing: -0.4px;
|
|
margin: 0;
|
|
}
|
|
|
|
.stop-header-content {
|
|
a {
|
|
text-decoration: none;
|
|
color: #333;
|
|
}
|
|
|
|
.bike-station-code {
|
|
font-size: 0.813rem;
|
|
font-weight: normal;
|
|
}
|
|
}
|
|
|
|
padding: 14px 15px 1px 20px;
|
|
|
|
.stop-near-you-info {
|
|
display: flex;
|
|
margin-bottom: 5px;
|
|
|
|
.route-stop-address-row {
|
|
color: #666;
|
|
font-weight: $font-weight-book;
|
|
}
|
|
|
|
.card-code {
|
|
font-weight: $font-weight-book;
|
|
margin: 0;
|
|
|
|
&.terminal {
|
|
margin-right: 3px;
|
|
}
|
|
}
|
|
|
|
.platform-short {
|
|
@include font-medium;
|
|
|
|
font-weight: normal;
|
|
white-space: nowrap;
|
|
font-size: 0.813rem;
|
|
margin-right: 5px;
|
|
width: unset;
|
|
}
|
|
|
|
.stop-near-you-desc {
|
|
font-weight: normal;
|
|
font-size: 0.8125rem;
|
|
padding-right: 5px;
|
|
}
|
|
|
|
.itinerary-stop-code {
|
|
height: 16px;
|
|
padding: 0 4px;
|
|
align-self: center;
|
|
margin-bottom: 2px;
|
|
}
|
|
|
|
.zone-icon-container {
|
|
align-self: center;
|
|
}
|
|
|
|
.circle {
|
|
padding: 0 3px 0 3px;
|
|
}
|
|
}
|
|
|
|
.stop-favourite-container {
|
|
padding-top: 8px;
|
|
margin-left: auto;
|
|
}
|
|
|
|
.bike-rental-favourite-container {
|
|
padding-top: 8px;
|
|
margin-left: auto;
|
|
}
|
|
}
|
|
|
|
.stop-near-you-more-departures {
|
|
margin: 0 0 19px 20px;
|
|
padding: 5px 20px 5px;
|
|
border-radius: 25px;
|
|
border: solid 1px #a6a6a6;
|
|
font-size: 16px;
|
|
font-weight: $font-weight-medium;
|
|
color: $primary-color;
|
|
}
|
|
}
|
|
|
|
.near-departures-container {
|
|
padding: 2px 15px 15px 15px;
|
|
border-spacing: 0;
|
|
margin: 0;
|
|
width: 100%;
|
|
table-layout: fixed;
|
|
|
|
a {
|
|
text-decoration: none;
|
|
}
|
|
|
|
tr,
|
|
td {
|
|
margin: 0;
|
|
padding: 0;
|
|
border-spacing: 0;
|
|
}
|
|
|
|
.departure-row:first-child {
|
|
border-top: 1px solid #ddd;
|
|
}
|
|
|
|
.departure-row {
|
|
height: 40px;
|
|
|
|
.platform-cell {
|
|
display: flex;
|
|
}
|
|
|
|
.platform-code {
|
|
height: 20px;
|
|
width: 26px;
|
|
font-size: 0.813rem;
|
|
align-self: center;
|
|
}
|
|
|
|
.route-number-container {
|
|
margin-right: 10px;
|
|
width: 3em;
|
|
height: 1.25em;
|
|
position: relative;
|
|
padding: 0 2px;
|
|
|
|
&.long {
|
|
width: unset;
|
|
min-width: 48px;
|
|
}
|
|
}
|
|
|
|
.route-headsign {
|
|
font-family: $font-family-narrow;
|
|
font-weight: $font-weight-book;
|
|
color: #333;
|
|
flex: 1;
|
|
overflow: hidden;
|
|
white-space: nowrap;
|
|
mask-image: linear-gradient(
|
|
to left,
|
|
transparent,
|
|
rgba(0, 0, 0, 0.2) 5px,
|
|
rgba(0, 0, 0, 1) 25px,
|
|
rgba(0, 0, 0, 1)
|
|
);
|
|
}
|
|
|
|
.route-time {
|
|
color: #333;
|
|
|
|
&.realtime {
|
|
color: $realtime-color;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
.desktop {
|
|
.scrollable-content-wrapper .react-swipe-container {
|
|
min-height: 100%;
|
|
display: flex;
|
|
flex-direction: column;
|
|
|
|
> div {
|
|
flex: 1;
|
|
}
|
|
}
|
|
}
|
|
|
|
.scrollable-content-wrapper {
|
|
.stops-near-you-search-container {
|
|
margin-bottom: 22px;
|
|
}
|
|
|
|
.back-button.near-you-back-button {
|
|
font-size: 1.25rem;
|
|
margin: 50px 0 16px 0;
|
|
line-height: 1;
|
|
|
|
button .icon {
|
|
height: 1.3em;
|
|
width: 1.3em;
|
|
}
|
|
|
|
.arrow-icon {
|
|
font-size: 0.75em;
|
|
margin: 2px 1em;
|
|
}
|
|
}
|
|
}
|
|
|
|
.disruption-banner-container {
|
|
@include font-medium;
|
|
|
|
text-decoration: none;
|
|
font-weight: 100;
|
|
white-space: pre-wrap;
|
|
background-color: #dc0451;
|
|
color: white;
|
|
font-size: 0.9375rem;
|
|
padding: 12px 0 5px 0;
|
|
border-radius: 10px;
|
|
margin-bottom: 15px;
|
|
|
|
.swipe-scroll-container {
|
|
flex-basis: unset;
|
|
}
|
|
|
|
.swipe-header.disruption-banner {
|
|
width: unset;
|
|
|
|
.swipe-button-container {
|
|
padding: 0 5px;
|
|
|
|
.swipe-button {
|
|
margin-top: 1px;
|
|
|
|
.icon {
|
|
height: 0.8em;
|
|
width: 0.8em;
|
|
fill: $white;
|
|
|
|
&.disabled {
|
|
fill: rgb(245, 187, 208);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
.swipe-tab-ball {
|
|
border: none;
|
|
background-color: rgba(255, 255, 255, 0.7);
|
|
|
|
&.selected {
|
|
border: none;
|
|
background-color: $white;
|
|
}
|
|
}
|
|
|
|
.disruption-container {
|
|
padding: 0 14px 9px 14px;
|
|
display: flex;
|
|
}
|
|
|
|
.disruption-icon-container {
|
|
margin-right: 15px;
|
|
height: 100%;
|
|
padding: 8px 0;
|
|
|
|
.icon-container {
|
|
font-size: 24px;
|
|
display: flex;
|
|
padding-left: 3px;
|
|
}
|
|
}
|
|
|
|
.disruption-info-container {
|
|
line-height: 1.2;
|
|
flex: 1;
|
|
|
|
.disruption-info-header {
|
|
color: inherit;
|
|
margin-bottom: 2px;
|
|
}
|
|
|
|
.disruption-info-content {
|
|
color: inherit;
|
|
text-decoration: none;
|
|
font-size: $font-size-normal;
|
|
}
|
|
|
|
.disruption-show-more {
|
|
font-weight: $font-weight-medium;
|
|
}
|
|
|
|
.disruption-source-label {
|
|
font-weight: $font-weight-medium;
|
|
}
|
|
|
|
.disruption-message-font-weight {
|
|
font-weight: $disruption-message-font-weight;
|
|
}
|
|
}
|
|
|
|
.disruption-show-more {
|
|
font-weight: $font-weight-medium;
|
|
}
|
|
|
|
.disruption-close-button {
|
|
height: 100%;
|
|
margin-left: 5px;
|
|
|
|
svg {
|
|
width: 13.5px;
|
|
height: 13.5px;
|
|
}
|
|
}
|
|
}
|
|
|
|
.mobile {
|
|
.stops-near-you-location-search {
|
|
width: 145px;
|
|
margin: 25px 15px 0 0;
|
|
z-index: 5;
|
|
|
|
div > div > .origin-stop-near-you-selector {
|
|
height: 34px;
|
|
}
|
|
}
|
|
|
|
.stops-near-you-search-container {
|
|
padding: 0 5px 15px;
|
|
}
|
|
|
|
.stops-near-you-page {
|
|
height: calc(100% - 20rem);
|
|
padding: 5px 0.625em 0;
|
|
background-color: white;
|
|
position: relative;
|
|
|
|
.stops-near-you-container {
|
|
padding: 0;
|
|
}
|
|
|
|
.disruption-banner-container {
|
|
margin: 0 5px 15px;
|
|
}
|
|
|
|
.route-number {
|
|
.icon-container {
|
|
font-size: 1.25em;
|
|
}
|
|
}
|
|
}
|
|
|
|
.no-favorites-container {
|
|
padding-top: 14px;
|
|
font-size: 16px;
|
|
border-top: none;
|
|
|
|
.no-favorites-content {
|
|
padding: 0;
|
|
}
|
|
|
|
.instruction-image {
|
|
width: 140px;
|
|
}
|
|
}
|
|
}
|
|
|
|
.modal-desktop-container {
|
|
font-family: $font-family;
|
|
display: flex;
|
|
flex-direction: column;
|
|
|
|
.modal-desktop-top {
|
|
display: flex;
|
|
flex-direction: row;
|
|
width: 100%;
|
|
|
|
.modal-desktop-header {
|
|
position: relative;
|
|
width: 100%;
|
|
font-size: 18px;
|
|
font-weight: $font-weight-medium;
|
|
line-height: 1.33;
|
|
letter-spacing: -0.6px;
|
|
color: #333;
|
|
margin-bottom: 9px;
|
|
padding-left: 10px;
|
|
top: 6px;
|
|
}
|
|
}
|
|
|
|
.modal-desktop-main {
|
|
position: relative;
|
|
top: 16px;
|
|
text-align: left;
|
|
margin-bottom: 27px;
|
|
|
|
.modal-desktop-location-search {
|
|
position: relative;
|
|
top: -13px;
|
|
margin-bottom: 9px;
|
|
}
|
|
|
|
.modal-desktop-name {
|
|
.modal-desktop-input {
|
|
display: flex;
|
|
position: relative;
|
|
top: 3px;
|
|
width: 100%;
|
|
height: 44px;
|
|
font-family: $font-family;
|
|
border-radius: 5px;
|
|
border: solid 1px #888;
|
|
background-color: #fff;
|
|
padding-left: 20px;
|
|
font-size: 15px;
|
|
line-height: 1.2;
|
|
letter-spacing: -0.5px;
|
|
color: #333;
|
|
box-sizing: border-box;
|
|
appearance: none;
|
|
|
|
&::placeholder {
|
|
color: #666;
|
|
}
|
|
|
|
&:focus {
|
|
background: #fff;
|
|
outline: none;
|
|
border: solid 1px $primary-color;
|
|
box-shadow: none;
|
|
}
|
|
|
|
margin-bottom: 10px;
|
|
}
|
|
}
|
|
}
|
|
|
|
.modal-desktop-text {
|
|
position: relative;
|
|
top: 8px;
|
|
font-size: 15px;
|
|
font-weight: normal;
|
|
font-stretch: normal;
|
|
font-style: normal;
|
|
line-height: 1.33;
|
|
letter-spacing: -0.5px;
|
|
color: #333;
|
|
margin-bottom: 32px;
|
|
padding-left: 10px;
|
|
|
|
&.title {
|
|
position: relative;
|
|
font-weight: $font-weight-medium;
|
|
margin-bottom: 15px;
|
|
top: 4px;
|
|
}
|
|
|
|
&.title2 {
|
|
position: relative;
|
|
top: -6px;
|
|
font-size: 15px;
|
|
font-weight: $font-weight-medium;
|
|
}
|
|
}
|
|
|
|
.modal-desktop-icons {
|
|
margin-bottom: 30px;
|
|
}
|
|
|
|
.modal-desktop-buttons {
|
|
display: flex;
|
|
flex-direction: column;
|
|
|
|
.modal-desktop-button {
|
|
display: flex;
|
|
justify-content: center;
|
|
align-items: center;
|
|
position: relative;
|
|
top: -27px;
|
|
width: 100%;
|
|
height: 40px;
|
|
font-size: 15px;
|
|
font-family: $button-font-family;
|
|
font-weight: $font-weight-medium;
|
|
letter-spacing: -0.5px;
|
|
background: $primary-color;
|
|
color: #fff;
|
|
line-height: 0;
|
|
text-align: center;
|
|
padding: 0;
|
|
margin: 0;
|
|
border-width: 0;
|
|
transition: background-color 300ms ease-out;
|
|
border-radius: 25px;
|
|
cursor: pointer;
|
|
|
|
&.save {
|
|
&:active,
|
|
&:focus {
|
|
background: darken($primary-color, 5%);
|
|
}
|
|
|
|
&.disabled {
|
|
background: #bbb;
|
|
|
|
&:active {
|
|
background: #bbb;
|
|
}
|
|
}
|
|
|
|
svg {
|
|
position: absolute;
|
|
left: 13px;
|
|
|
|
g {
|
|
stroke: #fff;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|