.leaflet-pane,
.leaflet-tile,
.leaflet-marker-icon,
.leaflet-marker-shadow,
.leaflet-tile-container,
.leaflet-pane>svg,
.leaflet-pane>canvas,
.leaflet-zoom-box,
.leaflet-image-layer,
.leaflet-layer {
  position: absolute;
  left: 0;
  top: 0
}

.leaflet-container {
  overflow: hidden
}

.leaflet-tile,
.leaflet-marker-icon,
.leaflet-marker-shadow {
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  -webkit-user-drag: none
}

.leaflet-safari .leaflet-tile {
  image-rendering: -webkit-optimize-contrast
}

.leaflet-safari .leaflet-tile-container {
  width: 1600px;
  height: 1600px;
  -webkit-transform-origin: 0 0
}

.leaflet-marker-icon,
.leaflet-marker-shadow {
  display: block
}

.leaflet-container .leaflet-overlay-pane svg,
.leaflet-container .leaflet-marker-pane img,
.leaflet-container .leaflet-shadow-pane img,
.leaflet-container .leaflet-tile-pane img,
.leaflet-container img.leaflet-image-layer,
.leaflet-container .leaflet-tile {
  max-width: none !important;
  max-height: none !important
}

.leaflet-container.leaflet-touch-zoom {
  -ms-touch-action: pan-x pan-y;
  touch-action: pan-x pan-y
}

.leaflet-container.leaflet-touch-drag {
  -ms-touch-action: pinch-zoom;
  touch-action: none;
  touch-action: pinch-zoom
}

.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom {
  -ms-touch-action: none;
  touch-action: none
}

.leaflet-container {
  -webkit-tap-highlight-color: transparent
}

.leaflet-container a {
  -webkit-tap-highlight-color: rgba(51, 181, 229, 0.4)
}

.leaflet-tile {
  filter: inherit;
  visibility: hidden
}

.leaflet-tile-loaded {
  visibility: inherit
}

.leaflet-zoom-box {
  width: 0;
  height: 0;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  z-index: 800
}

.leaflet-overlay-pane svg {
  -moz-user-select: none
}

.leaflet-tile-pane {
  z-index: 200
}

.leaflet-overlay-pane {
  z-index: 400
}

.leaflet-shadow-pane {
  z-index: 500
}

.leaflet-marker-pane {
  z-index: 600
}

.leaflet-tooltip-pane {
  z-index: 650
}

.leaflet-popup-pane {
  z-index: 700
}

.leaflet-map-pane canvas {
  z-index: 100
}

.leaflet-map-pane svg {
  z-index: 200
}

.leaflet-vml-shape {
  width: 1px;
  height: 1px
}

.lvml {
  behavior: url(#default#VML);
  display: inline-block;
  position: absolute
}

.leaflet-control {
  position: relative;
  z-index: 800;
  pointer-events: visiblePainted;
  pointer-events: auto
}

.leaflet-top,
.leaflet-bottom {
  position: absolute;
  z-index: 1000;
  pointer-events: none
}

.leaflet-top {
  top: 0
}

.leaflet-right {
  right: 0
}

.leaflet-bottom {
  bottom: 0
}

.leaflet-left {
  left: 0
}

.leaflet-control {
  float: left;
  clear: both
}

.leaflet-right .leaflet-control {
  float: right
}

.leaflet-top .leaflet-control {
  margin-top: 10px
}

.leaflet-bottom .leaflet-control {
  margin-bottom: 10px
}

.leaflet-left .leaflet-control {
  margin-left: 10px
}

.leaflet-right .leaflet-control {
  margin-right: 10px
}

.leaflet-fade-anim .leaflet-popup {
  opacity: 0;
  -webkit-transition: opacity .2s linear;
  -moz-transition: opacity .2s linear;
  transition: opacity .2s linear
}

.leaflet-fade-anim .leaflet-map-pane .leaflet-popup {
  opacity: 1
}

.leaflet-zoom-animated {
  -webkit-transform-origin: 0 0;
  -ms-transform-origin: 0 0;
  transform-origin: 0 0
}

.leaflet-zoom-anim .leaflet-zoom-animated {
  will-change: transform
}

.leaflet-zoom-anim .leaflet-zoom-animated {
  -webkit-transition: -webkit-transform .25s cubic-bezier(0, 0, .25, 1);
  -moz-transition: -moz-transform .25s cubic-bezier(0, 0, .25, 1);
  transition: transform .25s cubic-bezier(0, 0, .25, 1)
}

.leaflet-zoom-anim .leaflet-tile,
.leaflet-pan-anim .leaflet-tile {
  -webkit-transition: none;
  -moz-transition: none;
  transition: none
}

.leaflet-zoom-anim .leaflet-zoom-hide {
  visibility: hidden
}

.leaflet-interactive {
  cursor: pointer
}

.leaflet-grab {
  cursor: -webkit-grab;
  cursor: -moz-grab;
  cursor: grab
}

.leaflet-crosshair,
.leaflet-crosshair .leaflet-interactive {
  cursor: crosshair
}

.leaflet-popup-pane,
.leaflet-control {
  cursor: auto
}

.leaflet-dragging .leaflet-grab,
.leaflet-dragging .leaflet-grab .leaflet-interactive,
.leaflet-dragging .leaflet-marker-draggable {
  cursor: move;
  cursor: -webkit-grabbing;
  cursor: -moz-grabbing;
  cursor: grabbing
}

.leaflet-marker-icon,
.leaflet-marker-shadow,
.leaflet-image-layer,
.leaflet-pane>svg path,
.leaflet-tile-container {
  pointer-events: none
}

.leaflet-marker-icon.leaflet-interactive,
.leaflet-image-layer.leaflet-interactive,
.leaflet-pane>svg path.leaflet-interactive {
  pointer-events: visiblePainted;
  pointer-events: auto
}

.leaflet-container {
  background: #ddd;
  outline: 0
}

.leaflet-container a {
  color: #0078a8
}

.leaflet-container a.leaflet-active {
  outline: 2px solid orange
}

.leaflet-zoom-box {
  border: 2px dotted #38f;
  background: rgba(255, 255, 255, 0.5)
}

.leaflet-container {
  font: 12px/1.5 -apple-system, system-ui, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', sans-serif
}

.leaflet-bar {
  box-shadow: 0 1px 5px rgba(0, 0, 0, 0.65);
  border-radius: 4px
}

.leaflet-bar a,
.leaflet-bar a:hover {
  background-color: #fff;
  border-bottom: 1px solid #ccc;
  width: 26px;
  height: 26px;
  line-height: 26px;
  display: block;
  text-align: center;
  text-decoration: none;
  color: black
}

.leaflet-bar a,
.leaflet-control-layers-toggle {
  background-position: 50% 50%;
  background-repeat: no-repeat;
  display: block
}

.leaflet-bar a:hover {
  background-color: #f4f4f4
}

.leaflet-bar a:first-child {
  border-top-left-radius: 4px;
  border-top-right-radius: 4px
}

.leaflet-bar a:last-child {
  border-bottom-left-radius: 4px;
  border-bottom-right-radius: 4px;
  border-bottom: none
}

.leaflet-bar a.leaflet-disabled {
  cursor: default;
  background-color: #f4f4f4;
  color: #bbb
}

.leaflet-touch .leaflet-bar a {
  width: 30px;
  height: 30px;
  line-height: 30px
}

.leaflet-touch .leaflet-bar a:first-child {
  border-top-left-radius: 2px;
  border-top-right-radius: 2px
}

.leaflet-touch .leaflet-bar a:last-child {
  border-bottom-left-radius: 2px;
  border-bottom-right-radius: 2px
}

.leaflet-control-zoom-in,
.leaflet-control-zoom-out {
  font: bold 18px 'Lucida Console', Monaco, monospace;
  text-indent: 1px
}

.leaflet-touch .leaflet-control-zoom-in,
.leaflet-touch .leaflet-control-zoom-out {
  font-size: 22px
}

.leaflet-control-layers {
  box-shadow: 0 1px 5px rgba(0, 0, 0, 0.4);
  background: #fff;
  border-radius: 5px
}

.leaflet-control-layers-toggle {
  background-image: url(images/layers.png);
  width: 36px;
  height: 36px
}

.leaflet-retina .leaflet-control-layers-toggle {
  background-image: url(images/layers-2x.png);
  background-size: 26px 26px
}

.leaflet-touch .leaflet-control-layers-toggle {
  width: 44px;
  height: 44px
}

.leaflet-control-layers .leaflet-control-layers-list,
.leaflet-control-layers-expanded .leaflet-control-layers-toggle {
  display: none
}

.leaflet-control-layers-expanded .leaflet-control-layers-list {
  display: block;
  position: relative
}

.leaflet-control-layers-expanded {
  padding: 6px 10px 6px 6px;
  color: #333;
  background: #fff
}

.leaflet-control-layers-scrollbar {
  overflow-y: scroll;
  overflow-x: hidden;
  padding-right: 5px
}

.leaflet-control-layers-selector {
  margin-top: 2px;
  position: relative;
  top: 1px
}

.leaflet-control-layers label {
  display: block
}

.leaflet-control-layers-separator {
  height: 0;
  border-top: 1px solid #ddd;
  margin: 5px -10px 5px -6px
}

.leaflet-default-icon-path {
  background-image: url(images/marker-icon.png)
}

.leaflet-container .leaflet-control-attribution {
  background: #fff;
  background: rgba(255, 255, 255, 0.7);
  margin: 0
}

.leaflet-control-attribution,
.leaflet-control-scale-line {
  padding: 0 5px;
  color: #333
}

.leaflet-control-attribution a {
  text-decoration: none
}

.leaflet-control-attribution a:hover {
  text-decoration: underline
}

.leaflet-container .leaflet-control-attribution,
.leaflet-container .leaflet-control-scale {
  font-size: 11px
}

.leaflet-left .leaflet-control-scale {
  margin-left: 5px
}

.leaflet-bottom .leaflet-control-scale {
  margin-bottom: 5px
}

.leaflet-control-scale-line {
  border: 2px solid #777;
  border-top: none;
  line-height: 1.1;
  padding: 2px 5px 1px;
  font-size: 11px;
  white-space: nowrap;
  overflow: hidden;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  background: #fff;
  background: rgba(255, 255, 255, 0.5)
}

.leaflet-control-scale-line:not(:first-child) {
  border-top: 2px solid #777;
  border-bottom: none;
  margin-top: -2px
}

.leaflet-control-scale-line:not(:first-child):not(:last-child) {
  border-bottom: 2px solid #777
}

.leaflet-touch .leaflet-control-attribution,
.leaflet-touch .leaflet-control-layers,
.leaflet-touch .leaflet-bar {
  box-shadow: none
}

.leaflet-touch .leaflet-control-layers,
.leaflet-touch .leaflet-bar {
  border: 2px solid rgba(0, 0, 0, 0.2);
  background-clip: padding-box
}

.leaflet-popup {
  position: absolute;
  text-align: center;
  margin-bottom: 20px
}

.leaflet-popup-content-wrapper {
  padding: 1px;
  text-align: left;
  border-radius: 12px
}

.leaflet-popup-content {
  margin: 13px 19px;
  line-height: 1.4
}

.leaflet-popup-content p {
  margin: 18px 0
}

.leaflet-popup-tip-container {
  width: 40px;
  height: 20px;
  position: absolute;
  left: 50%;
  margin-left: -20px;
  overflow: hidden;
  pointer-events: none
}

.leaflet-popup-tip {
  width: 17px;
  height: 17px;
  padding: 1px;
  margin: -10px auto 0;
  -webkit-transform: rotate(45deg);
  -moz-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg)
}

.leaflet-popup-content-wrapper,
.leaflet-popup-tip {
  background: white;
  color: #333;
  box-shadow: 0 3px 14px rgba(0, 0, 0, 0.4)
}

.leaflet-container a.leaflet-popup-close-button {
  position: absolute;
  top: 0;
  right: 0;
  padding: 4px 4px 0 0;
  border: none;
  text-align: center;
  width: 18px;
  height: 14px;
  font: 16px/14px Tahoma, Verdana, sans-serif;
  color: #c3c3c3;
  text-decoration: none;
  font-weight: bold;
  background: transparent
}

.leaflet-container a.leaflet-popup-close-button:hover {
  color: #999
}

.leaflet-popup-scrolled {
  overflow: auto;
  border-bottom: 1px solid #ddd;
  border-top: 1px solid #ddd
}

.leaflet-oldie .leaflet-popup-content-wrapper {
  zoom: 1
}

.leaflet-oldie .leaflet-popup-tip {
  width: 24px;
  margin: 0 auto;
  -ms-filter: 'progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)';
  filter: progid:DXImageTransform.Microsoft.Matrix(M11=.70710678, M12=.70710678, M21=-0.70710678, M22=.70710678)
}

.leaflet-oldie .leaflet-popup-tip-container {
  margin-top: -1px
}

.leaflet-oldie .leaflet-control-zoom,
.leaflet-oldie .leaflet-control-layers,
.leaflet-oldie .leaflet-popup-content-wrapper,
.leaflet-oldie .leaflet-popup-tip {
  border: 1px solid #999
}

.leaflet-div-icon {
  background: #fff;
  border: 1px solid #666
}

.leaflet-tooltip {
  position: absolute;
  padding: 6px;
  background-color: #fff;
  border: 1px solid #fff;
  border-radius: 3px;
  color: #222;
  white-space: nowrap;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  pointer-events: none;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.4)
}

.leaflet-tooltip.leaflet-clickable {
  cursor: pointer;
  pointer-events: auto
}

.leaflet-tooltip-top:before,
.leaflet-tooltip-bottom:before,
.leaflet-tooltip-left:before,
.leaflet-tooltip-right:before {
  position: absolute;
  pointer-events: none;
  border: 6px solid transparent;
  background: transparent;
  content: ''
}

.leaflet-tooltip-bottom {
  margin-top: 6px
}

.leaflet-tooltip-top {
  margin-top: -6px
}

.leaflet-tooltip-bottom:before,
.leaflet-tooltip-top:before {
  left: 50%;
  margin-left: -6px
}

.leaflet-tooltip-top:before {
  bottom: 0;
  margin-bottom: -12px;
  border-top-color: #fff
}

.leaflet-tooltip-bottom:before {
  top: 0;
  margin-top: -12px;
  margin-left: -6px;
  border-bottom-color: #fff
}

.leaflet-tooltip-left {
  margin-left: -6px
}

.leaflet-tooltip-right {
  margin-left: 6px
}

.leaflet-tooltip-left:before,
.leaflet-tooltip-right:before {
  top: 50%;
  margin-top: -6px
}

.leaflet-tooltip-left:before {
  right: 0;
  margin-right: -12px;
  border-left-color: #fff
}

.leaflet-tooltip-right:before {
  left: 0;
  margin-left: -12px;
  border-right-color: #fff
}

body,
div,
dl,
dt,
dd,
ul,
ol,
li,
h1,
h2,
h3,
h4,
h5,
h6,
pre,
form,
fieldset,
input,
textarea,
blockquote,
th,
td,
table {
  margin: 0;
  padding: 0
}

* {
  box-sizing: border-box
}

fieldset,
img {
  border: 0
}

table {
  border-collapse: collapse
}

td {
  text-align: center
}

input {
  font-family: -apple-system, system-ui, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', sans-serif
}

a {
  cursor: pointer;
  text-decoration: none;
  color: inherit
}

body {
  color: white;
  font-size: 14px;
  overflow: hidden;
  font-family: -apple-system, system-ui, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', sans-serif;
  /* readme 드래그 및 전체 배경 색상 부분 */
  background-color: #47494D; 
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale
}

.has-statusbar .top-border {
  top: 18px
}

.has-statusbar.iphonex .top-border {
  top: 32px
}

.has-statusbar.iphonex .bottom-border {
  bottom: 18px
}

.ios13 {
  -webkit-user-select: none;
  -webkit-touch-callout: none
}

@font-face {
  font-family: 'bariolnumbers';
  font-display: auto;
  src: url('../../img/bariol/bariol-medium-numbers.otf');
  src: url('../../img/bariol/bariol-medium-numbers.woff2') format('woff2'), url('../../img/bariol/bariol-medium-numbers.woff') format('woff');
  font-weight: normal;
  font-style: normal
}

.fg-red {
  color: #9d0300
}

.fg-lred {
  color: #946051
}

.fg-yellow {
  color: #fff3e1
}

.fg-error {
  color: #c42f2f
}

.fg-ok {
  color: #026f00
}

.fg-gray {
  color: #6b6b6b
}

.fg-lgray {
  color: #e5e5e5
}

.fg-white {
  color: white
}

.bg-red {
  background-color: #9d0300
}

.bg-lred {
  background-color: #946051
}

.bg-transparent {
  background-color: rgba(68, 65, 65, 0.84)
}

.bg-orange {
  background-color: #d49500
}

.bg-yellow {
  background-color: #fff3e1
}

.bg-error {
  background-color: #c42f2f
}

.bg-lblue {
  background-color: #337ab7
}

.bg-ok {
  background-color: #026f00
}

.bg-lgray {
  background-color: #e5e5e5
}

.bg-gray {
  background-color: #4d4d4d
}

.bg-white {
  background-color: #f8f8f8
}

.dotted,
.detail .metric-clickable {
  text-decoration: underline;
  text-decoration-style: dotted;
  text-decoration-color: rgba(0, 0, 0, 0.36)
}

.clickable {
  cursor: pointer
}

.shaky {
  animation-name: spaceboots;
  animation-duration: .8s;
  transform-origin: 50% 50%;
  animation-iteration-count: 80;
  animation-timing-function: linear
}

.clickable-size {
  cursor: pointer;
  transition: all .3s
}

.clickable-size:hover {
  transform: scale(1.05, 1.05)
}

.noselect {
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none
}

.flat,
.slider-wrapper,
.plugin-content,
.detail {
  transform-style: flat;
  -webkit-transform-style: flat
}

.nomouse {
  pointer-events: none
}

.uiyellow {
  text-shadow: 0 0 4px black;
  color: #fff3e1
}

.grab {
  cursor: -webkit-grab;
  cursor: -moz-grab;
  cursor: grab
}

.notap {
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0)
}

.disabled {
  opacity: .6;
  pointer-events: none
}

.enabled {
  opacity: 1;
  pointer-events: all
}

.first-big:first-letter {
  text-transform: uppercase
}

.capitalize {
  text-transform: lowercase
}

.capitalize:first-letter {
  text-transform: uppercase
}

.fullscreen,
.drop-down-menu.opened::before {
  position: fixed;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  width: 100vw;
  height: 100vh
}

.flex-container {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  flex-direction: column;
  -webkit-flex-direction: column;
  -ms-flex-direction: column
}

.centered {
  display: block;
  width: 100%;
  text-align: center
}

.centered>* {
  display: inline-block
}

.left-border {
  left: 0
}

.right-border {
  right: 0
}

.top-border {
  top: 0
}

.bottom-border {
  bottom: 0
}

.shy {
  transition: .7s opacity 0s;
  -webkit-transition: .7s opacity 0s
}

.moooving .shy {
  opacity: 0 !important
}

@font-face {
  font-family: 'iconfont';
  src: url('../font/iconfont.woff') format('woff');
  font-weight: normal;
  font-style: normal
}

.iconfont,
[data-icon]::before,
[data-icon-after]::after,
.ch-icon-on,
.ch-icon-off,
.checkbox:not(.behind)::before,
.checkbox.behind::after,
.checkbox:not(.behind).off::before,
.checkbox.behind.off::after {
  font-family: iconfont;
  font-variant: normal;
  text-transform: none;
  line-height: 1
}

[data-icon]::before {
  content: attr(data-icon)
}

[data-icon].inlined::before {
  position: relative;
  margin-right: .3em;
  top: .2em
}

[data-icon-after]::after {
  content: attr(data-icon-after)
}

[data-icon-after].inlined::after {
  position: relative;
  margin-left: .3em;
  top: .2em
}

#device-mobile .mobilehide {
  display: none !important
}

#device-mobile .mobiletablethide,
#device-tablet .mobiletablethide {
  display: none !important
}

.textshadow {
  text-shadow: 0 0 4px black
}

.boxshadow {
  box-shadow: 0 0 4px 0 black
}

.outline {
  text-shadow: -1px -1px 0 rgba(0, 0, 0, 0.45), 1px -1px 0 rgba(0, 0, 0, 0.45), -1px 1px 0 rgba(0, 0, 0, 0.45), 1px 1px 0 rgba(0, 0, 0, 0.45)
}

.heavyshadow {
  text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.63)
}

.noshadow {
  text-shadow: none
}

.size-xxs {
  font-size: 8px
}

.size-xs {
  font-size: 10px
}

.size-s {
  font-size: 12px
}

.size-m {
  font-size: 14px
}

.size-l {
  font-size: 16px
}

.size-xl {
  font-size: 18px
}

.size-xxl {
  font-size: 20px
}

.size-xxxl {
  font-size: 24px
}

.size-ultra {
  font-size: 40px
}

.animation,
.window,
.drop-down-window {
  visibility: hidden;
  opacity: 0;
  transition: visibility 0s linear .3s, opacity .3s linear
}

.animation.open,
.animation.show,
.window.open,
.window.show,
.drop-down-window.open,
.drop-down-window.show {
  visibility: visible;
  opacity: 1;
  transition-delay: 0s
}

@keyframes enter-and-leave {
  0% {
    display: none;
    opacity: 0
  }

  10% {
    display: block;
    opacity: 1
  }

  90% {
    display: block;
    opacity: 1
  }

  100% {
    display: none;
    opacity: 0
  }
}

@keyframes hide-and-appear {
  0% {
    display: none;
    opacity: 0
  }

  70% {
    display: block;
    opacity: 0
  }

  100% {
    display: none;
    opacity: 1
  }
}

@keyframes from-bottom-and-back {
  0% {
    bottom: -60px
  }

  10% {
    bottom: 0
  }

  90% {
    bottom: 0
  }

  100% {
    bottom: -60px
  }
}

@keyframes pulsate {
  0% {
    transform: scale(.1, .1);
    opacity: 0
  }

  50% {
    opacity: 1
  }

  100% {
    transform: scale(1.2, 1.2);
    opacity: 0
  }
}

@keyframes pulsate-opacity {
  0% {
    opacity: 1
  }

  50% {
    opacity: .3
  }

  100% {
    opacity: 1
  }
}

@keyframes come-from-right {
  0% {
    right: -100%
  }

  100% {
    right: 0
  }
}

@keyframes pulsate-size {
  0% {
    transform: scale(1, 1)
  }

  50% {
    transform: scale(1.1, 1.1)
  }

  100% {
    transform: scale(1, 1)
  }
}

@keyframes pulsate-size-big {
  0% {
    transform: scale(.7, .7)
  }

  50% {
    transform: scale(1.1, 1.1)
  }

  100% {
    transform: scale(.7, .7)
  }
}

@keyframes fadein-half {
  from {
    opacity: 0
  }

  to {
    opacity: .6
  }
}

@keyframes fadein-full {
  from {
    opacity: 0
  }

  to {
    opacity: 1
  }
}

@keyframes rotate {
  0% {
    transform: rotate(0deg)
  }

  100% {
    transform: rotate(360deg)
  }
}

@keyframes spaceboots {
  0% {
    transform: translate(2px, 1px) rotate(0deg)
  }

  10% {
    transform: translate(-1px, -2px) rotate(-1deg)
  }

  20% {
    transform: translate(-3px, 0) rotate(1deg)
  }

  30% {
    transform: translate(0, 2px) rotate(0deg)
  }

  40% {
    transform: translate(1px, -1px) rotate(1deg)
  }

  50% {
    transform: translate(-1px, 2px) rotate(-1deg)
  }

  60% {
    transform: translate(-3px, 1px) rotate(0deg)
  }

  70% {
    transform: translate(2px, 1px) rotate(-1deg)
  }

  80% {
    transform: translate(-1px, -1px) rotate(1deg)
  }

  90% {
    transform: translate(2px, 2px) rotate(0deg)
  }

  100% {
    transform: translate(1px, -2px) rotate(-1deg)
  }
}

.loading-circle,
.loading::after,
#search .results.waiting a.active::after {
  animation: rotate .75s infinite linear;
  border: .1em solid #946051;
  border-radius: 50%;
  border-right-color: transparent;
  border-top-color: transparent;
  content: '';
  height: .8em;
  width: .8em
}

.loading {
  pointer-events: none;
  animation: fadein-full .5s;
  -webkit-animation: fadein-full .5s;
  color: transparent !important;
  min-height: .8em;
  position: relative;
  display: none
}

.loading.show {
  display: inline-block
}

.loading::after {
  z-index: 1;
  left: 50%;
  top: 50%;
  display: block;
  margin-top: -0.4em;
  position: absolute
}

.loading.ld-white::after {
  border-left-color: #f8f8f8;
  border-bottom-color: #f8f8f8
}

.loading.ld-gray::after {
  border-left-color: #6b6b6b;
  border-bottom-color: #6b6b6b
}

.loading.ld-lgray::after {
  border-left-color: #e5e5e5;
  border-bottom-color: #e5e5e5
}

.loading.ld-red::after {
  border-left-color: #9d0300;
  border-bottom-color: #9d0300
}

.loading.full {
  font-size: 40px;
  width: 1em;
  height: 1em;
  top: 50%;
  left: 50%;
  position: absolute;
  margin: -0.8em -1em;
  z-index: 100
}

.big-loader,
.big-loader:before,
.big-loader:after {
  border-radius: 50%;
  width: 2.5em;
  height: 2.5em;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
  -webkit-animation: load7 1.8s infinite ease-in-out;
  animation: load7 1.8s infinite ease-in-out
}

.big-loader {
  color: #973c3c;
  font-size: 10px;
  position: relative;
  text-indent: -9999em;
  -webkit-transform: translateZ(0);
  -ms-transform: translateZ(0);
  transform: translateZ(0);
  -webkit-animation-delay: -0.16s;
  animation-delay: -0.16s
}

.big-loader:before,
.big-loader:after {
  content: '';
  position: absolute;
  top: 0
}

.big-loader:before {
  left: -3.5em;
  -webkit-animation-delay: -0.32s;
  animation-delay: -0.32s
}

.big-loader:after {
  left: 3.5em
}

@-webkit-keyframes load7 {

  0%,
  80%,
  100% {
    box-shadow: 0 2.5em 0 -1.3em
  }

  40% {
    box-shadow: 0 2.5em 0 0
  }
}

@keyframes load7 {

  0%,
  80%,
  100% {
    box-shadow: 0 2.5em 0 -1.3em
  }

  40% {
    box-shadow: 0 2.5em 0 0
  }
}

.button {
  cursor: pointer;
  display: inline-block;
  border-radius: 2em;
  padding: .25em 1em;
  margin: .5em;
  line-height: normal;
  position: relative;
  border: 1px solid;
  font-weight: 300;
  text-align: center;
  color: #9d0300;
  border-color: #9d0300
}

.button::after {
  border-left-color: #9d0300;
  border-bottom-color: #9d0300;
  margin-top: -0.5em;
  margin-left: -0.3em
}

.button.btn-lred {
  color: #946051;
  border-color: #946051
}

.button.btn-lred::after {
  border-left-color: #946051;
  border-bottom-color: #946051
}

.button.btn-gray {
  color: #6b6b6b;
  border-color: #6b6b6b
}

.button.btn-gray::after {
  border-left-color: #6b6b6b;
  border-bottom-color: #6b6b6b
}

.button.btn-white {
  color: white;
  border-color: #f8f8f8
}

.button.btn-white::after {
  border-left-color: #f8f8f8;
  border-bottom-color: #f8f8f8
}

.button[data-icon]::before {
  position: relative;
  top: .08em;
  margin-right: .3em
}

[data-tooltip] {
  cursor: pointer;
  position: relative;
  text-transform: none
}

[data-tooltip]:hover::before {
  animation: hide-and-appear 1s;
  margin-left: -10px;
  top: 50%;
  margin-top: -5px;
  border: solid transparent;
  content: ' ';
  height: 0;
  width: 0;
  position: absolute;
  border-left-color: #4d4d4d;
  border-width: 5px;
  z-index: 99;
  line-height: 1;
  pointer-events: none
}

[data-tooltip]:hover::after {
  animation: hide-and-appear 1s;
  background: #4d4d4d;
  white-space: nowrap;
  overflow: hidden;
  color: #fff;
  content: attr(data-tooltip);
  font-family: -apple-system, system-ui, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', sans-serif;
  text-shadow: none;
  padding: 3px 15px;
  position: absolute;
  z-index: 98;
  font-size: 11px;
  height: 20px;
  box-sizing: border-box;
  margin-top: -10px;
  margin-right: 10px;
  top: 50%;
  right: 100%;
  line-height: 1;
  pointer-events: none;
  border-radius: 3px
}

[data-tooltip].tooltip-down:hover::after {
  top: 100%;
  margin-top: 15px;
  left: -5px;
  right: initial;
  display: inline-table;
  padding: 3px 15px
}

[data-tooltip].tooltip-down:hover::before {
  top: 100%;
  bottom: initial;
  left: 50%;
  margin-left: -5px;
  margin-top: 5px;
  border-bottom-color: #4d4d4d;
  border-left-color: transparent
}

#device-mobile [data-tooltip].tooltip-down:hover::before,
#device-tablet [data-tooltip].tooltip-down:hover::before,
#device-mobile [data-tooltip].tooltip-down:hover::after,
#device-tablet [data-tooltip].tooltip-down:hover::after {
  display: none
}

[data-tooltip].tooltip-up:hover::after {
  top: -100%;
  left: -5px;
  right: initial;
  display: inline-table;
  padding: 3px 15px
}

[data-tooltip].tooltip-up:hover::before {
  bottom: 100%;
  top: initial;
  left: 50%;
  margin-left: -5px;
  margin-top: 5px;
  border-top-color: #4d4d4d;
  border-left-color: transparent
}

#device-mobile [data-tooltip].tooltip-up:hover::before,
#device-tablet [data-tooltip].tooltip-up:hover::before,
#device-mobile [data-tooltip].tooltip-up:hover::after,
#device-tablet [data-tooltip].tooltip-up:hover::after {
  display: none
}

[data-tooltip].tooltip-right:hover::after {
  left: 100%;
  margin-left: 5px;
  right: initial
}

[data-tooltip].tooltip-right:hover::before {
  left: 100%;
  right: initial;
  margin-left: -5px;
  border-right-color: #4d4d4d;
  border-left-color: transparent
}

#device-mobile [data-tooltip].tooltip-right:hover::before,
#device-tablet [data-tooltip].tooltip-right:hover::before,
#device-mobile [data-tooltip].tooltip-right:hover::after,
#device-tablet [data-tooltip].tooltip-right:hover::after {
  display: none
}

#device-mobile [data-tooltip]:hover::before,
#device-tablet [data-tooltip]:hover::before,
#device-mobile [data-tooltip]:hover::after,
#device-tablet [data-tooltip]:hover::after {
  display: none
}

.drop-down-menu {
  position: relative;
  display: inline-block;
  border-bottom: 1px dotted #c1c1c1;
  cursor: pointer;
  margin: 0 .2em;
  line-height: normal
}

.drop-down-menu::before {
  content: attr(data-content)
}

.drop-down-menu::after {
  font-family: iconfont;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  content: 'g';
  margin-left: .3em;
  font-size: .8em;
  color: #946051
}

.drop-down-menu.opened::before {
  content: '';
  display: block;
  background: transparent;
  z-index: 10
}

.drop-down-menu ul {
  border: 1px solid #c1c1c1;
  border-radius: 3px;
  background-color: #f8f8f8;
  list-style: none;
  position: absolute;
  top: 0;
  margin: 3px -1px;
  min-width: 100%;
  box-shadow: 0 0 4px rgba(0, 0, 0, 0.29);
  line-height: 1.6;
  z-index: 20
}

.drop-down-menu ul li {
  list-style: none;
  white-space: nowrap;
  padding: 0 .8em
}

.drop-down-menu ul li.selected {
  background-color: #946051;
  color: white
}

#device-mobile .drop-down-menu ul {
  font-size: 1.3em
}

.drop-down-menu.open-up ul {
  bottom: -3px;
  top: unset
}

.menu {
  font-size: 14px;
  font-weight: normal;
  position: relative;
  line-height: 1;
  text-transform: none;
  font-variant: normal;
  display: block;
  list-style: none
}

.menu .loader {
  position: absolute;
  display: block;
  left: -1.875em;
  top: .625em
}

.menu a {
  cursor: pointer;
  transition: all .2s;
  -webkit-transition: all .2s;
  position: relative;
  margin: 0;
  display: block;
  list-style: none;
  font-weight: normal;
  padding: .31em 1.56em .31em .75em;
  white-space: nowrap
}

.menu a.selected {
  background-color: #d49500
}

.menu.with-left-yellow a {
  color: white;
  font-size: 12px;
  width: 100%;
  margin: 10px 0 0 0;
  padding-top: 0;
  padding-bottom: .6em;
  padding-left: .5em;
  white-space: nowrap;
  border-left: solid 5px transparent
}

@media screen and (max-height:600px) {
  .menu.with-left-yellow a {
    margin: 8px 0 0 0
  }
}

@media screen and (max-height:500px) {
  .menu.with-left-yellow a {
    margin: 4px 0 0 0
  }
}

.menu.with-left-yellow a .checkbox {
  font-size: 1.2em;
  display: inline-block;
  opacity: .6
}

.menu.with-left-yellow a .checkbox::before {
  margin-right: .15em
}

.menu.with-left-yellow a [data-icon-after] {
  overflow: hidden
}

.menu.with-left-yellow a [data-icon-after]::after {
  opacity: .6;
  font-size: 1.2em;
  margin-left: .5em
}

.menu.with-left-yellow a.selected {
  background: #71581b;
  border-left-color: #d49500
}

.menu-items {
  cursor: pointer;
  line-height: 2
}

.menu-items>a {
  color: #6b6b6b;
  white-space: nowrap;
  position: relative;
  display: block;
  margin-left: 2em
}

.menu-items>a:first-letter {
  text-transform: uppercase
}

.menu-items>a::before {
  color: #9d0300;
  display: block;
  position: absolute;
  left: -1.5em;
  font-size: 1.2em;
  top: .35em
}

.ch-icon-on,
.ch-icon-off,
.checkbox:not(.behind)::before,
.checkbox.behind::after,
.checkbox:not(.behind).off::before,
.checkbox.behind.off::after {
  content: 'I';
  font-size: 1.4em;
  display: inline-block;
  position: relative;
  top: .28em
}

.ch-icon-off,
.checkbox:not(.behind).off::before,
.checkbox.behind.off::after {
  content: 'G'
}

.checkbox {
  cursor: pointer;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  position: relative
}

.checkbox:not(.behind)::before {
  margin-right: .3em
}

.checkbox.behind::after {
  margin-left: .3em
}

.play-pause {
  display: block;
  font-size: 25px;
  color: #9d0300;
  width: 1.2em;
  height: 1.2em;
  border-radius: 1.2em;
  /* box-shadow: 0 0 4px 0 black; */
  background-color: #e5e5e5;
  border-radius: 25px;
  box-sizing: border-box;
  border: 2px solid #e5e5e5;
}

.play-pause::before {
  content: 'e';
  position: relative;
  left: 2px;
  top: 1px;
}

.play-pause.off:before {
  content: 'f';
  /* left: .17em */
  left: 4px;
}

.progress-bar {
  position: relative
}

.progress-bar .progress-line {
  height: 6px;
  cursor: pointer;
  position: relative;
  border: 10px solid transparent;
  background-clip: padding-box;
  border-right: none;
  border-left: none;
  top: -10px;
  -webkit-transition: width ease-in-out .7s;
  transition: width ease-in-out .7s
}

.progress-bar .progress-line .played {
  background-color: #e5e5e5;
  height: 6px;
  float: left;
  border-top-left-radius: 3px;
  border-bottom-left-radius: 3px;
  width: 15%
}

.progress-bar .progress-line .avbl {
  height: 6px;
  background-color: rgba(68, 65, 65, 0.84);
  width: 100%;
  border-radius: 6px
}

.progress-bar .progress-line i {
  display: block;
  width: 3px;
  height: 6px;
  position: absolute;
  background-color: #946051;
  top: 0
}

.progress-bar.anim-allowed .played {
  -webkit-transition: all ease-in-out .25s;
  transition: all ease-in-out .25s
}

.progress-bar.anim-allowed .timecode {
  -webkit-transition: all ease-in-out .25s;
  transition: all ease-in-out .25s
}

.slider-wrapper {
  padding: 5px;
  position: relative;
  width: 100%;
  box-sizing: border-box;
  display: none
}

.slider-wrapper canvas {
  position: absolute;
  left: 5px;
  right: 5px;
  width: calc(100% - 10px);
  top: 0;
  height: 60px
}

.slider-wrapper table {
  width: 100%;
  position: relative
}

.slider-wrapper table td {
  cursor: pointer;
  color: white;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  font-size: 9px;
  text-transform: uppercase;
  border-right: 1px solid rgba(239, 239, 239, 0.3)
}

.slider-wrapper table td img {
  width: 27px;
  margin: 2px auto 2px auto;
  display: block
}

.slider-wrapper table td big {
  display: block;
  font-size: 12px;
  padding-bottom: 3.5px
}

.slider-wrapper table td:last-child {
  border: none
}

.slider-wrapper .slider {
  position: relative;
  height: 9px;
  border-radius: 5px;
  width: 100%;
  box-sizing: content-box
}

.slider-wrapper .slider-rain {
  width: 100%;
  height: 12px;
  position: relative
}

.slider-wrapper .slider-rain i {
  font-family: iconfont;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  display: block;
  position: absolute;
  font-style: normal;
  font-size: 12px;
  margin-left: -6px;
  margin-top: 2px;
  opacity: .6
}

.slider-wrapper .alerts-line {
  height: 5px;
  width: 100%
}

.slider-wrapper .handle {
  display: block;
  border: 2px solid #9d0300;
  border-radius: 5px;
  width: 25px;
  position: absolute;
  bottom: -1px;
  top: -1px
}

.slider-wrapper .handle::before {
  content: ' ';
  position: absolute;
  top: -5px;
  left: -10px;
  right: -10px;
  bottom: -10px
}

.transparent-switch {
  line-height: initial;
  letter-spacing: .05em;
  border-radius: 1em;
  display: table;
  white-space: nowrap
}

.transparent-switch>div,
.transparent-switch a {
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  display: table-cell;
  padding: .3em 1em;
  margin-right: 1px;
  text-align: center
}

.transparent-switch>div:not(.selected),
.transparent-switch a:not(.selected) {
  cursor: pointer
}

.transparent-switch .selected {
  border-radius: 1em;
  color: white;
  background-color: #946051
}

.transparent-switch.compact>div,
.transparent-switch a {
  padding: .2em .6em
}

.ui-switch {
  color: #fff3e1;
  background-color: rgba(68, 65, 65, 0.84);
  line-height: initial;
  letter-spacing: .05em;
  border-radius: 1em;
  display: table
}

.ui-switch>div,
.ui-switch a {
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  display: table-cell;
  padding: .3em 1em;
  margin-right: 1px;
  text-align: center
}

.ui-switch>div:not(.selected),
.ui-switch a:not(.selected) {
  cursor: pointer
}

.ui-switch .selected {
  border-radius: 1em;
  color: white;
  background-color: #d49500;
  box-shadow: 0 0 4px 0 black
}

.switch {
  white-space: nowrap;
  line-height: initial;
  color: #6b6b6b;
  border-color: #6b6b6b;
  letter-spacing: .03em;
  display: inline-flex
}

.switch>div,
.switch a {
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  display: inline-block;
  text-align: center;
  border-bottom: solid 1px;
  border-top: solid 1px;
  border-right: solid 1px;
  padding: .3em 1.2em
}

.switch>div:first-child,
.switch a:first-child {
  border-bottom-left-radius: 5px;
  border-top-left-radius: 5px
}

.switch>div:last-child,
.switch a:last-child {
  border-top-right-radius: 5px;
  border-bottom-right-radius: 5px
}

.switch>div:not(.selected),
.switch a:not(.selected) {
  cursor: pointer
}

.switch>div:not(.selected):first-child,
.switch a:not(.selected):first-child {
  border-left: solid 1px
}

.switch .selected {
  color: white;
  background-color: #6b6b6b;
  border-color: #6b6b6b
}

.switch.compact>div,
.switch a {
  padding: .2em .6em
}

.timecode {
  font-size: 10px;
  position: absolute;
  display: block;
  box-sizing: border-box;
  top: -2.4em;
  margin-left: -2em
}

.timecode .loading {
  position: absolute;
  top: .2em;
  left: -1.4em
}

.timecode .box {
  cursor: -webkit-grab;
  cursor: -moz-grab;
  cursor: grab;
  position: relative;
  background-color: #dc0057;
  color: white;
  height: 1.8em;
  box-sizing: border-box;
  padding: 0 .8em;
  white-space: nowrap;
  text-align: center;
  display: table-cell;
  vertical-align: middle;
  /* border-radius: .5em; */
  box-shadow: 0 0 4px 0 black
}

.timecode .box::before {
  top: 100%;
  left: 2em;
  border: solid transparent;
  content: ' ';
  height: 0;
  width: 0;
  position: absolute;
  border-top-color: #dc0057;
  border-width: .5em;
  margin-left: -0.5em
}

.timecode .box[data-zulu]::after {
  content: attr(data-zulu);
  font-size: .8em;
  opacity: .7;
  margin-left: 5px
}

.timecode.ghost-timecode {
  transition: .3s opacity 0s;
  -webkit-transition: .3s opacity 0s;
  opacity: 0;
  pointer-events: none
}

.timecode.ghost-timecode .box {
  box-shadow: none;
  cursor: pointer;
  color: white;
  background-color: rgba(68, 65, 65, 0.84)
}

.timecode.ghost-timecode .box::before {
  border-top-color: rgba(68, 65, 65, 0.84)
}

.adtype {
  color: #fff;
  font-size: 10px;
  font-weight: 700;
  border-radius: 2px;
  padding: 2px 3px;
  position: relative;
  top: -1px;
  margin-right: 5px
}

.adtypeU {
  color: #fff;
  font-size: 10px;
  font-weight: 700;
  border-radius: 2px;
  padding: 2px 3px;
  position: relative;
  top: -1px;
  margin-right: 5px;
  background: none
}

.adtypeV::after {
  color: #fff;
  font-size: 10px;
  font-weight: 700;
  border-radius: 2px;
  padding: 2px 3px;
  position: relative;
  top: -1px;
  margin-right: 5px;
  background-color: #59a759;
  content: 'VFR'
}

.adtypeI::after {
  color: #fff;
  font-size: 10px;
  font-weight: 700;
  border-radius: 2px;
  padding: 2px 3px;
  position: relative;
  top: -1px;
  margin-right: 5px;
  background-color: #9d3737;
  content: 'IFR'
}

.adtypeM::after {
  color: #fff;
  font-size: 10px;
  font-weight: 700;
  border-radius: 2px;
  padding: 2px 3px;
  position: relative;
  top: -1px;
  margin-right: 5px;
  background-color: #4b4bdb;
  content: 'MVFR'
}

.adtypeL::after {
  color: #fff;
  font-size: 10px;
  font-weight: 700;
  border-radius: 2px;
  padding: 2px 3px;
  position: relative;
  top: -1px;
  margin-right: 5px;
  background-color: #9e6262;
  content: 'LIFR'
}

.closing-x {
  font-family: iconfont;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  color: white;
  background-color: #9d0300;
  cursor: pointer;
  position: absolute;
  margin: 10px;
  font-size: 40px;
  right: -1em;
  z-index: 10;
  width: 1em;
  height: 1em;
  border-radius: 1em;
  display: none
}

.closing-x::before {
  content: '\e013'
}

.bordered-box,
.window,
.drop-down-window {
  color: #6b6b6b;
  background-color: #f8f8f8;
  padding: .3em 1em;
  line-height: 1.8;
  border: 1px solid #c1c1c1;
  border-radius: 5px
}

.window,
.drop-down-window {
  box-sizing: border-box;
  position: absolute;
  z-index: 100;
  overflow: initial;
  padding: .3em 1em;
  line-height: 1.8;
  border: 1px solid #c1c1c1;
  border-radius: 5px
}

.window:not(.normal-closing-x)>.closing-x,
.drop-down-window:not(.normal-closing-x)>.closing-x {
  font-size: 20px;
  color: #6b6b6b;
  background: none;
  display: block;
  right: -5px;
  top: -5px
}

.drop-down-window:not(.down) {
  top: calc(100% + 15px);
  left: -15px
}

.drop-down-window::after,
.drop-down-window::before {
  bottom: 100%;
  border: solid transparent;
  content: ' ';
  height: 0;
  width: 0;
  left: 25px;
  position: absolute;
  pointer-events: none
}

.drop-down-window::after {
  border-bottom-color: #f8f8f8;
  border-width: 9px;
  margin-left: -9px
}

.drop-down-window::before {
  border-bottom-color: #c1c1c1;
  border-width: 10px;
  margin-left: -10px
}

.drop-down-window.right::after {
  left: initial;
  right: 6px
}

.drop-down-window.right::before {
  left: initial;
  right: 5px
}

.drop-down-window.down {
  top: inherit;
  bottom: calc(100% + 15px);
  left: inherit
}

.drop-down-window.down::after,
.drop-down-window.down::before {
  top: 100%;
  bottom: initial;
  left: initial;
  border-bottom-color: transparent;
  margin-right: -9px
}

.drop-down-window.down::after {
  border-top-color: #f8f8f8;
  right: calc(50% + 1px)
}

.drop-down-window.down::before {
  margin-left: 0;
  border-top-color: #c1c1c1;
  right: 50%
}

.drop-down-window.left {
  top: -15px;
  left: calc(100% + 15px)
}

.drop-down-window.left::after,
.drop-down-window.left::before {
  bottom: initial;
  left: 0;
  border-bottom-color: transparent
}

.drop-down-window.left::after {
  top: 16px;
  border-right-color: #f8f8f8;
  margin-left: -18px
}

.drop-down-window.left::before {
  top: 15px;
  border-right-color: #c1c1c1;
  margin-left: -20px
}

.avatar {
  cursor: pointer;
  width: 3em;
  height: 3em;
  border-radius: 3em
}

.form-group label {
  font-size: 14px;
  display: block;
  line-height: 1.2em;
  padding: .3em 0
}

.form-group textarea,
.form-group input[type='text'],
.form-group input[type='password'],
.form-group input[type='number'],
.form-group input[type='email'],
.form-group input[type='date'] {
  color: #6b6b6b;
  background: white;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background-image: none;
  border: 1px solid #bcc3ce;
  border-radius: .2em;
  display: block;
  font-size: 1em;
  height: 1.8em;
  line-height: 1.2em;
  max-width: 100%;
  outline: 0;
  padding: .25em .4em;
  position: relative;
  transition: all .2s ease;
  width: 100%;
  margin: 0;
  font-family: inherit
}

.form-group textarea:focus,
.form-group input[type='text']:focus,
.form-group input[type='password']:focus,
.form-group input[type='number']:focus,
.form-group input[type='email']:focus,
.form-group input[type='date']:focus {
  border-color: #946051;
  box-shadow: 0 0 4px 0 black
}

.form-group textarea {
  height: 3.8em;
  resize: vertical
}

.form-group small {
  font-size: 12px;
  display: block;
  opacity: .6;
  margin-top: .3em
}

.form-group.error textarea,
.form-group.error input[type='text'],
.form-group.error input[type='password'],
.form-group.error input[type='email'],
.form-group.error input[type='number'],
.form-group.error input[type='date'] {
  border-color: #c42f2f
}

.form-group.error small {
  color: #c42f2f;
  opacity: 1 !important;
  font-weight: bold
}

.wx {
  font-size: 11px;
  color: #4f4f4f;
  white-space: nowrap;
  background: #ddd;
  margin: 2px 6px;
  width: 200px;
  height: 45px;
  cursor: pointer;
  position: relative;
  padding: 3px 5px;
  border-radius: 4px;
  overflow: hidden;
  display: block;
  line-height: 1
}

.wx .rounded-box {
  display: inline;
  padding: .5px 3px;
  margin-right: 3px;
  background: #f5e6c4
}

.wx .rounded-box[data-type='ad'] {
  background: #a0e1b4
}

.wx .rounded-box[data-type='pws'] {
  background: #f1d5ee
}

.wx .rounded-box[data-type='wmo'] {
  background: #cdd6f7
}

.wx .rounded-box[data-type='ship'] {
  background: #a3e2e5
}

.wx .rounded-box[data-type='buoy'] {
  background: #94b7cf
}

.wx .rounded-box[data-type='dbuoy'] {
  background: #a3bae5
}

.wx span {
  position: absolute;
  font-size: 16px;
  top: 19px;
  bottom: 0;
  padding-top: 4px
}

.wx span.station-box-temp {
  text-align: center;
  left: 30%;
  width: 35%
}

.wx span.station-box-wind {
  left: 65%;
  right: 0;
  padding-left: 20px;
  font-size: 12px;
  padding-top: 7px;
  overflow: hidden;
  border-bottom-right-radius: 4px
}

.wx span.station-box-wind .iconfont {
  display: block;
  position: absolute;
  left: 5px
}

.wx span.station-box-time {
  font-size: 9px;
  border-bottom-left-radius: 4px;
  left: 0;
  width: 30%;
  line-height: 1.3;
  padding-top: 0;
  padding-left: 8px
}

.rounded-box {
  padding: .5em 1em;
  border-radius: .5em
}

.card-left {
  box-shadow: 0 0 4px 0 black;
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  border-radius: 8px;
  margin-bottom: 20px;
  min-height: 100px;
  background-color: white;
  overflow: hidden
}

.card-left>span:first-child {
  width: 30%;
  background-size: cover;
  background-position: center;
  padding: 5px 7px
}

.card-left .content {
  text-align: left;
  padding: 5px 10px 5px 15px;
  width: 70%
}

#bottom {
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-transition: all ease-in-out .4s;
  transition: all ease-in-out .4s;
  position: fixed
}

#device-tablet #bottom {
  left: 0;
  right: 0
}

/* #device-desktop #bottom {
  margin-right: 320px;
  height: 60px
} */

#device-mobile .onsearch #bottom,
#device-mobile .onmenu #bottom {
  opacity: 0
}

#bottom #progress-bar {
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  margin-bottom: -100px;
  transition: .5s margin-bottom ease-in-out 0s;
  -webkit-transition: .5s margin-bottom ease-in-out 0s;
  position: absolute;
  left: 10px;
  right: 0;
  height: 30px;
  bottom: 0;
  margin-bottom: 0
}

.overlay-sst #bottom #progress-bar,
.overlay-currents #bottom #progress-bar {
  margin-bottom: -180px
}

#device-mobile #bottom #progress-bar {
  display: none
}

#device-tablet #bottom #progress-bar {
  left: 0;
  right: 0;
  width: 100%;
  height: 60px
}

#bottom #progress-bar .progress-line {
  width: 50%;
  z-index: 1;
  left: 45px
}

#device-desktop #bottom #progress-bar .timecode {
  font-size: 13px
}

#device-tablet #bottom #progress-bar .timecode {
  font-size: 15px
}

#bottom #progress-bar #playpause {
  position: absolute;
  top: -12px;
  left: 5px;
  z-index: 10
}

#bottom #progress-bar #calendar {
  position: absolute;
  left: 45px;
  right: 0;
  top: 6px;
  white-space: nowrap
}

#bottom #progress-bar #calendar div {
  display: inline-block;
  box-sizing: border-box;
  text-align: left;
  padding: 6px 0 0 8px;
  font-size: 12px;
  line-height: 1;
  height: 26px;
  white-space: nowrap;
  overflow: hidden
}

#bottom #progress-bar #calendar div:not(:first-child) {
  border-left: 1px solid rgba(68, 65, 65, 0.84)
}

#device-tablet #bottom #progress-bar #calendar div {
  padding-top: 9px;
  height: 40px;
  font-size: 16px
}

#device-tablet #bottom #progress-bar #calendar::before {
  height: 40px
}

#bottom #accumulations {
  margin-bottom: -100px;
  transition: .5s margin-bottom ease-in-out 0s;
  -webkit-transition: .5s margin-bottom ease-in-out 0s;
  position: absolute;
  bottom: 15px;
  left: 20px;
  white-space: nowrap
}

#device-tablet #bottom #accumulations {
  bottom: 40px;
  left: 10px
}

#bottom #accumulations span {
  letter-spacing: 2px;
  display: none;
  margin: 5px
}

#device-mobile .overlay-rainAccu #bottom #accumulations,
#device-mobile .overlay-snowAccu #bottom #accumulations,
#device-mobile .overlay-gustAccu #bottom #accumulations {
  position: relative;
  margin: 0;
  left: 0;
  bottom: 18px;
  background-color: rgba(68, 65, 65, 0.84)
}

#device-mobile .overlay-rainAccu #bottom #accumulations span,
#device-mobile .overlay-snowAccu #bottom #accumulations span,
#device-mobile .overlay-gustAccu #bottom #accumulations span {
  display: none
}

#device-mobile .overlay-rainAccu #bottom #accumulations .ui-switch,
#device-mobile .overlay-snowAccu #bottom #accumulations .ui-switch,
#device-mobile .overlay-gustAccu #bottom #accumulations .ui-switch {
  display: block;
  background: none;
  overflow: auto;
  padding: 1em 1em;
  border-radius: 0
}

#device-tablet .overlay-rainAccu #bottom #accumulations,
#device-tablet .overlay-snowAccu #bottom #accumulations,
#device-tablet .overlay-gustAccu #bottom #accumulations,
#device-desktop .overlay-rainAccu #bottom #accumulations,
#device-desktop .overlay-snowAccu #bottom #accumulations,
#device-desktop .overlay-gustAccu #bottom #accumulations {
  margin-bottom: 0
}

#device-tablet .overlay-rainAccu #bottom #progress-bar,
#device-tablet .overlay-snowAccu #bottom #progress-bar,
#device-tablet .overlay-gustAccu #bottom #progress-bar,
#device-desktop .overlay-rainAccu #bottom #progress-bar,
#device-desktop .overlay-snowAccu #bottom #progress-bar,
#device-desktop .overlay-gustAccu #bottom #progress-bar {
  margin-bottom: -180px
}

.overlay-rainAccu #bottom #acc-title-rain {
  display: inline-block
}

.overlay-snowAccu #bottom #acc-title-snow {
  display: inline-block
}

.overlay-gustAccu #bottom #acc-title-gust {
  display: inline-block
}

.overlay-fires #bottom,
.overlay-map #bottom {
  display: none
}

#bottom #logo-mobile-app {
  transition: opacity .3s;
  width: 100px;
  position: absolute;
  left: 10px;
  top: 5px;
  opacity: .8;
  pointer-events: none
}

.hide-mobile-logo #bottom #logo-mobile-app {
  opacity: 0
}

#bottom #bottom-promo-1h {
  border: 10px solid transparent;
  background-clip: padding-box;
  position: absolute;
  white-space: nowrap;
  animation: enter-and-leave 20s;
  opacity: 0
}

#device-tablet #bottom #bottom-promo-1h,
#device-desktop #bottom #bottom-promo-1h {
  left: 100%;
  top: -13px
}

#device-mobile #bottom #bottom-promo-1h {
  left: 0;
  top: 0
}

#legend-mobile {
  position: fixed;
  left: 0;
  right: 0;
  margin-bottom: 0;
  pointer-events: none;
  display: none
}

#device-mobile #legend-mobile,
#device-tablet #legend-mobile {
  display: table
}

#device-tablet #legend-mobile {
  font-size: 14px
}

.iphonex #legend-mobile {
  margin-bottom: -20px
}

.iphonex #legend-mobile span {
  height: 40px
}

#mobile-calendar {
  position: relative;
  left: 0;
  bottom: -40px;
  right: 0;
  display: block;
  -webkit-transition: bottom .3s;
  transition: bottom .3s
}

/* #device-tablet #mobile-calendar,
#device-desktop #mobile-calendar {
  display: none
} */

.onsearch #mobile-calendar,
.overlay-sst #mobile-calendar,
.overlay-currents #mobile-calendar,
.overlay-rainAccu #mobile-calendar,
.overlay-snowAccu #mobile-calendar,
.overlay-gustAccu #mobile-calendar,
.overlay-sst #mobile-calendar,
.overlay-currents #mobile-calendar {
  display: none
}

.mobile-calendar-expanded #mobile-calendar {
  bottom: 0
}

#mobile-calendar .timecode {
  font-size: 18px;
  left: 50%;
  width: 80px;
  margin-left: -40px;
  top: inherit;
  bottom: 105px
}
#mobile-calendar .timecode .marker-wrap-b {
  font-size: 12px;
}

#mobile-calendar .timecode .box {
  width: 80px;
  text-align: center;
  line-height: 1.4;
  /* border-radius: 26px; */
  box-shadow: 0 0 4px 0 black
}

#mobile-calendar .timecode .box::after {
  left: 40px;
  border-top-color: #d49500
}

#mobile-calendar .timecode .loader {
  left: -30px;
  top: .4em
}

#mobile-calendar #days {
  overflow-x: scroll;
  white-space: nowrap;
  -webkit-overflow-scrolling: touch;
  position: relative
}

#mobile-calendar #days::-webkit-scrollbar {
  display: none
}

#mobile-calendar #days b {
  position: absolute;
  display: block;
  top: 40px;
  bottom: 0;
  width: 3px;
  background-color: yellow;
  opacity: .4
}

#mobile-calendar #days div {
  padding: 7px 0 56px 0;
  font-size: 18px;
  display: inline-block;
  width: 160px;
  height: 32px;
  box-sizing: content-box;
  border-top: solid 40px transparent;
  background-clip: padding-box
}

#mobile-calendar #days div:nth-child(2) {
  padding-left: 50%
}

#mobile-calendar #days div:last-child {
  padding-right: 50%
}

#mobile-calendar #days div:nth-child(odd) {
  background-color: rgba(0, 0, 0, 0.63)
}

#mobile-calendar #days div:nth-child(even) {
  background-color: rgba(63, 61, 80, 0.76)
}

#mobile-calendar #days ul {
  font-size: 11px;
  white-space: nowrap;
  display: table;
  width: 100%;
  list-style: none;
  opacity: 0;
  -webkit-transition: opacity .3s;
  transition: opacity .3s;
  width: calc(100% - 12px);
  margin: 6px 4px 0 8px
}

.mobile-calendar-expanded #mobile-calendar #days ul {
  opacity: .6
}

#mobile-calendar #days ul li {
  text-align: center;
  display: table-cell
}

#mobile-calendar #playpause-mobile {
  /* text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.63); */
  font-size: 35px;
  position: fixed;
  left: 7px;
  margin-bottom: 20px;
  cursor: pointer;
  color: #fff3e1;
  background: none;
  box-shadow: none
}

#contrib {
  position: fixed;
  right: 10px;
  bottom: 0;
  font-size: 10px;
  color: white;
  text-shadow: 0 0 4px black;
  color: #fff3e1
}

.metric-legend {
  width: 100%;
  background-color: #7c7c7c;
  white-space: nowrap;
  font-size: 12px;
  box-shadow: 0 0 4px 0 black
}

.metric-legend span {
  display: inline-block;
  line-height: 1.5;
  text-align: center;
  vertical-align: middle
}

.metric-legend[data-overlay='ptype'] {
  display: table
}

.metric-legend[data-overlay='ptype'] span {
  display: table-cell;
  font-size: 8px;
  white-space: normal;
  line-height: 1.2;
  vertical-align: middle;
  overflow: hidden;
  padding: 3px
}

#window-message {
  position: fixed;
  top: 0;
  width: 100vw;
  text-align: center;
  height: 0;
  font-size: 0;
  transition: all .5s;
  -webkit-transition: all .5s
}

.onwindow-message #window-message {
  padding: .3em;
  font-size: 14px;
  font-weight: normal;
  height: 26px
}

.has-statusbar.onwindow-message #window-message {
  border-top-style: solid;
  border-top-width: 20px;
  height: 46px
}

#window-message .closing-x {
  border: 10px solid transparent;
  background-clip: padding-box;
  font-size: 20px;
  margin: -10px;
  left: 5px;
  display: block;
  right: initial;
  top: 2px
}

#window-message.bg-error {
  border-color: #c42f2f
}

#window-message.bg-ok {
  border-color: #026f00
}

.onwindow-message .top-border {
  top: 26px
}

.has-statusbar.onwindow-message .top-border {
  top: 46px
}

.has-statusbar.iphonex.onwindow-message .top-border {
  top: 58px
}

#rh-icons {
  color: white;
  position: fixed;
  margin: 10px 50px 0 0
}

#rh-icons #login {
  display: inline-block;
  font-size: 14px;
  color: #fff3e1;
  background-color: rgba(68, 65, 65, 0.84);
  padding: .3em 1em .3em 28px;
  border-radius: 1em
}

#rh-icons #login::before {
  font-size: 16px;
  position: absolute;
  left: 6px;
  top: 4px
}

.user-logged-in #rh-icons #login {
  display: none
}

.loading-path .loader-path {
  display: block
}

.loading-level .loader-level {
  display: block
}

@-webkit-keyframes play {
  from {
    background-position: 0
  }

  to {
    background-position: -1728px
  }
}

@-moz-keyframes play {
  from {
    background-position: 0
  }

  to {
    background-position: -1728px
  }
}

@-ms-keyframes play {
  from {
    background-position: 0
  }

  to {
    background-position: -1728px
  }
}

@-o-keyframes play {
  from {
    background-position: 0
  }

  to {
    background-position: -1728px
  }
}

@keyframes play {
  from {
    background-position: 0
  }

  to {
    background-position: -1728px
  }
}

#logo-wrapper {
  position: fixed;
  pointer-events: none;
  transition: all .7s;
  -webkit-transition: all .7s
}

#device-mobile #logo-wrapper,
#device-tablet #logo-wrapper {
  left: 0;
  overflow: visible;
  z-index: 10
}

@media only screen and (max-width:1000px) {
  #device-desktop #logo-wrapper {
    left: 200px
  }
}

#logo {
  position: absolute;
  pointer-events: auto;
  left: 50%;
  margin-left: -70px;
  top: 10px
}

#device-mobile #logo,
#device-tablet #logo {
  transition: .3s opacity 1.5s;
  -webkit-transition: .3s opacity 1.5s;
  margin-left: 0;
  left: 12px;
  top: 12px
}

#device-mobile #logo {
  left: 0;
  top: 5px;
  transform: scale(.8, .8)
}

#device-mobile .onweather #logo,
#device-mobile .ondetail #logo,
#device-mobile .onstation #logo,
#device-mobile .onsearch #logo {
  display: none
}

#device-mobile .target-mobile #logo {
  display: none
}

#logo img,
#logo .w-sprite {
  -webkit-filter: drop-shadow(0 0 2px rgba(0, 0, 0, 0.8));
  filter: drop-shadow(0 0 2px rgba(0, 0, 0, 0.8));
  pointer-events: none
}

#logo .w-sprite {
  width: 32px;
  height: 32px;
  display: inline-block;
  background-image: url('../../img/sprite_32.png');
  background-size: 1728px 32px
}

@media only screen and (-webkit-min-device-pixel-ratio:2),
only screen and (min--moz-device-pixel-ratio:2),
only screen and (-o-min-device-pixel-ratio:2/1),
only screen and (min-device-pixel-ratio:2),
only screen and (min-resolution:192dpi),
only screen and (min-resolution:2dppx) {
  #logo .w-sprite {
    background-image: url('../../img/sprite_64.png')
  }
}

.animate-logo #logo .w-sprite {
  -webkit-animation: play 2s steps(48) infinite;
  -moz-animation: play 2s steps(48) infinite;
  -ms-animation: play 2s steps(48) infinite;
  -o-animation: play 2s steps(48) infinite;
  animation: play 2s steps(48) infinite
}

#logo .text {
  width: 105px;
  position: relative;
  left: 8px
}

#device-mobile .onweather #logo .text,
#device-mobile .onstation #logo .text,
#device-mobile .onmultimodel #logo .text,
#device-mobile .oncap-alert #logo .text,
#device-mobile .ondetail #logo .text,
#device-mobile .onsearch #logo .text,
#device-tablet .onweather #logo .text,
#device-tablet .onstation #logo .text,
#device-tablet .onmultimodel #logo .text,
#device-tablet .oncap-alert #logo .text,
#device-tablet .ondetail #logo .text,
#device-tablet .onsearch #logo .text {
  display: none
}

#open-in-app {
  border: 10px solid transparent;
  background-clip: padding-box;
  white-space: nowrap;
  font-size: 16px;
  position: fixed;
  margin-top: 40px;
  left: 50%;
  transform: translateX(-50%);
  background-color: #e4a000;
  padding: .18em 1em;
  border-radius: 2em;
  transition: 2s background-color;
  display: none
}

#device-mobile #open-in-app {
  display: block
}

#device-mobile .onsearch #open-in-app,
#device-mobile .onweather #open-in-app,
#device-mobile .ondetail #open-in-app,
#device-mobile .onstation #open-in-app,
#device-mobile .ondistance #open-in-app,
#device-mobile .onpicker #open-in-app,
#device-mobile .onmenu #open-in-app {
  display: none
}

#top-messages {
  display: none
}

#device-mobile #top-messages,
#device-tablet #top-messages {
  position: fixed;
  top: 90px;
  left: 0;
  display: flex;
  width: 100%;
  flex-direction: column;
  align-items: center
}

#device-mobile .onsearch #top-messages,
#device-mobile .onweather #top-messages,
#device-mobile .ondetail #top-messages,
#device-mobile .onstation #top-messages,
#device-mobile .ondistance #top-messages,
#device-mobile .onpicker #top-messages,
#device-mobile .onmenu #top-messages,
#device-tablet .onsearch #top-messages,
#device-tablet .onweather #top-messages,
#device-tablet .ondetail #top-messages,
#device-tablet .onstation #top-messages,
#device-tablet .ondistance #top-messages,
#device-tablet .onpicker #top-messages,
#device-tablet .onmenu #top-messages {
  display: none
}

#not-supported {
  box-shadow: 0 0 4px 0 black;
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  color: grey;
  padding: 15px;
  background-color: white;
  font-size: 20px;
  z-index: 50
}

#not-supported a {
  color: #9d0300
}

#unlegal-embed {
  position: relative
}

#unlegal-embed a {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%)
}

#mobile-ovr-info {
  pointer-events: none;
  position: absolute;
  margin-right: 12px;
  margin-top: 12px;
  display: none;
  opacity: .8
}

#mobile-ovr-info span::after {
  content: attr(data-notes);
  position: absolute;
  font-size: .7em;
  white-space: nowrap;
  top: 100%;
  margin-top: 5px;
  text-align: right;
  right: 0
}

#device-mobile #mobile-ovr-info,
#device-tablet #mobile-ovr-info {
  display: inline-block
}

#device-mobile .onweather #mobile-ovr-info,
#device-mobile .onstation #mobile-ovr-info,
#device-mobile .onmultimodel #mobile-ovr-info,
#device-mobile .oncap-alert #mobile-ovr-info,
#device-mobile .ondetail #mobile-ovr-info,
#device-mobile .onsearch #mobile-ovr-info,
#device-mobile .onarticles #mobile-ovr-info,
#device-mobile .onmenu #mobile-ovr-info,
#device-tablet .onweather #mobile-ovr-info,
#device-tablet .onstation #mobile-ovr-info,
#device-tablet .onmultimodel #mobile-ovr-info,
#device-tablet .oncap-alert #mobile-ovr-info,
#device-tablet .ondetail #mobile-ovr-info,
#device-tablet .onsearch #mobile-ovr-info,
#device-tablet .onarticles #mobile-ovr-info,
#device-tablet .onmenu #mobile-ovr-info {
  display: none
}

#search {
  transition: .25s all 0s;
  -webkit-transition: .25s all 0s;
  position: fixed
}

#device-mobile #search,
#device-tablet #search {
  pointer-events: none;
  opacity: 0
}

#device-mobile .onsearch #search,
#device-mobile .ondetail #search,
#device-mobile .onstation #search,
#device-mobile .onairport #search,
#device-mobile .onweather #search {
  right: 0
}

#device-mobile .onsearch #search,
#device-mobile .ondetail #search,
#device-mobile .onstation #search,
#device-mobile .onairport #search,
#device-mobile .onweather #search,
#device-tablet .onsearch #search,
#device-tablet .ondetail #search,
#device-tablet .onstation #search,
#device-tablet .onairport #search,
#device-tablet .onweather #search {
  opacity: 1;
  pointer-events: auto
}

.onmenu #search {
  display: none
}

#search #search-weather-bg {
  padding: 11px 10px 7px 10px;
  left: 0;
  top: 0;
  transition: .5s background-color
}

#search #search-weather-bg #search-top-wrapper {
  display: flex
}

.onweather #search #search-weather-bg {
  background-color: rgba(68, 65, 65, 0.84);
  position: relative;
  overflow: hidden
}

#device-mobile .ondetail #search #search-weather-bg,
#device-mobile .onstation #search #search-weather-bg,
#device-mobile .onsearch #search #search-weather-bg {
  background-color: rgba(68, 65, 65, 0.84)
}

#device-mobile #search #search-weather-bg.show::before {
  display: block;
  content: ' ';
  position: fixed;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0
}

.ondetail.has-statusbar #search #search-weather-bg,
.onstation.has-statusbar #search #search-weather-bg,
.onsearch.has-statusbar #search #search-weather-bg,
.onweather.has-statusbar #search #search-weather-bg {
  border-top-width: 20px;
  border-top-style: solid;
  margin-top: -20px;
  background-clip: padding-box
}

#device-mobile .ondetail.has-statusbar #search #search-weather-bg,
#device-mobile .onstation.has-statusbar #search #search-weather-bg,
#device-mobile .onsearch.has-statusbar #search #search-weather-bg {
  border-top-color: rgba(68, 65, 65, 0.84)
}

#device-tablet .ondetail.has-statusbar #search #search-weather-bg,
#device-tablet .onstation.has-statusbar #search #search-weather-bg,
#device-tablet .onsearch.has-statusbar #search #search-weather-bg {
  border-top-color: transparent
}

.onweather.has-statusbar #search #search-weather-bg {
  border-top-color: rgba(68, 65, 65, 0.84)
}

.ondetail.has-statusbar.iphonex #search #search-weather-bg,
.onstation.has-statusbar.iphonex #search #search-weather-bg,
.onsearch.has-statusbar.iphonex #search #search-weather-bg,
.onweather.has-statusbar.iphonex #search #search-weather-bg {
  border-top-width: 32px;
  margin-top: -32px
}

#search #menu-burger2 {
  text-shadow: 0 0 4px black;
  font-size: 50px;
  position: absolute;
  top: 2px;
  left: 7px;
  margin-bottom: -5px
}

#search .delete {
  cursor: pointer;
  display: none;
  position: absolute;
  right: 20px;
  top: 18px;
  color: #b9b9b9;
  font-size: 20px
}

#device-mobile #search .delete {
  right: 60px;
  top: 17px;
  color: #B9B9B9;
  font-size: 16px
}

.onsearch #search .delete {
  display: block
}

#search .cancel-search {
  display: none
}

#device-mobile .onsearch #search .cancel-search {
  display: block;
  position: absolute;
  right: 10px;
  top: 10px;
  color: white;
  font-size: 32px
}

#search input[type='text'] {
  margin-left: 50px;
  box-sizing: border-box;
  color: #555;
  background-color: #fff;
  border: none;
  background-image: url('../../img/lupa.svg');
  background-size: 18px;
  background-repeat: no-repeat;
  padding: 0 10px 0 32px;
  box-shadow: 0 0 4px 0 black;
  width: 220px;
  height: 30px;
  font-size: 16px;
  background-position: 7px 6px;
  border-radius: 15px;
  transition: .25s all 2s;
  -webkit-transition: .25s all 2s
}

#search input[type='text']::-ms-clear {
  display: none
}

#device-mobile #search input[type='text'] {
  position: relative;
  border-radius: 15px;
  color: transparent;
  width: 0;
  height: 30px;
  background: none;
  margin-left: 0;
  box-shadow: none;
  transition: .25s all 0s;
  -webkit-transition: .25s all 0s
}

#device-mobile #search input[type='text']::-webkit-input-placeholder {
  color: transparent
}

#device-mobile #search input[type='text']::-moz-placeholder {
  color: transparent
}

#device-mobile #search input[type='text']:-ms-input-placeholder {
  color: transparent
}

#search input[type='text']:focus,
.onweather #search input[type='text'],
.ondetail #search input[type='text'],
.onstation #search input[type='text'],
.onmultimodel #search input[type='text'],
.oncap-alert #search input[type='text'],
.onairport #search input[type='text'] {
  outline: 0;
  width: 372px;
  height: 33px;
  border-radius: 16px;
  background-position: 8px 8px;
  font-size: 20px;
  transition: .25s all 0s;
  -webkit-transition: .25s all 0s
}

#device-mobile #search input[type='text']:focus,
#device-mobile .onweather #search input[type='text'],
#device-mobile .ondetail #search input[type='text'],
#device-mobile .onstation #search input[type='text'],
#device-mobile .onmultimodel #search input[type='text'],
#device-mobile .oncap-alert #search input[type='text'],
#device-mobile .onairport #search input[type='text'] {
  color: white;
  opacity: 1;
  font-size: 26px;
  height: 32px;
  padding: 0 0 5px 32px;
  background-position: 3px 3px;
  background-color: transparent;
  background-image: url('../../img/lupa_white.svg');
  background-repeat: no-repeat;
  background-size: 19px;
  border-radius: 0;
  border-bottom: 1px solid rgba(128, 128, 128, 0.48);
  box-shadow: none
}

#device-mobile #search input[type='text']:focus.loading,
#device-mobile .onweather #search input[type='text'].loading,
#device-mobile .ondetail #search input[type='text'].loading,
#device-mobile .onstation #search input[type='text'].loading,
#device-mobile .onmultimodel #search input[type='text'].loading,
#device-mobile .oncap-alert #search input[type='text'].loading,
#device-mobile .onairport #search input[type='text'].loading {
  background-image: url('../../img/ajax-loader3.gif');
  background-position: 7px 5px
}

@media only screen and (max-width:1000px) {

  #device-desktop #search input[type='text']:focus,
  #device-desktop .onweather #search input[type='text'],
  #device-desktop .ondetail #search input[type='text'],
  #device-desktop .onstation #search input[type='text'],
  #device-desktop .onmultimodel #search input[type='text'],
  #device-desktop .oncap-alert #search input[type='text'],
  #device-desktop .onairport #search input[type='text'] {
    width: 300px
  }
}

.onweather #search input[type='text'] {
  box-shadow: none
}

.onweather #search input[type='text'],
.oncap-alert #search input[type='text'],
.onairport #search input[type='text'] {
  width: 320px
}

#search input[type='text'].search-loading {
  background-image: url('../../img/ajax-loader.gif');
  background-size: 18px
}

#device-mobile .onsearch #search input[type='text'],
#device-mobile .ondetail #search input[type='text'],
#device-mobile .onstation #search input[type='text'],
#device-mobile .onweather #search input[type='text'] {
  width: calc(100vw - 80px)
}

#search .results {
  visibility: hidden;
  opacity: 0;
  transition: visibility 0s linear .3s, opacity .3s linear;
  position: absolute;
  box-sizing: border-box;
  font-size: 22px;
  margin-left: 78px;
  min-width: 420px;
  max-width: 600px
}

#search .results.open,
#search .results.show {
  visibility: visible;
  opacity: 1;
  transition-delay: 0s
}

#device-mobile #search .results {
  margin-left: 0;
  margin-top: 5px;
  width: 100%;
  padding: 0 25px
}

#search .results.show {
  visibility: visible;
  opacity: 1;
  transition-delay: 0s
}

#search .results.wide .results-img {
  display: block
}

#search .results.waiting .results-img {
  box-shadow: none;
  opacity: 0
}

#search .results.waiting a.active::after {
  position: absolute;
  right: 8px;
  top: 8px;
  display: block;
  border-left-color: #e5e5e5;
  border-bottom-color: #e5e5e5
}

#search .results .results-img {
  cursor: pointer;
  box-shadow: 0 0 4px 0 black;
  display: none;
  position: absolute;
  right: -300px;
  top: 20px;
  border-radius: 140px;
  width: 280px;
  height: 280px;
  overflow: hidden;
  transition: box-shadow .05s linear .2s, opacity .25s linear 0s;
  -webkit-transition: box-shadow .05s linear .2s, opacity .25s linear 0s
}

#search .results .results-img.show-pointer::after {
  content: '';
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  width: 10px;
  height: 10px;
  border-radius: 100%;
  background-color: #9d0300;
  box-shadow: 0 0 2px 3px rgba(255, 255, 255, 0.9);
  margin: -5px 0 0 -5px
}

#search .results a {
  text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.63);
  color: white;
  cursor: pointer;
  display: block;
  border-radius: 6px;
  font-weight: normal;
  white-space: nowrap;
  padding: 5px 15px;
  margin: 0 0 7px 0;
  position: relative
}

#device-mobile #search .results a {
  padding: 4px 15px;
  font-size: 14px
}

#device-mobile #search .results a span {
  display: block;
  font-weight: normal;
  margin: 4px 0 0 0;
  font-size: 10px;
  letter-spacing: .05em
}

#device-mobile #search .results a::before {
  top: 8px;
  font-size: 12px;
  right: calc(100% - 4px)
}

#device-mobile #search .results a.type-fav::before {
  font-size: 10px
}

#search .results a span {
  font-weight: 300;
  font-size: 80%;
  margin-left: 5px
}

#search .results a::before {
  font-family: iconfont;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  color: #fff3e1;
  position: absolute;
  top: 10px;
  font-size: 20px;
  opacity: .8;
  right: calc(100% - 5px)
}

#search .results a.type-fav::before {
  content: 'k';
  font-size: 18px
}

#search .results a.type-aerodrome::before {
  content: 'Q'
}

#search .results a.type-peak::before {
  content: 'P'
}

#search .results a.type-hotel::before,
#search .results a.type-guest_house::before {
  content: 'V'
}

#search .results a.type-railway::before,
#search .results a.type-station::before {
  content: 'S'
}

#search .results a.type-bus_stop::before {
  content: 'R'
}

#search .results a.type-restaurant::before {
  content: 'W'
}

#search .results a.type-wx::before {
  content: '\E008'
}

#search .results a.type-kite::before {
  content: '\E002'
}

#search .results a.type-pg::before {
  content: '\E009'
}

#search .results a.type-webcam::before {
  content: 'l'
}

#search .results a.active {
  background-color: rgba(236, 236, 236, 0.33)
}

#search-my-loc,
#fav {
  display: none;
  position: absolute;
  left: 100%;
  top: 8px
}

#device-mobile #search-my-loc,
#device-mobile #fav {
  left: 100%;
  top: 10px
}

#search-my-loc {
  border: 10px solid transparent;
  background-clip: padding-box;
  font-size: 28px;
  margin-left: -52px;
  margin-top: -10px
}

#device-mobile .onweather #search-my-loc {
  display: block
}

.onpicker #fav,
.onstation #fav,
.ondetail #fav {
  display: block
}

.onstation #fav,
.ondetail #fav {
  top: 12px
}

.onweather #fav,
.onsearch #fav {
  display: none
}

#fav .fav-line {
  font-family: iconfont;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  text-shadow: 0 0 4px black;
  cursor: pointer;
  top: 4px;
  left: 0;
  font-size: 24px;
  border: 5px solid transparent;
  background-clip: padding-box;
  margin: -5px 0 0 -5px
}

.oncap-alert #fav .fav-line,
.onairport #fav .fav-line {
  text-shadow: none
}

#device-mobile #fav {
  margin-left: -35px
}

#device-mobile #fav .fav-line {
  text-shadow: none
}

#device-mobile .onpicker #fav {
  display: none
}

#device-mobile .ondetail #fav {
  top: 8px
}

#fav .fav-on {
  display: none
}

#fav.isfav .fav-on {
  display: block
}

#fav.isfav .fav-off {
  display: none
}

#share {
  font-size: 30px;
  text-shadow: 0 0 4px black;
  top: -2px;
  margin-left: 10px
}

.onsearch #share,
.onweather #share,
.onlhpane #share {
  display: none
}

@media only screen and (max-width:1000px) {
  #device-desktop #share {
    display: none
  }
}

.plugin-content {
  color: #6b6b6b;
  overflow-y: scroll;
  -webkit-overflow-scrolling: touch;
  overflow-x: hidden;
  background-color: #f8f8f8;
  box-sizing: border-box;
  position: absolute;
  right: 0;
  bottom: 0;
  top: 0;
  left: 0
}

.plugin-content::-webkit-scrollbar {
  width: 8px
}

.plugin-content::-webkit-scrollbar-track {
  background: transparent
}

.plugin-content::-webkit-scrollbar-thumb {
  background: rgba(128, 128, 128, 0.5)
}

.plugin-content p {
  margin-top: .5em
}

.plugin-content h1,
.plugin-content h2,
.plugin-content h3,
.plugin-content h4,
.plugin-content h5 {
  color: #9d0300;
  font-weight: normal;
  font-style: normal;
  letter-spacing: .02em
}

.plugin-content .section-title {
  color: #9d0300;
  font-size: 20px;
  padding-top: 15px;
  padding-bottom: 5px;
  font-weight: 300;
  letter-spacing: .15em
}

.plugin-content .btn-wrapper {
  color: white;
  white-space: nowrap;
  display: block;
  font-size: 16px;
  margin-right: auto;
  margin-left: auto;
  margin-top: 15px;
  text-align: center
}

.plugin-content .btn-wrapper div {
  background-color: #d49500;
  border-radius: 10px;
  display: inline-block;
  padding: .5em 1em;
  margin: 0 5px;
  text-align: center
}

.plugin-content .menu-subtitle {
  font-size: .8em;
  color: lightgray;
  margin-left: .5em;
  margin-bottom: .7em;
  letter-spacing: .1em
}

.plugin-lhpane,
.plugin-rhpane {
  transition: all ease-in-out .5s;
  -webkit-transition: all ease-in-out .5s;
  position: fixed;
  bottom: 0
}

.plugin-lhpane.open,
.plugin-rhpane.open {
  -webkit-transform: none;
  -ms-transform: none;
  transform: none;
  will-change: auto
}

#device-tablet .plugin-lhpane,
#device-tablet .plugin-rhpane {
  top: 0
}

.plugin-lhpane {
  -webkit-transform: translateX(-120%);
  -ms-transform: translateX(-120%);
  transform: translateX(-120%);
  will-change: transform;
  left: 0
}

.plugin-lhpane>.closing-x {
  display: block
}

#device-tablet .has-statusbar .plugin-lhpane .plugin-content {
  border-top: 20px solid transparent
}

.plugin-rhpane {
  -webkit-transform: translateX(120%);
  -ms-transform: translateX(120%);
  transform: translateX(120%);
  will-change: transform;
  right: 0
}

.plugin-rhpane>.closing-x {
  right: 0;
  left: initial;
  top: 0;
  z-index: 10;
  font-size: 35px;
  display: block
}

#device-tablet .plugin-rhpane>.closing-x {
  left: -60px
}

.mobile-header {
  display: none
}

#device-mobile .plugin-mobile-bottom-red>.closing-x {
  font-size: 38px;
  top: inherit;
  right: inherit;
  bottom: 3px;
  left: 3px;
  z-index: 100;
  margin: 0;
  border-radius: 0
}

#device-mobile .has-statusbar .plugin-mobile-bottom-red {
  top: inherit
}

#device-mobile .iphonex .plugin-mobile-bottom-red::after {
  display: none;
  position: fixed;
  left: 0;
  bottom: 0;
  right: 0;
  height: 18px;
  background-color: #9d0300;
  content: ' ';
  z-index: 200
}

#device-mobile .iphonex .plugin-mobile-bottom-red.open::after {
  display: block
}

#device-mobile .plugin-mobile-fullscreen {
  left: 0;
  right: 0;
  bottom: 0;
  width: 100% !important;
  position: fixed;
  top: 0;
  z-index: 15;
  margin-right: 0;
  margin-left: 0;
  visibility: hidden
}

#device-mobile .plugin-mobile-fullscreen.open {
  visibility: visible
}

#device-mobile .plugin-mobile-fullscreen>.closing-x {
  display: none
}

#device-mobile .plugin-mobile-fullscreen .mobile-header {
  background-color: #9d0300;
  color: white;
  position: absolute;
  display: block;
  width: 100vw;
  left: 0;
  right: 0;
  top: 0;
  height: 40px;
  box-sizing: border-box;
  font-size: 18px;
  font-weight: 300;
  padding: .5em 2em;
  z-index: 10;
  white-space: nowrap;
  text-align: center
}

#device-mobile .plugin-mobile-fullscreen .mobile-header>.mh-closing-x {
  font-size: 35px;
  position: absolute;
  left: 0;
  top: 2px
}

#device-mobile .plugin-mobile-fullscreen .plugin-content {
  top: 40px
}

#device-mobile .has-statusbar .plugin-mobile-fullscreen .plugin-content {
  top: 60px
}

#device-mobile .has-statusbar.iphonex .plugin-mobile-fullscreen .plugin-content {
  top: 72px
}

#device-mobile .onwindow-message .plugin-mobile-fullscreen {
  top: 26px
}

#device-mobile .has-statusbar.onwindow-message .plugin-mobile-fullscreen {
  top: 46px
}

#device-mobile .has-statusbar.onwindow-message .plugin-mobile-fullscreen .plugin-content {
  top: 40px
}

#device-mobile .has-statusbar .plugin-mobile-fullscreen .mobile-header {
  border-top: solid 20px #9d0300;
  height: 60px
}

#device-mobile .has-statusbar.iphonex .plugin-mobile-fullscreen .mobile-header {
  border-top: solid 32px #9d0300;
  height: 72px
}

#device-mobile .onwindow-message .plugin-mobile-fullscreen .mobile-header,
#device-mobile .has-statusbar.onwindow-message .plugin-mobile-fullscreen .mobile-header,
#device-mobile .has-statusbar.iphonex.onwindow-message .plugin-mobile-fullscreen .mobile-header {
  border-top: none;
  height: 40px
}

#device-mobile .plugin-mobile-rhpane,
#device-tablet .plugin-mobile-rhpane {
  top: 0
}

#device-mobile .plugin-mobile-rhpane>.closing-x,
#device-tablet .plugin-mobile-rhpane>.closing-x {
  top: .2em;
  display: block;
  right: inherit;
  left: -60px;
  z-index: 0;
  font-size: 40px
}

#device-mobile .has-statusbar .plugin-mobile-rhpane>.closing-x,
#device-tablet .has-statusbar .plugin-mobile-rhpane>.closing-x {
  margin-top: 20px
}

#device-mobile .has-statusbar.iphonex .plugin-mobile-rhpane>.closing-x,
#device-tablet .has-statusbar.iphonex .plugin-mobile-rhpane>.closing-x {
  margin-top: 32px
}

#device-mobile .plugin-mobile-rhpane>.closing-x::after {
  position: fixed;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  width: 100vw;
  height: 100vh;
  content: ' ';
  background: none;
  z-index: -1
}

.plugin-mobile-rhpane .plugin-content {
  color: white;
  background-color: rgba(68, 65, 65, 0.84);
  font-size: 16px;
  margin-right: -5px
}

.has-statusbar .plugin-mobile-rhpane .plugin-content {
  border-top: solid 20px transparent
}

.has-statusbar.iphonex .plugin-mobile-rhpane .plugin-content {
  border-top: solid 32px transparent
}

.has-statusbar.onwindow-message .plugin-mobile-rhpane .plugin-content,
.has-statusbar.iphonex.onwindow-message .plugin-mobile-rhpane .plugin-content {
  border-top: none
}

#device-mobile .onwindow-message .plugin-mobile-rhpane,
#device-tablet .onwindow-message .plugin-mobile-rhpane {
  top: 26px
}

#device-mobile .has-statusbar.onwindow-message .plugin-mobile-rhpane,
#device-tablet .has-statusbar.onwindow-message .plugin-mobile-rhpane {
  top: 46px
}

#device-mobile .plugin-mobile-fullscreen-no-header {
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  width: 100% !important;
  position: fixed;
  box-shadow: none;
  opacity: 0;
  transition: opacity 1s;
  -webkit-transition: opacity 1s;
  margin-right: 0;
  margin-left: 0
}

#device-mobile .plugin-mobile-fullscreen-no-header.open {
  opacity: 1
}

#device-mobile .plugin-mobile-fullscreen-no-header>.closing-x {
  display: block;
  background: none;
  right: -10px;
  top: -10px;
  font-size: 30px;
  text-shadow: 0 0 4px black
}

.has-statusbar #device-mobile .plugin-mobile-fullscreen-no-header>.closing-x {
  top: 10px
}

.has-statusbar.iphonex #device-mobile .plugin-mobile-fullscreen-no-header>.closing-x {
  top: 22px
}

#device-mobile .has-statusbar .plugin-mobile-fullscreen-no-header>.closing-x {
  top: 10px
}

#device-mobile .has-statusbar.iphonex .plugin-mobile-fullscreen-no-header>.closing-x {
  top: 22px
}

#device-mobile .plugin-mobile-bottom-slide {
  left: 0;
  right: 0;
  top: 50px;
  bottom: 0;
  width: 100% !important;
  position: fixed;
  box-shadow: none;
  margin-right: 0;
  margin-left: 0;
  transform: translateY(100%);
  transition: transform .5s
}

#device-mobile .plugin-mobile-bottom-slide .plugin-handler {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  height: 80px;
  z-index: 10
}

#device-mobile .plugin-mobile-bottom-slide .plugin-handler::after {
  content: '';
  box-shadow: 0 0 4px 0 black;
  display: block;
  position: absolute;
  background: #f8f8f8;
  width: 50%;
  left: 25%;
  height: 5px;
  border-radius: 5px;
  top: 7px
}

#device-mobile .plugin-mobile-bottom-slide .plugin-content {
  border-top-left-radius: 16px;
  border-top-right-radius: 16px
}

#device-mobile .plugin-mobile-bottom-slide .closing-x {
  display: none
}

#device-mobile .plugin-mobile-bottom-slide.open {
  transform: none
}

#device-mobile .plugin-mobile-bottom-slide.open.open-half {
  transform: translateY(40%)
}

#device-mobile .plugin-mobile-bottom-slide.open.open-half .plugin-content {
  overflow: hidden
}

#device-mobile .plugin-mobile-bottom-slide.auto-height {
  top: auto !important;
  bottom: 0;
  max-height: calc(100vh - 50px)
}

#device-mobile .plugin-mobile-bottom-slide.auto-height .plugin-content {
  position: relative;
  overflow: auto
}

#device-mobile .has-statusbar .plugin-mobile-bottom-slide {
  top: 70px
}

#device-mobile .has-statusbar.iphonex .plugin-mobile-bottom-slide {
  top: 82px
}

.login-to-save {
  margin: 40px 0 20px 0
}

.login-to-save .bottom-note {
  font-size: 10px;
  opacity: .6;
  margin: 10px;
  display: block;
  line-height: 1.4
}

.login-to-save .logged-in {
  display: none
}

.user-logged-in .login-to-save .non-logged-in {
  display: none
}

.user-logged-in .login-to-save .logged-in {
  display: block
}

.menu-block {
  width: calc(100% - 16px);
  padding: 10px 5px;
  position: relative;
  overflow: hidden;
  margin: 8px;
  border-radius: 8px
}

.menu-block::before {
  opacity: .15;
  position: absolute;
  font-size: 100px;
  top: -0.2em;
  right: -0.2em;
  pointer-events: none;
  z-index: 0
}

.menu-block .mb-next {
  border: 10px solid transparent;
  background-clip: padding-box;
  cursor: pointer;
  font-size: .8em;
  color: lightgrey;
  position: relative;
  z-index: 10;
  text-align: right;
  margin-top: 5px;
  margin-bottom: -10px;
  margin-right: -5px
}

.menu-block .mb-next::after {
  font-family: iconfont;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  content: '>';
  position: relative;
  top: 2.5px;
  margin-left: 3px
}

#mobile-menu {
  position: fixed;
  display: none;
  margin-bottom: 60px;
  right: 3px;
  list-style: none
}

#device-mobile #mobile-menu,
#device-tablet #mobile-menu {
  display: block
}

#device-tablet #mobile-menu {
  margin-bottom: 95px
}

#mobile-menu::before {
  content: '';
  display: block;
  position: absolute;
  right: -5px;
  bottom: 0;
  width: calc(100% + 15px);
  height: calc(100% + 15px);
  z-index: -5
}

#mobile-menu li {
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  cursor: pointer;
  display: block;
  font-size: 21px;
  position: relative;
  border: 2.5px solid transparent;
  border-left: 15px solid transparent
}

#mobile-menu li::before {
  text-align: center;
  width: 35px;
  height: 35px;
  display: block;
  position: relative;
  line-height: 1.6;
  color: #fff3e1;
  text-shadow: 0 0 4px black
}

#mobile-menu li span {
  text-shadow: 0 0 4px black;
  color: #fff3e1;
  pointer-events: none;
  position: absolute;
  transition: transform 1.5s, opacity 1.5s;
  -webkit-transition: transform 1.5s, opacity 1.5s;
  transform-origin: right;
  display: block;
  font-size: 14px;
  top: 50%;
  right: 100%;
  padding-right: 3px;
  margin-top: -9px;
  line-height: 1.2;
  text-align: right;
  white-space: nowrap;
  opacity: 0
}

.mm-show #mobile-menu li span {
  opacity: 1
}

.mm-smaller #mobile-menu li span {
  transform: scale(.7, .7)
}

.mm-hide #mobile-menu li span {
  display: none
}

#mobile-menu li#mm-home {
  top: -5px
}

#mobile-menu li#mm-radar {
  margin-top: .3em 0
}

#mobile-menu li#mm-radar nav {
  position: absolute;
  right: 100%;
  top: 0;
  transition: opacity .3s;
  opacity: 0
}

#mobile-menu li#mm-radar nav div {
  white-space: nowrap
}

#mobile-menu li.mm-menu::before {
  right: 0;
  top: 0;
  font-size: 26px;
  line-height: 1.35;
  text-align: center
}

#mobile-menu li.mm-favs {
  top: 2px
}

.user-logged-in #mobile-menu .mm-favs {
  color: transparent
}

.user-logged-in #mobile-menu .mm-favs::before {
  display: none
}

.mobile-calendar-expanded #mobile-menu {
  pointer-events: none
}

.mobile-calendar-expanded #mobile-menu>:not(.mm-favs),
.mobile-calendar-expanded #mobile-menu::before {
  pointer-events: auto
}

#device-mobile .onsearch #mobile-menu,
#device-tablet .onsearch #mobile-menu {
  display: none
}

#mobile-menu .avatar {
  font-size: 11px;
  position: relative;
  z-index: -1;
  display: block;
  box-shadow: 0 0 4px 0 black
}

#mobile-menu .alerts-num,
#mobile-menu .premium-flag {
  left: 50%;
  right: inherit;
  margin-left: 5px
}

#mobile-menu .alerts-num {
  font-size: 10px;
  top: -4px
}

#mobile-menu .premium-flag {
  font-size: 10px;
  bottom: -4px
}

#map-container {
  background-color: #888
}

#map-container .leaflet-tile-pane .basemap-layer {
  z-index: 20
}

.zoom12 #map-container .leaflet-tile-pane .basemap-layer,
.zoom13 #map-container .leaflet-tile-pane .basemap-layer,
.zoom14 #map-container .leaflet-tile-pane .basemap-layer,
.zoom15 #map-container .leaflet-tile-pane .basemap-layer,
.zoom16 #map-container .leaflet-tile-pane .basemap-layer,
.zoom17 #map-container .leaflet-tile-pane .basemap-layer,
.zoom18 #map-container .leaflet-tile-pane .basemap-layer,
.zoom19 #map-container .leaflet-tile-pane .basemap-layer {
  z-index: 5
}

#map-container .leaflet-tile-pane .cap-layer {
  z-index: 19
}

#map-container .leaflet-tile-pane .sea-mask-layer {
  z-index: 18
}

#map-container .leaflet-tile-pane .particles-layer {
  z-index: 15;
  pointer-events: none
}

#map-container .leaflet-tile-pane .radar-layer,
#map-container .leaflet-tile-pane .satellite-layer,
#map-container .leaflet-tile-pane .overlay-layer {
  z-index: 10
}

.onsearch #map-container .leaflet-marker-pane {
  opacity: .3
}

#map-container .leaflet-marker-pane .isolines-layer {
  pointer-events: none
}

#map-container .leaflet-marker-pane .labels-layer {
  z-index: 40
}

.onpicker #map-container .leaflet-marker-pane .labels-layer,
.onisolines #map-container .leaflet-marker-pane .labels-layer {
  opacity: .75
}

.overlay-clouds #map-container .leaflet-marker-pane .labels-layer,
.overlay-hclouds #map-container .leaflet-marker-pane .labels-layer,
.overlay-lclouds #map-container .leaflet-marker-pane .labels-layer,
.overlay-map #map-container .leaflet-marker-pane .labels-layer,
.overlay-dewpoint #map-container .leaflet-marker-pane .labels-layer,
.overlay-mclouds #map-container .leaflet-marker-pane .labels-layer,
.overlay-satellite #map-container .leaflet-marker-pane .labels-layer,
.overlay-radar #map-container .leaflet-marker-pane .labels-layer {
  text-shadow: -1px -1px 0 rgba(0, 0, 0, 0.45), 1px -1px 0 rgba(0, 0, 0, 0.45), -1px 1px 0 rgba(0, 0, 0, 0.45), 1px 1px 0 rgba(0, 0, 0, 0.45)
}

.ondistance #map-container .leaflet-marker-pane .labels-layer {
  pointer-events: none
}

.overlay-capAlerts #map-container .leaflet-marker-pane .labels-layer {
  text-shadow: -1px -1px 0 rgba(0, 0, 0, 0.45), 1px -1px 0 rgba(0, 0, 0, 0.45), -1px 1px 0 rgba(0, 0, 0, 0.45), 1px 1px 0 rgba(0, 0, 0, 0.45);
  pointer-events: none;
  z-index: 50
}

#map-container .leaflet-marker-pane .windy-pois {
  z-index: 45
}

#map-container .leaflet-marker-pane .windy-pois .leaflet-tile-container canvas {
  z-index: unset
}

#map-container .leaflet-marker-pane .leaflet-graticule {
  pointer-events: none;
  z-index: 30
}

#map-container .leaflet-marker-pane .leaflet-div-icon {
  background: none;
  border: none
}

#map-container .leaflet-marker-pane .picker {
  z-index: 60 !important
}

#map-container .leaflet-control-container {
  display: none
}

#map-container .kml-popup td {
  text-align: left
}

.icon-dot {
  height: 6px;
  width: 6px;
  background-color: white;
  opacity: .7;
  border-radius: 30px;
  -webkit-border-radius: 30px
}

.icon-dot.mylocation {
  background-color: #3e4cff
}

.pulsating-icon {
  animation: pulsate .5s ease-out;
  -webkit-animation: pulsate .5s ease-out;
  animation-iteration-count: 3;
  -webkit-animation-iteration-count: 3;
  border: 3px solid #fff;
  pointer-events: none;
  height: 28px;
  width: 28px;
  margin-left: -9px;
  margin-top: -9px;
  border-radius: 30px;
  -webkit-border-radius: 30px;
  opacity: 0
}

.pulsating-icon.repeat {
  animation: pulsate 2s ease-out;
  -webkit-animation: pulsate 2s ease-out;
  animation-iteration-count: infinite;
  -webkit-animation-iteration-count: infinite
}

.icon-webcam .pulsating-icon {
  margin-top: -19px
}

.icon-webcam::before {
  color: white;
  animation: pulsate-size-big 2s;
  -webkit-animation: pulsate-size-big 2s;
  animation-iteration-count: infinite;
  -webkit-animation-iteration-count: infinite;
  content: 'l';
  font-size: 11px;
  display: block
}

.labels-layer {
  pointer-events: none
}

.labels-layer [data-id] {
  transition: .3s opacity 0s;
  -webkit-transition: .3s opacity 0s;
  color: white;
  cursor: pointer;
  pointer-events: auto;
  position: absolute;
  text-align: center;
  vertical-align: bottom;
  font-size: 10.5px;
  line-height: 1.5;
  font-weight: 300
}

.labels-layer [data-id].country-1,
.labels-layer [data-id].country-2,
.labels-layer [data-id].country-3 {
  pointer-events: none;
  text-transform: uppercase;
  letter-spacing: 3px;
  opacity: .5;
  max-width: 150px;
  z-index: 0
}

.labels-layer [data-id].city-1,
.labels-layer [data-id].city-2,
.labels-layer [data-id].city-3,
.labels-layer [data-id].city-4 {
  max-width: 130px;
  z-index: 10;
  transition: .3s margin
}

.labels-layer [data-id].city-1:hover,
.labels-layer [data-id].city-2:hover,
.labels-layer [data-id].city-3:hover,
.labels-layer [data-id].city-4:hover {
  text-decoration: underline
}

.zoom4 .labels-layer [data-id].country-1 {
  opacity: .7;
  letter-spacing: 0
}

.zoom4 .labels-layer [data-id].country-2 {
  opacity: .7;
  letter-spacing: 0;
  font-size: 8px
}

.zoom5 .labels-layer [data-id].city-1 {
  font-size: 11px
}

.zoom5 .labels-layer [data-id].city-2 {
  font-size: 11px
}

.zoom5 .labels-layer [data-id].city-3 {
  font-size: 10px
}

.zoom5 .labels-layer [data-id].city-4 {
  font-size: 9px
}

.zoom5 .labels-layer [data-id].country-1 {
  letter-spacing: 4px
}

.zoom5 .labels-layer [data-id].country-2 {
  letter-spacing: 0;
  font-size: 9.5px
}

.zoom6 .labels-layer [data-id].city-1 {
  font-size: 12px
}

.zoom6 .labels-layer [data-id].city-2 {
  font-size: 11px
}

.zoom6 .labels-layer [data-id].city-3 {
  font-size: 11px
}

.zoom6 .labels-layer [data-id].city-4 {
  font-size: 10px
}

.zoom6 .labels-layer [data-id].country-1 {
  letter-spacing: 5px;
  font-size: 15px
}

.zoom6 .labels-layer [data-id].country-2 {
  letter-spacing: 1px;
  font-size: 12px
}

.zoom6 .labels-layer [data-id].country-3 {
  letter-spacing: 1px;
  font-size: 11px
}

.zoom7 .labels-layer [data-id].city-1 {
  font-size: 13px
}

.zoom7 .labels-layer [data-id].city-2 {
  font-size: 12px
}

.zoom7 .labels-layer [data-id].city-3 {
  font-size: 11px
}

.zoom7 .labels-layer [data-id].city-4 {
  font-size: 10px
}

.zoom7 .labels-layer [data-id].country-1 {
  letter-spacing: 6px;
  font-size: 17px
}

.zoom7 .labels-layer [data-id].country-2 {
  letter-spacing: 3px;
  font-size: 16px
}

.zoom7 .labels-layer [data-id].country-3 {
  letter-spacing: 1px;
  font-size: 14px
}

.zoom8 .labels-layer [data-id].city-1 {
  font-size: 13px
}

.zoom8 .labels-layer [data-id].city-2 {
  font-size: 12px
}

.zoom8 .labels-layer [data-id].city-3 {
  font-size: 10px
}

.zoom8 .labels-layer [data-id].city-4 {
  font-size: 10px
}

.zoom9 .labels-layer [data-id].city-1 {
  font-size: 14px
}

.zoom9 .labels-layer [data-id].city-2 {
  font-size: 13px
}

.zoom9 .labels-layer [data-id].city-3 {
  font-size: 12px
}

.zoom9 .labels-layer [data-id].city-4 {
  font-size: 11px
}

.zoom10 .labels-layer [data-id].city-1 {
  font-size: 15px
}

.zoom10 .labels-layer [data-id].city-2 {
  font-size: 14px
}

.zoom10 .labels-layer [data-id].city-3 {
  font-size: 13px
}

.zoom10 .labels-layer [data-id].city-4 {
  font-size: 12px
}

.zoom11 .labels-layer [data-id].city-1 {
  font-size: 16px
}

.zoom11 .labels-layer [data-id].city-2 {
  font-size: 15px
}

.zoom11 .labels-layer [data-id].city-3 {
  font-size: 14px
}

.zoom11 .labels-layer [data-id].city-4 {
  font-size: 13px
}

.labels-layer [data-id]::after {
  pointer-events: none;
  position: absolute;
  display: block;
  left: 50%;
  top: 100%;
  transform: translate(-50%, 0);
  line-height: 1;
  content: attr(data-temp)
}

.overlay-capAlerts .labels-layer [data-id]::after,
.overlay-radar .labels-layer [data-id]::after,
.overlay-satellite .labels-layer [data-id]::after,
.overlay-map .labels-layer [data-id]::after,
.product-efi .labels-layer [data-id]::after,
.selectedpois-wind .labels-layer [data-id]::after,
.selectedpois-temp .labels-layer [data-id]::after,
.selectedpois-cities .labels-layer [data-id]::after {
  display: none
}

.labels-layer [data-id].selected {
  text-decoration: underline;
  margin-top: -20px
}

.labels-layer [data-id].selected::after {
  display: none
}

.leaflet-popup:not(.leaflet-empty-popup) {
  color: black
}

.leaflet-empty-popup {
  max-width: 180px;
  background-color: rgba(97, 97, 97, 0.79);
  padding: .5em 1em;
  margin-bottom: 0
}

.leaflet-empty-popup .leaflet-popup-content {
  margin: 0
}

.leaflet-empty-popup .leaflet-popup-tip-container {
  display: none
}

.leaflet-empty-popup .leaflet-popup-content-wrapper {
  background: transparent;
  box-shadow: none;
  padding: 0;
  text-align: left;
  border-radius: 8px
}

.windy-pois canvas.leaflet-tile {
  pointer-events: none;
  image-rendering: pixelated
}

.windy-pois [data-id] {
  border: .5em solid transparent;
  background-clip: padding-box;
  font-size: 13px;
  width: 2em;
  height: 2em;
  margin: -1em 0 0 -1em;
  line-height: 1;
  cursor: pointer;
  position: absolute;
  left: 0;
  top: 0;
  animation: fadein-full .25s;
  pointer-events: auto
}

.leaflet-zoom-anim .windy-pois [data-id] {
  transition: transform .25s cubic-bezier(0, 0, .25, 1);
  -webkit-transition: -webkit-transform .25s cubic-bezier(0, 0, .25, 1)
}

.pois-favs [data-id] {
  color: #ffe29c;
  font-size: 10px;
  white-space: nowrap;
  pointer-events: none;
  width: inherit;
  opacity: .6
}

.pois-favs [data-id]::before {
  display: inline-block;
  pointer-events: none
}

.zoom3 .pois-favs [data-id],
.zoom4 .pois-favs [data-id] {
  font-size: 3px
}

.zoom5 .pois-favs [data-id] {
  font-size: 5px
}

.zoom6 .pois-favs [data-id] {
  font-size: 8px
}

.pois-favs [data-id]:hover::after,
.zoom10 .pois-favs [data-id]::after,
.zoom11 .pois-favs [data-id]::after,
.zoom12 .pois-favs [data-id]::after,
.zoom13 .pois-favs [data-id]::after,
.zoom14 .pois-favs [data-id]::after,
.zoom15 .pois-favs [data-id]::after {
  white-space: nowrap;
  display: inline-block;
  content: attr(data-text);
  margin-left: 3px;
  font-size: 10px;
  pointer-events: none;
  position: relative;
  line-height: 1;
  top: -1.5px
}

.selectedpois-favs .pois-favs [data-id] {
  opacity: 1;
  text-shadow: 0 0 4px black;
  pointer-events: auto
}

.selectedpois-cities .pois-favs [data-id] {
  display: none
}

.detail .legend {
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  background-color: #e5e5e5;
  position: relative;
  float: left
}

.detail .legend div {
  white-space: nowrap;
  padding-top: 2px;
  box-sizing: border-box;
  position: relative
}

.detail .legend span {
  display: inline-block;
  padding: 0 3px;
  overflow: hidden
}

.detail .legend .legend-left {
  width: 70px;
  max-width: 70px;
  text-align: right;
  color: #999;
  padding-left: 6px;
  font-size: 10px;
  overflow: hidden;
  white-space: nowrap
}

.detail .legend .legend-right {
  font-size: 11px;
  width: 30px;
  text-align: center
}

.detail .legend .legend-days {
  background-color: #f8f8f8
}

.detail .legend .legend-hour {
  padding-top: 5px
}

.detail .legend .legend-hour .legend-right::before {
  font-family: iconfont;
  display: block;
  content: '\e007'
}

.detail .legend .legend-rain {
  padding-top: 5px
}

.detail .legend .legend-rainClouds {
  padding-top: 10px
}

.detail .legend .legend-rainClouds .l-rc-note {
  font-size: 8px
}

.detail .legend .legend-rainClouds .l-rc-rain {
  margin-top: 8px;
  color: blue
}

.detail .legend .legend-rainClouds .l-rc-conv {
  color: #a038bf
}

.detail .legend .legend-rainClouds .l-rc-snow {
  color: #4d9ab3
}

.detail .legend .legend-cbase,
.detail .legend .legend-gust {
  padding-top: 0
}

.detail .legend .legend-airTemp {
  padding-top: 105px
}

.detail .legend .legend-wind {
  padding-top: 3px
}

.detail .legend .legend-windDir {
  padding-top: 3px
}

.detail .legend .legend-windDir .legend-right::before {
  font-family: iconfont;
  display: block;
  content: '\e008'
}

.detail .legend .legend-tempCombined .legend-right,
.detail .legend .legend-windCombined .legend-right {
  vertical-align: top
}

.detail .legend .legend-waves,
.detail .legend .legend-swell1 {
  padding-top: 3px
}

.detail .legend .legend-pressure,
.detail .legend .legend-swell1Period {
  padding-top: 4px
}

.detail .metric-clickable {
  cursor: pointer;
  position: relative
}

.detail .metric-clickable:hover {
  background-color: lightgray
}

.detail .height-days {
  height: 28px
}

.detail .height-hour {
  height: 23px
}

.detail .height-wind,
.detail .height-pressure,
.detail .height-windDir {
  height: 20px
}

.detail .height-cbase,
.detail .height-gust {
  height: 16px
}

.detail .height-hourZulu {
  height: 18px
}

.detail .height-rain,
.detail .height-visibility,
.detail .height-waves,
.detail .height-swell,
.detail .height-swell1,
.detail .height-temp,
.detail .height-swell2 {
  height: 22px
}

.detail .height-wavesPeriod,
.detail .height-swellPeriod,
.detail .height-swell1Period,
.detail .height-swell2Period {
  height: 20px
}

.detail .height-rainClouds {
  height: 90px
}

.detail .height-airTemp {
  height: 250px
}

.detail .height-tempCombined {
  height: 32px
}

.detail .height-windCombined,
.detail .height-icon {
  height: 30px
}

.detail .sticky-title {
  transition: .5s opacity 0s;
  -webkit-transition: .5s opacity 0s;
  line-height: 1;
  color: #565656;
  display: inline-block;
  white-space: nowrap;
  font-size: 14px
}

.detail .forecast-table {
  position: relative
}

.detail .forecast-table canvas {
  position: absolute;
  left: 0;
  bottom: 0;
  top: 34px
}

#device-mobile .detail .forecast-table canvas {
  top: 28px
}

.detail .forecast-table table {
  position: relative;
  z-index: 10;
  border-collapse: collapse;
  table-layout: fixed;
  box-sizing: border-box
}

.detail .forecast-table tr:first-child {
  cursor: initial
}

.detail .forecast-table td {
  width: 30px;
  text-align: center;
  overflow: hidden;
  vertical-align: middle;
  padding-top: 2px;
  box-sizing: border-box
}

.detail .forecast-table table+b {
  position: absolute;
  z-index: 15;
  display: block;
  top: 34px;
  height: 18px;
  width: 2px;
  background-color: rgba(157, 3, 0, 0.27)
}

.detail .forecast-table .day-end {
  border-right: 1px solid #e5e5e5
}

.detail .forecast-table .secondary-model {
  border-left: 1px solid gray
}

.detail .forecast-table .prev-reftime {
  border-left: 1px solid #b9b9b9
}

.detail .forecast-table .td-hour td {
  padding: 5px 0 1px 0;
  color: gray;
  position: relative;
  overflow: visible
}

.detail .forecast-table .td-hour small {
  font-size: .5em
}

.detail .forecast-table .td-hour .secondary-model::before,
.detail .forecast-table .td-hour .prev-reftime::before,
.detail .forecast-table .td-hour .secondary-model::after,
.detail .forecast-table .td-hour .prev-reftime::after {
  position: absolute;
  color: white;
  top: -4px;
  font-size: 7px;
  padding: .2em .8em;
  z-index: 10;
  letter-spacing: .2em
}

.detail .forecast-table .td-hour .secondary-model::before,
.detail .forecast-table .td-hour .prev-reftime::before {
  content: attr(data-model2);
  background-color: #b9b9b9;
  left: 0
}

.detail .forecast-table .td-hour .secondary-model::after,
.detail .forecast-table .td-hour .prev-reftime::after {
  content: attr(data-model1);
  background-color: gray;
  right: 100%
}

.detail .forecast-table .td-hour .prev-reftime::after {
  display: none
}

.detail .forecast-table .td-hour .prev-reftime::before {
  margin-left: -1px
}

.detail .forecast-table .td-hourZulu td {
  padding-top: 0;
  color: gray;
  font-size: .8em
}

.detail .forecast-table .td-icon img {
  width: 25px;
  height: 25px;
  filter: brightness(.9) saturate(140%);
  -webkit-filter: brightness(.9) saturate(140%)
}

.detail .forecast-table .td-icon td {
  vertical-align: bottom;
  padding-bottom: 0
}

.detail .forecast-table .td-temp td {
  font-size: 1.1em;
  vertical-align: top
}

.detail .forecast-table .td-days td {
  width: inherit;
  overflow: hidden;
  padding: 0 10px 0 10px;
  height: 28px;
  line-height: 1;
  border-right: 1px solid #e5e5e5;
  text-align: left
}

.detail .forecast-table .td-days td:last-child {
  border-right: none
}

.detail .forecast-table .td-windDir {
  font-family: iconfont;
  color: #5b7e9e;
  padding: 3px 0
}

.detail .forecast-table .td-rain {
  font-size: .8em;
  color: #042ca5
}

.detail .forecast-table .td-rain td {
  padding-top: 5px
}

.detail .forecast-table .td-rain td.snow {
  color: #4992d8;
  font-variant: small-caps
}

.detail .forecast-table .td-pressure {
  font-size: .8em;
  color: #5b7e9e
}

.detail .forecast-table .td-rainClouds td {
  vertical-align: bottom;
  padding-bottom: 0;
  font-size: .8em
}

.detail .forecast-table .td-rainClouds td .td-m-snow {
  color: #4992d8;
  font-variant: small-caps
}

.detail .forecast-table .td-rainClouds td .td-m-rain {
  color: #042ca5
}

.detail .forecast-table .td-rainClouds td .td-m-conv {
  color: #c090fb
}

.detail .forecast-table .td-rainClouds td .td-m-rainbar,
.detail .forecast-table .td-rainClouds td .td-m-convbar,
.detail .forecast-table .td-rainClouds td .td-m-snowbar {
  width: 6px;
  margin-left: auto;
  margin-right: auto
}

.detail .forecast-table .td-rainClouds td .td-m-rainbar {
  background-color: #0040ff
}

.detail .forecast-table .td-rainClouds td .td-m-snowbar {
  background-color: #00bffb
}

.detail .forecast-table .td-rainClouds td .td-m-convbar {
  background-color: #bf6aff
}

.detail .forecast-table .td-cbase {
  font-size: .7em
}

.detail .forecast-table .td-cbase td {
  border-top: 1px solid #e5e5e5
}

.detail .forecast-table .td-gust {
  font-size: .7em
}

.detail .forecast-table .td-waves div,
.detail .forecast-table .td-swell div,
.detail .forecast-table .td-swell1 div,
.detail .forecast-table .td-swell2 div,
.detail .forecast-table .td-windCombined div {
  font-family: iconfont;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  float: left;
  position: relative;
  left: 1px;
  top: 1px;
  font-size: .9em;
  color: #565656
}

.detail .forecast-table .td-windCombined,
.detail .forecast-table .td-tempCombined {
  line-height: 1.1
}

.detail .forecast-table .td-windCombined small,
.detail .forecast-table .td-tempCombined small {
  color: #565656;
  display: block;
  font-size: .85em
}

.detail .forecast-table .td-tempCombined td {
  padding-top: 0;
  line-height: 1.3;
  font-size: 1.1em
}

.detail .forecast-table .td-tempCombined td small {
  color: gray;
  font-size: .75em
}

.detail .forecast-table .td-wavesPeriod,
.detail .forecast-table .td-swellPeriod,
.detail .forecast-table .td-swell1Period,
.detail .forecast-table .td-swell2Period {
  font-size: .9em;
  color: gray;
  padding-top: 0
}

.detail .forecast-table .td-waves,
.detail .forecast-table .td-swell,
.detail .forecast-table .td-swell1,
.detail .forecast-table .td-swell2 {
  padding-top: 1px;
  font-size: .9em
}

.detail .forecast-table tr:last-child td {
  border-bottom: 1px solid #e5e5e5
}

.detail .services {
  min-width: 180px
}

.detail .services .services-container {
  font-size: 12px;
  padding: 10px;
  padding-top: 5px;
  background-color: #f4f4f4;
  overflow: hidden;
  border-left: 1px solid #e5e5e5;
  border-bottom: 1px solid #e5e5e5;
  width: 100%;
  line-height: 1.8;
  color: #7a7a7a;
  display: block;
  list-style: none
}

.detail__nearby-features {
  position: absolute;
  bottom: calc(100% + 27px);
  left: 15px
}

#device-mobile .detail__nearby-features {
  bottom: calc(100% + 10px)
}

.detail__nearby-feature {
  display: flex;
  align-items: center;
  flex-wrap: nowrap;
  position: relative;
  line-height: 1.4;
  font-size: 12px
}

.detail__nearby-feature+.detail__nearby-feature {
  margin-top: 10px
}

.detail__nearby-feature:not(.show) {
  height: 0;
  overflow: hidden;
  margin: 0
}

.detail__nearby-feature--webcams .detail__nearby-feature-circle {
  background-size: cover
}

.detail__nearby-feature--new-webcam .detail__nearby-feature-circle {
  background-color: #adadad
}

.detail__nearby-feature--new-webcam .detail__nearby-feature-circle:before {
  font-size: 20px;
  color: #f8f8f8;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%)
}

.detail__nearby-feature--stations .detail__nearby-feature-circle {
  text-shadow: none;
  text-align: center;
  padding: 5px 0 0 2px;
  line-height: 1.2;
  overflow: hidden;
  color: black
}

.detail__nearby-feature--stations .detail__nearby-feature-circle::before {
  content: attr(data-content)
}

.detail__nearby-feature--stations .detail__nearby-feature-circle small {
  font-size: 8px;
  width: 100%;
  transition: all 1s;
  display: block;
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  padding: 3px
}

#device-mobile .detail__nearby-feature--stations .detail__nearby-feature-circle {
  padding-top: 3px;
  line-height: 1.1
}

.detail__nearby-feature-circle {
  position: relative;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  transition: all 1s
}

#device-mobile .detail__nearby-feature-circle {
  height: 35px;
  border-radius: 15px
}

#device-mobile .detail__nearby-feature-circle:after {
  content: '';
  display: block;
  width: 70px;
  height: 55px;
  position: absolute;
  top: -7.5px;
  left: -15px
}

.detail__nearby-feature-text {
  display: inline-block;
  width: 100px;
  margin-left: 6px
}

.fresh-title::before {
  font-size: 10px;
  content: ' ';
  width: 1em;
  height: 1em;
  border-radius: 1em;
  display: inline-block;
  margin-right: .5em;
  position: relative;
  top: .2em
}

.fresh-title.fresh::before {
  background-color: lightgreen
}

.fresh-title.normal::before {
  background-color: #ffe29c
}

.fresh-title.obsolete::before {
  background-color: lightgray
}

.webcam-thumbnails img {
  display: inline-block;
  width: 60px;
  margin: 0 3px;
  border-radius: 4px;
  vertical-align: middle
}

.webcam {
  position: relative;
  line-height: 1;
  border-right: 1px solid;
  overflow: hidden;
  transform: translateZ(0);
  background-color: #e5e5e5
}

.webcam.loaded .webcam-image {
  background-size: cover, auto;
  background-repeat: no-repeat, no-repeat;
  background-position-x: 0, calc(50% - 10px);
  background-position-y: 0, calc(50% - 10px)
}

.webcam .iconfont {
  font-size: 20px;
  width: 1.2em;
  height: 1em;
  position: absolute;
  bottom: 10px;
  right: 5px
}

.webcam .fresh-title,
.webcam .wbcm-name {
  text-shadow: -1px -1px 0 rgba(0, 0, 0, 0.45), 1px -1px 0 rgba(0, 0, 0, 0.45), -1px 1px 0 rgba(0, 0, 0, 0.45), 1px 1px 0 rgba(0, 0, 0, 0.45);
  position: absolute;
  white-space: nowrap;
  overflow: hidden;
  left: 10px;
  max-width: calc(100% - 20px)
}

.webcam .wbcm-name {
  bottom: 25px;
  right: 40px
}

.webcam .fresh-title {
  bottom: 5px;
  padding-bottom: 3px
}

.webcam .fresh-title.multilined {
  padding-left: 15px;
  line-height: 1.2
}

.webcam .fresh-title.multilined::before {
  position: absolute !important;
  left: 0;
  top: .25em !important
}

.webcam .webcam-image {
  background-size: auto;
  background-repeat: no-repeat;
  background-position: center
}

.webcam .webcam-image,
.webcam .webcam-description {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0
}

.webcam .webcam-inner {
  overflow: hidden
}

#bottom-credits {
  text-shadow: 0 0 4px black;
  color: #fff3e1;
  transition: .7s opacity 0s;
  -webkit-transition: .7s opacity 0s;
  font-size: 16px;
  pointer-events: none;
  opacity: 0;
  visibility: hidden;
  position: absolute;
  text-align: center;
  bottom: 15px;
  width: 100%
}

.moooving #bottom-credits {
  opacity: 1;
  visibility: visible
}