*,*::before,*::after{
  box-sizing:border-box;
}
*{
  margin:0;
  padding:0;
}
html,body{
  height:100%;
}
body{
  line-height:1.5;
  -webkit-font-smoothing:antialiased;
}
img,picture,video,canvas,svg{
  display:block;
  max-width:100%;
}
input,button,textarea,select{
  font:inherit;
}
p,h1,h2,h3,h4,h5,h6,li,dl,dt,blockquote{
  overflow-wrap:break-word;
}
table{
  border-collapse:collapse;
  border-spacing:0;
}
/* end normalization */
html{
  min-width:320px;
  width:100%;
  font:normal 100% 'Roboto', 'Arial', sans-serif;/*16/16*/
  line-height: 1.5;/*24/16 - Sets grid*/
  color:#404040;
  background:#f2f2f2;
}
/* Text Defaults */
h1,h2,h3,h4,h5,h6,p,ol,ul,dl,details{
  margin-bottom:1rem;
}
h1,h2,h3,h4,h5,h6{
  color:#111111;
  line-height:1.2;
}
h1{
  font-size:3rem;
  font-weight:600;
}
h1 .subtitle{
  display:block;
  margin-top:0.5rem;
  font-size:2rem;
  font-weight:400;
  color:#404040;
}
h2{
  font-size:2rem;
}
h3{
  font-size:1.75rem;
}
h4{
  border-left:4px solid #404040;
  padding-left:8px;
  margin-left:-12px;
  font-size:1.5rem;
}
h5{
  font-size:1.125rem;
}
h6{
  font-size:1rem;
}
li,dd{
  margin-bottom:0.5rem;
}
li:last-child,dd:last-child{
  margin-bottom:0;
}
dt{
  font-weight:bold;
}
a,
a:link,
a:visited,
a:hover,
a:active {
  color:#007fff;
  text-decoration:none;
}
a.cta{
  display:block;
  text-align:center;
}
a.cta::before{
  content:'» ';
}
img{
  height:auto;
}
.is-inline{
  list-style:none;
}
.is-inline li{
  display:inline;
}
.is-inline li::after{
  content:' • ';
}
.is-inline li:last-child::after{
  content:'';
}
dl.is-inline dt::after{
  content:': ';
}
dl.is-inline dt,
dl.is-inline dd{
  display:inline;
}
dl.is-inline dd::after{
  content:'';
  display:block;
  margin-bottom:0.5rem
}
header{
  padding:0.5rem 0 0;
  background:linear-gradient(45deg,#80eaff 15%,#00aaff 60%);
}
header nav{
  background:#f2f2f2;
}
header nav ol{
  margin:0 auto;
  padding:0.75rem 1rem;
  max-width:840px;
  list-style:none;
  font-weight:bold;
  line-height:1.2;
}
header nav ol li span{
  margin-left:0.5rem;
  padding-left:0.5rem;
  border-left:1px solid;
  font-weight:normal;
}
header nav a{
  color:#1D2930!important;
}

main{
  margin:0 auto;
  padding:4rem 1rem;
  max-width:840px;
}
section{
  border-top:1px solid #bfbfbf;
  padding-top:1rem;
}
footer{
  margin:0 auto;
  padding:0 1rem 4rem;
  max-width:840px;
}
footer .copyright{
  font-size:0.75rem;
  text-align:center;
  color:#808080;
}

.home h1,
.home h2,
.home h3,
.home h4,
.home h5,
.home h6,
.home p{
  text-align:center;
}
.home h1{
  text-transform:uppercase;
}
.home h1 .subtitle{
  text-transform:none;
}
.home ul{
  margin:0;
  padding:0;
  text-align:center;
  list-style-type:none;
}
.home img{
  margin:0 auto 1rem;
  border-radius:100%;
  display:block;
  max-width:256px;
}
.resume-duration,
.resume-location{
  font-weight:500;
  font-size:0.875rem;
  margin:-1rem 0 1rem;
  display:block;
}




/* ==========================================================================
   Base styles: opinionated defaults
   ========================================================================== */

html {
  color: #222;
  font-size: 1em;
  line-height: 1.4;
}

/*
 * Remove text-shadow in selection highlight:
 * https://twitter.com/miketaylr/status/12228805301
 *
 * Customize the background color to match your design.
 */

::-moz-selection {
  background: #b3d4fc;
  text-shadow: none;
}

::selection {
  background: #b3d4fc;
  text-shadow: none;
}

/*
 * A better looking default horizontal rule
 */

hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #ccc;
  margin: 1em 0;
  padding: 0;
}

/*
 * Remove the gap between audio, canvas, iframes,
 * images, videos and the bottom of their containers:
 * https://github.com/h5bp/html5-boilerplate/issues/440
 */

audio,
canvas,
iframe,
img,
svg,
video {
  vertical-align: middle;
}

/*
 * Remove default fieldset styles.
 */

fieldset {
  border: 0;
  margin: 0;
  padding: 0;
}

/*
 * Allow only vertical resizing of textareas.
 */

textarea {
  resize: vertical;
}

/* ==========================================================================
   Author's custom styles
   ========================================================================== */

/* ==========================================================================
   Helper classes
   ========================================================================== */

/*
 * Hide visually and from screen readers
 */

.hidden,
[hidden] {
  display: none !important;
}

/*
 * Hide only visually, but have it available for screen readers:
 * https://snook.ca/archives/html_and_css/hiding-content-for-accessibility
 *
 * 1. For long content, line feeds are not interpreted as spaces and small width
 *    causes content to wrap 1 word per line:
 *    https://medium.com/@jessebeach/beware-smushed-off-screen-accessible-text-5952a4c2cbfe
 */

.visually-hidden {
  border: 0;
  clip: rect(0, 0, 0, 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  white-space: nowrap;
  width: 1px;
  /* 1 */
}

/*
 * Extends the .visually-hidden class to allow the element
 * to be focusable when navigated to via the keyboard:
 * https://www.drupal.org/node/897638
 */

.visually-hidden.focusable:active,
.visually-hidden.focusable:focus {
  clip: auto;
  height: auto;
  margin: 0;
  overflow: visible;
  position: static;
  white-space: inherit;
  width: auto;
}

/*
 * Hide visually and from screen readers, but maintain layout
 */

.invisible {
  visibility: hidden;
}

/*
 * Clearfix: contain floats
 *
 * The use of `table` rather than `block` is only necessary if using
 * `::before` to contain the top-margins of child elements.
 */

.clearfix::before,
.clearfix::after {
  content: "";
  display: table;
}

.clearfix::after {
  clear: both;
}

/* ==========================================================================
   EXAMPLE Media Queries for Responsive Design.
   These examples override the primary ('mobile first') styles.
   Modify as content requires.
   ========================================================================== */

@media only screen and (min-width: 35em) {
  /* Style adjustments for viewports that meet the condition */
}

@media print,
  (-webkit-min-device-pixel-ratio: 1.25),
  (min-resolution: 1.25dppx),
  (min-resolution: 120dpi) {
  /* Style adjustments for high resolution devices */
}

/* ==========================================================================
   Print styles.
   Inlined to avoid the additional HTTP request:
   https://www.phpied.com/delay-loading-your-print-css/
   ========================================================================== */

@media print {
  *,
  *::before,
  *::after {
    background: #fff !important;
    color: #000 !important;
    /* Black prints faster */
    box-shadow: none !important;
    text-shadow: none !important;
  }

  a,
  a:visited {
    text-decoration: underline;
  }

  a[href]::after {
    content: " (" attr(href) ")";
  }

  abbr[title]::after {
    content: " (" attr(title) ")";
  }

  /*
   * Don't show links that are fragment identifiers,
   * or use the `javascript:` pseudo protocol
   */
  a[href^="#"]::after,
  a[href^="javascript:"]::after {
    content: "";
  }

  pre {
    white-space: pre-wrap !important;
  }

  pre,
  blockquote {
    border: 1px solid #999;
    page-break-inside: avoid;
  }

  tr,
  img {
    page-break-inside: avoid;
  }

  p,
  h2,
  h3 {
    orphans: 3;
    widows: 3;
  }

  h2,
  h3 {
    page-break-after: avoid;
  }
}