@font-face {
  font-family: 'boll-vcr';
  src: url('../boll-vcr-regular.woff2') format('woff2'),
       url('../boll-vcr-regular.woff') format('woff');
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}

* {
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

html {
  font-family: 'boll-vcr'; 
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: greyscale;
  text-rendering: optimizeLegibility;
  font-size: 14px;
}

body {
  display: flex;
  height: 100vh;
  background-color: #000000;
  color: #ffffff;
  margin: 0;
}

h1, h2, h3, h4, h5 {
  margin: 0;
  font-weight: normal;
}

#player {
  position: absolute;
  width: 100%;
  height: 100%;
  display: flex;
  flex: 1;
}

iframe {
  flex: 1;
}

#screen {
  position: absolute;
  width: 100%;
  height: 100%;
  border-width: 0px;
  border-style: solid;
  border-color: #000000;
  transition: 2s;
  transition-delay: 6s;
  box-sizing: border-box;
}
#screen.mask {
  border-width: 50px 0;
  border-top-width: 140px;
  transition: 0s;
}

#osd {
  display: flex;
  flex: 1;
  flex-direction: column;
  background-color: transparent;
  padding: 50px;
  z-index: 1;
  cursor: none;
}
#osd.show {
  background-color: rgba(0, 0, 0, 0.5);
  cursor: auto;
}
#osd.show #videotext { opacity: 1; }
#osd.show #volume { opacity: 1; }
#osd.show #fullscreen { opacity: 1; }

#videotext {
  flex: 1;
  display: flex;
  flex-direction: column;
  width: 75%;
  gap: 10px;
  opacity: 0;
}

#videotext h1 { font-size: 5rem; }
#videotext h2 { font-size: 4rem; }
#videotext h3 { font-size: 3rem; }
#videotext h4 { font-size: 2rem; }
#videotext h5 { font-size: 1rem; }

#controls {
  display: flex;
  justify-content: space-between;
  align-items: end;
}

#volume { opacity: 0; cursor: pointer; font-size: 5rem; }
#volume div { font-size: 4rem; margin-bottom: 5px; }
#volume.mute { opacity: 1 !important; font-size: 9rem; } 
#volume.show { display: block !important; opacity: 1; }

#fullscreen { opacity: 0; cursor: pointer; font-size: 5rem; }

@media screen and (max-width: 920px) {
  html { font-size: 6px; }
  body { height: 100dvh; }
  #player { height: 100dvh; }
  #screen { height: 100dvh; }
  #osd { position: absolute; height: 100dvh; width: 100%; padding: 20px; box-sizing: border-box; }
  #videotext { gap: 5px; width: 100%; }
  #controls { display: none; position: absolute; top: 0px; left: 0px; width: 100%; height: 100%; }
  #volume { display: none; }
  #volume.show { display: none !important; }
  #volume.mute { display: block; font-size: 20rem; width: 100%; height: 100%; }
  #volume.mute span { display: flex; align-items: center; justify-content: center; height: 100%; }
  body:has(#volume.mute) #controls { display: flex; }
  body:has(#volume.mute) #videotext { display: none; }
  body:has(#volume.mute) #switch { display: none; }
  #fullscreen { display: none; }
}