html,
body {
  position: relative;
  width: 100%;
  height: 100%;
  font-size: 90%;
}
body {
  background-color: #f3f3f3;
  color: #222;
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  font-style: normal;
}

article {
  transition: all 1.5s;
  position: relative;
  background-color: #f3f3f3;
}

section {
  position: relative;
}

p,
h1,
h2,
h3,
h4,
h5,
select,
ul {
  font-family: "Roboto", sans-serif;
  text-align: left;
  margin-left: 1rem;
  margin-right: 1rem;
}
a {
  color: currentColor;
  text-decoration: none;
  border-bottom: 1px dotted currentColor;
}
a:hover {
  opacity: 0.7;
}
h1 {
  font-size: 4.6rem;
  line-height: 1;
}
h2,
h3,
select {
  line-height: 1.25;
}
h4,
p {
  line-height: 1.5;
}
h1,
h2,
h3,
select {
  font-weight: 200;
}
/* h2, h3 { font-weight: 200; } */
h2 {
  font-size: 2rem;
  margin-bottom: 0;
  margin-top: 4rem;
}
h3 {
  font-size: 1.5rem;
}
.smaller {
  font-size: 1.5rem;
}
select {
  font-size: 1.35rem;
}
h4 {
  font-weight: 600;
  font-size: 1.2rem;
}
p,
ul {
  font-size: 1.25rem;
  font-weight: 300;
}
.key,
.value,
.label {
  color: #fff;
  fill: #fff;
  font-family: "Roboto", sans-serif;
}

.key {
  font-weight: 300;
}
.value,
.label {
  font-weight: 600;
}
.label {
  font-weight: 500;
}
.label {
  font-size: 0.8rem;
}
.note {
  padding-top: 1rem;
  font-size: 0.9rem;
}

.col,
.wide,
.col-text,
.narrow {
  margin: 0 auto;
  width: 100%;
}
.wide {
  width: 48rem;
}
.full {
  width: 100%;
  margin: 0;
}

.col-full {
  width: 100vw;
  margin: 0;
  overflow: hidden;
}
.cover {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.half {
  width: 24rem;
  height: 24rem;
}

.third {
  width: 18rem;
  height: 15rem;
}

.quarter {
  width: 12rem;
  height: 12rem;
}

.circle {
  width: 2rem;
  height: 2rem;
  background-color: #5eb67099;
  border: 1px solid #5eb670;
  border-radius: 2rem;
  display: inline-block;
  margin-bottom: -0.3rem;
}

.action {
  font-size: 1.35rem;
  font-weight: bold;
}

.zoom {
  background-image: url(
    data:image/svg + xml;charset=utf-8,
    %3Csvgwidth="29"height="29"viewBox="0 0 29 29"xmlns="http://www.w3.org/2000/svg"fill="%23333"%3E%3Cpathd="M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5z"/%3E%3C/svg%3E
  );
}

.graphic {
  height: 30vh;
  margin-bottom: 1rem;
  margin-top: 1rem;
}

.pan {
}

@media screen and (min-width: 48rem) {
  html,
  body {
    font-size: 100%;
  }
  p,
  h1,
  h2,
  h3,
  h4,
  select {
    margin-left: 1rem;
    margin-right: 1rem;
  }

  h1 {
    font-size: 6rem;
  }
  h2 {
    font-size: 2.1rem;
  }
  h3 {
    font-size: 1.5rem;
  }
  select {
    font-size: 1.5rem;
  }
  .smaller {
    font-size: 1.5rem;
  }
  .narrow {
    width: 38rem;
    padding-right: 9rem;
  }

  .col {
    width: 48rem;
    padding-right: 0;
  }
  .col-text {
    width: 40rem;
    padding-right: 8rem;
  }

  .col-full {
    width: 100vw;
    margin-left: calc(8rem - 50vw);
  }

  .graphic {
    height: 60vh;
    margin-bottom: 3rem;
    margin-top: 2rem;
  }
}

@media screen and (min-width: 66rem) {
  p,
  h1,
  h2,
  h3,
  h4,
  select {
    margin-left: 0;
    margin-right: 0;
  }

  h1 {
    font-size: 7.5rem;
  }
  h2 {
    font-size: 2.4rem;
  }
  h3 {
    font-size: 1.8rem;
  }
  select {
    font-size: 1.85rem;
  }
  .smaller {
    font-size: 2rem;
  }
  .narrow {
    width: 38rem;
    padding-right: 26rem;
  }

  .col {
    width: 48rem;
    padding-right: 16rem;
  }
  .col-text {
    width: 40rem;
    padding-right: 24rem;
  }
  .col-full {
    width: 100vw;
    margin-left: calc(24rem - 50vw);
  }
}
