html, body {
  margin: 0;
  padding: 0;
  height: 100%;
  min-height: 100%;
}

@font-face {
  font-family: "Bernard MT Condensed";
  src: url("assets/fonts/bernard-mt-condensed.ttf");
}

@font-face {
  font-family: "AzoSans Regular";
  src: url("assets/fonts/AzoSans-Regular.woff2");
}

@font-face {
  font-family: "AzoSans Medium";
  src: url("assets/fonts/AzoSans-Medium.woff2");
}

@font-face {
  font-family: "AzoSans Bold";
  src: url("assets/fonts/AzoSans-Bold.woff2");
}

#div-page-not-found {
  height: 100%;
  margin: 0;
  background-image: url('assets/page-not-found.jpg');
  background-size: 100% 100%;
  background-repeat: no-repeat;
}

#div-ranking {
  position: relative;
  margin: 0;
  padding: 0;
  height: 100%;
  min-height: 100%;
  /*background-color: #cc0066;*/
  background-image: url('assets/background-portrait.jpg');
  background-size: 100% 100%;
  background-repeat: no-repeat;
}

#div-header {
  position: relative;
  display: flex;
  height: 4.4%;
}

#div-logo {
  position: relative;
  width: 50%;
  height: 100%;
}

#img-logo {
  position: relative;
  height: 50%;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

#div-logo-big {
  position: relative;
  width: 100%;
  height: 100%;
}

#img-logo-big {
  position: relative;
  width: 75%;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

#div-horario-ranking {
  position: relative;
  width: 50%;
  height: 100%;
}

#div-horario-ranking-inner {
  position: relative;
  padding-right: 1vw;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  text-align: right;
  color: white;
  font-size: calc(100vh / 100 * 1.2);
  font-weight: normal;
  font-family: 'AzoSans Bold';
}

#div-fecha-maxima {
    position: absolute;
    right: 1vw;
    color: white;
    top: 70%;
    font-size: 1.2vh;
    font-weight: normal;
    font-family: 'AzoSans Bold';
}

#div-header-space {
  position: relative;
  height: 30.6%;
}

#div-mensaje {
  position: relative;
  display: flex;
  height: 6%;
  align-items: center;
  justify-content: center;
}

#div-mensaje-inner {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  color: white;
  font-family: 'AzoSans Regular';
}

#span-saludo-nombre {
  font-size: calc(100vh / 100 * 2.1);
}

#span-saludo-top {
  font-size: calc(100vh / 100 * 1.5);
}

#div-body {
  position: relative;
  height: 65%;
}

#div-ranking-list {
  position: relative;
  height: 100%;
}

#div-ranking-list-inner {
  position: relative;
  width: 90%;
  height: 98%;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  overflow: hidden;
}

#div-columna {
  position: relative;
  display: inline-block;
  height: 100%;
  width: 100%;
  vertical-align: top;
  overflow: auto;
}

.cuadro_cliente {
  position: relative;
  width: 100%;
  height: 5%;
}

.inner_cuadro_cliente {
  position: relative;
  display: flex;
  width: 100%;
  height: 86%;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  background-image: url('assets/barra-ranking-portrait.png');
  background-size: 100% 100%;
  background-repeat: no-repeat;
  color: white;
  font-size: 1.8vh;
  font-family: 'AzoSans Regular';
}

.div-position {
  width: 10%;
  display: flex;
  align-items: center;
  justify-content: center;
}

.div-cliente-nombre {
  width: 60.5%;
  display: flex;
  align-items: center;
  padding-left: 1%;
}

.div-puntos {
  width: 27.5%;
  display: flex;
  align-items: flex-end;
  justify-content: right;
  color: #5f3201;
  font-weight: bolder;
  font-family: 'AzoSans Medium';
}

.inner_texto_gold {
  position: relative;
  width: 98%;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  color: gold;
}

.inner_texto_white {
  position: relative;
  width: 98%;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  color: white;
}

.texto_cliente {
  width: 80%;
  display: inline-block;
  font-size: 2.2vh;
  text-align: left;
}

.texto_puntos {
  display: inline-block;
  width: 20%;
  font-size: 2.2vh;
  text-align: right;
}

@media only screen and (orientation: landscape) {
  #div-ranking {
    background-image: url('assets/background-landscape.jpg');
  }
  #div-header {
    height: 7.5%;
  }
  #div-horario-ranking-inner {
    font-size: calc(100vh / 100 * 1.8);
    text-align: center;
  }
  #div-header-space {
    height: 36.5%;
  }
  #div-body {
    height: 56%;
  }
  #div-ranking-list-inner {
    width: 40%;
  }
  .div-puntos {
    align-items: flex-end;
  }
}