/*--------------------------
    Project Name: Allianz
    Version: 1.0
    Author: 7oorof
    Developer: Ahmed Abdallah (a.abdallah999@gmail.com)
    Release Date: April 2025
---------------------------*/
/*---------------------------
      Table of Contents
    -------------------------

    01- Global Styles
    02- Helper Classes
    03- Background & Colors
    04- Typography
    05- page title 
    06- Buttons
    07- Forms
    08- Tabs
    09- Icons
    10- Breadcrumb
    11- Pagination
    12- Lists
    13- Animations
    14- Alerts
    16- Carousel
    17- Preloader
    18- Header & Navbar 
    19- Accordions
    20- Banners
    21- Footer
    22- Call to Action
    23- Carousel 
    24- Slider
    26- Video
    27- Features
    28- Fancybox
    29- Team
    30- Testimonials
    31- Clients
    32- Blog
    33- Contact
    34- Pricing
    35- Sidebar
    36- About
    36- Services
    37- Gallery
    38- Shop
    39- Work Process
    40- Progress Bars

----------------------------*/
/*-------------------------- 
      Global Styles
---------------------------*/
:root {
  --font-size-base: 15px;
  --font-primary: DM Sans, sans-serif;
  --font-secondary: Unbounded, sans-serif;
  --font-icons: "icomoon";
  --color-primary: #e31e24;
  --color-primary-hover: #c4191f;
  --color-primary-200: #1a1a1a;
  --color-primary-300: #0a0a0a;
  --color-primary-400: #2d2d2d;
  --color-primary-500: #e31e24;
  --color-primary-600: #6b6b6b;
  --color-primary-700: #141414;
  --color-primary-800: #b8151a;
  --color-secondary: #222222;
  --color-primary-rgb: 227, 30, 36;
  --color-secondary-rgb: 34, 34, 34;
  --color-white: #ffffff;
  --color-accent: #00226c;
  --color-dark: #161616;
  --color-light: #6d6fb3;
  --color-default: #9b9b9b;
  --color-gray-100: #f9f9f9;
  --color-gray-200: #eaeaea;
  --color-gray-300: #d6d6d6;
  --color-gray-400: #616161;
  --color-gray-500: #c6c6c6;
  --color-gray-600: #e7ebef;
  --color-gray-700: #f8f8f2;
  --color-green-100: #fdeaea;
  --color-primary-300-rgb: 10, 10, 10;
  /* overide Bootstrap color theme */
  --bs-primary: #e31e24;
  --bs-secondary: #222222;
  --bs-gray: #9b9b9b;
  --bs-gray-dark: #161616;
  --bs-success: #198754;
  --bs-warning: #ffc107;
  --bs-danger: #dc3545;
  --bs-light: #f8f9fa;
  --bs-dark: #161616;
  --bs-primary-rgb: 227, 30, 36;
  --bs-secondary-rgb: 34, 34, 34;
  --bs-success-rgb: 25, 135, 84;
  --bs-warning-rgb: 255, 193, 7;
  --bs-danger-rgb: 220, 53, 69;
  --bs-light-rgb: 248, 249, 250;
  --bs-dark-rgb: 33, 37, 41;
  --color-white-rgb: 255, 255, 255;
  --bs-body-line-height: 1.5;
  --bs-body-color: #212529;
  --bs-body-color-rgb: 33, 37, 41;
  --bs-secondary-color: rgba(33, 37, 41, 0.75);
  --bs-secondary-color-rgb: 33, 37, 41;
  --bs-secondary-bg: #e9ecef;
  --bs-secondary-bg-rgb: 233, 236, 239;
  --bs-link-color: #e31e24;
  --bs-link-color-rgb: 13, 110, 253;
  --bs-link-decoration: none;
  --bs-link-hover-color: #222222;
  --bs-link-hover-color-rgb: 10, 88, 202;
  --bs-highlight-bg: #fff3cd;
  --bs-border-radius: 0.375rem;
  --bs-border-radius-sm: 0.25rem;
  --bs-border-radius-lg: 0.5rem;
  --bs-border-radius-xl: 1rem;
  --bs-border-radius-xxl: 2rem;
  --bs-box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
  --bs-box-shadow-sm: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);
}

html {
  scroll-behavior: smooth;
}

body {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  background-color: var(--color-white);
  font-family: var(--font-primary);
  font-size: var(--font-size-base);
  color: var(--bs-gray);
  overflow-x: hidden;
}

::-moz-selection {
  background-color: var(--color-primary);
  color: var(--color-white);
}

::selection {
  background-color: var(--color-primary);
  color: var(--color-white);
}

a {
  color: var(--color-primary);
  text-decoration: none;
  transition: all 0.3s ease;
}
a:hover {
  color: var(--color-secondary);
  text-decoration: none;
}

section {
  position: relative;
  padding-top: 130px;
  padding-bottom: 130px;
}

img {
  max-width: 100%;
}

/*-------------------------
     RESET Default Styles
 --------------------------*/
* {
  outline: none;
}

button {
  padding: 0;
  border: none;
  background-color: transparent;
}

select {
  background-color: transparent;
}

button,
button:focus,
.form-control,
.form-control:focus {
  outline: none;
  -ms-box-shadow: none;
  -o-box-shadow: none;
  box-shadow: none;
}

textarea {
  resize: none;
}

.svg-pathes {
  position: absolute;
}

@media (max-width: 991px) {
  html,
  body {
    overflow-x: hidden;
  }
  section {
    padding-top: 80px;
    padding-bottom: 80px;
  }
}
@media (max-width: 768px) {
  section {
    padding-top: 60px;
    padding-bottom: 60px;
  }
}
@media (min-width: 576px) and (max-width: 1200px) {
  .container {
    max-width: 100%;
  }
}
@media (min-width: 1300px) {
  .container {
    max-width: 1280px;
  }
}
@media (min-width: 1400px) {
  .row {
    --bs-gutter-x: 40px;
  }
  .container {
    max-width: 1320px;
  }
}
/*----------------------------
      Helper Classes
----------------------------*/
.z-index-1 {
  z-index: 1;
}

.sticky-top {
  z-index: 500;
  top: 100px;
}

.flex-1 {
  flex: 1;
}

.align-v {
  display: flex !important;
  align-items: center !important;
}

.align-v-h {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
}

.row-gutter-0 {
  --bs-gutter-x: 0;
}

[class*="text-truncate-"] {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: normal;
}

.text-truncate-1 {
  -webkit-line-clamp: 1;
  line-clamp: 1;
}

.text-truncate-2 {
  -webkit-line-clamp: 2;
  line-clamp: 2;
}

.text-truncate-3 {
  -webkit-line-clamp: 3;
  line-clamp: 3;
}

.text-truncate-4 {
  -webkit-line-clamp: 4;
  line-clamp: 4;
}

.text-truncate-5 {
  -webkit-line-clamp: 5;
  line-clamp: 5;
}

.text-truncate-6 {
  -webkit-line-clamp: 6;
  line-clamp: 6;
}

.text-wrap-balance {
  text-wrap: balance;
}

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

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

.font-secondary {
  font-family: var(--font-secondary);
}

.transition-linear-3 {
  transition: all 0.3s linear 0ms;
}

.rotate-90 {
  transform: rotate(90deg);
}

.box-shadow-none {
  box-shadow: none !important;
}

.gap-30 {
  gap: 30px;
}

.gap-40 {
  gap: 40px;
}

.gap-50 {
  gap: 50px;
}

.mw-320 {
  max-width: 320px;
}

.mw-350 {
  max-width: 350px;
}

.mw-450 {
  max-width: 450px;
}

.mw-480 {
  max-width: 480px;
}

.mw-500 {
  max-width: 500px;
}

.mw-600 {
  max-width: 600px;
}

.mw-620 {
  max-width: 620px;
}

.mw-none {
  max-width: none !important;
}

.fw-600 {
  font-weight: 600;
}

.fz-13 {
  font-size: 13px !important;
}

.fz-14 {
  font-size: 14px !important;
}

.fz-16 {
  font-size: 16px !important;
}

.fz-17 {
  font-size: 17px !important;
}

.fz-24 {
  font-size: 24px !important;
}

.fz-25 {
  font-size: 25px !important;
}

.fz-26 {
  font-size: 26px !important;
}

.border-top {
  border-top: 1px solid var(--color-gray-600) !important;
}

.border-bottom {
  border-bottom: 1px solid var(--color-gray-600) !important;
}

@media (min-width: 1300px) {
  .section-with-space-start .container-fluid {
    padding-inline-start: calc((100% - 1280px) / 2) !important;
    padding-inline-end: 0;
  }
  .section-with-space-end .container-fluid {
    padding-inline-end: calc((100% - 1280px) / 2) !important;
    padding-inline-start: 0;
  }
}
@media (min-width: 1400px) {
  .section-with-space-start .container-fluid {
    padding-inline-start: calc((100% - 1320px) / 2) !important;
  }
  .section-with-space-end .container-fluid {
    padding-inline-end: calc((100% - 1320px) / 2) !important;
  }
}
.mt-0 {
  margin-top: 0 !important;
}

.mb-0 {
  margin-bottom: 0 !important;
}

.mr-0 {
  margin-right: 0 !important;
}

.ml-0 {
  margin-left: 0 !important;
}

.mt-5 {
  margin-top: 5px !important;
}

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

.mr-5 {
  margin-right: 5px !important;
}

.ml-5 {
  margin-left: 5px !important;
}

.mt-10 {
  margin-top: 10px !important;
}

.mb-10 {
  margin-bottom: 10px !important;
}

.mr-10 {
  margin-right: 10px !important;
}

.ml-10 {
  margin-left: 10px !important;
}

.mt-20 {
  margin-top: 20px !important;
}

.mb-20 {
  margin-bottom: 20px !important;
}

.mr-20 {
  margin-right: 20px !important;
}

.ml-20 {
  margin-left: 20px !important;
}

.mt-30 {
  margin-top: 30px !important;
}

.mb-30 {
  margin-bottom: 30px !important;
}

.mr-30 {
  margin-right: 30px !important;
}

.ml-30 {
  margin-left: 30px !important;
}

.mt-40 {
  margin-top: 40px !important;
}

.mb-40 {
  margin-bottom: 40px !important;
}

.mr-40 {
  margin-right: 40px !important;
}

.ml-40 {
  margin-left: 40px !important;
}

.mt-45 {
  margin-top: 45px !important;
}

.mb-45 {
  margin-bottom: 45px !important;
}

.mr-45 {
  margin-right: 45px !important;
}

.ml-45 {
  margin-left: 45px !important;
}

.mt-50 {
  margin-top: 50px !important;
}

.mb-50 {
  margin-bottom: 50px !important;
}

.mr-50 {
  margin-right: 50px !important;
}

.ml-50 {
  margin-left: 50px !important;
}

.mt-60 {
  margin-top: 60px !important;
}

.mb-60 {
  margin-bottom: 60px !important;
}

.mr-60 {
  margin-right: 60px !important;
}

.ml-60 {
  margin-left: 60px !important;
}

.mt-70 {
  margin-top: 70px !important;
}

.mb-70 {
  margin-bottom: 70px !important;
}

.mr-70 {
  margin-right: 70px !important;
}

.ml-70 {
  margin-left: 70px !important;
}

.mt-80 {
  margin-top: 80px !important;
}

.mb-80 {
  margin-bottom: 80px !important;
}

.mr-80 {
  margin-right: 80px !important;
}

.ml-80 {
  margin-left: 80px !important;
}

.mt-90 {
  margin-top: 90px !important;
}

.mb-90 {
  margin-bottom: 90px !important;
}

.mr-90 {
  margin-right: 90px !important;
}

.ml-90 {
  margin-left: 90px !important;
}

.mt-100 {
  margin-top: 100px !important;
}

.mb-100 {
  margin-bottom: 100px !important;
}

.mr-100 {
  margin-right: 100px !important;
}

.ml-100 {
  margin-left: 100px !important;
}

.mt-110 {
  margin-top: 110px !important;
}

.mb-110 {
  margin-bottom: 110px !important;
}

.mr-110 {
  margin-right: 110px !important;
}

.ml-110 {
  margin-left: 110px !important;
}

.mt-120 {
  margin-top: 120px !important;
}

.mb-120 {
  margin-bottom: 120px !important;
}

.mr-120 {
  margin-right: 120px !important;
}

.ml-120 {
  margin-left: 120px !important;
}

.mt-130 {
  margin-top: 130px !important;
}

.mb-130 {
  margin-bottom: 130px !important;
}

.mr-130 {
  margin-right: 130px !important;
}

.ml-130 {
  margin-left: 130px !important;
}

.pr-0 {
  padding-right: 0 !important;
}

.pl-0 {
  padding-left: 0 !important;
}

.pt-5 {
  padding-top: 5px !important;
}

.pb-5 {
  padding-bottom: 5px !important;
}

.pr-5 {
  padding-right: 5px !important;
}

.pl-5 {
  padding-left: 5px !important;
}

.pt-10 {
  padding-top: 10px !important;
}

.pb-10 {
  padding-bottom: 10px !important;
}

.pr-10 {
  padding-right: 10px !important;
}

.pl-10 {
  padding-left: 10px !important;
}

.pt-20 {
  padding-top: 20px !important;
}

.pb-20 {
  padding-bottom: 20px !important;
}

.pr-20 {
  padding-right: 20px !important;
}

.pl-20 {
  padding-left: 20px !important;
}

.pt-30 {
  padding-top: 30px !important;
}

.pb-30 {
  padding-bottom: 30px !important;
}

.pr-30 {
  padding-right: 30px !important;
}

.pl-30 {
  padding-left: 30px !important;
}

.pt-40 {
  padding-top: 40px !important;
}

.pb-40 {
  padding-bottom: 40px !important;
}

.pr-40 {
  padding-right: 40px !important;
}

.pl-40 {
  padding-left: 40px !important;
}

.pt-45 {
  padding-top: 45px !important;
}

.pb-45 {
  padding-bottom: 45px !important;
}

.pr-45 {
  padding-right: 45px !important;
}

.pl-45 {
  padding-left: 45px !important;
}

.pt-50 {
  padding-top: 50px !important;
}

.pb-50 {
  padding-bottom: 50px !important;
}

.pr-50 {
  padding-right: 50px !important;
}

.pl-50 {
  padding-left: 50px !important;
}

.pt-60 {
  padding-top: 60px !important;
}

.pb-60 {
  padding-bottom: 60px !important;
}

.pr-60 {
  padding-right: 60px !important;
}

.pl-60 {
  padding-left: 60px !important;
}

.pt-70 {
  padding-top: 70px !important;
}

.pb-70 {
  padding-bottom: 70px !important;
}

.pr-70 {
  padding-right: 70px !important;
}

.pl-70 {
  padding-left: 70px !important;
}

.pt-80 {
  padding-top: 80px !important;
}

.pb-80 {
  padding-bottom: 80px !important;
}

.pr-80 {
  padding-right: 80px !important;
}

.pl-80 {
  padding-left: 80px !important;
}

.pt-90 {
  padding-top: 90px !important;
}

.pb-90 {
  padding-bottom: 90px !important;
}

.pr-90 {
  padding-right: 90px !important;
}

.pl-90 {
  padding-left: 90px !important;
}

.pt-100 {
  padding-top: 100px !important;
}

.pb-100 {
  padding-bottom: 100px !important;
}

.pr-100 {
  padding-right: 100px !important;
}

.pl-100 {
  padding-left: 100px !important;
}

.pt-110 {
  padding-top: 110px !important;
}

.pb-110 {
  padding-bottom: 110px !important;
}

.pr-110 {
  padding-right: 110px !important;
}

.pl-110 {
  padding-left: 110px !important;
}

.pt-120 {
  padding-top: 120px !important;
}

.pb-120 {
  padding-bottom: 120px !important;
}

.pr-120 {
  padding-right: 120px !important;
}

.pl-120 {
  padding-left: 120px !important;
}

.pt-130 {
  padding-top: 130px !important;
}

.pb-130 {
  padding-bottom: 130px !important;
}

.pr-130 {
  padding-right: 130px !important;
}

.pl-130 {
  padding-left: 130px !important;
}

@media (max-width: 991px) {
  .order-3-md {
    order: 3;
  }
  .fz-16-md {
    font-size: 16px !important;
  }
  .mt-30 {
    margin-top: 15px !important;
  }
  .mb-30 {
    margin-bottom: 15px !important;
  }
  .mr-30 {
    margin-right: 15px !important;
  }
  .ml-30 {
    margin-left: 15px !important;
  }
  .pt-30 {
    padding-top: 15px !important;
  }
  .pb-30 {
    padding-bottom: 15px !important;
  }
  .mt-40 {
    margin-top: 20px !important;
  }
  .mb-40 {
    margin-bottom: 20px !important;
  }
  .mr-40 {
    margin-right: 20px !important;
  }
  .ml-40 {
    margin-left: 20px !important;
  }
  .pt-40 {
    padding-top: 20px !important;
  }
  .pb-40 {
    padding-bottom: 20px !important;
  }
  .mt-45 {
    margin-top: 22.5px !important;
  }
  .mb-45 {
    margin-bottom: 22.5px !important;
  }
  .mr-45 {
    margin-right: 22.5px !important;
  }
  .ml-45 {
    margin-left: 22.5px !important;
  }
  .pt-45 {
    padding-top: 22.5px !important;
  }
  .pb-45 {
    padding-bottom: 22.5px !important;
  }
  .mt-50 {
    margin-top: 25px !important;
  }
  .mb-50 {
    margin-bottom: 25px !important;
  }
  .mr-50 {
    margin-right: 25px !important;
  }
  .ml-50 {
    margin-left: 25px !important;
  }
  .pt-50 {
    padding-top: 25px !important;
  }
  .pb-50 {
    padding-bottom: 25px !important;
  }
  .pl-50 {
    padding-left: 25px !important;
  }
  .mt-60 {
    margin-top: 30px !important;
  }
  .mb-60 {
    margin-bottom: 30px !important;
  }
  .pt-60 {
    padding-top: 30px !important;
  }
  .pb-60 {
    padding-bottom: 30px !important;
  }
  .mt-70 {
    margin-top: 35px !important;
  }
  .mb-70 {
    margin-bottom: 35px !important;
  }
  .pt-70 {
    padding-top: 35px !important;
  }
  .pb-70 {
    padding-bottom: 35px !important;
  }
  .mt-80 {
    margin-top: 40px !important;
  }
  .mb-80 {
    margin-bottom: 40px !important;
  }
  .pt-80 {
    padding-top: 40px !important;
  }
  .pb-80 {
    padding-bottom: 40px !important;
  }
  .mt-90 {
    margin-top: 45px !important;
  }
  .mb-90 {
    margin-bottom: 45px !important;
  }
  .pt-90 {
    padding-top: 45px !important;
  }
  .pb-90 {
    padding-bottom: 45px !important;
  }
  .mt-100 {
    margin-top: 50px !important;
  }
  .mb-100 {
    margin-bottom: 50px !important;
  }
  .pt-100 {
    padding-top: 50px !important;
  }
  .pb-100 {
    padding-bottom: 50px !important;
  }
  .mt-110 {
    margin-top: 55px !important;
  }
  .mb-110 {
    margin-bottom: 55px !important;
  }
  .pt-110 {
    padding-top: 55px !important;
  }
  .pb-110 {
    padding-bottom: 55px !important;
  }
  .mt-120 {
    margin-top: 60px !important;
  }
  .mb-120 {
    margin-bottom: 60px !important;
  }
  .pt-120 {
    padding-top: 60px !important;
  }
  .pb-120 {
    padding-bottom: 60px !important;
  }
  .mt-130 {
    margin-top: 65px !important;
  }
  .mb-130 {
    margin-bottom: 65px !important;
  }
  .pt-130 {
    padding-top: 65px !important;
  }
  .pb-130 {
    padding-bottom: 65px !important;
  }
}
@media (max-width: 991px) {
  .order-1-md {
    order: 1 !important;
  }
  .order-2-md {
    order: 2 !important;
  }
}
@media (max-width: 768px) {
  section {
    padding-top: 60px;
    padding-bottom: 60px;
  }
}
@media (max-width: 576px) {
  section {
    padding-top: 50px;
    padding-bottom: 50px;
  }
  .sticky-top {
    z-index: 1;
  }
}
/*-------------------------
   Background & Colors
--------------------------*/
.color-gray {
  color: var(--color-gray-100) !important;
}

.color-gray-400 {
  color: var(--color-gray-400) !important;
}

.color-dark {
  color: var(--color-dark) !important;
}

.color-primary,
.color-primary-hover:hover {
  color: var(--color-primary) !important;
}

.color-primary-200 {
  color: var(--color-primary-200) !important;
}

a.color-primary:hover {
  color: var(--color-secondary) !important;
}

.color-secondary {
  color: var(--color-secondary) !important;
}

a.color-secondary:hover {
  color: var(--color-primary) !important;
}

.color-heading {
  color: var(--color-accent) !important;
}

.color-body {
  color: var(--bs-gray) !important;
}

.color-white,
.color-white-hover:hover,
a.color-white-hover:hover {
  color: var(--color-white) !important;
}

.bg-transparent {
  background-color: transparent;
}

.bg-primary-300 {
  background-color: var(--color-primary-300) !important;
}

.bg-primary-700 {
  background-color: var(--color-primary-700) !important;
}

.bg-gray-700 {
  background-color: var(--color-gray-700) !important;
}

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

.bg-gray {
  background-color: var(--color-gray-100) !important;
}

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

.bg-heading {
  background-color: var(--color-accent) !important;
}

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

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

.bg-white-blured {
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  background-color: rgba(var(--color-white-rgb), 0.85);
}

.bg-img {
  position: relative;
  z-index: 1;
}

.background-size-auto {
  background-size: auto !important;
}

.bg-parallax {
  background-attachment: fixed;
}

.bg-overlay:before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
  background-color: rgba(27, 26, 26, 0.25);
}

.bg-overlay-gray-primary:before {
  background:
    linear-gradient(
      320deg,
      rgba(var(--color-primary-rgb), 0.4) 0%,
      transparent 35%
    ),
    linear-gradient(
      to bottom,
      rgba(243, 247, 251, 0) 0%,
      rgba(245, 248, 250, 0) 34%,
      var(--color-gray-100) 98%,
      var(--color-gray-100) 100%
    );
}

.overlay-shadow-bottom-left,
.overlay-shadow-bottom-right {
  background-position: bottom left;
  background-repeat: no-repeat;
}

.overlay-shadow-bottom-left {
  background-image: url(../images/shapes/3.webp);
}

.overlay-shadow-bottom-right {
  background-image: url(../images/shapes/4.webp);
}

.bg-overlay-2:before {
  background-color: rgba(27, 26, 26, 0.15);
}

.bg-overlay-3:before {
  background-color: rgba(27, 26, 26, 0.05);
}

.bg-overlay-gradient:before {
  background-color: transparent;
  opacity: 0.65;
  background-image: linear-gradient(
    180deg,
    #010711 0%,
    rgba(27, 26, 26, 0.65) 34%
  );
}

.bg-overlay-primary:before {
  background-color: rgba(var(--color-primary-rgb), 0.9);
}

.bg-overlay-primary-gradient:before {
  background-color: rgba(var(--color-primary-rgb), 0.85);
}
.bg-overlay-primary-gradient:after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: -1;
  background: linear-gradient(
    to bottom,
    rgba(37, 55, 69, 0) 0%,
    rgba(254, 91, 44, 0.04) 3%,
    var(--color-primary) 80%
  );
}

.bg-overlay-secondary-gradient:before {
  opacity: 0.87;
  background-color: var(--color-secondary);
}
.bg-overlay-secondary-gradient:after {
  --overlay-color: 228, 164, 0;
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: -1;
  background-image: linear-gradient(
    to bottom,
    rgba(var(--overlay-color), 0) 0%,
    var(--color-secondary) 80%,
    var(--color-secondary) 100%
  );
}

.bg-overlay-gray:before {
  opacity: 0.9;
  background-color: #f6f6f1;
}
.bg-overlay-gray:after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: -1;
  background: linear-gradient(
    to bottom,
    #f6f6f1 0%,
    #f6f6f1 20%,
    rgba(246, 246, 241, 0.04) 97%,
    rgba(246, 246, 241, 0) 100%
  );
}

.bg-gray-gradient {
  background: linear-gradient(
    to bottom,
    var(--color-gray-100) 0%,
    var(--color-gray-100) 34%,
    rgba(249, 249, 249, 0) 98%,
    rgba(249, 249, 249, 0) 100%
  );
}

@media (min-width: 1200px) {
  .has-pattern-bg:after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    width: 453px;
    height: 492px;
    z-index: 1;
    background-image: url(../images/patterns/1.png);
  }
}
/*-------------------------
   Typography
--------------------------*/
h1,
h2,
h3,
h4,
h5,
h6 {
  color: var(--color-secondary);
  font-family: var(--font-primary);
  font-weight: 700;
  line-height: 1.4;
  margin-bottom: 20px;
}

p {
  line-height: 1.7;
  margin-bottom: 15px;
}

h1 {
  font-size: 52px;
}

h2 {
  font-size: 42px;
}

h3 {
  font-size: 38px;
}

h4 {
  font-size: 32px;
}

h5 {
  font-size: 24px;
}

h6 {
  font-size: 18px;
}

.heading-layout1 {
  --heading-title-font-size: 37px;
  --heading-desc-font-size: 16px;
}

.heading-layout2 {
  --heading-title-font-size: 40px;
  --heading-desc-font-size: 17px;
}

.heading-subtitle {
  font-size: 16px;
  font-weight: 600;
  color: var(--color-primary);
  margin-bottom: 12px;
}

.heading-title {
  font-family: var(--font-secondary);
  font-weight: 500;
  font-size: var(--heading-title-font-size);
  margin-bottom: 20px;
}
.heading-title .underlined-text {
  border-bottom: 4px solid var(--color-primary);
}

.heading-desc {
  font-size: var(--heading-desc-font-size);
  margin-bottom: 0;
}

.heading-light .heading-subtitle {
  color: #f0f1f4;
}
.heading-light .heading-title {
  color: var(--color-white);
}
.heading-light .heading-desc {
  color: var(--color-gray-100);
}

.text-block-title {
  font-size: 24px;
  margin-bottom: 14px;
}

.text-link {
  font-size: 15px;
}
.text-link a:not(.btn) {
  padding-bottom: 2px;
  border-bottom: 2px solid var(--color-primary);
}
.text-link a:not(.btn).color-secondary {
  color: var(--color-secondary);
  border-bottom-color: var(--color-secondary);
}
.text-link:hover a:not(.btn) {
  color: var(--color-secondary);
  border-bottom-color: var(--color-secondary);
}
.text-link:hover a:not(.btn).color-secondary {
  color: var(--color-primary);
  border-bottom-color: var(--color-primary);
}
.text-link:hover a:not(.btn).color-white-hover {
  border-bottom-color: var(--color-white);
}

[class*="underlined-text"] {
  padding-bottom: 2px;
  border-bottom: 2px solid;
}

.underlined-text,
.underlined-text-primary {
  border-bottom-color: var(--color-primary);
}

.underlined-text-secondary {
  border-bottom-color: var(--color-secondary);
}

.divider {
  --bg-color: var(--color-primary);
  height: 4px;
  background-color: var(--bg-color);
}
.divider-secondary {
  --bg-color: var(--color-secondary);
}

.custom-section-title {
  --section-title-size: 90px;
  --section-title-padding: 90px;
  --section-title-margin-bottom: 60px;
  font-family: var(--font-secondary);
  font-weight: 500;
  font-size: var(--section-title-size);
  margin-bottom: var(--section-title-margin-bottom);
}
.custom-section-title.space-start {
  padding-inline-start: var(--section-title-padding);
}
.custom-section-title.space-end {
  padding-inline-end: var(--section-title-padding);
}
.custom-section-title a {
  color: var(--color-secondary);
}
.custom-section-title a:hover {
  color: var(--color-primary);
}

.section-full-width {
  --section-padding-inline: 15px;
}
.section-full-width .container {
  max-width: none;
  padding-inline: var(--section-padding-inline);
}

@media (min-width: 1200px) {
  .section-full-width {
    --section-padding-inline: 30px;
  }
  .text-block-desc {
    font-size: 17px;
  }
}
@media (min-width: 1400px) {
  .section-full-width {
    --section-padding-inline: 50px;
  }
}
@media (max-width: 1199px) {
  .custom-section-title {
    --section-title-size: 40px;
    --section-title-padding: 0;
    --section-title-margin-bottom: 30px;
  }
  .heading-layout1 {
    --heading-title-font-size: 30px;
    --heading-desc-font-size: 14px;
  }
  .heading-layout2 {
    --heading-title-font-size: 32px;
    --heading-desc-font-size: 15px;
  }
}
@media (max-width: 991px) {
  .heading-layout1 {
    --heading-title-font-size: 26px;
    --heading-desc-font-size: 14px;
  }
  .heading-layout2 {
    --heading-title-font-size: 30px;
    --heading-desc-font-size: 15px;
  }
}
/* Mobile Phones and tablets  */
@media (max-width: 767px) {
  .heading-desc,
  .heading-subtitle,
  .text-link {
    font-size: 14px;
  }
  .text-block-desc {
    font-size: 14px;
    margin-bottom: 10px;
  }
}
/*-------------------------
    page title 
-------------------------*/
[class*="page-title"] {
  --section-padding: 280px 0 35px;
  --heading-font-size: 65px;
  --heading-margin: 0 0 20px;
  --desc-font-size: 17px;
  --desc-font-weight: 700;
  --desc-max-width: 540px;
  --btn-margin-top: 35px;
  --breadcrumb-margin: 0;
  padding: var(--section-padding);
  background-position: top center !important;
}
[class*="page-title"] .pagetitle-subheading {
  padding: 10px 20px;
  border-radius: 10px;
  color: var(--color-white);
  background-color: var(--color-primary);
  font-size: 16px;
  font-weight: 700;
  display: inline-block;
  margin-bottom: 15px;
}
[class*="page-title"] .pagetitle-heading {
  font-family: var(--font-secondary);
  font-size: var(--heading-font-size);
  line-height: 1.2;
  font-weight: 500;
  margin: var(--heading-margin);
}
[class*="page-title"] .pagetitle-desc {
  font-size: var(--desc-font-size);
  font-weight: var(--desc-font-weight);
  max-width: var(--desc-max-width);
  margin-bottom: 0;
}
[class*="page-title"] .breadcrumb {
  margin: var(--breadcrumb-amrgin);
}
[class*="page-title"] .btn,
[class*="page-title"] .video-btn {
  margin-top: var(--btn-margin-top);
}
[class*="page-title"].bg-overlay:before {
  background-position: top right;
  background-repeat: no-repeat;
  background-image: url(../images/shapes/7.png);
  background-color: rgba(27, 26, 26, 0.25);
}
[class*="page-title"].bg-overlay:after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: -2;
  opacity: 0.6;
  background: linear-gradient(
    to bottom,
    #1b1a1a 0%,
    #1b1a1a 20%,
    rgba(27, 26, 26, 0) 65%,
    rgba(27, 26, 26, 0) 100%
  );
}

.page-title-light .breadcrumb-item {
  --bs-breadcrumb-divider-color: var(--color-white);
}
.page-title-light .pagetitle-heading,
.page-title-light .breadcrumb-item a,
.page-title-light .breadcrumb-item.active {
  color: var(--color-white);
}
.page-title-light .breadcrumb-item a:hover {
  color: var(--color-primary);
}
.page-title-light .pagetitle-desc {
  color: var(--color-gray-100);
}

.page-title-layout1 {
  --heading-margin: 0 0 130px;
}

.page-title-layout2 {
  --section-padding: 235px 0 150px;
  --heading-font-size: 55px;
}
.page-title-layout2 .pagetitle-desc {
  max-width: 540px;
}

.page-title-layout3 {
  --section-padding: 280px 0 145px;
}

.page-title-layout4 {
  --breadcrumb-margin: 130px 0 0;
}

.page-title-layout5 {
  --section-padding: 230px 0 140px;
  --desc-font-weight: 400;
  --desc-max-width: 520px;
}

.page-title-layout6 {
  --section-padding: 500px 0 30px;
}

.page-title-layout7 {
  --section-padding: 190px 0 90px;
}

@media (min-width: 1200px) {
  .page-title-layout4 {
    --heading-margin: 0 0 170px;
  }
}
@media (max-width: 991px) {
  [class*="page-title"] {
    --section-padding: 90px 0 35px;
    --heading-font-size: 35px;
    --heading-margin: 0 0 20px;
    --desc-font-size: 15px;
  }
  [class*="page-title"].bg-overlay:before {
    opacity: 0.3;
  }
  .page-title-layout4 {
    --breadcrumb-margin: 50px 0 0;
  }
  .page-title-layout6 {
    --section-padding: 200px 0 30px;
  }
  .page-title-layout7 {
    --section-padding: 100px 0 50px;
  }
}
/* Mobile Phones and tablets */
@media (max-width: 767px) {
  .pagetitle-desc {
    font-size: 16px;
  }
}
/*--------------------
   Buttons
---------------------*/
.btn {
  --btn-height: 68px;
  --btn-min-width: 175px;
  --bs-btn-padding-x: 25px;
  --bs-btn-padding-y: 0;
  --bs-border-width: 2px;
  --bs-btn-font-size: 15px;
  --bs-btn-font-weight: 700;
  --bs-btn-box-shadow: none;
  --btn-inner-space: 8px;
  --bs-border-radius: 0;
  position: relative;
  z-index: 1;
  min-width: var(--btn-min-width);
  height: var(--btn-height);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  text-transform: capitalize;
  gap: var(--btn-inner-space);
  transition: all 0.3s ease;
}
.btn:focus,
.btn.active,
.btn:active {
  box-shadow: none;
  outline: none;
}
.btn .icon-filled {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  margin-inline-start: 5px;
  color: var(--bs-btn-bg);
  background-color: var(--bs-btn-color);
  transition: all 0.3s linear;
}
.btn:hover .icon-filled {
  color: var(--bs-btn-hover-bg);
  background-color: var(--bs-btn-hover-color);
}
.btn:hover .icon-right-up {
  transform: rotate(45deg);
}

.btn-primary {
  --bs-btn-color: var(--color-white);
  --bs-btn-bg: var(--color-primary);
  --bs-btn-border-color: var(--color-primary);
  --bs-btn-hover-color: var(--color-white);
  --bs-btn-hover-bg: var(--color-secondary);
  --bs-btn-hover-border-color: var(--color-secondary);
  --bs-btn-active-color: var(--color-white);
  --bs-btn-active-bg: var(--color-secondary);
  --bs-btn-active-border-color: var(--color-secondary);
  --bs-btn-active-shadow: none;
  --bs-btn-focus-shadow-rgb: none;
  --bs-btn-disabled-bg: var(--color-primary);
  --bs-btn-disabled-border-color: var(--color-primary);
}
.btn-primary.btn-outlined {
  color: var(--color-primary);
  background-color: transparent;
  border: 2px solid var(--color-primary);
}
.btn-primary.btn-outlined:hover {
  color: var(--color-secondary);
  background-color: var(--color-primary);
}
.btn-primary.same-hover {
  --bs-btn-hover-color: var(--bs-btn-color) !important;
  --bs-btn-hover-bg: var(--bs-btn-bg) !important;
  --bs-btn-hover-border-color: var(--bs-btn-border-color) !important;
}
.btn-primary-style2 {
  color: var(--color-white);
  background-color: var(--color-primary-200);
}
.btn-primary-style2:hover {
  color: var(--color-white);
  background-color: var(--color-primary);
}
.btn-primary-style2:active,
.btn-primary-style2:focus,
.btn-primary-style2:not(.btn-outlined):hover {
  color: var(--color-white);
  border-color: var(--color-secondary);
  background-color: var(--color-secondary);
}

.btn-secondary {
  --bs-btn-color: var(--color-white);
  --bs-btn-bg: var(--color-secondary);
  --bs-btn-border-color: var(--color-secondary);
  --bs-btn-hover-color: var(--color-white);
  --bs-btn-hover-bg: var(--color-primary);
  --bs-btn-hover-border-color: var(--color-primary);
  --bs-btn-focus-shadow-rgb: none;
  --bs-btn-active-color: var(--color-white);
  --bs-btn-active-bg: var(--color-primary);
  --bs-btn-active-border-color: var(--color-primary);
  --bs-btn-active-shadow: none;
  --bs-btn-disabled-color: var(--color-white);
  --bs-btn-disabled-bg: var(--color-secondary);
  --bs-btn-disabled-border-color: var(--color-secondary);
}
.btn-secondary.btn-outlined {
  color: var(--color-secondary);
  background-color: transparent;
  border: 2px solid #bcbcbc;
}
.btn-secondary.btn-outlined:hover {
  color: var(--color-white);
  border-color: var(--color-secondary);
  background-color: var(--color-secondary);
}
.btn-secondary.same-hover {
  --bs-btn-hover-color: var(--bs-btn-color);
  --bs-btn-hover-bg: var(--bs-btn-bg);
  --bs-btn-hover-border-color: var(--bs-btn-border-color);
}
.btn-secondary-style2:active,
.btn-secondary-style2:focus,
.btn-secondary-style2:not(.btn-outlined):hover {
  color: var(--color-secondary);
  background-color: var(--color-white);
}

.btn-white {
  --btn-color: var(--color-secondary);
  --btn-color-hover: var(--color-white);
  --btn-bg: var(--color-white);
  --btn-bg-hover: var(--color-secondary);
  color: var(--btn-color);
  background-color: var(--btn-bg);
}
.btn-white:active,
.btn-white:focus,
.btn-white:not(.btn-link):hover,
.btn-white:not(.btn-underlined):hover {
  color: var(--btn-color-hover);
  background-color: var(--btn-bg-hover);
}
.btn-white-style2 {
  --btn-color: var(--color-primary);
  --btn-color-hover: var(--color-white);
  --btn-bg: var(--color-white);
  --btn-bg-hover: var(--color-primary);
}
.btn-white.same-hover {
  --btn-color: var(--color-secondary);
  --btn-color-hover: var(--color-secondary);
  --btn-bg: var(--color-white);
  --btn-bg-hover: var(--color-white);
}
.btn-white.btn-outlined {
  --btn-color: var(--color-white);
  --btn-color-hover: var(--color-secondary);
  --btn-bg-hover: var(--color-white);
  --bs-btn-border-color: var(--color-white);
}

.btn-light {
  color: var(--color-secondary);
  background-color: var(--color-light);
}
.btn-light:active,
.btn-light:focus {
  color: var(--color-secondary);
  border-color: var(--color-light);
  background-color: var(--color-light);
}
.btn-light:hover {
  color: var(--color-white);
  border-color: var(--color-white);
  background-color: var(--color-secondary);
}

.btn-outlined {
  --btn-bg: transparent;
}

.btn-link {
  --bs-btn-padding-x: 0;
  --bs-btn-padding-y: 0;
  --bs-btn-bg: transparent;
  --bs-btn-hover-bg: transparent;
  --btn-bg: transparent;
  --btn-bg-hover: transparent;
  --bs-border-width: 0;
  min-width: 0;
  height: auto;
  text-decoration: none;
  border-color: transparent;
  background-color: var(--bs-btn-bg);
}
.btn-link.btn-underlined:after {
  content: "";
  position: absolute;
  bottom: 0;
  right: 0;
  width: 100%;
  height: 1px;
  background-color: var(--bs-btn-color);
  transition: all 0.5s ease;
}
.btn-link.btn-underlined:hover {
  --bs-btn-hover-color: var(--color-secondary);
}
.btn-link.btn-underlined:hover:after {
  width: 0;
}
.btn-link.btn-primary {
  --bs-btn-color: var(--color-primary);
  --bs-btn-bg: transparent;
}
.btn-link.btn-primary:hover {
  --bs-btn-hover-color: var(--color-secondary);
}
.btn-link.btn-secondary {
  --bs-btn-color: var(--color-secondary);
}
.btn-link.btn-secondary:hover {
  --bs-btn-hover-color: var(--color-primary);
}
.btn-link.btn-white {
  --btn-color: var(--color-white);
  --bs-btn-color: var(--btn-color);
  --btn-color-hover: var(--color-secondary);
  --bs-btn-hover-color: var(--btn-color-hover);
}
.btn-link.btn-white:hover {
  color: var(--btn-color-hover);
}

.btn-underlined-primary {
  border-bottom-color: var(--color-primary) !important;
}
.btn-underlined-primary:hover {
  border-bottom-color: inherit !important;
}

.btn-underlined {
  padding-bottom: 2px;
}

.btn-block {
  width: 100%;
}

.btn-compacted {
  min-width: 175px;
}

.btn-wide {
  min-width: 250px;
}

.btn-social {
  height: 54px;
  line-height: 54px;
  width: 54px;
  min-width: 0 !important;
  font-weight: 400;
  color: var(--color-white);
  border-radius: 3px;
}

.btn-icon-custom {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  flex: 0 0 48px;
  font-size: 16px;
  border-radius: 50%;
  margin: 10px;
  color: var(--color-white);
  background-color: var(--color-primary);
  box-shadow: 0 0 0 10px #f0f1f4;
}

@media (min-width: 992px) {
  .btn-lg {
    --bs-btn-border-radius: var(--bs-border-radius);
    --btn-min-width: 225px;
  }
  .btn-xl {
    --btn-height: 68px;
    --btn-min-width: 250px;
    --btn-inner-space: 7px;
  }
  .btn-xheight {
    --btn-height: 68px;
  }
}
/* Mobile Phones and tablets */
@media (max-width: 767px) {
  .btn:not(.btn-link) {
    --btn-height: 50px;
    --btn-min-width: 145px;
    --bs-btn-padding-x: 15px;
  }
}
/*---------------------------
        Forms
----------------------------*/
:root {
  --form-margin-bottom: 30px;
  --form-control-height: 48px;
  --form-control-padding-x: 0;
  --form-control-font-size: 15px;
  --form-control-color: var(--color-gray-400);
  --form-control-bg: transparent;
  --form-control-radius: 2px;
  --form-control-border-width: 2px;
  --form-control-border-color: var(--color-gray-200);
  --form-control-focus-border-color: var(--color-primary);
  --form-control-placeholder-color: var(--color-gray-400);
  --form-checkbox-size: 17px;
  --form-radio-dot-size: 7px;
}

.form-group {
  position: relative;
  margin-bottom: var(--form-margin-bottom);
}
@media (max-width: 767px) {
  .form-group {
    --form-margin-bottom: 20px;
  }
}

label {
  font-size: 14px;
  font-weight: 700;
  line-height: 1;
  margin-bottom: 10px;
  color: var(--color-secondary);
  transition: all 0.3s ease;
}
label.error {
  color: red;
  font-size: 14px;
  font-weight: 400;
  margin: 7px 0 0 0;
}

.form-control {
  font-size: var(--form-control-font-size);
  height: var(--form-control-height);
  padding: 0 var(--form-control-padding-x);
  color: var(--form-control-color);
  background-color: var(--form-control-bg);
  border-radius: var(--form-control-radius);
  border: 0;
  border-bottom: var(--form-control-border-width) solid
    var(--form-control-border-color);
  transition: all 0.3s ease;
}
.form-control:focus {
  color: var(--form-control-color);
  border-color: var(--form-control-focus-border-color);
  background-color: var(--form-control-bg);
}
.form-control::-webkit-input-placeholder {
  color: var(--form-control-placeholder-color);
}
.form-control:-moz-placeholder {
  color: var(--form-control-placeholder-color);
}
.form-control::-moz-placeholder {
  color: var(--form-control-placeholder-color);
}
.form-control:-ms-input-placeholder {
  color: var(--form-control-placeholder-color);
}
.form-control[type="date"]::-webkit-inner-spin-button,
.form-control[type="date"]::-webkit-calendar-picker-indicator,
.form-control[type="time"]::-webkit-inner-spin-button,
.form-control[type="time"]::-webkit-calendar-picker-indicator {
  display: block;
  width: 100%;
  height: 100%;
  margin: 0;
  opacity: 0;
}

textarea.form-control {
  min-height: 120px;
  padding-top: 16px;
}

.float-select {
  position: relative;
  padding-top: 20px;
  transition: all 0.3s ease;
}
.float-select:after {
  content: "\e931";
  font-family: "icomoon";
  position: absolute;
  top: calc(50% - 5px);
  right: var(--form-control-padding-x);
  font-size: 10px;
  opacity: 0;
  transition: all 0.3s ease;
}
.float-select label {
  font-weight: 400;
}
.float-select select {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  opacity: 0;
  padding: 18px var(--form-control-padding-x) 0;
  font-weight: 700;
  font-size: 14px;
  border: 0;
  color: var(--color-secondary);
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  text-indent: 1px;
  transition: all 0.3s ease;
}
.float-select select::-ms-expand {
  display: none;
}
.float-select:hover:after,
.float-select:hover select,
.float-select.selected:after,
.float-select.selected select {
  opacity: 1;
}
.float-select:hover label,
.float-select.selected label {
  font-size: 12px;
  transform: translateY(-9px);
}

.nice-select {
  z-index: 2;
  width: 100%;
  height: var(--form-control-height);
  line-height: var(--form-control-height);
  border-radius: 2px;
  margin-bottom: var(--form-margin-bottom);
}
.nice-select .list,
.nice-select .nice-select-dropdown {
  width: 100%;
}
.nice-select .current,
.nice-select .option {
  color: var(--bs-gray);
}
.nice-select.open {
  z-index: 10;
}
@media (max-width: 767px) {
  .nice-select {
    margin-bottom: 20px;
  }
}

.custom-control {
  display: flex;
  align-items: center;
}
.custom-control-inline {
  margin-bottom: 20px;
  margin-inline-end: 18px;
}

.custom-checkbox {
  position: relative;
}
.custom-checkbox input[type="checkbox"],
.custom-checkbox input[type="radio"] {
  display: none;
}

.checkbox-controls .custom-checkbox {
  margin-right: 27px;
  margin-bottom: 20px;
}
.checkbox-controls .custom-checkbox label {
  color: var(--bs-gray);
}

.custom-control-label {
  font-weight: 400;
  margin-bottom: 0;
  padding-left: 27px;
  cursor: pointer;
}
.custom-control-label:before {
  content: "";
  position: absolute;
  top: -2px;
  left: 0;
  width: var(--form-checkbox-size);
  height: var(--form-checkbox-size);
  border-radius: 3px;
  pointer-events: none;
  border: 2px solid var(--color-gray-600);
  transition: all 0.3s ease;
}
.custom-control-label:after {
  content: "";
  position: absolute;
  top: 3px;
  left: 5px;
  width: var(--form-radio-dot-size);
  height: var(--form-radio-dot-size);
  border-radius: 50%;
  pointer-events: none;
  background-color: var(--color-secondary);
  transform: scale(0);
  transition: all 0.3s ease;
}

.custom-control-input:checked ~ .custom-control-label:before,
.custom-control-input:not(:disabled):active ~ .custom-control-label:before {
  border-color: var(--color-primary);
}
.custom-control-input:checked ~ .custom-control-label:after,
.custom-control-input:not(:disabled):active ~ .custom-control-label:after {
  transform: scale(1);
}
.custom-control-input:focus ~ .custom-control-label::before {
  box-shadow: none;
}

.label-radio {
  display: block;
  position: relative;
  padding-left: 26px;
  margin-bottom: 0;
  cursor: pointer;
  font-size: 13px;
  font-weight: 400;
  color: var(--bs-gray);
}
.label-radio input {
  position: absolute;
  z-index: -1;
  opacity: 0;
}
.label-radio input:checked ~ .radio-indicator {
  background: transparent;
}
.label-radio input:checked ~ .radio-indicator:after {
  display: block;
}
.label-radio input:not([disabled]):checked ~ .radio-indicator,
.label-radio input:checked:focus ~ .radio-indicator {
  background: transparent;
}

.radio-indicator {
  position: absolute;
  top: -1px;
  left: 0;
  height: var(--form-checkbox-size);
  width: var(--form-checkbox-size);
  background: transparent;
  border: 2px solid var(--color-gray-200);
  border-radius: 50%;
}
.radio-indicator:after {
  content: "";
  position: absolute;
  display: none;
  left: 3px;
  top: 3px;
  height: var(--form-radio-dot-size);
  width: var(--form-radio-dot-size);
  border-radius: 50%;
  background: var(--color-primary);
}

.form-group-date .form-group-icon {
  position: absolute;
  top: 53%;
  left: 20px;
  display: flex;
  align-items: center;
  pointer-events: none;
}

.form-title {
  font-size: 18px;
  line-height: 1;
  margin-bottom: 20px;
}

input[type="checkbox"],
input[type="radio"] {
  box-shadow: none !important;
}

/*--------------------
    Tabs
--------------------*/
.nav-tabs {
  --bs-nav-link-padding-x: 0;
  --bs-nav-link-padding-y: 7px;
  --bs-nav-link-font-weight: 700;
  --bs-nav-link-color: var(--color-secondary);
  --bs-nav-link-hover-color: var(--color-secondary);
  --bs-nav-tabs-border-width: 0;
  --bs-nav-tabs-border-color: var(--color-primary-200);
  --bs-nav-tabs-border-radius: 0;
  --bs-nav-tabs-link-hover-border-color: var(--color-primary);
  --bs-nav-tabs-link-active-bg: transparent;
  --bs-nav-tabs-link-active-border-color: var(--color-primary);
  --link-margin-x: 20px;
}
.nav-tabs .nav-link {
  position: relative;
  margin-bottom: -2px;
}
.nav-tabs .nav-link:not(:last-of-type) {
  margin-inline-end: var(--link-margin-x);
}
.nav-tabs .nav-link:after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 3px;
  background-color: var(--color-primary);
  transform: scale3d(0, 1, 1);
  transform-origin: 100% 50%;
  transition: transform 2s cubic-bezier(0.2, 1, 0.3, 1);
}
.nav-tabs .nav-link.active,
.nav-tabs .nav-link:hover {
  color: var(--color-primary);
}
.nav-tabs .nav-link.active:after,
.nav-tabs .nav-link:hover:after {
  transform: scale3d(1, 1, 1);
  transform-origin: 0 50%;
}

/* Mobile Phones and tablets */
@media (max-width: 767px) {
  .nav-tabs .nav-link {
    font-size: 13px;
  }
}
/*------------------- 
    Icons & clip paths
------------------*/
.social-icons {
  --space-x: 20px;
  --icon-size: 20px;
  --icon-color: var(--color-secondary);
  --icon-color-hover: var(--color-primary);
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}
.social-icons li a {
  display: flex;
  align-items: center;
  color: var(--icon-color);
  font-size: var(--icon-size);
  transition: all 0.4s ease;
}
.social-icons li a:hover {
  color: var(--icon-color-hover);
}
.social-icons li:not(:last-child) {
  margin-inline-end: var(--space-x);
}
.social-icons-light {
  --icon-color: var(--color-white);
  --icon-color-hover: var(--color-primary);
}

.plus-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 26px;
  height: 26px;
  border-radius: 50%;
  font-size: 22px;
  font-weight: 700;
  margin-right: 3px;
  font-style: normal;
  color: var(--color-white);
  background-color: var(--color-primary);
  transition: all 0.3s linear;
}

.rating .active {
  color: #f4572e;
}

.arrow-flip {
  display: inline-block;
}

[class*="arrow-hover-flip-"] .arrow-flip-path-1 {
  transform: translate(0px, 0px);
  transition-delay: 0.1s;
}

.arrow-hover-flip-up .arrow-flip-path-2 {
  opacity: 0;
  transform: translate(-60px, 60px);
  transition-delay: 0s;
}

[class*="arrow-hover-flip-"] .arrow-flip-path-2,
[class*="arrow-hover-flip-"] .arrow-flip-path-3 {
  transition-delay: 0s;
}

[class*="arrow-hover-flip-"] [class*="arrow-flip-path"] {
  transition: transform 0.3s cubic-bezier(0.46, 0.03, 0.52, 0.96);
  will-change: transform;
}

.arrow-hover-flip-up:hover .arrow-flip-path-1 {
  transform: translate(60px, -60px);
  transition-delay: 0s;
}

.arrow-hover-flip-up:hover .arrow-flip-path-2,
.arrow-hover-flip-up:hover .arrow-flip-path-3 {
  transform: translate(0px, 0px);
  transition-delay: 0.1s;
  opacity: 1;
}

.animated-arrow-hover {
  --stoke-dashoffset: 140px;
}
.animated-arrow-hover path {
  stroke-dashoffset: 0;
  stroke-dasharray: var(--stoke-dashoffset);
  transition: all 0.8s cubic-bezier(0, 0, 0.5, 0.98);
}
.animated-arrow-hover:hover path {
  stroke-dashoffset: calc(2 * var(--stoke-dashoffset));
}

/*-------------------------
    Breadcrumb
--------------------------*/
.breadcrumb {
  padding: 0;
  background-color: transparent;
}

.breadcrumb-item {
  position: relative;
  font-size: 14px;
  --bs-breadcrumb-divider-color: var(--color-primary-200);
}
.breadcrumb-item a {
  font-weight: 700;
  color: var(--bs-breadcrumb-divider-color);
}

.breadcrumb-item + .breadcrumb-item::before {
  font-family: var(--font-icons);
  content: "\e930";
  font-size: 10px;
  float: none;
}

/* Mobile Phones and tablets */
@media (max-width: 767px) {
  .breadcrumb-item a,
  .breadcrumb-item + .breadcrumb-item {
    font-size: 13px;
  }
}
/*----------------------
    Pagination
-----------------------*/
.pagination {
  --bs-pagination-font-size: 18px;
  --bs-pagination-color: var(--color-secondary);
  --bs-pagination-bg: var(--color-white);
  --bs-pagination-border-width: 0;
  --bs-pagination-border-color: #bcbcbc;
  --bs-pagination-border-radius: 50%;
  --bs-pagination-hover-color: var(--color-white);
  --bs-pagination-hover-bg: var(--color-primary);
  --bs-pagination-hover-border-color: var(--color-primary);
  --bs-pagination-focus-color: var(--color-secondary);
  --bs-pagination-focus-bg: var(--color-primary);
  --bs-pagination-focus-box-shadow: none;
  --bs-pagination-active-color: var(--color-white);
  --bs-pagination-active-bg: var(--color-primary);
  --bs-pagination-active-border-color: var(--color-primary);
}
.pagination .page-item:not(:last-child) {
  margin-inline-end: 10px;
}
.pagination .page-item:not(:last-child) .page-link {
  --bs-pagination-border-width: 2px;
  width: 58px;
  height: 58px;
  border-radius: var(--bs-pagination-border-radius);
}
.pagination .page-item.next {
  --bs-pagination-font-size: 15px;
  --bs-pagination-hover-bg: transparent;
  --bs-pagination-hover-color: var(--color-primary);
  --bs-pagination-active-color: var(--color-primary);
  --bs-pagination-active-bg: transparent;
  --bs-pagination-focus-color: var(--color-primary);
  --bs-pagination-focus-bg: transparent;
}
.pagination .page-item.next span,
.pagination .page-item.next i {
  padding: 4px;
}
.pagination .page-link {
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  transition: all 0.3s ease-in-out;
}

/* Mobile Phones and tablets */
@media (max-width: 767px) {
  .pagination {
    --bs-pagination-font-size: 13px;
  }
  .pagination .page-item:not(:last-child) .page-link {
    width: 35px;
    height: 35px;
  }
}
/*-------------------
    lists
-------------------*/
.list-item {
  --padding-x: 30px;
  --padding-y: 15px;
  --font-size: 14px;
  --item-font-weight: 400;
  --item-bg: transparent;
  --item-color: var(--color-secondary);
  --item-icon-color: var(--color-primary);
  --item-border-bottom: 1px solid var(--color-gray-200);
  position: relative;
  font-size: var(--font-size);
  font-weight: var(--item-font-weight);
  padding: var(--padding-y) 0;
  color: var(--item-color);
  background-color: var(--item-bg);
  margin-inline-start: var(--padding-x);
}
.list-item:before {
  font-family: "icomoon";
  content: "\e968";
  position: absolute;
  top: 50%;
  left: calc(var(--padding-x) * -1);
  font-size: 10px;
  color: var(--item-icon-color);
  transform: translateY(-50%);
}
.list-item:not(:last-child) {
  border-bottom: var(--item-border-bottom);
}

.list-items-layout2 .list-item {
  --padding-x: 35px;
  --item-icon-bg: var(--color-secondary);
}
.list-items-layout2 .list-item:before {
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  font-size: 21px;
  width: 20px;
  height: 20px;
  background-color: var(--item-icon-bg);
}

.list-items-layout3 .list-item {
  --font-size: 18px;
  --padding-y: 23px;
  --item-font-weight: 700;
  --item-border-bottom: 1px solid rgb(234, 234, 234, 0.35);
  overflow: hidden;
  margin-inline-start: 0;
}
.list-items-layout3 .list-item:before {
  display: none;
}
.list-items-layout3 .list-item:after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 0;
  height: 1px;
  background-color: var(--color-primary);
  transition: width 0.4s linear;
}
.list-items-layout3 .list-item .btn {
  --btn-height: 50px;
  --btn-min-width: 50px;
  --bs-btn-padding-x: 0;
  position: absolute;
  right: 0;
  bottom: 0;
  opacity: 0;
  z-index: 2;
  transform: translateX(50px);
}
.list-items-layout3 .list-item:hover:after {
  width: 100%;
}
.list-items-layout3 .list-item:hover .btn {
  opacity: 1;
  transform: translateX(0);
}

.list-items-layout4 .list-item-holder {
  --holder-padding-x: 25px;
  --holder-padding-y: 0;
  background-color: var(--color-gray-300);
  border-top: 1px solid var(--color-gray-300);
  border-right: 1px solid var(--color-gray-300);
  border-left: 1px solid var(--color-white);
  border-bottom: 1px solid var(--color-white);
  padding: var(--holder-padding-y) var(--holder-padding-x);
  transition: all 0.3s linear;
}
.list-items-layout4 .list-item-holder:hover {
  border-color: #282828;
  box-shadow: 0px 5px 83px 0 rgba(27, 26, 26, 0.19);
}
.list-items-layout4 .list-item {
  --padding-y: 31px;
}

.list-items-light .list-item {
  --item-color: var(--color-white);
  --item-icon-color: var(--color-white);
}

.features-list {
  --margin: 20px;
  --padding-x: 30px;
  --padding-y: 18px;
  --item-font-size: 15px;
  --item-bg: var(--color-white);
}
.features-list li {
  font-size: var(--item-font-size);
  font-weight: 700;
  border-radius: 3px;
  color: var(--color-secondary);
  background-color: var(--item-bg);
  margin-bottom: var(--margin);
  margin-inline-end: var(--margin);
  padding: var(--padding-y) var(--padding-x);
  transition: all 0.3s linear;
}
.features-list li:hover {
  background-color: var(--color-primary);
}

.contact-list {
  --item-color: var(--bs-gray);
  --item-color-hover: var(--color-primary);
  --item-font-size: 15px;
  --item-margin-bottom: 5px;
}
.contact-list li {
  position: relative;
}
.contact-list li:not(:last-child) {
  margin-bottom: var(--item-margin-bottom);
}
.contact-list li a {
  position: relative;
  display: inline-block;
  color: var(--item-color);
  font-size: var(--item-font-size);
}
.contact-list li a:before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  width: 0;
  height: 1px;
  background-color: var(--item-color-hover);
  transition: all 0.4s ease;
}
.contact-list li a:hover {
  color: var(--item-color-hover);
}
.contact-list li a:hover:before {
  width: 100%;
}

@media (max-width: 1199px) {
  .list-item {
    --padding-x: 25px;
    --padding-y: 10px;
  }
  .features-list {
    --margin: 10px;
    --padding-x: 15px;
    --padding-y: 10px;
    --item-font-size: 14px;
  }
}
@media (max-width: 992px) {
  .list-items-layout3 .list-item {
    --font-size: 14px;
    --padding-y: 15px;
  }
  .list-items-layout4 .list-item-holder {
    --holder-padding-x: 14px;
  }
  .list-items-layout4 .list-item {
    --padding-x: 27px;
    --padding-y: 15px;
    --font-size: 13px;
  }
}
/*------------------------
    Animations
-----------------------*/
@keyframes ripple {
  70% {
    box-shadow: 0 0 0 50px rgba(255, 255, 255, 0);
  }
  100% {
    box-shadow: 0 0 0 0 rgba(255, 255, 255, 0);
  }
}
@keyframes spinner {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
@keyframes slideTopDown {
  0% {
    transform: translateY(0);
  }
  100% {
    transform: translateY(-6px);
  }
}
@keyframes headerAnimation {
  0% {
    opacity: 0;
    transform: translateY(-100%);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes zoomOut {
  50% {
    transform: scale(1.1);
  }
}
@keyframes bounce {
  0%,
  20%,
  50%,
  80%,
  100% {
    transform: translateY(0);
  }
  40% {
    transform: translateY(-10px);
  }
  60% {
    transform: translateY(-5px);
  }
}
@keyframes gradientAnimation {
  0% {
    transform: rotate(0);
  }
  25% {
    transform: rotate(90deg);
  }
  50% {
    transform: rotate(180deg);
  }
  100% {
    transform: rotate(360deg) translate(10%, 20%);
  }
}
@keyframes gradientSpotAnimation {
  50% {
    transform: scale(2) translateY(-10px);
  }
}
@keyframes rotationMoveFromRight {
  0% {
    opacity: 0;
    transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 100deg);
  }
  100% {
    opacity: 1;
    transform: none;
  }
}
@keyframes rotationMoveFromLeft {
  0% {
    opacity: 0;
    transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -100deg);
  }
  100% {
    opacity: 1;
    transform: none;
  }
}
@keyframes fullWidth {
  0% {
    width: 0;
  }
  100% {
    width: 100%;
  }
}
/*------------------------
    Alerts
--------------------------*/
.alert {
  --bs-alert-bg: transparent;
  --bs-alert-padding-x: 30px;
  --bs-alert-padding-y: 30px;
  --bs-border-width: 6px;
  --bs-alert-color: var(--color-secondary);
  --bs-alert-border-color: var(--color-gray-200);
}

.alert-title {
  font-size: 17px;
}

/*----------------------
    Slider
-----------------------*/
.swiper {
  --swiper-theme-color: var(--color-primary);
}
.swiper .swiper-pagination-bullet {
  --swiper-pagination-bullet-size: 10px;
  --swiper-pagination-bullet-width: 10px;
  --swiper-pagination-bullet-height: 10px;
  --swiper-pagination-bullet-border-radius: 50%;
  --swiper-pagination-bullet-inactive-opacity: 1;
  --swiper-pagination-bullet-horizontal-gap: 8px;
  --swiper-pagination-bullet-inactive-color: var(--color-default);
}
.swiper .swiper-pagination-bullet.swiper-pagination-bullet-active {
  box-shadow: 0 0 0 5px rgba(255, 255, 255, 0.3);
}
.swiper.swiper-controls-light {
  --swiper-theme-color: var(--color-white);
}
.swiper.swiper-controls-light .swiper-pagination-bullet {
  --swiper-pagination-bullet-inactive-color: var(--color-white);
}
.swiper.swiper-controls-secondary .swiper-pagination-bullet {
  --swiper-pagination-bullet-inactive-color: var(--color-secondary);
}

.swiper-button-prev-2,
.swiper-button-next-2 {
  --btn-width: 58px;
  --btn-height: 58px;
  --btn-font-size: 16px;
  --btn-border-radius: 50%;
  --btn-bg: transparent;
  --btn-bg-hover: var(--color-primary);
  --btn-color: var(--color-secondary);
  --btn-color-hover: var(--color-white);
  position: absolute;
  bottom: 20px;
  left: 0;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  width: var(--btn-width);
  height: var(--btn-height);
  flex: 0 0 var(--btn-width);
  color: var(--btn-color);
  font-size: var(--btn-font-size);
  background-color: var(--btn-bg);
  border-radius: var(--btn-border-radius);
  transition: all 0.3s linear;
}
.swiper-button-prev-2:hover,
.swiper-button-next-2:hover {
  color: var(--btn-color-hover);
  background-color: var(--btn-bg-hover);
}

.swiper-button-next-2 {
  left: 50px;
}

.slider-vertical-thumbs .swiper-slide {
  height: auto !important;
}

.slider-vertical:not(.swiper-thumbs) .swiper-wrapper {
  height: 420px;
}

.swiper.swiper-watch-progress {
  padding: 40px;
  margin: -40px;
}
.swiper.swiper-watch-progress.slider-vertical
  .swiper-slide:not(.swiper-slide-active) {
  opacity: 0.6 !important;
  visibility: visible;
}
.swiper.swiper-watch-progress .swiper-slide {
  transition:
    opacity 0.3s ease,
    visibility 0.3s ease,
    box-shadow 0.4s ease,
    transform 0.5s ease;
}
.swiper.swiper-watch-progress .swiper-slide.swiper-slide {
  opacity: 0;
  visibility: hidden;
}
.swiper.swiper-watch-progress .swiper-slide.swiper-slide-visible,
.swiper.swiper-watch-progress .swiper-slide.swiper-slide-active {
  opacity: 1 !important;
  visibility: visible;
}

.section-slider-stretched .swiper {
  padding: 40px;
  margin: -40px;
}
.section-slider-stretched .swiper-slide {
  transition:
    opacity 0.3s ease,
    visibility 0.3s ease,
    box-shadow 0.4s ease,
    transform 0.5s ease;
}
.section-slider-stretched .swiper-slide.swiper-slide-prev {
  opacity: 0;
  visibility: hidden;
}

@media (max-width: 992px) {
  .swiper-button-prev-2,
  .swiper-button-next-2 {
    --btn-width: 48px;
    --btn-height: 48px;
    bottom: 0;
  }
  .swiper.swiper-watch-progress {
    padding: unset;
    margin: auto;
  }
}
/*----------------------
    Pre Loader
-----------------------*/
.preloader {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  z-index: 5000;
  background-color: var(--color-white);
  display: flex;
  justify-content: center;
  align-items: center;
}
.preloader .loading {
  position: relative;
  width: 80px;
  height: 80px;
}
.preloader .loading span {
  position: absolute;
  width: 64px;
  height: 64px;
  border: 5px solid #e31e24;
  border-radius: 50%;
  animation: rotating 1.2s cubic-bezier(0.5, 0, 0.5, 1) infinite;
  border-color: var(--color-primary) transparent transparent transparent;
}
.preloader .loading span:nth-child(1) {
  animation-delay: -0.45s;
}
.preloader .loading span:nth-child(2) {
  animation-delay: -0.3s;
}
.preloader .loading span:nth-child(3) {
  animation-delay: -0.15s;
}

/* Rotating Animation */
@keyframes rotating {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
/*----------------------------
      Navbar & Header
-----------------------------*/
.header {
  position: relative;
  z-index: 1000;
}

.navbar {
  --navbar-height: 100px;
  --navbar-bg: var(--color-white);
  --navbar-box-shadow: none;
  padding: 0;
  height: var(--navbar-height);
  max-height: var(--navbar-height);
  background-color: var(--navbar-bg);
  box-shadow: var(--navbar-box-shadow);
  transition: background-color 0.35s ease, box-shadow 0.35s ease, border-color 0.35s ease;
  /*  dropdown-menu  */
}
.navbar > .container,
.navbar > .container-fluid {
  position: relative;
  height: var(--navbar-height);
}
.navbar .navbar-brand {
  padding: 0;
  margin: 0;
  line-height: var(--navbar-height);
}
.navbar .navbar-brand img {
  max-width: 150px;
}
.navbar .logo-light {
  display: none;
}
.navbar .navbar-toggler {
  padding: 0;
  border: none;
  border-radius: 0;
  width: 23px;
  position: relative;
  box-shadow: none;
}
.navbar .navbar-toggler .menu-lines {
  display: inline-block;
}
.navbar .navbar-toggler .menu-lines:before,
.navbar .navbar-toggler .menu-lines:after {
  content: "";
  position: absolute;
  left: 0;
  width: 23px;
  height: 1px;
  display: inline-block;
  background-color: var(--color-secondary);
  transition: 0.3s ease;
}
.navbar .navbar-toggler .menu-lines:before {
  top: 0;
}
.navbar .navbar-toggler .menu-lines:after {
  top: 12px;
}
.navbar .navbar-toggler .menu-lines span {
  position: absolute;
  top: 6px;
  left: 0;
  width: 18px;
  height: 1px;
  background-color: var(--color-secondary);
}
.navbar .navbar-toggler.actived .menu-lines > span {
  opacity: 0;
}
.navbar .navbar-toggler.actived .menu-lines:before {
  top: 0;
  transform: rotate(-45deg);
}
.navbar .navbar-toggler.actived .menu-lines:after {
  top: 0;
  transform: rotate(45deg);
}
.navbar .nav-item {
  --link-space-x: 28px;
  --link-padding-x: 15px;
  --link-font-size: 14px;
  --link-font-weight: 700;
  --link-color: var(--color-secondary);
  --link-color-hover: var(--color-primary);
  --link-line-height: var(--navbar-height);
  position: relative;
}
.navbar .nav-item:not(:last-child) {
  margin-inline-end: var(--link-space-x);
}
.navbar .nav-item .nav-item-link {
  display: block;
  position: relative;
  text-transform: capitalize;
  letter-spacing: 0.4px;
  white-space: nowrap;
  color: var(--link-color);
  font-size: var(--link-font-size);
  font-weight: var(--link-font-weight);
  line-height: var(--link-line-height);
  padding-inline-end: var(--link-padding-x);
}
.navbar .nav-item .nav-item-link:before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 0;
  height: 2px;
  background-color: var(--link-color-hover);
  transition: 0.5s ease;
}
.navbar .nav-item .nav-item-link.active,
.navbar .nav-item .nav-item-link:hover {
  color: var(--link-color-hover);
}
.navbar .nav-item .nav-item-link.active:before,
.navbar .nav-item .nav-item-link.active:before,
.navbar .nav-item .nav-item-link:hover:before,
.navbar .nav-item .nav-item-link:hover:before {
  width: 100%;
}
.navbar .dropdown-toggle:after {
  content: "\e931";
  font-family: "icomoon";
  font-size: 11px;
  border: none;
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
}
.navbar .dropdown-menu {
  margin: 0;
  border: none;
  border-radius: 0;
  background-color: var(--color-white);
}
.navbar .dropdown-menu .nav-item {
  margin: 0 40px;
}
.navbar .dropdown-menu .nav-item:after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 1px;
  transition: all 0.4s linear;
}
.navbar .dropdown-menu .nav-item:after {
  width: 0;
  background-color: var(--color-primary);
}
.navbar .dropdown-menu .nav-item:hover:after {
  width: 100%;
}
.navbar .dropdown-menu .nav-item:not(:last-child) .nav-item-link {
  border-bottom: 1px solid var(--color-gray-200);
}
.navbar .dropdown-menu .nav-item .nav-item-link {
  --link-space-x: 0;
  --link-padding-x: 0;
  --link-line-height: 40px;
  --link-font-weight: 400;
}
.navbar .dropdown-menu .nav-item .nav-item-link.dropdown-menu-title {
  --link-font-size: 17px;
  --link-font-weight: 700;
  margin-inline-start: 40px;
}
.navbar .dropdown-menu .nav-item .nav-item-link:after {
  font-family: "icomoon";
  content: "\e946";
  position: absolute;
  left: 0;
  opacity: 0;
  font-size: 11px;
  color: var(--color-primary);
  transform: translate(-10px, 10px);
  transition: all 0.4s linear;
}
.navbar .dropdown-menu .nav-item .nav-item-link:hover {
  padding-inline-start: 20px;
}
.navbar .dropdown-menu .nav-item .nav-item-link:hover:after {
  opacity: 1;
  transform: translate(0, 0);
}
.navbar .dropdown-menu .dropdown-toggle:after {
  right: 0;
}

/* navbar-actions */
.navbar-actions {
  --action-btn-space: 30px;
  --action-btn-color: var(--color-secondary);
  position: relative;
}
.navbar-actions > li {
  margin-inline-start: var(--action-btn-space);
}
.navbar-actions .action-btn {
  position: relative;
  color: var(--action-btn-color);
}
.navbar-actions .action-btn:not(.action-btn-contact) {
  font-size: 16px;
}

.action-btn-contact {
  --btn-height: 50px;
  --btn-min-width: 150px;
  --bs-btn-padding-x: 20px;
}

/* header topbar */
.header-topbar {
  height: 40px;
  background-color: var(--color-secondary);
}
.header-topbar .social-icons {
  --icon-color: var(--color-primary);
  --icon-color-hover: var(--color-white);
}
.header-topbar .contact-list {
  --item-font-size: 13px;
  --item-margin-bottom: 0;
}
.header-topbar .contact-list li {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-inline-end: 15px;
}
.header-topbar .btn {
  height: 40px;
  min-width: 100px;
}
.header-topbar .topbar-close {
  position: absolute;
  right: 0;
  color: var(--color-white);
}

.header-transparent:not(:has(.navbar.is-sticky)) {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  width: 100%;
  z-index: 1000;
}

.header-transparent:has(.navbar.is-sticky) {
  min-height: 80px;
}

.header-transparent .navbar {
  --navbar-bg: transparent;
  --navbar-border: 1px solid rgba(var(--color-white-rgb), 0.15);
  border-bottom: var(--navbar-border);
}
.header-transparent .navbar .navbar-nav > .nav-item > .nav-item-link {
  --link-color: var(--color-white);
  --link-color-hover: var(--color-white);
}
.header-transparent .navbar .logo-light {
  display: inline-block;
}
.header-transparent .navbar .logo-dark {
  display: none;
}
.header-transparent .action-btn:not(.action-btn-contact) {
  --action-btn-color: var(--color-white);
}
.header-transparent .is-sticky .action-btn:not(.action-btn-contact) {
  --action-btn-color: var(--color-secondary);
}

.header-layout1:not(.header-transparent) .navbar {
  --navbar-box-shadow: 0px 5px 43px 0px rgba(27, 26, 26, 0.1);
}
.header-layout1:not(.header-transparent) .navbar .nav-item {
  --link-color-hover: var(--color-secondary);
}
.header-layout1:not(.header-transparent) .navbar .btn-white-style2 {
  --btn-bg: var(--color-secondary);
  --action-btn-color: var(--color-white);
}

.header-layout2 .navbar .nav-item {
  --link-color-hover: var(--color-secondary);
}
.header-layout2 .navbar .nav-item .nav-item-link:before {
  height: 1px;
  bottom: 33%;
}

.header-layout3.header-transparent .navbar {
  --navbar-border: 0;
}
.header-layout3 .navbar:not(.is-sticky) .navbar-nav {
  position: relative;
}
.header-layout3 .navbar:not(.is-sticky) .navbar-nav:before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  right: -50%;
  left: -40px;
  border-radius: 0 0 0 8px;
  background: rgba(27, 26, 26, 0.4);
  transition: opacity 0.35s ease, visibility 0.35s ease;
}

.is-sticky.navbar .navbar-nav:before {
  opacity: 0;
  visibility: hidden;
}
.header-layout3 .navbar .nav-item .nav-item-link:before {
  height: 1px;
  bottom: 33%;
}

/* sticky-navbar */
.header-sticky-main {
  min-height: 80px;
}

.navbar.is-always-sticky {
  animation: none;
}

.is-sticky {
  --navbar-height: 80px;
  --navbar-bg: var(--color-white) !important;
  --navbar-box-shadow: 0 3px 4px rgba(0, 0, 0, 0.07);
  --navbar-border: 0 !important;
  position: fixed;
  top: 0;
  right: 0;
  left: 0;
  width: 100%;
  z-index: 1040;
  animation: headerAnimation 0.8s;
}
.is-sticky.navbar .navbar-nav {
  margin-top: 0 !important;
}
.is-sticky.navbar .navbar-nav > .nav-item > .nav-item-link {
  color: var(--color-secondary);
}
.is-sticky.navbar .navbar-nav > .nav-item > .nav-item-link.active,
.is-sticky.navbar .navbar-nav > .nav-item > .nav-item-link:hover {
  color: var(--color-primary);
}
.is-sticky.navbar .navbar-nav > .nav-item > .nav-item-link:before {
  background-color: var(--color-primary) !important;
}
.is-sticky.navbar .logo-light {
  display: none;
}
.is-sticky.navbar .logo-dark {
  display: inline-block;
}
.is-sticky.navbar .navbar-actions {
  --action-btn-color: var(--color-secondary);
}
.is-sticky.navbar .action-btn-contact.btn-white-style2 {
  --action-btn-color: var(--color-white);
  --btn-color: var(--color-white);
  --btn-bg: var(--color-secondary);
}

/* cart-minipopup */
.cart-minipopup {
  background-color: var(--color-white);
  width: 310px;
  padding: 40px;
  position: absolute;
  top: 100%;
  right: 0;
  z-index: 1055;
  visibility: hidden;
  opacity: 0;
  border-radius: 0 0 8px 8px;
  box-shadow: 0px 5px 83px 0px rgba(40, 40, 40, 0.05);
  transform: translateY(10px);
  transition: 0.4s ease;
}
.cart-minipopup.active {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}
.cart-minipopup .cart-item {
  position: relative;
  display: flex;
  margin-bottom: 20px;
}
.cart-minipopup .cart-item .cart-img {
  width: 50px;
  height: 50px;
  overflow: hidden;
  border-radius: 3px;
  margin-right: 15px;
}
.cart-minipopup .cart-item .cart-content {
  flex: 1;
  padding-right: 22px;
}
.cart-minipopup .cart-item .cart-title {
  display: block;
  color: var(--color-secondary);
  font-size: 15px;
  font-weight: 700;
  margin-bottom: 4px;
}
.cart-minipopup .cart-item .cart-price {
  color: var(--color-secondary);
  font-size: 17px;
  line-height: 1;
}
.cart-minipopup .cart-item .cart-delete {
  width: 20px;
  height: 20px;
  line-height: 20px;
  border-radius: 50%;
  background-color: var(--color-secondary);
  color: var(--color-white);
  text-align: center;
  cursor: pointer;
  display: inline-block;
  font-style: normal;
  position: absolute;
  top: 0;
  right: 0;
  transition: 0.4s ease;
}
.cart-minipopup .cart-item .cart-delete:hover {
  background-color: var(--color-primary);
}
.cart-minipopup .cart-total {
  color: var(--color-secondary);
  font-size: 17px;
  line-height: 1;
  font-weight: 700;
}
.cart-minipopup .btn {
  --bs-btn-padding-x: 15px;
}

.cart-counter {
  position: absolute;
  top: -11px;
  right: -8px;
  width: 15px;
  height: 15px;
  line-height: 15px;
  z-index: 3;
  font-size: 10px;
  text-align: center;
  border-radius: 50%;
  color: var(--color-white);
  background-color: var(--color-primary);
}

.lang-dropdown .dropdown-item {
  font-size: 14px;
  padding: 0.25rem 1rem;
}
.lang-dropdown .lang-dropdown-toggle {
  font-size: 14px;
  height: 40px;
  font-weight: 400;
  display: flex;
  align-items: center;
  padding-right: 15px;
  color: #9aaabb;
}
.lang-dropdown .lang-dropdown-toggle i {
  font-size: 30px;
  margin-right: 7px;
}
.lang-dropdown .dropdown-menu {
  min-width: 100px !important;
  padding: 0.6rem 0 !important;
}
.lang-dropdown .dropdown-menu .dropdown-item {
  color: var(--color-default);
}
.lang-dropdown .dropdown-menu .dropdown-item:focus,
.lang-dropdown .dropdown-menu .dropdown-item:hover {
  background-color: transparent;
  color: var(--color-primary);
}
.lang-dropdown .dropdown-menu .dropdown-item.active,
.lang-dropdown .dropdown-menu .dropdown-item:active {
  background-color: transparent;
}

.offcanvas {
  --bs-offcanvas-border-width: 0;
}

.offcanvas-backdrop {
  background-color: transparent;
  -webkit-backdrop-filter: blur(10px) brightness(93%);
  backdrop-filter: blur(10px) brightness(93%);
  cursor: url(../images/icons/cursor-close.png), auto;
}
.offcanvas-backdrop.show {
  opacity: 1;
}

.search-offcanvas {
  --bs-offcanvas-height: 100px;
  --bs-offcanvas-padding-x: 3rem;
  --bs-offcanvas-bg: rgba(27, 26, 26, 0.3);
  -webkit-backdrop-filter: blur(10px) brightness(93%);
  backdrop-filter: blur(10px) brightness(93%);
}
.search-offcanvas .close-search {
  color: var(--color-white);
}
.search-offcanvas .search-form {
  width: 90%;
}
.search-offcanvas .search-form .form-control {
  --form-control-padding-x: 30px;
  --form-control-color: var(--color-gray-100);
  --form-control-color-focus: var(--color-gray-100);
  --form-control-font-size: 16px;
  --form-control-bg-color: transparent;
  --form-control-bg-color-focus: transparent;
  --form-control-border-radius: 0;
  --form-control-border-width: 0;
  --form-control-border-color: transparent;
  --form-control-border-color-focus: transparent;
  --form-control-placeholder-color: var(--color-gray-100);
}
.search-offcanvas .search-form .form-control::placeholder,
.search-offcanvas .search-form .form-control::-webkit-input-placeholder,
.search-offcanvas .search-form .form-control:-moz-placeholder,
.search-offcanvas .search-form .form-control::-moz-placeholder,
.search-offcanvas .search-form .form-control:-ms-input-placeholder {
  color: red !important;
}
.search-offcanvas .search-btn {
  font-size: 16px;
  color: var(--color-gray-100);
}

.sidemenu-offcanvas-full {
  --bs-offcanvas-width: 100%;
  height: 100vh;
}
.sidemenu-offcanvas-full .offcanvas-body {
  max-width: 60%;
  height: 100vh;
}
.sidemenu-offcanvas-full .sidemenu-bg-block {
  width: 40%;
  height: 100vh;
}
.sidemenu-offcanvas-full .offcanvas-header {
  position: absolute;
  right: 0;
  z-index: 3;
}
.sidemenu-offcanvas-full .btn-close {
  --bs-btn-close-color: var(--color-white);
  --bs-btn-close-opacity: 1;
  background: none;
  gap: 10px;
  width: auto;
  transition: all 0.3s linear;
}
.sidemenu-offcanvas .offcanvas-header {
  --bs-offcanvas-padding-x: 48px;
  --bs-offcanvas-padding-y: 40px;
  justify-content: end;
}
.sidemenu-offcanvas .offcanvas-body {
  --bs-offcanvas-padding-x: 48px;
  --bs-offcanvas-padding-y: 0;
}
.sidemenu-offcanvas .offcanvas-body.bg-img {
  background-size: auto !important;
  background-repeat: no-repeat !important;
  background-position: bottom center !important;
}
.sidemenu-offcanvas .offcanvas-body .btn {
  --btn-height: 58px;
  --btn-min-width: 165px;
}
.sidemenu-offcanvas .btn-close {
  --bs-btn-close-focus-shadow: none;
}
.sidemenu-offcanvas .sidemenu-logo {
  margin-bottom: 24px;
}
.sidemenu-offcanvas .sidemenu-title {
  font-size: 17px;
  line-height: 1.5;
}
.sidemenu-offcanvas .contact-list {
  --item-color: var(--color-secondary);
  --item-font-size: 16px;
  margin-top: 85px;
}
.sidemenu-offcanvas .sidemenu-nav li a {
  display: block;
  font-size: 42px;
  font-weight: 700;
  color: var(--color-secondary);
  margin-bottom: 10px;
}
.sidemenu-offcanvas .sidemenu-nav li a:hover {
  color: var(--color-primary);
}

@media (min-width: 1400px) {
  .header-topbar .container-fluid,
  .navbar > .container-fluid {
    --bs-gutter-x: 120px;
  }
}
@media (min-width: 1200px) {
  .navbar > .container-fluid .navbar-actions,
  .header-topbar > .container-fluid .navbar-actions {
    height: 100%;
  }
  .header-layout4 .navbar {
    --navbar-border: 0;
  }
  .header-layout4 .navbar.is-sticky .mini-nav-menu {
    display: none;
  }
  .header-layout4 .navbar:not(.is-sticky) > .container-fluid {
    padding-inline-end: 0;
  }
  .header-layout4 .navbar:not(.is-sticky) .navbar-nav {
    display: none !important;
  }
  .header-layout4 .mini-nav-menu {
    width: 220px;
    padding: 40px 50px;
    border-radius: 0 0 0 8px;
    background: rgba(27, 26, 26, 0.3);
    -webkit-backdrop-filter: blur(10px) brightness(93%);
    backdrop-filter: blur(10px) brightness(93%);
    transition: all 0.3s ease;
  }
  .header-layout4 .mini-nav-menu li:not(:last-child) {
    margin-bottom: 10px;
  }
  .header-layout4 .mini-nav-menu a {
    position: relative;
    display: block;
    font-weight: 700;
    color: var(--color-white);
  }
  .header-layout4 .mini-nav-menu a:hover {
    color: var(--color-primary);
  }
  .header-layout5 .navbar:not(.is-sticky) {
    --navbar-height: 80px;
    margin-top: 30px;
    border-top: var(--navbar-border);
  }
  .header-layout5.header-transparent + .hero-video {
    margin-top: -110px;
  }
}
@media (max-width: 1199px) {
  .navbar .nav-item {
    --link-space-x: 20px;
  }
}
/* Mobile and Tablets */
@media (max-width: 991px) {
  .navbar .navbar-toggler {
    position: absolute;
    right: 15px;
    height: 13px;
  }
  .navbar .collapse:not(.show) {
    display: block;
  }
  .navbar .navbar-nav {
    margin: 0 !important;
  }
  .navbar .nav-item {
    --link-space-x: 0;
    --link-line-height: 40px;
  }
  .navbar .nav-item .nav-item-link {
    --link-color: var(--color-secondary) !important;
    padding: 0 var(--link-padding-x);
  }
  .navbar .nav-item .nav-item-link:hover {
    color: var(--color-primary);
  }
  .navbar .nav-item .nav-item-link:before {
    visibility: hidden;
  }
  .navbar .nav-item .nav-item-link[data-bs-toggle="dropdown"]:after {
    content: "\e930";
    font-family: "icomoon";
    position: absolute;
    right: 0;
    width: 50%;
    z-index: 2;
    text-align: end;
    padding-inline-end: 15px;
    display: block !important;
    line-height: var(--link-line-height);
  }
  .navbar .nav-item .nav-item-link.opened[data-bs-toggle="dropdown"]:after,
  .navbar .nav-item .nav-item-link.show[data-bs-toggle="dropdown"]:after {
    content: "\e931";
  }
  .navbar .nav-item.dropdown-submenu > .dropdown-menu.show {
    padding-inline-start: 10px;
  }
  .navbar .dropdown-menu.wide-dropdown-menu {
    --bs-dropdown-padding-y: 0;
  }
  .navbar .dropdown-menu .nav-item {
    margin: 0;
    padding-inline-start: 30px;
  }
  .navbar .dropdown-menu .nav-item .nav-item-link.dropdown-menu-title {
    --link-font-size: 15px;
    margin-inline-start: 0;
  }
  .navbar .dropdown-menu .dropdown-menu-col {
    width: 100%;
    padding: 0;
  }
  .navbar .dropdown-menu .dropdown-menu-col .nav-item {
    padding-inline-start: 0;
  }
  .navbar .navbar-collapse {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    padding: 0;
    opacity: 0;
    z-index: 1000;
    visibility: hidden;
    background-color: rgba(0, 0, 0, 0.6);
    transition: 0.4s ease;
  }
  .navbar .navbar-collapse .navbar-nav {
    opacity: 0;
    width: 100%;
    height: 100%;
    overflow-y: auto;
    padding: 50px 0 20px;
    background-color: var(--color-white);
    transform: translateX(-100%);
    transition: 0.3s ease;
    transition-delay: 0.4s;
  }
  .navbar .navbar-collapse .navbar-nav > .nav-item > .nav-item-link {
    --link-color: var(--color-secondary) !important;
    --link-color-hover: var(--color-primary) !important;
    color: var(--color-secondary) !important;
  }
  .navbar .navbar-collapse .navbar-nav > .nav-item > .nav-item-link.active,
  .navbar .navbar-collapse .navbar-nav > .nav-item > .nav-item-link:hover {
    color: var(--color-primary) !important;
  }
  .navbar .navbar-collapse.menu-opened {
    opacity: 1;
    visibility: visible;
  }
  .navbar .navbar-collapse.menu-opened .navbar-nav {
    opacity: 1;
    transform: translateX(0);
  }
  .navbar .navbar-collapse.menu-opened .close-mobile-menu {
    opacity: 1;
    transform: scale(1);
  }
  .navbar .close-mobile-menu {
    position: absolute;
    top: 30px;
    right: 30px;
    z-index: 1000;
    width: 35px;
    height: 35px;
    font-size: 12px;
    border-radius: 50%;
    cursor: pointer;
    opacity: 0;
    color: #000000 !important;
    border: 1px solid #000 !important;
    transform: scale(0.8);
    transition: all 0.4s ease;
    transition-delay: 0.5s;
  }
  .header-layout3 .navbar:not(.is-sticky) .navbar-nav:before {
    display: none;
  }
  .header .navbar,
  .header-transparent .navbar {
    --navbar-height: 80px;
  }
  .header .navbar {
    --navbar-bg: var(--color-white);
  }
  .header .logo-dark {
    display: inline-block !important;
  }
  .header .logo-light {
    display: none !important;
  }
  .header-transparent .navbar:not(.is-sticky) {
    --navbar-bg: transparent;
    background-color: transparent;
    box-shadow: none;
    border-bottom: 0;
  }
  .header-transparent .navbar:not(.is-sticky) .logo-dark {
    display: none !important;
  }
  .header-transparent .navbar:not(.is-sticky) .logo-light {
    display: inline-block !important;
  }
  .header-transparent .navbar:not(.is-sticky) .navbar-toggler .menu-lines span,
  .header-transparent .navbar:not(.is-sticky) .navbar-toggler .menu-lines:before,
  .header-transparent .navbar:not(.is-sticky) .navbar-toggler .menu-lines:after {
    background-color: var(--color-white);
  }
  .header-transparent .navbar.is-sticky .logo-dark {
    display: inline-block !important;
  }
  .header-transparent .navbar.is-sticky .logo-light {
    display: none !important;
  }
  .header-transparent .navbar.is-sticky .navbar-toggler .menu-lines span,
  .header-transparent .navbar.is-sticky .navbar-toggler .menu-lines:before,
  .header-transparent .navbar.is-sticky .navbar-toggler .menu-lines:after {
    background-color: var(--color-secondary);
  }
  .header .navbar-toggler .menu-lines span,
  .header .navbar-toggler .menu-lines:before,
  .header .navbar-toggler .menu-lines:after {
    background-color: var(--color-secondary);
  }
  .header .navbar-actions,
  .header-transparent .navbar-actions {
    margin-inline-end: 50px;
  }
  .header .action-btn:not(.action-btn-contact),
  .header-transparent .action-btn:not(.action-btn-contact) {
    --action-btn-color: var(--color-secondary);
  }
  .header .action-btn-contact,
  .header-transparent .action-btn-contact {
    --btn-height: 50px;
    --btn-min-width: 50px;
    --bs-btn-padding-x: 10px;
    --action-btn-color: var(--color-white);
    --btn-color: var(--color-white);
    --btn-bg: var(--color-primary);
    --btn-inner-space: 0;
  }
  .header .action-btn-contact span,
  .header-transparent .action-btn-contact span {
    display: none;
  }
  .header .navbar-expand-lg > .container,
  .header .navbar-expand-lg > .container-fluid,
  .header-transparent .navbar-expand-lg > .container,
  .header-transparent .navbar-expand-lg > .container-fluid {
    width: 100%;
    max-width: none;
  }
  .header-topbar > .container {
    max-width: none;
  }
}
@media (min-width: 992px) {
  .header-transparent + [class*="page-title"] {
    margin-top: -100px;
  }
  .navbar .dropdown-menu {
    width: auto;
    min-width: 245px;
    padding: 25px 0 23px;
    border-radius: 0 0 6px 6px;
    box-shadow: 0px 2px 6px 0px rgba(40, 40, 40, 0.1);
  }
  .navbar .dropdown-menu .nav-item .nav-item-link:before {
    visibility: hidden;
  }
  .navbar .dropdown-menu.wide-dropdown-menu {
    padding: 0;
    min-width: 500px;
    overflow: hidden;
  }
  .navbar .dropdown-menu.wide-dropdown-menu > .nav-item {
    margin: 0;
  }
  .navbar .dropdown-menu.wide-dropdown-menu > .nav-item:after {
    visibility: hidden;
  }
  .navbar .dropdown-menu.wide-dropdown-menu .dropdown-menu-col {
    padding: 30px 0 27px;
    background-color: var(--color-white);
    box-shadow: 0px 5px 83px 0px rgba(27, 26, 26, 0.12);
  }
  .navbar .dropdown-menu.wide-dropdown-menu .dropdown-menu-col:first-child {
    position: relative;
  }
  .navbar
    .dropdown-menu.wide-dropdown-menu
    .dropdown-menu-col:first-child:after {
    content: "";
    position: absolute;
    right: 0;
    top: 0;
    width: 1px;
    height: 100%;
    background-color: #e9e9e9;
  }
  .navbar .nav-item.has-dropdown > .dropdown-menu,
  .navbar .nav-item.has-dropdown > .mega-menu {
    display: block;
    position: absolute;
    left: 0;
    right: auto;
    z-index: 1050;
    opacity: 0;
    visibility: hidden;
    transition: all 0.5s ease;
    transform: translateY(10px);
  }
  .navbar
    .nav-item.has-dropdown
    > .dropdown-menu
    .nav-item.dropdown-submenu
    > .dropdown-menu,
  .navbar
    .nav-item.has-dropdown
    > .mega-menu
    .nav-item.dropdown-submenu
    > .dropdown-menu {
    top: 0;
    left: 100%;
  }
  .navbar .nav-item.has-dropdown:hover > .dropdown-menu,
  .navbar .nav-item.has-dropdown:hover > .mega-menu {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
  }
  .navbar .nav-item i[data-bs-toggle="dropdown"] {
    display: none;
  }
}
/* Mobile Phones and tablets */
@media (max-width: 767px) {
  .navbar-actions {
    --action-btn-space: 20px;
  }
}
/*----------------------
    Accordions
------------------------*/
.accordion {
  --bs-accordion-bg: transparent;
}

.accordion-item {
  --title-font-size: 20px;
  --body-font-size: 15px;
  --title-padding-inline-end: 25px;
  --bs-accordion-btn-padding-y: 18px;
  --bs-accordion-btn-padding-x: 40px;
  --bs-accordion-body-padding-x: 25px;
  --bs-accordion-body-padding-y: 20px;
  --bs-accordion-border-radius: 0;
  --bs-accordion-color: var(--color-default);
  --bs-accordion-border-color: var(--color-gray-200);
  border: 0;
  border-bottom: 1px solid var(--color-gray-200);
  padding: var(--bs-accordion-btn-padding-y) 0;
  padding-inline-end: var(--bs-accordion-body-padding-x);
}
.accordion-item .accordion-title {
  font-size: var(--title-font-size);
  cursor: pointer;
  display: block;
  position: relative;
  color: var(--color-secondary);
  padding-inline-end: var(--title-padding-inline-end);
  margin-inline-end: calc(-1 * var(--title-padding-inline-end));
  transition: all 0.3s linear;
}
.accordion-item .accordion-title:hover {
  color: var(--color-primary);
}
.accordion-item .accordion-title:after {
  font-family: "icomoon";
  content: "\e946";
  position: absolute;
  top: 2px;
  right: 0;
  font-size: 13px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--color-secondary);
  transition: all 0.3s linear;
}
.accordion-item .accordion-title:hover:after {
  transform: rotate(90deg);
}
.accordion-item .accordion-body {
  padding: var(--bs-accordion-body-padding-y) 0 0;
}
.accordion-item .accordion-body p {
  font-size: var(--body-font-size);
  margin-bottom: 0;
}
.accordion-item.opened
  .accordion-header:not(.collapsed)
  .accordion-title:after {
  transform: rotate(90deg);
}

/* Mobile Phones and tablets */
@media (max-width: 767px) {
  .accordion-item {
    --title-font-size: 15px;
    --body-font-size: 14px;
    --title-padding-inline-start: 20px;
    --bs-accordion-btn-padding-y: 12px;
    --bs-accordion-btn-padding-x: 30px;
    --bs-accordion-body-padding-y: 12px;
  }
}
/*-----------------------
    banner
------------------------*/
.banner-img {
  position: relative;
}
.banner-img.has-rect-shapes {
  display: inline-block;
}
.banner-img.has-rect-shapes::before,
.banner-img.has-rect-shapes::after {
  content: "";
  width: 40px;
  position: absolute;
  z-index: 2;
  background-color: var(--color-white);
}
.banner-img.has-rect-shapes:before {
  height: 60px;
}
.banner-img.has-rect-shapes:after {
  height: 40px;
}
.banner-img.has-rect-shapes.shape-bottom:before {
  bottom: 40px;
  right: 40px;
}
.banner-img.has-rect-shapes.shape-bottom:after {
  bottom: 0;
  right: 0;
}
.banner-img.has-rect-shapes.shape-top:before {
  top: 40px;
  left: 40px;
}
.banner-img.has-rect-shapes.shape-top:after {
  top: 0;
  left: 0;
}

.boxed-section {
  --margin-x: 0;
  --section-border-radius: 0;
  margin-inline: var(--margin-x);
  border-radius: var(--section-border-radius);
}
.boxed-section.bg-overlay:before {
  border-radius: var(--section-border-radius);
}

.banner-layout1 .animated-arrow {
  position: absolute;
  bottom: 50px;
  right: 50px;
  color: var(--color-white);
}
.banner-layout1 .row-has-bg {
  background-repeat: no-repeat;
  background-size: auto !important;
  background-position: 100% calc(100% + 125px) !important;
}

.banner-layout2 {
  --bnner-img-padding: 130px 110px;
  --bnner-margin-top: -130px;
  --progress-area-padding: 50px 70px;
}
.banner-layout2 .banner-img {
  margin-top: var(--bnner-margin-top);
  padding: var(--bnner-img-padding);
  overflow: hidden;
}
.banner-layout2 .banner-img::after {
  content: "";
  position: absolute;
  top: -250px;
  right: -150px;
  width: 753px;
  height: 771px;
  z-index: -1;
  background-image: url(../images/shapes/2.webp);
}
.banner-layout2 .progress-area {
  max-width: 400px;
  border-radius: 7px;
  padding: var(--progress-area-padding);
  background-color: rgba(var(--color-white-rgb), 0.4);
}
.banner-layout2 .progress-area .progress-item:nth-child(2) .progress-bar {
  --bs-progress-bar-bg: var(--color-secondary);
}
.banner-layout2 .banner-title {
  font-size: 20px;
}

.banner-layout3 {
  --banner-section-padding-bottom: 250px;
  --banner-text-font-size: 17px;
  padding-bottom: var(--banner-section-padding-bottom);
}
.banner-layout3 .banner-text .banner-title {
  position: relative;
  z-index: 1;
  font-size: 22px;
}
.banner-layout3 .banner-text p {
  font-size: var(--banner-text-font-size);
}
.banner-layout3 .bg-logo {
  position: absolute;
  bottom: -110px;
  right: -110px;
  max-width: 180px;
  z-index: -1;
}

.banner-layout4 {
  --margin-x: 0;
}
.banner-layout4 .video-banner {
  margin-inline-start: var(--margin-x);
  margin-inline-end: calc(-1 * var(--margin-x));
}

.services-layout4 + .banner-layout5 {
  padding-top: 230px;
  margin-top: -100px;
}

.banner-layout5 .video-btn-wrapper {
  position: relative;
  padding: 40px 70px 110px;
  display: flex;
  justify-content: end;
}
.banner-layout5 .video-arrow {
  position: absolute;
  left: -60px;
  bottom: -50px;
}
.banner-layout5 .links-list {
  --gutter: 20px;
  --font-size: 15px;
  --link-padding: 10px 15px;
  border-top: 1px solid rgba(var(--color-white-rgb), 0.4);
}
.banner-layout5 .links-list li {
  margin-bottom: var(--gutter);
}
.banner-layout5 .links-list li:not(:last-child) {
  margin-inline-end: var(--gutter);
}
.banner-layout5 .links-list li a {
  display: block;
  font-size: var(--font-size);
  font-weight: 700;
  color: var(--color-secondary);
  border-radius: 4px;
  padding: var(--link-padding);
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  background-color: rgba(var(--color-white-rgb), 0.4);
  transition: all 0.3s linear;
}
.banner-layout5 .links-list li a:hover {
  color: var(--color-white);
  background-color: var(--color-primary);
}

.banner-layout5:after,
.banner-layout7:after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
  background-position: center;
  background-repeat: no-repeat;
  background-image: url(../../assets/images/shapes/2.webp);
}

.banner-layout6 .fancybox-item {
  --item-border-bottom: 1px solid rgb(234, 234, 234, 0.35);
}

.banner-layout7 {
  --banner-title-font-size: 26px;
  --banner-title-margin-bottom: 36px;
  --banner-desc-font-size: 17px;
  --banner-desc-margin-bottom: 96px;
}
.banner-layout7:after {
  background-attachment: fixed;
}
.banner-layout7 .banner-text .banner-title {
  font-size: var(--banner-title-font-size);
  margin-bottom: var(--banner-title-margin-bottom);
}
.banner-layout7 .banner-text .banner-desc {
  font-size: var(--banner-desc-font-size);
  margin-bottom: var(--banner-desc-margin-bottom);
}
.banner-layout7 .scrollable-sticky .sticky-card {
  --card-title-padding: 30px;
  --card-title-font-size: 22px;
  --card-desc-font-size: 17px;
  --bs-card-title-color: var(--color-secondary);
  --bs-card-border-width: 1px;
  --bs-card-border-color: var(--color-gray-200);
  --card-padding: 50px;
  --card-border-radius: 8px;
  --icon-size: 170px;
  --icon-font-size: 65px;
  margin-bottom: var(--bs-gutter-x);
  border-radius: var(--card-border-radius);
  transition: all 0.3s linear 0ms;
}
.banner-layout7 .scrollable-sticky .sticky-card .sticky-card-inner {
  padding: var(--card-padding);
  background-color: var(--color-white);
  border-radius: var(--card-border-radius);
  transition: all 0.3s linear 0ms;
}
.banner-layout7 .scrollable-sticky .sticky-card .card-num {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 17px;
  font-weight: 600;
  color: var(--color-secondary);
  width: 48px;
  height: 48px;
  flex: 0 0 48px;
  border-radius: 50%;
  border: 2px solid var(--bs-card-border-color);
}
.banner-layout7 .scrollable-sticky .sticky-card .card-title {
  font-size: var(--card-title-font-size);
  padding-bottom: calc(var(--card-title-padding) - 5px);
  padding-inline-start: var(--card-title-padding);
  margin-inline-start: var(--card-title-padding);
  border-inline-start: var(--bs-card-border-width) solid
    var(--bs-card-border-color);
}
.banner-layout7 .scrollable-sticky .sticky-card .card-img {
  position: relative;
}
.banner-layout7 .scrollable-sticky .sticky-card .card-icon {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  border-radius: 50%;
  width: var(--icon-size);
  height: var(--icon-size);
  font-size: var(--icon-font-size);
  color: var(--color-white);
  background-color: rgba(var(--color-primary-rgb), 0.9);
  transition: all 0.3s linear 0ms;
}
.banner-layout7
  .scrollable-sticky
  .remove-next-sticky:has(+ .sticky-card-active) {
  opacity: 0;
}
.banner-layout7
  .scrollable-sticky
  .sticky-card-active:not(:last-child)
  .sticky-card-inner {
  transform: scale(0.85, 0.85);
}
.banner-layout7 .scrollable-sticky .sticky-item {
  transition: all 0.3s linear 0ms;
}

.banner-layout8 .video-player {
  position: absolute;
  top: 40px;
  right: 40px;
  width: 78px;
  font-weight: 600;
  padding: 30px 10px;
  height: calc(100% - 80px);
  border-radius: 5px 5px 0 0;
  color: var(--color-secondary);
  background-color: var(--color-white);
  -webkit-clip-path: polygon(
    100% 0,
    100% calc(100% - 36px),
    calc(100% - 36px) 100%,
    0 100%,
    0 0
  );
  clip-path: polygon(
    100% 0,
    100% calc(100% - 36px),
    calc(100% - 36px) 100%,
    0 100%,
    0 0
  );
}
.banner-layout8 .video-player-text {
  position: absolute;
  bottom: 40px;
  right: 80px;
  font-size: 17px;
  max-width: 285px;
  font-weight: 600;
  padding: 15px 20px;
  border-radius: 5px 0 0 5px;
  color: var(--color-secondary);
  background-color: var(--color-white);
}
.banner-layout8 .cta .btn {
  --btn-height: 58px;
}

/* Sticky heading only on desktop — disabled on mobile to prevent overlap */
.banner-layout8 .banner-layout8-head {
  position: static;
}

@media (min-width: 992px) {
  .banner-layout8 .banner-layout8-head {
    position: sticky;
    top: 0;
    z-index: 2;
    align-self: flex-start;
  }
}

@media (max-width: 991.98px) {
  .banner-layout8 .banner-layout8-head {
    margin-bottom: 30px;
  }

  .banner-layout8 .banner-layout8-head .heading-layout2 {
    margin-bottom: 0 !important;
  }
}

.banner-layout9 {
  --arrow-btn-size: 160px;
  --arrow-shape-width: 110px;
  --card-desc-font-size: 17px;
  --progress-card-padding: 30px 20px;
}
.banner-layout9 .arrow-btn {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  width: var(--arrow-btn-size);
  height: var(--arrow-btn-size);
  border-radius: 50%;
  color: var(--color-white);
  background-color: var(--color-primary);
  margin-inline-start: -30px;
}
.banner-layout9 .arrow-btn:hover {
  background-color: var(--color-secondary);
}
.banner-layout9 .sticky-card {
  padding-block: 50px;
  background-color: #161616;
}
.banner-layout9 .sticky-card:nth-of-type(2) {
  background-color: #1b1a1a;
}
.banner-layout9 .sticky-card:nth-of-type(3) {
  background-color: #272626;
}
.banner-layout9 .sticky-card .arrow-shape {
  color: var(--color-white);
  flex: 0 0 var(--arrow-shape-width);
}
.banner-layout9 .sticky-card .card-title {
  color: var(--color-white);
  font-family: var(--font-secondary);
  font-size: 22px;
  font-weight: 500;
}
.banner-layout9 .sticky-card .card-desc {
  font-size: var(--card-desc-font-size);
  color: var(--color-white);
}
.banner-layout9 .progress-card {
  position: absolute;
  left: 40px;
  bottom: 40px;
  max-width: 220px;
  border-radius: 6px;
  text-align: center;
  padding: var(--progress-card-padding);
  background-color: var(--color-white);
  box-shadow: 0px 5px 83px 0px rgba(27, 26, 26, 0.12);
}
.banner-layout9 .progress-card .progress-desc {
  margin-top: 10px;
  font-size: 14px;
  color: var(--color-secondary);
}

.banner-layout10 {
  --margin-x: 0;
}
.banner-layout10 .banner-text-right {
  margin-inline-start: var(--margin-x);
}
.banner-layout10 .banner-text-left {
  margin-inline-end: var(--margin-x);
}
.banner-layout10 .banner-img-right {
  margin-inline-end: calc(var(--margin-x) * -1);
}
.banner-layout10 .banner-img-left {
  margin-inline-start: calc(var(--margin-x) * -1);
}
.banner-layout10 .list-item {
  --font-size: 17px;
  --item-font-weight: 700;
}

.banner-layout11,
.banner-layout12 {
  --arrow-btn-size: 160px;
  --arrow-shape-width: 110px;
}
.banner-layout11 .arrow-btn,
.banner-layout12 .arrow-btn {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  width: var(--arrow-btn-size);
  height: var(--arrow-btn-size);
  border-radius: 50%;
  color: var(--color-white);
  background-color: var(--color-primary);
  margin-inline-start: -30px;
}

.banner-layout11 .text-link .btn-link {
  --bs-btn-hover-color: var(--color-white);
}

.banner-layout12 .list-items-layout3 .list-item {
  --item-border-bottom: 1px solid var(--color-gray-200);
}
.banner-layout12 .list-items-layout3 .list-item:after {
  background-color: var(--color-secondary);
}

.banner-layout13 {
  --banner-text-padding: 50px;
  --banner-text-padding-start: 50px;
  --banner-text-padding-end: 100px;
  --video-margin-top: 300px;
  --video-margin-inline: 0;
  --section-padding-inline-end: 50px;
  padding-inline-end: var(--section-padding-inline-end);
}
.banner-layout13 .cta {
  --title-font-size: 17px;
  --title-margin-bottom: 24px;
  --icon-font-size: 65px;
  --icon-size: 88px;
  --icon-color: var(--color-primary);
  --icon-bg: transparent;
  --icon-border-width: 0;
  --icon-border-radius: 0;
  --icon-margin-bottom: 15px;
  --cta-padding: 35px 40px;
  max-width: 190px;
  border-radius: 8px;
  padding: var(--cta-padding);
  border: 1px solid var(--color-secondary);
  transition: all 0.3s linear 0ms;
}
.banner-layout13 .cta:hover {
  border-color: var(--color-primary);
}
.banner-layout13 .cta:hover .cta-icon {
  animation: bounce 1s linear infinite;
}
.banner-layout13 .banner-text {
  position: relative;
  z-index: 2;
  border-radius: 0 8px 0 0;
  background-repeat: no-repeat;
  background-position: bottom right;
  background-image: url(../images/shapes/5.png);
}
.banner-layout13 .banner-text-inner {
  padding: var(--banner-text-padding);
  padding-inline-start: var(--banner-text-padding-start);
  padding-inline-end: var(--banner-text-padding-end);
}
.banner-layout13 .banner-alert .alert-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 50px;
  height: 70px;
  color: var(--color-white);
  background-color: var(--color-primary);
  margin-inline-end: 30px;
}
.banner-layout13 .video-column {
  background-repeat: no-repeat;
  background-position: 100% 70px;
  background-image: url(../images/shapes/globe.png);
}
.banner-layout13 .video-banner {
  z-index: 3;
  margin-top: var(--video-margin-top);
  margin-inline-start: var(--video-margin-inline);
}

@media (min-width: 1200px) {
  .boxed-section {
    --margin-x: 30px;
    --section-border-radius: 10px;
  }
  .banner-layout1 .banner-img {
    margin-inline-start: 70px;
  }
  .banner-layout4 {
    --margin-x: 50px;
  }
  .banner-layout7 .scrollable-sticky {
    padding-inline-start: 80px;
  }
  .banner-layout9 .card-img {
    margin-inline-start: 70px;
  }
  .banner-layout10 {
    --margin-x: 50px;
  }
  .banner-layout10 .list-item {
    display: inline-flex;
  }
  .banner-layout13 .banner-text {
    margin-top: -70px;
  }
}
@media (min-width: 1400px) {
  .boxed-section {
    --margin-x: 50px;
  }
  .banner-layout4 {
    --margin-x: 70px;
  }
  .banner-layout13 {
    --banner-text-padding: 110px;
    --banner-text-padding-end: 220px;
    --video-margin-inline: -100px;
  }
}
@media (min-width: 1500px) {
  .banner-layout10 {
    --margin-x: 100px;
  }
}
@media (max-width: 1199px) {
  .services-layout4 + .banner-layout5 {
    padding-top: 130px;
  }
  .banner-layout5 .links-list {
    --gutter: 10px;
    --font-size: 13px;
    --link-padding: 7px 10px;
  }
  .banner-layout13 {
    --video-margin-top: 200px;
    --video-margin-inline: auto;
    --section-padding-inline-end: 0;
  }
  .banner-layout13 .video-column {
    background-attachment: fixed;
    background-position: 100% 20px;
  }
  .banner-layout13 .video-banner {
    max-width: 700px;
    margin-inline: var(--video-margin-inline);
  }
}
@media (max-width: 991px) {
  .banner-layout1 .animated-arrow {
    width: 90px;
    height: 90px;
    bottom: 30px;
    right: 30px;
  }
  .banner-layout3 {
    --banner-section-padding-bottom: 170px;
    --banner-text-font-size: 15px;
  }
  .banner-layout7 {
    --banner-title-font-size: 18px;
    --banner-title-margin-bottom: 20px;
    --banner-desc-font-size: 15px;
    --banner-desc-margin-bottom: 36px;
  }
  .banner-layout7 .scrollable-sticky .sticky-card {
    --card-title-padding: 20px;
    --card-title-font-size: 18px;
    --card-desc-font-size: 15px;
    --card-padding: 30px;
    --icon-size: 130px;
    --icon-font-size: 45px;
  }
  .banner-layout7 .scrollable-sticky .sticky-card .card-img {
    max-width: 300px;
  }
  .banner-layout9 .card-img {
    margin-top: 40px;
  }
  .banner-layout10 .banner-img-left {
    margin-top: 50px;
  }
}
/* Mobile Phones and tablets  */
@media (max-width: 767px) {
  .banner-layout2 {
    --bnner-img-padding: 60px 30px;
    --progress-area-padding: 20px;
  }
  .banner-layout9 {
    --arrow-shape-width: 100%;
    --card-desc-font-size: 15px;
    --progress-card-padding: 15px;
  }
  .banner-layout9 .fancyboxs-layout2 .fancybox-item {
    --icon-width: 70px;
    --item-body-padding: 20px 0;
  }
  .banner-layout9 .progress-card {
    bottom: 50%;
    transform: translateY(50%);
  }
  .banner-layout9 .arrow-shape {
    margin-bottom: 30px;
  }
  .banner-layout11 .list-item:last-child,
  .banner-layout12 .list-item:last-child {
    border-bottom: var(--item-border-bottom);
  }
  .banner-layout13 {
    --banner-text-padding: 40px;
    --banner-text-padding-start: 40px;
    --banner-text-padding-end: 40px;
  }
  .banner-layout13 .cta-wrapper {
    flex-direction: column;
    gap: 30px;
  }
}
/*-------------------------
    Footer
--------------------------*/
.footer {
  --footer-primary-padding: 105px 0 50px;
  --secondary-primary-padding: 0 0 30px;
  --widget-margin-bottom: 30px;
  --widget-title-margin-bottom: 33px;
  --nav-link-size: 15px;
  background-color: var(--color-dark);
}
.footer .footer-primary {
  padding: var(--footer-primary-padding);
}
.footer .footer-secondary {
  position: relative;
  padding: var(--secondary-primary-padding);
}
.footer [class*="footer-widget"] {
  margin-bottom: var(--widget-margin-bottom);
}
.footer .footer-widget-title {
  color: var(--color-gray-300);
  font-size: 17px;
  line-height: 1.6;
  text-transform: capitalize;
  margin-bottom: var(--widget-title-margin-bottom);
}
.footer .contact-list li {
  --nav-link-size: 16px;
  margin-bottom: 0;
}
.footer .contact-list-title {
  color: var(--color-gray-100);
  margin-bottom: 10px;
}
.footer .footer-widget-nav .footer-nav-list li a {
  display: inline-block;
  position: relative;
  color: var(--color-white);
  font-size: var(--nav-link-size);
  padding-bottom: 2px;
  margin-bottom: 11px;
}
.footer .footer-widget-nav .footer-nav-list li a:before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 0;
  height: 1px;
  background-color: var(--color-primary);
  transition: all 0.4s ease;
}
.footer .footer-widget-nav .footer-nav-list li a:hover {
  color: var(--color-primary);
}
.footer .footer-widget-nav .footer-nav-list li a:hover:before {
  width: 100%;
}
.footer .social-icons {
  --space-x: 18px;
}
.footer .footer-copyrights {
  margin-bottom: 5px;
  color: var(--color-gray-300);
}
.footer .footer-copyright-links li a {
  position: relative;
  color: var(--color-white);
  font-size: 14px;
  margin-right: 27px;
  padding: 3px 0;
}
.footer .footer-copyright-links li a:before {
  content: "-";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: -14px;
  color: var(--color-white);
}
.footer .footer-copyright-links li a:after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 0;
  height: 1px;
  background-color: var(--color-primary);
  transition: all 0.4s ease;
}
.footer .footer-copyright-links li a:hover {
  color: var(--color-primary);
}
.footer .footer-copyright-links li a:hover:after {
  width: 100%;
}
.footer .footer-copyright-links li:last-child a {
  margin-right: 0;
}
.footer .footer-copyright-links li:last-child a:before {
  display: none;
}
.footer .contatct-text {
  --text-font-size: 90px;
  --text-padding-bottom: 45px;
  position: relative;
  padding-bottom: var(--text-padding-bottom);
  margin-bottom: 30px;
}
.footer .contatct-text:before,
.footer .contatct-text:after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  height: 2px;
}
.footer .contatct-text:before {
  width: 100%;
  background-color: #404040;
}
.footer .contatct-text:after {
  width: 0;
  transition: all 0.6s ease;
  background-color: var(--color-white);
}
.footer .contatct-text:hover:after {
  width: 100%;
}
.footer .contatct-text .contact-text-title {
  font-family: var(--font-secondary);
  font-size: var(--text-font-size);
  color: var(--color-white);
  font-weight: 500;
  line-height: 1;
  margin-bottom: 0;
}
.footer .contatct-text .arrow-flip {
  color: var(--color-white);
  width: var(--text-font-size);
  height: var(--text-font-size);
}
.footer .btn-white {
  --btn-height: 58px;
  --btn-bg-hover: var(--color-white);
  --btn-color-hover: var(--color-secondary);
}

.phone-number {
  --icon-color: var(--color-white);
  --icon-bg: var(--color-primary);
  --icon-box-shadow: 0 0 0 2px rgba(var(--color-primary-rgb), 0.5);
  display: flex;
  align-items: center;
  line-height: 1;
}
.phone-number .phone-icon {
  position: relative;
  padding: 5px;
  border-radius: 50%;
  margin-right: 12px;
  box-shadow: var(--icon-box-shadow);
}
.phone-number .phone-icon:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border-radius: 50%;
  animation: ripple 3s infinite;
  box-shadow: var(--icon-box-shadow);
}
.phone-number .phone-icon .icon-phone {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 45px;
  height: 45px;
  flex: 0 0 45px;
  border-radius: 50%;
  color: var(--icon-color);
  background-color: var(--icon-bg);
}
.phone-number .phone-link {
  font-weight: 500;
  font-size: 20px;
  white-space: nowrap;
  margin-bottom: 5px;
}
.phone-number .email-link {
  font-size: 14px;
}
.phone-number-secondary {
  --icon-color: var(--color-primary);
  --icon-bg: var(--color-secondary);
}
.phone-number-secondary .phone-link {
  color: var(--color-secondary);
}
.phone-number-secondary .phone-link:hover {
  color: var(--color-primary);
}

/* Scroll Top Button */
#scrollTopBtn {
  display: flex;
  color: var(--color-primary);
}
#scrollTopBtn .scroll-text {
  display: block;
  font-size: 14px;
  font-weight: 700;
  white-space: nowrap;
  color: var(--color-default);
  margin-inline-end: 13px;
  transition: all 0.3s ease-in-out;
}
#scrollTopBtn:hover .scroll-text {
  color: var(--color-primary);
}

.footer-brand-tagline {
  font-family: var(--font-primary, 'DM Sans', sans-serif);
  font-size: 15px;

  color: #ffffff;
  max-width: 420px;
}

.footer .footer-contact-address {
  color: #ffffff;
  font-size: 16px;
  line-height: 1.6;
}

@media (min-width: 992px) {
  .footer-services-nav .footer-nav-list li a {
    display: block;
    white-space: nowrap;
    font-size: 14px;
    margin-bottom: 10px;
  }
}

@media (max-width: 991px) {
  .footer-brand-tagline {
    font-size: 16px;
    max-width: 100%;
    margin-bottom: 24px;
  }

  .footer-services-nav .footer-nav-list li a {
    white-space: normal;
  }
}

@media (min-width: 1200px) {
  .footer-widget-about {
    padding-inline-end: 70px;
  }
}
@media (max-width: 1200px) {
  .footer {
    --footer-primary-padding: 35px 0 0;
    --secondary-primary-padding: 0 0 20px;
    --widget-margin-bottom: 20px;
    --widget-title-margin-bottom: 15px;
    --nav-link-size: 13px;
  }
  .footer .contatct-text {
    --text-font-size: 50px;
    --text-padding-bottom: 20px;
  }
  .footer .btn:not(.btn-link) {
    --btn-height: 50px;
  }
}
@media (max-width: 600px) {
  .footer .contatct-text {
    --text-font-size: 33px;
  }
}
/*-------------------------
    Call to Action
--------------------------*/
.cta {
  --title-font-size: 17px;
  --title-line-height: 1.5;
  --title-margin-bottom: 24px;
  --icon-font-size: 18px;
  --icon-size: 88px;
  --icon-color: var(--color-secondary);
  --icon-bg: var(--color-white);
  --icon-border-width: 15px;
  --icon-border-color: var(--color-gray-100);
  --icon-border-radius: 50%;
  --icon-margin-bottom: 20px;
  --desc-font-size: 15px;
}
.cta .cta-title {
  font-size: var(--title-font-size);
  line-height: var(--title-line-height);
  margin-bottom: var(--title-margin-bottom);
}
.cta .cta-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: var(--icon-font-size);
  width: var(--icon-size);
  height: var(--icon-size);
  color: var(--icon-color);
  background-color: var(--icon-bg);
  border-radius: var(--icon-border-radius);
  margin-bottom: var(--icon-margin-bottom);
  border: var(--icon-border-width) solid var(--icon-border-color);
}

.cta-banner {
  --banner-padding: 27px;
  --banner-max-width: 260px;
  --banner-bg: var(--color-white);
  --banner-border-radius: 3px;
  --banner-box-shadow: 0px 5px 83px 0px rgba(40, 40, 40, 0.12);
  --cta-title-font-size: 20px;
  --cta-title-line-height: 1.4;
  --cta-title-margin-bottom: 10px;
  --cta-desc-font-size: 15px;
  position: relative;
  z-index: 2;
  padding: var(--banner-padding);
  background-color: var(--banner-bg);
  max-width: var(--banner-max-width);
  box-shadow: var(--banner-box-shadow);
  border-radius: var(--banner-border-radius);
}
.cta-banner .cta-title {
  font-size: var(--cta-title-font-size);
  line-height: var(--cta-title-line-height);
  margin-bottom: var(--cta-title-margin-bottom);
}
.cta-banner .cta-desc {
  font-size: var(--cta-desc-font-size);
  color: var(--color-secondary);
  font-weight: 700;
  margin-bottom: 0;
}
.cta-banner .cta-icon {
  color: var(--color-primary);
  font-size: 70px;
  line-height: 1;
  margin-bottom: 25px;
}
.cta-banner-primary {
  --banner-bg: var(--color-primary);
}

/* Extra Small Devices */
@media (max-width: 575px) {
  .cta-banner {
    --banner-padding: 17px;
  }
}
/*-----------------------
    Hero
------------------------*/
.hero {
  --banner-img-padding: 200px;
  --author-name-font-size: 225px;
  --author-name-right-offset: -96px;
  --author-name-overlay-width: 109px;
  --author-bio-font-size: 17px;
  --banner-data-offset: 50px;
  --banner-img-height: 100vh;
}
.hero .hero-banner {
  max-width: 1050px;
  padding-inline-end: var(--banner-img-padding);
}
.hero .hero-banner-img {
  position: relative;
  min-height: 700px;
  height: var(--banner-img-height);
}
.hero .hero-banner-img:after {
  content: "";
  bottom: 0;
  left: 0;
  top: 0;
  right: 0;
  position: absolute;
  z-index: 1;
  background-repeat: no-repeat;
  background-position: bottom left;
  background-image: url(../images/shapes/6.png);
}
.hero .hero-banner-data {
  position: absolute;
  bottom: calc(var(--banner-data-offset) + 30px);
  left: var(--banner-data-offset);
  z-index: 2;
  max-width: 310px;
}
.hero .hero-author-name {
  position: absolute;
  top: 50%;
  right: var(--author-name-right-offset);
  font-size: var(--author-name-font-size);
  line-height: 1;
  z-index: 2;
  text-orientation: mixed;
  writing-mode: vertical-rl;
  transform: translateY(-50%);
  font-family: var(--font-secondary);
  font-weight: 500;
}
.hero .hero-author-name.text-overlay-white {
  width: var(--author-name-overlay-width);
  overflow: hidden;
}
.hero .hero-author-bio {
  font-size: var(--author-bio-font-size);
}
.hero .contact-list {
  --item-margin-bottom: 10px;
}
.hero .contact-list li a.color-primary {
  padding-bottom: 2px;
}
.hero .contact-list li a.color-primary:before {
  width: 100%;
}
.hero .contact-list li a.color-primary:hover:before {
  width: 0;
}

.hero-text {
  --arrow-btn-size: 160px;
}
.hero-text .arrow-btn {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  width: var(--arrow-btn-size);
  height: var(--arrow-btn-size);
  border-radius: 50%;
  color: var(--color-white);
  background-color: var(--color-primary);
}
.hero-text .arrow-btn:hover {
  background-color: var(--color-secondary);
}

.hero-video {
  --section-height: 100vh;
  --section-padding: 150px 0;
  --hero-desc-padding-left: 50px;
  --hero-title-margin: 0 0 55px !important;
  padding: var(--section-padding);
  height: var(--section-height);
  display: flex;
  align-items: center;
}
.hero-video.bg-overlay:before {
  z-index: 1;
  background-position: top right;
  background-repeat: no-repeat;
  background-image: url(../images/shapes/7.png);
  background-color: rgba(27, 26, 26, 0.25);
}
.hero-video.bg-overlay:after {
  display: block;
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1;
  opacity: 0.6;
  background: linear-gradient(
    to bottom,
    #1b1a1a 0%,
    #1b1a1a 20%,
    rgba(27, 26, 26, 0) 65%,
    rgba(27, 26, 26, 0) 100%
  );
}
.hero-video .container,
.hero-video .row {
  position: relative;
  z-index: 2;
}
.hero-video .hero-desc {
  position: relative;
  font-weight: 400 !important;
  padding-left: var(--hero-desc-padding-left);
}
.hero-video .hero-desc:before {
  content: "";
  position: absolute;
  left: 0;
  width: 1px;
  height: 100%;
  background-color: var(--color-white);
}
.hero-video .scroll-down-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--color-white);
  width: 38px;
  height: 65px;
  border-radius: 19px;
  border: 1px solid var(--color-white);
}
.hero-video .scroll-down-btn .arrow-icon {
  animation: slideTopDown 0.5s infinite alternate;
}

.splitted-blocks {
  --block-padding: 70px;
  --block-max-width: calc(620px + (var(--block-padding) * 2));
  display: flex;
  justify-content: end;
}
.splitted-blocks .inner-blocks {
  max-width: var(--block-max-width);
  padding: var(--block-padding);
}

.header-transparent + .layout-split {
  margin-top: -80px;
}

/*------------------------
    Slider 
--------------------------*/
.slider {
  --hero-title-font-size: 55px;
  --hero-title-margin: 0 0 25px;
  --hero-subtitle-font-size: 17px;
  --hero-desc-font-size: 17px;
  --slide-control-title-font-size: 18px;
  --slide-control-bio-font-size: 15px;
  --slider-control-margin: 110px 0 0;
  --arrow-btn-size: 160px;
  --arrow-btn-margin-top: -50px;
  --arrow-btn-margin-inline: -30px;
}
.slider .slide-item {
  height: calc(100vh - 165px);
  min-height: 550px;
}
.slider.slider-height-auto .slide-item {
  height: auto;
  padding: 200px 0 100px;
}
.slider .hero-subtitle {
  font-size: var(--hero-subtitle-font-size);
  font-weight: 700;
  color: var(--color-white);
  display: block;
  margin-bottom: 8px;
}
.slider .hero-title {
  font-family: var(--font-secondary);
  color: var(--color-white);
  font-size: var(--hero-title-font-size);
  font-weight: 500;
  line-height: 1.3;
  margin: var(--hero-title-margin);
}
.slider .hero-desc {
  color: var(--color-white);
  font-size: var(--hero-desc-font-size);
  line-height: 1.5;
  font-weight: 700;
  max-width: 650px;
  margin-bottom: 30px;
}
.slider .slider-control-title {
  position: relative;
  color: var(--color-white);
  font-size: var(--slide-control-title-font-size);
  padding-bottom: 20px;
  margin-bottom: 15px;
  border-bottom: 1px solid rgba(var(--color-white-rgb), 0.35);
}
.slider .slider-control-title:before,
.slider .slider-control-title:after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 30%;
  height: 1px;
  background-color: var(--color-white);
}
.slider .slider-control-title:after {
  animation: fullWidth 10s linear infinite;
}
.slider .slider-control-bio {
  color: var(--color-white);
  font-size: var(--slide-control-bio-font-size);
}
.slider .arrow-btn {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  width: var(--arrow-btn-size);
  height: var(--arrow-btn-size);
  border-radius: 50%;
  color: var(--color-white);
  border: 2px solid var(--color-white);
  margin-top: var(--arrow-btn-margin-top);
  margin-inline-start: var(--arrow-btn-margin-inline);
}
.slider .slider-control {
  max-width: 510px;
  margin: var(--slider-control-margin);
}
.slider .swiper-button-prev-2,
.slider .swiper-button-next-2 {
  --btn-bg-hover: rgba(var(--color-white-rgb), 0.4);
  --btn-color: var(--color-white);
  --btn-color-hover: var(--color-white);
}
.slider .bg-overlay:before {
  background-position: top right;
  background-repeat: no-repeat;
  background-image: url(../images/shapes/7.png);
  background-color: rgba(27, 26, 26, 0.25);
}
.slider .bg-overlay:after {
  display: block;
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: -2;
  opacity: 0.6;
  background: linear-gradient(
    to bottom,
    #1b1a1a 0%,
    #1b1a1a 20%,
    rgba(27, 26, 26, 0) 65%,
    rgba(27, 26, 26, 0) 100%
  );
}

.slider-arrows-bottom-right .swiper-button-next-2 {
  left: auto;
  right: 30px;
}
.slider-arrows-bottom-right .swiper-button-prev-2 {
  left: auto;
  right: 80px;
}

.swiper-dots-right {
  --swiper-pagination-bottom: 90px;
}
@media (min-width: 1300px) {
  .swiper-dots-right .swiper-pagination-bullets.swiper-pagination-horizontal {
    text-align: start;
    left: calc((100% - 1260px) / 2) !important;
  }
}
@media (min-width: 1400px) {
  .swiper-dots-right .swiper-pagination-bullets.swiper-pagination-horizontal {
    left: calc((100% - 1300px) / 2) !important;
  }
}

.slider-centerd {
  --swiper-pagination-bottom: 40px;
  --swiper-navigation-sides-offset: 35px;
  text-align: center;
}
.slider-centerd .hero-desc {
  margin-right: auto;
  margin-left: auto;
}

.hero-extra-data {
  position: absolute;
  z-index: 3;
  bottom: 50px;
  max-width: 550px;
}
@media (min-width: 1300px) {
  .hero-extra-data {
    right: calc((100% - 1260px) / 2) !important;
  }
}
@media (min-width: 1400px) {
  .hero-extra-data {
    right: calc((100% - 1300px) / 2) !important;
  }
}
.hero-extra-data .links-list {
  border-top: 1px solid rgba(var(--color-white-rgb), 0.4);
}
.hero-extra-data .links-list li:not(:last-child) {
  margin-inline-end: 20px;
}
.hero-extra-data .links-list a {
  display: block;
  font-size: 15px;
  font-weight: 700;
  color: var(--color-secondary);
  border-radius: 4px;
  padding: 10px 15px;
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  background-color: rgba(var(--color-white-rgb), 0.4);
  transition: all 0.3s linear;
}
.hero-extra-data .links-list a:hover {
  color: var(--color-white);
  background-color: var(--color-primary);
}

/* Large Size Screens */
@media (max-width: 1199px) {
  .slider {
    --hero-title-font-size: 45px;
    --hero-subtitle-font-size: 16px;
    --hero-desc-font-size: 16px;
    --slide-control-title-font-size: 18px;
    --slide-control-bio-font-size: 15px;
    --slider-control-margin: 70px 0 0;
  }
}
@media (min-width: 1200px) {
  .layout-split .widget {
    --widget-margin-bottom: 70px;
  }
  .hero-text {
    display: flex;
    flex-direction: column;
    justify-content: center;
  }
}
@media (min-width: 992px) {
  .hero-text-main {
    height: 100vh;
    min-height: 500px;
  }
  .header-sticky-main + .slider,
  .header-transparent + .slider {
    margin-top: 0;
  }
  .header-sticky-main + .slider .slide-item,
  .header-transparent + .slider .slide-item {
    padding-top: 80px;
    height: calc(100vh - 80px);
    min-height: calc(100vh - 80px);
  }
  .header-transparent.header-full + .slider {
    margin-top: -135px;
  }
  .header-transparent.header-full + .slider .slide-item {
    padding-top: 260px;
  }
}
@media (max-width: 991px) {
  .splitted-blocks {
    --block-padding: 30px;
    --block-max-width: 100%;
  }
  .hero-text {
    --arrow-btn-size: 120px;
  }
  .hero-video {
    --section-height: auto;
    --section-padding: 100px 0;
    --hero-desc-padding-left: 20px;
    --hero-title-margin: 0 0 20px !important;
  }
  .header-sticky-main + .slider,
  .header-transparent + .slider {
    margin-top: 0;
  }
  .header-sticky-main + .slider .slide-item,
  .header-transparent + .slider .slide-item {
    padding-top: 80px;
    min-height: calc(100vh - 80px);
    height: auto;
  }
  .slider {
    --hero-title-font-size: 30px;
    --hero-subtitle-font-size: 15px;
    --hero-desc-font-size: 15px;
    --slide-control-title-font-size: 15px;
    --slide-control-bio-font-size: 15px;
    --slider-control-margin: 40px 0 0;
    --arrow-btn-size: 90px;
    --arrow-btn-margin-top: 20px;
    --arrow-btn-margin-inline: 0;
  }
  .slider .slide-item {
    padding-inline: 40px;
  }
  .swiper-dots-right {
    --swiper-pagination-bottom: 30px;
  }
}
@media (max-width: 570px) {
  .hero {
    --banner-img-padding: 74px;
    --author-name-font-size: 110px;
    --author-name-right-offset: -80px;
    --author-name-overlay-width: 64px;
    --author-bio-font-size: 15px;
    --banner-data-offset: 30px;
    --banner-img-height: auto;
  }
  .hero-video .animated-arrow {
    width: 25px;
    height: 25px;
  }
  .slider .hero-data {
    gap: 20px;
    flex-direction: column;
  }
  .slider .hero-data .animated-arrow {
    width: 48px;
    height: 48px;
  }
}
/*--------------------------
      Video
--------------------------*/
.video-btn {
  --btn-size: 110px;
  --btn-color: var(--color-white);
  --btn-bg: rgba(var(--color-white-rgb), 0.4);
  --btn-filter: blur(10px) brightness(95%);
  display: inline-flex;
  position: relative;
  align-items: center;
}
.video-btn .video-player {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: var(--btn-size);
  height: var(--btn-size);
  border-radius: 50%;
  text-align: center;
  color: var(--btn-color);
  background-color: var(--btn-bg);
  -webkit-backdrop-filter: var(--btn-filter);
  backdrop-filter: var(--btn-filter);
  transition: all 0.3s linear;
}
.video-btn .video-player:hover {
  transform: scale(1.05);
}
.video-btn.centred-btn {
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.video-btn.top-right-btn {
  top: 40px;
  left: 40px;
}
.video-btn-sm {
  --btn-size: 70px;
}
.video-btn-xl {
  --btn-size: 128px;
}
.video-btn .video-title {
  color: var(--color-secondary);
  font-size: 16px;
  font-weight: 700;
  line-height: 1;
  display: block;
  margin-left: 12px;
}
.video-btn .video-img {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 110px;
  width: 160px;
}
.video-btn .video-text {
  position: relative;
  padding: 26px;
  max-width: 240px;
  height: 110px;
  background-color: var(--color-white);
}
.video-btn .video-text .video-desc {
  font-size: 14px;
  line-height: 1.4;
  color: var(--color-default);
  margin-top: 6px;
}
.video-btn .video-text:after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  width: 4px;
  background-color: var(--color-primary);
}

[class*="video-banner"] {
  position: relative;
}
[class*="video-banner"] .video-btn {
  position: absolute;
  z-index: 2;
}

/* Mobile Phones and tablets  */
@media (max-width: 767px) {
  .video-btn {
    --btn-size: 80px;
  }
}
/*-----------------------
    fancyboxs
------------------------*/
.fancybox-item {
  --item-margin-bottom: var(--bs-gutter-x);
  --item-body-padding: 0 0 calc(var(--bs-gutter-x) - 10px);
  --item-border-bottom: 1px solid var(--color-gray-200);
  --title-font-size: 22px;
  --desc-font-size: 15px;
  --icon-font-size: 48px;
  --icon-color: var(--color-primary);
  --icon-color-hover: var(--color-primary);
  --title-color: var(--color-secondary);
  --desc-color: var(--color-default);
  --title-margin-bottom: 12px;
  --desc-margin-bottom: 0;
  --icon-margin: 0 0 24px;
  --icon-animation: bounce 1s linear infinite;
  position: relative;
  margin-bottom: var(--item-margin-bottom);
  transition: all 0.4s ease;
}
.fancybox-item:not(:last-of-type) {
  border-bottom: var(--item-border-bottom);
}
.fancybox-item .fancybox-body {
  position: relative;
  padding: var(--item-body-padding);
  transition: all 0.3s ease-in-out;
}
.fancybox-item .fancybox-icon {
  position: relative;
  line-height: 1;
  color: var(--icon-color);
  font-size: var(--icon-font-size);
  margin: var(--icon-margin);
  transition: all 0.3s ease-in-out;
}
.fancybox-item .fancybox-title {
  color: var(--title-color);
  font-size: var(--title-font-size);
  margin-bottom: var(--title-margin-bottom);
}
.fancybox-item .fancybox-desc {
  color: var(--desc-color);
  font-size: var(--desc-font-size);
  margin-bottom: var(--desc-margin-bottom);
}
.fancybox-item:hover .fancybox-icon {
  animation: var(--icon-animation);
  color: var(--icon-color-hover);
}

.fancyboxs-layout2 .fancybox-item {
  --icon-width: 110px;
  --item-margin-bottom: 0;
  --title-font-size: 18px;
  --item-body-padding: 25px 0;
  --desc-color: #d6d6d6 !important;
  --item-border-bottom: 1px solid #404040;
  display: flex;
  align-items: center;
}
.fancyboxs-layout2 .fancybox-item:first-child {
  border-top: var(--item-border-bottom);
}
.fancyboxs-layout2 .fancybox-item .fancybox-icon {
  flex: 0 0 var(--icon-width);
  max-width: var(--icon-width);
}
.fancyboxs-layout2 .fancybox-item .fancybox-body {
  flex: 0 0 calc(100% - var(--icon-width));
  max-width: calc(100% - var(--icon-width));
}
.fancyboxs-layout2 .fancybox-item .fancybox-desc {
  margin-bottom: 0;
}

.fancyboxs-layout3 .fancybox-item {
  --icon-size: 88px;
  --title-font-size: 18px;
  --icon-margin: 0 auto 20px;
  --item-body-padding: 0 50px;
  --item-margin-bottom: 10px;
  --icon-color: var(--color-secondary);
  text-align: center;
}
.fancyboxs-layout3 .fancybox-item .fancybox-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: var(--icon-size);
  height: var(--icon-size);
  border-radius: 50%;
  border: 2px solid var(--color-gray-200);
}

.fancyboxs-layout4 .fancybox-item {
  --item-padding: 20px 50px;
  --title-font-size: 20px;
  --icon-margin: 0;
  --item-body-padding: 0;
  --item-margin-bottom: 0;
  --icon-width: 80px;
  --icon-color: var(--color-secondary);
  --desc-color: var(--color-secondary);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: var(--item-padding);
}
.fancyboxs-layout4 .fancybox-item .fancybox-icon {
  flex: 0 0 var(--icon-width);
  max-width: var(--icon-width);
}

.fancyboxs-layout5 {
  --wrapper-margin-top: 240px;
}
.fancyboxs-layout5:after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
  background-position: center;
  background-repeat: no-repeat;
  background-image: url(../../assets/images/shapes/2.webp);
}
.fancyboxs-layout5 .fancybox-wrapper {
  margin-top: var(--wrapper-margin-top);
}
.fancyboxs-layout5 .fancybox-item {
  --item-padding: 47px 40px;
  --title-font-size: 20px;
  --icon-margin: 0 0 32px;
  --item-body-padding: 0;
  --item-margin-bottom: 30px;
  --icon-width: 80px;
  --title-margin-bottom: 86px;
  padding: var(--item-padding);
  -webkit-backdrop-filter: blur(10px) brightness(95%);
  backdrop-filter: blur(10px) brightness(95%);
  background-color: rgba(var(--color-white-rgb), 0.4);
}
.fancyboxs-layout5 .fancybox-item:hover {
  --title-color: var(--color-secondary);
  background-color: var(--color-white);
}
.fancyboxs-layout5 .fancybox-item:hover .btn-white {
  --btn-color: var(--color-primary);
}

.fancyboxs-layout6 .fancybox-item {
  --item-body-padding: 0;
  --item-border-bottom: 0;
  --item-margin-bottom: 0;
  --icon-width: 80px;
  --item-body-width: calc(100% - var(--icon-width));
  --title-font-size: 20px;
  --icon-margin: 0 0 35px;
  --icon-color: var(--color-secondary);
  --desc-color: var(--color-secondary);
  --desc-margin-bottom: 5px;
}
.fancyboxs-layout6 .fancybox-item .fancybox-icon {
  flex: 0 0 var(--icon-width);
}
.fancyboxs-layout6 .fancybox-item .fancybox-body {
  padding-inline-end: 20px;
  flex: 0 0 var(--item-body-width);
  max-width: var(--item-body-width);
}
.fancyboxs-layout6 .fancybox-item:not(:last-of-type) {
  --item-margin-bottom: 36px;
  --item-body-padding: 0 0 36px;
}
.fancyboxs-layout6 .fancybox-item:not(:last-of-type) .fancybox-body {
  border-bottom: 1px solid var(--color-gray-500);
}

.fancyboxs-layout7 .fancybox-item {
  --item-body-width: 65%;
  --item-metadata-width: 35%;
  --item-body-padding: 0;
  --item-margin-bottom: 0;
  --item-border-bottom: 1px solid var(--color-gray-500);
  --title-font-size: 20px;
  --desc-color: var(--color-secondary);
}
.fancyboxs-layout7 .fancybox-item .fancybox-subtitle {
  font-size: 15px;
  margin-bottom: 10px;
}
.fancyboxs-layout7 .fancybox-item .fancybox-body {
  padding-inline-end: 20px;
  flex: 0 0 var(--item-body-width);
  max-width: var(--item-body-width);
}
.fancyboxs-layout7 .fancybox-item .fancybox-metadata {
  padding-bottom: 20px;
  padding-inline-end: 35px;
  flex: 0 0 var(--item-metadata-width);
  max-width: var(--item-metadata-width);
}
.fancyboxs-layout7 .fancybox-item:not(:last-of-type) {
  --item-margin-bottom: 36px;
  --item-body-padding: 0 0 34px;
}

.fancybox-light .fancybox-item {
  --icon-color: var(--color-white);
  --title-color: var(--color-white);
  --desc-color: var(--color-gray-100);
}

@media (max-width: 1400px) {
  .fancyboxs-layout4 .fancybox-item {
    --item-padding: 20px;
  }
}
@media (max-width: 991px) {
  .fancybox-item {
    --title-font-size: 18px;
    --desc-font-size: 14px;
    --icon-font-size: 40px;
    --title-margin-bottom: 8px;
    --icon-margin: 0 0 15px;
  }
}
@media (min-width: 1200px) {
  .fancyboxs-layout3 .text-block {
    margin-inline-start: 70px;
  }
  .fancyboxs-layout3 .text-block .text-link {
    font-size: 17px;
  }
}
@media (min-width: 768px) {
  .fancyboxs-layout3 .fancybox-wrapper > [class*="col-"]:not(:last-child) {
    border-inline-end: 1px solid var(--color-gray-200);
  }
  .fancyboxs-layout4 .fancybox-wrapper > [class*="col-"]:not(:last-child) {
    position: relative;
  }
  .fancyboxs-layout4
    .fancybox-wrapper
    > [class*="col-"]:not(:last-child):after {
    content: "";
    position: absolute;
    top: 50%;
    right: 0;
    width: 1px;
    height: 90px;
    background-color: var(--color-gray-200);
    transform: translateY(-50%);
  }
}
@media (max-width: 767px) {
  .fancyboxs-layout3 .fancybox-item {
    --item-body-padding: 0;
    --item-margin-bottom: 20px;
  }
  .fancyboxs-layout5 {
    --wrapper-margin-top: 80px;
  }
  .fancyboxs-layout5 .fancybox-item {
    --item-padding: 25px 20px;
    --icon-margin: 0 0 20px;
    --title-margin-bottom: 50px;
  }
  .fancyboxs-layout6 .fancybox-item {
    --title-font-size: 18px;
    --icon-margin: 0 0 15px;
  }
  .fancyboxs-layout7 .fancybox-item {
    --item-body-width: 100%;
    --item-metadata-width: 100%;
  }
}
@media (max-width: 480px) {
  .fancyboxs-layout6 .fancybox-item {
    --item-body-width: 100%;
  }
}
/*-----------------------
     feature 
------------------------*/
.feature-item {
  position: relative;
  border-radius: 10px;
  margin-bottom: 30px;
  transition: all 0.3s linear;
}
.feature-item .feature-icon {
  position: relative;
  font-size: 60px;
  line-height: 1;
  color: var(--color-primary);
  margin-bottom: 27px;
}
.feature-item .feature-title {
  font-size: 22px;
  margin-bottom: 15px;
}
.feature-item .feature-desc {
  font-size: 15px;
  margin-bottom: 0;
}

.awards .feature-item {
  text-align: center;
  margin-bottom: 60px;
}
.awards .feature-item .feature-img {
  padding: 50px;
  border-radius: 7px;
  background-color: var(--color-gray-100);
  transition: all 0.35s ease;
}
.awards .feature-item .feature-img img {
  margin: auto;
  transition: all 0.4s ease;
}
.awards .feature-item .feature-body {
  padding: 30px 25px 0;
}
.awards .feature-item .feature-desc {
  font-size: 16px;
}
.awards .feature-item:hover .feature-img {
  background-color: var(--color-primary);
}
.awards .feature-item:hover .feature-img img {
  transform: translateY(-5px);
}

/* Mobile Phones and tablets */
@media (max-width: 767px) {
  .feature-item .feature-icon {
    font-size: 40px;
    margin-bottom: 5px;
  }
  .feature-item .feature-title {
    font-size: 15px;
    margin-bottom: 5px;
  }
}
/*--------------------
     Team
---------------------*/
.member {
  --name-font-size: 22px;
  --card-padding: 35px;
  --card-bg: var(--color-gray-100);
  position: relative;
  border-radius: 3px;
  overflow: hidden;
  background-color: var(--card-bg);
  margin-bottom: var(--bs-gutter-x);
  transition: all 0.3s ease-in-out;
}
.member .member-img {
  position: relative;
  overflow: hidden;
}
.member .member-img img {
  width: 100%;
}
.member .member-data {
  position: relative;
  padding: var(--card-padding);
}
.member .member-data .member-name {
  font-size: var(--name-font-size);
  margin-bottom: 2px;
}
.member .member-data .member-desc {
  margin-bottom: 0;
}
.member .social-icons {
  --space-x: 15px;
  --icon-color: var(--color-secondary);
  --icon-color-hover: var(--color-primary);
}
.member:hover .social-icons {
  --icon-color: var(--color-primary);
}

.team-layout2 .member {
  --card-padding: 20px 0;
  --card-bg: transparent;
}
.team-layout2 .member .social-icons {
  --space-x: 11px;
  --icon-color: var(--color-primary);
  --icon-color-hover: var(--color-secondary);
  opacity: 0;
  transform: scale(0.5);
  transition: all 0.3s ease-in-out;
}
.team-layout2 .member:hover .social-icons {
  opacity: 1;
  transform: scale(1);
}

/* Mobile Phones and tablets */
@media (max-width: 767px) {
  .member {
    --name-font-size: 15px;
    --card-padding: 20px 25px;
  }
  .member .social-icons li a {
    opacity: 1;
  }
  .team-layout2 .member .social-icons {
    opacity: 1;
    transform: scale(1);
  }
}
/*----------------------------
     Testimonial
------------------------------*/
.testimonial-item {
  --item-padding-x: 0;
  --item-padding-y: 0;
  --title-font-size: 26px;
  --title-font-weight: 700;
  --title-line-height: 1.5;
  --title-margin-bottom: 30px;
  --title-color: var(--color-secondary);
  --meta-margin-inline-start: 130px;
  --meta-margin-bottom: 0;
  --meta-title-font-size: 17px;
  --meta-desc-font-size: 14px;
  --meta-title-margin-bottom: 4px;
  --desc-color: #282828;
  --avatar-size: 88px;
  --avatar-padding: 6px;
  --avatar-space-x: 15px;
  --avatar-margin-bottom: 0;
  --avatar-border-width: 3px;
  --avatar-border-color: transparent;
  --avatar-active-border-color: var(--color-primary);
  padding: var(--item-padding-y) var(--item-padding-x);
}
.testimonial-item .testimonial-title {
  position: relative;
  z-index: 1;
  color: var(--title-color);
  font-size: var(--title-font-size);
  font-weight: var(--title-font-weight);
  line-height: var(--title-line-height);
  margin-bottom: var(--title-margin-bottom);
}
.testimonial-item .testimonial-meta {
  margin-inline-start: var(--meta-margin-inline-start);
  margin-bottom: var(--meta-margin-bottom);
}
.testimonial-item .testimonial-meta-title {
  white-space: nowrap;
  color: var(--title-color);
  font-size: var(--meta-title-font-size);
  margin-bottom: var(--meta-title-margin-bottom);
}
.testimonial-item .testimonial-meta-desc {
  font-size: var(--meta-desc-font-size);
  color: var(--desc-color);
  line-height: 1;
  white-space: nowrap;
  margin-bottom: 0;
}
.testimonial-item .testimonial-avatar {
  display: flex;
  align-items: center;
  justify-content: center;
  width: var(--avatar-size);
  height: var(--avatar-size);
  padding: var(--avatar-padding);
  border-radius: 50%;
  cursor: pointer;
  margin-inline-end: var(--avatar-space-x);
  margin-bottom: var(--avatar-margin-bottom);
  border: var(--avatar-border-width) solid var(--avatar-border-color);
  transition: all 0.4s ease;
}
.testimonial-item .testimonial-avatar img {
  border-radius: 50%;
}

.testimonials-layout2 .testimonial-item {
  --avatar-size: 160px;
  --avatar-padding: 0;
  --avatar-border-width: 0;
  --avatar-overlap-margin: -30px;
  --avatar-icon-font-size: 35px;
}
.testimonials-layout2 .testimonial-item .testimonial-avatar {
  margin-inline-start: var(--avatar-overlap-margin);
  animation: rotationMoveFromRight 1.3s;
}
.testimonials-layout2 .testimonial-item .avatar-icon {
  font-size: var(--avatar-icon-font-size);
  width: var(--avatar-size);
  height: var(--avatar-size);
  border-radius: 50%;
  color: var(--color-secondary);
  border: 1px solid var(--color-secondary);
  animation: rotationMoveFromLeft 1.3s;
}

.testimonials-layout3 {
  --arrow-offset-value: -20px;
  padding-bottom: 500px;
}
.testimonials-layout3 + .video {
  position: relative;
  z-index: 2;
  margin-top: -400px;
}
.testimonials-layout3 .testimonials-box:after {
  opacity: 0.1;
}
.testimonials-layout3 .testimonial-item {
  --avatar-space-x: -12px;
  --avatar-margin-bottom: 24px;
  --meta-title-margin-bottom: 0;
  --meta-margin-inline-start: 0;
}
.testimonials-layout3 .testimonial-meta-info {
  position: absolute;
  opacity: 0;
  transition: opacity 0.3s ease;
}
.testimonials-layout3 .slider-thumbs .swiper-slide {
  width: auto !important;
}
.testimonials-layout3 .swiper-slide-thumb-active {
  z-index: 3;
}
.testimonials-layout3 .swiper-slide-thumb-active .testimonial-meta-info {
  opacity: 1;
}
.testimonials-layout3 .slider-with-thumbs {
  padding-bottom: 50px;
}
.testimonials-layout3 .swiper-button-prev-2 {
  bottom: 0;
  left: var(--arrow-offset-value);
}
.testimonials-layout3 .swiper-button-next-2 {
  bottom: 0;
  left: calc(var(--arrow-offset-value) + 50px);
}

.testimonials-layout4 .testimonial-item {
  --title-font-size: 22px;
}

.swiper-slide-thumb-active.testimonial-item .testimonial-avatar,
.swiper-slide-active:not(.swiper-slide-fully-visible).testimonial-item
  .testimonial-avatar {
  border-color: var(--avatar-active-border-color);
}

.testimonials-light .swiper-button-prev-2,
.testimonials-light .swiper-button-next-2 {
  --btn-color: var(--color-white);
}
.testimonials-light .testimonial-item {
  --desc-color: var(--color-white);
  --title-color: var(--color-white);
}

.testimonials-box {
  position: relative;
}
.testimonials-box:after {
  font-family: icomoon;
  content: "\e908";
  position: absolute;
  top: -50px;
  right: -40px;
  font-size: 150px;
  line-height: 1;
  color: var(--color-gray-100);
}

.quote-rate,
.cat-rating,
.testimonial-rating {
  color: #ffc400;
}

@media (min-width: 992px) {
  .testimonials-layout2 {
    --offset-value: 33.33%;
  }
  .testimonials-layout2 .swiper-button-prev-2 {
    bottom: 0px;
    left: var(--offset-value);
  }
  .testimonials-layout2 .swiper-button-next-2 {
    bottom: 0px;
    left: calc(var(--offset-value) + 50px);
  }
}
@media (max-width: 991px) {
  .testimonial-item {
    --title-font-size: 18px !important;
    --title-margin-bottom: 20px;
    --title-font-weight: 500;
    --meta-title-font-size: 14px;
    --avatar-size: 50px;
  }
  .testimonials-layout2 .testimonial-item {
    --avatar-size: 90px;
    --avatar-icon-font-size: 25px;
    --avatar-overlap-margin: -20px;
  }
  .testimonials-layout3 {
    --arrow-offset-value: -10px;
    padding-bottom: 300px;
  }
  .testimonials-layout3 + .video {
    margin-top: -200px;
  }
  .testimonials-layout3 .testimonial-item {
    --avatar-size: 60px;
    --avatar-margin-bottom: 8px;
  }
}
/*---------------------------
    Client
---------------------------*/
.client {
  position: relative;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
}
.client img {
  max-width: 160px;
  opacity: 0.8;
  filter: brightness(0);
  transition: opacity 0.5s ease;
}
.client:hover img {
  opacity: 1;
}

/*-----------------------
    careers
------------------------*/
.job-item {
  --card-padding: 40px;
  --title-margin: 22px 0 18px;
  --desc-margin-bottom: 55px;
  border-radius: 3px;
  padding: var(--card-padding);
  background-color: var(--color-white);
  box-shadow: 0 5px 83px 0 rgba(40, 40, 40, 0.08);
  transition: all 0.4s ease;
}
.job-item:hover {
  box-shadow: 0 0 15px 0 rgba(40, 40, 40, 0.1);
  transform: translateY(-2px);
}
.job-item .job-type {
  font-size: 13px;
  padding: 4px 10px;
  border-radius: 3px;
  margin-right: 15px;
  text-transform: capitalize;
  color: var(--color-white);
  background-color: var(--color-primary);
}
.job-item .job-location {
  font-size: 13px;
  color: var(--color-gray-400);
}
.job-item .job-title {
  font-size: 22px;
  margin: var(--title-margin);
}
.job-item .job-desc {
  margin-bottom: var(--desc-margin-bottom);
}

/* Mobile Phones and tablets */
@media (max-width: 767px) {
  .job-item {
    --card-padding: 20px;
    --title-margin: 20px 0 10px;
    --desc-margin-bottom: 30px;
  }
}
/*--------------------
     Blog
-------------------*/
.post-item {
  --item-padding-x: 50px;
  --item-padding-y: 35px;
  --post-meta-padding: 23px;
  --title-font-size: 20px;
  --title-font-weight: 700;
  --title-line-height: 1.4;
  --desc-font-size: 15px;
  --title-margin-bottom: 16px;
  --desc-margin-bottom: 23px;
  --item-box-shadow: 0px 5px 43px 0px rgba(27, 26, 26, 0.06);
  --item-box-shadow-hover: 0px 5px 43px 0px rgba(27, 26, 26, 0.1);
  position: relative;
  overflow: hidden;
  margin-bottom: var(--bs-gutter-x);
  box-shadow: var(--item-box-shadow);
  background-color: var(--color-white);
  transition: all 0.3s linear;
}
.post-item .post-img {
  position: relative;
  overflow: hidden;
}
.post-item .post-img img {
  transition: all 0.9s ease;
}
.post-item .post-body {
  position: relative;
  z-index: 1;
  background-color: var(--color-white);
  padding: var(--item-padding-y) var(--item-padding-x);
  transition: all 0.3s ease;
}
.post-item .post-title {
  font-size: var(--title-font-size);
  font-weight: var(--title-font-weight);
  line-height: var(--title-line-height);
  margin-bottom: var(--title-margin-bottom);
  transition: all 0.3s ease;
}
.post-item .post-title a {
  color: var(--color-secondary);
}
.post-item .post-title a:hover {
  color: var(--color-primary);
}
.post-item .post-desc {
  font-size: var(--desc-font-size);
  margin-bottom: var(--desc-margin-bottom);
}
.post-item .post-meta > *:not(:last-child) {
  margin-inline-end: 17px;
}
.post-item .post-meta-author {
  font-size: 13px;
  color: var(--color-secondary);
}
.post-item .post-meta-date {
  font-size: 13px;
  color: var(--color-gray-400);
}
.post-item .post-meta-cat {
  display: inline-flex;
  margin-bottom: 8px;
}
.post-item .post-meta-cat a {
  position: relative;
  color: var(--color-secondary);
  font-size: 13px;
}
.post-item .post-meta-cat a:hover {
  color: var(--color-secondary);
}
.post-item .post-meta-cat a:not(:last-child) {
  padding-right: 10px;
  margin-right: 10px;
}
.post-item .post-meta-cat a:not(:last-child):after {
  content: "|";
  position: absolute;
  top: 0;
  right: -1px;
  color: var(--color-secondary);
}
.post-item:hover {
  box-shadow: var(--item-box-shadow-hover);
}
.post-item:hover .post-img img {
  transform: scale(1.1) rotate(1deg);
}
.post-item:hover .btn {
  bottom: 0;
}

.blog-layout1 .post-item:after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  height: 2px;
  z-index: 2;
  width: 0;
  background-color: var(--color-secondary);
  transition: all 0.4s linear;
}
.blog-layout1 .post-item .post-footer {
  position: absolute;
  bottom: 0;
  right: 0;
  z-index: 1;
}
.blog-layout1 .post-item .post-text {
  position: relative;
  height: 135px;
  padding-bottom: 60px;
  transition: all 0.3s ease;
}
.blog-layout1 .post-item .post-text .post-desc {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  opacity: 0;
  font-size: 15px;
  visibility: hidden;
  height: 195px;
  transition: all 0.3s ease;
}
.blog-layout1 .post-item .btn:not(.btn-link) {
  --btn-min-width: 0;
  --bs-btn-padding-x: 0;
  width: 50px;
  height: 50px;
  border-radius: 0;
}
.blog-layout1 .post-item:hover:after {
  width: 100%;
}
.blog-layout1 .post-item:hover .btn:not(.btn-link) {
  color: var(--color-white);
  background-color: var(--color-secondary);
}
.blog-layout1 .post-item:hover .post-body {
  margin-top: -60px;
}
.blog-layout1 .post-item:hover .post-body .post-text {
  height: 195px;
}
.blog-layout1 .post-item:hover .post-body .post-title {
  opacity: 0;
  visibility: hidden;
}
.blog-layout1 .post-item:hover .post-body .post-desc {
  opacity: 1;
  visibility: visible;
}

.blog-layout2 .post-item {
  --item-padding-x: 0;
  --item-padding-y: 35px;
  --post-meta-padding: 23px;
  --title-font-size: 40px;
  --title-font-weight: 600;
  --title-line-height: 1.3;
  --desc-font-size: 17px;
  --title-margin-bottom: 10px;
  --item-box-shadow: none;
  --item-box-shadow-hover: none;
}
.blog-layout2 .post-item .post-meta {
  margin-bottom: 10px;
}

.blog-layout3 .post-item {
  --item-padding-x: 0;
  --item-padding-y: 35px;
  --item-padding-inline-start: 30px;
  --post-meta-padding: 23px;
  --title-font-size: 26px;
  --desc-font-size: 17px;
  --desc-margin-bottom: 45px;
  --title-margin-bottom: 10px;
  --item-box-shadow: none;
  --item-box-shadow-hover: none;
  --post-img-width: 47%;
  --post-body-width: 53%;
}
.blog-layout3 .post-item.featured-item {
  margin-inline-end: 15px;
}
.blog-layout3 .post-item:not(.featured-item) {
  --title-font-size: 17px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  overflow: visible;
  padding-bottom: var(--bs-gutter-x);
  margin-inline-start: var(--post-margin-x);
}
.blog-layout3 .post-item:not(.featured-item):last-child {
  margin-bottom: 0;
}
.blog-layout3 .post-item:not(.featured-item):not(:last-child):after {
  content: "";
  position: absolute;
  height: 1px;
  bottom: 0;
  left: calc(var(--post-margin-x) * -2 - 3px);
  width: calc(100% + (var(--post-margin-x)));
  background-color: var(--color-gray-200);
}
.blog-layout3 .post-item:not(.featured-item) .post-img {
  flex: 0 0 var(--post-img-width);
  max-width: var(--post-img-width);
}
.blog-layout3 .post-item:not(.featured-item) .post-body {
  flex: 0 0 var(--post-body-width);
  max-width: var(--post-body-width);
  padding-inline-start: var(--item-padding-inline-start);
}
.blog-layout3 .post-item .post-meta {
  margin-bottom: 10px;
}
.blog-layout3 .post-item .read-more {
  position: absolute;
  bottom: 0;
  right: 0;
}
.blog-layout3 .post-item .read-more:before {
  content: "";
  position: absolute;
  top: 0;
  left: -10px;
  bottom: 0;
  width: 10px;
  z-index: 2;
  background-color: var(--color-primary);
}
.blog-layout3 .post-item .read-more .btn {
  --btn-height: 58px;
}
.blog-layout3 .post-item .read-more .btn-small {
  --btn-min-width: 58px;
  --bs-btn-padding-x: 0;
}
.blog-layout3 .post-item .read-more .btn-full {
  position: absolute;
  right: 0;
  bottom: 0;
  opacity: 0;
  z-index: 3;
  transform: translateX(50%);
  transition: all 0.3s ease-in-out;
}
.blog-layout3 .post-item:hover .read-more .btn-full {
  opacity: 1;
  transform: translateX(0);
}

/* Blog Sigle */
.blog-single .post-item {
  --post-padding-x: 50px;
  --post-padding-y: 50px;
  box-shadow: 0px 5px 83px 0px rgba(27, 26, 26, 0.12);
}
.blog-single .post-item:before {
  content: "";
  position: absolute;
  bottom: 0;
  left: var(--post-padding-x);
  right: var(--post-padding-x);
  height: 4px;
  background-color: var(--color-primary);
}
.blog-single .post-item .post-body {
  padding: var(--post-padding-x) var(--post-padding-y);
}
.blog-single .post-item .post-meta > * {
  font-size: 13px;
}

.blog-widget-title {
  font-size: 21px;
  margin-bottom: 24px;
}

.widget-nav .nav-btn {
  display: inline-flex;
  align-items: center;
  font-size: 15px;
  font-weight: 700;
  color: var(--color-secondary);
  border-bottom: 1px solid var(--color-secondary);
  transition: all 0.3s linear;
}
.widget-nav .nav-btn .nav-icon {
  font-size: 13px;
}
.widget-nav .nav-btn .nav-icon + .nav-title,
.widget-nav .nav-btn .nav-title + .nav-icon {
  margin-inline-start: 8px;
}
.widget-nav .nav-btn:hover {
  color: var(--color-primary);
  border-bottom-color: var(--color-primary);
}

.blog-author {
  padding: 44px;
  border-radius: 3px;
  border: 6px solid var(--color-gray-200);
}
.blog-author .blog-author-avatar {
  flex: 0 0 150px;
  max-width: 150px;
  overflow: hidden;
  margin-bottom: 20px;
  padding-right: 30px;
}
.blog-author .blog-author-content {
  flex: calc(100% - 150px);
  max-width: calc(100% - 150px);
}
.blog-author .blog-author-name {
  font-size: 20px;
  margin-bottom: 4px;
}
.blog-author .blog-author-bio {
  font-size: 15px;
  margin-bottom: 13px;
}
.blog-author .social-icons {
  --icon-color: var(--color-primary);
  --icon-background-hover: var(--color-secondary);
  --icon-box-shadow-hover: 0 0 0 2px var(--color-secondary) inset;
}

.blog-share .social-icons,
.blog-author .social-icons {
  --space-x: 15px;
  --icon-width: 32px;
  --icon-height: 32px;
}

.comments-list .comment-item {
  position: relative;
}
.comments-list .comment-item:not(:last-child) {
  margin-bottom: 30px;
}
.comments-list .comment-item .comment-avatar {
  flex: 0 0 120px;
}
.comments-list .comment-item .comment-avatar img {
  max-width: 80px;
}
.comments-list .comment-item .comment-content {
  flex: 0 0 calc(100% - 120px);
}
.comments-list .comment-item .comment-content .comment-author {
  font-size: 18px;
  margin-bottom: 11px;
}
.comments-list .comment-item .comment-content .comment-date {
  color: var(--color-gray-400);
  font-size: 12px;
  line-height: 1;
  display: block;
  margin-bottom: 10px;
}
.comments-list .comment-item .comment-content .comment-desc {
  position: relative;
  font-size: 15px;
  margin-bottom: 6px;
  padding: 36px 40px;
  color: #282828;
  background-color: var(--color-gray-100);
}
.comments-list .comment-item .comment-content .comment-desc:before {
  content: "";
  position: absolute;
  top: 0;
  left: -15px;
  border-top: 15px solid var(--color-gray-100);
  border-left: 15px solid transparent;
  border-bottom: 15px solid transparent;
}
.comments-list .comment-item .comment-content .comment-reply {
  text-transform: capitalize;
  font-size: 14px;
  font-weight: 700;
  line-height: 1;
  color: var(--color-primary);
}
.comments-list .comment-item .comment-content .comment-reply:hover {
  color: var(--color-secondary);
}
.comments-list .comment-item .nested-comment {
  margin-top: 30px;
  margin-inline-start: 90px;
}

.blog-tags ul li a {
  position: relative;
  font-size: 14px;
  padding-right: 5px;
  color: var(--color-primary);
}
.blog-tags ul li a:hover {
  color: var(--color-secondary);
}
.blog-tags ul li a:before {
  content: ",";
  position: absolute;
  top: -2px;
  right: 1px;
  color: var(--color-primary);
}
.blog-tags ul li:last-child a:before {
  display: none;
}

.blog-slider {
  overflow-x: hidden;
}
.blog-slider.overflow-slider {
  --margin-inline-end: 0;
}
.blog-slider.overflow-slider .swiper {
  margin-inline-end: var(--margin-inline-end);
}

@media (min-width: 768px) {
  .blog-layout3 .posts-wrapper {
    --wrapper-padding-top: 40px;
    --post-margin-x: 15px;
    position: relative;
    overflow: hidden;
  }
  .blog-layout3 .posts-wrapper:before,
  .blog-layout3 .posts-wrapper:after {
    content: "";
    position: absolute;
    left: var(--post-margin-x);
    right: var(--post-margin-x);
    height: 1px;
    width: calc(100% - var(--post-margin-x) * 2);
    background-color: var(--color-gray-200);
  }
  .blog-layout3 .posts-wrapper:before {
    top: 0;
  }
  .blog-layout3 .posts-wrapper:after {
    bottom: 0;
  }
  .blog-layout3 .posts-wrapper .mini-posts {
    position: relative;
    overflow: hidden;
    padding-top: var(--wrapper-padding-top);
  }
  .blog-layout3 .posts-wrapper .mini-posts:before {
    content: "";
    position: absolute;
    left: 1px;
    width: 1px;
    top: calc(var(--wrapper-padding-top) * -1);
    bottom: calc(var(--wrapper-padding-top) * -1);
    background-color: var(--color-gray-200);
  }
  .blog-layout3 .posts-wrapper .featured-item {
    margin-top: var(--wrapper-padding-top);
  }
}
@media (min-width: 1200px) {
  .blog-single .post-item {
    --title-font-size: 40px;
  }
  .blog-single .post-item .post-title {
    line-height: 1.2;
  }
  .blog-single .post-item {
    --desc-font-size: 17px;
  }
  .blog-slider.overflow-slider {
    --margin-inline-end: -300px;
  }
}
@media (min-width: 1500px) {
  .blog-slider.overflow-slider {
    --margin-inline-end: -420px;
  }
}
@media (max-width: 1199px) {
  .blog-layout1 .post-item {
    --item-padding-x: 25px;
    --item-padding-y: 25px;
  }
  .blog-single .post-item {
    --post-padding-x: 25px;
    --post-padding-y: 25px;
  }
  .blog-single .post-item .post-meta {
    margin-bottom: 14px;
  }
}
@media (max-width: 991px) {
  .blog-layout3 .post-item {
    --title-font-size: 20px;
  }
  .blog-layout3 .post-item:not(.featured-item) {
    --title-font-size: 16px;
  }
}
/* Mobile Phones and tablets */
@media (max-width: 767px) {
  .blog-layout1 .post-item {
    --item-padding-x: 20px;
    --item-padding-y: 20px;
    --post-meta-padding: 13px;
    --title-font-size: 16px;
    --title-margin-bottom: 10px;
  }
  .blog-layout1 .post-item .btn {
    --btn-height: 47px;
    bottom: -43px;
  }
  .blog-layout2 .post-item {
    --desc-font-size: 15px;
    --desc-margin-bottom: 14px;
  }
  .blog-layout3 .post-item {
    --post-img-width: 100%;
    --post-body-width: 100%;
    --item-padding-y: 15px;
    --item-padding-inline-start: 0;
  }
  .blog-layout3 .post-item:not(.featured-item) {
    padding-bottom: 0;
  }
  .comments-list .comment-item .comment-avatar {
    flex: 0 0 60px;
  }
  .comments-list .comment-item .comment-avatar img {
    max-width: 40px;
  }
  .comments-list .comment-item .comment-content {
    flex: 0 0 calc(100% - 60px);
  }
  .comments-list .comment-item .comment-content .comment-desc {
    font-size: 13px;
    padding: 16px 20px;
  }
  .comments-list .comment-item .comment-content .comment-author {
    font-size: 15px;
    white-space: nowrap;
  }
  .comments-list .comment-item .comment-content .comment-date {
    font-size: 10px;
  }
  .comments-list .comment-item .nested-comment {
    margin-top: 20px;
    margin-inline-start: 30px;
  }
}
/* Extra Small Devices */
@media (max-width: 575px) {
  .blog-author {
    flex-direction: column;
    padding: 20px;
  }
  .blog-author .blog-author-avatar,
  .blog-author .blog-author-content {
    flex: 0 0 100%;
    max-width: 100%;
  }
  .blog-author .blog-author-avatar img {
    max-width: 60px;
  }
  .blog-author .blog-author-name {
    font-size: 17px;
  }
  .blog-author .blog-author-bio {
    font-size: 14px;
  }
}
/*----------------------------
    Contact
----------------------------*/
.contact-panel {
  --panel-padding: 110px;
  --form-margin-bottom: var(--bs-gutter-x);
  position: relative;
  z-index: 2;
  border-radius: 8px;
  padding: var(--panel-padding);
}

.contact-block-title {
  font-size: 20px;
  margin-bottom: 15px;
}

.contact-block .contact-list li {
  font-size: 14px;
  color: var(--color-secondary);
}
.contact-block .contact-list li a {
  color: var(--color-secondary);
}

.contact-panel-title {
  font-size: 22px;
}

textarea.form-control {
  min-height: 120px;
  padding-top: 16px;
}

.contact-layout1 .contact-panel-info .contact-list li {
  color: var(--color-secondary);
  font-weight: 700;
  font-size: 14px;
  margin-bottom: 10px;
}
.contact-layout1 .contact-panel-info .contact-list li a {
  color: var(--color-secondary);
}
.contact-layout1 .contact-panel-info .contact-list li i {
  margin-inline-end: 8px;
}
.contact-layout1 .contact-panel-info .contact-panel-title {
  font-size: 22px;
  margin-bottom: 28px;
}
.contact-layout1 .contact-panel-info .contact-panel-desc {
  margin-bottom: 45px;
}

.contact-layout3.video-overlay:before {
  z-index: 1;
}
.contact-layout3 .form-control {
  --form-control-border-color: var(--color-gray-500);
}

.contact-layout4 .contact-panel {
  --panel-padding: 70px;
  --desc-margin: 150px;
  --btn-size: 160px;
  --arrow-size: 37px;
  max-width: 550px;
}
.contact-layout4 .contact-panel .heading-desc {
  margin-bottom: var(--desc-margin);
}
.contact-layout4 .contact-panel .btn-arrow {
  display: flex;
  align-items: center;
  justify-content: center;
  width: var(--btn-size);
  height: var(--btn-size);
  border-radius: 50%;
  border: 1px solid var(--color-white);
}
.contact-layout4 .contact-panel .btn-arrow svg {
  width: var(--arrow-size);
  height: var(--arrow-size);
}

.contact-layout5 {
  --panel-padding: 0;
  --panel-info-padding: 50px 55px;
  --panel-form-padding: 50px 55px;
  --panel-info-width: 43%;
  --panel-form-width: 57%;
  --arrow-size: 160px;
  --contct-title-font-size: 26px;
}
.contact-layout5.bg-overlay:before {
  background-color: rgba(27, 26, 26, 0.75);
}
.contact-layout5.bg-overlay:after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
  background-image: linear-gradient(
    180deg,
    rgba(37, 55, 69, 0) 0%,
    rgba(22, 22, 22, 0.04) 3%,
    rgb(22, 22, 22) 80%
  );
}
.contact-layout5 .contact-panel {
  overflow: hidden;
  box-shadow: 0px 5px 43px 0px rgba(27, 26, 26, 0.1);
}
.contact-layout5 .contact-panel-form {
  flex: 0 0 var(--panel-form-width);
  padding: var(--panel-form-padding);
  background-color: var(--color-white);
}
.contact-layout5 .contact-panel-info {
  flex: 0 0 var(--panel-info-width);
  padding: var(--panel-info-padding);
}
.contact-layout5 .contact-panel-info .arrow-flip {
  width: var(--arrow-size);
  height: var(--arrow-size);
  color: var(--color-white);
}
.contact-layout5 .contact-panel-info .list-item {
  font-weight: 700;
}
.contact-layout5 .contact-form-title {
  font-size: var(--contct-title-font-size);
}

.contact-layout6 {
  --panel-padding: 0;
  --panel-info-padding: 70px;
  --panel-form-padding: 110px;
  --panel-info-width: 43%;
  --panel-form-width: 57%;
  --arrow-size: 160px;
  --contct-title-font-size: 26px;
}
.contact-layout6 .contact-panel-form {
  flex: 0 0 var(--panel-form-width);
  padding: var(--panel-form-padding);
  background-color: var(--color-gray-100);
  border-radius: 0 8px 8px 0;
  background-repeat: no-repeat;
  background-position: bottom right;
  background-image: url(../images/shapes/5.png);
}
.contact-layout6 .contact-panel-info {
  flex: 0 0 var(--panel-info-width);
  padding: var(--panel-info-padding);
}
.contact-layout6 .contact-form-title {
  font-size: var(--contct-title-font-size);
}

@media (min-width: 1200px) {
  .contact-layout5 .list-item {
    --font-size: 17px;
  }
  .contact-layout6 .counter-item {
    --counter-number-font-size: 90px;
    --counter-desc-font-size: 18px;
  }
  .contact-layout6 .counter-item .counter-desc {
    max-width: 320px;
    font-weight: 700;
  }
}
@media (min-width: 992px) and (max-width: 1200px) {
  .contact-panel {
    --panel-padding: 60px;
  }
}
@media (min-width: 992px) {
  .contact-layout5 .contact-panel-info,
  .contact-layout6 .contact-panel-info {
    height: 100%;
  }
}
/* Mobile Phones & tablets and Small Screens */
@media (max-width: 991px) {
  .contact-panel {
    --panel-padding: 20px;
  }
  .contact-layout4 .contact-panel {
    --panel-padding: 30px;
    --desc-margin: 50px;
    --btn-size: 100px;
    --arrow-size: 25px;
  }
  .contact-layout5 {
    --panel-info-padding: 25px;
    --panel-form-padding: 25px;
    --panel-info-width: 100%;
    --panel-form-width: 100%;
    --arrow-size: 80px;
    --contct-title-font-size: 20px;
  }
  .contact-layout6 {
    --panel-info-padding: 40px 25px;
    --panel-form-padding: 25px;
    --panel-info-width: 100%;
    --panel-form-width: 100%;
    --contct-title-font-size: 20px;
  }
}
/*--------------------------
        pricing
--------------------------*/
.pricing-package {
  --package-padding: 50px;
  --package-bg: var(--color-white);
  --title-font-size: 22px;
  --title-margin-bottom: 17px;
  --desc-font-size: 15px;
  --desc-color: var(--color-default);
  --desc-margin-bottom: 23px;
  position: relative;
  overflow: hidden;
  margin-bottom: var(--bs-gutter-x);
  background-color: var(--package-bg);
  padding: var(--package-padding);
  transition: all 0.3s linear;
}
.pricing-package:before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 1px;
  height: 0;
  background-color: var(--color-secondary);
  transition: height 0.4s linear;
}
.pricing-package:after {
  content: "";
  position: absolute;
  right: 0;
  bottom: 0;
  width: 210px;
  height: 200px;
  opacity: 0;
  transition: all 0.3s linear;
  background: linear-gradient(
    135deg,
    rgba(var(--color-primary-rgb), 0) 0%,
    rgba(var(--color-primary-rgb), 0) 41%,
    rgba(var(--color-primary-rgb), 0.16) 100%
  );
}
.pricing-package .package-title {
  font-size: var(--title-font-size);
  margin-bottom: var(--title-margin-bottom);
}
.pricing-package .package-price {
  font-family: var(--font-secondary);
  font-size: 25px;
  font-weight: 500;
  color: var(--color-secondary);
  line-height: 1;
}
.pricing-package .package-desc {
  font-size: var(--desc-font-size);
  margin-bottom: var(--desc-margin-bottom);
}
.pricing-package .btn {
  --btn-height: 50px;
  --btn-min-width: 50px;
  --bs-btn-padding-x: 0;
  position: absolute;
  top: 0;
  right: 0;
  opacity: 0;
  transform: translate(50px, -50px);
}
.pricing-package:hover,
.pricing-package.featured {
  --package-bg: var(--color-gray-100);
}
.pricing-package:hover:before,
.pricing-package.featured:before {
  height: 100%;
}
.pricing-package:hover:after,
.pricing-package.featured:after {
  opacity: 1;
  visibility: visible;
}
.pricing-package:hover .btn,
.pricing-package.featured .btn {
  opacity: 1;
  transform: translate(0, 0);
}

@media (max-width: 1199px) {
  .pricing-package {
    --package-padding: 25px;
    --title-font-size: 20px;
    --title-margin-bottom: 14px;
    --desc-margin-bottom: 14px;
  }
}
/* Mobile Phones & tablets and Small Screens */
@media (max-width: 768px) {
  .pricing-package {
    --package-bg: var(--color-gray-100);
  }
  .pricing-package:before {
    height: 100%;
  }
  .pricing-package .btn {
    opacity: 1;
    transform: translate(0, 0);
  }
}
/*--------------------
    Sidebar
----------------------*/
.sidebar.sticky-top {
  top: 100px;
}

.widget {
  --widget-padding: 50px;
  --widget-margin-bottom: 40px;
  --title-font-size: 22px;
  --title-padding-bottom: 22px;
  position: relative;
  padding: var(--widget-padding);
  background-color: var(--color-gray-100);
  background-image: linear-gradient(
    135deg,
    rgba(var(--color-primary-rgb), 0) 80%,
    rgba(var(--color-primary-rgb), 0.4) 99%,
    rgba(var(--color-primary-rgb), 0.4) 100%
  );
}
.widget:not(:last-child) {
  margin-bottom: var(--widget-margin-bottom);
}
.widget .widget-title {
  position: relative;
  font-size: var(--title-font-size);
  margin-bottom: 23px;
}
.widget .widget-title.widget-title-border {
  padding-bottom: var(--title-padding-bottom);
  border-bottom: 2px solid var(--color-secondary);
}

.widget-search .widget-form-search {
  position: relative;
}
.widget-search .widget-form-search .form-control {
  --form-control-height: 65px;
  --form-control-padding-x: 20px;
  --form-control-bg: var(--color-white);
  --form-control-bg-color: var(--color-white);
  --form-control-bg-color-focus: var(--color-white);
  --form-control-border-color: var(--color-white);
  --form-control-border-color-focus: var(--color-white);
}
.widget-search .widget-form-search .btn {
  --btn-height: 65px;
  --btn-min-width: 0;
  --bs-btn-padding-x: 0;
  --bs-btn-color: var(--color-secondary);
  position: absolute;
  top: 0;
  right: 20px;
}
.widget-search .widget-form-search .btn:hover {
  color: var(--color-primary);
}

.widget-categories {
  --cat-font-size: 15px;
  --cat-padding: 22px 20px;
  --cat-color: var(--color-white);
  --cat-bg: var(--color-secondary);
  --cat-color-hover: var(--color-white);
  --cat-bg-hover: var(--color-primary);
  --cat-margin-bottom: 9px;
}
.widget-categories li:not(:last-child) {
  margin-bottom: var(--cat-margin-bottom);
}
.widget-categories li a {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: var(--cat-font-size);
  font-weight: 700;
  padding: var(--cat-padding);
  border-radius: 4px;
  text-transform: capitalize;
  color: var(--cat-color);
  background-color: var(--cat-bg);
  transition: all 0.3s linear;
}
.widget-categories li a .cat-count {
  font-size: 13px;
  font-weight: 400;
  width: 24px;
  height: 24px;
  line-height: 24px;
  border-radius: 50%;
  text-align: center;
  color: var(--color-secondary);
  background-color: var(--color-white);
  transition: all 0.3s linear;
}
.widget-categories li a:hover {
  color: var(--cat-color-hover);
  background-color: var(--cat-bg-hover);
}

.widget-categories-layout2 {
  --cat-font-size: 15px;
  --cat-padding: 0;
  --cat-color: var(--color-primary);
  --cat-bg: transparent;
  --cat-color-hover: var(--color-secondary);
  --cat-bg-hover: transparent;
  --cat-margin-bottom: 13px;
}

.widget-services ul li {
  margin-bottom: 4px;
}
.widget-services ul li:last-child {
  margin-bottom: 0;
}
.widget-services ul li a {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 15px;
  padding: 22px 30px;
  text-transform: capitalize;
  border-radius: 6px;
  color: var(--color-secondary);
  background-color: var(--color-white);
  transition: all 0.4s ease;
}
.widget-services ul li a:hover {
  color: var(--color-white);
  background-color: var(--color-primary);
}

.widget-tags ul {
  display: flex;
  flex-wrap: wrap;
}
.widget-tags ul li a {
  display: block;
  font-size: 13px;
  line-height: 1;
  text-transform: capitalize;
  padding: 6px 10px;
  border-radius: 3px;
  margin: 0 10px 10px 0;
  color: var(--color-secondary);
  border: 1px solid var(--color-secondary);
  transition: all 0.4s ease;
}
.widget-tags ul li a:hover {
  color: var(--color-white);
  border-color: var(--color-primary);
  background-color: var(--color-primary);
}

/*widget posts*/
.widget-post-item {
  margin-bottom: 20px;
}
.widget-post-item:last-child {
  margin-bottom: 0;
}
.widget-post-item .widget-post-title {
  font-size: 16px;
  margin-bottom: 0;
}
.widget-post-item .widget-post-title a {
  color: var(--color-secondary);
}
.widget-post-item:hover .widget-post-title a {
  color: var(--color-primary);
}
.widget-post-item .widget-post-img {
  flex: 0 0 80px;
  max-width: 80px;
  margin-inline-end: 15px;
}
.widget-post-item .widget-post-img img {
  border-radius: 2px;
}
.widget-post-item .widget-post-date {
  color: var(--color-dark);
  line-height: 1;
  font-size: 13px;
  margin-bottom: 4px;
}

/*widget products*/
.widget-poducts .widget-product-item {
  margin-bottom: 20px;
}
.widget-poducts .widget-product-item:last-of-type {
  margin-bottom: 0;
}
.widget-poducts .widget-product-item .widget-product-title {
  font-size: 15px;
  margin-bottom: 0;
}
.widget-poducts .widget-product-item .widget-product-title a {
  color: var(--color-secondary);
}
.widget-poducts .widget-product-item:hover .widget-product-title a {
  color: var(--color-primary);
}
.widget-poducts .widget-product-item .widget-product-img {
  margin-right: 20px;
  flex: 0 0 50px;
  max-width: 50px;
  height: 50px;
  overflow: hidden;
  border-radius: 2px;
}
.widget-poducts .widget-product-item .widget-product-img img {
  border-radius: 5px;
}
.widget-poducts .widget-product-item .widget-product-price {
  color: var(--color-secondary);
  font-size: 15px;
}

/* Widget Help */
.widget-help .widget-icon,
.widget-help .widget-title,
.widget-help .widget-subtitle,
.widget-help .widget-desc {
  color: var(--color-white);
}
.widget-help .widget-title {
  font-family: var(--font-secondary);
  font-weight: 600;
}
.widget-help .widget-desc {
  font-size: 16px;
}
.widget-help .phone-number {
  font-size: 22px;
  margin-bottom: 36px;
  color: var(--color-white) !important;
}

/* Widget Filter */
.widget-filter .price-output {
  flex: 0 0 50%;
  max-width: 50%;
}
.widget-filter label {
  color: var(--color-default);
  font-size: 14px;
  margin-bottom: 0;
}
.widget-filter input {
  background-color: transparent;
  color: var(--color-primary);
  font-size: 14px;
  border: none;
}
.widget-filter .btn-filter {
  font-size: 14px;
  font-weight: 700;
  color: var(--color-secondary);
}

.noUi-target {
  border: 0;
  height: 6px;
  box-shadow: none;
  border-radius: 1px;
  background-color: var(--color-gray-200);
}

.noUi-connect {
  background-color: var(--color-primary);
}

.noUi-handle {
  border: 0;
  width: 12px;
  height: 12px;
  box-shadow: none;
  background-color: var(--color-primary);
}
.noUi-handle:after,
.noUi-handle:before {
  display: none;
}

.noUi-horizontal .noUi-handle {
  width: 14px;
  height: 14px;
  right: -7px;
  top: -4px;
}

.sidebar-layout2 .widget {
  --widget-padding: 0;
  --widget-margin-bottom: 50px;
  background: none;
}
.sidebar-layout2 .widget-search .widget-form-search .form-control {
  border: var(--form-control-border-width) solid var(--color-gray-200);
}

@media (min-width: 1200px) {
  .sidebar.has-marign-right {
    margin-right: 40px;
  }
  .sidebar.has-marign-left {
    margin-left: 40px;
  }
  .widget-member.shifted-top {
    margin-top: -450px;
  }
  .widget-download .btn {
    --btn-height: 80px;
    --btn-inner-space: 15px;
    justify-content: flex-start;
  }
  .widget-download .btn i {
    font-size: 18px;
  }
}
/* Mobile Phones and tablets */
@media (max-width: 992px) {
  .sidebar {
    margin-top: 70px;
  }
  .widget {
    --widget-padding: 20px;
    --title-font-size: 18px;
  }
  .widget-categories ul {
    padding: 0;
  }
  .widget-categories ul li a {
    font-size: 13px;
    padding: 12px 15px;
  }
}
/*-----------------------
    Services 
--------------------------*/
.service-item {
  --item-bg: var(--color-white);
  --item-bg-hover: var(--color-white);
  --item-margin-bottom: var(--bs-gutter-x);
  --item-border-radius: 5px;
  --title-font-size: 22px;
  --desc-font-size: 15px;
  --icon-font-size: 48px;
  --icon-color: var(--color-primary);
  --title-color: var(--color-secondary);
  --desc-color: var(--bs-gray);
  --title-margin-bottom: 21px;
  --desc-margin-bottom: 35px;
  --icon-margin: 0 0 32px;
  --service-body-padding: 50px;
  --icon-animation: bounce 1s linear infinite;
  --box-shadow: 0 5px 43px 0 rgba(27, 26, 26, 0.06);
  --box-shadow-hover: 0 5px 43px 0 rgba(27, 26, 26, 0.1);
  position: relative;
  border-radius: var(--item-border-radius);
  box-shadow: var(--box-shadow);
  background-color: var(--item-bg);
  margin-bottom: var(--item-margin-bottom);
  transition: all 0.4s ease;
}
.service-item:hover {
  box-shadow: var(--box-shadow-hover);
  background-color: var(--item-bg-hover);
}
.service-item .service-body {
  position: relative;
  z-index: 2;
  padding: var(--service-body-padding);
}
.service-item .service-icon {
  position: relative;
  line-height: 1;
  color: var(--icon-color);
  font-size: var(--icon-font-size);
  margin: var(--icon-margin);
}
.service-item .service-title {
  font-size: var(--title-font-size);
  margin-bottom: var(--title-margin-bottom);
}
.service-item .service-title a {
  color: var(--title-color);
}
.service-item .service-desc {
  color: var(--desc-color);
  font-size: var(--desc-font-size);
  margin-bottom: var(--desc-margin-bottom);
}
.service-item .service-icon,
.service-item .service-title,
.service-item .service-desc,
.service-item .service-img img {
  transition: all 0.3s linear;
}
.service-item .service-img {
  position: relative;
  overflow: hidden;
}
.service-item .btn-link:after {
  content: "";
  position: absolute;
  bottom: 0;
  right: 0;
  width: 100%;
  height: 1px;
  transition: 0.5s ease;
}
.service-item .btn-link.btn-primary:after {
  background-color: var(--color-primary);
}
.service-item .btn-link.btn-secondary:after {
  background-color: var(--color-secondary);
}
.service-item .btn-link:hover:after {
  width: 0;
}
.service-item:hover .service-img img {
  transform: scale(1.05) rotate(1deg);
}
.service-item:hover .service-icon {
  animation: var(--icon-animation);
}

.services-layout1 {
  padding-bottom: 230px;
}
.services-layout1 + .banner-layout3 {
  padding-bottom: 250px;
}
.services-layout1 .service-item {
  --desc-margin-bottom: 70px;
}

.services-layout2 .service-item {
  --desc-margin-bottom: 30px;
}
.services-layout2 .banner-img {
  margin-bottom: -40px;
}

.services-layout3 .swiper,
.services-layout6 .swiper {
  cursor: url(../images/icons/cursor-drag.png), auto;
}
.services-layout3 .service-item,
.services-layout6 .service-item {
  --desc-margin-bottom: 30px;
  --item-margin-bottom: 0;
}
.services-layout3 .service-item .btn,
.services-layout6 .service-item .btn {
  cursor: pointer;
  padding-top: 40px;
}

.services-layout4 .service-item {
  --title-font-size: 20px;
  --desc-margin-bottom: 20px;
  --icon-margin: 50px 0 0;
  --item-margin-bottom: 0;
  --item-border-radius: 0;
  z-index: 2;
}
.services-layout4 .row-has-bg {
  background-repeat: no-repeat;
  background-size: auto !important;
  background-position: 20px calc(100% + 105px) !important;
}

.services-layout5 .service-item {
  --title-font-size: 22px;
  --icon-font-size: 90px;
  --icon-color: var(--color-secondary);
  --desc-margin-bottom: 55px;
  --icon-margin: 0 0 20px;
  overflow: hidden;
}
.services-layout5 .service-item .service-cat {
  transition: all 0.3s linear 0ms;
}
.services-layout5 .service-item .service-cat a {
  position: relative;
  color: var(--color-secondary);
  font-size: 13px;
  padding: 2px 7px;
  border-radius: 5px;
  margin-top: 4px;
  border: 1px solid var(--color-secondary);
}
.services-layout5 .service-item .service-cat a:hover {
  color: var(--color-white);
  border-color: var(--color-primary);
  background-color: var(--color-primary);
}
.services-layout5 .service-item .service-cat a:not(:last-child) {
  padding-inline-end: 7px;
  margin-inline-end: 6px;
}
.services-layout5 .service-item .btn-more {
  position: absolute;
  bottom: var(--service-body-padding);
  left: var(--service-body-padding);
  opacity: 0;
  visibility: hidden;
  transition: all 0.3s linear 0ms;
  transform: translate(-50px, 50px);
}
.services-layout5 .service-item:hover .service-cat {
  opacity: 0;
  visibility: hidden;
  transform: translateY(130px);
}
.services-layout5 .service-item:hover .btn-more {
  opacity: 1;
  visibility: visible;
  transform: translate(0, 0);
}

.services-layout6 {
  --margin-inline-end: 0;
}
.services-layout6 .swiper {
  margin-inline-end: var(--margin-inline-end);
}

.services-layout7 .service-item {
  --item-bg-hover: var(--color-gray-100);
  --item-border-radius: 0;
  --desc-font-size: 15px;
  --icon-font-size: 65px;
  --icon-color: var(--color-secondary);
  --desc-margin-bottom: 0;
  --icon-margin: 0 0 52px;
  --box-shadow: none;
  --box-shadow-hover: none;
  border-inline: 1px solid var(--color-gray-200);
  overflow: hidden;
}
.services-layout7 .service-item:before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 1px;
  height: 0;
  background-color: var(--color-secondary);
  transition: height 0.4s linear;
}
.services-layout7 .service-item .btn {
  --btn-height: 50px;
  --btn-min-width: 50px;
  --bs-btn-padding-x: 0;
  position: absolute;
  top: 0;
  right: 0;
  opacity: 0;
  z-index: 2;
  transform: translate(50px, -50px);
}
.services-layout7 .service-item:hover:before {
  height: 100%;
}
.services-layout7 .service-item:hover .btn {
  opacity: 1;
  transform: translate(0, 0);
}

.services-layout8:after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
  background-position: center;
  background-repeat: no-repeat;
  background-attachment: fixed;
  background-image: url(../../assets/images/shapes/2.webp);
}
.services-layout8 .service-item {
  --item-bg: rgba(var(--color-white-rgb), 0.4);
  --item-border-radius: 0;
  --desc-font-size: 15px;
  --icon-font-size: 45px;
  --icon-color: var(--color-white);
  --desc-color: var(--color-gray-100);
  --desc-margin-bottom: 0;
  --icon-margin: 0 0 52px;
  --box-shadow: none;
  --box-shadow-hover: none;
  --title-color: var(--color-white);
  --categorey-margin: 30px 0 0;
  --categorey-padding: 38px 0 0;
  --categorey-color: var(--color-white);
  --categorey-divider-color: var(--color-gray-200);
  overflow: hidden;
  -webkit-backdrop-filter: blur(5px);
  backdrop-filter: blur(5px);
}
.services-layout8 .service-item:hover {
  --title-color: var(--color-secondary);
  --desc-color: var(--color-gray);
  --categorey-color: var(--color-secondary);
}
.services-layout8 .service-item .service-icon {
  display: inline-flex;
  width: 78px;
  height: 78px;
  border-radius: 8px;
  align-items: center;
  justify-content: center;
  background-image: linear-gradient(
    -28deg,
    rgb(22, 22, 22) 0%,
    rgba(22, 22, 22, 0) 100%
  );
}
.services-layout8 .service-item .service-cat {
  margin: var(--categorey-margin);
  padding: var(--categorey-padding);
  border-top: 1px solid var(--categorey-divider-color);
}
.services-layout8 .service-item .service-cat a {
  position: relative;
  color: var(--categorey-color);
  font-size: 13px;
  padding: 2px 7px;
  border-radius: 5px;
  margin-top: 4px;
  border: 1px solid var(--categorey-color);
}
.services-layout8 .service-item .service-cat a:hover {
  color: var(--color-white);
  border-color: var(--color-primary);
  background-color: var(--color-primary);
}
.services-layout8 .service-item .service-cat a:not(:last-child) {
  padding-inline-end: 7px;
  margin-inline-end: 6px;
}
.services-layout8 .service-item .btn {
  --btn-height: 50px;
  --btn-min-width: 50px;
  --bs-btn-padding-x: 0;
  position: absolute;
  top: 0;
  right: 0;
  opacity: 0;
  z-index: 2;
  transform: translate(50px, -50px);
}
.services-layout8 .service-item:hover {
  background-color: var(--color-gray-100);
}
.services-layout8 .service-item:hover .btn {
  opacity: 1;
  transform: translate(0, 0);
}

.services-layout9 {
  --margin-inline-end: 0;
}
.services-layout9 .swiper {
  margin-inline-end: var(--margin-inline-end);
}
.services-layout9 .service-item {
  --item-bg: var(--color-gray-100);
  --item-bg-hover: var(--color-primary);
  --item-border-radius: 0;
  --service-body-padding: 50px 50px 85px;
  --desc-font-size: 15px;
  --icon-font-size: 65px;
  --icon-color: var(--color-secondary);
  --desc-margin-bottom: 0;
  --icon-margin: 0 0 52px;
  --box-shadow: none;
  --box-shadow-hover: none;
  --categorey-color: var(--color-primary);
  --categorey-margin: 0 0 20px;
  overflow: hidden;
  border-inline: 1px solid var(--color-primary);
}
.services-layout9 .service-item:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 1px;
  height: 0;
  background-color: var(--color-secondary);
  transition: height 0.4s linear;
}
.services-layout9 .service-item .btn {
  --btn-height: 50px;
  --btn-min-width: 50px;
  --bs-btn-padding-x: 0;
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 2;
}
.services-layout9 .service-item .service-cat {
  color: var(--categorey-color);
  margin: var(--categorey-margin);
}
.services-layout9 .service-item .service-cat a {
  position: relative;
  color: var(--categorey-color);
  font-weight: 700;
}
.services-layout9 .service-item .service-cat a:hover {
  color: var(--color-white);
}
.services-layout9 .service-item .service-cat a:not(:last-child) {
  padding-inline-end: 6px;
}
.services-layout9 .service-item .service-cat a:not(:last-child):before {
  content: ",";
  position: absolute;
  top: 0;
  right: 1px;
  color: var(--categorey-color);
}
.services-layout9 .service-item:hover {
  --title-color: var(--color-white);
  --icon-color: var(--color-white);
  --desc-color: var(--color-gray-100);
  --categorey-color: var(--color-secondary);
}
.services-layout9 .service-item:hover:before {
  height: 100%;
}
.services-layout9 .service-item:hover .btn {
  --bs-btn-bg: var(--color-secondary);
  --bs-btn-border-color: var(--color-secondary);
}

@media (min-width: 992px) {
  .services-layout3 .slider-container {
    position: absolute;
    bottom: 70px;
    z-index: 2;
  }
}
@media (min-width: 1200px) {
  .services-layout3 .swiper {
    margin: -40px -140px;
  }
  .services-layout3 .banner-img {
    padding-inline-start: 50px;
  }
  .services-layout6 {
    --margin-inline-end: -300px;
  }
  .services-layout9 {
    --margin-inline-end: -200px;
  }
}
@media (min-width: 1500px) {
  .services-layout6 {
    --margin-inline-end: -420px;
  }
  .services-layout9 {
    --margin-inline-end: -300px;
  }
}
@media (max-width: 1199px) {
  .services-layout2 {
    margin-bottom: 40px;
  }
  .services-layout2 .animated-arrow {
    width: 30px;
    height: 30px;
  }
  .services-layout3 .service-item {
    --service-body-padding: 20px;
  }
}
@media (max-width: 991px) {
  .service-item {
    --title-font-size: 18px;
    --desc-font-size: 14px;
    --icon-font-size: 40px;
    --title-margin-bottom: 15px;
    --desc-margin-bottom: 10px;
    --icon-margin: 0 0 16px;
    --service-body-padding: 20px;
  }
  .services-layout1 .service-item {
    --desc-margin-bottom: 20px;
  }
  .services-layout8 .service-item {
    --icon-margin: 0 0 25px;
    --icon-font-size: 40px;
    --title-margin-bottom: 10px;
    --categorey-margin: 13px 0 0;
    --categorey-padding: 18px 0 0;
  }
  .services-layout9 .service-item {
    --icon-font-size: 50px;
    --icon-margin: 0 0 20px;
    --categorey-margin: 0 0 10px;
    --service-body-padding: 20px 20px 65px;
  }
}
/* Mobile Phones & tablets and Small Screens */
@media (max-width: 768px) {
  .services-layout3 .swiper {
    margin: 0;
    padding: 30px;
  }
  .services-layout4 .service-item {
    --title-font-size: 18px;
    --icon-margin: 20px 0 0;
    --item-margin-bottom: 0;
  }
}
/*-------------------------
   gallery
-------------------------*/
.gallery .gallery-img {
  position: relative;
  margin-bottom: var(--bs-gutter-x);
}
.gallery .gallery-img:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  opacity: 0;
  background-color: rgba(var(--color-primary-rgb), 0.9);
  transform: scale(0);
  transition: all 0.4s ease-in-out;
}
.gallery .gallery-img img {
  border-radius: 2px;
}
.gallery .gallery-img .popup-gallery-item {
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 2;
  opacity: 0;
  width: 50px;
  height: 50px;
  font-size: 18px;
  border-radius: 2px;
  color: var(--color-primary);
  background-color: var(--color-white);
  transition: all 0.5s ease;
  transform: translate(-50%, -50%);
}
.gallery .gallery-img .popup-gallery-item:hover {
  color: var(--color-white);
  background-color: var(--color-secondary);
}
.gallery .gallery-img:hover:before {
  opacity: 1;
  transform: scale(1);
}
.gallery .gallery-img:hover .popup-gallery-item {
  opacity: 1;
}

.gallery-hidden .gallery-img {
  display: none;
}

.card-overlay {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1;
  opacity: 0;
  overflow: hidden;
  transition: opacity 1s;
}

.card-gradient {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1;
  overflow: visible;
  animation: gradientAnimation 5s linear infinite alternate paused;
}

.card-gradient-inner {
  position: absolute;
  opacity: 0.85;
  color: var(--color-primary);
  background-color: currentColor;
  animation: gradientSpotAnimation 5s infinite alternate paused;
  animation-delay: -3s;
}

.card-gradient-spot1 {
  bottom: -45px;
  right: 146px;
  box-shadow: var(--color-primary) 0 0 80px 90px;
}

.card-gradient-spot2 {
  bottom: -35px;
  right: 30px;
  box-shadow: var(--color-primary) 0 0 100px 110px;
}

.card-gradient-animation:hover .card-overlay {
  opacity: 1;
}
.card-gradient-animation:hover .card-gradient {
  animation-play-state: running;
}

/*------------------------
    Shop
--------------------------*/
.product-item {
  --item-padding: 25px;
  --title-font-size: 20px;
  --title-margin-bottom: 6px;
  position: relative;
  overflow: hidden;
  margin-bottom: var(--item-padding);
  transition: all 0.3s linear;
}
.product-item .product-action {
  position: absolute;
  bottom: 0;
  left: calc(var(--item-padding) + 15px);
  right: calc(var(--item-padding) + 15px);
  z-index: 2;
  transition: all 0.3s linear;
}
.product-item .product-info {
  padding: var(--item-padding) 0;
}
.product-item .product-action {
  opacity: 0;
}
.product-item .btn {
  width: 100%;
  border-radius: 0;
  height: var(--btn-height);
}
.product-item:hover .product-action {
  opacity: 1;
  bottom: calc(var(--item-padding) + 15px);
}

.product-title {
  font-size: var(--title-font-size);
  margin-bottom: var(--title-margin-bottom);
}
.product-title a {
  color: var(--color-secondary);
}
.product-title a:hover {
  color: var(--color-primary);
}

.product-price {
  font-size: 17px;
  color: #282828;
}

.product-img {
  overflow: hidden;
  position: relative;
  transition: all 0.3s ease;
}

/* Shop Single */
.product-item-single .product-title {
  font-size: 29px;
  margin-bottom: 15px;
}
.product-item-single .product-rating {
  margin-right: 37px;
}
.product-item-single .product-rating i {
  font-size: 15px;
}
.product-item-single .product-rating i.active {
  color: var(--color-primary);
}
.product-item-single .product-img img {
  border-radius: 15px;
}
.product-item-single .product-price {
  font-size: 22px;
}
.product-item-single .product-desc {
  font-size: 15px;
}
.product-item-single .social-icons {
  --space-x: 15px;
  --icon-size: 30px;
}

.product-details li {
  line-height: 2;
}
.product-details li strong {
  font-size: 16px;
  font-weight: 700;
  color: var(--color-secondary);
  min-width: 120px;
  display: inline-block;
}

.product-meta-review {
  font-size: 14px;
}
.product-meta-review a {
  position: relative;
  color: var(--color-default);
  padding-left: 10px;
}
.product-meta-review a:hover {
  color: var(--color-primary);
}
.product-meta-review a:before {
  content: "/";
  position: absolute;
  top: 0;
  left: 0;
}

.product-meta-details li {
  font-size: 15px;
  margin-bottom: 8px;
}
.product-meta-details li:last-child {
  margin-bottom: 0;
}
.product-meta-details li span:first-of-type {
  color: var(--color-secondary);
  font-size: 16px;
}

.related-products-title {
  font-size: 24px;
}

.product-quantity-title {
  margin-bottom: 0;
  display: inline-block;
  margin-right: 10px;
}

.product-quantity .btn {
  height: 50px;
}

.quantity-input-wrap {
  display: inline-flex;
  position: relative;
  width: 80px;
  max-height: 50px;
  border-radius: 6px;
  border: 2px solid #e6e8eb;
}
.quantity-input-wrap .increase-qty,
.quantity-input-wrap .decrease-qty {
  width: 25px;
  height: 25px;
  line-height: 25px;
  text-align: center;
  color: var(--color-secondary);
  cursor: pointer;
  position: absolute;
  right: 0;
  font-size: 16px;
  font-weight: 700;
  border-left: 2px solid #e6e8eb;
  -webkit-user-select: none;
  -moz-user-select: none;
  -o-user-select: none;
  user-select: none;
}
.quantity-input-wrap .increase-qty {
  top: 0;
}
.quantity-input-wrap .decrease-qty {
  bottom: 0;
  border-top: 2px solid #e6e8eb;
}
.quantity-input-wrap .qty-input {
  background-color: transparent;
  text-align: center;
  color: var(--color-secondary);
  font-weight: 600;
  font-size: 16px;
  padding: 0;
  margin: 0;
  width: 50px;
  height: 50px;
  border: 0;
  outline: 0;
  -moz-appearance: textfield;
  -webkit-appearance: textfield;
  appearance: textfield;
}
.quantity-input-wrap .qty-input::-webkit-inner-spin-button,
.quantity-input-wrap .qty-input::-webkit-outer-spin-button {
  -webkit-appearance: none;
  -moz-appearance: none;
  -o-appearance: none;
  appearance: none;
}

.product-details .nav-tabs {
  border-bottom: 2px solid #e6e6e6;
}
.product-details .nav-tabs .nav-link {
  margin-bottom: -2px;
}
.product-details .tab-content {
  padding-top: 20px;
}
.product-details .tab-content p {
  font-size: 15px;
}
.product-details .tab-content p:last-child {
  margin-bottom: 0;
}
.product-details .reviews-form .form-control {
  height: 50px;
}

.magnifier {
  z-index: 3000 !important;
}

.glightbox {
  cursor: pointer;
}

.sorting-options .nice-select {
  width: auto;
  min-width: 230px;
  height: 50px;
  line-height: 50px;
  margin-bottom: 0;
}

/* Shopping Cart */
.cart-table {
  margin-bottom: 50px;
}
.cart-table .table {
  border-radius: 4px;
  margin-bottom: 0;
}
.cart-table thead {
  background-color: transparent;
}
.cart-table thead tr th {
  font-size: 16px;
  font-weight: 700;
  text-align: center;
  color: var(--color-default);
  border-bottom-width: 0 !important;
  border-color: #e9e9e9;
  padding: 15px 0;
}
.cart-table tbody tr td {
  padding: 15px;
  border-color: #e9e9e9;
  vertical-align: middle;
}
.cart-table .cart-product {
  position: relative;
}
.cart-table .cart-product-price,
.cart-table .cart-product-total {
  font-size: 16px;
  font-weight: 700;
  color: var(--color-default);
  text-align: center;
}
.cart-table .cart-product-quantity {
  text-align: center;
}
.cart-table .cart-product-img {
  width: 50px;
  margin-right: 20px;
}
.cart-table .cart-product-title {
  font-size: 16px;
  margin-bottom: 0;
}
.cart-table .cart-product-remove {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 19px;
  height: 19px;
  font-size: 6px;
  color: var(--color-white);
  background-color: var(--color-secondary);
  border-radius: 50%;
  cursor: pointer;
  margin-inline-end: 20px;
  transition: all 0.3s ease;
}
.cart-table .cart-product-remove:hover {
  background-color: var(--color-primary);
}
.cart-table .cart-product-action td {
  padding: 30px 20px 20px;
}
.cart-table .cart-product-action td .form-control {
  --form-control-height: 58px;
  --form-control-border-radius: 2px;
  --form-control-border-width: 1px;
  width: 250px;
  font-size: 12px;
  font-weight: 400;
}
.cart-table .cart-product-action td .btn {
  --btn-height: 58px;
  --btn-min-width: 134px;
}

.cart-total-amount ul li {
  display: flex;
  line-height: 45px;
  font-weight: 700;
  border-bottom: 1px solid #e9e9e9;
}
.cart-total-amount ul li span:first-of-type {
  width: 30%;
  color: var(--color-secondary);
}

/* Mobile Phones */
@media (max-width: 575px) {
  .cart-table tbody tr td {
    padding: 5px;
  }
  .cart-table .cart-product-img {
    width: 40px;
    margin-right: 5px;
  }
  .cart-table .cart-product-title {
    font-size: 12px;
    font-weight: 400;
  }
  .cart-table .cart-product-price,
  .cart-table .cart-product-total {
    font-size: 10px;
  }
  .cart-table .cart-product-action-content {
    display: block !important;
  }
  .cart-table .cart-product-price,
  .cart-table .cart-product-total {
    font-size: 10px;
    font-weight: 400;
    padding: 0;
  }
  .cart-table thead tr th {
    font-size: 10px;
  }
}
/*-----------------------
    portfolio
------------------------*/
.portfolio-item {
  --btn-height: 58px;
  --item-padding: 40px;
  --item-padding-top: 33px;
  --item-margin-bottom: 30px;
  --title-color: var(--color-secondary);
  --title-color-hover: var(--color-primary);
  --title-font-size: 20px;
  --title-margin-bottom: 16px;
  --desc-color: var(--color-default);
  --desc-margin-bottom: 25px;
  --cat-link-color: var(--color-primary);
  --cat-link-color-hover: var(--color-secondary);
  position: relative;
  background-color: var(--color-white);
  margin-bottom: var(--item-margin-bottom);
  transition: all 0.4s linear;
}
.portfolio-item .portfolio-img {
  position: relative;
  overflow: hidden;
}
.portfolio-item .portfolio-img img {
  width: 100%;
  max-width: 100%;
  transition: all 0.4s linear;
}
.portfolio-item .portfolio-body {
  position: relative;
  padding: var(--item-padding);
}
.portfolio-item .portfolio-body .btn:not(.btn-link) {
  height: var(--btn-height);
}
.portfolio-item .portfolio-desc {
  color: var(--desc-color);
  margin-bottom: var(--desc-margin-bottom);
}
.portfolio-item .portfolio-cat {
  display: flex;
  margin-bottom: 6px;
}
.portfolio-item .portfolio-cat a {
  position: relative;
  color: var(--cat-link-color);
  font-size: 13px;
}
.portfolio-item .portfolio-cat a:hover {
  color: var(--cat-link-color-hover);
}
.portfolio-item .portfolio-cat a:not(:last-child) {
  padding-inline-end: 10px;
  margin-inline-end: 10px;
}
.portfolio-item .portfolio-cat a:not(:last-child):after {
  content: "|";
  position: absolute;
  top: 0;
  right: -1px;
  color: var(--color-secondary);
}
.portfolio-item .portfolio-title {
  font-size: var(--title-font-size);
  margin-bottom: var(--title-margin-bottom);
  transition: all 0.3s ease;
}
.portfolio-item .portfolio-title a {
  color: var(--title-color);
}
.portfolio-item .portfolio-title a:hover {
  color: var(--title-color-hover);
}

.portfolio-layout1 .portfolio-item {
  --item-padding: 10px 0 0;
  --cat-link-color: var(--color-secondary);
  --cat-link-color-hover: var(--color-primary);
}
.portfolio-layout1 .portfolio-item .portfolio-img img {
  transform: scale(1.15);
}
.portfolio-layout1 .portfolio-item .btn {
  --btn-height: 78px;
  --btn-min-width: 78px;
  --bs-btn-padding-x: 0;
  position: absolute;
  top: 50%;
  left: 50%;
  opacity: 0;
  border-radius: 50%;
  transform: translate(-50%, -50%) scale(0.8);
}
.portfolio-layout1 .portfolio-item:hover .portfolio-img img {
  transform: scale(1);
}
.portfolio-layout1 .portfolio-item:hover .btn {
  opacity: 1;
  transform: translate(-50%, -50%) scale(1);
}

.portfolio-layout2 .portfolio-item {
  --item-padding: 22px 0 0;
  --item-margin-bottom: 40px;
  --cat-link-color: var(--color-secondary);
  --cat-link-color-hover: var(--color-primary);
}
.portfolio-layout2 .portfolio-item .portfolio-img img {
  transform: scale(1.15);
}
.portfolio-layout2 .portfolio-item .portfolio-cat {
  flex-wrap: wrap;
  transition: all 0.3s ease;
}
.portfolio-layout2 .portfolio-item .portfolio-cat a {
  padding: 2px 7px;
  border-radius: 5px;
  margin-top: 3px;
  border: 1px solid var(--color-secondary);
}
.portfolio-layout2 .portfolio-item .portfolio-cat a:not(:last-child) {
  padding-inline-end: 7px;
  margin-inline-end: 6px;
}
.portfolio-layout2 .portfolio-item .portfolio-cat a:not(:last-child):after {
  visibility: hidden;
}
.portfolio-layout2 .portfolio-item .portfolio-cat a:hover {
  background-color: rgba(var(--color-white-rgb), 0.9);
}
.portfolio-layout2 .portfolio-item .btn-more {
  --btn-height: auto !important;
  --btn-min-width: none !important;
  --bs-btn-padding-x: 0;
}
.portfolio-layout2 .portfolio-item .btn-more:hover {
  color: var(--color-primary);
}
.portfolio-layout2 .portfolio-item:hover .portfolio-img img {
  transform: scale(1);
}

.portfolio-layout3 .portfolio-item {
  --item-padding: 50px;
  --cat-link-color: var(--color-secondary);
  --cat-link-color-hover: var(--color-secondary);
  margin-top: var(--item-padding);
  margin-bottom: 40px;
  box-shadow: 0px 5px 43px 0px rgba(27, 26, 26, 0.06);
}
.portfolio-layout3 .portfolio-item .portfolio-thumb {
  position: relative;
  margin-inline-start: var(--item-padding);
  transform: translateY(calc(-1 * var(--item-padding)));
}
.portfolio-layout3 .portfolio-item .portfolio-img img {
  transform: scale(1.15);
}
.portfolio-layout3 .portfolio-item .read-more {
  position: absolute;
  bottom: 0;
  left: 0;
}
.portfolio-layout3 .portfolio-item .read-more:before {
  content: "";
  position: absolute;
  top: 0;
  left: -10px;
  bottom: 0;
  width: 10px;
  z-index: 2;
  background-color: var(--color-primary);
}
.portfolio-layout3 .portfolio-item .read-more .btn {
  --btn-height: 58px;
}
.portfolio-layout3 .portfolio-item .read-more .btn-small {
  --btn-min-width: 58px;
  --bs-btn-padding-x: 0;
}
.portfolio-layout3 .portfolio-item .read-more .btn-full {
  position: absolute;
  left: 0;
  bottom: 0;
  opacity: 0;
  transform: translateX(50%);
  transition: all 0.3s ease-in-out;
}
.portfolio-layout3 .portfolio-item .portfolio-body {
  padding-top: 0;
}
.portfolio-layout3 .portfolio-item .portfolio-cat {
  position: absolute;
  top: 20px;
  right: 20px;
  z-index: 2;
}
.portfolio-layout3 .portfolio-item .portfolio-cat a {
  padding: 3px 10px;
  border-radius: 4px;
  background-color: rgba(var(--color-white-rgb), 0.7);
}
.portfolio-layout3 .portfolio-item .portfolio-cat a:not(:last-child):after {
  visibility: hidden;
}
.portfolio-layout3 .portfolio-item .portfolio-cat a:hover {
  background-color: rgba(var(--color-white-rgb), 0.9);
}
.portfolio-layout3 .portfolio-item:hover .portfolio-img img {
  transform: scale(1);
}
.portfolio-layout3 .portfolio-item:hover .read-more .btn-full {
  opacity: 1;
  transform: translateX(0);
}

.portfolio-layout4 {
  --section-padding-bottom: 550px;
  padding-bottom: var(--section-padding-bottom);
}
.portfolio-layout4 .portfolio-item {
  --item-padding: 50px;
  --item-padding-top: 50px;
  --item-min-height: 400px;
  --desc-color: var(--color-white);
  --desc-margin-bottom: 17px;
  --title-color: var(--color-white);
  --title-color-hover: var(--color-primary);
  --title-margin-bottom: 26px;
  --cat-link-color: var(--color-secondary);
  --cat-link-color-hover: var(--color-white);
  min-height: var(--item-min-height);
}
.portfolio-layout4 .portfolio-item .portfolio-img,
.portfolio-layout4 .portfolio-item .portfolio-body {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
}
.portfolio-layout4 .portfolio-item .portfolio-img img {
  width: 100%;
  height: 100%;
}
.portfolio-layout4 .portfolio-item .portfolio-body {
  z-index: 2;
}
.portfolio-layout4 .portfolio-item .bg-overlay:before {
  z-index: 1;
}
.portfolio-layout4 .portfolio-item .portfolio-title {
  margin-top: var(--title-margin-top);
}
.portfolio-layout4 .portfolio-item .portfolio-cat {
  position: absolute;
  top: calc(var(--item-padding) - 10px);
  left: var(--item-padding);
  opacity: 0;
  padding: 8px 12px;
  border-radius: 3px;
  background-color: var(--color-primary);
  transition: all 0.3s linear;
  transform: translateY(-10px);
}
.portfolio-layout4 .portfolio-item .btn,
.portfolio-layout4 .portfolio-item .portfolio-text {
  position: absolute;
  left: var(--item-padding);
  bottom: var(--item-padding);
}
.portfolio-layout4 .portfolio-item .btn {
  opacity: 0;
  --btn-color-hover: var(--color-primary);
}
.portfolio-layout4 .portfolio-item .portfolio-text {
  max-width: 420px;
  transition: all 0.3s linear;
}
.portfolio-layout4 .portfolio-item:hover .btn,
.portfolio-layout4 .portfolio-item:hover .portfolio-cat {
  opacity: 1;
}
.portfolio-layout4 .portfolio-item:hover .portfolio-cat {
  top: var(--item-padding);
}
.portfolio-layout4 .portfolio-item:hover .portfolio-text {
  bottom: calc(var(--item-padding) + var(--desc-margin-bottom) + 22px);
}
.portfolio-layout4 .portfolio-item:hover .portfolio-img img {
  transform: scale(1.07) rotate(1deg);
}

.portfolio-filter li {
  margin-bottom: 20px;
}
.portfolio-filter li:not(:last-child) {
  margin-inline-end: 30px;
}
.portfolio-filter li .filter {
  position: relative;
  color: var(--color-secondary);
  font-size: 14px;
  font-weight: 700;
  line-height: 1;
  text-transform: capitalize;
  display: block;
  padding-bottom: 4px;
}
.portfolio-filter li .filter:after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 0;
  height: 2px;
  background-color: var(--color-primary);
  transition: all 0.7s linear;
}
.portfolio-filter li .filter:hover,
.portfolio-filter li .filter.mixitup-control-active {
  color: var(--color-primary);
}
.portfolio-filter li .filter:hover:after,
.portfolio-filter li .filter.mixitup-control-active:after {
  width: 100%;
}

.portfolio-hidden > .portfolio-item {
  display: none;
}

.portfolio-slider.portfolio-layout4 .swiper {
  padding-top: 50px;
}
.portfolio-slider.portfolio-layout3 .swiper {
  padding: 40px;
  margin: -40px;
}
.portfolio-slider.portfolio-layout3 .swiper-slide {
  opacity: 0;
  visibility: hidden;
  transition: all 0.3s ease;
}
.portfolio-slider.portfolio-layout3 .swiper-slide.slide-visible,
.portfolio-slider.portfolio-layout3 .swiper-slide.swiper-slide-next,
.portfolio-slider.portfolio-layout3
  .swiper-slide.swiper-slide-next
  + .swiper-slide {
  opacity: 1;
  visibility: visible;
}
.portfolio-slider.portfolio-layout3 .portfolio-item {
  box-shadow: 0 7px 47px 0 rgba(100, 100, 111, 0.2);
}

@media (min-width: 992px) {
  .portfolio-layout2 .portfolio-item .portfolio-title {
    flex: 0 0 70%;
  }
  .portfolio-layout2 .portfolio-item .portfolio-actions {
    flex: 0 0 30%;
  }
  .portfolio-layout2 .portfolio-item .btn-more {
    position: absolute;
    right: 0;
    opacity: 0;
    transform: translate(-50px, 50px) scale(0.8);
  }
  .portfolio-layout2 .portfolio-item:hover .portfolio-img img {
    transform: scale(1);
  }
  .portfolio-layout2 .portfolio-item:hover .portfolio-cat {
    opacity: 0;
    justify-content: flex-end;
  }
  .portfolio-layout2 .portfolio-item:hover .btn-more {
    opacity: 1;
    transform: translate(0, 0) scale(1);
  }
}
@media (min-width: 1300px) {
  .portfolio-slider.portfolio-layout4 .swiper {
    margin-inline-end: -150px;
  }
  .portfolio-slider.portfolio-layout4 .swiper .swiper-button-next-2,
  .portfolio-slider.portfolio-layout4
    .swiper
    .swiper-horizontal
    > .swiper-pagination-bullets,
  .portfolio-slider.portfolio-layout4
    .swiper
    .swiper-pagination-bullets.swiper-pagination-horizontal {
    --swiper-pagination-bottom: -6px;
    left: auto;
    right: calc((100% - 1100px) / 2);
  }
  .portfolio-slider.portfolio-layout4 .swiper .swiper-button-next-2,
  .portfolio-slider.portfolio-layout4 .swiper .swiper-button-prev-2 {
    top: 20px;
  }
  .portfolio-slider.portfolio-layout4 .swiper .swiper-button-prev-2 {
    right: calc((100% - 940px) / 2);
  }
}
@media (min-width: 1400px) {
  .portfolio-slider.portfolio-layout4 .swiper .swiper-button-next-2,
  .portfolio-slider.portfolio-layout4
    .swiper
    .swiper-horizontal
    > .swiper-pagination-bullets,
  .portfolio-slider.portfolio-layout4
    .swiper
    .swiper-pagination-bullets.swiper-pagination-horizontal {
    right: calc((100% - 1180px) / 2);
  }
  .portfolio-slider.portfolio-layout4 .swiper .swiper-button-prev-2 {
    right: calc((100% - 1010px) / 2);
  }
}
@media (min-width: 1600px) {
  .portfolio-slider.portfolio-layout4 .swiper {
    margin-inline-end: -440px;
  }
  .portfolio-slider.portfolio-layout4 .swiper .swiper-button-next-2,
  .portfolio-slider.portfolio-layout4
    .swiper
    .swiper-horizontal
    > .swiper-pagination-bullets,
  .portfolio-slider.portfolio-layout4
    .swiper
    .swiper-pagination-bullets.swiper-pagination-horizontal {
    right: calc((100% - 1080px) / 2);
  }
  .portfolio-slider.portfolio-layout4 .swiper .swiper-button-prev-2 {
    right: calc((100% - 920px) / 2);
  }
}
@media (min-width: 1800px) {
  .portfolio-slider.portfolio-layout4 .swiper .swiper-button-next-2,
  .portfolio-slider.portfolio-layout4
    .swiper
    .swiper-horizontal
    > .swiper-pagination-bullets,
  .portfolio-slider.portfolio-layout4
    .swiper
    .swiper-pagination-bullets.swiper-pagination-horizontal {
    right: calc((100% - 1280px) / 2);
  }
  .portfolio-slider.portfolio-layout4 .swiper .swiper-button-prev-2 {
    right: calc((100% - 1120px) / 2);
  }
}
@media (max-width: 1199px) {
  .portfolio-layout3 .portfolio-item {
    --item-padding: 25px;
  }
}
@media (max-width: 1100px) {
  .portfolio-layout4 {
    --section-padding-bottom: 330px;
  }
}
@media (max-width: 991px) {
  .portfolio-item {
    --btn-height: 48px;
    --item-padding: 20px;
    --item-padding-top: 15px;
    --desc-margin-bottom: 15px;
    --title-font-size: 18px;
    --title-margin-bottom: 8px;
  }
  .portfolio-item .btn:not(.btn-link) {
    --btn-height: 48px;
    --btn-min-width: 150px;
  }
  .portfolio-layout2 .portfolio-item .portfolio-actions {
    width: 100%;
  }
  .portfolio-layout4 .portfolio-item {
    --item-padding: 20px;
    --item-padding-top: 20px;
    --item-min-height: 300px;
    --desc-margin-bottom: 13px;
    --title-margin-bottom: 20px;
  }
}
/* Mobile Phones and tablets */
@media (max-width: 767px) {
  .portfolio-filter li {
    margin-inline-end: 10px;
    margin-bottom: 5px;
  }
}
/*---------------------------
    Counters
--------------------------*/
.counter-item {
  --counter-number-font-size: 40px;
  --counter-icon-font-size: 30px;
  --counter-desc-font-size: 15px;
  --counter-desc-margin: 20px 0 0;
  --counter-item-margin: 30px;
  position: relative;
  margin-bottom: var(--counter-item-margin);
}
.counter-item .counter {
  font-family: var(--font-secondary);
  font-size: var(--counter-number-font-size);
  font-weight: 500;
  line-height: 1;
  min-width: 150px;
  margin-inline-end: 20px;
  margin-bottom: 0;
}
.counter-item .counter-icon {
  color: var(--color-secondary);
  font-size: var(--counter-icon-font-size);
  line-height: 1;
}
.counter-item .counter-desc {
  font-size: var(--counter-desc-font-size);
  color: #282828;
  max-width: 240px;
  margin: var(--counter-desc-margin);
}
.counter-item:hover .counter-icon {
  animation: bounce 1s linear infinite;
}

.counters-layout2 .counter-item {
  --counter-number-font-size: 25px;
  --counter-desc-font-size: 18px;
  --counter-desc-margin: 0;
  --counter-desc-pdding: 20px 0;
  --counter-item-margin: 0;
  padding: var(--counter-desc-pdding);
  border-top: 1px solid var(--color-gray-200);
}
.counters-layout2 .counter-item:last-of-type {
  border-bottom: 1px solid var(--color-gray-200);
}
.counters-layout2 .counter-item .counter-desc {
  max-width: none;
  font-weight: 700;
}

@media (min-width: 992px) {
  .counters.border-inline
    .row
    > [class*="col-"]:not(:last-of-type)
    .counter-item:after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    width: 1px;
    right: calc(var(--bs-gutter-x) * 0.5);
    background-color: var(--color-gray-200);
  }
}
/* Mobile Phones and tablets */
@media (max-width: 767px) {
  .counter-item {
    --counter-number-font-size: 30px;
    --counter-icon-font-size: 20px;
    --counter-desc-margin: 10px 0 0;
  }
  .counters-layout2 .counter-item {
    --counter-number-font-size: 20px;
    --counter-desc-font-size: 14px;
    --counter-desc-margin: 0;
    --counter-item-margin: 0;
    --counter-desc-pdding: 10px 0;
  }
  .counters-layout2 .counter-item .counter {
    min-width: 80px;
  }
}
/*-------------------------
    Work Process
-------------------------*/
.process-item {
  --title-font-size: 22px;
  --icon-font-size: 55px;
  --title-margin: 0 0 12px;
  --icon-margin: 0 0 24px;
  --padding-inline-start: 110px;
  position: relative;
  padding-inline-start: var(--padding-inline-start);
  transition: all 0.3s linear 0ms;
}
.process-item:before {
  content: "\e968";
  font-family: var(--font-icons);
  position: absolute;
  top: 0;
  left: 0;
  width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 10px;
  border-radius: 50%;
  color: var(--color-secondary);
  border: 2px solid var(--color-secondary);
  transition: all 0.3s linear 0ms;
}
.process-item:after {
  content: "";
  position: absolute;
  top: 44px;
  left: 16px;
  bottom: 0;
  width: 2px;
  background-color: var(--color-secondary);
}
.process-item .process-icon {
  font-size: var(--icon-font-size);
  color: var(--color-secondary);
  margin: var(--icon-margin);
  line-height: 1;
}
.process-item .process-title {
  font-size: var(--title-font-size);
  margin: var(--title-margin);
}

.swiper-slide-active .process-item:before {
  color: var(--color-white);
  background-color: var(--color-secondary);
}

/* Mobile Phones and tablets */
@media (max-width: 767px) {
  .process-item {
    --title-font-size: 18px;
    --icon-font-size: 45px;
    --title-margin: 0 0 8px;
    --icon-margin: 0 0 14px;
    --padding-inline-start: 60px;
  }
}
/*-----------------------
    Progress Bars
------------------------*/
.progress-item {
  overflow: hidden;
}

.progress {
  --bs-progress-bar-transition: width 2s ease;
  --bs-progress-border-radius: 2px;
  --bs-progress-bg: var(--color-gray-500);
  --bs-progress-height: 4px;
  --bs-progress-width: 100%;
  --bs-progress-bar-bg: var(--color-primary);
  width: var(--bs-progress-width);
  overflow: visible;
  position: relative;
}

.progress-bar {
  overflow: visible;
  position: relative;
  border-radius: var(--bs-progress-border-radius);
  height: var(--bs-progress-height);
  width: 0;
}

.progress-title {
  position: relative;
  z-index: 2;
  font-size: 15px;
  font-weight: 700;
  line-height: 1;
  margin-bottom: 18px;
}

.progress-percentage {
  font-size: 14px;
  font-weight: 700;
  line-height: 1;
  position: absolute;
  top: -33px;
  right: 0;
  color: var(--color-secondary);
}

.progressbars-vertical .progress-item {
  overflow: visible;
  margin-bottom: 0;
}
.progressbars-vertical .progress {
  --bs-progress-bg: transparent;
  --bs-progress-height: 190px;
  --bs-progress-width: 110px;
  --bs-progress-bar-transition: height 2s ease;
  display: flex;
  align-items: end;
}
.progressbars-vertical .progress-bar {
  height: 0;
  width: var(--bs-progress-width);
}
.progressbars-vertical .progress-percentage {
  font-family: var(--font-secondary);
  font-size: 25px;
  font-weight: 500;
  top: auto;
  bottom: 30px;
  right: 0;
  left: 0;
  color: var(--color-white);
}

.progressbars-horizontal .progress-item:not(:last-of-type) {
  margin-bottom: 40px;
}

.progress-circle {
  width: 110px;
  height: 110px;
  margin: auto;
}
.progress-circle svg {
  width: 100%;
  height: 100%;
  transform: rotate(-90deg);
}
.progress-circle circle {
  fill: none;
  stroke-width: 10;
  cx: 50;
  cy: 50;
  r: 45;
}
.progress-circle .circle-bg {
  stroke: #e6e6e6;
}
.progress-circle .progress {
  stroke: var(--color-primary);
  stroke-dasharray: 283;
  stroke-dashoffset: 283;
  stroke-linecap: round;
  transition: stroke-dashoffset 1s ease-in-out;
}
.progress-circle text {
  fill: black;
  font-family: var(--font-secondary);
  font-size: 23px;
  font-weight: 500;
  text-anchor: middle;
  dominant-baseline: middle;
} /*# sourceMappingURL=style.css.map */

/* new styles starts from here do not delete them */

/* Responsive Slide Background Image Styling */
.slide-item .slide-bg-img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -2;
  overflow: hidden;
}

.slide-item .slide-bg-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

/* ========================================================
   Custom CTA Banner Component (Exact Reference UI)
======================================================== */
.cognita-cta-section {
  position: relative;
  z-index: 5;
}

.cognita-cta-wrapper {
  background: rgba(255, 255, 255, 0.45);
  border: 1px solid rgba(255, 255, 255, 0.85);
  border-radius: 40px;
  padding: 12px;
  box-shadow:
    0 25px 60px rgba(0, 0, 0, 0.06),
    0 2px 10px rgba(0, 0, 0, 0.02);
}

.cognita-cta-card {
  position: relative;
  overflow: hidden;
  background: linear-gradient(
    135deg,
    #f0282e 0%,
    var(--color-primary) 48%,
    var(--color-primary-800) 100%
  );
  border-radius: 30px;
  padding: 85px 75px;
  color: #ffffff;
}

.cognita-cta-card .cta-heading {
  font-family: var(--font-secondary, "Unbounded", sans-serif);
  font-size: 54px;
  font-weight: 700;
  color: #ffffff;
  letter-spacing: -1.5px;
  line-height: 1.12;
}

.cognita-cta-card .cta-subheading {
  font-family: var(--font-primary, "DM Sans", sans-serif);
  font-size: 17px;
  font-weight: 400;
  color: rgba(255, 255, 255, 0.92);
  max-width: 520px;
  line-height: 1.6;
}

/* Concentric Background Wave Ripples */
.cta-waves {
  position: absolute;
  top: 50%;
  right: -120px;
  transform: translateY(-50%);
  width: 850px;
  height: 850px;
  pointer-events: none;
  z-index: 0;
}

.cta-waves .wave {
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  border-radius: 50%;
}

.cta-waves .wave-1 {
  width: 850px;
  height: 850px;
  background: rgba(255, 255, 255, 0.05);
}

.cta-waves .wave-2 {
  width: 700px;
  height: 700px;
  background: rgba(255, 255, 255, 0.08);
}

.cta-waves .wave-3 {
  width: 550px;
  height: 550px;
  background: rgba(255, 255, 255, 0.12);
}

.cta-waves .wave-4 {
  width: 400px;
  height: 400px;
  background: rgba(255, 255, 255, 0.17);
}

.cta-waves .wave-5 {
  width: 250px;
  height: 250px;
  background: radial-gradient(
    circle,
    rgba(255, 255, 255, 0.55) 0%,
    rgba(255, 255, 255, 0.22) 100%
  );
  box-shadow: 0 0 50px rgba(255, 255, 255, 0.35);
}

/* Tactile Pill Buttons with 3D Chrome Sphere */
.pill-btn {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  background: #000000;
  color: #ffffff !important;
  font-family: var(--font-primary, "DM Sans", sans-serif);
  font-size: 15px;
  font-weight: 700;
  padding: 6px 8px 6px 26px;
  min-height: 56px;
  border-radius: 50px;
  border: 1px solid rgba(255, 255, 255, 0.12);
  box-shadow: 0 10px 22px rgba(0, 0, 0, 0.3);
  transition: all 0.3s cubic-bezier(0.2, 1, 0.3, 1);
  gap: 16px;
  text-decoration: none;
}

.pill-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 14px 28px rgba(0, 0, 0, 0.4);
  background: #0f0f0f;
  color: #ffffff !important;
}

/* 3D Glossy Metallic Sphere Indicator */
.pill-sphere {
  width: 38px;
  height: 38px;
  flex: 0 0 38px;
  border-radius: 50%;
  background: radial-gradient(
    circle at 35% 28%,
    #ffffff 0%,
    #dcdcdc 35%,
    #8e8e8e 75%,
    #4a4a4a 100%
  );
  box-shadow:
    inset 0 2px 3px rgba(255, 255, 255, 0.9),
    0 3px 8px rgba(0, 0, 0, 0.45);
  transition: transform 0.3s ease;
}

.pill-btn:hover .pill-sphere {
  transform: scale(1.06);
}

/* ========================================================
   Responsive Breakpoints - Polished for Mobile (< 768px)
======================================================== */
@media (max-width: 991px) {
  .cognita-cta-card {
    padding: 55px 35px;
  }
  .cognita-cta-card .cta-heading {
    font-size: 38px;
  }
  .cta-waves {
    right: -200px;
    opacity: 0.6;
  }
}

@media (max-width: 575px) {
  .cognita-cta-wrapper {
    padding: 7px;
    border-radius: 26px;
    box-shadow: 0 15px 35px rgba(0, 0, 0, 0.08);
  }

  .cognita-cta-card {
    padding: 38px 22px 34px;
    border-radius: 20px;
  }

  .cognita-cta-card .cta-heading {
    font-size: 30px;
    letter-spacing: -0.8px;
    line-height: 1.15;
    margin-bottom: 14px;
  }

  .cognita-cta-card .cta-subheading {
    font-size: 14px;
    line-height: 1.55;
    margin-bottom: 28px !important;
    color: rgba(255, 255, 255, 0.88);
  }

  .cta-buttons-group {
    gap: 12px !important;
  }

  .pill-btn {
    width: 100%;
    min-height: 48px;
    padding: 5px 6px 5px 18px;
    font-size: 13.5px;
    font-weight: 600;
    border-radius: 30px;
    box-shadow: 0 6px 16px rgba(0, 0, 0, 0.28);
  }

  .pill-sphere {
    width: 32px;
    height: 32px;
    flex: 0 0 32px;
    box-shadow:
      inset 0 1.5px 2px rgba(255, 255, 255, 0.9),
      0 2px 6px rgba(0, 0, 0, 0.4);
  }

  /* Reposition subtle background glow for mobile */
  .cta-waves {
    width: 450px;
    height: 450px;
    right: -140px;
    top: 20%;
    opacity: 0.5;
  }

  .cta-waves .wave-1 {
    width: 450px;
    height: 450px;
  }
  .cta-waves .wave-2 {
    width: 360px;
    height: 360px;
  }
  .cta-waves .wave-3 {
    width: 270px;
    height: 270px;
  }
  .cta-waves .wave-4 {
    width: 180px;
    height: 180px;
  }
  .cta-waves .wave-5 {
    width: 100px;
    height: 100px;
  }
}

/* ========================================================
   100vh Fullscreen Page Title Hero (Desktop & Mobile)
======================================================== */
.header-sticky-main + .cognita-pagetitle-section,
.header-transparent + .cognita-pagetitle-section {
  margin-top: 0;
}

.cognita-pagetitle-section {
  position: relative;
  width: 100%;
  height: calc(100vh - 80px);
  min-height: calc(100vh - 80px);
  margin-top: 80px;
  background-color: #000000;
  display: flex;
  align-items: center;
  overflow: hidden;
}

.min-vh-100 {
  min-height: calc(100vh - 80px);
  padding-top: 0;
}

/* Background Image */
.cognita-pagetitle-bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
}

.cognita-pagetitle-bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: right center; /* Keeps 3D spheres visible on the right */
}

/* Gradient Overlay to ensure crisp contrast on text */
.cognita-pagetitle-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(
    90deg,
    rgba(0, 0, 0, 0.92) 0%,
    rgba(0, 0, 0, 0.6) 40%,
    rgba(0, 0, 0, 0) 80%
  );
  z-index: 2;
}

/* Content Container Z-Index Priority */
.z-index-10 {
  z-index: 10 !important;
}

/* Glowing Badge */
.cognita-pagetitle-badge {
  display: inline-flex;
  align-items: center;
  gap: 10px;
}

.cognita-pagetitle-badge .badge-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background-color: #e31e24;
  box-shadow:
    0 0 10px #e31e24,
    0 0 20px #e31e24;
  flex-shrink: 0;
}

.cognita-pagetitle-badge .badge-text {
  color: #e31e24;
  font-family: var(--font-primary, "DM Sans", sans-serif);
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 2px;
}

/* Typography */
.cognita-pagetitle-heading {
  font-family: var(--font-secondary, "Unbounded", sans-serif);
  font-size: 62px;
  font-weight: 700;
  line-height: 1.12;
  letter-spacing: -1.5px;
  margin-bottom: 16px;
  text-shadow: 0 4px 20px rgba(0, 0, 0, 0.7);
}

.cognita-pagetitle-subtext {
  font-family: var(--font-primary, "DM Sans", sans-serif);
  font-size: 19px;
  font-weight: 400;
  color: #e2e8f0;
  line-height: 1.5;
  letter-spacing: -0.2px;
  text-shadow: 0 2px 10px rgba(0, 0, 0, 0.8);
}

/* ========================================================
   Mobile Optimization (< 992px)
======================================================== */
@media (max-width: 991px) {
  .header-sticky-main + .cognita-pagetitle-section,
  .header-transparent + .cognita-pagetitle-section {
    margin-top: 80px;
    height: auto;
    min-height: calc(100vh - 80px);
  }

  .min-vh-100 {
    min-height: auto;
    padding-top: 40px;
    padding-bottom: 40px;
  }

  .cognita-pagetitle-heading {
    font-size: 42px;
    letter-spacing: -1px;
  }

  .cognita-pagetitle-subtext {
    font-size: 16px;
  }

  /* Vertical gradient on mobile so text on left/bottom is clear */
  .cognita-pagetitle-overlay {
    background: linear-gradient(
      180deg,
      rgba(0, 0, 0, 0.45) 0%,
      rgba(0, 0, 0, 0.75) 50%,
      rgba(0, 0, 0, 0.95) 100%
    );
  }
}

@media (max-width: 575px) {
  .cognita-pagetitle-heading {
    font-size: 32px;
    letter-spacing: -0.5px;
  }

  .cognita-pagetitle-subtext {
    font-size: 15px;
  }

  .cognita-pagetitle-badge .badge-text {
    font-size: 12px;
  }
}

/* ========================================================
   Cognita Split "Who We Are" Section
======================================================== */
.cognita-split-about {
  background-color: #ffffff;
}

/* Left Media Container */
.cognita-split-media {
  position: relative;
  width: 100%;
  height: 100%;
  min-height: 750px;
  background-color: #000000;
  overflow: hidden;
}

.cognita-split-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
}

/* Right Content Container */
.cognita-split-content {
  padding: 100px 90px 100px 100px;
  max-width: 720px;
}

.cognita-section-tag {
  font-family: var(--font-primary, "DM Sans", sans-serif);
  font-size: 13px;
  font-weight: 700;
  color: #e31e24;
  letter-spacing: 2px;
}

.cognita-split-title {
  font-family: var(--font-secondary, "Unbounded", sans-serif);
  font-size: 30px;
  font-weight: 700;
  color: #111111;
  line-height: 1.2;
  letter-spacing: -1.2px;
}

.cognita-split-body p {
  font-family: var(--font-primary, "DM Sans", sans-serif);
  font-size: 17px;
  font-weight: 400;
  line-height: 1.75;
  color: #555555;
}

.cognita-split-stats .stat-number {
  font-family: var(--font-secondary, "Unbounded", sans-serif);
  font-size: 32px;
  font-weight: 700;
  color: #111111;
  line-height: 1;
}

.cognita-split-stats .stat-label {
  font-family: var(--font-primary, "DM Sans", sans-serif);
  font-size: 13px;
  font-weight: 600;
  color: #777777;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

/* ========================================================
   Mobile Breakpoints (Content First, Image Below)
======================================================== */
@media (max-width: 991px) {
  .cognita-split-media {
    min-height: 420px;
  }
  .cognita-split-content {
    padding: 60px 30px 45px;
    max-width: 100%;
  }
  .cognita-split-title {
    font-size: 30px;
    letter-spacing: -0.6px;
  }
}

@media (max-width: 575px) {
  .cognita-split-media {
    min-height: 320px;
  }
  .cognita-split-content {
    padding: 45px 20px 35px;
  }
  .cognita-split-title {
    font-size: 18px;
    margin-bottom: 20px !important;
  }
  .cognita-split-body p {
    font-size: 14.5px;
    line-height: 1.65;
  }
  .cognita-split-stats {
    padding-top: 25px !important;
    margin-top: 25px !important;
    gap: 20px !important;
  }
  .cognita-split-stats .stat-number {
    font-size: 22px;
  }
  .cognita-split-stats .stat-label {
    font-size: 12px;
  }
}

/* ========================================================
   GSAP Stacking Cards UI - Exact Reference Match
======================================================== */
/* Update this block in your style.css */
.cognita-mission-stack {
  background-color: #000000;
  padding-top: 140px;
  padding-bottom: 80px;
  position: relative;
  /* CRITICAL FIX: Do NOT use overflow: hidden here, it breaks position: sticky! */
  overflow: visible;
  /* Use clip-path to hide the giant background spheres instead */
  clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
}

/* 3D Sphere "Circle Waves" Background */
.bg-sphere {
  position: absolute;
  border-radius: 50%;
  /* Creates the 3D grey/white shading fading into black */
  background: radial-gradient(
    circle at 35% 35%,
    #ffffff 0%,
    #888888 35%,
    #000000 80%
  );
  opacity: 0.65;
  z-index: 0;
  pointer-events: none;
}

.bg-sphere-1 {
  top: 10%;
  left: -25vw;
  width: 90vw;
  height: 90vw;
  max-width: 1200px;
  max-height: 1200px;
}

.bg-sphere-2 {
  bottom: -15%;
  right: -15vw;
  width: 60vw;
  height: 60vw;
  max-width: 800px;
  max-height: 800px;
}

.mission-main-title {
  font-family: var(--font-secondary, "Unbounded", sans-serif);
  font-size: 52px;
  font-weight: 700;
  color: #ffffff;
  line-height: 1.15;
  letter-spacing: -1.5px;
}

/* Stacking Container */
.stack-cards-wrapper {
  position: relative;
  max-width: 860px;
  margin: 0 auto;
  padding-top: 40px;
  padding-bottom: 40px;
}

/* Individual Card */
.stack-card {
  position: sticky;
  top: 140px;
  margin-bottom: 60vh;
  width: 100%;
  border-radius: 36px;
  background: #ffffff;
  box-shadow: 0 -15px 40px rgba(0, 0, 0, 0.5);
  transform-origin: center top;
  will-change: transform, opacity, filter;
}

.stack-card:last-child {
  margin-bottom: 0;
  box-shadow:
    0 -15px 40px rgba(0, 0, 0, 0.5),
    0 25px 50px rgba(0, 0, 0, 0.2);
}

.stack-card-inner {
  padding: 65px 75px;
}

/* Exact Header Layout: Badge + Title */
.stack-card-header {
  display: flex;
  align-items: flex-start;
  gap: 25px;
}

/* Orange Gradient Badge */
.stack-badge {
  position: relative;
  width: 85px;
  height: 85px;
  flex: 0 0 85px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  margin-top: -5px; /* Optically aligns with the text block */
}

.stack-badge-bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border-radius: 50%;
  /* The exact orange gradient fading to white/transparent */
  background: linear-gradient(135deg, #e31e24 0%, rgba(255, 115, 0, 0) 75%);
  z-index: 1;
}

.stack-number {
  position: relative;
  z-index: 2;
  font-family: var(--font-secondary, "Unbounded", sans-serif);
  font-size: 32px;
  font-weight: 800;
  color: #000000;
  line-height: 1;
}

/* Card Heading */
.stack-title {
  font-family: var(--font-primary, "DM Sans", sans-serif);
  font-size: 38px;
  font-weight: 700;
  color: #000000;
  letter-spacing: -1px;
  line-height: 1.15;
  margin-top: 15px; /* Aligns center with the badge */
}

/* Exact List Item Styling */
.stack-list li {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  margin-bottom: 25px;
}

.stack-list li:last-child {
  margin-bottom: 0;
}

/* Orange Check Icon */
.stack-check {
  flex: 0 0 26px;
  width: 26px;
  height: 26px;
  margin-top: 2px;
}

.stack-check svg {
  width: 100%;
  height: 100%;
}

/* Content Text Styling */
.text-gray {
  font-family: var(--font-primary, "DM Sans", sans-serif);
  font-size: 19px;
  color: #555555;
  line-height: 1.6;
}

.text-orange {
  color: var(--color-primary);
}

/* ========================================================
   Responsive Adjustments
======================================================== */
@media (max-width: 991px) {
  .mission-main-title {
    font-size: 40px;
    margin-bottom: 40px !important;
  }
  .stack-card {
    top: 110px;
    margin-bottom: 50vh;
  }
  .stack-card-inner {
    padding: 50px 40px;
  }
  .stack-card-header {
    gap: 20px;
  }
  .stack-badge {
    width: 70px;
    height: 70px;
    flex: 0 0 70px;
  }
  .stack-number {
    font-size: 26px;
  }
  .stack-title {
    font-size: 28px;
    margin-top: 10px;
  }
  .text-gray {
    font-size: 17px;
  }
}

@media (max-width: 575px) {
  .mission-main-title {
    font-size: 22px;
    letter-spacing: -0.5px;
  }
  .stack-card {
    top: 90px;
    border-radius: 24px;
    margin-bottom: 40vh;
  }
  .stack-card-inner {
    padding: 40px 25px;
  }
  .stack-card-header {
    gap: 15px;
    flex-direction: column; /* Stack badge and title on mobile */
  }
  .stack-badge {
    margin-top: 0;
  }
  .stack-title {
    font-size: 24px;
    margin-top: 0;
  }
  .stack-list li {
    gap: 12px;
  }
  .stack-check {
    flex: 0 0 22px;
    width: 22px;
    height: 22px;
  }
  .text-gray {
    font-size: 16px;
  }

  .bg-sphere-1 {
    width: 120vw;
    height: 120vw;
    top: 5%;
  }
  .bg-sphere-2 {
    width: 100vw;
    height: 100vw;
  }
}

/* Update this in your style.css */

.stack-card:last-child {
  /* This gives the final card scrolling duration so it "sticks" while you read it */
  margin-bottom: 40vh;
  box-shadow:
    0 -15px 40px rgba(0, 0, 0, 0.5),
    0 25px 50px rgba(0, 0, 0, 0.2);
}

/* Also ensure the wrapper has a bit of padding at the bottom for a smooth exit */
.stack-cards-wrapper {
  position: relative;
  max-width: 860px;
  margin: 0 auto;
  padding-top: 40px;
  padding-bottom: 10vh; /* Smooth transition to the next section */
}

/* ========================================================
   CRITICAL FIX: Enable Mobile Sticky Cards
======================================================== */
/* 1. Overrides the theme's overflow bug that breaks position: sticky on mobile */
html,
body {
  overflow-x: clip !important;
}

/* 2. Fix the wrapper overflow to ensure it doesn't break sticky */
.cognita-mission-stack {
  overflow: visible !important;
  clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
}

/* ========================================================
   Mobile Spacing Adjustments
======================================================== */
@media (max-width: 991px) {
  .stack-card {
    top: 100px; /* Docks right below the mobile header */
    margin-bottom: 60vh; /* Scroll distance before next card */
  }

  /* Keeps the last card on screen longer before moving to next section */
  .stack-card:last-child {
    margin-bottom: 30vh;
  }
}

@media (max-width: 575px) {
  .stack-card {
    top: 85px; /* Docks right below the mobile header */
    margin-bottom: 65vh; /* Scroll distance before next card */
  }

  .stack-card:last-child {
    margin-bottom: 25vh;
  }
}

/* ========================================================
   100vh Pillars Section (Exact Match UI)
======================================================== */
.cognita-pillars-100vh {
  position: relative;
  width: 100%;
  height: 100vh; /* Forces strict 100vh on Desktop */
  min-height: 700px; /* Prevents squishing on weird screens */
  background-color: #000000;
  display: flex;
  align-items: center;
  overflow: hidden; /* Hides the massive background circles */
}

/* Background Gradient Circles */
.pillar-bg-shape {
  position: absolute;
  border-radius: 50%;
  z-index: 0;
  pointer-events: none;
}

.shape-main {
  /* The giant orange sphere on the right */
  top: 50%;
  right: -25vw;
  width: 130vh;
  height: 130vh;
  transform: translateY(-50%);
  background: radial-gradient(
    circle at 30% 30%,
    #e06c00 0%,
    #b34a00 40%,
    #2b0f00 90%,
    #000000 100%
  );
}

.shape-bottom-right {
  bottom: -15vh;
  right: 5vw;
  width: 40vh;
  height: 40vh;
  background: radial-gradient(
    circle at top left,
    #ff7a00 0%,
    #a63d00 60%,
    #000000 100%
  );
}

.shape-bottom-left {
  bottom: -10vh;
  left: 2vw;
  width: 30vh;
  height: 30vh;
  background: radial-gradient(circle at top, #9f4900 0%, #000000 80%);
}

/* Typography */
.pillars-main-title {
  font-family: var(--font-secondary, "Unbounded", sans-serif);
  font-size: 56px;
  font-weight: 700;
  color: #ffffff;
  letter-spacing: -1.5px;
  margin-bottom: 40px;
}

/* Pill Toggle Buttons */
.pillars-toggle-group {
  display: flex;
  flex-direction: column;
  gap: 15px;
  max-width: 320px;
}

.pillar-pill-btn {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  height: 65px;
  border-radius: 50px;
  padding: 5px 10px 5px 30px;
  font-family: var(--font-primary, "DM Sans", sans-serif);
  font-size: 18px;
  font-weight: 700;
  text-decoration: none;
  transition: all 0.3s ease;
}

/* Active Orange Pill */
.pillar-pill-btn.active {
  background: linear-gradient(90deg, #ff7b00 0%, #f46200 100%);
  color: #ffffff;
  border: 1px solid transparent;
}

/* Inactive Black/Border Pill */
.pillar-pill-btn.inactive {
  background: rgba(0, 0, 0, 0.4);
  backdrop-filter: blur(5px);
  color: #ffffff;
  border: 1px solid #ff7b00;
}

.pillar-pill-btn.inactive:hover {
  background: rgba(255, 123, 0, 0.1);
}

/* 3D Indicator Spheres */
.pill-sphere {
  width: 38px;
  height: 38px;
  border-radius: 50%;
  box-shadow:
    inset 0 2px 5px rgba(255, 255, 255, 0.8),
    0 5px 10px rgba(0, 0, 0, 0.3);
}

/* The Bright sphere in the active pill */
.light-sphere {
  background: radial-gradient(
    circle at 35% 30%,
    #ffffff 0%,
    #ffdfc2 30%,
    #e67e22 80%
  );
}

/* The Dark/Bronze sphere in the inactive pill */
.dark-sphere {
  background: radial-gradient(
    circle at 35% 30%,
    #ffa755 0%,
    #b85000 40%,
    #4a1700 90%
  );
  box-shadow:
    inset 0 2px 4px rgba(255, 175, 100, 0.5),
    0 5px 10px rgba(0, 0, 0, 0.5);
}

/* Grid Items (Right Side) */
.pillar-grid-item {
  display: flex;
  flex-direction: column;
  gap: 15px;
}

.pillar-icon {
  display: inline-flex;
}

.pillar-text {
  font-family: var(--font-primary, "DM Sans", sans-serif);
  font-size: 19px;
  font-weight: 600;
  color: #ffffff;
  line-height: 1.4;
  margin-bottom: 0;
  padding-right: 10px;
}

/* ========================================================
   Responsive Breakpoints
======================================================== */
@media (max-width: 1199px) {
  .pillars-main-title {
    font-size: 46px;
  }
  .pillar-text {
    font-size: 17px;
  }
  .shape-main {
    width: 150vh;
    height: 150vh;
    right: -40vw;
  }
}

@media (max-width: 991px) {
  .cognita-pillars-100vh {
    height: auto; /* Release strict height on tablet/mobile */
    min-height: 100vh; /* Ensure it still fills the screen */
    padding-top: 100px;
    padding-bottom: 100px;
  }
  .pillars-main-title {
    font-size: 40px;
    margin-bottom: 30px;
  }
  .pillars-toggle-group {
    max-width: 100%;
    flex-direction: row; /* Side by side on tablet */
  }
  .pillar-pill-btn {
    height: 55px;
    font-size: 16px;
    padding: 5px 8px 5px 25px;
  }
  .pill-sphere {
    width: 32px;
    height: 32px;
  }

  /* Readjust background for mobile flow */
  .shape-main {
    top: 60%;
    right: -50vw;
    width: 150vw;
    height: 150vw;
  }
}

@media (max-width: 575px) {
  .cognita-pillars-100vh {
    padding-top: 80px;
    padding-bottom: 80px;
  }
  .pillars-main-title {
    font-size: 32px;
    letter-spacing: -1px;
  }
  .pillars-toggle-group {
    flex-direction: column; /* Stack normally on phones */
  }
  .pillar-pill-btn {
    height: 50px;
    font-size: 15px;
    padding: 5px 8px 5px 20px;
  }
  .pill-sphere {
    width: 28px;
    height: 28px;
  }
  .pillar-text {
    font-size: 15px;
    line-height: 1.5;
  }
  .pillar-grid-item {
    gap: 10px;
  }
  .shape-main {
    top: 50%;
    right: -80vw;
    width: 200vw;
    height: 200vw;
  }
}

/* ========================================================
   Our Technologies - Orange Glassmorphism Section
======================================================== */
.cognita-tech-orange-section {
  /* Exact vibrant orange background from the reference */
  background-color: #ff7600;
  padding-top: 120px;
  padding-bottom: 120px;
  color: #ffffff;
}

/* Typography */
.tech-main-title {
  font-family: var(--font-secondary, "Unbounded", sans-serif);
  font-size: 42px;
  font-weight: 500;
  color: #ffffff;
  line-height: 1.25;
  letter-spacing: -0.5px;
  max-width: 900px;
}

.tech-main-desc {
  font-family: var(--font-primary, "DM Sans", sans-serif);
  font-size: 17px;
  font-weight: 400;
  color: rgba(255, 255, 255, 0.95);
  line-height: 1.7;
  max-width: 980px;
}

/* 5-Column Grid Layout */
.tech-cards-grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 20px;
  margin-top: 60px;
}

/* Frosted Glassmorphism Card */
.tech-glass-card {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: space-between; /* Pushes icon to top, text to bottom */
  min-height: 280px;
  padding: 30px 25px;
  border-radius: 20px;

  /* The Glass Effect: Translucent background + blur + subtle inner glow */
  background: radial-gradient(
    circle at center,
    rgba(255, 255, 255, 0.25) 0%,
    rgba(255, 255, 255, 0.08) 100%
  );
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border: 1px solid rgba(255, 255, 255, 0.35);
  box-shadow: 0 15px 35px rgba(0, 0, 0, 0.05);

  transition:
    transform 0.3s ease,
    box-shadow 0.3s ease,
    background 0.3s ease;
  cursor: pointer;
  overflow: hidden;
}

/* Update this specific block in your style.css */
.tech-glass-card:hover {
  /* Removed translateY, added a uniform scale to make it pop outward */
  transform: scale(1.05);

  /* (Optional) If you meant you want it to slide to the right instead of scale, 
     delete the line above and use this instead: 
     transform: translateX(10px); 
  */

  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.15);
  background: radial-gradient(
    circle at center,
    rgba(255, 255, 255, 0.35) 0%,
    rgba(255, 255, 255, 0.12) 100%
  );
  border-color: rgba(255, 255, 255, 0.5);
  z-index: 2; /* Ensures the scaled card overlaps neighboring cards properly */
}

/* Card Icon */
.tech-card-icon {
  display: flex;
  opacity: 0.9;
}

/* Card Title (Bottom Left) */
.tech-card-title {
  font-family: var(--font-primary, "DM Sans", sans-serif);
  font-size: 20px;
  font-weight: 600;
  color: #ffffff;
  margin-bottom: 0;
  line-height: 1.3;
}

/* ========================================================
   Responsive Breakpoints
======================================================== */
@media (max-width: 1199px) {
  .tech-main-title {
    font-size: 36px;
  }
  .tech-cards-grid {
    gap: 15px;
  }
  .tech-glass-card {
    min-height: 250px;
    padding: 25px 20px;
  }
  .tech-card-title {
    font-size: 18px;
  }
}

@media (max-width: 991px) {
  .cognita-tech-orange-section {
    padding-top: 80px;
    padding-bottom: 80px;
  }
  .tech-main-title {
    font-size: 32px;
  }
  /* Switch to 3 columns on tablet */
  .tech-cards-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media (max-width: 767px) {
  /* Switch to 2 columns on large phones */
  .tech-cards-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .tech-glass-card {
    min-height: 220px;
  }
}

@media (max-width: 575px) {
  .cognita-tech-orange-section {
    padding-top: 60px;
    padding-bottom: 60px;
  }
  .tech-main-title {
    font-size: 16px;
    letter-spacing: -0.5px;
  }
  .tech-main-desc {
    font-size: 15px;
  }
  /* Switch to single column stack on small phones */
  .tech-cards-grid {
    grid-template-columns: 1fr;
    gap: 15px;
    margin-top: 40px;
  }
  .tech-glass-card {
    min-height: auto; /* Allow height to collapse to fit content cleanly */
    padding: 30px;
    flex-direction: row; /* Icon and text side-by-side on mobile stack */
    align-items: center;
    justify-content: flex-start;
    gap: 20px;
  }
}

/* ========================================================
   Leadership Message Section (Exact UI & Gradient)
======================================================== */
.cognita-leadership-section {
  /* Exact soft peach/white vignette gradient from the reference */
  background-color: #fffcf9;
  background-image:
    radial-gradient(
      circle at 0% 30%,
      rgba(250, 210, 180, 0.6) 0%,
      rgba(255, 252, 249, 0) 40%
    ),
    radial-gradient(
      circle at 100% 80%,
      rgba(252, 205, 165, 0.7) 0%,
      rgba(255, 252, 249, 0) 50%
    );
  padding-top: 130px;
  padding-bottom: 130px;
  position: relative;
  overflow: hidden;
}

/* Main Headline */
.leadership-heading {
  font-family: var(--font-secondary, "Unbounded", sans-serif);
  font-size: 24px;
  font-weight: 500; /* Medium weight for elegance, matching reference */
  color: #2b2b2b; /* Soft dark grey/black, not pure black */
  line-height: 1.35;
  letter-spacing: -0.8px;
  margin-bottom: 45px;
}

/* Body Paragraphs */
.leadership-body {
  max-width: 95%; /* Keeps lines from getting too long */
  margin: 0 auto;
}

.leadership-body p {
  font-family: var(--font-primary, "DM Sans", sans-serif);
  font-size: 17.5px;
  font-weight: 400;
  color: #555555; /* Medium grey for high readability */
  line-height: 1.75;
  margin-bottom: 28px;
}

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

/* Sign-off Styling */
.leadership-signoff .signoff-name {
  font-family: var(--font-secondary, "Unbounded", sans-serif);
  font-size: 15px;
  font-weight: 700;
  color: #111111;
  margin-bottom: 5px;
}

.leadership-signoff .signoff-title {
  font-family: var(--font-primary, "DM Sans", sans-serif);
  font-size: 9px;
  color: #e31e24; /* Cognita Brand Orange/Red */
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 1px;
}

/* ========================================================
   Responsive Breakpoints
======================================================== */
@media (max-width: 1199px) {
  .leadership-heading {
    font-size: 34px;
  }
  .leadership-body p {
    font-size: 16.5px;
  }
}

@media (max-width: 991px) {
  .cognita-leadership-section {
    padding-top: 90px;
    padding-bottom: 90px;
  }
  .leadership-heading {
    font-size: 28px;
    margin-bottom: 35px;
    letter-spacing: -0.5px;
  }
  .leadership-body {
    max-width: 100%;
  }
}

@media (max-width: 575px) {
  .cognita-leadership-section {
    padding-top: 70px;
    padding-bottom: 70px;
  }

  .leadership-heading {
    font-size: 18px;
    line-height: 1.4;
    margin-bottom: 25px;
  }

  .leadership-body p {
    font-size: 15px;
    line-height: 1.65;
    margin-bottom: 20px;
    text-align: left; /* Switching to left-align on mobile improves readability */
  }

  /* Keep headline centered, but left-align text for better mobile UX */
  .leadership-heading {
    text-align: left;
  }
  .leadership-signoff {
    text-align: left;
    margin-top: 40px;
  }
}

/* ========================================================
   Strategy & Advisory - Sticky Image Scroll Section
======================================================== */
.cognita-sticky-scroll-section {
  padding-top: 150px;
  padding-bottom: 100px;
  background-color: #ffffff;
  /* CRITICAL: Do not use overflow: hidden here, it breaks position: sticky */
  overflow: visible;
}

/* Background Clip-Path Curve */
.section-bg-layer {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: hidden; /* Contains the shape */
  z-index: 0;
  pointer-events: none;
}

.scrolling-clip-shape {
  position: absolute;
  top: 0;
  right: 0;
  width: 85%;
  height: 100%;
  background-color: #f7f9fc; /* Soft grey from video */
  /* Creates a smooth, sweeping circle/ellipse curve on the right */
  clip-path: ellipse(75% 100% at 100% 50%);
}

/* Left Column: Text Items */
.scroll-text-item {
  min-height: 80vh; /* Gives plenty of scrolling space per text block */
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding-bottom: 50px;
}

/* Make the last item shorter so the section ends cleanly */
.scroll-text-item:last-child {
  min-height: auto;
  padding-bottom: 100px;
}

/* Typography */
.strategy-title {
  font-family: var(--font-secondary, "Unbounded", sans-serif);
  font-size: 30px;
  font-weight: 700;
  line-height: 1.15;
  letter-spacing: -1.5px;
  margin-bottom: 30px;
}
.strategy-title .text-dark {
  color: #111111;
}
.strategy-title .text-orange {
  color: #e31e24;
}

.strategy-desc {
  font-family: var(--font-primary, "DM Sans", sans-serif);
  font-size: 17.5px;
  font-weight: 400;
  color: #555555;
  line-height: 1.75;
  margin-bottom: 25px;
}

/* Right Column: Sticky Image Wrapper */
.sticky-img-wrapper {
  position: sticky;
  top: 15vh; /* Distance from top of screen when pinned */
  width: 100%;
  height: 70vh; /* Fixed height for the image window */
  border-radius: 32px;
  overflow: hidden;
  box-shadow: 0 25px 60px rgba(0, 0, 0, 0.08);
}

/* The Absolute Stacked Images */
.sticky-img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0;
  visibility: hidden;
  /* Cinematic slow zoom and fade effect */
  transform: scale(1.1);
  transition:
    opacity 0.6s ease,
    visibility 0.6s ease,
    transform 1s cubic-bezier(0.2, 1, 0.3, 1);
}

.sticky-img.active {
  opacity: 1;
  visibility: visible;
  transform: scale(1);
  z-index: 2;
}

/* ========================================================
   Mobile Breakpoints (Image First, Content Second)
======================================================== */
@media (max-width: 991px) {
  .cognita-sticky-scroll-section {
    padding-top: 100px;
    padding-bottom: 60px;
  }

  /* Flatten the background shape for mobile */
  .scrolling-clip-shape {
    width: 100%;
    clip-path: polygon(0 0, 100% 0, 100% 85%, 0% 100%);
  }

  /* Reset min-heights for mobile stacking */
  .scroll-text-item {
    min-height: auto;
    padding-bottom: 80px;
  }

  .strategy-title {
    font-size: 34px;
    letter-spacing: -1px;
  }

  /* Mobile Images Styling */
  .mobile-img-wrap {
    border-radius: 24px;
    overflow: hidden;
    margin-bottom: 35px;
    box-shadow: 0 15px 35px rgba(0, 0, 0, 0.08);
  }
  .mobile-img-wrap img {
    aspect-ratio: 16 / 10;
  }
}

@media (max-width: 575px) {
  .cognita-sticky-scroll-section {
    padding-top: 80px;
  }
  .strategy-title {
    font-size: 22px;
    margin-bottom: 20px;
  }
  .strategy-desc {
    font-size: 15.5px;
    line-height: 1.6;
  }
  .scroll-text-item {
    padding-bottom: 60px;
  }
  .mobile-img-wrap {
    border-radius: 20px;
    margin-bottom: 25px;
  }
  .mobile-img-wrap img {
    aspect-ratio: 1 / 1; /* Square on phones */
  }
}

/* ========================================================
   Quick Actions / 2x2 Mobile Cards Section (Exact UI)
======================================================== */
.cognita-quick-actions {
  background-color: #000000;
  padding-top: 100px;
  padding-bottom: 100px;
}

.action-card-link {
  text-decoration: none;
  display: block;
  height: 100%;
}

.action-card {
  background-color: #ffffff;
  border-radius: 24px; /* Perfectly rounded corners like the image */
  padding: 40px 30px;
  height: 100%;
  display: flex;
  flex-direction: column;
  gap: 25px; /* Space between icon and text */
  transition:
    transform 0.3s ease,
    box-shadow 0.3s ease;
}

.action-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 15px 30px rgba(255, 255, 255, 0.08);
}

/* =========================================
   The Composite Icon (Gradient Circle + SVG)
========================================= */
.action-icon-composite {
  position: relative;
  width: 70px;
  height: 70px;
}

/* The Faded Background Circle */
.action-icon-composite::before {
  content: "";
  position: absolute;
  top: 15px; /* Shifted down */
  left: 0; /* Shifted left */
  width: 50px;
  height: 50px;
  border-radius: 50%;
  z-index: 1;
}

/* The Orange Gradient (Fades into white) */
.gradient-orange::before {
  background: radial-gradient(
    circle at top left,
    #e31e24 0%,
    #ffcfa6 60%,
    rgba(255, 255, 255, 0) 90%
  );
}

/* The Grey/Silver Gradient (Fades into white) */
.gradient-grey::before {
  background: radial-gradient(
    circle at top left,
    #999999 0%,
    #e0e0e0 60%,
    rgba(255, 255, 255, 0) 90%
  );
}

/* The Solid Black SVG Icon Overlay */
.action-icon-composite svg {
  position: absolute;
  top: 0;
  right: 0; /* Shifted right, overlapping the circle */
  width: 45px;
  height: 45px;
  z-index: 2;
  /* Make SVGs thick and bold */
  stroke-width: 2.2px;
}

/* Typography */
.action-card-text {
  font-family: var(--font-primary, "DM Sans", sans-serif);
  font-size: 18px;
  font-weight: 700;
  color: #000000;
  line-height: 1.35;
  margin: 0;
  letter-spacing: -0.3px;
}

/* ========================================================
   Responsive Breakpoints (Mobile 2x2 Grid)
======================================================== */
@media (max-width: 991px) {
  .cognita-quick-actions {
    padding-top: 80px;
    padding-bottom: 80px;
  }
  .action-card {
    padding: 30px 25px;
  }
  .action-card-text {
    font-size: 16px;
  }
}

@media (max-width: 767px) {
  .cognita-quick-actions {
    padding-top: 60px;
    padding-bottom: 60px;
  }

  /* Critical adjustments for 2x2 layout on mobile phones */
  .action-card {
    padding: 25px 15px; /* Tighter padding for small screens */
    border-radius: 16px;
    gap: 15px;
  }

  /* Scale down the icons slightly for mobile */
  .action-icon-composite {
    width: 50px;
    height: 50px;
  }

  .action-icon-composite::before {
    width: 35px;
    height: 35px;
    top: 10px;
  }

  .action-icon-composite svg {
    width: 32px;
    height: 32px;
    stroke-width: 2px;
  }

  .action-card-text {
    font-size: 14px; /* Ensure text doesn't overflow */
    line-height: 1.3;
  }
}



/* Update this in your style.css */

/* The Solid Black Image Overlay */
.action-icon-composite .action-img {
  position: absolute;
  top: 0;
  right: 0; /* Shifted right, overlapping the colored circle */
  width: 60px;  /* Adjusted size for PNG/WebP icons */
  height: 60px;
  z-index: 2;
  object-fit: contain;
  /* Pro-tip: If your generated images have a white background, 
     this CSS property instantly removes the white and makes it transparent! */
  mix-blend-mode: multiply; 
}

/* Mobile Icon Resizing */
@media (max-width: 767px) {
  .action-icon-composite .action-img {
    width: 40px;
    height: 40px;
  }
}





/* ========================================================
   Discovery Call Form Section (Dark Exact UI)
======================================================== */
.cognita-discovery-section {
  background-color: #000000;
  padding-top: 100px;
  padding-bottom: 100px;
}

/* The Dark Rounded Wrapper Card */
.discovery-card {
  background-color: #1a1a1a; /* Exact dark slate from screenshot */
  border-radius: 20px;
  padding: 80px 70px;
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.5);
}

/* --- Left Column Typography --- */
.discovery-tag {
  display: block;
  font-family: var(--font-primary, 'DM Sans', sans-serif);
  font-size: 13px;
  font-weight: 700;
  color: #e31e24; /* Cognita Orange */
  letter-spacing: 1.5px;
  margin-bottom: 20px;
}

.discovery-title {
  font-family: var(--font-secondary, 'Unbounded', sans-serif);
  font-size: 48px;
  font-weight: 400;
  color: #ffffff;
  margin-bottom: 30px;
  letter-spacing: -1px;
}

.discovery-desc {
  font-family: var(--font-primary, 'DM Sans', sans-serif);
  font-size: 18px;
  color: #d1d1d1;
  line-height: 1.6;
  margin-bottom: 20px;
}

.discovery-disclaimer {
  font-family: var(--font-primary, 'DM Sans', sans-serif);
  font-size: 16px;
  color: #999999;
  font-weight: 500;
}

/* Trusted By Avatars */
.trusted-by-wrapper {
  display: flex;
  align-items: center;
  gap: 15px;
}

.avatar-group {
  display: flex;
}

.avatar-logo {
  width: 38px;
  height: 38px;
  border-radius: 50%;
  border: 2px solid #1a1a1a;
  background-color: #ffffff;
  object-fit: contain;
  margin-left: -12px; /* Overlap effect */
  position: relative;
}
.avatar-logo:first-child { margin-left: 0; }

.trusted-text {
  font-size: 15px;
  color: #ffffff;
  font-weight: 600;
}

/* --- Right Column Form Styles --- */
.form-row-2 {
  display: flex;
  gap: 20px;
  margin-bottom: 25px;
}
.form-row-2 .form-group-custom {
  flex: 1;
}

.form-group-custom.full-width {
  margin-bottom: 25px;
}

.form-group-custom label {
  display: block;
  font-family: var(--font-primary, 'DM Sans', sans-serif);
  font-size: 14px;
  font-weight: 600;
  color: #ffffff;
  margin-bottom: 4px;
}

.form-group-custom label .required {
  color: #ff3333;
  margin-left: 3px;
}

.form-group-custom .helper-text {
  display: block;
  font-family: var(--font-primary, 'DM Sans', sans-serif);
  font-size: 12px;
  color: #aaaaaa;
  margin-bottom: 8px;
}

/* Form Inputs */
.form-control-custom {
  width: 100%;
  background-color: #f4f4f5; /* Off-white from screenshot */
  border: 2px solid transparent;
  border-radius: 12px; /* Pill-like rounded corners */
  padding: 14px 20px;
  font-family: var(--font-primary, 'DM Sans', sans-serif);
  font-size: 15px;
  color: #111111;
  transition: all 0.3s ease;
}

.form-control-custom:focus {
  outline: none;
  background-color: #ffffff;
  border-color: #e31e24;
  box-shadow: 0 0 0 4px rgba(227, 30, 36, 0.15);
}

.select-custom {
  appearance: none;
  -webkit-appearance: none;
  background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23333' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e");
  background-repeat: no-repeat;
  background-position: right 15px center;
  background-size: 16px;
  cursor: pointer;
}

.textarea-custom {
  min-height: 120px;
  resize: vertical;
}

/* Privacy Text */
.privacy-text {
  font-size: 13px;
  color: #aaaaaa;
  margin-bottom: 25px;
  line-height: 1.5;
}
.privacy-text a {
  color: #ffffff;
  text-decoration: underline;
}
.privacy-text a:hover {
  color: #e31e24;
}

/* reCAPTCHA Mockup */
.recaptcha-mockup {
  display: flex;
  justify-content: space-between;
  align-items: center;
  background-color: #f9f9f9;
  border: 1px solid #d3d3d3;
  border-radius: 4px;
  padding: 10px 15px;
  max-width: 300px;
}
.recaptcha-logo {
  text-align: right;
  line-height: 1.1;
}
.recaptcha-logo small {
  font-size: 9px;
  color: #555;
}

/* Submit Button */
.btn-submit-custom {
  background-color: #e31e24; /* Brand Orange */
  color: #ffffff;
  font-family: var(--font-primary, 'DM Sans', sans-serif);
  font-size: 16px;
  font-weight: 700;
  border: none;
  border-radius: 30px;
  padding: 14px 35px;
  cursor: pointer;
  transition: background-color 0.3s ease, transform 0.2s ease;
}
.btn-submit-custom:hover {
  background-color: #e64515;
  transform: translateY(-2px);
}

/* ========================================================
   Responsive Breakpoints
======================================================== */
@media (max-width: 1199px) {
  .discovery-card {
    padding: 60px 50px;
  }
}

@media (max-width: 991px) {
  .discovery-card {
    padding: 50px 40px;
  }
  .discovery-title {
    font-size: 38px;
  }
}

@media (max-width: 767px) {
  .discovery-card {
    padding: 40px 25px;
    border-radius: 16px;
  }
  
  .discovery-title {
    font-size: 32px;
  }
  
  /* Stack form fields vertically on mobile */
  .form-row-2 {
    flex-direction: column;
    gap: 0;
    margin-bottom: 0;
  }
  .form-row-2 .form-group-custom {
    margin-bottom: 25px;
  }

  .trusted-by-wrapper {
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
    margin-top: 30px;
  }
}


/* ========================================================
   Professional Custom Select / Dropdown Styling (FIXED)
======================================================== */

.select-wrapper {
  position: relative;
  width: 100%;
}

.select-custom {
  /* 1. CRITICAL: Remove default browser arrow completely */
  appearance: none !important;
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  
  width: 100%;
  cursor: pointer;
  
  /* 2. Fix Vertical Alignment */
  padding: 14px 45px 14px 20px !important; /* Match the exact padding of your text inputs */
  line-height: normal; /* Prevents text from being pushed down */
  
  /* 3. Custom sleek chevron arrow encoded as SVG */
  background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23555555' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e");
  background-repeat: no-repeat;
  background-position: right 20px center; /* Precisely align custom arrow */
  background-size: 14px;
}

/* For IE 11 / Edge to remove their native arrow */
.select-custom::-ms-expand {
  display: none;
}

/* CSS Trick: Make the unselected placeholder text Grey */
.select-custom:invalid {
  color: #888888;
}

/* Once selected, change the text color to dark Black/Grey */
.select-custom:valid {
  color: #111111;
  font-weight: 500;
}

/* Style the dropdown menu options */
.select-custom option {
  color: #111111;
  background-color: #ffffff;
  font-weight: 500;
  padding: 10px;
}

/* Ensure focus state maintains the custom arrow */
.select-custom:focus {
  background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23e31e24' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e");
}




/* ========================================================
   Industries Matrix & GSAP Hover Panel Component
======================================================== */
.cognita-industries-grid-section {
  background-color: #000000;
}

.industries-grid-title {
  font-family: var(--font-secondary, 'Unbounded', sans-serif);
  font-size: 44px;
  font-weight: 700;
  letter-spacing: -1px;
}

.industries-grid-desc {
  font-family: var(--font-primary, 'DM Sans', sans-serif);
  font-size: 17.5px;
  color: #a0aabf;
}

/* Card Outer Structure */
.industry-card {
  background-color: #0f1013;
  border: 1px solid #1f2229;
  border-radius: 24px;
  min-height: 480px;
  display: flex;
  flex-direction: column;
  transition: border-color 0.4s ease;
}

.industry-card-img {
  position: relative;
  height: 220px;
  overflow: hidden;
}

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

.industry-badge {
  position: absolute;
  top: 15px;
  right: 15px;
  background: rgba(0, 0, 0, 0.7);
  backdrop-filter: blur(8px);
  color: #e31e24;
  font-size: 12px;
  font-weight: 700;
  padding: 6px 14px;
  border-radius: 30px;
  border: 1px solid rgba(227, 30, 36, 0.3);
}

.industry-card-body {
  padding: 28px 24px;
  display: flex;
  flex-direction: column;
  flex-grow: 1;
}

.industry-title {
  font-family: var(--font-secondary, 'Unbounded', sans-serif);
  font-size: 21px;
  font-weight: 600;
  color: #ffffff;
  margin-bottom: 12px;
}

.industry-desc {
  font-size: 15px;
  color: #949db2;
  line-height: 1.6;
}

.hover-hint-text {
  font-size: 13.5px;
  font-weight: 700;
  letter-spacing: 0.5px;
}

/* ========================================================
   GSAP Hover Drawer Panel (Glassmorphism Overlay)
======================================================== */
.industry-hover-panel {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(15, 16, 19, 0.95); /* Deep dark background */
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  border-top: 3px solid #e31e24; /* Cognita Orange Accent Top Border */
  z-index: 10;
  padding: 30px 24px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  
  /* Initial State for GSAP (Shifted down 100%) */
  transform: translateY(100%);
  will-change: transform;
}

.panel-tag {
  font-family: var(--font-primary, 'DM Sans', sans-serif);
  font-size: 11px;
  font-weight: 700;
  color: #e31e24;
  letter-spacing: 1.5px;
}

/* Metric Highlight */
.panel-metric {
  display: flex;
  align-items: baseline;
  gap: 10px;
}

.metric-value {
  font-family: var(--font-secondary, 'Unbounded', sans-serif);
  font-size: 32px;
  font-weight: 700;
  color: #ffffff;
  line-height: 1;
}

.metric-label {
  font-size: 13px;
  font-weight: 600;
  color: #a0aabf;
  text-transform: uppercase;
}

.panel-heading {
  font-size: 14px;
  font-weight: 700;
  color: #ffffff;
  margin-bottom: 10px;
}

/* Panel List */
.panel-list li {
  font-size: 13.5px;
  color: #d1d5db;
  margin-bottom: 6px;
  display: flex;
  align-items: center;
}

.panel-list li i {
  color: #e31e24;
  font-size: 12px;
}

/* Tech Badges */
.panel-tech-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.panel-tech-tags span {
  font-size: 11px;
  font-weight: 600;
  color: #ffffff;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.15);
  padding: 3px 10px;
  border-radius: 6px;
}

/* ========================================================
   Responsive Breakpoints
======================================================== */
@media (max-width: 991px) {
  /* On mobile/tablet where hover doesn't exist, show panel naturally or via click */
  .industry-hover-panel {
    position: relative;
    transform: translateY(0) !important;
    backdrop-filter: none;
    background: #14161d;
    border-top: 1px solid #1f2229;
    border-radius: 0 0 24px 24px;
  }
  .hover-hint-text {
    display: none;
  }
}




.banner-layout5:after, .banner-layout7:after {
    content: none !important;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
    background-position: center;
    background-repeat: no-repeat;
    background-image: none !important;
}




/* ========================================================
   Cognita Accelerators Value Prop & Animated Waves UI
======================================================== */
.cognita-accelerators-value-section {
  /* Rich vibrant orange gradient matching the reference */
  background: linear-gradient(135deg, #e31e24 0%, #e31e24 100%);
  padding-top: 130px;
  padding-bottom: 110px;
}

/* Typography */
.value-title {
  font-family: var(--font-secondary, 'Unbounded', sans-serif);
  font-size: 42px;
  font-weight: 500; /* Clean medium weight from screenshot */
  color: #ffffff;
  line-height: 1.25;
  letter-spacing: -0.8px;
}

.value-subtitle {
  font-family: var(--font-primary, 'DM Sans', sans-serif);
  font-size: 20px;
  font-weight: 500;
  color: #ffffff;
  opacity: 0.95;
  line-height: 1.5;
}

.value-desc {
  font-family: var(--font-primary, 'DM Sans', sans-serif);
  font-size: 16.5px;
  font-weight: 400;
  color: #ffffff;
  opacity: 0.85;
  line-height: 1.65;
  max-width: 820px;
  margin: 0 auto;
}

/* White Ecosystem Partner Logos */
.partner-logo {
  height: 32px;
  width: auto;
  max-width: 140px;
  object-fit: contain;
  /* Forces any black/color logo image to render pure white */
  filter: brightness(0) invert(1);
  opacity: 0.9;
  transition: opacity 0.3s ease, transform 0.3s ease;
}

.partner-logo:hover {
  opacity: 1;
  transform: translateY(-3px);
}

/* ========================================================
   Right-Side Sequential Blinking Concentric Waves
======================================================== */
.solution-waves {
  position: absolute;
  top: 50%;
  right: -250px;
  transform: translateY(-50%);
  width: 950px;
  height: 950px;
  pointer-events: none;
  z-index: 1;
}

.wave-arc {
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  border-radius: 50%;
  border: 1px solid rgba(255, 255, 255, 0.2);
  background: radial-gradient(circle, rgba(255, 255, 255, 0.12) 0%, rgba(255, 255, 255, 0.02) 80%);
  /* Continuous sequential blinking animation */
  animation: waveBlink 3.5s infinite ease-in-out;
}

/* Wave Sizing & Staggered Animation Delays */
.wave-1 { width: 950px; height: 950px; animation-delay: 0.0s; }
.wave-2 { width: 760px; height: 760px; animation-delay: 0.6s; }
.wave-3 { width: 570px; height: 570px; animation-delay: 1.2s; }
.wave-4 { width: 380px; height: 380px; animation-delay: 1.8s; }
.wave-5 { width: 190px; height: 190px; animation-delay: 2.4s; }

/* Keyframe animation for one-by-one sequential glowing/blinking */
@keyframes waveBlink {
  0%, 100% {
    opacity: 0.12;
    border-color: rgba(255, 255, 255, 0.12);
    box-shadow: 0 0 0 rgba(255, 255, 255, 0);
  }
  50% {
    opacity: 0.85;
    border-color: rgba(255, 255, 255, 0.7);
    box-shadow: 0 0 40px rgba(255, 255, 255, 0.35);
  }
}

/* ========================================================
   Responsive Breakpoints
======================================================== */
@media (max-width: 1199px) {
  .value-title { font-size: 36px; }
  .value-subtitle { font-size: 18px; }
  .solution-waves { right: -350px; opacity: 0.7; }
}

@media (max-width: 991px) {
  .cognita-accelerators-value-section {
    padding-top: 90px;
    padding-bottom: 80px;
  }
  .value-title { font-size: 30px; }
  .partner-logo { height: 26px; }
}

@media (max-width: 575px) {
  .cognita-accelerators-value-section {
    padding-top: 70px;
    padding-bottom: 60px;
  }
  .value-title {
    font-size: 24px;
    line-height: 1.35;
  }
  .value-subtitle {
    font-size: 16px;
  }
  .value-desc {
    font-size: 14.5px;
  }
  .partner-logos-flex {
    gap: 25px !important;
  }
  .partner-logo {
    height: 22px;
  }
  .solution-waves {
    right: -250px;
    width: 600px;
    height: 600px;
    opacity: 0.5;
  }
  .wave-1 { width: 600px; height: 600px; }
  .wave-2 { width: 480px; height: 480px; }
  .wave-3 { width: 360px; height: 360px; }
  .wave-4 { width: 240px; height: 240px; }
  .wave-5 { width: 120px; height: 120px; }
}


.service-icon img {
  /* Automatically removes white backgrounds so icons blend seamlessly into your cards */
  mix-blend-mode: multiply; 
}











/* ========================================================
   Equal Height Split Section (Light Grey Background UI)
======================================================== */
.bg-light-grey {
  background-color: #f4f6fb; /* Modern, professional light grey */
}

/* Left Column Image Container (Fills 100% Height) */
.cognita-split-media-equal {
  position: relative;
  width: 100%;
  height: 100%;
  min-height: 100%;
  background-color: #000000; /* Dark backdrop for the architecture diagram */
  overflow: hidden;
}

.cognita-split-media-equal img {
  width: 100%;
  height: 100%;
  object-fit: cover; /* Ensures image fills exact height without stretching */
  display: block;
}

/* Right Column Content Container */
.cognita-split-content-equal {
  padding: 90px 80px 90px 80px;
  background-color: #f4f6fb; /* Light grey attached flush to left image */
}

/* Typography on Light Grey */
.cognita-split-content-equal .text-dark {
  color: #111111 !important;
  font-family: var(--font-secondary, 'Unbounded', sans-serif);
  font-weight: 700;
  letter-spacing: -1px;
}

.cognita-split-content-equal .text-gray {
  color: #555555 !important;
  font-family: var(--font-primary, 'DM Sans', sans-serif);
  font-size: 17px;
  line-height: 1.75;
}

.cognita-split-content-equal .text-orange {
  color: #e31e24 !important;
  font-family: var(--font-primary, 'DM Sans', sans-serif);
  font-weight: 700;
  letter-spacing: 2px;
}

.cognita-split-content-equal .stat-number {
  font-family: var(--font-secondary, 'Unbounded', sans-serif);
  font-size: 32px;
  font-weight: 700;
  color: #111111 !important;
}

.cognita-split-content-equal .text-muted-dark {
  color: #666666 !important;
  font-family: var(--font-primary, 'DM Sans', sans-serif);
  font-size: 13px;
  font-weight: 600;
  text-transform: uppercase;
}

.border-top-grey {
  border-top: 1px solid #dce2ec !important;
}

/* ========================================================
   Responsive Adjustments
======================================================== */
@media (max-width: 1399px) {
  .cognita-split-content-equal {
    padding: 70px 50px;
  }
}

@media (max-width: 1199px) {
  .cognita-split-content-equal {
    padding: 60px 40px;
  }
  .cognita-split-content-equal .text-gray {
    font-size: 16px;
  }
}

@media (max-width: 991px) {
  /* On Mobile/Tablet, give the image a defined height when stacked */
  .cognita-split-media-equal {
    min-height: 450px;
    height: 450px;
  }
  .cognita-split-content-equal {
    padding: 50px 25px;
  }
}

@media (max-width: 575px) {
  .cognita-split-media-equal {
    min-height: 350px;
    height: 350px;
  }
  .cognita-split-content-equal {
    padding: 40px 20px;
  }
}
/* ========================================================
   Architecture Image Container & Mobile Fix
======================================================== */

/* Desktop Container (> 992px) */
.cognita-split-media-equal {
  position: relative;
  width: 100%;
  height: 100%;
  min-height: 100%;
  background-color: #0b0c0e; /* Dark container framing the diagram */
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 50px 40px;
  overflow: hidden;
}

/* Constrained 600px x 600px Image on Desktop */
.cognita-split-media-equal .arch-diagram-img {
  max-width: 600px;
  max-height: 600px;
  width: 100%;
  height: auto;
  object-fit: contain;
  border-radius: 20px;
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.5);
  display: block !important;
}

/* ========================================================
   Mobile & Tablet Breakpoints (< 991px) - FIXED COLLAPSE
======================================================== */
@media (max-width: 991px) {
  .cognita-split-media-equal {
    width: 100% !important;
    height: auto !important;          /* Adapts height to image naturally */
    min-height: 380px !important;    /* Guarantees visible box on mobile */
    padding: 40px 20px !important;    /* Breathing room on phones */
    background-color: #0b0c0e !important;
  }

  .cognita-split-media-equal .arch-diagram-img {
    width: 100% !important;
    max-width: 520px !important;      /* Fits phone screens perfectly */
    height: auto !important;          /* Prevents 0px height collapse */
    max-height: none !important;
    object-fit: contain !important;
    margin: 0 auto !important;
    display: block !important;
  }
}

@media (max-width: 575px) {
  .cognita-split-media-equal {
    min-height: 320px !important;
    padding: 30px 15px !important;
  }

  .cognita-split-media-equal .arch-diagram-img {
    max-width: 100% !important;
    border-radius: 12px;
  }
}




/* ========================================================
   Careers Benefits List Section (Exact Reference UI)
======================================================== */
.cognita-career-benefits-section {
  background-color: #ffffff;
  padding-top: 120px;
  padding-bottom: 120px;
}

/* Centered Title */
.benefits-main-title {
  font-family: var(--font-secondary, 'Unbounded', sans-serif);
  font-size: 44px;
  font-weight: 700;
  color: #111111;
  letter-spacing: -1.2px;
  line-height: 1.25;
}

/* Max Reading Width Container */
.benefits-list-wrapper {
  max-width: 880px;
}

/* Row Item Layout */
.benefit-item-row {
  gap: 45px;
}

/* Icon Holder */
.benefit-icon-col {
  flex: 0 0 140px;
  width: 140px;
  display: flex;
  justify-content: center;
  align-items: center;
}

.benefit-icon-holder {
  position: relative;
  width: 130px;
  height: 130px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.benefit-icon-holder img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  /* Automatically removes white backgrounds from PNGs so they blend seamlessly */
  mix-blend-mode: multiply; 
}

/* Text Column */
.benefit-text-col {
  flex: 1;
}

/* Orange H3 Title */
.benefit-item-title {
  font-family: var(--font-primary, 'DM Sans', sans-serif);
  font-size: 28px;
  font-weight: 700;
  color: #e31e24; /* Cognita Orange matching the screenshot */
  margin-bottom: 12px;
  letter-spacing: -0.5px;
  line-height: 1.25;
}

/* Body Paragraph */
.benefit-item-desc {
  font-family: var(--font-primary, 'DM Sans', sans-serif);
  font-size: 16.5px;
  font-weight: 400;
  color: #555555; /* Medium grey for high readability */
  line-height: 1.65;
}

/* ========================================================
   Responsive Breakpoints
======================================================== */
@media (max-width: 1199px) {
  .benefits-main-title { font-size: 38px; }
  .benefit-item-title { font-size: 24px; }
  .benefit-icon-col { flex: 0 0 120px; width: 120px; }
  .benefit-icon-holder { width: 110px; height: 110px; }
}

@media (max-width: 767px) {
  .cognita-career-benefits-section {
    padding-top: 80px;
    padding-bottom: 80px;
  }
  .benefits-main-title {
    font-size: 30px;
    letter-spacing: -0.5px;
  }
  .benefit-item-row {
    flex-direction: column;
    align-items: flex-start !important;
    gap: 15px;
    margin-bottom: 40px !important;
  }
  .benefit-icon-col {
    flex: 0 0 auto;
    width: 90px;
  }
  .benefit-icon-holder {
    width: 90px;
    height: 90px;
  }
  .benefit-item-title {
    font-size: 21px;
  }
  .benefit-item-desc {
    font-size: 15px;
  }
}



/* ========================================================
   Careers - Minimal Job Board & Filter Component
======================================================== */
.cognita-job-board-section {
  background-color: #000000 !important;
  padding-top: 100px;
  padding-bottom: 120px;
}

.job-board-title {
  font-family: var(--font-secondary, 'Unbounded', sans-serif);
  font-size: 44px;
  font-weight: 700;
  letter-spacing: -1.2px;
}

.job-board-subtitle {
  font-family: var(--font-primary, 'DM Sans', sans-serif);
  font-size: 17.5px;
  color: #a0aabf;
}

/* Filter Bar Pills */
.job-filter-btn {
  background: rgba(255, 255, 255, 0.04);
  color: #a0aabf;
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 40px;
  padding: 10px 22px;
  font-family: var(--font-primary, 'DM Sans', sans-serif);
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.3s ease;
}

.job-filter-btn:hover {
  background: rgba(255, 255, 255, 0.08);
  color: #ffffff;
  border-color: rgba(255, 255, 255, 0.25);
}

.job-filter-btn.active {
  background: #e31e24; /* Cognita Orange */
  border-color: #e31e24;
  color: #ffffff;
}

/* Job Cards Container */
.job-cards-list {
  max-width: 960px;
}

/* Single Job Card */
.job-card {
  background: #0f1013;
  border: 1px solid #1f2229;
  border-radius: 20px;
  padding: 30px 35px;
  transition: transform 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease;
}

.job-card:hover {
  transform: translateY(-3px);
  border-color: #e31e24;
  box-shadow: 0 15px 35px rgba(227, 30, 36, 0.08);
}

/* Meta Badges */
.job-badge {
  font-family: var(--font-primary, 'DM Sans', sans-serif);
  font-size: 11.5px;
  font-weight: 700;
  padding: 4px 12px;
  border-radius: 30px;
  letter-spacing: 0.5px;
}

.badge-orange { background: rgba(227, 30, 36, 0.15); color: #e31e24; border: 1px solid rgba(227, 30, 36, 0.3); }
.badge-blue { background: rgba(0, 136, 255, 0.15); color: #3399ff; border: 1px solid rgba(0, 136, 255, 0.3); }
.badge-purple { background: rgba(170, 0, 255, 0.15); color: #cc66ff; border: 1px solid rgba(170, 0, 255, 0.3); }
.badge-green { background: rgba(0, 204, 102, 0.15); color: #00ff88; border: 1px solid rgba(0, 204, 102, 0.3); }

.job-meta-item {
  font-family: var(--font-primary, 'DM Sans', sans-serif);
  font-size: 13px;
  color: #717d96;
  font-weight: 500;
}

/* Card Titles */
.job-title {
  font-family: var(--font-secondary, 'Unbounded', sans-serif);
  font-size: 21px;
  font-weight: 700;
  color: #ffffff;
  letter-spacing: -0.5px;
}

.job-snippet {
  font-family: var(--font-primary, 'DM Sans', sans-serif);
  font-size: 15px;
  color: #949db2;
  line-height: 1.55;
  max-width: 680px;
}

/* Apply Email Button */
.job-apply-btn {
  border-radius: 30px;
  padding: 10px 22px;
  font-family: var(--font-primary, 'DM Sans', sans-serif);
  font-size: 13.5px;
  font-weight: 700;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #ffffff;
  border-color: rgba(255, 255, 255, 0.2);
  text-decoration: none;
  transition: all 0.3s ease;
}

.job-apply-btn:hover {
  background: #ffffff;
  color: #000000;
  border-color: #ffffff;
}

/* General Application Callout Box */
.general-apply-box {
  max-width: 960px;
  background: rgba(255, 255, 255, 0.02);
  backdrop-filter: blur(12px);
  border: 1px dashed rgba(255, 255, 255, 0.15);
  border-radius: 24px;
}

.general-apply-box h4 {
  font-family: var(--font-secondary, 'Unbounded', sans-serif);
  font-size: 20px;
  font-weight: 700;
}

/* ========================================================
   Responsive Breakpoints
======================================================== */
@media (max-width: 991px) {
  .job-board-title { font-size: 36px; }
  .job-card { padding: 25px 22px; }
  .job-title { font-size: 19px; }
}

@media (max-width: 575px) {
  .job-board-title { font-size: 28px; letter-spacing: -0.5px; }
  .job-filter-btn { padding: 8px 16px; font-size: 13px; }
  .job-card { border-radius: 16px; }
  .job-title { font-size: 17px; }
  .job-snippet { font-size: 14px; }
  .job-apply-btn { width: 100%; justify-content: center; }
}


/* ========================================================
   Dark Job Board Background Waves (White/Gray Theme)
======================================================== */
.cognita-job-board-section {
  background-color: #000000;
  padding-top: 110px;
  padding-bottom: 120px;
}

/* Background Wave Container */
.job-board-waves {
  position: absolute;
  top: 40%;
  right: -220px;
  transform: translateY(-40%);
  width: 950px;
  height: 950px;
  pointer-events: none;
  z-index: 1;
}

.job-wave-arc {
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  border-radius: 50%;
  border: 1px solid rgba(255, 255, 255, 0.08);
  background: radial-gradient(circle, rgba(255, 255, 255, 0.04) 0%, rgba(255, 255, 255, 0.01) 80%);
  /* Continuous subtle pulsing animation */
  animation: jobWaveBlink 4s infinite ease-in-out;
}

/* Wave Dimensions & Staggered Animation Delays */
.job-wave-arc.wave-1 { width: 950px; height: 950px; animation-delay: 0.0s; }
.job-wave-arc.wave-2 { width: 760px; height: 760px; animation-delay: 0.8s; }
.job-wave-arc.wave-3 { width: 570px; height: 570px; animation-delay: 1.6s; }
.job-wave-arc.wave-4 { width: 380px; height: 380px; animation-delay: 2.4s; }
.job-wave-arc.wave-5 { width: 190px; height: 190px; animation-delay: 3.2s; }

/* Subtle pulse animation for dark theme */
@keyframes jobWaveBlink {
  0%, 100% {
    opacity: 0.12;
    border-color: rgba(255, 255, 255, 0.06);
    box-shadow: 0 0 0 rgba(255, 255, 255, 0);
  }
  50% {
    opacity: 0.55;
    border-color: rgba(255, 255, 255, 0.22);
    box-shadow: 0 0 35px rgba(255, 255, 255, 0.08);
  }
}

/* Responsive Wave Scaling */
@media (max-width: 991px) {
  .job-board-waves {
    right: -250px;
    width: 600px;
    height: 600px;
    opacity: 0.6;
  }
  .job-wave-arc.wave-1 { width: 600px; height: 600px; }
  .job-wave-arc.wave-2 { width: 480px; height: 480px; }
  .job-wave-arc.wave-3 { width: 360px; height: 360px; }
  .job-wave-arc.wave-4 { width: 240px; height: 240px; }
  .job-wave-arc.wave-5 { width: 120px; height: 120px; }
}

/* ========================================================
   Service Pillar - Capabilities Grid (GSAP Reveal)
======================================================== */
.cognita-capabilities-section {
  padding-top: 120px;
  padding-bottom: 120px;
  background-color: #0f1013;
}

.capabilities-grid-title {
  font-family: var(--font-secondary, "Unbounded", sans-serif);
  font-size: 42px;
  font-weight: 700;
  color: #ffffff;
  letter-spacing: -1px;
  line-height: 1.2;
}

.capabilities-grid-desc {
  font-family: var(--font-primary, "DM Sans", sans-serif);
  font-size: 17px;
  color: #949db2;
  line-height: 1.7;
  max-width: 720px;
  margin-left: auto;
  margin-right: auto;
}

.gs-reveal-card {
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 20px;
  padding: 32px 28px;
  height: 100%;
  transition:
    border-color 0.3s ease,
    transform 0.3s ease,
    box-shadow 0.3s ease;
}

.gs-reveal-card:hover {
  border-color: rgba(227, 30, 36, 0.5);
  transform: translateY(-4px);
  box-shadow: 0 20px 40px rgba(227, 30, 36, 0.08);
}

.capability-number {
  display: inline-block;
  font-family: var(--font-secondary, "Unbounded", sans-serif);
  font-size: 13px;
  font-weight: 700;
  color: #e31e24;
  letter-spacing: 2px;
  margin-bottom: 18px;
}

.capability-title {
  font-family: var(--font-secondary, "Unbounded", sans-serif);
  font-size: 18px;
  font-weight: 700;
  color: #ffffff;
  letter-spacing: -0.3px;
  margin-bottom: 14px;
  line-height: 1.35;
}

.capability-desc {
  font-family: var(--font-primary, "DM Sans", sans-serif);
  font-size: 15px;
  color: #949db2;
  line-height: 1.65;
  margin-bottom: 0;
}

.pillar-panel-group {
  display: none;
}

.pillar-panel-group.active {
  display: block;
}

@media (max-width: 991px) {
  .cognita-capabilities-section {
    padding-top: 90px;
    padding-bottom: 90px;
  }
  .capabilities-grid-title {
    font-size: 32px;
  }
}

@media (max-width: 575px) {
  .capabilities-grid-title {
    font-size: 26px;
  }
  .gs-reveal-card {
    padding: 26px 22px;
  }
  .capability-title {
    font-size: 16px;
  }
}

/* Performance: defer rendering of below-fold sections */
.banner-layout8,
.counters,
.services-layout4,
.cognita-sticky-scroll-section,
.cognita-bento-section,
.cognita-why-choose-us,
.cognita-industries-bento,
.cognita-light-counter-section,
.cognita-ecosystem-section,
.cognita-cta-section,
.footer {
  content-visibility: auto;
  contain-intrinsic-size: auto 600px;
}

@media (prefers-reduced-motion: reduce) {
  .marquee-track-content,
  .hero-teal-beams {
    animation: none !important;
  }
}

.tech-badge-card img {
  width: 32px;
  height: 32px;
  object-fit: contain;
}







/* 100vh Hero Container (offset must match sticky navbar: 80px) */
.reference-exact-hero {
  position: relative;
  width: 100%;
  box-sizing: border-box;
  min-height: 100vh;
  height: 100vh;
  background-color: #040709 !important;
  margin-top: -80px;
  padding-top: 80px;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}

.header-sticky-main + .reference-exact-hero {
  margin-top: -80px;
}

/* 1. Top Volumetric Teal Beams */
.hero-teal-beams {
  position: absolute;
  top: -15%;
  left: 50%;
  transform: translateX(-50%);
  width: 1300px;
  height: 750px;
  pointer-events: none;
  z-index: 1;
  background: 
    radial-gradient(ellipse at 50% 0%, rgba(227, 30, 36, 0.45) 0%, rgba(227, 30, 36, 0.15) 45%, transparent 70%),
    conic-gradient(from 160deg at 50% 0%, transparent 0deg, rgba(227, 30, 36, 0.2) 20deg, transparent 40deg, rgba(227, 30, 36, 0.25) 55deg, transparent 75deg);
  filter: blur(35px);
  animation: tealBeamPulse 6s ease-in-out infinite alternate;
}

@keyframes tealBeamPulse {
  0% {
    opacity: 0.65;
    transform: translateX(-50%) scale(0.95);
  }
  100% {
    opacity: 1;
    transform: translateX(-50%) scale(1.08);
  }
}

/* 2. Bottom 3D Perspective Grid */
.hero-perspective-grid-wrap {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 42vh;
  max-height: 480px;
  pointer-events: none;
  z-index: 4;
  overflow: hidden;
  -webkit-mask-image: linear-gradient(to top, #000 0%, #000 18%, transparent 92%);
  mask-image: linear-gradient(to top, #000 0%, #000 18%, transparent 92%);
}

.hero-perspective-grid {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 130%;
  pointer-events: none;
  background-size: 55px 55px;
  background-image:
    linear-gradient(to right, rgba(227, 30, 36, 0.2) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(227, 30, 36, 0.2) 1px, transparent 1px);
  transform: perspective(620px) rotateX(68deg) translateZ(0);
  transform-origin: bottom center;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  will-change: transform;
}

/* 3. Ambient Vignette */
.hero-vignette-overlay {
  position: absolute;
  top: 0; left: 0; width: 100%; height: 100%;
  pointer-events: none;
  z-index: 3;
  background: radial-gradient(ellipse 115% 75% at 50% 32%, transparent 28%, rgba(4, 7, 9, 0.82) 100%);
}

/* --- Typography --- */
.hero-exact-title {
  font-family: var(--font-secondary, 'Unbounded', sans-serif);
  font-size: 64px;
  font-weight: 700;
  line-height: 1.15;
  letter-spacing: -2px;
  text-shadow: 0 10px 30px rgba(0, 0, 0, 0.9);
}

.hero-exact-subtitle {
  font-family: var(--font-primary, 'DM Sans', sans-serif);
  font-size: 19px;
  font-weight: 400;
  color: #d1d5db;
  line-height: 1.65;
  max-width: 780px;
}

/* --- Teal Pill Button --- */
.btn-exact-teal-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  height: 54px;
  padding: 0 36px;
  border-radius: 50px;
  background-color: #e31e24; /* Exact Teal from reference */
  color: #ffffff !important;
  font-family: var(--font-primary, 'DM Sans', sans-serif);
  font-size: 15.5px;
  font-weight: 700;
  text-decoration: none;
  box-shadow: 0 10px 25px rgba(227, 30, 36, 0.35);
  transition: all 0.3s cubic-bezier(0.2, 1, 0.3, 1);
}

.btn-exact-teal-pill:hover {
  background-color: #c4191f;
  transform: translateY(-3px);
  box-shadow: 0 15px 35px rgba(227, 30, 36, 0.55);
}

/* ========================================================
   Responsive Breakpoints (Mobile Fixed)
======================================================== */
@media (max-width: 1199px) {
  .hero-exact-title { font-size: 52px; letter-spacing: -1.5px; }
  .hero-exact-subtitle { font-size: 17.5px; }
}

@media (min-width: 1200px) {
  .hero-perspective-grid-wrap {
    height: 40vh;
    max-height: 520px;
  }
  .hero-perspective-grid {
    background-size: 52px 52px;
    transform: perspective(720px) rotateX(70deg) translateZ(0);
  }
}

@media (min-width: 992px) {
  .reference-exact-hero {
    min-height: 100vh;
    height: 100vh;
    margin-top: -80px;
    padding-top: 80px;
  }
}

@media (max-width: 991px) {
  .reference-exact-hero {
    margin-top: -80px;
    padding-top: 80px;
    padding-bottom: 50px;
    min-height: 100vh;
    height: auto;
  }
  .hero-exact-title { font-size: 38px; letter-spacing: -1px; }
  .hero-exact-subtitle { font-size: 16px; }
  .hero-teal-beams { width: 100vw; height: 500px; }
  .hero-perspective-grid-wrap {
    height: 38vh;
    max-height: 360px;
  }
  .hero-perspective-grid {
    background-size: 48px 48px;
    transform: perspective(520px) rotateX(66deg) translateZ(0);
  }
}

@media (max-width: 575px) {
  .reference-exact-hero {
    min-height: 100vh;
    padding-top: 90px;
    padding-bottom: 40px;
  }
  .hero-exact-title {
    font-size: 25px;
    line-height: 1.25;
    letter-spacing: -0.5px;
    margin-bottom: 18px !important;
  }
  .hero-exact-subtitle {
    font-size: 18.5px;
    line-height: 1.6;
    margin-bottom: 30px !important;
  }
  .btn-exact-teal-pill {
    width: 50%;
    height: 50px;
    font-size: 14.5px;
  }
  .hero-perspective-grid-wrap {
    height: 34vh;
    min-height: 200px;
    max-height: 300px;
  }
  .hero-perspective-grid {
    height: 145%;
    background-size: 40px 40px;
    transform: perspective(480px) rotateX(64deg) translateZ(0);
  }
}




/* ========================================================
   Cognita 3D Bento Grid Section (Dribbble UI Match)
======================================================== */
.cognita-bento-section {
  /* Soft ice-mint/cream background matching the reference */
  background-color: #faf5f5; 
  padding-top: 120px;
  padding-bottom: 120px;
}

/* Typography */
.bento-main-title {
  font-family: var(--font-secondary, 'Unbounded', sans-serif);
  font-size: 52px;
  font-weight: 700;
  color: #111111;
  letter-spacing: -1.5px;
  line-height: 1.15;
}

.bento-main-desc {
  font-family: var(--font-primary, 'DM Sans', sans-serif);
  font-size: 16px;
  color: #555555;
  line-height: 1.6;
}

/* 12-Column Asymmetric Bento Grid */
.cognita-bento-grid {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  gap: 24px;
}

/* Base Bento Card */
.bento-card {
  background-color: #ffffff;
  border-radius: 28px; /* Smooth rounded corners */
  padding: 40px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.02);
  transition: transform 0.4s cubic-bezier(0.2, 1, 0.3, 1), box-shadow 0.4s ease;
  overflow: hidden;
  position: relative;
}

a.bento-card {
  display: flex;
  text-decoration: none;
  color: inherit;
}

.bento-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 20px 45px rgba(0, 0, 0, 0.06);
}

/* Bento Grid Desktop Spans (Matching Reference Image 2 Exactly) */
@media (min-width: 992px) {
  .bento-card-1 { grid-column: span 4; grid-row: span 2; } /* Tall Left */
  .bento-card-2 { grid-column: span 8; }                  /* Wide Top Right */
  .bento-card-3 { grid-column: span 4; }                  /* Mid Center */
  .bento-card-4 { grid-column: span 4; }                  /* Mid Right */
  .bento-card-5 { grid-column: span 8; }                  /* Wide Bottom Left */
  .bento-card-6 { grid-column: span 4; }                  /* Bottom Right */
}

/* Card Content Typography */
.bento-card-title {
  font-family: var(--font-secondary, 'Unbounded', sans-serif);
  font-size: 24px;
  font-weight: 700;
  color: #111111;
  letter-spacing: -0.8px;
  margin-bottom: 12px;
  line-height: 1.25;
}

.bento-card-desc {
  font-family: var(--font-primary, 'DM Sans', sans-serif);
  font-size: 15.5px;
  color: #666666;
  line-height: 1.6;
}

/* 3D Image Positioning & Scaling */
.bento-3d-img {
  max-width: 240px;
  height: auto;
  object-fit: contain;
  mix-blend-mode: multiply; /* Smooth blending on white cards */
}

.bento-3d-img-wide {
  max-width: 280px;
  height: auto;
  object-fit: contain;
  mix-blend-mode: multiply;
}

.bento-3d-img-sm {
  max-width: 180px;
  height: auto;
  object-fit: contain;
  mix-blend-mode: multiply;
}

/* ========================================================
   Responsive Breakpoints
======================================================== */
@media (max-width: 1199px) {
  .bento-main-title { font-size: 42px; }
  .bento-card { padding: 30px; }
  .bento-card-title { font-size: 21px; }
  .bento-3d-img-wide { max-width: 220px; }
}

@media (max-width: 991px) {
  .cognita-bento-section { padding-top: 80px; padding-bottom: 80px; }
  .bento-main-title { font-size: 34px; letter-spacing: -1px; }
  
  /* Switch to 2-column grid on Tablet */
  .cognita-bento-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .bento-card-1, .bento-card-2, .bento-card-3, 
  .bento-card-4, .bento-card-5, .bento-card-6 {
    grid-column: span 1;
    grid-row: span 1;
  }
  /* Make wide cards span 2 columns on tablet */
  .bento-card-2, .bento-card-5 {
    grid-column: span 2;
  }
}

@media (max-width: 575px) {
  .cognita-bento-section { padding-top: 60px; padding-bottom: 60px; }
  .bento-main-title { font-size: 21px; letter-spacing: -0.5px; }
  
  /* Switch to Single Column Stack on Phones */
  .cognita-bento-grid {
    grid-template-columns: 1fr;
    gap: 16px;
  }
  .bento-card-1, .bento-card-2, .bento-card-3, 
  .bento-card-4, .bento-card-5, .bento-card-6 {
    grid-column: span 1;
  }
  .bento-card {
    padding: 24px;
    border-radius: 20px;
  }
  .bento-card-title { font-size: 19px; }
  .bento-card-desc { font-size: 14.5px; }
  .bento-3d-img, .bento-3d-img-wide, .bento-3d-img-sm {
    max-width: 180px;
    margin: 0 auto;
  }
}







/* ========================================================
   Why Choose Us - Dribbble Pastel Grid Component
======================================================== */
.cognita-why-choose-us {
  background-color: #ffffff;
  padding-top: 120px;
  padding-bottom: 120px;
}

.why-main-title {
  font-family: var(--font-secondary, 'Unbounded', sans-serif);
  font-size: 48px;
  font-weight: 700;
  color: #111111;
  letter-spacing: -1.2px;
  line-height: 1.15;
}

.why-main-desc {
  font-family: var(--font-primary, 'DM Sans', sans-serif);
  font-size: 17px;
  color: #555555;
  line-height: 1.65;
  padding-top: 5px;
}

/* Individual Card Styling */
.why-card {
  border-radius: 24px;
  padding: 40px 35px;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.why-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 15px 35px rgba(0, 0, 0, 0.06);
}

/* Soft Pastel Background Tints (Matching Image 2 Reference) */
.card-tint-1 { background-color: #f0f1f7; } /* Soft Lavender-Grey */
.card-tint-2 { background-color: #f8f0f8; } /* Soft Lilac-Pink */
.card-tint-3 { background-color: #fcf4ec; } /* Soft Peach-Cream */
.card-tint-4 { background-color: #edf7f2; } /* Soft Mint-Green */
.card-tint-5 { background-color: #f7f4ee; } /* Soft Warm Beige */
.card-tint-6 { background-color: #ebf4f8; } /* Soft Ice-Blue */

/* Icon Badge Container */
.why-icon-badge {
  width: 54px;
  height: 54px;
  border-radius: 14px;
  background-color: rgba(255, 255, 255, 0.85);
  backdrop-filter: blur(8px);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 10px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.03);
}

.why-icon-img {
  width: 32px;
  height: 32px;
  object-fit: contain;
  mix-blend-mode: multiply; /* Blends icon seamlessly */
}

/* Card Content Typography */
.why-card-title {
  font-family: var(--font-primary, 'DM Sans', sans-serif);
  font-size: 23px;
  font-weight: 700;
  color: #111111;
  letter-spacing: -0.5px;
  margin-bottom: 12px;
  line-height: 1.25;
}

.why-card-desc {
  font-family: var(--font-primary, 'DM Sans', sans-serif);
  font-size: 15.5px;
  color: #555555;
  line-height: 1.6;
}

/* Bottom CTA Link (LEARN MORE ↗) */
.why-card-link {
  font-family: var(--font-primary, 'DM Sans', sans-serif);
  font-size: 12.5px;
  font-weight: 800;
  color: #111111;
  letter-spacing: 1.5px;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  transition: gap 0.3s ease, color 0.3s ease;
}

.why-card-link svg {
  transition: transform 0.3s ease;
}

.why-card:hover .why-card-link {
  color: #e31e24; /* Turns Cognita Orange on Hover */
}

.why-card:hover .why-card-link svg {
  transform: translate(2px, -2px); /* Moves arrow top-right on hover */
  stroke: #e31e24;
}

/* ========================================================
   Responsive Breakpoints
======================================================== */
@media (max-width: 1199px) {
  .why-main-title { font-size: 38px; }
  .why-card { padding: 32px 28px; }
  .why-card-title { font-size: 21px; }
}

@media (max-width: 991px) {
  .cognita-why-choose-us { padding-top: 80px; padding-bottom: 80px; }
  .why-main-title { font-size: 32px; letter-spacing: -1px; }
}

@media (max-width: 575px) {
  .cognita-why-choose-us { padding-top: 60px; padding-bottom: 60px; }
  .why-main-title { font-size: 24px; letter-spacing: -0.5px; }
  .why-main-desc { font-size: 15px; }
  .why-card { padding: 25px 20px; border-radius: 18px; }
  .why-card-title { font-size: 19px; }
  .why-card-desc { font-size: 14.5px; }
}







/* ========================================================
   Industries We Serve - Dribbble Bento Grid UI
======================================================== */
.cognita-industries-bento {
  background-color: #faf5f5; /* Soft mint/cream background matching Image 2 */
  padding-top: 120px;
  padding-bottom: 120px;
}

/* Top Badge Pill */
.bento-badge-pill {
  background-color: #ffffff;
  border: 1px solid #d0e2e0;
  padding: 6px 18px;
  border-radius: 50px;
  font-family: var(--font-primary, 'DM Sans', sans-serif);
  font-size: 11.5px;
  font-weight: 700;
  color: #e31e24;
  letter-spacing: 1.5px;
}

.industries-bento-title {
  font-family: var(--font-secondary, 'Unbounded', sans-serif);
  font-size: 48px;
  font-weight: 700;
  color: #111111;
  letter-spacing: -1.2px;
  line-height: 1.18;
}

.industries-bento-desc {
  font-family: var(--font-primary, 'DM Sans', sans-serif);
  font-size: 16.5px;
  color: #555555;
  line-height: 1.6;
  max-width: 680px;
}

/* Bento grid: 1 column mobile → 12-column desktop */
.industries-bento-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 20px;
}

@media (min-width: 992px) {
  .industries-bento-grid {
    grid-template-columns: repeat(12, 1fr);
    gap: 24px;
  }
}

/* Individual Cards */
.bento-ind-card {
  background-color: #ffffff;
  border-radius: 28px;
  padding: 38px 32px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.02);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  overflow: hidden;
}

.bento-ind-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.06);
}

/* Full-width cards on mobile/tablet */
.bento-ind-card.card-1,
.bento-ind-card.card-2,
.bento-ind-card.card-3,
.bento-ind-card.card-4,
.bento-ind-card.card-5 {
  grid-column: 1 / -1;
  min-width: 0;
}

/* Grid Spans (Desktop: Top 3 equal, Bottom 2 wide) */
@media (min-width: 992px) {
  .bento-ind-card.card-1 { grid-column: span 4; }
  .bento-ind-card.card-2 { grid-column: span 4; }
  .bento-ind-card.card-3 { grid-column: span 4; }
  .bento-ind-card.card-4 { grid-column: span 6; }
  .bento-ind-card.card-5 { grid-column: span 6; }
}

@media (max-width: 991px) {
  .cognita-industries-bento {
    padding-top: 70px;
    padding-bottom: 70px;
  }

  .cognita-industries-bento .mb-60 {
    margin-bottom: 40px !important;
  }

  .industries-bento-title {
    font-size: 21px;
    letter-spacing: -0.8px;
    line-height: 1.22;
  }

  .industries-bento-desc {
    font-size: 15px;
  }

  .bento-ind-card {
    padding: 28px 22px;
    border-radius: 22px;
  }

  .bento-ind-title {
    font-size: 19px;
  }

  .graphic-pill,
  .health-pill {
    font-size: 13px;
  }

  .cloud-partner-pills {
    gap: 8px !important;
  }
}

.bento-ind-title {
  font-family: var(--font-secondary, 'Unbounded', sans-serif);
  font-size: 22px;
  font-weight: 700;
  color: #111111;
  letter-spacing: -0.6px;
  margin-bottom: 10px;
}

.bento-ind-desc {
  font-family: var(--font-primary, 'DM Sans', sans-serif);
  font-size: 15px;
  color: #666666;
  line-height: 1.6;
}

/* ========================================================
   Card 1: Graphic Pills (Matching Reference)
======================================================== */
.graphic-pill {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 20px;
  border-radius: 50px;
  font-family: var(--font-primary, 'DM Sans', sans-serif);
  font-size: 14px;
  font-weight: 700;
}

.pill-dark { background-color: #0d2824; color: #ffffff; }
.pill-purple { background-color: #7a4be6; color: #ffffff; }
.pill-orange { background-color: #f0835f; color: #ffffff; }

.pill-dot { width: 18px; height: 18px; border-radius: 50%; background: #00ffaa; }
.pill-dot-star { width: 18px; height: 18px; border-radius: 50%; background: #ffffff; }
.pill-dot-white { width: 22px; height: 22px; border-radius: 50%; background: #ffffff; }

/* ========================================================
   Card 2: Healthcare AI Pipeline Widget
======================================================== */
.healthcare-tech-widget {
  width: 100%;
}

.health-pill {
  border-radius: 12px;
  font-family: var(--font-primary, 'DM Sans', sans-serif);
  font-size: 13.5px;
  font-weight: 600;
  transition: transform 0.2s ease;
}

.health-pill:hover {
  transform: translateX(4px);
}

.pill-cyan {
  background-color: #e6f7f5;
  color: #007a6c;
  border: 1px solid #b3ebe5;
}

.pill-purple {
  background-color: #f2ebfc;
  color: #5c2bb8;
  border: 1px solid #d8c2f7;
}

.pill-dark {
  background-color: #12181a;
  color: #ffffff;
  border: 1px solid #232d30;
}

/* Status Indicators */
.status-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  display: inline-block;
}

.green-dot { background-color: #00cc66; box-shadow: 0 0 8px #00cc66; }
.blue-dot { background-color: #3399ff; box-shadow: 0 0 8px #3399ff; }

.status-badge {
  font-size: 10.5px;
  font-weight: 700;
  /* text-uppercase; */
  background: rgba(0, 204, 102, 0.2);
  color: #00ff88;
  padding: 2px 8px;
  border-radius: 20px;
}

/* ========================================================
   Card 3: Arc Gauge (Matching Reference)
======================================================== */
.gauge-arc {
  width: 100%;
  max-width: 180px;
  height: auto;
}

.arc-badge {
  position: absolute;
  bottom: 10px;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  flex-direction: column;
}

.arc-number {
  font-family: var(--font-secondary, 'Unbounded', sans-serif);
  font-size: 22px;
  font-weight: 700;
  color: #e31e24;
  line-height: 1;
}

.arc-label {
  font-size: 11px;
  color: #666666;
  font-weight: 600;
}

/* ========================================================
   Card 4: Area Chart (Matching Reference)
======================================================== */
.chart-tag-badge {
  font-size: 13px;
  color: #333333;
  background: #fff0eb;
  padding: 6px 14px;
  border-radius: 20px;
  display: inline-block;
}

.chart-tag-badge strong { color: #e31e24; }

/* ========================================================
   Card 5: Multi-Cloud Telemetry & Tech Stack Widget
======================================================== */
.tech-platform-widget {
  width: 100%;
}

.platform-metric-badge {
  background: #fff0eb;
  border: 1px solid #ffccbe;
  border-radius: 30px;
  font-family: var(--font-primary, 'DM Sans', sans-serif);
  font-size: 13px;
  color: #222222;
}

.platform-metric-badge strong {
  color: #e31e24;
}

.live-pulse-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background-color: #e31e24;
  box-shadow: 0 0 8px #e31e24;
  animation: livePulse 1.8s infinite ease-in-out;
}

@keyframes livePulse {
  0%, 100% { transform: scale(1); opacity: 0.8; }
  50% { transform: scale(1.3); opacity: 1; }
}

/* Cloud Tech Stack Pills (No Overlapping Text) */
.cloud-pill {
  font-family: var(--font-primary, 'DM Sans', sans-serif);
  font-size: 12px;
  font-weight: 700;
  padding: 6px 14px;
  border-radius: 30px;
  display: inline-block;
  white-space: nowrap;
  transition: transform 0.2s ease;
}

.cloud-pill:hover {
  transform: translateY(-2px);
}

.pill-aws { background-color: #fff4eb; color: #d96200; border: 1px solid #ffd3bd; }
.pill-azure { background-color: #edf6ff; color: #0078d4; border: 1px solid #c2e2ff; }
.pill-gcp { background-color: #f0fdf4; color: #16a34a; border: 1px solid #bbf7d0; }
.pill-snowflake { background-color: #f0f9ff; color: #0284c7; border: 1px solid #bae6fd; }
.pill-databricks { background-color: #fef2f2; color: #dc2626; border: 1px solid #fecaca; }

/* Responsive Mobile Scaling */
@media (max-width: 575px) {
  .health-pill {
    font-size: 12px;
    padding: 8px 12px !important;
  }
  .platform-metric-badge {
    font-size: 11.5px;
    padding: 6px 12px !important;
  }
  .cloud-pill {
    font-size: 11px;
    padding: 5px 10px;
  }
}






/* ========================================================
   Light Theme Counter Section (White BG & Black Text)
======================================================== */
.cognita-light-counter-section {
  background-color: #ffffff;
  padding-top: 100px;
  padding-bottom: 100px;
}

/* Outer Light Card Wrapper */
.counter-outer-wrapper-light {
  background-color: #f7f9fc; /* Soft light grey card background */
  border-radius: 32px;
  padding: 70px 50px;
  border: 1px solid #e2e8f0;
  box-shadow: 0 15px 35px rgba(0, 0, 0, 0.02);
}

/* Subtle Ambient Glow */
.counter-bg-glow-light {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 600px;
  height: 400px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(227, 30, 36, 0.08) 0%, rgba(255, 115, 0, 0.02) 60%, transparent 80%);
  filter: blur(60px);
  pointer-events: none;
  z-index: 1;
}

/* Typography (Black Text) */
.counter-section-title-light {
  font-family: var(--font-secondary, 'Unbounded', sans-serif);
  font-size: 38px;
  font-weight: 700;
  color: #111111; /* Black Text */
  letter-spacing: -1px;
  line-height: 1.25;
}

.counter-section-subtitle-light {
  font-family: var(--font-primary, 'DM Sans', sans-serif);
  font-size: 16.5px;
  color: #555555; /* Dark Medium Grey */
}

/* Individual Stat Cards (White Background) */
.impact-stat-card-light {
  background-color: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 20px;
  padding: 32px 24px;
  transition: transform 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease;
  min-height: 220px;
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.02);
}

.impact-stat-card-light:hover {
  transform: translateY(-4px);
  border-color: #e31e24; /* Cognita Orange Border on Hover */
  box-shadow: 0 12px 30px rgba(227, 30, 36, 0.1);
}

/* Stat Numbers & Labels (Black) */
.stat-number-display-light {
  font-family: var(--font-secondary, 'Unbounded', sans-serif);
  font-size: 48px;
  font-weight: 700;
  color: #111111; /* Black Number */
  letter-spacing: -1.5px;
  line-height: 1;
}

.stat-main-label-light {
  font-family: var(--font-primary, 'DM Sans', sans-serif);
  font-size: 17px;
  font-weight: 700;
  color: #111111; /* Black Label */
  line-height: 1.3;
}

.border-top-light {
  border-top: 1px solid #edf2f7 !important;
}

.stat-subtext-light {
  font-family: var(--font-primary, 'DM Sans', sans-serif);
  font-size: 13px;
  color: #666666; /* Medium Grey Subtext */
  display: block;
}

/* ========================================================
   Responsive Breakpoints (1 Row Desktop / 2x2 Mobile)
======================================================== */
@media (max-width: 1199px) {
  .counter-outer-wrapper-light { padding: 50px 30px; }
  .counter-section-title-light { font-size: 32px; }
  .stat-number-display-light { font-size: 40px; }
  .stat-main-label-light { font-size: 15.5px; }
}

@media (max-width: 991px) {
  .cognita-light-counter-section { padding-top: 80px; padding-bottom: 80px; }
  .counter-section-title-light { font-size: 28px; letter-spacing: -0.5px; }
}

@media (max-width: 575px) {
  .cognita-light-counter-section { padding-top: 60px; padding-bottom: 60px; }
  .counter-outer-wrapper-light { padding: 30px 16px; border-radius: 20px; }
  .counter-section-title-light { font-size: 22px; line-height: 1.3; }
  .counter-section-subtitle-light { font-size: 14px; }
  
  /* 2x2 Grid Adjustments on Mobile Phones */
  .impact-stat-card-light { padding: 20px 14px; border-radius: 16px; min-height: 190px; }
  .stat-number-display-light { font-size: 32px; }
  .stat-main-label-light { font-size: 13.5px; }
  .stat-subtext-light { font-size: 11.5px; }
}






/* ========================================================
   Cognita Technical Grid Breadcrumb Hero (Exact Match UI)
======================================================== */
.cognita-grid-breadcrumb {
  position: relative;
  background-color: #f7f9fb; /* Soft, clean light grey base */
  
  /* Technical Grid Pattern using Cognita Orange Lines */
  background-size: 36px 36px;
  background-image: 
    linear-gradient(to right, rgba(227, 30, 36, 0.08) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(227, 30, 36, 0.08) 1px, transparent 1px);
    
  padding-top: 50px;  /* Clears top header navigation */
  padding-bottom: 50px;
}

/* Badge Tag (Matching Reference Screenshot) */
.grid-badge-tag {
  font-family: var(--font-primary, 'DM Sans', sans-serif);
  font-size: 13px;
  font-weight: 700;
  color: #e31e24; /* Cognita Orange Accent */
  letter-spacing: 2.5px;
}

/* Main Title (Matching Reference Screenshot) */
.grid-breadcrumb-title {
  font-family: var(--font-secondary, 'Unbounded', sans-serif);
  font-size: 32px;
  font-weight: 700;
  color: #111111; /* Deep Black Text */
  letter-spacing: -1.5px;
  line-height: 1.18;
}

/* Subtitle Paragraph */
.grid-breadcrumb-desc {
  font-family: var(--font-primary, 'DM Sans', sans-serif);
  font-size: 18px;
  font-weight: 400;
  color: #555555; /* Readability Grey */
  line-height: 1.65;
  max-width: 780px;
}

/* ========================================================
   Responsive Breakpoints
======================================================== */
@media (max-width: 1199px) {
  .grid-breadcrumb-title {
    font-size: 44px;
  }
  .grid-breadcrumb-desc {
    font-size: 17px;
  }
}

@media (max-width: 991px) {
  .cognita-grid-breadcrumb {
    padding-top: 130px;
    padding-bottom: 80px;
    background-size: 28px 28px; /* Slightly tighter grid on tablet */
  }
  .grid-breadcrumb-title {
    font-size: 36px;
    letter-spacing: -1px;
  }
}

@media (max-width: 575px) {
  .cognita-grid-breadcrumb {
    padding-top: 50px;
    padding-bottom: 50px;
    background-size: 24px 24px;
  }
  .grid-badge-tag {
    font-size: 11.5px;
    letter-spacing: 2px;
  }
  .grid-breadcrumb-title {
    font-size: 22px;
    letter-spacing: -0.5px;
    line-height: 1.25;
  }
  .grid-breadcrumb-desc {
    font-size: 15px;
    line-height: 1.6;
  }
}





/* ========================================================
   Cognita 3-Step Process Section (Desktop & Mobile Perfected)
======================================================== */
.cognita-process-section {
  background-color: #ffffff;
  padding-top: 120px;
  padding-bottom: 120px;
}

/* Header Styles */
.process-badge-pill {
  border: 1px solid #e31e24;
  padding: 5px 18px;
  border-radius: 50px;
  font-family: var(--font-primary, 'DM Sans', sans-serif);
  font-size: 12px;
  font-weight: 700;
  color: #e31e24;
  letter-spacing: 1.5px;
}

.process-main-title {
  font-family: var(--font-secondary, 'Unbounded', sans-serif);
  font-size: 46px;
  font-weight: 700;
  color: #111111;
  letter-spacing: -1.2px;
}

.process-main-desc {
  font-family: var(--font-primary, 'DM Sans', sans-serif);
  font-size: 17px;
  color: #666666;
  max-width: 650px;
  line-height: 1.6;
}

/* CTA Pill Button */
.btn-process-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 50px;
  padding: 0 32px;
  border-radius: 50px;
  background: linear-gradient(135deg, #e06830 0%, #c84e1b 100%);
  color: #ffffff !important;
  font-family: var(--font-primary, 'DM Sans', sans-serif);
  font-size: 15px;
  font-weight: 700;
  text-decoration: none;
  box-shadow: 0 10px 25px rgba(217, 91, 44, 0.35);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.btn-process-cta:hover {
  transform: translateY(-2px);
  box-shadow: 0 14px 30px rgba(217, 91, 44, 0.5);
}

/* Timeline Wrapper Container */
.process-timeline-wrapper {
  min-height: 420px;
  padding-top: 20px;
}

/* SVG Orange Wave Background Line */
.process-svg-wave {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 240px;
  z-index: 1;
  pointer-events: none;
}

/* Step Column Desktop Heights */
.process-step-col {
  min-height: 380px;
}

/* Step 1 Icon Position (Sits on Mid Wave at Y = 120px) */
.step-1 .process-node-card {
  margin-top: 100px;
}

/* Step 2 Icon Position (Sits on Wave Peak at Y = 0px) */
.card-peak-2 {
  margin-top: 0px;
}

/* Step 3 Icon Position (Sits on Wave Peak 2 at Y = 0px) */
.card-peak-3 {
  margin-top: 0px;
  margin-left: auto;
  margin-right: 40px;
}

/* Floating White Icon Cards */
.process-node-card {
  width: 76px;
  height: 76px;
  border-radius: 20px;
  background-color: #ffffff;
  box-shadow: 0 15px 35px rgba(217, 91, 44, 0.18), 0 5px 15px rgba(0, 0, 0, 0.05);
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  z-index: 3;
  transition: transform 0.3s ease;
}

.process-step-col:hover .process-node-card {
  transform: translateY(-5px) scale(1.05);
}

.process-node-icon {
  width: 38px;
  height: 38px;
  object-fit: contain;
  mix-blend-mode: multiply;
}

.svg-fallback-icon {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* Watermark Step Numbers (1, 2, 3) */
.step-watermark-num {
  position: absolute;
  top: -55px;
  right: 10px;
  font-family: var(--font-secondary, 'Unbounded', sans-serif);
  font-size: 120px;
  font-weight: 700;
  color: #f0f3f6; /* Light grey watermark */
  line-height: 1;
  z-index: 0;
  pointer-events: none;
}

/* Step Content Typography */
.step-title {
  position: relative;
  z-index: 1;
  font-family: var(--font-primary, 'DM Sans', sans-serif);
  font-size: 22px;
  font-weight: 700;
  color: #111111;
  margin-bottom: 12px;
  letter-spacing: -0.5px;
}

.step-desc {
  position: relative;
  z-index: 1;
  font-family: var(--font-primary, 'DM Sans', sans-serif);
  font-size: 15px;
  color: #666666;
  line-height: 1.65;
  max-width: 340px;
}

/* ========================================================
   Mobile & Tablet Breakpoints (Fixed Mobile Stacking)
======================================================== */
@media (max-width: 1199px) {
  .process-main-title { font-size: 38px; }
  .step-title { font-size: 20px; }
  .step-watermark-num { font-size: 95px; top: -45px; }
}

@media (max-width: 991px) {
  .cognita-process-section { padding-top: 80px; padding-bottom: 80px; }
  .process-main-title { font-size: 32px; }
  .process-timeline-wrapper { min-height: auto; }
  .process-step-col {
    min-height: auto;
    margin-bottom: 45px;
  }
  .process-step-col:last-child {
    margin-bottom: 0;
  }
  /* Resets all card offset margins on mobile */
  .process-node-card {
    margin: 0 0 20px 0 !important; 
  }
  .step-watermark-num {
    font-size: 85px;
    top: -35px;
    right: 0;
  }
  .step-desc {
    max-width: 100%;
  }
}

@media (max-width: 575px) {
  .cognita-process-section { padding-top: 60px; padding-bottom: 60px; }
  .process-main-title { font-size: 28px; letter-spacing: -0.5px; }
  .process-main-desc { font-size: 15px; }
  .btn-process-cta { width: 75%; }
  .process-node-card { width: 64px; height: 64px; border-radius: 16px; }
  .process-node-icon { width: 30px; height: 30px; }
  .step-watermark-num { font-size: 75px; top: -30px; }
  .step-title { font-size: 19px; }
  .step-desc { font-size: 14.5px; }
}






/* ========================================================
   Path to Measurable Outcomes Section (Reference UI Match)
======================================================== */
.cognita-path-outcomes {
  background-color: #ffffff;
  padding-top: 120px;
  padding-bottom: 120px;
}

.path-outcomes-title {
  font-family: var(--font-secondary, 'Unbounded', sans-serif);
  font-size: 44px;
  font-weight: 700;
  color: #111111;
  letter-spacing: -1.2px;
  line-height: 1.2;
}

.path-outcomes-body p {
  font-family: var(--font-primary, 'DM Sans', sans-serif);
  font-size: 17.5px;
  font-weight: 400;
  color: #555555;
  line-height: 1.7;
}

/* Image Container with Smooth Rounded Corners */
.path-outcomes-img-wrap {
  position: relative;
  border-radius: 32px;
  overflow: hidden;
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.08);
  aspect-ratio: 4 / 3;
}

.path-outcomes-img-wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.6s ease;
}

.path-outcomes-img-wrap:hover img {
  transform: scale(1.04);
}

/* ========================================================
   Responsive Breakpoints
======================================================== */
@media (max-width: 1199px) {
  .path-outcomes-title { font-size: 36px; }
  .path-outcomes-body p { font-size: 16.5px; }
}

@media (max-width: 991px) {
  .cognita-path-outcomes {
    padding-top: 80px;
    padding-bottom: 80px;
  }
  .path-outcomes-title { font-size: 32px; letter-spacing: -1px; }
}

@media (max-width: 575px) {
  .cognita-path-outcomes {
    padding-top: 60px;
    padding-bottom: 60px;
  }
  .path-outcomes-title { font-size: 24px; letter-spacing: -0.5px; }
  .path-outcomes-body p { font-size: 15px; line-height: 1.6; }
  .path-outcomes-img-wrap { border-radius: 20px; aspect-ratio: 16 / 10; }
}



/* ========================================================
   Where It Applies (AI Use Cases - Reference UI Match)
======================================================== */
.cognita-usecases-section {
  background-color: #ffffff;
  padding-top: 120px;
  padding-bottom: 120px;
}

/* Image Wrapper */
.usecases-img-wrap {
  position: relative;
  border-radius: 28px;
  overflow: hidden;
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.08);
  aspect-ratio: 4 / 3;
}

.usecases-img-wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.6s ease;
}

.usecases-img-wrap:hover img {
  transform: scale(1.04);
}

/* Badge Tag */
.usecases-badge-pill {
  background-color: #fff0eb;
  border: 1px solid #ffd8cc;
  padding: 6px 18px;
  border-radius: 50px;
  font-family: var(--font-primary, 'DM Sans', sans-serif);
  font-size: 11.5px;
  font-weight: 700;
  color: #e31e24; /* Cognita Orange Accent */
  letter-spacing: 1.5px;
}

/* Section Title */
.usecases-title {
  font-family: var(--font-secondary, 'Unbounded', sans-serif);
  font-size: 44px;
  font-weight: 700;
  color: #111111;
  letter-spacing: -1.2px;
  line-height: 1.2;
}

/* Mint-Cream Use Case Pills */
.usecase-pill {
  background-color: #faf5f5; /* Light mint-cream background from screenshot */
  border-radius: 18px;
  padding: 18px 24px;
  transition: transform 0.3s ease, background-color 0.3s ease;
}

.usecase-pill:hover {
  transform: translateX(6px); /* Nudges right on hover */
  background-color: #e2f0ee;
}

.usecase-check-icon {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background-color: #ffffff;
  border: 1px solid #d0e2e0;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.03);
}

.usecase-text {
  font-family: var(--font-primary, 'DM Sans', sans-serif);
  font-size: 16px;
  font-weight: 600;
  color: #111111;
  line-height: 1.5;
}

/* ========================================================
   Responsive Breakpoints
======================================================== */
@media (max-width: 1199px) {
  .usecases-title { font-size: 38px; }
  .usecase-pill { padding: 16px 20px; }
  .usecase-text { font-size: 15px; }
}

@media (max-width: 991px) {
  .cognita-usecases-section {
    padding-top: 80px;
    padding-bottom: 80px;
  }
  .usecases-title { font-size: 32px; letter-spacing: -1px; }
  .usecases-content { padding-left: 0 !important; }
}

@media (max-width: 575px) {
  .cognita-usecases-section {
    padding-top: 60px;
    padding-bottom: 60px;
  }
  .usecases-title { font-size: 28px; letter-spacing: -0.5px; }
  .usecases-img-wrap { border-radius: 20px; aspect-ratio: 16 / 10; }
  .usecase-pill { padding: 14px 18px; border-radius: 14px; }
  .usecase-text { font-size: 14px; }
  .usecase-check-icon { width: 28px; height: 28px; }
}





/* ========================================================
   How We Deliver - 4-Card Grid (1 Row Desktop / 2x2 Mobile)
======================================================== */
.cognita-delivery-framework {
  background-color: #ffffff;
  padding-top: 120px;
  padding-bottom: 120px;
}

/* Badge Tag */
.delivery-badge-pill {
  background-color: #fff0eb;
  border: 1px solid #ffd8cc;
  padding: 6px 18px;
  border-radius: 50px;
  font-family: var(--font-primary, 'DM Sans', sans-serif);
  font-size: 11.5px;
  font-weight: 700;
  color: #e31e24;
  letter-spacing: 1.5px;
}

.delivery-main-title {
  font-family: var(--font-secondary, 'Unbounded', sans-serif);
  font-size: 46px;
  font-weight: 700;
  color: #111111;
  letter-spacing: -1.2px;
  line-height: 1.18;
}

.delivery-main-desc {
  font-family: var(--font-primary, 'DM Sans', sans-serif);
  font-size: 16.5px;
  color: #555555;
  line-height: 1.6;
  max-width: 720px;
}

/* Delivery Card (Soft Elevation & Hover Glow) */
.delivery-card {
  background-color: #f7f9fb; /* Clean light grey background */
  border: 1px solid #e5e9f0;
  border-radius: 24px;
  padding: 35px 28px;
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.02);
  transition: transform 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease, background-color 0.3s ease;
}

.delivery-card:hover {
  transform: translateY(-6px);
  background-color: #ffffff;
  border-color: #e31e24; /* Cognita Orange Accent */
  box-shadow: 0 16px 35px rgba(227, 30, 36, 0.1);
}

/* Icon Box */
.delivery-icon-box {
  width: 52px;
  height: 52px;
  border-radius: 14px;
  background-color: #ffffff;
  border: 1px solid #e1e7ec;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.03);
}

/* Card Titles & Text */
.delivery-card-title {
  font-family: var(--font-primary, 'DM Sans', sans-serif);
  font-size: 20px;
  font-weight: 700;
  color: #111111;
  letter-spacing: -0.4px;
  line-height: 1.25;
  margin-bottom: 12px;
}

.delivery-card-desc {
  font-family: var(--font-primary, 'DM Sans', sans-serif);
  font-size: 14.5px;
  color: #666666;
  line-height: 1.65;
}

/* ========================================================
   Responsive Breakpoints (1 Row Desktop / 2x2 Mobile)
======================================================== */
@media (max-width: 1199px) {
  .delivery-main-title { font-size: 38px; }
  .delivery-card { padding: 28px 20px; }
  .delivery-card-title { font-size: 18px; }
  .delivery-card-desc { font-size: 13.5px; }
}

@media (max-width: 991px) {
  .cognita-delivery-framework {
    padding-top: 80px;
    padding-bottom: 80px;
  }
  .delivery-main-title { font-size: 32px; letter-spacing: -1px; }
}

@media (max-width: 575px) {
  .cognita-delivery-framework {
    padding-top: 60px;
    padding-bottom: 60px;
  }
  .delivery-main-title { font-size: 26px; letter-spacing: -0.5px; }
  .delivery-main-desc { font-size: 14.5px; }
  
  /* 2x2 Grid Styling on Mobile */
  .delivery-card {
    padding: 22px 16px;
    border-radius: 18px;
  }
  .delivery-icon-box {
    width: 44px;
    height: 44px;
    margin-bottom: 16px !important;
  }
  .delivery-card-title {
    font-size: 15px;
    margin-bottom: 8px;
    line-height: 1.2;
  }
  .delivery-card-desc {
    font-size: 12px;
    line-height: 1.5;
  }
}




/* ========================================================
   Real-World Impact Section (Exact Reference UI Match)
======================================================== */
.cognita-real-impact-section {
  background-color: #ffffff;
  padding-top: 120px;
  padding-bottom: 120px;
}

.real-impact-title {
  font-family: var(--font-secondary, 'Unbounded', sans-serif);
  font-size: 44px;
  font-weight: 700;
  color: #111111;
  letter-spacing: -1.2px;
  line-height: 1.2;
}

.real-impact-desc {
  font-family: var(--font-primary, 'DM Sans', sans-serif);
  font-size: 17.5px;
  font-weight: 400;
  color: #555555;
  line-height: 1.7;
}

/* Responsible AI Callout Box (Soft Mint Background) */
.responsible-ai-box {
  background-color: #faf5f5; /* Light mint/cyan from reference */
  border-radius: 20px;
  border: 1px solid #d8ece8;
}

.responsible-ai-icon {
  flex-shrink: 0;
  display: flex;
}

.responsible-ai-text p {
  font-family: var(--font-primary, 'DM Sans', sans-serif);
  font-size: 15px;
  color: #2b3a37;
  line-height: 1.6;
}

.responsible-ai-text strong {
  color: #e31e24;
  font-weight: 700;
}

/* Right Photo Container */
.real-impact-img-wrap {
  position: relative;
  border-radius: 28px;
  overflow: hidden;
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.08);
  aspect-ratio: 4 / 3;
}

.real-impact-img-wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.6s ease;
}

.real-impact-img-wrap:hover img {
  transform: scale(1.04);
}

/* ========================================================
   Responsive Breakpoints
======================================================== */
@media (max-width: 1199px) {
  .real-impact-title { font-size: 36px; }
  .real-impact-desc { font-size: 16px; }
}

@media (max-width: 991px) {
  .cognita-real-impact-section {
    padding-top: 80px;
    padding-bottom: 80px;
  }
  .real-impact-title { font-size: 32px; letter-spacing: -1px; }
  .real-impact-content { padding-right: 0 !important; }
}

@media (max-width: 575px) {
  .cognita-real-impact-section {
    padding-top: 60px;
    padding-bottom: 60px;
  }
  .real-impact-title { font-size: 26px; letter-spacing: -0.5px; }
  .real-impact-desc { font-size: 14.5px; line-height: 1.6; }
  .real-impact-img-wrap { border-radius: 20px; aspect-ratio: 16 / 10; }
  .responsible-ai-box { padding: 18px !important; border-radius: 16px; }
  .responsible-ai-text p { font-size: 13.5px; }
}





/* ========================================================
   Our Technology Ecosystem - Infinite Moving Marquee
======================================================== */
.cognita-ecosystem-section {
  background-color: #ffffff;
  padding-top: 120px;
  padding-bottom: 120px;
}

.ecosystem-title {
  font-family: var(--font-secondary, 'Unbounded', sans-serif);
  font-size: 46px;
  font-weight: 700;
  color: #111111;
  letter-spacing: -1.2px;
}

.ecosystem-desc {
  font-family: var(--font-primary, 'DM Sans', sans-serif);
  font-size: 17px;
  color: #555555;
  line-height: 1.65;
  max-width: 780px;
}

/* ========================================================
   Marquee Viewport Container with Left/Right Edge Blur
======================================================== */
.marquee-viewport-container {
  width: 100%;
  overflow: hidden;
  /* Premium Edge Blur Gradient Mask */
  mask-image: linear-gradient(
    to right, 
    transparent 0%, 
    black 12%, 
    black 88%, 
    transparent 100%
  );
  -webkit-mask-image: linear-gradient(
    to right, 
    transparent 0%, 
    black 12%, 
    black 88%, 
    transparent 100%
  );
}

/* Moving Track Rows */
.marquee-track-row {
  display: flex;
  width: max-content;
}

.marquee-track-content {
  display: flex;
  gap: 16px;
  /* Pause animation when user hovers over a badge */
}

.marquee-viewport-container:hover .marquee-track-content {
  animation-play-state: paused;
}

/* Left-to-Right Animation (Row 1 & 3) */
.marquee-move-right .marquee-track-content {
  animation: scrollRight 38s linear infinite;
}

/* Right-to-Left Animation (Row 2) */
.marquee-move-left .marquee-track-content {
  animation: scrollLeft 38s linear infinite;
}

@keyframes scrollRight {
  0% { transform: translateX(-50%); }
  100% { transform: translateX(0%); }
}

@keyframes scrollLeft {
  0% { transform: translateX(0%); }
  100% { transform: translateX(-50%); }
}

/* ========================================================
   Individual Technology Badge Card
======================================================== */
.tech-badge-card {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  min-width: 210px;
  height: 72px;
  padding: 0 24px;
  background-color: #f7f9fb; /* Soft light card */
  border: 1px solid #e5e9f0;
  border-radius: 18px;
  transition: transform 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease;
  user-select: none;
}

.tech-badge-card:hover {
  transform: translateY(-3px);
  background-color: #ffffff;
  border-color: #e31e24; /* Cognita Orange Highlight */
  box-shadow: 0 10px 25px rgba(227, 30, 36, 0.1);
}

.tech-badge-card img {
  width: 28px;
  height: 28px;
  object-fit: contain;
  flex-shrink: 0;
}

.tech-badge-card span {
  font-family: var(--font-primary, 'DM Sans', sans-serif);
  font-size: 15px;
  font-weight: 700;
  color: #111111;
  white-space: nowrap;
}

/* ========================================================
   Responsive Breakpoints
======================================================== */
@media (max-width: 991px) {
  .cognita-ecosystem-section { padding-top: 80px; padding-bottom: 80px; }
  .ecosystem-title { font-size: 34px; letter-spacing: -1px; }
  .tech-badge-card { min-width: 180px; height: 64px; padding: 0 18px; }
  .tech-badge-card span { font-size: 13.5px; }
  .tech-badge-card img { width: 24px; height: 24px; }
}

@media (max-width: 575px) {
  .cognita-ecosystem-section { padding-top: 60px; padding-bottom: 60px; }
  .ecosystem-title { font-size: 28px; letter-spacing: -0.5px; }
  .ecosystem-desc { font-size: 14.5px; }
  .marquee-viewport-container {
    mask-image: linear-gradient(to right, transparent 0%, black 8%, black 92%, transparent 100%);
    -webkit-mask-image: linear-gradient(to right, transparent 0%, black 8%, black 92%, transparent 100%);
  }
}