@import url(https://fonts.googleapis.com/css?family=Open+Sans:400italic,400);
/* original from http://codepen.io/davidelrizzo/pen/DvyuC */
/* Variables
****************************************************/
/* Base
****************************************************/
html {
  box-sizing: border-box;
}
*,
*:before,
*:after {
  box-sizing: inherit;
}
body {
  background-color: #ffffff;
}
.CV-u-nowrap {
  white-space: nowrap;
}
#content {
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 2em;
  color: #222222;
  font-size: 1em;
  font-family: 'Open Sans', sans-serif;
}
@media all and (max-width: 500px) {
  #content {
    padding: 0 1em;
  }
}
#content a {
  color: rgba(34, 34, 34, 0.25);
  text-decoration: underline;
}
#content a span {
  color: #222222;
  text-decoration: none;
  transition: color 0.2s;
}
#content a:hover span {
  color: #00aef0;
}
#content a:active {
  display: inline-block;
  transform: translate(0px, 1px);
}
#content abbr {
  border-color: rgba(34, 34, 34, 0.25);
}
#content hr {
  width: 30%;
  height: 0;
  margin: 1em auto;
  border: none;
  border-top: solid 1px #00aef0;
}
/* if IE<=7 */.CV-page\ {
  width: 1100px;
  font-family: "Comic Sans MS", "Comic Sans", cursive;
}
/*
#content>h1 {
    order: 2;
}

#content>div {
    flex: 1 100%;
}
*/
/* Headings
****************************************************/
.CV-primaryHeading {
  text-transform: uppercase;
  margin-bottom: 1.5em;
}
.CV-primaryHeading-name {
  display: block;
  margin-bottom: 0.1em;
  font-size: 1.8em;
  line-height: 0.9;
}
.CV-primaryHeading-position {
  display: block;
  font-size: 1em;
  line-height: 1;
  color: #00aef0;
  font-style: italic;
}
.outline-2 h2 {
  width: 110%;
  position: relative;
  margin: 2em 0 0;
  text-transform: uppercase;
}
.outline-2 h2:before {
  content: "";
  display: inline-block;
  width: 0.7em;
  height: 0.7em;
  margin: 0 0.5em 0 -0.2em;
  border: 2px solid #00aef0;
  border-left: none;
  border-bottom: none;
  transform: scaleX(0.75) rotate(45deg);
}
/* Details
****************************************************/
.CV-detail {
  position: relative;
  display: inline-block;
  width: 100%;
  padding: 0.5em 1.5em;
  border-radius: 1em;
  line-height: 1.2;
  font-size: 0.9em;
  text-decoration: none;
}
/* if SVG supported */.CV-detail {
  padding-left: 56px;
}
.CV-detail:before {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: 14px;
  width: 34px;
  height: 34px;
  margin-top: -14px;
  background-size: 28px;
  background-repeat: no-repeat;
  background-position: 2px 2px;
  background-color: #ffffff;
  border-radius: 50%;
  border: solid 1px #222222;
  transition: background-color 0.4s ease;
}
.CV-detail--address:before {
  background-image: url('https://s3-us-west-2.amazonaws.com/s.cdpn.io/14082/CV_icons_address.svg');
}
.CV-detail--phone:before {
  background-image: url('https://s3-us-west-2.amazonaws.com/s.cdpn.io/14082/CV_icons_phone.svg');
}
.CV-detail--email:before {
  background-image: url('https://s3-us-west-2.amazonaws.com/s.cdpn.io/14082/CV_icons_email.svg');
}
.CV-detail--twitter:before {
  background-image: url('https://s3-us-west-2.amazonaws.com/s.cdpn.io/14082/CV_icons_email.svg');
}
.CV-detail--linkedin:before {
  background-image: url('https://s3-us-west-2.amazonaws.com/s.cdpn.io/14082/CV_icons_linkedin.svg');
}
.CV-detail--website:before {
  background-image: url('https://s3-us-west-2.amazonaws.com/s.cdpn.io/14082/CV_icons_web.svg');
}
.CV-detail--blog:before {
  background-image: url('https://s3-us-west-2.amazonaws.com/s.cdpn.io/14082/CV_icons_tumblr.svg');
}
.CV-detail--experiments:before {
  background-image: url('https://s3-us-west-2.amazonaws.com/s.cdpn.io/14082/CV_icons_codepen.svg');
}
/* end if SVG */
.CV-detail-key {
  display: inline-block;
  color: #00aef0;
  text-transform: uppercase;
  transition: transform 0.4s ease;
}
.CV-detail-val {
  display: inline-block;
  color: #222222;
  text-decoration: none;
  transition: transform 0.4s ease;
}
@media all and (max-width: 500px) {
  .CV-detail-val {
    display: block;
    border-bottom: none;
  }
}
@media all and (min-width: 500px) {
  .CV-detail {
    width: 50%;
    vertical-align: middle;
  }
  .CV-detail-val {
    display: block;
  }
}
@media all and (min-width: 700px) {
  .CV-detail {
    width: 33%;
  }
}
.CV-detail:hover::before,
.CV-detail:focus::before {
  background-color: #bdedff;
}
.CV-detail:hover .CV-detail-key,
.CV-detail:focus .CV-detail-key,
.CV-detail:hover .CV-detail-val,
.CV-detail:focus .CV-detail-val {
  transform: translateX(0.3em);
}
/* Blurb
****************************************************/
.CV-introBlurb {
  /*TEMP display:none; */

  width: 80%;
  margin: 3em auto 1em auto;
  text-align: center;
  font-size: 1.1em;
}
@media screen and (max-width: 500px) {
  .CV-introBlurb {
    width: 100%;
  }
}
/* Grid
****************************************************/
.CV-grid {
  display: table;
}
.CV-grid-column {
  display: table-cell;
}
.CV-grid-column--left {
  width: 75%;
  padding-right: 2em;
}
.CV-grid-column--right {
  width: 25%;
}
@media screen and (max-width: 850px) {
  .CV-grid {
    display: block;
  }
  .CV-grid-column {
    display: block;
  }
  .CV-grid-column--left {
    width: 100%;
    padding-right: 0;
  }
  .CV-grid-column--right {
    width: 100%;
  }
}
#postamble,
h1.title {
  display: none;
}
/* Timeline
****************************************************/
.small div {
  font-size: x-small;
}
.header + p, .header + p + p {
  text-align: center;
}

h4:hover + .outline-text-4,
h4:hover .org-ul,
.outline-text-3:hover .outline-text-4,
.outline-text-3:hover .org-ul,
.outline-text-4:hover .outline-text-4,
.outline-text-4:hover .org-ul,
.outline-text-4:hover,
.org-ul:hover {
    opacity: 1;
    max-height: 100vh;
}
.outline-text-4,
.org-ul {
    max-height: 0;
    opacity: 0;
    transition: all 200ms, max-height 400ms;
}

.float-right .outline-text-4,
.float-right .org-ul {
    opacity: 1;
    max-height: 100vh;
}

.float-right .outline-3 {
    display: flex;
    flex-wrap: wrap;
}
.float-right .outline-4{
    display: block;
    padding: 2vw 1vw 1vw 1vw;
    width: 100%;
    max-width: 25vw;
}

.float-right .outline-4 img {
    left: -40px;
    top: 40px;
}


.float-left .outline-text-3 > p > img {
    position: relative;
    top: -1.4em;
    right: -5px;
    float: right;
    max-width: 100px;
    min-width: 70px;
    padding: 10px;
}
.float-left .outline-text-4 > p > img {
  position: relative;
  top: 2px;
  right: 5px;
  float: right;
  max-height: 20px;
  max-width: 100px;
  min-width: 75px;
  padding: 8px;
}
.outline-text-5 p {
  font-size: small;
}
.figure {
  padding: 1em 2em 0 1em;
  float: right;
}
.figure p {
  text-align: center;
  padding: 0px;
  margin: 0px;
}
.outline-2 {
  width: 100%;
  float: left;
}
.outline-2,
.outline-2.float-left {
  width: 70%;
  float: left;
  padding-left: inherit;
}
.outline-2.float-right {
  width: 30%;
  float: right;
  padding-left: 20px;
}
.outline-3 {
  position: relative;
  margin: 0 0 0 0.5em;
  padding-left: 1.5em;
  padding-bottom: 2px;
  border-left: solid 1px #222222;
}
.outline-3:first-of-type {
  margin-top: 1em;
}
.outline-3:before,
.outline-3:last-of-type:after {
  content: "";
  position: absolute;
  top: 0;
  left: -0.5em;
  display: block;
  width: 1em;
  height: 1em;
  border: solid 1px #222222;
  background-color: #ffffff;
  border-radius: 50%;
}
.outline-3 h3 {
  margin: 0;
  padding-bottom: 0.5em;
  line-height: 1em;
  font-weight: normal;
  transform: translateY(-0.1em);
}
.outline-3 h3 {
  line-height: 1;
  color: #00aef0;
  font-style: italic;
  text-transform: uppercase;
}
.outline-3.tag {
  font-size: 0.9em;
}
span[class^="20"] {
  display: block;
  font-size: 0.8em;
  color: #6f6f6f;
}
.outline-3 {
  display: block;
  margin: 0;
  padding-bottom: 2em;
  padding: 0 0 2em 1em;
}
.outline-text-3 i {
  padding-left: 60px;
  position: relative;
  top: -1.3em;
  font-style: oblique;
  font-size: small;
}
.outline-text-3 > p {
  margin: 0px;
}
.outline-text-3 ul {
  margin-top: 0px;
}
.outline-4 {
  margin-bottom: 0.5em;
  position: relative;
}
.outline-4 ul {
  margin-top: 0px;
}
.outline-4 h4 {
  margin-bottom: 0px;
}
.outline-4 span[class^="20"] {
  position: relative;
  bottom: 0px;
  left: -5px;
}
.outline-4 img {
  width: 42px;
  position: absolute;
  right: -1.5em;
  top: -5px;
}
.outline-4 p {
  margin: 0px;
  font-size: small;
}
.outline-4 a {
  font-size: smaller;
}
#content > div:last-of-type {
  width: 100%;
}
#content > div:last-of-type .outline-4 {
  display: inline-block;
}
/* Skills
****************************************************/
.CV-skills-group-list {
  display: table;
  width: 100%;
}
.CV-skill {
  display: table-row;
}
.CV-skill-name {
  display: table-cell;
  width: 25%;
  min-width: 7.5em;
  margin: 0;
  padding: 0.6em 1em 0.6em 0;
  text-align: right;
  vertical-align: top;
  line-height: 1;
}
.CV-skill-extraDetail {
  display: block;
}
.CV-skill-value {
  display: table-cell;
  width: 75%;
  margin: 0;
  padding: 0.6em 0;
  vertical-align: top;
  line-height: 1;
  color: #00aef0;
}
/* if <meter> IS supported */.meter .CV-skill-value {
  background-image: linear-gradient(90deg, #222222 1px, transparent 0);
  background-size: 33.333333333333336%;
  background-position: -5%;
}
/* end <meter> support */
.CV-skill-rating {
  background: none;
  width: 100%;
  height: 1.5em;
}
.CV-skill-rating .meter-frame {
  background: none;
}
.CV-skill-rating::-webkit-meter-bar {
  background: none;
}
.CV-skill-rating .meter-bar {
  border: 1px solid #00aef0;
  background: rgba(240, 251, 255, 0.9);
}
.CV-skill-rating::-webkit-meter-optimum-value {
  border: 1px solid #00aef0;
  background: rgba(240, 251, 255, 0.9);
}
.CV-skill-rating::-moz-meter-bar {
  border: 1px solid #00aef0;
  background: rgba(240, 251, 255, 0.9);
}
/* if IE<=7 */.CV-skill\ {
  display: block;
  padding: 0.3em 1em;
}
.CV-skill-name\ {
  display: inline;
}
.CV-skill-value\ {
  display: inline;
}
/* end if IE<=7 *//* END 
****************************************************/
.CV-referees {
  margin-bottom: 4em;
}
.CV-disclaimer {
  margin-top: 4em;
  font-size: 0.8em;
  text-align: right;
  font-variant: small-caps;
  color: #a2a2a2;
}
/* PRINT STYLES
****************************************************/
@media print {
  .CV-page {
    font-size: 0.7em;
  }
  .CV-pageBreakBefore {
    page-break-before: always;
  }
  .svg .CV-detail {
    padding-left: 44px;
  }
  .svg .CV-detail:before {
    left: 11px;
    width: 28px;
    height: 28px;
    margin-top: -11px;
    background-size: 22px;
  }
}
