
/* ===================================
    01. Google font
====================================== */
@import url("https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@300;400;500;600;700;800&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Inter:wght@200;300;400;500;600;700;800;900&display=swap");



/* ===================================
    02. CSS color variable
====================================== */
:root {
  --base-color: #0085D2;
  /* Primary Blue */
  --secondary-color: #2FCAAE;
  /* Teal Accent */
  --dark-gray: #1D2B3A;
  /* Dark Text */
  --medium-gray: #6B7280;
  /* Body Text */
  --light-bg: #F5FAFD;
  /* Light Background */
  --light-blue: #EAF6FD;
  /* Section Background */
  --white: #FFFFFF;
  --light-green: #F0FCF9;
  --primary-font: "Inter", sans-serif;
  --alt-font: 'Plus Jakarta Sans', sans-serif;
  --quote-font: "Lora", serif;
}

/* ===================================
    03. Reset
====================================== */
.alt-font {
  font-family: var(--alt-font);
}

.primary-font {
  font-family: var(--primary-font) !important;
}

html {
  font-size: 16px;
}

body {
  font-family: var(--primary-font);
  font-size: 16px;
  line-height: 30px;
  font-weight: 400;
  color: var(--medium-gray);
  -moz-osx-font-smoothing: grayscale;
  word-break: break-word;
  -webkit-font-smoothing: antialiased;
}

section {
  padding-top: 110px;
  padding-bottom: 110px;
}

.dark-bg{
  background: var(--dark-gray);
}

.dark-bg2{
  background: var(--dark-gray) !important;
}

section.half-section {
  padding-top: 70px;
  padding-bottom: 70px;
}

section.big-section {
  padding-top: 130px;
  padding-bottom: 130px;
}

section.extra-big-section {
  padding-top: 160px;
  padding-bottom: 160px;
}

img {
  max-width: 100%;
  height: auto;
}

ul li {
  list-style: none;
}

a {
  color: var(--medium-gray);
  -webkit-transition: 0.3s;
  transition: 0.3s;
  text-decoration: none;
}

a:hover {
  color: var(--base-color);
  text-decoration: none;
}

p {
  margin-bottom: 25px;
}

.last-paragraph-no-margin p:last-of-type {
  margin-bottom: 0;
}

video {
  background-size: cover;
  display: table-cell;
  vertical-align: middle;
  width: 100%;
}

:focus-visible {
  outline: none;
}

[class*=line-icon],
[class*=" line-icon"],
[class*=bi-],
[class*=feather],
[class*=ti-] {
  display: inline-block;
}

.form-control,
.form-control.is-invalid,
.was-validated .form-control:invalid {
  background-position: right 20px center !important;
}

.form-control.is-invalid,
.was-validated .form-control:invalid {
  border-color: #dc3545 !important;
}

.g-recaptcha.is-invalid iframe {
  border: 1px solid #dc3545 !important;
}


.row.g-0 {
  margin-right: 0;
  margin-left: 0;
}

.row.g-0>* {
  padding-right: 0;
  padding-left: 0;
}

.row.gutter-very-small {
  margin-left: -5px;
  margin-right: -5px;
}

.row.gutter-very-small>* {
  padding-right: 5px;
  padding-left: 5px;
}

.row.gutter-small {
  margin-left: -10px;
  margin-right: -10px;
}

.row.gutter-small>* {
  padding-right: 10px;
  padding-left: 10px;
}

/* ===================================
    04. Typography
====================================== */
/* Heading */
.h1,
.h2,
.h3,
.h4,
.h5,
.h6,
h1,
h2,
h3,
h4,
h5,
h6 {
  margin-bottom: 30px;
  letter-spacing: -0.5px;
  font-weight: inherit;
}

h1,
.h1 {
  font-size: 4.375rem;
  line-height: 4.375rem;
}

h2,
.h2 {
  font-size: 3.438rem;
  line-height: 3.438rem;
}

h3,
.h3 {
  font-size: 2.813rem;
  line-height: 3.125rem;
}

h4 {
  font-size: 2.375rem;
  line-height: 2.7rem;
}

h5 {
  font-size: 2rem;
  line-height: 2.2rem;
}

h6 {
  font-size: 1.75rem;
  line-height: 1.95rem;
}

/* Font custom */
.font-style-italic {
  font-style: italic;
}

.hover-text {
  display: none;
}

b,
strong {
  font-weight: 700;
}

.text-white-space-nowrap {
  white-space: nowrap;
}

.text-white-space-normal {
  white-space: normal;
}

.text-transform-none {
  text-transform: none !important;
}

.text-uppercase-inherit {
  text-transform: inherit !important;
}

.word-break-normal {
  word-break: normal;
}

.vertical-align-top {
  vertical-align: top;
}

/* Font size */
.fs-0 {
  font-size: 0;
}

.fs-9 {
  font-size: 9px;
}

.fs-10 {
  font-size: 10px;
}

.fs-11 {
  font-size: 11px;
}

.fs-12 {
  font-size: 12px;
}

.fs-13 {
  font-size: 13px;
}

.fs-14 {
  font-size: 14px;
}

.fs-15 {
  font-size: 15px;
}

.fs-16 {
  font-size: 16px;
}

.fs-17 {
  font-size: 17px;
}

.fs-18 {
  font-size: 18px;
}

.fs-19 {
  font-size: 19px;
}

.fs-20 {
  font-size: 20px;
}

.fs-22 {
  font-size: 22px;
}

.fs-24 {
  font-size: 24px;
  line-height: 32px;
}

.fs-26 {
  font-size: 26px;
  line-height: 38px;
}

.fs-28 {
  font-size: 1.75rem;
  line-height: 2.6rem;
}

.fs-30 {
  font-size: 1.875rem;
  line-height: 2.8rem;
}

.fs-32 {
  font-size: 2rem;
  line-height: 2.5rem;
}

.fs-40 {
  font-size: 2.5rem;
  line-height: 2.5rem;
}

.fs-45 {
  font-size: 2.813rem;
  line-height: 3rem;
}

.fs-50 {
  font-size: 3.125rem;
  line-height: 3.25rem;
}

.fs-55 {
  font-size: 3.438rem;
  line-height: 3.5rem;
}

.fs-60 {
  font-size: 3.75rem;
  line-height: 3.75rem;
}

.fs-65 {
  font-size: 4.063rem;
  line-height: 4.688rem;
}

.fs-70 {
  font-size: 4.375rem;
  line-height: 4.375rem;
}

.fs-75 {
  font-size: 4.668rem;
  line-height: 4.668rem;
}

.fs-80 {
  font-size: 5rem;
  line-height: 5rem;
}

.fs-85 {
  font-size: 5.313rem;
  line-height: 5.313rem;
}

.fs-90 {
  font-size: 5.625rem;
  line-height: 5.625rem;
}

.fs-95 {
  font-size: 5.938rem;
  line-height: 5.938rem;
}

.fs-100 {
  font-size: 6.25rem;
  line-height: 6.25rem;
}

.fs-110 {
  font-size: 6.875rem;
  line-height: 6.875rem;
}

.fs-120 {
  font-size: 7.5rem;
  line-height: 7.5rem;
}

.fs-130 {
  font-size: 8.125rem;
  line-height: 8.125rem;
}

.fs-140 {
  font-size: 8.75rem;
  line-height: 8.75rem;
}

.fs-150 {
  font-size: 9.375rem;
  line-height: 9.375rem;
}

.fs-160 {
  font-size: 10rem;
  line-height: 10rem;
}

.fs-170 {
  font-size: 10.625rem;
  line-height: 10.625rem;
}

.fs-180 {
  font-size: 11.25rem;
  line-height: 11.25rem;
}

.fs-190 {
  font-size: 11.875rem;
  line-height: 11.875rem;
}

.fs-200 {
  font-size: 12.5rem;
  line-height: 12.5rem;
}

.fs-225 {
  font-size: 14.063rem;
  line-height: 14.063rem;
}

.fs-250 {
  font-size: 15.625rem;
  line-height: 15.625rem;
}

.fs-275 {
  font-size: 17.188rem;
  line-height: 17.188rem;
}

.fs-300 {
  font-size: 18.75rem;
  line-height: 18.75rem;
}

.fs-350 {
  font-size: 21.875rem;
  line-height: 21.875rem;
}

.fs-400 {
  font-size: 25rem;
  line-height: 25rem;
}

/* Line height */
.lh-0px {
  line-height: 0px;
}

.lh-10 {
  line-height: 10px;
}

.lh-11 {
  line-height: 11px;
}

.lh-12 {
  line-height: 12px;
}

.lh-13 {
  line-height: 13px;
}

.lh-14 {
  line-height: 14px;
}

.lh-15 {
  line-height: 15px;
}

.lh-16 {
  line-height: 16px;
}

.lh-18 {
  line-height: 18px;
}

.lh-19 {
  line-height: 19px;
}

.lh-20 {
  line-height: 20px;
}

.lh-22 {
  line-height: 22px;
}

.lh-24 {
  line-height: 24px;
}

.lh-26 {
  line-height: 26px;
}

.lh-28 {
  line-height: 28px;
}

.lh-30 {
  line-height: 30px;
}

.lh-32 {
  line-height: 2rem;
}

.lh-34 {
  line-height: 2.125rem;
}

.lh-36 {
  line-height: 2.25rem;
}

.lh-38 {
  line-height: 2.375rem;
}

.lh-40 {
  line-height: 2.5rem;
}

.lh-42 {
  line-height: 2.625rem;
}

.lh-44 {
  line-height: 2.75rem;
}

.lh-46 {
  line-height: 2.875rem;
}

.lh-48 {
  line-height: 3rem;
}

.lh-50 {
  line-height: 3.125rem;
}

.lh-55 {
  line-height: 3.438rem;
}

.lh-60 {
  line-height: 3.75rem;
}

.lh-65 {
  line-height: 4.063rem;
}

.lh-70 {
  line-height: 4.375rem;
}

.lh-75 {
  line-height: 4.688rem;
}

.lh-80 {
  line-height: 5rem;
}

.lh-85 {
  line-height: 5.313rem;
}

.lh-90 {
  line-height: 5.625rem;
}

.lh-95 {
  line-height: 5.938rem;
}

.lh-100 {
  line-height: 6.25rem;
}

.lh-105 {
  line-height: 6.563rem;
}

.lh-110 {
  line-height: 6.875rem;
}

.lh-115 {
  line-height: 7.188rem;
}

.lh-120 {
  line-height: 7.5rem;
}

.lh-0 {
  line-height: 0;
}

.lh-normal {
  line-height: normal;
}

.lh-initial {
  line-height: initial;
}

.lh-inherit {
  line-height: inherit;
}

/* Text color */
.text-white,
.btn-link.text-white,
a.text-white-hover:hover {
  color: var(--white);
}

.text-base-color-hover:hover {
  color: var(--base-color) !important;
}

.text-base-color,
.btn-link.text-base-color {
  color: var(--base-color);
}

.text-black,
.btn-link.text-black,
a.text-black-hover:hover {
  color: var(--black);
}

.text-dark-gray,
.btn-link.text-dark-gray,
a.text-dark-gray-hover:hover {
  color: var(--dark-gray);
}

.text-medium-gray,
.btn-link.text-medium-gray,
a.text-medium-gray-hover:hover {
  color: var(--medium-gray);
}

.text-extra-medium-gray,
.btn-link.text-extra-medium-gray,
a.text-extra-medium-gray-hover:hover {
  color: var(--extra-medium-gray);
}

.text-light-medium-gray,
.btn-link.text-light-medium-gray,
a.text-light-medium-gray:hover {
  color: var(--light-medium-gray);
}

.text-light-gray,
.btn-link.text-light-gray,
a.text-light-gray-hover:hover {
  color: var(--light-gray);
}

.text-very-light-gray,
.btn-link.text-very-light-gray,
a.text-very-light-gray-hover:hover {
  color: var(--very-light-gray);
}

.text-red,
.btn-link.text-red,
a.text-red-hover:hover {
  color: var(--red);
}

.text-green,
.btn-link.text-green,
a.text-green-hover:hover {
  color: var(--green);
}

.text-yellow,
.btn-link.text-yellow,
a.text-yellow-hover:hover {
  color: var(--yellow);
}

.text-golden-yellow,
.btn-link.text-golden-yellow,
a.text-golden-yellow-hover:hover {
  color: var(--golden-yellow);
}

.text-tussock-yellow,
.btn-link.text-tussock-yellow,
a.text-tussock-yellow-hover:hover {
  color: var(--tussock-yellow);
}

.text-cornflower-blue,
.btn-link.text-cornflower-blue,
a.text-cornflower-blue-hover:hover {
  color: var(--cornflower-blue);
}

.text-jade,
.btn-link.text-jade,
a.text-jade-hover:hover {
  color: var(--jade);
}

.text-majorelle-blue {
  color: var(--majorelle-blue);
}

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

.text-crusoe-green {
  color: var(--crusoe-green);
}

.text-tropical-blue {
  color: var(--tropical-blue);
}

.text-camarone {
  color: var(--camarone);
}

.text-seal-brown {
  color: var(--seal-brown);
}

.text-Wasabi {
  color: var(--Wasabi);
}

/* Text gradient color */
.text-gradient-blue-magenta-orange,
.text-gradient-light-gray-white,
.text-gradient-light-purple-light-orange,
.text-gradient-sky-blue-pink,
.text-gradient-light-blue-light-turquoise,
.text-gradient-fast-blue-purple-light-orange,
.text-gradient-light-pink-light-purple,
.text-gradient-fast-blue-purple,
.text-gradient-pink-orange,
.text-gradient-fast-pink-light-yellow,
.text-gradient-purple-pink,
.text-gradient-light-pink-light-orange {
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}


/* Text shadow */
.text-shadow-large {
  text-shadow: 0 0 50px rgba(0, 0, 0, 0.9);
}

.text-shadow-extra-large {
  text-shadow: 0 0 60px rgba(0, 0, 0, 0.9);
}

.text-shadow-double-large {
  text-shadow: 0 0 100px rgba(0, 0, 0, 0.9);
}

/* Text bottom line */
.text-decoration-line-bottom {
  border-bottom: 1px solid;
}

.text-decoration-line-bottom-medium {
  border-bottom: 2px solid;
}

.text-decoration-line-bottom-thick {
  border-bottom: 3px solid;
}

.text-decoration-line-through {
  text-decoration: line-through;
}

/* Text outline*/
.text-outline {
  -webkit-text-fill-color: transparent;
  -webkit-text-stroke-width: 1px;
  -webkit-text-stroke-color: var(--white);
}

/* Text stroke width */
.text-outline-width-1px {
  -webkit-text-stroke-width: 1px;
}

.text-outline-width-2px {
  -webkit-text-stroke-width: 2px;
}

.text-outline-width-3px {
  -webkit-text-stroke-width: 3px;
}

.text-outline-width-4px {
  -webkit-text-stroke-width: 4px;
}

.text-outline-width-5px {
  -webkit-text-stroke-width: 5px;
}

/* Text stroke color */
.text-outline-color-black {
  -webkit-text-stroke-color: var(--black);
}

.text-outline-color-base-color {
  -webkit-text-stroke-color: var(--base-color);
}

.text-outline-color-red {
  -webkit-text-stroke-color: var(--red);
}

.text-outline-color-dark-gray {
  -webkit-text-stroke-color: var(--dark-gray);
}

.text-outline-color-medium-gray {
  -webkit-text-stroke-color: var(--medium-gray);
}

.text-outline-color-extra-medium-gray {
  -webkit-text-stroke-color: var(--extra-medium-gray);
}

/* Letter spacing */
.ls-0px {
  letter-spacing: 0px !important;
}

.ls-05px {
  letter-spacing: 0.5px !important;
}

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

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

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

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

.ls-5px {
  letter-spacing: 5px !important;
}

.ls-6px {
  letter-spacing: 6px !important;
}

.ls-7px {
  letter-spacing: 7px !important;
}

.ls-8px {
  letter-spacing: 8px !important;
}

.ls-9px {
  letter-spacing: 9px !important;
}

.ls-10px {
  letter-spacing: 10px !important;
}

.ls-minus-05px {
  letter-spacing: -0.5px !important;
}

.ls-minus-1px {
  letter-spacing: -1px !important;
}

.ls-minus-2px {
  letter-spacing: -2px !important;
}

.ls-minus-3px {
  letter-spacing: -3px !important;
}

.ls-minus-4px {
  letter-spacing: -4px !important;
}

.ls-minus-5px {
  letter-spacing: -5px !important;
}

.ls-minus-6px {
  letter-spacing: -6px !important;
}

.ls-minus-7px {
  letter-spacing: -7px !important;
}

.ls-minus-8px {
  letter-spacing: -8px !important;
}

.ls-minus-9px {
  letter-spacing: -9px !important;
}

.ls-minus-10px {
  letter-spacing: -10px !important;
}

/* Icon size */
.icon-extra-double-large {
  font-size: 80px;
}

.icon-double-large {
  font-size: 60px;
}

.icon-extra-large {
  font-size: 50px;
}

.icon-large {
  font-size: 42px;
}

.icon-medium {
  font-size: 34px;
}

.icon-very-medium {
  font-size: 28px;
}

.icon-extra-medium {
  font-size: 24px;
}

.icon-small {
  font-size: 18px;
}

.icon-very-small {
  font-size: 14px;
}

/* ===================================
    05. General
====================================== */
/* Separator line */
.separator-line-1px {
  height: 1px;
}

.separator-line-2px {
  height: 2px;
}

.separator-line-3px {
  height: 3px;
}

.separator-line-4px {
  height: 4px;
}

.separator-line-5px {
  height: 5px;
}

/* Separator vertical line */
.separator-line-vertical {
  -webkit-transform: rotate(-90deg);
  transform: rotate(-90deg);
}

/* Separator line size */
.separator-line-small {
  width: 35px;
  height: 1px;
  display: inline-block;
  margin-right: 7px;
}

.separator-line-extra-small {
  width: 18px;
  height: 1px;
  display: inline-block;
  margin-right: 8px;
  vertical-align: middle;
}

.separator-line-very-small {
  width: 12px;
  height: 1px;
  display: inline-block;
  margin-right: 9px;
  vertical-align: middle;
}

/* Opacity */
.opacity-full-dark,
.opacity-full,
.opacity-medium,
.opacity-extra-medium,
.opacity-light,
.opacity-very-light {
  position: absolute;
  height: 100%;
  width: 100%;
  top: 0;
  left: 0;
}

.opacity-very-light {
  opacity: 0.2;
}

.opacity-light {
  opacity: 0.3;
}

.opacity-extra-medium {
  opacity: 0.5;
}

.opacity-medium {
  opacity: 0.75;
}

.opacity-full {
  opacity: 0.8;
}

.opacity-full-dark {
  opacity: 0.9;
}

/* Position */
.position-inherit {
  position: inherit !important;
}

.position-initial {
  position: initial !important;
}

.absolute-middle-center {
  left: 50%;
  top: 50%;
  position: absolute;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}

.absolute-middle-left {
  left: 0;
  top: 50%;
  position: absolute;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}

.absolute-middle-right {
  right: 0;
  top: 50%;
  position: absolute;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}

.absolute-top-center {
  left: 50%;
  top: 0;
  position: absolute;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
}

.absolute-bottom-center {
  left: 50%;
  bottom: 0;
  position: absolute;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
}

.absolute-bottom-left {
  left: 0;
  bottom: 0;
  position: absolute;
}

.absolute-bottom-right {
  right: 0;
  bottom: 0;
  position: absolute;
}

/* Vertical title center */
.vertical-title-center {
  display: flex;
  height: 100%;
}

.vertical-title-center .title {
  -webkit-transform: rotate(180deg);
  transform: rotate(180deg);
  writing-mode: vertical-lr;
}

/* Skrollr */
.skrollr-parallax {
  position: relative !important;
  background-size: cover !important;
  background-attachment: fixed !important;
  transition-timing-function: none;
  -webkit-transition-timing-function: none;
  transition-duration: 0s;
  -webkit-transition-duration: 0s;
}

.skrollr-zoom {
  transition: none !important;
}

.blur-box {
  backdrop-filter: blur(5px);
  -webkit-backdrop-filter: blur(3px);
}

/* Transform */
.transform-origin-right {
  transform-origin: right;
}

.transform-origin-left {
  transform-origin: left;
}

.btn.btn-none-transform,
.btn.btn-none-transform:hover {
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}

/* Transition */
.transition {
  -webkit-transition: all 400ms cubic-bezier(0.37, 0, 0.63, 1);
  transition: all 400ms cubic-bezier(0.37, 0, 0.63, 1);
}

.transition-inner-all * {
  -webkit-transition: all 400ms cubic-bezier(0.37, 0, 0.63, 1);
  transition: all 400ms cubic-bezier(0.37, 0, 0.63, 1);
}

.no-transition {
  -webkit-transition: 0s;
  transition: 0s;
}

/* Pointer events */
.pointer-events-none {
  pointer-events: none;
}

.pointer-events-all {
  pointer-events: all;
}

/* Sticky column */
.sticky-wrap {
  position: fixed;
  top: 50%;
  left: 0;
  opacity: 0;
  z-index: 1;
  -webkit-transform: rotate(-90deg) translate(-50%, 50%);
  transform: rotate(-90deg) translate(-50%, 50%);
  transform-origin: 0 50%;
  transition: 1s cubic-bezier(0.7, 0, 0.3, 1) !important;
}

.sticky-wrap.shadow-in {
  left: 50px;
  opacity: 1;
  box-shadow: none !important;
}

.sticky-wrap.sticky-hidden {
  left: 0;
  opacity: 0;
}

.sticky-wrap a {
  color: var(--dark-gray) !important;
}

.sticky-wrap a:hover {
  color: var(--dark-gray) !important;
}

.sticky-wrap div,
.sticky-wrap span,
.sticky-wrap p {
  color: var(--dark-gray) !important;
}

.sticky-wrap .social-icon-style-10 ul li a:hover {
  color: var(--dark-gray) !important;
}

.sticky-wrap.sticky-highlight a {
  color: var(--white) !important;
}

.sticky-wrap.sticky-highlight a:hover {
  color: var(--white) !important;
}

.sticky-wrap.sticky-highlight div,
.sticky-wrap.sticky-highlight span,
.sticky-wrap.sticky-highlight p {
  color: var(--white) !important;
}

.sticky-wrap.sticky-highlight .separator-line-1px {
  background-color: var(--white) !important;
}

.sticky-wrap.sticky-highlight .social-icon-style-10 ul li a:hover {
  color: var(--white) !important;
}

.sticky-wrap-right {
  position: fixed;
  top: 50%;
  right: 110px;
  z-index: 1;
  -webkit-transform: rotate(-90deg) translate(50%, 100%);
  transform: rotate(-90deg) translate(50%, 100%);
  transform-origin: 100% 0%;
}

/* Overflow */
.overflow-visible {
  overflow: visible !important;
}

.overflow-x-hidden {
  overflow-x: hidden !important;
}

.overflow-y-hidden {
  overflow-y: hidden !important;
}

/* Overlap section */
.overlap-section {
  position: relative;
}

.overlap-height {
  transition: 0.3s height;
}

/* Outside box */
.outside-box-top-15 {
  margin-top: -15vw;
}

.outside-box-top-18 {
  margin-top: -18vw;
}

.outside-box-left-1 {
  margin-left: -1vw;
}

.outside-box-left-2 {
  margin-left: -2vw;
}

.outside-box-left-5 {
  margin-left: -5vw;
}

.outside-box-left-7 {
  margin-left: -7vw;
}

.outside-box-left-8 {
  margin-left: -8vw;
}

.outside-box-left-10 {
  margin-left: -10vw;
}

.outside-box-left-15 {
  margin-left: -15vw;
}

.outside-box-left-20 {
  margin-left: -20vw;
}

.outside-box-left-25 {
  margin-left: -25vw;
}

.outside-box-left-30 {
  margin-left: -30vw;
}

.outside-box-left-35 {
  margin-left: -35vw;
}

.outside-box-left-40 {
  margin-left: -40vw;
}

.outside-box-left-50 {
  margin-left: -50vw;
}

.outside-box-left-60 {
  margin-left: -60vw;
}

.outside-box-left-65 {
  margin-left: -65vw;
}

.outside-box-right-1 {
  margin-right: -1vw;
}

.outside-box-right-2 {
  margin-right: -2vw;
}

.outside-box-right-5 {
  margin-right: -5vw;
}

.outside-box-right-7 {
  margin-right: -7vw;
}

.outside-box-right-10 {
  margin-right: -10vw;
}

.outside-box-right-15 {
  margin-right: -15vw;
}

.outside-box-right-20 {
  margin-right: -20vw;
}

.outside-box-right-25 {
  margin-right: -25vw;
}

.outside-box-right-30 {
  margin-right: -30vw;
}

.outside-box-right-35 {
  margin-right: -35vw;
}

.outside-box-right-40 {
  margin-right: -40vw;
}

.outside-box-right-45 {
  margin-right: -45vw;
}

.outside-box-right-50 {
  margin-right: -50vw;
}

.outside-box-right-60 {
  margin-right: -60vw;
}

.outside-box-right-65 {
  margin-right: -65vw;
}

/* CSS filter */
.filter-mix-100 {
  filter: grayscale(100%) invert(100%);
}

.filter-grayscale-100 {
  filter: grayscale(100%);
}

/* Box shadow */
.box-shadow,
.box-shadow-hover:hover {
  -webkit-box-shadow: 0 0 10px rgba(0, 0, 0, 0.08);
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.08);
  -webkit-transition: 350ms ease-in-out;
  transition: 350ms ease-in-out;
}

.box-shadow-small,
.box-shadow-small-hover:hover {
  -webkit-box-shadow: 0 0 15px rgba(0, 0, 0, 0.08);
  box-shadow: 0 0 15px rgba(0, 0, 0, 0.08);
  -webkit-transition: all 350ms cubic-bezier(0.37, 0, 0.63, 1);
  transition: all 350ms cubic-bezier(0.37, 0, 0.63, 1);
}

.box-shadow-medium,
.box-shadow-medium-hover:hover {
  -webkit-box-shadow: 0 0 20px rgba(0, 0, 0, 0.08);
  box-shadow: 0 0 20px rgba(0, 0, 0, 0.08);
  -webkit-transition: all 350ms cubic-bezier(0.37, 0, 0.63, 1);
  transition: all 350ms cubic-bezier(0.37, 0, 0.63, 1);
}

.box-shadow-medium-bottom,
.box-shadow-medium-bottom-hover:hover {
  -webkit-box-shadow: 0 10px 20px rgba(0, 0, 0, 0.08);
  box-shadow: 0 10px 20px rgba(0, 0, 0, 0.08);
  -webkit-transition: all 350ms cubic-bezier(0.37, 0, 0.63, 1);
  transition: all 350ms cubic-bezier(0.37, 0, 0.63, 1);
}

.box-shadow-large,
.box-shadow-large-hover:hover {
  -webkit-box-shadow: 0 0 25px rgba(0, 0, 0, 0.08);
  box-shadow: 0 0 25px rgba(0, 0, 0, 0.08);
  -webkit-transition: all 350ms cubic-bezier(0.37, 0, 0.63, 1);
  transition: all 350ms cubic-bezier(0.37, 0, 0.63, 1);
}

.box-shadow-extra-large,
.box-shadow-extra-large-hover:hover {
  -webkit-box-shadow: 0 0 30px rgba(0, 0, 0, 0.08);
  box-shadow: 0 0 30px rgba(0, 0, 0, 0.08);
  -webkit-transition: all 350ms cubic-bezier(0.37, 0, 0.63, 1);
  transition: all 350ms cubic-bezier(0.37, 0, 0.63, 1);
}

.box-shadow-double-large,
.box-shadow-double-large-hover:hover {
  -webkit-box-shadow: 0 0 45px rgba(0, 0, 0, 0.09);
  box-shadow: 0 0 45px rgba(0, 0, 0, 0.09);
  -webkit-transition: all 350ms cubic-bezier(0.37, 0, 0.63, 1);
  transition: all 350ms cubic-bezier(0.37, 0, 0.63, 1);
}

.box-shadow-triple-large,
.box-shadow-triple-large-hover:hover {
  -webkit-box-shadow: 0 0 60px rgba(0, 0, 0, 0.2);
  box-shadow: 0 0 60px rgba(0, 0, 0, 0.2);
  -webkit-transition: all 350ms cubic-bezier(0.37, 0, 0.63, 1);
  transition: all 350ms cubic-bezier(0.37, 0, 0.63, 1);
}

.box-shadow-quadruple-large,
.box-shadow-quadruple-large-hover:hover {
  -webkit-box-shadow: 0 20px 60px rgba(0, 0, 0, 0.08);
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.08);
  -webkit-transition: all 350ms cubic-bezier(0.37, 0, 0.63, 1);
  transition: all 350ms cubic-bezier(0.37, 0, 0.63, 1);
}

.box-shadow-hover:hover,
.box-shadow-large-hover:hover,
.box-shadow-extra-large-hover:hover,
.box-shadow-medium-hover:hover,
.box-shadow-small-hover:hover,
.box-shadow-double-large-hover:hover,
.box-shadow-quadruple-large-hover:hover {
  -webkit-transform: translate3d(0, -3px, 0);
  transform: translate3d(0, -3px, 0);
}

.box-shadow-bottom {
  -webkit-box-shadow: 0px 10px 15px 0px rgba(0, 0, 0, 0.05);
  box-shadow: 0px 10px 15px 0px rgba(0, 0, 0, 0.05);
}

/* Input */
input,
select,
textarea,
.form-control,
.form-select {
  padding: 12px 25px;
  width: 100%;
  max-width: 100%;
  resize: none;
  outline: none;
  font-size: 16px;
  border: 1px solid #e4e4e4;
  color: var(--medium-gray);
  line-height: inherit;
  word-break: normal;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

.form-select {
  color: var(--medium-gray);
}

.form-select:focus {
  border-color: #dfdfdf;
}

input:focus,
select:focus,
textarea:focus,
.form-control:focus {
  border: 1px solid #c2c2c2;
  box-shadow: none !important;
  color: var(--medium-gray);
}

::-webkit-input-placeholder {
  color: var(--medium-gray) !important;
  text-overflow: ellipsis;
}

::-moz-placeholder {
  color: var(--medium-gray) !important;
  text-overflow: ellipsis;
  opacity: 1;
}

:-ms-input-placeholder {
  color: var(--medium-gray) !important;
  text-overflow: ellipsis;
  opacity: 1;
}

.placeholder-light::-webkit-input-placeholder {
  color: var(--white) !important;
  text-overflow: ellipsis;
}

.placeholder-light::-moz-placeholder {
  color: var(--white) !important;
  text-overflow: ellipsis;
  opacity: 1;
}

.placeholder-light:-ms-input-placeholder {
  color: var(--white) !important;
  text-overflow: ellipsis;
  opacity: 1;
}

.search-error {
  border-color: var(--red) !important;
}

/* Select */
.select {
  position: relative;
}

.select:after {
  content: "\e842";
  font-family: feather !important;
  right: 20px;
  top: 50%;
  height: 34px;
  position: absolute;
  pointer-events: none;
  font-size: 22px;
  margin-top: -15px;
}

/* Date icon */
.date-time {
  position: relative;
}

.date-icon {
  position: relative;
}

.date-icon input[type=date]::-webkit-inner-spin-button,
.date-icon input[type=date]::-webkit-calendar-picker-indicator {
  -webkit-appearance: none;
  opacity: 0;
  -moz-appearance: none;
  appearance: none;
}

.date-icon:after {
  content: "\e83a";
  font-family: feather !important;
  right: 28px;
  top: 50%;
  height: 34px;
  position: absolute;
  pointer-events: none;
  font-size: 22px;
  margin-top: -15px;
}

.date-icon input[type=date]::-webkit-date-and-time-value {
  text-align: left !important;
}

/* Mozilla firefox */
@-moz-document url-prefix() {
  .date-icon:after {
    display: none;
  }
}

/* Time icon */
.time-icon {
  position: relative;
}

.time-icon input[type=time]::-webkit-inner-spin-button,
.time-icon input[type=time]::-webkit-calendar-picker-indicator {
  -webkit-appearance: none;
  opacity: 0;
  -moz-appearance: none;
  appearance: none;
}

.time-icon:after {
  content: "\e84d";
  font-family: feather !important;
  right: 28px;
  top: 50%;
  height: 34px;
  position: absolute;
  pointer-events: none;
  font-size: 22px;
  margin-top: -15px;
}

/* Input size */
.input-small,
.textarea-small,
.select-small {
  padding: 7px 15px;
  font-size: 12px;
}

.input-medium,
.textarea-medium,
.select-medium {
  padding: 14px 28px;
}

.input-large {
  padding: 16px 32px;
}

.form-control.is-invalid:focus {
  box-shadow: none;
}

/* Box overlay */
.box-overlay {
  position: absolute;
  top: 0px;
  left: 0px;
  width: 100%;
  height: 100%;
  opacity: 0;
  visibility: hidden;
  -webkit-transition: all 400ms cubic-bezier(0.5, 1, 0.89, 1);
  transition: all 400ms cubic-bezier(0.5, 1, 0.89, 1);
}

.hover-box {
  z-index: 1;
}

.hover-box * {
  -webkit-transition: all 500ms cubic-bezier(0.5, 1, 0.89, 1);
  transition: all 500ms cubic-bezier(0.5, 1, 0.89, 1);
  will-change: transform;
}

.hover-box:hover .box-overlay {
  opacity: 1;
  visibility: visible;
}

.hover-box.dark-hover .border-dark-opacity {
  border-color: rgba(35, 35, 35, 0.15) !important;
}

.hover-box.dark-hover:hover a,
.hover-box.dark-hover:hover p,
.hover-box.dark-hover:hover span,
.hover-box.dark-hover:hover .btn,
.hover-box.dark-hover:hover i,
.hover-box.dark-hover:hover b,
.hover-box.dark-hover:hover u,
.hover-box.dark-hover:hover p,
.hover-box.dark-hover:hover h1,
.hover-box.dark-hover:hover h2,
.hover-box.dark-hover:hover h3,
.hover-box.dark-hover:hover h4,
.hover-box.dark-hover:hover h5,
.hover-box.dark-hover:hover h6 {
  color: var(--white) !important;
  -webkit-text-stroke-color: var(--white);
}

.hover-box.dark-hover:hover [class*=separator-line] {
  background-color: var(--white);
}

.hover-box.dark-hover:hover [class*=btn-link-gradient] span {
  background: var(--white);
  background-image: none;
}

.hover-box.dark-hover:hover [class*=btn-transparent] {
  background-color: var(--white);
  border-color: var(--white);
  color: var(--dark-gray) !important;
}

.hover-box.dark-hover:hover .text-light-opacity {
  opacity: 0.7;
}

.hover-box.dark-hover:hover .text-medium-opacity {
  opacity: 0.5;
}

.hover-box.dark-hover:hover .border-dark-opacity {
  border-color: rgba(255, 255, 255, 0.3) !important;
}

.hover-box.dark-hover:hover .content-slide-up .text-light-opacity {
  opacity: 0.7;
}

.hover-box.dark-hover:hover .btn-link {
  border-color: var(--white);
}

.hover-box.dark-hover:hover [class*=text-gradient-] {
  color: var(--white);
  background-image: none;
  -webkit-background-clip: inherit;
  -webkit-text-fill-color: var(--white);
  -webkit-text-fill-color: var(--white);
}

.hover-box.light-hover .border-light-opacity {
  border-color: rgba(255, 255, 255, 0.25) !important;
}

.hover-box.light-hover:hover a,
.hover-box.light-hover:hover span,
.hover-box.light-hover:hover .btn,
.hover-box.light-hover:hover i,
.hover-box.light-hover:hover b,
.hover-box.light-hover:hover u,
.hover-box.light-hover:hover p,
.hover-box.light-hover:hover h1,
.hover-box.light-hover:hover h2,
.hover-box.light-hover:hover h3,
.hover-box.light-hover:hover h4,
.hover-box.light-hover:hover h5,
.hover-box.light-hover:hover h6 {
  color: var(--dark-gray) !important;
}

.hover-box.light-hover:hover .text-light-opacity {
  opacity: 0.7;
}

.hover-box.light-hover:hover .text-medium-opacity {
  opacity: 0.5;
}

.hover-box.light-hover:hover .border-light-opacity {
  border-color: rgba(35, 35, 35, 0.15) !important;
}

.hover-box.light-hover:hover .content-slide-up .text-light-opacity {
  opacity: 0.7;
}

.hover-box.light-hover:hover .btn-link {
  border-color: var(--dark-gray);
}

.hover-box.light-hover:hover [class*=separator-line] {
  background-color: var(--dark-gray);
}

.hover-box.light-hover:hover [class*=text-gradient-] {
  color: var(--dark-gray);
  background-image: none;
  -webkit-background-clip: var(--dark-gray);
  -webkit-text-fill-color: var(--dark-gray);
}

/* Swiper slider pagination */
.swiper-horizontal>.swiper-pagination-bullets,
.swiper-vertical>.swiper-pagination-bullets {
  bottom: 45px;
  left: 50%;
  width: auto;
  cursor: default;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
}

.swiper-horizontal>.swiper-pagination-bullets-right,
.swiper-vertical>.swiper-pagination-bullets-right {
  bottom: auto;
  top: 50%;
  right: 60px;
  left: auto;
  width: auto;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  text-align: right;
}

.swiper-horizontal>.swiper-pagination-bullets-right .swiper-pagination-bullet,
.swiper-vertical>.swiper-pagination-bullets-right .swiper-pagination-bullet {
  display: block;
  margin: 25px 0 !important;
}

.swiper-dark-pagination .swiper-pagination-bullet {
  width: 8px;
  height: 8px;
  margin: 0 15px !important;
  opacity: 1;
  background-color: var(--light-gray);
  -webkit-transition: 0.3s;
  transition: 0.3s;
  outline: none;
}

.swiper-dark-pagination .swiper-pagination-bullet:before {
  content: "";
  width: 30px;
  height: 30px;
  border: 1px solid var(--dark-gray);
  background: transparent;
  display: inline-block;
  border-radius: 50%;
  position: relative;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  -webkit-transition: 0.3s;
  transition: 0.3s;
  opacity: 0;
}

.swiper-dark-pagination .swiper-pagination-bullet:hover {
  background-color: var(--dark-gray);
}

.swiper-dark-pagination .swiper-pagination-bullet:hover:before {
  opacity: 1;
}

.swiper-dark-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active {
  background-color: var(--dark-gray);
}

.swiper-dark-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active:before {
  opacity: 1;
}

.swiper-light-pagination .swiper-pagination-bullet {
  width: 8px;
  height: 8px;
  margin: 0 15px !important;
  display: inline-block;
  vertical-align: middle;
  background-color: var(--white);
  -webkit-transition: 0.3s;
  transition: 0.3s;
  outline: none;
  opacity: 0.5;
}

.swiper-light-pagination .swiper-pagination-bullet:before {
  content: "";
  width: 30px;
  height: 30px;
  border: 2px solid rgba(255, 255, 255, 0.2);
  background: transparent;
  display: inline-block;
  border-radius: 50%;
  position: relative;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  -webkit-transition: 0.3s;
  transition: 0.3s;
  opacity: 0;
}

.swiper-light-pagination .swiper-pagination-bullet:hover {
  background-color: var(--white);
  opacity: 1;
}

.swiper-light-pagination .swiper-pagination-bullet:hover:before {
  opacity: 1;
}

.swiper-light-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active {
  background-color: var(--white);
  opacity: 1;
}

.swiper-light-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active:before {
  opacity: 1;
}

/* Swiper pagination style 02 */
.swiper-pagination-style-2 .swiper-pagination-bullet {
  width: 8px;
  height: 8px;
  margin: 0 6px !important;
}

.swiper-pagination-style-2 .swiper-pagination-bullet:before {
  display: none;
}

/* Swiper pagination style 03 */
.swiper-pagination-style-3 .swiper-pagination-bullet {
  width: 14px;
  height: 14px;
  background: transparent;
  opacity: 0.4;
  margin: 0 7px !important;
  border: 2px solid var(--white);
}

.swiper-pagination-style-3 .swiper-pagination-bullet:hover,
.swiper-pagination-style-3 .swiper-pagination-bullet.swiper-pagination-bullet-active {
  background-color: var(--white);
  opacity: 1;
  -webkit-transform: scale(1.3);
  transform: scale(1.3);
}

.swiper-pagination-style-3 .swiper-pagination-bullet:before {
  display: none;
}

.swiper-pagination-style-3.dark .swiper-pagination-bullet {
  border: 2px solid var(--dark-gray);
}

.swiper-pagination-style-3.dark .swiper-pagination-bullet.swiper-pagination-bullet-active {
  background-color: var(--dark-gray);
}

/* Swiper pagination style 04 */
.swiper-pagination-style-4 .swiper-pagination-bullet {
  width: 8px;
  height: 8px;
  background: var(--white);
  opacity: 1;
  position: relative;
  margin: 0 25px !important;
  border: 0;
}

.swiper-pagination-style-4 .swiper-pagination-bullet:hover,
.swiper-pagination-style-4 .swiper-pagination-bullet.swiper-pagination-bullet-active {
  background-color: var(--base-color);
  opacity: 1;
  border: 0;
}

.swiper-pagination-style-4.dark .swiper-pagination-bullet {
  background: var(--dark-gray);
}

.swiper-pagination-style-4.dark .swiper-pagination-bullet:hover,
.swiper-pagination-style-4.dark .swiper-pagination-bullet.swiper-pagination-bullet-active {
  background-color: var(--base-color);
}

/* Custom image pagination */
.slider-custom-image .slider-custom-image-pagination {
  display: flex;
  align-items: center;
  bottom: 0;
}

.slider-custom-image .slider-custom-image-pagination .swiper-pagination-bullet {
  margin: 0 15px !important;
  outline: none;
  opacity: 0.8;
  width: 100px;
  height: 100px;
  margin: 0 15px !important;
  background-size: cover;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  -webkit-filter: grayscale(1);
  filter: grayscale(1);
}

.slider-custom-image .slider-custom-image-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active {
  -webkit-filter: grayscale(0);
  filter: grayscale(0);
  -webkit-transform: scale(1.2);
  transform: scale(1.2);
  opacity: 1;
}

.slider-custom-image .slider-custom-image-pagination.slider-custom-image-pagination-top {
  top: 0;
  bottom: auto;
}

/* Swiper number pagination style 01 */
.swiper-number-pagination-style-01 .swiper-number {
  text-align: left;
  bottom: 70px;
}

.swiper-number-pagination-style-01 .swiper-number .swiper-pagination-bullet {
  position: relative;
  padding-right: 10px;
  padding-left: 8px;
  margin: 0;
  color: var(--white);
  opacity: 0.7;
  width: auto;
  -webkit-transition: 0.5s;
  transition: 0.5s;
  height: auto;
  background: transparent;
  border-radius: 0;
  outline: none;
}

.swiper-number-pagination-style-01 .swiper-number .swiper-pagination-bullet.swiper-pagination-bullet-active {
  opacity: 1;
}

.swiper-number-pagination-style-01 .swiper-number .swiper-pagination-bullet.swiper-pagination-bullet-active:after {
  width: 70px;
}

.swiper-number-pagination-style-01 .swiper-number .swiper-pagination-bullet:after {
  width: 0;
  height: 1px;
  content: "";
  margin-left: 15px;
  display: inline-block;
  background: var(--white);
  vertical-align: middle;
  -webkit-transition: 0.5s;
  transition: 0.5s;
}

/* Swiper number pagination style 02 */
.swiper-number-pagination-style-02 .swiper-number {
  width: auto;
  left: inherit;
  right: 60px;
  padding: 0;
}

.swiper-number-pagination-style-02 .swiper-number .swiper-pagination-bullet {
  position: relative;
  font-family: var(--alt-font);
  font-size: 15px;
  display: block;
  color: var(--white);
  margin: 10px 0 !important;
  opacity: 0.7;
  width: 56px;
  -webkit-transition: 0.4s;
  transition: 0.4s;
  height: 56px;
  background: transparent;
  border-radius: 100%;
  text-align: center;
  line-height: 56px;
  outline: none;
}

.swiper-number-pagination-style-02 .swiper-number .swiper-pagination-bullet.swiper-pagination-bullet-active {
  opacity: 1;
}

.swiper-number-pagination-style-02 .swiper-number .swiper-pagination-bullet.swiper-pagination-bullet-active:before {
  opacity: 1;
  -webkit-transform: scale(1);
  transform: scale(1);
  -webkit-transition: 0.4s;
  transition: 0.4s;
  background: rgba(0, 0, 0, 0.45);
  z-index: -1;
}

.swiper-number-pagination-style-02 .swiper-number .swiper-pagination-bullet:before {
  width: 56px;
  height: 56px;
  border-radius: 100%;
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  -webkit-transform: scale(0.7);
  transform: scale(0.7);
}

/* Swiper line pagination style 01 */
.swiper-line-pagination-style-01 .swiper-line-pagination {
  text-align: center;
  bottom: 0;
  width: 100%;
  left: 0;
}

.swiper-line-pagination-style-01 .swiper-line-pagination .swiper-pagination-bullet {
  width: 100px;
  height: 2px;
  margin: 0 !important;
  border-radius: 0;
}

.swiper-line-pagination-style-01 .swiper-line-pagination .swiper-pagination-bullet:before {
  display: none;
}

.swiper-line-pagination-style-01 .swiper-line-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active {
  background-color: var(--base-color);
}

.swiper-h-pagination:after {
  display: none;
}

/* Swiper number line pagination style */
.swiper-number-pagination-progress .swiper-pagination-wrapper .number-prev,
.swiper-number-pagination-progress .swiper-pagination-wrapper .number-next {
  width: 50px;
  text-align: center;
}

.swiper-number-pagination-progress .swiper-pagination-wrapper .swiper-pagination {
  position: inherit;
  width: auto;
}

.swiper-number-pagination-progress .swiper-pagination-wrapper .swiper-pagination .swiper-pagination-bullet {
  width: 60px;
  height: 1px;
  vertical-align: middle;
  margin: 0;
  background-color: var(--medium-gray);
}

/* Swiper number navigation style */
.swiper-number-navigation-style .swiper-button-prev,
.swiper-number-navigation-style .swiper-button-next {
  top: inherit;
  bottom: 0;
  position: inherit;
  display: inline-block;
  vertical-align: middle;
  transform: none;
  width: auto;
  height: auto;
}

.swiper-number-navigation-style .swiper-button-prev i,
.swiper-number-navigation-style .swiper-button-prev .number-prev,
.swiper-number-navigation-style .swiper-button-prev .number-next,
.swiper-number-navigation-style .swiper-button-next i,
.swiper-number-navigation-style .swiper-button-next .number-prev,
.swiper-number-navigation-style .swiper-button-next .number-next {
  display: inline-block;
  vertical-align: middle;
}

.swiper-number-navigation-style .swiper-button-prev .number-prev,
.swiper-number-navigation-style .swiper-button-prev .number-next,
.swiper-number-navigation-style .swiper-button-next .number-prev,
.swiper-number-navigation-style .swiper-button-next .number-next {
  width: 50px;
  text-align: center;
}

/* Swiper pagination progress style */
.swiper-pagination-progress {
  width: 220px;
  height: 1px;
  position: relative;
}

.swiper-pagination-progress .swiper-progress {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: var(--swiper-progress, 0);
  background-color: var(--base-color);
  -webkit-transition: 0.4s;
  transition: 0.4s;
}

/* Swiper pagination progress style */
.swiper-number-pagination-progress-vertical .swiper-pagination-wrapper {
  position: absolute;
  right: 40px;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  z-index: 99;
}

.swiper-number-pagination-progress-vertical .swiper-pagination-wrapper .swiper-progress {
  position: absolute;
  top: 0;
  left: 0;
  width: 2px;
  height: var(--swiper-progress, 0);
  background-color: var(--dark-gray);
  -webkit-transition: 0.4s;
  transition: 0.4s;
}

.swiper-number-pagination-progress-vertical .swiper-pagination-wrapper .pagination-progress-vertical {
  transform: rotate(180deg);
  writing-mode: vertical-lr;
}

.swiper-number-pagination-progress-vertical .swiper-pagination-wrapper .swiper-pagination-progress {
  width: 2px;
  height: 100px;
  background-color: var(--extra-medium-gray);
}

.swiper-number-pagination-progress-vertical .swiper-pagination-wrapper .number-next {
  margin-top: 15px;
  width: auto;
}

.swiper-number-pagination-progress-vertical .swiper-pagination-wrapper .number-prev {
  margin-bottom: 15px;
  width: auto;
}

/* Swiper pagination bottom */
.swiper-pagination-bottom .swiper-button-prev,
.swiper-pagination-bottom .swiper-button-next {
  top: inherit;
  bottom: 0;
}

/* Swiper navigation */
.swiper-button-prev,
.swiper-button-next {
  outline: none;
  cursor: pointer;
  height: 45px;
  width: 45px;
  margin-top: 0;
  text-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

.swiper-button-prev:hover,
.swiper-button-next:hover {
  opacity: 0.8;
}

.swiper-button-next {
  left: inherit;
}

/* Swiper navigation style 01 */
.slider-navigation-style-01 {
  position: absolute;
  top: 50%;
  left: 65px;
  -webkit-border-radius: 100%;
  border-radius: 100%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

.slider-navigation-style-01.swiper-button-next {
  right: 65px;
  left: inherit;
}

.slider-navigation-style-01:hover {
  opacity: 0.8;
}

/* Swiper navigation style 02 */
.slider-navigation-style-02 {
  position: absolute;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  z-index: 99;
}

.slider-navigation-style-02.swiper-button-next {
  right: 0;
  left: auto;
}

/* Swiper navigation style 03 */
.slider-navigation-style-03 {
  position: absolute;
  top: 50%;
  left: -60px;
  width: 40px;
  height: 40px;
  background: var(--white);
  -webkit-border-radius: 100%;
  border-radius: 100%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

.slider-navigation-style-03.swiper-button-next {
  right: -60px;
  left: inherit;
}

.slider-navigation-style-03:hover {
  -webkit-box-shadow: 0px 0 20px rgba(35, 35, 35, 0.1);
  box-shadow: 0px 0 20px rgba(35, 35, 35, 0.1);
}

/* Swiper navigation style 04 */
.slider-navigation-style-04 {
  height: 56px;
  width: 56px;
  border-radius: 100%;
  position: relative;
  bottom: inherit;
  left: 0;
  top: inherit;
  -webkit-transform: translateY(0px);
  transform: translateY(0px);
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

.slider-navigation-style-04 i {
  -webkit-transition: 0.3s;
  transition: 0.3s;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.slider-navigation-style-04:hover i {
  opacity: 0.5;
}

.slider-navigation-style-04.swiper-button-prev {
  margin-right: 5px;
}

.slider-navigation-style-04.swiper-button-next {
  margin-left: 5px;
}

/* Swiper navigation style 05 */
.slider-navigation-style-05 {
  left: -30%;
}

.slider-navigation-style-05.swiper-button-next {
  right: -30%;
  left: inherit;
}

/* Swiper navigation style 06 */
.slider-navigation-style-06 {
  width: auto;
  height: auto;
  left: 60px;
}

.slider-navigation-style-06.swiper-button-next {
  right: 60px;
  left: inherit;
}

/* Swiper navigation style 07 */
.slider-navigation-style-07 {
  left: 50%;
  bottom: 0;
  top: inherit;
  width: 75px;
  height: 75px;
  -webkit-transform: translateX(-100%);
  transform: translateX(-100%);
}

.slider-navigation-style-07.swiper-button-next {
  bottom: 1px;
  -webkit-transform: translate(-100%, -100%);
  transform: translate(-100%, -100%);
}

/* Swiper navigation style 08 */
.slider-navigation-style-08 {
  width: auto;
  height: auto;
  position: relative;
  -webkit-transform: translateX(0px);
  transform: translateX(0px);
  left: 0;
}

.slider-navigation-style-08.swiper-button-next {
  right: 0;
  left: inherit;
}

/* Slider custom text */
.slider-custom-verticle-text>span {
  -webkit-transform: rotate(-90deg);
  transform: rotate(-90deg);
}

.swiper-button-prev.slider-custom-text-prev,
.swiper-button-prev.slider-custom-text-next,
.swiper-button-next.slider-custom-text-prev,
.swiper-button-next.slider-custom-text-next {
  width: auto;
  height: auto;
  min-height: 125px;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  -webkit-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

.swiper-button-prev.slider-custom-text-prev:hover,
.swiper-button-prev.slider-custom-text-next:hover,
.swiper-button-next.slider-custom-text-prev:hover,
.swiper-button-next.slider-custom-text-next:hover {
  opacity: 0.5;
}

.swiper-button-prev.slider-custom-text-prev {
  border-right: 1px solid var(--extra-medium-gray);
  padding-right: 50px;
}

.swiper-button-next.slider-custom-text-next {
  border-left: 1px solid var(--extra-medium-gray);
  padding-left: 50px;
}

/* Swiper width auto */
.swiper-width-auto .swiper-slide {
  width: auto;
}

/* Slider shadow */
.slider-shadow-right {
  mask-image: linear-gradient(to right, transparent 0%, #000000 0%, #000000 50%, transparent 80%);
  -webkit-mask-image: linear-gradient(to right, transparent 0%, #000000 0%, #000000 50%, transparent 80%);
}

.slider-shadow-left {
  mask-image: linear-gradient(to right, transparent 50%, #000000 80%, #000000 0%, transparent 0%);
  -webkit-mask-image: linear-gradient(to right, transparent 50%, #000000 80%, #000000 0%, transparent 0%);
}

.slider-shadow-left-right {
  mask-image: linear-gradient(to right, transparent 18%, #000000 22%, #000000 78%, transparent 82%);
  -webkit-mask-image: linear-gradient(to right, transparent 18%, #000000 22%, #000000 78%, transparent 82%);
}

.slider-shadow-none .swiper {
  mask-image: none !important;
  -webkit-mask-image: none !important;
}

/* Highlight separator */
.highlight-separator {
  position: relative;
  padding-bottom: 20px;
}

.highlight-separator[data-shadow-animation] {
  box-shadow: none !important;
  display: inline-block;
}

.highlight-separator[data-shadow-animation] span {
  clip-path: inset(0px 100% 0px 0px);
  float: left;
  width: 100%;
  height: 20px;
  transition: clip-path 1s;
  transition-timing-function: cubic-bezier(0.4, 0.6, 0.4, 1);
  position: absolute;
  left: 0;
  bottom: 0;
}

.highlight-separator[data-shadow-animation] span img {
  position: absolute;
  left: 0;
  bottom: 0;
  transition: none;
  width: 100%;
  height: 14px;
}

.highlight-separator.shadow-in[data-shadow-animation] span {
  clip-path: inset(0px 0 0px 0px);
}

/* Full screen */
.full-screen {
  height: 100vh;
}

.full-screen.top-space-margin {
  height: calc(100vh - 96px);
}

/* Video icons */
@-webkit-keyframes video-icon-sonar {
  0% {
    opacity: 1;
    -webkit-transform: scale(0.1);
    transform: scale(0.1);
  }

  100% {
    opacity: 0;
    -webkit-transform: scale(1.1);
    transform: scale(1.1);
  }
}

@keyframes video-icon-sonar {
  0% {
    opacity: 1;
    -webkit-transform: scale(0.1);
    transform: scale(0.1);
  }

  100% {
    opacity: 0;
    -webkit-transform: scale(1.1);
    transform: scale(1.1);
  }
}

.video-icon-box {
  z-index: 1;
}

.video-icon-box>span {
  display: -webkit-inline-box;
  display: inline-flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  flex-flow: row wrap;
  -webkit-box-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

/* HTML video play */
.html-video-play .video-icon .play-icon,
.html-video-play .video-icon .pause-icon {
  position: absolute;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}

.html-video-play .video-icon .play-icon,
.html-video-play .video-icon .pause-icon {
  opacity: 1;
  top: 50%;
  padding-left: 5px;
  visibility: visible;
  -webkit-transition: all 0.4s linear;
  transition: all 0.4s linear;
}

.html-video-play .video-icon .pause-icon {
  top: 100%;
  padding-left: 0;
  opacity: 0;
}

.html-video-play[playing=true] .video-icon .pause-icon {
  top: 50%;
  opacity: 1;
}

.html-video-play[playing=true] .video-icon .play-icon {
  top: 0%;
  opacity: 0;
}

.video-play-icon {
  z-index: 1 !important;
}

.video-play-icon.remove-play-icon+.html-video-play {
  opacity: 0 !important;
}

.video-play-icon.remove-play-icon+.html-video-play:hover {
  opacity: 1 !important;
}

.video-play-icon.remove-play-icon:hover+.html-video-play {
  opacity: 1 !important;
}

.video-icon {
  position: relative;
  display: -webkit-inline-box;
  display: inline-flex;
  -webkit-box-align: center;
  align-items: center;
  -webkit-box-pack: center;
  justify-content: center;
  border-radius: 50%;
}

.video-icon i {
  margin-left: 5px;
}

.video-icon .video-icon-sonar {
  position: absolute;
  width: 100%;
  height: 100%;
  border-radius: 50%;
  top: 0;
  left: 0;
  z-index: -10;
  -webkit-animation: video-icon-sonar 2s linear infinite;
  animation: video-icon-sonar 2s linear infinite;
}

.video-icon .video-icon-sonar .video-icon-sonar-bfr {
  content: "";
  position: absolute;
  border-radius: 50%;
  top: -25px;
  left: -25px;
  z-index: -100;
}

.video-icon .video-icon-sonar .video-icon-sonar-afr {
  content: "";
  position: absolute;
  border-radius: 50%;
  top: -10px;
  left: -10px;
  z-index: -50;
}

.video-icon-small .video-icon {
  width: 40px;
  height: 40px;
  font-size: 11px;
}

.video-icon-small .video-icon .video-icon-sonar .video-icon-sonar-bfr {
  top: -15px;
  left: -15px;
  width: 70px;
  height: 70px;
}

.video-icon-small .video-icon .video-icon-sonar .video-icon-sonar-afr {
  top: 0px;
  left: 0px;
  width: 40px;
  height: 40px;
}

.video-icon-medium .video-icon {
  width: 50px;
  height: 50px;
  font-size: 14px;
}

.video-icon-medium .video-icon .video-icon-sonar .video-icon-sonar-bfr {
  width: 100px;
  height: 100px;
}

.video-icon-medium .video-icon .video-icon-sonar .video-icon-sonar-afr {
  width: 70px;
  height: 70px;
}

.video-icon-large.video-icon-box .video-icon i {
  margin-left: 5px;
}

.video-icon-large .video-icon {
  width: 85px;
  height: 85px;
  font-size: 20px;
}

.video-icon-large .video-icon .video-icon-sonar .video-icon-sonar-bfr {
  width: 135px;
  height: 135px;
}

.video-icon-large .video-icon .video-icon-sonar .video-icon-sonar-afr {
  width: 105px;
  height: 105px;
}

.video-icon-extra-large.video-icon-box .video-icon i {
  margin-left: 10px;
}

.video-icon-extra-large .video-icon {
  width: 120px;
  height: 120px;
  font-size: 30px;
}

.video-icon-extra-large .video-icon .video-icon-sonar .video-icon-sonar-bfr {
  width: 170px;
  height: 170px;
}

.video-icon-extra-large .video-icon .video-icon-sonar .video-icon-sonar-afr {
  width: 140px;
  height: 140px;
}

/* Will change */
.will-change-transform * {
  will-change: transform;
}

.will-change-inherit * {
  will-change: inherit !important;
}

.animation-rotation {
  -webkit-animation: rotation 8s infinite linear;
}

@-webkit-keyframes rotation {
  from {
    -webkit-transform: rotate(0deg);
  }

  to {
    -webkit-transform: rotate(359deg);
  }
}

/* Float animation */
.animation-float {
  animation: float 2000ms linear 500ms infinite alternate both;
}

@keyframes float {
  0% {
    transform: translateY(0px);
  }

  50% {
    transform: translateY(15px);
  }

  100% {
    transform: translateY(30px);
  }
}

.animation-float-small {
  animation: float 2000ms linear 500ms infinite alternate both;
}

@keyframes float {
  0% {
    transform: translateY(0px);
  }

  50% {
    transform: translateY(5px);
  }

  100% {
    transform: translateY(10px);
  }
}

/* Zoom animation */
.animation-zoom {
  animation: zoom-in-zoom-out 2000ms linear 500ms infinite alternate both;
}

@keyframes zoom-in-zoom-out {
  0% {
    transform: scale(1, 1);
  }

  50% {
    transform: scale(1.2, 1.2);
  }

  100% {
    transform: scale(1, 1);
  }
}

/* Box shadow animation  */
[data-shadow-animation] {
  box-shadow: 0 0 0 rgba(0, 0, 0, 0.1);
  transition: box-shadow 0.5s cubic-bezier(0.7, 0, 0.3, 1);
}

[data-shadow-animation].shadow-in {
  box-shadow: 0 20px 100px rgba(0, 0, 0, 0.1);
}

[data-shadow-animation].shadow-in img {
  opacity: 1;
  transition-delay: 0.35s;
}

[data-shadow-animation] img {
  opacity: 0;
  transition: opacity 0.65s cubic-bezier(0.5, 1, 0.5, 1);
}

/* Parallax liquid  */
[data-parallax-liquid] {
  overflow: hidden;
  will-change: transform;
  -webkit-transform: translateY(0);
  transform: translateY(0);
  transition: transform 0.8s cubic-bezier(0.23, 1, 0.32, 1);
}

[data-parallax-liquid] .liquid-parallax {
  will-change: transform;
  transition: transform 0.8s cubic-bezier(0.23, 1, 0.32, 1);
  transform: translateY(0px) scale(1.201);
  position: relative;
  top: 50px;
}

/* Masked image animation */
.masked-image {
  position: absolute;
  top: -100px;
  right: 0;
}

.masked-image svg {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  -o-object-fit: cover;
  object-fit: cover;
}

.masked-image figure {
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}

.masked-image img {
  width: 100%;
  height: auto;
  visibility: visible;
}

/* Shape image animation */
.shape-image-animation {
  position: absolute;
  bottom: 0;
  left: 0;
}

.shape-image-animation svg {
  height: 100%;
  width: 100%;
}

.shape-image-animation svg path {
  width: 100%;
}

.page-divider-wrapper {
  margin-bottom: -1px;
}

.page-divider-wrapper svg {
  width: 100%;
  margin-bottom: -3px;
}

/* Magic cursor */
.magic-cursor {
  cursor: none;
}

#ball-cursor {
  position: fixed;
  width: 70px;
  height: 70px;
  border: 0 !important;
  background-color: var(--dark-gray);
  box-shadow: 0 0 50px rgba(0, 0, 0, 0.25);
  border-radius: 100%;
  opacity: 0 !important;
  overflow: hidden;
  transition: opacity 0.3s ease-in-out 0.1s;
  text-align: center;
}

#ball-cursor:before,
#ball-cursor:after {
  content: "\e843";
  font-family: feather !important;
  color: var(--white);
  font-size: 20px;
  line-height: 70px;
  position: absolute;
  left: 12px;
  top: 0px;
}

#ball-cursor:after {
  content: "\e844";
  right: 12px;
  left: auto;
}

.magic-cursor-wrapper {
  position: absolute;
  left: 0;
  top: 0;
  width: 30px;
  height: 30px;
  pointer-events: none;
  z-index: 10000;
  transition: opacity 0.2s ease-in-out 0.2s;
}

.magic-cursor-wrapper.sliderhover #ball-cursor {
  opacity: 1 !important;
}

.magic-cursor-wrapper.vertical #ball-cursor:before,
.magic-cursor-wrapper.vertical #ball-cursor:after {
  content: "\e845";
  left: 50%;
  top: 10px;
  line-height: normal;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
}

.magic-cursor-wrapper.vertical #ball-cursor:after {
  content: "\e842";
  right: auto;
  bottom: 10px;
  top: auto;
}

@media (hover: none) {
  .magic-cursor-wrapper {
    display: none;
  }
}

.magic-cursor-light #ball-cursor {
  background-color: var(--white);
}

.magic-cursor-light #ball-cursor:before {
  color: var(--dark-gray);
}

.magic-cursor-light #ball-cursor:after {
  color: var(--dark-gray);
}

.magic-cursor-base-color #ball-cursor {
  background-color: var(--base-color);
}

.magic-cursor-base-color #ball-cursor:before {
  color: var(--white);
}

.magic-cursor-base-color #ball-cursor:after {
  color: var(--white);
}

.magic-view-cursor #ball-cursor {
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  background-color: rgba(0, 0, 0, 0.2);
  width: 180px;
  height: 180px;
  box-shadow: none;
}

.magic-view-cursor #ball-cursor:after {
  display: none;
}

.magic-view-cursor #ball-cursor:before {
  content: "Explore";
  font-size: 16px;
  color: var(--white) !important;
  font-weight: 400;
  font-family: var(--alt-font) !important;
  text-shadow: 0 0 20px rgba(0, 0, 0, 0.9);
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.magic-drag-cursor #ball-cursor {
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  background-color: rgba(0, 0, 0, 0.2);
  width: 140px;
  height: 140px;
  box-shadow: none;
}

.magic-drag-cursor #ball-cursor:after {
  display: none;
}

.magic-drag-cursor #ball-cursor:before {
  content: "< DRAG >";
  font-size: 14px;
  color: var(--white) !important;
  font-weight: 600;
  font-family: var(--alt-font) !important;
  text-shadow: 0 0 20px rgba(0, 0, 0, 0.9);
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  word-spacing: 4px;
  width: inherit;
}

.magic-drag-cursor.magic-cursor-light #ball-cursor {
  background-color: rgba(255, 255, 255, 0.2);
}

.magic-drag-cursor.magic-cursor-light #ball-cursor:before {
  color: var(--dark-gray);
}

.magic-drag-cursor.magic-cursor-light #ball-cursor:after {
  color: var(--dark-gray);
}

.magic-round-cursor #ball-cursor {
  -webkit-backdrop-filter: blur(6px);
  backdrop-filter: blur(6px);
  background-color: rgba(0, 0, 0, 0.2);
  width: 220px;
  height: 220px;
  box-shadow: none;
}

.magic-round-cursor #ball-cursor:before {
  display: none;
}

.magic-round-cursor #ball-cursor:after {
  display: none;
}

/* Anime animation */
[data-anime] {
  opacity: 0;
  transition: none;
}

[data-anime].appear {
  opacity: 1;
}

[data-anime].btn {
  transition: none;
}

[data-anime].btn.anime-complete {
  -webkit-transition: all 300ms ease-in-out;
  transition: all 300ms ease-in-out;
}

/* Atropos box */
.atropos-shadow {
  background-color: transparent !important;
  filter: inherit;
}

.atropos-highlight {
  background-image: inherit !important;
}

/* Only for safari browser */
@media not all and (min-resolution: 0.001dpcm) {
  [data-anime] [class*=text-shadow-] {
    text-shadow: none;
  }

  [data-anime][class*=text-shadow-] {
    text-shadow: none;
  }

  [data-fancy-text] [class*=text-shadow-] {
    text-shadow: none;
  }

  [data-fancy-text][class*=text-shadow-] {
    text-shadow: none;
  }

  /* font awesome icon gradient color */
  .review-star-icon i {
    display: inline;
  }
}

@media screen and (-webkit-min-device-pixel-ratio: 0) {

  /* color issue */
  .text-white a[href^=tel] {
    color: var(--white);
  }

  .text-dark-gray a[href^=tel] {
    color: var(--text-dark-gray);
  }
}

.swiper-slide [data-fancy-text] {
  opacity: 0;
}

.swiper-slide [data-fancy-text].appear {
  opacity: 1;
}

.swiper-slide.swiper-slide-active [data-fancy-text] {
  opacity: 1;
}

.swiper-slide.swiper-slide-active [data-anime] {
  opacity: 1;
}

.swiper-slide [data-anime] {
  opacity: 0;
  transition: 0.3s ease-in-out;
}

.no-animation .anime-text .whitespace {
  display: inline-block;
}

.no-animation .anime-text .whitespace::after {
  content: "r";
  opacity: 0;
  font-size: 70%;
}

.no-animation [data-anime],
.no-animation [data-fancy-text] {
  opacity: 1;
  transition: none;
}

/* Data top bottom transition animation */
[data-top-bottom] {
  transition: transform 0.65s cubic-bezier(0.23, 1, 0.32, 1);
}

/* Custom cursor */
@media (hover: hover) and (pointer: fine) {
  .custom-cursor .circle-cursor {
    position: fixed;
    left: 0;
    top: 0;
    pointer-events: none;
    -webkit-border-radius: 50%;
    border-radius: 50%;
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
    visibility: hidden;
    opacity: 0;
    transition: opacity 0.65s cubic-bezier(0.23, 1, 0.32, 1);
  }

  .custom-cursor .circle-cursor-inner {
    margin-left: -3px;
    margin-top: -3px;
    width: 6px;
    height: 6px;
    z-index: 10000001;
    background-color: var(--base-color);
  }

  .custom-cursor .circle-cursor-inner.cursor-link-hover {
    margin-left: -10px;
    margin-top: -10px;
    width: 20px;
    height: 20px;
    background-color: var(--base-color);
    opacity: 0.8;
  }

  .custom-cursor .circle-cursor-outer {
    margin-left: -15px;
    margin-top: -15px;
    width: 30px;
    height: 30px;
    border: 1px solid var(--base-color);
    z-index: 10000000;
    opacity: 0.8;
    -webkit-transition: 0.1s;
    transition: 0.1s;
  }

  .custom-cursor .cursor-link.circle-cursor-inner .cursor-link-hover {
    opacity: 1;
  }
}

.is-touchable .cursor-page-inner {
  display: none !important;
}

/* Stack box */
.stack-box {
  position: relative;
  z-index: 1;
  height: 300vh;
}

.stack-box .stack-box-contain {
  height: 100vh;
  position: -webkit-sticky;
  position: sticky;
  top: 0;
}

.stack-box .stack-item {
  height: 100vh;
  width: 100%;
  position: absolute;
  overflow: hidden;
  z-index: 999;
  display: flex;
  align-items: center;
}

.stack-box .stack-item.stack-item-02 {
  z-index: 99;
}

.stack-box .stack-item.stack-item-03 {
  z-index: 9;
}

.stack-box .stack-item .stack-item-wrapper {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: -1;
  display: flex;
  align-items: center;
  height: 100vh;
}

.transform-3d {
  transform: translate3d(0px, 0px, 100px);
}

/* Scrolling text */
.marquees-text {
  -webkit-transform: translateX(100%);
  transform: translateX(100%);
  -webkit-animation: example1 50s linear infinite;
  animation: example1 50s linear infinite;
  width: 100%;
}

.looping-wrapper {
  position: absolute;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  width: 1px;
  height: 100vh;
  left: 50%;
  top: 0;
}

.looping-wrapper .el {
  position: absolute;
  opacity: 1;
  width: 2px;
  height: 24vh;
  margin-top: -18vh;
  transform-origin: 50% 100%;
  background: var(--base-color);
}

.looping-wrapper-gray {
  position: absolute;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  width: 1px;
  height: 100vh;
  left: 50%;
  top: 0;
}

.looping-wrapper-gray .el {
  position: absolute;
  opacity: 1;
  width: 2px;
  height: 24vh;
  margin-top: -18vh;
  transform-origin: 50% 100%;
  background: #292929;
}

/* Marquee slide */
.marquee-slide {
  -webkit-transition-timing-function: linear !important;
  transition-timing-function: linear !important;
  position: relative;
}

/* Father shadow */
.feather-shadow {
  mask-image: linear-gradient(to right, transparent 0%, #000000 20%, #000000 80%, transparent 100%);
  -webkit-mask-image: linear-gradient(to right, transparent 0%, #000000 20%, #000000 80%, transparent 100%);
}

/* Text sliding line */
.text-sliding-line {
  display: inline-block;
  position: relative;
  padding: 0;
  z-index: 1;
  background-image: linear-gradient(135deg, transparent 45%, var(--white) 45%, var(--white) 55%, transparent 0);
  background-size: 4px 4px;
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

/* Sliding line */
.bg-sliding-line {
  background-image: linear-gradient(45deg, transparent 45%, var(--white) 45%, var(--white) 55%, transparent 0);
  background-size: 0.1em 0.1em;
}

/* Feature box slider */
.feature-box-slider .feature-box {
  display: flex;
  flex-direction: row;
  align-items: center;
  padding: 24px 40px;
  background: var(--white);
  box-shadow: 0 5px 25px rgba(89, 101, 124, 0.15);
  border-radius: 10px;
  color: var(--dark-gray);
  font-weight: 500;
  font-size: 17px;
}

.feature-box-slider .feature-box i {
  font-size: 24px;
  margin-right: 10px;
}

.feature-box-slider .swiper-slide {
  width: auto;
  padding-top: 15px;
  padding-bottom: 15px;
}

/* Page loader */
.page-loader {
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  background-color: var(--white) !important;
  opacity: 1 !important;
  z-index: 99999;
}

.page-loader::after {
  background: 0 0;
  content: "" !important;
  position: absolute;
  left: calc(50% - 25px) !important;
  top: calc(50% - 25px) !important;
  width: 50px !important;
  height: 50px !important;
  opacity: 1 !important;
  right: inherit !important;
  z-index: 9;
  text-align: center;
  border: 2px solid rgba(23, 23, 23, 0.2);
  border-top-color: rgba(23, 23, 23, 0.7);
  border-radius: 50%;
  -webkit-animation: rotation 8s infinite linear;
  animation: rotation 1.5s infinite linear;
}

/* Cookie message */
.cookie-message {
  position: fixed;
  bottom: 20px;
  right: 20px;
  max-width: 370px;
  z-index: 999999;
  padding: 40px;
  display: none;
}

/* Scroll progress */
.scroll-progress {
  position: fixed;
  right: 20px;
  z-index: 111;
  top: 50%;
  -webkit-transition: all 0.3s linear;
  transition: all 0.3s linear;
  opacity: 0;
  visibility: hidden;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  mix-blend-mode: difference;
}

.scroll-progress.visible {
  opacity: 1;
  visibility: visible;
}

.scroll-progress .scroll-top {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

.scroll-progress .scroll-line {
  width: 2px;
  height: 60px;
  position: relative;
  background-color: rgba(255, 255, 255, 0.15);
  color: inherit;
  display: block;
}

.scroll-progress .scroll-point {
  display: inline-block;
  width: 2px;
  position: absolute;
  background-color: var(--white);
  top: 0px;
  left: 0px;
}

.scroll-progress .scroll-text {
  -webkit-transform: rotate(180deg);
  transform: rotate(180deg);
  writing-mode: vertical-lr;
  margin-bottom: 15px;
  color: var(--white);
  font-size: 11px;
  text-transform: uppercase;
}

.scroll-progress.scroll-simple {
  position: fixed;
  right: 50px;
  z-index: 111;
  top: auto;
  transform: none;
  bottom: 50px;
  mix-blend-mode: inherit;
}

.scroll-progress.scroll-simple .scroll-top {
  background: var(--white);
  font-size: 17px;
  line-height: 34px;
  box-shadow: 0 0 25px rgba(23, 23, 23, 0.25);
  height: 34px;
  width: 34px;
  padding: 0;
  border-radius: 100%;
}

/* for buy and demo button */
.theme-demos {
  display: none;
  width: 100%;
  height: 100%;
  min-height: 100%;
  position: fixed;
  background-color: var(--white);
  right: -100%;
  top: 0;
  z-index: 1050;
  -webkit-transition: all 0.5s cubic-bezier(0.77, 0, 0.175, 1);
  transition: all 0.5s cubic-bezier(0.77, 0, 0.175, 1);
}

.theme-demos section {
  height: 100%;
  min-height: 100%;
  position: relative;
  z-index: 11;
  padding: 0;
  width: 100%;
  overflow-y: scroll;
  background-color: var(--very-light-gray);
}

.theme-demos .demos-wrapper {
  width: 100%;
}

.theme-demos .demos-wrapper .demos-wrapper-inner {
  padding: 60px 50px;
}

.theme-demos.active {
  -webkit-transform: translateX(-100%);
  transform: translateX(-100%);
  box-shadow: 0 0 45px 0 rgba(0, 0, 0, 0.25);
}

.theme-demos .grid {
  padding: 0 20px;
  display: flex;
  flex-wrap: wrap;
}

.theme-demos .demo-button-wrapper {
  width: auto;
  white-space: nowrap;
  position: absolute;
  right: 100%;
  display: block;
  bottom: 250px;
  cursor: pointer;
  z-index: 10;
  -webkit-transform: rotate(-90deg) translateY(-100%);
  -ms-transform: rotate(-90deg) translateY(-100%);
  transform: rotate(-90deg) translateY(-100%);
  -webkit-transform-origin: 100% 0% 0;
  -ms-transform-origin: 100% 0% 0;
  transform-origin: 100% 0% 0;
  margin-right: -1px;
  display: flex;
}

.theme-demos .buy-theme a,
.theme-demos .all-demo a {
  color: var(--dark-gray);
  font-size: 11px;
  padding: 15px;
  display: block;
  text-decoration: none;
  font-weight: 500;
}

.theme-demos .buy-theme a>i,
.theme-demos .all-demo a>i {
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  width: 59px;
  line-height: 55px;
  text-align: center;
  opacity: 0;
  font-size: 24px;
  transition-delay: 0.3s;
}

.theme-demos .all-demo {
  background-color: #1f242e;
}

.theme-demos .all-demo .theme-wrapper {
  padding: 0 9px;
  position: relative;
  top: 0;
  opacity: 1;
  transition-delay: 0.3s;
  line-height: 0;
}

.theme-demos .all-demo .theme-wrapper>div {
  display: inline-block;
  vertical-align: middle;
  font-size: 15px;
  line-height: 15px;
  color: var(--white);
  font-size: 14px;
  text-transform: uppercase;
  line-height: 21px;
}

.theme-demos .buy-theme {
  text-align: center;
  background-color: #48a133;
  position: relative;
  z-index: 1;
}

.theme-demos .buy-theme .theme-wrapper {
  padding: 0;
  position: relative;
  top: 0;
  opacity: 1;
  transition-delay: 0.3s;
  line-height: 0;
}

.theme-demos .buy-theme .theme-wrapper span {
  font-size: 15px;
  font-weight: 600;
  margin-right: 0;
}

.theme-demos .buy-theme .theme-wrapper i {
  margin-right: 10px;
  font-size: 21px;
}

.theme-demos .buy-theme .theme-wrapper>div svg {
  margin: 0;
}

.theme-demos .mCustomScrollBox {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
}

.theme-demos .mCustomScrollBox .mCSB_container {
  width: 100%;
  -ms-flex-item-align: start;
  align-self: flex-start;
  margin: 0;
  padding-right: 15px !important;
}

.theme-demos .mCustomScrollBox .mCSB_container.mCS_y_hidden.mCS_no_scrollbar_y {
  -ms-flex-item-align: center;
  align-self: center;
}

.theme-demos .mCustomScrollBox .mCSB_draggerRail {
  display: none;
}

.theme-demos .clearfix {
  clear: both;
}

.theme-demos .portfolio-wrapper .grid-item {
  flex: 0 0 auto;
}

.theme-demos .close-popup {
  position: absolute;
  top: 10px;
  right: 10px;
  z-index: 99;
  cursor: pointer;
  -webkit-transition: -webkit-transform 0.3s ease;
  -ms-transition: -ms-transform 0.3s ease;
  transition: transform 0.3s ease;
  -webkit-transform-origin: 50% 50%;
  -ms-transform-origin: 50% 50%;
  transform-origin: 50% 50%;
}

.theme-demos .close-popup:hover {
  -webkit-transform: rotate(-180deg);
  -ms-transform: rotate(-180deg);
  transform: rotate(-180deg);
}

.show-search-popup .theme-demos .theme-demos,
.show-search-popup .show-menu .theme-demos {
  z-index: 1;
}

/* Move it (define the animation) */
@-moz-keyframes example1 {
  0% {
    -moz-transform: translateX(100%);
  }

  100% {
    -moz-transform: translateX(-100%);
  }
}

@-webkit-keyframes example1 {
  0% {
    -webkit-transform: translateX(100%);
  }

  100% {
    -webkit-transform: translateX(-100%);
  }
}

@keyframes example1 {
  0% {
    -moz-transform: translateX(100%);
    /* Firefox bug fix */
    -webkit-transform: translateX(100%);
    /* Firefox bug fix */
    transform: translateX(100%);
  }

  100% {
    -moz-transform: translateX(-100%);
    /* Firefox bug fix */
    -webkit-transform: translateX(-100%);
    /* Firefox bug fix */
    transform: translateX(-100%);
  }
}

/* ===================================
    06. Background and border
====================================== */
/* Background color */
.bg-base-color {
  background-color: var(--base-color);
}

.bg-dark-gray,
.bg-dark-gray:focus {
  background-color: var(--dark-gray);
}

.bg-black {
  background-color: var(--black);
}

.bg-medium-gray {
  background-color: var(--medium-gray);
}

.bg-light-medium-gray {
  background-color: var(--light-medium-gray);
}

.bg-extra-medium-gray {
  background-color: var(--extra-medium-gray);
}

.bg-light-gray {
  background-color: var(--light-gray);
}

.bg-very-light-gray {
  background-color: var(--very-light-gray);
}

.bg-red {
  background-color: var(--red);
}

.bg-light-red {
  background-color: var(--light-red);
}

.bg-green {
  background-color: var(--green);
}

.bg-crusoe-green {
  background-color: var(--crusoe-green);
}

.bg-yellow {
  background-color: var(--yellow);
}

.bg-charcoal-blue {
  background-color: var(--charcoal-blue);
}

.bg-slate-blue {
  background-color: var(--slate-blue);
}

.bg-medium-slate-blue {
  background-color: var(--medium-slate-blue);
}

.bg-extra-medium-slate-blue {
  background-color: var(--extra-medium-slate-blue);
}

.bg-dark-slate-blue {
  background-color: var(--dark-slate-blue);
}

.bg-extra-dark-slate-blue {
  background-color: var(--extra-dark-slate-blue);
}

.bg-extra-very-slate-blue {
  background-color: var(--extra-very-slate-blue);
}

.bg-tussock-yellow {
  background-color: var(--tussock-yellow);
}

.bg-solitude-blue {
  background-color: var(--solitude-blue);
}

.bg-aluminium-grey {
  background-color: var(--aluminium-grey);
}

.bg-selago {
  background-color: var(--selago);
}

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

.bg-golden-yellow {
  background-color: var(--golden-yellow);
}

.bg-jade {
  background-color: var(--jade);
}

.bg-orange {
  background-color: var(--orange);
}

.bg-light-majorelle-blue {
  background-color: var(--light-majorelle-blue);
}

.bg-majorelle-blue {
  background-color: var(--majorelle-blue);
}

.bg-spring-wood {
  background-color: var(--spring-wood);
}

.bg-tropical-blue {
  background-color: var(--tropical-blue);
}

.bg-cornflower-blue {
  background-color: var(--cornflower-blue);
}

.bg-camarone {
  background-color: var(--camarone);
}

.bg-seal-brown {
  background-color: var(--seal-brown);
}

.bg-Wasabi {
  background-color: var(--Wasabi);
}

/* Gradient background color */
.bg-gradient-light-pink-light-orange {
  background-image: linear-gradient(to right top, #ffafbd, #ffb3b4, #ffb7ac, #ffbda5, #ffc3a0);
}

.bg-gradient-purple-pink {
  background-image: linear-gradient(to right top, #8b14b1, #ab019e, #c00c8b, #cd267b, #d53d6e);
}

.bg-gradient-fast-pink-light-yellow {
  background-image: linear-gradient(to right top, #f7567f, #fe7177, #ff8a74, #ffa378, #ffba83);
}

.bg-gradient-pink-orange {
  background-image: linear-gradient(to right top, #de347f, #e73a70, #ed4461, #f05152, #ef5f43);
}

.bg-gradient-fast-blue-purple {
  background-image: linear-gradient(to right top, #2a46f4, #5f42f9, #833cfc, #a233fe, #bf25ff);
}

.bg-gradient-light-pink-light-purple {
  background-image: linear-gradient(to right top, #ed579b, #e855ad, #df57c0, #d15cd4, #bc63e8);
}

.bg-gradient-purple-magento {
  background-image: linear-gradient(to right top, #5553e1, #a34dcc, #ce4fb5, #e75ca1, #f47291);
}

.bg-gradient-blue-green {
  background-image: linear-gradient(to right top, #18cdbb, #22d2ae, #3cd69d, #57da89, #73dc73);
}

.bg-gradient-light-purple-light-orange {
  background-image: linear-gradient(to right top, #b783ff, #e37be0, #fa7cc1, #ff85a6, #ff9393);
}

.bg-gradient-sky-blue-pink {
  background-image: linear-gradient(to right top, #5758df, #a553cb, #d055b5, #ea63a0, #f77991);
}

.bg-gradient-dark-gray-brown {
  background-image: linear-gradient(to right top, #0f130f, #1e1d15, #3d2f20, #4e3b27, #664a2f);
}

.bg-gradient-tan-geraldine {
  background-image: linear-gradient(to right top, #fb7f87, #fc8a82, #fb957f, #fa9f7f, #f7aa80);
}

.bg-gradient-very-light-gray {
  background-image: linear-gradient(to bottom, #f7f8f9, #f9fafb, #fbfbfc, #fdfdfd, #ffffff);
}

.bg-gradient-top-very-light-gray {
  background-image: linear-gradient(to top, #f7f7f7, #f7f7f7, #fcfafa, #fcfafa, #ffffff);
}

.bg-gradient-orange-transparent {
  background: linear-gradient(to right, rgb(233, 117, 34) 10%, rgba(255, 255, 255, 0) 95%);
}

.bg-gradient-blue-transparent {
  background: linear-gradient(to right, rgb(30, 163, 177) 10%, rgba(255, 255, 255, 0) 95%);
}

.bg-gradient-emerald-blue-emerald-green {
  background-image: linear-gradient(50deg, #09afea 0, #19e089 100%);
}

.bg-gradient-very-ghost-white {
  background-image: linear-gradient(to bottom, #f4f6ff, #f7f8ff, #fafaff, #fdfdff, #ffffff);
}

/* Transparent background color */
.bg-transparent {
  background-color: transparent;
}

.bg-gradient-fast-blue-purple-transparent {
  background-image: linear-gradient(to right top, rgb(42, 70, 244), rgba(95, 66, 249, 0.9), rgba(131, 60, 252, 0.9), rgba(162, 51, 254, 0.9), rgba(191, 37, 255, 0.9));
}

.bg-gradient-fast-pink-light-yellow-transparent {
  background-image: linear-gradient(to right top, rgba(247, 86, 127, 0.9), rgba(254, 113, 119, 0.9), rgba(255, 138, 116, 0.9), rgba(255, 163, 120, 0.9), rgba(255, 186, 131, 0.9));
}

.bg-gradient-sky-blue-pink-transparent {
  background-image: linear-gradient(to right top, rgba(87, 88, 223, 0.9), rgba(165, 83, 203, 0.9), rgba(208, 85, 181, 0.9), rgba(234, 99, 160, 0.9), rgba(247, 121, 145, 0.9));
}

.bg-gradient-gray-light-dark-transparent {
  background-image: -webkit-gradient(linear, left bottom, left top, from(rgba(32, 35, 41, 0.8)), to(transparent));
  background-image: linear-gradient(to top, rgba(32, 35, 41, 0.8) 0%, transparent 100%);
}

.bg-gradient-dark-transparent {
  background: -webkit-gradient(linear, left bottom, left top, color-stop(7%, #141622), to(transparent));
  background: linear-gradient(to top, #141622 7%, transparent 100%);
}

.bg-gradient-dark-gray-left-transparent {
  background: -webkit-linear-gradient(right, rgba(24, 25, 28, 0.5), rgba(255, 255, 255, 0));
  background: linear-gradient(to right, rgba(24, 25, 28, 0.5), rgba(255, 255, 255, 0));
}

.bg-gradient-white-transparent {
  background: linear-gradient(to top, #ffffff 20%, rgba(255, 255, 255, 0) 80%);
}

.bg-gradient-white-dark-transparent {
  background: -webkit-gradient(linear, left bottom, left top, color-stop(35%, #ffffff), to(transparent));
  background: linear-gradient(to top, #ffffff 30%, rgba(255, 255, 255, 0) 70%);
}

.bg-gradient-white-bottom-transparent {
  background: rgb(0, 0, 0);
  background: linear-gradient(0deg, rgba(0, 0, 0, 0) 0%, rgb(255, 255, 255) 60%);
}

.bg-gradient-black-bottom-transparent {
  background: rgb(255, 255, 255);
  background: linear-gradient(0deg, rgba(255, 255, 255, 0) 0%, rgba(0, 0, 0, 0.6) 100%);
}

.bg-gradient-solitude-blue-transparent {
  background: -webkit-linear-gradient(bottom, rgb(240, 244, 253), rgba(255, 255, 255, 0));
  background: linear-gradient(to top, rgb(240, 244, 253), rgba(255, 255, 255, 0));
}

.bg-gradient-extra-midium-gray-transparent {
  background: -webkit-gradient(left top, left bottom, color-stop(50%, rgba(0, 0, 0, 0.5)), color-stop(150%, rgba(20, 20, 20, 0.3)));
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 50%, rgba(20, 20, 20, 0.3) 150%);
}

.bg-dark-gray-transparent {
  background-color: rgba(35, 35, 35, 0.8);
}

.bg-dark-gray-transparent-light {
  background-color: rgba(35, 35, 35, 0.2);
}

.bg-dark-gray-transparent-medium {
  background-color: rgba(35, 35, 35, 0.4);
}

.bg-medium-gray-transparent {
  background-color: rgba(111, 111, 111, 0.1);
}

.bg-light-gray-transparent {
  background-color: rgb(251, 251, 251);
}

.bg-medium-gray-transparent {
  background-color: rgba(136, 136, 136, 0.3);
}

.bg-black-transparent-light {
  background-color: rgba(0, 0, 0, 0.2);
}

.bg-black-transparent-medium {
  background-color: rgba(0, 0, 0, 0.5);
}

.bg-black-transparent {
  background-color: rgba(0, 0, 0, 0.8);
}

.bg-white-transparent-extra-light,
.bg-white-transparent-extra-light:focus {
  background-color: rgba(255, 255, 255, 0.1);
}

.bg-white-transparent-very-light {
  background-color: rgba(255, 255, 255, 0.2);
}

.bg-white-transparent-light {
  background-color: rgba(255, 255, 255, 0.4);
}

.bg-white-transparent {
  background-color: rgba(255, 255, 255, 0.7);
}

/* Background image */
.contain-background {
  background-size: contain;
}

.cover-background {
  background-repeat: no-repeat !important;
  background-size: cover;
  overflow: hidden;
  position: relative;
  background-position: center center !important;
}

.fix-background {
  position: relative;
  background-size: cover !important;
  -webkit-animation-duration: 0s;
  -webkit-animation-fill-mode: none;
  overflow: hidden;
  background-position: center center;
  background-repeat: no-repeat !important;
  background-attachment: fixed !important;
}

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

.background-attachment-inherit {
  background-attachment: inherit !important;
}

.background-position-left {
  background-position: left center !important;
}

.background-position-left-bottom {
  background-position: left bottom !important;
}

.background-position-left-center {
  background-position: left center !important;
}

.background-position-right {
  background-position: right center !important;
}

.background-position-right-top {
  background-position: right top !important;
}

.background-position-center-top {
  background-position: center top !important;
}

.background-position-left-top {
  background-position: left top !important;
}

.background-position-right-bottom {
  background-position: right bottom !important;
}

.background-position-center-bottom {
  background-position: center bottom 0px !important;
}

.background-repeat {
  background-repeat: repeat;
}

.background-no-repeat {
  background-repeat: no-repeat;
}

.background-no-repeat-y {
  background-repeat-y: no-repeat;
}

.background-position-center {
  background-position: center !important;
}

/* Background size */
.background-size-100 {
  background-size: 100% !important;
}

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

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

/* Border width */
.border-6 {
  border-width: 6px !important;
}

.border-7 {
  border-width: 7px !important;
}

.border-8 {
  border-width: 8px !important;
}

.border-9 {
  border-width: 9px !important;
}

.border-10 {
  border-width: 10px !important;
}

/* Border style */
.border-dotted {
  border-style: dotted !important;
}

.border-dashed {
  border-style: dashed !important;
}

.border-solid {
  border-style: solid !important;
}

.border-double {
  border-style: double !important;
}

.border-groove {
  border-style: groove !important;
}

.border-ridge {
  border-style: ridge !important;
}

.border-inset {
  border-style: inset !important;
}

.border-outset {
  border-style: outset !important;
}

.border-none {
  border-style: none !important;
}

.border-hidden {
  border-style: hidden !important;
}

/* Border color */
.border-color-base-color {
  border-color: var(--base-color) !important;
}

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

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

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

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

.border-color-very-light-gray {
  border-color: var(--very-light-gray) !important;
}

.border-color-light-medium-gray {
  border-color: var(--light-medium-gray) !important;
}

.border-color-extra-medium-gray {
  border-color: var(--extra-medium-gray) !important;
}

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

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

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

.border-color-transparent-dark-very-light {
  border-color: rgba(35, 35, 35, 0.1) !important;
}

.border-color-transparent-dark-light {
  border-color: rgba(35, 35, 35, 0.2) !important;
}

.border-color-transparent-white-very-light {
  border-color: rgba(255, 255, 255, 0.3) !important;
}

.border-color-transparent-white-light {
  border-color: rgba(255, 255, 255, 0.1) !important;
}

.border-color-transparent-white {
  border-color: rgba(255, 255, 255, 0.6) !important;
}

.border-color-transparent {
  border-color: transparent !important;
}

.border-color-transparent-on-hover:hover {
  border-color: transparent !important;
}

/* Gradient border color */
.border-gradient-light-pink-light-orange {
  border-image: linear-gradient(to right top, #ffafbd, #ffb3b4, #ffb7ac, #ffbda5, #ffc3a0);
  border-image-slice: 1;
}

.border-gradient-purple-pink {
  border-image: linear-gradient(to right, #8b14b1, #ab019e, #c00c8b, #cd267b, #d53d6e);
  border-image-slice: 1;
}

.border-gradient-fast-pink-light-yellow {
  border-image: linear-gradient(to right top, #f7567f, #fe7177, #ff8a74, #ffa378, #ffba83);
  border-image-slice: 1;
}

.border-gradient-pink-orange {
  border-image: linear-gradient(to right top, #de347f, #e73a70, #ed4461, #f05152, #ef5f43);
  border-image-slice: 1;
}

.border-gradient-fast-blue-purple {
  border-image: linear-gradient(to right top, #2a46f4, #5f42f9, #833cfc, #a233fe, #bf25ff);
  border-image-slice: 1;
}

.border-gradient-light-pink-light-purple {
  border-image: linear-gradient(to right top, #ed579b, #e855ad, #df57c0, #d15cd4, #bc63e8);
  border-image-slice: 1;
}

.border-gradient-light-green-light-perotgreen {
  border-image: linear-gradient(to right top, #5553e1, #a34dcc, #ce4fb5, #e75ca1, #f47291);
  border-image-slice: 1;
}

.border-gradient-sky-blue-pink {
  border-image: linear-gradient(to right top, #556fff, #556fff, #e05fc4, #f767a6, #ff798e);
  border-image-slice: 1;
}

/* Border radius */
.border-radius-0px {
  border-radius: 0 !important;
}

.border-radius-1px {
  border-radius: 1px !important;
}

.border-radius-2px {
  border-radius: 2px !important;
}

.border-radius-3px {
  border-radius: 3px !important;
}

.border-radius-4px {
  border-radius: 4px !important;
}

.border-radius-5px {
  border-radius: 5px !important;
}

.border-radius-6px {
  border-radius: 6px !important;
}

.border-radius-7px {
  border-radius: 7px !important;
}

.border-radius-8px {
  border-radius: 8px !important;
}

.border-radius-9px {
  border-radius: 9px !important;
}

.border-radius-10px {
  border-radius: 10px !important;
}

.border-radius-15px {
  border-radius: 15px !important;
}

.border-radius-18px {
  border-radius: 18px !important;
}

.border-radius-20px {
  border-radius: 20px !important;
}

.border-radius-22px {
  border-radius: 22px !important;
}

.border-radius-24px {
  border-radius: 24px !important;
}

.border-radius-26px {
  border-radius: 26px !important;
}

.border-radius-30px {
  border-radius: 30px !important;
}

.border-radius-40px {
  border-radius: 40px !important;
}

.border-radius-50px {
  border-radius: 50px !important;
}

.border-radius-100px {
  border-radius: 100px !important;
}

.border-radius-50 {
  border-radius: 50% !important;
}

.border-radius-100 {
  border-radius: 100% !important;
}

.no-border-radius {
  border-radius: 0 !important;
}

.border-radius-top-left {
  border-radius: 10px 0 0 10px !important;
}

/* Parallax background */
.parallax {
  position: relative !important;
  background-size: cover !important;
  overflow: hidden;
  background-attachment: fixed !important;
  transition-timing-function: none;
  -webkit-transition-timing-function: none;
  transition-duration: 0s;
  -webkit-transition-duration: 0s;
}

/* ===================================
    07. Width
====================================== */
.w-1px {
  width: 1px !important;
}

.w-2px {
  width: 2px !important;
}

.w-3px {
  width: 3px !important;
}

.w-4px {
  width: 4px !important;
}

.w-5px {
  width: 5px !important;
}

.w-6px {
  width: 6px !important;
}

.w-7px {
  width: 7px !important;
}

.w-8px {
  width: 8px !important;
}

.w-9px {
  width: 9px !important;
}

.w-10px {
  width: 10px !important;
}

.w-15px {
  width: 15px !important;
}

.w-20px {
  width: 20px !important;
}

.w-25px {
  width: 25px !important;
}

.w-30px {
  width: 30px !important;
}

.w-35px {
  width: 35px !important;
}

.w-40px {
  width: 40px !important;
}

.w-45px {
  width: 45px !important;
}

.w-50px {
  width: 50px !important;
}

.w-55px {
  width: 55px !important;
}

.w-60px {
  width: 60px !important;
}

.w-65px {
  width: 65px !important;
}

.w-70px {
  width: 70px !important;
}

.w-75px {
  width: 75px !important;
}

.w-80px {
  width: 80px !important;
}

.w-85px {
  width: 85px !important;
}

.w-90px {
  width: 90px !important;
}

.w-95px {
  width: 95px !important;
}

.w-100px {
  width: 100px !important;
}

.w-110px {
  width: 110px !important;
}

.w-120px {
  width: 120px !important;
}

.w-130px {
  width: 130px !important;
}

.w-140px {
  width: 140px !important;
}

.w-150px {
  width: 150px !important;
}

.w-160px {
  width: 160px !important;
}

.w-170px {
  width: 170px !important;
}

.w-180px {
  width: 180px !important;
}

.w-190px {
  width: 190px !important;
}

.w-200px {
  width: 200px !important;
}

.w-210px {
  width: 210px !important;
}

.w-220px {
  width: 220px !important;
}

.w-230px {
  width: 230px !important;
}

.w-240px {
  width: 240px !important;
}

.w-250px {
  width: 250px !important;
}

.w-260px {
  width: 260px !important;
}

.w-270px {
  width: 270px !important;
}

.w-280px {
  width: 280px !important;
}

.w-290px {
  width: 290px !important;
}

.w-300px {
  width: 300px !important;
}

.w-310px {
  width: 310px !important;
}

.w-320px {
  width: 320px !important;
}

.w-330px {
  width: 330px !important;
}

.w-340px {
  width: 340px !important;
}

.w-350px {
  width: 350px !important;
}

.w-360px {
  width: 360px !important;
}

.w-370px {
  width: 370px !important;
}

.w-380px {
  width: 380px !important;
}

.w-390px {
  width: 390px !important;
}

.w-400px {
  width: 400px !important;
}

.w-450px {
  width: 450px !important;
}

.w-500px {
  width: 500px !important;
}

.w-550px {
  width: 550px !important;
}

.w-600px {
  width: 600px !important;
}

.w-650px {
  width: 650px !important;
}

.w-700px {
  width: 700px !important;
}

.w-750px {
  width: 750px !important;
}

.w-800px {
  width: 800px !important;
}

.w-850px {
  width: 850px !important;
}

.w-900px {
  width: 900px !important;
}

.w-950px {
  width: 950px !important;
}

.w-1000px {
  width: 1000px !important;
}

.w-10 {
  width: 10% !important;
}

.w-15 {
  width: 15% !important;
}

.w-20 {
  width: 20% !important;
}

.w-25 {
  width: 25% !important;
}

.w-30 {
  width: 30% !important;
}

.w-35 {
  width: 35% !important;
}

.w-40 {
  width: 40% !important;
}

.w-45 {
  width: 45% !important;
}

.w-50 {
  width: 50% !important;
}

.w-55 {
  width: 55% !important;
}

.w-60 {
  width: 60% !important;
}

.w-65 {
  width: 65% !important;
}

.w-70 {
  width: 70% !important;
}

.w-75 {
  width: 75% !important;
}

.w-80 {
  width: 80% !important;
}

.w-85 {
  width: 85% !important;
}

.w-90 {
  width: 90% !important;
}

.w-95 {
  width: 95% !important;
}

.w-100 {
  width: 100% !important;
}

.w-auto {
  width: auto !important;
}

/* ===================================
    08. Height
====================================== */
.h-1px {
  height: 1px !important;
}

.h-2px {
  height: 2px !important;
}

.h-3px {
  height: 3px !important;
}

.h-4px {
  height: 4px !important;
}

.h-5px {
  height: 5px !important;
}

.h-6px {
  height: 6px !important;
}

.h-7px {
  height: 7px !important;
}

.h-8px {
  height: 8px !important;
}

.h-9px {
  height: 9px !important;
}

.h-10px {
  height: 10px !important;
}

.h-11px {
  height: 11px !important;
}

.h-12px {
  height: 12px !important;
}

.h-13px {
  height: 13px !important;
}

.h-14px {
  height: 14px !important;
}

.h-15px {
  height: 15px !important;
}

.h-20px {
  height: 20px !important;
}

.h-25px {
  height: 25px !important;
}

.h-30px {
  height: 30px !important;
}

.h-35px {
  height: 35px !important;
}

.h-40px {
  height: 40px !important;
}

.h-42px {
  height: 42px !important;
}

.h-45px {
  height: 45px !important;
}

.h-50px {
  height: 50px !important;
}

.h-55px {
  height: 55px !important;
}

.h-60px {
  height: 60px !important;
}

.h-65px {
  height: 65px !important;
}

.h-70px {
  height: 70px !important;
}

.h-75px {
  height: 75px !important;
}

.h-80px {
  height: 80px !important;
}

.h-85px {
  height: 85px !important;
}

.h-90px {
  height: 90px !important;
}

.h-95px {
  height: 95px !important;
}

.h-100px {
  height: 100px !important;
}

.h-110px {
  height: 110px !important;
}

.h-120px {
  height: 120px !important;
}

.h-130px {
  height: 130px !important;
}

.h-140px {
  height: 140px !important;
}

.h-150px {
  height: 150px !important;
}

.h-160px {
  height: 160px !important;
}

.h-170px {
  height: 170px !important;
}

.h-180px {
  height: 180px !important;
}

.h-190px {
  height: 190px !important;
}

.h-200px {
  height: 200px !important;
}

.h-210px {
  height: 210px !important;
}

.h-220px {
  height: 220px !important;
}

.h-230px {
  height: 230px !important;
}

.h-240px {
  height: 240px !important;
}

.h-250px {
  height: 250px !important;
}

.h-260px {
  height: 260px !important;
}

.h-270px {
  height: 270px !important;
}

.h-280px {
  height: 280px !important;
}

.h-290px {
  height: 290px !important;
}

.h-300px {
  height: 300px !important;
}

.h-350px {
  height: 350px !important;
}

.h-400px {
  height: 400px !important;
}

.h-450px {
  height: 450px !important;
}

.h-480px {
  height: 480px !important;
}

.h-500px {
  height: 500px !important;
}

.h-550px {
  height: 550px !important;
}

.h-580px {
  height: 580px !important;
}

.h-600px {
  height: 600px !important;
}

.h-650px {
  height: 650px !important;
}

.h-700px {
  height: 700px !important;
}

.h-750px {
  height: 750px !important;
}

.h-800px {
  height: 800px !important;
}

.h-850px {
  height: 850px !important;
}

.h-auto {
  height: auto !important;
}

/* Screen height */
.extra-very-small-screen {
  height: 250px !important;
}

.extra-small-screen {
  height: 300px !important;
}

.small-screen {
  height: 400px !important;
}

.one-half-screen {
  height: 600px !important;
}

.one-third-screen {
  height: 700px !important;
}

.one-fourth-screen {
  height: 800px !important;
}

.one-fifth-screen {
  height: 900px !important;
}

.one-sixth-screen {
  height: 1000px !important;
}

.one-seventh-screen {
  height: 1200px !important;
}

@media (prefers-reduced-motion: no-preference) {
  :root {
    scroll-behavior: auto;
  }
}

/* ===================================
    09. Loop - Padding, margin, position, font weight, min height, opacity and z-index
====================================== */
/* Padding and margin */
.p-5px {
  padding: 5px !important;
}

.p-10px {
  padding: 10px !important;
}

.p-15px {
  padding: 15px !important;
}

.p-20px {
  padding: 20px !important;
}

.p-25px {
  padding: 25px !important;
}

.p-30px {
  padding: 30px !important;
}

.p-35px {
  padding: 35px !important;
}

.p-40px {
  padding: 40px !important;
}

.p-45px {
  padding: 45px !important;
}

.p-50px {
  padding: 50px !important;
}

.p-55px {
  padding: 55px !important;
}

.p-60px {
  padding: 60px !important;
}

.p-65px {
  padding: 65px !important;
}

.p-70px {
  padding: 70px !important;
}

.p-1 {
  padding: 1% !important;
}

.p-2 {
  padding: 2% !important;
}

.p-3 {
  padding: 3% !important;
}

.p-4 {
  padding: 4% !important;
}

.p-5 {
  padding: 5% !important;
}

.p-6 {
  padding: 6% !important;
}

.p-7 {
  padding: 7% !important;
}

.p-8 {
  padding: 8% !important;
}

.p-9 {
  padding: 9% !important;
}

.p-10 {
  padding: 10% !important;
}

.p-11 {
  padding: 11% !important;
}

.p-12 {
  padding: 12% !important;
}

.p-13 {
  padding: 13% !important;
}

.p-14 {
  padding: 14% !important;
}

.p-15 {
  padding: 15% !important;
}

.p-16 {
  padding: 16% !important;
}

.p-17 {
  padding: 17% !important;
}

.p-18 {
  padding: 18% !important;
}

.p-19 {
  padding: 19% !important;
}

.p-20 {
  padding: 20% !important;
}

.p-21 {
  padding: 21% !important;
}

.p-22 {
  padding: 22% !important;
}

.p-23 {
  padding: 23% !important;
}

.p-24 {
  padding: 24% !important;
}

.p-25 {
  padding: 25% !important;
}

.p-26 {
  padding: 26% !important;
}

.p-27 {
  padding: 27% !important;
}

.p-28 {
  padding: 28% !important;
}

.p-29 {
  padding: 29% !important;
}

.p-30 {
  padding: 30% !important;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.pt-1 {
  padding-top: 1% !important;
}

.pt-2 {
  padding-top: 2% !important;
}

.pt-3 {
  padding-top: 3% !important;
}

.pt-4 {
  padding-top: 4% !important;
}

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

.pt-6 {
  padding-top: 6% !important;
}

.pt-7 {
  padding-top: 7% !important;
}

.pt-8 {
  padding-top: 8% !important;
}

.pt-9 {
  padding-top: 9% !important;
}

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

.pt-11 {
  padding-top: 11% !important;
}

.pt-12 {
  padding-top: 12% !important;
}

.pt-13 {
  padding-top: 13% !important;
}

.pt-14 {
  padding-top: 14% !important;
}

.pt-15 {
  padding-top: 15% !important;
}

.pt-16 {
  padding-top: 16% !important;
}

.pt-17 {
  padding-top: 17% !important;
}

.pt-18 {
  padding-top: 18% !important;
}

.pt-19 {
  padding-top: 19% !important;
}

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

.pt-21 {
  padding-top: 21% !important;
}

.pt-22 {
  padding-top: 22% !important;
}

.pt-23 {
  padding-top: 23% !important;
}

.pt-24 {
  padding-top: 24% !important;
}

.pt-25 {
  padding-top: 25% !important;
}

.pt-26 {
  padding-top: 26% !important;
}

.pt-27 {
  padding-top: 27% !important;
}

.pt-28 {
  padding-top: 28% !important;
}

.pt-29 {
  padding-top: 29% !important;
}

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

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

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

.pe-15px {
  padding-right: 15px !important;
}

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

.pe-25px {
  padding-right: 25px !important;
}

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

.pe-35px {
  padding-right: 35px !important;
}

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

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

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

.pe-55px {
  padding-right: 55px !important;
}

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

.pe-65px {
  padding-right: 65px !important;
}

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

.pe-1 {
  padding-right: 1% !important;
}

.pe-2 {
  padding-right: 2% !important;
}

.pe-3 {
  padding-right: 3% !important;
}

.pe-4 {
  padding-right: 4% !important;
}

.pe-5 {
  padding-right: 5% !important;
}

.pe-6 {
  padding-right: 6% !important;
}

.pe-7 {
  padding-right: 7% !important;
}

.pe-8 {
  padding-right: 8% !important;
}

.pe-9 {
  padding-right: 9% !important;
}

.pe-10 {
  padding-right: 10% !important;
}

.pe-11 {
  padding-right: 11% !important;
}

.pe-12 {
  padding-right: 12% !important;
}

.pe-13 {
  padding-right: 13% !important;
}

.pe-14 {
  padding-right: 14% !important;
}

.pe-15 {
  padding-right: 15% !important;
}

.pe-16 {
  padding-right: 16% !important;
}

.pe-17 {
  padding-right: 17% !important;
}

.pe-18 {
  padding-right: 18% !important;
}

.pe-19 {
  padding-right: 19% !important;
}

.pe-20 {
  padding-right: 20% !important;
}

.pe-21 {
  padding-right: 21% !important;
}

.pe-22 {
  padding-right: 22% !important;
}

.pe-23 {
  padding-right: 23% !important;
}

.pe-24 {
  padding-right: 24% !important;
}

.pe-25 {
  padding-right: 25% !important;
}

.pe-26 {
  padding-right: 26% !important;
}

.pe-27 {
  padding-right: 27% !important;
}

.pe-28 {
  padding-right: 28% !important;
}

.pe-29 {
  padding-right: 29% !important;
}

.pe-30 {
  padding-right: 30% !important;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.pb-1 {
  padding-bottom: 1% !important;
}

.pb-2 {
  padding-bottom: 2% !important;
}

.pb-3 {
  padding-bottom: 3% !important;
}

.pb-4 {
  padding-bottom: 4% !important;
}

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

.pb-6 {
  padding-bottom: 6% !important;
}

.pb-7 {
  padding-bottom: 7% !important;
}

.pb-8 {
  padding-bottom: 8% !important;
}

.pb-9 {
  padding-bottom: 9% !important;
}

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

.pb-11 {
  padding-bottom: 11% !important;
}

.pb-12 {
  padding-bottom: 12% !important;
}

.pb-13 {
  padding-bottom: 13% !important;
}

.pb-14 {
  padding-bottom: 14% !important;
}

.pb-15 {
  padding-bottom: 15% !important;
}

.pb-16 {
  padding-bottom: 16% !important;
}

.pb-17 {
  padding-bottom: 17% !important;
}

.pb-18 {
  padding-bottom: 18% !important;
}

.pb-19 {
  padding-bottom: 19% !important;
}

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

.pb-21 {
  padding-bottom: 21% !important;
}

.pb-22 {
  padding-bottom: 22% !important;
}

.pb-23 {
  padding-bottom: 23% !important;
}

.pb-24 {
  padding-bottom: 24% !important;
}

.pb-25 {
  padding-bottom: 25% !important;
}

.pb-26 {
  padding-bottom: 26% !important;
}

.pb-27 {
  padding-bottom: 27% !important;
}

.pb-28 {
  padding-bottom: 28% !important;
}

.pb-29 {
  padding-bottom: 29% !important;
}

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

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

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

.ps-15px {
  padding-left: 15px !important;
}

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

.ps-25px {
  padding-left: 25px !important;
}

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

.ps-35px {
  padding-left: 35px !important;
}

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

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

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

.ps-55px {
  padding-left: 55px !important;
}

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

.ps-65px {
  padding-left: 65px !important;
}

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

.ps-1 {
  padding-left: 1% !important;
}

.ps-2 {
  padding-left: 2% !important;
}

.ps-3 {
  padding-left: 3% !important;
}

.ps-4 {
  padding-left: 4% !important;
}

.ps-5 {
  padding-left: 5% !important;
}

.ps-6 {
  padding-left: 6% !important;
}

.ps-7 {
  padding-left: 7% !important;
}

.ps-8 {
  padding-left: 8% !important;
}

.ps-9 {
  padding-left: 9% !important;
}

.ps-10 {
  padding-left: 10% !important;
}

.ps-11 {
  padding-left: 11% !important;
}

.ps-12 {
  padding-left: 12% !important;
}

.ps-13 {
  padding-left: 13% !important;
}

.ps-14 {
  padding-left: 14% !important;
}

.ps-15 {
  padding-left: 15% !important;
}

.ps-16 {
  padding-left: 16% !important;
}

.ps-17 {
  padding-left: 17% !important;
}

.ps-18 {
  padding-left: 18% !important;
}

.ps-19 {
  padding-left: 19% !important;
}

.ps-20 {
  padding-left: 20% !important;
}

.ps-21 {
  padding-left: 21% !important;
}

.ps-22 {
  padding-left: 22% !important;
}

.ps-23 {
  padding-left: 23% !important;
}

.ps-24 {
  padding-left: 24% !important;
}

.ps-25 {
  padding-left: 25% !important;
}

.ps-26 {
  padding-left: 26% !important;
}

.ps-27 {
  padding-left: 27% !important;
}

.ps-28 {
  padding-left: 28% !important;
}

.ps-29 {
  padding-left: 29% !important;
}

.ps-30 {
  padding-left: 30% !important;
}

.m-5px {
  margin: 5px !important;
}

.m-10px {
  margin: 10px !important;
}

.m-15px {
  margin: 15px !important;
}

.m-20px {
  margin: 20px !important;
}

.m-25px {
  margin: 25px !important;
}

.m-30px {
  margin: 30px !important;
}

.m-35px {
  margin: 35px !important;
}

.m-40px {
  margin: 40px !important;
}

.m-45px {
  margin: 45px !important;
}

.m-50px {
  margin: 50px !important;
}

.m-55px {
  margin: 55px !important;
}

.m-60px {
  margin: 60px !important;
}

.m-65px {
  margin: 65px !important;
}

.m-70px {
  margin: 70px !important;
}

.m-1 {
  margin: 1% !important;
}

.m-2 {
  margin: 2% !important;
}

.m-3 {
  margin: 3% !important;
}

.m-4 {
  margin: 4% !important;
}

.m-5 {
  margin: 5% !important;
}

.m-6 {
  margin: 6% !important;
}

.m-7 {
  margin: 7% !important;
}

.m-8 {
  margin: 8% !important;
}

.m-9 {
  margin: 9% !important;
}

.m-10 {
  margin: 10% !important;
}

.m-11 {
  margin: 11% !important;
}

.m-12 {
  margin: 12% !important;
}

.m-13 {
  margin: 13% !important;
}

.m-14 {
  margin: 14% !important;
}

.m-15 {
  margin: 15% !important;
}

.m-16 {
  margin: 16% !important;
}

.m-17 {
  margin: 17% !important;
}

.m-18 {
  margin: 18% !important;
}

.m-19 {
  margin: 19% !important;
}

.m-20 {
  margin: 20% !important;
}

.m-21 {
  margin: 21% !important;
}

.m-22 {
  margin: 22% !important;
}

.m-23 {
  margin: 23% !important;
}

.m-24 {
  margin: 24% !important;
}

.m-25 {
  margin: 25% !important;
}

.m-26 {
  margin: 26% !important;
}

.m-27 {
  margin: 27% !important;
}

.m-28 {
  margin: 28% !important;
}

.m-29 {
  margin: 29% !important;
}

.m-30 {
  margin: 30% !important;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.mt-1 {
  margin-top: 1% !important;
}

.mt-2 {
  margin-top: 2% !important;
}

.mt-3 {
  margin-top: 3% !important;
}

.mt-4 {
  margin-top: 4% !important;
}

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

.mt-6 {
  margin-top: 6% !important;
}

.mt-7 {
  margin-top: 7% !important;
}

.mt-8 {
  margin-top: 8% !important;
}

.mt-9 {
  margin-top: 9% !important;
}

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

.mt-11 {
  margin-top: 11% !important;
}

.mt-12 {
  margin-top: 12% !important;
}

.mt-13 {
  margin-top: 13% !important;
}

.mt-14 {
  margin-top: 14% !important;
}

.mt-15 {
  margin-top: 15% !important;
}

.mt-16 {
  margin-top: 16% !important;
}

.mt-17 {
  margin-top: 17% !important;
}

.mt-18 {
  margin-top: 18% !important;
}

.mt-19 {
  margin-top: 19% !important;
}

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

.mt-21 {
  margin-top: 21% !important;
}

.mt-22 {
  margin-top: 22% !important;
}

.mt-23 {
  margin-top: 23% !important;
}

.mt-24 {
  margin-top: 24% !important;
}

.mt-25 {
  margin-top: 25% !important;
}

.mt-26 {
  margin-top: 26% !important;
}

.mt-27 {
  margin-top: 27% !important;
}

.mt-28 {
  margin-top: 28% !important;
}

.mt-29 {
  margin-top: 29% !important;
}

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

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

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

.me-15px {
  margin-right: 15px !important;
}

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

.me-25px {
  margin-right: 25px !important;
}

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

.me-35px {
  margin-right: 35px !important;
}

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

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

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

.me-55px {
  margin-right: 55px !important;
}

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

.me-65px {
  margin-right: 65px !important;
}

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

.me-1 {
  margin-right: 1% !important;
}

.me-2 {
  margin-right: 2% !important;
}

.me-3 {
  margin-right: 3% !important;
}

.me-4 {
  margin-right: 4% !important;
}

.me-5 {
  margin-right: 5% !important;
}

.me-6 {
  margin-right: 6% !important;
}

.me-7 {
  margin-right: 7% !important;
}

.me-8 {
  margin-right: 8% !important;
}

.me-9 {
  margin-right: 9% !important;
}

.me-10 {
  margin-right: 10% !important;
}

.me-11 {
  margin-right: 11% !important;
}

.me-12 {
  margin-right: 12% !important;
}

.me-13 {
  margin-right: 13% !important;
}

.me-14 {
  margin-right: 14% !important;
}

.me-15 {
  margin-right: 15% !important;
}

.me-16 {
  margin-right: 16% !important;
}

.me-17 {
  margin-right: 17% !important;
}

.me-18 {
  margin-right: 18% !important;
}

.me-19 {
  margin-right: 19% !important;
}

.me-20 {
  margin-right: 20% !important;
}

.me-21 {
  margin-right: 21% !important;
}

.me-22 {
  margin-right: 22% !important;
}

.me-23 {
  margin-right: 23% !important;
}

.me-24 {
  margin-right: 24% !important;
}

.me-25 {
  margin-right: 25% !important;
}

.me-26 {
  margin-right: 26% !important;
}

.me-27 {
  margin-right: 27% !important;
}

.me-28 {
  margin-right: 28% !important;
}

.me-29 {
  margin-right: 29% !important;
}

.me-30 {
  margin-right: 30% !important;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.mb-1 {
  margin-bottom: 1% !important;
}

.mb-2 {
  margin-bottom: 2% !important;
}

.mb-3 {
  margin-bottom: 3% !important;
}

.mb-4 {
  margin-bottom: 4% !important;
}

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

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

.mb-7 {
  margin-bottom: 7% !important;
}

.mb-8 {
  margin-bottom: 8% !important;
}

.mb-9 {
  margin-bottom: 9% !important;
}

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

.mb-11 {
  margin-bottom: 11% !important;
}

.mb-12 {
  margin-bottom: 12% !important;
}

.mb-13 {
  margin-bottom: 13% !important;
}

.mb-14 {
  margin-bottom: 14% !important;
}

.mb-15 {
  margin-bottom: 15% !important;
}

.mb-16 {
  margin-bottom: 16% !important;
}

.mb-17 {
  margin-bottom: 17% !important;
}

.mb-18 {
  margin-bottom: 18% !important;
}

.mb-19 {
  margin-bottom: 19% !important;
}

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

.mb-21 {
  margin-bottom: 21% !important;
}

.mb-22 {
  margin-bottom: 22% !important;
}

.mb-23 {
  margin-bottom: 23% !important;
}

.mb-24 {
  margin-bottom: 24% !important;
}

.mb-25 {
  margin-bottom: 25% !important;
}

.mb-26 {
  margin-bottom: 26% !important;
}

.mb-27 {
  margin-bottom: 27% !important;
}

.mb-28 {
  margin-bottom: 28% !important;
}

.mb-29 {
  margin-bottom: 29% !important;
}

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

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

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

.ms-15px {
  margin-left: 15px !important;
}

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

.ms-25px {
  margin-left: 25px !important;
}

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

.ms-35px {
  margin-left: 35px !important;
}

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

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

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

.ms-55px {
  margin-left: 55px !important;
}

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

.ms-65px {
  margin-left: 65px !important;
}

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

.ms-1 {
  margin-left: 1% !important;
}

.ms-2 {
  margin-left: 2% !important;
}

.ms-3 {
  margin-left: 3% !important;
}

.ms-4 {
  margin-left: 4% !important;
}

.ms-5 {
  margin-left: 5% !important;
}

.ms-6 {
  margin-left: 6% !important;
}

.ms-7 {
  margin-left: 7% !important;
}

.ms-8 {
  margin-left: 8% !important;
}

.ms-9 {
  margin-left: 9% !important;
}

.ms-10 {
  margin-left: 10% !important;
}

.ms-11 {
  margin-left: 11% !important;
}

.ms-12 {
  margin-left: 12% !important;
}

.ms-13 {
  margin-left: 13% !important;
}

.ms-14 {
  margin-left: 14% !important;
}

.ms-15 {
  margin-left: 15% !important;
}

.ms-16 {
  margin-left: 16% !important;
}

.ms-17 {
  margin-left: 17% !important;
}

.ms-18 {
  margin-left: 18% !important;
}

.ms-19 {
  margin-left: 19% !important;
}

.ms-20 {
  margin-left: 20% !important;
}

.ms-21 {
  margin-left: 21% !important;
}

.ms-22 {
  margin-left: 22% !important;
}

.ms-23 {
  margin-left: 23% !important;
}

.ms-24 {
  margin-left: 24% !important;
}

.ms-25 {
  margin-left: 25% !important;
}

.ms-26 {
  margin-left: 26% !important;
}

.ms-27 {
  margin-left: 27% !important;
}

.ms-28 {
  margin-left: 28% !important;
}

.ms-29 {
  margin-left: 29% !important;
}

.ms-30 {
  margin-left: 30% !important;
}

/* Position */
.top-0px {
  top: 0px;
}

.top-1px {
  top: 1px;
}

.top-2px {
  top: 2px;
}

.top-3px {
  top: 3px;
}

.top-4px {
  top: 4px;
}

.top-5px {
  top: 5px;
}

.top-6px {
  top: 6px;
}

.top-7px {
  top: 7px;
}

.top-8px {
  top: 8px;
}

.top-9px {
  top: 9px;
}

.top-10px {
  top: 10px;
}

.top-11px {
  top: 11px;
}

.top-12px {
  top: 12px;
}

.top-13px {
  top: 13px;
}

.top-14px {
  top: 14px;
}

.top-15px {
  top: 15px;
}

.top-16px {
  top: 16px;
}

.top-17px {
  top: 17px;
}

.top-18px {
  top: 18px;
}

.top-19px {
  top: 19px;
}

.top-20px {
  top: 20px;
}

.top-21px {
  top: 21px;
}

.top-22px {
  top: 22px;
}

.top-23px {
  top: 23px;
}

.top-24px {
  top: 24px;
}

.top-25px {
  top: 25px;
}

.top-26px {
  top: 26px;
}

.top-27px {
  top: 27px;
}

.top-28px {
  top: 28px;
}

.top-29px {
  top: 29px;
}

.top-30px {
  top: 30px;
}

.top-40px {
  top: 40px;
}

.top-50px {
  top: 50px;
}

.top-60px {
  top: 60px;
}

.top-70px {
  top: 70px;
}

.top-80px {
  top: 80px;
}

.top-90px {
  top: 90px;
}

.top-100px {
  top: 100px;
}

.top-110px {
  top: 110px;
}

.top-120px {
  top: 120px;
}

.top-130px {
  top: 130px;
}

.top-140px {
  top: 140px;
}

.top-150px {
  top: 150px;
}

.right-0px {
  right: 0px;
}

.right-1px {
  right: 1px;
}

.right-2px {
  right: 2px;
}

.right-3px {
  right: 3px;
}

.right-4px {
  right: 4px;
}

.right-5px {
  right: 5px;
}

.right-6px {
  right: 6px;
}

.right-7px {
  right: 7px;
}

.right-8px {
  right: 8px;
}

.right-9px {
  right: 9px;
}

.right-10px {
  right: 10px;
}

.right-11px {
  right: 11px;
}

.right-12px {
  right: 12px;
}

.right-13px {
  right: 13px;
}

.right-14px {
  right: 14px;
}

.right-15px {
  right: 15px;
}

.right-16px {
  right: 16px;
}

.right-17px {
  right: 17px;
}

.right-18px {
  right: 18px;
}

.right-19px {
  right: 19px;
}

.right-20px {
  right: 20px;
}

.right-21px {
  right: 21px;
}

.right-22px {
  right: 22px;
}

.right-23px {
  right: 23px;
}

.right-24px {
  right: 24px;
}

.right-25px {
  right: 25px;
}

.right-26px {
  right: 26px;
}

.right-27px {
  right: 27px;
}

.right-28px {
  right: 28px;
}

.right-29px {
  right: 29px;
}

.right-30px {
  right: 30px;
}

.right-40px {
  right: 40px;
}

.right-50px {
  right: 50px;
}

.right-60px {
  right: 60px;
}

.right-70px {
  right: 70px;
}

.right-80px {
  right: 80px;
}

.right-90px {
  right: 90px;
}

.right-100px {
  right: 100px;
}

.right-110px {
  right: 110px;
}

.right-120px {
  right: 120px;
}

.right-130px {
  right: 130px;
}

.right-140px {
  right: 140px;
}

.right-150px {
  right: 150px;
}

.bottom-0px {
  bottom: 0px;
}

.bottom-1px {
  bottom: 1px;
}

.bottom-2px {
  bottom: 2px;
}

.bottom-3px {
  bottom: 3px;
}

.bottom-4px {
  bottom: 4px;
}

.bottom-5px {
  bottom: 5px;
}

.bottom-6px {
  bottom: 6px;
}

.bottom-7px {
  bottom: 7px;
}

.bottom-8px {
  bottom: 8px;
}

.bottom-9px {
  bottom: 9px;
}

.bottom-10px {
  bottom: 10px;
}

.bottom-11px {
  bottom: 11px;
}

.bottom-12px {
  bottom: 12px;
}

.bottom-13px {
  bottom: 13px;
}

.bottom-14px {
  bottom: 14px;
}

.bottom-15px {
  bottom: 15px;
}

.bottom-16px {
  bottom: 16px;
}

.bottom-17px {
  bottom: 17px;
}

.bottom-18px {
  bottom: 18px;
}

.bottom-19px {
  bottom: 19px;
}

.bottom-20px {
  bottom: 20px;
}

.bottom-21px {
  bottom: 21px;
}

.bottom-22px {
  bottom: 22px;
}

.bottom-23px {
  bottom: 23px;
}

.bottom-24px {
  bottom: 24px;
}

.bottom-25px {
  bottom: 25px;
}

.bottom-26px {
  bottom: 26px;
}

.bottom-27px {
  bottom: 27px;
}

.bottom-28px {
  bottom: 28px;
}

.bottom-29px {
  bottom: 29px;
}

.bottom-30px {
  bottom: 30px;
}

.bottom-40px {
  bottom: 40px;
}

.bottom-50px {
  bottom: 50px;
}

.bottom-60px {
  bottom: 60px;
}

.bottom-70px {
  bottom: 70px;
}

.bottom-80px {
  bottom: 80px;
}

.bottom-90px {
  bottom: 90px;
}

.bottom-100px {
  bottom: 100px;
}

.bottom-110px {
  bottom: 110px;
}

.bottom-120px {
  bottom: 120px;
}

.bottom-130px {
  bottom: 130px;
}

.bottom-140px {
  bottom: 140px;
}

.bottom-150px {
  bottom: 150px;
}

.left-0px {
  left: 0px;
}

.left-1px {
  left: 1px;
}

.left-2px {
  left: 2px;
}

.left-3px {
  left: 3px;
}

.left-4px {
  left: 4px;
}

.left-5px {
  left: 5px;
}

.left-6px {
  left: 6px;
}

.left-7px {
  left: 7px;
}

.left-8px {
  left: 8px;
}

.left-9px {
  left: 9px;
}

.left-10px {
  left: 10px;
}

.left-11px {
  left: 11px;
}

.left-12px {
  left: 12px;
}

.left-13px {
  left: 13px;
}

.left-14px {
  left: 14px;
}

.left-15px {
  left: 15px;
}

.left-16px {
  left: 16px;
}

.left-17px {
  left: 17px;
}

.left-18px {
  left: 18px;
}

.left-19px {
  left: 19px;
}

.left-20px {
  left: 20px;
}

.left-21px {
  left: 21px;
}

.left-22px {
  left: 22px;
}

.left-23px {
  left: 23px;
}

.left-24px {
  left: 24px;
}

.left-25px {
  left: 25px;
}

.left-26px {
  left: 26px;
}

.left-27px {
  left: 27px;
}

.left-28px {
  left: 28px;
}

.left-29px {
  left: 29px;
}

.left-30px {
  left: 30px;
}

.left-40px {
  left: 40px;
}

.left-50px {
  left: 50px;
}

.left-60px {
  left: 60px;
}

.left-70px {
  left: 70px;
}

.left-80px {
  left: 80px;
}

.left-90px {
  left: 90px;
}

.left-100px {
  left: 100px;
}

.left-110px {
  left: 110px;
}

.left-120px {
  left: 120px;
}

.left-130px {
  left: 130px;
}

.left-140px {
  left: 140px;
}

.left-150px {
  left: 150px;
}

.top-minus-0px {
  top: -0px;
}

.top-minus-1px {
  top: -1px;
}

.top-minus-2px {
  top: -2px;
}

.top-minus-3px {
  top: -3px;
}

.top-minus-4px {
  top: -4px;
}

.top-minus-5px {
  top: -5px;
}

.top-minus-6px {
  top: -6px;
}

.top-minus-7px {
  top: -7px;
}

.top-minus-8px {
  top: -8px;
}

.top-minus-9px {
  top: -9px;
}

.top-minus-10px {
  top: -10px;
}

.top-minus-11px {
  top: -11px;
}

.top-minus-12px {
  top: -12px;
}

.top-minus-13px {
  top: -13px;
}

.top-minus-14px {
  top: -14px;
}

.top-minus-15px {
  top: -15px;
}

.top-minus-16px {
  top: -16px;
}

.top-minus-17px {
  top: -17px;
}

.top-minus-18px {
  top: -18px;
}

.top-minus-19px {
  top: -19px;
}

.top-minus-20px {
  top: -20px;
}

.top-minus-21px {
  top: -21px;
}

.top-minus-22px {
  top: -22px;
}

.top-minus-23px {
  top: -23px;
}

.top-minus-24px {
  top: -24px;
}

.top-minus-25px {
  top: -25px;
}

.top-minus-26px {
  top: -26px;
}

.top-minus-27px {
  top: -27px;
}

.top-minus-28px {
  top: -28px;
}

.top-minus-29px {
  top: -29px;
}

.top-minus-30px {
  top: -30px;
}

.top-minus-40px {
  top: -40px;
}

.top-minus-50px {
  top: -50px;
}

.top-minus-60px {
  top: -60px;
}

.top-minus-70px {
  top: -70px;
}

.top-minus-80px {
  top: -80px;
}

.top-minus-90px {
  top: -90px;
}

.top-minus-100px {
  top: -100px;
}

.top-minus-110px {
  top: -110px;
}

.top-minus-120px {
  top: -120px;
}

.top-minus-130px {
  top: -130px;
}

.top-minus-140px {
  top: -140px;
}

.top-minus-150px {
  top: -150px;
}

.right-minus-0px {
  right: -0px;
}

.right-minus-1px {
  right: -1px;
}

.right-minus-2px {
  right: -2px;
}

.right-minus-3px {
  right: -3px;
}

.right-minus-4px {
  right: -4px;
}

.right-minus-5px {
  right: -5px;
}

.right-minus-6px {
  right: -6px;
}

.right-minus-7px {
  right: -7px;
}

.right-minus-8px {
  right: -8px;
}

.right-minus-9px {
  right: -9px;
}

.right-minus-10px {
  right: -10px;
}

.right-minus-11px {
  right: -11px;
}

.right-minus-12px {
  right: -12px;
}

.right-minus-13px {
  right: -13px;
}

.right-minus-14px {
  right: -14px;
}

.right-minus-15px {
  right: -15px;
}

.right-minus-16px {
  right: -16px;
}

.right-minus-17px {
  right: -17px;
}

.right-minus-18px {
  right: -18px;
}

.right-minus-19px {
  right: -19px;
}

.right-minus-20px {
  right: -20px;
}

.right-minus-21px {
  right: -21px;
}

.right-minus-22px {
  right: -22px;
}

.right-minus-23px {
  right: -23px;
}

.right-minus-24px {
  right: -24px;
}

.right-minus-25px {
  right: -25px;
}

.right-minus-26px {
  right: -26px;
}

.right-minus-27px {
  right: -27px;
}

.right-minus-28px {
  right: -28px;
}

.right-minus-29px {
  right: -29px;
}

.right-minus-30px {
  right: -30px;
}

.right-minus-40px {
  right: -40px;
}

.right-minus-50px {
  right: -50px;
}

.right-minus-60px {
  right: -60px;
}

.right-minus-70px {
  right: -70px;
}

.right-minus-80px {
  right: -80px;
}

.right-minus-90px {
  right: -90px;
}

.right-minus-100px {
  right: -100px;
}

.right-minus-110px {
  right: -110px;
}

.right-minus-120px {
  right: -120px;
}

.right-minus-130px {
  right: -130px;
}

.right-minus-140px {
  right: -140px;
}

.right-minus-150px {
  right: -150px;
}

.bottom-minus-0px {
  bottom: -0px;
}

.bottom-minus-1px {
  bottom: -1px;
}

.bottom-minus-2px {
  bottom: -2px;
}

.bottom-minus-3px {
  bottom: -3px;
}

.bottom-minus-4px {
  bottom: -4px;
}

.bottom-minus-5px {
  bottom: -5px;
}

.bottom-minus-6px {
  bottom: -6px;
}

.bottom-minus-7px {
  bottom: -7px;
}

.bottom-minus-8px {
  bottom: -8px;
}

.bottom-minus-9px {
  bottom: -9px;
}

.bottom-minus-10px {
  bottom: -10px;
}

.bottom-minus-11px {
  bottom: -11px;
}

.bottom-minus-12px {
  bottom: -12px;
}

.bottom-minus-13px {
  bottom: -13px;
}

.bottom-minus-14px {
  bottom: -14px;
}

.bottom-minus-15px {
  bottom: -15px;
}

.bottom-minus-16px {
  bottom: -16px;
}

.bottom-minus-17px {
  bottom: -17px;
}

.bottom-minus-18px {
  bottom: -18px;
}

.bottom-minus-19px {
  bottom: -19px;
}

.bottom-minus-20px {
  bottom: -20px;
}

.bottom-minus-21px {
  bottom: -21px;
}

.bottom-minus-22px {
  bottom: -22px;
}

.bottom-minus-23px {
  bottom: -23px;
}

.bottom-minus-24px {
  bottom: -24px;
}

.bottom-minus-25px {
  bottom: -25px;
}

.bottom-minus-26px {
  bottom: -26px;
}

.bottom-minus-27px {
  bottom: -27px;
}

.bottom-minus-28px {
  bottom: -28px;
}

.bottom-minus-29px {
  bottom: -29px;
}

.bottom-minus-30px {
  bottom: -30px;
}

.bottom-minus-40px {
  bottom: -40px;
}

.bottom-minus-50px {
  bottom: -50px;
}

.bottom-minus-60px {
  bottom: -60px;
}

.bottom-minus-70px {
  bottom: -70px;
}

.bottom-minus-80px {
  bottom: -80px;
}

.bottom-minus-90px {
  bottom: -90px;
}

.bottom-minus-100px {
  bottom: -100px;
}

.bottom-minus-110px {
  bottom: -110px;
}

.bottom-minus-120px {
  bottom: -120px;
}

.bottom-minus-130px {
  bottom: -130px;
}

.bottom-minus-140px {
  bottom: -140px;
}

.bottom-minus-150px {
  bottom: -150px;
}

.left-minus-0px {
  left: -0px;
}

.left-minus-1px {
  left: -1px;
}

.left-minus-2px {
  left: -2px;
}

.left-minus-3px {
  left: -3px;
}

.left-minus-4px {
  left: -4px;
}

.left-minus-5px {
  left: -5px;
}

.left-minus-6px {
  left: -6px;
}

.left-minus-7px {
  left: -7px;
}

.left-minus-8px {
  left: -8px;
}

.left-minus-9px {
  left: -9px;
}

.left-minus-10px {
  left: -10px;
}

.left-minus-11px {
  left: -11px;
}

.left-minus-12px {
  left: -12px;
}

.left-minus-13px {
  left: -13px;
}

.left-minus-14px {
  left: -14px;
}

.left-minus-15px {
  left: -15px;
}

.left-minus-16px {
  left: -16px;
}

.left-minus-17px {
  left: -17px;
}

.left-minus-18px {
  left: -18px;
}

.left-minus-19px {
  left: -19px;
}

.left-minus-20px {
  left: -20px;
}

.left-minus-21px {
  left: -21px;
}

.left-minus-22px {
  left: -22px;
}

.left-minus-23px {
  left: -23px;
}

.left-minus-24px {
  left: -24px;
}

.left-minus-25px {
  left: -25px;
}

.left-minus-26px {
  left: -26px;
}

.left-minus-27px {
  left: -27px;
}

.left-minus-28px {
  left: -28px;
}

.left-minus-29px {
  left: -29px;
}

.left-minus-30px {
  left: -30px;
}

.left-minus-40px {
  left: -40px;
}

.left-minus-50px {
  left: -50px;
}

.left-minus-60px {
  left: -60px;
}

.left-minus-70px {
  left: -70px;
}

.left-minus-80px {
  left: -80px;
}

.left-minus-90px {
  left: -90px;
}

.left-minus-100px {
  left: -100px;
}

.left-minus-110px {
  left: -110px;
}

.left-minus-120px {
  left: -120px;
}

.left-minus-130px {
  left: -130px;
}

.left-minus-140px {
  left: -140px;
}

.left-minus-150px {
  left: -150px;
}

/* Font weight */
.fw-100 {
  font-weight: 100 !important;
}

.fw-200 {
  font-weight: 200 !important;
}

.fw-300 {
  font-weight: 300 !important;
}

.fw-400 {
  font-weight: 400 !important;
}

.fw-500 {
  font-weight: 500 !important;
}

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

.fw-700 {
  font-weight: 700 !important;
}

.fw-800 {
  font-weight: 800 !important;
}

.fw-900 {
  font-weight: 900 !important;
}

/* Min height */
.min-h-100px {
  min-height: 100px !important;
}

.min-h-150px {
  min-height: 150px !important;
}

.min-h-200px {
  min-height: 200px !important;
}

.min-h-250px {
  min-height: 250px !important;
}

.min-h-300px {
  min-height: 300px !important;
}

.min-h-350px {
  min-height: 350px !important;
}

.min-h-400px {
  min-height: 400px !important;
}

.min-h-450px {
  min-height: 450px !important;
}

.min-h-500px {
  min-height: 500px !important;
}

.min-h-550px {
  min-height: 550px !important;
}

.min-h-600px {
  min-height: 600px !important;
}

.min-h-650px {
  min-height: 650px !important;
}

.min-h-700px {
  min-height: 700px !important;
}

.min-h-750px {
  min-height: 750px !important;
}

.min-h-800px {
  min-height: 800px !important;
}

.min-h-850px {
  min-height: 850px !important;
}

.min-h-900px {
  min-height: 900px !important;
}

.min-h-950px {
  min-height: 950px !important;
}

/* Opacity */
.opacity-0 {
  opacity: .0;
}

.opacity-1 {
  opacity: .1;
}

.opacity-2 {
  opacity: .2;
}

.opacity-3 {
  opacity: .3;
}

.opacity-4 {
  opacity: .4;
}

.opacity-5 {
  opacity: .5;
}

.opacity-6 {
  opacity: .6;
}

.opacity-7 {
  opacity: .7;
}

.opacity-8 {
  opacity: .8;
}

.opacity-9 {
  opacity: .9;
}

/* Z-index */
.z-index-0 {
  z-index: 0;
}

.z-index-1 {
  z-index: 1;
}

.z-index-2 {
  z-index: 2;
}

.z-index-3 {
  z-index: 3;
}

.z-index-4 {
  z-index: 4;
}

.z-index-5 {
  z-index: 5;
}

.z-index-6 {
  z-index: 6;
}

.z-index-7 {
  z-index: 7;
}

.z-index-8 {
  z-index: 8;
}

.z-index-9 {
  z-index: 9;
}

.z-index-minus-1 {
  z-index: -1;
}

.z-index-minus-2 {
  z-index: -2;
}

/* ===================================
   10. Header
====================================== */
header .header-top-bar [class*=col-] {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-item-align: stretch;
  -ms-grid-row-align: stretch;
  align-self: stretch;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

header .header-top-bar [class*=col-].text-end {
  justify-content: flex-end !important;
}

header .header-top-bar [class*=col-] .header-icon {
  -ms-flex-item-align: stretch;
  -ms-grid-row-align: stretch;
  align-self: stretch;
}

header .navbar {
  position: fixed;
  top: 0;
  right: 0;
  left: 0;
  z-index: 99;
}

header .navbar [class*=col-] {
  padding: 0 15px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-item-align: stretch;
  -ms-grid-row-align: stretch;
  align-self: stretch;
}

header .navbar [class*=col-].text-end {
  justify-content: flex-end !important;
}

header .navbar [class*=col-] .navbar-nav {
  -ms-flex-item-align: stretch;
  -ms-grid-row-align: stretch;
  align-self: stretch;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

header .navbar [class*=col-] .navbar-nav .nav-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-item-align: stretch;
  -ms-grid-row-align: stretch;
  align-self: stretch;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

header .navbar [class*=col-] .navbar-nav .nav-item a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-item-align: stretch;
  -ms-grid-row-align: stretch;
  align-self: stretch;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

/* header .container-fluid {
  padding-left: 45px;
  padding-right: 45px;
} */

header.sticky .navbar-brand {
  padding: 20px 0;
}

header.sticky .navbar {
  -webkit-transform: translateY(-100%);
  transform: translateY(-100%);
}

header.sticky .navbar.sticky-header {
  -webkit-transform: translateY(0);
  transform: translateY(0);
}

header.sticky .navbar.fixed-header {
  -webkit-transform: translateY(0);
  transform: translateY(0);
}

header.sticky .header-light:not(.disable-fixed) {
  box-shadow: 0px 10px 35px 0px rgba(0, 0, 0, 0.1);
}

header.sticky.sticky-appear .header-reverse-back-scroll {
  -webkit-transform: translateY(0);
  transform: translateY(0);
}

header.sticky.sticky-appear .header-reverse-back-scroll.glass-effect {
  -webkit-backdrop-filter: blur(5px);
  backdrop-filter: blur(5px);
  background-color: rgba(255, 255, 255, 0.85) !important;
}

header.sticky.sticky-appear .header-reverse-back-scroll.header-dark.glass-effect {
  background-color: rgba(35, 35, 35, 0.7) !important;
}

header.sticky.sticky-active .header-reverse {
  -webkit-transform: translateY(0);
  transform: translateY(0);
  border-color: transparent !important;
}

header.sticky.sticky-active .header-reverse.glass-effect {
  -webkit-backdrop-filter: blur(5px);
  backdrop-filter: blur(5px);
  background-color: rgba(255, 255, 255, 0.85) !important;
}

header.sticky.sticky-active .header-reverse.header-dark.glass-effect {
  background-color: rgba(35, 35, 35, 0.7) !important;
}

header.sticky.sticky-active .navbar-brand .alt-logo {
  visibility: visible;
  opacity: 1;
  width: auto;
}

header.sticky.sticky-active .navbar-brand .default-logo {
  visibility: hidden;
  opacity: 0;
  width: 0;
}

header.sticky.sticky-active [data-header-hover=dark] {
  background-color: var(--dark-gray) !important;
}

header.sticky.sticky-active [data-header-hover=dark] .navbar-nav .nav-item:hover .nav-link {
  color: var(--white);
  opacity: 0.6;
}

header.sticky.sticky-active [data-header-hover=dark] .navbar-nav .nav-link {
  color: var(--white);
}

header.sticky.sticky-active [data-header-hover=dark] .icon>a {
  color: var(--white);
}

header.sticky.sticky-active [data-header-hover=dark] .icon>a:hover {
  color: var(--white);
  opacity: 0.6;
}

header.sticky.sticky-active [data-header-hover=dark] .icon .push-button span {
  background-color: var(--white);
}

header.sticky.sticky-active [data-header-hover=dark] .icon .header-language>a,
header.sticky.sticky-active [data-header-hover=dark] .icon .header-cart>a {
  color: var(--white);
}

header.sticky.sticky-active [data-header-hover=dark] .icon .header-language>a:hover,
header.sticky.sticky-active [data-header-hover=dark] .icon .header-cart>a:hover {
  color: var(--white);
}

header.sticky.sticky-active [data-header-hover=dark] .header-search-style i {
  color: var(--white);
}

header.sticky.sticky-active [data-header-hover=dark] .header-language-icon .header-language .language-dropdown {
  background-color: var(--dark-gray);
}

header.sticky.sticky-active [data-header-hover=dark] .header-language-icon .header-language .language-dropdown a {
  color: var(--light-gray);
}

header.sticky.sticky-active [data-header-hover=dark] .header-language-icon .header-language .language-dropdown a:hover {
  color: var(--white);
  opacity: 1;
}

header.sticky.sticky-active [data-header-hover=light] {
  background-color: var(--white) !important;
  box-shadow: 0px 0px 50px 0px rgba(0, 0, 0, 0.1);
}

header.sticky.sticky-active [data-header-hover=light] .navbar-nav .nav-link {
  color: var(--dark-gray);
}

header.sticky.sticky-active [data-header-hover=light] .icon>a {
  color: var(--dark-gray);
}

header.sticky.sticky-active [data-header-hover=light] .icon>a:hover {
  color: var(--medium-gray);
  opacity: 1;
}

header.sticky.sticky-active [data-header-hover=light] .icon .push-button span {
  background-color: var(--dark-gray);
}

header.sticky.sticky-active [data-header-hover=light] .icon .header-language>a,
header.sticky.sticky-active [data-header-hover=light] .icon .header-cart>a {
  color: var(--dark-gray);
}

header.sticky.sticky-active [data-header-hover=light] .icon .header-language>a:hover,
header.sticky.sticky-active [data-header-hover=light] .icon .header-cart>a:hover {
  color: var(--medium-gray);
  opacity: 1;
}

header.sticky.sticky-active [data-header-hover=light] .header-search-style i {
  color: var(--dark-gray);
}

header.sticky.sticky-active [data-header-hover=light] .header-language-icon .language-dropdown li a {
  color: var(--medium-gray);
}

header.sticky.sticky-active [data-header-hover=light] .header-language-icon .language-dropdown li a:hover {
  color: var(--dark-gray);
  opacity: 1;
}

header.sticky.sticky-active [data-header-hover=light] .widget-text {
  color: var(--dark-gray);
}

header.sticky.sticky-active [data-header-hover=light] .widget-text a {
  color: var(--dark-gray);
}

header.sticky.sticky-active [data-header-hover=light].disable-fixed.header-demo {
  background-color: transparent !important;
}

header.sticky .header-icon .push-button {
  padding: 0;
}

header.sticky .center-logo .navbar-nav .nav-link {
  padding: 26px 20px;
}

header.sticky .top-logo .navbar-brand {
  padding: 15px 0;
}

header.sticky .top-logo.fixed-header .navbar-brand,
header.sticky .top-logo.disable-fixed .navbar-brand {
  padding: 22px 0;
}

header.sticky .top-logo.responsive-sticky .navbar-nav .nav-link {
  padding-top: 18px !important;
  padding-bottom: 18px !important;
}

header.sticky .top-logo.responsive-sticky .header-icon .header-cart-icon .header-cart a i {
  padding-top: 22px;
  padding-bottom: 22px;
}

header.sticky .top-logo.responsive-sticky .header-icon .header-language-icon .header-cart>a i {
  padding-top: 22px;
  padding-bottom: 22px;
}

header.sticky .mini-header .header-icon .header-language a i {
  padding-top: 16px;
  padding-bottom: 16px;
}

header.sticky .mini-header .header-icon .header-cart-icon .header-cart a i {
  padding-top: 16px;
  padding-bottom: 16px;
}

header.sticky .fixed-header .navbar-brand,
header.sticky .disable-fixed .navbar-brand {
  padding: 30px 0;
}

header .navbar {
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

header .navbar.mini-header .navbar-brand {
  padding: 20px 0;
}

header .navbar.mini-header .navbar-brand img {
  max-height: 22px;
}

header .navbar-brand {
  margin-right: 0;
  vertical-align: middle;
  padding: 14px 0;
  display: inline-block;
  font-size: 0;
}

header .navbar-brand .default-logo {
  visibility: visible;
  opacity: 1;
  width: auto;
}

header .navbar-brand .alt-logo,
header .navbar-brand .mobile-logo {
  visibility: hidden;
  opacity: 0;
  width: 0;
}

header .navbar-brand img {
  max-height: 46px;
}

header .header-top-bar {
  position: fixed;
  top: 0;
  right: 0;
  width: 100%;
  left: 0;
  z-index: 100;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

header .header-top-bar+.navbar {
  -webkit-transition: 0.3s;
  transition: 0.3s;
  top: 40px;
}

header .header-top-bar+.navbar.disable-fixed {
  top: 0;
}

header .header-top-bar .widget {
  display: inline-block;
}

header .header-top-bar .widget i {
  padding-right: 5px;
}

header .header-top-bar .header-icon .header-social-icon {
  top: 0;
}

header .header-top-bar .header-icon .header-social-icon ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

header .header-top-bar .header-icon .header-social-icon ul li {
  display: inline-block;
  margin: 0 15px 0 0;
}

header .header-top-bar .header-icon .header-social-icon ul li:last-child {
  margin-right: 0;
}

header .header-top-bar .header-icon .header-social-icon a {
  font-size: 12px;
}

header .header-top-bar .header-icon .header-social-text {
  top: 0;
}

header .header-top-bar .header-icon .header-social-text ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

header .header-top-bar .header-icon .header-social-text ul li {
  display: inline-block;
  margin: 0 30px 0 0;
}

header .header-top-bar .header-icon .header-social-text ul li:last-child {
  margin-right: 0;
}

header .left-nav .navbar-nav:before {
  height: 20px;
  width: 1px;
  background-color: var(--medium-gray);
  opacity: 0.5;
  content: "";
  -webkit-transform: translate(-7px, 0px);
  transform: translate(-7px, 0px);
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

header .disable-fixed {
  position: absolute;
}

header.sticky .responsive-sticky {
  -webkit-transform: translateY(0);
  transform: translateY(0);
}

header.sticky .navbar.disable-fixed {
  -webkit-transform: translateY(0);
  transform: translateY(0);
  box-shadow: none;
}

/* Navbar */
.navbar {
  padding: 0;
}

.navbar .navbar-nav .nav-item>i {
  display: none;
}

.navbar .navbar-nav .nav-item:hover .nav-link,
.navbar .navbar-nav .nav-item.active .nav-link {
  color: var(--secondary-color);
}

.navbar .navbar-nav .nav-item .nav-link.active {
  color: var(--secondary-color);

}

.navbar .navbar-nav .nav-link {
  font-size: 16px;
  line-height: 20px;
  padding: 10px 20px;
  position: relative;
  font-weight: 500;
  opacity: 1;
  word-break: normal;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  color: var(--white);
}

.navbar .navbar-nav .nav-link .label {
  display: inline-block;
  padding: 1px 11px;
  font-size: 12px;
  margin-left: 8px;
  margin-top: 0px;
  vertical-align: middle;
}

.navbar .navbar-nav .dropdown.submenu {
  position: inherit;
}

.navbar .navbar-nav .dropdown .dropdown-menu {
  margin: 0;
  padding: 60px 0 65px;
  border: 0;
  top: 100%;
  background-color: var(--white);
  box-shadow: 0 45px 45px 0 rgba(0, 0, 0, 0.05);
  -webkit-animation: hide-animation 0.5s;
  animation: hide-animation 0.5s;
  -webkit-border-radius: 0;
  border-radius: 0;
}

.navbar .navbar-nav .dropdown .dropdown-menu li:last-child>a {
  padding-bottom: 0;
}

.navbar .navbar-nav .dropdown .dropdown-menu li.active>a {
  color: var(--dark-gray);
}

.navbar .navbar-nav .dropdown .dropdown-menu li a:hover {
  padding-left: 3px;
}

.navbar .navbar-nav .dropdown .dropdown-menu a {
  color: var(--medium-gray);
  font-size: 15px;
  line-height: 24px;
  font-weight: 400;
  padding-bottom: 10px;
  display: block;
}

.navbar .navbar-nav .dropdown .dropdown-menu a:hover {
  color: var(--dark-gray);
}

.navbar .navbar-nav .dropdown .dropdown-menu a i {
  width: 25px;
  display: inline-block;
  vertical-align: middle;
  margin-right: 7px;
  text-align: center;
}

.navbar .navbar-nav .dropdown .dropdown-menu a .label {
  display: inline-block;
  padding: 5px 10px;
  font-size: 10px;
  line-height: initial;
  margin-left: 8px;
  margin-top: 0px;
  vertical-align: middle;
  font-weight: 700;
  text-transform: uppercase;
  white-space: nowrap;
}

.navbar .navbar-nav .dropdown.open .dropdown-menu {
  display: block;
  -webkit-animation: show-animation 0.5s;
  animation: show-animation 0.5s;
}

.navbar .navbar-nav .submenu-content {
  width: 100%;
  border-top: 1px solid #e7e7e7 !important;
  left: 0;
}

.navbar .navbar-nav .submenu-content ul {
  padding: 0 30px 0 0;
  list-style: none;
}

.navbar .navbar-nav .submenu-content ul:nth-child(4n+1) {
  clear: both;
}

.navbar .navbar-nav .submenu-content ul .sub-title {
  color: var(--dark-gray);
  font-size: 16px;
  font-weight: 600;
  margin-bottom: 10px;
}

.navbar .navbar-nav .submenu-content ul:last-child:before {
  display: none;
}

.navbar .navbar-nav .submenu-content .mega-menu {
  width: 1190px;
}

.navbar .navbar-nav .simple-dropdown .dropdown-menu {
  display: none;
  width: 245px;
  padding: 35px 0;
  -webkit-border-radius: 0;
  border-radius: 0;
  box-shadow: 0 0 35px 0 rgba(0, 0, 0, 0.1);
}

.navbar .navbar-nav .simple-dropdown .dropdown-menu li {
  padding: 0 45px 0 40px;
}

.navbar .navbar-nav .simple-dropdown .dropdown-menu li a {
  padding-bottom: 12px;
}

.navbar .navbar-nav .simple-dropdown .dropdown-menu .dropdown {
  position: relative;
}

.navbar .navbar-nav .simple-dropdown .dropdown-menu .dropdown i {
  position: absolute;
  right: 35px;
  top: 6px;
  width: auto;
  font-size: 13px;
}

.navbar .navbar-nav .simple-dropdown .dropdown-menu .dropdown.open>a {
  color: var(--dark-gray);
}

.navbar .navbar-nav .simple-dropdown .dropdown-menu .dropdown.open>.dropdown-menu {
  display: block;
}

.navbar .navbar-nav .simple-dropdown .dropdown-menu .dropdown.menu-left .dropdown-menu {
  left: calc(-100% - 1px);
}

.navbar .navbar-nav .simple-dropdown .dropdown-menu .dropdown .dropdown-menu {
  -webkit-animation: none;
  animation: none;
}

.navbar .navbar-nav .simple-dropdown .dropdown-menu .dropdown-menu {
  display: none;
  position: absolute;
  left: calc(100% + 1px);
  top: -35px;
}

.navbar .navbar-nav .dropdown.dropdown-with-icon-style02 .dropdown-menu {
  border-radius: 5px;
  padding: 0;
  overflow: hidden;
  width: 260px;
}

.navbar .navbar-nav .dropdown.dropdown-with-icon-style02 .dropdown-menu li {
  padding: 0;
}

.navbar .navbar-nav .dropdown.dropdown-with-icon-style02 .dropdown-menu li a {
  font-size: 15px;
  line-height: 26px;
  border-bottom: 1px solid rgba(23, 23, 23, 0.1);
  padding: 17px 20px;
}

.navbar .navbar-nav .dropdown.dropdown-with-icon-style02 .dropdown-menu li a i {
  font-size: 19px;
}

.navbar .navbar-nav .dropdown.dropdown-with-icon-style02 .dropdown-menu li a img {
  width: 35px;
  margin-right: 15px;
}

.navbar .navbar-nav .dropdown.dropdown-with-icon-style02 .dropdown-menu li:last-child a {
  border-bottom: 0;
}

.navbar .navbar-nav .dropdown.dropdown-with-icon .dropdown-menu {
  box-shadow: 0 0 35px 0 rgba(0, 0, 0, 0.1);
  border-radius: 5px;
  width: 310px;
  padding: 20px 35px;
}

.navbar .navbar-nav .dropdown.dropdown-with-icon .dropdown-menu li {
  justify-content: center;
  display: flex;
  border-bottom: 0;
  padding: 0;
}

.navbar .navbar-nav .dropdown.dropdown-with-icon .dropdown-menu li:first-child a {
  border-top: 0;
}

.navbar .navbar-nav .dropdown.dropdown-with-icon .dropdown-menu li a {
  margin: 0;
  border-top: 1px solid rgba(23, 23, 23, 0.1);
  padding: 15px 30px 15px 0;
  font-size: 16px;
  line-height: 28px;
  font-weight: 500;
  width: 100%;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.navbar .navbar-nav .dropdown.dropdown-with-icon .dropdown-menu li a i {
  width: 40px;
  font-size: 36px;
  margin-right: 15px;
  color: var(--base-color);
  flex-shrink: 0;
  text-align: left;
}

.navbar .navbar-nav .dropdown.dropdown-with-icon .dropdown-menu li a span {
  color: var(--dark-gray);
  font-weight: 600;
}

.navbar .navbar-nav .dropdown.dropdown-with-icon .dropdown-menu li a p {
  margin: 0;
  font-size: 13px;
  color: var(--medium-gray);
}

.navbar .navbar-nav .dropdown.dropdown-with-icon .dropdown-menu li a img {
  border-radius: 100%;
  width: 45px;
  margin-right: 15px;
}

.navbar .navbar-nav .dropdown.dropdown-with-icon .dropdown-menu li a:before {
  content: "\f135";
  color: var(--black);
  font-family: bootstrap-icons;
  font-weight: 400;
  font-size: 23px;
  position: absolute;
  right: 6px;
  opacity: 0;
  -webkit-transition: all 300ms cubic-bezier(0.61, 1, 0.88, 1);
  transition: all 300ms cubic-bezier(0.61, 1, 0.88, 1);
}

.navbar .navbar-nav .dropdown.dropdown-with-icon .dropdown-menu li a:hover:before {
  right: 0px;
  opacity: 1;
}

.navbar .navbar-nav .dropdown.dropdown-with-icon .dropdown-menu li a.btn {
  padding: 15px 20px;
  justify-content: center;
  margin-top: 10px;
  line-height: normal;
  border-top: 0;
  font-size: 14px;
  margin-bottom: 5px;
}

.navbar .navbar-nav .dropdown.dropdown-with-icon .dropdown-menu li a.btn:before {
  display: none;
}

/* Header hover submenu dark */
[data-header-hover=dark] .navbar-nav .dropdown .dropdown-menu li.active>a {
  color: var(--white);
}

[data-header-hover=dark] .navbar-nav .dropdown.dropdown-with-icon-style02 .dropdown-menu li a {
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

[data-header-hover=dark] .navbar-nav .dropdown.dropdown-with-icon .dropdown-menu li a {
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

[data-header-hover=dark] .navbar-nav .dropdown.dropdown-with-icon .dropdown-menu li a span {
  color: var(--white) !important;
}

[data-header-hover=dark] .navbar-nav .dropdown.dropdown-with-icon .dropdown-menu li a:before {
  color: var(--white);
}

[data-header-hover=dark] .navbar-nav .simple-dropdown .dropdown-menu,
[data-header-hover=dark] .navbar-nav .dropdown-with-icon-style02 .dropdown-menu,
[data-header-hover=dark] .navbar-nav .dropdown-with-icon .dropdown-menu {
  background-color: var(--dark-gray);
}

[data-header-hover=dark] .navbar-nav .simple-dropdown .dropdown-menu a,
[data-header-hover=dark] .navbar-nav .dropdown-with-icon-style02 .dropdown-menu a,
[data-header-hover=dark] .navbar-nav .dropdown-with-icon .dropdown-menu a {
  color: var(--light-gray);
}

[data-header-hover=dark] .navbar-nav .simple-dropdown .dropdown-menu a:hover,
[data-header-hover=dark] .navbar-nav .dropdown-with-icon-style02 .dropdown-menu a:hover,
[data-header-hover=dark] .navbar-nav .dropdown-with-icon .dropdown-menu a:hover {
  color: var(--white);
}

[data-header-hover=dark] .navbar-nav .simple-dropdown .dropdown-menu .dropdown:hover>a,
[data-header-hover=dark] .navbar-nav .dropdown-with-icon-style02 .dropdown-menu .dropdown:hover>a,
[data-header-hover=dark] .navbar-nav .dropdown-with-icon .dropdown-menu .dropdown:hover>a {
  color: var(--white);
}

[data-header-hover=dark] .header-cart-icon .header-cart .cart-item-list {
  background-color: var(--dark-gray);
}

[data-header-hover=dark] .header-cart-icon .header-cart .cart-item-list .cart-item {
  border-color: #3e3e3e;
}

[data-header-hover=dark] .header-cart-icon .header-cart .cart-item-list .cart-item.cart-total {
  background-color: var(--black);
}

[data-header-hover=dark] .header-cart-icon .header-cart .cart-item-list .cart-item.cart-total span {
  color: var(--white);
}

[data-header-hover=dark] .header-cart-icon .header-cart .cart-item-list .cart-item .product-detail a {
  color: var(--medium-gray);
}

[data-header-hover=dark] .header-cart-icon .header-cart .cart-item-list .cart-item .product-detail a:hover {
  color: var(--white);
}

[data-header-hover=dark] .header-cart-icon .header-cart .cart-item-list .cart-item .close {
  color: var(--white);
}

[data-header-hover=dark] .header-language-icon .header-language .language-dropdown {
  background-color: var(--dark-gray);
}

[data-header-hover=dark] .header-language-icon .header-language .language-dropdown a {
  color: var(--light-gray);
}

[data-header-hover=dark] .header-language-icon .header-language .language-dropdown a:hover {
  color: var(--white);
  opacity: 1;
}

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

.submenu-dark .navbar-brand .alt-logo {
  visibility: visible;
  opacity: 1;
  width: auto;
}

.submenu-dark .navbar-brand .default-logo {
  visibility: hidden;
  opacity: 0;
  width: 0;
}

.submenu-dark .navbar-nav .dropdown .dropdown-menu {
  background-color: var(--dark-gray);
}

.submenu-dark .navbar-nav .dropdown .dropdown-menu a {
  color: var(--light-gray);
}

.submenu-dark .navbar-nav .dropdown .dropdown-menu a:hover {
  color: var(--white);
}

.submenu-dark .navbar-nav .dropdown .dropdown-menu li.active>a {
  color: var(--white);
}

.submenu-dark .navbar-nav .submenu-content {
  border-color: #424242 !important;
}

.submenu-dark .navbar-nav .submenu-content ul .sub-title {
  color: var(--white);
}

.submenu-dark .navbar-nav .submenu-content ul:before {
  background-color: var(--medium-gray);
}

.submenu-dark .navbar-nav .simple-dropdown .dropdown-menu {
  background-color: var(--dark-gray);
}

.submenu-dark .navbar-nav .simple-dropdown .dropdown-menu a {
  color: var(--light-gray);
}

.submenu-dark .navbar-nav .simple-dropdown .dropdown-menu a:hover {
  color: var(--white);
}

.submenu-dark .navbar-nav .simple-dropdown .dropdown-menu .dropdown:hover>a {
  color: var(--white);
}

.submenu-dark .header-cart-icon .header-cart .cart-item-list {
  background-color: var(--dark-gray);
}

.submenu-dark .header-cart-icon .header-cart .cart-item-list .cart-item {
  border-color: #3e3e3e;
}

.submenu-dark .header-cart-icon .header-cart .cart-item-list .cart-item.cart-total {
  background-color: var(--black);
}

.submenu-dark .header-cart-icon .header-cart .cart-item-list .cart-item.cart-total span {
  color: var(--white);
}

.submenu-dark .header-cart-icon .header-cart .cart-item-list .cart-item .product-detail a {
  color: var(--medium-gray);
}

.submenu-dark .header-cart-icon .header-cart .cart-item-list .cart-item .product-detail a:hover {
  color: var(--white);
}

.submenu-dark .header-cart-icon .header-cart .cart-item-list .cart-item .close {
  color: var(--white);
}

.submenu-dark .header-cart-icon .header-language .language-dropdown {
  background-color: var(--dark-gray);
}

.submenu-dark .header-cart-icon .header-language .language-dropdown a {
  color: var(--light-gray);
}

.submenu-dark .header-cart-icon .header-language .language-dropdown a:hover {
  color: var(--white);
  opacity: 1;
}

/* Header hover submenu light */
.submenu-light {
  background-color: var(--white) !important;
}

.submenu-light .navbar-brand .alt-logo {
  visibility: visible;
  opacity: 1;
  width: auto;
}

.submenu-light .navbar-brand .default-logo {
  visibility: hidden;
  opacity: 0;
  width: 0;
}

.submenu-light .navbar-nav .nav-link {
  color: var(--dark-gray);
}

.submenu-light .header-icon .icon>a {
  color: var(--dark-gray);
}

.submenu-light .header-icon .icon>a:hover {
  color: var(--medium-gray);
}

.submenu-light .header-icon .icon .push-button span {
  background-color: var(--dark-gray);
}

.submenu-light .header-icon .icon .header-language>a,
.submenu-light .header-icon .icon .header-cart>a {
  color: var(--dark-gray);
}

.submenu-light .header-icon .icon .header-language>a:hover,
.submenu-light .header-icon .icon .header-cart>a:hover {
  color: var(--medium-gray);
}

.submenu-light .menu-item-list .nav-link {
  color: var(--dark-gray);
}

.submenu-light .menu-item-list .nav-link:hover {
  color: var(--dark-gray);
  opacity: 0.6;
}

.submenu-light .menu-item-list .sub-menu a {
  color: var(--dark-gray);
  opacity: 0.6;
}

.submenu-light .menu-item-list .menu-item .toggle {
  color: var(--dark-gray);
}

.submenu-light .widget-text {
  color: var(--dark-gray);
}

.submenu-light .widget-text a {
  color: var(--dark-gray);
}

/* Header dark */
.header-dark .navbar-nav .dropdown .dropdown-menu {
  background-color: var(--dark-gray);
}

.header-dark .navbar-nav .dropdown .dropdown-menu a {
  color: var(--light-gray);
}

.header-dark .navbar-nav .dropdown .dropdown-menu a:hover {
  color: var(--white);
}

.header-dark .navbar-nav .dropdown .dropdown-menu li.active>a {
  color: var(--white);
}

.header-dark .navbar-nav .dropdown.dropdown-with-icon-style02 .dropdown-menu li a {
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.header-dark .navbar-nav .dropdown.dropdown-with-icon-style02 .dropdown-menu li:last-child a {
  border-bottom: 0;
}

.header-dark .navbar-nav .dropdown.dropdown-with-icon .dropdown-menu li a {
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.header-dark .navbar-nav .dropdown.dropdown-with-icon .dropdown-menu li a span {
  color: var(--white);
}

.header-dark .navbar-nav .dropdown.dropdown-with-icon .dropdown-menu li a p {
  color: var(--light-gray);
}

.header-dark .navbar-nav .dropdown.dropdown-with-icon .dropdown-menu li a:before {
  color: var(--white);
}

.header-dark .navbar-nav .submenu-content {
  border-color: #424242 !important;
}

.header-dark .navbar-nav .submenu-content ul .sub-title {
  color: var(--white);
}

.header-dark .navbar-nav .submenu-content ul:before {
  background-color: var(--medium-gray);
}

.header-dark .navbar-nav .simple-dropdown .dropdown-menu {
  background-color: var(--dark-gray);
}

.header-dark .navbar-nav .simple-dropdown .dropdown-menu a {
  color: var(--light-gray);
}

.header-dark .navbar-nav .simple-dropdown .dropdown-menu a:hover {
  color: var(--white);
}

.header-dark .navbar-nav .simple-dropdown .dropdown-menu .dropdown.open>a {
  color: var(--white);
}

.header-dark .navbar-nav .simple-dropdown .dropdown-menu .dropdown:hover>a {
  color: var(--white);
}

.header-dark .header-cart-icon .header-cart .cart-item-list {
  background-color: var(--dark-gray);
}

.header-dark .header-cart-icon .header-cart .cart-item-list .cart-item {
  border-color: #3e3e3e;
}

.header-dark .header-cart-icon .header-cart .cart-item-list .cart-item.cart-total {
  background-color: var(--black);
}

.header-dark .header-cart-icon .header-cart .cart-item-list .cart-item.cart-total span {
  color: var(--white);
}

.header-dark .header-cart-icon .header-cart .cart-item-list .cart-item .product-detail a {
  color: var(--medium-gray);
}

.header-dark .header-cart-icon .header-cart .cart-item-list .cart-item .product-detail a:hover {
  color: var(--white);
}

.header-dark .header-cart-icon .header-cart .cart-item-list .cart-item .close {
  color: var(--white);
}

.header-dark .header-language-icon .header-language .language-dropdown {
  background-color: var(--dark-gray);
}

.header-dark .header-language-icon .header-language .language-dropdown a {
  color: var(--light-gray);
}

.header-dark .header-language-icon .header-language .language-dropdown a:hover {
  color: var(--white);
  opacity: 1;
}

/* Header light */
.header-light .navbar-nav .nav-link {
  color: var(--dark-gray);
}

.header-light .header-icon .icon>a {
  color: var(--dark-gray);
}

.header-light .header-icon .icon>a:hover {
  color: var(--dark-gray);
  opacity: 0.6;
}

.header-light .header-icon .icon .push-button span {
  background-color: var(--dark-gray);
}

.header-light .header-icon .icon .header-language>a,
.header-light .header-icon .icon .header-cart>a,
.header-light .header-icon .icon .header-account>a {
  color: var(--dark-gray);
}

.header-light .header-icon .icon .header-language>a:hover,
.header-light .header-icon .icon .header-cart>a:hover,
.header-light .header-icon .icon .header-account>a:hover {
  color: var(--dark-gray);
  opacity: 0.6;
}

.header-light .menu-item-list .nav-link {
  color: var(--dark-gray);
}

.header-light .menu-item-list .nav-link:hover {
  color: var(--dark-gray);
  opacity: 0.6;
}

.header-light .menu-item-list .sub-menu a {
  color: var(--medium-gray);
  opacity: 1;
}

.header-light .menu-item-list .sub-menu a:hover {
  color: var(--dark-gray);
}

.header-light .menu-item-list .sub-menu .active>a {
  color: var(--dark-gray);
}

.header-light .menu-item-list .menu-item .menu-toggle:before,
.header-light .menu-item-list .menu-item .menu-toggle:after {
  background-color: var(--dark-gray);
}

.header-light .widget-text {
  color: var(--dark-gray);
}

.header-light .widget-text a {
  color: var(--dark-gray);
}

/* Header icon */
.header-icon {
  display: flex;
  align-items: center;
}

.header-icon .icon {
  position: relative;
  line-height: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-item-align: stretch;
  -ms-grid-row-align: stretch;
  align-self: stretch;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.header-icon .icon>a {
  padding-left: 16px;
  font-size: 17px;
  color: var(--white);
}

.header-icon .icon>a:hover {
  color: var(--white);
  opacity: 0.6;
}

.header-icon .icon:first-child a:first-child {
  padding-left: 0;
}

.header-icon .icon .header-language,
.header-icon .icon .header-cart,
.header-icon .icon .header-account {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-item-align: stretch;
  -ms-grid-row-align: stretch;
  align-self: stretch;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.header-icon .icon .header-language>a,
.header-icon .icon .header-cart>a,
.header-icon .icon .header-account>a {
  padding-left: 14px;
  color: var(--white);
  font-size: 17px;
}

.header-icon .icon .header-language>a:hover,
.header-icon .icon .header-cart>a:hover,
.header-icon .icon .header-account>a:hover {
  color: var(--white);
  opacity: 0.6;
}

.header-icon .header-mail {
  padding-right: 35px;
  top: 0;
}

.header-icon .header-mail .mail {
  font-size: 14px;
}

.header-icon .header-mail .mail i {
  vertical-align: middle;
  padding-right: 5px;
}

.header-icon .header-social-icon a {
  font-size: 17px;
  padding-left: 20px;
  flex-shrink: 0;
}

/* Header cart */
.header-cart-icon .header-cart {
  display: inline-block;
}

.header-cart-icon .header-cart .cart-item-list {
  display: none;
  left: auto;
  right: 0;
  box-shadow: 0 0 25px 0 rgba(0, 0, 0, 0.1);
  border-radius: 0;
  background-color: var(--white);
  border: 0;
  padding: 0;
  min-width: 250px;
  margin: 0;
  position: absolute;
  z-index: 1;
  top: 100%;
}

.header-cart-icon .header-cart .cart-item-list .cart-item {
  display: flex;
  padding: 17px;
  border-top: 1px solid #ededed;
  position: relative;
}

.header-cart-icon .header-cart .cart-item-list .cart-item .close {
  font-size: 16px;
  position: absolute;
  right: 15px;
  top: 15px;
  font-weight: 400;
  color: var(--dark-gray);
}

.header-cart-icon .header-cart .cart-item-list .cart-item .product-image {
  max-width: 50px;
  width: 30%;
  display: inline-block;
}

.header-cart-icon .header-cart .cart-item-list .cart-item .product-detail {
  padding-left: 15px;
  width: 70%;
  text-align: left;
  display: inline-block;
}

.header-cart-icon .header-cart .cart-item-list .cart-item .product-detail a {
  color: var(--dark-gray);
  font-size: 12px;
  display: inline-block;
  line-height: 16px;
  padding: 0;
}

.header-cart-icon .header-cart .cart-item-list .cart-item .product-detail .item-ammount {
  display: block;
  font-size: 11px;
  color: var(--medium-gray);
  line-height: normal;
}

.header-cart-icon .header-cart .cart-item-list .cart-item:first-child {
  border-top: 0;
}

.header-cart-icon .header-cart .cart-item-list .cart-total {
  background-color: var(--very-light-gray);
  flex-direction: column !important;
  color: var(--dark-gray);
}

.header-cart-icon .header-cart .cart-item-list .cart-total span {
  line-height: 20px;
  display: inline-block;
}

.header-cart-icon .header-cart .cart-item-list .cart-total .btn {
  width: 100%;
  display: block;
  margin: 8px 0;
}

.header-cart-icon .header-cart.open .cart-item-list {
  display: block;
  -webkit-animation: show-animation 0.5s;
  animation: show-animation 0.5s;
}

.header-cart-icon a {
  position: relative;
}

.header-cart-icon .cart-count {
  position: absolute;
  top: -7px;
  right: -11px;
  width: 17px;
  height: 17px;
  font-weight: 600;
  text-align: center;
  font-size: 10px;
  line-height: 18px;
  background-color: var(--base-color);
  color: var(--white);
  -webkit-border-radius: 100%;
  border-radius: 100%;
  -webkit-transition: 0.5s;
  transition: 0.5s;
}

/* Header account */
.header-account-icon {
  line-height: normal !important;
}

.header-account-icon .header-account {
  display: inline-block;
}

.header-account-icon .header-account .account-item-list {
  display: none;
  left: auto;
  right: 0;
  box-shadow: 0 0 25px 0 rgba(0, 0, 0, 0.1);
  border-radius: 0;
  background-color: var(--white);
  border: 0;
  padding: 35px 0;
  min-width: 220px;
  margin: 0;
  position: absolute;
  z-index: 1;
  top: 100%;
}

.header-account-icon .header-account .account-item-list .account-item {
  display: inline-block;
  padding: 0 45px 12px 40px;
  width: 100%;
  position: relative;
  font-size: 17px;
  font-weight: 400;
}

.header-account-icon .header-account .account-item-list .account-item a {
  padding-left: 0;
}

.header-account-icon .header-account .account-item-list .account-item a:hover {
  padding-left: 3px;
}

.header-account-icon .header-account .account-item-list .account-item:last-child {
  padding-bottom: 0;
}

.header-account-icon .header-account.open .account-item-list {
  display: block;
  -webkit-animation: show-animation 0.5s;
  animation: show-animation 0.5s;
}

.header-account-icon a {
  position: relative;
}

/* Header language */
.header-language-icon .header-language {
  display: inline-block;
}

.header-language-icon .header-language .language-dropdown {
  position: absolute;
  right: 0;
  top: 100%;
  padding: 20px;
  list-style: none;
  background-color: var(--white);
  display: none;
  box-shadow: 0 0 25px 0 rgba(0, 0, 0, 0.1);
  -webkit-animation: hide-animation 0.5s;
  animation: hide-animation 0.5s;
  z-index: 9;
  text-align: left;
  margin: 0;
  min-width: 140px;
}

.header-language-icon .header-language .language-dropdown li a {
  color: var(--medium-gray);
  font-size: 12px;
  line-height: 28px;
  padding: 0;
}

.header-language-icon .header-language .language-dropdown li a .icon-country {
  width: 16px;
  height: 16px;
  display: inline-block;
  margin: 0 10px 0 5px;
}

.header-language-icon .header-language .language-dropdown li a:hover {
  color: var(--dark-gray);
  opacity: 1;
}

.header-language-icon .header-language.open .language-dropdown {
  display: block;
  -webkit-animation: show-animation 0.5s;
  animation: show-animation 0.5s;
}

/* Header widget */
.widget-text {
  color: var(--white);
}

header a.widget-text:hover {
  opacity: 0.6;
}



/* Hamburger menu */
.hamburger-nav {
  width: 50%;
  -webkit-transition: 0.5s;
  transition: 0.5s;
}

.hamburger-nav .menu-item-list {
  margin-bottom: 0;
  padding: 0 30px;
}

.hamburger-nav .menu-item-list .menu-item {
  margin: 0;
}

.hamburger-menu .header-icon {
  position: absolute;
  left: 0;
  bottom: -50px;
}

/* Hamburger menu half */
.show-menu .hamburger-menu-half .hamburger-logo {
  transform: translateY(0px);
  opacity: 1;
  transition-delay: 0.2s;
}

.show-menu .hamburger-menu-half .menu-address {
  transform: translateY(0px);
  opacity: 1;
  transition-delay: 0.4s;
}

.show-menu .hamburger-menu-half .menu-text {
  transform: translateY(0px);
  opacity: 1;
  transition-delay: 0.8s;
}

.show-menu .hamburger-menu-half .elements-social {
  transform: translateY(0px);
  opacity: 1;
  transition-delay: 0.8s;
}

.show-menu .hamburger-menu-half .menu-item-list .menu-item {
  transform: translateY(0px);
  -webkit-transform: translateY(0px);
  opacity: 1;
}

.show-menu .hamburger-menu-half .menu-item-list .menu-item:nth-child(1) {
  transition-delay: 0.27s;
}

.show-menu .hamburger-menu-half .menu-item-list .menu-item:nth-child(2) {
  transition-delay: 0.34s;
}

.show-menu .hamburger-menu-half .menu-item-list .menu-item:nth-child(3) {
  transition-delay: 0.41s;
}

.show-menu .hamburger-menu-half .menu-item-list .menu-item:nth-child(4) {
  transition-delay: 0.48s;
}

.show-menu .hamburger-menu-half .menu-item-list .menu-item:nth-child(5) {
  transition-delay: 0.55s;
}

.show-menu .hamburger-menu-half .menu-item-list .menu-item:nth-child(6) {
  transition-delay: 0.62s;
}

.show-menu .hamburger-menu-half .menu-item-list .menu-item:nth-child(7) {
  transition-delay: 0.69s;
}

.show-menu .hamburger-menu-half .menu-item-list .menu-item:nth-child(8) {
  transition-delay: 0.76s;
}

.show-menu .hamburger-menu-half .menu-item-list .menu-item:nth-child(9) {
  transition-delay: 0.83s;
}

.show-menu .hamburger-menu-half .menu-item-list .menu-item:nth-child(10) {
  transition-delay: 0.9s;
}

.show-menu .hamburger-menu-half .menu-item-list .menu-item:nth-child(11) {
  transition-delay: 0.97s;
}

.show-menu .hamburger-menu-half .menu-item-list .menu-item:nth-child(12) {
  transition-delay: 1.04s;
}

.show-menu .hamburger-menu-half .menu-item-list .menu-item:nth-child(13) {
  transition-delay: 1.11s;
}

.show-menu .hamburger-menu-half .menu-item-list .menu-item:nth-child(14) {
  transition-delay: 1.18s;
}

.show-menu .hamburger-menu-half .menu-item-list .menu-item:nth-child(15) {
  transition-delay: 1.25s;
}

.hamburger-menu-half .hamburger-logo {
  transform: translateY(30px);
  opacity: 0;
  transition: transform 0.8s cubic-bezier(0.4, 0.01, 0.165, 0.99), opacity 0.6s cubic-bezier(0.4, 0.01, 0.165, 0.99);
}

.hamburger-menu-half .menu-address {
  transform: translateY(30px);
  opacity: 0;
  transition: transform 0.8s cubic-bezier(0.4, 0.01, 0.165, 0.99), opacity 0.6s cubic-bezier(0.4, 0.01, 0.165, 0.99);
}

.hamburger-menu-half .elements-social {
  transform: translateY(30px);
  opacity: 0;
  transition: transform 0.5s cubic-bezier(0.4, 0.01, 0.165, 0.99), opacity 0.6s cubic-bezier(0.4, 0.01, 0.165, 0.99);
}

.hamburger-menu-half .menu-item-list .menu-item {
  transform: translateY(30px);
  opacity: 0;
  transition: transform 0.8s cubic-bezier(0.4, 0.01, 0.165, 0.99), opacity 0.4s cubic-bezier(0.8, 0.01, 0.165, 0.99);
}

.hamburger-menu-half .menu-item-list .menu-item:nth-child(1) {
  transition-delay: 0.49s;
}

.hamburger-menu-half .menu-item-list .menu-item:nth-child(2) {
  transition-delay: 0.42s;
}

.hamburger-menu-half .menu-item-list .menu-item:nth-child(3) {
  transition-delay: 0.35s;
}

.hamburger-menu-half .menu-item-list .menu-item:nth-child(4) {
  transition-delay: 0.28s;
}

.hamburger-menu-half .menu-item-list .menu-item:nth-child(5) {
  transition-delay: 0.21s;
}

.hamburger-menu-half .menu-item-list .menu-item:nth-child(6) {
  transition-delay: 0.14s;
}

.hamburger-menu-half .menu-item-list .menu-item:nth-child(7) {
  transition-delay: 0.07s;
}

.hamburger-menu-half .menu-item-list .menu-item:nth-child(8) {
  transition-delay: 0s;
}

.hamburger-menu-half .menu-item-list .menu-item:nth-child(9) {
  transition-delay: -0.07s;
}

.hamburger-menu-half .menu-item-list .menu-item:nth-child(10) {
  transition-delay: -0.14s;
}

.hamburger-menu-half .menu-item-list .menu-item:nth-child(11) {
  transition-delay: -0.21s;
}

.hamburger-menu-half .menu-item-list .menu-item:nth-child(12) {
  transition-delay: -0.28s;
}

.hamburger-menu-half .menu-item-list .menu-item:nth-child(13) {
  transition-delay: -0.35s;
}

.hamburger-menu-half .menu-item-list .menu-item:nth-child(14) {
  transition-delay: -0.42s;
}

.hamburger-menu-half .menu-item-list .menu-item:nth-child(15) {
  transition-delay: -0.49s;
}

/* Hamburger menu simple */
.show-menu .hamburger-menu-simple {
  opacity: 1;
  visibility: visible;
  top: 0px;
}

.show-menu .hamburger-menu-simple .hamburger-menu {
  opacity: 1;
}

.show-menu .hamburger-menu-simple .hamburger-logo {
  transform: translateY(0px);
  opacity: 1;
  transition-delay: 0.2s;
}

.show-menu .hamburger-menu-simple .menu-address {
  transform: translateY(0px);
  opacity: 1;
  transition-delay: 0.4s;
}

.show-menu .hamburger-menu-simple .menu-text {
  transform: translateY(0px);
  opacity: 1;
  transition-delay: 0.8s;
}

.show-menu .hamburger-menu-simple .elements-social {
  transform: translateY(0px);
  opacity: 1;
  transition-delay: 0.8s;
}

.show-menu .hamburger-menu-simple .menu-item-list .menu-item {
  transform: scale(1) translateY(0px);
  -webkit-transform: scale(1) translateY(0px);
  opacity: 1;
}

.show-menu .hamburger-menu-simple .menu-item-list .menu-item:nth-child(1) {
  transition-delay: 0.27s;
}

.show-menu .hamburger-menu-simple .menu-item-list .menu-item:nth-child(2) {
  transition-delay: 0.34s;
}

.show-menu .hamburger-menu-simple .menu-item-list .menu-item:nth-child(3) {
  transition-delay: 0.41s;
}

.show-menu .hamburger-menu-simple .menu-item-list .menu-item:nth-child(4) {
  transition-delay: 0.48s;
}

.show-menu .hamburger-menu-simple .menu-item-list .menu-item:nth-child(5) {
  transition-delay: 0.55s;
}

.show-menu .hamburger-menu-simple .menu-item-list .menu-item:nth-child(6) {
  transition-delay: 0.62s;
}

.show-menu .hamburger-menu-simple .menu-item-list .menu-item:nth-child(7) {
  transition-delay: 0.69s;
}

.show-menu .hamburger-menu-simple .menu-item-list .menu-item:nth-child(8) {
  transition-delay: 0.76s;
}

.show-menu .hamburger-menu-simple .menu-item-list .menu-item:nth-child(9) {
  transition-delay: 0.83s;
}

.show-menu .hamburger-menu-simple .menu-item-list .menu-item:nth-child(10) {
  transition-delay: 0.9s;
}

.show-menu .hamburger-menu-simple .menu-item-list .menu-item:nth-child(11) {
  transition-delay: 0.97s;
}

.show-menu .hamburger-menu-simple .menu-item-list .menu-item:nth-child(12) {
  transition-delay: 1.04s;
}

.show-menu .hamburger-menu-simple .menu-item-list .menu-item:nth-child(13) {
  transition-delay: 1.11s;
}

.show-menu .hamburger-menu-simple .menu-item-list .menu-item:nth-child(14) {
  transition-delay: 1.18s;
}

.show-menu .hamburger-menu-simple .menu-item-list .menu-item:nth-child(15) {
  transition-delay: 1.25s;
}

.hamburger-menu-simple {
  width: 100%;
  right: 0;
  opacity: 1;
  visibility: collapse;
  height: 100vh;
  max-height: 100dvh;
  top: -100%;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

.hamburger-menu-simple .navbar-brand {
  position: absolute;
  top: 100px;
  left: 0;
  right: 0;
}

.hamburger-menu-simple .hamburger-menu {
  padding: 30px 0;
  transition: transform 0.5s cubic-bezier(0.4, 0.01, 0.165, 0.99), opacity 0.6s cubic-bezier(0.4, 0.01, 0.165, 0.99);
  transition-delay: 0.4s;
  opacity: 0;
}

.hamburger-menu-simple .hamburger-menu .header-icon {
  bottom: 100px;
}

.hamburger-menu-simple .hamburger-logo {
  transform: translateY(-50px);
  opacity: 0;
  transition: transform 0.5s cubic-bezier(0.4, 0.01, 0.165, 0.99), opacity 0.6s cubic-bezier(0.4, 0.01, 0.165, 0.99);
}

.hamburger-menu-simple .menu-address {
  transform: translateY(-50px);
  opacity: 0;
  transition: transform 0.5s cubic-bezier(0.4, 0.01, 0.165, 0.99), opacity 0.6s cubic-bezier(0.4, 0.01, 0.165, 0.99);
}

.hamburger-menu-simple .menu-text {
  transform: translateY(-50px);
  opacity: 0;
  transition: transform 0.5s cubic-bezier(0.4, 0.01, 0.165, 0.99), opacity 0.6s cubic-bezier(0.4, 0.01, 0.165, 0.99);
}

.hamburger-menu-simple .elements-social {
  transform: translateY(-50px);
  opacity: 0;
  transition: transform 0.5s cubic-bezier(0.4, 0.01, 0.165, 0.99), opacity 0.6s cubic-bezier(0.4, 0.01, 0.165, 0.99);
}

.hamburger-menu-simple .menu-item-list .menu-item {
  transform: scale(1.15) translateY(-30px);
  opacity: 0;
  transition: transform 0.5s cubic-bezier(0.4, 0.01, 0.165, 0.99), opacity 0.6s cubic-bezier(0.4, 0.01, 0.165, 0.99);
}

.hamburger-menu-simple .menu-item-list .menu-item:nth-child(1) {
  transition-delay: 0.49s;
}

.hamburger-menu-simple .menu-item-list .menu-item:nth-child(2) {
  transition-delay: 0.42s;
}

.hamburger-menu-simple .menu-item-list .menu-item:nth-child(3) {
  transition-delay: 0.35s;
}

.hamburger-menu-simple .menu-item-list .menu-item:nth-child(4) {
  transition-delay: 0.28s;
}

.hamburger-menu-simple .menu-item-list .menu-item:nth-child(5) {
  transition-delay: 0.21s;
}

.hamburger-menu-simple .menu-item-list .menu-item:nth-child(6) {
  transition-delay: 0.14s;
}

.hamburger-menu-simple .menu-item-list .menu-item:nth-child(7) {
  transition-delay: 0.07s;
}

.hamburger-menu-simple .menu-item-list .menu-item:nth-child(8) {
  transition-delay: 0s;
}

.hamburger-menu-simple .menu-item-list .menu-item:nth-child(9) {
  transition-delay: -0.07s;
}

.hamburger-menu-simple .menu-item-list .menu-item:nth-child(10) {
  transition-delay: -0.14s;
}

.hamburger-menu-simple .menu-item-list .menu-item:nth-child(11) {
  transition-delay: -0.21s;
}

.hamburger-menu-simple .menu-item-list .menu-item:nth-child(12) {
  transition-delay: -0.28s;
}

.hamburger-menu-simple .menu-item-list .menu-item:nth-child(13) {
  transition-delay: -0.35s;
}

.hamburger-menu-simple .menu-item-list .menu-item:nth-child(14) {
  transition-delay: -0.42s;
}

.hamburger-menu-simple .menu-item-list .menu-item:nth-child(15) {
  transition-delay: -0.49s;
}

.hamburger-menu-simple .menu-item-list .nav-link {
  font-size: 20px;
  width: auto;
  position: relative;
}

.hamburger-menu-simple .menu-item-list .nav-link:hover {
  opacity: 0.6;
}

.hamburger-logo img {
  max-height: 45px;
}

/* Right push menu */
.right-push-menu .menu-item-list .menu-item .toggle {
  top: 18px;
}

.right-push-menu .menu-item-list .sub-menu li .toggle {
  top: 4px;
}

.right-push-menu .menu-item-list .nav-link {
  font-size: 1.5rem;
  line-height: 2.5rem;
}

.right-push-menu .left-menu-bottom {
  margin-top: 30px;
}

.right-push-menu .left-menu-bottom .header-icon {
  position: relative;
  bottom: 0;
}

/* Header search popup */
.show-search-popup {
  overflow: hidden;
}

.show-search-popup header .navbar {
  z-index: 110;
}

.show-search-popup .search-form-wrapper {
  opacity: 1;
  visibility: visible;
  cursor: url(../images/mfg-close.png), auto;
}

.show-search-popup .search-form-wrapper .search-form {
  height: 50%;
  cursor: default;
  visibility: visible;
  opacity: 1;
}

.search-form-wrapper {
  background: rgba(35, 35, 35, 0.9);
  width: 100%;
  left: 0;
  top: 0;
  overflow: hidden !important;
  display: block !important;
  height: 100vh;
  position: fixed;
  visibility: hidden;
  opacity: 0;
  z-index: 999;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}

.search-form-wrapper .search-form {
  height: 0;
  background-color: var(--white);
  width: 100%;
  left: 0;
  top: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  opacity: 0;
  visibility: hidden;
  -webkit-transition: 0.6s;
  transition: 0.6s;
}

.search-form-wrapper .search-form .search-input {
  outline: none;
  border: 0;
  border-bottom: 1px solid rgba(23, 23, 23, 0.2);
  color: var(--dark-gray);
  font-size: 18px;
  padding: 20px 0;
  background: transparent;
  line-height: 2.5rem;
  -webkit-border-radius: 0px;
  border-radius: 0px;
  height: 80px;
  width: 100%;
}

.search-form-wrapper .search-form .search-input::-moz-placeholder {
  color: var(--light-gray);
  opacity: 1;
}

.search-form-wrapper .search-form .search-input::-webkit-input-placeholder {
  color: var(--light-gray);
}

.search-form-wrapper .search-form .search-button {
  color: var(--dark-gray);
  bottom: 24px;
  position: absolute;
  font-size: 25px;
  right: 0;
  line-height: normal;
  outline: none;
  cursor: pointer;
  z-index: 0;
  margin-right: 0;
  border: none;
  background: none;
}

.search-form-wrapper .search-form:hover {
  color: var(--light-gray);
}

.search-form-wrapper .search-close {
  color: var(--black);
  position: fixed;
  top: 30px;
  right: 35px;
  overflow: visible;
  cursor: pointer;
  background: transparent;
  border: 0;
  -webkit-appearance: none;
  display: block;
  outline: none;
  padding: 0;
  z-index: 1046;
  box-shadow: none;
  font-size: 40px;
  font-weight: 300;
  width: 44px;
  height: 44px;
  line-height: 44px;
}

.search-form-wrapper .search-form-box {
  position: relative;
  width: 45%;
}

/* Custom hide animation */
@-webkit-keyframes hide-animation {
  0% {
    opacity: 1;
  }

  to {
    opacity: 0;
  }
}

/* Custom slide animation */
@-webkit-keyframes show-animation {
  0% {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

button:focus {
  outline: none;
}

/* Header toggle button  */
.navbar-toggler {
  font-size: 24px;
  width: 22px;
  height: 14px;
  display: inline-block;
  position: relative;
  padding: 0;
  margin: 0;
  border: none;
  vertical-align: middle;
  border-radius: 0;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

.navbar-toggler:focus {
  box-shadow: none;
}

.navbar-toggler-line {
  background: var(--dark-gray);
  height: 2px;
  width: 22px;
  content: "";
  display: block;
  border-radius: 0;
  position: absolute;
  left: 0;
  right: 0;
  margin-left: auto;
  margin-right: auto;
  -webkit-transform: rotate(0deg);
  transform: rotate(0deg);
  -webkit-transition: 0.25s;
  transition: 0.25s;
}

.navbar-toggler-line:nth-child(1) {
  top: 0px;
  width: 14px;
}

.navbar-toggler-line:nth-child(2) {
  top: 6px;
}

.navbar-toggler-line:nth-child(3) {
  top: 6px;
}

.navbar-toggler-line:nth-child(4) {
  top: 12px;
  width: 14px;
}

.navbar-collapse-show .navbar-toggler-line:nth-child(1) {
  top: 7px;
  width: 0%;
}

.navbar-collapse-show .navbar-toggler-line:nth-child(2) {
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}

.navbar-collapse-show .navbar-toggler-line:nth-child(3) {
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
}

.navbar-collapse-show .navbar-toggler-line:nth-child(4) {
  top: 7px;
  width: 0%;
}

.navbar-modern-inner {
  display: none;
}

.navbar-modern-inner .navbar-toggler {
  display: none;
}

.header-with-topbar+.top-space-margin {
  margin-top: 136px;
}

.header-with-topbar+.top-space-padding {
  padding-top: 136px;
}

.navbar-modern-inner,
.navbar-full-screen-menu-inner {
  display: none;
}

.top-space-margin {
  margin-top: 96px;
}

.top-space-padding {
  padding-top: 96px;
}

/* Landing page header */
.header-demo.navbar .navbar-nav .premium-element {
  padding: 35px 40px;
  border-radius: 13px;
}

.header-demo.navbar .navbar-nav .premium-element a {
  color: #585858;
  padding-bottom: 8px;
}

.header-demo.navbar .navbar-nav .premium-element .sub-title {
  font-size: 18px;
}

.header-demo.navbar .navbar-nav .nav-item:first-child .dropdown-menu a {
  color: var(--dark-gray);
}

.header-demo.navbar .navbar-nav .nav-link {
  font-weight: 600;
}

.header-demo.navbar .navbar-nav .dropdown .dropdown-menu a {
  font-weight: 500;
}

.header-demo.navbar.header-dark .navbar-nav .nav-item:first-child .dropdown-menu a {
  color: var(--white);
}

/* ===================================
   11. Page title
====================================== */
/* Breadcrumb */
.breadcrumb {
  margin: 0;
}

.breadcrumb ul {
  margin: 0;
  padding: 0;
}

.breadcrumb-style-01 ul li {
  display: inline-block;
}

.breadcrumb-style-01 ul li:after {
  content: "\e844";
  font-family: "feather";
  font-size: 13px;
  font-weight: 900;
  display: inline-block;
  vertical-align: middle;
  padding: 0 8px 0 10px;
}

.breadcrumb-style-01 ul li:last-child:after {
  content: "";
  padding: 0;
}

/* Page title style */
.page-title-double-large h1 {
  font-size: 3.6rem;
  line-height: 3.3rem;
}

.page-title-double-large h2 {
  font-size: 17px;
  line-height: 26px;
}

.page-title-extra-large h1 {
  font-size: 3.3rem;
  line-height: 3.3rem;
}

.page-title-extra-large h2 {
  font-size: 18px;
  line-height: 26px;
}

.page-title-large h1 {
  font-size: 2.8rem;
  line-height: 3rem;
}

.page-title-large h2 {
  font-size: 16px;
  line-height: 22px;
}

.page-title-medium h1 {
  font-size: 2rem;
  line-height: 2.2rem;
}

.page-title-medium h2 {
  font-size: 16px;
  line-height: 22px;
}

.page-title-small h1 {
  font-size: 1.625rem;
  line-height: 1.875rem;
}

.page-title-small h2 {
  font-size: 16px;
  line-height: 22px;
}

.page-title-extra-small h1 {
  font-size: 17px;
  line-height: 20px;
}

.page-title-extra-small h2 {
  font-size: 3.8rem;
  line-height: 3.8rem;
}

.page-title-button-style.page-title-button-style {
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}

.page-title-button-style h1 {
  padding: 13px 30px;
  display: inline-block;
}

.page-title-mini-version h1 {
  font-size: 20px;
  line-height: 30px;
}

/* Down section icon */
.down-section {
  position: absolute;
  bottom: 60px;
  left: 0;
  right: 0;
  width: 100%;
}

.down-section a {
  display: inline-block;
}

.down-section.down-bottom {
  bottom: 0;
  -webkit-transform: translateY(50%);
  transform: translateY(50%);
}

/* Down section line */
.down-section-line .section-line {
  position: relative;
}

.down-section-line .section-line:before {
  position: absolute;
  left: 0;
  top: 0;
  content: "";
  height: 0;
  width: 100%;
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
  background-color: var(--base-color);
}

.down-section-line:hover .section-line:before {
  height: 100%;
}

/* ===================================
   12. Layout
====================================== */
/* Sidebar */
.sidebar-list li {
  position: relative;
  display: inline-block;
  width: 100%;
  margin-bottom: 15px;
  line-height: 18px;
}

.sidebar-list li a {
  display: inline-block;
  text-align: left;
}

.sidebar-list li a:hover {
  color: var(--base-color) !important;
}

.sidebar-list li .item-qty {
  font-size: 14px;
  position: absolute;
  top: 1px;
  right: 0;
  text-align: right;
}

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

.latest-post-sidebar {
  list-style: none;
  padding: 0;
  margin: 0;
}

.latest-post-sidebar li {
  margin-bottom: 25px;
}

.latest-post-sidebar li figure {
  height: 65px;
  width: 80px;
  margin: 0;
}

.latest-post-sidebar li .media-body {
  line-height: normal;
  padding-left: 30px;
  position: relative;
  top: -3px;
}

.latest-post-sidebar li:last-child {
  margin-bottom: 0;
}

.popular-post-sidebar {
  list-style: none;
  padding: 0;
  margin: 0;
}

.popular-post-sidebar li {
  margin-bottom: 25px;
}

.popular-post-sidebar li figure {
  height: 100px;
  width: 100px;
  margin: 0;
}

.popular-post-sidebar li .media-body {
  line-height: normal;
  padding-left: 30px;
  position: relative;
}

.popular-post-sidebar li:last-child {
  margin-bottom: 0;
}

.category-list-sidebar {
  list-style: none;
  padding: 0;
  margin: 0;
}

.category-list-sidebar li {
  margin-bottom: 15px;
}

.category-list-sidebar li .btn {
  right: -10%;
  opacity: 0;
  -webkit-transform: scale(0.9);
  transform: scale(0.9);
  -webkit-transition: all 300ms cubic-bezier(0.37, 0.8, 0.63, 1);
  transition: all 300ms cubic-bezier(0.37, 0.8, 0.63, 1);
}

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

.category-list-sidebar li:hover .btn {
  right: -8%;
  opacity: 1;
  -webkit-transform: scale(1);
  transform: scale(1);
}

.post-sidebar.blog-side-image li {
  margin-bottom: 35px;
  width: 100%;
}

.post-sidebar.blog-side-image li .blog-box .blog-image {
  min-height: 1px;
}

.post-sidebar.blog-side-image li:last-child {
  margin-bottom: 0;
}

.tag-cloud a {
  display: inline-block;
  text-align: center;
  font-size: 14px;
  line-height: 20px;
  margin: 0 6px 10px 0;
  padding: 7px 18px;
  border-radius: 4px;
  border: 1px solid var(--extra-medium-gray);
}

.tag-cloud a:hover,
.tag-cloud a.active {
  box-shadow: 0 0 10px rgba(23, 23, 23, 0.1);
  color: var(--dark-gray);
  background-color: var(--white);
}

/* Grid */
.grid {
  list-style: none;
  padding: 0;
  margin: 0;
}

/* Grid column and gutter spacing */
.grid li img {
  width: 100%;
}

.grid .grid-sizer {
  padding: 0 !important;
  margin: 0 !important;
}

.grid.gutter-very-small li {
  padding: 3px 3px;
}

.grid.gutter-small li {
  padding: 5px 5px;
}

.grid.gutter-medium li {
  padding: 7px 7px;
}

.grid.gutter-large li {
  padding: 10px 10px;
}

.grid.gutter-extra-large li {
  padding: 15px;
}

.grid.gutter-double-extra-large li {
  padding: 20px;
}

.grid.gutter-triple-extra-large li {
  padding: 30px;
}

.grid.grid-6col li {
  width: 16.67%;
}

.grid.grid-6col li.grid-item-double {
  width: 33.33%;
}

.grid.grid-6col li.grid-item-single {
  width: 100%;
}

.grid.grid-5col li {
  width: 20%;
}

.grid.grid-5col li.grid-item-double {
  width: 40%;
}

.grid.grid-5col li.grid-item-single {
  width: 100%;
}

.grid.grid-4col li {
  width: 25%;
}

.grid.grid-4col li.grid-item-double {
  width: 50%;
}

.grid.grid-4col li.grid-item-single {
  width: 100%;
}

.grid.grid-3col li {
  width: 33.33%;
}

.grid.grid-3col li.grid-item-double {
  width: 66.67%;
}

.grid.grid-3col li.grid-item-single {
  width: 100%;
}

.grid.grid-2col li {
  width: 50%;
}

.grid.grid-2col li.grid-item-double {
  width: 100%;
}

.grid.grid-2col li.grid-item-single {
  width: 100%;
}

.grid .gutter-large {
  margin-left: 10px;
  margin-right: 10px;
  margin: 0 10px;
}

/* ===================================
    13. Elements
====================================== */
/* Accordion */
.accordion .accordion-item {
  color: inherit;
  border: none;
}

.accordion .accordion-item .accordion-header {
  background-color: transparent;
  border: none;
  padding: 0;
  margin-bottom: 0;
}

.accordion .accordion-item .accordion-header .accordion-title {
  cursor: pointer;
  padding-right: 25px;
}

.accordion .accordion-item .accordion-header .accordion-title i {
  position: absolute;
  top: 50%;
  right: 0;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}

.accordion .accordion-item .accordion-collapse {
  border: 0;
}

/* Accordion style 01 */
.accordion-style-01 .accordion-item {
  margin-bottom: 20px;
  overflow: inherit;
  padding: 20px 35px;
  -webkit-border-radius: 4px !important;
  border-radius: 4px !important;
  -webkit-transition: all 0.6s cubic-bezier(0.165, 0.84, 0.44, 1);
  transition: all 0.6s cubic-bezier(0.165, 0.84, 0.44, 1);
  -webkit-box-shadow: 0px 0px 20px 0px rgba(111, 111, 111, 0.15);
  box-shadow: 0px 0px 20px 0px rgba(111, 111, 111, 0.15);
}

.accordion-style-01 .accordion-item:last-child {
  margin-bottom: 0;
}

.accordion-style-01 .accordion-item .collapse {
  overflow: hidden;
}

.accordion-style-01 .accordion-item .accordion-body {
  padding: 12px 45px 10px 0px;
}

.accordion-style-01 .accordion-item .accordion-header .accordion-title>i {
  position: static;
  -webkit-transform: none;
  transform: none;
}

/* Accordion style 02 */
.accordion-style-02 .accordion-item {
  background-color: transparent;
}

.accordion-style-02 .accordion-item .accordion-header {
  margin-bottom: 0;
  padding: 15px 0;
}

.accordion-style-02 .accordion-item .accordion-header .accordion-title i {
  right: 0;
}

.accordion-style-02 .accordion-item.active-accordion .accordion-header {
  border-bottom-color: transparent !important;
}

.accordion-style-02 .accordion-item .accordion-body {
  padding: 0 25px 30px 0;
}

.accordion-style-02 .right-icon {
  background-color: var(--white);
  color: var(--dark-gray);
}

.accordion-style-02 .right-icon:hover {
  background-color: var(--base-color);
  color: var(--white);
}

/* Accordion style 03 */
.accordion-style-03 .accordion-item {
  margin-bottom: 20px;
  border: 1px solid rgba(255, 255, 255, 0.15) !important;
  -webkit-border-radius: 0;
  border-radius: 0;
  background-color: transparent;
}

.accordion-style-03 .accordion-item .accordion-header {
  padding: 15px 30px;
  -webkit-border-radius: 0;
  border-radius: 0;
}

.accordion-style-03 .accordion-item .accordion-body {
  padding: 30px;
  border-top: 1px solid rgba(255, 255, 255, 0.15) !important;
}

/* Accordion style 04 */
.accordion-style-04 .accordion-item {
  -webkit-transition: all 0.6s cubic-bezier(0.165, 0.84, 0.44, 1);
  transition: all 0.6s cubic-bezier(0.165, 0.84, 0.44, 1);
  -webkit-border-radius: 0;
  border-radius: 0;
  background-color: transparent;
}

.accordion-style-04 .accordion-item .accordion-header {
  padding: 18px 35px;
}

.accordion-style-04 .accordion-item .accordion-body {
  padding: 25px 40px 30px;
}

.accordion-style-04 .accordion-item.active-accordion {
  -webkit-box-shadow: 0px 5px 25px 0px rgba(111, 111, 111, 0.15);
  box-shadow: 0px 5px 25px 0px rgba(111, 111, 111, 0.15);
  background: var(--white);
}

/* Accordion style 05 */
.accordion-style-05 .accordion-item {
  margin-bottom: 20px;
  overflow: hidden;
  padding: 22px 35px 22px 65px;
  position: relative;
  -webkit-border-radius: 4px !important;
  border-radius: 4px !important;
  -webkit-transition: all 0.6s cubic-bezier(0.165, 0.84, 0.44, 1);
  transition: all 0.6s cubic-bezier(0.165, 0.84, 0.44, 1);
  -webkit-box-shadow: 0px 0px 45px 0px rgba(111, 111, 111, 0.15);
  box-shadow: 0px 0px 45px 0px rgba(111, 111, 111, 0.15);
}

.accordion-style-05 .accordion-item:last-child {
  margin-bottom: 0;
}

.accordion-style-05 .accordion-item .collapse {
  overflow: hidden;
}

.accordion-style-05 .accordion-item .accordion-body {
  padding: 10px 45px 10px 0px;
}

.accordion-style-05 .accordion-item .number {
  position: absolute;
  left: -13px;
  top: 15px;
}

.accordion-style-05 .accordion-item.active-accordion {
  -webkit-box-shadow: 0px 15px 40px 5px rgba(111, 111, 111, 0.15);
  box-shadow: 0px 15px 40px 5px rgba(111, 111, 111, 0.15);
}

.accordion-style-05 .accordion-item.active-accordion .number {
  -webkit-text-fill-color: var(--base-color);
  -webkit-text-stroke-color: var(--base-color);
}

/* Accordion style 06 */
.accordion-style-06 .accordion-item {
  margin-bottom: 0;
  overflow: hidden;
  padding: 15px 100px 15px 45px;
  position: relative;
  -webkit-border-radius: 4px !important;
  border-radius: 4px !important;
}

.accordion-style-06 .accordion-item:last-child {
  margin-bottom: 0;
}

.accordion-style-06 .accordion-item .collapse {
  overflow: hidden;
  border-radius: 0;
}

.accordion-style-06 .accordion-item .accordion-body {
  padding: 10px 0 10px 0px;
}

.accordion-style-06 .accordion-item i {
  position: absolute;
  right: -32px;
  top: 50%;
  opacity: 0;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  color: var(--dark-gray);
  -webkit-transform: rotate(-35deg) translateY(-50%);
  transform: rotate(-35deg) translateY(-50%);
}

.accordion-style-06 .accordion-item .collapsing i {
  opacity: 0;
}

.accordion-style-06 .accordion-item.active-accordion {
  padding-top: 30px;
  padding-bottom: 30px;
  background-image: linear-gradient(to bottom, #f2f8f7, #f5fafa, #f9fbfd, #fcfdfe, #ffffff);
}

.accordion-style-06 .accordion-item.active-accordion i {
  opacity: 0.15;
}

/* Alert box */
.alert-success {
  background-color: #f1fbec;
  color: #54b783;
  border-color: #cce8b3;
  padding: 10px 20px 10px 20px;
}

.alert {
  padding: 20px 25px 20px 30px;
  margin-bottom: 30px;
  line-height: 22px;
  position: relative;
  z-index: 1;
  -webkit-border-radius: 4px;
  border-radius: 4px;
}

.alert.alert-success {
  background-color: #f1fbec;
  color: #54b783;
  border-color: #cce8b3;
}

.alert.alert-info {
  background-color: #ebf5f9;
  color: #4278bb;
  border-color: #bce8f1;
}

.alert.alert-warning {
  background-color: #fcf8e3;
  color: #e2ad4b;
  border-color: #faebcc;
}

.alert.alert-danger {
  background-color: #fbf1f1;
  color: #e65656;
  border-color: #efe1e3;
}

.alert strong {
  font-weight: 500;
}

@keyframes hvr-icon-push {
  50% {
    -webkit-trasfrom: scale(0.5);
    trasfrom: scale(0.5);
  }
}

.alert .close {
  opacity: 1;
  font-size: 16px;
  line-height: 22px;
  color: rgba(0, 0, 0, 0.34);
  text-shadow: none;
  float: right;
}

.alert .close i {
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-property: transform;
  transition-property: transform;
  -webkit-transition-timing-function: ease-out;
  transition-timing-function: ease-out;
}

.alert .close:hover i {
  -webkit-animation-name: hvr-icon-push;
  animation-name: hvr-icon-push;
  -webkit-animation-duration: 0.3s;
  animation-duration: 0.3s;
  -webkit-animation-timing-function: linear;
  animation-timing-function: linear;
  -webkit-animation-iteration-count: 1;
  animation-iteration-count: 1;
}

.alert .close:not(:disabled),
.alert .close:not(.disabled):focus,
.alert .close:not(.disabled):hover {
  opacity: 1;
}

/* Alert box style 02 */
.alert-box-style-02 .alert {
  padding: 22px 60px 22px 30px;
  border: none;
  line-height: 22px;
  -webkit-box-shadow: 0px 0 10px 0 rgba(111, 111, 111, 0.1);
  box-shadow: 0px 0 10px 0 rgba(111, 111, 111, 0.1);
}

.alert-box-style-02 .alert.alert-success {
  color: #54b783;
}

.alert-box-style-02 .alert.alert-info {
  color: #4278bb;
}

.alert-box-style-02 .alert.alert-warning {
  color: #e2ad4b;
}

.alert-box-style-02 .alert.alert-danger {
  color: #e65656;
}

.alert-box-style-02 .alert .close {
  height: 100%;
  position: absolute;
  right: 0;
  width: 60px;
  text-align: center;
  top: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  border-left: 1px solid var(--light-medium-gray);
  font-size: 18px;
}

/* Alert box style 03 */
.alert-box-style-03 .alert {
  padding: 20px 30px 20px 55px;
  border: 0;
}

.alert-box-style-03 .alert:before {
  font-family: bootstrap-icons;
  display: inline-block;
  position: absolute;
  left: 25px;
  font-size: 18px;
}

.alert-box-style-03 .alert.alert-success {
  background-color: #54b783;
}

.alert-box-style-03 .alert.alert-success:before {
  content: "\f26b";
}

.alert-box-style-03 .alert.alert-info {
  background-color: #4278bb;
}

.alert-box-style-03 .alert.alert-info:before {
  content: "\f431";
}

.alert-box-style-03 .alert.alert-warning {
  background-color: #e2ad4b;
}

.alert-box-style-03 .alert.alert-warning:before {
  content: "\f567";
}

.alert-box-style-03 .alert.alert-danger {
  background-color: #e65656;
}

.alert-box-style-03 .alert.alert-danger:before {
  content: "\f623";
}

.alert-box-style-03 .alert .close {
  right: -10px;
  position: relative;
}

/* Alert box style 04 */
.alert-box-style-04 .alert {
  padding: 20px 25px 20px 30px;
  border-radius: 0;
  border: none;
  border-left: 3px solid;
}

.alert-box-style-04 .alert:hover {
  -webkit-box-shadow: 0px 0 10px 0 rgba(111, 111, 111, 0.1);
  box-shadow: 0px 0 10px 0 rgba(111, 111, 111, 0.1);
}

.alert-box-style-04 .alert.alert-success {
  color: #54b783;
  border-color: #54b783;
}

.alert-box-style-04 .alert.alert-info {
  color: #4278bb;
  border-color: #4278bb;
}

.alert-box-style-04 .alert.alert-warning {
  color: #e2ad4b;
  border-color: #e2ad4b;
}

.alert-box-style-04 .alert.alert-danger {
  color: #e65656;
  border-color: #e65656;
}

/* Alert box style 05 */
.alert-box-style-05 .alert {
  background-color: transparent;
  padding-left: 0;
  padding-right: 0;
  border: none;
  border-bottom: 2px solid;
  color: var(--dark-gray);
  padding: 10px 0;
  -webkit-border-radius: 0px;
  border-radius: 0px;
}

.alert-box-style-05 .alert.alert-success {
  border-color: #54b783;
}

.alert-box-style-05 .alert.alert-info {
  border-color: #4278bb;
}

.alert-box-style-05 .alert.alert-warning {
  border-color: #e2ad4b;
}

.alert-box-style-05 .alert.alert-danger {
  border-color: #e65656;
}

/* Blockquote */
blockquote footer {
  padding: 0;
}

/* Blockquote style 05 */
.blockquote-style-04 .blockquote-img img {
  margin-top: -114px;
}

.blockquote-style-04 .blockquote-content {
  padding: 5% 0 5% 26%;
  margin-left: -8vw;
  -webkit-border-radius: 50px 50px 125px 50px;
  border-radius: 50px 50px 125px 50px;
}

/* Use for mac desktop pc */
@media only screen and (min-width: 1921px) {
  .blockquote-style-04 .blockquote-content {
    margin-left: -6vw;
  }
}

/* Button */
.btn-box-shadow {
  -webkit-box-shadow: 0 5px 20px rgba(0, 0, 0, 0.1);
  box-shadow: 0 5px 20px rgba(0, 0, 0, 0.1);
  -webkit-transition: all 0.3s cubic-bezier(0.2, 0, 0.3, 1);
  transition: all 0.3s cubic-bezier(0.2, 0, 0.3, 1);
}

.btn-box-shadow:hover {
  -webkit-box-shadow: 0 8px 30px 0 rgba(0, 0, 0, 0.15);
  box-shadow: 0 8px 30px 0 rgba(0, 0, 0, 0.15);
  -webkit-transform: translate3d(0, -2px, 0);
  transform: translate3d(0, -2px, 0);
}

.btn-check:checked+.btn,
.btn.active,
.btn.show,
.btn:first-child:active,
:not(.btn-check)+.btn:active {
  border-color: initial;
  color: initial;
}

.btn {
  display: inline-block;
  border: 2px solid transparent;
  border-radius: 0;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  width: auto;
  font-family: var(--alt-font);
  font-weight: 500;
  -webkit-transition: all 300ms ease-in-out;
  transition: all 300ms ease-in-out;
}

.btn:focus {
  -webkit-box-shadow: none;
  box-shadow: none;
}

.btn:hover {
  background-color: inherit;
}

.btn i {
  position: relative;
  margin-left: 6px;
}

.btn.btn-extra-large {
  font-size: 16px;
  padding: 24px 46px;
}

.btn.btn-large {
  font-size: 14px;
  padding: 18px 34px;
}

.btn.btn-medium {
  font-size: 13px;
  padding: 16px 30px;
}

.btn.btn-small {
  font-size: 12px;
  padding: 13px 26px;
}

.btn.btn-very-small {
  font-size: 11px;
  padding: 10px 20px;
}

.btn.btn-rounded.btn-extra-large {
  padding: 18px 46px;
}

.btn.btn-rounded.btn-large {
  padding: 14px 36px;
}

.btn.btn-rounded.btn-medium {
  padding: 12px 32px;
}

.btn.btn-rounded.btn-small {
  padding: 10px 26px;
}

.btn.btn-rounded.btn-very-small {
  padding: 8px 20px;
}

.btn.btn-rounded.btn-rounded {
  -webkit-border-radius: 50px;
  border-radius: 50px;
}

.btn.btn-round-edge {
  -webkit-border-radius: 4px;
  border-radius: 4px;
}

.btn.btn-round-edge-small {
  -webkit-border-radius: 2px;
  border-radius: 2px;
}

.btn.btn-link {
  padding: 0 0 2px;
  position: relative;
  text-decoration: none;
  border: 0;
  border-bottom: 2px solid;
  letter-spacing: 0;
  background-color: transparent;
}

.btn.btn-link.thin {
  border-bottom: 1px solid;
}

.btn.btn-link:hover {
  opacity: 0.7;
}

.btn.btn-link:focus-visible {
  box-shadow: none;
}

.btn.btn-link-gradient {
  padding: 0 0 3px !important;
  position: relative;
  border: 0;
  background-color: transparent;
}

.btn.btn-link-gradient>span {
  position: absolute;
  bottom: 0;
  left: 0;
  height: 2px;
  width: 100%;
}

.btn.btn-link-gradient.thin span {
  height: 1px;
}

.btn.btn-link-gradient.expand span {
  width: 50%;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

.btn.btn-link-gradient:hover {
  opacity: 0.7;
}

.btn.btn-link-gradient:hover.expand:hover span {
  width: 100%;
}

.btn.btn-expand {
  position: relative;
  z-index: 1;
}

.btn.btn-expand span {
  position: absolute;
  top: 0;
  left: 0;
  width: 50%;
  height: 100%;
  z-index: -1;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

.btn.btn-expand:hover,
.btn.btn-expand:active {
  border-color: transparent;
}





/* ===== my css start ==== */

/* ===== comon btn start ==== */
/* From Uiverse.io by adeladel522 */
.button a {
  position: relative;
  transition: all 0.3s ease-in-out;
  box-shadow: 0px 10px 20px rgba(0, 0, 0, 0.2);
  padding-block: 0.5rem;
  padding-inline: 1.25rem;
  background-color: var(--base-color);
  border-radius: 9999px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  color: #ffff;
  gap: 10px;
  font-weight: bold;
  border: 3px solid #ffffff4d;
  outline: none;
  overflow: hidden;
  font-size: 15px;
  /* z-index: 1; */
  /* width: auto; */
}

.button.btn-outline a {
  background-color: var(--white);
  color: var(--base-color);
  border: 3px solid var(--base-color);
}

.button i {
  width: 24px;
  height: 24px;
  transition: all 0.3s ease-in-out;
}

.button a:hover {
  transform: scale(1.05);
  border-color: #fff9;
}

.button.btn-outline a:hover {
  transform: scale(1.05);
  border-color: #fff9;
  background-color: var(--base-color);
  color: var(--white);
}

.button a:hover {
  transform: scale(1.05);
  border-color: #fff9;
}

.button a:hover i {
  transform: translate(4px);
}

.button a:hover::before {
  animation: shine 1.5s ease-out infinite;
}

.button a::before {
  content: "";
  position: absolute;
  width: 100px;
  height: 100%;
  background-image: linear-gradient(120deg,
      rgba(255, 255, 255, 0) 30%,
      rgba(255, 255, 255, 0.8),
      rgba(255, 255, 255, 0) 70%);
  top: 0;
  left: -100px;
  opacity: 0.6;
  z-index: 0;
}

.button span,
.button i {
  position: relative;
  z-index: 2;
}

@keyframes shine {
  0% {
    left: -100px;
  }

  60% {
    left: 100%;
  }

  to {
    left: 100%;
  }
}

/* ===== comon btn end ==== */

.navbar-collapse {
  flex-basis: 100%;
  flex-grow: 1;
  align-items: start !important;
}

/* ====== banner section start ===== */
.banner_wrapper {
  margin-top: 35px;
  padding-bottom: 0px;
  padding-right: 40px;
  padding-left: 40px;
}

.banner_wrapper .slider-main1 {
  height: 100%;
  width: 100%;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  padding: 100px 0;
  border-radius: 30px;
  background-blend-mode: darken;
  background-color: #00000073;
}

.slider-img1 {
  background-image: url(../img/hero/slider-1.jpg);
}

.slider-img2 {
  background-image: url(../img/hero/slider-2.jpg);
}

/* Navigation */
/* Navigation Wrapper */

.hero-navigation {
  position: absolute;
  top: 50%;
  left: 0;
  width: 100%;
  transform: translateY(-50%);
  z-index: 20;
  pointer-events: none;
}

/* Buttons */

.hero-prev,
.hero-next {
  position: absolute;
  width: 50px;
  height: 50px;

  display: flex;
  align-items: center;
  justify-content: center;

  background: #fff;
  color: var(--base-color);

  border-radius: 50%;
  cursor: pointer;

  pointer-events: auto;

  transition: all .35s ease;

  box-shadow: 0 12px 35px rgba(0, 0, 0, .12);
}

.hero-prev {
  left: 10px;
}

.hero-next {
  right: 10px;
}

/* Icons */

.hero-prev i,
.hero-next i {
  font-size: 26px;
  transition: .35s;
}

/* Hover */

.hero-prev:hover,
.hero-next:hover {
  background: var(--base-color);
  color: #fff;
  transform: translateY(-4px);
  box-shadow: 0 18px 40px rgba(20, 134, 206, .35);
}

.hero-prev:hover i {
  transform: translateX(-4px);
}

.hero-next:hover i {
  transform: translateX(4px);
}

/* Responsive */

@media (max-width:991px) {

  .hero-prev,
  .hero-next {
    width: 50px;
    height: 50px;
  }

  .hero-prev {
    left: 15px;
  }

  .hero-next {
    right: 15px;
  }

  .hero-prev i,
  .hero-next i {
    font-size: 22px;
  }

}

@media (max-width:767px) {

  .hero-navigation {
    display: none;
  }

}

.banner_wrapper {
  position: relative;
  overflow: hidden;
  z-index: 1;
}

.banner_wrapper .cricle-box {
  position: relative;
  padding: 40px;

  /* width: 620px;
  height: 620px; */

  margin: auto;

  /* display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column; */

  text-align: center;
  border-radius: 30px;

  background: rgb(255 255 255 / 0%);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);

  border: 1px solid rgba(255, 255, 255, .35);

  box-shadow:
    0 30px 80px rgba(0, 0, 0, .12),
    inset 0 0 0 1px rgba(255, 255, 255, .18);

  overflow: hidden;

}

/* Glass Highlight */

.banner_wrapper .cricle-box:before {

  content: "";

  position: absolute;

  width: 380px;
  height: 380px;

  background: rgba(255, 255, 255, .18);

  border-radius: 50%;

  top: -120px;
  left: -80px;

  filter: blur(20px);
}

/* Blue Glow */

.banner_wrapper .cricle-box:after {
  content: "";
  position: absolute;
  width: 260px;
  height: 260px;
  right: -70px;
  bottom: -70px;
  border-radius: 50%;
  background: #36C4B6;
  opacity: .18;
  filter: blur(90px);
}

/* Badge */

.sub-heding {
  color: #fff;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 1px;
  text-transform: uppercase;
  margin-bottom: 28px;
}

/* Title */

.hero-title {

  font-size: 55px;
  line-height: 1.1;
  color: #fff;
  font-weight: 800;
  margin-bottom: 24px;
  /* max-width: 580px; */
}

/* Description */

.hero-des {

  font-size: 18px;
  line-height: 1.9;
  color: rgba(255, 255, 255, .88);
  /* max-width: 500px; */
}

/* Floating Animation */

.cricle-box {
  animation: floatCard 6s ease-in-out infinite;
}

@keyframes floatCard {

  0%,
  100% {
    transform: translateY(0px);
  }

  50% {
    transform: translateY(-15px);
  }

}

/* Border Animation */

.cricle-box span {
  position: relative;
  z-index: 5;
}

.cricle-box>* {
  position: relative;
  z-index: 5;
}

/* Responsive */

@media(max-width:991px) {

  .banner_wrapper .cricle-box {
    width: 100%;
    max-width: 560px;
    height: auto;
    padding: 40px 30px;
  }

  .hero-title {
    font-size: 42px;
  }

  .hero-des {
    font-size: 16px;
  }

}

@media(max-width:767px) {

  .banner_wrapper .cricle-box {
    width: 100%;
    max-width: 100%;
    height: auto;
    border-radius: 25px;
    padding: 25px 18px;
  }

  .hero-title {
    font-size: 28px;
  }

  .sub-heding {
    font-size: 11px;
  }

  .hero-des {
    font-size: 14px;
    line-height: 1.6;
  }

}

/* ====== new ===== */

.hero-section {
  position: relative;
  overflow: hidden;
  padding: 170px 0 140px;
  /* margin-top:30px; */
  background-color: var(--dark-gray);
  /* background-image: url(../img/pattern/hero-pattern.png); */
  width: 100%;
  height: 100%;
  background-size: cover;
}

.medical-particles {
  position: absolute;
  inset: 0;
  overflow: hidden;
  pointer-events: none;
  z-index: 1;
}

.medical-particles span {
  position: absolute;
  color: #fff;
  opacity: .02;
  user-select: none;
  animation: floatParticle linear infinite;
}

@keyframes floatParticle {

  0% {
    transform: translateY(30px) rotate(0deg);
    opacity: 0;
  }

  20% {
    opacity: .08;
  }

  80% {
    opacity: .08;
  }

  100% {
    transform: translateY(-120vh) rotate(360deg);
    opacity: 0;
  }

}

.hero-section:before {

  content: "";

  position: absolute;

  width: 700px;

  height: 700px;

  background: #0f6fff12;

  border-radius: 50%;

  right: -250px;

  top: -200px;

}

.hero-tag {

  display: inline-flex;

  align-items: center;

  gap: 10px;

  padding: 10px 20px;

  border-radius: 50px;

  background: #fff;

  box-shadow: 0 15px 40px rgba(0, 0, 0, .08);

  font-size: 13px;

  font-weight: 700;

  color: var(--base-color);

  margin-bottom: 30px;

}

.hero-tag i {

  font-size: 18px;

}

.hero-content h1 {
  font-size: 40px;
  font-weight: 800;
  line-height: 1.08;
  margin-bottom: 25px;
  color: var(--white);
}

.hero-content h1 span {

  color: var(--base-color);

}

.hero-content p {

  font-size: 18px;

  line-height: 34px;

  color: #bbbbbb;

  margin-bottom: 40px;

}

.hero-btns {

  display: flex;

  gap: 20px;

  margin-bottom: 60px;

}



/* ==== */
.hero-image-wrapper {
  position: relative;
  max-width: 580px;
  margin-left: auto;
  padding-left: 30px;
  padding-bottom: 30px;
}

.hero-image {
  position: relative;
  overflow: hidden;
  border-radius: 30px;
  box-shadow: 0 30px 80px rgba(0, 0, 0, .12);
  z-index: 2;
}

.hero-image img {
  width: 100%;
  height: 500px;
  object-fit: cover;
  display: block;
}

.hero-image-wrapper::before {

  content: "";
  position: absolute;
  left: 20px;
  top: 37px;
  width: 80%;
  height: 89%;
  background: #fff;
  border-radius: 30px;
}




.hero-overlay-box {

  position: absolute;

  right: -60px;

  bottom: 45px;

  width: 320px;

  background: #fff;

  border-radius: 24px;

  padding: 28px;

  box-shadow: 0 25px 60px rgba(0, 0, 0, .12);

  border-left: 5px solid var(--base-color);

}

.hero-overlay-box span {

  display: inline-block;

  background: #eef6ff;

  color: var(--base-color);

  font-size: 12px;

  font-weight: 700;

  padding: 7px 14px;

  border-radius: 30px;

  margin-bottom: 15px;

}

.hero-overlay-box h4 {

  font-size: 22px;

  font-weight: 700;

  color: #0f2744;

  margin-bottom: 12px;

  line-height: 1.3;

}

.hero-overlay-box p {

  margin: 0;

  color: #6b7280;

  line-height: 1.8;

  font-size: 15px;

}


@media(max-width:991px) {

  .hero-image-wrapper {

    max-width: 100%;

    margin-top: 0px;
    padding-left: 0;
    padding-bottom: 0;

  }

  .hero-image img {

    height: 100%;
    width: 100%;

  }

  .hero-overlay-box {

    position: relative;

    left: 0;

    bottom: 0;

    width: 100%;

    margin-top: -40px;

    max-width: 90%;

    margin-left: auto;

    margin-right: auto;

  }

}




/* ====== banner section end ===== */

/*==========================
Hero Statistics
==========================*/

.hero-stats {
  /* background: var(--white);
  border-top: 1px solid #eef3f7;
  border-bottom: 1px solid #eef3f7; */
  margin-top: -120px;
  position: relative;
  z-index: 9999999;
}

.hero-stats .row {
  background: var(--white);
  padding: 15px;
  border-radius: 40px;
  box-shadow: rgba(99, 99, 99, 0.2) 0px 2px 8px 0px;
}

.stat-item {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 20px;
  padding: 18px 30px;
}

/* White Icon Circle */

.stat-icon {
  width: 72px;
  height: 72px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #1486ce1f;
  border: 1px solid #e7eef5;
  border-radius: 50%;
  flex-shrink: 0;
  transition: .35s;
}

.stat-icon i {
  font-size: 32px;
  color: var(--base-color);
}

/* Content */

.stat-content h3 {
  margin: 0;
  font-size: 26px;
  font-weight: 800;
  color: var(--base-color);
  line-height: 1;
}

.stat-content span {
  display: block;
  margin-top: 8px;
  font-size: 14px;
  /* font-weight: 600; */
  color: var(--aluminium-grey);
}

/* Divider */

.border-start {
  border-left: 1px solid #e7eef5 !important;
}

.border-end {
  border-right: 1px solid #e7eef5 !important;
}

/* Hover */

.stat-item:hover .stat-icon {
  border-color: var(--base-color);
  transform: translateY(-4px);
}

.stat-item:hover .stat-icon i {
  transform: scale(1.1);
}

/* Mobile */

@media(max-width:991px) {

  .stat-item {
    justify-content: center;
    /* padding: 25px 0; */
  }

  .border-start,
  .border-end {
    border: none !important;
  }

  .hero-stats .col-md-4 {
    border-bottom: 1px solid #eef3f7;
  }

  .hero-stats .col-md-4:last-child {
    border-bottom: none;
  }

}

/*==========================
Hero Statistics end
==========================*/

/* ===== about section start ==== */
.about-section {
  background: var(--light-bg);
  position: relative;
  overflow: hidden;
  padding-top: 90px;
  margin-top: -92px;
}

.about-image-wrapper {
  position: relative;
}

.about-main-image {
  border-radius: 30px;
  width: 100%;
  height: 700px;
  object-fit: cover;
  box-shadow: rgba(99, 99, 99, 0.2) 0px 2px 8px 0px;
  z-index: 999;
  position: relative;
}

.about-page-img {
  height: 460px;
}

.experience-card {

  position: absolute;

  top: 35px;
  left: -30px;

  width: 170px;

  background: #fff;

  border-radius: 20px;

  padding: 25px;

  text-align: center;

  box-shadow: 0 20px 45px rgba(0, 0, 0, .08);
}

.experience-card h2 {

  color: var(--base-color);

  font-size: 48px;

  font-weight: 800;

  margin: 0;
}

.experience-card span {

  font-weight: 600;

  color: var(--medium-gray);
}



.dot-pattern {
  position: absolute;
  width: 180px;
  height: 180px;
  top: -40px;
  right: -40px;
  opacity: .12;
  background-image: radial-gradient(var(--base-color) 2px, transparent 2px);
  background-size: 18px 18px;
  z-index: 99;
}

.white-color{
  opacity: 0.8;
  background-image: radial-gradient(#ffffff 2px, transparent 2px);
}

.section-badge {
  display: inline-block;
  padding: 10px 22px;
  border-radius: 50px;
  background: var(--light-blue);
  color: var(--base-color);
  font-weight: 700;
}

.section-title {
  font-size: 48px;
  font-weight: 800;
  color: var(--dark-gray);
  line-height: 1.2;
}

.section-subhed{
    margin-top: 18px;
    margin-bottom: 12px;
    font-family: var(--primary-font);
    font-size: 18px;
    font-weight: 600;
    line-height: 1.5;

    color: var(--base-color);
}

 .section-desc {
    max-width: 850px;
    margin-left: auto;
    margin-right: auto;
    font-family: var(--primary-font);
    font-size: 15px;
    line-height: 1.8;
    color: var(--medium-gray);
}


.credential-box {
  display: flex;
  gap: 15px;
  align-items: center;
  background: #fff;
  border-radius: 18px;
  padding: 18px;
  border: 1px solid #edf2f7;
  transition: .35s;
}

.credential-box i {

  width: 58px;
  height: 58px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--light-blue);
  color: var(--base-color);
  border-radius: 16px;
  font-size: 28px;
}

.credential-box h6 {
  margin: 0;
  font-weight: 700;
  color: var(--dark-gray);
}

.credential-box span {
  color: var(--medium-gray);
  font-size: 13px;
}

.credential-box:hover {
  transform: translateY(-6px);
  box-shadow: 0 18px 35px rgba(20, 134, 206, .12);
}

.theme-btn {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  padding: 16px 34px;
  border-radius: 60px;
  background: var(--base-color);
  color: #fff;
  text-decoration: none;
  font-weight: 700;
  transition: .35s;
}

.theme-btn:hover {
  background: var(--secondary-color);
  color: #fff;
}

.theme-btn i {
  font-size: 20px;
}

@media(max-width:991px) {

  .about-image-wrapper {
    overflow: hidden;
    border-radius: 30px;
  }

  .experience-card {
    left: 15px;
  }

  .floating-card {
    right: 15px;
    min-width: auto;
  }

  .dot-pattern {
    right: 0;
    top: 0;
    max-width: 100%;
  }

  .section-title {
    font-size: 38px;
  }

}

@media(max-width:767px) {

  .section-title {
    font-size: 30px;
  }

}

@media(max-width:575px) {

  .experience-card {
    position: relative;
    top: auto;
    left: auto;
    width: 100%;
    margin-top: 15px;
  }

  .floating-card {
    position: relative;
    bottom: auto;
    right: auto;
    width: 100%;
    margin-top: 15px;
  }

  .dot-pattern {
    display: none;
  }

}

/* ===== about section end ==== */

/* ===== work flow start === */
/*=====================================
Workflow Section
=====================================*/

.workflow-section {
  position: relative;
}

.workflow-nav {
  position: relative;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 15px;
  margin-bottom: 60px;
}

.workflow-line {
  position: absolute;
  left: 5%;
  right: 5%;
  top: 70px;
  height: 2px;
  background: rgba(13, 110, 253, 0.15);
  z-index: 0;
}

@media(max-width: 991px) {
  .workflow-line {
    display: none;
  }
}

.step-num {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: #f1f7fc;
  color: var(--base-color);
  font-size: 12px;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 5px;
  position: relative;
  z-index: 2;
  transition: .35s;
}

.workflow-tab.active .step-num {
  background: var(--secondary-color);
  color: #fff;
  box-shadow: 0 0 0 4px rgba(13, 253, 173, 0.2);
}

.workflow-tab {

  width: 150px;
  background: #fff;
  border: none;
  border-radius: 20px;
  padding: 22px 10px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  cursor: pointer;
  position: relative;
  z-index: 2;
  transition: .35s;
  box-shadow: 0 10px 30px rgba(20, 134, 206, .08);
}

.workflow-tab span {
  font-size: 13px;
  color: var(--base-color);
  font-weight: 700;
  letter-spacing: 1px;
  margin-top: -35px;
}

.workflow-tab i {
  width: 60px;
  height: 60px;
  border-radius: 50%;
  background: var(--light-blue);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--base-color);
  font-size: 28px;
  transition: .35s;
}

.workflow-tab small {
  font-size: 13px;
  font-weight: 700;
  color: var(--dark-gray);
}


.workflow-tab:hover {
  transform: translateY(-8px);
}

.workflow-tab.active {
  background: var(--secondary-color);
}

.workflow-tab.active span,
.workflow-tab.active small {
  color: #fff;
}

.workflow-tab.active i {
  background: #fff;
  color: var(--secondary-color);
  transform: scale(1.08);
}

.workflow-tab.active::after {
  content: '';
  position: absolute;
  bottom: -10px;
  left: 50%;
  transform: translateX(-50%);
  width: 0;
  height: 0;
  border-left: 10px solid transparent;
  border-right: 10px solid transparent;
  border-top: 10px solid var(--secondary-color);
}



.workflow-note {
  display: flex;
  align-items: flex-start;
  gap: 15px;

  padding: 18px 20px;

  background: #F8FBFD;

  border: 1px solid rgba(20, 134, 206, .10);

  border-radius: 16px;

  box-shadow: 0 8px 25px rgba(20, 134, 206, .05);
}

.workflow-note>i {
  width: 42px;
  height: 42px;

  min-width: 42px;

  display: flex;
  align-items: center;
  justify-content: center;

  border-radius: 12px;

  background: var(--light-blue);

  color: var(--base-color);

  font-size: 20px;
}

.workflow-note p {
  margin: 0;

  color: var(--medium-gray);

  font-size: 14px;

  line-height: 1.7;
}

@media(max-width:575px) {

  .workflow-note {
    gap: 12px;
    padding: 15px;
  }

  .workflow-note>i {
    width: 38px;
    height: 38px;
    min-width: 38px;
    font-size: 18px;
  }

  .workflow-note p {
    font-size: 13px;
    line-height: 1.6;
  }

}

/*==========================*/

.workflow-content {
  background: #fff;
  border-radius: 30px;
  padding: 30px;
  box-shadow: 0 20px 60px rgba(20, 134, 206, .08);
  overflow: hidden;
}

/*==========================*/

.workflow-panel {
  display: none;
  animation: fadeUp .5s ease;
}

.workflow-panel.active {
  display: block;
}

@keyframes fadeUp {
  from {
    opacity: 0;
    transform: translateY(20px);
  }

  to {
    opacity: 1;
    transform: none;
  }
}

/*==========================*/

.phase-badge {
  display: inline-block;
  background: var(--light-blue);
  color: var(--base-color);
  padding: 8px 18px;
  border-radius: 40px;
  font-weight: 700;
  margin-bottom: 18px;
}

.workflow-panel h3 {
  font-size: 42px;
  font-weight: 800;
  color: var(--dark-gray);
  margin-bottom: 18px;
}

.workflow-panel p {
  color: var(--medium-gray);
  line-height: 1.9;
  margin-bottom: 20px;
}

/*==========================*/

.step-box {
  padding: 22px;
  border-radius: 18px;
  border: 1px solid #edf2f7;
  transition: .35s;
  background: #fff;
  height: 100%;
}

.step-box-main {
  display: flex;
  gap: 16px;
  align-items: center;
}

.step-box-main i {
  width: 55px;
  height: 55px;
  background: var(--light-blue);
  border-radius: 15px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--base-color);
  font-size: 24px;
  flex-shrink: 0;
}

.step-box h6 {
  margin-bottom: 6px;
  font-size: 18px;
  font-weight: 700;
  color: var(--dark-gray);
}

.step-box span {
  color: var(--medium-gray);
  font-size: 14px;
  line-height: 1.7;
}

.step-box:hover {
  transform: translateY(-6px);
  box-shadow: 0 15px 40px rgba(20, 134, 206, .10);
}

/*==========================*/

.workflow-panel img {
  width: 100%;
  max-width: 420px;
  height: 100%;
  object-fit: cover;
  display: block;
  margin: auto;
  border-radius: 20px;
  border: 1px solid rgba(20, 134, 206, 0.15);
  /* Primary blue with low opacity */
  box-shadow:
    0 10px 30px rgba(0, 0, 0, 0.10),
    0 2px 8px rgba(0, 0, 0, 0.06);
  transition: all 0.3s ease;
}

.workflow-panel img:hover {
  transform: translateY(-4px);
  box-shadow:
    0 18px 40px rgba(0, 0, 0, 0.16),
    0 6px 16px rgba(0, 0, 0, 0.08);
}

/*==========================*/

@media(max-width:1200px){
    .workflow-nav {
    overflow-x: auto;
    justify-content: flex-start;
    padding-bottom: 15px;
    flex-wrap: nowrap;
    width: 100%;
    max-width: 100%;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: thin;
    scrollbar-color: var(--base-color, #1486CE) #f1f1f1;
  }
  .workflow-nav::-webkit-scrollbar {
    height: 4px;
  }

  .workflow-nav::-webkit-scrollbar-track {
    background: #f1f1f1;
    border-radius: 10px;
  }

  .workflow-nav::-webkit-scrollbar-thumb {
    background: var(--base-color, #1486CE);
    border-radius: 10px;
  }

  .workflow-line {
    display: none;
  }

  .workflow-tab {
    min-width: 130px;
    flex-shrink: 0;
    margin-top: 25px;
  }
}
@media(max-width:991px) {

  .workflow-content {
    padding: 35px;
  }

  .workflow-panel h3 {
    font-size: 30px;
  }

}

@media(max-width:767px) {

  .workflow-content {
    padding: 25px;
  }

  .workflow-tab {

    min-width: 120px;

    padding: 18px 8px;
  }

  .workflow-tab i {

    width: 50px;
    height: 50px;

    font-size: 22px;
  }

  .workflow-panel h3 {

    font-size: 26px;
  }

}

.workflow-list {
  margin: 30px 0 0;
  padding: 0;
  list-style: none;
}

.workflow-list li {
  display: flex;
  align-items: flex-start;
  gap: 14px;

  margin-bottom: 18px;

  font-size: 16px;
  font-weight: 500;
  color: var(--medium-gray);

  line-height: 1.7;
}

.workflow-list li i {
  width: 42px;
  height: 42px;
  min-width: 42px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--light-blue);
  color: var(--base-color);
  background: var(--base-color);
  color: #fff;
  border-radius: 12px;
  font-size: 20px;
  transition: .35s;
}

.workflow-list li:hover i {
  background: var(--secondary-color);
  color: var(--white);
  transform: rotate(-8deg);
}

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

/* ===== work flow end === */

/*=========================
Services Section
=========================*/

.services-section {
    position: relative;
    padding: 80px 0;
    background: var(--dark-gray);
    overflow: hidden;
    isolation: isolate;
}

/* Premium background pattern */
.services-section::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -2;

    background-image:
        radial-gradient(circle at 15% 20%, rgba(59, 194, 178, 0.12) 0, transparent 28%),
        radial-gradient(circle at 85% 75%, rgba(20, 134, 206, 0.14) 0, transparent 30%),
        radial-gradient(rgba(255, 255, 255, 0.10) 1px, transparent 1px);

    background-size:
        100% 100%,
        100% 100%,
        24px 24px;

    background-position:
        center,
        center,
        center;
}

/* Subtle grid lines */
.services-section::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    pointer-events: none;

    background:
        linear-gradient(
            90deg,
            transparent 49.5%,
            rgba(255, 255, 255, 0.025) 50%,
            transparent 50.5%
        ),
        linear-gradient(
            0deg,
            transparent 49.5%,
            rgba(255, 255, 255, 0.025) 50%,
            transparent 50.5%
        );

    background-size: 120px 120px;
    mask-image: linear-gradient(to bottom, transparent, #000 20%, #000 80%, transparent);
}


/*==========================
SECTION TITLE
==========================*/

.service-subtitle {

  display: inline-block;

  padding: 8px 18px;

  border-radius: 50px;

  background: var(--light-blue);

  color: var(--base-color);

  font-size: 14px;

  font-weight: 700;

  letter-spacing: 1px;

  margin-bottom: 18px;
}

.service-title {

  font-size: 48px;

  font-weight: 800;

  color: var(--dark-gray);

  line-height: 1.2;

  margin-bottom: 18px;
}

.service-desc {

  color: var(--medium-gray);

  max-width: 720px;

  margin: auto;

  line-height: 1.8;
}

/*==========================
SWIPER
==========================*/

.services-slider {

  margin-top: 70px;

  padding-bottom: 15px;
}

.services-slider .swiper-slide {

  height: auto;
}

.service-btn-slider {
  top: 65%;
}

/*==========================
CARD
==========================*/

.service-card {

  background: #fff;

  border-radius: 24px;

  overflow: hidden;

  border: 1px solid #E8EEF4;

  transition: .45s;

  height: 100%;

  display: flex;

  flex-direction: column;
}

.service-card:hover {

  /* transform:translateY(-5px); */

  border-color: var(--base-color);

  box-shadow: 0 25px 60px rgba(20, 134, 206, .12);
}

/*==========================
IMAGE
==========================*/

.service-image {

  position: relative;

  overflow: hidden;

  height: 240px;
}

.service-image img {

  width: 100%;

  height: 100%;

  object-fit: cover;

  transition: .7s;
}

.service-card:hover .service-image img {

  transform: scale(1.08);
}

.service-image::after {

  content: '';

  position: absolute;

  inset: 0;

  background: linear-gradient(180deg, transparent 30%, rgba(0, 0, 0, .25));

  opacity: 0;

  transition: .4s;
}

.service-card:hover .service-image::after {

  opacity: 1;
}

/*==========================
CONTENT
==========================*/

.service-content {

  padding: 30px;

  display: flex;

  flex-direction: column;

  flex-grow: 1;
}

.service-badge {

  display: inline-block;

  background: #EAF6FD;

  color: var(--base-color);

  padding: 8px 18px;

  border-radius: 50px;

  font-size: 13px;

  font-weight: 700;

  margin-bottom: 18px;
}

.service-content h3 {

  font-size: 24px;

  font-weight: 700;

  color: var(--dark-gray);

  line-height: 1.35;

  margin-bottom: 15px;

  transition: .3s;
}

.service-card:hover h3 {

  color: var(--base-color);
}

.service-content p {

  color: var(--medium-gray);

  line-height: 1.8;

  font-size: 15px;

  margin-bottom: 28px;

  min-height: 58px;
}

/*==========================
FOOTER
==========================*/

.service-footer {

  border-top: 1px solid #EDF2F6;

  padding-top: 22px;

  margin-top: auto;
}

/*==========================
BUTTON
==========================*/

.service-btn {

  display: flex;

  justify-content: space-between;

  align-items: center;

  text-decoration: none;

  font-weight: 700;

  color: var(--dark-gray);

  transition: .35s;
}

.service-btn span {

  width: 42px;

  height: 42px;

  border-radius: 50%;

  background: #EAF6FD;

  color: var(--base-color);

  display: flex;

  justify-content: center;

  align-items: center;

  transition: .35s;
}

.service-btn i {

  font-size: 20px;
}

.service-card:hover .service-btn {

  color: var(--base-color);
}

.service-card:hover .service-btn span {

  background: var(--base-color);

  color: #fff;

  transform: rotate(45deg);
}

/*==========================
NAVIGATION
==========================*/

.services-slider .swiper-button-next,
.services-slider .swiper-button-prev {

  width: 58px;

  height: 58px;

  background: #fff;

  border-radius: 50%;

  box-shadow: 0 12px 35px rgba(0, 0, 0, .08);

  color: var(--base-color);

  transition: .35s;
}

.services-slider .swiper-button-next::after,
.services-slider .swiper-button-prev::after {

  font-size: 18px;

  font-weight: 700;
}

.services-slider .swiper-button-next:hover,
.services-slider .swiper-button-prev:hover {

  background: var(--base-color);

  color: #fff;
}

/*==========================
RESPONSIVE
==========================*/

@media(max-width:991px) {

  .service-title {

    font-size: 38px;
  }

  .service-image {

    height: 220px;
  }

}

@media(max-width:767px) {

  .services-section {

    padding: 80px 0;
  }

  .service-title {

    font-size: 30px;
  }

  .service-content {

    padding: 25px;
  }

  .service-image {

    height: 210px;
  }

  .services-slider {

    margin-top: 50px;
  }

}

/* ===== service section end ==== */

/* ===== why choose us start ==== */
/* =========================================================
   VALUE SECTION
========================================================= */

.value-section {
    position: relative;
    padding: 90px 0;
    overflow: hidden;
}


/* =========================================================
   BACKGROUND DECORATION
========================================================= */

.value-section::before {
    content: "";
    position: absolute;

    width: 340px;
    height: 340px;

    top: -170px;
    right: -140px;

    border-radius: 50%;

    background: rgba(0, 133, 210, 0.045);

    pointer-events: none;
}

.value-section::after {
    content: "";
    position: absolute;

    width: 280px;
    height: 280px;

    bottom: -140px;
    left: -120px;

    border-radius: 50%;

    background: rgba(47, 202, 174, 0.05);

    pointer-events: none;
}


/* =========================================================
   CONTAINER
========================================================= */

.value-section .container {
    position: relative;
    z-index: 2;
}


/* =========================================================
   TOP LEFT PATTERN
========================================================= */

.value-section .container::before {
    content: "";

    position: absolute;

    top: -30px;
    left: -35px;

    width: 85px;
    height: 85px;

    background-image:
        radial-gradient(
            var(--base-color) 1.2px,
            transparent 1.2px
        );

    background-size: 10px 10px;

    opacity: 0.16;

    pointer-events: none;
}


/* =========================================================
   SECTION SUB HEADING
========================================================= */

.value-section .section-subhed {
    margin-top: 18px;
    margin-bottom: 12px;

    color: var(--base-color);

    font-family: var(--primary-font);
    font-size: 18px;
    font-weight: 600;

    line-height: 1.5;
}


/* =========================================================
   SECTION DESCRIPTION
========================================================= */

.value-section .section-desc {
    max-width: 850px;

    margin-left: auto;
    margin-right: auto;

    color: var(--medium-gray);

    font-family: var(--primary-font);
    font-size: 15px;

    line-height: 1.8;
}


/* =========================================================
   VALUE CARD
========================================================= */

.value-card {
    position: relative;

    height: 100%;
    min-height: 335px;

    padding: 32px 30px;

    background: var(--white);

    border: 1px solid rgba(0, 133, 210, 0.10);

    border-radius: 18px;

    overflow: hidden;

    box-shadow:
        0 8px 28px rgba(29, 43, 58, 0.06);

    transition:
        transform 0.35s ease,
        box-shadow 0.35s ease,
        border-color 0.35s ease;
}


/* =========================================================
   TOP LEFT PATTERN INSIDE CARD
========================================================= */

.value-card::before {
    content: "";

    position: absolute;

    top: 0;
    left: 0;

    width: 75px;
    height: 75px;

    background-image:
        radial-gradient(
            var(--base-color) 1px,
            transparent 1px
        );

    background-size: 9px 9px;

    opacity: 0.10;

    pointer-events: none;

    transition:
        opacity 0.35s ease;
}




/* =========================================================
   ICON
========================================================= */

.value-icon {
    position: relative;

    width: 72px;
    height: 72px;

    margin-bottom: 25px;

    display: flex;
    align-items: center;
    justify-content: center;

    z-index: 2;
}

.value-icon img {
    display: block;

    width: 100%;
    height: 100%;

    object-fit: contain;

    transition:
        transform 0.35s ease;
}


/* =========================================================
   CONTENT
========================================================= */

.value-content {
    position: relative;
    z-index: 2;
}


/* =========================================================
   TITLE
========================================================= */

.value-card h4 {
    position: relative;

    display: inline-block;

    margin: 0 0 18px;

    padding-bottom: 11px;

    color: var(--dark-gray);

    font-family: var(--primary-font);

    font-size: 21px;
    font-weight: 700;

    line-height: 1.35;
}


/* =========================================================
   TURQUOISE TITLE UNDERLINE
========================================================= */

.value-card h4::after {
    content: "";

    position: absolute;

    left: 0;
    bottom: 0;

    width: 45px;
    height: 3px;

    border-radius: 10px;

    background: var(--secondary-color);

    transition:
        width 0.35s ease;
}


/* =========================================================
   DESCRIPTION
========================================================= */

.value-card p {
    position: relative;

    margin: 0;

    color: var(--medium-gray);

    font-family: var(--primary-font);

    font-size: 15px;
    font-weight: 400;

    line-height: 1.75;
}


/* =========================================================
   HOVER
========================================================= */

.value-card:hover {
    transform: translateY(-7px);

    border-color: rgba(0, 133, 210, 0.20);

    box-shadow:
        0 18px 40px rgba(29, 43, 58, 0.11);
}

.value-card:hover::before {
    opacity: 0.18;
}

.value-card:hover::after {
    width: 70px;
}

.value-card:hover .value-icon img {
    transform: scale(1.08);
}

.value-card:hover h4::after {
    width: 70px;
}


/* =========================================================
   SECONDARY CARD VARIATION
========================================================= */

.value-card:nth-child(2)::after,
.value-card:nth-child(5)::after {
    background: var(--secondary-color);
}


/* =========================================================
   REMOVE OLD IMAGE / VISUAL STYLES
========================================================= */

.valu-img-bg {
    display: none !important;
}

.value-visual {
    display: none !important;
}


/* =========================================================
   REMOVE OLD ACTIVE / GREEN BACKGROUNDS
========================================================= */

.value-card.active,
.value-card.green {
    background: var(--white);
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 1199px) {

    .value-card {
        min-height: 330px;
        padding: 30px 27px;
    }

    .value-icon {
        width: 68px;
        height: 68px;
    }

    .value-card h4 {
        font-size: 20px;
    }

    .value-card p {
        font-size: 14px;
        line-height: 1.72;
    }
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 991px) {

    .value-section {
        padding: 80px 0;
    }

    .value-section .container::before {
        left: -20px;
    }

    .value-card {
        min-height: 320px;
        padding: 28px;
    }

    .value-icon {
        width: 65px;
        height: 65px;
        margin-bottom: 22px;
    }
}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767px) {

    .value-section {
        padding: 65px 0;
    }

    .value-section::before {
        width: 210px;
        height: 210px;

        top: -105px;
        right: -105px;
    }

    .value-section::after {
        width: 180px;
        height: 180px;

        bottom: -90px;
        left: -90px;
    }

    .value-section .container::before {
        width: 60px;
        height: 60px;

        top: -18px;
        left: 0;

        background-size: 8px 8px;
    }

    .value-section .section-subhed {
        font-size: 16px;
    }

    .value-section .section-desc {
        font-size: 14px;
        line-height: 1.7;
    }

    .value-card {
        min-height: auto;

        padding: 25px;

        border-radius: 17px;
    }

    .value-card::after {
        left: 25px;
    }

    .value-icon {
        width: 62px;
        height: 62px;

        margin-bottom: 20px;
    }

    .value-card h4 {
        font-size: 19px;

        margin-bottom: 17px;
        padding-bottom: 10px;
    }

    .value-card p {
        font-size: 14px;
        line-height: 1.7;
    }
}


/* =========================================================
   SMALL MOBILE
========================================================= */

@media (max-width: 480px) {

    .value-section {
        padding: 55px 0;
    }

    .value-card {
        padding: 23px;
        border-radius: 16px;
    }

    .value-icon {
        width: 58px;
        height: 58px;
    }

    .value-card h4 {
        font-size: 18px;
    }

    .value-card p {
        font-size: 14px;
        line-height: 1.7;
    }

    .value-card::after {
        left: 23px;
    }
}

/* =========================================================
   VALUE CARD
========================================================= */

.value-card.has-visual {
    position: relative;

    height: 100%;
    min-height: 390px;

    padding: 22px;

    display: flex;
    flex-direction: column;
    align-items: stretch;

    overflow: hidden;

    background: var(--white);

    border: 1px solid rgba(0, 133, 210, 0.12);

    border-radius: 20px;

    box-shadow:
        0 10px 30px rgba(29, 43, 58, 0.08);

    transition:
        transform 0.35s ease,
        box-shadow 0.35s ease;
}


/* =========================================================
   IMAGE — TOP
========================================================= */

.value-card.has-visual .bg-img {
    position: relative;

    width: 100%;
    height: 190px;

    flex-shrink: 0;

    overflow: hidden;

    border-radius: 15px;

    margin-bottom: 24px;
}

.value-card.has-visual .bg-img img {
    display: block;

    width: 100%;
    height: 100%;

    object-fit: cover;

    object-position: center;

    transition: transform 0.5s ease;
}


/* =========================================================
   CONTENT
========================================================= */

.value-card.has-visual .value-content {
    position: relative;

    padding: 0 6px;
}


/* =========================================================
   TITLE
========================================================= */

.value-card.has-visual .value-content h4 {
    position: relative;

    display: inline-block;

    margin: 0 0 17px;

    padding-bottom: 11px;

    color: var(--dark-gray);

    font-family: var(--primary-font);

    font-size: 21px;

    font-weight: 700;

    line-height: 1.35;
}


/* =========================================================
   TURQUOISE UNDERLINE
========================================================= */

.value-card.has-visual .value-content h4::after {
    content: "";

    position: absolute;

    left: 0;
    bottom: 0;

    width: 45px;
    height: 3px;

    border-radius: 10px;

    background: var(--secondary-color);

    transition: width 0.35s ease;
}


/* =========================================================
   DESCRIPTION
========================================================= */

.value-card.has-visual .value-content p {
    margin: 0;

    color: var(--medium-gray);

    font-family: var(--primary-font);

    font-size: 15px;

    line-height: 1.75;
}


/* =========================================================
   HOVER
========================================================= */

.value-card.has-visual:hover {
    transform: translateY(-7px);

    box-shadow:
        0 18px 40px rgba(29, 43, 58, 0.12);
}

.value-card.has-visual:hover .bg-img img {
    transform: scale(1.04);
}

.value-card.has-visual:hover .value-content h4::after {
    width: 68px;
}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767px) {

    .value-card.has-visual {
        min-height: auto;

        padding: 18px;

        border-radius: 17px;
    }

    .value-card.has-visual .bg-img {
        height: 180px;

        margin-bottom: 20px;

        border-radius: 13px;
    }

    .value-card.has-visual .value-content {
        padding: 0 4px;
    }

    .value-card.has-visual .value-content h4 {
        font-size: 19px;

        margin-bottom: 15px;
    }

    .value-card.has-visual .value-content p {
        font-size: 14px;

        line-height: 1.7;
    }
}

/* ===== timline section ===== */
/*=========================================
        IBH ADVANTAGE SECTION
==========================================*/

.ibh-advantage-section {
  position: relative;
  padding: 100px 0;
  background: #f8fbff;
  overflow: hidden;
}

.ibh-main {
  margin-top: 80px;
}

/*==============================
        CENTER AREA
===============================*/

.ibh-center {
  position: relative;
  width: 100%;
  /* min-height:650px; */
  display: flex;
  justify-content: center;
  align-items: center;
}

.ibh-ring {
  position: absolute;
  border-radius: 50%;
  border: 2px dashed rgba(0, 114, 255, .12);
}

.ibh-ring.ring-1 {
  width: 380px;
  height: 380px;
}

.ibh-ring.ring-2 {
  width: 280px;
  height: 280px;
  border-style: solid;
  border-color: rgba(0, 114, 255, .08);
}

.ibh-ring.ring-3 {
  width: 190px;
  height: 190px;
  border-style: dashed;
  border-color: rgba(0, 114, 255, .12);
}

.ibh-logo {
  width: 140px;
  height: 140px;
  background: #fff;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  box-shadow:
    0 30px 80px rgba(0, 0, 0, .08),
    0 0 0 18px rgba(0, 114, 255, .04);
  z-index: 5;
}

.ibh-logo img {
  width: 120px;
  max-width: 100%;
}

/*==============================
          FEATURE CARD
===============================*/

.ibh-feature {
  position: relative;
  background: #fff;
  border-radius: 24px;
  padding: 20px;
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 30px;
  box-shadow: 0 15px 45px rgba(0, 0, 0, .05);
  transition: .4s;
  border: 1px solid rgba(0, 114, 255, .08);
  z-index: 999;
  height: auto;
  /* min-height: 120px; */
  cursor: pointer;
}

@media(min-width:1500px) {
  .ibh-feature {
    max-width: 550px;
    margin-left: auto;
    margin-right: auto;
  }
}

.ibh-feature:last-child {
  margin-bottom: 0;
}

.ibh-feature:hover {
  transform: translateY(-10px);
  box-shadow: 0 25px 60px rgba(0, 114, 255, .15);
}

/*==============================
          ICON
===============================*/

.ibh-icon {
  width: 50px;
  height: 50px;
  min-width: 50px;
  border-radius: 50%;
  background: var(--base-color);
  display: flex;
  justify-content: center;
  align-items: center;
  color: #fff;
  font-size: 22px;
  /* box-shadow: 0 15px 35px rgba(13, 110, 253, .25); */
  transition: .4s;
}

.ibh-feature:hover .ibh-icon {
  transform: rotate(-10deg) scale(1.08);
}

/*==============================
          CONTENT
===============================*/

.ibh-content span {
  display: inline-flex;
  width: 38px;
  height: 38px;
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  background: #e9f3ff;
  color: var(--base-color);
  font-weight: 700;
  margin-bottom: 15px;
}

.ibh-content h4 {
  font-size: 17px;
  margin-bottom: 0px;
  color: var(--dark-gray);
  font-weight: 700;
  padding: 0 17px;
  line-height: normal;
}

.ibh-content p {
  margin: 0;
  line-height: 1.8;
  color: #667085;
  font-size: 15px;
  max-height: 0;
  overflow: hidden;
  opacity: 0;
  transition: max-height 0.4s ease, opacity 0.4s ease, margin-top 0.4s ease;
  margin-top: 0;
}

.ibh-feature.active .ibh-content p {
  max-height: 500px;
  opacity: 1;
  margin-top: 15px;
}


.ibh-feature::after {
  content: "";
  position: absolute;
  top: 40px;
  right: 20px;
  width: 10px;
  height: 10px;
  border-right: 2px solid #0d6efd;
  border-bottom: 2px solid #0d6efd;
  transform: rotate(45deg);
  transition: transform 0.4s ease;
}

.left .ibh-feature::after {
  right: auto;
  left: 20px;
}

.ibh-feature.active::after {
  transform: rotate(225deg);
}

/*==============================
      LEFT ALIGNMENT
===============================*/


.left .ibh-feature {
  text-align: right;
}

.left .ibh-feature {
  flex-direction: row-reverse;
}

/*==============================
      RIGHT ALIGNMENT
===============================*/


.right .ibh-feature {
  text-align: left;
}

@media(max-width:991px) {
  .ibh-center {
    min-height: 480px;
    margin: 40px 0;
  }

  .ibh-ring.ring-1 {
    width: 380px;
    height: 380px;
  }

  .ibh-ring.ring-2 {
    width: 300px;
    height: 300px;
  }

  .ibh-ring.ring-3 {
    width: 220px;
    height: 220px;
  }

  .left .ibh-feature,
  .right .ibh-feature {
    text-align: left;
    flex-direction: row;
  }
}

@media(max-width:767px) {
  .ibh-center {
    min-height: 230px;
    margin: 30px 0;
  }

  .ibh-ring.ring-1 {
    width: 290px;
    height: 290px;
  }

  .ibh-ring.ring-2 {
    width: 230px;
    height: 230px;
  }

  .ibh-ring.ring-3 {
    width: 170px;
    height: 170px;
  }

  .ibh-logo {
    width: 130px;
    height: 130px;
  }

  .ibh-logo img {
    width: 80px;
  }
}

@media(max-width:480px) {
  .ibh-ring.ring-1 {
    width: 250px;
    height: 250px;
  }

  .ibh-ring.ring-2 {
    width: 190px;
    height: 190px;
  }

  .ibh-ring.ring-3 {
    width: 130px;
    height: 130px;
  }

  .ibh-logo {
    width: 100px;
    height: 100px;
  }

  .ibh-logo img {
    width: 60px;
  }
}

/* ===== timline section ===== */


/* ===== testimonial start ===== */
/*==================================================
TESTIMONIAL SECTION
==================================================*/

.testimonial-section {
  position: relative;
  padding: 100px 0;
  background: #fff;
  overflow: hidden;
}

/* Heading */

.section-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 8px 18px;
  border-radius: 50px;
  background: rgba(20, 134, 206, .08);
  color: var(--base-color);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 1px;
  text-transform: uppercase;
}

.section-title {
  font-size: 52px;
  font-weight: 700;
  color: var(--dark-gray);
  line-height: 1.15;
  margin-bottom: 20px;
}


/*=====================================
SWIPER
======================================*/

.testimonial-slider {
  padding: 20px 5px 10px;
}

.testimonial-slider .swiper-wrapper {
  align-items: stretch;
}

.testimonial-slider .swiper-slide {
  display: flex;
  height: auto;
}

/*=====================================
CARD
======================================*/

.testimonial-card {

  width: 100%;
  height: 100%;

  display: flex;
  flex-direction: column;

  background: #fff;

  border: 1px solid #edf2f7;

  border-radius: 22px;

  padding: 35px;

  transition: .35s ease;

  position: relative;

}

.testimonial-card:hover {

  transform: translateY(-8px);

  border-color: rgba(20, 134, 206, .18);

  box-shadow: 0 20px 45px rgba(0, 0, 0, .08);

}

/*=====================================
CONTENT
======================================*/

.testimonial-content {

  flex: 1;

  display: flex;

  flex-direction: column;

}

/*=====================================
QUOTE ICON
======================================*/

.quote-icon {

  width: 70px;

  height: 70px;

  border-radius: 50%;

  display: flex;

  align-items: center;

  justify-content: center;

  background: #F7FBFD;

  border: 1px solid rgba(20, 134, 206, .08);

  margin-bottom: 25px;

  transition: .35s;

}

.quote-icon i {

  font-size: 34px;

  color: var(--base-color);

}

.testimonial-card:hover .quote-icon {

  background: var(--base-color);

}

.testimonial-card:hover .quote-icon i {

  color: #fff;

}

/*=====================================
DESCRIPTION
======================================*/

.testimonial-content p {

  flex-grow: 1;

  margin: 0;

  color: var(--medium-gray);

  font-size: 16px;

  line-height: 30px;

}

/*=====================================
CLIENT INFO
======================================*/

.client-info {

  margin-top: auto;

  padding-top: 25px;

  border-top: 1px solid #edf2f7;

}

.client-info h5 {

  font-size: 20px;

  font-weight: 700;

  color: var(--dark-gray);

  margin-bottom: 6px;

}

.client-info span {

  display: block;

  color: var(--medium-gray);

  font-size: 14px;

  line-height: 24px;

}

/*=====================================
HOVER
======================================*/

.testimonial-card:hover h5 {

  color: var(--base-color);

}

/*=====================================
RESPONSIVE
======================================*/

@media(max-width:991px) {

  .section-title {

    font-size: 42px;

  }

  .testimonial-card {

    padding: 30px;

  }

}

@media(max-width:767px) {

  .testimonial-section {

    padding: 80px 0;

  }

  .section-title {

    font-size: 30px;

  }

  .section-desc {

    font-size: 15px;

    line-height: 28px;

  }

  .testimonial-card {

    padding: 25px;

  }

  .quote-icon {

    width: 60px;

    height: 60px;

  }

  .quote-icon i {

    font-size: 28px;

  }

  .testimonial-content p {

    font-size: 15px;

    line-height: 28px;

  }

  .client-info h5 {

    font-size: 18px;

  }

}

/* ===== testimonial end ===== */

/* ===== fotter start ==== */
/*==================================================
IBH PREMIUM FOOTER
==================================================*/

.ibh-footer {
  position: relative;
  background: var(--dark-gray);
  padding: 80px 0 0;
  overflow: hidden;
}

.ibh-footer::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 1px;
  background: linear-gradient(90deg,
      transparent,
      rgba(59, 194, 178, .5),
      transparent);
}

/*=========================
Logo
=========================*/

.footer-logo {
  display: inline-block;
  margin-bottom: 30px;
}

.footer-logo img {
  max-height: 60px !important;
}

/*=========================
About
=========================*/

.footer-about {
  color: rgba(255, 255, 255, .70);
  line-height: 30px;
  margin-bottom: 30px;
  max-width: 360px;
  font-size: 15px;
}

/*=========================
Heading
=========================*/

.ibh-footer h5 {

  color: #fff;

  font-size: 20px;

  font-weight: 700;

  margin-bottom: 28px;

  position: relative;

}

.ibh-footer h5::after {

  content: "";

  position: absolute;

  left: 0;

  bottom: -10px;

  width: 45px;

  height: 2px;

  background: var(--secondary-color);

}

/*=========================
Links
=========================*/

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

.ibh-footer ul li {
  margin-bottom: 14px;
}

.ibh-footer ul li:last-child {
  margin-bottom: 0;
}

.ibh-footer ul li a {

  color: rgba(255, 255, 255, .72);
  text-decoration: none;
  transition: .3s;
  display: inline-block;
  position: relative;
  font-size: 15px;

}

.ibh-footer ul li a:hover {
  color: #fff;
  transform: translateX(8px);
}

/*=========================
Social
=========================*/

.footer-social {

  display: flex;

  gap: 12px;

  margin-top: 10px;

}

.footer-social a {

  width: 46px;

  height: 46px;

  border-radius: 50%;

  border: 1px solid rgba(255, 255, 255, .08);

  display: flex;

  align-items: center;

  justify-content: center;

  color: #fff;

  text-decoration: none;

  transition: .35s;

}

.footer-social a i {

  font-size: 22px;

}

.footer-social a:hover {
  background: var(--base-color);
  border-color: var(--base-color);
  transform: translateY(-5px);

}

/*=========================
Contact
=========================*/

.footer-contact li {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  color: rgba(255, 255, 255, .72);
  line-height: 28px;
  font-size: 15px;
}

.footer-contact i {
  font-size: 20px;
  color: var(--secondary-color);
  margin-top: 3px;
  flex-shrink: 0;

}

.footer-contact a {
  color: rgba(255, 255, 255, .72);
}

.footer-contact a:hover {
  color: #fff;
}

/*=========================
Certification
=========================*/

.footer-certification {
  margin-top: 70px;
  padding: 35px 0;
  border-top: 1px solid rgba(255, 255, 255, .08);
  border-bottom: 1px solid rgba(255, 255, 255, .08);
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 18px;
}

.footer-certification span {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 12px 20px;
  border-radius: 50px;
  background: rgba(255, 255, 255, .05);
  color: rgba(255, 255, 255, .90);
  font-size: 14px;
  font-weight: 600;
  transition: .3s;
}

.footer-certification span::before {
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--secondary-color);
}

.footer-certification span:hover {
  background: var(--base-color);
  transform: translateY(-3px);
}

/*=========================
Bottom
=========================*/

.footer-bottom {
  padding: 30px 0;
}

.footer-bottom p {
  margin: 0;
  text-align: center;
  color: rgba(255, 255, 255, .65);
  font-size: 15px;
}

.footer-bottom strong {
  color: #fff;
  font-weight: 600;
}

/*=========================
Responsive
=========================*/

@media(max-width:991px) {
  .ibh-footer {
    padding-top: 70px;
  }

  .footer-about {
    max-width: 100%;
  }

  .ibh-footer h5 {
    margin-top: 10px;
  }

  .footer-certification {
    justify-content: flex-start;
  }
}

@media(max-width:767px) {

  .ibh-footer {
    padding-top: 60px;
  }

  .footer-social {
    margin-bottom: 15px;
  }

  .footer-certification {
    gap: 12px;
    padding: 25px 0;
  }

  .footer-certification span {
    width: 100%;
    justify-content: center;
  }

  .footer-bottom {
    padding: 25px 0;
  }

}

/* ===== fotter end ==== */

.header-content-menu {
  display: none !important;
}

.about-btn a {
  width: 250px;
}

.section-title-small {
  font-size: 26px;
}

.section-title-mediam {
  font-size: 36px;
}

.section-title-mediam2 {
  font-size: 32px;
}

.section-title-large

.img-sticky {
  position: sticky;
  top: 140px;
}

/* =========================================
   Premium Inner Page Hero
========================================= */

.hero-header {
  position: relative;
  padding: 200px 0;
  display: flex;
  align-items: center;
  overflow: hidden;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  isolation: isolate;
  margin-top: 60px;
}

.about-bg {
  background-image: url("../img/sub-hero/about-bg.webp");
}
.service-bg {
  background-image: url("../img/sub-hero/service-bg.webp");
}
.materiovigilance-bg {
  background-image: url("../img/sub-hero/materiovigilance-bg.webp");
}
.gdp-bg {
  background-image: url("../img/sub-hero/gdp-bg.webp");
}
.shm-bg {
  background-image: url("../img/sub-hero/shm-bg.webp");
}
.ccs-bg {
  background-image: url("../img/sub-hero/ccs-bg.webp");
}
.dn-bg {
  background-image: url("../img/sub-hero/dn-bg.webp");
}
.why-india-bg {
  background-image: url("../img/sub-hero/why-india-bg.webp");
}
.ftz-bg {
  background-image: url("../img/sub-hero/ftz-bg.jpg");
}
.mrp-bg {
  background-image: url("../img/sub-hero/mrp-bg.webp");
}
.contact-bg {
  background-image: url("../img/sub-hero/contact-bg.webp");
}
.make-in-india-bg{
  background-image: url("../img/sub-hero/make-india.webp");
}
.india-es-bg{
  background-image: url("../img/sub-hero/india-es-bg.webp");
}
.rm-bg{
  background-image: url("../img/sub-hero/rm-bg.jpg");
}




/* Content */
.hero-header-content {
  position: relative;
  z-index: 2;
}

.hero-header h1 {
  margin: 0;
  color: var(--dark-gray);
  font-size: 45px;
  font-weight: 700;
  line-height: 1.05;
  letter-spacing: -1.5px;
}


/* =========================================
   Tablet
========================================= */

@media (max-width: 991px) {

  .hero-header {
    padding: 130px 0;
  }

  .hero-header h1 {
    font-size: 48px;
  }

  .about-bg::before {
    background: linear-gradient(90deg,
        rgba(255, 255, 255, 0.95) 0%,
        rgba(255, 255, 255, 0.70) 100%);
  }
}


/* =========================================
   Mobile
========================================= */

@media (max-width: 767px) {

  .hero-header {
    padding: 150px 0;
    margin-top: 50px;
  }

  .hero-header h1 {
    font-size: 42px;
    letter-spacing: -1px;
  }
}


/* Small Mobile */
@media (max-width: 575px) {

  .hero-header {
    padding: 110px 0;
  }

  .hero-header h1 {
    font-size: 36px;
  }
}


@media(max-width:475px) {
  .hero-header {
    padding: 90px 0;
  }
}


/* =========================================
   ABOUT INTRO SECTION
========================================= */

.about-intro-section {
  position: relative;
  padding: 80px 0 40px;
  overflow: hidden;
}


/* =========================================
   MAIN WRAPPER
========================================= */

.about-intro-wrap {
  position: relative;
}


/* =========================================
   SECTION NUMBER
========================================= */

.about-intro-number {
  position: absolute;
  left: -55px;
  top: 5px;
  display: flex;
  align-items: center;
  gap: 12px;
  transform: rotate(-90deg);
  transform-origin: left top;
}

.about-intro-number span {
  font-size: 12px;
  font-weight: 800;
  color: var(--base-color);
  letter-spacing: 2px;
}

.number-line {
  width: 45px;
  height: 1px;
  background: var(--secondary-color);
}

.about-intro-number small {
  font-size: 10px;
  font-weight: 700;
  color: var(--medium-gray);
  letter-spacing: 2px;
}


/* =========================================
   LABEL
========================================= */

.about-intro-label {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  padding: 8px 15px;
  border-radius: 50px;
  background: var(--light-blue);
  color: var(--base-color);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .8px;
  text-transform: uppercase;
  margin-bottom: 22px;
}

.about-intro-label i {
  font-size: 17px;
}


/* =========================================
   MAIN HEADING
========================================= */

.about-intro-content h2 {
  max-width: 780px;
  margin: 0;
  color: var(--dark-gray);
  font-family: var(--alt-font);
  font-size: 40px;
  font-weight: 700;
  line-height: 1.12;
  letter-spacing: -2px;
}

.about-intro-content h2 span {
  color: var(--base-color);
}



/* =========================================
   DESCRIPTION
========================================= */

.about-intro-content p {
  max-width: 720px;
  margin: 0;
  color: #c5c5c5;
  font-size: 17px;
  line-height: 1.85;
}


/* =========================================
   RIGHT VISUAL
========================================= */

.about-intro-visual {
  position: relative;
  min-height: 430px;
  display: flex;
  align-items: center;
  justify-content: center;
}


/* Decorative circles */

.visual-circle {
  position: absolute;
  border-radius: 50%;
  border: 1px solid rgba(0, 133, 210, .12);
}

.circle-one {
  width: 360px;
  height: 360px;
}

.circle-two {
  width: 280px;
  height: 280px;
  border-color: rgba(47, 202, 174, .18);
}


/* Center */

.visual-center {
  position: relative;
  z-index: 3;
  width: 145px;
  height: 145px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--white);
  border: 1px solid rgba(0, 133, 210, .12);
  box-shadow:
    0 20px 60px rgba(29, 43, 58, .12);
}

.center-ring {
  width: 105px;
  height: 105px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--light-green);
  color: var(--base-color);
  font-size: 42px;
}


/* =========================================
   FLOATING CARDS
========================================= */

.visual-card {
  position: absolute;
  left: 5px;
  top: 70px;
  z-index: 5;

  display: flex;
  align-items: center;
  gap: 13px;

  padding: 14px 18px;

  background: rgba(255, 255, 255, .94);
  border: 1px solid rgba(0, 133, 210, .10);
  border-radius: 16px;

  box-shadow:
    0 15px 45px rgba(29, 43, 58, .10);

  backdrop-filter: blur(10px);
}

.visual-card-two {
  left: auto;
  right: 0;
  top: auto;
  bottom: 70px;
}

.visual-icon {
  width: 45px;
  height: 45px;
  min-width: 45px;

  display: flex;
  align-items: center;
  justify-content: center;

  border-radius: 12px;
  background: var(--light-blue);
  color: var(--base-color);
  font-size: 22px;
}

.visual-card-content {
  display: flex;
  flex-direction: column;
}

.visual-card-content span {
  color: var(--medium-gray);
  font-size: 11px;
  line-height: 1.3;
}

.visual-card-content strong {
  color: var(--dark-gray);
  font-size: 14px;
  font-weight: 700;
}





/* =========================================
   HOVER
========================================= */

.visual-card {
  transition: all .35s ease;
}

.visual-card:hover {
  transform: translateY(-6px);
  box-shadow:
    0 22px 55px rgba(29, 43, 58, .14);
}

.visual-card:hover .visual-icon {
  background: var(--base-color);
  color: var(--white);
}


/* =========================================
   TABLET
========================================= */

@media (max-width: 991px) {

  .about-intro-section {
    padding: 90px 0;
  }

  .about-intro-number {
    display: none;
  }

  .about-intro-content h2 {
    font-size: 48px;
  }

  .about-intro-visual {
    min-height: 380px;
    max-width: 500px;
    margin: 20px auto 0;
  }

  .our-story-block {
    margin-top: 80px;
    padding-top: 60px;
  }

  .story-content {
    padding-left: 25px;
  }

}


/* =========================================
   MOBILE
========================================= */

@media (max-width: 767px) {

  .about-intro-section {
    padding: 70px 0;
  }

  .about-intro-content h2 {
    font-size: 38px;
    letter-spacing: -1px;
  }

  .about-intro-content p {
    font-size: 15px;
    line-height: 1.75;
  }

  .about-intro-visual {
    min-height: 330px;
  }

  .circle-one {
    width: 290px;
    height: 290px;
  }

  .circle-two {
    width: 220px;
    height: 220px;
  }

  .visual-center {
    width: 120px;
    height: 120px;
  }

  .center-ring {
    width: 85px;
    height: 85px;
    font-size: 34px;
  }

  .visual-icon {
    width: 40px;
    height: 40px;
    min-width: 40px;
    font-size: 19px;
  }

  .visual-card-content strong {
    font-size: 12px;
  }

.section-title-mediam {
    font-size: 26px;
}
}


/* =========================================
   SMALL MOBILE
========================================= */

@media (max-width: 575px) {

  .about-intro-content h2 {
    font-size: 26px;
  }

  .about-intro-label {
    font-size: 10px;
  }

  .about-intro-visual {
    min-height: 290px;
  }

  .circle-one {
    width: 245px;
    height: 245px;
  }

  .circle-two {
    width: 190px;
    height: 190px;
  }

  .visual-card {
    transform: scale(.85);
    left: 60px;
    top: 0px;
  }

  .visual-card-two {
    transform: scale(.85);
    right: 60px;
    top: auto;
    bottom: 0px;
  }

  .story-label h4 {
    font-size: 18px;
  }

  .story-content h3 {
    font-size: 24px;
  }

  .story-content p {
    font-size: 15px;
  }

}


/* =========================================
   CEO QUOTE SECTION
========================================= */

.ceo-quote-section {
    position: relative;
    padding: 100px 0;
    background: var(--white);
    overflow: hidden;
}


/* =========================================
   QUOTE CARD
========================================= */

.ceo-quote-card {
    position: relative;

    padding: 65px 70px;

    background: var(--dark-gray);

    border: 1px solid rgba(255, 255, 255, 0.08);

    border-radius: 28px;

    overflow: hidden;

    box-shadow:
        0 20px 55px rgba(29, 43, 58, 0.16);

    isolation: isolate;
}


/* =========================================
   PREMIUM BACKGROUND PATTERN
========================================= */

.ceo-quote-card::before {
    content: "";

    position: absolute;

    width: 380px;
    height: 380px;

    top: -210px;
    right: -150px;

    border-radius: 50%;

    border: 1px solid rgba(47, 202, 174, 0.16);

    box-shadow:
        0 0 0 35px rgba(47, 202, 174, 0.025),
        0 0 0 70px rgba(47, 202, 174, 0.018),
        0 0 0 105px rgba(47, 202, 174, 0.012);

    z-index: -1;
}


/* =========================================
   DOT PATTERN
========================================= */

.ceo-quote-card::after {
    content: "";

    position: absolute;

    width: 150px;
    height: 150px;

    bottom: -35px;
    left: -25px;

    background-image:
        radial-gradient(
            rgba(47, 202, 174, 0.25) 1px,
            transparent 1px
        );

    background-size: 11px 11px;

    opacity: 0.45;

    z-index: -1;
}


/* =========================================
   QUOTE ICON
========================================= */

.ceo-quote-icon {
    position: relative;

    width: 64px;
    height: 64px;

    margin: 0 auto 28px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 18px;

    background: var(--secondary-color);

    color: var(--white);

    font-size: 27px;

    box-shadow:
        0 10px 30px rgba(47, 202, 174, 0.20);

    z-index: 2;
}


/* =========================================
   SMALL DECORATIVE LINE
========================================= */

.ceo-quote-icon::after {
    content: "";

    position: absolute;

    width: 35px;
    height: 2px;

    left: 50%;
    bottom: -16px;

    transform: translateX(-50%);

    background: var(--secondary-color);

    border-radius: 10px;

    opacity: 0.7;
}


/* =========================================
   QUOTE CONTENT
========================================= */

.ceo-quote-content {
    position: relative;
    z-index: 2;
}


/* =========================================
   QUOTE TEXT
========================================= */

.ceo-quote-content blockquote {
    max-width: 900px;

    margin: 0 auto;

    color: var(--white);

    font-family: var(--quote-font);

    font-size: 27px;

    font-weight: 600;

    line-height: 1.65;

    letter-spacing: -0.2px;

    font-style: italic;

    text-shadow:
        0 2px 10px rgba(0, 0, 0, 0.20);
}


/* =========================================
   AUTHOR
========================================= */

.ceo-author {
    display: flex;

    align-items: center;

    justify-content: center;

    gap: 14px;

    margin-top: 35px;
}


.author-line {
    width: 38px;
    height: 2px;

    background: var(--secondary-color);

    border-radius: 10px;

    flex-shrink: 0;
}


.author-details {
    display: flex;

    align-items: center;

    gap: 8px;

    flex-wrap: wrap;
}


.author-details strong {
    color: var(--white);

    font-size: 16px;

    font-weight: 800;
}


.author-details span {
    color: rgba(255, 255, 255, 0.68);

    font-size: 14px;

    font-weight: 500;
}


/* =========================================
   REMOVE HOVER EFFECT
========================================= */

.ceo-quote-card:hover {
    transform: none;

    background: var(--dark-gray);

    box-shadow:
        0 20px 55px rgba(29, 43, 58, 0.16);
}

.ceo-quote-card:hover .ceo-quote-icon {
    transform: none;

    background: var(--secondary-color);

    color: var(--white);
}


/* =========================================
   TABLET
========================================= */

@media (max-width: 991px) {

    .ceo-quote-section {
        padding: 80px 0;
    }

    .ceo-quote-card {
        padding: 55px 45px;
        border-radius: 24px;
    }

    .ceo-quote-content blockquote {
        font-size: 24px;
        line-height: 1.6;
    }
}


/* =========================================
   MOBILE
========================================= */

@media (max-width: 767px) {

    .ceo-quote-section {
        padding: 60px 0;
    }

    .ceo-quote-card {
        padding: 45px 25px 40px;

        border-radius: 20px;
    }

    .ceo-quote-card::before {
        width: 240px;
        height: 240px;

        top: -130px;
        right: -110px;
    }

    .ceo-quote-card::after {
        width: 110px;
        height: 110px;

        bottom: -20px;
        left: -15px;

        background-size: 9px 9px;
    }

    .ceo-quote-icon {
        width: 55px;
        height: 55px;

        margin-bottom: 25px;

        border-radius: 15px;

        font-size: 23px;
    }

    .ceo-quote-content blockquote {
        font-size: 20px;

        line-height: 1.55;
    }

    .ceo-author {
        margin-top: 28px;

        flex-direction: column;

        gap: 8px;
    }

    .author-line {
        width: 28px;
    }

    .author-details {
        justify-content: center;

        text-align: center;

        flex-direction: column;

        gap: 4px;
    }

    .author-details strong {
        font-size: 15px;
    }

    .author-details span {
        font-size: 13px;

        line-height: 1.5;
    }
}

.group-img {
  border-radius: 30px;
  width: 100%;
  height: 100%;
  object-fit: cover;
  box-shadow: rgba(99, 99, 99, 0.2) 0px 2px 8px 0px;
  z-index: 999;
  position: relative;
}

/* =========================================
   COMPANY TIMELINE
========================================= */

.company-timeline-section {
    position: relative;
    padding: 80px 0;
    overflow: hidden;
}

.company-timeline {
    position: relative;
    margin-top: 75px;
}


/* =========================================
   TOP DIVIDER
========================================= */

.timeline-divider {
    position: absolute;
    top: 34px;
    left: 40px;
    right: 40px;
    height: 2px;
    background: linear-gradient(
        90deg,
        transparent,
        #d8e6ee 8%,
        #d8e6ee 92%,
        transparent
    );
    z-index: 0;
}


/* =========================================
   SWIPER
========================================= */

.timelineSwiper {
    width: 100%;
    overflow: hidden;
}

.timelineSwiper .swiper-wrapper {
    align-items: stretch;
}

.timelineSwiper .swiper-slide {
    height: auto;
    display: flex;
    margin-top: 10px;
}


/* =========================================
   TIMELINE ITEM
========================================= */

.timeline-item {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
}


/* =========================================
   MARKER
========================================= */

.timeline-marker {
    position: relative;
    z-index: 3;

    min-height: 72px;

    display: flex;
    flex-direction: column;
    align-items: center;
}

.timeline-icon {
    width: 68px;
    height: 68px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 50%;

    background: var(--white);

    border: 6px solid var(--light-bg);

    box-shadow:
        0 0 0 1px rgba(0, 133, 210, .18),
        0 10px 30px rgba(29, 43, 58, .10);

    color: var(--base-color);
    font-size: 27px;

    transition: all .35s ease;
}

.timeline-year {
    position: absolute;
    top: 60px;
    left: -10px;
    padding: 5px 13px;
    background: var(--dark-gray);
    color: var(--white);
    border-radius: 30px;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 1px;
    line-height: 1.2;
    box-shadow: 0 8px 20px rgba(29, 43, 58, .12);
    width: 70px;
    display: flex;
    justify-content: center;
}


/* =========================================
   CARD
========================================= */

.timeline-card {
    position: relative;

    width: 100%;

    margin-top: 55px;
    padding: 32px 28px 30px;

    min-height: 245px;

    display: flex;
    flex-direction: column;

    background: var(--white);

    border: 1px solid #e5edf2;

    border-radius: 22px;

    box-shadow:
        0 12px 35px rgba(29, 43, 58, .06);

    transition: all .35s ease;
}

.timeline-card-number {
    width: 34px;
    height: 34px;

    display: flex;
    align-items: center;
    justify-content: center;

    margin-bottom: 18px;

    border-radius: 10px;

    background: var(--light-blue);
    color: var(--base-color);

    font-size: 12px;
    font-weight: 800;
}

.timeline-card h4 {
    margin: 0 0 14px;

    color: var(--dark-gray);

    font-family: var(--alt-font);

    font-size: 20px;
    font-weight: 800;

    line-height: 1.35;
}

.timeline-card p {
    margin: 0;

    color: var(--medium-gray);

    font-size: 15px;
    line-height: 1.75;
}


/* =========================================
   HOVER
========================================= */

.timeline-item:hover .timeline-icon {
    background: var(--secondary-color);
    color: var(--white);

    transform: translateY(-5px);

    box-shadow:
        0 0 0 1px rgba(0, 133, 210, .15),
        0 15px 35px rgba(0, 133, 210, .20);
}

.timeline-item:hover .timeline-card {
    transform: translateY(-7px);

    border-color: rgba(0, 133, 210, .20);

    box-shadow:
        0 22px 50px rgba(29, 43, 58, .11);
}


/* =========================================
   CONTROLS
========================================= */

.timeline-controls {
    display: flex;
    align-items: center;
    justify-content: center;

    gap: 18px;

    margin-top: 50px;
}

.timeline-prev,
.timeline-next {
    width: 48px;
    height: 48px;

    display: flex;
    align-items: center;
    justify-content: center;

    border: 1px solid #dce8ef;

    border-radius: 50%;

    background: var(--white);
    color: var(--dark-gray);

    font-size: 20px;

    cursor: pointer;

    transition: all .3s ease;
}

.timeline-prev:hover,
.timeline-next:hover {
    background: var(--base-color);
    color: var(--white);
    border-color: var(--base-color);

    transform: translateY(-2px);
}

.timeline-progress {
    width: 120px;
    height: 4px;

    overflow: hidden;

    border-radius: 10px;

    background: #dfeaf0;
}

.timeline-progress span {
    display: block;

    width: 30%;
    height: 100%;

    border-radius: inherit;

    background: linear-gradient(
        90deg,
        var(--base-color),
        var(--secondary-color)
    );

    transition: width .4s ease;
}


/* =========================================
   TABLET
========================================= */

@media (max-width: 1199px) {

    .timeline-card {
        min-height: 270px;
    }

}

@media (max-width: 991px) {

    .company-timeline-section {
        padding: 90px 0;
    }

    .company-timeline {
        margin-top: 60px;
    }

    .timeline-divider {
        left: 25px;
        right: 25px;
    }

    .timeline-card {
        min-height: 250px;
        padding: 28px 24px;
    }

    .timeline-card h4 {
        font-size: 18px;
    }

}


/* =========================================
   MOBILE
========================================= */

@media (max-width: 767px) {

    .company-timeline-section {
        padding: 70px 0;
    }

    .company-timeline {
        margin-top: 50px;
    }

    .timeline-divider {
        left: 20px;
        right: 20px;
        top: 30px;
    }

    .timeline-icon {
        width: 60px;
        height: 60px;

        font-size: 23px;
    }

    .timeline-year {
        top: 67px;
    }

    .timeline-card {
        margin-top: 50px;

        min-height: 235px;

        padding: 25px 22px;
    }

    .timeline-card h4 {
        font-size: 17px;
    }

    .timeline-card p {
        font-size: 14px;
    }

    .timeline-controls {
        margin-top: 35px;
    }

}

/* =========================================
   SERVICES ZIGZAG
========================================= */

.services-wrapper {
    position: relative;
    background: #f8fbfd;
    overflow: hidden;
}

.services-zigzag {
    position: relative;
    max-width: 1180px;
    margin: 80px auto 0;
}


/* =========================================
   CENTER DIVIDER
========================================= */

.services-zigzag::before {
    content: "";
    position: absolute;
    top: 40px;
    bottom: 40px;
    left: 50%;
    width: 1px;

    background: linear-gradient(
        to bottom,
        transparent,
        #cfe4ed 8%,
        #cfe4ed 92%,
        transparent
    );

    transform: translateX(-50%);
}


/* =========================================
   SERVICE ROW
========================================= */

.service-row {
    position: relative;

    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);

    column-gap: 110px;

    margin-bottom: 110px;
}


/* =========================================
   IMAGE
========================================= */

.service-visual {
    height: 310px;
    padding: 10px;

    background: #fff;

    border: 1px solid #dcebf1;
    border-radius: 28px;

    box-shadow:
        0 18px 50px rgba(29, 43, 58, .07);

    overflow: hidden;

    transition: .4s ease;
}

.service-visual img {
    width: 100%;
    height: 100%;

    display: block;

    object-fit: cover;

    border-radius: 20px;

    transition: transform .5s ease;
}

.service-visual:hover {
    transform: translateY(-6px);

    box-shadow:
        0 25px 60px rgba(29, 43, 58, .12);
}

.service-visual:hover img {
    transform: scale(1.03);
}


/* =========================================
   CONTENT
========================================= */

.service-content1 {
    position: relative;
    padding: 12px 0;
}

.service-number {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    margin-bottom: 14px;

    font-size: 12px;
    font-weight: 800;

    letter-spacing: 1.5px;

    color: var(--secondary-color);
}

.service-content1 h3 {
    margin: 0 0 18px;

    color: var(--dark-gray);

    font-family: var(--alt-font);

    font-size: 32px;
    line-height: 1.25;
    font-weight: 800;
}

.service-content1 p {
    margin-bottom: 22px;
    color: var(--medium-gray);
    line-height: 1.85;
    text-align: justify;
}


/* =========================================
   CENTER ICON
========================================= */

.service-divider {
    position: absolute;
    left: 50%;
    top: 115px;
    width: 66px;
    height: 66px;
    transform: translateX(-50%);
    display: flex;
    align-items: center;
    justify-content: center;
    background: #fff;
    border: 1px solid #d7eaf1;
    border-radius: 50%;
    box-shadow: 0 10px 30px rgba(20, 134, 206, .10);
    z-index: 5;
}

.service-divider2 {
    position: absolute;
    left: 50%;
    top: 115px;
    z-index: 5;
    transform: translateX(-50%);
}

/* .service-divider2 .icon-box{
    width: 66px;
    height: 66px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #fff;
    border: 1px solid #d7eaf1;
    border-radius: 50%;
    box-shadow: 0 10px 30px rgba(20, 134, 206, .10);
} */


.service-divider2 .icon-circle {
    width: 46px;
    height: 46px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: linear-gradient(
        135deg,
        var(--base-color),
        var(--secondary-color)
    );
    color: #fff;
    font-size: 21px;
    position: relative;
    z-index: 2;
    transition: .4s ease;
}

.service-row:hover .service-divider2 .icon-circle {
    transform: rotate(-8deg) scale(1.08);
}




.service-divider::before {
    content: "";
    position: absolute;
    inset: 7px;
    border: 1px dashed rgba(47, 202, 174, .35);
    border-radius: 50%;
}

.service-divider span {
    width: 46px;
    height: 46px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: linear-gradient(
        135deg,
        var(--base-color),
        var(--secondary-color)
    );
    color: #fff;
    font-size: 21px;
    position: relative;
    z-index: 2;
    transition: .4s ease;
}

.service-row:hover .service-divider span {
    transform: rotate(-8deg) scale(1.08);
}


/* =========================================
   REVERSE ROW
========================================= */

.service-row.reverse .service-visual {
    grid-column: 2;
    grid-row: 1;
}

.service-row.reverse .service-content {
    grid-column: 1;
    grid-row: 1;
}


/* =========================================
   SERVICE LINK
========================================= */

.service-link {
    display: inline-flex;
    align-items: center;
    gap: 10px;

    color: var(--base-color);

    font-size: 14px;
    font-weight: 700;

    text-decoration: none;

    transition: .3s ease;
}

.service-link i {
    width: 34px;
    height: 34px;

    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: var(--light-blue);
    font-size: 17px;

    transition: .3s ease;
}

.service-link:hover {
    color: var(--secondary-color);
}

.service-link:hover i {
    background: var(--secondary-color);
    color: #fff;
    transform: translate(3px, -3px);
}


/* =========================================
   MAKE IN INDIA
========================================= */


.featured-service .service-visual {
    height: 330px;
}

.featured-service .service-content {
    padding: 0;
}

.service-content1 h4 {
    margin: 25px 0 15px;
    color: var(--dark-gray);
    font-size: 17px;
    font-weight: 750;
}


/* =========================================
   SERVICE POINTS
========================================= */

.service-points {
    margin: 0 0 22px;
    padding: 0;
    list-style: none;
}

.service-points li {
    display: flex;
    align-items: flex-start;
    gap: 11px;
    margin-bottom: 12px;
    color: var(--medium-gray);
    line-height: 1.7;
    /* text-align: justify; */
}

.service-points li:last-child {
    margin-bottom: 0;
}

.service-points li i {
    flex-shrink: 0;

    margin-top: 3px;

    color: var(--secondary-color);

    font-size: 18px;
}


/* =========================================
   TABLET
   HIDE CENTER DIVIDER AFTER 992px
========================================= */

@media (max-width: 991px) {

    .services-zigzag {
        margin-top: 55px;
    }

    /* Hide center divider */
    .services-zigzag::before,
    .service-divider {
        display: none;
    }

    .service-row {
        grid-template-columns: 1fr;

        gap: 30px;

        margin-bottom: 70px;
    }

    .service-row.reverse .service-visual,
    .service-row.reverse .service-content {
        grid-column: auto;
        grid-row: auto;
    }

    .service-row.reverse .service-visual {
        order: 1;
    }

    .service-row.reverse .service-content {
        order: 2;
    }

    .service-visual,
    .featured-service .service-visual {
        height: 300px;
    }

    .service-content1 h3 {
        font-size: 30px;
    }

    .featured-service {
        padding: 25px;
    }
}


/* =========================================
   MOBILE
========================================= */

@media (max-width: 575px) {

    .services-zigzag {
        margin-top: 40px;
    }

    .service-row {
        gap: 22px;
        margin-bottom: 55px;
    }

    .service-visual,
    .featured-service .service-visual {
        height: 230px;
        padding: 7px;
        border-radius: 22px;
    }

    .service-visual img {
        border-radius: 16px;
    }

    .service-content1 h3 {
        font-size: 25px;
    }

    .featured-service {
        padding: 20px;
        border-radius: 24px;
    }

    .service-points li {
        font-size: 13px;
    }
}

/* =========================================
   SERVICE DETAILS SECTION
========================================= */

.service-details-section {
    padding: 100px 0 120px;
    background: #fff;
}


/* =========================================
   SERVICE SIDEBAR
========================================= */


.service-sidebar-label {
    display: inline-block;
    margin-bottom: 12px;
    color: var(--secondary-color);
    font-size: 28px;
    font-weight: 800;
    padding-left: 15px;
    padding-top: 15px;
}

.service-sidebar h3 {
    margin: 0 0 30px;
    max-width: 280px;
    color: var(--dark-gray);
    font-family: var(--alt-font);
    font-size: 28px;
    font-weight: 800;
    line-height: 1.25;
}

.service-details h4 {
    color: var(--secondary-color);
    font-family: var(--alt-font);
    font-size: 20px;
    font-weight: 800;
    line-height: 1.25;
}



/* =========================================
   PREMIUM SERVICE SIDEBAR
========================================= */

.service-sidebar-menu {
    margin: 0;
    padding: 7px;

    list-style: none;

    background: var(--white);

    border: 1px solid #e5edf2;

    border-radius: 18px;

    box-shadow:
        0 12px 35px rgba(29, 43, 58, 0.07);
    overflow: hidden;
    max-width: 100%;
}


/* =========================================
   MENU ITEM
========================================= */

.service-sidebar-menu li {
    position: relative;

    margin: 2px 0;

    border-bottom: 1px solid #edf2f5;

    transition: all .3s ease;
}

.service-sidebar-menu li:last-child {
    border-bottom: none;
}


/* =========================================
   MENU LINK
========================================= */

.service-sidebar-menu li a {
    position: relative;

    display: flex;
    align-items: center;

    gap: 11px;

    min-height: 56px;

    padding: 7px 10px;

    color: var(--dark-gray);

    text-decoration: none;

    border-radius: 11px;

    transition:
        background .3s ease,
        color .3s ease,
        padding .3s ease;
}


/* =========================================
   ICON
========================================= */

.service-menu-icon {
    width: 38px;
    height: 38px;

    min-width: 38px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 10px;

    background: var(--light-blue);

    color: var(--base-color);

    border: 1px solid rgba(0, 133, 210, 0.08);

    font-size: 18px;

    transition:
        background .3s ease,
        color .3s ease,
        transform .3s ease,
        box-shadow .3s ease;
}


/* =========================================
   TEXT
========================================= */

.service-menu-text {
    flex: 1;

    font-size: 14px;

    font-weight: 600;

    line-height: 1.35;

    color: var(--dark-gray);

    transition: color .3s ease;
}


/* =========================================
   ARROW
========================================= */

.service-menu-arrow {
    width: 27px;
    height: 27px;

    min-width: 27px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 50%;

    font-size: 14px;

    color: var(--base-color);

    background: transparent;

    opacity: 0;

    transform: translateX(-5px);

    transition:
        opacity .3s ease,
        transform .3s ease,
        background .3s ease,
        color .3s ease;
}


/* =========================================
   HOVER
========================================= */

.service-sidebar-menu li a:hover {
    padding-left: 14px;

    background: rgba(47, 202, 174, 0.07);
}

.service-sidebar-menu li a:hover .service-menu-icon {
    background: var(--base-color);

    color: var(--white);

    transform: scale(1.04);

    box-shadow:
        0 5px 14px rgba(0, 133, 210, 0.16);
}

.service-sidebar-menu li a:hover .service-menu-text {
    color: var(--base-color);
}

.service-sidebar-menu li a:hover .service-menu-arrow {
    opacity: 1;

    transform: translateX(0);

    background: var(--light-blue);

    color: var(--base-color);
}


/* =========================================
   ACTIVE SERVICE
========================================= */

.service-sidebar-menu li.active a {
    padding-left: 14px;

    /*
       Solid secondary-color background
       No gradient
    */
    background: var(--light-green);

    border: 1px solid
        rgba(47, 202, 174, 0.22);

    box-shadow:
        inset 0 0 0 1px rgba(47, 202, 174, 0.04),
        0 5px 18px rgba(47, 202, 174, 0.06);
}


/* =========================================
   ACTIVE LEFT ACCENT
========================================= */

.service-sidebar-menu li.active a::before {
    content: "";

    position: absolute;

    left: 0;
    top: 9px;
    bottom: 9px;

    width: 3px;

    border-radius: 0 5px 5px 0;

    background: var(--secondary-color);
}


/* =========================================
   ACTIVE ICON
========================================= */

.service-sidebar-menu li.active .service-menu-icon {
    background: var(--secondary-color);

    color: var(--white);

    border-color: var(--secondary-color);

    box-shadow:
        0 6px 16px rgba(47, 202, 174, 0.20);
}


/* =========================================
   ACTIVE TEXT
========================================= */

.service-sidebar-menu li.active .service-menu-text {
    color: var(--dark-gray);

    font-weight: 700;
}


/* =========================================
   ACTIVE ARROW
========================================= */

.service-sidebar-menu li.active .service-menu-arrow {
    opacity: 1;

    transform: translateX(0);

    background: var(--secondary-color);

    color: var(--white);

    box-shadow:
        0 5px 12px rgba(47, 202, 174, 0.18);
}


/* =========================================
   ACTIVE HOVER
========================================= */

.service-sidebar-menu li.active a:hover {
    background: var(--light-green);
}

.service-sidebar-menu li.active a:hover .service-menu-icon {
    background: var(--secondary-color);

    transform: scale(1.04);
}


/* =========================================
   SUBTLE ITEM HOVER
========================================= */

.service-sidebar-menu li:not(.active) a {
    border: 1px solid transparent;
}

.service-sidebar-menu li:not(.active) a:hover {
    border-color: rgba(47, 202, 174, 0.12);
}


/* =========================================
   FOCUS / ACCESSIBILITY
========================================= */

.service-sidebar-menu li a:focus-visible {
    outline: 2px solid var(--base-color);

    outline-offset: 2px;
}


/* =========================================
   MOBILE
========================================= */

@media (max-width: 767px) {

    .service-sidebar-menu {
        padding: 6px;

        border-radius: 15px;
    }

    .service-sidebar-menu li {
        margin: 1px 0;
    }

    .service-sidebar-menu li a {
        min-height: 53px;

        padding: 6px 9px;

        gap: 10px;
    }

    .service-sidebar-menu li a:hover,
    .service-sidebar-menu li.active a {
        padding-left: 12px;
    }

    .service-menu-icon {
        width: 36px;
        height: 36px;

        min-width: 36px;

        border-radius: 9px;

        font-size: 17px;
    }

    .service-menu-text {
        font-size: 13.5px;
    }

    .service-menu-arrow {
        width: 25px;
        height: 25px;

        min-width: 25px;

        opacity: 1;

        transform: none;

        font-size: 13px;
    }

    .service-sidebar-menu li.active a::before {
        top: 8px;
        bottom: 8px;
    }
}

/* =========================================
   SERVICE SIDEBAR TOGGLE
   SHOW ONLY BELOW 992px
========================================= */

.service-sidebar-toggle {
    display: none;

    width: 100%;
    min-height: 58px;

    padding: 0 16px;

    align-items: center;
    justify-content: space-between;

    border: 0;
    border-radius: 12px;

    background: var(--white);

    color: var(--dark-gray);

    font-family: var(--alt-font);
    font-size: 15px;
    font-weight: 700;

    cursor: pointer;

    transition:
        background .3s ease,
        color .3s ease;
}

.service-sidebar-toggle span {
    flex: 1;
    text-align: left;
}

.service-sidebar-toggle i {
    width: 32px;
    height: 32px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 50%;

    background: var(--light-blue);
    color: var(--base-color);

    font-size: 16px;

    transition:
        transform .35s ease,
        background .3s ease,
        color .3s ease;
}


/* =========================================
   DROPDOWN MODE
========================================= */

@media (max-width: 991px) {

    .service-sidebar-menu {
        width: 100%;
        max-width: 100%;

        padding: 7px;

        border-radius: 16px;

        overflow: hidden;
    }


    /* Hide desktop label */
    .service-sidebar-label {
        display: none;
    }


    /* Show toggle */
    .service-sidebar-toggle {
        display: flex;
    }


    /* Hide service list initially */
    .service-sidebar-menu li {
        display: none;

        margin: 2px 0;
    }


    /* =====================================
       OPEN STATE
    ===================================== */

    .service-sidebar-menu.is-open li {
        display: block;
    }


    /* =====================================
       TOGGLE HOVER
    ===================================== */

    .service-sidebar-toggle:hover {
        background: var(--light-blue);
        color: var(--base-color);
    }


    .service-sidebar-toggle:hover i {
        background: var(--base-color);
        color: var(--white);
    }


    /* =====================================
       TOGGLE ACTIVE
    ===================================== */

    .service-sidebar-menu.is-open .service-sidebar-toggle {
        margin-bottom: 5px;

        background: var(--light-blue);

        color: var(--base-color);
    }


    .service-sidebar-menu.is-open .service-sidebar-toggle i {
        background: var(--base-color);
        color: var(--white);

        transform: rotate(180deg);
    }


    /* =====================================
       MENU LINKS
    ===================================== */

    .service-sidebar-menu li a {
        min-height: 54px;

        padding: 7px 10px;

        border-radius: 11px;
    }


    /* Keep active item secondary color */
    .service-sidebar-menu li.active a {
        padding-left: 14px;

        background: var(--light-green);
    }


    /* =====================================
       ICON
    ===================================== */

    .service-menu-icon {
        width: 37px;
        height: 37px;
        min-width: 37px;

        font-size: 17px;
    }


    /* =====================================
       TEXT
    ===================================== */

    .service-menu-text {
        font-size: 14px;
    }


    /* =====================================
       ARROW
    ===================================== */

    .service-menu-arrow {
        opacity: 1;

        transform: none;

        width: 27px;
        height: 27px;
        min-width: 27px;
    }


    /* =====================================
       HOVER
    ===================================== */

    .service-sidebar-menu li a:hover {
        padding-left: 14px;

        background: rgba(47, 202, 174, 0.08);
    }


    /* =====================================
       ACTIVE
    ===================================== */

    .service-sidebar-menu li.active .service-menu-icon {
        background: var(--secondary-color);
        color: var(--white);
    }

    .service-sidebar-menu li.active .service-menu-arrow {
        background: var(--secondary-color);
        color: var(--white);
    }

}


/* =========================================
   MOBILE
========================================= */

@media (max-width: 575px) {

    .service-sidebar-menu {
        padding: 6px;

        border-radius: 14px;
    }

    .service-sidebar-toggle {
        min-height: 54px;

        padding: 0 13px;

        font-size: 14px;
    }

    .service-sidebar-toggle i {
        width: 30px;
        height: 30px;

        font-size: 15px;
    }

    .service-sidebar-menu li a {
        min-height: 52px;

        padding: 6px 8px;

        gap: 9px;
    }

    .service-menu-icon {
        width: 35px;
        height: 35px;
        min-width: 35px;

        border-radius: 9px;

        font-size: 16px;
    }

    .service-menu-text {
        font-size: 13px;
    }

    .service-menu-arrow {
        width: 25px;
        height: 25px;
        min-width: 25px;

        font-size: 13px;
    }

}
/* =========================================
   MAIN IMAGE
========================================= */

.service-main-img {
    width: 100%;
    height: 430px;

    margin-bottom: 35px;

    overflow: hidden;

    border-radius: 24px;
}

.service-main-img img {
    width: 100%;
    height: 100%;

    display: block;

    object-fit: cover;
}


/* =========================================
   SERVICE BADGE
========================================= */

.service-content-badge {
    display: inline-flex;
    align-items: center;

    margin-bottom: 15px;

    padding: 7px 15px;

    border-radius: 50px;

    background: var(--light-green);

    color: var(--secondary-color);

    font-size: 12px;
    font-weight: 800;

    letter-spacing: 1px;
    text-transform: uppercase;
}


/* =========================================
   H1
========================================= */

.service-details h1 {
    margin: 0 0 25px;
    color: var(--dark-gray);
    font-family: var(--alt-font);
    font-size: 35px;
    font-weight: 800;
    line-height: 1.15;
    letter-spacing: -1px;
}


/* =========================================
   INTRO H6
========================================= */

.service-details h6 {
    margin: 0 0 45px;
    padding-left: 20px;
    border-left: 3px solid var(--secondary-color);
    color: var(--medium-gray);
    font-family: var(--primary-font);
    font-size: 18px;
    font-weight: 500;
    line-height: 1.8;
}


/* =========================================
   H3
========================================= */

.service-details h3 {
    margin: 0 0 20px;
    color: var(--dark-gray);
    font-family: var(--alt-font);
    font-size: 30px;
    font-weight: 800;
    line-height: 1.3;
}

/* =========================================
   PARAGRAPH
========================================= */

.service-details p {
    color: var(--medium-gray);
    font-family: var(--primary-font);
    font-size: 16px;
    line-height: 1.9;
    text-align: justify;
}

.service-details a{
  color: var(--base-color);
  font-weight: 600;
}
/* =========================================
   CONTENT LIST
========================================= */

.service-content-list {
    margin: 15px 0 ;
    padding: 0;
    list-style: none;
}

.service-content-list li {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    margin-bottom: 7px;
    color: var(--medium-gray);
    font-size: 16px;
    font-weight: 500;
    line-height: 1.75;
    text-align: justify;
}

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

/* =========================================
   SERVICE CONTENT LIST
========================================= */

.service-content-list-row {
    margin-top: 28px;
}


/* =========================================
   POINT CARD
========================================= */

.service-point-card {
    position: relative;
    height: 100%;
    display: flex;
    align-items: flex-start;
    gap: 15px;
    padding: 20px;
    background: #ffffff;
    border: 1px solid #e6edf2;
    border-radius: 16px;
    box-shadow:
        0 8px 25px rgba(29, 43, 58, 0.05);
    overflow: hidden;
    transition:
        transform .35s ease,
        border-color .35s ease,
        box-shadow .35s ease;
}


.service-card2{
  display: block;
}

.service-card2 h4{
  font-size: 16px;
  color: var(--dark-gray);
  margin-bottom: 8px;
  margin-top: 15px;
}

/* Premium side accent */
.service-point-card::before {
    content: "";

    position: absolute;

    left: 0;
    top: 18px;
    bottom: 18px;

    width: 3px;

    border-radius: 0 5px 5px 0;

    background: var(--secondary-color);

    opacity: .8;

    transition: opacity .35s ease;
}


/* =========================================
   ICON BOX
========================================= */

.service-point-icon {
    width: 50px;
    height: 50px;

    min-width: 50px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 12px;

    /*
       Keep original icon-box color
    */
    background: var(--light-green);

    border: 1px solid rgba(47, 202, 174, 0.15);

    transition:
        transform .35s ease,
        box-shadow .35s ease;
}


/* =========================================
   FULL-COLOR ICON
========================================= */

.service-point-icon img {
    width: 30px;
    height: 30px;

    display: block;

    object-fit: contain;

    /*
       IMPORTANT:
       No filter.
       Original icon color remains unchanged.
    */

    transition: transform .35s ease;
}


/* =========================================
   TEXT
========================================= */

.service-point-text {
    padding-top: 2px;

    color: var(--dark-gray);

    font-size: 15px;

    font-weight: 500;

    line-height: 1.65;
}


/* =========================================
   CARD HOVER
========================================= */

.service-point-card:hover {
    transform: translateY(-4px);

    border-color:
        rgba(0, 133, 210, 0.20);

    box-shadow:
        0 15px 35px rgba(29, 43, 58, 0.09);
}


/* =========================================
   ICON HOVER
   Keep colors unchanged
========================================= */

.service-point-card:hover .service-point-icon {
    /*
       Same background color
       Same icon color
    */
    background: var(--light-green);

    transform: translateY(-2px);

    box-shadow:
        0 7px 18px rgba(47, 202, 174, 0.12);
}


/* Small icon movement only */
.service-point-card:hover .service-point-icon img {
    transform: scale(1.06);
}


/* =========================================
   ACCENT HOVER
========================================= */

.service-point-card:hover::before {
    opacity: 1;
}


/* =========================================
   MOBILE
========================================= */

@media (max-width: 767px) {

    .service-content-list-row {
        margin-top: 22px;
    }

    .service-point-card {
        padding: 17px;

        gap: 12px;

        border-radius: 14px;
    }

    .service-point-icon {
        width: 38px;
        height: 38px;

        min-width: 38px;

        border-radius: 10px;
    }

    .service-point-icon img {
        width: 19px;
        height: 19px;
    }

    .service-point-text {
        font-size: 14px;

        line-height: 1.6;
    }
}
/* =========================================
   LIST ICON
========================================= */

.service-content-list .list-icon {
    width: 28px;
    height: 28px;
    min-width: 28px;

    display: flex;
    align-items: center;
    justify-content: center;

    margin-top: 2px;

    color: var(--secondary-color);

    font-size: 20px;

    transition: all .3s ease;
}

.service-content-list li:hover .list-icon {
    color: var(--base-color);

    transform: scale(1.1);
}

/* =========================================
   PREMIUM DARK MESSAGE BOX
========================================= */

.service-message-box {
    position: relative;

    margin: 55px 0;

    padding: 42px 48px;

    background: #152535;

    border: 1px solid rgba(255, 255, 255, 0.09);

    border-radius: 20px;

    overflow: hidden;

    box-shadow:
        0 18px 45px rgba(0, 0, 0, 0.16);

    isolation: isolate;

    transition:
        transform .35s ease,
        border-color .35s ease,
        box-shadow .35s ease;
}


/* =========================================
   LEFT BLUE ACCENT
========================================= */

.service-message-accent {
    position: absolute;

    left: 0;
    top: 28px;
    bottom: 28px;

    width: 4px;

    background: var(--base-color);

    border-radius: 0 5px 5px 0;

    z-index: 3;
}


/* =========================================
   CONTENT
========================================= */

.service-message-content {
    position: relative;

    z-index: 3;

    max-width: 1050px;
}


/* =========================================
   LABEL
========================================= */

.service-message-label {
    display: inline-flex;

    align-items: center;

    margin-bottom: 14px;

    color: var(--secondary-color);

    font-size: 11px;

    font-weight: 800;

    letter-spacing: 1.8px;

    text-transform: uppercase;
}


/* Small square */

.service-message-label::before {
    content: "";

    width: 7px;
    height: 7px;

    margin-right: 9px;

    background: var(--secondary-color);

    border-radius: 2px;
}


/* =========================================
   HEADING
========================================= */

.service-message-content h3 {
    margin: 0 0 15px;

    color: #ffffff;

    font-family: var(--alt-font);

    font-size: 25px;

    font-weight: 750;

    line-height: 1.4;

    letter-spacing: -.25px;
}


/* =========================================
   DESCRIPTION
========================================= */

.service-message-content p {
    margin: 0;

    color: rgba(255, 255, 255, 0.68);

    font-size: 14.5px;

    line-height: 1.85;
}


/* =========================================
   MODERN TECHNICAL PATTERN
========================================= */

.service-message-pattern {
    position: absolute;

    right: -5px;
    bottom: -5px;

    width: 280px;
    height: 180px;

    z-index: 1;

    pointer-events: none;

    opacity: .8;

    background-image:
        linear-gradient(
            90deg,
            rgba(0, 133, 210, 0.12) 1px,
            transparent 1px
        ),
        linear-gradient(
            rgba(47, 202, 174, 0.10) 1px,
            transparent 1px
        );

    background-size: 35px 35px;

    -webkit-mask-image:
        linear-gradient(
            135deg,
            transparent 5%,
            #000 75%
        );

    mask-image:
        linear-gradient(
            135deg,
            transparent 5%,
            #000 75%
        );
}


/* =========================================
   TECH CORNER
========================================= */

.service-message-box::after {
    content: "";

    position: absolute;

    right: 28px;
    top: 25px;

    width: 45px;
    height: 45px;

    border-top: 1px solid rgba(47, 202, 174, 0.35);

    border-right: 1px solid rgba(47, 202, 174, 0.35);

    border-radius: 0 10px 0 0;

    z-index: 2;

    pointer-events: none;
}


/* =========================================
   SMALL TECHNICAL LINES
========================================= */

.service-message-box::before {
    content: "";

    position: absolute;

    right: 30px;
    bottom: 30px;

    width: 70px;
    height: 1px;

    background: rgba(0, 133, 210, 0.35);

    box-shadow:
        0 -8px 0 rgba(47, 202, 174, 0.18),
        0 -16px 0 rgba(0, 133, 210, 0.12);

    z-index: 2;
}


/* =========================================
   HOVER
========================================= */

.service-message-box:hover {
    transform: translateY(-4px);

    border-color: rgba(0, 133, 210, 0.30);

    box-shadow:
        0 22px 55px rgba(0, 0, 0, 0.22);
}


/* =========================================
   TABLET
========================================= */

@media (max-width: 991px) {

    .service-message-box {
        padding: 34px 38px;
    }

    .service-message-content h3 {
        font-size: 22px;
    }

    .service-message-content p {
        font-size: 14px;
        line-height: 1.75;
    }

    .service-message-pattern {
        width: 220px;
        height: 150px;
    }
}


/* =========================================
   MOBILE
========================================= */

@media (max-width: 767px) {

    .service-message-box {
        margin: 35px 0;

        padding: 30px 25px;

        border-radius: 17px;
    }

    .service-message-accent {
        top: 22px;
        bottom: 22px;

        width: 3px;
    }

    .service-message-label {
        font-size: 10px;

        letter-spacing: 1.4px;

        margin-bottom: 11px;
    }

    .service-message-content h3 {
        font-size: 19px;

        line-height: 1.4;

        margin-bottom: 11px;
    }

    .service-message-content p {
        font-size: 13px;

        line-height: 1.7;
    }

    .service-message-pattern {
        width: 160px;
        height: 120px;

        background-size: 28px 28px;
    }

    .service-message-box::after {
        right: 18px;
        top: 18px;

        width: 30px;
        height: 30px;
    }

    .service-message-box::before {
        right: 20px;
        bottom: 20px;
    }
}
/* =========================================
   TABLET
========================================= */

@media (max-width: 991px) {

    .service-details-section {
        padding: 80px 0 90px;
    }

    .service-sidebar {
        position: relative;
        top: auto;
    }

    .service-sidebar h3 {
        font-size: 26px;
    }
    .service-main-img {
        height: 380px;
    }

    .service-details h1 {
        font-size: 30px;
    }

}


/* =========================================
   MOBILE
========================================= */

@media (max-width: 767px) {

    .service-details-section {
        padding: 60px 0 70px;
    }

    .service-sidebar-menu {
        grid-template-columns: 1fr;
    }

    .service-sidebar h3 {
        font-size: 24px;
    }

    .service-main-img {
        height: 280px;
        border-radius: 18px;
    }

    .service-details h1 {
        font-size: 28px;
        letter-spacing: -.5px;
    }

    .service-details h6 {
        font-size: 16px;
        margin-bottom: 35px;
    }

    .service-details h3 {
        font-size: 25px;
    }

    .service-details p {
        font-size: 15px;
        line-height: 1.8;
    }

}


/* =========================================
   SMALL MOBILE
========================================= */

@media (max-width: 575px) {

    .service-main-img {
        height: 230px;
    }

    .service-details h1 {
        font-size: 26px;
    }

    .service-details h6 {
        padding-left: 15px;
    }

    .service-sidebar-menu li a {
        padding: 13px 5px;
    }

}

/* =========================================
   SUPPLY CHAIN PROCESS
========================================= */

/* =========================================
   PREMIUM DARK SUPPLY CHAIN PROCESS
========================================= */

.supply-chain-process {
    position: relative;
    margin-top: 45px;
}


/* =========================================
   CARD
========================================= */

.supply-stage {
    position: relative;

    height: 100%;
    min-height: 100%;

    padding: 30px;

    background: #162636;

    border: 1px solid rgba(255, 255, 255, 0.08);

    border-radius: 22px;

    overflow: hidden;

    isolation: isolate;

    transition:
        transform .4s ease,
        border-color .4s ease,
        box-shadow .4s ease,
        background .4s ease;
}



/* =========================================
   BOTTOM-RIGHT PREMIUM PATTERN
========================================= */

.supply-stage::after {
    content: "";

    position: absolute;

    right: -15px;
    bottom: -15px;

    width: 145px;
    height: 145px;

    background-image:
        radial-gradient(
            circle,
            rgba(47, 202, 174, 0.30) 1px,
            transparent 1.5px
        );

    background-size: 12px 12px;

    opacity: .45;

    pointer-events: none;

    z-index: -1;

    transition:
        opacity .4s ease,
        transform .5s ease;
}


/* =========================================
   HOVER CARD
========================================= */

.supply-stage:hover {
    transform: translateY(-8px);

    background: #192d40;

    border-color: rgba(47, 202, 174, 0.35);

    box-shadow:
        0 25px 55px rgba(0, 0, 0, 0.22),
        0 0 0 1px rgba(47, 202, 174, 0.05);
}


/* =========================================
   HOVER AMBIENT LIGHT
========================================= */

.supply-stage:hover::before {
    transform: scale(1.25);

    opacity: 1;
}


/* =========================================
   HOVER PATTERN
========================================= */

.supply-stage:hover::after {
    transform: translate(-8px, -8px);

    opacity: .75;
}


/* =========================================
   TOP
========================================= */

.supply-stage-top {
    display: flex;

    align-items: center;
    justify-content: flex-start;

    margin-bottom: 24px;
}


/* =========================================
   NUMBER HIDDEN
========================================= */

.supply-stage-number {
    display: none;
}


/* =========================================
   ICON
========================================= */

.supply-stage-icon {
    position: relative;

    width: 58px;
    height: 58px;

    display: flex;
    align-items: center;
    justify-content: center;
}

.supply-stage-icon img{
  height: 50px;
  width: 50px;
}






/* =========================================
   TITLE
========================================= */

.supply-stage h3 {
    position: relative;

    margin: 0 0 14px;

    color: #ffffff;

    font-family: var(--alt-font);

    font-size: 20px;

    font-weight: 750;

    line-height: 1.4;

    transition:
        color .3s ease,
        transform .3s ease;
}




/* =========================================
   TITLE HOVER
========================================= */

.supply-stage:hover h3 {
    color: #ffffff;

    transform: translateX(3px);
}


/* =========================================
   DESCRIPTION
========================================= */

.supply-stage p {
    margin: 0;
    color: rgba(255, 255, 255, 0.68);
    font-size: 16px;
    line-height: 1.8;
    transition:
        color .3s ease;
    text-align: left;
}


/* =========================================
   DESCRIPTION HOVER
========================================= */

.supply-stage:hover p {
    color: rgba(255, 255, 255, 0.82);
}


/* =========================================
   TOP EDGE ACCENT
========================================= */

.supply-stage {
    background-image:
        linear-gradient(
            90deg,
            rgba(0, 133, 210, 0.7),
            rgba(47, 202, 174, 0.7)
        );

    background-size: 0 2px;

    background-repeat: no-repeat;

    background-position: top left;
}

.supply-stage:hover {
    background-size: 100% 2px;
}


/* =========================================
   TABLET
========================================= */

@media (max-width: 991px) {

    .supply-stage {
        padding: 27px;
    }

    .supply-stage h3 {
        font-size: 19px;
    }

}


/* =========================================
   MOBILE
========================================= */

@media (max-width: 767px) {

    .supply-chain-process {
        margin-top: 35px;
    }

    .supply-stage {
        padding: 24px;

        border-radius: 19px;
    }

    .supply-stage-top {
        margin-bottom: 20px;
    }

    .supply-stage-icon {
        width: 52px;
        height: 52px;

        border-radius: 14px;

        font-size: 23px;
    }

    .supply-stage h3 {
        font-size: 18px;

        line-height: 1.45;
    }

    .supply-stage p {
        font-size: 14px;

        line-height: 1.75;
    }

}


/* =========================================
   SMALL MOBILE
========================================= */

@media (max-width: 575px) {

    .supply-stage {
        padding: 22px;

        border-radius: 17px;
    }

    .supply-stage-icon {
        width: 48px;
        height: 48px;

        border-radius: 13px;

        font-size: 21px;
    }

    .supply-stage h3 {
        font-size: 17px;
    }

    .supply-stage p {
        font-size: 13px;

        line-height: 1.75;
    }

}

/* =========================================
   MATERIOVIGILANCE FAQ
========================================= */

.materiovigilance-faq {
    width: 100%;
    margin-top: 45px;
}


/* =========================================
   FAQ ITEM
========================================= */

.mv-faq-item {
    position: relative;

    width: 100%;

    margin-bottom: 14px;

    background: #ffffff;

    border: 1px solid #e3edf2;

    border-radius: 16px;

    overflow: hidden;

    box-shadow: 0 5px 20px rgba(29, 43, 58, 0.045);

    transition:
        border-color .3s ease,
        box-shadow .3s ease,
        transform .3s ease;
}

.mv-faq-item:last-child {
    margin-bottom: 0;
}


/* =========================================
   LEFT ACCENT
========================================= */

.mv-faq-item::before {
    content: "";

    position: absolute;

    left: 0;
    top: 18px;
    bottom: 18px;

    width: 3px;

    background: var(--secondary-color);

    border-radius: 0 5px 5px 0;

    opacity: 0;

    transition: opacity .3s ease;
}


/* =========================================
   QUESTION
========================================= */

.mv-faq-question {
    width: 100%;

    min-height: 76px;

    padding: 18px 22px;

    border: 0;
    outline: none;

    background: #ffffff;

    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 22px;

    cursor: pointer;

    color: var(--dark-gray);

    font-family: var(--alt-font);

    font-size: 17px;

    font-weight: 700;

    line-height: 1.45;

    text-align: left;

    transition:
        color .3s ease,
        background .3s ease;
}


/* =========================================
   QUESTION ICON
========================================= */

.mv-faq-question i {
    width: 38px;
    height: 38px;

    min-width: 38px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 10px;

    background: var(--light-green);

    color: var(--secondary-color);

    border: 1px solid rgba(47, 202, 174, .15);

    font-size: 16px;

    transition:
        background .3s ease,
        color .3s ease,
        transform .35s ease,
        border-color .3s ease;
}


/* =========================================
   HOVER
========================================= */

.mv-faq-item:hover {
    border-color: rgba(47, 202, 174, .35);

    box-shadow:
        0 10px 28px rgba(29, 43, 58, .075);

    transform: translateY(-2px);
}

.mv-faq-item:hover::before {
    opacity: 1;
}

.mv-faq-question:hover {
    color: var(--secondary-color);
}

.mv-faq-question:hover i {
    background: var(--secondary-color);

    border-color: var(--secondary-color);

    color: var(--white);
}


/* =========================================
   ACTIVE
========================================= */

.mv-faq-item.active {
    border-color: rgba(47, 202, 174, .40);

    box-shadow:
        0 12px 32px rgba(29, 43, 58, .08);
}

.mv-faq-item.active::before {
    opacity: 1;
}

.mv-faq-item.active .mv-faq-question {
    color: var(--secondary-color);

    background: #fbfffd;
}

.mv-faq-item.active .mv-faq-question i {
    background: var(--secondary-color);

    border-color: var(--secondary-color);

    color: var(--white);

    transform: rotate(180deg);
}


/* =========================================
   ANSWER
========================================= */

.mv-faq-answer {
    max-height: 0;

    overflow: hidden;

    opacity: 0;

    transition:
        max-height .45s ease,
        opacity .3s ease;
}

.mv-faq-item.active .mv-faq-answer {
    opacity: 1;
}


/* =========================================
   ANSWER INNER
========================================= */

.mv-faq-answer-inner {
    padding: 0 70px 25px 24px;
}


/* =========================================
   ANSWER TEXT
========================================= */

.mv-faq-answer p {
    margin: 0;

    color: var(--medium-gray);

    font-size: 14px;

    line-height: 1.8;
}


/* =========================================
   TIMELINE LIST
========================================= */

.mv-timeline-list {
    display: flex;
    flex-direction: column;

    gap: 9px;

    margin: 17px 0 0;
    padding: 0;

    list-style: none;
}


/* =========================================
   TIMELINE ITEM
========================================= */

.mv-timeline-list li {
    display: flex;
    align-items: flex-start;

    gap: 11px;

    width: 100%;

    margin: 0;
    padding: 12px 14px;

    background: #f8fbfd;

    border: 1px solid #e5eef3;

    border-radius: 11px;

    color: var(--medium-gray);

    font-size: 13.5px;

    line-height: 1.65;

    transition:
        background .3s ease,
        border-color .3s ease,
        box-shadow .3s ease;
}


/* =========================================
   LIST ICON
========================================= */

.mv-list-icon {
    width: 27px;
    height: 27px;

    min-width: 27px;

    display: flex;
    align-items: center;
    justify-content: center;

    margin-top: 1px;

    border-radius: 8px;

    background: var(--light-green);

    color: var(--secondary-color);

    font-size: 14px;

    transition:
        background .3s ease,
        color .3s ease;
}


/* =========================================
   STRONG
========================================= */

.mv-timeline-list li strong {
    color: var(--dark-gray);

    font-weight: 700;
}


/* =========================================
   LIST HOVER
========================================= */

.mv-timeline-list li:hover {
    background: #f8fffc;

    border-color: rgba(47, 202, 174, .30);

    box-shadow:
        0 5px 15px rgba(29, 43, 58, .05);
}

.mv-timeline-list li:hover .mv-list-icon {
    background: var(--secondary-color);

    color: var(--white);
}


/* =========================================
   TABLET
========================================= */

@media (max-width: 767px) {

    .materiovigilance-faq {
        margin-top: 35px;
    }

    .mv-faq-item {
        margin-bottom: 12px;

        border-radius: 14px;
    }

    .mv-faq-question {
        min-height: 68px;

        padding: 16px 18px;

        font-size: 16px;

        gap: 14px;
    }

    .mv-faq-question i {
        width: 35px;
        height: 35px;

        min-width: 35px;

        border-radius: 9px;

        font-size: 15px;
    }

    .mv-faq-answer-inner {
        padding: 0 45px 22px 19px;
    }

    .mv-faq-answer p {
        font-size: 13.5px;

        line-height: 1.75;
    }

    .mv-timeline-list {
        gap: 8px;
    }

    .mv-timeline-list li {
        padding: 11px 12px;

        font-size: 13px;

        line-height: 1.65;
    }
}


/* =========================================
   MOBILE
========================================= */

@media (max-width: 575px) {

    .materiovigilance-faq {
        margin-top: 30px;
    }

    .mv-faq-item {
        border-radius: 13px;

        margin-bottom: 10px;
    }

    .mv-faq-question {
        min-height: 62px;

        padding: 14px 15px;

        font-size: 15px;

        line-height: 1.5;

        gap: 10px;
    }

    .mv-faq-question i {
        width: 32px;
        height: 32px;

        min-width: 32px;

        border-radius: 8px;

        font-size: 14px;
    }

    .mv-faq-answer-inner {
        padding: 0 15px 19px;
    }

    .mv-faq-answer p {
        font-size: 13px;

        line-height: 1.7;
    }

    .mv-timeline-list {
        gap: 8px;

        margin-top: 14px;
    }

    .mv-timeline-list li {
        padding: 10px 11px;

        gap: 8px;

        font-size: 12.5px;

        line-height: 1.65;
    }

    .mv-list-icon {
        width: 24px;
        height: 24px;

        min-width: 24px;

        border-radius: 7px;

        font-size: 12px;
    }
}
/* =========================================
   MARKET COUNTERS
========================================= */

.market-counter-section {
    padding-bottom: 80px;
    padding-top: 0px;
}

.market-counter-wrap {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    align-items: center;

    background: #ffffff;
    border: 1px solid #e3edf2;
    border-radius: 24px;

    padding: 10px 0;

    box-shadow: 0 18px 50px rgba(29, 43, 58, .07);
}

.market-counter-wrap4{
    grid-template-columns: repeat(4, 1fr);
}
.market-counter-wrap4.dark-bg{
  background: var(--dark-gray);
}


/* ITEM */

.market-counter-item {
    position: relative;

    display: flex;
    align-items: center;
    gap: 20px;

    min-height: 115px;
    padding: 22px 35px;
}


/* DIVIDER */

.market-counter-item:not(:last-child)::after {
    content: "";
    position: absolute;

    right: 0;
    top: 25px;
    bottom: 25px;

    width: 1px;

    background: #e4edf1;
}


/* ICON */

.market-counter-icon {
    width: 58px;
    height: 58px;
    min-width: 58px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 17px;

    background: var(--light-blue);
    color: var(--base-color);

    font-size: 27px;

    transition: all .35s ease;
}


/* CONTENT */

.market-counter-content {
    min-width: 0;
}


/* NUMBER */

.market-counter-number {
    display: flex;
    align-items: baseline;

    color: var(--dark-gray);

    font-family: var(--alt-font);
    font-size: 36px;
    font-weight: 800;
    line-height: 1;
    letter-spacing: -1px;
}

.counter-suffix,
.counter-range {
    color: var(--base-color);
    font-size: 18px;
    font-weight: 800;
    padding-left: 7px;

}


/* LABEL */

.market-counter-label {
    display: block;

    margin-top: 9px;

    color: var(--medium-gray);

    font-size: 13px;
    font-weight: 650;
    line-height: 1.4;
}


/* SMALL TEXT */

.market-counter-content small {
    display: block;

    margin-top: 4px;

    color: var(--secondary-color);

    font-size: 11px;
    font-weight: 700;
}


/* HOVER */

.market-counter-item:hover .market-counter-icon {
    background: var(--secondary-color);
    color: var(--white);
    transform: translateY(-4px);
}


/* =========================================
   TABLET
========================================= */

@media(max-width:1200px){
  .market-counter-number {
    font-size: 28px;
}
}

@media (max-width: 991px) {

    .market-counter-wrap {
        grid-template-columns: 1fr;
        padding: 5px 0;
    }

    .market-counter-item {
        min-height: 100px;
        padding: 20px 30px;
    }

    .market-counter-item:not(:last-child)::after {
        top: auto;
        bottom: 0;
        left: 30px;
        right: 30px;

        width: auto;
        height: 1px;
    }

}


/* =========================================
   MOBILE
========================================= */

@media (max-width: 575px) {

    .market-counter-section {
        padding: 20px 0;
    }

    .market-counter-wrap {
        border-radius: 20px;
    }

    .market-counter-item {
        gap: 15px;
        padding: 20px;
    }

    .market-counter-icon {
        width: 50px;
        height: 50px;
        min-width: 50px;

        border-radius: 14px;
        font-size: 23px;
    }

    .market-counter-number {
        font-size: 30px;
    }

    .counter-suffix,
    .counter-range {
        font-size: 20px;
    }

    .market-counter-label {
        font-size: 12px;
    }

}


/* =========================================
   MARKET DRIVERS
========================================= */

.market-drivers-section {
    position: relative;
    padding: 60px 0;
    /* background: var(--light-bg); */
    overflow: hidden;
}

.market-drivers-section img{
    object-fit: contain;
}


/* =========================================
   HEADING
========================================= */

.market-drivers-heading {
    max-width: 760px;
    margin: 0 auto 80px;
    text-align: center;
}

.market-drivers-label {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 16px;
    color: var(--secondary-color);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 2px;
    text-transform: uppercase;
}

.market-drivers-label::before,
.market-drivers-label::after {
    content: "";
    width: 28px;
    height: 1px;
    background: var(--secondary-color);
}

.market-drivers-heading h2 {
    margin: 0 0 18px;
    color: var(--dark-gray);
    font-family: var(--alt-font);
    font-size: 42px;
    line-height: 1.2;
    font-weight: 800;
}

.market-drivers-heading h2 span {
    color: var(--base-color);
}

.market-drivers-heading p {
    max-width: 650px;
    margin: auto;
    color: var(--medium-gray);
    font-size: 15px;
    line-height: 1.8;
}


/* =========================================
   TIMELINE
========================================= */

.market-drivers-timeline {
    position: relative;
}


/* Center divider */

.market-drivers-timeline::before {
    content: "";
    position: absolute;
    top: 20px;
    bottom: 20px;
    left: 50%;
    width: 2px;

    background: linear-gradient(
        to bottom,
        transparent,
        #cfe5ec 8%,
        #cfe5ec 92%,
        transparent
    );

    transform: translateX(-50%);
}


/* =========================================
   ITEM
========================================= */

.market-driver-item {
    position: relative;
    display: grid;
    grid-template-columns: 1fr 100px 1fr;
    align-items: stretch;
    min-height: 230px;
    /* margin-bottom: 55px; */
}

.market-driver-item:last-child {
    margin-bottom: 0;
}


/* =========================================
   NUMBER / CENTER
========================================= */

.market-driver-side {
    grid-column: 2;
    grid-row: 1;

    position: relative;

    display: flex;
    align-items: flex-start;
    justify-content: center;

    padding-top: 20px;

    z-index: 5;
}

.market-driver-number {
    position: relative;
    width: 54px;
    height: 54px;
    min-width: 54px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: var(--white);
    border: 1px solid #d5e8ee;
    color: var(--base-color);
    font-size: 12px;
    font-weight: 800;
    /* box-shadow:
        0 8px 25px rgba(29, 43, 58, .08),
        0 0 0 7px #f7fbfd; */
    transition: all .4s ease;
}

.market-driver-item:hover .market-driver-number {
    background: var(--base-color);
    border-color: var(--base-color);
    color: var(--white);

    transform: scale(1.08);
}


/* =========================================
   CONTENT POSITION
========================================= */

.market-driver-content {
    position: relative;
    width: 100%;
    height: 400px;
    padding: 30px;
    background: var(--white);
    border: 1px solid #e1edf1;
    border-radius: 24px;
    box-shadow:
        0 15px 45px rgba(29, 43, 58, .055);
    transition:
        transform .4s ease,
        box-shadow .4s ease,
        border-color .4s ease;
}


/* Left content */

.market-driver-item:not(.reverse) .market-driver-content {
    grid-column: 1;
    grid-row: 1;
    justify-self: end;
}


/* Right content */

.market-driver-item.reverse .market-driver-content {
    grid-column: 3;
    grid-row: 1;
    justify-self: start;
}


/* =========================================
   CONTENT ACCENT
========================================= */

.market-driver-content::before {
    content: "";

    position: absolute;
    top: 24px;
    bottom: 24px;

    width: 3px;

    border-radius: 5px;

    background: linear-gradient(
        to bottom,
        var(--base-color),
        var(--secondary-color)
    );

    opacity: .85;
}

.market-driver-item:not(.reverse) .market-driver-content::before {
    right: 0;
}

.market-driver-item.reverse .market-driver-content::before {
    left: 0;
}


/* =========================================
   ICON
========================================= */

.market-driver-icon {
    width: 60px;
    height: 60px;
    min-width: 60px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 2px;
    border-radius: 17px;
    background: var(--light-blue);
    color: var(--base-color);
    font-size: 27px;
    transition:
        background .35s ease,
        color .35s ease,
        transform .35s ease;
}

.market-driver-content:hover .market-driver-icon {
    background: var(--secondary-color);
    color: var(--white);

    transform: translateY(-3px) rotate(-5deg);
}


/* =========================================
   TEXT
========================================= */

.market-driver-text {
    flex: 1;
    min-width: 0;
}

.market-driver-tag {
    display: inline-block;

    margin-bottom: 8px;

    color: var(--secondary-color);

    font-size: 10px;
    font-weight: 800;
    letter-spacing: 1.7px;
    line-height: 1.3;
}

.market-driver-text h3 {
    margin: 10px 0 12px;
    color: var(--dark-gray);
    font-family: var(--alt-font);
    font-size: 22px;
    line-height: 1.35;
    font-weight: 800;
}

.market-driver-text p {
    margin: 0;

    color: var(--medium-gray);

    font-size: 15px;
    line-height: 1.8;
}


/* =========================================
   HOVER
========================================= */

.market-driver-content:hover {
    transform: translateY(-7px);

    border-color: rgba(47, 202, 174, .35);

    box-shadow:
        0 25px 65px rgba(29, 43, 58, .11);
}


/* =========================================
   ACTIVE / SCROLL STATE
========================================= */

.market-driver-item.is-active .market-driver-number {
    background: var(--base-color);
    border-color: var(--base-color);
    color: var(--white);

    box-shadow:
        0 8px 25px rgba(0, 133, 210, .20),
        0 0 0 7px #f7fbfd;
}

.market-driver-item.is-active .market-driver-content {
    border-color: rgba(47, 202, 174, .35);

    box-shadow:
        0 25px 65px rgba(29, 43, 58, .10);
}

.market-driver-item.is-active .market-driver-icon {
    background: var(--secondary-color);
    color: var(--white);
}


/* =========================================
   TABLET
========================================= */

@media (max-width: 991px) {

    .market-drivers-section {
        padding: 80px 0;
    }

    .market-drivers-heading {
        margin-bottom: 60px;
    }

    .market-drivers-heading h2 {
        font-size: 36px;
    }


    /* Move timeline to left */

    .market-drivers-timeline::before {
        left: 27px;
        transform: none;
    }


    .market-driver-item,
    .market-driver-item.reverse {
        grid-template-columns: 54px 1fr;

        min-height: auto;

        margin-bottom: 45px;
    }


    .market-driver-side,
    .market-driver-item.reverse .market-driver-side {
        grid-column: 1;
        grid-row: 1;

        padding-top: 22px;
    }


    .market-driver-content,
    .market-driver-item:not(.reverse) .market-driver-content,
    .market-driver-item.reverse .market-driver-content {
        grid-column: 2;
        grid-row: 1;

        justify-self: stretch;

        max-width: none;

        min-height: 220px;
    }


    .market-driver-item:not(.reverse) .market-driver-content::before,
    .market-driver-item.reverse .market-driver-content::before {
        left: 0;
        right: auto;
    }
}


/* =========================================
   MOBILE
========================================= */

@media (max-width: 575px) {

    .market-drivers-section {
        padding: 65px 0;
    }

    .market-drivers-heading {
        margin-bottom: 45px;
    }

    .market-drivers-heading h2 {
        font-size: 30px;
    }

    .market-drivers-heading p {
        font-size: 14px;
        line-height: 1.75;
    }


    /* Timeline */

    .market-drivers-timeline::before {
        left: 21px;
    }


    .market-driver-item,
    .market-driver-item.reverse {
        grid-template-columns: 42px 1fr;

        min-height: auto;

        margin-bottom: 30px;
    }


    .market-driver-side,
    .market-driver-item.reverse .market-driver-side {
        padding-top: 20px;
    }


    .market-driver-number {
        width: 42px;
        height: 42px;
        min-width: 42px;

        font-size: 10px;

        /* box-shadow:
            0 6px 18px rgba(29, 43, 58, .08),
            0 0 0 5px #f7fbfd; */
    }


    .market-driver-content,
    .market-driver-item:not(.reverse) .market-driver-content,
    .market-driver-item.reverse .market-driver-content {
        flex-direction: column;
        gap: 17px;

        min-height: 0;

        padding: 24px 22px;

        border-radius: 20px;
    }


    .market-driver-content::before {
        top: 20px;
        bottom: 20px;
        width: 3px;
    }


    .market-driver-icon {
        width: 50px;
        height: 50px;
        min-width: 50px;

        border-radius: 14px;

        font-size: 22px;
    }


    .market-driver-tag {
        font-size: 9px;
        letter-spacing: 1.5px;
    }


    .market-driver-text h3 {
        font-size: 19px;
        line-height: 1.35;
    }


    .market-driver-text p {
        font-size: 13px;
        line-height: 1.75;
    }
}

/* =========================================================
   REGULATORY BLUEPRINT
========================================================= */

.regulatory-blueprint-section {
    padding: 80px 0;
}


/* =========================================================
   SECTION HEADING
========================================================= */

.regulatory-blueprint-heading {
    max-width: 780px;
    margin: 0 auto 48px;
    text-align: center;
}

.regulatory-blueprint-heading .section-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    margin-bottom: 14px;

    color: var(--secondary-color);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 2px;
    text-transform: uppercase;
}

.regulatory-blueprint-heading h2 {
    margin: 0 0 15px;

    color: var(--dark-gray);
    font-family: var(--alt-font);
    font-size: 42px;
    font-weight: 800;
    line-height: 1.2;
}

.regulatory-blueprint-heading p {
    max-width: 680px;
    margin: 0 auto;

    color: var(--medium-gray);
    font-size: 15px;
    line-height: 1.8;
}


/* =========================================================
   TABLE OUTER BOX
========================================================= */

.regulatory-table-wrap {
    position: relative;

    width: 100%;

    background: #ffffff;

    border: 1px solid #dce9ee;
    border-radius: 20px;

    box-shadow:
        0 12px 35px rgba(29, 43, 58, 0.055),
        0 2px 8px rgba(29, 43, 58, 0.025);

    overflow: hidden;
}


/* =========================================================
   TABLE SCROLL
========================================================= */

.regulatory-table-scroll {
    width: 100%;

    overflow-x: auto;
    overflow-y: hidden;

    -webkit-overflow-scrolling: touch;

    scrollbar-width: thin;
    scrollbar-color: var(--base-color) #edf4f7;
}


/* Chrome / Edge / Safari */

.regulatory-table-scroll::-webkit-scrollbar {
    height: 7px;
}

.regulatory-table-scroll::-webkit-scrollbar-track {
    background: #edf4f7;
}

.regulatory-table-scroll::-webkit-scrollbar-thumb {
    background: var(--base-color);
    border-radius: 20px;
}

.regulatory-table-scroll::-webkit-scrollbar-thumb:hover {
    background: var(--secondary-color);
}


/* =========================================================
   TABLE
========================================================= */

.regulatory-blueprint-table {
    width: 100%;

    min-width: 900px;

    border-collapse: separate;
    border-spacing: 0;

    table-layout: fixed;
}




/* =========================================================
   TABLE HEADER
========================================================= */

.regulatory-blueprint-table thead th {
    padding: 20px 26px;

    background: #1d2b3a;

    color: #ffffff;

    font-family: var(--alt-font);
    font-size: 15px;
    font-weight: 700;

    line-height: 1.4;
    text-align: left;

    letter-spacing: .2px;

    border-bottom: 0;
}


/* Header rounded corners */

.regulatory-blueprint-table thead th:first-child {
    border-top-left-radius: 20px;
}

.regulatory-blueprint-table thead th:last-child {
    border-top-right-radius: 20px;
}


/* =========================================================
   TABLE BODY
========================================================= */

.regulatory-blueprint-table tbody td {
    padding: 23px 26px;

    background: #ffffff;

    color: var(--medium-gray);

    font-size: 14px;
    font-weight: 500;

    line-height: 1.7;

    vertical-align: top;

    border-bottom: 1px solid #e8f0f3;

    transition:
        background-color .25s ease,
        color .25s ease;
}


/* Remove last border */

.regulatory-blueprint-table tbody tr:last-child td {
    border-bottom: 0;
}


/* =========================================================
   STRIPED ROWS
========================================================= */

.regulatory-blueprint-table tbody tr:nth-child(even) td {
    background: var(--light-blue);
}


/* =========================================================
   FIRST COLUMN
   Clean premium style — NO vertical line
========================================================= */

.regulatory-blueprint-table tbody td:first-child {
    color: var(--dark-gray);

    font-family: var(--alt-font);
    font-size: 15px;
    font-weight: 700;

    /* background: #f9fcfd; */
}


/* =========================================================
   FRAMEWORK NAME
========================================================= */

.framework-name {
    display: block;

    margin: 0;

    color: var(--dark-gray);

    font-family: var(--alt-font);
    font-size: 15px;
    font-weight: 750;

    line-height: 1.5;
}


/* Remove old vertical accent */

.framework-name::before {
    display: none;
}


/* =========================================================
   SUPPORT CONTENT
========================================================= */

.ibh-support {
    display: block;

    color: var(--base-color);

    font-size: 14px;
    font-weight: 650;

    line-height: 1.65;
}


/* =========================================================
   ROW HOVER
========================================================= */

.regulatory-blueprint-table tbody tr {
    transition: all .25s ease;
}

.regulatory-blueprint-table tbody tr:hover td {
    background: var(--light-green);
}

.regulatory-blueprint-table tbody tr:hover td:first-child {
    background: #eef9fc;
}

.regulatory-blueprint-table tbody tr:hover .framework-name {
    color: var(--secondary-color);
}


/* =========================================================
   TABLE INNER DIVIDER
========================================================= */

.regulatory-blueprint-table tbody td + td {
    border-left: 1px solid #edf2f4;
}


/* =========================================================
   LAST ROW / BOTTOM CORNERS
========================================================= */

.regulatory-blueprint-table tbody tr:last-child td:first-child {
    border-bottom-left-radius: 20px;
}

.regulatory-blueprint-table tbody tr:last-child td:last-child {
    border-bottom-right-radius: 20px;
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 991px) {

    .regulatory-blueprint-section {
        padding: 75px 0;
    }

    .regulatory-blueprint-heading {
        margin-bottom: 38px;
    }

    .regulatory-blueprint-heading h2 {
        font-size: 36px;
    }

    .regulatory-table-wrap {
        border-radius: 18px;
    }

    .regulatory-table-scroll {
        overflow-x: auto;
    }

    .regulatory-blueprint-table {
        min-width: 900px;
    }

    .regulatory-blueprint-table thead th {
        padding: 19px 22px;
        font-size: 14px;
    }

    .regulatory-blueprint-table tbody td {
        padding: 21px 22px;
        font-size: 14px;
    }

    .framework-name {
        font-size: 14px;
    }

    .ibh-support {
        font-size: 13.5px;
    }
}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 575px) {

    .regulatory-blueprint-section {
        padding: 60px 0;
    }

    .regulatory-blueprint-heading {
        margin-bottom: 30px;
        padding: 0 10px;
    }

    .regulatory-blueprint-heading .section-badge {
        font-size: 10px;
        letter-spacing: 1.6px;
    }

    .regulatory-blueprint-heading h2 {
        font-size: 29px;
        line-height: 1.25;
    }

    .regulatory-blueprint-heading p {
        font-size: 13px;
        line-height: 1.7;
    }

    .regulatory-table-wrap {
        border-radius: 16px;
    }

    .regulatory-blueprint-table {
        min-width: 820px;
    }

    .regulatory-blueprint-table thead th {
        padding: 17px 18px;
        font-size: 12px;
    }

    .regulatory-blueprint-table tbody td {
        padding: 17px 18px;
        font-size: 12.5px;
        line-height: 1.65;
    }

    .framework-name {
        font-size: 13px;
    }

    .ibh-support {
        font-size: 12.5px;
    }

    .regulatory-table-scroll::-webkit-scrollbar {
        height: 6px;
    }
}

/* =========================================
   FTZ ADVANTAGE
========================================= */

.ftz-stats-section {
    position: relative;
    padding: 95px 0;
    background: #142532;
    overflow: hidden;
}


/* =========================================
   BACKGROUND PATTERN
========================================= */

.ftz-stats-section::before {
    content: "";

    position: absolute;

    width: 520px;
    height: 520px;

    top: -300px;
    right: -180px;

    border: 1px solid rgba(0, 133, 210, 0.18);
    border-radius: 50%;

    box-shadow:
        0 0 0 35px rgba(0, 133, 210, 0.035),
        0 0 0 75px rgba(0, 133, 210, 0.025),
        0 0 0 120px rgba(0, 133, 210, 0.018);

    pointer-events: none;
}


.ftz-stats-section::after {
    content: "";

    position: absolute;

    width: 360px;
    height: 360px;

    left: -200px;
    bottom: -220px;

    border: 1px solid rgba(255, 255, 255, 0.05);
    border-radius: 50%;

    box-shadow:
        0 0 0 35px rgba(255, 255, 255, 0.015),
        0 0 0 70px rgba(255, 255, 255, 0.01);

    pointer-events: none;
}


/* =========================================
   HEADING
========================================= */

.ftz-stats-section .section-title,
.ftz-stats-section .section-subhed {
    position: relative;
    z-index: 2;
}

.ftz-stats-section .section-title {
    margin-bottom: 8px;

    color: var(--white);

    font-family: var(--alt-font);
    font-size: 40px;
    font-weight: 800;
    line-height: 1.2;
}

.ftz-stats-section .section-subhed {
    color: rgba(255, 255, 255, 0.58);
    font-family: var(--primary-font);
    font-size: 20px;
}


/* =========================================
   STATS ROW
========================================= */

.ftz-stats-section .row.g-4 {
    position: relative;
    z-index: 2;
}


/* =========================================
   STAT CARD
========================================= */

.ftz-stat-item {
    position: relative;

    height: 100%;
    min-height: 385px;

    padding: 20px 22px 28px;

    background: #ffffff;

    border: 1px solid rgba(255, 255, 255, 0.9);

    border-radius: 20px;

    overflow: hidden;

    box-shadow:
        0 15px 40px rgba(0, 0, 0, 0.16);
}


/* =========================================
   CARD PATTERN
========================================= */

.ftz-stat-item::before {
    content: "";

    position: absolute;

    width: 180px;
    height: 180px;

    right: -85px;
    bottom: -90px;

    border: 1px solid rgba(0, 133, 210, 0.08);

    border-radius: 50%;

    box-shadow:
        0 0 0 25px rgba(0, 133, 210, 0.025),
        0 0 0 50px rgba(0, 133, 210, 0.018);

    pointer-events: none;
}


/* =========================================
   STORYSET IMAGE
========================================= */

.ftz-stat-visual {
    position: relative;
    width: 100%;
    height: 200px;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}


/* Image background pattern */

.ftz-stat-visual::before {
    content: "";

    position: absolute;

    width: 150px;
    height: 150px;

    right: -65px;
    top: -70px;

    border: 1px solid rgba(0, 133, 210, 0.08);

    border-radius: 50%;
}


.ftz-stat-visual::after {
    content: "";

    position: absolute;

    width: 110px;
    height: 110px;

    left: -55px;
    bottom: -60px;

    border: 1px solid rgba(0, 133, 210, 0.06);

    border-radius: 50%;
}


.ftz-stat-visual img {
    position: relative;

    z-index: 2;

    width: 100%;
    height: 100%;

    object-fit: contain;

    display: block;
}


/* =========================================
   NUMBER
========================================= */

.ftz-stat-top {
    position: relative;

    z-index: 2;

    margin-bottom: 15px;
}


.ftz-stat-number {
    color: var(--base-color);
    font-family: var(--alt-font);
    font-size: 38px;
    line-height: 1;
    font-weight: 800;
    letter-spacing: -0.6px;
}

.ftz-title-main{
    color: var(--dark-gray);
    font-family: var(--alt-font);
    font-size: 20px;
    line-height: 1;
    font-weight: 700;
}


/* =========================================
   DIVIDER
========================================= */

.ftz-stat-line {
    position: relative;

    z-index: 2;

    width: 40px;
    height: 2px;

    margin-bottom: 18px;

    background: var(--base-color);

    border-radius: 5px;
}


/* =========================================
   DESCRIPTION
========================================= */

.ftz-stat-item p {
    position: relative;

    z-index: 2;

    max-width: 290px;

    margin: 0;

    color: var(--medium-gray);

    font-family: var(--primary-font);

    font-size: 14px;

    line-height: 1.75;
}


/* =========================================
   TABLET
========================================= */

@media (max-width: 991px) {

    .ftz-stats-section {
        padding: 75px 0;
    }

    .ftz-stats-section .section-title {
        font-size: 34px;
    }

    .ftz-stat-item {
        min-height: 370px;

        padding: 20px;
    }

    .ftz-stat-visual {
        height: 200px;
    }

    .ftz-stat-number {
        font-size: 35px;
    }
}


/* =========================================
   MOBILE
========================================= */

@media (max-width: 575px) {

    .ftz-stats-section {
        padding: 65px 0;
    }

    .ftz-stats-section .section-title {
        font-size: 29px;
    }

    .ftz-stats-section .section-subhed {
        font-size: 13px;
    }

    .ftz-stat-item {
        min-height: auto;

        padding: 18px 18px 24px;

        border-radius: 17px;
    }

    .ftz-stat-visual {
        width: 100%;
        height: 200px;

        margin-bottom: 20px;
    }

    .ftz-stat-number {
        font-size: 32px;
    }

    .ftz-stat-item p {
        font-size: 13px;
        line-height: 1.65;
    }
}
/* =========================================
   FTZ ZIG ZAG
========================================= */

.ftz-zigzag-section {
    padding: 80px 0;
    background: #fff;
    overflow: hidden;
}

.ftz-zigzag-row {
    margin-bottom: 100px;
}

.ftz-zigzag-row:last-child {
    margin-bottom: 0;
}


/* =========================================
   IMAGE
========================================= */

.ftz-zigzag-image {
    position: relative;
    padding: 10px;
    background: #fff;
    border: 1px solid #e1edf1;
    border-radius: 28px;
    box-shadow: 0 25px 70px rgba(29, 43, 58, .08);
    overflow: hidden;
    transition: all .4s ease;
}

.ftz-zigzag-image::after {
    content: "";

    position: absolute;

    left: 0;
    bottom: 0;

    width: 80px;
    height: 80px;

    border-left: 4px solid var(--secondary-color);
    border-bottom: 4px solid var(--secondary-color);

    border-radius: 0 0 0 18px;
}

.ftz-zigzag-image img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    border-radius: 20px;
    transition: transform .5s ease;
}

.ftz-zigzag-image:hover {
    transform: translateY(-7px);
    box-shadow: 0 35px 85px rgba(29, 43, 58, .12);
}

.ftz-zigzag-image:hover img {
    transform: scale(1.03);
}


/* =========================================
   CONTENT
========================================= */

.ftz-zigzag-content h2 {
    margin: 0 0 24px;
    color: var(--dark-gray);
    font-family: var(--alt-font);
    font-size: 38px;
    line-height: 1.25;
    font-weight: 800;
}

.ftz-zigzag-text p {
    margin: 0 0 20px;
    color: var(--medium-gray);
    font-size: 16px;
    line-height: 1.9;
}

.ftz-zigzag-text p:last-child {
    margin-bottom: 0;
}

/* =========================================
   TABLET
========================================= */

@media (max-width: 991px) {

    .ftz-zigzag-section {
        padding: 70px 0;
    }

    .ftz-zigzag-row {
        margin-bottom: 70px;
    }

    .ftz-zigzag-image {
        height: 350px;
    }

    .ftz-zigzag-content {
        padding: 20px 15px;
    }

    .ftz-zigzag-content h2 {
        font-size: 30px;
    }

    .ftz-zigzag-content::before {
        display: none;
    }

    .ftz-zigzag-text p {
        font-size: 14px;
        line-height: 1.8;
    }
}


/* =========================================
   MOBILE
========================================= */

@media (max-width: 767px) {

    .ftz-zigzag-section {
        padding: 55px 0;
    }

    .ftz-zigzag-row {
        margin-bottom: 55px;
    }

    .ftz-zigzag-image {
        height: 280px;
        border-radius: 22px;
    }

    .ftz-zigzag-image img {
        border-radius: 15px;
    }

    .ftz-zigzag-content {
        padding: 10px 0;
    }

    .ftz-zigzag-number {
        width: 42px;
        height: 42px;

        margin-bottom: 18px;
    }

    .ftz-zigzag-label {
        font-size: 9px;
        letter-spacing: 1.3px;
    }

    .ftz-zigzag-content h2 {
        font-size: 25px;
        line-height: 1.3;
    }

    .ftz-zigzag-text p {
        font-size: 14px;
        line-height: 1.8;
    }

}

/* =========================================
   FTZ HIGHLIGHT MESSAGE
========================================= */

.ftz-highlight-message {
    position: relative;
    margin: 0px auto;
    padding: 32px 38px;
    background: #f5fbfd;
    border: 1px solid #d9ebf0;
    border-radius: 20px;
    box-shadow:
        0 18px 50px rgba(29, 43, 58, .06);
    overflow: hidden;
}


/* Accent line */

.ftz-highlight-message::before {
    content: "";

    position: absolute;

    left: 0;
    top: 0;
    bottom: 0;

    width: 4px;

    background: linear-gradient(
        to bottom,
        var(--base-color),
        var(--secondary-color)
    );
}


/* Content */

.ftz-highlight-content {
    padding-left: 8px;
}


/* Heading */

.ftz-highlight-label {
    display: block;

    margin-bottom: 14px;

    color: var(--dark-gray);

    font-family: var(--alt-font);

    font-size: 21px;
    font-weight: 800;

    line-height: 1.4;
}


/* Description */

.ftz-highlight-content p {
    margin: 0;
    color: var(--medium-gray);
    font-size: 16px;
    line-height: 1.85;
}


/* Hover */

.ftz-highlight-message {
    transition: all .35s ease;
}

.ftz-highlight-message:hover {
    transform: translateY(-4px);

    border-color: rgba(47, 202, 174, .35);

    box-shadow:
        0 25px 65px rgba(29, 43, 58, .09);
}


/* =========================================
   MOBILE
========================================= */

@media (max-width: 767px) {

    .ftz-highlight-message {
        margin: 40px auto;
        padding: 25px 25px;
        border-radius: 17px;
    }

    .ftz-highlight-label {
        font-size: 18px;
    }

    .ftz-highlight-content p {
        font-size: 14px;
        line-height: 1.8;
    }

}


/* =========================================
   FTZ VALUE ADDED SERVICES
========================================= */

.ftz-vas-section {
    position: relative;
    padding: 90px 0;
    background: #f7fbfd;
    overflow: hidden;
}


/* =========================================
   HEADING
========================================= */

.ftz-section-heading {
    margin-bottom: 35px;
}


.ftz-section-heading h2 {
    max-width: 680px;
    margin: 0;

    color: var(--dark-gray);

    font-family: var(--alt-font);
    font-size: 38px;
    line-height: 1.2;
    font-weight: 800;
}


/* =========================================
   SERVICE LIST
========================================= */

.ftz-vas-list {
    display: flex;
    flex-direction: column;
    gap: 14px;
}


/* =========================================
   SERVICE ITEM
========================================= */

.ftz-vas-item {
    position: relative;

    display: flex;
    align-items: flex-start;

    gap: 18px;

    padding: 22px 48px 22px 22px;

    background: #ffffff;

    border: 1px solid #e2edf1;
    border-radius: 18px;

    box-shadow: 0 10px 35px rgba(29, 43, 58, .045);

    transition: all .35s ease;
}

.ftz-vas-item:hover {
    transform: translateX(6px);

    border-color: rgba(47, 202, 174, .35);

    box-shadow:
        0 18px 45px rgba(29, 43, 58, .09);
}


/* =========================================
   ICON
========================================= */

.ftz-vas-icon {
    width: 48px;
    height: 48px;
    min-width: 48px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 14px;

    background: var(--light-blue);
    color: var(--base-color);

    font-size: 22px;

    transition: all .35s ease;
}

.ftz-vas-item:hover .ftz-vas-icon {
    background: var(--secondary-color);
    color: #ffffff;

    transform: rotate(-5deg);
}


/* =========================================
   TEXT
========================================= */

.ftz-vas-text {
    padding-right: 5px;
}

.ftz-vas-text h3 {
    margin: 0 0 7px;

    color: var(--dark-gray);

    font-family: var(--alt-font);
    font-size: 17px;
    line-height: 1.4;
    font-weight: 750;
}

.ftz-vas-text p {
    margin: 0;
    color: var(--medium-gray);
    font-size: 16px;
    line-height: 1.75;
}


/* =========================================
   NUMBER
========================================= */

.ftz-vas-number {
    position: absolute;

    top: 20px;
    right: 18px;

    color: #dcecf1;

    font-size: 12px;
    font-weight: 800;
    letter-spacing: 1px;

    transition: .35s ease;
}

.ftz-vas-item:hover .ftz-vas-number {
    color: var(--secondary-color);
}


/* =========================================
   COMPLIANCE CARD
========================================= */

.ftz-compliance-card {
    position: sticky;
    top: 100px;

    overflow: hidden;

    background: #ffffff;

    border: 1px solid #dcebef;
    border-radius: 26px;

    box-shadow:
        0 25px 70px rgba(29, 43, 58, .10);
}


/* =========================================
   CARD TOP
========================================= */

.ftz-compliance-top {
    display: flex;
    align-items: center;
    gap: 16px;

    padding: 25px 28px;

    background: linear-gradient(
        135deg,
        #eaf7f5,
        #f4fbfd
    );

    border-bottom: 1px solid #e1edf0;
}

.ftz-compliance-icon {
    width: 52px;
    height: 52px;
    min-width: 52px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 16px;

    background: var(--secondary-color);
    color: #ffffff;

    font-size: 25px;

    box-shadow:
        0 10px 25px rgba(47, 202, 174, .22);
}

.ftz-compliance-top > span {
    color: var(--secondary-color);

    font-size: 11px;
    font-weight: 800;
    letter-spacing: 1.8px;
}


/* =========================================
   CARD BODY
========================================= */

.ftz-compliance-body {
    padding: 32px 30px 28px;
}

.ftz-compliance-body h3 {
    margin: 0 0 18px;

    color: var(--dark-gray);

    font-family: var(--alt-font);
    font-size: 25px;
    line-height: 1.35;
    font-weight: 800;
}

.ftz-compliance-body p {
    margin: 0;
    color: var(--medium-gray);
    font-size: 16px;
    line-height: 1.85;
}


/* =========================================
   CARD FOOTER
========================================= */

.ftz-compliance-footer {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0 30px 28px;
    padding-top: 20px;
    border-top: 1px solid #e5eef1;
    color: var(--dark-gray);
    font-size: 14px;
    font-weight: 700;
}

.ftz-compliance-footer i {
    color: var(--secondary-color);
    font-size: 20px;
}


/* =========================================
   TABLET
========================================= */

@media (max-width: 991px) {

    .ftz-vas-section {
        padding: 70px 0;
    }

    .ftz-section-heading h2 {
        font-size: 34px;
    }

    .ftz-compliance-card {
        position: relative;
        top: auto;
    }

}


/* =========================================
   MOBILE
========================================= */

@media (max-width: 575px) {

    .ftz-vas-section {
        padding: 55px 0;
    }

    .ftz-section-heading {
        margin-bottom: 25px;
    }

    .ftz-section-heading h2 {
        font-size: 28px;
    }

    .ftz-vas-item {
        gap: 13px;
        padding: 18px 38px 18px 16px;
        border-radius: 16px;
    }

    .ftz-vas-icon {
        width: 42px;
        height: 42px;
        min-width: 42px;

        border-radius: 12px;
        font-size: 19px;
    }

    .ftz-vas-text h3 {
        font-size: 15px;
    }

    .ftz-vas-text p {
        font-size: 13px;
        line-height: 1.7;
    }

    .ftz-compliance-top {
        padding: 20px;
    }

    .ftz-compliance-body {
        padding: 25px 20px 22px;
    }

    .ftz-compliance-body h3 {
        font-size: 21px;
    }

    .ftz-compliance-body p {
        font-size: 13px;
        line-height: 1.75;
    }

    .ftz-compliance-footer {
        margin: 0 20px 22px;
        font-size: 11px;
    }

}

/* =========================================
   FTZ ADVANTAGES SECTION
========================================= */

.ftz-advantages-section {
    position: relative;
    width: 100%;
    padding: 105px 0 115px;
    background: var(--white);
    overflow: hidden;
}


/* =========================================
   SECTION HEADING
========================================= */

.ftz-advantages-heading {
    width: 100%;
    max-width: 760px;
    margin: 0 auto 75px;
    padding: 0 15px;
    text-align: center;
}

.ftz-section-label {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    margin-bottom: 14px;

    color: var(--base-color);

    font-family: var(--primary-font);
    font-size: 11px;
    font-weight: 750;

    line-height: 1;
    letter-spacing: 2px;
    text-transform: uppercase;
}

.ftz-advantages-heading .section-title {
    margin: 0 0 10px;

    color: var(--dark-gray);

    font-family: var(--alt-font);
    font-size: 42px;
    font-weight: 750;

    line-height: 1.15;
    letter-spacing: -1.2px;
}

.ftz-advantages-heading .section-subhed {
    margin: 0;

    color: var(--medium-gray);

    font-family: var(--primary-font);
    font-size: 16px;
    line-height: 1.6;
}


/* =========================================
   MAIN GRID
========================================= */

.ftz-timeline {
    position: relative;

    width: 100%;
    max-width: 1750px;

    margin: 0 auto;
    padding: 0 35px;

    display: grid;

    grid-template-columns: repeat(5, minmax(0, 1fr));

    gap: 30px;
}


/* =========================================
   DESKTOP CONNECTING LINE
========================================= */

.ftz-timeline::before {
    content: "";

    position: absolute;

    top: 105px;
    left: 9%;
    right: 9%;

    height: 1px;

    background: linear-gradient(
        90deg,
        transparent,
        var(--base-color) 12%,
        var(--secondary-color) 50%,
        var(--base-color) 88%,
        transparent
    );

    opacity: .35;

    z-index: 0;
}


/* =========================================
   ITEM
========================================= */

.ftz-timeline-item {
    position: relative;

    min-width: 0;

    text-align: center;

    z-index: 2;
}


/* =========================================
   NUMBER
========================================= */

.ftz-timeline-top {
    position: relative;

    height: 30px;

    margin-bottom: 15px;

    display: flex;
    align-items: center;
    justify-content: center;

    z-index: 5;
}

.ftz-number {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    padding: 0 12px;

    background: var(--white);

    color: var(--base-color);

    font-family: var(--primary-font);

    font-size: 12px;
    font-weight: 750;

    line-height: 1;

    letter-spacing: 1.5px;

    transition:
        color .35s ease,
        transform .35s ease;
}


/* =========================================
   CIRCLE IMAGE AREA
========================================= */

.ftz-image-wrap {
    position: relative;

    width: 150px;
    height: 150px;

    margin: 0 auto 32px;

    display: flex;
    align-items: center;
    justify-content: center;

    background: var(--white);

    border-radius: 50%;

    z-index: 3;

    transition: transform .4s ease;
}


/* Main ring */

.ftz-image-wrap::before {
    content: "";

    position: absolute;

    inset: 0;

    border-radius: 50%;

    border: 1px solid rgba(0, 133, 210, .20);

    transition:
        border-color .4s ease,
        transform .4s ease;
}


/* Decorative dashed ring */

.ftz-image-wrap::after {
    content: "";

    position: absolute;

    inset: -8px;

    border-radius: 50%;

    border: 1px dashed rgba(47, 202, 174, .35);

    transition:
        transform .5s ease,
        border-color .4s ease;
}


/* =========================================
   IMAGE
========================================= */

.ftz-image-ring {
    position: relative;

    width: 128px;
    height: 128px;

    overflow: hidden;

    border-radius: 50%;

    background: var(--light-blue);

    box-shadow:
        0 12px 35px rgba(29, 43, 58, .10);
}

.ftz-image-ring img {
    display: block;

    width: 100%;
    height: 100%;

    object-fit: cover;
    object-position: center;

    transition: transform .6s ease;
}


/* =========================================
   SMALL CIRCLE NODE
========================================= */

.ftz-image-ring::after {
    content: "";

    position: absolute;

    left: 50%;
    bottom: 3px;

    width: 8px;
    height: 8px;

    transform: translateX(-50%);

    border-radius: 50%;

    background: var(--secondary-color);

    border: 2px solid var(--white);

    z-index: 4;
}


/* =========================================
   CONTENT
========================================= */

.ftz-timeline-content {
    width: 100%;
    max-width: 270px;

    margin: 0 auto;
}

.ftz-timeline-content h3 {
    margin: 0 0 13px;

    color: var(--dark-gray);

    font-family: var(--alt-font);

    font-size: 19px;
    font-weight: 750;

    line-height: 1.35;

    letter-spacing: -.25px;

    transition: color .35s ease;
}

.ftz-timeline-content p {
    margin: 0;

    color: var(--medium-gray);

    font-family: var(--primary-font);

    font-size: 13.5px;

    line-height: 1.75;
}


/* =========================================
   HOVER
========================================= */

.ftz-timeline-item:hover .ftz-image-wrap {
    transform: translateY(-6px);
}

.ftz-timeline-item:hover .ftz-image-wrap::before {
    border-color: var(--base-color);

    transform: scale(1.05);
}

.ftz-timeline-item:hover .ftz-image-wrap::after {
    border-color: var(--secondary-color);

    transform: rotate(45deg);
}

.ftz-timeline-item:hover .ftz-image-ring img {
    transform: scale(1.08);
}

.ftz-timeline-item:hover .ftz-timeline-content h3 {
    color: var(--base-color);
}

.ftz-timeline-item:hover .ftz-number {
    color: var(--secondary-color);

    transform: translateY(-2px);
}


/* =========================================
   LARGE LAPTOP
   1200px - 1399px
========================================= */

@media (max-width: 1399px) {

    .ftz-advantages-section {
        padding: 95px 0 105px;
    }

    .ftz-timeline {
        padding: 0 25px;
        gap: 22px;
    }

    .ftz-timeline::before {
        left: 8%;
        right: 8%;
    }

    .ftz-image-wrap {
        width: 135px;
        height: 135px;
    }

    .ftz-image-ring {
        width: 115px;
        height: 115px;
    }

    .ftz-timeline-content {
        max-width: 245px;
    }

    .ftz-timeline-content h3 {
        font-size: 18px;
    }

    .ftz-timeline-content p {
        font-size: 13px;
    }
}


/* =========================================
   LARGE TABLET
   992px - 1199px

   3 + 2 GRID
========================================= */

@media (max-width: 1199px) and (min-width: 992px) {

    .ftz-advantages-section {
        padding: 85px 30px 95px;
    }

    .ftz-advantages-heading {
        margin-bottom: 65px;
    }

    .ftz-advantages-heading .section-title {
        font-size: 38px;
    }

    .ftz-timeline {
        max-width: 1050px;

        padding: 0;

        grid-template-columns: repeat(6, minmax(0, 1fr));

        gap: 65px 25px;
    }

    /* Hide desktop connector */

    .ftz-timeline::before {
        display: none;
    }

    /* First 3 */

    .ftz-timeline-item:nth-child(1),
    .ftz-timeline-item:nth-child(2),
    .ftz-timeline-item:nth-child(3) {
        grid-column: span 2;
    }

    /* Last 2 centered */

    .ftz-timeline-item:nth-child(4) {
        grid-column: 2 / span 2;
    }

    .ftz-timeline-item:nth-child(5) {
        grid-column: 4 / span 2;
    }

    .ftz-image-wrap {
        width: 125px;
        height: 125px;

        margin-bottom: 27px;
    }

    .ftz-image-ring {
        width: 105px;
        height: 105px;
    }

    .ftz-timeline-content {
        max-width: 255px;
    }

    .ftz-timeline-content h3 {
        font-size: 18px;
    }

    .ftz-timeline-content p {
        font-size: 13px;
        line-height: 1.7;
    }
}


/* =========================================
   TABLET
   768px - 991px

   2 + 2 + 1 GRID
========================================= */

@media (max-width: 991px) and (min-width: 768px) {

    .ftz-advantages-section {
        padding: 80px 30px 90px;
    }

    .ftz-advantages-heading {
        margin-bottom: 60px;
    }

    .ftz-advantages-heading .section-title {
        font-size: 36px;
    }

    .ftz-advantages-heading .section-subhed {
        font-size: 15px;
    }

    .ftz-timeline {
        max-width: 820px;

        padding: 0;

        grid-template-columns: repeat(6, minmax(0, 1fr));

        gap: 60px 25px;
    }

    /* Remove connector */

    .ftz-timeline::before {
        display: none;
    }

    /* 01 + 02 */

    .ftz-timeline-item:nth-child(1),
    .ftz-timeline-item:nth-child(2) {
        grid-column: span 3;
    }

    /* 03 + 04 */

    .ftz-timeline-item:nth-child(3),
    .ftz-timeline-item:nth-child(4) {
        grid-column: span 3;
    }

    /* 05 centered */

    .ftz-timeline-item:nth-child(5) {
        grid-column: 2 / span 4;
    }

    .ftz-image-wrap {
        width: 120px;
        height: 120px;

        margin-bottom: 25px;
    }

    .ftz-image-ring {
        width: 100px;
        height: 100px;
    }

    .ftz-timeline-content {
        max-width: 290px;
    }

    .ftz-timeline-content h3 {
        font-size: 18px;
    }

    .ftz-timeline-content p {
        font-size: 13px;

        line-height: 1.7;
    }
}


/* =========================================
   MOBILE
   576px - 767px

   2 + 2 + 1 GRID
========================================= */

@media (max-width: 767px) and (min-width: 576px) {

    .ftz-advantages-section {
        padding: 65px 25px 75px;
    }

    .ftz-advantages-heading {
        margin-bottom: 50px;
    }

    .ftz-advantages-heading .section-title {
        font-size: 31px;
    }

    .ftz-advantages-heading .section-subhed {
        font-size: 14px;
    }

    .ftz-timeline {
        max-width: 650px;

        padding: 0;

        grid-template-columns: repeat(6, minmax(0, 1fr));

        gap: 50px 18px;
    }

    /* Remove line */

    .ftz-timeline::before {
        display: none;
    }

    /* 01 + 02 */

    .ftz-timeline-item:nth-child(1),
    .ftz-timeline-item:nth-child(2) {
        grid-column: span 3;
    }

    /* 03 + 04 */

    .ftz-timeline-item:nth-child(3),
    .ftz-timeline-item:nth-child(4) {
        grid-column: span 3;
    }

    /* 05 centered */

    .ftz-timeline-item:nth-child(5) {
        grid-column: 2 / span 4;
    }

    .ftz-image-wrap {
        width: 105px;
        height: 105px;

        margin-bottom: 22px;
    }

    .ftz-image-ring {
        width: 88px;
        height: 88px;
    }

    .ftz-timeline-content {
        max-width: 270px;
    }

    .ftz-timeline-content h3 {
        font-size: 16px;

        line-height: 1.35;
    }

    .ftz-timeline-content p {
        font-size: 12px;

        line-height: 1.65;
    }
}


/* =========================================
   SMALL MOBILE
   400px - 575px

   1 COLUMN
========================================= */

@media (max-width: 575px) {

    .ftz-advantages-section {
        padding: 60px 18px 70px;
    }

    .ftz-advantages-heading {
        margin-bottom: 45px;
        padding: 0;
    }

    .ftz-advantages-heading .section-title {
        font-size: 29px;
        letter-spacing: -.7px;
    }

    .ftz-advantages-heading .section-subhed {
        font-size: 13px;
    }

    .ftz-timeline {
        width: 100%;
        max-width: 390px;

        padding: 0;

        display: grid;

        grid-template-columns: 1fr;

        gap: 45px;
    }

    .ftz-timeline::before {
        display: none;
    }

    .ftz-timeline-item {
        width: 100%;

        display: block;

        text-align: center;
    }

    .ftz-timeline-top {
        height: auto;

        margin-bottom: 12px;
    }

    .ftz-number {
        padding: 0 10px;

        font-size: 11px;
    }

    .ftz-image-wrap {
        width: 105px;
        height: 105px;

        margin-bottom: 23px;
    }

    .ftz-image-ring {
        width: 88px;
        height: 88px;
    }

    .ftz-timeline-content {
        max-width: 330px;
        margin: 0 auto;
    }

    .ftz-timeline-content h3 {
        margin-bottom: 9px;

        font-size: 17px;
    }

    .ftz-timeline-content p {
        font-size: 12.5px;

        line-height: 1.7;
    }
}


/* =========================================
   VERY SMALL MOBILE
   BELOW 400px
========================================= */

@media (max-width: 400px) {

    .ftz-advantages-section {
        padding: 55px 15px 65px;
    }

    .ftz-advantages-heading {
        margin-bottom: 40px;
    }

    .ftz-advantages-heading .section-title {
        font-size: 27px;
    }

    .ftz-advantages-heading .section-subhed {
        font-size: 12.5px;
    }

    .ftz-timeline {
        max-width: 100%;

        gap: 40px;
    }

    .ftz-image-wrap {
        width: 95px;
        height: 95px;

        margin-bottom: 20px;
    }

    .ftz-image-ring {
        width: 80px;
        height: 80px;
    }

    .ftz-timeline-content {
        max-width: 310px;
    }

    .ftz-timeline-content h3 {
        font-size: 16px;
    }

    .ftz-timeline-content p {
        font-size: 11.5px;

        line-height: 1.65;
    }
}


/* =========================================
   EXTRA SMALL MOBILE
   BELOW 360px
========================================= */

@media (max-width: 360px) {

    .ftz-advantages-section {
        padding-left: 12px;
        padding-right: 12px;
    }

    .ftz-advantages-heading .section-title {
        font-size: 25px;
    }

    .ftz-image-wrap {
        width: 88px;
        height: 88px;
    }

    .ftz-image-ring {
        width: 74px;
        height: 74px;
    }

    .ftz-timeline-content {
        max-width: 290px;
    }

    .ftz-timeline-content h3 {
        font-size: 15px;
    }

    .ftz-timeline-content p {
        font-size: 11px;

        line-height: 1.6;
    }
}
.re-tablehed{
  font-size: 30px;
  color: var(--dark-gray);
}

/* =========================================
   FTZ FINAL MESSAGE
========================================= */

.ftz-final-message {
    position: relative;
    padding: 90px 0;
    background: var(--light-bg);
    overflow: hidden;
}


/* =========================================
   MAIN CARD
========================================= */

.ftz-final-message-wrap {
    position: relative;

    display: flex;
    align-items: stretch;

    min-height: 310px;

    padding: 55px 65px;

    background: var(--dark-gray);

    border: 1px solid var(--dark-gray);
    border-radius: 28px;

    overflow: hidden;

    box-shadow: 0 25px 65px rgba(29, 43, 58, .16);

    transition:
        transform .45s ease,
        box-shadow .45s ease,
        border-color .45s ease;
}


/* =========================================
   CARD HOVER
========================================= */

.ftz-final-message-wrap:hover {
    transform: translateY(-7px);

    border-color: var(--secondary-color);

    box-shadow: 0 30px 75px rgba(29, 43, 58, .20);
}


/* =========================================
   BACKGROUND PATTERN
========================================= */

.ftz-final-pattern {
    position: absolute;

    width: 430px;
    height: 430px;

    right: -190px;
    top: -205px;

    border: 1px solid var(--secondary-color);
    border-radius: 50%;

    opacity: .16;

    pointer-events: none;

    transition: transform .7s ease;
}

.ftz-final-pattern::before {
    content: "";

    position: absolute;

    inset: 35px;

    border: 1px solid var(--secondary-color);
    border-radius: 50%;

    opacity: .65;
}

.ftz-final-pattern::after {
    content: "";

    position: absolute;

    inset: 75px;

    border: 1px solid var(--base-color);
    border-radius: 50%;

    opacity: .65;
}

.ftz-final-message-wrap:hover .ftz-final-pattern {
    transform: scale(1.08) rotate(7deg);
}


/* =========================================
   LEFT ACCENT
========================================= */

.ftz-final-accent {
    position: relative;
    z-index: 2;

    width: 5px;
    min-width: 5px;

    margin-right: 40px;

    border-radius: 10px;

    background: var(--secondary-color);
}


/* =========================================
   CONTENT
========================================= */

.ftz-final-content {
    position: relative;
    z-index: 3;

    max-width: 920px;

    padding-right: 45px;
}


/* =========================================
   HEADING
========================================= */

.ftz-final-content h2 {
    margin: 0 0 22px;

    color: var(--white);

    font-family: var(--alt-font);

    font-size: 34px;
    line-height: 1.3;
    font-weight: 800;

    letter-spacing: -.4px;

    transition: color .35s ease;
}


/* =========================================
   DESCRIPTION
========================================= */

.ftz-final-content p {
    margin: 0;

    color: var(--white);

    opacity: .72;

    font-family: var(--primary-font);

    font-size: 16px;
    line-height: 1.9;
}


/* =========================================
   CORNER MARK
========================================= */

.ftz-final-mark {
    position: absolute;

    z-index: 4;

    right: 30px;
    top: 30px;

    width: 52px;
    height: 52px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 15px;

    background: var(--base-color);

    border: 1px solid var(--base-color);

    color: var(--white);

    font-size: 23px;

    transition:
        background .4s ease,
        color .4s ease,
        transform .4s ease,
        border-color .4s ease;
}


/* =========================================
   MARK HOVER
========================================= */

.ftz-final-message-wrap:hover .ftz-final-mark {
    background: var(--secondary-color);

    border-color: var(--secondary-color);

    color: var(--white);

    transform: translate(4px, -4px);
}


/* =========================================
   BOTTOM PATTERN
========================================= */

.ftz-final-message-wrap::before {
    content: "";

    position: absolute;

    width: 230px;
    height: 230px;

    left: -125px;
    bottom: -145px;

    border: 1px solid var(--base-color);

    border-radius: 50%;

    opacity: .12;

    box-shadow:
        0 0 0 28px rgba(0, 133, 210, .025),
        0 0 0 58px rgba(47, 202, 174, .018);

    pointer-events: none;
}


/* =========================================
   SMALL DECORATIVE CIRCLE
========================================= */

.ftz-final-message-wrap::after {
    content: "";

    position: absolute;

    width: 150px;
    height: 150px;

    right: 70px;
    bottom: -100px;

    border: 1px solid var(--secondary-color);

    border-radius: 50%;

    opacity: .08;

    pointer-events: none;
}


/* =========================================
   TABLET
========================================= */

@media (max-width: 991px) {

    .ftz-final-message {
        padding: 75px 0;
    }

    .ftz-final-message-wrap {
        min-height: 290px;

        padding: 45px;
    }

    .ftz-final-accent {
        margin-right: 30px;
    }

    .ftz-final-content {
        padding-right: 40px;
    }

    .ftz-final-content h2 {
        font-size: 30px;
    }

    .ftz-final-content p {
        font-size: 15px;
        line-height: 1.8;
    }
}


/* =========================================
   MOBILE
========================================= */

@media (max-width: 767px) {

    .ftz-final-message {
        padding: 65px 0;
    }

    .ftz-final-message-wrap {
        display: block;

        min-height: auto;

        padding: 38px 30px;

        border-radius: 23px;
    }

    .ftz-final-accent {
        width: 55px;
        min-width: 0;

        height: 4px;

        margin: 0 0 25px;
    }

    .ftz-final-content {
        padding-right: 0;
    }

    .ftz-final-content h2 {
        padding-right: 35px;

        font-size: 26px;
        line-height: 1.35;
    }

    .ftz-final-content p {
        font-size: 14px;
        line-height: 1.8;
    }

    .ftz-final-mark {
        width: 44px;
        height: 44px;

        right: 20px;
        top: 20px;

        border-radius: 13px;

        font-size: 19px;
    }

    .ftz-final-pattern {
        width: 300px;
        height: 300px;

        right: -145px;
        top: -145px;
    }
}


/* =========================================
   SMALL MOBILE
========================================= */

@media (max-width: 575px) {

    .ftz-final-message {
        padding: 55px 0;
    }

    .ftz-final-message-wrap {
        padding: 32px 23px;

        border-radius: 20px;
    }

    .ftz-final-accent {
        margin-bottom: 22px;
    }

    .ftz-final-content h2 {
        padding-right: 25px;

        font-size: 23px;
    }

    .ftz-final-content p {
        font-size: 13px;
        line-height: 1.75;
    }

    .ftz-final-mark {
        width: 40px;
        height: 40px;

        right: 16px;
        top: 16px;

        border-radius: 12px;

        font-size: 17px;
    }

    .ftz-final-pattern {
        width: 250px;
        height: 250px;

        right: -125px;
        top: -120px;
    }
}
/* =========================================
   RESEARCH METHODOLOGY
========================================= */

.research-methodology-section {
    position: relative;
    padding-bottom: 100px;
    background: #ffffff;
    overflow: hidden;
}


/* =========================================
   MAIN LIST
========================================= */

.research-methodology-list {
    position: relative;
    max-width: 1080px;
    margin: 0 auto;
}


/* =========================================
   METHOD ROW
========================================= */

.research-method-row {
    position: relative;

    display: grid;
    grid-template-columns: 150px 1fr;
    gap: 55px;

    padding: 45px 0;

    border-bottom: 1px solid rgba(20, 134, 206, 0.12);

    transition: padding .35s ease;
}

.research-method-row:first-child {
    border-top: 1px solid rgba(20, 134, 206, 0.12);
}


/* =========================================
   VISUAL AREA
========================================= */

.research-method-visual {
    position: relative;

    display: flex;
    flex-direction: column;
    align-items: center;
}


/* =========================================
   ICON
========================================= */

.research-method-icon {
    position: relative;
    z-index: 2;

    width: 82px;
    height: 82px;

    display: flex;
    align-items: center;
    justify-content: center;

    background: var(--light-blue);

    border: 1px solid rgba(20, 134, 206, 0.14);
    border-radius: 24px;

    box-shadow:
        0 12px 30px rgba(20, 134, 206, 0.08);

    transition:
        transform .4s ease,
        background .4s ease,
        box-shadow .4s ease;
}


.research-method-icon img {
    width: 46px;
    height: 46px;

    object-fit: contain;

    transition: transform .4s ease;
}


/* =========================================
   VERTICAL LINE
========================================= */

.research-method-line {
    width: 1px;
    flex: 1;

    min-height: 90px;

    margin-top: 18px;

    background: linear-gradient(
        to bottom,
        var(--base-color),
        rgba(20, 134, 206, 0.05)
    );
}


/* =========================================
   CONTENT
========================================= */

.research-method-content {
    position: relative;

    padding: 4px 0 5px;
}


/* =========================================
   LABEL
========================================= */

.research-method-label {
    display: inline-flex;
    align-items: center;

    margin-bottom: 10px;

    color: var(--secondary-color);

    font-family: var(--primary-font);

    font-size: 10px;
    font-weight: 800;

    letter-spacing: 1.8px;
    text-transform: uppercase;
}


.research-method-label::before {
    content: "";

    width: 22px;
    height: 2px;

    margin-right: 9px;

    background: var(--secondary-color);

    border-radius: 5px;
}


/* =========================================
   TITLE
========================================= */

.research-method-content h3 {
    margin: 0 0 18px;

    color: var(--dark-gray);

    font-family: var(--alt-font);

    font-size: 27px;
    font-weight: 800;

    line-height: 1.3;

    transition: color .3s ease;
}


/* =========================================
   DESCRIPTION
========================================= */

.research-method-content p {
    max-width: 850px;

    margin: 0;

    color: var(--medium-gray);

    font-family: var(--primary-font);

    font-size: 14px;
    line-height: 1.85;

    text-align: left;
}


/* =========================================
   LIST
========================================= */

.research-method-content ul {
    margin: 0;
    padding: 0;

    list-style: none;
}


.research-method-content ul li {
    position: relative;

    margin-bottom: 11px;
    padding-left: 24px;

    color: var(--medium-gray);

    font-family: var(--primary-font);

    font-size: 14px;
    line-height: 1.75;

    text-align: left;
}


.research-method-content ul li:last-child {
    margin-bottom: 0;
}


.research-method-content ul li::before {
    content: "";

    position: absolute;

    left: 0;
    top: 9px;

    width: 7px;
    height: 7px;

    border-radius: 50%;

    background: var(--secondary-color);

    box-shadow:
        0 0 0 4px rgba(59, 194, 178, 0.09);
}


/* =========================================
   DECORATIVE PATTERN
========================================= */

.research-method-row::after {
    content: "";

    position: absolute;

    right: -100px;
    top: 50%;

    width: 190px;
    height: 190px;

    border: 1px solid rgba(20, 134, 206, 0.045);

    border-radius: 50%;

    box-shadow:
        0 0 0 22px rgba(20, 134, 206, 0.018),
        0 0 0 44px rgba(59, 194, 178, 0.012);

    transform: translateY(-50%);

    pointer-events: none;
}


/* =========================================
   HOVER
========================================= */

.research-method-row:hover {
    padding-left: 12px;
    padding-right: 12px;
}


.research-method-row:hover .research-method-icon {
    background: var(--base-color);

    box-shadow:
        0 18px 40px rgba(20, 134, 206, 0.16);

    transform: translateY(-4px);
}


.research-method-row:hover .research-method-icon img {
    transform: scale(1.08);
}


.research-method-row:hover .research-method-content h3 {
    color: var(--base-color);
}


/* =========================================
   TABLET
========================================= */

@media (max-width: 991px) {

    .research-methodology-section {
        padding-bottom: 80px;
    }

    .research-method-row {
        grid-template-columns: 120px 1fr;

        gap: 35px;

        padding: 38px 0;
    }

    .research-method-icon {
        width: 72px;
        height: 72px;

        border-radius: 20px;
    }

    .research-method-icon img {
        width: 40px;
        height: 40px;
    }

    .research-method-content h3 {
        font-size: 23px;
    }

}


/* =========================================
   MOBILE
========================================= */

@media (max-width: 767px) {

    .research-methodology-section {
        padding-bottom: 65px;
    }

    .research-method-row {
        grid-template-columns: 1fr;

        gap: 22px;

        padding: 32px 0;
    }

    .research-method-visual {
        flex-direction: row;
        align-items: center;
    }

    .research-method-icon {
        width: 64px;
        height: 64px;

        border-radius: 18px;
    }

    .research-method-icon img {
        width: 36px;
        height: 36px;
    }

    .research-method-line {
        width: auto;
        height: 1px;
        min-height: 0;

        flex: 1;

        margin: 0 0 0 16px;

        background: linear-gradient(
            90deg,
            var(--base-color),
            rgba(20, 134, 206, 0.03)
        );
    }

    .research-method-content h3 {
        font-size: 21px;

        margin-bottom: 15px;
    }

    .research-method-content p,
    .research-method-content ul li {
        font-size: 13px;
        line-height: 1.75;
    }

    .research-method-row::after {
        width: 130px;
        height: 130px;

        right: -70px;
    }

}


/* =========================================
   SMALL MOBILE
========================================= */

@media (max-width: 575px) {

    .research-methodology-section {
        padding-bottom: 55px;
    }

    .research-method-row {
        padding: 27px 0;
    }

    .research-method-icon {
        width: 58px;
        height: 58px;

        border-radius: 16px;
    }

    .research-method-icon img {
        width: 32px;
        height: 32px;
    }

    .research-method-content h3 {
        font-size: 19px;
    }

    .research-method-content p,
    .research-method-content ul li {
        font-size: 12.5px;
    }

}
/* =========================================
   CONTACT SECTION
========================================= */

.contact-info-section {
    position: relative;
    padding: 90px 0 100px;
    background: #ffffff;
}


/* =========================================
   CONTACT WRAPPER
========================================= */

.contact-info-wrap {
    position: relative;

    padding: 8px;

    background: #ffffff;

    border: 1px solid #e2edf1;
    border-radius: 28px;

    box-shadow:
        0 25px 70px rgba(29, 43, 58, .07);

    overflow: hidden;
}


/* =========================================
   CONTACT ITEM
========================================= */

.contact-detail-item {
    position: relative;

    min-height: 115px;

    display: flex;
    align-items: center;

    gap: 18px;

    padding: 25px 30px;

    background: #ffffff;

    border-bottom: 1px solid #e7eef2;

    transition: all .35s ease;
}


/* Vertical divider */

.contact-info-wrap .col-lg-6:nth-child(odd)
.contact-detail-item {
    border-right: 1px solid #e7eef2;
}


/* =========================================
   ICON
========================================= */

.contact-detail-icon {
    position: relative;

    width: 52px;
    height: 52px;
    min-width: 52px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 16px;

    background: #edf8f8;

    color: var(--secondary-color);

    font-size: 23px;

    transition: all .35s ease;
}


/* Small accent */

.contact-detail-icon::after {
    content: "";

    position: absolute;

    width: 7px;
    height: 7px;

    right: -2px;
    top: -2px;

    border-radius: 50%;

    background: var(--base-color);

    border: 2px solid #ffffff;
}


/* =========================================
   CONTENT
========================================= */

.contact-detail-content {
    min-width: 0;

    display: flex;
    flex-direction: column;

    gap: 6px;
}


.contact-detail-content span {
    color: #8a99a4;

    font-size: 10px;
    font-weight: 800;

    letter-spacing: 1.5px;
    text-transform: uppercase;
}


.contact-detail-content strong,
.contact-detail-content a {
    color: var(--dark-gray);

    font-size: 15px;
    line-height: 1.5;
    font-weight: 700;

    text-decoration: none;

    transition: color .3s ease;
}


.contact-detail-content a:hover {
    color: var(--base-color);
}


/* =========================================
   HOVER
========================================= */

.contact-detail-item:hover {
    background: #f9fcfd;
}


.contact-detail-item:hover .contact-detail-icon {
    background: var(--base-color);
    color: #ffffff;

    transform: translateY(-3px);
}


.contact-detail-item:hover .contact-detail-icon::after {
    background: var(--secondary-color);
}


/* =========================================
   WEBSITE FULL WIDTH
========================================= */

.contact-detail-full {
    min-height: 105px;

    border-bottom: 0 !important;
}


/* =========================================
   TABLET
========================================= */

@media (max-width: 991px) {

    .contact-info-section {
        padding: 75px 0 85px;
    }

    .contact-detail-item {
        min-height: 105px;

        padding: 22px 25px;
    }

}


/* =========================================
   MOBILE
========================================= */

@media (max-width: 767px) {

    .contact-info-section {
        padding: 65px 0 75px;
    }

    .contact-info-wrap {
        padding: 5px;

        border-radius: 22px;
    }

    .contact-info-wrap .col-lg-6:nth-child(odd)
    .contact-detail-item {
        border-right: 0;
    }

    .contact-detail-item {
        min-height: auto;

        padding: 20px 18px;

        border-bottom: 1px solid #e7eef2;
    }

    .contact-detail-full {
        border-bottom: 0 !important;
    }

}


/* =========================================
   SMALL MOBILE
========================================= */

@media (max-width: 575px) {

    .contact-info-section {
        padding: 55px 0 65px;
    }

    .contact-detail-item {
        gap: 14px;

        padding: 18px 12px;
    }

    .contact-detail-icon {
        width: 46px;
        height: 46px;
        min-width: 46px;

        border-radius: 14px;

        font-size: 20px;
    }

    .contact-detail-content span {
        font-size: 9px;
    }

    .contact-detail-content strong,
    .contact-detail-content a {
        font-size: 13px;

        word-break: break-word;
    }

}

/* =========================================
   ENQUIRY FORM
========================================= */

.enquiry-form-section {
    position: relative;
    padding: 100px 0;
    background: #ffffff;
}


/* =========================================
   FORM WRAPPER
========================================= */

.premium-enquiry-form {
    position: relative;

    padding: 45px;

    background: #f8fbfd;

    border: 1px solid #e1edf2;
    border-radius: 28px;

    box-shadow: 0 25px 70px rgba(29, 43, 58, 0.07);
}


/* =========================================
   FORM GROUP
========================================= */

.form-group {
    position: relative;
}

.form-group label {
    display: block;

    margin-bottom: 9px;

    color: var(--dark-gray);

    font-size: 13px;
    font-weight: 700;
    line-height: 1.4;
}


/* =========================================
   INPUT / SELECT / TEXTAREA
========================================= */

.form-group input,
.form-group select,
.form-group textarea {
    width: 100%;

    border: 1px solid #dce9ee;
    border-radius: 12px;

    background: #ffffff;

    color: var(--dark-gray);

    font-family: var(--primary-font);
    font-size: 14px;

    outline: none;

    transition:
        border-color .3s ease,
        box-shadow .3s ease,
        background .3s ease;
}


.form-group input,
.form-group select {
    height: 54px;
    padding: 0 17px;
}


.form-group textarea {
    min-height: 145px;

    padding: 16px 17px;

    resize: vertical;

    line-height: 1.7;
}


/* =========================================
   PLACEHOLDER
========================================= */

.form-group input::placeholder,
.form-group textarea::placeholder {
    color: #9aaab3;
}


/* =========================================
   SELECT
========================================= */

.form-group select {
    cursor: pointer;

    appearance: none;
    -webkit-appearance: none;

    padding-right: 45px;

    background-image:
        linear-gradient(45deg, transparent 50%, #71838d 50%),
        linear-gradient(135deg, #71838d 50%, transparent 50%);

    background-position:
        calc(100% - 19px) 23px,
        calc(100% - 14px) 23px;

    background-size:
        5px 5px,
        5px 5px;

    background-repeat: no-repeat;
}


/* =========================================
   FOCUS
========================================= */

.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus {

    border-color: var(--secondary-color);

    background: #ffffff;

    box-shadow:
        0 0 0 4px rgba(47, 202, 174, 0.10);
}


/* =========================================
   SUBMIT
========================================= */

.form-submit {
    display: flex;
    justify-content: flex-end;

    padding-top: 8px;
}


.enquiry-submit {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 13px;

    min-height: 54px;

    padding: 0 10px 0 24px;

    border: 0;
    border-radius: 50px;

    background: var(--base-color);

    color: #ffffff;

    font-family: var(--primary-font);
    font-size: 14px;
    font-weight: 700;

    cursor: pointer;

    transition: all .35s ease;
}


.enquiry-submit span {
    width: 36px;
    height: 36px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 50%;

    background: rgba(255,255,255,.16);

    font-size: 17px;

    transition: .35s ease;
}


.enquiry-submit:hover {
    background: var(--secondary-color);

    transform: translateY(-3px);

    box-shadow:
        0 14px 30px rgba(47, 202, 174, .22);
}


.enquiry-submit:hover span {
    background: #ffffff;
    color: var(--secondary-color);

    transform: rotate(45deg);
}


/* =========================================
   TABLET
========================================= */

@media (max-width: 991px) {

    .enquiry-form-section {
        padding: 80px 0;
    }

    .premium-enquiry-form {
        padding: 35px;
        border-radius: 24px;
    }

}


/* =========================================
   MOBILE
========================================= */

@media (max-width: 575px) {

    .enquiry-form-section {
        padding: 65px 0;
    }

    .premium-enquiry-form {
        padding: 24px 18px;

        border-radius: 20px;
    }

    .form-group input,
    .form-group select {
        height: 51px;
        padding-left: 14px;
        padding-right: 40px;
    }

    .form-group textarea {
        min-height: 130px;
        padding: 14px;
    }

    .form-group label {
        font-size: 12px;
    }

    .form-submit {
        justify-content: stretch;
    }

    .enquiry-submit {
        width: 100%;
    }

}



/* =========================================================
   ENTITY STRATEGY SECTION
========================================================= */

.entity-strategy-row {
    position: relative;
}


/* =========================================================
   ENTITY CARD
========================================================= */

.entity-strategy-item {
    position: relative;
    height: 100%;

    display: flex;
    flex-direction: column;

    padding: 30px;

    background: #ffffff;

    border: 1px solid #e1edf1;
    border-radius: 24px;

    box-shadow: 0 12px 35px rgba(29, 43, 58, 0.055);

    overflow: hidden;

    transition:
        background-color 0.4s ease,
        border-color 0.4s ease,
        box-shadow 0.4s ease,
        transform 0.4s ease;
}


/* Decorative background */

.entity-strategy-item::before {
    content: "";

    position: absolute;

    width: 180px;
    height: 180px;

    top: -90px;
    right: -90px;

    border-radius: 50%;

    background: var(--light-blue);

    opacity: 0.55;

    transition:
        width 0.5s ease,
        height 0.5s ease,
        opacity 0.5s ease;
}


/* Bottom accent */

.entity-strategy-item::after {
    content: "";

    position: absolute;

    left: 30px;
    bottom: 0;

    width: 55px;
    height: 3px;

    background: var(--secondary-color);

    border-radius: 10px 10px 0 0;

    transition: width 0.4s ease;
}


/* =========================================================
   HOVER
========================================================= */

.entity-strategy-item:hover {

    transform: translateY(-8px);

    background: #f0faf8;

    border-color: rgba(47, 202, 174, 0.35);

    box-shadow:
        0 24px 60px rgba(29, 43, 58, 0.11);
}


.entity-strategy-item:hover::before {
    width: 260px;
    height: 260px;

    opacity: 0.8;
}


.entity-strategy-item:hover::after {
    width: 110px;
}


/* =========================================================
   HEADER
========================================================= */

.entity-strategy-main {
    position: relative;
    z-index: 2;

    display: flex;
    align-items: center;

    gap: 18px;

    padding-bottom: 24px;

    border-bottom: 1px solid #e4eef1;
}


/* =========================================================
   ICON
========================================================= */

.entity-strategy-icon {
    width: 62px;
    height: 62px;

    min-width: 62px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 17px;

    background: var(--light-blue);

    color: var(--base-color);

    font-size: 27px;

    transition:
        background-color 0.4s ease,
        color 0.4s ease,
        transform 0.4s ease,
        box-shadow 0.4s ease;
}


.entity-strategy-item:hover .entity-strategy-icon {
    background: var(--base-color);

    color: #ffffff;

    transform: translateY(-3px) rotate(-5deg);

    box-shadow:
        0 10px 25px rgba(20, 134, 206, 0.20);
}


/* =========================================================
   TITLE
========================================================= */

.entity-strategy-title {
    position: relative;
    z-index: 2;
}


.entity-strategy-title span {
    display: block;

    margin-bottom: 5px;

    color: var(--secondary-color);

    font-size: 10px;

    font-weight: 800;

    letter-spacing: 1.5px;

    text-transform: uppercase;
}


.entity-strategy-title h3 {
    margin: 0;
    color: var(--dark-gray);
    font-family: var(--alt-font);
    font-size: 22px;
    font-weight: 800;
    line-height: 1.35;
    transition: color 0.35s ease;
}


.entity-strategy-item:hover .entity-strategy-title h3 {
    color: var(--base-color);
}


/* =========================================================
   INFORMATION CONTENT
========================================================= */

.entity-strategy-content {
    position: relative;
    z-index: 2;
    display: flex;
    flex-wrap: wrap;
    padding-top: 18px;
}


/* =========================================================
   INFORMATION COLUMN
========================================================= */

.entity-column {
    flex: 0 0 50%;

    padding: 15px 18px 15px 0;

    border-bottom: 1px dashed #d7e5e9;
}


.entity-column:nth-child(2) {
    padding-left: 18px;

    border-left: 1px dashed #d7e5e9;
}


.entity-column.entity-wide {
    flex: 0 0 100%;
    padding: 17px 0 5px;
    border-left: 0;
    border-bottom: 0;
}


/* =========================================================
   LABEL
========================================================= */

.entity-column > span,
.entity-footer-content > span {
    display: block;

    margin-bottom: 6px;

    color: var(--base-color);

    font-size: 13px;

    font-weight: 800;

    line-height: 1.3;
}


/* =========================================================
   DESCRIPTION
========================================================= */

.entity-column p {
    margin: 0;

    color: var(--medium-gray);

    font-size: 14px;

    font-weight: 500;

    line-height: 1.7;

    transition: color 0.35s ease;
}


.entity-strategy-item:hover .entity-column p {
    color: #4f6068;
}


/* =========================================================
   MEDTECH CONSIDERATION
========================================================= */

.entity-strategy-footer {
    position: relative;
    z-index: 2;

    display: flex;
    align-items: flex-start;

    gap: 14px;

    margin-top: 20px;

    padding: 18px;

    background: #f5fafc;

    border: 1px solid #dfecef;

    border-radius: 17px;

    transition:
        background-color 0.4s ease,
        border-color 0.4s ease,
        transform 0.4s ease;
}


.entity-strategy-item:hover .entity-strategy-footer {
    background: rgba(255, 255, 255, 0.72);

    border-color: rgba(47, 202, 174, 0.25);

    transform: translateY(-2px);
}


/* =========================================================
   FOOTER ICON
========================================================= */

.entity-footer-icon {
    width: 42px;
    height: 42px;

    min-width: 42px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 12px;

    background: #ffffff;

    color: var(--secondary-color);

    font-size: 19px;

    box-shadow:
        0 6px 16px rgba(29, 43, 58, 0.07);

    transition:
        background-color 0.35s ease,
        color 0.35s ease,
        transform 0.35s ease;
}


.entity-strategy-item:hover .entity-footer-icon {
    background: var(--secondary-color);

    color: #ffffff;

    transform: scale(1.08);
}


/* =========================================================
   FOOTER CONTENT
========================================================= */

.entity-footer-content {
    flex: 1;
}


.entity-footer-content > span {
    margin-bottom: 5px;

    font-size: 12px;

    letter-spacing: 0.2px;
}


.entity-footer-content p {
    margin: 0;

    color: var(--medium-gray);

    font-size: 13px;

    line-height: 1.65;
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 991px) {

    .entity-strategy-item {
        padding: 27px;
    }

    .entity-strategy-title h3 {
        font-size: 20px;
    }

    .entity-strategy-icon {
        width: 57px;
        height: 57px;
        min-width: 57px;

        font-size: 24px;
    }

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 575px) {

    .entity-strategy-item {
        padding: 22px;

        border-radius: 20px;
    }


    .entity-strategy-main {
        gap: 13px;

        padding-bottom: 20px;
    }


    .entity-strategy-icon {
        width: 52px;
        height: 52px;

        min-width: 52px;

        border-radius: 14px;

        font-size: 22px;
    }


    .entity-strategy-title span {
        font-size: 9px;

        letter-spacing: 1.2px;
    }


    .entity-strategy-title h3 {
        font-size: 18px;

        line-height: 1.3;
    }


    .entity-strategy-content {
        display: block;

        padding-top: 10px;
    }


    .entity-column,
    .entity-column:nth-child(2),
    .entity-column.entity-wide {

        width: 100%;

        padding: 14px 0;

        border-left: 0;

        border-bottom: 1px dashed #d7e5e9;
    }


    .entity-column.entity-wide {
        border-bottom: 0;
    }


    .entity-column > span {
        font-size: 12px;
    }


    .entity-column p {
        font-size: 13px;

        line-height: 1.65;
    }


    .entity-strategy-footer {
        gap: 11px;

        margin-top: 16px;

        padding: 15px;

        border-radius: 15px;
    }


    .entity-footer-icon {
        width: 37px;
        height: 37px;

        min-width: 37px;

        border-radius: 10px;

        font-size: 17px;
    }


    .entity-footer-content > span {
        font-size: 11px;
    }


    .entity-footer-content p {
        font-size: 12px;

        line-height: 1.6;
    }

}


/* =========================================
   MARKET INTELLIGENCE
========================================= */

.market-intelligence-section {
    padding: 90px 0;

}


/* =========================================
   MAIN WRAPPER
========================================= */

.market-intelligence-wrap {
    display: flex;
    align-items: stretch;

    background: #ffffff;

    border: 1px solid #e3edf1;
    border-radius: 28px;

    overflow: hidden;

    box-shadow: 0 20px 60px rgba(29, 43, 58, 0.07);
}


/* =========================================
   IMAGE
========================================= */

.market-intelligence-image {
    position: relative;

    width: 50%;
    min-height: 520px;

    overflow: hidden;
}

.market-intelligence-image img {
    width: 100%;
    height: 100%;

    display: block;

    object-fit: cover;
}


/* =========================================
   CONTENT
========================================= */

.market-intelligence-content {
    width: 50%;

    padding: 60px;

    display: flex;
    flex-direction: column;
    justify-content: center;
}

.market-intelligence-content .section-title {
    margin: 0 0 22px;

    color: var(--dark-gray);

    font-size: 38px;
    font-weight: 800;

    line-height: 1.2;
}

.market-intelligence-content p {
    margin: 0;

    color: var(--medium-gray);

    font-size: 15px;

    line-height: 1.85;
}



/* =========================================
   HOVER
========================================= */

.market-intelligence-wrap {
    transition: .4s ease;
}

.market-intelligence-wrap:hover {
    box-shadow: 0 28px 70px rgba(29, 43, 58, 0.11);
}


/* =========================================
   TABLET
========================================= */

@media (max-width: 991px) {

    .market-intelligence-section {
        padding: 70px 0;
    }

    .market-intelligence-wrap {
        flex-direction: column;
    }

    .market-intelligence-image,
    .market-intelligence-content {
        width: 100%;
    }

    .market-intelligence-image {
        min-height: 400px;
    }

    .market-intelligence-content {
        padding: 45px 40px;
    }

    .market-intelligence-content .section-title {
        font-size: 32px;
    }

}


/* =========================================
   MOBILE
========================================= */

@media (max-width: 575px) {

    .market-intelligence-section {
        padding: 55px 0;
    }

    .market-intelligence-wrap {
        border-radius: 20px;
    }

    .market-intelligence-image {
        min-height: 280px;
    }

    .market-intelligence-content {
        padding: 32px 22px;
    }

    .market-intelligence-content .section-title {
        font-size: 26px;
        line-height: 1.3;
    }

    .market-intelligence-content p {
        font-size: 13px;
        line-height: 1.75;
    }

}

/* =========================================
   RESEARCH SCOPE SECTION
========================================= */

.research-scope-section {
    position: relative;
    padding: 85px 0 100px;
    background: var(--dark-gray);
    overflow: hidden;
}


/* =========================================
   SECTION TITLE
========================================= */

.research-scope-section .section-title {
    margin: 0;

    color: var(--dark-gray);
    font-family: var(--alt-font);

    font-size: 38px;
    font-weight: 800;
    line-height: 1.25;
}


/* =========================================
   CARD ROW
========================================= */

.research-scope-row > div {
    display: flex;
}

.research-scope-row .research-scope-card {
    width: 100%;
}


/* =========================================
   CARD
========================================= */

.research-scope-card {
    position: relative;

    width: 100%;
    height: 100%;
    min-height: 100%;

    padding: 16px 16px 30px;

    background: var(--white);

    border: 1px solid rgba(29, 43, 58, 0.09);
    border-radius: 22px;

    overflow: hidden;

    box-shadow:
        0 8px 30px rgba(29, 43, 58, 0.045);

    transition:
        border-color .35s ease,
        box-shadow .35s ease,
        transform .35s ease;
}


/* =========================================
   TOP ACCENT
========================================= */

.research-scope-card::before {
    content: "";

    position: absolute;

    top: 0;
    left: 28px;

    width: 42px;
    height: 3px;

    border-radius: 0 0 8px 8px;

    background: var(--secondary-color);

    transition:
        width .35s ease,
        background .35s ease;
}


/* =========================================
   CARD PATTERN
========================================= */

.research-card-pattern {
    position: absolute;

    width: 200px;
    height: 200px;

    right: -110px;
    bottom: -110px;

    border: 1px solid rgba(20, 134, 206, 0.09);

    border-radius: 50%;

    pointer-events: none;

    transition:
        transform .55s ease,
        border-color .35s ease;
}



.research-card-pattern::after {
    content: "";

    position: absolute;

    width: 98px;
    height: 98px;

    top: 49px;
    left: 49px;

    border: 1px dashed rgba(20, 134, 206, 0.10);

    border-radius: 50%;
}


/* =========================================
   SVG / VECTOR VISUAL
========================================= */

.research-card-visual {
    width: 100%;
    height: 230px;
    margin-bottom: 27px;
    display: flex;
    align-items: center;
    justify-content: center;

}


/* SVG IMAGE */

.research-card-visual img {
    display: block;

    width: 100%;
    height: 100%;

    object-fit: cover;

    transition:
        transform .5s ease;
}





/* =========================================
   CARD HOVER
========================================= */

.research-scope-card:hover {
    transform: translateY(-6px);

    border-color: rgba(20, 134, 206, 0.22);

    box-shadow:
        0 20px 50px rgba(29, 43, 58, 0.09);
}



.research-scope-card:hover .research-card-visual img {
    transform: scale(1.04);
}


.research-scope-card:hover .research-card-visual::after {
    width: 75px;

    background: var(--base-color);
}


.research-scope-card:hover .research-card-pattern {
    transform: scale(1.12) rotate(10deg);

    border-color: rgba(20, 134, 206, 0.15);
}


/* =========================================
   CONTENT
========================================= */

.research-card-content {
    position: relative;
    z-index: 3;

    padding: 0 14px;
}


/* =========================================
   LABEL
========================================= */

.research-card-label {
    display: inline-block;

    margin-bottom: 9px;

    color: var(--secondary-color);

    font-family: var(--primary-font);

    font-size: 10px;
    font-weight: 800;

    letter-spacing: 1.6px;

    line-height: 1.4;

    transition: color .35s ease;
}


.research-scope-card:hover .research-card-label {
    color: var(--base-color);
}


/* =========================================
   TITLE
========================================= */

.research-card-content h3 {
    position: relative;
    z-index: 3;

    margin: 0 0 15px;

    color: var(--dark-gray);

    font-family: var(--alt-font);

    font-size: 20px;
    font-weight: 800;

    line-height: 1.4;

    text-align: left;

    transition: color .35s ease;
}


.research-scope-card:hover .research-card-content h3 {
    color: var(--base-color);
}


/* =========================================
   DESCRIPTION
========================================= */

.research-card-content p {
    position: relative;
    z-index: 3;

    margin: 0;

    color: var(--medium-gray);

    font-family: var(--primary-font);

    font-size: 14px;
    font-weight: 400;

    line-height: 1.8;

    text-align: left;
}


/* =========================================
   TABLET
========================================= */

@media (max-width: 991px) {

    .research-scope-section {
        padding: 70px 0 80px;
    }

    .research-scope-section .section-title {
        font-size: 32px;
    }

    .research-scope-card {
        padding: 15px 15px 27px;

        border-radius: 20px;
    }

    .research-card-visual {
        height: 220px;

        margin-bottom: 24px;

        border-radius: 15px;
    }

    .research-card-content {
        padding: 0 11px;
    }

    .research-card-content h3 {
        font-size: 19px;
    }

    .research-card-content p {
        font-size: 13.5px;
        line-height: 1.75;
    }

}


/* =========================================
   MOBILE
========================================= */

@media (max-width: 767px) {

    .research-scope-section {
        padding: 60px 0 70px;
    }

    .research-scope-section .section-title {
        font-size: 28px;

        line-height: 1.3;
    }

    .research-scope-row {
        margin-top: 10px !important;
    }

    .research-scope-card {
        padding: 14px 14px 25px;

        border-radius: 19px;
    }

    .research-card-visual {
        width: 100%;
        height: 210px;

        margin-bottom: 22px;

        border-radius: 14px;
    }

    .research-card-content {
        padding: 0 9px;
    }

    .research-card-content h3 {
        font-size: 18px;
    }

    .research-card-content p {
        font-size: 13.5px;
        line-height: 1.75;
    }

}


/* =========================================
   SMALL MOBILE
========================================= */

@media (max-width: 575px) {

    .research-scope-section {
        padding: 50px 0 60px;
    }

    .research-scope-section .section-title {
        font-size: 25px;
    }

    .research-scope-card {
        padding: 12px 12px 23px;

        border-radius: 17px;
    }

    .research-scope-card::before {
        left: 22px;

        width: 36px;
    }

    .research-scope-card:hover::before {
        width: 58px;
    }

    .research-card-visual {
        width: 100%;
        height: 190px;

        margin-bottom: 20px;

        border-radius: 13px;
    }

    .research-card-content {
        padding: 0 8px;
    }

    .research-card-label {
        font-size: 9.5px;

        letter-spacing: 1.4px;
    }

    .research-card-content h3 {
        font-size: 17px;

        line-height: 1.4;
    }

    .research-card-content p {
        font-size: 13px;

        line-height: 1.75;
    }

    .research-card-pattern {
        width: 165px;
        height: 165px;

        right: -90px;
        bottom: -90px;
    }

    .research-card-pattern::before {
        width: 123px;
        height: 123px;

        top: 20px;
        left: 20px;
    }

    .research-card-pattern::after {
        width: 80px;
        height: 80px;

        top: 41px;
        left: 41px;
    }

}


/* =========================================
   EXTRA SMALL DEVICES
========================================= */

@media (max-width: 380px) {

    .research-card-visual {
        height: 175px;
    }

    .research-card-content h3 {
        font-size: 16px;
    }

    .research-card-content p {
        font-size: 12.5px;
    }

}
/* =========================================================
   ABOUT TIMELINE - MODERN PREMIUM
========================================================= */

.about-timeline-section {
    position: relative;
    padding:80px 0;
    overflow: hidden;
}




/* =========================================================
   TIMELINE WRAPPER
========================================================= */

.about-timeline {
    position: relative;
    max-width: 1240px;
    margin: 80px auto 0;
}


/* =========================================================
   CENTER LINE
========================================================= */

.about-timeline-line {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 50%;
    width: 2px;
    transform: translateX(-50%);

    background: linear-gradient(
        to bottom,
        transparent 0%,
        rgba(20, 134, 206, .22) 8%,
        rgba(20, 134, 206, .22) 92%,
        transparent 100%
    );

    z-index: 1;
}


/* =========================================================
   TIMELINE ITEM
========================================================= */

.about-timeline-item {
    position: relative;
    display: flex;
    align-items: center;
    min-height: 330px;
    margin-bottom: 20px;
    z-index: 2;
}


/* =========================================================
   LEFT IMAGE
========================================================= */

.about-timeline-media {
    width: 50%;
    padding-right: 85px;
}


.about-timeline-image {
    position: relative;

    padding: 10px;

    background: #ffffff;

    border: 1px solid #e4eef3;

    border-radius: 28px;

    box-shadow:
        0 20px 60px rgba(29, 43, 58, .08);

    overflow: hidden;
}


.about-timeline-image-placeholder {
    min-height: 290px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 20px;
}

.about-timeline-image-placeholder img {
    height: 100%;
    width:100%;
}


/* =========================================================
   MARKER
========================================================= */

.about-timeline-marker {
    position: absolute;

    top: 50%;
    left: 50%;

    width: 74px;
    height: 74px;

    transform: translate(-50%, -50%);

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 50%;

    background: #ffffff;

    border: 1px solid #dcebf1;

    box-shadow:
        0 8px 25px rgba(29, 43, 58, .10);

    z-index: 5;
}


.about-timeline-marker::before {
    content: "";

    position: absolute;

    width: 54px;
    height: 54px;

    border-radius: 50%;

    background: linear-gradient(
        135deg,
        var(--base-color),
        var(--secondary-color)
    );
}


.about-timeline-marker span {
    position: relative;

    width: 54px;
    height: 54px;

    display: flex;
    align-items: center;
    justify-content: center;

    color: #ffffff;

    font-size: 22px;

    z-index: 2;
}


/* =========================================================
   RIGHT CONTENT
========================================================= */

.about-timeline-content {
    width: 50%;
    padding-left: 85px;
}


.about-timeline-year {
    display: inline-flex;
    align-items: center;

    margin-bottom: 12px;
    padding: 7px 15px;

    background: rgba(20, 134, 206, .08);

    border: 1px solid rgba(20, 134, 206, .12);

    border-radius: 50px;

    color: var(--base-color);

    font-size: 13px;
    font-weight: 800;

    letter-spacing: 1px;
}


/* =========================================================
   CONTENT CARD
========================================================= */

.about-timeline-card {
    position: relative;

    padding: 28px 30px;

    background: #ffffff;

    border: 1px solid #e3edf2;

    border-radius: 22px;

    box-shadow:
        0 15px 45px rgba(29, 43, 58, .055);

    transition:
        transform .35s ease,
        box-shadow .35s ease,
        border-color .35s ease;
}


.about-timeline-card::before {
    content: "";

    position: absolute;

    top: 28px;
    left: -1px;

    width: 4px;
    height: 45px;

    background: linear-gradient(
        to bottom,
        var(--base-color),
        var(--secondary-color)
    );

    border-radius: 0 5px 5px 0;
}


.about-timeline-card:hover {
    transform: translateY(-6px);

    border-color: rgba(20, 134, 206, .20);

    box-shadow:
        0 25px 60px rgba(29, 43, 58, .10);
}


.about-timeline-card h3 {
    margin: 0 0 13px;

    color: var(--dark-gray);

    font-family: var(--alt-font);

    font-size: 24px;
    font-weight: 800;

    line-height: 1.3;
}


.about-timeline-card p {
    margin: 0;

    color: var(--medium-gray);

    font-size: 15px;
    line-height: 1.8;
}


.about-timeline-card strong {
    color: var(--dark-gray);
    font-weight: 700;
}


/* =========================================================
   ALTERNATING LAYOUT
========================================================= */

.about-timeline-item.reverse {
    flex-direction: row-reverse;
}


.about-timeline-item.reverse .about-timeline-media {
    padding-right: 0;
    padding-left: 85px;
}


.about-timeline-item.reverse .about-timeline-content {
    padding-left: 0;
    padding-right: 85px;
}


/* =========================================================
   IMAGE HOVER
========================================================= */

.about-timeline-image {
    transition:
        transform .4s ease,
        box-shadow .4s ease;
}


.about-timeline-item:hover .about-timeline-image {
    transform: translateY(-5px);

    box-shadow:
        0 25px 65px rgba(29, 43, 58, .11);
}


.about-timeline-item:hover .about-timeline-marker {
    box-shadow:
        0 10px 35px rgba(20, 134, 206, .18);
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 991px) {

    .about-timeline-section {
        padding: 80px 0 90px;
    }

    .about-timeline {
        margin-top: 60px;
    }

    .about-timeline-item {
        min-height: 280px;
        margin-bottom: 60px;
    }

    .about-timeline-media {
        padding-right: 55px;
    }

    .about-timeline-content {
        padding-left: 55px;
    }

    .about-timeline-item.reverse .about-timeline-media {
        padding-left: 55px;
    }

    .about-timeline-item.reverse .about-timeline-content {
        padding-right: 55px;
    }

    .about-timeline-image-placeholder {
        min-height: 240px;
    }

    .about-timeline-marker {
        width: 64px;
        height: 64px;
    }

    .about-timeline-marker::before,
    .about-timeline-marker span {
        width: 46px;
        height: 46px;
    }

    .about-timeline-marker span {
        font-size: 19px;
    }

    .about-timeline-card {
        padding: 24px;
    }

    .about-timeline-card h3 {
        font-size: 20px;
    }

    .about-timeline-card p {
        font-size: 14px;
    }
}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767px) {

    .about-timeline-section {
        padding: 65px 0 75px;
    }

    .about-timeline {
        margin-top: 45px;
        padding-left: 30px;
    }

    /* Move timeline line to left */

    .about-timeline-line {
        left: 15px;
        transform: none;
    }


    /* Remove alternating desktop layout */

    .about-timeline-item,
    .about-timeline-item.reverse {
        display: block;

        min-height: auto;

        margin-bottom: 45px;
    }


    .about-timeline-media,
    .about-timeline-item.reverse .about-timeline-media {
        width: 100%;

        padding: 0;
        margin-bottom: 20px;
    }


    .about-timeline-content,
    .about-timeline-item.reverse .about-timeline-content {
        width: 100%;

        padding: 0;
    }


    .about-timeline-marker {
        top: 20px;
        left: -15px;

        width: 46px;
        height: 46px;

        transform: translate(-50%, 0);
    }


    .about-timeline-marker::before,
    .about-timeline-marker span {
        width: 34px;
        height: 34px;
    }


    .about-timeline-marker span {
        font-size: 15px;
    }


    .about-timeline-image {
        border-radius: 20px;
    }


    .about-timeline-image-placeholder {
        min-height: 190px;

        border-radius: 14px;

        font-size: 45px;
    }


    .about-timeline-year {
        font-size: 11px;

        padding: 6px 12px;
    }


    .about-timeline-card {
        padding: 21px;

        border-radius: 18px;
    }


    .about-timeline-card::before {
        top: 23px;
        height: 38px;
    }


    .about-timeline-card h3 {
        font-size: 19px;

        padding-left: 4px;
    }


    .about-timeline-card p {
        font-size: 13px;

        line-height: 1.7;
    }
}


/* =========================================================
   SMALL MOBILE
========================================================= */

@media (max-width: 480px) {

    .about-timeline-section {
        padding: 55px 0 65px;
    }

    .about-timeline {
        padding-left: 26px;
    }

    .about-timeline-line {
        left: 12px;
    }

    .about-timeline-marker {
        left: -14px;
    }

    .about-timeline-card {
        padding: 18px;
    }

    .about-timeline-card h3 {
        font-size: 18px;
    }

    .about-timeline-card p {
        font-size: 12.5px;
    }

    .about-timeline-image-placeholder {
        min-height: 165px;
    }
}

.about-timeline-image {
    position: relative;
    width: 100%;
    height: 290px;
    padding: 10px;
    background: #ffffff;
    border: 1px solid #e3edf2;
    border-radius: 28px;
    box-shadow: 0 20px 55px rgba(29, 43, 58, 0.08);
    overflow: hidden;
}

.about-timeline-image-placeholder {
    position: relative;
    width: 100%;
    height: 100%;
    border-radius: 21px;
    overflow: hidden;
    background: #eef7fa;
}

.about-timeline-image-placeholder img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    object-position: center;
}


/* =========================================
   992px+ — FULL HEIGHT
========================================= */

@media (min-width: 992px) {

    .about-timeline-image {
        /* height: 100%; */
        min-height: 100%;
    }

    .about-timeline-image-placeholder {
        height: 260px;
        min-height: 100%;
    }

    .about-timeline-image-placeholder img {
        height: 100%;
        min-height: 100%;
    }
}


/* =========================================
   MOBILE
========================================= */

@media (max-width: 575px) {

    .about-timeline-image {
        height: 290px;
        padding: 7px;
        border-radius: 20px;
    }

    .about-timeline-image-placeholder {
        border-radius: 15px;
    }
}


/* =========================================
   KEY POLICY REFERENCES TABLE
========================================= */

.policy-table-wrap {
    width: 100%;
    margin-top: 35px;
    background: #ffffff;
    border: 1px solid #dce8ed;
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 12px 35px rgba(29, 43, 58, 0.06);
}


/* =========================================
   TABLE SCROLL
========================================= */

.policy-table-scroll {
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}


/* =========================================
   TABLE
========================================= */

.policy-table {
    width: 100%;
    min-width: 850px;
    border-collapse: separate;
    border-spacing: 0;
    background: #ffffff;
}


/* =========================================
   TABLE HEADER
========================================= */

.policy-table thead th {
    padding: 20px 24px;
    background: var(--base-color);
    color: #ffffff;
    text-align: left;

    font-size: 14px;
    font-weight: 700;
    line-height: 1.4;

    letter-spacing: 0.2px;

    border: 0;
    border-right: 1px solid rgba(255, 255, 255, 0.18);
}

.policy-table thead th:first-child {
    width: 34%;
    border-top-left-radius: 20px;
}

.policy-table thead th:last-child {
    width: 66%;
    border-right: 0;
    border-top-right-radius: 20px;
}


/* =========================================
   TABLE BODY
========================================= */

.policy-table tbody td {
    padding: 21px 24px;

    color: var(--medium-gray);

    font-size: 14px;
    line-height: 1.7;

    vertical-align: top;

    border-bottom: 1px solid #e5edf1;
    border-right: 1px solid #e5edf1;

    transition: all 0.3s ease;
}


/* =========================================
   STRIPED ROWS
========================================= */

.policy-table tbody tr:nth-child(odd) td {
    background: #f7fafb;
}

.policy-table tbody tr:nth-child(even) td {
    background: #ffffff;
}


/* =========================================
   FIRST COLUMN
========================================= */

.policy-table tbody td:first-child {
    color: var(--dark-gray);
    font-weight: 600;
}

.policy-table tbody td:first-child strong {
    color: var(--dark-gray);
    font-weight: 700;
}


/* Remove right border from last column */

.policy-table tbody td:last-child {
    border-right: 0;
}


/* =========================================
   LAST ROW
========================================= */

.policy-table tbody tr:last-child td {
    border-bottom: 0;
}

.policy-table tbody tr:last-child td:first-child {
    border-bottom-left-radius: 20px;
}

.policy-table tbody tr:last-child td:last-child {
    border-bottom-right-radius: 20px;
}


/* =========================================
   HOVER EFFECT
========================================= */

.policy-table tbody tr:hover td {
    background: #eef9f7;
}

.policy-table tbody tr:hover td:first-child,
.policy-table tbody tr:hover td:first-child strong {
    color: var(--base-color);
}


/* =========================================
   CUSTOM SCROLLBAR
========================================= */

.policy-table-scroll::-webkit-scrollbar {
    height: 8px;
}

.policy-table-scroll::-webkit-scrollbar-track {
    background: #edf3f5;
    border-radius: 20px;
}

.policy-table-scroll::-webkit-scrollbar-thumb {
    background: var(--secondary-color);
    border-radius: 20px;
}

.policy-table-scroll::-webkit-scrollbar-thumb:hover {
    background: var(--base-color);
}


/* =========================================
   TABLET
========================================= */

@media (max-width: 991px) {

    .policy-table-wrap {
        margin-top: 30px;
        border-radius: 18px;
    }

    .policy-table {
        min-width: 850px;
    }

    .policy-table thead th {
        padding: 18px 20px;
        font-size: 13px;
    }

    .policy-table tbody td {
        padding: 18px 20px;
        font-size: 13px;
    }

}


/* =========================================
   MOBILE
========================================= */

@media (max-width: 575px) {

    .policy-table-wrap {
        margin-top: 25px;
        border-radius: 16px;
    }

    .policy-table {
        min-width: 780px;
    }

    .policy-table thead th {
        padding: 16px 18px;
        font-size: 13px;
    }

    .policy-table tbody td {
        padding: 16px 18px;
        font-size: 13px;
        line-height: 1.6;
    }

}

/* =========================================
   MAP SECTION
========================================= */

.map-section {
    width: 100%;
    padding: 40px 0;
    overflow: hidden;
}


/* =========================================
   MAP IMAGE WRAPPER
========================================= */

.map-main-img-desktop,
.map-main-img-mobile {
    position: relative;
    width: 100%;
    height: 100%;

    overflow: hidden;

    border: 1px solid #e2ebef;
    border-radius: 24px;

    background: #ffffff;

    box-shadow: 0 12px 35px rgba(29, 43, 58, 0.08);
}


/* =========================================
   DESKTOP MAP
   992px AND ABOVE
========================================= */

.map-main-img-desktop {
    display: block;
}

.map-main-img-desktop img {
    width: 100%;
    height: 100%;
    display: block;

    object-fit: cover;
    object-position: center;
}


/* =========================================
   MOBILE MAP
   BELOW 992px
========================================= */

.map-main-img-mobile {
    display: none;
}

.map-main-img-mobile img {
    width: 100%;
    height: 100%;
    display: block;

    object-fit: cover;
    object-position: center;
}


/* =========================================
   TABLET / MOBILE
========================================= */

@media (max-width: 991px) {

    .map-section {
        padding: 30px 0;
    }

    /* Hide desktop */
    .map-main-img-desktop {
        display: none;
    }

    /* Show mobile */
    .map-main-img-mobile {
        display: block;
        height: 100%;
    }
}


/* =========================================
   MOBILE
========================================= */

@media (max-width: 575px) {

    .map-section {
        padding: 25px 0;
    }

    .map-main-img-mobile {
        height: 100%;
        border-radius: 18px;
    }
}


/* =========================================================
   IBH ABOUT SECTION
========================================================= */

.ibh-about-section {
    position: relative;
    padding: 60px 0;
    overflow: hidden;
    background:
        linear-gradient(
            135deg,
            #101b27 0%,
            #142633 55%,
            #0c1722 100%
        );
    color: var(--white);
    isolation: isolate;
}


/* =========================================================
   BACKGROUND PATTERN
========================================================= */

.ibh-about-bg-pattern {
    position: absolute;
    inset: 0;
    opacity: 0.035;
    background-image:
        linear-gradient(
            rgba(255, 255, 255, 0.8) 1px,
            transparent 1px
        ),
        linear-gradient(
            90deg,
            rgba(255, 255, 255, 0.8) 1px,
            transparent 1px
        );
    background-size: 55px 55px;
    pointer-events: none;
    z-index: -1;
}


/* =========================================================
   BACKGROUND GLOW
========================================================= */

.ibh-about-section::before {
    content: "";
    position: absolute;
    width: 520px;
    height: 520px;
    top: -300px;
    right: -180px;
    border-radius: 50%;
    background:
        radial-gradient(
            circle,
            rgba(47, 202, 174, 0.13) 0%,
            rgba(47, 202, 174, 0.04) 45%,
            transparent 72%
        );
    pointer-events: none;
    z-index: -2;
}


.ibh-about-section::after {
    content: "";
    position: absolute;
    width: 430px;
    height: 430px;
    bottom: -280px;
    left: -200px;
    border-radius: 50%;
    background:
        radial-gradient(
            circle,
            rgba(0, 133, 210, 0.14) 0%,
            rgba(0, 133, 210, 0.04) 45%,
            transparent 72%
        );
    pointer-events: none;
    z-index: -2;
}


/* =========================================================
   LEFT CONTENT
========================================================= */

.ibh-about-content {
    position: relative;
    max-width: 680px;
    padding-right: 30px;
}


/* =========================================================
   HEADING
========================================================= */

.ibh-about-content h2 {
    position: relative;
    margin: 0;
    color: var(--white);
    font-family: var(--alt-font);
    font-size: 52px;
    font-weight: 800;
    line-height: 1.12;
    letter-spacing: -1.5px;
}

/* =========================================================
   LEAD TEXT
========================================================= */

.ibh-about-lead {
    max-width: 600px;
    margin: 28px 0 0;
    color: rgba(255, 255, 255, 0.88);
    font-family: var(--primary-font);
    font-size: 19px;
    font-weight: 500;
    line-height: 1.7;
}


/* =========================================================
   DIVIDER
========================================================= */

.ibh-about-divider {
    width: 100%;
    max-width: 560px;
    height: 1px;
    margin: 30px 0;
    background:
        linear-gradient(
            90deg,
            rgba(47, 202, 174, 0.65),
            rgba(255, 255, 255, 0.10),
            transparent
        );
}


/* =========================================================
   DESCRIPTION
========================================================= */

.ibh-about-description {
    max-width: 590px;
    margin: 0;
    color: rgba(255, 255, 255, 0.62);
    font-family: var(--primary-font);
    font-size: 15px;
    line-height: 1.85;
}


/* =========================================================
   RIGHT VISUAL
========================================================= */

.ibh-about-visual {
    position: relative;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}


/* =========================================================
   IMAGE FRAME
========================================================= */

.ibh-image-frame {
    position: relative;
    width: 100%;
    max-width: 500px;
    padding: 16px;
    margin-left: auto;
}


/* =========================================================
   TOP / RIGHT FRAME LINE
========================================================= */

.ibh-image-frame::before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    width: 82%;
    height: 82%;
    border-top: 1px solid rgba(47, 202, 174, 0.65);
    border-right: 1px solid rgba(47, 202, 174, 0.65);
    border-radius: 0 24px 0 0;
    pointer-events: none;
}


/* =========================================================
   IMAGE
========================================================= */

.ibh-image-wrap {
    position: relative;
    width: 100%;
    height: 100%;
    overflow: hidden;
    border-radius: 22px;
    border: 1px solid rgba(255, 255, 255, 0.10);
    background: #172936;
    box-shadow:
        0 25px 60px rgba(0, 0, 0, 0.30);
}


.ibh-image-wrap img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    object-position: center;
}


/* Image subtle dark gradient */

.ibh-image-wrap::after {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(
            180deg,
            rgba(8, 18, 27, 0.02) 35%,
            rgba(8, 18, 27, 0.25) 100%
        );
    pointer-events: none;
}


/* =========================================================
   IMAGE DOT PATTERN
========================================================= */

.ibh-image-pattern {
    position: absolute;
    top: -25px;
    left: -28px;
    width: 100px;
    height: 100px;
    background-image:
        radial-gradient(
            var(--secondary-color) 1.2px,
            transparent 1.2px
        );
    background-size: 10px 10px;
    opacity: 0.45;
    z-index: -1;
    pointer-events: none;
}


/* =========================================================
   BOTTOM LEFT ACCENT
========================================================= */

.ibh-accent-one {
    position: absolute;
    left: 0;
    bottom: 0px;
    width: 65px;
    height: 65px;
    border-left: 3px solid var(--secondary-color);
    border-bottom: 3px solid var(--secondary-color);
    border-radius: 0 0 0 14px;
    z-index: 3;
    pointer-events: none;
}


/* =========================================================
   BOTTOM RIGHT DOTS
========================================================= */

.ibh-accent-two {
    position: absolute;
    right: -5px;
    bottom: 0;
    width: 85px;
    height: 85px;
    background-image:
        radial-gradient(
            var(--secondary-color) 1.2px,
            transparent 1.2px
        );
    background-size: 10px 10px;
    opacity: 0.35;
    z-index: -1;
    pointer-events: none;
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 1199px) {

    .ibh-about-section {
        padding: 90px 0;
    }

    .ibh-about-content h2 {
        font-size: 45px;
    }

    .ibh-about-content {
        padding-right: 10px;
    }

    .ibh-image-wrap {
        height: 450px;
    }
}


/* =========================================================
   TABLET / MOBILE
========================================================= */

@media (max-width: 991px) {

    .ibh-about-section {
        padding: 80px 0;
    }

    .ibh-about-content {
        max-width: 750px;

        padding-right: 0;
    }

    .ibh-about-content h2 {
        font-size: 44px;
    }

    .ibh-about-visual {
        margin-top: 10px;
    }

    .ibh-image-frame {
        max-width: 620px;

        margin: 0 auto;
    }

    .ibh-image-wrap {
        height: 480px;
    }
}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767px) {

    .ibh-about-section {
        padding: 65px 0;
    }

    .ibh-about-content h2 {
        font-size: 35px;

        letter-spacing: -0.8px;
    }

    .ibh-about-content h2::before {
        width: 45px;
        height: 3px;

        margin-bottom: 18px;
    }

    .ibh-about-lead {
        margin-top: 22px;

        font-size: 17px;

        line-height: 1.65;
    }

    .ibh-about-divider {
        margin: 24px 0;
    }

    .ibh-about-description {
        font-size: 14px;

        line-height: 1.75;
    }

    .ibh-about-visual {
        margin-top: 15px;
    }

    .ibh-image-frame {
        padding: 12px;
    }

    .ibh-image-wrap {
        height: 390px;

        border-radius: 18px;
    }

    .ibh-image-pattern {
        width: 75px;
        height: 75px;

        top: -18px;
        left: -18px;

        background-size: 9px 9px;
    }

    .ibh-accent-one {
        width: 50px;
        height: 50px;

        bottom: 20px;
    }

    .ibh-accent-two {
        width: 65px;
        height: 65px;

        background-size: 9px 9px;
    }
}


/* =========================================================
   SMALL MOBILE
========================================================= */

@media (max-width: 480px) {

    .ibh-about-section {
        padding: 55px 0;
    }

    .ibh-about-content h2 {
        font-size: 31px;
    }

    .ibh-about-lead {
        font-size: 16px;
    }

    .ibh-image-wrap {
        height: 340px;

        border-radius: 16px;
    }
}

/* =========================================
   SERVICE FEATURE ROW
========================================= */



/* =========================================
   PREMIUM CARD
========================================= */

.service-feature-card {
    position: relative;

    height: 100%;
    min-height: 250px;

    padding: 24px;

    background: var(--white);

    border: 1px solid #e5edf2;

    border-radius: 20px;

    overflow: hidden;

    box-shadow:
        0 8px 25px rgba(29, 43, 58, 0.045);

    transition:
        transform .35s ease,
        box-shadow .35s ease,
        border-color .35s ease;
}


/* =========================================
   SIMPLE TOP BORDER
   NO GRADIENT
========================================= */

.service-feature-card::before {
    content: "";

    position: absolute;

    top: 0;
    left: 24px;
    right: 24px;

    height: 3px;

    background: var(--secondary-color);

    border-radius: 0 0 6px 6px;
}


/* =========================================
   BOTTOM LEFT PATTERN
   STATIC — NO HOVER ANIMATION
========================================= */

.service-feature-pattern {
    position: absolute;

    left: 0;
    bottom: 0;

    width: 95px;
    height: 70px;

    pointer-events: none;

    z-index: 0;

    opacity: .35;

    background-image:
        radial-gradient(
            circle,
            var(--secondary-color) 1.2px,
            transparent 1.2px
        );

    background-size: 11px 11px;

    -webkit-mask-image:
        linear-gradient(
            135deg,
            #000 0%,
            transparent 75%
        );

    mask-image:
        linear-gradient(
            135deg,
            #000 0%,
            transparent 75%
        );
}


/* =========================================
   IMAGE
========================================= */

.service-feature-icon {
    position: relative;
    z-index: 2;
    width: 100%;
    height: 200px;
    margin-bottom: 18px;
    overflow: hidden;
    border-radius: 14px;
    background: var(--light-blue);
    border: 1px solid #e1edf4;
    box-shadow:
        0 5px 18px rgba(29, 43, 58, 0.07);
}


.service-feature-icon img {
    width: 100%;
    height: 100%;

    display: block;

    object-fit: cover;

    transition: transform .45s ease;
}


/* =========================================
   CONTENT
========================================= */

.service-feature-content {
    position: relative;

    z-index: 2;
}


/* =========================================
   TITLE
========================================= */

.service-feature-title {
    position: relative;
    margin: 0 0 10px;
    color: var(--dark-gray);
    font-family: var(--alt-font);
    font-size: 16px;
    font-weight: 700;
    line-height: 1.45;
    transition: color .3s ease;
}



/* =========================================
   DESCRIPTION
========================================= */

.service-feature-content p {
    margin: 0;
    color: var(--medium-gray);
    font-size: 16px;
    line-height: 1.7;
    text-align: left;
}


/* =========================================
   DESCRIPTION END DASH
========================================= */



/* =========================================
   HOVER
========================================= */

.service-feature-card:hover {
    transform: translateY(-4px);

    border-color: rgba(0, 133, 210, .20);

    box-shadow:
        0 16px 38px rgba(29, 43, 58, .09);
}


/* Image hover */

.service-feature-card:hover .service-feature-icon img {
    transform: scale(1.05);
}


/* Title hover */

.service-feature-card:hover .service-feature-title {
    color: var(--base-color);
}


/* =========================================
   IMPORTANT:
   PATTERN DOES NOT CHANGE ON HOVER
========================================= */


/* =========================================
   TABLET
========================================= */

@media (max-width: 991px) {

    .service-feature-card {
        min-height: 235px;

        padding: 21px;
    }

    .service-feature-icon {
        width: 66px;
        height: 66px;

        margin-bottom: 16px;
    }

    .service-feature-title {
        font-size: 15.5px;
    }

    .service-feature-content p {
        font-size: 13px;

        line-height: 1.65;
    }
}


/* =========================================
   MOBILE
========================================= */

@media (max-width: 767px) {

    .service-feature-row {
        margin-top: 24px;

        --bs-gutter-y: 18px !important;
    }

    .service-feature-card {
        min-height: auto;

        padding: 18px;

        border-radius: 16px;
    }

    .service-feature-card::before {
        left: 18px;
        right: 18px;
    }

    .service-feature-icon {
        width: 62px;
        height: 62px;

        margin-bottom: 14px;

        border-radius: 12px;
    }

    .service-feature-title {
        font-size: 15px;

        padding-left: 15px;

        margin-bottom: 8px;
    }

    .service-feature-content p {
        font-size: 13px;

        line-height: 1.6;
    }

    .service-feature-pattern {
        width: 75px;
        height: 58px;

        background-size: 10px 10px;

        opacity: .3;
    }
}

/* =========================================
   IBH SUPPLY CHAIN
   VERTICAL INFOGRAPHIC
========================================= */

.ibh-process-infographic {
    position: relative;

    max-width: 1180px;

    margin: 70px auto 0;

    padding: 20px 0 30px;
}


/* =========================================
   MAIN CENTER LINE
========================================= */

.ibh-process-infographic::before {
    content: "";

    position: absolute;

    top: 0;
    bottom: 0;

    left: 50%;

    width: 1px;

    background: #d9e7ec;

    transform: translateX(-50%);

    z-index: 0;
}


/* =========================================
   PROCESS ITEM
========================================= */

.ibh-process-item {
    position: relative;

    display: grid;

    grid-template-columns: 1fr 1fr;

    gap: 100px;

    align-items: center;

    min-height: 280px;

    margin-bottom: 90px;

    z-index: 1;
}


.ibh-process-item:last-child {
    margin-bottom: 0;
}


/* =========================================
   LEFT / RIGHT POSITION
========================================= */

.ibh-process-left .ibh-process-visual {
    grid-column: 1;
    grid-row: 1;
}

.ibh-process-left .ibh-process-content {
    grid-column: 2;
    grid-row: 1;
}


.ibh-process-right .ibh-process-visual {
    grid-column: 2;
    grid-row: 1;
}

.ibh-process-right .ibh-process-content {
    grid-column: 1;
    grid-row: 1;
}


/* =========================================
   VISUAL IMAGE
========================================= */

.ibh-process-visual {
    position: relative;

    height: 285px;

    overflow: hidden;

    /* border-radius: 28px; */

    /* background: var(--dark-gray); */

    /* box-shadow:
        0 20px 45px rgba(29, 43, 58, .12); */
}


/* IMAGE */

.ibh-process-visual img {
    width: 100%;
    height: 100%;

    display: block;

    object-fit: cover;

    transition:
        transform .6s ease,
        filter .5s ease;
}


/* IMAGE OVERLAY */

.ibh-process-visual::after {
    content: "";

    position: absolute;

    inset: 0;

    /* background:
        linear-gradient(
            135deg,
            rgba(0, 133, 210, .08),
            rgba(29, 43, 58, .28)
        ); */

    pointer-events: none;
}


/* IMAGE HOVER */

.ibh-process-item:hover .ibh-process-visual img {
    transform: scale(1.06);

    filter: saturate(1.08);
}


/* =========================================
   IMAGE DECORATIVE FRAME
========================================= */

.ibh-process-visual::before {
    content: "";
    position: absolute;
    inset: 14px;
    /* border: 1px solid rgba(255, 255, 255, .20);
    border-radius: 20px; */
    z-index: 2;
    pointer-events: none;
}


/* =========================================
   CONTENT
========================================= */

.ibh-process-content {
    position: relative;

    padding: 10px 5px;
}


/* =========================================
   STEP NUMBER
========================================= */

.ibh-process-step {
    display: inline-flex;

    align-items: center;
    justify-content: center;

    width: 48px;
    height: 48px;

    margin-bottom: 18px;

    border-radius: 50%;

    background: var(--secondary-color);

    color: var(--white);

    font-family: var(--alt-font);

    font-size: 12px;

    font-weight: 800;

    letter-spacing: .6px;

    box-shadow:
        0 8px 20px rgba(47, 202, 174, .20);

    transition:
        transform .35s ease,
        background .35s ease,
        box-shadow .35s ease;
}


/* =========================================
   TITLE
========================================= */

.ibh-process-content h3 {
    margin: 0 0 15px;

    max-width: 460px;

    color: var(--dark-gray);

    font-family: var(--alt-font);

    font-size: 23px;

    font-weight: 750;

    line-height: 1.38;
}


/* =========================================
   DESCRIPTION
========================================= */

.ibh-process-content p {
    margin: 0;

    max-width: 500px;

    color: var(--medium-gray);

    font-family: var(--primary-font);

    font-size: 14px;

    line-height: 1.85;
}


/* =========================================
   CENTER CONNECTOR
========================================= */

.ibh-process-item::before {
    content: "";

    position: absolute;

    top: 50%;

    width: 54px;

    height: 1px;

    background: #d9e7ec;

    z-index: -1;
}


/* LEFT CONNECTOR */

.ibh-process-left::before {
    right: calc(50% - 27px);
}


/* RIGHT CONNECTOR */

.ibh-process-right::before {
    left: calc(50% - 27px);
}


/* =========================================
   CENTER NODE
========================================= */

.ibh-process-item::after {
    content: "";

    position: absolute;

    top: 50%;
    left: 50%;

    width: 16px;
    height: 16px;

    border-radius: 50%;

    background: var(--white);

    border: 4px solid var(--secondary-color);

    transform: translate(-50%, -50%);

    box-shadow:
        0 0 0 7px rgba(47, 202, 174, .08);

    z-index: 3;

    transition:
        transform .35s ease,
        box-shadow .35s ease;
}


/* =========================================
   HOVER NODE
========================================= */

.ibh-process-item:hover::after {
    transform:
        translate(-50%, -50%)
        scale(1.25);

    box-shadow:
        0 0 0 10px rgba(47, 202, 174, .10);
}


.ibh-process-item:hover .ibh-process-step {
    transform: translateY(-3px);

    box-shadow:
        0 12px 26px rgba(47, 202, 174, .28);
}


/* =========================================
   SMALL DECORATIVE DOTS
========================================= */

.ibh-process-content::before {
    content: "";

    position: absolute;

    width: 70px;
    height: 70px;

    border-radius: 50%;

    border: 1px solid rgba(0, 133, 210, .08);

    z-index: -1;
}


.ibh-process-left .ibh-process-content::before {
    right: -15px;
    bottom: -20px;
}


.ibh-process-right .ibh-process-content::before {
    left: -15px;
    bottom: -20px;
}


/* =========================================
   TABLET
========================================= */

@media (max-width: 991px) {

    .ibh-process-infographic {
        max-width: 850px;

        margin-top: 50px;
    }

    .ibh-process-item {
        gap: 60px;

        min-height: 240px;

        margin-bottom: 70px;
    }

    .ibh-process-visual {
        height: 240px;

        border-radius: 22px;
    }

    .ibh-process-content h3 {
        font-size: 20px;
    }

    .ibh-process-content p {
        font-size: 13.5px;
    }

    .ibh-process-step {
        width: 44px;
        height: 44px;
    }
}


/* =========================================
   MOBILE
========================================= */

@media (max-width: 767px) {

    .ibh-process-infographic {
        margin-top: 40px;

        padding: 0 0 0 45px;
    }


    /* MOVE LINE LEFT */

    .ibh-process-infographic::before {
        left: 17px;

        transform: none;
    }


    /* ONE COLUMN */

    .ibh-process-item {
        display: flex;

        flex-direction: column;

        align-items: stretch;

        gap: 0;

        min-height: auto;

        margin-bottom: 55px;

        padding: 0;
    }


    .ibh-process-item:last-child {
        margin-bottom: 0;
    }


    /* RESET GRID */

    .ibh-process-left .ibh-process-visual,
    .ibh-process-left .ibh-process-content,
    .ibh-process-right .ibh-process-visual,
    .ibh-process-right .ibh-process-content {
        grid-column: auto;
        grid-row: auto;
    }


    /* IMAGE */

    .ibh-process-visual {
        width: 100%;

        height: 200px;

        border-radius: 20px;
    }


    /* CONTENT */

    .ibh-process-content {
        padding: 22px 4px 0;
    }


    .ibh-process-content h3 {
        font-size: 19px;
    }


    .ibh-process-content p {
        font-size: 13px;

        line-height: 1.75;
    }


    /* STEP NODE */

    .ibh-process-step {
        position: absolute;

        top: 22px;
        left: -68px;

        width: 44px;
        height: 44px;

        margin: 0;

        z-index: 5;
    }


    /* REMOVE CENTER CONNECTOR */

    .ibh-process-item::before {
        display: none;
    }


    /* MOBILE FLOW NODE */

    .ibh-process-item::after {
        top: 44px;
        left: -28px;

        width: 14px;
        height: 14px;

        transform: translate(-50%, -50%);
    }


    .ibh-process-item:hover::after {
        transform:
            translate(-50%, -50%)
            scale(1.15);
    }


    /* SMALL ARROW */

    .ibh-process-item:not(:last-child) {
        position: relative;
    }

    .ibh-process-item:not(:last-child) .ibh-process-content::after {
        content: "";

        position: absolute;

        left: -31px;
        bottom: -40px;

        width: 9px;
        height: 9px;

        border-right: 2px solid var(--secondary-color);
        border-bottom: 2px solid var(--secondary-color);

        transform: rotate(45deg);
    }
}


/* =========================================
   SMALL MOBILE
========================================= */

@media (max-width: 575px) {

    .ibh-process-infographic {
        padding-left: 38px;
    }

    .ibh-process-infographic::before {
        left: 14px;
    }

    .ibh-process-item {
        margin-bottom: 48px;
    }

    .ibh-process-visual img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: contain;
    transition: transform .6s ease, filter .5s ease;
}
    .ibh-process-visual {
        height: 170px;

        border-radius: 17px;
    }

    .ibh-process-visual::before {
        inset: 9px;

        border-radius: 13px;
    }

    .ibh-process-content {
        padding-top: 18px;
    }

    .ibh-process-step {
        left: -59px;

        width: 40px;
        height: 40px;

        font-size: 11px;
    }

    .ibh-process-item::after {
        left: -24px;

        width: 12px;
        height: 12px;
    }

    .ibh-process-content h3 {
        font-size: 18px;

        margin-bottom: 11px;
    }

    .ibh-process-content p {
        font-size: 12.5px;

        line-height: 1.7;
    }

    .ibh-process-content::before {
        display: none;
    }
}


/* =========================================
   CUSTOMER CARE SUPPORT
   PREMIUM CARD GRID
========================================= */

.customer-care-support-grid {
    margin-top: 45px;
}


/* =========================================
   CARD
========================================= */

.customer-care-support-card {
    position: relative;
    height: 100%;
    display: flex;
    align-items: center;
    background: var(--white);
    border: 1px solid #e2ebf0;
    border-radius: 24px;
    overflow: hidden;
    box-shadow:
        0 10px 30px rgba(29, 43, 58, 0.055);
    transition:
        transform .4s ease,
        border-color .4s ease,
        box-shadow .4s ease;
}


/* =========================================
   CARD HOVER
========================================= */

.customer-care-support-card:hover {
    transform: translateY(-7px);
    border-color: rgba(47, 202, 174, 0.30);
    box-shadow:
        0 20px 45px rgba(29, 43, 58, 0.11);
}


/* =========================================
   ILLUSTRATION AREA
========================================= */

.customer-care-support-illustration {
    position: relative;
    height: 210px;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}







/* =========================================
   ILLUSTRATION IMAGE
========================================= */

.customer-care-support-illustration img {
    position: relative;

    z-index: 2;

    width: 100%;
    height: 200px;
    min-width: 300px;

    object-fit: contain;

    display: block;

    transition:
        transform .45s ease;
}


/* =========================================
   IMAGE HOVER
========================================= */

.customer-care-support-card:hover
.customer-care-support-illustration img {
    transform: scale(1.07) translateY(-4px);
}

.customer-care-support-card:hover
.customer-care-support-illustration::before {
    transform:
        translate(-50%, -50%)
        scale(1.08);

    border-color: rgba(47, 202, 174, 0.18);
}


/* =========================================
   CONTENT
========================================= */

.customer-care-support-content {
    position: relative;

    flex: 1;

    padding: 28px 30px 32px;
}


/* =========================================
   ACCENT
========================================= */

.customer-care-support-accent {
    display: block;

    width: 42px;
    height: 3px;

    margin-bottom: 15px;

    background: var(--secondary-color);

    border-radius: 5px;
}


/* =========================================
   TITLE
========================================= */

.customer-care-support-content h3 {
    margin: 0 0 13px;

    color: var(--dark-gray);

    font-family: var(--alt-font);

    font-size: 20px;

    font-weight: 750;

    line-height: 1.4;
}


/* =========================================
   DESCRIPTION
========================================= */

.customer-care-support-content p {
    margin: 0;
    color: var(--medium-gray);
    font-family: var(--primary-font);
    font-size: 16px;
    line-height: 1.8;
    text-align: left;
}


/* =========================================
   SUBTLE CARD CORNER PATTERN
========================================= */

.customer-care-support-card::after {
    content: "";

    position: absolute;

    right: -55px;
    bottom: -55px;

    width: 145px;
    height: 145px;

    border: 1px solid rgba(47, 202, 174, 0.08);

    border-radius: 50%;

    pointer-events: none;

    transition:
        transform .5s ease,
        border-color .5s ease;
}


.customer-care-support-card:hover::after {
    transform: scale(1.15);

    border-color: rgba(47, 202, 174, 0.14);
}


/* =========================================
   TABLET
========================================= */

@media (max-width: 991px) {

    .customer-care-support-grid {
        margin-top: 35px;
    }

    .customer-care-support-illustration {
        height: 190px;
    }

    .customer-care-support-illustration img {
        width: 100%;
        height: 100%;
    }

    .customer-care-support-content {
        padding: 25px 26px 28px;
    }

    .customer-care-support-content h3 {
        font-size: 19px;
    }

}


/* =========================================
   MOBILE
========================================= */

@media (max-width: 767px) {

    .customer-care-support-grid {
        margin-top: 30px;
    }

    .customer-care-support-card {
        border-radius: 20px;
        flex-direction: column;
    }

    .customer-care-support-illustration {
        height: 100%;
    }

    .customer-care-support-illustration img {
        width: 100%;
        height: 100%;
    }

    .customer-care-support-content {
        padding: 23px 22px 26px;
    }

    .customer-care-support-content h3 {
        font-size: 18px;
    }

    .customer-care-support-content p {
        font-size: 13px;

        line-height: 1.75;
    }

}


/* =========================================
   SMALL MOBILE
========================================= */

@media (max-width: 575px) {


    .customer-care-support-content {
        padding: 21px 19px 24px;
    }

    .customer-care-support-content h3 {
        font-size: 17px;

        line-height: 1.45;
    }

    .customer-care-support-content p {
        font-size: 13px;

        line-height: 1.7;
    }

    .customer-care-support-accent {
        width: 36px;
        height: 3px;

        margin-bottom: 13px;
    }

}



.network-stats-bg{
  background: var(--dark-gray) !important;
}
.network-stats-bg .market-counter-number{
  font-size: 24px !important;
}

.network-stats-bg .market-counter-item {
    position: relative;
    display: flex;
    align-items: center;
    gap: 13px;
    min-height: 115px;
    padding: 17px 12px;
}

.network-stats-bg .market-counter-icon {
    width: 45px;
    height: 45px;
    min-width: 45px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 16px;
    background: var(--light-blue);
    color: var(--base-color);
    font-size: 18px;
    transition: all .35s ease;
}

.network-stats-bg .market-counter-label {
    display: block;
    margin-top: 9px;
    color: #efefef;
    font-size: 12px;
    font-weight: 500;
    line-height: 1.4;
}

/* =========================================
   DISTRIBUTION CRITERIA GRID
========================================= */

.distribution-criteria-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 22px;
    margin-top: 40px;
}


/* =========================================
   CARD
========================================= */

.distribution-criteria-card {
    position: relative;

    display: flex;
    align-items: center;

    min-height: 210px;

    padding: 26px 28px;

    overflow: hidden;

    background: #ffffff;

    border: 1px solid #e2edf2;

    border-radius: 22px;

    box-shadow:
        0 12px 35px rgba(29, 43, 58, 0.06);

    transition:
        transform .35s ease,
        box-shadow .35s ease,
        border-color .35s ease;
}


/* =========================================
   BACKGROUND GLOW
========================================= */

.distribution-criteria-card::before {
    content: "";

    position: absolute;

    right: -70px;
    bottom: -90px;

    width: 220px;
    height: 220px;

    border: 1px solid rgba(59, 194, 178, 0.12);

    border-radius: 50%;

    box-shadow:
        0 0 0 25px rgba(59, 194, 178, 0.035),
        0 0 0 50px rgba(59, 194, 178, 0.018);

    pointer-events: none;
}


/* =========================================
   TOP ACCENT
========================================= */

.distribution-criteria-card::after {
    content: "";

    position: absolute;

    top: 0;
    left: 28px;

    width: 55px;
    height: 3px;

    background: var(--secondary-color);

    border-radius: 0 0 5px 5px;
}


/* =========================================
   VECTOR AREA
========================================= */

.distribution-criteria-visual {
    position: relative;

    flex: 0 0 60px;

    width: 60px;
    height: 60px;

    display: flex;
    align-items: center;
    justify-content: center;

    margin-right: 25px;
    z-index: 2;
}


/* Decorative circle */

.distribution-criteria-visual::before {
    content: "";

    position: absolute;

    width: 78px;
    height: 78px;

    border: 1px dashed rgba(59, 194, 178, 0.20);

    border-radius: 50%;
}


/* =========================================
   VECTOR IMAGE
========================================= */

.distribution-criteria-visual img {
    position: relative;

    z-index: 2;

    width: 50px;
    height: 50px;

    object-fit: contain;

    display: block;

    transition: transform .35s ease;
}


/* =========================================
   CONTENT
========================================= */

.distribution-criteria-content {
    position: relative;

    z-index: 2;

    flex: 1;

    min-width: 0;
}



/* =========================================
   TEXT
========================================= */

.distribution-criteria-content p {
    margin: 0;
    color: var(--medium-gray);
    font-family: var(--primary-font);
    font-size: 16px;
    line-height: 1.75;
    text-align: left;
}


.distribution-criteria-content strong {
    color: var(--dark-gray);
    font-weight: 750;
    font-size: 16px;
}


/* =========================================
   HOVER
========================================= */

.distribution-criteria-card:hover {
    transform: translateY(-6px);

    border-color: rgba(59, 194, 178, 0.28);

    box-shadow:
        0 20px 45px rgba(29, 43, 58, 0.11);
}


.distribution-criteria-card:hover
.distribution-criteria-visual img {
    transform: scale(1.08);
}


/* =========================================
   TABLET
========================================= */

@media (max-width: 991px) {

    .distribution-criteria-grid {
        gap: 18px;
    }

    .distribution-criteria-card {
        padding: 23px;
    }

    .distribution-criteria-visual {
        flex-basis: 85px;

        width: 85px;
        height: 85px;

        margin-right: 20px;
    }

    .distribution-criteria-visual img {
        width: 55px;
        height: 55px;
    }

    .distribution-criteria-content p {
        font-size: 13px;
    }

}


/* =========================================
   MOBILE
========================================= */

@media (max-width: 767px) {

    .distribution-criteria-grid {
        grid-template-columns: 1fr;
        gap: 16px;
        margin-top: 30px;
    }

    .distribution-criteria-card {
        min-height: 175px;
        padding: 22px;
        border-radius: 18px;
    }

    .distribution-criteria-visual {
        flex-basis: 78px;
        width: 78px;
        height: 78px;
        margin-right: 18px;
        border-radius: 16px;
    }

    .distribution-criteria-visual::before {
        width: 60px;
        height: 60px;
    }

    .distribution-criteria-visual img {
        width: 50px;
        height: 50px;
    }

    .distribution-criteria-content p {
        font-size: 13px;
        line-height: 1.65;
    }

}


/* =========================================
   SMALL MOBILE
========================================= */

@media (max-width: 575px) {

    .distribution-criteria-card {
        align-items: flex-start;

        padding: 20px;

        min-height: auto;
    }

    .distribution-criteria-visual {
        flex-basis: 65px;

        width: 65px;
        height: 65px;

        margin-right: 15px;
    }

    .distribution-criteria-visual::before {
        width: 50px;
        height: 50px;
    }

    .distribution-criteria-visual img {
        width: 43px;
        height: 43px;
    }

    .distribution-criteria-number {
        font-size: 10px;
    }

    .distribution-criteria-content p {
        font-size: 12.5px;
    }

}

/* =========================================
   REGULATORY BLUEPRINT SECTION
========================================= */

.regulatory-blueprint-section {
    position: relative;
    padding: 80px 0;
    overflow: hidden;
}


/* =========================================
   CARD
========================================= */

.regulatory-blueprint-card {
    position: relative;

    height: 100%;

    overflow: hidden;

    background: var(--white);

    border: 1px solid #dcecf1;

    border-radius: 22px;

    box-shadow:
        0 12px 35px rgba(29, 43, 58, 0.06);

    transition:
        box-shadow .3s ease,
        border-color .3s ease;
}


/* =========================================
   TOP IMAGE AREA
========================================= */

.regulatory-card-image {
    position: relative;
    width: 100%;
    height: 230px;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    border-bottom: 1px solid #deedf1;
}


/* Image background pattern */

.regulatory-card-image::before {
    content: "";

    position: absolute;

    width: 210px;
    height: 210px;

    right: -75px;
    top: -100px;

    border: 1px solid rgba(47, 202, 174, .12);

    border-radius: 50%;

    box-shadow:
        0 0 0 25px rgba(47, 202, 174, .025),
        0 0 0 50px rgba(47, 202, 174, .018);
}

.regulatory-card-image::after {
    content: "";

    position: absolute;

    width: 120px;
    height: 120px;

    left: -55px;
    bottom: -65px;

    border: 1px solid rgba(0, 133, 210, .08);

    border-radius: 50%;
}


/* =========================================
   VECTOR IMAGE
========================================= */

.regulatory-card-image img {
    position: relative;

    z-index: 2;

    width: 100%;
    height: 200px;

    object-fit: contain;
}


/* =========================================
   CARD BODY
========================================= */

.regulatory-card-body {
    position: relative;

    padding: 28px 27px 30px;
}


/* =========================================
   CONTENT BLOCK
========================================= */

.regulatory-card-section {
    display: flex;

    align-items: flex-start;

    gap: 12px;

    padding-bottom: 20px;
    margin-bottom: 20px;

    border-bottom: 1px solid var(--medium-gray);
}

.regulatory-card-section:last-child {
    padding-bottom: 0;
    margin-bottom: 0;

    border-bottom: 0;
}




/* =========================================
   LABEL
========================================= */

.regulatory-card-label {
    display: block;
    margin-bottom: 6px;
    color: var(--secondary-color);
    font-family: var(--primary-font);
    font-size: 14px;
    font-weight: 700;
}


/* =========================================
   TITLE
========================================= */

.regulatory-card-section h3 {
    margin: 0;

    color: var(--dark-gray);

    font-family: var(--alt-font);

    font-size: 16px;
    font-weight: 750;

    line-height: 1.45;
}


/* =========================================
   DESCRIPTION
========================================= */

.regulatory-card-section p {
    margin: 0;

    color: var(--medium-gray);

    font-family: var(--primary-font);

    font-size: 14px;

    line-height: 1.7;
}


/* =========================================
   CARD ACCENT
========================================= */

.regulatory-blueprint-card::before {
    content: "";

    position: absolute;

    top: 0;
    left: 0;

    width: 100%;
    height: 3px;

    background: var(--base-color);

    z-index: 5;
}


/* =========================================
   DESKTOP HOVER
========================================= */

.regulatory-blueprint-card:hover {
    border-color: rgba(47, 202, 174, .25);

    box-shadow:
        0 20px 50px rgba(29, 43, 58, .10);
}


/* =========================================
   TABLET
========================================= */

@media (max-width: 991px) {

    .regulatory-blueprint-section {
        padding: 80px 0;
    }

    .regulatory-card-image {
        height: 175px;
    }

    .regulatory-card-image img {
        width: 135px;
        height: 135px;
    }

    .regulatory-card-body {
        padding: 25px 23px 27px;
    }

}


/* =========================================
   MOBILE
========================================= */

@media (max-width: 767px) {

    .regulatory-blueprint-section {
        padding: 65px 0;
    }

    .regulatory-card-image {
        height: 180px;
    }

    .regulatory-card-image img {
        width: 140px;
        height: 140px;
    }

    .regulatory-card-body {
        padding: 24px 22px 26px;
    }

    .regulatory-card-section {
        gap: 11px;

        padding-bottom: 17px;
        margin-bottom: 17px;
    }

    .regulatory-card-section h3 {
        font-size: 15px;
    }

    .regulatory-card-section p {
        font-size: 13px;
        line-height: 1.65;
    }

}


/* =========================================
   SMALL MOBILE
========================================= */

@media (max-width: 575px) {

    .regulatory-blueprint-section {
        padding: 55px 0;
    }

    .regulatory-blueprint-section .row {
        --bs-gutter-y: 20px;
    }

    .regulatory-card-image {
        height: 165px;
    }

    .regulatory-card-image img {
        width: 100%;
        height: 100%;
    }

    .regulatory-blueprint-card {
        border-radius: 18px;
    }

    .regulatory-card-body {
        padding: 22px 19px 24px;
    }

    .regulatory-card-label {
        font-size: 9px;
    }

    .regulatory-card-section h3 {
        font-size: 14px;
    }

    .regulatory-card-section p {
        font-size: 12.5px;
    }

}

/* =========================================
   LAST POINT — IBH FTZ VAS HIGHLIGHT
========================================= */

.regulatory-card-section:last-child {
    position: relative;

    margin-top: 4px;
    padding: 15px !important;

    overflow: hidden;

    background: #172938;

    border: 1px solid rgba(47, 202, 174, 0.20) !important;

    border-radius: 14px;

    box-shadow:
        0 10px 25px rgba(23, 41, 56, 0.10);
}


/* =========================================
   LAST POINT PATTERN
========================================= */

.regulatory-card-section:last-child::before {
    content: "";

    position: absolute;

    width: 150px;
    height: 150px;

    right: -75px;
    bottom: -85px;

    border: 1px solid rgba(47, 202, 174, 0.16);

    border-radius: 50%;

    box-shadow:
        0 0 0 20px rgba(47, 202, 174, 0.035),
        0 0 0 42px rgba(47, 202, 174, 0.018);

    pointer-events: none;
}


/* =========================================
   SMALL DECORATIVE LINE
========================================= */

.regulatory-card-section:last-child::after {
    content: "";

    position: absolute;

    top: 0;
    left: 0;

    width: 4px;
    height: 100%;

    background: var(--secondary-color);

    border-radius: 14px 0 0 14px;
}


/* =========================================
   LAST POINT LABEL
========================================= */

.regulatory-card-section:last-child
.regulatory-card-label {
    position: relative;

    z-index: 2;

    margin-bottom: 7px;

    color: var(--secondary-color);

    font-size: 12px;

    letter-spacing: .3px;
}


/* =========================================
   LAST POINT DESCRIPTION
========================================= */

.regulatory-card-section:last-child p {
    position: relative;

    z-index: 2;

    color: rgba(255, 255, 255, 0.82);

    font-size: 13.5px;

    line-height: 1.65;
}


/* =========================================
   LAST POINT HOVER
========================================= */

.regulatory-blueprint-card:hover
.regulatory-card-section:last-child {
    border-color: rgba(47, 202, 174, 0.38) !important;

    box-shadow:
        0 14px 30px rgba(23, 41, 56, 0.16);
}


/* =========================================
   MOBILE
========================================= */

@media (max-width: 767px) {

    .regulatory-card-section:last-child {
        padding: 16px 17px !important;

        border-radius: 12px;
    }

    .regulatory-card-section:last-child
    .regulatory-card-label {
        font-size: 11px;
    }

    .regulatory-card-section:last-child p {
        font-size: 13px;
    }
}


/* =========================================
   SMALL MOBILE
========================================= */

@media (max-width: 575px) {

    .regulatory-card-section:last-child {
        padding: 15px 16px !important;
    }

    .regulatory-card-section:last-child p {
        font-size: 12.5px;
    }
}

/* =========================================
   COMMON PITFALLS
========================================= */

.common-pitfalls-wrap {
    margin: 45px 0 50px;
}

.common-pitfalls-wrap > h3 {
    margin: 0 0 25px;

    color: var(--dark-gray);

    font-family: var(--alt-font);

    font-size: 24px;
    font-weight: 750;

    line-height: 1.3;
}


/* =========================================
   PITFALL ITEM
========================================= */

.pitfall-item {
    position: relative;

    min-height: 88px;

    display: flex;
    align-items: center;

    gap: 16px;

    padding: 16px 20px;

    background: var(--white);

    border: 1px solid rgba(29, 43, 58, 0.10);

    border-radius: 14px;

    overflow: hidden;

    transition:
        transform .35s ease,
        border-color .35s ease,
        box-shadow .35s ease;
}


/* =========================================
   ACCENT
========================================= */

.pitfall-item::before {
    content: "";

    position: absolute;

    left: 0;
    top: 0;

    width: 3px;
    height: 0;

    background: var(--base-color);

    transition: height .35s ease;
}


/* =========================================
   ICON
========================================= */

.pitfall-icon {
    width: 48px;
    height: 48px;

    flex: 0 0 48px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 12px;

    background: var(--light-blue);

    border: 1px solid rgba(0, 133, 210, 0.12);

    color: var(--base-color);

    font-size: 22px;

    transition:
        background .35s ease,
        color .35s ease,
        transform .35s ease;
}


/* =========================================
   TEXT
========================================= */

.pitfall-content {
    flex: 1;
    min-width: 0;
}

.pitfall-content span {
    display: block;

    color: var(--dark-gray);

    font-family: var(--primary-font);

    font-size: 14px;
    font-weight: 600;

    line-height: 1.5;
}


/* =========================================
   HOVER
========================================= */

.pitfall-item:hover {
    transform: translateY(-4px);

    border-color: rgba(0, 133, 210, 0.22);

    box-shadow:
        0 15px 35px rgba(29, 43, 58, 0.08);
}

.pitfall-item:hover::before {
    height: 100%;
}

.pitfall-item:hover .pitfall-icon {
    background: var(--base-color);

    color: var(--white);

    transform: scale(1.05);
}


/* =========================================
   TABLET
========================================= */

@media (max-width: 991px) {

    .common-pitfalls-wrap {
        margin: 40px 0 45px;
    }

    .common-pitfalls-wrap > h3 {
        font-size: 22px;
    }

    .pitfall-item {
        min-height: 84px;

        padding: 15px 17px;

        gap: 14px;
    }

    .pitfall-icon {
        width: 45px;
        height: 45px;

        flex-basis: 45px;

        font-size: 20px;
    }

    .pitfall-content span {
        font-size: 13px;
    }
}


/* =========================================
   MOBILE
========================================= */

@media (max-width: 767px) {

    .common-pitfalls-wrap {
        margin: 35px 0 40px;
    }

    .common-pitfalls-wrap > h3 {
        margin-bottom: 20px;

        font-size: 21px;
    }

    .pitfall-item {
        min-height: 80px;

        padding: 14px 15px;

        border-radius: 12px;
    }

    .pitfall-icon {
        width: 42px;
        height: 42px;

        flex-basis: 42px;

        border-radius: 10px;

        font-size: 19px;
    }

    .pitfall-content span {
        font-size: 12.5px;
    }
}


/* =========================================
   SMALL MOBILE
========================================= */

@media (max-width: 575px) {

    .common-pitfalls-wrap {
        margin: 30px 0 35px;
    }

    .common-pitfalls-wrap > h3 {
        font-size: 20px;
    }

    .pitfall-item {
        min-height: 75px;

        padding: 12px 13px;

        gap: 12px;
    }

    .pitfall-icon {
        width: 39px;
        height: 39px;

        flex-basis: 39px;

        font-size: 18px;
    }

    .pitfall-content span {
        font-size: 12px;
    }
}


/* =========================================
   VERY SMALL MOBILE
========================================= */

@media (max-width: 400px) {

    .pitfall-item {
        padding: 11px 12px;

        gap: 10px;
    }

    .pitfall-icon {
        width: 36px;
        height: 36px;

        flex-basis: 36px;

        font-size: 17px;
    }

    .pitfall-content span {
        font-size: 11.5px;
    }
}