/**
* Template Name: Rakaab Online
* Version: 1.0
* Author: Ikram Hossen
* Developed By: Codeware Ltd.
* Author URL: www.codewareltd.com
**/

/*====================================================================
root css
====================================================================*/
:root {
    --theme-body-font: "Inter", sans-serif;
    --baseColor: #f1151e;
    --grayColor: #f7f7f7;
    --darkColor: #282828;
    --whiteColor: #fff;
    --secondaryColor: #3fa0d9;
}

::-webkit-scrollbar-track {
    -webkit-box-shadow: inset 0 0 6px #eee;
    border-radius: 0px;
    background-color: #ddd;
}

::-webkit-scrollbar {
    width: 12px;
    background-color: #ddd;
}

::-webkit-scrollbar-thumb {
    border-radius: 0px;
    -webkit-box-shadow: inset #eee;
    background-color: #9e9d9d;
}
.select2-container--default .select2-results>.select2-results__options::-webkit-scrollbar{
    display: none;
}
* {
    scroll-behavior: smooth;
    box-sizing: border-box;
    padding: 0;
    margin: 0;
}
.lightcase-open body{
    overflow: visible !important;
}
body {
    font-family: var(--theme-body-font);
    color: var(--darkColor);
    font-weight: 400;
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    overflow-x: hidden;
    letter-spacing: 0.3px;
    padding: 0;
}

a {
    color: var(--darkColor);
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: var(--theme-body-font);
    color: var(--darkColor);
    font-weight: 600;
}

.bg_light_gray {
    background: #f9f9ff !important;

}

/* Plugin Customize */
.select2-container .select2-selection--single {
    height: 44px;
}


.select2-container--default .select2-selection--single .select2-selection__rendered {
    line-height: 44px;
}

.select2-container--default .select2-selection--single .select2-selection__arrow {
    height: 44px;
}

.select2-container--default .select2-results__option--highlighted[aria-selected] {
    background-color: var(--baseColor);
}
.select2-dropdown {
    border: 1px solid #ddd;
}
.select2-container--default .select2-search--dropdown .select2-search__field {
    border: 1px solid #ddd;
}
select {
    appearance: auto !important;
    -webkit-appearrance: auto;
}
.ticke-book-request-box .b-form-group {
    width: 100% !important;
}

.select2-container--default .select2-selection--single {
    border: 0;
    border-radius: 7px;
}
.select2-container--default .select2-selection--single:focus{
    outline: none !important;
    box-shadow: none !important;
}

.form-control {
    border-radius: 7px !important;
    min-height: 44px;
}

.text-justify {
    text-align: justify !important;
}

.b-search-map__wrap .form-control {
    border: 0 !important;
    padding-left: 30px;
}
.b-search-map__wrap .select2-container--default .select2-selection--single .select2-selection__rendered {
    padding-left: 30px;
}

/* Datepicker Customize */
.ui-widget-header {
    border: 1px solid #eee !important;
    background: #efeff5 !important;
    color: #444;
    font-weight: 600;
    font-size: 15px;
}

.ui-widget.ui-widget-content {
    border: 1px solid #eee !important;
    box-shadow: 0px 0px 30px rgb(127 137 161 / 20%);
    padding: 10px;
    border-radius: 7px;
    min-width: 340px;
}

.ui-datepicker th {
    background: #f5f5f5;
    border-top: 1px solid #eee !important;
    border-bottom: 1px solid #eee !important;
}

.ui-datepicker-calendar tr td {
    border: 0px !important;
    padding: 3px 0px !important;
}

.ui-state-default, .ui-widget-content .ui-state-default, .ui-widget-header .ui-state-default, .ui-button, html .ui-button.ui-state-disabled:hover, html .ui-button.ui-state-disabled:active {
    border: 1px solid #eee !important;
    color: #444;
    text-align: center;
    border-radius: 50%;
    height: 36px;
    width: 36px;
    font-size: 16px;
    line-height: 27px;
}

.ui-state-active,
.ui-widget-content .ui-state-active,
.ui-widget-header .ui-state-active,
a.ui-button:active,
.ui-button:active,
.ui-button.ui-state-active:hover {
    border: 1px solid var(--baseColor);
    background: var(--baseColor);
    font-weight: normal;
    color: #fff !important;
}

.ui-state-highlight, .ui-widget-content .ui-state-highlight, .ui-widget-header .ui-state-highlight {
    border: 1px solid var(--darkColor) !important;
    background:  var(--darkColor) !important;
    color: var(--whiteColor) !important;
    border-radius: 50%;
}
.travel_from {
    position: relative;
}

.ui-datepicker .ui-datepicker-buttonpane button {
    padding: 5px 15px !important;
    background: #093f0b !important;
    font-weight: 600;
    color: #fff !important;
    font-size: 15px;
    border: 0px !important;
    border-radius: 3px;
    margin-bottom: 0;
    line-height: 22px;
}

/* Button Customize */
.theme_custom_btn {
    background-color: #093f0b;
    font-size: 16px;
    font-weight: 600;
    color: var(--whiteColor);
    text-align: center;
    text-transform: capitalize;
    letter-spacing: 0.4px;
    border: 1px solid #093f0b;
    outline: none;
    box-shadow: none;
    transition: all ease-in-out 0.3s;
}

.theme_custom_btn:hover {
    background-color: var(--baseColor);
    border: 1px solid;
}

.mid_cont_btn {
    color: var(--whiteColor) !important;
    box-shadow: none !important;
    font-size: 18px;
    font-weight: 500;
    margin: 0 auto;
    padding: 6px 50px;
    min-height: 44px;
    text-transform: capitalize;
    outline: none !important;
    background-color: var(--baseColor);
    transition: all 0.3s ease-in-out !important;
    border: 0px;
    min-width: 160px;
}
.mid_cont_btn:focus {
    color: var(--whiteColor) !important;
}
.mid_cont_btn:hover {
    background-color: var(--darkColor);
}
.phone_prefix_wrap {
    background: #eee;
    border-radius: 5px 0px 0px 5px;
}
.phone_prefix_wrap .select2-container--default .select2-selection--single {
    background-color: transparent !important;
}
 .img-flag {
    width: 25px !important;
    max-width: 25px !important;
}
.phone_prefix_wrap span {
    font-size: 14px !important;
    font-weight: 500;
}
.phone_prefix_wrap .select2-container {
    width: 125px !important;
}
.select2-container--open .select2-dropdown {
    max-width: 300px;
}
.country_phone_inp {
    border-radius: 0px 5px 5px 0px !important;
    padding: 5px 10px !important;
}
/*====================================================================
Header css
====================================================================*/
.beta_tag {
    font-size: 14px;
    font-weight: 600;
    color: #ffffff;
    display: block;
    padding: 3px;
    background: #f10303;
    position: relative;
    z-index: 66;
}

.topbar {
    background: var(--baseColor);
}
.navbar-nav .dropdown-menu {
    min-width: 200px;
}
.topbar a {
    text-decoration: none;
    font-size: 14px;
    font-weight: 500;
    transition: all ease-in-out 0.3s;
}

.topbar span {
    font-size: 14px;
    font-weight: 500;
}

.topbar a:hover {
    color: var(--darkColor) !important;
}
.header_wrapper{
    position: sticky;
    top: 0;
    z-index: 33;
}
header {
    background: var(--whiteColor);
    border-bottom: 1px solid #eee;
}
.navbar-brand {
    padding: 0;
}

.site_logo {
    max-height: 70px;
    object-fit: contain;
}

.dropdown-menu {
    box-shadow: 0px 0px 30px rgb(127 137 161 / 20%);
    border: 1px solid #eee;
    right: 0;
    left: auto !important;
    padding: 10px 0 !important;
}
.dropdown-menu li a {
    display: block !important;
    padding: 0px 4px !important;
    border-radius: 3px;
    width: 100%;
}
.dropdown-menu .dropdown-item:focus,
.dropdown-menu .dropdown-item:hover {
    background-color: transparent;
}

.dropdown-menu li {
    padding: 0 15px !important;
    line-height: 30px !important;
}

.dropdown-menu {
    margin: 0 !important;
}

.demoNavBar li {
    padding: 10px;
    line-height: 35px;
    position: relative;
}
.demoNavBar li ul li{
    display: flex;
    align-items: center;
}

.demoNavBar li:last-child a {
    padding-right: 0px !important;
}

.demoNavBar li:last-child {
    padding-right: 0px !important;
}

.demoNavBar .dropdown-menu li:last-child {
    padding: 0 15px !important;
}
.lang_title {
    font-weight: 500;
}
.lang_title span {
    font-size: 16px;
    font-weight: 500;
}
.lng_dropdown {
    position: relative;
    display: inline-block;
}
.demoNavBar li a {
    font-family: var(--theme-body-font);
    color: var(--darkColor) !important;
    font-weight: 500;
    transition: all ease-in-out 0.3s;
    margin: 0;
    padding: 0;
    text-transform: capitalize;
    font-size: 15px;
    text-decoration: none;
}
.demoNavBar li a:hover {
    color: var(--baseColor) !important;
}
.demoNavBar li svg path{
    transition: all ease-in-out 0.3s;
}
.demoNavBar li a:hover svg path{
    fill: var(--baseColor) !important;
}
.demoNavBar li ul li:hover svg path{
    color: var(--baseColor) !important;
}
.demoNavBar .drop-down>a:after {
    content: "\f107";
    font-family: 'Font Awesome 5 Free';
    padding-left: 5px;
    font-weight: 600;
}
.demoNavBar .drop-down ul {
    display: block;
    position: absolute;
    top: calc(100% + 30px);
    z-index: 99;
    opacity: 0;
    visibility: hidden;
    padding: 0;
    background: #fff;
    border: 1px solid #eee;
    transition: 0.3s;
    width: 200px;
    right: 0;
    border-radius: 7px;
    z-index: 9999;
}
.demoNavBar .drop-down ul::after {
    content: '';
    height: 16px;
    width: 16px;
    background: #fff;
    top: -8px;
    position: absolute;
    right: 20px;
    transform: rotate(45deg);
    border-left: 1px solid #ddd;
    border-top: 1px solid #ddd;
    z-index: -1;
}
.demoNavBar .drop-down ul a {
    padding: 4px 10px 0;
    font-size: 18px;
    font-weight: 400;
    color: var(--darkColor);
    text-transform: capitalize;
}

.demoNavBar .drop-down:hover>ul {
    opacity: 1;
    top: 30px;
    visibility: visible;
}
.demoNavBar .drop-down li {
    min-width: 200px;
    position: relative;
    padding: 0;
    list-style: none;
    line-height: 28px;
}
.demoNavBar .drop-down li a {
    border-left: 3px solid #fff;
}
.demoNavBar .drop-down li a:hover {
    border-left: 3px solid var(--baseColor);
}
.demoNavBar .drop-down li a.active {
    background: #eee;
    border-left: 3px solid var(--baseColor);
    color: var(--baseColor) !important;
}
.demoNavBar .drop-down li:first-child a {
    border-top-left-radius: 5px;
    border-top-right-radius: 5px;
}
.demoNavBar .drop-down li:last-child a {
    border-bottom-left-radius: 5px;
    border-bottom-right-radius: 5px;
}
.login-user-icon {
    font-size: 18px;
    height: 35px;
    width: 35px;
    color: var(--darkColor);
    text-align: center;
    line-height: 31px;
    border-radius: 50%;
    border: 2px solid;
    position: relative;
    margin-right: 17px;
}

.login-user-icon::after {
    content: '\f107';
    font-family: 'Font Awesome 5 Free';
    position: absolute;
    right: -18px;
}
.flag-icon {
    margin-right: 5px !important;
}
.flag-icon_eng {
    background-image: url(../img/icons/ln_eng.svg);
    background-repeat: no-repeat;
    width: 24px;
    height: 18px;
}
.flag-icon_frnch {
    background-image: url(../img/icons/ln_frnch.svg);
    background-repeat: no-repeat;
    width: 24px;
    height: 18px;
}
.flag-icon_dtch {
    background-image: url(../img/icons/ln_dutch.svg);
    background-repeat: no-repeat;
    width: 24px;
    height: 18px;
}
.flag-icon_grmn {
    background-image: url(../img/icons/ln_grmn.svg);
    background-repeat: no-repeat;
    width: 24px;
    height: 18px;
}
.login-user-icon:hover {
    color: var(--baseColor) !important;
}
.dropdown-toggle::after {
    display: none;
}
.nav-link.active{
    color: var(--baseColor) !important;
    position: relative;
    font-weight: 600;
}
.demoNavBar li ul li.active a{
    color: var(--baseColor) !important;
    position: relative;
    font-weight: 600;
}
.demoNavBar li ul li.active path{
    color: var(--baseColor) !important;
    font-weight: 600;
}
.nav-link.active svg path{
    fill: var(--baseColor) !important;
}
.nav-link.active::after {
    background-image: url('../img/curve_lines.png');
    position: absolute;
    content: '';
    height: 10px;
    width: 100px;
    bottom: -5px;
    left: 50%;
    background-repeat: no-repeat;
    background-size: cover;
    transform: translateX(-50%);
}
.section-title {
    font-weight: 700;
    text-transform: capitalize;
    font-size: 35px;
    margin-bottom: 30px;
    display: block;
}
/* Custom tooltip */
.tooltip_wrapper {
    position: relative;
    -webkit-transform: translateZ(0); /* webkit flicker fix */
    -webkit-font-smoothing: antialiased; /* webkit text rendering fix */
  }
  
  .tooltip_wrapper .custom_tooltip {
    background: var(--baseColor);
    bottom: 100%;
    color: var(--whiteColor);
    display: block;
    right: -95px;
    margin-bottom: 15px;
    border-radius: 5px;
    opacity: 0;
    padding: 15px;
    pointer-events: none;
    position: absolute;
    min-width: 200px;
    max-width: 300px;
    -webkit-transform: translateY(10px);
    -moz-transform: translateY(10px);
    -ms-transform: translateY(10px);
    -o-transform: translateY(10px);
    transform: translateY(10px);
    -webkit-transition: all 0.25s ease-out;
    -moz-transition: all 0.25s ease-out;
    -ms-transition: all 0.25s ease-out;
    -o-transition: all 0.25s ease-out;
    transition: all 0.25s ease-out;
    -webkit-box-shadow: 2px 2px 6px rgba(0, 0, 0, 0.28);
    -moz-box-shadow: 2px 2px 6px rgba(0, 0, 0, 0.28);
    -ms-box-shadow: 2px 2px 6px rgba(0, 0, 0, 0.28);
    -o-box-shadow: 2px 2px 6px rgba(0, 0, 0, 0.28);
    box-shadow: 2px 2px 6px rgba(0, 0, 0, 0.28);
}
  
  /* This bridges the gap so you can mouse into the tooltip without it disappearing */
  .tooltip_wrapper .custom_tooltip:before {
    bottom: -20px;
    content: " ";
    display: block;
    height: 20px;
    left: 0;
    position: absolute;
    width: 100%;
  }
  
  /* CSS Triangles - see Trevor's post */
  .tooltip_wrapper .custom_tooltip:after {
    border-left: solid transparent 10px;
    border-right: solid transparent 10px;
    border-top: solid var(--baseColor) 10px;
    bottom: -10px;
    content: " ";
    height: 0;
    left: 50%;
    margin-left: -13px;
    position: absolute;
    width: 0;
  }
  
  .tooltip_wrapper:hover .custom_tooltip {
    opacity: 1;
    pointer-events: auto;
    -webkit-transform: translateY(0px);
    -moz-transform: translateY(0px);
    -ms-transform: translateY(0px);
    -o-transform: translateY(0px);
    transform: translateY(0px);
  }
.country_flg_bg {
    display: inline-block;
    height: 35px;
    width: 36px;
    text-align: center;
    background: #ddd;
    margin: 0;
    padding: 0;
    border-radius: 50%;
}
.country_flg_bg .lang_title span {
    margin: 0 !important;
    padding: 0 !important;
}
/*====================================================================
Banner css
====================================================================*/
.booking-box__body .select2-container--default{
    background-color: #fff;
    border: 1px solid #ddd;
    border-radius: 7px;
    padding-left: 25px;
}
.home_banner_section {
    max-height: 300px;
    position: relative;
    min-height: 250px;
    overflow: hidden;
}

.banner_carousel {
    position: relative;
}

.banner_carousel .owl-item img {
    background-position: center;
    width: 100%;
    max-height: 400px;
    object-fit: cover;
}
.banner_img{
    object-fit: cover;
}
.banner_carousel .item::after {
    background: #00000000;
    position: absolute;
    content: '';
    top: 0px;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    z-index: 9;
}

.banner-title {
    font-weight: 700;
    text-transform: capitalize;
    margin: 0 0 15px;
    font-size: 30px;
    color: #ffffff;
    position: absolute;
    top: -45px;
    left: 0;
    text-shadow: 0px 3px 10px var(--darkColor);
}
.home_banner_section .owl-dots {
    margin-top: 0 !important;
    position: absolute;
    width: 100%;
    bottom: 15px;
    z-index: 10;
}

.home_banner_section .owl-theme .owl-dots .owl-dot span {
    background: #ffffff;
    opacity: 1;
}

.home_banner_section .owl-theme .owl-dots .owl-dot.active span {
    background: green;
}

.banner-slogan {
    color: #ffffff;
    font-weight: 600;
    text-transform: capitalize;
    text-shadow: 0px 4px 5px #00000080;
    font-size: 22px;
    margin: 20px 0px 25px;
}

.b-search-map-wrapper {
    position: relative;
}

.b-search-map__wrap {
    background: var(--baseColor);
    border-radius: 7px;
    left: 0;
    right: 0;
    padding: 25px;
    margin-top: 20px;
}

.b-search-map-wrapper .b-form-group label {
    color: #ffffff;
    margin-bottom: 5px;
}
.b-search-map-wrapper .search_btn {
    background-color: var(--darkColor) ;
    background-image: linear-gradient(45deg, rgba(112, 112, 112, 0.288) 50%, var(--darkColor) 50%);
}
.search_abs_icon {
    position: absolute;
    left: 5px;
    bottom: 10px;
    pointer-events: none;
    opacity: 0.7;
}
.search_abs_icon.date {
    bottom: 11px;
}
.f-search-map__fields label {
    line-height: 16px;
    color: var(--darkColor);
    text-transform: capitalize;
    font-weight: 600;
    font-size: 14px;
    margin-bottom: 5px;
}

.ticke-book-request-box .b-form-group {
    width: 18%;
    overflow: hidden;
}

.form-control:focus {
    color: var(--darkColor);
    background-color: var(--whiteColor);
    border-color: #c8c8c8;
    outline: 0;
    box-shadow: none;
}

.banner_carousel .owl-nav {
    position: absolute;
    top: 50%;
    width: 100%;
    transform: translateY(-50%);
    margin: 0 !important;
}
button.owl-prev {
    left: 0 !important;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
}
button.owl-next {
    right: 0 !important;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
}
.banner_carousel .owl-nav button span {
    background: var(--baseColor);
    width: 40px;
    display: inline-block;
    border-radius: 50%;
    height: 40px;
    line-height: 36px;
    font-size: 30px;
    font-weight: 600;
    text-align: center;
    color: #fff;
    opacity: 0.7;
}

.banner_carousel .owl-nav button:hover span {
    opacity: 1;
}

.owl-theme .owl-nav [class*=owl-]:hover {
    background: transparent !important;
}

/* ################ */
.booking-box {
    position: relative;
    z-index: 1;
    border-radius: 30px;
    margin-top: -55px;
}
.booking-box .booking-box__body {
    position: relative;
    z-index: 1;
    padding: 25px;
    background-color: #fff;
    border-radius: 15px;
    box-shadow: 0 0 14px rgba(0,0,0,.16);
}
.booking-box .b-form-group label {
    display: block;
    font-weight: 600 !important;
    font-size: 15px;
    margin-bottom: 5px;
    text-transform: capitalize;
}
.booking-box .form-control {
    border: 1px solid #ddd;
    border-radius: 7px !important;
    background: #fff;
    padding: 10px 16px;
}
.booking-box .date_input{
    padding-left: 30px;
}
.repeat-arrow-img-btn {
    display: inline-block;
    padding: 0;
    margin: 0;
    position: absolute;
    top: 32px;
    right: -21px;
    border-radius: 50%;
    border: 0;
    width: 35px;
    height: 35px;
    z-index: 2;
    background: var(--baseColor);
    -moz-transition: all .3s linear;
    -webkit-transition: all .3s linear;
    transition: all .3s linear;
}
.repeat-arrow-img-btn2 {
    border: 2px solid #fff;
}
.rotate-180 {
    -moz-transform: rotate(180deg);
    -webkit-transform: rotate(180deg);
    transform: rotate(180deg);
}

.demo_list_ul {
    list-style: none;
    background: #fff;
    padding: 20px;
    border-radius: 7px;
    margin: 0;
    overflow: auto;
}
ul.demo_list_ul li {
    font-weight: 600;
}
.search_btn {
    color: #fff;
    text-transform: uppercase;
    font-weight: 600;
    transition: .2s all ease-in-out;
    margin-top: 27px;
    letter-spacing: 0.3px;
    border-radius: 30px !important;
    background-color: var(--baseColor);
    background-image: linear-gradient(45deg,rgba(112, 112, 112, 0.288) 50%,var(--baseColor) 50%);
    background-size: 250% 100%;
    background-position: right bottom;
    transition: all 0.4s ease-in-out!important;
    touch-action: manipulation;
    border: 1px solid transparent;
    width: 100%;
    min-height: 44px;
}
.search_btn:hover{
    background-position: left bottom;
}
.b-search-map-wrapper .search_btn {
    margin-top: 26px !important;
    min-height: 44px;
    border-radius: 30px !important;
    transition: all ease-in-out 0.3s;
    border: 1px solid var(--baseColor) !important;
}
.prev-empty {
    background: #0b1b35 !important;
    color: #fff !important;
    border: 1px solid #0b1b35 !important;
    opacity: 0.3;
    cursor: no-drop;
}

/* ################## */
.service__box {
    position: relative;
    box-sizing: border-box;
    background-color: rgb(0 0 0 / 53%);
    text-align: center;
    margin: 0;
    padding: 15px 10px;
    box-shadow: 0px 5px 20px rgb(0 0 0 / 10%);
    width: 100%;
}
.service__title {
    font-size: 40px;
    color: #fff;
    font-weight: 700;
    margin: 10px 0 0;
    line-height: 32px;
    min-height: 50px;
}
/*====================================================================
how_it_works
====================================================================*/
.why_book_us {
    padding: 70px 0px;
}
.counter-box {
    text-align: center;
    background: var(--baseColor);
    padding: 50px 30px 20px;
    min-height: 250px;
    border-radius: 15px;
    position: relative;
    height: 100%;
}
.counter-text p {
    color: var(--whiteColor);
    line-height: 32px;
    font-size: 22px;
    font-weight: 600;
    margin-top: 30px;
    margin-bottom: 10px;
}
.counter-text span {
    color: var(--whiteColor);
    line-height: 30px;
    font-size: 16px;
}
.counter-icon {
    background: #fff;
    display: inline-block;
    padding: 20px;
    border-radius: 50%;
    position: absolute;
    top: -60px;
    left: 50%;
    transform: translateX(-50%);
    width: 120px;
    height: 120px;
    object-fit: contain;
    border-top: 10px solid var(--baseColor);
    border-left: 10px solid var(--darkColor);
    transition: all ease-in-out 0.3s;
}
.counter-box:hover .counter-icon{
    border-top: 10px solid var(--darkColor);
    border-left: 10px solid var(--baseColor);
}
/*====================================================================
Gallery
====================================================================*/
.gallery__section{
    background: #f7f7f7;
}
.gall-img {
    min-height: 300px;
    object-fit: cover;
}

.gallery_carousel .gall_item_inner {
    position: relative;
    overflow: hidden;
    border-radius: 15px;
    border: 1px solid #eee;
}

.gallery_carousel .gall_item_inner img {
    transition: all 2s;
}

.gallery_carousel .gall_item_inner:hover img {
    transform: scale(1.2);
}

.gallery_carousel .owl-nav {
    margin-top: 0 !important;
    position: absolute !important;
    width: 100%;
    top: 50%;
    transform: translateY(-50%);
}

.gallery_carousel .owl-nav button span {
    background: var(--baseColor);
    width: 40px;
    display: inline-block;
    border-radius: 50%;
    height: 40px;
    line-height: 36px;
    font-size: 30px;
    font-weight: 600;
    text-align: center;
    color: #fff;
    opacity: 0.7;
}

.gallery_carousel button.owl-prev {
    position: absolute !important;
    left: 5px;
}

.gallery_carousel button.owl-next {
    position: absolute !important;
    right: 5px;
}

.gallery_carousel .owl-nav button:hover span {
    opacity: 1;
}
/*====================================================================
Available Operators
====================================================================*/
.partner_section {
    padding: 70px 0px;
    background: #f7f7f7;
}
.partner_section .item {
    display: flex;
    flex-direction: column;
    gap: 15px;
}
.partner_carousel .item img {
    height: 120px !important;
    object-fit: contain;
    margin: 0 auto;
    border-radius: 10px;
    background: #fff;
}
/*====================================================================
Top Routes
====================================================================*/
.popular_trips {
    padding: 70px 0px;
}
.route_link {
    border-radius: 10px;
    overflow: hidden;
    border: 1px solid #ddd;
    height: 100%;
}
.trip_content {
    width: calc(100% - 100px);
    padding: 10px;
}
.trip_price_flex {
    padding: 0px 10px;
    font-weight: 500;
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
}
.trip_details_btn {
    border: 1px solid var(--baseColor);
    color: var(--baseColor) !important;
    font-weight: 500;
    font-size: 16px;
    padding: 5px 20px;
    border-radius: 30px;
    outline: 0;
    box-shadow: none;
    transition: all ease-in-out 0.3s;
    text-decoration: none;
}
.trip_details_btn:hover{
    background: var(--baseColor);
    color: var(--whiteColor) !important;
}
.trip_price {
    font-size: 18px;
    font-weight: 800;
    margin: 5px 0px 0px;
    color: var(--baseColor);
}
.route-text {
    font-size: 17px;
    font-weight: 500;
    margin-bottom: 3px;
}
.popular_trip_img {
    width: 130px;
    height: 100%;
    object-fit: cover;
}
.route_link{
    text-decoration: none;
    display: flex;
}
.trip_link {
    font-weight: 600;
    font-size: 14px;
    border: 1px solid var(--baseColor);
    padding: 2px 20px;
    display: inline-block;
    border-radius: 30px;
    text-decoration: none;
    margin-top: 5px;
    float: right;
}
.trip_link:hover{
    color: var(--baseColor);
}
h3.price {
    font-weight: 800;
}
/*====================================================================
Reviews
====================================================================*/
.single-stories {
    display: flex;
    padding: 10px;
    background: var(--whiteColor);
    border: 1px solid var(--whiteColor);
    border-radius: 4px;
    margin-right: 15px;
}

.single-stories-content {
    padding: 0px 20px;
}

.client_name {
    font-size: 20px;
    font-weight: 600;
    margin: 0;
}

.client_designation {
    margin: 0;
    color: var(--baseColor);
}

.rating_star {
    color: var(--baseColor)
}

.review_carousel {
    display: flex;
    align-items: center;
    width: 135%;
}

.review_carousel_wrapper {
    position: relative;
}

.slide_control_btn {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    border-radius: 50%;
    width: 30px;
    outline: none !important;
    box-shadow: none !important;
}

.prev-btn {
    left: 0;
}

.next-btn {
    right: 0;
}
.l-main-container {
    background: #eee;
    min-height: 550px;
}
/*====================================================================
Global Presence Section
====================================================================*/
.global_presence {
    background: #fff;
    padding: 70px 0px;
}
.globar_presence_content img {
    border-radius: 50%;
}
.globar_presence_content p {
    margin: 0;
    font-size: 20px;
    font-weight: 600;
    margin-top: 10px;
    text-transform: capitalize;
}
/*====================================================================
App Section
====================================================================*/
.app_sec {
    background: #f7f7f7;
    padding: 70px 0px;
}
.qr_image {
    background: #fff;
    border-radius: 7px;
    width: 140px;
}
.app_sec h2 {
    font-size: 40px;
    color: var(--baseColor);
    text-align: left;
    font-weight: 700;
    text-transform: uppercase;
}
.app_sub_title {
    font-size: 18px;
    line-height: 24px;
    color: var(--darkColor);
    margin: 0 0 5px;
    text-transform: capitalize;
    font-weight: 600;
    white-space: nowrap;
}
.Features_subHeadingTxt{
    width: 70%;
    text-align: justify;
}
.app_store_btn {
    display: inline-block;
}
.qr_code {
    width: 130px;
    color: var(--darkColor);
    border-radius: 3px;
}
.store_img_link{
    text-decoration: none;
}
.store_img_link img {
    border-radius: 50px;
    width: 150px;
}
.download_app_image {
    height: 450px;
    object-fit: contain;
    border-radius: 100px;
}
/*====================================================================
	Fun Fact Section
====================================================================*/
.counter_section .section-title {
    font-size: 45px;
    line-height: 60px;
    margin-bottom: 20px;
    font-weight: 800;
    text-transform: initial;
}
.flat-icon {
    height: 70px;
    width: 70px;
    margin: 0px 0px 10px 0px;
    background: var(--baseColor);
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--whiteColor);
}
.flat-icon i {
    font-size: 30px;
}
.counter-texts .count-nem {
    font-size: 18px;
    font-weight: 500;
    color: var(--darkColor);
    text-transform: capitalize;
}
.counter_section {
    background: #f7f7f7;
    padding: 70px 0px;
}
.counter-texts {
    padding: 20px;
    background: #fff;
    border-radius: 25px 25px 0px 0px;
    border-bottom: 2px solid var(--baseColor);
    text-align: center;
    height: 100%;
}
.counter-texts p {
    text-align: center;
    color: var(--darkColor);
    font-size: 45px;
    margin-bottom: 5px;
    font-weight: 700;
}
/*====================================================================
FAQ
====================================================================*/
.Frequently_section {
    padding: 70px 0px;
    background: var(--whiteColor);
}
.accordion-button h3 {
    font-size: 18px;
    font-weight: 500;
    margin: 0;
}
.accordion-button:not(.collapsed) {
    background-color: transparent;
    box-shadow: none;
}
.accordion-button:not(.collapsed) h3{
    color: var(--baseColor);
}
.accordion-button {
    padding: 1.25rem 0px;
    background-color: transparent !important;
    border: 0;
    box-shadow: none !important;
    outline: none !important;
}
.accordion-body {
    padding: 0 0 1.25rem;
}
.accordion-item {
    background-color: transparent;
}
.accordion-button::after {
    background-image: url('../img/arrow_dwn.svg');
}
.accordion-button:not(.collapsed)::after {
    background-image: url('../img/arrow_up-svg.svg') !important;
}
.accordion-body p {
    margin: 0;
    line-height: 30px;
}
/*====================================================================
Payment
====================================================================*/
.payment_sec {
    background: #f1f1f1;
}

.payment-flex {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
}

.pay-img-wrapper {
    height: 130px;
    width: 130px;
    background: var(--whiteColor);
    border-radius: 4px;
    margin: 5px;
    box-shadow: 0px 4px 5px #dddddd61;
    border: 1px solid #eee;
    position: relative;
}

.pay-img-wrapper img {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    padding: 5px;
}
/* payment page */
 /* radio buttons css */
 .radio-buttons {
    width: 100%;
    display: flex;
    gap: 20px;
    justify-content: center;
    margin-top: 30px;
    flex-wrap: wrap;
}
.custom-radio input {
    display: none;
}

.radio-btn {
    margin: 0 0 15px;
    width: 220px;
    height: 200px;
    border: 3px solid #eee;
    display: inline-block;
    border-radius: 10px;
    position: relative;
    text-align: center;
    cursor: pointer;
}

.radio-btn > i {
    color: #ffffff;
    background-color: var(--baseColor);
    font-size: 16px;
    position: absolute;
    top: -15px;
    left: 50%;
    transform: translateX(-50%) scale(2);
    border-radius: 50px;
    padding: 3px;
    transition: 0.4s all ease-out;
    pointer-events: none;
    opacity: 0;
    padding: 5px;
}

.radio-btn .hobbies-icon {
    position: absolute;
    top: 50%;
    left: 5%;
    transform: translateY(-50%);
    display: flex;
    flex-direction: column;
    justify-content: center;
    right: 5%;
}
.radio-btn .hobbies-icon .bkash_img {
    width: 150px;
    margin: 0 auto 20px;
}
.radio-btn .hobbies-icon img {
    display: block;
    width: 100%;
    margin-bottom: 20px;
    height: 100px;
    object-fit: contain;
}
.radio-btn .hobbies-icon i {
    color: #ffdae9;
    line-height: 80px;
    font-size: 60px;
}

.radio-btn .hobbies-icon h3 {
    color: #000;
    font-size: 15px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin: 0;
}

.custom-radio input:checked + .radio-btn {
    border: 2px solid var(--baseColor);
}

.custom-radio input:checked + .radio-btn > i {
    opacity: 1;
    transform: translateX(-50%) scale(1);
}
.custom_btn {
    font-size: 15px;
    font-weight: 500;
    color: #fff !important;
    background-color: var(--baseColor);
    border-radius: 5px 5px 5px 5px;
    box-shadow: 0px 10px 16px 0px rgb(50 41 122 / 16%);
    padding: 0px 30px;
    min-height: 44px;
    display: inline-block;
    line-height: 44px;
    text-decoration: none;
    transition: all .3s ease-out;
    text-transform: capitalize;
    cursor: pointer;
    border: 0;
    white-space: nowrap;
}
.custom_btn:hover {
    box-shadow: 0 0 0 0 rgba(0,84,166,.2) !important;
}
.custom_btn:focus{
    background-color: var(--baseColor) !important;
}/*====================================================================
Partner
====================================================================*/
.details {
    background: #f5fcfe;
    min-height: 150px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
    border-radius: 7px;
    border: 1px dashed var(--baseColor);
}
/*====================================================================
Footer
====================================================================*/
footer {
    position: relative;
    margin-top: auto;
    background: #f7f7f7;
}
footer::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 10%;
    height: 100%;
    background: var(--baseColor);
}
.footer_inner {
    position: relative;
    z-index: 1;
}
.footer_top {
    display: flex;
}
.footer_left {
    padding: 30px 10px 30px 0px;
    width: 40%;
    background: var(--baseColor);
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.footer_right {
    width: 60%;
}
.footer_right_top {
    padding: 30px 15px;
}
.footer_contact_address {
    display: inline-flex;
    flex-direction: column;
}
.footer_contact_address a {
    text-decoration: none;
    line-height: 36px;
    font-weight: 400;
    transition: all ease-in-out 0.2s;
}
.footer_contact_address a:hover{
    color: var(--baseColor) !important
}
.footer_contact_address a:hover .social_icon{
    color: var(--baseColor) !important
}
.cont-number{
    margin-left: 30px !important;
}
.footer_contact_address a span {
    min-width: 160px;
    display: inline-block;
    text-align: left;
}
.cont-name{
    line-height: 26px !important;
}
.social_icon {
    width: 28px;
    height: 28px;
    text-align: center;
    line-height: 27px;
    transition: all ease-in-out 0.2s;
    border-radius: 50%;
    background: #ddddddba;
    color: var(--darkColor);
    font-size: 14px;
    border: 1px solid #ddd;
}
.footer_logo {
    max-width: 150px;
    object-fit: contain;
    background: #fff;
    border-radius: 4px;
}
.b-footer-logo-containter {
    position: relative;
    z-index: 1;
}
.xxs_logo {
    width: 115px;
}

.f-primary-sb {
    font-weight: 600;
    font-size: 1.2rem;
    color: var(--baseColor);
    text-transform: uppercase;
}

.fq-link a {
    display: inline-block;
    color: var(--darkColor);
    line-height: 26px;
    text-decoration: none;
}

.fq-link a:hover {
    color: var(--baseColor);
}
.b-blog-short-post {
    margin: 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    border-top: 1px solid #ddd;
    padding: 10px 16px;
    font-size: 14px;
}
.social-links {
    display: flex;
    align-items: center;
    padding-top: 5px;
    justify-content: center;
    margin-top: 20px;
}
.social-links a {
    font-size: 18px;
    display: inline-block;
    transition: 0.3s;
    color: var(--darkColor);
    width: 40px;
    height: 40px;
    line-height: 40px;
    text-align: center;
    border: 1px solid var(--whiteColor);
    margin-right: 7px;
    border-radius: 50%;
    background: var(--whiteColor);
    border: 1px solid var(--whiteColor);
}
.social-links a:hover{
    color: var(--baseColor);
    border: 1px solid var(--baseColor);
}

.b-footer-primary {
    background: var(--baseColor);
}

.copy_right_text {
    font-size: 14px;
}
.small_site_logo {
    width: 40px;
    object-fit: contain;
}
.footer_title {
    font-size: 20px;
    text-align: left;
    border-bottom: 1px solid #ddd;
    padding-bottom: 10px;
    margin-bottom: 20px;
    position: relative;
    text-transform: capitalize;
}
.footer_title::after {
    content: '';
    position: absolute;
    left: 0;
    width: 50px;
    height: 2px;
    background: var(--baseColor);
    bottom: -2px;
}
.footer_bottom_link a {
    color: var(--baseColor);
    font-size: 15px;
    text-transform: capitalize;
}

.footer_bottom_link a:hover {
    text-decoration: underline;
}
.footer_imp_link {
    display: inline-flex;
    flex-direction: column;
}
.footer_imp_link a {
    display: inline-block;
    text-decoration: none;
    line-height: 36px;
}
.footer_imp_link a:hover{
    color: var(--baseColor);
}
.btn-scroll {
    background: var(--darkColor);
    width: 40px;
    height: 40px;
    display: inline-block;
    text-align: center;
    font-size: 22px;
    transition: all ease-in-out 0.3s;
    color: var(--whiteColor);
    line-height: 0;
    position: absolute;
    right: 10px;
    bottom: 55px;
    border-radius: 50%;
    outline: none !important;
    box-shadow: none !important;
}
.btn-scroll:hover {
    color: var(--whiteColor);
    background-color: var(--baseColor);
}

span#vookmarkBtn {
    display: none;
}

.cupon_input {
    border-top-right-radius: 0 !important;
    border-bottom-right-radius: 0 !important;
}

.cuponbtn {
    border: 0;
    color: var(--whiteColor);
    border-radius: 7px;
    padding: 12px;
    border-top-left-radius: 0 !important;
    border-bottom-left-radius: 0 !important;
}

.cuponbtn:hover {
    color: var(--whiteColor) !important
}

/*====================================================================
Congratulations Page
====================================================================*/
.ticket_box {
    padding: 30px;
    min-height: 380px;
    border-radius: 10px;
    height: 100%;
    background: var(--whiteColor);
}

.tick_dtls_title {
    font-size: 20px;
    background: var(--baseColor);
    text-align: center;
    padding: 5px;
    color: var(--whiteColor);
    margin-bottom: 0px;
    border-radius: 7px;
}

.single_item {
    margin: 6px 0 0 0;
    padding: 2px;
    font-size: 15px;
    font-weight: 700;
    color: #444;
    background-color: #e3e3e36b;
    text-align: center;
    line-height: 20px;
}

.single_item span {
    font-size: 12px !important;
    font-weight: 500 !important;
    text-transform: capitalize;
    color: var(--baseColor);
}

.single_item.special {
    background: #eaeff5;
}
.operator_name {
    font-size: 20px;
    font-weight: 700;
    margin: 0px;
    color: var(--baseColor);
    text-transform: capitalize;
}
.operator_icon {
    font-size: 15px;
    background: var(--baseColor);
    color: var(--whiteColor);
    width: 25px;
    height: 25px;
    line-height: 25px;
    text-align: center;
    border-radius: 50%;
    margin-top: 3px;
}
.time_Left{
    color: var(--baseColor);
}
.coach_name {
    font-size: 16px;
    font-weight: 800;
    margin: 6px 0px;
}
.maker_type {
    font-size: 16px;
    font-weight: 500;
    margin-bottom: 6px;
}
.mbrnad-name {
    font-weight: 500;
    font-size: 16px;
    margin-bottom: 6px;
}
.ticket_box.right {
    text-align: center;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    background: var(--whiteColor);
}

.ticket_box.right img {
    width: 100px;
}

.search_btn:focus {
    color: #fff !important;
}

/*====================================================================
Login Page
====================================================================*/
.login_otp_disabled {
    opacity: 0.5;
    cursor: no-drop !important;
}
.verification_btn_disabled {
    opacity: 0.5;
    cursor: no-drop !important;
}
.login-box {
    padding: 25px 40px;
    border-radius: 10px;
    background: #fff;
}
.login-form-head h4 {
    letter-spacing: 0;
    text-transform: capitalize;
    font-weight: 600;
    color: #444;
}

.form-gp {
    position: relative;
    margin-bottom: 15px;
}
.form-gp input {
    width: 100%;
    height: 44px;
    outline: none !important;
    box-shadow: none !important;
    padding: 10px 10px 10px 50px;
    font-size: 14px;
    border-radius: 5px;
    border: 1px solid #ddd;
}
.input_left_icon_wrap {
    position: absolute;
    left: 0;
    top: 27px;
    width: 40px;
    height: 44px;
    text-align: center;
    border-radius: 5px 0px 0px 5px !important;
    display: flex;
    align-items: center;
    justify-content: center;
    border-right: 1px solid #eee;
    pointer-events: none;
}
.input_left_icon_wrap i {
    color: #0000003b;
}
.form-gp .passToggleIcon {
    position: absolute;
    right: 10px;
    color: #0000009c;
    font-size: 16px;
    top: 36px;
    cursor: pointer;
}
.profile-right-tab-content .form-gp i {
    top: 38px !important;
}
.iti {
    display: block !important;
}

.social-btn a {
    font-size: 16px;
    text-align: center;
    margin-bottom: 15px;
    border-radius: 7px;
}

.google-ico {
    background-color: #DD4F46 !important;
    color: #fff !important;
}

.fb-ico {
    background-color: #405893 !important;
    color: #fff !important;
}

.form-footer a {
    margin-left: 5px;
}

.forget_txt {
    font-size: 15px;
    font-weight: 500;
    color: var(--baseColor);
    text-decoration: none;
}

/*====================================================================
Profile Page
====================================================================*/
.profile-left-tab {
    border: 1px solid #eee;
    background: var(--whiteColor);
    min-height: 500px;
    display: flex;
    flex-direction: column;
    border-radius: 10px;
}

.profile-right-tab-content {
    border: 1px solid #eee;
    background: var(--whiteColor);
    min-height: 500px;
    padding: 20px;
    border-radius: 10px;
}

li.top-li {
    padding: 15px;
    text-align: center;
}

.profile-left-tab li a {
    padding: 8px 15px;
    display: block;
    text-align: left;
    color: #3e3e52;
    font-weight: 500;
    border-radius: 0;
    border: 0;
    margin: 0;
    border-bottom: 1px solid #ddd;
    text-decoration: none;
    cursor: pointer;
}

.profile-left-tab li .active {
    background-color: var(--baseColor) !important;
    color: #fff !important;
}
.header-user-btn.signin {
    color: var(--baseColor) !important;
}
.header-user-btn.signin svg path {
    fill: var(--baseColor) !important;
}
.wlc_msg {
    font-size: 20px;
    text-transform: capitalize;
    margin: 0;
    border-bottom: 1px dashed var(--baseColor);
    color: #333;
    padding-bottom: 10px;
    font-weight: 500;
}
li > div {
    width: 90%;
}

.profile-right-tab-content .form-gp input {
    border: 1px solid #ddd;
}
.flag-icon{
    margin-right: 2px !important;
}
.abs_apply_btn {
    background-color: var(--baseColor);
    position: absolute;
    right: 7px;
    top: 50%;
    transform: translateY(-50%);
    min-width: 70px;
}
/*====================================================================
Download Ticket Page
====================================================================*/
.download-ticket-box {
    margin: 10px auto;
    transition: all 0.3s ease-in-out;
    padding: 25px 40px;
    border: 1px solid #eee;
    box-shadow: 0px 0px 30px rgb(127 137 161 / 20%);
    min-height: 365px;
    border: 0;
    border-radius: 7px;

}

.tkt-dnld-right-box {
    border: 1px solid #eee;
    background: #fff;
}

.tkt-dnld-right-box p {
    text-align: center;
    margin: 80px 7%;
    background: #f9ad1c;
    padding: 20px;
    border-radius: 7px;
    color: #fff;
}

.tkt-dnld-right-box p i {
    font-size: 40px;
}
/*====================================================================
Cancel Trip Page
====================================================================*/
.single-cancel-list-wrap {
    background: var(--whiteColor);
    padding: 20px;
    display: flex;
    align-items: center;
    gap: 20px;
    flex-wrap: wrap;
    justify-content: center;
}
.single-cancel-list-wrap .list_item {
    border: 1px dashed var(--baseColor);
    padding: 5px 15px;
    border-radius: 10px;
    text-align: center;
}
.single-cancel-list-wrap label {
    font-weight: 500 !important;
    font-size: 14px;
    text-transform: capitalize;
    color: var(--baseColor);
}
.single-cancel-list-wrap p.list-val {
    margin: 0;
}
.cancel-box {
    position: absolute;
    min-width: 350px;
    z-index: 2;
    background: #fff;
    padding: 10px;
    text-align: center;
    border-radius: 25px;
    box-shadow: 0px 0px 30px rgb(127 137 161 / 20%);
    top: 52px;
    right: 0;
}
/*====================================================================
Contact Page
====================================================================*/
.b-contact-form-box {
    min-height: 460px;
    padding: 25px 40px;
    border-radius: 10px;
    background: #fff;
}

.cont_right_box{
    text-align: center;
}

.b-google-map__info-window-address-title {
    font-weight: 600;
    color: #ffffff;
    text-transform: capitalize;
    padding: 0;
    margin: 0;
    font-size: 20px;
}
.cont_right_box .single_box {
    background: var(--baseColor);
    padding: 20px;
    height: 100%;
    border-radius: 15px;
    box-shadow: 0px 0px 30px rgb(127 137 161 / 20%);
}
.cont_right_box_icon {
    text-align: center;
    font-size: 30px;
    color: #ffffff;
    border: 1px dashed #fff;
    height: 55px;
    line-height: 55px;
    width: 55px;
    margin: 0 auto 20px;
    border-radius: 50%;
}
.cont_right_box .desc {
    text-decoration: none;
    font-weight: 500;
    color: #eee;
    transition: all .3s;

}
.cont_right_box a.desc:hover {
    color: var(--darkColor);
}
/*======================
404 page
=======================*/
.page_404 {
    padding: 40px 0;
    background: #fff;
}

.page_404 img {
    width: 100%;
}

.four_zero_four_bg {
    background-image: url(../img/error.gif);
    height: 400px;
    background-position: center;
}

.four_zero_four_bg h1 {
    font-size: 80px;
}

.four_zero_four_bg h3 {
    font-size: 80px;
}

.contant_box_404 {
    margin-top: -30px;
}

/* **************  *************** */
.service_title {
    font-size: 17px;
    font-weight: 600;
    margin: 0px 0px 10px;
    border-bottom: 1px solid #ddd;
    padding-bottom: 5px;
    text-transform: capitalize;
    color: var(--baseColor);
}
.ckout_left_table td {
    border-bottom: 1px solid #eee;
    font-size: 15px;
    padding: 5px 0;
    font-weight: 500;
}
.ckout_left_table td:first-child {
    min-width: 120px;
}
.ckout_left_table td:last-child {
    text-align: right !important;
}
.ckout_left_table .amount_td{
    font-weight: 600 !important;
}
.chk-form-box {
    border: 1px solid #eee;
    padding: 20px;
    border-radius: 15px;
    box-shadow: 0px 0px 30px rgb(127 137 161 / 20%);
    margin-bottom: 30px;
}

.rightSide .right-table th {
    color: var(--darkColor);
    font-size: 13px !important;
}

.rightSide .right-table th {
    color: var(--darkColor);
    border-bottom: 1px solid #ddd;
    font-size: 13px !important;
}

.right-table {
    margin-bottom: 15px;
}

.service_tbl {
    width: 100%;
    border-collapse: collapse;
}

.radio_td label {
    display: flex;
    align-items: center;
}

.service_tbl td {
    border: 1px solid #ddd;
    padding: 5px 6px;
    vertical-align: middle;
}

.service_tbl th {
    border: 1px solid #ddd;
    padding: 5px 6px;
}

.amount_td {
    text-align: center;
    font-weight: 600;
}

.service_tbl thead {
    background: var(--baseColor);
}
.service_tbl select {
    border: 1px solid #ddd;
    border-radius: 7px;
    min-height: 30px;
}
.service_tbl thead  th{
    color: #fff !important;
}
.service_tbl .form-control {
    min-height: 30px !important;
    padding: 4px 10px !important;
}
.active .dept_title {
    color: #224e8b;
    opacity: 1;
}

.dept_title {
    color: var(--darkColor);
    margin: 5px 0;
    font-weight: 600;
    font-size: 14px;
    opacity: .3;
}

.active .bus_img_bg.dept_bus {
    opacity: 1;
    filter: grayscale(0);
}

.bus_img_bg.dept_bus {
    opacity: .3;
    filter: grayscale(1);
}

.active .return_title {
    color: var(--darkColor);
    opacity: 1;
}

.return_title {
    color: var(--darkColor);
    margin: 5px 0;
    font-weight: 600;
    font-size: 14px;
    opacity: .3;
}

.active .bus_img_bg {
    opacity: 1;
}

.bus_img_bg {
    opacity: .3;
}

.pre_next_btn {
    color: #fff;
    background: var(--baseColor);
    border-color: var(--baseColor);
    box-shadow: none !important;
    font-size: 14px;
    font-weight: 600;
    outline: none !important;
    transition: all ease-in-out 0.3s;
    margin: 0 auto;
    padding: 8px 5px;
    min-width: 90px;
    text-align: center;
}

.modify_src_btn {
    color: #fff;
    background: var(--baseColor);
    border-color: var(--baseColor);
    box-shadow: none !important;
    font-size: 14px;
    font-weight: 600;
    outline: none !important;
    transition: all ease-in-out 0.3s;
    margin: 0 auto;
    padding: 8px 5px;
    min-width: 90px;
    text-align: center;
}

.btn.disabled,
.btn:disabled,
fieldset:disabled .btn {
    pointer-events: none;
    opacity: .4;
    background: var(--baseColor);
    border-color: var(--baseColor);
    cursor: no-drop;
}

.b-search-map__wrap {
    margin-bottom: 20px;
}

.modify_src_btn:hover {
    color: var(--baseColor) !important;
    background-color: transparent !important;
    border-color: var(--baseColor) !important;
}

.border_right_gray {
    border-right: 2px dashed #e3e3e3;
}

.pre_next_btn:hover {
    color: #093f0b !important;
    background-color: transparent !important;
    border-color: #093f0b !important;
}

.active .location_title_dept {
    color: var(--baseColor);
    opacity: 1;
}

.location_title_dept {
    color: var(--darkColor);
    font-size: 20px;
    font-weight: 700;
    margin: 5px 0 0;
    opacity: .3;
}

.active .location_title_return {
    opacity: 1;
}

.location_title_return {
    color: var(--darkColor);
    font-size: 20px;
    font-weight: 700;
    margin: 5px 0 0;
    opacity: .3;
}

.active .date_title {
    opacity: 1;
}

.date_title {
    color: var(--darkColor);
    font-size: 15px;
    font-weight: 600;
    margin: 0;
    opacity: .3;
}

.close_dpt {
    position: absolute;
    top: 25px;
    font-size: 13px;
    color: var(--darkColor);
    right: 19px;
    text-decoration: none;
    font-weight: 600;
    z-index: 9;
    cursor: pointer;
}

.close_dpt:hover {
    color: #fff;
}

.otp_resend_btn:hover {
    color: #f00;
}

.errorTextMsg {
    font-size: 14px !important;
    color: #ff0000;
    display: none;
}
.name_error {
    font-size: 14px;
}
.iti__country-list {
    width: 300px !important;
}

.iti__country {
    white-space: pre-wrap !important;
}

#otp_option_msg {
    font-weight: 500;
}

#regOtpResend {
    background: transparent;
    border: 0;
    font-weight: 500;
}
.coupon__err {
    font-size: 13px;
    margin: 0px 8px;
    color: rgb(255, 0, 0);
    font-weight: 500;
}
#myModal .modal-header{
    background-color: var(--baseColor);
}
#myModal .modal-title {
    color: #fff;
}
#myModal .btn-close {
    filter: invert(1);
    opacity: 1;
}
.select2-container--default .select2-search--dropdown .select2-search__field {
    outline: none !important;
}
.start_end_point {
    position: relative;
    padding-left: 23px;
}
.abs_inner_line {
    position: absolute;
    content: '';
    top: 24px;
    left: 5px;
    width: 2px;
    height: 80%;
    background: #c1c1c1;
    transform: translateY(-50%);
    z-index: 0;
}
.abs_inner_line::before {
    position: absolute;
    content: '';
    top: 0;
    left: -5px;
    width: 12px;
    height: 12px;
    background: var(--baseColor);
    border: 2px solid var(--baseColor);
    z-index: 0;
    border-radius: 50%;
}
.abs_inner_line::after {
    position: absolute;
    content: '';
    bottom: 0;
    left: -5px;
    background: var(--baseColor);
    z-index: 0;
    border-radius: 2px;
    font-size: 18px;
    line-height: 18px;
    height: 12px;
    width: 12px;
}
.mobile_code {
    border: 0px;
}
.dropdown-menu .active_lan {
    background-color: #eee;
    color: var(--baseColor) !important;
}
/* Payment Page css */
.payment_processing_title {
    font-size: 25px;
    text-align: center;
    font-weight: 700;
    text-transform: capitalize;
    display: flex;
    flex-direction: column;
    gap: 5px;
}
.payment_success_number {
    font-size: 30px;
    font-weight: 800;
}
#copyButton {
    background: transparent;
    border: 0;
    box-shadow: none;
    outline: none;
}
.payment_success_number .alert{
    color: #0f5132;
    background-color: #d1e7dd;
    border-color: #badbcc;
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.trip_details_ul{
    padding: 0 6px;
    border: 1px solid #ececec;
    box-shadow: 0px 0px 30px rgb(127 137 161 / 10%);
    border-radius: 4px;
}
.tap_details_link {
    color: var(--baseColor) !important;
    cursor: pointer;
    border: 1px solid #eee;
    padding: 5px;
    border-radius: 3px;
    margin-bottom: 0;
    width: 100%;
    display: block;
    text-decoration: none;
    font-weight: 600;
    font-size: 16px;
}
.shadow{
    box-shadow: 0px 0px 30px rgb(127 137 161 / 10%) !important;
}
.payment-page-top h3 {
    font-size: 18px;
    font-weight: 600;
    color: #0c1037;
}
.trip_details_ul li {
    text-align: left;
    border-bottom: 1px solid #eee;
    padding: 5px 0;
    list-style: none;
    display: flex;
}
.trip_details_ul li span:first-child {
    font-weight: 600;
    text-transform: capitalize;
    display: inline-block;
    min-width: 130px;
    text-align: right;
    padding-right: 5px;
}
.circles-container {
    width: 50%;
    display: flex;
    align-items: center;
    justify-content: space-around;
    margin: 0 auto;
}
.loader {
    position: relative;
    float: left;
    user-select: none;
    box-sizing: border-box;
    height: 70px!important;
    margin: 10px 0;
    min-width: 160px;
}
.loader-bg {
    width: 100%;
    height: 100%;
    box-sizing: border-box;
    border: 5px solid #eee;
    display: flex;
    align-items: center;
    justify-content: center;
    border-color: var(--baseColor);
    box-shadow: 2px 2px 20px 0 transparent;
}
.ctext {
    text-align: center;
    font-size: 40px;
    color: var(--baseColor);
    font-weight: 700;
}
.payment-page-top h3 {
    font-size: 18px;
    font-weight: 600;
}
.time_remaining {
    color: var(--baseColor)!important;
    text-transform: capitalize;
}
.pay-infos {
    margin: 20px auto;
    position: relative;
    border: 2px dashed #ddd;
    padding: 5px;
}
.pay-infos table td {
    border: 0;
    text-align: left;
    font-weight: 500;
    font-size: 20px;
    padding: 5px;
    border-bottom: 1px solid #eee;
    text-transform: capitalize;
}
.pay-infos table tr:last-child td{
    border: 0 !important;
}
.pay-infos table td:last-child {
    text-align: right;
    font-weight: 700;
}
#toasts {
    position: absolute;
    top: -35px;
    right: 0;
}
.text {
    color: var(--baseColor)!important;
    font-weight: 700;
}
.static_mobile_prefix {
    background: #ddd;
    height: 44px;
    border-radius: 5px 0px 0px 5px;
    padding: 0 10px;
    display: flex;
    align-items: center;
    font-weight: 500;
}
.static_mobile_prefix_inp {
    border-radius: 0px 5px 5px 0px !important;
}
.pay-infos h5 {
    font-size: 25px;
    color: #0c1037;
    font-weight: 800;
    margin: 5px 0;
    text-align: left;
}
.proces-fee{
    text-align: start;
}
.proces-fee h5 {
    font-size: 25px;
    color: #0c1037;
    font-weight: 800;
    margin: 5px 0;

}
.total-pay h5 {
    font-size: 25px;
    color: #0c1037;
    font-weight: 800;
    margin: 5px 0;

}
.proces-fee span{
    font-size: 16px;
    font-weight: 600;
}

.pay-infos .business_num {
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.pay-infos .num_flex {
    display: flex;
    align-items: center;
    justify-content: space-between;
}
#pay_number {
    color: #f50404!important;
}
.copy_icon {
    cursor: pointer;
}
.copy_icon:hover {
    opacity: .5;
}
.payment_dropdown {
    display: flex;
    gap: 10px;
    margin: 5px 0 20px;
    flex-wrap: wrap;
}
.payment_dropdown_img_label {
    background: #fff;
    border: 1px solid #eee;
    box-shadow: 0px 4px 10px #bebbbb99;
    border-radius: 7px;
    padding: 5px;
    text-align: center;
    cursor: pointer;
    position: relative;
    min-width: 150px;
}
.payment_dropdown_img_label .fa-info {
    position: absolute;
    right: 3px;
    display: inline-block;
    width: 20px;
    height: 20px;
    background: #bcbbbb;
    border-radius: 50%;
    top: 3px;
    font-size: 12px;
    line-height: 20px;
    color: white;
    z-index: 1;
}
.payment_dropdown_img_label p {
    margin: 10px 0px 0px;
    font-size: 14px;
    font-weight: 600;
}
.payment_dropdown img {
    border-radius: 4px;
    cursor: pointer;
    width: 110px;
    position: relative;
    padding: 10px 10px 0px;
}
h5.or {
    position: relative;
    font-size: 18px;
    color: #6d6d6d;
}
h5.or::after {
    position: absolute;
    content: '';
    left: 0;
    right: 0;
    height: 1px;
    width: 100%;
    background: #ddd;
    bottom: 11px;
}
h5.or strong {
    position: relative;
    padding: 0px 5px;
    z-index: 1;
    background: #fff;
}
.mobile_pay_group {
    position: relative;
}
.mobile_pay_group .fa-mobile-alt {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: 10px;
}
.mobile_pay_group .mid_cont_btn{
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 6px;
    padding: 5px 20px !important;
    font-size: 14px;
    min-height: auto !important;
    border-radius: 8px !important;
    font-weight: 500;
}
.select_payment_title {
    color: var(--baseColor);
    text-transform: uppercase;
    font-size: 18px;
    border-bottom: 1px solid;
    padding-bottom: 5px;
    margin-bottom: 15px;
}
.pay_method_subtitle{
    font-size: 18px;
    color: var(--darkColor);
    margin: 0;
    text-transform: capitalize;
}
.payment_dropdown input[type="radio"]{
    visibility:hidden;
    position: absolute;
    left: -9999px;
}
.position-relateve{
    position: relative !important;
}
.spiner {
    position: absolute;
    top: 26px;
    left: 50%;
    transform: translateX(-50%);
    color: var(--baseColor);
    width: 100%;
    background: #f1f1f1;
    min-height: 45px;
    border-radius: 7px;
    text-align: center;
    line-height: 45px;
}

.spinerSB {
    position: absolute;
    top: 26px;
    left: 50%;
    transform: translateX(-50%);
    color: var(--baseColor);
    width: 100%;
    background: #f1f1f1;
    min-height: 45px;
    border-radius: 7px;
    text-align: center;
    line-height: 45px;
}
.routeTitle {
    color: #0b1b35 !important;
    text-transform: uppercase;
    font-weight: 600;
    font-size: 15px !important;
    line-height: 16px;
    padding-top: 3px;
}

.validation-star{
    color: #ff0000;
}
#payBackBtn {
    display: inline-block;
    background: #F2F2F2;
    padding: 8px 50px;
    text-align: center;
    text-transform: uppercase;
    border-radius: 7px;
    border: 1px solid #ddd;
    transition: all ease-in-out 0.3s;
}
#payBackBtn:hover{
    background: #eee;
} 
.coupon_code {
    font-size: 14px;
    color: var(--baseColor);
    font-weight: 600;
}
span.coupon_code_btm_txt {
    color: #f00;
    font-weight: 600;
    font-size: 13px;
}
.coupon_flex {
    border: 1px dashed #0c1037;
    padding: 2px 8px;
    border-radius: 7px !important;
    background: #eff1f3a8;
    display: block;
    width: 100%;
}
.coupon_close_flex {
    display: flex;
    align-items: center;
    justify-content: space-between;
}
span.remove_coupon {
    font-size: 25px;
    line-height: 0;
    font-weight: 600;
    cursor: pointer;
}
span.remove_coupon:hover{
    color: #f00;
}
.onward_passanger_wrap {
    margin-bottom: 10px;
}
.onward_passanger_wrap .ticket {
    background: #eee;
    padding: 5px 0;
    border-radius: 7px;
    margin: 0px 0px 10px;
}
.onward_seat_box{
    display: block;
    background: #ddd;
    padding: 10px;
    border-radius: 7px;
    cursor: no-drop;
    opacity: 0.7;
}
.onward_price_ckout {
    text-align: right;
    font-weight: 600;
    font-size: 22px;
    color: #0c1037;
}
.saleAreaInput {
    background: #fff;
    position: sticky;
    bottom: 0;
    z-index: 9;
    padding: 5px 0 10px;
    border-top: 1px dashed#ddd;
}
.page_title {
    text-align: center;
    font-size: 34px;
    margin: 0;
    text-transform: capitalize;
}
.modify_search_wraper.return {
    margin-top: 0 !important;
}
.route_table_box {
    background: #fff;
    padding: 10px;
    text-align: center;
    border-radius: 7px;
    border: 1px dashed var(--baseColor);
    min-height: 120px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.route_table_box span {
    color: var(--baseColor);
    font-weight: 600;
    font-size: 16px;
}
.route_table_box h3 {
    margin: 0;
    font-weight: 900;
    font-size: 30px;
}
.bus_terminal_wrap {
    padding: 0;
    margin: 0;
    list-style: none;
}
.single_bus_terminal {
    display: flex;
    align-items: center;
    justify-content: space-between;
    background: #ffffff;
    padding: 13px 10px;
    border: 1px dashed var(--baseColor);
    margin: 10px 0px;
    border-radius: 30px;
}
.single_bus_terminal a:first-child {
    width: 68%;
    display: -webkit-box;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.single_bus_terminal a img {
    width: 22px;
}
.single_bus_terminal a {
    text-decoration: none;
    font-weight: 500;
    font-size: 16px;
    color: var(--darkColor);
}

.extra-departure{
    display: none;
}

.viewless{
    display: none;
}
/*  */
.route_banner {
    position: relative;
    height: 250px;
    overflow: hidden;
}
.route_banner img {
    width: 100%;
    background-size: cover;
    height: 100%;
    object-fit: cover;
}
.route_banner h1 {
    position: absolute;
    z-index: 3;
    top: 50%;
    left: 0;
    right: 0;
    transform: translateY(-50%);
    color: #fff;
    text-align: center;
    text-shadow: 0px 2px 8px var(--darkColor);
    font-size: 45px;
    text-transform: capitalize;
}
.route_banner::after {
    position: absolute;
    content: '';
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: #00000059;
    height: 100%;
    width: 100%;
    z-index: 1;
}
.btn_scroll {
    background: var(--primaryColor);
    font-size: 26px;
    height: 40px;
    width: 40px;
    line-height: 20px;
    color: #fff;
    padding: 0;
    border: 0;
    box-shadow: none !important;
    outline: 0;
}
/*  */
#adsPromtModal .modal-body {
    padding: 0;
    position: relative;
}
#adsPromtModal .modal-header {
    padding: 5px;
}
#adsPromtModal #close {
    background: #f90119;
    border: 0;
    border-radius: 7px;
    width: 30px;
    height: 30px;
    font-size: 16px;
    line-height: 30px;
    position: absolute;
    right: 5px;
    top: 5px;
    opacity: .9;
}
#adsPromtModal #close:hover{
    opacity: 1;
}
#adsPromtModal #close i{
    color: #fff;
}
#adsPromtModal .modal-content {
    background-color: transparent !important;
}

/* Marquee Scroll */
.marquee_title {
    background: var(--darkColor);
    color: var(--whiteColor);
    white-space: nowrap;
    letter-spacing: .4px;
    border-radius: 7px 0 0 5px;
    font-size: 16px;
    text-transform: capitalize;
    line-height: 38px;
    padding: 0 5px;
    width: 110px;
    text-align: center;
}
marquee {
    padding: 10px 0px 5px;
}
.marquee-news {
    width: 100%;
    background: var(--baseColor);
}
.marquee-news span {
    color: var(--whiteColor);
    font-weight: 500;
}
.offcanvas-bottom {
    height: 80vh !important;
}
.offcanvas-header {
    border-bottom: 1px solid #eee;
}
.insctruction_close_btn {
    font-size: 20px;
    outline: none;
    box-shadow: none;
}
.payment_toggle_content_wrapper {
    font-size: 14px;
}

/* Animated Ring Phone */
/* Base Styling */

.ring_phone {
    float: right;
    height: 32px;
    line-height: 32px;
    font-size: 18px;
    font-weight: bold;
    color: #333333;
    margin: 33px 0 33px 50px;
  }
  .ring_phone svg {
    width: 18px;
    height: 18px;
    float: left;
    margin-top: 6px;
    margin-right: 5px;
}
  .ring_phone svg path {
    fill: var(--baseColor);
  }
  .ring_phone svg path:nth-child(2) {
    -webkit-animation: header-phone 1s infinite cubic-bezier(0.1, 0.57, 0.5, 1);
    animation: header-phone 1s infinite cubic-bezier(0.1, 0.57, 0.5, 1);
  }
  .ring_phone svg path:nth-child(3) {
    -webkit-animation: header-phone2 1s infinite cubic-bezier(0.1, 0.57, 0.5, 1);
    animation: header-phone2 1s infinite cubic-bezier(0.1, 0.57, 0.5, 1);
  }
  
  /* Animate phone */
  
  @-webkit-keyframes header-phone {
    0%,
    30% {
      opacity: 0;
      -webkit-transform: translate3d(-20px, 20px, 0);
      transform: translate3d(-20px, 20px, 0);
    }
    80% {
      opacity: 1;
      -webkit-transform: translate3d(0, 0, 0);
      transform: translate3d(0, 0, 0);
    }
    100% {
      opacity: 0;
    }
  }
  @keyframes header-phone {
    0%,
    30% {
      opacity: 0;
      -webkit-transform: translate3d(-20px, 20px, 0);
      transform: translate3d(-20px, 20px, 0);
    }
    80% {
      opacity: 1;
      -webkit-transform: translate3d(0, 0, 0);
      transform: translate3d(0, 0, 0);
    }
    100% {
      opacity: 0;
    }
  }
  @-webkit-keyframes header-phone2 {
    0% {
      opacity: 0;
      -webkit-transform: translate3d(-20px, 20px, 0);
      transform: translate3d(-20px, 20px, 0);
    }
    70%,
    90% {
      opacity: 1;
      -webkit-transform: translate3d(0, 0, 0);
      transform: translate3d(0, 0, 0);
    }
    100% {
      opacity: 0;
    }
  }
  @keyframes header-phone2 {
    0% {
      opacity: 0;
      -webkit-transform: translate3d(-20px, 20px, 0);
      transform: translate3d(-20px, 20px, 0);
    }
    70%,
    90% {
      opacity: 1;
      -webkit-transform: translate3d(0, 0, 0);
      transform: translate3d(0, 0, 0);
    }
    100% {
      opacity: 0;
    }
  }
  /* OTP Design */
  .otp-field {
    flex-direction: row;
    column-gap: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  
  .otp-field input {
    height: 45px;
    width: 42px;
    border-radius: 6px;
    outline: none;
    font-size: 1.125rem;
    text-align: center;
    border: 1px solid #ddd;
  }
  .otp-field input:focus {
    box-shadow: 0 1px 0 rgba(0, 0, 0, 0.1);
  }
  .otp-field input::-webkit-inner-spin-button,
  .otp-field input::-webkit-outer-spin-button {
    display: none;
  }
  .otp_resend_btn {
    background: transparent;
    border: 0;
    font-weight: 500;
    text-decoration: underline;
    color: #2196F3;
    margin-bottom: 10px;
    font-size: 16px;
    text-transform: capitalize;
    outline: none;
    box-shadow: none;
}
  .resend {
    font-size: 14px;
  }

  /* ====bus tracker=== */
  .bg-light {
      background-color: #eee !important;
  }

  .servicesResultArea {
      position: fixed;
      z-index: 999;
      background: #fff;
      width: 400px;
      box-shadow: rgb(0 0 0 / 29%) 0px 1px 15px -1px;
  }

  .last_update_test {
      position: absolute;
      z-index: 999;
      right: 85px;
      top: -5px;
      font-size: 14px;
      background: #ffffff;
      line-height: 18px;
      box-shadow: rgb(0 0 0 / 75%) 0px 1px 4px -1px;
      padding: 5px 10px;
      border-radius: 0px;
      color: #000000;
      font-weight: 500 !important;
      text-transform: capitalize;
  }

  button.btn.btn-outline-secondary {
      border-radius: 0px;
      margin-top: -5px;
  }

  .list-group-item:hover {
      background: #eeeeee8a !important;
      color: var(--baseColor);
  }

  .list-group.list-group-stops {
      max-height: 500px;
      overflow-y: auto;
      background: var(--whiteColor) !important;
  }

  .tracking_map_height {
      height: 80vh;
  }

  #servicesResult {
      max-height: 62vh;
      overflow: auto;
  }

  .card-bus-tracker .list-group-item {
      position: relative;
      /* display: flex; */
      padding: .75rem 1rem;
      background-color: #fff;
      align-items: center;
      gap: 30px;
      justify-content: space-between;
  }

  .list-group-item {
      border: 0;
      border-top: 1px solid rgba(0, 0, 0, .125);
      border-bottom: 1px solid rgba(0, 0, 0, .125);
  }

  .list-group-item:last-child {
      border-bottom: 0px !important;
  }

  [highlight-bus],
  [show-service],
  [show-stop] {
      cursor: pointer;
      transition: background-color ease .5s;
  }

  .card-bus-tracker .card-header {
      background-color: var(--baseColor);
      color: #fff;
      font-size: 16px;
  }

  .route_title {
      margin: 0;
      font-size: 16px;
      line-height: 28px;
      font-weight: 500;
  }

  .card-bus-tracker .list-group-stops li {
      padding-left: 3em;
      background-color: transparent;
      border: 0 none;
  }

  .card-bus-tracker .list-group-item:first-child {
      border-top-left-radius: inherit;
      border-top-right-radius: inherit;
  }

  .card-bus-tracker .list-group-item.active {
      z-index: 2;
      color: #fff;
      background-color: var(--secondaryColor);
      border-color: var(--secondaryColor);
  }

  .card-bus-tracker .list-group-flush>.list-group-item {
      border-width: 0 0 1px;
  }

  .card-bus-tracker .list-group-stops li.active {
      background-color: rgb(217 228 233);
      color: #194786;
      z-index: unset;
      font-weight: 500;
  }

  .card-bus-tracker .list-group-stops li:before {
      content: "";
      display: block;
      width: .3em;
      position: absolute;
      top: 0;
      left: 1.55em;
      bottom: 0;
      margin-left: -.15em;
      background: var(--secondaryColor);
      z-index: 1;
  }

  .card-bus-tracker .list-group-stops li:after {
      content: "";
      display: block;
      width: 1em;
      height: 1em;
      position: absolute;
      top: 50%;
      left: 1.5em;
      margin-top: -.5em;
      margin-left: -.5em;
      border: .15em solid var(--secondaryColor);
      border-radius: 50%;
      background-color: #fff;
      z-index: 1;
  }

  .card-bus-tracker .list-group-stops li:first-child:after {
      background-color: var(--secondaryColor);
      border-radius: 0;
      height: .1em;
      margin-top: -.05em;
  }

  .card-bus-tracker .list-group-stops li:last-child:after {
      background-color: var(--secondaryColor);
      border-radius: 0;
      height: .1em;
      margin-top: -.05em;
  }

  .card-bus-tracker .list-group-stops li.active:after {
      box-shadow: 0 0 1em 0 var(--secondaryColor);
  }

  [highlight-bus]:hover,
  [show-service]:hover,
  [show-stop]:hover {
      background-color: rgba(88, 52, 139, .1);
  }

  .card-bus-tracker .list-group-stops li:first-child:before {
      top: 50%;
  }

  .card-bus-tracker .list-group-stops li:last-child:before {
      bottom: 50%;
  }

  .map_offcanvas {
      position: absolute !important;
      top: 0;
      left: 0;
      right: 0;
      bottom: 0;
  }

  .arrow_back_btn {
      background: transparent;
      color: #fff;
      font-size: 20px;
      border: 0;
      padding: 0;
      box-shadow: none;
      outline: none;
  }

  .last_update_test {
      position: absolute;
      z-index: 999;
      right: 85px;
      top: -5px;
      font-size: 14px;
      background: #ffffff;
      line-height: 18px;
      box-shadow: rgb(0 0 0 / 75%) 0px 1px 4px -1px;
      padding: 5px 10px;
      border-radius: 0px;
      color: #000000;
      font-weight: 500 !important;
      text-transform: capitalize;
  }

  /* HTML marker styles */
  .terminal-title {
      background-color: var(--baseColor);
      border-radius: 8px;
      color: #FFFFFF;
      font-size: 14px;
      padding: 10px 15px;
      position: relative;
  }

  .terminal-title::after {
      content: "";
      position: absolute;
      left: 50%;
      top: 100%;
      transform: translate(-50%, 0);
      width: 0;
      height: 0;
      border-left: 8px solid transparent;
      border-right: 8px solid transparent;
      border-top: 8px solid var(--baseColor);
  }

  