* {
  -webkit-box-sizing: border-box;
  box-sizing: border-box; }

a,
abbr,
acronym,
address,
applet,
article,
aside,
audio,
b,
big,
blockquote,
body,
canvas,
caption,
center,
cite,
code,
dd,
del,
details,
dfn,
dialog,
div,
dl,
dt,
em,
embed,
fieldset,
figcaption,
figure,
font,
footer,
form,
h1,
h2,
h3,
h4,
h5,
h6,
header,
hgroup,
hr,
html,
i,
iframe,
img,
ins,
kbd,
label,
legend,
li,
main,
mark,
menu,
meter,
nav,
object,
ol,
output,
p,
pre,
progress,
q,
rp,
rt,
ruby,
s,
samp,
section,
small,
span,
strike,
strong,
sub,
summary,
sup,
table,
tbody,
td,
tfoot,
th,
thead,
time,
tr,
tt,
u,
ul,
var,
video,
xmp {
  border: 0;
  margin: 0;
  padding: 0;
  font-size: 100%; }

html,
body {
  height: 100%; }

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
menu,
nav,
section {
  display: block; }

b,
strong {
  font-weight: bold; }

img {
  color: transparent;
  font-size: 0;
  vertical-align: middle;
  -ms-interpolation-mode: bicubic; }

ul,
ol {
  list-style: none; }

li {
  display: list-item; }

table {
  border-collapse: collapse;
  border-spacing: 0; }

th,
td,
caption {
  font-weight: normal;
  vertical-align: top;
  text-align: left; }

q {
  quotes: none; }

q:before,
q:after {
  content: "";
  content: none; }

sub,
sup,
small {
  font-size: 75%; }

sub,
sup {
  line-height: 0;
  position: relative;
  vertical-align: baseline; }

sub {
  bottom: -0.25em; }

sup {
  top: -0.5em; }

svg {
  overflow: hidden; }

figcaption .question form button, .impersonator-website .button, .feedback button, .special-screen .special-feedback button {
  color: #eee;
  background: #1a66e8;
  border: 2px solid #1a66e8;
  font-family: "Merriweather", serif;
  text-transform: uppercase;
  padding: 0.25em 0.75em;
  cursor: pointer; }
  @media (min-width: 601px) {
    figcaption .question form button, .impersonator-website .button, .feedback button, .special-screen .special-feedback button {
      -webkit-transform: translate(0, 0);
      -ms-transform: translate(0, 0);
      transform: translate(0, 0);
      -webkit-box-shadow: 1px 1px 1px black;
      box-shadow: 1px 1px 1px black; }
      figcaption .question form button:hover, .impersonator-website .button:hover, .feedback button:hover, .special-screen .special-feedback button:hover, figcaption .question form button:focus, .impersonator-website .button:focus, .feedback button:focus, .special-screen .special-feedback button:focus {
        -webkit-box-shadow: 3px 3px 3px black;
        box-shadow: 3px 3px 3px black; }
      figcaption .question form button:active, .impersonator-website .button:active, .feedback button:active, .special-screen .special-feedback button:active {
        -webkit-transform: translate(2px, 2px);
        -ms-transform: translate(2px, 2px);
        transform: translate(2px, 2px); } }

[v-cloak] {
  display: none !important; }

html {
  background: #0d1021;
  color: #eee; }

.screen > figure {
  background-size: contain;
  background-repeat: no-repeat; }

figcaption {
  font-family: "Merriweather", serif;
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-direction: row;
  flex-direction: row;
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  padding-left: 2em;
  padding-right: 2em; }
  figcaption p {
    line-height: 160%;
    margin-bottom: 0.75em;
    display: block;
    margin-left: auto;
    margin-right: auto;
    max-width: 36em; }
  figcaption h1 {
    text-align: center;
    margin-bottom: 3vh; }
    figcaption h1 .medium-text {
      font-family: "Merriweather", serif;
      font-weight: 400;
      margin-bottom: 0.35em; }
    figcaption h1 .big-text {
      font-family: "Limelight", cursive;
      line-height: 90%;
      text-transform: uppercase; }
  figcaption .question form {
    display: block; }
    figcaption .question form label {
      margin-top: 1em;
      margin-bottom: 1em;
      font-weight: 300;
      font-style: italic;
      display: block; }
    figcaption .question form input {
      display: block;
      width: 100%;
      padding: 0.3em 0.5em;
      font-family: "Merriweather", serif; }
    figcaption .question form button {
      display: block;
      -webkit-transition: opacity 0.3s linear;
      -o-transition: opacity 0.3s linear;
      transition: opacity 0.3s linear;
      opacity: 1; }
      figcaption .question form button:disabled {
        opacity: 0; }

.impersonator-website .button {
  text-transform: none;
  background: #eee;
  color: #0c3377;
  border: 1px solid #1047a5; }
  .impersonator-website .button:hover {
    background: #1a66e8;
    color: yellow; }

.feedback h2 {
  font-family: "Limelight", cursive;
  margin-bottom: 0.35em; }

.feedback p {
  margin-bottom: 1em;
  display: block;
  max-width: 36em;
  line-height: 160%; }

.special-screen .special-feedback h1 {
  text-transform: uppercase;
  color: #e4dfbf; }

.special-screen .special-feedback h2 {
  text-align: center; }

.special-screen .special-feedback p {
  margin-bottom: 2em; }

.special-screen .special-feedback button {
  background: #b0ee9a;
  border-color: #b0ee9a; }
  .special-screen .special-feedback button span {
    font-size: 150%;
    font-weight: 900;
    color: #0f0f0f;
    padding-left: 0.5em;
    padding-right: 0.5em; }

.special-screen > figure {
  background-size: cover; }

.special-screen.cheese figure {
  background-position: center bottom; }

.special-screen.lose figure {
  background-position: center; }

.special-screen.win figure {
  -webkit-transition: all 2s ease;
  -o-transition: all 2s ease;
  transition: all 2s ease; }

.special-screen.win figcaption {
  -webkit-transition: all 2s ease;
  -o-transition: all 2s ease;
  transition: all 2s ease; }

.special-screen .game-over {
  font-size: 3.2vw;
  color: #e84040; }

@-webkit-keyframes youwintext {
  from {
    -webkit-transform: rotate(-90deg) translateY(-20vw) scale(0.3);
    transform: rotate(-90deg) translateY(-20vw) scale(0.3); }
  to {
    -webkit-transform: rotate(-90deg) translateY(0) scale(1);
    transform: rotate(-90deg) translateY(0) scale(1); } }

@keyframes youwintext {
  from {
    -webkit-transform: rotate(-90deg) translateY(-20vw) scale(0.3);
    transform: rotate(-90deg) translateY(-20vw) scale(0.3); }
  to {
    -webkit-transform: rotate(-90deg) translateY(0) scale(1);
    transform: rotate(-90deg) translateY(0) scale(1); } }

.correct {
  color: #3ede2e; }

.close {
  color: yellow; }

.wrong {
  color: #ee2a2a; }

.veryGood {
  color: #21f90c; }

.prettyGood {
  color: #a8cd7d; }

.neutral {
  color: #e4dfbf; }

.prettyBad {
  color: #e8a657; }

.veryBad {
  color: #e84040; }

@media screen and (max-width: 600px) {
  .screen > figure {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 50%;
    left: 0;
    background-position: center; }
  .screen figcaption {
    position: fixed;
    top: 50%;
    right: 0;
    bottom: 0;
    left: 0;
    overflow-x: hidden;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    padding-top: 1em;
    padding-bottom: 1.5em; }
    .screen figcaption .medium-text {
      font-size: 16px; }
    .screen figcaption .big-text {
      font-size: 8.8vw; }
    .screen figcaption p {
      font-size: 14px; }
    .screen figcaption .danger-zone-paragraph {
      position: fixed;
      right: 0;
      bottom: 0;
      left: 0;
      background: #e84040;
      margin: 0;
      color: black;
      padding: 0.25em 1em;
      text-align: center;
      font-size: 3vw;
      font-weight: 900; }
    .screen figcaption .question {
      display: -webkit-box;
      display: -webkit-flex;
      display: -moz-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
      -ms-flex-direction: row;
      flex-direction: row;
      -webkit-flex-wrap: wrap;
      -moz-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
      flex-wrap: wrap;
      -webkit-box-align: stretch;
      -ms-flex-align: stretch;
      align-items: stretch; }
      .screen figcaption .question > * {
        -ms-flex-preferred-size: 100%;
        flex-basis: 100%;
        -webkit-box-flex: 1;
        -ms-flex-positive: 1;
        flex-grow: 1;
        -ms-flex-negative: 1;
        flex-shrink: 1;
        -ms-flex-item-align: auto;
        align-self: auto; }
      .screen figcaption .question .question-wrapper {
        -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
        order: 1; }
        .screen figcaption .question .question-wrapper label {
          margin-top: 0;
          margin-bottom: 0.25em;
          padding-left: 0.5em; }
        .screen figcaption .question .question-wrapper button {
          padding-left: 1em;
          padding-right: 1em;
          margin-bottom: 1em;
          font-size: 16px; }
      .screen figcaption .question .mood-feedback, .screen figcaption .question .cheese-feedback {
        -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
        order: 2; }
    .screen figcaption .feedback h2 {
      font-size: 9vw;
      text-align: center; }
  .screen .impersonator-website {
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    text-align: center; }
    .screen .impersonator-website .button {
      font-size: 12px; }
  .special-screen h1 {
    font-size: 9vw; }
  .special-screen h2 {
    font-size: 7vw; }
  .special-screen p {
    font-size: 14px; }
  .special-screen button span {
    font-size: 18px; }
  .special-screen.win figure {
    bottom: 20vw; }
  .special-screen.win figcaption {
    top: calc(100% - 19vw);
    padding: 0; }
    .special-screen.win figcaption h1 {
      font-size: 16vw;
      margin: 0;
      color: #21f90c; }
    .special-screen.win figcaption .game-over-holder, .special-screen.win figcaption p {
      display: none; } }

@media screen and (min-width: 601px) {
  .screen > figure {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 50%;
    background-position: center right; }
  .screen figcaption {
    position: fixed;
    top: 0;
    right: 50%;
    bottom: 0;
    left: 0; }
    .screen figcaption .medium-text {
      font-size: 2.8vw; }
    .screen figcaption .big-text {
      font-size: 4vw; }
    .screen figcaption h1 {
      text-align: center; }
    .screen figcaption h2 {
      text-align: center; }
    .screen figcaption p {
      font-size: 18px; }
    .screen figcaption form {
      width: 33vw;
      margin-left: auto;
      margin-right: auto; }
      .screen figcaption form label {
        font-size: 1.75vw;
        margin-bottom: 0.1em;
        padding-left: 0.5em; }
      .screen figcaption form input {
        font-size: 1.75vw; }
      .screen figcaption form button {
        font-size: 1.75vw;
        margin-left: auto;
        display: block; }
    .screen figcaption .feedback h2 {
      font-size: 4vw; }
    .screen figcaption .feedback .button-holder {
      padding-top: 3em; }
    .screen figcaption .feedback button {
      font-size: 1.5em; }
  .screen .impersonator-website {
    position: absolute;
    right: 0;
    bottom: 2rem;
    left: 0; }
  .special-screen h1 {
    font-size: 3vw; }
  .special-screen h2 {
    font-size: 3.5vw; }
  .special-screen button {
    display: block;
    text-align: center;
    margin-left: auto;
    margin-right: auto;
    font-size: 22px; }
  .special-screen.lose figure {
    background-image: url(../img/gameover/lose-desktop.jpg) !important; }
  .special-screen.win figcaption {
    right: 80%;
    bottom: 0;
    left: 0; }
    .special-screen.win figcaption .status {
      width: 99vh; }
    .special-screen.win figcaption h1 {
      font-size: 9vw;
      color: #21f90c;
      -webkit-animation: youwintext 2s ease forwards;
      animation: youwintext 2s ease forwards; }
  .special-screen.win figure {
    background-position: center top;
    left: 20%;
    background-image: url(../img/gameover/win-desktop.jpg) !important; }
  .special-screen.win .game-over-holder {
    display: none; }
  .button-holder {
    text-align: center; } }

.sidebar-button {
  background: transparent;
  border: none;
  color: #e4dfbf;
  position: fixed;
  left: 5px;
  z-index: 1005;
  outline: none;
  cursor: pointer; }
  .sidebar-button svg * {
    -webkit-transform-origin: center;
    -ms-transform-origin: center;
    transform-origin: center;
    fill: currentColor; }
  .sidebar-button .fill {
    opacity: 0; }
  .sidebar-button .x {
    opacity: 0;
    -webkit-transform: scale(0.1);
    -ms-transform: scale(0.1);
    transform: scale(0.1); }
  .sidebar-button .question-mark {
    -webkit-transform-style: scale(1);
    transform-style: scale(1); }
  .sidebar-button:hover svg .question-mark, .sidebar-button:hover svg .x {
    fill: #212121; }
  .sidebar-button:hover svg .fill {
    opacity: 1; }
  .sidebar-button.active svg * {
    fill: #212121; }
  .sidebar-button.active:hover .question-mark, .sidebar-button.active:hover .x {
    fill: #e9eab9; }
  .sidebar-button.active .x {
    opacity: 1;
    -webkit-transform: scale(1);
    -ms-transform: scale(1);
    transform: scale(1); }
  .sidebar-button.active .question-mark {
    opacity: 0;
    -webkit-transform: scale(0.1);
    -ms-transform: scale(0.1);
    transform: scale(0.1); }

.sidebar {
  position: fixed;
  top: 0;
  left: 0;
  background: #e9eab9;
  color: #212121;
  width: 14em;
  padding: 4.5rem 1rem 1rem 1rem;
  z-index: 1004;
  font-family: "Merriweather", serif;
  -webkit-transform: translateX(-102%);
  -ms-transform: translateX(-102%);
  transform: translateX(-102%);
  -webkit-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease; }
  .sidebar ul {
    padding: 0; }
  .sidebar li {
    margin-bottom: 0.65em;
    list-style: none; }
  .sidebar .label {
    display: block;
    line-height: 145%; }
  .sidebar .indent {
    display: block;
    padding-left: 1em; }
  .sidebar a {
    color: #ee2a2a;
    text-decoration: none;
    cursor: pointer; }
    .sidebar a:hover {
      text-decoration: underline; }
  .sidebar .smaller {
    font-size: 0.8em; }
  .sidebar.visible {
    -webkit-transform: translateX(0);
    -ms-transform: translateX(0);
    transform: translateX(0); }

.homescreen-help-holder {
  background-color: rgba(33, 33, 33, 0.9);
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 12; }
  .homescreen-help-holder .homescreen-help {
    background: #eee;
    color: #212121;
    position: fixed;
    top: 0;
    right: 0;
    padding: 1em; }
  .homescreen-help-holder svg {
    fill: currentColor; }
    .homescreen-help-holder svg * {
      fill: currentColor; }
  .homescreen-help-holder .help {
    text-align: right;
    line-height: 160%; }
    .homescreen-help-holder .help span {
      display: block; }
    .homescreen-help-holder .help svg {
      width: 0.8em;
      height: 0.8em; }
  .homescreen-help-holder.ios {
    top: auto;
    bottom: 0;
    right: 0;
    left: 0;
    width: 100%;
    max-width: 100%; }
    .homescreen-help-holder.ios .help {
      text-align: center; }
  .homescreen-help-holder .button-holder {
    padding-top: 1em;
    text-align: center; }
  .homescreen-help-holder button {
    color: #4885ed;
    background-color: transparent;
    border: 2px solid #4885ed;
    font-family: "Merriweather", serif;
    padding: 0.25em 1em;
    font-size: 0.9rem; }
    .homescreen-help-holder button:hover {
      background: #4885ed;
      cursor: pointer;
      color: #eee; }

@media screen and (max-width: 600px) {
  .sidebar-button {
    top: 5px; }
    .sidebar-button svg {
      width: 32px;
      height: 32px; }
  .sidebar {
    font-size: 14px;
    padding-top: 50px; } }

@media screen and (min-width: 601px) {
  .sidebar-button {
    top: 15px; }
    .sidebar-button svg {
      width: 50px;
      height: 50px; }
  .sidebar {
    font-size: 18px;
    padding-top: 80px; } }

@media all and (display-mode: standalone) {
  #AddToHomeScreen {
    display: none; } }

.banner {
  background-color: yellow;
  width: 305px;
  position: fixed;
  bottom: 10px;
  left: 10px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-direction: row;
  flex-direction: row;
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch; }
  .banner .icon-holder {
    -ms-flex-preferred-size: 76px;
    flex-basis: 76px;
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    -ms-flex-negative: 1;
    flex-shrink: 1;
    -ms-flex-item-align: auto;
    align-self: auto;
    padding: 10px; }
  .banner .text-holder {
    -ms-flex-preferred-size: calc(100% - 76px);
    flex-basis: calc(100% - 76px);
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    -ms-flex-negative: 1;
    flex-shrink: 1;
    -ms-flex-item-align: auto;
    align-self: auto;
    padding-top: 20px;
    padding-right: 20px;
    font-size: 120%; }
  .banner .text {
    color: #212121;
    text-decoration: none; }
    .banner .text:hover {
      text-decoration: underline; }
  .banner .close {
    position: absolute;
    top: 5px;
    right: 5px;
    cursor: pointer; }
    .banner .close svg {
      width: 18px;
      height: 18px; }
    .banner .close .fill {
      opacity: 0; }
    .banner .close:hover .x {
      fill: yellow; }
    .banner .close:hover .fill {
      opacity: 1; }

.animated {
  -webkit-animation-duration: 0.65s;
  animation-duration: 0.65s;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both; }

@-webkit-keyframes bounceInDown {
  from, 60%, 75%, 90%, to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, -3000px, 0);
    transform: translate3d(0, -3000px, 0); }
  60% {
    opacity: 1;
    -webkit-transform: translate3d(0, 25px, 0);
    transform: translate3d(0, 25px, 0); }
  75% {
    -webkit-transform: translate3d(0, -10px, 0);
    transform: translate3d(0, -10px, 0); }
  90% {
    -webkit-transform: translate3d(0, 5px, 0);
    transform: translate3d(0, 5px, 0); }
  to {
    -webkit-transform: none;
    transform: none; } }

@keyframes bounceInDown {
  from, 60%, 75%, 90%, to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, -3000px, 0);
    transform: translate3d(0, -3000px, 0); }
  60% {
    opacity: 1;
    -webkit-transform: translate3d(0, 25px, 0);
    transform: translate3d(0, 25px, 0); }
  75% {
    -webkit-transform: translate3d(0, -10px, 0);
    transform: translate3d(0, -10px, 0); }
  90% {
    -webkit-transform: translate3d(0, 5px, 0);
    transform: translate3d(0, 5px, 0); }
  to {
    -webkit-transform: none;
    transform: none; } }

.bounceInDown {
  -webkit-animation-name: bounceInDown;
  animation-name: bounceInDown; }

.debug {
  position: fixed;
  top: 0;
  right: 50%;
  left: 0;
  background: white;
  color: black;
  font-family: Consolas, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", Monaco, "Courier New", Courier, monospace;
  padding-left: 54px;
  padding-bottom: 6px; }
  .debug .boxes {
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-flex-wrap: wrap;
    -moz-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: stretch;
    -ms-flex-align: stretch;
    align-items: stretch; }
  .debug .box {
    -ms-flex-preferred-size: 20%;
    flex-basis: 20%;
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    -ms-flex-negative: 1;
    flex-shrink: 1;
    -ms-flex-item-align: auto;
    align-self: auto;
    text-align: center; }
    .debug .box span {
      display: block; }
      .debug .box span.data {
        font-size: 160%;
        line-height: 80%; }

.debug-toggle {
  position: absolute;
  top: 0;
  left: 0;
  cursor: pointer;
  padding: 13px 7px;
  z-index: 99;
  border: none;
  font-family: Consolas, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", Monaco, "Courier New", Courier, monospace;
  font-size: 1em; }
  .debug-toggle.on {
    background: green; }
  .debug-toggle.off {
    background: red; }
  .debug-toggle:hover {
    background: black;
    color: white; }

@media screen and (max-width: 600px) {
  .debug, .debug-toggle {
    display: none; } }
