UNPKG

liftie

Version:

Clean, simple, easy to read, fast ski resort lift status

865 lines (864 loc) 15.6 kB
@font-face { font-family: "lift-status"; src: url("/OEQfOpxZ4A/stylesheets/fonts/lift-status.woff2") format("woff2"); font-weight: normal; font-style: normal; } [class^="ls-"]:before, [class*=" ls-"]:before { font-family: 'lift-status'; font-style: normal; speak: none; font-weight: normal; line-height: 1; -webkit-font-smoothing: antialiased; } .ls-scheduled:before { content: "\e004"; color: #104aa8; } .ls-hold:before { content: "\e005"; color: #ffa200; } .ls-closed:before { content: "\e006"; color: #ff1e00; } .ls-open:before { content: "\e007"; color: #00b831; } .ls-github:before { content: "\e010"; } .ls-twitter:before { content: "\e011"; } .ls-facebook:before { content: "\e012"; } .ls-google-plus:before { content: "\e013"; } .ls-furkot:before { content: "\e020"; } .ls-plus:before { content: "\e031"; } .ls-minus:before { content: "\e032"; } .ls-external:before { content: "\e033"; } .ls-deal:before { content: "\e034"; } .ls-star-full:before { content: "\e035"; } .ls-star-outline:before { content: "\e036"; } .ls-pie:before { content: "\e000"; } .ls-snowflake:before { content: "\e001"; } .ls-html:before { content: "\f068"; } .ls-liftie:before { content: "\e002"; } .ls-email:before { content: "\f028"; } @font-face { font-family: "iconvault"; src: url("/qGg5C7akoM/stylesheets/fonts/iconvault_forecastfont.woff2") format("woff2"); font-weight: normal; font-style: normal; } div.weather-icon ul li { list-style: none; } div.weather-icon ul [class^="icon-"], div.weather-icon ul [class*=" icon-"] { font-family: 'iconvault'; font-weight: normal; font-style: normal; text-decoration: inherit; speak: none; -webkit-font-smoothing: antialiased; font-size: 4em; } div.weather-icon ul .basecloud:before { font-family: 'iconvault'; font-size: 4em; content: '\f105'; position: absolute; color: #ccc; } div.weather-icon ul .windyraincloud:before { font-family: 'iconvault'; font-size: 4em; content: '\f111'; position: absolute; color: #ccc; } div.weather-icon ul .windysnowcloud:before { font-family: 'iconvault'; font-size: 4em; content: '\f109'; position: absolute; color: #ccc; } div.weather-icon ul .icon-thunder:before { content: "\f114"; position: absolute; color: #ffa500; } div.weather-icon ul .icon-sunny:after { content: "\f101"; color: #ffa500; position: absolute; } div.weather-icon ul .icon-drizzle:before { content: "\f10a"; color: #82b2e4; position: absolute; } div.weather-icon ul .icon-hail:before { content: "\f10f"; position: absolute; color: #ccc; } div.weather-icon ul .icon-showers:before { content: "\f104"; position: absolute; color: #82b2e4; } div.weather-icon ul .icon-rainy:before { content: "\f107"; position: absolute; color: #4681c3; } div.weather-icon ul .icon-snowy:before { content: "\f10b"; position: absolute; color: #acd3f3; } div.weather-icon ul .icon-frosty:before { content: "\f102"; position: absolute; color: #85d8f7; } div.weather-icon ul .icon-windy:before { content: "\f115"; position: absolute; color: #ccc; } div.weather-icon ul .icon-windyrain:before { content: "\f10e"; position: absolute; color: #acd3f3; } div.weather-icon ul .icon-windysnow:before { content: "\f103"; position: absolute; color: #acd3f3; } div.weather-icon ul .icon-sleet:before { content: "\f10c"; position: absolute; color: #acd3f3; } div.weather-icon ul .icon-moon:after { content: "\f10d"; color: #ffa500; position: absolute; } div.weather-icon ul .icon-night:after { content: "\f100"; position: absolute; color: #ffa500; } div.weather-icon ul .icon-sun:after { content: "\f113"; color: #ffa500; position: absolute; } div.weather-icon ul .icon-cloud:after { content: "\f106"; color: #ccc; position: absolute; } div.weather-icon ul .icon-sunrise:before { content: '\f112'; color: #ffa500; position: absolute; } div.weather-icon ul .icon-sunset:before { content: '\f110'; color: #f96f23; position: absolute; } div.weather-icon ul .icon-mist:before { content: '\f108'; color: #ccc; position: absolute; } * { padding: 0; margin: 0; } a, input, button { -ms-touch-action: none !important; } /* * Hide from both screenreaders and browsers: h5bp.com/u */ .hidden { display: none !important; visibility: hidden; } .visible:after { content: " "; display: block; clear: both; } /* * Hide only visually, but have it available for screenreaders: h5bp.com/v */ .visuallyhidden { border: 0; clip: rect(0 0 0 0); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute; width: 1px; } .icon-alone { display: inline-block; cursor: pointer; } .left { float: left; } .right { float: right; } body { font-size: 1em; font-family: Ubuntu, "Lucida Grande", Helvetica, Arial, sans-serif; color: #333; } a { color: #009ddb; text-shadow: 0 1px #fff; transition: color 0.3s ease; text-decoration: none; -webkit-user-select: none; user-select: none; -webkit-tap-highlight-color: rgba(0,0,0,0); -webkit-tap-highlight-color: transparent; } a:hover, a:active { color: #00a7f1; } .panel { box-sizing: border-box; margin: 0 8px 16px; width: 320px; padding: 0 12px; float: left; background-color: #f5f8ff; } .panel:after { content: " "; display: block; clear: both; } .panel:last-child { margin-bottom: 0; } header .ls-furkot { font-size: 0.9em; } .add-to-trip { cursor: pointer; display: block; text-overflow: ellipsis; overflow: hidden; white-space: nowrap; } .add-to-trip span + span { margin-left: 0.2em; } .resort footer .add-to-trip { margin-top: 0.3em; } .panel header, .panel footer { transition: all 0.4s ease; } .panel header:after, .panel footer:after { content: " "; display: block; clear: both; } .panel header { padding: 0.7em 0 0.5em; } .panel footer { padding: 0 0 0.7em; } .panel header { font-size: 1.2em; border-bottom: solid 2px transparent; vertical-align: middle; display: flex; align-items: baseline; gap: 0.2em; } .panel header a { outline: none; } .panel.open header { border-color: rgba(0,0,0,0.3); } .open .expandable { opacity: 1; max-height: 4500px; min-height: 5em; } .open .expandable .lifts-status { position: relative; } .open .expandable .lifts-status .opening-date { position: absolute; width: 100%; height: 100%; z-index: 1; background-color: rgba(245,248,255,0.9); } .open .expandable .lifts-status .opening-date a { position: absolute; top: 50%; margin-top: -0.6em; font-size: 1.2em; width: 100%; text-align: center; } .expandable { transition: all 0.4s ease; max-height: 0; overflow-y: hidden; opacity: 0; } .lifts { list-style: none; margin: 0.2em 0; } .lifts .lift { display: block; line-height: 2; } .lifts .lift:after { content: " "; display: block; clear: both; } .lifts .lift .name { float: left; max-width: 90%; cursor: default; text-overflow: ellipsis; overflow: hidden; white-space: nowrap; } .lifts .lift .status { font-size: 1.1em; float: right; text-shadow: 1px 1px #fff; padding-right: 2px; } .auto-refresh-reminder { color: #707070; font-style: italic; text-align: right; font-size: 0.8em; padding-right: 2px; } .ls-minimax:before { content: "\e031"; } .open .ls-minimax:before { content: "\e032"; } .ls-star:before { content: "\e036"; } .starred .ls-star:before { content: "\e035"; } .resort-link { font-size: 0.9em; } .resort-name { flex: 1; text-overflow: ellipsis; overflow: hidden; white-space: nowrap; } .summary { list-style: none; font-size: 0.8em; } .summary:after { content: " "; display: block; clear: both; } .summary li { float: left; margin-right: 0.5em; } .summary li:last-child { margin-right: 0; } .summary li [class^="ls-"], .summary li [class*=" ls-"], .summary li [class^="ls-"]:before, .summary li [class*=" ls-"]:before { margin-right: 2px; } .summary li [class^="ls-"]:before, .summary li [class*=" ls-"]:before { text-shadow: 1px 1px #fff; } .summary-color-bar { width: 100%; margin-bottom: 0.5em; } .summary-color-bar:after { content: " "; display: block; clear: both; } .summary-color-bar .open, .summary-color-bar .hold, .summary-color-bar .scheduled, .summary-color-bar .closed { height: 2px; float: left; } .summary-color-bar .open { background-color: #00b831; } .summary-color-bar .hold { background-color: #ffa200; } .summary-color-bar .scheduled { background-color: #104aa8; } .summary-color-bar .closed { background-color: #ff1e00; } .extras { padding-bottom: 0.7em; } .extras .tile { font-size: 0.9em; padding: 0.5em 0; } .extras .tile { border-bottom: solid 2px rgba(0,0,0,0.3); } .extras .tile:last-child { padding-bottom: 0; border-bottom: none; } .extras .notice { margin-top: 0.5em; font-size: 0.8em; font-style: italic; display: flex; align-items: center; justify-content: flex-end; gap: 0.5em; } .extras .weather .weather-icon { float: left; height: 70px; margin-top: -10px; } .extras .weather .temperature { float: right; font-size: 1.5em; } .extras .weather .snow-conditions { clear: right; float: right; font-size: 1.1em; margin-left: 60px; text-align: right; } .extras .weather .snowforecast { margin-left: 0.5em; font-weight: bold; } .extras .weather .text { clear: both; } .extras .weather .notice img { float: none; width: 126px; vertical-align: bottom; } .extras .webcams .swipe { overflow: hidden; } .extras .webcams .swipe * { touch-action: pan-y !important; } .extras .webcams .pager { text-align: center; font-weight: bold; line-height: 1.3; } .extras .webcams .pager a { margin: 0 2px; padding: 0 0.3em; } .extras .webcams .pager .active:before { content: '●'; } .extras .webcams .pager .inactive:before { content: '○'; } .extras .webcams li { list-style: none; display: inline-block; max-width: 296px; vertical-align: top; } .extras .webcams .webcam { max-width: 100%; display: inline-block; } .extras .webcams .webcam >a { display: block; position: relative; overflow-x: hidden; } .extras .webcams .webcam >a img { margin: 0 auto; -webkit-user-select: none; user-select: none; pointer-events: none; } .extras .webcams .webcam >a img.active { display: block; } .extras .webcams .webcam >a img.inactive { display: none; } .extras .webcams .webcam >a .title { margin-bottom: 0.5em; text-align: center; } .extras .snow .value { display: inline-block; min-width: 2em; text-align: right; } .extras .deals { padding-bottom: 0; } .extras .deals .deal { padding: 0.4em 0; line-height: 1.5; } .extras .deals .deal:after { content: " "; display: block; clear: both; } .extras .deals .deal span { float: left; } .extras .deals .deal a { float: right; } .resort .deal { font-size: 0.9em; margin-bottom: 0.5em; padding: 0.5em 0; border-bottom: solid 2px rgba(0,0,0,0.3); } .resort .deal a { float: right; } .stats .pie { margin: 1em 0; width: 294px; height: 294px; border-radius: 50%; background-image: conic-gradient(#00b831 0 var(--open), #ffa200 0 var(--hold), #104aa8 0 var(--scheduled), #ff1e00 0); } .stats footer .summary li { float: none; clear: both; line-height: 2; text-align: right; width: 55%; margin: 0 auto; } .stats footer .summary li span:first-child { float: left; } .stats footer .summary li span:first-child:before { margin-right: 0.5em; } .stats footer .summary li span:last-child { float: right; } body > footer { clear: both; margin-top: 1em; padding: 0 0.2em; line-height: 1; text-align: center; } body > footer .text { display: inline; margin-left: 0.2em; } body > footer a { margin: 0 0.2em; } body > footer a span { color: #666; transition: color 0.3s ease; } body > footer a:hover span { color: #000; } body > footer a:hover .ls-twitter { color: $twitter-color; } body > footer a:hover .ls-facebook { color: #3b5998; } .about { background-color: #f5f8ff; background: linear-gradient(to bottom, #f6f9ff, #dde8fe); box-sizing: border-box; padding: 1em; } .about h1 { font-size: 1.2em; } .about:after { content: " "; display: block; clear: both; } .about p { margin: 0.5em 0; line-height: 1.5em; } .about p [class^="ls-"]:before, .about p [class*=" ls-"]:before { color: #009ddb; text-shadow: 1px 1px #fff; margin-right: 0.2em; } .about footer a { font-size: 0.9em; color: #fff; text-shadow: 0 -1px rgba(0,0,0,0.3); display: block; float: right; padding: 0.3em 0.5em; background-color: #009ddb; background: linear-gradient(to bottom, #00a8ea, #0095d0); } .about footer a:hover { background-color: #00b2f8; background: linear-gradient(to bottom, #06b9ff, #00a9ec); } .tags { list-style: none; display: block; margin: 0 8px; } .tags li { display: block; float: left; position: relative; font-size: 0.9em; margin-right: 1.2em; margin-bottom: 0.6em; } .tags li:last-child { margin-right: 0; } .tags a, .tags .count { display: block; box-sizing: border-box; } .tags a { color: #009ddb; text-shadow: 0 1px #fff; padding: 5px 6px 5px 7px; background-color: #f5f8ff; background: linear-gradient(to bottom, #f6f9ff, #dde8fe); } .tags a .count { position: absolute; top: 0; left: 100%; z-index: 2; overflow: hidden; max-width: 0; padding: 5px 0 5px 2px; color: #fff; text-shadow: 0 -1px rgba(0,0,0,0.3); background-color: #009ddb; background: linear-gradient(to bottom, #00a8ea, #0095d0); opacity: 0.95; transition-duration: 0.3s; transition-timing-function: ease-out; transition-property: padding, max-width; } .tags a:hover .count { padding: 5px 7px 5px 6px; max-width: 40px; box-shadow: 1px 1px 2px rgba(0,0,0,0.2); } .content { margin: 16px auto; width: 2352px; } .content:after { content: " "; display: block; clear: both; } .widget { font-size: 0.8em; } .widget .panel { width: 100%; margin: 0; display: block; float: none; } .widget.naked .panel { background-color: transparent; padding: 0; } .content-4 { max-width: 1344px; } @media screen and (max-width: 1680px) { .content { width: 1344px; } } .content-3 { max-width: 1008px; } @media screen and (max-width: 1344px) { .content { width: 1008px; } } .content-2 { max-width: 672px; } @media screen and (max-width: 1008px) { .content { width: 672px; } } .content-1 { max-width: 320px; } @media screen and (max-width: 672px) { .content { width: 320px; } .panel { margin-right: 0; margin-left: 0; } .tags { margin: 0; } } @media screen and (max-width: 720px) { body > footer { font-size: 1.3em; } body > footer .text { display: none; } } @media screen and (max-width: 400px) { .extras.desktop { display: none; } .extras.desktop img { display: none; } .extras.mobile { display: block; } .extras.mobile img { display: block; } } @media screen and (min-width: 500px) { .widget .lift { float: left; margin-right: 3%; } } @media screen and (min-width: 500px) and (max-width: 749px) { .widget .lift { width: 48.5%; } .widget .lift:nth-child(2n) { margin-right: 0; } } @media screen and (min-width: 750px) and (max-width: 999px) { .widget .lift { width: 31.333%; } .widget .lift:nth-child(3n) { margin-right: 0; } } @media screen and (min-width: 1000px) { .widget .lift { width: 22.75%; } .widget .lift:nth-child(4n) { margin-right: 0; } }