
html {
    height: 100%;
    scroll-padding-top: calc(4.5rem - 1px);
}

body {
    width: 100%;
    height: 100%;
}
/*
body:before {
    content: "";
    position: static;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    background-color: #2a5555;
    opacity: 0.7;
    z-index: 1;
} */

.text-white-75 {
    color: rgba(255, 255, 255, 0.75) !important;
}


/* boton redondo de encabezado */
.btn-rounded {
    padding: 0.575rem 1.45rem;
    border-radius: 2em
}

.escritorio {
    visibility: visible !important;
}

.movil {
    visibility: hidden;
}

@media only screen and (orientation: landscape) {
    .escritorio {
        visibility: visible !important;
        height: 600px;
    }

    .movil {
        display: none;
        visibility: hidden;
    }
}

@media only screen and (orientation: portrait) {
    .escritorio {
        display: none;
        visibility: hidden;
    }

    .movil {
        visibility: visible !important;
        height: 400px;
    }
}

.box {
    width: 100%;
    height: 200px;
}

.box img {
    width: 100%;
    height: auto;
}

.box a {
    display: contents;
}

@supports(object-fit: cover) {
    .box img {
        height: 100%;
        object-fit: cover;
        object-position: center center;
    }
}

.box-paquete {
    width: 100%;
    height: 38cqmax;
}

.box-paquete img {
    width: 100%;
    height: auto;
}

.box-paquete::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 40cqmax;
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0.275) 0%, rgba(0, 0, 0, 0.489) 100%);
    opacity: 0.8;
}

.box-encabezado {
    width: 100%;
    height: 300px;
}

.box-encabezado img {
    width: 100%;
    height: auto;
}

.box-encabezado::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 300px;
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0.744) 0%, rgba(0, 0, 0, 0.875) 100%);
    opacity: 0.8;
}

@supports(object-fit: cover) {
    .box-encabezado img {
        height: 100%;
        object-fit: cover;
        object-position: center center;
    }

    .box-paquete img {
        height: 100%;
        object-fit: cover;
        object-position: center center;
    }
}

.box-text {
    display: flex;
    justify-content: center;
    width: 100%;
    top: 150px;
    position: absolute;
}

.box-h {
    width: 100%;
    height: 300px;
}

.box-h img {
    width: 100%;
    height: auto;
}

.box-h::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0.744) 0%, rgba(0, 0, 0, 0.875) 100%);
    opacity: 0.5;
}

@supports(object-fit: cover) {
    .box-h img {
        height: 100%;
        object-fit: cover;
        object-position: center center;
    }
}

.box-v {
    width: 100%;
    height: 500px;
}

.box-v img {
    width: 100%;
    height: auto;
}

@supports(object-fit: cover) {
    .box-v img {
        height: 100%;
        object-fit: cover;
        object-position: center center;
    }
}


.box-horizontal img {
    height: 100%;
    width: auto;
}

@supports(object-fit: cover) {
    .box-horizontal img {
        width: 100%;
        object-fit: cover;
        object-position: center center;
    }
}


/* Movimiento de cercamiento img */
.box-movimiento {
    position: relative;
    overflow: hidden;
    width: 100%;
    height: auto;
    border-radius: var(--bs-border-radius-xl);
}

.box-movimiento img {
    display: block;
    width: 100%;
    transition: transform 0.5s ease-out;
}

.box-movimiento img:hover {
    transform: scale(1.1);
}

/*Animacion y scroll de pagina principal*/
.animado {
    visibility: hidden;
}

.animatearriba {
    visibility: visible !important;
    animation: aparecerarriba 1s forwards;
}

.animateizquierda {
    visibility: visible !important;
    animation: aparecerizquierda 1s forwards;
}

.animatederecha {
    visibility: visible !important;
    animation: aparecerderecha 1s forwards;
}

@keyframes aparecerarriba {
    0% {
        transform: translateY(60px);
    }

    100% {
        transform: translateY(0px);
    }
}

@keyframes aparecerizquierda {
    0% {
        transform: translateX(-60px);
    }

    100% {
        transform: translateX(0px);
    }
}

@keyframes aparecerderecha {
    0% {
        transform: translateX(60px);
    }

    100% {
        transform: translateX(0px);
    }
}

/* animaciones de toda la pagina */
.scrollarriba {
    opacity: 0;
    transform: translate(0, 10vh);
    transition: all 1s;
}

.scrollderecha {
    opacity: 0;
    transform: translate(-10vh, 0vh);
    transition: all 1s;
}

.scrollizquierda {
    opacity: 0;
    transform: translate(-10vh, 0vh);
    transition: all 1s;
}

.scrollvisible {
    opacity: 1;
    transform: translate(0, 0);
}


/* botones de resdes sociales */
.btn-outline-facebook {
    --bs-btn-color: #1778f2;
    --bs-btn-border-color: #1778f2;
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: #1778f2;
    --bs-btn-hover-border-color: #1778f2;
    --bs-btn-focus-shadow-rgb: 13, 110, 253;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: #1778f2;
    --bs-btn-active-border-color: #1778f2;
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --bs-btn-disabled-color: #1778f2;
    --bs-btn-disabled-bg: transparent;
    --bs-btn-disabled-border-color: #1778f2;
    --bs-gradient: none;
}

.btn-outline-instagram {
    --bs-btn-color: #f00075;
    --bs-btn-border-color: #f00075;
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: #f00075;
    --bs-btn-hover-border-color: #f00075;
    --bs-btn-focus-shadow-rgb: 13, 110, 253;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: #f00075;
    --bs-btn-active-border-color: #f00075;
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --bs-btn-disabled-color: #f00075;
    --bs-btn-disabled-bg: transparent;
    --bs-btn-disabled-border-color: #f00075;
    --bs-gradient: none;
}

.btn-whats {
    color: #ffffff;
    background-color: #22ca80;
    padding: 12px 20px;
    position: fixed;
    bottom: 30px;
    left: 30px;
    transition: all 300ms ease 0ms;
    box-shadow: 0px 8px 15pxrgb(255, 255, 255);
    z-index: 99;
}

.btn-flotante {
    padding: 12px 20px;
    position: fixed;
    bottom: 20px;
    right: 20px;
    transition: all 300ms ease 0ms;
    box-shadow: 0px 8px 15pxrgb(255, 255, 255);
    z-index: 99;
}

.vl {
    border-left: 2px solid #f4623a;
    ;
    height: auto;
    padding-left: 30px;
}

.vl h4 {
    /* text-transform: uppercase; */
    color: #f4623a;
    ;
}

.circulo::before {
    content: "";
    display: inline-block;
    top: 10;
    margin-left: -0.9em;
    width: 15px;
    height: 15px;
    -moz-border-radius: 50%;
    -webkit-border-radius: 50%;
    border-radius: 50%;
    background: #fff;
    border: 2.5px solid #f4623a;
    ;

}

a {
    text-decoration: none;
    display: inline-block;
    color: #f4623a;
    /* transition: color 0.5s ease-out; */
}

a:hover {
    color: #cf5331;
    /* transform: scale(1.1); */
}

.whatsapp {
    position: fixed;
    width: 50px;
    height: 50px;
    bottom: 20px;
    left: 20px;
    background-color: #25d366;
    color: #FFF;
    border-radius: 50px;
    text-align: center;
    font-size: 34px;
    box-shadow: 2px 2px 3px #999;
    z-index: 100;
}

.whatsapp:hover {
    text-decoration: none;
    color: #25d366;
    background-color: #1AA44C;
}

.whatsapp-icon {
    margin-top: 3px;
    width: 30px;
    height: 30px;
    fill: #fff;
}

.btn-outline-facebook {
    color: #1778f2;
    border-color: #1778f2;
}

.btn-outline-facebook:hover {
    color: #fff;
    background-color: #1778f2;
    border-color: #1778f2;
}

.btn-outline-instagram {
    color: #f00075;
    border-color: #f00075;
}

.btn-outline-instagram:hover {
    color: #fff;
    background-color: #f00075;
    border-color: #f00075;
}

/*Visibilidad de elementos*/
.busqueda {
    visibility: visible !important;
    position: absolute;
    width: 60%;
}

@media only screen and (orientation: portrait) {
    .busqueda {
        visibility: hidden;
        position: relative;
        width: 100% !important;
    }
}

/* Codigo para el baner de buscar */
.search {
    position: relative;
    box-shadow: 0 0 40px rgba(51, 51, 51, .1);
}

.search button {
    position: absolute;
    top: 5px;
    right: 5px;
    height: 50px;
    width: 110px;
    border-radius: 50px;
}

.search__input {
    width: 100%;
    height: 60px;
    text-indent: 25px;
    padding: 12px 40px;
    background-color: transparent;
    transition: transform 250ms ease-in-out;
    font-size: 14px;
    line-height: 18px;
    color: #fff;
    background-color: transparent;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='1em' viewBox='0 0 512 512'%3E%3Cstyle%3Esvg{fill:%23fff}%3C/style%3E%3Cpath d='M505 442.7L405.3 343c-4.5-4.5-10.6-7-17-7H372c27.6-35.3 44-79.7 44-128C416 93.1 322.9 0 208 0S0 93.1 0 208s93.1 208 208 208c48.3 0 92.7-16.4 128-44v16.3c0 6.4 2.5 12.5 7 17l99.7 99.7c9.4 9.4 24.6 9.4 33.9 0l28.3-28.3c9.4-9.4 9.4-24.6.1-34zM208 336c-70.7 0-128-57.2-128-128 0-70.7 57.2-128 128-128 70.7 0 128 57.2 128 128 0 70.7-57.2 128-128 128z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-size: 18px 18px;
    background-position: 3% center;
    border-radius: 50px;
    border: 1px solid #fff;
    transition: all 250ms ease-in-out;
    backface-visibility: hidden;
    transform-style: preserve-3d;
}

/* Estilos para el marcador de posición del input */
.search__input::placeholder {
    color: #fff;
    letter-spacing: 1.5px;
}

/* Estilos al pasar el ratón o enfocar el input */
.search__input:hover,
.search__input:focus {
    padding: 12px 25px;
    outline: 0;
    border: 1px solid transparent;
    border-bottom: 5px solid #fff;
    border-radius: 0;
}

.error {
    color: #5a5c69;
    font-size: 7rem;
    position: relative;
    line-height: 1;
    width: 12.5rem
}

@-webkit-keyframes noise-anim {
    0% {
        clip: rect(49px, 9999px, 40px, 0)
    }

    5% {
        clip: rect(75px, 9999px, 72px, 0)
    }

    10% {
        clip: rect(97px, 9999px, 93px, 0)
    }

    15% {
        clip: rect(15px, 9999px, 9px, 0)
    }

    20% {
        clip: rect(14px, 9999px, 92px, 0)
    }

    25% {
        clip: rect(18px, 9999px, 94px, 0)
    }

    30% {
        clip: rect(17px, 9999px, 20px, 0)
    }

    35% {
        clip: rect(71px, 9999px, 59px, 0)
    }

    40% {
        clip: rect(42px, 9999px, 84px, 0)
    }

    45% {
        clip: rect(56px, 9999px, 25px, 0)
    }

    50% {
        clip: rect(46px, 9999px, 14px, 0)
    }

    55% {
        clip: rect(47px, 9999px, 1px, 0)
    }

    60% {
        clip: rect(64px, 9999px, 58px, 0)
    }

    65% {
        clip: rect(89px, 9999px, 92px, 0)
    }

    70% {
        clip: rect(56px, 9999px, 39px, 0)
    }

    75% {
        clip: rect(80px, 9999px, 71px, 0)
    }

    80% {
        clip: rect(8px, 9999px, 13px, 0)
    }

    85% {
        clip: rect(66px, 9999px, 68px, 0)
    }

    90% {
        clip: rect(68px, 9999px, 4px, 0)
    }

    95% {
        clip: rect(56px, 9999px, 14px, 0)
    }

    100% {
        clip: rect(28px, 9999px, 53px, 0)
    }
}

@keyframes noise-anim {
    0% {
        clip: rect(49px, 9999px, 40px, 0)
    }

    5% {
        clip: rect(75px, 9999px, 72px, 0)
    }

    10% {
        clip: rect(97px, 9999px, 93px, 0)
    }

    15% {
        clip: rect(15px, 9999px, 9px, 0)
    }

    20% {
        clip: rect(14px, 9999px, 92px, 0)
    }

    25% {
        clip: rect(18px, 9999px, 94px, 0)
    }

    30% {
        clip: rect(17px, 9999px, 20px, 0)
    }

    35% {
        clip: rect(71px, 9999px, 59px, 0)
    }

    40% {
        clip: rect(42px, 9999px, 84px, 0)
    }

    45% {
        clip: rect(56px, 9999px, 25px, 0)
    }

    50% {
        clip: rect(46px, 9999px, 14px, 0)
    }

    55% {
        clip: rect(47px, 9999px, 1px, 0)
    }

    60% {
        clip: rect(64px, 9999px, 58px, 0)
    }

    65% {
        clip: rect(89px, 9999px, 92px, 0)
    }

    70% {
        clip: rect(56px, 9999px, 39px, 0)
    }

    75% {
        clip: rect(80px, 9999px, 71px, 0)
    }

    80% {
        clip: rect(8px, 9999px, 13px, 0)
    }

    85% {
        clip: rect(66px, 9999px, 68px, 0)
    }

    90% {
        clip: rect(68px, 9999px, 4px, 0)
    }

    95% {
        clip: rect(56px, 9999px, 14px, 0)
    }

    100% {
        clip: rect(28px, 9999px, 53px, 0)
    }
}

.error:after {
    content: attr(data-text);
    position: absolute;
    left: 2px;
    text-shadow: -1px 0 #e74a3b;
    top: 0;
    color: #5a5c69;
    background: #f8f9fc;
    overflow: hidden;
    clip: rect(0, 900px, 0, 0);
    animation: noise-anim 2s infinite linear alternate-reverse
}

@-webkit-keyframes noise-anim-2 {
    0% {
        clip: rect(16px, 9999px, 10px, 0)
    }

    5% {
        clip: rect(22px, 9999px, 29px, 0)
    }

    10% {
        clip: rect(6px, 9999px, 68px, 0)
    }

    15% {
        clip: rect(85px, 9999px, 95px, 0)
    }

    20% {
        clip: rect(65px, 9999px, 91px, 0)
    }

    25% {
        clip: rect(93px, 9999px, 68px, 0)
    }

    30% {
        clip: rect(10px, 9999px, 27px, 0)
    }

    35% {
        clip: rect(37px, 9999px, 25px, 0)
    }

    40% {
        clip: rect(12px, 9999px, 23px, 0)
    }

    45% {
        clip: rect(40px, 9999px, 18px, 0)
    }

    50% {
        clip: rect(19px, 9999px, 71px, 0)
    }

    55% {
        clip: rect(2px, 9999px, 35px, 0)
    }

    60% {
        clip: rect(16px, 9999px, 69px, 0)
    }

    65% {
        clip: rect(8px, 9999px, 65px, 0)
    }

    70% {
        clip: rect(30px, 9999px, 57px, 0)
    }

    75% {
        clip: rect(14px, 9999px, 4px, 0)
    }

    80% {
        clip: rect(39px, 9999px, 30px, 0)
    }

    85% {
        clip: rect(22px, 9999px, 35px, 0)
    }

    90% {
        clip: rect(58px, 9999px, 71px, 0)
    }

    95% {
        clip: rect(34px, 9999px, 90px, 0)
    }

    100% {
        clip: rect(67px, 9999px, 68px, 0)
    }
}

@keyframes noise-anim-2 {
    0% {
        clip: rect(16px, 9999px, 10px, 0)
    }

    5% {
        clip: rect(22px, 9999px, 29px, 0)
    }

    10% {
        clip: rect(6px, 9999px, 68px, 0)
    }

    15% {
        clip: rect(85px, 9999px, 95px, 0)
    }

    20% {
        clip: rect(65px, 9999px, 91px, 0)
    }

    25% {
        clip: rect(93px, 9999px, 68px, 0)
    }

    30% {
        clip: rect(10px, 9999px, 27px, 0)
    }

    35% {
        clip: rect(37px, 9999px, 25px, 0)
    }

    40% {
        clip: rect(12px, 9999px, 23px, 0)
    }

    45% {
        clip: rect(40px, 9999px, 18px, 0)
    }

    50% {
        clip: rect(19px, 9999px, 71px, 0)
    }

    55% {
        clip: rect(2px, 9999px, 35px, 0)
    }

    60% {
        clip: rect(16px, 9999px, 69px, 0)
    }

    65% {
        clip: rect(8px, 9999px, 65px, 0)
    }

    70% {
        clip: rect(30px, 9999px, 57px, 0)
    }

    75% {
        clip: rect(14px, 9999px, 4px, 0)
    }

    80% {
        clip: rect(39px, 9999px, 30px, 0)
    }

    85% {
        clip: rect(22px, 9999px, 35px, 0)
    }

    90% {
        clip: rect(58px, 9999px, 71px, 0)
    }

    95% {
        clip: rect(34px, 9999px, 90px, 0)
    }

    100% {
        clip: rect(67px, 9999px, 68px, 0)
    }
}

.error:before {
    content: attr(data-text);
    position: absolute;
    left: -2px;
    text-shadow: 1px 0 #4e73df;
    top: 0;
    color: #5a5c69;
    background: #f8f9fc;
    overflow: hidden;
    clip: rect(0, 900px, 0, 0);
    animation: noise-anim-2 3s infinite linear alternate-reverse
}
