@import url('https://fonts.googleapis.com/css2?family=Work+Sans:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap');

/* Estilos para desktop en general */
/* BASE HTML */
:root {
    --first-bg-color: rgb(247, 247, 247);
    --second-bg-color: #1c1f24 ;
    --third-bg-color: #3b474f;
    

    --first-text-color:  #1c1f24;
    --second-text-color: rgb(247, 247, 247);
    --third-text-color:  rgb(196, 0, 24);


    /* DEFAULT SPACING SIZES */
    --xxs-size: .25rem;
    --xs-size: .5rem;
    --s-size: .75rem;
    --ms-size: 1rem;
    --m-size: 1.25rem;
    --ml-size: 1.5rem;
    --l-size: 1.75rem;
    --xl-size: 2rem;
    --xxl-size: 2.25rem;
    --xxxl-size: 3.5rem;
  
    /* DEFAULT BOXING SIZES */
    --b-xxs-size: 25px;
    --b-xs-size: 55px;
    --b-s-size: 75px;
    --b-ms-size: 100px;
    --b-m-size: 150px;
    --b-ml-size: 200px;
    --b-l-size: 250px;
    --b-xl-size: 325px;
    --b-xxl-size: 400px;
    --b-xxxl-size: 500px;
    --b-xxxxl-size: 700px;
  
    /* DEFAULT ANIMATIONS & TRANSITIONS DURATION */
    --xxs-anim: .25s;
    --xs-anim: .5s;
    --s-anim: .75s;
    --m-anim: 1s;
    --l-anim: 1.25s;
    --xl-anim: 1.5s;
    --xxl-anim: 1.75s;
  
    /* DEFAULT SCALES */
    --xxs-scale: 0.9;
    --xs-scale: 1;
    --s-scale: 1.1;
    --m-scale: 1.2;
    --l-scale: 1.3;
    --xl-scale: 1.4;
    --xxl-scale: 1.5;
}
::-webkit-scrollbar {
    width: 8px;
    height: 8px;
}
::-webkit-scrollbar-track {
    background-color: rgba(0, 0, 0, 0.1); /* ajusta la transparencia aquí */
}
::-webkit-scrollbar-thumb {
    background-color: rgba(0, 0, 0, 0.3); /* ajusta la transparencia aquí */
    border-radius: 4px;
}
*{
    outline: none;
    text-decoration: none;
    margin: 0;
    padding: 0;
}
html {
    font-size: 75%;
    font-family: 'Work Sans', sans-serif;
    overflow-y: auto; 
    overflow-x: hidden;
    scroll-behavior: smooth;
}
main {
    padding-top: 100px;
}
body {
    color: var(--first-text-color);
    overflow-y: auto; 
    overflow-x: hidden;
    width: 100vw;
    height: 100%;
    scroll-behavior: smooth;
    z-index: 0;
    background-image: radial-gradient(circle at center center, rgb(249, 249, 249),rgb(167, 167, 167));
}
/* TABLE STYLE */
table {
    border-collapse: collapse;
    width: 80%;
    margin: 0 auto;
}
th, td {
    border-bottom: 1px solid var(--third-bg-color);
    padding: 20px 0;
    text-align: center;
    font-size: 2rem;
}
thead {
  display: flex;
  border-radius: 5px;
  justify-content: space-around;
  align-items: center;
  overflow: hidden;
  background-color: var(--third-bg-color);
  color: var(--second-text-color); 
  width: 100%;
  gap: 1rem;
}
tbody {
  display: flex;
  flex-direction: column;
  overflow: hidden;
  color: var(--third-bg-color); 
}
tr {
  display: flex;
  justify-content: space-around;
  width: 100%;
  gap: 1rem;
}
td {
  width: 100%;
}

/* BASE TEXT */
h1 {
    font-size: 5rem;
    white-space: wrap;
    padding: 1rem 3%;
    margin: 2rem auto 1rem auto;
    max-width: 1250px;
}
h2,
h4 {
    font-size: 2rem;
    white-space: wrap;
    padding: 0.25rem 3%;
    letter-spacing: .2;
    margin: 1rem auto;
    max-width: 1000px;
}
h3 {
    font-size: 2rem;
    margin: 0.5rem 0;
}
h5{
    font-size: 1.35rem;
    margin: 0.5rem 0;
}
h6 {
    font-size: 0.75rem;
}
p {
    font-size: 1.6rem;
}
a {
    font-size: 1.6rem;
    font-weight: 700;
    color: var(--second-text-color);
    transition: .5s ease;
}
a:hover {
    color: var(--third-text-color)
}
span,
span a{
    color: var(--third-text-color);
    font-size: 2rem;
    transition: .5s ease;
    cursor: pointer;
}
span a:hover{
    color: var(--first-text-color);
}
/* BUTTONS STYLE */
button,
.btn {
    appearance: none;
    border: none;
    padding: 0.75rem 2rem;
    background: var(--third-bg-color);
    border-radius: 0.5rem;
    color: var(--second-text-color);
    cursor: pointer;
    font-weight: 700;
    transition: .5s ease;
    text-rendering: none;
    font-size: 2rem;
}
button:hover,
.btn:hover {
    color: var(--second-text-color);
    background: var(--third-text-color);
}
/* HEADER STYLE */
header {
    display: flex;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100px;
    z-index: 25;
    background-image: linear-gradient(90deg, rgb(28,31,36),rgb(59,71,79));
}
.navbar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 2.5rem 3%;
    width: 100%;
    gap: 2rem;
}
.navbar-items,
.navbar-buttons,
.menu {
    display: flex;
    position: relative;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
}
.navbar-items {
    padding-top: 0.5rem;
    gap: 1.5rem 3rem;
    
}
.navbar-buttons {
    gap: 1rem;
}
.menu {
    font-size: 7rem;
    cursor: pointer;
    color: var(--second-text-color);
    transition: .5s ease;
}
.menu span {
    color: var(--second-text-color);
}
.menu:hover,
.menu span:hover{
    color: var(--third-text-color);
}

/* HOME & GENERAL STYLE */
.general-background,
.second-general-background,
.third-general-background  {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
}
.general-background{
    width: 100%;
    height: 100%;
    justify-content: center;
}
.second-general-background{
    width: 100%;
    height: 100vh;
    justify-content: start;
}
.third-general-background  {
    justify-content: start;
    width: 100%;
    min-height: 100vh;
    margin: 3rem auto 5rem auto;
}
.four-general-background  {
    width: 100%;
    max-height: 100vh;
    justify-content: start;
    margin: 3rem auto 5rem auto;
}
#map {
    margin-top: 3rem;
    height: 500px;
    width: 100%;
}
.parallax {
    position: relative;
    height: 25vh;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow-y: hidden;
    margin: 0 auto;
    z-index: 5;
}
.bg {
    position: absolute;
    width: 100%;
    height: 100%;
    overflow: hidden;
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    z-index: 5;
}
.mask {
    display: flex;
    width: 100%;
    height: 100%;
    background-color: var(--third-bg-color);
    opacity: 0.5;
    z-index: 1;
    transition: .5s ease;
    align-items: center;
    justify-content: center;
    text-align: center;
    transition: .5s ease;
    z-index: 5;
}
.mask button {
    opacity: 1;
    color: var(--second-text-color);
    background: var(--third-text-color);
    padding: 2rem 3rem;
}
.mask:hover {
    opacity: 0.75;
}
.hero {
    display: flex;
    flex-direction: column;
    width: 100%;
    height: 100%;
    flex-direction: column;
    text-align: center;
    z-index: 2;
}

.icon-gallery {
    display: flex;
    flex-direction: column;
    font-size: 10rem;
    margin: 1rem auto;
    border-radius: 0.5rem;
    transition: .3s ease;
    color: var(--first-text-color);
}
.icon-gallery:hover {
    color: var(--third-text-color);
}
.search-form {
    display: flex;
    max-width: 800px;
    justify-content: top;
    align-items: center;
    margin: 1rem auto 1rem auto;
    gap: 2rem;
    padding: 3rem;
    background-image: linear-gradient(90deg, rgb(28,31,36),rgb(59,71,79));
    color: var(--first-bg-color);
    border-radius: 0.5rem;
}
.search-form-item {
    display: flex;
    flex-direction: column;
    width: 100%;
    text-align: center;
    align-items: center;
    justify-content: space-between;
    gap: 2rem;
    width: 100%;
    padding: 1rem;
}
input,
select,
textarea {
    border: none;
    max-width: 250px;
    background-color: var(--first-bg-color);
    border-radius: 4px;
    padding: 8px 12px;
    box-shadow: 0 0 0.35rem var(--first-text-color);
    font-size: 1.6rem;
    color: var(--first-text-color);
    cursor: auto;
    font-weight: 600;
}
input:focus,
select:focus,
textarea:focus {
    background-color: var(--first-bg-color);
    border: 1px solid var(--third-text-color);
    box-shadow: 0 0 5px rgba(196, 0, 24, 0.25);
}

/* PRICES STYLE */
.prices {
    display: flex;
    gap: 5rem;
    width: 80%;
    align-items: center;
    justify-content: center;
}
.prices-table {
    display: flex;
    flex-direction: column;
    width: 100%;
    margin-bottom: 3rem;
}
.price-buttons {
    display: flex;
    text-align: center;
    align-items: center;
    justify-content: center;
    margin: 3rem;
    gap: 0.5rem;
}
.price-buttons button{
    border-radius: 0.5rem;
}
.price-item{
    display: flex;
    flex-direction: column;
    text-align: center;
    align-items: center;
    justify-content: center;
    margin-bottom: 1rem;
}
.price-item select{
    width: 100%;
}

/* CABAÑAS STYLE */
.cabanas-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    padding: 3rem;
    gap: 2rem;
}
.cabana-grid-box {
    display: flex;
    width: 100%;
    height: 400px;
    background-image: linear-gradient(90deg, rgb(28,31,36),rgb(59,71,79));
    color: var(--first-bg-color);
    box-shadow:  2.5px 5px 10px rgb(51, 51, 51, 0.7);
    border-radius: 2%;
    overflow: hidden;
}
.cabana-grid-box-info {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
    width: 50%;
    text-align: left;
    padding: 1.5rem 2rem;
    justify-content: center;
}
.cabana-grid-box-info a {
    align-self: center;
    background-color: var(--second-bg-color);
}
.cabana-grid-box-info p {
    font-size: 1.25rem;
}
.cabana-grid-box-image {
    width: 50%;
    height: 100%;
    overflow: hidden;
    cursor: pointer;
}
.cabana-grid-box-image img {
    object-fit: cover;
    object-position: center;
    width: 100%;
    height: 100%;
}

/* CABANA STYLE */
.cabana-detail-box {
    display: flex;
    width: 90%;
    margin: 3rem auto;
    gap: 1rem;
    text-align: center;
}
.cabana-imagenes-box {
    display: flex;
    flex-direction: column;
    width: 100%;
    height: 100%;
    text-align: left;
    align-items: center;
    justify-content: top;
}
.cabana-info-box {
    display: flex;
    flex-direction: column;
    width: 100%;
    height: 100%;
    align-items: center;
    justify-content: top;
    justify-items: center;
    text-align: center;
}
.cabana-info-box-resume {
    width: 70%;
    margin-bottom: 1rem;
}
.cabana-info-box p {
    font-weight: 600;
    font-size: 1.8rem;
}
.loading {
    width: 40px;
    height: 40px;
}
#disp {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.75rem;
    margin: 0.75rem auto;
}

#disp h6 {
    font-size: 1.6rem;
    font-weight: 700;
    font-style: italic;
    color: var(--text-color);
}
#disp img {
    width: 35px;
    height: 35px;
    justify-self: baseline;
}
.disp-form {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    width: 80%;
    text-align: center;
}
.disp-form-item {
    display: flex;
    justify-content: space-between;
    flex-direction: column;
    align-items: center;
    margin: 0 0;
}
.reserve-btn-disabled{
    opacity: 0.5;
    cursor: not-allowed;
}
.main-image-box {
    display: flex;
    flex-direction: column;
    height: 600px;
    width: 100%;
    overflow: hidden;
    border-radius: 2%;
    box-shadow: 0 15px 15px rgb(51, 51, 51, 0.25);
    gap: .25rem;
}
.main-image-box h5 {
  padding-top: .5rem;
  padding-left: 1rem;
}
.main-image-box img {
    height: 100%;
    width: 100%;
    object-fit: contain;
}
.about-box{
    display: flex;
    width: 90%;
    margin: 5rem auto;
    gap: 1rem 1rem;
}
.about-image-box{
    display: flex;
    height: 580px;
    width: 100%;
    overflow: hidden;
    border-radius: 2%;
    box-shadow: 0 15px 15px rgb(51, 51, 51, 0.25);
    margin: 0 auto;
}
.about-box-item{
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}
.about-image-box img {
    height: 100%;
    width: 100%;
    object-fit: cover;
}
.galeria-box {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(0, 100px));
    height: 100%;
    overflow-y: auto;
    width: 100%;
    gap: 5rem;
    justify-content: center;
    align-items: center;
    justify-items: center;
    padding: 25px;
}
.imagen-box {
    display: flex;
    flex-direction: column;
    width: 125px;
    height: 150px;
    overflow: hidden;
    border-radius: 2%;
    box-shadow: 0 15px 15px rgb(51, 51, 51, 0.25);
    cursor: pointer;
    justify-content: center;
    align-items: center;
    padding: 5px;
    text-align: center;
    border-radius: 5px;
}

.imagen-box img{
    height: 100%;
    width: 100px;
    object-fit: contain;
}

.galeria-box-edit {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(0, 300px));
    width: 100%;
    height: 100%;
    padding: 2rem;
    margin: 0 auto 2rem auto;
    gap: 2rem 0;
    justify-content: center;
    align-items: center;
    justify-items: center;
}
.imagen-box-edit{
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    margin: 0 auto;
}
.imagen-box-edit img{
    height: 125px;
    width: 125px;
    object-fit: cover;
    margin: 0 auto;
}

/* GALERIA STYLE */
.galeria {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    width: 80%;
    grid-gap: 2rem;
    overflow: hidden;
    padding: 1rem 0;
}
.galeria > a {
    display: block;
    position: relative;
    overflow: hidden;
    box-shadow: 0 0 6px rgba(0,0,0,.5);
    border-radius: 0.5rem;
}
.galeria img {
    width: 100%;
    vertical-align: top;
    height: 300px;
    object-fit: cover;
    transition: transform 0.5s;
    cursor: pointer;
}
.galeria a:hover img{
    filter: blur(2px);
    transform: rotate(10deg) scale(1.3);
}
.modal-box {
    display: flex;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(59, 71, 79, 0.8);
    color: var(--second-text-color);
    animation: .3s openModal ease;
    z-index: 10;
    padding-top: 100px;
}
.modal-box .btn {
    background: var(--second-bg-color);
    color: var(--second-text-color);
    transition: .3s ease;
}
.modal-box .btn:hover {
    background: var(--third-text-color);
}
@keyframes openModal {
    0%{
        opacity: 0;
    }
    100%{
        opacity: 1;
    }
}
.modal-box-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
    height: 100%;
    padding: 3rem;
    gap: 2rem;
    
}
.modal-gallery-img {
    max-width: 70vw;
    max-height: 50vh;
    border-radius: 1%;
    object-fit: contain;
    box-shadow:  1.5px 3px 7px var(--third-bg-color);
}
#modal-box-item-top,
#modal-box-item-middle,
#modal-box-item-bottom{
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 1rem;
}
.modal-box-item-bottom .btn {
    background-color: var(--second-bg-color);
}
.imagen-detail img{
    max-width: 100%;
    object-fit: contain;
}
/* CONTACTO STYLE*/
.contact {
    text-align: center;
    width: 100%;
    margin: 0 auto;
}
.contact .btn {
    margin-top: 1rem;
}
.contact-box {
    display: flex;
    flex-direction: column;
    align-items: center;
}
.contact-box-icons{
    display: flex;
    gap: 3rem;
}
.contact-box i{
    font-size: 5rem;
    color: var(--third-bg-color);
    margin-bottom: 3rem;
    transition: .3s ease;
}
.contact-box i:hover{
    color: var(--third-text-color);
}
.contact-form {
    display: flex;
    justify-content: space-between;
    flex-direction: column;
    justify-content: flex-start;
    max-width: 300px;
    margin: 0 auto;
}
.contact-form h3 {
    text-align: left;
    margin: 0;
    padding: 0.25rem 0;
}
.contact-form-box {
    width: 100%;
}
.contact-form-box input {
    display: flex;
    width: 100%;
    margin: 0 auto 0.5rem auto;
}
.contact-form-box textarea {
    display: flex;
    width: 100%;
    margin: 0 auto 0.5rem auto;
}

/* RESERVA STYLE */
.steps {
    display: flex;
    width: 70%;
    height: 100px;
    margin: 4rem auto 0 auto;
}
.step-item  {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    justify-items: center;
    gap: 0.5rem;
    width: 100%;
    height: 100%;
    position: relative; 
}
.step-item h5 {
    font-size: 1.6rem;
    margin: 1rem auto;
}
.step-item span {
    background-color: var(--third-bg-color);
    box-shadow:  0 0 7px var(--third-bg-color);
    border-radius: 50%;
    height: 35px;
    width: 35px;
    padding: 1rem ;
    cursor: context-menu;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    justify-items: center;
    color: var(--second-text-color);
    z-index: 2;
}
.step-item span:hover {
    box-shadow:  0 0 7px var(--third-bg-color);
    color: var(--second-text-color);
}
.step-item:nth-child(2)::before,
.step-item:nth-child(3)::before,
.step-item:nth-child(4)::before {
    content: '';
    position: absolute;
    transform: translate(-50%, -50%); 
    height: 10px;
    width: 100%;
    top: 25px;
    background-color: var(--third-bg-color);
    z-index: 1;
}
.step-item-marked:nth-child(2)::before,
.step-item-marked:nth-child(3)::before,
.step-item-marked:nth-child(4)::before {
    background-color: var(--third-text-color); /* Cambia por el color que desees */
}
.step-item-marked span {
    color: var(--second-text-color);
    background-color: var(--third-text-color);
    box-shadow:  0 0 10px var(--third-text-color);
}
.step-item-marked span:hover {
    color: var(--third-bg-color);
    box-shadow:  0 0 10px var(--third-bg-color);
}
.reserve-info-box table {
    margin: 0.5rem auto 1.5rem auto;
    width: 100%;
}
.reserve-info-form {
    display: flex;
    width: 100%;
    flex-wrap: wrap;
    margin: 0 auto;
    justify-content: center;
    gap: 0.5rem 1rem;
}
.register-checkbox {
    cursor: pointer;
    width: 15px;
    height: 15px;
}
.reserve-info-form-buttons {
    display: flex;
    margin: 1rem auto;
    justify-content: center;
    gap: 1rem;
}
#countdown {
    padding: 2rem 0;
}
/* PAYMENT STYLE */
.payment-methods {
    display: flex;
    flex-direction: column;
}
.payment-method {
    display: flex;
    align-items: center;
    text-align: left;
    gap: 1rem;
    background-color: rgb(246, 245, 245, 0.8);
    box-shadow:  2.5px 5px 10px rgb(51, 51, 51, 0.7);
    padding: 1rem;
    margin: 1rem 3rem;
    border-radius: 2%;
}
.payment-method-info {
    display: flex;
    flex-direction: column;
    text-align: left;
    justify-items: center;
    gap: 1rem;
}
.payment-method-info a {
    text-align: center;
}
.payment-method-info img {
    max-width: 150px;
    max-height: 150px;
    object-fit: contain;
}

/* AUTHENTICATION STYLE */
.authentication-box {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    justify-content: center;
    justify-items: center;
    align-items: center;
    margin-top: 2rem;
}
.authentication-box-item {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    align-items: center;
}
.authentication-box-item input{
    width: 250px;
}
.authentication-box-item span {
    font-size: 1.5rem;
    font-weight: 500;
    font-style: italic;
    margin: 0.25rem;
    transition: .3s ease;
}
.authentication-box-item span:hover {
    color: var(--main-color);
}

/* PROFILE STYLE */
.profile-box{
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    width: 50%;
    margin: 0 auto;
    gap: 1rem 1rem;
    align-items: center;
}
.profile-box-item  {
    margin: 1rem 0;
}
.profile-upt {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    width: 50%;
    gap: 2rem;
    margin: 2rem auto;
}
.profile-upt span {
    color: rgb(71, 117, 25);
}
.profile-errs {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    width: 50%;
    gap: 2rem;
    margin: 2rem auto;
}

/* FOOTER STYLE */
.footer {
    display: flex;
    align-items: last baseline;
    position: absolute;
    width: 100%;
    color: var(--second-text-color);
    background-image: linear-gradient(90deg, rgb(28,31,36),rgb(59,71,79));
    justify-content: space-between;
    gap: 1rem;
    padding: 1rem 0;
}
.footer-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    padding-left: 3rem;
}
.footer-item-links{
    gap: 1rem;
    display: flex;
}
.footer-item img{
    width: 60px;
    height: 50px;
    object-fit: contain;
    background: var(--second-text-color);
    border-radius: 0.5rem;
}
.footer-item i {
    font-size: 4rem;
}
.footer-copyright {
    display: flex;
    flex-direction: column;
    text-align: right;
    font-size: 1rem;
    justify-content: flex-end;
    gap: 0.25rem 0;
    padding-right: 3rem;
}
.footer-copyright h5,
.footer-copyright a {
    margin: 0;
}
/* BREAKPOINTS */
/* Extra Large devices (large laptops/desktops, 1200px and down) */
@media screen and (max-width: 1280px){
    html {
        font-size: 62.5%;
    }   
    .navbar-items{
        display: flex;
        flex-direction: column;
        position: fixed;
        background-image: linear-gradient(90deg, rgb(28,31,36),rgb(59,71,79));
        width: 100%;
        border-top: 1px solid var(--text-color);
        animation: fadeIn .3s ease;
        top: 100px;
        right: 0;
        padding: 5rem 0 3.5rem 0;
        gap: 3rem;
    }
    @keyframes fadeIn {
        0%{
            opacity: 0;
        }
        100%{
            opacity: 1;
        }
    }
    .navbar-buttons{
        bottom: 0;
        left: 0;
        padding: 1rem 0;
    }
    .prices{
        flex-direction: column;
    }
    .back {
        top: 80px;
    }
    .modal-box {
        top: 80px;
    }
    .cabanas-grid {
        grid-template-columns: repeat(1, minmax(0, 1fr));
    }
    .cabana-detail-box {
        flex-direction: column;
    }
    .profile-box{
        display: flex;
        flex-direction: column;
        width: 80%;
    }
    .galeria-box-edit {
        width: 60%;
    }
    .about-box{
        flex-direction: column;
    }
}
/* Large devices (laptops/desktops, 992px and down) */
@media screen and (max-width: 992px){
    .cabanas-grid {
        grid-template-columns: repeat(1, minmax(0, 1fr));
    }
    .footer {
        display: flex;
        flex-direction: column;
        align-items: center;
        width: 100%;
    }
    .footer-item {
        white-space: nowrap;
        overflow: hidden; 
        text-overflow: ellipsis;
        width: 100%;
        padding: 0;
    }
    .footer-copyright {
        margin: 0 auto;
        text-align: center;
        padding: 0;
    }

    .galeria-box-edit {
        width: 70%;
    }

}
/* Medium devices (landscape tablets, 768px and down) */
@media screen and (max-width: 768px){
    html {
        font-size: 50%;
    }   
    main {
        padding-top: 80px;
    }
    header{
        height: 80px;
    }
    .navbar-items{
        top: 80px;
    }
    .search-form {
        flex-direction: column;
    }

    .galeria-box-edit {
        width: 80%;
    }
    .steps {
        width: 100%;
    }
}
/* Small devices (phones, 600px and down) */
@media screen and (max-width: 680px){
    html {
        font-size: 50%;
    }   
    .main-image-box {
        height: 450px;
    }
    .payment-method-info img {
        max-width: 100px;
        max-height: 100px;
    }
    .prices {
        width: 100%;
    }
    .galeria-box-edit {
        width: 90%;
    }
    .about-image-box{
        display: flex;
        height: 300px;
        width: 100%;
        overflow: hidden;
        border-radius: 2%;
        box-shadow: 0 15px 15px rgb(51, 51, 51, 0.25);
        margin: 0 auto;
    }
}
/* Extra small devices (phones, 468px and down) */
@media screen and (max-width: 468px){
    html {
        font-size: 45%;
    }   

    .cabanas-grid {
        grid-template-columns: repeat(1, minmax(0, 1fr));
    }
    .cabana-grid-box{
        flex-direction: column;
    }
    .cabana-grid-box-image{
        width: 100%;
    }
    .cabana-grid-box-info {
        width: 80%;
        margin: 1rem auto;
        text-align: center;
    }
    .imagen-box {
        max-height: 100px;
        max-width: 100px;
    }
    .payment-method{
        margin: 1rem 2rem;
    }
    .payment-method-info img {
        max-width: 75px;
        max-height: 75px;
    }
    .galeria-box-edit {
        width: 100%;
    }
}
/* Extra extra small devices (phones, 324px and down) */
@media screen and (max-width: 324px){
    html {
        font-size: 35%;
    }   
}

.not-displayed {
    display: none;
}

/* BOXES DISPLAY */
.flex {
    display: flex;
  }
  .inline-flex {
    display: inline-flex;
  }
  .grid {
    display: grid;
  }
  
  /* FLEX ITEMS */
  .column {
    flex-direction: column;
  }
  .column-reverse {
    flex-direction: column-reverse;
  }
  .reverse {
    flex-direction: row-reverse;
  }
  .wrap {
    flex-wrap: wrap;
  }
  .wrap-reverse {
    flex-wrap: wrap-reverse;
  }
  
  /* WIDTH SIZE BOXES IN PERCENTS */
  .box-xxs {
    width: 10%;
  }
  .box-xs {
    width: 20%;
  }
  .box-s {
    width: 30%;
  }
  .box-ms {
    width: 40%;
  }
  .box-m {
    width: 50%;
  }
  .box-ml {
    width: 60%;
  }
  .box-l {
    width: 70%;
  }
  .box-xl {
    width: 80%;
  }
  .box-xxl-m {
    width: 90%;
  }
  .box-xxl {
    width: 100%;
  }
  
  /* FIXED WIDTH SIZE */
  .f-width-xxs {
    width: var(--b-xxs-size);
  }
  .f-width-xs {
    width: var(--b-xs-size);
  }
  .f-width-s {
    width: var(--b-s-size);
  }
  .f-width-ms {
    width: var(--b-ms-size);
  }
  .f-width-m {
    width: var(--b-m-size);
  }
  .f-width-ml {
    width: var(--b-ml-size);
  }
  .f-width-l {
    width: var(--b-l-size);
  }
  .f-width-xl {
    width: var(--b-xl-size);
  }
  .f-width-xxl {
    width: var(--b-xxl-size);
  }
  .f-width-xxxl {
    width: var(--b-xxxl-size);
  }
  .f-width-xxxxl {
    width: var(--b-xxxxl-size);
  }
  
  /* MIN HEIGHT SIZE BOXES */
  .m-height-xxs {
    min-height: var(--b-xxs-size);
  }
  .m-height-xs {
    min-height: var(--b-xs-size);
  }
  .m-height-s {
    min-height: var(--b-s-size);
  }
  .m-height-ms {
    min-height: var(--b-ms-size);
  }
  .m-height-m {
    min-height: var(--b-m-size);
  }
  .m-height-ml {
    min-height: var(--b-ml-size);
  }
  .m-height-l {
    min-height: var(--b-l-size);
  }
  .m-height-xl {
    min-height: var(--b-xl-size);
  }
  .m-height-xxl {
    min-height: var(--b-xxl-size);
  }
  .m-height-xxxl {
    min-height: var(--b-xxxl-size);
  }
  .m-height-xxxxl {
    min-height: var(--b-xxxxl-size);
  }
  .m-height-full {
    height: 100vh;
  }
  
  /* MIN HEIGHT SIZE BOXES */
  .max-height-xxl {
    max-height: var(--b-xxl-size);
  }
  .max-height-xl {
    max-height: var(--b-xxxxl-size);
  }
  
  /* FIXED HEIGHT SIZE */
  .f-height-xxs {
    height: var(--b-xxs-size);
  }
  .f-height-xs {
    height: var(--b-xs-size);
  }
  .f-height-s {
    height: var(--b-s-size);
  }
  .f-height-ms {
    height: var(--b-ms-size);
  }
  .f-height-m {
    height: var(--b-m-size);
  }
  .f-height-ml {
    height: var(--b-ml-size);
  }
  .f-height-l {
    height: var(--b-l-size);
  }
  .f-height-xl {
    height: var(--b-xl-size);
  }
  .f-height-xxl {
    height: var(--b-xxl-size);
  }
  .f-height-xxxl {
    height: var(--b-xxxl-size);
  }
  .f-height-xxxxl {
    height: var(--b-xxxxl-size);
  }
  .f-height-search {
    height: 676px;
  }
  .f-height-full {
    height: 100%;
  }
  
  /* BACKGROUND COLORS */
  .base-bg {
    background: var(--base-bg);
    background-size: 200% 200%;
    animation: bgAnim 5s ease-in-out infinite;
  }
  
  @keyframes bgAnim {
    0% {
      background-position: 0% 50%;
    }
    50% {
      background-position: 100% 50%;
    }
    100% {
      background-position: 0% 50%;
    }
  }
  .second-bg {
    background: var(--second-bg);
  }
  .third-bg {
    background: var(--third-bg);
  }
  .four-bg {
    background: var(--four-bg);
  }
  
  /* COLORS */
  .base-color {
    color: var(--base-text);
  }
  .second-color {
    color: var(--second-text);
  }
  .third-color {
    color: var(--third-text);
  }
  
  /* BOXES POSITION */
  .relative {
    position: relative;
  }
  .absolute {
    position: absolute;
  }
  .fixed {
    position: fixed;
  }
  
  /* FIXED BOX POSITION */
  .f-top {
    top: 0;
  }
  .f-bottom {
    bottom: 0;
  }
  .f-right {
    right: 0;
  }
  .f-left {
    left: 0;
  }
  
  /* BOXES OVERFLOW */
  .hidden {
    overflow: hidden;
  }
  .auto {
    overflow: auto;
  }
  .auto-y {
    overflow-y: auto;
  }
  .scroll {
    overflow: scroll;
  }
  
  /* JUSTIFY CONTENT */ 
  .j-start {
    justify-content: flex-start;
  }
  .j-center {
    justify-content: center;
  }
  .j-end {
    justify-content: flex-end;
  }
  .j-space {
    justify-content: space-between;
  }
  .j-around {
    justify-content: space-around;
  }
  
  /* ALIGN ITEMS */ 
  .a-start {
    align-items: flex-start;
  }
  .a-center {
    align-items: center;
  }
  .a-end {
    align-items: flex-end;
  }
  .a-baseline {
    align-items: baseline;
  }
  
  /* TEXT ALIGN */ 
  .t-start {
    text-align: start;
  }
  .t-center {
    text-align: center;
  }
  .t-end {
    text-align: end;
  }
  
  /* OPACITY */ 
  .opacity-xs {
    opacity: .4;
    transition: .3s ease-in-out;
  }
  .opacity-s {
    opacity: .7;
    transition: .3s ease-in-out;
  }
  .opacity-m {
    opacity: .8;
    transition: .3s ease-in-out;
  }
  .opacity-l {
    opacity: .9;
    transition: .3s ease-in-out;
  }
  .opacity-xs:hover {
    opacity: .5;
  }
  .opacity-s:hover {
    opacity: .8;
  }
  .opacity-m:hover {
    opacity: .9;
  }
  .opacity-l:hover {
    opacity: 1;
  }
  
  /* GAPS */
  .gap-xxs {
    gap: var(--xxs-size);
  }
  .gap-xs {
    gap: var(--xs-size);
  }
  .gap-s {
    gap: var(--s-size);
  }
  .gap-ms {
    gap: var(--ms-size);
  }
  .gap-m {
    gap: var(--m-size);
  }
  .gap-ml {
    gap: var(--ml-size);
  }
  .gap-l {
    gap: var(--l-size);
  }
  .gap-xl {
    gap: var(--xl-size);
  }
  .gap-xxl {
    gap: var(--xxl-size);
  }
  .gap-xxxl {
    gap: var(--xxxl-size);
  }
  
  /* MARGINS */
  .margin-xxs {
    margin: var(--xxs-size);
  }
  .margin-xs {
    margin: var(--xs-size);
  }
  .margin-s {
    margin: var(--s-size);
  }
  .margin-ms {
    margin: var(--ms-size);
  }
  .margin-m {
    margin: var(--m-size);
  }
  .margin-ml {
    margin: var(--ml-size);
  }
  .margin-l {
    margin: var(--l-size);
  }
  .margin-xl {
    margin: var(--xl-size);
  }
  .margin-xxl {
    margin: var(--xxl-size);
  }
  .margin-center {
    margin: 0 auto;
  }
  
  /* MARGIN TOP */
  .margin-t-xxs {
    margin-top: var(--xxs-size);
  }
  .margin-t-xs {
    margin-top: var(--xs-size);
  }
  .margin-t-s {
    margin-top: var(--s-size);
  }
  .margin-t-ms {
    margin-top: var(--ms-size);
  }
  .margin-t-m {
    margin-top: var(--m-size);
  }
  .margin-t-ml {
    margin-top: var(--ml-size);
  }
  .margin-t-l {
    margin-top: var(--l-size);
  }
  .margin-t-xl {
    margin-top: var(--xl-size);
  }
  .margin-t-xxl {
    margin-top: var(--xxl-size);
  }
  
  /* MARGIN BOTTOM */
  .margin-b-xxs {
    margin-bottom: var(--xxs-size);
  }
  .margin-b-xs {
    margin-bottom: var(--xs-size);
  }
  .margin-b-s {
    margin-bottom: var(--s-size);
  }
  .margin-b-ms {
    margin-bottom: var(--ms-size);
  }
  .margin-b-m {
    margin-bottom: var(--m-size);
  }
  .margin-b-ml {
    margin-bottom: var(--ml-size);
  }
  .margin-b-l {
    margin-bottom: var(--l-size);
  }
  .margin-b-xl {
    margin-bottom: var(--xl-size);
  }
  .margin-b-xxl {
    margin-bottom: var(--xxl-size);
  }
  
  /* MARGIN RIGHT */
  .margin-r-xxs {
    margin-right: var(--xxs-size);
  }
  .margin-r-xs {
    margin-right: var(--xs-size);
  }
  .margin-r-s {
    margin-right: var(--s-size);
  }
  .margin-r-ms {
    margin-right: var(--ms-size);
  }
  .margin-r-m {
    margin-right: var(--m-size);
  }
  .margin-r-ml {
    margin-right: var(--ml-size);
  }
  .margin-r-l {
    margin-right: var(--l-size);
  }
  .margin-r-xl {
    margin-right: var(--xl-size);
  }
  .margin-r-xxl {
    margin-right: var(--xxl-size);
  }
  
  /* MARGIN LEFT */
  .margin-l-xxs {
    margin-left: var(--xxs-size);
  }
  .margin-l-xs {
    margin-left: var(--xs-size);
  }
  .margin-l-s {
    margin-left: var(--s-size);
  }
  .margin-l-ms {
    margin-left: var(--ms-size);
  }
  .margin-l-m {
    margin-left: var(--m-size);
  }
  .margin-l-ml {
    margin-left: var(--ml-size);
  }
  .margin-l-l {
    margin-left: var(--l-size);
  }
  .margin-l-xl {
    margin-left: var(--xl-size);
  }
  .margin-l-xxl {
    margin-left: var(--xxl-size);
  }
  
  /* PADDINGS */
  .padding-xxs {
    padding: var(--xxs-size);
  }
  .padding-xs {
    padding: var(--xs-size);
  }
  .padding-s {
    padding: var(--s-size);
  }
  .padding-ms {
    padding: var(--ms-size);
  }
  .padding-m {
    padding: var(--m-size);
  }
  .padding-ml {
    padding: var(--ml-size);
  }
  .padding-l {
    padding: var(--l-size);
  }
  .padding-xl {
    padding: var(--xl-size);
  }
  .padding-xxl {
    padding: var(--xxl-size);
  }
  
  /* PADDING TOP */
  .padding-t-xxs {
    padding-top: var(--xxs-size);
  }
  .padding-t-xs {
    padding-top: var(--xs-size);
  }
  .padding-t-s {
    padding-top: var(--s-size);
  }
  .padding-t-ms {
    padding-top: var(--ms-size);
  }
  .padding-t-m {
    padding-top: var(--m-size);
  }
  .padding-t-ml {
    padding-top: var(--ml-size);
  }
  .padding-t-l {
    padding-top: var(--l-size);
  }
  .padding-t-xl {
    padding-top: var(--xl-size);
  }
  .padding-t-xxl {
    padding-top: var(--xxl-size);
  }
  
  /* PADDING BOTTOM */
  .padding-b-xxs {
    padding-bottom: var(--xxs-size);
  }
  .padding-b-xs {
    padding-bottom: var(--xs-size);
  }
  .padding-b-s {
    padding-bottom: var(--s-size);
  }
  .padding-b-ms {
    padding-bottom: var(--ms-size);
  }
  .padding-b-m {
    padding-bottom: var(--m-size);
  }
  .padding-b-ml {
    padding-bottom: var(--ml-size);
  }
  .padding-b-l {
    padding-bottom: var(--l-size);
  }
  .padding-b-xl {
    padding-bottom: var(--xl-size);
  }
  .padding-b-xxl {
    padding-bottom: var(--xxl-size);
  }
  
  /* PADDING RIGHT */
  .padding-r-xxs {
    padding-right: var(--xxs-size);
  }
  .padding-r-xs {
    padding-right: var(--xs-size);
  }
  .padding-r-s {
    padding-right: var(--s-size);
  }
  .padding-r-ms {
    padding-right: var(--ms-size);
  }
  .padding-r-m {
    padding-right: var(--m-size);
  }
  .padding-r-ml {
    padding-right: var(--ml-size);
  }
  .padding-r-l {
    padding-right: var(--l-size);
  }
  .padding-r-xl {
    padding-right: var(--xl-size);
  }
  .padding-r-xxl {
    padding-right: var(--xxl-size);
  }
  
  /* PADDING LEFT */
  .padding-l-xxs {
    padding-left: var(--xxs-size);
  }
  .padding-l-xs {
    padding-left: var(--xs-size);
  }
  .padding-l-s {
    padding-left: var(--s-size);
  }
  .padding-l-ms {
    padding-left: var(--ms-size);
  }
  .padding-l-m {
    padding-left: var(--m-size);
  }
  .padding-l-ml {
    padding-left: var(--ml-size);
  }
  .padding-l-l {
    padding-left: var(--l-size);
  }
  .padding-l-xl {
    padding-left: var(--xl-size);
  }
  .padding-l-xxl {
    padding-left: var(--xxl-size);
  }
  /* BORDERS */
  .base-border {
    border: 1.75px solid var(--base-border);
  }
  .second-border {
    border: 1.75px solid var(--second-border);
  }
  .third-border {
    border: 1.75px solid var(--third-border);
  }
  
  /* BORDER TOP */
  .base-border-t {
    border-top: 1.75px solid var(--base-border);
  }
  .second-border-t {
    border-top: 1.75px solid var(--second-border);
  }
  .third-border-t {
    border-top: 1.75px solid var(--third-border);
  }
  
  /* BORDER BOTTOM */
  .base-border-b {
    border-bottom: 1.75px solid var(--base-border);
  }
  .second-border-b {
    border-bottom: 1.75px solid var(--second-border);
  }
  .third-border-b {
    border-bottom: 1.75px solid var(--third-border);
  }
  
  /* BORDER RIGHT */
  .base-border-r {
    border-right: 1.75px solid var(--base-border);
  }
  .second-border-r {
    border-right: 1.75px solid var(--second-border);
  }
  .third-border-r {
    border-right: 1.75px solid var(--third-border);
  }
  
  /* BORDER LEFT */
  .base-border-l {
    border-left: 1.75px solid var(--base-border);
  }
  .second-border-l {
    border-left: 1.75px solid var(--second-border);
  }
  .third-border-l {
    border-left: 1.75px solid var(--third-border);
  }
  
  /* BORDER RADIUS */
  .border-radius-xxs {
    border-radius: 4px;
  }
  .border-radius-xs {
    border-radius: 8px;
  }
  .border-radius-s {
    border-radius: 12px;
  }
  .border-radius-m {
    border-radius: 16px;
  }
  .border-radius-l {
    border-radius: 20px;
  }
  .border-radius-xl {
    border-radius: 24px;
  }
  .border-radius-xxl {
    border-radius: 28px;
  }
  
  /* SHADOWS */
  .base-shadow {
    box-shadow: 0 0 .5rem var(--base-shadow);
  }
  .second-shadow {
    box-shadow: 0 0 .5rem var(--second-shadow);
  }
  .third-shadow {
    box-shadow: 0 0 .5rem var(--third-shadow);
  }
  