@import url("https://fonts.googleapis.com/css2?family=Poppins:wght@100;200;300;400;500;600;700;800&display=swap");

* {
  font-family: "Poppins", sans-serif;
  box-sizing: border-box;
}

html,
body {
  width: 100%;
  max-width: 100%;
  margin: 0;
  padding: 0;
  overflow-x: hidden;
}

.app {
  width: 100%;
  max-width: 100%;
  overflow-x: hidden;
}

/* Brand Logo */
.brand-logo {
  max-width: 140px;
  width: 100%;
  height: auto;
}

.team-post {
  cursor: pointer;
}

.team-post:hover .team-detail {
  transform: translateY(0%);
  -webkit-transform: translateY(0%);
  -moz-transform: translateY(0%);
  -ms-transform: translateY(0%);
  -o-transform: translateY(0%);
}

.team-detail {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  min-height: 70%;
  background: #161616da;
  transform: translateY(100%);
  -webkit-transform: translateY(100%);
  -moz-transform: translateY(100%);
  -ms-transform: translateY(100%);
  -o-transform: translateY(100%);
  transition: transform ease-in-out 500ms;
}

/* Background */
.dark-bg,
.dark-bg a {
  color: white;
}

.light-bg h1,
.light-bg h2,
.light-bg h3,
.light-bg h4,
.light-bg h5,
.light-bg h6 {
  color: #0d1317;
}

.light-bg p,
.light-bg li {
  color: #5b5b5b;
}

.light-bg span {
  color: rgba(57, 65, 73, 0.5);
}

.light-bg {
  color: #394149;
}

.light-bg a {
  color: #f58a07;
}

/* Background Colors */
.bg-brand-primay {
  background: #0713f5 !important;
  color: white !important;
}

.bg-brand-primayfaint {
  color: #079ef5 !important;
  background: rgba(245, 138, 7, 0.1) !important;
}

.bg-bluefaint {
  background-color: #edf7ff !important;
}

.bg-blue-200 {
  background: rgba(210, 218, 237, 0.17) !important;
}

.bg-bluelight {
  background-color: #dceaf5;
}

.bg-blueDark {
  background: #063255;
}

/* Buttons */
a.bg-brand-primayfaint:hover {
  color: white !important;
  background-color: #0776f5 !important;
}

button.bg-brand-primay:hover,
a.bg-brand-primay:hover {
  background: #2d8cf8 !important;
}

a.cl-blue-900:hover {
  color: #325771 !important;
}

/* Font weight */
.fw-smbold {
  font-weight: 600 !important;
}

/* Border */
.b-6 {
  border-radius: 16px !important;
}

/* Colors */
.cl-white {
  color: white !important;
}

.cl-blue-900 {
  color: #1d3444 !important;
}

.cl-primary {
  color: #077af5 !important;
}

.cl-blue-700 {
  color: #1d2199;
}

.icon {
  color: #0c88f5;
  font-size: 2rem;
}

/* Image bar */
.img-bar {
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  background: #e5f507;
  mix-blend-mode: multiply;
  width: 20%;
  z-index: 2;
  border-radius: 16px 0 0 16px;
}

/* IMPORTANT: fixed mobile image behaviour */
.img-fit-cover {
  width: 100%;
  max-width: 100%;
  height: auto;
  object-fit: cover;
  display: block;
}

/* Position helpers */
.p-tr {
  right: -3.6%;
  top: -5.6%;
}

.p-ru {
  right: -3.6%;
  top: 10%;
}

.p-rc {
  right: -6.5%;
  top: 50%;
}

.p-br {
  right: -0.8%;
  bottom: -4.6%;
}

.p-lu {
  left: -6.5%;
  top: 10%;
}

.p-lc {
  left: -6.5%;
  top: 50%;
}

.p-ld {
  left: -6.5%;
  bottom: 10%;
}

.overlay-img--circle {
  width: 5rem;
  max-width: 100%;
}

.overlay-img--ribbon {
  right: -1.6%;
  top: -2.6%;
  max-width: 100%;
}

.overlay-img--cubeLg {
  width: 23%;
  height: 23%;
  background: #f58a07;
  mix-blend-mode: multiply;
  right: -0.1%;
  bottom: -0.6%;
}

.overlay-img--cubeSm {
  width: 15%;
  height: 15%;
  background: #f58a07;
  mix-blend-mode: multiply;
}

.fs-7 {
  font-size: 14px !important;
}

/* Bootstrap rows should never create horizontal scrolling */
.row {
  max-width: 100%;
}

/* All media should stay inside their parent */
img,
svg,
video,
iframe {
  max-width: 100%;
}

/* =========================
   TABLET
========================= */

@media screen and (max-width: 768px) {

  .overlay-img {
    width: 16vw;
    max-width: 80px;
    right: 0;
    top: 0;
  }

  .overlay-img--circle {
    width: 16vw;
    max-width: 70px;
  }

  .overlay-img--ribbon {
    width: 16vw;
    max-width: 70px;
    right: 0;
    top: 0;
  }

  .p-br,
  .p-tr {
    right: 0;
  }

  .tab {
    font-size: 12px !important;
  }

  /* Hero image */
  .header-img-wrapper {
    width: 100%;
    max-width: 100%;
    overflow: hidden;
  }

  .header-img-wrapper img {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
  }
}

/* =========================
   MOBILE
========================= */

@media screen and (max-width: 620px) {

  body {
    overflow-x: hidden !important;
  }

  .app {
    overflow-x: hidden !important;
  }

  .container,
  .container-fluid {
    max-width: 100%;
  }

  .row {
    width: 100%;
    max-width: 100%;
  }

  .p-br,
  .p-tr {
    right: 0;
  }

  /* Hero */
  .header-img-wrapper {
    width: 100%;
    max-width: 100%;
    overflow: hidden;
  }

  .header-img-wrapper img {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    margin-top: 20px !important;
  }

  /* Headings */
  h1 {
    font-size: 2.2rem;
    line-height: 1.15;
  }

  h2 {
    font-size: 1.7rem;
    line-height: 1.25;
  }

  h3 {
    font-size: 1.4rem;
  }

  /* Paragraphs */
  p {
    font-size: 14px;
    line-height: 1.7;
  }

  /* Buttons */
  .btn {
    max-width: 100%;
  }

  /* Prevent decorative elements from causing overflow */
  .overlay-img,
  .overlay-img--circle,
  .overlay-img--ribbon,
  .overlay-img--cubeLg,
  .overlay-img--cubeSm {
    max-width: 100%;
  }

  /* Service/gallery images */
  .img-fit-cover {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
  }
}

button.bg-white {
  background-color: white;
  color: #f58a07;
}

.person-info span {
  font-size: 14px;
}

a {
  text-decoration: none !important;
}

form label {
  color: #9c9c9c;
}