h5,
label#map-toggle {
  font-weight: 600;
  color: #2db6ec;
}

h5 {
  margin-top: 20px;
  font-size: 18px;
}

#help-hideable,
input#hide,
input#hide:checked~#help-hideable,
input#show {
  display: none;
}

#hide-label,
#show-label {
  margin-top: 10px;
  color: #2db6ec;
}

input#show:checked~#help-hideable {
  display: block;
}

label#map-toggle:hover {
  color: #1782ac;
  cursor: pointer;
}

label.disabled {
  color: #aaa;
}

button .fa {
  margin-right: 6px;
}

h3:first-child .fa {
  margin-right: 4px;
}

.share-button {
  width: 160px;
  height: 33px;
  position: relative;
  float: right;
  margin-top: -3px;
  color: #afb908;
  border-radius: 6px;
  border-color: #afb908;
  border-width: 1.5px;
  border-style: solid;
  background-color: #fff;
  font-family: Exo2-SemiBoldItalic,sans-serif;
  font-size: 16px;
  text-align: center;
}

.cssload-whirlpool,
.cssload-whirlpool::after,
.cssload-whirlpool::before {
  position: absolute;
  top: 50%;
  left: 50%;
  border: 2px solid #397ca3;
  border-left-color: #2db6ec;
  border-radius: 1499px;
  -o-border-radius: 1499px;
  -ms-border-radius: 1499px;
  -webkit-border-radius: 1499px;
  -moz-border-radius: 1499px;
}

.cssload-whirlpool {
  margin: -38px 0 0 -38px;
  height: 75px;
  width: 75px;
  background-color: #fff;
  z-index: 9999;
  animation: cssload-rotate 1.9s linear infinite;
  -o-animation: cssload-rotate 1.9s linear infinite;
  -ms-animation: cssload-rotate 1.9s linear infinite;
  -webkit-animation: cssload-rotate 1.9s linear infinite;
  -moz-animation: cssload-rotate 1.9s linear infinite;
}

.cssload-whirlpool::before {
  content: "";
  margin: -35px 0 0 -35px;
  height: 66px;
  width: 66px;
  animation: cssload-rotate 1.9s linear infinite;
  -o-animation: cssload-rotate 1.9s linear infinite;
  -ms-animation: cssload-rotate 1.9s linear infinite;
  -webkit-animation: cssload-rotate 1.9s linear infinite;
  -moz-animation: cssload-rotate 1.9s linear infinite;
}

.cssload-whirlpool::after {
  content: "";
  margin: -44px 0 0 -44px;
  height: 84px;
  width: 84px;
  animation: cssload-rotate 3.8s linear infinite;
  -o-animation: cssload-rotate 3.8s linear infinite;
  -ms-animation: cssload-rotate 3.8s linear infinite;
  -webkit-animation: cssload-rotate 3.8s linear infinite;
  -moz-animation: cssload-rotate 3.8s linear infinite;
}

@keyframes cssload-rotate {
  100% {
    transform: rotate(360deg);
  }
}

@-o-keyframes cssload-rotate {
  100% {
    -o-transform: rotate(360deg);
  }
}

@-ms-keyframes cssload-rotate {
  100% {
    -ms-transform: rotate(360deg);
  }
}

@-webkit-keyframes cssload-rotate {
  100% {
    -webkit-transform: rotate(360deg);
  }
}

@-moz-keyframes cssload-rotate {
  100% {
    -moz-transform: rotate(360deg);
  }
}

video::-webkit-media-controls-start-playback-button {
  display: none!important;
  -webkit-appearance: none;
}

video::-webkit-media-controls-overlay-play-button {
  display: none;
}

@media (min-width:768px) {
  .modal-dialog-wide {
    width: 700px!important;
    margin: 30px auto;
  }
}

@media (min-width:992px) {
  .modal-dialog-wide {
    width: 800px!important;
    margin: 30px auto;
  }
}
@font-face {
  font-family: Exo2-MediumItalic;
  src: url("https://dg3pi8cjmqwyp.cloudfront.net/fonts/Exo2-MediumItalic.ttf");
}

@font-face {
  font-family: Exo2-BoldItalic;
  src: url("https://dg3pi8cjmqwyp.cloudfront.net/fonts/Exo2-BoldItalic.ttf");
}

@font-face {
  font-family: Exo2-SemiBoldItalic;
  src: url("https://dg3pi8cjmqwyp.cloudfront.net/fonts/Exo2-SemiBoldItalic.ttf");
}

.no-text-select {
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  cursor: default;
}

.replayScrubberStopLabel {
  position: absolute;
  top: 5px;
  margin-left: -5px;
}

.callsign-legend {
  color: #fff;
  font-family: Exo2-BoldItalic;
  font-size: 10px;
  text-shadow: 0 0 5px rgba(0,0,0,.9);
  line-height: 4px;
}

.boat-legend,
.wind-legend {
  font-family: Exo2-MediumItalic;
  font-size: 10px;
  text-shadow: 0 0 5px rgba(0,0,0,.9);
  line-height: 4px;
}

.boat-legend {
  color: #fff;
}

.wind-legend {
  color: #ffbd2c;
}

#scene-start-timer {
  z-index: 9000;
}

.timer-legend {
  color: #dcff1f;
  font-family: Exo2-BoldItalic;
  font-size: 20px;
  line-height: 20px;
  width: 60px;
  height: 20px;
  text-align: center;
  z-index: 9001;
}

.mark-legend {
  color: #fff31e;
  font-family: Exo2-MediumItalic;
  font-size: 12px;
  text-shadow: 0 0 5px rgba(0,0,0,.7);
  line-height: 4px;
}

.leader-board-data,
.leader-board-name {
  font-size: 10px;
  text-shadow: 0 0 5px rgba(0,0,0,.9);
  line-height: 13px;
  color: #fff;
}

.leader-board-name {
  font-family: Exo2-BoldItalic;
}

.leader-board-data {
  min-width: 40px;
  height: 12px;
  font-family: Exo2-MediumItalic;
}

.scene-watermark {
  color: #fff;
  font-family: Exo2-BoldItalic;
  font-size: 30px;
  text-align: center;
  line-height: 1px;
  opacity: .2;
}

#cam-toggle-helper,
#no-race-data-alert {
  position: absolute;
  font-family: Exo2-MediumItalic;
  color: #fff;
}

#cam-toggle-helper {
  right: 30px;
  bottom: 135px;
  width: 200px;
  height: 30px;
  font-size: 14px;
  text-align: right;
  -webkit-transition: opacity 1s;
  transition: opacity 1s;
  -moz-transition: opacity 1s;
  -o-transition: opacity 1s;
}

#no-race-data-alert {
  left: 25%;
  top: 40%;
  width: 50%;
  height: 50px;
  font-size: 24px;
  text-align: center;
}

#sailcast-player {
  position: relative;
  float: left;
  padding-right: 10px;
  width: 60%;
  height: 760px;
}

#sailcast-photostream {
  position: relative;
  float: right;
  overflow-y: scroll;
}

#sailcast-photostream::-webkit-scrollbar {
  display: none;
}

#sailcast-container {
  height: 760px;
}

.sailcast-canvas {
  height: 720px;
}

#sailcast-photostream {
  -ms-overflow-style: none;
  scrollbar-width: none;
  height: 760px;
  width: 40%;
}

@media (orientation:landscape) {
@media (max-height:450px) {
    #sailcast-container,
    #sailcast-player {
      height: 280px;
    }

    .sailcast-canvas {
      height: 240px;
    }

    #sailcast-photostream {
      height: 280px;
    }
}

@media only screen and (device-width:414px) and (device-height:896px) {
    #sailcast-container,
    #sailcast-player {
      height: 400px;
    }

    .sailcast-canvas {
      height: 360px;
    }

    #sailcast-photostream {
      height: 400px;
    }
}

@media only screen and (device-width:375px) and (device-height:667px) {
    #sailcast-container,
    #sailcast-player {
      height: 360px;
    }

    .sailcast-canvas {
      height: 320px;
    }

    #sailcast-photostream {
      height: 360px;
    }
}

@media (min-width:1020px) and (max-width:1120px) {
    #sailcast-container,
    #sailcast-player {
      height: 660px;
    }

    .sailcast-canvas {
      height: 620px;
    }

    #sailcast-photostream {
      height: 660px;
    }
}
}

@media (orientation:portrait) {
@media (min-width:760px) and (max-width:840px) {
    #sailcast-container,
    #sailcast-player {
      height: 760px;
    }

    .sailcast-canvas {
      height: 720px;
    }

    #sailcast-photostream {
      height: 760px;
    }
}

@media (max-width:450px) {
    #sailcast-container,
    #sailcast-player {
      height: 550px;
    }

    .sailcast-canvas {
      height: 510px;
    }

    #sailcast-photostream {
      height: 550px;
    }
}

@media only screen and (device-width :414px) and (device-height :896px) {
    #sailcast-container,
    #sailcast-player {
      height: 560px;
    }

    .sailcast-canvas {
      height: 520px;
    }

    #sailcast-photostream {
      height: 560px;
    }
}

@media only screen and (device-width :375px) and (device-height :667px) {
    #sailcast-container,
    #sailcast-player {
      height: 520px;
    }

    .sailcast-canvas {
      height: 480px;
    }

    #sailcast-photostream {
      height: 520px;
    }
}
}

.masonry-root {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
}

.masonry-root .masonry-cell {
  flex: 1;
  margin: 2px;
}

.masonry-root .masonry-cell .masonry-item {
  color: #fff;
  margin: 0;
}