@import url('https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,100..1000;1,9..40,100..1000&display=swap');

/*====================
2. Theme variables
======================*/
:root {
    --body-font: "DM Sans", sans-serif;
    --heading-font: "DM Sans", sans-serif;
    --theme-color: #3D90CE;
    --theme-color2:#1744A4;
    --theme-color3: #CEF2FF;
    --theme-color-light: rgb(17, 110, 99, 0.09);
    --theme-bg-light: #F2F3F5;
    --body-text-color: #212121;
    --color-white: #ffffff;
    --color-dark: #19232B;
    --title-color: #012758;
    --hero-overlay-color: #000000;
    --slider-arrow-bg: rgba(255, 255, 255, 0.2);
    --box-shadow: 0 0 40px 5px rgb(0 0 0 / 5%);
    --box-shadow2:0 0 15px rgba(0, 0, 0, 0.17);
    --transition: all .5s ease-in-out;
    --transition2:all .3s ease-in-out;
    --border-info-color: rgba(0, 0, 0, 0.08);
    --border-info-color2:rgba(0, 0, 0, 0.05);
    --border-white-color: rgba(255, 255, 255, 0.08);
    --border-white-color2:rgba(255, 255, 255, 0.05);
    --footer-bg: #012758;
    --footer-bg2:#116E63;
    --footer-text-color: #F5FAFF;
    --bs-border-color: #ccc;
    --bs-border-primary: var(--theme-color);
}

/*====================
    General css
======================*/
*, *:before, *:after { box-sizing: inherit; }
* { scroll-behavior: inherit !important; }
html, body { height: auto; width: 100%; margin: 0; padding: 0;   box-sizing: border-box; }
body { font-family: var(--body-font); font-style: normal; font-size: 16px; font-weight: normal; color: var(--body-text-color); line-height: 1.6; }
a { color: var(--color-dark); display: inline-block; }
a, a:active, a:focus, a:hover { outline: none; -webkit-transition: all 0.3s ease-out 0s; -moz-transition: all 0.3s ease-out 0s; -o-transition: all 0.3s ease-out 0s; -ms-transition: all 0.3s ease-out 0s; transition: all 0.3s ease-out 0s; text-decoration: none; }
a:hover { color: var(--color-blue); }
ul { margin: 0; padding: 0; }
li { list-style: none; }
h1, h2, h3, h4, h5, h6 { color: var(--title-color); margin: 0px; font-weight: 500; font-family: var(--heading-font); line-height: 1.3; }
h1 { font-size: 40px; }
h2 { font-size: 34px; }
h3 { font-size: 28px; }
h4 { font-size: 22px; }
h5 { font-size: 18px; }
h6 { font-size: 16px; }
@media (max-width: 1024px) {
    h1 { font-size: 34px; }
    h2 { font-size: 30px; }
    h3 { font-size: 24px; }
    h4 { font-size: 20px; }
    h5 { font-size: 18px; }
    h6 { font-size: 16px; }
}
.img, img { max-width: 100%; -webkit-transition: all 0.3s ease-out 0s; -moz-transition: all 0.3s ease-out 0s; -ms-transition: all 0.3s ease-out 0s; -o-transition: all 0.3s ease-out 0s; transition: all 0.3s ease-out 0s; height: auto; }
label { color: #999; cursor: pointer; font-weight: 400; }

.primary-font {font-family: var(--body-font) !important;}
.title-font {font-family: var(--heading-font) !important;}
*::-moz-selection { background: #d6b161; color: var(--color-white); text-shadow: none; }
::-moz-selection { background: #555; color: var(--color-white); text-shadow: none; }
::selection { background: #555; color: var(--color-white); text-shadow: none; }
*::-moz-placeholder { color: #999; font-size: 16px; opacity: 1; }
*::placeholder { color: #999; font-size: 16px; opacity: 1; }

/*====================
    Preloader
======================*/
.preloader { position: fixed; width: 100%; height: 100%; background: var(--theme-color); top: 0; left: 0; z-index: 9999; display: flex; align-items: center; justify-content: center; }
.loader-book { border: 5px solid var(--color-white); width: 150px; height: 60px; position: relative; perspective: 150px; }
.loader-book-page { display: block; width: 50px; height: 60px; border: 5px solid var(--color-white); margin: 0; position: absolute; left: -5px; top: -5px; overflow: hidden; background: var(--theme-color2); transform-style: preserve-3d; -webkit-transform-origin: left center; transform-origin: left center; }
.loader-book-page{ -webkit-animation: loader-book 2s ease 0.8s infinite; animation: loader-book 2s ease 0.8s infinite; }
@keyframes loader-book {
    0% {transform: translateX(0px);}
    25% {transform: translateX(50px);}
    50% {transform: translateX(100px);}
    75% {transform: translateX(50px);}
    100% {transform: translateX(0px);}
}


/*===================
    Theme default css
======================*/
.ovrflow-hidden { overflow: hidden; }
.position-relative { position: relative; z-index: 1; }
.text-right { text-align: right; }
.space-between { display: flex; justify-content: space-between; align-items: center; }
.c-pd { padding: 0 7rem; }
.s-pd { padding: 0 12rem; }
.h-100 { height: 100%; }
.h-100vh { height: 100vh; }
.bg { background: var(--theme-bg-light); }
.theme-color {color: var(--theme-color) !important;}
.bg-theme-color {background: var(--theme-color) !important;}

.theme-color2 {color: var(--theme-color2) !important;}
.bg-theme-color2 {background: var(--theme-color2) !important;}

.border-primary {border-color: var(--bs-border-primary);}

.ls-1 {letter-spacing: 1px !important;}
.ls-2 {letter-spacing: 2px !important;}
.ls-3 {letter-spacing: 3px !important;}
.ls-4 {letter-spacing: 4px !important;}

.list-checks { padding: 0; line-height: 1.3;}
.list-checks li { align-items: flex-start;  display: flex; padding: 2px 0;}
.list-checks li::before { content: '\f00c';  flex: 0 1 auto;  font-family: "Font Awesome 6 Pro";  line-height: 1.4;  padding-right: .625rem; color: var(--theme-color); font-weight: 600;}
.list-checks.list-white li::before { color: var(--bs-white);}

.pd-img { position: relative; padding-bottom: 70%; width: 100%; }
.pd-img img { position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover; }


/*====================
    Margin & padding
======================*/
.pb-140{padding-bottom:140px}.pd-50{padding:50px 0}.py-120{padding:100px 0}.pt-120{padding-top:100px}.pb-120{padding-bottom:100px}.py-80{padding:80px 0}.pt-80{padding-top:80px}.pb-80{padding-bottom:80px}.pt-0{padding-top:0px}.pt-10{padding-top:10px}.pt-20{padding-top:20px}.pt-30{padding-top:30px}.pt-40{padding-top:40px}.pt-50{padding-top:50px}.pt-60{padding-top:60px}.pt-70{padding-top:70px}.pt-80{padding-top:80px}.pt-90{padding-top:90px}.pt-100{padding-top:100px}.pb-0{padding-bottom:0px}.pb-10{padding-bottom:10px}.pb-20{padding-bottom:20px}.pb-30{padding-bottom:30px}.pb-40{padding-bottom:40px}.pb-50{padding-bottom:50px}.pb-60{padding-bottom:60px}.pb-70{padding-bottom:70px}.pb-80{padding-bottom:80px}.pb-90{padding-bottom:90px}.pb-100{padding-bottom:100px}.mt-0{margin-top:0px}.mt-10{margin-top:10px}.mt-20{margin-top:20px}.mt-30{margin-top:30px}.mt-40{margin-top:40px}.mt-50{margin-top:50px}.mt-60{margin-top:60px}.mt-70{margin-top:70px}.mt-80{margin-top:80px}.mt-90{margin-top:90px}.mt-100{margin-top:100px}.mt-120{margin-top:100px}.mb-0{margin-bottom:0px}.mb-10{margin-bottom:10px}.mb-20{margin-bottom:20px}.mb-30{margin-bottom:30px}.mb-40{margin-bottom:40px}.mb-50{margin-bottom:50px}.mb-60{margin-bottom:60px}.mb-70{margin-bottom:70px}.mb-80{margin-bottom:80px}.mb-90{margin-bottom:90px}.mb-100{margin-bottom:100px}.mb-120{margin-bottom:100px}.mr-300{margin-right:300px}.ml-300{margin-left:300px}

@media(max-width: 767px) {
    .pb-140{padding-bottom:100px}.py-120 {padding: 80px 0;.pt-120{padding-top:80px}.pb-120{padding-bottom:80px}}
}

/*====================
    Site title css
======================*/
.site-heading { margin-bottom: 30px; position: relative; z-index: 1; }
.site-title-tagline { text-transform: uppercase; letter-spacing: 4px; font-size: 16px; font-weight: 600; color: var(--theme-color); position: relative;}
.site-title-tagline i { line-height: 0; font-size: 20px; }
.site-title { font-weight: 500; text-transform: capitalize; font-size: 34px; color: var(--title-color); margin-top: 10px; margin-bottom: 0; position: relative; }
.site-title span { color: var(--theme-color); }
.heading-divider { display: inline-block; position: relative; width: 90px; height: 10px; border: 3px solid rgba(33, 46, 84, 1); border-right-color: transparent; }
.heading-divider.light { border-color: rgba(255, 255, 255, 0.2); border-right-color: transparent; }
.heading-divider::after { position: absolute; content: ''; width: 30px; background-color: var(--theme-color); top: 0; bottom: 0; left: 18px; }
@media (max-width: 1024px) {
    body, html {font-size: 14px; overflow-x: hidden;}
}
@media (max-width: 767px) {
    .site-title {font-size: 26px;}
    .site-title-tagline {letter-spacing: 3px; font-size: 14px;}
}

/*====================
    Theme button
======================*/
.theme-btn, .woocommerce .button.wc-backward { font-size: 14px; line-height: 1.7; color: var(--color-white); padding: 12px 30px; transition: all 0.5s; text-transform: uppercase; position: relative; border-radius: 0px; font-weight: 500; cursor: pointer; text-align: center; overflow: hidden; border: none; background: var(--theme-color); box-shadow: var(--box-shadow); z-index: 1; }
.theme-btn::before, .woocommerce .button.wc-backward::before { content: ""; height: 50px; width: 50px; background: var(--theme-color2); border-radius: 50%; position: absolute; top: 50%; left: 50%; transform: translateY(-50%) translateX(-50%) scale(0); transition: 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94); z-index: -1; }
.theme-btn:hover, .woocommerce .button.wc-backward:hover { color: var(--color-white); }
.theme-btn:hover::before, .woocommerce .button.wc-backward:hover::before { transform: translateY(-50%) translateX(-50%) scale(20); }
.theme-btn i { margin-left: 5px; }
.theme-btn span { margin-right: 0px; }
.theme-btn2 { background: var(--color-white); color: var(--color-dark); }
.theme-btn2::before { background: var(--theme-color); }
.theme-btn2:hover { color: var(--color-white); }
.theme-btn3 { background: var(--bs-black); color: var(--color-white); }
.theme-btn3::before { background: var(--theme-color); }
.theme-btn3:hover { color: var(--color-white); }

.theme-btn4 { background: var(--color-white); color: var(--bs-black); border: 1px solid var(--bs-black); }
.theme-btn4::before { background: var(--bs-black); }
.theme-btn4:hover { border-color: var(--bs-black); color: var(--color-white); }
.theme-btn-sm {padding: 10px 20px; font-size: 80%;}
.min-width {min-width: 250px;}
.text_link {text-decoration: underline; text-decoration-thickness: 2px;  text-underline-offset: 10px; transition: all ease-in 0.4s;}
.text_link:hover {text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 6px;  transition: all ease-in 0.4s;}
.wpcf7-spinner { position: absolute;}
.wpcf7 .theme-btn {display: inline-block;}
.theme-btn .wpcf7-submit {padding: 0;  background: transparent;  border: 0;  color: #fff;  text-transform: uppercase;}
.theme-btn p {margin: 0;}

/*====================
    Container
======================*/
@media (min-width:1400px) {
    .container, .container-sm, .container-md, .container-lg, .container-xl { max-width: 1400px; }
    .single-product .container {max-width: 1250px;}
}
@media (max-width: 1400px) {
  .container, .container-lg, .container-md, .container-sm, .container-xl {
    max-width: 100%;
  }
  .single-product .container {max-width: 100%;}
}

/*====================
    Scroll top css
======================*/
#scroll-top { position: fixed; bottom: -20px; right: 30px; z-index: 99; font-size: 20px; border: none; outline: none; border-radius: 50px; color: var(--color-white); background-color: var(--theme-color); cursor: pointer; width: 50px; height: 50px; line-height: 50px; text-align: center; box-shadow: var(--box-shadow2); transition: var(--transition); opacity: 0; visibility: hidden; z-index: 1; }
#scroll-top.active { opacity: 1; visibility: visible; bottom: 20px; }
@media all and (min-width:768px) and (max-width:1199px) {
    #scroll-top.active { bottom: 100px; }
}

/*====================
    Header top css
======================*/
.header-top { padding: 0; position: relative; z-index: 1; }
.header-top::before { content: ""; position: absolute; left: 0; top: 0; bottom: -1px; width: 30%; background: var(--theme-color2);  z-index: -1; clip-path: polygon(0 0, calc(100% - 20px) 0%, 100% 100%, 0% 100%);}
.header-top::after { content: ""; position: absolute; right: 0; top: 0; bottom: -1px; width: 70%; background: var(--theme-color);  clip-path: polygon(0 0, 100% 0, 100% 100%, 20px 100%); z-index: -1; }
.header-top-wrapper { display: flex; align-items: center; justify-content: space-between; }
.header-top-contact ul { display: flex; align-items: center; gap: 20px; }
.header-top-contact ul li { display: flex; gap: 10px; border-right: 1px solid #457A90; padding: 3px 0; padding-right: 20px; }
.header-top-contact ul li:last-child { border: none; }
.header-top-contact-icon { text-align: center; color: var(--color-white); }
.header-top-contact-icon img { width: 42px; }
.header-top-contact-info h6 { color: var(--theme-color); font-size: 20px; font-weight: 500; }
.header-top-contact ul li a { color: var(--color-white); font-weight: 400; }
.header-top-right { display: flex; align-items: center; gap: 15px; }
.header-top-social span { color: var(--color-white); font-weight: 500; }
.header-top-social a { width: 35px; height: 35px; line-height: 35px; color: var(--color-white); font-size: 16px; background: var(--theme-color2); text-align: center; margin-left: 5px; border-radius: 50px; transition: all .5s ease-in-out; }
.header-top-social a:hover { color: var(--theme-color); }
@media all and (max-width:1199px) {
    .header-top-account { display: none; }
    .header-top-contact ul { gap: 10px; }
    .header-top-social a { width: 34px; height: 34px; line-height: 37px; margin-left: 0; }
    .header-top-left { margin-right: 5px; }
}
@media all and (max-width:992px) {
    .header-top { display: none; }
}

/*====================
    Navbar css
======================*/
.navbar { background: var(--color-white); padding-top: 0px; padding-bottom: 0px; z-index: 999; }
.custom-nav { background: var(--color-white); position: relative; }
.navbar.fixed-top { background: var(--color-white) !important; box-shadow: var(--box-shadow2); animation: slide-down 0.7s; }
@keyframes slide-down {
    0% { transform: translateY(-100%); }
    100% { transform: translateY(0); }
}
.navbar .navbar-brand .logo-display { display: block; }
.navbar .navbar-brand .logo-scrolled { display: none; }
.navbar.fixed-top .navbar-brand .logo-display { display: none; }
.navbar.fixed-top .navbar-brand .logo-scrolled { display: block; }
.navbar .navbar-toggler:focus { outline: none; box-shadow: none; }
.navbar-toggler-mobile-icon { display: inline-block; width: inherit; height: inherit; }
.navbar-brand { margin-right: 0; }
.navbar-brand img { height: 60px; }
.navbar .nav-item .dropdown-menu .dropdown-item.active, .navbar .nav-item .dropdown-menu .dropdown-item:active {background: var(--theme-color); color: var(--color-white);}

.navbar .dropdown-toggle::after { display: inline-block; margin-left: 5px; vertical-align: baseline; font-family: 'Font Awesome 6 Pro'; content: "\f107"; font-weight: 600; border: none; font-size: 12px; }
@media all and (max-width:1199px) {
    .nav-right { margin-left: 15px !important; }
    .navbar .nav-item .nav-link { margin-right: 10px; }
    .navbar .nav-right-btn { display: none; }
}
@media all and (min-width:992px) {
    .navbar .nav-item .nav-link { margin-right: 20px; padding: 30px 0; font-size: 14px; font-weight: 500; color: var(--color-dark);  font-family: var(--heading-font); text-transform: uppercase;}
    .navbar .nav-item:last-child .nav-link { margin-right: 0; }
    .navbar .nav-item .dropdown-menu { display: block; opacity: 0; visibility: hidden; transition: .3s; margin-top: 0; border: none; left: -15px; border-radius: 0px; border-top: 4px solid var(--theme-color); background: var(--theme-color2); width: 220px; box-shadow: var(--box-shadow); }
    .navbar .nav-item .dropdown-menu li { border-bottom: 1px solid var(--border-white-color); }
    .navbar .nav-item .dropdown-menu li:last-child { margin-bottom: 0; border-bottom: none; }
    .navbar .nav-item .dropdown-menu .dropdown-item { font-size: 16px; padding: 8px 25px; font-weight: 500; color: var(--color-white); position: relative; overflow: hidden; text-transform: capitalize; transition: all .3s ease-in-out; }
    .navbar .nav-item .dropdown-menu .dropdown-item:hover { background: transparent; color: var(--theme-color); padding-left: 32px; }
    .navbar .nav-item .dropdown-menu .dropdown-item::before { content: "//"; position: absolute; left: 15px; top: 8px; color: var(--theme-color); opacity: 0; visibility: hidden; transition: var(--transition); z-index: -1; }
    .navbar .nav-item .dropdown-menu .dropdown-item:hover::before { opacity: 1; visibility: visible; }
    .navbar .nav-item .dropdown-menu .dropdown-item.active, .navbar .nav-item .dropdown-menu .dropdown-item:active {background: var(--theme-color); color: var(--color-white);}
    .navbar .nav-item .dropdown-menu .dropdown-item.active {padding-left: 32px;}
    .navbar .nav-item .dropdown-menu .dropdown-item.active::before {opacity: 1; z-index: 0; visibility: visible; color: var(--color-white);}
    .navbar .nav-item .nav-link { position: relative; }
    .navbar .nav-item .nav-link.active, .navbar .nav-item:hover .nav-link { color: var(--theme-color); }
    .navbar .nav-item:hover .dropdown-menu { transition: .3s; opacity: 1; visibility: visible; top: 100%; transform: rotateX(0deg); }
    .navbar .dropdown-menu-end { right: 0; left: auto; }
    .navbar .dropdown-menu.fade-down { top: 80%; transform: rotateX(-75deg); transform-origin: 0% 0%; }
    .navbar .dropdown-menu.fade-up { top: 140%; }
    .navbar #main_nav { justify-content: flex-end; }

    /* nav right */
    .nav-right { display: flex; align-items: center; justify-content: center; gap: 20px; margin-left: 20px; }
    .nav-right-link { position: relative; font-size: 20px; color: var(--color-dark); transition: var(--transition); }
    .nav-right-link:hover { color: var(--theme-color) !important; }
    .nav-right .sidebar-btn .nav-right-link, .nav-right .search-btn .nav-right-link { border: none; background: transparent; color: var(--color-dark); font-size: 28px; padding-right: 0; }
    .nav-right .search-btn .nav-right-link { font-size: 18px; padding: 0; }
    .nav-right .cart-btn .nav-right-link { position: relative; font-size: 18px; padding: 0; margin-right: 0; }
    .nav-right .cart-btn span { position: absolute; right: -9px; top: -2px; width: 15px; height: 15px; line-height: 15px; text-align: center; font-size: 12px; border-radius: 50px; background: var(--theme-color); color: var(--color-white); }
}

/* mobile menu */
.mobile-menu-right { display: none; }
@media all and (max-width:991px) {
    .navbar { top: 0; right: 0; left: 0; /* position: fixed; */ }
    .navbar-brand { padding-left: 0px; }
    .navbar-brand img { height: 40px; }
    .navbar-collapse { overflow: hidden; overflow-y: auto; padding: 0 20px; background-color: var(--color-white); }
    .dropdown-toggle::after { float: right; }
    .navbar .nav-item .nav-link { color: var(--color-dark); font-weight: 700; transition: var(--transition); }
    .navbar .nav-item .nav-link:hover { color: var(--theme-color) !important; }
    .navbar-toggler { padding: 0; border: none; }
    .mobile-menu-right { display: flex; align-items: center; gap: 20px; }
    .mobile-menu-right .nav-right-link { background: transparent; border: none; font-size: 20px; color: var(--color-dark); }
    .mobile-menu-right .nav-right-link:hover { color: var(--theme-color); }
    .search-area.open { top: 50px !important; }
    .navbar-toggler-mobile-icon { font-size: 25px; color: var(--color-dark); font-weight: 500; }
    .navbar .dropdown-menu { border-radius: 0px; padding: 0;}
    .nav-right { display: none; }
    .menushow { overflow: hidden; }
    .navbar-toggler { display: flex; border-radius: 0; }
    .mobile-toggle { width: 35px; height: 35px; margin: 0; cursor: pointer; z-index: 999; display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 0; border: 0 }
    .mobile-toggle.show { background: transparent; }
    .mobile-toggle svg { fill: var(--color-dark); width: 35px; height: 35px; }
    .line { fill: none; stroke: var(--color-dark); stroke-width: 4; transition: stroke-dasharray .6s cubic-bezier(.4, 0, .2, 1), stroke-dashoffset .6s cubic-bezier(.4, 0, .2, 1); }
    .line1 { stroke-dasharray: 60 207; }
    .show .line1 { stroke-dasharray: 90 207; stroke-dashoffset: -134; }
    .line2 { stroke-dasharray: 60 60; }
    .show .line2 { stroke-dasharray: 1 60; stroke-dashoffset: -30; }
    .line3 { stroke-dasharray: 60 207; }
    .show .line3 { stroke-dasharray: 90 207; stroke-dashoffset: -134; }
    .main-menu { position: fixed; top: 50px; right: 0; bottom: 0; width: 380px; z-index: 99; display: flex; align-items: center; flex-direction: column; background: var(--color-white); padding: 20px 15px; will-change: opacity; transform: translateX(120%); transition: transform 0.4s; }
    .main-menu.show { transform: translateX(-0%); transition: transform 0.4s; }
    .main-menu ul.navbar-nav { margin: 0; flex-direction: column; align-items: flex-start !important; width: 100%; padding: 0px 0; }
    .main-menu ul.navbar-nav li {width: 100%;}
}
@media (max-width: 480px) {
    .main-menu {width: 100%;}
}

/*============================
    Mega menu
==============================*/
.navbar .nav-item.mega-menu .dropdown-menu .mega-menu-item {display: flex; gap: 10px; flex-direction: column;}
.navbar .nav-item.mega-menu .dropdown-menu .dropdown-item {display: grid;  grid-template-columns: 100px 1fr;  align-items: center;
  gap: 15px;  border: 1px solid #e6e6e6;  padding: 10px;}
.navbar .nav-item.mega-menu .dropdown-menu .dropdown-item:before {display: none;}
.navbar .nav-item.mega-menu .dropdown-menu .dropdown-item:hover {border-color: var(--theme-color);}
.menu-icon img { height: 4rem;  text-align: center;  margin: 0 auto;  display: block;  object-fit: contain;}
.menu-title {display: flex; flex-direction: column; gap: .25rem;}
.menu-title h6 {font-size: 110%;}
.menu-title p {opacity: 0; margin: 0px 0 -20px;  transition: ease 0.4s; }
.navbar .nav-item.mega-menu .dropdown-menu .dropdown-item:hover .menu-title p {opacity: 0.6; margin-bottom: 0px; transition: ease 0.4s;} 
@media (min-width:992px) {
    .nav-item.mega-menu { position: static; }
    .navbar .nav-item.mega-menu .dropdown-menu { left: 0; background: var(--color-white);   width: 100vw;   margin-left: calc(50% - 50vw); }
    .mega-menu .mega-content { padding: 30px; }
    .mega-menu .mega-content h5 { color: var(--theme-color); font-size: 20px; margin-bottom: 20px; }
    .navbar .nav-item.mega-menu .dropdown-menu .dropdown-item { color: var(--color-dark); }
    .navbar .nav-item.mega-menu .dropdown-menu .dropdown-item::before { left: 0; }
    .menu-about-logo { margin-top: 15px; margin-bottom: 15px; }
    .menu-about-logo img { width: 180px; }
}
@media (max-width:991px) {
    .menu-about-logo { display: none; }
    .mega-menu .mega-content h5 { margin: 15px 0; }
}

/*============================
    Multi level dropdown menu
==============================*/
.navbar .nav-item .dropdown-submenu { position: relative; }
.navbar .nav-item .dropdown-submenu .dropdown-menu::before { display: none; }
.navbar .nav-item .dropdown-submenu a::after { transform: rotate(-90deg); position: absolute; right: 15px; top: 10px; font-weight: 600; }
.navbar .nav-item .dropdown-submenu a:hover { background: transparent; color: var(--color-white); }
.navbar .nav-item .dropdown-submenu .dropdown-menu { top: 120%; left: 100%; opacity: 0; visibility: hidden; }
.navbar .nav-item .dropdown-submenu:hover .dropdown-menu { top: 0; opacity: 1; visibility: visible; }

@media all and (max-width:991px) {
    .navbar .nav-item .dropdown-submenu .dropdown-menu { margin: 0 17px; }
    .navbar .nav-item .dropdown-submenu .dropdown-menu { opacity: unset; visibility: unset; }
    .navbar .nav-item .dropdown-submenu a::after { top: 4px; }
    .navbar .nav-item .dropdown-submenu a:hover { color: var(--theme-color); }
}

/*====================
    Search popup css 
======================*/
.search-popup { position: fixed; left: 0; top: 0; height: 100vh; width: 100%; z-index: 99999; margin-top: -540px; transform: translateY(-100%); background-color: rgba(0, 0, 0, .8); transition: all 1500ms cubic-bezier(0.860, 0.000, 0.070, 1.000); transition-timing-function: cubic-bezier(0.860, 0.000, 0.070, 1.000); }
.sidenav-bar-visible .search-popup { width: 80%; }
.search-active .search-popup { transform: translateY(0%); margin-top: 0; }
.search-popup .close-search { position: absolute; left: 0; right: 0; top: 75%; border: none; margin: 0 auto; margin-top: -200px; text-align: center; background: var(--theme-color); text-align: center; width: 50px; height: 50px; color: var(--color-white); font-size: 20px; cursor: pointer; border-radius: 3px; box-shadow: 0 0 10px rgba(0, 0, 0, 0.05); transition: all 500ms ease; opacity: 0; visibility: hidden; }
.search-popup .close-search:hover { background: var(--theme-color2); }
.search-active .search-popup .close-search { visibility: visible; opacity: 1; top: 50%; transition-delay: 1500ms; }
.search-popup form { position: absolute; max-width: 700px; top: 50%; left: 15px; right: 15px; margin: -35px auto 0; transform: scaleX(0); transform-origin: center; transition: all 300ms ease; }
.search-active .search-popup form { transform: scaleX(1); transition-delay: 1200ms; }
.search-popup .form-group { position: relative; margin: 0px; overflow: hidden; }
.search-popup .form-group input[type="text"], .search-popup .form-group input[type="search"] { position: relative; width: 100%; height: 65px; outline: none; border-radius: 3px; border: none; padding: 0 100px 0 35px; transition: all 500ms ease; text-transform: capitalize; }
.search-popup .form-group input[type="submit"], .search-popup .form-group button { position: absolute; right: 10px; top: 9px; background: var(--theme-color); text-align: center; font-size: 20px; color: var(--color-white); padding: 6px 18px; border-radius: 3px; border: none; cursor: pointer; transition: all 500ms ease; }
.search-popup .form-group input[type="submit"]:hover, .search-popup .form-group button:hover { background: var(--theme-color2); color: var(--color-white); }

/*====================
    Main section css 
======================*/
.main { margin-top: 0rem; }

/*====================
    Hero css 
======================*/
.hero-section { position: relative; }
.hero-single { padding-top: 120px; padding-bottom: 120px; background-position: center !important; background-size: cover !important; background-repeat: no-repeat !important; display: flex; align-items: center; justify-content: center; position: relative; z-index: 1; }
.hero-single::before { content: ""; position: absolute; width: 100%; height: 100%; left: -0.5px; top: 0; background: rgba(11, 28, 57, .7); z-index: -1; }
.hero-single .hero-content { height: 100%; }
.hero-single .hero-content .hero-title { color: var(--color-white); font-size: 50px; font-weight: 700; margin: 20px 0; text-transform: capitalize; }
.hero-single .hero-content .hero-title span { color: var(--theme-color); }
.hero-single .hero-content .hero-sub-title { display: inline-block; color: var(--theme-color); font-size: 24px; letter-spacing: 2px; font-weight: 600; position: relative; text-transform: uppercase; border-bottom: 3px solid var(--theme-color); }
.hero-single .hero-content p { color: var(--color-white); line-height: 30px; font-size: 18px; font-weight: 400; margin-bottom: 20px; }
.hero-single .hero-content .hero-btn { gap: 1rem; display: flex; margin-top: 35px; justify-content: start; }
.hero-single .hero-img::before { content: ""; position: absolute; width: 500px; height: 500px; background: var(--theme-color); right: 100px; bottom: 0px; border-radius: 50%; filter: blur(150px); z-index: -1; }
.hero-single .hero-img { position: absolute; right: 100px; bottom: 120px; width: 50%; z-index: -1; }
.hero-slider.owl-theme .owl-nav { margin-top: 0px; }
.hero-slider.owl-theme .owl-nav [class*=owl-] { color: var(--color-white); font-size: 25px; margin: 0; padding: 0; background: var(--slider-arrow-bg); display: inline-block; cursor: pointer; height: 55px; width: 55px; line-height: 55px; border-radius: 50px; text-align: center; transition: var(--transition); }
.hero-slider.owl-theme .owl-nav [class*=owl-]:hover { background: var(--color-white); color: var(--theme-color); }
.hero-slider.owl-theme .owl-nav .owl-prev { left: 40px; }
.hero-slider.owl-theme .owl-nav .owl-next { right: 40px; }
.hero-slider.owl-theme .owl-nav .owl-prev, .hero-slider.owl-theme .owl-nav .owl-next { position: absolute; top: 50%; transform: translate(0, -50%); }
@media all and (max-width:1199px) {
    .hero-single {padding-top: 80px; padding-bottom: 80px}
    .hero-single .hero-content .hero-title { font-size: 30px; }
    .hero-slider.owl-theme .owl-nav .owl-prev, .hero-slider.owl-theme .owl-nav .owl-next { top: unset; bottom: 30px !important; }
    .hero-slider.owl-theme .owl-nav .owl-prev { left: unset; right: 120px; }
    .hero-slider.owl-theme .owl-nav .owl-next { right: 40px; }
}
@media all and (max-width:991px) {
    .hero-single .hero-content .hero-title { font-size: 36px; }
    .hero-single .hero-img { position: relative; width: 100%; right: unset; bottom: unset; margin-top: 50px; }
    .hero-single .hero-img::before { width: 250px; height: 250px; }
}
@media all and (max-width:767px) {
    .hero-single .hero-content .hero-sub-title { font-size: 16px; }
    .hero-single .hero-content .hero-btn { gap: 1rem; }
}

/*===================
    Play btn
=====================*/
.play-btn { display: inline-block; padding: 0; height: 75px; width: 75px; line-height: 75px; font-size: 20px; text-align: center; background: var(--theme-color); color: var(--color-white) !important; position: absolute; border-radius: 50%; z-index: 1; }
.play-btn i::after { content: ""; position: absolute; height: 100%; width: 100%; top: 0; left: 0; z-index: -1; background-color: var(--theme-color); border-radius: 50px; animation: ripple-wave 1s linear infinite; -webkit-transform: scale(1); transform: scale(1); transition: all 0.5s ease-in-out; }
@keyframes ripple-wave {
    0% { opacity: 0.8; -webkit-transform: scale(0.9); transform: scale(0.9); }
    100% { opacity: 0; -webkit-transform: scale(2); transform: scale(2); }
}

/*====================
    About css 
======================*/
.about-left { position: relative; padding-right: 20px; z-index: 1; }
.about-left::before { content: ""; position: absolute; bottom: -10px; right: 10px; width: 250px; height: 250px; background: var(--theme-color2); clip-path: polygon(100% 0, 0% 100%, 100% 100%); border-radius: 0 0 0px 0; z-index: -1; }
.about-left::after { content: ""; position: absolute; top: -25px; left: -25px; width: 250px; height: 70%; border: 12px solid var(--theme-color); border-radius: 20px; z-index: -1; display: none;}
.about-left img { width: 100%; border-radius: 0px; }
.about-experience { position: absolute; bottom: 80px; left: -25px; text-align: center; background: var(--theme-color); padding: 15px 20px 15px 15px; color: var(--color-white); border-radius: 0 10px 10px 10px; box-shadow: 0 0 40px 5px rgb(0 0 0 / 10%); }
.about-experience-icon { color: var(--theme-color); font-size: 65px; width: 90px; height: 90px; line-height: 70px; text-align: center; margin: auto; background: var(--color-white); border-radius: 50px; margin-bottom: 5px; }
.about-experience-icon img { width: 65px; }
.about-right { position: relative; display: block; }
.about-content { margin-top: 30px; padding-bottom: 20px; border-bottom: 1px solid var(--border-info-color); }
.about-item { position: relative; display: flex; gap: 12px; margin-bottom: 25px; }
.about-item-icon { width: 70px; height: 70px; line-height: 58px; text-align: center; margin-bottom: 12px; background: var(--theme-color); border-radius: 50px; font-size: 45px; color: var(--theme-color); box-shadow: -5px 5px 0 var(--theme-color-light); }
.about-item-icon img { width: 45px; filter: brightness(0) invert(1); }
.about-item-content { flex: 1; }
.about-item-content h5 { font-size: 22px; margin-bottom: 5px; }
.about-quote { position: relative; color: var(--color-dark); padding: 20px 22px; background: var(--theme-color-light); border-radius: 20px; }
.about-quote i { position: absolute; font-size: 45px; color: var(--theme-color); right: 15px; bottom: -15px; }
.about-bottom { display: flex; flex-wrap: wrap; gap: 25px; margin-top: 30px; }
.about-phone { display: flex; align-items: center; gap: 12px; }
.about-phone .icon { width: 48px; height: 48px; line-height: 48px; background: var(--theme-color2); color: var(--color-white); border-radius: 50px; text-align: center; font-size: 22px; box-shadow: -5px 5px 0 var(--theme-color-light); }
.about-phone .number { line-height: 1; }
.about-phone .number span { color: var(--theme-color2); font-weight: 500; }
.about-phone .number h6 { font-size: 20px; margin-top: 8px; }
.about-phone .number h6 a { color: var(--theme-color); }
@media all and (max-width:991px) {
    .about-right { margin-top: 70px; }
}
@media all and (max-width:767px) {
    .about-left::after { left: -20px; }
    .about-item { margin-top: 30px; }
}
.choose-us-5 { overflow: hidden;}
.choose-us-5 .choose-content-5 .choose-item-wrap .choose-items { display: flex; align-items: center; }
.choose-us-5 .choose-content-5 .choose-item-wrap .choose-items .choose-item .title {color: #232323; font-style: normal; font-weight: 600; font-size: 22px;   margin-bottom: 0; }
@media only screen and (max-width:767px) {
    .choose-us-5 .choose-content-5 .choose-item-wrap .choose-items .choose-item .title { font-size: 18px;  margin-bottom: 10px; }
}
.choose-us-5 .choose-content-5 .choose-item-wrap .choose-items .choose-item-2 { padding-right: 20px; border-right: 1px solid #DDDDDD; }
.choose-us-5 .choose-content-5 .choose-item-wrap .choose-items .choose-item-3 { padding-left: 20px; }
.choose-us-5 .choose-content-5 .choose-item-wrap .choose-items-2 { border-bottom: 1px solid #DDDDDD; }
.choose-us-5 .choose-content-5 .choose-item-wrap .choose-items .choose-item-2 p {margin-bottom: 0}
.choose-us-5 .choose-img-wrap { display: flex; justify-content: end; }
.choose-us-5 .right-img { width: 100%; position: relative; width: 50vw;  margin-right: calc(-50vw + 50%);}
.choose-us-5 .left-img { width: 100%; position: relative; width: 50vw;    margin-left: calc(-50vw + 100%);}
.choose-us-5 .right-img img, .choose-us-5 .left-img img { width: 100%; height: 100%; object-fit: cover; border-radius: 0; }
@media (max-width: 767px) {
    .choose-us-5 .right-img, .choose-us-5 .left-img {width: 100%;  margin: 0;}
    .choose-us-5 .choose-content-5 .choose-item-wrap .choose-items .choose-item-2 {padding-right: 10px;}
    .choose-us-5 .choose-content-5 .choose-item-wrap .choose-items .choose-item-3 {padding-left: 10px;}
}

/* ========================
    CTA
=========================== */
.cta-wrapper-5 { display: flex;   justify-content: space-between; background: var(--bs-white); box-shadow: 0px 0px 60px rgba(0, 0, 0, 0.05); border-radius: 20px; padding: 0; }
.light-cta-wrapper {background: rgba(255, 255, 255, .8);}
.cta-wrapper-5 .media-5 { position: relative; display: flex;}
.cta-wrapper-5 .media-5 .thumb-5 img { width: 100%; height: 100%; border-radius: 0 20px 20px 0; clip-path: polygon(0 0, 100% 0, 100% 100%, 20% 100%); object-fit: cover; }
.cta-wrapper-5 .media-5 .icon { background: var(--theme-color); width: 100px; height: 100px; position: absolute; top: 35%; left: 0; display: flex; align-items: center; justify-content: center; border-radius: 50%; border: 8px solid var(--bs-white); }

@media (max-width: 767px) {
    .cta-wrapper-5 { flex-wrap: wrap;  display: block;  }
    .cta-wrapper-5 .content-5 { padding: 60px 15px 60px 30px;}
}
.pro-box {height: 100%; display: flex;  flex-direction: column;}

/* ========================
    Gallery css 
=========================== */
.gallery-item { position: relative; width: 100%; height: 100%; }
.gallery-img { height: 100%; width: 100%;  }
.gallery-img img { width: 100%; object-fit:cover; height: 100%; border-radius: 0px; }
.gallery-content { position: absolute; width: 100%; height: 100%; top: 0; left: 0; display: flex; flex-direction: column;  gap: 2rem; align-items: center;  justify-content: center; transform: scale(0); transition: 0.5s; opacity: 0; z-index: 1; visibility: hidden;}
.gallery-box {position: relative;}
.gallery-box:hover .gallery-content { opacity: 1; visibility: visible; transform: scale(1); }
.gallery-content::before { content: ""; position: absolute; left: 10px; top: 10px; right: 10px; bottom: 10px; background: var(--theme-color); border-radius: 0px; opacity: 0; z-index: -1; visibility: hidden; transition: 0.1s; }
.gallery-box:hover .gallery-content::before { opacity: 0.7; visibility: visible }

.popup-gallery { grid-template-columns: repeat(2,1fr);  grid-auto-rows: 415px;  display: grid;  gap: 16px;  grid-auto-flow: row;}
/*.popup-gallery .gallery-box:nth-child(6n), .popup-gallery .gallery-box:nth-child(6n+1) { grid-column: span 2/span 2;}*/

.install-box, .resources-box {height: 100%; display: block;}
.install-box:hover {box-shadow: 0 0 0 6px var(--theme-color) !important;}
.install-box-img {padding-bottom: 110%}
.resources-box-icon {width: 60px; height: 60px; display: flex; align-items: center; justify-content: center; font-size: 24px; border: 2px solid var(--theme-color); border-radius: 50%; color: var(--theme-color); margin: 0 auto; margin-bottom: 15px;}
.resources-box:hover {background: var(--theme-color);}
.resources-box:hover .resources-box-icon {background: var(--color-white);}
.resources-box:hover .resources-box-desc * {color: var(--color-white);}
.pdf-row { padding: 5px 0;}
.pdf-row:not(:last-child) {border-bottom: 1px solid #ccc;}
 
@media (max-width: 767px) {
    .popup-gallery {grid-template-columns: repeat(2, 1fr); grid-auto-rows: 270px;}
    .popup-gallery .gallery-box:nth-child(6n), .popup-gallery .gallery-box:nth-child(6n+1) { grid-column: unset;}
}
@media (max-width: 480px) {
    .popup-gallery {grid-template-columns: repeat(1, 1fr);} 
}


/*====================
    Testimonial css 
======================*/
.testimonial-area { position: relative; }
.ts-bg { background-color: rgba(242, 242, 242, 1.0); background-repeat: no-repeat; background-size: cover; background-position: center; background-attachment: fixed; position: relative; }
/*.ts-bg::before { content: ""; position: absolute; left: 0; top: 0; width: 100%; height: 100%; background: rgba(0, 0, 0, .7); }*/
.testimonial-single { background: var(--color-white); border-radius: 0px; padding: 25px 25px; margin: 6px; position: relative; }
.testimonial-single::before { content: ""; position: absolute; left: 20px; right: 20px; bottom: -6px; height: 6px; border-radius: 0 0 10px 10px; background: var(--theme-color); }
.testimonial-content { display: flex; align-items: center; gap: 10px; margin-top: 20px; }
.testimonial-quote p { color: var(--color-dark); }
.testimonial-author-info { margin: 15px 0 10px 0; }
.testimonial-author-img { width: 75px; padding: 4px; border-radius: 50px; border: 2px dashed var(--theme-color); }
.testimonial-author-img img { border-radius: 50%; }
.testimonial-author-info h4 { font-size: 20px; color: var(--color-dark); margin-bottom: 2px; }
.testimonial-author-info p { color: var(--theme-color); font-weight: 500; }
.testimonial-quote-icon { position: absolute; right: 30px; bottom: 0px; color: var(--theme-color); font-size: 70px; }
.testimonial-area .owl-dots { text-align: center; margin-top: 30px; }
.testimonial-area .owl-dots .owl-dot span { background: var(--theme-color); border-radius: 50px; margin: 5px; width: 8px; height: 8px; display: inline-block; transition: var(--transition); }
.testimonial-area .owl-dots .owl-dot.active span { background-color: var(--theme-color); width: 20px; }
.testimonial-rate { color: var(--theme-color); margin-bottom: 15px; }
.testimonial-area2.ts-bg { padding-top: 120px; background-attachment: fixed; }
.t-date { font-size: 80%;}

/*====================
    Cta css 
======================*/
.cta-area { position: relative; background-image: url(../images/cta/01.jpg); background-repeat: no-repeat; background-position: center; background-size: cover; }
.cta-content { position: relative; padding: 30px 40px; z-index: 1; }
.cta-content::before { content: ""; position: absolute; left: 0; top: 0; width: 100%; height: 100%; background: var(--theme-color); border-radius: 25px; opacity: .9; z-index: -1; }
.cta-content::after { content: ""; position: absolute; left: 8px; top: 8px; bottom: 8px; right: 8px; border: 8px double var(--color-white); border-radius: 20px; z-index: -1; }
.cta-content h1 { color: var(--color-white); font-size: 45px; }
.cta-content p { color: var(--color-white); margin-top: 15px; margin-bottom: 30px; font-size: 18px; }
.cta-btn .theme-btn { background: var(--color-white); color: var(--color-dark); }
.cta-btn .theme-btn:hover { color: var(--color-white); }

/* ===================
    project css 
====================== */
.project-item { position: relative; background: var(--color-white); border-radius: 8px; padding: 20px 20px 20px 20px; margin-bottom: 25px; box-shadow: var(--box-shadow); }
.project-location { margin-bottom: 12px; }
.project-location i { color: var(--theme-color); }
.project-img-area {display: grid; grid-template-columns: 1fr 1fr; gap: 15px; position: relative; margin-bottom: 20px;}
.project-img span { background: var(--color-dark);  z-index: 2;  display: inline-block;  position: relative;  color: var(--color-white);  padding: 3px 15px;  font-weight: 500;  letter-spacing: .5px;}
.project-img { position: relative; overflow: hidden; border-radius: 0px; padding-bottom: 130%; }
.project-img img { border-radius: 0px; box-shadow: var(--box-shadow); position: absolute; top:0; left:0; width:100%; height:100%; object-fit:cover; }
.project-meta { display: flex; gap: 15px; margin: 14px 0; }
.project-meta i { color: var(--theme-color); margin-right: 5px; }
.project-title { margin-bottom: 10px; }
.project-title:hover { color: var(--theme-color); }
.project-btn { margin-top: 20px; }
.project-btn .theme-btn { padding: 10px 15px; }
.project-slider .project-item { box-shadow: none; margin-bottom: 0; }
.project-slider .owl-dots { text-align: center; margin-top: 40px; }
.project-slider .owl-dots .owl-dot span { background: var(--theme-color); border-radius: 50px; margin: 5px; width: 8px; height: 8px; display: inline-block; transition: var(--transition); }
.project-slider .owl-dots .owl-dot.active span { background-color: var(--theme-color); width: 20px; }
.project-slider .owl-nav { width: 100%; opacity: 0; visibility: hidden; transition: var(--transition); margin: 0; }
.project-slider:hover .owl-nav { display: block; opacity: 1; visibility: visible; }
.project-slider .owl-nav button { height: 48px; width: 48px; line-height: 45px !important; top: 50%; background: var(--theme-color) !important; color: var(--color-white) !important; font-size: 25px !important; position: absolute; border: none; margin: 0; padding: 0; transition: var(--transition); border-radius: 100%; margin-top: -24px; }
.project-slider .owl-nav button:hover { background: var(--theme-color2) !important; }
.project-slider .owl-nav .owl-prev { left: -75px; }
.project-slider .owl-nav .owl-prev:hover { left: -65px; }
.project-slider .owl-nav .owl-next { right: -75px; }
.project-slider .owl-nav .owl-next:hover { right: -65px; }

/* ===================
    project single css 
====================== */
.project-details img { border-radius: 10px; }
.project-map { margin-bottom: 20px; }
.project-map iframe { border-radius: 10px; height: 400px; width: 100%; }
.project-content-single { margin-bottom: 20px; }
.project-content-single h5 { margin-bottom: 5px; }
.project-content-single i { color: var(--theme-color); margin-right: 5px; }
.project-single-info p { margin-bottom: 20px; }
.project-author-info { display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; gap: 10px; margin-top: 50px; }
.project-author-info img { border-radius: 50%; }
.project-author-info h5 { margin-top: 5px; }



/*====================
    Blog css 
======================*/
.blog-area { position: relative; }
.blog-item { position: relative; margin-bottom: 25px; padding: 20px 20px 15px 20px; border-radius: 0px; background: var(--color-white); box-shadow: var(--box-shadow); transition: var(--transition); }
.blog-item-img { position: relative; overflow: hidden; border-radius: 0px; }
.blog-item-img img { border-radius: 0px; }
.blog-item:hover .blog-item-img img { transform: scale(1.1); }
.blog-date { position: absolute; padding: 4px 12px 4px 12px; right: -10px; top: 40px; font-weight: 500; font-size: 85%; background: var(--theme-color); color: var(--color-white); border-radius: 0px; box-shadow: var(--box-shadow); z-index: 2; }
.blog-item-info { position: relative; }
.blog-item-meta ul { margin: 0; padding: 0; margin: 12px 0; border-bottom: 1px solid var(--border-info-color); padding-bottom: 14px; }
.blog-item-meta ul li { display: inline-block; margin-right: 15px; font-weight: 500; position: relative; color: var(--color-dark); }
.blog-item-meta ul li i { margin-right: 5px; color: var(--theme-color); }
.blog-item-meta a:hover { color: var(--theme-color); }
.blog-title { font-size: 22px; margin-bottom: 15px; line-height: 1.2; text-transform: capitalize; }
.blog-item-info p { margin-bottom: 16px; }
.blog-item-info .theme-btn { margin-top: 15px; padding: 11px 15px; }
.blog-item-info h4 a { color: var(--color-dark); }
.blog-item-info h4 a:hover { color: var(--theme-color); }

/*========================
    Blog single css
==========================*/
.blog-single-content img { border-radius: 0px; }
.blog-thumb-img { margin-bottom: 20px; }
.blog-meta { display: flex; justify-content: space-between; align-items: center; margin-bottom: 20px; }
.blog-meta .blog-meta-left ul { display: flex; align-items: center; gap: 20px; }
.blog-meta .blog-meta-left ul li { font-weight: 500; }
.blog-meta i { margin-right: 5px; color: var(--theme-color); }
.blog-meta a { color: var(--body-text-color); font-weight: 500; }
.blog-meta a:hover { color: var(--theme-color); }
.blog-details-title { font-size: 34px; color: var(--color-dark); }
.blockqoute { background: var(--theme-bg-light); border-left: 5px solid var(--theme-color); padding: 30px; font-size: 17px; font-style: italic; margin: 20px 0; border-radius: 0px; }
.blockqoute-author { margin-top: 20px; padding-left: 60px; position: relative; color: var(--color-dark); }
.blockqoute-author::before { content: ""; position: absolute; height: 2px; width: 40px; background: var(--theme-color); left: 0; top: 10px; }
.blog-details-tags { display: flex; align-items: center; gap: 20px; }
.blog-details-tags h5 { color: var(--color-dark); }
.blog-details-tags ul { display: flex; align-items: center; gap: 15px; }
.blog-details-tags ul a { background: var(--theme-bg-light); color: var(--color-dark); padding: 6px 18px; border-radius: 6px; transition: var(--transition); }
.blog-details-tags ul a:hover { background: var(--theme-color); color: var(--color-white); }
.blog-author { display: flex; justify-content: start; align-items: center; background: var(--color-white); border-radius: 10px; box-shadow: var(--box-shadow); margin: 50px 0; padding: 20px; }
.blog-author-img { width: 320px; }
.author-name { font-size: 22px; color: var(--theme-color); margin: 8px 0; }
.author-info { padding: 0 20px; }
.author-social { margin-top: 10px; }
.author-social a { width: 35px; height: 35px; line-height: 31px; text-align: center; border: 2px solid var(--theme-color); border-radius: 50px; margin-right: 5px; color: var(--theme-color); transition: var(--transition); }
.author-social a:hover { color: var(--color-white); background: var(--theme-color); }
.blog-comments { margin-bottom: 50px; }
.blog-comments h3 { color: var(--color-dark); }
.blog-comments-wrapper { margin: 30px 0; }
.blog-comments-single { display: flex; justify-content: start; align-items: flex-start; margin-top: 50px; }
.blog-comments-single img { border-radius: 50%; }
.blog-comments-content { padding: 0 0 0 20px; }
.blog-comments-content span { font-size: 14px; color: var(--theme-color); font-weight: 500; }
.blog-comments-content a { font-weight: 500; margin-top: 5px; color: var(--theme-color); }
.blog-comments-content a:hover { color: var(--color-dark); }
.blog-comments-content h5 { color: var(--color-dark); }
.blog-comments-reply { margin-left: 50px; }
.blog-comments-form { padding: 30px; margin-top: 50px; border-radius: 10px; background: var(--theme-bg-light); }
.blog-comments-form h3 { margin-bottom: 20px; }
.blog-comments-form .form-group { margin-bottom: 20px; }
.blog-comments-form .form-control { padding: 15px 20px; border-radius: 8px; box-shadow: none; transition: var(--transition); }
.blog-comments-form .form-control:focus { border-color: var(--theme-color); }
@media all and (max-width:767px) {
    .blog-meta { flex-direction: column; font-size: 15px; }
    .blog-meta .blog-meta-left ul { gap: 10px; }
    .blog-details-tags { flex-direction: column; align-items: flex-start; }
    .blog-author { flex-direction: column; text-align: center; padding: 25px; }
    .author-info { margin-top: 25px; }
    .blog-comments-single { flex-direction: column; text-align: center; padding: 30px 0px; box-shadow: var(--box-shadow); margin-bottom: 30px; border-radius: 10px; }
    .blog-comments-single img { margin: 0 auto 20px auto; }
    .blog-comments-reply { margin-left: 0px; }
}

/*=======================
    Widget sidebar css
=========================*/
.widget { background: var(--theme-bg-light); padding: 30px; margin-bottom: 30px; border-radius: 0px; }
.widget .widget-title { padding-bottom: 10px; margin-bottom: 30px; position: relative; font-size: 22px; color: var(--color-dark); }
.widget .widget-title::before { position: absolute; content: ''; width: 15px; border-bottom: 3px solid var(--theme-color); bottom: 0; left: 0; }
.widget .widget-title::after { position: absolute; content: ''; width: 30px; border-bottom: 3px solid var(--theme-color); bottom: 0; left: 22px; }
.widget .search-form .form-control { padding: 12px 15px 12px 15px; border-radius: 8px; box-shadow: none; }
.widget .search-form { position: relative; }
.widget .search-form .form-control:focus { border-color: var(--theme-color); }
.widget .search-form button { position: absolute; right: 0; top: 0; font-size: 18px; padding: 8px 18px 6px 18px; background: transparent; border: none; color: var(--theme-color); }
.widget .category-list a { display: block; padding: 10px 0; font-weight: 500; border-bottom: 1px solid #ced4da; transition: var(--transition); }
.widget .category-list a:last-child { margin-bottom: 0px; border-bottom: none; }
.widget .category-list a:hover { padding-left: 10px; color: var(--theme-color); }
.widget .category-list a i { margin-right: 5px; color: var(--theme-color); }
.widget .category-list a span { float: right; }
.widget .recent-post-single { display: flex; justify-content: start; align-items: center; margin-bottom: 20px; }
.widget .recent-post-img { margin-right: 20px; width: 100px; height:80px; }
.widget .recent-post-img img {  border-radius: 0px; width: 100%; height:100%; object-fit:cover; }
.widget .recent-post-bio h6 {  font-weight: 500; text-transform: capitalize; }
.widget .recent-post-bio {width: calc(100% - 120px);}
.widget .recent-post-bio span { font-size: 14px; color: var(--theme-color); font-weight: 500; }
.widget .recent-post-bio span i { margin-right: 5px; }
.widget .recent-post-bio h6 a:hover { color: var(--theme-color); }
.widget .social-share-link a { width: 40px; height: 40px; line-height: 40px; border: 2px solid var(--theme-color); color: var(--theme-color); text-align: center; margin-right: 5px; border-radius: 0px; transition: var(--transition); }
.widget .social-share-link a:hover { background: var(--theme-color); color: var(--color-white); }
.widget .tag-list a { background: var(--color-white); color: var(--color-dark); padding: 5px 15px; margin-bottom: 10px; margin-right: 10px; border-radius: 6px; display: inline-block; transition: var(--transition); }
.widget .tag-list a:hover { background-color: var(--theme-color); color: var(--color-white); }

/*===================
     Contact us css 
=====================*/
.contact-wrapper { position: relative; background: var(--color-white); border-radius: 10px; box-shadow: var(--box-shadow); z-index: 1; }
.contact-img { position: relative; padding-left: 20px; }
.contact-img::before { content: ""; position: absolute; left: 0; top: 0; width: 50px; height: 100%; background: var(--theme-color); border-radius: 10px 0 0 10px; clip-path: polygon(100% 0, 20% 50%, 100% 100%, 0 100%, 0 0); z-index: -1; }
.contact-img img { width: 100%; clip-path: polygon(100% 0, 100% 100%, 10% 100%, 0 50%, 10% 0); }
.contact-form { padding: 25px; }
.contact-form-header { margin-bottom: 30px; }
.contact-form-header h2 { font-size: 30px; font-weight: 700; margin-bottom: 10px; color: var(--color-dark); }
.contact-form .form-group { margin-bottom: 25px; }
.contact-form .form-group .form-control { padding: 15px 20px; border-radius: 3px; box-shadow: none; transition: var(--transition); }
.contact-form .form-group .form-control:focus { border-color: var(--theme-color); }
.contact-map { margin-bottom: -9px; }
.contact-map iframe { width: 100%; height: 450px; }
.contact-content { margin-bottom: 50px; }
.contact-info { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 35px; padding: 30px 20px; position: relative; margin-bottom: 25px; border-radius: 10px; background: var(--color-white); box-shadow: var(--box-shadow); transition: var(--transition); }
.contact-info::before { content: ""; position: absolute; left: 20px; right: 20px; bottom: -8px; background: var(--theme-color); clip-path: polygon(20% 0%, 80% 0%, 100% 100%, 0% 100%); height: 20px; z-index: -1; }
.contact-info-icon { font-size: 35px; color: var(--color-white); width: 70px; height: 70px; line-height: 70px; text-align: center; position: relative; border-radius: 30px; background: var(--theme-color); }
.contact-info-icon::before { content: ""; position: absolute; left: -15px; right: -15px; top: -15px; bottom: -15px; border: 3px solid var(--theme-color); border-radius: 40px; }
.contact-info h5 { font-size: 20px; font-weight: 600; margin-bottom: 8px; color: var(--color-dark); }
.contact-info p { color: var(--color-dark); font-weight: 500; font-size: 16px; }
@media all and (max-width:768px) {
    .contact-content { margin-bottom: 50px; }
}



/*====================
    Faq css 
======================*/
.faq-area .accordion {--bs-accordion-btn-padding-x: 0; --bs-accordion-body-padding-x: 0}
.faq-area .accordion-item { border: none; border-bottom: 1px solid var(--bs-border-color); margin-bottom: 0px; background: none; border-radius: 0px !important;  }
.faq-area .accordion-item span { width: 35px; height: 35px; margin-right: 15px; }
.faq-area .accordion-item i { width: 30px; height: 30px; line-height: 30px; border-radius: 50px; background: var(--theme-color); text-align: center; color: var(--color-white); font-size: 14px;}
.faq-area .accordion-button:not(.collapsed) { color: var(--theme-color); background: transparent; box-shadow: inset 0 -1px 0 rgb(0 0 0 / 13%); }
.accordion-button { border-radius: 0px !important; background: transparent; font-weight: 500; font-size: 18px; color: var(--color-dark); box-shadow: none !important; }
.accordion-button:not(.collapsed) { border-bottom: 1px solid var(--theme-color); }
.accordion-button::after {content: "\2b"; font-family: "Font Awesome 6 Pro"; font-weight: 400; line-height: 1;  background: none !important;}
.accordion-button:not(.collapsed)::after {content: "\f068"; background: none; transform: none;}

.faq-left-icon .accordion-button {flex-direction: row-reverse; justify-content: flex-end;}
.faq-left-icon .accordion-button::after {margin-left: 0; margin-right: 15px;}
.faq-left-icon .accordion-body {padding-left: 35px;}

@media all and (max-width:991px) {
    .faq-right { margin-bottom: 50px; }
    .accordion-button { font-size: 16px; }
}

/*====================
    Breadcrumb css
======================*/
.site-breadcrumb { display: flex; flex-direction: column; align-items: center;background-repeat: no-repeat !important; background-position: center !important; background-size: cover !important; position: relative; padding-top: 100px; padding-bottom: 80px; z-index: 1; /*border-top: 1px solid #e6e6e6; */  background: #f7f7f7;}
.site-breadcrumb-white::before { content: ""; position: absolute; height: 100%; width: 100%; top: 0; left: 0; background: var(--hero-overlay-color); opacity: 0.4; z-index: -1; }
.site-breadcrumb .breadcrumb-title { font-size: 45px; color: var(--color-dark); font-weight: 700; margin-bottom: 10px; text-transform: capitalize; }
.site-breadcrumb .breadcrumb-menu { position: relative; z-index: 1; display: flex; flex-wrap: wrap;}
.site-breadcrumb .breadcrumb-menu li { position: relative; display: inline-block; color: var(--color-white); font-weight: 500; text-transform: capitalize; }
.site-breadcrumb .breadcrumb-menu li a { color: var(--color-dark); transition: all 0.5s ease-in-out; }
.site-breadcrumb .breadcrumb-menu li::after { content: "/"; font-family: 'Font Awesome 6 Pro'; padding: 0 10px; text-align: center; font-size: 16px; color: var(--color-dark); }
.site-breadcrumb .breadcrumb-menu li:last-child:after {  display: none; }
.site-breadcrumb .breadcrumb-menu li a:hover { color: var(--theme-color); }
.site-breadcrumb .breadcrumb-menu li.active { color: var(--theme-color); }

.site-breadcrumb-white .breadcrumb-title, .site-breadcrumb-white .breadcrumb-menu li, .site-breadcrumb-white .breadcrumb-menu li::after, .site-breadcrumb-white .breadcrumb-menu li a {color: var(--bs-white);}

@media (max-width:991px) {
    .site-breadcrumb .breadcrumb-menu {font-size: 14px}
    .site-breadcrumb .breadcrumb-title {font-size: 36px;}
    .site-breadcrumb .breadcrumb-menu li::after {padding: 0 5px;}
}

/*====================
    Pagination css 
======================*/
.pagination { display: flex; justify-content: center; align-items: center; margin-top: 40px; }
.pagination .page-link { border: none; background: var(--bs-border-color-translucent); color: var(--color-dark); margin: 0 10px; border-radius: 0px !important; width: 40px; height: 40px; line-height: 28px; text-align: center; transition: var(--transition); }
.pagination .page-link:hover, .pagination .page-item.active .page-link { background: var(--theme-color); color: var(--color-white); }

/*====================
    Auth css 
======================*/
.login-form { position: relative; padding: 40px; border-radius: 10px; background: var(--color-white); box-shadow: var(--box-shadow); }
.login-form::before { content: ""; position: absolute; left: 0; top: 50px; bottom: 50px; width: 4px; background: var(--theme-color); }
.login-form .login-header { text-align: center; margin-bottom: 20px; padding-bottom: 20px; border-bottom: 1px solid var(--border-info-color); }
.login-form .login-header img { width: 200px; margin-bottom: 10px; }
.login-form .login-header h3 { color: var(--theme-color); margin-bottom: 5px; font-weight: 800; }
.login-form .login-header p { font-size: 20px; }
.login-form .login-footer { margin-top: 25px; }
.login-form .login-footer p { text-align: center; }
.login-form .login-footer a { color: var(--theme-color); transition: .5s; }
.login-form .login-footer a:hover { color: var(--theme-color2); }
.login-form .form-group { margin-bottom: 20px; }
.login-form label { color: var(--color-dark); margin-bottom: 5px; }
.login-form .form-group .form-control { border: 1px solid #e8e8e8; border-radius: 8px; padding: 12px 18px; box-shadow: none; transition: .5s; }
.login-form .form-group .form-control:focus { border-color: var(--theme-color); }
.login-form .form-check-input { box-shadow: none; }
.login-form .form-check-input:focus { border-color: var(--theme-color); }
.login-form .forgot-pass { color: var(--theme-color); transition: .5s; }
.login-form .forgot-pass:hover { color: var(--theme-color2); }
.login-form .theme-btn { width: 100%; }
.login-form .theme-btn::before { width: 420px; height: 420px; }
.login-form .theme-btn i { margin-right: 5px; }
.login-form .form-check-input { margin-top: 6.3px; }
.login-form .form-check-label a { color: var(--theme-color); transition: .5s; }
.login-form .form-check-label a:hover { color: var(--theme-color); }
.form-check-input:checked { background-color: var(--theme-color); border-color: var(--theme-color); }
.social-login { border-top: 1px solid #F1F1F1; margin-top: 15px; }
.social-login p { margin: 10px 0; }
.social-login-list { text-align: center; }
.social-login-list a { width: 40px; height: 40px; line-height: 40px; background: var(--theme-color); border-radius: 50px; margin: 5px; }
.social-login-list a i { color: var(--color-white); }
.social-login-list a:hover { background: var(--color-dark); }
@media only screen and (max-width:991px) {
    .login-form { padding: 40px 20px; }
}



/*====================
    Error css 
======================*/
.error-wrapper { text-align: center; }
.error-wrapper h1 { font-size: 250px; letter-spacing: 5px; font-weight: bold; color: var(--theme-color); }
.error-wrapper h1 span { color: var(--color-dark); }
.error-wrapper h2 { margin-top: 30px; margin-bottom: 10px; }
.error-wrapper img { width: 100%; }
.error-wrapper .theme-btn { margin-top: 30px; }
@media all and (max-width:767px) {
    .error-wrapper h1 { font-size: 160px; }
}

/*====================
    Terms/privacy css 
====================== */
.terms-content:not(:last-child) { margin-bottom: 54px; }
.terms-content:first-child { margin-top: -3px; }
.terms-content .terms-list { margin-top: 37px; }
.terms-content h3 { margin-bottom: 23px; position: relative; }
.terms-content p:not(:last-child) { margin-bottom: 26px; }
.terms-list li:not(:last-child) { margin-bottom: 16px; }



/*====================
    Footer css 
======================*/
.footer-area { background: var(--footer-bg); position: relative; z-index: 1;float: left;  width: 100%; }
.footer-shape { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); opacity: .05; z-index: -1; }
.footer-widget-box { margin-bottom: 20px; }
.footer-widget { position: relative; z-index: 1; }
.footer-logo img { width: 220px; margin-bottom: 25px; }
.copyright { position: relative; }
.copyright .copyright-wrapper { padding: 25px 0; border-top: 1px solid var(--border-white-color); }
.copyright .footer-menu { margin: 0; padding: 0; text-align: right; }
.copyright .footer-menu li { display: inline-block; margin-left: 25px; font-size: 16px; }
.copyright .footer-menu li a { color: var(--footer-text-color); transition: var(--transition); }
.copyright .footer-menu li a:hover { color: var(--theme-color); }
.copyright .copyright-text { color: var(--footer-text-color); margin-bottom: 0px; font-size: 16px; }
.copyright .copyright-text a { color: var(--theme-color); font-weight: 500; }
.footer-widget-title { color: var(--color-white); position: relative; padding-bottom: 20px; margin-bottom: 30px; font-size: 21px; z-index: 1; }
.footer-widget-title::before { content: ""; position: absolute; width: 90px; height: 3px; background: rgba(255, 255, 255, 0.2); bottom: 0; left: 0; z-index: -1; }
.footer-widget-title::after { content: ""; position: absolute; width: 30px; height: 3px; background: var(--theme-color); bottom: 0; left: 18px; z-index: -1; }
.footer-list { display: flex; flex-direction: column; gap: .65rem; }
.footer-list li a { color: var(--color-white); transition: var(--transition); }
.footer-list li a i { margin-right: 5px; color: var(--theme-color); }
.footer-list li a:hover { padding-left: 10px; color: var(--theme-color); }
.footer-widget-box p { color: var(--color-white); padding-right: 18px; margin-bottom: 20px; }
.footer-social { display: flex; gap: 15px; justify-content: end; }
.footer-social li a i { height: 38px; width: 38px; line-height: 38px; text-align: center; border-radius: 5px; background: var(--color-white); color: var(--theme-color); transition: var(--transition); }
.footer-social li a i:hover { background: var(--theme-color); color: var(--color-white); }
.footer-contact li { position: relative; display: flex; justify-content: start; align-items: center; color: var(--footer-text-color); font-size: 16px; margin-bottom: 15px; }
.footer-contact li a { color: var(--footer-text-color); -webkit-transition: 0.3s; transition: 0.3s; }
.footer-contact li i { width: 30px; height: 30px; line-height: 30px; font-size: 16px; margin-right: 15px; border-radius: 5px; background: var(--theme-color); text-align: center; -webkit-transition: 0.3s; transition: 0.3s; color: var(--color-white); }
.subscribe-form .form-control { padding: 16px 20px; border-radius: 3px; box-shadow: none; border: none; }
.subscribe-form .theme-btn { margin-top: 20px; width: 100%; padding: 14px; }
.subscribe-form .theme-btn:hover { color: var(--theme-color); }
.subscribe-form .theme-btn::before { background: var(--color-white); }
.subscribe-form .theme-btn:hover::after { border-color: var(--theme-color); }
@media all and (max-width:1199px) {
    .footer-widget-box { margin-bottom: 50px; }
}
@media all and (max-width:991px) {
    .footer-widget-wrapper { padding-bottom: 0px; }
    .copyright .footer-menu { float: left; margin-top: 20px; text-align: left; }
    .copyright .footer-menu li { margin-left: 0; margin-right: 15px; }
}
@media all and (max-width:767px) {
    .footer-widget-wrapper { padding-bottom: 0px; }
    .footer-logo img {width: 150px;}
    .footer-social { justify-content: flex-start; margin-top: 20px; }
    .copyright::before { width: 40%; }
    .copyright .copyright-text a { color: var(--theme-color); }
}

/*====================
    Enroll css 
======================*/
.enroll-area { position: relative; background-repeat: no-repeat; background-size: cover; background-position: center; z-index: 1; }
.enroll-left { margin-right: 30px; }
.enroll-form { background: var(--color-white); border-radius: 3px; box-shadow: var(--box-shadow); }
.enroll-form form { padding: 30px; }
.enroll-form-header { border-radius: 0px 0px 50px 50px; padding: 20px 30px; border-bottom: 5px solid var(--theme-color2); background: var(--theme-color); }
.enroll-form-header h3 { color: var(--color-white); }
.enroll-form-header p { color: var(--color-white); }
.enroll-form .form-group { margin-bottom: 20px }
.enroll-form .form-group .form-control, .form-control { padding: 12px 20px; font-size: 16px; border-radius: 0px; color: var(--color-dark); box-shadow: none }
.form-control:focus { border-color: var(--theme-color); }

.equal-height-slider .owl-stage {display: flex;}
.department-item {display: flex;   flex-direction: column;   height: 100%;}
.department-info {display: flex; flex-direction: column; gap: .5rem; flex: 1;}
.department-btn {margin-top: auto;}
.department-icon { margin-bottom: 20px; }
.department-icon img { height: 60px; }
@media all and (max-width:991px) {
    .enroll-left { margin-right: 0px; }
}
.details-sect { position: relative; z-index: 1; }
@media(min-width:768px) {
    .intro-sect { margin-top: -10rem; }
}
.dd1:not(:last-child) { margin-bottom: 1rem }


/* ========================
    Product css
=========================== */
.category-box { display: grid; gap: 0rem; grid-template-columns: 1fr;  position: relative; overflow: hidden; height: 300px;}

.category-box .category-img {padding-bottom: 0;  position: absolute;  width: 100%;  height: 100%;  top: 0;  left: 0;  bottom: 0;  right: 0; z-index: -1;}
.category-details { display: flex; align-items: flex-start; justify-content: center; flex-direction: column; gap: .5rem; padding: 1.5rem; background: rgba(0, 0, 0, 0.8); margin-left: 50%;}
.category-details * {color: #fff;}
.product-box { display: grid; grid-template-columns: 124px 1fr; gap: 1rem; padding: 1rem; border: 1px solid #949494; line-height: 1.3; background: var(--color-white); height: 100%; cursor: pointer; }
.product-box:hover {box-shadow: 0 5px 15px rgba(0, 0, 0, .1);  transition: box-shadow .2s;}
.product-box .theme-btn { grid-column: 1/-1; margin-top: auto; }
.product-img img { aspect-ratio: 3 / 2; object-fit: contain; object-position: center center; z-index: 1; }
.product-img .p-hover { z-index: 2; opacity: 0; }
.product-box:hover .product-img .p-normal { opacity: 0 }
.product-box:hover .product-img .p-hover { opacity: 1; }
.product-desc { display: flex; gap: .5rem; flex-direction: column; justify-content: center; line-height: 1.2; }
.p-subtitle { font-size: .75rem; letter-spacing: 1px; text-transform: uppercase; font-weight: 500; }
.p-title { font-weight: 500; }
.p-price { font-size: 110%; font-weight: 500; line-height: normal; font-family: var(--heading-font); }
.p-price > span { display: inline-block; font-size: 80%; font-weight: normal; opacity: .7; margin-right:5px; }
.sp-price { font-size: 3rem; line-height: 1; font-family: var(--body-font); color: var(--theme-color);}
.sp-price span { font-size: 1.5rem; vertical-align: super;}
@media(max-width:767px) {
    .category-box { grid-template-columns: 1fr; height:auto; }
    .category-details {margin-left: 0}
}


/*====================
    SHOP CSS
======================*/
.sort-filter .form-select { border-radius: 3px; border-color: var(--color-dark); height: 46px; }
.form-control:focus { box-shadow: none; border-color: var(--theme-color); outline: none; }
.filter-title { border-bottom: 2px solid var(--theme-color); font-size: 1.25rem; letter-spacing: 1px; margin-bottom: 1rem; padding: 0 0 6px; text-transform: uppercase; color: var(--bs-black); font-weight: 500; }
.filters-area {position: sticky;  top: 30px;}
.filter-block + .filter-block { margin-top: 30px; }
.filter-block .accordion-item { border: 0; padding: 15px 0; }
.filter-block .accordion-item + .accordion-item { border-top: 1px solid #ddd; }
.filter-block .accordion-header .accordion-button { padding: 0; background: transparent !important; border: 0 !important; box-shadow: none; outline: 0; border-radius: 0; font-weight: 500; font-size: 1.1rem; }
.filter-block .accordion-button::after { background: none; content: "\2b"; font-family: "Font Awesome 6 Pro"; }
.filter-block .accordion-button:not(.collapsed)::after { content: "\f068"; }
.filter-block .accordion-body { padding: 10px; }
.form-check { padding: 0; margin-bottom: .5rem; }
.form-check [type="checkbox"], .form-check [type="radio"] { position: absolute; visibility: hidden; opacity: 0; }
.form-check-label { letter-spacing: 0; text-transform: unset; font-size: 100%; font-weight: normal; margin: 0; padding-left: 1.8rem; position: relative; cursor: pointer; color: var(--bs-black); }
.form-check-label::before { content: "\f00c"; font-family: "Font Awesome 6 Pro"; color: #fff; position: absolute; left: 3px; top: 1px; font-size: 14px; display: none; z-index: 1; }
.form-check-label::after { content: ""; width: 18px; height: 18px; border: 1px solid var(--color-dark); position: absolute; left: 0; top: .15rem; }
.form-check .form-check-box:checked ~ .form-check-label::after { background: var(--theme-color); border-color: var(--theme-color); }
.form-check .form-check-box:checked ~ .form-check-label::before { display: block; }
.product-verticle .product-box { grid-template-columns: 1fr; }
.product-verticle .product-img img { height: 100%; }
.product-accessory .product-box { border-color: #e6e6e6; }
.product-accessory .product-img { padding-bottom: 60% }
.product-accessory .product-img img { opacity: 1 !important }
.product-accessory .product-box:hover .p-subtitle { text-decoration: underline; text-underline-offset: 5px; }
.owl-dots { text-align: center; margin-top: 40px; }
.owl-dots .owl-dot span { background: var(--theme-color); border-radius: 50px; margin: 5px; width: 8px; height: 8px; display: inline-block; transition: var(--transition); }
.owl-dots .owl-dot.active span { background-color: var(--theme-color); width: 20px; }
.owl-nav { width: 100%; opacity: 0; visibility: hidden; transition: var(--transition); margin: 0; }
.owl-carousel:hover .owl-nav { opacity: 1; visibility: visible; }
.owl-nav button { height: 48px; width: 48px; line-height: 45px !important; top: 50%; background: var(--theme-color) !important; color: var(--color-white) !important; font-size: 25px !important; position: absolute; border: none; margin: 0; padding: 0; transition: var(--transition); border-radius: 100%; margin-top: -24px; }
.owl-nav .owl-next { right: 0; }
.site-heading ul { margin: 15px 0 }
.site-heading ul li { position: relative; padding: 3px 0; padding-left: 30px; }
.site-heading ul > li:before { content: "\f058"; font-weight: 700; font-family: "Font Awesome 6 Pro"; position: absolute; left: 0px; color: var(--theme-color) }
.site-heading-white ul > li:before {color: var(--bs-white);}
.site-heading ol { padding-left: 20px; }
.site-heading ol > li { list-style-type: decimal; padding-left: 0 }
.reviews { display: flex; gap: 1rem; margin: 15px 0 0; }
.stars { color: #ff9b00; }
.left-block { position: sticky; top: 30px }
.single-product .site-heading + .site-heading { margin-top: 15px; }
.product-form-check { display: flex; flex-wrap: wrap; gap: .75rem; margin: 0 }
.product-form-check .form-check-label { padding: 10px; display: flex; flex-direction: column; justify-content: space-between; align-items: center; border: 1px solid #d9d9d9; height: 100%; transition: box-shadow .2s; }
.product-form-check .form-check:hover .form-check-label { box-shadow: 0 5px 15px rgba(0, 0, 0, .1); transition: box-shadow .2s; }
.product-form-check .form-check-label:after, .product-form-check .form-check-label:before { display: none !important; }
.product-form-check .form-check { width: 125px; margin: 0 }
.product-form-check .form-check-box:checked ~ .form-check-label { border-color: var(--theme-color); box-shadow: inset 0 0 0 1px var(--theme-color); }
.single-product .site-heading { margin-bottom: 30px; }
.current .thumb-img img { box-shadow: inset 0 0 0 5px var(--theme-color); display: block; padding: 4px; }
.thumb-img img { border: 1px solid #d9d9d9; }
.pincode-block { display: flex; }
.pincode-block .form-control { flex: 1 1 auto; width: 1%; min-width: 0; border-radius: 0; height: 46px; }
.pincode-block .theme-btn { border-radius: 0; height: 46px; padding: 5px 15px; }
.features-area .product-accessory .product-img { padding-bottom: 0; height: 100px; }
.tab-block .nav-item { flex: 1 1; }
.tab-block > ul > li + li { border-left: 1px solid #b3b3b3; }
.tab-block .nav-item .nav-link { display: block; width: 100%; border: 0; border-radius: 0; color: var(--color-dark); font-weight: 500; padding: 15px; background: var(--bs-border-color); }
.tab-block .nav-item .nav-link.active { background: var(--color-white); }
#featured_image_div { position: relative;  padding-bottom: 50%;}
#featured_image_div img {  position: absolute;  top: 0;  left: 0;  width: 100%;  height: 100%;  object-fit: contain;  display: block;}

/* ------------------------
    CONFIGATOR
--------------------------- */
.config-boxes { display: flex; flex-direction: column; gap: 20px; margin: 40px 0; }
.box-ttl { font-size: 20px; font-weight: 600; text-transform: uppercase; margin: 0 0 5px; color: var(--theme-color); font-family: var(--heading-font); }
.config-boxes .product-box { grid-template-columns: 25% 1fr; }
.width-box { border: 1px solid var(--border-info-color); border-radius: 3px; padding: 15px; display: grid; grid-template-columns: 180px 1fr; width: 100%; align-items: center; }
.width-box .form-control { border-radius: 3px; padding-top: 10px; padding-bottom: 10px; background-color: var(--theme-bg-light); border: 0; height: 46px; }
.product-form-check.two-column { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.product-form-check.three-column { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 1rem; }
.product-form-check.four-column { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1rem; }
.product-form-check.two-column .form-check, .product-form-check.three-column .form-check { width: 100% }
.form-check-horizontal .form-check-label { display: grid; grid-template-columns: 100px 1fr; height: 100%; gap: 1rem; padding: 1rem; }

@media (min-width: 768px) {
    .width-box {width: 70%;}
}
@media (min-width: 1024px) {
    .width-box {width: 50%;}
}

@media(max-width: 767px) {
    .product-form-check.two-column, .product-form-check.three-column {grid-template-columns: 1fr}
    .py-80 { padding: 50px 0;}
}
@media (max-width: 480px) {
    .product-form-check .form-check {width: calc(50% - .375rem);}
    .single-product .site-heading .theme-btn {width: 100%;}
    .form-check-horizontal .form-check-label {grid-template-columns: 70px 1fr;}
    .width-box {grid-template-columns: auto 1fr; gap: 10px !important;}
}


/* ===== AUTH MODAL ===== */
.auth-modal { position: fixed; inset: 0; background: rgba(0, 0, 0, 0.75); backdrop-filter: blur(4px); display: none; align-items: center; justify-content: center; z-index: 9999; }
.auth-modal.open { display: flex; }

/* ===== MODAL BOX ===== */
.auth-box { background: #fff; width: 100%; max-width: 420px; padding: 32px; border-radius: 12px; position: relative; box-shadow: 0 20px 50px rgba(0, 0, 0, 0.25); animation: authFadeUp 0.25s ease; font-family: system-ui, -apple-system, BlinkMacSystemFont; }

/* ===== ANIMATION ===== */
@keyframes authFadeUp {
    from { opacity: 0; transform: translateY(12px); }
    to { opacity: 1; transform: translateY(0); }
}

/* ===== CLOSE BUTTON ===== */
.auth-box .close { position: absolute; top: 14px; right: 14px; width: 32px; height: 32px; border-radius: 50%; border: none; background: #f2f2f2; color: #555; font-size: 18px; cursor: pointer; display: flex; align-items: center; justify-content: center; transition: background 0.2s, color 0.2s, transform 0.1s; }
.auth-box .close:hover { background: #e6e6e6; color: #000; }
.auth-box .close:active { transform: scale(0.92); }

/* ===== HEADINGS ===== */
.auth-box h3 { margin-bottom: 20px; font-size: 22px; font-weight: 600; color: #222; }

/* ===== INPUTS ===== */
.auth-box input { width: 100%; padding: 12px 14px; margin-bottom: 14px; border-radius: 3px; border: 1px solid #ddd; font-size: 14px; transition: border 0.2s, box-shadow 0.2s; }
.auth-box input:focus { outline: none; border-color: #0073aa; box-shadow: 0 0 0 2px rgba(0, 115, 170, 0.15); }

/* ===== BUTTONS ===== */
/*.auth-box button { width: 100%; padding: 12px; background: #0073aa; border: none; border-radius: 8px; color: #fff; font-size: 15px; font-weight: 600; cursor: pointer; transition: background 0.2s, transform 0.05s; }
.auth-box button:hover { background: #005f8d; }
.auth-box button:active { transform: scale(0.98); }*/

/* ===== SWITCH LINKS ===== */
.auth-box p { margin-top: 14px; font-size: 14px; text-align: center; color: #555; }
.auth-box p a { color: var(--theme-color); text-decoration: none; font-weight: 500; }
.auth-box p a:hover { text-decoration: underline; }

/* ===== TOGGLE SECTIONS ===== */
#auth-signup { display: none; }

/* ===== MOBILE ===== */
@media (max-width:480px) {
    .auth-box { margin: 0 16px; padding: 24px; }
}

/*  CART
-------------------------*/

#cart-success-modal { position: fixed; inset: 0; z-index: 9999; }
.cart-success-overlay { position: absolute; inset: 0; background: rgba(0, 0, 0, 0.5); }
.cart-success-box { position: relative; background: #fff; width: 90%; max-width: 420px; margin: 15% auto; padding: 25px; border-radius: 8px; text-align: center; }
.cart-success-actions { margin-top: 20px; display: flex; gap: 15px; justify-content: center; }
.woocommerce table.shop_table { border: 0 }
.woocommerce table.shop_table thead tr { background: #F6F5ED; border: 0; }
.woocommerce table.shop_table thead tr th { padding: 20px; color: #181818; font-size: 18px; }
.woocommerce .quantity .qty { width: 5em; height: 45px; padding: 0 0px 0 20px; font-size: 16px; font-weight: 400; color: #1b1b1b; border: 1px solid #D1D0C8 !important; }
.woocommerce .quantity .qty:focus { outline: 0; box-shadow: none; }
.woocommerce .product-thumbnail img { width: 80px; height: 80px; object-fit: contain; aspect-ratio: 1; -webkit-border-radius: 0; border-radius: 0; display: block; }
.woocommerce .woocommerce-cart-form table.shop_table td.actions { padding-top: 50px; padding-bottom: 0; }
.woocommerce .woocommerce-cart-form table.shop_table td.actions .coupon { display: flex; position: relative; border: 1px solid #D1D0C8; align-items: center; padding-left: 25px; height: 55px; border-radius: 0; margin: 10px 0; }
.woocommerce .woocommerce-cart-form table.shop_table td.actions .coupon::before { content: '\f145'; font-family: "Font Awesome 6 Pro"; display: inline-block; color: #181818; font-size: 22px; transform: rotateX(-45deg); font-weight: 300; }
.woocommerce .woocommerce-cart-form table.shop_table td.actions .coupon input { padding: 13px 10px; font-size: 15px; font-weight: 400; line-height: normal; border: none; flex: 1 auto; width: 100%; margin-right: 155px; }
.woocommerce .woocommerce-cart-form table.shop_table td.actions .coupon input:focus { box-shadow: none; outline: 0; border: 0; }
.woocommerce .woocommerce-cart-form table.shop_table td.actions .coupon button { display: inline-flex; width: 155px; padding: 0; position: absolute; top: 0; right: 0; bottom: 0; background: none; align-items: center; justify-content: center; font-size: 16px; border-radius: 0; color: #181818; }
.woocommerce .woocommerce-cart-form table.shop_table td.actions .coupon button:focus, .woocommerce .woocommerce-cart-form table.shop_table td.actions .coupon button:hover { color: var(--theme-color); }
.woocommerce .woocommerce-cart-form table.shop_table   .button { height: 55px; padding: 0 42px; font-size: 15px; line-height: 20px; font-weight: 700; }
.woocommerce .cart-collaterals .cart_totals table { border-collapse: collapse; }
.woocommerce .cart_totals table.shop_table tr td, .woocommerce .cart_totals table.shop_table tr th { border: 1px solid #D1D0C8 !important; }
.cart-collaterals .cart_totals h2 { font-size: 24px; line-height: 1.3em; font-weight: 700; margin: 2.2em 0 1em; }
.woocommerce .cart_totals table.shop_table tr th { background-color: #F6F5ED; color: #181818; font-size: 17px; font-weight: 700; line-height: 1.3em; }
.woocommerce .cart-collaterals .cart_totals table td, .woocommerce-page .cart-collaterals .cart_totals table td { padding: 24px 28px; vertical-align: middle; }
.woocommerce .wc-proceed-to-checkout .checkout-button, #place_order, .custom-thankyou-buttons .button, .wc-backward { padding: 20px 42px; width: 100%; text-align: center; background: var(--theme-color) !important; color:#fff !important }
.woocommerce .wc-proceed-to-checkout .checkout-button:hover, #place_order:hover, .custom-thankyou-buttons .button:hover, .wc-backward:hover { background: var(--theme-color2) !important; }
.woocommerce form .form-row .input-text:focus, .woocommerce form .form-row select:focus {border-color: var(--theme-color); box-shadow: none; outline: 0}
.return-to-shop {
  text-align: center;
}
.wc-backward {width: auto;}

/* CHECKOUT
---------------------- */
form.woocommerce-checkout > h3#order_review_heading { overflow: hidden; margin: 0; padding-bottom: 34px; font-size: 35px; line-height: 1.2em; }
form.woocommerce-checkout > h3#order_review_heading { overflow: hidden; margin: 0; padding-bottom: 34px; font-size: 35px; line-height: 1.2em; }
.woocommerce-checkout-review-order-table, .woocommerce-checkout-payment { padding: 18px 30px; color: #181818; background-color: #F6F5ED; }
.shop_table_checkout_review table { width: 100%; margin: 0; }
.woocommerce-order-details table td { font-size: 17px; line-height: 1.3em; font-weight: 700; background: transparent !important; padding: 25px 0; color: #181818; }
.woocommerce-order-details table td:last-child { padding-left: 8px; }
.woocommerce-checkout-review-order-table thead, .checkout-item-image, .woocommerce-customer-details { display: none; }
.woocommerce table.shop_table tr.cart_item:first-child td { border: 0; }
#place_order, .woocommerce-additional-fields { margin-top: 20px; }
.woocommerce .order_details.woocommerce-thankyou-order-details { padding: 25px; color: #83827F; background-color: #F6F5ED; text-transform: none; margin: 30px 0; }
.woocommerce .order_details.woocommerce-thankyou-order-details li strong { font-weight: 400; margin-top: 3px; line-height: 1.3em; color: #181818; }
.woocommerce-order-details__title { margin: 0; padding-bottom: 30px; font-size: 35px; line-height: 1.2em; }
.woocommerce-order p { margin-bottom: 1.5rem; }
.shop_table_order_details { padding: 18px 40px; color: #181818; background-color: #F6F5ED; }
.shop_table_order_details table.shop_table { width: 100%; margin: 0; }
.shop_table_order_details table.shop_table tr + tr { border-top: 1px solid #D1D0C8; }
.shop_table_order_details table.shop_table td { font-size: 17px; line-height: 1.3em; font-weight: 500; background: transparent !important; padding: 25px 0; color: #181818; text-align: right; }
.custom-thankyou-buttons .button { width: auto; }
@media(min-width:1024px) {
    form.woocommerce-checkout #customer_details { width: 60%; float: left; overflow: hidden; padding-right: 140px; }
    form.woocommerce-checkout #order_review { width: 40%; float: right; }
    form.woocommerce-checkout #customer_details .col-1, form.woocommerce-checkout #customer_details .col-2 { width: 100%; float: none; }
}

#product-meta-data { padding: 15px 25px; background: #f9f9f9; border-radius: 8px; margin: 20px 0; }
.meta-row { display: flex; justify-content: space-between; padding: 3px 0; border-bottom: 1px solid #eee; }
.meta-row:last-child { border-bottom: none; }
.meta-title { font-weight: 500; }
.meta-value { color: #555; }

.account-menu-list { list-style: none; padding: 0; margin: 0; }
.account-menu-list li { margin-bottom: 8px; }
.account-menu-list li a { display: block; padding: 12px 14px; background: #f5f5f5; border-radius: 6px; text-decoration: none; color: #333; transition: all 0.3s ease; }

/* Hover */
.account-menu-list li a:hover { background: #eaeaea; }

/* Active */
.account-menu-list li.is-active a { background: transparent; color: #000; font-weight: 600; border-bottom: 2px solid #000; }

/* ðŸ”» Separate logout from other items */
.account-menu-list .logout-item { margin-top: 20px; padding-top: 12px; border-top: 1px solid #e5e5e5; }

/* ðŸ”´ Logout button base style */
.account-menu-list .logout-link { display: block; padding: 12px 14px; background: #ffeaea; color: #d10000; border-radius: 6px; text-decoration: none; font-weight: 600; transition: all 0.3s ease; }

/* ðŸ”¥ Hover effect */
.account-menu-list .logout-link:hover { background: #ffcccc; color: #a00000; }

/* ðŸš« Remove active underline for logout */
.account-menu-list .logout-item.is-active a { border-bottom: none; background: #ffeaea; }

/* âœ¨ Optional: Add subtle warning icon */
.account-menu-list .logout-link::before { content: "ðŸšª "; margin-right: 4px; }

/* Center the WooCommerce Login/Register Container */
#customer_login { max-width: 900px; /* Adjust this value to make it narrower or wider */ margin: 40px auto; /* Centers horizontally and adds space top/bottom */ display: flex; flex-wrap: wrap; justify-content: center; align-items: flex-start; /* Aligns columns to the top */ }

/* If you only have Login enabled (not Register) */
.woocommerce-account .woocommerce { display: flex; flex-direction: column; align-items: center; }

/* Ensure the forms take up appropriate space within the centered container */
#customer_login .u-column1, #customer_login .u-column2 { padding: 20px; flex: 1; min-width: 300px; /* Prevents them from getting too squashed on small screens */ }

/* Responsive adjustment: Stack them on mobile */
@media (max-width:768px) {
    #customer_login { flex-direction: column; align-items: center; }
}
.hidden-group { display: none; }
.meta-image-wrapper { text-align: center; margin-bottom: 15px; }
.meta-product-image { max-width: 120px; cursor: pointer; border-radius: 6px; transition: transform 0.2s ease; }
.meta-product-image:hover { transform: scale(1.05); }

/* 🔍 Preview Modal */
.image-preview-modal { position: fixed; inset: 0; display: none; align-items: center; justify-content: center; z-index: 9999; }
.image-preview-overlay { position: absolute; inset: 0; background: rgba(0, 0, 0, 0.7); }
.image-preview-img { position: relative; max-width: 80%; max-height: 80%; z-index: 2; border-radius: 10px; }
.custom-loader { width: 40px; height: 40px; border: 4px solid #ddd; border-top: 4px solid #000; border-radius: 50%; animation: spin 0.8s linear infinite; margin: auto; }
@keyframes spin {
    to { transform: rotate(360deg); }
}
.custom-modal { display: none; position: fixed; z-index: 9999; inset: 0; background: rgba(0, 0, 0, 0.6); }
.custom-modal-content { background: #fff; max-width: 600px; margin: 5% auto; padding: 20px; position: relative; border-radius: 6px; }
.custom-modal-close { position: absolute; right: 15px; top: 10px; font-size: 22px; cursor: pointer; }

/* Wrapper */
.cart-enquiry-form { padding: 10px 5px; }

/* Row */
.cef-row { display: flex; flex-wrap: wrap; gap: 15px; margin-bottom: 18px; }

/* Field */
.cef-field { width: 100%; }

/* Half width fields */
.cef-field-half { width: calc(50% - 7.5px); }

/* Labels */
.cef-label { display: block; font-size: 14px; font-weight: 600; margin-bottom: 6px; color: #333; }

/* Required star */
.cef-required { color: red; }

/* Inputs */
.cef-input, .cef-textarea { width: 100%; border: 1px solid #ddd; border-radius: 6px; padding: 12px 14px; font-size: 14px; transition: all 0.2s ease; outline: none; background: #fff; }

/* Textarea specific */
.cef-textarea { min-height: 140px; resize: vertical; }

/* Focus state */
.cef-input:focus, .cef-textarea:focus { border-color: #0d6efd; /* Bootstrap blue */ box-shadow: 0 0 0 2px rgba(13, 110, 253, 0.1); }

/* Submit wrapper */
.cef-submit-wrap { width: 100%; }
/* CF7 response message */
.wpcf7-response-output { margin-top: 15px; font-size: 14px; border-radius: 6px; padding: 10px; }

/* Mobile fix */
@media (max-width:768px) {
    .cef-field-half { width: 100%; }
}
.cef-hidden { display: none !important; }
#cartEnquiryModal .modal-dialog { max-width: 500px; }
#cartEnquiryModal .modal-content { max-height: 80vh; border-radius: 10px; overflow: hidden; }
#cartEnquiryModal .modal-body { overflow-y: auto; padding: 20px; }
#cartEnquiryModal .modal-header { padding: 15px 20px; }


/* PROCESS
--------------------- */
.process-wrapper { display: flex; justify-content: space-between; gap: 25px; }
.process-item { flex: 1; position: relative; }
.step-head { display: flex; align-items: center; margin-bottom: 12px; position: relative; }
.step-bg {  display: flex;  align-items: center;  background: #fff;  padding-right: 15px;}
.step-number { width: 34px; height: 34px; background: var(--theme-color); color: #fff; font-size: 13px; border-radius: 50%; display: flex; align-items: center; justify-content: center; margin-right: 10px; font-weight: bold; }
.step-title {  font-weight: 600; white-space: nowrap; }
.process-item  .step-head::after { content: ""; position: absolute; top: 50%; right: 0; transform: translateY(-50%); width: 100%; border-top: 2px dotted #000; z-index: -1; }
@media (max-width:992px) {
    .process-wrapper { flex-wrap: wrap; }
    .process-item { flex: 0 0 48%; }
}
@media (max-width:576px) {
    .process-item { flex: 0 0 100%; }
}

/* Wrapper */
.stats-wrapper { display: flex; justify-content: space-between; align-items: center; }
.stat-item { flex: 1; display: flex; align-items: center; gap: 20px; padding: 10px 30px; position: relative; }
.stat-item:not(:last-child)::after { content: ""; position: absolute; right: 0; top: 15%; height: 70%; width: 1px; background: rgba(255, 255, 255, 0.4); }
.stat-icon { font-size: 44px; color: var(--theme-color); }
.stat-content h3 { margin: 0; font-size: 24px; font-weight: 700; color: var(--theme-color2); }
.stat-content p { margin: 2px 0 0; font-size: 14px;  line-height: 1.4; }
@media (max-width:768px) {
    .stats-wrapper { flex-wrap: wrap; }
    .stat-item { flex: 0 0 100%; border-bottom: 1px solid rgba(255, 255, 255, 0.1); }
    .stat-item::after { display: none; }
    .stat-content h3 {font-size: 20px;}
    .stat-icon {font-size: 34px;}
}