@charset "UTF-8";
/*
App reset by Ben Frain @benfrain / benfrain.com

Latest: https://github.com/benfrain/app-reset

An opinionated set of resets suitable for building web applications.

## Accessibility Notes
These resets target HTML elements that typically receive styling defaults by User Agents that I always need to 'undo'.

Be aware that some of these resets have a negative impact on the default usability and accessibility of a web page. Therefore, ensure you add an equivalent accessible style back that matches your project aesthetic.

## You'll want to run this through Autoprefixer You'll typically need to run this through (https://github.com/postcss/autoprefixer) for production. Only essential prefixes are added here (e.g. proprietary property value/pairs) and you'll need to set prefixing relative to your desired browser support matrix.

*/
/*Hat tip to @thierrykoblentz for this approach: https://css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice/ */
html {
  box-sizing: border-box; }

/*Yes, the universal selector. No, it isn't slow: https://benfrain.com/css-performance-revisited-selectors-bloat-expensive-styles/*/
* {
  /*This prevents users being able to select text. Stops long presses in iOS bringing up copy/paste UI for example. Note below we specifically switch user-select on for inputs for the sake of Safari. Bug here: https://bugs.webkit.org/show_bug.cgi?id=82692*/
  user-select: none;
  /*This gets -webkit specific prefix as it is a non W3C property*/
  -webkit-tap-highlight-color: rgba(255, 255, 255, 0);
  /*Older Androids need this instead*/
  -webkit-tap-highlight-color: transparent;
  /* Most devs find border-box easier to reason about. However by inheriting we can mix box-sizing approaches.*/
  box-sizing: inherit; }

*:before,
*:after {
  box-sizing: inherit; }

/* Switching user-select on for inputs and contenteditable specifically for Safari (see bug link above)*/
input[type],
[contenteditable] {
  user-select: text; }

body,
h1,
h2,
h3,
h4,
h5,
h6,
p {
  /*We will be adding our own margin to these elements as needed.*/
  margin: 0;
  /*You'll want to set font-size as needed.*/
  font-size: 1rem;
  /*No bold for h tags unless you want it*/
  font-weight: 400; }

a {
  text-decoration: none;
  word-break: break-all;
  color: inherit; }

/*No bold for b tags by default*/
b {
  font-weight: 400; }

/*Prevent these elements having italics by default*/
em,
i {
  font-style: normal; }

/*Mozilla adds a dotted outline around a tags when they receive tab focus. This removes it. Be aware this is a backwards accessibilty step!*/
a:focus {
  outline: 0; }

input,
fieldset {
  appearance: none;
  border: 0;
  padding: 0;
  margin: 0;
  /*inputs and fieldset defaults to having a min-width equal to its content in Chrome and Firefox (https://code.google.com/p/chromium/issues/detail?id=560762), we may not want that*/
  min-width: 0;
  /*Reset the font size and family*/
  font-size: 1rem;
  font-family: inherit; }

/* For IE, we want to remove the default cross ('X') that appears in input fields when a user starts typing - Make sure you add your own! */
input::-ms-clear {
  display: none; }

/*This switches the default outline off when an input receives focus (really important for users tabbing through with a keyboard) so ensure you put something decent in for your input focus instead!!*/
input:focus {
  outline: 0; }

input[type="number"] {
  /*Mozilla shows the spinner UI on number inputs unless we use this:*/
  -moz-appearance: textfield; }

/*Removes the little spinner controls for number type inputs (WebKit browsers/forks only)*/
input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
  appearance: none; }

/*SVG defaults to inline display which I dislike*/
svg {
  display: inline-flex; }

img {
  /*Make images behave responsively. Here they will scale up to 100% of their natural size*/
  max-width: 100%;
  /*Make images display as a block (UA default is usually inline)*/
  display: block; }

@font-face {
  font-family: 'FuturaBoldRegular';
  src: url("fonts/futura-bold-webfont.eot");
  src: local("☺"), url("fonts/futura-bold-webfont.eot?#iefix") format("embedded-opentype"), url("fonts/futura-bold-webfont.woff") format("woff"), url("fonts/futura-bold-webfont.ttf") format("truetype"), url("fonts/futura-bold-webfont.svg#FuturaBoldRegular") format("svg");
  font-weight: normal;
  font-style: normal; }
html {
  overflow-x: hidden;
  font-size: 16px;
  font-family: helvetica neue, helvetica, arial, sans-serif;
  line-height: 1.2;
  background-color: #fafafa; }

h1,
h2,
h3 {
  font-family: FuturaBoldRegular, helvetica neue, helvetica, arial, sans-serif; }

h1,
h2,
p {
  margin-bottom: 1rem; }

h1 {
  font-size: 2rem; }

h2 {
  font-size: 3rem;
  color: #198226;
  text-transform: uppercase;
  letter-spacing: .0125em; }

h3 {
  margin-bottom: .5rem; }

h4 {
  font-size: .8rem; }

main {
  margin: 0 auto;
  width: 600px;
  max-width: 100%; }

header {
  background-color: #198226;
  background-image: linear-gradient(to bottom, #0f831f, #0d761c);
  color: #fafafa;
  margin: -4rem 0 4rem;
  width: 100%; }
  header .inner {
    min-height: 20rem;
    padding: 7rem 0 4rem;
    text-align: center;
    width: 600px;
    max-width: 100%;
    margin: auto; }
  header .logo {
    width: 12rem;
    height: auto;
    margin: 0 auto 2rem; }
  header p {
    font-size: 1.4rem;
    margin: 0 1rem; }

p.share {
  margin-top: 1rem; }
  p.share .btn {
    padding: .65em .9em .6em .9em;
    background-color: #fafafa;
    color: #198226;
    border-radius: .15em; }

section {
  padding: 2rem 1rem; }

.to-top {
  position: fixed;
  right: 1rem;
  bottom: 1rem;
  width: 2rem;
  height: 2rem;
  display: block;
  background-image: url(up_arrow.svg);
  background-position: 50%;
  background-repeat: no-repeat;
  opacity: .5;
  transition: opacity .2s ease; }
  .to-top:hover {
    opacity: 1; }

.intro p a {
  text-decoration: underline;
  font-style: italic;
  color: #198226; }

.btn {
  background: #198226;
  color: #fafafa;
  padding: .5em 0;
  font-size: 1rem;
  text-align: center;
  margin: .25em; }

.buttons {
  display: flex;
  flex-wrap: wrap; }
  .buttons .btn {
    flex: 1;
    flex-basis: 33%; }

h2 {
  text-align: center;
  overflow: hidden;
  position: relative; }
  h2::before, h2::after {
    content: '';
    height: 1rem;
    width: 50%;
    background: #198226;
    position: absolute;
    top: 50%;
    margin-top: -.5rem; }
  h2::before {
    left: -25%; }
  h2::after {
    right: -25%; }

.resource {
  padding: 1rem;
  box-shadow: 0 1px 2px rgba(5, 5, 5, 0.3);
  color: #050505;
  transition: all .2s ease;
  position: relative;
  margin: 0 0 1rem;
  background: #fff;
  overflow: hidden; }
  .resource .read-control {
    position: absolute;
    left: -10rem;
    top: 0; }
    .resource .read-control:checked ~ h3, .resource .read-control:checked ~ h4 {
      opacity: .5; }
    .resource .read-control + .label {
      opacity: 1 !important; }
    .resource .read-control:checked + .label {
      background-image: url(checkbox-checked.svg); }
  .resource .label {
    width: 2rem;
    height: 2rem;
    background-image: url(checkbox-empty.svg);
    background-position: 50%;
    background-repeat: no-repeat;
    background-size: contain;
    overflow: hidden;
    text-indent: -999em;
    position: absolute;
    left: 1rem;
    top: 1rem; }
  .resource h3,
  .resource h4 {
    margin-left: 4rem; }
  .resource h3 {
    color: #198226; }
    .resource h3 em {
      color: #aaa;
      font-size: .8em;
      display: block;
      font-weight: normal;
      font-style: italic;
      margin-top: .5rem;
      cursor: default;
      font-family: helvetica neue, helvetica, arial, sans-serif; }
  .resource .video-container {
    background-image: url(loading.svg);
    background-position: 50%;
    background-repeat: no-repeat;
    height: 0;
    position: relative;
    width: 100%;
    padding-bottom: 56.25%;
    margin-top: 1rem; }
    .resource .video-container iframe {
      position: absolute;
      left: 0;
      right: 0;
      top: 0;
      bottom: 0;
      border: 0;
      width: 100%;
      height: 100%;
      background-color: transparent; }
  .resource:hover {
    box-shadow: 0 2px 4px rgba(5, 5, 5, 0.4); }

@media screen and (max-width: 500px) {
  .to-top {
    display: none; }

  h2::before, h2::after {
    display: none; } }
footer {
  text-align: center;
  padding-bottom: 2rem;
  color: #999; }
  footer a {
    color: #198226;
    text-decoration: underline; }

html[data-cf-welcome-bar-visibility="visible"] > body > cloudflare-app[app="welcome-bar"] {
  box-shadow: 0 1px 2px rgba(5, 5, 5, 0.3);
  padding: 1rem; }

.resource .tweet {
  float: right;
  width: 32px;
  height: 32px; }
  .resource .tweet svg {
    max-width: 100%;
    height: auto; }
    .resource .tweet svg path {
      fill: #198226; }

/*# sourceMappingURL=style.css.map */
