html, body {
  /* default */
  margin: 0;
  padding: 0;
  --icontag: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16.246' height='16.247' viewBox='0 0 16.246 16.247'%3E%3Cpath d='M13.994,6.248h-.008M11.217,3h2.175a5.977,5.977,0,0,1,2.536.262A2.406,2.406,0,0,1,16.98,4.314a5.978,5.978,0,0,1,.262,2.536V9.025a5.149,5.149,0,0,1-.066,1.16,2.407,2.407,0,0,1-.288.7,5.151,5.151,0,0,1-.773.867l-3.77,3.77a5.977,5.977,0,0,1-1.979,1.608,2.406,2.406,0,0,1-1.487,0A5.977,5.977,0,0,1,6.9,15.517L4.726,13.342a5.978,5.978,0,0,1-1.608-1.979,2.406,2.406,0,0,1,0-1.487A5.978,5.978,0,0,1,4.726,7.9L8.5,4.128a5.151,5.151,0,0,1,.867-.773,2.407,2.407,0,0,1,.7-.288A5.148,5.148,0,0,1,11.217,3Zm2.376,3.248a.4.4,0,1,0,.4-.4A.4.4,0,0,0,13.593,6.248Z' transform='translate(-1.996 -2)' fill='none' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.2'/%3E%3C/svg%3E");
  --phoneicon: url("data:image/svg+xml;charset=utf-8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22UTF-8%22%3F%3E%0A%3Csvg%20id%3D%22Layer_1%22%20data-name%3D%22Layer%201%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2059.57%2059.56%22%3E%0A%20%20%3Cdefs%3E%0A%20%20%20%20%3Cstyle%3E%0A%20%20%20%20%20%20.cls-1%20%7B%0A%20%20%20%20%20%20%20%20fill%3A%20%2315a53f%3B%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%3C%2Fstyle%3E%0A%20%20%3C%2Fdefs%3E%0A%20%20%3Cg%20id%3D%22phone-svgrepo-com%22%3E%0A%20%20%20%20%3Cpath%20class%3D%22cls-1%22%20d%3D%22M49.6%2C59.56C22.25%2C59.56%2C0%2C37.31%2C0%2C9.96c0-1.24.04-2.46.13-3.68-.05-.98.19-2.22.68-3.34.68-1.16%2C1.46-1.88%2C2.39-2.35.1-.05.2-.09.3-.13C4.72.05%2C6.03-.09%2C7.31.05h8.35c.87-.1%2C1.93%2C0%2C2.95.26%2C1.05.38%2C1.79.9%2C2.36%2C1.56.76%2C1.07%2C1.21%2C2.04%2C1.49%2C3.07l3.5%2C9.6c.44.9.75%2C2.08.83%2C3.3-.07%2C1.28-.4%2C2.23-.97%2C3.03-1.01%2C1.12-1.99%2C1.85-3.1%2C2.37l-2.18%2C1.31c3.26%2C6.16%2C8.29%2C11.2%2C14.46%2C14.46l1.42-2.37c.41-.9%2C1.13-1.88%2C2.04-2.72%2C1.04-.76%2C1.99-1.1%2C2.98-1.16%2C1.51.07%2C2.69.38%2C3.79.91l9.58%2C3.46c.85.22%2C1.81.67%2C2.69%2C1.28.87.74%2C1.38%2C1.48%2C1.69%2C2.3.34%2C1.26.44%2C2.33.34%2C3.39v8.4c.13%2C1.04%2C0%2C2.32-.41%2C3.55-.03.1-.08.2-.12.3-.47.94-1.19%2C1.72-2.09%2C2.26-.09.05-.18.1-.28.14-1.13.48-2.37.73-3.59.66-.96.08-2.18.13-3.41.13ZM5.15%2C4.75c-.11.07-.2.17-.27.29-.08.24-.19.79-.17%2C1.34-.08%2C1.35-.13%2C2.47-.13%2C3.59%2C0%2C24.83%2C20.2%2C45.02%2C45.02%2C45.02%2C1.12%2C0%2C2.24-.04%2C3.34-.12.69%2C0%2C1.23-.06%2C1.69-.24.07-.06.13-.12.18-.2.16-.54.2-1.1.14-1.67v-8.85c.04-.74%2C0-1.27-.14-1.79.02.09-.04%2C0-.14-.08-.24-.15-.73-.38-1.25-.52l-9.97-3.6c-.78-.36-1.39-.52-2.02-.56.14%2C0%2C0%2C.06-.11.14-.23.24-.61.75-.88%2C1.32l-2.61%2C4.38c-.6%2C1-1.85%2C1.39-2.91.91-8.62-3.93-15.52-10.83-19.45-19.45-.48-1.06-.09-2.31.91-2.91l4.18-2.51c.77-.38%2C1.28-.75%2C1.71-1.21-.09.1-.05-.03-.04-.17-.04-.34-.2-.95-.47-1.52l-3.65-10c-.2-.71-.43-1.2-.73-1.64.07.1-.03.03-.15-.01-.28-.06-.81-.1-1.36-.06H7.06c-.77-.07-1.37-.02-1.91.14Z%22%2F%3E%0A%20%20%3C%2Fg%3E%0A%3C%2Fsvg%3E");
  --emailicon: url("data:image/svg+xml;charset=utf-8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22UTF-8%22%3F%3E%0A%3Csvg%20id%3D%22Layer_1%22%20data-name%3D%22Layer%201%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2059.72%2055.45%22%3E%0A%20%20%3Cdefs%3E%0A%20%20%20%20%3Cstyle%3E%0A%20%20%20%20%20%20.cls-1%20%7B%0A%20%20%20%20%20%20%20%20fill%3A%20%2315a53f%3B%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%3C%2Fstyle%3E%0A%20%20%3C%2Fdefs%3E%0A%20%20%3Cg%20id%3D%22mail-open-alt-svgrepo-com%22%3E%0A%20%20%20%20%3Cpath%20class%3D%22cls-1%22%20d%3D%22M10.42%2C55.45c-1.77%2C0-3.65-.3-5.42-.88-.11-.04-.22-.08-.32-.13-1.59-.81-2.86-2.07-3.67-3.67-.05-.1-.1-.21-.14-.32-.79-2.4-1.05-4.89-.76-7.4v-19.22c-.12-1.35%2C0-2.87.32-4.35.39-1.28.94-2.27%2C1.68-3.13%2C1.21-1.2%2C2.43-2.1%2C3.78-2.81L23.37%2C2.55c1.34-.99%2C2.81-1.76%2C4.39-2.29%2C1.44-.34%2C2.73-.34%2C3.95-.06%2C1.83.6%2C3.34%2C1.39%2C4.7%2C2.4l17.55%2C11.01c1.21.64%2C2.43%2C1.54%2C3.51%2C2.6.87%2C1.01%2C1.42%2C2%2C1.76%2C3.08.38%2C1.67.49%2C3.19.38%2C4.69v19.31c.27%2C2.26.01%2C4.75-.78%2C7.15-.04.11-.08.22-.13.32-.81%2C1.59-2.08%2C2.86-3.67%2C3.67-.1.05-.21.1-.32.13-2.4.79-4.89%2C1.05-7.41.77H12.15c-.56.08-1.14.11-1.73.11ZM8.05%2C50.64c1.27.24%2C2.57.29%2C3.85.15h35.67c1.48.14%2C2.82.1%2C4.11-.15l-12.95-12.94-2.17%2C1.45c-1.25%2C1.01-2.82%2C1.88-4.51%2C2.47-1.51.38-2.86.38-4.14.07-1.92-.66-3.48-1.53-4.89-2.65l-2.02-1.35-12.96%2C12.96ZM42.6%2C35.1l12.31%2C12.31c.24-1.26.29-2.55.15-3.85v-16.78s-12.45%2C8.33-12.45%2C8.33ZM4.67%2C26.77v16.53c-.15%2C1.48-.1%2C2.83.14%2C4.11l12.31-12.31-12.45-8.33ZM4.74%2C21.31l20.98%2C14.04c1.16.91%2C2.28%2C1.53%2C3.48%2C1.96.35.07.97.07%2C1.55-.07.98-.36%2C2.1-.98%2C3.1-1.78l3.78-2.53c.07-.05.14-.1.22-.15l17.11-11.47c-.04-.28-.09-.56-.15-.84-.1-.3-.35-.75-.69-1.14-.63-.61-1.5-1.25-2.45-1.76l-17.84-11.2c-1.12-.83-2.2-1.39-3.35-1.77-.33-.06-.92-.07-1.48.06-.92.32-1.99.89-2.96%2C1.61-.05.04-.1.07-.15.1l-17.7%2C11.12c-1.09.59-1.96%2C1.23-2.72%2C1.97-.2.25-.45.7-.61%2C1.2-.04.2-.08.42-.11.65ZM24.67%2C4.44h.03-.03Z%22%2F%3E%0A%20%20%3C%2Fg%3E%0A%3C%2Fsvg%3E");
  --homeicon: url("data:image/svg+xml;charset=utf-8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22UTF-8%22%3F%3E%0A%3Csvg%20id%3D%22Layer_1%22%20data-name%3D%22Layer%201%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2062.57%2056.49%22%3E%0A%20%20%3Cdefs%3E%0A%20%20%20%20%3Cstyle%3E%0A%20%20%20%20%20%20.cls-1%20%7B%0A%20%20%20%20%20%20%20%20fill%3A%20%2315a53f%3B%0A%20%20%20%20%20%20%20%20fill-rule%3A%20evenodd%3B%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%3C%2Fstyle%3E%0A%20%20%3C%2Fdefs%3E%0A%20%20%3Cg%20id%3D%22home-2-svgrepo-com%22%3E%0A%20%20%20%20%3Cpath%20class%3D%22cls-1%22%20d%3D%22M31.29%2C0l31.28%2C23.46-1.49%2C4.47h-2.48v28.56H3.97v-28.56H1.49l-1.49-4.47L31.29%2C0ZM8.94%2C22.97v28.56h44.69v-28.56L31.29%2C6.21%2C8.94%2C22.97Z%22%2F%3E%0A%20%20%3C%2Fg%3E%0A%3C%2Fsvg%3E");
}

.phone-icon {
  display: inline-block;
  position: relative;
  top: 0.2rem;
  width: 1rem;
  height: 1rem;
  background-repeat: no-repeat;
  background-size: contain;
  background-image: var(--phoneicon);
}

.email-icon {
  display: inline-block;
  position: relative;
  top: 0.2rem;
  width: 1rem;
  height: 1rem;
  background-repeat: no-repeat;
  background-size: contain;
  background-image: var(--emailicon);
}

.home-icon {
  display: inline-block;
  position: relative;
  top: 0.2rem;
  width: 1rem;
  height: 1rem;
  background-repeat: no-repeat;
  background-size: contain;
  background-image: var(--homeicon);
}

p.px-3 a[data-bs-toggle=tooltip] {
  position: relative;
  z-index: 999;
}

@view-transition {
  navigation: auto;
}
.albert-sans-extralight {
  font-family: "Albert Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 200;
  font-style: normal;
}

.albert-sans-light {
  font-family: "Albert Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 300;
  font-style: normal;
}

.albert-sans-regular {
  font-family: "Albert Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
}

.albert-sans-medium {
  font-family: "Albert Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 500;
  font-style: normal;
}

.albert-sans-semibold {
  font-family: "Albert Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 600;
  font-style: normal;
}

.albert-sans-bold {
  font-family: "Albert Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
}

.albert-sans-extrabold {
  font-family: "Albert Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 800;
  font-style: normal;
}

.container {
  max-width: 1500px !important;
}

h1 {
  font-weight: 600 !important;
  font-size: clamp(3.5rem, 6vw, 5rem);
  letter-spacing: -0.2rem;
  line-height: 1.2;
}

h2 {
  font-weight: 600 !important;
  font-size: 3rem;
  letter-spacing: -0.08rem;
  line-height: 1.3;
}

h3 {
  font-weight: 600 !important;
  font-size: 2.1rem;
  letter-spacing: -0.05rem;
  line-height: 1.3;
}

.promo-text {
  font-size: clamp(1rem, 1vw, 1.2rem) !important;
}

section {
  scroll-margin-top: 120px; /* height of your fixed header to fix anchor offset */
}

.tagtext {
  font-size: 0.8rem !important;
  font-weight: 600 !important;
  text-transform: uppercase;
  letter-spacing: 0.03rem;
  line-height: 1;
}

body {
  /* custom */
  background-color: #001C12;
  font-family: "Albert Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 300;
  font-style: normal;
  font-size: 1.1rem;
}

.nav-link {
  color: #ffffff;
  padding-left: 1.2rem !important;
  padding-right: 1.2rem !important;
  position: relative;
  overflow: hidden;
  font-weight: 700 !important;
}

.nav-link:active,
.nav-link.active {
  color: rgba(255, 255, 255, 0.5) !important;
}

.nav-link::before {
  content: "";
  position: absolute;
  width: 0;
  height: 4px;
  left: 25%;
  bottom: 0;
  background: #0aa83e;
  transition: width 0.4s cubic-bezier(0.4, 0, 0.2, 1), left 0.4s cubic-bezier(0.4, 0, 0.2, 1);
  border-radius: 2px;
}

.nav-link:hover {
  color: #ffffff;
}

.nav-link:hover::before {
  width: 50%;
  left: 25%;
}

.nav-link:active::before,
.nav-link.active::before {
  width: 0 !important;
}

.icon-tag {
  display: inline-block;
  position: relative;
  top: 0.2rem;
  width: 1rem;
  height: 1rem;
  background-image: var(--icontag);
  background-repeat: no-repeat;
  background-size: contain;
}

.enlarging-line {
  display: inline-block;
  width: 10rem;
  height: 3px;
  background-color: #0aa83e;
  margin: 0 1rem;
  animation: enlarge 2s cubic-bezier(0.4, 0, 0.2, 1);
  vertical-align: middle;
}

@keyframes enlarge {
  0% {
    width: 1rem;
  }
  100% {
    width: 10rem;
  }
}
/* PROJECTS IMAGE OVERLAYS */
.project-image-hover {
  position: relative;
  overflow: hidden;
}

.project-image {
  background: #cecece;
  width: 100%;
  border-radius: 0px 40px 0 40px;
  -o-object-fit: cover;
     object-fit: cover;
}

.project-hover-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border-radius: 0px 40px 0 40px;
  opacity: 0;
  transition: opacity 0.5s ease;
  -o-object-fit: cover;
     object-fit: cover;
}

.project-image-hover:hover .project-hover-overlay {
  opacity: 1 !important;
}

/*  GALLERY DUMP IMAGES  */
.gallery-dump-img img {
  max-width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  overflow: hidden;
  opacity: 0;
  /*transform: translateY(2px);*/
  transition: opacity 0.8s ease, transform 0.6s ease;
  will-change: opacity, transform;
}

.gallery-dump-img img.visible {
  opacity: 1;
  /*transform: translateY(0);*/
}

/* PARTNERS LOGO SLIDER */
.logo-slideshow-container {
  overflow: hidden;
  width: 100%;
  position: relative;
  margin-top: 40px;
}

.logo-slideshow-track {
  display: flex;
  align-items: center;
  gap: 4rem;
  /* Remove animation from here, will use JS for infinite scroll */
  will-change: transform;
}

.logo-slideshow-track img {
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  filter: grayscale(100%);
  opacity: 0.8;
  transition: filter 0.3s, opacity 0.3s;
}

.logo-slideshow-track img:hover {
  filter: grayscale(0%);
  opacity: 1;
}

/* PROJECT DETAIL IMAGES */
.projects-img-grid img {
  max-width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  overflow: hidden;
}

.zoom-hover {
  transition: transform 0.5s;
}

.zoom-hover:hover {
  transform: scale(1.05);
}

/* form styling */
.form-control {
  border: 1px solid #ffffff !important;
  height: calc(1.5em + 0.75rem + 6px) !important; /* to compensate for increased border */
  padding-bottom: 0.375rem !important; /* to compensate for increased border */
  border-radius: 0 !important;
  background-color: transparent !important;
  color: #ffffff !important;
}

.form-control:focus {
  border: 2px solid #ffffff !important;
  box-shadow: 0 0 0.3rem 0.3rem rgba(81, 255, 0, 0.5) !important;
  height: calc(1.5em + 0.75rem + 6px) !important; /* to compensate for increased border */
  padding-bottom: 0.375rem !important; /* to compensate for increased border */
  background-color: transparent !important;
}

.form-check-input {
  border: 2px solid #ffffff !important;
}

.form-check-input:checked {
  background-color: #ffffff !important;
  border-color: #ffffff !important;
}

.form-check-input:focus {
  border-color: #ffffff !important;
}

.form-check-input:checked:focus {
  border-color: #ffffff !important;
}

.form-check-input:focus:not(:checked) {
  border-color: #ffffff !important;
}

.form-floating > label::after {
  color: #ffffff !important;
  background-color: transparent !important;
}

.form-floating > label {
  color: #ffffff !important;
  background-color: transparent !important;
}

#thankyouModal {
  z-index: 9999999 !important;
}

.service-card {
  transition: transform 0.3s ease, box-shadow 0.3s ease !important;
}
.service-card:hover {
  transform: scale(1.05);
  box-shadow: 0 8px 16px rgba(0, 0, 0, 0.2);
}

/** BACK TO TOP ARROW **/
#toTopBtn {
  display: none;
  position: fixed;
  bottom: 20px;
  right: 30px;
  z-index: 9999;
  padding: 15px;
  cursor: pointer;
}

/** END BACK TO TOP **/
/* HIDE RECAPTCHA BADGE */
.grecaptcha-badge {
  visibility: hidden;
}/*# sourceMappingURL=styles.css.map */