/* CSS Animations for Dynamic Effects */
@keyframes gradientShift {
  0% { background-position: 0% 50%; }
  50% { background-position: 100% 50%; }
  100% { background-position: 0% 50%; }
}

@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translate3d(0, 40px, 0);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}

@keyframes pulse {
  0% { transform: scale(1); }
  50% { transform: scale(1.05); }
  100% { transform: scale(1); }
}

@keyframes float {
  0%, 100% { transform: translateY(0px); }
  50% { transform: translateY(-20px); }
}

@keyframes slideInFromLeft {
  0% {
    transform: translateX(-100%);
    opacity: 0;
  }
  100% {
    transform: translateX(0);
    opacity: 1;
  }
}

@keyframes slideInFromRight {
  0% {
    transform: translateX(100%);
    opacity: 0;
  }
  100% {
    transform: translateX(0);
    opacity: 1;
  }
}

/* Staggered animation delays */
#fh5co-services .service:nth-child(1) { animation-delay: 0.1s; }
#fh5co-services .service:nth-child(2) { animation-delay: 0.2s; }
#fh5co-services .service:nth-child(3) { animation-delay: 0.3s; }
#fh5co-services .service:nth-child(4) { animation-delay: 0.4s; }
#fh5co-services .service:nth-child(5) { animation-delay: 0.5s; }
#fh5co-services .service:nth-child(6) { animation-delay: 0.6s; }

#fh5co-team .person:nth-child(1) { animation-delay: 0.2s; }
#fh5co-team .person:nth-child(2) { animation-delay: 0.4s; }
#fh5co-team .person:nth-child(3) { animation-delay: 0.6s; }
#fh5co-team .person:nth-child(4) { animation-delay: 0.8s; }

@font-face {
  font-family: 'icomoon';
  src: url("../fonts/icomoon/icomoon.eot?srf3rx");
  src: url("../fonts/icomoon/icomoon.eot?srf3rx#iefix") format("embedded-opentype"), url("../fonts/icomoon/icomoon.ttf?srf3rx") format("truetype"), url("../fonts/icomoon/icomoon.woff?srf3rx") format("woff"), url("../fonts/icomoon/icomoon.svg?srf3rx#icomoon") format("svg");
  font-weight: normal;
  font-style: normal;
}
body {
  font-family: "Inter", "Segoe UI", "Roboto", "Helvetica Neue", sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.6;
  color: #1a202c;
  background: #ffffff;
  letter-spacing: -0.01em;
  overflow-x: hidden;
  max-width: 100vw;
}
body.fh5co-overflow {
  overflow-x: hidden;
  width: 100%;
}

a {
  color: #76b900;
  -webkit-transition: all 0.2s ease;
  -o-transition: all 0.2s ease;
  transition: all 0.2s ease;
  text-decoration: none;
}
a:hover, a:focus, a:active {
  color: #76b900;
  transform: translateY(-0.5px);
  text-shadow: 0 1px 2px rgba(118, 185, 0, 0.1);
}

h1, h2, h3, h4, h5, h6 {
  font-family: "Inter", "Segoe UI", "Roboto", "Helvetica Neue", sans-serif;
  color: #1a202c;
  margin-bottom: 24px;
  font-weight: 600;
  letter-spacing: -0.025em;
}

p {
  margin-bottom: 24px;
  line-height: 1.6;
  font-weight: 400;
}

/* Service card text and link spacing fix */
.service p,
#fh5co-services .service p {
  word-spacing: normal;
  letter-spacing: normal;
  text-align: center;
  line-height: 1.6;
}

/* Add proper spacing around links in service cards */
.service p a,
#fh5co-services .service p a {
  display: inline;
  padding: 0 2px;
  margin: 0 1px;
  white-space: nowrap;
  word-break: keep-all;
  text-decoration: underline;
  color: #76b900;
  transition: color 0.2s ease;
}

/* Reset all pseudo-elements first */
#fh5co-services .service p a::before,
#fh5co-services .service p a::after {
  content: "" !important;
  white-space: normal !important;
}

/* Add proper spacing around service links with margins - most specific */
#fh5co-services .service p a {
  margin-left: 4px !important;
  margin-right: 4px !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* Service card link hover effects */
.service p a:hover,
#fh5co-services .service p a:hover {
  color: #76b900;
  text-decoration: none;
}

/* Remove all pseudo-element spacing rules */
p a::before,
p a::after {
  content: "" !important;
  white-space: normal !important;
}

/* Specific text spacing fixes - but not for service paragraphs */
p:not(.service p) {
  text-align: justify;
  text-justify: inter-word;
}

/* Service paragraphs use center alignment to avoid justify issues */
.service p,
#fh5co-services .service p {
  text-align: center !important;
  text-justify: none !important;
}

/* Make sure there's no extra space between words and links - but not service links */
p:not(.service p) a + *,
* + p:not(.service p) a {
  margin-left: 0 !important;
  padding-left: 0 !important;
}

/* Specific spacing for problematic links - extra enforcement */
#fh5co-services .service p a[href*="developer.nvidia.com"],
#fh5co-services .service p a[href*="opensource.google"] {
  margin-left: 6px !important;
  margin-right: 6px !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* Override any Bootstrap or theme spacing */
.service p,
#fh5co-services .service p {
  margin-bottom: 20px;
  text-align: center;
}

.service p a,
#fh5co-services .service p a {
  border: none !important;
  outline: none !important;
  box-shadow: none !important;
  text-decoration: underline;
  color: #76b900 !important;
  margin-left: 4px !important;
  margin-right: 4px !important;
}

/* Ensure inline links don't create line breaks */
p a[target="_blank"] {
  display: inline !important;
  word-break: keep-all !important;
  white-space: nowrap !important;
}

.btn {
  margin-right: 4px;
  margin-bottom: 4px;
  font-family: "Inter", "Segoe UI", "Roboto", "Helvetica Neue", sans-serif;
  font-size: 11px;
  letter-spacing: 0px !important;
  text-transform: uppercase;
  font-weight: 600;
  -webkit-border-radius: 100px;
  -moz-border-radius: 100px;
  -ms-border-radius: 100px;
  border-radius: 100px;
  -webkit-transition: 0.3s;
  -o-transition: 0.3s;
  transition: 0.3s;
}
.btn.btn-md {
  padding: 10px 20px !important;
}
.btn.btn-lg {
  padding: 18px 36px !important;
}
.btn:hover, .btn:active, .btn:focus {
  box-shadow: none !important;
  outline: none !important;
}

.btn-primary {
  background: #76b900;
  color: #fff;
  border: 2px solid transparent;
  box-shadow: 0 4px 15px rgba(5, 150, 105, 0.15);
  transform: translateY(0);
  transition: all 0.2s ease;
}
.btn-primary:hover, .btn-primary:focus, .btn-primary:active {
  background: #76b900 !important;
  border-color: transparent !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 6px 20px rgba(4, 120, 87, 0.2) !important;
}

/* IMPROVED BUTTON STYLING */
.btn {
  letter-spacing: 0.5px;
  word-spacing: 0px;
  font-size: 11px;
  padding: 12px 24px;
  font-weight: 600;
  text-transform: uppercase;
  border-radius: 25px;
  transition: all 0.3s ease;
  display: inline-block;
  text-align: center;
  vertical-align: middle;
  cursor: pointer;
  border: none;
  text-decoration: none;
}

/* Subtle Get In Touch button */
.btn.external, 
a.btn[href*="keybase.io"],
.btn-primary.btn-outline {
  background: #76b900;
  color: #ffffff;
  border: 2px solid #76b900;
  box-shadow: 0 2px 8px rgba(5, 150, 105, 0.1);
  font-size: 12px;
  padding: 10px 20px;
  letter-spacing: 1px;
  font-weight: 600;
  text-transform: uppercase;
  display: inline-block;
  margin: 0 auto;
  text-align: center;
  border-radius: 100px;
  transition: all 0.2s ease;
  text-decoration: none;
}

.btn.external:hover, 
a.btn[href*="keybase.io"]:hover,
.btn-primary.btn-outline:hover {
  background: #76b900;
  border-color: #76b900;
  color: #ffffff;
  text-decoration: none;
  box-shadow: 0 4px 12px rgba(4, 120, 87, 0.15);
  transform: translateY(-1px);
}

.btn.external:active, 
a.btn[href*="keybase.io"]:active,
.btn-primary.btn-outline:active {
  background: #76b900;
  border-color: #76b900;
  color: #ffffff;
  text-decoration: none;
  box-shadow: 0 2px 6px rgba(6, 95, 70, 0.2);
  transform: translateY(0);
}

/* Button container centering */
#fh5co-services .col-md-12.text-center,
.col-md-12.text-center p,
p:has(.btn.external),
p:has(a.btn[href*="keybase.io"]) {
  text-align: center !important;
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 30px 0;
  width: 100%;
}

/* Services section button specific styling */
#fh5co-services .col-md-12.text-center {
  padding: 40px 0;
  margin-top: 40px;
}

/* Responsive button improvements */
@media screen and (max-width: 768px) {
  .btn.external, 
  a.btn[href*="keybase.io"],
  .btn-primary.btn-outline {
    font-size: 12px;
    padding: 20px 36px;
    letter-spacing: 0.8px;
    min-width: 160px;
    max-width: 200px;
    border-width: 2px;
  }
}

/* Button focus states for accessibility */
.btn.external:focus, 
a.btn[href*="keybase.io"]:focus {
  outline: 2px solid #22c55e;
  outline-offset: 2px;
}
/* Override for non-external outline buttons if needed */
.btn-primary.btn-outline:not(.external):not([href*="keybase.io"]) {
  background: transparent;
  color: #22c55e;
  border: 2px solid #22c55e;
}
.btn-primary.btn-outline:not(.external):not([href*="keybase.io"]):hover,
.btn-primary.btn-outline:not(.external):not([href*="keybase.io"]):focus,
.btn-primary.btn-outline:not(.external):not([href*="keybase.io"]):active {
  background: #22c55e;
  color: #fff;
  border-color: #22c55e;
}

.btn-success {
  background: #58ca7e;
  color: #fff;
  border: 2px solid #58ca7e;
}
.btn-success:hover, .btn-success:focus, .btn-success:active {
  background: #45c46f !important;
  border-color: #45c46f !important;
}
.btn-success.btn-outline {
  background: transparent;
  color: #58ca7e;
  border: 2px solid #58ca7e;
}
.btn-success.btn-outline:hover, .btn-success.btn-outline:focus, .btn-success.btn-outline:active {
  background: #58ca7e;
  color: #fff;
}

.btn-info {
  background: #1784fb;
  color: #fff;
  border: 2px solid #1784fb;
}
.btn-info:hover, .btn-info:focus, .btn-info:active {
  background: #0477f4 !important;
  border-color: #0477f4 !important;
}
.btn-info.btn-outline {
  background: transparent;
  color: #1784fb;
  border: 2px solid #1784fb;
}
.btn-info.btn-outline:hover, .btn-info.btn-outline:focus, .btn-info.btn-outline:active {
  background: #1784fb;
  color: #fff;
}

.btn-warning {
  background: #fed330;
  color: #fff;
  border: 2px solid #fed330;
}
.btn-warning:hover, .btn-warning:focus, .btn-warning:active {
  background: #fece17 !important;
  border-color: #fece17 !important;
}
.btn-warning.btn-outline {
  background: transparent;
  color: #fed330;
  border: 2px solid #fed330;
}
.btn-warning.btn-outline:hover, .btn-warning.btn-outline:focus, .btn-warning.btn-outline:active {
  background: #fed330;
  color: #fff;
}

.btn-danger {
  background: #fb4f59;
  color: #fff;
  border: 2px solid #fb4f59;
}
.btn-danger:hover, .btn-danger:focus, .btn-danger:active {
  background: #fa3641 !important;
  border-color: #fa3641 !important;
}
.btn-danger.btn-outline {
  background: transparent;
  color: #fb4f59;
  border: 2px solid #fb4f59;
}
.btn-danger.btn-outline:hover, .btn-danger.btn-outline:focus, .btn-danger.btn-outline:active {
  background: #fb4f59;
  color: #fff;
}

.btn-outline {
  background: none;
  border: 2px solid gray;
  font-size: 12px;
  letter-spacing: 2px;
  text-transform: uppercase;
  -webkit-transition: 0.3s;
  -o-transition: 0.3s;
  transition: 0.3s;
}
.btn-outline:hover, .btn-outline:focus, .btn-outline:active {
  box-shadow: none;
}

.form-control {
  box-shadow: none;
  background: transparent;
  border: 2px solid rgba(0, 0, 0, 0.1);
  height: 54px;
  font-size: 18px;
  font-weight: 300;
}
.form-control:active, .form-control:focus {
  outline: none;
  box-shadow: none;
  border-color: #22c55e;
}

.fh5co-page {
  overflow-x: hidden;
  position: relative;
  z-index: 1;
}

#fh5co-home {
  height: 450px !important;
  min-height: 450px !important;
  max-height: 450px !important;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center center;
  -webkit-box-shadow: inset -1px -11px 21px -15px rgba(0, 0, 0, 0.75);
  -moz-box-shadow: inset -1px -11px 21px -15px rgba(0, 0, 0, 0.75);
  box-shadow: inset -1px -11px 21px -15px rgba(0, 0, 0, 0.75);
  position: relative;
  overflow: hidden;
}
#fh5co-home > .container {
  position: relative;
  z-index: 2;
}
.js-fullheight-home, 
.js-fullheight-home * {
  height: 450px !important;
  min-height: 450px !important;
  max-height: 450px !important;
}

/* Fix container and section positioning */
.container {
  max-width: 100%;
  margin: 0 auto;
  padding-left: 15px;
  padding-right: 15px;
}

#fh5co-home,
#fh5co-services,
#fh5co-team {
  width: 100%;
  max-width: 100vw;
  overflow-x: hidden;
  position: relative;
}

/* Simplified home section height */
#fh5co-home {
  height: 500px;
  min-height: 400px;
  max-height: 600px;
}

#fh5co-home .fh5co-copy {
  display: table;
  width: 100%;
  height: 100%;
}
#fh5co-home .fh5co-copy-inner {
  display: table-cell;
  width: 100%;
  vertical-align: middle;
  text-align: left;
  padding-left: 0;
}
#fh5co-home .fh5co-copy-inner h1 {
  margin: 0;
  padding: 0;
}

#fh5co-home .fh5co-copy-inner h2 {
  margin: 0 !important;
  padding: 0 !important;
}
#fh5co-home .fh5co-copy-inner h1 {
  color: #fff;
  font-size: 42px;
  margin-bottom: 16px;
  margin-top: 60px;
  line-height: 1.2;
  font-weight: 700;
  animation: fadeInUp 1s ease-out;
  text-shadow: 0 4px 20px rgba(0, 0, 0, 0.5);
  text-align: left !important;
  max-width: 85%;
  letter-spacing: -0.02em;
}
#fh5co-home .fh5co-copy-inner h2 {
  font-size: 26px !important;
  color: #ffffff !important;
  line-height: 1.4 !important;
  text-align: left !important;
  font-weight: 700 !important;
  animation: none !important;
  text-shadow: 0 8px 40px rgba(0, 0, 0, 1) !important;
  letter-spacing: 0px !important;
  max-width: 95% !important;
  margin-top: 30px !important;
  margin-bottom: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding: 0 !important;
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  position: relative !important;
  z-index: 100 !important;
  background: rgba(0, 0, 0, 0.3) !important;
  padding: 8px 12px !important;
  border-radius: 4px !important;
}
#fh5co-home .fh5co-copy-inner a {
  color: #fff;
  border-bottom: 1px solid rgba(255, 255, 255, 0.4);
}
#fh5co-home .fh5co-copy-inner a:hover {
  border-bottom: 1px solid rgba(255, 255, 255, 0.9);
  text-decoration: none;
}

.fh5co-main-nav {
  position: relative;
  background: #ffffff;
  border-bottom: 1px solid rgba(34, 197, 94, 0.15);
  transition: all 0.3s ease;
}
.fh5co-main-nav.fh5co-shadow {
  -webkit-box-shadow: 0 10px 30px 0 rgba(34, 197, 94, 0.2);
  -moz-box-shadow: 0 10px 30px 0 rgba(34, 197, 94, 0.2);
  -ms-box-shadow: 0 10px 30px 0 rgba(34, 197, 94, 0.2);
  box-shadow: 0 10px 30px 0 rgba(34, 197, 94, 0.2);
}
.fh5co-main-nav .fh5co-menu-1 {
  vertical-align: middle;
  float: left;
  line-height: 0;
}
.fh5co-main-nav .fh5co-menu-1 a {
  padding: 35px 10px;
  margin-right: 20px;
  color: #22c55e;
  text-transform: uppercase;
  letter-spacing: 0.8px;
  font-size: 12px;
  font-weight: 600;
  display: -moz-inline-stack;
  display: inline-block;
  zoom: 1;
  *display: inline;
  position: relative;
  transition: all 0.3s ease;
}
.fh5co-main-nav .fh5co-menu-1 a:hover, .fh5co-main-nav .fh5co-menu-1 a:focus, .fh5co-main-nav .fh5co-menu-1 a:active {
  outline: none;
  text-decoration: none;
  color: #16a34a;
  transform: translateY(-2px);
}
.fh5co-main-nav .fh5co-menu-1 a::after {
  content: '';
  position: absolute;
  bottom: 15px;
  left: 0;
  width: 0;
  height: 2px;
  background: linear-gradient(135deg, #22c55e, #16a34a);
  transition: width 0.3s ease;
}
.fh5co-main-nav .fh5co-menu-1 a:hover::after {
  width: 100%;
}
.fh5co-main-nav .fh5co-menu-1 a.active {
  font-weight: 600;
  color: #16a34a;
}
.fh5co-main-nav .fh5co-menu-1 a.active::after {
  width: 100%;
}
.fh5co-main-nav .fh5co-menu-1 {
  width: 100%;
}
.fh5co-main-nav .fh5co-menu-1 a {
  vertical-align: middle;
}
.fh5co-main-nav .fh5co-logo {
  text-align: center;
  width: 19.33%;
  font-size: 40px;
  font-family: "Open Sans", Arial, sans-serif;
  font-weight: 700;
  font-style: italic;
}
.fh5co-main-nav .fh5co-logo a {
  position: relative;
  top: -5px;
  display: inline-block;
}
.fh5co-main-nav .fh5co-menu-2 {
  text-align: left;
  width: 40.33%;
}

.fh5co-heading .heading {
  font-size: 50px;
  font-style: italic;
  position: relative;
  padding-bottom: 30px;
  margin-bottom: 30px;
}
@media screen and (max-width: 768px) {
  .fh5co-heading .heading {
    font-size: 30px;
  }
}
.fh5co-heading .heading:after {
  content: "";
  position: absolute;
  bottom: 0;
  width: 40px;
  height: 2px;
  left: 50%;
  background: #fb6e14;
  margin-left: -20px;
}
.fh5co-heading .sub-heading {
  font-size: 20px;
  line-height: 1.5;
  margin-bottom: 30px;
}
@media screen and (max-width: 768px) {
  .fh5co-heading .sub-heading {
    font-size: 18px;
  }
}

#fh5co-about {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  background: #E8ECF1;
  width: 100%;
}
#fh5co-about .fh5co-2col {
  width: 50%;
}
@media screen and (max-width: 768px) {
  #fh5co-about .fh5co-2col {
    width: 100%;
  }
}
#fh5co-about .fh5co-2col-inner {
  padding: 5em 0;
  width: 585px;
  margin-right: auto;
  margin-left: auto;
  padding-left: 15px;
  padding-right: 15px;
}
@media screen and (max-width: 1200px) {
  #fh5co-about .fh5co-2col-inner {
    width: 485px;
  }
}
@media screen and (max-width: 992px) {
  #fh5co-about .fh5co-2col-inner {
    width: 375px;
  }
}
@media screen and (max-width: 768px) {
  #fh5co-about .fh5co-2col-inner {
    width: 100% !important;
    padding: 2em 0 3em 0;
  }
}
#fh5co-about .fh5co-2col-inner.left {
  float: right;
}
@media screen and (max-width: 768px) {
  #fh5co-about .fh5co-2col-inner.left {
    float: none;
  }
}
#fh5co-about .fh5co-2col-inner.right {
  float: left;
}
@media screen and (max-width: 768px) {
  #fh5co-about .fh5co-2col-inner.right {
    float: none;
  }
}

.fh5co-grid {
  padding-left: 2em;
}
@media screen and (max-width: 768px) {
  .fh5co-grid {
    padding-left: 0em;
  }
}
.fh5co-grid .fh5co-grid-item {
  width: 50%;
  float: left;
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
}
@media screen and (max-width: 768px) {
  .fh5co-grid .fh5co-grid-item {
    height: 300px !important;
  }
}
@media screen and (max-width: 480px) {
  .fh5co-grid .fh5co-grid-item {
    width: 100%;
    height: 200px !important;
  }
}

.fh5co-tabs-container {
  position: relative;
}
.fh5co-tabs-container .fh5co-tabs {
  padding: 0;
  margin: 0 0 30px 0;
  float: left;
  width: 100%;
}
.fh5co-tabs-container .fh5co-tabs.fh5co-two li {
  width: 50%;
}
.fh5co-tabs-container .fh5co-tabs.fh5co-three li {
  width: 33.33%;
}
.fh5co-tabs-container .fh5co-tabs.fh5co-four li {
  width: 25%;
}
.fh5co-tabs-container .fh5co-tabs li {
  padding: 0;
  margin: 0;
  list-style: none;
  float: left;
  display: -moz-inline-stack;
  display: inline-block;
  zoom: 1;
  *display: inline;
  text-align: center;
}
.fh5co-tabs-container .fh5co-tabs li a {
  border-bottom: 1px solid #ccc;
  padding: 30px 0;
  float: left;
  width: 100%;
  display: block;
  letter-spacing: 2px;
  font-size: 13px;
  text-transform: uppercase;
  font-weight: 700;
  color: #888;
}
.fh5co-tabs-container .fh5co-tabs li a:hover, .fh5co-tabs-container .fh5co-tabs li a:active, .fh5co-tabs-container .fh5co-tabs li a:focus {
  text-decoration: none;
  outline: none;
}
.fh5co-tabs-container .fh5co-tabs li.active a {
  color: #69c2c8;
  border-bottom: 1px solid #69c2c8;
}
@media screen and (max-width: 480px) {
  .fh5co-tabs-container .fh5co-tabs li {
    width: 100% !important;
  }
}
.fh5co-tabs-container .fh5co-tab-content {
  display: none;
  -webkit-transition: 0.5s;
  -o-transition: 0.5s;
  transition: 0.5s;
}
.fh5co-tabs-container .fh5co-tab-content h2 {
  font-size: 20px;
  font-weight: 300;
  line-height: 1.8;
  margin-bottom: 30px;
  color: #7b7b7b;
}
.fh5co-tabs-container .fh5co-tab-content.active {
  display: block;
}
@media screen and (max-width: 768px) {
  .fh5co-tabs-container .fh5co-tab-content {
    padding-left: 15px;
    padding-right: 15px;
  }
}

.gototop {
  position: fixed;
  bottom: 20px;
  right: 20px;
  z-index: 999;
  opacity: 0;
  visibility: hidden;
  -webkit-transition: 0.5s;
  -o-transition: 0.5s;
  transition: 0.5s;
}
.gototop.active {
  opacity: 1;
  visibility: visible;
}
.gototop a {
  width: 50px;
  height: 50px;
  display: table;
  background: rgba(0, 0, 0, 0.5);
  color: #fff;
  text-align: center;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  -ms-border-radius: 4px;
  border-radius: 4px;
}
.gototop a i {
  height: 50px;
  display: table-cell;
  vertical-align: middle;
}
.gototop a:hover, .gototop a:active, .gototop a:focus {
  text-decoration: none;
  outline: none;
}

#fh5co-services {
  position: relative;
  padding: 1em 0;
  background: #ffffff;
  overflow: hidden;
}

#fh5co-services .container .row {
  margin-left: -15px;
  margin-right: -15px;
}

#fh5co-services .container .col-md-4 {
  padding-left: 15px;
  padding-right: 15px;
  margin-bottom: 15px;
}
@media screen and (max-width: 768px) {
  #fh5co-services {
    padding: 0.5em 0;
  }
}
#fh5co-services .fh5co-video {
  position: absolute;
  top: 0;
  width: 90px;
  height: 90px;
  left: 50%;
  margin-left: -45px;
  top: -45px;
  text-align: center;
}
#fh5co-services .fh5co-video span {
  display: block;
  padding-top: 100px;
  font-size: 14px;
}
#fh5co-services .fh5co-video a {
  float: left;
  width: 90px;
  height: 90px;
  background: linear-gradient(135deg, #22c55e 0%, #16a34a 100%);
  color: #fff;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  -ms-border-radius: 50%;
  border-radius: 50%;
  display: table;
  -webkit-box-shadow: 0 10px 30px 0 rgba(34, 197, 94, 0.4);
  -moz-box-shadow: 0 10px 30px 0 rgba(34, 197, 94, 0.4);
  -ms-box-shadow: 0 10px 30px 0 rgba(34, 197, 94, 0.4);
  box-shadow: 0 10px 30px 0 rgba(34, 197, 94, 0.4);
  animation: float 6s ease-in-out infinite;
  transition: all 0.3s ease;
}
#fh5co-services .fh5co-video a i {
  padding-left: 10px;
  text-align: center;
  height: 90px;
  display: table-cell;
  vertical-align: middle;
  font-size: 40px;
  line-height: 40px;
}
#fh5co-services .fh5co-video a:hover {
  background: linear-gradient(135deg, #4ade80 0%, #76b900 100%);
  animation: pulse 1s ease-in-out infinite;
  box-shadow: 0 15px 40px 0 rgba(74, 222, 128, 0.5);
}
#fh5co-services .fh5co-video a:hover, #fh5co-services .fh5co-video a:focus, #fh5co-services .fh5co-video a:active {
  text-decoration: none;
  outline: none;
  -webkit-transform: scale(1.2);
  -moz-transform: scale(1.2);
  -ms-transform: scale(1.2);
  -o-transform: scale(1.2);
  transform: scale(1.2);
}
#fh5co-services .service {
  text-align: center;
  padding: 40px 20px 30px 20px;
  margin-bottom: 30px;
  background: #ffffff;
  border: 1px solid rgba(34, 197, 94, 0.15);
  -webkit-border-radius: 15px;
  -moz-border-radius: 15px;
  -ms-border-radius: 15px;
  border-radius: 15px;
  -webkit-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
  transform: translateY(0);
  opacity: 0;
  animation: fadeInUp 0.8s ease forwards;
  height: 280px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
}
#fh5co-services .service .icon {
  text-align: center;
  width: 100%;
  margin-bottom: 20px;
  flex-shrink: 0;
}
#fh5co-services .service .icon i {
  font-size: 40px;
  background: linear-gradient(135deg, #76b900, #76b900);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  transition: all 0.2s ease;
}
#fh5co-services .service h3 {
  text-align: center;
  font-size: 15px;
  font-weight: 600;
  text-transform: uppercase;
  color: #2d3748;
  transition: all 0.3s ease;
  margin-bottom: 12px;
  flex-shrink: 0;
  letter-spacing: 0.5px;
}

#fh5co-services .service p {
  flex-grow: 1;
  margin-bottom: 0;
  display: flex;
  align-items: center;
  text-align: center;
  font-size: 14px;
  line-height: 1.5;
  color: #4a5568;
  font-weight: 400;
}
#fh5co-services .service:hover, #fh5co-services .service:focus {
  border: 1px solid rgba(118, 185, 0, 0.2);
  -webkit-box-shadow: 0 10px 20px 0 rgba(118, 185, 0, 0.1);
  -moz-box-shadow: 0 10px 20px 0 rgba(118, 185, 0, 0.1);
  -ms-box-shadow: 0 10px 20px 0 rgba(118, 185, 0, 0.1);
  box-shadow: 0 10px 20px 0 rgba(118, 185, 0, 0.1);
  transform: translateY(-3px);
  background: rgba(255, 255, 255, 1);
}
#fh5co-services .service:hover .icon i {
  transform: scale(1.05);
  background: linear-gradient(135deg, #76b900, #76b900);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}
#fh5co-services .service:hover h3 {
  background: linear-gradient(135deg, #76b900, #76b900);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.checked {
  padding: 0;
  margin: 0 0 30px 0;
}
.checked li {
  position: relative;
  list-style: none;
  padding-left: 40px;
}
.checked li:before {
  position: absolute;
  left: 0;
  top: .15em;
  font-size: 23px;
  color: #57D131;
  font-family: 'icomoon';
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: "\e116";
}

.fh5co-heading {
  margin-bottom: 15px;
}
.fh5co-heading h2 {
  font-size: 13px;
  letter-spacing: 1.5px;
  font-weight: 600;
  text-transform: uppercase;
  color: #2d3748;
  padding-bottom: 16px;
  margin-bottom: 16px;
  position: relative;
}
.fh5co-heading h2:after {
  position: absolute;
  content: "";
  width: 50px;
  height: 3px;
  bottom: 0;
  left: 50%;
  margin-left: -25px;
  background: linear-gradient(135deg, #76b900, #76b900);
  border-radius: 2px;
  box-shadow: 0 1px 5px rgba(118, 185, 0, 0.2);
}
.fh5co-heading p {
  font-size: 16px;
  line-height: 1.6;
  color: #4a5568;
  font-weight: 400;
}

#fh5co-team {
  clear: both;
  padding: 7em 0;
  background: #ffffff;
  position: relative;
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  #fh5co-team {
    padding: 3em 0;
  }
}
#fh5co-team .person {
  padding: 30px;
  margin-bottom: 30px;
  text-align: center;
  -webkit-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
  -webkit-border-radius: 20px;
  -moz-border-radius: 20px;
  -ms-border-radius: 20px;
  border-radius: 20px;
  background: #ffffff;
  border: 1px solid rgba(118, 185, 0, 0.1);
  transform: translateY(0);
  box-shadow: 0 2px 15px rgba(0, 0, 0, 0.05);
  opacity: 0;
  animation: fadeInUp 0.8s ease forwards;
}
#fh5co-team .person img {
  display: block;
  margin: 0 auto 20px auto;
  width: 120px;
  height: 120px;
  object-fit: cover;
  border-radius: 50%;
}

/* Minimize space below Get in Touch button */
#fh5co-services .col-md-12.text-center {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
  margin-top: 10px !important;
}

#fh5co-services .col-md-12.text-center p {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
  margin-top: 0 !important;
}

/* Minimize space above Meet the Team */
#fh5co-team {
  margin-top: 0 !important;
  padding-top: 1em !important;
}

#fh5co-team .fh5co-heading {
  margin-bottom: 15px !important;
  padding-bottom: 0 !important;
  margin-top: 0 !important;
}

#fh5co-team .fh5co-heading h2,
#fh5co-team .fh5co-heading p {
  margin-top: 0 !important;
  margin-bottom: 8px !important;
  padding-bottom: 0 !important;
}

#fh5co-team .team-flex-wrapper {
  margin-top: 0 !important;
}
/* p:has(.btn),
p:has(.btn-primary) {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
} */
#fh5co-team .person img.img-responsive {
  float: none !important;
  display: block !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* FORCE team image centering and alignment */
#fh5co-team .person,
#fh5co-team .team-flex-wrapper > div {
  text-align: center !important;
}
#fh5co-team .person img,
#fh5co-team .person img.img-responsive {
  float: none !important;
  display: block !important;
  margin: 0 auto 20px auto !important;
  width: 120px !important;
  height: 120px !important;
  object-fit: cover !important;
  border-radius: 50% !important;
}
#fh5co-team .person h3 {
  font-size: 18px !important;
  font-weight: 600 !important;
  margin-bottom: 8px !important;
  color: #2d3748 !important;
  letter-spacing: -0.01em !important;
}
#fh5co-team .person h4 {
  color: #718096;
  font-size: 14px;
  font-weight: 400;
  letter-spacing: 0.5px;
}

#fh5co-team .person:hover {
  transform: translateY(-8px);
  box-shadow: 0 20px 40px rgba(34, 197, 94, 0.25);
  border-color: rgba(34, 197, 94, 0.3);
}

#fh5co-team .person:hover img {
  transform: scale(1.05);
  box-shadow: 0 10px 25px rgba(34, 197, 94, 0.2);
}
#fh5co-team .person .social {
  padding: 0;
  margin: 0;
}
#fh5co-team .person .social li {
  padding: 0;
  margin: 0;
  list-style: none;
  display: -moz-inline-stack;
  display: inline-block;
  zoom: 1;
  *display: inline;
}
#fh5co-team .person .social li a {
  padding: 10px;
}
#fh5co-team .person .social li a:hover {
  text-decoration: none;
}
#fh5co-team .person:focus, #fh5co-team .person:hover {
  background: #fff;
  -webkit-box-shadow: 0 0 7px 0 rgba(0, 0, 0, 0.09);
  -moz-box-shadow: 0 0 7px 0 rgba(0, 0, 0, 0.09);
  -ms-box-shadow: 0 0 7px 0 rgba(0, 0, 0, 0.09);
  box-shadow: 0 0 7px 0 rgba(0, 0, 0, 0.09);
}

#fh5co-gallery {
  clear: both;
  float: left;
  width: 100%;
}
#fh5co-gallery .fh5co-item {
  display: block;
  position: relative;
  width: 25%;
  z-index: 2;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center center;
  height: 300px;
  float: left;
  -webkit-transition: 0.5s;
  -o-transition: 0.5s;
  transition: 0.5s;
}
@media screen and (max-width: 1200px) {
  #fh5co-gallery .fh5co-item {
    height: 200px;
  }
}
@media screen and (max-width: 768px) {
  #fh5co-gallery .fh5co-item {
    width: 50%;
  }
}
@media screen and (max-width: 480px) {
  #fh5co-gallery .fh5co-item {
    width: 100%;
  }
}
#fh5co-gallery .fh5co-item .fh5co-overlay {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  z-index: 0;
  background: #69c2c8;
  opacity: 0;
  visibility: hidden;
  -webkit-transition: 0.1s;
  -o-transition: 0.1s;
  transition: 0.1s;
}
#fh5co-gallery .fh5co-item .fh5co-copy {
  z-index: 3;
  position: relative;
  height: 300px;
  display: table;
  text-align: center;
  width: 100%;
}
@media screen and (max-width: 1200px) {
  #fh5co-gallery .fh5co-item .fh5co-copy {
    height: 200px;
  }
}
#fh5co-gallery .fh5co-item .fh5co-copy > .fh5co-copy-inner {
  width: 100%;
  height: 300px;
  display: table-cell;
  vertical-align: middle;
}
@media screen and (max-width: 1200px) {
  #fh5co-gallery .fh5co-item .fh5co-copy > .fh5co-copy-inner {
    height: 200px;
  }
}
#fh5co-gallery .fh5co-item .fh5co-copy > .fh5co-copy-inner h2, #fh5co-gallery .fh5co-item .fh5co-copy > .fh5co-copy-inner h3 {
  margin: 0;
  padding: 0;
  color: #fff;
  opacity: 0;
  visibility: hidden;
  position: relative;
}
#fh5co-gallery .fh5co-item .fh5co-copy > .fh5co-copy-inner h2 {
  top: -10px;
  font-size: 20px;
  margin-bottom: 10px;
  -webkit-transition: 0.3s;
  -o-transition: 0.3s;
  transition: 0.3s;
  position: relative;
}
#fh5co-gallery .fh5co-item .fh5co-copy > .fh5co-copy-inner h3 {
  font-size: 16px;
  color: rgba(255, 255, 255, 0.7);
  -webkit-transition: 0.3s;
  -o-transition: 0.3s;
  transition: 0.3s;
  position: relative;
  bottom: -10px;
}
#fh5co-gallery .fh5co-item:hover, #fh5co-gallery .fh5co-item:focus, #fh5co-gallery .fh5co-item:active {
  background-size: cover;
  text-decoration: none;
}
#fh5co-gallery .fh5co-item:hover .fh5co-overlay, #fh5co-gallery .fh5co-item:focus .fh5co-overlay, #fh5co-gallery .fh5co-item:active .fh5co-overlay {
  opacity: .8;
  visibility: visible;
}
#fh5co-gallery .fh5co-item:hover .fh5co-copy-inner h2, #fh5co-gallery .fh5co-item:hover .fh5co-copy-inner h3, #fh5co-gallery .fh5co-item:focus .fh5co-copy-inner h2, #fh5co-gallery .fh5co-item:focus .fh5co-copy-inner h3, #fh5co-gallery .fh5co-item:active .fh5co-copy-inner h2, #fh5co-gallery .fh5co-item:active .fh5co-copy-inner h3 {
  opacity: 1;
  visibility: visible;
}
#fh5co-gallery .fh5co-item:hover .fh5co-copy-inner h2, #fh5co-gallery .fh5co-item:focus .fh5co-copy-inner h2, #fh5co-gallery .fh5co-item:active .fh5co-copy-inner h2 {
  top: 0;
}
#fh5co-gallery .fh5co-item:hover .fh5co-copy-inner h3, #fh5co-gallery .fh5co-item:focus .fh5co-copy-inner h3, #fh5co-gallery .fh5co-item:active .fh5co-copy-inner h3 {
  bottom: 0;
}

#fh5co-contact {
  padding: 7em 0;
}
@media screen and (max-width: 768px) {
  #fh5co-contact {
    padding: 3em 0;
  }
}
#fh5co-contact .form-control {
  border: none;
  box-shadow: none;
  border-bottom: 1px solid #E8ECF1;
  -webkit-border-radius: 0;
  -moz-border-radius: 0;
  -ms-border-radius: 0;
  border-radius: 0;
}
#fh5co-contact .form-control:active, #fh5co-contact .form-control:focus {
  border-bottom: 1px solid #69c2c8;
}

#fh5co-footer {
  padding: 3em 0;
  background: #E8ECF1;
  -webkit-box-shadow: inset 0px 10px 21px -15px rgba(0, 0, 0, 0.12);
  -moz-box-shadow: inset 0px 10px 21px -15px rgba(0, 0, 0, 0.12);
  box-shadow: inset 0px 10px 21px -15px rgba(0, 0, 0, 0.12);
}
@media screen and (max-width: 768px) {
  #fh5co-footer {
    padding: 3em 0;
  }
}
#fh5co-footer p:last-child {
  margin-bottom: 0;
}
#fh5co-footer .fh5co-social {
  float: none;
  text-align: center;
}
@media screen and (max-width: 768px) {
  #fh5co-footer .fh5co-social {
    float: none;
    text-align: center;
  }
}
#fh5co-footer .fh5co-social li {
  display: -moz-inline-stack;
  display: inline-block;
  zoom: 1;
  *display: inline;
}
#fh5co-footer .fh5co-social li a {
  padding: 0 10px;
}
#fh5co-footer .fh5co-social li a i {
  font-size: 18px;
}
#fh5co-footer .fh5co-social li a:hover, #fh5co-footer .fh5co-social li a:focus, #fh5co-footer .fh5co-social li a:active {
  text-decoration: none;
  outline: none;
}

.mfp-with-zoom .mfp-container,
.mfp-with-zoom.mfp-bg {
  opacity: 0;
  -webkit-backface-visibility: hidden;
  /* ideally, transition speed should match zoom duration */
  -webkit-transition: all 0.3s ease-out;
  -moz-transition: all 0.3s ease-out;
  -o-transition: all 0.3s ease-out;
  transition: all 0.3s ease-out;
}

.mfp-with-zoom.mfp-ready .mfp-container {
  opacity: 1;
}

.mfp-with-zoom.mfp-ready.mfp-bg {
  opacity: 0.8;
}

.mfp-with-zoom.mfp-removing .mfp-container,
.mfp-with-zoom.mfp-removing.mfp-bg {
  opacity: 0;
}

#fh5co-container {
  background: #fff;
}

#fh5co-offcanvas, #fh5co-container, .fh5co-nav-toggle, #fh5co-footer {
  -webkit-transition: 0.5s;
  -o-transition: 0.5s;
  transition: 0.5s;
}

#fh5co-container, .fh5co-nav-toggle, #fh5co-footer {
  z-index: 2;
  position: relative;
}

#fh5co-offcanvas {
  display: block;
  height: 100%;
  left: 0;
  overflow-y: auto;
  position: fixed;
  z-index: 200;
  top: 0;
  bottom: 0;
  width: 275px;
  background: rgba(0, 0, 0, 0.9);
  padding: 0.75em 1.25em;
  -moz-transform: translateX(-275px);
  -webkit-transform: translateX(-275px);
  -ms-transform: translateX(-275px);
  -o-transform: translateX(-275px);
  transform: translateX(-275px);
  -webkit-transition: 0.9s;
  -o-transition: 0.9s;
  transition: 0.9s;
}
#fh5co-offcanvas a {
  display: block;
  color: rgba(255, 255, 255, 0.4);
  text-align: center;
  padding: 7px 0;
}
#fh5co-offcanvas a:hover, #fh5co-offcanvas a:focus, #fh5co-offcanvas a:active {
  outline: none;
  text-decoration: none;
  color: #69c2c8;
}
#fh5co-offcanvas a.active {
  color: #69c2c8;
}
@media screen and (max-width: 768px) {
  #fh5co-offcanvas {
    display: block;
  }
}
.offcanvas-visible #fh5co-offcanvas {
  -moz-transform: translateX(0px);
  -webkit-transform: translateX(0px);
  -ms-transform: translateX(0px);
  -o-transform: translateX(0px);
  transform: translateX(0px);
  -webkit-transition: 0.5s;
  -o-transition: 0.5s;
  transition: 0.5s;
}

@media screen and (max-width: 768px) {
  #fh5co-container, #fh5co-footer, .fh5co-nav-toggle {
    -moz-transform: translateX(0px);
    -webkit-transform: translateX(0px);
    -ms-transform: translateX(0px);
    -o-transform: translateX(0px);
    transform: translateX(0px);
  }
}
.offcanvas-visible #fh5co-container, .offcanvas-visible #fh5co-footer, .offcanvas-visible .fh5co-nav-toggle {
  -moz-transform: translateX(275px);
  -webkit-transform: translateX(275px);
  -ms-transform: translateX(275px);
  -o-transform: translateX(275px);
  transform: translateX(275px);
}

.js-sticky {
  display: block;
}
@media screen and (max-width: 768px) {
  .js-sticky {
    display: none;
  }
}

.fh5co-nav-toggle {
  cursor: pointer;
  text-decoration: none;
}
.fh5co-nav-toggle.active i::before, .fh5co-nav-toggle.active i::after {
  background: #fff;
}
.fh5co-nav-toggle:hover, .fh5co-nav-toggle:focus, .fh5co-nav-toggle:active {
  outline: none;
  border-bottom: none !important;
}
.fh5co-nav-toggle i {
  position: relative;
  display: -moz-inline-stack;
  display: inline-block;
  zoom: 1;
  *display: inline;
  width: 30px;
  height: 2px;
  color: #fff;
  font: bold 14px/.4 Helvetica;
  text-transform: uppercase;
  text-indent: -55px;
  background: #fff;
  transition: all .2s ease-out;
}
.fh5co-nav-toggle i::before, .fh5co-nav-toggle i::after {
  content: '';
  width: 30px;
  height: 2px;
  background: #fff;
  position: absolute;
  left: 0;
  -webkit-transition: 0.2s;
  -o-transition: 0.2s;
  transition: 0.2s;
}

.fh5co-nav-toggle i::before {
  top: -7px;
}

.fh5co-nav-toggle i::after {
  bottom: -7px;
}

.fh5co-nav-toggle:hover i::before {
  top: -10px;
}

.fh5co-nav-toggle:hover i::after {
  bottom: -10px;
}

.fh5co-nav-toggle.active i {
  background: transparent;
}

.fh5co-nav-toggle.active i::before {
  top: 0;
  -webkit-transform: rotateZ(45deg);
  -moz-transform: rotateZ(45deg);
  -ms-transform: rotateZ(45deg);
  -o-transform: rotateZ(45deg);
  transform: rotateZ(45deg);
}

.fh5co-nav-toggle.active i::after {
  bottom: 0;
  -webkit-transform: rotateZ(-45deg);
  -moz-transform: rotateZ(-45deg);
  -ms-transform: rotateZ(-45deg);
  -o-transform: rotateZ(-45deg);
  transform: rotateZ(-45deg);
}

.fh5co-nav-toggle {
  position: fixed;
  top: 20px;
  left: 20px;
  z-index: 9999;
  display: block;
  margin: 0 auto;
  display: none;
  border-bottom: none !important;
  background: rgba(0, 0, 0, 0.7);
  padding: 0px 10px 10px 10px;
  cursor: pointer;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  -ms-border-radius: 4px;
  border-radius: 4px;
}
@media screen and (max-width: 768px) {
  .fh5co-nav-toggle {
    display: block;
  }
}

.row-padded {
  padding-bottom: 40px;
}

.no-js #loader {
  display: none;
}

.js #loader {
  display: block;
  position: absolute;
  left: 100px;
  top: 0;
  border: 10px solid red;
}

.fh5co-loader {
  position: fixed;
  left: 0px;
  top: 0px;
  width: 100%;
  height: 100%;
  z-index: 9999;
  background: url(../images/Preloader_2.gif) center no-repeat #fff;
}

/*# sourceMappingURL=style.css.map */

/* Team section layout fix for alignment */
.team-section-outer {
  display: block;
  width: 100%;
  padding-left: 0 !important;
  padding-right: 0 !important;
  box-sizing: border-box;
}

/* Minimize space below Get in Touch button */
.btn,
.btn-primary {
  margin-bottom: 0 !important;
}
.fh5co-mission,
.fh5co-mission p,
.fh5co-mission .btn,
.fh5co-heading,
.fh5co-heading p {
  margin-bottom: 0 !important;
}
#fh5co-team > .fh5co-heading {
  margin-top: 0 !important;
}

/* Force minimal space below Get in Touch button and previous section */
.fh5co-mission p,
.fh5co-mission .row,
.fh5co-mission .checked,
.fh5co-mission .checked li {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}
.fh5co-mission > *:last-child {
  margin-bottom: 0 !important;
}
#fh5co-team {
  margin-top: 0 !important;
}

/* Reduce vertical spacing above and below Meet the Team */
#fh5co-team {
  padding-top: 2em !important;
  padding-bottom: 2em !important;
}
#fh5co-team .fh5co-heading {
  margin-bottom: 10px !important;
}
#fh5co-team .fh5co-heading h2 {
  margin-bottom: 6px !important;
  padding-bottom: 30px !important; /* Match "Our Services" text-to-line spacing */
}
#fh5co-team .fh5co-heading p {
  margin-bottom: 6px !important;
  padding-bottom: 0 !important; /* Paragraphs don't have the line, keep padding 0 */
}
.team-flex-wrapper {
  margin-top: 0 !important;
}
.team-flex-wrapper {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: stretch;
  gap: 24px;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
}
.team-flex-wrapper > div {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin: 12px 0;
  box-sizing: border-box;
  flex: 1 1 220px;
  height: auto;
}
#fh5co-team .person {
  text-align: center;
  width: 220px;
  max-width: 90vw;
  padding: 4px !important;
  margin: 0;
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  justify-content: flex-start;
  height: auto;
}
#fh5co-team .person img {
  display: block;
  margin: 0 auto 6px auto !important;
  width: 80px !important;
  height: 80px !important;
  object-fit: cover;
  border-radius: 50%;
}
#fh5co-team .person h3 {
  font-size: 0.95em !important;
  font-weight: 600 !important;
  margin-bottom: 0 !important;
}
#fh5co-team .person h4 {
  color: #999999;
  font-size: 16px;
  margin-bottom: 2px !important;
}

#fh5co-team .person:hover {
  transform: translateY(-8px);
  box-shadow: 0 20px 40px rgba(34, 197, 94, 0.25);
  border-color: rgba(34, 197, 94, 0.3);
}

#fh5co-team .person:hover img {
  transform: scale(1.05);
  box-shadow: 0 10px 25px rgba(34, 197, 94, 0.2);
}
#fh5co-team .person .social {
  padding: 0;
  margin: 0;
}
#fh5co-team .person .social li {
  padding: 0;
  margin: 0;
  list-style: none;
  display: -moz-inline-stack;
  display: inline-block;
  zoom: 1;
  *display: inline;
}
#fh5co-team .person .social li a {
  padding: 10px;
}
#fh5co-team .person .social li a:hover {
  text-decoration: none;
}
#fh5co-team .person:focus, #fh5co-team .person:hover {
  background: #fff;
  -webkit-box-shadow: 0 0 7px 0 rgba(0, 0, 0, 0.09);
  -moz-box-shadow: 0 0 7px 0 rgba(0, 0, 0, 0.09);
  -ms-box-shadow: 0 0 7px 0 rgba(0, 0, 0, 0.09);
  box-shadow: 0 0 7px 0 rgba(0, 0, 0, 0.09);
}

#fh5co-gallery {
  clear: both;
  float: left;
  width: 100%;
}
#fh5co-gallery .fh5co-item {
  display: block;
  position: relative;
  width: 25%;
  z-index: 2;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center center;
  height: 300px;
  float: left;
  -webkit-transition: 0.5s;
  -o-transition: 0.5s;
  transition: 0.5s;
}
@media screen and (max-width: 1200px) {
  #fh5co-gallery .fh5co-item {
    height: 200px;
  }
}
@media screen and (max-width: 768px) {
  #fh5co-gallery .fh5co-item {
    width: 50%;
  }
}
@media screen and (max-width: 480px) {
  #fh5co-gallery .fh5co-item {
    width: 100%;
  }
}
#fh5co-gallery .fh5co-item .fh5co-overlay {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  z-index: 0;
  background: #69c2c8;
  opacity: 0;
  visibility: hidden;
  -webkit-transition: 0.1s;
  -o-transition: 0.1s;
  transition: 0.1s;
}
#fh5co-gallery .fh5co-item .fh5co-copy {
  z-index: 3;
  position: relative;
  height: 300px;
  display: table;
  text-align: center;
  width: 100%;
}
@media screen and (max-width: 1200px) {
  #fh5co-gallery .fh5co-item .fh5co-copy {
    height: 200px;
  }
}
#fh5co-gallery .fh5co-item .fh5co-copy > .fh5co-copy-inner {
  width: 100%;
  height: 300px;
  display: table-cell;
  vertical-align: middle;
}
@media screen and (max-width: 1200px) {
  #fh5co-gallery .fh5co-item .fh5co-copy > .fh5co-copy-inner {
    height: 200px;
  }
}
#fh5co-gallery .fh5co-item .fh5co-copy > .fh5co-copy-inner h2, #fh5co-gallery .fh5co-item .fh5co-copy > .fh5co-copy-inner h3 {
  margin: 0;
  padding: 0;
  color: #fff;
  opacity: 0;
  visibility: hidden;
  position: relative;
}
#fh5co-gallery .fh5co-item .fh5co-copy > .fh5co-copy-inner h2 {
  top: -10px;
  font-size: 20px;
  margin-bottom: 10px;
  -webkit-transition: 0.3s;
  -o-transition: 0.3s;
  transition: 0.3s;
  position: relative;
}
#fh5co-gallery .fh5co-item .fh5co-copy > .fh5co-copy-inner h3 {
  font-size: 16px;
  color: rgba(255, 255, 255, 0.7);
  -webkit-transition: 0.3s;
  -o-transition: 0.3s;
  transition: 0.3s;
  position: relative;
  bottom: -10px;
}
#fh5co-gallery .fh5co-item:hover, #fh5co-gallery .fh5co-item:focus, #fh5co-gallery .fh5co-item:active {
  background-size: cover;
  text-decoration: none;
}
#fh5co-gallery .fh5co-item:hover .fh5co-overlay, #fh5co-gallery .fh5co-item:focus .fh5co-overlay, #fh5co-gallery .fh5co-item:active .fh5co-overlay {
  opacity: .8;
  visibility: visible;
}
#fh5co-gallery .fh5co-item:hover .fh5co-copy-inner h2, #fh5co-gallery .fh5co-item:hover .fh5co-copy-inner h3, #fh5co-gallery .fh5co-item:focus .fh5co-copy-inner h2, #fh5co-gallery .fh5co-item:focus .fh5co-copy-inner h3, #fh5co-gallery .fh5co-item:active .fh5co-copy-inner h2, #fh5co-gallery .fh5co-item:active .fh5co-copy-inner h3 {
  opacity: 1;
  visibility: visible;
}
#fh5co-gallery .fh5co-item:hover .fh5co-copy-inner h2, #fh5co-gallery .fh5co-item:focus .fh5co-copy-inner h2, #fh5co-gallery .fh5co-item:active .fh5co-copy-inner h2 {
  top: 0;
}
#fh5co-gallery .fh5co-item:hover .fh5co-copy-inner h3, #fh5co-gallery .fh5co-item:focus .fh5co-copy-inner h3, #fh5co-gallery .fh5co-item:active .fh5co-copy-inner h3 {
  bottom: 0;
}

#fh5co-contact {
  padding: 7em 0;
}
@media screen and (max-width: 768px) {
  #fh5co-contact {
    padding: 3em 0;
  }
}
#fh5co-contact .form-control {
  border: none;
  box-shadow: none;
  border-bottom: 1px solid #E8ECF1;
  -webkit-border-radius: 0;
  -moz-border-radius: 0;
  -ms-border-radius: 0;
  border-radius: 0;
}
#fh5co-contact .form-control:active, #fh5co-contact .form-control:focus {
  border-bottom: 1px solid #69c2c8;
}

#fh5co-footer {
  padding: 3em 0;
  background: #E8ECF1;
  -webkit-box-shadow: inset 0px 10px 21px -15px rgba(0, 0, 0, 0.12);
  -moz-box-shadow: inset 0px 10px 21px -15px rgba(0, 0, 0, 0.12);
  box-shadow: inset 0px 10px 21px -15px rgba(0, 0, 0, 0.12);
}
@media screen and (max-width: 768px) {
  #fh5co-footer {
    padding: 3em 0;
  }
}
#fh5co-footer p:last-child {
  margin-bottom: 0;
}
#fh5co-footer .fh5co-social {
  float: none;
  text-align: center;
}
@media screen and (max-width: 768px) {
  #fh5co-footer .fh5co-social {
    float: none;
    text-align: center;
  }
}
#fh5co-footer .fh5co-social li {
  display: -moz-inline-stack;
  display: inline-block;
  zoom: 1;
  *display: inline;
}
#fh5co-footer .fh5co-social li a {
  padding: 0 10px;
}
#fh5co-footer .fh5co-social li a i {
  font-size: 18px;
}
#fh5co-footer .fh5co-social li a:hover, #fh5co-footer .fh5co-social li a:focus, #fh5co-footer .fh5co-social li a:active {
  text-decoration: none;
  outline: none;
}

.mfp-with-zoom .mfp-container,
.mfp-with-zoom.mfp-bg {
  opacity: 0;
  -webkit-backface-visibility: hidden;
  /* ideally, transition speed should match zoom duration */
  -webkit-transition: all 0.3s ease-out;
  -moz-transition: all 0.3s ease-out;
  -o-transition: all 0.3s ease-out;
  transition: all 0.3s ease-out;
}

.mfp-with-zoom.mfp-ready .mfp-container {
  opacity: 1;
}

.mfp-with-zoom.mfp-ready.mfp-bg {
  opacity: 0.8;
}

.mfp-with-zoom.mfp-removing .mfp-container,
.mfp-with-zoom.mfp-removing.mfp-bg {
  opacity: 0;
}

#fh5co-container {
  background: #fff;
}

#fh5co-offcanvas, #fh5co-container, .fh5co-nav-toggle, #fh5co-footer {
  -webkit-transition: 0.5s;
  -o-transition: 0.5s;
  transition: 0.5s;
}

#fh5co-container, .fh5co-nav-toggle, #fh5co-footer {
  z-index: 2;
  position: relative;
}

#fh5co-offcanvas {
  display: block;
  height: 100%;
  left: 0;
  overflow-y: auto;
  position: fixed;
  z-index: 200;
  top: 0;
  bottom: 0;
  width: 275px;
  background: rgba(0, 0, 0, 0.9);
  padding: 0.75em 1.25em;
  -moz-transform: translateX(-275px);
  -webkit-transform: translateX(-275px);
  -ms-transform: translateX(-275px);
  -o-transform: translateX(-275px);
  transform: translateX(-275px);
  -webkit-transition: 0.9s;
  -o-transition: 0.9s;
  transition: 0.9s;
}
#fh5co-offcanvas a {
  display: block;
  color: rgba(255, 255, 255, 0.4);
  text-align: center;
  padding: 7px 0;
}
#fh5co-offcanvas a:hover, #fh5co-offcanvas a:focus, #fh5co-offcanvas a:active {
  outline: none;
  text-decoration: none;
  color: #69c2c8;
}
#fh5co-offcanvas a.active {
  color: #69c2c8;
}
@media screen and (max-width: 768px) {
  #fh5co-offcanvas {
    display: block;
  }
}
.offcanvas-visible #fh5co-offcanvas {
  -moz-transform: translateX(0px);
  -webkit-transform: translateX(0px);
  -ms-transform: translateX(0px);
  -o-transform: translateX(0px);
  transform: translateX(0px);
  -webkit-transition: 0.5s;
  -o-transition: 0.5s;
  transition: 0.5s;
}

@media screen and (max-width: 768px) {
  #fh5co-container, #fh5co-footer, .fh5co-nav-toggle {
    -moz-transform: translateX(0px);
    -webkit-transform: translateX(0px);
    -ms-transform: translateX(0px);
    -o-transform: translateX(0px);
    transform: translateX(0px);
  }
}
.offcanvas-visible #fh5co-container, .offcanvas-visible #fh5co-footer, .offcanvas-visible .fh5co-nav-toggle {
  -moz-transform: translateX(275px);
  -webkit-transform: translateX(275px);
  -ms-transform: translateX(275px);
  -o-transform: translateX(275px);
  transform: translateX(275px);
}

.js-sticky {
  display: block;
}
@media screen and (max-width: 768px) {
  .js-sticky {
    display: none;
  }
}

.fh5co-nav-toggle {
  cursor: pointer;
  text-decoration: none;
}
.fh5co-nav-toggle.active i::before, .fh5co-nav-toggle.active i::after {
  background: #fff;
}
.fh5co-nav-toggle:hover, .fh5co-nav-toggle:focus, .fh5co-nav-toggle:active {
  outline: none;
  border-bottom: none !important;
}
.fh5co-nav-toggle i {
  position: relative;
  display: -moz-inline-stack;
  display: inline-block;
  zoom: 1;
  *display: inline;
  width: 30px;
  height: 2px;
  color: #fff;
  font: bold 14px/.4 Helvetica;
  text-transform: uppercase;
  text-indent: -55px;
  background: #fff;
  transition: all .2s ease-out;
}
.fh5co-nav-toggle i::before, .fh5co-nav-toggle i::after {
  content: '';
  width: 30px;
  height: 2px;
  background: #fff;
  position: absolute;
  left: 0;
  -webkit-transition: 0.2s;
  -o-transition: 0.2s;
  transition: 0.2s;
}

.fh5co-nav-toggle i::before {
  top: -7px;
}

.fh5co-nav-toggle i::after {
  bottom: -7px;
}

.fh5co-nav-toggle:hover i::before {
  top: -10px;
}

.fh5co-nav-toggle:hover i::after {
  bottom: -10px;
}

.fh5co-nav-toggle.active i {
  background: transparent;
}

.fh5co-nav-toggle.active i::before {
  top: 0;
  -webkit-transform: rotateZ(45deg);
  -moz-transform: rotateZ(45deg);
  -ms-transform: rotateZ(45deg);
  -o-transform: rotateZ(45deg);
  transform: rotateZ(45deg);
}

.fh5co-nav-toggle.active i::after {
  bottom: 0;
  -webkit-transform: rotateZ(-45deg);
  -moz-transform: rotateZ(-45deg);
  -ms-transform: rotateZ(-45deg);
  -o-transform: rotateZ(-45deg);
  transform: rotateZ(-45deg);
}

.fh5co-nav-toggle {
  position: fixed;
  top: 20px;
  left: 20px;
  z-index: 9999;
  display: block;
  margin: 0 auto;
  display: none;
  border-bottom: none !important;
  background: rgba(0, 0, 0, 0.7);
  padding: 0px 10px 10px 10px;
  cursor: pointer;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  -ms-border-radius: 4px;
  border-radius: 4px;
}
@media screen and (max-width: 768px) {
  .fh5co-nav-toggle {
    display: block;
  }
}

.row-padded {
  padding-bottom: 40px;
}

.no-js #loader {
  display: none;
}

.js #loader {
  display: block;
  position: absolute;
  left: 100px;
  top: 0;
  border: 10px solid red;
}

.fh5co-loader {
  position: fixed;
  left: 0px;
  top: 0px;
  width: 100%;
  height: 100%;
  z-index: 9999;
  background: url(../images/Preloader_2.gif) center no-repeat #fff;
}

/*# sourceMappingURL=style.css.map */

/* Team section layout fix for alignment */
.team-section-outer {
  display: block;
  width: 100%;
  padding-left: 0 !important;
  padding-right: 0 !important;
  box-sizing: border-box;
}

/* Minimize space below Get in Touch button */
.btn,
.btn-primary {
  margin-bottom: 0 !important;
}
.fh5co-mission,
.fh5co-mission p,
.fh5co-mission .btn,
.fh5co-heading,
.fh5co-heading p {
  margin-bottom: 0 !important;
}
#fh5co-team > .fh5co-heading {
  margin-top: 0 !important;
}

/* Force minimal space below Get in Touch button and previous section */
.fh5co-mission p,
.fh5co-mission .row,
.fh5co-mission .checked,
.fh5co-mission .checked li {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}
.fh5co-mission > *:last-child {
  margin-bottom: 0 !important;
}
#fh5co-team {
  margin-top: 0 !important;
}

/* Reduce vertical spacing above and below Meet the Team */
#fh5co-team {
  padding-top: 2em !important;
  padding-bottom: 2em !important;
}
#fh5co-team .fh5co-heading {
  margin-bottom: 10px !important;
}
#fh5co-team .fh5co-heading h2 {
  margin-bottom: 6px !important;
  padding-bottom: 30px !important; /* Match "Our Services" text-to-line spacing */
}
#fh5co-team .fh5co-heading p {
  margin-bottom: 6px !important;
  padding-bottom: 0 !important; /* Paragraphs don't have the line, keep padding 0 */
}
.team-flex-wrapper {
  margin-top: 0 !important;
}
.team-flex-wrapper {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: stretch;
  gap: 24px;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
}
.team-flex-wrapper > div {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin: 12px 0;
  box-sizing: border-box;
  flex: 1 1 220px;
  height: auto;
}
#fh5co-team .person {
  text-align: center;
  width: 220px;
  max-width: 90vw;
  padding: 4px !important;
  margin: 0;
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  justify-content: flex-start;
  height: auto;
}
#fh5co-team .person img {
  display: block;
  margin: 0 auto 6px auto !important;
  width: 80px !important;
  height: 80px !important;
  object-fit: cover;
  border-radius: 50%;
}
#fh5co-team .person h3 {
  font-size: 0.95em !important;
  font-weight: 600 !important;
  margin-bottom: 0 !important;
}
#fh5co-team .person h4 {
  color: #999999;
  font-size: 16px;
  margin-bottom: 2px !important;
}

/* === Bootstrap 5 Upgrade Fixes === */
a {
  text-decoration: none !important;
}
a:hover, a:focus {
  text-decoration: none !important;
}
body, .container, .row, .col, section, main, article {
  text-align: left !important;
}

/* === Bootstrap 5 Alignment and Link Fixes === */
/*
*:not(#fh5co-team):not(#fh5co-team *):not(.btn):not(.btn-primary) {
  text-align: center !important;
}
*/
a:not(.btn):not(.btn-primary) {
  text-decoration: none !important;
}
a:not(.btn):not(.btn-primary):hover,
a:not(.btn):not(.btn-primary):focus {
  text-decoration: none !important;
}
.btn, .btn-primary {
  text-decoration: none !important;
}

#fh5co-services .container {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  text-align: center !important; /* Keep text-align for content inside flex items */
}

/* Custom Alignment Fixes */

/* 1. Center "Our services" heading block and its text content.
   Also, ensure rows of service items within the #fh5co-services .container are centered. */
#fh5co-services .fh5co-heading {
  display: block !important;                 /* Ensure it's a block element */
  width: fit-content !important;            /* Adjust width to its content */
  max-width: 100% !important;               /* Prevent overflow if content is too wide */
  margin-left: auto !important;             /* Center the block */
  margin-right: auto !important;            /* Center the block */
  text-align: center !important;            /* Center text within this block */
  margin-bottom: 30px !important;           /* Add some space below the heading block */
}

/* Ensure rows directly under #fh5co-services .container (likely holding service cards)
   center their columns and have a centered text-align context. */
#fh5co-services .container > .row {
  justify-content: center !important;       /* Center columns (flex items) within this row */
  text-align: center !important;            /* Set text-align context for children to center */
  width: 100% !important;                   /* Ensure row takes full width of its flex container parent */
}
/*
   Note:
   - #fh5co-services .container is already display:flex and justify-content:center.
   - Individual .service items already have text-align:center for their internal content.
   These rules aim to make the main heading block itself centered, and ensure that
   any Bootstrap rows containing service items also robustly center their column content.
*/

/* 2. Align hero sub-headline ("Create awesome things...") to the left. */
#fh5co-home .fh5co-copy-inner { /* Set default alignment for the hero text container */
  text-align: left !important;
}
#fh5co-home .fh5co-copy-inner h1 { /* Ensure main hero title (h1) is left-aligned */
  text-align: left !important; /* Left-align the main title */
}
/* Override any conflicting h2 rules */
#fh5co-home .fh5co-copy-inner h2 {
  display: block !important;
  width: auto !important;
  text-align: left !important;
  margin-left: 0 !important;
  padding-left: 0 !important;
  font-family: inherit !important;
  font-style: normal !important;
  text-decoration: none !important;
}

/* 3. Center "Meet The Team" heading and its content. */
#fh5co-team .fh5co-heading {
  text-align: center !important;
  margin-left: auto; /* Center the heading block itself if it's not full-width */
  margin-right: auto;
}
#fh5co-team .fh5co-heading h2,
#fh5co-team .fh5co-heading p {
  text-align: center !important; /* Ensure text within these elements is centered */
}

/* --- FINAL FIX: Remove all extra space before and after hyperlinks in service card descriptions --- */
#fh5co-services .service .service-desc a,
#fh5co-services .service .service-desc a:visited {
  margin: 0 !important;
  padding: 0 !important;
  word-spacing: normal !important;
  letter-spacing: normal !important;
}
#fh5co-services .service .service-desc a + *,
#fh5co-services .service .service-desc * + a {
  margin-left: 0 !important;
  padding-left: 0 !important;
}
#fh5co-services .service .service-desc {
  word-spacing: normal !important;
  letter-spacing: normal !important;
}
@media screen and (max-width: 768px) {
  #fh5co-services .service .service-desc a,
  #fh5co-services .service .service-desc a:visited {
    margin: 0 !important;
    padding: 0 !important;
    word-spacing: normal !important;
    letter-spacing: normal !important;
  }
  #fh5co-services .service .service-desc a + *,
  #fh5co-services .service .service-desc * + a {
    margin-left: 0 !important;
    padding-left: 0 !important;
  }
  #fh5co-services .service .service-desc {
    word-spacing: normal !important;
    letter-spacing: normal !important;
  }
}
/* --- END FINAL FIX --- */

/* --- EXTRA TIGHTEN: Collapse all whitespace before and after hyperlinks in service card descriptions --- */
#fh5co-services .service .service-desc {
  font-size: 15px;
  line-height: 1.7;
  white-space: normal !important;
  word-break: break-word !important;
}
#fh5co-services .service .service-desc a {
  margin: 0 !important;
  padding: 0 !important;
  word-spacing: 0 !important;
  letter-spacing: 0 !important;
  white-space: normal !important;
  word-break: break-word !important;
}
#fh5co-services .service .service-desc a + *,
#fh5co-services .service .service-desc * + a {
  margin-left: 0 !important;
  padding-left: 0 !important;
}
#fh5co-services .service .service-desc {
  unicode-bidi: plaintext;
}
#fh5co-services .service .service-desc,
#fh5co-services .service .service-desc * {
  white-space: normal !important;
}
@media screen and (max-width: 768px) {
  #fh5co-services .service .service-desc {
    font-size: 15px !important;
    line-height: 1.7 !important;
    padding: 0 2px !important;
  }
}
/* --- END EXTRA TIGHTEN --- */
