:root {
  --background: #f9fafb;
  --primary-text: #161e2e;
  --secondary-text: #6b7280;
  --hero-hightlight: #5050EB;
}

html {
  scroll-behavior: smooth;
}

body {
  font-family: system-ui, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  background-color: var(--background);
  margin: 0;
  color: var(--primary-text);
}

::-webkit-scrollbar {
  width: 0;
  /* Remove scrollbar space */
  background: transparent;
  /* Optional: just make scrollbar invisible */
}

header {
  display: flex;
  padding-top: 36px;
  padding-bottom: 36px;
  margin-bottom: 42px;
  width: 100%;
}

nav {
  width: 100%;
  max-width: 832px;
  margin-right: auto;
  margin-left: auto;
  padding-left: 32px;
  padding-right: 32px;
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
}

.hero {
  width: 100%;
  max-width: 832px;
  margin-right: auto;
  margin-left: auto;
  padding-left: 32px;
  padding-right: 32px;
  vertical-align: top;
  padding-top: 16px;
}

.hero-inner {
  margin-left: 8.333333%;
  text-align: center;
  gap: 40px;
  display: flex;
  flex-direction: column;
}

h1 {
  font-weight: 600;
  font-size: 44px;
  line-height: 58px;
  margin: 0;
}

main {
  padding-bottom: 40px;
  max-width: 100%;
}

.gallery {
  max-width: 100%;
  padding-top: 42px;
  padding-bottom: 60px;
}

.gallery-inside {
  justify-content: space-evenly;
  padding-top: 34px;
  display: inline-flex;
  overflow-x: scroll;
  width: 100%;
  gap: 24px;
}

.features {
  max-width: 100%;
  padding-top: 42px;
  padding-bottom: 60px;
}

.features-grid-wrapper {
  display: flex;
  justify-content: space-evenly;
  text-align: center;
  padding-top: 34px;
  margin-left: auto;
  margin-right: auto;
}

.features-grid {
  display: grid;
  gap: 60px;
  flex: none;
  grid-template-columns: repeat(4, 180px);
}

.features-grid-item {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.features-grid-item-icon {
  width: 48px;
  height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* .features-grid-item:last-child:nth-child(2n - 1) {
  grid-column-end: -2;
} */

.features-grid-item:nth-last-child(2):nth-child(2n + 1) {
  grid-column-end: 3;
}

.features-grid-item:last-child:nth-child(2n - 2) {
  grid-column-end: 4;
}

.call-to-action {
  width: 100%;
  max-width: 832px;
  margin-right: auto;
  margin-left: auto;
  vertical-align: top;
  padding-top: 16px;
}

footer {
  display: flex;
  padding-top: 102px;
  margin-bottom: 32px;
  padding-left: 32px;
  padding-right: 32px;
}

.footer-inside {
  width: 100%;
  max-width: 1200px;
  margin-right: auto;
  margin-left: auto;
  display: flex;
  flex-direction: row;
  justify-content: space-between;
}

@media (min-width: 767px) and (max-width: 1400px) {
  .gallery-inside {
    justify-content: stretch;
    max-width: 100%;
    gap: 24px;
    padding-left: 12px;
    padding-right: 12px;
  }
}

.highlight {
  color: var(--hero-hightlight)
}

a {
  text-decoration: none;
  color: var(--primary-text);
}

h3 {
  font-weight: 300;
  color: var(--secondary-text);
  padding-left: 60px;
  padding-right: 60px;
  line-height: 28px;
}

.features-desc {
  color: var(--secondary-text);
  line-height: 24px;
  margin-top: 0;
}

.bold {
  font-weight: 500;
}

.call-to-action-inside {
  width: 83.333333%;
  margin-left: 8.333333%;
  text-align: center;
  padding-top: 20px;
}

.footer-text {
  color: var(--secondary-text);
  font-size: 14px;
}

.footer-right {
  display: flex;
  gap: 24px;
  align-self: center;
}

.logo-text {
  font-size: 20px;
  letter-spacing: 0.5px;
  display: flex;
  align-items: center;
  gap: 4px;
}

.nav-link {
  letter-spacing: 0.25;
}

.page p {
  color: var(--secondary-text);
  line-height: 28px;
}

.page table {
  margin-top: 40px;
  width: 100%;
  table-layout: fixed;
  border-spacing: 0 25px;
  color: var(--secondary-text);
}

.page table td {
  vertical-align: baseline;
}

.menu {
  display: flex;
  gap: 18px
}

@media (max-width: 767px) {
  header {
    padding-top: 24px;
  }

  .menu {
    gap: 12px
  }

  nav {
    padding-left: 12px;
    padding-right: 12px;
  }

  .hero {
    width: auto;
    padding-left: 12px;
    padding-right: 12px;
  }

  .hero-inner {
    width: auto;
    margin-left: 0;
  }

  h1 {
    font-size: 32px;
    line-height: 38px;
  }

  h3 {
    font-size: 16px;
    padding-left: 24px;
    padding-right: 24px;
  }

  .gallery {
    padding-bottom: 30px;
  }

  .gallery-inside {
    justify-content: stretch;
    max-width: 94%;
    gap: 24px;
    padding-left: 12px;
    padding-right: 12px;
  }

  .gallery-inside img {
    margin-right: 12px;
  }

  .features {
    padding-left: 12px;
    padding-right: 12px;
    padding-top: 12px;
  }

  .features-grid-wrapper {
    width: auto;
  }

  .features-grid {
    grid-template-columns: repeat(2, 160px);
    gap: 30px;
  }

  .call-to-action {
    width: auto;
  }

  footer {
    width: auto;
  }

  .footer-inside {
    flex-direction: column;
    text-align: center;
    gap: 20px;
  }

  .features-grid-item:nth-last-child(2):nth-child(2n + 1) {
    grid-column-end: initial;
  }

  .features-grid-item:last-child:nth-child(2n - 2) {
    grid-column-end: initial;
  }
}
