/* ----------------

  Summary

  0. RESET

  1. TYPOGRAPHY

  2. COLORS

  3. GENERAL CLASSES

  9. MEDIA QUERIES

------------------- */




/* ---------------- */
/* 0. RESET */
/* ---------------- */

  @font-face {
    font-family: "Criolla";
    font-weight: 400;
    src: url('../fonts/LCCriollaSans-Black.otf');
  }

  :root {
    --lightblue: #79B5F1;
    --yellow:    #642444;
  }

  *,
  *:after,
  *:before{
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    outline: none;
  }

  li {
    list-style: none;
  }

  a {
    color: currentColor;
    text-decoration: none;
  }

  img {
    display: block;
    height: 100%;
  }

  button, input, textarea, select {
    outline: none;
    border: none;
    box-shadow: none;
    color: inherit;
    border-color: currentColor;
    background: transparent;
  }

  body {
    overflow-x: hidden;
  }




/* ---------------- */
/* 1. TYPOGRAPHY */
/* ---------------- */

  html {
    font-size: 19px;
  }

  body, input, button, select, textarea {
    font-family: "Criolla", "Helvetica", -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;
  }

  h1, h2, h3, h4, h5, h6, b, strong {
    font-size: 1em;
    font-weight: 400;
    line-height: 1em;
  }



/* ---------------- */
/* 3. GENERAL CLASSES */
/* ---------------- */

  main {
    min-width: 100vw;
    min-height: 100vh;
  }

  body {
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
  }


/* TABLE */

  .logo-wrap {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 95vh;
  }
  .logo {
    width: 40vh;
    height: 40vh;
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
  }


/* TABLE */

  .table {
    display: none;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    height: 90vh;
    margin: 1em auto 3em;
  }

  .table.two-cards,
  .table.three-cards {
    display: flex;
  }

  .table.two-cards {
    max-width: calc(27vh * 2 + 2em * 4);
  }

  .table.three-cards {
    max-width: calc(27vh * 3 + 2em * 6);
  }

  .table-position {
    width: 27vh;
    height: 38vh;
    border: 1px solid rgba(0,0,0,0.05);
    border-radius: 7px;
    margin: 1em 2em;
  }

  .table-position:nth-child(2) .card {
    animation-delay: .08s;
  }

  .table-position:nth-child(3) .card {
    animation-delay: .15s;
  }

  .table-position:nth-child(2) .card-inner {
    transition-delay: .08s;
  }

  .table-position:nth-child(3) .card-inner {
    transition-delay: .15s;
  }

  .table-label {
    display: block;
    height: 0.7em;  
    text-align: center;
  }


/* CARDS */

  .card {
    width: 100%;
    height: 100%;
    text-align: center;
    cursor: pointer;
    background-color: transparent;
    perspective: 1000px;
    transition: transform .15s;
  }

  .card:hover {
    transform: translateY(-5px);
  }

  .card-inner {
    position: relative;
    width: 100%;
    height: 100%;
    transition: transform 0.75s;
    transform-style: preserve-3d;
  }

  .card.face-down .card-inner {
    transform: rotateY(-180deg);
  }

  .card-front, .card-back {
    display: flex;
    justify-content: center;
    align-items: center;
    position: absolute;
    width: 100%;
    height: 100%;
    color: transparent;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    /*border: 1px solid black;*/
    border-radius: 7px;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
  }

  .card-back {
    background-color: grey;
    transform: rotateY(180deg);
  }


/* BUTTONS */

  .buttons {
    position: fixed;
    bottom: 0;
    display: flex;
    padding: 0 1em;
  }

  .buttons__initial {
    justify-content: center;
    width: 100%;
    margin-top: 2em;
  }

  .buttons__game,
  .buttons__right {
    display: none;
  }

  .buttons__right {
    right: 0;
  }

  .button {
    font-size: 1em;
    margin: 1em;
    padding: 1em;
    border: 3px solid;
    border-radius: 3px;
    cursor: pointer;
  }

  .button__no-border {
    padding: 1em;
    cursor: pointer;
  }


/* ANIMATION */

  .animate-in {
    transform: translateY(-80vh);
    animation: animate-in 1.02s ease-in-out 1;
  }

  .animate-out {
    transform: translateY(-80vh);
    animation: animate-out 1.02s ease-in-out 1;
  }

  @keyframes animate-in {
    0%   { transform: translateY(-80vh) }
    90% { transform: translateY(0) }
    100% { transform: translateY(0) }
  }

  @keyframes animate-out {
    0%   { transform: translateY(0%) }
    90% { transform: translateY(-80vh) }
    100% { transform: translateY(-80vh) }
  }


/* INFO */

  .info__popup {
    display: none;
    position: fixed;
    width: 100%;
    height: 100vh;
    left: 0;
    top: 0;
    padding: 2em;
  }

  .info__close {
    padding-bottom: 2em;
    cursor: pointer;
  }

  .info__text {
    line-height: 1.35em;
    max-width: 800px;
  }

  .info__text h1, .info__text h2, .info__text h3 {
    font-size: 1.5em;
  }

  .info__text p {
    padding-top: .25em;
    padding-bottom: 1em;
  }


/* ---------------- */
/* 9. MEDIA QUERIES */
/* ---------------- */

  @media screen and (max-height: 700px) {
    html {
      font-size: 17px;
    }
  }

  @media screen and (max-height: 640px) {
    html {
      font-size: 15px;
    }

  }

  @media screen and (min-height: 720px) {

  }

  @media screen and (max-width: 350px) {

  }

  @media screen and (max-width: 640px) {
   .table {
      height: 100%;
    }
  }
