@font-face {
  font-family: happytimes;
  src: url(happy-times-NG_regular_master_web.woff2);
}

@font-face {
  font-family: work-black;
  src: url(WorkSans-ExtraBold.woff2);
}

@font-face {
  font-family: work-medium;
  src: url(VG5000-Regular_web.woff2);
}

:root {
  font-size: 28px;
}

* {
  border: 0;
  outline: 0;
  margin: 0;
  word-break: keep-all;
  font-size: 1rem;
  line-height: 1.2rem;
  font-weight: normal;
  font-family: happytimes, sans-serif;
}

/*
  UTILITY START
*/

.width-100 {
  width: 100%;
}
.pos-fix {
  position: fixed;
}

.pos-abs {
  position: absolute;
}

.pos-rel {
  position: relative;
}

.pt {
  padding-top: .425rem;
}

.pb {
  padding-bottom: .425rem;
}

.mlr {
  margin-left: .425rem;
  margin-right: .425rem;
}

.mb-l {
  margin-bottom: 9rem;
}

.mb-m {
  margin-bottom: 2.25rem;
}

.mb-s {
  margin-bottom: 1.2rem;
}

.dis-flx {
  display: flex;
}

.flx-1 {
  flex: 1;
}

.flx-3 {
  flex: 3;
}

.h-10 {
  height: 10rem;
}

.bt {
  border-top: 1px solid black;
}

main {
  border-top: 1px solid black;
}

.col-gap {
  column-gap: .425rem
}

.ali-itm-end {
align-items: flex-end;
}

.bg-fade-top {
  background-image: -moz-linear-gradient(top, rgba(255, 243, 172, 1), rgba(255, 249, 213, .9), rgba(255, 255, 255, 0));
  background-image: -ms-linear-gradient(top, rgba(255, 243, 172, 1), rgba(255, 249, 213, .9), rgba(255, 255, 255, 0));
  background-image: -webkit-linear-gradient(top, rgba(255, 243, 172, 1), rgba(255, 249, 213, .9), rgba(255, 255, 255, 0));
  background-image: -o-linear-gradient(top, rgba(255, 243, 172, 1), rgba(255, 249, 213, .9), rgba(255, 255, 255, 0));
  background-image: linear-gradient(, rgba(255, 243, 172, 1), rgba(255, 249, 213, .9), rgba(255, 255, 255, 0));
  background-repeat: repeat-x;
}

.bg-fade-bottom {
  background-image: -moz-linear-gradient(bottom, rgba(255, 243, 172, 1), rgba(255, 255, 255, 0));
  background-image: -ms-linear-gradient(bottom, rgba(255, 243, 172, 1), rgba(255, 255, 255, 0));
  background-image: -webkit-linear-gradient(bottom, rgba(255, 243, 172, 1), rgba(255, 255, 255, 0));
  background-image: -o-linear-gradient(bottom, rgba(255, 243, 172, 1), rgba(255, 255, 255, 0));
  background-image: linear-gradient(, rgba(255, 243, 172, 1), rgba(255, 255, 255, 0));
  background-repeat: repeat-x;
}

.font-work {
  font-family: work-medium, sans-serif;
}
/*
  UTILITY END
*/

a:hover, a:active, a:link, a:visited {
  text-decoration: none;
  overflow: hidden;
  text-shadow: 10px 10px 10px #FFEAAC, -10px -10px 10px #FFEAAC, 10px -10px 10px #FFEAAC, -10px 10px 10px #FFEAAC;
  cursor: pointer;
  color: black;
}

ul {
  padding-inline-start: 1rem;
}

footer a:link {
  text-decoration: none;
  font-family: work-medium, sans-serif;
  font-size: inherit;
  font-weight: bold;
  text-shadow: none;
  cursor: pointer;
  color: black;
  line-height: .7rem;
}

h1 a:link {
  font-family: work-black;
  font-size: 1.075rem;
  line-height: 1.125rem;
}

footer {
  bottom: 0px;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='rgba(255, 243, 172, 1)', endColorstr='rgba(255, 255, 255, 0)', GradientType=1);
}

footer p {
  font-family: work-medium, sans-serif;
  font-size: .55rem;
  font-weight: bold;
  line-height: .7rem;
}

footer div {
  display: flex;
  align-items: flex-end;
  column-gap: .425rem;
  flex: 3
}

@media only screen and (max-width: 1200px) {
  :root {
    font-size: 22px;
  }

  h1 {
    font-size: 1.1rem;
    line-height: 1.2rem;
  }

  footer p {
    font-size: .65rem;
    line-height: .8rem;
  }
}

@media only screen and (max-width: 768px) {
  :root {
    font-size: 18px;
  }

  header {
    height: 12rem;
  }

  #header-wrapper {
    flex-direction: column;
    margin: 0 .7rem;
    padding-top: .7rem;
    column-gap: .7rem;
  }

  #title, #subtitle {
    flex: inherit;
  }

  #subtitle {
    margin-top: 1.75rem;
  }

  main {
    padding-top: .7rem;
    margin: 0 .7rem 4rem;
    border-top: unset;
  }

.mb-l {
  margin-bottom: 4rem;
}

  article {
    border-top: 1px solid black;
    flex-direction: column;
    row-gap: 1.2rem;
    margin-bottom: 3rem;
    padding-top: .7rem;
  }

  footer {
    position: relative !important;
  }

  footer div {
    flex-direction: column-reverse !important;
    align-items: flex-start !important;
  }

  #footer-wrapper {
    margin: 0 .7rem;
    padding: .7rem 0;
  }

  footer div {
    column-gap: .7rem;
  }

  footer p {
    font-size: .75rem;
    line-height: .9rem;
    margin-top: 1.125rem;
  }

}
