:root {
  --text: rgb(56, 56, 56);
  --bg: #fff;
  --alt-colour: #a5a5a5;
  --footer: #666;
  --link: #0066cc;
  --link-hover: #004d9e;
}

/* playfair-display-500 - latin */
@font-face {
  font-family: "Playfair Display";
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("fonts/playfair-display-v21-latin-500.eot"); /* IE9 Compat Modes */
  src: local(""),
    url("fonts/playfair-display-v21-latin-500.eot?#iefix")
      format("embedded-opentype"),
    /* IE6-IE8 */ url("fonts/playfair-display-v21-latin-500.woff2")
      format("woff2"),
    /* Super Modern Browsers */ url("fonts/playfair-display-v21-latin-500.woff")
      format("woff"),
    /* Modern Browsers */ url("fonts/playfair-display-v21-latin-500.ttf")
      format("truetype"),
    /* Safari, Android, iOS */
      url("fonts/playfair-display-v21-latin-500.svg#PlayfairDisplay")
      format("svg"); /* Legacy iOS */
}

/* playfair-display-600italic - latin */
@font-face {
  font-family: "Playfair Display";
  font-style: italic;
  font-weight: 600;
  font-display: swap;
  src: url("fonts/playfair-display-v21-latin-600italic.eot"); /* IE9 Compat Modes */
  src: local(""),
    url("fonts/playfair-display-v21-latin-600italic.eot?#iefix")
      format("embedded-opentype"),
    /* IE6-IE8 */ url("fonts/playfair-display-v21-latin-600italic.woff2")
      format("woff2"),
    /* Super Modern Browsers */
      url("fonts/playfair-display-v21-latin-600italic.woff") format("woff"),
    /* Modern Browsers */ url("fonts/playfair-display-v21-latin-600italic.ttf")
      format("truetype"),
    /* Safari, Android, iOS */
      url("fonts/playfair-display-v21-latin-600italic.svg#PlayfairDisplay")
      format("svg"); /* Legacy iOS */
}

/* source-sans-3-regular - latin */
@font-face {
  font-family: 'Source Sans 3';
  font-style: normal;
  font-weight: 400;
  src: url('fonts/source-sans-3-v8-latin-regular.eot'); /* IE9 Compat Modes */
  src: local(''),
       url('fonts/source-sans-3-v8-latin-regular.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('fonts/source-sans-3-v8-latin-regular.woff2') format('woff2'), /* Super Modern Browsers */
       url('fonts/source-sans-3-v8-latin-regular.woff') format('woff'), /* Modern Browsers */
       url('fonts/source-sans-3-v8-latin-regular.ttf') format('truetype'), /* Safari, Android, iOS */
       url('fonts/source-sans-3-v8-latin-regular.svg#SourceSans3') format('svg'); /* Legacy iOS */
}
/* source-sans-3-700 - latin */
@font-face {
  font-family: 'Source Sans 3';
  font-style: normal;
  font-weight: 700;
  src: url('fonts/source-sans-3-v8-latin-700.eot'); /* IE9 Compat Modes */
  src: local(''),
       url('fonts/source-sans-3-v8-latin-700.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('fonts/source-sans-3-v8-latin-700.woff2') format('woff2'), /* Super Modern Browsers */
       url('fonts/source-sans-3-v8-latin-700.woff') format('woff'), /* Modern Browsers */
       url('fonts/source-sans-3-v8-latin-700.ttf') format('truetype'), /* Safari, Android, iOS */
       url('fonts/source-sans-3-v8-latin-700.svg#SourceSans3') format('svg'); /* Legacy iOS */
}
/* source-sans-3-italic - latin */
@font-face {
  font-family: 'Source Sans 3';
  font-style: italic;
  font-weight: 400;
  src: url('fonts/source-sans-3-v8-latin-italic.eot'); /* IE9 Compat Modes */
  src: local(''),
       url('fonts/source-sans-3-v8-latin-italic.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('fonts/source-sans-3-v8-latin-italic.woff2') format('woff2'), /* Super Modern Browsers */
       url('fonts/source-sans-3-v8-latin-italic.woff') format('woff'), /* Modern Browsers */
       url('fonts/source-sans-3-v8-latin-italic.ttf') format('truetype'), /* Safari, Android, iOS */
       url('fonts/source-sans-3-v8-latin-italic.svg#SourceSans3') format('svg'); /* Legacy iOS */
}
/* source-sans-3-700italic - latin */
@font-face {
  font-family: 'Source Sans 3';
  font-style: italic;
  font-weight: 700;
  src: url('fonts/source-sans-3-v8-latin-700italic.eot'); /* IE9 Compat Modes */
  src: local(''),
       url('fonts/source-sans-3-v8-latin-700italic.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('fonts/source-sans-3-v8-latin-700italic.woff2') format('woff2'), /* Super Modern Browsers */
       url('fonts/source-sans-3-v8-latin-700italic.woff') format('woff'), /* Modern Browsers */
       url('fonts/source-sans-3-v8-latin-700italic.ttf') format('truetype'), /* Safari, Android, iOS */
       url('fonts/source-sans-3-v8-latin-700italic.svg#SourceSans3') format('svg'); /* Legacy iOS */
}

/* Text-Balancer */

.balance-text {
  visibility: hidden;
}

@media (scripting: none) {
  .balance-text {
    visibility: visible;
  }
}

@supports (text-wrap: balance) {
  .balance-text {
    text-wrap: balance;
    visibility: visible;
  }
}

/* Body */

body {
  margin: 6em auto;
  max-width: 36em;
  line-height: 1.6;
  color: var(--text);
  background-color: var(--bg);
  padding: 0 10vw;
  font-family: 'Source Sans 3', 'Source Sans Pro', 'Open Sans', sans;
  font-size: 20px;
  word-wrap: break-word;
}

/* Headings */

h1,
h2 {
  font-family: "Playfair Display", serif;
}

/* should be .header-text */
h1 {
  font-style: italic;
  font-size: 2.2em;
  margin: 0;
}

h2 {
  font-size: 1.6em;
}

/* Header */

header {
  display: flex;
}

.header-image {
  padding-right: 1.5em;
}

.header-image img {
  width: 8em;
  height: 8em;
  border-radius: 100%;
  box-shadow: 0px 0px 50px -15px rgba(0, 0, 0, 0.5);
}

.aboutme-text {
  width: 100%;
  margin: 0;
  margin-top: 0.5em;
}

/* Buttons */

button {
  background: transparent;
  box-shadow: none;
  border: none;
  border-radius: 100%;
  transition: .6s ease;
  box-shadow: 0px 0px 0px transparent;
  text-shadow: 0px 0px 0px transparent;
}

button:hover {
  border: none;
  cursor: pointer;
  outline: 0;
  background: hsl(0 0% 50% / 0.15);
  transition: .6s ease;
  box-shadow: 0px 0px 0px transparent;
  text-shadow: 0px 0px 0px transparent;
}

button:active {
  outline: none;
  border: none;
}

button:focus {
  outline: 0;
}

header button {
  float: right;
  margin-top: 1.2em;
  height: 3em;
  width: 3em;
}

/* Theme changer button */

#theme-toggle {
  color: #383838;
}

.sun {
  display: none;
  width: 20px;
  height: 20px;
}

.moon {
  display: inline;
}

/* Dotted divider */

hr {
  color: var(--alt-colour);
  position: relative;
  bottom: 8px;
  display: flex;
  border: 0.2em dotted;
  padding: 0.06em;
  margin: 2.25em;
  z-index: -1;
}

/* lists */

li {
  line-height: 2;
}

/* links */
a,
a:visited {
  color: var(--link);
  transition: .2s ease;
}

a:hover {
  color: var(--link-hover);
  transition: .2s ease;
}

.outside::after {
  content: "";
  background-image: url("data:image/svg+xml,<svg viewBox='0 0 20 20' fill='%230066cc' xmlns='http://www.w3.org/2000/svg'>  <path fill-rule='evenodd' d='M8.636 3.5a.5.5 0 0 0-.5-.5H1.5A1.5 1.5 0 0 0 0 4.5v10A1.5 1.5 0 0 0 1.5 16h10a1.5 1.5 0 0 0 1.5-1.5V7.864a.5.5 0 0 0-1 0V14.5a.5.5 0 0 1-.5.5h-10a.5.5 0 0 1-.5-.5v-10a.5.5 0 0 1 .5-.5h6.636a.5.5 0 0 0 .5-.5z'/><path fill-rule='evenodd' d='M16 .5a.5.5 0 0 0-.5-.5h-5a.5.5 0 0 0 0 1h3.793L6.146 9.146a.5.5 0 1 0 .708.708L15 1.707V5.5a.5.5 0 0 0 1 0v-5z'/></svg>");
  display: inline-block;
  position: relative;
  width: 0.85em;
  height: 0.85em;
  top: 0.25em;
  left: 0.15em;
}

.down::after {
  content: "";
  background-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' fill='%230066cc' viewBox='0 0 18 18'><path fill-rule='evenodd' d='M8 1a.5.5 0 0 1 .5.5v11.793l3.146-3.147a.5.5 0 0 1 .708.708l-4 4a.5.5 0 0 1-.708 0l-4-4a.5.5 0 0 1 .708-.708L7.5 13.293V1.5A.5.5 0 0 1 8 1z'/></svg>");
  display: inline-block;
  position: relative;
  width: 1em;
  height: 1em;
  top: 0.3em;
}

sup a {
  text-decoration: none;
}

/* Footer */

.main-footer p {
  margin: 6em 0 0 0;
  color: var(--footer);
  font-size: 0.95em;
}

/* Mobile */

/* @media only screen and (max-height: 900px) { */
/*   body { */
/*     margin: 3em auto 8vw auto; */
/*   } */
/* } */

@media screen and (max-width: 550px) {
  header {
    display: block;
    top: 0;
    background-color: white;
  }
  header button {
    margin-top: 1em;
    float: right;
    height: 3em;
    width: 3em;
  }
  body {
    margin: 3em auto 10vw auto;
    top: 0;
    background-color: var(--bg);
  }
}
