@import "/css/foundation.css";
@import "/css/app.css";
@import url("https://fonts.googleapis.com/css2?family=Alike+Angular&family=Lato:ital,wght@0,100;0,300;0,400;0,700;0,900;1,100;1,300;1,400;1,700;1,900&display=swap");
.banner {
  background: url("assets/img/FondoDespierta.png") no-repeat;
  background-size: cover;
  background-position: center center;
  width: 100%;
  height: 100vh;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 2em;
}
.banner h1 {
  font-family: "Lato", sans-serif;
  text-transform: uppercase;
  font-weight: bold;
  color: #3A3A7C;
}
.banner .logo {
  width: 40vh;
  margin-bottom: 1em;
}
.banner .logo img {
  width: 100%;
}
@media only screen and (max-width: 42em) {
  .banner .logo {
    width: 80%;
    margin: 0 auto 2em auto;
    text-align: center;
  }
  .banner .logo img {
    width: 100%;
  }
  .banner .cta {
    padding: 1em 0.5em;
    display: block;
    width: 100%;
  }
}
.banner .slogan {
  background: url("assets/img/LineaMorada.png") no-repeat;
  background-size: 100% 100%;
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  line-height: 1;
  padding: 0.3em 1em 0.2em 1em;
  color: #FEF5DF;
  margin-top: 0.5em;
  margin-bottom: 0.5em;
}
@media only screen and (max-width: 42em) {
  .banner {
    font-size: 0.8em;
    text-align: center;
  }
}
.banner .info_top {
  width: 55%;
}
.banner .info_top h2 {
  font-size: 1.5em;
  text-align: center;
  text-transform: uppercase;
  color: #8935A2;
  font-family: "Lato", sans-serif;
}
@media only screen and (max-width: 42em) {
  .banner .info_top {
    width: 100%;
  }
  .banner .info_top h2 {
    font-size: 1.3em;
  }
}
.banner .descripcion {
  font-size: 200%;
  text-align: center;
}
.banner .descripcion p {
  line-height: 1;
  color: #3A3A7C;
}
@media only screen and (max-width: 42em) {
  .banner .descripcion {
    font-size: 130%;
    margin-top: 3em;
    margin-bottom: 3em;
  }
}
@media only screen and (max-width: 42em) {
  .banner {
    background: url(assets/img/FondoDespiertaMovil.png) no-repeat;
    background-size: cover;
  }
  .banner img.logo {
    width: 90%;
  }
  .banner h1 {
    font-size: 2em;
  }
}

.banner_gracias {
  background: none;
  background-size: cover;
  background-position: center center;
  width: 100%;
  height: 100vh;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 2em;
}
.banner_gracias .logo {
  margin-bottom: 5em;
}

html, body {
  background: url(assets/img/fondo.png) no-repeat fixed #FEF5DF;
  padding-bottom: 5em;
}

html, body, * {
  font-family: "Lato", sans-serif;
}

h1, h2, h3, h4, h4 {
  font-family: "Alike Angular", serif;
  font-weight: bold;
  color: #3A3A7C;
}

a.cta {
  background: #8935A2;
  color: #FEF5DF;
  padding: 0.8em 1.5em;
  font-weight: bold;
  text-transform: uppercase;
  border: 1px solid #FEF5DF;
  border-radius: 5px;
  -webkit-box-shadow: 0 0 13px rgba(137, 53, 162, 0.5);
          box-shadow: 0 0 13px rgba(137, 53, 162, 0.5);
  text-align: center;
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
a.cta:hover {
  background: rgb(155.7976744186, 60.2720930233, 184.2279069767);
}
@media only screen and (max-width: 42em) {
  a.cta {
    font-size: 1.3em;
    line-height: 1.2;
  }
}

.info_bar {
  background: #8935A2;
  position: fixed;
  bottom: 0;
  width: 100%;
  padding: 0.2em 0;
}
.info_bar .info_cta {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: (1fr)[3];
  grid-template-columns: repeat(3, 1fr);
  text-align: center;
  color: #FEF5DF;
}
.info_bar .info_cta p {
  margin-bottom: 0;
}
@media only screen and (max-width: 42em) {
  .info_bar .info_cta {
    display: block;
  }
  .info_bar .info_cta p:nth-child(2) {
    display: none;
  }
}

.ruta {
  background: url(assets/img/fondo_azul.png) no-repeat;
  background-size: 100% 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  color: #FEF5DF;
  padding: 2em 0;
  min-height: 90vh;
  width: 100%;
  position: relative;
  z-index: 10;
}
@media only screen and (max-width: 42em) {
  .ruta {
    background-size: cover;
    background-position: center center;
  }
}
.ruta .grid-container {
  width: 100%;
}
.ruta h2 {
  color: #FEF5DF;
  font-family: "Alike Angular", serif;
  text-align: center;
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: auto;
  font-size: 4em;
  line-height: 1;
}
@media only screen and (max-width: 42em) {
  .ruta h2 {
    font-size: 2.3em;
    padding: 0 1em;
    margin-bottom: 1em;
  }
}
.ruta .bajada {
  font-size: 3em;
  text-align: center;
  line-height: 1;
}
@media only screen and (max-width: 42em) {
  .ruta .bajada {
    font-size: 1.4em;
  }
}
.ruta .rutas {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: (1fr)[3];
  grid-template-columns: repeat(3, 1fr);
  width: 60%;
  margin: 2em auto;
}
@media only screen and (max-width: 42em) {
  .ruta .rutas {
    display: block;
    width: 100%;
  }
}
.ruta .rutas .ruta_clave {
  color: #FEF5DF;
  background: url(assets/img/FondoCirculo.png) no-repeat;
  text-align: center;
  background-size: contain;
  background-position: center center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  min-height: 10em;
  padding: 5.5em 4em;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.ruta .rutas .ruta_clave h3 {
  color: #FEF5DF;
  line-height: 1;
  font-family: "Alike Angular", sans-serif;
}
.ruta .rutas .ruta_clave p {
  line-height: 1;
}
.ruta .rutas .ruta_clave .icono {
  margin: auto;
}
.ruta .rutas .ruta_clave:nth-child(2) {
  margin-top: 1em;
}
@media only screen and (max-width: 42em) {
  .ruta .rutas .ruta_clave {
    margin-top: 0em;
    min-height: 5em;
    padding: 4em;
  }
  .ruta .rutas .ruta_clave:nth-child(2) {
    margin-top: 0em;
    margin-left: 3em;
  }
  .ruta .rutas .ruta_clave:nth-child(1) {
    margin-left: -1em;
  }
}
.ruta .enfasis {
  text-align: center;
  color: #FEF5DF;
  background: url(assets/img/linea_morada_2.png) no-repeat;
  background-size: contain;
  background-position: center;
  font-size: 2em;
  width: 50%;
  line-height: 1;
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: auto;
  padding: 2em;
}
@media only screen and (max-width: 42em) {
  .ruta .enfasis {
    width: 95%;
    font-size: 1.4em;
    background-size: 100% 100%;
    padding: 1em;
  }
}

.que_es {
  padding: 0 0 5em 0;
  margin-top: -6em;
}
@media only screen and (max-width: 42em) {
  .que_es {
    margin-top: -4em;
  }
}
.que_es .sello {
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  text-align: center;
  margin: auto;
}
.que_es .sello img {
  width: 8em;
}
@media only screen and (max-width: 42em) {
  .que_es .sello img {
    width: 5em;
  }
}
.que_es h2 {
  font-family: "Alike Angular", sans-serif;
  text-align: center;
  font-size: 4.5em;
}
@media only screen and (max-width: 42em) {
  .que_es h2 {
    font-size: 3em;
    line-height: 1;
  }
}
.que_es .bajada {
  font-size: 1.5em;
  text-align: center;
  line-height: 1.1;
  color: #3A3A7C;
}
@media only screen and (max-width: 42em) {
  .que_es .bajada {
    font-size: 1.2em;
  }
}
.que_es .ejes {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 1em 1fr;
  grid-template-columns: repeat(2, 1fr);
  grid-gap: 1em;
  width: 70%;
  margin: 2em auto 2em auto;
}
@media only screen and (max-width: 42em) {
  .que_es .ejes {
    display: block;
  }
}
.que_es .ejes .eje {
  padding: 2em 2em;
  text-align: center;
}
.que_es .ejes .eje:nth-child(1) {
  background: url(assets/img/Fondo_01_A.png) no-repeat;
  background-position: center;
  background-size: 100% 100%;
}
.que_es .ejes .eje:nth-child(2) {
  background: url(assets/img/Fondo_02_A.png) no-repeat;
  background-position: center;
  background-size: 100% 100%;
}
.que_es .ejes .eje:nth-child(3) {
  background: url(assets/img/Fondo_03_A.png) no-repeat;
  background-position: center;
  background-size: 100% 100%;
}
.que_es .ejes .eje:nth-child(4) {
  background: url(assets/img/Fondo_04_A.png) no-repeat;
  background-position: center;
  background-size: 100% 100%;
}
.que_es .ejes .eje h3 {
  color: #FEF5DF;
  display: block;
  line-height: 1;
}
.que_es p.enfasis {
  color: #8935A2;
  text-align: center;
  font-size: 120%;
}
.que_es a.cta {
  margin: auto;
}

.conferencias {
  padding: 20em 0 10em 0;
  background: url(assets/img/fondo_conferencia.png) no-repeat;
  background-position: center top;
  margin-top: -2em;
  position: relative;
  z-index: 5;
}
@media only screen and (max-width: 42em) {
  .conferencias {
    background-size: 100%;
    padding: 10em 0 10em 0;
  }
}
.conferencias h2 {
  font-size: 5em;
  line-height: 1;
  text-align: center;
}
@media only screen and (max-width: 42em) {
  .conferencias h2 {
    font-size: 3em;
  }
}
.conferencias .bajada {
  font-size: 2em;
  color: #3A3A7C;
  text-align: center;
  line-height: 1;
  margin-bottom: 2em;
}
@media only screen and (max-width: 42em) {
  .conferencias .bajada {
    font-size: 1.3em;
  }
}
.conferencias p {
  color: #3A3A7C;
}
.conferencias h3 {
  margin-bottom: 0;
}

.experiencias {
  background: url(assets/img/fondo_blanco.png);
  padding: 10em 0;
}
@media only screen and (max-width: 42em) {
  .experiencias {
    padding: 5em 0;
  }
}
.experiencias h2 {
  text-align: center;
  font-size: 5em;
  margin-bottom: 0;
  line-height: 1;
}
@media only screen and (max-width: 42em) {
  .experiencias h2 {
    font-size: 3em;
  }
}
.experiencias .bajada {
  font-size: 1.8em;
  margin-bottom: 3em;
  text-align: center;
  color: #3A3A7C;
  line-height: 1.2;
}
@media only screen and (max-width: 42em) {
  .experiencias .bajada {
    font-size: 1.3em;
  }
}
.experiencias .bloques {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 2em 1fr 2em 1fr;
  grid-template-columns: repeat(3, 1fr);
  grid-gap: 2em;
}
@media only screen and (max-width: 42em) {
  .experiencias .bloques {
    display: block;
  }
}
.experiencias .bloque {
  background: #FEF5DF;
  border-radius: 5px;
  -webkit-box-shadow: 0 0 5px rgba(0, 0, 0, 0.5);
          box-shadow: 0 0 5px rgba(0, 0, 0, 0.5);
  padding: 3.5em 1em 1em 1em;
  position: relative;
  margin-bottom: 2em;
}
.experiencias .bloque h3 {
  position: absolute;
  display: block;
  left: 0;
  right: 0;
  top: -0.8em;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  background: url(assets/img/Fondo_Morado.png) no-repeat;
  background-size: 100%;
  margin: auto;
  color: #FEF5DF;
  padding: 0.2em 0.5em;
}
.experiencias .bloque h4 {
  margin: 0;
  font-size: 1em;
  font-family: "Lato", sans-serif;
}
.experiencias .bloque .item {
  position: relative;
  padding: 0 1em;
  width: 100%;
}
.experiencias .bloque .item:before {
  left: 0em;
  content: "";
  position: absolute;
  background: url(assets/img/punto.svg) no-repeat;
  background-size: contain;
  width: 0.6em;
  height: 0.6em;
  top: 0.4em;
}
.experiencias .cta {
  margin: auto;
}

.experiencias_vip {
  background: url(assets/img/fondo_azul.png) no-repeat;
  background-position: top center;
  background-size: cover;
  margin-top: -2em;
  color: #FEF5DF;
  padding-top: 4em;
  text-align: center;
  padding-bottom: 3em;
}
.experiencias_vip h3 {
  color: #FEF5DF;
  font-size: 5em;
}
@media only screen and (max-width: 42em) {
  .experiencias_vip h3 {
    font-size: 2em;
  }
}
.experiencias_vip p {
  margin-bottom: 0.6em;
  line-height: 1;
  font-size: 1.3em;
}
@media only screen and (max-width: 42em) {
  .experiencias_vip p {
    font-size: 0.8em;
  }
}
.experiencias_vip p:first-of-type {
  font-size: 2.8em;
}
@media only screen and (max-width: 42em) {
  .experiencias_vip p:first-of-type {
    font-size: 1.2em;
  }
}

.paraquien {
  padding: 10em 0;
}
@media only screen and (max-width: 42em) {
  .paraquien {
    padding: 5em 0;
  }
}
.paraquien h2 {
  font-size: 4em;
  line-height: 1.2;
}
@media only screen and (max-width: 42em) {
  .paraquien h2 {
    font-size: 2em;
  }
}
.paraquien .bajada {
  font-size: 1.6em;
  color: #3A3A7C;
  line-height: 1.2;
}
@media only screen and (max-width: 42em) {
  .paraquien .bajada {
    font-size: 1.3em;
  }
}
.paraquien ul {
  margin-top: 4em;
  font-size: 1.3em;
  width: 70%;
}
.paraquien ul li {
  list-style-image: url(assets/img/punto.svg);
  color: #3A3A7C;
  line-height: 1.1;
  margin-bottom: 1em;
}
.paraquien ul li:last-child {
  font-size: 1.7em;
  font-weight: bold;
}
@media only screen and (max-width: 42em) {
  .paraquien ul {
    margin-top: 1em;
    width: 90%;
    padding: 0;
  }
}

.quetellevas {
  text-align: center;
}
.quetellevas h2 {
  font-size: 5.5em;
  line-height: 1;
}
@media only screen and (max-width: 42em) {
  .quetellevas h2 {
    font-size: 3em;
  }
}
.quetellevas .valor {
  background: url(assets/img/fondo_valor.svg) no-repeat;
  background-size: contain;
  width: 17em;
  height: 17em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 2em;
  margin: 0 auto;
}
.quetellevas .valor h3 {
  color: #FEF5DF;
  font-family: "Lato", sans-serif;
  line-height: 1;
  font-size: 1.8em;
}
.quetellevas .valor:nth-child(2) {
  width: 20em;
  height: 20em;
  margin-left: -1.5em;
  margin-top: 2em;
}
@media only screen and (max-width: 42em) {
  .quetellevas .valor:nth-child(2) {
    margin-left: 0;
    margin-top: -3em;
  }
}
.quetellevas .valor:nth-child(3) {
  margin-left: -1.8em;
}
@media only screen and (max-width: 42em) {
  .quetellevas .valor:nth-child(3) {
    margin-left: 3em;
    margin-top: -2em;
  }
}
.quetellevas .valores {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media only screen and (max-width: 42em) {
  .quetellevas .valores {
    display: block;
  }
}
.quetellevas h3.call {
  background: url(assets/img/linea_morada_2.png) no-repeat;
  background-position: center;
  text-align: center;
  color: #FEF5DF;
  padding: 1em 0;
  font-size: 2.3em;
  font-family: "Lato", sans-serif;
  font-weight: normal;
  line-height: 1;
}
.quetellevas h3.call strong {
  display: block;
  font-weight: bold;
}
@media only screen and (max-width: 42em) {
  .quetellevas h3.call {
    font-size: 1.3em;
    background-size: contain;
  }
}

.sede {
  background: url(assets/img/fondo_azul.png) no-repeat;
  background-size: 100% 100%;
  text-align: center;
  color: #FEF5DF;
  padding: 10em 0;
  position: relative;
  z-index: 10;
  margin-top: 6em;
}
@media only screen and (max-width: 42em) {
  .sede {
    padding: 5em 0;
    background-size: cover;
    background-position: center center;
  }
}
.sede h3, .sede h4 {
  color: #FEF5DF;
  margin-bottom: 0;
}
.sede h3 {
  font-size: 4em;
}
@media only screen and (max-width: 42em) {
  .sede h3 {
    font-size: 2em;
  }
}
.sede h4 {
  font-size: 3.5em;
}
@media only screen and (max-width: 42em) {
  .sede h4 {
    font-size: 1.5em;
  }
}
.sede p {
  font-size: 1.8em;
}

.contacto {
  background: url(assets/img/fondo_blanco.png);
  background-size: contain;
  padding: 10em 0;
  margin-top: -2em;
  position: relative;
  z-index: 5;
  text-align: center;
}
@media only screen and (max-width: 42em) {
  .contacto {
    padding: 5em 0;
  }
}
.contacto h3 {
  font-size: 4em;
  line-height: 1.2;
}
@media only screen and (max-width: 42em) {
  .contacto h3 {
    font-size: 2em;
  }
}
.contacto p.bajada {
  font-size: 1.5em;
  line-height: 1.1;
  color: #3A3A7C;
}
@media only screen and (max-width: 42em) {
  .contacto p.bajada {
    font-size: 1.2em;
  }
}
.contacto .ctas {
  justify-items: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  text-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 40%;
  margin: 0 auto 2em auto;
}
.contacto .ctas a {
  margin: auto;
}
@media only screen and (max-width: 42em) {
  .contacto .ctas {
    display: block;
    width: 100%;
    margin-bottom: 1em;
  }
  .contacto .ctas a {
    width: 100%;
    margin-bottom: 1em;
  }
}
.contacto .forma_contacto {
  background: #FEF5DF;
  padding: 3em;
  border-radius: 6px;
  -webkit-box-shadow: 0 0 15px rgba(0, 0, 0, 0.2);
          box-shadow: 0 0 15px rgba(0, 0, 0, 0.2);
  width: 80%;
  margin: auto;
  text-align: left;
}
@media only screen and (max-width: 42em) {
  .contacto .forma_contacto {
    width: 100%;
    padding: 3em 1em;
  }
}
.contacto .forma_contacto .sello {
  display: block;
  margin: 0 auto 2em auto;
}
.contacto .forma_contacto label, .contacto .forma_contacto legend {
  font-size: 1.3em;
  color: #3A3A7C;
}
.contacto .forma_contacto input {
  -webkit-box-shadow: none;
          box-shadow: none;
  padding: 1.5em 1em;
  border-radius: 4px;
  margin-bottom: 0.5em;
}
.contacto .forma_contacto select {
  margin-bottom: 0.5em;
}
.contacto .forma_contacto .metodo {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media only screen and (max-width: 42em) {
  .contacto .forma_contacto .metodo {
    display: block;
  }
}
.contacto .forma_contacto .metodo label {
  font-size: 1em;
}
.contacto .forma_contacto .legal_enviar {
  color: #3A3A7C;
  margin-top: 2em;
}
.contacto .forma_contacto .legal_enviar p {
  font-size: 0.8em;
}
.contacto .forma_contacto .legal_enviar a {
  color: #3A3A7C;
  text-decoration: underline;
}
.contacto .forma_contacto input[type=submit] {
  margin-top: 2em;
  background: #8935A2;
  color: #FEF5DF;
  padding: 1em;
  border: none;
  text-transform: uppercase;
  font-weight: bold;
  font-size: 1.2em;
}
.contacto .forma_contacto .hp-field {
  position: absolute !important;
  left: -10000px !important;
  top: auto !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
}

.parsley-errors-list {
  margin: 0;
}
.parsley-errors-list li {
  list-style-type: none;
  background: red;
  color: #FEF5DF;
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  padding: 0.4em 1em;
  font-size: 0.8em;
  border-radius: 50em;
}

fieldset {
  position: relative;
}
fieldset .parsley-errors-list {
  position: absolute;
  bottom: -2em;
}

.legal {
  margin-top: 3em;
  border-top: 1px solid #cccccc;
  padding-top: 1em;
}
.legal label {
  font-size: 0.8em !important;
}

.costos {
  background: url(assets/img/fondo_blanco.png);
  background-size: contain;
  padding: 5em 0;
  color: #3A3A7C;
}
.costos .intro_costos {
  text-align: center;
  margin-bottom: 2em;
}
.costos .intro_costos h3 {
  font-size: 4em;
  margin-bottom: 0;
}
.costos .intro_costos p {
  font-size: 1.5em;
  margin-bottom: 0;
}
.costos .intro_costos p:nth-child(3) {
  font-size: 1.2em;
}
.costos .bloques {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 2em 1fr 2em 1fr;
  grid-template-columns: repeat(3, 1fr);
  grid-gap: 2em;
}
@media only screen and (max-width: 42em) {
  .costos .bloques {
    display: block;
  }
}
.costos .bloque {
  background: #FEF5DF;
  border-radius: 5px;
  -webkit-box-shadow: 0 0 5px rgba(0, 0, 0, 0.5);
          box-shadow: 0 0 5px rgba(0, 0, 0, 0.5);
  padding: 3.5em 1em 1em 1em;
  position: relative;
  margin-bottom: 2em;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
}
.costos .bloque h3 {
  position: absolute;
  display: block;
  left: 0;
  right: 0;
  top: -0.8em;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  background: url(assets/img/Fondo_Morado.png) no-repeat;
  background-size: 100% 100%;
  margin: auto;
  color: #FEF5DF;
  padding: 0.5em 1.5em;
  text-align: center;
  line-height: 1;
  font-size: 1.6em;
  font-family: "Lato", sans-serif;
  text-transform: uppercase;
}
.costos .bloque h3 span {
  display: block;
  font-size: 50%;
  text-transform: uppercase;
}
.costos .bloque h4 {
  font-size: 1.5em;
  line-height: 1;
  font-family: "Lato", sans-serif;
}
.costos .bloque .costo {
  padding: 0.5em 0;
  border-bottom: 1px solid #3A3A7C;
}
.costos .bloque .costo:last-child() {
  border-bottom: none;
}
.costos .bloque .costo p {
  margin-bottom: 0;
  line-height: 1.2;
}
.costos .bloque .costo p.nombre {
  font-weight: bold;
  text-transform: uppercase;
}
.costos .bloque .costo p.precio {
  font-weight: bolder;
}
.costos .bloque .costo p.fecha {
  font-size: 80%;
  text-transform: uppercase;
}
.costos .bloque .info_bloque .incluye {
  margin-bottom: 2em;
}
.costos .bloque .info_bloque .incluye p {
  margin-bottom: 0;
  font-weight: bold;
  text-transform: uppercase;
}
.costos .bloque .info_bloque .incluye ul li.plus {
  font-weight: bold;
}
.costos .bloque .fechalimite {
  background: url(assets/img/LineaAzul.png) no-repeat;
  background-size: 100% 100%;
  color: #FEF5DF;
  padding: 0.8em 2em;
  font-size: 0.8em;
  margin-top: 2em;
  margin-bottom: 2em;
}
.costos .bloque .cta {
  width: 100%;
}
.costos #undia .fechalimite {
  background: url(assets/img/LineaAzul.png) no-repeat;
  background-size: 100% 100%;
  background-position: center center;
  color: #FEF5DF;
  padding: 0.4em 2em;
  font-size: 0.8em;
  margin-top: 2em;
  margin-bottom: 2em;
}

.bloque_hospedaje {
  background: #FEF5DF;
  color: #3A3A7C;
  border-radius: 5px;
  -webkit-box-shadow: 0 0 5px rgba(0, 0, 0, 0.5);
          box-shadow: 0 0 5px rgba(0, 0, 0, 0.5);
  padding: 3.5em 1em 1em 1em;
  position: relative;
  margin-bottom: 2em;
  margin-top: 2em;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
}
.bloque_hospedaje h2 {
  position: absolute;
  display: block;
  left: 0;
  right: 0;
  top: -0.8em;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  background: url(assets/img/Fondo_Morado.png) no-repeat;
  background-size: 100% 100%;
  margin: auto;
  color: #FEF5DF;
  padding: 0.5em 1.5em;
  text-align: center;
  line-height: 1;
  font-size: 1.6em;
  font-family: "Lato", sans-serif;
  text-transform: uppercase;
}
.bloque_hospedaje h2 span {
  display: block;
  font-size: 50%;
  text-transform: uppercase;
}
.bloque_hospedaje .opciones_hospedaje {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: (1fr)[2];
  grid-template-columns: repeat(2, 1fr);
}
@media only screen and (max-width: 42em) {
  .bloque_hospedaje .opciones_hospedaje {
    display: block;
  }
}
.bloque_hospedaje .opciones_hospedaje .hospedaje h3 {
  font-family: "Lato", sans-serif;
  text-transform: uppercase;
  line-height: 1;
  text-align: center;
  margin-bottom: 1.3em;
}
.bloque_hospedaje .opciones_hospedaje .hospedaje h3 span {
  display: block;
  font-size: 60%;
}
.bloque_hospedaje .opciones_hospedaje .hospedaje h3:after {
  content: "";
  display: block;
  width: 5em;
  height: 2px;
  background: #8935A2;
  display: block;
  margin: 0.5em auto;
}
.bloque_hospedaje .opciones_hospedaje .hospedaje .opciones h4 {
  font-family: "Lato", sans-serif;
  font-size: 1.4em;
  text-align: center;
  line-height: 1;
}
.bloque_hospedaje .opciones_hospedaje .hospedaje .opciones p {
  text-align: center;
  font-weight: bold;
  font-size: 120%;
}
.bloque_hospedaje .opciones_hospedaje .hospedaje .opciones p span {
  display: block;
  font-size: 80%;
}
.bloque_hospedaje .opciones_hospedaje .hospedaje .casa, .bloque_hospedaje .opciones_hospedaje .hospedaje .incluye {
  text-align: center;
}
.bloque_hospedaje .opciones_hospedaje .hospedaje .incluye {
  font-weight: bold;
}
.bloque_hospedaje .opciones_hospedaje #hospedaje_hacienda .opciones {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: (1fr)[2];
  grid-template-columns: repeat(2, 1fr);
}
@media only screen and (max-width: 42em) {
  .bloque_hospedaje .opciones_hospedaje #hospedaje_hacienda .opciones {
    display: block;
  }
}

.cta_final {
  text-align: center;
  padding: 5em 0;
}
.cta_final h2 {
  font-size: 4em;
  margin-bottom: 0;
  line-height: 1.2;
}
@media only screen and (max-width: 42em) {
  .cta_final h2 {
    font-size: 2.3em;
  }
}
.cta_final h3 {
  font-size: 3em;
  margin-bottom: 0;
}
@media only screen and (max-width: 42em) {
  .cta_final h3 {
    font-size: 1.9em;
    margin-top: 1em;
  }
}
.cta_final p {
  font-size: 1.5em;
  color: #3A3A7C;
}
@media only screen and (max-width: 42em) {
  .cta_final p {
    font-size: 1.3em;
    margin-top: 1em;
  }
}

footer {
  text-align: center;
}
footer img {
  width: 20em;
}
footer nav {
  margin-top: 4em;
}
footer nav ul {
  margin: 0;
}
footer nav ul li {
  display: inline-block;
}
footer nav ul li a {
  padding: 1em;
  text-transform: uppercase;
  display: block;
  color: #3A3A7C;
  font-weight: bold;
}
footer nav ul li a:hover {
  color: rgb(78.9054945055, 78.9054945055, 168.6945054945);
  background: rgba(58, 58, 124, 0.1);
}
@media only screen and (max-width: 42em) {
  footer nav ul li {
    display: block;
    text-align: left;
  }
}