/* ======================
    Index
    1. Default css
    2. Preloader css
    3. Button css
    4. Header
    5. Menu css
    6. Hero Section
    7. About Section
    8. Featured Section
    9. Offer Section
    10. Rating css
    11. Service Section
    12. Preview Section
    13. Testimonial Section
    14. Blog Section
    15. Breadcrumb
    16. Room Details
    17. Auth Section
    18. Checkbox and Radio css
    19. My Dashbord css
    20. Sidebar css
    21. Blog Details Page
    22. 404
    23. Social Media
    24. Layer Bounce
    25. Entry css
    26. Contact
    27. Parsley css
    28. Footer Section
    29. Cookies Content css
    ====================== */

/* ======================
    Default css
    ====================== */

* {
    margin: 0;
    padding: 0;
    outline: 0;
}
body {
    font-family: var(--primary-font-family);
    font-weight: normal;
    font-style: normal;
    color: var(--color-gray-dark);
    font-size: 14px;
    line-height: 1.5;
}
.img,
img {
    max-width: 100%;
    -webkit-transition: all 0.3s ease-out 0s;
    -moz-transition: all 0.3s ease-out 0s;
    transition: all 0.3s ease-out 0s;
}
a,
.button {
    -webkit-transition: all 0.3s ease-out 0s;
    -moz-transition: all 0.3s ease-out 0s;
    transition: all 0.3s ease-out 0s;
}
a:focus,
.button:focus {
    text-decoration: none;
    outline: none;
}
a {
    text-decoration: none;
    display: inline-block;
    color: var(--color-gray-dark);
}
a:focus,
a:hover {
    text-decoration: none;
    color: var(--theme-color);
}
a,
button {
    outline: medium none;
}
.relative {
    position: relative;
}
table {
    width: 100%;
}
h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: var(--secondary-font-family);
    color: var(--color-black);
    margin-top: 0px;
    font-style: normal;
    font-weight: 700;
}
h1 a,
h2 a,
h3 a,
h4 a,
h5 a,
h6 a {
    color: inherit;
}
h1 {
    font-size: 40px;
}
h2 {
    font-size: 35px;
}
h3 {
    font-size: 28px;
}
h4 {
    font-size: 22px;
}
h5 {
    font-size: 18px;
}
h6 {
    font-size: 16px;
}
ul {
    margin: 0px;
    padding: 0px;
}
li {
    list-style: none;
}
p {
    color: var(--color-gray-dark);
    font-family: var(--secondary-font-family);
    font-size: 14px;
    font-weight: normal;
    margin-bottom: 15px;
}
label {
    color: var(--color-gray-dark);
    cursor: pointer;
    font-size: 14px;
    font-weight: 600;
}

*::-moz-selection {
    background: var(--theme-color);
    color: var(--color-white);
    text-shadow: none;
}
::-moz-selection {
    background: var(--theme-color);
    color: var(--color-white);
    text-shadow: none;
}
::selection {
    background: var(--theme-color);
    color: var(--color-white);
    text-shadow: none;
}

*::-moz-placeholder {
    color: var(--color-gray-400);
}
*::placeholder {
    color: var(--color-gray-400);
}
.red {
    color: #f25961;
}

input:hover,
input:active,
input:focus,
textarea:hover,
textarea:active,
textarea:focus,
button:focus,
button:active,
button:hover,
label:focus,
.btn:active,
.btn.active {
    outline: 0px !important;
    box-shadow: none !important;
}
.form-control,
.mb-3 input,
input,
input.form-control,
.form-select,
.form-control textarea,
.mb-3 textarea,
textarea {
    padding: 8px 10px;
    -webkit-border-radius: 0px;
    border-radius: 8px;
    border-color: var(--color-gray-400);
    height: auto;
    color: var(--color-gray-dark);
    font-size: 14px;
}
input.form-control:focus,
.mb-3 input:focus,
.mb-3 textarea:focus,
input:focus,
textarea:focus,
.form-control textarea:focus,
.form-control:focus {
    box-shadow: none;
    color: var(--color-gray-dark);
    border-color: var(--theme-color);
}
.form-select:focus {
    border-color: var(--theme-color);
    box-shadow: none;
}
.form-control:-moz-focusring {
    color: var(--color-gray-dark);
    text-shadow: none;
}
.form-control:disabled,
.form-control[readonly] {
    background-color: #e9ecef;
    opacity: 1;
}
main {
    display: block;
}
.section {
    padding: 80px 0;
}
.section-top {
    padding-top: 80px;
}
.section-bottom {
    padding-bottom: 80px;
}
.inner-section {
    padding: 60px 0px;
}
.inner-section-bg {
    height: 100%;
    position: relative;
    background-color: var(--color-gray-500);
}
.section-heading {
    text-align: center;
    margin-bottom: 60px;
}
.section-heading h5 {
    color: var(--theme-color);
    font-size: 18px;
}
.section-heading h2 {
    margin: 15px 0;
}

a.scroll-to-top {
    display: none;
    position: fixed;
    bottom: 30px;
    right: 30px;
    width: 40px;
    height: 40px;
    line-height: 40px;
    border-radius: 50%;
    color: var(--color-white);
    background-color: var(--theme-color);
    text-align: center;
    font-size: 18px;
    z-index: 9999;
    -webkit-transition: all 0.5s ease-in-out 0s;
    -moz-transition: all 0.5s ease-in-out 0s;
    -ms-transition: all 0.5s ease-in-out 0s;
    -o-transition: all 0.5s ease-in-out 0s;
    transition: all 0.5s ease-in-out 0s;
}
a.scroll-to-top:hover {
    background: var(--color-black);
}

.sticky {
    left: 0;
    margin: auto;
    position: fixed;
    top: 0;
    width: 100%;
    z-index: 9999;
    border-bottom: 1px solid var(--color-gray-400);
    -webkit-animation: fadeInDown 0.7s ease-in-out 0s 1 normal none running;
    animation: fadeInDown 0.7s ease-in-out 0s 1 normal none running;
    -webkit-transition: all 0.3s ease 0s;
    -moz-transition: all 0.3s ease 0s;
    transition: all 0.3s ease 0s;
}
.header-menu.sticky {
    padding: 0px 0px;
}
.header-menu.sticky .logo {
    width: 140px;
}
.border_none {
    border: none !important;
}
.pt0 {
    padding-top: 0px !important;
}
.pl0 {
    padding-left: 0px !important;
}
.pr0 {
    padding-right: 0px !important;
}
.pb0 {
    padding-bottom: 0px !important;
}

.pb5 {
    padding-bottom: 5px;
}

.mt10 {
    margin-top: 10px;
}
.mt15 {
    margin-top: 15px;
}
.mt30 {
    margin-top: 30px;
}
.mt50 {
    margin-top: 50px;
}
.mt60 {
    margin-top: 60px;
}
.mb0 {
    margin-bottom: 0px !important;
}
.mb5 {
    margin-bottom: 5px;
}
.mb10 {
    margin-bottom: 10px;
}
.mb15 {
    margin-bottom: 15px;
}
.mb20 {
    margin-bottom: 20px;
}
.mb25 {
    margin-bottom: 25px;
}
.mb30 {
    margin-bottom: 30px;
}
.mb35 {
    margin-bottom: 35px;
}
.mb40 {
    margin-bottom: 40px;
}

.page-item.active .page-link {
    color: var(--color-white);
    background-color: var(--theme-color);
    border-color: var(--theme-color);
}
.page-link {
    color: var(--theme-color);
}
.page-link:hover {
    color: var(--theme-color);
}
.page-link:focus {
    color: var(--theme-color);
}

.empty_card {
    padding: 20px;
}
.empty_card .empty_img {
    padding: 20px;
}
.empty_card .empty_img img {
    width: 100%;
}
.empty_card h3 {
    font-size: 18px;
    text-align: center;
}
.full {
    width: 100%;
}

/* ======================
    Preloader css
    ====================== */
.tw-loader {
    position: fixed;
    top: 0;
    bottom: 0;
    right: 0;
    left: 0;
    z-index: 9999999;
    width: 100%;
    height: 100vh;
    background: var(--color-white);
}
.tw-ellipsis {
    position: relative;
    width: 80px;
    height: 15px;
    top: 50%;
    margin: auto;
}
.tw-ellipsis div {
    position: absolute;
    top: 3px;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    animation-timing-function: cubic-bezier(0, 1, 1, 0);
    background: var(--theme-color);
}
.tw-ellipsis div:nth-child(1) {
    left: 8px;
    animation: tw-ellipsis1 0.6s infinite;
}
.tw-ellipsis div:nth-child(2) {
    left: 8px;
    animation: tw-ellipsis2 0.6s infinite;
}
.tw-ellipsis div:nth-child(3) {
    left: 32px;
    animation: tw-ellipsis2 0.6s infinite;
}
.tw-ellipsis div:nth-child(4) {
    left: 56px;
    animation: tw-ellipsis3 0.6s infinite;
}

@keyframes tw-ellipsis1 {
    0% {
        transform: scale(0);
    }
    100% {
        transform: scale(1);
    }
}
@keyframes tw-ellipsis3 {
    0% {
        transform: scale(1);
    }
    100% {
        transform: scale(0);
    }
}
@keyframes tw-ellipsis2 {
    0% {
        transform: translate(0, 0);
    }
    100% {
        transform: translate(24px, 0);
    }
}

/* ======================
    Button css
    ====================== */
.btn {
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    border: none;
    border-radius: 50px;
    padding: 15px 30px;
    cursor: pointer;
    display: inline-block;
    font-size: 14px;
    font-family: var(--secondary-font-family);
    font-weight: 800;
    line-height: 1;
    margin-bottom: 0;
    text-align: center;
    vertical-align: middle;
    white-space: nowrap;
    position: relative;
    z-index: 2;
    overflow: hidden;
    -moz-transition: all ease 400ms;
    -webkit-transition: all ease 400ms;
    transition: all ease 400ms;
}
.btn.focus,
.btn:focus {
    box-shadow: none;
}
.btn.theme-btn {
    color: var(--color-white);
    background-color: var(--theme-color);
}
.btn.theme-btn::before {
    position: absolute;
    top: 0;
    left: auto;
    right: 0;
    content: "";
    width: 0;
    height: 100%;
    z-index: -1;
    background-color: var(--color-light);
    overflow: hidden;
    border-radius: inherit;
    -moz-transition: width .5s cubic-bezier(.17,.67,.12,.81) 0s;
    -webkit-transition: width .5s cubic-bezier(.17,.67,.12,.81) 0s;
    transition: width .5s cubic-bezier(.17,.67,.12,.81) 0s;
}
.btn.theme-btn:hover::before {
    width: 100%;
    left: 0;
    right: auto;
}
.status_btn {
    color: #fff;
    padding: 3px 10px;
    border-radius: 15px;
}
.pstatus_1 {
    background-color: rgba(40, 199, 111, 0.1);
    border: 1px solid #26c56d;
    color: #26c56d;
}
.pstatus_2 {
    background-color: rgba(255, 159, 67, 0.1);
    border: 1px solid #fe9e42;
    color: #fe9e42;
}
.pstatus_3,
.pstatus_4 {
    background-color: rgba(242, 89, 97, 0.1);
    border: 1px solid #f25961;
    color: #f25961;
}

.ostatus_1{
    background-color: rgba(255, 159, 67, 0.1);
    border: 1px solid #fe9e42;
    color: #fe9e42;
}
.ostatus_2{
    background-color: rgba(40, 199, 111, 0.1);
    border: 1px solid #26c56d;
    color: #26c56d;
}
.ostatus_3 {
    background-color: rgba(145, 147, 149, 0.1);
    border: 1px solid #919395;
    color: #919395;
}
.ostatus_4 {
    background-color: rgba(242, 89, 97, 0.1);
    border: 1px solid #f25961;
    color: #f25961;
}
.ostatus_5 {
    background-color: rgba(242, 89, 97, 0.1);
    border: 1px solid #f25961;
    color: #f25961;
}

.status_card {
    display: flex;
    align-items: center;
}
.in_running,
.in_checked_out {
    width: 12px;
    height: 12px;
    display: block;
    border-radius: 100%;
    margin-right: 5px;
}
.in_running {
    background: #26c56d;
}
.in_checked_out {
    background: #919395;
}
.my-dashbord .table td p {
    font-family: var(--primary-font-family);
    color: var(--color-gray-dark);
    margin: 0;
    width: 100%;
}
a.book-menu-btn {
    border-radius: 10px;
    background: rgba(93, 93, 93, 0.14);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
}

a.book-menu-btn:hover,
a.book-menu-btn.active,
a.book-menu-btn:hover {
    background: var(--theme-color);
    transform: translateY(-2px) scale(1.04);
    color: var(--bs-white) !important;
}

/* ======================
    Header
    ====================== */
.top-header {
    background-color: var(--color-light);
    padding: 10px 0;
}

.language-menu a.dropdown-toggle {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 12px;
    border-radius: 8px;
    font-family: var(--secondary-font-family);
    color: var(--color-white);
    text-decoration: none;
    border: 1px solid transparent;
    transition: background-color 0.3s ease, border-color 0.3s ease;
}
.language-menu a.dropdown-toggle::after {
    display: none !important;
}
.language-menu a.dropdown-toggle:hover,
.language-menu .show a.dropdown-toggle {
    background-color: rgba(255, 255, 255, 0.15);
    border-color: rgba(255, 255, 255, 0.2);
}
.language-menu a.dropdown-toggle .bi-chevron-down {
    font-size: 0.8em;
    transition: transform 0.3s ease;
}
.language-menu .show a.dropdown-toggle .bi-chevron-down {
    transform: rotate(180deg);
}
.language-menu ul.dropdown-menu {
    min-width: 200px;
    margin-top: 10px;
    border-radius: 12px;
    border: 1px solid #e9ecef;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
    padding: 8px;
    animation: fadeIn 0.2s ease-out;
}
@keyframes fadeIn {
    from {
        opacity: 0;
        transform: translateY(-10px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}
.language-menu ul.dropdown-menu li a.dropdown-item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 12px;
    font-family: var(--secondary-font-family);
    color: var(--color-gray-dark);
    border-radius: 8px;
    transition: background-color 0.2s ease, color 0.2s ease;
}
.language-menu ul.dropdown-menu li a.dropdown-item i {
    font-size: 1.1em;
    color: var(--color-gray);
    transition: color 0.2s ease;
}
.language-menu ul.dropdown-menu li a.dropdown-item .dropdown-item-flag {
    width: 20px;
    height: 15px;
    border-radius: 3px;
    object-fit: cover;
    box-shadow: 0 1px 3px rgba(0,0,0,0.1);
}
.language-menu ul.dropdown-menu li a.dropdown-item:hover,
.language-menu ul.dropdown-menu li a.dropdown-item:focus {
    background-color: rgba(166, 98, 73, 0.1);
    color: var(--theme-color);
}
.language-menu ul.dropdown-menu li a.dropdown-item:hover i,
.language-menu ul.dropdown-menu li a.dropdown-item:focus i {
    color: var(--theme-color);
}
.language-menu .dropdown-item.logout-btn,
.language-menu button.dropdown-item {
    width: 100%;
    border: none;
    background: none;
    text-align: left;
    color: #dc3545;
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 12px;
    font-family: var(--secondary-font-family);
    border-radius: 8px;
    transition: background-color 0.2s ease, color 0.2s ease;
}
.language-menu .dropdown-item.logout-btn:hover,
.language-menu .dropdown-item.logout-btn:focus,
.language-menu button.dropdown-item:hover,
.language-menu button.dropdown-item:focus {
    background-color: rgba(220, 53, 69, 0.1);
    color: #dc3545;
}
.language-menu .dropdown-item.logout-btn i,
.language-menu button.dropdown-item i {
    color: #dc3545;
    font-size: 1.1em;
    transition: color 0.2s ease;
}
.language-menu .dropdown-divider {
    margin: 8px 0;
    border-top: 1px solid #f1f1f1;
}
.top-header ul.top-list li a.top-header-action-btn {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 12px;
    border-radius: 8px;
    color: var(--color-white);
    font-family: var(--secondary-font-family);
    text-decoration: none;
    border: 1px solid transparent;
    transition: background-color 0.3s ease, border-color 0.3s ease;
}
.top-header ul.top-list li a.top-header-action-btn:hover {
    background-color: rgba(255, 255, 255, 0.15);
    border-color: rgba(255, 255, 255, 0.2);
    color: var(--color-white);
}

.top-header ul.top-list-1,
.top-header ul.top-list {
    float: none;
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 0;
    padding: 0;
    height: 100%;
}
.top-header ul.top-list-1 li,
.top-header ul.top-list li {
    float: none;
    padding: 0;
}
.top-header .col-lg-6:last-child {
    display: flex;
    justify-content: flex-end;
}

.top-header ul.top-list-1 li {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 12px;
    border-radius: 8px;
    color: var(--color-white);
    font-family: var(--secondary-font-family);
    white-space: nowrap;
    transition: background-color 0.3s ease;
}
.top-header ul.top-list-1 li:hover {
    background-color: rgba(255, 255, 255, 0.1);
}

.header {
    display: block;
    background-color: var(--color-white);
}
.header .logo {
    width: 170px;
    padding: 10px 0;
    float: left;
}
.header .logo img {
    width: auto;
    height: 48px;
    transform: scale(2);
}

/* ======================
    Menu css
    ====================== */
.header-menu {
    height: auto;
    padding: 15px 0px;
    background-color: var(--color-white);
    -webkit-transition: all 0.3s ease-out 0s;
    -moz-transition: all 0.3s ease-out 0s;
    transition: all 0.3s ease-out 0s;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05);
    border-bottom: 1px solid #f0f0f0;
}
.tp-mega-full {
    position: relative;
    width: 100%;
    line-height: 1;
    display: flex;
    justify-content: flex-end;
}
.tp-menu {
    display: flex;
    display: -webkit-box;
    display: -ms-flexbox;
}
.tp-menu nav {
    float: left;
    padding-top: 0px;
}
.tp-menu ul {
    list-style: none;
    margin: 0;
    padding: 0;
}
.tp-menu ul li {
    float: left;
    position: relative;
}
.tp-menu ul li a.tp-updown {
    position: relative;
    -webkit-transition: all 0.3s ease 0s;
    -moz-transition: all 0.3s ease 0s;
    transition: all 0.3s ease 0s;
}
.tp-menu ul > li > a.tp-updown::before {
    position: absolute;
    content: "\F282";
    right: 0px;
    top: 26px;
    bottom: 24px;
    font-family: "bootstrap-icons";
    color: var(--color-black);
    font-size: 14px;
}
.tp-menu ul > li:hover > a.tp-updown::before {
    position: absolute;
    content: "\F286";
    right: 0px;
    top: 26px;
    bottom: 24px;
    font-family: "bootstrap-icons";
    color: var(--theme-color);
    font-size: 14px;
}
.tp-menu ul li a {
    font-family: var(--secondary-font-family);
    color: var(--color-gray-dark);
    font-size: 16px;
    display: block;
    padding: 15px 20px 12px 20px;
    text-decoration: none;
    -webkit-transition: all 0.3s ease-out 0s;
    -moz-transition: all 0.3s ease-out 0s;
    transition: all 0.3s ease-out 0s;
}
.tp-menu ul li:hover > a,
.tp-menu ul li.active > a {
    color: var(--theme-color);
}

/*submenu*/
.tp-menu ul li ul.submenu {
    position: absolute;
    top: 110%;
    left: 0;
    width: 220px;
    padding: 15px 15px;
    border-radius: 0px 0px 10px 10px;
    background: var(--color-white);
    z-index: 999999;
    visibility: hidden;
    opacity: 0;
    -webkit-box-shadow: 0px 17px 42px rgba(93, 93, 93, 0.14);
    -moz-box-shadow: 0px 17px 42px rgba(93, 93, 93, 0.14);
    box-shadow: 0px 17px 42px rgba(93, 93, 93, 0.14);
    -webkit-transition: all 0.3s ease 0s;
    -moz-transition: all 0.3s ease 0s;
    transition: all 0.3s ease 0s;
}
.tp-menu ul li:hover ul.submenu {
    visibility: visible;
    opacity: 1;
    top: 100%;
}
.tp-menu ul li ul.submenu li {
    float: none;
    margin: 0;
}
.tp-menu ul li ul.submenu li:last-child {
    border-bottom: none;
}
.tp-menu ul li ul.submenu li a {
    font-size: 14px;
    font-weight: 700;
    padding: 12px 15px;
    color: var(--color-black);
    text-transform: capitalize;
}

/*three level menu*/
.tp-menu ul li ul.submenu li ul.submenu {
    left: 100%;
    top: 0;
    opacity: 0;
    visibility: hidden;
}
.tp-menu ul li ul.submenu li:hover > ul.submenu {
    opacity: 1;
    visibility: visible;
}

/*mega-menu*/
.tp-menu ul li .mega-menu {
    position: absolute;
    top: 110%;
    left: 0;
    width: 500px;
    background: var(--color-white);
    border-radius: 0px 0px 10px 10px;
    padding: 30px 15px 18px 15px;
    z-index: 999999;
    visibility: hidden;
    opacity: 0;
    -webkit-box-shadow: 0px 17px 42px rgba(93, 93, 93, 0.14);
    -moz-box-shadow: 0px 17px 42px rgba(93, 93, 93, 0.14);
    box-shadow: 0px 17px 42px rgba(93, 93, 93, 0.14);
    -webkit-transition: all 0.3s ease 0s;
    -moz-transition: all 0.3s ease 0s;
    transition: all 0.3s ease 0s;
}
.tp-menu ul li:hover .mega-menu {
    visibility: visible;
    opacity: 1;
    top: 100%;
}
.tp-menu ul li .mega-menu ul {
    float: left;
}
.tp-menu ul li .mega-menu ul li {
    float: none;
    margin-right: 0;
}
.tp-menu ul li .mega-menu ul li a {
    padding: 12px 0px;
    text-transform: capitalize;
    color: var(--color-black);
    font-size: 14px;
    font-weight: 700;
    font-family: var(--secondary-font-family);
}

.tp-menu ul li ul.submenu li:hover > a,
.tp-menu ul li ul.submenu li.active > a,
.tp-menu ul li .mega-menu ul li:hover a,
.tp-menu ul li .mega-menu ul li.active > a {
    color: var(--theme-color);
    background: transparent;
}
.tp-menu ul li .mega-menu ul li.mega-title {
    padding: 0px 0px 5px 0px;
    color: var(--theme-color);
    font-weight: 800;
    font-size: 14px;
    font-family: var(--secondary-font-family);
    position: relative;
    margin-bottom: 10px;
}
.tp-menu ul li .mega-menu ul li.mega-title::before {
    position: absolute;
    content: "";
    bottom: 0;
    left: 0;
    width: 30px;
    height: 2px;
    background: var(--theme-color);
}

.tp-menu ul li .mega-menu ul.megafixed-col-1 {
    width: 100%;
}
.tp-menu ul li .mega-menu ul.megafixed-col-2 {
    width: 50%;
}
.tp-menu ul li .mega-menu ul.megafixed-col-3 {
    width: 33.33333333333333%;
}
.tp-menu ul li .mega-menu ul.megafixed-col-4 {
    width: 25%;
}
.tp-menu ul li .mega-menu ul.megafixed-col-5 {
    width: 20%;
}
.tp-menu ul li .mega-menu ul.megafixed-col-6 {
    width: 16.66666666666667%;
}

/*mega-menu full*/
.tp-menu ul li.tp-static {
    position: static;
}
.tp-menu ul li .mega-menu.mega-full {
    width: 100%;
}
.tp-menu ul li .mega-menu ul {
    padding: 0px 15px;
}
.tp-menu ul li .mega-menu ul:last-child {
    border-right: none;
}
.tp-menu ul li .mega-menu ul li.mega-col-image {
    overflow: hidden;
    padding: 0px 10px 0px 0px;
}
.tp-menu ul li .mega-menu ul li.mega-col-image a {
    padding: 0;
}
.tp-menu ul li .mega-menu ul li.mega-col-image img {
    width: 100%;
    height: auto;
    border-radius: 5px;
}

.tp-menu ul li .mega-menu.mega-full ul.mega-col-1 {
    width: 100%;
}
.tp-menu ul li .mega-menu.mega-full ul.mega-col-2 {
    width: 50%;
}
.tp-menu ul li .mega-menu.mega-full ul.mega-col-3 {
    width: 33.33333333333333%;
}
.tp-menu ul li .mega-menu.mega-full ul.mega-col-4 {
    width: 25%;
}
.tp-menu ul li .mega-menu.mega-full ul.mega-col-5 {
    width: 20%;
}
.tp-menu ul li .mega-menu.mega-full ul.mega-col-6 {
    width: 16.66666666666667%;
}

/*mobile menu*/
.icon-bars-card {
    width: auto;
    float: right;
    display: none;
}
.icon-bars-card a i {
    width: 35px;
    height: 35px;
    line-height: 35px;
    font-size: 20px;
    display: inline-block;
    text-align: center;
    background: var(--theme-color);
    color: var(--color-white);
    border-radius: 50%;
    margin-top: 16px;
    -webkit-transition: all 0.3s ease-out 0s;
    -moz-transition: all 0.3s ease-out 0s;
    transition: all 0.3s ease-out 0s;
    -webkit-box-shadow: 0px 0px 25px 4px rgba(87, 87, 87, 0.3);
    -moz-box-shadow: 0px 0px 25px 4px rgba(87, 87, 87, 0.3);
    box-shadow: 0px 0px 25px 4px rgba(87, 87, 87, 0.3);
}

.mobile-menu-wrapper {
    position: fixed;
    top: 0;
    left: 0;
    height: 100vh;
    width: 100vw;
    opacity: 0;
    visibility: hidden;
    -webkit-transition: 0.4s;
    transition: 0.4s;
    z-index: 99999;
}
.mobile-menu-wrapper.open {
    opacity: 1;
    visibility: visible;
}
.mobile-menu-wrapper .off-canvas-overlay {
    background-color: rgba(0, 0, 0, 0.4);
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    height: 100%;
    width: 100%;
}
.mobile-menu-wrapper .offcanvas-body {
    background-color: var(--color-black);
    width: 300px;
    height: 100%;
    padding: 0px 0px 100px 0px;
    position: relative;
    -webkit-transform: translateX(calc(-100% - 50px));
    -ms-transform: translateX(calc(-100% - 50px));
    transform: translateX(calc(-100% - 50px));
    -webkit-transition: 0.4s;
    transition: 0.4s;
}
.mobile-menu-wrapper.open .offcanvas-body {
    -webkit-transform: none;
    -ms-transform: none;
    transform: none;
}
.offcanvas-body .offcanvas-top {
    width: 100%;
    padding: 20px 20px;
    border-bottom: 1px solid var(--color-gray-dark);
    margin-bottom: 15px;
    height: auto;
    transform: none;
}
.offcanvas-top .offcanvas-btn-close {
    width: 30px;
    height: 30px;
    font-size: 14px;
    color: var(--color-black);
    line-height: 29px;
    text-align: center;
    cursor: pointer;
    background: var(--color-white);
    border-radius: 50%;
}
.mobile-navigation nav {
    height: 100%;
}
.mobile-menu {
    list-style-type: none;
    padding: 0;
    margin: 0;
}
.mobile-menu li > a {
    font-size: 14px;
    color: var(--color-gray);
    line-height: 1.5;
    position: relative;
    display: inline-block;
    padding: 10px 10px 10px 20px;
    width: 100%;
    font-family: var(--secondary-font-family);
    font-weight: 700;
}
.mobile-menu li > a:hover {
    color: var(--theme-color);
    text-decoration: none;
}
.mobile-menu li.has-children-menu.active > a {
    color: var(--theme-color);
}
.mobile-menu li.has-children-menu ul.dropdown,
.mobile-menu li.has-children-menu.active ul.dropdown,
.mobile-menu li ul.megamenu {
    margin: 0px;
    padding: 0px;
    background-color: rgba(255, 255, 255, 0.05);
}
.mobile-menu li ul li {
    border: none;
}
.mobile-menu li ul li a {
    font-size: 14px;
    padding: 10px 10px 10px 20px;
    width: 100%;
}
.mobile-menu li.has-children-menu {
    display: block;
    position: relative;
    width: 100%;
}
.mobile-menu li.has-children-menu .menu-expand {
    top: 10px;
    right: 20px;
    width: 14px;
    position: absolute;
    height: 20px;
    text-align: center;
    cursor: pointer;
}
.mobile-menu li.has-children-menu .menu-expand i {
    display: block;
    position: relative;
    width: 100%;
    margin-top: 10px;
    border-bottom: 1px solid var(--color-gray);
    -webkit-transition: all 250ms ease-out;
    transition: all 250ms ease-out;
}
.mobile-menu li.has-children-menu .menu-expand i:before {
    top: 0;
    width: 100%;
    content: "";
    display: block;
    position: absolute;
    -webkit-transform: rotate(90deg);
    -ms-transform: rotate(90deg);
    transform: rotate(90deg);
    border-bottom: 1px solid var(--color-gray);
    -webkit-transition: 0.4s;
    transition: 0.4s;
}
.mobile-menu li.has-children-menu.active > .menu-expand i:before {
    -webkit-transform: rotate(0);
    -ms-transform: rotate(0);
    transform: rotate(0);
}


/* ======================
    Hero Section
    ====================== */
.hero-section {
    padding: 0px;
    position: relative;
}
.hero-screen {
    background-position: 50%;
    background-size: cover;
    width: 100%;
    padding: 200px 0px 220px 0px;
    position: relative;
}
.hero-overlay::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    background-color: var(--color-blue);
    opacity: 0.5;
}
.hero-screen .hero-content {
    text-align: center;
    position: relative;
    z-index: 2;
}
.hero-screen .hero-content h1 {
    font-size: 65px;
    font-weight: 900;
    margin-bottom: 25px;
    color: #faebd7;
}
.hero-screen .hero-content p {
    margin-bottom: 25px;
    color: #c0c0c0;
    font-weight: 500;
    font-size: 16px;
    line-height: 2;
}
.home_1 .search-card {
    position: absolute;
    z-index: 2;
    bottom: -60px;
    width: 100%;
}
.home_1 .search-card .search-card-inner {
    background-color: var(--color-white);
    padding: 40px 35px 30px 35px;
    -webkit-box-shadow: 0px 20px 60px 0px rgba(151, 151, 151, 0.2);
    box-shadow: 0px 20px 60px 0px rgba(151, 151, 151, 0.2);
    border-radius: 10px;
}
.home_1 .search-card .search-card-inner .search-btn {
    border-radius: 8px;
    height: 52px;
    width: 100%;
    white-space: normal;
    padding: 13px 10px;
    text-align: center;
    line-height: 1.5;
    font-size: 14px;
    font-weight: 700;
}
.home_1 .search-card .form-control,
.home_1 .search-card .mb-3 input,
.home_1 .search-card input,
.home_1 .search-card input.form-control,
.home_1 .search-card .form-select {
    padding: 12px 16px;
    height: 52px;
    border: 1px solid #dddddd;
    border-radius: 8px;
    width: 100%;
    box-sizing: border-box; /* Ensures padding doesn't break layout */
    transition: border-color 0.3s ease, box-shadow 0.3s ease;
}

/* ======================
    About Section
    ====================== */
.about-section {
    padding: 150px 0px 60px 0px;
}
.about-section .about-img {
    width: 100%;
    overflow: hidden;
    margin-bottom: 24px;
    border-radius: 10px;
}
.about-section .about-img img {
    width: 100%;
}
.about-card {
    padding-left: 24px;
}
.about-card .about-title h5 {
    color: var(--theme-color);
    font-size: 18px;
    margin-bottom: 30px;
}
.about-card .about-title h2 {
    margin-bottom: 15px;
}
.about-card .info-card {
    text-align: center;
    background: var(--color-white);
    -webkit-box-shadow: 0px 0px 35px 13px rgba(230, 230, 230, 0.2);
    -moz-box-shadow: 0px 0px 35px 13px rgba(230, 230, 230, 0.2);
    box-shadow: 0px 0px 35px 13px rgba(230, 230, 230, 0.2);
    padding: 20px 10px;
    border-radius: 10px;
}
.about-card .info-card .icon {
    margin: 0 auto;
}
.about-card .info-card .icon i {
    color: var(--theme-color);
    font-size: 35px;
}
.about-card .info-card .content h4 {
    margin-top: 5px;
    margin-bottom: 3px;
    font-size: 16px;
}
.about-card .info-card .content p {
    margin-bottom: 0;
}

/* ======================
    Featured Section
    ====================== */
.featured-section {
    padding-bottom: 56px;
    background: var(--color-gray-500);
}

.item-card {
    width: 100%;
    overflow: hidden;
    background: var(--color-white);
    margin-bottom: 24px;
    -webkit-box-shadow: 0px 20px 60px 0px rgba(151, 151, 151, 0.2);
    box-shadow: 0px 20px 60px 0px rgba(151, 151, 151, 0.2);
    border-radius: 10px;
}
.item-card .item-image {
    position: relative;
    overflow: hidden;
    width: 100%;
}
.item-card .item-image img {
    width: 100%;
}
.item-card .item-image .item-label {
    position: absolute;
    top: 15px;
    right: 15px;
    padding: 4px 10px;
    background: var(--theme-color);
    color: var(--color-white);
    font-size: 12px;
    border-radius: 40px 40px 0px 40px;
}
.item-card .item-image .category-label {
    position: absolute;
    bottom: 0px;
    right: 10px;
    padding: 4px 10px;
    border-radius: 10px 10px 0px 0px;
    background: var(--color-white);
}
.item-card .item-image .category-label a {
    font-size: 16px;
    font-weight: 700;
    color: var(--theme-color);
}
.item-card .item-content {
    padding: 40px;
    width: 100%;
    overflow: hidden;
}
.item-card .item-content .item-title a {
    font-family: var(--secondary-font-family);
    color: var(--color-black);
    font-weight: 600;
    font-size: 23px;
    margin-bottom: 10px;
}
.item-card .item-content .item-title a:hover {
    color: var(--theme-color);
}
.item-card .item-content .pric-card {
    font-family: var(--primary-font-family);
    font-size: 16px;
    color: var(--color-black);
    font-weight: 900;
    border-top: 1px solid #eee;
    padding-top: 15px;
    margin-top: 15px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.item-card .pric-card .new-price {
    float: left;
    margin-right: 7px;
}
.item-card .pric-card .old-price {
    float: left;
    text-decoration: line-through;
    color: #ee0101;
    margin-right: 7px;
}
.item-card .pric-card .per-day-night {
    float: left;
    font-weight: 500;
    font-size: 14px;
    margin-top: 2px;
}
.item-card a.btn.theme-btn.book-now-btn {
    border-radius: 0px 15px 0px 0px;
    padding: 12px 20px;
    float: left;
}
.item-card ul.item-meta {
    float: right;
}
.item-card ul.item-meta li {
    background: var(--color-white);
    padding: 5px 10px;
    float: left;
    margin-right: 7px;
    border-radius: 10px 0px 10px 0px;
    font-weight: 500;
    -webkit-box-shadow: 0px 3px 10px 0px rgba(151, 151, 151, 0.3);
    box-shadow: 0px 3px 10px 0px rgba(151, 151, 151, 0.3);
}

.image-wrapper {
    position: relative;
    display: inline-block;
}
.image-wrapper::after {
    content: "";
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    background: linear-gradient(rgba(0,0,0,0.5), rgba(0,0,0,0.5));
    pointer-events: none;
}
.image-wrapper img {
    display: block;
    width: 100%;
    height: auto;
}
.image-overlay-text {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    color: #f5f5f5;
    font-family: 'Spartan', sans-serif;
    padding: 8px 16px;
    border-radius: 5px;
    font-size: 1.2rem;
    font-weight: bold;
    text-align: center;
    pointer-events: none;
    z-index: 2;
}

/* ======================
    Offer Section
    ====================== */
.offer-card {
    position: relative;
    width: 100%;
    border-radius: 10px;
    overflow: hidden;
    margin-bottom: 24px;
}
.offer-card::before {
    content: "";
    border-radius: inherit;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(180deg, rgba(5, 16, 54, 0.7) 0%, rgba(5, 16, 54, 0) 100%);
}
.offer-card .offer-image {
    width: 100%;
}
.offer-card .offer-image img {
    width: 100%;
}
.offer-card .offer-content {
    position: absolute;
    top: 0;
    z-index: 1;
    width: 100%;
    padding: 25px;
}
.offer-card .offer-content h2 {
    color: var(--color-white);
}
.offer-card .offer-content p {
    color: var(--color-white);
}
.offer-card .offer-content .offer-btn {
    padding: 10px 20px;
}

/* ======================
    Rating css
    ====================== */
.rating-wrap {
    width: 100%;
    line-height: 1;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
    align-items: center;
    position: relative;
    margin-bottom: 10px;
}
.rating-wrap .stars-outer {
    display: inline-block;
    position: relative;
    font-family: bootstrap-icons !important;
    margin-right: 5px;
}
.rating-wrap .stars-outer:before {
    content: "\f588 \f588 \f588 \f588 \f588";
    color: #d2d2d2;
    font-size: 14px;
    letter-spacing: 2px;
}
.rating-wrap .stars-inner {
    position: absolute;
    top: 0;
    left: 0;
    white-space: nowrap;
    overflow: hidden;
    width: 0;
}
.rating-wrap .stars-inner::before {
    content: "\f586 \f586 \f586 \f586 \f586";
    color: #f8ce0b;
    font-size: 14px;
    letter-spacing: 2px;
}

/* ======================
    Service Section
    ====================== */
.service-section {
    padding-top: 80px;
    padding-bottom: 48px;
}
.service-card {
    padding: 24px;
    width: 100%;
    align-items: center;
    background: var(--color-white);
    border: 1px solid var(--color-white);
    border-radius: 12px;
    -webkit-box-shadow: 0px 0px 35px 13px rgba(230, 230, 230, 0.2);
    -moz-box-shadow: 0px 0px 35px 13px rgba(230, 230, 230, 0.2);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);
    margin-bottom: 32px;
    text-align: center;
    position: relative;
    display: flex;
    gap: 20px;
    transition: all 0.3s ease;
}
.service-card::before {
    position: absolute;
    content: "";
    left: 0px;
    top: 0px;
    width: 100%;
    height: 100%;
    -webkit-transition: all 0.6s ease-in-out;
    -o-transition: all 0.6s ease-in-out;
    transition: all 0.6s ease-in-out;
    z-index: 1;
}
.service-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.08);
    border-radius: 10px;
}
.service-card:hover::before {
    width: calc(100% + 20px);
    height: calc(100% + 20px);
    top: -10px;
    left: -10px;
    background-color: var(--color-white);
    -webkit-box-shadow: 0px 30px 40px 0px rgba(32, 85, 125, 0.06);
    box-shadow: 0px 30px 40px 0px rgba(32, 85, 125, 0.06);
}
.service-card .service-icon {
    width: 65px;
    margin: 0 auto 15px auto;
    flex-shrink: 0;
}
.service-card .service-icon img {
    width: 50px;
    height: auto;
}
.service-card h4 {
    color: var(--color-black);
    margin-bottom: 10px;
}
.service-card p {
    margin: 0;
}
.service-card .service-icon,
.service-card h4,
.service-card p {
    position: relative;
    z-index: 1;
}
.service-content {
    flex-grow: 1;
    text-align: left;
}
.service-content h4 {
    font-family: 'Spartan', sans-serif;
    font-size: 1.25rem;
    font-weight: 700;
    line-height: 1.3;
    color: var(--color-black);
    margin-bottom: 0.3rem;
}
.service-content p {
    font-family: 'Roboto', sans-serif;
    font-size: 0.9rem;
    line-height: 1.5;
    color: var(--color-gray-dark);
    margin-bottom: 0;
}


/* ======================
    Preview Section
    ====================== */
.preview-section {
    background: var(--color-black);
    overflow: hidden;
}
.preview-section .preview-video {
    background-position: 50%;
    background-size: cover;
    width: 100%;
    max-height: 600px;
    position: relative;
    overflow: hidden;
}
.preview-section .preview-video img {
    width: 100%;
    height: 100%;
}
.preview-section .preview-video::before {
    position: absolute;
    content: "";
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    height: 100%;
    width: 100%;
    background: var(--color-light);
    opacity: 0.2;
}
.preview-section .preview-video .video-card {
    display: inline-block;
    padding: 150px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}
.preview-section .preview-video .video-card .play-icon {
    position: relative;
    width: 80px;
    height: 80px;
    background: var(--color-white);
    line-height: 80px;
    border-radius: 50%;
    cursor: pointer;
    border: 1px solid var(--color-white);
    animation: shadows 1.4s linear infinite;
    -webkit-animation: shadows 1.4s linear infinite;
    -moz-animation: shadows 1.4s linear infinite;
    -moz-transition: all ease 400ms;
    -webkit-transition: all ease 400ms;
    transition: all ease 400ms;
    text-align: center;
}
.preview-section .preview-video .video-card .play-icon i {
    font-size: 40px;
    color: var(--theme-color);
}
.preview-section .preview-video .video-card .play-icon:hover {
    background: var(--theme-color);
    border: 1px solid var(--theme-color);
}
.preview-section .preview-video .video-card .play-icon:hover i {
    color: var(--color-white);
}
.preview-section .preview-content {
    margin: 50px;
}
.preview-section .preview-content h5,
.preview-section .preview-content h2,
.preview-section .preview-content p {
    color: var(--color-white);
}
.preview-section .preview-content h2 {
    margin-top: 15px;
    margin-bottom: 24px;
}
.preview-section .preview-content a {
    margin-top: 15px;
}

/* ======================
    Testimonial Section
    ====================== */
.testimonial-section {
    background: var(--color-gray-500);
    padding: 140px 0 200px 0;
}
.testimonial-card {
    padding: 35px 25px;
    background: var(--color-white);
    border: none;
    margin: 0 10px;
    border-radius: 12px;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.08);
    text-align: center;
    position: relative;
}
.testimonial-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 60px;
    height: 3px;
    background: var(--theme-color);
    border-radius: 0 0 3px 3px;
}
.testimonial-slider {
    margin: 30px 0 50px 0;
    padding: 20px 0 40px 0;
}
.testimonial-card .client {
    margin-bottom: 20px;
}
.testimonial-card .client .img-card {
    width: 80px;
    height: 80px;
    overflow: hidden;
    border-radius: 50%;
    margin: 0 auto 15px auto;
    border: 3px solid #f8f9fa;
}
.testimonial-card .client .img-card img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.testimonial-card .client .client-info h4 {
    margin-bottom: 5px;
    font-size: 18px;
    color: #333;
    font-weight: 600;
}
.testimonial-card .client .client-info span {
    color: var(--theme-color);
    font-size: 14px;
    font-weight: 500;
}
.testimonial-card .quote {
    margin: 20px 0 15px 0;
}
.testimonial-card .quote i {
    font-size: 35px;
    color: var(--theme-color);
    opacity: 0.7;
}
.testimonial-card .comment {
    font-size: 15px;
    line-height: 1.7;
    color: #666;
    font-style: italic;
}

/* Swiper Navigation Buttons */
.testimonial-section .testimonial-slider.swiper .swiper-button-next,
.testimonial-section .testimonial-slider.swiper .swiper-button-prev {
    width: 45px;
    height: 45px;
    background: var(--color-white);
    border-radius: 50%;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
    transition: all 0.3s ease;
    margin-top: -22px;
}

.testimonial-section .testimonial-slider.swiper .swiper-button-next:hover,
.testimonial-section .testimonial-slider.swiper .swiper-button-prev:hover {
    background: var(--theme-color);
    transform: scale(1.05);
}

.testimonial-section .testimonial-slider.swiper .swiper-button-next:after,
.testimonial-section .testimonial-slider.swiper .swiper-button-prev:after {
    font-size: 16px;
    font-weight: bold;
    color: var(--theme-color);
}

.testimonial-section .testimonial-slider.swiper .swiper-button-next:hover:after,
.testimonial-section .testimonial-slider.swiper .swiper-button-prev:hover:after {
    color: white;
}

.testimonial-section .testimonial-slider.swiper .swiper-pagination-bullet {
    width: 10px;
    height: 10px;
    background: #ccc;
    opacity: 1;
    transition: all 0.3s ease;
}

.testimonial-section .testimonial-slider.swiper .swiper-pagination-bullet-active {
    background: var(--theme-color);
    transform: scale(1.2);
}

/* ======================
    Blog Section
    ====================== */
.blog-section {
    padding-bottom: 56px;
}
.blog-card {
    background: var(--color-white);
    -webkit-box-shadow: 0px 17px 42px rgba(93, 93, 93, 0.14);
    -moz-box-shadow: 0px 17px 42px rgba(93, 93, 93, 0.14);
    box-shadow: 0px 17px 42px rgba(93, 93, 93, 0.14);
    margin-bottom: 24px;
    overflow: hidden;
    border-radius: 12px;
    border: 1px solid var(--color-gray-400); 
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.blog-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.08);
}
.blog-card .blog-img {
    width: 100%;
    overflow: hidden;
}
.blog-card .blog-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.4s ease;
}
.blog-card:hover .blog-img img {
    -webkit-transform: scale(1.2);
    -moz-transform: scale(1.2);
    -o-transform: scale(1.2);
    -ms-transform: scale(1.2);
    transform: scale(1.05); 
}
.blog-card .blog-content {
    width: 100%;
    padding: 25px;
}
.blog-card .blog-content .blog-meta-card {
    margin-bottom: 15px;
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.blog-card .blog-content .blog-meta-card .blog-date,
.blog-card .blog-content .blog-meta-card .blog-meta,
.blog-card .blog-content .blog-meta-card .blog-comment{
    font-size: 14px;
    font-weight: 500;
    color: var(--color-gray-dark);
    font-family: var(--secondary-font-family); 
}
.blog-card .blog-content .blog-meta-card .blog-date i,
.blog-card .blog-content .blog-meta-card .blog-meta i,
.blog-card .blog-content .blog-meta-card .blog-comment i{
    margin-right: 8px;
    color: var(--theme-color);
}
.blog-card .blog-content .blog-title h4 {
    line-height: 1.4;
    font-family: var(--secondary-font-family);
    font-size: 20px;
    font-weight: 700;
    margin-bottom: 15px;
}
.blog-card .blog-content .blog-title h4 a {
    color: var(--color-black);
    text-decoration: none;
    transition: color 0.3s ease;
    font-family: var(--secondary-font-family); 
}
.blog-card .blog-content .blog-title h4 a:hover {
    color: var(--theme-color);
}
.blog-card .blog-content .read-more-btn a:hover {
    color: var(--color-black);
}
.blog-card .blog-content .read-more-btn a i {
    transition: transform 0.3s ease;
    display: inline-block;
}
.blog-card .blog-content .read-more-btn a:hover i {
    transform: translateX(4px);
}
.blog-card .blog-content .read-more-btn a {
    font-size: 14px;
    font-weight: 500;
    font-family: var(--secondary-font-family);
    color: var(--theme-color);
    transition: color 0.3s ease;
}

/* ======================
     Breadcrumb
====================== */
.breadcrumb-section {
    background-position: 50%;
    background-size: cover;
    height: 100%;
    min-height: 300px;
    position: relative;
    display: flex;
    align-items: center;
    text-align: center;
    background-color: var(--color-blue);
}
.breadcrumb-section::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    background-color: var(--color-blue);
    opacity: 0.5;
}
.breadcrumb-section .breadcrumb-card {
    margin: 0 auto;
    position: relative;
    z-index: 1;
}
.breadcrumb-section .breadcrumb-card h2 {
    font-size: 50px;
    margin-bottom: 5px;
    line-height: 1.5;
    color: var(--color-white);
    letter-spacing: 1px;
}
.breadcrumb-section .breadcrumb-card nav ol {
    justify-content: center;
}
.breadcrumb-section .breadcrumb-card nav ol li,
.breadcrumb-section .breadcrumb-card nav ol li a {
    color: var(--color-white);
    font-size: 18px;
    font-weight: 600;
    transition: all .6s ease-in-out;
}
.breadcrumb-section .breadcrumb-card nav ol li.active,
.breadcrumb-section .breadcrumb-card nav ol li a:hover {
    text-decoration-line: underline ;
}
.breadcrumb-section .breadcrumb-item + .breadcrumb-item::before {
    color: var(--color-white);
}

/* ======================
    Room Details
    ====================== */
.room-details-slider {
    width: 100%;
    height: auto;
    text-align: center;
    margin-bottom: 15px;
    overflow: hidden;
}
.room-details-slider .item {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    position: relative;
}
.room-details-slider .item img {
    width: 100%;
    height: auto;
    margin: 0 auto;
    border-radius: 15px;
}
.room-details-slider .swiper-button-prev,
.room-details-slider .swiper-button-next {
    height: 40px;
    width: 40px;
    -webkit-border-radius: 50%;
    border-radius: 50%;
    border: none;
    position: absolute;
    top: 50%;
    z-index: 1;
    background: var(--color-white);
    color: var(--color-black);
    -webkit-transform: translateY(-50%);
    -o-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    transform: translateY(-50%);
    margin-top: 0;
}
.room-details-slider .swiper-button-prev {
    left: 10px;
}
.room-details-slider .swiper-button-next {
    right: 10px;
}
.room-details-slider .swiper-button-prev:hover,
.room-details-slider .swiper-button-next:hover {
    background: var(--color-light);
    color: var(--color-white);
}
.room-details-slider .swiper-button-prev:after,
.room-details-slider .swiper-button-next:after {
    font-size: 16px;
    font-weight: bold;
}
.thumbnail-card {
    width: 100%;
    margin-bottom: 30px;
}
.thumbnail-card .swiper-slide {
    overflow: hidden;
    border: 2px solid var(--color-gray-400);
    cursor: pointer;
    margin: 5px;
    border-radius: 20px;
}
.thumbnail-card .swiper-slide img {
    width: 100%;
    height: 100%;
}
.thumbnail-card .swiper-slide:hover,
.thumbnail-card .swiper-slide-thumb-active {
    border: 2px solid var(--theme-color);
}
.thumbnail-card .swiper-button-prev,
.thumbnail-card .swiper-button-next {
    height: 25px;
    width: 25px;
    -webkit-border-radius: 50%;
    border-radius: 50%;
    border: none;
    position: absolute;
    top: 50%;
    z-index: 1;
    background: var(--color-white);
    color: var(--color-black);
    -webkit-transform: translateY(-50%);
    -o-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    transform: translateY(-50%);
    border: 1px solid var(--color-light);
    margin-top: 0;
}
.thumbnail-card .swiper-button-prev {
    left: 5px;
}
.thumbnail-card .swiper-button-next {
    right: 5px;
}
.thumbnail-card .swiper-button-prev:hover,
.thumbnail-card .swiper-button-next:hover {
    background: var(--color-light);
    color: var(--color-white);
}
.thumbnail-card .swiper-button-prev:after,
.thumbnail-card .swiper-button-next:after {
    font-size: 12px;
}

.room-details-card {
    width: 100%;
    display: inline-block;
    background: var(--color-white);
    -webkit-box-shadow: 0px 60px 43px 0px rgba(202, 202, 202, 0.1);
    box-shadow: 0px 60px 43px 0px rgba(202, 202, 202, 0.1);
    padding: 20px 20px 15px 20px;
    margin-bottom: 30px;
}
.room-details-card .item-title h3 {
    font-family: var(--secondary-font-family);
    color: var(--color-black);
    font-weight: 700;
    font-size: 20px;
    margin-bottom: 10px;
}
.room-details-card .item-cat {
    width: 100%;
    color: var(--color-black);
}
.room-details-card .item-cat a {
    color: var(--theme-color);
}
.room-details-card .item-cat a:hover {
    color: var(--color-black);
}
.room-details-card .pric-card {
    font-family: var(--primary-font-family);
    font-size: 20px;
    color: var(--color-black);
    font-weight: 900;
    display: inline-block;
}
.room-details-card .pric-card .new-price {
    float: left;
    margin-right: 7px;
}
.room-details-card .pric-card .old-price {
    float: left;
    text-decoration: line-through;
    color: #ee0101;
    margin-right: 7px;
}
.room-details-card .pric-card .per-day-night {
    float: left;
    font-weight: 500;
    font-size: 16px;
    margin-top: 3px;
}
.room-details-card h4.details-title {
    width: 100%;
    font-size: 16px;
    margin-bottom: 10px;
}
.room-details-card ul.details-list {
    padding: 0;
    margin: 0;
    display: inline-block;
}
.room-details-card ul.details-list li {
    margin-bottom: 10px;
}
.room-details-card ul.details-list li i {
    margin-right: 5px;
}
.room-details-card .share_this {
    margin-top: 10px;
}
.room-details-card ul.item-meta {
    display: inline-block;
    width: 100%;
    margin: 5px 0;
}
.room-details-card ul.item-meta li {
    float: left;
    padding: 2px 10px;
    margin-right: 10px;
    border-radius: 20px;
    font-weight: 500;
    -webkit-box-shadow: 0px 3px 10px 0px rgba(151, 151, 151, 0.3);
    box-shadow: 0px 3px 10px 0px rgba(151, 151, 151, 0.3);
}
.room-details-card .btn.booknow-btn {
    padding: 12px 30px;
    margin: 10px 0px;
}
.room-book-card {
    width: 100%;
    display: inline-block;
    margin-bottom: 30px;
    border-bottom: 1px solid var(--color-gray-400);
    padding-bottom: 15px;
}
.room-book-card .room-book-img {
    float: left;
    width: 100px;
    overflow: hidden;
}
.room-book-card .room-book-img img {
    width: 100%;
}
.room-book-card .room-book-content {
    width: calc(100% - 100px);
    float: left;
    padding-left: 15px;
}
.room-book-card .room-book-content .room-title {
    font-family: var(--secondary-font-family);
    color: var(--color-black);
    font-weight: 700;
    font-size: 18px;
}
.room-book-card .room-book-content .room-price {
    font-family: var(--primary-font-family);
    font-size: 14px;
    color: var(--color-black);
    font-weight: 700;
    display: inline-block;
}
.room-book-card .room-book-content .room-price .new-price {
    float: left;
    margin-right: 7px;
}
.room-book-card .room-book-content .room-price .old-price {
    float: left;
    text-decoration: line-through;
    color: #ee0101;
    margin-right: 7px;
}
.room-book-card .room-book-content .room-price .per-day-night {
    float: left;
    font-weight: 500;
    font-size: 14px;
}
.room-book-card .room-book-content ul.room-meta {
    display: inline-block;
    width: 100%;
    margin: 0;
}
.room-book-card .room-book-content ul.room-meta li {
    float: left;
    padding: 0px 10px 0px 0px;
    border-right: 1px solid var(--color-gray-400);
}
.room-book-card .room-book-content ul.room-meta li:last-child {
    border-right: none;
    padding: 0px 0px 0px 10px;
}
.r_extra {
    width: 100%;
    display: inline-block;
}
.r_extra strong {
    float: left;
}
.r_extra .instock,
.r_extra .stockout {
    float: left;
    margin-left: 5px;
}
.r_extra .instock {
    color: #388e3c;
}
.r_extra .stockout {
    color: #f62459;
}

/* ======================
    Auth Section
    ====================== */
.register {
    position: relative;
    width: 400px;
    margin: 25px auto 50px auto;
    background: #fff;
    padding: 30px;
    -webkit-box-shadow: 0px 15px 66px 5px rgba(217,217,217,0.8);
    -moz-box-shadow: 0px 15px 66px 5px rgba(217,217,217,0.8);
    box-shadow: 0px 15px 66px 5px rgba(217,217,217,0.8);
    border-radius: 16px;
}
.register h4 {
    margin-bottom: 15px;
    font-weight: 700;
    font-size: 20px;
}
.register .form {
    margin-bottom: 15px;
}
.register .mb-3 {
    margin-bottom: 20px;
}
.register h3 {
    text-align: center;
    margin: 0;
}
.register h3 a {
    font-size: 16px;
    font-weight: normal;
}
.register .alert {
    padding: 8px 10px;
}
ul.errors-list {
    color: #721c24;
    background-color: #f8d7da;
    border: 1px solid #f5c6cb;
    text-align: left;
    padding: 10px 10px;
    margin-bottom: 15px;
    border-radius: 5px;
}
ul.errors-list li {
    font-size: 14px;
    width: 100%;
}

/* ======================
    Checkbox and Radio css
    ====================== */
.checkbox_group {
    margin-bottom: 15px;
    width: 100%;
}
.tw_checkbox span:before,
.tw_checkbox span:after {
    content: "";
    display: inline-block;
    background: #fff;
    width: 0;
    height: 0.2rem;
    position: absolute;
    transform-origin: 0% 0%;
}
.tw_checkbox {
    position: relative;
    height: 2rem;
    display: flex;
    align-items: center;
}
.tw_checkbox input {
    display: none;
}
.tw_checkbox input:checked ~ span:before {
    width: 1rem;
    height: 0.15rem;
    transition: width 0.1s;
    transition-delay: 0.3s;
}
.tw_checkbox input:checked ~ span:after {
    width: 0.4rem;
    height: 0.15rem;
    transition: width 0.1s;
    transition-delay: 0.2s;
}
.tw_checkbox input:disabled ~ span {
    background: #ececec;
    border-color: #dcdcdc;
}
.tw_checkbox input:disabled ~ label {
    color: #dcdcdc;
}
.tw_checkbox input:disabled ~ label:hover {
    cursor: default;
}
.tw_checkbox label {
    padding-left: 2rem;
    position: relative;
    z-index: 2;
    cursor: pointer;
    margin-bottom: 0;
    font-weight: 400;
}
.tw_checkbox span {
    display: inline-block;
    width: 1.2rem;
    height: 1.2rem;
    border: 2px solid #ccc;
    position: absolute;
    left: 0;
    transition: all 0.2s;
    z-index: 1;
    box-sizing: content-box;
}
.tw_checkbox span:before {
    transform: rotate(-55deg);
    top: 1rem;
    left: 0.37rem;
}
.tw_checkbox span:after {
    transform: rotate(35deg);
    bottom: 0.35rem;
    left: 0.2rem;
}
.tw_checkbox input:checked ~ span {
    background: var(--theme-color);
    border-color: var(--theme-color);
    color: #ffffff;
}

.checkboxlist label.checkbox-title {
    font-weight: 400;
}
.checkboxlist input[type="checkbox"],
.checkboxlist input[type="radio"] {
    border: 1px solid #222;
    border-radius: 4px;
    background: #fff;
    color: #222;
    clear: none;
    cursor: pointer;
    display: inline-block;
    line-height: 0;
    height: 16px;
    width: 16px;
    min-width: 16px;
    margin: -3px 5px 0px 0px;
    outline: 0;
    padding: 0 !important;
    text-align: center;
    vertical-align: middle;
    appearance: none;
    -moz-appearance: none;
    -webkit-appearance: none;
    box-shadow: inset 0 1px 2px rgba(0,0,0,.1);
    transition: .05s border-color ease-in-out;
    font-size: 14px;
}
.checkboxlist input[type="radio"] {
    border-radius: 50%;
    margin-right: 5px;
    line-height: .71428571;
}
.checkboxlist input[type="checkbox"]:checked::before,
.checkboxlist input[type="radio"]:checked::before {
    float: left;
    display: block;
    width: 16px;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}
.checkboxlist input[type="checkbox"]:checked {
    background: var(--theme-color);
    border: 1px solid var(--theme-color);
}
.checkboxlist input[type="checkbox"]:checked::before {
    font-family: "bootstrap-icons";
    content: "\f272";
    margin: 7px 0px 0px -1px;
    font-size: 12px;
    color: #fff;
    font-weight: bold;
}
.checkboxlist input[type="radio"]:checked::before {
    content: "";
    border-radius: 50%;
    width: 8px;
    height: 8px;
    margin: 3px;
    background-color: var(--theme-color);
    line-height: 1.14285714;
}
.checkboxlist input[type="radio"]:checked {
    border: 1px solid var(--theme-color);
}

/* ==================================================
    19. My Dashbord css
    ================================================== */
.my-dashbord {
    margin: 20px 0px 40px 0px;
}

/* Redesigned Sidebar */
.my-dashbord .dashbord-sidebar {
    background-color: #ffffff;
    border-radius: 1rem;
    box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.07), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
    padding: 1.5rem;
    margin-bottom: 30px;
}

.dashbord-sidebar .profile-info {
    text-align: center;
    padding-bottom: 1.5rem;
    margin-bottom: 1rem;
    border-bottom: 1px solid #f1f1f1;
}

.profile-info .avatar {
    width: 90px;
    height: 90px;
    margin: 0 auto 1rem;
    border-radius: 50%;
    line-height: 90px;
    font-size: 3rem;
    text-align: center;
    font-weight: 700;
    background: var(--theme-color);
    color: #fff;
}

.profile-info h5 {
    margin: 10px 0px 5px 0px;
    font-weight: 700;
    color: var(--color-black);
}

.profile-info p {
    margin-bottom: 0px;
    color: var(--color-gray);
    font-size: 0.9rem;
}

.sidebar-nav ul li a {
    padding: 0.9rem 1rem;
    display: flex;
    align-items: center;
    gap: 0.75rem;
    width: 100%;
    color: #4a5568;
    font-weight: 500;
    border-bottom: none; /* Removed old border */
    border-radius: 0.5rem; /* Added border-radius */
    transition: all 0.3s ease;
}

.sidebar-nav ul li a:hover {
    background: #f7fafc;
    color: var(--color-black);
}

.sidebar-nav ul li.active a {
    background: var(--theme-color);
    color: #ffffff;
    box-shadow: 0 4px 10px rgba(166, 98, 73, 0.3);
}

.sidebar-nav ul li a i.bi {
    margin-right: 5px;
    font-size: 16px;
}

/* Redesigned Main Content Card */
.my_card {
    background-color: #ffffff;
    border-radius: 1rem;
    box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.07), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
    padding: 2.5rem;
}

@media (max-width: 768px) {
    .my_card {
        padding: 1.5rem;
    }
}

/* New helper classes for the card's internal structure */
.my_card .card-header-section {
    margin-bottom: 1.5rem;
    padding-bottom: 1rem;
    border-bottom: 1px solid #f1f1f1;
}

.my_card .card-header-section .card-title {
    font-family: var(--secondary-font-family, 'Spartan', sans-serif);
    font-weight: 700;
    color: var(--color-black, #1f3347);
    margin-bottom: 0.25rem;
}

.my_card .card-header-section .card-subtitle {
    font-size: 0.95rem;
    color: var(--color-gray, #8d949d);
}

.booking-card {
    background-color: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 1rem;
    margin-bottom: 1.5rem;
    box-shadow: 0 4px 6px -1px rgba(0,0,0,0.05), 0 2px 4px -1px rgba(0,0,0,0.03);
    transition: all 0.3s ease;
}
.booking-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 10px 15px -3px rgba(0,0,0,0.07), 0 4px 6px -2px rgba(0,0,0,0.04);
}
.booking-card-header {
    padding: 1rem 1.5rem;
    background-color: #f7fafc;
    border-bottom: 1px solid #e2e8f0;
    border-top-left-radius: 1rem;
    border-top-right-radius: 1rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.booking-id {
    font-family: var(--secondary-font-family);
    font-weight: 700;
    color: var(--color-black);
}
.booking-date {
    font-size: 0.85rem;
    color: var(--color-gray);
}
.booking-card-body {
    padding: 1.5rem;
}
.booking-details-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: 1.5rem;
}
.detail-item .label {
    font-size: 0.8rem;
    color: var(--color-gray);
    margin-bottom: 0.25rem;
    text-transform: uppercase;
}
.detail-item .value {
    font-weight: 600;
    color: #4a5568;
}
.detail-item .value.price {
    font-family: var(--secondary-font-family);
    color: var(--theme-color);
    font-size: 1.25rem;
}
.status-badge {
    display: inline-block;
    padding: 0.3em 0.8em;
    font-size: 0.8rem;
    font-weight: 600;
    border-radius: 50px;
    text-transform: capitalize;
}
/* Corresponds to payment_status = 2 (Paid) */
.status-paid { background-color: rgba(40, 167, 69, 0.1); color: #28a745; }
/* Corresponds to payment_status = 1 (Pending) */
.status-pending { background-color: rgba(255, 193, 7, 0.1); color: #b8860b; }

/* Corresponds to booking_status = 2 (Confirmed) */
.status-confirmed { background-color: rgba(23, 162, 184, 0.1); color: #17a2b8; }
/* Corresponds to booking_status = 3 (Cancelled) */
.status-cancelled { background-color: rgba(220, 53, 69, 0.1); color: #dc3545; }
/* Corresponds to booking_status = 1 (Pending for Approval) */
.status-pending-approval { background-color: rgba(255, 159, 67, 0.1); color: #fe9e42; }


.booking-card-footer {
    padding: 1rem 1.5rem;
    background-color: #f7fafc;
    border-top: 1px solid #e2e8f0;
    border-bottom-left-radius: 1rem;
    border-bottom-right-radius: 1rem;
    text-align: right;
}
.btn-view-details {
    background-color: var(--theme-color);
    color: white !important;
    padding: 0.5rem 1.25rem;
    border-radius: 0.5rem;
    font-weight: 600;
    font-size: 0.9rem;
    text-decoration: none;
    transition: all 0.3s ease;
}
.btn-view-details:hover {
    background-color: #8c533c;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0,0,0,0.1);
}
.no-bookings-card {
    text-align: center;
    padding: 4rem 2rem;
    border: 2px dashed #e2e8f0;
    border-radius: 1rem;
}
.no-bookings-card i {
    font-size: 3rem;
    color: var(--color-gray);
    margin-bottom: 1rem;
}
.no-bookings-card p {
    font-size: 1.1rem;
    font-weight: 500;
    color: #4a5568;
    margin: 0;
}


/* New styles for form elements inside the card */
.my_card .form-label {
    font-weight: 600;
    color: #4a5568;
    margin-bottom: 0.5rem;
}

.my_card .form-control {
    border-radius: 0.5rem;
    border: 1px solid #e2e8f0;
    background-color: #f7fafc;
    padding: 0.85rem 1rem;
    transition: all 0.2s ease-in-out;
    color: #2d3748;
}

.my_card .form-control:focus {
    background-color: #ffffff;
    border-color: var(--theme-color, #a66249);
    box-shadow: 0 0 0 3px rgba(166, 98, 73, 0.15);
}

.my_card .form-control[readonly] {
    background-color: #edf2f7;
    cursor: not-allowed;
}

.my_card textarea.form-control {
    min-height: 120px;
}

/* Specific override for the .theme-btn inside .my_card */
.my_card .theme-btn {
    background-color: var(--theme-color, #a66249);
    color: white;
    padding: 0.85rem 2rem;
    border-radius: 0.5rem;
    font-weight: 600;
    font-size: 1rem;
    transition: all 0.3s ease;
    border: none;
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
}

.my_card .theme-btn:hover {
    background-color: #8c533c; /* Darker shade */
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
    color: white;
}
/* This disables the old hover effect for this specific button */
.my_card .theme-btn::before {
    display: none;
}

.my_card .alert {
    border-radius: .75rem;
    border-left-width: 5px;
    padding: 1.25rem;
}


/* Keeping original table styles for other dashboard pages */
.my_card tr td a {
    color: initial;
}
.my_card p.title {
    margin-bottom: 0px;
    width: 100%;
    font-weight: 500;
    font-family: var(--primary-font-family);
    color: var(--color-black);
}
.my_card p.sub-title {
    width: 100%;
    font-size: 11px;
    margin-bottom: 0px;
}
.my_card p.price {
    margin-bottom: 0px;
    width: 100%;
    text-align: right;
    font-weight: 500;
    font-family: var(--primary-font-family);
    color: var(--color-black);
}
.my_card p.sub-price {
    font-size: 11px;
    margin-bottom: 0px;
    width: 100%;
    text-align: right;
    font-family: var(--primary-font-family);
    color: var(--color-black);
}
.my_card span.title,
.my_card span.price {
    font-weight: 700;
}
.hideclass {
    display: none;
}
.my_card .pro-image {
    width: 65px;
    height: auto;
    border: 1px solid #eee;
    text-align: center;
}
.my_card .pro-image img {
    width: 100%;
    height: auto;
}
.order_status {
    text-align: right;
}
.payment_card {
    width: 100%;
    margin-bottom: 20px;
    margin-top: 10px;
}
.payment_card .checkboxlist {
    margin-bottom: 10px;
}
.payment_card p {
    margin-top: 10px;
}
.thank span {
    font-size: 60px;
    color: var(--theme-color);
}
.total-price-card td {
    border-top: 1px solid var(--color-gray-400);
    border-bottom-width: 0px;
    color: var(--color-gray-dark);
}
.total-price-card span.title {
    font-weight: 700;
    float: left;
}
.total-price-card span.price {
    float: right;
    font-weight: 700;
}
.carttotals-card {
    border: 1px solid var(--color-gray-400);
    background: var(--color-white);
}

.my_card .table-responsive {
    margin-top: 1.5rem;
}

/* New styles for Invoice Details Page */
.invoice-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    flex-wrap: wrap;
    gap: 1rem;
    margin-bottom: 2rem;
    padding-bottom: 1.5rem;
    border-bottom: 1px solid #e2e8f0;
}
.invoice-header .bill-to h5, .invoice-header .invoice-meta h5 {
    font-size: 0.9rem;
    color: var(--color-gray);
    text-transform: uppercase;
    margin-bottom: 0.75rem;
    font-weight: 600;
}
.invoice-header .bill-to p, .invoice-header .invoice-meta p {
    margin-bottom: 0.25rem;
    color: #4a5568;
}
.invoice-header .invoice-meta {
    text-align: right;
}
@media (max-width: 767px) {
    .invoice-header .invoice-meta {
        text-align: left;
        width: 100%;
    }
}

.invoice-table {
    margin-bottom: 2rem;
}
.invoice-table .table {
    border: 1px solid #e2e8f0;
    border-radius: 0.5rem;
    overflow: hidden;
}
.invoice-table thead {
    background-color: #f7fafc;
}
.invoice-table th {
    border-bottom: 2px solid #e2e8f0 !important;
    font-weight: 600;
    color: #4a5568;
    text-transform: uppercase;
    font-size: 0.8rem;
    padding: 1rem;
}
.invoice-table td {
    vertical-align: middle;
    padding: 1rem;
    border-color: #e2e8f0;
    color: #4a5568;
}

.invoice-summary {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 2rem;
}
.invoice-notes {
    flex-basis: 50%;
    flex-grow: 1;
}
.invoice-notes h6 {
    font-size: 0.9rem;
    color: var(--color-gray);
    text-transform: uppercase;
    margin-bottom: 0.75rem;
    font-weight: 600;
}
.invoice-totals {
    flex-basis: 300px;
    flex-grow: 1;
    max-width: 400px;
}
.invoice-totals table {
    width: 100%;
}
.invoice-totals td {
    padding: 0.75rem 0;
    border-bottom: 1px solid #e2e8f0;
}
.invoice-totals tr:last-child td {
    border-bottom: none;
}
.invoice-totals .title {
    color: #4a5568;
    font-weight: 500;
}
.invoice-totals .price {
    text-align: right;
    font-weight: 600;
    color: var(--color-black);
}
.invoice-totals tr.grand-total td {
    padding-top: 1rem;
    font-size: 1.25rem;
    font-weight: 700;
}
.invoice-totals tr.grand-total .price {
    color: var(--theme-color);
}


/* ======================
    Sidebar css
    ====================== */
.sidebar {
    width: 100%;
    display: inline-block;
}
.sidebar .widget-card {
    width: 100%;
    display: inline-block;
    background: var(--color-white);
    border: 1px solid var(--color-gray-400);
    margin-bottom: 30px;
    border-radius: 8px;
}
.sidebar .widget-card .widget-title {
    font-size: 20px;
    font-weight: 700;
    color: var(--color-black);
    font-family: var(--secondary-font-family);
    border-bottom: 1px solid var(--color-gray-400);
    padding: 10px 15px;
}
.sidebar .widget-card .widget-body {
    padding: 20px;
    width: 100%;
}
.sidebar .widget-card .widget-body ul.gallery-card {
    margin: 0;
    padding: 0;
    width: 100%;
    display: inline-block;
}
.sidebar .widget-card .widget-body ul.gallery-card li {
    float: left;
    width: 178px;
    margin: 4px;
    overflow: hidden;
}
.sidebar .widget-card .widget-body ul.gallery-card li img {
    width: 100%;
    border-radius: 10px;
}

/* ======================
    Blog Details Page
    ====================== */
.blog-details-card {
    background: #ffffff;
    border-radius: 24px;
    box-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
    overflow: hidden;
    position: relative;
    z-index: 5;
    border: none;
    width: 100%;
    margin: 2rem auto 30px;
    max-width: 1200px;
}

/* Blog image styling */
.blog-details-card .blog-img {
    max-height: 500px;
    overflow: hidden;
    width: 100%;
}

.blog-details-card .blog-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Blog content styling */
.blog-details-card .blog-content {
    padding: 50px 70px;
    width: 100%;
}

/* Meta information styling */
.blog-details-card .blog-content .blog-meta-card {
    display: flex;
    align-items: center;
    gap: 24px;
    margin-bottom: 1.5rem;
    color: #4b5563;
    font-size: 0.9rem;
    font-weight: 500;
    margin-top: 0;
    justify-content: flex-start;
}

.blog-details-card .blog-content .blog-meta-card .blog-date,
.blog-details-card .blog-content .blog-meta-card .blog-meta,
.blog-details-card .blog-content .blog-meta-card .blog-comment {
    font-size: 0.9rem;
    font-weight: 500;
}

.blog-details-card .blog-content .blog-meta-card .blog-date i,
.blog-details-card .blog-content .blog-meta-card .blog-meta i,
.blog-details-card .blog-content .blog-meta-card .blog-comment i {
    margin-right: 8px;
    color: #a66249;
}

/* Blog title styling */
.blog-details-card .blog-content .blog-title h3 {
    font-family: 'Playfair Display', serif;
    font-size: 2.5rem;
    line-height: 1.3;
    margin-bottom: 2.5rem;
    color: #1f2937;
    font-weight: 700;
}

/* Blog article content styling */
.blog-details-card .articles .entry {
    font-size: 1.1rem;
    line-height: 1.8;
    color: #4b5563;
}

.blog-details-card .articles .entry p {
    text-align: left;
}

.blog-details-card .articles .entry b,
.blog-details-card .articles .entry strong {
    font-weight: 600;
    color: #1f2937;
}

/* Share section styling */
.share_this {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 16px;
    padding: 30px 70px;
    border-top: 1px solid #e5e7eb;
    margin-top: 40px;
}

.share_this .share-title h5 {
    font-size: 1rem;
    font-weight: 600;
    margin: 0;
    color: #1f2937;
}

.share_this .social-media {
    display: flex;
    gap: 10px;
}

.share_this .social-media a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background-color: #f3f4f6;
    color: #4b5563;
    text-decoration: none;
    transition: all 0.3s ease;
}

.share_this .social-media a:hover {
    background-color: #a66249;
    color: #ffffff;
    transform: translateY(-2px);
    box-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
}
.latest_blog_card {
    width: 100%;
    display: inline-block;
    margin-bottom: 15px;
}
.latest_blog_card:last-child {
    margin-bottom: 0px;
}
.latest_blog_card .blog_img {
    float: left;
    width: 90px;
    height: auto;
}
.latest_blog_card .blog_img img {
    width: 100%;
}
.latest_blog_card .blog_content {
    float: left;
    width: calc(100% - 90px);
    padding: 0px 0px 0px 10px;
}
.latest_blog_card .blog_content h6 {
    font-size: 16px;
    font-weight: 700;
    line-height: 1.5;
    margin-bottom: 0px;
}



.sidebar .widget-card .widget-body ul.widget-list li {
    width: 100%;
    display: inline-block;
    margin-bottom: 15px;
}
.sidebar .widget-card .widget-body ul.widget-list li:last-child {
    margin-bottom: 0px;
}
.sidebar .widget-card .widget-body ul.widget-list li a {
    font-size: 14px;
    font-weight: 700;
    font-family: var(--secondary-font-family);
    color: var(--color-black);
}
.sidebar .widget-card .widget-body ul.widget-list li a:hover {
    color: var(--theme-color);
}
.sidebar .widget-card .widget-body ul.widget-list li .desc {
    width: calc(100% - 25px);
    float: left;
    padding: 5px 10px 0px 10px;
}
.sidebar .widget-card .widget-body ul.widget-list li .count {
    width: 25px;
    height: 25px;
    line-height: 25px;
    float: right;
    background: var(--color-light);
    color: var(--color-white);
    font-size: 14px;
    text-align: center;
    border-radius: 50%;
    margin-top: 2px;
}

/* ======================
    404
    ====================== */
.error_card {
    text-align: center;
    padding: 60px 0;
}
.error_card .error_img {
    width: 100%;
    margin-bottom: 15px;
}
.error_card .error_img img {
    width: 100%;
}
.error_card p {
    margin-bottom: 30px;
    margin-top: 25px;
    font-size: 16px;
}

 /* ======================
    Social Media
    ====================== */
.social-media i {
    width: 35px;
    height: 35px;
    line-height: 35px;
    text-align: center;
    margin: 3px;
    display: block;
    -webkit-transition: all 0.5s ease-in-out 0s;
    -moz-transition: all 0.5s ease-in-out 0s;
    -ms-transition: all 0.5s ease-in-out 0s;
    -o-transition: all 0.5s ease-in-out 0s;
    transition: all 0.5s ease-in-out 0s;
}
.social-media i {
    color: var(--color-white);
    background: var(--theme-color);
    border-radius: 50%;
}
.social-media i:hover {
    color: var(--color-white);
    background: var(--color-black);
}

/* ======================
    Layer Bounce
    ====================== */
.layer-rotation1 {
    -webkit-animation: rotation 8s infinite linear;
    animation: rotation 8s infinite linear;
    transform-origin: center center;
}

.layer-bounce1 {
    -webkit-animation-name: bounce;
    animation-name: bounce;
    -webkit-animation-duration: 3s;
    animation-duration: 3s;
    -webkit-animation-iteration-count: infinite;
    animation-iteration-count: infinite;
    -webkit-animation-timing-function: linear;
    animation-timing-function: linear;
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both;
}
.h1-layer2 {
    -webkit-animation-name: leftToRight;
    animation-name: leftToRight;
    -webkit-animation-duration: 7s;
    animation-duration: 7s;
    -webkit-animation-iteration-count: infinite;
    animation-iteration-count: infinite;
    -webkit-animation-timing-function: linear;
    animation-timing-function: linear;
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both;
}
.layer-bounce3 {
    -webkit-animation-name: bounce;
    animation-name: bounce;
    -webkit-animation-duration: 5s;
    animation-duration: 5s;
    -webkit-animation-iteration-count: infinite;
    animation-iteration-count: infinite;
    -webkit-animation-timing-function: linear;
    animation-timing-function: linear;
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both;
}
.layer-bounce4 {
    -webkit-animation-name: bounce;
    animation-name: bounce;
    -webkit-animation-duration: 10s;
    animation-duration: 10s;
    -webkit-animation-iteration-count: infinite;
    animation-iteration-count: infinite;
    -webkit-animation-timing-function: linear;
    animation-timing-function: linear;
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both;
}

/* ======================
    Bounce Keyframes
    ====================== */
@-webkit-keyframes rotation {
    0% {
        transform: rotate(0);
    }

    100% {
        transform: rotate(360deg);
    }
}

@keyframes rotation {
    0% {
        transform: rotate(0);
    }

    100% {
        transform: rotate(360deg);
    }
}

@-webkit-keyframes bounce {
    0% {
        transform: translateY(0);
    }
    50% {
        transform: translateY(20px);
    }
    100% {
        transform: translateY(0);
    }
}

@keyframes bounce {
    0% {
        transform: translateY(0);
    }
    50% {
        transform: translateY(20px);
    }
    100% {
        transform: translateY(0);
    }
}

/* Left to right */
@-webkit-keyframes leftToRight {
    0% {
        transform: translateX(0);
    }
    50% {
        transform: translateX(80px);
    }
    100% {
        transform: translateX(0);
    }
}

@keyframes leftToRight {
    0% {
        transform: translateX(0);
    }
    50% {
        transform: translateX(80px);
    }
    100% {
        transform: translateX(0);
    }
}
/* ======================
    Shadows Keyframes
    ====================== */

@-webkit-keyframes shadows {
    0% {
        box-shadow: 0 0 0 0 rgba(255, 255, 255, 0.2),
            0 0 0 30px rgba(255, 255, 255, 0.2),
            0 0 0 50px rgba(255, 255, 255, 0.2);
    }
    100% {
        box-shadow: 0 0 0 30px rgba(255, 255, 255, 0.2),
            0 0 0 50px rgba(255, 255, 255, 0.2), 0 0 0 70px transparent;
    }
}

@keyframes shadows {
    0% {
        box-shadow: 0 0 0 0 rgba(255, 255, 255, 0.2),
            0 0 0 30px rgba(255, 255, 255, 0.2),
            0 0 0 50px rgba(255, 255, 255, 0.2);
    }
    100% {
        box-shadow: 0 0 0 30px rgba(255, 255, 255, 0.2),
            0 0 0 50px rgba(255, 255, 255, 0.2), 0 0 0 70px transparent;
    }
}

/* ======================
    fadeInDown Keyframes
    ====================== */

@-webkit-keyframes fadeInDown {
    0% {
        opacity: 0;
        -webkit-transform: translate3d(0, -100%, 0);
        transform: translate3d(0, -100%, 0);
    }
    to {
        opacity: 1;
        -webkit-transform: translateZ(0);
        transform: translateZ(0);
    }
}
@keyframes fadeInDown {
    0% {
        opacity: 0;
        -webkit-transform: translate3d(0, -100%, 0);
        transform: translate3d(0, -100%, 0);
    }
    to {
        opacity: 1;
        -webkit-transform: translateZ(0);
        transform: translateZ(0);
    }
}

/* morph border animation */
@keyframes morph {
    0% {
        border-radius: 60% 40% 30% 70% / 60% 30% 70% 40%;
    }

    50% {
        border-radius: 30% 60% 70% 40% / 50% 60% 30% 60%;
    }

    100% {
        border-radius: 60% 40% 30% 70% / 60% 30% 70% 40%;
    }
}

/* ======================
    Entry css
    ====================== */
.entry-bg {
    height: 100%;
    position: relative;
    background: var(--color-white);
}
.min-height {
    min-height: 400px;
}
.entry {
    line-height: 2;
}
.entry p {
    margin: 0 0 10px;
    font-family: var(--primary-font-family);
    line-height: 2;
}
.entry ol,
.entry ol li,
.entry ul,
.entry ul li {
    list-style: none;
}
.entry ol, .entry ul {
    margin: 0px 0px 15px 20px;
    padding-left: 0;
}
.entry ol li, .entry ol li a,
.entry ul li, .entry ul li a {
    line-height: 2;
}
.entry ol li i,
.entry ol li a i,
.entry ul li i,
.entry ul li a i {
    margin-right: 5px;
}

.entry h1 {
    font-size: 40px;
}
.entry h2 {
    font-size: 33px;
}
.entry h3 {
    font-size: 27px;
}
.entry h4 {
    font-size: 23px;
}
.entry h5 {
    font-size: 20px;
}
.entry h6 {
    font-size: 17px;
}
.entry h1,
.entry h2,
.entry h3,
.entry h4,
.entry h5,
.entry h6 {
    margin-bottom: 10px;
}
.entry .blockquote {
    padding: 10px 20px;
    font-size: 14px;
    border-left-width: 5px;
    border-left-style: solid;
    border-color: #a6a6a6;
    letter-spacing: 0.05em;
}
.entry .blockquote p {
    margin: 0;
}
.entry pre {
    border-bottom-width: 1px;
    border-top-width: 1px;
    border-right-width: 1px;
    border-left-width: 5px;
    border-style: solid;
    padding: 20px;
    margin: 10px 0px;
    line-height: 2;
    letter-spacing: 0.05em;
}
.entry b {
    font-weight: bold;
}
.entry u {
    text-decoration: underline;
}
.entry table tr th,
.entry table tr td {
    font-family: var(--primary-font-family);
    color: var(--color-gray-dark);
}

/* ======================
    Contact
    ====================== */
.contact_card .heading {
    font-weight: 900;
    margin-bottom: 20px;
}
.contact-form,
.contact-map {
    width: 100%;
    background: #fff;
    padding: 30px;
    margin-bottom: 15px;
    -webkit-box-shadow: 0px 15px 66px 5px rgba(217,217,217,0.3);
    -moz-box-shadow: 0px 15px 66px 5px rgba(217,217,217,0.3);
    box-shadow: 0px 15px 66px 5px rgba(217,217,217,0.3);
}

.contact-form {
    display: none;
}
.contact-map {
    width: 100%;
}
.inner-section.contact_card > .container > .row:last-of-type > .col-lg-7 {
    flex: 0 0 100%;
    max-width: 100%;
}

.contact-form .mb-3 {
    margin-bottom: 20px;
}
.contact-form textarea {
    height: 110px;
}
.contact-info {
    margin: 50px 0px 70px 0px;
}
.contact-info .row {
    justify-content: center;
}
.contact-info .row > .col-12:first-child {
    display: none;
}
.contact-info p {
    margin-bottom: 20px;
}
.contact-info .info {
    margin-bottom: 25px;
    width: 100%;
    display: inline-block;
}
.contact-info .info .icon {
    float: left;
    margin-right: 15px;
    border: 1px solid var(--theme-color);
    color: var(--theme-color);
    width: 55px;
    height: 55px;
    line-height: 55px;
    text-align: center;
    -webkit-border-radius: 50%;
    border-radius: 50%;
    -webkit-box-shadow: 0px 0px 20px 0px rgba(0,0,0,0.1);
    box-shadow: 0px 0px 20px 0px rgba(0,0,0,0.1);
}
.contact-info .info i {
    font-size: 20px;
}
.contact-info .info .desc {
    float: left;
    width: calc(100% - 70px);
}
.contact-info .info .desc span {
    font-weight: 700;
    font-size: 16px;
    margin-bottom: 5px;
    display: inline-block;
}
.contact-info .info .desc p {
    margin-bottom: 0px;
}

.google_map {
    width: 100%;
    height: 500px;
}
.map-tooltip {
    width: 250px;
    text-align: left;
}
.map-tooltip ul.map-tooltip-content {
    list-style: none;
}
.map-tooltip ul.map-tooltip-content li {
    margin-bottom: 10px;
    text-align: left;
}
.map-tooltip ul.map-tooltip-content li:last-child {
    margin-bottom: 0px;
}
.map-tooltip ul.map-tooltip-content li h2 {
    color: var(--color-gray-dark);
    font-size: 14px;
    font-weight: 700;
    margin-bottom: 1px;
}

/* ======================
    Parsley css
    ====================== */
.parsley-error:focus {
    border-color: #f53535 !important;
    box-shadow: none !important;
}
.parsley-error {
    border-color: inherit;
    color: inherit;
}
.parsley-error-list {
    margin: 0px 0px 0px 0px !important;
    padding: 0px 0px 0px 0px !important;
}
.parsley-error-list li {
    color: #dc3545;
}
.parsley-error-list {
    list-style: outside none none;
}
.parsley-error {
    border-color: #f53535;
    color: #dc3545;
}
.parsley-error:focus {
    border-color: #f53535 !important;
    box-shadow: 0 1px 1px rgba(0, 0, 0, 0.075) inset, 0 0 2px rgba(245, 53, 53, 0.6) !important;
}
.errorMgs {
    color: #dc3545;
}
.card-errors {
    color: #dc3545;
}

/* ======================
    Footer Section
    ====================== */
.footer-top {
    background-position: 50%;
    background-size: cover;
    height: 100%;
    position: relative;
    padding: 100px 0px;
}
.newsletter-card {
    text-align: center;
    padding: 80px;
    background: var(--color-white);
    border-radius: 15px;
}
.newsletter-card h2 {
    font-weight: 900;
}
.newsletter-card .newsletter-form {
    position: relative;
    display: inline-block;
    width: 100%;
}
.newsletter-card .newsletter-form input.form-control {
    width: 100%;
    background: var(--color-white);
    padding: 18px 150px 18px 20px;
    border: 1px solid var(--theme-color);
    border-radius: 50px;
}
.newsletter-card .newsletter-form .newsletter-btn {
    position: absolute;
    top: 7px;
    right: 7px;
    background: var(--theme-color);
    color: var(--color-white);
}
.btn.newsletter-btn::before {
    position: absolute;
    top: 0;
    left: auto;
    right: 0;
    content: "";
    width: 0;
    height: 100%;
    z-index: -1;
    background-color: var(--color-light);
    overflow: hidden;
    border-radius: inherit;
    -moz-transition: width .5s cubic-bezier(.17,.67,.12,.81) 0s;
    -webkit-transition: width .5s cubic-bezier(.17,.67,.12,.81) 0s;
    transition: width .5s cubic-bezier(.17,.67,.12,.81) 0s;
}
.btn.newsletter-btn:hover::before {
    width: 100%;
    left: 0;
    right: auto;
}

.modal_newsletter_card .modal-close {
    position: absolute;
    top: 0px;
    right: 0px;
    width: 40px;
    height: 40px;
    background: var(--theme-color);
    line-height: 30px;
    text-align: center;
    z-index: 999;
    color: var(--color-white);
    font-size: 22px;
    border: none;
    -webkit-transition: all 0.5s ease-in-out 0s;
    -moz-transition: all 0.5s ease-in-out 0s;
    transition: all 0.5s ease-in-out 0s;
}
.modal_newsletter_card .modal-close:hover {
    background: var(--color-white);
    color: var(--color-black);
}
.modal_newsletter_card .modal-dialog {
    max-width: 700px;
}
.modal_newsletter_card .modal-content {
    background-position: bottom;
    background-repeat: no-repeat;
    background-size: cover;
    position: relative;
    border: none;
    border-radius: 0;
}
.modal_newsletter_card .modal-content::before {
    position: absolute;
    content: "";
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    height: 100%;
    width: 100%;
    background: var(--color-white);
    opacity: 0.8;
}
.modal_newsletter_card .modal-body {
    padding: 100px 20px;
}
.modal_newsletter_card .modal-body .newsletter-card {
    text-align: center;
    padding: 0px 50px;
    background: transparent;
    border-radius: 0px;
}
.modal_newsletter_card .newsletter-card p {
    font-weight: 500;
    margin-bottom: 50px;
}
.modal_newsletter_card .newsletter-card h2 {
    margin-bottom: 20px;
}

.footer-section {
    background-position: 50%;
    background-size: cover;
    height: 100%;
    position: relative;
}
.footer-middle {
    border-top: 1px solid var(--color-gray-400);
}

.footer-widget-card {
    padding: 70px 20px 40px 20px;
}
.footer-widget {
    display: inline-block;
    width: 100%;
}
.footer-widget .widget-title {
    margin-bottom: 15px;
}
.footer-widget .info-card .info-logo {
    width: 150px;
    height: auto;
    overflow: hidden;
    margin-bottom: 15px;
    display: inline-block;
}
.footer-widget .info-card .info-logo img {
    width: 100%;
}
.footer-widget ul.widget-contact li {
    margin-bottom: 20px;
}
.footer-widget ul.widget-contact li .contact-card {
    display: inline-block;
    width: 100%;
}
.footer-widget ul.widget-contact li .contact-card .contact-icon {
    font-size: 25px;
    text-align: center;
    line-height: 40px;
    float: left;
    color: var(--theme-color);
    margin-right: 20px;
}
.footer-widget ul.widget-contact li .contact-card .contact-desc {
    width: calc(100% - 85px);
    float: left;
    padding-top: 8px;
}
.footer-widget ul.widget-contact li .contact-card .contact-desc h5 {
    margin-bottom: 5px;
}
.footer-widget ul.widget-contact li .contact-card .contact-desc p {
    margin-bottom: 0px;
}
.footer-widget ul.widget-list li {
    position: relative;
    margin-bottom: 12px;
    width: 50%;
    float: left;
}
.footer-bottom {
    padding: 30px 0px 20px 0px;
    border-top: 1px solid var(--color-gray-400);
}
.copy-right {
    margin-bottom: 10px;
}
.copy-right a {
    color: var(--theme-color);
}
.payment-method {
    float: right;
    margin-bottom: 10px;
}
.payment-method img {
    width: 100%;
    height: 22px;
}

.whatsapp-left {
    position: fixed;
    left: 30px;
    bottom: 30px;
    z-index: 11;
    width: 65px;
    height: 65px;
}
.whatsapp-right {
    position: fixed;
    right: 30px;
    bottom: 100px;
    z-index: 11;
    width: 65px;
    height: 65px;
}
.whatsapp-left .whatsapp-btn,
.whatsapp-right .whatsapp-btn {
    width: 65px;
    height: 65px;
    background: #40c351;
    text-align: center;
    line-height: 65px;
    border-radius: 50%;
}

/* ======================
    Cookies Content css
    ====================== */
.cookie_consent_card {
    text-align: center;
    position: fixed;
    max-width: 400px;
    bottom: 30px;
    z-index: 999;
    padding: 25px;
    background: var(--color-black);
    color: var(--color-white);
    display: none;
    border-radius: 6px;
    -webkit-box-shadow: 0px 17px 42px rgba(93, 93, 93, 0.14);
    -moz-box-shadow: 0px 17px 42px rgba(93, 93, 93, 0.14);
    box-shadow: 0px 17px 42px rgba(93, 93, 93, 0.14);
    -webkit-transition: all 0.3s ease 0s;
    -moz-transition: all 0.3s ease 0s;
    transition: all 0.3s ease 0s;
}
.cookie_consent_card.fullwidth {
    text-align: left;
    position: fixed;
    width: 100%;
    max-width: 100%;
    bottom: 0;
    z-index: 999;
    padding: 20px 30px 5px 30px;
    background: var(--color-black);
    color: var(--color-white);
    display: none;
    border-radius: 0;
    -webkit-box-shadow: none;
    -moz-box-shadow: none;
    box-shadow: none;
}
.cookie_consent_card.left {
    left: 30px;
}
.cookie_consent_card.right {
    right: 30px;
}
.cookie_consent_card.fullwidth.left {
    left: 0;
}
.cookie_consent_card.fullwidth.right {
    right: 0;
}
.cookie_consent_card.active{
    display: block;
}
.cookie_consent_card .cookie_consent_head {
    font-size: 20px;
    font-weight: 700;
    margin-bottom: 10px;
    color: var(--color-white);
}
.cookie_consent_card .cookie_consent_text {
    margin-bottom: 20px;
}
.cookie_consent_card.fullwidth .cookie_consent_text {
    margin-bottom: 20px;
    float: left;
}
.cookie_consent_card .cookie_consent_text a,
.cookie_consent_card .cookie_consent_text a:hover {
    color: var(--theme-color);
}
.cookie_consent_card button.accept_btn {
    color: var(--color-white);
    background-color: var(--theme-color);
    width: 100%;
    padding: 12px 15px;
}
.cookie_consent_card.fullwidth button.accept_btn {
    width: auto;
    padding: 6px 15px;
    float: left;
    border-radius: 3px;
    margin-left: 10px;
}
.cookie_consent_card button.accept_btn::before {
    position: absolute;
    top: 0;
    left: auto;
    right: 0;
    content: "";
    width: 0;
    height: 100%;
    z-index: -1;
    background-color: var(--theme-color);
    overflow: hidden;
    border-radius: inherit;
    -moz-transition: width .5s cubic-bezier(.17,.67,.12,.81) 0s;
    -webkit-transition: width .5s cubic-bezier(.17,.67,.12,.81) 0s;
    transition: width .5s cubic-bezier(.17,.67,.12,.81) 0s;
}
.cookie_consent_card button.accept_btn:hover::before {
    width: 100%;
    left: 0;
    right: auto;
}
.dnone {
    display: none;
}

/* Clean Arrow-Only Navigation */
.testimonial-slider .swiper-button-next,
.testimonial-slider .swiper-button-prev {
    width: 25px;
    height: 25px;
    margin-top: -12px;
    background: transparent;
    border: none;
    box-shadow: none;
    cursor: pointer;
}

.testimonial-slider .swiper-button-next:after,
.testimonial-slider .swiper-button-prev:after {
    color: var(--theme-color);
    font-size: 18px;
    font-weight: 700;
}

.testimonial-slider .swiper-button-next:hover:after,
.testimonial-slider .swiper-button-prev:hover:after {
    color: #8b5638;
}

.testimonial-slider .swiper-pagination-bullet {
    background: var(--theme-color);
    opacity: 0.4;
    width: 8px;
    height: 8px;
    margin: 0 3px;
}

.testimonial-slider .swiper-pagination-bullet-active {
    opacity: 1;
    transform: scale(1.1);
}

