/* static/css/base.css */
:root {
  --instance-background-color: #000;
  --instance-foreground-color: #fff;
  --instance-action-color: #f66;
  --instance-action-hover-color: #fff;
  --instance-action-compliment-color: #fff;
  --instance-body-text-color: #888;
  --instance-input-background-color: #000;
  --instance-input-text-color: #fff;
  --hover-opacity: .7;
  --default-animation-timing: .3s;
}
 {
}
@font-face {
  font-family: Akademie;
  src: url(../fonts/NB_Akademie_Std_Light.otf) format("opentype");
  font-style: normal;
  font-weight: 100;
}
@font-face {
  font-family: Akademie;
  src: url(../fonts/NB_Akademie_Std_Regular.otf) format("opentype");
  font-style: normal;
  font-weight: 400;
}
@font-face {
  font-family: Akademie;
  src: url(../fonts/NB_Akademie_Std_Medium.otf) format("opentype");
  font-style: normal;
  font-weight: 600;
}
@font-face {
  font-family: Akademie;
  src: url(../fonts/NB_Akademie_Std_Bold.otf) format("opentype");
  font-style: bold;
  font-weight: 800;
}
html {
  box-sizing: border-box;
}
*,
*:before,
*:after {
  box-sizing: inherit;
}
html,
body {
  min-height: 100vh;
  overflow-x: hidden;
}
@media screen and (max-device-width: 768px), (max-width: 767px) {
  html,
  body {
    min-height: calc(100vh - 120px);
  }
}
body {
  background: var(--instance-background-color);
  font-family: akademie, sans-serif;
  color: var(--instance-foreground-color);
  font-size: 62.5%;
}
body.disable-scroll {
  height: 100%;
  margin: 0;
  overflow: hidden;
}
#app {
  opacity: 0;
}
#app.ready {
  opacity: 1;
}
.loader {
  position: absolute;
  width: 8em;
  height: 8em;
  animation: pulse .4s alternate-reverse infinite;
  background-color: var(--instance-foreground-color);
  -webkit-mask-image: url(../img/flash.svg);
  mask-image: url(../img/flash.svg);
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  mask-size: contain;
}
#content .loader {
  top: calc(50vh - 5em);
  left: calc(50% - 13.5em);
}
#content .video .loader,
.video .loader {
  left: calc(50% - 4em);
  top: calc(50% - 4em);
}
@keyframes pulse {
  0% {
    transform: scale(1);
  }
  to {
    transform: scale(1.2);
  }
}
#nav {
  margin: 4em 4em 4em 4em;
  float: left;
  max-width: 40em;
  height: calc(100vh - 4em);
  position: fixed;
  transition: opacity var(--default-animation-timing);
  opacity: 1;
  z-index: 100;
}
#nav.not-home {
  margin-top: 11.8em;
}
#nav-drawer {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  height: 6em;
  z-index: 100;
  display: none;
  background: var(--instance-background-color);
}
#nav-drawer:before {
  content: " ";
  position: absolute;
  left: 2em;
  top: 0;
  height: 100%;
  width: 3.5em;
  background: var(--instance-foreground-color);
  -webkit-mask: url(../img/burger.svg) left / contain no-repeat;
  mask: url(../img/burger.svg) left / contain no-repeat;
}
#instance-logo {
  width: 100%;
  margin-bottom: 2em;
  position: relative;
}
#instance-logo img {
  width: 100%;
  height: 100%;
  max-height: 35vh;
  object-fit: contain;
  object-position: left;
}
.not-home #instance-logo {
  display: none;
}
#capsule-logo {
  display: block;
  overflow: hidden;
  z-index: 100;
  width: 15em;
  height: 3em;
  background: url(../img/made-with-capsule.svg) center;
  background-size: 100%;
}
#content {
  position: relative;
  margin-left: 48em;
  transition: all var(--default-animation-timing);
  opacity: 1;
}
#controls {
  position: fixed;
  width: calc(100% - 48em);
  height: 100vh;
  left: 48em;
  top: 0;
  display: none;
}
#close {
  position: relative;
  width: 4.5em;
  height: 4.5em;
  margin-bottom: 4em;
  cursor: pointer;
  transition: opacity var(--default-animation-timing) ease;
  overflow: hidden;
  -webkit-mask: url(../img/arrow.svg) center / contain no-repeat;
  mask: url(../img/arrow.svg) center / contain no-repeat;
  background: var(--instance-foreground-color);
}
select {
  display: block;
}
button {
  display: block;
}
#camera {
  display: block;
}
#camera.done {
  display: none;
}
#preview {
  display: none;
}
#preview.loaded {
  display: block;
}
#subnav {
  position: relative;
}
#subnav h3 {
  color: var(--instance-body-text-color);
}
a {
  text-decoration: none;
  color: var(--instance-action-color);
  cursor: pointer;
  transition: color var(--default-animation-timing);
}
.btn {
  background-color: var(--instance-action-color);
  box-sizing: border-box;
  padding: .9em 3em;
  color: var(--instance-action-compliment-color);
  border-radius: 500px;
  font-size: 1.6em;
  display: inline-block;
  border: 0;
  outline: 0;
  cursor: pointer;
  font-weight: 500;
  transition: opacity var(--default-animation-timing) ease, background var(--default-animation-timing);
  width: 100%;
  text-align: center;
  margin-bottom: 1em;
}
.btn.uploading {
  cursor: wait;
}
.btn.disabled {
  opacity: .5;
  cursor: not-allowed;
}
.btn span {
  padding-left: .2em;
}
p {
  font-size: 1.6em;
  color: var(--instance-body-text-color);
  font-size: 1.4em;
  font-weight: 100;
  margin: 1em 0;
  line-height: 1.4;
}
p.red {
  color: var(--instance-action-color);
}
h1,
h2,
h3 {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  word-break: break-word;
}
h1 {
  font-size: 6em;
  letter-spacing: -.03em;
  line-height: 1;
  font-weight: 600;
}
h1.shrink {
  font-size: 4em;
  letter-spacing: -.02em;
}
h2 {
  font-size: 2em;
  color: var(--instance-body-text-color);
  font-weight: 100;
  line-height: 1.3;
  margin: 1em 0;
}
h2.question {
  margin-top: .5em;
  font-size: 2.5em;
  line-height: 1.1;
}
h2.question.category {
  text-transform: capitalize;
}
h1.question {
  font-size: .6em;
  line-height: 1.1;
  font-weight: 600;
}
.question-container {
  min-height: 3.4em;
  font-size: 5em;
  margin-bottom: .5em;
}
h2.red {
  color: var(--instance-action-color);
}
h3 {
  font-size: 2.4em;
  margin-bottom: .4em;
  font-weight: bold;
}
#nav > div {
  margin-bottom: 4em;
  display: block;
}
.long-description > p {
  font-size: 2em;
  font-weight: 100;
  line-height: 1.3;
}
.long-description.scrollable {
  max-height: 25vh;
  margin-top: 2em;
  margin-bottom: 2em;
}
.long-description em {
  font-style: italic;
}
.btn-close {
  background-image: url(../img/close.svg);
  right: 3em;
  top: 3em;
  position: absolute;
  height: 3.2em;
  width: 3.2em;
  background-size: 100%;
  z-index: 100;
  cursor: pointer;
  transition: opacity var(--default-animation-timing);
}
.progbar {
  display: block;
  height: .4em;
  width: 80%;
  top: calc(50% - .2em);
  border-radius: .4em;
  position: relative;
  background-color: var(--instance-background-color);
  z-index: 2;
  margin: auto;
}
.progbar .progbar-inner {
  position: relative;
  top: 0;
  left: 0;
  height: 100%;
  background-color: var(--instance-foreground-color);
  border-radius: .4em;
  transition: width var(--default-animation-timing);
}
@-webkit-keyframes move {
  0% {
    background-position: 0 0;
  }
  to {
    background-position: 50px 50px;
  }
}
@-moz-keyframes move {
  0% {
    background-position: 0 0;
  }
  to {
    background-position: 50px 50px;
  }
}
.progbar .progbar-inner.animated {
  width: 100% !important;
}
.progbar .progbar-inner.error {
  width: 100% !important;
  background-color: var(--instance-action-color);
}
.progbar .progbar-inner.animated:after {
  position: absolute;
  content: "";
  display: block;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  border-radius: .4em;
  transition: width var(--default-animation-timing);
  background-image: linear-gradient(-45deg, var(--instance-foreground-color) 25%, var(--instance-action-color) 25%, var(--instance-action-color) 50%, var(--instance-foreground-color) 50%, var(--instance-foreground-color) 75%, var(--instance-action-color) 75%, var(--instance-action-color));
  animation: move 2s linear infinite;
  background-size: 20px 20px;
}
.progmsg {
  bottom: calc(50% + 25px);
  position: absolute;
  left: 0;
  right: 0;
  text-align: center;
  font-size: 3em;
  line-height: 1.5em;
}
.submsg {
  top: calc(50% + 25px);
  position: absolute;
  left: 0;
  right: 0;
  text-align: center;
  font-size: 1.5em;
  line-height: 1.5em;
}
.not-ready {
  display: none;
}
.video-error {
  font-size: 2em;
  color: var(--instance-action-color);
}
#nav.not-home .btn {
  width: 100%;
}
.input-selector {
  position: fixed;
  bottom: 4em;
}
.input-selector select {
  width: 4.5em;
  height: 4.5em;
  padding: 0;
  margin: 0;
  margin-right: 1em;
  float: left;
  font-size: inherit;
  text-indent: -5000px;
  overflow: hidden;
  background: none;
  background-color: var(--instance-foreground-color);
  opacity: 1;
  transition: opacity var(--default-animation-timing);
  cursor: pointer;
  -webkit-mask: url(../img/settings-camera.svg) center / contain no-repeat;
  mask: url(../img/settings-camera.svg) center / contain no-repeat;
}
.input-selector select.microphone {
  -webkit-mask-image: url(../img/settings-microphone.svg);
  mask-image: url(../img/settings-microphone.svg);
}
.scrollable {
  overflow-x: hidden;
  overflow-y: scroll;
  border: 1px solid var(--instance-action-color);
  padding: 0px 20px;
}
.scrollable-tos {
  max-height: 150px;
}
body #app-container section .footer {
  position: absolute;
  left: 0;
  color: var(--instance-body-text-color);
  bottom: 0;
  padding-bottom: 2em;
  width: 100%;
  margin-bottom: 0;
}
.footer a,
.footer p {
  color: var(--instance-body-text-color);
  font-size: 1.1em;
  margin: 0;
}
.footer-content {
}
.footer-content > div {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: stretch;
}
.footer-content > div > div {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  margin-right: 2em;
  flex: 1;
}
.footer-content > div > div:last-child {
  margin-right: 0;
}
.footer-content a {
  margin: .15em 0;
  font-size: 1.1em;
}
.footer-content a > img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
#bg-image {
  position: fixed;
  z-index: 0;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center center;
}
.campaign-tag {
  width: 100%;
  height: 0%;
  padding-bottom: 56%;
  background-size: contain;
  background-position: center center;
  background-repeat: no-repeat;
  margin-bottom: 2em;
}
#ios-banner {
  position: fixed;
  display: none;
  top: 0;
  left: 0;
  background-color: var(--instance-foreground-color);
  height: 45px;
  z-index: 9;
  width: 100%;
  color: var(--instance-background-color);
  font-size: 15px;
  text-align: center;
  line-height: 45px;
  font-weight: 700;
}
#ios-banner > a {
  color: var(--instance-background-color);
}
#app-container {
  position: relative;
}
.show-ios-banner #ios-banner {
  display: block;
}
.show-ios-banner #nav-drawer {
  top: 45px;
}
.show-ios-banner #app-container {
  top: 45px;
}

/* static/css/icons.css */
.icon-arrow {
  background: var(--instance-foreground-color);
  -webkit-mask: url(../img/arrow.svg) center / contain no-repeat;
  mask: url(../img/arrow.svg) center / contain no-repeat;
}
.icon-upvote {
  background: var(--instance-foreground-color);
  -webkit-mask: url(../img/upvote.svg) center / contain no-repeat;
  mask: url(../img/upvote.svg) center / contain no-repeat;
}
.icon-close {
  background: var(--instance-foreground-color);
  -webkit-mask: url(../img/close.svg) center / contain no-repeat;
  mask: url(../img/close.svg) center / contain no-repeat;
}
.icon-close-circled {
  background: var(--instance-foreground-color);
  -webkit-mask: url(../img/close-circled.svg) center / contain no-repeat;
  mask: url(../img/close-circled.svg) center / contain no-repeat;
}
.icon-add {
  background: var(--instance-foreground-color);
  -webkit-mask: url(../img/btn-add.svg) center / contain no-repeat;
  mask: url(../img/btn-add.svg) center / contain no-repeat;
}
.icon-plus {
  background: var(--instance-foreground-color);
  -webkit-mask: url(../img/btn-plus.svg) center / contain no-repeat;
  mask: url(../img/btn-plus.svg) center / contain no-repeat;
}
.icon-filter {
  background: var(--instance-foreground-color);
  -webkit-mask: url(../img/filter.svg) center / contain no-repeat;
  mask: url(../img/filter.svg) center / contain no-repeat;
}
.icon-camera-roll {
  background: var(--instance-foreground-color);
  -webkit-mask: url(../img/camera-roll.svg) center / contain no-repeat;
  mask: url(../img/camera-roll.svg) center / contain no-repeat;
}
.icon-reply {
  background: #fff;
  -webkit-mask: url(../img/reply.svg) center / contain no-repeat;
  mask: url(../img/reply.svg) center / contain no-repeat;
}
.icon-menu {
  background: #fff;
  -webkit-mask: url(../img/menu.svg) center / contain no-repeat;
  mask: url(../img/menu.svg) center / contain no-repeat;
}
.icon-linkedin {
  background: #fff;
  -webkit-mask: url(../img/linkedin.svg) center / contain no-repeat;
  mask: url(../img/linkedin.svg) center / contain no-repeat;
}
.icon-captions {
  background: url(../img/closed-captions.svg) center / contain no-repeat;
}
.icon-criss-cross {
  background: url(../img/criss-cross.svg) center / contain no-repeat;
}
.icon-link {
  background: var(--instance-action-compliment-color);
  -webkit-mask: url(../img/share-link.svg) center / 50% no-repeat;
  mask: url(../img/share-link.svg) center / 50% no-repeat;
}
.icon-link-profile {
  background: #fff;
  -webkit-mask: url(../img/share-link.svg) center / contain no-repeat;
  mask: url(../img/share-link.svg) center / contain no-repeat;
}
.icon-instagram {
  background: var(--instance-action-compliment-color);
  -webkit-mask: url(../img/share-instagram.svg) center / 55% no-repeat;
  mask: url(../img/share-instagram.svg) center / 55% no-repeat;
}
.icon-instagram-profile {
  background: #fff;
  -webkit-mask: url(../img/share-instagram.svg) center / contain no-repeat;
  mask: url(../img/share-instagram.svg) center / contain no-repeat;
}
.icon-facebook {
  background: var(--instance-action-compliment-color);
  -webkit-mask: url(../img/share-facebook.svg) center / 30% no-repeat;
  mask: url(../img/share-facebook.svg) center / 30% no-repeat;
}
.icon-facebook-profile {
  background: #fff;
  -webkit-mask: url(../img/profile-facebook.svg) center / contain no-repeat;
  mask: url(../img/profile-facebook.svg) center / contain no-repeat;
}
.icon-twitter {
  background: var(--instance-action-compliment-color);
  -webkit-mask: url(../img/share-twitter.svg) center / 50% no-repeat;
  mask: url(../img/share-twitter.svg) center / 50% no-repeat;
}
.icon-twitter-profile {
  background: #fff;
  -webkit-mask: url(../img/share-twitter.svg) center / 70% no-repeat;
  mask: url(../img/share-twitter.svg) center / 70% no-repeat;
}
.icon-tiktok-profile {
  background: #fff;
  -webkit-mask: url(../img/profile-tiktok.svg) center / contain no-repeat;
  mask: url(../img/profile-tiktok.svg) center / contain no-repeat;
}
.icon-capsule-logo {
  background: #fff;
  -webkit-mask: url(../img/capsule-logo.svg) center / contain no-repeat;
  mask: url(../img/capsule-logo.svg) center / contain no-repeat;
}
.icon-selected-arrow {
  background: #fff;
  -webkit-mask: url(../img/selected.svg) center / contain no-repeat;
  mask: url(../img/selected.svg) center / contain no-repeat;
}
.icon-invite {
  background: var(--instance-foreground-color);
  -webkit-mask: url(../img/invite.svg) center / contain no-repeat;
  mask: url(../img/invite.svg) center / contain no-repeat;
}

/* static/css/input.css */
.check-input {
  padding: 1.1em 0;
  font-size: 1.6em;
}
.check-input + .check-input {
  padding: 0 0 1.1em 0;
}
[type=checkbox]:not(:checked),
[type=checkbox]:checked {
  position: absolute;
  left: -9999px;
}
[type=checkbox]:not(:checked) + label,
[type=checkbox]:checked + label {
  position: relative;
  padding: 0 6em 0 0;
  cursor: pointer;
  display: block;
  user-select: none;
  -webkit-user-select: none;
  margin-bottom: 1em;
  color: var(--instance-body-text-color);
  font-weight: 100;
  opacity: .5;
  transition: all .2s ease;
}
[type=checkbox]:checked + label {
  opacity: 1;
}
[type=checkbox]:not(:checked) + label:before,
[type=checkbox]:checked + label:before,
[type=checkbox]:not(:checked) + label:after,
[type=checkbox]:checked + label:after {
  content: "";
  position: absolute;
  height: 2em;
  transition: all .2s ease;
}
[type=checkbox]:not(:checked) + label:before,
[type=checkbox]:checked + label:before {
  right: 0;
  top: calc(50% - 1em);
  width: 4em;
  border: 2px solid var(--instance-input-background-color);
  background: var(--instance-input-background-color);
  border-radius: 500px;
  z-index: 0;
}
[type=checkbox]:not(:checked) + label:after,
[type=checkbox]:checked + label:after {
  right: 0;
  top: calc(50% - 1em);
  background-color: var(--instance-foreground-color);
  border-radius: 50%;
  width: 2em;
}
[type=checkbox]:not(:checked) + label:after {
  right: 2em;
}
[type=checkbox]:checked + label:before {
  background-color: var(--instance-foreground-color);
  border-color: var(--instance-foreground-color);
  opacity: .5;
}
select.error,
.user-input.error {
  background-image: url(../img/error.svg);
  background-position: 95% center;
  background-repeat: no-repeat;
}
[type=checkbox] + label.error {
  color: var(--instance-action-color) !important;
  opacity: 1;
}
[type=checkbox] + label.error:before {
  background: var(--instance-action-color) !important;
  border: 2px solid var(--instance-action-color) !important;
  opacity: .5;
}
[type=checkbox] + label.error:after {
  background: var(--instance-action-color) !important;
  border: 2px solid var(--instance-action-color) !important;
  opacity: 1;
}
.user-input,
select {
  background: var(--instance-input-background-color);
  padding: .8em 1em;
  color: var(--instance-input-text-color);
  border-radius: 500px;
  font-size: 1.6em;
  display: block;
  border: 0;
  outline: 0;
  margin-bottom: 1em;
  width: 100%;
  text-align: center;
  -moz-appearance: none;
  -webkit-appearance: none;
  appearance: none;
}
.user-input::placeholder {
  color: var(--instance-input-text-color);
  opacity: .5;
}
select {
  background-image: url(../img/dropdown.svg);
  background-position: 95% center;
  background-repeat: no-repeat;
  text-align-last: center;
}
select.hidden {
  display: none;
}
select:invalid {
  color: gray;
}

/* static/css/watch.css */
.grid {
  display: flex;
  flex-wrap: wrap;
}
.grid .item {
  background-size: cover;
  flex-shrink: 0;
  width: 18%;
  padding-bottom: 24%;
  margin: 0 2% 2% 0;
  cursor: pointer;
  position: relative;
  background: rgba(0, 0, 0, .1);
  overflow: hidden;
}
.grid .item:nth-child(n+29).empty {
  display: none;
}
.grid .item:nth-child(n+29).new {
  display: none;
}
.searching .grid .item.new {
  display: none;
}
.searching .grid .item:nth-child(30).empty {
  display: block;
}
.grid category-filter {
  display: block;
  position: fixed;
  bottom: 3vw;
  left: calc(48em + 3vw);
  z-index: 4;
  overflow: hidden;
}
.grid category-filter a {
  color: var(--instance-action-compliment-color);
  background-color: var(--instance-action-color);
  opacity: .5;
}
.grid category-filter li {
  padding: .2em 0;
}
.grid category-filter a:hover,
.grid category-filter li.selected a {
  color: var(--instance-action-compliment-color);
  opacity: 1;
}
.grid category-filter span[slot=trigger] {
  background-color: var(--instance-action-color);
  display: block;
  border-radius: 3vw;
}
.grid category-filter .icon-filter {
  width: 6vw;
  height: 6vw;
  display: block;
  -webkit-mask-size: 40%;
  mask-size: 40%;
  background-color: var(--instance-action-compliment-color);
}
.grid .item img {
  object-fit: fill;
  height: 510%;
  width: 102%;
  opacity: 0;
  transition: opacity .5s;
  position: absolute;
  top: -1%;
  left: -1%;
  transform: translate(0%, 0%);
  animation: animated-frames 1s steps(4, end) infinite;
}
@-webkit-keyframes animated-frames {
  0% {
    transform: translate(0%, 0%);
  }
  50% {
    transform: translate(0%, -80%);
  }
  to {
    transform: translate(0%, 0%);
  }
}
@-moz-keyframes animated-frames {
  0% {
    transform: translate(0%, 0%);
  }
  50% {
    transform: translate(0%, -80%);
  }
  to {
    transform: translate(0%, 0%);
  }
}
@-o-keyframes animated-frames {
  0% {
    transform: translate(0%, 0%);
  }
  50% {
    transform: translate(0%, -80%);
  }
  to {
    transform: translate(0%, 0%);
  }
}
@keyframes animated-frames {
  0% {
    transform: translate(0%, 0%);
  }
  50% {
    transform: translate(0%, -80%);
  }
  to {
    transform: translate(0%, 0%);
  }
}
.grid .item img.loaded {
  opacity: 1;
}
.grid .item.video:before {
  content: " ";
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background-image: linear-gradient(180deg, rgba(0, 0, 0, 0) 66.6%, rgba(0, 0, 0, .5));
  z-index: 1;
}
.grid .item.video:after {
  content: " ";
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background-color: #0003;
  opacity: 0;
  transition: all var(--default-animation-timing);
  z-index: 1;
}
.grid .item .name {
  display: none;
  position: absolute;
  font-size: 2.4em;
  text-transform: capitalize;
  font-weight: 600;
  right: 0;
  left: 0;
  bottom: 0;
  transition: all var(--default-animation-timing);
  opacity: 1;
  padding: .4em;
  margin: 0;
  color: #fff;
}
.grid .item:before {
  content: " ";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
}
.grid .item.new:after {
  content: " ";
  position: absolute;
  width: 40%;
  top: 0;
  right: 0;
  bottom: 0;
  left: calc(50% - 20%);
  background: var(--instance-action-color);
  -webkit-mask: url(../img/btn-add.svg) center / 100% no-repeat;
  mask: url(../img/btn-add.svg) center / 100% no-repeat;
  opacity: 1;
  transition: opacity var(--default-animation-timing);
}
.grid .item.empty:before,
.grid .item.new:before {
  background: var(--instance-input-background-color);
  opacity: .4;
}
.grid .invite-button {
  background-color: var(--instance-action-color);
  border-radius: 3vw;
  bottom: 3vw;
  cursor: pointer;
  left: calc(48em + (3vw + 6vw) + 15px);
  overflow: hidden;
  position: fixed;
  z-index: 3;
  height: 6vw;
  width: 6vw;
  display: block;
  mask-size: 40%;
  -webkit-mask-size: 40%;
}
.grid .invite-button.left-corner {
  left: calc(48em + 3vw);
}
.grid .icon-invite {
  height: 6vw;
  width: 6vw;
  background-color: var(--instance-action-compliment-color);
  display: block;
  mask-size: 40%;
  -webkit-mask-size: 40%;
}
#content.loading .grid .item.empty {
  animation: pulseFade .5s ease-in-out infinite alternate-reverse;
}
#content.loading .grid .item.empty:nth-child(1n+0) {
  animation-delay: .1s;
  animation-duration: .5s;
}
#content.loading .grid .item.empty:nth-child(4n+0) {
  animation-delay: .2s;
  animation-duration: .6s;
}
#content.loading .grid .item.empty:nth-child(6n+0) {
  animation-delay: var(--default-animation-timing);
  animation-duration: .4s;
}
#content.loading .grid .item.empty:nth-child(2n+0) {
  animation-delay: .4s;
  animation-duration: .5s;
}
#content.loading .grid .item.empty:nth-child(3n+0) {
  animation-delay: .5s;
  animation-duration: .6s;
}
#content.loading .grid .item.empty:nth-child(5n+0) {
  animation-delay: .6s;
  animation-duration: .4s;
}
.grid .item.empty:nth-child(1n+0) {
  opacity: .3;
}
.grid .item.empty:nth-child(4n+0) {
  opacity: .4;
}
.grid .item.empty:nth-child(6n+0) {
  opacity: .3;
}
.grid .item.empty:nth-child(2n+0) {
  opacity: .6;
}
.grid .item.empty:nth-child(3n+0) {
  opacity: .3;
}
.grid .item.empty:nth-child(5n+0) {
  opacity: .4;
}
@keyframes pulseFade {
  0% {
    opacity: .5;
  }
  to {
    opacity: .2;
  }
}
.grid .upvote-counter {
  line-height: 11px;
  padding-top: 1px;
}
@media screen and (min-width: 768px) {
  .grid .item.video:hover:after {
    opacity: 1;
  }
  .grid .item .name:hover {
    opacity: 0;
  }
  .grid .item.new:hover:after {
    opacity: var(--hover-opacity);
  }
  .grid .item {
    border-radius: 5% / calc(5% * 3/4);
  }
  .grid {
    padding-top: 2%;
  }
}
@media screen and (max-device-width: 768px), (max-width: 767px) {
  .grid category-filter {
    bottom: 2em;
    left: 2em;
  }
  .grid category-filter span[slot=trigger] {
    border-radius: 3em;
  }
  .grid category-filter .icon-filter {
    width: 6em;
    height: 6em;
  }
  .grid .invite-button {
    bottom: 2em;
    left: calc(2em + 60px + 10px);
    border-radius: 3em;
    width: 6em;
    height: 6em;
  }
  .grid .invite-button.left-corner {
    left: 2em;
  }
  .grid .invite-button .icon-invite {
    width: 6em;
    height: 6em;
  }
}

/* static/css/search.css */
#search-bar {
  position: fixed;
  bottom: 3vw;
  right: 3vw;
  background-color: var(--instance-action-color);
  border-radius: 3vw;
  width: 6vw;
  height: 6vw;
  overflow: hidden;
  z-index: 3;
  transition: width var(--default-animation-timing);
}
#search-bar.active {
  width: 24vw;
}
#search-bar > span {
  position: absolute;
  bottom: 0px;
  right: 0px;
  width: 6vw;
  height: 6vw;
  -webkit-mask: url(../img/search.svg) center / 40% no-repeat;
  mask: url(../img/search.svg) center / 40% no-repeat;
  background-color: var(--instance-action-compliment-color);
  cursor: pointer;
}
#search-bar.active > span {
  -webkit-mask: url(../img/close.svg) center / 40% no-repeat;
  mask: url(../img/close.svg) center / 40% no-repeat;
}
#search-bar > input {
  position: absolute;
  right: 6vw;
  top: 0;
  height: 6vw;
  width: 18vw;
  background: none;
  border: none;
  outline: none;
  color: var(--instance-action-compliment-color);
  font-size: 2vw;
  padding: 0vw 0vw 0vw 2.5vw;
}
#search-bar > input::placeholder {
  color: var(--instance-action-compliment-color);
  opacity: .5;
}
#search-error {
  display: block;
  position: fixed;
  width: calc(100% - 48em);
  height: 100vh;
  font-size: 100%;
  z-index: 1;
}
#search-error span {
  background-image: url(../img/error-browser.svg);
  background-size: 99%;
  background-position: center;
  background-repeat: no-repeat;
  width: 12vw;
  height: 12vw;
  display: block;
  margin: 20vw auto 0 auto;
}
#search-error p {
  text-align: center;
  font-size: 4.4em;
  margin: 1em 0;
  line-height: 1em;
}
@media screen and (max-device-width: 768px), (max-width: 767px) {
  #search-bar {
    bottom: 2em;
    right: 2em;
    border-radius: 3em;
    width: 6em;
    height: 6em;
    transition: none;
  }
  #search-bar.active {
    width: calc(100% - 4em);
  }
  #search-bar > span {
    width: 6em;
    height: 6em;
  }
  #search-bar > input {
    left: 1em;
    right: 3em;
    top: 0;
    height: 100%;
    width: calc(100% - 5em);
    font-size: 2em;
    padding-top: -1em;
    display: none;
  }
  #search-bar.active > input {
    display: block;
  }
  #search-error {
    width: 100%;
    height: 100%;
  }
  #search-error.active {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
  }
  #search-error span {
    width: 12em;
    height: 12em;
  }
  #search-error p {
    font-size: 3em;
  }
  .searching #nav-drawer {
    display: none;
  }
  .searching #search-bar {
    bottom: unset;
    top: 2em;
  }
  .show-ios-banner.searching #search-bar {
    top: 6.5em;
  }
  .searching #nav {
    height: 0;
    overflow: hidden;
    margin: 0;
  }
  .searching #content {
    transition: none;
    margin-left: unset;
    margin-top: 10em;
  }
  .searching #content .grid {
    margin: 0;
  }
}

/* static/css/video.css */
.video {
  display: block;
  background-color: var(--instance-background-color);
  position: relative;
}
.video.shaded:after {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  background-image: linear-gradient(180deg, rgba(0, 0, 0, 0) 25%, rgba(0, 0, 0, .5));
}
.controls {
  position: absolute;
  display: block;
  top: calc(85% - 5vh);
  left: calc(50% - 5vh);
  z-index: 2;
}
.video-container {
  display: none;
  height: 100%;
}
.video-container .btn-scroll {
  position: absolute;
  top: calc(50% - 4em);
  width: 4.4em;
  height: 8em;
  background-size: contain;
  background-repeat: no-repeat;
  z-index: 5;
  cursor: pointer;
}
.video-container .btn-scroll.prev,
.video-container .btn-scroll.next {
  opacity: 0;
  transition: opacity 200ms;
}
.video-container .btn-scroll.prev {
  background-image: url(../img/prev.svg);
  left: -10%;
  z-index: 10;
}
.video-container .btn-scroll.next {
  background-image: url(../img/next.svg);
  right: -10%;
  z-index: 10;
}
.video-container #preview-cam,
.video-container.watchviewer {
  object-fit: cover;
  cursor: pointer;
}
.video-container .video-container-sub {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0px;
  left: 0px;
}
.video.can-play:after {
  content: "";
  display: block;
  pointer-events: none;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background-image: url(../img/play.svg);
  background-size: 30%;
  background-position: center center;
  background-repeat: no-repeat;
  background-color: #0006;
  z-index: 1;
}
.video.live .btn-close {
  display: none;
}
.video-container > .video {
  border: none;
  outline: none;
  border-radius: 1vw;
  background-color: var(--instance-input-background-color);
  margin: 10vh auto;
  width: calc(80vh * 3/4 + 1px);
  height: calc(80vh + 1px);
  overflow: hidden;
  -webkit-mask-image: -webkit-radial-gradient(white, black);
}
.video-container > .video > video {
  height: 100%;
  width: 100%;
  position: relative;
  border-radius: 1vw;
  cursor: pointer;
}
.video-container.active {
  display: block;
  z-index: 4;
  height: 100%;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
}
.video-container .shade {
  display: none;
}
.video-container.active.watch-viewer .shade {
  background-color: var(--instance-background-color);
  opacity: .6;
  top: 0;
  left: 0;
  position: absolute;
  width: 100%;
  height: 100%;
  display: block;
  z-index: 4;
}
.video-container.watch-viewer .video {
  z-index: 5;
}
.video-preview-container {
  width: 100%;
  height: 100vh;
}
.video-preview-container > video {
  border: none;
  outline: none;
  border-radius: 1vw;
  background-color: #222;
  width: 100%;
  height: 100%;
  object-fit: contain;
  position: relative;
  cursor: pointer;
}
#content section.done .video-container.active .loader {
  top: calc(50% - 15em);
  left: calc(50% - 4em);
}
.video-container.cam-recorder .error {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 0;
  width: 100%;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-content: center;
}
.video-container.cam-recorder .error::before {
  content: " ";
  height: 10em;
  top: 0;
  margin-bottom: 2em;
  background: var(--instance-foreground-color);
  -webkit-mask: url(../img/error-video.svg) center / contain no-repeat;
  mask: url(../img/error-video.svg) center / contain no-repeat;
}
.video-container.cam-recorder .error.browser::before {
  -webkit-mask: url(../img/error-browser.svg) center / contain no-repeat;
  mask: url(../img/error-browser.svg) center / contain no-repeat;
}
.video-container.cam-recorder .error h1 {
  font-size: 6em;
}
.video-container.cam-recorder .error p {
  font-size: 2em;
  margin: 1em 4em;
}
.video.live video {
  object-fit: cover;
  width: 100%;
  height: 100%;
}
.video.live.flip video {
  transform: scaleX(-1);
}
video::cue {
  background-color: #00000073;
  color: #fff;
  line-height: 1.25em;
}
@media screen and (min-width: 768px) {
  .video-container:hover .btn-scroll.prev:hover,
  .video-container:hover .btn-scroll.next:hover {
    opacity: var(--hover-opacity);
  }
  .video-container:hover .btn-scroll.prev,
  .video-container:hover .btn-scroll.next {
    opacity: 1;
  }
}
@media screen and (max-device-width: 768px), (max-width: 767px) {
  .video-container.active {
    left: 0;
    padding: 0 20px;
    position: absolute;
    top: 0;
    display: block;
    z-index: 999;
  }
  .video-container.active.cam-recorder {
    display: none;
  }
  .video-container.active.cam-recorder.open {
    display: block;
  }
  .video-container > .video {
    width: calc(90vw);
    height: calc(90vw * 4/3 + 1px);
    border-radius: 3vw;
    margin: 2em auto;
  }
  .video-container > .video > video {
    border-radius: 3vw;
  }
  .video-container > .btn-scroll {
    display: none;
  }
  .video.live .btn-close {
    display: block;
  }
}
@media screen and (max-device-width: 500px), (max-width: 500px) {
  .video-container.cam-recorder .error {
    font-size: .8em;
  }
}

/* static/css/record.css */
.record-tooltip {
  position: absolute;
  display: table;
  top: -6.8em;
  left: 50%;
  right: 0;
  margin: auto;
  background: #fff;
  border-radius: 500em;
  color: #f66;
  white-space: nowrap;
  font-weight: 600;
  font-size: 1.4em;
  text-align: center;
  transform: translateX(-50%);
  animation: float 1.8s ease-in-out infinite;
  opacity: 0;
  transition: opacity 1s;
  transition-delay: 1s;
}
.record-tooltip span {
  padding: 1em 2em;
  display: block;
}
.record-tooltip.show {
  opacity: 1;
}
.record-tooltip:after {
  content: " ";
  background: url(../img/tooltip.svg) no-repeat top center;
  left: 50%;
  margin: auto;
  height: 1.8em;
  width: 3.3em;
  position: absolute;
  bottom: -1.7em;
  transform: translateX(-50%);
}
@keyframes float {
  0% {
    transform: translate(-50%, 0);
  }
  50% {
    transform: translate(-50%, 15px);
  }
  to {
    transform: translate(-50%, 0);
  }
}
.record-restart {
  height: 4em;
  width: 4em;
  background: url(../img/restart.svg) no-repeat;
  background-size: contain;
  cursor: pointer;
  top: calc(50% - 2em);
  left: -9em;
  position: absolute;
  opacity: 0;
  transition: opacity var(--default-animation-timing);
}
.record-restart.show {
  opacity: 1;
}
.btn-record,
.btn-stop {
  height: 10vh;
  width: 10vh;
  cursor: pointer;
  transition: all .2s;
  background-size: 100%;
}
.btn-record {
  background-image: url(../img/shutter.svg);
  transform: scale(.9);
}
button#open-camera {
  display: none;
}
#btn-refresh-question {
  color: var(--instance-action-color);
  font-size: 2em;
  vertical-align: middle;
  font-weight: 100;
  cursor: pointer;
  transition: all var(--default-animation-timing);
  user-select: none;
  -webkit-user-select: none;
  display: flex;
  overflow: hidden;
}
#btn-refresh-question span {
  height: 1em;
  width: 1em;
  margin-right: .5em;
  display: block;
  background: var(--instance-action-color);
  -webkit-mask: url(../img/refresh.svg) center / contain no-repeat;
  mask: url(../img/refresh.svg) center / contain no-repeat;
}
.input-flip {
  position: absolute;
  right: -100%;
  top: 25%;
  width: 50%;
  height: 50%;
  background-image: url(../img/flip.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
}
.cam-panel {
  align-items: center;
  display: flex;
  flex-direction: column;
  height: 100vh;
  justify-content: center;
}
.cam-panel capsule-recorder {
  height: 100%;
  width: 100%;
}
.cam-panel-title {
  font-size: 60px;
  font-weight: 700;
  line-height: 110%;
  margin-top: 20px;
}
.cam-panel-description {
  font-size: 16px;
  font-weight: 400;
  line-height: 22px;
}
.cam-panel-bottom {
  display: flex;
  bottom: 30px;
  font-size: 12px;
  left: 30px;
  position: fixed;
  z-index: 999;
}
.cam-panel-terms {
  display: flex;
  font-weight: 600;
  line-height: 15px;
  margin-left: 30px;
  flex-direction: column;
}
.cam-panel-capsule-logo path {
  fill: var(--instance-body-text-color);
  opacity: .3;
}
.cam-panel-logo {
  max-width: 100%;
}
.desktop-hide {
  display: none;
}
.mobile-hide {
  display: flex;
}
@media screen and (max-device-width: 768px), (max-width: 767px) {
  .desktop-hide {
    display: flex;
  }
  .mobile-hide {
    display: none;
  }
  .cam-panel {
    align-items: center;
    display: flex;
    flex-direction: column;
    height: 100vh;
    height: -webkit-fill-available;
    justify-content: center;
    margin: -80px 16px 0;
  }
  .cam-panel.reply {
    height: auto;
    margin: 0;
  }
  .cam-panel capsule-recorder {
    height: auto;
    width: auto;
  }
  .cam-panel-title {
    font-size: 30px;
    font-weight: 700;
    line-height: 110%;
    margin-top: 20px;
    text-align: center;
  }
  .cam-panel-description {
    font-size: 14px;
    font-weight: 400;
    line-height: 19px;
    text-align: center;
  }
}

/* static/css/categorySelector.css */
.category-selector.landing {
  display: block;
  margin-top: 2em;
}
.category-selector ul {
  list-style: none;
  padding: 0;
  font-size: 2em;
}
.category-selector ul li {
  font-size: 1em;
  font-weight: 100;
  padding-bottom: .3em;
}
.category-selector li a {
  transition: color .2s ease;
}
category-filter li.selected a,
.category-selector ul li.selected a {
  color: var(--instance-foreground-color);
  margin-left: -.8em;
  padding-left: .8em;
}
category-filter li.selected span.selected-arrow {
  background-color: var(--instance-action-compliment-color);
  background-position: center left;
  background-repeat: no-repeat;
  display: inline-block;
  margin-left: -.8em;
  height: .6em;
  width: .6em;
}
.category-selector h1 {
  margin-bottom: .5em;
}
.category-selector h2 {
  font-size: 2.5em;
}
@media screen and (min-width: 768px) {
  .category-selector ul li:hover a {
    color: var(--instance-foreground-color);
  }
}

/* static/css/mediaQueries.css */
@media screen and (min-width: 768px) and (max-width: 1440px) {
  html {
    font-size: 80%;
  }
}
@media screen and (min-width: 768px) {
  #close:hover {
    opacity: var(--hover-opacity);
  }
  a:hover:not(.btn) {
    color: var(--instance-foreground-color);
  }
  .btn:not(.disabled):hover {
    opacity: var(--hover-opacity);
  }
  .btn-close:hover {
    opacity: var(--hover-opacity);
  }
  .input-selector select:hover {
    opacity: var(--hover-opacity);
  }
  .btn-record:hover {
    transform: scale(1);
  }
  #btn-refresh-question:hover {
    opacity: var(--hover-opacity);
  }
  #subnav {
    display: none !important;
  }
  #invite {
    display: block;
  }
  #sub-invite {
    display: none;
  }
}
@media screen and (max-device-width: 768px), (max-width: 767px) {
  html,
  body {
    overflow-x: unset;
  }
  h1 {
    font-size: 6em;
  }
  section > label.btn {
    margin: 0;
  }
  #capsule-logo {
    right: 0;
    top: 1.6em;
    height: 2.8em;
  }
  #nav > section > div {
    margin-bottom: 2em;
  }
  #nav > #subnav {
    padding-top: 2em;
    position: fixed;
    top: 6em;
    bottom: -6em;
    background: var(--instance-background-color);
    right: 0;
    left: 0;
    z-index: 999;
    padding-left: 2.2em;
    display: none;
  }
  #nav > #subnav a.home {
    font-size: 4em;
    margin-bottom: .5em;
    display: inline-block;
  }
  #nav > #subnav h3.topics {
    display: none;
  }
  #nav > #subnav ul {
    font-size: 2.6em;
  }
  #nav > #subnav.open {
    display: block;
  }
  #nav-drawer {
    display: block;
  }
  #nav-drawer.inactive {
    display: none;
  }
  #nav {
    margin: 8em 2em 2em 2em;
    float: none;
    position: relative;
    max-width: 100%;
    height: auto;
  }
  .grid {
    margin-top: 3em;
  }
  #content .loader {
    position: relative;
    top: 4em;
    left: calc(50% - 4em);
  }
  .landing .category-selector {
    display: none;
  }
  .grid .item {
    background-size: cover;
    width: 50vw;
    height: calc(50vw * 4/3);
    margin: 0;
    cursor: pointer;
    position: relative;
  }
  body:after {
    display: none;
  }
  #content {
    margin: 0;
    transition: none;
  }
  div#close {
    display: none;
  }
  button#open-camera {
    display: block;
    margin-top: 2em;
  }
  #btn-refresh-question {
    margin-bottom: 2em;
  }
  #btn-finished-preview {
    position: fixed;
    z-index: 20;
    bottom: 2em;
    display: block;
    left: 5vw;
    width: 90vw !important;
  }
  .record-tooltip {
    display: none;
  }
  .input-selector {
    position: fixed;
    top: 1em;
    right: 2em;
    z-index: 100;
    bottom: unset;
  }
  .input-selector > p {
    display: none;
  }
  body #nav .footer {
    left: 2em;
    width: calc(100% - 4em);
    padding-bottom: 3em;
    display: none;
  }
  body #nav #subnav .footer {
    display: block;
    padding: 0 2em 4em 2em;
  }
  #invite {
    display: none;
  }
  #sub-invite {
    display: block;
  }
}
#ios-msg {
  display: none !important;
}
@supports (-webkit-touch-callout: none) {
  input[type=file]::-webkit-file-upload-button {
    display: none;
  }
  label.btn {
    text-align: center;
    background-color: var(--instance-action-color) !important;
    font-size: 1.7em;
    margin: 0 1em;
    width: 90vw;
  }
}

/* static/css/videoUI.css */
.video .corner {
  position: absolute;
  display: flex;
  flex-direction: column;
  max-width: 75%;
}
.grid .video .corner {
  color: #fff;
  z-index: 2;
}
.grid .video .corner up-vote.pill {
  background-color: #000;
  color: #fff;
}
.grid .video .corner up-vote.active.pill,
.grid .video .corner up-vote.recently-upvoted.pill {
  background-color: #fff;
  color: #000;
}
.grid .video .corner .pill {
  color: #000;
  background-color: #fff;
  border-radius: 10vw;
  padding: .4em .8em;
  font-weight: 600;
}
.watch-viewer .video .corner {
  z-index: 9;
}
.video .corner.upper-left {
  top: calc(5% * 3/4);
  left: 5%;
}
.video .corner.upper-right {
  top: calc(5% * 3/4);
  right: 5%;
  align-items: flex-end;
}
.video .corner.lower-left {
  bottom: calc(5% * 3/4);
  left: 5%;
}
.video .corner.lower-right {
  bottom: calc(5% * 3/4);
  right: 5%;
  align-items: flex-end;
}
.video .corner.upper-right .icon-close {
  height: 3.2em;
  width: 3.2em;
  background-color: #fff;
}
up-vote + .video-reply {
  margin-top: 2em;
}
.prev-next {
  width: calc(80vh * 3/4);
  left: calc((100% - (80vh * 3/4)) / 2);
  height: 10vh;
  top: 45vh;
  position: absolute;
}
.watch-viewer .video up-vote {
  width: 6vh;
  height: 9vh;
  background-color: #000;
  color: #fff;
  border-radius: 3vh;
  font-size: 2em;
}
.video up-vote.active,
.video up-vote.recently-upvoted {
  color: #000;
  background-color: #fff;
}
.grid .video .icon-upvote {
  width: 1em;
  height: 1em;
  margin-right: .5em;
  background-color: #fff;
}
.watch-viewer .video .icon-upvote {
  width: 30%;
  height: 30%;
  background-color: #fff;
}
.video up-vote.active .icon-upvote,
.video up-vote.recently-upvoted .icon-upvote {
  background-color: #000;
}
.delete-prompt {
  position: absolute;
  width: 100%;
  height: 100vh;
  top: 0;
  left: 0;
  z-index: 99;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
.delete-prompt > div {
  flex: 0 1 auto;
  width: 90%;
  background-color: var(--instance-input-background-color);
  border-radius: 1vw;
  max-width: 540px;
}
.delete-prompt > div > p {
  text-align: center;
}
.delete-prompt > div > div {
  display: flex;
  flex-direction: row;
  justify-content: space-evenly;
  align-items: stretch;
}
.delete-prompt > div > div > button {
  width: 45%;
  flex: 0 1 auto;
  margin: 1em 0;
}
@media screen and (min-width: 768px) {
  .video-reply div.reply-circle:nth-child(n+10) {
    display: none;
  }
}
@media screen and (max-device-width: 768px), (max-width: 767px) {
  .video-reply div.reply-circle:nth-child(n+7) {
    display: none;
  }
  .delete-prompt > div {
    border-radius: 3vw !important;
  }
  .delete-prompt > div > div {
    flex-direction: column !important;
    justify-content: center !important;
    align-items: center !important;
  }
  .delete-prompt > div > div > button {
    width: 90% !important;
  }
  .delete-prompt > div > div > button:nth-child(2) {
    margin-top: 0 !important;
  }
  .video-context-menu {
    border-radius: 3vw !important;
    padding: 3vw !important;
  }
}
.video-reply {
  height: 6vh;
  display: flex;
  flex-direction: row-reverse;
}
.video-reply .reply-circle {
  width: 6vh;
  height: 6vh;
  display: block;
  flex: 0 0 auto;
  position: relative;
  margin-left: -1vh;
  transition: transform .4s;
}
.video-reply .reply-circle.reply-button {
  z-index: 1;
  margin-left: 1vh;
  border: 0;
  overflow: hidden;
  transition: width var(--default-animation-timing);
}
.video-reply .reply-circle.reply-button .icon-reply-label {
  opacity: 0;
  margin-left: 0;
  width: 0;
  color: #fff;
  font-size: 2vh;
  transition: opacity var(--default-animation-timing);
}
.video-reply .reply-circle.reply-button a {
  border: 0;
}
.video-reply .reply-circle:nth-child(1) {
  display: flex;
}
.video-reply .reply-circle .icon-reply {
  mask-size: 4vh;
  -webkit-mask-size: 4vh;
  -webkit-mask-position: 1vh center;
}
.video-reply .reply-circle a {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  top: 0;
  left: 0;
  position: absolute;
  border: .3vh solid #fff;
  border-radius: 1000px;
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  background-color: #000;
  box-sizing: border-box;
}
.video-reply .reply-circle a > div {
  width: 100%;
  max-width: 6vh;
  height: 100%;
}
.video-reply .reply-count {
  position: absolute;
  bottom: 7.5vh;
  left: -1vh;
  font-size: 2em;
}
.video-reply .reply-prompt {
  height: 6vh;
  font-size: 2em;
  display: flex;
  flex-direction: column;
  justify-content: center;
  margin-left: 2vh;
}
.video-context-menu-trigger {
  width: 1vh;
  height: 3vh;
  cursor: pointer;
}
.video-context-menu-closer {
  left: 0;
  bottom: 0;
  position: absolute;
  width: 100%;
  height: 100%;
  height: 100%;
  z-index: 100;
}
.video-context-menu {
  left: 3vh;
  bottom: 3vh;
  position: absolute;
  z-index: 101;
  cursor: pointer;
  background-color: #000;
  font-size: 1.6em;
  color: #888;
  border-radius: 1vw;
  padding: 1vw;
  -webkit-tap-highlight-color: transparent;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}
.video-context-menu .icon-captions,
.video-context-menu .icon-criss-cross {
  position: relative;
  display: inline-block;
  width: 1em;
  height: 1em;
  mask-size: 100%;
  -webkit-mask-size: 100%;
  margin-right: 10px;
}
.video-context-menu ul li {
  user-select: none;
  cursor: pointer;
  line-height: 1.3em;
  display: flex;
  transition: color .2s ease;
}
.video-context-menu ul li:not(:last-child) {
  margin-bottom: .5em;
}
.video .icon-close {
  cursor: pointer;
}
.video .details.reply {
  display: flex;
  flex-direction: row;
  align-items: center;
}
.video .details h3 {
  color: #fff;
  margin-bottom: .2em;
}
.video .details h3 span {
  color: #fff;
}
.video .details .date-created {
  display: block;
  font-weight: normal;
  font-size: 1.6em;
  color: #fff;
}
.video .details .back-btn {
  background-image: url(../img/back.svg);
  height: 3.2em;
  width: 3.2em;
  margin-right: 1.5em;
  background-size: 100%;
  z-index: 1;
  cursor: pointer;
  transition: opacity var(--default-animation-timing);
  background-repeat: no-repeat;
}
.video h3.has-icon {
  margin-bottom: .4em;
}
.video span.icon {
  display: inline-block;
  width: 2em;
  height: 1.3em;
  vertical-align: sub;
  opacity: .6;
  transition: opacity var(--default-animation-timing);
}
.video span.icon:hover {
  opacity: 1;
}
.video .control-shade-top {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 18%;
  z-index: 2;
  background-image: linear-gradient(0deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, .2) 50%, rgba(0, 0, 0, .6) 100%);
}
.video .control-shade-bottom {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 18%;
  z-index: 2;
  background-image: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, .2) 50%, rgba(0, 0, 0, .6) 100%);
}
@media screen and (max-device-width: 768px), (max-width: 767px) {
  .grid .video .corner {
    font-size: 1.3em;
  }
}
@media screen and (min-width: 768px) and (max-width: 849px) {
  .grid .video .corner {
    font-size: .8em;
  }
}
@media screen and (min-width: 850px) and (max-width: 999px) {
  .grid .video .corner {
    font-size: 1em;
  }
}
@media screen and (min-width: 1000px) {
  .grid .video .corner {
    font-size: 1.25em;
  }
}
@media (hover: hover) {
  .video-context-menu ul li:hover {
    color: #fff;
  }
  .video-reply .reply-circle.reply-button:hover {
    width: 13vh;
  }
  .video-reply .reply-circle.reply-button:hover .icon-reply-label {
    opacity: 1;
  }
  .video-reply .reply-circle:hover {
    transform: scale(1.1);
  }
}
@media (hover: hover) {
  .video:not(:hover) .interact.upper-left,
  .video:not(:hover) .interact.upper-right,
  .video:not(:hover) .interact.control-shade-top {
    top: -10em;
    opacity: 0;
    transition: opacity 200ms 500ms, top 500ms 500ms, bottom 500ms 500ms;
  }
  .video:not(:hover) .interact.lower-left,
  .video:not(:hover) .interact.lower-right,
  .video:not(:hover) .interact.control-shade-bottom {
    bottom: -10em;
    opacity: 0;
    transition: opacity 200ms 500ms, top 500ms 500ms, bottom 500ms 500ms;
  }
  .interact {
    opacity: 1;
    transition: opacity 300ms 200ms, top 300ms 0ms, bottom 300ms 0ms;
  }
}
@media (hover: none) {
  .video.playing .interact.upper-left,
  .video.playing .interact.upper-right,
  .video.playing .interact.control-shade-top {
    top: -10em;
    opacity: 0;
    transition: opacity 200ms 500ms, top 500ms 500ms, bottom 500ms 500ms;
  }
  .video.playing .interact.lower-left,
  .video.playing .interact.lower-right,
  .video.playing .interact.control-shade-bottom {
    bottom: -10em;
    opacity: 0;
    transition: opacity 200ms 500ms, top 500ms 500ms, bottom 500ms 500ms;
  }
  .interact {
    opacity: 1;
    transition: opacity 300ms 200ms, top 300ms 0ms, bottom 300ms 0ms;
  }
}

/* static/css/inviteForm.css */
.invite-container .invite-form,
.invite-form__notice {
  width: 500px;
  background-color: #fafafa;
  border-radius: 20px;
  display: flex;
  flex-direction: column;
  padding: 30px;
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  text-align: left;
  z-index: 102;
}
.invite-form .invite-form__header {
  display: flex;
  justify-content: space-between;
  margin-bottom: 30px;
  position: relative;
}
.invite-form .invite-form__body {
  display: flex;
  justify-content: space-between;
  position: relative;
}
.invite-form .invite-form__body .send-invite.inputted {
  cursor: pointer;
  margin-top: 30px;
  margin-bottom: 17px;
  opacity: 1;
}
.invite-form .invite-form__body .send-invite.active {
  cursor: pointer;
  opacity: 1;
}
.invite-form .invite-form__footer {
  border-top: 2px solid #DDDDDD;
  margin: 0 -30px 0 -30px;
  padding: 30px 30px 0 30px;
}
.invite-form .invite-form__header .icon-close-circled {
  height: 20px;
  width: 20px;
  background: #000000;
  cursor: pointer;
}
.invite-container .invite-form .invite-label {
  color: #000;
  font-size: 32px;
  font-weight: bold;
  letter-spacing: -.03em;
  line-height: 40px;
  margin: 0;
  padding: 0;
}
#email-input {
  border: 0;
  background-color: #fff;
  border: 2px solid #DDDDDD;
  border-radius: 10000px;
  box-shadow: 0px 1px 2px rgba(0, 0, 0, .1);
  color: #000;
  flex: auto;
  padding: 14px 20px;
}
#email-input:focus {
  outline: 0;
}
#email-input::placeholder {
  color: #b0b0b0;
  opacity: .7;
}
#email-input.inputted {
  margin-top: 8px;
  padding-left: 8px;
  text-align: left;
}
.invite-form .invite-form__email-container {
  padding-top: 15px;
  margin-bottom: 30px;
}
.invite-form .invite-form__email-container.inputs {
  margin-bottom: 30px;
}
.invite-form__email-container .email-item {
  border-radius: 10000px;
  background-color: #c6c6c6;
  color: #313131;
  font-size: 16px;
  line-height: 17px;
  padding: 10px 15px;
  margin: 5px 0;
  text-align: left;
  width: fit-content;
}
.invite-form__email-container .email-item .icon-close {
  height: 8px;
  width: 8px;
  display: inline-block;
  margin-left: 10px;
  background-color: #313131;
  cursor: pointer;
}
.invite-form__footer .btn-container {
  display: flex;
  justify-content: space-between;
}
.invite-form__footer .btn-container .link {
  border: 0;
  background-color: #fff;
  border: 2px solid #DDDDDD;
  border-radius: 10000px;
  box-shadow: 0px 1px 2px rgba(0, 0, 0, .1);
  color: #000;
  flex: auto;
  padding: 14px 20px;
  position: relative;
}
.invite-form .invite-form__footer .btn-container .icon-link {
  background-color: #000;
  display: inline-block;
  position: absolute;
  left: 20px;
  top: 14px;
  vertical-align: top;
  height: 20px;
  width: 20px;
}
.invite-form .invite-form__footer .btn-container input {
  border: 0;
  background-color: #fff;
  color: #000;
  padding-left: calc(20px + 10px);
  text-overflow: ellipsis;
}
.invite-form .invite-form__footer .btn-container input:focus {
  outline: 0;
}
#subnav.open.invite-active {
  overflow: scroll;
}
#sub-invite .invite-btn {
  width: 50%;
}
#sub-invite .invite-form {
  width: 100%;
  margin: 0;
  margin-top: 29px;
  padding: 0;
  padding-right: 4em;
  position: relative;
  top: 0;
  right: 0;
  z-index: 200;
}
.footer.invite-active {
  position: relative !important;
  margin-top: 42px;
}
.invite-form__notice {
  padding: 40px;
  text-align: center;
  width: auto;
}
.invite-form__notice .icon-close-circled {
  height: 20px;
  width: 20px;
  background: #000000;
  cursor: pointer;
  position: absolute;
  top: 20px;
  right: 20px;
}
.invite-form__notice--header {
  color: #000;
  font-size: 32px;
  font-weight: bold;
  line-height: 125%;
  letter-spacing: -.01em;
  max-width: 317px;
  margin: 0 auto 10px;
  padding: 0;
}
.invite-form__notice--tagline {
  color: #717171 !important;
  max-width: 317px;
  margin: 0 auto;
  opacity: .6;
  padding: 0;
}
.invite-text {
  color: #fff;
  font-size: 16px;
  font-style: normal;
  font-weight: normal;
  line-height: 18px;
}
.invite-btn {
  cursor: pointer;
  background-color: #000;
  border-radius: 10000px;
  margin-left: 15px;
  padding: 14px 20px;
}
.send-invite,
.copy-btn {
  align-self: center;
}
.overlay {
  height: 100vh;
  width: 100vw;
  background: rgba(0, 0, 0, .5);
  position: fixed;
  top: 0;
  z-index: 101;
}
.hint-text {
  color: #b0b0b0;
  font-size: 16px;
  font-style: normal;
  font-weight: normal;
  line-height: 18px;
}
@media screen and (max-device-width: 768px), (max-width: 767px) {
  .invite-container .invite-form,
  .invite-form__notice {
    border-radius: 0;
    padding: 16px 15px;
    width: 100%;
  }
  .invite-container .invite-form .invite-label {
    font-size: 32px;
    line-height: 125%;
    letter-spacing: -.01em;
  }
  .invite-form .invite-form__header {
    margin-bottom: 24px;
  }
  .invite-form .invite-form__body,
  .invite-form .invite-form__footer .btn-container {
    flex-direction: column;
  }
  .invite-form .invite-form__body .send-invite,
  .invite-form .invite-form__footer .copy-btn {
    margin-bottom: 24px;
  }
  .invite-form .invite-form__email-container.inputs {
    padding-top: 16px;
    margin-bottom: 0;
  }
  .invite-form .invite-form__email-container {
    margin-bottom: 0;
  }
  .invite-form .invite-form__footer {
    margin: 0;
    padding: 0;
  }
  .invite-form .invite-form__footer .btn-container {
    margin-top: 16px;
  }
  .invite-form__notice {
    text-align: left;
  }
  .invite-form__notice--header {
    margin: 0 auto 0 0;
  }
  .invite-form__notice--tagline {
    margin: 8px 0 0;
  }
  .invite-btn {
    margin: 0;
    margin-top: 16px;
    text-align: center;
    width: 100%;
  }
  .invite-text {
    font-size: 16px;
    line-height: 147%;
  }
}

/* static/css/subscriptionModal.css */
#app-container.inactive {
  filter: blur(5px);
}
.subscription-container {
  height: 100vh;
  width: 100vw;
  background: transparent;
  position: fixed;
  top: 0;
  z-index: 100;
}
.subscription-container .background-overlay {
  height: 100vh;
  width: 100vw;
  background: black;
  opacity: .3;
}
.subscription-container .modal {
  max-width: 591px;
  max-height: 635px;
  background-color: #000;
  border-radius: 20px;
  padding: 79px 69px;
  text-align: center;
  z-index: 200;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.subscription-container .icon-capsule-logo {
  height: 37px;
  width: 111px;
  margin: 0 auto;
}
.subscription-container .modal__body {
  margin: 69px auto 0;
}
.subscription-container .modal--heading {
  color: #fff;
  font-size: 65px;
  letter-spacing: -.03em;
  line-height: 100%;
  padding: 0;
  margin: 0;
  margin-bottom: 69px;
}
.subscription-container .modal--tagline {
  color: #ccc;
  font-size: 22px;
  letter-spacing: -.01em;
  line-height: 130%;
  padding: 0;
  margin: 0;
}
.subscription-container .btn {
  background-color: #f66;
  color: #fff;
  font-size: 16px;
  line-height: 19px;
}
@media screen and (max-device-width: 768px), (max-width: 767px) {
  .subscription-container .modal {
    width: 90%;
    max-width: 360px;
    max-height: 400px;
    padding: 50px 16px;
  }
  .subscription-container .modal--heading {
    font-size: 48px;
    margin: 54px auto;
  }
  .subscription-container .modal--tagline {
    font-size: 16px;
  }
}

/* static/styles.css */
