/* SETEOS GENERALES */
@import url("https://fonts.googleapis.com/css2?family=Alegreya+Sans+SC&family=Baloo+2&family=Comfortaa&family=Josefin+Sans&family=Rubik+Vinyl&family=Unbounded&display=swap");
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box; }

h1 {
  text-align: center;
  padding-top: 10px;
  font-family: "Alegreya Sans SC", sans-serif;
  font-size: 35px;
  text-transform: uppercase; }

h2 {
  text-align: center;
  padding-top: 10px;
  font-family: "Alegreya Sans SC", sans-serif;
  font-size: 30px; }

h3 {
  font-family: "Comfortaa", cursive;
  font-size: 20px;
  padding-top: 10px; }

p {
  font-family: "Comfortaa", cursive; }

header {
  height: 400px;
  width: 100%;
  overflow: visible;
  display: flex;
  flex-direction: column; }

/***********************************************************/
/* BANNER ANIMADO */
/***********************************************************/
.banner {
  position: relative;
  height: 100%;
  width: 100%;
  overflow: hidden; }

.playa {
  position: absolute; }

.cielo {
  height: 40%;
  width: 100%;
  background: linear-gradient(to bottom, #037ccb, #82ccef 100%); }

.sol {
  left: 30px;
  top: 20px;
  border-radius: 50%;
  width: 70px;
  height: 70px;
  background-color: orange;
  box-shadow: 0 0 35px 5px yellow, 0 0 25px 10px yellow inset; }

.mar {
  height: 30%;
  width: 200%;
  left: -50%;
  top: 40%;
  border-radius: 0 0 50% 50%;
  background: linear-gradient(to bottom, #087ac1 0%, #129cc0 25%, #2a79e5 50%, #96e9ef 75%, #deecd3 100%);
  animation: marea ease-in-out 10s infinite;
  transform-origin: 50% 0%;
  overflow: hidden;
  z-index: 2; }

@keyframes marea {
  0% {
    transform: scaleY(1); }
  35% {
    transform: scaleY(1.7); }
  70% {
    transform: scaleY(1); }
  100% {
    transform: scaleY(1); } }

/* TEXTO EN ARENA */
.texto {
  position: absolute;
  text-align: center;
  width: 100%;
  top: 70%;
  z-index: 1;
  animation: anim-texto ease-in-out 10s infinite;
  transform: perspective(25px) rotateX(3deg); }
  .texto p {
    font-family: "Rubik Vinyl", cursive;
    font-size: 50px;
    color: #b88c40; }

/* ANIMACION: Texto desapareciendo */
@keyframes anim-texto {
  0% {
    opacity: 0.0; }
  34% {
    opacity: 0.0; }
  35% {
    opacity: 0.7; }
  50% {
    opacity: 1; }
  63% {
    opacity: 0.8; }
  75% {
    opacity: 0.6; }
  85% {
    opacity: 0.2; }
  90% {
    opacity: 0.1; }
  100% {
    opacity: 0.0; } }

.espuma {
  height: 100%;
  width: 100%;
  background: linear-gradient(to bottom, transparent 0%, transparent 90%, white 100%);
  animation: espuma ease-in-out 10s infinite; }

@keyframes espuma {
  0% {
    opacity: 0; }
  30% {
    opacity: 1; }
  50% {
    opacity: 0; }
  100% {
    opacity: 0; } }

.arena {
  height: 50%;
  width: 100%;
  background: #fdf1d7;
  top: 40%; }

.arena-frente {
  height: 10%;
  width: 100%;
  background: #fdf1d7;
  top: 90%; }

.arena-hume {
  height: 43%;
  width: 200%;
  left: -50%;
  top: 40%;
  border-radius: 0 0 50% 50%;
  background: #ecc075;
  box-shadow: 0 10px 10px #ecc075;
  animation: arena ease-in-out 10s infinite; }

@keyframes arena {
  0% {
    opacity: 0.2; }
  34% {
    opacity: 0.2; }
  35% {
    opacity: 0.7; }
  100% {
    opacity: 0.2; } }

/* PALMERA */
.hoja-palmera-r {
  right: -40px;
  transform-origin: top right;
  animation: viento 13s infinite;
  z-index: 3; }

/* ANIMACION VIENTO */
@keyframes viento {
  0% {
    transform: skew(0); }
  10% {
    transform: skew(1deg); }
  20% {
    transform: skew(2deg); }
  50% {
    transform: skew(3deg); }
  70% {
    transform: skew(5deg); }
  100% {
    transform: skew(0); } }

.hoja-palmera-r img {
  height: 320px; }

body {
  width: 100%;
  max-width: 1300px;
  margin: 0 auto; }

/***********************************************************/
/* BARRA DE NAV-BOOTSTRAP */
/***********************************************************/
.navbar {
  background-color: #fdf1d7;
  /* MENU CENTRADO (desplegado) */ }
  .navbar .navbar-collapse {
    text-align: center; }

.nav-item {
  list-style: none;
  font-family: "Comfortaa", cursive;
  padding-top: 7px; }

.nav-link {
  padding-right: 10px;
  padding-left: 10px; }

.active {
  font-weight: bold; }

/* MENU CENTRADO */
.navbar-toggler {
  margin: 0 auto;
  border: none;
  -webkit-animation: jello-horizontal 1s both;
  animation: jello-horizontal 1s both; }

@-webkit-keyframes jello-horizontal {
  0% {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1); }
  30% {
    -webkit-transform: scale3d(1.25, 0.75, 1);
    transform: scale3d(1.25, 0.75, 1); }
  40% {
    -webkit-transform: scale3d(0.75, 1.25, 1);
    transform: scale3d(0.75, 1.25, 1); }
  50% {
    -webkit-transform: scale3d(1.15, 0.85, 1);
    transform: scale3d(1.15, 0.85, 1); }
  65% {
    -webkit-transform: scale3d(0.95, 1.05, 1);
    transform: scale3d(0.95, 1.05, 1); }
  75% {
    -webkit-transform: scale3d(1.05, 0.95, 1);
    transform: scale3d(1.05, 0.95, 1); }
  100% {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1); } }

@keyframes jello-horizontal {
  0% {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1); }
  30% {
    -webkit-transform: scale3d(1.25, 0.75, 1);
    transform: scale3d(1.25, 0.75, 1); }
  40% {
    -webkit-transform: scale3d(0.75, 1.25, 1);
    transform: scale3d(0.75, 1.25, 1); }
  50% {
    -webkit-transform: scale3d(1.15, 0.85, 1);
    transform: scale3d(1.15, 0.85, 1); }
  65% {
    -webkit-transform: scale3d(0.95, 1.05, 1);
    transform: scale3d(0.95, 1.05, 1); }
  75% {
    -webkit-transform: scale3d(1.05, 0.95, 1);
    transform: scale3d(1.05, 0.95, 1); }
  100% {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1); } }

/* REEMPLAZA ICONO DEL MENU */
.navbar-toggler-icon {
  background-color: #b88c40;
  background-image: url(../img/logo-menu.png) !important;
  background-size: cover;
  height: 50px;
  width: 50px;
  position: relative;
  transition: all 0.50s ease-out;
  transform-origin: center;
  border-radius: 50%;
  box-shadow: #b88c40 0px 3px 5px 3px; }

.navbar-toggler:not(.collapsed) .navbar-toggler-icon {
  transform: rotateY(180deg); }

main {
  padding-top: 20px; }

/***********************************************************/
/* FOOTER */
/***********************************************************/
footer {
  display: block;
  height: auto;
  width: 100%;
  text-align: center;
  background-color: #fdf1d7;
  padding-bottom: 10px; }
  footer a {
    color: black;
    font-size: 40px;
    letter-spacing: 30px; }
  footer h6 {
    font-size: 15px;
    font-family: "Comfortaa", cursive; }
  footer .foot {
    padding-top: 10px; }
  footer .redes {
    padding-inline-start: 29px; }

/******************/
/*      HOME      */
/******************/
.galeria {
  height: auto;
  display: grid;
  margin: auto;
  grid-template-columns: repeat(4, 1fr);
  grid-template-rows: repeat(4, 200px);
  grid-template-areas: "img1 img1 img2 img3" "img7 img5 img5 img3" "img7 img4 img4 img8" "img6 img6 img6 img8";
  gap: 10px;
  padding: 30px;
  text-transform: capitalize; }

.gal {
  border-radius: 1px;
  background-size: cover;
  background-position: center; }
  .gal:hover {
    transform: scale(1.07);
    transition: all 0.7s;
    box-shadow: 5px 5px 10px 5px black;
    z-index: 1; }
    .gal:hover p {
      visibility: hidden; }
  .gal p {
    padding: 5px;
    background-color: #037ccb;
    opacity: 0.9;
    border-radius: 5px;
    text-align: center;
    color: white;
    text-shadow: 2px 2px 5px #040109;
    font-size: 18px;
    text-transform: uppercase;
    font-family: "Comfortaa", cursive; }

.gal-img-1 {
  grid-area: img1;
  background-image: url("../img/gal-01.jpg"); }

.gal-img-2 {
  grid-area: img2;
  background-image: url("../img/gal-02.jpg"); }

.gal-img-3 {
  grid-area: img3;
  background-image: url("../img/gal-03.jpg"); }

.gal-img-4 {
  grid-area: img4;
  background-image: url("../img/gal-04.jpg"); }

.gal-img-5 {
  grid-area: img5;
  background-image: url("../img/gal-05.jpg"); }

.gal-img-6 {
  grid-area: img6;
  background-image: url("../img/gal-06.jpg"); }

.gal-img-7 {
  grid-area: img7;
  background-image: url("../img/gal-07.jpg"); }

.gal-img-8 {
  grid-area: img8;
  background-image: url("../img/gal-08.jpg"); }

/* MOTIVOS */
.motivos {
  height: auto;
  display: grid;
  margin: auto;
  grid-template-columns: repeat(6, 1fr);
  grid-template-rows: repeat(2, 1fr);
  grid-template-areas: "mot1 mot1 mot2 mot2 mot3 mot3" ". mot4 mot4 mot5 mot5 .";
  gap: 10px;
  padding: 30px; }
  .motivos .mot {
    margin-left: 5px;
    margin-right: 5px;
    padding-left: 10px;
    padding-right: 10px; }
    .motivos .mot h3 {
      text-align: center;
      padding-bottom: 10px; }
    .motivos .mot p {
      text-align: justify;
      font-size: 1em;
      padding-bottom: 10px; }
  .motivos .mot-1 {
    grid-area: mot1; }
  .motivos .mot-2 {
    grid-area: mot2; }
  .motivos .mot-3 {
    grid-area: mot3; }
  .motivos .mot-4 {
    grid-area: mot4; }
  .motivos .mot-5 {
    grid-area: mot5; }

/******************/
/*  EXCURSIONES   */
/******************/
.tours h3 {
  font-weight: bold;
  text-align: center; }

.tours p {
  text-align: justify;
  font-size: 14px;
  padding: 5px; }

.tours .myCard {
  position: relative;
  height: 330px;
  display: flex;
  transform-style: preserve-3d;
  transform: perspective(1000px); }
  .tours .myCard:hover > .frente, .tours .myCard:hover > .dorso {
    transform: perspective(2500px) rotateY(-180deg); }
  .tours .myCard:hover > .dorso {
    transform: perspective(2500px) rotateY(0deg); }
  .tours .myCard .frente, .tours .myCard .dorso {
    width: 100%;
    height: 100%;
    overflow: hidden;
    backface-visibility: hidden;
    position: absolute;
    transition: transform .7s linear;
    border-radius: 5px;
    transform: perspective(2500px) rotateY(0deg); }
    .tours .myCard .frente img, .tours .myCard .dorso img {
      height: 100%;
      border-radius: 5px; }
  .tours .myCard .dorso {
    transform: perspective(2500px) rotateY(180deg);
    background: #ecebeb; }

/******************/
/*   TRANSPORTE   */
/******************/
.transporte .vehiculos {
  height: 400px;
  margin-bottom: 20px;
  background-image: url(../img/traslados.jpg);
  background-size: cover;
  background-position: center;
  border-radius: 5px; }

.transporte h3 {
  font-family: "Comfortaa", cursive;
  font-size: 20px;
  padding-top: 10px;
  font-weight: bold;
  text-align: left; }

.transporte p {
  text-align: justify;
  font-size: 14px;
  padding: 5px; }

.transporte span {
  font-weight: bold; }

/******************/
/*    NOSOTROS    */
/******************/
.nosotros h3 {
  font-family: "Comfortaa", cursive;
  font-size: 20px;
  padding-top: 10px;
  font-weight: bold; }

.nosotros p {
  text-align: justify;
  font-size: 1em;
  padding-bottom: 10px; }

.nosotros span {
  font-weight: bold; }

/******************/
/*    CONTACTO    */
/******************/
.contacto {
  display: flex;
  align-items: center;
  justify-content: center; }
  .contacto .myForm {
    width: 500px;
    height: min-content;
    padding: 20px;
    border-radius: 12px; }
    .contacto .myForm h3 {
      font-family: "Comfortaa", cursive;
      font-size: 20px;
      padding-top: 10px;
      font-weight: bold; }
    .contacto .myForm input::placeholder {
      font-family: "Comfortaa", cursive; }
    .contacto .myForm textarea {
      width: 100%;
      resize: none;
      height: 250px;
      border-radius: 12px; }
      .contacto .myForm textarea::placeholder {
        font-family: "Comfortaa", cursive; }
    .contacto .myForm form .form-group {
      margin-bottom: 12px; }
    .contacto .myForm form input[type="submit"] {
      font-size: 18px;
      margin-top: 15px;
      font-family: "Comfortaa", cursive; }

/***********************************************************/
/* RESPONSIVE: TABLET 768 (md)*/
/***********************************************************/
@media only screen and (max-width: 767px) {
  /* GENERALES */
  h1 {
    font-size: 30px; }
  h2 {
    font-size: 25px; }
  /******************/
  /*      HOME      */
  /******************/
  .galeria {
    height: auto;
    display: grid;
    margin: auto;
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: repeat(4, 180px);
    grid-template-areas: "img1 img2" "img3 img4" "img5 img6" "img7 img8";
    gap: 10px;
    padding: 20px;
    text-transform: capitalize; }
    .galeria .gal p {
      padding: 2px;
      font-size: 15px; }
  /* MOTIVOS */
  .motivos {
    height: auto;
    display: grid;
    margin: auto;
    grid-template-columns: repeat(4, 1fr);
    grid-template-rows: repeat(3, 1fr);
    grid-template-areas: "mot1 mot1 mot2 mot2" "mot3 mot3 mot4 mot4" ". mot5 mot5 .";
    gap: 10px;
    padding: 30px; }
    .motivos .mot p {
      font-size: 0.77em; }
  /******************/
  /*  EXCURSIONES   */
  /******************/
  .tours .myCard {
    height: 275px; }
  .tours h3 {
    font-size: 18px; }
  .tours p {
    font-size: 0.77em; }
  /******************/
  /*    NOSOTROS    */
  /******************/
  .nosotros h3 {
    font-size: 18px; }
  .nosotros p {
    font-size: 0.77em; }
  /******************/
  /*   TRANSPORTE   */
  /******************/
  .transporte h3 {
    font-size: 18px; }
  .transporte p {
    font-size: 0.77em; }
  .transporte .vehiculos {
    height: 300px; }
  /******************/
  /*    CONTACTO    */
  /******************/
  .contacto .myForm input::placeholder {
    font-size: 15px; }
  .contacto .myForm textarea::placeholder {
    font-size: 15px; }
  .contacto .myForm h3 {
    font-size: 18px; }
  .contacto .myForm form input[type="submit"] {
    font-size: 15px; }
  /******************/
  /*     FOOTER     */
  /******************/
  footer h6 {
    font-size: 13px; }
  footer a {
    font-size: 30px;
    letter-spacing: 25px; } }

/***********************************************************/
/* RESPONSIVE: 576  (sm)*/
/***********************************************************/
@media only screen and (max-width: 575px) {
  /* GENERALES */
  h1 {
    font-size: 25px; }
  h2 {
    font-size: 20px; }
  /******************/
  /*     BANNER     */
  /******************/
  .texto p {
    padding-top: 8px;
    font-size: 30px; }
  /******************/
  /*      HOME      */
  /******************/
  .galeria {
    height: auto;
    display: grid;
    margin: auto;
    grid-template-columns: 1fr;
    grid-template-rows: repeat(8, 200px);
    grid-template-areas: "img1" "img2" "img3" "img4" "img5" "img6" "img7" "img8 ";
    gap: 10px;
    padding: 10px;
    text-transform: capitalize; }
    .galeria .gal p {
      padding: 2px;
      font-size: 13px; }
    .galeria .gal:hover {
      transform: none;
      box-shadow: none; }
      .galeria .gal:hover p {
        visibility: visible; }
  /* MOTIVOS */
  .motivos {
    height: auto;
    display: grid;
    margin: auto;
    grid-template-columns: 1fr;
    grid-template-rows: repeat(5, auto);
    grid-template-areas: "mot1" "mot2" "mot3" "mot4" "mot5";
    gap: 10px;
    padding: 30px; }
    .motivos .mot h3 {
      font-size: 15px; }
  /******************/
  /*   TRANSPORTE   */
  /******************/
  .transporte .vehiculos {
    height: 230px; } }
