:root {
  --color-equator: #E1BB6A;
  --color-sand: #E6C580;
  --color-peach: #F9E2AF;
  --color-thunder: #251f20;
  --color-ebony: #080914;
  --color-error: #C31515;
  --color-success: #197A19;
  --color-mono-black: #000000;
  --color-mono-white: #FFFFFF;
  --color-gallery: #EEEEEE99;
}

/**
 * CMS
 * 
 * Handles styles for CMS output content.
 */
.align_left {
  text-align: left !important;
}

.align_center {
  text-align: center !important;
}

.align_right {
  text-align: right !important;
}

.dialog {
  background-color: var(--color-ebony);
  border-color: var(--color-equator);
  color: var(--color-mono-white);
  max-width: 50%;
}

.dialog::backdrop {
  background-color: rgba(0, 0, 0, 0.6);
}

.dialog .button-primary svg {
  width: 1rem;
  height: 1rem;
  vertical-align: center;
}

/* inherited from old version of the site */
button {
  font-family: inherit;
}

.button-primary {
  padding: 0.75rem;
  background-color: var(--color-equator);
  border: 0.0625rem solid var(--color-equator);
  box-shadow: 0 0 0.2rem transparent;
  color: var(--color-mono-black);
  font-weight: 700;
  font-size: 1.125rem;
}
.button-primary:hover, .button-primary:focus {
  background-color: var(--color-sand);
  box-shadow: 0 0 0.2rem var(--color-peach);
}

.button-primary-outline {
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  font-weight: 400;
  background-color: transparent;
  color: var(--color-equator);
}

.button-primary-outline:hover,
.button-primary-outline:focus {
  color: var(--color-mono-black);
}

.button-fancy {
  padding: 0.75rem;
  background-color: var(--color-equator);
  border: 0.0625rem solid var(--color-equator);
  box-shadow: 0 0 0.2rem transparent;
  color: var(--color-mono-black);
  font-weight: 700;
  font-size: 1.125rem;
  border: none;
  font-weight: 700;
  display: inline-flex;
  align-items: center;
  height: 3.3125rem;
  width: 18.125rem;
  text-align: left;
  padding: 0.1875rem 8.125rem 0.1875rem 1.875rem;
  font-size: 1rem;
  clip-path: path("	M 26.6, 0 	L 182.5,	0 	L 155.9,	26.5 	L 182.5,	53 	L 26.6,		53 	L 0,		26.5 	Z 	M 189.5, 0 	L 290, 26.5 	L 189.5, 53 	L 162.9, 26.5 	Z");
}
.button-fancy:hover, .button-fancy:focus {
  background-color: var(--color-sand);
  box-shadow: 0 0 0.2rem var(--color-peach);
}

a.button-fancy {
  text-decoration: none;
}

/* For if we want a button to look like a hyperlink e.g. the Avatar Credits */
.button-link {
  background: none;
  border: none;
  padding: 0;
  margin: 0;
  font-size: inherit;
  color: var(--color-equator);
}

/* inherited from old version of the site */
.header {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  text-align: center;
  padding: 1rem;
}

.header-logo {
  order: 2;
  flex: 0 0 calc(100% - 3rem);
  width: calc(100% - 3rem);
}

.header .logo-mobile {
  max-height: 6.25rem;
  margin-right: 3rem;
}

.header .menu-toggle {
  order: 1;
  flex: 0 0 auto;
  width: 3rem;
}

.header .menu {
  order: 3;
  flex: 1 0 auto;
  width: 100%;
}

.header .menu-item a {
  display: block;
  font-weight: 700;
  padding: 0.5rem 0;
  letter-spacing: 4px;
  border-bottom: 2px solid transparent;
}

.header .menu-item a:hover,
.header .menu-item a:focus {
  border-bottom-color: var(--color-equator);
  text-decoration: none;
}

@media (max-width: calc(60rem - 1px)) {
  .header .logo-desktop,
  .header .menu {
    display: none;
  }
  .menu-toggle-checkbox:checked + .menu {
    display: block;
  }
  .header .menu-item:hover,
  .header .menu-item:focus {
    border-bottom-color: var(--color-equator);
  }
  .header .menu-item a:hover,
  .header .menu-item a:focus {
    text-decoration: none;
  }
}
@media (min-width: 60rem) {
  .header {
    flex-wrap: nowrap;
    text-align: left;
  }
  .header .logo-mobile,
  .header .menu-toggle {
    display: none;
  }
  .header-logo {
    order: 1;
    width: 45%;
    flex: 1 0 auto;
  }
  .header .logo-desktop {
    max-height: 6.25rem;
  }
  .header .menu {
    font-size: 1.33125rem;
  }
  .header .menu ul {
    width: 40%;
    display: flex;
    justify-content: space-between;
  }
  .menu-item.contact-link a {
    border-bottom: 0;
    color: var(--color-mono-black);
    letter-spacing: initial;
    padding: 0.75rem;
    background-color: var(--color-equator);
    border: 0.0625rem solid var(--color-equator);
    box-shadow: 0 0 0.2rem transparent;
    color: var(--color-mono-black);
    font-weight: 700;
    font-size: 1.125rem;
    border: none;
    font-weight: 700;
    display: inline-flex;
    align-items: center;
    height: 3.3125rem;
    width: 18.125rem;
    text-align: left;
    padding: 0.1875rem 8.125rem 0.1875rem 1.875rem;
    font-size: 1rem;
    clip-path: path("	M 26.6, 0 	L 182.5,	0 	L 155.9,	26.5 	L 182.5,	53 	L 26.6,		53 	L 0,		26.5 	Z 	M 189.5, 0 	L 290, 26.5 	L 189.5, 53 	L 162.9, 26.5 	Z");
  }
  .menu-item.contact-link a:hover, .menu-item.contact-link a:focus {
    background-color: var(--color-sand);
    box-shadow: 0 0 0.2rem var(--color-peach);
  }
}
.footer {
  display: grid;
  gap: 0.5rem;
  background-color: var(--color-thunder);
  text-align: center;
  grid-template-areas: "logo" "external" "legal" "social" "avatar" "credits" "copyright" "toplink";
}

.block.footer {
  padding: 2rem;
}

.footer .logo {
  margin-bottom: 3rem;
}

.footer h4 {
  margin: 0.5rem 0;
}

.footer-logo {
  grid-area: logo;
}

.footer-external-links {
  grid-area: external;
}

.footer-legal {
  grid-area: legal;
}

.footer-social {
  grid-area: social;
}

.footer-copyright {
  grid-area: copyright;
}

.footer-avatar-credits {
  grid-area: avatar;
}

.footer-site-credits {
  grid-area: credits;
}

.footer-toplink {
  grid-area: toplink;
}

@media (min-width: 50rem) {
  .footer {
    grid-template-columns: repeat(2, 1fr);
    grid-template-areas: "logo logo" "external legal" "social copyright" "social avatar" "social credits" "toplink toplink";
  }
}
@media (min-width: 87.5rem) {
  .footer {
    grid-template-columns: 23.75rem repeat(4, 1fr);
    grid-template-areas: "logo external legal social copyright" "logo external legal social avatar" "logo external legal social credits" "toplink toplink toplink toplink toplink";
  }
  .block.footer {
    padding-left: 5vw;
    padding-right: 5vw;
  }
}
.contact {
  background-color: var(--color-mono-black);
  background-position: bottom right;
  background-repeat: no-repeat;
  background-size: contain;
}

.block.contact {
  padding: 4rem 3rem 10rem 3rem;
}

.contact-form .title-fancy {
  font-weight: 700;
}

@media (min-width: 50rem) {
  .contact {
    display: flex;
    gap: 1rem;
  }
  .contact > [class^=contact-] {
    width: calc(50% - 0.5rem);
  }
  .contact-social {
    order: 2;
  }
  .contact-form {
    order: 1;
  }
  .contact-form .title-fancy {
    margin-top: 0;
  }
}
@media (min-width: 87.5rem) {
  .block.contact {
    padding-bottom: 3rem;
  }
  .contact-form .title-fancy {
    font-size: 3.33125rem;
  }
}
.title-fancy {
  text-align: center;
  font-size: 2.375rem;
  letter-spacing: 0.4rem;
  color: var(--color-equator);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1rem;
}

.title-fancy-alt {
  flex-direction: column;
}

@media (max-width: calc(50rem - 1px)) {
  .title-fancy-graphic {
    display: none;
  }
  .title-fancy span {
    display: inline-block;
    margin-left: 0.4rem;
  }
}
.pattern-section-break {
  position: relative;
  height: 4.125rem;
  z-index: 1;
  background-image: url("/site/assets/images/hero-border.png");
  background-repeat: repeat-x;
  background-size: contain;
}

.pattern-section-break.top {
  transform: translateY(-50%);
  margin-top: 2rem;
}

.pattern-section-break.bottom {
  transform: translateY(50%);
  margin-bottom: 2rem;
}

.store-banner {
  position: relative;
}

.store-banner-logo {
  margin: 0 auto;
  filter: drop-shadow(0 0 0.5rem var(--color-mono-black));
}

.store-banner p {
  margin: 2rem 0;
}

.store-banner-image-wrapper {
  max-height: 27rem;
  overflow: hidden;
  position: relative;
  top: 5rem;
  text-align: center;
  margin-top: -3rem;
}

.store-banner-image {
  max-width: 30rem;
  width: 100%;
}

@media (max-width: calc(50rem - 1px)) {
  .store-banner .block {
    padding-bottom: 0;
  }
}
@media (min-width: 50rem) {
  .store-banner-content {
    display: flex;
    max-width: 80rem;
    margin: 0 auto;
  }
  .store-banner .pattern-section-break.bottom {
    z-index: 3;
  }
  .store-banner .block {
    order: 2;
    width: 60%;
  }
  .store-banner-image-wrapper {
    top: 0;
    margin-top: -5rem;
    margin-bottom: -5rem;
    order: 1;
    z-index: 2;
  }
  .store-banner-image {
    object-fit: cover;
    object-position: center top;
  }
}
.social-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  text-align: center;
  gap: 0.5rem 1rem;
}

.social-item {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background-image: url("/site/assets/images/social-icon-bg.png");
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  width: 4.6875rem;
  height: 4.6875rem;
}

.social-item svg {
  fill: var(--color-mono-black);
}

.social-item:hover,
.social-item:focus {
  transform: scale(1.1);
}

.field + .field {
  margin-top: 1rem;
}

.label {
  display: block;
  margin: 0.5rem 0;
}

.label svg {
  width: 0.875rem;
  height: 0.875rem;
}

.input {
  background-color: var(--color-ebony);
  border: 2px solid var(--color-equator);
  width: 100%;
  display: block;
  padding: 0.375rem 0.75rem;
  font-size: 1rem;
  font-family: inherit;
}
.input:not(:focus) {
  color: var(--color-mono-white);
}

.field .error {
  color: var(--color-error);
  font-size: 0.875rem;
  margin: 0.5rem 0 0;
}

.input::placeholder {
  color: var(--color-gallery);
}

.input:focus {
  background-color: var(--color-mono-white);
  outline: 0;
  box-shadow: 0 0 0.2rem var(--color-peach);
}

.input:focus::placeholder {
  color: var(--color-mono-white);
}

.input.email:user-invalid:empty ~ .error.invalid,
.input.email:user-invalid:not(:empty) ~ .error.empty,
.input:not(:user-invalid) ~ .error {
  display: none;
}

.input:user-invalid {
  border-color: var(--color-error);
  box-shadow: 0 0 0.2rem var(--color-error);
}

.input:user-valid {
  border-color: var(--color-success);
  box-shadow: 0 0 0.2rem var(--color-success);
}

.field.button {
  text-align: right;
}
@media screen and (min-width: 60rem) {
  .field.button {
    margin-top: 0;
  }
}

.button-primary svg {
  width: 1.25rem;
  height: 1.25rem;
}

.label svg,
.button-primary svg {
  vertical-align: center;
}

.no-display {
  display: none !important;
}

.no-list-style {
  list-style: none;
  margin: 0;
  padding: 0;
}

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

html {
  box-sizing: border-box;
}

html * {
  box-sizing: inherit;
}

body {
  padding: 0;
  margin: 0;
  font-family: "Century Gothic", Calibri, "Trebuchet MS", sans-serif;
  background-color: var(--color-ebony);
  color: var(--color-mono-white);
}

img {
  width: auto;
  max-width: 100%;
  height: auto;
  max-height: 100%;
}

a {
  color: var(--color-equator);
}

a:not(:hover) {
  text-decoration: none;
}

button {
  cursor: pointer;
}

blockquote {
  margin-left: 0;
  padding-left: 0.625rem;
  border-left: 0.375rem solid var(--color-equator);
}

h1,
h2,
h3,
h4,
h5,
h6 {
  margin-top: 0;
  margin-bottom: 0.5rem;
  font-weight: 500;
  line-height: 1.2;
}

h1 {
  font-size: calc(1.375rem + 1.5vw);
}

h2 {
  font-size: calc(1.325rem + 0.9vw);
}

h3 {
  font-size: calc(1.3rem + 0.6vw);
}

.admin-edit {
  background-color: crimson;
  color: white;
  text-align: center;
  width: 100%;
  padding: 0.5rem;
}

.admin-edit a {
  color: var(--color-ebony);
}

.header .logo {
  max-height: 6.25rem;
}

.main {
  padding: 1rem 0;
}

.block {
  padding: 1rem 1.5rem;
}

@media (min-width: 87.5rem) {
  h1 {
    font-size: 2.5rem;
  }
  h2 {
    font-size: 2rem;
  }
  h3 {
    font-size: 1.75rem;
  }
}