/*--------------------------------------------------------------
# General
--------------------------------------------------------------*/
:root {
  scroll-behavior: smooth;
}

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

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

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: var(--font-primary);
  color: black;
}
.h1, .h2, .h3, .h4, .h5, .h6, h1, h2, h3, h4, h5, h6 {
    margin-bottom: .65rem;
}



/*.playfair-display-<uniquifier> {
  font-family: "Playfair Display", serif;
  font-optical-sizing: auto;
  font-weight: <weight>;
  font-style: normal;
}*/

/*--------------------------------------------------------------
# Sections & Section Header
--------------------------------------------------------------*/
section {
  padding: 60px 0;
  overflow: hidden;
}

.section-header {
  text-align: center;
  padding-bottom: 40px;
}

.section-header h2 {
  margin-top: 3rem;
  margin-top: 7rem;
  margin-bottom: 20px;
  font-size: 48px;
  font-weight: 300;
  color: #333;
}

.section-header p {
  margin: 0 auto;
  color: #444;
  font-weight: 400;
}

#about .section-header p {
  color: #444;
  font-weight: 300;
}

.section-header p b,
.pt-lg-5 b {
  color: black;
  font-weight: 600;
}

@media (min-width: 1280px) {
  .section-header p {
    max-width: 82%;
  }
}

@media (max-width: 992px) {
  .section-header h2 {
    font-size: 2.5rem;
    text-align: left;
  }


  .pt-lg-5, 
  #about .section-header h2,
  #about .section-header p {
    margin-left: 20px;
  }

  .hero-section .hero-content h2 {
    font-size: 2.5rem;
    text-align: left;
    margin-left: 20px;
  }

}

/*--------------------------------------------------------------
# Breadcrumbs
--------------------------------------------------------------*/

.breadcrumbs {
  padding: 7px 0;
  /*background: rgb(0 174 255);*/
  background: black;
  min-height: 48px;
  margin-top: 70px;
}

.breadcrumbs h2 {
  margin: 0;
  padding-top: 4px;
  font-size: 19px;
  font-weight: 800;
  letter-spacing: .1rem;
  color: white;
}

.breadcrumbs ol {
  display: flex;
  flex-wrap: wrap;
  list-style: none;
  padding: 0;
  margin: 0;
  font-size: 14px;
}

.breadcrumbs ol li+li {
  margin-top: 8px;
  padding-left: 7px;
  font-weight: 600;
  color: white;
  letter-spacing: normal;
}

.breadcrumbs ol a {
  font-weight: 600;
  letter-spacing: normal;
  display: inline-block;
  /*margin-top: -5px;*/
}

.breadcrumbs ol a:hover {
  color: white;
}

.breadcrumbs ol li+li::before {
  display: inline-block;
  padding-right: 16px;
  padding-left: 13px;
  color: white;
  content: "|";
}

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

.bi.bi-arrow-left {
  font-size: 26px;
  margin-right: 14px;
  display: inline-block;
}



























.breadcrumbs .d-flex {
  /* justify-content: center !important; centers everything horizontally */
  /*text-align: center;*/
  gap: 1rem; /* optional spacing between h2 and the list */
}

.breadcrumbs h2 {
  margin: 0;
}

.breadcrumbs .custom-list {
  display: flex;
  flex-direction: row;
  align-items: center;
  margin: 0;
  padding: 0;
}

.breadcrumbs .custom-list li {
  list-style: none;
  margin: 0 0 0 0.5rem;
}

.breadcrumbs .custom-list a {
  display: inline-flex;
  align-items: center;
}

.breadcrumbs .custom-list i {
  margin-right: 0.75rem;
}























@media (max-width: 992px) {
  .breadcrumbs .d-flex {
    display: block !important;
  }

  .breadcrumbs h2 {
    margin-bottom: 10px;
    /*margin-top: 20px;*/
    margin-top: 65px;
    font-size: 24px;
  }

  .breadcrumbs ol {
    display: block;
    margin-top: -90px;
    margin-bottom: 50px;
  }

  .breadcrumbs ol li {
    display: inline-block;
  }
  .breadcrumbs ol li+li {
    display: none;
  }

/*  #portfolio-details .container {
    top: 200px;
  }*/
}

/*--------------------------------------------------------------
# Disable aos animation delay on mobile devices
--------------------------------------------------------------*/
@media screen and (max-width: 768px) {
  [data-aos-delay] {
    transition-delay: 0 !important;
  }
}

/*--------------------------------------------------------------
# Header
--------------------------------------------------------------*/
.header {   
  padding: 15px 0;
  transition: all 0.5s;
  z-index: 997;
}

.header.sticked {
  background: var(--color-white);
  box-shadow: 0px 2px 20px rgba(var(--color-secondary-rgb), 0.1);
}

.header .logo img {
  max-height: 40px;
  margin-right: 6px;
}

.header .logo h1 {
  font-size: 35px;
  font-weight: 900;
  color: black;
  font-family: var(--font-secondary);
}

.header .logo h1 span {
  color: var(--color-primary);
  font-weight: 500;
}

.header .btn-getstarted,
.header .btn-getstarted:focus {
  font-size: 16px;
  color: var(--color-white);
  background: var(--color-primary);
  padding: 8px 23px;
  border-radius: 4px;
  transition: 0.3s;
  font-family: var(--font-secondary);
}

.header .btn-getstarted:hover,
.header .btn-getstarted:focus:hover {
  color: var(--color-white);
  background: rgba(var(--color-primary-rgb), 0.85);
}

@media (max-width: 1279px) {

  .header .btn-getstarted,
  .header .btn-getstarted:focus {
    margin-right: 50px;
  }
}

/*--------------------------------------------------------------
# Desktop Navigation 
--------------------------------------------------------------*/
@media (min-width: 1280px) {
  .navbar {
    padding: 0;
    position: relative;
  }

  .navbar ul {
    margin: 0;
    padding: 0;
    display: flex;
    list-style: none;
    align-items: center;
  }

  .navbar li {
    position: relative;
  }

  .navbar>ul>li {
    white-space: nowrap;
  }

  .navbar a,
  .navbar a:focus {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 14px 20px;
    font-family: var(--font-secondary);
    font-size: 16px;
    font-weight: 400;
    color: rgba(var(--color-secondary-dark-rgb), 0.7);
    white-space: nowrap;
    transition: 0.3s;
    position: relative;
  }

  .navbar a i,
  .navbar a:focus i {
    font-size: 12px;
    line-height: 0;
    margin-left: 5px;
  }

  .navbar>ul>li>a:before {
    content: "";
    position: absolute;
    width: 100%;
    height: 4px;
    bottom: 0;
    left: 0;
    background-color: #05a2ee;
    visibility: hidden;
    transition: all 0.3s ease-in-out 0s;
    transform: scaleX(0);
    transition: all 0.3s ease-in-out 0s;
  }

  .navbar a:hover:before,
  .navbar li:hover>a:before,
  .navbar .active:before {
    visibility: visible;
    transform: scaleX(0.7);
  }

  .navbar a:hover,
  .navbar .active,
  .navbar .active:focus,
  .navbar li:hover>a {
    color: var(--color-primary);
  }

  .navbar .dropdown a:hover:before,
  .navbar .dropdown:hover>a:before,
  .navbar .dropdown .active:before {
    visibility: hidden;
  }

  .navbar .dropdown a:hover,
  .navbar .dropdown .active,
  .navbar .dropdown .active:focus,
  .navbar .dropdown:hover>a {
    color: white;
    background: black;
  }

  .navbar .dropdown ul {
    display: block;
    position: absolute;
    left: 0;
    top: 100%;
    margin: 0;
    padding: 0 0 10px 0;
    z-index: 99;
    opacity: 0;
    visibility: hidden;
    background: var(--color-secondary);
    background: black;
    transition: 0.3s;
  }

  .navbar .dropdown ul li {
    min-width: 200px;
  }

  .navbar .dropdown ul li.nactive {
    border-left: 6px solid #32d5fc;
  }

  .navbar .dropdown ul a {
    padding: 20px 20px;
    font-size: 15px;
    text-transform: none;
    font-weight: 400;
    color: white;
  }

  .navbar .dropdown ul a i {
    font-size: 12px;
  }

  .navbar .dropdown ul a:hover,
  .navbar .dropdown ul .active,
  .navbar .dropdown ul .active:hover,
  .navbar .dropdown ul li:hover>a {
    color: var(--color-white);
    background:#05a2ee;
  }

  .navbar .dropdown:hover>ul {
    opacity: 1;
    visibility: visible;
  }

  .navbar .megamenu {
    position: static;
  }

  .navbar .megamenu ul {
    right: 0;
    padding: 10px;
    display: flex;
  }

  .navbar .megamenu ul li {
    flex: 1;
  }

  .navbar .megamenu ul li a,
  .navbar .megamenu ul li:hover>a {
    color: rgba(var(--color-white-rgb), 0.5);
    background: none;
  }

  .navbar .megamenu ul li a:hover,
  .navbar .megamenu ul li .active,
  .navbar .megamenu ul li .active:hover {
    color: var(--color-white);
    background: var(--color-primary);
  }

  .navbar .dropdown .dropdown ul {
    top: 0;
    left: calc(100% - 30px);
    visibility: hidden;
  }

  .navbar .dropdown .dropdown:hover>ul {
    opacity: 1;
    top: 0;
    left: 100%;
    visibility: visible;
  }
}

@media (min-width: 1280px) and (max-width: 1366px) {
  .navbar .dropdown .dropdown ul {
    left: -90%;
  }

  .navbar .dropdown .dropdown:hover>ul {
    left: -100%;
  }
}

/*--------------------------------------------------------------
# Mobile Navigation
--------------------------------------------------------------*/
@media (max-width: 1279px) {
  .navbar {
    position: fixed;
    top: 0;
    left: -100%;
    width: calc(100% - 70px);
    bottom: 0;
    transition: 0.3s;
    z-index: 9997;
  }

  .navbar ul {
    position: absolute;
    inset: 0;
    padding: 10px 0;
    margin: 0;
    background: rgba(var(--color-secondary-rgb), 0.9);
    overflow-y: auto;
    transition: 0.3s;
    z-index: 9998;
  }

  .navbar a,
  .navbar a:focus {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 20px 20px;
    font-size: 16px;
    font-weight: 500;
    color: rgba(var(--color-white-rgb), 0.7);
    white-space: nowrap;
    transition: 0.3s;
    border-bottom: 1px solid #0f3934;
  }

  .navbar a i,
  .navbar a:focus i {
    font-size: 12px;
    line-height: 0;
    margin-left: 5px;
  }

  .navbar a:hover,
  .navbar .active,
  .navbar .active:focus,
  .navbar li:hover>a {
    color: var(--color-white);
  }

  .navbar .dropdown ul,
  .navbar .dropdown .dropdown ul {
    position: static;
    display: none;
    padding: 10px 0;
    margin: 10px 20px;
    transition: all 0.5s ease-in-out;
  }

  .navbar .dropdown>.dropdown-active,
  .navbar .dropdown .dropdown>.dropdown-active {
    display: block;
  }

  .mobile-nav-toggle {
    display: block !important;
    color: var(--color-secondary);
    font-size: 28px;
    cursor: pointer;
    line-height: 0;
    transition: 0.5s;
    position: fixed;
    top: 20px;
    z-index: 9999;
    right: 20px;
  }

  .mobile-nav-toggle.bi-x {
    color: var(--color-white);
  }

  .mobile-nav-active {
    overflow: hidden;
    z-index: 9995;
    position: relative;
  }

  .mobile-nav-active .navbar {
    left: 0;
  }

/*grey background - zindex wasn't working*/
/*  .mobile-nav-active .navbar:before {
    content: "";
    position: fixed;
    inset: 0;
    background: rgba(var(--color-secondary-rgb), 0.8);
    z-index: 9996;
  }*/




}

/*--------------------------------------------------------------
# Index Page
--------------------------------------------------------------*/
/*--------------------------------------------------------------
# Animated Hero Section
--------------------------------------------------------------*/
#approach .bi {
  color: black;
  font-size: 36px;
  -webkit-text-stroke-width: 3px;
  -webkit-text-stroke-color: #f8f8f8;
}

/*.icon .bi {
  color: black;
  font-size: 36px;
}*/

#facts .icon .bi {
    padding-bottom: 7px;
    display: block;
    font-size: 36px;
    -webkit-text-stroke-width: 3px;
    -webkit-text-stroke-color: #f8f8f8;
}

#facts .icon .bi.bi-rocket-takeoff,
.bi-rocket-takeoff {
      -webkit-text-stroke-width: 1px;
    -webkit-text-stroke-color: #f8f8f8;
}

.hero-animated {
  width: 100%;
  min-height: 50vh;
  background: url("../img/hero-bg.png") center center;
  background-size: cover;
  position: relative;
  padding: 120px 0 60px;
}

.hero-animated h2 {
  margin: 0 0 10px 0;
  font-size: 48px;
  font-weight: 300;
  color: var(--color-secondary);
  font-family: var(--font-secondary);
}

.hero-animated h2 span {
  color: var(--color-primary);
}

.hero-animated p {
  color: rgba(var(--color-secondary-rgb), 0.8);
  margin: 0 0 30px 0;
  font-size: 20px;
  font-weight: 400;
}

.hero-animated .animated {
  margin-bottom: 60px;
  animation: up-down 2s ease-in-out infinite alternate-reverse both;
}

@media (min-width: 992px) {
  .hero-animated .animated {
    max-width: 45%;
  }
}

@media (max-width: 991px) {
  .hero-animated .animated {
    max-width: 60%;
  }
}

@media (max-width: 575px) {
  .hero-animated .animated {
    max-width: 80%;
  }
}

.hero-animated .btn-get-started {
  font-size: 16px;
  font-weight: 400;
  display: inline-block;
  padding: 10px 28px;
  border-radius: 4px;
  transition: 0.5s;
  color: var(--color-white);
  background: var(--color-primary);
  font-family: var(--font-secondary);
}

.hero-animated .btn-get-started:hover {
  background: rgba(var(--color-primary-rgb), 0.8);
}

.hero-animated .btn-watch-video {
  font-size: 16px;
  transition: 0.5s;
  margin-left: 25px;
  font-family: var(--font-secondary);
  color: var(--color-secondary);
  font-weight: 600;
}

.hero-animated .btn-watch-video i {
  color: var(--color-primary);
  font-size: 32px;
  transition: 0.3s;
  line-height: 0;
  margin-right: 8px;
}

.hero-animated .btn-watch-video:hover {
  color: var(--color-primary);
}

.hero-animated .btn-watch-video:hover i {
  color: rgba(var(--color-primary-rgb), 0.8);
}

@media (max-width: 640px) {
  .hero-animated h2 {
    font-size: 32px;
  }

  .hero-animated p {
    font-size: 18px;
    margin-bottom: 30px;
  }

  .hero-animated .btn-get-started,
  .hero-animated .btn-watch-video {
    font-size: 14px;
  }
}

@-webkit-keyframes up-down {
  0% {
    transform: translateY(10px);
  }

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

@keyframes up-down {
  0% {
    transform: translateY(10px);
  }

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

/*--------------------------------------------------------------
# Carousel Hero Section
--------------------------------------------------------------*/
.hero {
  width: 100%;
  min-height: 60vh;
  padding: 0;
  background: var(--color-black);
  background: url("../img/hero-bg.png") center center;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 140px 0 60px 0;
}

@media (max-width: 640px) {
  .hero .container {
    padding: 0 60px;
  }
}

.hero h2 {
  color: var(--color-secondary);
  margin-bottom: 25px;
  font-size: 48px;
  font-weight: 300;
  -webkit-animation: fadeInDown 1s both 0.2s;
  animation: fadeInDown 1s both 0.2s;
}

@media (max-width: 768px) {
  .hero h2 {
    font-size: 30px;
  }
}

.hero p {
  color: var(--color-secondary-light);
  -webkit-animation: fadeInDown 1s both 0.4s;
  animation: fadeInDown 1s both 0.4s;
  font-weight: 500;
  margin-bottom: 30px;
}

.hero .img {
  margin-bottom: 40px;
  -webkit-animation: fadeInDownLite 1s both;
  animation: fadeInDownLite 1s both;
}

.hero .btn-get-started {
  font-family: var(--font-secondary);
  font-weight: 400;
  font-size: 16px;
  letter-spacing: 1px;
  display: inline-block;
  padding: 8px 32px;
  border-radius: 5px;
  transition: 0.5s;
  -webkit-animation: fadeInUp 1s both 0.6s;
  animation: fadeInUp 1s both 0.6s;
  color: var(--color-primary);
  border: 2px solid var(--color-primary);
}

.hero .btn-get-started:hover {
  background: var(--color-primary);
  color: var(--color-white);
}

.hero .carousel-control-prev {
  justify-content: start;
}

@media (min-width: 640px) {
  .hero .carousel-control-prev {
    padding-left: 15px;
  }
}

.hero .carousel-control-next {
  justify-content: end;
}

@media (min-width: 640px) {
  .hero .carousel-control-next {
    padding-right: 15px;
  }
}

.hero .carousel-control-next-icon,
.hero .carousel-control-prev-icon {
  background: none;
  font-size: 26px;
  line-height: 0;
  background: rgba(var(--color-secondary-rgb), 0.4);
  color: rgba(var(--color-white-rgb), 0.98);
  border-radius: 50px;
  width: 54px;
  height: 54px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.hero .carousel-control-next-icon {
  padding-left: 3px;
}

.hero .carousel-control-prev-icon {
  padding-right: 3px;
}

.hero .carousel-control-prev,
.hero .carousel-control-next {
  transition: 0.3s;
}

.hero .carousel-control-prev:focus,
.hero .carousel-control-next:focus {
  opacity: 0.5;
}

.hero .carousel-control-prev:hover,
.hero .carousel-control-next:hover {
  opacity: 0.9;
}

.hero .carousel-indicators li {
  cursor: pointer;
  background: rgba(var(--color-secondary-rgb), 0.5);
  overflow: hidden;
  border: 0;
  width: 12px;
  height: 12px;
  border-radius: 50px;
  opacity: 0.6;
  transition: 0.3s;
}

.hero .carousel-indicators li.active {
  opacity: 1;
  background: var(--color-primary);
}

@-webkit-keyframes fadeIn {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

@keyframes fadeIn {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

@-webkit-keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translate3d(0, 100%, 0);
  }

  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}

@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translate3d(0, 100%, 0);
  }

  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}

@-webkit-keyframes fadeInDown {
  from {
    opacity: 0;
    transform: translate3d(0, -100%, 0);
  }

  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}

@keyframes fadeInDown {
  from {
    opacity: 0;
    transform: translate3d(0, -100%, 0);
  }

  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}

@-webkit-keyframes fadeInDownLite {
  from {
    opacity: 0;
    transform: translate3d(0, -10%, 0);
  }

  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}

@keyframes fadeInDownLite {
  from {
    opacity: 0;
    transform: translate3d(0, -10%, 0);
  }

  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}
































/*  BEGIN - Older and I think still valid hero css  */

.hero-fullscreen .staggered-heading,
.hero-fullscreen h2  {
    margin: 0 0 32px 0;
    font-size: 48px;
    /*font-size: 105px;*/
    /*font-size: 134px;
    font-size: 108px;*/
    font-size: 96px;
    font-weight: 900;
}

.hero-fullscreen h2,
.hero-fullscreen p {
    /*padding-right: 5%;*/
  }  

.hero-fullscreen p {
    padding-right: 10%;
    padding-left: 10%;
  }  

.hero-fullscreen:before {
    content: "";
    background: rgba(var(--color-white-rgb), 0.60);
  }

#hero-fullscreen .intro {
  width: 80vw;
  margin: auto;
  padding-top: 2.25rem;
  text-align: center;
}



/*  END - Older and I think still valid hero css  */




































/* ============================================================
   HERO LAYERS & BACKGROUND
   Fixes: white/blue lines not visible, z-index conflicts
============================================================ */

#hero-fullscreen {
  position: relative;
  overflow: hidden;
  min-height: 100vh;
}

/* Background wrapper sits behind content */
.hero-bg-wrap {
  position: absolute;
  inset: 0;
  overflow: hidden;
  z-index: 0;
  pointer-events: none;
}

/* Gradient Layer */
.hero-bg-gradient {
  position: absolute;
  inset: 0;
  z-index: 1;
/*  background: linear-gradient(
    135deg,
    rgba(36,189,255,0.9) 0%,
    rgba(87,199,133,0.4) 50%,
    rgba(195,255,54,0.3) 100%
  );*/
  
  /*background: linear-gradient(39deg, #0d6efd94 0%, rgb(201 255 53 / 30%) 50%, rgb(253 205 30 / 82%) 100%), 
  linear-gradient(135deg, #0d6efd 0%, rgb(185 255 33 / 75%) 50%, rgb(253 205 30) 100%); */
  /*linear-gradient(39deg, #0d6efd94 0%, rgb(185 255 33 / 57%) 50%, rgb(253 205 30 / 12%) 100%), 
  linear-gradient(135deg, #0d6efd 0%, rgb(185 255 33 / 75%) 50%, rgb(253 205 30) 100%);*/
}

/* Background Image */
.hero-bg-image {
  position: absolute;
  inset: 0;
  z-index: 2;
  background: url("../img/hero-fullscreen-bg.jpg") center center;
  background-size: cover;
  transform: scale(1.1);
  opacity: 1;
}

/* Overlay used only for blur dimming */
.hero-bg-blur-overlay {
  position: absolute;
  inset: 0;
  z-index: 3;
  background: rgba(255,255,255,0); 
  pointer-events: none;
}

/* ============================================================
   FIXED: WHITE / BLUE LINES VISIBLE AGAIN
   Canvas MUST sit ABOVE all background layers
============================================================ */

#scene {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  z-index: 4;              /* THE FIX — ensures canvas draws above BG */
  pointer-events: none;
}

/* Foreground content */
.hero-content {
  position: relative;
  z-index: 10;             /* Above canvas */
  margin: auto;
  width: 80%;
  padding: 40px 20px;
}

/* ============================================================
   TYPEWRITER / STAGGERED TEXT
============================================================ */

.staggered-heading2 span {
  display: inline-block;
  opacity: 0;
  transform: scale(6.12);
  transition: opacity 0.55s ease-out, transform 0.55s ease-out;
  will-change: opacity, transform;
}

.staggered-heading2 span.visible {
  opacity: .95;
  transform: scale(1);
}

.staggered-heading2 span.visible:nth-child(4) {
  color: white;
  /*background-color: #17739b3b;*/
  text-shadow: 0px 0px 160px rgb(254 122 255);
}


.staggered-heading2 span.visible:nth-child(4) {
  background-image: linear-gradient(to right, #cbf7ffe8, #efffd0);
  -webkit-background-clip: text; 
  background-clip: text; 
  /*color: transparent; */
  display: inline-block;   

}














/* ============================================================
   BASE TEXT
============================================================ */
.text-stroke-anim {
  position: relative;
  display: inline-block;
  color: white;               /* Text visible */
  -webkit-text-stroke: 1px #ffffff90;
}

/* ============================================================
   OUTER GLOW (Blurred Gradient Glow)
============================================================ */
.text-stroke-anim::before {
  content: attr(data-text);
  position: absolute;
  inset: 0;
  z-index: -1;

  /* Animated gradient source */
  background: linear-gradient(
    90deg,
    #ff00f7,
    #00e5ff,
    #fff200,
    #ff00f7
  );
  background-size: 300% 300%;
  animation: glowmove 4s linear infinite;

  /* Soft glow */
  filter: blur(16px);
  opacity: 1;

  /* This is the REAL FIX */
  /* Use the text as the alpha mask */
  -webkit-mask-image: linear-gradient(#fff 0 0);
  -webkit-mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-composite: destination-in;
}

/* Glow animation */
@keyframes glowmove {
  0% { background-position: 0% 50%; }
  100% { background-position: 200% 50%; }
}

/* ============================================================
   ANIMATED GRADIENT STROKE
============================================================ */
.text-stroke-anim::after {
  content: attr(data-text);
  position: absolute;
  inset: 0;
  z-index: 1;

  background: linear-gradient(
    90deg,
    #ff00f7,
    #00e5ff,
    #fff200,
    #ff00f7
  );
  background-size: 300% 300%;
  animation: strokemove 4s linear infinite;

  /* Create a stroke-only mask */
  -webkit-mask:
      linear-gradient(#fff 0 0),
      linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;     /* removes interior */
  mask-composite: exclude;

  /* Makes gradient appear only on outline */
  -webkit-text-stroke: 2px transparent;
}

/* Stroke animation */
@keyframes strokemove {
  0% { background-position: 0% 50%; }
  100% { background-position: 200% 50%; }
}







.glow-text {
  position: relative;
  color: #fff;
  font-weight: 700;
  display: inline-block;
}

/* Soft outer glow */
.glow-text::before {
  content: attr(data-text);
  position: absolute;
  inset: 0;
  z-index: -1;
  
  /* Animated gradient glow source */
  background: linear-gradient(
      90deg,
      #ff00f7,
      #00e5ff,
      #fff200,
      #ff00f7
  );
  /*background-size: 300% 300%;*/
  animation: glowShift 6.5s linear infinite;

  /* Blur to make it soft */
  filter: blur(52px);

  /* Use the actual text to clip this glow (WORKS) */
  -webkit-text-fill-color: transparent;
  -webkit-text-stroke: 0px transparent;
  mix-blend-mode: screen;
  opacity: .825;
}

@keyframes glowShift {
  0% { background-position: 0% 50%; }
  100% { background-position: 200% 50%; }
}





































.staggered-heading2 span.visible:nth-child(5) {
/*  position: relative;
  border: 1px solid white;
  text-shadow: 0px 0px 120px rgb(241 255 192);*/
}

.staggered-heading2 span.visible:nth-child(5)::before {
  content: attr(data-text);
  position: absolute;
  left: 0.1em;
  top: 0.1em;
  z-index: -1;
  filter: blur(5px);
  opacity: 0.7;
  transform-origin: left;
  transition: all 0.5s ease;
}

/* ============================================================
   BLUR ENABLED
============================================================ */

.hero-bg-wrap.blurred > .hero-bg-image {
  opacity: 0.2;
}

.hero-bg-wrap > .hero-bg-gradient,
.hero-bg-wrap > .hero-bg-image, 
.hero-bg-wrap > canvas {
  transition: filter 6s ease, opacity 6s ease;
}
}

.hero-bg-wrap.blurred > .hero-bg-gradient,
.hero-bg-wrap.blurred > .hero-bg-image {
  filter: blur(12px);
  -webkit-filter: blur(12px);
  transition: all 4s ease;
}
/* ---------- Blur toggle: only affects gradient, image and canvas ---------- */
/* ensure transitions are smooth */
.hero-bg-wrap > .hero-bg-gradient,
.hero-bg-wrap > .hero-bg-image,
.hero-bg-wrap > canvas {
  transition: filter 6s ease, opacity 6s ease;
}

/* When JS adds `.blurred`, blur background elements */
.hero-bg-wrap.blurred > .hero-bg-gradient,
.hero-bg-wrap.blurred > .hero-bg-image {
  filter: blur(12px);
  -webkit-filter: blur(12px);
  transition: all 4s ease;
}

/* ---------- Blur toggle: only affects gradient, image and canvas ---------- */
/* ensure transitions are smooth */
.hero-bg-wrap > .hero-bg-gradient,
.hero-bg-wrap > .hero-bg-image,
.hero-bg-wrap > canvas {
  transition: filter 6s ease, opacity 6s ease;
}

/* When JS adds `.blurred`, blur background elements */
.hero-bg-wrap.blurred > .hero-bg-gradient,
.hero-bg-wrap.blurred > .hero-bg-image {
  filter: blur(12px);
  -webkit-filter: blur(12px);
  transition: all 4s ease;
}

/*These two declarations and rules below are NEEDED for Blur to work*/
canvas#scene {
  position: absolute;
  inset: 0;
  z-index: 2; /* ensure canvas stays on top */
}

/* Blur overlay must remain *under* canvas */
.hero-bg-blur-overlay {
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 1;
}

/* ============================================================
   BUTTON WRAPPER + BUTTON (UPDATED + FIXED Z-INDEX)
============================================================ */

.button-wrapper {
  display: inline-block;
  margin-top: 20px;
  padding: 4px;
  border: 1px solid #32d5fc;
  border-radius: calc(30px + 4px);
  background: transparent;
  transition: border-color 0.1s ease;
  position: relative;
  z-index: 20;    /* ensures button sits ABOVE canvas lines */
}

.custom-button {
  display: inline-block;
  padding: 14px 40px;
  font-family: var(--font-secondary);
  font-size: 16px;
  font-weight: 500;
  letter-spacing: 0.04rem;
  background-color: #56d6ff;
  border: 4px solid #56d6ff;
  border-radius: 30px;
  color: #00333C;
  cursor: pointer;
  outline: none;
  transition: background-color 0.1s ease;
}

/* Hover States */
.button-wrapper:hover {
  border-color: #d7ff9c;
}

.button-wrapper:hover .custom-button {
  background-color: #9bff0842;
  border-color: #d7ff9c;
}

/* Prevent theme override */
.hero-fullscreen .btn-get-started:hover {
  background-color: #9bff0842;
  border-color: inherit;
  color: #333;
}


/* ===============================
   FINAL FIX — FORCE CANVAS ON TOP
   =============================== */
canvas#scene,
#scene {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  z-index: 6 !important;      
  pointer-events: none !important;
}





@media (min-width: 1600px) {
  
  .hero-content {
    margin: auto;
    width: 90%;
  }
  
  #hero-fullscreen .intro {
    width: 90vw;
  }

  .hero-fullscreen .staggered-heading, .hero-fullscreen h2 {
    font-size: 88px;
  }


}


@media (min-width: 2000px) {
  
  .hero-content {
    margin: auto;
    width: 90%;
  }
  
  #hero-fullscreen .intro {
    width: 80vw;
  }

  .hero-fullscreen .staggered-heading, .hero-fullscreen h2 {
    font-size: 108px;
    font-size: 96px;
  }


}






/*@media (max-width: 1780px) {*/
@media (max-width: 1599px) {

  .hero-fullscreen h2 {
    width: 100%;
    /*font-size: 6rem; */
    font-size: 3rem; 
  }

}










/* --------------------------------------------------
   480px+  (Large Mobile)
-------------------------------------------------- */

@media (min-width: 480px) {


}



/* --------------------------------------------------
   768px+  (Tablet)
-------------------------------------------------- */

@media (min-width: 768px) {


}



/* --------------------------------------------------
   1024px+  (Small Laptop)
-------------------------------------------------- */

@media (min-width: 1024px) {


}



/* --------------------------------------------------
   1280px+  (Desktop)
-------------------------------------------------- */

@media (min-width: 1280px) {


}



/* --------------------------------------------------
   1536px+  (Large Desktop / 2K)
-------------------------------------------------- */

@media (min-width: 1536px) {


}




























/*--------------------------------------------------------------
# Static Hero Section
--------------------------------------------------------------*/
.hero-static {
  width: 100%;
  min-height: 50vh;
  background: url("../img/hero-bg.png") center center;
  background-size: cover;
  position: relative;
  padding: 120px 0 60px;
}

.hero-static h2 {
  margin: 0 0 10px 0;
  font-size: 48px;
  font-weight: 300;
  color: var(--color-secondary);
  font-family: var(--font-secondary);
}

.hero-static h2 span {
  color: var(--color-primary);
}

.hero-static p {
  color: rgba(var(--color-secondary-rgb), 0.8);
  margin: 0 0 30px 0;
  font-size: 20px;
  font-weight: 400;
}

.hero-static .btn-get-started {
  font-size: 16px;
  font-weight: 400;
  display: inline-block;
  padding: 10px 28px;
  border-radius: 4px;
  transition: 0.5s;
  color: var(--color-white);
  background: var(--color-primary);
  font-family: var(--font-secondary);
}

.hero-static .btn-get-started:hover {
  background: rgba(var(--color-primary-rgb), 0.8);
}

.hero-static .btn-watch-video {
  font-size: 16px;
  transition: 0.5s;
  margin-left: 25px;
  font-family: var(--font-secondary);
  color: var(--color-secondary);
  font-weight: 600;
}

.hero-static .btn-watch-video i {
  color: var(--color-primary);
  font-size: 32px;
  transition: 0.3s;
  line-height: 0;
  margin-right: 8px;
}

.hero-static .btn-watch-video:hover {
  color: var(--color-primary);
}

.hero-static .btn-watch-video:hover i {
  color: rgba(var(--color-primary-rgb), 0.8);
}

@media (max-width: 640px) {
  .hero-static h2 {
    font-size: 32px;
  }

  .hero-static p {
    font-size: 18px;
    margin-bottom: 30px;
  }

  .hero-static .btn-get-started,
  .hero-static .btn-watch-video {
    font-size: 14px;
  }
}

/*--------------------------------------------------------------
# Featured Services Section
--------------------------------------------------------------*/
.featured-services .service-item {
  padding: 30px;
  transition: all ease-in-out 0.4s;
  background: var(--color-white);
  height: 100%;
}

.featured-services .service-item .icon {
  margin-bottom: 10px;
}

.featured-services .service-item .icon i {
  color: var(--color-primary);
  font-size: 36px;
  transition: 0.3s;
}

.featured-services .service-item h4 {
  font-weight: 600;
  margin-bottom: 15px;
  font-size: 24px;
}

.featured-services .service-item h4 a {
  color: var(--color-secondary);
  transition: ease-in-out 0.3s;
}

.featured-services .service-item p {
  line-height: 24px;
  font-size: 14px;
  margin-bottom: 0;
}

.featured-services .service-item:hover {
  transform: translateY(-10px);
  box-shadow: 0px 0 60px 0 rgba(var(--color-secondary-rgb), 0.1);
}

.featured-services .service-item:hover h4 a {
  color: var(--color-primary);
}

/*--------------------------------------------------------------
# About Section
--------------------------------------------------------------*/
.about .about-img {
  /*position: relative;*/
}


/*  background-image: linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5)), url('your-image.png');
  background-size: cover; 
  background-position: center; /
  background-blend-mode: multiply; 
*/

.about .about-img {
  /*width: 512px;
  height: 651px;
  min-height: 350px; 
  background-image: */
  /*linear-gradient(rgb(230 255 40 / 83%), rgb(8 178 255 / 50%)),*/
/*  url("../img/rich-bg4.png");
  background-size: cover;     
  background-position: center;
  background-repeat: no-repeat;*/
  /*background-blend-mode: multiply, normal; */
}





.about .about-img{
  width: 512px;
  height: 651px;
  position: relative;
  overflow: hidden;
  background-image: url("../img/rich-bg4.png");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  background-blend-mode: multiply;
}

/* gradient overlay that is masked by the PNG alpha */
.about .about-img::before {
  content: "";
  position: absolute;
  inset: 0;
  display: block;
  background: linear-gradient(180deg, rgb(221 252 255 / 46%), rgba(8, 178, 255, 0.50));
  mask-image: url("../img/rich-bg4.png");
  mask-size: cover;
  mask-position: center;
  mask-repeat: no-repeat;
  mask-mode: alpha; 
  -webkit-mask-image: url("../img/rich-bg4.png");
  -webkit-mask-size: cover;
  -webkit-mask-position: center;
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-composite: source-in;
  pointer-events: none;
  z-index: 2; 
}













/* Optional: Maintain responsiveness if parent expects an image ratio */
/*.about .about-img img {
  display: none; 
}*/


    #skills .container {
        position: relative; /* Required for absolute positioning of pseudo-element */
        margin-bottom: 80px;
    }

    #skills .container::before {
        /*content: ''; 
        display: block;
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background-image: url('../img/about-bg3.png');
        background-size: cover; 
        background-repeat: no-repeat;
        background-position: center;
        opacity: 0.3; 
        z-index: -1;
        filter: blur(3px);*/ 
    }

/*.about .about-img:before {
  position: absolute;
  inset: -60px 0 0 -60px;
  z-index: -1;
  content: "";
  background: url("../img/about-bg2.png") top left;
  background-repeat: no-repeat;
}*/


#about .section-header h2 {
    margin-top: 0rem;
}









@media (max-width: 575px) {
  .about .about-img {
    /*margin: 30px 0 60px 0px;*/
  }

  .about .about-img:before {
    inset: -30px 0 0 -30px;
  }
}

.about h3 {
  color: var(--color-secondary);
  font-family: var(--font-secondary);
  font-weight: 300;
  font-size: 32px;
  font-size: 24px;
  font-size: 20px;
  letter-spacing: .0025rem;
  margin-bottom: 20px;
}

@media (max-width: 768px) {
  .about h3 {
    font-size: 18px;
    margin-left: 20px;
    width: 85%;
    margin-top: 40px;
  }
}

.about .nav-pills {
  border-bottom: 1px solid rgba(var(--color-secondary-rgb), 0.2);
}

.about .nav-pills li+li {
  margin-left: 40px;
}

.about .nav-link {
  background: none;
  font-size: 18px;
  font-weight: 400;
  color: var(--color-secondary);
  padding: 12px 0;
  margin-bottom: -2px;
  border-radius: 0;
  font-family: var(--font-secondary);
}

.about .nav-link.active {
  color: var(--color-primary);
  background: none;
  border-bottom: 3px solid var(--color-primary);
}

@media (max-width: 575px) {
  .about .nav-link {
    font-size: 16px;
  }
}

.about .tab-content h4 {
  font-size: 18px;
  margin: 0;
  font-weight: 700;
  color: var(--color-secondary);
}

.about .tab-content i {
  font-size: 22px;
  line-height: 0;
  margin-right: 8px;
  color: var(--color-primary);
}

/*--------------------------------------------------------------
# Clients Section
--------------------------------------------------------------*/
.clients {
  padding: 0 0 60px 0;
}

.clients .swiper-slide img {
  opacity: 0.5;
  transition: 0.3s;
  filter: grayscale(100);
}

.clients .swiper-slide img:hover {
  filter: none;
  opacity: 1;
}

/*--------------------------------------------------------------
# Call To Action Section
--------------------------------------------------------------*/
.cta {
  padding: 0;
  margin-bottom: 60px;
}

.cta .container {
  padding: 80px;
  background: rgba(var(--color-secondary-rgb), 0.1);
  border-radius: 15px;
}

@media (max-width: 992px) {
  .cta .container {
    padding: 60px;
  }
}

.cta .content h3 {
  color: var(--color-secondary);
  font-size: 48px;
  font-weight: 700;
}

.cta .content h3 em {
  font-style: normal;
  position: relative;
}

.cta .content h3 em:after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 10px;
  height: 10px;
  background: rgba(var(--color-primary-rgb), 0.5);
  z-index: -1;
}

.cta .content p {
  color: var(--color-secondary);
  font-weight: 600;
  font-size: 18px;
}

.cta .content .cta-btn {
  color: var(--color-white);
  font-weight: 500;
  font-size: 16px;
  display: inline-block;
  padding: 12px 40px;
  border-radius: 5px;
  transition: 0.5s;
  margin-top: 10px;
  background: rgba(var(--color-primary-dark-rgb), 0.9);
}

.cta .content .cta-btn:hover {
  background: var(--color-primary);
}

.cta .img {
  position: relative;
}

.cta .img:before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(var(--color-white-rgb), 0.5);
  border-radius: 15px;
  transform: rotate(12deg);
}

.cta .img:after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(var(--color-white-rgb), 0.9);
  border-radius: 15px;
  transform: rotate(6deg);
}

.cta .img img {
  position: relative;
  z-index: 3;
  border-radius: 15px;
}

/*--------------------------------------------------------------
# On Focus Section
--------------------------------------------------------------*/
.onfocus {
  padding: 0;
}

.onfocus .video-play {
  min-height: 400px;
  background: linear-gradient(rgba(var(--color-black-rgb), 0.4), rgba(var(--color-black-rgb), 0.7)), url("../img/onfocus-video-bg.jpg") center center;
  background-size: cover;
}

.onfocus .content {
  background: linear-gradient(rgba(var(--color-secondary-rgb), 0.5), rgba(var(--color-secondary-rgb), 0.8)), url("../img/onfocus-content-bg.jpg") center center;
  background-size: cover;
  color: rgba(var(--color-white-rgb), 0.8);
  padding: 40px;
}

@media (min-width: 768px) {
  .onfocus .content {
    padding: 80px;
  }
}

.onfocus .content h3 {
  font-weight: 600;
  font-size: 32px;
  color: var(--color-white);
}

.onfocus .content ul {
  list-style: none;
  padding: 0;
}

.onfocus .content ul li {
  padding-bottom: 10px;
}

.onfocus .content ul i {
  font-size: 20px;
  padding-right: 4px;
  color: var(--color-primary);
}

.onfocus .content p:last-child {
  margin-bottom: 0;
}

.onfocus .content .read-more {
  font-family: var(--font-primary);
  font-weight: 500;
  font-size: 16px;
  letter-spacing: 1px;
  padding: 12px 24px;
  border-radius: 5px;
  transition: 0.3s;
  display: -nline-flex;
  align-items: center;
  justify-content: center;
  color: var(--color-white);
  background: var(--color-primary);
}

.onfocus .content .read-more i {
  font-size: 18px;
  margin-left: 5px;
  line-height: 0;
  transition: 0.3s;
}

.onfocus .content .read-more:hover {
  background: rgba(var(--color-primary-rgb), 0.9);
  padding-right: 19px;
}

.onfocus .content .read-more:hover i {
  margin-left: 10px;
}

.onfocus .play-btn {
  width: 94px;
  height: 94px;
  background: radial-gradient(var(--color-primary) 50%, rgba(var(--color-primary-rgb), 0.4) 52%);
  border-radius: 50%;
  display: block;
  position: absolute;
  left: calc(50% - 47px);
  top: calc(50% - 47px);
  overflow: hidden;
}

.onfocus .play-btn:before {
  content: "";
  position: absolute;
  width: 120px;
  height: 120px;
  -webkit-animation-delay: 0s;
  animation-delay: 0s;
  -webkit-animation: pulsate-btn 2s;
  animation: pulsate-btn 2s;
  -webkit-animation-direction: forwards;
  animation-direction: forwards;
  -webkit-animation-iteration-count: infinite;
  animation-iteration-count: infinite;
  -webkit-animation-timing-function: steps;
  animation-timing-function: steps;
  opacity: 1;
  border-radius: 50%;
  border: 5px solid rgba(var(--color-primary-rgb), 0.7);
  top: -15%;
  left: -15%;
  background: rgba(198, 16, 0, 0);
}

.onfocus .play-btn:after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translateX(-40%) translateY(-50%);
  width: 0;
  height: 0;
  border-top: 10px solid transparent;
  border-bottom: 10px solid transparent;
  border-left: 15px solid var(--color-white);
  z-index: 100;
  transition: all 400ms cubic-bezier(0.55, 0.055, 0.675, 0.19);
}

.onfocus .play-btn:hover:before {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translateX(-40%) translateY(-50%);
  width: 0;
  height: 0;
  border: none;
  border-top: 10px solid transparent;
  border-bottom: 10px solid transparent;
  border-left: 15px solid var(--color-white);
  z-index: 200;
  -webkit-animation: none;
  animation: none;
  border-radius: 0;
}

.onfocus .play-btn:hover:after {
  border-left: 15px solid var(--color-primary);
  transform: scale(20);
}

@-webkit-keyframes pulsate-btn {
  0% {
    transform: scale(0.6, 0.6);
    opacity: 1;
  }

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

@keyframes pulsate-btn {
  0% {
    transform: scale(0.6, 0.6);
    opacity: 1;
  }

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

/*--------------------------------------------------------------
# Features Section
--------------------------------------------------------------*/
.features .nav-tabs {
  border: 0;
}

.features .nav-link {
  border: 0;
  padding: 25px 20px;
  color: var(--color-secondary);
  box-shadow: 5px 5px 25px rgba(var(--color-secondary-rgb), 0.15);
  border-radius: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  transition: 0s;
  cursor: pointer;
  height: 100%;
}

.features .nav-link i {
  font-size: 32px;
  line-height: 0;
}

.features .nav-link h4 {
  font-size: 20px;
  font-weight: 600;
  margin: 10px 0 0 0;
  color: var(--color-secondary);
}

.features .nav-link:hover {
  color: var(--color-primary);
}

.features .nav-link.active {
  transition: 0.3s;
  background: var(--color-secondary) linear-gradient(rgba(var(--color-primary-rgb), 0.95), rgba(var(--color-primary-rgb), 0.6));
  border-color: var(--color-primary);
}

.features .nav-link.active h4 {
  color: var(--color-white);
}

.features .nav-link.active i {
  color: var(--color-white) !important;
}

.features .tab-content {
  margin-top: 30px;
}

.features .tab-pane.active {
  -webkit-animation: fadeIn 0.5s ease-out;
  animation: fadeIn 0.5s ease-out;
}

.features .tab-pane h3 {
  font-weight: 600;
  font-size: 36px;
  color: var(--color-secondary);
}

.features .tab-pane ul {
  list-style: none;
  padding: 0;
}

.features .tab-pane ul li {
  padding-bottom: 10px;
}

.features .tab-pane ul i {
  font-size: 24px;
  margin-right: 4px;
  color: var(--color-primary);
}

.features .tab-pane p:last-child {
  margin-bottom: 0;
}

@keyframes fadeIn {
  0% {
    opacity: 0;
  }

  100% {
    opacity: 1;
  }
}

/*--------------------------------------------------------------
# Services Section
--------------------------------------------------------------*/
.services .img {
  border-radius: 8px;
  overflow: hidden;
}

.services .img img {
  transition: 0.6s;
}

.services .details {
  padding: 50px 30px;
  margin: -100px 30px 0 30px;
  transition: all ease-in-out 0.3s;
  background: var(--color-white);
  position: relative;
  background: rgba(var(--color-white-rgb), 0.9);
  text-align: center;
  border-radius: 8px;
  box-shadow: 0px 0 25px rgba(var(--color-black-rgb), 0.1);
}

.services .details .icon {
  margin: 0;
  width: 72px;
  height: 72px;
  background: var(--color-primary);
  border-radius: 50px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 20px;
  color: var(--color-white);
  font-size: 28px;
  transition: ease-in-out 0.3s;
  position: absolute;
  top: -36px;
  left: calc(50% - 36px);
  border: 6px solid var(--color-white);
}

.services .details h3 {
  color: var(--color-default);
  font-weight: 700;
  margin: 10px 0 15px 0;
  font-size: 22px;
  transition: ease-in-out 0.3s;
}

.services .details p {
  line-height: 24px;
  font-size: 14px;
  margin-bottom: 0;
}

.services .service-item:hover .details h3 {
  color: var(--color-primary);
}

.services .service-item:hover .details .icon {
  background: var(--color-white);
  border: 2px solid var(--color-primary);
}

.services .service-item:hover .details .icon i {
  color: var(--color-primary);
}

.services .service-item:hover .img img {
  transform: scale(1.2);
}

/*--------------------------------------------------------------
# Testimonials Section
--------------------------------------------------------------*/
.testimonials {
  padding: 80px 0;
  background: url("../img/bg-quote.png") no-repeat;
  background-position: right bottom;
  background-size: cover;
  position: relative;
}

.testimonials::before {
  content: "";
  position: absolute;
  inset: 0;
  /*background: linear-gradient(to top, rgba(0, 0, 0, 1), rgba(0, 0, 0, 0));*/
}

.testimonials .section-header {
  margin-bottom: 40px;
}

.testimonials .testimonials-carousel,
.testimonials .testimonials-slider {
  overflow: hidden;
}

.testimonials .testimonial-item {
  text-align: center;
  color: var(--color-black);
}

.testimonials .testimonial-item .testimonial-img {
  width: 100px;
  border-radius: 50%;
  border: 6px solid rgba(var(--color-white-rgb), 0.15);
  margin: 0 auto;
}

.testimonials .testimonial-item h3 {
  font-size: 20px;
  font-weight: bold;
  margin: 10px 0 5px 0;
  color: var(--color-white);
}

.testimonials .testimonial-item h4 {
  font-size: 14px;
  color: rgba(var(--color-white-rgb), 0.6);
  margin: 0 0 15px 0;
}

.testimonials .testimonial-item .stars {
  margin-bottom: 15px;
}

.testimonials .testimonial-item .stars i {
  color: var(--color-yellow);
  margin: 0 1px;
}

.testimonials .testimonial-item .quote-icon-left,
.testimonials .testimonial-item .quote-icon-right {
  color: rgba(var(--color-white-rgb), 0.6);
  font-size: 26px;
  line-height: 0;
}

.testimonials .testimonial-item .quote-icon-left {
  display: inline-block;
  left: -5px;
  position: relative;
}

.testimonials .testimonial-item .quote-icon-right {
  display: inline-block;
  right: -5px;
  position: relative;
  top: 10px;
  transform: scale(-1, -1);
}

.testimonials .testimonial-item p {
  font-style: italic;
  margin: 0 auto 15px auto;
  font-family: "LyonText-Regular", helvetica, sans-serif;
  
}

.testimonials .swiper-pagination {
  margin-top: 20px;
  position: relative;
}

.testimonials .swiper-pagination .swiper-pagination-bullet {
  width: 12px;
  height: 12px;
  background-color: rgba(var(--color-white-rgb), 0.4);
  opacity: 0.5;
}

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


@media (max-width: 992px) {
  .testimonials {
      padding: 40px 20px;
  }
}
@media (min-width: 992px) {
  .testimonials .testimonial-item p {
    width: 80%;
  }

}


/*--------------------------------------------------------------
# Portfolio Section
--------------------------------------------------------------*/

.portfolio .portfolio-flters {
  padding: 0;
  margin: 0 auto 30px auto;
  list-style: none;
  text-align: center;
}

.portfolio .portfolio-flters li {
  cursor: pointer;
  display: inline-block;
  padding: 0;
  font-size: 18px;
  font-weight: 300;
  margin: 0 10px;
  line-height: 1;
  margin-bottom: 5px;
  transition: all 0.3s ease-in-out;
}

.portfolio .portfolio-flters li:hover,
.portfolio .portfolio-flters li.filter-active {
  color: var(--color-primary);
}

.portfolio .portfolio-flters li:first-child {
  margin-left: 0;
}

.portfolio .portfolio-flters li:last-child {
  margin-right: 0;
}

.portfolio p {
  margin-bottom: 40px;
}


@media (max-width: 575px) {
  .portfolio .portfolio-flters li {
    font-size: 14px;
    margin: 0 5px;
  }
}

.portfolio .portfolio-item {
  position: relative;
  border: 1px solid var(--color-white);
  overflow: hidden;
  z-index: 1;
}

.portfolio .portfolio-item img {
  transition: all 0.3s;
}

.portfolio .portfolio-item:before {
  content: "";
  inset: 0;
  position: absolute;
  background: rgba(195, 255, 54, .7);
  z-index: 2;
  transition: 0.5s;
  visibility: hidden;
  opacity: 0;
}

.portfolio .portfolio-item .portfolio-info {
  opacity: 0;
  position: absolute;
  inset: auto 40px 40px 40px;
  z-index: 3;
  transition: all ease-in-out 0.3s;
  padding: 20px;
}

.portfolio .portfolio-item .portfolio-info h4 {
  font-size: 18px;
  font-weight: 600;
  color: black;
  padding-right: 50px;
}

.portfolio .portfolio-item .portfolio-info .preview-link,
.portfolio .portfolio-item .portfolio-info .details-link {
  position: absolute;
  right: 50px;
  font-size: 24px;
  top: calc(50% - 14px);
  color: rgba(var(--color-white-rgb), 0.7);
  transition: 0.3s;
  line-height: 0;
}

.portfolio .portfolio-item .portfolio-info .preview-link:hover,
.portfolio .portfolio-item .portfolio-info .details-link:hover {
  color: var(--color-white);
}

.portfolio .portfolio-item .portfolio-info .details-link {
  right: 14px;
  font-size: 28px;
}

.portfolio .portfolio-item:hover:before {
  visibility: visible;
  opacity: 1;
}

.portfolio .portfolio-item:hover img {
  transform: scale(1.2);
}

.portfolio .portfolio-item:hover .portfolio-info {
  opacity: 1;
  inset: auto 10px 0 10px;
}

/*--------------------------------------------------------------
# Team Section
--------------------------------------------------------------*/
.team .team-member .member-img {
  border-radius: 8px;
  overflow: hidden;
}

.team .team-member .social {
  position: absolute;
  left: 0;
  top: -18px;
  right: 0;
  opacity: 0;
  transition: ease-in-out 0.3s;
  display: flex;
  align-items: center;
  justify-content: center;
}

.team .team-member .social a {
  transition: color 0.3s;
  color: var(--color-white);
  background: var(--color-primary);
  margin: 0 5px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  transition: 0.3s;
}

.team .team-member .social a i {
  line-height: 0;
  font-size: 16px;
}

.team .team-member .social a:hover {
  background: var(--color-primary-light);
}

.team .team-member .social i {
  font-size: 18px;
  margin: 0 2px;
}

.team .team-member .member-info {
  padding: 30px 15px;
  text-align: center;
  box-shadow: 0px 2px 15px rgba(var(--color-black-rgb), 0.1);
  background: var(--color-white);
  margin: -50px 20px 0 20px;
  position: relative;
  border-radius: 8px;
}

.team .team-member .member-info h4 {
  font-weight: 400;
  margin-bottom: 5px;
  font-size: 24px;
  color: var(--color-secondary);
}

.team .team-member .member-info span {
  display: block;
  font-size: 16px;
  font-weight: 400;
  color: var(--color-gray);
}

.team .team-member .member-info p {
  font-style: italic;
  font-size: 14px;
  line-height: 26px;
  color: var(--color-gray);
}

.team .team-member:hover .social {
  opacity: 1;
}

/*--------------------------------------------------------------
# Recent Blog Posts
--------------------------------------------------------------*/
.recent-blog-posts .post-box {
  transition: 0.3s;
  height: 100%;
  overflow: hidden;
  position: relative;
  display: flex;
  flex-direction: column;
}

.recent-blog-posts .post-box .post-img {
  overflow: hidden;
  position: relative;
  border-radius: 10px;
}

.recent-blog-posts .post-box .post-img img {
  transition: 0.5s;
}

.recent-blog-posts .post-box .meta {
  margin-top: 15px;
}

.recent-blog-posts .post-box .meta .post-date {
  font-size: 15px;
  font-weight: 400;
  color: var(--color-primary);
}

.recent-blog-posts .post-box .meta .post-author {
  font-size: 15px;
  font-weight: 400;
  color: var(--color-secondary);
}

.recent-blog-posts .post-box .post-title {
  font-size: 24px;
  color: var(--color-secondary);
  font-weight: 700;
  margin: 15px 0 0 0;
  position: relative;
  transition: 0.3s;
}

.recent-blog-posts .post-box p {
  margin: 15px 0 0 0;
  color: rgba(var(--color-secondary-dark-rgb), 0.7);
}

.recent-blog-posts .post-box .readmore {
  display: flex;
  align-items: center;
  font-weight: 600;
  line-height: 1;
  transition: 0.3s;
  margin-top: 15px;
}

.recent-blog-posts .post-box .readmore i {
  line-height: 0;
  margin-left: 4px;
  font-size: 18px;
}

.recent-blog-posts .post-box:hover .post-title {
  color: var(--color-primary);
}

.recent-blog-posts .post-box:hover .post-img img {
  transform: scale(1.1);
}

/*--------------------------------------------------------------
# Contact Section
--------------------------------------------------------------*/
.contact .map {
  margin-bottom: 40px;
}

.contact .map iframe {
  border: 0;
  width: 100%;
  height: 400px;
}

.contact .info {
  padding: 40px;
  box-shadow: 0px 2px 15px rgba(var(--color-black-rgb), 0.1);
  overflow: hidden;
}

.contact .info h3 {
  font-weight: 600;
  font-size: 24px;
}

.contact .info p {
  color: var(--color-secondary-light);
  margin-bottom: 30px;
  font-size: 15px;
}

.contact .info-item+.info-item {
  padding-top: 20px;
  margin-top: 20px;
  border-top: 1px solid rgba(var(--color-secondary-rgb), 0.15);
}

.contact .info-item i {
  font-size: 24px;
  color: var(--color-primary);
  transition: all 0.3s ease-in-out;
  margin-right: 20px;
}

.contact .info-item h4 {
  padding: 0;
  font-size: 18px;
  font-weight: 600;
  margin-bottom: 5px;
  color: var(--color-secondary);
}

.contact .info-item p {
  padding: 0;
  margin-bottom: 0;
  font-size: 14px;
  color: var(--color-secondary-light);
}

.contact .php-email-form {
  width: 100%;
  background: var(--color-white);
}

.contact .php-email-form .form-group {
  padding-bottom: 8px;
}

.contact .php-email-form .error-message {
  display: none;
  color: var(--color-white);
  background: var(--color-red);
  text-align: left;
  padding: 15px;
  font-weight: 600;
}

.contact .php-email-form .error-message br+br {
  margin-top: 25px;
}

.contact .php-email-form .sent-message {
  display: none;
  color: var(--color-white);
  background: var(--color-green);
  text-align: center;
  padding: 15px;
  font-weight: 600;
}

.contact .php-email-form .loading {
  display: none;
  background: var(--color-white);
  text-align: center;
  padding: 15px;
}

.contact .php-email-form .loading:before {
  content: "";
  display: inline-block;
  border-radius: 50%;
  width: 24px;
  height: 24px;
  margin: 0 10px -6px 0;
  border: 3px solid var(--color-green);
  border-top-color: var(--color-white);
  -webkit-animation: animate-loading 1s linear infinite;
  animation: animate-loading 1s linear infinite;
}

.contact .php-email-form input[type=text],
.contact .php-email-form input[type=email],
.contact .php-email-form textarea {
  border-radius: 0px;
  box-shadow: none;
  font-size: 14px;
}

.contact .php-email-form input[type=text]:focus,
.contact .php-email-form input[type=email]:focus,
.contact .php-email-form textarea:focus {
  border-color: var(--color-secondary-light);
}

.contact .php-email-form input[type=text],
.contact .php-email-form input[type=email] {
  height: 48px;
  padding: 10px 15px;
}

.contact .php-email-form textarea {
  padding: 10px 12px;
  height: 290px;
}

.contact .php-email-form button[type=submit] {
  background: var(--color-primary);
  border: 0;
  padding: 13px 50px;
  color: var(--color-white);
  transition: 0.4s;
  border-radius: 0;
}

.contact .php-email-form button[type=submit]:hover {
  background: rgba(var(--color-primary-rgb), 0.85);
}

@-webkit-keyframes animate-loading {
  0% {
    transform: rotate(0deg);
  }

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

@keyframes animate-loading {
  0% {
    transform: rotate(0deg);
  }

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


.footer .footer-content .footer-info p .contat.mobile,
.footer .footer-content .footer-info p .contat.email {
  display: block;
  padding: 0 10px;
}

.footer .footer-content .footer-info p a {
  
  margin-right: 25px;
  padding: 0 10px;
}


/*--------------------------------------------------------------
# Portfolio Details
--------------------------------------------------------------*/
.portfolio-details {
  padding-top: 40px;
}

.portfolio-details .portfolio-details-slider img {
  width: 100%;
}

.portfolio-details .portfolio-details-slider .swiper-pagination {
  margin-top: 20px;
  position: relative;
}

.portfolio-details .portfolio-details-slider .swiper-pagination .swiper-pagination-bullet {
  width: 12px;
  height: 12px;
  background-color: var(--color-white);
  opacity: 1;
  border: 1px solid var(--color-primary);
}

.portfolio-details .portfolio-details-slider .swiper-pagination .swiper-pagination-bullet-active {
  background-color: var(--color-primary);
}

.portfolio-details .portfolio-info {
  padding: 30px;
  box-shadow: 0px 0 30px rgba(var(--color-secondary-rgb), 0.15);
}

.portfolio-details .portfolio-info h3 {
  font-size: 22px;
  font-weight: 700;
  margin-bottom: 20px;
  padding-bottom: 20px;
  border-bottom: 1px solid var(--color-secondary-light);
}

.portfolio-details .portfolio-info ul {
  list-style: none;
  padding: 0;
  font-size: 15px;
}

.portfolio-details .portfolio-info ul li+li {
  margin-top: 10px;
}

.portfolio-details .portfolio-description {
  padding-top: 30px;
}

.portfolio-details .portfolio-description h2 {
  font-size: 26px;
  font-weight: 700;
  margin-bottom: 20px;
}

.portfolio-details .portfolio-description p {
  padding: 0;
}



/*--------------------------------------------------------------
# Footer
--------------------------------------------------------------*/
.footer {
  color: var(--color-white);
  font-size: 14px;
}

.footer .footer-content {
  background: #000;
  padding: 60px 0 30px 0;
  padding-bottom: 0;
}

.footer .footer-content .footer-info {
  margin-bottom: 30px;
}

.footer .footer-content .footer-info h3 {
  margin: 0 0 40px 0;
  padding: 2px 0 2px 0;
  font-size: 30px;
  line-height: 1;
  letter-spacing: .065rem;
  font-weight: 500;
  color: #fff;
  /*text-transform: uppercase;*/
}

.footer .footer-content .footer-info h3 span {
  color: var(--color-primary);
}

.footer .footer-content .footer-info p {
  font-size: 14px;
  letter-spacing: .075rem;
  line-height: 24px;
  margin-bottom: 0;
  font-family: var(--font-primary);
  color: var(--color-white);
}

.footer .footer-content h4 {
  font-size: 16px;
  font-weight: 600;
  color: var(--color-white);
  position: relative;
  padding-bottom: 12px;
  margin-bottom: 15px;
}

.footer .footer-content h4::after {
  content: "";
  position: absolute;
  display: block;
  width: 20px;
  height: 2px;
  background: var(--color-primary);
  bottom: 0;
  left: 0;
}

.footer .footer-content .footer-links {
  margin-bottom: 30px;
}

.footer .footer-content .footer-links ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.footer .footer-content .footer-links ul i {
  padding-right: 2px;
  color: var(--color-white);
  font-size: 12px;
  line-height: 1;
}

.footer .footer-content .footer-links ul li {
  padding: 10px 0;
  display: flex;
  align-items: center;
}

.footer .footer-content .footer-links ul li:first-child {
  padding-top: 0;
}

.footer .footer-content .footer-links ul a {
  color: rgba(var(--color-white-rgb), 0.7);
  transition: 0.3s;
  display: inline-block;
  line-height: 1;
}

.footer .footer-content .footer-links ul a:hover {
  color: var(--color-white);
}

.footer .footer-content .footer-newsletter form {
  margin-top: 30px;
  background: var(--color-white);
  padding: 6px 10px;
  position: relative;
  border-radius: 4px;
}

.footer .footer-content .footer-newsletter form input[type=email] {
  border: 0;
  padding: 4px;
  width: calc(100% - 110px);
}

.footer .footer-content .footer-newsletter form input[type=email]:focus-visible {
  outline: none;
}

.footer .footer-content .footer-newsletter form input[type=submit] {
  position: absolute;
  top: 0;
  right: -2px;
  bottom: 0;
  border: 0;
  background: none;
  font-size: 16px;
  padding: 0 20px;
  background: var(--color-primary);
  color: var(--color-white);
  transition: 0.3s;
  border-radius: 0 4px 4px 0;
}

.footer .footer-content .footer-newsletter form input[type=submit]:hover {
  background: rgba(var(--color-primary-rgb), 0.85);
}

.footer .footer-legal {
  padding: 30px 0;
  background: #000000;;
}

.footer .footer-legal .credits {
  padding-top: 4px;
  font-size: 13px;
  color: var(--color-white);
}

.footer .footer-legal .credits a {
  color: var(--color-primary-light);
}

.footer .footer-legal .social-links a {
  font-size: 24px;
  display: inline-block;
  background: black;
  color: black;
  line-height: 1;
  padding: 10px 0;
  margin-right: 4px;
  border-radius: 22px;
  text-align: center;
  width: 44px;
  height: 44px;
}

.footer .footer-legal .social-links a:hover {
  background: #70fdd1;
  text-decoration: none;
  color: #70fdd1;
}

.bi-linkedin:hover::before {
    content: "\f472";

    color: #70fdd1;
}



@media (min-width: 992px) {
    .pt-lg-5 {
        padding-top: 10rem !important;
        width: 85%;
    }
}

@media (max-width: 992px) {
  #main .index p {
    padding-right: 20px;
  }
}




/*--------------------------------------------------------------
# General
--------------------------------------------------------------*/
body {
  font-family: "Open Sans", sans-serif;
  color: #444444;
}

p {
  letter-spacing: .0125rem;
  font-weight: 300;
}

a {
  color: #05a2ee;
  text-decoration: none;
}

a:hover {
  color: #51cdbe;
  text-decoration: none;
}

h1,
h2,
h3,
h4,
h5,
h6 {

}

#main {
  margin-top: 50px;
}





[brand-rv2] {
  width: 55px;
  height: 36px;
  background-image: url("data:image/svg+xml,%3Csvg%20width%3D%22632%22%20height%3D%22417%22%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20xmlns%3Axlink%3D%22http%3A//www.w3.org/1999/xlink%22%20xml%3Aspace%3D%22preserve%22%20overflow%3D%22hidden%22%3E%3Cg%3E%3Cg%3E%3Cpath%20d%3D%22M474.825%200C473.601%200%20472.451%200.562849%20471.704%201.52917L314.257%20206.309%20314.257%20206.982%20314%20206.639%20313.743%20206.982%20313.743%20206.309%20246.096%20118.323C244.101%20115.729%20245.974%20111.974%20249.254%20111.998L337.353%20112.647C338.577%20112.647%20339.727%20112.109%20340.486%20111.142L422.282%207.13134C424.301%204.56264%20422.477%200.782796%20419.21%200.782796L155.121%200.0122594C155.121%200.0122594%203.94114%200%203.94114%200%200.673212%200-1.16279%203.74307%200.820048%206.32402L313.743%20413.327%20313.743%20414%20314%20413.658%20314.257%20414%20314.257%20413.327%20627.18%206.32402C629.163%203.74307%20627.327%200%20624.059%200L474.825%200Z%22%20fill%3D%22%23000000%22%20fill-rule%3D%22evenodd%22%20fill-opacity%3D%221%22/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
  background-size: cover;
  background-repeat: no-repeat;
}



a.logo:hover [brand-rv2] {
  background-image: url("data:image/svg+xml,%3Csvg%20width%3D%22632%22%20height%3D%22417%22%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20xmlns%3Axlink%3D%22http%3A//www.w3.org/1999/xlink%22%20xml%3Aspace%3D%22preserve%22%20overflow%3D%22hidden%22%3E%3Cg%3E%3Cg%3E%3Cpath%20d%3D%22M474.825%200C473.601%200%20472.451%200.562849%20471.704%201.52917L314.257%20206.309%20314.257%20206.982%20314%20206.639%20313.743%20206.982%20313.743%20206.309%20246.096%20118.323C244.101%20115.729%20245.974%20111.974%20249.254%20111.998L337.353%20112.647C338.577%20112.647%20339.727%20112.109%20340.486%20111.142L422.282%207.13134C424.301%204.56264%20422.477%200.782796%20419.21%200.782796L155.121%200.0122594C155.121%200.0122594%203.94114%200%203.94114%200%200.673212%200-1.16279%203.74307%200.820048%206.32402L313.743%20413.327%20313.743%20414%20314%20413.658%20314.257%20414%20314.257%20413.327%20627.18%206.32402C629.163%203.74307%20627.327%200%20624.059%200L474.825%200Z%22%20fill%3D%22%2305a2ee%22%20fill-rule%3D%22evenodd%22%20fill-opacity%3D%221%22/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
}



a.logo:hover [brand-rv2] + h1 {
   color: #05a2ee;
}





@media (max-width: 992px) {
  #main {
    margin-top: 30px;
  }
}

/*--------------------------------------------------------------
# Preloader
--------------------------------------------------------------*/
#preloader {
  position: fixed;
  inset: 0;
  z-index: 9999;
  overflow: hidden;
  background: var(--color-white);
  transition: all 0.6s ease-out;
  width: 100%;
  height: 100vh;
}

#preloader:before,
#preloader:after {
  content: "";
  position: absolute;
  border: 4px solid var(--color-primary);
  border-radius: 50%;
  -webkit-animation: animate-preloader 2s cubic-bezier(0, 0.2, 0.8, 1) infinite;
  animation: animate-preloader 2s cubic-bezier(0, 0.2, 0.8, 1) infinite;
}

#preloader:after {
  -webkit-animation-delay: -0.5s;
  animation-delay: -0.5s;
}

@-webkit-keyframes animate-preloader {
  0% {
    width: 10px;
    height: 10px;
    top: calc(50% - 5px);
    left: calc(50% - 5px);
    opacity: 1;
  }

  100% {
    width: 72px;
    height: 72px;
    top: calc(50% - 36px);
    left: calc(50% - 36px);
    opacity: 0;
  }
}

@keyframes animate-preloader {
  0% {
    width: 10px;
    height: 10px;
    top: calc(50% - 5px);
    left: calc(50% - 5px);
    opacity: 1;
  }

  100% {
    width: 72px;
    height: 72px;
    top: calc(50% - 36px);
    left: calc(50% - 36px);
    opacity: 0;
  }
}




#preloader {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 9999;
  overflow: hidden;
  background: rgba(195, 255, 54, .1);
}

#preloader:before {
  content: "";
  position: fixed;
  top: calc(50% - 135px);
  left: calc(50% - 135px);
  border: 4px solid #4733ef;
  border: 4px solid #32d5fc;
  border-top-color: #d8d5ed;
  border-radius: 50%;
  width: 270px;
  height: 270px;
  -webkit-animation: animate-preloader 1s linear infinite;
  animation: animate-preloader 1s linear infinite;
}

@-webkit-keyframes animate-preloader {
  0% {
    transform: rotate(0deg);
  }

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

@keyframes animate-preloader {
  0% {
    transform: rotate(0deg);
  }

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





/*--------------------------------------------------------------
# Back to top button
--------------------------------------------------------------*/
.back-to-top {
  position: fixed;
  visibility: hidden;
  opacity: 0;
  right: 15px;
  bottom: 15px;
  z-index: 996;
  background: #34b7a7;
  width: 40px;
  height: 40px;
  border-radius: 50px;
  transition: all 0.4s;
}

.back-to-top i {
  font-size: 24px;
  color: #fff;
  line-height: 0;
}

.back-to-top:hover {
  background: #49cbbb;
  color: #fff;
}

.back-to-top.active {
  visibility: visible;
  opacity: 1;
}

/*--------------------------------------------------------------
# Header
--------------------------------------------------------------*/
#header {
  background: #e9e8e6;
  background: #f0f0f1;
  /*background: rgb(240 240 241 / 70%);*/
  z-index: 997;
  padding: 15px 0;
  padding: 15px 6%;
  padding-bottom: 3px;
}

#header .logo {
  font-size: 32px;
  margin: 0;
  padding: 0;
  line-height: 1;
  font-weight: 400;
  letter-spacing: 2px;
  text-transform: uppercase;
}

#header .logo a {
  color: #222222;
}

#header .logo img {
  max-height: 40px;
}

@media (max-width: 992px) {
  #header .logo {
    font-size: 28px;
  }
}

/*--------------------------------------------------------------
# Header Social Links
--------------------------------------------------------------*/
.header-social-links {
  padding-right: 15px;
}

.header-social-links a {
  color: #6f6f6f;
  padding-left: 6px;
  display: inline-block;
  line-height: 0px;
  transition: 0.3s;
  font-size: 16px;
}

.header-social-links a:hover {
  color: #34b7a7;
}

/*--------------------------------------------------------------
# Navigation Menu
--------------------------------------------------------------*/

.mobile-nav-toggle {
  color: #222222;
  font-size: 28px;
  cursor: pointer;
  display: none;
  line-height: 0;
  transition: 0.5s;
}

.mobile-nav-toggle.bi-x {
  color: #fff;
  /*color: #00333C;*/
}

@media (max-width: 991px) {
  .mobile-nav-toggle {
    display: block;
  }

  .navbar ul {
    display: none;
  }
}

.navbar-mobile {
  position: fixed;
  overflow: hidden;
  top: 0;
  right: 0;
  left: 0;
  bottom: 0;
  /*background: rgba(9, 9, 9, 0.9);
  background: #32d5fc;*/
  background: #000000;
  transition: 0.3s;
  z-index: 999;
}

.navbar-mobile .mobile-nav-toggle {
  position: absolute;
  top: 15px;
  right: 15px;
}

.navbar-mobile ul {
  display: block;
  position: absolute;
  top: 55px;
  list-style-type: none;
  bottom: 15px;
  /*background-color: #32d5fc;*/
  background-color: #000;
  overflow-y: auto;
  transition: 0.3s;
}

.navbar-mobile a,
.navbar-mobile a:focus {
  font-size: 17px;
  padding-right: 15px;
  /*color: #00333C;*/
  color: #fff;
}

.navbar-mobile a:hover,
.navbar-mobile .active,
.navbar-mobile li:hover>a {
  color: white;
}

.navbar-mobile .getstarted,
.navbar-mobile .getstarted:focus {
  margin: 15px;
}

.navbar-mobile .dropdown ul {
  position: static;
  display: none;
  margin: 0px;
  padding: 0;
  z-index: 99;
  opacity: 1;
  visibility: visible;
  background: none;
}

.navbar-mobile .dropdown ul li {
  min-width: 200px;
}

.navbar-mobile .dropdown ul li.nactive {
  border-left: 6px solid #32d5fc;
  /*border-left: 6px solid #000;*/
}

.navbar-mobile .dropdown ul a {
  padding: 20px 48px;
  background-color: #0b1315;
}

.navbar-mobile .dropdown ul a i {
  font-size: 12px;
}

.navbar-mobile .dropdown ul a:hover,
.navbar-mobile .dropdown ul .active:hover,
.navbar-mobile .dropdown ul li:hover>a {
  color: white;
}

.navbar-mobile .dropdown>.dropdown-active {
  display: block;
}

/*--------------------------------------------------------------
# Hero Section
--------------------------------------------------------------*/
#hero {
  width: 100%;
  height: 100vh;
  background: url("../img/hero-bg.jpg") top right;
  background-size: cover;
}

#hero .container {
  padding-top: 70px;
  position: relative;
}

@media (max-width: 992px) {
  #hero .container {
    padding-top: 58px;
  }
}

#hero h1 {
  margin: 0;
  font-size: 48px;
  font-weight: 700;
  line-height: 56px;
  color: #222222;
}

#hero h2 {
  color: #6f6f6f;
  margin: 10px 0 0 0;
  font-size: 22px;
}

#hero .btn-about {
  font-family: "Raleway", sans-serif;
  text-transform: uppercase;
  font-weight: 600;
  font-size: 12px;
  letter-spacing: 1px;
  display: inline-block;
  padding: 12px 40px;
  border-radius: 50px;
  transition: 0.5s;
  margin-top: 30px;
  color: #fff;
  background: #34b7a7;
}

#hero .btn-about:hover {
  background: #3dc8b7;
}

@media (min-width: 1024px) {
  #hero {
    background-attachment: fixed;
  }
}

@media (max-width: 992px) {
  #hero:before {
    content: "";
    background: rgba(255, 255, 255, 0.8);
    position: absolute;
    bottom: 0;
    top: 0;
    left: 0;
    right: 0;
  }

  #hero h1 {
    font-size: 28px;
    line-height: 36px;
  }

  #hero h2 {
    font-size: 18px;
    line-height: 24px;
  }
}

/*--------------------------------------------------------------
# Sections General
--------------------------------------------------------------*/
section {
  padding: 60px 0;
}

.section-bg {
  background-color: #e7f8f6;
}

.section-title {
  text-align: center;
  padding-bottom: 30px;
}

.section-title h2 {
  font-size: 32px;
  font-weight: bold;
  text-transform: uppercase;
  margin-bottom: 20px;
  padding-bottom: 20px;
  position: relative;
}

.section-title h2::after {
  content: "";
  position: absolute;
  display: block;
  width: 50px;
  height: 3px;
  background: #34b7a7;
  bottom: 0;
  left: calc(50% - 25px);
}

.section-title p {
  margin-bottom: 0;
}

/*--------------------------------------------------------------
# Cta
--------------------------------------------------------------*/
.cta {
  background: linear-gradient(rgba(0, 0, 0, 0.6), rgba(0, 0, 0, 0.6)), url("../img/bg-1.jpg") fixed center center;
  background-size: cover;
  padding: 80px 0;
}

.cta h3 {
  color: #fff;
  font-size: 28px;
  font-weight: 700;
}

.cta p {
  color: #fff;
}

.cta .cta-btn {
  font-family: "Raleway", sans-serif;
  text-transform: uppercase;
  font-weight: 500;
  font-size: 16px;
  letter-spacing: 1px;
  display: inline-block;
  padding: 8px 20px;
  border-radius: 2px;
  transition: 0.5s;
  margin: 10px;
  border: 2px solid #fff;
  color: #fff;
}

.cta .cta-btn:hover {
  background: #34b7a7;
  border: 2px solid #34b7a7;
}

@media (max-width: 1024px) {
  .cta {
    background-attachment: scroll;
  }
}

@media (min-width: 769px) {
  .cta .cta-btn-container {
    display: flex;
    align-items: center;
    justify-content: flex-end;
  }
}

/*--------------------------------------------------------------
# About
--------------------------------------------------------------*/
.about .content h3 {
  font-weight: 700;
  font-size: 26px;
  color: #555555;
}

.about .content ul {
  list-style: none;
  padding: 0;
}

.about .content ul li {
  padding-bottom: 10px;
}

.about .content ul i {
  font-size: 20px;
  padding-right: 2px;
  color: #34b7a7;
}

.about .content p:last-child {
  margin-bottom: 0;
}

/*--------------------------------------------------------------
# Skills
--------------------------------------------------------------*/
.skills-content p b {
  /*font-size: 85%;
  font-weight: 300;*/
  font-size: 100%;
  font-weight: 600;
}

.skills img {
  height: 94px; 
  width: 100px; 
  opacity: .75;
}

.skills .progress {
  margin-top: 50px;  
  height: 60px;
  display: block;
  background: none;
  border-radius: 0;
}

.skills .progress .skill {
  margin: 0 0 6px 0;
  text-transform: uppercase;
  display: block;
  padding-top: 25px; /* if you switcch back to old format remove this line */
  font-weight: 600;
  letter-spacing: .025rem;
  font-family: "Poppins", sans-serif;
  color: #222222;
}

.skills .progress .skill .val {
  float: right;
  font-style: normal;
  color: #f8f8f8;
}

.skills .progress-bar-wrap {
  background: #f3f3f3;
}

.skills .progress-bar {
  width: 1px;
  height: 2px;
  transition: 0.9s;
  background-color: #34b7a7;
}

.skills-list {
  margin-top: 12px;
}




.skills-list ul,
.skills-list ul li {
  list-style-type: none;
  padding: 0;           
  margin: 0;
  border-bottom: 1px dotted #d7d7d7;  
}

.skills-list ul li:last-child {
/*  list-style-type: none;
  padding: 0;           
  margin: 0;*/
  border-bottom: 0;  
}

.skills-list .portfolio-info {

}

.skills-list h3 {
  margin-top: 30px;
  font-size: 95%;
  font-weight: bold;
}

.skills-list ul li {
  font-size: 90%;
  padding: 10px 0;
}

/*--------------------------------------------------------------
# Facts
--------------------------------------------------------------*/
.facts .counters span {
  font-size: 48px;
  font-size: 100px;
  display: block;
  color: #34b7a7;
}

/*.facts .counters:nth-child(2) span,
.row.counters .purecounter:nth-child(2) {
  margin-left: -20px;
}*/

.purecounter[data-purecounter-end="365536"] {
  position: relative;
  left: -24px;
}

.facts .counters p {
  padding: 0;
  margin: 0 0 20px 0;
  font-family: "Raleway", sans-serif;
  font-size: 14px;
}

/*--------------------------------------------------------------
# Testimonials
--------------------------------------------------------------*/
.testimonials .section-header {
  margin-bottom: 20px;
}

.testimonials .testimonials-carousel,
.testimonials .testimonials-slider {
  overflow: hidden;
  margin-bottom: 60px;
}

.testimonials .testimonial-item {
  text-align: center;
}

.testimonials .testimonial-item .testimonial-img {
  width: 120px;
  border-radius: 50%;
  border: 4px solid #fff;
  margin: 0 auto;
}

.testimonials .testimonial-item h3 {
  


    margin: 10px 0 20px 0;
    font-family: "Playfair Display", serif;
    font-size: 1.45rem;
    font-weight: 100;
    font-style: italic;
    letter-spacing: .15rem;
    transform: skew(-10.05deg);
    display: inline-block;
    letter-spacing: 0.0875rem;
    color: #7600b1;
    text-transform: lowercase;
}

.testimonials .testimonial-item .quote-icon-left,
.testimonials .testimonial-item .quote-icon-right {
  color: #c8efea;
  font-size: 26px;
}

.testimonials .testimonial-item .quote-icon-left {
  display: inline-block;
  left: -5px;
  position: relative;
}

.testimonials .testimonial-item .quote-icon-right {
  display: inline-block;
  right: -5px;
  position: relative;
  top: 10px;
}

.testimonials .testimonial-item p {
  margin: 0 auto 15px auto;
  padding-bottom: 18px;
  /*font-family: source-serif-pro, Georgia, Cambria, "Times New Roman", Times, serif;*/
  /*font-family: "Playfair Display", serif;*/
  /*font-size: 92%;
  letter-spacing: 0.040rem;*/
  font-style: italic;
  font-size: 100%;
  font-style: normal;
  font-size: 98%;
  letter-spacing: 0.0525rem;
}

.testimonials .testimonial-item p b,
.testimonials .testimonial-item span {
  display: block;
  font-size: 16px;
  font-weight: 500;
  /*color: #d7ff9c;*/
  /*color: white;*/
}

.testimonials .testimonial-item h4,
.testimonials .testimonial-item span:last-child {
  display: block;
  font-size: 14px;
  font-weight: 300;
  color: #999;
}


@media (max-width: 992px) {
.purecounter[data-purecounter-end="365536"] {
  position: relative;
  left: 0px;
}    
}

@media (min-width: 992px) {
  .testimonials .testimonial-item p {
    width: 80%;
    /*width: 100%;
    font-size: 1.25rem;
    line-height: 2.25rem;
    letter-spacing: .125rem;
    font-weight: 100;*/
  }

  .col-lg-7 {
    width: 47%;
    padding-left: 79px;
   }

}

.testimonials .swiper-pagination {
  /*margin-top: 20px;*/
  margin-top: 2.5rem;
  margin-bottom: 40px;
  position: relative;
}

.testimonials .swiper-pagination .swiper-pagination-bullet {
  width: 12px;
  height: 12px;
  background-color: #fff;
  opacity: 1;
  border: 1px solid #34b7a7;
}

.testimonials .swiper-pagination .swiper-pagination-bullet-active {
  background-color: #34b7a7;
}

/*--------------------------------------------------------------
# Resume
--------------------------------------------------------------*/




/*--------------------------------------------------------------
# Services
--------------------------------------------------------------*/
.services .icon-box {
  text-align: center;
  padding: 70px 20px 80px 20px;
  transition: all ease-in-out 0.3s;
  background: #fff;
  box-shadow: 0px 0 35px 0 rgba(0, 0, 0, 0.08);
}

.services .icon-box .icon {
  margin: 0 auto;
  width: 100px;
  height: 100px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: ease-in-out 0.3s;
  position: relative;
}

.services .icon-box .icon i {
  font-size: 36px;
  transition: 0.5s;
  position: relative;
}

.services .icon-box .icon svg {
  position: absolute;
  top: 0;
  left: 0;
}

.services .icon-box .icon svg path {
  transition: 0.5s;
  fill: #f5f5f5;
}

.services .icon-box h4 {
  font-weight: 600;
  margin: 10px 0 15px 0;
  font-size: 22px;
}

.services .icon-box h4 a {
  color: #222222;
  transition: ease-in-out 0.3s;
}

.services .icon-box p {
  line-height: 24px;
  font-size: 14px;
  margin-bottom: 0;
}

.services .iconbox-blue i {
  color: #47aeff;
}

.services .iconbox-blue:hover .icon i {
  color: #fff;
}

.services .iconbox-blue:hover .icon path {
  fill: #47aeff;
}

.services .iconbox-orange i {
  color: #ffa76e;
}

.services .iconbox-orange:hover .icon i {
  color: #fff;
}

.services .iconbox-orange:hover .icon path {
  fill: #ffa76e;
}

.services .iconbox-pink i {
  color: #e80368;
}

.services .iconbox-pink:hover .icon i {
  color: #fff;
}

.services .iconbox-pink:hover .icon path {
  fill: #e80368;
}

.services .iconbox-yellow i {
  color: #ffbb2c;
}

.services .iconbox-yellow:hover .icon i {
  color: #fff;
}

.services .iconbox-yellow:hover .icon path {
  fill: #ffbb2c;
}

.services .iconbox-red i {
  color: #ff5828;
}

.services .iconbox-red:hover .icon i {
  color: #fff;
}

.services .iconbox-red:hover .icon path {
  fill: #ff5828;
}

.services .iconbox-teal i {
  color: #11dbcf;
}

.services .iconbox-teal:hover .icon i {
  color: #fff;
}

.services .iconbox-teal:hover .icon path {
  fill: #11dbcf;
}

/*--------------------------------------------------------------
# Portfolio
--------------------------------------------------------------*/

.portfolio #portfolio-flters {
  padding: 0;
  margin: 0 auto 20px auto;
  list-style: none;
  text-align: center;
}

.portfolio #portfolio-flters li {
  cursor: pointer;
  display: inline-block;
  padding: 8px 16px 10px 16px;
  font-size: 13px;
  font-weight: 500;
  line-height: 1;
  text-transform: uppercase;
  color: #444444;
  margin-bottom: 5px;
  transition: all 0.3s ease-in-out;
  border-radius: 50px;
}

.portfolio #portfolio-flters li:hover,
.portfolio #portfolio-flters li.filter-active {
  color: #fff;
  background: #34b7a7;
}

.portfolio #portfolio-flters li:last-child {
  margin-right: 0;
}

.portfolio .portfolio-wrap {
  transition: 0.3s;
  position: relative;
  overflow: hidden;
  z-index: 1;
  background: rgba(34, 34, 34, 0.6);
}

.portfolio .portfolio-wrap::before {
  content: "";
  background: rgba(34, 34, 34, 0.6);
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  transition: all ease-in-out 0.3s;
  z-index: 2;
  opacity: 0;
}

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

.portfolio .portfolio-wrap .portfolio-info {
  opacity: 0;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 3;
  transition: all ease-in-out 0.3s;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  align-items: flex-start;
  padding: 20px;
}

.portfolio .portfolio-wrap .portfolio-info h4 {
  font-size: 20px;
  color: #fff;
  font-weight: 600;
}

.portfolio .portfolio-wrap .portfolio-info p {
  color: rgba(255, 255, 255, 0.7);
  font-size: 14px;
  text-transform: uppercase;
  padding: 0;
  margin: 0;
  font-style: italic;
}

.portfolio .portfolio-wrap .portfolio-links {
  text-align: center;
  z-index: 4;
}

.portfolio .portfolio-wrap .portfolio-links a {
  color: #fff;
  margin: 0 5px 0 0;
  font-size: 28px;
  display: inline-block;
  transition: 0.3s;
}

.portfolio .portfolio-wrap .portfolio-links a:hover {
  color: #78d9cd;
}

.portfolio .portfolio-wrap:hover::before {
  opacity: 1;
}

.portfolio .portfolio-wrap:hover img {
  transform: scale(1.2);
}

.portfolio .portfolio-wrap:hover .portfolio-info {
  opacity: 1;
}

@media (max-width: 992px) {

   .portfolio .portfolio-item {
     margin-bottom: 30px;
   }

}
/*--------------------------------------------------------------
# Portfolio Details
--------------------------------------------------------------*/
.portfolio-details {
  padding-top: 0;
  background: linear-gradient(30deg, #000 0%, #333143 50%, white 50%, white 100%);
  max-height: 500px;
}

.portfolio-details .portfolio-details-slider img {
  width: 100%;
}

.portfolio-details .portfolio-details-slider .swiper-pagination {
  margin-top: 28px;
  position: relative;
}

.portfolio-details .portfolio-details-slider .swiper-pagination .swiper-pagination-bullet-active {
  background-color: #34b7a7;
}

.portfolio-details .portfolio-info {
  padding: 30px;
  box-shadow: 0px 0 30px rgba(34, 34, 34, 0.08);
}

.portfolio-details .portfolio-info h3 {
  font-size: 22px;
  font-weight: 700;
  margin-bottom: 20px;
  padding-bottom: 20px;
  border-bottom: 1px solid #eee;
}

.portfolio-details .portfolio-info ul {
  list-style: none;
  padding: 0;
  font-size: 15px;
}

.portfolio-details .portfolio-info ul li+li {
  margin-top: 10px;
}

.portfolio-details .portfolio-description {
  padding-top: 30px;
}

.portfolio-details .portfolio-description h2 {
  font-size: 26px;
  font-weight: 700;
  margin-bottom: 20px;
}

.portfolio-details .portfolio-description p {
  padding: 0;
  padding-right: 15%;
}

/*--------------------------------------------------------------
# Contact
-------------------------------------------------------------- */
.contact .info {
  width: 100%;
  background: #fff;
}

.contact .info i {
  font-size: 20px;
  color: #34b7a7;
  float: left;
  width: 44px;
  height: 44px;
  background: #effbf9;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 50px;
  transition: all 0.3s ease-in-out;
}

.contact .info h4 {
  padding: 0 0 0 60px;
  font-size: 22px;
  font-weight: 600;
  margin-bottom: 5px;
  color: #222222;
}

.contact .info p {
  padding: 0 0 0 60px;
  margin-bottom: 0;
  font-size: 14px;
  color: #555555;
}

.contact .info .email,
.contact .info .phone {
  margin-top: 40px;
}

.contact .info .email:hover i,
.contact .info .address:hover i,
.contact .info .phone:hover i {
  background: #34b7a7;
  color: #fff;
}

.contact .php-email-form {
  width: 100%;
  background: #fff;
}

.contact .php-email-form .form-group {
  padding-bottom: 8px;
}

.contact .php-email-form .error-message {
  display: none;
  color: #fff;
  background: #ed3c0d;
  text-align: center;
  padding: 15px;
  font-weight: 600;
}

.contact .php-email-form .sent-message {
  display: none;
  color: #fff;
  background: #18d26e;
  text-align: center;
  padding: 15px;
  font-weight: 600;
}

.contact .php-email-form .loading {
  display: none;
  background: #fff;
  text-align: center;
  padding: 15px;
}

.contact .php-email-form .loading:before {
  content: "";
  display: inline-block;
  border-radius: 50%;
  width: 24px;
  height: 24px;
  margin: 0 10px -6px 0;
  border: 3px solid #18d26e;
  border-top-color: #eee;
  -webkit-animation: animate-loading 1s linear infinite;
  animation: animate-loading 1s linear infinite;
}

.contact .php-email-form input,
.contact .php-email-form textarea {
  border-radius: 4px;
  box-shadow: none;
  font-size: 14px;
}

.contact .php-email-form input:focus,
.contact .php-email-form textarea:focus {
  border-color: #34b7a7;
}

.contact .php-email-form input {
  height: 44px;
}

.contact .php-email-form textarea {
  padding: 10px 12px;
}

.contact .php-email-form button[type=submit] {
  background: #34b7a7;
  border: 0;
  padding: 10px 30px 12px 30px;
  color: #fff;
  transition: 0.4s;
  border-radius: 50px;
}

.contact .php-email-form button[type=submit]:hover {
  background: #3dc8b7;
}

@-webkit-keyframes animate-loading {
  0% {
    transform: rotate(0deg);
  }

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

@keyframes animate-loading {
  0% {
    transform: rotate(0deg);
  }

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

/*--------------------------------------------------------------
# Footer
--------------------------------------------------------------*/
#footer {
  background: #000;
  padding: 30px 0;
  padding-bottom: 0;
  color: #fff;
  font-size: 14px;
  text-align: center;
}

#footer .credits {
  padding-top: 5px;
  font-size: 13px;
}

#footer .credits a {
  color: #34b7a7;
}



/*--------------------------------------------------------------
# Begin: Rich
--------------------------------------------------------------*/


/*--------------------------------------------------------------
# Begin: General
--------------------------------------------------------------*/

.header .logo h1 {
    margin-left: 20px;
}

.header .logo h1:hover {
    color: #05a2ee;
}

.section-bg {
    /*background-color: #f3f3f3;*/
    background-color: #f3fbff;
}

.facts .counters span {
    color: #c858ef;
}

.skills .progress-bar{
    background-color: #E5AFEC;
}
.skills .progress-bar-wrap {
    background: #dcd5c8;
}

/* This replaces the old .skills img styling */
.skills-icon {
  width: 72px;
  height: 68px;
  opacity: 1;
}

/* All shapes share the same color */
.skills-icon .shape {
  fill: #00ddff;
}

.skills-icon path {
  border: none;
  stroke: none;
  fill-opacity: 1;
}

/* You can target individual paths too */
.skills-icon .shape:nth-child(1) {
  /* fill: red; */
}

.testimonials .testimonial-item .quote-icon-left, .testimonials .testimonial-item .quote-icon-right {
  font-size: 48px;
  color: #e9bb78;
}



/*--------------------------------------------------------------
# End: General
--------------------------------------------------------------*/

/*--------------------------------------------------------------
# Begin: Main
--------------------------------------------------------------*/


@media (max-width: 992px) {
  #header {
    padding: 15px 0;
  }

  .hero-fullscreen {
  
  }  
  .hero-fullscreen h2,
  .hero-fullscreen p {
    padding-right: 0;
  }  
  .hero-fullscreen h2 {
    margin: 0px 0 30px 0px;
    width: 100%;
    /*font-size: 41px;*/
    font-size: 2.10rem;
    font-weight: bolder;
    line-height: 1.40;
    text-align: left;
  }
  .hero-fullscreen p {
    font-weight: 500;
    color: black;
    text-align: left;
  }

  .hero-fullscreen .btn-get-started {
    padding: 12px 32px;
    white-space: pre:
  }
  /*Counter*/
  #skills .container {
   width: 94%;
  }
  .facts .counters span {
    font-size: 48px;
  }

}


/*--------------------------------------------------------------
# End: Main
--------------------------------------------------------------*/

/*--------------------------------------------------------------
# Begin: About
--------------------------------------------------------------*/

.about .section-title p {
    font-size: 140%;
}

.testimonials .swiper-pagination .swiper-pagination-bullet,
.portfolio-details .portfolio-details-slider .swiper-pagination .swiper-pagination-bullet,
.portfolio-details .portfolio-details-slider .swiper-pagination .swiper-pagination-bullet-active {
    width: 10px;
    height: 10px;
    background-color: #61ddfc;
    border: 1px solid #f3fbff;
    opacity: 1;
    }


.testimonials .swiper-pagination .swiper-pagination-bullet-active,
.portfolio-details .portfolio-details-slider .swiper-pagination .swiper-pagination-bullet-active {
    /*background-color: #32d5fc;*/
    width: 12px;
    height: 12px;
    background-color: #000000;
    border-color: transparent;
}

.testimonials .swiper-pagination .swiper-pagination-bullet-active::before {
/*.portfolio-details .portfolio-details-slider .swiper-pagination .swiper-pagination-bullet-active */
    content: "";
    position: absolute;
    width: 18px;
    height: 18px;
    top: 3px;
    margin-left: -9px;
    background-color: transparent;
    border: 1px solid black;
    display: inline-block;
    border-radius: 50%;
}
}

.hero-fullscreen .btn-get-started {
    background-color: #32d5fc;
    min-width: 340px;
    /*background-color: #000000;
    border-color: black;*/
}

.swiper-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet, .swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
    margin: 0 var(--swiper-pagination-bullet-horizontal-gap,20px);
   }
 

/*--------------------------------------------------------------
# End: About
--------------------------------------------------------------*/

.container .section-header p.test {
  margin-top: 50px;
  font-size: 85%;
}


/*--------------------------------------------------------------
# Begin: Testimonials
--------------------------------------------------------------*/


/*.testimonials h2 {
    color: #fff;
}

.testimonials .section-header p, 
.testimonials  .testimonial-item h4 {
    color: white;
}*/

.testimonials  .testimonial-item h4 {
  font-weight: 300;
  font-size: small;
}

.testimonials {
  background: none;
  background-color: black;
  background-color: #004c5e;
  background-color: #c4f4ff;
  background-color: #f3fbff;
  background-position: center center;
  background-size: cover;
  position: relative;
  /*height: 70vh;*/
}

/*div.testimonials::after {
  content: "";
  position: absolute;
  inset: 0;
  
}*/

/*--------------------------------------------------------------
# End: Testimonials
--------------------------------------------------------------*/
/*--------------------------------------------------------------
# Begin: Portfolio
--------------------------------------------------------------*/

#portfolio.portfolio {
  /*background-color: black;*/
}

#portfolio.portfolio h2,
#portfolio.portfolio h4,
#portfolio.portfolio p {
  color: white;
}

#portfolio.portfolio h4 {
  margin-top: 14px;
  margin-bottom: 26px;
  font-weight: 900;
  font-weight: 300;
  letter-spacing: 0.084rem;
  color: #84e8ff;
}

#portfolio.portfolio h4 {
  background-image: linear-gradient(to right, #6eebffba, #fff978);
  -webkit-background-clip: text; 
  background-clip: text; 
  color: transparent; 
  display: inline-block;
  font-size: 131%;
  font-size: 146%;
}

#portfolio.portfolio p {
  font-size: 17px;
  letter-spacing: .082rem;
  line-height: 1.45rem;

.portfolio .portfolio-item .portfolio-info {
    opacity: 0; /* needs to be set to 0 */
    position: absolute;
    inset: auto 0px 0px 0px;
    z-index: 3;
    transition: all ease-in-out 0.3s;
    height: -webkit-fill-available;
  }

  .portfolio .portfolio-item .portfolio-info .preview-link, .portfolio .portfolio-item .portfolio-info .details-link {
    position: absolute;
    right: 50px;
    font-size: 24px;
    top: calc(50% - 14px);
    top: calc(0%);
    color: rgba(var(--color-white-rgb), 0.7);
    transition: 0.3s;
    line-height: 0;
    width: -webkit-fill-available;
    height: inherit;
  }



.bi-link-45deg::before {
  display: none;
}

.portfolio .portfolio-item .portfolio-info h4 {
      margin-top: 37.5%;
      display: list-item;
      list-style-type: none;
      text-align: center;
}

/*--------------------------------------------------------------
# End: Testimonials
--------------------------------------------------------------*/

/*--------------------------------------------------------------
# Begin: Resume
--------------------------------------------------------------*/

h4, 
.resume .resume-item h4 { 
    margin: 30px;
    font-size: 1.5rem;
    font-weight: 900;
}

.resume .resume-item h4 {
    line-height: 18px;
    font-size: 18px;
    font-weight: 600;
    color: #000;
    margin-bottom: 10px;
}

.resume .resume-item h5 {
    font-size: 14px;
    background: #f2ffdf;
    padding: 5px 15px;
    display: inline-block;
    font-weight: 600;
    margin-bottom: 10px;
    color: #003f4f;
}

.resume .resume-item {
    padding: 0 0 34px 34px;
    margin-top: -2px;
    border-left: 1px dotted #32d5fc;
    position: relative;
}

.resume .resume-item::before {
    content: "";
    position: absolute;
    width: 16px;
    height: 16px;
    border-radius: 50px;
    left: -9px;
    top: 0;
    background: #fff;
    border: 1px solid #32d5fc;
}
.resume .resume-item ul li {
    padding-bottom: 10px;
    font-size: .9rem;
    letter-spacing: .005rem;
    }

section#resume {
    margin-top: 60px;
    padding: 0;
}

/*--------------------------------------------------------------
# End: Resume
--------------------------------------------------------------*/

/*--------------------------------------------------------------
# Begin: Contact
--------------------------------------------------------------*/

#contact, 
.contact .php-email-form {
    background: #e9e8e6;
    background: none;
}

.contact .php-email-form button[type=submit] {
    background: #6364c3;
    border: 0;
    padding: 10px 30px 12px 30px;
    color: #fff;
    transition: 0.4s;
    border-radius: 2px;
  }

.contact .info i {
    color: #754d1e;
    background: #FEF3E1;
    }

/*--------------------------------------------------------------
# End: Contact
--------------------------------------------------------------*/

/*--------------------------------------------------------------
# Begin: Footer
--------------------------------------------------------------*/

#footer {
    /*color: #e9e8e6;*/
  color: white;
  background: black;
}

.footer .footer-content {
  background: none;
}

.footer-content,
.footer .footer-content .footer-info h3,
.footer .footer-content .footer-info p {
  color: white;
}

.footer .footer-content .footer-info p {
  padding-right: 0;
}

.footer .footer-content .footer-info a {
  font-weight: 600;
}

#header {
  background: white;
}

.footer-info .contact {
  padding: 0 10px;
}

.footer-info .contact.email {
  margin-left: 20px;
}

.copyright {
  font-size: 85%;
}

/*--------------------------------------------------------------
# End: Footer
--------------------------------------------------------------*/

/*--------------------------------------------------------------
# Begin: Portfolio Details
--------------------------------------------------------------*/

.breadcrumbs {
    margin-top: 100px;
    margin-top: 82px;
}
.breadcrumbs ol {
    letter-spacing: .030em;
}


.section-header .container h1 {    
    text-align: left;
    font-weight: 900;
    font-size: 3rem;
    padding-top: 8px;
    padding-bottom: 0;
    margin-bottom: 0;
}

    .link-with-icon {
      display: inline-flex;
      align-items: center;
      text-decoration: none;
      color: #05a2ee;
      transition: color 0.3s ease;
    }

    .link-with-icon:hover {
      color: #ffffff;
    }

    .link-with-icon i {
      font-size: 23px;       /* sets icon to 32×32px */
      margin-right: 16px;    /* space between icon and text */
      display: inline-flex;
      align-items: center;
      justify-content: center;
      line-height: 1;
      transition: color 0.3s ease;
    }







.custom-list {
  list-style: none;
  padding-left: 0;
  margin: 0;
}

/* Make every li a flex row and vertically center its contents */
.custom-list li {
  display: flex;
  align-items: center;   /* <-- vertical centering */
  gap: 12px;             /* space between ::before and text (optional) */
  margin: 6px 0;
}

/* Target only the second li's ::before */
/*.custom-list li:nth-child(2)::before {
  content: "|";
  display: inline-block;
  width: 12px;           
  height: 12px;
  background: #ffffff;   
  border-radius: 2px;   
  flex: 0 0 12px;     */   
  /* no vertical offset needed because align-items:center handles it */
}

/* Hover state for the entire li (or change selector to target link hover) */
/*.custom-list li:nth-child(2):hover::before {
  background: #ffffff;
}*/











#portfolio-details {
    width: 100%;
    height: 500px;
    background: 
    linear-gradient(
    30deg,
    #000 0%,
    #333143 50%,
    white 50%,
    white 100%
    );
}

.portfolio-details .portfolio-info {
    margin-top: 140px;
    background: white;
}


.portfolio-details .portfolio-description {
    padding-top: 0px;
    padding: 0 30px;
}

.portfolio-details .portfolio-description p {
    width: 85%;
}

.portfolio-description p {
    color: #434343;
} 

section.story-overview {
    padding-top: 20px;
    /*padding-top: 0px;*/
}

.challenge .section-header h3 {
    font-size: 22px;
    font-weight: 700;
    margin-bottom: 20px;
    padding-bottom: 20px;
    /*border-bottom: 1px solid #eee;*/
}

.approach .container .row>* {
    flex-shrink: 0;
    max-width: 100%;
    padding-right: calc(var(--bs-gutter-x) * 0);
    padding-left: calc(var(--bs-gutter-x) * 0); 
    margin-top: var(--bs-gutter-y);
        
}

.approach {
    padding: 0;
    background: #f8f8f8;
}

.approach .icon-box {
    padding: 30px;
    position: relative;
    overflow: hidden;
    transition: all 0.3s ease-in-out;
    border-right: 1px solid rgba(74,79,84,.1);
    z-index: 1;
  }

.approach .icon-box::before {
    content: "";
    position: absolute;
    background: #d9f1f2;
    right: 0;
    left: 0;
    bottom: 0;
    top: 100%;
    transition: all 0.3s;
    z-index: -1;
    border-bottom: 1px solid ##e3e3e3;
}

.icon img {
    margin: 10px 0 12px 0;
}

.approach h4 {
    font-weight: bold;
    font-size: 1.25rem;
    margin-bottom:.20rem;
}

.approach p.description {
    font-size: 90%;
    color: #4d4a54;
}

#approach a.scrollto {
    display: block;
    padding: 30px;
    color: black;
    border-top: 4px solid #f8f8f8;
}

#approach a.scrollto:hover {
    border-top: 4px solid #05a2ee;
}

.counts .count-box i {
    display: block;
    font-size: 30px;
    color: #3fbbc0;
    float: left;
  }

.story-overview .portfolio-info {
    padding-right:15%;
}

.story-overview .section-header {
    /*margin-bottom: 40px;*/
    margin-bottom: 32px;
    border-bottom: 1px solid rgba(74,79,84,.2);
}

.approach-planning .section-header {
    max-width: 80%;
    text-align: left;
}

.approach-planning .section-header h2 {
    margin: 0 auto;
}


.portfolio-image {
    margin: 16px 0;
    padding: 28px 0;
    width: 100%;
    min-height: 300px;
    border-bottom: 1px solid rgba(74,79,84,.2);
}

.approach,
.portfolio-image {
    background: #f8f8f8;
}

    
.approach .icon-box {
    padding: 0px;
    position: relative;
    overflow: hidden;
    width: 100%;
    transition: all 0.3s ease-in-out;
    z-index: 1;
  }




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

.icon-box .icon {
  display: inline-flex;
  justify-content: flex-start;
  align-items: center;
  padding-bottom: 10px;
  color: #000000;
  font-size: 32px;     /* icon size */
}

.icon-box .icon i {
  line-height: 1;
}



.responsibility-label,
.responsibility-description {
    display: inline-block;
    text-transform: uppercase;
    font-size:85%;
    font-size:70%;
    letter-spacing: .035em;
    color: #888888;
}

.responsibility-label {
    padding: 12px 5px 10px 0;
    font-weight: bold;
}
.responsibility-description {
    padding: 12px 40px 10px 5px;
}


.portfolio-info .portfolio-image img {
    width: 1100px;
    padding: 20px 150px;
    background: #fff;
}

.portfolio-info .portfolio-image.port-img-lg img {
    /*padding: 20px 0px;*/
    padding: 4px;
}

.portfolio-info .portfolio-image.port-img-lgAI  {
    width: 1296px;
}

.portfolio-info .portfolio-image.port-img-lgAI img {
    width: 1080px;
    padding: 20px;
}

.bi-linkedin::before {
    border-radius: 2px;
    background: white;
}

.bi-linkedin:hover::before {
    border-radius: 2px;
    background: black;
}

.social-links:hover {
    color:black;
}




/* ======= Skills Section Styling (50% image size) ======= */
/*#skills {
  position: relative;
  background-color: #f8f8f8 !important;
  overflow: hidden;
  z-index: 0; 
}


#skills::after {
  content: "";
  position: absolute;
  inset: 0; 
  background-image: url("../img/legoBrick.png");
  background-repeat: no-repeat;
  background-position: top center;
  background-size: 120% auto; 
  opacity: 0.3;
  z-index: 0;
  pointer-events: none;
}


#skills > .container,
#skills .section-header,
#skills .row,
#skills * {
  position: relative;
  z-index: 1;
}*/

/* ======= BEGIN - Case Study Pages  ======= */
#portfolio-details {
  position: relative;
  width: 100%;
  min-height: 500px; 
    background-image:
    url("../img/portfolio/portfolio-page-hero-irshpc.png"),
    linear-gradient(
      30deg,
      #000 0%,
      #333143 50%,
      white 50%,
      white 100%
    );
  background-repeat: no-repeat;
  background-position: center top, initial;
  background-size: auto 500px, cover;
  background-position: center;
  background-blend-mode: normal; 
}

#portfolio-details.irshpc {
  background-image:
    url("../img/portfolio/portfolio-page-hero-irshpc.png"),
    linear-gradient(
      30deg,
      #000 0%,
      #002e60 50%,
      white 50%,
      white 100%
    );
}

#portfolio-details.irsrr {
  height: 320px;
  min-height: 320px;
  background-image:
    url("../img/portfolio/portfolio-page-hero-irsrr.png");
    background-size: cover;
    background-position: bottom center;
}

#portfolio-details.irsds {
  background-image:
    url("../img/portfolio/portfolio-page-hero-irsds.png"),
    linear-gradient(
      30deg,
      #000 0%,
      #333143 50%,
      white 50%,
      white 100%
    );
}

#portfolio-details.irsar {
  height: 320px;
  min-height: 320px;
  background-image:
    url("../img/portfolio/portfolio-page-hero-irsar5.png");
    background-size: cover;
}

#portfolio-details.hrsaots {
  position: relative;
  height: 320px;
  min-height: 320px;
  background-image:
/*    repeating-linear-gradient(
      to bottom,
      rgba(255, 255, 255, 0.25) 0%,           
      rgba(255, 255, 255, 0) 50%            
    ),*/
    url("../img/portfolio/portfolio-page-hero-hrsaots.png");
  background-size:
    /*50% calc(320px / 20), */
    cover;
  /*background-repeat: repeat, no-repeat;*/
  background-repeat: no-repeat;
  /*background-position: top, center;*/
  background-position: center;
  background-blend-mode: normal;
  background-color: #000; 
}



/* Begin of DODPM promo */
#portfolio-details.dodpm {
  position: relative;
  height: 320px;
  min-height: 320px;
    background-image: 
    
    radial-gradient(circle at 1px 1px, rgba(255, 255, 255, 0.25) 2px, transparent 4px), url(../img/portfolio/portfolio-page-hero-dodpm.png);
    background-size: 40px 40px, cover;
    background-position: -1px -1px, center;
  background-repeat: repeat, no-repeat;
  background-blend-mode: normal;
  background-color: #000; 
}















#portfolio-details.dodpm::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  
  background-image: 
    /*url("../img/portfolio/bg-transparent.png"),*/
    /*linear-gradient(to bottom, rgba(255, 255, 255, 0.5) 0%, rgba(255, 255, 255, 0.5) 100%),*/
    linear-gradient(to bottom, rgba(255, 255, 255, 0.25) 0%, rgba(255, 255, 255, 0.25) 100%),
    linear-gradient(to right, rgb(24 40 72 / 95%) 0%, rgb(75 108 183 / 50%) 100%),
    /*linear-gradient(to right, #182848, #4b6cb7), */
    radial-gradient(circle, white 0%, rgba(255, 255, 255, 0) 100%),
    repeating-linear-gradient(to right, #ff0000 0, #ff0000 5px, transparent 5px, transparent 55px),
    repeating-linear-gradient(to right, #ffffff 0, #ffffff 5px, transparent 5px, transparent 55px),
    repeating-linear-gradient(to right, #ffffff 0, #ffffff 1px, transparent 1px, transparent 15px), /* hash marks */
    repeating-linear-gradient(to right, #ffffff 0, #ffffff 1px, transparent 1px, transparent 4px), /* hash marks */
    repeating-linear-gradient(to right, #ffffff 0, #ffffff 1px, transparent 1px, transparent 4px), /* hash marks */
    repeating-linear-gradient(to bottom, rgba(192, 192, 192, 0.15) 0px, rgba(0, 255, 255, 0.35) 400px, transparent 4px, transparent 8px), /* vert band */
    /*linear-gradient(to right, rgba(255, 255, 255, .5) 5px, transparent 5px),  rectangles */
    /*linear-gradient(to bottom, rgba(255, 255, 255, .5) 5px, transparent 5px),  rectangles */
    linear-gradient(to right, rgba(30, 144, 255, 0.05) 1px, transparent 1px), /* Begin grid */
    linear-gradient(to bottom, rgba(192, 192, 192, 0.05) 1px, transparent 1px),
    linear-gradient(to right, rgba(255, 255, 255, 0.25) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(255, 255, 255, 0.25) 1px, transparent 1px); /* End grid */
    

  background-size: 
    /*cover,*/
    1px 400px, /* vertical hash marks */
    cover,
    50px 50px,
    30px 5px, /* line of rectangles - red */
    30px 5px, /* line of rectangles - white */
    30px 15px, /* hash marks */
    30px 5px, /* hash marks */
    30px 5px, /* hash marks */
    2px 100%,  /* vert band */
    /*16px 4px,  rectangles */
    /*16px 4px,  rectangles */
    20px 80px, /* Begin grid */
    20px 80px, 
    10px 40px, 
    10px 40px; /* End grid */
    

  background-position: 
    /* 0 0,*/
    center center, /* vertical hash marks */
    center center,
    center center,
    0 265px, /* line of rectangles - red */
    0 295px, /* line of rectangles - white */
    0 152px, /* hash marks */
    0 158px, /* hash marks */
    0 280px, /* hash marks */
    0 0, /* vert band */
    4px 0, /* vert band */
    /*0 100px,  rectangles */
    /*0 100px,  rectangles */
    0 0, /* Begin grid */
    0 0, 
    0 0, 
    0 0; /* End grid */

  background-repeat:
    no-repeat, /* vertical hash marks */  
    no-repeat,
    no-repeat,
    repeat-x,
    repeat-x,
    repeat-x,
    repeat-x,
    repeat-x,
    repeat,
    repeat,
    repeat,
    repeat,
    repeat,
    repeat;
}




/* END of DODPM promo */


/* Begin of Saas promo */
/* Container setup */
#portfolio-details.saasfs {
  position: relative;
  height: 320px;
  min-height: 320px;
  background: url("../img/portfolio/portfolio-page-hero-saasfs.png") center/cover no-repeat;
  overflow: hidden;
  background-position: 0% 15%;
}

#portfolio-details.saasfs:before {
  content: "";
  display: block;
  background-image: radial-gradient(circle at bottom left, rgba(2, 48, 122, 0.6) 0%, transparent 65%), radial-gradient(circle at top right, rgba(255, 231, 10, 0.2) 0%, transparent 85%);
  background-size: 900px 400px, 900px 400px;
  background-position: 0% 100%, 100% 0%;
  background-repeat: no-repeat;
  position: absolute;
  inset: 0;
  opacity: 0.8;
}




/* Overlay wrapper */
#portfolio-details.saasfs .texture {
  position: absolute;
  inset: 0;
  display: flex;
  justify-content: center;
  align-items: center; 
  gap: 60px;
  pointer-events: none;
  z-index: 1; 
}

/* Base pill styling */
#portfolio-details.saasfs .pill {
  position: relative;
  width: 100px;
  border-radius: 999px;
  border: 1px solid currentColor;
  transform: rotate(45deg);
  flex-shrink: 0;
  opacity: 1;
  z-index: 2;
  overflow: visible;
  filter: blur(26px);
}


#portfolio-details.saasfs .pill-wrap {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
}

#portfolio-details.saasfs .pill-wrap:nth-child(2) {
  margin-left: 10px;
}

#portfolio-details.saasfs .pill-wrap:nth-child(3) {
  margin-right: 10px;
}

/* --- Blurred colored pill --- */
#portfolio-details.saasfs .pill {
  position: relative;
  width: 70px;
  border-radius: 999px;
  border: 1px solid currentColor;
  transform: rotate(45deg);
  flex-shrink: 0;
  filter: blur(18px);
  opacity: 1;
  z-index: 2;
}

/* Glow (blur) behind each pill */
#portfolio-details.saasfs .pill::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 999px;
  background: inherit;
  filter: blur(120px);
  opacity: 0.8;
  z-index: -1;
}

#portfolio-details.saasfs .pill-stroke {
  margin: 20px 5px;
  position: absolute;
  inset: 0;
  width: 44px;
  border-radius: 999px;
  border: 1px solid #fff;
  transform: rotate(45deg);
  background: transparent;
  z-index: 3;
  pointer-events: none;
}

/* --- Heights --- */
#portfolio-details.saasfs .pill-wrap:nth-of-type(1) .pill,
#portfolio-details.saasfs .pill-wrap:nth-of-type(4) .pill {
  height: 280px;
}

#portfolio-details.saasfs .pill-wrap:nth-of-type(2) .pill,
#portfolio-details.saasfs .pill-wrap:nth-of-type(3) .pill {
  height: 140px;
}


#portfolio-details.saasfs .pill-wrap:nth-of-type(1) .pill-stroke,
#portfolio-details.saasfs .pill-wrap:nth-of-type(4) .pill-stroke {
  margin-left: 20px;
  margin-top: 30px;
  height: 210px;
  border-color: #ff78ce;
}

#portfolio-details.saasfs .pill-wrap:nth-of-type(2) .pill-stroke,
#portfolio-details.saasfs .pill-wrap:nth-of-type(3) .pill-stroke {
  height: 105px;
  border-color: #ff78ce;
}

#portfolio-details.saasfs .pill-wrap:nth-of-type(1) .pill-stroke,
#portfolio-details.saasfs .pill-wrap:nth-of-type(4) .pill-stroke, 
#portfolio-details.saasfs .pill-wrap:nth-of-type(2) .pill-stroke,
#portfolio-details.saasfs .pill-wrap:nth-of-type(3) .pill-stroke {
  border-color: #ddff3c;
}

/* Vibrant color gradients */
#portfolio-details.saasfs .color1,
#portfolio-details.saasfs .color4 { color:#ff2faf; background:linear-gradient(135deg,#ff7fd1,#ff2faf); }
#portfolio-details.saasfs .color2,
#portfolio-details.saasfs .color3 { color:#ff2faf; background:linear-gradient(135deg,#ff7fd1,#ff2faf); } 

/* End of Saas promo */
/* ======= END - Case Study Pages  ======= */













#facts {
  position: relative;
  background-color: #f8f8f8 !important;
  overflow: hidden;
  z-index: 0; 
}


#facts::after {
  content: "";
  position: absolute;
  inset: 0; 
  background-image: url("../img/legoBrick.png");
  background-repeat: no-repeat;
  background-position: center center;

  /*background-position: 54.5% 29.5%;
  background-size: 14% auto;
  opacity: .6;    
  z-index: 0;
  pointer-events: none;*/
    background-position: 54.5% 29.5%;
    background-size: 100% auto;
    opacity: .5;
    z-index: 0;
    pointer-events: none;
    filter: blur(20px);
}


#facts > .container,
#facts .section-header,
#facts .row,
#facts * {
  position: relative;
  z-index: 1;
}

#facts .section-header h2 {
  margin-top: 0;
}

#facts .section-header p {
    /*background-color: #f8f8f8d1;*/
    padding: 10px 0;
    margin-top: -10px;
}

#main.caseStudy .story-overview .section-header {
    padding-bottom: 18px;
}

#story-overview.story-overview .section-header .container h1 {
    text-align: left;
    font-size: 3rem;
    font-weight: 900;
}

#main.caseStudy #facts {
    margin-bottom: 40px;
}

#main.caseStudy #facts::after {
    background-image: none;
}

#main.caseStudy .facts .portfolio-description p {
  /*color: red;*/
  padding-right: 40px;
}

#main.caseStudy .facts ul li {
  padding: 10px 0;
  padding-left: 0;
  padding-right: 20px;
  margin-left: 0;
  font-size: 90%;
  border-bottom: 1px dotted #d7d7d7;
}

#main.caseStudy .facts ul li:last-child {
  border-bottom: none;
}

/* Hide the original Bootstrap icon */
i.bi.bi-check-circle-fill {
  display: inline-block;
  width: 16px;
  height: 16px;
  vertical-align: middle;
  margin-right: 0.5rem;
  /* Hide the original glyph */
  font-family: inherit !important;
  color: transparent;
  text-indent: -9999px;
  overflow: hidden;
  /* Use fully encoded SVG as background */
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' viewBox='0 0 64 64'%3E%3Cpath fill='%2305a2ee' d='m39.637 40.831-5.771 15.871a1.99 1.99 0 0 1-3.732 0l-5.771-15.87a2.02 2.02 0 0 0-1.194-1.195L7.298 33.866a1.99 1.99 0 0 1 0-3.732l15.87-5.771a2.02 2.02 0 0 0 1.195-1.194l5.771-15.871a1.99 1.99 0 0 1 3.732 0l5.771 15.87a2.02 2.02 0 0 0 1.194 1.195l15.871 5.771a1.99 1.99 0 0 1 0 3.732l-15.87 5.771a2.02 2.02 0 0 0-1.195 1.194'%3E%3C/path%3E%3C/svg%3E") no-repeat center;
  background-size: contain;
}

.dotted-divider {
  width: 100%;
  height: 2px; /* matches the dot size */
  background-image: radial-gradient(circle, #ccc 1px, transparent 1px);
  background-size: 16px 2px; /* 2px dot + 8px gap */
  background-repeat: repeat-x;
  background-position: center;
}

#main.caseStudy .visual-elements {
  border-bottom: 1px solid rgba(74, 79, 84, .2);
}
  
#main.caseStudy .visual-elements p {
  padding-right: 10%;
}

.reflection ul {
  padding-left: 0;
}

.reflection ul li {
  list-style-type: none;
  padding: 10px 0;
  padding-left: 0;
  margin-left: 0;
  border-bottom: 1px dotted #d7d7d7;
}

.reflection ul li:last-child {
  padding-bottom: 0;
  border-bottom: none;
}


/* Case Study */
.cluster-wrap { 
  position: relative; 
  width: 100%; 
  height: 320px; 
  overflow: hidden; 
}
canvas#bg { 
  position: absolute; 
  inset: 0; 
  width: 100%; 
  height: 100%; 
  display: block;
  background: 
    linear-gradient(30deg,rgba(0, 0, 0, .75) 0%, rgba(7, 7, 54, .75) 50%, rgba(5, 38, 87, .75) 100%), 
    url("../img/portfolio/bg-blur-dodfs.png");
  background-size: cover;
  background-repeat: repeat, no-repeat;
  background-position: top, center;
  background-blend-mode: normal;
}


/* Ensure the animated card behaves like other cards */
.card.animated-bg {
  background: none; /* Remove the static image */
  position: relative;
  overflow: hidden;
}

/* Canvas animation background */
.card.animated-bg .cluster-wrap {
  position: absolute;
  inset: 0;
  width: 105%;
  height: 105%;
  overflow: hidden;
  z-index: 0;
}

.card.animated-bg canvas {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  display: block;
}

/* Ensure text stays visible above animation */
.card.animated-bg .content {
  position: absolute;
  bottom: 12px;
  left: 20px;
  right: 20px;
  z-index: 2;
  color: #fff;
  opacity: 0.9;
}
/*END of animated cluster on homepage*/



#facts .dotted-divider {
  margin-top: 20px;
  margin-bottom: 34px;
}

#main.caseStudy .testimonial-item {
  margin-top: 30px;
  left: 15%;
  padding: 16px 0;
  border-left: 8px solid #05a2ee;
}

#main.caseStudy .testimonial-item p {
  margin-bottom: 0;
  padding-left: 30px;
  padding-bottom: 0px;
  font-family: source-serif-pro, Georgia, Cambria, "Times New Roman", Times, serif;
  font-style: italic;
}

#main.caseStudy .testimonial-item span {
  margin-top: -10px;
  padding-left: 30px;
  font-size: 85%;
  font-weight: 600;
}

#main.caseStudy .visual-elements p {
  padding-right: 17%;
}









@media (min-width: 1280px) {

  #portfolio-details.hrsaots {
    height: 400px;
    min-height: 400px;
    background-position: center 20px;
  }

}


@media (min-width: 1601px) {

  #portfolio-details.hrsaots {
    height: 500px;
    min-height: 500px;
    background-position: center -60px;
  }

}







@media (max-width: 1280px) {

     #portfolio-details {
         height: 430px;
         background: 
         linear-gradient(
         30deg,
         #000 0%,
         #333143 50%,
         white 50%,
         white 100%
         );
     }

}


@media (max-width: 1024px) {

     #portfolio-details {
         height: 360px;
         background: 
         linear-gradient(
         30deg,
         #000 0%,
         #333143 50%,
         white 50%,
         white 100%
         );
     }

}


@media (max-width: 992px) {

    .header .logo h1 {
      margin-left: 23px;
    }

    [brand-rv2] {
      margin-left: 5px;
    }

    section {
      padding: 44px 0;
    }

    .hero-content {
      width: 80%;
      padding: 40px 0;
    }

    .footer .footer-content .footer-info p {
      margin-left: -20px;
    }

    #skills .section-header {
      padding-left: 0;
    }

    #main.caseStudy .section-header {
      text-align: left;
    }

    .section-header .container h1 {
      font-size: 2rem;
      font-weight: bold;
      padding-right: 20px;
      text-align: left;
      padding-left: 0px;
     }

    section.story-overview {
      padding-top: 20px;
    }

     .testimonials .swiper-pagination .swiper-pagination-bullet {
      width: 12px;
      height: 12px;
    }

    #main.caseStudy .testimonial-item {
      left: 25px;
      padding: 16px 40px 016px 0;
    }

    .story-overview .section-header {
      margin-bottom: 60px;
     }

     .story-overview .portfolio-info {
      padding-right: 5%;
     }

    #facts .section-header h2 {
      font-size: 2rem;
    }

    #portfolio-details {
      position: relative;
      width: 100%;
      min-height: 320px; 
        background-image:
        url("../img/portfolio/portfolio-page-hero-irshpc.png"),
        linear-gradient(
          30deg,
          #000 0%,
          #333143 50%,
          white 50%,
          white 100%
        );
      background-repeat: no-repeat;
      background-position: center top, initial;
      background-size: auto 320px, cover;
      background-position: center;
      background-blend-mode: normal; 
    }




#portfolio-details.irshpc {
  background-image:
    url("../img/portfolio/portfolio-page-hero-irshpc.png"),
    linear-gradient(
      30deg,
      #000 0%,
      #333143 50%,
      white 50%,
      white 100%
    );
}

#portfolio-details.irsrr {
  background-image:
    url("../img/portfolio/portfolio-page-hero-irsrr.png");
}

#portfolio-details.irsds {
  background-image:
    url("../img/portfolio/portfolio-page-hero-irsds.png"),
    linear-gradient(
      30deg,
      #000 0%,
      #333143 50%,
      white 50%,
      white 100%
    );
}

#portfolio-details.irsar {
  background-image:
    url("../img/portfolio/portfolio-page-hero-irsar5.png");
}

#portfolio-details.hrsaots {
  max-height: 320px;
  min-height: 320px;
  background-image:
    url("../img/portfolio/portfolio-page-hero-hrsaots.png");
    background-size: cover;
    background-position: left top, initial;
}

#portfolio-details.dodpm {
  position: relative;
  height: 320px;
  min-height: 320px;
  background-image:
    radial-gradient(circle at 3px 3px, rgba(255, 255, 255, 0.25) 3px, transparent 4px),
    url("../img/portfolio/portfolio-page-hero-dodpm.png");
/*  background-size: 48px 48px, cover;
  background-position: 0 0, center;
  background-repeat: repeat, no-repeat;
  background-blend-mode: normal;
  background-color: #000;*/
        background-size: 40px 40px, cover;
      background-position: -3px -3px, center;
    background-repeat: repeat, no-repeat;
    background-blend-mode: normal; 
}

/* Begin of Saas promo */
/* Container setup */
#portfolio-details.saasfs {
  position: relative;
  height: 320px;
  min-height: 320px;
  background: url("../img/portfolio/portfolio-page-hero-saasfs.png") center/cover no-repeat;
  overflow: hidden;
}















/* Overlay wrapper */
#portfolio-details.saasfs .texture {
  position: absolute;
  inset: 0;
  display: flex;
  justify-content: center;
  align-items: center; 
  gap: 15px;
  pointer-events: none;
  z-index: 1; 
}

/* Base pill styling */
#portfolio-details.saasfs .pill {
  position: relative;
  width: 100px;
  border-radius: 999px;
  border: 1px solid currentColor;
  transform: rotate(45deg);
  flex-shrink: 0;
  opacity: 1;
  z-index: 2;
  overflow: visible;
  filter: blur(26px);
}


#portfolio-details.saasfs .pill-wrap {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
}

#portfolio-details.saasfs .pill-wrap:nth-child(2) {
  margin-left: 10px;
}

#portfolio-details.saasfs .pill-wrap:nth-child(3) {
  margin-right: 10px;
}

#portfolio-details.saasfs .pill-wrap:nth-child(4) {
  margin-left: -10px;
}

/* --- Blurred colored pill --- */
#portfolio-details.saasfs .pill {
  position: relative;
  width: 70px;
  border-radius: 999px;
  border: 1px solid currentColor;
  transform: rotate(45deg);
  flex-shrink: 0;
  filter: blur(18px);
  opacity: 1;
  z-index: 2;
}

/* Glow (blur) behind each pill */
#portfolio-details.saasfs .pill::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 999px;
  background: inherit;
  filter: blur(120px);
  opacity: 0.8;
  z-index: -1;
}

#portfolio-details.saasfs .pill-stroke {
  margin: 20px 5px;
  position: absolute;
  inset: 0;
  width: 44px;
  border-radius: 999px;
  border: 1px solid #fff;
  transform: rotate(45deg);
  background: transparent;
  z-index: 3;
  pointer-events: none;
}

/* --- Heights --- */
#portfolio-details.saasfs .pill-wrap:nth-of-type(1) .pill,
#portfolio-details.saasfs .pill-wrap:nth-of-type(4) .pill {
  height: 280px;
}

#portfolio-details.saasfs .pill-wrap:nth-of-type(2) .pill,
#portfolio-details.saasfs .pill-wrap:nth-of-type(3) .pill {
  height: 140px;
}


#portfolio-details.saasfs .pill-wrap:nth-of-type(1) .pill-stroke,
#portfolio-details.saasfs .pill-wrap:nth-of-type(4) .pill-stroke {
  margin-left: 20px;
  margin-top: 30px;
  height: 210px;
  border-color: #ff78ce;
}

#portfolio-details.saasfs .pill-wrap:nth-of-type(2) .pill-stroke,
#portfolio-details.saasfs .pill-wrap:nth-of-type(3) .pill-stroke {
  height: 105px;
  border-color: #ff78ce;
}

#portfolio-details.saasfs .pill-wrap:nth-of-type(1) .pill-stroke,
#portfolio-details.saasfs .pill-wrap:nth-of-type(4) .pill-stroke, 
#portfolio-details.saasfs .pill-wrap:nth-of-type(2) .pill-stroke,
#portfolio-details.saasfs .pill-wrap:nth-of-type(3) .pill-stroke {
  border-color: #ddff3c;
}

/* Vibrant color gradients */
#portfolio-details.saasfs .color1,
#portfolio-details.saasfs .color4 { color:#ff2faf; background:linear-gradient(135deg,#ff7fd1,#ff2faf); }
#portfolio-details.saasfs .color2,
#portfolio-details.saasfs .color3 { color:#ff2faf; background:linear-gradient(135deg,#ff7fd1,#ff2faf); } 

/* End of Saas promo */
/* ======= END - Case Study Pages  ======= */





     .portfolio-info h3 {
       font-size: 26px;
     }

     .portfolio-info p {
       margin-bottom: 2rem;
     }

     .portfolio-info .portfolio-image.port-img-lg img {
        padding: 0px 0px;
     }

     .portfolio-image {
        margin-bottom: 30px;
        min-height: 0px;
    }

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

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

     #portfolio .container {
        padding-left:  0px;
        padding-right:  0px;
     }

     .container p {
        padding-right:  20px;
        text-align: left;
     }

/*.row .skills-content .skills-list p,*/
      .skills-content p {
        text-align: center;
      }
       .skills-content p b {
        font-weight: 900;
      }

     .hero-fullscreen p  {

        padding-left: 0;
        width: 80vw;
     }

     .skills-content .text-center p b,
{
        text-align: center;
     }

     #portfolio-details .container {
        padding-left:  0px;
        padding-right:  0px;
     }

    .responsibility-label, 
    .responsibility-description {
        display: block;
        padding: 12px 40px 10px 5px;
    }

    .responsibility-description {
        padding: 0px 40px 10px 5px;
    }

    #approach a.scrollto {
        border-bottom: 1px solid #e3e3e3;
    }

    #facts::after {
/*        content: "";
        position: absolute;
        inset: 0; 
        background-image: url("../img/legoBrick.png");
        background-repeat: no-repeat;*/
        background-position: center center;
        background-position: 70% 20.5%;
        background-size: 55% auto;  
/*        opacity: 1;
        z-index: 0;
        pointer-events: none;*/
    }

     .footer-info p {
        display: block;
        margin-left: -20px;
     }
     .footer-info .contact {
        display: inline-block;
        padding: 0 6px;
        font-size: 120%;
     }

     .footer-info p span {
        display: block;
        margin-bottom: 20px;
        /*padding: 0 6px;*/
     }

    .footer-info p span a {
        /*display: block;*/
        padding-left: 20px;
     }

/*    .footer .footer-content .footer-info p a {
        margin-right: 25px;
        padding: 0 30px 0 0;
    }*/


@media (max-width: 768px) {
     #portfolio-details {
         min-height: 150px;
      }
    .footer .footer-content .footer-info p {
        margin-left: 25%;
        padding-right: 0;
        font-size: 100%;
    }

}



/*--------------------------------------------------------------
# End: Portfolio Details
--------------------------------------------------------------*/
