/* header area */

header {
  background-color: #74295f;
  color: #fff;
}

header h1 {
  font-family: "Fira Sans", sans-serif;
  font-weight: 600;
  font-size: 1.75em;
  max-width: 17em;
}
@media (min-width: 50em) {
  header h1 {
    font-size: 2.25em;
  }
}
header .pre-h1 {
  font-size: 0.5em;
  display: block;
  margin-bottom: 0.25em;
  opacity: 0.85;
}
header .pre-h1::after {
  content: "";
  height: 0.25em;
  width: 1.5em;
  background: #fff;
  display: block;
  margin-bottom: 2.4em;
  margin-top: 1.2em;
  opacity: 0.85;
}

header h1 + p {
  max-width: 42em;
  font-size: 1.2em;
}
@media (min-width: 50em) {
  header .product-name

  /* keep together if space allows */ {
    white-space: nowrap;
  }
}

/* usps area */

.usps-short {
  margin-bottom: 2em;
}
.usps-short h2 {
  margin-top: 0.6em;
  margin-bottom: 1.2em;
}
.usps-short p {
  font-size: 120%;
}
.usps-long h3 {
  margin-bottom: 1.5em;
  margin-top: 0.3em;
}
.usps-long ul {
  padding-left: 0.85em;
}
.usps-long li {
  margin-bottom: 0.4em;
}

@media (min-width: 54em) {
  .usps {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 3em;
  }
  .usps-short h2 {
    margin-top: 0;
  }
  .usps-long {
    grid-column: span 2;
  }
  .usps-long ul {
    column-count: 2;
    column-gap: 2em;
  }
  .usps-long li {
    page-break-inside: avoid;
    break-inside: avoid;
  }
}

/* footer */

.footer {
  border-top: 4px solid #d1dfe3;
  border-bottom: 4px solid #d1dfe3;
  background-color: #f2f8fb;
  color: #004152;
  background-image: url(./blocks.png);
  background-size: 30em;
  background-repeat: no-repeat;
  background-position: bottom center;
  background-blend-mode: multiply;
  padding-bottom: 6em;
}
.footer-items div {
  margin: 0.5em 0 2em;
}
.footer .pre-h3 {
  font-size: 0.6em;
  display: block;
  margin-bottom: 0.3em;
  text-transform: uppercase;
}
@media (min-width: 50em) {
  .footer {
    background-position: bottom right;
    padding-bottom: 4em;
  }
  .footer-items {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 3em;
  }
  .footer-items div {
    margin: 0;
  }
}

/* contact */

.contact h4,
.contact p {
  display: inline;
}
.contact a {
  color: #006fa3;
}

/* generic */

body {
  margin: 0;
  box-sizing: border-box;
  color: #004152;
  font-family: "Source Sans 3", sans-serif;
}
@media (min-width: 50em) {
  body {
    font-size: 125%;
  }
}

h1,
h2,
h3 {
  margin-top: 0;
  font-family: "Fira Sans";
}

h3 {
  margin-bottom: 0.5em;
}
h2 + p,
h3 + p,
h3 + ul {
  margin-top: 0;
}

img {
  max-width: 100%;
}

a {
  color: inherit;
}

.container {
  padding: 1em;
  max-width: 50em;
  margin: 0 auto;
}

@media (min-width: 40em) {
  .container {
    padding: 2em;
  }
}

@media (min-width: 60em) {
  .container {
    max-width: 60em;
  }
}

@media (min-width: 70em) {
  .container {
    max-width: 70em;
  }
}

@media (min-width: 80em) {
  .container {
    max-width: 80em;
  }
}
