@font-face {
  font-family: "RobotoSlab";
  src: url("../fonts/RobotoSlab-Regular.ttf");
}

html {
  height: 100%;
}

body {
  font-family: RobotoSlab;
  color: #707070;
  height: 100%;
  margin: 0;
  scrollbar-color: #969696 #d8d8d8;

  display: grid;
  grid-template-columns: 25vw auto;
  grid-template-rows: 60vh auto;
  grid-template-areas:
    "comments video"
    "comments text";
}

aside {
  grid-area: comments;
  background-color: #ededed;
  display: flex;
  flex-direction: column;
  overflow-y: scroll;
}

main {
  background-color: #282828;
  grid-area: video;
  position: relative;
}

video {
  width: 100%;
  height: 100%;
}

article {
  grid-area: text;
  background-color: white;
  padding: 4vh 5vw 4vh 2vw;
  overflow-y: auto;
}
article img {
  max-width: 25vh;
  max-height: 100%;
  margin: 0.5em 1em;
  padding: .2em;
  clear: both;
  border: 1px solid #bbb;
  border-radius: .2rem;
  float: left;
  clear: left;
}

article p {
  clear: right;
}

article h1:first-child {
  margin-top: 0;
}

h1,
h2,
h3 {
  margin-bottom: 0;
  clear: right;
}

h1 {
  font-size: 1.6rem;
}
h2 {
  font-size: 1.4rem;
}
h3 {
  font-size: 1.2rem;
}

p {
  margin: 0;
}
article p:last-child {
  margin-bottom: 2vw;
}

.comment {
  display: grid;
  padding: 3vh 2vw 3vh 1.5vw;
  font-size: 0.88rem;

  column-gap: 12px;
  row-gap: 2px;
  grid-template-columns: max-content auto;
  grid-template-rows: max-content max-content;
  grid-template-areas:
    "icon time"
    "icon comment";
  border-bottom: 0.1vh solid #707070;
  cursor: pointer;
}
.comment:last-child {
  border: none;
}
.activeComment {
  background-color: #fff;
}

.icon {
  grid-area: icon;
  margin-top: 4px;
  width: 36px;
  height: 36px;
  text-align: center;
  vertical-align: top;
}

.time {
  grid-area: time;
  color: #c1c1c1;
}

.commentText {
  grid-area: comment;
}

.video-controls {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  display: grid;
  grid-template-rows: auto min-content;
  justify-items: center;
  align-items: center;
  z-index: 5;
}

.hidden {
  display: none !important;
}

#togglePlayIcon {
  height: 15vh;
}

#video-progress {
  width: 80%;
  margin-bottom: max(30px, 3vh);
  position: relative;
}

#video-progress progress {
  position: absolute;
  width: 100%;
  height: 0.5vh;
  min-height: 5px;
  border: none;
  background-color: #616161;
}

progress::-moz-progress-bar {
  background-color: #616161;
}

progress::-webkit-progress-value {
  background-color: #616161;
}

progress::-webkit-progress-bar {
  background-color: #616161;
}

.seek {
  position: absolute;
  appearance: none;
  background: transparent;
  width: 100%;
  height: 0.5vh;
  min-height: 5px;
  margin: 0;
  cursor: pointer;
  z-index: 15;
}

.seek:focus {
  outline: none;
}

.seek::-moz-range-thumb {
  background-color: #ffa800;
  min-width: 24px;
  width: 2vh;
  min-height: 24px;
  height: 2vh;
  border-radius: max(24px, 2vh);
  border: none;
}

.seek::-webkit-slider-thumb {
  background-color: #ffa800;
  min-width: 24px;
  width: 2vh;
  min-height: 24px;
  height: 2vh;
  border-radius: max(24px, 2vh);
  border: none;
  appearance: none;
}

.videoComment {
  position: absolute;
  background-color: #ffa800;
  width: 10%;
  left: 35%;
  height: 0.5vh;
  min-height: 5px;
  z-index: 10;
  cursor: pointer;
}

.videoComment:hover {
  height: 0.9vh;
  min-height: 9px;
  margin-top: min(-2px, -0.2vh);
}

.videoComment:hover img {
  top: min(-33px, -1.3vh);
}

.videoComment img {
  position: relative;
  top: min(-35px, -1.5vh);
  left: 50%;
  min-width: 28px;
  width: 1vh;
  margin-left: min(-14px, -0.5vh);
  cursor: pointer;
}
