﻿@import "./global-colors.css";
@import "./global-fonts.css";

*,
*::before,
*::after {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

/*Hero section*/
.hero-section {
  width: 100%;
  height: 50vh;
}

.services-hero-section {
  width: 100%;
  height: 50vh;
  position: relative;
  z-index: 1;
}

.hero-video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  margin: 0 auto;
}

.hero-text-holder {
  width: 70%;
}

.hero-text-holder-services {
  width: 70%;
}

.hero-text-holder-careers {
  width: 70%;
}

.hero-text-holder-mobile {
  display: none;
}

.hero-text-holder-mobile {
  display: none;
}

.hero-text-container {
  padding-top: 3%;
}

.hero-text-container .header-text {
  margin-bottom: 20px;
}

.hero-text-container h2 {
  font-family: var(--CalibriRegular);
  color: var(--white);
}

.hero-text-container h3 {
  font-family: var(--CalibriRegular);
  color: var(--white);
  font-size: 16px;
}

.hero-tagline p {
  font-family: var(--CalibriRegular);
  font-size: 22px;
  color: var(--white);
  margin: 2%;
}

.down-arrow-container {
  bottom: 120px;
}

.service-offering-header {
  position: absolute;
  display: flex;
  justify-content: center;
  bottom: 20px;
  width: 100%;
}

.service-offering-header h2 {
  font-family: var(--CalibriRegular);
  font-size: 40px;
}

.click-cards-caption {
  color: var(--white);
  text-align: center;
  margin-top: -10px;
}

.ex-cap {
  padding: 0 20.5%;
  margin-bottom: 15px;
}

.click-cards-caption .caption-text {
  font-family: var(--CalibriRegular);
  font-size: 1.5rem;
}

.down-arrow-container .hero-icon-holder img {
  width: 32px;
  height: 32px;
}

.services-hero-section img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.service-details {
  width: 100%;
}

h2 {
  font-size: 40px;
  font-family: var(--CalibriRegular);
}

.hero-text-holder {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  text-align: center;
  color: var(--white);
  z-index: 3;
}

.hero-text-holder-services {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  text-align: center;
  color: var(--white);
  z-index: 3;
}

.hero-text-holder-careers {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  text-align: center;
  color: var(--white);
  z-index: 3;
}



.down-arrow-container {
  position: absolute;
  display: flex;
  justify-content: center;
  bottom: 20px;
  width: 100%;
}

.hero-section .down-arrow-container img {
  width: 32px;
  height: 32px;
}

.mobile-nav-links {
  display: none;
}

.mobile-nav-links.show {
  display: block;
}

/* Start Navbar */
.nav-holder {
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 4;

  height: 60px;
}

.overlay {
  position: absolute;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: var(--dark-blue-black);
  opacity: 0.4;
}

.nav-container {
  position: absolute;
  display: flex;
  align-items: center;
  justify-content: space-between;
  align-items: center;
  padding: 0 100px 0 15px;
  /* z-index: 3; */
  width: 100%;
  top: 0;
}

.top-holder {
  display: none;
}

.mobile-nav-menu-holder {
  display: none;
  background-color: transparent;
  border: none;
}

.logo {
  display: flex;
  align-items: center;
}

.logo img {
  width: 96px;
  height: 60px;
}

.nav-links {
  position: absolute;
  z-index: 3;
  top: 20px;
  right: 100px;
}

.nav-links ul {
  list-style: none;
  display: flex;
  gap: 20px;
}

.nav-links a {
  color: var(--white);
  text-decoration: none;
  font-size: 16px;
  font-family: var(--CalibriRegular);
}

.nav-links a:hover {
  text-decoration: underline;
}

.nav-links a.active {
  color: var(--blue-green);
  font-family: var(--CalibriRegular);
}

.component-content-section {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  top: 0;
  z-index: 1;
  display: flex;
  justify-content: center;
  align-items: center;
}

/*About Us*/
.about-us-section {
  position: relative;
}

.about-us-section .section-content {
  z-index: 2;
}

.about-us-bg-img-holder {
  position: relative;
  margin: 0;
  /* height: 30vh; */
}

.about-us-home {
  height: 50vh;
}

.about-us-bg-img-holder img {
  width: 100%;
  height: 100%;
}

.cover img {
  object-fit: cover;
}

.about-us-mobile-bg-img-holder {
  display: none;
  position: relative;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1;
  height: 30vh;
}

.about-us-mobile-bg-img-holder img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.about-us-text {
  font-size: 20px;
  color: var(--dark-blue-black);
  display: flex;
  padding-bottom: 30px;
  font-family: var(--CalibriRegular);
}

.about-text-padding {
  padding: 0 5% 2% 5%;
}


.about-us-text .text-holder {
  width: 100%;
}

.about-us-text .left {
  width: 50%;
  padding: 10px;
  margin-bottom: 20px;
  text-align: left;
}


.about-us-text .text-holder {
  width: 100%;
}


.about-us-text .left {
  width: 50%;
  padding: 10px;
  margin-bottom: 20px;
  text-align: left;
}

.about-us-text .right {
  width: 50%;
  padding: 10px;
  text-align: left;
}

/*Services Section*/
.services-section {
  padding-top: 20px;
  background-color: var(--dark-blue-4);
}

.services-section .section-content {
  margin-top: 15px;
  display: flex;
  justify-content: center;
}

.mobile-element {
  display: none !important;
}

.card-bg {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  min-width: 295px;
  min-height: 265px;
  width: 100%;
  height: 100%;
  z-index: 2;
}

.card-bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 10px;
}

.service-card-bg {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  width: 100%;
  height: 100%;
  z-index: 2;
}

.service-card-bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 10px;
}

.cards-row {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.card-content-container {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  display: flex;
  justify-content: center;
  align-items: center;
}

.card-content-container .card-content {
  width: 100%;
}

.service-cards-holder {
  width: 75%;
}

.service-card .card-content-contaier {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: 0;
  display: flex;
  justify-content: center;
  align-items: center;
}

.service-cards-holder .service-card {
  cursor: pointer;
  position: relative;
  text-align: center;
  width: calc((100% / 4) - 8px);
  height: clamp(200px, 35vh, 300px);
  border-radius: 10px;
  box-shadow: 0 0 0 0.3px var(--blue-green);
  margin-bottom: 12px;
}

.service-cards-holder .service-card .card-icon {
  margin-bottom: clamp(15px, 3vw, 25px);
}

.service-cards-holder .service-card .card-content img {
  width: clamp(40px, 6vw, 64px);
  height: clamp(40px, 6vw, 64px);
}

.service-cards-holder .service-card .card-text {
  color: white;
  font-size: clamp(14px, 2vw, 18px);
  font-family: var(--CalibriRegular);
  padding: 0 clamp(5px, 1.5vw, 10px);
  line-height: 1.3;
  overflow-wrap: break-word;
  word-wrap: break-word;
  hyphens: auto;
}

.service-cards-holder .service-card .card-text.active-text {
  font-family: var(--CalibriRegular);
  font-weight: 700;
  color: var(--dark-blue-black-3);
}

.service-cards-holder .service-card .card-content-container .card-content .card-icon .active-icon {
  display: block;
}

.service-cards-holder .service-card .card-content-container .card-content .card-icon .inactive-icon {
  display: none;
}


.details-row .service-details {
  border-radius: 10px;
  margin-bottom: 12px;
  background: var(--dark-blue-7);
  padding-top: 20px;
}

.details-content .header {
  display: flex;
  justify-content: start;
  padding-left: 3%;
}

.details-content .header h2 {
  font-family: var(--CalibriRegular);
  font-size: clamp(24px, 4vw, 40px);
  color: var(--white);
  line-height: 1.2;
}

.details-row #details-description {
  font-family: var(--CalibriRegular);
  color: var(--white);
  font-size: clamp(14px, 1.8vw, 16px);
  padding: clamp(10px, 2vw, 15px);
  line-height: 1.4;
}

.details-row .service-details #details-description h2 {
  color: var(--white);
  font-size: 17px;
  font-weight: 700;
  margin-bottom: 15px;
  margin-top: 15px;
}

.details-row .service-details #details-description h3 {
  color: var(--blue-green);
  font-size: 17px;
  font-weight: 400;
  margin-bottom: 5px;
  margin-left: 40px;
}

.details-row .service-details #details-description li p {
  margin-left: 0;
}

.details-row .service-details #details-description p {
  margin-left: 30px;
}

.details-row #details-description ul {
  margin-left: 20px;
  font-family: var(--CalibriRegular);
  font-size: 16px;
}

.details-row #details-description ul li {
  margin-bottom: 5px;
}

/*Join Team*/
.join-team-section {
  padding: 40px 100px 30px 100px;
  position: relative;
  background: var(--dark-blue-black-3);
}

.join-team-section .section-content {
  position: relative;
  z-index: 2;
}

.join-team-text {
  text-align: center;
  margin-bottom: 18px;
  color: var(--white);
  font-family: var(--CalibriRegular);
  font-size: 16px;
}

.join-team-btn-holder {
  display: flex;
  justify-content: center;
}

.get-in-touch-btn {
  background-color: var(--blue-green) !important;
  color: var(--white);
  border: 1px solid var(--blue-green);
  border-radius: 36px;
  padding: 10px 44px;
  font-family: var(--CalibriRegular);
  font-size: 16px;
}

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

.about-us-section {
  width: 100%;
  margin-top: -10px;
}

.section-header {
  position: relative;
  text-align: center;
  z-index: 2;
  margin-bottom: 15px;
}

.section-header h2 {
  margin-bottom: 12px;
  font-size: 40px;
  font-family: var(--CalibriRegular);
  color: var(--dark-blue-3);
}

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

.light-green {
  color: var(--blue-green);
}

.white {
  color: var(--white);
}

.footer {
  /* background: radial-gradient(circle, var(--dark-blue-5) 2%, var(--dark-blue-4) 22%); */
  background: var(--dark-blue-black-3);
  padding-top: 20px;
  margin-top: -2px;
  ;
}

.footer-content {
  display: flex;
}

.footer-logo-holder {
  width: 10%;
}

.footer-logo-holder img {
  width: 100%;
}

.footer-links-holder {
  padding-left: 35px;
}

.footer-header {
  color: var(--white);
  font-size: 18px;
  font-family: var(--CalibriRegular);
}

.footer-links ul li {
  text-decoration: none;
  color: var(--white);
  font-size: 15px;
  list-style-type: none;
  margin-bottom: 10px;
  font-family: var(--CalibriRegular)
}

.footer-header-hr {
  height: 2px;
  width: 3vw;
  background-color: var(--white);
  margin-top: 5px;
  margin-bottom: 1.5vh;
}

.footer-bottom-hr {
  border-top: 0.2px solid var(--white);
  opacity: 0.1;
  margin-top: 2vh;
}

.footer-container {
  padding: 0 100px;
  position: relative;
}

.footer-copyright-section {
  padding: 15px;
}

.footer-copyright-text {
  color: var(--white);
  font-size: 10px;
  padding-left: 65%;
  font-family: var(--CalibriRegular)
}

.btn-holder a.submit-btn {
  border: none;
  border-radius: 36px;
  padding: 10px 44px;
  font-family: var(--CalibriRegular);
  font-size: 16px;
}

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

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

.linked-in-icon-holder {
  position: absolute;
  bottom: 20px;
  right: 10%;
  width: 32px;
  height: 32px;
}

.linked-in-icon-holder img {
  width: 100%;
  height: 100%;
}

@media (min-width: 420px) and (max-width: 768px) {
  .about-us-home {
    height: 65vh !important;
  }
}

@media (max-width: 768px) {

  .hero-text-holder {
    display: none;
  }

  .hero-text-holder-services {
    display: block;
  }

  .hero-text-holder-careers {
    display: block;
    width: 90%;
  }

  .hero-text-holder-mobile {
    display: block;
  }

  .hero-text-holder-mobile {
    position: absolute;
    top: 70%;
    left: 50%;
    transform: translate(-50%, -50%);
    text-align: center;
    color: var(--white);
    z-index: 3;
    width: 70%;
  }

  .explore-more-btn-holder-mobile {
    margin: 20% 0%;
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
  }

  .hero-text-container {
    margin-bottom: 10%;
  }

  .hero-section {
    width: 100%;
    height: 70vh;
    position: relative;
    z-index: 1;
  }

  .main-hero-text-container-mobile {
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
  }

  .logo img {
    width: 86px;
    height: 50px;
  }

  h2 {
    font-size: 24px;
  }

  .footer-header-hr {
    width: 100%;
  }

  .details-row .service-details #details-description h2 {
    font-size: 15px !important;
  }

  .details-row .service-details #details-description h3 {
    font-size: 15px !important;
  }

  .down-arrow-container img {
    width: 22px !important;
    height: 22px !important;
  }

  .section-header h2 {
    font-size: 20px;
  }

  .mobile-element {
    display: block !important;
  }

  .footer-container {
    padding: 0 15px;
  }

  .footer-logo-holder {
    width: 25%;
  }

  .footer-header {
    font-size: 15px;
  }

  .footer-header-hr {
    width: 70%;
  }

  .footer-links ul li {
    font-size: 12px;
  }

  .footer-copyright-section {
    padding-right: 15px;
  }

  .footer-copyright-text {
    font-size: 8px;
    padding-left: 0;
    text-align: end;
  }

  .linked-in-icon-holder {
    right: 5%;
  }

  .mobile-nav-menu-holder {
    cursor: pointer;
    position: absolute;
    display: block;
    top: 18px;
    right: 20px;
    width: 24px;
    height: 24px;
    z-index: 4;
  }

  .top-holder {
    display: flex;
    justify-content: end;
    padding: 15px;
  }

  .menu-holder {
    width: 24px;
    height: 24px;
  }

  .mobile-nav-menu-holder img {
    width: 100%;
    height: 100%;
  }

  .logo {
    margin-top: 5px;
  }

  .mobile-nav-links {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background-color: rgba(0, 0, 0, 0.8);
    z-index: 3;
  }

  .nav-links {
    display: none;
    top: 56px;
    right: 15px;
    z-index: 4;
  }

  .nav-links.show {
    display: block;
    background-color: rgba(23, 47, 75, 0.95);
    width: 100vw;
    height: 100vh;
    padding-right: 10px;
    z-index: 1000;
    right: 0;
    padding-right: 20px;
  }

  .nav-links ul {
    display: block;
    text-align: end;
  }

  .nav-links ul li {
    margin-bottom: 10px;
  }

  .nav-links ul li a {
    font-size: 16px;
  }

  .nav-links ul li a.active {
    color: var(--blue-green);
    font-family: var(--CalibriRegular);
  }

  .about-us-text {
    font-size: 15px;
    display: block;
    padding: 0 5% 5% 5%;
  }

  .about-us-text .left {
    width: 100%;
    padding: 0;
    margin-bottom: 15px;
    text-align: center;
  }

  .about-us-text .right {
    width: 100%;
    padding: 0;
    text-align: center;
  }

  .about-us-bg-img-holder {
    display: none;
  }

  .about-us-home {
    height: 80vh;
  }

  .about-us-mobile-bg-img-holder {
    display: block;
    object-fit: cover;
  }

  /*services*/

  .service-cards-holder {
    width: 95%;
  }

  .click-cards-caption {
    margin-bottom: 20px;
  }

  .click-cards-caption .caption-text {
    font-size: 1rem;
  }

  .cards-row {
    margin-bottom: 0;
  }

  .details-row #details-description {
    padding: 10px;
  }

  .details-content .header h2 {
    text-align: center;
  }

  .services-section {
    padding: 20px 0 20px 0;
  }

  .services-section .section-content {
    margin-top: 0;
  }

  .service-cards-holder .service-card {
    width: calc((100% / 2) - 6px);
    height: clamp(120px, 20vh, 180px);
    margin-bottom: 12px;
  }

  .service-cards-holder .service-card .card-icon {
    margin-bottom: clamp(8px, 2vw, 15px);
  }

  .service-cards-holder .service-card .card-content img {
    width: clamp(30px, 5vw, 40px);
    height: clamp(30px, 5vw, 40px);
  }

  .service-cards-holder .service-card .card-text {
    font-size: clamp(12px, 2.5vw, 14px);
    padding: 0 clamp(3px, 1vw, 5px);
    line-height: 1.2;
  }

  .btn-holder a.submit-btn {
    font-family: var(--CalibriRegular);
    font-size: 14px;
  }

  .services-section .btn-holder {
    text-align: center;
    margin-top: 12px;
    margin-bottom: 20px;
  }

  /* .get-in-touch-btn {
        padding: 10px 54px;
        font-size: 14px;
    } */

  .join-team-btn-holder {
    width: 100%;
  }

  .join-team-section {
    padding: 40px 10px;
  }

  .card-bg {
    min-width: unset;
    min-height: unset;
  }
}

/*For Tablets*/
@media (min-width: 768px) and (max-width: 1024px) {

  .nav-holder {
    position: fixed;
    top: 0;
    width: 100vw;
    z-index: 4;
    height: 60px;
  }

  .nav-links {
    display: block;
  }

  .core-values-main-bg-img-holder img {
    height: 100%;
    width: 100vw;
    object-fit: cover !important;
    position: relative !important;
  }

  .logo img {
    width: 100px;
    height: 60px;
  }

  .about-us-text {
    font-size: 14px;
    color: var(--dark-blue-black);
    font-family: var(--CalibriRegular);
  }

  h2 {
    font-size: 28px;
  }

  .hero-section .down-arrow-container img {
    width: 20px;
    height: 20px;
  }

  .about-us-text {
    font-size: 14px;
  }

  .about-us-text .left {
    width: 50%;
    padding: 10px;
    margin-bottom: 20px;
    text-align: left;
  }

  .about-us-text .right {
    width: 50%;
    padding: 10px;
    text-align: left;
  }

  .about-us-bg-img-holder {
    display: block;
  }

  .about-us-mobile-bg-img-holder {
    display: none;
  }

  .service-cards-holder {
    width: 80%;
  }

  .service-cards-holder .service-card {
    width: calc((100% / 4) - 10px);
    height: clamp(250px, 50vh, 350px);
    margin-bottom: 15px;
  }

  .service-cards-holder .service-card .card-icon {
    margin-bottom: clamp(20px, 4vw, 30px);
  }

  .service-cards-holder .service-card .card-content-container .card-content .card-icon .active-icon {
    display: block;
  }

  .service-cards-holder .service-card .card-content-container .card-content .card-icon .inactive-icon {
    display: none;
  }

  .service-cards-holder .service-card .card-content img {
    width: clamp(40px, 5.5vw, 50px);
    height: clamp(40px, 5.5vw, 50px);
  }

  /* .section-header h2 {
    font-size: 24px;
  } */

  .footer-container {
    padding: 0 20px;
  }

  .footer-logo-holder {
    width: 30%;
  }

  .footer-header-hr {
    display: block;
    margin-bottom: 0px;

  }

  .footer-header {
    display: block;
  }

  .footer-links ul li {
    font-size: 10px;
  }

  .footer-copyright-section {
    padding-right: 20px;
  }

  .footer-copyright-text {
    font-size: 10px;
    padding-left: 10px;
    text-align: right;
  }

  .mobile-nav-menu-holder {
    display: none;
  }

  .top-holder {
    display: none;
  }

  .menu-holder {
    display: none;
  }

  .mobile-nav-links {
    display: block;
  }

  @media (max-width: 520px) {
    .service-cards-holder {
      width: 80%;
    }

    .service-cards-holder .service-card {
      width: calc((100% / 2) - 10px);
      height: clamp(150px, 25vh, 200px);
      margin-bottom: 15px;
    }

    .service-cards-holder .service-card .card-icon {
      margin-bottom: clamp(15px, 3vw, 20px);
    }

    .service-cards-holder .service-card .card-content-container .card-content .card-icon .active-icon {
      display: block;
    }

    .service-cards-holder .service-card .card-content-container .card-content .card-icon .inactive-icon {
      display: none;
    }

    .service-cards-holder .service-card .card-content img {
      width: clamp(35px, 6vw, 50px);
      height: clamp(35px, 6vw, 50px);
    }
  }

  @media (max-width: 420px) {
    .service-cards-holder {
      width: 80%;
    }

    .service-cards-holder .service-card {
      width: calc((100% / 2) - 10px);
      height: clamp(140px, 25vh, 180px);
      margin-bottom: 15px;
    }

    .service-cards-holder .service-card .card-icon {
      margin-bottom: clamp(12px, 2.5vw, 18px);
    }

    .service-cards-holder .service-card .card-content-container .card-content .card-icon .active-icon {
      display: block;
    }

    .service-cards-holder .service-card .card-content-container .card-content .card-icon .inactive-icon {
      display: none;
    }

    .service-cards-holder .service-card .card-content img {
      width: clamp(30px, 5.5vw, 45px);
      height: clamp(30px, 5.5vw, 45px);
    }

    .card-bg {
      min-width: unset;
      min-height: unset;
    }
  }
}

/* High zoom level support for Service Cards */
@media (min-resolution: 2dppx), (min-resolution: 192dpi) {
  .service-cards-holder .service-card {
    height: clamp(180px, 32vh, 280px);
  }
  
  .service-cards-holder .service-card .card-content img {
    width: clamp(35px, 5vw, 55px);
    height: clamp(35px, 5vw, 55px);
  }
  
  .service-cards-holder .service-card .card-text {
    font-size: clamp(12px, 1.8vw, 16px);
    line-height: 1.2;
  }
  
  .details-content .header h2 {
    font-size: clamp(20px, 3.5vw, 36px);
  }
  
  .details-row #details-description {
    font-size: clamp(12px, 1.6vw, 14px);
    line-height: 1.3;
  }
}

/* Additional zoom support for very high zoom levels */
@media (min-resolution: 3dppx), (min-resolution: 288dpi) {
  .service-cards-holder .service-card {
    height: clamp(160px, 28vh, 180px);
  }
  
  .service-cards-holder .service-card .card-content img {
    width: clamp(30px, 4.5vw, 48px);
    height: clamp(30px, 4.5vw, 48px);
  }
  
  .service-cards-holder .service-card .card-text {
    font-size: clamp(10px, 1.5vw, 14px);
    line-height: 1.1;
  }
  
  .details-content .header h2 {
    font-size: clamp(18px, 3vw, 32px);
  }
  
  .details-row #details-description {
    font-size: clamp(11px, 1.4vw, 13px);
    line-height: 1.2;
  }
}