html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
}

/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block;
}

body {
  line-height: 1;
}

ol, ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

blockquote:before, blockquote:after,
q:before, q:after {
  content: "";
  content: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

/* //////////////////////////////////////////////////////////////////////////
    TYPOGRAPHY
////////////////////////////////////////////////////////////////////////// */
html {
  text-rendering: optimizeLegibility;
}

.margin-top-small {
  margin-top: 0.5rem !important;
}

.padding-bottom-0 {
  padding-bottom: 0 !important;
}

.relative {
  position: relative;
}

.overflow-hidden {
  overflow: hidden;
}

.bold {
  font-variation-settings: "wght" 580;
}

.capitalize {
  text-transform: capitalize;
}

.visually-hidden {
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  height: 1px;
  overflow: hidden;
  position: absolute;
  white-space: nowrap;
  width: 1px;
}

.inline-block {
  display: inline-block;
}

.center {
  text-align: center;
}

.inline-block {
  display: inline-block;
}

.text-wrap-balance {
  text-wrap: balance;
}

.text-wrap-pretty {
  text-wrap: pretty;
}

.center-text {
  text-align: center;
}

@media screen and (min-width: 40rem) {
  .u-show-small {
    display: none;
  }
}

@media screen and (max-width: 40rem) {
  .u-show-medium {
    display: none;
  }
}

.wrapper-full {
  padding-left: 1rem;
  padding-right: 1rem;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (min-width: 25rem) {
  .wrapper-full {
    padding-left: 1.25rem;
    padding-right: 1.25rem;
  }
}
@media screen and (min-width: 30rem) {
  .wrapper-full {
    padding-left: 1.25rem;
    padding-right: 1.25rem;
  }
}
@media screen and (min-width: 68.75rem) {
  .wrapper-full {
    padding-left: 2rem;
    padding-right: 2rem;
  }
}
.wrapper-wide {
  padding-left: 1rem;
  padding-right: 1rem;
  margin-left: auto;
  margin-right: auto;
  max-width: 61.25rem;
}
@media screen and (min-width: 25rem) {
  .wrapper-wide {
    padding-left: 1.25rem;
    padding-right: 1.25rem;
  }
}
@media screen and (min-width: 30rem) {
  .wrapper-wide {
    padding-left: 2rem;
    padding-right: 2rem;
  }
}
@media screen and (min-width: 40rem) {
  .wrapper-wide {
    padding-left: 3.25rem;
    padding-right: 3.25rem;
  }
}
@media screen and (min-width: 68.75rem) {
  .wrapper-wide {
    padding-left: 3.75rem;
    padding-right: 3.75rem;
  }
}
.wrapper-regular {
  padding-left: 1rem;
  padding-right: 1rem;
  margin-left: auto;
  margin-right: auto;
  max-width: 49.125rem;
}
@media screen and (min-width: 25rem) {
  .wrapper-regular {
    padding-left: 1.25rem;
    padding-right: 1.25rem;
  }
}
@media screen and (min-width: 30rem) {
  .wrapper-regular {
    padding-left: 2rem;
    padding-right: 2rem;
  }
}
@media screen and (min-width: 40rem) {
  .wrapper-regular {
    padding-left: 4.375rem;
    padding-right: 4.375rem;
  }
}
@media screen and (min-width: 68.75rem) {
  .wrapper-regular {
    padding-left: 3.75rem;
    padding-right: 3.75rem;
  }
}
.py-m {
  padding-top: 2.5rem;
  padding-bottom: 2.5rem;
}
@media screen and (min-width: 40rem) {
  .py-m {
    padding-top: 4rem;
  }
}
@media screen and (min-width: 68.75rem) {
  .py-m {
    padding-top: 5.625rem;
  }
}
@media screen and (min-width: 40rem) {
  .py-m {
    padding-bottom: 4rem;
  }
}
@media screen and (min-width: 68.75rem) {
  .py-m {
    padding-bottom: 5.625rem;
  }
}

.pt-m {
  padding-top: 2.5rem;
}
@media screen and (min-width: 40rem) {
  .pt-m {
    padding-top: 4rem;
  }
}
@media screen and (min-width: 68.75rem) {
  .pt-m {
    padding-top: 5.625rem;
  }
}

.pb-m {
  padding-bottom: 2.5rem;
}
@media screen and (min-width: 40rem) {
  .pb-m {
    padding-bottom: 4rem;
  }
}
@media screen and (min-width: 68.75rem) {
  .pb-m {
    padding-bottom: 5.625rem;
  }
}

.py-s {
  padding-top: 1.75rem;
  padding-bottom: 1.75rem;
}
@media screen and (min-width: 40rem) {
  .py-s {
    padding-top: 2.5rem;
  }
}
@media screen and (min-width: 68.75rem) {
  .py-s {
    padding-top: 4rem;
  }
}
@media screen and (min-width: 40rem) {
  .py-s {
    padding-bottom: 2.5rem;
  }
}
@media screen and (min-width: 68.75rem) {
  .py-s {
    padding-bottom: 4rem;
  }
}

.pt-s {
  padding-top: 1.75rem;
}
@media screen and (min-width: 40rem) {
  .pt-s {
    padding-top: 2.5rem;
  }
}
@media screen and (min-width: 68.75rem) {
  .pt-s {
    padding-top: 4rem;
  }
}

.pb-s {
  padding-bottom: 1.75rem;
}
@media screen and (min-width: 40rem) {
  .pb-s {
    padding-bottom: 2.5rem;
  }
}
@media screen and (min-width: 68.75rem) {
  .pb-s {
    padding-bottom: 4rem;
  }
}

@view-transition {
  navigation: auto;
}
::view-transition-group(root) {
  animation-duration: 0.2s;
}

html {
  height: 100%;
  font-size: 100%;
  font-family: "figtree", -apple-system, BlinkMacSystemFont, sans-serif;
}
@media screen and (min-width: 40rem) {
  html {
    font-size: 1.2rem;
  }
}
@media screen and (min-width: 68.75rem) {
  html {
    font-size: 1rem;
  }
}
@media screen and (max-height: 1000px) and (min-width: 68.75rem) {
  html {
    font-size: 0.9rem;
  }
}

.visually-hidden {
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  height: 1px;
  overflow: hidden;
  position: absolute;
  white-space: nowrap;
  width: 1px;
}

body {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  color: #111;
  font-family: "figtree", -apple-system, BlinkMacSystemFont, sans-serif;
  font-variation-settings: "wght" 400;
  font-size: 1.125rem;
  line-height: 1.625rem;
  hyphens: manual;
}
@media screen and (min-width: 68.75rem) {
  body {
    font-size: 1.3125rem;
    line-height: 2rem;
  }
}

.body-wrapper {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}

main {
  flex: 1; /* This pushes the footer to the bottom */
  /* HTML5 display-role reset for older browsers */
  text-wrap: pretty;
}
main div, main span, main applet, main object, main iframe,
main h1, main h2, main h3, main h4, main h5, main h6, main p, main blockquote, main pre,
main a, main abbr, main acronym, main address, main big, main cite, main code,
main del, main dfn, main em, main img, main ins, main kbd, main q, main s, main samp,
main small, main strike, main strong, main sub, main sup, main tt, main var,
main b, main u, main i, main center,
main dl, main dt, main dd, main ol, main ul, main li,
main fieldset, main form, main label, main legend,
main table, main caption, main tbody, main tfoot, main thead, main tr, main th, main td,
main article, main aside, main canvas, main details, main embed,
main figure, main figcaption, main footer, main header, main hgroup,
main menu, main nav, main output, main ruby, main section, main summary,
main time, main mark, main audio, main video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
}
main article, main aside, main details, main figcaption, main figure,
main footer, main header, main hgroup, main menu, main nav, main section {
  display: block;
}
main ol, main ul {
  list-style: none;
}
main blockquote, main q {
  quotes: none;
}
main blockquote:before, main blockquote:after,
main q:before, main q:after {
  content: "";
  content: none;
}
main table {
  border-collapse: collapse;
  border-spacing: 0;
}

a {
  text-decoration-thickness: 2px;
  text-decoration-color: #EE0908;
  text-underline-offset: 3px;
  transition: color 0.2s ease-in-out, background-color 0.2s ease-in-out, background-image 0.2s ease-in-out, background-position 0.2s ease-in-out, border-color 0.2s ease-in-out, box-shadow 0.2s ease-in-out, outline-color 0.2s ease-in-out, transform 0.2s ease-in-out, text-underline-offset 0.2s ease-in-out, text-decoration-color 0.2s ease-in-out, width 0.2s ease-in-out, height 0.2s ease-in-out;
  color: #111;
}
a:hover {
  text-underline-offset: 2px;
  text-decoration-color: rgba(238, 9, 8, 0.35);
}
a:focus {
  border-color: transparent;
  outline: none;
  box-shadow: 0 0 0 3px rgba(238, 9, 8, 0.4);
}

main h1 {
  font-weight: bold !important;
}

footer {
  color: #111;
  background-color: #FDF7F7;
  margin-top: 2.75rem;
}
@media screen and (min-width: 68.75rem) {
  footer {
    margin-top: 6.25rem;
  }
}

.footer__curve {
  width: 100%; /* or a fixed width like 700px */
  aspect-ratio: 1400/108;
  background-image: url("/assets/images/curve.svg");
  background-position: 0 0;
  background-repeat: no-repeat;
  background-size: 100%;
  position: relative;
  top: -1px;
}

.footer__content {
  margin: 0 auto;
  margin-top: -0.625rem;
  padding: 0;
  max-width: 64.75rem;
  padding: 0 0.375rem;
}
@media screen and (min-width: 40rem) {
  .footer__content {
    padding: 0 2.5rem;
  }
}

.footer__content {
  padding-top: 2.5rem;
  padding-bottom: 2.5rem;
}
@media screen and (min-width: 68.75rem) {
  .footer__content {
    padding-top: 5rem;
    padding-bottom: 5rem;
    display: flex;
    width: 100%;
    justify-content: space-between;
  }
}

@media screen and (min-width: 68.75rem) {
  footer p {
    display: inline-block;
  }
}

footer a {
  color: #111;
  text-decoration-color: #EE0908;
}
footer a:hover, footer a:focus {
  text-decoration-color: rgba(238, 9, 8, 0.35);
}

@media screen and (min-width: 68.75rem) {
  .btg {
    position: relative;
    padding-left: 2.75rem;
  }
}

.btg__logo {
  background-image: url("/assets/images/thumbs.svg");
  background-position: 0 0;
  background-size: 100%;
  background-repeat: no-repeat;
  display: block;
  width: 36px;
  height: 38px;
  margin: 0 auto;
  margin-bottom: 0.5rem;
  text-indent: -99999em;
}
@media screen and (min-width: 68.75rem) {
  .btg__logo {
    display: inline-block;
    width: 36px;
    height: 38px;
    position: absolute;
    left: 0;
    top: -0.25rem;
  }
}

.footer__left {
  text-align: center;
}
@media screen and (min-width: 68.75rem) {
  .footer__left {
    margin-top: 12px;
    text-align: left;
  }
}

.social-links {
  display: flex;
  justify-content: center;
  gap: 0.25rem;
  margin-top: 2.5rem;
}
@media screen and (min-width: 68.75rem) {
  .social-links {
    justify-content: right;
    margin-top: 0;
  }
}

.social-link a {
  display: block;
  background-position: center center;
  background-repeat: no-repeat;
  text-indent: -99999em;
  width: 3rem;
  height: 3rem;
  background-size: 2.125rem;
  border-radius: 62499.9375rem;
}
.social-link a:hover, .social-link a:focus {
  background-color: rgba(238, 9, 8, 0.25);
}

.social-link--mastodon a {
  background-image: url("/assets/images/social/mastodon.svg");
}

.social-link--x a {
  background-image: url("/assets/images/social/x.svg");
}

.social-link--bluesky a {
  background-image: url("/assets/images/social/bluesky.svg");
}

.social-link--instagram a {
  background-image: url("/assets/images/social/instagram.svg");
}

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