/* open-sans-regular - latin */
@font-face {
  font-family: "Open Sans";
  font-style: normal;
  font-weight: 400;
  src: url("../font/open-sans-v15-latin/open-sans-v15-latin-regular.eot"); /* IE9 Compat Modes */
  src: local("Open Sans Regular"), local("OpenSans-Regular"),
    url("../font/open-sans-v15-latin/open-sans-v15-latin-regular.eot?#iefix")
      format("embedded-opentype"),
    /* IE6-IE8 */
      url("../font/open-sans-v15-latin/open-sans-v15-latin-regular.woff2")
      format("woff2"),
    /* Super Modern Browsers */
      url("../font/open-sans-v15-latin/open-sans-v15-latin-regular.woff")
      format("woff"),
    /* Modern Browsers */
      url("../font/open-sans-v15-latin/open-sans-v15-latin-regular.ttf")
      format("truetype"),
    /* Safari, Android, iOS */
      url("../font/open-sans-v15-latin/open-sans-v15-latin-regular.svg#OpenSans")
      format("svg"); /* Legacy iOS */
}

@font-face {
  font-family: "Lobster";
  font-style: normal;
  font-weight: 400;
  src: url("../font/lobster-v20-latin/lobster-v20-latin-regular.eot"); /* IE9 Compat Modes */
  src: local("Lobster Regular"), local("Lobster-Regular"),
    url("../font/lobster-v20-latin/lobster-v20-latin-regular.eot?#iefix")
      format("embedded-opentype"),
    /* IE6-IE8 */
      url("../font/lobster-v20-latin/lobster-v20-latin-regular.woff2")
      format("woff2"),
    /* Super Modern Browsers */
      url("../font/lobster-v20-latin/lobster-v20-latin-regular.woff")
      format("woff"),
    /* Modern Browsers */
      url("../font/lobster-v20-latin/lobster-v20-latin-regular.ttf")
      format("truetype"),
    /* Safari, Android, iOS */
      url("../font/lobster-v20-latin/lobster-v20-latin-regular.svg#OpenSans")
      format("svg"); /* Legacy iOS */
}

@font-face {
  font-family: "Montserrat";
  font-style: normal;
  font-weight: 800;
  src: url("../font/montserrat-v12-latin/montserrat-v12-latin-800.eot"); /* IE9 Compat Modes */
  src: local("Montserrat ExtraBold"), local("Montserrat-ExtraBold"),
    url("../font/montserrat-v12-latin/montserrat-v12-latin-800.eot?#iefix")
      format("embedded-opentype"),
    /* IE6-IE8 */
      url("../font/montserrat-v12-latin/montserrat-v12-latin-800.woff2")
      format("woff2"),
    /* Super Modern Browsers */
      url("../font/montserrat-v12-latin/montserrat-v12-latin-800.woff")
      format("woff"),
    /* Modern Browsers */
      url("../font/montserrat-v12-latin/montserrat-v12-latin-800.ttf")
      format("truetype"),
    /* Safari, Android, iOS */
      url("../font/montserrat-v12-latin/montserrat-v12-latin-800.svg#Montserrat")
      format("svg"); /* Legacy iOS */
}

:root {
  font-size: 100%;
}

html,
body {
  width: 100%;
  margin: 0;
  background-color: #ffffff;

  display: flex;
  flex-direction: column;
}

body {
  min-height: 100vh;

  justify-content: space-between;
}

a {
  text-decoration: none;
}

h1,
h2,
h3,
h4,
h5,
h6,
p,
ul,
a {
  font-family: "Open Sans", sans-serif;
  color: #ffffff;
}

h5 {
  margin: 0;
  padding: 0;
}

#topbar {
  background-color: #1a1a1a;

  padding: 1em;
  padding-left: 40px;
  padding-right: 40px;

  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
}

#logo {
  max-width: 60%;
  width: 300px;
}

#topbar-links {
  padding: 0;
  margin: 0;

  display: flex;
  -ms-align-items: center;
  align-items: center;

  list-style: none;

  font-size: 1.4rem;
}

#topbar-links li {
  margin-right: 3rem;
}

#topbar-links li:last-child {
  margin-right: 0;
}

#topbar-links li a {
  text-decoration: none;
}

@media (max-width: 550px) {
  #topbar-links li {
    font-size: 5vw;
  }
}

#footer {
  background-color: #1a1a1a;
}

#page-content {
  background-color: #5d5d5d;

  position: relative;

  flex-grow: 1;
}

#games-menu {
  position: absolute;
  width: 40%;
  left: 40px;
  top: 15px;

  z-index: 1;

  max-width: 570px;
}

@media (min-width: 701px) and (max-width: 1000px) {
  #games-menu {
    width: 50%;
  }
}

#games-menu h2 {
  margin-top: 0;
  margin-bottom: 0.3em;

  font-size: 2rem;

  color: #ffffff;
  opacity: 0.96;
}

@media (min-width: 701px) and (max-width: 1300px) {
  #games-menu h2 {
    font-size: 1.8rem;
  }
}

#games-menu ul {
  list-style-type: none;

  padding: 0;
  margin: 0;

  display: flex;
}

#games-menu li {
  background-color: rgba(0, 0, 0, 0.2);
  flex: 1;
  text-align: center;

  font-size: 1.5rem;
  padding-top: 0.4em;
  padding-bottom: 0.4em;

  cursor: pointer;
}

@media (min-width: 851px) and (max-width: 1300px) {
  #games-menu li {
    font-size: 1.3rem;
  }
}

@media (min-width: 701px) and (max-width: 850px) {
  #games-menu li {
    font-size: 1.1rem;
  }
}

#games-menu li:hover {
  background-color: rgba(0, 0, 0, 0.5);
}

#games-menu li.active {
  background-color: rgba(0, 0, 0, 0.8);
}

#game-block-container {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;

  z-index: 0;

  overflow: hidden;
}

.game-block {
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;

  width: 100%;

  z-index: 0;

  transform: translateX(100%);

  transition: transform 0.5s ease-in-out;
}

/*
Target game blocks following the active one
(It targets all inactive blocks but the following rule
targets previous inactive blocks so this rule only
affects the following blocks)
*/
.game-block:not(.active) {
  transform: translateX(-100%);
}

.game-block.active ~ .game-block:not(.active) {
  transform: translateX(100%);
}

.game-block.active {
  transform: translateX(0%);
}

.is-resizing .game-block {
  transition: none !important;
}

.illustration-block {
  position: absolute;

  top: 52%;
  left: 50%;

  transform: translate(-50%, -50%);

  width: 100%;
  text-align: center;
}

#vho-block {
  background-color: #691313;
  background-image: url("../img/vho-bg.jpg");
  background-size: cover;
  background-position: 50% 55%;
}

#vho-logo {
  width: 20%;
  max-width: 280px;
  display: inline-block;
}

#vho-title {
  font-family: "Lobster";
  font-size: 7rem;
  color: #e1d0d0;

  margin: 0.1em;

  text-align: center;
}

@media (min-width: 801px) and (max-width: 1300px) {
  #vho-title {
    font-size: 5rem;
  }
}

@media (min-width: 551px) and (max-width: 800px) {
  #vho-title {
    font-size: 4rem;
  }
}

@media (min-width: 401px) and (max-width: 550px) {
  #vho-title {
    font-size: 3rem;
  }
}

@media (max-width: 400px) {
  #vho-title {
    font-size: 2rem;
  }
}

#sp-block {
  background-color: #5d94db;
  background-image: url("../img/sp-bg.png");
  background-size: cover%;
}

#sp-logo {
  width: 35%;
  max-width: 310px;
  display: inline-block;
}

#sp-title {
  font-family: "Montserrat";
  font-size: 6rem;
  font-weight: 800;
  color: #ffffff;

  margin: 0.1em;

  text-align: center;
}

@media (min-width: 801px) and (max-width: 1300px) {
  #sp-title {
    font-size: 4.5rem;
  }
}

@media (min-width: 551px) and (max-width: 800px) {
  #sp-title {
    font-size: 3.5rem;
  }
}

@media (min-width: 401px) and (max-width: 550px) {
  #sp-title {
    font-size: 2.5rem;
  }
}

@media (max-width: 400px) {
  #sp-title {
    font-size: 2rem;
  }
}

.getit-block {
  position: absolute;
  top: 25px;
  right: 40px;

  text-align: left;
}

.getit-option {
  margin-bottom: 1em;

  max-width: 33vw;
}

.getit-option h4 {
  margin: 0;
  margin-bottom: 0.3em;

  font-size: 1rem;
}

.getit-option h5 {
  margin: 0;
  margin-top: 0.3em;

  font-weight: normal;
}

@media (min-width: 351px) and (max-width: 700px) {
  .getit-option h4 {
    font-size: 0.9rem;
  }
}

@media (max-width: 350px) {
  .getit-option h4 {
    font-size: 0.7rem;
  }
}

.getit-option img {
  max-width: 175px;
  display: block;
}

.getit-option .btn {
  display: flex;
  justify-content: center;
  align-items: center;

  text-decoration: none;
  text-align: center;

  padding-top: 0.6em;
  padding-bottom: 0.6em;
  font-size: 1.2rem;

  max-width: 177px;

  color: #ffffff;

  background-color: #d63232;
  border: 2px solid #9f2020;

  border-radius: 10px;
  box-sizing: border-box;
}

.getit-option .btn:hover {
  background-color: #e63636;
}

@media (min-width: 701px) and (max-width: 1300px) {
  .getit-option h4 {
    font-size: 0.9rem;
  }

  .getit-option img {
    max-width: 150px;
  }

  .getit-option .btn {
    font-size: 1rem;

    max-width: 148px;
  }
}

@media (max-width: 550px) {
  .getit-option .btn {
    font-size: 3vw;
  }
}

#footer {
  text-align: center;

  padding: 0.7em;
}

#footer h5 {
  color: #ececec;
  font-weight: normal;
}

@media (max-width: 700px), (max-aspect-ratio: 12/16) {
  #games-menu {
    display: none;
  }

  #game-block-container {
    position: static;
  }

  .game-block {
    display: flex;
    flex-direction: column;
    position: relative;
    left: auto;
    top: auto;
    bottom: auto;

    width: 100%;
    min-height: 48vh;

    transform: none;
    transition: none;
  }

  .game-block.active,
  .game-block:not(.active),
  .game-block.active ~ .game-block:not(.active) {
    transform: none;
  }

  .illustration-block {
    padding-top: 1em;
    padding-bottom: 4em;

    order: 2;
  }

  .getit-block {
    position: static;
    top: auto;
    right: auto;

    padding-top: 2em;

    order: 1;
  }

  .getit-block {
    right: 10px;
    left: 10px;

    display: flex;
    justify-content: flex-end;
    align-items: flex-end;

    text-align: center;
  }

  #sp-block .getit-block {
    justify-content: flex-end;
  }

  .getit-option {
    padding: 0.2em;
  }

  .getit-option .btn {
    margin: auto;
    width: 100%;
  }

  .getit-option img {
    width: 100%;
  }
}
