@media (prefers-color-scheme: dark) {
  :root {
    --background-wrapper: rgb(15, 15, 15);
    --background: rgb(25, 25, 25);
    --banner-opacity: 0.75;
    --border: rgb(111, 50, 124);
    --headline: rgb(214, 203, 219);
    --job-details: rgb(137, 151, 168);
    --job-extra: rgb(191, 197, 207);
    --link-color-hover: rgb(112, 50, 95);
    --link-color-inverse: var(--text-color);
    --link-color: var(--purple-dark);
    --purple-dark: rgb(187, 79, 160);
    --purple: rgb(70, 28, 78);
    --text-color: rgb(210, 210, 210);
    --text-color-inverse: var(--text-color);
  }
}

@media (prefers-color-scheme: light) {
  :root {
    --background-wrapper: rgb(250, 250, 250);
    --background: rgb(255, 255, 255);
    --banner-opacity: 1;
    --border: rgb(137, 82, 149);
    --headline: rgb(255, 255, 255);
    --job-details: rgb(151, 170, 195);
    --job-extra: rgb(63, 70, 80);
    --link-color-hover: rgb(112, 50, 95);
    --link-color-inverse: var(--background);
    --link-color: var(--purple-dark);
    --purple-dark: rgb(187, 79, 160);
    --purple: rgb(171, 102, 186);
    --text-color-inverse: var(--background);
    --text-color: rgb(84, 94, 108);
  }
}

body {
  background: var(--background-wrapper);
  border-top: .3em solid var(--border);
  color: var(--text-color);
  font-family: 'Arial', sans-serif;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.5;
  margin: 0;
}

h1, h2, h3 {
  line-height: 1.25;
}

a {
  color: var(--purple-dark);
  text-decoration: none;
}

a:hover {
  color: var(--link-color-hover);
  text-decoration: underline;
}

a:focus {
  text-decoration: none;
}

p {
  line-height: 1.5;
  margin-bottom: 1rem;
  margin-top: 0;
}

ul {
  margin-bottom: 0;
}

ul.list-unstyled {
  list-style: none;
  margin-top: 0;
  padding-left: 0;
}

ul li {
  margin-bottom: 0.5em;
}

ul li:last-child {
  margin-bottom: 0;
}

.container {
  margin: 0 auto 0;
  max-width: 68em;
  position: relative;
}

.sidebar {
  background: var(--purple);
  color: var(--background);
  height: 100%;
  position: absolute;
  right: 0;
  width: 16.6em;
}

.sidebar a {
  color: var(--link-color-inverse);
}

.sidebar .profile {
  background: var(--border);
  padding: 2.15em;
  text-align: center;
}

.sidebar .profile .name {
  color: var(--headline);
  font-size: 1.85em;
  font-weight: 900;
  margin-top: 0;
  margin-bottom: 0.75em;
}

.sidebar .profile .headline {
  color: var(--headline);
  font-size: 1.15em;
  font-weight: 400;
  margin-top: 0;
  margin-bottom: 0;
  opacity: 0.5;
}

.sidebar .profile .photo {
  margin-bottom: 1.07em;
  max-height: 100px;
  max-width: 100px;
  vertical-align: middle;
}

.sidebar .topic {
  color: var(--text-color-inverse);
  padding: 2.15em;
}

.sidebar .topic .name {
  font-size: 1.15em;
  font-weight: 700;
  margin-bottom: 1.07em;
  margin-top: 0;
  text-transform: uppercase;
}

.topic-icon {
  min-width: 1em;
}

.primary {
  background: var(--background);
}

.banner {
  background-image: url('../banner.jpg');
  height: 14.3em;
  opacity: var(--banner-opacity);
}

main {
  padding-bottom: 2em;
  padding-left: 4.3em;
  padding-right: 4.3em;
  padding-top: 0;
}

.title {
  text-transform: uppercase;
  font-size: 20px;
  font-weight: 500;
  color: var(--purple-dark);
  position: relative;
  margin-top: 0;
  margin-bottom: 0.25em;
}

.title .label {
  position: relative;
  top: -0.2em;
}

.icon-holder {
  background: var(--purple-dark);
  border-radius: 50%;
  color: var(--background);
  display: inline-block;
  font-size: 16px;
  height: 2.15em;
  position: relative;
  margin-right: 8px;
  text-align: center;
  top: -8px;
  width: 2.15em;
}

.icon-holder i {
  font-size: 14px;
  margin-top: 0.65em;
}

.section {
  margin-top: 2em;
}

.job {
  margin-bottom: 2.15em;
}

.meta {
  margin-bottom: 0.75em;
}

.meta:first-child {
  margin-bottom: 0.15em;
  overflow: hidden;
  position: relative;
}

.role {
  color: var(--job-extra);
  font-size: 16px;
  font-weight: 500;
  margin-top: 0;
  margin-bottom: 0;
}

.time {
  color: var(--job-details);
}

.meta .name {
  color: var(--job-extra);
}

.company .location {
  color: var(--job-details);
}

.project > .meta > .homepage {
  margin-left: 1em;
}

.project > .meta > .name {
  display: inline;
}

.print-only {
  display: none;
  margin-left: 5px;
}

/**
 * Display qualifiers for mobile and other small devices.
 */
@media (max-width: 54.8em) {
  .screen-large {
    display: none;
  }

  .sidebar {
    position: static;
    width: inherit;
  }

  main {
    padding: 2em;
  }
}

/**
 * Display qualifiers for larger devices.
 */
@media (min-width: 54.801em) {
  .screen-small {
    display: none;
  }

  .time {
    position: absolute;
    right: 0;
    top: 0;
  }

  .primary {
    width: 51.4em;
  }
}

@media print {
  body {
    border-top: unset;
    padding-top: 0;
  }

  .print-only {
    display: unset;
  }

  main a[href ^= 'http'] {
    font-size: 0;
  }

  main {
    padding-bottom: 1em;
  }
}

/**
 * Vendor
 */

/*!
 * Font Awesome Free 5.12.1 by @fontawesome - https://fontawesome.com
 * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
 */
@font-face {
  font-display: swap;
  font-family: 'Font Awesome 5 Free';
  font-style: normal;
  font-weight: 900;
  src: url(./vendor/fontawesome/webfonts/fa-solid-900.eot);
  src: url(./vendor/fontawesome/webfonts/fa-solid-900.eot?#iefix) format('embedded-opentype'),
  url(./vendor/fontawesome/webfonts/fa-solid-900.woff2) format('woff2'),
  url(./vendor/fontawesome/webfonts/fa-solid-900.woff) format('woff'),
  url(./vendor/fontawesome/webfonts/fa-solid-900.ttf) format('truetype'),
  url(./vendor/fontawesome/webfonts/fa-solid-900.svg#fontawesome) format('svg')
}

.fa, .fas {
 font-family: 'Font Awesome 5 Free';
 font-weight: 900
}

@font-face {
  font-display: swap;
  font-family: 'Font Awesome 5 Brands';
  font-style: normal;
  font-weight: 400;
  src: url(./vendor/fontawesome/webfonts/fa-brands-400.eot);
  src: url(./vendor/fontawesome/webfonts/fa-brands-400.eot?#iefix) format('embedded-opentype'),
  url(./vendor/fontawesome/webfonts/fa-brands-400.woff2) format('woff2'),
  url(./vendor/fontawesome/webfonts/fa-brands-400.woff) format('woff'),
  url(./vendor/fontawesome/webfonts/fa-brands-400.ttf) format('truetype'),
  url(./vendor/fontawesome/webfonts/fa-brands-400.svg#fontawesome) format('svg')
}

.fab {
  font-family:'Font Awesome 5 Brands';
  font-weight: 400
}

.fa,.fab,.fad,.fal,.far,.fas {
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  display: inline-block;
  font-style: normal;
  font-variant: normal;
  line-height: 1;
  text-rendering: auto;
}

.fa-briefcase:before {
  content:'\f0b1';
}

.fa-envelope:before {
  content:'\f0e0';
}

.fa-github:before {
  content:'\f09b';
}

.fa-globe:before {
  content:'\f0ac';
}

.fa-linkedin-in:before {
  content:'\f0e1';
}

.fa-tasks:before {
  content:'\f0ae';
}

.fa-user:before {
  content:'\f007';
}
