@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}

.animate-spin {
    animation: spin 1s linear infinite;
}

.opacity-25 {
    opacity: 0.25;
}

.opacity-75 {
    opacity: 0.75;
}

.main-spacer{
    padding-top: 50px;
    padding-bottom: 50px;
}

.top-header {
    top: 120px;
}

@media only screen and (min-width: 1024px) {
    .main-spacer{
        padding-top: 80px;
        padding-bottom: 80px;
    }
}

.text-main {
    color: #053779;
}

.row-gap-5 {
    row-gap: 35px;
}

.banner.s-booking {
    min-height: 100vh;
    display: flex;
    align-items: end;
    background-color: #f0f2f5;
}

.formWrap {
    background-color: #fff;
    padding: 25px;
    border-radius: 12px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
    border-left: 5px solid #fed001;
    animation: fadeIn 0.6s ease-out forwards;
}

.s-chronicles .row {
    justify-content: center;
}

.inputWrapper {
    margin-bottom: 18px;
    width: 100%;
    position: relative;
}

.inputWrapper input, 
.inputWrapper select, 
.inputWrapper textarea {
    outline: none;
    border: 1px solid #05377920;
    background-color: #05377920;
    width: 100%;
    padding: 12px;
    border-radius: .25rem;
    transition: color .3s ease-in-out, background-color .3s ease-in-out, border-color .3s ease-in-out;
}

.inputWrapper select {
    color: #777;
}

.inputWrapper.selected select {
    color: #000;
}

.inputWrapper input:focus, 
.inputWrapper select:focus, 
.inputWrapper.selected select, 
.inputWrapper textarea:focus,
.inputWrapper input:not(:placeholder-shown), 
.inputWrapper textarea:not(:placeholder-shown){
    border-color: #053779;
    background-color: transparent;
}

.inputWrapper .label {
    position: absolute;
    top: 14px;
    left: 12px;
    z-index: 1;
    opacity: 0;
    line-height: 1;
    font-size: 16px;
    margin: 0;
    color: #777;
    padding-inline: 2px;
    pointer-events: none;
    background-color: transparent;
    transition: background-color .1s ease-in-out, opacity .4s ease-in-out, top .4s ease-in-out, font-size .4s ease-in-out;
}

.inputWrapper input:focus + .label, 
.inputWrapper input:not(:placeholder-shown) + .label, 
.inputWrapper textarea:focus + .label, 
.inputWrapper textarea:not(:placeholder-shown) + .label, 
.inputWrapper.selected select + .label{
    top: -7px;
    background-color: #fff;
    font-size: 14px;
    opacity: 1;
    transition: opacity .1s ease-in-out, top .4s ease-in-out, background-color .4s ease-in-out, font-size .4s ease-in-out;
}

.inputWrapper input::placeholder,.inputWrapper textarea::placeholder {
    transition: opacity 0.4s ease-in-out;
}

.inputWrapper input:focus::placeholder,.inputWrapper textarea:focus::placeholder {
    opacity:0;
}

.submitBtn {
    background-color: #fed001;
    border-radius: 30px;
    padding: 10px 28px;
    color: #082b5c;
    border: none;
    outline: none;
    text-transform: uppercase;
    font-weight: 800;
    cursor: pointer;
    transition: width 0.2s ease-in-out;
}

.submitBtn:disabled {
    cursor: not-allowed;
    opacity: 0.75;
}

.submitBtn .loader,
.submitBtn.loading .text {
    display: none;
}

.submitBtn.loading .loader {
    display: block;
}

.swiperNav {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
}

.swiperNav button {
    outline: none;
    cursor: pointer;
    border: 1px solid #fff;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 7px;
    width: 50px;
    height: 50px;
    border-radius: 100%;
    color: #053779;
    z-index: 1;
    position: relative;
    background-color: #fff;
    transition: color .3s ease-in-out, opacity .3s ease-in-out;
}

.swiperNav.light-bg button {
    border: 1px solid #053779;
}

.swiperNav button:disabled {
    opacity: 0.5;
    cursor: not-allowed;
}

.swiperNav button::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    border-radius: 100%;
    transform: scale(0);
    pointer-events: none;
    background-color: #053779;
    transition: transform .3s ease-in-out;
}

.swiperNav button:hover::before {
    transform: scale(1);
}

.swiperNav button:hover {
    color: #fff;
}

.swiperPagination .swiper-pagination-bullet {
    width: 10px;
    height: 10px;
}

.swiperPagination .swiper-pagination-bullet.swiper-pagination-bullet-active {
    background-color: #053779;
}

/*.s-chronicles {*/
/*    color: #fff;*/
/*    background-repeat: no-repeat;*/
/*    background-size: cover;*/
/*    background-image: url("../images/land-rides/3.webp");*/
/*}*/

.s-chronicles p,
.s-chronicles h1 {
    /*color: #fff;*/
}

.chroniclesSwiper .swiper-slide {
    padding: 20px;
    text-align: center;
    border-radius: 20px;
    background-color: #fff;
}

.chroniclesSwiper .swiper-slide .icon_wrapper {
    padding: 0 20px;
    margin: 0 auto 14px auto;
    max-width: 140px;
}

.chroniclesSwiper .swiper-slide p {
    color: #053779;
}

.instaReelsSwiper .swiper-slide .video-wrap {
    border-radius: 24px;
    overflow: hidden;
    height: 90vh;
}

.instaReelsSwiper .swiper-slide .video-wrap video {
  max-width: 100%;
  max-height: 100%;
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.instaReelsSwiper .swiper-slide .instagram-media {
    height: 90vh;
}

.s-testi {
    /*background-color: #053779;*/
    background: linear-gradient(135deg, #f5f7fa 0%, #c3cfe2 100%);
}

.s-testi p {
    margin-top: 12px;
}

.s-testi h2 {
    color: #053779;
}

.s-testi .testiSwiper .swiper-slide .slide-wrapper {
    padding: 40px;
    transition-origin: center;
    transform: scale(0.65);
    color: white;
    border-radius: 15px;
    /*box-shadow: 0 10px 30px rgba(0, 0, 0, 0.15);*/
    background: linear-gradient(135deg, #053779 0%, #3498db 100%);
    transition: transform 0.4s ease-in-out;
}

.s-testi .testiSwiper .swiper-slide .slide-wrapper h3 {
    color: #fff;
}

.s-testi .testiSwiper .swiper-slide .slide-wrapper .quote_icon {
    opacity: 0.3;
    max-width: 90px;
    margin-left: auto;
}
.s-testi .testiSwiper .swiper-slide-active .slide-wrapper {
    transform: scale(1);
}

.s-testi .testiSwiper .swiper-slide .slide-wrapper .review {
    padding-top: 50px;
}

@keyframes fadeIn {
        from {
            opacity: 0;
            transform: translateY(45px);
        }

        to {
            opacity: 1;
            transform: translateY(0);
        }
    }

.formResponse {
    border: 1px solid;
    animation: fadeIn 0.3s ease-out forwards;
}

.formResponse.success {
    border-color: green;
}

.formResponse.error {
    border-color: red;
}

