/* == Web Fonts == */
@import url("https://fonts.googleapis.com/css2?family=Jost:ital,wght@0,100..900;1,100..900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Oswald:wght@200..700&display=swap");

:root,
[data-bs-theme="light"] {
  --bs-themecolor: #6610f2;
  --bs-themecolor-rgb: 102, 16, 242;
  --bs-themehovercolor: #510bc4;
  --bs-themehovercolor-rgb: 81.32143, 10.67857, 196.32143;
  --bs-link-color: var(--bs-themecolor);
  --bs-link-color-rgb: var(--bs-themecolor-rgb);
  --bs-link-hover-color: var(--bs-themehovercolor);
  --bs-link-hover-color-rgb: var(--bs-themehovercolor-rgb);
  --bs-success: var(--bs-themecolor);
  --bs-success-rgb: var(--bs-themecolor-rgb);
  --bs-success: #09b850;
  --bs-success-rgb: 9, 184, 80;
  --bs-primary: var(--bs-themecolor);
  --bs-primary-rgb: var(--bs-themecolor-rgb);
  --bs-primary-text-emphasis: #290661;
  --bs-primary-bg-subtle: #e0cffc;
  --bs-primary-border-subtle: #c29ffa;
  --bs-body-color: #212529;
  --bs-body-color-rgb: 33, 37, 41;
  --bs-heading-color: var(--bs-emphasis-color);
  --bs-body-font-family: Jost, sans-serif;
  --bs-heading-font-family: Playfair Display, serif;
  --bs-heading-font-family-oswald: Oswald, sans-serif;
  --bs-body-font-size: 1.125rem;
  --cursor-color: #000000;
  --background: #f2f2f2;
  --chat-border: #000000;
}

[data-bs-theme="dark"] {
  --bs-themecolor: #ffc107;
  --bs-themecolor-rgb: 255, 193, 7;
  --bs-themehovercolor: #e2aa00;
  --bs-themehovercolor-rgb: 226.3, 169.725, 0;
  --bs-link-color: var(--bs-themecolor);
  --bs-link-color-rgb: var(--bs-themecolor-rgb);
  --bs-link-hover-color: var(--bs-themehovercolor);
  --bs-link-hover-color-rgb: var(--bs-themehovercolor-rgb);
  --bs-success: var(--bs-themecolor);
  --bs-success-rgb: var(--bs-themecolor-rgb);
  --bs-success: #09b850;
  --bs-success-rgb: 9, 184, 80;
  --bs-primary: var(--bs-themecolor);
  --bs-primary-rgb: var(--bs-themecolor-rgb);
  --bs-primary-text-emphasis: #664d03;
  --bs-primary-bg-subtle: #fff3cd;
  --bs-primary-border-subtle: #ffe69c;
  --bs-body-color: #212529;
  --bs-body-color-rgb: 33, 37, 41;
  --bs-heading-color: var(--bs-emphasis-color);
  --bs-body-font-family: Jost, sans-serif;
  --bs-heading-font-family: Playfair Display, serif;
  --bs-heading-font-family-oswald: Oswald, sans-serif;
  --bs-body-font-size: 1.125rem;
  color-scheme: dark;
  --cursor-color: #ffffff;
  --background: #0a0a0c;
  --chat-border: #ffffff;
}

/*=============== Logo toggle ==================== */

/* Show black logo in light mode, hide white logo */
[data-bs-theme="light"] .logo-dark,
:root .logo-dark {
  display: none;
}

[data-bs-theme="light"] .logo-light,
:root .logo-light {
  display: block;
}

/* Show white logo in dark mode, hide black logo */
[data-bs-theme="dark"] .logo-light {
  display: none;
}

[data-bs-theme="dark"] .logo-dark {
  display: block;
}

/* =================================== */
/*  1. Basic
/* =================================== */
body,
html {
  height: 100%;
  transition: all 1s ease;
}

@media (prefers-reduced-motion: no-preference) {
  :root {
    scroll-behavior: auto;
  }
}

/*-------- Preloader --------*/
/* Preloader Container - Full Screen Overlay */
.preloader {
  position: fixed;
  width: 100%;
  height: 100%;
  z-index: 999999999 !important;
  background-color: #f2f2f2;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: opacity 0.3s ease, visibility 0s 0.3s;
}

/* Dark mode background */
[data-bs-theme="dark"] .preloader {
  background-color: #0a0a0c;
}

/* When preload class is removed, fade out */
body:not(.preload) .preloader {
  opacity: 0;
  visibility: hidden;
}

body.preload .preloader {
  opacity: 1;
  visibility: visible;
  transition: opacity 0.3s ease;
}

/* Lottie Container */
.lottie-container {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  animation: fadeInLoader 0.3s ease-out;
}

/* Lottie Player Styling */
lottie-player {
  max-width: 90vw;
  max-height: 90vh;
}

/* Disable all transitions during preload */
.preload * {
  transition: none !important;
}

/* Responsive sizing */
@media (max-width: 768px) {
  lottie-player {
    width: 250px !important;
    height: 250px !important;
  }
}

@media (max-width: 480px) {
  lottie-player {
    width: 200px !important;
    height: 200px !important;
  }
}

/* Fade-in animation for loader */
@keyframes fadeInLoader {
  from {
    opacity: 0;
    transform: scale(0.9);
  }
  to {
    opacity: 1;
    transform: scale(1);
  }
}



/*--- Preloader Magnific Popup ----*/
.mfp-container .preloader {
  background: transparent;
}

.mfp-container .preloader .lds-ellipsis div {
  background: #fff;
}

::selection {
  background: var(--bs-themehovercolor);
  color: #fff;
  text-shadow: none;
}

form {
  padding: 0;
  margin: 0;
  display: inline;
}

img {
  vertical-align: inherit;
}

p {
  line-height: 1.7;
}

blockquote {
  border-width: 0 0 0 5px;
  border-style: solid;
  border-color: rgba(0, 0, 0, 0.12);
  padding: 10px 20px;
}

.blockquote-footer {
  padding-left: 20px;
}

html[dir="rtl"] blockquote {
  border-width: 0 5px 0 0px;
}

html[dir="rtl"] blockquote .blockquote-footer {
  padding-right: 20px;
  padding-left: 0px;
}

[data-bs-theme="dark"] blockquote {
  border-color: #343a40;
}

iframe {
  border: 0 !important;
}

.heading-font-family {
  font-family: var(--bs-heading-font-family);
}

.heading-font-family-oswald {
  font-family: var(--bs-heading-font-family-oswald);
}

/* =================================== */
/*  2. Header
/* =================================== */
#header {
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease;
}

#header .navbar {
  padding: 0px;
}

#header .logo {
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-item-align: stretch;
  align-self: stretch;
}

/*=== 2.1 Navigation ===*/
.primary-menu {
  display: -webkit-box !important;
  display: -ms-flexbox !important;
  display: flex !important;
  height: auto !important;
  -webkit-box-ordinal-group: 0;
  -ms-flex-item-align: stretch;
  align-self: stretch;
  background: #fff;
  border-bottom: 1px solid #efefef;
  position: absolute;
  z-index: 999;
  top: 0;
  left: 0;
  width: 100%;
}

.primary-menu.bg-transparent {
  box-shadow: none;
  border-bottom: 1px solid rgba(250, 250, 250, 0.3);
}

.primary-menu.sticky-on {
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 1020;
  left: 0;
  margin-top: 0px !important;
  -webkit-animation: slide-down 0.7s;
  -moz-animation: slide-down 0.7s;
  animation: slide-down 0.7s;
}

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

  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

@-moz-keyframes slide-down {
  0% {
    opacity: 0;
    transform: translateY(-100%);
  }

  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes slide-down {
  0% {
    opacity: 0;
    transform: translateY(-100%);
  }

  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

.primary-menu.sticky-on .none-on-sticky {
  display: none !important;
}

.primary-menu ul.navbar-nav > li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 100%;
}

.primary-menu ul.navbar-nav > li a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.primary-menu ul.navbar-nav > li > a:not(.btn) {
  height: 70px;
  padding: 0px 0.85em;
  color: #252b33;
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
  position: relative;
}

.primary-menu ul.navbar-nav > li:hover > a:not(.btn),
.primary-menu ul.navbar-nav > li > a.active:not(.btn) {
  color: var(--bs-themecolor);
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
}

.primary-menu ul.navbar-nav > li a.btn {
  padding: 0.5rem 1rem;
}

.primary-menu ul.navbar-nav > li.dropdown .dropdown-menu {
  -webkit-box-shadow: 0px 0px 12px rgba(0, 0, 0, 0.176);
  box-shadow: 0px 0px 12px rgba(0, 0, 0, 0.176);
  border: 0px none;
  padding: 10px 16px;
  min-width: 230px;
  margin: 0;
  text-transform: capitalize;
  z-index: 1021;
  top: 100%;
}

.primary-menu ul.navbar-nav > li.dropdown .dropdown-menu li > a:not(.btn) {
  padding: 8px 0px;
  background-color: transparent;
  color: #212529;
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
  font-weight: normal;
}

.primary-menu
  ul.navbar-nav
  > li.dropdown
  .dropdown-menu
  li
  > a:not(.btn)
  > i:not(.arrow) {
  font-size: 0.875rem;
  width: 18px;
  text-align: center;
  margin-right: 7px;
}

.primary-menu ul.navbar-nav > li.dropdown .dropdown-menu li:hover > a:not(.btn),
.primary-menu ul.navbar-nav > li.dropdown .dropdown-menu li a.active:not(.btn) {
  color: var(--bs-themecolor);
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
}

.primary-menu ul.navbar-nav > li.dropdown .dropdown-menu .dropdown-menu {
  left: 100%;
  margin-top: -40px;
}

.primary-menu
  ul.navbar-nav
  > li.dropdown
  .dropdown-menu
  .dropdown-toggle:after {
  border-top: 0.4em solid transparent;
  border-right: 0;
  border-bottom: 0.4em solid transparent;
  border-left: 0.4em solid;
}

.primary-menu ul.navbar-nav > li.dropdown:hover > a:after {
  clear: both;
  content: " ";
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-color: transparent transparent #fff transparent;
  position: absolute;
  border-width: 0px 9px 8px 9px;
  bottom: 0px;
  left: 50%;
  margin: 0 0 0 -14px;
  z-index: 1022;
}

.primary-menu ul.navbar-nav > li.dropdown .dropdown-toggle .arrow {
  position: absolute;
  min-width: 30px;
  height: 100%;
  right: 0px;
  top: 0;
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
}

.primary-menu ul.navbar-nav > li.dropdown .dropdown-toggle .arrow:after {
  content: " ";
  position: absolute;
  top: 50%;
  left: 50%;
  border-color: initial;
  border-top: 1px solid;
  border-right: 1px solid;
  width: 6px;
  height: 6px;
  -webkit-transform: translate(-50%, -50%) rotate(45deg);
  transform: translate(-50%, -50%) rotate(45deg);
}

.primary-menu
  ul.navbar-nav
  > li.dropdown
  .dropdown-toggle
  .arrow.arrow-end:after {
  -webkit-transform: translate(-50%, -50%) rotate(225deg);
  transform: translate(-50%, -50%) rotate(225deg);
}

.primary-menu .dropdown-menu-end {
  left: auto !important;
  right: 100% !important;
}

.primary-menu .dropdown-toggle:after {
  content: none;
}

/*== Color Options ==*/
[data-bs-theme="dark"] .primary-menu {
  background: #111418;
  border-bottom: #111418;
}

[data-bs-theme="dark"] ul.navbar-nav > li > a:not(.btn) {
  color: #fff;
}

[data-bs-theme="dark"] ul.navbar-nav > li:hover > a:not(.btn),
[data-bs-theme="dark"] ul.navbar-nav > li > a.active:not(.btn) {
  color: var(--bs-themecolor);
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
}

[data-bs-theme="dark"] ul.navbar-nav > li.dropdown .dropdown-menu {
  background: #212529;
}

[data-bs-theme="dark"]
  ul.navbar-nav
  > li.dropdown
  .dropdown-menu
  li
  > a:not(.btn) {
  color: #f8f9fa;
}

[data-bs-theme="dark"]
  ul.navbar-nav
  > li.dropdown
  .dropdown-menu
  li:hover
  > a:not(.btn),
[data-bs-theme="dark"]
  ul.navbar-nav
  > li.dropdown
  .dropdown-menu
  li
  a.active:not(.btn) {
  color: var(--bs-themecolor);
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
}

[data-bs-theme="dark"] ul.navbar-nav > li.dropdown:hover > a:after {
  border-color: transparent transparent #212529 transparent;
}

[data-bs-theme="dark"]
  ul.navbar-nav
  > li.dropdown
  .dropdown-toggle
  .arrow:after {
  border-color: initial;
}

[data-bs-theme="dark"] .primary-menu .navbar-toggler span {
  background: #fff;
}

.sticky-on.bg-transparent,
.sticky-on-top.bg-transparent {
  background-color: #f2f2f2 !important;
  border-bottom: 1px solid rgba(0, 0, 0, 0.1) !important;
}

[data-bs-theme="dark"] .sticky-on.bg-transparent,
[data-bs-theme="dark"] .sticky-on-top.bg-transparent {
  background-color: #0a0a0c !important;
  border-bottom: 1px solid rgba(250, 250, 250, 0.1) !important;
}

/*=== 2.1.1 Hamburger Menu Button ===*/
.navbar-toggler {
  width: 31px;
  height: 30px;
  padding: 10px;
  margin: 18px 15px;
  position: relative;
  border: none;
  -webkit-transform: rotate(0deg);
  transform: rotate(0deg);
  -webkit-transition: 0.5s ease-in-out;
  transition: 0.5s ease-in-out;
  cursor: pointer;
  display: block;
}

.navbar-toggler span {
  display: block;
  position: absolute;
  height: 2px;
  width: 100%;
  background: #3c3636;
  border-radius: 2px;
  opacity: 1;
  right: 0;
  -webkit-transform: rotate(0deg);
  transform: rotate(0deg);
  -webkit-transition: 0.25s ease-in-out;
  transition: 0.25s ease-in-out;
}

.navbar-toggler span:nth-child(1) {
  top: 4px;
  -webkit-transform-origin: left center;
  -moz-transform-origin: left center;
  -o-transform-origin: left center;
  transform-origin: left center;
}

.navbar-toggler span:nth-child(2) {
  top: 14px;
  width: 65%;
  -webkit-transform-origin: left center;
  -moz-transform-origin: left center;
  -o-transform-origin: left center;
  transform-origin: left center;
}

.navbar-toggler span:nth-child(3) {
  top: 24px;
  -webkit-transform-origin: left center;
  -moz-transform-origin: left center;
  -o-transform-origin: left center;
  transform-origin: left center;
}

.navbar-toggler:hover span:nth-child(1) {
  width: 65%;
}

.navbar-toggler:hover span:nth-child(2) {
  width: 100%;
}

.navbar-toggler:hover span:nth-child(3) {
  width: 65%;
}

.navbar-toggler.show span:nth-child(1) {
  top: 3px;
  left: 4px;
  width: 100%;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}

.navbar-toggler.show span:nth-child(2) {
  width: 0%;
  opacity: 0;
}

.navbar-toggler.show span:nth-child(3) {
  top: 25px;
  left: 4px;
  width: 100%;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
}

.navbar-toggler:focus {
  box-shadow: none;
}

.navbar-accordion {
  position: initial;
}

/*=== 2.1.2 Responsive Navbar ===*/
.navbar-expand-none .navbar-collapse {
  position: absolute;
  top: 99%;
  right: 0;
  left: 0;
  background: #fff;
  margin-top: 0px;
  z-index: 1000;
  -webkit-box-shadow: 0px 0px 15px rgba(0, 0, 0, 0.1);
  box-shadow: 0px 0px 15px rgba(0, 0, 0, 0.1);
}

.navbar-expand-none .navbar-collapse .navbar-nav {
  overflow: hidden;
  overflow-y: auto;
  max-height: 65vh;
  padding: 15px;
}

.navbar-expand-none ul.navbar-nav li {
  display: block;
  border-bottom: 1px solid #eee;
  margin: 0;
  padding: 0;
}

.navbar-expand-none ul.navbar-nav li:last-child {
  border: none;
}

.navbar-expand-none ul.navbar-nav li + li {
  margin-left: 0px;
}

.navbar-expand-none
  ul.navbar-nav
  li.dropdown
  > .dropdown-toggle
  > .arrow.show:after {
  -webkit-transform: translate(-50%, -50%) rotate(-45deg);
  transform: translate(-50%, -50%) rotate(-45deg);
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
  top: calc(50% + 2px);
}

.navbar-expand-none ul.navbar-nav li > a:hover:after,
.navbar-expand-none ul.navbar-nav li > a.active:after {
  content: none !important;
  width: 0px !important;
}

.navbar-expand-none ul.navbar-nav > li > a:not(.btn) {
  height: auto;
  padding: 8px 0;
  position: relative;
}

.navbar-expand-none
  ul.navbar-nav
  > li.dropdown
  .dropdown-menu
  li
  > a:not(.btn) {
  padding: 8px 0;
  position: relative;
}

.navbar-expand-none ul.navbar-nav > li.dropdown:hover > a:after {
  content: none;
}

.navbar-expand-none ul.navbar-nav > li.dropdown .dropdown-toggle .arrow:after {
  -webkit-transform: translate(-50%, -50%) rotate(134deg);
  transform: translate(-50%, -50%) rotate(134deg);
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
  width: 8px;
  height: 8px;
  top: calc(50% - 2px);
}

.navbar-expand-none ul.navbar-nav > li.dropdown .dropdown-menu {
  margin: 0;
  -webkit-box-shadow: none;
  box-shadow: none;
  border: none;
  padding: 0px 0px 0px 15px;
  background: transparent;
}

.navbar-expand-none ul.navbar-nav > li.dropdown .dropdown-menu .dropdown-menu {
  margin: 0;
}

[data-bs-theme="dark"] .navbar-expand-none .navbar-collapse {
  background: rgba(0, 0, 0, 0.95);
}

[data-bs-theme="dark"] .navbar-expand-none .navbar-collapse ul.navbar-nav li {
  border-color: rgba(250, 250, 250, 0.15);
}

@media (max-width: 575.98px) {
  .navbar-expand-sm .navbar-collapse {
    position: absolute;
    top: 99%;
    right: 0;
    left: 0;
    background: #fff;
    margin-top: 0px;
    z-index: 1000;
    -webkit-box-shadow: 0px 0px 15px rgba(0, 0, 0, 0.1);
    box-shadow: 0px 0px 15px rgba(0, 0, 0, 0.1);
  }

  .navbar-expand-sm .navbar-collapse .navbar-nav {
    overflow: hidden;
    overflow-y: auto;
    max-height: 65vh;
    padding: 15px;
  }

  .navbar-expand-sm ul.navbar-nav li {
    display: block;
    border-bottom: 1px solid #eee;
    margin: 0;
    padding: 0;
  }

  .navbar-expand-sm ul.navbar-nav li:last-child {
    border: none;
  }

  .navbar-expand-sm ul.navbar-nav li + li {
    margin-left: 0px;
  }

  .navbar-expand-sm
    ul.navbar-nav
    li.dropdown
    > .dropdown-toggle
    > .arrow.show:after {
    -webkit-transform: translate(-50%, -50%) rotate(-45deg);
    transform: translate(-50%, -50%) rotate(-45deg);
    -webkit-transition: all 0.2s ease;
    transition: all 0.2s ease;
    top: calc(50% + 2px);
  }

  .navbar-expand-sm ul.navbar-nav li > a:hover:after,
  .navbar-expand-sm ul.navbar-nav li > a.active:after {
    content: none !important;
    width: 0px !important;
  }

  .navbar-expand-sm ul.navbar-nav > li > a:not(.btn) {
    height: auto;
    padding: 8px 0;
    position: relative;
  }

  .navbar-expand-sm
    ul.navbar-nav
    > li.dropdown
    .dropdown-menu
    li
    > a:not(.btn) {
    padding: 8px 0;
    position: relative;
  }

  .navbar-expand-sm ul.navbar-nav > li.dropdown:hover > a:after {
    content: none;
  }

  .navbar-expand-sm ul.navbar-nav > li.dropdown .dropdown-toggle .arrow:after {
    -webkit-transform: translate(-50%, -50%) rotate(134deg);
    transform: translate(-50%, -50%) rotate(134deg);
    -webkit-transition: all 0.2s ease;
    transition: all 0.2s ease;
    width: 8px;
    height: 8px;
    top: calc(50% - 2px);
  }

  .navbar-expand-sm ul.navbar-nav > li.dropdown .dropdown-menu {
    margin: 0;
    -webkit-box-shadow: none;
    box-shadow: none;
    border: none;
    padding: 0px 0px 0px 15px;
    background: transparent;
  }

  .navbar-expand-sm ul.navbar-nav > li.dropdown .dropdown-menu .dropdown-menu {
    margin: 0;
  }

  [data-bs-theme="dark"] .navbar-expand-sm .navbar-collapse {
    background: rgba(0, 0, 0, 0.95);
  }

  [data-bs-theme="dark"] .navbar-expand-sm .navbar-collapse ul.navbar-nav li {
    border-color: rgba(250, 250, 250, 0.15);
  }
}

@media (max-width: 767.98px) {
  .navbar-expand-md .navbar-collapse {
    position: absolute;
    top: 99%;
    right: 0;
    left: 0;
    background: #fff;
    margin-top: 0px;
    z-index: 1000;
    -webkit-box-shadow: 0px 0px 15px rgba(0, 0, 0, 0.1);
    box-shadow: 0px 0px 15px rgba(0, 0, 0, 0.1);
  }

  .navbar-expand-md .navbar-collapse .navbar-nav {
    overflow: hidden;
    overflow-y: auto;
    max-height: 65vh;
    padding: 15px;
  }

  .navbar-expand-md ul.navbar-nav li {
    display: block;
    border-bottom: 1px solid #eee;
    margin: 0;
    padding: 0;
  }

  .navbar-expand-md ul.navbar-nav li:last-child {
    border: none;
  }

  .navbar-expand-md ul.navbar-nav li + li {
    margin-left: 0px;
  }

  .navbar-expand-md
    ul.navbar-nav
    li.dropdown
    > .dropdown-toggle
    > .arrow.show:after {
    -webkit-transform: translate(-50%, -50%) rotate(-45deg);
    transform: translate(-50%, -50%) rotate(-45deg);
    -webkit-transition: all 0.2s ease;
    transition: all 0.2s ease;
    top: calc(50% + 2px);
  }

  .navbar-expand-md ul.navbar-nav li > a:hover:after,
  .navbar-expand-md ul.navbar-nav li > a.active:after {
    content: none !important;
    width: 0px !important;
  }

  .navbar-expand-md ul.navbar-nav > li > a:not(.btn) {
    height: auto;
    padding: 8px 0;
    position: relative;
  }

  .navbar-expand-md
    ul.navbar-nav
    > li.dropdown
    .dropdown-menu
    li
    > a:not(.btn) {
    padding: 8px 0;
    position: relative;
  }

  .navbar-expand-md ul.navbar-nav > li.dropdown:hover > a:after {
    content: none;
  }

  .navbar-expand-md ul.navbar-nav > li.dropdown .dropdown-toggle .arrow:after {
    -webkit-transform: translate(-50%, -50%) rotate(134deg);
    transform: translate(-50%, -50%) rotate(134deg);
    -webkit-transition: all 0.2s ease;
    transition: all 0.2s ease;
    width: 8px;
    height: 8px;
    top: calc(50% - 2px);
  }

  .navbar-expand-md ul.navbar-nav > li.dropdown .dropdown-menu {
    margin: 0;
    -webkit-box-shadow: none;
    box-shadow: none;
    border: none;
    padding: 0px 0px 0px 15px;
    background: transparent;
  }

  .navbar-expand-md ul.navbar-nav > li.dropdown .dropdown-menu .dropdown-menu {
    margin: 0;
  }

  [data-bs-theme="dark"] .navbar-expand-md .navbar-collapse {
    background: rgba(0, 0, 0, 0.95);
  }

  [data-bs-theme="dark"] .navbar-expand-md .navbar-collapse ul.navbar-nav li {
    border-color: rgba(250, 250, 250, 0.15);
  }
}

@media (max-width: 991.98px) {
  .navbar-expand-lg .navbar-collapse {
    position: absolute;
    top: 99%;
    right: 0;
    left: 0;
    background: #fff;
    margin-top: 0px;
    z-index: 1000;
    -webkit-box-shadow: 0px 0px 15px rgba(0, 0, 0, 0.1);
    box-shadow: 0px 0px 15px rgba(0, 0, 0, 0.1);
  }

  .navbar-expand-lg .navbar-collapse .navbar-nav {
    overflow: hidden;
    overflow-y: auto;
    max-height: 65vh;
    padding: 15px;
  }

  .navbar-expand-lg ul.navbar-nav li {
    display: block;
    border-bottom: 1px solid #eee;
    margin: 0;
    padding: 0;
  }

  .navbar-expand-lg ul.navbar-nav li:last-child {
    border: none;
  }

  .navbar-expand-lg ul.navbar-nav li + li {
    margin-left: 0px;
  }

  .navbar-expand-lg
    ul.navbar-nav
    li.dropdown
    > .dropdown-toggle
    > .arrow.show:after {
    -webkit-transform: translate(-50%, -50%) rotate(-45deg);
    transform: translate(-50%, -50%) rotate(-45deg);
    -webkit-transition: all 0.2s ease;
    transition: all 0.2s ease;
    top: calc(50% + 2px);
  }

  .navbar-expand-lg ul.navbar-nav li > a:hover:after,
  .navbar-expand-lg ul.navbar-nav li > a.active:after {
    content: none !important;
    width: 0px !important;
  }

  .navbar-expand-lg ul.navbar-nav > li > a:not(.btn) {
    height: auto;
    padding: 8px 0;
    position: relative;
  }

  .navbar-expand-lg
    ul.navbar-nav
    > li.dropdown
    .dropdown-menu
    li
    > a:not(.btn) {
    padding: 8px 0;
    position: relative;
  }

  .navbar-expand-lg ul.navbar-nav > li.dropdown:hover > a:after {
    content: none;
  }

  .navbar-expand-lg ul.navbar-nav > li.dropdown .dropdown-toggle .arrow:after {
    -webkit-transform: translate(-50%, -50%) rotate(134deg);
    transform: translate(-50%, -50%) rotate(134deg);
    -webkit-transition: all 0.2s ease;
    transition: all 0.2s ease;
    width: 8px;
    height: 8px;
    top: calc(50% - 2px);
  }

  .navbar-expand-lg ul.navbar-nav > li.dropdown .dropdown-menu {
    margin: 0;
    -webkit-box-shadow: none;
    box-shadow: none;
    border: none;
    padding: 0px 0px 0px 15px;
    background: transparent;
  }

  .navbar-expand-lg ul.navbar-nav > li.dropdown .dropdown-menu .dropdown-menu {
    margin: 0;
  }

  [data-bs-theme="dark"] .navbar-expand-lg .navbar-collapse {
    background: rgba(0, 0, 0, 0.95);
  }

  [data-bs-theme="dark"] .navbar-expand-lg .navbar-collapse ul.navbar-nav li {
    border-color: rgba(250, 250, 250, 0.15);
  }
}

@media (max-width: 1199.98px) {
  .navbar-expand-xl .navbar-collapse {
    position: absolute;
    top: 99%;
    right: 0;
    left: 0;
    background: #fff;
    margin-top: 0px;
    z-index: 1000;
    -webkit-box-shadow: 0px 0px 15px rgba(0, 0, 0, 0.1);
    box-shadow: 0px 0px 15px rgba(0, 0, 0, 0.1);
  }

  .navbar-expand-xl .navbar-collapse .navbar-nav {
    overflow: hidden;
    overflow-y: auto;
    max-height: 65vh;
    padding: 15px;
  }

  .navbar-expand-xl ul.navbar-nav li {
    display: block;
    border-bottom: 1px solid #eee;
    margin: 0;
    padding: 0;
  }

  .navbar-expand-xl ul.navbar-nav li:last-child {
    border: none;
  }

  .navbar-expand-xl ul.navbar-nav li + li {
    margin-left: 0px;
  }

  .navbar-expand-xl
    ul.navbar-nav
    li.dropdown
    > .dropdown-toggle
    > .arrow.show:after {
    -webkit-transform: translate(-50%, -50%) rotate(-45deg);
    transform: translate(-50%, -50%) rotate(-45deg);
    -webkit-transition: all 0.2s ease;
    transition: all 0.2s ease;
    top: calc(50% + 2px);
  }

  .navbar-expand-xl ul.navbar-nav li > a:hover:after,
  .navbar-expand-xl ul.navbar-nav li > a.active:after {
    content: none !important;
    width: 0px !important;
  }

  .navbar-expand-xl ul.navbar-nav > li > a:not(.btn) {
    height: auto;
    padding: 8px 0;
    position: relative;
  }

  .navbar-expand-xl
    ul.navbar-nav
    > li.dropdown
    .dropdown-menu
    li
    > a:not(.btn) {
    padding: 8px 0;
    position: relative;
  }

  .navbar-expand-xl ul.navbar-nav > li.dropdown:hover > a:after {
    content: none;
  }

  .navbar-expand-xl ul.navbar-nav > li.dropdown .dropdown-toggle .arrow:after {
    -webkit-transform: translate(-50%, -50%) rotate(134deg);
    transform: translate(-50%, -50%) rotate(134deg);
    -webkit-transition: all 0.2s ease;
    transition: all 0.2s ease;
    width: 8px;
    height: 8px;
    top: calc(50% - 2px);
  }

  .navbar-expand-xl ul.navbar-nav > li.dropdown .dropdown-menu {
    margin: 0;
    -webkit-box-shadow: none;
    box-shadow: none;
    border: none;
    padding: 0px 0px 0px 15px;
    background: transparent;
  }

  .navbar-expand-xl ul.navbar-nav > li.dropdown .dropdown-menu .dropdown-menu {
    margin: 0;
  }

  [data-bs-theme="dark"] .navbar-expand-xl .navbar-collapse {
    background: rgba(0, 0, 0, 0.95);
  }

  [data-bs-theme="dark"] .navbar-expand-xl .navbar-collapse ul.navbar-nav li {
    border-color: rgba(250, 250, 250, 0.15);
  }
}

/*=== 2.1.3 Overlay Menu ===*/
.primary-menu.sticky-on.show {
  -webkit-animation: slide-down 0 !important;
  -moz-animation: slide-down 0 !important;
  animation: slide-down 0 !important;
}

.primary-menu.navbar-overlay .navbar-collapse {
  position: fixed;
  display: block;
  left: 0;
  top: 0;
  width: 100%;
  pointer-events: auto;
  height: 100% !important;
  opacity: 0 !important;
  visibility: hidden;
  background: rgba(var(--bs-themecolor-rgb), 1);
  -webkit-transition:
    visibility 0.3s ease,
    opacity 0.3s ease;
  transition:
    visibility 0.3s ease,
    opacity 0.3s ease;
}

.primary-menu.navbar-overlay .navbar-collapse.show {
  opacity: 1 !important;
  visibility: visible;
}

.primary-menu.navbar-overlay .navbar-collapse .navbar-nav {
  min-width: 400px;
  max-height: 80vh;
}

.primary-menu.navbar-overlay .navbar-toggler {
  z-index: 1001;
}

.primary-menu.navbar-overlay .navbar-toggler.show span {
  background: #fff;
}

.primary-menu.navbar-overlay ul.navbar-nav li {
  text-align: center;
  max-width: 400px;
  border: 0px none;
}

.dots-bg {
  --dot-bg: var(--background);
  --dot-color: var(--chat-border);
  --dot-size: 1px;
  --dot-space: 25px;

  background:
    linear-gradient(
        90deg,
        var(--dot-bg) calc(var(--dot-space) - var(--dot-size)),
        transparent 1%
      )
      center / var(--dot-space) var(--dot-space),
    linear-gradient(
        var(--dot-bg) calc(var(--dot-space) - var(--dot-size)),
        transparent 1%
      )
      center / var(--dot-space) var(--dot-space),
    var(--dot-color);
  /* background-color: transparent; */
}

.primary-menu.navbar-overlay ul.navbar-nav li a {
  display: block;
  color: #f8f9fa;
  -webkit-transition:
    transform 0.44s 0.14s ease,
    color 0.2s linear;
  transition:
    transform 0.44s 0.14s ease,
    color 0.2s linear;
}

.primary-menu.navbar-overlay ul.navbar-nav li:hover a:not(.btn):not(.active) {
  color: #fff;
  -webkit-transform: scale(1.05) !important;
  transform: scale(1.05) !important;
}

.primary-menu.navbar-overlay ul.navbar-nav li a.active:not(.btn) {
  color: rgba(250, 250, 250, 0.8);
  text-decoration: underline;
  text-underline-offset: 0.2em !important;
  -webkit-transition:
    opacity 0.6s 0.14s ease,
    transform 0.44s 0.14s ease,
    color 0.2s linear;
  transition:
    opacity 0.6s 0.14s ease,
    transform 0.44s 0.14s ease,
    color 0.2s linear;
}

.primary-menu.navbar-overlay
  ul.navbar-nav
  > li.dropdown
  .dropdown-toggle
  .arrow::after {
  width: 11px;
  height: 11px;
}

.primary-menu.navbar-overlay ul.navbar-nav > li.dropdown .dropdown-menu {
  padding: 6px 0;
  background: transparent;
}

.primary-menu.navbar-overlay
  ul.navbar-nav
  > li.dropdown
  .dropdown-menu
  li
  > a:not(.btn) {
  font-size: 1.2rem;
  color: #f8f9fa;
  font-weight: normal;
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
}

.primary-menu.navbar-overlay
  ul.navbar-nav
  > li.dropdown
  .dropdown-menu
  li:hover
  > a:not(.btn),
.primary-menu.navbar-overlay
  ul.navbar-nav
  > li.dropdown
  .dropdown-menu
  li
  a.active:not(.btn) {
  color: #fff;
  text-decoration: underline;
  text-underline-offset: 0.2em !important;
  -webkit-transition:
    opacity 0.6s 0.14s ease,
    transform 0.44s 0.14s ease,
    color 0.2s linear;
  transition:
    opacity 0.6s 0.14s ease,
    transform 0.44s 0.14s ease,
    color 0.2s linear;
}

.primary-menu.navbar-overlay
  ul.navbar-nav
  > li.dropdown
  .dropdown-menu
  li
  a.active:not(.btn) {
  color: rgba(250, 250, 250, 0.8);
  text-decoration: underline;
  text-underline-offset: 0.2em !important;
  -webkit-transition:
    opacity 0.6s 0.14s ease,
    transform 0.44s 0.14s ease,
    color 0.2s linear;
  transition:
    opacity 0.6s 0.14s ease,
    transform 0.44s 0.14s ease,
    color 0.2s linear;
}

.primary-menu.navbar-overlay
  ul.navbar-nav
  > li.dropdown
  .dropdown-menu
  li
  .dropdown-menu {
  background: rgba(250, 250, 250, 0.2);
  padding: 8px 0;
}

.dropdown-menu {
  -webkit-box-shadow: 0px 0px 12px rgba(0, 0, 0, 0.176);
  box-shadow: 0px 0px 12px rgba(0, 0, 0, 0.176);
  border: 0px none;
  --bs-dropdown-border-radius: 0.625rem;
  --bs-dropdown-font-size: 1.125rem;
}

@media (min-width: 576px) {
  .primary-menu.navbar-expand-sm ul.navbar-nav > li + li {
    margin-left: 2px;
  }

  .primary-menu.navbar-expand-sm
    ul.navbar-nav
    > li.dropdown
    .dropdown-menu
    li:hover
    > a
    .arrow {
    right: -3px;
    -webkit-transition: all 0.2s ease;
    transition: all 0.2s ease;
  }

  .primary-menu.navbar-expand-sm
    ul.navbar-nav
    > li.dropdown
    > .dropdown-toggle {
    padding-right: 1.6rem;
  }

  .primary-menu.navbar-expand-sm
    ul.navbar-nav
    > li.dropdown
    > .dropdown-toggle
    .arrow:after {
    -webkit-transform: translate(-50%, -50%) rotate(134deg);
    transform: translate(-50%, -50%) rotate(134deg);
    width: 8px;
    height: 8px;
    top: calc(50% - 1px);
  }

  .primary-menu.navbar-expand-sm
    ul.navbar-nav
    > li.dropdown
    .dropdown-menu
    li:hover
    > a:not(.btn) {
    margin-left: 5px;
  }

  .primary-menu.navbar-expand-sm
    ul.navbar-nav
    > li.dropdown-mega
    .sub-title:first-child {
    margin-top: 0px;
  }

  .primary-menu.navbar-expand-sm html[dir="rtl"] ul.navbar-nav > li + li {
    margin-left: 0px;
    margin-right: 2px;
  }

  .primary-menu.navbar-expand-sm
    html[dir="rtl"]
    ul.navbar-nav
    > li.dropdown
    .dropdown-menu
    li:hover
    > a:not(.btn) {
    margin-left: 0px;
    margin-right: 5px;
  }

  .primary-menu.navbar-expand-sm
    html[dir="rtl"]
    ul.navbar-nav
    > li.dropdown
    .dropdown-menu
    li:hover
    > a
    .arrow {
    right: auto;
    left: -3px;
  }

  .primary-menu.navbar-expand-sm
    html[dir="rtl"]
    ul.navbar-nav
    > li.dropdown
    > .dropdown-toggle {
    padding-right: 0.85em;
    padding-left: 1.6rem;
  }

  .primary-menu.navbar-expand-sm
    html[dir="rtl"]
    ul.navbar-nav
    > li.dropdown
    > .dropdown-toggle
    .arrow:after {
    -webkit-transform: translate(60%, -50%) rotate(-45deg);
    transform: translate(60%, -50%) rotate(-45deg);
    top: calc(50% - 1px);
  }
}

@media (min-width: 768px) {
  .primary-menu.navbar-expand-md ul.navbar-nav > li + li {
    margin-left: 2px;
  }

  .primary-menu.navbar-expand-md
    ul.navbar-nav
    > li.dropdown
    .dropdown-menu
    li:hover
    > a
    .arrow {
    right: -3px;
    -webkit-transition: all 0.2s ease;
    transition: all 0.2s ease;
  }

  .primary-menu.navbar-expand-md
    ul.navbar-nav
    > li.dropdown
    > .dropdown-toggle {
    padding-right: 1.6rem;
  }

  .primary-menu.navbar-expand-md
    ul.navbar-nav
    > li.dropdown
    > .dropdown-toggle
    .arrow:after {
    -webkit-transform: translate(-50%, -50%) rotate(134deg);
    transform: translate(-50%, -50%) rotate(134deg);
    width: 8px;
    height: 8px;
    top: calc(50% - 1px);
  }

  .primary-menu.navbar-expand-md
    ul.navbar-nav
    > li.dropdown
    .dropdown-menu
    li:hover
    > a:not(.btn) {
    margin-left: 5px;
  }

  .primary-menu.navbar-expand-md
    ul.navbar-nav
    > li.dropdown-mega
    .sub-title:first-child {
    margin-top: 0px;
  }

  .primary-menu.navbar-expand-md html[dir="rtl"] ul.navbar-nav > li + li {
    margin-left: 0px;
    margin-right: 2px;
  }

  .primary-menu.navbar-expand-md
    html[dir="rtl"]
    ul.navbar-nav
    > li.dropdown
    .dropdown-menu
    li:hover
    > a:not(.btn) {
    margin-left: 0px;
    margin-right: 5px;
  }

  .primary-menu.navbar-expand-md
    html[dir="rtl"]
    ul.navbar-nav
    > li.dropdown
    .dropdown-menu
    li:hover
    > a
    .arrow {
    right: auto;
    left: -3px;
  }

  .primary-menu.navbar-expand-md
    html[dir="rtl"]
    ul.navbar-nav
    > li.dropdown
    > .dropdown-toggle {
    padding-right: 0.85em;
    padding-left: 1.6rem;
  }

  .primary-menu.navbar-expand-md
    html[dir="rtl"]
    ul.navbar-nav
    > li.dropdown
    > .dropdown-toggle
    .arrow:after {
    -webkit-transform: translate(60%, -50%) rotate(-45deg);
    transform: translate(60%, -50%) rotate(-45deg);
    top: calc(50% - 1px);
  }
}

@media (min-width: 992px) {
  .primary-menu.navbar-expand-lg ul.navbar-nav > li + li {
    margin-left: 2px;
  }

  .primary-menu.navbar-expand-lg
    ul.navbar-nav
    > li.dropdown
    .dropdown-menu
    li:hover
    > a
    .arrow {
    right: -3px;
    -webkit-transition: all 0.2s ease;
    transition: all 0.2s ease;
  }

  .primary-menu.navbar-expand-lg
    ul.navbar-nav
    > li.dropdown
    > .dropdown-toggle {
    padding-right: 1.6rem;
  }

  .primary-menu.navbar-expand-lg
    ul.navbar-nav
    > li.dropdown
    > .dropdown-toggle
    .arrow:after {
    -webkit-transform: translate(-50%, -50%) rotate(134deg);
    transform: translate(-50%, -50%) rotate(134deg);
    width: 8px;
    height: 8px;
    top: calc(50% - 1px);
  }

  .primary-menu.navbar-expand-lg
    ul.navbar-nav
    > li.dropdown
    .dropdown-menu
    li:hover
    > a:not(.btn) {
    margin-left: 5px;
  }

  .primary-menu.navbar-expand-lg
    ul.navbar-nav
    > li.dropdown-mega
    .sub-title:first-child {
    margin-top: 0px;
  }

  .primary-menu.navbar-expand-lg html[dir="rtl"] ul.navbar-nav > li + li {
    margin-left: 0px;
    margin-right: 2px;
  }

  .primary-menu.navbar-expand-lg
    html[dir="rtl"]
    ul.navbar-nav
    > li.dropdown
    .dropdown-menu
    li:hover
    > a:not(.btn) {
    margin-left: 0px;
    margin-right: 5px;
  }

  .primary-menu.navbar-expand-lg
    html[dir="rtl"]
    ul.navbar-nav
    > li.dropdown
    .dropdown-menu
    li:hover
    > a
    .arrow {
    right: auto;
    left: -3px;
  }

  .primary-menu.navbar-expand-lg
    html[dir="rtl"]
    ul.navbar-nav
    > li.dropdown
    > .dropdown-toggle {
    padding-right: 0.85em;
    padding-left: 1.6rem;
  }

  .primary-menu.navbar-expand-lg
    html[dir="rtl"]
    ul.navbar-nav
    > li.dropdown
    > .dropdown-toggle
    .arrow:after {
    -webkit-transform: translate(60%, -50%) rotate(-45deg);
    transform: translate(60%, -50%) rotate(-45deg);
    top: calc(50% - 1px);
  }
}

@media (min-width: 1200px) {
  .primary-menu.navbar-expand-xl ul.navbar-nav > li + li {
    margin-left: 2px;
  }

  .primary-menu.navbar-expand-xl
    ul.navbar-nav
    > li.dropdown
    .dropdown-menu
    li:hover
    > a
    .arrow {
    right: -3px;
    -webkit-transition: all 0.2s ease;
    transition: all 0.2s ease;
  }

  .primary-menu.navbar-expand-xl
    ul.navbar-nav
    > li.dropdown
    > .dropdown-toggle {
    padding-right: 1.6rem;
  }

  .primary-menu.navbar-expand-xl
    ul.navbar-nav
    > li.dropdown
    > .dropdown-toggle
    .arrow:after {
    -webkit-transform: translate(-50%, -50%) rotate(134deg);
    transform: translate(-50%, -50%) rotate(134deg);
    width: 8px;
    height: 8px;
    top: calc(50% - 1px);
  }

  .primary-menu.navbar-expand-xl
    ul.navbar-nav
    > li.dropdown
    .dropdown-menu
    li:hover
    > a:not(.btn) {
    margin-left: 5px;
  }

  .primary-menu.navbar-expand-xl
    ul.navbar-nav
    > li.dropdown-mega
    .sub-title:first-child {
    margin-top: 0px;
  }

  .primary-menu.navbar-expand-xl html[dir="rtl"] ul.navbar-nav > li + li {
    margin-left: 0px;
    margin-right: 2px;
  }

  .primary-menu.navbar-expand-xl
    html[dir="rtl"]
    ul.navbar-nav
    > li.dropdown
    .dropdown-menu
    li:hover
    > a:not(.btn) {
    margin-left: 0px;
    margin-right: 5px;
  }

  .primary-menu.navbar-expand-xl
    html[dir="rtl"]
    ul.navbar-nav
    > li.dropdown
    .dropdown-menu
    li:hover
    > a
    .arrow {
    right: auto;
    left: -3px;
  }

  .primary-menu.navbar-expand-xl
    html[dir="rtl"]
    ul.navbar-nav
    > li.dropdown
    > .dropdown-toggle {
    padding-right: 0.85em;
    padding-left: 1.6rem;
  }

  .primary-menu.navbar-expand-xl
    html[dir="rtl"]
    ul.navbar-nav
    > li.dropdown
    > .dropdown-toggle
    .arrow:after {
    -webkit-transform: translate(60%, -50%) rotate(-45deg);
    transform: translate(60%, -50%) rotate(-45deg);
    top: calc(50% - 1px);
  }
}

/*=== 2.2 Secondary Nav ===*/
.secondary-nav.nav {
  padding-left: 8px;
}

.secondary-nav.nav .nav-link {
  text-align: center;
  font-size: 16px;
  padding: 1rem 20px;
  white-space: nowrap;
  color: rgba(250, 250, 250, 0.9);
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
}

.secondary-nav.nav .nav-link:hover {
  color: #fafafa;
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
}

.secondary-nav.nav .nav-link span {
  display: block;
  font-size: 30px;
  margin-bottom: 5px;
}

.secondary-nav.nav .nav-item .nav-link.active {
  background: rgba(0, 0, 0, 0.1);
  color: #fff;
}

.secondary-nav.nav.alternate .nav-link {
  color: rgba(0, 0, 0, 0.6);
}

.secondary-nav.nav.alternate .nav-link:hover {
  color: black;
}

.secondary-nav.nav.alternate .nav-item .nav-link.active {
  background-color: transparent;
  color: #1e1d1c;
  border-bottom: 3px solid var(--bs-themecolor);
}

@media (max-width: 991.98px) {
  .secondary-nav.nav {
    flex-wrap: nowrap;
    overflow: hidden;
    overflow-x: auto;
    -ms-overflow-style: -ms-autohiding-scrollbar;
    -webkit-overflow-scrolling: touch;
  }
}

/*=== 2.3 Page Header ===*/
.page-header {
  margin: 0 0 30px 0;
  padding: 30px 0;
}

.page-header h1 {
  font-weight: normal;
  font-size: 30px;
  margin: 0;
  padding: 5px 0;
}

.page-header .breadcrumb {
  background: none;
  margin: 0 0 8px 2px;
  padding: 0;
  position: relative;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.page-header .breadcrumb > li {
  display: inline-block;
  font-size: 0.85em;
  text-shadow: none;
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
}

.page-header .breadcrumb > li + li:before {
  color: inherit;
  opacity: 0.7;
  font-family: "Font Awesome 5 Free";
  content: "\f105";
  padding: 0 7px 0 5px;
  font-weight: 900;
}

.page-header .breadcrumb > li a {
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
}

.page-header .breadcrumb > li a:hover {
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
}

.page-header.page-header-text-light {
  color: #fff;
}

.page-header.page-header-text-light h1 {
  color: #fff;
}

.page-header.page-header-text-light .breadcrumb > li {
  color: rgba(250, 250, 250, 0.8);
}

.page-header.page-header-text-light .breadcrumb > li a {
  color: rgba(250, 250, 250, 0.8);
}

.page-header.page-header-text-light .breadcrumb > li a:hover {
  color: #fff;
}

.page-header.page-header-text-dark h1 {
  color: #1e1d1c;
}

.page-header.page-header-text-dark .breadcrumb > li {
  color: #707070;
}

.page-header.page-header-text-dark .breadcrumb > li a {
  color: #707070;
}

.page-header.page-header-text-dark .breadcrumb > li a:hover {
  color: var(--bs-themecolor);
}

/* =================================== */
/*  3. Layouts
/* =================================== */
#main-wrapper {
  background: #f2f2f2;
}

[data-bs-theme="dark"] #main-wrapper {
  background: #0a0a0c;
}

.section {
  position: relative;
  padding: 88px 0;
  padding: 5.5rem 0;
  overflow: hidden;
}

@media (max-width: 575.98px) {
  .section {
    padding: 3.5rem 0;
  }
}

/*== Profile image for Intro ==*/
@media (max-width: 575.98px) {
  #scene.position-absolute {
    max-width: 100px;
  }
}

@media (min-width: 576px) and (max-width: 767.98px) {
  #scene.position-absolute {
    max-width: 150px;
  }
}

/*== Heading Separator Line ==*/
.heading-separator-line {
  height: 44px;
}

/*== Scroll Down Arrow ==*/
.scroll-down-arrow {
  position: absolute;
  z-index: 3;
  bottom: 20px;
  width: 35px;
  height: 46px;
  color: rgba(0, 0, 0, 0.5);
  text-align: center;
}

.scroll-down-arrow .animated {
  position: relative;
  animation: fadeInDown 1.5s infinite;
  -webkit-animation: fadeInDown 1.5s infinite;
  -moz-animation: fadeInDown 1.5s infinite;
  -o-animation: fadeInDown 1.5s infinite;
}

.scroll-down-arrow .animated i {
  height: 46px;
}

.scroll-down-arrow .animated:after {
  position: absolute;
  content: " ";
  bottom: -5px;
  left: calc(50% + 0.05px);
  width: 10px;
  height: 10px;
  border-top: 1px solid black;
  border-right: 1px solid black;
  -webkit-transform: translate(-50%, -50%) rotate(135deg);
  transform: translate(-50%, -50%) rotate(135deg);
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  background-image: none;
}

[data-bs-theme="dark"] .scroll-down-arrow {
  color: rgba(250, 250, 250, 0.5);
}

[data-bs-theme="dark"] .scroll-down-arrow .animated:after {
  border-color: rgba(250, 250, 250, 0.5);
}

@keyframes fadeInDown {
  0% {
    top: -25px;
    opacity: 0;
  }

  100% {
    top: 10px;
    opacity: 1;
  }
}

.rotate-animation {
  animation: infiniterotate 10s infinite linear !important;
}

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

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

/* Circle Text */
.circle-text {
  position: relative;
  display: block;
  width: 130px;
  height: 130px;
}

.circle-text .circle-icon {
  position: absolute;
  display: block;
  left: 50%;
  top: 50%;
  font-size: 21px;
  color: var(--bs-body-color);
  transform: translate(-50%, -50%) rotate(-40deg);
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
}

.circle-text .circle-icon:before {
  content: "\f061";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  display: inline-block;
  font-style: normal;
  font-variant: normal;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
}

.circle-text:hover .circle-icon {
  transform: translate(-50%, -50%) rotate(-40deg) scale(1.2);
  color: var(--bs-themecolor);
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
}

.circle-text svg {
  width: 100%;
  animation: text-rotation 8s infinite linear;
  will-change: animation;
}

.circle-text text:not(.circle-icon) {
  font-size: 56px;
  fill: var(--bs-body-color);
  transition: fill 0.2s;
}

/* Circle Text Animation */
@keyframes text-rotation {
  0% {
    transform: rotate(0deg);
  }

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

/* Thumb */
.img-thumb {
  width: 75px !important;
  height: auto;
}

.img-thumb-sm {
  width: 50px !important;
  height: auto;
}

.img-thumb-lg {
  width: 100px !important;
  height: auto;
}

/* =================================== */
/*  4. Elements
/* =================================== */
/*=== 4.1 Featured Box ===*/
.featured-box {
  box-sizing: border-box;
  position: relative;
}

.featured-box h3,
.featured-box h4 {
  font-size: 26px;
  margin-bottom: 10px;
  font-weight: 500;
}

.featured-box:not(.style-5) .featured-box-icon {
  display: inline-block;
  font-size: 48px;
  min-width: 55px;
  min-height: 55px;
  padding: 0;
  margin-top: 0;
  margin-bottom: 0.8rem;
  color: #4c4d4d;
  border-radius: 0;
}

.featured-box.style-1,
.featured-box.style-2,
.featured-box.style-3 {
  padding-left: 55px;
  padding-top: 8px;
}

.featured-box.style-1 .featured-box-icon,
.featured-box.style-2 .featured-box-icon,
.featured-box.style-3 .featured-box-icon {
  position: absolute;
  top: 0;
  left: 0;
  margin-bottom: 0;
  font-size: 30px;
  -ms-flex-pack: center !important;
  justify-content: center !important;
  text-align: center;
}

.featured-box.style-2 p {
  margin-left: -50px;
}

.featured-box.style-3 {
  padding-left: 90px;
  padding-top: 0px;
}

.featured-box.style-3 .featured-box-icon {
  width: 70px;
  height: 70px;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.featured-box.style-4 {
  text-align: center;
}

.featured-box.style-4 .featured-box-icon {
  margin: 0 auto 24px;
  margin: 0 auto 1.5rem;
  width: 120px;
  height: 120px;
  text-align: center;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-shadow: 0px 0px 50px rgba(0, 0, 0, 0.03);
  box-shadow: 0px 0px 50px rgba(0, 0, 0, 0.03);
}

.featured-box.style-5 {
  text-align: center;
  background: #fff;
  border: 1px solid #f0f2f3;
  -webkit-box-shadow: 0px 2px 5px rgba(0, 0, 0, 0.05);
  box-shadow: 0px 2px 5px rgba(0, 0, 0, 0.05);
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}

.featured-box.style-5:hover {
  border: 1px solid #ebeded;
  -webkit-box-shadow: 0px 5px 1.5rem rgba(0, 0, 0, 0.15);
  box-shadow: 0px 5px 1.5rem rgba(0, 0, 0, 0.15);
}

.featured-box.style-5 h3 {
  background: #f1f5f6;
  font-size: 16px;
  padding: 8px 0;
  margin-bottom: 0px;
}

.featured-box.style-5 .featured-box-icon {
  font-size: 50px;
  margin: 44px 0px;
}

.featured-box.featured-box-reverse,
html[dir="rtl"] .featured-box:not(.style-4) {
  text-align: right;
}

.featured-box.featured-box-reverse.style-1,
.featured-box.featured-box-reverse.style-2,
html[dir="rtl"] .featured-box:not(.style-4).style-1,
html[dir="rtl"] .featured-box:not(.style-4).style-2 {
  padding-right: 50px;
  padding-left: 0px;
}

.featured-box.featured-box-reverse.style-1 .featured-box-icon,
.featured-box.featured-box-reverse.style-2 .featured-box-icon,
html[dir="rtl"] .featured-box:not(.style-4).style-1 .featured-box-icon,
html[dir="rtl"] .featured-box:not(.style-4).style-2 .featured-box-icon {
  left: auto;
  right: 0px;
}

.featured-box.featured-box-reverse.style-2 p,
html[dir="rtl"] .featured-box:not(.style-4).style-2 p {
  margin-right: -50px;
  margin-left: 0;
}

.featured-box.featured-box-reverse.style-3,
html[dir="rtl"] .featured-box:not(.style-4).style-3 {
  padding-left: 0;
  padding-right: 90px;
}

.featured-box.featured-box-reverse.style-3 .featured-box-icon,
html[dir="rtl"] .featured-box:not(.style-4).style-3 .featured-box-icon {
  left: auto;
  right: 0px;
}

@media (min-width: 576px) {
  .featured-box.featured-box-reverse-sm {
    text-align: right;
  }

  .featured-box.featured-box-reverse-sm.style-1,
  .featured-box.featured-box-reverse-sm.style-2 {
    padding-right: 50px;
    padding-left: 0px;
  }

  .featured-box.featured-box-reverse-sm.style-1 .featured-box-icon,
  .featured-box.featured-box-reverse-sm.style-2 .featured-box-icon {
    left: auto;
    right: 0px;
  }

  .featured-box.featured-box-reverse-sm.style-2 p {
    margin-right: -50px;
    margin-left: 0;
  }

  .featured-box.featured-box-reverse-sm.style-3 {
    padding-left: 0;
    padding-right: 90px;
  }

  .featured-box.featured-box-reverse-sm.style-3 .featured-box-icon {
    left: auto;
    right: 0px;
  }
}

@media (min-width: 768px) {
  .featured-box.featured-box-reverse-md {
    text-align: right;
  }

  .featured-box.featured-box-reverse-md.style-1,
  .featured-box.featured-box-reverse-md.style-2 {
    padding-right: 50px;
    padding-left: 0px;
  }

  .featured-box.featured-box-reverse-md.style-1 .featured-box-icon,
  .featured-box.featured-box-reverse-md.style-2 .featured-box-icon {
    left: auto;
    right: 0px;
  }

  .featured-box.featured-box-reverse-md.style-2 p {
    margin-right: -50px;
    margin-left: 0;
  }

  .featured-box.featured-box-reverse-md.style-3 {
    padding-left: 0;
    padding-right: 90px;
  }

  .featured-box.featured-box-reverse-md.style-3 .featured-box-icon {
    left: auto;
    right: 0px;
  }
}

@media (min-width: 992px) {
  .featured-box.featured-box-reverse-lg {
    text-align: right;
  }

  .featured-box.featured-box-reverse-lg.style-1,
  .featured-box.featured-box-reverse-lg.style-2 {
    padding-right: 50px;
    padding-left: 0px;
  }

  .featured-box.featured-box-reverse-lg.style-1 .featured-box-icon,
  .featured-box.featured-box-reverse-lg.style-2 .featured-box-icon {
    left: auto;
    right: 0px;
  }

  .featured-box.featured-box-reverse-lg.style-2 p {
    margin-right: -50px;
    margin-left: 0;
  }

  .featured-box.featured-box-reverse-lg.style-3 {
    padding-left: 0;
    padding-right: 90px;
  }

  .featured-box.featured-box-reverse-lg.style-3 .featured-box-icon {
    left: auto;
    right: 0px;
  }
}

@media (min-width: 1200px) {
  .featured-box.featured-box-reverse-xl {
    text-align: right;
  }

  .featured-box.featured-box-reverse-xl.style-1,
  .featured-box.featured-box-reverse-xl.style-2 {
    padding-right: 50px;
    padding-left: 0px;
  }

  .featured-box.featured-box-reverse-xl.style-1 .featured-box-icon,
  .featured-box.featured-box-reverse-xl.style-2 .featured-box-icon {
    left: auto;
    right: 0px;
  }

  .featured-box.featured-box-reverse-xl.style-2 p {
    margin-right: -50px;
    margin-left: 0;
  }

  .featured-box.featured-box-reverse-xl.style-3 {
    padding-left: 0;
    padding-right: 90px;
  }

  .featured-box.featured-box-reverse-xl.style-3 .featured-box-icon {
    left: auto;
    right: 0px;
  }
}

/* Video Play button */
.btn-video-play {
  width: 66px;
  height: 66px;
  line-height: 66px;
  text-align: center;
  display: inline-block;
  font-size: 16px;
  border-radius: 50%;
  background: #fff;
  -webkit-box-shadow: 0px 0px 50px -35px rgba(0, 0, 0, 0.4);
  box-shadow: 0px 0px 50px -35px rgba(0, 0, 0, 0.4);
  -webkit-transition: all 0.8s ease-in-out;
  transition: all 0.8s ease-in-out;
}

.btn-video-play:hover {
  -webkit-box-shadow: 0px 0px 0px 8px rgba(250, 250, 250, 0.2);
  box-shadow: 0px 0px 0px 8px rgba(250, 250, 250, 0.2);
}

/* Testimonial */
.testimonial {
  background: #fff;
  border: 1px solid #f1f5f6;
  -webkit-box-shadow: 0px 5px 10px rgba(0, 0, 0, 0.05);
  box-shadow: 0px 5px 10px rgba(0, 0, 0, 0.05);
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}

/*=== 4.2 Team ===*/
.team {
  text-align: center;
}

.team .team-img {
  position: relative;
  overflow: hidden;
  display: -ms-flexbox;
  display: flex;
}

.team .team-overlay {
  text-align: center;
  display: -ms-flexbox !important;
  display: flex !important;
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.7);
  opacity: 0;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}

.team:hover .team-overlay {
  opacity: 1;
}

.team .team-overlay-details {
  width: 100%;
  margin-top: auto;
  margin-bottom: auto;
}

.team .team-img img {
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}

.team:hover .team-img img {
  -webkit-transform: scale(1.04) !important;
  transform: scale(1.04) !important;
}

.team .team-details {
  padding: 1.5rem 0;
}

/*=== 4.3 Accordion ===*/
.accordion {
  --bs-accordion-border-radius: 1rem;
  --bs-accordion-inner-border-radius: 1rem;
}

.accordion .accordion-item {
  border: none;
  margin-bottom: 1rem;
  background-color: transparent;
}

.accordion .accordion-header .accordion-button {
  box-shadow: none;
  border-radius: 1rem;
  font-size: 24px;
  font-weight: 600;
  padding-top: 1.4rem;
  padding-bottom: 1.4rem;
  padding-left: 1.5rem;
  background-color: rgba(0, 0, 0, 0.06);
  color: #252b33;
}

.accordion:not(.accordion-flush)
  .accordion-header
  .accordion-button:not(.collapsed) {
  background-color: var(--bs-themecolor);
  color: #fff;
}

.accordion:not(.accordion-flush)
  .accordion-header
  .accordion-button:not(.collapsed):after {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='white' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='M2 5L8 11L14 5'/%3e%3c/svg%3e");
}

.accordion .accordion-body {
  line-height: 1.7;
  font-size: 21px;
  padding-left: 1.5rem;
  padding-bottom: 0;
}

.accordion.accordion-flush .accordion-item {
  margin: 0;
}

.accordion.accordion-flush .accordion-header .accordion-button {
  padding: 1.5rem 0.95rem 1.5rem 0;
  border-top: 1px solid rgba(0, 0, 0, 0.1);
  background: transparent;
  color: var(--bs-themecolor);
}

.accordion.accordion-flush .accordion-header .accordion-button.collapsed {
  color: #252b33;
}

.accordion.accordion-flush
  .accordion-item:first-of-type
  .accordion-header
  .accordion-button {
  border-top: 0px;
}

.accordion.accordion-flush .accordion-body {
  padding: 0rem 2.5rem 1.5rem 0rem;
}

[data-bs-theme="dark"]
  .accordion:not(.accordion-flush)
  .accordion-header
  .accordion-button.collapsed {
  background-color: rgba(250, 250, 250, 0.08);
  color: #fff;
}

[data-bs-theme="dark"]
  .accordion.accordion-flush
  .accordion-header
  .accordion-button {
  border-top-color: rgba(250, 250, 250, 0.1);
}

[data-bs-theme="dark"]
  .accordion.accordion-flush
  .accordion-header
  .accordion-button.collapsed {
  color: #fff;
}

[data-bs-theme="dark"] .accordion .accordion-button:after {
  --bs-accordion-btn-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='white' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='M2 5L8 11L14 5'/%3e%3c/svg%3e");
  --bs-accordion-btn-active-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='white' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='M2 5L8 11L14 5'/%3e%3c/svg%3e");
}

html[dir="rtl"] .accordion .accordion-header .accordion-button {
  padding: 1rem 2.25rem 1rem 1.25rem;
}

html[dir="rtl"] .accordion .accordion-header .accordion-button:after {
  left: auto;
  right: 12px;
}

html[dir="rtl"] .accordion .accordion-body {
  padding-right: 2.25rem;
  padding-left: 0;
}

html[dir="rtl"] .accordion.accordion-flush .accordion-header .accordion-button {
  padding-right: 1.4rem;
}

html[dir="rtl"]
  .accordion.accordion-flush
  .accordion-header
  .accordion-button::after {
  left: auto;
  right: 0px;
}

html[dir="rtl"] .accordion.accordion-flush .accordion-body {
  padding-right: 1.25rem;
}

html[dir="rtl"] .accordion.arrow-right .accordion-header .accordion-button {
  padding-right: 1.25rem;
  padding-left: 2.25rem;
}

html[dir="rtl"]
  .accordion.arrow-right
  .accordion-header
  .accordion-button::after {
  left: 20px;
  right: auto;
}

html[dir="rtl"] .accordion.arrow-right .accordion-body {
  padding-right: 1.25rem;
  padding-left: 0;
}

html[dir="rtl"]
  .accordion.accordion-flush.arrow-right
  .accordion-header
  .accordion-button {
  padding-right: 0;
  padding-left: 2.25rem;
}

html[dir="rtl"]
  .accordion.accordion-flush.arrow-right
  .accordion-header
  .accordion-button::after {
  left: 6px;
  right: auto;
}

/* 4.4 Nav */
.nav .nav-item .nav-link {
  color: #212529;
}

.nav:not(.nav-pills) .nav-item .nav-link.active,
.nav:not(.nav-pills) .nav-item .nav-link:hover {
  color: var(--bs-themecolor);
}

.nav.nav-separator .nav-item .nav-link {
  position: relative;
}

.nav.nav-separator .nav-item + .nav-item .nav-link:after {
  height: 14px;
  width: 1px;
  content: " ";
  background-color: rgba(0, 0, 0, 0.2);
  display: block;
  position: absolute;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-7px);
  transform: translateY(-7px);
}

html[dir="rtl"] .nav.nav-separator .nav-item + .nav-item .nav-link:after {
  right: 0;
  left: auto;
}

.nav.nav-separator.nav-separator-light .nav-item + .nav-item .nav-link:after {
  background-color: rgba(250, 250, 250, 0.2);
}

.nav.nav-lg .nav-item .nav-link {
  font-size: 21px;
}

.nav-pills .nav-link:not(.active):hover {
  color: var(--bs-themecolor);
}

.nav-pills .nav-link.active,
.nav-pills.nav-light .nav-link.active,
.nav-pills .show > .nav-link {
  color: #fff;
}

.nav-pills .nav-link:not(.active):hover {
  color: var(--bs-themecolor);
}

.nav-pills {
  --bs-nav-pills-link-active-bg: var(--bs-themecolor);
  --bs-nav-pills-border-radius: 0.625rem;
}

[data-bs-theme="dark"] .nav .nav-item .nav-link:not(.active) {
  color: #dee2e6;
}

[data-bs-theme="dark"] .nav:not(.nav-pills) .nav-item .nav-link.active,
[data-bs-theme="dark"] .nav .nav-item .nav-link:not(.active):hover {
  color: var(--bs-themecolor);
}

[data-bs-theme="dark"]
  .nav.nav-separator
  .nav-item
  + .nav-item
  .nav-link:after {
  background-color: rgba(250, 250, 250, 0.2);
}

.nav-tabs {
  --bs-nav-tabs-border-color: rgba(0, 0, 0, 0.14);
  --bs-nav-tabs-link-active-border-color: rgba(0, 0, 0, 0.14)
    rgba(0, 0, 0, 0.14) var(--bs-body-bg);
}

.nav-tabs .nav-link.active,
.nav-tabs .nav-item.show .nav-link {
  background-color: #f2f2f2;
  border-bottom-color: #f2f2f2;
}

.nav-tabs .nav-link:not(.active):hover {
  border-color: transparent;
}

[data-bs-theme="dark"] .nav-tabs {
  --bs-nav-tabs-border-color: rgba(250, 250, 250, 0.14);
  --bs-nav-tabs-link-active-border-color: rgba(250, 250, 250, 0.14)
    rgba(250, 250, 250, 0.14) var(--bs-body-bg);
}

[data-bs-theme="dark"] .nav-tabs .nav-link.active,
[data-bs-theme="dark"] .nav-tabs .nav-item.show .nav-link {
  background-color: #0a0a0c;
  border-bottom-color: #0a0a0c;
}

.nav-underline {
  --bs-nav-underline-border-width: 3px;
  --bs-nav-underline-gap: 0.4rem 1rem;
}

.nav-underline .nav-link {
  padding-left: 9px;
  padding-right: 9px;
  padding-bottom: 2px;
}

.nav-underline .nav-link:not(.active):hover {
  border-bottom: 0px;
  border-bottom-color: transparent;
}

.nav-underline .nav-link.active {
  font-weight: 500;
}

/*=== 4.5 Hero Background ===*/
.hero-wrap {
  position: relative;
  overflow: hidden;
}

.hero-wrap .hero-mask,
.hero-wrap .hero-bg,
.hero-wrap .hero-bg-slideshow {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
}

.hero-wrap .hero-mask {
  z-index: 1;
}

.hero-wrap .hero-content {
  position: relative;
  z-index: 3;
}

.hero-wrap .hero-particles {
  position: absolute;
  width: 100%;
  height: 100%;
  z-index: 2;
}

.hero-wrap .hero-bg-slideshow {
  z-index: 0;
}

.hero-wrap .hero-bg {
  z-index: 0;
  background-attachment: fixed;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  -webkit-background-size: cover;
  -moz-background-size: cover;
  transition: background-image 300ms ease-in 200ms;
}

.hero-wrap .hero-bg.hero-bg-scroll {
  background-attachment: scroll;
}

.hero-wrap .hero-bg-slideshow .hero-bg {
  background-attachment: inherit;
}

.hero-wrap .hero-bg-slideshow.owl-carousel .owl-stage-outer,
.hero-wrap .hero-bg-slideshow.owl-carousel .owl-stage,
.hero-wrap .hero-bg-slideshow.owl-carousel .owl-item {
  height: 100%;
}

.hero-wrap .single-slideshow.owl-carousel .owl-item .item {
  min-height: 100vh;
  width: 100%;
  background-position: center center;
  background-repeat: no-repeat;
}

@media (max-width: 991.98px) {
  .hero-wrap .hero-bg {
    background-attachment: initial !important;
    background-position: center center !important;
  }
}

/*=== 4.6 Owl Carousel ===*/
.owl-theme .owl-nav button.owl-prev,
.owl-theme .owl-nav button.owl-next {
  box-shadow: none;
  background: transparent;
  border: 1px solid rgba(0, 0, 0, 0.2);
}

.owl-theme .owl-nav button.owl-prev span,
.owl-theme .owl-nav button.owl-next span {
  position: absolute;
  content: " ";
  overflow: hidden;
  top: calc(50% + 1px);
  left: calc(50% + 3px);
  width: 14px;
  height: 14px;
  border-top: 1px solid rgba(0, 0, 0, 0.5);
  border-right: 1px solid rgba(0, 0, 0, 0.5);
  -webkit-transform: translate(-50%, -50%) rotate(-135deg);
  transform: translate(-50%, -50%) rotate(-135deg);
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  background-image: none;
}

.owl-theme .owl-nav button.owl-next span {
  -webkit-transform: translate(-50%, -50%) rotate(45deg);
  transform: translate(-50%, -50%) rotate(45deg);
  left: calc(50% + -4px);
}

.owl-theme .owl-nav button[class*="owl-"]:hover:not(.disabled) {
  background: transparent;
  border-color: rgba(var(--bs-themecolor-rgb), 1);
}

.owl-theme .owl-nav button[class*="owl-"]:hover:not(.disabled) span {
  border-color: rgba(var(--bs-themecolor-rgb), 1);
}

.owl-theme .owl-nav button.disabled {
  border-color: rgba(0, 0, 0, 0.05);
}

.owl-theme .owl-nav button.disabled span {
  border-color: rgba(0, 0, 0, 0.2);
}

.owl-theme .owl-dots .owl-dot span {
  width: 18px;
  height: 3px;
  border-radius: 0px;
  margin: 5px 7px;
}

.owl-theme .owl-dots .owl-dot:hover span {
  background-color: rgba(0, 0, 0, 0.3);
}

.owl-theme .owl-dots .owl-dot.active span {
  background-color: var(--bs-themecolor);
}

.owl-theme.single-slideshow .owl-nav button.owl-prev,
.owl-theme.single-slideshow .owl-nav button.owl-next {
  font-size: 17px;
  top: calc(50% - 22px);
  background: rgba(250, 250, 250, 0.2);
  border-color: transparent;
}

.owl-theme.single-slideshow .owl-nav button.owl-prev span,
.owl-theme.single-slideshow .owl-nav button.owl-next span {
  border-color: rgba(0, 0, 0, 0.7);
  border-color: rgba(0, 0, 0, 0.7);
}

.owl-theme.single-slideshow .owl-nav button.owl-prev {
  left: 10px;
}

.owl-theme.single-slideshow .owl-nav button.owl-next {
  right: 10px;
}

.owl-theme.single-slideshow .owl-dots {
  position: absolute;
  bottom: 10px;
  width: 100%;
}

.owl-theme.single-slideshow .owl-dots .owl-dot:hover span {
  background-color: rgba(0, 0, 0, 0.6);
}

.owl-theme.single-slideshow .owl-dots .owl-dot.active span {
  background-color: var(--bs-themecolor);
}

.owl-theme.single-slideshow .owl-stage {
  padding: 0;
}

.owl-theme .hero-wrap .hero-bg {
  background-attachment: inherit;
}

[data-bs-theme="dark"] .owl-theme .owl-nav button.owl-prev,
[data-bs-theme="dark"] .owl-theme .owl-nav button.owl-next {
  border: 1px solid rgba(250, 250, 250, 0.3);
}

[data-bs-theme="dark"] .owl-theme .owl-nav button.owl-prev span,
[data-bs-theme="dark"] .owl-theme .owl-nav button.owl-next span {
  border-top: 1px solid rgba(250, 250, 250, 0.7);
  border-right: 1px solid rgba(250, 250, 250, 0.7);
}

[data-bs-theme="dark"] .owl-theme .owl-nav button.disabled {
  border-color: rgba(250, 250, 250, 0.05);
}

[data-bs-theme="dark"] .owl-theme .owl-nav button.disabled span {
  border-color: rgba(250, 250, 250, 0.2);
}

[data-bs-theme="dark"] .owl-theme .owl-dots .owl-dot span {
  background-color: rgba(250, 250, 250, 0.2);
}

[data-bs-theme="dark"] .owl-theme .owl-dots .owl-dot:hover span {
  background-color: rgba(250, 250, 250, 0.5);
}

[data-bs-theme="dark"] .owl-theme .owl-dots .owl-dot.active span {
  background-color: var(--bs-themecolor);
}

/*=== 4.7 Brands Grid ===*/
.brands-grid {
  overflow: hidden;
}

.brands-grid > .row > * {
  padding-top: 20px;
  padding-bottom: 20px;
  position: relative;
}

.brands-grid.separator-border > .row > *:after,
.brands-grid.separator-border > .row > *:before {
  content: "";
  position: absolute;
}

.brands-grid.separator-border > .row > *:after {
  width: 100%;
  height: 0;
  top: auto;
  left: 0;
  bottom: -1px;
  border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}

.brands-grid.separator-border > .row > *:before {
  height: 100%;
  top: 0;
  left: -1px;
  border-left: 1px solid rgba(0, 0, 0, 0.1);
}

[data-bs-theme="dark"] .brands-grid.separator-border > .row > *:after {
  border-bottom: 1px solid rgba(250, 250, 250, 0.1);
}

[data-bs-theme="dark"] .brands-grid.separator-border > .row > *:before {
  border-left: 1px solid rgba(250, 250, 250, 0.1);
}

/*=== 4.8 Portfolio ===*/
.portfolio .portfolio-box {
  position: relative;
}

.portfolio .portfolio-box .portfolio-img {
  position: relative;
  overflow: hidden;
}

.portfolio .portfolio-box .portfolio-overlay {
  text-align: center;
  display: -ms-flexbox !important;
  display: flex !important;
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  background: rgba(var(--bs-themecolor-rgb), 0.75);
  opacity: 0;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}

.portfolio .portfolio-box:hover .portfolio-overlay {
  opacity: 1;
}

.portfolio .portfolio-box .portfolio-img img {
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}

.portfolio .portfolio-box:hover .portfolio-img img {
  -webkit-filter: blur(2px);
  filter: blur(2px);
  -webkit-transform: scale(1.03) !important;
  transform: scale(1.03) !important;
}

.portfolio .portfolio-box .portfolio-overlay-details {
  width: 100%;
  margin-top: auto;
  margin-bottom: auto;
}

.portfolio .portfolio-details {
  padding: 1.5rem 0;
  text-align: center;
}

.ajax-container {
  position: relative;
  background: #f2f2f2;
  margin: 40px auto;
  max-width: 1170px;
  padding: 30px;
  text-align: left;
  border-radius: 1rem;
}

[data-bs-theme="dark"] .ajax-container {
  background: #000;
}

[data-bs-theme="dark"] .mfp-close-btn-in .mfp-close {
  color: #fff;
}

html[dir="rtl"] .mfp-content {
  text-align: right;
}

html[dir="rtl"] .mfp-close {
  left: 0px;
  right: auto;
}

/*=== 4.9 List Style ===*/
.list-style-1 > li {
  position: relative;
  list-style-type: none;
}

.list-style-1 > li:after {
  content: " ";
  position: absolute;
  top: 13px;
  left: -16px;
  border-color: currentColor;
  border-top: 1px solid;
  border-right: 1px solid;
  width: 7px;
  height: 7px;
  -webkit-transform: translate(-50%, -50%) rotate(45deg);
  transform: translate(-50%, -50%) rotate(45deg);
}

html[dir="rtl"] .list-style-1 > li:after {
  right: -15px;
  left: auto;
  border-color: #000;
  border-top: 0px;
  border-right: 0px;
  border-left: 1px solid;
  border-bottom: 1px solid;
  width: 6px;
  height: 6px;
  -webkit-transform: translate(-50%, -50%) rotate(45deg);
  transform: translate(-50%, -50%) rotate(45deg);
}

.list-style-2 {
  padding: 0;
}

.list-style-2 > li {
  list-style-type: none;
  border-bottom: 1px solid rgba(0, 0, 0, 0.1);
  padding-top: 12px;
  padding-bottom: 12px;
}

[data-bs-theme="dark"] .list-style-2 > li {
  border-bottom-color: rgba(250, 250, 250, 0.14);
}

/* =================================== */
/*  5. Helpers Classes
/* =================================== */
/* Box Shadow */
.shadow-md {
  -webkit-box-shadow: 0px 0px 50px -35px rgba(0, 0, 0, 0.4) !important;
  box-shadow: 0px 0px 50px -35px rgba(0, 0, 0, 0.4) !important;
}

/* Border Radius */
.rounded-lg {
  border-radius: 0.6rem !important;
}

.rounded-top-0 {
  border-top-start-radius: 0px !important;
  border-top-end-radius: 0px !important;
}

.rounded-bottom-0 {
  border-bottom-start-radius: 0px !important;
  border-bottom-end-radius: 0px !important;
}

.rounded-start-0 {
  border-top-start-radius: 0px !important;
  border-bottom-start-radius: 0px !important;
}

.rounded-end-0 {
  border-top-end-radius: 0px !important;
  border-bottom-end-radius: 0px !important;
}

/* Text Size */
.text-0 {
  font-size: 11px !important;
  font-size: 0.6875rem !important;
}

.text-1 {
  font-size: 12px !important;
  font-size: 0.75rem !important;
}

.text-2 {
  font-size: 14px !important;
  font-size: 0.875rem !important;
}

.text-3 {
  font-size: 16px !important;
  font-size: 1rem !important;
}

.text-4 {
  font-size: 18px !important;
  font-size: 1.125rem !important;
}

.text-5 {
  font-size: 21px !important;
  font-size: 1.3125rem !important;
}

.text-6 {
  font-size: 24px !important;
  font-size: 1.5rem !important;
}

.text-7 {
  font-size: 28px !important;
  font-size: 1.71rem !important;
}

.text-8 {
  font-size: 32px !important;
  font-size: 2rem !important;
}

.text-9 {
  font-size: 36px !important;
  font-size: 2.25rem !important;
}

.text-10 {
  font-size: 40px !important;
  font-size: 2.5rem !important;
}

.text-11 {
  font-size: calc(1.4rem + 2.17742vw) !important;
}

@media (min-width: 1200px) {
  .text-11 {
    font-size: 2.75rem !important;
  }
}

.text-12 {
  font-size: calc(1.425rem + 2.54032vw) !important;
}

@media (min-width: 1200px) {
  .text-12 {
    font-size: 3rem !important;
  }
}

.text-13 {
  font-size: calc(1.45rem + 2.90323vw) !important;
}

@media (min-width: 1200px) {
  .text-13 {
    font-size: 3.25rem !important;
  }
}

.text-14 {
  font-size: calc(1.475rem + 3.26613vw) !important;
}

@media (min-width: 1200px) {
  .text-14 {
    font-size: 3.5rem !important;
  }
}

.text-15 {
  font-size: calc(1.5rem + 3.62903vw) !important;
}

@media (min-width: 1200px) {
  .text-15 {
    font-size: 3.75rem !important;
  }
}

.text-16 {
  font-size: calc(1.525rem + 3.99194vw) !important;
}

@media (min-width: 1200px) {
  .text-16 {
    font-size: 4rem !important;
  }
}

.text-17 {
  font-size: calc(1.575rem + 4.71774vw) !important;
}

@media (min-width: 1200px) {
  .text-17 {
    font-size: 4.5rem !important;
  }
}

.text-18 {
  font-size: calc(1.625rem + 5.44355vw) !important;
}

@media (min-width: 1200px) {
  .text-18 {
    font-size: 5rem !important;
  }
}

.text-19 {
  font-size: calc(1.65rem + 5.80645vw) !important;
}

@media (min-width: 1200px) {
  .text-19 {
    font-size: 5.25rem !important;
  }
}

.text-20 {
  font-size: calc(1.7rem + 6.53226vw) !important;
}

@media (min-width: 1200px) {
  .text-20 {
    font-size: 5.75rem !important;
  }
}

.text-21 {
  font-size: calc(1.775rem + 7.62097vw) !important;
}

@media (min-width: 1200px) {
  .text-21 {
    font-size: 6.5rem !important;
  }
}

.text-22 {
  font-size: calc(1.825rem + 8.34677vw) !important;
}

@media (min-width: 1200px) {
  .text-22 {
    font-size: 7rem !important;
  }
}

.text-23 {
  font-size: calc(1.9rem + 9.43548vw) !important;
}

@media (min-width: 1200px) {
  .text-23 {
    font-size: 7.75rem !important;
  }
}

.text-24 {
  font-size: calc(1.95rem + 10.16129vw) !important;
}

@media (min-width: 1200px) {
  .text-24 {
    font-size: 8.25rem !important;
  }
}

.text-25 {
  font-size: calc(2.025rem + 11.25vw) !important;
}

@media (min-width: 1200px) {
  .text-25 {
    font-size: 9rem !important;
  }
}

.text-26 {
  font-size: calc(2.1rem + 12.33871vw) !important;
}

@media (min-width: 1200px) {
  .text-26 {
    font-size: 9.75rem !important;
  }
}

.text-27 {
  font-size: calc(2.15rem + 13.06452vw) !important;
}

@media (min-width: 1200px) {
  .text-27 {
    font-size: 10.25rem !important;
  }
}

@media (max-width: 767.98px) {
  .text-28 {
    font-size: calc(1.825rem + 8.34677vw) !important;
  }
}

@media (min-width: 768px) and (max-width: 991.98px) {
  .text-28 {
    font-size: calc(2.025rem + 11.25vw) !important;
  }
}

@media (min-width: 992px) {
  .text-28 {
    font-size: 11rem !important;
  }
}

@media (max-width: 767.98px) {
  .text-29 {
    font-size: calc(1.9rem + 9.43548vw) !important;
  }
}

@media (min-width: 768px) and (max-width: 991.98px) {
  .text-29 {
    font-size: calc(2.1rem + 12.33871vw) !important;
  }
}

@media (min-width: 992px) {
  .text-29 {
    font-size: 11.75rem !important;
  }
}

@media (max-width: 767.98px) {
  .text-30 {
    font-size: calc(1.95rem + 10.16129vw) !important;
  }
}

@media (min-width: 768px) and (max-width: 991.98px) {
  .text-30 {
    font-size: calc(2.15rem + 13.06452vw) !important;
  }
}

@media (min-width: 992px) {
  .text-30 {
    font-size: 12.25rem !important;
  }
}

@media (max-width: 767.98px) {
  .text-31 {
    font-size: calc(2.025rem + 11.25vw) !important;
  }
}

@media (min-width: 768px) and (max-width: 991.98px) {
  .text-31 {
    font-size: calc(2.225rem + 14.15323vw) !important;
  }
}

@media (min-width: 992px) {
  .text-31 {
    font-size: 13rem !important;
  }
}

@media (max-width: 767.98px) {
  .text-32 {
    font-size: calc(2.1rem + 12.33871vw) !important;
  }
}

@media (min-width: 768px) and (max-width: 991.98px) {
  .text-32 {
    font-size: calc(2.3rem + 15.24194vw) !important;
  }
}

@media (min-width: 992px) {
  .text-32 {
    font-size: 13.75rem !important;
  }
}

@media (max-width: 767.98px) {
  .text-33 {
    font-size: calc(2.15rem + 13.06452vw) !important;
  }
}

@media (min-width: 768px) and (max-width: 991.98px) {
  .text-33 {
    font-size: calc(2.35rem + 15.96774vw) !important;
  }
}

@media (min-width: 992px) {
  .text-33 {
    font-size: 14.25rem !important;
  }
}

@media (max-width: 767.98px) {
  .text-34 {
    font-size: calc(2.225rem + 14.15323vw) !important;
  }
}

@media (min-width: 768px) and (max-width: 991.98px) {
  .text-34 {
    font-size: calc(2.425rem + 17.05645vw) !important;
  }
}

@media (min-width: 992px) {
  .text-34 {
    font-size: 15rem !important;
  }
}

@media (max-width: 767.98px) {
  .text-35 {
    font-size: calc(2.3rem + 15.24194vw) !important;
  }
}

@media (min-width: 768px) and (max-width: 991.98px) {
  .text-35 {
    font-size: calc(2.5rem + 18.14516vw) !important;
  }
}

@media (min-width: 992px) {
  .text-35 {
    font-size: 15.75rem !important;
  }
}

@media (max-width: 767.98px) {
  .text-36 {
    font-size: calc(2.35rem + 15.96774vw) !important;
  }
}

@media (min-width: 768px) and (max-width: 991.98px) {
  .text-36 {
    font-size: calc(2.55rem + 18.87097vw) !important;
  }
}

@media (min-width: 992px) {
  .text-36 {
    font-size: 16.25rem !important;
  }
}

@media (max-width: 767.98px) {
  .text-37 {
    font-size: calc(2.425rem + 17.05645vw) !important;
  }
}

@media (min-width: 768px) and (max-width: 991.98px) {
  .text-37 {
    font-size: calc(2.625rem + 19.95968vw) !important;
  }
}

@media (min-width: 992px) {
  .text-37 {
    font-size: 17rem !important;
  }
}

.text-11,
.text-12,
.text-13,
.text-14,
.text-15,
.text-16,
.text-17,
.text-18,
.text-19,
.text-20,
.text-21,
.text-22,
.text-23,
.text-24,
.text-25,
.text-26,
.text-27,
.text-28,
.text-29 {
  line-height: 1.3;
}

.text-30,
.text-31,
.text-32,
.text-33,
.text-34,
.text-35,
.text-36,
.text-37 {
  line-height: 1.1;
}

/* For Demo 2 Intro */
.text-nowrap.text-25 {
  font-size: 9vw !important;
}

.text-nowrap.text-26 {
  font-size: 9.75vw !important;
}

.text-nowrap.text-27 {
  font-size: 10.25vw !important;
}

.text-nowrap.text-28 {
  font-size: 11vw !important;
}

.text-nowrap.text-29 {
  font-size: 11.75vw !important;
}

.text-nowrap.text-30 {
  font-size: 12.25vw !important;
}

.text-nowrap.text-31 {
  font-size: 13vw !important;
}

.text-nowrap.text-32 {
  font-size: 13.75vw !important;
}

.text-nowrap.text-33 {
  font-size: 14.25vw !important;
}

.text-nowrap.text-34 {
  font-size: 15vw !important;
}

.text-nowrap.text-35 {
  font-size: 15.75vw !important;
}

.text-nowrap.text-36 {
  font-size: 16.25vw !important;
}

.text-nowrap.text-37 {
  font-size: 17vw !important;
}

@media (min-width: 1200px) {
  .text-nowrap.text-25 {
    font-size: 9rem !important;
  }

  .text-nowrap.text-26 {
    font-size: 9.75rem !important;
  }

  .text-nowrap.text-27 {
    font-size: 10.25rem !important;
  }

  .text-nowrap.text-28 {
    font-size: 11rem !important;
  }

  .text-nowrap.text-29 {
    font-size: 11.75rem !important;
  }

  .text-nowrap.text-30 {
    font-size: 12.25rem !important;
  }

  .text-nowrap.text-31 {
    font-size: 13rem !important;
  }

  .text-nowrap.text-32 {
    font-size: 13.75rem !important;
  }

  .text-nowrap.text-33 {
    font-size: 14.25rem !important;
  }

  .text-nowrap.text-34 {
    font-size: 15rem !important;
  }

  .text-nowrap.text-35 {
    font-size: 15.75rem !important;
  }

  .text-nowrap.text-36 {
    font-size: 16.25rem !important;
  }

  .text-nowrap.text-37 {
    font-size: 17rem !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;
}

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

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

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

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

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

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

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

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

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

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

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

/* Opacity */
.opacity-0 {
  opacity: 0;
}

.opacity-1 {
  opacity: 0.1;
}

.opacity-2 {
  opacity: 0.2;
}

.opacity-3 {
  opacity: 0.3;
}

.opacity-4 {
  opacity: 0.4;
}

.opacity-5 {
  opacity: 0.5;
}

.opacity-6 {
  opacity: 0.6;
}

.opacity-7 {
  opacity: 0.7;
}

.opacity-8 {
  opacity: 0.8;
}

.opacity-9 {
  opacity: 0.9;
}

.opacity-10 {
  opacity: 1;
}

/* Background light */
.bg-light-1 {
  background-color: #e9ecef !important;
}

.bg-light-2 {
  background-color: #dee2e6 !important;
}

.bg-light-3 {
  background-color: #ced4da !important;
}

.bg-light-4 {
  background-color: #adb5bd !important;
}

/* Background Dark */
.bg-dark {
  background-color: #111418 !important;
}

.bg-dark-1 {
  background-color: #212529 !important;
}

.bg-dark-2 {
  background-color: #343a40 !important;
}

.bg-dark-3 {
  background-color: #495057 !important;
}

.bg-dark-4 {
  background-color: #6c757d !important;
}

/* Progress Bar */
.progress-sm {
  height: 0.5rem !important;
}

.progress-lg {
  height: 1.5rem !important;
}

/* =================================== */
/*  6. Blog
/* =================================== */
/* 6.1 List Item */
.list-item {
  list-style: none;
  padding: 0;
  margin-bottom: 0;
}

.list-item > li {
  display: block;
  position: relative;
}

.list-item li a {
  padding: 7px 0px 7px 16px;
  color: var(--bs-body-color);
  display: block;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
  text-decoration: none;
}

.list-item li a:after {
  content: " ";
  position: absolute;
  top: 50%;
  left: 1px;
  border-color: #000;
  border-top: 1px solid;
  border-right: 1px solid;
  width: 8px;
  height: 8px;
  -webkit-transform: translate(-50%, -50%) rotate(0deg);
  transform: translate(-50%, -50%) rotate(45deg);
}

.list-item a:hover {
  color: var(--bs-themecolor);
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}

.list-item li a span {
  float: right;
}

html[dir="rtl"] .list-item li a {
  padding-left: 0px;
  padding-right: 16px;
}

html[dir="rtl"] .list-item li a:after {
  top: 50%;
  left: auto;
  right: 1px;
  border-bottom: 1px solid;
  border-left: 1px solid;
  border-top: 0px;
  border-right: 0px;
  -webkit-transform: translate(0, -50%) rotate(0deg);
  transform: translate(0, -50%) rotate(45deg);
}

html[dir="rtl"] .list-item li a span {
  float: left;
}

/* 6.2 Tags */
.tags a {
  text-decoration: none;
  border-radius: 0.625rem;
  border: 1px solid var(--bs-border-color-translucent);
  color: var(--bs-body-color);
  padding: 6px 14px;
  display: inline-block;
  margin-bottom: 10px;
  margin-right: 5px;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}

.tags a:hover {
  background: var(--bs-themecolor);
  border-color: var(--bs-themecolor);
  color: #fff;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}

html[dir="rtl"] .tags a {
  margin-left: 5px;
  margin-right: 0px;
}

/* 6.3 Side Post */
.side-post .item-post {
  margin-top: 1.4rem;
}

.side-post .item-post:after {
  display: block;
  clear: both;
  content: "";
}

.side-post .item-post .img-thumb {
  float: left;
  margin-right: 12px;
  width: 65px !important;
}

.side-post .item-post .caption {
  overflow: hidden;
}

.side-post .item-post .caption a {
  color: var(--bs-heading-color);
  display: block;
  line-height: 1.25;
  text-decoration: none;
  margin-top: -3px;
  margin-bottom: 3px;
  font-weight: 500;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
}

.side-post .item-post .caption a:hover {
  color: var(--bs-themecolor);
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}

.side-post .item-post .caption .date-post {
  color: var(--bs-secondary-color);
  font-size: 14px;
  margin-bottom: 0px;
}

html[dir="rtl"] .side-post .item-post .img-thumb {
  float: right;
  margin-left: 12px;
  margin-right: 0px;
}

/* 6.4 Post */
.blog-post .title-blog {
  margin-bottom: 1rem;
  font-size: 2.5rem;
  font-weight: 600;
}

.blog-post .title-blog a {
  text-decoration: none;
  font-size: 1.85rem;
  font-weight: 600;
  color: var(--bs-heading-color);
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
}

.blog-post .title-blog a:hover {
  color: var(--bs-themecolor);
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}

.blog-post .meta-blog {
  padding-left: 0px;
}

.blog-post .meta-blog li {
  list-style-type: none;
  display: inline-block;
  margin-right: 12px;
  -ms-flex-align: center;
  align-items: center;
}

.blog-post .meta-blog li i {
  font-size: 16px;
  color: var(--bs-themecolor);
  margin-right: 5px;
}

.blog-post .meta-blog li a {
  color: var(--bs-body-color);
  text-decoration: none;
}

.blog-post .meta-blog li a:hover {
  color: var(--bs-themecolor);
}

html[dir="rtl"] .blog-post .meta-blog {
  padding-right: 0px;
}

html[dir="rtl"] .blog-post .meta-blog li {
  margin-right: 0px;
  margin-left: 12px;
}

html[dir="rtl"] .blog-post .meta-blog li i {
  margin-right: 0px;
  margin-left: 5px;
}

/* 6.5 Post Comment */
.post-comment ul {
  padding: 0px;
  list-style-type: none;
}

.post-comment ul li {
  border-top: 1px solid rgba(16, 85, 96, 0.1);
  padding-top: 1.3rem;
  margin-top: 1rem;
}

.post-comment ul ul {
  margin-left: 2.5rem;
}

.post-comment > ul > li:first-child {
  border-top: none;
  padding-top: 0;
  margin-top: 0;
}

html[dir="rtl"] .post-comment ul ul {
  margin-left: 0rem;
  margin-right: 2.5rem;
}

@media (max-width: 575.98px) {
  .post-comment ul ul {
    margin-left: 1.5rem;
  }

  html[dir="rtl"] .post-comment ul ul {
    margin-left: 0;
    margin-right: 1.5rem;
  }
}

/* =================================== */
/*  7. Footer
/* =================================== */
#footer {
  padding: 45px 0px;
}

#footer .nav .nav-link:hover {
  color: var(--bs-themecolor) !important;
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
}

#footer .nav.flex-column .nav-item {
  padding: 0px;
}

#footer .nav.flex-column .nav-item .nav-link {
  margin: 0.7rem 0px;
}

html:not([dir="rtl"]) #footer .nav .nav-item:first-child .nav-link {
  padding-left: 0px;
}

html:not([dir="rtl"]) #footer .nav .nav-item:last-child .nav-link {
  padding-right: 0px;
}

html[dir="rtl"] #footer .nav .nav-item:first-child .nav-link {
  padding-right: 0px;
}

html[dir="rtl"] #footer .nav .nav-item:last-child .nav-link {
  padding-left: 0px;
}

/*=== 7.1 Social Links ===*/
.social-links {
  margin: 0;
  padding: 0;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  list-style: none;
  font-size: 18px;
}

.social-links a {
  margin: 2px 16px;
  display: block;
  text-align: center;
  color: var(--bs-secondary-color);
  text-decoration: none;
  text-underline-offset: 0.25em;
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
}

.social-links a:hover {
  color: var(--bs-themecolor);
  text-decoration: underline;
}

.social-links.social-links-light a {
  color: var(--bs-light);
}

.social-links.social-links-light a:hover {
  color: var(--bs-white);
}

/*=== 7.2 Social Icons ===*/
.social-icons {
  margin: 0;
  padding: 0;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  list-style: none;
}

.social-icons li {
  margin: 2px 6px;
  padding: 0;
  overflow: visible;
}

.social-icons li a {
  display: block;
  height: 26px;
  line-height: 26px;
  width: 26px;
  font-size: 18px;
  text-align: center;
  color: #4d555a;
  text-decoration: none;
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
}

.social-icons li i {
  line-height: inherit;
}

.social-icons.social-icons-sm li {
  margin: 2px 4px;
}

.social-icons.social-icons-sm li a {
  font-size: 14px;
}

.social-icons.social-icons-lg li a {
  width: 34px;
  height: 34px;
  line-height: 34px;
  font-size: 22px;
}

.social-icons.social-icons-light li a {
  color: #eee;
}

.social-icons.social-icons-muted li a {
  color: #aab1b8;
}

.social-icons li:hover a {
  color: #999;
}

.social-icons li:hover.social-icons-twitter a,
.social-icons.social-icons-colored li.social-icons-twitter a {
  color: #00acee;
}

.social-icons li:hover.social-icons-facebook a,
.social-icons.social-icons-colored li.social-icons-facebook a {
  color: #3b5998;
}

.social-icons li:hover.social-icons-linkedin a,
.social-icons.social-icons-colored li.social-icons-linkedin a {
  color: #0e76a8;
}

.social-icons li:hover.social-icons-rss a,
.social-icons.social-icons-colored li.social-icons-rss a {
  color: #ee802f;
}

.social-icons li:hover.social-icons-dribbble a,
.social-icons.social-icons-colored li.social-icons-dribbble a {
  color: #ea4c89;
}

.social-icons li:hover.social-icons-github a,
.social-icons.social-icons-colored li.social-icons-github a {
  color: #333333;
}

.social-icons li:hover.social-icons-behance a,
.social-icons.social-icons-colored li.social-icons-behance a {
  color: #053eff;
}

.social-icons li:hover.social-icons-google a,
.social-icons.social-icons-colored li.social-icons-google a {
  color: #dd4b39;
}

.social-icons li:hover.social-icons-pinterest a,
.social-icons.social-icons-colored li.social-icons-pinterest a {
  color: #cc2127;
}

.social-icons li:hover.social-icons-youtube a,
.social-icons.social-icons-colored li.social-icons-youtube a {
  color: #c4302b;
}

.social-icons li:hover.social-icons-instagram a,
.social-icons.social-icons-colored li.social-icons-instagram a {
  color: #3f729b;
}

.social-icons li:hover.social-icons-skype a,
.social-icons.social-icons-colored li.social-icons-skype a {
  color: #00aff0;
}

.social-icons li:hover.social-icons-email a,
.social-icons.social-icons-colored li.social-icons-email a {
  color: #6567a5;
}

.social-icons li:hover.social-icons-vk a,
.social-icons.social-icons-colored li.social-icons-vk a {
  color: #2b587a;
}

.social-icons li:hover.social-icons-xing a,
.social-icons.social-icons-colored li.social-icons-xing a {
  color: #126567;
}

.social-icons li:hover.social-icons-tumblr a,
.social-icons.social-icons-colored li.social-icons-tumblr a {
  color: #34526f;
}

.social-icons li:hover.social-icons-reddit a,
.social-icons.social-icons-colored li.social-icons-reddit a {
  color: #c6c6c6;
}

.social-icons li:hover.social-icons-delicious a,
.social-icons.social-icons-colored li.social-icons-delicious a {
  color: #205cc0;
}

.social-icons li:hover.social-icons-stumbleupon a,
.social-icons.social-icons-colored li.social-icons-stumbleupon a {
  color: #f74425;
}

.social-icons li:hover.social-icons-digg a,
.social-icons.social-icons-colored li.social-icons-digg a {
  color: #191919;
}

.social-icons li:hover.social-icons-blogger a,
.social-icons.social-icons-colored li.social-icons-blogger a {
  color: #fc4f08;
}

.social-icons li:hover.social-icons-flickr a,
.social-icons.social-icons-colored li.social-icons-flickr a {
  color: #ff0084;
}

.social-icons li:hover.social-icons-vimeo a,
.social-icons.social-icons-colored li.social-icons-vimeo a {
  color: #86c9ef;
}

.social-icons li:hover.social-icons-yahoo a,
.social-icons.social-icons-colored li.social-icons-yahoo a {
  color: #720e9e;
}

.social-icons li:hover.social-icons-apple a,
.social-icons.social-icons-colored li.social-icons-apple a {
  color: #000;
}

.social-icons.social-icons-colored li:hover a {
  color: #999;
}

html:not([dir="rtl"]) .social-icons li:first-child {
  margin-left: 0px;
}

html:not([dir="rtl"]) .social-icons li:last-child {
  margin-right: 0px;
}

html[dir="rtl"] .social-icons li:first-child {
  margin-right: 0px;
}

html[dir="rtl"] .social-icons li:last-child {
  margin-left: 0px;
}

/*=== 7.3 Back to Top ===*/
#back-to-top {
  display: none;
  position: fixed;
  z-index: 1030;
  bottom: 14px;
  right: 12px;
  border: 1px solid rgba(0, 0, 0, 0.3);
  text-align: center;
  color: 1px solid rgba(0, 0, 0, 0.3);
  font-size: 18px;
  width: 46px;
  height: 46px;
  line-height: 46px;
  border-radius: 50%;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}

#back-to-top-left,
#back-to-top-right {
  display: none;
  position: fixed;
  z-index: 1030;
  bottom: 14px;
  border: 1px solid var(--cursor-color);
  text-align: center;
  color: 1px solid var(--cursor-color);
  font-size: 18px;
  width: 46px;
  height: 46px;
  line-height: 46px;
  border-radius: 50%;
  transition: all 0.3s ease-in-out;
}

#back-to-top-left {
  left: 12px;
}

#back-to-top-right {
  right: 12px;
}

#back-to-top-right:after {
  position: absolute;
  content: " ";
  overflow: hidden;
  left: 50%;
  top: calc(50% + 3px);
  width: 13px;
  height: 13px;
  border-top: 2px solid var(--cursor-color);
  border-right: 2px solid var(--cursor-color);
  -webkit-transform: translate(-50%, -50%) rotate(-45deg);
  transform: translate(-50%, -50%) rotate(-45deg);
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  background-image: none;
}

.download-icon {
  vertical-align: text-top;
}

.download-icon path {
  fill: var(--cursor-color);
}

#download-cv {
  left: 12px;
}

#back-to-top:after {
  position: absolute;
  content: " ";
  overflow: hidden;
  left: 50%;
  top: calc(50% + 3px);
  width: 13px;
  height: 13px;
  border-top: 1px solid rgba(0, 0, 0, 0.7);
  border-right: 1px solid rgba(0, 0, 0, 0.7);
  -webkit-transform: translate(-50%, -50%) rotate(-45deg);
  transform: translate(-50%, -50%) rotate(-45deg);
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  background-image: none;
}

#back-to-top:hover {
  background: transparent;
  border-color: rgba(var(--bs-themecolor-rgb), 1);
}

#back-to-top:hover:after {
  border-color: rgba(var(--bs-themecolor-rgb), 1);
}

[data-bs-theme="dark"] #back-to-top {
  border: 1px solid rgba(250, 250, 250, 0.3);
  color: 1px solid rgba(250, 250, 250, 0.3);
}

[data-bs-theme="dark"] #back-to-top:after {
  border-top: 1px solid rgba(250, 250, 250, 0.7);
  border-right: 1px solid rgba(250, 250, 250, 0.7);
}

[data-bs-theme="dark"] #back-to-top:hover {
  background: transparent;
  border-color: rgba(var(--bs-themecolor-rgb), 1);
}

[data-bs-theme="dark"] #back-to-top:hover:after {
  border-color: rgba(var(--bs-themecolor-rgb), 1);
}

html[dir="rtl"] body:not(.side-header-right) #back-to-top,
html:not([dir="rtl"]) .side-header-right #back-to-top {
  left: 10px;
  right: auto;
}

@media (max-width: 575.98px) {
  #back-to-top {
    z-index: 1029;
  }
}

/* =================================== */
/*  8. Extras
/* =================================== */
/* Bootstrap Specific */
.form-control:not(.form-control-sm) {
  padding: 0.81rem 0.96rem;
  height: inherit;
  box-shadow: inset 0 0;
}

.icon-inside {
  position: absolute;
  right: 15px;
  top: calc(50% - 11px);
  pointer-events: none;
  font-size: 18px;
  font-size: 1.125rem;
  color: #c4c3c3;
  z-index: 3;
}

.form-control-sm + .icon-inside {
  font-size: 0.875rem !important;
  font-size: 14px;
  top: calc(50% - 13px);
}

select.form-control:not([size]):not([multiple]):not(.form-control-sm) {
  height: auto;
  padding-top: 0.7rem;
  padding-bottom: 0.7rem;
}

.custom-select:not(.custom-select-sm) {
  height: calc(3.05rem + 2px);
  padding-top: 0.7rem;
  padding-bottom: 0.7rem;
}

.col-form-label-sm {
  font-size: 13px;
}

.custom-select-sm {
  padding-left: 5px !important;
  font-size: 14px;
}

.custom-select:not(.custom-select-sm).border-0 {
  height: 3rem;
}

.form-control:focus,
.custom-select:focus {
  -webkit-box-shadow: 0 0 5px rgba(128, 189, 255, 0.5);
  box-shadow: 0 0 5px rgba(128, 189, 255, 0.5);
}

.form-control:focus[readonly] {
  box-shadow: none;
}

.form-control::-webkit-input-placeholder {
  color: #b1b4b6;
}

.form-control:-moz-placeholder {
  /* FF 4-18 */
  color: #b1b4b6;
}

.form-control::-moz-placeholder {
  /* FF 19+ */
  color: #b1b4b6;
}

.form-control:-ms-input-placeholder,
.form-control::-ms-input-placeholder {
  /* IE 10+ */
  color: #b1b4b6;
}

/* Form Dark */
.form-dark .form-control,
.form-dark .custom-select {
  border-color: #232a31;
  background: #232a31;
  color: #fff;
}

.form-dark .form-control:focus {
  border-color: #80bdff !important;
}

.form-dark .form-control::-webkit-input-placeholder {
  color: #777b7f;
}

.form-dark .form-control:-moz-placeholder {
  /* FF 4-18 */
  color: #777b7f;
}

.form-dark .form-control::-moz-placeholder {
  /* FF 19+ */
  color: #777b7f;
}

.form-dark .form-control:-ms-input-placeholder,
.form-dark .form-control::-ms-input-placeholder {
  /* IE 10+ */
  color: #777b7f;
}

.form-dark .custom-select {
  color: #777b7f;
  background: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3E%3Cpath fill='rgba(250,250,250,0.3)' d='M2 0L0 2h4zm0 5L0 3h4z'/%3E%3C/svg%3E")
    no-repeat right 0.75rem center;
  background-size: 13px 15px;
  border-color: #232a31;
  background-color: #232a31;
}

.form-dark .icon-inside {
  color: #777b7f;
}

/*  Input with only bottom border  */
.form-border .form-control {
  background-color: transparent;
  border: none;
  border-bottom: 1px solid rgba(0, 0, 0, 0.2);
  border-radius: 0px;
  padding: 0px;
  color: black;
}

.form-border .form-control::-webkit-input-placeholder {
  color: rgba(0, 0, 0, 0.4);
}

.form-border .form-control:-moz-placeholder {
  /* FF 4-18 */
  color: rgba(0, 0, 0, 0.4);
}

.form-border .form-control::-moz-placeholder {
  /* FF 19+ */
  color: rgba(0, 0, 0, 0.4);
}

.form-border .form-control:-ms-input-placeholder,
.form-border .form-control::-ms-input-placeholder {
  /* IE 10+ */
  color: rgba(0, 0, 0, 0.4);
}

.form-border .custom-select {
  background-color: transparent;
  border: none;
  border-bottom: 1px solid rgba(0, 0, 0, 0.2);
  border-radius: 0px;
  padding: 0px;
  color: rgba(0, 0, 0, 0.4);
  background: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3E%3Cpath fill='rgba(0,0,0,0.3)' d='M2 0L0 2h4zm0 5L0 3h4z'/%3E%3C/svg%3E")
    no-repeat right 0.75rem center;
  background-size: 13px 15px;
}

.form-border .form-control:focus,
.form-border .custom-select:focus {
  box-shadow: none;
  -webkit-box-shadow: none;
  border-bottom: 1px solid rgba(0, 0, 0, 0.7);
}

.form-border .form-control:not(output):-moz-ui-invalid:not(:focus),
.form-border
  .form-control:not(output):-moz-ui-invalid:-moz-focusring:not(:focus),
.form-border .custom-select:not(output):-moz-ui-invalid:not(:focus),
.form-border
  .custom-select:not(output):-moz-ui-invalid:-moz-focusring:not(:focus) {
  border-bottom: 1px solid #dc3545;
  box-shadow: none;
  -webkit-box-shadow: none;
}

.form-border .icon-inside {
  color: rgba(0, 0, 0, 0.25);
}

.form-border select option {
  color: #666;
}

.form-border .form-label {
  color: var(--bs-secondary-color);
}

[data-bs-theme="dark"] .form-border .form-control {
  border-bottom: 1px solid rgba(250, 250, 250, 0.2);
  color: #fafafa;
}

[data-bs-theme="dark"] .form-border .form-control::-webkit-input-placeholder {
  color: rgba(250, 250, 250, 0.7);
}

[data-bs-theme="dark"] .form-border .form-control:-moz-placeholder {
  /* FF 4-18 */
  color: rgba(250, 250, 250, 0.7);
}

[data-bs-theme="dark"] .form-border .form-control::-moz-placeholder {
  /* FF 19+ */
  color: rgba(250, 250, 250, 0.7);
}

[data-bs-theme="dark"] .form-border .form-control:-ms-input-placeholder,
[data-bs-theme="dark"] .form-border .form-control::-ms-input-placeholder {
  /* IE 10+ */
  color: rgba(250, 250, 250, 0.7);
}

[data-bs-theme="dark"] .form-border .custom-select {
  border-bottom: 1px solid rgba(250, 250, 250, 0.2);
  color: #fafafa;
  background: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3E%3Cpath fill='rgba(250,250,250,0.6)' d='M2 0L0 2h4zm0 5L0 3h4z'/%3E%3C/svg%3E")
    no-repeat right 0.75rem center;
  background-size: 13px 15px;
}

[data-bs-theme="dark"] .form-border .form-control:focus,
[data-bs-theme="dark"] .form-border .custom-select:focus {
  border-bottom: 1px solid rgba(250, 250, 250, 0.7);
}

[data-bs-theme="dark"] .form-border .icon-inside {
  color: #999;
}

[data-bs-theme="dark"] .form-border select option {
  color: #333;
}

[data-bs-theme="dark"] .form-border .form-label {
  color: var(--bs-secondary-color);
}

.btn {
  --bs-btn-padding-x: 2.188rem;
  --bs-btn-padding-y: 0.825rem;
  --bs-btn-font-size: 1.125rem;
  --bs-btn-font-weight: 500;
  --bs-btn-border-radius: 0.625rem;
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease;
}

.btn-sm {
  --bs-btn-padding-x: 1rem;
  --bs-btn-padding-y: 0.5rem;
  --bs-btn-font-size: 1rem;
}

.btn-lg {
  --bs-btn-font-size: 1.25rem;
}

.input-group-append .btn,
.input-group-prepend .btn {
  padding-left: 0.75rem;
  padding-right: 0.75rem;
}

@media (max-width: 575.98px) {
  .btn:not(.btn-sm) {
    padding: 0.81rem 2rem;
  }

  .input-group > .input-group-append > .btn,
  .input-group > .input-group-prepend > .btn {
    padding: 0 0.75rem;
  }
}

.btn-primary {
  --bs-btn-color: var(--bs-white);
  --bs-btn-bg: var(--bs-themecolor);
  --bs-btn-border-color: var(--bs-themecolor);
  --bs-btn-hover-color: var(--bs-white);
  --bs-btn-hover-bg: var(--bs-themehovercolor);
  --bs-btn-hover-border-color: var(--bs-themehovercolor);
  --bs-btn-active-color: var(--bs-btn-hover-color);
  --bs-btn-active-bg: var(--bs-themehovercolor);
  --bs-btn-active-border-color: var(--bs-themehovercolor);
  --bs-btn-disabled-bg: var(--bs-themecolor);
  --bs-btn-disabled-border-color: var(--bs-themecolor);
}

.btn-outline-primary {
  --bs-btn-color: var(--bs-themecolor);
  --bs-btn-border-color: var(--bs-themecolor);
  --bs-btn-hover-bg: var(--bs-themecolor);
  --bs-btn-hover-color: var(--bs-white);
  --bs-btn-hover-border-color: var(--bs-themecolor);
  --bs-btn-active-color: var(--bs-btn-hover-color);
  --bs-btn-active-bg: var(--bs-themehovercolor);
  --bs-btn-active-border-color: var(--bs-themehovercolor);
  --bs-btn-disabled-color: var(--bs-themecolor);
  --bs-btn-disabled-border-color: var(--bs-themecolor);
}

.link-primary:hover,
.link-primary:focus {
  color: rgba(
    var(--bs-themehovercolor-rgb),
    var(--bs-link-opacity, 1)
  ) !important;
  text-decoration-color: rgba(
    var(--bs-themehovercolor-rgb),
    var(--bs-link-underline-opacity, 1)
  ) !important;
}

.progress,
.progress-stacked {
  --bs-progress-bar-bg: var(--bs-themecolor);
}

.pagination {
  --bs-pagination-active-bg: var(--bs-themecolor);
  --bs-pagination-active-border-color: var(--bs-themecolor);
  --bs-pagination-padding-x: 1rem;
  --bs-pagination-padding-y: 0.5rem;
  --bs-pagination-bg: transparent;
  --bs-pagination-font-size: 1.125rem;
}

.pagination .page-item .page-link {
  margin: 0 5px;
  border-radius: 0.625rem;
}

/* styles-switcher */
#styles-switcher {
  background: #fff;
  width: 202px;
  position: fixed;
  top: 35%;
  z-index: 99;
  padding: 16px;
  left: -202px;
}

#styles-switcher ul {
  padding: 0;
}

#styles-switcher ul li {
  list-style-type: none;
  width: 25px;
  height: 25px;
  margin: 4px 2px;
  border-radius: 50%;
  display: inline-block;
  cursor: pointer;
  transition: all 0.2s ease-in-out;
}

#styles-switcher ul li.blue {
  background: #0d6efd;
  color: #0d6efd;
}

#styles-switcher ul li.brown {
  background: #795548;
  color: #795548;
}

#styles-switcher ul li.purple {
  background: #6f42c1;
  color: #6f42c1;
}

#styles-switcher ul li.indigo {
  background: #6610f2;
  color: #6610f2;
}

#styles-switcher ul li.red {
  background: #dc3545;
  color: #dc3545;
}

#styles-switcher ul li.orange {
  background: #fd7e14;
  color: #fd7e14;
}

#styles-switcher ul li.yellow {
  background: #ffc107;
  color: #ffc107;
}

#styles-switcher ul li.green {
  background: #09b850;
  color: #09b850;
}

#styles-switcher ul li.teal {
  background: #20c997;
  color: #20c997;
}

#styles-switcher ul li.pink {
  background: #d63384;
  color: #d63384;
}

#styles-switcher ul li.cyan {
  background: #0dcaf0;
  color: #0dcaf0;
}

#styles-switcher ul li.active {
  transform: scale(0.6);
  cursor: default;
}

#styles-switcher ul li.active:after {
  border: 1px solid currentcolor;
  content: "";
  position: relative;
  width: 42px;
  height: 42px;
  border-radius: 50%;
  display: block;
  left: -8px;
  top: -8px;
}

#styles-switcher .switcher-toggle {
  position: absolute;
  background: #333;
  border: 0px;
  color: #fff;
  font-size: 1.25rem;
  border-radius: 0px 4px 4px 0;
  right: -40px;
  top: 0;
  width: 40px;
  height: 40px;
  padding: 0;
}

input:-internal-autofill-selected {
  background-color: transparent;
}

#styles-switcher.right {
  left: auto;
  right: -202px;
}

#styles-switcher.right .switcher-toggle {
  right: auto;
  left: -40px;
  border-radius: 4px 0px 0px 4px;
}

/* toggle button */

:root {
  --hue: 223;
  --primary: hsl(var(--hue), 90%, 50%);
  --trans-dur: 0.6s;
  --trans-timing: cubic-bezier(0.65, 0, 0.35, 1);
}

body,
input {
  font: 1em/1.5;
}

body:has(.switch__input:checked) {
  background-color: hsl(var(--hue), 10%, 20%);
  color: hsl(var(--hue), 10%, 90%);
}

.switch,
.switch__input {
  display: block;
  -webkit-tap-highlight-color: transparent;
  font-size: 1.8rem;
}

.switch {
  margin: auto;
  position: relative;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
}

.switch__icon {
  color: hsla(var(--hue), 10%, 80%);
  pointer-events: none;
  position: absolute;
  top: 0.375em;
  left: 0.375em;
  width: 0.75em;
  height: 0.75em;
  transition:
    color var(--trans-dur),
    transform var(--trans-dur) var(--trans-timing);
}

.switch__icon:nth-of-type(2) {
  right: 0.375em;
  left: auto;
}

.switch__inner,
.switch__inner-icons {
  border-radius: 0.5em;
  display: block;
  overflow: hidden;
  position: absolute;
  top: 0.25em;
  left: 0.25em;
  width: 2.25em;
  height: 1em;
}

.switch__inner:before,
.switch__inner-icons {
  transition: transform var(--trans-dur) var(--trans-timing);
  transform: translateX(-1.25em);
}

.switch__inner:before {
  background-color: var(--bs-themecolor);
  border-radius: inherit;
  content: "";
  display: block;
  width: 100%;
  height: 100%;
}

.switch__inner-icons {
  pointer-events: none;
}

.switch__inner-icons .switch__icon {
  color: hsl(0, 0%, 100%);
  top: 0.125em;
  left: 0.125em;
  transform: translateX(1.25em);
}

.switch__inner-icons .switch__icon:nth-child(2) {
  right: 0.125em;
  left: auto;
}

.switch__input {
  background-color: hsl(0, 0%, 100%);
  border-radius: 0.75em;
  box-shadow:
    0 0 0 0.0625em hsla(var(--hue), 90%, 50%, 0),
    0 0.125em 0.5em hsla(var(--hue), 10%, 10%, 0.1);
  outline: transparent;
  width: 2.75em;
  height: 1.5em;
  -webkit-appearance: none;
  appearance: none;
  transition:
    background-color var(--trans-dur),
    box-shadow var(--trans-dur);
}

.switch__input:checked {
  /* background-color: hsl(var(--hue), 10%, 10%); */
  background-color: #39363d;
}

.switch__input:checked ~ .switch__icon {
  color: hsla(var(--hue), 10%, 40%);
}

.switch__input:checked ~ .switch__inner:before,
.switch__input:checked ~ .switch__inner-icons {
  transform: translateX(1.25em);
}

.switch__input:not(:checked) ~ .switch__icon:first-of-type,
.switch__input:checked ~ .switch__icon:nth-of-type(2) {
  transform: rotate(360deg);
}

.switch__input:checked ~ .switch__inner-icons .switch__icon:first-of-type {
  transform: translateX(-1.25em) rotate(-360deg);
}

.switch__input:checked ~ .switch__inner-icons .switch__icon:nth-of-type(2) {
  transform: translateX(-1.25em) rotate(360deg);
}

.switch__input:focus-visible {
  box-shadow:
    0 0 0 0.0625em hsla(var(--hue), 90%, 50%, 1),
    0 0.125em 0.5em hsla(var(--hue), 10%, 10%, 0.1);
}

.switch__sr {
  overflow: hidden;
  position: absolute;
  width: 1px;
  height: 1px;
}

/* toggle button end */

/* Hire me button styels for dark theme */
[data-bs-theme="light"] .btn-outline-dark {
  color: #212529;
  border-color: #212529;
}

[data-bs-theme="light"] .btn-outline-dark:hover {
  background-color: #212529;
  color: #fff;
}

[data-bs-theme="dark"] .btn-outline-dark {
  color: #ffc107;
  border-color: #ffc107;
}

[data-bs-theme="dark"] .btn-outline-dark:hover {
  background-color: #ffc107;
  color: #212529;
}

/* Hire me button styels for dark theme end*/

/* Hide the default system cursor */
body {
  cursor: none;
}

/* Outer circle */
#magicMouseCursor {
  position: fixed;
  width: 35px;
  height: 35px;
  border: 1px solid #fff;
  border-radius: 50%;
  z-index: 9999;
  left: 0;
  top: 0;
  transition:
    transform 0.07s,
    width 0.3s,
    height 0.3s;
  pointer-events: none;
}

/* Optional square shape */
#magicMouseCursor.cursor-square {
  border-radius: 0;
}

/* Inner pointer dot */
#magicPointer {
  height: 5px;
  width: 5px;
  top: 0;
  left: 0;
  position: fixed;
  background: #fff;
  border-radius: 50%;
  pointer-events: none;
  transition:
    background 0.2s,
    width 0.2s,
    height 0.2s,
    box-shadow 0.2s;
}

/* Fancy pointer effects */
#magicPointer.pointer-blur {
  height: 50px;
  width: 50px;
  background: none;
  border: 1px solid #fff;
  box-shadow: 0px 0px 15px -5px white;
}

#magicPointer.pointer-overlay {
  height: 50px;
  width: 50px;
  mix-blend-mode: difference;
  box-shadow: 0px 0px 15px -5px white;
}

#magicPointer.is-hover {
  background: red;
}

/* Optional smooth hover for any element */
.magic-hover {
  transition: all 0.2s;
}

.magic-hover:hover {
  cursor: none;
}

html,
* {
  cursor: none;
}

.skills-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  transition: all 0.3s ease;
  cursor: pointer;
}

.skills-item .skill-text {
  transition: all 0.3s ease;
}

.skills-item .skill-icon {
  opacity: 0;
  transform: translateX(10px);
  transition: all 0.3s ease;
}

.skills-item:hover .skill-text {
  transform: translateX(-10px);
}

.skills-item:hover .skill-icon {
  opacity: 1;
  transform: translateX(0);
}

/* From Uiverse.io by JaydipPrajapati1910 */
.quick-chat {
  background: transparent;
  position: relative;
  display: flex;
  padding: 9px 15px;
  align-items: center;
  font-weight: 600;
  text-decoration: none;
  cursor: pointer;
  border: 1px solid var(--chat-border);
  border-radius: 25px;
  outline: none;
  overflow: hidden;
  color: var(--cursor-color);
  transition: color 0.3s 0.1s ease-out;
  text-align: center;
}

.quick-chat a {
  text-decoration: none;
  color: var(--cursor-color);
  /* margin: 10px; */
}

.quick-chat::before {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  content: "";
  border-radius: 50%;
  display: block;
  width: 20em;
  height: 20em;
  left: -5em;
  text-align: center;
  transition: box-shadow 0.3s ease-out;
  z-index: -1;
}

/* .quick-chat:hover {
  border: 1px solid transparent;
} */
.quick-chat:hover a {
  color: #fff;
}

.quick-chat:hover::before {
  box-shadow: inset 0 0 0 10em var(--bs-themecolor);
}

.quick-chat {
  border: 1.5px solid var(--bs-themecolor);
}

/* socials */
.social-row-container {
  position: relative;
  width: fit-content;
  margin: 40px auto;
}

.social-glass-bg {
  position: absolute;
  inset: 0;
  background: var(--background);
  backdrop-filter: blur(16px);
  border-radius: 1.25rem 20px;
  /* border: 1px solid rgba(247, 247, 247, 0.1); */
  /* box-shadow: 0 8px 40px 0 rgba(0, 0, 0, 0.22); */
  /* box-shadow: 0 0 0 0.0625em hsla(var(--hue), 90%, 50%, 0), 0 0.125em 0.5em hsla(var(--hue), 10%, 10%, 0.1); */
  z-index: 1;
}
.social-row {
  position: relative;
  display: flex;
  align-items: flex-end;
  gap: 0.5rem;
  padding: 0.5rem;
  z-index: 2;
}

.icon-btn {
  width: 56px;
  height: 56px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 1rem;
  /* box-shadow: 0 2px 16px 2px rgba(0, 0, 0, 0.07); */
  border: 1px solid transparent;
  box-shadow:
    0 0 0 0.0625em hsla(var(--hue), 90%, 50%, 0),
    0 0.125em 0.5em hsla(var(--hue), 10%, 10%, 0.1);
  clip-path: url(#squircleClip);
  cursor: pointer;
  transition:
    transform 0.3s cubic-bezier(0.22, 1, 0.36, 1),
    box-shadow 0.3s cubic-bezier(0.22, 1, 0.36, 1),
    border 0.3s;
}

.icon-btn:hover {
  transform: scale(1.1) translateY(-8px);
  box-shadow: 0 8px 32px 4px rgba(0, 0, 0, 0.18);
  border-width: 2px;
}

.bg-github {
  background: linear-gradient(135deg, #404040 0%, #181818 100%);
  border-color: rgba(99, 99, 99, 0.5);
}

.bg-linkedin {
  background: linear-gradient(135deg, #2563eb 0%, #1e40af 100%);
  border-color: rgba(59, 130, 246, 0.5);
}

.bg-youtube {
  background: linear-gradient(135deg, #dc2626 0%, #7f1d1d 100%);
  border-color: rgba(239, 68, 68, 0.5);
}

.bg-discord {
  background: linear-gradient(135deg, #6366f1 0%, #1e1b4b 100%);
  border-color: rgba(99, 102, 241, 0.5);
}

.icon {
  width: 32px;
  height: 32px;
  color: #fff;
}

.bg-whatsapp {
  background-color: #25d366;
  color: white;
}

/* skills start */

/* Controls */
.ravi-controls {
  position: fixed;
  left: 1rem;
  top: 1rem;
  display: flex;
  gap: 0.5rem;
  align-items: center;
  background: rgba(0, 0, 0, 0.03);
  padding: 6px 8px;
  border-radius: 8px;
}

.ravi-controls select {
  background: transparent;
  color: inherit;
  border: 1px solid rgba(0, 0, 0, 0.08);
  padding: 4px 6px;
  border-radius: 4px;
}

:root[data-theme="dark"] .ravi-controls {
  background: rgba(255, 255, 255, 0.03);
}

.ravi-controls label {
  font-size: 13px;
}

/* Heading */
h1.ravi-fluid {
  font-weight: 600;
  font-size: clamp(22px, 6vw, 44px);
  letter-spacing: -0.02em;
}

body > p {
  width: min(74ch, calc(100% - 4rem));
  font-family: monospace;
  line-height: 1.5;
  opacity: 0.85;
  text-wrap: balance;
  max-width: 74ch;
}

/* Cards grid */
ul.ravi-cards {
  display: grid;
  gap: var(--gap);
  align-items: stretch;
  width: min(100%, 920px);
  height: clamp(300px, 40dvh, 474px);
  grid-template-columns: repeat(7, 1fr);
  transition: grid-template-columns var(--speed) var(--easing);
  list-style: none;
}

/* Card */
ul.ravi-cards > li {
  position: relative;
  overflow: hidden;
  min-width: var(--base);
  border-radius: 8px;
  border: 1px solid rgba(0, 0, 0, 0.08);
  background: linear-gradient(
    180deg,
    rgba(255, 255, 255, 0.02),
    rgba(0, 0, 0, 0.01)
  );
  transition:
    border-color var(--speed) var(--easing),
    transform var(--speed) var(--easing);
}

:root[data-theme="dark"] ul.ravi-cards > li {
  border-color: rgba(255, 255, 255, 0.06);
}

/* Article */
article {
  position: absolute;
  inset: 0;
  padding: 1rem;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  gap: 0.75rem;
  font-family: monospace;
  width: var(--article-width);
  pointer-events: none;
}

article h3,
article svg {
  position: absolute;
  top: 1rem;
  left: 2.2rem;
  transform-origin: 0 50%;
  transform: rotate(90deg);
  font-size: 0.95rem;
  font-weight: 300;
  text-transform: uppercase;
}

article svg {
  width: 20px;
  height: 20px;
  top: 10rem;
}

article p {
  font-size: 13px;
  line-height: 1.25;
  opacity: 0.85;
  margin-bottom: 2.2rem;
  text-align: left;
}

/* CTA row */
article .ravi-cta {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  position: absolute;
  bottom: 1rem;
  left: 1rem;
  pointer-events: auto;
}

article .ravi-cta a {
  text-decoration: none;
  color: inherit;
  font-weight: 500;
}

article .ravi-cta a:hover {
  text-decoration: underline;
}

/* Image */
article img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: grayscale(0) brightness(1);
  transform: scale(1.08);
  transition:
    transform var(--speed) var(--easing),
    filter var(--speed) var(--easing);
  mask-image: radial-gradient(100% 100% at 100% 0, #fff, transparent);
  pointer-events: none;
}

li[data-active="true"] img {
  transform: scale(1);
  transition-delay: calc(var(--speed) * 0.25);
}

/* Show/hide content */
li h3 {
  opacity: 1;
}

li :is(p, .ravi-cta) {
  opacity: 0;
  transition: opacity var(--speed) var(--easing);
}

li[data-active="true"] :is(p, .ravi-cta) {
  opacity: 1;
  transition-delay: calc(var(--speed) * 0.25);
}

/* Badge */
.ravi-bear-link {
  position: fixed;
  top: 1rem;
  right: 1rem;
  width: 48px;
  height: 48px;
  display: grid;
  place-items: center;
  opacity: 0.9;
  color: inherit;
}
/* Root tokens */
:root {
  --gap: 8px;
  --base: clamp(16px, 5vw, 80px);
  --speed: 0.6s;
  --easing: cubic-bezier(0.4, 0, 0.2, 1);
  --card-active-fr: 10fr;
  --card-inactive-fr: 1fr;
  --bg: #ffffff;
  --fg: #000000;
  --line: rgba(0, 0, 0, 0.06);
  --article-width: 320px;
}

/* ===================================
   Social Media Icons - Enhanced
=================================== */

.social-icon-link {
  position: relative;
  text-decoration: none;
  display: inline-block;
}

.social-icon-card {
  width: 56px;
  height: 56px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 1rem;
  transition: all 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
  position: relative;
  z-index: 1;
}

.social-icon-card i {
  font-size: 1.5rem;
  color: #fff;
  transition: transform 0.3s ease;
}

.social-icon-link:hover .social-icon-card {
  transform: translateY(-8px) scale(1.1);
}

.social-icon-link:hover .social-icon-card i {
  animation: bounce-icon 0.6s ease-in-out;
}

@keyframes bounce-icon {
  0%,
  100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-25%);
  }
}

/* Brand Colors */
.social-linkedin {
  background: linear-gradient(135deg, #0a66c2 0%, #004182 100%);
}

.social-linkedin:hover {
  box-shadow: 0 15px 30px -5px rgba(10, 102, 194, 0.5);
}

.social-behance {
  background: linear-gradient(135deg, #1769ff 0%, #0050e6 100%);
}

.social-behance:hover {
  box-shadow: 0 15px 30px -5px rgba(23, 105, 255, 0.5);
}

.social-dribbble {
  background: linear-gradient(135deg, #ea4c89 0%, #c32361 100%);
}

.social-dribbble:hover {
  box-shadow: 0 15px 30px -5px rgba(234, 76, 137, 0.5);
}

.social-github {
  background: linear-gradient(135deg, #333 0%, #181717 100%);
}

.social-github:hover {
  box-shadow: 0 15px 30px -5px rgba(24, 23, 23, 0.5);
}

.social-x {
  background: linear-gradient(135deg, #000 0%, #14171a 100%);
}

.social-x:hover {
  box-shadow: 0 15px 30px -5px rgba(0, 0, 0, 0.6);
}

.social-whatsapp {
  background: linear-gradient(135deg, #25d366 0%, #1da851 100%);
}

.social-whatsapp:hover {
  box-shadow: 0 15px 30px -5px rgba(37, 211, 102, 0.5);
}

.social-share {
  background: linear-gradient(135deg, #6610f2 0%, #6610f2 100%);
}

.social-share:hover {
  box-shadow: 0 15px 30px -5px rgba(139, 92, 246, 0.5);
}

/* Tooltip */
.social-tooltip {
  position: absolute;
  top: -2.5rem;
  left: 50%;
  transform: translateX(-50%);
  background: rgba(0, 0, 0, 0.9);
  color: #fff;
  padding: 0.375rem 0.75rem;
  border-radius: 0.5rem;
  font-size: 0.75rem;
  font-weight: 600;
  white-space: nowrap;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s ease;
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
  z-index: 10;
}

.social-icon-link:hover .social-tooltip {
  opacity: 1;
}

[data-bs-theme="dark"] .social-tooltip {
  background: rgba(255, 255, 255, 0.95);
  color: #000;
}

/* Responsive */
@media (min-width: 576px) {
  .social-icon-card {
    width: 64px;
    height: 64px;
  }

  .social-icon-card i {
    font-size: 1.75rem;
  }
}

@media (max-width: 575.98px) {
  .social-icon-card {
    width: 52px;
    height: 52px;
  }

  .social-icon-card i {
    font-size: 1.25rem;
  }
}
/* Scroll Offset for Sticky Header */
section[id] {
  scroll-margin-top: 80px;
}

/* Smooth scroll behavior */
html {
  scroll-behavior: smooth;
}

/* ===================================
   Experience Section - Timeline Styles
   (Consolidated from experience-toolsuses.css)
=================================== */
.timeline-container-custom {
  padding-left: 0;
}

@media (min-width: 768px) {
  .timeline-container-custom {
    padding-left: 3.5rem;
  }

  .timeline-track-custom {
    position: absolute;
    left: 1rem;
    top: 3.8rem;
    bottom: 2rem;
    width: 2px;
    background: rgba(0, 0, 0, 0.1);
  }

  [data-bs-theme="dark"] .timeline-track-custom {
    background: rgba(250, 250, 250, 0.1);
  }

  .timeline-dot-custom {
    position: absolute;
    left: -47px;
    top: 3.25rem;
    width: 1rem;
    height: 1rem;
    border-radius: 50%;
    background: rgba(0, 0, 0, 0.1);
    border: 3px solid #f2f2f2;
    transition: all 0.3s ease;
    z-index: 10;
  }

  [data-bs-theme="dark"] .timeline-dot-custom {
    background: rgba(250, 250, 250, 0.1);
    border-color: #0a0a0c;
  }

  .experience-item-custom:hover .timeline-dot-custom {
    background: var(--bs-themecolor);
    transform: scale(1.5);
    box-shadow: 0 0 0 4px rgba(var(--bs-themecolor-rgb), 0.2);
  }
}

.experience-card-custom {
  background: #fff;
  border-radius: 1.2rem;
  padding: 2rem;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
  transition: all 0.3s ease;
  border: 1px solid transparent;
}

[data-bs-theme="dark"] .experience-card-custom {
  background: #1a202c;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.2);
}

.experience-card-custom:hover {
  transform: translateY(-4px);
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
  border-color: rgba(var(--bs-themecolor-rgb), 0.2);
}

[data-bs-theme="dark"] .experience-card-custom:hover {
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.4);
  border-color: rgba(var(--bs-themecolor-rgb), 0.3);
}

@media (min-width: 768px) {
  .experience-arrow-custom {
    position: absolute;
    top: 3rem;
    left: -0.75rem;
    width: 1.5rem;
    height: 1.5rem;
    background: #fff;
    border-left: 1px solid transparent;
    border-bottom: 1px solid transparent;
    transform: rotate(45deg);
    transition: all 0.3s ease;
  }

  [data-bs-theme="dark"] .experience-arrow-custom {
    background: #1a202c;
  }

  .experience-card-custom:hover .experience-arrow-custom {
    border-left-color: rgba(var(--bs-themecolor-rgb), 0.2);
    border-bottom-color: rgba(var(--bs-themecolor-rgb), 0.2);
  }

  [data-bs-theme="dark"]
    .experience-card-custom:hover
    .experience-arrow-custom {
    border-left-color: rgba(var(--bs-themecolor-rgb), 0.3);
    border-bottom-color: rgba(var(--bs-themecolor-rgb), 0.3);
  }
}

.badge-time-active {
  display: inline-flex;
  align-items: center;
  padding: 0.4rem 0.9rem;
  border-radius: 2rem;
  font-size: 0.875rem;
  font-weight: 600;
  background: rgba(var(--bs-themecolor-rgb), 0.1);
  color: var(--bs-themecolor);
  white-space: nowrap;
  column-gap: 3px;
}

.badge-time-past {
  display: inline-flex;
  align-items: center;
  padding: 0.4rem 0.9rem;
  border-radius: 2rem;
  font-size: 0.875rem;
  font-weight: 600;
  background: rgba(0, 0, 0, 0.05);
  color: var(--bs-secondary-color);
  white-space: nowrap;
  column-gap: 3px;
}

[data-bs-theme="dark"] .badge-time-past {
  background: rgba(250, 250, 250, 0.08);
  color: var(--bs-secondary-color);
}

.experience-list-custom {
  list-style: none;
  padding: 0;
  margin: 0;
}

.experience-list-custom li {
  padding: 0.5rem 0;
  padding-left: 1.75rem;
  position: relative;
  line-height: 1.6;
}

.experience-list-custom li span {
  position: absolute;
  left: 0;
  top: 0.5rem;
  font-size: 1.1rem;
}

.border-start-muted {
  border-color: rgba(0, 0, 0, 0.1) !important;
  transition: border-color 0.3s ease;
}

[data-bs-theme="dark"] .border-start-muted {
  border-color: rgba(250, 250, 250, 0.1) !important;
}

.experience-card-custom:hover .border-start-muted {
  border-color: rgba(var(--bs-themecolor-rgb), 0.2) !important;
}

/* ===================================
   Tools Section Styles
=================================== */
.tools-bg-blob {
  position: absolute;
  width: 400px;
  height: 400px;
  border-radius: 50%;
  filter: blur(120px);
  pointer-events: none;
  opacity: 0.6;
  z-index: 0;
}

.tools-bg-blob-1 {
  top: -100px;
  left: -100px;
  background: rgba(var(--bs-themecolor-rgb), 0.08);
}

.tools-bg-blob-2 {
  bottom: -100px;
  right: -100px;
  background: rgba(124, 58, 237, 0.08);
}

.tool-card-custom {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 1rem;
  padding: 2rem 1.5rem;
  background: #fff;
  border-radius: 1.2rem;
  border: 1px solid rgba(0, 0, 0, 0.06);
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.03);
  transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
  cursor: default;
}

[data-bs-theme="dark"] .tool-card-custom {
  background: #1a202c;
  border-color: rgba(250, 250, 250, 0.08);
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.2);
}

.tool-card-custom:hover {
  transform: translateY(-8px);
  box-shadow: 0 15px 40px rgba(0, 0, 0, 0.08);
  border-color: rgba(var(--bs-themecolor-rgb), 0.2);
}

[data-bs-theme="dark"] .tool-card-custom:hover {
  box-shadow: 0 15px 40px rgba(0, 0, 0, 0.4);
  border-color: rgba(var(--bs-themecolor-rgb), 0.3);
}

.tool-icon-wrapper {
  position: relative;
  width: 80px;
  height: 80px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 1.25rem;
  background: rgba(0, 0, 0, 0.03);
  transition: all 0.3s ease;
}

[data-bs-theme="dark"] .tool-icon-wrapper {
  background: rgba(250, 250, 250, 0.05);
}

.tool-icon-wrapper .material-symbols-outlined {
  font-size: 40px;
  color: var(--bs-secondary-color);
  transition: all 0.3s ease;
  font-variation-settings:
    "FILL" 0,
    "wght" 300,
    "GRAD" 0,
    "opsz" 24;
}

.tool-card-custom:hover .tool-icon-wrapper .material-symbols-outlined {
  font-variation-settings:
    "FILL" 1,
    "wght" 400,
    "GRAD" 0,
    "opsz" 24;
}

.tool-icon-ring {
  position: absolute;
  inset: 0;
  border-radius: 1.25rem;
  border: 2px solid transparent;
  transition: all 0.5s ease;
}

.tool-title {
  font-size: 1.125rem;
  font-weight: 700;
  margin: 0;
  transition: color 0.3s ease;
}

.tool-category {
  font-family: var(--bs-body-font-family);
  font-size: 0.75rem;
  font-weight: 500;
  letter-spacing: 0.05em;
  color: var(--bs-secondary-color);
  margin: 0;
}

/* Tool Color Variants */
.tool-icon-primary .material-symbols-outlined {
  color: #6c757d;
}
.tool-card-custom:hover .tool-icon-primary {
  background: rgba(var(--bs-themecolor-rgb), 0.08);
}
.tool-card-custom:hover .tool-icon-primary .material-symbols-outlined {
  color: var(--bs-themecolor);
}
.tool-card-custom:hover .tool-icon-primary .tool-icon-ring {
  border-color: rgba(var(--bs-themecolor-rgb), 0.2);
}
.tool-card-custom:hover .tool-title {
  color: var(--bs-themecolor);
}

.tool-icon-pink .material-symbols-outlined {
  color: #6c757d;
}
.tool-card-custom:hover .tool-icon-pink {
  background: rgba(236, 72, 153, 0.08);
}
.tool-card-custom:hover .tool-icon-pink .material-symbols-outlined {
  color: #ec4899;
}
.tool-card-custom:hover .tool-icon-pink .tool-icon-ring {
  border-color: rgba(236, 72, 153, 0.2);
}
.tool-card-custom:hover .tool-title-pink {
  color: #ec4899;
}

.tool-icon-indigo .material-symbols-outlined {
  color: #6c757d;
}
.tool-card-custom:hover .tool-icon-indigo {
  background: rgba(99, 102, 241, 0.08);
}
.tool-card-custom:hover .tool-icon-indigo .material-symbols-outlined {
  color: #6366f1;
}
.tool-card-custom:hover .tool-icon-indigo .tool-icon-ring {
  border-color: rgba(99, 102, 241, 0.2);
}
.tool-card-custom:hover .tool-title-indigo {
  color: #6366f1;
}

.tool-icon-orange .material-symbols-outlined {
  color: #6c757d;
}
.tool-card-custom:hover .tool-icon-orange {
  background: rgba(249, 115, 22, 0.08);
}
.tool-card-custom:hover .tool-icon-orange .material-symbols-outlined {
  color: #f97316;
}
.tool-card-custom:hover .tool-icon-orange .tool-icon-ring {
  border-color: rgba(249, 115, 22, 0.2);
}
.tool-card-custom:hover .tool-title-orange {
  color: #f97316;
}

.tool-icon-dark .material-symbols-outlined {
  color: #6c757d;
}
.tool-card-custom:hover .tool-icon-dark {
  background: rgba(30, 41, 59, 0.08);
}
.tool-card-custom:hover .tool-icon-dark .material-symbols-outlined {
  color: #1e293b;
}
.tool-card-custom:hover .tool-icon-dark .tool-icon-ring {
  border-color: rgba(30, 41, 59, 0.2);
}
.tool-card-custom:hover .tool-title-dark {
  color: #1e293b;
}

[data-bs-theme="dark"] .tool-card-custom:hover .tool-icon-dark {
  background: rgba(250, 250, 250, 0.1);
}
[data-bs-theme="dark"]
  .tool-card-custom:hover
  .tool-icon-dark
  .material-symbols-outlined {
  color: #fff;
}
[data-bs-theme="dark"] .tool-card-custom:hover .tool-icon-dark .tool-icon-ring {
  border-color: rgba(250, 250, 250, 0.2);
}
[data-bs-theme="dark"] .tool-card-custom:hover .tool-title-dark {
  color: #fff;
}

.tool-icon-purple .material-symbols-outlined {
  color: #6c757d;
}
.tool-card-custom:hover .tool-icon-purple {
  background: rgba(168, 85, 247, 0.08);
}
.tool-card-custom:hover .tool-icon-purple .material-symbols-outlined {
  color: #a855f7;
}
.tool-card-custom:hover .tool-icon-purple .tool-icon-ring {
  border-color: rgba(168, 85, 247, 0.2);
}
.tool-card-custom:hover .tool-title-purple {
  color: #a855f7;
}

.tool-icon-blue .material-symbols-outlined {
  color: #6c757d;
}
.tool-card-custom:hover .tool-icon-blue {
  background: rgba(59, 130, 246, 0.08);
}
.tool-card-custom:hover .tool-icon-blue .material-symbols-outlined {
  color: #3b82f6;
}
.tool-card-custom:hover .tool-icon-blue .tool-icon-ring {
  border-color: rgba(59, 130, 246, 0.2);
}
.tool-card-custom:hover .tool-title-blue {
  color: #3b82f6;
}

.tool-icon-teal .material-symbols-outlined {
  color: #6c757d;
}
.tool-card-custom:hover .tool-icon-teal {
  background: rgba(20, 184, 166, 0.08);
}
.tool-card-custom:hover .tool-icon-teal .material-symbols-outlined {
  color: #14b8a6;
}
.tool-card-custom:hover .tool-icon-teal .tool-icon-ring {
  border-color: rgba(20, 184, 166, 0.2);
}
.tool-card-custom:hover .tool-title-teal {
  color: #14b8a6;
}

/* Contact Form Loading State */
#submit-btn:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}

#submit-btn .spinner-border-sm {
  width: 1rem;
  height: 1rem;
  border-width: 0.15em;
}
/* ===================================
   Theme Color - Yellow (Alternative)
   (Consolidated from color-yellow.css)
=================================== */

/* Uncomment below to switch to yellow theme */

/*
:root,
[data-bs-theme="light"] {
  --bs-themecolor: #ffc107;
  --bs-themecolor-rgb: 255, 193, 7;
  --bs-themehovercolor: #e2aa00;
  --bs-themehovercolor-rgb: 226.3, 169.725, 0;
}

[data-bs-theme="dark"] {
  --bs-themecolor: #ffc107;
  --bs-themecolor-rgb: 255, 193, 7;
  --bs-themehovercolor: #e2aa00;
  --bs-themehovercolor-rgb: 226.3, 169.725, 0;
}

.btn-primary {
  --bs-btn-color: var(--bs-black);
  --bs-btn-hover-color: var(--bs-black);
}

.btn-outline-primary {
  --bs-btn-hover-color: var(--bs-black);
}

.pagination {
  --bs-pagination-active-color: var(--bs-black);
}
*/

/* ============================================
   COMPREHENSIVE DARK MODE FIXES - V2
   Based on screenshot analysis
   Add these to the END of your stylesheet.css
   ============================================ */

/* ===================================
   FIX 1: CAPABILITY CARDS (WHITE CARDS IN SCREENSHOT)
   The big cards with "Design Arsenal", "User Experience", "Graphic Design"
   =================================== */

/* Force all capability cards to be dark */
[data-bs-theme="dark"] .capability-card,
[data-bs-theme="dark"] .capabilities-modern .capability-card,
[data-bs-theme="dark"] #services .capability-card {
  background: #1a1a1c !important;
  border: 1px solid rgba(255, 255, 255, 0.05) !important;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3) !important;
}

/* Capability card hover state */
[data-bs-theme="dark"] .capability-card:hover,
[data-bs-theme="dark"] .capabilities-modern .capability-card:hover,
[data-bs-theme="dark"] #services .capability-card:hover {
  border-color: rgba(255, 193, 7, 0.3) !important;
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.5) !important;
  transform: translateY(-4px);
}

/* Capability card text */
[data-bs-theme="dark"] .capability-card h3,
[data-bs-theme="dark"] .capability-card h4,
[data-bs-theme="dark"] .capability-card p {
  color: #e0e0e0 !important;
}

/* Capability card paragraph specifically */
[data-bs-theme="dark"] .capability-card p {
  color: rgba(255, 255, 255, 0.75) !important;
}

/* ===================================
   FIX 2: CAPABILITY ICON WRAPPERS
   =================================== */

/* Icon wrapper backgrounds */
[data-bs-theme="dark"] .capability-icon-wrapper {
  background: rgba(255, 193, 7, 0.03) !important;
}

/* Icon decoration elements */
[data-bs-theme="dark"] .icon-decoration-1 {
  background: #2a2a2c !important;
  opacity: 0.8;
}

[data-bs-theme="dark"] .icon-decoration-2 {
  background: rgba(255, 193, 7, 0.05) !important;
  border-color: rgba(255, 193, 7, 0.2) !important;
}

/* Material symbols icons in capability cards */
[data-bs-theme="dark"] .capability-icon .material-symbols-outlined {
  color: #ffc107 !important;
}

/* ===================================
   FIX 3: CAPABILITY TAGS
   =================================== */

/* Tags at bottom of capability cards (Figma, Design Systems, etc.) */
[data-bs-theme="dark"] .capability-tag {
  background: rgba(255, 193, 7, 0.1) !important;
  color: #ffc107 !important;
  border: 1px solid rgba(255, 193, 7, 0.2) !important;
  padding: 0.375rem 0.75rem;
  border-radius: 0.375rem;
}

[data-bs-theme="dark"] .capability-tag:hover {
  background: rgba(255, 193, 7, 0.15) !important;
  border-color: rgba(255, 193, 7, 0.3) !important;
}

/* ===================================
   FIX 4: INLINE GRADIENT BACKGROUNDS IN CAPABILITY CARDS
   =================================== */

/* These are the gradient backgrounds inside capability cards */
[data-bs-theme="dark"] .capability-icon-wrapper > div[style*="gradient"] {
  background: linear-gradient(
    135deg,
    rgba(255, 193, 7, 0.05) 0%,
    transparent 100%
  ) !important;
}

/* Decorative lines and dots in cards */
[data-bs-theme="dark"]
  .capability-icon-wrapper
  > div[style*="background: rgba"] {
  background: rgba(255, 193, 7, 0.15) !important;
}

/* ===================================
   FIX 5: ACHIEVEMENTS SECTION
   =================================== */

/* Achievement items/cards */
[data-bs-theme="dark"] .achievement-item,
[data-bs-theme="dark"] .achievement-card {
  background: #1a1a1c !important;
  border: 1px solid rgba(255, 255, 255, 0.05) !important;
  color: #e0e0e0 !important;
}

/* Achievement text */
[data-bs-theme="dark"] .achievement-item p,
[data-bs-theme="dark"] .achievement-item span,
[data-bs-theme="dark"] .achievement-card p,
[data-bs-theme="dark"] .achievement-card span {
  color: rgba(255, 255, 255, 0.75) !important;
}

/* Achievement titles */
[data-bs-theme="dark"] .achievement-item h3,
[data-bs-theme="dark"] .achievement-item h4,
[data-bs-theme="dark"] .achievement-card h3,
[data-bs-theme="dark"] .achievement-card h4 {
  color: #e0e0e0 !important;
}

/* Achievement dates/years */
[data-bs-theme="dark"] .achievement-date,
[data-bs-theme="dark"] .achievement-year {
  color: #ffc107 !important;
}

/* ===================================
   FIX 6: ALL SECTION BACKGROUNDS
   =================================== */

/* Ensure all sections respect dark mode */
[data-bs-theme="dark"] .section {
  background: transparent !important;
}

[data-bs-theme="dark"] .section.bg-light {
  background: rgba(255, 255, 255, 0.02) !important;
}

/* ===================================
   FIX 7: SPECIFIC INLINE STYLES OVERRIDE
   =================================== */

/* Override any inline styles for backgrounds in dark mode */
[data-bs-theme="dark"] div[style*="background: white"],
[data-bs-theme="dark"] div[style*="background: #fff"],
[data-bs-theme="dark"] div[style*="background: #ffffff"],
[data-bs-theme="dark"] div[style*="background-color: white"],
[data-bs-theme="dark"] div[style*="background-color: #fff"],
[data-bs-theme="dark"] div[style*="background-color: #ffffff"] {
  background: #1a1a1c !important;
  background-color: #1a1a1c !important;
}

/* ===================================
   FIX 8: PURPLE ICON COLORS TO AMBER
   =================================== */

/* Change all purple icons to amber in dark mode */
[data-bs-theme="dark"] .material-symbols-outlined[style*="color: #8b5cf6"],
[data-bs-theme="dark"]
  .material-symbols-outlined[style*="color: rgb(139, 92, 246)"] {
  color: #ffc107 !important;
}

/* Icon wrappers with purple theme */
[data-bs-theme="dark"] [style*="color: #8b5cf6"] {
  color: #ffc107 !important;
}

/* ===================================
   FIX 9: CARD ROUNDED CORNERS
   =================================== */

/* Ensure rounded corners are visible in dark mode */
[data-bs-theme="dark"] .rounded-4,
[data-bs-theme="dark"] .capability-card.rounded-4 {
  border-radius: 1.2rem !important;
}

/* ===================================
   FIX 10: TEXT IN ALL CAPABILITY SECTIONS
   =================================== */

/* All text inside capability/service sections */
[data-bs-theme="dark"] #services h1,
[data-bs-theme="dark"] #services h2,
[data-bs-theme="dark"] #services h3,
[data-bs-theme="dark"] #services h4,
[data-bs-theme="dark"] #services h5,
[data-bs-theme="dark"] #services h6 {
  color: #e0e0e0 !important;
}

[data-bs-theme="dark"] #services p,
[data-bs-theme="dark"] #services span,
[data-bs-theme="dark"] #services li {
  color: rgba(255, 255, 255, 0.75) !important;
}

/* ===================================
   FIX 11: DOWNLOAD RESUME BUTTON
   =================================== */

/* The yellow/amber button */
[data-bs-theme="dark"] .btn-warning,
[data-bs-theme="dark"] .btn-primary {
  background: #ffc107 !important;
  border-color: #ffc107 !important;
  color: #0a0a0c !important;
  font-weight: 600;
}

[data-bs-theme="dark"] .btn-warning:hover,
[data-bs-theme="dark"] .btn-primary:hover {
  background: #e2aa00 !important;
  border-color: #e2aa00 !important;
  color: #0a0a0c !important;
}

/* ===================================
   FIX 12: STATS/COUNTER SECTION
   (The 2+, 1+, 1+, 11% section in About)
   =================================== */

[data-bs-theme="dark"] .counter {
  color: #ffc107 !important;
}

[data-bs-theme="dark"] .text-15 {
  color: #ffc107 !important;
}

/* ===================================
   FIX 13: CONTACT SECTION TEXT
   =================================== */

[data-bs-theme="dark"] #contact h1,
[data-bs-theme="dark"] #contact h2,
[data-bs-theme="dark"] #contact h3,
[data-bs-theme="dark"] #contact p {
  color: #e0e0e0 !important;
}

[data-bs-theme="dark"] #contact .text-muted {
  color: rgba(255, 255, 255, 0.6) !important;
}

/* ===================================
   FIX 14: SOCIAL MEDIA ICONS AT BOTTOM
   =================================== */

[data-bs-theme="dark"] .social-icons li a {
  background: rgba(255, 255, 255, 0.05) !important;
  color: #e0e0e0 !important;
  border: 1px solid rgba(255, 255, 255, 0.1) !important;
}

[data-bs-theme="dark"] .social-icons li a:hover {
  background: #ffc107 !important;
  border-color: #ffc107 !important;
  color: #0a0a0c !important;
  transform: translateY(-3px);
}

/* ===================================
   FIX 15: SPECIFIC FIX FOR THE THREE WHITE CARDS
   Based on screenshot - these seem to be using different class names
   =================================== */

/* Try multiple possible class combinations */
[data-bs-theme="dark"] .card,
[data-bs-theme="dark"] .service-card,
[data-bs-theme="dark"] .capability-item,
[data-bs-theme="dark"] .service-item {
  background: #1a1a1c !important;
  border: 1px solid rgba(255, 255, 255, 0.05) !important;
  color: #e0e0e0 !important;
}

/* Bootstrap default card in dark mode */
[data-bs-theme="dark"] .card {
  background-color: #1a1a1c !important;
  border-color: rgba(255, 255, 255, 0.05) !important;
}

[data-bs-theme="dark"] .card-body {
  background-color: transparent !important;
  color: #e0e0e0 !important;
}

[data-bs-theme="dark"] .card-title {
  color: #e0e0e0 !important;
}

[data-bs-theme="dark"] .card-text {
  color: rgba(255, 255, 255, 0.75) !important;
}

/* ===================================
   FIX 16: ANY REMAINING WHITE BACKGROUNDS
   Nuclear option - catches everything
   =================================== */

/* This targets ANY div with white/light background */
[data-bs-theme="dark"] #services div[class*="card"],
[data-bs-theme="dark"] #services div[class*="box"],
[data-bs-theme="dark"] #services div[class*="item"],
[data-bs-theme="dark"] .capabilities-modern div[class*="card"],
[data-bs-theme="dark"] .capabilities-modern div[class*="box"] {
  background: #1a1a1c !important;
}

/* ===================================
   FIX 17: FLEXBOX CONTENT INSIDE CARDS
   =================================== */

[data-bs-theme="dark"] .capability-card .d-flex,
[data-bs-theme="dark"] .capability-card > div {
  background: transparent !important;
}

/* Ensure the content area of cards is transparent */
[data-bs-theme="dark"] .capability-card .p-4 {
  background: transparent !important;
}

/* ===================================
   FIX 18: BORDER AND SHADOW FIXES FOR CARDS
   =================================== */

/* Remove any light-colored borders */
[data-bs-theme="dark"] .capability-card,
[data-bs-theme="dark"] .card {
  border: 1px solid rgba(255, 255, 255, 0.05) !important;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.4) !important;
}

/* ===================================
   FIX 19: OVERFLOW AND POSITIONING FIXES
   =================================== */

/* Ensure overflow doesn't cause issues */
[data-bs-theme="dark"] .capability-card.overflow-hidden,
[data-bs-theme="dark"] .card.overflow-hidden {
  background: #1a1a1c !important;
}

/* ===================================
   FIX 20: H-100 (FULL HEIGHT) CARDS
   =================================== */

[data-bs-theme="dark"] .h-100.capability-card,
[data-bs-theme="dark"] .h-100.card {
  background: #1a1a1c !important;
}

/* ===================================
   FIX 21: ROW AND COLUMN BACKGROUNDS
   =================================== */

/* Make sure row/col don't have conflicting backgrounds */
[data-bs-theme="dark"] .capabilities-modern .row,
[data-bs-theme="dark"] .capabilities-modern .col-12,
[data-bs-theme="dark"] .capabilities-modern .col-lg-6 {
  background: transparent !important;
}

/* ===================================
   FIX 22: GRADIENT BLOB BACKGROUNDS
   =================================== */

[data-bs-theme="dark"] .gradient-blob-1 {
  background: rgba(255, 193, 7, 0.03) !important;
}

[data-bs-theme="dark"] .gradient-blob-2 {
  background: rgba(255, 193, 7, 0.02) !important;
}

/* ===================================
   FIX 23: GRID PATTERN BACKGROUND
   =================================== */

[data-bs-theme="dark"] .bg-grid-pattern {
  background-image: radial-gradient(
    rgba(255, 193, 7, 0.08) 1px,
    transparent 1px
  ) !important;
}

/* ===================================
   FIX 24: ADDITIONAL CAPABILITY CARD TEXT FIXES
   =================================== */

/* Ensure ALL text colors are correct */
[data-bs-theme="dark"] .capability-card h3,
[data-bs-theme="dark"] .capability-card h4,
[data-bs-theme="dark"] .capability-card .text-7,
[data-bs-theme="dark"] .capability-card .text-6 {
  color: #e0e0e0 !important;
}

[data-bs-theme="dark"] .capability-card p,
[data-bs-theme="dark"] .capability-card .mb-4 {
  color: rgba(255, 255, 255, 0.75) !important;
}

/* ===================================
   END OF FIXES
   =================================== */

/* Debug helper - uncomment to see which elements aren't styled */
/*
[data-bs-theme="dark"] * {
  outline: 1px solid red !important;
}
*/

/* ===================================
   CRITICAL FIXES FOR PORTFOLIO
   =================================== */

/* ===================================
   FIX 1: SMOOTH THEME TRANSITIONS
   =================================== */

body,
html {
  transition:
    background-color 0.3s ease,
    color 0.3s ease !important;
}

* {
  transition:
    background-color 0.3s ease,
    color 0.3s ease,
    border-color 0.3s ease,
    box-shadow 0.3s ease;
}

.theme-transitioning * {
  transition: none !important;
}

body {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
}

/* ===================================
   FIX 2: CURSOR VISIBILITY
   =================================== */

#magicMouseCursor {
  position: fixed;
  width: 35px;
  height: 35px;
  border: 2px solid var(--cursor-color);
  border-radius: 50%;
  z-index: 9999;
  left: 0;
  top: 0;
  transform-origin: center center;
  transition:
    transform 0.1s ease-out,
    border-color 0.3s ease;
  pointer-events: none;
  will-change: transform;
}

[data-bs-theme="light"] #magicMouseCursor {
  border-color: #000000 !important;
  box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.3);
}

[data-bs-theme="dark"] #magicMouseCursor {
  border-color: #ffffff !important;
  box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.3);
}

#magicPointer {
  height: 6px;
  width: 6px;
  top: 0;
  left: 0;
  position: fixed;
  background: var(--cursor-color);
  border-radius: 50%;
  pointer-events: none;
  transition:
    background-color 0.3s ease,
    transform 0.05s ease-out;
  will-change: transform;
  z-index: 10000;
}

[data-bs-theme="light"] #magicPointer {
  background-color: #000000 !important;
}

[data-bs-theme="dark"] #magicPointer {
  background-color: #ffffff !important;
}

a,
button,
input,
textarea,
select,
[role="button"],
.btn,
.clickable {
  cursor: pointer !important;
}

/* ===================================
   FIX 3: DARK MODE READABILITY
   =================================== */

[data-bs-theme="dark"] {
  --bs-body-color: #e8e8e8;
  --bs-body-color-rgb: 232, 232, 232;
  --bs-heading-color: #ffffff;
  --bs-secondary-color: #b8b8b8;
  --bs-tertiary-color: #a0a0a0;
}

[data-bs-theme="dark"] body {
  color: #e8e8e8;
  background-color: #0a0a0c;
}

[data-bs-theme="dark"] h1:not(.text-primary),
[data-bs-theme="dark"] h2:not(.text-primary),
[data-bs-theme="dark"] h3:not(.text-primary),
[data-bs-theme="dark"] h4:not(.text-primary),
[data-bs-theme="dark"] h5:not(.text-primary),
[data-bs-theme="dark"] h6:not(.text-primary) {
  color: #ffffff !important;
}
[data-bs-theme="dark"] p,
[data-bs-theme="dark"] span,
[data-bs-theme="dark"] li,
[data-bs-theme="dark"] td,
[data-bs-theme="dark"] th {
  color: #e8e8e8;
}

[data-bs-theme="dark"] .text-secondary,
[data-bs-theme="dark"] .text-body-secondary,
[data-bs-theme="dark"] .text-muted {
  color: #b8b8b8 !important;
}

[data-bs-theme="dark"] .card,
[data-bs-theme="dark"] .bg-white {
  background-color: #1a1a1c !important;
  color: #e8e8e8;
}

[data-bs-theme="dark"] .border,
[data-bs-theme="dark"] .border-top,
[data-bs-theme="dark"] .border-bottom,
[data-bs-theme="dark"] .border-start,
[data-bs-theme="dark"] .border-end {
  border-color: #333333 !important;
}

/* ===================================
   FIX 4: TOGGLE ANIMATION
   =================================== */

.switch__input {
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.switch__input:checked ~ .switch__fill {
  transform: translateX(100%);
  transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.switch svg {
  transition:
    opacity 0.2s ease,
    transform 0.2s ease;
  will-change: opacity, transform;
}

[data-bs-theme="light"] .switch svg use[href="#dark"] {
  opacity: 0;
  transform: scale(0.8) rotate(-30deg);
}

[data-bs-theme="light"] .switch svg use[href="#light"] {
  opacity: 1;
  transform: scale(1) rotate(0deg);
}

[data-bs-theme="dark"] .switch svg use[href="#light"] {
  opacity: 0;
  transform: scale(0.8) rotate(30deg);
}

[data-bs-theme="dark"] .switch svg use[href="#dark"] {
  opacity: 1;
  transform: scale(1) rotate(0deg);
}

/* ===================================
   FIX 5: PERFORMANCE OPTIMIZATIONS
   =================================== */

#magicMouseCursor,
#magicPointer {
  transform: translateZ(0);
  backface-visibility: hidden;
  perspective: 1000px;
}

* {
  transition-property:
    background-color, color, border-color, box-shadow, opacity, transform;
  transition-duration: 0.3s;
  transition-timing-function: ease;
}

.preload * {
  transition: none !important;
}

/* ===================================
   FIX 6: QUICK CHAT BUTTON
   =================================== */

.quick-chat {
  color: var(--cursor-color);
  border-color: var(--cursor-color);
}

[data-bs-theme="light"] .quick-chat {
  color: #000000;
  border-color: #000000;
}

[data-bs-theme="dark"] .quick-chat {
  color: #ffffff;
  border-color: #ffffff;
}

.quick-chat a {
  color: inherit;
}

/* ===================================
   END OF CRITICAL FIXES
   =================================== */

/* ===================================
   FIX: PROJECT LINKS CLICKABLE
   =================================== */

/* Override cursor: none to allow clicks */
body {
  cursor: auto !important;
}

html,
html * {
  cursor: auto !important;
}

/* Ensure all clickable elements work */
a,
button,
input,
textarea,
select,
[role="button"],
.btn,
.clickable,
.portfolio-overlay,
.portfolio-box,
.stretched-link,
[onclick],
[data-bs-toggle],
[href] {
  cursor: pointer !important;
  pointer-events: auto !important;
}

/* Make portfolio links clickable and on top */
.portfolio-overlay a.stretched-link {
  cursor: pointer !important;
  pointer-events: auto !important;
  z-index: 1000 !important;
}

/* Keep custom cursor visible but not blocking */
#magicMouseCursor,
#magicPointer {
  pointer-events: none !important;
}

/* ===================================
   END FIX
   =================================== */

/* ===================================
   FIX: PROJECTS CLICKABLE + CURSOR
   =================================== */

/* Override cursor: none */
body,
html,
* {
  cursor: auto !important;
}

/* Make all links work */
a,
button,
input,
textarea,
select,
[role="button"],
.btn,
.clickable,
[href] {
  cursor: pointer !important;
  pointer-events: auto !important;
}

/* Ensure portfolio links are clickable */
.portfolio-overlay {
  cursor: pointer !important;
  pointer-events: auto !important;
}

.portfolio-overlay a,
.portfolio-overlay a.stretched-link {
  cursor: pointer !important;
  pointer-events: auto !important;
  z-index: 1000 !important;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
}

/* Keep custom cursor visible but not blocking */
#magicMouseCursor,
#magicPointer {
  pointer-events: none !important;
  z-index: 9999 !important;
}

/* ===================================
   END FIX
   =================================== */

/* Show light image in light mode, hide dark image */
[data-bs-theme="light"] .projects-light-img {
  display: block;
}

[data-bs-theme="light"] .projects-dark-img {
  display: none;
}

/* Show dark image in dark mode, hide light image */
[data-bs-theme="dark"] .projects-light-img {
  display: none;
}

[data-bs-theme="dark"] .projects-dark-img {
  display: block;
}

/* Freelancing card - Match amber theme in dark mode */
[data-bs-theme="dark"] .freelance-card {
  border-color: rgba(255, 193, 7, 0.2);
}

[data-bs-theme="dark"] .freelance-card:hover {
  border-color: rgba(255, 193, 7, 0.4);
}

[data-bs-theme="dark"] .freelance-icon {
  background: rgba(255, 193, 7, 0.1) !important;
  border-color: rgba(255, 193, 7, 0.3) !important;
}

[data-bs-theme="dark"] .start-project-btn {
  color: #ffc107 !important;
}

[data-bs-theme="dark"] .start-project-btn:hover {
  color: #e2aa00 !important;
}

/* Freelancing icon - Override inline styles in dark mode */
[data-bs-theme="dark"] .freelance-card .capability-icon {
  background: linear-gradient(135deg, #ffc107 0%, #e2aa00 100%) !important;
  box-shadow: 0 10px 30px rgba(255, 193, 7, 0.4) !important;
}

[data-bs-theme="dark"]
  .freelance-card
  .capability-icon
  .material-symbols-outlined {
  color: #1f2937 !important;
}

/* Twitter/X tile - White outline in dark mode */
[data-bs-theme="dark"] .social-x {
  border: 0.5px solid #3f3f3f !important;
}

/* ===================================
   Badges Section Styles
   =================================== */

/* ===================================
   Badges Section Styles
   =================================== */

/* Badge Container */
#badges {
  position: relative;
  overflow: hidden;
}

/* Dot Pattern Background */
.badges-dot-pattern {
  position: absolute;
  inset: 0;
  background-image: radial-gradient(rgba(102, 16, 242, 0.08) 1px, transparent 1px);
  background-size: 24px 24px;
  opacity: 0.5;
  pointer-events: none;
}

[data-bs-theme="dark"] .badges-dot-pattern {
  background-image: radial-gradient(rgba(255, 193, 7, 0.08) 1px, transparent 1px);
}

/* Badge Card - 3D Flip Animation */
.badge-card {
  perspective: 1000px;
  height: 320px;
  cursor: pointer;
}

.badge-inner {
  position: relative;
  width: 100%;
  height: 100%;
  transition: transform 0.7s cubic-bezier(0.4, 0, 0.2, 1);
  transform-style: preserve-3d;
}

.badge-card:hover .badge-inner {
  transform: rotateY(180deg);
}

/* Front and Back Face */
.badge-front,
.badge-back {
  position: absolute;
  width: 100%;
  height: 100%;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  border-radius: 1.2rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: space-between;
  padding: 2rem 1.5rem;
  text-align: center;
}

/* Front Face Styles */
.badge-front {
  background: #ffffff;
  border: 1px solid #e5e7eb;
  box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1);
  transition: all 0.3s ease;
}

[data-bs-theme="dark"] .badge-front {
  background: #1f2937;
  border: 1px solid #374151;
}

.badge-card:hover .badge-front {
  box-shadow: 0 10px 30px -5px rgba(102, 16, 242, 0.15);
}

[data-bs-theme="dark"] .badge-card:hover .badge-front {
  box-shadow: 0 10px 30px -5px rgba(255, 193, 7, 0.15);
}

/* Back Face Styles */
.badge-back {
  background: linear-gradient(135deg, #6610f2 0%, #510bc4 100%);
  border: 1px solid rgba(102, 16, 242, 0.3);
  box-shadow: 0 25px 50px -12px rgba(102, 16, 242, 0.4);
  transform: rotateY(180deg);
  justify-content: center;
}

[data-bs-theme="dark"] .badge-back {
  background: linear-gradient(135deg, #ffc107 0%, #e2aa00 100%);
  border: 1px solid rgba(255, 193, 7, 0.3);
  box-shadow: 0 25px 50px -12px rgba(255, 193, 7, 0.4);
}

/* Badge Icon/Image Container - NO BORDER, BIGGER SIZE, NO CROPPING */
.badge-icon-wrapper {
  width: 120px;
  height: 120px;
  border-radius: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  transition: transform 0.3s ease;
  background: transparent !important;
  border: none !important;
  overflow: visible;
}

.badge-card:hover .badge-icon-wrapper {
  transform: scale(1.08);
}

/* Remove all icon color variant backgrounds and borders */
.badge-icon-wrapper.indigo,
.badge-icon-wrapper.fuchsia,
.badge-icon-wrapper.blue,
.badge-icon-wrapper.orange,
.badge-icon-wrapper.emerald {
  background: transparent !important;
  border: none !important;
}

[data-bs-theme="dark"] .badge-icon-wrapper.indigo,
[data-bs-theme="dark"] .badge-icon-wrapper.fuchsia,
[data-bs-theme="dark"] .badge-icon-wrapper.blue,
[data-bs-theme="dark"] .badge-icon-wrapper.orange,
[data-bs-theme="dark"] .badge-icon-wrapper.emerald {
  background: transparent !important;
  border: none !important;
}

/* Badge Image Styles - NO CROPPING */
.badge-image {
  width: 100%;
  height: 100%;
  object-fit: contain;
  padding: 0;
  transition: transform 0.3s ease;
  border-radius: 0;
  display: block;
}

.badge-card:hover .badge-image {
  transform: scale(1.05);
}

/* Fallback for missing images */
.badge-image-fallback {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(102, 16, 242, 0.1);
  border-radius: 50%;
}

[data-bs-theme="dark"] .badge-image-fallback {
  background: rgba(255, 193, 7, 0.1);
}

.badge-image-placeholder {
  font-size: 2.5rem;
  font-weight: 700;
  color: #6610f2;
}

[data-bs-theme="dark"] .badge-image-placeholder {
  color: #ffc107;
}

/* Remove icon-specific styles when using images */
.badge-icon-wrapper img {
  display: block;
}

/* Material Icons (if used as fallback) */
.badge-icon-wrapper .material-symbols-outlined {
  font-size: 2.5rem;
  font-weight: 400;
  color: #6610f2;
}

[data-bs-theme="dark"] .badge-icon-wrapper .material-symbols-outlined {
  color: #ffc107;
}

/* Badge Content Area */
.badge-content {
  flex-grow: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 0.75rem 0;
}

/* Badge Title - REDUCED SIZE */
.badge-title {
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.3;
  margin-bottom: 0.375rem;
}

/* Badge Organization - REDUCED SIZE */
.badge-organization {
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  opacity: 0.7;
  font-weight: 400;
}

/* Earned Badge */
.badge-earned {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  padding: 0.5rem 1rem;
  background: rgba(9, 184, 80, 0.1);
  color: #09b850;
  font-size: 0.6875rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  border-radius: 2rem;
  border: 1.5px solid rgba(9, 184, 80, 0.25);
  transition: all 0.3s ease;
}

.badge-card:hover .badge-earned {
  background: rgba(9, 184, 80, 0.15);
  border-color: rgba(9, 184, 80, 0.4);
}

[data-bs-theme="dark"] .badge-earned {
  background: rgba(9, 184, 80, 0.15);
  color: #0ecb68;
  border: 1.5px solid rgba(9, 184, 80, 0.35);
}

.badge-earned .material-symbols-outlined {
  font-size: 0.875rem;
  font-weight: 700;
}

/* Badge Back Content */
.badge-back-label {
  font-size: 0.8125rem;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: rgba(255, 255, 255, 0.7);
  margin-bottom: 0.5rem;
}

.badge-back-date {
  font-size: 1.375rem;
  font-weight: 600;
  color: #ffffff;
  margin-bottom: 1.5rem;
}

.badge-back-divider {
  width: 3rem;
  height: 2px;
  background: rgba(255, 255, 255, 0.3);
  margin-bottom: 1.5rem;
  border-radius: 2px;
}

.badge-back-link {
  font-size: 0.875rem;
  font-weight: 600;
  color: #ffffff;
  text-decoration: none;
  transition: all 0.3s ease;
  padding: 0.5rem 1.25rem;
  border: 2px solid rgba(255, 255, 255, 0.4);
  border-radius: 2rem;
}

.badge-back-link:hover {
  background: rgba(255, 255, 255, 0.15);
  border-color: rgba(255, 255, 255, 0.7);
  transform: translateY(-2px);
}

/* Responsive Design */
@media (max-width: 1199px) {
  .badge-card {
    height: 300px;
  }
  
  .badge-icon-wrapper {
    width: 110px;
    height: 110px;
  }
}

@media (max-width: 991px) {
  .badge-card {
    height: 310px;
  }
  
  .badge-icon-wrapper {
    width: 100px;
    height: 100px;
  }
}

@media (max-width: 767px) {
  .badge-card {
    height: 290px;
  }
  
  .badge-icon-wrapper {
    width: 90px;
    height: 90px;
  }
  
  .badge-front,
  .badge-back {
    padding: 1.5rem 1.25rem;
  }
}

@media (max-width: 575px) {
  .badge-card {
    height: 280px;
  }
  
  .badge-icon-wrapper {
    width: 85px;
    height: 85px;
  }
  
  .badge-title {
    font-size: 0.9375rem;
  }
  
  .badge-organization {
    font-size: 0.6875rem;
  }
  
  .badge-earned {
    font-size: 0.625rem;
    padding: 0.4rem 0.8rem;
  }
}

/* Touch Device Support */
@media (hover: none) {
  .badge-card {
    -webkit-tap-highlight-color: transparent;
  }
  
  .badge-card.flipped .badge-inner {
    transform: rotateY(180deg);
  }
}

/* Animation */
.badge-card {
  animation: fadeInUp 0.6s ease-out backwards;
}

.badge-card:nth-child(1) { animation-delay: 0.1s; }
.badge-card:nth-child(2) { animation-delay: 0.2s; }
.badge-card:nth-child(3) { animation-delay: 0.3s; }
.badge-card:nth-child(4) { animation-delay: 0.4s; }
.badge-card:nth-child(5) { animation-delay: 0.5s; }

@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(30px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* Smooth scale out effect */
body:not(.preload) .lottie-container {
  animation: fadeOutLoader 0.8s ease forwards;
}

@keyframes fadeOutLoader {
  0% {
    opacity: 1;
    transform: scale(1);
  }
  100% {
    opacity: 0;
    transform: scale(0.95);
  }
}