* {
  margin: 0;
  padding: 0;
}

body {
  font-family: 'Lato', -apple-system, BlinkMacSystemFont, sans-serif;
  color: #333;
  background: #fdfdfd;
  padding-bottom: 50px;
}

a {
  font-weight: 600;
  color: #FC7073;
  text-decoration: none;
}

a:hover {
  text-decoration: underline;
}

.wrapper {
  margin: 0 auto;
  width: 90%;
  max-width: 55rem;
}

.container {
  display: flex;
  flex-direction: column;
  width: 100%;
}

input {
  padding: 5px;
  font-size: 1em;
  border-radius: 3px;
  border: 1px solid rgba(0,0,0, .10);
}

header {
  background-image: linear-gradient(-135deg, #FC875D 0%, #FC5A88 100%);
}

h1 {
  font-size: 50px;
  padding-top: 75px;
  color: white;
  text-shadow: 0 2px 4px rgba(0,0,0,0.20);
}

.subh1 {
  margin: 0;
  color: white;
  font-size: 14px;
  font-weight: 100;
  line-height: 20px;
  text-shadow: 0 2px 4px rgba(0,0,0,0.20);
  padding-bottom: 75px;
}

.subh1 a {
  color: white;
}

.subh1 svg path {
  fill: white;
}

h2 {
  color: #FC7073;
  font-size: 30px;
  font-weight: 900;
}

p {
  margin-top: 20px;
  font-weight: 200;
  font-size: 18px;
  max-width: 680px;
}

header div {
  color: white;
  font-size: 1.1em;
}

.field {
  margin-bottom: 30px;
}

.explainer {
  font-weight: 200;
  font-style: italic;
  margin-bottom: 5px;
}

.range-display {
  margin-left: 20px;
  line-height: 40px;
}

.metric {
  font-weight: 900;
  font-size: 1.2em;
}

input[type="text"] {
  box-shadow: 0 1px 1px 0 rgba(0,0,0,0.20);
  padding: 6px 12px;
  width: 200px;
  border: 1px solid #C0C0C0;
  border-radius: 8px;
  margin-left: -8px;
  outline: none;
}

input[type="text"]:focus {
  box-shadow: 0 1px 1px 0 rgba(0,0,0,0.50);
  border: 1px solid #999999;
}

input[type="range"] {
  width: 140px;
}

table, th, td {
  border-collapse: collapse;
}

.sum, .sum tr, .sum td {
  margin-top: 20px;
  border: none;
  padding: 0 0 10px 0;
}

.sum tr:nth-child(1) td:nth-child(1), .sum tr:nth-child(2) td:nth-child(1) {
  color: #9B9B9B;
  font-style: italic;
  font-weight: 200;
}

.sum tr:nth-child(1) td:nth-child(2), .sum tr:nth-child(2) td:nth-child(2) {
  font-weight: 900;
}

.sum tr td:nth-child(2) {
  min-width: 140px;
  text-align: right;
}

.sum tr:nth-child(3) td {
  font-weight: 900;
  font-size: 1.3em;
  color: #FC7073;
  padding-top: 10px;
  border-top: 1px solid #CCCCCC;
}

.sum tr:nth-child(3) td:nth-child(1) {
  font-style: italic;
}

#instructions, #calculator {
  margin-top: 40px;
}

#footer {
  text-align: center;
  margin-top: 120px;
  font-weight: 100;
  font-size: 0.8rem;
  color: #888888;
}