/* O CSS da marcação que o `frontend.js` cria em tempo de execução, para a ilha
   da vitrine (`co-tasks#89`, fase 10).

   **Existe pela mesma razão estrutural que a `student_runtime.css`.** O scanner
   do Tailwind lê `templates/` e `src/` (as linhas `@source` de
   `styles/tailwind.css`). Destas classes, 371 das 445 que o pacote escreve não
   estão em nenhum dos dois: quem as escreve é o `frontend.js` commitado, em
   tempo de execução, e esse pacote é contrato com o navegador de ~15.000
   escolas e não se reconstrói aqui.

   São três blocos, extraídos da `frontend.css` (1.347.018 B) regra a regra.
   **E são três e não quatro**: o modal do Bootstrap, que esta ilha também
   serve, já está coberto pela seção "Modal compatibility" do
   `customer_tailwind.css` — 14 regras mais 5 do `.close` —, escrita quando o
   painel entrou na ilha. Verificado antes de extrair: a família inteira do
   modal na folha legada são 214 regras e 23.481 B, e 90 delas são a tabela
   `.change-plan-modal` do painel e as provas do aluno (`.student_exams-index`),
   que uma página de vitrine nunca alcança.

   1. **O tooltip do Bootstrap** (33 regras). O pacote corre
      `$('[data-toggle="tooltip"]').tooltip()` no `ready`, e o plugin cria
      `.tooltip`, `.tooltip-inner` e `.tooltip-arrow` fora de qualquer
      template. Os gatilhos estão em `storefront/sections/content_line.html`,
      nos cadeados de aula livre e paga do currículo.

   2. **O carrossel slick** (45 regras). O pacote corre
      `$(".brand-menu-pages").slick({...})` no `ready`, e isso é o menu de
      páginas da escola — está em **todas** as páginas de vitrine, porque vem
      do `brands/header.html`. O `slick-slide` é a única classe da família que
      aparece em template; as outras 44 são criadas pelo plugin.

   3. **A pele do Video.js v4** (77 regras). Na vitrine só o **áudio** passa
      por ela: o `embed.rs` emite `<audio class="video-js vjs-default-skin">`
      para áudio e `<iframe>` para tudo o resto (Vimeo, YouTube, Office,
      pdf.js) — e o vídeo de apresentação do curso, enviado por upload, sai da
      `storefront/video.rs` com a mesma classe. É a mesma extração que a
      `student_runtime.css` tem, da mesma origem, e está duplicada de propósito
      porque nenhuma página carrega as duas.

      **São 78 regras aqui e 90 lá, e a diferença é da origem, não da cópia.**
      As doze a mais são o menu de velocidade (`.vjs-playback-rate*`) e as sete
      `.vjs-default-skin …` do menu: a `frontend.css`, que é a folha legada
      desta superfície, não as tem — medido, zero — e as nove `.video-js` daqui
      são as nove dela. A pele do Video.js nunca esteve na vitrine, em nenhum
      dos dois layouts, e portanto o menu de velocidade do reprodutor da escola
      está sem estilo desde o Rails. Trazê-la é mudança visual, e é PR própria.
      A guarda de inclusão em `tests/artefatos_commitados.rs` confere a cópia
      do aluno contra a `student.css`; esta não tem guarda equivalente porque a
      origem dela é a `frontend.css`, que o `confere_as_classes` já cobre pelo
      outro lado — nenhuma classe servida fica sem regra sem alguém dizer
      porquê.

   O que prende isto não é a extração e sim a guarda em
   `tests/artefatos_commitados.rs`, que compara pares (seletor, declarações)
   com a folha legada — e não só os nomes das classes, porque a primeira versão
   dela, na fase 9, ficava verde com uma regra apagada.

   Esta folha é fonte, como as outras de `static/assets`: edita-se à mão e
   redigere-se com `coursifyme assets redigest`. */

/* ---- tooltip ---- */
.tooltip {
  position: absolute;
  z-index: 1070;
  display: block;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-style: normal;
  font-weight: 400;
  line-height: 1.428571429;
  line-break: auto;
  text-align: left;
  text-align: start;
  text-decoration: none;
  text-shadow: none;
  text-transform: none;
  letter-spacing: normal;
  word-break: normal;
  word-spacing: normal;
  word-wrap: normal;
  white-space: normal;
  font-size: 12px;
  filter: alpha(opacity=0);
  opacity: 0;
}
.tooltip.in {
  filter: alpha(opacity=90);
  opacity: 0.9;
}
.tooltip.top {
  padding: 5px 0;
  margin-top: -3px;
}
.tooltip.right {
  padding: 0 5px;
  margin-left: 3px;
}
.tooltip.bottom {
  padding: 5px 0;
  margin-top: 3px;
}
.tooltip.left {
  padding: 0 5px;
  margin-left: -3px;
}
.tooltip.top .tooltip-arrow {
  bottom: 0;
  left: 50%;
  margin-left: -5px;
  border-width: 5px 5px 0;
  border-top-color: #000;
}
.tooltip.top-left .tooltip-arrow {
  right: 5px;
  bottom: 0;
  margin-bottom: -5px;
  border-width: 5px 5px 0;
  border-top-color: #000;
}
.tooltip.top-right .tooltip-arrow {
  bottom: 0;
  left: 5px;
  margin-bottom: -5px;
  border-width: 5px 5px 0;
  border-top-color: #000;
}
.tooltip.right .tooltip-arrow {
  top: 50%;
  left: 0;
  margin-top: -5px;
  border-width: 5px 5px 5px 0;
  border-right-color: #000;
}
.tooltip.left .tooltip-arrow {
  top: 50%;
  right: 0;
  margin-top: -5px;
  border-width: 5px 0 5px 5px;
  border-left-color: #000;
}
.tooltip.bottom .tooltip-arrow {
  top: 0;
  left: 50%;
  margin-left: -5px;
  border-width: 0 5px 5px;
  border-bottom-color: #000;
}
.tooltip.bottom-left .tooltip-arrow {
  top: 0;
  right: 5px;
  margin-top: -5px;
  border-width: 0 5px 5px;
  border-bottom-color: #000;
}
.tooltip.bottom-right .tooltip-arrow {
  top: 0;
  left: 5px;
  margin-top: -5px;
  border-width: 0 5px 5px;
  border-bottom-color: #000;
}
.tooltip-inner {
  max-width: 200px;
  padding: 3px 8px;
  color: #fff;
  text-align: center;
  background-color: #000;
  border-radius: 4px;
}
.tooltip-arrow {
  position: absolute;
  width: 0;
  height: 0;
  border-color: transparent;
  border-style: solid;
}
.tooltip {
  min-width: 90px;
}
.tooltip .tooltip-inner {
  font-family: RalewayRegular !important;
}
.tooltip {
  z-index: 1070;
  font-size: 14px;
  line-height: 1.286;
  }
.tooltip.in {
  filter: alpha(opacity=100);
  opacity: 1;
  }
.tooltip.top {
  padding: 9px 0;
  margin-top: -5px;
  }
.tooltip.right {
  padding: 0 9px;
  margin-left: 5px;
  }
.tooltip.bottom {
  padding: 9px 0;
  margin-top: 5px;
  }
.tooltip.left {
  padding: 0 9px;
  margin-left: -5px;
  }
.tooltip-inner {
  max-width: 183px;
  padding: 12px 12px;
  line-height: 1.286;
  color: #fff;
  background-color: #34495e;
  border-radius: 6px;
  }
.tooltip.top .tooltip-arrow {
  margin-left: -9px;
  border-width: 9px 9px 0;
  border-top-color: #34495e;
  }
.tooltip.right .tooltip-arrow {
  margin-top: -9px;
  border-width: 9px 9px 9px 0;
  border-right-color: #34495e;
  }
.tooltip.left .tooltip-arrow {
  margin-top: -9px;
  border-width: 9px 0 9px 9px;
  border-left-color: #34495e;
  }
.tooltip.bottom .tooltip-arrow {
  margin-left: -9px;
  border-width: 0 9px 9px;
  border-bottom-color: #34495e;
  }
@media print {
.ui-spinner-button,
  .tooltip {
    border: 2px solid #bdc3c7;
    }
}
.coursify-tooltip + .tooltip > .tooltip-inner {
  background-color: #1abc9c;
  color: #ffffff;
}
.coursify-tooltip + .tooltip > .tooltip-arrow {
  border-top-color: #1abc9c;
}

/* ---- slick ---- */
.slick-slider {
  position: relative;
  display: block;
  box-sizing: border-box;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent;
}
.slick-list {
  position: relative;
  overflow: hidden;
  display: block;
  margin: 0;
  padding: 0;
}
.slick-list:focus {
  outline: none;
}
.slick-list.dragging {
  cursor: pointer;
  cursor: hand;
}
.slick-slider .slick-track,
.slick-slider .slick-list {
  transform: translate3d(0, 0, 0);
}
.slick-track {
  position: relative;
  left: 0;
  top: 0;
  display: block;
}
.slick-track:before, .slick-track:after {
  content: "";
  display: table;
}
.slick-track:after {
  clear: both;
}
.slick-loading .slick-track {
  visibility: hidden;
}
.slick-slide {
  float: left;
  height: 100%;
  min-height: 1px;
  display: none;
}
[dir="rtl"] .slick-slide {
  float: right;
}
.slick-slide img {
  display: block;
}
.slick-slide.slick-loading img {
  display: none;
}
.slick-slide.dragging img {
  pointer-events: none;
}
.slick-initialized .slick-slide {
  display: block;
}
.slick-loading .slick-slide {
  visibility: hidden;
}
.slick-vertical .slick-slide {
  display: block;
  height: auto;
  border: 1px solid transparent;
}
.slick-arrow.slick-hidden {
  display: none;
}
@charset "UTF-8";


.slick-loading .slick-list {
  background: #fff url(/assets/ajax-loader-e7b44c86b050fca766a96ddac2d0932af0126da6f2305280342d909168dcce6b.gif) center center no-repeat;
}
.slick-prev,
.slick-next {
  position: absolute;
  display: block;
  height: 20px;
  width: 20px;
  line-height: 0px;
  font-size: 0px;
  cursor: pointer;
  background: transparent;
  color: transparent;
  top: 50%;
  margin-top: -10px\9;
  
  transform: translate(0, -50%);
  padding: 0;
  border: none;
  outline: none;
}
.slick-prev:hover, .slick-prev:focus,
.slick-next:hover,
.slick-next:focus {
  outline: none;
  background: transparent;
  color: transparent;
}
.slick-prev:hover:before, .slick-prev:focus:before,
.slick-next:hover:before,
.slick-next:focus:before {
  opacity: 1;
}
.slick-prev.slick-disabled:before,
.slick-next.slick-disabled:before {
  opacity: 0.25;
}
.slick-prev:before, .slick-next:before {
  font-family: "slick";
  font-size: 20px;
  line-height: 1;
  color: white;
  opacity: 0.75;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.slick-prev {
  left: -25px;
}
[dir="rtl"] .slick-prev {
  left: auto;
  right: -25px;
}
.slick-prev:before {
  content: "←";
}
[dir="rtl"] .slick-prev:before {
  content: "→";
}
.slick-next {
  right: -25px;
}
[dir="rtl"] .slick-next {
  left: -25px;
  right: auto;
}
.slick-next:before {
  content: "→";
}
[dir="rtl"] .slick-next:before {
  content: "←";
}
.slick-slider {
  margin-bottom: 30px;
}
.slick-dots {
  position: absolute;
  bottom: -45px;
  list-style: none;
  display: block;
  text-align: center;
  padding: 0;
  width: 100%;
}
.slick-dots li {
  position: relative;
  display: inline-block;
  height: 20px;
  width: 20px;
  margin: 0 5px;
  padding: 0;
  cursor: pointer;
}
.slick-dots li button {
  border: 0;
  background: transparent;
  display: block;
  height: 20px;
  width: 20px;
  outline: none;
  line-height: 0px;
  font-size: 0px;
  color: transparent;
  padding: 5px;
  cursor: pointer;
}
.slick-dots li button:hover, .slick-dots li button:focus {
  outline: none;
}
.slick-dots li button:hover:before, .slick-dots li button:focus:before {
  opacity: 1;
}
.slick-dots li button:before {
  position: absolute;
  top: 0;
  left: 0;
  content: "•";
  width: 20px;
  height: 20px;
  font-family: "slick";
  font-size: 6px;
  line-height: 20px;
  text-align: center;
  color: black;
  opacity: 0.25;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.slick-dots li.slick-active button:before {
  color: black;
  opacity: 0.75;
}
ul.brand-menu-pages .slick-prev, ul.brand-menu-pages .slick-next {
  top: 40%;
}
ul.brand-menu-pages .slick-track {
  height: 35px;
}
ul.brand-menu-pages .slick-prev:before, ul.brand-menu-pages .slick-next:before {
  font-family: "Flat-UI-Pro-Icons" !important;
  content: "" !important;
}
ul.brand-menu-pages .slick-next:before {
  content: "" !important;
}
ul.brand-menu-pages .slick-prev:hover, ul.brand-menu-pages .slick-prev:focus, ul.brand-menu-pages .slick-next:hover, ul.brand-menu-pages .slick-next:focus {
  color: initial !important;
  background: initial !important;
}

/* ---- videojs ---- */
.vjs-caption-settings {
  display: none;
}
.video-js {
  padding-bottom: 0px !important;
}
.vjs-play-control {
  float: left;
}
.vjs-play-progress {
  opacity: 0.4;
}
.vjs-fullscreen video {
  max-height: initial !important;
  height: calc(100vh - 47px) !important;
}
.video-js {
  position: relative;
  width: 100% !important;
  height: auto !important;
  padding-bottom: 47px;
  overflow: hidden;
  font-size: 0;
  vertical-align: middle;
  background-color: transparent;
  backface-visibility: hidden;
  border-top-radius: 6px;
  }
.video-js .vjs-tech {
  display: block;
  width: 100%;
  height: 100%;
  }
.video-js::-moz-full-screen {
  position: absolute;
  }
.video-js::-webkit-full-screen {
  width: 100% !important;
  height: 100% !important;
  }
.vjs-fullscreen {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 10000;
  width: 100% !important;
  height: 100% !important;
  overflow: hidden;

  border-top-radius: 0;
  }
.vjs-fullscreen .vjs-control-bar {
  margin-top: 0;
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
  }
.vjs-fullscreen .vjs-tech {
  background-color: #000;
  }
.vjs-poster {
  position: relative;
  width: 100%;
  max-height: 100%;
  padding: 0;
  margin: 0 auto;
  cursor: pointer;

  border-top-radius: 6px;
  }
.vjs-control-bar {
  position: relative;
  height: 47px;
  margin-top: -1px;
  color: #fff;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  background: #2c3e50;
  border-bottom-right-radius: 6px;
  border-bottom-left-radius: 6px;
  }
.vjs-control-bar.vjs-fade-out {
  visibility: visible !important;
  opacity: 1 !important;
  }
.vjs-text-track-display {
  position: absolute;
  right: 1em;
  bottom: 4em;
  left: 1em;
  font-family: "Lato", Helvetica, Arial, sans-serif;
  text-align: center;
  }
.vjs-text-track {
  display: none;
  margin-bottom: .1em;
  font-size: 1.4em;
  color: #fff;
  text-align: center;
  background-color: rgba(0, 0, 0, .5);
  }
.vjs-subtitles {
  color: #fff;
  }
.vjs-captions {
  color: #fc6;
  }
.vjs-tt-cue {
  display: block;
  }
.vjs-fade-in {
  visibility: visible !important;
  opacity: 1 !important;
  transition: visibility 0s linear 0s, opacity .3s linear;
  }
.vjs-fade-out {
  visibility: hidden !important;
  opacity: 0 !important;
  transition: visibility 0s linear 1.5s, opacity 1.5s linear;
  }
.vjs-control {
  position: relative;
  display: inline-block;
  width: 18px;
  height: 18px;
  text-align: center;
  vertical-align: middle;
  background-repeat: no-repeat;
  background-position: center;
  }
.vjs-control:focus {
  outline: 0;
  }
.vjs-control > div {
  background-repeat: no-repeat;
  background-position: center;
  }
.vjs-control-text {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  border: 0;
  }
.vjs-play-control {
  width: 58px;
  height: 47px;
  cursor: pointer;
  }
.vjs-play-control > div {
  position: relative;
  height: 47px;
  }
.vjs-play-control > div:before,
.vjs-play-control > div:after {
  position: absolute;
  top: 38%;
  left: 50%;
  margin: -.5em 0 0 -.5em;
  font-family: "Flat-UI-Pro-Icons";
  font-size: 16px;
  color: #1abc9c;
  transition: color .25s, opacity .25s;

  -webkit-font-smoothing: antialiased;
  }
.vjs-play-control > div:after {
  content: "\e615";
  }
.vjs-play-control > div:before {
  content: "\e616";
  }
.vjs-paused .vjs-play-control:hover > div:before {
  color: #16a085;
  }
.vjs-paused .vjs-play-control > div:after {
  filter: alpha(opacity=0);
  opacity: 0;
  }
.vjs-paused .vjs-play-control > div:before {
          filter: none;
  opacity: 1;

  -webkit-filter: none;
  }
.vjs-playing .vjs-play-control:hover > div:after {
  color: #16a085;
  }
.vjs-playing .vjs-play-control > div:after {
          filter: none;
  opacity: 1;

  -webkit-filter: none;
  }
.vjs-playing .vjs-play-control > div:before {
  filter: alpha(opacity=0);
  opacity: 0;
  }
.vjs-rewind-control {
  width: 5em;
  cursor: pointer !important;
  }
.vjs-rewind-control > div {
  width: 19px;
  height: 16px;
  margin: .5em auto 0;
  background: none transparent;
  }
.vjs-mute-control {
  float: right;
  margin: 14px 0;
  cursor: pointer !important;
  }
.vjs-mute-control:hover > div,
.vjs-mute-control:focus > div {
  color: #57718b;
  }
.vjs-mute-control > div {
  height: 18px;
  color: #475d72;
  }
.vjs-mute-control > div:after,
.vjs-mute-control > div:before {
  position: absolute;
  left: 50%;
  margin: 0 0 0 -.5em;
  font-family: "Flat-UI-Pro-Icons";
  font-size: 16px;
  line-height: 18px;
  transition: color .25s, opacity .25s;

  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  }
.vjs-mute-control > div:after {
  content: "\e617";
  }
.vjs-mute-control > div:before {
  content: "\e618";
  filter: alpha(opacity=0);
  opacity: 0;
  }
.vjs-mute-control.vjs-vol-0 > div:after {
  filter: alpha(opacity=0);
  opacity: 0;
  }
.vjs-mute-control.vjs-vol-0 > div:before {
          filter: none;
  opacity: 1;

  -webkit-filter: none;
  }
.vjs-volume-control,
.vjs-volume-level,
.vjs-volume-handle,
.vjs-volume-bar {
  display: none;
  }
.vjs-progress-control {
  position: absolute;
  top: 18px;
  right: 160px;
  left: 60px;
  width: auto;
  height: 12px;
  background: #425669;
  border-radius: 32px;
  }
.vjs-progress-holder {
  position: relative;
  height: 12px;
  padding: 0;
  margin: 0;
  cursor: pointer !important;
  }
.vjs-play-progress,
.vjs-load-progress {
  display: block;
  height: 12px;
  padding: 0;
  margin: 0;
  border-radius: 32px;
  }
.vjs-play-progress {
  position: absolute;
  top: 0;
  left: -1px;
  background: #1abc9c;
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
  }
.vjs-load-progress {
  background: #d6dbdf;
  }
.vjs-load-progress[style*="100%"],
.vjs-load-progress[style*="99%"] {
  border-radius: 32px;
  }
.vjs-seek-handle {
  position: absolute;
  top: 0;
  width: 18px;
  height: 18px;
  margin: -3px 0 0 1px;
  background-color: #16a085;
  border-radius: 50%;
  transition: background-color .25s;
  }
.vjs-seek-handle[style*="95."] {
  margin-left: 3px;
  }
.vjs-seek-handle[style="left: 0%;"] {
  margin-left: -2px;
  }
.vjs-seek-handle:hover,
.vjs-seek-handle:focus {
  background-color: #148d75;
  }
.vjs-seek-handle:active {
  background-color: #117a65;
  }
.vjs-time-controls {
  position: absolute;
  width: auto;
  height: auto;
  font-family: "Lato", Helvetica, Arial, sans-serif;
  font-size: 13px;
  font-weight: 300;
  line-height: normal;
  }
.vjs-time-divider {
  position: absolute;
  top: 11px;
  right: 114px;
  font-size: 14px;
  color: #5d6d7e;
  }
.vjs-remaining-time {
  display: none;
  }
.vjs-current-time {
  top: 16px;
  right: 122px;
  }
.vjs-duration {
  top: 16px;
  right: 85px;
  color: #5d6d7e;
  }
.vjs-fullscreen-control {
  float: right;
  margin: 14px 15px;
  cursor: pointer;
  }
.vjs-fullscreen-control:hover > div,
.vjs-fullscreen-control:focus > div {
  color: #57718b;
  }
.vjs-fullscreen-control > div {
  height: 18px;
  color: #475d72;
  }
.vjs-fullscreen-control > div:before {
  position: absolute;
  left: 50%;
  margin: 0 0 0 -.5em;
  font-family: "Flat-UI-Pro-Icons";
  font-size: 16px;
  line-height: 18px;
  content: "\e619";
  transition: color .25s, opacity .25s;

  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  }
.vjs-menu-button {
  display: none !important;
  }
.vjs-loading-spinner {
  position: absolute;
  top: 50%;
  left: 50%;
  display: none;
  width: 16px;
  height: 16px;
  margin: -8px 0 0 -8px;
  background: #ebedee;
  border-radius: 10px;
  animation: sharp 2s ease infinite;
  }
.preview-content .video-js video, .preview-content img {
  max-height: 400px;
}
.preview-content .video-js {
  width: 600px !important;
  margin: 0 auto;
}
.preview-content-html-version .preview-content .video-js {
  width: 600px !important;
  margin: 0 auto;
}
.vjs-fullscreen .vjs-tech {
  width: 100vw !important;
  height: 100vh !important;
}
@media (max-width: 768px) {
.preview-content .video-js, .preview-content .video-js video {
    max-width: 100%;
  }
}
#modal #modal-body .preview-content .vjs-audio {
  top: 35vh;
  top: calc(35vh - 23px);
}
