/* app.css */
:root {
    --default-border-radius: 3px;

    --dropdown-background: #fff;
    --dropdown-border: 1px solid rgb(0 0 0 / 15%);
    --dropdown-box-shadow: 0 5px 10px rgb(0 0 0 / 10%);
    --dropdown-item-color: inherit;
    --dropdown-item-hover-background: #e4eaee;
    --dropdown-button-background: #ecf4f9;
    --dropdown-separator: 1px solid #e4eaee;
}

body {
    font-family: 'Open Sans', sans-serif;
    color: #777777;
}

a {
    color: #dd3751;
    text-decoration: none;
}

h1, h2, h3, h4, h5, h6 {
    color: #444444;
}

/* TOM BAR */

header .top-bar {

}

header .top-bar .content {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

header .top-bar .content .left-side {
    display: flex;
    align-items: center;
}

header .top-bar .content .menu-bars {
    font-size: 24px;
    color: #3b3b3b;
    padding-right: 15px;
    margin-right: 10px;
}

header .top-bar .content .logo {
    display: block;
}

header .top-bar .content .logo img {
    width: 100%;
}

header .top-bar .content .info {
    display: flex;
}

header .top-bar .content .info .info-box {
    position: relative;
    display: flex;
    align-items: center;
    color: #777;
    margin-right: 100px;
}

header .top-bar .content .info .info-box .info-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 45px;
    height: 45px;
    font-size: 20px;
    color: #dd3751;
    border: 1px solid #777;
    border-radius: 50%;
    margin-right: 15px;
    z-index: 1;
}

header .top-bar .content .info .info-box .info-content {
    padding: 20px 0;
}

header .top-bar .content .info .info-box .info-content .title {
    color: #dd3751;
    font-weight: bold;
}

header .top-bar .content .info .info-box .info-content a {
    color: #777;
}

header .top-bar .content .info .info-box.phone .info-icon {
    color: #fff;
    background: #253747;
    border: 2px solid #495d6f;
}

header .top-bar .content .info .info-box.phone .info-content a {
    font-size: 1.2rem;
    font-weight: 500;
    color: #1c2b39;
}

header .top-bar .content .info .info-box.phone .icon-badge {
    position: absolute;
    top: 0;
    left: -7px;
    width: 59px;
    height: 74px;
    background: #374b5d;
    padding: 5px 5px 5px 5px;
    border-bottom-left-radius: 30px;
    border-bottom-right-radius: 30px;
    z-index: 0;
}

header .top-bar .content .info .info-box .info-content .language {

}

header .top-bar .content .info .info-box .info-content .language .btn {
    border: none;
    padding: 0;
}

@media (max-width: 576px) {
    header .top-bar {
        border-bottom: 1px solid #ececec;
    }

    header .top-bar .content .logo {
        width: 60px;
    }

    header .top-bar .content .info .info-box {
        margin-right: 0;
    }

    header .top-bar .content .info .info-box .info-icon {
        width: auto;
        height: auto;
        border: none;
        margin-right: 5px;
    }

    header .top-bar .content .info .info-box .info-content .title {
        display: none;
    }
}

@media (min-width: 768px) and (max-width: 991px) {
    header .top-bar .content .info .info-box {
        margin-right: 50px;
    }
}

@media (min-width: 992px) and (max-width: 1199px) {
    header .top-bar .content .info .info-box {
        margin-right: 50px;
    }
}


/* MAIN MENU */

header .main-menu {
    color: #fff;
    background: #1c2b39;
}

header .main-menu .container {
    display: flex;
    justify-content: space-between;
}

header .main-menu ul.menu {
    display: flex;
    list-style: none;
    padding: 0;
    margin: 0;
}

header .main-menu ul.menu > li {
    display: block;
    padding: 0 30px;
}

header .main-menu ul.menu > li > a {
    display: block;
    color: #cdd3d8;
    border-top: 4px solid transparent;
    padding: 15px 0;
}

header .main-menu ul.menu > li > a:hover {
    color: #dd3751;
    border-color: #dd3751;
}

header .main-menu .book-button {
    display: flex;
    align-items: center;
    color: #fff;
    background: #dd3751;
    padding-left: 30px;
    padding-right: 30px;
}

header .main-menu .menu-close {
    display: none;
}

@media (max-width: 1023px) {
    header .main-menu {
        position: fixed;
        width: 100%;
        max-width: 350px;
        height: 100vh;
        top: 0;
        left: 0;
        bottom: 0;
        transform: translateX(-100%);
        transition: .3s all ease;
        z-index: 8000;
    }

    header .main-menu .menu-close {
        display: block;
        border-bottom: 1px solid #33414d;
        padding: 15px 20px;
    }

    header .main-menu.open {
        transform: translateX(0);
        box-shadow: 0 0px 5px 2px rgba(0, 0, 0, 0.41);
        -webkit-box-shadow: 0 0px 5px 2px rgba(0, 0, 0, 0.41);
        -moz-box-shadow: 0 0px 5px 2px rgba(0, 0, 0, 0.41);
    }

    header .main-menu .container {
        display: block;
    }

    header .main-menu ul.menu {
        display: block;
        padding: 10px 0;
    }

    header .main-menu ul.menu > li {
        padding: 0;
    }

    header .main-menu ul.menu > li > a {
        padding: 15px 10px;
    }

    header .main-menu .book-button {
        padding: 15px 10px;
    }
}


footer {
    color: #7a8793;
    background: #233545;
}

footer a {
    color: #5e8789;
}

footer a:hover {
    color: #dd3751;
}

footer .footer-container {
    padding-top: 60px;
    padding-bottom: 60px;
}

footer .footer-title {
    font-size: 1.2rem;
    color: #fff;
    margin-bottom: 20px;
}

footer .footer-credits {
    background: #1f303f;
    padding: 20px 0;
}

footer ul.footer-links {
    --icon-space: 1.3em;
    list-style: none;
    padding: 0;
    margin: 0;
    columns: 2;
}

footer .footer-links > li {
    display: block;
    padding-left: var(--icon-space);
}

footer .footer-links > li:before {
    content: "\f0da";
    font-family: FontAwesome;
    display: inline-block;
    margin-left: calc(var(--icon-space) * -1);
    width: var(--icon-space);
}

footer .footer-links > li > a {
    display: inline-block;
    padding-bottom: 10px;
}

footer .footer-links > li > a:hover {
    text-decoration: underline;
}

footer .footer-links > li:last-child > a {
    padding-bottom: 0;
}

footer .contact-info {
    display: flex;
}

footer .contact-info i {
    display: block;
    width: 25px;
    padding-top: 4px;
}

footer .contact-info a {

}

/* SECTIONS */

.section-gray {
    background: #f9f9f9;
}

.section-pad {
    padding-top: 80px;
    padding-bottom: 80px;
}

.section-title {
}

.section-title .title:after {
    content: '';
    background: url(/assets/images/heading-style-border.png) no-repeat;
    display: block;
    height: 22px;
    width: 43px;
    margin: 10px 0;
}

.section-title.centered .title {
    text-align: center;
}

.section-title.centered .title:after {
    margin: 10px auto;
}

.section-header {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    background: url(/assets/images/section-header-banner.jpg) top center no-repeat;
    background-size: cover;
    text-align: center;
    min-height: 350px;
}

.section-header:after {
    position: absolute;
    content: '';
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background: rgba(24, 39, 52, 0.8);
}

.section-header .title {
    font-weight: bold;
    color: #fff;
    z-index: 2000;
}

@media (max-width: 576px) {
    .section-header {
        min-height: 150px;
    }
}

@media (min-width: 768px) and (max-width: 991px) {
    .section-header {
        min-height: 160px;
    }
}

.main-slider {
    position: relative;
    color: #fff;
    background: #000;
    background-image: url(/assets/images/taxi-background.jpg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}

.main-slider .overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.6);
}

.main-slider .container {
    position: relative;
    height: 800px;
    z-index: 1;
}

.main-slider .container .content {
    height: 800px;
}

.main-slider h1 {
    color: #fff;
}


section.offers {
    border-bottom: 1px solid #ececec;
}

.offer-box {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 60px 25px;
}

.offer-box .offer-icon {
    width: 50px;
    color: #ff0000;
    margin-right: 30px;
}

.offer-box .offer-icon img {
    width: 100%;
}

.offer-box .offer-title {
    font-size: 1.2rem;
    font-weight: 500;
    color: #444444;
}

@media (max-width: 576px) {
    .offer-box {
        justify-content: unset;
        padding: 20px 0;
    }
}

@media (min-width: 768px) and (max-width: 991px) {
    .offer-box {
        justify-content: unset;
        padding: 20px 25px;
    }
}

@media (min-width: 992px) and (max-width: 1199px) {
    .offer-box {
        justify-content: unset;
        padding: 60px 0;
    }
}


.section-welcome {

}

.section-welcome .welcome-image {
    padding: 0 30px;
}


.home-fleet {
    width: 100%;
    padding: 130px 0 140px;
    background: url(/assets/images/fleet-carousel-bg.jpg) no-repeat center center;
    background-size: cover;
    position: relative;
    overflow: hidden;
}

.home-fleet:after {
    position: absolute;
    content: '';
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(19, 32, 43, 0.9);
}

.home-fleet .section-title {
    position: relative;
    z-index: 2000;
}


.home-fleet .section-title .title {
    color: #fff;
}

.home-fleet .section-title .title:after {
    background: url(/assets/images/heading-style-border-bright.png) no-repeat;
}

.home-fleet .fleet-item {
    color: #fff;
    padding: 0 100px;
}

.home-fleet .fleet-item .caption {
    text-align: center;
    margin-top: 10px;
}

.home-fleet .fleet-item .caption .title {
    font-size: 1.2rem;
    font-weight: 500;
}

.home-fleet .fleet-item .caption .info {
    font-size: 0.9rem;
    font-weight: 100;
}

.home-fleet .fleet-item .caption .info .fa {
    margin-right: 5px;
}

.home-fleet .fleet-item .caption .info .separator {
    margin: 0 10px;
}

.home-fleet .nav-buttons {
    position: relative;
    display: flex;
    justify-content: space-between;
    width: 500px;
    z-index: 2000;
    margin: 20px auto 0 auto;
}

.home-fleet .nav-buttons .nav-button {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    color: #a3a3a3;
    background: transparent;
    border: 1px solid #a3a3a3;
    border-radius: 50%;
}

.home-fleet .nav-buttons .nav-button:hover {
    color: #fff;
    background: #a3a3a3;
}

@media (max-width: 576px) {
    .home-fleet .fleet-item {
        padding: 0 20px;
    }

    .home-fleet .nav-buttons {
        width: 200px;
    }
}


.section-404 {
    background: url(/assets/images/404-background.png) no-repeat center center;
    padding: 280px 0;
}

.title-404 {
    display: block;
    font-size: 150px;
    font-weight: 600;
    color: #dd3751;
    text-align: center;
}

.section-404 .btn {
    background: #575757;
}

@media (max-width: 576px) {
    .section-404 {
        padding: 100px 0;
    }
}


/* PANELS */

.panel {

}

.panel-pad-lg {
    padding: 3rem;
}

.panel-pad-md {
    padding: 2rem;
}


.panel-top-separator {
    border-top: 1px solid #fff;
}

.panel.panel-default {

}

.panel-default .panel-heading {
    color: #fff;
    background: #233545;
}

.panel-default .panel-heading.bordered {
    border-bottom: 3px solid #dd3751;
}

.panel-default .panel-heading.fit-content {
    width: max-content;
}

.panel-default .panel-heading .title {
    font-size: 1rem;
    color: #fff;
    margin: 0;
}

.panel-default .panel-body {
    background: #f9f9f9;
}

.panel-box {
    color: #333333;
    background: #fafafa;
    border: 1px solid #e8e8e8;
}

@media (max-width: 576px) {
    .panel-default .panel-heading {
        width: 100% !important;
    }

    .panel-pad-lg, .panel-pad-md {
        padding: 15px;
    }
}


/* DROPDOWN MENU */
.dropdown-menu {
    border-radius: 0;
}

/* DROP DOWN */

.dropdown-container {
    position: relative;
    width: 100%;
}

.dropdown-container .dropdown-box,
.dropdown-container ul.dropdown-box {
    position: absolute;
    top: 100%;
    min-width: max-content;
    width: 100%;
    background: #fff;
    border: var(--dropdown-border);
    border-radius: var(--default-border-radius);
    box-shadow: var(--dropdown-box-shadow);
    z-index: 5000;
}

.dropdown-container ul.dropdown-box {
    list-style: none;
    padding: 0;
    margin: 0;
}

.dropdown-container .dropdown-box.right {
    right: 0;
}

.dropdown-container .dropdown-box .separator {
    height: 1px;
    border-top: var(--dropdown-border);
}

.dropdown-container .dropdown-box .dropdown-item {
    color: #777777;
    padding: 10px;
}

.dropdown-container .dropdown-box .dropdown-item.pointer {
    cursor: pointer;
}

.dropdown-container .dropdown-box .dropdown-item:hover,
.dropdown-container .dropdown-box .dropdown-item.selected {
    background: var(--dropdown-item-hover-background);
}

.dropdown-container .dropdown-box .dropdown-item.disabled {
    color: #ccc;
}

/* BUTTONS */

.btn {
    border-radius: 0;
}

.btn-block {
    display: block;
    width: 100%;
}

.btn-primary {
    color: #fff;
    background: #dd3751;
    border: none;
}

.btn-primary:hover {
    background: #dd3751;
    border: none;
}

.btn-default {
    color: #fff;
    background: #777777;
    border: none;
}

.btn-default:hover {
    color: #fff;
    background: #777777;
    border: none;
}

.btn-default:focus, .btn-default:active {
    background: #777777 !important;
}

.btn-minus-plus {
    width: 35px;
}

.btn-content {
    display: flex;
    align-items: center;
}

.btn-accept, .btn-cancel {
    padding: 10px 50px;
}

.btn-accept .fa, .btn-cancel .fa {
    margin-right: 5px;
}

@media (max-width: 576px) {
    .btn-block-on-xs {
        display: block;
        width: 100%;
    }
}

/* Forms */

label {
    color: #444444;
}

label.small {
    font-size: 0.9rem;
}

label.semi-bold {
    font-weight: 500;
}

.form-control {
    border-radius: 3px;
}

.form-control::placeholder {
    /*font-size: 0.9rem;*/
    color: rgba(0, 0, 0, 0.4);
}

.form-tip {
    font-size: 0.7rem;
}

.mb-6 {
    margin-bottom: 5rem !important;
}

.color-red {
    color: #dd3751;
}

.text-medium {
    font-size: 1.2rem;
}

.alert p:last-child {
    margin-bottom: 0;
}

/* BREADCRUMB */

.breadcrumb-list {
    background: #f7f7f7;
    padding: 5px 0;
}

.breadcrumb-list ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

.breadcrumb-list ul li {
    display: inline-block;
    font-size: 14px;
    line-height: 22px;
    padding: 15px 0;
    font-family: 'Montserrat', sans-serif;
    font-weight: 400;
}

.breadcrumb-list ul li.active {
    color: #dd3751;
}

.breadcrumb-list ul li + li:before {
    content: '\f105';
    font-family: 'FontAwesome';
    margin-right: 5px;
    margin-left: 5px;
    font-weight: 600;
}

.breadcrumb-list ul li a {
    color: #676767;
}


/* BOOKING FORM */

.booking-form {

}

.booking-form strong {
    color: #444444;
    font-weight: 500;
}

.form-group {
    margin-bottom: 15px;
}

label.strong {
    color: #444444;
    font-weight: 500;
}


/* TABLES */

.table-list {
    margin-bottom: 0;
    background: #fff;
}

.table-list-border {
    border: 1px solid #c6d2d9;
}

.table-list tr th, .table-list tr td {
    border-bottom-color: #c6d2d9;
}


.table-grid {

}

.table-grid .tr {
    display: flex;
    align-items: center;
    border-bottom: 1px solid #ececec;
}

.table-grid .tr:after {
    content: " ";
    display: block;
    clear: both;
}

.table-grid .thead {

}

.table-grid .thead .tr {

}

.table-grid .thead .tr .th {
    font-weight: 600;
    padding: 10px 10px;
}

.table-grid .tbody {

}

.table-grid .tbody .tr .td {
    padding: 10px 10px;
}

.prices-list .location {
    width: calc(100% - 440px);
}

.prices-list .price {
    width: 110px;
    text-align: right;
}

.prices-list .distance {
    width: 110px;
    text-align: right;
}

.prices-list .duration {
    width: 110px;
    text-align: right;
}

.prices-list .caption {
    display: none;
}

@media (max-width: 576px) {
    .prices-list .tr {
        display: block;
        border: 1px solid #ececec;
        margin-bottom: 30px;
    }

    .prices-list .location {
        width: 100%;
        background: #f9f9f9;
        padding: 15px 10px !important;
    }

    .prices-list .price, .prices-list .distance, .prices-list .duration {
        float: left;
        width: 25%;
        text-align: center;
        /*background: #f9f9f9;*/
    }

    .prices-list .caption {
        display: block;
        font-size: 0.6rem;
    }
}

/* Small devices (landscape phones, 576px and up) */
@media (min-width: 577px) and (max-width: 767px) {

}

/* Medium devices (tablets, 768px and up) (col-sm) */
@media (min-width: 768px) and (max-width: 991px) {
    /*.prices-list .location {*/
    /*    width: calc(100% - 300px);*/
    /*}*/
    /*.prices-list .price {*/
    /*    width: 155px;*/
    /*}*/
    /*.prices-list .distance {*/
    /*    width: 120px;*/
    /*}*/
    /*.prices-list .duration {*/
    /*    width: 120px;*/
    /*}*/
}

/* Large devices (desktops, 992px and up) */
@media (min-width: 992px) and (max-width: 1199px) {

}

/* Extra large devices (large desktops, 1200px and up) */
@media (min-width: 1200px) {

}


/* TOURS */

.home-tours .tour {
    border: 1px solid #f0f0f0;
    border-radius: 5px 5px 0 0;
    overflow: hidden;
}

.home-tours .tour .image {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 300px;
    overflow: hidden;
    position: relative;

    -webkit-transition: all .4s ease-out;
    -moz-transition: all .4s ease-out;
    -ms-transition: all .4s ease-out;
    -o-transition: all .4s ease-out;
    transition: all .4s ease-out;
}

.home-tours .tour .image img {
    width: 130%;
    -webkit-transition: all .4s ease-out;
    -moz-transition: all .4s ease-out;
    -ms-transition: all .4s ease-out;
    -o-transition: all .4s ease-out;
    transition: all .4s ease-out;
}

.home-tours .tour:hover .image img {
    -webkit-transform: scale(1.2);
    -moz-transform: scale(1.2);
    -ms-transform: scale(1.2);
    -o-transform: scale(1.2);
    transform: scale(1.2);
}

.home-tours .tour .image:after {
    content: '';
    position: absolute;
    width: 100%;
    height: 35%;
    left: 0;
    background: rgba(0, 0, 0, 0.3);
    top: 80px;
    visibility: hidden;
    opacity: 0;

    -webkit-transition: all .4s ease-out;
    -moz-transition: all .4s ease-out;
    -ms-transition: all .4s ease-out;
    -o-transition: all .4s ease-out;
    transition: all .4s ease-out;
}

.home-tours .tour:hover .image:after {
    top: 0;
    height: 100%;
    visibility: visible;
    opacity: 1;
}


.home-tours .tour .content {
    color: #777777;
    padding: 2rem;
}

.home-tours .tour .title {
    font-size: 1.25rem;
}

.home-tours .tour .title a {
    display: block;
    height: 48px;
    color: #444444;
}

@media (max-width: 576px) {
    .home-tours .tour .title a {
        height: unset;
    }

    .home-tours .tour .image {
        height: unset;
        max-height: 300px;
    }
}

@media (min-width: 768px) and (max-width: 991px) {
.home-tours .tour .image {
        height: 220px;
    }
}


.tour-details .title {
    font-size: 2rem;
}

.tour-details .image {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 350px;
    overflow: hidden;
}

.tour-details .image .duration {
    position: absolute;
    left: 0;
    bottom: 0;
    text-align: right;
    color: #fff;
    background: #dd3751;
    padding: 10px 15px;
}


.tour-images {
    background: #fafafa;
    padding: 20px 30px;
}

.tour-images .image {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 250px;
    overflow: hidden;
    margin-top: 10px;
    margin-bottom: 10px;
    cursor: pointer;
}

.tour-images .image img {
    width: 100%;
    height: auto;
}


.side-tours {

}

.side-tours .tour {
    display: flex;
}

.side-tours .tour .image {
    /*background: #ccc;*/
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    width: 100px;
    height: 80px;
    border-radius: 5px;
}

.side-tours .tour .image img {
    width: auto;
    min-width: 100%;
    height: 100%;
}

.side-tours .tour .content {
    /*background: #efefef;*/
    width: calc(100% - 100px);
    padding-left: 10px;
}

.side-tours .tour .content .title {
    font-size: 1rem;
    height: 50px;
}

.side-tours .tour .content .title a {
    display: block;
    color: inherit;
}

.side-tours .tour .content .title a:hover {
    color: #dd3751;
}


.side-tours .tour .duration {
    font-size: 0.8rem;
}


.tours-list {
}

.tours-list .tour {
}

.tours-list .tour .title {
    font-size: 1.7rem;
    height: 65px;
}

.tours-list .tour .title a {
    color: inherit;
}

.tours-list .tour .image {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 350px;
    overflow: hidden;
}

.tours-list .tour .image img {
    width: 100%;
    height: auto;
}

.tours-list .tour .image .duration {
    position: absolute;
    left: 0;
    bottom: 0;
    text-align: right;
    color: #fff;
    background: #dd3751;
    padding: 10px 15px;
}

@media (max-width: 576px) {
    .tours-list .tour {
        margin-bottom: 50px !important;
    }

    .tours-list .tour .title {
        font-size: 1.2rem;
        height: unset;
    }

    .tours-list .tour .image {
        height: unset;
        max-height: 300px;
        margin-bottom: 15px !important;
    }
}

@media (min-width: 768px) and (max-width: 991px) {
    .tours-list .tour .title {
        font-size: 1.2rem;
    }

    .tours-list .tour .image {
        height: 190px;
    }
}

@media (min-width: 992px) and (max-width: 1199px) {
    .tours-list .tour .title {
        font-size: 1.3rem;
    }

    .tours-list .tour .image {
        height: 250px;
    }
}

/* WIDGET */

.widget {

}

.widget .widget-title {
    position: relative;
    font-size: 1.4rem;
    color: #444;
    padding-left: 15px;
}

.widget .widget-title:before {
    content: '';
    position: absolute;
    top: 5px;
    left: 0;
    border-left: 4px solid;
    border-color: #dd3751;
    height: 15px;
}


/* IMAGES */

.hover-image {
    position: relative;

    -webkit-transition: all .4s ease-out;
    -moz-transition: all .4s ease-out;
    -ms-transition: all .4s ease-out;
    -o-transition: all .4s ease-out;
    transition: all .4s ease-out;
}

.hover-image:after {
    content: '';
    position: absolute;
    width: 100%;
    height: 35%;
    left: 0;
    background: rgba(0, 0, 0, 0.3);
    top: 80px;
    visibility: hidden;
    opacity: 0;

    -webkit-transition: all .4s ease-out;
    -moz-transition: all .4s ease-out;
    -ms-transition: all .4s ease-out;
    -o-transition: all .4s ease-out;
    transition: all .4s ease-out;
}

.hover-image img {
    width: 100%;
    -webkit-transition: all .4s ease-out;
    -moz-transition: all .4s ease-out;
    -ms-transition: all .4s ease-out;
    -o-transition: all .4s ease-out;
    transition: all .4s ease-out;
}

.hover-image:hover img {
    -webkit-transform: scale(1.2);
    -moz-transform: scale(1.2);
    -ms-transform: scale(1.2);
    -o-transform: scale(1.2);
    transform: scale(1.2);
}

.hover-image:hover:after {
    top: 0;
    height: 100%;
    visibility: visible;
    opacity: 1;
}


/* BOOKING FORM */

.home-book .body {
    position: relative;
}

.book-transfer {
    position: relative;
    min-height: 388px;
}

.flight-form-control {
    width: 160px;
}

.cart-step {
    position: relative;
    display: block;
    width: 30px;
    height: 30px;
    border: 2px solid #fff;
    border-radius: 50%;
    margin-right: 10px;
    font-size: 14px;
}

.cart-step .step {
    position: absolute;
    top: 3px;
    left: 5px;
    font-size: 11px;
}

.cart-step .divider {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.cart-step .total {
    position: absolute;
    right: 5px;
    bottom: 3px;
    font-size: 11px;
}

.booking-form .book-vehicles {

}

.booking-form .book-vehicles .vehicle {
    display: flex;
    align-items: center;
    justify-content: space-between;
    /*background: #f9f9f9;*/
    color: #8c77a1;
    border: 1px solid #ececec;
}

.booking-form .book-vehicles .vehicle .content-left {
    display: flex;
}

.booking-form .book-vehicles .vehicle .content-left .content {
    padding: 20px 20px;
}

.booking-form .book-vehicles .vehicle .content-right {
    /*display: flex;*/
    width: 200px;
    padding: 20px;
}

.booking-form .book-vehicles .vehicle .image {
    width: 135px;
    height: 135px;
    background: #f9f9f9;
    padding: 10px;
}

.booking-form .book-vehicles .vehicle .image img {
    width: 100%;
}

.booking-form .book-vehicles .vehicle .price {
    height: 24px;
    text-align: right;
}

.booking-form .book-vehicles .vehicle .name {
    font-weight: 500;
    color: #6c4444;
}

@media (max-width: 576px) {
    .booking-form .book-vehicles .vehicle {
        display: block;
    }

    .booking-form .book-vehicles .vehicle .content-right {
        width: 100%;
    }

    .booking-form .book-vehicles .vehicle .price {
        height: auto;
        text-align: center;
    }
}

.summary .line {
    display: flex;
    align-items: center;
    width: 100%;
    padding: 4px 0;
}

.summary .line:first-child {
    padding-top: 0;
}

.summary .line:last-child {
    padding-bottom: 0;
}

.summary .line .caption {
    width: 180px;
    font-weight: 100;
    padding-right: 10px;
}

.summary .line .value {
    width: calc(100% - 180px);
    padding-left: 10px;
}

.summary .address {
    color: #ff0000;
}

.summary .summary-title {
    color: #444444;
    font-weight: 500;
    margin-bottom: 4px;
}

.summary .not-set {
    color: #dd3751;
    font-weight: 500;
}

.summary .panel {
    background: #fff;
}

.summary .total-price {
    font-size: 20px;
    color: #dd3751;
}


@media (max-width: 576px) {
    .summary .line .caption {
        width: 115px;
        padding-right: 5px;
    }

    .summary .line .value {
        width: calc(100% - 115px);
        padding-left: 5px;
    }
}

/* TRANSFER LOCATION CONTROL */

.transfer-location {
    position: relative;
}

.transfer-location.with-icon .form-control {
    padding-left: 30px;
}

.transfer-location .location-icon {
    position: absolute;
    left: 11px;
    top: 11px;
}

.transfer-location .info {
    position: absolute;
    left: 11px;
    top: -6px;
    height: max-content;
    font-size: 10px;
    line-height: 1;
    color: #999;
    background: #fff;
    border-radius: 2px;
    padding: 1px 2px;
}

.transfer-location .info.bottom {
    top: unset;
    bottom: -4px;
}

.location-item a {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.location-item a .region {
    color: #666;
    font-style: italic;
    font-weight: 100;
}

.home-book .transfer-location .location-icon {
    color: #ccc;
}

@media (max-width: 576px) {
    .location-item {
        padding: 5px 10px !important;
    }

    .location-item a {
        display: block;
    }

    .location-item a .region {
        font-size: 14px;
    }
}


/* MODAL */

.modal-overlay {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.8);
    z-index: 9000;
    overflow-y: auto;
}

.modal-overlay .wrapper {
    position: absolute;
    width: 100%;
    padding: 10px 0;
}

.modal-panel {
    width: max-content;
    background: #fff;
    border-radius: 2px;
    padding-top: 5px;
    transition: .3s all ease;
    margin: 0 auto;
}

.modal-md {
    width: 800px;
}


@media (max-width: 576px) {
    .modal-panel {
        width: calc(100vw - 20px);
    }
}

@media (min-width: 992px) {
    .modal-panel {
        min-width: 450px;
    }
}

@media (min-width: 1200px) {
    .modal-overlay .wrapper {
        padding: 30px 0;
    }
}


/* TRANSFER DATA */

.transfer-details {
}

.transfer-details .transfer-heading {
    color: #fff;
    background: #233545;
    padding: 10px 20px;
}

.transfer-details .transfer-heading-1 {
    color: #333;
    background: #e8e8e8;
    padding: 10px 20px;
}

.transfer-details .transfer-body {
    background: #fafafa;
    border: 1px solid #e8e8e8;
    padding: 20px 20px;
}

.transfer-details .details-row {
    display: flex;
    margin-bottom: 6px;
}

.transfer-details .details-row:last-child {
    margin-bottom: 0;
}

.transfer-details .details-row .col-left {
    width: 200px;
    padding-right: 20px;
}

.transfer-details .details-row .col-right {
    color: #333333;
}

.transfer-details .notes {
    font-style: italic;
    /*background: #f1f1f1;*/
    background: #fff;
}

.transfer-details .total-price {
    font-size: 18px;
    font-weight: 500;
}

@media (max-width: 576px) {
    .transfer-details .details-row.d-xs-block {
        margin-bottom: 15px;
    }

    .transfer-details .details-row .col-left {
        width: 50%;
    }
}

/* CONTACT */

.contact-icon {
    display: block;
    font-size: 35px;
    color: #dd3751;
}

.contact-link {
    color: #333333;
}

/* GENERAL MEDIA QUERIES */

/* Extra small devices */
@media (max-width: 576px) {
    .hidden-xs {
        display: none !important;
    }

    .d-xs-block {
        display: block !important;
    }
}

/* Small devices (landscape phones, 576px and up) */
@media (min-width: 577px) and (max-width: 767px) {
    .hidden-sm {
        display: none !important;
    }
}

/* Medium devices (tablets, 768px and up) (col-sm) */
@media (min-width: 768px) and (max-width: 991px) {
    .hidden-md {
        display: none !important;
    }
}

/* Large devices (desktops, 992px and up) */
@media (min-width: 992px) and (max-width: 1199px) {
    .hidden-lg {
        display: none !important;
    }
}

/* Extra large devices (large desktops, 1200px and up) */
@media (min-width: 1200px) {
    .hidden-xl {
        display: none !important;
    }
}


/* CALENDAR */

.calendar-control {
    position: relative;
}

.calendar-control .calendar {
    position: absolute;
    z-index: 7000;
}

.calendar-control .date-input {
    cursor: pointer;
}

.calendar-control .icon {
    position: absolute;
    top: 50%;
    right: 20px;
    transform: translateY(-50%);
}

@media (max-width: 576px) {
    .calendar-control .icon {
        right: 10px;
        font-size: 13px;
    }
}

.calendar {
    width: 270px;
    font-size: 0.8rem;
    color: #333;
    background: #fff;
    border: 1px solid #dddddd;
    border-radius: 3px;
    padding: 5px;
}

.calendar .heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    color: #000000;
    margin-bottom: 5px;
}

.calendar .heading .month-nav {
    line-height: 1;
    padding: 5px;
    cursor: pointer;
}

.calendar .heading .month-nav:hover {
    background: #eeeeee;
}

.calendar .heading .title {
    font-weight: 500;
}

.calendar .body {
    color: #99b2d8;
}

.calendar .body:after {
    content: "";
    clear: both;
    display: table;
}

.calendar .footer {
    text-align: center;
}

.calendar .weekday {
    display: flex;
    float: left;
    width: 14.285714%;
    font-weight: 500;
    color: #333;
    padding: 5px;
    align-items: center;
    justify-content: center;
}

.calendar .day {
    display: flex;
    align-items: center;
    justify-content: center;
    float: left;
    width: 14.285714%;
    color: #c2a599;
    border-radius: 3px;
    padding: 6px 0;
    cursor: pointer;
}

.calendar .day:hover {
    background: #eeeeee;
}

.calendar .day.active {
    color: #333333;
}

.calendar .day.disabled {
    color: #dbdbdb;
}

.calendar .day.selected {
    color: #fff;
    background: #357ebd;
}

/* TIME CONTROL */

.time-control {
    position: relative;
}

.time-control .input-container {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 38px;
    cursor: pointer;
    opacity: 0;
}

.time-control .dropdown {
    position: absolute;
    display: flex;
    width: 100%;
    max-height: 150px;
    color: #333;
    background: #fff;
    border: 1px solid #dddddd;
    border-radius: 3px;
    z-index: 9000;
    overflow: hidden;

}

.time-control .dropdown .hour-part, .time-control .dropdown .minute-part {
    width: 50%;
    /*height: 100%;*/
    background: #ccc;
    overflow-y: auto;
}

.time-control .dropdown .time-item {
    padding: 2px 0;
    cursor: pointer;
    text-align: center;
}

.time-control .dropdown .time-item.selected {
    color: #fff;
    background: #ff0000;
}

/* LOADER */
.loader {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(255, 255, 255, 0.5);
    z-index: 9000;
}

.loader .loader-image {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.loader .loader-image img {
    width: 100%;
}

