* {
  box-sizing: border-box;
}
body {
  text-align: center;
  width: 100%;
  padding: 10px;

  display: flex;
  flex-direction: column;
  align-items: center;

  font-family: 'Roboto', sans-serif;
  font-weight: 300;
  font-size: 20px;
  letter-spacing: 0.01em;

  line-height: 1.3;
}
body > * + * {
  margin-top: 1em;
}

.emojis {
  width: 100%;
  display: none;
  font-size: 8rem;
  margin: 5px auto;
}

.h1-accents {
  display: inline;
}

h1,
h2,
h3,
h4 {
  margin: 0;
  font-family: 'Roboto', sans-serif;
  font-weight: 700;
}

h1 {
  font-size: 2.6em;
  width: 100%;
  white-space: nowrap;
  overflow: hidden;
}

h2 {
  font-size: 2em;
}

h3 {
  font-size: 1.17em;
}

h4 {
  font-size: 1em;
}

.text {
  max-width: 700px;
}
.text > * + * {
  margin-top: 1em;
}
img.splash {
  /* Set rules to fill background */
  min-height: 100%;
  max-width: 1000px;

  /* Set up proportionate scaling */
  width: 100%;
  height: auto;
}

hr {
  border-top: 4px double red;
  border-left: none;
  border-right: none;
  width: 70%;
  margin: 20px auto;
}

.logo {
  margin-bottom: 1em;
}

.contact {
  width: 500px;
  background-color: #ffe6a8;
  padding: 20px;
  margin: 2em 0 0 0;
}
.contact > * + * {
  margin-top: 0.5em;
}

.special {
  border: 4px double red;
  width: 700px;
  padding: 20px;
  margin: 2em 0 0 0;
}
.special > * + * {
  margin-top: 0.5em;
}
.special > div {
  font-size: 1rem;
}

.contact > h2 {
  margin-bottom: 0.5em;
}

a:link {
  text-decoration: none;
  color: #0000ee;
}

a:visited {
  text-decoration: none;
  color: #0000ee;
}

a:hover {
  color: red;
}

.note {
  font-style: italic;
}

.note > span {
  font-weight: 700;
}

.socials {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  width: 150px;
  margin: 0 auto;
}
.social-link {
  height: 64px;
  width: 64px;
  transition: opacity 0.2s;
}
.social-link:hover {
  opacity: 0.7;
  transition: opacity 0.2s;
}

.updates {
  width: 300px;
  background-color: #eee;
  padding: 20px;
  margin: 2em 0 0 0;
}
.updates > * + * {
  margin-top: 0.5em;
}

.new {
  color: red;
}

.special-flex {
  display: flex;
  justify-content: center;
  align-items: center;
}

.special-flex img {
  max-height: 70px;
}

.special-flex a {
  color: darkslategray;
}

.special-flex a:hover {
  color: red;
}

.special-flex > * + * {
  margin-left: 1.5em;
}

.secret {
  font-family: monospace, sans-serif;
  color: #aaa;
  margin-top: 12em;
  position: relative;
  bottom: -10px;
}

.oswald {
  position: relative;
  bottom: -10px;
}

.oswald img {
  position: relative;
  bottom: -10px;
  width: 550px;
}

@media only screen and (max-device-width: 480px) {
  .contact {
    width: 80%;
    font-size: 2.4rem;
  }
  .special {
    width: 80%;
  }
  .special > div {
    font-size: 30px;
  }
  .emojis {
    display: block;
  }
  .h1-accents {
    display: none;
  }
  body {
    font-size: 40px;
    font-weight: 400;
  }
  h1 {
    font-size: 2em;
  }
  h2 {
    /* font-size: 1.17em; */
  }
  .special-flex img {
    max-height: 100px;
  }
  .special-flex > * + * {
    margin-left: 0.5em;
  }
  .text {
    max-width: 100%;
  }
  .updates {
    width: 80%;
    font-size: 32px;
    padding: 30px;
  }
  .socials {
    width: 300px;
  }
  .social-link {
    height: 128px;
    width: 128px;
  }
  .note {
    font-size: 1.6rem;
  }
  .oswald img {
    width: 80%;
  }
}
