* {
    margin: 0;
    box-sizing: border-box;
}

body {
    font-family: Roboto, sans-serif;
    line-height: 1.6;
    background-color: #f8f9fa;
}

.btn:focus, .btn:active:focus, .btn-link.nav-link:focus, .form-control:focus, .form-check-input:focus {
    box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem #258cfb;
}

a.link-decoration-none { text-decoration: none; color: #212529; }
a.link-decoration-none:hover { text-decoration: underline; color: #23397d; }

header.sticky-top {
    box-shadow: 0px 10px 5px -5px lightgrey;
}

header .logo-main-text {
    font-weight: 800;
    text-transform: uppercase;
    font-size: 1.5rem;
    color: #23397d;
}

.navbar-toggler {
    border: 0 !important; /* Removes the initial border */
}

.navbar-toggler:focus,
.navbar-toggler:active,
.navbar-toggler-icon:focus {
    outline: none;
    box-shadow: none;
}

.menu-items {
    background-color: #c6eefa;
}

ul.dropdown-menu {
    background-color: #cdeef9;
}
.dropdown-menu li {
    position: relative;
}

.dropdown-menu .dropdown-submenu {
    display: none;
    position: absolute;
    left: 100%;
    top: -7px;
}

.dropdown-menu .dropdown-submenu-left {
    right: 100%;
    left: auto;
}

.dropdown-menu > li:hover > .dropdown-submenu {
    display: block;
}

.header-phone {
    -webkit-text-decoration: none;
    text-decoration: none;
    text-shadow: 2px 2px 6px #79b0ff;
    font-weight: bold;
}

.navbar-nav .nav-item .nav-link {
    color: #052c65 !important;
    transition: background-color 0.3s ease;
}

.navbar-nav .nav-item .nav-link:hover {
    background-color: #07a5d5;
}

.nav-item .dropdown-item {
    font-weight: 500;
}

.navbar-expand-lg .navbar-nav .dropdown:hover > .dropdown-menu {
    display: block;
}

.navbar-expand-lg .navbar-nav .dropdown > .dropdown-toggle:active {
    /* Prevent dropdown from closing on active state after hover */
    pointer-events: none;
}


.section-title {
    align-items: center;
    display: flex;
    flex-flow: row wrap;
    justify-content: space-between;
    position: relative;
    width: 100%;
}

.section-title b {
    background-color: currentColor;
    display: block;
    flex: 1;
    height: 2px;
    opacity: .1;
}

.text-shadow-light-blue {
    text-shadow: 2px 2px 6px #104da5
}

.text-outline-white {
    text-shadow: -1px -1px 0 #fff, 1px -1px 0 #fff, -1px 1px 0 #fff, 1px 1px 0 #fff;
}

.ft-chatbox-skin {
    position: fixed;
    z-index: 10150;
    top: 300px;
    right: 20px;
    width: 45px;
}

.pageBreadcrumb {
    font-size: 0.9rem;
    margin-top: 1rem;
    margin-bottom: 1rem;
}

.pageBreadcrumb a {
    text-decoration: none;
    color: #23397d;
}

.custom-small-fs {
    font-size: 1.2rem
}

.custom-dark-blue { color: #23397d; }
.text-gray-500 { color: #6B7280 !important; }
.text-gray-600 { color: #4B5563 !important; }
.text-gray-700 { color: #374151 !important; }
.text-gray-800 { color: #1F2937 !important; }
.text-gray-900 { color: #111827 !important; }

.text-blue-600 { color: #2563EB !important; }
.text-blue-800 { color: #1E40AF !important; }
.text-blue-900 { color: #1E3A8A !important; }
.text-sky-500 { color: #0EA5E9 !important; }
.text-sky-600 { color: #0284C7 !important; }
.text-sky-700 { color: #0369A1 !important; }
.text-sky-900 { color: #0C4A6E !important; }
.text-green-600 { color: #16A34A !important; }
.text-green-800 { color: #166534 !important; }
.text-red-500 { color: #EF4444 !important; }
.text-red-600 { color: #DC2626 !important; }
.text-red-700 { color: #B91C1C !important; }
.text-red-800 { color: #991B1B !important; }

.text-yellow-600 { color: #CA8A04 !important; }
.text-yellow-700 { color: #A16207 !important; }
.text-orange-500 { color: #F97316 !important; }
.text-orange-600 { color: #EA580C !important; }

.text-slate-800 { color: #1E293B !important; }
.text-purple-600 { color: #7C3AED !important; }
.text-indigo-600 { color: #4F46E5 !important; }

.font-medium { font-weight: 500; }

.text-xs { font-size: 0.8rem; line-height: 1rem; }
.text-sm { font-size: 0.875rem; }
.text-xl { font-size: 1.25rem; line-height: 1.75rem; }
.text-2xl { font-size: 1.5rem; line-height: 2rem; }
.text-3xl { font-size: 1.875rem; line-height: 2.25rem; }
.text-lg { font-size: 1.125rem; line-height: 1.75rem; }

.m-bottom-3rem { margin-bottom: 3rem !important; }

.rounded-lg { border-radius: 0.5rem; }
.rounded-2xl { border-radius: 1rem; }

.bg-gray-100 { background-color: #F3F4F6 !important; }
.bg-gray-50 { background-color: #F9FAFB !important; }
.bg-red-50 { background-color: #FEF2F2 !important; }
.bg-red-100 { background-color: #FEE2E2 !important; }
.bg-red-600 { background-color: #DC2626 !important; }
.bg-red-700 { background-color: #B91C1C !important; }
.bg-yellow-50 { background-color: #FFFBEB !important; }
.bg-orange-50 { background-color: #FFF7ED !important; }
.bg-green-50 { background-color: #ECFDF5 !important; }
.bg-blue-50 { background-color: #EFF6FF !important; }
.bg-blue-100 { background-color: #DBEAFE !important; }
.bg-blue-600 { background-color: #2563eb !important; }
.bg-blue-900 { background-color: #1E3A8A !important; }
.bg-sky-50 { background-color: #F0F9FF !important; }
.bg-sky-100 { background-color: #E0F2FE !important; }

.bg-slate-50 { background-color: #f8fafc !important; }
.bg-slate-100 { background-color: #F1F5F9 !important; }
.bg-purple-50 { background-color: #F5F3FF !important; }
.bg-indigo-50 { background-color: #EEF2FF !important; }

.border-gray-100 { border-color: #F3F4F6 !important; }
.border-gray-200 { border-color: #E5E7EB !important; }
.border-gray-300 { border-color: #D1D5DB !important; }

.border-blue-100 { border-color: #DBEAFE !important; }
.border-blue-200 { border-color: #BFDBFE !important; }
.border-blue-300 { border-color: #93C5FD !important; }
.border-blue-900 { border-color: #1E3A8A !important; }

.border-green-100 { border-color: #D1FAE5 !important; }
.border-green-200 { border-color: #A7F3D0 !important; }
.border-red-500 { border-color: #EF4444 !important; }
.border-red-100 { border-color: #FEE2E2 !important; }
.border-red-200 { border-color: #FECACA !important; }

.border-yellow-100 { border-color: #FEF3C7 !important; }
.border-yellow-200 { border-color: #FDE68A !important; }
.border-orange-100 { border-color: #FFEDD5 !important; }
.border-sky-100 { border-color: #E0F2FE !important; }

.border-slate-100 { border-color: #F1F5F9 !important; }
.border-slate-200 { border-color: #E2E8F0 !important; }

.border-l-2 {
    border-left-width: 2px !important;
    border-left-style: solid !important;
}

.border-l-4 {
    border-left-width: 4px !important;
    border-left-style: solid !important;
}

.leading-relaxed { line-height: 1.625 !important; }
.gap-075 { gap: 0.75rem !important; }
.rounded-full { border-radius: 9999px; }
.h-6 { height: 1.5rem; }
.h-3rem { height: 3rem; }
.h-16rem { height: 16rem; }
.w-6 { width: 1.5rem; }
.w-3rem { width: 3rem; }
.ml-3 { margin-left: 0.75rem !important; }
.margin-t-075 { margin-top: 0.75rem !important; } /* mt-3 */
.margin-t-2rem { margin-top: 2rem !important; } /* mt-8 */
.margin-b-075 { margin-bottom: 0.75rem !important; } /* mb-3 */
.margin-b-2rem { margin-bottom: 2rem !important; } /* mb-8 */
.padding-075 { padding: 0.75rem !important; } /* p-3 */
.padding-1-25 { padding: 1.25rem !important; } /* p-5 */
.padding-2rem { padding: 2rem !important; } /* p-8 */
.px-075 { padding-left: 0.75rem !important; padding-right: 0.75rem !important; }
.px-1-25 { padding-left: 1.25rem !important; padding-right: 1.25rem !important; } /* px-5 */
.py-0\.5 { padding-top: 0.125rem !important; padding-bottom: 0.125rem !important; }
.py-2\.5 { padding-top: 0.625rem !important; padding-bottom: 0.625rem !important; }
.flex-1 { flex: 1 1 0%; }
.shadow-inner { box-shadow: inset 0 2px 4px 0 rgba(0, 0, 0, 0.06) !important; }
.tracking-wider { letter-spacing: 0.05em; }

.transform { transform-origin: center; }
.transition-shadow {
    transition-property: box-shadow;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
}
.transition-colors {
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
}


#btnBookNow {
    background-color: #f0ffff;
    color: #23397d;
    font-weight: bold;
    text-transform: uppercase;
}

#bookNowModal .form-control,
#bookNowModal .form-select,
#bookNowModal .input-group .form-control,
#bookNowModal .input-group .form-select {
    border-color: #BBB !important;
    box-shadow: none !important;
}

#bookNowModal .form-control:focus,
#bookNowModal .form-select:focus,
#bookNowModal .input-group .form-control:focus,
#bookNowModal .input-group .form-select:focus {
    border-color: #BBB !important;
    box-shadow: 0 0 0 0.15rem rgba(187,187,187,0.25) !important;
}

#introductionPage .targetItem {
    height: 100%;
    padding: 2rem;
    border-radius: 0.75rem;
    box-shadow: var(--bs-box-shadow-sm);
    /* transition-shadow */
    transition-property: box-shadow;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
}

#introductionPage .targetItem:hover {
    box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.2)
}

#introductionPage .coreValue-item {
    padding: 1rem;
    border: 1px solid #E5E7EB; /* border-gray-200 */
    border-radius: 0.5rem; /* rounded-lg */
    box-shadow: var(--bs-box-shadow-sm);
    /* transition-transform */
    transition-property: transform;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
}

#introductionPage .coreValue-item:hover {
    border-color: #93C5FD;
}

#introductionPage .imgTransform {
    width: 100%;
    height: auto;
    object-fit: cover;
    /* transition-transform */
    transition-property: transform;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
    /* duration-500 */
    transition-duration: 500ms;
    transform-origin: center;
}

#introductionPage .imgTransform:hover {
    transform: scale(1.05);
}

#departureFastTract table, #arrivalFastTract table, #airFrieghtPage table {
    width: 75%;
}

#prohibitedItemsPage .items-container .prohibited-item {
    padding: 1rem;
    border: 1px solid #E5E7EB; /* border-gray-200 */
    border-radius: 0.5rem; /* rounded-lg */
    box-shadow: var(--bs-box-shadow-sm);
    /* transition-transform */
    transition-property: transform;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
}

#prohibitedItemsPage .items-container .prohibited-item:hover {
    transform: scale(1.01);
}

#prohibitedItemsPage .items-container .item-icon {
    padding: 0.75rem;
    border-radius: 9999px; /* rounded-full */
    border-width: 1px;
    box-shadow: var(--bs-box-shadow-sm);
}

#prohibitedItemsPage .items-container .item-type-label {
    font-weight: 600;
    font-size: 0.75rem;
    line-height: 1rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    padding: 0.125rem 0.5rem;
    border-radius: var(--bs-border-radius);
    background-color: #F3F4F6;
    color: #4B5563;
    border: 1px solid #E5E7EB;
}

.btn-prohibited-items {
    padding: 0.625rem 1.25rem;
    background-color: #DC2626;
    color: white;
    font-weight: 500;
    border: none;
    border-radius: 0.5rem;
    white-space: nowrap;
    box-shadow: var(--bs-box-shadow-sm);
}

.btn-prohibited-items:hover {
    background-color: #B91C1C;
}

.btn-prohibited-items:hover svg.lucide-arrow-right {
    transform: translateX(0.25rem);  /* translate-x-1 */
}

/* Styles applied when screen width is 1400px or larger (Bootstrap's 'xxl' breakpoint) */
@media (min-width: 1400px) {
    .transport-type-row .transport-type-item {
        padding: 1.5rem;
    }
}

/* Custom styles for screens smaller than 1400px (Bootstrap's 'xl' breakpoint) */
@media (max-width: 1399.98px) {
    .transport-type-row .transport-type-item {
        padding: 1.3rem;
    }
}

/* Custom styles for screens smaller than 1200px (Bootstrap's 'lg' breakpoint, ex: iPad Pro) */
@media (max-width: 1199.98px) {
    .ft-chatbox-skin {
        top: 480px;
        right: 0px;
        width: 45px;
    }
}

/* Custom styles for screens smaller than 992px (Bootstrap's 'md' breakpoint) */
@media (max-width: 991.98px) {
    .menu-items {
        background: none;
    }

    /*.ft-chatbox-skin {
        top: 480px;
        right: 0px;
        width: 45px;
    }*/

    .transport-type-row .transport-type-item {
        padding: 1.2rem;
    }

    .carousel-control-prev-icon, .carousel-control-next-icon {
        background-size: 2em 2em;
    }
}

/* Custom styles for screens smaller than 768px (Bootstrap's 'sm' breakpoint) */
@media (max-width: 767.98px) {
    #departureFastTract table, #arrivalFastTract table, #airFrieghtPage table {
        width: 100%;
    }

    #prohibitedItemsPage .items-container .prohibited-item {
        padding: 0.75rem;
    }
}

/* Styles applied when screen width is 575.98px or smaller (Bootstrap's 'extra small' breakpoint) */
@media (max-width: 575.98px) {
    .dropdown.language {
        display: none;
    }

    .custom-small-fs {
        font-size: 0.9rem !important;
    }

    .fs-xs-4 {
        font-size: calc(1.275rem + .3vw) !important
    }

    .my-text-color {
        color: aqua;
    }

    header .navbar-brand img {
        height: 70px;
        width: auto;
    }

    header .logo-main-text {
        font-size: 1.25rem;
    }

    #btnBookNow {
        padding: 0.25rem 0.5rem;
        font-size: 0.875rem;
    }

    .carousel-item-title h1 {
        font-size: 1.5rem;
    }

    .transport-contact-title {
        font-size: 1rem;
    }
}

@media (max-width: 420px) {
    .fs-xxs-small {
        font-size: 0.9rem !important;
    }
}

/* Styles applied when screen width is between 769px and 1200px */
@media (min-width: 769px) and (max-width: 1200px) {
}