/* Color variables for dark/light theme */
:root {
  --dark-theme-bg-color: #333;
  --dark-theme-font-color: #fff;
  --light-theme-bg-color: #fff;
  --light-theme-font-color: rgba(0,0,0,.84);
}

/* Global styles */
html,
body {
  height: 100%;
  background-color: var(--light-theme-bg-color);
}

body {
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex-pack: center;
  -webkit-box-pack: center;
  justify-content: center;
  color: var(--light-theme-font-color);
}

a,
a:focus,
a:hover {
  color: var(--light-theme-font-color);
}

hr {
  border-top: 1px solid var(--light-theme-font-color);
}

/* Dark theme */
@media (prefers-color-scheme: dark) {
  /* Global styles */
  html,
  body {
    height: 100%;
    background-color: var(--dark-theme-bg-color);
  }

  body {
    display: -ms-flexbox;
    display: -webkit-box;
    display: flex;
    -ms-flex-pack: center;
    -webkit-box-pack: center;
    justify-content: center;
    color: var(--dark-theme-font-color);
    text-shadow: 0 .05rem .1rem rgba(0, 0, 0, .5);
  }

  a,
  a:focus,
  a:hover {
    color: var(--dark-theme-font-color);
  }

  hr {
    border-top: 1px solid var(--dark-theme-font-color);
  }

  .text-center {
    text-align: center;
  }
}
/* End of dark theme settings */

/* Header */
h1.name {
  font-size: 50px;
}
.headshot-photo {
  height: 180px;
  width: 180px;
  border-radius: 50%;
}

/* Main content */
h5 {
  font-size: 18px;
}
i.contact-icon {
  width: 32px;
  height: 32px;
  text-align: center;
}
i.header-icon {
  font-size: 30px;
}
.job-company {
  font-style: italic;
}

/* Print formatting */
@media print {
  a,
  a:visited {
    color: #000;
    text-decoration: none !important;
  }
  html,
  body {
    background-color: #fff;
    margin: 0;
  }
  body {
    color: #000;
    text-shadow: none;
  }
  hr {
    border-top: 1px solid #000;
  }
}
/* End of print settings */