/*===== root =====*/
:root {
  /* Colors */
  --bg-dark: rgb(12, 11, 9);
  --color-negro: rgb(29, 29, 27);
  --color-blanco: rgb(255, 255, 255);
  --color-principal: rgb(205, 164, 94);
  --color-secundario: rgb(217, 186, 133);
  --color-terciario: rgb(219, 164, 69);
  --color-cuarto: rgb(208, 190, 159);
  --color-gris: rgb(211, 205, 193);
}

/* mukta-regular - latin */
@font-face {
  font-display: swap;
  font-family: 'Mukta';
  font-style: normal;
  font-weight: 500;
  src: url('../fonts/mukta-v14-latin/mukta-v14-latin-regular.woff2') format('woff2');
}

/*===== general =====*/
body {
  font-family: "Mukta", sans-serif;
  background: var(--bg-dark);
  color: var(--color-blanco);
}

a {
  color: var(--color-principal);
  text-decoration: none;
}

a:hover {
  color: var(--color-secundario);
  text-decoration: none;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: "Mukta", sans-serif;
}

/*===== preloader =====*/
#preloader {
  position: fixed;
  inset: 0;
  z-index: 9999;
  overflow: hidden;
  background: var(--bg-dark);
  transition: all 0.6s ease-out;
  width: 100%;
  height: 100vh;
}

#preloader:before,
#preloader:after {
  content: "";
  position: absolute;
  border: 4px solid var(--color-principal);
  border-radius: 50%;
  -webkit-animation: animate-preloader 2s cubic-bezier(0, 0.2, 0.8, 1) infinite;
  animation: animate-preloader 2s cubic-bezier(0, 0.2, 0.8, 1) infinite;
}

#preloader:after {
  -webkit-animation-delay: -0.5s;
  animation-delay: -0.5s;
}

@-webkit-keyframes animate-preloader {
  0% {
    width: 10px;
    height: 10px;
    top: calc(50% - 5px);
    left: calc(50% - 5px);
    opacity: 1;
  }

  100% {
    width: 72px;
    height: 72px;
    top: calc(50% - 36px);
    left: calc(50% - 36px);
    opacity: 0;
  }
}

@keyframes animate-preloader {
  0% {
    width: 10px;
    height: 10px;
    top: calc(50% - 5px);
    left: calc(50% - 5px);
    opacity: 1;
  }

  100% {
    width: 72px;
    height: 72px;
    top: calc(50% - 36px);
    left: calc(50% - 36px);
    opacity: 0;
  }
}

/*===== scrollbar =====*/
::-webkit-scrollbar{
  width: .60rem;
  background-color: rgb(206, 165, 95, 0.05);
  border-radius: .5rem;
}

::-webkit-scrollbar-thumb{
  background-color: var(--color-secundario);
  border-radius: .5rem;
}

::-webkit-scrollbar-thumb:hover{
  background-color: var(--color-principal);
}

/*===== whatsappButton =====*/
.whatsappButton {
  width: 75px;
  height: 75px;
  position: fixed;
  bottom: 0;
  left: 0;
  padding: 1rem;
}

.whatsappButton img {
  width: 100%;
  transition: all 0.4s;
  border-radius: 50%;
}

.whatsappButton img:hover {
  box-shadow: 0 4px 17px rgba(170, 170, 170, 0.35);
  transform: translateY(-3px) !important;
  cursor: pointer;
}

/*===== backtotopButton =====*/
.backtotopButton {
  position: fixed;
  visibility: hidden;
  background: var(--color-principal);
  color: var(--bg-dark);
  right: 15px;
  bottom: 15px;
  z-index: 996;
  width: 44px;
  height: 44px;
  border-radius: 50px;
  transition: all 0.4s;
  border: 2px solid var(--color-principal);
}

.backtotopButton i {
  font-size: 28px;
  color: var(--color-blanco);
  line-height: 0;
}

.backtotopButton:hover {
  box-shadow: 0 4px 17px rgba(170, 170, 170, 0.35);
  transform: translateY(-3px) !important;
  cursor: pointer;
}

.backtotopButton.active {
  visibility: visible;
  opacity: 1;
}

/*===== Desactivar el delay de la animación aos en dispositivos móviles =====*/
@media screen and (max-width: 768px) {
  [data-aos-delay] {
    transition-delay: 0 !important;
  }
}

/*===== topbar =====*/
.topbar {
  height: 40px;
  font-size: 12px;
  transition: all 0.5s;
  z-index: 996;
}

.topbar.topbar-scrolled {
  top: -40px;
}

.topbar .contact-info i {
  font-style: normal;
  color: var(--color-secundario);
}

.topbar .contact-info i span {
  padding-left: 5px;
  color: var(--color-blanco);
  font-size: 14px;
  font-weight: 500;
}

/*===== header =====*/
.header {
  background: rgba(12, 11, 9, 0.6);
  border-bottom: 1px solid rgba(12, 11, 9, 0.6);
  transition: all 0.5s;
  z-index: 997;
  padding: 15px 0;
  top: 40px;
}

.header.header-scrolled {
  top: 0;
  background: rgba(0, 0, 0, 0.85);
  border-bottom: 1px solid #37332a;
}

.header .logo {
  font-size: 28px;
  margin: 0;
  padding: 0;
  line-height: 1;
  font-weight: 300;
  letter-spacing: 1px;
  text-transform: uppercase;
}

.header .logo a {
  color: var(--color-blanco);
}

.header .logo img {
  max-height: 40px;
}

/*===== btn-reservas =====*/
.btn-reservas {
  margin: 0 0 0 15px;
  border: 2px solid var(--color-principal);
  color: var(--color-blanco);
  border-radius: 15px;
  padding: 8px 25px;
  text-transform: uppercase;
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 1px;
  transition: 0.3s;
  cursor: pointer;
}

.btn-reservas:hover {
  background: var(--color-principal);
  color: var(--color-blanco);
}

.btn-reservas i {
  margin-top: 2.4px;
}

@media (max-width: 992px) {
  .btn-reservas {
    margin: 0 15px 0 0;
    padding: 8px 20px;
  }
}

/*===== navbar =====*/

/* escritorio */
.navbar {
  padding: 0;
}

.navbar ul {
  margin: 0;
  padding: 0;
  display: flex;
  list-style: none;
  align-items: center;
}

.navbar li {
  position: relative;
}

.navbar a,
.navbar a:focus {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 0 10px 30px;
  color: var(--color-blanco);
  white-space: nowrap;
  transition: 0.3s;
  font-size: 15px;
  text-transform: uppercase;
  font-weight: 500;
}

.navbar a i,
.navbar a:focus i {
  font-size: 12px;
  line-height: 0;
  margin-left: 5px;
}

.navbar a:hover,
.navbar .active,
.navbar .active:focus,
.navbar li:hover>a {
  color: var(--color-secundario);
}

/* dispositivos moviles */
.mobile-nav-toggle {
  color: var(--color-blanco);
  font-size: 28px;
  cursor: pointer;
  display: none;
  line-height: 0;
  transition: 0.5s;
}

.mobile-nav-toggle:hover {
  color: var(--color-principal);
  box-shadow: 0 4px 17px rgba(170, 170, 170, 0.35);
}

@media (max-width: 991px) {
  .mobile-nav-toggle {
    display: block;
  }

  .navbar ul {
    display: none;
  }
}

.navbar-mobile {
  position: fixed;
  overflow: hidden;
  top: 0;
  right: 0;
  left: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.4);
  transition: 0.3s;
  z-index: 999;
}

.navbar-mobile .mobile-nav-toggle {
  position: absolute;
  top: 20px;
  right: 15px;
}

.navbar-mobile ul {
  display: block;
  position: absolute;
  top: 40px;
  right: 15px;
  bottom: 15px;
  left: 15px;
  padding: 10px 0;
  border-radius: 6px;
  background: rgb(26, 24, 20);
  overflow-y: auto;
  transition: 0.3s;
}

.navbar-mobile a,
.navbar-mobile a:focus {
  padding: 10px 20px;
  font-size: 15px;
  color: var(--color-blanco);
}

.navbar-mobile a:hover,
.navbar-mobile .active,
.navbar-mobile li:hover>a {
  color: var(--color-principal);
}

.navbar-mobile .getstarted,
.navbar-mobile .getstarted:focus {
  margin: 15px;
}

/*===== inicio =====*/
.inicio {
  width: 100%;
  height: 100vh;
  background: url("../img/hotel.webp") top center;
  background-size: cover;
  position: relative;
  padding: 0;
}

.inicio:before {
  content: "";
  background: rgba(0, 0, 0, 0.3);
  position: absolute;
  bottom: 0;
  top: 0;
  left: 0;
  right: 0;
}

.inicio .container {
  padding-top: 110px;
}

@media (max-width: 992px) {
  .inicio .container {
    padding-top: 98px;
  }
}

.inicio h1 {
  margin: 0;
  font-size: 48px;
  font-weight: 700;
  line-height: 56px;
  color: var(--color-blanco);
  /*text-shadow: 2px 3px #111;*/
  font-family: "Mukta", sans-serif;
}

.inicio h1 span {
  color: var(--color-principal);
}

.inicio h2 {
  color: #eee;
  margin-top: 10px;
  font-size: 22px;
}

.inicio .button {
  margin: 30px 0 30px 0;
}

.inicio .btn-menu {
  font-weight: 600;
  font-size: 13px;
  letter-spacing: 0.5px;
  text-transform: uppercase;
  display: inline-block;
  padding: 12px 30px;
  border-radius: 50px;
  transition: 0.3s;
  line-height: 1;
  color: var(--color-blanco);
  border: 2px solid var(--color-principal);
}

.inicio .btn-menu:hover {
  background: var(--color-principal);
  color: var(--color-blanco);
}

.inicio .disponibilidad {
  background-color: rgba(0, 0, 0, 0.25);
  padding: 20px 10px;
  margin: 10px;
  border-radius: 50px;
  display: flex;
  justify-content: center;
}

.inicio .disponibilidad .btn-disponibilidad {
  font-weight: 500;
  font-size: 16px;
  letter-spacing: 0.5px;
  text-transform: uppercase;
  display: inline-block;
  border-radius: 50px;
  transition: 0.5s;
  line-height: 1;
  color: var(--color-blanco);
  background: var(--color-principal);
  border: 2px solid var(--color-terciario);
  height: 55px;
  width: 100%;
}

.inicio .disponibilidad .btn-disponibilidad:hover {
  background: var(--color-terciario);
}

.inicio .disponibilidad input,
.inicio .disponibilidad select {
  border-radius: 0;
  box-shadow: none;
  font-size: 16px;
  background: var(--bg-dark);
  border-color: #625b4b;
  color: var(--color-blanco);
  border-radius: 50px;
}

.inicio .disponibilidad input:focus,
.inicio .disponibilidad select:focus {
  border-color: var(--color-principal);
  transition: all ease-in-out 0.5s;
}

.inicio .disponibilidad input:hover,
.inicio .disponibilidad select:hover {
  cursor: pointer;
  border-color: var(--color-principal);
}

.inicio .disponibilidad label {
  margin-left: 12px;
  color: var(--color-blanco);
}

@media (min-width: 1024px) {
  .inicio {
    background-attachment: fixed;
  }
}

@media (max-height: 500px) {
  .inicio {
    height: auto;
  }

  .inicio .container {
    padding-top: 130px;
    padding-bottom: 60px;
  }
}

@media (max-width: 768px) {
  .inicio h1 {
    font-size: 34px;
    line-height: 36px;
  }

  .inicio h2 {
    font-size: 20px;
    line-height: 24px;
  }
}

/*===== inicio-menu =====*/
.inicio-menu {
  padding: 140px 0 60px 0;
  min-height: 40vh;
  position: relative;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

.inicio-menu:before {
  content: "";
  background-color: rgba(0, 0, 0, 0.3);
  position: absolute;
  inset: 0;
}

.inicio-menu h1 {
  margin: 0;
  font-size: 48px;
  font-weight: 700;
  line-height: 56px;
  color: var(--color-blanco);
  /*text-shadow: 2px 3px #111;*/
  font-family: "Mukta", sans-serif;
}

.inicio-menu h1 span {
  color: var(--color-principal);
}

.inicio-menu h2 {
  color: var(--color-blanco);
  margin-top: 10px;
  font-size: 22px;
}

@media (max-width: 768px) {
  .inicio-menu h1 {
    font-size: 34px;
    line-height: 36px;
  }

  .inicio-menu h2 {
    font-size: 20px;
    line-height: 24px;
  }
}

/*===== sections =====*/
section {
  padding: 60px 0;
  overflow: hidden;
}

.section-bg {
  background-color: var(--bg-dark);
}

.section-title {
  padding-bottom: 40px;
  text-align: center;
}

.section-title h2 {
  font-size: 26px;
  font-weight: 500;
  padding: 0;
  line-height: 1px;
  margin: 0 0 5px 0;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--color-principal);
  font-family: "Mukta", sans-serif;
}

.section-title h2::before {
  content: "";
  width: 50px;
  height: 2px;
  display: inline-block;
  background: rgb(205, 164, 94, 0.2);
  margin: 4px 10px;
}

.section-title h2::after {
  content: "";
  width: 50px;
  height: 2px;
  display: inline-block;
  background: rgb(205, 164, 94, 0.2);
  margin: 4px 10px;
}

.section-title p {
  margin-top: 10px;
  font-size: 18px;
  font-weight: 700;
  color: var(--color-blanco);
}

/*===== bienvenidos =====*/
.bienvenidos {
  background: url(../img/hotel-recepcion.webp) center center no-repeat;
  background-size: cover;
  position: relative;
}

.bienvenidos::before {
  content: "";
  background-color: rgba(0, 0, 0, 0.75);
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  bottom: 0;
}

@media (min-width: 1024px) {
  .bienvenidos {
    background-attachment: fixed;
  }
}

.bienvenidos .container-fluid {
  padding: 0;
}

.bienvenidos .bienvenido-item {
  background-size: cover;
  background-position: center;
  height: 400px;
  width: 100%;
  padding: 30px;
  transition: all ease-in-out 0.4s;
}

.bienvenidos .bienvenido-item:hover {
  transform: scale(1.03);
}

.bienvenidos .bienvenido-item:hover .btn-menu {
  background: var(--color-principal);
  color: var(--color-blanco);
}

@media (max-width: 575px) {
  .bienvenidos .bienvenido-item {
    height: 400px;
  }
}

.bienvenidos .bienvenido-item:before {
  content: "";
  background: rgba(0, 0, 0, 0.2);
  position: absolute;
  inset: 0;
}

.bienvenidos .botones {
  margin-top: 30px;
  position: relative;
}

.bienvenidos .btn-menu {
  font-weight: 600;
  font-size: 13px;
  letter-spacing: 0.5px;
  text-transform: uppercase;
  display: inline-block;
  padding: 12px 30px;
  border-radius: 50px;
  transition: 0.3s;
  line-height: 1;
  color: var(--color-blanco);
  border: 2px solid var(--color-principal);
}

@media (min-width: 1200px) {
  .bienvenidos .swiper-slide-active+.swiper-slide {
    z-index: 1;
  }
}

.bienvenidos .swiper-pagination {
  margin-top: 30px;
  position: relative;
}

.bienvenidos .swiper-pagination .swiper-pagination-bullet {
  width: 12px;
  height: 12px;
  background-color: rgba(255, 255, 255, 0.4);
  opacity: 1;
}

.bienvenidos .swiper-pagination .swiper-pagination-bullet-active {
  background-color: var(--color-principal);
}

/*===== nosotros =====*/
.nosotros {
  background: url(../img/hotel-recepcion.webp) center center no-repeat;
  background-size: cover;
  position: relative;
}

.nosotros::before {
  content: "";
  background-color: rgba(0, 0, 0, 0.75);
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  bottom: 0;
}

@media (min-width: 1024px) {
  .nosotros {
    background-attachment: fixed;
  }
}

.nosotros .nosotros-item {
  overflow: hidden;
  /*
  border-right: 3px solid #454035;
  border-bottom: 3px solid #454035;
  */
  padding: 10px;
}

.nosotros .nosotros-item img {
  transition: all ease-in-out 0.4s;
  border-radius: 15px;
}

.nosotros .nosotros-item:hover img {
  transform: scale(1.05);
}

/*===== opiniones =====*/
.opiniones {
  background: url(../img/hotel-recepcion.webp) center center no-repeat;
  background-size: cover;
  position: relative;
}

.opiniones::before {
  content: "";
  background-color: rgba(0, 0, 0, 0.75);
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  bottom: 0;
}

@media (min-width: 1024px) {
  .opiniones {
    background-attachment: fixed;
  }
}

.opiniones .opiniones-carousel,
.opiniones .opiniones-slider {
  overflow: hidden;
}

.opiniones .opinion-item {
  box-sizing: content-box;
  padding: 30px;
  margin: 10px 10px;
  background-color: rgba(0, 0, 0, 0.4);
  position: relative;
  border-radius: 15px;
  height: 280px;
  transition: all ease-in-out 0.4s;
}

.opiniones .opinion-item:hover {
  cursor: default;
  transform: scale(1.08);
  box-shadow: 0px 2px 12px rgba(136, 136, 136, 0.08);
}

.opiniones .opinion-item h3 {
  font-size: 16px;
  font-weight: bold;
  color: var(--color-blanco);
}

.opiniones .opinion-item h4 {
  font-size: 14px;
  color: var(--color-gris);
  margin: 0;
}

.opiniones .opinion-item p {
  font-size: 15px;
  font-style: italic;
  margin: 30px auto 15px auto;
  color: var(--color-blanco);
}

.opiniones .swiper-pagination {
  margin-top: 30px;
  position: relative;
}

.opiniones .swiper-pagination .swiper-pagination-bullet {
  width: 12px;
  height: 12px;
  background-color: rgba(255, 255, 255, 0.4);
  opacity: 1;
}

.opiniones .swiper-pagination .swiper-pagination-bullet-active {
  background-color: var(--color-principal);
}

@media (min-width: 1200px) {
  .opiniones .swiper-slide-active+.swiper-slide {
    z-index: 1;
  }
}

.opiniones .btn-opiniones {
  font-weight: 500;
  font-size: 13px;
  letter-spacing: 0.5px;
  text-transform: uppercase;
  display: inline-block;
  padding: 12px 30px;
  border-radius: 50px;
  transition: 0.3s;
  line-height: 1;
  color: var(--color-blanco);
  border: 2px solid var(--color-principal);
}

.opiniones .btn-opiniones:hover {
  background: var(--color-principal);
  color: var(--color-blanco);
}

/*===== contacto =====*/
.contacto {
  background: url(../img/hotel-recepcion.webp) center center no-repeat;
  background-size: cover;
  position: relative;
}

.contacto::before {
  content: "";
  background-color: rgba(0, 0, 0, 0.75);
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  bottom: 0;
}

@media (min-width: 1024px) {
  .contacto {
    background-attachment: fixed;
  }
}

.contacto .info-box {
  text-align: center;
  padding: 10px 0 10px 0;
}

.contacto .info-box i {
  font-size: 26px;
  width: 44px;
  height: 44px;
  color: var(--color-principal);
  border-radius: 50%;
  padding: 8px;
  transition: all 0.4s;
}

.contacto .info-box:hover i {
  background: var(--color-principal);
  color: var(--color-blanco);
}

.contacto .info-box h3 {
  font-size: 18px;
  color: var(--color-blanco);
  font-weight: 700;
  margin: 10px 0;
}

.contacto .info-box p {
  color: var(--color-gris);
  padding: 0;
  line-height: 24px;
  font-size: 14px;
  margin-bottom: 0;
}

/* formulario */
.contacto .formulario {
  width: 100%;
}

.contacto .formulario .descripcion p {
  text-align: center;
  color: var(--color-blanco);
}

.contacto .formulario input,
.contacto .formulario textarea {
  border-radius: 0;
  box-shadow: none;
  font-size: 16px;
  background: var(--bg-dark);
  border-color: #625b4b;
  color: var(--color-blanco);
}

.contacto .formulario input:focus,
.contacto .formulario textarea:focus {
  border-color: var(--color-principal);
  transition: all ease-in-out 0.5s;
}

.contacto .formulario input {
  border-radius: 20px;
}

.contacto .formulario label {
  margin-left: 10px;
  color: var(--color-blanco);
}

.contacto .formulario textarea {
  border-radius: 20px;
  height: 100px;
  margin-right: 10px;
}

.contacto .formulario .btn-enviar {
  font-weight: 500;
  font-size: 13px;
  letter-spacing: 0.5px;
  text-transform: uppercase;
  display: inline-block;
  padding: 12px 30px;
  border-radius: 50px;
  transition: 0.3s;
  line-height: 1;
  color: var(--color-blanco);
  border: 2px solid var(--color-principal);
}

.contacto .formulario .btn-enviar:hover {
  background: var(--color-principal);
  color: var(--color-blanco);
}

/*===== ubicacion =====*/
.ubicacion {
  background: url(../img/hotel-recepcion.webp) center center no-repeat;
  background-size: cover;
  position: relative;
}

.ubicacion::before {
  content: "";
  background-color: rgba(0, 0, 0, 0.75);
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  bottom: 0;
}

@media (min-width: 1024px) {
  .ubicacion {
    background-attachment: fixed;
  }
}

.ubicacion .descripcion p {
  text-align: center;
  color: var(--color-blanco);
}

.ubicacion iframe {
  border: 0; 
  width: 100%; 
  height: 350px;
}

.ubicacion .map {
  border: 0; 
  width: 100%; 
  height: 350px;
}

/*===== footer =====*/
.footer {
  background: var(--bg-dark);
  font-size: 14px;
  padding: 50px 0 30px 0;
}

.footer .footer-content .footer-info {
  margin-bottom: 30px;
}

.footer .footer-content .footer-info h3 {
  font-size: 28px;
  margin: 0 0 20px 0;
  padding: 2px 0 2px 0;
  line-height: 1;
  font-weight: 700;
  text-transform: uppercase;
  color: var(--color-blanco);
}

.footer .footer-content .social-links a {
  font-size: 18px;
  display: inline-block;
  color: var(--color-principal);
  border: 1px solid var(--color-secundario);
  line-height: 1;
  margin-right: 8px;
  border-radius: 50px;
  width: 36px;
  height: 36px;
  transition: 0.3s;
}

.footer .footer-content .social-links a:hover {
  background: var(--color-principal);
  color: var(--color-blanco);
  text-decoration: none;
}

.footer .footer-content h4 {
  font-size: 16px;
  font-weight: 600;
  color: var(--color-blanco);
  position: relative;
  padding-bottom: 12px;
}

.footer .footer-content .footer-links {
  margin-bottom: 30px;
}

.footer .footer-content .footer-links ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.footer .footer-content .footer-links ul li {
  padding: 8px 0;
}

.footer .footer-content .footer-links ul li:first-child {
  padding-top: 0;
}

.footer .footer-content .footer-links ul a {
  color: var(--color-gris);
  transition: 0.3s;
  display: inline-block;
  line-height: 1;
}

.footer .footer-content .footer-links ul a:hover {
  color: var(--color-blanco);
}

.footer .footer-content .footer-links i {
  color: var(--color-principal);
}

.footer .footer-content .footer-links a:hover i {
  color: var(--color-terciario);
}

.footer .footer-bottom .copyright {
  padding-top: 30px;
  border-top: 1px solid rgba(255, 255, 255, 0.15);
}

.footer .footer-bottom .copyright a {
  color: var(--color-principal);
}

.footer .footer-bottom .copyright a:hover {
  color: var(--color-terciario);
}

/*===== servicios =====*/
.servicios {
  background: url(../img/hotel-recepcion.webp) center center no-repeat;
  background-size: cover;
  position: relative;
}

.servicios::before {
  content: "";
  background-color: rgba(0, 0, 0, 0.75);
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  bottom: 0;
}

@media (min-width: 1024px) {
  .servicios {
    background-attachment: fixed;
  }
}

.servicios .icon-box {
  text-align: center;
  border: 1px solid var(--color-secundario);
  border-radius: 20px;
  padding: 10px 10px;
  height: 200px;
  width: 100%;
  transition: all ease-in-out 0.3s;
  cursor: default;
}

.servicios .icon-box:hover {
  transform: translateY(-3px);
}

.servicios .icon-box .icon {
  margin: 0 auto;
  width: 64px;
  height: 64px;
  border-radius: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 15px;
  transition: 0.3s;
}

.servicios .icon-box .icon i {
  color: var(--color-principal);
  font-size: 28px;
  transition: ease-in-out 0.3s;
  cursor: default;
}

.servicios .icon-box h4 {
  font-weight: 600;
  margin-bottom: 15px;
  font-size: 16px;
}

.servicios .icon-box h4 a {
  color: var(--color-blanco);
  transition: ease-in-out 0.3s;
}

.servicios .icon-box:hover h4 a {
  color: var(--color-principal);
  cursor: default;
}

/*===== habitaciones =====*/
.habitaciones {
  background: url(../img/hotel-recepcion.webp) center center no-repeat;
  background-size: cover;
  position: relative;
}

.habitaciones::before {
  content: "";
  background-color: rgba(0, 0, 0, 0.75);
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  bottom: 0;
}

@media (min-width: 1024px) {
  .habitaciones {
    background-attachment: fixed;
  }
}

.habitaciones .nav-tabs {
  border: 0;
}

.habitaciones .nav-link {
  background-color: rgba(0, 0, 0, 0.75);
  border: 1px solid var(--color-secundario);
  color: var(--color-gris);
  padding: 15px;
  transition: 0.3s;
  border-radius: 50px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.habitaciones .nav-link:hover {
  background: var(--color-principal);
  color: var(--color-blanco);
}

.habitaciones .nav-link.active {
  background: var(--color-terciario);
  color: var(--color-blanco);
}

.habitaciones .nav-link h4 {
  font-size: 18px;
  font-weight: 500;
  margin: 0;
}

@media (max-width: 575px) {
  .habitaciones .nav-link {
    padding: 15px;
  }
}

.habitaciones .tab-content {
  margin-top: 30px;
}

.habitaciones .tab-pane h3 {
  font-weight: 600;
  font-size: 26px;
}

.habitaciones .tab-pane ul {
  list-style: none;
  padding: 0;
}

.habitaciones .tab-pane ul li {
  padding-bottom: 10px;
}

.habitaciones .tab-pane ul i {
  font-size: 20px;
  padding-right: 4px;
  color: var(--color-secundario);
}

.habitaciones .tab-pane p:last-child {
  margin-bottom: 0;
}

.habitaciones .habitaciones-item {
  background-size: cover;
  background-position: center;
  height: 350px;
  width: 100%;
  padding: 30px;
  transition: all ease-in-out 0.4s;
}

.habitaciones .habitaciones-item:hover {
  transform: scale(1.03);
}

.habitaciones .habitaciones-item img {
  border-radius: 20px;
}

@media (max-width: 575px) {
  .habitaciones .habitaciones-item {
    height: 400px;
  }
}

.habitaciones .habitaciones-item:before {
  content: "";
  /*background: rgba(0, 0, 0, 0.4);*/
  position: absolute;
  inset: 0;
}

@media (min-width: 1200px) {
  .habitaciones .swiper-slide-active+.swiper-slide {
    z-index: 1;
  }
}

.habitaciones .swiper-pagination {
  margin-top: 40px;
  position: relative;
}

.habitaciones .swiper-pagination .swiper-pagination-bullet {
  width: 12px;
  height: 12px;
  background-color: rgba(255, 255, 255, 0.4);
  opacity: 1;
}

.habitaciones .swiper-pagination .swiper-pagination-bullet-active {
  background-color: var(--color-principal);
}

/*===== modalReservas =====*/
.modalReservas .modal-content .modal-title {
  color: var(--color-negro);
  font-weight: 500;
}

.modalReservas .modal-content {
  background: url("../img/hotel-recepcion.webp") top center;
  background-size: cover;
  position: relative;
  padding: 0;
}

.modalReservas .disponibilidad {
  background-color: rgba(0, 0, 0, 0.25);
  padding: 20px 10px;
  margin: 10px;
  border-radius: 50px;
  display: flex;
  justify-content: center;
}

.modalReservas .disponibilidad .btn-disponibilidad {
  font-weight: 500;
  font-size: 16px;
  letter-spacing: 0.5px;
  text-transform: uppercase;
  display: inline-block;
  border-radius: 50px;
  transition: 0.5s;
  line-height: 1;
  color: var(--color-blanco);
  background: var(--color-principal);
  border: 2px solid var(--color-terciario);
  height: 55px;
  width: 100%;
}

.modalReservas .disponibilidad .btn-disponibilidad:hover {
  background: var(--color-terciario);
}

.modalReservas .disponibilidad input,
.modalReservas .disponibilidad select {
  border-radius: 0;
  box-shadow: none;
  font-size: 16px;
  background: var(--bg-dark);
  border-color: #625b4b;
  color: var(--color-blanco);
  border-radius: 50px;
}

.modalReservas .disponibilidad input:focus,
.modalReservas .disponibilidad select:focus {
  border-color: var(--color-principal);
  transition: all ease-in-out 0.5s;
}

.modalReservas .disponibilidad input:hover,
.modalReservas .disponibilidad select:hover {
  cursor: pointer;
  border-color: var(--color-principal);
}

.modalReservas .disponibilidad label {
  margin-left: 12px;
  color: var(--color-blanco);
}


/*===== estadisticas =====*/
.estadisticas {
  background: url(../img/hotel-recepcion.webp) center center no-repeat;
  background-size: cover;
  position: relative;
}

.estadisticas::before {
  content: "";
  background-color: rgba(0, 0, 0, 0.75);
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  bottom: 0;
}

@media (min-width: 1024px) {
  .estadisticas {
    background-attachment: fixed;
  }
}

.estadisticas .estadistica-item {
  padding: 30px;
  width: 100%;
}

.estadisticas .estadistica-item i {
  font-size: 30px;
  color: var(--color-principal);
}

.estadisticas .estadistica-item span {
  font-size: 48px;
  display: block;
  color: var(--color-blanco);
  font-weight: 700;
}

.estadisticas .estadistica-item p {
  padding: 0;
  margin: 0;
  font-size: 18px;
  font-weight: 600;
  color: var(--color-gris);
}

.estadisticas .estadistica-item:hover p {
  transition: 0.3s;
  color: var(--color-terciario);
}

/*===== reservar =====*/
.reservar {
  background: url(../img/hotel-recepcion.webp) center center no-repeat;
  background-size: cover;
  position: relative;
}

.reservar::before {
  content: "";
  background-color: rgba(0, 0, 0, 0.75);
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  bottom: 0;
}

@media (min-width: 1024px) {
  .reservar {
    background-attachment: fixed;
  }
}

.reservar .info-box {
  text-align: center;
  padding: 10px 0 10px 0;
}

.reservar .info-box i {
  font-size: 26px;
  width: 44px;
  height: 44px;
  color: var(--color-principal);
  border-radius: 50%;
  padding: 8px;
  transition: all 0.4s;
}

.reservar .info-box:hover i {
  background: var(--color-principal);
  color: var(--color-blanco);
}

.reservar .info-box h3 {
  font-size: 18px;
  color: var(--color-blanco);
  font-weight: 700;
  margin: 10px 0;
}

.reservar .info-box p {
  color: var(--color-gris);
  padding: 0;
  line-height: 24px;
  font-size: 14px;
  margin-bottom: 0;
}

/* formulario */
.reservar .formulario {
  width: 100%;
}

.reservar .formulario .descripcion p {
  text-align: center;
  color: var(--color-blanco);
}

.reservar .formulario input,
.reservar .formulario select,
.reservar .formulario textarea {
  border-radius: 0;
  box-shadow: none;
  font-size: 16px;
  background: var(--bg-dark);
  border-color: #625b4b;
  color: var(--color-blanco);
}

.reservar .formulario input:focus,
.reservar .formulario select:focus,
.reservar .formulario textarea:focus {
  border-color: var(--color-principal);
  transition: all ease-in-out 0.5s;
}

.reservar .formulario input,
.reservar .formulario select {
  border-radius: 20px;
}

.reservar .formulario label {
  margin-left: 10px;
  color: var(--color-blanco);
}

.reservar .formulario textarea {
  border-radius: 20px;
  height: 100px;
  margin-right: 10px;
}

.reservar .formulario .btn-enviar {
  font-weight: 500;
  font-size: 13px;
  letter-spacing: 0.5px;
  text-transform: uppercase;
  display: inline-block;
  padding: 12px 30px;
  border-radius: 50px;
  transition: 0.3s;
  line-height: 1;
  color: var(--color-blanco);
  border: 2px solid var(--color-principal);
}

.reservar .formulario .btn-enviar:hover {
  background: var(--color-principal);
  color: var(--color-blanco);
}

/*===== alertifyjs =====*/
.ajs-message {
  color: var(--color-negro);
  border-radius: 8px;
}

.ajs-dialog {
  color: var(--color-negro);
  border-radius: 8px;
}