@charset "UTF-8";
/*-----------------------------------------------------------------------------------

    Theme Name: Geekfolio
    Theme URI: http://
    Description: Creative Agency & Portfolio
    Author: UI-ThemeZ
    Author URI: http://themeforest.net/user/UI-ThemeZ
    Version: 1.0

-----------------------------------------------------------------------------------*/
/* Variables
-----------------------------------------------------------------*/
/* Typography
-----------------------------------------------------------------*/
* {
  margin: 0;
  padding: 0;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  outline: none;
  list-style: none;
}

body {
  color: #1d1d1d;
  background-color: #f1f3f5;
  font-size: 14px;
  font-family: "Poppins", sans-serif;
  font-family: "Sora", sans-serif;
  overflow-x: hidden !important;
}

body.noise-img {
  position: relative;
}

body.noise-img:before {
  content: "";
  background-image: url(../imgs/patterns/noise.png);
  background-size: 70px;
  background-repeat: repeat;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

body.home-digital .container,
body.home-arch .container,
body.home-corp .container {
  max-width: 1200px;
}

body.space-font,
body.home-digital {
  font-family: "Space Grotesk", sans-serif;
}

body.home-arch {
  font-family: "Space Grotesk", sans-serif;
}

body.home-arch main {
  position: relative;
}

body.home-arch main:after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  width: 70px;
  background: #f1f3f5;
  z-index: 5;
}

body.home-main-crev,
body.digital-marketing {
  font-family: "Epilogue", sans-serif;
}

main {
  position: relative;
  z-index: 5;
}
:root {
  /* Primary & Accent Colors */
  --color-primary: #023347; /* Main dark background/brand color */
  --color-primary-light: #e9f3f4;
  --color-accent: #2a8e9e; /* Main accent/interactive color */
  --color-accent-hover: #1f6f7e; /* Darker state for accent color */
  --color-orange: #ff9a2c;

  /* Text Colors */
  --color-text-light: #fff;
  --color-text-dark: #000;
  --color-text-secondary: #696868; /* General grey text */
  --color-text-heading: #1d1e20; /* Specific heading color */
  --color-text-element: #444; /* Specific color for tech tag text */
  --color-text-neutral-dark: #333; /* For tech categories list item text */

  /* Border Colors */
  --color-border-light: #eee;
  --color-border-lighter: #eaeaea;
  --color-border-dark: #333; /* For elements on dark backgrounds */

  /* Background Colors */
  --color-bg-light: #fff; /* General light background */
  --color-bg-element-light: #f9f9f9; /* Light background for elements like tech tags */
  --color-bg-hover-light: #f0f0f0; /* Hover state for light backgrounds */
  --color-bg-dark: #212930; /* General dark background (e.g., for sections) */

  /* Active State Colors (e.g., for active category) */
  --color-bg-active: #e6f7fa; /* Background for active items */
  --color-text-active: #2a8e9e; /* Text color for active items */
  --color-border-active: #2a8e9e; /* Border color for active items */

  /* Hover State Colors */
  --color-bg-element-hover: #e0ffff; /* Hover background for interactive elements like tech tags */

  /* Overlay & Shadow Colors */
  --color-overlay-dark: rgba(0, 0, 0, 0.75);
  --color-shadow-light: rgba(255, 255, 255, 0.1);
  --color-shadow-dark: rgba(0, 0, 0, 0.1);
}

/*======================
= Typography Utilities =
======================*/

/* Font Size Utility Classes with consistent line-height */
.fs-xxl {
  font-size: 4rem !important;
  line-height: 1.2 !important;
}
.fs-xl {
  font-size: 3.4rem !important;
  line-height: 1.2 !important;
}
.fs-lg {
  font-size: 3rem !important;
  line-height: 1.3 !important;
}
.fs-md {
  font-size: 2rem !important;
  line-height: 1.4 !important;
}
.fs-base {
  font-size: 1.25rem !important;
  line-height: 1.6 !important;
}
.fs-sm {
  font-size: 1rem !important;
  line-height: 1.5 !important;
}
.fs-xs {
  font-size: 0.875rem !important;
  line-height: 1.4 !important;
}
.fs-xxs {
  font-size: 0.85rem !important;
  line-height: 1.4 !important;
}
.fs-para {
  line-height: 1.7 !important;
  color: var(--color-text-secondary) !important;
  font-weight: 400 !important;
}

.hide-below-600 {
  display: block; /* by default show */
}

@media (max-width: 600px) {
  .hide-below-600 {
    display: none !important;
  }
}

/*======================
= Responsive Adjustments =
======================*/

/* Tablets (max-width: 992px) */
@media (max-width: 992px) {
  .fs-xxl {
    font-size: 3rem !important;
  }
  .fs-xl {
    font-size: 2.5rem !important;
  }
  .fs-lg {
    font-size: 2.1rem !important;
  }
  .fs-md {
    font-size: 1.6rem !important;
  }
  .fs-base {
    font-size: 1.1rem !important;
  }
  .fs-sm {
    font-size: 1rem !important;
  }
  .fs-xs {
    font-size: 0.85rem !important;
  }
  .fs-xxs {
    font-size: 0.7rem !important;
  }
}

/* Phones (max-width: 576px) */
@media (max-width: 576px) {
  .fs-xxl {
    font-size: 2rem !important;
  }
  .fs-xl {
    font-size: 1.6rem !important;
  }
  .fs-lg {
    font-size: 1.35rem !important;
  }
  .fs-md {
    font-size: 1.15rem !important;
  }
  .fs-base {
    font-size: 1rem !important;
  }
  .fs-sm {
    font-size: 0.9rem !important;
  }
  .fs-xs {
    font-size: 0.8rem !important;
  }
  .fs-xxs {
    font-size: 0.7rem !important;
  }
}

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

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

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

.ellipsis-1 {
  display: -webkit-box;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.ellipsis-2 {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.ellipsis-3 {
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.ellipsis-4 {
  display: -webkit-box;
  -webkit-line-clamp: 4;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.ellipsis-5 {
  display: -webkit-box;
  -webkit-line-clamp: 5;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.row.sm-marg {
  margin-left: -5px;
  margin-right: -5px;
}

.row.sm-marg > * {
  padding-left: 5px;
  padding-right: 5px;
}

.row.md-marg {
  margin-left: -25px;
  margin-right: -25px;
}

.row.md-marg > * {
  padding-left: 25px;
  padding-right: 25px;
}

.row.lg-marg {
  margin-left: -40px;
  margin-right: -40px;
}

.row.lg-marg > * {
  padding-left: 40px;
  padding-right: 40px;
}

.row.xlg-marg {
  margin-left: -50px;
  margin-right: -50px;
}

.row.xlg-marg > * {
  padding-left: 50px;
  padding-right: 50px;
}

.lines {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
}

.lines.two:after {
  content: "";
  position: absolute;
  top: 0;
  left: 30%;
  width: 40%;
  height: 100%;
  border-right: 1px solid rgba(255, 255, 255, 0.1);
  border-left: 1px solid rgba(255, 255, 255, 0.1);
}

.lines.four {
  left: 10%;
  width: 80%;
  border-right: 1px solid rgba(255, 255, 255, 0.05);
  border-left: 1px solid rgba(255, 255, 255, 0.05);
}

.lines.four:after {
  content: "";
  position: absolute;
  top: 0;
  left: 30%;
  width: 40%;
  height: 100%;
  border-right: 1px solid rgba(255, 255, 255, 0.05);
  border-left: 1px solid rgba(255, 255, 255, 0.05);
}

.lines.two-out {
  left: 60px;
  right: 60px;
  width: auto;
  border-right: 1px solid rgba(255, 255, 255, 0.05);
  border-left: 1px solid rgba(255, 255, 255, 0.05);
  z-index: 7;
}

a,
a:hover {
  color: inherit;
}

span {
  display: inline-block;
}

a {
  display: inline-block;
  text-decoration: none;
}

a:hover {
  text-decoration: none;
}

figure {
  margin: 0;
}

.row > * {
  padding-left: 15px;
  padding-right: 15px;
  margin-top: 0;
}

.btn:hover,
.btn:focus,
.btn:active {
  outline: none;
  -webkit-box-shadow: none;
  box-shadow: none;
}

.main-color {
  color: #abd404 !important;
}

.main-colorbg {
  background-color: #c9f31d;
}

.main-color2 {
  color: #2a8e9e !important;
}

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

.main-colorbg2 {
  background-color: #2a8e9e;
}

.main-color3 {
  color: #55e6a5 !important;
}

.main-colorbg3 {
  background-color: #55e6a5;
}

.main-color4 {
  color: #ffaa17 !important;
}

.main-colorbg4 {
  background-color: #ffaa17;
}

.main-bg {
  background-color: #f1f3f5;
}

.sub-bg {
  background-color: #fff;
}

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

.bg-gray1 {
  background: #eff2f5;
}

.text-dark {
  color: #1d1d1d;
}
.text-green {
  color: var(--color-accent);
}
.text-caption {
  color: #696868;
}

.text-indigo {
  color: #6366f1;
} /* Indigo 500 */
.text-emerald {
  color: #10b981;
} /* Emerald 500 */
.text-amber {
  color: #f59e0b;
} /* Amber 500 */
.text-sky {
  color: #0ea5e9;
} /* Sky 500 */
.text-rose {
  color: #f43f5e;
} /* Rose 500 */
.text-fuchsia {
  color: #d946ef;
} /* Fuchsia 500 */

.text-dark .swiper-controls.arrow-out .left,
.text-dark .swiper-controls.arrow-out .right {
  border-color: rgba(0, 0, 0, 0.2);
}

img {
  width: 100%;
  height: auto;
}
.client-logo {
  max-width: 100%;
  max-height: 70%;
  object-fit: contain;
}
@media (max-width: 576px) {
  .client-logo {
    max-width: 60px;
  }

  .client-slide {
    padding: 0.25rem;
  }
}

.to-out .swiper-container {
  overflow: visible;
  -webkit-clip-path: inset(-100vw -100vw -100vw 0);
  clip-path: inset(-100vw -100vw -100vw 0);
}

.bg-pattern {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
}

.bg-pattern.pattern-center {
  background-position: center center;
}

.bg-pattern.patrn1 {
  background-size: 60px;
  background-repeat: repeat;
}

.dots-pattern {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  background-size: auto !important;
  background-repeat: repeat !important;
}

.in-box {
  width: calc(100% - 120px);
  margin-left: 60px;
}

::-webkit-scrollbar {
  width: 10px;
}

::-webkit-scrollbar-track {
  background: rgba(0, 0, 0, 0.02);
}

::-webkit-scrollbar-thumb {
  background: #888;
  border-radius: 40px;
}

/* Buttons
-----------------------------------------------------------------*/
.butn {
  border: 1px solid transparent;
}

.butn.butn-md {
  padding: 8px 18px;
}

.butn.butn-full {
  width: 100%;
  padding: 15px 25px;
  text-align: center;
}

.butn.butn-bord {
  border-color: #1d1d1d;
  background: transparent;
  color: #1d1d1d;
  -webkit-transition: all 0.4s;
  -o-transition: all 0.4s;
  transition: all 0.4s;
}

.butn.butn-bord:hover {
  background: #1d1d1d;
  color: #fff;
}

.butn.butn-bord:hover span {
  color: #fff;
}

.butn.butn-bg {
  -webkit-transition: all 0.4s;
  -o-transition: all 0.4s;
  transition: all 0.4s;
}

.butn.butn-bg:hover {
  background: transparent !important;
  border-color: #1d1d1d;
  color: #1d1d1d !important;
}

.butn .rolling-text {
  margin-bottom: -5px;
}

.butn .icon {
  width: 20px;
}

.butn-circle {
  width: 160px;
  height: 160px;
  position: relative;
  overflow: hidden;
}

.butn-circle span {
  color: #000;
}

.butn-circle:hover span {
  color: #000;
}

.butn-circle:hover:after {
  -webkit-transform: scale(1);
  -ms-transform: scale(1);
  transform: scale(1);
}

.butn-circle:hover:before {
  opacity: 0;
}

.butn-circle:after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border-radius: 50%;
  background: var(--color-orange);
  -webkit-transform: scale(0);
  -ms-transform: scale(0);
  transform: scale(0);
  -webkit-transition: all 0.4s;
  -o-transition: all 0.4s;
  transition: all 0.4s;
}

.butn-circle:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border-radius: 50%;
  border: 1px solid rgba(0, 0, 0, 0.4);
  -webkit-transition: all 0.4s;
  -o-transition: all 0.4s;
  transition: all 0.4s;
}

.butn-circle.sml {
  width: 130px;
  height: 130px;
}

.butn-circle.sml span {
  text-transform: capitalize;
  letter-spacing: 0;
}

.butn-circle.colorbg-2:after {
  background: #2a8e9e;
}

.butn-circle.colorbg-3:after {
  background: #55e6a5;
}

.butn-circle span {
  text-transform: uppercase;
  letter-spacing: 1px;
  line-height: 2;
  position: relative;
  z-index: 2;
}

.butn-circle .circle-star {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  display: none;
}

.circle-button {
  position: relative;
  display: inline-block;
}

.circle-button.in-bord:after {
  content: "";
  position: absolute;
  top: 55px;
  left: 55px;
  right: 55px;
  bottom: 55px;
  border: 1px solid rgba(255, 255, 255, 0.5);
  border-radius: 50%;
}

.circle-button.in-bord:before {
  content: "";
  position: absolute;
  top: 15px;
  left: 15px;
  right: 15px;
  bottom: 15px;
  border: 1px solid rgba(255, 255, 255, 0.5);
  border-radius: 50%;
}

.circle-button .rotate-circle svg {
  width: 210px;
  fill: #1d1d1d;
}

.circle-button .arrow {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translateX(-20px) translateY(-20px);
  -ms-transform: translateX(-20px) translateY(-20px);
  transform: translateX(-20px) translateY(-20px);
  display: inline-block;
  width: 0;
  height: 0;
}

.circle-button .arrow svg {
  width: 40px;
  height: 40px;
}

.circle-button .icon {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translateX(-50%) translateY(-50%);
  -ms-transform: translateX(-50%) translateY(-50%);
  transform: translateX(-50%) translateY(-50%);
}

.circle-button .in-circle {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translateX(-50%) translateY(-50%);
  -ms-transform: translateX(-50%) translateY(-50%);
  transform: translateX(-50%) translateY(-50%);
}

.circle-button.no-animate .rotate-circle {
  -webkit-animation: none;
  animation: none;
}

.crv-butn-vid .vid {
  min-width: 120px;
  padding-left: 15px;
  padding-right: 40px;
  height: 50px;
  border: 1px solid #555;
  border-radius: 30px;
  position: relative;
}

.crv-butn-vid .vid .text {
  line-height: 50px;
}

.crv-butn-vid .vid .icon {
  position: absolute;
  top: 2px;
  right: 2px;
  width: 45px;
  height: 45px;
  border-radius: 50%;
  text-align: center;
  line-height: 48px;
}

.rotate-circle {
  -webkit-animation-name: rotateCircle;
  animation-name: rotateCircle;
  -webkit-animation-duration: 20s;
  animation-duration: 20s;
  -webkit-animation-iteration-count: infinite;
  animation-iteration-count: infinite;
  -webkit-animation-timing-function: linear;
  animation-timing-function: linear;
}

@-webkit-keyframes rotateCircle {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}

@keyframes rotateCircle {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}

/* Cursor
-----------------------------------------------------------------*/
.hover-this .hover-anim {
  pointer-events: none;
  -webkit-transition: -webkit-transform 0.2s linear;
  transition: -webkit-transform 0.2s linear;
  -o-transition: transform 0.2s linear;
  transition: transform 0.2s linear;
  transition: transform 0.2s linear, -webkit-transform 0.2s linear;
}

.cursor {
  pointer-events: none;
  position: fixed;
  padding: 0.3rem;
  background-color: #fff;
  border-radius: 50%;
  mix-blend-mode: difference;
  -webkit-transition: opacity 0.4s ease, -webkit-transform 0.3s ease;
  transition: opacity 0.4s ease, -webkit-transform 0.3s ease;
  -o-transition: transform 0.3s ease, opacity 0.4s ease;
  transition: transform 0.3s ease, opacity 0.4s ease;
  transition: transform 0.3s ease, opacity 0.4s ease, -webkit-transform 0.3s ease;
  z-index: 99999;
}

.cursor-active {
  -webkit-transform: translate(-50%, -50%) scale(8);
  -ms-transform: translate(-50%, -50%) scale(8);
  transform: translate(-50%, -50%) scale(8);
  opacity: 0.1;
}

.rolling-text {
  display: inline-block;
  overflow: hidden;
  line-height: 50px;
  height: 50px;
}

.active-nav {
  border-bottom: 2px solid #2a8e9e;
}

.rolling-text.butn {
  padding: 0 35px;
}

/* --- Case Studies Hero Section (Retained as provided) --- */
.case-hero {
  background: #2a8e9e;
  color: #fff;
  padding: 70px 16px 50px;
  text-align: center;
  height: 60vh;
  position: relative;
  background-size: 200px 200px;
}

/* --- Card Section --- */
.card-section {
  background: #fff;
  padding: 60px 20px; /* Consistent padding */
  position: relative;
  z-index: 10;
}

.card-grid {
  max-width: 1200px; /* Max width for the grid container */
  margin: auto;
  display: flex;
  flex-wrap: wrap; /* Allows cards to wrap to the next line */
  justify-content: center; /* Centers cards horizontally */
  gap: 32px; /* Space between cards */
  position: relative;
  z-index: 11;
  padding-bottom: 50px; /* Added space below grid before pagination */
}

.card {
  background: #fff;
  border-radius: 16px;
  width: 320px; /* Fixed width for individual cards */
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
  overflow: hidden; /* Ensures content respects border-radius */
  transition: all 0.2s ease;
  display: flex;
  flex-direction: column;
  /* --- Fixed Height for the entire card --- */
  height: 420px; /* Adjust this value as needed to fit your content perfectly */
}

.card:hover {
  box-shadow: 0 8px 32px rgba(240, 143, 116, 0.13);
  transform: translateY(-4px);
}

.card-bg {
  position: relative;
  /* flex: 1;  <--- Remove or set to a specific height if you want fixed image height */
  /* --- Fixed Height for the image/background area --- */
  height: 180px; /* This gives a consistent height for the background image */
  min-height: 160px; /* Redundant if height is set, but can act as a fallback */
  background-size: cover;
  background-position: center;
  border-radius: 16px 16px 0 0; /* Apply top border-radius to match card */
}

.card-overlay {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  background: linear-gradient(to top, rgba(255, 255, 255, 0.3), rgba(255, 255, 255, 0.1));
  border-radius: 16px 16px 0 0; /* Match parent's top border-radius */
}

.card-body {
  /* flex: 1; <--- This can remain to allow it to grow, but padding takes precedence */
  display: flex;
  flex-direction: column;
  justify-content: space-between; /* Pushes the tag to the bottom */
  flex-grow: 1; /* Allow the body to take up remaining vertical space */
}

.card h3 {
  font-size: 20px;
  font-weight: 600;
  margin: 0 0 10px;
  /* --- Fixed Height for Title with Line Clamping --- */
  height: 52px; /* Adjusted to typically fit 2 lines of 20px text (20px * 2 lines * 1.3 line-height ≈ 52px) */
  overflow: hidden;
  display: -webkit-box; /* Required for -webkit-line-clamp */
  -webkit-line-clamp: 2; /* Limit to 2 lines */
  -webkit-box-orient: vertical; /* Required for -webkit-line-clamp */
  text-overflow: ellipsis; /* Add ellipsis for truncated text */
  word-break: break-word; /* Prevents long words from overflowing */
}

.card p {
  font-size: 15px;
  color: #444;
  margin: 0 0 16px;
  overflow: hidden;
  display: -webkit-box; /* Required for -webkit-line-clamp */
  -webkit-line-clamp: 3; /* Limit to 3 lines */
  -webkit-box-orient: vertical; /* Required for -webkit-line-clamp */
  text-overflow: ellipsis; /* Add ellipsis for truncated text */
  word-break: break-word; /* Prevents long words from overflowing */
}

.card-tag {
  background: #e4dfdfff;
  color: black;
  border-radius: 12px;
  font-size: 13px;
  padding: 6px 14px;
  display: inline-block; /* Or block, if you want it on its own line */
  font-weight: 500;
  width: fit-content; /* Make the tag only as wide as its content */
  margin-top: auto; /* Pushes the tag to the bottom when card-body is flex-direction: column */
}

/* --- Pagination Styles --- */
.pagination {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: 20px;
  padding: 10px 0;
  gap: 10px; /* Space between pagination buttons */
}

.pagination button {
  margin: 0; /* Reset margin from previous rule */
  padding: 5px 10px;
  cursor: pointer;
  border: none;
  background: none;
  transition: all 0.3s ease; /* Smooth transition for hover/active states */
  border-radius: 8px; /* Slightly rounded corners for all buttons */
  min-width: 35px; /* Ensure button has minimum width */
  height: 35px; /* Ensure button has minimum height */
  display: flex;
  justify-content: center;
  align-items: center;
  font-weight: 500;
  color: #000; /* Default text color */
}

.pagination button:hover:not(:disabled) {
  background-color: #eee; /* Light background on hover */
  color: #333;
}

.pagination button:disabled {
  cursor: not-allowed;
  color: #ccc;
  background-color: transparent;
  opacity: 0.7; /* Slightly dim disabled buttons */
}

/* Specific style for active pagination button (numbers) */
.pagination button.active {
  background-color: #2a8e9e; /* Your primary color */
  color: #fff;
  border-color: #2a8e9e; /* Match border color */
  border-radius: 50%; /* Make it circular */
  padding: 0; /* Remove padding for perfect circle */
  width: 35px; /* Fixed width for circular button */
  height: 35px; /* Fixed height for circular button */
  font-weight: 700;
}

/* --- Responsive Adjustments --- */
@media (max-width: 900px) {
  /* Assuming hero-content is within .case-hero or similar */
  .hero-content h1 {
    font-size: 32px;
  }
  .hero-content p {
    font-size: 16px;
  }
  .card {
    width: 100%; /* Make cards full width on smaller screens */
    max-width: 340px; /* Limit max width even when full width */
  }
  .card-grid {
    padding: 0 16px; /* Add horizontal padding to the grid itself */
  }
  .card-section {
    padding: 40px 0; /* Reduce section padding on smaller screens */
  }
}

/* Optional: Additional breakpoint for very small screens if needed */
@media (max-width: 400px) {
  .card {
    width: 100%;
    max-width: unset; /* Remove max-width on very small screens to ensure it fills available space */
  }
}

.social-text .rolling-text {
  line-height: 30px;
  height: 30px;
}

.rolling-text:hover .letter,
.rolling-text.play .letter {
  -webkit-transform: translateY(-100%);
  -ms-transform: translateY(-100%);
  transform: translateY(-100%);
} /* --- Case Study Detail Page Specific Styles --- */

/* Ensure the main background is white - this is crucial for spaces between sections */
.main-bg {
  background-color: #f1f3f5;
}

.case-detail-hero {
  padding-top: 120px;
  padding-bottom: 80px;
  position: relative;
  overflow: hidden;
  background-color: #fff;
}

/* Left column adjustments */
.case-detail-hero .col-lg-7.d-flex.flex-column.justify-content-center {
  min-height: 480px;
}

.case-study-subtitle {
  text-transform: uppercase;
  letter-spacing: 1px;
}

.case-study-info-grid .item-info {
  margin-bottom: 20px;
}
.case-study-info-grid .info-label {
  font-size: 13px;
  color: #aaa;
  margin-bottom: 5px;
  display: block;
  text-transform: uppercase;
  font-weight: 500;
}

/* --- Right Image Column Styling (Hero) --- */
.case-study-image-col {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  min-height: 500px;
}
.case-study-main-image {
  max-width: 100%;
  height: auto;
  display: block;
  margin: 0 auto;
}

.case-study-main-image-container {
  max-width: 100%;
  overflow: hidden;
}

@media (max-width: 576px) {
  .case-study-main-image {
    width: 100% !important;
    height: auto !important;
  }
}

.circular-image-wrapper {
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 650px;
  height: 650px;
  overflow: hidden;
  z-index: 10;
}

.image-gradient-bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(
    270deg,
    rgba(240, 143, 116, 0.7) 0%,
    rgba(255, 204, 153, 0.5) 50%,
    rgba(255, 255, 255, 0) 100%
  );
  z-index: 1;
  border-radius: 200px 30px 30px 200px;
}

/* --- Client Overview Section Styles --- */

.overview-title {
  margin-bottom: 20px;
}

.overview-logo-wrapper {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 240px;
  height: 240px;
  position: relative;
}

.overview-logo-grey-border {
  width: 210px;
  height: 210px;
  border-radius: 50%;
  border: 1px solid #ccc;
  display: flex;
  align-items: center;
  justify-content: center;
}
.overview-logo-black-border {
  width: 225px;
  height: 225px;
  border-radius: 50%;
  border: 1px solid #1d1d1d;
  display: flex;
  align-items: center;
  justify-content: center;
}

.overview-logo-dot-border {
  width: 200px;
  height: 200px;
  border: 2px dashed #ff8c6b;
  border-radius: 50%;
  display: flex;
  overflow: hidden;
  justify-content: center;
  align-items: center;
  background-color: #fff;
}

.overview-logo {
  object-fit: contain !important;
  width: 60%;
  height: 60%;
}
@media (max-width: 576px) {
  .overview-logo-wrapper {
    width: 160px;
    height: 160px;
  }

  .overview-logo-black-border {
    width: 150px;
    height: 150px;
  }

  .overview-logo-grey-border {
    width: 140px;
    height: 140px;
  }

  .overview-logo-dot-border {
    width: 130px;
    height: 130px;
  }

  .overview-logo {
    width: 80%;
    height: 80%;
  }
}

.engagement-details {
  display: flex;
  align-items: baseline;
  gap: 10px;
  margin-bottom: 10px;
}

.engagement-value {
  background-color: #fffdfd;
  padding: 5px 15px;
  border-radius: 20px;
  border: 1px solid #797878;
}

.engagement-value-long {
  font-size: 17px;
  font-weight: 600;
  color: #333;
}
.overview-grid {
  display: flex;
  flex-wrap: nowrap;
  overflow-x: auto;
  gap: 20px;
  padding-bottom: 10px;
  scrollbar-width: thin;
}

.overview-grid .overview-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 190px;
  height: 190px;
  padding: 20px;
  border-radius: 50%;
  border: 1px solid #eee;
  background-color: #fff;
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.05);
  margin: 0 auto;
  text-align: center;
}
.label2-centered {
  text-align: center;
  color: #333;
}
.overview-grid .item-value {
  color: #ff8c6b;
  margin-bottom: 5px;
  line-height: 1;
}

.overview-grid .item-label {
  color: #555;
  font-weight: 500;
  line-height: 1.3;
  padding: 0 10px;
}

/* --- The Challenge Section Styles --- */
.challenge-section {
  position: relative;
  overflow: hidden;
}

.challenge-image-col {
  position: relative;
  display: flex;
  align-items: center;
  min-height: 400px;
  order: 1;
}

.challenge-image-container {
  margin-right: 50px;
  width: 400px;
  height: 400px;
  display: flex;
  justify-content: center;
  align-items: center;
}

.challenge-circular-image-wrapper {
  width: 380px;
  height: 380px;
  border-radius: 50%;
  overflow: hidden;
  z-index: 10;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
  position: relative;
  top: auto;
  left: auto;
  transform: none;
}

.challenge-main-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.challenge-title {
  margin-bottom: 20px;
}
.custom-bullet-list {
  padding-left: 0;
}

.custom-bullet-item {
  position: relative;
  padding-left: 1.5rem;
  font-size: 16px;
  margin-bottom: 0.75rem;
}

.custom-bullet-item::before {
  content: "•"; /* or any symbol like '✔', '➤', '🔹' */
  position: absolute;
  left: 0;
  color: #333;
  font-size: 1.2rem;
  line-height: 1;
}

.challenge-description {
  font-size: 17px;
  margin-bottom: 1rem;
  line-height: 1.6;
  color: #555;
}

/* --- Our Solution Section Styles --- */
.solution-section {
  position: relative;
  overflow: hidden;
}

.solution-title {
  margin-bottom: 20px;
}

.solution-item {
  background-color: #fff; /* Ensure solution items are white */
  padding: 30px;
  border-radius: 10px;
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.05);
  height: 100%; /* Make cards equal height if they are flex items */
}

.solution-item-title {
  margin-bottom: 15px;
}

.solution-item-description {
  list-style: none;
  padding-left: 0;
  margin-bottom: 0; /* Remove default margin from ul */
}

.solution-item-description li {
  position: relative;
  padding-left: 20px;
  margin-bottom: 10px;
}

.solution-item-description li::before {
  /* Corrected: Using ::before for the custom bullet */
  content: "";
  position: absolute;
  left: 0;
  top: 8px; /* Adjust vertical alignment */
  width: 8px;
  height: 8px;
  background-color: #ff6a00; /* Orange color from your screenshot */
  border-radius: 50%;
}

/* NEW: Technologies Applied Section */
.technologies-section {
  background-color: var(--color-primary);
}

.technologies-tags {
  display: flex;
  justify-content: center;
  gap: 10px; /* Space between tags */
  flex-wrap: wrap; /* Allow tags to wrap on smaller screens */
}

.tech-tag {
  padding: 12px 30px; /* Comfortable padding */
  border: 2px solid #797878; /* Changed from #fff to a darker grey border */
  border-radius: 50px; /* Pill shape */

  text-decoration: none; /* No underline if it were a link */
  transition: all 0.3s ease; /* Smooth hover effect */
  cursor: default; /* Indicate it's not clickable by default */
}

.tech-tag:hover {
  background-color: rgba(
    240,
    143,
    116,
    0.2
  ); /* Subtle hover effect using a transparent version of the middle gradient color */
  transform: translateY(-2px); /* Slight lift */
}
/* NEW: The Outcome Section */
.outcome-section {
  position: relative;
  overflow: hidden;
}

.outcome-image-wrapper {
  position: relative; /* Keep this to position image correctly within the wrapper */
  width: 650px;
  height: 450px;
  padding-bottom: 70%;
  border-radius: 10px;
  overflow: hidden;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
  margin: 0 auto;
}

.outcome-main-image {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 10px;
}

.outcome-content-box {
  background-color: #fff;
  padding: 40px;
  border-radius: 10px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
  height: 100%; /* Keep this if you want it to stretch within its column */
  display: flex;
  flex-direction: column;
  justify-content: center;

  /* --- ADDED/MODIFIED FOR OVERLAP --- */
  position: relative; /* Make it relatively positioned for z-index and margin-top to work */
  z-index: 2;
  margin-left: -125px; /* Optional: Pull it slightly left to overlap more of the image if desired */
  /* You might need to adjust width or max-width if it becomes too wide due to negative margins */
  width: calc(100% + 40px); /* Example to compensate for negative margin-left if needed */
}

@media (max-width: 991px) {
  .outcome-image-wrapper {
    display: none; /* Hide the content box on mobile */
  }
  .case-study-main-image-container {
    display: none; /* Hide the content box on mobile */
  }
  .outcome-content-box {
    /* On smaller screens, remove the desktop overlap properties */
    /* Removed: margin-top: 40px; to prevent pushing the content box down from the top of the section */
    margin-left: 0; /* Remove negative margin-left for mobile */
    width: 100%; /* Ensure it takes full width of its column */
    position: static; /* Revert positioning for mobile stacking */
    z-index: auto; /* Revert z-index for mobile stacking */
  }
}

.outcome-title {
  margin-bottom: 25px;
  text-align: left;
}

.outcome-points {
  list-style: none; /* Remove default list style */
  padding: 0;
  margin: 0;
}

.outcome-points li {
  font-size: 16px;
  color: #555;
  line-height: 1.6;
  margin-bottom: 15px; /* Space between points */
  position: relative;
  padding-left: 25px; /* Space for custom bullet */
  text-align: left;
}

.outcome-points li:last-child {
  margin-bottom: 0;
}

.outcome-points li::before {
  content: "\2022"; /* Unicode bullet character */
  color: #f89d35; /* Orange bullet color (adjust as desired) */
  font-weight: bold;
  display: inline-block;
  width: 1em;
  margin-left: -1em;
  position: absolute;
  left: 0;
  top: 0; /* Align bullet to the top of the line */
}

@media (max-width: 1199px) {
  .overview-grid .overview-item {
    width: 140px;
    height: 140px;
  }
}

@media (max-width: 991px) {
  .case-detail-hero .row {
    flex-direction: column;
  }
  .case-detail-hero .col-lg-7.d-flex.flex-column.justify-content-center {
    margin-bottom: 40px;
    text-align: center;
    align-items: center;
  }
  .case-study-subtitle,
  .case-study-title,
  .case-study-description {
    text-align: center;
  }
  .case-study-info-grid {
    justify-content: center;
    text-align: center;
  }
  .case-study-image-col {
    position: static;
    justify-content: center;
    align-items: center;
    height: 380px;
  }
  .circular-image-wrapper {
    width: 280px;
    height: 280px;
    position: static;
    transform: none;
  }
  .image-gradient-bg {
    transform: scale(1.1);
    position: static;
    width: 100%;
    height: 100%;
    border-radius: 150px 20px 20px 150px;
  }

  .client-overview-section .col-lg-5,
  .client-overview-section .col-lg-7 {
    text-align: center;
  }
  .overview-logo-wrapper {
    margin: 0 auto;
  }
  .overview-grid {
    justify-content: center;
  }
  .overview-item {
    margin-bottom: 20px;
  }
  .engagement-details {
    justify-content: center;
  }

  /* NEW: The Challenge Mobile Adjustments */
  .challenge-section .row {
    flex-direction: column-reverse; /* Stack columns, put image first for mobile */
  }
  .challenge-image-col {
    order: 1;
    position: static;
    justify-content: center;
    min-height: 350px;
    margin-bottom: 40px;
  }
  .challenge-image-container {
    position: static;
    transform: none;
    width: 320px;
    height: 320px;
    margin: 0 auto;
  }
  .challenge-circular-image-wrapper {
    position: static;
    transform: none;
    width: 280px;
    height: 280px;
  }
  .challenge-image-gradient-bg {
    display: none;
  }
  .challenge-title,
  .challenge-description {
    text-align: center;
  }
  .overview-grid .overview-item {
    width: 140px;
    height: 140px;
  }
  .col-lg-6.mb-30.mb-lg-0 {
    order: 2;
    text-align: center;
  }

  /* Solution Section Mobile Adjustments */
  .solution-item {
    margin-bottom: 20px; /* Add some spacing between items on smaller screens */
  }
  .case-study-info-grid .item-info {
    display: flex; /* Make it a flex container */
    align-items: baseline; /* Align items to their text baseline for better vertical alignment */
    gap: 10px; /* Add space between the label and the value */
    margin-bottom: 20px; /* Keep outer margin for separation between different info items */
  }
}

@media (max-width: 767px) {
  .case-study-image-col {
    height: 300px;
  }

  .circular-image-wrapper {
    width: 240px;
    height: 240px;
  }
  .image-gradient-bg {
    border-radius: 120px 15px 15px 120px;
  }

  /* Client Overview Smaller Mobile Adjustments */

  .overview-grid .overview-item {
    width: 100px;
    height: 100px;
  }

  .challenge-image-col {
    min-height: 300px;
  }
  .challenge-image-container {
    width: 280px;
    height: 280px;
  }
  .challenge-circular-image-wrapper {
    width: 170px;
    height: 170px;
    margin: 0 auto;
  }
  .challenge-image-gradient-bg {
    display: none;
  }
  .case-study-info-grid .info-label {
    font-size: 13px;
    color: #aaa;
    text-transform: uppercase;
    font-weight: 500;
    flex-shrink: 0; /* Prevent the label from shrinking if space is tight */
  }
}

@media (max-width: 375px) {
  .overview-grid .overview-item {
    width: 80px;
    height: 80px;
  }
}


.rolling-text .letter {
  display: inline-block;
  -webkit-transition: -webkit-transform 0.5s cubic-bezier(0.76, 0, 0.24, 1);
  transition: -webkit-transform 0.5s cubic-bezier(0.76, 0, 0.24, 1);
  -o-transition: transform 0.5s cubic-bezier(0.76, 0, 0.24, 1);
  transition: transform 0.5s cubic-bezier(0.76, 0, 0.24, 1);
  transition: transform 0.5s cubic-bezier(0.76, 0, 0.24, 1),
    -webkit-transform 0.5s cubic-bezier(0.76, 0, 0.24, 1);
}

.letter:nth-child(1) {
  -webkit-transition-delay: 0s;
  -o-transition-delay: 0s;
  transition-delay: 0s;
}

.letter:nth-child(2) {
  -webkit-transition-delay: 0.015s;
  -o-transition-delay: 0.015s;
  transition-delay: 0.015s;
}

.letter:nth-child(3) {
  -webkit-transition-delay: 0.03s;
  -o-transition-delay: 0.03s;
  transition-delay: 0.03s;
}

.letter:nth-child(4) {
  -webkit-transition-delay: 0.045s;
  -o-transition-delay: 0.045s;
  transition-delay: 0.045s;
}

.letter:nth-child(5) {
  -webkit-transition-delay: 0.06s;
  -o-transition-delay: 0.06s;
  transition-delay: 0.06s;
}

.letter:nth-child(6) {
  -webkit-transition-delay: 0.075s;
  -o-transition-delay: 0.075s;
  transition-delay: 0.075s;
}

.letter:nth-child(7) {
  -webkit-transition-delay: 0.09s;
  -o-transition-delay: 0.09s;
  transition-delay: 0.09s;
}

.letter:nth-child(8) {
  -webkit-transition-delay: 0.105s;
  -o-transition-delay: 0.105s;
  transition-delay: 0.105s;
}

.letter:nth-child(9) {
  -webkit-transition-delay: 0.12s;
  -o-transition-delay: 0.12s;
  transition-delay: 0.12s;
}

.letter:nth-child(10) {
  -webkit-transition-delay: 0.135s;
  -o-transition-delay: 0.135s;
  transition-delay: 0.135s;
}

.letter:nth-child(11) {
  -webkit-transition-delay: 0.15s;
  -o-transition-delay: 0.15s;
  transition-delay: 0.15s;
}

.letter:nth-child(12) {
  -webkit-transition-delay: 0.165s;
  -o-transition-delay: 0.165s;
  transition-delay: 0.165s;
}

.letter:nth-child(13) {
  -webkit-transition-delay: 0.18s;
  -o-transition-delay: 0.18s;
  transition-delay: 0.18s;
}

.letter:nth-child(14) {
  -webkit-transition-delay: 0.195s;
  -o-transition-delay: 0.195s;
  transition-delay: 0.195s;
}

.letter:nth-child(15) {
  -webkit-transition-delay: 0.21s;
  -o-transition-delay: 0.21s;
  transition-delay: 0.21s;
}

.letter:nth-child(16) {
  -webkit-transition-delay: 0.225s;
  -o-transition-delay: 0.225s;
  transition-delay: 0.225s;
}

.letter:nth-child(17) {
  -webkit-transition-delay: 0.24s;
  -o-transition-delay: 0.24s;
  transition-delay: 0.24s;
}

.letter:nth-child(18) {
  -webkit-transition-delay: 0.255s;
  -o-transition-delay: 0.255s;
  transition-delay: 0.255s;
}

.letter:nth-child(19) {
  -webkit-transition-delay: 0.27s;
  -o-transition-delay: 0.27s;
  transition-delay: 0.27s;
}

.letter:nth-child(20) {
  -webkit-transition-delay: 0.285s;
  -o-transition-delay: 0.285s;
  transition-delay: 0.285s;
}

.letter:nth-child(21) {
  -webkit-transition-delay: 0.3s;
  -o-transition-delay: 0.3s;
  transition-delay: 0.3s;
}

.progress-wrap {
  position: fixed;
  bottom: 30px;
  right: 30px;
  height: 44px;
  width: 44px;
  cursor: pointer;
  display: block;
  border-radius: 50px;
  z-index: 100;
  opacity: 0;
  visibility: hidden;
  -webkit-transform: translateY(20px);
  -ms-transform: translateY(20px);
  transform: translateY(20px);
  -webkit-transition: all 400ms linear;
  -o-transition: all 400ms linear;
  transition: all 400ms linear;
  mix-blend-mode: difference;
}

.progress-wrap.active-progress {
  opacity: 1;
  visibility: visible;
  -webkit-transform: translateY(0);
  -ms-transform: translateY(0);
  transform: translateY(0);
}

.progress-wrap::after {
  position: absolute;
  font-family: "Font Awesome 5 Free";
  content: "\f077";
  text-align: center;
  line-height: 44px;
  font-size: 13px;
  font-weight: 900;
  color: #ccc;
  left: 0;
  top: 0;
  height: 44px;
  width: 44px;
  cursor: pointer;
  display: block;
  z-index: 1;
  -webkit-transition: all 400ms linear;
  -o-transition: all 400ms linear;
  transition: all 400ms linear;
}

.progress-wrap svg path {
  fill: none;
}

.progress-wrap svg.progress-circle path {
  stroke: #ccc;
  stroke-width: 4;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-transition: all 400ms linear;
  -o-transition: all 400ms linear;
  transition: all 400ms linear;
}

/* Extra
-----------------------------------------------------------------*/
.d-rotate {
  -webkit-perspective: 1000px;
  perspective: 1000px;
}

.d-rotate .rotate-text {
  display: block;
  -webkit-transform-style: preserve-3d;
  transform-style: preserve-3d;
  -webkit-transition: all 0.8s;
  -o-transition: all 0.8s;
  transition: all 0.8s;
  -webkit-transform-origin: 50% 0%;
  -ms-transform-origin: 50% 0%;
  transform-origin: 50% 0%;
  -webkit-transform: translate3d(0px, 50px, -50px) rotateX(-45deg) scale(0.95);
  transform: translate3d(0px, 50px, -50px) rotateX(-45deg) scale(0.95);
  opacity: 0;
  -webkit-transition-delay: 0.3s;
  -o-transition-delay: 0.3s;
  transition-delay: 0.3s;
}

.d-rotate.animated .rotate-text {
  -webkit-transform: translate3d(0px, 0px, 0px) rotateX(0deg) scale(1);
  transform: translate3d(0px, 0px, 0px) rotateX(0deg) scale(1);
  opacity: 1;
}

.d-slideup .sideup-text {
  overflow: hidden;
  display: block;
}

.d-slideup .sideup-text:first-of-type .up-text {
  -webkit-transition-delay: 0.1s;
  -o-transition-delay: 0.1s;
  transition-delay: 0.1s;
}

.d-slideup .sideup-text:nth-of-type(2) .up-text {
  -webkit-transition-delay: 0.4s;
  -o-transition-delay: 0.4s;
  transition-delay: 0.4s;
}

.d-slideup .sideup-text:nth-of-type(3) .up-text {
  -webkit-transition-delay: 0.8s;
  -o-transition-delay: 0.8s;
  transition-delay: 0.8s;
}

.d-slideup .sideup-text:nth-of-type(4) .up-text {
  -webkit-transition-delay: 1.2s;
  -o-transition-delay: 1.2s;
  transition-delay: 1.2s;
}

.d-slideup .sideup-text:nth-of-type(5) .up-text {
  -webkit-transition-delay: 1.6s;
  -o-transition-delay: 1.6s;
  transition-delay: 1.6s;
}

.d-slideup .sideup-text .up-text {
  -webkit-transform: translateY(100%);
  -ms-transform: translateY(100%);
  transform: translateY(100%);
  -webkit-transition: all 0.8s;
  -o-transition: all 0.8s;
  transition: all 0.8s;
}

.d-slideup.animated .up-text {
  -webkit-transform: translateY(0);
  -ms-transform: translateY(0);
  transform: translateY(0);
}

.main-marq {
  position: relative;
  padding: 0;
}

.main-marq:after {
  position: absolute;
  top: -30px;
  bottom: -30px;
  left: -30px;
  right: -30px;
  pointer-events: none;
  background: -webkit-linear-gradient(
    right,
    #181818,
    rgba(255, 255, 255, 0) 220px,
    rgba(255, 255, 255, 0) calc(100% - 220px),
    #181818
  );
  background: -o-linear-gradient(
    right,
    #181818,
    rgba(255, 255, 255, 0) 220px,
    rgba(255, 255, 255, 0) calc(100% - 220px),
    #181818
  );
  background: linear-gradient(
    to left,
    #181818,
    rgba(255, 255, 255, 0) 220px,
    rgba(255, 255, 255, 0) calc(100% - 220px),
    #181818
  );
}

.main-marq.lrg .box .item h4 {
  font-size: 6vw;
  font-weight: 700;
}

.main-marq.xlrg .box .item {
  padding: 0 30px;
}

.main-marq.xlrg .box .item h4 {
  font-size: 10vw;
  font-weight: 800;
}

.main-marq .slide-har {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.main-marq .strok .item h4 {
  color: transparent !important;
  -webkit-text-stroke: 0.5px #1d1d1d;
}

.main-marq .strok .item h4 a {
  color: transparent !important;
  -webkit-text-stroke: 0.5px #1d1d1d;
}

.main-marq .non-strok .item h4 {
  color: #1d1d1d !important;
  -webkit-text-stroke: 0 !important;
}

.main-marq .non-strok .item h4 a {
  color: #1d1d1d !important;
  -webkit-text-stroke: 0 !important;
}

.main-marq .box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.main-marq .box .item {
  padding: 0 30px;
}

.main-marq .box .item h4 {
  white-space: nowrap;
  line-height: 1;
  margin: 0;
}

.main-marq .box .item h4 .icon {
  font-family: "Sora", sans-serif;
  margin-bottom: -15px;
}

.main-marq .box .item h2 {
  line-height: 1;
  margin: 0;
}

.main-marq .box .item:nth-of-type(even) h4 {
  color: transparent;
  -webkit-text-stroke: 0.5px #1d1d1d;
}

.main-marq .box .item:nth-of-type(even) h4 a {
  color: transparent;
  -webkit-text-stroke: 0.5px #1d1d1d;
}

.main-marq .box:last-of-type .item:nth-of-type(even) h4 {
  color: #1d1d1d;
  -webkit-text-stroke: 0;
}

.main-marq .box:last-of-type .item:nth-of-type(even) h4 a {
  color: #1d1d1d;
  -webkit-text-stroke: 0;
}

.main-marq .box:last-of-type .item:nth-of-type(odd) h4 {
  color: transparent;
  -webkit-text-stroke: 1px #1d1d1d;
}

.main-marq .box:last-of-type .item:nth-of-type(odd) h4 a {
  color: transparent;
  -webkit-text-stroke: 1px #1d1d1d;
}

.dark-text {
  color: #000 !important;
}

.dark-text .box .item h4,
.dark-text .box:last-of-type .item:nth-of-type(even) h4 {
  color: #000 !important;
}

.dark-text .strok .box .item h4,
.dark-text .box .item:nth-of-type(even) h4,
.dark-text .box:last-of-type .item:nth-of-type(odd) h4 {
  -webkit-text-stroke: 1px #000;
}

.light-text {
  color: #fff;
}

.light-text .box .item h4,
.light-text .box:last-of-type .item:nth-of-type(even) h4 {
  color: #fff;
}

.light-text .box .item:nth-of-type(even) h4,
.light-text .box:last-of-type .item:nth-of-type(odd) h4 {
  -webkit-text-stroke: 1px #fff;
}

.slide-har {
  position: relative;
}

.slide-har.st1 .box {
  position: relative;
  -webkit-animation: slide-har 80s linear infinite;
  animation: slide-har 80s linear infinite;
}

.slide-har.st2 .box {
  position: relative;
  -webkit-animation: slide-har-revers 80s linear infinite;
  animation: slide-har-revers 80s linear infinite;
}

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

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

@-webkit-keyframes slide-har-revers {
  100% {
    -webkit-transform: translateX(0%);
    transform: translateX(0%);
  }
  0% {
    -webkit-transform: translateX(-100%);
    transform: translateX(-100%);
  }
}

@keyframes slide-har-revers {
  100% {
    -webkit-transform: translateX(0%);
    transform: translateX(0%);
  }
  0% {
    -webkit-transform: translateX(-100%);
    transform: translateX(-100%);
  }
}

.main-marqv {
  position: relative;
  padding: 0;
}

.main-marqv:after {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  background: -webkit-linear-gradient(
    bottom,
    #fff,
    rgba(255, 255, 255, 0) 80px,
    rgba(255, 255, 255, 0) calc(100% - 80px),
    #fff
  );
  background: -o-linear-gradient(
    bottom,
    #fff,
    rgba(255, 255, 255, 0) 80px,
    rgba(255, 255, 255, 0) calc(100% - 80px),
    #fff
  );
  background: linear-gradient(
    to top,
    #fff,
    rgba(255, 255, 255, 0) 80px,
    rgba(255, 255, 255, 0) calc(100% - 80px),
    #fff
  );
  pointer-events: none;
}

.main-marqv .slide-vertical {
  overflow: hidden;
  height: 600px;
  margin: 0 auto;
  position: relative;
}

.main-marqv .slide-vertical:hover .box {
  -webkit-animation-play-state: paused !important;
  animation-play-state: paused !important;
}

.main-marqv .slide-vertical .box {
  position: relative;
  -webkit-animation: slide-vertical 50s linear infinite;
  animation: slide-vertical 50s linear infinite;
}

@-webkit-keyframes slide-vertical {
  0% {
    -webkit-transform: translateY(0%);
    transform: translateY(0%);
  }
  100% {
    -webkit-transform: translateY(-100%);
    transform: translateY(-100%);
  }
}

@keyframes slide-vertical {
  0% {
    -webkit-transform: translateY(0%);
    transform: translateY(0%);
  }
  100% {
    -webkit-transform: translateY(-100%);
    transform: translateY(-100%);
  }
}

.imago {
  -webkit-clip-path: polygon(0 0, 0% 0, 0% 100%, 0 100%);
  clip-path: polygon(0 0, 0% 0, 0% 100%, 0 100%);
  -webkit-transform: scale(1.2);
  -ms-transform: scale(1.2);
  transform: scale(1.2);
  -webkit-filter: blur(5px);
  filter: blur(5px);
  -webkit-transition: -webkit-clip-path 0.8s ease-in-out 0.3s,
    -webkit-transform 0.8s ease-in-out 1.1s, -webkit-filter 0.8s ease-in-out 1.1s;
  transition: -webkit-clip-path 0.8s ease-in-out 0.3s,
    -webkit-transform 0.8s ease-in-out 1.1s, -webkit-filter 0.8s ease-in-out 1.1s;
  -o-transition: clip-path 0.8s ease-in-out 0.3s, transform 0.8s ease-in-out 1.1s,
    filter 0.8s ease-in-out 1.1s;
  transition: clip-path 0.8s ease-in-out 0.3s, transform 0.8s ease-in-out 1.1s,
    filter 0.8s ease-in-out 1.1s;
  transition: clip-path 0.8s ease-in-out 0.3s, transform 0.8s ease-in-out 1.1s,
    filter 0.8s ease-in-out 1.1s, -webkit-clip-path 0.8s ease-in-out 0.3s,
    -webkit-transform 0.8s ease-in-out 1.1s, -webkit-filter 0.8s ease-in-out 1.1s;
  position: relative;
}

.imago.animated {
  -webkit-clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
  clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
  -webkit-transform: scale(1);
  -ms-transform: scale(1);
  transform: scale(1);
  -webkit-filter: blur(0px);
  filter: blur(0px);
}

.imago.simpl {
  -webkit-transform: scale(1);
  -ms-transform: scale(1);
  transform: scale(1);
  -webkit-filter: blur(0px);
  filter: blur(0px);
}

/* ====================== [ Start Helper Classes  ] ====================== */
.cursor-pointer {
  cursor: pointer;
}

.nowrap {
  white-space: nowrap;
}

.stroke {
  color: transparent;
  -webkit-text-stroke: 1px #1d1d1d;
}

.dark-text .stroke,
.text-dark .stroke {
  color: transparent;
  -webkit-text-stroke: 1px #1d1d1d;
}

.o-hidden {
  overflow: hidden;
}

.position-re {
  position: relative;
}

.position-abs {
  position: absolute;
}

.revers-x {
  -webkit-transform: rotateX(180deg);
  transform: rotateX(180deg);
}

.revers-y {
  -webkit-transform: rotateY(180deg);
  transform: rotateY(180deg);
}

.full-over {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
}

.ontop {
  position: relative;
  z-index: 7;
}

.rest {
  padding: 0 !important;
  margin: 0 !important;
}

.hide {
  display: none;
}

img.out-box {
  width: 140%;
}

img.left {
  margin-left: -40%;
}

.no-bord {
  border: 0 !important;
}

.bord-thin-top {
  border-top: 1px solid rgba(0, 0, 0, 0.1);
}

.bord-thin-top.bord-dark {
  border-color: rgba(0, 0, 0, 0.1);
}

.bord-thin-bottom {
  border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}

.bord-thin-bottom.bord-dark {
  border-color: rgba(0, 0, 0, 0.1);
}

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

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

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

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

.radius-25 {
  border-radius: 25px;
}

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

.radius-50 {
  border-radius: 50px;
}

.full-width {
  width: 100% !important;
}

.bg-img {
  background-size: cover;
  background-repeat: no-repeat;
}

.bg-center {
  background-position: center center;
}

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

.bg-repeat {
  background-size: auto;
  background-repeat: repeat;
}

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

.header-section-padding {
  padding: 50px 0;
}

.header-vh {
  min-height: 40vh;
  display: flex;
  align-items: center;
  color: #fff;
}

.header-vh::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  background-color: rgba(0, 0, 0, 0.5);
  z-index: -1;
}

.service-header-section-padding {
  padding: 50px 0;
  min-height: 40vh;
  background-color: #000;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  display: flex;
  align-items: center;
  color: #fff;
}
.service-header-section-padding::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(
    45deg,
    rgba(255, 0, 128, 0.4),
    rgba(0, 204, 255, 0.4),
    rgba(255, 196, 0, 0.4)
  );
  z-index: 1;
}

.service-header-section-padding .container {
  position: relative;
  z-index: 2;
}

.section-padding {
  padding: 50px 0;
}

.section-ptb {
  padding: 30px 0;
}

.cmd-padding {
  padding: 0 10px;
}

.csm-padding {
  padding: 0 5px;
}

.head-pt {
  padding: 50px 0 0;
}

.head-pb {
  padding: 0 0 50px;
}

.no-shad {
  -webkit-box-shadow: none;
  box-shadow: none;
}

.rounded {
  border-radius: 5px;
}

.circle {
  border-radius: 50%;
}

.circle-img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: center;
  object-position: center;
}

.circle-30 {
  width: 30px;
  height: 30px;
  border-radius: 50%;
  overflow: hidden;
}

.circle-40 {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  overflow: hidden;
}

.circle-50 {
  width: 50px;
  height: 50px;
  border-radius: 50%;
  overflow: hidden;
}

.circle-60 {
  width: 60px;
  height: 60px;
  border-radius: 50%;
  overflow: hidden;
}

.circle-70 {
  width: 70px;
  height: 70px;
  border-radius: 50%;
  overflow: hidden;
}

.circle-80 {
  width: 80px;
  height: 80px;
  border-radius: 50%;
  overflow: hidden;
}
.circle-81 {
  width: 100px;
  height: 80px;

  overflow: hidden;
}
.circle-90 {
  width: 90px;
  height: 90px;
  border-radius: 50%;
  overflow: hidden;
}

.circle-100 {
  width: 100px;
  height: 100px;
  border-radius: 50%;
  overflow: hidden;
}

.circle-120 {
  width: 120px;
  height: 120px;
  border-radius: 50%;
  overflow: hidden;
}

.height-100 {
  height: 100%;
}

.unlist {
  list-style: none;
}

.underline a {
  text-decoration: underline !important;
}

.underline span {
  text-decoration: underline;
}

.undecro:hover {
  text-decoration: none;
}

.inline {
  display: inline-block;
}

.valign {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.horizontal-link li {
  display: inline-block;
}

.rest {
  margin: 0;
  padding: 0;
}

.social.circle-bord a {
  width: 40px;
  height: 40px;
  line-height: 40px;
  text-align: center;
  border: 1px solid #eee;
  border-radius: 50%;
}

.primery-shadow {
  -webkit-box-shadow: 0px 8px 30px -4px rgba(0, 0, 0, 0.1);
  box-shadow: 0px 8px 30px -4px rgba(0, 0, 0, 0.1);
}

/*-------------------------------------------------------
           icon Size
-------------------------------------------------------*/
.icon-img-20 {
  width: 20px;
}

.icon-img-30 {
  width: 30px;
}

.icon-img-40 {
  width: 40px;
}

.icon-img-50 {
  width: 50px;
}

.icon-img-60 {
  width: 60px;
}

.icon-img-70 {
  width: 70px;
}

.icon-img-80 {
  width: 80px;
}

.icon-img-90 {
  width: 90px;
}

.img.icon-img-100 {
  width: 100px; /* or whatever fixed width you want */
  height: 100px; /* fixed height */
  display: flex;
  justify-content: center;
  align-items: center;
  overflow: hidden;
}

.img.icon-img-slider {
  width: 100px; /* or whatever fixed width you want */
  height: 100px; /* fixed height */
  display: flex;
  justify-content: center;
  align-items: center;
  overflow: hidden;
}

.icon-img-120 {
  width: 120px;
}

.icon-img-lgsm {
  width: 100px;
}

/*-------------------------------------------------------
           Z-index
-------------------------------------------------------*/
.zindex-1 {
  z-index: 1;
}

.zindex-2 {
  z-index: 2;
}

.zindex-3 {
  z-index: 3;
}

.zindex-4 {
  z-index: 4;
}

.zindex-5 {
  z-index: 5;
}

.zindex-10 {
  z-index: 10;
}

.zindex-99 {
  z-index: 99;
}

/*-------------------------------------------------------
           opacity
-------------------------------------------------------*/
.opacity-05 {
  opacity: 0.05 !important;
}

.opacity-0 {
  opacity: 0 !important;
}

.opacity-1 {
  opacity: 0.1 !important;
}

.opacity-2 {
  opacity: 0.2 !important;
}

.opacity-3 {
  opacity: 0.3 !important;
}

.opacity-4 {
  opacity: 0.4 !important;
}

.opacity-5 {
  opacity: 0.5 !important;
}

.opacity-6 {
  opacity: 0.6 !important;
}

.opacity-7 {
  opacity: 0.7 !important;
}

.opacity-8 {
  opacity: 0.8 !important;
}

.opacity-9 {
  opacity: 0.9 !important;
}

/*-------------------------------------------------------
           text color
-------------------------------------------------------*/
.text-white {
  color: #fff !important;
}

.text-black {
  color: #000;
}

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

.text-dark {
  color: #444;
}

.text-extra-light-gray {
  color: #b7b7b7;
}

.text-hover-inherit:hover {
  color: inherit !important;
}

.text-hover-light:hover {
  color: #fff !important;
}

/*-------------------------------------------------------
          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;
}

/*-------------------------------------------------------
           font-size
-------------------------------------------------------*/
.fz-10 {
  font-size: 10px !important;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

/*-------------------------------------------------------
          line-height
-------------------------------------------------------*/
.line-height-1 {
  line-height: 1;
}

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

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

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

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

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

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

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

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

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

.line-height-35 {
  line-height: 35px;
}

.line-height-40 {
  line-height: 40px;
}

.line-height-45 {
  line-height: 45px;
}

.line-height-50 {
  line-height: 50px;
}

.line-height-55 {
  line-height: 55px;
}

.line-height-60 {
  line-height: 60px;
}

.line-height-65 {
  line-height: 65px;
}

.line-height-70 {
  line-height: 70px;
}

.line-height-75 {
  line-height: 75px;
}

.line-height-80 {
  line-height: 80px;
}

.line-height-85 {
  line-height: 85px;
}

.line-height-90 {
  line-height: 90px;
}

.line-height-95 {
  line-height: 95px;
}

.line-height-100 {
  line-height: 100px;
}

.line-height-110 {
  line-height: 110px;
}

.line-height-120 {
  line-height: 120px;
}

/*-------------------------------------------------------
          text-transform
-------------------------------------------------------*/
.text-u {
  text-transform: uppercase !important;
}

.text-l {
  text-transform: lowercase !important;
}

.text-c {
  text-transform: capitalize !important;
}

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

.text-i {
  font-style: italic;
}

.text-left {
  text-align: left;
}

.text-right {
  text-align: right;
}

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

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

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

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

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

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

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

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

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

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

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

.ls15 {
  letter-spacing: 15px !important;
}

.ls20 {
  letter-spacing: 20px !important;
}

.ls25 {
  letter-spacing: 25px !important;
}

.ls30 {
  letter-spacing: 30px !important;
}

/*-------------------------------------------------------
       margin-top  (0/100) +5
-------------------------------------------------------*/
.mt-0 {
  margin-top: 0 !important;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

/*-------------------------------------------------------
       margin-bottom  (0/100) +5
-------------------------------------------------------*/
.mb-0 {
  margin-bottom: 0 !important;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

/*-------------------------------------------------------
       margin-right  (0/100) +5
-------------------------------------------------------*/
.mr-0 {
  margin-right: 0 !important;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

/*-------------------------------------------------------
       margin-left  (0/100) +5
-------------------------------------------------------*/
.m-auto {
  margin: auto;
}

.ml-auto {
  margin-left: auto;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.m-auto {
  margin-left: auto;
  margin-right: auto;
}

.min-30 {
  margin-left: -30px;
  margin-right: -30px;
}

/*-------------------------------------------------------
      margin left right  (0/50) +5
-------------------------------------------------------*/
.margin-rl-5 {
  margin-right: 5px;
  margin-left: 5px;
}

.margin-rl-10 {
  margin-right: 10px;
  margin-left: 10px;
}

.margin-rl-15 {
  margin-right: 15px;
  margin-left: 15px;
}

.margin-rl-20 {
  margin-right: 20px;
  margin-left: 20px;
}

.margin-rl-25 {
  margin-right: 25px;
  margin-left: 25px;
}

.margin-rl-30 {
  margin-right: 30px;
  margin-left: 30px;
}

.margin-rl-35 {
  margin-right: 35px;
  margin-left: 35px;
}

.margin-rl-40 {
  margin-right: 40px;
  margin-left: 40px;
}

.margin-rl-45 {
  margin-right: 45px;
  margin-left: 45px;
}

.margin-rl-50 {
  margin-right: 50px;
  margin-left: 50px;
}

/*-------------------------------------------------------
      padding-top  (0/100) +5
-------------------------------------------------------*/
.pt-0 {
  padding-top: 0 !important;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

/*-------------------------------------------------------
     padding-bottom  (0/100) +5
-------------------------------------------------------*/
.pb-0 {
  padding-bottom: 0 !important;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.no-padding {
  padding: 0 !important;
}

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

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

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

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

/*-------------------------------------------------------
      padding left right  (0/50) +5
-------------------------------------------------------*/
.padding-rl-5 {
  padding-right: 5px;
  padding-left: 5px;
}

.padding-rl-10 {
  padding-right: 10px;
  padding-left: 10px;
}

.padding-rl-15 {
  padding-right: 15px;
  padding-left: 15px;
}

.padding-rl-20 {
  padding-right: 20px;
  padding-left: 20px;
}

.padding-rl-25 {
  padding-right: 25px;
  padding-left: 25px;
}

.padding-rl-30 {
  padding-right: 30px;
  padding-left: 30px;
}

.padding-rl-35 {
  padding-right: 35px;
  padding-left: 35px;
}

.padding-rl-40 {
  padding-right: 40px;
  padding-left: 40px;
}

.padding-rl-45 {
  padding-right: 45px;
  padding-left: 45px;
}

.padding-rl-50 {
  padding-right: 50px;
  padding-left: 50px;
}

/* ====================== [ End Helper Classes  ] ====================== */
/* Preloader
-----------------------------------------------------------------*/
body.loaded {
  overflow: hidden !important;
  height: 100% !important;
}

.loader-wrap {
  position: fixed;
  z-index: 10;
  height: 100vh;
  width: 100%;
  left: 0;
  top: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  overflow: hidden;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  background: transparent;
  z-index: 99999999999999;
}

.loader-wrap svg {
  position: absolute;
  top: 0;
  width: 100vw;
  height: 110vh;
  fill: #fff;
}

.loader-wrap .loader-wrap-heading .load-text {
  font-size: 20px;
  font-weight: 200;
  letter-spacing: 15px;
  text-transform: uppercase;
  z-index: 20;
}

.load-text span {
  -webkit-animation: loading 1s infinite alternate;
  animation: loading 1s infinite alternate;
}

.load-text span:nth-child(1) {
  -webkit-animation-delay: 0s;
  animation-delay: 0s;
}

.load-text span:nth-child(2) {
  -webkit-animation-delay: 0.1s;
  animation-delay: 0.1s;
}

.load-text span:nth-child(3) {
  -webkit-animation-delay: 0.2s;
  animation-delay: 0.2s;
}

.load-text span:nth-child(4) {
  -webkit-animation-delay: 0.3s;
  animation-delay: 0.3s;
}

.load-text span:nth-child(5) {
  -webkit-animation-delay: 0.4s;
  animation-delay: 0.4s;
}

.load-text span:nth-child(6) {
  -webkit-animation-delay: 0.5s;
  animation-delay: 0.5s;
}

.load-text span:nth-child(7) {
  -webkit-animation-delay: 0.6s;
  animation-delay: 0.6s;
}

@-webkit-keyframes loading {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}

@keyframes loading {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}

/* ====================== [ Start Overlay ] ====================== */
[data-overlay-dark],
[data-overlay-light] {
  position: relative;
}

[data-overlay-dark] .container,
[data-overlay-dark] .container-xxl,
[data-overlay-light] .container-xxl,
[data-overlay-light] .container {
  position: relative;
  z-index: 2;
}

[data-overlay-dark]:before,
[data-overlay-light]:before {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: 1;
  pointer-events: none;
}

[data-overlay-dark]:before {
  background: #1a1a1a;
}

[data-overlay-light]:before {
  background: #fff;
}

[data-overlay-dark],
[data-overlay-dark] h1,
[data-overlay-dark] h2,
[data-overlay-dark] h3,
[data-overlay-dark] h4,
[data-overlay-dark] h5,
[data-overlay-dark] h6,
[data-overlay-dark] span,
.bg-dark h1,
.bg-dark h2,
.bg-dark h3,
.bg-dark h4,
.bg-dark h5,
.bg-dark h6,
.bg-dark span,
.bg-color h1,
.bg-color h2,
.bg-color h3,
.bg-color h4,
.bg-color h5,
.bg-color h6,
.bg-color span {
  color: #fff;
}

[data-overlay-dark] p {
  color: #eee;
}

[data-overlay-dark="0"]:before,
[data-overlay-light="0"]:before {
  opacity: 0;
}

[data-overlay-dark="1"]:before,
[data-overlay-light="1"]:before {
  opacity: 0.1;
}

[data-overlay-dark="2"]:before,
[data-overlay-light="2"]:before {
  opacity: 0.2;
}

[data-overlay-dark="3"]:before,
[data-overlay-light="3"]:before {
  opacity: 0.3;
}

[data-overlay-dark="4"]:before,
[data-overlay-light="4"]:before {
  opacity: 0.4;
}

[data-overlay-dark="5"]:before,
[data-overlay-light="5"]:before {
  opacity: 0.5;
}

[data-overlay-dark="6"]:before,
[data-overlay-light="6"]:before {
  opacity: 0.6;
}

[data-overlay-dark="7"]:before,
[data-overlay-light="7"]:before {
  opacity: 0.7;
}

[data-overlay-dark="8"]:before,
[data-overlay-light="8"]:before {
  opacity: 0.8;
}

[data-overlay-dark="9"]:before,
[data-overlay-light="9"]:before,
[data-overlay-color="9"]:before {
  opacity: 0.9;
}

[data-overlay-dark="10"]:before,
[data-overlay-light="10"]:before {
  opacity: 1;
}
/*------------------------Start Navbar------------------------*/
.hero-section-wrapper {
  position: relative; /* Essential for absolute positioning of the background */
  width: 100%;
  height: 50vh; /* Example: make it full viewport height */
  overflow: hidden; /* Hide any overflow from particles */
  display: flex; /* Or whatever layout you need for content */
  flex-direction: column;
  /* Add other styling for your hero section content alignment */
}

@media screen and (max-width: 576px) {
  .hero-section-wrapper {
    height: 50vh;
  }
}
.hero-background-container {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1; /* Ensure background is behind content */
}

/* Ensure your Navbar2 and Header2 content is positioned above the background */
/* You'll need to know the actual class names rendered by Navbar2 and Header2 */
.navbar-container, /* Example class */
.header-content {
  /* Example class */
  position: relative;
  z-index: 10; /* Higher z-index than the background */
}
.hero-background-container .hero-background-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.hero-background-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.8);
  z-index: 1;
}
.det-text:hover {
  color: var(--color-accent);
}

/* Main Navbar Styling */
.navbar {
  position: absolute; /* Positioned relative to .hero-section-wrapper */
  left: 0;
  top: 0;
  width: 100%;
  background: transparent; /* Remains transparent initially */
  z-index: 1001; /* High z-index to be on top of everything */
  transition: background 0.5s ease;
}

/* Styles for when the navbar is scrolled */
.navbar.nav-scroll {
  background: var(--color-primary-transparent); /* Semi-transparent dark background */
  border-color: rgba(0, 0, 0, 0.05); /* Subtle border when scrolled */
  position: fixed; /* Makes it stick to the top when scrolled */
  top: 0; /* Ensures it's at the very top when fixed */
  /* If you have a slide-down animation, keep transform */
  -webkit-transform: translateY(0);
  -ms-transform: translateY(0);
  transform: translateY(0);
}

/* Text color for navbar links in the initial transparent state (over dark image) */
.navbar .navbar-nav .nav-link {
  color: #fff !important;
  text-transform: uppercase;
  letter-spacing: 1px;
  font-size: 13px;
  font-weight: 600;
  padding: 20px 5px 5px 10px;
  margin: 0 15px;
  transition: color 0.5s ease; /* Smooth transition for text color */
}

/* Text color for navbar links when scrolled (over dark background of nav-scroll) */
.navbar.nav-scroll .navbar-nav .nav-link {
  color: var(--color-text-dark) !important;
}

/* Hamburger icon color for initial transparent state */
.navbar .icon-bar {
  color: #fff !important;
}

/* Hamburger icon color when scrolled */
.navbar.nav-scroll .icon-bar {
  color: var(--color-text-dark) !important;
}

/* Specific styles for the .nav-crev (curved navbar) variant */
.navbar.nav-crev {
  width: calc(100% - 80px);
  left: 40px;
  top: 30px; /* Slightly offset for the curved look */
  background: rgba(255, 255, 255, 0.05); /* Semi-transparent white */
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 40px;
  background: var(--color-accent);
  -webkit-backdrop-filter: blur(4px);
  backdrop-filter: blur(4px);
  min-height: auto;
  -webkit-transform: translate(0) !important;
  -ms-transform: translate(0) !important;
  transform: translate(0) !important;
}

.navbar.nav-crev.nav-scroll {
  border-color: var(--color-shadow-dark);
  padding: 0;
  position: fixed; /* Fixed position when scrolled */
  top: 0; /* Reset top to 0 for fixed state */
  -webkit-transform: translateY(0) !important; /* No slide-down on scroll for curved */
  -ms-transform: translateY(0) !important;
  transform: translateY(0) !important;
  left: 0;
  width: 100%;
  border-radius: 0;
  background: var(--color-primary-transparent); /* Dark transparent background */
  border-color: var(
    --color-shadow-dark
  ); /* Dark border for curved navbar when scrolled */
}

.navbar.nav-crev .navbar-nav .nav-link,
.navbar.nav-crev .search-form .search-icon {
  color: #fff !important;
}

.navbar.nav-crev.nav-scroll .navbar-nav .nav-link,
.navbar.nav-crev.nav-scroll .search-form .search-icon {
  color: var(--color-text-light) !important;
}

.navbar.nav-crev .search-form .search-icon:after {
  border-color: rgba(255, 255, 255, 0.1); /* White border for curved navbar initially */
}

.navbar.nav-crev.nav-scroll .search-form .search-icon:after {
  border-color: var(
    --color-shadow-dark
  ); /* Dark border for curved navbar when scrolled */
}

.navbar.nav-crev .search-form .search-icon {
  color: #fff !important;
}

.navbar.nav-crev .search-form .search-icon:after {
  border-color: rgba(255, 255, 255, 0.1);
}

.navbar.static {
  position: relative;
}

.navbar.main-bg {
  background: transparent;
  border-color: rgba(0, 0, 0, 0.05);
}

.navbar.sub-bg {
  background: var(--color-bg-light);
  border-color: rgba(0, 0, 0, 0.05);
}

.navbar.bord {
  border-color: rgba(0, 0, 0, 0.05);
}

.navbar.nav-scroll {
  background: var(--color-primary-light);
  border-color: rgba(0, 0, 0, 0.05);
  padding: 0;
  position: fixed;
  top: -80px;
  -webkit-transition: -webkit-transform 0.5s;
  transition: -webkit-transform 0.5s;
  -o-transition: transform 0.5s;
  transition: transform 0.5s;
  transition: transform 0.5s, -webkit-transform 0.5s;
  -webkit-transform: translateY(80px);
  -ms-transform: translateY(80px);
  transform: translateY(80px);
}

.navbar .icon-bar {
  color: var(--color-text-light) !important;
}

.navbar .navbar-nav .nav-link {
  text-transform: uppercase;
  letter-spacing: 1px;
  font-size: 13px;
  font-weight: 600;
  color: var(--color-text-light) !important; /* White text */
  transition: color 0.5s ease;
  padding: 20px 5px 5px 10px;
  margin: 0 15px;
}

.navbar .navbar-nav .nav-link .rolling-text {
  height: 30px;
  line-height: 30px;
}

.navbar .navbar-nav .dropdown-menu {
  padding: 20px 10px;

  border: 1px solid var(--color-border-light);
}

.navbar .dropdown-menu {
  display: block;
  opacity: 0;
  visibility: hidden;
  border-radius: 0;
  color: var(--color-text-dark) !important;
  background: var(--color-accent);
  border: 1px solid var(--color-border-light); /* Light border */

  min-width: 255px;
  -webkit-transform: translateY(20px);
  -ms-transform: translateY(20px);
  transform: translateY(20px);
  -webkit-transition: all 0.4s;
  -o-transition: all 0.4s;
  transition: all 0.4s;
}

.navbar .dropdown-menu.show {
  opacity: 1;
  visibility: visible;
  -webkit-transform: translateY(0);
  -ms-transform: translateY(0);
  transform: translateY(0);
}

.navbar .dropdown-menu.show-left .dropdown-item .dropdown-side {
  left: auto;
  right: 248px;
}

.navbar .dropdown-menu .dropdown-item {
  font-size: 13px;
  color: var(--color-text-dark) !important;
  -webkit-transition: all 0.4s;
  -o-transition: all 0.4s;
  transition: all 0.4s;
  padding: 10px 25px;
  position: relative;
}

.navbar .dropdown-menu .dropdown-item .dropdown-side {
  position: absolute;
  left: 248px;
  top: 10px;
  display: block;
  opacity: 0;
  visibility: hidden;
  border: 1px solid var(--color-border-light);
  background: var(--color-bg-light);
  width: 240px;
  padding: 20px 0px;
  -webkit-transform: translateY(20px);
  -ms-transform: translateY(20px);
  transform: translateY(20px);
  -webkit-transition: all 0.4s;
  -o-transition: all 0.4s;
  transition: all 0.4s;
}

.navbar .dropdown-menu .dropdown-item .dropdown-side.show {
  opacity: 1;
  visibility: visible;
  -webkit-transform: translateY(0);
  -ms-transform: translateY(0);
  transform: translateY(0);
}

.navbar .dropdown-menu .dropdown-item .icon-arrow {
  position: absolute;
  right: 15px;
}

.navbar .dropdown-menu .dropdown-item:after {
  content: "";
  width: 0px;
  height: 1px;
  background: var(--color-text-heading);
  position: absolute;
  left: 10px;
  top: 50%;
  -webkit-transition: all 0.4s;
  -o-transition: all 0.4s;
  transition: all 0.4s;
}

.navbar .dropdown-menu .dropdown-item:hover {
  padding-left: 30px;
  background: transparent;
}

.navbar .dropdown-menu .dropdown-item:hover:after {
  width: 10px;
}

.navbar .no-relative {
  position: static;
}

.navbar .dropdown {
  position: static;
}

.navbar .mega-menu {
  width: 96vw;
  position: absolute;
  left: 2vw;
  padding: 30px 0 30px !important;
  border: 1px solid var(--color-border-light);
  overflow: hidden;
}

.navbar .mega-menu .title {
  margin-bottom: 30px;
}

.navbar .mega-menu .title .sub-title {
  font-weight: 500;
}

.navbar .mega-menu .dropdown-item {
  padding: 10px 0;
}

.navbar .mega-menu .dropdown-item:after {
  left: 0;
}

.navbar .mega-menu .dropdown-item:hover {
  padding-left: 20px;
}

.navbar .search-form {
  position: relative;
}

.text-black {
  color: var(--color-text-dark);
}
.navbar .search-form.open .form-group {
  opacity: 1;
  visibility: visible;
  bottom: -1px;
}

.navbar .search-form.open .search-icon .open-search {
  opacity: 0;
  visibility: hidden;
  -webkit-transform: translateY(-10px);
  -ms-transform: translateY(-10px);
  transform: translateY(-10px);
}

.navbar .search-form .form-group {
  position: absolute;
  right: 0;
  bottom: -35px;
  -webkit-transform: translateY(100%);
  -ms-transform: translateY(100%);
  transform: translateY(100%);
  padding: 15px;
  background: rgba(255, 255, 255, 0.15);
  -webkit-backdrop-filter: blur(4px);
  backdrop-filter: blur(4px);
  opacity: 0;
  visibility: hidden;
  -webkit-transition: all 0.4s;
  -o-transition: all 0.4s;
  transition: all 0.4s;
}

.navbar .search-form .form-group input {
  padding: 10px 55px 10px 15px;
  background: var(--color-bg-light);
  border: 0;
  border-radius: 5px;
}

.navbar .search-form .form-group button {
  position: absolute;
  top: 15px;
  right: 15px;
  padding: 10px 15px;
  background: #ccc;
  border: 0;
  border-radius: 5px;
}

.navbar .search-form .search-icon {
  position: relative;
  padding: 25px 30px;
  cursor: pointer;
}

.navbar .search-form .search-icon:after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  border-left: 1px solid rgba(0, 0, 0, 0.2); /* Dark transparent border */
  border-right: 1px solid rgba(0, 0, 0, 0.2); /* Dark transparent border */
}

.navbar .search-form .search-icon .close-search {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  background: rgba(0, 0, 0, 0.05);
  text-align: center;
  padding: 25px 0;
  font-size: 20px;
  display: none;
}

.navbar .search-form .search-icon .open-search {
  -webkit-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s;
}

.navbar .dropdown-toggle:after {
  margin-left: 5px;
  vertical-align: 12px;
}

.topnav {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 999999;
  padding: 25px 0;
  color: var(--color-text-light);
  -webkit-transition: all 0.7s;
  -o-transition: all 0.7s;
  transition: all 0.7s;
}

.topnav.nav-scroll {
  background: var(--color-bg-light); /* Light background for scrolled topnav */
  color: var(--color-text-dark) !important; /* Dark text for scrolled topnav */
}

.topnav.nav-scroll .menu-icon {
  color: #fff !important;
}

.topnav.nav-scroll .menu-icon .icon i {
  background: var(--color-text-heading) !important;
}

.topnav.nav-scroll.no-fixed-scroll {
  display: none;
}

.topnav .container,
.topnav .container-fluid {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.topnav .container-fluid {
  padding: 0 60px;
}

.topnav .menu-icon {
  margin-left: auto;
  cursor: pointer;
}

.topnav .menu-icon.open .text .word {
  opacity: 0;
  -webkit-transition-delay: 0.4s;
  -o-transition-delay: 0.4s;
  transition-delay: 0.4s;
}

.topnav .menu-icon.open .text:after {
  opacity: 1;
  -webkit-transition-delay: 0.6s;
  -o-transition-delay: 0.6s;
  transition-delay: 0.6s;
}

.topnav .menu-icon.open .icon {
  width: 20px;
}

.topnav .menu-icon.open .icon i {
  position: absolute;
  top: calc(50% - 2px);
  left: 0;
  margin: 0;
}

.topnav .menu-icon.open .icon i:first-of-type {
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
}

.topnav .menu-icon.open .icon i:last-of-type {
  -webkit-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  transform: rotate(-45deg);
}

.topnav .menu-icon .text {
  font-size: 13px;
  font-weight: 500;
  padding-left: 15px;
  display: table-cell;
  vertical-align: middle;
  position: relative;
}

.topnav .menu-icon .text:after {
  content: "close";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  padding-left: 15px;
  opacity: 0;
  -webkit-transition: all 0.4s;
  -o-transition: all 0.4s;
  transition: all 0.4s;
  -webkit-transition-delay: 0.4s;
  -o-transition-delay: 0.4s;
  transition-delay: 0.4s;
}

.topnav .menu-icon .text .word {
  -webkit-transition: all 0.4s;
  -o-transition: all 0.4s;
  transition: all 0.4s;
  -webkit-transition-delay: 0.4s;
  -o-transition-delay: 0.4s;
  transition-delay: 0.4s;
}

.topnav .menu-icon .icon {
  display: table-cell;
  position: relative;
}

.topnav.nav-scroll .menu-icon {
  color: var(--color-text-dark) !important; /* Dark menu icon for scrolled topnav */
}

.topnav.nav-scroll .menu-icon .icon i {
  background: var(--color-text-heading) !important; /* Dark lines for menu icon */
}
.topnav .menu-icon .icon i {
  display: block;
  width: 20px;
  height: 2px;
  background: var(--color-text-light);
  margin: 4px 0;
  -webkit-transition: -webkit-transform 0.4s;
  transition: -webkit-transform 0.4s;
  -o-transition: transform 0.4s;
  transition: transform 0.4s;
  transition: transform 0.4s, -webkit-transform 0.4s;
}

.topnav.dark .menu-icon {
  color: var(--color-text-light); /* Menu icon light in dark topnav */
}

.topnav.dark .menu-icon .icon i {
  background: var(--color-text-light); /* Menu icon lines light in dark topnav */
}

.hamenu {
  position: fixed;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100vh;
  background: var(--color-bg-light);
  padding: 120px 30px 30px;
  overflow: hidden;
  z-index: 9999;
  -webkit-transition: all 0.5s cubic-bezier(1, 0, 0.55, 1);
  -o-transition: all 0.5s cubic-bezier(1, 0, 0.55, 1);
  transition: all 0.5s cubic-bezier(1, 0, 0.55, 1);
}

.hamenu.open .menu-links .main-menu > li .link {
  -webkit-transform: translateY(0);
  -ms-transform: translateY(0);
  transform: translateY(0);
  -webkit-transition-delay: 1s;
  -o-transition-delay: 1s;
  transition-delay: 1s;
}

.hamenu.open .cont-info:after {
  height: 200vh;
  -webkit-transition-delay: 1s;
  -o-transition-delay: 1s;
  transition-delay: 1s;
}

.hamenu.open .cont-info .search-form,
.hamenu.open .cont-info .social-text,
.hamenu.open .cont-info .item {
  -webkit-transform: translateY(0);
  -ms-transform: translateY(0);
  transform: translateY(0);
  opacity: 1;
  -webkit-transition-delay: 1s;
  -o-transition-delay: 1s;
  transition-delay: 1s;
}

.hamenu.open .menu-text:after {
  height: 200vh;
  -webkit-transition-delay: 1s;
  -o-transition-delay: 1s;
  transition-delay: 1s;
}

.hamenu .menu-links {
  margin-top: 30px;
  height: 500px;
  overflow: auto;
}

.hamenu .menu-links::-webkit-scrollbar {
  width: 5px;
}

.hamenu .menu-links::-webkit-scrollbar-track {
  background: transparent;
}

.hamenu .menu-links::-webkit-scrollbar-thumb {
  background: #c9f31d;
  border-radius: 10px;
}

.hamenu .menu-links .main-menu {
  position: relative;
  z-index: 2;
}

.hamenu .menu-links .main-menu > li {
  -webkit-transition: all 0.5s;
  -o-transition: all 0.5s;
  transition: all 0.5s;
}

.hamenu .menu-links .main-menu > li .link {
  font-size: 40px;
  font-weight: 700;
  line-height: 1.2;
  padding: 15px 30px;
  width: 100%;
  position: relative;
  display: block;
  -webkit-transform: translateY(65px);
  -ms-transform: translateY(65px);
  transform: translateY(65px);
  -webkit-transition: all 0.7s;
  -o-transition: all 0.7s;
  transition: all 0.7s;
}

.hamenu .menu-links .main-menu > li .link i {
  position: absolute;
  top: 50%;
  right: 50px;
  -webkit-transform: translateY(-8px);
  -ms-transform: translateY(-8px);
  transform: translateY(-8px);
}

.hamenu .menu-links .main-menu > li .link i:before {
  content: "";
  width: 1px;
  height: 16px;
  position: absolute;
  top: 0;
  left: 8px;
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  transform: translateX(-50%);
  background: var(--color-text-heading);
}

.hamenu .menu-links .main-menu > li .link i:after {
  content: "";
  width: 16px;
  height: 1px;
  position: absolute;
  top: 8px;
  left: 0;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  background: var(--color-text-heading);
}

.hamenu .menu-links .main-menu > li .link.dopen i:before {
  opacity: 0;
}

.hamenu .menu-links .main-menu > li .link .fill-text {
  position: relative;
  color: var(--color-text-dark);
}

.hamenu .menu-links .main-menu > li .link .fill-text:after {
  content: attr(data-text);
  position: absolute;
  top: 0;
  left: 0;
  color: var(--color-text-heading) !important;
  width: 100%;
  overflow: hidden;
  white-space: nowrap;
  -webkit-transition: width 0.75s cubic-bezier(0.63, 0.03, 0.21, 1);
  -o-transition: width 0.75s cubic-bezier(0.63, 0.03, 0.21, 1);
  transition: width 0.75s cubic-bezier(0.63, 0.03, 0.21, 1);
}

.hamenu .menu-links .main-menu > li.hoverd .link .fill-text:after {
  width: 0;
}

.hamenu .menu-links .main-menu .sub-menu {
  display: none;
  padding: 20px 0;
}

.hamenu .menu-links .main-menu .sub-menu li {
  padding: 0;
  margin: 0;
  line-height: 1;
  font-size: 22px;
  font-weight: 400;
}

.hamenu .menu-links .main-menu .sub-menu li a {
  padding: 12px 10px;
  opacity: 0.6;
  -webkit-transition: all 0.4s;
  -o-transition: all 0.4s;
  transition: all 0.4s;
}

.hamenu .menu-links .main-menu .sub-menu li a:hover {
  opacity: 1;
}

.hamenu .menu-text {
  position: relative;
  height: 100%;
}

.hamenu .menu-text .text {
  position: absolute;
  right: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  z-index: 2;
}

.hamenu .menu-text .text h2 {
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  font-size: 10vw;
  font-weight: 800;
  line-height: 1;
  text-transform: uppercase;
  opacity: 0.1;
}

.hamenu .menu-text:after {
  content: "";
  width: 1px;
  height: 0;
  background: rgba(0, 0, 0, 0.1);
  position: absolute;
  right: -30px;
  bottom: -75vh;
  -webkit-transition: all 1s ease;
  -o-transition: all 1s ease;
  transition: all 1s ease;
}

.hamenu .cont-info {
  margin-top: 50px;
  position: relative;
}

.hamenu .cont-info:after {
  content: "";
  width: 1px;
  height: 0;
  background: rgba(0, 0, 0, 0.1);
  position: absolute;
  left: -30px;
  top: -75vh;
  -webkit-transition: all 1s ease;
  -o-transition: all 1s ease;
  transition: all 1s ease;
}

.hamenu .cont-info .item {
  margin-bottom: 50px;
  -webkit-transform: translateY(-30px);
  -ms-transform: translateY(-30px);
  transform: translateY(-30px);
  opacity: 0;
  -webkit-transition: all 0.7s;
  -o-transition: all 0.7s;
  transition: all 0.7s;
}

.hamenu .cont-info .search-form {
  -webkit-transform: translateY(30px);
  -ms-transform: translateY(30px);
  transform: translateY(30px);
  opacity: 0;
  -webkit-transition: all 0.7s;
  -o-transition: all 0.7s;
  transition: all 0.7s;
}

.hamenu .cont-info .search-form .form-group {
  position: relative;
}

.hamenu .cont-info .search-form .form-group input {
  color: var(--color-text-dark) !important;
  padding: 10px 55px 10px 15px;
  background: rgba(0, 0, 0, 0.02); /* Very subtle transparent dark background for input */
  border: 1px solid rgba(0, 0, 0, 0.1); /* Subtle dark border for input */
  border-radius: 5px;
  width: 100%;
}

.hamenu .cont-info .search-form .form-group button {
  position: absolute;
  top: 0;
  right: 0;
  padding: 10px 15px;
  background: #ccc;
  border: 0;
  border-radius: 5px;
}

.hamenu .cont-info .social-text {
  -webkit-transform: translateY(30px);
  -ms-transform: translateY(30px);
  transform: translateY(30px);
  opacity: 0;
  -webkit-transition: all 0.7s;
  -o-transition: all 0.7s;
  transition: all 0.7s;
}
/*------------------------End Navbar------------------------*/

.sticky-sidebar .left-header,
.sticky-sidebar .right-header {
  position: fixed;
  top: 0;
  bottom: 0;
  width: 60px;
  z-index: 999;
  mix-blend-mode: exclusion;
}

.sticky-sidebar .left-header .inner-header,
.sticky-sidebar .right-header .inner-header {
  padding: 50px 0 20px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  height: 100%;
  position: relative;
  z-index: 9;
}

.sticky-sidebar .left-header {
  left: 0;
  border-right: 1px solid rgba(255, 255, 255, 0.1);
}

.sticky-sidebar .left-header .header-logo a {
  height: 100px;
}

.sticky-sidebar .left-header .header-logo img {
  height: 100%;
  width: auto;
}

.sticky-sidebar .right-header {
  right: 0;
  border-left: 1px solid rgba(255, 255, 255, 0.1);
}

/* Titles
-----------------------------------------------------------------*/
.sec-head h2 {
  font-size: 60px;
}

.lg-sec-head h2 {
  font-size: 5vw;
}

.sec-head-lg {
  -webkit-transition: all 2s;
  -o-transition: all 2s;
  transition: all 2s;
}

.sec-head-lg h2 {
  font-size: 30vw;
  line-height: 1;
}

.sec-head-lg.is_stuck {
  opacity: 0.05;
}

.sub-title {
  font-size: 14px;
  font-weight: 300;
  text-transform: uppercase;
  letter-spacing: 2px;
}

.sub-font {
  font-family: "Playfair Display", serif;
  font-style: italic;
  font-weight: 500;
}

.num-font {
  font-family: "Space Grotesk", sans-serif;
}

.sec-lg-head .dot-titl {
  padding: 10px 35px;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 1px;
  border-radius: 30px;
  border: 1px solid rgba(0, 0, 0, 0.5);
  display: inline-block;
  position: relative;
}

.sec-lg-head .dot-titl:before,
.sec-lg-head .dot-titl:after {
  content: "";
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: #2a8e9e;
}

.sec-lg-head .dot-titl:before {
  left: 15px;
}

.sec-lg-head .dot-titl:after {
  right: 15px;
}

.sec-lg-head .dot-titl.colorbg-1:before,
.sec-lg-head .dot-titl.colorbg-1:after {
  background: #c9f31d;
}

.sec-lg-head .dot-titl.colorbg-3:before,
.sec-lg-head .dot-titl.colorbg-3:after {
  background: #55e6a5;
}

.sec-lg-head .dot-titl-non {
  padding: 7px 30px;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 1px;
  border-radius: 30px;
  border: 1px solid rgba(0, 0, 0, 0.5);
  display: inline-block;
}

.sec-lg-head.text-dark .dot-titl {
  border-color: rgba(0, 0, 0, 0.5);
}

.sec-lg-head.text-dark p {
  color: #1d1d1d;
}

.sec-lg-head .svg {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 200px;
}

.sec-lg-head .path {
  -webkit-animation: dash 33s linear infinite;
  animation: dash 33s linear infinite;
}

@-webkit-keyframes dash {
  from {
    stroke-dashoffset: 0;
  }
  to {
    stroke-dashoffset: 2000;
  }
}

@keyframes dash {
  from {
    stroke-dashoffset: 0;
  }
  to {
    stroke-dashoffset: 2000;
  }
}

.sec-leter-head .leter h4 {
  width: 60px;
  height: 60px;
  line-height: 60px;
  text-align: center;
  border: 1px solid #777;
  border-radius: 50%;
}

.sec-leter-head .line {
  border-bottom: 1px solid #777;
  margin-top: -1px;
  margin-left: 40px;
  width: 100%;
}

.sec-leter-head .title {
  margin-left: 100px;
  margin-top: -20px;
  position: relative;
}

.vew-all a {
  position: relative;
  z-index: 2;
}

.vew-all a:after {
  content: "";
  width: 50px;
  height: 50px;
  border-radius: 50%;
  background: #1d1d1d;
  position: absolute;
  top: 50%;
  left: -25px;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  opacity: 0.05;
  z-index: -1;
}

.vew-all:hover a {
  text-decoration: underline;
}

/* About
-----------------------------------------------------------------*/
.about-intro .imgs {
  position: relative;
}

.about-intro .imgs .img1 {
  width: 70%;
  margin-top: 30px;
}

.about-intro .imgs .img1 img {
  position: relative;
  top: -30px;
}

.about-intro .imgs .img2 {
  position: absolute;
  bottom: 0;
  right: 0;
  width: 40%;
  border-top: 7px solid #f1f3f5;
  border-left: 7px solid #f1f3f5;
}

.about-intro .cont .feat {
  padding-left: 80px;
}

.intro-crv .img {
  position: relative;
}

.intro-crv .img:after {
  content: "";
  position: absolute;
  top: -30px;
  right: -250px;
  width: 350px;
  height: 350px;
  border-radius: 50%;
  background: #2a8e9e;
  z-index: -1;
}

.intro-crv .height-bord {
  height: 75%;
}

.intro-crv .height-bord .butn-line {
  height: 100%;
  border-left: 1px solid #fff;
  padding-left: 30px;
}

.intro-crv .height-bord .butn-line .crle {
  position: relative;
}

.intro-crv .height-bord .butn-line .crle span {
  width: 150px;
  height: 150px;
  line-height: 150px;
  text-align: center;
  border: 1px solid #eee;
  border-radius: 50%;
  position: absolute;
  top: -200px;
  left: 35px;
  font-size: 40px;
  -webkit-transform: rotate(-40deg);
  -ms-transform: rotate(-40deg);
  transform: rotate(-40deg);
}

.intro-crv .height-bord .butn-line .crle span:after {
  content: "";
  width: 150px;
  border-bottom: 1px solid #eee;
  position: absolute;
  top: 50%;
  left: -35px;
  -webkit-transform: translateX(-25%);
  -ms-transform: translateX(-25%);
  transform: translateX(-25%);
}

.intro-crv .text-bottom {
  position: absolute;
  bottom: 0;
}

.about .about-circle-crev {
  position: relative;
  width: calc(100% - 50px);
}

.about .about-circle-crev .circle-button .rotate-circle svg {
  width: 500px;
}

.about .about-circle-crev .circle-button {
  position: relative;
}

.about .about-circle-crev .circle-button:after {
  content: "";
  position: absolute;
  top: 60px;
  left: 60px;
  right: 60px;
  bottom: 60px;
  border: 70px solid rgba(255, 255, 255, 0.03);
  border-radius: 50%;
  z-index: -1;
}

.about .about-circle-crev .rotate-circle {
  -webkit-animation-duration: 60s;
  animation-duration: 60s;
}

.about .about-circle-crev .half-circle-img {
  height: 450px;
  width: 225px;
  border-bottom-right-radius: 450px;
  border-top-right-radius: 450px;
  overflow: hidden;
  position: absolute;
  top: 50%;
  right: 0;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
}

.about .about-circle-crev .half-circle-img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: center center;
  object-position: center center;
}

.about .img.bg-pattern {
  padding: 50px;
  background-size: 80px !important;
  background-repeat: repeat;
  position: relative;
}

.about .img.bg-pattern img {
  border-radius: 15px;
  margin: auto;
  position: relative;
  z-index: 3;
}

.about .img.bg-pattern .tit {
  position: absolute;
  right: 0;
  top: 50%;
  -webkit-transform: translateY(-50%) translateX(30%) rotate(5deg);
  -ms-transform: translateY(-50%) translateX(30%) rotate(5deg);
  transform: translateY(-50%) translateX(30%) rotate(5deg);
  z-index: 2;
}

.about .img.bg-pattern .tit span {
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  font-size: 80px;
  font-weight: 800;
  text-transform: uppercase;
}

.about .img.bg-pattern .tit span.stroke {
  position: absolute;
  top: 10px;
  left: 20px;
  color: transparent;
  -webkit-text-stroke: 0.5px rgba(255, 255, 255, 0.5);
  z-index: -1;
}

.about .img {
  position: relative;
  overflow: hidden;
}

.about .img .exp {
  position: absolute;
  bottom: 0;
  right: 0;
  padding: 30px;
  z-index: 3;
}

.about .img .exp:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #f1f3f5;
  z-index: -1;
}

.about .img .exp:after {
  content: "";
  position: absolute;
  top: -10px;
  left: -10px;
  width: 100%;
  height: 150%;
  background: #c9f31d;
  -webkit-transform: rotate(10deg);
  -ms-transform: rotate(10deg);
  transform: rotate(10deg);
  z-index: -2;
}

.about .quote-img h2 {
  position: relative;
  z-index: 1;
}

.about .quote-img .img {
  width: 80%;
  -webkit-transform: translateX(-50px);
  -ms-transform: translateX(-50px);
  transform: translateX(-50px);
}

.about .quote-img .img img {
  border-radius: 10px;
}

.about .mission {
  position: relative;
}

.about .mission .about-carsouel {
  padding: 80px 60px;
  position: relative;
  z-index: 3;
}

.about .mission .back-img {
  position: absolute;
  top: 0;
  right: 0;
  width: 60%;
  height: 100%;
}

.about .bg-pattern {
  background-size: 95% !important;
}

.intro-imgs .to-up {
  margin-top: -80px;
}

.intro-imgs .cont {
  padding: 0 60px;
}

.intro-feat .bg-img {
  padding: 50px 0;
  border-radius: 150px;
  position: relative;
}

.intro-feat .bg-img .play-button .butn-ply {
  position: relative;
}

.intro-feat .bg-img .play-button .butn-ply .circle {
  fill: #fff;
  stroke-dasharray: 301.59px 301.59px;
  stroke-dashoffset: 301.59px;
  -webkit-transition: all 0.8s cubic-bezier(0.4, 0.08, 0, 0.97);
  -o-transition: all 0.8s cubic-bezier(0.4, 0.08, 0, 0.97);
  transition: all 0.8s cubic-bezier(0.4, 0.08, 0, 0.97);
  -webkit-box-shadow: 0px 10px 30px rgba(0, 0, 0, 0.1);
  box-shadow: 0px 10px 30px rgba(0, 0, 0, 0.1);
}

.intro-feat .bg-img .play-button .butn-ply:hover .circle {
  stroke-dashoffset: 0;
}

.intro-feat .bg-img .play-button .butn-ply i {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translateX(-50%) translateY(-50%);
  -ms-transform: translateX(-50%) translateY(-50%);
  transform: translateX(-50%) translateY(-50%);
}

.intro-feat .three-imgs .img1 {
  width: 190px;
  margin-top: 50px;
}

.intro-feat .three-imgs .img2 {
  width: 250px;
}

.intro-feat .img3 {
  width: 50%;
  margin-left: 25%;
  margin-top: -30%;
}

.intro-feat .two-imgs .img1 {
  width: 60%;
  position: relative;
}

.intro-feat .two-imgs .img1 .play-button {
  position: absolute;
  top: 20%;
  right: 0;
  -webkit-transform: translateX(60%);
  -ms-transform: translateX(60%);
  transform: translateX(60%);
}

.intro-feat .two-imgs .img1 .play-button .vid {
  position: relative;
}

.intro-feat .two-imgs .img1 .play-button .butn-ply {
  position: absolute;
  top: 50%;
  left: 0;
  -webkit-transform: translateX(-50%) translateY(-50%);
  -ms-transform: translateX(-50%) translateY(-50%);
  transform: translateX(-50%) translateY(-50%);
}

.intro-feat .two-imgs .img1 .play-button .butn-ply .circle {
  fill: #c9f31d;
  stroke-dasharray: 301.59px 301.59px;
  stroke-dashoffset: 301.59px;
  -webkit-transition: all 0.8s cubic-bezier(0.4, 0.08, 0, 0.97);
  -o-transition: all 0.8s cubic-bezier(0.4, 0.08, 0, 0.97);
  transition: all 0.8s cubic-bezier(0.4, 0.08, 0, 0.97);
}

.intro-feat .two-imgs .img1 .play-button .butn-ply:hover .circle {
  stroke-dashoffset: 0;
}

.intro-feat .two-imgs .img1 .play-button .butn-ply i {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translateX(-50%) translateY(-50%);
  -ms-transform: translateX(-50%) translateY(-50%);
  transform: translateX(-50%) translateY(-50%);
}

.intro-feat .two-imgs .img2 {
  width: 60%;
  margin-top: -35%;
  margin-left: 40%;
  position: relative;
  z-index: 3;
}

.intro-feat .cont .play-button .vid {
  position: relative;
}

.intro-feat .cont .play-button .butn-ply {
  position: absolute;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
}

.intro-feat .cont .play-button .butn-ply .circle {
  fill: #fff;
  stroke-dasharray: 301.59px 301.59px;
  stroke-dashoffset: 301.59px;
  -webkit-transition: all 0.8s cubic-bezier(0.4, 0.08, 0, 0.97);
  -o-transition: all 0.8s cubic-bezier(0.4, 0.08, 0, 0.97);
  transition: all 0.8s cubic-bezier(0.4, 0.08, 0, 0.97);
  -webkit-box-shadow: 0px 10px 30px rgba(0, 0, 0, 0.1);
  box-shadow: 0px 10px 30px rgba(0, 0, 0, 0.1);
}

.intro-feat .cont .play-button .butn-ply:hover .circle {
  stroke-dashoffset: 0;
}

.intro-feat .cont .play-button .butn-ply i {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translateX(-50%) translateY(-50%);
  -ms-transform: translateX(-50%) translateY(-50%);
  transform: translateX(-50%) translateY(-50%);
}

.intro-feat .cont .play-button .text {
  padding: 8px 20px 8px 60px;
  border: 1px solid #f1f3f5;
  border-radius: 4px;
  font-size: 12px;
}

.exp-box {
  padding: 30px 50px;
  border-top: 1px solid rgba(255, 255, 255, 0.1);
  position: relative;
}

.exp-box .img-icon {
  position: absolute;
  top: -35px;
  right: -35px;
  width: 70px;
  opacity: 0.2;
  z-index: -1;
}

.intro-corp .imgs {
  position: relative;
}

.intro-corp .imgs .img1 {
  width: 75%;
  margin-left: 25%;
  position: relative;
  z-index: 3;
}

.intro-corp .imgs .img1:after {
  content: "";
  position: absolute;
  left: -30px;
  top: 0;
  width: 8px;
  height: 150px;
  background: #c9f31d;
}

.intro-corp .imgs .img1:before {
  content: "";
  position: absolute;
  right: -30px;
  bottom: -30px;
  width: 200px;
  height: 200px;
  background-image: url(../imgs/patterns/dots2.png);
  background-repeat: repeat;
  z-index: -1;
}

.intro-corp .imgs .img1.main-color2:after {
  background: #2a8e9e;
}

.intro-corp .imgs .img1.main-color3:after {
  background: #55e6a5;
}

.intro-corp .imgs .img2 {
  position: absolute;
  bottom: -50px;
  left: 0;
  width: 50%;
  z-index: 4;
}

.intro-img-parlx {
  position: relative;
  overflow: hidden;
}

.intro-img-parlx:after {
  content: "";
  width: 80vw;
  height: 80vw;
  border: 200px solid #fff;
  border-radius: 50%;
  position: absolute;
  top: -15vw;
  left: -30vw;
  opacity: 0.02;
}

.intro-img-parlx .max-text {
  font-size: 75px;
  position: relative;
}

.intro-img-parlx .max-text:after {
  content: attr(data-text);
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  color: transparent;
  -webkit-text-stroke: 1px rgba(255, 255, 255, 0.5);
  z-index: 3;
}

.intro-img-parlx .img {
  position: relative;
  z-index: 2;
}

.intro-img-parlx .img img {
  width: 250%;
  margin-left: -150%;
}

.intro-img-parlx .img .star-shape {
  position: absolute;
  top: 50%;
  right: 0;
  width: 100px;
  z-index: -1;
  opacity: 0.2;
}

.intro-img-parlx .text-qoute .exp {
  padding: 8px 30px;
  border-radius: 30px;
  font-size: 12px;
}

.pg-about .bg-img {
  height: 400px;
  background-size: cover;
  background-position: center center;
}

/* Awards
-----------------------------------------------------------------*/
.awards-box .awrd-items .item {
  padding: 80px 30px;
  background: #f1f3f5;
  border-radius: 150px;
  text-align: center;
}

.awards-box .awrd-items .item .img {
  width: 70px;
  margin: auto;
}

.awards-box .awrd-items .item h6 {
  margin-top: 15px;
}

.awards-list .cont li {
  padding-bottom: 30px;
  margin-bottom: 30px;
  border-bottom: 1px solid rgba(0, 0, 0, 0.1);
  -webkit-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s;
}

.awards-list .cont li:hover {
  border-color: #999;
}

.awards-list .cont li .date {
  padding: 4px 12px;
  border-radius: 20px;
  border: 1px solid rgba(255, 255, 255, 0.1);
  font-size: 12px;
  margin-right: 10px;
}

.awards-list .cont li .arrow-icon {
  width: 40px;
  height: 40px;
  line-height: 40px;
  border-radius: 50%;
  background: #fff;
  text-align: center;
}

.awards-list .cont li .arrow-icon svg {
  width: 15px;
}

.skills-exp .skill-item .item {
  padding: 50px 10px;
  border: 1px solid rgba(0, 0, 0, 0.1);
  border-radius: 100px;
  width: 100%;
  text-align: center;
  margin: 0 10px;
  -webkit-transition: all 0.4s;
  -o-transition: all 0.4s;
  transition: all 0.4s;
}

.skills-exp .skill-item .item:hover {
  border-color: rgba(0, 0, 0, 0.5);
}

.skills-exp .skill-item .item:hover img {
  -webkit-filter: grayscale(0);
  filter: grayscale(0);
}

.skills-exp .skill-item .item img {
  -webkit-filter: grayscale(1);
  filter: grayscale(1);
  -webkit-transition: all 0.4s;
  -o-transition: all 0.4s;
  transition: all 0.4s;
}

.skills-exp .exp-items .item .icon {
  -webkit-transform: rotate(-30deg);
  -ms-transform: rotate(-30deg);
  transform: rotate(-30deg);
  margin-bottom: 15px;
}

.skills-exp .exp-items .item .icon svg {
  width: 60px;
  height: 25px;
  fill: #fff;
}

/* Blogs
-----------------------------------------------------------------*/
.blog-list .item {
  padding: 40px;
  position: relative;
}

.blog-list .item:hover .background {
  opacity: 1;
  background-position: center bottom;
}

.blog-list .item .info .author {
  margin-right: 20px;
}

.blog-list .item .info .author .img {
  width: 60px;
  height: 60px;
  overflow: hidden;
  border-radius: 50%;
}

.blog-list .item .info .author .img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: center;
  object-position: center;
}

.blog-list .item .tags a {
  font-size: 12px;
  font-weight: 300;
  text-transform: uppercase;
  letter-spacing: 1px;
  padding: 8px 12px;
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 30px;
  margin: 5px 5px 5px 0;
}

.blog-list .item .background {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-size: cover;
  background-position: center top;
  opacity: 0;
  -webkit-transition: opacity 0.4s, background-position 10s linear;
  -o-transition: opacity 0.4s, background-position 10s linear;
  transition: opacity 0.4s, background-position 10s linear;
}

.blog-list .item .background .more a {
  font-size: 14px;
  padding: 14px 35px;
  background: #c9f31d;
  border-radius: 30px;
}

.blog-list .item .background .more a span,
.blog-list .item .background .more a i {
  color: #000;
}

.blog-list2 .item {
  padding: 40px 0;
  border-bottom: 1px solid rgba(0, 0, 0, 0.1);
  -webkit-transition: all 0.4s;
  -o-transition: all 0.4s;
  transition: all 0.4s;
}

.blog-list2 .item:first-of-type {
  border-top: 1px solid rgba(0, 0, 0, 0.1);
}

.blog-list2 .item:hover {
  border-bottom-color: #ccc;
}

.blog-list2 .item:hover .title a {
  text-decoration: underline;
}

.blog-list2 .item:hover .img img {
  -webkit-transform: scale(1);
  -ms-transform: scale(1);
  transform: scale(1);
  opacity: 1;
}

.blog-list2 .item .categ a {
  padding: 8px 25px;
  border: 1px solid rgba(255, 255, 255, 0.5);
  border-radius: 30px;
}

.blog-list2 .item .img {
  position: absolute;
  top: 50%;
  right: -30px;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  width: 250px;
  height: 250px;
  border-radius: 50%;
  overflow: hidden;
}

.blog-list2 .item .img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: center center;
  object-position: center center;
  border-radius: 50%;
  -webkit-transform: scale(0);
  -ms-transform: scale(0);
  transform: scale(0);
  opacity: 0;
  -webkit-transition: all 0.4s;
  -o-transition: all 0.4s;
  transition: all 0.4s;
}

/* Card container */
.blog-modern .item {
  padding: 15px;
  background: #fff;
  border: 1px solid rgba(0, 0, 0, 0.1);
  border-radius: 10px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
  transition: box-shadow 0.3s ease, transform 0.3s ease;
  display: flex;
  flex-direction: column;
  width: 100%;
  height: 100%; /* ensures full stretch in grid */
}

.blog-modern .item:hover {
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.15);
  transform: translateY(-4px);
}

/* Image wrapper */
.blog-modern .item .img {
  position: relative;
  width: 100%;
  height: 230px;
}

.blog-modern .item .img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  border-radius: 10px;
}

/* Date label */
.blog-modern .item .img .date {
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: 2px;
  position: absolute;
  top: 60px;
  right: -35px;
  color: #fff;
  border-radius: 8px;
  padding: 0px 5px;
  background-color: var(--color-accent);
  transform: rotate(-90deg) translateX(-50%) translateY(100%);
  opacity: 0.7;
}

.blog-modern .item .img .date:after {
  content: "";
  position: absolute;
  top: 50%;
  right: -70px;
  width: 50px;
  border-bottom: 1px solid var(--color-accent);
}
.blog-modern .item .cont {
  display: flex;
  flex-direction: column;
  flex: 1; /* fill remaining space */
  padding-top: 10px;
  height: 100%; /* ensure full height for flex to work */
}

.blog-modern .item .cont h6 {
  font-size: 16px;
  font-weight: 600;
  margin: 0 0 10px 0;
  display: -webkit-box;
  -webkit-line-clamp: 2; /* limit to 2 lines */
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  line-height: 1.4em;
  height: 2.8em; /* 1.4em * 2 lines */
}

.blog-modern .item .cont .sub-title {
  margin-top: auto; /* push to bottom */
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: var(--color-accent);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
@media (max-width: 767px) {
  /* Stack columns vertically */
  .blog-modern .row {
    display: flex;
    flex-wrap: wrap;
  }

  .blog-modern .col-xl-3,
  .blog-modern .col-lg-4,
  .blog-modern .col-md-6 {
    flex: 0 0 100% !important; /* full width on mobile */
    max-width: 100% !important;
    padding: 0 10px; /* optional horizontal padding */
    margin-bottom: 30px;
  }

  .blog-modern .item .img .date {
    position: static;
    transform: none;
    opacity: 1;
    color: var(--color-accent);
    background: transparent;
    padding: 0;
    border-radius: 0;
    top: auto;
    right: auto;
    margin-top: 10px;
  }
  .blog-modern .item .img .date:after {
    display: none;
  }

  /* Image wrapper height smaller on mobile */
  .blog-modern .item .img {
    height: 230px;
  }
}

.blog-crev .item .cont .info {
  font-size: 11px;
  font-weight: 300;
  text-transform: uppercase;
  letter-spacing: 1px;
}

.blog-crev .item .cont .info .dot {
  width: 5px;
  height: 5px;
  border-radius: 50%;
  margin: 0 30px;
}

.blog-crev .item .img {
  position: relative;
}

.blog-crev .item .img a {
  width: 75px;
  height: 75px;
  text-align: center;
  line-height: 75px;
  border-radius: 50%;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translateX(-50%) translateY(-50%) scale(0);
  -ms-transform: translateX(-50%) translateY(-50%) scale(0);
  transform: translateX(-50%) translateY(-50%) scale(0);
  color: #f1f3f5;
  z-index: 3;
  opacity: 0;
  -webkit-transition: all 0.4s;
  -o-transition: all 0.4s;
  transition: all 0.4s;
}

.blog-crev .item .img a svg {
  width: 25px;
  height: 25px;
}

.blog-crev .item .img:after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #f1f3f5;
  opacity: 0;
  -webkit-transition: all 0.4s;
  -o-transition: all 0.4s;
  transition: all 0.4s;
}

.blog-crev .item .img:hover a {
  opacity: 1;
  -webkit-transform: translateX(-50%) translateY(-50%) scale(1);
  -ms-transform: translateX(-50%) translateY(-50%) scale(1);
  transform: translateX(-50%) translateY(-50%) scale(1);
}

.blog-crev .item .img:hover:after {
  opacity: 0.7;
}

.blog-list-half .item {
  border-radius: 10px;
  overflow: hidden;
}
.blog-list-half {
  background-color: var(--color-primary-light);
}
.blog-list-half .item .img {
  min-height: 200px;
  padding-right: 0;
}

.blog-list-half .item .img Image {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: center;
  object-position: center;
}

.blog-list-half .item .cont {
  padding: 80px 30px;
}

.blog-list-half .item .cont .tags a {
  font-size: 13px;
  padding: 8px 20px;
  background: rgba(0, 0, 0, 0.05);
  border-radius: 5px;
  -webkit-transition: all 0.4s;
  -o-transition: all 0.4s;
  transition: all 0.4s;
}

.blog-list-half .item .cont .tags a:hover {
  background: #2a8e9e;
}

.blog-list-half .item .cont .tags.colorbg a:hover {
  background: #c9f31d;
  color: #f1f3f5;
}

.blog-list-half.crev .item {
  overflow: visible;
  border: 1px solid rgba(0, 0, 0, 0.1);
}

.blog-list-half.crev .item .img {
  padding: 15px;
  height: 230px;
}

.blog-list-half.crev .item .img img {
  height: 100%;
  width: 100%;
  object-fit: cover;
  border-radius: 0;
  position: relative;
  bottom: -0px;
}

.blog-list-half.crev .item .cont {
  padding: 15px 0;
}

.main-post .item {
  border-bottom: 1px dashed rgba(0, 0, 0, 0.15);
}

.main-post .main-img {
  -webkit-box-shadow: 0px 20px 40px rgba(13, 11, 27, 0.15);
  box-shadow: 0px 20px 40px rgba(13, 11, 27, 0.15);
  overflow: hidden;
}

.main-post .post-qoute {
  position: relative;
  padding: 20px;
  padding-left: 120px;
  border: 1px solid rgba(0, 0, 0, 0.15);
}

.main-post .post-qoute h6 {
  position: relative;
}

.main-post .post-qoute h6:before {
  content: "“";
  position: absolute;
  top: 80px;
  left: -100px;
  font-size: 180px;
  font-family: Poppins;
  line-height: 0;
}

.main-post .iner-img {
  height: 200px;
}

.main-post .iner-img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: center;
  object-position: center;
}

.main-post .unorder-list li,
.main-post .order-list li {
  margin-top: 10px;
  opacity: 0.7;
  padding-left: 15px;
  position: relative;
}

.main-post .unorder-list li:before,
.main-post .order-list li:before {
  content: "";
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: #ccc;
  position: absolute;
  left: 0;
  top: 10px;
}

.main-post .order-list li {
  padding-left: 0;
}

.main-post .order-list li:before {
  display: none;
}

.main-post .order-list li span {
  font-size: 13px;
}

.main-post .info-area {
  border-bottom: 1px solid rgba(0, 0, 0, 0.15);
}

.main-post .info-area .tags span,
.main-post .info-area .share-icon span {
  font-size: 14px;
  margin-right: 5px;
  opacity: 0.7;
}

.main-post .info-area .tags a,
.main-post .info-area .share-icon a {
  padding: 7px 20px;
  font-size: 13px;
  background: rgba(0, 0, 0, 0.02);
  border-radius: 30px;
  margin-right: 5px;
}

.main-post .info-area .tags a:hover,
.main-post .info-area .share-icon a:hover {
  background: #c9f31d;
}

.main-post .info-area .share-icon a {
  width: 35px;
  height: 35px;
  line-height: 35px;
  font-size: 11px;
  text-align: center;
  padding: 0;
}

.main-post .author-area .author-img .img {
  width: 120px;
  height: 120px;
  border-radius: 50%;
  overflow: hidden;
}

.main-post .next-prv-post .thumb-post {
  width: 100%;
  padding: 40px;
  position: relative;
  overflow: hidden;
  z-index: 2;
}

.main-post .next-prv-post .thumb-post:after {
  content: "";
  background: #f1f3f5;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  border: 1px solid rgba(0, 0, 0, 0.2);
  z-index: -1;
  -webkit-transition: all 0.4s;
  -o-transition: all 0.4s;
  transition: all 0.4s;
}

.main-post .next-prv-post .thumb-post:hover h6 {
  color: #fff;
}

.main-post .next-prv-post .thumb-post:hover:after {
  opacity: 0.3;
  background: #1d1d1d;
}

.main-post .next-prv-post .thumb-post:first-of-type {
  margin-right: 15px;
}

.main-post .next-prv-post .thumb-post:last-of-type {
  margin-left: 15px;
}

.comments-post .item-box {
  padding: 30px;
  border: 1px solid rgba(0, 0, 0, 0.2);
  margin-bottom: 30px;
}

.comments-post .item-box:last-of-type {
  margin-bottom: 0;
}

.comments-post .item-box.replayed {
  margin-left: 50px;
  border: 1px solid rgba(0, 0, 0, 0.05);
}

.comments-post .item-box .replay-post a {
  font-size: 13px;
  padding: 8px 20px;
  border: 1px solid #ccc;
  border-radius: 30px;
  -webkit-transition: all 0.4s;
  -o-transition: all 0.4s;
  transition: all 0.4s;
}

.comments-post .item-box .replay-post a:hover {
  background: #c9f31d;
}

.comments-from form input,
.comments-from form textarea {
  padding: 15px 0;
  width: 100%;
  background: transparent;
  border: 0;
  border-bottom: 1px solid rgba(0, 0, 0, 0.15);
}

.comments-from form button {
  background: transparent;
  border: 0;
  margin: auto;
  text-align: center;
}

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

.brands .swiper-container {
  overflow: visible;
}

.brands .item {
  width: 300px;
  height: 300px;
  text-align: center;
  position: relative;
}

.brands .item:after {
  content: "";
  position: absolute;
  top: -10px;
  bottom: -10px;
  left: -10px;
  right: -10px;
  border: 1px solid rgba(0, 0, 0, 0.1);
  border-radius: 50%;
  -webkit-transition: all 0.4s;
  -o-transition: all 0.4s;
  transition: all 0.4s;
  pointer-events: none;
}

.brands .item:hover:after {
  border-color: #000;
}

.brands .item .img {
  width: 100px;
  margin: auto;
}

.block-sec .clients .item {
  padding: 50px 20px;
  border: 1px solid rgba(0, 0, 0, 0.1);
  text-align: center;
}

.block-sec .clients .item img {
  max-width: 100px;
}

.brands-carsouel {
  overflow: hidden;
}

.brands-carsouel .bord-right {
  position: relative;
}

.brands-carsouel .bord-right:after {
  content: "";
  position: absolute;
  top: -120px;
  bottom: -120px;
  right: 0;
  border-right: 1px solid rgba(0, 0, 0, 0.05);
}

.brands-carsouel .item {
  text-align: center;
}

.brands-carsouel .item .img {
  width: 100px;
  margin: auto;
}

.clients .brand:hover .img {
  -webkit-transform: scale(0);
  -ms-transform: scale(0);
  transform: scale(0);
  opacity: 0;
}

.clients .brand:hover .link {
  opacity: 1 !important;
  -webkit-transition: all 0;
  -o-transition: all 0;
  transition: all 0;
}

.clients .brand:hover .char {
  -webkit-animation: fadeInUp 0.3s cubic-bezier(0.3, 0, 0.7, 1) both;
  animation: fadeInUp 0.3s cubic-bezier(0.3, 0, 0.7, 1) both;
  -webkit-animation-delay: calc(20ms * var(--char-index));
  animation-delay: calc(20ms * var(--char-index));
}

.clients .brand .item {
  position: relative;
  text-align: center;
  padding: 30px 20px;
  border: 1px solid rgba(0, 0, 0, 0.1);
  border-radius: 10px;
}

.clients .brand-img-about .item {
  position: relative;
  text-align: center;
  padding: 30px 20px;
  border: 1px solid rgba(0, 0, 0, 0.1);
  border-radius: 10px;
}

.clients .clientshov:hover .item {
  background-color: var(--color-primary);
}

.clients .brand .item .link {
  font-size: 16px;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translateX(-50%) translateY(-50%);
  -ms-transform: translateX(-50%) translateY(-50%);
  transform: translateX(-50%) translateY(-50%);
  opacity: 0;
  -webkit-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s;
}

.clients .brand-img-about .item .link {
  font-size: 16px;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translateX(-50%) translateY(-50%);
  -ms-transform: translateX(-50%) translateY(-50%);
  transform: translateX(-50%) translateY(-50%);
  opacity: 0;
  -webkit-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s;
}

.clients .brand .img {
  opacity: 0.8;
  max-width: 90px;
  margin: auto;
  position: relative;
  -webkit-transition: all 0.4s;
  -o-transition: all 0.4s;
  transition: all 0.4s;
}

.clients .brand-img-about .img {
  opacity: 0.8;
  max-width: 90px;
  margin: auto;
  position: relative;
  -webkit-transition: all 0.4s;
  -o-transition: all 0.4s;
  transition: all 0.4s;
}

.clients-rand .item > div {
  border-radius: 50%;
  border: 1px solid rgba(0, 0, 0, 0.1);
}

.clients-rand .item .sz1 {
  width: 140px;
  height: 140px;
  line-height: 140px;
  padding: 0 20px;
}

.clients-rand .item .sz2 {
  width: 120px;
  height: 120px;
  line-height: 120px;
  padding: 0 20px;
}

.clients-rand .item .sz3 {
  width: 90px;
  height: 90px;
  line-height: 90px;
  padding: 0 20px;
}

.clients-rand .item img {
  margin: auto;
}

.clients-carso .img {
  margin: auto;
  width: 130px;
}
.clients-carso {
  background: linear-gradient(135deg, var(--color-bg-light), var(--color-bg-hover-light));
}

.clients-carso2 {
  padding: 60px 0;
  border-top: 1px solid rgba(0, 0, 0, 0.2);
  border-bottom: 1px solid rgba(0, 0, 0, 0.2);
}

.clients-carso2 .img {
  margin: auto;
  opacity: 0.8;
}

.clients-carso2 .img:hover {
  opacity: 1;
}

/* Contact
-----------------------------------------------------------------*/
/* Main Container */
.contactSection {
  background: var(--color-primary);
  color: #fff;
  gap: 40px;
  padding: 60px 20px; /* breathing space */
}

.contactSection1 {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
  flex-wrap: wrap; /* allow wrapping on smaller screens */
}

.contactSection2 {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 15px;
}

.leftContent,
.rightContent {
  flex: 1;
  min-width: 280px; /* prevents squishing */
}

.leftContent {
  max-width: 600px;
}

.rightContent {
  display: flex;
  flex-direction: column;
  gap: 25px;
}

/* Sub Text */
.subText {
  margin-bottom: 25px;
  color: #d9e3ec;
}

/* === Responsive Breakpoints === */
@media (max-width: 992px) {
  .contactSection1 {
    flex-direction: column;
    text-align: center;
  }
  .leftContent,
  .rightContent {
    width: 100%;
    max-width: none;
  }
}

@media (max-width: 576px) {
  .contactSection {
    padding: 40px 15px;
  }
  .rightContent button {
    width: 100%;
    padding: 14px 0;
  }
}

@media (min-width: 1200px) {
  .heading {
    font-size: 30px;
  }
}
.footer-container {
  display: flex;
  justify-content: space-between;
}

.office {
  display: flex;
  gap: 18px;
  align-items: center;
  color: #fff;
}

.officeIcon {
  width: 50px;
  height: auto;
  flex-shrink: 0;
}

.office h4 {
  font-size: 18px;
  margin-bottom: 8px;
}

.office p {
  font-size: 14px;
  margin: 3px 0;
  color: #d9e3ec;
}

.hide-above-991 {
  display: none !important;
}

.dis-500 {
  display: none !important;
}

@media (max-width: 991px) {
  .hide-991 {
    display: none !important;
  }
  .leftContent {
    width: 100%;
  }
  .hide-above-991 {
    display: block !important;
  }
}

@media (max-width: 768px) {
  .officeIcon {
    width: 40px;
  }
}

@media (max-width: 480px) {
  .footer-container {
    display: flex;
    flex-direction: column;
  }
  .subText {
    font-size: 12px;
  }

  .office h4 {
    font-size: 16px;
  }

  .office p {
    font-size: 12px;
  }
}

@media (max-width: 360px) {
  .officeIcon {
    width: 35px;
  }
}

.call-action-img .sec-bg-img {
  height: 450px;
  width: 130%;
  position: relative;
  margin-bottom: -200px;
}

.call-action-img .sec-lg-head {
  position: relative;
}

.call-action-img .sec-lg-head:after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 400%;
  height: 100%;
  background: #fff;
}

.call-action-center .bg-pattern {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 4;
}

.contact-crev {
  position: relative;
  overflow: hidden;
}

.contact-crev.no-crev:after {
  display: none;
}

.contact-crev:after {
  content: "";
  width: 80vw;
  height: 80vw;
  border: 200px solid #000;
  border-radius: 50%;
  position: absolute;
  top: -15vw;
  right: -30vw;
  opacity: 0.01;
  pointer-events: none;
}

.contact-crev input,
.contact-crev textarea {
  width: 100%;
  border: 1px solid rgba(0, 0, 0, 0.2);
  border-radius: 10px;
  background: transparent;
  padding: 15px;
  -webkit-transition: all 0.4s;
  -o-transition: all 0.4s;
  transition: all 0.4s;
}

.contact-crev input:focus,
.contact-crev textarea:focus {
  border-color: #777;
}

.contact-crev textarea {
  min-height: 180px;
}

/* Numbers
-----------------------------------------------------------------*/
.numbers h2 {
  font-size: 120px;
}

.numbers h6 {
  font-size: 16px;
}

.sideimg-numbers {
  position: relative;
}

.sideimg-numbers .bg-right {
  position: absolute;
  top: 0;
  right: 0;
  width: 50%;
  height: 100%;
  z-index: 2;
}

.sideimg-numbers .bg-right .vid-circle {
  width: 100px;
  height: 100px;
  line-height: 100px;
  text-align: center;
  border-radius: 50%;
}

.sideimg-numbers .bg-left {
  position: absolute;
  top: 0;
  left: 0;
  width: 45%;
  height: 100%;
  z-index: 2;
}

.sideimg-numbers .bg-left .vid-circle {
  width: 100px;
  height: 100px;
  line-height: 100px;
  text-align: center;
  border-radius: 50%;
}

.sideimg-numbers .bg-img {
  background-position: center center;
}

.sideimg-numbers .bg-img .vid {
  position: relative;
  z-index: 2;
}

.sideimg-numbers .bg-img .vid:after {
  content: "";
  position: absolute;
  top: 10px;
  left: 10px;
  right: 10px;
  bottom: 10px;
  background: #f1f3f5;
  border-radius: 50%;
  z-index: -1;
}

.sideimg-numbers .numbers {
  -webkit-transform: translateX(100px);
  -ms-transform: translateX(100px);
  transform: translateX(100px);
  padding: 120px 100px 120px 0;
  text-align: right;
}

.sideimg-numbers .numbers .item {
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  margin-left: auto;
  padding-bottom: 20px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.sideimg-numbers .numbers .item:last-of-type {
  padding: 0;
  border: 0;
}

.sideimg-numbers .numbers .item h2 {
  font-style: normal;
}

/* Features & list & tabs & accordin
-----------------------------------------------------------------*/
.list-arrow li .icon {
  width: 15px;
  margin-right: 10px;
}

.dot-list li {
  position: relative;
  padding-left: 15px;
}

.dot-list li:before {
  content: "";
  width: 4px;
  height: 4px;
  border-radius: 50%;
  position: absolute;
  top: 50%;
  left: 0;
  background: #1d1d1d;
}

.text-dark .dot-list li:before {
  background: #f1f3f5;
}

.accordion.bord .title {
  border-bottom: 1px solid rgba(0, 0, 0, 0.2);
  padding-right: 50px;
}

.accordion.bord .title:after {
  left: auto;
  right: 20px;
}

.accordion.bord .title .ico {
  left: auto;
  right: 25px;
}

.accordion .title {
  padding: 10px 0 10px 0;
  cursor: pointer;
  position: relative;
}

.accordion .accordion-info {
  display: none;
  margin-top: 15px;
}

.accordion .accordion-info p {
  margin-bottom: 30px;
}
.accordion .accordion-info .spac {
  margin-top: 30px;
  padding-left: 30px;
}

.accordion .accordion-info .spac h6 {
  position: relative;
}

.accordion .accordion-info .spac h6:after {
  content: "";
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #999;
  position: absolute;
  top: 3px;
  left: -15px;
}

.accordion .active {
  display: block;
}
.accordion .title {
  position: relative;
  padding-left: 40px; /* Ensure space for the icon */
}

.accordion .title .ico {
  position: absolute;
  top: 50%;
  left: 15px;
  width: 15px;
  height: 1px;
  background: #555;
  transform: translateY(-50%);
}

.accordion .title .ico::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 7px;
  width: 1px;
  height: 15px;
  background: #555;
  transform: translateY(-50%);
}

/* When active, remove the vertical bar to make it a minus sign */
.accordion .title.active .ico::after {
  display: none;
}

#tabs-fade .tab-content,
#tabs .tab-content {
  display: none;
}

#tabs-fade .tab-content.current,
#tabs .tab-content.current {
  display: block;
}

.approach-carso .swiper-wrapper {
  width: auto;
}

.approach-carso .swiper-slide {
  padding: 70px 50px;
  border: 1px solid rgba(0, 0, 0, 0.1);
  border-radius: 250px;
  margin-left: -7px;
  margin-right: -7px;
  -webkit-transition: all 0.4s;
  -o-transition: all 0.4s;
  transition: all 0.4s;
}

.approach-carso .swiper-slide:hover {
  border-color: #2a8e9e;
}

.approach-carso .item .stroke {
  color: transparent;
  -webkit-text-stroke: 1px #1d1d1d;
  font-weight: 800;
  line-height: 1;
}

/* Footer
-----------------------------------------------------------------*/
footer {
  position: relative;
}

footer .call-box {
  padding: 20px;
  border: 1px solid rgba(0, 0, 0, 0.1);
  border-radius: 15px;
}

footer .call-box h2 {
  font-size: 80px;
  line-height: 1;
}

footer .call-box .arrow svg {
  width: 80px;
  height: 80px;
}

footer .social-text li {
  margin-bottom: 15px;
  font-size: 13px;
  text-transform: uppercase;
  letter-spacing: 1px;
}
footer .social-text li:hover {
  color: #2a8e9e;
}
footer .social-text li:last-of-type {
  margin-bottom: 0;
}

footer .subscribe .form-group {
  position: relative;
}

footer .subscribe input {
  color: #1d1d1d;
  background: transparent;
  border: 0;
  border-bottom: 1px solid rgba(0, 0, 0, 0.1);
  width: 100%;
  padding: 15px 30px 15px 0;
}

footer .subscribe button {
  color: #1d1d1d;
  padding: 15px 0;
  position: absolute;
  top: 0;
  right: 0;
  background: transparent;
  border: 0;
}

footer .logo a {
  max-width: 120px;
}

footer .bg-pattern {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-size: 70px;
  background-repeat: repeat;
  pointer-events: none;
  opacity: 0.5;
}

/* Pages Header
-----------------------------------------------------------------*/
.page-header {
  min-height: 40vh;
  position: relative;
  overflow: hidden;
}

.page-header .background {
  min-height: 480px;
}

.page-header .caption .sub-title {
  position: relative;
  padding-left: 20px;
}

.page-header .caption .sub-title:after {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: #1d1d1d;
}

.page-header .explore {
  position: relative;
}

.page-header .explore:before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 105px;
  height: 105px;
  background: rgba(255, 255, 255, 0.05);
  border-radius: 50%;
  -webkit-transform: translateX(-50%) translateY(-50%);
  -ms-transform: translateX(-50%) translateY(-50%);
  transform: translateX(-50%) translateY(-50%);
  pointer-events: none;
}

.page-header .explore .rotate-circle {
  -webkit-animation-duration: 20s;
  animation-duration: 20s;
}

.page-header .main-marq {
  margin-bottom: -40px;
  text-transform: uppercase;
}

.page-header .main-marq .slide-har {
  position: relative;
}

.page-header .main-marq .slide-har.st1 .box {
  -webkit-animation: slide-har 150s linear infinite;
  animation: slide-har 150s linear infinite;
}

.page-header .main-marq .slide-har.st2 .box {
  -webkit-animation: slide-har-revers 150s linear infinite;
  animation: slide-har-revers 150s linear infinite;
}

.work-header .caption .sub-title {
  position: relative;
  padding-left: 20px;
}

.work-header .caption .sub-title:after {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: #1d1d1d;
}

.work-header .caption h1 {
  font-size: 60px;
}

@media only screen and (max-width: 768px) {
  .work-header .caption h1 {
    font-size: 35px !important;
  }

  .accordion .title {
    position: relative;
    padding-left: 0px !important; /* Ensure space for the icon */
  }
}

.bg-img {
  width: 100%;
  height: 60vh;
}

.proj-header2 {
  min-height: 60vh;
  padding-top: 100px;
  padding-bottom: 60px;
  background: linear-gradient(135deg, #1e3c72 0%, #2a5298 100%);
  color: white;
  display: flex;
  align-items: center;
}

/* Hero
-----------------------------------------------------------------*/
.marquee {
  position: relative;
  overflow: hidden;
  padding: 50px 0;
  border-top: 1px solid rgba(0, 0, 0, 0.2);
  border-bottom: 1px solid rgba(0, 0, 0, 0.2);
  -webkit-transform: rotate(-3deg);
  -ms-transform: rotate(-3deg);
  transform: rotate(-3deg);
  width: calc(100% + 60px);
  margin-left: -30px;
  background: #f1f3f5;
}

.marquee:before {
  content: "";
  position: absolute;
  top: 0px;
  bottom: 0px;
  left: -30px;
  right: -30px;
  pointer-events: none;
  background: -webkit-linear-gradient(
    right,
    #f1f3f5,
    transparent 300px,
    transparent calc(100% - 300px),
    #f1f3f5
  );
  background: -o-linear-gradient(
    right,
    #f1f3f5,
    transparent 300px,
    transparent calc(100% - 300px),
    #f1f3f5
  );
  background: linear-gradient(
    to left,
    #f1f3f5,
    transparent 300px,
    transparent calc(100% - 300px),
    #f1f3f5
  );
  z-index: 3;
}

.marquee h4 {
  font-size: 70px;
}

.cut-out {
  -webkit-clip-path: inset(-100vw 0vw -100vw -100vw);
  clip-path: inset(-100vw 0vw -100vw -100vw);
}

.block-pattern {
  position: relative;
}

.block-pattern .bg-pattern {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  background-size: contain;
  background-position: center bottom;
}

.serv-marq {
  position: relative;
  z-index: 3;
}

.serv-marq .ontop {
  -webkit-transform: rotate(-1deg);
  -ms-transform: rotate(-1deg);
  transform: rotate(-1deg);
}

.serv-marq .main-marq:after {
  display: none;
}

.serv-marq.skew .main-marq {
  -webkit-transform: rotate(-2deg);
  -ms-transform: rotate(-2deg);
  transform: rotate(-2deg);
}

.my-paroller img {
  -webkit-transform: translateY(50%);
  -ms-transform: translateY(50%);
  transform: translateY(50%);
}

.back-image {
  height: 75vh;
  min-height: 400px;
  overflow: hidden;
}

.back-image.states {
  min-height: auto;
}

.back-image.states .box {
  height: 100%;
  position: relative;
  z-index: 4;
}

.back-image.states ul {
  position: absolute;
  left: 0;
  bottom: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.back-image.states ul li {
  min-width: 350px;
  padding: 40px 30px;
  background: rgba(0, 0, 0, 0.3);
  margin-right: 30px;
}

.back-image.states ul li h5 {
  font-size: 20px;
  font-weight: 500;
  line-height: 1.6;
  text-transform: capitalize;
}

.back-image.states ul .sd-color {
  background: #c9f31d;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.back-image.states ul .sd-color .numb {
  margin-right: 30px;
  font-size: 40px;
  font-weight: 600;
}

.back-image.states ul .sd-light {
  background: #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.back-image.states ul .sd-light .numb {
  margin-right: 30px;
  font-size: 40px;
  font-weight: 600;
}

.back-image.states ul .sd-light .numb,
.back-image.states ul .sd-light h5 {
  color: #191919;
}

.back-image.states ul .sd-dark {
  background: #f1f3f5;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.back-image.states ul .sd-dark .numb {
  margin-right: 30px;
  font-size: 40px;
  font-weight: 600;
}

.back-image.states ul .sd-dark .numb,
.back-image.states ul .sd-dark h5 {
  color: #1d1d1d;
}

.back-image.states ul .blur {
  background: rgba(0, 0, 0, 0.2);
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.back-image.states ul .blur .icon {
  margin-left: auto;
  width: 60px;
  height: 60px;
  line-height: 60px;
  border: 1px solid #fff;
  border-radius: 50%;
  text-align: center;
  font-size: 30px;
}

.block-sec .img-vid {
  position: relative;
  overflow: hidden;
}

.block-sec .img-vid .rota-vid {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translateX(-50%) translateY(-50%);
  -ms-transform: translateX(-50%) translateY(-50%);
  transform: translateX(-50%) translateY(-50%);
}

.block-sec .img-vid .rota-vid .circle-button.in-bord:after {
  background: #fff;
}

.block-sec .img-vid .rota-vid .circle-button.in-bord:before {
  background: rgba(255, 255, 255, 0.05);
  -webkit-backdrop-filter: blur(4px);
  backdrop-filter: blur(4px);
  border: 0;
}

.block-sec .img-vid .rota-vid .arrow {
  z-index: 3;
  -webkit-transform: translateX(-7px) translateY(-7px);
  -ms-transform: translateX(-7px) translateY(-7px);
  transform: translateX(-7px) translateY(-7px);
}

.block-img {
  padding: 12px;
  overflow-x: hidden;
  position: relative;
}

.block-img .vid-circle {
  width: 70px;
  height: 70px;
  line-height: 70px;
  text-align: center;
  border-radius: 50%;
}

.block-img .shap1 {
  position: absolute;
  bottom: 100px;
  left: 0;
  width: 150px;
  -webkit-transform: rotate(90deg);
  -ms-transform: rotate(90deg);
  transform: rotate(90deg);
}

.block-img .shap2 {
  position: absolute;
  top: 0;
  right: 10%;
  width: 150px;
  -webkit-transform: rotate(180deg);
  -ms-transform: rotate(180deg);
  transform: rotate(180deg);
}

.block-img .half-img-left {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-position: left bottom;
  background-size: 40%;
  pointer-events: none;
}

.block-sec {
  position: relative;
}

.block-sec .back-bg {
  position: absolute;
  top: 120px;
  bottom: 120px;
  width: 100%;
  left: 0;
  z-index: -1;
}

.block-sec .cont-box {
  padding: 80px 40px;
}

.skills-box h6 {
  font-size: 13px;
  font-weight: 300;
  text-transform: uppercase;
  letter-spacing: 2px;
  margin-bottom: 10px;
}

.skills-box .skill-progress {
  height: 5px;
  background-color: rgba(0, 0, 0, 0.05);
  position: relative;
}

.skills-box .skill-progress .progres {
  position: absolute;
  height: 100%;
  width: 0;
  top: 0;
  left: 0;
  background: #1d1d1d;
  -webkit-transition: all 1.5s;
  -o-transition: all 1.5s;
  transition: all 1.5s;
}

.skills-box .skill-progress .progres:after {
  content: attr(data-value);
  position: absolute;
  right: 10px;
  top: -25px;
  font-size: 12px;
  font-weight: 600;
}

.intro-pan .text {
  width: 100%;
  height: 100%;
  padding: 40px;
  background: #fff;
  position: relative;
  z-index: 4;
}

.intro-pan .numbers .item {
  padding-top: 30px;
  border-top: 1px solid rgba(0, 0, 0, 0.1);
}

.intro-pan .numbers h2 {
  font-size: 100px;
}

.intro-pan .numbers h6 {
  font-size: 16px;
}

.sec-img .expr-box {
  display: inline-block;
  border: 5px solid #fff;
  padding: 30px 60px 30px 30px;
}

.sec-img .expr-box h2 {
  position: relative;
  display: inline-block;
  z-index: 3;
}

.sec-img .expr-box h2:after {
  content: "";
  position: absolute;
  top: -10px;
  right: -20px;
  width: 70px;
  height: 70px;
  border-radius: 50%;
  background: #c9f31d;
  opacity: 0.5;
  z-index: -1;
}

.thecontainer {
  width: 300%;
  height: 100vh;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: nowrap;
  flex-wrap: nowrap;
}

.panel {
  width: 100%;
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  position: relative;
}

/* Portfolio
-----------------------------------------------------------------*/
.works.thecontainer {
  width: 300vw;
  min-height: 100vh;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: nowrap;
  flex-wrap: nowrap;
}

.works .panel {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 100%;
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.works .panel .item {
  width: 42vw;
  position: relative;
}

.works .panel .item .cont {
  margin-top: 30px;
}

.works .panel .item .cont h5 {
  font-weight: 600;
  margin-bottom: 5px;
}

.works .panel .item .cont span {
  font-size: 15px;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 1px;
  opacity: 0.75;
}

.works .panel .item .link-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.workinter .block .block__link {
  display: block;
  padding: 30px 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.workinter .block .block__link:first-of-type {
  padding-top: 0;
}

.workinter .block .hover-reveal {
  width: 450px;
  height: 300px;
  z-index: 3;
}

.workinter .lg-sec-head h2 {
  background: -webkit-linear-gradient(90deg, transparent, #fff);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.workinter .lg-sec-head .rotate-circle svg {
  width: 220px;
  fill: rgba(255, 255, 255, 0.5);
}

.container-fluid {
  overflow-x: hidden;
}

.portfolio-fixed .left {
  position: relative;
  height: 100vh;
  overflow: hidden;
}

.portfolio-fixed .img {
  background-size: cover;
  background-position: center center;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -webkit-transition: all 0.4s linear;
  -o-transition: all 0.4s linear;
  transition: all 0.4s linear;
  opacity: 0;
}

.portfolio-fixed .img:first-of-type {
  opacity: 1;
  z-index: 1;
}

.portfolio-fixed .img:nth-of-type(2) {
  z-index: 2;
}

.portfolio-fixed .img:nth-of-type(3) {
  z-index: 3;
}

.portfolio-fixed .img:nth-of-type(4) {
  z-index: 4;
}

.portfolio-fixed .img:nth-of-type(5) {
  z-index: 5;
}
.portfolio-fixed .img:nth-of-type(6) {
  z-index: 6;
}
.portfolio-fixed .img:nth-of-type(7) {
  z-index: 7;
}
.portfolio-fixed .img:nth-of-type(8) {
  z-index: 8;
}
.portfolio-fixed .img:nth-of-type(9) {
  z-index: 9;
}
.portfolio-fixed .img:nth-of-type(10) {
  z-index: 10;
}
.portfolio-fixed .img.current {
  opacity: 1;
}

.portfolio-fixed .right {
  padding: 250px 100px;
  overflow: hidden;
}

.portfolio-fixed .cont {
  margin-bottom: 250px;
  opacity: 0.1;
  -webkit-transition: all 0.4s;
  -o-transition: all 0.4s;
  transition: all 0.4s;
}

.portfolio-fixed .cont:last-of-type {
  margin-bottom: 0;
}

.portfolio-fixed .cont.active {
  opacity: 1;
}

.portfolio-fixed .cont .img-hiden {
  display: none;
}

.portfolio-fixed .current.cont {
  opacity: 1;
}

.portfolio {
  position: relative;
}

.portfolio .sec-head .lg-text {
  font-size: 8vw;
  line-height: 1;
}

.portfolio .filtering .filter {
  padding: 11px 15px;
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 30px;
  display: inline-block;
}

.portfolio .filtering span {
  font-weight: 500;
  font-size: 13px;
  margin: 0 20px;
  cursor: pointer;
  position: relative;
  opacity: 0.7;
}

.portfolio .filtering span.active {
  opacity: 1;
}

.portfolio .filtering span.text {
  pointer-events: none;
}

.portfolio.changed-bg {
  -webkit-transition: all 0.5s;
  -o-transition: all 0.5s;
  transition: all 0.5s;
}

.portfolio.changed-bg.chang-text {
  color: #000;
}

.portfolio.changed-bg.chang-text p {
  color: #000;
  -webkit-transition: all 0.5s;
  -o-transition: all 0.5s;
  transition: all 0.5s;
}

.portfolio.changed-bg.chang-text .sec-lg-head .path {
  stroke: #000;
  -webkit-transition: all 0.5s;
  -o-transition: all 0.5s;
  transition: all 0.5s;
}

.portfolio .work-row .item {
  position: relative;
  padding: 40px 0;
}

.portfolio .work-row .item:hover .main-marq .box {
  -webkit-animation-play-state: running;
  animation-play-state: running;
}

.portfolio .work-row .item .title {
  padding-bottom: 15px;
}

.portfolio .work-row .item .title .numb {
  font-size: 12px;
  width: 40px;
  height: 40px;
  line-height: 40px;
  text-align: center;
  border: 1px solid rgba(0, 0, 0, 0.5);
  border-radius: 50px;
  margin-bottom: 15px;
}

.portfolio .work-row .item .cont {
  padding-left: 30px;
  padding-bottom: 15px;
}

.portfolio .work-row .item .main-marq {
  position: absolute;
  width: 100%;
  top: 15px;
  left: -50%;
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  transform: translateX(-50%);
  opacity: 0.2;
  z-index: -1;
}

.portfolio .work-row .item .main-marq .box {
  -webkit-animation-play-state: paused;
  animation-play-state: paused;
}

.portfolio .work-row .item .main-marq .box .item {
  padding: 0 60px;
}

.portfolio .metro .items.height-1 {
  height: 530px;
}

.portfolio .metro .items.height-1 img {
  height: 530px;
  width: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

.portfolio .metro .items.height-2 {
  height: 250px;
}

.portfolio .metro .items.height-2 img {
  height: 250px;
  width: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

.portfolio .metro .items .item-img a {
  width: 100%;
}

.portfolio .metro .info-overlay .item-img {
  position: relative;
  overflow: hidden;
}

.portfolio .metro .info-overlay .item-img:hover:after {
  opacity: 0.8;
}

.portfolio .metro .info-overlay .item-img:hover .info h6,
.portfolio .metro .info-overlay .item-img:hover .info .tag {
  -webkit-transform: translateY(0);
  -ms-transform: translateY(0);
  transform: translateY(0);
  opacity: 1;
}

.portfolio .metro .info-overlay .item-img:hover .info .tag {
  -webkit-transition-delay: 0.2s;
  -o-transition-delay: 0.2s;
  transition-delay: 0.2s;
}

.portfolio .metro .info-overlay .item-img:after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #1d1d1d;
  -webkit-transition: all 0.4s;
  -o-transition: all 0.4s;
  transition: all 0.4s;
  pointer-events: none;
  opacity: 0;
}

.portfolio .metro .info-overlay .item-img .info {
  color: #fff !important;
  position: absolute;
  top: 50%;
  left: 0;
  width: 100%;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  overflow: hidden;
  z-index: 2;
}

.portfolio .metro .info-overlay .item-img .info h6,
.portfolio .metro .info-overlay .item-img .info .tag {
  -webkit-transform: translateY(100px);
  -ms-transform: translateY(100px);
  transform: translateY(100px);
  opacity: 0;
  -webkit-transition: all 0.6s;
  -o-transition: all 0.6s;
  transition: all 0.6s;
}

.portfolio .metro .info-overlay .item-img .info h6 a,
.portfolio .metro .info-overlay .item-img .info .tag a {
  color: #fff !important;
}

.portfolio .metro .info-overlay .item-img .info .tag {
  -webkit-transition-delay: 0;
  -o-transition-delay: 0;
  transition-delay: 0;
}

.portfolio .metro .item-img {
  position: relative;
  height: 100%;
}

.portfolio .metro .item-img .info-over {
  position: absolute;
  bottom: 30px;
  left: 30px;
  opacity: 0;
}

.portfolio .masonry .info-overlay .item-img,
.portfolio .grid .info-overlay .item-img {
  position: relative;
}

.portfolio .masonry .info-overlay .item-img:after,
.portfolio .grid .info-overlay .item-img:after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #1d1d1d;
  opacity: 0;
  -webkit-transition: all 0.4s;
  -o-transition: all 0.4s;
  transition: all 0.4s;
  pointer-events: none;
}

.portfolio .masonry .info-overlay .item-img a,
.portfolio .grid .info-overlay .item-img a {
  width: 100%;
}

.portfolio .masonry .info-overlay .item-img .info,
.portfolio .grid .info-overlay .item-img .info {
  color: #fff;
  position: absolute;
  bottom: 15px;
  left: 15px;
  opacity: 0;
  -webkit-transform: translateY(40px);
  -ms-transform: translateY(40px);
  transform: translateY(40px);
  -webkit-transition: all 0.4s;
  -o-transition: all 0.4s;
  transition: all 0.4s;
  z-index: 2;
}

.portfolio .masonry .info-overlay .item-img .info,
.portfolio .grid .info-overlay .item-img .info {
  opacity: 1;
  -webkit-transform: translateY(0);
  -ms-transform: translateY(0);
  transform: translateY(0);
}

.portfolio .masonry .inner,
.portfolio .grid .inner {
  height: 300px;
}

.portfolio .masonry .inner img,
.portfolio .grid .inner img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: center center;
  object-position: center center;
}

.portfolio .masonry .inner {
  height: auto;
}

.portfolio .masonry .inner img {
  width: 100%;
  height: auto;
  -o-object-fit: contain;
  object-fit: contain;
}

.portfolio .max-margin {
  margin-left: -40px;
  margin-right: -40px;
}

.portfolio .max-margin .items {
  padding: 0 40px;
}

.portfolio.clasic .item .img {
  position: relative;
  height: 400px;
}

.portfolio.clasic .item .img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: center center;
  object-position: center center;
}

.portfolio.clasic .item .img .tag {
  position: absolute;
  bottom: 20px;
  left: 20px;
  padding: 7px 20px;
  border-radius: 30px;
  background: #fff;
  color: #000;
  font-size: 13px;
  -webkit-transition: all 0.4s;
  -o-transition: all 0.4s;
  transition: all 0.4s;
  opacity: 0;
}

.portfolio.clasic .item:hover .img .tag {
  opacity: 1;
}

.work-carsouel {
  position: relative;
}

.work-carsouel .work-crus.out {
  width: 120%;
  margin-left: -10%;
}

.work-carsouel .work-crus .swiper-slide-active .img .cont span,
.work-carsouel .work-crus .swiper-slide-active .img .cont h6 {
  opacity: 1;
  -webkit-transform: translate(0);
  -ms-transform: translate(0);
  transform: translate(0);
}

.work-carsouel .work-crus .img {
  position: relative;
}

.work-carsouel .work-crus .img .cont {
  position: absolute;
  bottom: 30px;
  left: 30px;
}

.work-carsouel .work-crus .img .cont span,
.work-carsouel .work-crus .img .cont h6,
.work-carsouel .work-crus .img .cont p {
  background: #f1f3f5;
  font-weight: 500;
  padding: 5px 15px;
  -webkit-transform: translateY(10px);
  -ms-transform: translateY(10px);
  transform: translateY(10px);
  opacity: 0;
  -webkit-transition: all 0.4s;
  -o-transition: all 0.4s;
  transition: all 0.4s;
}

.work-carsouel .work-crus .img .cont h6,
.work-carsouel .work-crus .img .cont p {
  -webkit-transition-delay: 0.2s;
  -o-transition-delay: 0.2s;
  transition-delay: 0.2s;
}

.work-carsouel .work-crus .img .plink {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.work-carsouel .work-crus.random .swiper-container {
  overflow: visible;
}

.work-carsouel .work-crus.random .swiper-slide .item .img {
  height: 450px;
}

.work-carsouel .work-crus.random .swiper-slide .item .img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: center center;
  object-position: center center;
}

.work-carsouel .work-crus.random .swiper-slide:nth-of-type(odd) .item .img {
  height: 380px;
  -webkit-transform: translateY(35px);
  -ms-transform: translateY(35px);
  transform: translateY(35px);
}

.work-carsouel .work-crus.random .swiper-slide:nth-of-type(odd) .item .img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: center center;
  object-position: center center;
}

.work-carsouel .out-right {
  -webkit-clip-path: inset(-100vw -100vw -100vw 0);
  clip-path: inset(-100vw -100vw -100vw 0);
}

.work-carsouel .out-right .swiper-container {
  overflow: visible;
}

.work-carsouel.full-height {
  min-height: 100vh;
}

.work-carsouel.full-height .swiper-slide .img {
  height: 60vh;
}

.work-carsouel.full-height .swiper-slide .img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: center center;
  object-position: center center;
}

.work-carsouel .work-controls {
  position: absolute;
  bottom: 40px;
  left: 0;
  width: 100%;
}

.work-carsouel .work-controls .swiper-pagination {
  position: absolute;
  bottom: 10px;
  left: 50%;
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  transform: translateX(-50%);
  z-index: 44;
}

.work-carsouel .work-controls .swiper-pagination span {
  cursor: pointer;
}
.bg-clr {
  background-color: #fffbf8;
}
.showcase-full {
  position: relative;
  height: 60vh;
}

.showcase-full .parallax-slider .caption {
  position: relative;
}

.showcase-full .parallax-slider .caption h1 {
  font-size: 80px;
  position: relative;
  line-height: 1.2;
}

.showcase-full .parallax-slider .swiper-slide-active .caption .discover {
  opacity: 1;
  -webkit-transition: all 0.7s;
  -o-transition: all 0.7s;
  transition: all 0.7s;
}

.showcase-full .slider-contro {
  position: absolute;
  bottom: 60px;
  left: 80px;
  width: calc(100% - 160px);
}

.showcase-full .slider-contro i {
  margin: 0 10px;
  color: #fff;
}

.showcase-full .slider-contro span {
  color: #fff;
  white-space: nowrap;
}

.showcase-full .dots {
  bottom: 50px;
  z-index: 1;
}

.showcase-full .dots span {
  background: #fff;
  width: 5px;
  height: 5px;
  margin: 0 7px !important;
  border-radius: 50% !important;
}

.showcase-full .dots span.swiper-pagination-bullet-active {
  position: relative;
}

.showcase-full .dots span.swiper-pagination-bullet-active:after {
  content: "";
  position: absolute;
  top: -5px;
  left: -5px;
  right: -5px;
  bottom: -5px;
  border: 1px solid #fff;
  border-radius: 50%;
}

.showcase-full .swiper-button-next:after,
.showcase-full .swiper-button-prev:after {
  display: none;
}

.parallax-show .inner {
  height: 60vh;
}

body.inter-center {
  overflow: hidden;
}

.inter-links-center {
  position: relative;
  height: 60vh;
  overflow: auto;
}

.inter-links-center::-webkit-scrollbar {
  width: 0;
}

.inter-links-center::-webkit-scrollbar-track {
  background: transparent;
}

.inter-links-center::-webkit-scrollbar-thumb {
  background: #999;
  border-radius: 10px;
}

.inter-links-center::-webkit-scrollbar-thumb:hover {
  background: #555;
}

.inter-links-center.horizontal .links-text ul {
  margin-left: -40px !important;
  margin-right: -40px !important;
}

.inter-links-center.horizontal .links-text li {
  display: inline-block;
  padding: 40px;
}

.inter-links-center.horizontal .links-text li .sub-title {
  margin-bottom: 10px;
}

.inter-links-center.horizontal .links-text li h2 {
  font-weight: 700;
  font-size: 30px;
}

.inter-links-center.horizontal .links-text li h2 a .tag {
  display: block;
  font-weight: 400;
}

.inter-links-center.horizontal .links-text li h2 .num {
  font-size: 14px;
  font-weight: 600;
  opacity: 0.7;
  margin-right: 15px;
}

.inter-links-center .links-text li {
  padding: 40px 0;
  position: relative;
  z-index: 9;
}

.inter-links-center .links-text li .text {
  -webkit-transition: all 0.4s;
  -o-transition: all 0.4s;
  transition: all 0.4s;
  -webkit-text-stroke: 1px transparent;
}

.inter-links-center .links-text li.no-active {
  opacity: 0.3;
}

.inter-links-center .links-text li.no-active .text {
  color: transparent;
  -webkit-text-stroke: 1px #fff;
}

.inter-links-center .links-text li.current {
  color: #fff;
}

.inter-links-center .links-text li h2 {
  font-weight: 800;
}

.inter-links-center .links-text li h2 a .tag {
  display: block;
  font-weight: 400;
}

.inter-links-center .links-text li h2 .num {
  font-size: 14px;
  font-weight: 600;
  opacity: 0.7;
  margin-right: 15px;
}

.inter-links-center .links-img {
  position: fixed;
  top: 50%;
  left: 50%;
  width: 80vw;
  height: 70vh;
  -webkit-transform: translateX(-50%) translateY(-50%);
  -ms-transform: translateX(-50%) translateY(-50%);
  transform: translateX(-50%) translateY(-50%);
  pointer-events: none;
  overflow: hidden;
}

.inter-links-center .links-img .img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  -webkit-transform: scale(1.1, 1.1);
  -ms-transform: scale(1.1, 1.1);
  transform: scale(1.1, 1.1);
  -webkit-transition: all 0.7s;
  -o-transition: all 0.7s;
  transition: all 0.7s;
}

.inter-links-center .links-img .img.current {
  -webkit-transform: scale(1);
  -ms-transform: scale(1);
  transform: scale(1);
  opacity: 1;
}

.inter-links-center .links-img .img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

/* Pricing
-----------------------------------------------------------------*/
.price-hr .item {
  padding: 50px 30px;
}

.price-hr .item .butn {
  padding: 7px 25px;
}

.price-hr .item.text-dark .butn {
  border-color: #fff;
}

.price-hr .item.text-dark .butn:hover {
  border-color: #fff;
}

.pricing .item {
  padding: 50px 30px;
  border: 1px solid rgba(0, 0, 0, 0.05);
  border-radius: 5px;
}

.pricing .item li {
  margin-bottom: 10px;
  padding-left: 20px;
  position: relative;
}

.pricing .item li:after {
  content: "";
  width: 5px;
  height: 5px;
  background: #1d1d1d;
  border-radius: 50%;
  position: absolute;
  left: 0;
  top: calc(50% - 5px);
}

/* Process
-----------------------------------------------------------------*/
.process-corp {
  position: relative;
  overflow: hidden;
}

.process-corp:after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 80%;
  background-color: #eff2f5;
  background-image: url(../imgs/patterns/bg-pattern.png);
  background-size: auto;
  background-repeat: repeat;
  z-index: -1;
}

.process-corp .img {
  margin-top: 80px;
  position: relative;
  z-index: 5;
}

.process-corp .cont {
  position: relative;
  height: 100%;
  z-index: 3;
}

.process-corp .cont:after {
  content: "";
  position: absolute;
  top: 0;
  right: -25%;
  width: 200%;
  height: 200%;
  background: #f1f3f5;
  z-index: -1;
}

.process-crev .row {
  margin-left: -50px;
}

.process-crev .item {
  padding: 30px;
  padding-left: 50px;
  border-right: 1px solid #ccc;
}

.process-crev .item:last-of-type {
  border: 0;
}

/* Services
-----------------------------------------------------------------*/
.services-crv .crle-item {
  position: relative;
}
.services {
  background-color: #f5fdfd;
}
.services-crv .crle-item:after {
  content: "";
  position: absolute;
  top: -120px;
  bottom: -120px;
  right: 30%;
  border-right: 1px solid rgba(255, 255, 255, 0.4);
}

.services-crv .crle-item .text {
  width: 400px;
  height: 400px;
  text-align: center;
  border-radius: 50%;
  border: 1px solid rgba(255, 255, 255, 0.4);
  padding: 40px;
  position: relative;
  z-index: 2;
}

.services .arrow .circle {
  width: 40px;
  height: 40px;
  line-height: 40px;
  text-align: center;
  border-radius: 50%;
  border: 1px solid rgba(0, 0, 0, 0.1);
  background: rgba(0, 0, 0, 0.05);
}

.services .item-bord {
  border-right: 1px solid rgba(0, 0, 0, 0.1);
  padding: 100px 50px;
}

.services .item-bord .arrow svg {
  height: 25px;
  fill: #1d1d1d;
}

.services .item-bord:last-of-type {
  border: 0;
}

.item-bord2 {
  background: #fff;
  padding: 30px;
  border-radius: 10px;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);
  transition: all 0.3s ease-in-out;
  min-height: 300px; /* or whatever height suits your layout */
  overflow: hidden; /* optional: to prevent content overflow */
}

.item-bord2:hover {
  transform: translateY(-5px);
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.12);
  border-color: transparent;
}

.icon-img-60 img {
  max-width: 60px;
  height: auto;
}

.services .serv-items-crev .swiper-slide {
  height: auto;
}

.services .serv-items-crev .item {
  padding: 60px 45px;
  border-right: 1px solid rgba(0, 0, 0, 0.1);
  height: 100%;
  -webkit-transition: all 0.4s;
  -o-transition: all 0.4s;
  transition: all 0.4s;
}

.services .serv-items-crev .item p {
  font-size: 13px;
}

.services .serv-items-crev .item:hover {
  background: rgba(0, 0, 0, 0.02);
}

.services .metro {
  display: -ms-grid;
  display: grid;
  -ms-flex-line-pack: center;
  align-content: center;
  overflow: hidden;
}

.services .metro .items {
  list-style-type: none;
  gap: 30px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.services .metro .items .item {
  min-width: 400px;
  background: #fff;
  cursor: -webkit-grab;
  cursor: grab;
  display: -ms-grid;
  display: grid;
  place-content: center;
  padding: 80px 60px;
}

.serv-box .serv-item {
  padding: 60px 40px;
  border: 1px solid rgba(0, 0, 0, 0.1);
}

.serv-box .serv-item .arrow svg {
  height: 25px;
  fill: #1d1d1d;
}

.serv-box .lg-pad {
  padding: 60px;
}

.serv-box .crv-more a {
  width: 100%;
  padding: 15px 0px 15px 30px;
  border: 1px solid rgba(0, 0, 0, 0.05);
  border-radius: 30px;
  -webkit-transition: all 0.4s;
  -o-transition: all 0.4s;
  transition: all 0.4s;
  position: relative;
}

.serv-box .crv-more a svg {
  position: absolute;
  top: -1px;
  right: 0;
  width: 50px;
  height: 50px;
  padding: 15px;
  border: 1px solid rgba(0, 0, 0, 0.05);
  border-radius: 50%;
}

.serv-box .crv-more a:hover {
  background: #fff;
  color: #181314;
}

.maz-serv {
  position: relative;
}

.maz-serv .item-serv {
  padding: 30px 50px;
}

.maz-serv .main-marq {
  position: absolute;
  bottom: 20%;
  left: 0;
}

.half-sub-right {
  position: relative;
}

.half-sub-right:after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: calc(50% - 50px);
  height: 100%;
  background: #fff;
  z-index: -1;
}

.services-tab .serv-tab-cont .item {
  position: relative;
}

.services-tab .serv-tab-cont .item .img {
  width: 70%;
  height: 540px;
}

.services-tab .serv-tab-cont .item .img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: center center;
  object-position: center center;
}

.services-tab .serv-tab-cont .item .cont {
  position: absolute;
  bottom: -80px;
  left: 20%;
  right: 0;
  padding: 80px 40px;
}

.services-tab .serv-tab-link .item-link {
  font-size: 40px;
  font-weight: 500;
  cursor: pointer;
}

.services-tab .serv-tab-link .item-link span {
  font-size: 20px;
  margin-right: 30px;
}

.services-tab .half-img-left {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-position: left top;
  background-size: 50%;
  pointer-events: none;
}

.services-tab.revers .serv-tab-cont .item {
  position: relative;
}

.services-tab.revers .serv-tab-cont .item .img {
  width: 70%;
  margin-left: 30%;
  height: 540px;
}

.services-tab.revers .serv-tab-cont .item .img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: center center;
  object-position: center center;
}

.services-tab.revers .serv-tab-cont .item .cont {
  position: absolute;
  bottom: -2px;
  right: 30%;
  left: auto;
  padding: 60px 40px;
}

.services-tab.revers .serv-tab-cont .item .cont .bg-pattern {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-size: cover;
  background-position: bottom;
  pointer-events: none;
}

.serv-img-reveal .block__title {
  -webkit-transition: all 0.4s;
  -o-transition: all 0.4s;
  transition: all 0.4s;
}

.serv-img-reveal .block__title:hover {
  border-color: #eee;
}

.serv-img-reveal .block[data-fx="1"] a::after,
.serv-img-reveal a.content__text-link[data-fx="1"]::after {
  content: "";
  z-index: -1;
  width: 100%;
  bottom: 0.25rem;
  left: 0;
  position: absolute;
  height: 2px;
  background: currentColor;
  -webkit-transform: scale3d(0, 1, 1);
  transform: scale3d(0, 1, 1);
  -webkit-transform-origin: 0% 50%;
  -ms-transform-origin: 0% 50%;
  transform-origin: 0% 50%;
  -webkit-transition: -webkit-transform 0.2s cubic-bezier(0.39, 0.575, 0.565, 1);
  transition: -webkit-transform 0.2s cubic-bezier(0.39, 0.575, 0.565, 1);
  -o-transition: transform 0.2s cubic-bezier(0.39, 0.575, 0.565, 1);
  transition: transform 0.2s cubic-bezier(0.39, 0.575, 0.565, 1);
  transition: transform 0.2s cubic-bezier(0.39, 0.575, 0.565, 1),
    -webkit-transform 0.2s cubic-bezier(0.39, 0.575, 0.565, 1);
}

.serv-img-reveal a.content__text-link[data-fx="1"]::after {
  bottom: 0;
}

.serv-img-reveal .hover-reveal {
  position: fixed;
  width: 240px;
  height: 180px;
  top: 0;
  left: 0;
  pointer-events: none;
  opacity: 0;
  -webkit-transform: rotate(-15deg) translateY(-90px) translateX(50px);
  -ms-transform: rotate(-15deg) translateY(-90px) translateX(50px);
  transform: rotate(-15deg) translateY(-90px) translateX(50px);
}

.serv-img-reveal .hover-reveal__inner,
.serv-img-reveal .hover-reveal__img {
  width: 100%;
  height: 100%;
  position: relative;
}

.serv-img-reveal .hover-reveal__deco {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background-color: #181314;
}

.serv-img-reveal .hover-reveal__img {
  background-size: cover;
  background-position: 50% 50%;
}

/* Sliders
-----------------------------------------------------------------*/
.svg-animation.star line,
.svg-animation.star path {
  -webkit-animation: starPathRotate;
  animation: starPathRotate;
  animation-direction: alternate-reverse;
  -webkit-animation-duration: 5s;
  animation-duration: 5s;
  -webkit-animation-iteration-count: infinite;
  animation-iteration-count: infinite;
  -webkit-animation-timing-function: cubic-bezier(0.645, 0.045, 0.355, 1);
  animation-timing-function: cubic-bezier(0.645, 0.045, 0.355, 1);
  -webkit-transform-origin: center center;
  -ms-transform-origin: center center;
  transform-origin: center center;
}

@-webkit-keyframes starPathRotate {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  5% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  40% {
    -webkit-transform: rotate(var(--transform));
    transform: rotate(var(--transform));
  }
  60% {
    -webkit-transform: rotate(var(--transform));
    transform: rotate(var(--transform));
  }
  95% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}

@keyframes starPathRotate {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  5% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  40% {
    -webkit-transform: rotate(var(--transform));
    transform: rotate(var(--transform));
  }
  60% {
    -webkit-transform: rotate(var(--transform));
    transform: rotate(var(--transform));
  }
  95% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}

@media only screen and (min-width: 480px) {
  header.full-height {
    min-height: 100vh;
    padding: 100px 0 80px;
  }
}

header .full-height {
  min-height: 100vh;
  padding: 100px 0 80px;
}

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

.header-main {
  position: relative;
  background-position: center bottom;
}

.header-main .caption h1 {
  font-size: 100px;
}

.header-main .caption .rotate-circle svg {
  width: 160px;
}

.header-main .circle-button .rotate-circle svg {
  fill: #fff;
}

.header-main .bg-pattern {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-size: 70px;
  background-repeat: repeat;
  pointer-events: none;
}

.header-main-crev {
  position: relative;
  overflow: hidden;
  padding-top: 160px;
}

.header-main-crev .caption {
  border-right: 2px solid rgba(255, 255, 255, 0.1);
}

.header-main-crev .img {
  height: 400px;
  margin-top: 60px;
}

.header-main-crev .img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: center center;
  object-position: center center;
}

.header-creative {
  position: relative;
}

.header-creative .img {
  position: relative;
}

.header-creative .img .img-assets1 {
  position: absolute;
  top: -180px;
  left: 0;
  width: 200px;
}

.header-creative .svg-animation {
  height: 50px;
  width: 50px;
}

.header-creative .bg-pattern {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-position: center center;
  pointer-events: none;
}

.header-startup {
  position: relative;
}

.header-startup .caption .img-in-text {
  height: 55px;
  background-position: center center;
}

.header-startup .caption .stroke {
  color: transparent;
  -webkit-text-stroke: 0.5px #1d1d1d;
}

.header-startup .caption .icon-img-60 {
  -webkit-filter: invert(1);
  filter: invert(1);
}

.header-startup .arrow-down {
  width: 100px;
  height: 100px;
  line-height: 100px;
  text-align: center;
  border: 1px solid rgba(0, 0, 0, 0.1);
  border-radius: 50%;
  position: absolute;
  bottom: -50px;
  left: calc(50% - 50px);
  -webkit-transform: rotate(90deg);
  -ms-transform: rotate(90deg);
  transform: rotate(90deg);
}

.header-startup .arrow-down:after {
  content: "";
  position: absolute;
  top: -10px;
  left: -10px;
  right: -10px;
  bottom: -10px;
  border-radius: 50%;
  border-left: 1px dashed #1d1d1d;
  opacity: 0.4;
}

.header-startup .bg-pattern-half {
  position: absolute;
  top: 0;
  left: 0;
  width: 50%;
  height: 100%;
  background-position: center center;
  pointer-events: none;
  z-index: -1;
}

.header-startup .bg-pattern-half:last-of-type {
  left: auto;
  right: 0;
}

.slider {
  position: relative;
}

.slider .lines {
  z-index: 5;
}

.slider .swiper-slide-active {
  z-index: 3;
}

.slider .parallax-slider {
  position: relative;
}

.slider .parallax-slider .swiper-slide {
  position: relative;
  overflow: hidden;
  width: 100%;
  min-height: 100vh;
  padding: 80px 0;
}

.slider .parallax-slider .swiper-slide .bg-img {
  position: absolute;

  height: 60vh;

  background-size: cover;
}

.slider .parallax-slider .swiper-slide-active .caption .thin,
.slider .parallax-slider .swiper-slide-active .caption .btn-curve,
.slider .parallax-slider .swiper-slide-active .caption p {
  opacity: 1;
  -webkit-transform: translateY(0);
  -ms-transform: translateY(0);
  transform: translateY(0);
}

.slider .parallax-slider .caption .cal-act {
  position: relative;
}

.slider .parallax-slider .caption p {
  color: #eee;
  margin-top: 15px;
  opacity: 0;
  -webkit-transform: translateY(20px);
  -ms-transform: translateY(20px);
  transform: translateY(20px);
  -webkit-transition: all 0.4s;
  -o-transition: all 0.4s;
  transition: all 0.4s;
  -webkit-transition-delay: 1s;
  -o-transition-delay: 1s;
  transition-delay: 1s;
}

.slider .sm-stauts {
  position: absolute;
  bottom: 0;
  right: 0;
  background: #f1f3f5;
  z-index: 9;
}

.slider .sm-stauts .item {
  padding: 20px 40px;
}

.slider .sm-stauts .item .text {
  margin-left: 20px;
}

.header-freelancer {
  padding: 120px 0 0 !important;
  overflow: hidden;
}

.header-freelancer .bg-img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-size: 60%;
  background-repeat: no-repeat;
  background-position: right bottom;
}

.header-freelancer .img {
  position: relative;
}

.header-freelancer .img:after {
  content: "*";
  font-size: 50vw;
  line-height: 0;
  color: transparent;
  -webkit-text-stroke: 1px #c9f31d;
  position: absolute;
  top: 70%;
  left: 50%;
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  transform: translateX(-50%);
}

.header-freelancer .img img {
  position: relative;
  z-index: 3;
}

.arch-slider .parallax-slider .caption h5 {
  font-size: 50px;
  overflow: hidden;
}

.arch-slider .parallax-slider .caption h5 span {
  -webkit-transform: translateX(-15px);
  -ms-transform: translateX(-15px);
  transform: translateX(-15px);
  color: #1d1d1d;
}

.arch-slider .parallax-slider .caption h1 {
  font-size: 75px;
  letter-spacing: 2px;
}

.arch-slider .parallax-slider .caption p {
  padding-left: 80px;
  margin-left: 10px;
  position: relative;
}

.arch-slider .parallax-slider .caption p:after {
  content: "";
  position: absolute;
  left: 0;
  top: 15px;
  background: #fff;
  width: 40px;
  height: 2px;
}

.arch-slider .parallax-slider .explore {
  position: relative;
}

.arch-slider .parallax-slider .explore:before,
.arch-slider .parallax-slider .explore:after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 160px;
  height: 160px;
  border: 1px solid #fff;
  border-radius: 50%;
  -webkit-transform: translateX(-50%) translateY(-50%);
  -ms-transform: translateX(-50%) translateY(-50%);
  transform: translateX(-50%) translateY(-50%);
  pointer-events: none;
}

.arch-slider .parallax-slider .explore:before {
  width: 105px;
  height: 105px;
  background: rgba(255, 255, 255, 0.15);
}

.arch-slider .parallax-slider .explore svg {
  fill: #fff;
}

.arch-slider .setting {
  position: absolute;
  bottom: 0;
  right: 0;
  z-index: 4;
}

.arch-slider .setting .swiper-button-next,
.arch-slider .setting .swiper-button-prev {
  font-size: 12px;
  color: #1d1d1d;
  background: #f1f3f5;
  width: 60px;
  height: 60px;
  line-height: 60px;
  text-align: center;
  display: block;
  position: static;
  margin: auto;
}

.arch-slider .setting .swiper-button-next:after,
.arch-slider .setting .swiper-button-prev:after {
  display: none;
}

.arch-slider .setting .swiper-button-next {
  border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}

.arch-slider .setting .swiper-pagination-bullets {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translateX(-50%) translateY(-50%);
  -ms-transform: translateX(-50%) translateY(-50%);
  transform: translateX(-50%) translateY(-50%);
}

.arch-slider .setting .swiper-pagination-bullets .swiper-pagination-bullet {
  width: 5px;
  height: 5px;
  background: rgba(0, 0, 0, 0.4);
  border-radius: 50%;
  margin: 0 7px;
  position: relative;
  opacity: 1;
}

.arch-slider .setting .swiper-pagination-bullets .swiper-pagination-bullet-active {
  background: #1d1d1d;
  -webkit-transform: scale(1.5);
  -ms-transform: scale(1.5);
  transform: scale(1.5);
}

.crev-header {
  min-height: 100vh;
  position: relative;
  padding: 120px 0 0;
}

.crev-header .caption h1 {
  font-size: 85px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 2px;
}

.crev-header .main-img {
  height: 400px;
  width: 60%;
  margin-left: 40%;
  margin-top: -160px;
}

.crev-header .main-img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: center center;
  object-position: center center;
}

.crev-header .bg-pattern {
  height: auto;
  bottom: 100px;
}

/* Team
-----------------------------------------------------------------*/
.team .item-join {
  border: 1px solid rgba(0, 0, 0, 0.1);
  padding: 40px;
  height: calc(100% - 80px);
}

.team-box .item {
  position: relative;
  padding: 15px;
  border: 1px solid rgba(0, 0, 0, 0.1);
}

.team-box .item .info {
  position: absolute;
  left: 30px;
  bottom: 30px;
  background: #f1f3f5;
  border-radius: 50px;
  padding: 10px 40px 10px 10px;
}

.team-box .item .info h6 {
  line-height: 1;
  margin-top: 5px;
}

.team-box .item:hover .img {
  top: 0;
  left: 0;
  -webkit-transform: scale(1) translateY(0);
  -ms-transform: scale(1) translateY(0);
  transform: scale(1) translateY(0);
  border-radius: 0;
}

.team-crev .swiper-slide .item {
  position: relative;
}

.team-crev .swiper-slide .item:hover .info {
  opacity: 1;
  visibility: visible;
}

.team-crev .swiper-slide .item:hover img {
  -webkit-filter: grayscale(0) !important;
  filter: grayscale(0) !important;
}

.team-crev .swiper-slide .item .info {
  position: absolute;
  bottom: 0;
  height: 100%;
  left: 1px;
  right: 1px;
  overflow: hidden;
  opacity: 0;
  visibility: hidden;
  -webkit-transition: all 0.4s;
  -o-transition: all 0.4s;
  transition: all 0.4s;
}

.team-crev .swiper-slide .item .main-marq {
  position: absolute;
  bottom: 0;
  padding: 15px 0;
}

.team-crev .swiper-slide .item .main-marq .item {
  padding: 0 15px !important;
}

.team-crev .swiper-slide .item .main-marq .item h4 {
  font-size: 20px;
  font-weight: 600;
  margin: 0 !important;
}

.team-crev .swiper-slide .item .main-marq.team-position {
  background: #f1f3f5;
  bottom: 40px;
  left: 50%;
  -webkit-transform: translateX(-50%) rotateZ(-5deg);
  -ms-transform: translateX(-50%) rotate(-5deg);
  transform: translateX(-50%) rotateZ(-5deg);
}

.team-crev .swiper-slide .item .main-marq.team-name {
  background: #c9f31d;
  left: 0;
}

.team-crev .swiper-slide .img {
  position: relative;
  border-radius: 10px 10px 0 0;
  border: 2px solid #c9f31d;
  border-bottom: 0;
  overflow: hidden;
}

.team-crev .swiper-slide:nth-of-type(even) .info {
  left: 0;
  right: 0;
}

.team-crev .swiper-slide:nth-of-type(even) .img {
  -webkit-transform: translateY(60px);
  -ms-transform: translateY(60px);
  transform: translateY(60px);
  border-color: transparent;
}

.team-crev .swiper-slide:nth-of-type(even) .img img {
  -webkit-filter: grayscale(100%);
  filter: grayscale(100%);
  -webkit-transition: all 0.4s;
  -o-transition: all 0.4s;
  transition: all 0.4s;
}

/* Testimonials
-----------------------------------------------------------------*/
.testimonials-crev {
  position: relative;
}

.testimonials-crev .testim .item .author-img .img {
  width: 120px;
  height: 120px;
  position: relative;
  padding: 10px;
}

.testimonials-crev .testim .item .author-img .img:after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border-radius: 50%;
  background: #1d1d1d;
  opacity: 0.05;
}

.testimonials-crev .testim .item .author-img .img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  border-radius: 50%;
  position: relative;
  z-index: 2;
}

.testimonials-crev .testim .item .author-review .for {
  padding: 8px 20px;
  background: #fff;
  -webkit-box-shadow: 0px 10px 30px rgba(255, 255, 255, 0.05);
  box-shadow: 0px 10px 30px rgba(255, 255, 255, 0.05);
  border-radius: 30px;
  margin-right: 10px;
  font-size: 12px;
  font-weight: 500;
}

.testimonials-crev .testim .item .author-review .rate-stars {
  font-size: 12px;
  color: #ffb818;
}

.testimonials-crev .imgs-patrn {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  pointer-events: none;
  overflow: hidden;
}

.testimonials-crev .imgs-patrn .img-patrn {
  position: absolute;
  width: 100px;
  height: 100px;
  border-radius: 50%;
  overflow: hidden;
}

.testimonials-crev .imgs-patrn .img-patrn img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

.testimonials-crev .imgs-patrn .img1 {
  top: -20px;
  left: 22%;
  width: 70px;
  height: 70px;
}

.testimonials-crev .imgs-patrn .img2 {
  top: 5%;
  right: 15%;
  width: 80px;
  height: 80px;
}

.testimonials-crev .imgs-patrn .img3 {
  top: 40%;
  left: -10px;
  width: 80px;
  height: 80px;
}

.testimonials-crev .imgs-patrn .img4 {
  top: 50%;
  right: -50px;
}

.testimonials-crev .imgs-patrn .img5 {
  top: 55%;
  left: 30%;
  width: 50px;
  height: 50px;
}

.testimonials-crev .imgs-patrn .img6 {
  top: 65%;
  right: 20%;
  width: 50px;
  height: 50px;
}

.testimonials {
  position: relative;
  color: #f1f3f5;
  overflow: hidden;
}

.testimonials:after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 80%;
  background: #c9f31d;
}

.testimonials:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 80%;
  background-image: url(../imgs/svg-assets/left-quote.png);
  background-size: 50%;
  background-position: right bottom;
  background-repeat: no-repeat;
  -webkit-transform: rotate(-5deg);
  -ms-transform: rotate(-5deg);
  transform: rotate(-5deg);
  opacity: 0.2;
  z-index: 4;
}

.testimonials .testim-items .swiper-container {
  padding-top: 200px;
  margin-top: -200px;
}

.testimonials .testim-items .item .img {
  position: relative;
  margin-top: -200px;
  padding-right: 50px;
}

.testimonials .testim-items .item .cont {
  color: #fff;
  padding: 60px;
  background: #fff;
}

.testim-creative .arrows-carsouel {
  position: relative;
}

.testim-creative .arrows-carsouel:before {
  content: "";
  position: absolute;
  left: 0;
  bottom: -20vh;
  top: -80vh;
  border-left: 1px solid rgba(255, 255, 255, 0.1);
}

.testim-creative .arrows-carsouel .swiper-button-prev,
.testim-creative .arrows-carsouel .swiper-button-next {
  padding: 40px 80px;
}

.testim-creative .arrows-carsouel .swiper-button-next {
  position: relative;
}

.testim-creative .arrows-carsouel .swiper-button-next:before {
  content: "";
  position: absolute;
  right: 0;
  bottom: -80px;
  height: 180px;
  width: 100%;
  border-left: 1px solid rgba(255, 255, 255, 0.1);
}

.testim-creative .arrows-carsouel .left,
.testim-creative .arrows-carsouel .right {
  width: 40px;
  margin-left: -15px;
  position: relative;
  z-index: 3;
}

.testim-creative .arrows-carsouel .left {
  -webkit-transform: rotate(180deg);
  -ms-transform: rotate(180deg);
  transform: rotate(180deg);
}

.testim-creative .testim-items {
  padding-top: 80px;
  padding-left: 80px;
  position: relative;
}

.testim-creative .testim-items:before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  bottom: -120px;
  border-left: 1px solid rgba(255, 255, 255, 0.1);
}

.testim-clasic .item .author-info {
  position: relative;
  border-right: 1px solid rgba(0, 0, 0, 0.1);
  height: 100%;
  text-align: center;
}

.testim-clasic .item .author-info .arrow {
  position: absolute;
  top: 20%;
  right: -1px;
  width: 80px;
  height: 50px;
}

.testim-clasic .item .author-info .arrow:before {
  content: "";
  width: 94px;
  border-bottom: 1px solid rgba(0, 0, 0, 0.1);
  position: absolute;
  bottom: 50%;
  right: -7px;
  -webkit-transform: rotate(-32deg);
  -ms-transform: rotate(-32deg);
  transform: rotate(-32deg);
}

.testim-clasic .item .author-info .arrow:after {
  content: "";
  width: 100%;
  border-bottom: 1px solid rgba(0, 0, 0, 0.1);
  position: absolute;
  bottom: 0;
  right: 0;
}

.testim-clasic .item .cont {
  padding: 40px 0 40px 40px;
}

.testim-clasic .swiper-controls {
  position: relative;
  padding-left: 25px;
}

.testim-clasic .swiper-controls .swiper-pagination {
  position: relative;
  display: inline-block;
  margin: 0 30px;
}

.testim-clasic .swiper-controls .left,
.testim-clasic .swiper-controls .right {
  width: 25px;
  position: relative;
  z-index: 3;
}

.testim-clasic .swiper-controls .left {
  -webkit-transform: rotate(180deg);
  -ms-transform: rotate(180deg);
  transform: rotate(180deg);
}

.testim-clasic .swiper-container-horizontal > .swiper-pagination-bullets,
.testim-clasic .swiper-pagination-custom,
.testim-clasic .swiper-pagination-fraction {
  position: relative;
}

.testim-vrt .main-marqv .item {
  padding: 30px;
  background: #f4f4f4;
}

.testim-crv .testim-swiper2 .item {
  padding: 40px 30px;
  border-radius: 20px;
  border: 1px solid rgba(0, 0, 0, 0.1);
}

.testim-crv .testim-swiper .item {
  padding: 40px 30px;
  border-radius: 20px;
}

.testim-crv.text-dark .item {
  border-color: rgba(0, 0, 0, 0.2);
}

.testim-crv .clients-carso .item > div {
  margin: auto;
}

.testim-crv2 {
  position: relative;
  overflow: hidden;
}

.testim-crv2 .line-icon {
  position: relative;
}

.testim-crv2 .line-icon:after {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  width: 100%;
  border-top: 1px solid rgba(0, 0, 0, 0.1);
}

.testim-crv2 .line-icon .img {
  width: 60px;
  height: 60px;
  border: 1px solid rgba(0, 0, 0, 0.1);
  border-radius: 50%;
  padding: 15px;
  margin-right: 50px;
  position: relative;
  z-index: 2;
}

.testim-crv2 .bord-qoute,
.testim-crv2 .img-qoute {
  width: 300px;
  height: 300px;
  border-radius: 50%;
  overflow: hidden;
}

.testim-crv2 .bord-qoute {
  border: 1px solid rgba(0, 0, 0, 0.5);
}

.testim-crv2 .bord-qoute .qoute-icon {
  width: 140px;
  height: 140px;
  border-radius: 50%;
  padding: 40px;
  position: relative;
  z-index: 4;
}

.testim-crv2 .img-qoute {
  position: absolute;
  top: 0;
  left: 25%;
}

.testim-crv2 .img-qoute img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: center;
  object-position: center;
}

.testim-crv2 .half-img-left,
.testim-crv2 .half-img-right {
  position: absolute;
  top: 80px;
  left: 0;
  width: 100%;
  height: 100%;
  background-position: right top;
  background-size: 50%;
  pointer-events: none;
}

.testim-crv2 .half-img-left {
  background-position: left top;
}

.testim-corp {
  position: relative;
  overflow: hidden;
}

.testim-corp:after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 80%;
  background-color: #eff2f5;
  background-image: url(../imgs/patterns/bg-pattern.png);
  background-size: auto;
  background-repeat: repeat;
  z-index: -1;
}

.testim-corp .testim-crv2 {
  overflow: visible;
}

.testim-corp .main-img {
  margin-top: 80px;
  position: relative;
  z-index: 5;
}

.testim-corp .box {
  position: relative;
  height: 100%;
  z-index: 3;
}

.testim-corp .box:after {
  content: "";
  position: absolute;
  top: 0;
  right: -25%;
  width: 200%;
  height: 200%;
  background: #f1f3f5;
  z-index: -1;
}

.swiper-controls .swiper-button-prev,
.swiper-controls .swiper-button-next {
  position: static;
  display: inline-block;
}

.swiper-controls .swiper-button-prev:after,
.swiper-controls .swiper-button-next:after {
  display: none;
}

.swiper-controls.arrow-out .swiper-button-prev:hover .left,
.swiper-controls.arrow-out .swiper-button-prev:hover .right,
.swiper-controls.arrow-out .swiper-button-next:hover .left,
.swiper-controls.arrow-out .swiper-button-next:hover .right {
  background: rgba(0, 0, 0, 0.05);
}

.swiper-controls.arrow-out .left,
.swiper-controls.arrow-out .right {
  width: 50px;
  height: 50px;
  line-height: 50px;
  text-align: center;
  border: 1px solid rgba(0, 0, 0, 0.2);
  border-radius: 50%;
  color: #1d1d1d;
}

.swiper-controls.arrow-out .left {
  -webkit-transform: rotate(180deg);
  -ms-transform: rotate(180deg);
  transform: rotate(180deg);
}

.swiper-pagination-bullet {
  background: rgba(0, 0, 0, 0.5);
  margin: 0 7px;
}

.swiper-pagination-bullet-active {
  background: #c9f31d;
}

/* Video
-----------------------------------------------------------------*/
.video-sec {
  position: relative;
  overflow: hidden;
  height: 600px;
}

.video-sec video {
  position: absolute;
  top: 50%;
  left: 0;
  width: 100%;
  height: auto;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
}

.video-sec .play-button a {
  width: 100px;
  height: 100px;
  line-height: 100px;
  text-align: center;
  border: 1px solid #fff;
  border-radius: 50%;
}

/* Shop
-----------------------------------------------------------------*/
.main-shop .sidebar .title {
  margin-bottom: 30px;
  padding-bottom: 10px;
  position: relative;
}

.main-shop .sidebar .title:after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 5px;
  border-top: 1px solid rgba(0, 0, 0, 0.04);
  border-bottom: 1px solid rgba(0, 0, 0, 0.04);
}

.main-shop .sidebar .search .form-group {
  position: relative;
}

.main-shop .sidebar .search .form-group input {
  width: 100%;
  padding-bottom: 15px;
  background: transparent;
  border: 0;
  border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}

.main-shop .sidebar .search .form-group button {
  width: 0;
  height: 0;
  background: transparent;
  border: 0;
  position: absolute;
  top: 0;
  right: 20px;
  padding: 0;
  font-size: 20px;
  line-height: 1;
}

.main-shop .sidebar .categories li {
  display: block;
  margin-bottom: 10px;
}

.main-shop .sidebar .categories li:hover {
  color: #ffaa17;
}

.main-shop .sidebar .categories li:last-of-type {
  margin-bottom: 0;
}

.main-shop .sidebar .price-range .price-input .field {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  max-width: 60px;
}

.main-shop .sidebar .price-range .field input {
  border: 0;
  background: transparent;
  pointer-events: none;
}

.main-shop .sidebar .price-range input[type="number"]::-webkit-outer-spin-button,
.main-shop .sidebar .price-range input[type="number"]::-webkit-inner-spin-button {
  -webkit-appearance: none;
}

.main-shop .sidebar .price-range .slider-range {
  height: 2px;
  position: relative;
  background: rgba(0, 0, 0, 0.1);
}

.main-shop .sidebar .price-range .slider-range .progress {
  height: 8px;
  top: -3px;
  left: 0;
  right: 25%;
  position: absolute;
  border-radius: 0;
  background: #ffaa17;
}

.main-shop .sidebar .price-range .range-input {
  position: relative;
}

.main-shop .sidebar .price-range .range-input input {
  position: absolute;
  width: 100%;
  height: 5px;
  top: -5px;
  background: none;
  pointer-events: none;
  -webkit-appearance: none;
  -moz-appearance: none;
}

.main-shop .sidebar .price-range input[type="range"]::-webkit-slider-thumb {
  height: 17px;
  width: 5px;
  border: none;
  background: #ffaa17;
  pointer-events: auto;
  -webkit-appearance: none;
}

.main-shop .sidebar .price-range input[type="range"]::-moz-range-thumb {
  height: 17px;
  width: 5px;
  border: none;
  background: #ffaa17;
  pointer-events: auto;
  -moz-appearance: none;
}

.main-shop .sidebar .best-sale .line-list {
  margin-bottom: 30px;
  position: relative;
}

.main-shop .sidebar .best-sale .line-list .over-link {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.main-shop .sidebar .best-sale .line-list:last-of-type {
  margin-bottom: 0;
}

.main-shop .sidebar .best-sale .line-list .img {
  width: 80px;
  height: 80px;
}

.main-shop .sidebar .best-sale .line-list .img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: center center;
  object-position: center center;
}

.main-shop .sidebar .best-sale .line-list .cont {
  padding-left: 15px;
}

.main-shop .sidebar .best-sale .line-list .cont .rate {
  font-size: 12px;
  color: #aaa;
  margin-bottom: 10px;
}

.main-shop .sidebar .best-sale .line-list .cont h6,
.main-shop .sidebar .best-sale .line-list .cont h5 {
  line-height: 1.2;
}

.main-shop .sidebar .best-sale .line-list .cont h6 {
  font-size: 16px;
}

.main-shop .sidebar .best-sale .line-list .cont h5 {
  font-size: 17px;
  color: #ffaa17;
}

.main-shop .sidebar .tags .tags-links a {
  font-size: 13px;
  padding: 5px 12px;
  background: rgba(0, 0, 0, 0.04);
  border: 1px solid rgba(0, 0, 0, 0.04);
  margin: 3px 3px 3px 0;
  -webkit-transition: all 0.4s;
  -o-transition: all 0.4s;
  transition: all 0.4s;
}

.main-shop .sidebar .tags .tags-links a:hover {
  background: transparent;
  color: #ffaa17;
}

.main-shop .shop-products .top-side .select-hidden {
  display: none;
  visibility: hidden;
  padding-right: 10px;
}

.main-shop .shop-products .top-side .select {
  cursor: pointer;
  display: inline-block;
  position: relative;
  font-size: 14px;
  min-width: 260px;
  height: 40px;
}

.main-shop .shop-products .top-side .select-styled {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background-color: transparent;
  border-bottom: 1px solid rgba(0, 0, 0, 0.4);
  padding: 8px 0;
  -moz-transition: all 0.2s ease-in;
  -o-transition: all 0.2s ease-in;
  -webkit-transition: all 0.2s ease-in;
  transition: all 0.2s ease-in;
}

.main-shop .shop-products .top-side .select-styled:after {
  content: "";
  width: 0;
  height: 0;
  border: 7px solid transparent;
  border-color: #1d1d1d transparent transparent transparent;
  position: absolute;
  top: 16px;
  right: 0;
}

.main-shop .shop-products .top-side .select-styled:active:after,
.main-shop .shop-products .top-side .select-styled.active:after {
  top: 9px;
  border-color: transparent transparent #1d1d1d transparent;
}

.main-shop .shop-products .top-side .select-options {
  display: none;
  position: absolute;
  top: 100%;
  right: 0;
  left: 0;
  z-index: 999;
  margin: 0;
  padding: 0;
  list-style: none;
  background-color: #f1f3f5;
  border: 1px solid rgba(0, 0, 0, 0.4);
}

.main-shop .shop-products .top-side .select-options li {
  margin: 0;
  padding: 12px 0;
  text-indent: 15px;
  border-top: 1px solid rgba(0, 0, 0, 0.1);
  -moz-transition: all 0.15s ease-in;
  -o-transition: all 0.15s ease-in;
  -webkit-transition: all 0.15s ease-in;
  transition: all 0.15s ease-in;
}

.main-shop .shop-products .top-side .select-options li:hover,
.main-shop .shop-products .top-side .select-options li.is-selected {
  color: #1d1d1d;
  background: #fff;
}

.main-shop .shop-products .top-side .select-options li[rel="hide"] {
  display: none;
}

.main-shop .shop-products .item .img {
  position: relative;
}

.main-shop .shop-products .item .img:hover .add-cart,
.main-shop .shop-products .item .img:hover .fav {
  opacity: 1;
  visibility: visible;
}

.main-shop .shop-products .item .img:hover:after {
  opacity: 0.3;
}

.main-shop .shop-products .item .img:after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #1d1d1d;
  opacity: 0;
  -webkit-transition: all 0.4s;
  -o-transition: all 0.4s;
  transition: all 0.4s;
}

.main-shop .shop-products .item .img .add-cart {
  position: absolute;
  bottom: 40px;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  left: 50%;
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  transform: translateX(-50%);
  padding: 14px 35px;
  background: #fff;
  border-radius: 40px;
  font-size: 13px;
  text-transform: uppercase;
  opacity: 0;
  visibility: hidden;
  -webkit-transition: all 0.4s;
  -o-transition: all 0.4s;
  transition: all 0.4s;
  z-index: 3;
}

.main-shop .shop-products .item .img .fav {
  color: #fff;
  position: absolute;
  top: 15px;
  right: 15px;
  font-size: 20px;
  cursor: pointer;
  opacity: 0;
  visibility: hidden;
  -webkit-transition: all 0.4s;
  -o-transition: all 0.4s;
  transition: all 0.4s;
  z-index: 3;
}

.main-shop .shop-products .item .cont {
  margin-top: 30px;
}

.main-shop .shop-products .item .cont .rate {
  font-size: 12px;
  color: #aaa;
  margin-bottom: 10px;
}

.main-shop .shop-products .item .cont h6,
.main-shop .shop-products .item .cont h5 {
  line-height: 1.2;
}

.main-shop .shop-products .item .cont h5 {
  font-size: 20px;
  color: #ffaa17;
}

.main-shop .shop-products .pagination li {
  display: inline-block;
}

.main-shop .shop-products .pagination li a {
  width: 50px;
  height: 50px;
  line-height: 50px;
  border-radius: 50%;
  border: 1px solid rgba(0, 0, 0, 0.1);
  margin: 0 5px;
  text-align: center;
}

.main-shop .shop-products .pagination li.active a {
  background: rgba(0, 0, 0, 0.04);
}

.product-details .img-preview .gallery-thumb .swiper-slide {
  opacity: 0.7;
}

.product-details .img-preview .gallery-thumb .swiper-slide-thumb-active {
  opacity: 1;
}

.product-details .prod-order .counter {
  padding: 5px;
  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;
  border: 1px solid rgba(0, 0, 0, 0.1);
}

.product-details .prod-order .counter input {
  width: 50px;
  border: 0;
  font-size: 15px;
  line-height: 30px;
  text-align: center;
  background: rgba(0, 0, 0, 0.04);
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  outline: 0;
}

.product-details .prod-order .counter span {
  display: block;
  font-size: 25px;
  padding: 0 10px;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

.product-details .overview .tab-links {
  border-bottom: 1px solid rgba(0, 0, 0, 0.4);
}

.product-details .overview .tab-links li {
  display: inline-block;
  margin-right: 30px;
  padding-bottom: 10px;
  position: relative;
}

.product-details .overview .tab-links li:last-of-type {
  margin-right: 0;
}

.product-details .overview .tab-links li:after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 0;
  width: 50px;
  height: 2px;
  background: #1d1d1d;
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  transform: translateX(-50%);
  opacity: 0;
}

.product-details .overview .tab-links li.current:after {
  opacity: 1;
}

.product-details .overview .tab-content .item.info li .line {
  width: 100%;
  border-bottom: 1px dashed rgba(0, 0, 0, 0.1);
  margin-right: 30px;
  margin-left: 30px;
}

.product-details .overview .tab-content .item.info li .ml-auto {
  white-space: nowrap;
}

.product-details .overview .tab-content .add-review {
  padding: 60px 40px;
  border: 1px solid rgba(0, 0, 0, 0.1);
}

.product-details .overview .tab-content .add-review .star-rating {
  direction: rtl;
  display: inline-block;
}

.product-details .overview .tab-content .add-review .star-rating input[type="radio"] {
  display: none;
}

.product-details .overview .tab-content .add-review .star-rating label {
  color: #bbb;
  padding: 0;
  cursor: pointer;
  -webkit-transition: all 0.3s ease-in-out;
  -o-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}

.product-details .overview .tab-content .add-review .star-rating label:hover,
.product-details .overview .tab-content .add-review .star-rating label:hover ~ label,
.product-details
  .overview
  .tab-content
  .add-review
  .star-rating
  input[type="radio"]:checked
  ~ label {
  color: #ffaa17;
}

.product-details .overview .tab-content .add-review .form input,
.product-details .overview .tab-content .add-review .form textarea {
  width: 100%;
  padding: 0 0 10px;
  background: transparent;
  border: 0;
  border-bottom: 1px solid rgba(0, 0, 0, 0.4);
}

.product-details .overview .tab-content .add-review .form input:focus,
.product-details .overview .tab-content .add-review .form textarea:focus {
  border-color: #1d1d1d;
}

.product-details .overview .tab-content .add-review .form textarea {
  min-height: 180px;
}

.product-details .overview .tab-content .add-review .form .checkbox input {
  width: auto;
}

.product-details .overview .tab-content .add-review .form .checkbox label {
  font-size: 14px;
  font-weight: 300;
  opacity: 0.7;
}

.shop-cart table {
  width: 100%;
}

.shop-cart th {
  border-bottom: 1px solid rgba(0, 0, 0, 0.4);
  padding-bottom: 15px;
  font-weight: 500;
  letter-spacing: 1px;
  text-transform: uppercase;
}

.shop-cart td {
  padding: 15px 0;
  border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}

.shop-cart td.remove {
  text-align: right;
  font-size: 30px;
  opacity: 0.8;
}

.shop-cart .counter {
  padding: 5px;
  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;
  border: 1px solid rgba(0, 0, 0, 0.1);
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
}

.shop-cart .counter input {
  width: 50px;
  border: 0;
  font-size: 15px;
  line-height: 30px;
  text-align: center;
  background: rgba(0, 0, 0, 0.04);
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  outline: 0;
}

.shop-cart .counter span {
  display: block;
  font-size: 25px;
  padding: 0 10px;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

@media only screen and (max-width: 760px),
  (min-device-width: 768px) and (max-device-width: 1024px) {
  .shop-cart {
    /* Force table to not be like tables anymore */
    /* Hide table headers (but not display: none;, for accessibility) */
  }
  .shop-cart table {
    width: 100%;
  }
  .shop-cart table,
  .shop-cart thead,
  .shop-cart tbody,
  .shop-cart th,
  .shop-cart td,
  .shop-cart tr {
    display: block;
  }
  .shop-cart thead tr {
    position: absolute;
    top: -9999px;
    left: -9999px;
  }
  .shop-cart tr {
    margin-bottom: 30px;
    border: 1px solid #777;
  }
  .shop-cart td {
    /* Behave  like a "row" */
    border: none;
    border-bottom: 1px solid #999;
    position: relative;
    padding-left: 50%;
  }
  .shop-cart td:before {
    /* Now like a table header */
    position: absolute;
    /* Top/left values mimic padding */
    left: 6px;
    width: 45%;
    padding-right: 10px;
    white-space: nowrap;
    /* Label the data */
    content: attr(data-column);
  }
  .shop-cart td.remove {
    text-align: left;
  }
  .shop-cart .d-flex {
    display: block !important;
  }
  .shop-cart .ml-30 {
    margin-left: 0 !important;
    margin-top: 10px;
  }
}

.shop-cart .coupon input {
  padding: 14px;
  background: transparent;
  border: 1px solid rgba(0, 0, 0, 0.1);
}

.shop-cart .coupon input:focus {
  border-color: #999;
}

.shop-checkout .order-form .row {
  margin-left: -10px;
  margin-right: -10px;
}

.shop-checkout .order-form .row > div {
  padding: 0 10px;
}

.shop-checkout .order-form .form-group {
  margin-bottom: 20px;
}

.shop-checkout .order-form .form-group label {
  margin-bottom: 10px;
  color: rgba(0, 0, 0, 0.7);
  text-transform: uppercase;
  letter-spacing: 1px;
  font-size: 13px;
}

.shop-checkout .order-form .form-group input {
  width: 100%;
  padding: 15px;
  background: transparent;
  border: 1px solid rgba(0, 0, 0, 0.1);
}

.shop-checkout .checkout-order-info .butn {
  width: 100%;
  text-align: center;
  border-radius: 40px;
}

.align-item-center {
  display: flex;
  align-items: center;
}

.approach-list-design {
  display: block;
}

.approach-list-design1 {
  display: none;
}

.story-img {
  object-fit: contain;
  max-height: 450px;
}

.vm-card {
  background-color: #fff;
  padding: 15px 25px;
  border-radius: 20px;
  height: 100%;
}

.journey-main {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 20px;
}

.journey-map-div {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-top: 60px;
}

.journey-map {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-bottom: 30px;
}

.journey-content {
  text-align: center;
  flex-grow: 1;
}

.post-nav-buttons1 {
  gap: 20px;
}

.nav-prev1,
.nav-next1 {
  font-size: 20px;
}

.nav-prev1:hover p,
.nav-prev1:hover,
.nav-next1:hover p,
.nav-next1:hover {
  color: var(--color-primary) !important;
}
/* ====================== [ Start Responsive ] ====================== */
@media screen and (max-width: 1300px) {
  body.home-arch main:after {
    display: none;
  }
}

@media screen and (max-width: 1199px) {
  .hide-1199 {
    display: none !important;
  }
}

@media screen and (max-width: 992px) {
  .md-mb10 {
    margin-bottom: 10px;
  }
  .md-mb20 {
    margin-bottom: 20px;
  }
  .md-mb30 {
    margin-bottom: 30px;
  }
  .md-mb40 {
    margin-bottom: 40px;
  }
  .md-mb50 {
    margin-bottom: 50px !important;
  }
  .md-mb80 {
    margin-bottom: 80px;
  }
  .md-no-mrg {
    margin: 0 !important;
  }
  .md-pb10 {
    padding-bottom: 10px;
  }
  .md-pb20 {
    padding-bottom: 20px;
  }
  .md-pb30 {
    padding-bottom: 30px;
  }
  .md-pb40 {
    padding-bottom: 40px;
  }
  .md-pb50 {
    padding-bottom: 50px;
  }
  .md-pb60 {
    padding-bottom: 60px;
  }
  .md-pb70 {
    padding-bottom: 70px;
  }
  .md-pb80 {
    padding-bottom: 80px;
  }
  .md-pt80 {
    padding-top: 80px !important;
  }
  .md-no-pad {
    padding: 0 !important;
  }
  .md-center {
    text-align: center !important;
  }
  .order2 {
    -webkit-box-ordinal-group: 3 !important;
    -ms-flex-order: 2 !important;
    order: 2 !important;
  }
  .order1 {
    -webkit-box-ordinal-group: 2 !important;
    -ms-flex-order: 1 !important;
    order: 1 !important;
  }
  .justify-end {
    -webkit-box-pack: start !important;
    -ms-flex-pack: start !important;
    justify-content: flex-start !important;
  }
  .justify-end .vew-all {
    margin-left: 25px;
    margin-top: 15px;
  }
  .justify-end .swiper-controls {
    margin-top: 30px;
  }
  .justify-end .ml-auto {
    margin-left: 0;
    margin-top: 30px;
  }
  .hamenu .cont-info,
  .hamenu .menu-text,
  .md-hide {
    display: none;
  }
  .my-paroller {
    -webkit-transform: none !important;
    -ms-transform: none !important;
    transform: none !important;
    will-change: auto !important;
  }
  .my-paroller img {
    -webkit-transform: none !important;
    -ms-transform: none !important;
    transform: none !important;
  }
  .to-out .swiper-container {
    overflow: hidden;
    -webkit-clip-path: none;
    clip-path: none;
  }
  .row.md-marg {
    margin-left: -15px;
    margin-right: -15px;
  }
  .row.md-marg > * {
    padding-left: 15px;
    padding-right: 15px;
  }
  h1.fz-80 {
    font-size: 60px !important;
  }
  h2 {
    font-size: 35px;
  }
  h2.fz-70 {
    font-size: 55px !important;
  }
  .loader-wrap svg {
    width: 200vw;
    left: -50vw;
  }
  .navbar {
    padding-top: 15px;
    padding-bottom: 15px;
  }

  .navbar .navbar-collapse {
    max-height: 490px;
    overflow: auto;
  }
  .navbar .navbar-collapse::-webkit-scrollbar {
    display: none;
  }
  .navbar.nav-scroll {
    padding-top: 15px;
    padding-bottom: 15px;
  }
  .navbar .container {
    padding: 0;
    width: 100%;
    max-width: 100%;
  }
  .navbar .logo {
    max-width: 80px !important;
    margin-left: 30px;
  }
  .navbar .navbar-collapse {
    border-top: 1px solid rgba(255, 255, 255, 0.1);
    margin-top: 15px;
  }
  .navbar .search-form {
    display: none;
  }
  .navbar .navbar-toggler {
    font-size: 20px;
    border-radius: 0;
    padding: 0;
    margin-right: 30px;
  }
  .navbar .navbar-toggler:focus {
    -webkit-box-shadow: none;
    box-shadow: none;
    border: 0;
    outline: none;
  }
  .navbar .dropdown-menu {
    display: none;
  }
  .navbar .dropdown-menu.show {
    display: block;
  }
  .navbar .dropdown-menu .dropdown-item .dropdown-side {
    display: none;
    position: static;
    width: 100%;
    margin-top: 15px;
  }
  .navbar .dropdown-menu .dropdown-item .dropdown-side.show {
    display: block;
  }
  .navbar .navbar-nav .nav-link {
    padding: 15px 30px 10px;
    margin: 0;
    border-bottom: 1px solid rgba(0, 0, 0, 0.1);
  }
  .navbar .navbar-nav .nav-item:last-of-type .nav-link {
    padding-bottom: 0;
    border-bottom: 0;
  }
  .navbar .navbar-nav .mega-menu {
    width: auto;
    position: static;
    padding: 0;
  }
  .navbar .navbar-nav .mega-menu .row:after {
    display: none;
  }
  .navbar .navbar-nav .mega-menu .title {
    border-bottom: 1px solid rgba(0, 0, 0, 0.1);
    padding-left: 30px;
    padding-bottom: 10px;
    margin-bottom: 15px;
  }
  .navbar .navbar-nav .mega-menu .clumn {
    padding-left: 0;
    margin-bottom: 30px;
  }
  .navbar .navbar-nav .mega-menu .links {
    padding-left: 30px;
  }
  .hamenu .menu-links {
    height: 80vh;
    min-height: 500px;
  }
  .crev-header {
    min-height: auto;
  }
  .crev-header .caption h1 {
    font-size: 60px;
  }
  .crev-header .main-img {
    width: 100%;
    margin-left: 0;
    margin-top: 50px;
  }
  .nav-title {
    max-width: 400px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  @media (max-width: 576px) {
    .nav-title {
      max-width: 250px;
    }
  }
  .arch-slider .parallax-slider .explore {
    margin-left: 0;
    margin-top: 30px;
  }
  .header-freelancer:before {
    opacity: 0.8;
  }
  .header-freelancer .bg-img {
    background-size: cover;
    background-position: center;
  }
  .header-main-crev .caption {
    border: 0;
  }
  .slider .parallax-slider .swiper-slide .bg-img {
    background-position: center center !important;
  }
  .slides-nav__index {
    bottom: 15px !important;
    z-index: 99 !important;
  }
  .work-header .caption h1 {
    font-size: 90px;
  }
  .page-header {
    min-height: auto;
  }
  .intro-corp .imgs .img1 {
    width: 70%;
  }
  .intro-corp .imgs .img2 {
    width: 45%;
  }
  .intro-img-parlx .img img {
    width: 100%;
    margin-left: 0;
  }
  .sideimg-numbers .bg-left {
    position: static;
    width: 100%;
    height: 400px;
    margin-top: 50px;
  }
  .section-padding {
    padding: 30px 0px;
  }
  .services .metro .items {
    display: block !important;
    gap: 0;
  }
  .services .metro .items .item {
    display: inline-block;
    min-width: auto;
    width: calc(50% - 30px);
    margin: 0 10px;
    padding: 60px 40px;
    margin-bottom: 25px;
  }
  .services .metro .items .item:last-of-type {
    margin-bottom: 0;
  }
  .services .item-bord:nth-of-type(1),
  .services .item-bord:nth-of-type(2) {
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
  }
  .works.thecontainer {
    width: 100%;
    min-height: auto;
    display: block;
    padding: 70px 0 120px;
  }
  .works .panel {
    display: block;
    padding: 0 15px !important;
  }
  .works .panel .item {
    width: 100%;
    margin-top: 50px;
  }
  .portfolio .work-row .item .cont {
    padding: 0;
  }
  .portfolio-fixed .left {
    display: none;
  }
  .portfolio-fixed .right {
    padding: 0 15px 120px;
  }

  .portfolio-fixed .cont {
    opacity: 1 !important;
    margin-bottom: 80px;
    padding: 0 15px;
  }
  .portfolio-fixed .cont .img-hiden {
    display: block;
    margin-bottom: 30px;
  }
  .potfolio-butn-circle-center {
    display: flex !important;
    justify-content: center;
  }
  .intro-imgs .to-up {
    margin-top: 0;
  }
  .block-img .shap1 {
    left: 30px;
    bottom: 0;
    -webkit-transform: rotate(0);
    -ms-transform: rotate(0);
    transform: rotate(0);
    width: 120px;
  }
  .numbers .justify-content-around {
    -webkit-box-pack: start !important;
    -ms-flex-pack: start !important;
    justify-content: start !important;
  }
  .numbers .ml-auto {
    margin-left: 0;
  }
  .d-slideup .sideup-text {
    display: inline-block;
  }
  .testim-crv2 .img-qoute {
    display: none;
  }
  .testim-crv2 .bord-qoute {
    width: 130px;
    height: 130px;
    margin-bottom: 30px;
  }
  .testim-crv2 .bord-qoute .qoute-icon {
    width: 100px;
    height: 100px;
    padding: 25px;
  }
  .testim-crv2 {
    padding-left: 10px;
  }
  .testim-vrt .cont {
    padding: 80px 0;
  }
  .testim-vrt .item .cont {
    padding: 0;
  }
  .testim-clasic .item .author-info .arrow {
    top: 30px;
  }
  .testim-creative .arrows-carsouel:before {
    display: none;
  }
  .testim-creative .arrows-carsouel {
    margin-left: auto;
  }
  .testim-creative .testim-items {
    padding-left: 0;
    padding-top: 0;
  }
  .testim-creative .testim-items:before {
    display: none;
  }
  .thecontainer {
    width: 100%;
    height: auto;
    display: block;
  }
  .thecontainer .panel {
    padding: 60px 0 120px;
  }
  .call-action-center h2.fz-70 {
    font-size: 50px !important;
  }
  .call-action-img .sec-lg-head {
    padding: 80px 0;
  }
  .call-action-img .fz-50 {
    font-size: 35px !important;
  }
  footer .sub-footer .ml-auto {
    margin-left: 0;
    margin-top: 15px;
  }
  .cursor {
    display: none;
  }
}

@media screen and (max-width: 768px) {
  .case-study-subtitle,
  .case-study-title,
  .case-study-description {
    text-align: start;
  }
  .hide-768 {
    display: none !important;
  }
  .sm-mb10 {
    margin-bottom: 10px;
  }
  .sm-mb20 {
    margin-bottom: 20px;
  }
  .sm-mb30 {
    margin-bottom: 30px;
  }
  .sm-mb40 {
    margin-bottom: 40px;
  }
  .sm-mb50 {
    margin-bottom: 50px;
  }
  .sm-mb80 {
    margin-bottom: 80px;
  }
  .sm-pb10 {
    padding-bottom: 10px;
  }
  .sm-pb20 {
    padding-bottom: 20px;
  }
  .sm-pb30 {
    padding-bottom: 30px;
  }
  .sm-pb40 {
    padding-bottom: 40px;
  }
  .sm-pb50 {
    padding-bottom: 50px;
  }
  .sm-pb60 {
    padding-bottom: 60px;
  }
  .sm-pb70 {
    padding-bottom: 70px;
  }
  .sm-pb80 {
    padding-bottom: 80px;
  }
  .sm-hide {
    display: none;
  }
  h1 {
    font-size: 35px;
  }
  h1.fz-60 {
    font-size: 35px !important;
  }
  h1.fz-55 {
    font-size: 30px !important;
  }
  h2 {
    font-size: 28px;
  }
  h2.fz-50 {
    font-size: 35px !important;
  }
  h2.fz-70 {
    font-size: 40px !important;
  }
  .sec-head h2 {
    font-size: 45px;
  }
  h3 {
    font-size: 24px;
  }
  h4 {
    font-size: 20px;
  }
  h5 {
    font-size: 18px;
  }
  h6 {
    font-size: 16px;
  }
  h1.fz-80 {
    font-size: 40px !important;
  }
  h3.fz-50 {
    font-size: 35px !important;
  }
  .sec-lg-head .fz-50 {
    font-size: 35px !important;
  }
  .fz-60 {
    font-size: 35px !important;
  }
  .justify-end-sm {
    -webkit-box-pack: start !important;
    -ms-flex-pack: start !important;
    justify-content: flex-start !important;
  }
  .justify-end-sm .vew-all {
    margin-left: 25px;
    margin-top: 25px;
  }
  .justify-end-sm .swiper-controls {
    margin-top: 30px;
  }
  .justify-end-sm .ml-auto {
    margin-left: 0;
    margin-top: 30px;
  }
  .md-padding {
    padding-left: 15px;
    padding-right: 15px;
  }
  .loader-wrap .loader-wrap-heading .load-text {
    letter-spacing: 5px;
    font-size: 13px;
  }
  .progress-wrap {
    right: 10px;
    bottom: 20px;
  }
  .topnav .logo {
    width: 100px;
  }
  .hamenu {
    padding: 120px 15px 15px;
  }
  .hamenu.open .menu-links .main-menu > li .link {
    padding: 15px;
  }
  .hamenu .menu-links .main-menu > li .link {
    font-size: 25px;
  }
  .hamenu .menu-links .main-menu .sub-menu li {
    font-size: 18px;
  }
  .crev-header .caption h1 {
    font-size: 35px;
  }
  .crev-header .caption h1 br {
    display: none;
  }
  .arch-slider .parallax-slider .caption h1 {
    font-size: 50px;
  }
  .arch-slider .parallax-slider .caption p {
    padding-left: 0;
  }
  .arch-slider .parallax-slider .caption p:after {
    display: none;
  }
  .header-startup .caption .img-in-text {
    height: 35px;
  }
  .header-startup .caption .img-in-text.icon-img-120 {
    width: 80px;
  }
  .header-startup .caption .img-in-text .icon-img-60 {
    width: 50px;
  }
  .showcase-full .slider-contro span {
    display: none;
  }
  .showcase-full .slider-contro {
    width: 100%;
    left: 0;
  }
  .showcase-full .parallax-slider .caption h1 {
    font-size: 45px;
  }
  .slide__img {
    top: -100px !important;
    left: -100px !important;
    width: calc(100% + 200px) !important;
    height: calc(100% + 200px) !important;
  }
  .frame .slide-nav-butn {
    z-index: 99 !important;
  }
  .slides-nav__button {
    -webkit-transform: scale(0.9) !important;
    -ms-transform: scale(0.9) !important;
    transform: scale(0.9) !important;
  }
  .inter-links-center.horizontal .links-text li {
    padding: 15px 30px;
  }
  .inter-links-center.horizontal .links-text li h2 {
    font-size: 20px;
  }
  .inter-links-center .links-img {
    width: 100%;
    height: 100vh;
    top: 0;
    left: 0;
    -webkit-transform: none;
    -ms-transform: none;
    transform: none;
  }
  .inter-links-center .links-text li {
    padding: 20px 0;
  }
  .inter-links-center .links-text li h2 {
    font-weight: 600;
  }
  .work-header .caption h1 {
    font-size: 50px;
  }
  .page-header.blog-header .info {
    display: block !important;
  }
  .page-header.blog-header .date {
    margin-left: 30px !important;
  }
  .page-header.blog-header .right-info {
    margin: 30px 0 0;
  }
  .intro-imgs .cont {
    padding: 0;
  }
  .marquee h4 {
    font-size: 40px;
  }
  .process-crev .row {
    margin-left: 0;
  }
  .process-crev .row .item {
    padding: 30px 15px;
  }
  .services-tab .serv-tab-cont .item .img {
    width: 90%;
  }
  .services-tab .serv-tab-cont .item .cont {
    left: 15px;
  }
  .services-tab.revers .serv-tab-cont .item .img {
    width: 100%;
    margin-left: 0;
  }
  .services-tab.revers .serv-tab-cont .item .cont {
    right: 5%;
    padding: 40px 30px;
  }
  .serv-box .serv-item {
    padding: 50px 30px;
    display: block !important;
  }
  .serv-box .serv-item .icon-img-80 {
    width: 60px;
    margin-bottom: 30px;
  }
  .serv-box .serv-item .ml-60 {
    margin-left: 0 !important;
  }
  .services .metro .items .item {
    width: 100%;
    margin: 0 0 30px 0;
  }
  .services .item-bord {
    border-bottom: 1px solid rgba(0, 0, 0, 0.1);
    padding: 60px 30px;
  }
  .portfolio .filtering .filter {
    padding: 10px;
    /* width: 100%; */
  }
  .portfolio .filtering .filter span {
    margin: 0 10px;
  }
  .portfolio .filtering span.text {
    display: none;
  }
  .portfolio .max-margin .items {
    padding: 0 15px;
  }
  .testim-clasic .item .author-info {
    border: 0;
  }
  .testim-clasic .item .author-info .arrow {
    display: none;
  }
  .testim-clasic .item .cont {
    padding: 40px 0;
  }
  .testim-clasic .swiper-controls {
    padding-left: 0;
  }
  .testim-creative .arrows-carsouel {
    margin-left: 0;
  }
  .testim-creative .sec-lg-head {
    padding-bottom: 40px !important;
    margin-bottom: 80px;
  }
  .testim-creative .arrows-carsouel .swiper-button-prev,
  .testim-creative .arrows-carsouel .swiper-button-next {
    padding: 0 60px;
    margin-top: 50px;
  }
  .testim-creative .arrows-carsouel .swiper-button-next:before {
    height: 160px;
  }
  .back-image.states ul {
    display: block;
    width: 100%;
  }
  .back-image.states ul li {
    margin: 15px 0 0 0;
    width: 100% !important;
  }
  .team .item-join {
    height: auto;
  }
  .team .item-join h6 br {
    display: none;
  }
  .skills-exp .skill-item {
    display: block !important;
  }
  .skills-exp .skill-item .item {
    margin-bottom: 30px;
    display: inline-block;
    width: calc(50% - 25px);
  }
  .price-hr .item {
    display: block !important;
  }
  .price-hr .item .cont {
    margin: 15px 0 15px 0 !important;
  }
  .price-hr .item .ml-auto {
    text-align: left !important;
    margin-left: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .price-hr .item .ml-auto > div {
    margin-left: auto;
  }
  .clients .brand .item {
    padding: 40px 0;
  }
  .numbers h2 {
    font-size: 90px;
  }
  .blog-list-half.crev .item .img {
    margin-top: 0px;
  }
  .blog-list-half.crev .item .img img {
    bottom: auto;
  }
  .blog-list .item {
    padding: 40px 20px;
  }
  .blog-list2 .item .img {
    right: 0;
    width: 180px;
    height: 180px;
  }
  .blog-list-half.crev .item {
    margin-bottom: 50px;
  }
  .main-post .fz-60 {
    display: none;
  }
  .main-post .post-qoute {
    padding: 20px 15px;
  }
  .main-post .post-qoute h6:before {
    position: relative;
    left: 0;
  }
  .main-post .info-area {
    display: block;
  }
  .main-post .info-area .tags {
    margin-bottom: 30px;
  }
  .main-post .author-area .flex {
    display: block;
  }
  .main-post .author-area .author-img {
    margin: 0 0 30px 0;
  }
  .main-post .author-area .author-img .img {
    width: 80px;
    height: 80px;
  }
  .main-post .next-prv-post {
    display: block;
  }
  .main-post .next-prv-post .thumb-post {
    margin: 0 !important;
  }
  .main-post .next-prv-post .text-right {
    text-align: left;
    margin-top: 30px !important;
  }
  .comments-post .item-box .flex {
    display: block;
  }
  .comments-post .item-box .user-img {
    margin: 0 0 15px 0;
  }
  .comments-post .item-box .replay-post {
    margin: 15px 0 0 0;
  }
  .comments-post .item-box.replayed {
    margin-left: 0;
  }
  .call-action-center h2.fz-70 {
    font-size: 30px !important;
  }
  .call-action-img .sec-bg-img {
    width: 100%;
    height: 400px;
  }
  .call-action-img .sec-lg-head .col-11.d-flex {
    display: block !important;
    width: 100% !important;
  }
  .call-action-img .sec-lg-head .col-11.d-flex h2 {
    font-size: 30px !important;
  }
  .call-action-img .sec-lg-head .butn-circle {
    margin-top: 30px !important;
  }
  footer .call-box h2 {
    font-size: 40px;
  }
  footer .call-box .arrow svg {
    width: 50px;
    height: 50px;
  }
  .product-details .reviews .reviews-area > .d-flex {
    display: block !important;
  }
  .product-details .reviews .reviews-area .img {
    width: 70px;
    height: 70px;
  }
  .product-details .reviews .reviews-area .cont {
    margin-top: 15px;
    margin-left: 0 !important;
  }
  .product-details .overview .tab-content .add-review {
    padding: 40px 25px;
  }

  .approach-list-design {
    display: none;
  }

  .approach-list-design1 {
    display: block;
  }

  .icon-img-lgsm {
    width: 70px;
  }

  .journey-map-div {
    display: none;
  }

  .head-mt {
    margin-top: 52px;
  }
}

/* ====================== [ End Responsive ] ====================== */

.footer-contacts {
  display: flex;
  flex-direction: column;
}

.grid-container {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
}

.grid-item {
  padding: 50px;
  border: 1px solid #ddd;
  border-radius: 100px;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.grid-item:hover {
  transform: translateY(-10px);
  border-color: #2a8e9e;
  box-shadow: 0 8px 12px rgba(0, 0, 0, 0.2);
}

@media only screen and (max-width: 1300px) {
  .grid-container {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media only screen and (max-width: 1080px) {
  .grid-container {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media only screen and (max-width: 768px) {
  .img.icon-img-slider {
    width: 70px; /* or whatever fixed width you want */
    height: 70px; /* fixed height */
    display: flex;
    justify-content: center;
    align-items: center;
    overflow: hidden;
  }

  .grid-container1 {
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    gap: 10px;
  }

  .grid-item1 {
    display: flex;
    align-items: center;
    gap: 10px;
    width: 100%;
    padding: 10px;
    border: 1px solid #ddd;
    border-radius: 10px;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
  }

  .num-title {
    display: flex;
    align-items: center;
    gap: 10px;
  }

  .grid-item1:hover {
    transform: translateY(-2px);
    border-color: #2a8e9e;
    box-shadow: 0 8px 12px rgba(0, 0, 0, 0.2);
  }

  .dropdown-icon {
    margin-left: auto;
    color: #333;
    cursor: pointer;
  }

  .grid-item1 .dropdown-text1 {
    display: block;
    margin-top: 6px;
    color: #555;
    font-size: 0.85rem;
    transition: all 0.3s ease;
  }
}

@media only screen and (max-width: 480px) {
  .header-vh {
    min-height: 30vh;
  }
  .grid-container {
    grid-template-columns: 1fr;
    gap: 15px;
  }

  .grid-container1 {
    grid-template-columns: repeat(1, 1fr);
    gap: 10px;
  }

  .grid-item {
    padding: 35px;
  }
  .services-tab2-links {
    font-size: 25px !important;
  }
  .blog-list-half .item .cont {
    padding: 10px 20px;
  }
  .butn-circle {
    width: 100px !important;
    height: 100px !important;
  }
  .butn-circle .span-text {
    font-size: 0.6rem;
  }
  .header-section-padding {
    padding: 50px 0;
  }
  .service-header-section-padding {
    padding: 50px 0;
  }
  .services .item-bord2 {
    padding: 30px 20px;
    border: 1px solid rgba(0, 0, 0, 0.1);
  }

  .sec-lg-head .dot-titl-non {
    padding: 5px 20px;
    font-size: 11px;
    letter-spacing: 0.8px;
  }
}

.vid-circle-flex {
  height: 100% !important;
  width: 100% !important;
  object-fit: fill !important;
}

.swiper-nav-arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background: #2a8e9e;
  color: white;
  border-radius: 50%;
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 10;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
  cursor: pointer;
  transition: all 0.3s ease;
}

.swiper-nav-arrow:hover {
  background: #f0f0f0;
  color: #333;
}

.swiper-button-prev-custom {
  left: -20px; /* Adjust depending on layout */
}

.swiper-button-next-custom {
  right: -20px; /* Adjust depending on layout */
}

@media (max-width: 768px) {
  .swiper-button-prev-custom,
  .swiper-button-next-custom {
    display: none;
  }
  .item-bord2 {
    margin-left: 10px;
    margin-right: 10px;
  }
}

/*======================
= Header Styling =
======================*/
.header-digital {
  position: absolute; /* Positioned relative to .hero-section-wrapper */
  top: 0;
  left: 0;
  width: 100%;
  height: 100%; /* Make it fill the wrapper to center content */
  display: flex;
  align-items: center; /* Vertically center content */
  justify-content: center; /* Horizontally center content */
  flex-direction: column; /* Stack children vertically */
  background: transparent !important; /* Crucial: Ensure header itself is transparent */
  color: var(--color-text-light); /* Ensure text is visible */
  z-index: 100; /* Above the background/overlay, below the navbar */
}

/* Styling for the background image */
.background-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
}

/* Optional: Dark overlay for better text readability */
.background-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.6);
  z-index: 1;
}

/* Styling for the main content area (text, button) */
.header-content {
  position: relative;
  text-align: center;
  z-index: 100;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
}
@media (max-width: 576px) {
  .header-content {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    text-align: left;
  }

  .header-content .row,
  .header-content .col-lg-7,
  .header-content .col-md-8,
  .header-content .col-sm-10 {
    width: 100%;
  }
}
/*======================
= Buttons =
======================*/

.btn-custom {
  background-color: var(--color-accent); /* Button background using accent color */
  color: var(--color-text-light); /* Button text color */
  border-radius: 10px; /* Rounded corners for the button */
  font-weight: 400; /* Semi-bold font weight */
  text-decoration: none; /* Removes underline from link */
  display: inline-block; /* Allows padding and width/height, but respects text flow */
  transition: all 0.3s ease; /* Smooth transition for hover effects */
  font-size: 14px; /* Base font size */
  padding: 8px 15px; /* Padding around the button text */
}

.btn-custom:hover {
  background-color: var(--color-bg-light); /* Lighter background on hover */
  color: var(--color-text-dark); /* Darker text on hover */
}

/* Responsive button tweaks for smaller screens */
@media (max-width: 576px) {
  .btn-custom {
    padding: 6px 12px;
    font-size: 12px;
  }
}

.swiper2 {
  padding: 20px 0 !important;
}
/*======================
    Approach Section
=======================*/
.approachSection {
  background-color: var(--color-bg-dark);
}

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

.stickyImage {
  max-width: 90%;
  height: auto;
  object-fit: contain;
  transition: opacity 0.4s ease-in-out;
  filter: drop-shadow(0 0 20px var(--color-shadow-light));
}

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

.strokeText {
  -webkit-text-stroke: 1px var(--color-text-light);
  color: transparent;
}

@media (max-width: 768px) {
  .imageWrapper {
    height: 50vh !important;
  }
  .stepContent {
    padding: 2rem 1rem;
  }
}
.custom-bullet {
  list-style: none;
  padding-left: 1.5rem;
  position: relative;
}

.custom-bullet li {
  position: relative;
  padding-left: 1rem;
  text-indent: 0;
}

.custom-bullet li::before {
  content: "*";
  position: absolute;
  left: 0;
  top: 0;
  color: var(--color-text-light);
}
/*======================
    Odoo Partner Section
=======================*/
/* Main section background */
.odoo-partner-section {
  background-color: var(--color-accent);
  display: flex;
  align-items: center;
  justify-content: center;
}

/* Custom button style */
.btn-request-review {
  background-color: var(--color-accent-hover);
  color: var(--color-text-light);
  border: none;
  font-weight: 600;
  padding: 0.75rem 1.5rem;
  border-radius: 0.5rem;
  box-shadow: 0 2px 4px var(--color-shadow-dark);
  transition: background-color 0.3s ease;
  display: flex;
  align-items: center;
  justify-content: center;
  width: fit-content;
  cursor: pointer;
}

.btn-request-review:hover {
  background-color: #fff;
  color: var(--color-primary) !important;
}

.btn-request-review:focus {
  outline: 2px solid var(--color-text-light);
  outline-offset: 2px;
}

/* SVG arrow styling */
.btn-request-review svg {
  margin-left: 0.5rem;
  transform: rotate(-45deg);
  stroke: var(--color-text-light);
  width: 16px;
  height: 16px;
}

/* Ensure image responsiveness */
.odoo-partner-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 10%;
  max-width: 200px;
}

/* Responsive adjustments */
@media (max-width: 992px) {
  .btn-request-review {
    padding: 0.625rem 1.25rem;
  }
}

@media (max-width: 768px) {
  .btn-request-review {
    padding: 0.5rem 1rem;
    margin: 0 auto;
  }
}

@media (max-width: 576px) {
  .odoo-partner-image {
    max-width: 150px;
  }

  /* Ensure button is centered on mobile */
  .odoo-partner-section .text-center {
    text-align: center !important;
  }
}

/* ======================
   Technology Section Styles
====================== */

.section-header {
  text-align: center;
  margin-bottom: 2rem; /* Added space below header */
}

.section-header p {
  max-width: 850px;
  margin: 0 auto 1.5rem auto; /* Added bottom margin */
}

/* Custom styles for TechnologiesSection */
.technologies-section1 {
  background-color: #fff;
  padding-top: 3rem;
  padding-bottom: 3rem;
}

.tech-categories {
  border-right: none;
  padding-right: 0;
  position: relative; /* needed for arrow positioning */
  margin-bottom: 2.5rem; /* space below category list */
}

.tech-category-list {
  display: flex;
  flex-wrap: nowrap;
  overflow-x: auto;
  white-space: nowrap;
  gap: 16px; /* increased gap for more breathing room */
  padding: 0 4px; /* small horizontal padding */
  margin: 0;
  justify-content: center;
  list-style: none;
  -ms-overflow-style: none; /* IE 10+ */
  scrollbar-width: none; /* Firefox */
  scroll-behavior: smooth;
}

.tech-category-list::-webkit-scrollbar {
  display: none; /* Chrome, Safari */
}

.tech-categories li {
  padding: 18px 30px; /* bigger padding */
  font-size: 1.1rem; /* slightly bigger font */
  font-weight: 500;
  cursor: pointer;
  margin-bottom: 12px; /* more bottom space */
  text-align: left;
  transition: all 0.3s ease;
  background-color: transparent;
  color: var(--color-text-neutral-dark);
  border: 1px solid transparent;
  border-bottom: 2px solid transparent;
  flex-shrink: 0;
  border-radius: 6px; /* subtle rounding */
}

.tech-categories li.active {
  background-color: transparent;
  color: var(--color-text-active);
  border-color: transparent;
  border-bottom: 2px solid var(--color-border-active);
  font-weight: 600;
  padding-bottom: 18px;
}

.tech-categories li:hover:not(.active) {
  background-color: var(--color-bg-hover-light);
  color: var(--color-text-dark);
  border-bottom-color: var(--color-border-light);
}

.tech-category-item {
  display: flex;
  align-items: center;
  gap: 10px; /* spacing between icon and text */
}

.tech-details p {
  border-bottom: 1px solid var(--color-border-light);
  padding-bottom: 1rem; /* added padding below paragraphs */
  margin-bottom: 1.5rem; /* margin below paragraph */
}

.tech-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 22px; /* bigger gaps between tags */
  margin-top: 1rem;
}

.tech-tag {
  background-color: var(--color-bg-element-light);
  border: 1px solid var(--color-border-lighter);
  border-radius: 30px;
  padding: 10px 18px; /* increased padding */
  color: var(--color-text-element);
  display: inline-flex;
  align-items: center;
  box-shadow: 0 3px 8px var(--color-shadow-dark);
  transition: transform 0.2s ease-in-out, box-shadow 0.2s ease-in-out;
  font-size: 0.95rem;
}

.tech-tag img {
  width: 28px; /* slightly bigger */
  height: 28px;
  margin-right: 12px;
}

.tech-tag:hover {
  transform: scale(1.05);
  box-shadow: 0 5px 14px var(--color-shadow-dark);
  background-color: var(--color-bg-element-hover);
}

.tech-content-wrapper {
  display: flex;
  justify-content: flex-start;
  margin-top: 1rem;
}

.me-2 {
  margin-right: 10px;
}

/* Scroll arrows styles */
.scroll-arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background: rgba(255, 255, 255, 0.9);
  border: none;
  cursor: pointer;
  font-size: 1.6rem; /* slightly larger */
  font-weight: bold;
  color: var(--color-text-active, #007bff);
  padding: 0 14px; /* wider padding */
  box-shadow: 0 0 6px rgba(0, 0, 0, 0.1);
  border-radius: 6px;
  z-index: 10;
  transition: background-color 0.2s ease;
}

.scroll-arrow:hover {
  background-color: var(--color-bg-element-hover, #f0f0f0);
}

.scroll-arrow-left {
  left: 0;
}

.scroll-arrow-right {
  right: 0;
}

/* Mobile responsiveness */
@media (max-width: 576px) {
  .tech-categories {
    border-right: none;
    padding: 0 12px;
    margin-bottom: 1.8rem;
  }

  .tech-category-list {
    justify-content: flex-start;
    padding: 0;
    gap: 12px;
  }

  .tech-categories li {
    padding: 12px 20px; /* slightly bigger than original mobile */
    font-size: 1rem;
    margin-bottom: 0;
    margin-right: 10px;
    border-radius: 4px;
  }

  .tech-categories li.active {
    background-color: transparent;
    color: var(--color-text-active);
    border-bottom: 2px solid var(--color-border-active);
  }

  .tech-categories li:hover:not(.active) {
    background-color: var(--color-bg-hover-light);
    border-bottom: 2px solid var(--color-border-light);
  }

  .tech-tags {
    gap: 14px; /* more breathing room on tags */
  }

  .tech-tag {
    padding: 8px 15px;
    font-size: 0.9rem;
    border-radius: 24px;
    box-shadow: 0 3px 7px var(--color-shadow-dark);
  }

  .tech-tag img {
    width: 22px;
    height: 22px;
    margin-right: 10px;
  }

  .container {
    padding-left: 14px;
    padding-right: 14px;
  }

  .scroll-arrow {
    font-size: 1.3rem;
    padding: 0 10px;
  }
}

/* Brands */
.blog-slider-section {
}

.blog-header .sub-title {
  font-size: 15px;
  color: var(--color-accent);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 2px;
  margin-bottom: 8px;
}

.blog-header .main-title {
  font-size: 36px;
  font-weight: 800;
  color: var(--color-text-heading);
}

.view-all-btn {
  display: inline-flex;
  align-items: center;
  font-size: 16px;
  color: var(--color-text-light);
  font-weight: 600;
  text-decoration: none;
  padding: 12px 24px;
  background: var(--color-accent);
  border-radius: 30px;
  box-shadow: 0 4px 12px rgba(0, 123, 255, 0.3);
  transition: all 0.3s ease;
}

.view-all-btn:hover {
  background: var(--color-accent-hover);
  transform: translateY(-2px);
}

.swiper-slide {
  display: flex;
  height: auto;
}

.blog-card {
  background: var(--color-bg-light);
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 6px 16px var(--color-shadow-dark);
  display: flex;
  flex-direction: column;
  padding: 15px;
  width: 100%;
  height: 335px; /* Assuming this was intentional based on previous prompt */
  transition: transform 0.4s ease, box-shadow 0.4s ease;
  margin-bottom: 30px;
  margin-top: 30px;
}

.blog-card:hover {
  transform: translateY(-8px);
  box-shadow: 0 12px 24px var(--color-shadow-dark);
}

.blog-image {
  width: 100%;
  height: 400px;
  background: var(--color-bg-hover-light);
  overflow: hidden;
  display: flex;
  justify-content: center;
  align-items: center;
}

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

.blog-content {
  flex: 1;
  padding-top: 10px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.blog-title {
  color: var(--color-text-neutral-dark);
  margin-bottom: 6px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  display: block;
}

.read-more {
  display: inline-flex;
  align-items: center;
  color: var(--color-accent);
  font-weight: 600;
  text-decoration: none;
  font-size: 14px;
  margin-top: auto;
}

.read-more:hover {
  color: var(--color-accent-hover);
}

.read-more svg {
  margin-left: 8px;
  transition: transform 0.3s ease;
}

.read-more:hover svg {
  transform: translateX(5px);
}

.blog-slider-wrapper {
  position: relative;
}

.custom-pagination {
  text-align: center;
}

.custom-pagination .swiper-pagination-bullet {
  background: var(--color-accent);
  opacity: 0.6;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  display: inline-block;
  margin: 0 6px;
  transition: opacity 0.3s;
}

.section-services {
  background-color: #023347;
  color: #fff;
}

.services-subtitle {
  font-weight: 500;
  color: #888;
  margin-bottom: 15px;
}

/* These .service-card-inner and related styles are likely for a different card design.
   If not used by the "step cards", they can be removed to avoid potential conflicts. */
.service-card-inner {
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 10px;
  text-align: center;
  padding: 30px;
  height: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
}

.service-card-number {
  font-size: 70px; /* Keep if needed for other cards or remove if only for step-number */
  font-weight: bold;
  color: #2a8e9e;
  margin-bottom: 20px;
}

.service-card-title {
  font-weight: 600;
  margin-bottom: 10px;
}

.service-card-description {
  color: rgba(212, 208, 208, 0.8);
}
.service-card-icon {
  font-size: 15px; /* Controls the size of the icon */
  color: #2a8e9e; /* Accent color for the icon */
  margin-bottom: 20px; /* Space below the icon */
  display: flex; /* Ensures proper alignment of the icon */
  align-items: center;
  justify-content: center;
}

.services-section {
  padding: 40px 0px;
}

.services-header {
  margin-bottom: 30px;
}

.services-header h6 {
  font-weight: bold;
  border-left: 4px solid #ffc857;
  padding-left: 10px;
}

.category-heading {
  font-weight: 700;
  margin-left: 10px;
  margin-bottom: 20px;
}

.features-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}

.feature-card {
  border: 1px solid lightgray;

  padding: 16px;
  border-radius: 10px;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  height: 100%;
  overflow: hidden;
  position: relative;
}

.feature-card:hover {
  border: 2px solid var(--color-primary);
  transform: translateY(-5px);
}

.feature-card-icon {
  font-size: 30px;
  color: #ff9a2c;
  margin-bottom: 10px;
}

.feature-card-title {
  font-weight: 600;
  margin: 0;
}

.feature-card-type {
  color: var(--color-text-secondary);
}

@media only screen and (max-width: 991px) {
  .features-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
  }
}

@media only screen and (max-width: 480px) {
  .features-grid {
    grid-template-columns: repeat(1, 1fr);
    gap: 20px;
  }
}

.card-scroll-wrapper {
  position: relative;
  margin-bottom: 5px;
  height: fit-content;
}

.card-scroll-container {
  display: flex;
  flex-wrap: nowrap;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scroll-snap-type: x mandatory;
}

.card-scroll-container::-webkit-scrollbar {
  height: 0 !important;
  width: 0 !important;
}

.card-scroll-container {
  scrollbar-width: none !important;
  overflow: -moz-scrollbars-none !important;
  -ms-overflow-style: none !important;
}

.service-step-card {
  background-color: #104f69;
  border-radius: 10px;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  overflow: hidden;
  position: relative;
  scroll-snap-align: start;
  flex: 0 0 calc(100% - 15px);
  max-width: calc(100% - 15px);
}

.container2 {
  display: flex;
  justify-content: end;
}
.container-vh {
  width: 70vw;
}

.portfolio-slider-bg {
  position: relative;
  background-image: url("../imgs/background/port-slider-bg.jpg");
  background-size: cover;
  background-position: center;
  z-index: 1;
  overflow: hidden;
}

.portfolio-slider-bg::before {
  content: "";
  position: absolute;
  inset: 0;
  background-color: rgba(2, 51, 71, 0.93);
  z-index: 2;
}

.portfolio-slider-bg > * {
  position: relative;
  z-index: 3;
}

.custom-header-layout2 {
  display: flex;
  align-items: center;
  gap: 20px;
}

.left-label2 {
  writing-mode: vertical-rl;
  text-orientation: mixed;
  transform: rotate(180deg);
}

.header-content2 h4 {
  font-weight: 700;
  line-height: 1.3;
}

.header-content2 p {
  max-width: 600px;
}

.custom-swiper-wrapper2 {
}

.simple-slide-img img {
  width: 100%;
  height: 500px;
  object-fit: cover;
}

@media (min-width: 576px) {
  .service-step-card {
    flex: 0 0 calc(50% - 7.5px);
    max-width: calc(50% - 7.5px);
  }
}

@media (min-width: 768px) {
  .service-step-card {
    flex: 0 0 calc(33.333% - 10px);
    max-width: calc(33.333% - 10px);
  }
}

@media (min-width: 992px) {
  .service-step-card {
    flex: 0 0 calc(25% - 11.25px);
    max-width: calc(25% - 11.25px);
  }
}

@media (min-width: 1201px) {
  .service-step-card {
    flex: 0 0 calc(20% - 12px);
    max-width: calc(20% - 12px);
  }
}

@media (max-width: 2400px) {
  .container-vh {
    width: 77vw;
  }
}

@media (max-width: 2200px) {
  .container-vh {
    width: 79vw;
  }
}

@media (max-width: 2000px) {
  .container-vh {
    width: 82vw;
  }
}
@media (max-width: 1800px) {
  .container-vh {
    width: 86vw;
  }
}

@media (max-width: 1600px) {
  .container-vh {
    width: 90vw;
  }
}

@media (max-width: 1399px) {
  .simple-slide-img img {
    height: 400px;
  }
  .custom-header-layout2 {
  }
  .custom-swiper-wrapper2 {
  }
}

@media (max-width: 991px) {
  .simple-slide-img img {
    height: 300px;
  }
}

@media (max-width: 767px) {
  .container-vh {
    padding: 0px 15px;
    width: 100vw;
  }
}

.service-step-card-inner {
  width: 100%;
  border: none;
  background: none;
  padding: 20px 25px;
  text-align: left;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
  height: 100%;
}

.step-number {
  margin-bottom: 20px;
}

.step-number span {
  font-weight: 700;
  display: inline-block;
  color: rgba(255, 255, 255, 0.1);
  background: linear-gradient(
    to right,
    rgba(255, 255, 255, 0.6),
    rgba(255, 255, 255, 0.1)
  );
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  text-fill-color: transparent;
}

.step-title {
  font-weight: 600;
  margin-bottom: 10px;
  color: #fff;
}

.step-description {
  color: rgba(255, 255, 255, 0.7);
}

.scroll-navigation {
  display: flex;
  justify-content: space-between;
  padding: 0 10px;
  pointer-events: none;
  z-index: 10;
}

.scroll-btn {
  background-color: #2a8e9e;
  color: #fff;
  border: none;
  border-radius: 50%;
  width: 50px;
  height: 50px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 24px;
  cursor: pointer;
  transition: background-color 0.3s ease, transform 0.2s ease;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.3);
  pointer-events: auto;
  opacity: 1;
  visibility: visible;
}

.scroll-btn:hover {
  background-color: #1f7a8c;
  transform: translateY(-2px);
}

.scroll-btn:active {
  transform: translateY(0);
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.4);
}

.scroll-btn:disabled {
  background-color: #555;
  cursor: not-allowed;
  opacity: 0.3;
  visibility: visible;
}

@media (max-width: 576px) {
  .simple-slide-img img {
    height: 250px;
  }
  .scroll-btn {
    width: 40px;
    height: 40px;
    font-size: 20px;
  }
}

.portfolio-tag-bg-title {
  padding: 0px 10px;
  color: #000;
  background-color: var(--color-primary-light);
  font-weight: 400;
}
.portfolio-tag-bg {
  padding: 0px 10px;
  color: #000;
  background-color: var(--color-primary-light);
  font-size: 10px;
}
.hover-text-color:hover {
  color: var(--color-accent) !important;
}

/* Base styling for the connector line container */
.mvp-connector-image-container {
  position: absolute;
  width: 100%;
  right: -360px;
  bottom: -260px;
  height: 100%;
  transform: translateY(-50%);
  z-index: 10;
}

/* Adjustments for when the layout is reversed (e.g., flex-row-reverse) */
.flex-row-reverse .mvp-connector-image-container {
  display: flex;
  position: absolute;
  left: -260px;
  bottom: -260px;
  justify-content: flex-start;
  align-items: center;
}

.benefits-wrapper {
  display: flex;
  flex-direction: column;
  gap: 15px;
}

.erp-benefits {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 15px;
  overflow: hidden;
  position: relative;
  transition: transform 0.3s ease-in-out, opacity 0.3s ease-in-out;
}

.erp-benefits li {
  border: 2px dotted #33ccff;
  padding: 15px 20px;
  border-radius: 10px;
  background-color: transparent;
  font-weight: 600;
  transition: background 0.3s;
}

.cardContainer {
  background-color: #fff;
}

.erp-benefits li:hover {
  background-color: rgba(51, 204, 255, 0.1);
}

.steps-container {
  background-color: #1a2b4b;
}

.card-container {
  display: flex;
  gap: 25px;
  color: #fff;
  padding: 50px 0;
  margin-bottom: 40px;
}
.mvp-scope-box {
  background-color: #22395f;
  color: #ffffff;
  padding: 30px;
  width: 80%;
  border-radius: 0.25rem;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.mvp-scope-box:hover {
  transform: translateY(-10px);
  box-shadow: 0 10px 20px rgba(0, 0, 0, 0.2);
}

.justify-center {
  display: flex;
  justify-content: center;
}

.mvp-scope-box .d-flex {
  align-items: center;
  margin-bottom: 1rem;
}

.mvp-scope-box h3 {
  color: #ffffff;
  margin-bottom: 0;
  margin-left: 15px;
}

.mvp-scope-box svg {
  color: #ffffff;
}

.mvp-scope-box ol {
  list-style-type: none;
  padding-left: 0;
  margin-bottom: 0;
}

.mvp-scope-box li {
  color: #ffffff;
  margin-bottom: 0.5rem;
}

.mvp-number-overlay {
  position: relative;
  font-size: 120px;
  font-weight: bold;
  color: #ffffff;
  opacity: 0.1;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 0.5rem;
}

.tech-slide {
  width: 200px !important;
}

.tech-card {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  text-align: start;
  padding: 16px 20px;
  border-radius: 12px;
  background-color: var(--color-primary-light);
  height: 100%;
  gap: 12px;
  min-width: 0;
}

.tech-name {
  color: var(--color-primary);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  width: 100px;
  display: inline-block;
}

.slide-in {
  transform: translateX(0);
  opacity: 1;
}

.slide-out {
  transform: translateX(100%);
  opacity: 0;
}

.ser-feature-card {
  width: 100%;
  padding: 10px;
  border: 1px solid #ccc;
  border-radius: 8px;
  cursor: pointer;
  margin-bottom: 10px;
}

.ser-feature-card-content {
  display: flex;
  align-items: center;
  gap: 12px; /* previously gap-2 in Tailwind = ~8px */
}

.ser-feature-icon {
  padding: 8px;
  border: 1px solid var(--color-text-active);
  border-radius: 10px;
}

/* === Mobile Timeline Layout === */
@media (max-width: 967px) {
  /* Stack everything vertically */
  .card-container {
    padding: 0px 0;
    margin-bottom: 0px;
  }
  .card-container .row {
    flex-direction: column !important;
  }

  /* Scope box full width */
  .mvp-scope-box {
    width: 100%;
    padding: 20px;
    text-align: left;
    margin: 0 0 30px 40px; /* space for timeline line */
  }

  /* Hide connector images — use vertical line instead */
  .mvp-connector-image-container {
    display: none !important;
  }
}
@media (max-width: 500px) {
  .blog-modern .item {
    width: 80%;
  }
  .hide-500 {
    display: none !important;
  }
  .dis-500 {
    display: block !important;
  }
  .mb-sm-20 {
    margin-bottom: 20px !important;
  }
}

@media (max-width: 400px) {
  .blog-modern .item {
    width: 90%;
  }
}
.tech-content-wrapper {
  min-height: 300px; /* match your largest category content */
}

.filter-mobile {
  display: none;
}

.filter-select {
  padding: 8px 12px;
  font-size: 14px;
  border-radius: 6px;
  width: 9rem;
  cursor: pointer;
}

.section-padding-portfolio {
  padding: 50px 0px;
}

@media screen and (max-width: 992px) {
  .section-padding-portfolio {
    padding: 30px 0px;
  }
}

@media (max-width: 500px) {
  .filter-protfolio {
    display: none;
  }

  .filter-mobile {
    display: block;
  }

  .section-padding-portfolio {
    padding: 0px 0px;
  }

  .display-flex-portfolio {
    display: flex;
    align-items: center;
     justify-content: space-between;
    padding-top: 10px;
  }
}
