/*

   This Source Code Form is subject to the terms of the GNU General Public License:

    Copyright (C) 2021-202x POKETUBE (https://github.com/iamashley0/poketube)
    
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation, either version 3 of the License, or
    (at your option) any later version.

    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with this program. If not, see https://www.gnu.org/licenses/.

*/

:root {
  /* text */
  --text-link: #0ab7f0;
  --text-link-visited: #00c0ff;
  --text-color: #ffffff;
  --text-font-primary: "PokeTube Flex";
  --text-header-weight: 1000;

  /* Divs */
  --div-gradient: linear-gradient(
    135deg,
    #f97794 10%,
    #623aa2 100%,
    #8e6f7e 100%
  );
  --div-border-color: #7c44a0;
  --div-prim-bg: #1c1c1c;
  --div-second-bg: #1a1a1a;
  --div-transparent-bg: #0009;

  --gutter: 1.67em; /* gutter variable - see line 330 */

  /* PTD start */

  --video-player-height-max: 720px;
  --video-player-width-max: 1280px;

  /* poketube color palette */
  --ptc-very-red: #ff0000;
  --ptc-very-blue: #0000ff;
  --ptc-very-green: #00ff00;
  --ptc-very-pink: #ff00ff;
  --ptc-very-yellow: #ffff00;
  --ptc-cyan: #00ffff;
  --ptc-href-color: #0ab7f0;
  --ptc-transparent: #0009;
  --ptc-purple-borders: #7c44a0;
  --ptc-gradient: linear-gradient(
    135deg,
    #f97794 10%,
    #623aa2 100%,
    #8e6f7e 100%
  );
  --chip-background-hover: #3f3f3f;

  --ptd-watch-min-player-height: 360px;
  --ptd-watch-width-ratio: 16;
  --ptd-watch-height-ratio: 9;
  --ptd-watch-sidebar-min-width: 300px;

  --ptd-grid-base: 103px;
  --ptd-margin-base: 4px;
  --ptd-avatar-size: 32px;
  --ptd-toolbar-height: 56px;
  --ptd-button-spacing: 4px;

  /* margins */
  --ptd-margin-2x: 8px;
  --ptd-margin-3x: 12px;
  --ptd-margin-4x: 16px;
  --ptd-margin-5x: 20px;
  --ptd-margin-6x: 24px; /* default */
  --ptd-margin-7x: 28px;
  --ptd-margin-8x: 32px;
  --ptd-margin-9x: 36px;
  --ptd-margin-10x: 40px;
  --ptd-margin-11x: 44px;
  --ptd-margin-12x: 48px;
  --ptd-margin-14x: 56px;
  --ptd-margin-16x: 64px;
  --ptd-margin-17x: 68px;
  --ptd-margin-24x: 96px;
  --ptd-margin-25x: 100px;
  --ptd-margin-35x: 140px;

  --ptd-neg-margin-base: -4px;
  --ptd-neg-margin-2x: -8px;
  --ptd-neg-margin-3x: -12px;
  --ptd-neg-margin-4x: -16px;
  --ptd-neg-margin-5x: -20px;
  --ptd-neg-margin-6x: -24px;
  --ptd-neg-margin-7x: -28px;
  --ptd-neg-margin-8x: -32px;
  --ptd-neg-margin-10x: -40px;
  --ptd-neg-margin-11x: -44px;
  --ptd-neg-margin-12x: -48px;
  --ptd-neg-margin-14x: -56px;
  --ptd-neg-margin-16x: -64px;
  --ptd-neg-margin-24x: -96px;
  --ptd-neg-margin-25x: -100px;
}

a.class:hover {
  text-decoration: underline;
  font-weight: bold;
}

summary {
  color: gray;
}

summary:hover {
  color: white;
}

:visited {
  color: var(--text-link-visited);
}

a {
  color: var(--text-link);
}

a.avatar {
  height: 36px;
  margin-left: 6px;
  font-size: 0;
}

.video-chnl-info-pill > a:first-child {
  margin-right: -8px;
}

.video-info-buttons.pill > .engagement {
  margin-right: 2px;
}

.video-info-buttons.pill > div:nth-child(2) > .new-button,
.button-encryption {
  margin-right: 2px;
}

.video > .info > .title {
  font-family: var(--text-font-primary);
  width: 10em;
}

.dropdown__menu > a {
  text-decoration: none;
}

.video-info-panel > .video-title > a {
  white-space: nowrap;
}

.video-info-panel > .video-title {
  text-overflow: ellipsis;
  overflow: hidden;
  max-width: max-content;
  display: -webkit-box;
  word-break: break-all;
  font-family: var(--text-font-primary) !important;
  font-stretch: expanded;
  font-weight: 850 !important;
}

.video-sub-info.description {
  box-sizing: border-box;
  min-width: 100%;
  font-weight: 600;
  margin-top: 1em !important;
  border-radius: 21px;
  margin-bottom: 0.1em;
  font-stretch: expanded;
  justify-self: center;
  font-family: var(--text-font-primary);
  border-style: solid;
}

.video-sub-info.description > .video-title {
  font-family: var(--text-font-primary);
  font-weight: 1000;
  font-stretch: extra-expanded;
  font-size: larger;
}

.recommended-list {
  background-color: var(--div-prim-bg);
  border-radius: 1.5em;
  margin: 10px;
  margin-top: 0px;
  margin-left: 0px;
  height: -moz-fit-content;
  height: fit-content;
  justify-self: center;
  margin-right: -0.9em;
  /* width: min-content;*/
  border: var(--div-border-color);
  border-style: solid;
  max-width: 371px;
  width: max-content;
}

.video-views {
  white-space: nowrap;
}

.video-info-panel.gradient {
  padding: 12px;
  border-radius: 11px;
  background-image: var(--div-gradient) !important;
  display: block;
  box-sizing: border-box;
  min-width: 100%;
}

.video-info-pill-channelname {
  color: #fff;
  word-wrap: break-word;
  font-family: var(--text-font-primary);
  font-weight: 1000;
  font-stretch: ultra-expanded;
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  line-clamp: 3;
  -webkit-box-orient: vertical;
  display: block ruby;
  text-overflow: ellipsis;
  max-width: 7em;
  white-space: nowrap;
}

.comments-author.owner {
  margin: 5px;
  font-family: var(--text-font-primary);
  font-weight: 1000;
  font-stretch: ultra-expanded;
  white-space: -moz-pre-wrap !important;
  white-space: -pre-wrap;
  white-space: -o-pre-wrap;
  white-space: pre-wrap;
  word-wrap: anywhere;
  white-space: -webkit-pre-wrap;
  word-break: break-all;
  white-space: normal;
  background: #4a4a4a;
  padding: 4px;
  border-radius: 6px;
  width: auto;
  height: 1.2em;
  justify-self: center;
}

.video-chnl-info-pill {
  border: 1px solid var(--border-color);
  border-radius: 4px;
  display: grid;
  grid-template-columns: 48px max-content 1fr min-content;
  grid-template-rows: 16px 16px;
  grid-auto-columns: 1fr;
  column-gap: 8px;
  row-gap: 4px;
  grid-auto-flow: row;
  grid-template-areas: "avatar name . subscribe-button" "avatar subs . subscribe-button";
  padding: 8px;
  border-radius: 35px;
  font-family: Inter;
  clear: both;
  margin-top: 1.1em;
  padding: 5px 0;
  background: #0009;
  margin-right: -13px;
  width: fit-content;
  height: fit-content;
  width: -moz-fit-content;
  height: -moz-fit-content;
  border-radius: 43px;
  font-size: 15px;
  margin-right: auto;
  display: flex;
  border: none;
}

.video-info-buttons.pill {
  border-radius: 16px;
  padding: 4px;
  border-style: none;
  min-height: 34px;
  grid-area: buttons;
  display: flex;
  flex-direction: row;
  column-gap: var(--ptd-button-spacing);
  height: min-content;
  width: -moz-fit-content;
  width: fit-content;
  text-align: right;
  margin-left: auto;
  margin-right: inherit;
  justify-content: center;
  justify-items: center;
  justify-self: center;
  margin-top: -2.9em;
  font-family: var(--text-font-primary);
  font-stretch: expanded;
}

.comments-author {
  margin: 7px;
  font-family: var(--text-font-primary);
  font-weight: 1000;
  font-stretch: ultra-expanded;
  white-space: -moz-pre-wrap !important;
  white-space: -pre-wrap;
  white-space: -o-pre-wrap;
  white-space: pre-wrap;
  word-wrap: anywhere;
  white-space: -webkit-pre-wrap;
  word-break: break-all;
  white-space: normal;
}

.comments-class-or-something-i-cant-find-a-name-lol {
  background: var(--div-prim-bg);
  border-radius: 2em;
  padding: 10px;
  padding-top: 0;
  margin: auto;
  border: var(--div-border-color);
  border-style: solid;
}

.subscribe-button {
  color: red;
  margin: auto;
  background: white;
  border-radius: 2em;
  margin-right: 6px;
  text-transform: initial;
}

.subscribe-button > a {
  color: black !important;
  font-family: var(--text-font-primary);
  font-stretch: ultra-expanded;
  font-weight: 900;
}

.video > .thumbnail > .video-length {
  font-size: smaller;
  background-color: #0008;
  color: #fff;
  padding: 2px;
  border-radius: 3px;
  font-family: var(--text-font-primary);
  font-stretch: 100%;
  font-weight: 600;
}

.comment {
  font-family: var(--text-font-primary);
  font-stretch: expanded;
  font-weight: 600 !important;
}

.tags {
  display: flex;
  flex-direction: row;
  overflow-x: auto;
  column-gap: 3px;
}

.tag {
  background: #333;
  padding: 5px;
  border-radius: 4px;
  word-break: break-all;
  white-space: nowrap;
}

.new-button {
  background: #0009;
  border-radius: 2em;
  padding-right: 1em;
  display: flex;
  justify-content: center;
  align-items: center;
  align-content: center;
  align-self: center;
}

.pill-button {
  margin-left: 1em;
}

.vertical {
  border-left: 1px solid gray;
  height: 15px;
}

.date-publish {
  margin: 0;
  margin-top: 0px;
  margin-top: 12px;
  font-size: small;
  color: gray !important;
  white-space: nowrap;
}

.video > .thumbnail {
  border: 1px white solid;
}

.video-player-container {
  margin: inherit;
  max-width: 100%;
  min-width: 100%;
  width: 100%;
  max-height: 100%;
  aspect-ratio: var(--ptd-watch-width-ratio) / var(--ptd-watch-height-ratio);
}

.watch-page {
  display: flex;
  gap: var(--gutter);
  margin-inline: var(--gutter);
}

@media screen and (min-width: 1400px) {
  .watch-page {
    max-width: calc(1280px + 3 * var(--ptd-margin-6x));
    min-width: calc(
      var(--ptd-watch-min-player-height) * var(--ptd-watch-width-ratio) /
        var(--ptd-watch-height-ratio) + 3 * var(--ptd-margin-6x) +
        var(--ptd-watch-sidebar-min-width)
    );
    justify-content: center;
    margin-left: auto;
    margin-right: auto;
    gap: var(--gutter);
  }
}

.description-new {
  grid-area: description;
  font-size: 1rem;
  color: var(--text-primary);
  background: var(--div-prim-bg);
  padding: 16px;
  border-radius: 1.2em;
  border: var(--div-border-color);
  border-style: solid;
}

.dropdown {
  position: relative;
  display: flex;
}

.dropdown > input[type="checkbox"] {
  display: none;
}

.dropdown > label {
  width: 100%;
  height: 100%;
  margin: -8px;
  padding: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.dropdown__menu {
  position: absolute;
  z-index: 999;
  display: none;
  margin-right: 4em;
  top: 40px;
  padding: 6px 0;
  margin: 0;
  width: 300px;
  border-radius: 8px;
  box-shadow: var(--border-color) 0 0 5px;
  background-color: var(--context-menu-background);
}

.dropdown__item {
  display: flex;
  flex-direction: row;
  align-items: center;
  padding: 0 16px;
  height: 40px;
  column-gap: 16px;
  color: var(--text-primary);
  text-decoration: none;
}

.dropdown__item:hover {
  background-color: var(--chip-background-hover);
}

.dropdown__item:active {
  background-color: var(--chip-background-active);
}

.dropdown > input[type="checkbox"]:checked ~ div,
.dropdown__menu:target {
  display: block;
}

.dropdown-button {
  position: relative;
  display: flex;
}

.dropdown-button > input[type="checkbox"] {
  display: none;
}

.dropdown-button > label {
  width: 100%;
  height: 100%;
  padding: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.dropdown-button__menu {
  position: absolute;
  z-index: 999;
  display: none;
  margin-right: 4em;
  top: 40px;
  padding: 6px 0;
  margin: 0;
  width: 300px;
  border-radius: 8px;
  box-shadow: var(--border-color) 0 0 5px;
  background-color: var(--context-menu-background);
}

.dropdown-button__item {
  display: flex;
  flex-direction: row;
  align-items: center;
  padding: 0 16px;
  height: 40px;
  column-gap: 16px;
  color: var(--text-primary);
  text-decoration: none;
}

.dropdown-button__item:hover {
  background-color: var(--chip-background-hover);
}

.dropdown-button__item:active {
  background-color: var(--chip-background-active);
}

.dropdown-button-button > input[type="checkbox"]:checked ~ div,
.dropdown-button-button__menu:target {
  display: block;
}

label[for="loggedout-dropdown"] {
  cursor: pointer;
}

.new-button.engagement:hover {
  background-color: #0009;
}

div.new-button:hover {
  background-color: #0008;
}

a.new-button:hover {
  background-color: #0008;
}

@media screen and (max-width: 1340px) {
  .new-button.button-encryption {
    display: none;
  }
  .new-button.button-lite {
    display: none;
  }

  .new-button.button-dropdown {
    display: none;
  }
}

@media screen and (min-width: 1340px) {
  .new-button.button-encryption {
    display: flex;
  }
  .new-button.button-lite {
    display: flex;
  }

  .new-button.button-dropdown {
    display: none;
  }
}

.stats-for-nerds {
  color: var(--text-color);
  font-family: var(--text-font-primary);
  font-weight: var(--text-header-weight);
  font-stretch: extra-expanded;
  margin-top: 10px;
  margin-bottom: 10px;
  font-size: 19.2px;
}

.div_box {
  display: none;
}

.v:checked ~ .div_box {
  display: flex;
  margin-top: -51em;
  text-align: left;
  background: #0009;
  border-radius: 10px;
  height: fit-content;
  padding: 10px;
  margin-left: -11em;
  width: 43em;
  position: absolute;
  white-space: -moz-pre-wrap !important; /* Mozilla, since 1999 */
  white-space: -pre-wrap; /* Opera 4-6 */
  white-space: -o-pre-wrap; /* Opera 7 */
  white-space: pre-wrap; /* css-3 */
  word-wrap: break-word; /* Internet Explorer 5.5+ */
  white-space: -webkit-pre-wrap; /* Newer versions of Chrome/Safari*/
  word-break: break-all;
  white-space: normal;
  height: -moz-fit-content;
  height: -webkit-fit-content;
  max-width: 708px;
  max-height: 185.6px;
}

@media screen and (min-width: 1400px) {
  .v:checked ~ .div_box {
    display: flex;
    margin-top: -54em;
    margin-left: -14em;
  }
}

.checkbox:checked + .fnt {
  font-weight: 900;
}

@media screen and (max-width: 1340px) {
  .h {
    display: none;
  }

  .div_box {
    display: none !important;
  }
}

.flying_cmnt {
  display: none;
}

.hj:checked ~ .flying_cmnt {
  display: grid;
  position: absolute;
  max-height: 72em;
  margin-top: -31em;
  margin-left: auto;
  width: 68em;
  margin-right: auto;
  white-space: -moz-pre-wrap !important;
  white-space: -pre-wrap;
  white-space: -o-pre-wrap;
  white-space: pre-wrap;
  word-wrap: break-word;
  white-space: -webkit-pre-wrap;
  word-break: break-all;
  white-space: normal;
  max-width: 913px;
}

marquee {
  margin-top: 19px;
  font-family: var(--text-font-primary);
  font-stretch: extra-expanded;
  font-weight: 900;
}

.mini {
  display:none;
}

#video:target {
object-fit:none;
}