html {
  height: 100vh;
  /* Prevent pinch zoom */
  touch-action: pan-y;
}

body {
  margin: 0;
  min-height: 100%;

  display: flex;
  flex-direction: column;

  -webkit-tap-highlight-color: transparent;

  /* Prevent text selection */
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
}

/* Removes 300ms tap delay from links in WebKit */
a {
  touch-action: manipulation;
}

/* Prevent dragging images and links to desktop */
* {
  -webkit-user-drag: none;
  -moz-user-drag: none;
  user-drag: none;
}

/* Prevent double-tap / pinch zoom on images */
img {
  touch-action: pan-x pan-y;
}

a.btn {
  line-height: 44px;
  color: inherit;
  font-weight: bold;
  box-shadow: inset 0 0 0 1px black;
  display: inline-block;
  padding: 0 20px;
  border-radius: 22px;
}

a.btn:hover {
  text-decoration: none;
}

a.btn.primary {
  color: white;
  box-shadow: none;
  background: #006DFF;
}


.main-content {
  flex: 1;
  padding: 84px 20px 0 20px;
  padding-right: calc(20px + env(safe-area-inset-right));
  padding-left: calc(20px + env(safe-area-inset-left));
  padding-top: calc(44px + 20px + env(safe-area-inset-top) + 20px);
}

.main-content h1 {
  margin: 0 0 20px 0;
}

.services-section a.btn.primary {
  background-color: black;
}

.services-section .product-list li > a {
  min-height: 190px;
}

.services-section .product-list li > a .product-title {
  margin-bottom: 20px;
}

.services-section .product-list li > a .product-desc {
  opacity: .62;
}

.services-section .product-list li > a > img:first-of-type {
  height: 32px;
  width: 32px;
  opacity: .62;
  margin-top: 20px;
}

.services-section a.btn.primary {
  background: black url('../svg/arrow-right.svg') center / 16px no-repeat;
}


@media (prefers-color-scheme: dark) {
  body {
    background: black;
    color: white;
  }

  a.btn {
    box-shadow: inset 0 0 0 1px white;
  }

  .services-section li a img,
  .services-section a.btn.primary {
    filter: invert(1);
  }
}
