/*------------------------------------------
Project Name : Travel In
Desgined By  : sharjeelanjum.com
Developed By : sharjeel;
Date        :  01/February/2024;

Table Of Index
------------------
1. Base css
2. Typography css
3. Header css
4. Banner css
5. Booking Form css
6. About Us css
7. Counter css
8. Services css
9. Support Team css
10. Testimonials css
11. Blog css
12. contact form css
13. Footer css
14. Media Quries css
15. Tours Module css
------------------------------------------*/

@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700&family=Open+Sans:wght@300;400;500;600;700;800&display=swap');

:root {
    --primary-one: #0b568e;
    --primary-color: #0b568e;
    --primary-dark: #094a7a;
    --secondary-color: #f8b93a;
    --primary-text-color: #2d2e2f;
    --primary-five-light: #ffeddf;
    --success-color: #0ac51a;
    --white: #ffffff;
    --black: #000000;
    --dark-bg: #282626;
    --light-bg: #fff1db;
    --soft-bg: #F6F6F6;
    --primary-size: 16px;
    --heading-size: 48px;
    --sub-size: 24px;
    --heading-3: 18px;
    --heading-4: 36px;
    --heading-5: 30px;
    --font-bold: 700;
    --font-med: 500;
    --font-semi: 600;
    --font-reg: 400;
    --font-heading: 'Montserrat', sans-serif;
    --font-open: "Open Sans", sans-serif;
}




html,
body {
    min-height: 100%;
}

body {
    background: #ffffff;
    font-family: var(--font-open);
}

/*---------------------------------------
   Typorgraphy              
-----------------------------------------*/

h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: var(--font-heading);
}

h1,
h2,
h4 {
    font-weight: 500;
}

h1 {
    font-size: 50px;
}

h2 {
    color: #272727;
    font-size: 36px;
    line-height: 52px;
    margin: 0px;
}

h3 {
    font-size: 16px;
    line-height: 32px;
}

h4 {
    color: #454545;
    font-size: 18px;
    line-height: 26px;
}

h5 {
    letter-spacing: 0.5px;
}

p {
    color: #555;
    font-size: 16px;
    line-height: 24px;
}

ul,
ol {
    list-style: none;
    padding: 0;
    margin: 0;
}

img {
    max-width: 100%;
}

/*---------------------------------------
   Buttons               
-----------------------------------------*/

.btn-success:focus {
    background-color: #000;
    color: #ffffff;
}

.section-btn {
    background: var(--primary-one);
    border-radius: 0;
    color: #ffffff;
    font-size: 18px;
    font-weight: 700;
    padding: 12px 30px;
    margin-top: 22px;
    text-transform: uppercase;
    border: none;
}

.section-btn:focus,
.section-btn:hover {
    background: #fff;
    color: #333;
}

.bg-grey {
    background: #f2f2f5;
}

/*---------------------------------------
   General               
-----------------------------------------*/

html {
    -webkit-font-smoothing: antialiased;
}

a {
    transition: ease-in-out 0.3s;
    -webkit-transition: ease-in-out 0.3s;
    -moz-transition: ease-in-out 0.3s;
    -ms-transition: ease-in-out 0.3s;
    color: var(--primary-one);
    text-decoration: none !important;
}

a:hover,
a:active,
a:focus {
    color: var(--primary-one);
    outline: none;
}

* {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

*:before,
*:after {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

::-webkit-scrollbar {
    width: 5px;
    height: 5px;
    border-radius: 50px !important;
}

::-webkit-scrollbar-track {
    background: #F1F4F7;
}

::-webkit-scrollbar-thumb {
    background: #AFB2B8;
}

::-webkit-scrollbar-thumb:hover {
    background: #AFB2B8;
}


.parallax-section {
    background-attachment: fixed !important;
    background-size: cover !important;
}

.section-title {
    margin: 0;
    padding-bottom: 50px;
    text-align: center;
}

.section-title h3 {
    position: relative;
    font-size: 36px;
    margin-bottom: 20px;
    font-weight: var(--font-bold);
    line-height: 40px;
}

.section-title h3 span {
    color: var(--primary-one);
    font-weight: 400;
}

.section-title p {
    max-width: 800px;
    margin: auto;
}

.parallax-section {
    padding: 70px 0;
    position: relative;
}

#counter,
#service,
#contact,
#address {
    text-align: center;
}



.btn-primary {
    background-color: var(--primary-one);
    color: var(--white);
    border: none;
    padding: 10px 25px;
    border-radius: 5px;
    font-weight: var(--font-bold);
    position: relative;
    overflow: hidden;
    -webkit-transition: all ease 0.3s;
    -moz-transition: all ease 0.3s;
    transition: all ease 0.3s;
}


.btn-primary:before,
.btn-dark:before,
.connectbtn:before,
.btn-sec:before {
    position: absolute;
    right: -15px;
    top: 0;
    width: 33px;
    height: 100%;
    background: var(--light-bg);
    opacity: 0.2;
    z-index: 0;
    -webkit-transform: skewX(-22deg);
    transform: skewX(-22deg);
    transition: all 0.5s ease;
    -moz-transition: all 0.5s ease;
    -webkit-transition: all 0.5s ease;
    -ms-transition: all 0.5s ease;
    -o-transition: all 0.5s ease;
    content: '';
}

.btn-primary:hover:before,
.btn-dark:hover:before,
.btn-sec:hover:before,
.connectbtn:hover:before {
    right: 0;
    width: 100%;
    -webkit-transform: skewX(0deg);
    transform: skewX(0deg);
}

.btn-primary:hover {
    background-color: #2d2e2f;
    color: var(--white);
}


.btn-sec {
    background-color: var(--secondary-color);
    color: var(--white);
    border: none;
    padding: 10px 25px;
    border-radius: 5px;
    font-weight: var(--font-bold);
    position: relative;
    overflow: hidden;
    -webkit-transition: all ease 0.3s;
    -moz-transition: all ease 0.3s;
    transition: all ease 0.3s;
}

.btn-sec:hover {
    background-color: #2d2e2f;
    color: var(--white);
}


.btn-dark {
    background-color: var(--dark-bg);
    border: none;
    color: var(--white);
    padding: 10px 30px;
    border-radius: 7px;
    display: inline-block;
    font-weight: var(--font-bold);
    text-decoration: none;
    position: relative;
    overflow: hidden;
    -webkit-transition: all ease 0.3s;
    -moz-transition: all ease 0.3s;
    transition: all ease 0.3s;
}

.btn-dark:hover {
    background-color: var(--primary-one);
    color: var(--white);
}

.btn-white {
    background-color: var(--white);
    border: 1px solid #f8b93a;
    color: var(--black);
    padding: 10px 30px;
    border-radius: 7px;
    display: inline-block;
    font-weight: var(--font-bold);
    text-decoration: none;
    position: relative;
    overflow: hidden;
    -webkit-transition: all ease 0.3s;
    -moz-transition: all ease 0.3s;
    transition: all ease 0.3s;
}

.btn-white:before {
    position: absolute;
    right: -15px;
    top: 0;
    width: 33px;
    height: 100%;
    background: var(--primary-one);
    opacity: 0.2;
    z-index: 0;
    -webkit-transform: skewX(-22deg);
    transform: skewX(-22deg);
    transition: all 0.5s ease;
    -moz-transition: all 0.5s ease;
    -webkit-transition: all 0.5s ease;
    -ms-transition: all 0.5s ease;
    -o-transition: all 0.5s ease;
    content: '';
}

.btn-white:hover:before {
    right: 0;
    width: 100%;
    -webkit-transform: skewX(0deg);
    transform: skewX(0deg);
    background: var(--light-bg);
}

.btn-white i {
    margin-right: 5px;
    color: #9ea4ab;
}

.btn-white:hover {
    background-color: var(--dark-bg);
    color: var(--white);
}



.btn-grey {
    background-color: #eee;
    border: 1px solid #ddd;
    color: var(--black);
    padding: 11px 30px;
    border-radius: 7px;
    display: inline-block;
    font-weight: var(--font-bold);
    text-decoration: none;
    position: relative;
    overflow: hidden;
    -webkit-transition: all ease 0.3s;
    -moz-transition: all ease 0.3s;
    transition: all ease 0.3s;
}

.btn-grey:before {
    position: absolute;
    right: -15px;
    top: 0;
    width: 33px;
    height: 100%;
    background: var(--black);
    opacity: 0.1;
    z-index: 0;
    -webkit-transform: skewX(-22deg);
    transform: skewX(-22deg);
    transition: all 0.5s ease;
    -moz-transition: all 0.5s ease;
    -webkit-transition: all 0.5s ease;
    -ms-transition: all 0.5s ease;
    -o-transition: all 0.5s ease;
    content: '';
}

.btn-grey:hover:before {
    right: 0;
    width: 100%;
    -webkit-transform: skewX(0deg);
    transform: skewX(0deg);
    background: var(--light-bg);
}

.btn-grey i {
    margin-right: 5px;
    color: #9ea4ab;
}

.btn-grey:hover {
    background-color: var(--dark-bg);
    color: var(--white);
}




/*---------------------------------------
     Navigation section              
-----------------------------------------*/
.header-wrap {
    padding: 15px 30px;
    border-bottom: 1px solid #eee;
    position: relative;
    z-index: 1050;
    background: #fff;
}

.logo {
    margin-top: 5px;
}

.header-wrap .navbar {
    padding: 0;
    margin-top: 0;
}

.navbar-nav li {
    padding: 0px 15px 0px 20px;
}

.navbar-expand-lg .navbar-nav .nav-link {
    padding: 10px 0;
    font-size: 15px;
    font-weight: var(--font-med);
    font-family: var(--font-heading);
    position: relative;
}

.navbar-light .navbar-nav .nav-link:after {
    width: 0;
    height: 3px;
    background-color: var(--primary-one);
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    -webkit-transition: all .3s ease;
    -moz-transition: all .3s ease;
    transition: all .3s ease;
}

.navbar-light .navbar-nav>.nav-link.active:after,
.navbar-nav li:hover>.nav-link:after {
    width: 100%;
}

.navbar-light .navbar-nav .nav-link.active,
.navbar-light .navbar-nav .show>.nav-link {
    color: var(--primary-one);
}

.navbar-expand-lg .navbar-nav .nav-link {
    color: var(--primary-text-color);
}

.navbar-expand-lg .navbar-nav>.nav-link:hover {
    color: var(--primary-one);
}

.navbar-light .navbar-toggler {
    display: none;
}

.close-toggler {
    display: none;
}

.navbar-nav li:last-child {
    padding-right: 0;
}

.navbar-nav li.dropdown img {
    width: 40px;
    height: 40px;
    border-radius: 50%;
}

.header-wrap .navbar .dropdown-menu {
    padding: 10px 5px;
    min-width: 300px;
    top: 100% !important;
    left: auto !important;
    right: 0;
    box-shadow: 0 4px 13px -5px rgba(0, 0, 0, 0.5);
    border-color: #ddd;
}

.header-wrap .navbar .dropdown-menu .nav-link {
    color: #555;
    font-size: 14px;
}

.header-wrap .navbar .dropdown-menu .nav-link i {
    color: #d1d5db;
    margin-right: 8px;
}

.sticky-wrapper {
    width: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1000
}

.navbar {
    border-radius: 0;
}

.custom-navbar {
    border: none;
    margin-bottom: 0;
    padding: 6px 0;
    width: 100%;
}

.is-sticky .custom-navbar {
    background: #fff;
    -moz-box-shadow: 0 10px 33px rgba(0, 0, 0, .1);
    -webkit-box-shadow: 0 10px 33px rgba(0, 0, 0, .1);
    box-shadow: 0 10px 33px rgba(0, 0, 0, .1);
}

.custom-navbar .navbar-brand {
    color: #fff;
    font-weight: bold;
    font-size: 32px;
    line-height: 35px;
}

.custom-navbar .navbar-brand span {
    color: var(--primary-one);
}

.custom-navbar .nav li a {
    font-size: 14px;
    font-weight: bold;
    color: #fff;
    line-height: 40px;
    letter-spacing: 0.3px;
    padding-right: 20px;
    padding-left: 20px;
    -webkit-transition: all ease-in-out 0.4s;
    transition: all ease-in-out 0.4s;
}

.custom-navbar .nav li a:hover {
    background: transparent;
    color: #ffffff;
}

.custom-navbar .nav li .calltxt {
    font-size: 16px;
    font-weight: bold;
    color: #fff;
    display: block;
    margin-top: 15px;
    border: 1px dashed #fff;
    padding: 7px 20px;
    -webkit-transition: all ease-in-out 0.4s;
    transition: all ease-in-out 0.4s;
}

.is-sticky .custom-navbar .nav li a {
    color: #999;
}

.is-sticky .custom-navbar .nav li a:hover {
    color: #333;
}

.is-sticky .custom-navbar .navbar-brand {
    color: var(--primary-one);
    line-height: 20px;
}

.is-sticky .custom-navbar .navbar-brand span {
    color: #333;
}

.is-sticky .custom-navbar .nav li .calltxt {
    background: var(--primary-one);
    border-color: var(--primary-one);
    margin-top: 10px;
    color: #fff;
}

.custom-navbar .navbar-nav>li>a:hover,
.custom-navbar .navbar-nav>li>a:focus {
    background-color: transparent;
}

.custom-navbar .nav li.active>a {
    background-color: transparent;
    color: var(--primary-one);
}

.custom-navbar .navbar-toggle {
    border: none;
    padding-top: 10px;
}

.custom-navbar .navbar-toggle {
    background-color: transparent;
}

.custom-navbar .navbar-toggle .icon-bar {
    background: var(--primary-one);
    border-color: transparent;
}

.navbar-collapse.in {
    overflow: visible;
    max-height: none;
    background: var(--primary-one);
    padding: 0 30px;
}

.navbar-collapse.in .nav li.active a {
    color: #000;
}

.is-sticky .custom-navbar .nav li a {
    line-height: 24px;
}

@media(min-width:768px) {
    .custom-navbar {
        border-bottom: 0;
    }

    .custom-navbar.top-nav-collapse {
        background: rgba(0, 0, 0, 0.7);
        padding: 6px 0;
    }
}

/*---------------------------------------
    Home section              
-----------------------------------------*/

#home {
    background: url(../images/home-bg.jpg) no-repeat bottom;
    background-size: cover;
    color: #ffffff;
    position: relative;
    padding-bottom: 100px;
}

#home h3 {
    color: #f0f0f0;
}

#home .overlay {
    background: rgba(0, 0, 0, 0.3);
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.slide-text {
    margin-top: 0;
    text-align: center;
    margin-bottom: 40px;
}

.slide-text h1 {
    margin-top: 0;
    font-weight: var(--font-bold);
    font-size: 44px;
    text-shadow: 0px 9px 18px rgba(0, 0, 0, 0.4);
}

.slide-text h3 {
    font-size: 30px;
}

.slide-text p {
    color: #fff;
    line-height: 24px;
    max-width: 770px;
    margin: 0 auto;
    font-size: 18px;
    text-shadow: 0px 5px 15px rgba(0, 0, 0, 0.3);
}

.slide-text h3 a span.wrap {
    background: #fff;
    padding: 7px 20px;
}

#js-rotating {
    border: 1px solid #fff;
    padding: 10px 20px;
    display: inline-block;
}

.fade-text {
    text-align: center;
}

.fade-text h3 a span.wrap {
    color: var(--secondary-color);
}

.fade-text h3 {
    font-size: 30px;
    background: #fff;
    padding: 15px;
    border-radius: 50px;
    position: relative;
    max-width: 600px;
    margin: 0 auto;
    margin-top: -30px;
}

/*Banner Form*/

.nav-tabs {
    margin-bottom: 0;
    border-bottom: none;
}

.nav-tabs .nav-link {
    background: var(--secondary-color);
    color: var(--white);
    border: none;
    margin-right: 5px;
    margin-bottom: 0;
    padding: 10px 25px;
}

.nav-tabs .nav-link.active {
    color: var(--primary-one);
}



.searchintbox {
    background: #fff;
    padding: 20px;
    border-radius: 0 15px 15px 15px;
}

.searchintbox label {
    color: #333;
    text-align: left;
    font-size: 14px;
    margin-bottom: 5px;
}

.form-control {
    width: 100%;
    height: auto;
    line-height: normal;
    border: 1px solid rgba(4, 0, 23, 0.1);
    border-radius: 6px;
    padding: 12px 20px;
    font-size: 16px;
    color: #333;
    appearance: auto;
}

.form-control:focus {
    box-shadow: none;
}

.bformBox {
    background: var(--primary-one);
    padding: 40px;
    position: relative;
    box-shadow: 0px 0px 20px rgba(0, 0, 0, 0.2);
}

.bformBox.nomr {
    margin-top: 0;
}

.bformBox h3 {
    color: #fff;
    margin: 0 0 30px 0;
    text-align: center;
    font-size: 36px;
    font-weight: 700;
}

.bformBox .formrow {
    margin-bottom: 20px;
}

.bformBox .formrow .form-control {
    height: auto;
    border-radius: 0;
    padding: 10px 15px;
    font-size: 22px;
    border-color: #ddd;
    box-shadow: none;
    color: #999;
    border: none;
    background: #fff;
}

.bformBox .formrow textarea.form-control {
    height: 100px;
}

.bformBox .formrow .bootstrap-select {
    padding: 0;
    background: none;
}

.bformBox .formrow .dropdown-toggle {
    padding: 10px 15px;
    border-radius: 0;
    font-size: 22px;
    color: #999;
    border: none;
    z-index: 1;
}

.bformBox .formrow .dropdown-toggle:hover,
.bformBox .formrow .dropdown-toggle:active,
.bformBox .formrow .dropdown-toggle:focus {
    background: #fff;
}

.bformBox .input-group-addon {
    background: #eee;
    color: #444;
    font-size: 16px;
    border-color: #eee;
    padding: 6px 20px;
}

.formrow .dropdown-menu .form-control {
    border: 1px solid #ddd;
    font-size: 16px;
    margin-bottom: 10px;
}

.formbtn {
    text-align: center;
    margin-top: 10px;
}

.formbtn .btn {
    background: #333;
    font-size: 18px;
    color: #fff;
    padding: 12px 30px;
    text-transform: uppercase;
    border-radius: 0;
    font-weight: 700;
}

.formbtn .btn:hover {
    background: rgba(0, 0, 0, 0.5);
}

/*---------------------------------------
   Cars List section              
-----------------------------------------*/
.destinationList ul li h3 {
    font-size: 20px;
    font-weight: 700;
    color: var(--primary-one);
    margin: 0;
    padding: 15px 0 0px 0;
}

.destinationList ul li .subtitle {
    color: #888;
    text-transform: uppercase;
    font-size: 14px;
    margin-bottom: 20px;
    position: relative;
    padding-bottom: 20px;
}

.destinationList ul li .subtitle:after {
    position: absolute;
    width: 40px;
    height: 5px;
    background: var(--primary-one);
    content: '';
    left: 0;
    bottom: 0;
}

.destinationList ul li {
    margin-bottom: 30px;
}

.locwrap {
    font-size: 14px;
}

.destinationList ul li .imgbox {
    overflow: hidden;
    border-radius: 10px;
}

.destinationList ul li .imgbox img {
    -webkit-transition: all 0.5s ease;
    -moz-transition: all 0.5s ease;
    -o-transition: all 0.5s ease;
    -ms-transition: all 0.5s ease;
    transition: all 0.5s ease;
    width: 100%;
}

.destinationList ul li:hover .imgbox img {
    -ms-transform: scale(1.1);
    -moz-transform: scale(1.1);
    -webkit-transform: scale(1.1);
    -o-transform: scale(1.1);
    transform: scale(1.1);
}

.comprating i {
    color: #ffae00;
    display: inline-block;
}

.comprating {
    font-size: 14px;
    margin-bottom: 7px;
}

.location {
    padding: 0 0 10px 0;
    color: #999;
}

.locwrap .meta {
    padding: 0 0 10px 0;
}

.locwrap .meta span {
    display: inline-block;
    margin-bottom: 10px;
    margin-right: 4px;
    padding: 10px;
    border: 1px solid #eee;
    color: #777;
    border-radius: 5px;
}

.locwrap .meta span i {
    color: #888;
}

.locwrap .prices {
    padding: 0 0 15px 0;
    font-size: 30px;
    line-height: 30px;
    font-weight: 700;
    color: var(--secondary-color);
}

.locwrap .prices span {
    font-size: 16px;
    font-weight: 400;
    color: #555;
}

.locwrap .buttons {
    padding: 0;
}

.locwrap .buttons a {
    display: inline-block;
    background: #555;
    color: #fff;
    padding: 10px 20px;
    border-radius: 40px;
    font-size: 16px;
}

.locwrap .buttons a:hover {
    background: var(--primary-one);
}

.owl-nav {
    text-align: center;
    margin-top: 20px;
}

.owl-nav button.owl-prev,
.owl-nav button.owl-next {
    width: 36px;
    height: 36px;
    border: 1px solid #eee !important;
    border-radius: 50%;
    margin: 0 5px;
    background: #fff !important;
}

.owl-nav button span {
    line-height: 30px;
    display: block;
    color: #000;
}

.owl-nav button:hover {
    border-color: var(--primary-one) !important;
}

/* Flights */
.flightbox {
    background: #fff;
    border-radius: 10px;
    margin-bottom: 30px;
    transition: all 0.5s ease;
    overflow: hidden;
    border: 1px solid #eee;
}

.flightimg {
    position: relative;
}

.flightint {
    padding: 20px;
}

.flightbox:hover {
    box-shadow: rgba(0, 0, 0, 0.25) 0px 25px 50px -12px;
}

.flightcom {
    margin: 15px;
    width: 50px;
    height: 50px;
    border: 1px solid #eee;
    border-radius: 50%;
    background: #fff;
    overflow: hidden;
}

.flightcom img {
    width: 50px;
    height: 50px;
    object-fit: contain;
}

.flightcom a {
    font-weight: var(--font-bold);
    color: var(--primary-one);
}

.flightbox h3 {
    line-height: 24px;
    margin-bottom: 10px;
}

.flightbox h3 a {
    font-size: 20px;
    color: #000;
}

.flightbox h3 a:hover {
    color: var(--secondary-color);
}

.flightbox p {
    margin-bottom: 5px;
    color: #666;
}

.flightbox p i,
.cabine i {
    color: #999;
}

.cabine {
    color: var(--secondary-color);
    margin-bottom: 5px;
}

.flightbox .price {
    font-size: 16px;
    margin-bottom: 10px;
}

.flightbox .price strong {
    font-size: 20px;
    color: var(--primary-one);
}

.flightbox .btn-primary {
    padding: 10px 20px;
    font-size: 14px;
}


/* Destinations */
.destibox {
    text-align: center;
    margin-bottom: 30px;
}

.destimg {
    width: 180px;
    height: 180px;
    border-radius: 50%;
    overflow: hidden;
    margin: 0 auto;
}

.destimg img {
    transition: .6s;
    object-fit: cover;
}

.destibox:hover .destimg img {
    transform: scale(1.15);
}

.destibox h4 {
    font-size: 18px;
    font-weight: var(--font-bold);
    margin-top: 10px;
}



/* Widgets */
.hotelwidget {
    background: url(../images/book-hotels.jpg) no-repeat;
    background-size: cover;
    padding: 60px;
    border-radius: 15px;
    height: 500px;
}

.hotelwidget h2,
.fligtwidget h2 {
    font-weight: var(--font-bold);
    font-size: 60px;
    color: var(--white);
    margin-bottom: 10px;
}

.hotelwidget h3,
.fligtwidget h3 {
    font-size: 36px;
    color: var(--white);
    margin-bottom: 30px;
    line-height: 40px;
}



.fligtwidget {
    background: url(../images/book-flight.jpg) no-repeat;
    background-size: cover;
    padding: 60px;
    border-radius: 15px;
    height: 500px;
}

.topaircompany a {
    display: block;
    border: 1px solid #eee;
    text-align: center;
    padding: 10px;
    border-radius: 5px;
}

.topaircompany {
    justify-content: center;
}

.topaircompany li {
    text-align: center;
}

.topaircompany img {
    display: inline-block;
    height: 64px;
    object-fit: contain;
}

.arilinebox {
    display: block;
    border: 1px solid #eee;
    text-align: center;
    padding: 10px;
    border-radius: 5px;
}


.searchfilter h4 {
    font-weight: 700;
    font-size: 20px;
    margin-bottom: 15px;
}

.txtfilter li {
    margin-bottom: 10px;
}

.txtfilter li a {
    font-size: 14px;
    color: #333;
}

ul.hotelslist li {
    margin-bottom: 0;
}


/*---------------------------------------
   Counter section              
-----------------------------------------*/

#counter {
    background: var(--primary-one);
    background-size: cover;
    background-attachment: fixed;
    padding: 40px 0
}

.animatebg {
    background: #0562da;
    -webkit-animation: bannerbg 5s linear 2s infinite alternate;
    /* Safari 4.0 - 8.0 */
    animation: bannerbg 5s linear 2s infinite alternate;
}

/* Safari 4.0 - 8.0 */
@-webkit-keyframes bannerbg {
    0% {
        background-color: #0562da;
    }

    25% {
        background-color: #fec107;
    }

    50% {
        background-color: #c90157;
    }

    75% {
        background-color: #00bef9;
    }

    100% {
        background-color: #00bef9;
    }
}

/* Standard syntax */
@keyframes bannerbg {
    0% {
        background-color: #0562da;
    }

    25% {
        background-color: #fec107;
    }

    50% {
        background-color: #c90157;
    }

    75% {
        background-color: #00bef9;
    }

    100% {
        background-color: #00bef9;
    }
}

#counter .counter-number {
    display: block;
    color: #fff;
    font-size: 60px;
    line-height: 60px;
    font-weight: var(--font-bold);
}

#counter span {
    color: #fff;
    font-weight: 400;
    text-transform: uppercase;
}

.counter-icon {
    font-size: 60px;
    margin-bottom: 5px;
    color: #f8b93a;
}

/*********************************************
		Revolution slider options
**********************************************/
.tp-banner-container {
    position: relative;
    z-index: 1;
    padding: 0;
    width: 100%;
}

.tp-banner {
    position: relative;
    width: 100%;
}

.tp-banner ul {
    padding: 0;
    margin: 0;
}

.tp-caption {
    line-height: normal !important
}

.tp-caption a {
    color: inherit !important;
}

.tp-bullets.simplebullets.round .bullet {
    border: 3px #fff solid;
    border-radius: 50%;
    background-image: none !important;
}

.tparrows {
    width: auto !important;
    height: auto !important;
    background-image: none !important;
}

.tp-arr-allwrapper {
    margin: 0 10px;
    width: 50px;
    height: 60px;
}

.tp-arr-allwrapper:hover .tp-arr-iwrapper {
    color: #fff;
}

.tp-arr-iwrapper {
    color: #fff;
    text-align: center;
    font-size: 30px;
    font-family: 'FontAwesome';
    line-height: 60px;
}

.tp-leftarrow .tp-arr-iwrapper:before {
    content: "\f104";
}

.tp-rightarrow .tp-arr-iwrapper:before {
    content: "\f105";
}

.slide-h1 {
    margin: 5px 0 !important;
    padding: 0 0 10px !important;
    padding-bottom: 5px !important;
    color: #444;
    text-transform: uppercase;
    font-weight: bold;
    font-size: 57px;
}

.slide-h2 {
    margin: 5px 0 !important;
    padding: 0 0 10px !important;
    padding-bottom: 5px !important;
    color: #555;
    font-weight: bold;
    font-size: 55px;
    line-height: 100%;
}

.big-font {
    text-transform: uppercase;
    font-weight: 800;
    font-size: 60px;
}

.large-desc {
    font-size: 16px;
}

.slide-h3 {
    color: #fff;
    font-size: 31px;
    line-height: 100%;
}

.slide-h3 span {
    text-transform: uppercase;
    font-weight: bold;
}

.slide-head {
    text-transform: uppercase;
    font-weight: 900;
    font-size: 30px;
}

.slide-desc {
    font-size: 22px;
    line-height: 150%;
}

.ui-widget.ui-widget-content {
    border: none;
    box-shadow: 0 0 30px rgba(0, 0, 0, 0.1);
}

.ui-menu .ui-menu-item-wrapper {
    position: relative;
    padding: 7px 15px;
}

.main-title {
    text-transform: uppercase;
    font-weight: 800;
    font-size: 70px;
}

.icon-cont {
    padding: 15px 40px;
    border-radius: 10px;
    text-align: center;
}

.icon-cont:after {
    position: absolute;
    bottom: -10px;
    left: 40%;
    z-index: 5;
    display: inline-block;
    width: 0;
    height: 0;
    border-width: 10px 10px 0 10px;
    border-style: solid;
    content: "";
}

.icon-cont i {
    margin-bottom: 10px;
    color: #fff;
    font-size: 50px;
}

.icon-cont span {
    display: block;
    padding: 0 0 5px;
    color: #fff;
    text-align: center;
    font-size: 18px;
}

a.wit-btn {
    background: #fff;
    color: #333 !important;
    text-transform: uppercase;
}

.wit-line {
    width: 5%;
    height: 1px;
    background: #fff;
}

.vert-line {
    min-height: 270px;
    width: 1px;
    background: #fff;
}

.subTxt {
    text-transform: uppercase;
    font-weight: bold;
    font-size: 17px;
    color: #333;
}

.large-title {
    color: #222;
    font-size: 60px;
    font-weight: 800;
    text-transform: uppercase !important;
}

.large-light-title {
    color: #787878 !important;
    font-size: 70px;
    font-weight: lighter;
    text-transform: uppercase;
    letter-spacing: 2px
}

.large-text {
    font-size: 20px;
    color: #000;
    font-weight: lighter;
}

.larger-text {
    font-size: 24px;
    font-weight: lighter;
    text-transform: uppercase;
}

.witTxt {
    color: #fff !important;
}

.light-font {
    font-weight: lighter !important;
    font-size: 50px;
}

.black-bg {
    background: rgba(0, 0, 0, .63);
    color: #a8a8a8;
    text-transform: none;
}

.lft-list {
    padding: 10px;
    font-size: 18px;
    color: #fff;
}

.wit-border {
    border: 1px #fff solid;
    padding: 15px 60px;
    color: #fff;
    font-size: 16px;
    text-transform: uppercase;
}

.rounded-bord {
    margin-right: 15px;
    border: 1px #fff solid;
    width: 30px;
    height: 30px;
    text-align: center;
    line-height: 30px;
    font-size: 13px;
    border-radius: 50%;
}

#vertical-ticker {
    height: 120px;
    overflow: hidden;
}

#vertical-ticker li {
    padding: 15px 20px;
    display: block;
    text-align: center;
}

.to-bottom i.fa {
    font-size: 30px;
    border: 2px #a8a8a8 solid;
    padding: 20px 22px;
    border-radius: 50%;
    -webkit-animation: bounce 2s infinite linear;
    animation: bounce 2s infinite linear;
}

.slidertext1 {
    color: #fff;
    font-size: 50px;
    font-weight: 700;
    padding: 15px 0;
    text-transform: none !important;
    font-family: 'Roboto', sans-serif;
}

.slidertext1 span {
    color: var(--primary-one);
}

.slidertext2 {
    color: #fff;
    font-size: 24px;
    font-weight: 700;
    padding: 15px 0;
    text-transform: none;
    font-family: 'Roboto', sans-serif;
}

.sliderpara {
    color: #fff;
    font-size: 18px;
    font-weight: 600;
    padding: 15px 0;
    text-transform: none !important;
}

.sliderbtn a {
    color: #fff !important;
}

.sliderbtn a:hover {
    color: #000 !important;
}

.tp-bannertimer {
    display: none;
}

@-webkit-keyframes bounce {
    0% {
        transform: translateY(0%);
    }

    50% {
        transform: translateY(-30%);
    }

    100% {
        transform: translateY(0);
    }
}

/* Mozilla Firefox 15 below */
@-moz-keyframes bounce {
    0% {
        transform: translateY(0%);
    }

    50% {
        transform: translateY(-30%);
    }

    100% {
        transform: translateY(0);
    }
}

/* Opera 12.0 */
@-o-keyframes bounce {
    0% {
        transform: translateY(0%);
    }

    50% {
        transform: translateY(-30%);
    }

    100% {
        transform: translateY(0);
    }
}

/* W3, Opera 12+, Firefox 16+ */
@keyframes bounce {
    0% {
        transform: translateY(0%);
    }

    50% {
        transform: translateY(-30%);
    }

    100% {
        transform: translateY(0);
    }
}

/*---------------------------------------
    About section              
-----------------------------------------*/

#about {
    padding: 70px 0;
}

.about-desc .section-title {
    text-align: left;
    padding-bottom: 0px;
}

.about-desc h2 {
    font-size: 36px;
    text-align: center;
    color: #272727;
    font-weight: 500;
    margin-bottom: 30px;
}

#about .about-desc h4 {
    margin-top: 0px;
    padding-bottom: 8px;
}

#about .about-desc a {
    color: #565656;
}

#about .about-desc a:hover {
    color: var(--primary-one);
}

.postimg2 {
    margin-top: 40px;
}

.circleList {
    list-style: none;
}

.circleList li {
    text-align: center;
    margin-bottom: 0;
}

.circleList li .cricle {
    color: #fff;
    font-size: 36px;
    text-align: center;
    margin: 0 auto;
    background: var(--secondary-color);
    padding: 15px 25px;
    display: inline-block;
    border-radius: 5px;
}

.circleList li .title {
    font-size: 18px;
    margin-top: 15px;
    font-weight: 700;
    margin-bottom: 10px;
    color: #000;
}

.circleList li p {
    font-size: 16px;
}

#about .team-wrapper {
    position: relative;
    margin: 0;
    padding: 0;
}

#about .team-wrapper h2 {
    color: #353535;
    font-size: 26px;
    line-height: 32px;
}

#about .team-wrapper strong {
    color: var(--primary-one);
    font-weight: 600;
}

#about .team-wrapper img {
    border-radius: 2px;
    width: 100%;
}

#about .team-wrapper .team-desc {
    background: rgba(250, 250, 250, 0.5);
    position: absolute;
    cursor: crosshair;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    opacity: 0;
    width: 100%;
    height: 100%;
    padding: 20em 4em 0 0;
    transition: all 0.4s ease-in-out;
    text-align: right;
}

#about .team-wrapper:hover .team-desc {
    opacity: 1;
    transform: scale(1.1);
}

ul.orderlist {
    list-style: none;
    margin: 20px 0 0 0;
    padding: 0
}

ul.orderlist li {
    color: #333;
    font-size: 16px;
    position: relative;
    padding: 10px 0;
    padding-left: 45px;
    line-height: 30px;
    font-weight: 700;
}

ul.orderlist li:before {
    content: '\f00c';
    font-family: 'Font Awesome 5 Free';
    position: absolute;
    font-weight: 900;
    left: 0;
    vertical-align: middle;
    color: #fff;
    background: var(--secondary-color);
    padding: 4px 8px;
    border-radius: 5px;
    line-height: 24px;
}

ul.orderlist li:nth-child(2):before {
    background: var(--primary-one);
}

ul.orderlist li:nth-child(3):before {
    background: var(--black);
}

ul.orderlist li:nth-child(4):before {
    background: var(--success-color);
}




/*********************************************
			Services Start
**********************************************/
.servicesbox {
    padding: 100px 0;
}

.servicesbox h3 {
    color: #fff;
    font-size: 36px;
    font-weight: 700;
    margin: 0 0 30px 0;
    position: relative;
}

.servicesbox p {
    color: #fff;
    font-size: 16px;
    font-family: 'Roboto', sans-serif;
    line-height: 26px;
    font-weight: 300;
    margin-top: 10px;
}

.servicesbox .readmore {
    display: inline-block;
    padding: 15px 30px;
    color: #fff;
    margin-top: 30px;
    text-transform: uppercase;
    font-weight: 600;
    background: var(--secondary-color);
    border-radius: 10px;
}

.servicesbox .readmore i {
    font-weight: 400;
    margin-left: 10px;
}

.servicesbox .readmore:hover {
    background: #fff;
    color: #333;
    text-decoration: none;
}

.dark h3 {
    color: #000;
}

.dark p {
    color: #000;
}

.bg1 {
    background: url(../images/service-bg-1.jpg) no-repeat left;
    background-size: cover;
    background-attachment: fixed;
}

.videobox {
    background: #fff;
    padding: 20px;
    border-radius: 10px;
}


/*---------------------------------------
   			How it works         
-----------------------------------------*/
.howitwrap {
    position: relative;
}

.howitwrap .section-title {
    text-align: left;
    padding-bottom: 15px;
}

.howitwrap .section-title h3:after {
    left: 0;
    margin-left: 0
}

.howitwrap .section-title h3:before {
    left: 26px;
    margin-left: 0
}

.howlist {
    list-style: none;
    margin-bottom: 20px;
}

.howlist li {
    margin-top: 30px;
}

.howlist li .howbox:after {
    display: table;
    clear: both;
    content: '';
}

.howlist li .iconcircle {
    margin-bottom: 15px;
    float: left;
    margin-right: 30px;
    width: 70px;
    height: 70px;
    border-radius: 50%;
    background: var(--primary-one);
    text-align: center;
    line-height: 50px;
}

.howlist li .iconcircle i {
    font-size: 24px;
    color: #fff;
    margin-top: 22px;
    display: block;
}

.howlist li h4 {
    font-size: 18px;
    font-weight: 700;
    color: #444;
    margin-bottom: 5px;
}

.howlist li p {
    font-size: 16px;
    line-height: 24px;
    color: #555;
}

.fullimg {
    height: 650px;
    background-repeat: no-repeat;
    -webkit-background-size: cover;
    background-size: cover;
    background-position: center center;
    width: 50%;
    float: left;
}

.stcontent {
    float: left;
    padding: 50px;
    width: 50%;
}

/*---------------------------------------
   Service section              
-----------------------------------------*/

#service .service-thumb {
    margin-bottom: 30px;
    background: var(--primary-one);
    padding: 30px;
    transition: ease-in-out 0.3s;
    -webkit-transition: ease-in-out 0.3s;
    -moz-transition: ease-in-out 0.3s;
    -ms-transition: ease-in-out 0.3s;
    border-radius: 10px;
}

#service .service-thumb:hover {
    background: var(--secondary-color);
}

#service .service-thumb h4 {
    color: #fff;
    font-size: 24px;
    margin-bottom: 10px;
}

#service .thumb-icon {
    background: rgba(0, 0, 0, 0.3);
    width: 70px;
    height: 70px;
    text-align: center;
    margin: 0 auto;
    margin-bottom: 15px;
    margin-top: 10px;
    transition: ease-in-out 0.3s;
    -webkit-transition: ease-in-out 0.3s;
    -moz-transition: ease-in-out 0.3s;
    -ms-transition: ease-in-out 0.3s;
    border-radius: 5px;
}

#service .service-thumb:hover .thumb-icon {
    background: var(--primary-one);
}

#service .service-thumb p {
    color: #fff;
    margin-bottom: 0;
}

#service .fas {
    font-size: 24px;
    margin-top: 22px;
    color: #fff;
}

.bookings-hero {
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    color: white;
    padding: 40px 0;
    text-align: center;
}

.bookings-hero .hero-title {
    font-size: 2rem;
    font-weight: 700;
    margin-bottom: 0.8rem;
}

.bookings-hero .hero-subtitle {
    font-size: 1rem;
    opacity: 0.9;
    margin-bottom: 0;
}

/*---------------------------------------
    Team section              
-----------------------------------------*/
#team {
    background: #fff;
}

.team-thumb {
    padding: 25px;
    box-shadow: rgba(0, 0, 0, 0.2) 0px 18px 50px -10px;
    border-radius: 15px;
    transition: all 0.3s ease;
}

#team .thumb-image {
    margin-bottom: 15px;
    overflow: hidden;
    transition: ease-in-out 0.3s;
    -webkit-transition: ease-in-out 0.3s;
    -moz-transition: ease-in-out 0.3s;
    -ms-transition: ease-in-out 0.3s;
}

#team .team-thumb h4 {
    margin: 0 0 5px 0;
    color: #000;
    font-size: 24px;
    font-weight: var(--font-bold);
}

#team .team-thumb p {
    padding: 0 15px;
}

#team .team-thumb h5 {
    color: #777;
    margin: 0 0 10px 0;
    font-weight: 400;
    font-size: 16px;
}

#team .team-thumb img {
    width: 100%;
    transition: transform 0.3s ease;
}

.team-thumb:hover .thumb-image img {
    transform: scale(1.05);
}

#team .contct {
    color: #666;
    padding: 6px 0;
}

#team .contct i {
    color: var(--secondary-color);
    margin-right: 7px;
}

.team-thumb:hover {
    transform: translateY(-10px);
    box-shadow: 0 15px 40px rgba(0, 0, 0, 0.15);
}

/* Social */
.social {
    margin-top: 15px;
    margin-bottom: 0;
}

.social li {
    display: inline-block;
}

.social li a {
    display: block;
    height: 36px;
    width: 36px;
    border-radius: 5px;
    ;
    color: #fff !important;
    line-height: 36px;
    text-align: center;
    text-decoration: none !important;
    background: var(--primary-one)
}

.social li a:hover {
    background: #333;
}

/*---------------------------------------
    Testimonials section              
-----------------------------------------*/
#testimonials {
    color: #fff;
    padding: 50px 0;
    background: #555 url(../images/testimonial-bg.jpg) no-repeat center;
    background-size: cover;
    background-attachment: fixed;
}

.testibox {
    -webkit-backdrop-filter: blur(50px);
    backdrop-filter: blur(50px);
    background: hsla(0, 0%, 100%, .11);
    border-radius: 20px;
    padding: 50px;
}

#testimonials h2 {
    color: #555;
}

#testimonials .section-title {
    padding-bottom: 30px;
}

.testimonialsList {
    list-style: none;
}

.testimonialsList li {
    text-align: center;
    margin: 0 0 15px 0;
}

.testimonialsList li .clientname {
    font-size: 24px;
    font-weight: 700;
    color: #fff;
    margin-top: 10px;
}

.testimonialsList li p {
    font-style: italic;
    line-height: 26px;
    color: #ccc;
    max-width: 770px;
    margin: 0 auto;
    font-size: 18px;
}

.testimonialsList li .clientinfo {
    font-weight: 400;
    color: var(--secondary-color);
}

#testimonials .section-title p {
    font-size: 18px;
    color: #fff;
}

.testimonialsList li .rating {
    color: var(--secondary-color);
    font-size: 24px;
    margin-bottom: 10px;
}

/*---------------------------------------
    Taglinewrap section              
-----------------------------------------*/
.taglinewrap {
    background: #222 url(../images/tagline-bg.jpg) no-repeat;
    background-size: cover;
    background-attachment: fixed;
    text-align: center;
    padding: 60px 0;
}

.taglinewrap h4 {
    color: #fff;
    margin-bottom: 0;
    font-size: 18px;
    letter-spacing: 5px;
}

.taglinewrap h2 {
    color: #fff;
    margin-bottom: 15px;
    font-size: 48px;
    font-weight: 400;
}

.taglinewrap p {
    color: #ccc;
    max-width: 800px;
    margin: 0 auto;
    font-size: 18px;
    line-height: 26px;
}

.taglinewrap a {
    display: inline-block;
    background: var(--primary-one);
    padding: 15px 35px;
    color: #fff;
    font-size: 20px;
    font-weight: 600;
    text-transform: uppercase;
    margin-top: 25px;
}

.taglinewrap a:hover {
    background: #fff;
    color: #000;
}


.homevideobox {
    position: relative;
    overflow: hidden;
    height: 600px;
}

.homevideocontent {
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.4);
    text-align: center;
}

.homevideocontent h3 {
    font-size: 36px;
    color: var(--secondary-color);
    margin-top: 160px;
    font-weight: 700;
    margin-bottom: 20px;
}

.homevideocontent p {
    color: #fff;
    font-size: 16px;
    max-width: 800px;
    margin: 0 auto;
}


/************************************************
           == Home Blog css ==
*************************************************/
.hmblog .seprator {
    text-align: center;
}

.hmblog .mainblogpost {
    position: relative;
}

.hmblog .postimg:before {
    left: 20px;
    right: 20px;
    bottom: 20px;
    top: 20px;
    content: '';
    border: 1px solid rgba(255, 255, 255, 0.3);
    z-index: 10;
    position: absolute;
}

.hmblog .postimg {
    overflow: hidden;
}

.hmblog .postimg img {
    display: block;
    -webkit-transition: all 0.5s ease;
    -moz-transition: all 0.5s ease;
    -o-transition: all 0.5s ease;
    -ms-transition: all 0.5s ease;
    transition: all 0.5s ease;
    width: 100%;
}

.subposts:hover img,
.mainblogpost:hover img {
    -ms-transform: scale(1.1);
    -moz-transform: scale(1.1);
    -webkit-transform: scale(1.1);
    -o-transform: scale(1.1);
    transform: scale(1.1);
}

.hmblog .postinfo {
    position: absolute;
    z-index: 20;
    left: 60px;
    bottom: 50px;
    right: 60px;
}

.hmblog .postinfo h3 a {
    display: block;
    font-size: 30px;
    font-weight: 700;
    color: #fff;
    text-shadow: 1px 1px rgba(0, 0, 0, 0.3);
}

.hmblog .date {
    background: var(--secondary-color);
    padding: 15px 20px;
    width: 80px;
    text-align: center;
    color: #fff;
    position: absolute;
    bottom: -17px;
    left: 36px;
    z-index: 10;
}

.hmblog .date strong {
    display: block;
    font-size: 30px;
}

.hmblog .date span {
    display: block;
    font-size: 18px;
    text-transform: uppercase;
}

.subposts {
    position: relative;
    margin-bottom: 30px;
}

.hmblog .subposts .postinfo h3 {
    line-height: 24px;
}

.hmblog .subposts .postinfo h3 a {
    font-size: 18px;
    text-shadow: 1px 1px rgba(0, 0, 0, 0.3);
}

.hmblog .subposts .date {
    width: auto;
    padding: 7px 15px;
    text-align: left;
    margin: 10px 0 0 0;
    display: inline-block;
    text-transform: uppercase;
    font-weight: bold;
}

.hmblog .subposts .postinfo {
    left: 40px;
    right: 40px;
    bottom: 35px;
}

/* =======================
		Blog Grid
======================= */
#blog {
    padding: 60px 0 50px 0;
}

.blogGrid {
    list-style: none;
}

.blogGrid li {
    margin-bottom: 30px;
}

.blogGrid li .postimg {
    position: relative;
    display: block;
    margin: 0;
    overflow: hidden;
}

.blogGrid li .postimg img {
    width: 100%;
    -webkit-transition: all 0.5s ease;
    -moz-transition: all 0.5s ease;
    -o-transition: all 0.5s ease;
    -ms-transition: all 0.5s ease;
    transition: all 0.5s ease;
}

.blogGrid li:hover .postimg img {
    -ms-transform: scale(1.2) rotate(5deg);
    -moz-transform: scale(1.2) rotate(5deg);
    -webkit-transform: scale(1.2) rotate(5deg);
    -o-transform: scale(1.2) rotate(5deg);
    transform: scale(1.2) rotate(5deg);
}

.postimg .date {
    font-weight: bold;
    font-size: 15px;
    color: #999;
    line-height: 20px;
}

.blogGrid li .post-header {
    margin-bottom: 15px;
    background: #333;
    padding: 25px;
}

.blogGrid li .post-header .date {
    color: #fff;
    border-bottom: 1px solid rgba(255, 255, 255, 0.15);
    padding-bottom: 10px;
}

.blogGrid li .post-header .date i {
    margin-right: 5px;
}

.blogGrid li .post-header h4 a {
    color: var(--primary-one);
}

.blogGrid li .post-header h4 a:hover {
    text-decoration: underline;
    color: #fff;
}

.blogGrid li p {
    font-size: 14px;
}

.blogGrid .readmore {
    display: inline-block;
    margin-top: 25px;
    color: #fff;
    font-weight: 600;
    padding: 10px 20px;
    background: var(--primary-one);
}

.blogGrid .readmore i {
    margin-left: 7px;
}

.blogGrid .readmore:hover {
    text-decoration: none;
    background: #000
}

.postmeta {
    margin: 10px 0 0 0;
    line-height: 24px;
    color: #999;
}

.postmeta span,
.postmeta a {
    color: #fff;
    display: inline-block;
    margin-right: 10px;
}

/*---------------------------------------
    Contact section              
-----------------------------------------*/
#contact {
    padding: 50px 0;
}

.contact {
    margin-bottom: 30px;
    border: 1px solid #eee;
    padding: 20px;
    text-align: left;
    background: #f9f9f9;
}

.contact>span {
    color: var(--primary-one);
    float: left;
    font-size: 30px;
    line-height: 55px;
    text-align: center;
    width: 60px;
    height: 60px;
    border: 1px solidvar(--primary-one);
    background: #fff;
}

.inner-page .fa-home:before {
    content: "\f015";
}

.information {
    margin-top: 5px;
    padding-left: 80px;
}

.information>strong {
    color: #000;
    display: table;
    font-size: 16px;
    font-weight: 700;
    margin-bottom: 5px;
    text-transform: uppercase;
}

.information>p {
    line-height: 22px;
    margin: 0;
}

.contact-form {
    position: relative;
}

.contact-form h4 {
    text-align: left;
    color: #333;
    font-size: 36px;
    margin: 0 0 30px 0;
    text-align: center;
    text-transform: uppercase;
    font-weight: 700;
}

.contact-form h4 span {
    color: var(--primary-one);
    font-weight: 400;
}

#contact .form-control {
    border-color: transparent;
    border-radius: 0;
    box-shadow: none;
    font-size: 18px;
    margin-bottom: 30px;
    -webkit-transition: all ease-in-out 0.4s;
    transition: all ease-in-out 0.4s;
}

#contact input {
    border: 2px solid #f0f0f0 !important;
    height: 55px;
}

#contact input:focus,
#contact textarea:focus {
    border-color: var(--primary-one) !important;
}

#contact textarea {
    background: #fff;
    border: 2px solid #f0f0f0 !important;
}

#contact button#submit {
    background-color: var(--primary-one);
    border: none;
    color: #ffffff;
    padding: 10px 30px;
    border-radius: 0;
    height: auto;
    width: 100%;
    font-weight: 700;
    text-transform: uppercase;
}

#contact button#submit:hover {
    background: #555;
    color: #ffffff;
}

#map {
    width: 100%;
    height: 400px;
    border: none;
    display: block;
    pointer-events: none;
}

.frmap {
    margin-top: 10px;
}

/*---------------------------------------
    Address section              
-----------------------------------------*/

#address {
    color: #333;
    text-align: left;
    margin-top: 10px;
}

#address .fa {
    font-size: 42px;
    color: var(--primary-one);
    float: left;
    width: 50px;
    height: 70px;
    margin-right: 15px;
}

#address h4 {
    color: #444;
    margin: 0;
}

#address p {
    color: #888;
    margin-bottom: 0
}

.address-office,
.address-phone,
.address-email {
    margin-bottom: 30px;
    clear: both;
    border: 1px solid #ddd;
    background: #fff;
    padding: 20px;
    min-height: 120px;
}

/*---------------------------------------
   Newsletter
-----------------------------------------*/
.newsletter {
    background: var(--primary-one);
    padding: 50px 0;
}

.newsletter h3 {
    margin: 0;
    font-size: 30px;
    font-weight: var(--font-bold);
}

.newsletter h3,
.newsletter p {
    color: #fff;
    margin: 0;
}

.newsletter .input-group {
    max-width: 675px;
    margin: 0 auto;
}

.newsletter .input-group:before {
    content: '\f0e0';
    font-family: 'Font Awesome 5 Free';
    position: absolute;
    left: 20px;
    top: 12px;
    color: #999;
    font-size: 24px;
    z-index: 100;
    font-weight: 900;
}

.newsletter .form-control {
    height: auto;
    padding: 10px 15px 10px 60px;
    font-size: 16px;
    border-radius: 0;
    line-height: normal;
    border: none;
}

.newsletter .btn {
    background: var(--secondary-color);
    font-size: 18px;
    font-weight: 700;
    text-transform: uppercase;
    padding: 15px 30px;
    cursor: pointer;
    border: none;
    color: #fff;
    border-radius: 0;
}

/*---------------------------------------
   Clients
-----------------------------------------*/
.our-clients {
    padding: 50px 0;
    background: #f7f7f7;
}

.our-clients .owl-controls {
    display: none !important;
}

.partnerint {
    background: #fff;
    border-radius: 10px;
    padding: 10px;
}

/*---------------------------------------
   Footer section              
-----------------------------------------*/

footer {
    background: var(--primary-one) url(../images/footer-bg.jpg) no-repeat bottom;
    background-size: cover;
    padding: 40px 0;
    text-align: center;
}

.footerlogo {
    text-align: center;
    margin-bottom: 20px;
}

.quicklinks {
    text-align: center;
    margin-bottom: 20px;
}

.quicklinks li {
    display: inline-block;
    margin: 0 5px;
}

.quicklinks li a {
    color: #ccc;
}

.quicklinks li a:hover {
    color: var(--secondary-color);
}


.socialLinks {
    margin-bottom: 20px;
}

.socialLinks a {
    font-size: 18px;
    color: #fff;
    display: inline-block;
    margin: 0 5px;
    width: 36px;
    height: 36px;
    background: var(--primary-one);
    border-radius: 5px;
}

.socialLinks a:hover {
    color: var(--primary-one);
    background: #fff;
}

.socialLinks a i {
    display: block;
    margin-top: 9px;
}

footer .footer-copyright p {
    color: #999;
    margin-bottom: 0;
}

.scrollup {
    width: 40px;
    height: 40px;
    position: fixed;
    bottom: 20px;
    right: 20px;
    display: none;
    background-color: #000;
    padding: 5px;
    opacity: 0.5;
    border-radius: 50%;
}

.scrollup i {
    color: #fff;
    display: block;
    line-height: 30px;
    text-align: center;
}

.scrollup:hover {
    opacity: 1;
    text-decoration: none;
}

.successpage {
    width: 100%;
    text-align: center;
}

.successpage h1 {
    color: #56b50f;
    font-size: 48px;
}

.successpage h2 {
    font-weight: 300;
    color: #444;
}

.successpage p {
    max-width: 770px;
    margin: 10px auto;
}

/********* Inner Page Common *********/
.pageheader {
    position: relative;
    padding: 30px 0;
    background: #f5f5f5;
}

.pageheader h1 {
    text-align: center;
    font-size: 30px;
    color: var(--primary-one);
    margin-bottom: 0;
    font-weight: var(--font-bold);
}

.pageheader p {
    text-align: center;
    margin-bottom: 0;
}


.flightinthero {
    position: relative;
    padding: 30px 0;
    background: url(../images/flights-bg.jpg) no-repeat center;
    background-size: cover;
}

.flightinthero h1 {
    text-align: center;
    font-size: 36px;
    color: white;
    margin-bottom: 0;
    font-weight: var(--font-bold);
    text-shadow: 0px 9px 18px rgba(0, 0, 0, 0.4);
}

.flightinthero p {
    text-align: center;
    margin-bottom: 0;
}


.innerpagewrap {
    padding: 50px 0;
    min-height: 400px;
    background: #f8f9fa;
}

.account-main {
    padding: 50px;
    background: #fff;
    -webkit-box-shadow: 0px 10px 50px rgba(30, 30, 30, 0.1);
    box-shadow: 0px 10px 50px rgba(30, 30, 30, 0.1);
    border-radius: 15px;
    border-bottom: 3px solid var(--primary-one);
}

.account-title h3 {
    font-size: 30px;
}

.account-title h3 span {
    color: var(--primary-one);
    font-size: 30px;
}

.postimg img {
    border-radius: 10px;
}

.leadpostimg img {
    border-radius: 10px;
}

.estprice {
    text-align: right;
}

.estprice strong {
    display: block;
    font-size: 34px;
    line-height: 36px;
}

.checklist {
    list-style: none;
}

.checklist li {
    position: relative;
    padding-left: 25px;
    font-size: 16px;
    margin-bottom: 15px;
}

.checklist li:before {
    font-family: "Font Awesome 5 Free";
    font-weight: bold;
    content: "\f00c";
    position: absolute;
    top: 2px;
    left: 0;
    color: var(--primary-one);
}

.checklist li strong {
    font-weight: 700;
}


.form-outline h5 {
    font-size: 14px;
    color: #666;
}

.form-outline ul {
    list-style: disc;
    margin-left: 20px;
}

.form-outline ul li {
    font-size: 13px;
    color: #666;
}

.form-outline p {
    font-size: 14px;
}

.form-outline input:focus {
    outline: none;
    box-shadow: none
}

.account-form-label {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

.account-form-label label {
    font-size: 14px;
    font-weight: 500;
    color: var(--clr-body-heading);
    margin-bottom: 5px;
}

.account-form-label a {
    font-size: 14px;
    color: rgba(4, 0, 23, 0.6);
    font-weight: 400;
    display: block;
    margin-bottom: 5px;
    text-decoration: none;
}

.account-bottom-text {
    text-align: center;
}

.account-bottom-text a {
    color: var(--primary-one);
    text-decoration: none;
}

.account-bottom-text p {
    margin-bottom: 0;
}

.requiredField {
    color: red;
}




.topsort {
    padding: 20px;
    background: #eee;
    margin-bottom: 30px;
    border-radius: 5px;
}


.filtersidebar {
    box-shadow: rgba(0, 0, 0, 0.2) 0px 18px 50px -10px;
    padding: 30px;
    background: #fff;
    margin-bottom: 30px;
    border-radius: 10px;
}

.filterbox {
    margin-bottom: 30px;
    padding-bottom: 30px;
    border-bottom: 1px solid #eee;
}

.filterbox h5 {
    font-weight: var(--font-bold);
    font-size: 18px;
}

.filterbox .form-check {
    margin-top: 15px;
}

.filterbox .form-check label {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.filteridebar .price-input {
    width: 100%;
    display: flex;
    margin: 0 0 35px;
}

.filterbox .price-input .field {
    width: 100%;
}

.filterbox .field input {
    width: 100%;
    outline: none;
    font-size: 19px;
    padding: 10px;
    border-radius: 5px;
    text-align: center;
    border: 1px solid #ddd;
    -moz-appearance: textfield;
}

.filterbox input[type="number"]::-webkit-outer-spin-button,
.filterbox input[type="number"]::-webkit-inner-spin-button {
    -webkit-appearance: none;
}

.filterbox .price-input .separator {
    width: 130px;
    display: flex;
    font-size: 19px;
    align-items: center;
    justify-content: center;
}

.filterbox .slider {
    height: 5px;
    position: relative;
    background: #ddd;
    border-radius: 5px;
}

.filterbox .slider .progress {
    height: 100%;
    left: 25%;
    right: 25%;
    position: absolute;
    border-radius: 5px;
    background: var(--secondary-color);
}

.filterbox .range-input {
    position: relative;
}

.filterbox .range-input input {
    position: absolute;
    width: 100%;
    height: 5px;
    top: -5px;
    background: none;
    pointer-events: none;
    -webkit-appearance: none;
    -moz-appearance: none;
}

.filterbox input[type="range"]::-webkit-slider-thumb {
    height: 17px;
    width: 17px;
    border-radius: 50%;
    background: var(--secondary-color);
    pointer-events: auto;
    -webkit-appearance: none;
    box-shadow: 0 0 6px rgba(0, 0, 0, 0.05);
}

.filterbox input[type="range"]::-moz-range-thumb {
    height: 17px;
    width: 17px;
    border: none;
    border-radius: 50%;
    background: #17a2b8;
    pointer-events: auto;
    -moz-appearance: none;
    box-shadow: 0 0 6px rgba(0, 0, 0, 0.05);
}


/* =======================
		Blog Listing
======================= */
.blogWraper {
    margin-bottom: 40px;
}

.blogList {
    list-style: none;
}

.blogList li {
    background: #fff;
    padding: 20px;
    margin-bottom: 30px;
    border: 1px solid #e4e4e4;
    border-radius: 10px;
}

.blogList li:hover {
    box-shadow: rgba(0, 0, 0, 0.25) 0px 25px 50px -12px;
    border-color: var(--primary-one);
}

.blogList li .postimg {
    position: relative;
}

.blogList li .postimg .date {
    width: 60px;
    height: 60px;
    font-weight: bold;
    font-size: 15px;
    color: #fff;
    padding: 7px 10px 0 10px;
    text-align: center;
    line-height: 20px;
    background: var(--primary-one);
    letter-spacing: 0.4px;
    outline: 3px solidvar(--primary-one);
    border: 1px solid #fff;
    position: absolute;
    left: 14px;
    top: 14px;
    z-index: 12;
}

.post-header {
    margin-bottom: 15px;
}

.post-header h4 a {
    font-size: 24px;
    color: #333;
    font-weight: 600;
}

.post-header h4 a:hover {
    color: var(--primary-one);
}

.postmeta {
    margin: 10px 0;
    font-size: 14px;
}

.postmeta span,
.postmeta a {
    color: var(--primary-one);
}

.blogList li p {
    font-size: 14px;
    line-height: 24px;
    color: #777;
}

.blogList li .readmore {
    background: var(--primary-one);
    display: inline-block;
    margin-top: 5px;
    color: #fff;
    font-weight: 600;
    font-size: 13px;
    padding: 10px 25px;
}

.blogList li .readmore i {
    margin-left: 5px;
}

.blogList li .readmore:hover {
    text-decoration: none;
    background: #333;
}

/*Pagination*/
.pagiWrap .showreslt {
    font-size: 14px;
    font-weight: 600;
    margin-top: 10px;
}

.pagiWrap .pagination {
    text-align: right;
    margin: 0;
}

.pagination>li:first-child>a,
.pagination>li:first-child>span,
.pagination>li:last-child>a,
.pagination>li:last-child>span {
    border-radius: 0;
}


.pageheader {
    position: relative;
    padding: 80px 0;
    background: url(../images/innerpage-title.jpg) no-repeat center;
    background-size: cover;
}

.pageheader h1 {
    position: relative;
    z-index: 2;
    text-align: center;
    font-size: 48px;
    color: #fff;
    font-weight: 700;
}

.pageheader p {
    font-size: 16px;
    color: #fff;
    font-weight: 700;
    position: relative;
    z-index: 2;
    text-align: center;
    max-width: 800px;
    margin: 0 auto;
}



/********* Services Page *********/
.serviceslisting li {
    margin-bottom: 50px;
    flex-direction: row-reverse !important;
}

.serviceslisting li:nth-child(2n) {
    flex-direction: row !important;
}

.servtext {
    padding-right: 60px;
    padding-top: 20px;
}

.servtext h4 {
    display: flex;
    font-size: 40px;
    font-weight: 700;
    align-items: center;
    margin-bottom: 15px;
    color: #0b568e;
}

.servtext h4 i {
    margin-right: 20px;
    color: #f8b93a;
}

.servpostimg img {
    border-radius: 15px;
}

.serviceslisting li:nth-child(2n) .servtext {
    padding-left: 30px;
    padding-right: 0;
}

.serviceslisting li:last-child {
    margin-bottom: 0;
}

.serviceslisting li .readmore {
    margin-top: 30px;
}


.txtdata h2 {
    display: flex;
    font-size: 40px;
    font-weight: 700;
    align-items: center;
    margin-bottom: 15px;
    color: #0b568e;
}

.txtdata h2 i {
    margin-right: 20px;
    color: #f8b93a;
}

.secimg img {
    border-radius: 15px;
}


.innerPages {
    padding: 60px 0;
}

.about_img img {
    border-radius: 15px;
}

.cmspagecontent h5 {
    font-size: 24px;
    font-weight: 700;
    margin-bottom: 10px;
    color: #0b568e;
}

.cmspagecontent h4 {
    font-size: 18px;
    font-weight: 700;
}

.cmspagecontent p {
    font-size: 16px;
    line-height: 24px;
    margin-bottom: 30px;
}

.cmspagecontent ul {
    margin-bottom: 30px;
}

.cmspagecontent ul li {
    margin: 10px 0;
    padding-left: 20px;
    position: relative;
}

.cmspagecontent ul li::before {
    content: "✔";
    position: absolute;
    left: 0;
    color: #f8b93a;
    font-weight: bold;
}


.callWrp {
    padding: 40px;
    background: url(../images/cta-bg.jpg) no-repeat;
    background-size: cover;
    text-align: center;
    width: 100%;
    margin-top: 40px;
    border-radius: 15px;
}

.callWrp .icon {
    width: 88px;
    height: 88px;
    line-height: 88px;
    border-radius: 50%;
    background: #fff;
    color: #f8b93a;
    font-size: 35px;
    display: inline-block;
    margin-bottom: 30px;
}

.callWrp p {
    font-size: 24px;
    color: #fff;
    line-height: 30px;
}


/*Side bar*/
.sidebar {
    box-shadow: rgba(0, 0, 0, 0.2) 0px 18px 50px -10px;
    padding: 30px;
    background: #fff;
    margin-bottom: 30px;
    border-radius: 10px;
}

.sidebar .widget {
    margin-bottom: 20px;
    border-bottom: 1px solid #eee;
    padding-bottom: 20px;
}

.sidebar .widget-title {
    font-size: 18px;
    font-weight: 600;
    color: #666;
    margin-bottom: 20px;
}

/*Sidebar Search*/
.search {
    position: relative;
    margin-bottom: 15px;
}

.search .btn {
    position: absolute;
    right: 0;
    top: 0;
    border-radius: 0;
    background: none;
    font-size: 20px;
}

/*categories*/
.categories li {
    margin-bottom: 15px;
    position: relative;
    padding-left: 17px;
}

.categories li a {
    margin-top: 0;
    color: #888;
    font-size: 14px;
    font-weight: 600;
}

.categories li a:hover {
    color: #000;
}

.categories li:before {
    content: "\f0da ";
    font-family: 'Font Awesome 5 Free';
    font-weight: 900;
    position: absolute;
    left: 0px;
    top: 3px;
    color: var(--primary-one);
    font-size: 12px;
}

/*Archives*/
.archive li {
    line-height: 45px;
}

.archive li a {
    margin-top: 0;
    color: #888;
    font-size: 14px;
    font-weight: 600;
}

.archive li span {
    float: left;
    height: 30px;
    width: 30px;
    text-align: center;
    background: #f5f5f5;
    border: 1px solid #fff;
    outline: 3px solid #f5f5f5;
    margin-right: 20px;
    line-height: 26px;
    font-size: 12px;
    color: #777777;
    margin-top: 10px;
    -webkit-transition: all 0.4s ease-in-out;
    -moz-transition: all 0.4s ease-in-out;
    -o-transition: all 0.4s ease-in-out;
    -ms-transition: all 0.4s ease-in-out;
    transition: all 0.4s ease-in-out;
}

.archive li a:hover span {
    background: var(--primary-one);
    color: #fff;
}

/*Popular Posts*/
.papu-post {}

.papu-post .media-left {
    margin-right: 0px;
}

.papu-post .media-left img {
    width: 100%;
}

.papu-post .media-left a {
    width: 80px;
    margin-top: 0;
    margin-right: 5px;
    display: inline-block;
}

.papu-post span {
    color: var(--primary-one);
    letter-spacing: 0px;
    font-size: 11px;
}

.papu-post li {
    border-bottom: 1px solid #ececec;
    padding: 20px 0;
    margin: 0px;
}

.papu-post .media-heading {
    display: inline-block;
    width: 100%;
    color: #777777;
    margin-top: 0px;
    font-size: 14px;
    line-height: 20px;
}

.papu-post li:last-child {
    border-bottom: 0;
}

/*Tags*/
.tags:after {
    display: table;
    clear: both;
    content: '';
}

.tags li {
    display: inline-block;
    float: left;
}

.tags a {
    font-size: 13px;
    color: #969595;
    border: 1px solid #dadada;
    padding: 7px 10px;
    display: inline-block;
    margin-right: 5px;
    margin-bottom: 5px;
    text-transform: uppercase;
    background: #fff;
}

.tags a:hover {
    border: 1px solidvar(--primary-one);
    background: var(--primary-one);
    color: #fff;
    text-decoration: none;
}

/*Photo Streen*/
.photo-steam {
    margin: 0 -5px;
}

.photo-steam:after {
    display: table;
    clear: both;
    content: '';
}

.photo-steam li {
    float: left;
    width: 25%;
    padding: 0 5px;
    margin-bottom: 10px;
}

.blogdetailbox .date {
    margin-top: 15px;
    border-bottom: 1px solid #eee;
    padding-bottom: 15px;
}

.blogdetailbox p {
    font-size: 14px;
}

/*Comments*/
blockquote {
    display: block;
    font-size: 16px;
    line-height: 24px;
    margin: 20px 0;
    padding: 20px 20px 20px 60px;
    position: relative;
    border: 3px solidvar(--primary-one);
    box-shadow: 0 0 12px rgba(0, 0, 0, 0.2);
}

blockquote p {
    font-style: italic;
    display: inline-block;
    color: #000;
}

blockquote:before {
    color: #ddd;
    content: "\f10d";
    font-family: 'FontAwesome';
    font-size: 22px;
    font-style: normal;
    left: 24px;
    position: absolute;
    top: 20px;
    transform: scale(-1);
}

blockquote:after {
    color: #ddd;
    content: "\f10e";
    display: inline-block;
    font-family: 'FontAwesome';
    font-size: 22px;
    font-style: normal;
    margin: 0 0 0 8px;
    position: relative;
    top: 3px;
}

.comments h4 {
    color: #222222;
    font-size: 24px;
    font-weight: 600;
}

.comments .media-body h4 span {
    font-size: 12px;
    color: #777777;
    margin-left: 20px;
    display: inline-block;
    width: 100%;
}

.comments {
    margin-top: 30px;
}

.comments .media-list {
    margin-bottom: 30px;
}

.comments .media-list li {
    padding: 20px;
    border: 1px solid #e9e9e9;
    position: relative;
    background: #fff;
}

.comments .media-left {
    margin-right: 20px;
}

.comments .media-left a {
    width: 100px;
    display: inline-block;
}

.comments .media p {
    margin-top: 5px;
    color: #333;
    line-height: 20px;
    font-size: 14px;
}

.comments .media h6 span {
    font-size: 13px;
    color: #999;
    margin: 0;
    margin-top: 10px;
    text-transform: none;
    display: inline-block;
    width: 100%;
}

.comments .media {
    margin-top: 30px;
}

.comments .media h6 {
    font-weight: 600;
    color: #00b1f1;
    font-size: 16px;
    text-transform: none;
}

.margin-left80 {
    margin-left: 80px;
}

.comments .btn.raply {
    padding: 10px 12px;
    font-size: 12px;
    color: #333;
    background: #f5f5f5;
    border: none;
    border-radius: 0;
    position: absolute;
    top: 15px;
    right: 0;
}

.comments .btn.raply:hover {
    background: #00b1f1;
    color: #fff;
}

.comments .media a img {
    margin-bottom: 10px;
}

.commnetsfrm {
    background: #fff;
    padding: 25px;
    box-shadow: 0 0 15px rgba(0, 0, 0, 0.1);
}

.comments form label {
    text-transform: uppercase;
    font-weight: normal;
    margin-top: 20px;
    display: inline-block;
    width: 100%;
    font-size: 12px;
}

.comments form .form-control {
    display: inline-block;
    width: 100%;
    height: 40px;
    margin-top: 5px;
    border-radius: 0px;
    box-shadow: none;
    background: none;
    border: 1px solid #e8e8e8;
}

.comments form textarea.form-control {
    display: inline-block;
    width: 100%;
    height: 150px;
}

.commnetsfrm .btn {
    background: var(--primary-one);
    color: #fff;
    font-weight: 700;
    margin-top: 20px;
    font-size: 18px;
    padding: 10px 25px;
    cursor: pointer;
    border-radius: 0px;
}

.innercms {
    padding: 50px 0;
}

.pageTitle {
    background: url(../images/home-bg.jpg) no-repeat top;
    background-size: cover;
    text-align: center;
    padding: 120px 0 50px 0;
}

.pageTitle h1 {
    color: #fff;
    margin: 0;
}

.pagiWrap {
    margin-top: 40px;
    text-align: right;
}

.pagiwrap .page-link {
    margin: 0 5px;
    border-radius: 0px !important;
    color: #000;
}

.pagiwrap .active .page-link {
    color: var(--white);
}

.page-item.active .page-link {
    background: var(--primary-one);
    border-color: var(--primary-one);
}

.pagiwrap {
    background: #fff;
    padding: 30px;
    box-shadow: rgba(0, 0, 0, 0.2) 0px 18px 50px -10px;
    border-radius: 10px;
}

.pagiwrap .pagination {
    justify-content: center;
}


/* Dashboard */
.twm-right-section-panel .panel.panel-default {
    border-radius: 10px;
    background: #fff;
}

.dashboard-card-2 {
    position: relative;
    overflow: hidden;
    z-index: 1;
    padding: 30px;
    background-color: #fff;
    border-radius: 10px;
}

.block-gradient {
    background: #7596fc;
    background: -moz-linear-gradient(-45deg, #7596fc 0%, #b479ff 100%);
    background: -webkit-linear-gradient(-45deg, #7596fc 0%, #b479ff 100%);
    background: linear-gradient(135deg, #7596fc 0%, #b479ff 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#7596fc", endColorstr="#b479ff", GradientType=1);
}

.block-gradient-2 {
    background: #1aa8ed;
    /* Old browsers */
    background: -moz-linear-gradient(-45deg, #1aa8ed 0%, #07f4ac 100%);
    /* FF3.6-15 */
    background: -webkit-linear-gradient(-45deg, #1aa8ed 0%, #07f4ac 100%);
    /* Chrome10-25,Safari5.1-6 */
    background: linear-gradient(135deg, #1aa8ed 0%, #07f4ac 100%);
    /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#1aa8ed', endColorstr='#07f4ac', GradientType=1);
    /* IE6-9 fallback on horizontal gradient */

}

.block-gradient-3 {
    background: var(--secondary-color);
}

.block-gradient-4 {
    background: var(--primary-one);
}

.dashboard-card-2 .wt-card-wrap-2 {
    color: #fff;
}

.dashboard-card-2 .wt-card-icon-2 {
    font-size: 40px;
    line-height: 0px;
    z-index: -1;
    position: absolute;
    left: 30px;
    top: 30px;
}

.wt-card-right {
    text-align: right;
    font-size: 50px;
    line-height: 50px;
    font-weight: 300;
    margin-bottom: 10px;
}

.dashboard-card-2 .wt-card-bottom-2 h4 {
    font-weight: 400;
    color: #fff;
    font-size: 18px;
    margin-bottom: 0;
}

.myjobtable tr td {
    font-size: 14px;
}

.myjobtable tr td a {
    text-decoration: none;
}

.btbtns a {
    padding: 6px 15px;
    font-size: 14px;
    line-height: 18px;
    font-weight: 500;
}

.sortby h3 {
    font-size: 24px;
}


.instoretxt {
    background: #fcfdff;
    border: 1px solid #eee;
    padding: 30px;
    margin-bottom: 30px;
    margin-top: 30px;
    border-radius: 15px;
    box-shadow: 0px 18px 40px rgb(25 15 9 / 10%);
}

.instoretxt h3 {
    font-size: 24px;
}

.instoretxt .table {
    margin-bottom: 0;
    margin-top: 30px;
}

.instoretxt .currency {
    font-size: 16px;
    font-weight: 700;
}

.instoretxt .currency strong {
    color: #056cb8;
}

.instoretxt strong {
    font-weight: 700;
    color: #056cb8;
}

.profileDetails {
    background: #fff;
    box-shadow: rgba(0, 0, 0, 0.2) 0px 18px 50px -10px;
    border-radius: 15px;
    padding: 30px;
    margin-bottom: 30px;
}

.profileDetails h3 {
    color: #333;
    font-size: 18px;
    font-weight: var(--font-bold);
}

.profileDetails .profile-picture {
    width: 100%;
}

.profileDetails .profile-radius {
    border: 10px solid rgb(6 113 198 / 5%);
    width: 170px;
    border-radius: 50%;
    margin-top: 15px;
}

.profileDetails .profile_img {
    height: 150px;
    width: 150px;
    background-position: center top;
    background-repeat: no-repeat;
    background-size: cover;
    border-radius: 50%;
    overflow: hidden;
}

.profileDetails .profile_img img {
    height: auto;
    width: 100%;
}

.userdetailbox {
    background: #222;
    padding: 25px;
    box-shadow: 0 5px 5px rgba(0, 0, 0, 0.1);
}

.userdetailbox h3 {
    color: #fff;
    font-size: 24px;
}


.usertabls {
    margin-bottom: 40px;
    background: #333;
    padding: 15px;
}

.usertabls ul {
    margin-bottom: 0;
}

.usertabls ul li {
    display: inline-block;
}

.usertabls ul li a {
    color: #fff;
    transition: all ease .5s;
    text-align: left;
    font-size: 14px;
    display: block;
    background: rgba(255, 255, 255, 0.1);
    border-radius: 5px;
    padding: 10px 20px;
}

.usertabls ul li a:hover {
    text-decoration: none;
    background: #f81473;
}

.usertabls ul li.views {
    float: right;
    color: #fff;
    margin-top: 10px;
}

.usertabls ul:after {
    clear: both;
    display: table;
    content: '';
}

.profile-Wrap h3 {
    margin-top: 0;
    font-weight: 700;
    font-size: 18px;
    text-align: center;
    color: #000;
}

.authorDetail {
    text-align: center;
    padding-top: 15px;
}

.authorDetail h2 {
    font-weight: 600;
    font-size: 20px;
    padding-bottom: 15px;
    margin-bottom: 15px;
    border-bottom: 1px solid rgba(0, 0, 0, 0.2);
    color: #000;
}

.authorDetail P {
    font-size: 16px;
    color: #000;
    margin-bottom: 5px;
}

.authorDetail P i {
    color: var(--secondary-color);
}

.editDetails {
    border-top: 1px solid #eee;
    margin-top: 20px;
    padding-top: 20px;
}

.editDetails ul {
    list-style: none;
    margin: 0;
}

.editDetails ul li {
    margin-bottom: 5px;
}

.editDetails ul li a {
    color: #000;
    transition: all ease .5s;
    text-align: left;
    font-size: 14px;
    display: block;
    padding: 7px 10px;
    text-decoration: none;
    border-radius: 5px;
}

.editDetails ul li a i {
    margin-right: 7px;
    color: #888;
}

.editDetails ul li a:hover {
    background: #fff;
    color: var(--secondary-color);
    text-decoration: none;
}

.editDetails ul li a .badge {
    background: #f81473;
}


/* Hitel detail */
.hotelmaininfo {
    margin-bottom: 30px;
}

.hotelmaininfo h1 {
    font-size: 24px;
    margin-bottom: 10px;
    font-weight: var(--font-bold);
    display: flex;
    align-items: center;
}

.hotelmaininfo h1 .badge {
    font-size: 10px;
    font-weight: 600;
    padding: 5px 10px;
}

.hotelmaininfo .location {
    padding-bottom: 0;
}

.hotelmaininfo .prices {
    font-size: 36px;
    color: var(--primary-one);
    text-align: right;
    font-weight: 700;
    margin-top: 20px;
}

.hotelmaininfo .prices span {
    font-size: 18px;
    color: #555;
    font-weight: 400;
}

.hoteldtlts {
    display: flex;
    align-items: center;
}

.ins34 {
    border-right: 1px solid #eee;
    padding-right: 20px;
    margin-right: 20px;
    font-size: 14px;
    color: #4E5561;
}

.ins34 i {
    color: #999;
    margin-right: 10px;
}

.tprating {
    display: flex;
    align-items: center;
    font-size: 14px;
}

.tprating .comprating {
    margin-bottom: 0;
    margin-right: 10px;
}

.badge.badge-warning {
    background: #FFCA18;
    color: #000;
    padding: 8px 10px;
    font-size: 14px;
}


.gallery-container {
    margin-bottom: 30px;
}

.gallery-thumbnails .item {
    cursor: pointer;
    opacity: 0.7;
}

.gallery-thumbnails .item img {
    width: 100%;
}

.gallery-container .owl-nav {
    margin: 0;
}

.gallery-container .owl-nav button {
    position: absolute;
    top: 50%;
    margin-top: -18px;
    font-size: 16px;
}

.gallery-container .owl-nav button i {
    font-size: 16px;
}

.gallery-container .owl-nav .owl-prev {
    left: 15px;
}

.gallery-container .owl-nav .owl-next {
    right: 15px;
}

.gallery-container img {
    border-radius: 10px;
}


.facilitieslist li {
    text-align: center;
    margin-bottom: 20px;
}

.facilitieslist i {
    display: block;
    font-size: 16px;
    color: var(--primary-one);
}

.facilitieslist .text-fst {
    background: #fff;
    border-radius: 10px;
    padding: 15px;
    box-shadow: 0px 0 20px rgba(30, 30, 30, 0.1);
    display: block;
    border-bottom: 2px solid var(--primary-one);
    display: flex;
    align-items: center;
    font-size: 14px;
    gap: 10px;
}

.detcontent {
    padding: 30px;
    margin-bottom: 30px;
    background: #fff;
    border-radius: 10px;
}

.detcontent h3 {
    font-size: 18px;
    font-weight: 700;
    margin-bottom: 10px;
}

.detcontent p {
    font-size: 16px;
    line-height: 26px;
}

.facilitiesbg {
    background: none;
    padding: 0;
}

.contentbullets ul li {
    position: relative;
    padding-left: 25px;
    font-size: 16px;
    margin-bottom: 15px;
}

.contentbullets ul li:before {
    font-family: "Font Awesome 5 Free";
    font-weight: bold;
    content: "\f00c";
    position: absolute;
    top: 2px;
    left: 0;
    color: var(--primary-one);
}

.hotelserv li {
    margin-bottom: 10px;
}

.hotelserv li i {
    color: #f8b93a;
    margin-right: 5px;
}

.bookingsidebar {
    background: #f8b93a;
    box-shadow: rgba(0, 0, 0, 0.2) 0px 18px 50px -10px;
    padding: 30px;
    border-radius: 10px;
    margin-bottom: 30px;
}

.bookingsidebar h4 {
    font-weight: var(--font-bold);
    font-size: 24px;
    color: var(--black);
}

.bookingsidebar p {
    font-size: 14px;
}

.number span {
    cursor: pointer;
}

.number {
    display: flex;
    gap: 5px;
}

.number .minus,
.number .plus {
    background: #f2f2f2;
    border-radius: 4px;
    padding: 5px 15px;
    border: 1px solid rgba(4, 0, 23, 0.1);
    display: inline-block;
    vertical-align: middle;
    text-align: center;
    font-size: 24px;
}

.number input {
    width: 100px;
    text-align: center;
    font-size: 20px;
    border: 1px solid rgba(4, 0, 23, 0.1);
    border-radius: 4px;
    vertical-align: middle;
}

.totalpay {
    font-size: 16px;
    border-top: 1px solid #fff;
    padding-top: 15px;
}

.totalpay strong {
    font-size: 30px;
    color: var(--black);
    display: block;
}



.helpbox {
    background: #f5f5f5;
    border-radius: 5px;
    padding: 30px;
}

.helpbox p {
    font-size: 14px;
}

.helpbox .phone {
    margin-top: 10px;
    color: #555;
}

.helpbox .phone i {
    color: var(--secondary-color);
    margin-right: 7px;
}


.reviewswrap {
    background: #fff;
    border-radius: 10px;
    padding: 30px;
}

.revtop {
    display: flex;
    justify-content: space-between;
    margin-bottom: 15px;
    align-items: center;
}

.revtop h3 {
    margin-bottom: 0;
    font-size: 18px;
    font-weight: 700;
}

.revtop .btn-primary {
    font-size: 14px;
    padding: 10px 15px;
}

.overallrate strong {
    font-weight: 700;
    color: #f8b93a;
}

.overallrate span {
    color: #777;
    font-size: 14px;
}

.reviewslist li {
    border: 1px solid #eee;
    padding: 20px;
    border-radius: 8px;
    margin-bottom: 20px;
}

.reviewslist li:last-child {
    margin-bottom: 0;
}

.reviewslist li .reviewhead {
    display: flex;
    gap: 15px;
    align-items: center;
    margin-bottom: 15px;
}

.reviewslist li h4 {
    font-size: 18px;
    margin-bottom: 0;
}

.reviewslist li h5 {
    font-size: var(--primary-size);
    font-weight: var(--font-bold);
    color: #888;
}

.reviewslist li h4 img {
    width: 20px;
}

.reviewslist li p {
    font-size: 14px;
    line-height: 22px;
    margin-bottom: 0;
}

.reviewslist li .dateposted {
    font-size: 14px;
    margin-top: 10px;
}

.userrateinfo {
    display: flex;
    align-items: center;
}

.userrateinfo span {
    color: #999;
    font-size: 14px;
}

.reviewslist li .comprating {
    margin-bottom: 0;
    margin-left: 15px;
    margin-right: 5px;
    border-left: 1px solid #eee;
    padding-left: 15px;
}

.replymsg {
    background: #f5f5f5;
    padding: 25px 25px 25px 50px;
    margin-left: -20px;
    margin-right: -20px;
    margin-bottom: -20px;
    border-radius: 0 0 8px 8px;
    margin-top: 15px;
    display: flex;
}

.replymsg .uavatar {
    width: 80px;
    height: 80px;
    margin-top: 0;
    flex: 0 0 80px;
    margin-right: 20px;
    border: 1px solid #ddd;
}

.reviewslist li .replymsg h5 {
    margin-bottom: 5px;
    color: #000;
}

.reviewslist li .replymsg .dateposted {
    margin-bottom: 10px;
    margin-top: 0;
}

.reviewslist li .replybtn {
    padding: 6px 12px;
    font-size: 14px;
    margin-left: auto;
    line-height: 20px;
    border: 1px solid #eee;
    border-radius: 25px;
}

.avatar.avatar-lg {
    width: 2.813rem;
    height: 2.813rem;
    line-height: 2.813rem;
    font-size: 1rem;
}

.avatar img {
    width: 100%;
    height: 100%;
    border-radius: 50%;
    object-fit: cover;
}

.modal-body textarea {
    height: 250px;
}


.rating-selction {
    direction: rtl !important;
}

.rating-selction input {
    display: none;
}

.rating-selction label {
    display: inline-block;
    color: #E4EBF1;
    cursor: pointer;
    font-size: 16px;
    transition: color 0.2s;
}

.rating-selction input:checked~label {
    color: #ffae00;
}


.flightinfowrap {
    box-shadow: rgba(0, 0, 0, 0.2) 0px 18px 50px -10px;
    padding: 30px;
    border-radius: 10px;
    margin-bottom: 30px;
    background-color: #fff;
}

.flightinfowrap h1 {
    font-size: 36px;
}

.dflightcom {
    display: flex;
    gap: 15px;
    align-items: center;
}

.dflightcom img {
    width: 50px;
    border: 1px solid #ddd;
    border-radius: 50%;
}

.dflightcom p {
    margin-bottom: 0;
    font-size: 14px;
}

.flightmoveinfo {
    border-top: 1px solid #eee;
    padding-top: 30px;
    margin-top: 30px;
}

.ftakeinfo {
    display: flex;
    align-items: center;
    gap: 30px;
}

.takeicon {
    width: 60px;
    height: 60px;
    background: #eee;
    border-radius: 50%;
    border: 2px solid #fff;
    box-shadow: 0 0 15px rgba(0, 0, 0, 0.1);
    text-align: center;
    font-size: 24px;
    color: #777;
    line-height: 55px;
}

.ftakeinfo h5 {
    font-weight: var(--font-bold);
    color: var(--primary-one);
    margin-bottom: 0;
}

.ftakeinfo strong {
    color: var(--secondary-color);
}

.ftakeinfo p {
    margin-bottom: 0;
}

.fdate {
    font-weight: var(--font-bold);
    color: var(--primary-one);
    margin-top: 10px;
}


.economytxt {
    background: #eee;
    padding: 10px;
    text-align: center;
    border-radius: 5px;
    margin: 30px;
}

.flightincl li {
    margin-bottom: 10px;
}

.flightincl li i {
    width: 24px;
    color: var(--secondary-color);
}

.flightprices {
    font-size: 36px;
    font-weight: var(--font-bold);
    margin-bottom: 20px;
}

.flightprices span {
    display: block;
    font-size: 18px;
    font-weight: var(--font-reg);
}


.passengerinfo {
    border-top: 1px solid #eee;
    padding-top: 15px;
    margin-top: 15px;
}

.passengerinfo h5 {
    font-size: 18px;
    font-weight: 700;
}

.bookpsglist li {
    margin-bottom: 30px;
}

.bookpsglist li h6 {
    font-weight: 600;
    margin-bottom: 0;
}

.bookpsglist li h6.capt {
    text-transform: capitalize;
}

.bookpsglist li span {
    font-size: 13px;
    color: #555;
}

.payment-methods i {
    font-size: 36px;
    color: var(--primary-one);
}

.payment-methods h5 {
    font-weight: 700;
}

/********* Contact Page *********/
.contactform {
    padding: 50px 0;
    background: #f3f4f8;
}

.contactform .container {
    max-width: 1170px;
}

.submitquery {
    background: #212121;
    padding: 45px;
    border-radius: 0 15px 15px 0;
}

.contactform>.row {
    margin: 0;
}

.contactform .col-lg-6 {
    padding: 0;
    display: flex;
}

.submitquery label {
    font-size: 16;
    font-weight: bold;
    display: block;
    margin-bottom: 5px;
}

.submitquery label i {
    font-size: 14px;
}

.submitquery h3 {
    font-size: 24px;
    margin-bottom: 30px;
    font-weight: bold;
    color: #fff;
}


.submitquery .form-control {
    border: none;
    border-radius: 7px;
    height: auto;
    padding: 12px 15px;
    appearance: auto;
    background: #3e4045;
    color: #fff;
    line-height: normal;
    font-size: 16px;
}

.submitquery .form-control::placeholder {
    color: #8b8b8b;
    opacity: 1;
}

.submitquery .form-control::-ms-input-placeholder {
    color: #8b8b8b;
}

.submitquery textarea {
    height: 200px;
}

.submitquery .btn-primary:hover {
    background: #fff;
    color: #000;
}

.mapbox {
    padding: 20px;
    box-shadow: rgba(0, 0, 0, 0.2) 0px 18px 50px -10px;
    border-radius: 10px;
}

.mapbox iframe {
    display: block;
}

.gmaps h5 {
    font-weight: 700;
    font-size: 24px;
    color: var(--primary-one);
    margin-top: 10px;
    margin-bottom: 30px;
}

.companycontact {
    background: var(--white);
    padding: 45px;
    border-radius: 15px 0 0 15px;
}

.companycontact h3 {
    font-size: 36px;
    color: var(--black);
    font-weight: bold;
    margin-bottom: 30px;
}

.companycontact h4 {
    font-size: 24px;
    color: var(--primary-one);
    font-weight: 700;
    margin-bottom: 0;
}


.ctinfobox {
    display: flex;
    border-bottom: 1px solid #eee;
    padding: 15px 0;
    gap: 20px;
}

.ctinfobox.ctlast {
    border-bottom: none;
    padding-bottom: 0;
}

.tptitle {
    display: flex;
    margin-bottom: 15px;
}

.ctinfobox h6 {
    font-size: var(--heading-3);
    color: var(--primary-one);
    font-weight: var(--font-bold);
    margin-bottom: 0;
}

.tptitle h6 span {
    display: block;
    font-size: 14px;
    color: var(--primary-text-color);
}

.tptitle i {
    font-size: var(--heading-5);
    margin-right: 15px;
}

.ctinfobox p {
    margin-bottom: 0;
}

.ctlast p {
    font-weight: var(--font-bold);
}


.submitquery.radiusbx {
    border-radius: 15px;
}

.applyform .form-control::placeholder {
    color: #fff;
    opacity: 1;
}

.applyform .form-control::-ms-input-placeholder {
    color: #fff;
}

.applyform textarea {
    height: 150px;
}

.applycontent h3 {
    font-size: 36px;
    font-weight: 700;
}

.applycontent .benefitbx {
    margin-top: 20px;
}



.accordion-button:focus {
    box-shadow: none;
}

.accordion-button {
    font-weight: var(--font-bold);
}

.accordion-button:not(.collapsed) {
    background-color: var(--primary-one);
    color: var(--white);
}

.accordion-button:not(.collapsed)::after {
    background-color: #fff;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background-position: center;
}


.thankyourmsgwrap {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 10;
    background: rgba(0, 0, 0, 0.3);
    display: flex;
    align-items: center;
    justify-content: center;

}

@keyframes zoomOut {
    0% {
        transform: scale(0);
        opacity: 0;
    }

    100% {
        transform: scale(1);
        opacity: 1;
    }
}

.thankyoumsg {
    max-width: 500px;
    margin: 0 auto;
    border-radius: 20px;
    box-shadow: 0 1px 5px 0 #c3cdd7;
    padding: 40px;
    text-align: center;
    background: #fff;
    animation: zoomOut 0.5s ease-in-out forwards;
}

.thankyoumsg h3 {
    font-size: 1.75rem;
    margin-bottom: 20px;
    font-weight: 600;
}

.thankyoumsg p {
    font-size: 18px;
}

.checkmark {
    width: 100px;
    height: 100px;
    border-radius: 50%;
    display: block;
    stroke-width: 2;
    stroke: #4bb71b;
    stroke-miterlimit: 10;
    box-shadow: inset 0px 0px 0px #4bb71b;
    animation: fill .4s ease-in-out .4s forwards, scale .3s ease-in-out .9s both;
    position: relative;
    top: 5px;
    right: 5px;
    margin: 0 auto;
}

.checkmark__circle {
    stroke-dasharray: 166;
    stroke-dashoffset: 166;
    stroke-width: 2;
    stroke-miterlimit: 10;
    stroke: #4bb71b;
    fill: #fff;
    animation: stroke 0.6s cubic-bezier(0.65, 0, 0.45, 1) forwards;

}

.checkmark__check {
    transform-origin: 50% 50%;
    stroke-dasharray: 48;
    stroke-dashoffset: 48;
    animation: stroke 0.3s cubic-bezier(0.65, 0, 0.45, 1) 0.8s forwards;
}


@keyframes stroke {
    100% {
        stroke-dashoffset: 0;
    }
}

@keyframes scale {

    0%,
    100% {
        transform: none;
    }

    50% {
        transform: scale3d(1.1, 1.1, 1);
    }
}

@keyframes fill {
    100% {
        box-shadow: inset 0px 0px 0px 30px #4bb71b;
    }
}


/* Blog */
.postimage {
    margin-bottom: 40px;
}

.post-title {
    font-size: 36px;
    font-weight: 700;
    margin-bottom: 0;
}

.postcontent p,
.postcontent {
    margin-bottom: 30px;
    font-size: 20px;
    line-height: 1.50;
}

.blogdetail .date {
    margin-bottom: 30px;
}

.postcontent p a {
    color: var(--primary-one);
    font-weight: 600;
}

.postcontent p a:hover {
    text-decoration: underline;
}

.postcontent ul {
    list-style: disc;
    margin-left: 50px;
    margin-bottom: 30px;
}

.postcontent ul li {
    margin-top: 10px;
    font-size: 20px;
}

.postcontent ol {
    list-style: decimal;
    margin-left: 50px;
    margin-bottom: 30px;
}

.postcontent ol li {
    margin-top: 10px;
    font-size: 20px;
}

.blogsidebar .widget {
    margin-bottom: 30px;
}

.blogsidebar .widget .widget_title {
    font-size: 22px;
    font-weight: 700;
    color: #383838;
}

.blogsidebar .widget .wdgtnav li {
    padding: 4px 0;
}

.blogsidebar .widget .wdgtnav li a {
    color: #000;
    text-decoration: none;
}

.blogsidebar .widget .wdgtnav li a:hover {
    color: var(--primary-one);
}

.sidebar-search-form {
    position: relative;
}

.sidebar-search-form input[type="search"] {
    border-radius: 4px;
    border: 1px solid #ebedf5;
    background: #f9fafc;
    font-size: 16px;
    padding: 10px 70px 10px 16px;
    height: 60px;
    width: 100%;
}

.sidebar-search-form button {
    position: absolute;
    right: 5px;
    top: 5px;
    bottom: 0px;
    cursor: pointer;
    border-radius: 4px;
    background: var(--primary-one);
    color: #ffffff;
    border: 0;
    font-size: 14px;
    line-height: 50px;
    height: 50px;
    width: 52px;
}


/************************************************
           == FAQs css==
*************************************************/
#faqs {
    background: #f7f7f7;
}

.faqs .panel-default>.panel-heading {
    background: none;
    border: none;
    padding: 0;
}

.faqs h4 a {
    padding: 10px 55px 10px 15px;
    display: block;
    background: var(--primary-one);
    color: #fff;
    font-size: 16px;
    position: relative;
}

.panel-group .panel {
    border-radius: 0;
    margin-bottom: 20px;
}

.panel-group .panel-body {
    line-height: 24px;
    color: #555;
}

.faqs h4 .collapsed:hover,
.faqs h4 a:hover,
.faqs h4 a:active {
    text-decoration: none;
    background: var(--primary-one);
    color: #fff;
}

.faqs h4 a:before {
    content: "\f068";
    background: #fff;
    font-family: 'FontAwesome';
    width: 30px;
    padding: 6px 0;
    color: var(--primary-one);
    position: absolute;
    right: 15px;
    top: 8px;
    font-size: 16px;
    display: inline-block;
    text-align: center;
    transition: 0.3s ease-in;
    -moz-transition: 0.3s ease-in;
    -webkit-transition: 0.3s ease-in;
    -ms-transition: 0.3s ease-in;
    line-height: 18px;
}

.faqs h4 .collapsed:before {
    content: "\f067";
    font-family: 'FontAwesome';
    background: #666;
    width: 30px;
    padding: 6px 0;
    color: #fff;
    position: absolute;
    right: 15px;
    top: 8px;
    font-size: 16px;
    display: inline-block;
    text-align: center;
    transition: 0.3s ease-in;
    -moz-transition: 0.3s ease-in;
    -webkit-transition: 0.3s ease-in;
    -ms-transition: 0.3s ease-in;
    text-decoration: none;
}

.faqs h4 a.collapsed {
    background: #fff;
    color: #666;
    text-decoration: none;
}

.filtersidebar {
    background: #fff;
    padding: 20px;
    border-radius: 8px;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.filterbox {
    margin-bottom: 20px;
}

.filterbox h5 {
    font-size: 1.1rem;
    margin-bottom: 15px;
    color: #333;
}

.flight-card {
    transition: transform 0.2s;
}

.flight-card:hover {
    transform: translateY(-2px);
}

.flight-card .card {
    border: none;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.airline-logo img {
    max-height: 50px;
    width: auto;
}

.airline-name {
    font-size: 0.9rem;
    color: #666;
}

.route h4 {
    margin: 0;
    font-size: 1.2rem;
    color: #333;
}

.route small {
    color: #666;
}

.arrow {
    color: #007bff;
}

.flight-info {
    margin-top: 10px;
}

.flight-info .badge {
    margin-right: 10px;
}

.price-section h3 {
    color: #007bff;
    margin: 0;
}

.price-section small {
    color: #666;
}

.btn-check:checked+.btn-outline-primary {
    background-color: #007bff;
    color: white;
}

.input-group-text {
    background-color: #f8f9fa;
    border-color: #ced4da;
}

.form-select {
    border-right: none;
}

.input-group .form-control {
    border-left: none;
}

.input-group .form-control:focus,
.input-group .form-select:focus {
    border-color: #ced4da;
    box-shadow: none;
}

/* General container and card styling */
.container.py-5 {
    padding-top: 3rem !important;
    padding-bottom: 3rem !important;
}

.card {
    border: 1px solid #dee2e6;
    /* Subtle border */
    border-radius: 0.5rem;
    box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);
    /* Subtle shadow */
}

.card-header {
    background-color: #f8f9fa !important;
    /* Light gray header */
    color: #343a40 !important;
    /* Darker text color */
    border-bottom: 1px solid #dee2e6;
    /* Header border */
    padding: 1.5rem;
    font-size: 1.25rem;
    font-weight: bold;
}

.card-body {
    padding: 1.5rem;
}


/* Form styling */
.form-label {
    margin-bottom: 5px;
    font-size: 14px;
    color: #777;
}

.invalid-feedback {
    font-size: 0.875rem;
    color: #dc3545;
    /* Standard danger color */
    margin-top: 0.25rem;
}

.passenger-block {
    border: 1px solid #e9ecef;
    /* Light border for passenger blocks */
    border-radius: 0.5rem;
    padding: 1.5rem;
    margin-bottom: 1.5rem;
    background-color: #fff;
    /* White background for blocks */
    box-shadow: 0 0.05rem 0.1rem rgba(0, 0, 0, 0.05);
}

.passenger-block h5 {
    margin-bottom: 1rem;
    color: #0d6efd;
    /* Primary color for passenger title */
}

/* Payment section styling */
.mb-4 h4.border-bottom {
    border-bottom: 1px solid #dee2e6 !important;
    /* Ensure border is consistent */
    padding-bottom: 0.75rem !important;
    margin-bottom: 1.5rem !important;
}

/* Flight Summary Styling (Right Column) */
.flight-summary {
    background-color: #fff;
    /* White background for summary */
    border: 1px solid #dee2e6;
    /* Border for the summary box */
    border-radius: 0.5rem;
    padding: 1.5rem;
}

.flight-summary h4.border-bottom {
    border-bottom: 1px solid #dee2e6 !important;
    padding-bottom: 1rem !important;
    margin-bottom: 1.5rem !important;
    color: #343a40 !important;
    /* Dark text for summary header */
    font-size: 1.25rem;
    font-weight: bold;
}

/* Non-refundable alert */
.flight-summary .alert-warning {
    background-color: #fff3cd;
    /* Light yellow */
    border-color: #ffecb5;
    /* Yellow border */
    color: #664d03;
    /* Dark yellow text */
    padding: 0.75rem 1rem;
    margin-bottom: 1.5rem;
    border-radius: 0.25rem;
}

/* Origin/Destination lead text */
.flight-summary .lead {
    font-size: 1.15rem;
    font-weight: 600;
    margin-bottom: 0.5rem;
}

/* Muted date/passenger text */
.flight-summary .text-muted {
    font-size: 0.95rem;
    color: #6c757d !important;
    margin-bottom: 1rem;
}

/* Baggage policy link */
.flight-summary a.small {
    font-size: 0.9rem;
    color: #0d6efd;
    /* Primary color */
    text-decoration: none;
}

.flight-summary a.small:hover {
    text-decoration: underline;
}

/* Horizontal rule */
.flight-summary hr {
    margin-top: 1.5rem;
    margin-bottom: 1.5rem;
    border: 0;
    border-top: 1px solid rgba(0, 0, 0, 0.1);
}

/* Total price styling */
.flight-summary h5 {
    font-size: 1.25rem;
    font-weight: bold;
}

.flight-summary .d-flex.justify-content-between.align-items-center.mb-2 h5:last-child {
    color: #0d6efd;
    /* Primary color for total price */
}

/* Depart/Return section styling */
.flight-summary h6 {
    font-size: 1.05rem;
    font-weight: bold;
    margin-bottom: 0.75rem;
    color: #343a40;
    /* Dark text */
}

.flight-summary p.small {
    font-size: 0.9rem;
    margin-bottom: 0.5rem;
}

/* Price Breakdown Styling */
.flight-summary .d-flex.justify-content-between.small {
    font-size: 0.9rem;
    margin-bottom: 0.4rem;
}

.font-weight-bold {
    font-weight: bold !important;
}

/* Bootstrap Icons alignment */
.bi {
    vertical-align: -0.125em;
}

/* Responsive adjustments */
@media (max-width: 767.98px) {

    .col-md-8,
    .col-md-4 {
        padding: 0 15px;
        margin-left: 0;
        border-left: none;
    }

    .col-md-4 {
        margin-top: 2rem;
        /* Add space between form and summary on small screens */
        border-top: 1px solid #dee2e6;
        /* Add separator on top for small screens */
        padding-top: 1.5rem;
    }

    .card-body {
        padding: 1rem;
    }

    .flight-summary {
        padding: 1rem;
    }

    .passenger-block {
        padding: 1rem;
    }
}


/* Duffel search */
.duffeltopsearch {
    border-radius: 20px;
    padding: 30px;
    margin-top: 30px;
    background: #fff;
    box-shadow: 0px 10px 20px rgba(0, 0, 0, 0.2);
}

.duffeltopsearch h5 {
    font-size: 24px;
    font-weight: 700;
    margin-bottom: 10px;
}

.tripetype .btn {
    border: 1px solid #eee;
    color: var(--black);
    font-size: 14px;
    padding: 10px 20px;
    border-radius: 50px;
}

.tripetype .btn-outline-primary {
    font-weight: 600;
}

.duffeltopsearch label {
    font-size: 14px;
    font-weight: 600;
}

.duffeltopsearch .form-control {
    width: 100%;
    height: auto;
    line-height: normal;
    border: 1px solid rgba(4, 0, 23, 0.1);
    border-radius: 6px;
    padding: 12px 20px;
    font-size: 16px;
    color: #333;
    appearance: none;
}

.dflflightbox {
    border: 1px solid #eee;
    border-radius: 10px;
    margin-bottom: 30px;
}

.titledfl {
    background: #e4eafa;
    font-size: 14px;
    padding: 10px 15px;
    border-radius: 9px 9px 0 0;
}

.dflintbx {
    padding: 15px;
}

.dflintbx .lead {
    font-size: 16px;
}

.datedfl {
    font-size: 13px;
    color: #999;
    border-bottom: 1px dashed #eee;
    padding-bottom: 10px;
    margin-bottom: 10px;
}

.dfcpolicy {
    display: block;
    color: #52c530;
    font-weight: 600;
    font-size: 14px;
}

.addmoreflight {
    margin-top: 45px;
}


.dfltotalp {
    border-top: 1px dashed #ddd;
    padding-top: 10px;
    margin-top: 10px;
}

.dfltprice {
    border-top: 1px dashed #ddd;
    padding-top: 10px;
    margin-top: 10px;
}

.dfltprice h5 {
    font-size: 20px;
    margin-bottom: 0;
    font-weight: 600;
}

.dflfrombx {
    border-bottom: 1px dashed #ddd;
    padding-bottom: 10px;
    margin-bottom: 10px;
}

.dfldepbx {
    background: #eee;
    border-radius: 6px;
    padding: 10px;
    margin-bottom: 10px;
}

.dfldepbx h6 {
    font-size: 16px;
    font-weight: 700;
}

.dfldepbx span {
    font-size: 14px;
    color: #666;
}

.dfltotalp h6 {
    font-size: 16px;
    font-weight: 600;
}

.dfltotalp .font-weight-bold {
    font-weight: 700;
}

.dfltotalp div {
    margin-top: 6px;
}

.fltchange {
    border: 1px dashed #eee;
    border-radius: 5px;
    padding: 10px;
    margin-top: 20px;
}

.fltchange h6 {
    font-weight: 600;
    font-size: 16px;
    color: #444;
    margin-bottom: 10px;
}

.fltchange p {
    font-size: 14px;
    color: #666;
    line-height: 22px;
    margin-bottom: 10px;
}

.dflpassengerbx {
    border: 1px solid #eee;
    border-radius: 10px;
    margin-bottom: 20px;
}

.dflpassengerbx h5 {
    border-bottom: 1px solid #eee;
    background: #e4eafa;
    border-radius: 10px 10px 0 0;
    padding: 15px 15px;
    font-weight: 600;
    font-size: 18px;
}

.dflpassengerbx .passenger-info {
    padding: 30px;
}

.dflfrombx .small {
    margin-top: 5px;
}

.newflighttitle {
    margin-top: 30px;
    font-size: 18px;
    font-weight: 700;
    color: #555;
    display: none;
}

.form-check .form-check-input {
    margin-left: 0;
    margin-right: 10px;
}

.select2-container .select2-selection--single {
    border: 1px solid rgba(4, 0, 23, 0.1) !important;
    padding: 10px;
    border-radius: 5px 0 0 5px !important;
    height: auto !important;
}

.phone_valid {
    margin-left: 0 !important;
}

.select2-container--default .select2-selection--single .select2-selection__arrow {
    top: 10px !important;
}


.sortingbox {
    background: #eee;
    padding: 20px;
    border-radius: 6px;
    margin-bottom: 30px;
}



/*---------------------------------------
   Mobile Responsive styles              
-----------------------------------------*/
@media (max-width: 1024px) {
    .custom-navbar .nav li a {
        padding: 10px 15px;
    }

    .custom-navbar .navbar-brand {
        font-size: 24px;
        line-height: 24px;
    }

    .navbar-right {
        margin-top: 10px;
    }

    .stcontent,
    .fullimg {
        float: none;
        width: auto;
    }

    .fullimg {
        height: 350px;
        margin: 30px 30px 0 30px;
    }
}

@media (max-width: 990px) {
    h1 {
        font-size: 52px;
    }

    .is-sticky .navbar-brand {
        display: none;
    }

    .custom-navbar .nav li a {
        padding: 0px 15px;
    }

    .custom-navbar .nav li .calltxt {
        margin-top: 0;
        padding: 7px 15px
    }

    .is-sticky .custom-navbar .nav li .calltxt {
        margin-top: 0;
    }

    .header-wrap {
        padding: 10px;
    }

    .navbar-header {
        float: none;
        text-align: center;
    }

    .navbar-brand {
        float: none;
        display: inline-block;
    }

    .navbar-light .navbar-toggler {
        display: block;
        position: absolute;
        right: 15px;
        top: 35px;
        border: 1px solid #ddd;
        padding: 10px 15px;
        border-radius: 5px;
    }

    .custom-navbar {
        border-bottom: 1px solid rgba(255, 255, 255, 0.3);
        padding-bottom: 30px;
    }

    .is-sticky .custom-navbar {
        padding-bottom: 10px;
    }

    .is-sticky .custom-navbar .nav li a {
        padding: 10px 15px;
    }

    .pageTitle {
        padding-top: 170px;
    }

    .image-popup {
        display: block;
        margin: 30px 0;
    }

    .servicesbox {
        padding: 60px 30px;
    }

    .servicesbox h3 {
        font-size: 30px;
    }

    #counter .counter-number {
        font-size: 48px;
    }

    #service .service-thumb-first,
    #service .service-thumb-second {
        margin-bottom: 32px;
    }

    ul.orderlist li {
        float: none;
        width: auto;
    }

    #team .team-thumb {
        margin-bottom: 30px;
    }

    .postimg {
        margin-top: 30px;
        margin-bottom: 30px
    }

    .newsletter,
    #blog,
    #work {
        padding: 50px 15px;
    }

    .taglinewrap {
        padding: 50px 15px;
    }
}

@media (max-width: 880px) {
    .portfolio-grid li .itemtitle p {
        font-size: 14px;
        line-height: 22px;
    }

    .portfolio-grid li .itemtitle {
        padding: 10px;
    }
}

@media (max-width: 768px) {
    h1 {
        font-size: 48px;
    }

    #counter .counter-item {
        margin-top: 28px;
        margin-bottom: 28px;
    }
}

@media (max-width: 767px) {
    .navbar-header {
        text-align: left;
    }

    .custom-navbar {
        border-bottom: 0;
        padding-bottom: 0;
    }

    .sticky-wrapper,
    .navbar-collapse.in {
        z-index: 100000;
    }

    .is-sticky .navbar-collapse.in {
        background: #eee;
    }

    .is-sticky .navbar-brand {
        display: block;
    }

    .custom-navbar .navbar-brand {
        line-height: 15px;
    }

    .custom-navbar .nav li .calltxt {
        border-left: 0;
    }

    .slide-text {
        margin-top: 80px;
    }

    #home {
        min-height: 500px;
    }

    .bformBox {
        margin-top: 15px;
    }

    .videobox {
        margin-top: 40px;
    }

    .circleList li {
        margin-top: 30px;
    }

    .vehiclesList ul li h3,
    .vehiclesList ul li .subtitle,
    .vehiclesList ul li .carPrice {
        text-align: center;
    }

    .vehiclesList ul li .subtitle:after {
        left: 50%;
        margin-left: -20px;
    }

    .pageTitle {
        padding-top: 90px;
    }

    .margin-left80 {
        margin-left: 0;
    }

    #about .about-desc {
        margin-bottom: 32px;
    }

    #address .address-phone {
        margin-top: 22px;
        margin-bottom: 22px;
    }

    #team .team-thumb {
        margin-bottom: 30px;
    }

    .is-sticky .custom-navbar .nav li a {
        line-height: 30px;
    }

    #service .service-thumb {}

    #counter .counter-number {
        font-size: 48px;
    }

    .parallax-section,
    #about,
    #packages {
        padding: 80px 15px;
    }

    .videowraper,
    .howitwrap {
        padding: 50px 15px;
    }

    .howlist li .iconcircle {
        margin-bottom: 50px;
    }

    .duffeltopsearch .col,
    .searchintbox .col {
        width: 100%;
        flex: 0 0 100%;
    }

    .duffeltopsearch .hidden-button,
    .searchintbox .hidden-button {
        display: none !important;
    }

    .newflighttitle {
        display: block;
    }

}

@media (max-width: 580px) {
    h1 {
        font-size: 29px
    }

    h2 {
        font-size: 24px;
        line-height: 42px;
    }

    h3 {
        font-size: 12px;
        letter-spacing: 2px;
    }
}

@media (max-width: 350px) {
    #about .team-wrapper .team-desc {
        padding-top: 14em;
    }
}

.booking-option {
    border: 2px solid #dee2e6;
    border-radius: 10px;
    padding: 1rem;
    transition: 0.3s;
    cursor: pointer;
}

.booking-radio:checked+.booking-option {
    border-color: #0d6efd;
    background-color: #f0f8ff;
}

.booking-option h5 {
    font-size: 1rem;
    margin-bottom: 0.25rem;
}

.dflpassengerbx {
    border: 1px solid #dee2e6;
    border-radius: 8px;
    padding: 1.5rem;
    margin-bottom: 1.5rem;
    background-color: #f9f9f9;
}

/* Flight Booking Cards */
.flight-booking-cards {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(400px, 1fr));
    gap: 20px;
    margin-top: 20px;
}

.flight-booking-card {
    background: #ffffff;
    border: 1px solid #e1e5e9;
    border-radius: 12px;
    padding: 20px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
    transition: all 0.3s ease;
    position: relative;
    overflow: hidden;
}

.flight-booking-card:hover {
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15);
    transform: translateY(-2px);
}

.flight-booking-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: linear-gradient(90deg, var(--primary-one), var(--secondary-color));
}

/* Card Header */
.flight-card-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 15px;
    padding-bottom: 15px;
    border-bottom: 1px solid #f0f0f0;
}

.flight-card-header .airline-info {
    display: flex;
    align-items: center;
    gap: 12px;
}

.flight-card-header .airline-logo {
    width: 50px;
    height: 50px;
    border-radius: 50%;
    background: #f8f9fa;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #e9ecef;
}

.flight-card-header .airline-logo img {
    max-width: 35px;
    max-height: 35px;
    object-fit: contain;
}

.flight-card-header .airline-name {
    font-weight: 600;
    color: #333;
    font-size: 16px;
}

.flight-card-header .booking-status {
    padding: 6px 12px;
    border-radius: 20px;
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.flight-card-header .booking-status.confirmed {
    background: #d4edda;
    color: #155724;
}

.flight-card-header .booking-status.pending {
    background: #fff3cd;
    color: #856404;
}

.flight-card-header .booking-status.hold {
    background: #f8d7da;
    color: #721c24;
}

.flight-card-header .booking-status.cancelled {
    background: #f5c6cb;
    color: #721c24;
}

/* Route Section */
.flight-route {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 20px;
    padding: 15px 0;
}

.flight-route .route-point {
    text-align: center;
    flex: 1;
}

.flight-route .route-point .airport-code {
    font-size: 24px;
    font-weight: 700;
    color: var(--primary-one);
    margin-bottom: 5px;
}

.flight-route .route-point .city-name {
    font-size: 14px;
    color: #666;
    font-weight: 500;
}

.flight-route .route-arrow {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 80px;
    position: relative;
}

.flight-route .route-arrow::before {
    content: '';
    position: absolute;
    width: 100%;
    height: 2px;
    background: linear-gradient(90deg, #e9ecef 50%, transparent 50%);
    background-size: 8px 2px;
    background-repeat: repeat-x;
}

.flight-route .route-arrow .plane-icon {
    background: #fff;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 2px solid var(--primary-one);
    color: var(--primary-one);
    font-size: 14px;
    position: relative;
    z-index: 1;
}

/* Flight Details */
.flight-details {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 15px;
    margin-bottom: 20px;
}

.flight-detail-item {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 14px;
    color: #555;
}

.flight-detail-item i {
    color: var(--primary-one);
    width: 16px;
    text-align: center;
}

.flight-detail-item .label {
    font-weight: 600;
    color: #333;
}

.flight-detail-item .value {
    color: #666;
}

/* Passenger Info */
.passenger-info {
    background: #f8f9fa;
    padding: 15px;
    border-radius: 8px;
    margin-bottom: 20px;
}

.passenger-info h6 {
    font-size: 14px;
    font-weight: 600;
    color: #333;
    margin-bottom: 10px;
}

.passenger-info .passenger-list {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.passenger-info .passenger-tag {
    background: #fff;
    padding: 4px 8px;
    border-radius: 4px;
    font-size: 12px;
    color: #666;
    border: 1px solid #e9ecef;
}

/* Price and Actions */
.flight-card-footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-top: 15px;
    border-top: 1px solid #f0f0f0;
}

.flight-price {
    text-align: right;
}

.flight-price .amount {
    font-size: 24px;
    font-weight: 700;
    color: var(--primary-one);
    display: block;
}

.flight-price .currency {
    font-size: 14px;
    color: #666;
}

.flight-actions {
    display: flex;
    gap: 10px;
}

.flight-actions .btn {
    padding: 8px 16px;
    font-size: 13px;
    font-weight: 600;
    border-radius: 6px;
    text-decoration: none;
    transition: all 0.3s ease;
}

.flight-actions .btn-view {
    background: var(--secondary-color);
    color: #fff;
    border: none;
}

.flight-actions .btn-view:hover {
    background: #e0a800;
    color: #fff;
}

.flight-actions .btn-pay {
    background: var(--primary-one);
    color: #fff;
    border: none;
}

.flight-actions .btn-pay:hover {
    background: #094a7a;
    color: #fff;
}

/* Expiry Warning */
.expiry-warning {
    background: #fff3cd;
    border: 1px solid #ffeaa7;
    border-radius: 6px;
    padding: 10px 15px;
    margin-bottom: 15px;
    font-size: 13px;
    color: #856404;
}

.expiry-warning i {
    margin-right: 5px;
    color: #f39c12;
}

/* Responsive Design */
@media (max-width: 768px) {
    .flight-booking-cards {
        grid-template-columns: 1fr;
        gap: 15px;
    }

    .flight-route .route-point .airport-code {
        font-size: 20px;
    }

    .flight-details {
        grid-template-columns: 1fr;
        gap: 10px;
    }

    .flight-card-footer {
        flex-direction: column;
        gap: 15px;
        align-items: stretch;
    }

    .flight-price {
        text-align: center;
    }

    .flight-actions {
        justify-content: center;
    }
}

/* Empty State */
.flight-booking-cards .empty-state {
    text-align: center;
    padding: 40px 20px;
    color: #666;
}

.flight-booking-cards .empty-state i {
    font-size: 48px;
    color: #ddd;
    margin-bottom: 15px;
    display: block;
}

.flight-booking-cards .empty-state h5 {
    font-size: 18px;
    color: #333;
    margin-bottom: 10px;
}

.flight-booking-cards .empty-state p {
    font-size: 14px;
    color: #666;
    margin-bottom: 0;
}

/* Booking Details Page */
.booking-details-container {
    background: #f8f9fa;
    min-height: 100vh;
    padding: 30px 0;
}

.booking-details-header {
    background: #fff;
    border-radius: 12px;
    padding: 30px;
    margin-bottom: 30px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

.booking-details-header .booking-id {
    display: flex;
    align-items: center;
    gap: 15px;
    margin-bottom: 20px;
}

.booking-details-header .booking-id h1 {
    font-size: 24px;
    font-weight: 700;
    color: var(--primary-one);
    margin: 0;
}

.booking-details-header .booking-id .copy-btn {
    background: #f8f9fa;
    border: 1px solid #e9ecef;
    border-radius: 6px;
    padding: 8px 12px;
    color: #666;
    cursor: pointer;
    transition: all 0.3s ease;
}

.booking-details-header .booking-id .copy-btn:hover {
    background: var(--primary-one);
    color: #fff;
}

.booking-details-header .action-buttons {
    display: flex;
    gap: 15px;
    margin-bottom: 20px;
}

.booking-details-header .action-btn {
    background: #fff;
    border: 1px solid #e9ecef;
    border-radius: 8px;
    padding: 12px 20px;
    color: #333;
    text-decoration: none;
    font-weight: 600;
    transition: all 0.3s ease;
    display: flex;
    align-items: center;
    gap: 8px;
}

.booking-details-header .action-btn:hover {
    background: var(--primary-one);
    color: #fff;
    border-color: var(--primary-one);
}

.booking-details-header .action-btn.primary {
    background: var(--primary-one);
    color: #fff;
    border-color: var(--primary-one);
}

.booking-details-header .action-btn.primary:hover {
    background: #094a7a;
}

.booking-details-content {
    display: grid;
    grid-template-columns: 2fr 1fr;
    gap: 30px;
}

.booking-details-main {
    display: flex;
    flex-direction: column;
    gap: 30px;
}

.booking-details-sidebar {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

/* Journey Section */
.journey-section {
    background: #fff;
    border-radius: 12px;
    padding: 30px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

.journey-header {
    display: flex;
    align-items: center;
    gap: 15px;
    margin-bottom: 25px;
    padding-bottom: 20px;
    border-bottom: 1px solid #f0f0f0;
}

.journey-header .airline-logo {
    width: 60px;
    height: 60px;
    border-radius: 50%;
    background: #f8f9fa;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #e9ecef;
}

.journey-header .airline-logo img {
    max-width: 45px;
    max-height: 45px;
    object-fit: contain;
}

.journey-header .journey-info h3 {
    font-size: 24px;
    font-weight: 700;
    color: #333;
    margin: 0 0 5px 0;
}

.journey-header .journey-info .route {
    font-size: 16px;
    color: #666;
    font-weight: 500;
}

.journey-header .journey-info .class {
    font-size: 14px;
    color: var(--primary-one);
    font-weight: 600;
    margin-top: 5px;
}

.journey-timeline {
    position: relative;
    padding-left: 30px;
    margin-bottom: 30px;
}

.journey-timeline::before {
    content: '';
    position: absolute;
    left: 15px;
    top: 10px;
    bottom: 50px;
    width: 2px;
    background: linear-gradient(to bottom, var(--primary-one), var(--secondary-color));
}

.journey-timeline .timeline-item {
    position: relative;
    padding-left: 30px;
}

.journey-timeline .timeline-item::before {
    content: '';
    position: absolute;
    left: -22px;
    top: 8px;
    width: 16px;
    height: 16px;
    border-radius: 50%;
    background: #fff;
    border: 3px solid var(--primary-one);
}

.journey-timeline .timeline-item.departure::before {
    border-color: var(--primary-one);
}

.journey-timeline .timeline-item.arrival::before {
    border-color: var(--secondary-color);
}

.journey-timeline .timeline-item .time {
    font-size: 20px;
    font-weight: 700;
    color: #333;
    margin-bottom: 5px;
}

.journey-timeline .timeline-item .date {
    font-size: 14px;
    color: #666;
    margin-bottom: 10px;
}

.journey-timeline .timeline-item .location {
    font-size: 16px;
    font-weight: 600;
    color: #333;
    margin-bottom: 5px;
}

.journey-timeline .timeline-item .airport {
    font-size: 14px;
    color: #666;
}

.journey-timeline .timeline-item .terminal {
    font-size: 12px;
    color: var(--primary-one);
    font-weight: 600;
    margin-top: 5px;
}

.journey-timeline .flight-duration {
    background: #f8f9fa;
    border-radius: 8px;
    padding: 15px;
    margin: 10px 0;
    margin-left: 30px;
}

.journey-timeline .flight-duration .duration {
    font-size: 18px;
    font-weight: 700;
    color: var(--primary-one);
}

.journey-timeline .flight-duration .route {
    font-size: 16px;
    color: #666;
}

.journey-timeline .flight-duration .type {
    font-size: 12px;
    color: #999;
    margin-top: 5px;
}

/* Flight Details */
.flight-detailsbox {
    background: #fff;
    border-radius: 12px;
    padding: 30px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.flight-details h4 {
    font-size: 20px;
    font-weight: 700;
    color: #333;
    margin-bottom: 20px;
    padding-bottom: 15px;
    border-bottom: 1px solid #f0f0f0;
}

.flight-details-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 20px;
}

.flight-detail-item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 15px;
    background: #f8f9fa;
    border-radius: 8px;
}

.flight-detail-item i {
    color: var(--primary-one);
    font-size: 16px;
    width: 20px;
    text-align: center;
}

.flight-detail-item .detail-content {
    flex: 1;
}

.flight-detail-item .label {
    font-size: 12px;
    color: #666;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    display: block;
}

.flight-detail-item .value {
    font-size: 14px;
    color: #333;
    font-weight: 600;
    margin-top: 2px;
}

/* Policies Section */
.policies-section {
    background: #fff;
    border-radius: 12px;
    padding: 30px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

.policies-section h4 {
    font-size: 20px;
    font-weight: 700;
    color: #333;
    margin-bottom: 20px;
    padding-bottom: 15px;
    border-bottom: 1px solid #f0f0f0;
}

.policy-item {
    display: flex;
    align-items: flex-start;
    gap: 15px;
    padding: 20px;
    background: #f8f9fa;
    border-radius: 8px;
    margin-bottom: 15px;
}

.policy-item:last-child {
    margin-bottom: 0;
}

.policy-item i {
    color: #28a745;
    font-size: 18px;
    margin-top: 2px;
}

.policy-item .policy-content h6 {
    font-size: 16px;
    font-weight: 600;
    color: #333;
    margin-bottom: 5px;
}

.policy-item .policy-content p {
    font-size: 14px;
    color: #666;
    margin: 0;
    line-height: 1.5;
}

/* Passengers Section */
.passengers-section {
    background: #fff;
    border-radius: 12px;
    padding: 30px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

.passengers-section h4 {
    font-size: 20px;
    font-weight: 700;
    color: #333;
    margin-bottom: 20px;
    padding-bottom: 15px;
    border-bottom: 1px solid #f0f0f0;
}

.passenger-group {
    margin-bottom: 20px;
    border-bottom: 1px solid #f0f0f0;
    transition: all 0.3s ease;
}

.passenger-group:hover {
    transform: translateX(5px);
}

.passenger-group h6 {
    color: #667eea;
    font-weight: 700;
    margin-bottom: 20px;
    font-size: 1.1rem;
}

.passenger-card {
    background: #f8f9fa;
    border-radius: 8px;
    padding: 20px;
    margin-bottom: 20px;
}

.passenger-card:last-child {
    margin-bottom: 0;
}

.passenger-card .passenger-header {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 15px;
    padding-bottom: 15px;
    border-bottom: 1px solid #e9ecef;
}

.passenger-card .passenger-type {
    background: var(--primary-one);
    color: #fff;
    padding: 4px 8px;
    border-radius: 4px;
    font-size: 12px;
    font-weight: 600;
}

.passenger-card .passenger-name {
    font-size: 18px;
    font-weight: 700;
    color: #333;
}

.passenger-details {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 15px;
}

.passenger-detail-item {
    display: flex;
    align-items: center;
    gap: 10px;
}

.passenger-detail-item i {
    color: var(--primary-one);
    width: 16px;
    text-align: center;
}

.passenger-detail-item .label {
    font-size: 12px;
    color: #666;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.passenger-detail-item .value {
    font-size: 14px;
    color: #333;
    font-weight: 600;
}

/* Summary Section */
.summary-section {
    background: #fff;
    border-radius: 12px;
    padding: 30px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

.summary-section h4 {
    font-size: 20px;
    font-weight: 700;
    color: #333;
    margin-bottom: 20px;
    padding-bottom: 15px;
    border-bottom: 1px solid #f0f0f0;
}

.summary-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 12px 0;
    border-bottom: 1px solid #f0f0f0;
}

.summary-item:last-child {
    border-bottom: none;
}

.summary-item .label {
    font-size: 14px;
    color: #666;
    font-weight: 500;
}

.summary-item .value {
    font-size: 14px;
    color: #333;
    font-weight: 600;
}

.summary-item .status {
    padding: 4px 8px;
    border-radius: 4px;
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
}

.summary-item .status.confirmed {
    background: #d4edda;
    color: #155724;
}

.summary-item .status.pending {
    background: #fff3cd;
    color: #856404;
}

.summary-item .status.hold {
    background: #f8d7da;
    color: #721c24;
}

.summary-item .status.expired {
    background: #f5c6cb;
    color: #721c24;
}

/* Price Breakdown */
.price-breakdown {
    background: #f8f9fa;
    border-radius: 8px;
    padding: 20px;
    margin-top: 20px;
}

.price-breakdown h5 {
    font-size: 16px;
    font-weight: 700;
    color: #333;
    margin-bottom: 15px;
}

.price-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 8px 0;
    font-size: 14px;
}

.price-item .label {
    color: #666;
}

.price-item .value {
    color: #333;
    font-weight: 600;
}

.price-item.total {
    border-top: 1px solid #e9ecef;
    padding-top: 15px;
    margin-top: 15px;
    font-size: 18px;
    font-weight: 700;
    color: var(--primary-one);
}

/* Responsive Design */
@media (max-width: 1024px) {
    .booking-details-content {
        grid-template-columns: 1fr;
        gap: 20px;
    }
}

@media (max-width: 768px) {
    .booking-details-header .action-buttons {
        flex-direction: column;
    }

    .journey-timeline {
        padding-left: 20px;
    }

    .journey-timeline::before {
        left: 10px;
    }

    .journey-timeline .timeline-item {
        padding-left: 20px;
    }

    .journey-timeline .timeline-item::before {
        left: -6px;
        width: 12px;
        height: 12px;
    }

    .flight-details-grid {
        grid-template-columns: 1fr;
    }

    .passenger-details {
        grid-template-columns: 1fr;
    }
}

/* Booking Form Design */
.booking-form-container {
    background: #f8f9fa;
    min-height: 100vh;
    padding: 30px 0;
}

.booking-form-header {
    margin-bottom: 30px;
}

.booking-form-header .booking-title {
    display: flex;
    align-items: center;
    gap: 15px;
    margin-bottom: 20px;
}

.booking-form-header .booking-title h1 {
    font-size: 28px;
    font-weight: 700;
    color: var(--primary-one);
    margin: 0;
}

.booking-form-content {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 30px;
}

.booking-form-main {
    display: flex;
    flex-direction: column;
    gap: 1px;
}

.booking-form-sidebar {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

/* Journey Section for Booking Form */
.booking-journey-section {
    background: #fff;
    padding: 30px;
    border-radius: 12px 12px 0 0;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

.booking-journey-header {
    display: flex;
    align-items: center;
    gap: 15px;
    margin-bottom: 25px;
    padding-bottom: 20px;
    border-bottom: 1px solid #f0f0f0;
}

.booking-journey-header .airline-logo {
    width: 60px;
    height: 60px;
    border-radius: 50%;
    background: #f8f9fa;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #e9ecef;
}

.booking-journey-header .airline-logo img {
    max-width: 45px;
    max-height: 45px;
    object-fit: contain;
}

.booking-journey-header .journey-info h3 {
    font-size: 24px;
    font-weight: 700;
    color: #333;
    margin: 0 0 5px 0;
}

.booking-journey-header .journey-info .route {
    font-size: 16px;
    color: #666;
    font-weight: 500;
}

.booking-journey-header .journey-info .class {
    font-size: 14px;
    color: var(--primary-one);
    font-weight: 600;
    margin-top: 5px;
}

.booking-journey-timeline {
    position: relative;
    padding-left: 30px;
    margin-bottom: 30px;
}

.booking-journey-timeline::before {
    content: '';
    position: absolute;
    left: 15px;
    top: 10px;
    bottom: 50px;
    width: 2px;
    background: linear-gradient(to bottom, var(--primary-one), var(--secondary-color));
}

.booking-journey-timeline .timeline-item {
    position: relative;
    padding-left: 30px;
}

.booking-journey-timeline .timeline-item::before {
    content: '';
    position: absolute;
    left: -22px;
    top: 8px;
    width: 16px;
    height: 16px;
    border-radius: 50%;
    background: #fff;
    border: 3px solid var(--primary-one);
}

.booking-journey-timeline .timeline-item.departure::before {
    border-color: var(--primary-one);
}

.booking-journey-timeline .timeline-item.arrival::before {
    border-color: var(--secondary-color);
}

.booking-journey-timeline .timeline-item .time {
    font-size: 18px;
    font-weight: 700;
    color: #333;
    margin-bottom: 5px;
}

.booking-journey-timeline .timeline-item .location {
    font-size: 16px;
    font-weight: 600;
    color: #333;
    margin-bottom: 5px;
}

.booking-journey-timeline .timeline-item .airport {
    font-size: 14px;
    color: #666;
}

.booking-journey-timeline .timeline-item .terminal {
    font-size: 12px;
    color: var(--primary-one);
    font-weight: 600;
    margin-top: 5px;
}

.booking-journey-timeline .flight-duration {
    background: #f8f9fa;
    border-radius: 8px;
    padding: 15px;
    margin: 10px 0;
    margin-left: 30px;
}

.booking-journey-timeline .flight-duration .duration {
    font-size: 16px;
    font-weight: 700;
    color: var(--primary-one);
}

.booking-journey-timeline .flight-duration .route {
    font-size: 14px;
    color: #666;
}

/* Flight Details for Booking Form */
.booking-flight-details {
    background: #fff;
    padding: 30px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.booking-flight-details h4 {
    font-size: 20px;
    font-weight: 700;
    color: #333;
    margin-bottom: 20px;
    padding-bottom: 15px;
    border-bottom: 1px solid #f0f0f0;
}

.booking-flight-details-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 20px;
}

.booking-flight-detail-item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 15px;
    background: #f8f9fa;
    border-radius: 8px;
}

.booking-flight-detail-item i {
    color: var(--primary-one);
    font-size: 16px;
    width: 20px;
    text-align: center;
}

.booking-flight-detail-item .detail-content {
    flex: 1;
}

.booking-flight-detail-item .label {
    font-size: 12px;
    color: #666;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    display: block;
}

.booking-flight-detail-item .value {
    font-size: 14px;
    color: #333;
    font-weight: 600;
    margin-top: 2px;
}

/* Policies Section for Booking Form */
.booking-policies-section {
    background: #fff;
    padding: 30px;
    border-radius: 0 0 12px 12px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

.booking-policies-section h4 {
    font-size: 20px;
    font-weight: 700;
    color: #333;
    margin-bottom: 20px;
    padding-bottom: 15px;
    border-bottom: 1px solid #f0f0f0;
}

.booking-policy-item {
    display: flex;
    align-items: flex-start;
    gap: 15px;
    padding: 20px;
    background: #f8f9fa;
    border-radius: 8px;
    margin-bottom: 15px;
}

.booking-policy-item:last-child {
    margin-bottom: 0;
}

.booking-policy-item i {
    color: #28a745;
    font-size: 18px;
    margin-top: 2px;
}

.booking-policy-item .policy-content h6 {
    font-size: 16px;
    font-weight: 600;
    color: #333;
    margin-bottom: 5px;
}

.booking-policy-item .policy-content p {
    font-size: 14px;
    color: #666;
    margin: 0;
    line-height: 1.5;
}

.user-profile-container {
    background: linear-gradient(135deg, #eee 0%, #ddd 100%);
    min-height: 100vh;
    padding: 40px 0;
    position: relative;
}

.user-profile-container::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><defs><pattern id="profile-pattern" width="100" height="100" patternUnits="userSpaceOnUse"><circle cx="50" cy="50" r="1" fill="white" opacity="0.05"/></pattern></defs><rect width="100" height="100" fill="url(%23profile-pattern)"/></svg>');
    pointer-events: none;
}

.user-profile-card {
    background: white;
    border-radius: 20px;
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.1);
    overflow: hidden;
    margin-bottom: 30px;
    position: relative;
    z-index: 1;
}

.user-profile-card::before {
    content: '';
    position: absolute;
    top: -2px;
    left: -2px;
    right: -2px;
    bottom: -2px;
    background: linear-gradient(135deg, #667eea 0%, #428141 100%);
    border-radius: 22px;
    z-index: -1;
    opacity: 0.1;
}

.user-profile-header {
    background: linear-gradient(135deg, #667eea 0%, #428141 100%);
    color: white;
    padding: 40px;
    text-align: center;
    position: relative;
    overflow: hidden;
}

.user-profile-header::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><defs><pattern id="grain" width="100" height="100" patternUnits="userSpaceOnUse"><circle cx="50" cy="50" r="1" fill="white" opacity="0.1"/></pattern></defs><rect width="100" height="100" fill="url(%23grain)"/></svg>');
    opacity: 0.3;
}

.user-profile-avatar {
    width: 120px;
    height: 120px;
    border-radius: 50%;
    border: 5px solid rgba(255, 255, 255, 0.3);
    margin: 0 auto 20px;
    position: relative;
    z-index: 2;
    background: white;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 48px;
    color: #667eea;
    font-weight: bold;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2);
    transition: all 0.3s ease;
}

.user-profile-avatar:hover {
    transform: scale(1.05);
    box-shadow: 0 15px 40px rgba(0, 0, 0, 0.3);
}

.user-profile-avatar img {
    width: 100%;
    height: 100%;
    border-radius: 50%;
    object-fit: cover;
}

.user-profile-name {
    font-size: 28px;
    font-weight: 700;
    margin-bottom: 10px;
    position: relative;
    z-index: 2;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.user-profile-info {
    display: flex;
    justify-content: center;
    gap: 30px;
    flex-wrap: wrap;
    position: relative;
    z-index: 2;
}

.user-profile-info-item {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 16px;
    opacity: 0.9;
    padding: 10px 20px;
    background: rgba(255, 255, 255, 0.1);
    border-radius: 25px;
    backdrop-filter: blur(10px);
    border: 1px solid rgba(255, 255, 255, 0.2);
}

.user-profile-info-item i {
    font-size: 18px;
    width: 20px;
}

.user-profile-body {
    padding: 40px;
    background: linear-gradient(135deg, #f8fafc 0%, #f1f5f9 100%);
}

.user-section-title {
    font-size: 24px;
    font-weight: 700;
    color: #2d3748;
    margin-bottom: 0;
    display: flex;
    align-items: center;
    gap: 15px;
    position: relative;
    padding-bottom: 15px;
}

.user-section-title::before {
    content: '';
    width: 4px;
    height: 24px;
    background: linear-gradient(135deg, #667eea 0%, #428141 100%);
    border-radius: 2px;
}

.user-section-title i {
    color: #667eea;
    font-size: 20px;
}

.user-form-group {
    margin-bottom: 25px;
    position: relative;
}

.user-form-label {
    font-weight: 600;
    color: #4a5568;
    margin-bottom: 8px;
    display: block;
    font-size: 14px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.user-form-control {
    border: 2px solid #e2e8f0;
    border-radius: 12px;
    padding: 15px 20px;
    font-size: 16px;
    transition: all 0.3s ease;
    background: #f8fafc;
    width: 100%;
}

.user-form-control:focus {
    border-color: #667eea;
    box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.1);
    background: white;
    outline: none;
    transform: translateY(-1px);
}

.user-form-control:disabled {
    background: #f1f5f9;
    color: #64748b;
    cursor: not-allowed;
}

.user-form-control.is-invalid {
    border-color: #ef4444;
    box-shadow: 0 0 0 3px rgba(239, 68, 68, 0.1);
}

.user-invalid-feedback {
    color: #ef4444;
    font-size: 14px;
    margin-top: 5px;
    display: block;
}

.user-btn-primary {
    background: linear-gradient(135deg, #667eea 0%, #428141 100%);
    border: none;
    border-radius: 12px;
    padding: 15px 40px;
    font-size: 16px;
    font-weight: 600;
    color: white;
    transition: all 0.3s ease;
    box-shadow: 0 4px 15px rgba(102, 126, 234, 0.3);
    position: relative;
    overflow: hidden;
}

.user-btn-primary::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent);
    transition: left 0.5s;
}

.user-btn-primary:hover::before {
    left: 100%;
}

.user-btn-primary:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 25px rgba(102, 126, 234, 0.4);
}

.user-btn-outline-danger {
    border: 2px solid #ef4444;
    color: #ef4444;
    border-radius: 8px;
    padding: 8px 16px;
    font-size: 14px;
    transition: all 0.3s ease;
    background: transparent;
}

.user-btn-outline-danger:hover {
    background: #ef4444;
    color: white;
    transform: translateY(-1px);
}

.user-btn-secondary {
    background: linear-gradient(135deg, #6b7280 0%, #4b5563 100%);
    border: none;
    border-radius: 12px;
    padding: 12px 24px;
    font-size: 14px;
    font-weight: 600;
    color: white;
    transition: all 0.3s ease;
    box-shadow: 0 4px 15px rgba(107, 114, 128, 0.3);
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.user-btn-secondary:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 25px rgba(107, 114, 128, 0.4);
    color: white;
    text-decoration: none;
}

.user-alert {
    border-radius: 12px;
    border: none;
    padding: 20px;
    margin-bottom: 25px;
    position: relative;
    overflow: hidden;
}

.user-alert::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 4px;
    height: 100%;
    background: currentColor;
    opacity: 0.3;
}

.user-alert-success {
    background: linear-gradient(135deg, #10b981 0%, #059669 100%);
    color: white;
}

.user-alert-danger {
    background: linear-gradient(135deg, #ef4444 0%, #dc2626 100%);
    color: white;
}

.user-photo-upload-section {
    background: #f8fafc;
    border-radius: 16px;
    padding: 25px;
    margin-bottom: 30px;
    border: 2px dashed #cbd5e0;
    transition: all 0.3s ease;
    position: relative;
    z-index: 2;
}

.user-photo-upload-section::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(135deg, rgba(102, 126, 234, 0.05) 0%, rgba(118, 75, 162, 0.05) 100%);
    border-radius: 16px;
    opacity: 0;
    transition: opacity 0.3s ease;
    z-index: -1;
}

.user-photo-upload-section:hover::before {
    opacity: 1;
}

.user-photo-upload-section:hover {
    border-color: #667eea;
    background: #f0f4ff;
    transform: translateY(-2px);
    box-shadow: 0 8px 25px rgba(102, 126, 234, 0.1);
}

.user-photo-preview {
    display: flex;
    align-items: center;
    gap: 20px;
    margin-bottom: 20px;
}

.user-photo-input-wrapper {
    flex: 1;
}

.user-location-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 20px;
    margin-bottom: 30px;
}

.user-phone-input-group {
    display: flex;
    gap: 15px;
    align-items: stretch;
}

.user-phone-input-group .user-form-control:first-child {
    flex: 0 0 200px;
}

.user-phone-input-group .user-form-control:last-child {
    flex: 1;
}

.user-text-muted {
    color: #64748b !important;
    font-size: 13px;
    margin-top: 5px;
    display: block;
}

.user-back-button-container {
    text-align: left;
    margin-bottom: 20px;
    padding: 0 20px;
}

/* Responsive Design */
@media (max-width: 768px) {
    .user-profile-header {
        padding: 30px 20px;
    }

    .user-profile-body {
        padding: 30px 20px;
    }

    .user-profile-info {
        flex-direction: column;
        gap: 15px;
    }

    .user-phone-input-group {
        flex-direction: column;
    }

    .user-phone-input-group .user-form-control:first-child {
        flex: 1;
    }

    .user-location-grid {
        grid-template-columns: 1fr;
    }

    .user-profile-avatar {
        width: 100px;
        height: 100px;
        font-size: 36px;
    }

    .user-profile-name {
        font-size: 24px;
    }
}

@media (max-width: 576px) {
    .user-profile-container {
        padding: 20px 0;
    }

    .user-profile-card {
        margin: 0 10px 20px;
        border-radius: 15px;
    }

    .user-profile-header {
        padding: 25px 15px;
    }

    .user-profile-body {
        padding: 25px 15px;
    }
}

/* Animation Classes */
@keyframes userFadeInUp {
    from {
        opacity: 0;
        transform: translateY(30px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.user-profile-card {
    animation: userFadeInUp 0.6s ease-out;
}

.user-form-group {
    animation: userFadeInUp 0.6s ease-out;
    animation-fill-mode: both;
}

.user-form-group:nth-child(1) {
    animation-delay: 0.1s;
}

.user-form-group:nth-child(2) {
    animation-delay: 0.2s;
}

.user-form-group:nth-child(3) {
    animation-delay: 0.3s;
}

.user-form-group:nth-child(4) {
    animation-delay: 0.4s;
}

.user-form-group:nth-child(5) {
    animation-delay: 0.5s;
}

.user-form-group:nth-child(6) {
    animation-delay: 0.6s;
}

.password-change-container {
    background: linear-gradient(135deg, #eee 0%, #ddd 100%);
    min-height: 100vh;
    padding: 40px 0;
    position: relative;
}

.password-change-container::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><defs><pattern id="password-pattern" width="100" height="100" patternUnits="userSpaceOnUse"><circle cx="50" cy="50" r="1" fill="white" opacity="0.05"/></pattern></defs><rect width="100" height="100" fill="url(%23password-pattern)"/></svg>');
    pointer-events: none;
}

.password-change-card {
    background: white;
    border-radius: 20px;
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.1);
    overflow: hidden;
    margin-bottom: 30px;
    position: relative;
    z-index: 1;
}

.password-change-card::before {
    content: '';
    position: absolute;
    top: -2px;
    left: -2px;
    right: -2px;
    bottom: -2px;
    background: linear-gradient(135deg, #667eea 0%, #428141 100%);
    border-radius: 22px;
    z-index: -1;
    opacity: 0.1;
}

.password-change-header {
    background: linear-gradient(135deg, #667eea 0%, #428141 100%);
    color: white;
    padding: 40px;
    text-align: center;
    position: relative;
    overflow: hidden;
}

.password-change-header::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><defs><pattern id="grain" width="100" height="100" patternUnits="userSpaceOnUse"><circle cx="50" cy="50" r="1" fill="white" opacity="0.1"/></pattern></defs><rect width="100" height="100" fill="url(%23grain)"/></svg>');
    opacity: 0.3;
}

.password-change-icon {
    width: 80px;
    height: 80px;
    border-radius: 50%;
    border: 4px solid rgba(255, 255, 255, 0.3);
    margin: 0 auto 20px;
    position: relative;
    z-index: 2;
    background: rgba(255, 255, 255, 0.1);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 32px;
    color: white;
    backdrop-filter: blur(10px);
}

.password-change-title {
    font-size: 28px;
    font-weight: 700;
    margin-bottom: 10px;
    position: relative;
    z-index: 2;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.password-change-subtitle {
    font-size: 16px;
    opacity: 0.9;
    position: relative;
    z-index: 2;
    color: #fff;
}

.password-change-body {
    padding: 40px;
    background: linear-gradient(135deg, #f8fafc 0%, #f1f5f9 100%);
}

.password-section-title {
    font-size: 24px;
    font-weight: 700;
    color: #2d3748;
    margin-bottom: 30px;
    display: flex;
    align-items: center;
    gap: 15px;
    position: relative;
}

.password-section-title::before {
    content: '';
    width: 4px;
    height: 24px;
    background: linear-gradient(135deg, #667eea 0%, #428141 100%);
    border-radius: 2px;
}

.password-section-title i {
    color: #667eea;
    font-size: 20px;
}

.password-form-group {
    margin-bottom: 25px;
    position: relative;
}

.password-form-label {
    font-weight: 600;
    color: #4a5568;
    margin-bottom: 8px;
    display: block;
    font-size: 14px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.password-form-control {
    border: 2px solid #e2e8f0;
    border-radius: 12px;
    padding: 15px 20px;
    font-size: 16px;
    transition: all 0.3s ease;
    background: #f8fafc;
    width: 100%;
}

.password-form-control:focus {
    border-color: #667eea;
    box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.1);
    background: white;
    outline: none;
    transform: translateY(-1px);
}

.password-form-control.is-invalid {
    border-color: #ef4444;
    box-shadow: 0 0 0 3px rgba(239, 68, 68, 0.1);
}

.password-invalid-feedback {
    color: #ef4444;
    font-size: 14px;
    margin-top: 5px;
    display: block;
}

.password-btn-primary {
    background: linear-gradient(135deg, #667eea 0%, #428141 100%);
    border: none;
    border-radius: 12px;
    padding: 15px 40px;
    font-size: 16px;
    font-weight: 600;
    color: white;
    transition: all 0.3s ease;
    box-shadow: 0 4px 15px rgba(102, 126, 234, 0.3);
    position: relative;
    overflow: hidden;
}

.password-btn-primary::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent);
    transition: left 0.5s;
}

.password-btn-primary:hover::before {
    left: 100%;
}

.password-btn-primary:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 25px rgba(102, 126, 234, 0.4);
}

.password-btn-secondary {
    background: linear-gradient(135deg, #6b7280 0%, #4b5563 100%);
    border: none;
    border-radius: 12px;
    padding: 12px 24px;
    font-size: 14px;
    font-weight: 600;
    color: white;
    transition: all 0.3s ease;
    box-shadow: 0 4px 15px rgba(107, 114, 128, 0.3);
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.password-btn-secondary:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 25px rgba(107, 114, 128, 0.4);
    color: white;
    text-decoration: none;
}

.password-alert {
    border-radius: 12px;
    border: none;
    padding: 20px;
    margin-bottom: 25px;
    position: relative;
    overflow: hidden;
}

.password-alert::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 4px;
    height: 100%;
    background: currentColor;
    opacity: 0.3;
}

.password-alert-success {
    background: linear-gradient(135deg, #10b981 0%, #059669 100%);
    color: white;
}

.password-alert-danger {
    background: linear-gradient(135deg, #ef4444 0%, #dc2626 100%);
    color: white;
}

.password-requirements {
    background: #f8fafc;
    border-radius: 12px;
    padding: 20px;
    margin-bottom: 25px;
    border-left: 4px solid #667eea;
}

.password-requirements h6 {
    color: #2d3748;
    font-weight: 600;
    margin-bottom: 15px;
    font-size: 16px;
}

.password-requirements ul {
    margin: 0;
    padding-left: 20px;
    color: #4a5568;
}

.password-requirements li {
    margin-bottom: 8px;
    font-size: 14px;
}

.password-requirements li i {
    color: #667eea;
    margin-right: 8px;
    width: 16px;
}

.password-back-button-container {
    text-align: left;
    margin-bottom: 20px;
    padding: 0 20px;
}

/* Responsive Design */
@media (max-width: 768px) {
    .password-change-header {
        padding: 30px 20px;
    }

    .password-change-body {
        padding: 30px 20px;
    }

    .password-change-icon {
        width: 60px;
        height: 60px;
        font-size: 24px;
    }

    .password-change-title {
        font-size: 24px;
    }
}

@media (max-width: 576px) {
    .password-change-container {
        padding: 20px 0;
    }

    .password-change-card {
        margin: 0 10px 20px;
        border-radius: 15px;
    }

    .password-change-header {
        padding: 25px 15px;
    }

    .password-change-body {
        padding: 25px 15px;
    }
}

/* Animation Classes */
@keyframes passwordFadeInUp {
    from {
        opacity: 0;
        transform: translateY(30px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.password-change-card {
    animation: passwordFadeInUp 0.6s ease-out;
}

.password-form-group {
    animation: passwordFadeInUp 0.6s ease-out;
    animation-fill-mode: both;
}

.password-form-group:nth-child(1) {
    animation-delay: 0.1s;
}

.password-form-group:nth-child(2) {
    animation-delay: 0.2s;
}

.password-form-group:nth-child(3) {
    animation-delay: 0.3s;
}

.password-form-group:nth-child(4) {
    animation-delay: 0.4s;
}

/* Custom Select Styling */
select.user-form-control {
    appearance: none;
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3e%3c/svg%3e");
    background-position: right 12px center;
    background-repeat: no-repeat;
    background-size: 16px;
    padding-right: 40px;
}

/* Enhanced Button States */
.user-btn-primary:active {
    transform: translateY(0);
    box-shadow: 0 2px 10px rgba(102, 126, 234, 0.3);
}

.user-btn-outline-danger:active {
    transform: translateY(0);
}

.user-btn-secondary:active {
    transform: translateY(0);
    box-shadow: 0 2px 10px rgba(107, 114, 128, 0.3);
}

/* Summary Section for Booking Form */
.booking-summary-section {
    background: #fff;
    border-radius: 12px;
    padding: 30px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

.booking-summary-section h4 {
    font-size: 20px;
    font-weight: 700;
    color: #333;
    margin-bottom: 20px;
    padding-bottom: 15px;
    border-bottom: 1px solid #f0f0f0;
}

.booking-summary-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 12px 0;
    border-bottom: 1px solid #f0f0f0;
}

.booking-summary-item:last-child {
    border-bottom: none;
}

.booking-summary-item .label {
    font-size: 14px;
    color: #666;
    font-weight: 500;
}

.booking-summary-item .value {
    font-size: 14px;
    color: #333;
    font-weight: 600;
}

/* Price Breakdown for Booking Form */
.booking-price-breakdown {
    background: #f8f9fa;
    border-radius: 8px;
    padding: 20px;
    margin-top: 20px;
}

.booking-price-breakdown h5 {
    font-size: 16px;
    font-weight: 700;
    color: #333;
    margin-bottom: 15px;
}

.booking-price-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 8px 0;
    font-size: 14px;
}

.booking-price-item .label {
    color: #666;
}

.booking-price-item .value {
    color: #333;
    font-weight: 600;
}

.booking-price-item.total {
    border-top: 1px solid #e9ecef;
    padding-top: 15px;
    margin-top: 15px;
    font-size: 18px;
    font-weight: 700;
    color: var(--primary-one);
}

/* Responsive Design for Booking Form */
@media (max-width: 1024px) {
    .booking-form-content {
        grid-template-columns: 1fr;
        gap: 20px;
    }
}

@media (max-width: 768px) {
    .booking-journey-timeline {
        padding-left: 20px;
    }

    .booking-journey-timeline::before {
        left: 10px;
    }

    .booking-journey-timeline .timeline-item {
        padding-left: 20px;
    }

    .booking-journey-timeline .timeline-item::before {
        left: -6px;
        width: 12px;
        height: 12px;
    }

    .booking-flight-details-grid {
        grid-template-columns: 1fr;
    }
}

/* Booking Form Styling - Clean and Modern */
.booking-hero {
    background: linear-gradient(135deg, #667eea 0%, #428141 100%);
    color: white;
    padding: 60px 0;
    text-align: center;
}

.hero-title {
    font-size: 2.5rem;
    font-weight: 700;
    margin-bottom: 1rem;
}

.hero-subtitle {
    font-size: 1.1rem;
    opacity: 0.9;
    margin-bottom: 2rem;
}

.tour-info-badge {
    background: rgba(255, 255, 255, 0.2);
    backdrop-filter: blur(10px);
    padding: 15px 30px;
    border-radius: 50px;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    font-weight: 600;
}

.booking-form-section {
    background: #fff;
    padding: 30px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
    border-radius: 15px;
}

.booking-form-section h4 {
    font-size: 20px;
    font-weight: 700;
    position: relative;
    margin-bottom: 15px;
}

.booking-form-section .passenger-card {
    background: none;
    border: none;
    padding: 0;
}

/* Service Breakdown Items (Add-ons) */
#serviceBreakdownContainer .booking-price-item {
    color: #2563eb;
    font-style: italic;
}

#serviceBreakdownContainer .booking-price-item .label {
    color: #2563eb;
}

/* Passport Information Section */
.passport-info-header {
    display: flex;
    align-items: center;
    gap: 10px;
    padding-top: 15px;
    margin-top: 15px;
    border-top: 1px dashed #e9ecef;
}

/* Passport Info Section in Booking Details */
.passport-info-section {
    margin-top: 20px;
    padding-top: 20px;
    border-top: 1px dashed #e9ecef;
}

.passport-info-section h6 {
    color: var(--primary-one);
    font-weight: 600;
    font-size: 16px;
    margin-bottom: 15px;
    display: flex;
    align-items: center;
    gap: 8px;
}

.passport-info-section h6 i {
    color: var(--primary-one);
}

.passport-info-header h6 {
    color: var(--primary-one);
    font-weight: 600;
    margin-bottom: 0;
    font-size: 16px;
}

.passport-info-header i {
    color: var(--primary-one);
    font-size: 18px;
}

/* Form Card */
.booking-form-card {
    background: white;
    border-radius: 20px;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.1);
    overflow: hidden;
}

.form-card-header {
    background: linear-gradient(135deg, #667eea 0%, #428141 100%);
    color: white;
    padding: 30px;
    text-align: center;
}

.form-title {
    font-size: 1.8rem;
    font-weight: 700;
    margin-bottom: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    color: #fff;
}

.form-subtitle {
    opacity: 0.9;
    margin: 0;
    color: #fff;
}

.section-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 15px;
    flex-wrap: wrap;
}

.section-header .section-title {
    margin-bottom: 0px;
    padding-bottom: 0;
}

/* Form Sections */
.form-section {
    padding: 30px;
    border-bottom: 1px solid #f1f3f4;
}

.form-section:last-of-type {
    border-bottom: none;
}


/* Booking Type Selection */
.booking-type-section {
    margin-bottom: 30px;
}

.booking-type-options {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 15px;
    margin-top: 15px;
}

.booking-type-option {
    position: relative;
    border: 2px solid #e9ecef;
    border-radius: 12px;
    padding: 20px;
    cursor: pointer;
    transition: all 0.3s ease;
    background: #fff;
}

.booking-type-option:hover {
    border-color: var(--primary-one);
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

.booking-type-option.selected {
    border-color: var(--primary-one);
    background: linear-gradient(135deg, #f8f9ff 0%, #e8f2ff 100%);
}

.booking-type-option input[type="radio"] {
    position: absolute;
    opacity: 0;
}

.booking-type-option .option-header {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 8px;
}

.booking-type-option .option-icon {
    width: 24px;
    height: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: var(--primary-one);
    color: #fff;
    font-size: 12px;
}

.booking-type-option h5 {
    font-size: 16px;
    font-weight: 700;
    color: #333;
    margin: 0;
}

.booking-type-option p {
    font-size: 14px;
    color: #666;
    margin: 0;
    line-height: 1.4;
}

/* Passenger Information Form */
.passenger-form-section {
    margin-bottom: 30px;
}

.passenger-card {
    background: #f8f9fa;
    border-radius: 12px;
    padding: 25px;
    margin-bottom: 20px;
    border: 1px solid #e9ecef;
}

.passenger-card h5 {
    font-size: 18px;
    font-weight: 700;
    color: #333;
    margin-bottom: 20px;
    padding-bottom: 10px;
    border-bottom: 1px solid #e9ecef;
    display: flex;
    align-items: center;
    gap: 10px;
}

.passenger-card h5::before {
    content: '👤';
    font-size: 20px;
}

.form-row {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 20px;
}

.form-group {
    display: flex;
    flex-direction: column;
}

.form-group.full-width {
    grid-column: 1 / -1;
}

.form-label {
    font-size: 14px;
    font-weight: 600;
    color: #333;
    margin-bottom: 8px;
    display: flex;
    align-items: center;
    gap: 8px;
}

.form-label.required::after {
    content: '*';
    color: #dc3545;
    margin-left: 4px;
}

.form-control {
    padding: 12px 16px;
    border: 2px solid #e9ecef;
    border-radius: 8px;
    font-size: 14px;
    transition: all 0.3s ease;
    background: #fff;
}

.form-control:focus {
    outline: none;
    border-color: var(--primary-one);
    box-shadow: 0 0 0 3px rgba(0, 123, 255, 0.1);
}

.form-control.is-invalid {
    border-color: #dc3545;
}

.form-select {
    padding: 12px 16px;
    border: 2px solid #e9ecef;
    border-radius: 8px;
    font-size: 14px;
    background: #fff;
    cursor: pointer;
    transition: all 0.3s ease;
}

.form-select:focus {
    outline: none;
    border-color: var(--primary-one);
    box-shadow: 0 0 0 3px rgba(0, 123, 255, 0.1);
}

.input-group {
    display: flex;
    gap: 10px;
}

.input-group .form-select {
    flex: 0 0 auto;
    min-width: 200px;
}

.input-group .form-control {
    flex: 1;
}

/* Phone Number Styling */
.phone-input-container {
    display: flex;
    gap: 10px;
    align-items: stretch;
}

.country-select {
    flex: 0 0 200px;
}

.phone-input {
    flex: 1;
}

/* Optional Add-ons Section */
.addons-section {
    margin-top: 30px;
}

.addon-item {
    background: #fff;
    border: 2px solid #e9ecef;
    border-radius: 12px;
    padding: 20px;
    margin-bottom: 15px;
    transition: all 0.3s ease;
    cursor: pointer;
}

.addon-item:hover {
    border-color: var(--primary-one);
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

.addon-item.selected {
    border-color: var(--primary-one);
    background: linear-gradient(135deg, #f8f9ff 0%, #e8f2ff 100%);
}

.addon-checkbox {
    display: flex;
    align-items: flex-start;
    gap: 15px;
}

.addon-checkbox input[type="checkbox"] {
    margin-top: 4px;
    width: 18px;
    height: 18px;
    accent-color: var(--primary-one);
}

.addon-content {
    flex: 1;
}

.addon-title {
    font-size: 16px;
    font-weight: 700;
    color: #333;
    margin-bottom: 8px;
}

.addon-description {
    font-size: 14px;
    color: #666;
    margin-bottom: 8px;
    line-height: 1.4;
}

.addon-price {
    font-size: 14px;
    color: var(--primary-one);
    font-weight: 600;
}

/* Form Actions */
.form-actions {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 30px;
    padding-top: 20px;
    border-top: 1px solid #e9ecef;
}


.btn-outline-danger {
    background: transparent;
    border: 2px solid #dc3545;
    color: #dc3545;
}

.btn-outline-danger:hover {
    background: #dc3545;
    color: #fff;
    transform: translateY(-1px);
}



.btn-primary:hover {
    background: var(--secondary-color);
    border-color: var(--secondary-color);
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(0, 123, 255, 0.3);
}

.btn:disabled {
    opacity: 0.6;
    cursor: not-allowed;
    transform: none !important;
}

/* Loading State */
.spinner-border {
    width: 16px;
    height: 16px;
    border: 2px solid currentColor;
    border-right-color: transparent;
    border-radius: 50%;
    animation: spinner-border 0.75s linear infinite;
}

@keyframes spinner-border {
    to {
        transform: rotate(360deg);
    }
}

/* Error States */
.invalid-feedback {
    display: none;
    /* hidden by default; shown when input is invalid */
    width: 100%;
    margin-top: 5px;
    font-size: 12px;
    color: #dc3545;
}

.form-control.is-invalid+.invalid-feedback {
    display: block;
}

.carousel-controls {
    display: flex;
    justify-content: center;
    gap: 10px;
}

.carousel-controls .carousel-control-next,
.carousel-controls .carousel-control-prev {
    position: static;
    background: #b5b5b5;
    width: 36px;
    height: 36px;
    border-radius: 5px;
}

.carousel-control-next-icon,
.carousel-control-prev-icon {
    width: 20px;
    height: 20px;
}

/* Responsive Design */
@media (max-width: 768px) {
    .booking-type-options {
        grid-template-columns: 1fr;
    }

    .form-row {
        grid-template-columns: 1fr;
    }

    .input-group {
        flex-direction: column;
    }

    .input-group .form-select {
        min-width: auto;
    }

    .form-actions {
        flex-direction: column;
        gap: 15px;
    }

    .btn {
        width: 100%;
        justify-content: center;
    }
}

/* Select2 Customization */
.select2-container--default .select2-selection--single {
    height: 48px;
    border: 2px solid #e9ecef;
    border-radius: 8px;
    background: #fff;
}

.select2-container--default .select2-selection--single .select2-selection__rendered {
    line-height: 44px;
    padding-left: 16px;
    color: #333;
}

.select2-container--default .select2-selection--single .select2-selection__arrow {
    height: 46px;
    right: 16px;
}

.select2-container--default .select2-selection--single:focus {
    border-color: var(--primary-one);
    box-shadow: 0 0 0 3px rgba(0, 123, 255, 0.1);
}

.select2-dropdown {
    border: 2px solid #e9ecef;
    border-radius: 8px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

.select2-container--default .select2-results__option--highlighted[aria-selected] {
    background-color: var(--primary-one);
}

/* Payment Pages Styling - Modern and Clean */
.payment-container {
    background: #f8f9fa;
    min-height: 100vh;
    padding: 40px 0;
}

.payment-header {
    margin-bottom: 30px;
}

.payment-title {
    text-align: center;
    margin-bottom: 0;
}

.payment-title h1 {
    color: var(--primary-one);
    font-size: 2.5rem;
    font-weight: 700;
    margin-bottom: 10px;
}

.payment-title p {
    color: #6c757d;
    font-size: 1.1rem;
    margin-bottom: 0;
}

.payment-content {
    display: grid;
    grid-template-columns: 1fr 400px;
    gap: 30px;
    max-width: 1200px;
    margin: 0 auto;
}

.payment-main {
    background: #fff;
    border-radius: 12px;
    padding: 30px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

.payment-sidebar {
    height: fit-content;
}

.payment-summary-section {
    margin-bottom: 30px;
}

.payment-summary-section h4 {
    color: var(--primary-one);
    font-size: 1.5rem;
    font-weight: 600;
    margin-bottom: 25px;
    display: flex;
    align-items: center;
    gap: 12px;
    position: relative;
}

.payment-summary-section h4::before {
    content: "\f072";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    font-size: 1.4rem;
    margin-right: 8px;
}

.payment-summary-section h4::after {
    content: "";
    position: absolute;
    bottom: -8px;
    left: 0;
    width: 40px;
    height: 3px;
    background: linear-gradient(90deg, var(--primary-one), #0056b3);
    border-radius: 2px;
}

.payment-summary-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
    margin-bottom: 20px;
}

.payment-summary-item {
    background: linear-gradient(135deg, #ffffff 0%, #f8f9fa 100%);
    border-radius: 12px;
    padding: 20px;
    border: 1px solid #e9ecef;
    position: relative;
    transition: all 0.3s ease;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
}

.payment-summary-item:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1);
    border-color: var(--primary-one);
}

.payment-summary-item::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 4px;
    height: 100%;
    background: linear-gradient(180deg, var(--primary-one) 0%, #0056b3 100%);
    border-radius: 2px 0 0 2px;
}

.payment-summary-item .label {
    font-size: 16px;
    color: #6c757d;
    font-weight: 500;
    margin-bottom: 8px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.payment-summary-item .value {
    font-size: 16px;
    color: #2c3e50;
    font-weight: 600;
    line-height: 1.3;
}

/* Special styling for departure and return items */
.payment-summary-item:nth-child(3),
.payment-summary-item:nth-child(4) {
    background: linear-gradient(135deg, #f8f9ff 0%, #e8f4ff 100%);
}

.payment-summary-item:nth-child(3)::before,
.payment-summary-item:nth-child(4)::before {
    background: linear-gradient(180deg, #28a745 0%, #20c997 100%);
}

/* Special styling for passengers and airline items */
.payment-summary-item:nth-child(5),
.payment-summary-item:nth-child(6) {
    background: linear-gradient(135deg, #fff8f0 0%, #fff5e6 100%);
}

.payment-summary-item:nth-child(5)::before,
.payment-summary-item:nth-child(6)::before {
    background: linear-gradient(180deg, #fd7e14 0%, #ffc107 100%);
}

.payment-methods-section {
    margin-bottom: 30px;
}

.payment-methods-section h4 {
    color: var(--primary-one);
    font-size: 1.5rem;
    font-weight: 600;
    margin-bottom: 20px;
    display: flex;
    align-items: center;
    gap: 10px;
}

.payment-methods-section h4::before {
    content: "\f09d";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    font-size: 1.2rem;
    margin-right: 8px;
}

.payment-methods-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
}

.payment-method-card {
    border: 2px solid #e9ecef;
    border-radius: 12px;
    padding: 20px;
    transition: all 0.3s ease;
    cursor: pointer;
    background: #fff;
}

.payment-method-card:hover {
    border-color: var(--primary-one);
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

.payment-method-card.selected {
    border-color: var(--primary-one);
    background: #f8f9ff;
}

.payment-method-icon {
    font-size: 2.5rem;
    color: var(--primary-one);
}

.payment-method-title {
    font-size: 1.2rem;
    font-weight: 600;
    color: #2c3e50;
    margin-bottom: 10px;
}

.payment-method-description {
    color: #6c757d;
    font-size: 0.9rem;
    margin-bottom: 20px;
    line-height: 1.4;
}

.payment-form-section {
    margin-bottom: 30px;
}

.payment-form-section h4 {
    color: var(--primary-one);
    font-size: 1.5rem;
    font-weight: 600;
    margin-bottom: 20px;
    display: flex;
    align-items: center;
    gap: 10px;
}

.payment-form-section h4::before {
    content: "🔒";
    font-size: 1.2rem;
}

.payment-form-group {
    margin-bottom: 20px;
}

.payment-form-label {
    display: block;
    font-weight: 600;
    color: #2c3e50;
    margin-bottom: 8px;
    font-size: 1rem;
}

.payment-form-control {
    width: 100%;
    padding: 12px 16px;
    border: 2px solid #e9ecef;
    border-radius: 8px;
    font-size: 1rem;
    transition: border-color 0.3s ease;
    background: #fff;
}

.payment-form-control:focus {
    outline: none;
    border-color: var(--primary-one);
    box-shadow: 0 0 0 3px rgba(52, 144, 220, 0.1);
}

.payment-form-control.is-invalid {
    border-color: #dc3545;
}

.payment-error {
    color: #dc3545;
    font-size: 0.9rem;
    margin-top: 5px;
    display: none;
}

.payment-error.show {
    display: block;
}

.payment-actions {
    display: flex;
    gap: 15px;
    justify-content: center;
    margin-top: 30px;
}

.payment-btn {
    padding: 12px 30px;
    border-radius: 8px;
    font-weight: 600;
    font-size: 1rem;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    transition: all 0.3s ease;
    border: none;
    cursor: pointer;
}

.payment-btn-primary {
    background: var(--primary-one);
    color: #fff;
}

.payment-btn-primary:hover {
    background: #0056b3;
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(52, 144, 220, 0.3);
}

.payment-btn-outline {
    background: transparent;
    color: #6c757d;
    border: 2px solid #6c757d;
}

.payment-btn-outline:hover {
    background: #6c757d;
    color: #fff;
    transform: translateY(-1px);
}

.payment-btn:disabled {
    opacity: 0.6;
    cursor: not-allowed;
    transform: none !important;
}

.payment-spinner {
    width: 16px;
    height: 16px;
    border: 2px solid transparent;
    border-top: 2px solid currentColor;
    border-radius: 50%;
    animation: spin 1s linear infinite;
}

@keyframes spin {
    0% {
        transform: rotate(0deg);
    }

    100% {
        transform: rotate(360deg);
    }
}

.payment-price-section {
    background: #fff;
    border-radius: 16px;
    padding: 25px;
    margin-bottom: 20px;
    border: 1px solid #dee2e6;
    position: relative;
    overflow: hidden;
}

.payment-price-section::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 4px;
    background: linear-gradient(90deg, var(--primary-one), #0056b3, #28a745);
    border-radius: 2px;
}

.payment-price-title {
    font-size: 1.3rem;
    font-weight: 600;
    color: var(--primary-one);
    margin-bottom: 20px;
    text-align: center;
    position: relative;
}

.payment-price-title::after {
    content: "💰";
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    font-size: 1.2rem;
}

.payment-price-breakdown {
    margin-bottom: 20px;
}

.payment-price-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 12px 0;
    border-bottom: 1px solid #e9ecef;
    transition: all 0.3s ease;
}

.payment-price-item:hover {
    background: rgba(255, 255, 255, 0.5);
    border-radius: 8px;
    padding-left: 10px;
    padding-right: 10px;
    margin: 0 -10px;
}

.payment-price-item:last-child {
    border-bottom: none;
    font-weight: 600;
    font-size: 1.1rem;
    color: var(--primary-one);
    background: rgba(52, 144, 220, 0.1);
    border-radius: 8px;
    padding: 15px 10px;
    margin: 10px -10px 0 -10px;
}

.payment-price-item .label {
    color: #6c757d;
    font-weight: 500;
}

.payment-price-item .value {
    font-weight: 600;
    color: #2c3e50;
}

.payment-price-total {
    background: linear-gradient(135deg, var(--primary-one) 0%, #0056b3 100%);
    color: #fff;
    border-radius: 12px;
    padding: 10px;
    text-align: center;
    margin-top: 20px;
    box-shadow: 0 4px 12px rgba(52, 144, 220, 0.3);
    position: relative;
    overflow: hidden;
}

.payment-price-total::before {
    content: "";
    position: absolute;
    top: -50%;
    right: -50%;
    width: 100%;
    height: 100%;
    background: radial-gradient(circle, rgba(255, 255, 255, 0.1) 0%, transparent 70%);
    border-radius: 50%;
}

.payment-price-total .amount {
    font-size: 1.8rem;
    font-weight: 700;
    position: relative;
    z-index: 1;
}

.payment-price-total div:last-child {
    font-size: 0.9rem;
    opacity: 0.9;
    position: relative;
    z-index: 1;
}

.payment-security-info {
    background: #e8f5e8;
    border: 1px solid #28a745;
    border-radius: 8px;
    padding: 15px;
    margin-top: 20px;
    text-align: center;
}

.payment-security-info i {
    color: #28a745;
    margin-right: 8px;
}

.payment-security-info span {
    color: #155724;
    font-weight: 500;
}

/* Responsive Design */
@media (max-width: 768px) {
    .payment-content {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .payment-header {
        padding: 20px;
        margin-bottom: 20px;
    }

    .payment-title h1 {
        font-size: 2rem;
    }

    .payment-methods-grid {
        grid-template-columns: 1fr;
    }

    .payment-summary-grid {
        grid-template-columns: 1fr;
    }

    .payment-actions {
        flex-direction: column;
    }

    .payment-btn {
        width: 100%;
        justify-content: center;
    }
}

/* Stripe Card Element Styling */
#card-element {
    padding: 12px 16px;
    border: 2px solid #e9ecef;
    border-radius: 8px;
    background: #fff;
    min-height: 50px;
    transition: border-color 0.3s ease;
}

#card-element.StripeElement--focus {
    border-color: var(--primary-one);
    box-shadow: 0 0 0 3px rgba(52, 144, 220, 0.1);
}

#card-element.StripeElement--invalid {
    border-color: #dc3545;
}

#card-errors {
    color: #dc3545;
    font-size: 0.9rem;
    margin-top: 8px;
    display: none;
}

#card-errors.show {
    display: block;
}

/* Hotel Booking Cards Styles */
.hotel-booking-cards {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
    gap: 20px;
    margin-bottom: 30px;
}

.hotel-booking-card {
    background: #ffffff;
    border-radius: 12px;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
    border: 1px solid #e1e5e9;
    overflow: hidden;
    transition: all 0.3s ease;
    position: relative;
}

.hotel-booking-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15);
}

.hotel-card-header {
    background: linear-gradient(135deg, #015b9c 0%, #1a7bb8 100%);
    color: white;
    padding: 20px;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
}

.hotel-info {
    display: flex;
    align-items: center;
    gap: 15px;
    flex: 1;
}

.hotel-logo {
    width: 50px;
    height: 50px;
    background: rgba(255, 255, 255, 0.2);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    color: white;
    overflow: hidden;
}

.hotel-logo .hotel-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 50%;
}

.hotel-name h5 {
    margin: 0 0 5px 0;
    font-size: 18px;
    font-weight: 600;
    color: white;
}

.hotel-name .location {
    font-size: 14px;
    opacity: 0.9;
    display: flex;
    align-items: center;
    gap: 5px;
}

.booking-status {
    text-align: right;
}

.status-badge {
    background: rgba(255, 255, 255, 0.2);
    color: white;
    padding: 6px 12px;
    border-radius: 20px;
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.booking-status.paid .status-badge {
    background: #28a745;
    color: white;
}

.booking-status.pending .status-badge {
    background: #ffc107;
    color: #212529;
}

.booking-status.failed .status-badge {
    background: #dc3545;
    color: white;
}

.hotel-details {
    padding: 20px;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 15px;
}

.hotel-detail-item {
    display: flex;
    align-items: center;
    gap: 12px;
}

.hotel-detail-item i {
    width: 20px;
    color: #015b9c;
    font-size: 14px;
}

.detail-content {
    flex: 1;
}

.detail-content .label {
    font-size: 12px;
    color: #6c757d;
    font-weight: 500;
    margin-bottom: 2px;
}

.detail-content .value {
    font-size: 14px;
    color: #212529;
    font-weight: 600;
}

.guest-info {
    padding: 0 20px 20px;
    border-top: 1px solid #e9ecef;
    margin-top: 10px;
}

.guest-info h6 {
    color: #015b9c;
    font-size: 14px;
    margin-bottom: 10px;
    display: flex;
    align-items: center;
    gap: 8px;
}

.guest-list {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.guest-tag {
    background: #e3f2fd;
    color: #015b9c;
    padding: 4px 10px;
    border-radius: 15px;
    font-size: 12px;
    font-weight: 500;
}

.hotel-card-footer {
    background: #f8f9fa;
    padding: 20px;
    border-top: 1px solid #e9ecef;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.hotel-price {
    text-align: left;
}

.hotel-price .amount {
    display: block;
    font-size: 24px;
    font-weight: 700;
    color: #015b9c;
    line-height: 1;
}

.hotel-price .currency {
    font-size: 12px;
    color: #6c757d;
    font-weight: 500;
}

.hotel-actions {
    display: flex;
    gap: 10px;
}

.hotel-actions .btn {
    padding: 8px 16px;
    border-radius: 6px;
    font-size: 13px;
    font-weight: 600;
    text-decoration: none;
    display: flex;
    align-items: center;
    gap: 6px;
    transition: all 0.3s ease;
}

.btn-view {
    background: #015b9c;
    color: white;
    border: 1px solid #015b9c;
}

.btn-view:hover {
    background: #014a7a;
    color: white;
}

.btn-details {
    background: transparent;
    color: #015b9c;
    border: 1px solid #015b9c;
}

.btn-details:hover {
    background: #015b9c;
    color: white;
}

.empty-state {
    text-align: center;
    padding: 60px 20px;
    color: #6c757d;
}

.empty-state i {
    font-size: 48px;
    color: #dee2e6;
    margin-bottom: 20px;
}

.empty-state h5 {
    color: #495057;
    margin-bottom: 10px;
}

.empty-state p {
    color: #6c757d;
    margin: 0;
}

.pagination-wrapper {
    margin-top: 30px;
    display: flex;
    justify-content: center;
}

.pagination-wrapper .pagination {
    margin: 0;
}

.pagination-wrapper .page-link {
    color: #015b9c;
    border-color: #dee2e6;
}

.pagination-wrapper .page-item.active .page-link {
    background-color: #015b9c;
    border-color: #015b9c;
}

.pagination-wrapper .page-item.disabled .page-link {
    color: #6c757d;
}

/* Responsive adjustments for hotel cards */
@media (max-width: 768px) {
    .hotel-booking-cards {
        grid-template-columns: 1fr;
        gap: 15px;
    }

    .hotel-details {
        grid-template-columns: 1fr;
        gap: 12px;
    }

    .hotel-card-footer {
        flex-direction: column;
        gap: 15px;
        align-items: stretch;
    }

    .hotel-actions {
        justify-content: center;
    }
}

/* Profile Page Enhanced Styles */
.profile-container {
    background: linear-gradient(135deg, #667eea 0%, #428141 100%);
    min-height: 100vh;
    padding: 40px 0;
    position: relative;
}

.profile-container::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><defs><pattern id="profile-pattern" width="100" height="100" patternUnits="userSpaceOnUse"><circle cx="50" cy="50" r="1" fill="white" opacity="0.05"/></pattern></defs><rect width="100" height="100" fill="url(%23profile-pattern)"/></svg>');
    pointer-events: none;
}

.profile-card {
    background: white;
    border-radius: 20px;
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.1);
    overflow: hidden;
    margin-bottom: 30px;
    position: relative;
    z-index: 1;
}

.profile-card::before {
    content: '';
    position: absolute;
    top: -2px;
    left: -2px;
    right: -2px;
    bottom: -2px;
    background: linear-gradient(135deg, #667eea 0%, #428141 100%);
    border-radius: 22px;
    z-index: -1;
    opacity: 0.1;
}

.profile-header {
    background: linear-gradient(135deg, #667eea 0%, #428141 100%);
    color: white;
    padding: 40px;
    text-align: center;
    position: relative;
    overflow: hidden;
}

.profile-header::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><defs><pattern id="grain" width="100" height="100" patternUnits="userSpaceOnUse"><circle cx="50" cy="50" r="1" fill="white" opacity="0.1"/></pattern></defs><rect width="100" height="100" fill="url(%23grain)"/></svg>');
    opacity: 0.3;
}

.profile-avatar {
    width: 120px;
    height: 120px;
    border-radius: 50%;
    border: 5px solid rgba(255, 255, 255, 0.3);
    margin: 0 auto 20px;
    position: relative;
    z-index: 2;
    background: white;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 48px;
    color: #667eea;
    font-weight: bold;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2);
    transition: all 0.3s ease;
}

.profile-avatar:hover {
    transform: scale(1.05);
    box-shadow: 0 15px 40px rgba(0, 0, 0, 0.3);
}

.profile-avatar img {
    width: 100%;
    height: 100%;
    border-radius: 50%;
    object-fit: cover;
}

.profile-name {
    font-size: 28px;
    font-weight: 700;
    margin-bottom: 10px;
    position: relative;
    z-index: 2;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.profile-info {
    display: flex;
    justify-content: center;
    gap: 30px;
    flex-wrap: wrap;
    position: relative;
    z-index: 2;
}

.profile-info-item {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 16px;
    opacity: 0.9;
    padding: 10px 20px;
    background: rgba(255, 255, 255, 0.1);
    border-radius: 25px;
    backdrop-filter: blur(10px);
    border: 1px solid rgba(255, 255, 255, 0.2);
}

.profile-info-item i {
    font-size: 18px;
    width: 20px;
}

.profile-body {
    padding: 40px;
    background: linear-gradient(135deg, #f8fafc 0%, #f1f5f9 100%);
}

.profile-body .section-title {
    font-size: 24px;
    font-weight: 700;
    color: #2d3748;
    margin-bottom: 30px;
    display: flex;
    align-items: center;
    gap: 15px;
    position: relative;
}

.profile-body .section-title::before {
    content: '';
    width: 4px;
    height: 24px;
    background: linear-gradient(135deg, #667eea 0%, #428141 100%);
    border-radius: 2px;
}

.profile-body .section-title i {
    color: #667eea;
    font-size: 20px;
}

.form-group {
    margin-bottom: 25px;
    position: relative;
}

.form-label {
    font-weight: 600;
    color: #4a5568;
    margin-bottom: 8px;
    display: block;
    font-size: 14px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.form-control {
    border: 2px solid #e2e8f0;
    border-radius: 12px;
    padding: 15px 20px;
    font-size: 16px;
    transition: all 0.3s ease;
    background: #f8fafc;
    width: 100%;
}

.form-control:focus {
    border-color: #667eea;
    box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.1);
    background: white;
    outline: none;
    transform: translateY(-1px);
}

.form-control:disabled {
    background: #f1f5f9;
    color: #64748b;
    cursor: not-allowed;
}

.form-control.is-invalid {
    border-color: #ef4444;
    box-shadow: 0 0 0 3px rgba(239, 68, 68, 0.1);
}

.invalid-feedback {
    color: #ef4444;
    font-size: 14px;
    margin-top: 5px;
    display: block;
}


.btn-outline-danger {
    border: 2px solid #ef4444;
    color: #ef4444;
    border-radius: 8px;
    padding: 8px 16px;
    font-size: 14px;
    transition: all 0.3s ease;
    background: transparent;
}

.btn-outline-danger:hover {
    background: #ef4444;
    color: white;
    transform: translateY(-1px);
}

.alert {
    border-radius: 12px;
    border: none;
    padding: 20px;
    margin-bottom: 25px;
    position: relative;
    overflow: hidden;
}

.alert::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 4px;
    height: 100%;
    background: currentColor;
    opacity: 0.3;
}

.alert-success {
    background: linear-gradient(135deg, #10b981 0%, #059669 100%);
    color: white;
}

.alert-danger {
    background: linear-gradient(135deg, #ef4444 0%, #dc2626 100%);
    color: white;
}

.photo-upload-section {
    background: #f8fafc;
    border-radius: 16px;
    padding: 25px;
    margin-bottom: 30px;
    border: 2px dashed #cbd5e0;
    transition: all 0.3s ease;
    position: relative;
}

.photo-upload-section::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(135deg, rgba(102, 126, 234, 0.05) 0%, rgba(118, 75, 162, 0.05) 100%);
    border-radius: 16px;
    opacity: 0;
    transition: opacity 0.3s ease;
}

.photo-upload-section:hover::before {
    opacity: 1;
}

.photo-upload-section:hover {
    border-color: #667eea;
    background: #f0f4ff;
    transform: translateY(-2px);
    box-shadow: 0 8px 25px rgba(102, 126, 234, 0.1);
}

.photo-preview {
    display: flex;
    align-items: center;
    gap: 20px;
    margin-bottom: 20px;
}

.photo-input-wrapper {
    flex: 1;
}

.location-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 20px;
    margin-bottom: 30px;
}

.phone-input-group {
    display: flex;
    gap: 15px;
    align-items: stretch;
}

.phone-input-group .form-control:first-child {
    flex: 0 0 200px;
}

.phone-input-group .form-control:last-child {
    flex: 1;
}

.text-muted {
    color: #64748b !important;
    font-size: 13px;
    margin-top: 5px;
    display: block;
}

/* Responsive Design */
@media (max-width: 768px) {
    .profile-header {
        padding: 30px 20px;
    }

    .profile-body {
        padding: 30px 20px;
    }

    .profile-info {
        flex-direction: column;
        gap: 15px;
    }

    .phone-input-group {
        flex-direction: column;
    }

    .phone-input-group .form-control:first-child {
        flex: 1;
    }

    .location-grid {
        grid-template-columns: 1fr;
    }

    .profile-avatar {
        width: 100px;
        height: 100px;
        font-size: 36px;
    }

    .profile-name {
        font-size: 24px;
    }
}

@media (max-width: 576px) {
    .profile-container {
        padding: 20px 0;
    }

    .profile-card {
        margin: 0 10px 20px;
        border-radius: 15px;
    }

    .profile-header {
        padding: 25px 15px;
    }

    .profile-body {
        padding: 25px 15px;
    }
}

/* Animation Classes */
@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(30px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.profile-card {
    animation: fadeInUp 0.6s ease-out;
}

.form-col .form-group {
    animation: fadeInUp 0.6s ease-out;
    animation-fill-mode: both;
    margin-bottom: 0;
}

.form-group:nth-child(1) {
    animation-delay: 0.1s;
}

.form-group:nth-child(2) {
    animation-delay: 0.2s;
}

.form-group:nth-child(3) {
    animation-delay: 0.3s;
}

.form-group:nth-child(4) {
    animation-delay: 0.4s;
}

.form-group:nth-child(5) {
    animation-delay: 0.5s;
}

.form-group:nth-child(6) {
    animation-delay: 0.6s;
}

/* Enhanced Focus States */
.form-control:focus {
    border-color: #667eea;
    box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.1);
    background: white;
    outline: none;
    transform: translateY(-1px);
}

/* Custom Select Styling */
select.form-control {
    appearance: none;
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3e%3c/svg%3e");
    background-position: right 12px center;
    background-repeat: no-repeat;
    background-size: 16px;
    padding-right: 40px;
}

/* Enhanced Button States */
.btn-primary:active {
    transform: translateY(0);
    box-shadow: 0 2px 10px rgba(102, 126, 234, 0.3);
}

.btn-outline-danger:active {
    transform: translateY(0);
}

/* Loading States */
.form-control:disabled {
    background: #f1f5f9;
    color: #64748b;
    cursor: not-allowed;
    opacity: 0.7;
}

/* Success States */
.form-control.is-valid {
    border-color: #10b981;
    box-shadow: 0 0 0 3px rgba(16, 185, 129, 0.1);
}

/* Enhanced Typography */
/* .section-title {
    font-size: 24px;
    font-weight: 700;
    color: #2d3748;
    margin-bottom: 30px;
    display: flex;
    align-items: center;
    gap: 15px;
    position: relative;
    text-shadow: 0 1px 2px rgba(0,0,0,0.05);
} */

/* Enhanced Shadows */
.profile-card {
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.1), 0 0 0 1px rgba(255, 255, 255, 0.05);
}

/* Enhanced Gradients */
.profile-header {
    background: linear-gradient(135deg, #667eea 0%, #428141 100%), linear-gradient(45deg, #667eea 0%, #428141 50%, #667eea 100%);
    background-blend-mode: overlay;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}


/* Custom Scrollbar */
.profile-body::-webkit-scrollbar {
    width: 8px;
}

.profile-body::-webkit-scrollbar-track {
    background: #f1f5f9;
    border-radius: 4px;
}

.profile-body::-webkit-scrollbar-thumb {
    background: #cbd5e0;
    border-radius: 4px;
}

.profile-body::-webkit-scrollbar-thumb:hover {
    background: #a0aec0;
}

/* Password Change Page Styles */
.password-change-container {
    background: linear-gradient(135deg, #eee 0%, #ddd 100%);
    min-height: 100vh;
    padding: 40px 0;
    position: relative;
}

.password-change-container::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><defs><pattern id="password-pattern" width="100" height="100" patternUnits="userSpaceOnUse"><circle cx="50" cy="50" r="1" fill="white" opacity="0.05"/></pattern></defs><rect width="100" height="100" fill="url(%23password-pattern)"/></svg>');
    pointer-events: none;
}

.password-change-card {
    background: white;
    border-radius: 20px;
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.1);
    overflow: hidden;
    margin-bottom: 30px;
    position: relative;
    z-index: 1;
}

.password-change-card::before {
    content: '';
    position: absolute;
    top: -2px;
    left: -2px;
    right: -2px;
    bottom: -2px;
    background: linear-gradient(135deg, #667eea 0%, #428141 100%);
    border-radius: 22px;
    z-index: -1;
    opacity: 0.1;
}

.password-change-header {
    background: linear-gradient(135deg, #667eea 0%, #428141 100%);
    color: white;
    padding: 40px;
    text-align: center;
    position: relative;
    overflow: hidden;
}

.password-change-header::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><defs><pattern id="grain" width="100" height="100" patternUnits="userSpaceOnUse"><circle cx="50" cy="50" r="1" fill="white" opacity="0.1"/></pattern></defs><rect width="100" height="100" fill="url(%23grain)"/></svg>');
    opacity: 0.3;
}

.password-change-icon {
    width: 80px;
    height: 80px;
    border-radius: 50%;
    border: 4px solid rgba(255, 255, 255, 0.3);
    margin: 0 auto 20px;
    position: relative;
    z-index: 2;
    background: rgba(255, 255, 255, 0.1);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 32px;
    color: white;
    backdrop-filter: blur(10px);
}

.password-change-title {
    font-size: 28px;
    font-weight: 700;
    margin-bottom: 10px;
    position: relative;
    z-index: 2;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.password-change-subtitle {
    font-size: 16px;
    opacity: 0.9;
    position: relative;
    z-index: 2;
}

.password-change-body {
    padding: 40px;
    background: linear-gradient(135deg, #f8fafc 0%, #f1f5f9 100%);
}

.password-section-title {
    font-size: 24px;
    font-weight: 700;
    color: #2d3748;
    margin-bottom: 30px;
    display: flex;
    align-items: center;
    gap: 15px;
    position: relative;
}

.password-section-title::before {
    content: '';
    width: 4px;
    height: 24px;
    background: linear-gradient(135deg, #667eea 0%, #428141 100%);
    border-radius: 2px;
}

.password-section-title i {
    color: #667eea;
    font-size: 20px;
}

.password-form-group {
    margin-bottom: 25px;
    position: relative;
}

.password-form-label {
    font-weight: 600;
    color: #4a5568;
    margin-bottom: 8px;
    display: block;
    font-size: 14px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.password-form-control {
    border: 2px solid #e2e8f0;
    border-radius: 12px;
    padding: 15px 20px;
    font-size: 16px;
    transition: all 0.3s ease;
    background: #f8fafc;
    width: 100%;
}

.password-form-control:focus {
    border-color: #667eea;
    box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.1);
    background: white;
    outline: none;
    transform: translateY(-1px);
}

.password-form-control.is-invalid {
    border-color: #ef4444;
    box-shadow: 0 0 0 3px rgba(239, 68, 68, 0.1);
}

.password-invalid-feedback {
    color: #ef4444;
    font-size: 14px;
    margin-top: 5px;
    display: block;
}

.password-btn-primary {
    background: linear-gradient(135deg, #667eea 0%, #428141 100%);
    border: none;
    border-radius: 12px;
    padding: 15px 40px;
    font-size: 16px;
    font-weight: 600;
    color: white;
    transition: all 0.3s ease;
    box-shadow: 0 4px 15px rgba(102, 126, 234, 0.3);
    position: relative;
    overflow: hidden;
}

.password-btn-primary::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent);
    transition: left 0.5s;
}

.password-btn-primary:hover::before {
    left: 100%;
}

.password-btn-primary:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 25px rgba(102, 126, 234, 0.4);
}

.password-btn-secondary {
    background: linear-gradient(135deg, #6b7280 0%, #4b5563 100%);
    border: none;
    border-radius: 12px;
    padding: 12px 24px;
    font-size: 14px;
    font-weight: 600;
    color: white;
    transition: all 0.3s ease;
    box-shadow: 0 4px 15px rgba(107, 114, 128, 0.3);
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.password-btn-secondary:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 25px rgba(107, 114, 128, 0.4);
    color: white;
    text-decoration: none;
}

.password-alert {
    border-radius: 12px;
    border: none;
    padding: 20px;
    margin-bottom: 25px;
    position: relative;
    overflow: hidden;
}

.password-alert::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 4px;
    height: 100%;
    background: currentColor;
    opacity: 0.3;
}

.password-alert-success {
    background: linear-gradient(135deg, #10b981 0%, #059669 100%);
    color: white;
}

.password-alert-danger {
    background: linear-gradient(135deg, #ef4444 0%, #dc2626 100%);
    color: white;
}

.password-requirements {
    background: #f8fafc;
    border-radius: 12px;
    padding: 20px;
    margin-bottom: 25px;
    border-left: 4px solid #667eea;
}

.password-requirements h6 {
    color: #2d3748;
    font-weight: 600;
    margin-bottom: 15px;
    font-size: 16px;
}

.password-requirements ul {
    margin: 0;
    padding-left: 20px;
    color: #4a5568;
}

.password-requirements li {
    margin-bottom: 8px;
    font-size: 14px;
}

.password-requirements li i {
    color: #667eea;
    margin-right: 8px;
    width: 16px;
}

.password-back-button-container {
    text-align: left;
    margin-bottom: 20px;
    padding: 0 20px;
}

/* Password Change Page Responsive Design */
@media (max-width: 768px) {
    .password-change-header {
        padding: 30px 20px;
    }

    .password-change-body {
        padding: 30px 20px;
    }

    .password-change-icon {
        width: 60px;
        height: 60px;
        font-size: 24px;
    }

    .password-change-title {
        font-size: 24px;
    }
}

@media (max-width: 576px) {
    .password-change-container {
        padding: 20px 0;
    }

    .password-change-card {
        margin: 0 10px 20px;
        border-radius: 15px;
    }

    .password-change-header {
        padding: 25px 15px;
    }

    .password-change-body {
        padding: 25px 15px;
    }
}

/* Password Change Page Animation Classes */
@keyframes passwordFadeInUp {
    from {
        opacity: 0;
        transform: translateY(30px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.password-change-card {
    animation: passwordFadeInUp 0.6s ease-out;
}

.password-form-group {
    animation: passwordFadeInUp 0.6s ease-out;
    animation-fill-mode: both;
}

.password-form-group:nth-child(1) {
    animation-delay: 0.1s;
}

.password-form-group:nth-child(2) {
    animation-delay: 0.2s;
}

.password-form-group:nth-child(3) {
    animation-delay: 0.3s;
}

.password-form-group:nth-child(4) {
    animation-delay: 0.4s;
}

/*------------------------------------------
15. Tours Module css
------------------------------------------*/

.tours-listing {
    padding: 60px 0;
    background: #f8f9fa;
}

.tours-header {
    margin-bottom: 40px;
}

.tours-page-title {
    font-size: 2.5rem;
    font-weight: 700;
    color: #2c3e50;
    margin-bottom: 10px;
}

.tours-page-subtitle {
    color: #7f8c8d;
    font-size: 1.1rem;
    margin-bottom: 0;
}

.tours-search .search-box {
    position: relative;
}

.tours-search .form-control {
    padding-right: 50px;
    border-radius: 25px;
    border: 2px solid #e3e6f0;
    padding: 12px 20px;
}

.tours-search .search-btn {
    position: absolute;
    right: 5px;
    top: 50%;
    transform: translateY(-50%);
    background: var(--primary-color);
    border: none;
    border-radius: 50%;
    width: 40px;
    height: 40px;
    color: white;
    display: flex;
    align-items: center;
    justify-content: center;
}

.tours-filters {
    margin-bottom: 40px;
}

.tours-filter-bar {
    background: white;
    padding: 20px;
    border-radius: 10px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
}

.tour-card {
    background: white;
    border-radius: 15px;
    overflow: hidden;
    box-shadow: 0 5px 20px rgba(0, 0, 0, 0.1);
    transition: all 0.3s ease;
    height: 100%;
}

.tour-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.15);
}

.tour-image {
    position: relative;
    height: 250px;
    overflow: hidden;
}

.tour-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s ease;
}

.tour-card:hover .tour-image img {
    transform: scale(1.05);
}

.tour-card .tour-content {
    padding: 25px;
}

.tour-badge {
    position: absolute;
    top: 15px;
    right: 15px;
}

.tour-card .tour-meta {
    display: block;
}

.tour-card .tour-title {
    font-size: 20px;
}

.tour-days-badge {
    background: rgba(0, 0, 0, 0.8);
    color: white;
    padding: 5px 12px;
    border-radius: 20px;
    font-size: 12px;
    font-weight: 600;
}

.tour-location-badge {
    position: absolute;
    bottom: 15px;
    left: 15px;
    background: rgba(255, 255, 255, 0.9);
    color: #2c3e50;
    padding: 5px 10px;
    border-radius: 15px;
    font-size: 12px;
    font-weight: 500;
}

.tour-location-badge i {
    margin-right: 5px;
    color: #e74c3c;
}

.tour-content {
    display: flex;
    flex-direction: column;
    height: calc(100% - 250px);
}

.tour-title {
    font-size: 1.2rem;
    font-weight: 700;
    margin-bottom: 5px;
    line-height: 1.3;
}

.tour-title a {
    color: #2c3e50;
    text-decoration: none;
}

.tour-title a:hover {
    color: var(--primary-color);
}

.tour-duration {
    color: #7f8c8d;
    font-size: 0.9rem;
    margin-bottom: 15px;
}

.tour-meta {
    flex-grow: 1;
    margin-bottom: 20px;
    font-size: 14px;
}

.tour-departure-info {
    margin-bottom: 10px;
}

.tour-departure {
    color: #7f8c8d;
    font-size: 0.9rem;
}

.tour-departure i {
    margin-right: 5px;
    color: var(--primary-color);
}

.tour-meta .tour-type {
    margin-bottom: 0;
}

.tour-type-badge {
    background: var(--primary-color);
    color: white;
    padding: 3px 10px;
    border-radius: 12px;
    font-size: 0.8rem;
    font-weight: 500;
}

.tour-dates {
    color: #7f8c8d;
    font-size: 0.9rem;
    display: flex;
    align-items: center;
    gap: 5px;
}

.tour-dates i {
    margin-right: 5px;
    color: var(--primary-color);
}

.tour-footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-top: 1px solid #eee;
    padding-top: 15px;
}

.tour-price .price {
    font-size: 1.3rem;
    font-weight: 700;
    color: var(--primary-color);
}

.tour-price .price-unit {
    color: #7f8c8d;
    font-size: 0.8rem;
    display: block;
}

.tour-btn-primary {
    background: var(--primary-color);
    border: none;
    border-radius: 20px;
    padding: 8px 15px;
    font-size: 0.9rem;
    font-weight: 500;
    transition: all 0.3s ease;
}

.tour-btn-primary:hover {
    background: var(--primary-dark);
    transform: translateY(-1px);
}

.tours-no-tours-found {
    background: white;
    border-radius: 15px;
    padding: 40px;
    text-align: center;
}

.tours-pagination-wrapper {
    display: flex;
    justify-content: center;
    margin-top: 40px;
}

.tours-pagination-wrapper .pagination {
    gap: 5px;
}

.tours-pagination-wrapper .pagination .page-link {
    border-radius: 8px;
    border: 1px solid #dee2e6;
    color: var(--primary-color);
    padding: 10px 15px;
}

.tours-pagination-wrapper .pagination .page-item.active .page-link {
    background: var(--primary-color);
    border-color: var(--primary-color);
}

.tours-pagination-wrapper .pagination .page-link {
    color: var(--primary-color);
    border: 1px solid #dee2e6;
    margin: 0 2px;
    border-radius: 6px;
    padding: 8px 12px;
    font-weight: 500;
    transition: all 0.3s ease;
}

.tours-pagination-wrapper .pagination .page-link:hover {
    background-color: var(--primary-color);
    border-color: var(--primary-color);
    color: white;
    transform: translateY(-1px);
}

.tours-pagination-wrapper .pagination .page-item.disabled .page-link {
    color: #6c757d;
    background-color: #fff;
    border-color: #dee2e6;
    cursor: not-allowed;
}

.tours-page-info {
    color: #6c757d;
    font-size: 0.9rem;
}

/* Tours Module Responsive Design */
@media (max-width: 768px) {
    .tours-page-title {
        font-size: 2rem;
        text-align: center;
    }

    .tours-page-subtitle {
        text-align: center;
        margin-bottom: 20px;
    }

    .tours-search {
        margin-top: 20px;
    }

    .tours-filter-bar .row>div {
        margin-bottom: 15px;
    }

    .tour-footer {
        flex-direction: column;
        gap: 15px;
        align-items: stretch;
    }

    .tour-action {
        text-align: center;
    }

    .tour-btn-primary {
        width: 100%;
    }
}

.tour-detail {
    padding: 40px 0;
}



.breadcrumb {
    background: none;
    padding: 0;
    margin-bottom: 20px;
}

.breadcrumb-item a {
    color: var(--primary-color);
    text-decoration: none;
}

.tour-title {
    font-size: 2.5rem;
    font-weight: 700;
    color: #2c3e50;
    margin-bottom: 15px;
}

.tour-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    color: #7f8c8d;
}

.tour-meta span {
    display: flex;
    align-items: center;
    gap: 5px;
}

.tour-meta i {
    color: var(--primary-color);
}

.tour-price-box {
    background: white;
    padding: 25px;
    border-radius: 10px;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
    text-align: center;
}

.tour-price-box .price .amount {
    font-size: 2rem;
    font-weight: 700;
    color: var(--primary-color);
    display: block;
}

.tour-price-box .price .unit {
    color: #7f8c8d;
    font-size: 0.9rem;
}

.kids-price {
    margin-top: 10px;
    color: #7f8c8d;
}

/* Image Slider Styles */
.tour-images {
    margin-bottom: 40px;
}

.gallery-container {
    position: relative;
}

.galleryview {
    margin-bottom: 20px;
}

.galleryview .item {
    position: relative;
}

.galleryview .item img {
    width: 100%;
    height: 400px;
    object-fit: cover;
    border-radius: 10px;
}

.galleryview .owl-nav {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 100%;
    pointer-events: none;
}

.galleryview .owl-nav .owl-prev,
.galleryview .owl-nav .owl-next {
    position: absolute;
    top: 0;
    width: 50px;
    height: 50px;
    background: rgba(0, 0, 0, 0.5) !important;
    color: white !important;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    pointer-events: auto;
    transition: all 0.3s ease;
}

.galleryview .owl-nav .owl-prev:hover,
.galleryview .owl-nav .owl-next:hover {
    background: rgba(0, 0, 0, 0.8) !important;
}

.galleryview .owl-nav .owl-prev {
    left: 20px;
}

.galleryview .owl-nav .owl-next {
    right: 20px;
}



.gallery-thumbnails {
    margin-top: 20px;
}

.gallery-thumbnails .item {
    cursor: pointer;
    margin: 0 5px;
}

.gallery-thumbnails .item img {
    width: 100%;
    height: 80px;
    object-fit: cover;
    border-radius: 8px;
    transition: all 0.3s ease;
}

.gallery-thumbnails .item img:hover {
    transform: scale(1.05);
}

.gallery-thumbnails .owl-item.current .item img {
    border: 2px solid var(--primary-color);
}

.tour-description,
.tour-details {

    padding: 30px;
    border-radius: 15px;
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.08);
    margin-bottom: 30px;
    border: 1px solid #f0f0f0;
    transition: all 0.3s ease;
}

.tour-description:hover,
.tour-details:hover {
    box-shadow: 0 12px 35px rgba(0, 0, 0, 0.12);
    transform: translateY(-2px);
}

.tour-details-header {
    display: flex;
    align-items: center;
    gap: 15px;
    margin-bottom: 25px;
}

.tour-details-header i {
    font-size: 28px;
    color: var(--primary-color);
    background: linear-gradient(135deg, var(--primary-color), var(--secondary-color));
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.tour-description h3,
.tour-details h3 {
    color: #2c3e50;
    margin: 0;
    font-size: 24px;
    font-weight: 600;
}

.tour-description h2 {
    font-size: 18px;
    line-height: 24px;
}

.tour-description p {
    font-size: 14px;
    line-height: 20px;
    color: #777;
    margin-bottom: 20px;
}

.tour-description ul {
    padding-left: 20px;
    margin-bottom: 20px;
    margin-top: 5px;
    list-style-type: disc;
}

.tour-description ul li {
    font-size: 14px;
    line-height: 20px;
    color: #777;
    margin-bottom: 10px;
}

.detail-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.detail-item {
    display: flex;
    align-items: center;
    gap: 15px;
    padding: 18px 0;
    transition: all 0.3s ease;
}

.detail-item:hover {
    margin: 0;
    padding: 8px 0;
    border-radius: 8px;
}

.detail-item:last-child {
    border-bottom: none;
}

.detail-icon {
    width: 45px;
    height: 45px;
    background: var(--secondary-color);
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    box-shadow: 0 4px 15px rgba(11, 86, 142, 0.2);
}

.detail-icon i {
    font-size: 18px;
    color: white;
}

.detail-content {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.detail-content strong {
    color: #999;
    font-size: 14px;
    font-weight: 400;
    letter-spacing: 0.5px;
}

.detail-content span {
    color: #555;
    font-size: 16px;
    font-weight: 500;
}

.booking-widget,
.terms-widget,
.contact-widget {
    background: white;
    padding: 25px;
    border-radius: 10px;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
    margin-bottom: 30px;
}

.booking-widget h4,
.terms-widget h4,
.contact-widget h4 {
    color: #2c3e50;
    margin-bottom: 20px;
}

.booking-widget .form-group {
    margin-bottom: 20px;
}

.booking-widget label {
    font-weight: 600;
    color: #2c3e50;
    margin-bottom: 8px;
    display: block;
}

.passenger-counter {
    display: flex;
    align-items: center;
    gap: 15px;
    justify-content: center;
}

.counter-btn {
    width: 35px;
    height: 35px;
    border: 2px solid var(--primary-color);
    background: white;
    color: var(--primary-color);
    border-radius: 50%;
    font-size: 18px;
    font-weight: bold;
    cursor: pointer;
    transition: all 0.3s ease;
}

.counter-btn:hover {
    background: var(--primary-color);
    color: white;
}

.count {
    font-size: 18px;
    font-weight: 600;
    color: #2c3e50;
    min-width: 30px;
    text-align: center;
}

.price-summary {
    background: #f8f9fa;
    padding: 20px;
    border-radius: 8px;
    margin: 20px 0;
}

.price-breakdown {
    margin-bottom: 15px;
}

.price-item {
    display: flex;
    justify-content: space-between;
    margin-bottom: 8px;
    color: #6c757d;
}

.total-price {
    border-top: 2px solid #dee2e6;
    padding-top: 15px;
    text-align: center;
    font-size: 18px;
}

.total-price strong {
    color: var(--primary-color);
}

.contact-info p {
    margin-bottom: 10px;
    display: flex;
    align-items: center;
    gap: 10px;
}

.contact-info i {
    color: var(--primary-color);
    width: 16px;
}

.terms-content {
    max-height: 200px;
    overflow-y: auto;
    font-size: 14px;
    line-height: 1.6;
}

.related-tours {
    margin-top: 20px;
}

.related-tours-header {
    display: flex;
    align-items: center;
    gap: 15px;
    margin-bottom: 30px;
    padding-bottom: 15px;
    border-bottom: 2px solid #fff;
}

.related-tours-header i {
    font-size: 28px;
    color: var(--primary-color);
    background: linear-gradient(135deg, var(--primary-color), var(--secondary-color));
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.related-tours h3 {
    color: #2c3e50;
    margin: 0;
    font-size: 1rem;
    font-weight: 600;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
    word-break: break-word;
    hyphens: auto;
}

.related-tours .tour-card-header {
    margin-bottom: 0;
}

.related-tours .tour-card {
    flex-direction: row;
    margin-bottom: 30px;
}

.related-tours .tour-card-image {
    width: 40%;
    flex: 0 0 auto;
}

.related-tours .tour-badges {
    position: static !important;
    display: block !important;
}

.related-tours .tour-card .tour-days-badge {
    display: inline-block;
}

.related-tours .tour-card .tour-location-badge {
    padding-left: 0;
}

.related-tours .tour-card-footer {
    padding-top: 0;
    border-top: 0;
}

.related-tours .tour-price {
    flex-direction: row;
    gap: 5px;
    align-items: center;
}

.related-tours .tour-img {
    height: 220px;
}


/* Tour Detail Page Styles */
.tour-detail {
    padding: 30px 0;
    background: #f8f9fa;
}

.tour-detail-header {
    background: #eee;
    padding: 30px 0;
}

.tour-detail-header .breadcrumb {
    background: none;
    padding: 0;
    margin-bottom: 0;
}

.breadcrumb-item a {
    color: var(--primary-color);
    text-decoration: none;
}

.tour-title {
    font-size: 24px;
    font-weight: 700;
    color: #2c3e50;
    margin-bottom: 15px;
}

.tour-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    color: #7f8c8d;
}

.tour-meta span {
    display: flex;
    align-items: center;
    gap: 5px;
}

.tour-meta i {
    color: var(--primary-color);
}

.tour-price-box {
    background: white;
    padding: 25px;
    border-radius: 10px;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
    text-align: center;
}

.tour-price-box .price .amount {
    font-size: 2rem;
    font-weight: 700;
    color: var(--primary-color);
    display: block;
}

.tour-price-box .price .unit {
    color: #7f8c8d;
    font-size: 0.9rem;
}

.kids-price {
    margin-top: 10px;
    color: #7f8c8d;
}

/* Image Slider Styles */
.tour-images {
    margin-bottom: 40px;
}

.gallery-container {
    position: relative;
}

.galleryview {
    margin-bottom: 20px;
}

.galleryview .item {
    position: relative;
}

.galleryview .item img {
    width: 100%;
    height: 400px;
    object-fit: cover;
    border-radius: 10px;
}

.galleryview .owl-nav {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 100%;
    pointer-events: none;
}

.galleryview .owl-nav .owl-prev,
.galleryview .owl-nav .owl-next {
    position: absolute;
    top: 0;
    width: 50px;
    height: 50px;
    background: rgba(0, 0, 0, 0.5) !important;
    color: white !important;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    pointer-events: auto;
    transition: all 0.3s ease;
}

.galleryview .owl-nav .owl-prev:hover,
.galleryview .owl-nav .owl-next:hover {
    background: rgba(0, 0, 0, 0.8) !important;
}

.galleryview .owl-nav .owl-prev {
    left: 20px;
}

.galleryview .owl-nav .owl-next {
    right: 20px;
}

.gallery-thumbnails {
    margin-top: 20px;
}

.gallery-thumbnails .item {
    cursor: pointer;
    margin: 0 5px;
}

.gallery-thumbnails .item img {
    width: 100%;
    height: 80px;
    object-fit: cover;
    border-radius: 8px;
    transition: all 0.3s ease;
}

.gallery-thumbnails .item img:hover {
    transform: scale(1.05);
}

.gallery-thumbnails .item.active img {
    border: 3px solid var(--primary-color);
}

.tour-description,
.tour-details {
    background: white;
    padding: 30px;
    border-radius: 10px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
    margin-bottom: 30px;
}

.tour-description h3 {
    color: #2c3e50;
    margin-bottom: 20px;
    font-size: 1.5rem;
}


.detail-list {
    list-style: none;
    padding: 0;
}

.detail-list li {
    padding: 12px 0;
}

.detail-list li:last-child {
    border-bottom: none;
}

.booking-widget,
.terms-widget,
.contact-widget {
    background: white;
    padding: 25px;
    border-radius: 10px;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
    margin-bottom: 30px;
}

.booking-widget h4,
.terms-widget h4,
.contact-widget h4 {
    color: #2c3e50;
    margin-bottom: 20px;
}

.booking-widget .form-group {
    margin-bottom: 20px;
}

.booking-widget label {
    font-weight: 600;
    color: #2c3e50;
    margin-bottom: 8px;
    display: block;
}

/* Passenger Counter Styles */
.booking-widget .passenger-counter {
    display: flex;
    align-items: center;
    gap: 15px;
    justify-content: center;
    margin: 0;
    padding: 10px;
    background: #f8f9fa;
    border-radius: 8px;
}

.counter-btn {
    width: 40px;
    height: 40px;
    border: 2px solid var(--primary-color);
    background: white;
    color: var(--primary-color);
    border-radius: 50%;
    font-size: 20px;
    font-weight: bold;
    cursor: pointer;
    transition: all 0.3s ease;
    display: flex;
    align-items: center;
    justify-content: center;
    user-select: none;
    outline: none;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.counter-btn:hover {
    background: var(--primary-color);
    color: white;
    transform: translateY(-2px);
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
}

.counter-btn:active {
    transform: scale(0.95) translateY(0);
}

.counter-btn:focus {
    outline: 2px solid var(--primary-color);
    outline-offset: 2px;
}



.count {
    font-size: 18px;
    font-weight: 600;
    color: #2c3e50;
    min-width: 30px;
    text-align: center;
}

.booking-widget .price-summary {
    background: #f8f9fa;
    padding: 20px;
    border-radius: 8px;
    margin: 0;
    margin-bottom: 15px;
}

.price-breakdown {
    margin-bottom: 15px;
}

.price-item {
    display: flex;
    justify-content: space-between;
    margin-bottom: 8px;
    color: #6c757d;
}

.total-price {
    border-top: 2px solid #dee2e6;
    padding-top: 15px;
    text-align: center;
    font-size: 18px;
}

.total-price strong {
    color: var(--primary-color);
}

.contact-info p {
    margin-bottom: 10px;
    display: flex;
    align-items: center;
    gap: 10px;
}

.contact-info i {
    color: var(--primary-color);
    width: 16px;
}

.terms-content {
    max-height: 200px;
    overflow-y: auto;
    font-size: 14px;
    line-height: 1.6;
}




/* Tour Detail Responsive Styles */
@media (max-width: 768px) {
    .tour-title {
        font-size: 2rem;
    }

    .tour-meta {
        flex-direction: column;
        gap: 10px;
    }

    .tour-price-box {
        margin-top: 20px;
    }

    .galleryview .item img {
        height: 250px;
    }

    .passenger-counter {
        gap: 10px;
    }

    .counter-btn {
        width: 30px;
        height: 30px;
        font-size: 16px;
    }

    .count {
        font-size: 16px;
    }
}

.related-tour-card {
    background: white;
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
    transition: transform 0.3s ease;
}

.related-tour-card:hover {
    transform: translateY(-5px);
}

.related-tour-card .tour-image {
    height: 200px;
    overflow: hidden;
}

.related-tour-card .tour-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.related-tour-card .tour-info {
    padding: 20px;
}

.related-tour-card h5 a {
    color: #2c3e50;
    text-decoration: none;
}

.related-tour-card h5 a:hover {
    color: var(--primary-color);
}

.related-tour-card .price {
    color: var(--primary-color);
    font-weight: 700;
    margin: 0;
}

@media (max-width: 768px) {
    .tour-title {
        font-size: 2rem;
    }

    .tour-meta {
        flex-direction: column;
        gap: 10px;
    }

    .tour-price-box {
        margin-top: 20px;
    }

    .galleryview .item img {
        height: 250px;
    }

    .passenger-counter {
        gap: 10px;
    }
}


/* Form Grid */
.contact-form-grid {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.contact-form-grid .form-row {
    display: grid;
    grid-template-columns: 2fr 2fr;
    gap: 20px;
}

.contact-form-grid .form-col {
    display: flex;
    flex-direction: column;
}

.contact-form-grid .form-group {
    margin-bottom: 0;
}

.contact-form-grid .form-label {
    font-weight: 600;
    color: #495057;
    margin-bottom: 8px;
    display: block;
}

/* Form Inputs */
.form-input,
.form-select {
    width: 100%;
    padding: 12px 16px;
    border: 2px solid #e9ecef;
    border-radius: 12px;
    font-size: 0.95rem;
    transition: all 0.3s ease;
    background: white;
}

.form-input:focus,
.form-select:focus {
    border-color: #667eea;
    box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.1);
    outline: none;
}

.form-input::placeholder {
    color: #adb5bd;
}

/* Title Options */
.title-options {
    display: flex;
    gap: 10px;
}

.title-radio {
    display: none;
}

.title-option {
    background: #f8f9fa;
    border: 2px solid #e9ecef;
    color: #6c757d;
    padding: 10px 20px;
    border-radius: 25px;
    cursor: pointer;
    transition: all 0.3s ease;
    text-align: center;
    min-width: 60px;
}

.title-radio:checked+.title-option {
    background: #667eea;
    border-color: #667eea;
    color: white;
}

.title-option:hover {
    border-color: #667eea;
}

/* Submit Section */
.form-submit-section {
    padding: 30px;
    background: #f8f9fa;
    text-align: center;
}

.submit-button {
    background: linear-gradient(45deg, #667eea, #428141);
    color: white;
    border: none;
    padding: 18px 40px;
    border-radius: 50px;
    font-size: 1.1rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s ease;
    display: inline-flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 15px;
}

.submit-button:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 25px rgba(102, 126, 234, 0.3);
}

.submit-note {
    color: #6c757d;
    margin: 0;
    font-size: 0.9rem;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
}

/* Sidebar Cards */
.summary-card,
.help-card {
    background: white;
    border-radius: 20px;
    box-shadow: 0 5px 25px rgba(0, 0, 0, 0.08);
    overflow: hidden;
    margin-bottom: 25px;
}

.summary-header,
.help-header {
    background: linear-gradient(135deg, #667eea 0%, #428141 100%);
    color: white;
    padding: 20px;
    text-align: center;
}

.summary-title,
.help-title {
    margin: 0;
    font-size: 1.2rem;
    font-weight: 600;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
}

.summary-content,
.help-content {
    padding: 25px;
}

/* Tour Info */
.tour-info {
    margin-bottom: 25px;
    padding-bottom: 20px;
    border-bottom: 1px solid #f1f3f4;
}

.booking-form-section .tour-name {
    font-size: 1.1rem;
    font-weight: 700;
    color: #2c3e50;
    margin-bottom: 15px;
    line-height: 1.4;
}

.tour-dates,
.tour-duration {
    display: flex;
    align-items: center;
    gap: 10px;
    color: #6c757d;
    font-size: 0.9rem;
    margin-bottom: 8px;
}

select {
    appearance: auto;
}

.tour-dates i,
.tour-duration i {
    color: #667eea;
    width: 16px;
}

/* Passenger Summary */
.passenger-summary {
    margin-bottom: 25px;
}

.summary-subtitle {
    font-size: 1rem;
    font-weight: 600;
    color: #495057;
    margin-bottom: 15px;
}

.passenger-breakdown {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.breakdown-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 10px 0;
    border-bottom: 1px solid #f1f3f4;
}

.breakdown-item:last-child {
    border-bottom: none;
}

.item-label {
    font-weight: 600;
    color: #495057;
}

.item-count {
    background: #e3f2fd;
    color: #1976d2;
    padding: 4px 12px;
    border-radius: 15px;
    font-size: 0.8rem;
    font-weight: 600;
}

.item-price {
    font-weight: 700;
    color: #667eea;
}

/* Total Section */
.total-section {
    background: #f8f9fa;
    border-radius: 15px;
    padding: 20px;
}

.total-line {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 10px;
}

.total-label {
    font-weight: 700;
    color: #2c3e50;
    font-size: 1.1rem;
}

.total-amount {
    font-size: 1.5rem;
    font-weight: 700;
    color: #667eea;
}

.total-note {
    color: #6c757d;
    font-size: 0.8rem;
    margin: 0;
    text-align: center;
}

/* Help Card */
.help-content {
    padding: 20px;
}

.help-item {
    display: flex;
    align-items: center;
    gap: 15px;
    padding: 15px 0;
    border-bottom: 1px solid #f1f3f4;
}

.help-item:last-child {
    border-bottom: none;
}

.help-item i {
    background: #e3f2fd;
    color: #1976d2;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.1rem;
}

.help-text {
    flex: 1;
}

.help-text strong {
    display: block;
    color: #2c3e50;
    font-weight: 600;
    margin-bottom: 2px;
}

.help-text span {
    color: #6c757d;
    font-size: 0.9rem;
}


.section-subtitle {
    color: #6c757d;
    margin: 0;
    font-size: 0.9rem;
}

.passenger-counts {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}

.count-badge {
    background: #e3f2fd;
    color: #1976d2;
    padding: 8px 16px;
    border-radius: 20px;
    font-size: 0.9rem;
    font-weight: 600;
    display: flex;
    align-items: center;
    gap: 6px;
}

.children-count {
    background: #f3e5f5;
    color: #7b1fa2;
}

/* Responsive Design */
@media (max-width: 768px) {
    .hero-title {
        font-size: 2rem;
    }

    .form-row {
        grid-template-columns: 1fr;
    }

    .section-header {
        flex-direction: column;
        align-items: flex-start;
    }

    .passenger-counts {
        justify-content: flex-start;
    }

    .summary-card,
    .help-card {
        margin-top: 25px;
    }
}

@media (max-width: 576px) {
    .booking-hero {
        padding: 40px 0;
    }

    .hero-title {
        font-size: 1.8rem;
    }

    .form-section {
        padding: 20px;
    }

    .form-card-header {
        padding: 20px;
    }

    .passenger-group {
        padding: 20px;
    }
}

/* Hero Section */
.tours-hero {
    background: url(../images/tour-hero.jpg) no-repeat center center;
    background-size: cover;
    color: white;
    padding: 80px 0;
    position: relative;
    overflow: hidden;
}

.tours-hero::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(135deg, #667eea 0%, #428141 100%);
    opacity: 0.7;
}

.min-vh-50 {
    min-height: 50vh;
}

.hero-content {
    position: relative;
    z-index: 2;
}

.hero-title {
    font-size: 3.5rem;
    font-weight: 700;
    margin-bottom: 10px;
    line-height: 1.2;
}

.hero-subtitle {
    font-size: 1.25rem;
    margin: 0 auto;
    margin-bottom: 0;
    opacity: 0.9;
    line-height: 1.6;
    color: #fff;
    max-width: 770px;
}

.hero-search {
    margin-top: 2rem;
}

.search-form {
    max-width: 500px;
    margin: 0 auto;
}

.search-input-group {
    position: relative;
    display: flex;
    background: white;
    border-radius: 50px;
    overflow: hidden;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2);
}

.search-icon {
    position: absolute;
    left: 20px;
    top: 50%;
    transform: translateY(-50%);
    color: #6c757d;
    z-index: 3;
}

.search-input {
    flex: 1;
    border: none;
    padding: 18px 20px 18px 50px;
    font-size: 1.1rem;
    outline: none;
    color: #333;
}

.search-button {
    background: linear-gradient(45deg, #f8b93a, #db9916);
    color: white;
    border: none;
    padding: 18px 30px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s ease;
    display: flex;
    align-items: center;
    gap: 10px;
}

.search-button:hover {
    background: linear-gradient(45deg, #db9916, #f8b93a);
    transform: translateX(5px);
}

.hero-image img {
    max-width: 100%;
    height: auto;
}

/* Filters Section */
.filters-card {
    background: white;
    border-radius: 20px;
    box-shadow: 0 5px 25px rgba(0, 0, 0, 0.08);
}

.filters-header {
    background: linear-gradient(135deg, #428141 0%, #667eea 100%);
    color: white;
    padding: 25px 30px;
}

.filters-title {
    margin: 0;
    font-size: 1.5rem;
    font-weight: 600;
    display: flex;
    align-items: center;
    gap: 12px;
}

.filters-body {
    padding: 25px;
}

.filter-group {
    margin-bottom: 0;
}

.filter-label {
    font-weight: 600;
    color: #495057;
    margin-bottom: 8px;
    display: block;
}

.filter-select {
    width: 100%;
    padding: 12px 16px;
    border: 2px solid #e9ecef;
    border-radius: 12px;
    font-size: 0.95rem;
    transition: all 0.3s ease;
    background: white;
}

.filter-select:focus {
    border-color: #667eea;
    box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.1);
    outline: none;
}

.filter-button {
    background: linear-gradient(45deg, #667eea, #428141);
    color: white;
    border: none;
    padding: 12px 24px;
    border-radius: 12px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s ease;
    display: flex;
    align-items: center;
    gap: 8px;
    width: 100%;
    justify-content: center;
}

.filter-button:hover {
    transform: translateY(-2px);
    box-shadow: 0 5px 15px rgba(102, 126, 234, 0.3);
}

.filter-clear-button {
    background: #6c757d;
    color: white;
    border: none;
    padding: 12px 24px;
    border-radius: 12px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s ease;
    display: flex;
    align-items: center;
    gap: 8px;
    width: 100%;
    justify-content: center;
    text-decoration: none;
}

.filter-clear-button:hover {
    background: #5a6268;
    transform: translateY(-2px);
    color: white;
}

/* Tours Grid Section */
.tours-grid-section {
    padding: 30px 0;
    background: white;
}

.results-header {
    margin-bottom: 40px;
    padding-bottom: 20px;
    border-bottom: 2px solid #f8f9fa;
}

.results-title {
    font-size: 24px;
    font-weight: 700;
    color: #2c3e50;
    margin-bottom: 0;
    line-height: 30px;
    display: flex;
    align-items: center;
    gap: 15px;
}

.results-subtitle {
    font-size: 1.1rem;
    color: #6c757d;
    margin: 0;
    text-align: right;
}

.view-options {
    display: flex;
    align-items: center;
    gap: 10px;
}

.view-label {
    font-weight: 600;
    color: #495057;
}

.view-option {
    background: #f8f9fa;
    border: 2px solid #e9ecef;
    color: #6c757d;
    padding: 10px 15px;
    border-radius: 10px;
    cursor: pointer;
    transition: all 0.3s ease;
}

.view-option:hover,
.view-option.active {
    background: #667eea;
    border-color: #667eea;
    color: white;
}

/* Tour Cards */
.tour-card {
    background: white;
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 5px 25px rgba(0, 0, 0, 0.08);
    transition: all 0.3s ease;
    height: 100%;
    display: flex;
    flex-direction: column;
}

.tour-card:hover {
    transform: translateY(-10px);
    box-shadow: 0 15px 40px rgba(0, 0, 0, 0.15);
}

.tour-card-image {
    position: relative;
    overflow: hidden;
}

.tour-image-link {
    display: block;
    position: relative;
}

.tour-img {
    width: 100%;
    height: 250px;
    object-fit: cover;
    transition: transform 0.3s ease;
}

.tour-card:hover .tour-img {
    transform: scale(1.05);
}

.tour-card .tour-badges {
    position: absolute;
    top: 15px;
    left: 15px;
    display: flex;
    flex-direction: row;
    gap: 8px;
}

.tour-card .tour-badge {
    background: rgba(255, 255, 255, 0.95);
    color: #495057;
    padding: 6px 12px;
    border-radius: 20px;
    font-size: 0.8rem;
    font-weight: 600;
    display: flex;
    align-items: center;
    gap: 6px;
    backdrop-filter: blur(10px);
}

.tour-card .tour-days-badge {
    background: linear-gradient(45deg, #667eea, #428141);
    color: white;
    position: static;
}

.tour-card .tour-location-badge {
    background: rgba(255, 255, 255, 0.95);
    color: #495057;
    position: static;
}

.tour-type-badge {
    position: absolute;
    top: 15px;
    right: 15px;
    background: linear-gradient(45deg, #ff6b6b, #ee5a24);
    color: white;
    padding: 6px 12px;
    border-radius: 20px;
    font-size: 0.8rem;
    font-weight: 600;
}

.tour-card-content {
    padding: 25px;
    flex: 1;
    display: flex;
    flex-direction: column;
}

.tour-card-header {
    margin-bottom: 15px;
}

.tour-card-title {
    font-size: 1.3rem;
    font-weight: 700;
    margin: 0;
    line-height: 1.4;
}

.tour-card-title a {
    color: #2c3e50;
    text-decoration: none;
    transition: color 0.3s ease;
}

.tour-card-title a:hover {
    color: #667eea;
}

.tour-card-meta {
    margin-bottom: 20px;
    flex: 1;
}

.tour-meta-item {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 8px;
    color: #6c757d;
    font-size: 0.9rem;
}

.tour-meta-item i {
    color: #667eea;
    width: 16px;
}

.tour-card-footer {
    margin-top: auto;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-top: 20px;
    border-top: 1px solid #f8f9fa;
}

.tour-price-section {
    flex: 1;
}

.tour-price {
    display: flex;
    flex-direction: column;
}

.price-amount {
    font-size: 1.5rem;
    font-weight: 700;
    color: #667eea;
}

.price-unit {
    font-size: 0.8rem;
    color: #6c757d;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.tour-actions {
    flex-shrink: 0;
}

.tour-details-btn {
    background: linear-gradient(45deg, #667eea, #428141);
    color: white;
    text-decoration: none;
    padding: 10px 20px;
    border-radius: 25px;
    font-weight: 600;
    font-size: 0.9rem;
    transition: all 0.3s ease;
    display: flex;
    align-items: center;
    gap: 8px;
}

.tour-details-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 5px 15px rgba(102, 126, 234, 0.3);
    color: white;
}

/* No Tours Found */
.no-tours-found {
    padding: 40px 0;
}

.no-tours-content {
    max-width: 500px;
    margin: 0 auto;
}

.no-tours-icon {
    font-size: 4rem;
    color: #dee2e6;
    margin-bottom: 1.5rem;
}

.no-tours-title {
    color: #6c757d;
    margin-bottom: 1rem;
    font-size: 30px;
    font-weight: 700;
}

.no-tours-message {
    color: #6c757d;
    margin-bottom: 2rem;
    line-height: 1.6;
}

.no-tours-button {
    background: linear-gradient(45deg, #667eea, #428141);
    color: white;
    text-decoration: none;
    padding: 15px 30px;
    border-radius: 25px;
    font-weight: 600;
    transition: all 0.3s ease;
    display: inline-flex;
    align-items: center;
    gap: 10px;
}

.no-tours-button:hover {
    transform: translateY(-2px);
    box-shadow: 0 5px 15px rgba(102, 126, 234, 0.3);
    color: white;
}

/* Pagination */
.pagination-section {
    margin-top: 60px;
}

.pagination-wrapper {
    text-align: center;
}

.pagination-nav {
    display: inline-block;
}

.pagination {
    display: flex;
    list-style: none;
    padding: 0;
    margin: 0;
    gap: 5px;
}

.page-item .page-link {
    background: white;
    border: 2px solid #e9ecef;
    color: #495057;
    padding: 12px 16px;
    border-radius: 12px;
    text-decoration: none;
    transition: all 0.3s ease;
    min-width: 45px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.page-item .page-link:hover {
    background: #667eea;
    border-color: #667eea;
    color: white;
}

.page-item.active .page-link {
    background: #667eea;
    border-color: #667eea;
    color: white;
}

.page-item.disabled .page-link {
    background: #f8f9fa;
    border-color: #e9ecef;
    color: #6c757d;
    cursor: not-allowed;
}

.page-info {
    margin-top: 20px;
}

.page-info-text {
    color: #6c757d;
    margin: 0;
}

/* Responsive Design */
@media (max-width: 768px) {
    .hero-title {
        font-size: 2.5rem;
    }

    .hero-subtitle {
        font-size: 1.1rem;
    }

    .search-input-group {
        flex-direction: column;
        border-radius: 15px;
    }

    .search-input {
        border-radius: 15px 15px 0 0;
    }

    .search-button {
        border-radius: 0 0 15px 15px;
    }

    .results-title {
        font-size: 2rem;
    }

    .tour-card-content {
        padding: 20px;
    }

    .tour-card-footer {
        flex-direction: column;
        gap: 15px;
        align-items: stretch;
    }

    .tour-details-btn {
        justify-content: center;
    }
}

@media (max-width: 576px) {
    .tours-hero {
        padding: 60px 0;
    }

    .hero-title {
        font-size: 2rem;
    }

    .filters-body {
        padding: 20px;
    }

    .tour-card-content {
        padding: 15px;
    }
}

/* No Bookings */
.no-bookings {
    text-align: center;
    padding: 80px 20px;
}

.no-bookings-icon {
    font-size: 5rem;
    color: #dee2e6;
    margin-bottom: 30px;
}

.no-bookings-title {
    font-size: 2rem;
    font-weight: 700;
    color: #6c757d;
    margin-bottom: 15px;
}

.no-bookings-subtitle {
    font-size: 1.1rem;
    color: #adb5bd;
    margin-bottom: 40px;
    max-width: 500px;
    margin-left: auto;
    margin-right: auto;
    line-height: 1.6;
}

.no-bookings-actions {
    display: flex;
    gap: 20px;
    justify-content: center;
    flex-wrap: wrap;
}

/* Hotel Cards */
.destinationList .hotel-card {
    background: white;
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 5px 25px rgba(0, 0, 0, 0.08);
    transition: all 0.3s ease;
    height: 100%;
    display: flex;
    flex-direction: column;
    margin-bottom: 30px;
}

.destinationList .hotel-card:hover {
    transform: translateY(-10px);
    box-shadow: 0 15px 40px rgba(0, 0, 0, 0.15);
}

.destinationList .hotel-card-image {
    position: relative;
    overflow: hidden;
}

.destinationList .hotel-image-link {
    display: block;
    position: relative;
}

.destinationList .hotel-img {
    width: 100%;
    height: 250px;
    object-fit: cover;
    transition: transform 0.3s ease;
}

.destinationList .hotel-card:hover .hotel-img {
    transform: scale(1.05);
}

.destinationList .hotel-badges {
    position: absolute;
    top: 15px;
    left: 15px;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.destinationList .hotel-badge {
    background: rgba(255, 255, 255, 0.95);
    color: #495057;
    padding: 6px 12px;
    border-radius: 20px;
    font-size: 0.8rem;
    font-weight: 600;
    display: flex;
    align-items: center;
    gap: 6px;
    backdrop-filter: blur(10px);
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
}

.destinationList .hotel-type-badge {
    background: linear-gradient(45deg, #667eea, #428141);
    color: white;
}

.destinationList .hotel-star-badge {
    background: linear-gradient(45deg, #ff6b6b, #ee5a24);
    color: white;
}

.destinationList .hotel-card-content {
    padding: 25px;
    flex: 1;
    display: flex;
    flex-direction: column;
}

.destinationList .hotel-card-header {
    margin-bottom: 15px;
}

.destinationList .hotel-card-title {
    font-size: 1.2rem;
    font-weight: 600;
    margin: 0 0 10px 0;
    line-height: 1.4;
    padding-top: 0;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
    word-break: break-word;
    hyphens: auto;
}

.destinationList .hotel-card-title a {
    color: #2c3e50;
    text-decoration: none;
    transition: color 0.3s ease;
}

.destinationList .hotel-card-title a:hover {
    color: #667eea;
}

.destinationList .hotel-rating {
    margin-bottom: 15px;
}

.rating-stars {
    display: flex;
    align-items: center;
    gap: 5px;
}

.rating-stars i {
    font-size: 0.9rem;
}

.rating-text {
    margin-left: 8px;
    font-size: 0.85rem;
    color: #6c757d;
    font-weight: 600;
}

.destinationList .hotel-card-meta {
    margin-bottom: 0;
    flex: 1;
}

.destinationList .hotel-meta-item {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 8px;
    color: #6c757d;
    font-size: 0.9rem;
}

.destinationList .hotel-meta-item i {
    color: #667eea;
    width: 16px;
}

.destinationList .hotel-card-footer {
    margin-top: auto;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0;
    border-top: none;
    background: none;
}

.destinationList .hotel-price-section {
    flex: 1;
}

.hotel-price {
    display: flex;
    flex-direction: column;
}

.price-amount {
    font-size: 1.5rem;
    font-weight: 700;
    color: #667eea;
}

.price-unit {
    font-size: 0.8rem;
    color: #6c757d;
    margin-top: -2px;
}

.hotel-actions {
    flex-shrink: 0;
}

.hotel-details-btn {
    display: inline-block;
    background: linear-gradient(45deg, #667eea, #428141);
    color: white;
    padding: 10px 20px;
    border-radius: 25px;
    font-size: 0.9rem;
    font-weight: 600;
    text-decoration: none;
    transition: all 0.3s ease;
    box-shadow: 0 3px 15px rgba(102, 126, 234, 0.3);
}

.hotel-details-btn:hover {
    background: linear-gradient(45deg, #5a6fd8, #3a7a3a);
    color: white;
    transform: translateY(-2px);
    box-shadow: 0 5px 20px rgba(102, 126, 234, 0.4);
}

/* Responsive adjustments for hotel cards */
@media (max-width: 768px) {
    .hotel-card {
        margin-bottom: 20px;
    }

    .hotel-card-content {
        padding: 20px;
    }

    .hotel-card-title {
        font-size: 1.1rem;
    }

    .hotel-img {
        height: 200px;
    }

    .hotel-badges {
        top: 10px;
        left: 10px;
    }

    .hotel-badge {
        padding: 5px 10px;
        font-size: 0.75rem;
    }
}

/* RTL Support for Owl Carousel */
[dir="rtl"] .owl-carousel,
.rtl .owl-carousel {
    direction: rtl;
}

[dir="rtl"] .owl-carousel .owl-stage,
.rtl .owl-carousel .owl-stage {
    direction: rtl;
}

[dir="rtl"] .owl-carousel .owl-item,
.rtl .owl-carousel .owl-item {
    direction: rtl;
    float: right;
}

[dir="rtl"] .owl-carousel .owl-nav,
.rtl .owl-carousel .owl-nav {
    direction: rtl;
}

[dir="rtl"] .owl-carousel .owl-nav .owl-prev,
.rtl .owl-carousel .owl-nav .owl-prev {
    left: auto;
    right: 0;
}

[dir="rtl"] .owl-carousel .owl-nav .owl-next,
.rtl .owl-carousel .owl-nav .owl-next {
    right: auto;
    left: 0;
}

/* Fix RTL carousel positioning issues */
[dir="rtl"] .owl-carousel .owl-stage-outer,
.rtl .owl-carousel .owl-stage-outer {
    overflow: hidden;
    position: relative;
    width: 100%;
}

[dir="rtl"] .owl-carousel .owl-stage,
.rtl .owl-carousel .owl-stage {
    position: relative;
    -ms-touch-action: pan-Y;
    touch-action: manipulation;
    -moz-backface-visibility: hidden;
    backface-visibility: hidden;
}

/* Ensure testimonials carousel works properly in RTL */
[dir="rtl"] .testimonialsList .owl-item,
.rtl .testimonialsList .owl-item {
    text-align: right;
}

[dir="rtl"] .testimonialsList .testibox,
.rtl .testimonialsList .testibox {
    text-align: right;
}

/* Ensure hotels carousel works properly in RTL */
[dir="rtl"] .hotelslist .owl-item,
.rtl .hotelslist .owl-item {
    text-align: right;
}

[dir="rtl"] .hotelslist .locwrap,
.rtl .hotelslist .locwrap {
    text-align: right;
}

/* Fixed Navigation Support */
body.nav-fixed .header-wrap {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 1030;
    background: #fff;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.05);
}

body.nav-fixed {
    padding-top: 85px;
}

@media (max-width: 991px) {
    body.nav-fixed {
        padding-top: 70px;
    }
}