/*
  Those are styles required for all sort of player-related stuff.
  Only very important things are inlined on top of player's page.
 */
 #video-controls{
   position:absolute;
   bottom:6px;
   right:0;
   left:0;
   height: 36px;
   flex-grow: 1;
   margin:0;
   display: flex;
   justify-content: center;
 }

#video-controls .spacer{
  flex-grow:1;
  width:1px;
}
.control{
  background: 0 0;
  border: none;
  position: relative;
  margin: 0;
  display: inline-block;
  text-transform: uppercase;
  letter-spacing: 0;
  will-change: box-shadow;
  transition: box-shadow .2s cubic-bezier(.4,0,1,1),background-color .2s cubic-bezier(.4,0,.2,1),color .2s cubic-bezier(.4,0,.2,1);
  outline: none;
  cursor: pointer;
  text-decoration: none;
  text-align: center;
  vertical-align: middle;
  border-radius: 50%;
  font-size: 24px;
  padding: 6px;
  overflow: hidden;
  color: inherit;
  line-height: normal;
}


progress{
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  /* Get rid of default border in Firefox. */
  border: none;
  color:#2fafea;
}


progress:not([value])::-webkit-progress-bar {
   /* Styling for indeterminate mode here */
}

progress[value]::-webkit-progress-bar{
  background-color: #eee;
  border-radius: 2px;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.25) inset;
}
progress[value]::-webkit-progress-value {
  background: #2fafea;
  transition: all 4s linear;
}
#video-load{
  height:6px;
  width:100%;
  position:absolute;
  top:0px;
  display:none; /* toggled by JS */
}
#video-player{
  width:auto;
}
/* safari's webkit controls for videos */
#video-player::-webkit-media-controls{
  display: none!important;
  /* display: none; won't work */
  opacity:0;
}
/* Old shadow dom for play button */
#video-player::--webkit-media-controls-play-button {
  display: none!important;
  -webkit-appearance: none;
}

/* New shadow dom for play button */
#video-player::-webkit-media-controls-start-playback-button {
  display: none!important;
  -webkit-appearance: none;
}

.hidden{
  display:none !important;
}


#video-title{
  position:absolute;
  top:-20px;
  left:0;
  right:0;
  text-align:center;
  background:rgba(0,0,0,0.8);
  color:#fff;
}

#menu{
  position:absolute;
  flex-wrap: nowrap;
  top:-40px;
  left:0;
  right:0;
  padding: 0 15px 0 15px;
  overflow: hidden;
  color:white;
  background:black;
  z-index:2;
}

#menu svg,.control svg{
  fill:white;
}



@keyframes spin {
  0%   { transform: rotate(0deg); }
  100%   { transform: rotate(360deg); }
}
.spinner{
  width:48px;
  height:48px;
  margin:auto;
  box-sizing: border-box;
  display:block;
  background: rgba(255,255,255,0);
  color:#FF6700;
  text-align: center;
  position:relative;
  text-align: center;
  line-height: 48px;
  vertical-align: middle;
}

.spinner:before{
  content:"";
  position:absolute;
  top:0;
  left:0;
  width:100%;
  height:100%;
  display:inline-block;
  box-sizing: border-box;
  color:#FF6700;
  border: 10px solid #DDDDDD;
  border-top-color: currentColor;
  border-radius: 100%;
  background: rgba(255,255,255,0);
  will-change: transform;
  animation:         spin 1s linear infinite; /* IE 10+, Fx 29+ */
}
.spinner:after{
  content: "";
  position:absolute;
  top:0;
  left:0;
  width:100%;
  height:100%;
  display:inline-block;
  box-sizing: border-box;
  color:#FF6700;
  border: 10px solid rgba(255,255,255,0);
  border-top-color: currentColor;
  border-radius: 100%;
  background: rgba(255,255,255,0);
  z-index:1;
  will-change: transform;
  animation:         spin 2.5s linear infinite; /* IE 10+, Fx 29+ */

}
.pixel-spinner{
  position:absolute;
  width:100%;
  height:100%;
  width:90vmin;
  height:90vmin;
  margin: -45vmin -45vmin;
  top: 50%;
  left: 50%;
  box-sizing: border-box;
  z-index: 100;
  pointer-events: none;
}
.pixel-spinner>.spinner {
  margin: -24px;
}
.notify-box{
  position: fixed;
  bottom:70px;
  left:50%;
  width:300px;
  margin-left:-150px;
  padding:8px;
  z-index: 100;

}
.notify-box:empty{
  display:none;
}

.notify-box .log-line{
  z-index: 101;
  width:100%;
  text-align: center;
  border-radius:4px;
  padding:8px;
  margin:2px;
  color:#ffffff;
  background:rgba(25,25,25,0.95);
  display: flex;
  justify-content: space-between;
}

.notify-box .log-line.error{
  border: 1px solid #ff9966;
  color: #ff9966;
}
.notify-box .log-line .button{
  opacity: 0.2;
}
.notify-box .log-line .button:hover{
  opacity:1;
}
.login-link, .logout-link{
  cursor: pointer;
  color: #ff9966;
  padding-right: 15px;
}
.register-link{
  cursor: pointer;
  color: #ff9966;
}


.embeded-video16by9 {
  position: relative;
  display: block;
  width: 100%;
  padding: 0;
}
.embeded-video16by9::before{
  display: block;
  content: "";
  padding-top: 56.25%;
}
.embeded-video16by9 video{
  position: absolute;
  max-width: 100%;
  height: 100%;
  width: 100%;
  top: 0;
  left: 0
}
