/* --- ev v0.1.0 --- */

:root {
  --text-color: #000;
  --muted-color: #666;
  --bg-color: #fff;
  --border-color: #ccc;
}
* {
  border: 0;
  font: inherit;
  margin: 0;
  padding: 0;
}
*,
*::before,
*::after {
  box-sizing: inherit;
}
:root {
  font-size: 125%;
  --duration: 0.3s;
  scroll-behavior: smooth;
}
@media (prefers-reduced-motion: reduce) {
  :root {
    --duration: 0;
    scroll-behavior: auto;
  }
}
body {
  box-sizing: border-box;
  position: relative;
  min-height: 100vh;
  background-color: var(--bg-color);
  color: var(--text-color);
  font-family: UCSMercury, "Mercury SSm A", "Mercury SSm B", Georgia, serif;
  line-height: 1.6;
  font-size: 1rem;
}
details > * {
  box-sizing: border-box;
}
p {
  margin-bottom: 1.6rem;
  letter-spacing: -0.001em;
}
small,
sub,
sup {
  font-size: 80%;
  line-height: 1;
}
em,
cite,
i {
  font-style: italic;
}
strong,
var,
b {
  font-weight: 700;
}
q:before {
  content: "'";
}
q:after {
  content: "'";
}
q > q {
  font-style: italic;
}
dfn,
abbr {
  border-bottom: 1px dotted #666;
  cursor: default;
}
h1,
h2,
h3,
h4,
h5,
h6 {
  line-height: 1.5;
  margin-top: 1rem;
  margin-bottom: 1.6rem;
  font-weight: 700;
}
h1:first-child,
h2:first-child,
h3:first-child,
h4:first-child,
h5:first-child,
h6:first-child {
  margin-top: 0;
}
h1,
h2,
h3,
h4 {
  letter-spacing: -0.002em;
}
h1 sup,
h2 sup,
h3 sup,
h4 sup,
h1 sub,
h2 sub,
h3 sub,
h4 sub,
h1 small,
h2 small,
h3 small,
h4 small {
  font-size: 50%;
}
h1 {
  font-size: 1.8rem;
  line-height: 1.16666667;
}
@media screen and (min-width: 1000px) {
  h1 {
    font-size: 2.6rem;
    line-height: 1.07692308;
    letter-spacing: -0.005em;
  }
}
@media screen and (min-width: 1000px) {
  h1.page-header {
    font-size: 3.5rem;
    line-height: 1;
  }
}
h2.section-header {
  margin-bottom: 2rem;
  margin-top: 1rem;
  text-align: center;
  max-width: 30rem;
  margin-left: auto;
  margin-right: auto;
}
h2.section-header::after {
  content: " ";
  display: block;
  width: 4rem;
  height: 0.5rem;
  margin: 1rem auto;
  background-color: #ff522b;
}
h2 {
  font-size: 1.5rem;
  line-height: 1.2;
}
@media screen and (min-width: 1000px) {
  h2 {
    font-size: 1.8rem;
    line-height: 1.16666667;
  }
}
h3 {
  font-size: 1.3rem;
  line-height: 1.23076923;
}
h4 {
  font-size: 0.8rem;
}
@media screen and (min-width: 1000px) {
  h4 {
    font-size: 1.05rem;
    line-height: 1.33333333;
    letter-spacing: -0.001em;
  }
}
h5,
h6 {
  font-size: 0.8rem;
}
a {
  color: currentColor;
  text-decoration: none;
  border-bottom: 2px solid #00aeeb;
}
a:hover,
a:focus,
a:active {
  color: currentColor;
  text-decoration: none;
  border-bottom-style: dashed;
}
h1 a,
h2 a,
h3 a,
h4 a,
h5 a,
h6 a,
nav a {
  border-bottom: 2px solid transparent;
}
h1 a:hover,
h2 a:hover,
h3 a:hover,
h4 a:hover,
h5 a:hover,
h6 a:hover,
nav a:hover {
  border-color: #00aeeb;
  border-bottom-style: solid;
}
ol,
ul,
dl {
  margin-bottom: 1.6rem;
}
ol ol,
ul ol,
dl ol,
ol ul,
ul ul,
dl ul {
  margin-bottom: 0;
  margin-top: 0.5rem;
}
dd {
  margin-bottom: 0.5em;
  margin-left: 1rem;
}
@media screen and (min-width: 700px) {
  dd {
    margin-left: 2rem;
  }
}
ol,
ul {
  margin-left: 1rem;
}
li {
  margin-bottom: 0.5em;
}
ul {
  list-style: disc;
}
@media screen and (min-width: 700px) {
  ol {
    margin-left: 0;
    counter-reset: section;
    list-style: none;
  }
  ol > li {
    position: relative;
    margin-left: 2rem;
  }
  ol > li:before {
    counter-increment: section;
    content: counters(section, '');
    position: absolute;
    margin-left: -2rem;
  }
  ol > li ol > li:before {
    content: counters(section, '.');
  }
  ul {
    margin-left: 0;
  }
  ul > li {
    margin-left: 2rem;
    list-style: none;
  }
  ul > li::before {
    content: "";
    background-color: var(--text-color);
    display: inline-block;
    border-radius: 1rem;
    height: 0.5rem;
    width: 0.5rem;
    margin-left: -2rem;
    margin-top: 0.66666667rem;
    position: absolute;
  }
}
details {
  font-size: 0.75rem;
  line-height: 1.53333333;
  color: var(--muted-color);
  margin-bottom: 1.6rem;
}
@media screen and (min-width: 700px) {
  details {
    padding: 0 1em 0.25em;
  }
}
details + details {
  margin-top: -1.6rem;
}
details summary {
  color: var(--text-color);
  font-size: 1rem;
  cursor: pointer;
  font-weight: bold;
}
details summary::-webkit-details-marker {
  display: none;
}
details[open] summary {
  margin-bottom: 0.5em;
}
@media screen and (min-width: 700px) {
  details {
    border-left: 1px solid var(--border-color);
    border-top: 1px solid var(--border-color);
    margin-left: 2rem;
    position: relative;
  }
  details > :last-child {
    margin-bottom: 0;
  }
  details summary {
    list-style: none;
    padding-top: 0.5rem;
  }
  details summary:before {
    content: "+";
    position: absolute;
    width: 2rem;
    top: -1px;
    right: 100%;
    padding-top: 0.5rem;
    border-top: 1px solid var(--border-color);
    text-align: center;
    font-weight: bold;
  }
  details[open] summary:before {
    content: "–";
    outline: 0;
  }
  details ul li::before {
    margin-top: 0.33333333rem;
  }
}
img,
video,
svg,
figure {
  display: block;
  max-width: 100%;
  height: auto;
}
figure {
  dislay: block;
  margin: 0 auto;
  margin-bottom: 1.6rem;
}
figure img {
  display: block;
  margin: 0 auto;
}
caption,
figcaption {
  font-size: 0.75rem;
  font-style: italic;
}
blockquote {
  position: relative;
  padding: 1rem;
  font-size: 1.25rem;
  line-height: 1.4;
  letter-spacing: -0.002em;
  border: 1px solid var(--border-color);
  margin-bottom: 1.6rem;
}
blockquote > :last-child {
  margin-bottom: 0;
}
blockquote footer {
  display: block;
  font-size: 0.8rem;
  font-style: italic;
  margin-top: -0.8rem;
}
pre,
code,
samp,
kbd {
  --bg-color: #f2f2f2;
  background-color: var(--bg-color);
  font-size: 0.75rem;
  font-family: monospace;
  overflow: auto;
}
code,
samp,
kbd {
  padding: 0.25em;
}
pre {
  line-height: 1.6;
  padding: 1em;
  margin-bottom: 1.6rem;
}
pre code,
pre samp,
pre kbd {
  background-color: transparent;
  border: none;
  padding: 0;
}
table {
  width: 100%;
  max-width: 100%;
  overflow-x: auto;
  border-collapse: separate;
  border-spacing: 0;
  margin-bottom: 1.6rem;
  background-color: var(--bg-color);
  color: var(--text-color);
}
th {
  font-weight: 700;
  text-align: left;
  vertical-align: bottom;
}
td {
  vertical-align: top;
}
th,
td {
  padding: 0.25em 0.5em;
  border-top: 1px solid var(--border-color);
  border-left: 1px solid var(--border-color);
}
th:first-child,
td:first-child {
  border-left: 0;
}
th > :last-child,
td > :last-child {
  padding-bottom: 0;
}
input,
label,
select,
button,
textarea,
option,
fieldset,
legend {
  display: block;
  -webkit-appearance: none;
  appearance: none;
}
/* remove yellow from chrome auto-fill background */
input:-webkit-autofill,
textarea:-webkit-autofill,
select:-webkit-autofill {
  color: var(--text-color);
  -webkit-text-fill-color: inherit;
  -webkit-box-shadow: 0 0 0px 1000px white inset !important;
}
fieldset {
  margin-bottom: 0.8rem;
  border-bottom: 1px solid var(--border-color);
  padding-bottom: 0.8rem;
}
fieldset.no-border,
fieldset:last-child {
  padding-bottom: 0;
  border-bottom: 0;
}
legend {
  display: block;
  font-size: 1.25rem;
  line-height: 1.5;
  margin-bottom: 0.8rem;
}
label {
  font-size: 0.75rem;
  line-height: 1.53333333;
  color: var(--muted-color);
  font-family: UCSGotham, "Gotham SSm A", "Gotham SSm B", "Trebuchet MS", sans-serif;
  color: var(--text-color);
  margin-bottom: 0.8rem;
  display: block;
}
label span {
  display: inline-block;
  margin-bottom: 0.25em;
}
label.required span:after,
label span.required:after {
  content: "(required)";
  margin-left: 0.25em;
  color: #cb2c30;
}
label {
  cursor: pointer;
}
.error-message {
  display: none;
  background-color: #cb2c30;
  color: #fff;
  padding: 0 0.5em 0.25em;
}
input:not( [type] ),
[type=color],
[type=date],
[type=datetime-local],
[type=email],
[type=month],
[type=number],
[type=password],
[type=search],
[type=tel],
[type=text],
[type=time],
[type=url],
[type=week],
textarea,
select {
  border: 1px solid var(--border-color);
  background-color: var(--bg-color);
  color: var(--text-color);
  padding: 0.25em 0.5em;
  display: block;
  width: 100%;
  transition-duration: var(--duration);
  transition-property: border, color, margin-bottom;
  outline: none;
  border-radius: 0;
}
input:not( [type] ):focus,
[type=color]:focus,
[type=date]:focus,
[type=datetime-local]:focus,
[type=email]:focus,
[type=month]:focus,
[type=number]:focus,
[type=password]:focus,
[type=search]:focus,
[type=tel]:focus,
[type=text]:focus,
[type=time]:focus,
[type=url]:focus,
[type=week]:focus,
textarea:focus,
select:focus,
input:not( [type] ):hover,
[type=color]:hover,
[type=date]:hover,
[type=datetime-local]:hover,
[type=email]:hover,
[type=month]:hover,
[type=number]:hover,
[type=password]:hover,
[type=search]:hover,
[type=tel]:hover,
[type=text]:hover,
[type=time]:hover,
[type=url]:hover,
[type=week]:hover,
textarea:hover,
select:hover {
  border-bottom-color: #00aeeb;
}
input:not( [type] ):invalid,
[type=color]:invalid,
[type=date]:invalid,
[type=datetime-local]:invalid,
[type=email]:invalid,
[type=month]:invalid,
[type=number]:invalid,
[type=password]:invalid,
[type=search]:invalid,
[type=tel]:invalid,
[type=text]:invalid,
[type=time]:invalid,
[type=url]:invalid,
[type=week]:invalid,
textarea:invalid,
select:invalid {
  border-color: #cb2c30;
  border-bottom-width: 0.25em;
  box-shadow: none;
}
input:not( [type] ):invalid + .error-message,
[type=color]:invalid + .error-message,
[type=date]:invalid + .error-message,
[type=datetime-local]:invalid + .error-message,
[type=email]:invalid + .error-message,
[type=month]:invalid + .error-message,
[type=number]:invalid + .error-message,
[type=password]:invalid + .error-message,
[type=search]:invalid + .error-message,
[type=tel]:invalid + .error-message,
[type=text]:invalid + .error-message,
[type=time]:invalid + .error-message,
[type=url]:invalid + .error-message,
[type=week]:invalid + .error-message,
textarea:invalid + .error-message,
select:invalid + .error-message {
  display: block;
}
input:not( [type] )[required] ~ span:after,
[type=color][required] ~ span:after,
[type=date][required] ~ span:after,
[type=datetime-local][required] ~ span:after,
[type=email][required] ~ span:after,
[type=month][required] ~ span:after,
[type=number][required] ~ span:after,
[type=password][required] ~ span:after,
[type=search][required] ~ span:after,
[type=tel][required] ~ span:after,
[type=text][required] ~ span:after,
[type=time][required] ~ span:after,
[type=url][required] ~ span:after,
[type=week][required] ~ span:after,
textarea[required] ~ span:after,
select[required] ~ span:after {
  position: absolute;
  content: "(required)";
  color: #cb2c30;
}
input:not( [type] ):focus,
[type=color]:focus,
[type=date]:focus,
[type=datetime-local]:focus,
[type=email]:focus,
[type=month]:focus,
[type=number]:focus,
[type=password]:focus,
[type=search]:focus,
[type=tel]:focus,
[type=text]:focus,
[type=time]:focus,
[type=url]:focus,
[type=week]:focus,
textarea:focus,
select:focus,
input:not( [type] ):focus:invalid,
[type=color]:focus:invalid,
[type=date]:focus:invalid,
[type=datetime-local]:focus:invalid,
[type=email]:focus:invalid,
[type=month]:focus:invalid,
[type=number]:focus:invalid,
[type=password]:focus:invalid,
[type=search]:focus:invalid,
[type=tel]:focus:invalid,
[type=text]:focus:invalid,
[type=time]:focus:invalid,
[type=url]:focus:invalid,
[type=week]:focus:invalid,
textarea:focus:invalid,
select:focus:invalid {
  border-bottom-width: 0.25em;
  border-bottom-style: solid;
}
[type=checkbox] + span:before,
[type=radio] + span:before {
  width: 1rem;
  height: 1rem;
  display: inline-block;
  vertical-align: top;
  line-height: 1rem;
  content: "-";
  color: transparent;
  background-color: transparent;
  border: 2px solid var(--border-color);
  margin-right: 0.5rem;
  transition-duration: var(--duration);
  transition-property: border-color, background-color;
  cursor: text;
}
[type=checkbox]:hover + span:before,
[type=radio]:hover + span:before,
[type=checkbox]:focus + span:before,
[type=radio]:focus + span:before {
  border-color: #00aeeb;
}
[type=checkbox]:checked + span,
[type=radio]:checked + span {
  color: #00aeeb, 10%;
}
[type=checkbox]:checked + span:before,
[type=radio]:checked + span:before {
  background-color: #00aeeb;
  border-color: #00aeeb;
}
[type=radio] + span:before {
  border-radius: 2em;
}
[type=checkbox]:checked + span:before {
  background-color: var(--bg-color);
  content: "✓";
  color: #00aeeb;
  text-align: center;
  font-size: 1.25rem;
}
select {
  padding-right: 2rem;
  background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 10 10" width="10" height="10"><polygon fill="currentColor" points="2,4 3,4 5,6.5 7,4 8,4 5,7.5"/></svg>');
  background-repeat: no-repeat;
  background-position: center right;
  background-size: contain;
  border-radius: 0;
  height: 2.13333333rem;
  padding-bottom: 0;
}
select:invalid {
  height: 2.63333333rem;
}
.btn-form,
[type=button],
[type=submit],
button {
  border-radius: 0;
  border: 1px solid var(--text-color);
  cursor: pointer;
  display: inline-block;
  max-width: 100%;
  transition-property: color, background-color;
  transition-duration: var(--duration);
  padding: 0.25em 0.5em;
  -webkit-user-select: none;
          user-select: none;
  vertical-align: baseline;
  background: var(--bg-color);
  color: var(--text-color);
  text-transform: uppercase;
  font-family: UCSGotham, "Gotham SSm A", "Gotham SSm B", "Trebuchet MS", sans-serif;
  font-weight: 700;
  font-size: 0.75rem;
  margin-top: 1px;
  margin-bottom: 1px;
}
.btn-form:link,
[type=button]:link,
[type=submit]:link,
button:link,
.btn-form:visited,
[type=button]:visited,
[type=submit]:visited,
button:visited {
  text-decoration: none;
}
.btn-form:focus,
[type=button]:focus,
[type=submit]:focus,
button:focus,
.btn-form:hover,
[type=button]:hover,
[type=submit]:hover,
button:hover,
.btn-form:active,
[type=button]:active,
[type=submit]:active,
button:active {
  color: var(--bg-color);
  background-color: var(--text-color);
  border-color: var(--text-color);
  border-bottom-style: solid;
}
.btn-form:link,
[type=button]:link,
[type=submit]:link,
button:link,
.btn-form:visited,
[type=button]:visited,
[type=submit]:visited,
button:visited {
  text-decoration: none;
}
.btn-form:focus,
[type=button]:focus,
[type=submit]:focus,
button:focus,
.btn-form:hover,
[type=button]:hover,
[type=submit]:hover,
button:hover,
.btn-form:active,
[type=button]:active,
[type=submit]:active,
button:active {
  color: var(--bg-color);
  background-color: var(--text-color);
  border-color: var(--text-color);
  border-bottom-style: solid;
}
[type=reset] {
  font-weight: 400;
}
.form-error-message,
.form-success-message {
  display: none;
}
.form-fail .form-error-message,
.form-complete .form-success-message {
  display: block;
}
.form-fail .form-error-message ~ *,
.form-complete .form-success-message ~ * {
  display: none;
}
hr {
  height: 0;
  width: 80%;
  margin-top: 1rem;
  margin-bottom: 1.6rem;
  margin-left: auto;
  margin-right: auto;
  border-bottom: 1px dotted var(--border-color);
}
::selection {
  background: #b8edff;
  color: #000;
  text-shadow: none;
}
.wrapper,
.wrapper-sm {
  position: relative;
  width: 100%;
  margin: 0 auto;
  padding-left: 1rem;
  padding-right: 1rem;
}
@media screen and (min-width: 700px) {
  .wrapper,
  .wrapper-sm {
    max-width: 32rem;
  }
}
.wrapper-lg {
  position: relative;
  width: 100%;
  margin: 0 auto;
  padding-left: 1rem;
  padding-right: 1rem;
}
@media screen and (min-width: 700px) {
  .wrapper-lg {
    max-width: 62rem;
  }
}
.grid,
.grid-3 {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: flex-start;
}
.grid > *,
.grid-3 > * {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 100%;
  margin-bottom: 1rem;
}
@media screen and (min-width: 700px) {
  .grid,
  .grid-3 {
    margin-left: -0.5rem;
    margin-right: -0.5rem;
  }
  .grid > *,
  .grid-3 > * {
    flex-basis: calc( 33.33333333% - 1rem );
    margin-left: 0.5rem;
    margin-right: 0.5rem;
    margin-bottom: 2rem;
  }
  .grid > h2,
  .grid-3 > h2,
  .grid > h3,
  .grid-3 > h3 {
    flex-basis: calc(100% - 2rem);
    flex-grow: 1;
  }
}
.grid-4 {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: flex-start;
}
.grid-4 > * {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 100%;
  margin-bottom: 1rem;
}
@media screen and (min-width: 700px) {
  .grid-4 {
    margin-left: -0.5rem;
    margin-right: -0.5rem;
  }
  .grid-4 > * {
    flex-basis: calc( 25% - 1rem );
    margin-left: 0.5rem;
    margin-right: 0.5rem;
    margin-bottom: 2rem;
  }
  .grid-4 > h2,
  .grid-4 > h3 {
    flex-basis: calc(100% - 2rem);
    flex-grow: 1;
  }
}
.grid-2 {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: flex-start;
}
.grid-2 > * {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 100%;
  margin-bottom: 1rem;
}
@media screen and (min-width: 700px) {
  .grid-2 {
    margin-left: -0.5rem;
    margin-right: -0.5rem;
  }
  .grid-2 > * {
    flex-basis: calc( 50% - 1rem );
    margin-left: 0.5rem;
    margin-right: 0.5rem;
    margin-bottom: 2rem;
  }
  .grid-2 > h2,
  .grid-2 > h3 {
    flex-basis: calc(100% - 2rem);
    flex-grow: 1;
  }
}
.resource-header {
  text-align: center;
}
.resource-header .wrapper > :last-child {
  border-bottom: 4px solid var(--text-color);
}
.resource-header h1 {
  margin-top: 1rem;
}
.resource-header h1 + p {
  font-weight: 700;
  margin-top: -1.5rem;
  font-size: 1.25rem;
}
[disabled],
.disabled {
  cursor: default;
  opacity: .5;
  pointer-events: none;
}
@media screen and (max-width: 699px) {
  table.collapse tr,
  table.collapse th,
  table.collapse td {
    display: block;
    border-left: 0;
    border-top: 0;
    line-height: 1.6;
  }
  table.collapse tr {
    border-top: 1px solid #ccc;
    margin-top: -1px;
  }
}
.embed-wrapper {
  position: relative;
  width: 100%;
  height: 0;
  overflow-y: visible;
  padding-bottom: 56.25%;
}
.embed-wrapper iframe {
  position: absolute;
  width: 100%;
  height: 100%;
}
.clearfix,
.cf {
  clear: both;
}
.clearfix:after,
.cf:after {
  content: "";
  clear: both;
  display: table;
}
.ucs-icon {
  display: inline-block;
  height: 1rem;
  width: 1rem;
}
.ucs-icon .ucs-icon-use {
  fill: currentColor;
}
.section-reverse {
  --text-color: #fff;
  --bg-color: #000;
  --border-color: #666;
  --muted-color: #ccc;
}
.bracket {
  border: 0;
  margin-left: 1rem;
  z-index: 1;
}
.bracket::before {
  content: " ";
  display: block;
  position: absolute;
  width: 3rem;
  top: -1rem;
  left: -2rem;
  bottom: -1rem;
  border: 0 solid var(--text-color);
  border-left-width: 1rem;
  border-top-width: 0.5rem;
  border-bottom-width: 0.5rem;
  z-index: -1;
}
@media screen and (min-width: 700px) {
  .bracket {
    margin-top: 0.5rem;
    margin-bottom: 2.5rem;
  }
}
@media screen and (min-width: 1000px) {
  .bracket {
    margin-left: -1rem;
    width: 125%;
  }
}
.btn-sm,
.btn {
  border-radius: 0;
  border: 1px solid var(--text-color);
  cursor: pointer;
  display: inline-block;
  max-width: 100%;
  transition-property: color, background-color;
  transition-duration: var(--duration);
  padding: 0.25em 0.5em;
  -webkit-user-select: none;
          user-select: none;
  vertical-align: baseline;
  background: var(--bg-color);
  color: var(--text-color);
  text-transform: uppercase;
  font-family: UCSGotham, "Gotham SSm A", "Gotham SSm B", "Trebuchet MS", sans-serif;
  font-weight: 700;
  font-size: 0.75rem;
  margin-top: 1px;
  margin-bottom: 1px;
}
.btn-sm:link,
.btn:link,
.btn-sm:visited,
.btn:visited {
  text-decoration: none;
}
.btn-sm:focus,
.btn:focus,
.btn-sm:hover,
.btn:hover,
.btn-sm:active,
.btn:active {
  color: var(--bg-color);
  background-color: var(--text-color);
  border-color: var(--text-color);
  border-bottom-style: solid;
}
.btn-action-sm {
  border-radius: 0;
  border: 2px solid #f0ba00;
  cursor: pointer;
  display: inline-block;
  max-width: 100%;
  transition-property: color, background-color;
  transition-duration: var(--duration);
  padding: 0.25em 0.5em;
  -webkit-user-select: none;
          user-select: none;
  vertical-align: baseline;
  background: #ffc600;
  color: #000;
  text-transform: uppercase;
  font-family: UCSGotham, "Gotham SSm A", "Gotham SSm B", "Trebuchet MS", sans-serif;
  font-weight: 700;
  font-size: 0.75rem;
}
.btn-action-sm:link,
.btn-action-sm:visited {
  text-decoration: none;
}
.btn-action-sm:focus,
.btn-action-sm:hover,
.btn-action-sm:active {
  color: #000;
  background-color: #fff;
  border-color: #ffc600;
  border-bottom-style: solid;
}
.btn-donate-sm {
  border-radius: 0;
  border: 2px solid #f72d00;
  cursor: pointer;
  display: inline-block;
  max-width: 100%;
  transition-property: color, background-color;
  transition-duration: var(--duration);
  padding: 0.25em 0.5em;
  -webkit-user-select: none;
          user-select: none;
  vertical-align: baseline;
  background: #ff522b;
  color: #fff;
  text-transform: uppercase;
  font-family: UCSGotham, "Gotham SSm A", "Gotham SSm B", "Trebuchet MS", sans-serif;
  font-weight: 700;
  font-size: 0.75rem;
}
.btn-donate-sm:link,
.btn-donate-sm:visited {
  text-decoration: none;
}
.btn-donate-sm:focus,
.btn-donate-sm:hover,
.btn-donate-sm:active {
  color: #000;
  background-color: #fff;
  border-color: #ff522b;
  border-bottom-style: solid;
}
.btn-action {
  border-radius: 0;
  border: 3px solid #f0ba00;
  cursor: pointer;
  display: inline-block;
  max-width: 100%;
  transition-property: color, background-color;
  transition-duration: var(--duration);
  padding: 0.5em 1em;
  -webkit-user-select: none;
          user-select: none;
  vertical-align: baseline;
  background: #ffc600;
  color: #000;
  text-transform: uppercase;
  font-family: UCSGotham, "Gotham SSm A", "Gotham SSm B", "Trebuchet MS", sans-serif;
  font-weight: 700;
  font-size: 1rem;
}
.btn-action:link,
.btn-action:visited {
  text-decoration: none;
}
.btn-action:focus,
.btn-action:hover,
.btn-action:active {
  color: #000;
  background-color: #fff;
  border-color: #ffc600;
  border-bottom-style: solid;
}
.btn-donate {
  border-radius: 0;
  border: 3px solid #f72d00;
  cursor: pointer;
  display: inline-block;
  max-width: 100%;
  transition-property: color, background-color;
  transition-duration: var(--duration);
  padding: 0.5em 1em;
  -webkit-user-select: none;
          user-select: none;
  vertical-align: baseline;
  background: #ff522b;
  color: #fff;
  text-transform: uppercase;
  font-family: UCSGotham, "Gotham SSm A", "Gotham SSm B", "Trebuchet MS", sans-serif;
  font-weight: 700;
  font-size: 1rem;
}
.btn-donate:link,
.btn-donate:visited {
  text-decoration: none;
}
.btn-donate:focus,
.btn-donate:hover,
.btn-donate:active {
  color: #000;
  background-color: #fff;
  border-color: #ff522b;
  border-bottom-style: solid;
}
.breadcrumb {
  font-family: UCSGotham, "Gotham SSm A", "Gotham SSm B", "Trebuchet MS", sans-serif;
  font-size: 0.75rem;
}
.breadcrumb a {
  color: #ff522b;
  font-weight: 700;
  text-transform: uppercase;
  border-bottom-color: transparent;
}
.breadcrumb a:hover {
  border-bottom-color: #00aeeb;
  border-bottom-style: solid;
}
.skip-link {
  position: absolute;
  visibility: hidden;
  opacity: 0;
  height: 1px;
  width: 1px;
  overflow: hidden;
  display: block;
  top: -1px;
  left: -1px;
}
#site-header > .wrapper-lg {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
#site-header {
  padding-top: 0.5rem;
}
#site-header > .wrapper-lg {
  align-items: flex-start;
}
@media screen and (min-width: 700px) {
  #site-header > .wrapper-lg {
    align-items: center;
  }
}
#header-logo-unstacked {
  display: none;
  width: 16rem;
}
@media screen and (min-width: 700px) {
  #header-logo-unstacked {
    display: block;
  }
}
#header-logo-stacked {
  display: block;
  width: 6rem;
  max-width: 6rem;
}
@media screen and (min-width: 700px) {
  #header-logo-stacked {
    display: none;
  }
}
.header-actions {
  font-family: UCSGotham, "Gotham SSm A", "Gotham SSm B", "Trebuchet MS", sans-serif;
  font-size: 0.75rem;
  text-transform: uppercase;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
}
.header-actions > * {
  margin-top: 0.25em;
  margin-left: 0.5rem;
  display: block;
  order: 2;
}
.header-actions > .btn-donate-sm {
  margin-top: 0;
  display: inline-block;
  order: 1;
}
@media screen and (min-width: 700px) {
  .header-actions {
    display: block;
  }
  .header-actions > * {
    display: inline-block;
  }
}
#site-footer {
  font-size: 0.75rem;
}
@media screen and (min-width: 700px) {
  #site-footer .wrapper-lg {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    flex-wrap: wrap;
  }
}
#site-footer .wrapper-lg::before {
  content: "";
  display: block;
  width: 100%;
  height: 0;
  border-top: 2px solid var(--text-color);
}
#site-footer .footer-follow,
#site-footer .footer-info {
  padding-top: 1rem;
}
#site-footer .footer-info span::after {
  content: " |";
}
#site-footer .footer-info span:last-child::after {
  content: "";
}
#site-footer .footer-follow {
  position: relative;
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  flex-basis: 10rem;
  padding-top: 1.5rem;
}
@media screen and (min-width: 700px) {
  #site-footer .footer-follow {
    margin-left: 1rem;
  }
}
#site-footer .footer-follow a {
  display: block;
  border-bottom: 0;
}
#site-footer .footer-follow .ucs-icon {
  height: 1.5rem;
  width: 1.5rem;
}
#site-footer nav {
  font-weight: bold;
  margin-bottom: 0.5rem;
}
#site-footer nav a {
  margin-right: 1rem;
}
#site-footer .footer-copy {
  font-size: 0.65rem;
}
.block-page-title-block {
  text-align: center;
  padding-top: 2rem;
}
.block-page-title-block::after {
  display: block;
  width: 100%;
  content: "";
  border-bottom: 4px solid #000;
  margin-bottom: 2rem;
}
.block-page-title-block .page-title {
  margin-top: 0.5rem;
}
.block-page-title-block .page-title + .page-subtitle {
  margin-top: -1rem;
  font-weight: bold;
  font-size: 1.25rem;
}
main,
section {
  position: relative;
  width: 100%;
  margin: 0 auto;
  padding-left: 1rem;
  padding-right: 1rem;
}
@media screen and (min-width: 700px) {
  main,
  section {
    max-width: 32rem;
  }
}
.section-reverse {
  color: var(--text-color);
  background-color: var(--bg-color);
  border-color: var(--border-color);
}
#app {
  max-width: 62rem;
  min-height: 2rem;
  margin-top: 2rem;
  margin-bottom: 2rem;
  background-color: #f2f2f2;
}
.intro {
  font-size: 1.25rem;
  line-height: 1.5;
}
@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
#app-header {
  --text-color: #fff;
  --bg-color: #000;
  --border-color: #666;
  --muted-color: #ccc;
  color: var(--text-color);
  background-color: var(--bg-color);
  border-color: var(--border-color);
  position: relative;
  min-height: 10rem;
  margin-left: -1rem;
  margin-top: -1rem;
  margin-right: -1rem;
  padding: 2rem 1rem;
  font-family: UCSGotham, "Gotham SSm A", "Gotham SSm B", "Trebuchet MS", sans-serif;
}
@media screen and (min-width: 700px) {
  #app-header {
    display: flex;
    justify-content: center;
    align-items: center;
  }
}
#app-header select,
#app-header input[type=text] {
  border-width: 1px;
  border-color: #fff;
  animation-name: fadeIn;
  animation-duration: calc(var(--duration) * 2);
  animation-iteration-count: 1;
  width: 100%;
}
@media screen and (min-width: 700px) {
  #app-header select,
  #app-header input[type=text] {
    width: 16rem;
    max-width: 100%;
  }
}
#app-header select:focus,
#app-header input[type=text]:focus {
  border-width: 1px;
  border-color: #00aeeb;
}
@media screen and (min-width: 700px) {
  #app-header h2 {
    margin: 0 2rem 0 0;
  }
}
#app-header h2::after {
  content: "";
  display: inline-block;
  height: 0;
  width: 0;
  margin-left: 0.5rem;
  border: 0.5rem solid transparent;
  border-left-color: var(--text-color);
}
#app-header ol {
  display: flex;
  justify-content: space-between;
  margin-bottom: 0.5em;
  font-size: 0.75rem;
  font-family: UCSGotham, "Gotham SSm A", "Gotham SSm B", "Trebuchet MS", sans-serif;
  margin-left: 0;
  list-style: decimal;
}
#app-header ol li {
  margin-right: 0.5em;
  display: flex;
  align-items: center;
  margin-left: 0;
  counter-increment: listCounter;
}
#app-header ol li::before {
  content: counter(listCounter);
  display: inline-block;
  position: relative;
  border-radius: 100%;
  height: 1rem;
  width: 1rem;
  line-height: 1.2;
  text-align: center;
  background-color: transparent;
  color: #fff;
  border: 1px solid #fff;
  margin-left: 0;
  margin-right: 0.5em;
}
#app-header.get-zip .pick-zip::before {
  color: #000;
  background-color: #fff;
}
#app-header.get-make .pick-zip::before {
  content: "✓";
  color: #fff;
  background-color: #ff522b;
  border-color: #ff522b;
}
#app-header.get-make .pick-make::before {
  color: #000;
  background-color: #fff;
}
#app-header.get-model .pick-zip::before,
#app-header.get-model .pick-make::before {
  content: "✓";
  color: #fff;
  background-color: #ff522b;
  border-color: #ff522b;
}
#app-header.get-model .pick-model::before {
  color: #000;
  background-color: #fff;
}
#app-header.get-year .pick-zip::before,
#app-header.get-year .pick-make::before,
#app-header.get-year .pick-model::before {
  content: "✓";
  color: #fff;
  background-color: #ff522b;
  border-color: #ff522b;
}
#app-header.get-year .pick-year::before {
  color: #000;
  background-color: #fff;
}
.vehicle-footer,
#app-footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.vehicle-footer p,
#app-footer p,
.vehicle-footer button,
#app-footer button {
  margin-top: 0.5rem;
  margin-bottom: 0.5rem;
}
.vehicle-footer a,
#app-footer a {
  border-bottom-width: 0;
  vertical-align: -0.5rem;
}
.vehicle-footer a .ucs-icon,
#app-footer a .ucs-icon {
  width: 2rem;
  height: 2rem;
}
.vehicle-footer a span,
#app-footer a span {
  display: block;
  position: absolute;
  width: 0;
  height: 0;
}
@media screen {
  .vehicle-footer a span,
  #app-footer a span {
    color: transparent;
    font-size: 1;
    text-indent: -999em;
    overflow: hidden;
  }
}
.vehicle-footer button,
#app-footer button {
  background-color: transparent;
}
.vehicle-footer button:hover,
#app-footer button:hover,
.vehicle-footer button:focus,
#app-footer button:focus {
  background-color: #000;
}
.vehicle,
.default-vehicles {
  position: relative;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-wrap: wrap;
  padding-top: 1rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid var(--border-color);
}
.vehicle > *,
.default-vehicles > * {
  flex: 0 0 100%;
}
@media screen and (min-width: 1000px) {
  .vehicle > *,
  .default-vehicles > * {
    flex: 1 1 30%;
  }
}
.car-name {
  margin-bottom: 0.5rem;
}
.car-type {
  font-weight: bold;
}
.car-details {
  font-family: UCSGotham, "Gotham SSm A", "Gotham SSm B", "Trebuchet MS", sans-serif;
  text-transform: uppercase;
  font-size: 0.75rem;
}
@media screen and (min-width: 1000px) {
  .default-vehicles > div {
    flex: 1 1 30%;
    border-right: 1px solid var(--border-color);
    margin-right: 2rem;
  }
  .default-vehicles > div:last-child {
    border-right: 0;
    margin-right: 0;
  }
}
.default-vehicles > p {
  flex: 0 0 100%;
  text-align: center;
}
.default-vehicles h3 {
  margin-bottom: 0.5rem;
}
.default-vehicles .mpg-total {
  font-size: 3rem;
  line-height: 1;
  font-weight: bold;
  display: flex;
  align-items: flex-start;
}
.default-vehicles .mpg-total small {
  font-size: 1rem;
  margin-top: 0.5rem;
  margin-left: 0.25rem;
}
.default-vehicles .ucs-icon {
  height: 2rem;
  width: 2rem;
  margin-bottom: -0.35rem;
  overflow: hidden;
  margin-left: -0.35rem;
  margin-right: -0.5rem;
}
.vehicle-image {
  position: relative;
  border-right: 1px solid var(--border-color);
  margin-right: 2rem;
}
.bev,
.phev,
.phev::before {
  display: block;
  position: absolute;
  height: 3rem;
  width: 3rem;
  border-radius: 3rem;
  background-color: #6ec829;
  z-index: 2;
  background-image: url(assets/electric.svg);
  background-size: 80% 80%;
  background-position: center center;
  background-repeat: no-repeat;
}
.phev {
  left: 2.7rem;
}
.phev::before {
  content: '';
  background-color: #3044b5;
  background-image: url(assets/gas-r.svg);
  left: -2.7rem;
  z-index: 1;
}
.remove-car-button {
  position: absolute;
  top: 0;
  right: 0;
  border: 0;
  line-height: 1;
  font-weight: normal;
  padding: 0;
  transition: var(--duration) transform;
}
.remove-car-button,
.remove-car-button:hover,
.remove-car-button:focus {
  background-color: transparent;
  color: #000;
}
.remove-car-button:hover,
.remove-car-button:focus {
  transform: scale(1.2, 1.2);
}
.remove-car-button::after {
  content: "×";
  font-size: 2rem;
}
.remove-car-button span {
  display: none;
}
.bar-chart {
  --bar-color: #3044b5;
  position: relative;
  width: 100%;
  height: 1rem;
  overflow: hidden;
}
.bar-chart .bar-chart-bar {
  background-color: var(--bar-color);
  height: 100%;
  overflow-y: visible;
  overflow-x: hidden;
}
.bar-chart .bar-chart-bar span {
  position: absolute;
  right: 0.5rem;
  font-weight: bold;
  line-height: 1;
}
.bar-chart .bar-chart-bar span small {
  font-weight: normal;
  font-style: italic;
  color: #333;
}
.bar-chart.bar-tall {
  height: 2rem;
  margin-top: 1rem;
  margin-bottom: 2rem;
}
.bar-chart.bar-tall span {
  font-size: 2rem;
}
.bar-chart.bar-electric {
  --bar-color: #6ec829;
}
.added-message {
  text-align: center;
  font-weight: bold;
  margin-top: 0.5rem;
}
#app-header .interrupter {
  position: absolute;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  top: 0;
  left: 0;
  z-index: 2;
  width: 100%;
  height: 100%;
  background-color: #000;
}
#app-header .interrupter.hidden {
  display: none;
}
#app-header .interrupter legend,
#app-header .interrupter fieldset,
#app-header .interrupter .at-title {
  display: none !important;
}
#app-header .interrupter h2::after {
  content: "";
  display: none;
}
#app-header .interrupter form {
  display: flex;
  justify-content: space-around;
  align-items: stretch;
  font-size: 1rem;
  max-width: 30rem;
  margin: 0 auto;
}
#app-header .interrupter input {
  border: 1px solid #fff;
  margin: 0;
  padding: 0.25rem 0.5rem;
  border-radius: 0;
  background-color: transparent;
  color: #fff;
}
#app-header .interrupter .at-form-submit {
  display: flex;
}
#app-header .interrupter .at-form-submit label > span {
  display: block;
  position: absolute;
  height: 0;
  width: 0;
  overflow: hidden;
  opacity: 0;
}
#app-header .interrupter .at-inner {
  background-color: transparent;
  padding: 0;
  margin: 0;
}
#app-header .interrupter .btn-at {
  border-radius: 0;
  border: 3px solid #f0ba00;
  cursor: pointer;
  display: inline-block;
  max-width: 100%;
  transition-property: color, background-color;
  transition-duration: var(--duration);
  padding: 0.5em 1em;
  -webkit-user-select: none;
          user-select: none;
  vertical-align: baseline;
  background: #ffc600;
  color: #000;
  text-transform: uppercase;
  font-family: UCSGotham, "Gotham SSm A", "Gotham SSm B", "Trebuchet MS", sans-serif;
  font-weight: 700;
  font-size: 1rem;
  margin: 0;
  padding: 0.25rem 0.5rem;
  order: 2;
}
#app-header .interrupter .btn-at:link,
#app-header .interrupter .btn-at:visited {
  text-decoration: none;
}
#app-header .interrupter .btn-at:focus,
#app-header .interrupter .btn-at:hover,
#app-header .interrupter .btn-at:active {
  color: #000;
  background-color: #fff;
  border-color: #ffc600;
  border-bottom-style: solid;
}
#app-header .interrupter p {
  margin-bottom: 0;
  cursor: pointer;
  text-decoration: underline;
  font-style: italic;
  font-size: 0.8rem;
}
#app-header .interrupter .thankYou,
#app-header .interrupter .thanks-message {
  position: absolute;
  display: flex;
  justify-content: center;
  align-items: center;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  z-index: 12;
  font-size: 2rem;
  font-weight: bold;
  color: #fff;
  background-color: #000;
}
/*
	Copyright (C) 2011-2014 Hoefler & Co.
	This software is the property of Hoefler & Co. (H&Co).
	Your right to access and use this software is subject to the
	applicable License Agreement, or Terms of Service, that exists
	between you and H&Co. If no such agreement exists, you may not
	access or use this software for any purpose.
	This software may only be hosted at the locations specified in
	the applicable License Agreement or Terms of Service, and only
	for the purposes expressly set forth therein. You may not copy,
	modify, convert, create derivative works from or distribute this
	software in any way, or make it accessible to any third party,
	without first obtaining the written permission of H&Co.
	For more information, please visit us at http://typography.com.
	151910-73575-20140923
*/
@font-face {
  font-family: 'UCSMercury';
  src: url('/assets/mercury/woff2/MercurySSm-Book-Pro_Web.woff2') format('woff2'), url('/assets/mercury/woff/MercurySSm-Book-Pro_Web.woff') format('woff');
  font-weight: 400;
  font-style: normal;
}
@font-face {
  font-family: 'UCSMercury';
  src: url('/assets/mercury/woff2/MercurySSm-BookItalic-Pro_Web.woff2') format('woff2'), url('/assets/mercury/woff/MercurySSm-BookItalic-Pro_Web.woff') format('woff');
  font-weight: 400;
  font-style: italic;
}
@font-face {
  font-family: 'UCSMercury';
  src: url('/assets/mercury/woff2/MercurySSm-Bold-Pro_Web.woff2') format('woff2'), url('/assets/mercury/woff/MercurySSm-Bold-Pro_Web.woff') format('woff');
  font-weight: 700;
  font-style: normal;
}
@font-face {
  font-family: 'UCSMercury';
  src: url('/assets/mercury/woff2/MercurySSm-BoldItalic-Pro_Web.woff2') format('woff2'), url('/assets/mercury/woff/MercurySSm-BoldItalic-Pro_Web.woff') format('woff');
  font-weight: 700;
  font-style: italic;
}
@font-face {
  font-family: 'UCSGotham';
  src: url('/assets/gotham/woff2/GothamSSm-Book_Web.woff2') format('woff2'), url('/assets/gotham/woff/GothamSSm-Book_Web.woff') format('woff');
  font-weight: 400;
  font-style: normal;
}
@font-face {
  font-family: 'UCSGotham';
  src: url('/assets/gotham/woff2/GothamSSm-BookItalic_Web.woff2') format('woff2'), url('/assets/gotham/woff/GothamSSm-BookItalic_Web.woff') format('woff');
  font-weight: 400;
  font-style: italic;
}
@font-face {
  font-family: 'UCSGotham';
  src: url('/assets/gotham/woff2/GothamSSm-Bold_Web.woff2') format('woff2'), url('/assets/gotham/woff/GothamSSm-Bold_Web.woff') format('woff');
  font-weight: 700;
  font-style: normal;
}
@font-face {
  font-family: 'UCSGotham';
  src: url('/assets/gotham/woff2/GothamSSm-BoldItalic_Web.woff2') format('woff2'), url('/assets/gotham/woff/GothamSSm-BoldItalic_Web.woff') format('woff');
  font-weight: 700;
  font-style: italic;
}
.visually-hidden {
  position: absolute;
  visibility: hidden;
  opacity: 0;
  height: 1px;
  width: 1px;
  overflow: hidden;
  display: block;
  top: -1px;
  left: -1px;
}
