:root {
  --bs-primary: #377dff;
  --bs-primary-rgb: 55, 125, 255;
}

body {
  font-family: "Inter", Roboto;
  overflow-x: hidden;
}

/* h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: Poppins, Roboto;
} */

.font-inter {
  font-family: "Inter", Roboto;
}

/* .font-poppins {
  font-family: Poppins, Roboto;
} */

section:nth-of-type(2n) {
  background-color: oklch(96.7% 0.001 286.375);
}

/* Header */
.navbar-light .top-menu .nav-link {
  font-size: 0.875rem;
  font-weight: normal;
}

.navbar-light .top-menu .nav-link:hover {
  text-decoration: underline;
}

.top-menu {
  padding: 0.6rem 0;
}

.top-menu .navbar-nav .nav-link {
  color: rgba(255, 255, 255, 0.9);
  font-weight: lighter;
  padding-top: 0;
  padding-bottom: 0;
}

.top-menu .navbar-nav .nav-link:hover {
  color: #ffffff;
}

.top-menu .navbar-toggler {
  border: 0;
  color: #ffffff;
}

.top-menu .navbar-topbar-toggler .navbar-toggler {
  color: #000000;
  border: 1px solid #e0e0e0;
}

.top-menu .navbar-toggler .navbar-toggler-text {
  color: #ffffff;
}

.header-btn {
  display: flex;
  background-color: #27c229;
  border-radius: 8px;
  border: none;
  height: 33px;
  font-weight: bold;
  padding: 0.5rem 1rem;
  line-height: 17px;
  font-size: 0.875rem;
  color: #ffffff;
}

.header-btn:hover {
  color: #ffffff;
  background-color: #27c229;
}

.mega-menu-icon {
  visibility: hidden;
  transition: left 0.1s ease 0s;
}

.navbar-dropdown-menu-promo-link:hover:not(.disabled):not(:disabled)
  .mega-menu-icon {
  visibility: visible;
  margin-left: 1rem;
}

.dropdown-toggle::after {
  transition: all 0.3s;
}

.nav-item:hover .dropdown-toggle::after {
  transform: scale(-1.1);
}

.navbar-dropdown-menu-inner .dropdown-item,
.main-menu .dropdown-menu .dropdown-item {
  position: relative;
}

.navbar-dropdown-menu-inner .dropdown-item::after,
.main-menu .dropdown-menu .dropdown-item::after {
  content: "\f138";
  position: absolute;
  right: 20px;
  top: 8px;
  font-family: bootstrap-icons !important;
  visibility: hidden;
  transition: ease-in 0.2s;
  color: #377dff;
}

.navbar-dropdown-menu-inner .dropdown-item::before,
.main-menu .dropdown-menu .dropdown-item::before {
  content: "";
  position: absolute;
  left: 0;
  top: 10px;
  height: 15px;
  background-color: #377dff;
  width: 3px;
  border-radius: 10px;
  visibility: hidden;
  transition: ease 0.2s;
}

.navbar-dropdown-menu-inner .dropdown-item:hover::before,
.main-menu .dropdown-menu .dropdown-item:hover:before {
  visibility: visible;
  left: -1px;
}

.navbar-dropdown-menu-inner .dropdown-item:hover::after,
.main-menu .dropdown-menu .dropdown-item:hover:after {
  visibility: visible;
  right: 15px;
}

@media (max-width: 991.98px) {
  .hs-menu-horizontal {
    padding: 0 1rem;
  }

  .top-menu .navbar-nav .nav-link {
    color: #002d4b;
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
    font-weight: normal;
    border: none !important;
  }
}

nav {
  .header-logo {
    max-width: 7rem;
  }
}

/* Home Hero */
.hero {
  /* min-height: 90vh; */
  padding: 6rem 0;
  display: grid !important;
  grid-template-columns: 1fr 1fr;

  .text {
    position: relative;

    .hero-title {
      font-size: 50px;
      color: #332c5c;
      line-height: 1.1;
      margin-bottom: 2rem;
    }

    p {
      font-size: 20px;
      line-height: 1.4;
    }

    .hero-btns {
      button {
        padding: 18px 32px;
        border-radius: 15px;
        font-size: 18px;
        font-weight: bold;
      }
    }

    .vector-dots {
      position: absolute;
      left: 0;
      bottom: 0;
      translate: -50% 50%;
      z-index: -1;
    }
  }

  .hero-img-container {
    position: relative;

    .vector-dots {
      position: absolute;
      bottom: 0;
      left: 0;
      translate: 50% -100%;
      z-index: -1;
    }
  }
}

@media (max-width: 875px) {
  .hero {
    padding: 1rem 0;
    grid-template-columns: 1fr;
    .text {
      .hero-title {
        padding-top: 2rem;
        font-size: 32px;
      }

      p {
        font-size: 16px;
      }

      .hero-btns {
        padding-bottom: 1rem;
        button {
          padding: 0.75rem 1.5rem;
          border-radius: 15px;
          font-size: 16px;
          font-weight: bold;
        }
      }
    }
  }
}

/* Stats Section */
.stats {
  padding: 4.75rem 0;

  &.stat-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    place-items: center;
  }

  .stat-block {
    /* padding: 0 3rem; */
    border-left: 2px solid #e1bee7;
    width: 100%;

    &:first-of-type {
      border-left: 0px solid transparent;
    }

    h3 {
      font-size: 50px;
      font-weight: 600;
      color: rgba(var(--bs-primary-rgb), 0.8);
      line-height: 0.8;
      text-align: center;
    }

    .icon {
      width: 24px;
      aspect-ratio: 1;
      color: rgba(0, 0, 0, 0.54);
    }

    p {
      font-size: 22px;
      line-height: 0.5;
      color: rgba(0, 0, 0, 0.54);
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 0.5rem;
      margin-bottom: 0;
    }
  }
}

@media (max-width: 768px) {
  .stats {
    padding: 4rem 1rem;

    gap: 2rem;
    align-items: center;

    &.stat-grid {
      grid-template-columns: repeat(1, 1fr);
    }

    .stat-block {
      border: none;
    }
  }
}

/* Features */
.features {
  padding: 4rem 0;

  h1 {
    font-size: 56px;
    font-weight: 600;
    line-height: 1.3;
    color: #332c5c;
    text-align: center;
  }

  .feature-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    max-width: 1000px;
    margin: 0 auto;

    text-align: center;

    div:nth-of-type(3n + 1) {
      text-align: left;
      justify-content: flex-start;
      /* border-right: 1px solid #677788; */
    }

    .icon {
      width: 32px;
      aspect-ratio: 1;
      color: var(--bs-primary);
    }

    .hitech-logo {
      max-height: 3rem;
    }

    div {
      padding: 0.25rem 0.5rem;
      display: flex;
      align-items: center;
      justify-content: center;
      font-weight: bold;
    }

    .table-heading {
      font-size: 20px;
      font-weight: bold;
    }

    .primary-col {
      background-color: var(--bs-primary);
      color: white;

      &.table-heading {
        padding-top: 1rem;
        border-radius: 2rem 2rem 0 0;
      }

      &.c2a {
        padding-top: 0.5rem;
        padding-bottom: 1rem;
        border-radius: 0 0 2rem 2rem;

        button {
          color: var(--bs-primary);
          font-weight: bold;
          font-size: 1rem;
          border-radius: 2rem;
        }
      }

      .icon {
        color: white;
      }
    }
  }
}

@media (max-width: 768px) {
  .features {
    padding: 4rem 1rem;
    display: none;

    h1 {
      font-size: 32px;
    }

    .stat-block {
      border: none;
    }

    .feature-grid {
      grid-template-columns: auto repeat(2, min(1fr, 33vw));
      .icon {
        width: 16px;
      }

      .hitech-logo {
        max-height: 1rem;
      }

      div {
        padding: 0;
        font-weight: normal;
        font-size: 12px;
      }

      .table-heading {
        font-size: 12px;
        font-weight: bold;
      }

      .primary-col {
        &.c2a {
          button {
            font-weight: normal;
            font-size: 0.75rem;
          }
        }
      }
    }
  }
}

/* Customization */
.customization {
  padding: 4rem 0;

  h1 {
    font-size: 60px;
    font-weight: 600;
    line-height: 1.3;
    color: #332c5c;
  }

  .tabs {
    background-color: rgba(var(--bs-primary-rgb), 0.15);
    width: fit-content;
    border-radius: 10rem;
    flex-wrap: nowrap;
    overflow-x: auto;
    max-width: 100vw;

    .tab-btn {
      border-radius: 10rem !important;
      padding: 0.75rem 1.5rem;
      background-color: transparent;
      border-color: transparent;
      color: var(--bs-primary);
      font-size: 1.125rem;
      font-weight: normal;
      background-color: white;

      &.active {
        background-color: var(--bs-primary);
        border-color: var(--bs-btn-border-color);
        color: white;
      }
    }
  }

  .images {
    flex-wrap: nowrap;
    overflow-x: auto;
    padding: 0 1rem;

    scrollbar-color: var(--bs-primary) transparent;

    img {
      padding: 1rem;
      border-radius: 1.25rem;
      box-shadow: 2px 2px 10px 0px rgba(0, 0, 0, 0.15);
      max-width: 475px !important;
    }
  }
}

@media (max-width: 768px) {
  .customization {
    padding: 4rem 1rem;

    h1 {
      font-size: 32px;
    }

    .tabs {
      gap: 0.25rem !important;

      .tab-btn {
        padding: 0.5rem 1rem;
        font-size: 0.75rem;
        font-weight: normal;
      }
    }

    .images {
      padding: 0 0.5rem;
    }
  }
}

/* Business Needs */
.business-needs {
  padding: 4rem 0;

  h1 {
    font-size: 56px;
    font-weight: 600;
    line-height: 1.3;
    color: #332c5c;
    text-align: center;
    padding-bottom: 1rem;
  }

  .tabs {
    background-color: rgba(var(--bs-primary-rgb), 0.1);
    border-radius: 10rem;
    box-shadow: 0px 0px 0px 1px rgba(var(--bs-primary-rgb), 0.25);
    flex-wrap: nowrap;
    overflow-x: auto;

    .tab-btn {
      border-radius: 10rem !important;
      /* padding-left: 1.5rem;
      padding-right: 1.5rem; */
      padding: 1rem 1.5rem;
      background-color: transparent;
      border-color: transparent;
      color: var(--bs-primary);
      font-size: 1rem;
      font-weight: normal;
      /* background-color: white; */
      /* flex-grow: 1; */
      flex: 1;

      &.active {
        /* background-color: var(--bs-primary); */
        background-color: white;
        /* border-color: var(--bs-btn-border-color); */
        /* color: white; */
        box-shadow: 0px 0px 8px 2px rgba(var(--bs-primary-rgb), 0.2);
      }
    }
  }

  .cards {
    .feature-card {
      .img-div {
        background-color: rgba(var(--bs-primary-rgb), 0.1);
        width: fit-content;
        padding: 1rem;
        margin: 0 auto;
        border: 1px solid black;
        border-bottom-width: 0;
        border-color: rgba(var(--bs-primary-rgb), 0.2) !important;
        border-radius: 0.25rem 0.25rem 0 0;

        img {
          max-width: 220px;
        }
      }

      .text {
        border-color: rgba(var(--bs-primary-rgb), 0.2) !important;
        padding: 0.5rem 1rem !important;
        border-radius: 0 0 0.25rem 0.25rem;
      }
    }
  }
}

@media (max-width: 768px) {
  .business-needs {
    padding: 4rem 1rem;

    h1 {
      font-size: 32px;
    }

    .tabs {
      gap: 0.25rem !important;

      .tab-btn {
        padding: 0.25rem 1rem;
        font-size: 0.75rem;
      }
    }

    /* .tabs {
      flex-wrap: wrap;
      justify-content: flex-start !important;
    } */
  }
}

/* Industries */
.industries {
  padding: 4rem 0;

  h1 {
    font-size: 60px;
    font-weight: 600;
    line-height: 1.3;
    color: #332c5c;
    text-align: center;
  }

  p.subtext {
    text-align: center;
    font-size: 24px;
    line-height: 1.8;
    max-width: 768px;
    margin: 0 auto;
  }

  .industries-grid {
    display: flex;
    /* grid-template-columns: min(2fr, 400px) 3fr; */
    /* max-width: 1000px; */
    margin: 0 auto;
    gap: 1rem;
    grid-auto-rows: auto;

    .tabs {
      padding: 1rem;
      display: flex;
      flex-direction: column;
      gap: 2rem;
      overflow-y: auto;
      padding: 2rem;
      border: 1px solid rgba(var(--bs-primary-rgb), 0.15);
      border-radius: 0.75rem;
      max-height: 100%;
      flex-grow: 1;
      min-width: 150px;
      width: 100%;
      max-width: 400px;

      button.tab {
        font-size: 24px;
        font-weight: 600;
        line-height: 1.5;
        color: rgba(0, 0, 0, 0.69);
        border-radius: 0.75rem;
        border: 1px solid transparent;
        background-color: rgba(var(--bs-primary-rgb), 0.03);
        /* box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.05); */
        transition: box-shadow 300ms, border 300ms;
        padding: 1rem 0;

        /* &:hover, */
        &.active {
          border: 1px solid rgba(var(--bs-primary-rgb), 0.15);
          background-color: rgba(var(--bs-primary-rgb), 0.2);
          /* box-shadow: 0px 4px 4px 0px rgba(var(--bs-primary-rgb), 0.15); */
        }
      }
    }

    .active-tab-card {
      padding: 1rem 2rem;
      border: 1px solid rgba(var(--bs-primary-rgb), 0.15);
      border-radius: 0.75rem;
      display: flex;
      flex-direction: column;
      gap: 1rem;

      .img-container {
        display: flex;
        align-items: center;
        justify-content: center;
        background-color: rgba(var(--bs-primary-rgb), 0.07);
        border: 1px solid rgba(var(--bs-primary-rgb), 0.25);
        border-radius: 0.75rem;

        img {
          border-radius: 0.75rem;
        }
      }

      p {
        font-size: 1rem;
        text-align: center;
        line-height: 1.8;
        color: #1c0e0d;
        margin: 0;
      }
    }

    
  }
}

@media (max-width: 768px) {
  .industries {
    padding: 4rem 1rem;

    h1 {
      font-size: 32px;
    }

    p.subtext {
      font-size: 16px;
    }

    .industries-grid {
      gap: 0.2rem;
      flex-direction: column;

      .tabs {
        padding: 0.5rem 0.2rem;
        gap: 1rem;
        flex-direction: row;

        button.tab {
          font-size: 16px;
          padding: 0 1rem;
        }
      }

      .active-tab-card {
        padding: 0.25rem 0.5rem;

        p {
          font-size: 0.75rem;
        }
      }
    }
  }
}

/* Video */
.video-section {
  padding: 4rem 0;

  h1 {
    font-size: 60px;
    font-weight: 600;
    line-height: 1.3;
    color: #332c5c;
    text-align: center;
  }

  .video-embed {
    max-width: 1000px;
    margin: 0 auto;
    padding: 1rem 0;

    iframe {
      width: 100%;
      aspect-ratio: 16/9;
      border-radius: 0.75rem;
    }
  }
}

@media (max-width: 768px) {
  .video-section {
    padding: 4rem 1rem;

    h1 {
      font-size: 32px;
    }

    /* .video-embed {
      padding: 1rem .5rem;
    } */
  }
}

/* Compliance */
.compliance {
  padding: 4rem 0;

  h1 {
    font-size: 60px;
    font-weight: 600;
    line-height: 1.3;
    color: #332c5c;
    text-align: center;
  }

  .compliance-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 2rem;
    padding: 1rem 0;

    .icon-div {
      width: 48px;
      aspect-ratio: 1;
      background-color: rgba(var(--bs-primary-rgb), 0.8);
      color: white;
      border-radius: 0.5rem;
      margin-bottom: 4rem;
      display: flex;
      align-items: center;
      justify-content: center;

      svg {
        width: 32px;
        aspect-ratio: 1;
      }

      &.circular {
        border-radius: 50%;
        margin-bottom: 2rem;
      }
    }

    h3 {
      font-size: 42px;
      font-weight: 600;
      letter-spacing: -0.2;
      color: #332c5c;
    }

    .tall {
      grid-row: span 2;
      display: flex;
      flex-direction: column;
    }

    .compliance-card {
      background-color: rgba(var(--bs-primary-rgb), 0.05);
      display: flex;
      flex-direction: column;
      padding: 1.5rem;
      border-radius: 0.75rem;

      .card-title {
        font-weight: 600;
        padding-bottom: 1rem;
      }

      button {
        background-color: transparent;
        color: var(--bs-primary);
        font-weight: 500;
        border: none;
        text-align: left;
        display: flex;
        gap: 0.5rem;

        .icon {
          height: 24px;
          aspect-ratio: 1;
        }
      }
    }
  }
}

@media (max-width: 768px) {
  .compliance {
    padding: 4rem 1rem;

    h1 {
      font-size: 32px;
    }

    .compliance-grid {
      grid-template-columns: 1fr;
      padding: 1rem 0.5rem;

      h3 {
        font-size: 24px;
      }
    }
  }
}

/* Growth */
.growth {
  padding: 4rem 0;

  h1 {
    font-size: 60px;
    font-weight: 600;
    line-height: 1.3;
    color: #332c5c;
    text-align: center;
    margin-bottom: 2.5rem;
  }

  p.subheading {
    text-align: center;
    font-size: 24px;
    line-height: 1.4;
    padding: 0rem 3rem;
  }

  .growth-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-template-rows: repeat(3, 1fr);
    gap: 1.25rem;

    .growth-card {
      display: flex;
      flex-direction: column;
      align-items: flex-start;
      padding: 1rem;
      padding-bottom: 2rem;

      .icon {
        width: 56px;
        aspect-ratio: 1;
        background-color: var(--card-bg);
        color: var(--icon-color);
        display: flex;
        align-items: center;
        justify-content: center;
        border-radius: 0.75rem;
        margin-bottom: 1rem;
        margin: 0 auto;

        svg {
          width: 1.75rem;
          aspect-ratio: 1;
        }
      }

      .text {
        padding-top: 2rem;
        h4 {
          font-weight: bold;
          font-size: 1.2rem;
          text-align: center;
        }

        p {
          color: #6f7c8e;
          text-align: center;
        }
      }
    }
  }
}

@media (max-width: 768px) {
  .growth {
    padding: 4rem 1rem;

    h1 {
      font-size: 32px;
    }

    p.subheading {
      font-size: 18px;
      line-height: 1.4;
      padding: 0rem 1rem;
    }

    .growth-grid {
      padding: 1rem 0.5rem;

      grid-template-columns: 1fr;
      grid-template-rows: repeat(9, 1fr);

      .growth-card {
        .icon {
          /* margin: 0 auto; */
          margin-bottom: 0.5rem;
        }

        .text p {
          text-align: center;
        }
      }
    }
  }
}

/* FAQ */
.faq {
  padding: 4rem 0;

  h1 {
    font-size: 60px;
    font-weight: 600;
    line-height: 1.3;
    color: #332c5c;
    text-align: center;
    padding-bottom: 2rem;
  }

  .accordion {
    --bs-accordion-active-bg: transparent;
    --bs-accordion-active-color: black;
    /* --bs-accordion-border-width: 2px; */
    --bs-accordion-border-color: transparent;
    --bs-accordion-bg: rgba(var(--bs-primary-rgb), 0.05);

    .accordion-button {
      border-top: none;
      box-shadow: none;
      font-weight: 600;
      color: #332c5c;

      /* &.first-btn {
        border-top: none;
      } */

      &::after {
        background-color: var(--bs-primary);
        padding: 1rem;
        background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20fill%3D%22none%22%20viewBox%3D%220%200%2024%2024%22%20stroke-width%3D%221.5%22%20stroke%3D%22white%22%3E%3Cpath%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20d%3D%22m19.5%208.25-7.5%207.5-7.5-7.5%22%20%2F%3E%3C%2Fsvg%3E");
        background-position: center;
        border-radius: 50%;
        outline: none;
      }
    }
  }
}

@media (max-width: 768px) {
  .faq {
    padding: 4rem 1rem;

    h1 {
      font-size: 32px;
    }
  }

  .accordion {
    padding: 1rem 0.5rem;
  }
}

/* Try C2A */
.try {
  padding: 4rem 0;
  background-color: white !important;

  .content {
    border-radius: 2rem;
    background-color: #4976e7;
    padding: 2rem 0;

    display: grid;
    grid-template-columns: 1fr 1fr;
    place-items: center;
  }

  .img {
    display: flex;
    place-items: center;

    .c2a-img {
      width: 100%;
      height: auto;
      max-width: 400px;
    }
  }

  .text {
    color: white;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 1rem;
    padding-right: 4rem;

    h3 {
      font-size: 28px;
      font-weight: 600;
      line-height: 1.4;
      color: white;
    }

    button {
      border-radius: 1rem;
      color: var(--bs-primary);
      font-size: 1.2rem;
      font-weight: bold;
      padding: 1rem 2rem;
    }

    p {
      font-size: 14px;
      line-height: 1.5;
    }
  }
}

@media (max-width: 768px) {
  .try {
    padding: 4rem 1rem;

    .content {
      grid-template-columns: 1fr;
      padding: 2rem 1rem;

      .text {
        padding-right: 0.5rem;
        padding-left: 0.5rem;
        text-align: center;

        button {
          margin: 0 auto;
        }
      }

      h3 {
        font-size: 24px;
      }
    }
  }
}

/* Footer */
footer {
  /* padding-top: 5em; */

  a {
    text-decoration: none;
  }

  .link-sm {
    font-size: 0.875rem;
  }

  .pointer {
    cursor: pointer;
  }

  .text-white-70 {
    --bs-text-opacity: 1;
    color: rgba(255, 255, 255, 0.7) !important;
  }

  .text-decoration-underline {
    text-decoration: underline !important;
  }

  .icon {
    width: 24px;
    aspect-ratio: 1;
    text-decoration: underline;
  }

  .navbar-brand-logo {
    max-width: 7rem;
  }

  .mb-7 {
    margin-bottom: 3rem;
  }

  .list-separator .list-inline-item:not(:last-child)::after {
    position: absolute;
    top: 50%;
    right: 0.8rem;
    transform: translateY(-50%);
    content: "/";
    opacity: 0.4;
  }

  .list-separator-light .list-inline-item::after {
    color: #fff;
  }

  .social-icon {
    width: 24px;
    aspect-ratio: 1;
    color: white;
  }
}

/* Overwrites */
.dropdown-toggle::after {
  border: none;
}

.accordion-button {
  gap: 0.5rem;
}

.navbar-absolute-top {
  position: static;
}

.hs-mega-menu {
  left: 0;
}

#topbarNavDropdown {
  z-index: 100;
}

.container {
  padding-left: 6rem;
  padding-right: 6rem;
}

#header,
#footer {
  .container {
    padding-right: 0rem;
    padding-left: 0rem;
  }

  .top-menu.bg-top-header.navbar-topbar.bg-black {
    .container {
      padding-right: 6rem !important;
      padding-left: 6rem !important;
    }
  }
}

button.btn a {
  color: currentColor;
  text-decoration: none;
}

@media (max-width: 768px) {
  .container {
    padding-left: 1rem;
    padding-right: 1rem;
  }
}

.desktop-navbar {
  max-width: 1240px;
  padding-left: 6rem;
  padding-right: 6rem;
  margin: 0 auto;
}

.card {
  --bs-card-cap-padding-y: 1.5rem !important;

  .card-body {
    --bs-card-spacer-y: 0.5rem !important;
  }
}

#exampleModal {
  .card-body {
    font-size: 0.9rem;
    padding-bottom: 1.5rem;
  }
}

.form-control-lg {
  font-size: 0.9rem;
}
