/* Shared responsive rules for the legacy Pure.css site. */
*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  min-width: 320px;
  scroll-behavior: smooth;
}

body {
  margin: 0;
  min-width: 320px;
  font-size: 16px;
  line-height: 1.65;
}

img,
video {
  display: block;
  max-width: 100%;
  height: auto;
}

.information,
.pricing-tables {
  width: min(100% - 32px, 980px);
}

.information img,
.pricing-table_img img {
  margin-inline: auto;
}

.banner {
  overflow: clip;
}

.banner .information {
  width: 100%;
}

.banner .information img {
  width: 100%;
  max-height: 300px;
  object-fit: contain;
  object-position: center;
}

.pricing-table_img {
  margin-inline: 8px;
}

.pricing-table_img img {
  width: 100%;
}

.pricing-table {
  height: calc(100% - 2em);
  margin-inline: 8px;
}

.pricing-table-header {
  min-height: 140px;
  padding: 0 12px 14px;
}

.pricing-table-header h2 {
  padding-top: 1.5em;
  letter-spacing: .08em;
  line-height: 1.5;
}

.pricing-table-price {
  font-size: clamp(3rem, 7vw, 6rem);
  line-height: 1.1;
}

.information-head {
  letter-spacing: .06em;
  line-height: 1.5;
}

.information p,
.pricing-table-list li {
  line-height: 1.75;
}

.information .l-box {
  padding: 12px 18px;
}

.information a img[alt="Get it on Google Play"] {
  width: min(185px, 100%);
}

.information > div[style*="background-color:#e7ffdd"] {
  padding: 18px 12px !important;
  border-radius: 8px;
}

.information > div[style*="background-color:#e7ffdd"] > div {
  padding: 0 8px 10px !important;
  font-size: 16px !important;
  line-height: 1.6;
}

.footer {
  width: 100%;
  min-height: 60px;
  padding: 14px 16px;
}

.footer p {
  margin: 4px 0;
}

.policy {
  width: 100%;
  overflow-wrap: anywhere;
}

.policy p,
.policy li {
  line-height: 1.8;
}

.policy a {
  min-height: 24px;
}

@media (max-width: 767px) {
  .pure-g {
    display: flex;
    flex-flow: column nowrap;
  }

  .pure-g > [class*="pure-u"] {
    width: 100%;
    max-width: 100%;
  }

  .information.pure-g,
  .pricing-tables.pure-g {
    display: flex;
  }

  .pricing-table_img {
    margin: 0 0 16px;
  }

  .pricing-table {
    height: auto;
    margin: 0 0 16px;
  }

  .pricing-table-header {
    min-height: 0;
    padding-bottom: 16px;
  }

  .pricing-table-header h2 {
    padding-top: 1.2em;
  }

  .policy {
    padding-inline: 16px !important;
  }

  .policy > .pure-g {
    display: flex;
    flex-direction: column;
  }

  .policy > .pure-g > section {
    width: 100%;
    max-width: 100%;
  }
}

@media (min-width: 768px) {
  .information.pure-g,
  .pricing-tables.pure-g {
    display: flex;
    flex-flow: row wrap;
    align-items: stretch;
  }

  .pricing-tables > .pure-u-md-1-3 {
    display: flex;
  }

  .information > .pure-u-md-1-2 {
    padding: 0 8px;
  }

  .policy {
    max-width: 1100px;
    margin-inline: auto;
  }
}

@media (max-width: 359px) {
  .information,
  .pricing-tables {
    width: calc(100% - 24px);
  }

  .policy {
    padding-inline: 12px !important;
  }

  .pricing-table-price {
    font-size: 3rem;
  }
}
