/* Language Selector */
.language-dropdown .gt_selector {
    display: none;
}

.language-dropdown {
    position: relative;
}

.language-selector {
    position: relative;
    margin-left: 40px;
    /* Increased margin between nav items and language selector */
    display: flex;
    align-items: center;
}

.language-btn {
    display: flex;
    align-items: center;
    padding: 8px 16px;
    background-color: var(--dark-color);
    color: white;
    border: none;
    border-radius: 8px;
    cursor: pointer;
    font-weight: 500;
    margin: 0;
    text-transform: none;
    transition: var(--transition);
    line-height: 1.5;
    min-height: unset;
    height: unset;
    letter-spacing: normal;
}

.language-btn i {
    margin-right: 8px;
    WIDTH: unset;
}

.language-btn:hover {
    background-color: #34495e;
}

.language-dropdown-menu {
    position: absolute;
    top: 100%;
    right: 0;
    width: 160px;
    background: white;
    border-radius: 8px;
    box-shadow: var(--box-shadow);
    overflow: hidden;
    display: none;
    z-index: 1005;
}

.language-option {
    padding: 10px 15px;
    text-decoration: none;
    color: var(--dark-color);
    transition: var(--transition);
    cursor: pointer;
}

.language-option:hover {
    background-color: #f5f5f5;
}

.contact-info {
    display: flex;
    gap: 20px;
}

.contact-info a {
    color: white;
    text-decoration: none;
    transition: var(--transition);
}

.contact-info a:hover {
    color: var(--accent-color);
}

#top-bar .nav-small.nav>li.html {
    font-size: 14px;
}

div#masthead {
    box-shadow: rgba(0, 0, 0, 0.1) 0px 5px 15px;
}

header .social-icons {
    display: flex;
    gap: 15px;
}

header .social-icons a {
    margin: 0 !important;
}

header .social-icons i {
    font-size: 16px;
}

header .social-icons a:hover {
    color: var(--accent-color) !important;
}

.nav.nav-vertical li>a,
.header-nav-main.nav>li>a {
    font-size: 15px;
    display: flex;
    align-items: center;
    padding: 8px 10px;
    color: var(--dark-color);
    line-height: 1.5 !important;
    text-decoration: none;
    font-weight: 500;
    border-radius: 8px;
    transition: var(--transition);
    text-transform: none;
    font-family: var(--font-main);
}

.header-nav-main.nav>li:hover>a {
    background-color: rgba(52, 152, 219, 0.1);
}

.header-nav-main.nav>li.active>a {
    background-color: var(--primary-color);
    color: white;
}

.logo-left .logo {
    margin-right: 50px;
}

.footer-title * {
    font-size: 1.25rem;
    margin-bottom: 1.5rem;
    text-transform: uppercase;
    font-weight: 500;
    line-height: 1.2;
}

footer .ux-menu-link__link {
    line-height: 1.5;
    padding: 0;
    height: unset;
    min-height: unset;
    margin-bottom: .5rem;
}

footer a:hover,
footer .dark .ux-menu-link:hover .ux-menu-link__link {
    color: var(--primary-color) !important;
}

.menu-bottom>* {
    width: max-content;
}

.menu-bottom {
    flex-direction: row;
    justify-content: end;
    gap: 16px;
}

.copyright-wrap {
    border-top: 1px solid #dee2e6;
    padding-top: 1rem;
}

.absolute-footer {
    display: none;
}

footer .menu-info .ux-menu-link__link {
    margin-bottom: 1rem;
}

.footer-se * {
    margin-top: 10px;
    margin-bottom: 0;
    font-weight: bold;
    line-height: 1.5;
}

footer .social-icons a {
    margin: 0 !important;
    margin-right: 1rem !important;
}

footer .row:not(.row-collapse) .col {
    padding-bottom: 24px;
}

.banner-main h2 {
    margin-top: 0;
    margin-bottom: 1.5rem;
    line-height: 1.2;
    font-weight: bold;
    font-size: calc(1.525rem + 3.3vw);
}

.banner-main .text-inner p {
    font-size: clamp(15px, 2vw, 30px);
    margin-left: 30px;
    margin-right: 30px;
    margin-top: 0;
    margin-bottom: 3rem;
}

.banner-main .text-box {
    padding-right: calc(var(--bs-gutter-x) * .5);
    padding-left: calc(var(--bs-gutter-x) * .5);
}

.banner-main .button {
    padding: 8px 16px;
    font-size: clamp(12px, 1.8vw, 20px);
    line-height: 1.5;
    min-height: unset;
    min-width: unset;
    border: 1px solid #f8f9fa;
    font-weight: normal;
    margin: 0 5px 10px;
}

.banner-main .button:hover {
    color: #000 !important;
}

.banner-main .button.is-large {
    font-size: clamp(15px, 1.9vw, 26px);
    background-color: rgba(0, 0, 0, 0.75) !important;
}

.banner-main .button.is-large:hover {
    background-color: #fff !important;
}

.cus-dot ol.flickity-page-dots {
    margin-bottom: 2rem;
    bottom: 0;
}

.slider-nav-dots-dashes-spaced .flickity-page-dots .dot {
    width: 30px;
    height: 3px;
    margin-right: 3px;
    margin-left: 3px;
    border: 0;
    opacity: .5;
    background-color: #fff;
}

.title h2 {
    font-size: calc(1.425rem + 2.1vw);
    font-weight: bold;
    line-height: 1.2;
    margin-bottom: .5rem;
}

.title-mb-4 h2 {
    margin-bottom: 1.5rem;
}

.title-small p,
.title p {
    margin-top: 0;
    margin-bottom: 1rem;
    font-size: 1.25rem;
    font-weight: 300;
}

.p-16 p {
    font-size: 16px;
    margin-bottom: 1.5rem;
    margin-top: 1.5rem;
}

.dest-cat .col-inner {
    height: 100%;
}

.dest-card {
    box-shadow: 0 .5rem 1rem rgba(0, 0, 0, .15);
    transition: transform 0.3s, box-shadow 0.3s;
    border-radius: 15px;
    overflow: hidden;
    height: 100%;
}

.dest-card:hover {
    transform: translateY(-10px);
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.2);
}

.dest-card .box-text {
    padding: 16px;
}

.dest-card .header-title {
    font-size: 1.25rem;
    margin-top: 0;
    margin-bottom: .5rem;
    font-weight: 500;
    line-height: 1.2;
}

.dest-card .desc {
    overflow: hidden;
    text-overflow: ellipsis;
    -webkit-line-clamp: 2;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    color: var(--bs-secondary-color);
}

.dest-card .box-text .btn-box {
    color: black;
    border: 1px solid black;
    padding: 0.375rem 0.75rem;
    transition: all 0.5s;
    border-radius: 0.375rem;
    margin-top: 8px;
}

.dest-card .box-text .btn-box:hover {
    background-color: black;
    color: #fff;
}

.page-heading {
    padding: 30px 0;
    margin-bottom: -10px;
}

.breadcrumb {
    display: flex;
    align-items: center;
    padding: 0;
    flex-wrap: wrap;
}

.breadcrumb-item {
    list-style: none;
    margin: 0 !important;
}

.breadcrumb-item a {
    color: inherit;
}

.breadcrumb-item+.breadcrumb-item {
    padding-left: 0.5rem;
}

.breadcrumb-item+.breadcrumb-item::before {
    float: left;
    padding-right: 0.5rem;
    content: "/";
}

.page-heading h1 {
    font-weight: bold;
    line-height: 1.2;
    margin-bottom: 10px;
}

.page-heading .destination-link {
    text-decoration: none;
    display: flex;
    align-items: center;
}

.page-heading .destination-link:hover {
    text-decoration: underline;
}

.trip-meta {
    background-color: #ffffff;
    border-radius: 12px;
    padding: 15px;
    margin-bottom: 30px;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.08);
    border: 1px solid rgba(0, 0, 0, 0.05);
    transition: transform 0.3s ease;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.trip-meta:hover {
    transform: translateY(-5px);
}

.trip-meta-item {
    display: flex;
    align-items: center;
    padding: 10px;
    border-radius: 8px;
    transition: background-color 0.3s ease;
    background-color: rgba(26, 26, 26, 0.05);
    flex: 1 1 calc(50% - 10px);
}

.trip-meta-item:hover {
    background-color: rgba(15, 15, 15, 0.1);
}

.trip-meta-item i {
    font-size: 1rem;
    color: #000000;
    margin-right: 20px;
    width: 40px !important;
    height: 40px;
    background-color: rgba(139, 139, 139, 0.1);
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
}

/* Fix for Group Size and Views on mobile */
@media (max-width: 767px) {
    .trip-meta-item.mobile-spacing {
        margin-bottom: 10px !important;
    }
}

.book-card {
    position: sticky;
    top: 100px;
    background-color: #fff;
    border-radius: 8px;
    padding: 25px;
    box-shadow: 0 5px 20px rgba(0, 0, 0, 0.1);
}

.price-display {
    font-size: 2rem;
    font-weight: bold;
    color: var(--primary-color-2);
    margin-bottom: 20px;
}

.content-section {
    margin-bottom: 50px;
}

.box-tour-related {
    transition: transform 0.3s, box-shadow 0.3s;
    box-shadow: 0 .125rem .25rem rgba(0, 0, 0, .075);
    border-radius: 0.375rem;
    background-color: #fff;
    overflow: hidden;
}

.box-tour-related:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.1);
}

.box-tour-related-img img {
    height: 160px;
    object-fit: cover;
}

.box-tour-related-desc {
    padding: 1rem;
}

.box-tour-related-desc h3 {
    font-size: 1.25rem;
    margin-bottom: .5rem;
    font-weight: 500;
    line-height: 1.2;
}

.box-tour-related-cat {
    font-size: 14px;
    color: rgb(33 37 41 / 75%);
    margin-bottom: .25rem !important;
}

.box-tour-related-bottom {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: 1rem !important;
}

.box-tour-related-btn {
    padding: 4px 8px;
    border-radius: 4px;
    font-size: 14px;
    line-height: 1.5;
    display: block;
    border: 1px solid;
    transition: all 0.5s;
    color: #000 !important;
}

.box-tour-related-btn:hover {
    background-color: #000;
    color: #fff !important;
}

.related-trips-slider {
    padding-bottom: 40px;
}

/* Photo slider styles */
.photo-gallery-wrapper {
    display: flex;
    flex-direction: row;
    gap: 15px;
    margin-bottom: 0;
}

.photo-slider-container {
    margin-bottom: 0;
    overflow: hidden;
    border-radius: 10px;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
    position: relative;
    flex: 1;
}

.photo-slider-nav-container {
    width: 120px;
    height: 500px;
    overflow-y: auto;
    border-radius: 8px;
    background-color: #e8e8e8;
    padding: 10px;
    line-height: 0;
}

@media (max-width: 768px) {
    .photo-gallery-wrapper {
        flex-direction: column;
    }
}

.d-md-none .photo-slider-nav-container {
    width: 100%;
    height: auto;
    overflow-x: hidden;
    overflow-y: hidden;
    margin-top: 15px;
    padding: 5px;
    background-color: #f8f8f8;
    border-radius: 8px;
}

.photo-slider-loader {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(255, 255, 255, 0.8);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 5;
    transition: opacity 0.5s ease, visibility 0.5s ease;
}

.photo-slider-loader.loaded {
    opacity: 0;
    visibility: hidden;
}

.photo-slider-loader:after {
    content: '';
    width: 40px;
    height: 40px;
    border: 4px solid #f3f3f3;
    border-top: 4px solid #3498db;
    border-radius: 50%;
    animation: spin 1s linear infinite;
}

@keyframes spin {
    0% {
        transform: rotate(0deg);
    }

    100% {
        transform: rotate(360deg);
    }
}

.photo-slider {
    position: relative;
}

.photo-slider .photo-slide {
    padding: 0;
}

.photo-slider img {
    width: 100%;
    height: 500px;
    object-fit: cover;
}

.photo-slider-nav {
    height: 100%;
    display: flex;
    flex-direction: column;
}

.photo-slider-nav.desktop-nav-slider {
    height: 100%;
    display: flex;
    flex-direction: column;
}

.photo-slider-nav.mobile-nav-slider {
    height: auto;
    display: flex;
    flex-direction: row;
}

.photo-slide-thumb {
    padding: 5px;
    cursor: pointer;
    transition: all 0.3s ease;
    opacity: 0.7;
    margin-bottom: 10px;
}

.photo-slider-nav.mobile-nav-slider .photo-slide-thumb {
    margin-bottom: 0;
    margin-right: 10px;
    width: 100px;
}

.photo-slide-thumb:hover {
    opacity: 1;
}

.slick-current.photo-slide-thumb {
    opacity: 1;
    transform: scale(1.05);
}

.photo-slide-thumb img {
    height: 80px;
    width: 100%;
    object-fit: cover;
    border-radius: 5px;
    border: 2px solid transparent;
    transition: all 0.3s ease;
}

.slick-current.photo-slide-thumb img {
    border-color: #4a89dc;
}

/* Custom arrows for main slider */
.photo-gallery-main .slick-prev,
.photo-gallery-main .slick-next {
    z-index: 10;
    width: 40px;
    height: 40px;
}

.photo-gallery-main .slick-prev {
    left: 15px;
}

.photo-gallery-main .slick-next {
    right: 15px;
}

.photo-gallery-main .slick-prev:before,
.photo-gallery-main .slick-next:before {
    font-size: 40px;
}

.photo-gallery-wrapper {
    line-height: 0;
}

/* Custom arrows for desktop nav slider */
.photo-slider-nav.desktop-nav-slider .slick-prev,
.photo-slider-nav.desktop-nav-slider .slick-next {
    transform: rotate(90deg);
    left: 50%;
    margin-left: -20px;
}

.photo-slider-nav.desktop-nav-slider .slick-prev {
    top: 10px;
}

.photo-slider-nav.desktop-nav-slider .slick-next {
    top: auto;
    bottom: 10px;
}

/* Custom arrows for mobile nav slider */
.photo-slider-nav.mobile-nav-slider .slick-prev,
.photo-slider-nav.mobile-nav-slider .slick-next {
    transform: none;
    top: 50%;
    margin-top: -15px;
    margin-left: 0;
    width: 30px;
    height: 30px;
}

.photo-slider-nav.mobile-nav-slider .slick-prev {
    left: 5px;
    z-index: 10;
}

.photo-slider-nav.mobile-nav-slider .slick-next {
    left: auto;
    right: 5px;
    z-index: 10;
}

.photo-slide-thumb img {
    width: 100%;
    height: 80px;
    object-fit: cover;
    border-radius: 5px;
    opacity: 0.7;
    transition: opacity 0.3s;
}

.slick-current.photo-slide-thumb img {
    opacity: 1;
    border: 2px solid var(--primary-color-2);
}

.trip-highlights {
    padding-left: 0;
    list-style: none;
}

.trip-highlights li {
    position: relative;
    padding-left: 30px;
    margin-bottom: 15px;
}

.trip-highlights li:before {
    content: '\f058';
    font-family: 'Font Awesome 5 Free';
    font-weight: 900;
    position: absolute;
    left: 0;
    color: var(--primary-color-2);
}

.slide-caption {
    position: absolute;
    bottom: 0;
    width: 100%;
    padding: 15px;
    background: linear-gradient(to top, rgba(0, 0, 0, 0.7), transparent);
    color: white;
    text-align: center;
}

.slide-caption p {
    margin-bottom: 0;
    font-size: 14px;
    text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.8);
}

.photo-slide {
    position: relative;
    overflow: hidden;
}

.photo-slide:after {
    content: '\f00e';
    font-family: 'Font Awesome 5 Free';
    font-weight: 900;
    position: absolute;
    top: 15px;
    right: 15px;
    width: 40px;
    height: 40px;
    background: rgba(255, 255, 255, 0.7);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #333;
    font-size: 16px;
    opacity: 0;
    transition: opacity 0.3s ease;
    pointer-events: none;
    z-index: 5;
}

.photo-slide:hover:after {
    opacity: 1;
}

.trip-description {
    width: 100%;
    padding: 0;
    text-align: justify;
}

.image {
    width: 100%;
    display: flex;
    align-self: center;
    justify-content: center;
}

.trip-description img {
    width: 100%;
    text-align: center;
    height: auto;
    border: solid 1px rgb(120, 120, 120);
    border-radius: 10px;
}

/* Table styles with full borders */
.trip-description table {
    width: 100%;
    margin-bottom: 20px;
    border-collapse: collapse;
    border: 2px solid #dee2e6;
}

.trip-description table th,
.trip-description table td {
    padding: 12px 15px;
    text-align: left;
    border: 1px solid #dee2e6;
}

.trip-description table thead th {
    background-color: #f8f9fa;
    border-bottom: 2px solid #dee2e6;
    font-weight: bold;
}

.trip-description table tbody tr:nth-child(even) {
    background-color: rgba(0, 0, 0, 0.02);
}

.trip-description table tbody tr:hover {
    background-color: rgba(0, 0, 0, 0.05);
}

.form-booking-btn {
    width: 100%;
    height: 48px;
    border-radius: 0.5rem;
    display: block;
    line-height: 48px;
    text-align: center;
    color: #fff;
    font-size: 1.25rem;
    background-color: rgba(0, 0, 0, 0.75);
    border: solid 1px white;
    border: 1px solid;
    transition: all 0.5s;
}

.form-booking-btn:hover {
    background-color: #fff;
    color: #000;
}

.booking-header {
    background-image: linear-gradient(rgba(0, 0, 0, 0.6), rgba(0, 0, 0, 0.6)), url('https://images.unsplash.com/photo-1452421822248-d4c2b47f0c81');
    background-size: cover;
    background-position: center;
    height: 250px;
    display: flex;
    align-items: center;
    color: #fff;
    text-align: center;
    margin-bottom: 50px;
}

.booking-form {
    background: #fff;
    border-radius: 10px;
    padding: 30px;
    box-shadow: 0 5px 20px rgba(0, 0, 0, 0.1);
    margin-bottom: 50px;
}

.transport-summary {
    background: #f8f9fa;
    border-radius: 10px;
    padding: 25px;
}

.transport-summary-item {
    display: flex;
    justify-content: space-between;
    padding: 10px 0;
    border-bottom: 1px solid #dee2e6;
}

.transport-summary-item:last-child {
    border-bottom: none;
}

.transport-summary-total {
    display: flex;
    justify-content: space-between;
    padding: 15px 0;
    border-top: 2px solid #dee2e6;
    margin-top: 15px;
    font-weight: bold;
    font-size: 1.2rem;
}

.route-display {
    display: flex;
    align-items: center;
    margin-bottom: 15px;
}

.route-location {
    font-size: 1.1rem;
    font-weight: 600;
}

.route-arrow {
    margin: 0 15px;
    color: #6c757d;
}

.form-section {
    margin-bottom: 30px;
}

.form-section-header {
    background: #f8f9fa;
    padding: 15px;
    border-radius: 5px;
    margin-bottom: 20px;
}

.trip-summary {
    background: #f8f9fa;
    border-radius: 10px;
    padding: 25px;
}

.trip-summary-item {
    display: flex;
    justify-content: space-between;
    padding: 10px 0;
    border-bottom: 1px solid #dee2e6;
}

.trip-summary-item:last-child {
    border-bottom: none;
}

.trip-summary-total {
    display: flex;
    justify-content: space-between;
    padding: 15px 0;
    border-top: 2px solid #dee2e6;
    margin-top: 15px;
    font-weight: bold;
    font-size: 1.2rem;
}

.ss-pt-50 {
    padding-top: 50px;
}

.ss-bt-50 {
    padding-bottom: 50px;
}

.filter-box {
    background: #f8f9fa;
    border-radius: 8px;
    padding: 20px;
    margin-bottom: 30px;
}

.button.btn-main-2,
.btn-main.button,
.btn-form {
    background-color: rgba(0, 0, 0, 0.75);
    border: solid 1px rgba(0, 0, 0, 0.75);
    margin: 0 0 0 -1px;
    font-size: 16px;
    padding: 6px 12px;
    min-height: unset;
    text-align: center;
    height: unset;
    color: #fff;
    line-height: 1.5;
    box-shadow: none;
    text-transform: unset;
    font-weight: normal;
    border-radius: 0.375rem;
    display: inline-block;
}

.button.btn-main-2:hover,
.btn-main.button:hover,
.btn-form.btn-outline,
.btn-form:hover {
    color: #000;
    background-color: #fff;
}

.button.btn-main-2 {
    font-size: clamp(15px, 1.9vw, 26px);
    padding-top: 1rem !important;
    padding-bottom: 1rem !important;
    padding-right: 3rem !important;
    padding-left: 3rem !important;
}

.btn-main.button {
    font-size: 20px;
    padding: 8px 16px;
}

.btn-main.btn-bg-wihte {
    background: #fff;
    color: #000;
    border: 0;
    padding: 8px 48px;
}

.btn-form.btn-outline:hover {
    background-color: rgba(0, 0, 0, 0.75);
    color: #fff;
}

.box-tour {
    border-radius: 0.375rem;
    overflow: hidden;
    transition: transform 0.3s, box-shadow 0.3s;
    height: 100%;
    background-color: #fff;
}

.box-tour:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.1);
}

.box-tour-img img {
    height: 200px;
    object-fit: cover;
}

.box-tour-img {
    position: relative;
}

.box-tour-img .box-tour-price {
    position: absolute;
    top: 20px;
    right: 20px;
    background: #0d6efd;
    color: white;
    padding: 5px 15px;
    border-radius: 30px;
    font-weight: bold;
}

.box-tour-price .small {
    font-size: 14px;
}

.home .box-tour {
    border-radius: 20px;
}

.home .box-tour-price {
    padding: 8px 16px;
    font-weight: normal;
}

.home .box-tour-price.bg-danger {
    background-color: rgba(220, 53, 69);
}

.box-tour-desc {
    padding: 1rem;
}

.box-tour-desc h3 {
    font-size: 1.25rem;
    margin-bottom: .5rem;
    font-weight: 500;
    line-height: 1.2;
}

.box-tour-cat {
    font-size: 14px;
    color: rgba(33, 37, 41, 0.75);
}

.box-tour-excerpt {
    overflow: hidden;
    text-overflow: ellipsis;
    -webkit-line-clamp: 2;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    margin-bottom: 1rem;
}

.box-tour-bottom {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
}

.box-tour-btn {
    padding: 6px 12px;
    display: block;
    border-radius: 0.375rem;
    color: black;
    border: 1px solid black;
    line-height: 1.5;
    font-size: 16px;
    transition: all 0.5s;
}

.box-tour-btn:hover {
    color: #fff;
    background-color: #000;
}

.home .box-tour-btn {
    padding: 4px 8px;
    background-color: rgba(0, 0, 0, 0.75);
    border: solid 1px;
    color: #fff;
    font-size: 14px;
}

.home .box-tour-btn:hover {
    color: #000;
    background-color: #fff;
}

ul.links.page-numbers {
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 0 16px;
}

ul.page-numbers.links li {
    margin: 0;
}

ul.page-numbers.links li>* {
    border-radius: 0;
    border: 1px solid #dee2e6;
    width: 35px;
    height: 38px;
    line-height: 38px;
    font-weight: normal;
    font-size: 16px;
}

ul.page-numbers.links li>*:hover,
ul.page-numbers.links li>*.current {
    border-color: var(--primary-color);
}

.bg-plus {
    background-color: #f8f9fa;
    background-image: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23e9ecef' fill-opacity='0.4'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
}

.stats-item {
    text-align: center;
    padding: 20px;
}

.stats-item svg {
    height: 40px;
    width: 45px;
    padding: 0;
}

.stats-item p {
    margin-bottom: 10px;
    line-height: 1.5;
}

.stats-item .count-up {
    font-size: 2rem;
    font-weight: bold;
}

.stats-item .icon-box-img {
    margin-bottom: 10px !important;
    line-height: 1;
}

.blog-header {
    background-size: cover;
    background-position: center;
    height: 400px;
    position: relative;
    margin-bottom: 30px;
    justify-content: end;
    align-items: end;
    color: #fff;
}

.blog-header::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(to top, rgba(0, 0, 0, 0.8), rgba(0, 0, 0, 0.3));
    z-index: 1;
}

.entry-content {
    padding: 0;
}

.blog-post {
    background: #fff;
    border-radius: 10px;
    box-shadow: 0 5px 20px rgba(0, 0, 0, 0.05);
    padding: 30px;
    margin-bottom: 30px;
}

.blog-meta {
    margin-bottom: 15px;
    color: #6c757d;
    font-size: 0.9rem;
}

.blog-post .blog-meta {
    margin-bottom: 20px;
    padding-bottom: 20px;
    border-bottom: 1px solid #eee;
}

.blog-meta i {
    margin-right: 5px;
}

.blog-meta span:not(.wp_post_view_count, .view-count) {
    margin-right: 15px;
}

.blog-content {
    line-height: 1.8;
    font-size: 1.1rem;
}

.blog-content img {
    max-width: 100%;
    height: auto;
    margin: 20px 0;
    border-radius: 8px;
}

.blog-content h2,
.blog-content h3 {
    margin-top: 40px;
    margin-bottom: 20px;
}

.blog-content p {
    margin-bottom: 20px;
}

.blog-share {
    margin-top: 30px;
    padding-top: 30px;
    border-top: 1px solid #eee;
}

.social-share {
    display: flex;
}

.social-share a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: #f8f9fa;
    color: #495057;
    margin-right: 10px;
    transition: all 0.3s;
}

.social-share a:hover {
    background: var(--primary-color-2);
    color: #fff;
}

.related-posts h4 {
    margin-bottom: 20px;
}

.sidebar-widget {
    background: #fff;
    border-radius: 10px;
    box-shadow: 0 5px 20px rgba(0, 0, 0, 0.05);
    padding: 25px;
    margin-bottom: 30px;
}

.sidebar-widget h4 {
    margin-bottom: 20px;
    padding-bottom: 15px;
    border-bottom: 1px solid #eee;
}

.popular-post {
    display: flex;
    margin-bottom: 15px;
    padding-bottom: 15px;
    border-bottom: 1px solid #f5f5f5;
}

.popular-post:last-child {
    margin-bottom: 0;
    padding-bottom: 0;
    border-bottom: none;
}

.popular-post img {
    width: 80px;
    height: 60px;
    object-fit: cover;
    border-radius: 5px;
    margin-right: 15px;
}

.popular-post-content h6 {
    margin-bottom: 5px;
    font-size: 0.9rem;
}

.popular-post-content small {
    color: #6c757d;
}

.related-posts .box-tour-bottom div,
.related-posts .box-tour-excerpt,
.related-posts .box-tour-cat,
.related-posts .box-tour-img .box-tour-price {
    display: none;
}

.related-posts .box-tour-btn {
    width: 100%;
    text-align: center;
    padding: 4px 8px;
    font-size: 14px;
}

.related-posts .box-tour-desc h3 {
    font-size: 16px;
    margin-bottom: 8px;
}

.related-posts .box-tour-price.hidden {
    display: block !important;
    visibility: visible !important;
    margin-bottom: 1rem;
    font-weight: bold;
    color: var(--primary-color-2);
}

.related-posts .box-tour.shadow {
    box-shadow: 0 .125rem .25rem rgba(0, 0, 0, .075) !important;
    border-radius: 0.375rem;
}

.box-blog-post {
    border-radius: 0.375rem;
    overflow: hidden;
    box-shadow: 0 .125rem .25rem rgba(0, 0, 0, .075);
    transition: transform 0.3s, box-shadow 0.3s;
    background-color: #fff;
}

.box-blog-post .box-text {
    padding: 1.5rem;
}

.box-blog-post .box-text .post-title {
    font-size: 1.25rem;
    margin-bottom: .5rem;
    font-weight: 500;
    line-height: 1.2;
    margin-top: 0;
}

.box-blog-post .box-text .post-title a {
    color: #000;
}

.box-blog-post .is-divider {
    display: none;
}

.box-blog-post .box-text .from_the_blog_excerpt {
    color: rgba(33, 37, 41, 0.75);
    margin-top: 0;
    margin-bottom: 1rem;
    overflow: hidden;
    text-overflow: ellipsis;
    -webkit-line-clamp: 3;
    display: -webkit-box;
    -webkit-box-orient: vertical;
}

.box-blog-post .box-text .button {
    color: black;
    border: 1px solid black;
    padding: 6px 12px;
    border-radius: 0.375rem;
    line-height: 1.5;
    margin: 0 !important;
    font-weight: normal;
    text-transform: unset;
    font-size: 16px;
    min-height: unset;
}

.box-blog-post .box-text .button:hover {
    background-color: #000;
    color: #Fff;
}

.box-blog-post:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.1);
}

.home .box-blog-post .box-text .from_the_blog_excerpt {
    -webkit-line-clamp: 2;
}

.home .box-blog-post {
    box-shadow: 0 .5rem 1rem rgba(0, 0, 0, .15) !important;
    border-radius: 20px;
}

.home .box-blog-post .box-text {
    padding: 1rem;
}

.home .blog-meta {
    margin-bottom: 4px;
}

.home .blog-meta span:last-child {
    display: none;
}

.ss-letter form.wpcf7-form {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: .5rem;
}

.ss-letter form.wpcf7-form button.btn-form.w-100 {
    width: auto !important;
    min-height: unset;
    line-height: unset;
}

.ss-letter form.wpcf7-form .mb-3 {
    margin: 0 !important;
}

.link-simple span {
    font-size: 16px;
    font-weight: normal;
    color: #000;
}

.link-simple .icon-angle-right:before {
    content: "\f30b";
    --_fa-family: var(--fa-family, var(--fa-style-family, "Font Awesome 6 Free"));
    display: var(--fa-display, inline-block);
    font-family: var(--_fa-family);
    font-weight: var(--fa-style, 900);
    color: #000;
}

.link-simple .icon-angle-right {
    margin: 0 !important;
}

.link-simple:hover .icon-angle-right::before,
.link-simple:hover * {
    color: var(--primary-color-2) !important;
}

.partner-logo {
    align-items: center;
}

.partner-logo .col {
    padding-bottom: 0;
    margin-bottom: 1.5rem;
}

.partner-logo .box-image {
    overflow: unset;
}

.partner-logo img {
    height: 60px;
    opacity: 0.7;
    transition: 0.6s ease-in-out;
    width: auto;
    display: block;
    cursor: pointer;
    object-fit: contain;
}

.partner-logo img:hover {
    filter: grayscale(0%) !important;
    opacity: 1 !important;
    transform: scale(1.05);
}

.partner-logo .flickity-button {
    display: none;
}

.cus-dot-2 .flickity-page-dots .dot {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background-color: #ccc;
    margin: 0 5px;
    border: 0;
    opacity: 0.5;
}

.cus-dot-2 .flickity-page-dots .dot.is-selected {
    background-color: var(--primary-color-2);
}

.rating-summary .col-inner {
    background: #fff;
    border-radius: 10px;
    padding: 30px;
    box-shadow: 0 5px 20px rgba(0, 0, 0, 0.05);
    margin-bottom: 40px;
    text-align: center;
}

.rating-summary .display-1 {
    font-weight: 700;
    color: var(--primary-color-2);
    margin-bottom: 0;
}

.rating-stars {
    font-size: 2.5rem;
    color: #ffc107;
}

.rating-summary h3 {
    font-size: calc(1.375rem + 1.5vw);
    font-weight: 300;
    line-height: 1.2;
    margin-bottom: 20px;
    margin-top: .5rem;
}

.rating-summary p {
    color: rgba(33, 37, 41, 0.75);
}

.btn-filter-re {
    padding: 6px 12px;
    border-radius: 0.375rem;
    border: 1px solid #000;
    line-height: 1.5;
    min-height: unset;
    text-transform: none;
    margin: 0 10px 10px 0;
    transition: all 0.4s ease-in-out;
}

.btn-filter-re.active {
    color: #Fff;
    background-color: var(--primary-color-2);
    border-color: var(--primary-color-2);
}

.btn-filter-re:hover {
    color: #fff;
    background-color: #000;
}

.review-card {
    background: #fff;
    border-radius: 10px;
    padding: 30px;
    box-shadow: 0 5px 20px rgba(0, 0, 0, 0.05);
    margin-bottom: 30px;
    position: relative;
    overflow: hidden;
}

.review-card::before {
    content: '\201C';
    font-family: Georgia, serif;
    position: absolute;
    top: -10px;
    left: 10px;
    font-size: 100px;
    color: rgba(13, 110, 253, 0.1);
    z-index: 0;
}

.review-header {
    display: flex;
    align-items: center;
    margin-bottom: 20px;
    position: relative;
    z-index: 1;
}

.review-avatar {
    width: 80px;
    height: 80px;
    border-radius: 50%;
    margin-right: 20px;
    object-fit: cover;
    border: 3px solid #fff;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
}

.review-info h5 {
    margin-bottom: 5px;
}

.review-rating {
    color: #ffc107;
    margin-bottom: 5px;
}

.review-trip {
    font-style: italic;
    color: #6c757d;
}

.review-content {
    position: relative;
    z-index: 1;
    line-height: 1.8;
}

.alert.alert-info.no-filtered-reviews {
    background-color: var(--bs-subtle);
    padding: 1rem;
    border-radius: 6px;
    color: #055160;
    border: 1px solid #9eeaf9;
    margin-bottom: 4rem;
}

div#box-hotel,
div#reviews {
    border-radius: 6px;
    overflow: hidden;
}

.modal-header {
    display: flex;
    flex-shrink: 0;
    align-items: center;
    justify-content: space-between;
    padding: 1rem;
    border-bottom: 1px solid #dee2e6;
    border-top-left-radius: 6px;
    border-top-right-radius: 6px;
}

.modal-header * {
    margin: 0
}

.modal-header button.mfp-close {
    position: unset;
    transform: unset;
    opacity: 1;
    mix-blend-mode: unset;
    height: unset;
    line-height: 0;
    min-height: unset;
    min-width: unset;
    font-size: 0;
}

.modal-body {
    padding: 1rem;
}

.modal-footer {
    padding: 1rem 1rem 0;
    border-top: 1px solid #dee2e6;
    display: flex;
    justify-content: end;
    align-items: center;
    gap: 10px;
    margin: 0 -1rem;
}

.modal-footer button {
    position: unset !important;
    padding: 6px 12px !important;
    font-size: 16px;
    line-height: 1.5;
    margin: 0 !important;
    width: max-content;
    text-transform: none;
    background: #000;
    color: #fff;
    border-radius: 0.375rem;
    font-weight: normal;
    min-height: unset;
}

.modal-footer button.mfp-close {
    background: #6c757d;
    opacity: 1;
    mix-blend-mode: unset;
    color: #fff;
    transform: unset;
}

.contact-box {
    background: #fff;
    border-radius: 10px;
    box-shadow: 0 5px 20px rgba(0, 0, 0, 0.05);
    padding: 25px;
    margin-bottom: 30px;
    height: 100%;
    transition: all 0.3s ease;
    height: 100%;
}

.contact-box:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1);
}

.contact-box .icon-box-img {
    width: 70px !important;
    height: 70px;
    background: #f8f9fa;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 20px;
    color: #0d6efd;
    line-height: 0;
}

.contact-box .icon-box-img svg {
    padding: 0;
    width: 24px;
}

.contact-box .icon-box-text h5 {
    text-align: center;
    margin-bottom: 15px;
    font-weight: 600;
}

.contact-box .icon-box-text p {
    text-align: center;
    color: #6c757d;
}

.map {
    border-radius: 10px;
    height: 509px;
    overflow: hidden;
    position: relative;
}

.map iframe {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
}

.contact-form .col-inner {
    background: #fff;
    border-radius: 10px;
    box-shadow: 0 5px 20px rgba(0, 0, 0, 0.05);
    padding: 30px;
}

.accordion-item {
    margin: 0 0 15px;
    padding: 0;
    border-radius: 10px;
    font-size: 16px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
    overflow: hidden;
}

.accordion-title {
    border: 0;
    padding: 20px;
    font-size: 16px;
}

.accordion-title button.toggle {
    left: auto;
    right: 0;
    opacity: 1;
    top: 50%;
    bottom: auto;
    transform: translateY(-50%);
}

.accordion-title.active {
    background: #000;
    color: #fff;
}

.accordion-inner {
    padding: 20px;
}

.accordion-inner * {
    margin: 0;
}

.testimonial-card {
    border-radius: 10px;
}

.testimonial-card .card-body {
    position: relative;
    padding: 1rem;
    padding-top: 60px;
}

.rg-60 {
    row-gap: 30px;
}

.testimonial-avatar {
    position: absolute;
    top: -40px;
    left: 50%;
    transform: translateX(-50%);
    width: 80px;
    height: 80px;
    border-radius: 50%;
    border: 5px solid #fff;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
}

.single-hotels .blog-header {
    height: 500px;
}

.hotel-meta {
    background-color: #f8f9fa;
    background-image: linear-gradient(to bottom right, #f8f9fa, #ffffff);
    border-radius: 12px;
    padding: 25px;
    margin-bottom: 30px;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.08);
    border: 1px solid rgba(0, 0, 0, 0.05);
    position: relative;
    overflow: hidden;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.hotel-meta:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.1);
}

.hotel-meta:after {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    width: 100px;
    height: 100px;
    background: linear-gradient(135deg, transparent 50%, rgba(13, 110, 253, 0.1) 50%);
    z-index: 1;
}

.hotel-meta-item {
    display: flex;
    align-items: center;
    margin-bottom: 20px;
    padding: 10px 15px;
    border-radius: 8px;
    transition: all 0.3s ease;
    border-left: 3px solid transparent;
}

.hotel-meta-item:hover {
    background-color: rgba(13, 110, 253, 0.05);
    border-left: 3px solid #0d6efd;
    transform: translateX(5px);
}

.hotel-meta-item:last-child {
    margin-bottom: 0;
}


.hotel-meta-item i {
    font-size: 1.6rem;
    color: #0d6efd;
    margin-right: 20px;
    width: 45px !important;
    height: 45px;
    background-color: rgba(13, 110, 253, 0.1);
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    transition: transform 0.3s ease;
}

.hotel-meta-item:hover i {
    transform: scale(1.1) rotate(5deg);
}


.single-hotels .trip-highlights li:before {
    color: #198754;
}

.box-tour-bottom div {
    height: 100%;
    display: flex;
    align-items: center;
    gap: 5px;
}

span.badge {
    display: inline-block;
    font-size: 12px;
    text-align: center;
    white-space: nowrap;
    vertical-align: baseline;
    line-height: normal;
    height: max-content !important;
    padding: 4.2px 7.8px;
    border-radius: 50rem;
    width: max-content !important;
}

.vehicle-info-card {
    border: none;
    border-radius: 10px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
    margin-bottom: 30px;
}

.vehicle-info-header {
    padding: 20px;
    border-bottom: 1px solid #f0f0f0;
}

.vehicle-info-body {
    padding: 20px;
}

.amenity-item {
    display: flex;
    align-items: center;
    margin-bottom: 15px;
}

.amenity-icon {
    width: 40px !important;
    height: 40px;
    background-color: rgba(40, 167, 69, 0.1);
    color: var(--accent-color-2);
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-right: 15px;
    font-size: 18px;
}

.route-info-card {
    border: none;
    border-radius: 10px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
    margin-bottom: 30px;
}

.vehicle-info-header {
    padding: 20px;
    border-bottom: 1px solid #f0f0f0;
}

.vehicle-info-body {
    padding: 20px;
}

.route-container {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
}

.vehicle-animation-container {
    position: relative;
    flex: 1;
    height: 4px;
    margin: 0 30px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.route-line {
    position: absolute;
    top: 50%;
    left: 0;
    right: 10px;
    height: 4px;
    background: var(--accent-color-2);
    border-radius: 4px;
    z-index: 1;
}

/* Add arrow at the end of route line */
.route-line:after {
    content: '';
    position: absolute;
    top: 50%;
    right: -10px;
    width: 0;
    height: 0;
    border-top: 8px solid transparent;
    border-bottom: 8px solid transparent;
    border-left: 12px solid var(--accent-color-2);
    transform: translateY(-50%);
}


.vehicle-icon {
    position: relative;
    width: 40px;
    height: 40px;
    background-color: #fff;
    border-radius: 50%;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 18px;
    color: var(--accent-color-2);
    z-index: 2;
    animation: moveVehicle 8s linear infinite;
}

.schedule-table th {
    padding: 15px;
    text-transform: unset;
    background-color: #f8f9fa;
}

.schedule-price {
    font-weight: bold;
    color: var(--accent-color-2);
}

.schedule-table td {
    padding: 15px;
    border-top: 1px solid #f0f0f0;
}

a.btn.btn-sm.btn-primary {
    display: inline-block;
    padding: 4px 8px;
    background-color: rgba(0, 0, 0, 0.75);
    border: solid 1px;
    color: #fff;
    font-size: 14px;
    border-radius: 4px;
    line-height: 1.5;
}

a.btn.btn-sm.btn-primary:hover {
    color: #000;
    background-color: #fff;
}

.cta-card {
    border: none;
    border-radius: 10px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
    background-color: #f8f9fa;
    padding: 25px;
    position: sticky;
    top: 100px;
}

.banner-transportation h1 {
    font-size: calc(1.425rem + 2.1vw);
    font-weight: bold;
    line-height: 1.2;
}

.banner-transportation p {
    font-size: clamp(12px, 2vw, 20px);
    font-weight: 300;
}

.search-form {
    background-color: #fff;
    padding: 15px 15px;
    border-radius: 30px;
    box-shadow: 0 5px 20px rgba(0, 0, 0, 0.2);
    position: relative;
    z-index: 10;
    width: 90%;
    max-width: 900px;
    margin: 30px auto 0;
}

.search-form input:not([type="submit"]).form-control {
    height: 45px;
    font-size: 1rem;
    border: 1px solid #c5c5c5;
    transition: all 0.3s;
    border-radius: 20px;
}

input:not([type="submit"]).form-control.form-control-with-icon {
    padding-left: 40px;
}

.search-icon {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: 23px;
    color: #5b6166;
    font-size: 1.1rem;
}

.search-form .btn {
    height: 45px;
    font-size: clamp(0.69rem, 1.19vw, 1rem);
    font-weight: 600;
    border-radius: 20px;
    padding: 6px 12px;
    background-color: #e65c20;
}

.city-transport-link-container {
    position: relative;
    z-index: 10;
}

.city-transport-link {
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0.05));
    backdrop-filter: blur(10px);
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 20px;
    padding: 20px 30px;
    margin: 0 auto;
    max-width: 500px;
    transition: all 0.3s ease;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.1);
}

.city-transport-content {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 15px;
}

.city-transport-icon {
    font-size: 1.5rem;
    color: #ffffff;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
    animation: pulse 2s infinite;
}

@keyframes pulse {
    0% {
        transform: scale(1);
    }

    50% {
        transform: scale(1.1);
    }

    100% {
        transform: scale(1);
    }
}

.city-transport-text {
    color: #ffffff;
    font-size: 1.1rem;
    font-weight: 500;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
}

.city-transport-btn {
    background: linear-gradient(135deg, #e65c20, #ff7640);
    color: white;
    padding: 12px 25px;
    border-radius: 25px;
    text-decoration: none;
    font-weight: 600;
    transition: all 0.3s ease;
    border: 2px solid transparent;
    box-shadow: 0 4px 15px rgba(230, 92, 32, 0.3);
    position: relative;
    overflow: hidden;
}

.city-transport-btn i {
    transition: transform 0.3s ease;
}

.city-transport-link:hover {
    transform: translateY(-2px);
    box-shadow: 0 12px 40px rgba(0, 0, 0, 0.15);
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.2), rgba(255, 255, 255, 0.1));
}

.city-transport-btn:hover {
    background: linear-gradient(135deg, #ff7640, #e65c20);
    transform: translateY(-2px);
    box-shadow: 0 8px 25px rgba(230, 92, 32, 0.4);
    color: white;
    text-decoration: none;
}

.results-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 20px;
}

.sort-dropdown {
    position: relative;
    display: inline-block;
}

.sort-dropdown .dropdown-toggle {
    color: #495057;
    background-color: transparent;
    border: 1px solid #ced4da;
    padding: 8px 15px;
    border-radius: 5px;
    font-size: 0.95rem;
    display: flex;
    width: max-content;
    align-items: center;
    line-height: 1.5;
    min-height: unset;
    text-transform: unset;
    font-weight: normal;
}

.sort-dropdown .dropdown-menu {
    border-radius: 5px;
    box-shadow: 0 3px 10px rgba(0, 0, 0, 0.1);
    border: 1px solid #eeeeee;
    padding: 0;
    list-style: none;
    display: none;
    position: absolute;
    width: max-content;
    right: 0;
    z-index: 9999;
    background: #fff;
}

.sort-dropdown .dropdown-item {
    padding: 10px 15px;
    font-size: 0.95rem;
    border-bottom: 1px solid #f0f0f0;
    display: block;
    color: #000;
}

.sort-dropdown .dropdown-item:last-child {
    border-bottom: none;
}

.sort-dropdown .dropdown-item:hover,
.sort-dropdown .dropdown-item:focus {
    background-color: #f1f8ff;
    color: #007bff;
}

.sort-dropdown li {
    margin: 0
}

.sort-dropdown .dropdown-item.active {
    background-color: #f1f8ff;
    color: #007bff;
    font-weight: 600;
}

.filter-active {
    background-color: #f8f9fa;
    border-radius: 50px;
    padding: 5px 15px;
    margin-right: 10px;
    font-size: 0.9rem;
    color: #495057;
    border: 1px solid #dee2e6;
    display: inline-flex;
    align-items: center;
}

.filter-active .close {
    margin-left: 8px;
    font-size: 0.8rem;
    opacity: 0.6;
}

.filter-active .close:hover {
    opacity: 1;
}

.results-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 20px;
}

.vehicle-tabs {
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 20px;
    border-bottom: 1px solid #dee2e6;
    gap: 5px;
}

.vehicle-tab {
    padding: 10px 15px;
    border-radius: 20px;
    cursor: pointer;
    font-weight: 500;
    transition: all 0.3s ease;
    margin-bottom: 10px;
    background-color: #f8f9fa;
    border: 1px solid #dee2e6;
    color: #495057;
}

.vehicle-tab:hover {
    background-color: #e9ecef;
}

.vehicle-tab.active {
    background-color: #e65c20;
    color: white;
    border-color: #e65c20;
}

.vehicle-tab .badge {
    margin-left: 5px;
    background-color: rgba(0, 0, 0, 0.2);
    font-size: 0.75rem;
}

.vehicle-tab.active .badge {
    background-color: rgba(255, 255, 255, 0.3);
    color: white;
}

.route-card {
    border: none;
    border-radius: 10px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
    transition: all 0.3s ease;
    margin-bottom: 25px;
    overflow: hidden;
}

.route-card.visible {
    display: block;
    animation: fadeIn 0.3s ease forwards;
}

.route-card.hidden {
    display: none;
}

@keyframes fadeIn {
    from {
        opacity: 0;
        transform: translateY(10px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.route-card:hover {
    box-shadow: 0 5px 20px rgba(0, 0, 0, 0.15);
    transform: translateY(-5px);
}

.route-card-header {
    padding: 20px;
    border-bottom: 1px solid #f0f0f0;
    background-color: #f8f9fa;
}

.route-card-body {
    padding: 20px;
}

.route-card-footer {
    background-color: rgba(0, 0, 0, 0.02);
    padding: 15px 20px;
    border-top: 1px solid #f0f0f0;
}

.route-location {
    font-size: 1.2rem;
    font-weight: 600;
    color: #333;
}

.route-station {
    font-size: 0.9rem;
    color: #6c757d;
}

.route-info {
    font-size: 0.95rem;
}

.route-divider {
    border-left: 1px dashed #dee2e6;
    height: 30px;
    margin: 0 15px;
}

.route-price {
    font-size: 1.4rem;
    font-weight: bold;
    color: var(--accent-color-2);
}

.card-icon {
    padding: 1.5rem;
    box-shadow: 0 .125rem .25rem rgba(0, 0, 0, .075);
    border-radius: 0.375rem;
}

.card-icon h3 {
    font-size: calc(1.275rem + .3vw);
    margin-bottom: 1rem
}

.card-icon .icon-box-img {
    width: 80px !important;
    height: 80px;
    line-height: 80px;
    display: flex;
    align-items: center;
    background-color: var(--primary-color-2);
    justify-content: center;
    line-height: 0;
    border-radius: 100%;
}

.card-icon .icon-box-img svg {
    color: #fff;
    height: 32px;
}

.show-more-btn {
    display: block;
    width: 200px;
    margin: 30px auto;
    padding: 12px 20px;
    background-color: #f8f9fa;
    border: 1px solid #dee2e6;
    border-radius: 30px;
    color: #495057;
    text-align: center;
    font-weight: 500;
    transition: all 0.3s ease;
    line-height: 1.5;
    min-height: unset;
    text-transform: unset;
}

.show-more-btn:hover {
    background-color: #e9ecef;
    color: #212529;
}

.show-more-btn.loading {
    opacity: 0.7;
    cursor: wait;
}

.show-more-btn i {
    margin-left: 8px;
    position: relative;
    top: -2px;
}

.tax-desc img {
    width: 100%;
    text-align: center;
    height: auto;
    border: solid 1px rgb(120, 120, 120);
    border-radius: 10px;
}

@keyframes moveVehicle {
    0% {
        transform: translateX(-50%) translateY(-50%);
    }

    50% {
        transform: translateX(50%) translateY(-50%);
    }

    100% {
        transform: translateX(-50%) translateY(-50%);
    }
}

@media only screen and (min-width: 850px) {
    .text-md-end {
        text-align: end;
    }

    .header-nav-main.nav>li::before {
        display: none;
    }

    .single-hotels ul.trip-highlights {
        column-count: 3;
    }

}

@media only screen and (min-width: 1200px) {
    .card-icon h3 {
        font-size: 1.5rem;
    }

    .banner-transportation h1 {
        font-size: 3rem;
    }

    .rating-summary h3 {
        font-size: 2.5rem;
    }

    .title h2 {
        font-size: 3rem;
    }

    .banner-main h2 {
        font-size: 4rem;
    }

}


@media only screen and (max-width: 1200px) {
    #masthead .flex-col.show-for-medium.flex-right {
        display: block !important;
    }

    #masthead .flex-col.hide-for-medium.flex-left.flex-grow,
    #masthead .flex-col.hide-for-medium.flex-right {
        display: none;
    }

    .off-canvas:not(.off-canvas-center) .nav-vertical li>a {
        padding: 0;
    }

    .off-canvas-left .mfp-content,
    .off-canvas-right .mfp-content {
        background-color: #fff;
        width: calc(var(--drawer-width) * 1px) !important;
    }

    .logo-mobile-nav {
        align-items: center;
        padding: 20px;
        border-bottom: 1px solid rgba(0, 0, 0, 0.05);
    }

    .logo-mobile-nav img {
        height: 40px;
        object-fit: contain;
        object-position: left;
    }

    .off-canvas .sidebar-menu {
        padding: 0;
    }

    .nav.nav-vertical li {
        justify-content: start;
        text-align: left;
        padding: 15px 20px;
        border-radius: 0;
        border-left: 4px solid transparent !important;
    }

    .nav.nav-vertical li:hover,
    .nav.nav-vertical li.current-menu-item {
        background-color: rgba(52, 152, 219, 0.1) !important;
        color: var(--primary-color);
        border-left-color: var(--primary-color) !important;
    }

    .mobile-sidebar .nav>li::before {
        display: inline-block;
        font-family: "Font Awesome 6 Free";
        font-weight: 900;
    }

    .nav.nav-vertical li::before {
        margin-right: 6px;
        font-size: 1rem;
        color: var(--primary-color);
    }

    .nav-sidebar.nav-vertical>li+li {
        border-top: 0 !important;
    }

    .off-canvas:not(.off-canvas-center) li.html {
        padding: 10px 20px;
    }



    .mobile-nav.nav>li>a>i.icon-menu {
        color: var(--dark-color);
        font-size: 34px;
    }

    #masthead .header-inner {
        padding: 0 2rem;
    }

    .mfp-close-btn-in .mfp-close {
        mix-blend-mode: unset;
        color: #000;
        opacity: 1;
        transform: translateY(19px);
    }
}

@media only screen and (max-width: 850px) {
    #top-bar .mobile-nav {
        justify-content: space-between;
    }

    .contact-info a {
        font-size: 10px;
    }

    .route-container {
        flex-direction: column;
    }

    .vehicle-animation-container {
        width: 4px;
        height: 80px;
        margin: 20px 0 30px 0;
    }

    .route-line {
        top: 0;
        bottom: 10px;
        /* Leave space for the arrow */
        left: 50%;
        right: auto;
        width: 5px;
        height: 30px;
    }

    /* Mobile arrow should point down instead of right */
    .route-line:after {
        content: '';
        position: absolute;
        left: 50%;
        bottom: -10px;
        top: auto;
        right: auto;
        width: 0;
        height: 0;
        border-left: 8px solid transparent;
        border-right: 8px solid transparent;
        border-top: 12px solid var(--accent-color-2);
        transform: translateX(-50%);
    }

    .vehicle-icon {
        position: absolute;
        transform: translateX(-50%);
        width: 30px;
        height: 30px;
        font-size: 15px;
    }

    @keyframes moveVehicle {
        0% {
            transform: translateX(-50%) translateY(-50%);
        }

        50% {
            transform: translateX(-50%) translateY(50%);
        }

        100% {
            transform: translateX(-50%) translateY(-50%);
        }
    }

    .trip-description table {
        font-size: 14px;
        display: block;
        overflow-x: auto;
        white-space: nowrap;
    }

    .trip-description table th,
    .trip-description table td {
        padding: 8px 10px;
        min-width: 100px;
    }

    .photo-slider img {
        height: 300px;
    }



    .route-card {
        padding: 12px;
        margin-bottom: 20px;
    }

    .route-card-header {
        padding: 15px 15px 10px;
    }

    .route-card-body {
        padding: 10px 15px 15px;
    }

    .route-location {
        font-size: 1.1rem;
    }

    .route-station {
        font-size: 0.85rem;
    }

    .route-card-body .row {
        flex-direction: column;
    }

    .route-card-body .medium-2 {
        margin: 0 auto 15px;
    }

    .route-card-body .medium-7 {
        text-align: center;
        padding: 0 5px;
    }

    .route-card-body .medium-3 {
        margin-top: 15px;
        border-top: 1px solid #f0f0f0;
        padding-top: 15px;
        display: flex;
        justify-content: space-between;
        align-items: center;
    }

    .route-price {
        margin-bottom: 0 !important;
        font-size: 1.3rem;
    }

    .route-info {
        margin-bottom: 5px;
    }

    .amenities-container {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        margin-top: 8px;
    }

    .city-transport-btn {
        padding: 5px 10px;
        font-size: 0.6rem;
    }

    .vehicle-tabs {
        overflow-x: auto;
        white-space: nowrap;
        flex-wrap: nowrap;
        padding-bottom: 5px;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
    }

    .results-header {
        flex-direction: column;
        align-items: flex-start;
    }

    .sort-dropdown {
        width: 100%;
    }

    .sort-dropdown .dropdown-toggle {
        margin-top: 15px;
        width: 100% !important;
    }

    .box-tour-excerpt,
    .dest-card .desc {
        -webkit-line-clamp: 3;
    }

    .trip-meta-item {
        flex: unset;
        width: 100%;
    }

    .schedule-table {
        display: block;
        overflow-x: auto;
        white-space: nowrap;
        -webkit-overflow-scrolling: touch;
    }

    .schedule-table th,
    .schedule-table td {
        padding: 10px;
    }

    .language-dropdown-menu {
        top: auto;
        bottom: 100%;
        left: 0;
    }
}

@media only screen and (max-width: 550px) {

    .copyright,
    .menu-bottom {
        justify-content: center;
        text-align: center;
    }
}