header {
  align-items: flex-end;
  display: flex;
  flex-direction: column;
  justify-content: center;
  margin: 0;
  padding: 1rem 0;
  width: 100%; }
  header h1 {
    font-size: 2.5rem;
    margin: 0; }
  header nav {
    align-items: center;
    display: flex;
    flex-direction: row;
    justify-content: center;
    margin: 0;
    padding: 0; }
    @media screen and (max-width: 700px) {
      header nav {
        flex-direction: column;
        align-items: flex-end; } }
    header nav a {
      color: #333;
      font-size: 1.2rem;
      margin: 0 1rem;
      text-decoration: none; }
      header nav a:hover {
        text-decoration: underline; }

footer {
  max-width: 50rem;
  width: 100%;
  padding: 1rem;
  display: flex; }
  footer > section {
    flex: 1; }
  footer nav {
    display: flex;
    flex: 1; }
    footer nav section {
      display: flex;
      flex-direction: column;
      align-items: flex-start;
      justify-content: flex-end;
      padding: 0.5rem;
      white-space: nowrap; }
      footer nav section a {
        text-decoration: none;
        margin-bottom: 0.5rem; }

section.main-heading {
  color: #333;
  align-items: center;
  display: flex;
  flex-direction: column;
  justify-content: center;
  margin-bottom: 2rem;
  width: 100%;
  min-height: 170px;
  overflow-x: hidden;
  text-align: center; }
  section.main-heading h2 {
    font-size: 2.5rem;
    margin: 0;
    margin-top: 2rem; }
    @media screen and (max-width: 500px) {
      section.main-heading h2 {
        font-size: 1.3rem; } }
  section.main-heading p {
    font-size: 1.5rem;
    color: gray;
    margin: 0;
    margin-bottom: 2rem; }
    @media screen and (max-width: 500px) {
      section.main-heading p {
        font-size: 0.8rem; } }
  section.main-heading .color-strip {
    position: relative;
    width: 100%;
    height: 5px; }
    section.main-heading .color-strip:after {
      height: 5px;
      left: 0%;
      right: -100%;
      top: -1rem;
      bottom: -1rem;
      position: absolute;
      content: "";
      background-image: linear-gradient(to right, #f44336, #e91e63, #9c27b0, #673ab7, #3f51b5, #2196f3, #03a9f4, #00bcd4, #009688, #4caf50, #8bc34a, #cddc39, #ffeb3b, #ffc107, #ff9800, #ff5722, #f44336, #f44336, #e91e63, #9c27b0, #673ab7, #3f51b5, #2196f3, #03a9f4, #00bcd4, #009688, #4caf50, #8bc34a, #cddc39, #ffeb3b, #ffc107, #ff9800, #ff5722, #f44336);
      margin: 1rem 0;
      animation: animate 60s linear infinite; }

@keyframes animate {
  0% {
    transform: translateX(0%); }
  100% {
    transform: translateX(-50%); } }

main {
  align-items: center;
  display: flex;
  flex-direction: column;
  justify-content: center;
  margin-bottom: 2rem;
  width: 100%;
  padding: 0 1rem; }
  main article {
    max-width: 50rem;
    padding: 0 1rem; }
    main article section h2 {
      font-size: 1.5rem;
      margin: 0; }
    main article section ul li {
      list-style: none;
      margin-bottom: 1rem; }
      main article section ul li:last-child {
        margin-bottom: 0; }

* {
  box-sizing: border-box; }

body {
  background-color: #f5f5f5;
  color: #333;
  font-family: sans-serif;
  font-size: 1.2rem;
  line-height: 1.5;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  height: 100vh; }
  @media screen and (max-width: 469px) {
    body {
      font-size: 1rem; } }
a {
  color: #333;
  text-decoration: none; }
  a:hover {
    text-decoration: underline; }

blockquote {
  border-left: 0.5rem solid #40a4a7;
  background-color: #eee;
  margin: 0;
  padding: 0.5rem 1rem; }

/*# sourceMappingURL=base.css.map */