.sideNav {
  display: block;
  block-size: calc(100vh - 60px);
  inline-size: 200px;
  overflow-x: hidden;
  position: sticky;
  inset-inline-start: 0;
  inset-block-start: 60px;
  z-index: 3;
  box-shadow: 1px -1px 1px -1px var(--primary-shadow-color);
  background-color: var(--side-nav-color);
  transition-property: inline-size;
  transition-duration: 150ms;
  transition-timing-function: ease-in-out;
  user-select: none;
}

.inner {
  block-size: 100%;
  inline-size: 200px;
  overflow: hidden auto;
}

.closed .inner {
  inline-size: 80px;
}

.closed .hiddenLabels {
  inline-size: 60px;
}

.closed.hiddenLabels {
  inline-size: 60px;
}

.topNavOption {
  margin-block-start: 10px;
}

.navOption,
.navChannel {
  position: relative;
  padding: 5px;
  min-block-size: 35px;
  -webkit-user-drag: none;
}

.moreOption {
  display: none;
}

.navOption,
.channelLink {
  display: block;
  color: inherit;
  text-decoration: inherit;
}


.navOption .navLabel {
  margin-inline-start: 40px;
  overflow: hidden;
  word-wrap: break-word;
}

.navOption:hover,
.navChannel:hover {
  background-color: var(--side-nav-hover-color);
  color: var(--side-nav-hover-text-color);
  transition: background 0.2s ease-in;
}

.navOption:active,
.navChannel:active {
  background-color: var(--side-nav-active-color);
  color: var(--side-nav-active-text-color);
  transition: background 0.2s ease-in;
}

.navIcon {
  block-size: 1em;
  inline-size: 1.25em;
  margin-inline-start: 10px;
}

.navIcon.fa-user-check {
  /* This icon is too big by default */
  inline-size: 1em;

  /* Align icon according to torso */
  transform: translateX(0.2em);
}

.navChannel .navLabel {
  overflow: hidden;
  margin-inline-start: 40px;
  word-wrap: break-word;
  font-size: 12px;
}

.thumbnailContainer {
  inline-size: 35px;
  margin: 0;
  position: absolute;
  inset-block-start: 50%;
  transform: translateY(-50%);
  text-align: center;
}

.channelThumbnail {
  border-radius: 50%;
  vertical-align: middle;
}

.noThumbnail {
  /* font-size is used for font-icon */
  font-size: 35px;
}

.closed {
  inline-size: 80px;
}

.sideNav hr {
  inline-size: 90%;
  block-size: 1px;
  border: 0;
  background-color: var(--primary-color);
}

.refreshIcon {
  position: absolute;
  inset-block-start: 20px;
  inset-inline-end: 20px;
}

.closed .refreshIcon {
  display: none;
}

.closed .navOption {
  inline-size: 100%;
  padding-block: 5px;
  padding-inline: 0;
}

.closed .navIcon {
  margin-inline-start: 0;
  inline-size: 100%;
  display: block;
  margin-block-end: 0;
}

.closed .navIconExpand {
  block-size: 1.3em;
}

.closed .navIconExpand.fa-user-check {
  /* This icon is too big by default */
  block-size: 1.15em;
}

.closed .navLabel {
  margin-inline-start: 0;
  inline-size: 100%;
  text-align: center;
  inset-inline-start: 0;
  font-size: 11px;
  margin-block-end: 0;
}

.closed .navChannel {
  inline-size: 100%;
  block-size: 45px;
  padding-block: 5px;
  padding-inline: 0;
}

.closed .thumbnailContainer {
  position: static;
  display: block;
  float: none;
  margin-inline: auto;
  inset-block-start: 0;
  transform: none;
  margin-block: 0.3em;
}

@media only screen and (width > 680px) {
  ::-webkit-scrollbar {
    inline-size: 10px;
    block-size: 10px;
  }
}

@media only screen and (width <= 680px) {
  .inner {
    display: contents; /* sunglasses emoji */
  }

  hr,
  .mobileHidden,
  .refreshIcon {
    display: none;
  }

  .sideNav {
    position: fixed;
    inset-inline-start: 0;
    inset-block-end: 0;
    display: flex;
  }

  .topNavOption {
    margin-block-start: 0;
    padding-inline: 10px;
  }

  .sideNav,
  .closed {
    margin-block-start: 0;
    block-size: 60px;
    inline-size: 100%;
    inset-block: auto 0;
    overflow-y: hidden;
  }

  .navOption,
  .closed .navOption {
    inline-size: 70px;
    block-size: 40px;
    padding: 0;
    padding-block: 10px;
  }

  .navLabel {
    margin-inline-start: 0;
    inline-size: 100%;
    text-align: center;
    inset-inline-start: 0;
    font-size: 11px;
  }

  .moreOption {
    display: block;
  }

  .closed.hiddenLabels {
    inline-size: 100%;
  }
}

@media only screen and (width <= 400px) {
  /* Hide settings so that they appear in the more dropdown on smaller screens */
  .smallMobileOnlyHidden {
    display: none;
  }
}

@media only screen and (width > 400px) {
  .smallMobileOnlyHidden {
    display: block;
  }
}

