@charset "UTF-8";
/*
// Theme name: Curiculum Vitae
// Version: 1.0
// Author: Vidal van Bergen
// Author URI: http://vitalis.heliohost.org
*/
@import url("https://fonts.googleapis.com/css?family=Dancing+Script");
html {
  box-sizing: border-box;
  min-height: 100vh;
  color: #333333;
  font-size: 100%;
  line-height: 1.4em;
  font-family: "Lucida Grande", "Lucida Sans Unicode", "Lucida Sans", Geneva, Verdana, sans-serif;
  overflow-y: scroll; }

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

::selection {
  background: #ff57a2;
  color: white;
  text-shadow: none !important; }

img::selection {
  background: transparent; }

img, canvas, iframe, video, svg {
  max-width: 100%; }

a {
  -webkit-tap-highlight-color: #8855aa;
  color: #3366cc;
  text-decoration: none; }
  a:visited {
    color: #8855aa; }
  a:focus {
    outline: thin dotted; }
  a:hover {
    color: #cc3333;
    border-bottom: 1px solid; }
  a:active {
    color: red; }
  a:hover, a:active {
    outline: 0; }

h1, h2, h3,
h4, h5, h6 {
  word-spacing: -0.125em; }

h1, h2 {
  font-weight: normal;
  line-height: 1.2em; }

h3, h4, h5, h6 {
  font-weight: bold; }

h1 {
  letter-spacing: -1px; }

h4, h5, h6 {
  margin-bottom: 0; }
  h4 + p, h5 + p, h6 + p {
    margin-top: 0px; }

h1 {
  font-size: 2.00em;
  margin: 0.67em 0; }

h2 {
  font-size: 1.50em;
  margin: 0.83em 0; }

h3 {
  font-size: 1.17em;
  margin: 1.00em 0; }

h4 {
  font-size: 1.00em;
  margin: 1.33em 0; }

h5 {
  font-size: 0.83em;
  margin: 1.67em 0; }

h6 {
  font-size: 0.75em;
  margin: 2.33em 0; }

p {
  hyphenate-character: "\2010";
  hyphenate-lines: 3;
  hyphenate: auto;
  margin-bottom: 1.4em;
  margin-top: 0;
  word-spacing: 0.125em; }
  p:first-child {
    margin-top: 0; }
  p:last-child {
    margin-bottom: 0; }

/* ===== Page Styles ===== */
/* ===== by Vidal van Bergen ===== */
html {
  background: #ccc url("../img/noise.png") repeat top left fixed;
  font-size: 14px; }
  @media (min-width: 48em) {
    html {
      font-size: 100%; } }

body {
  background: white;
  box-shadow: rgba(0, 0, 0, 0.5) 0px 0px 1em;
  margin: 0 auto;
  padding: 1.4em; }
  @media (min-width: 60em) {
    body {
      width: 80%; } }

/* ===== Sprite ===== */
nav.language a,
.save-cv a, .social a,
.address, .contact,
h2, h3 {
  background: transparent url("../img/spritesheet.png") 0 0 no-repeat; }
  @media (min--moz-device-pixel-ratio: 1.3), (-o-min-device-pixel-ratio: 2.6 / 2), (-webkit-min-device-pixel-ratio: 1.3), (min-device-pixel-ratio: 1.3), (min-resolution: 1.3dppx) {
    nav.language a,
    .save-cv a, .social a,
    .address, .contact,
    h2, h3 {
      background-image: url("../img/spritesheet@2x.png");
      background-size: 32px 800px; } }

/* ===== Header ===== */
header {
  border-bottom: 1px solid #807f7f;
  position: relative; }
  @media (min-width: 48em) {
    header {
      display: flex; } }

h1 {
  background: black;
  border-radius: 5px;
  color: white;
  display: block;
  font-family: "Dancing Script", "Bradley Hand ITC", "Apple Chancery", "URW Chancery L", cursive;
  letter-spacing: 0.2em;
  margin-bottom: .2em;
  margin-top: 0;
  padding: .5em .75em;
  text-align: center; }

p.subtitle {
  color: #807f7f;
  font-size: 1.2em;
  letter-spacing: .3em;
  margin: 0 0 0.5em 0;
  text-align: center; }

/* ===== Contact, aside & nav ===== */
.contact, .address, aside, nav {
  font-size: .85em;
  line-height: 1.2em;
  margin: 0 0 .5em 0;
  overflow: hidden; }

nav.language {
  position: absolute;
  right: 2.5px;
  text-align: right;
  z-index: 99; }
  @media (min-width: 48em) {
    nav.language {
      margin-top: -1.5em;
      right: 0; } }
  nav.language a {
    background-position: -3px -8px;
    display: inline-block;
    height: 24px;
    overflow: hidden;
    text-align: left;
    text-indent: -9999em;
    width: 26px; }
    nav.language a.en {
      background-position: -3px -48px; }
    nav.language a:hover {
      border-bottom: none; }

.address, .contact {
  background-position: 0 -124px;
  height: 32px;
  padding-left: 37px; }

.contact {
  background-position: 0 -84px;
  right: 0;
  top: 5em; }
  .contact em {
    font-weight: bold;
    font-style: normal; }

aside {
  flex-grow: 1; }

/* ===== Main Content ===== */
/* ===== Generic Elements ===== */
dl {
  margin: 0;
  padding: 0; }

dt {
  font-weight: bold;
  width: 13em; }

dt, dd {
  line-height: 1.7em;
  padding: 0 5px; }

.programming dd, .software dd {
  color: #bf4040;
  letter-spacing: 2px; }

@media (min-width: 24em) {
  dt {
    display: block;
    float: left; }
  dd {
    display: block;
    margin-left: 15em;
    width: 12em; }
  dt, dd {
    border-bottom: 1px solid rgba(0, 0, 0, 0.2); }
  .language dd {
    width: 18em; }
  .programming dd, .software dd {
    width: 6em; } }

blockquote {
  background: whitesmoke;
  border-left: .5em solid #ccc;
  margin: 1.5em 10px;
  padding: 0.5em 10px;
  quotes: "“" "”" "“" "’"; }
  blockquote:before {
    color: #ccc;
    content: open-quote;
    font-size: 4em;
    line-height: 0.1em;
    margin-right: 0.25em;
    vertical-align: -0.4em;
    font-family: "Apple Chancery", cursive; }
  blockquote p {
    display: inline; }
  blockquote strong {
    display: block; }

hr {
  visibility: hidden;
  margin: 0;
  height: 0;
  border: 0; }

/* ===== Image Links ===== */
.social a, .save-cv a {
  display: inline-block;
  height: 32px;
  overflow: hidden;
  position: relative;
  text-align: left;
  text-indent: -9999em;
  width: 32px; }
  .social a:hover, .save-cv a:hover {
    border-color: black; }

.save-cv {
  text-align: center; }
  .save-cv a[href*=javascript] {
    background-position: 0 -524px; }
  .save-cv a[href*=pdf] {
    background-position: 0 -564px; }

a[href*=facebook] {
  background-position: 0 -644px; }

a[href*=linkedin] {
  background-position: 0 -684px; }

a[href*=twitter] {
  background-position: 0 -604px; }

a[href*=github] {
  background-position: 0 -724px; }

/* ===== Headers ===== */
h2 {
  font-size: 1.1em;
  margin-bottom: 0.7em; }

h3 {
  font-size: 1em;
  margin: 0; }

h2, h3 {
  font-weight: bold;
  min-height: 32px;
  padding-left: 37px; }

@media (min-width: 24em) {
  h2, h3 {
    padding-top: .5em; } }

.education h2 {
  background-position: 0 -244px; }

.experience h2 {
  background-position: 0 -204px; }

.personal-data h2, .social h2 {
  background-position: 0 -84px; }

.references h2 {
  background-position: 0 -404px; }

.shoutout h2 {
  background-position: 0 -444px; }

.skills h2 {
  background-position: 0 -284px; }

h3.college {
  background-position: 0 -204px; }

h3.experimental {
  background-position: 0 -324px; }

h3.formal {
  background-position: 0 -404px; }

h3.highschool {
  background-position: 0 -164px; }

h3.informal {
  background-position: 0 -364px; }

.skills strong {
  margin: 1.33em 0;
  display: block; }

@media (min-width: 48em) {
  .skills div {
    display: flex;
    align-content: space-between; }
  section {
    flex: 1; } }

/* ===== Photo ===== */
img.photo {
  background-color: white;
  box-shadow: rgba(0, 0, 0, 0.3) 2px 3px 6px;
  height: 14em;
  margin-right: 2em;
  margin-top: 1em;
  transition: all 0.2s ease-out; }
  img.photo:hover {
    box-shadow: rgba(0, 0, 0, 0.3) 0px 3px 6px;
    transform: rotate(0deg); }
  @media (min-width: 36em) {
    img.photo {
      float: right;
      padding: .5em;
      transform: rotate(8deg); } }

/* ===== Experience ===== */
.experience .date, .education .date {
  display: inline-block;
  flex: 25%;
  font-style: normal;
  font-weight: bold;
  margin-bottom: .5em; }

.experience div, .education div {
  border-left: 2px solid rgba(0, 0, 0, 0.2);
  flex: 75%;
  margin-bottom: 1em;
  padding-left: 1em; }
  .experience div em, .education div em {
    color: #666666; }

@media (min-width: 36em) {
  .experience section, .education section {
    display: flex;
    border-left: none; }
    .experience section .date, .education section .date {
      font-weight: normal; } }

@media screen {
  .print-only {
    display: none !important; } }

@media print {
  *, *:before, *:after {
    box-shadow: none !important;
    text-shadow: none !important;
    filter: none !important;
    -ms-filter: none !important; }
  html {
    font-size: 12px; }
  html, body, section, article {
    background: transparent none;
    letter-spacing: 0.2pt;
    word-spacing: 1.1pt;
    width: 100% !important; }
  form,
  button, .button, input[type="button"], input[type="submit"], input[type="reset"],
  .no-print {
    display: none !important;
    visibility: hidden; }
  p a, p a:visited {
    background: transparent;
    color: blue;
    text-decoration: none; }
  p a[href]:after {
    content: " (" attr(href) ") ";
    color: black;
    font-size: 0.85em;
    font-weight: normal;
    text-decoration: none; }
  p a[href^="/"]:after {
    content: " (http://vitalis.heliohost.org" attr(href) ") "; }
  p a[href^="javascript:"], p a[href^="#"], p a[href^="mailto:"] {
    color: black; }
    p a[href^="javascript:"]:after, p a[href^="#"]:after, p a[href^="mailto:"]:after {
      content: none; }
  blockquote, q, img, fieldset, tr,
  pre, code, kbd, samp, tt, var {
    page-break-inside: avoid; }
  img {
    max-width: 100% !important;
    page-break-inside: avoid; }
  p, h2, h3 {
    orphans: 3;
    widows: 3; }
  h1, h2, h3 {
    page-break-after: avoid; }
  @page :left {
    margin: 15mm 20mm 15mm 10mm; }
  @page :right {
    margin: 15mm 10mm 15mm 20mm; }
  div {
    page-break-inside: avoid; }
  hr {
    page-break-after: always; }
  .address, .contact {
    line-height: 32px; }
    .address span, .contact span {
      display: inline-block;
      vertical-align: middle;
      line-height: normal; }
  blockquote {
    margin-left: 0;
    margin-right: 0; }
  img.photo {
    border: 1px solid #e6e5e5;
    transform: rotate(0);
    box-shadow: none; } }
