@media only screen and (min-width: 0px) {
  *,
*:before,
*:after {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    text-decoration: none;
    list-style: none;
    scroll-behavior: smooth;
    font-family: Arial, Helvetica, sans-serif;
  }

  html,
body,
header {
    max-width: 1920px;
    margin: 0 auto;
    padding: 0;
    overflow-x: hidden;
  }

  body.dark {
    background-color: #101010;
  }

  body {
    background-color: #290419;
  }

  h1,
a {
    font-family: Arial, Helvetica, sans-serif;
  }

  h2,
p {
    font-family: sans-serif, serif;
  }
}
@media only screen and (min-width: 0px) {
  @font-face {
    font-display: swap;
    font-family: "Great Vibes";
    font-style: normal;
    font-weight: 400;
    src: url("../assets/fonts/great-vibes-v19-latin-regular.woff2") format("woff2");
  }
  @font-face {
    font-display: swap;
    font-family: "Beau Neue";
    font-style: normal;
    font-weight: 400;
    src: url("./assets/fonts/bebas-neue-v14-latin-regular.woff2") format("woff2");
  }
  @font-face {
    font-display: swap;
    font-family: "Beau Rivage";
    font-style: normal;
    font-weight: 400;
    src: url("../assets/fonts/beau-rivage-v2-latin-regular.woff2") format("woff2");
  }
  @font-face {
    font-display: swap;
    font-family: "Beau Neue";
    font-style: normal;
    font-weight: 400;
    src: url("../assets/fonts/bebas-neue-v14-latin-regular.woff2") format("woff2");
  }
  /* poppins-regular - latin */
  @font-face {
    font-display: swap;
    font-family: "Poppins";
    font-style: normal;
    font-weight: 400;
    src: url("../assets/fontspoppins-v24-latin-regular.woff2") format("woff2");
    /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
  }
}
@media only screen and (min-width: 0px) {
  #hero h1 {
    letter-spacing: 2px;
  }

  #services,
#about,
#braids,
#makeup,
#wedding,
#wedding-other,
#reviews,
#knotless,
#box,
#crochet,
#premade-crochet,
#gallery,
#contact,
#gift-card {
    text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.75);
    color: white;
  }
  #services div[class*=header] h2,
#about div[class*=header] h2,
#braids div[class*=header] h2,
#makeup div[class*=header] h2,
#wedding div[class*=header] h2,
#wedding-other div[class*=header] h2,
#reviews div[class*=header] h2,
#knotless div[class*=header] h2,
#box div[class*=header] h2,
#crochet div[class*=header] h2,
#premade-crochet div[class*=header] h2,
#gallery div[class*=header] h2,
#contact div[class*=header] h2,
#gift-card div[class*=header] h2 {
    font-size: clamp(1.125em, 2.25vw, 1.5em);
    font-weight: lighter;
    font-family: "Beau Neue";
    letter-spacing: 1.25px;
    color: var(--gold);
    margin-bottom: 3px;
  }
  #services div[class*=header] h2 span,
#about div[class*=header] h2 span,
#braids div[class*=header] h2 span,
#makeup div[class*=header] h2 span,
#wedding div[class*=header] h2 span,
#wedding-other div[class*=header] h2 span,
#reviews div[class*=header] h2 span,
#knotless div[class*=header] h2 span,
#box div[class*=header] h2 span,
#crochet div[class*=header] h2 span,
#premade-crochet div[class*=header] h2 span,
#gallery div[class*=header] h2 span,
#contact div[class*=header] h2 span,
#gift-card div[class*=header] h2 span {
    position: relative;
    top: -2px;
    font-size: 0.75em;
  }
  #services div[class*=header] .topper,
#about div[class*=header] .topper,
#braids div[class*=header] .topper,
#makeup div[class*=header] .topper,
#wedding div[class*=header] .topper,
#wedding-other div[class*=header] .topper,
#reviews div[class*=header] .topper,
#knotless div[class*=header] .topper,
#box div[class*=header] .topper,
#crochet div[class*=header] .topper,
#premade-crochet div[class*=header] .topper,
#gallery div[class*=header] .topper,
#contact div[class*=header] .topper,
#gift-card div[class*=header] .topper {
    font-size: clamp(1.125em, 2.25vw, 1.5em);
    font-weight: lighter;
    font-family: "Beau Neue";
    letter-spacing: 1.25px;
    color: var(--gold);
  }
  #services div[class*=header] .topper span,
#about div[class*=header] .topper span,
#braids div[class*=header] .topper span,
#makeup div[class*=header] .topper span,
#wedding div[class*=header] .topper span,
#wedding-other div[class*=header] .topper span,
#reviews div[class*=header] .topper span,
#knotless div[class*=header] .topper span,
#box div[class*=header] .topper span,
#crochet div[class*=header] .topper span,
#premade-crochet div[class*=header] .topper span,
#gallery div[class*=header] .topper span,
#contact div[class*=header] .topper span,
#gift-card div[class*=header] .topper span {
    position: relative;
    top: -2px;
    font-size: 0.75em;
  }
  #services div[class*=header] h2,
#about div[class*=header] h2,
#braids div[class*=header] h2,
#makeup div[class*=header] h2,
#wedding div[class*=header] h2,
#wedding-other div[class*=header] h2,
#reviews div[class*=header] h2,
#knotless div[class*=header] h2,
#box div[class*=header] h2,
#crochet div[class*=header] h2,
#premade-crochet div[class*=header] h2,
#gallery div[class*=header] h2,
#contact div[class*=header] h2,
#gift-card div[class*=header] h2 {
    color: white;
    font-size: clamp(2em, 4vw, 2.5em);
    font-family: Arial, Helvetica, sans-serif, Helvetica, sans-serif;
    font-weight: 600;
    text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.75);
    letter-spacing: -1px;
    margin-bottom: 25px;
  }
  #services div[class*=header] p,
#about div[class*=header] p,
#braids div[class*=header] p,
#makeup div[class*=header] p,
#wedding div[class*=header] p,
#wedding-other div[class*=header] p,
#reviews div[class*=header] p,
#knotless div[class*=header] p,
#box div[class*=header] p,
#crochet div[class*=header] p,
#premade-crochet div[class*=header] p,
#gallery div[class*=header] p,
#contact div[class*=header] p,
#gift-card div[class*=header] p {
    margin-bottom: 25px;
    line-height: 1.75;
  }
  #services a[class*=cta],
#services *[class*=cta]:first-child,
#about a[class*=cta],
#about *[class*=cta]:first-child,
#braids a[class*=cta],
#braids *[class*=cta]:first-child,
#makeup a[class*=cta],
#makeup *[class*=cta]:first-child,
#wedding a[class*=cta],
#wedding *[class*=cta]:first-child,
#wedding-other a[class*=cta],
#wedding-other *[class*=cta]:first-child,
#reviews a[class*=cta],
#reviews *[class*=cta]:first-child,
#knotless a[class*=cta],
#knotless *[class*=cta]:first-child,
#box a[class*=cta],
#box *[class*=cta]:first-child,
#crochet a[class*=cta],
#crochet *[class*=cta]:first-child,
#premade-crochet a[class*=cta],
#premade-crochet *[class*=cta]:first-child,
#gallery a[class*=cta],
#gallery *[class*=cta]:first-child,
#contact a[class*=cta],
#contact *[class*=cta]:first-child,
#gift-card a[class*=cta],
#gift-card *[class*=cta]:first-child {
    color: var(--gold);
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: rgba(0, 0, 0, 0.25);
    border: 1px solid var(--gold);
    width: fit-content;
    padding: 15px clamp(15px, 5vw, 20px);
    border-radius: 5px;
    font-size: clamp(0.85em, 3vw, 0.9em);
    font-family: Arial, Helvetica, sans-serif;
    letter-spacing: 1px;
    transition: 0.2s;
    height: 64px;
    cursor: pointer;
  }
  #services a[class*=cta] a,
#services *[class*=cta]:first-child a,
#about a[class*=cta] a,
#about *[class*=cta]:first-child a,
#braids a[class*=cta] a,
#braids *[class*=cta]:first-child a,
#makeup a[class*=cta] a,
#makeup *[class*=cta]:first-child a,
#wedding a[class*=cta] a,
#wedding *[class*=cta]:first-child a,
#wedding-other a[class*=cta] a,
#wedding-other *[class*=cta]:first-child a,
#reviews a[class*=cta] a,
#reviews *[class*=cta]:first-child a,
#knotless a[class*=cta] a,
#knotless *[class*=cta]:first-child a,
#box a[class*=cta] a,
#box *[class*=cta]:first-child a,
#crochet a[class*=cta] a,
#crochet *[class*=cta]:first-child a,
#premade-crochet a[class*=cta] a,
#premade-crochet *[class*=cta]:first-child a,
#gallery a[class*=cta] a,
#gallery *[class*=cta]:first-child a,
#contact a[class*=cta] a,
#contact *[class*=cta]:first-child a,
#gift-card a[class*=cta] a,
#gift-card *[class*=cta]:first-child a {
    color: var(--gold);
  }
  #services a[class*=cta]:hover,
#services *[class*=cta]:first-child:hover,
#about a[class*=cta]:hover,
#about *[class*=cta]:first-child:hover,
#braids a[class*=cta]:hover,
#braids *[class*=cta]:first-child:hover,
#makeup a[class*=cta]:hover,
#makeup *[class*=cta]:first-child:hover,
#wedding a[class*=cta]:hover,
#wedding *[class*=cta]:first-child:hover,
#wedding-other a[class*=cta]:hover,
#wedding-other *[class*=cta]:first-child:hover,
#reviews a[class*=cta]:hover,
#reviews *[class*=cta]:first-child:hover,
#knotless a[class*=cta]:hover,
#knotless *[class*=cta]:first-child:hover,
#box a[class*=cta]:hover,
#box *[class*=cta]:first-child:hover,
#crochet a[class*=cta]:hover,
#crochet *[class*=cta]:first-child:hover,
#premade-crochet a[class*=cta]:hover,
#premade-crochet *[class*=cta]:first-child:hover,
#gallery a[class*=cta]:hover,
#gallery *[class*=cta]:first-child:hover,
#contact a[class*=cta]:hover,
#contact *[class*=cta]:first-child:hover,
#gift-card a[class*=cta]:hover,
#gift-card *[class*=cta]:first-child:hover {
    transition: 0.2s;
    color: white;
    background-color: rgba(0, 0, 0, 0.4);
  }
  #services *[class*=cta2],
#about *[class*=cta2],
#braids *[class*=cta2],
#makeup *[class*=cta2],
#wedding *[class*=cta2],
#wedding-other *[class*=cta2],
#reviews *[class*=cta2],
#knotless *[class*=cta2],
#box *[class*=cta2],
#crochet *[class*=cta2],
#premade-crochet *[class*=cta2],
#gallery *[class*=cta2],
#contact *[class*=cta2],
#gift-card *[class*=cta2] {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-left: 25px;
    cursor: pointer;
    width: fit-content;
    border-radius: 7.5px;
    padding: 0 15px;
    margin-bottom: 3px;
    text-decoration: 1px underline;
    text-decoration-color: var(--gold);
    text-underline-offset: 6px;
    font-family: "Beau Neue";
    color: var(--gold);
    font-size: clamp(1.125em, 5vw, 1.25em);
    letter-spacing: 1px;
    transition: 0.2s;
  }
  #services *[class*=cta2]:hover,
#about *[class*=cta2]:hover,
#braids *[class*=cta2]:hover,
#makeup *[class*=cta2]:hover,
#wedding *[class*=cta2]:hover,
#wedding-other *[class*=cta2]:hover,
#reviews *[class*=cta2]:hover,
#knotless *[class*=cta2]:hover,
#box *[class*=cta2]:hover,
#crochet *[class*=cta2]:hover,
#premade-crochet *[class*=cta2]:hover,
#gallery *[class*=cta2]:hover,
#contact *[class*=cta2]:hover,
#gift-card *[class*=cta2]:hover {
    color: white;
    transition: 0.2s;
  }
  #services *[class*=cta2] a,
#about *[class*=cta2] a,
#braids *[class*=cta2] a,
#makeup *[class*=cta2] a,
#wedding *[class*=cta2] a,
#wedding-other *[class*=cta2] a,
#reviews *[class*=cta2] a,
#knotless *[class*=cta2] a,
#box *[class*=cta2] a,
#crochet *[class*=cta2] a,
#premade-crochet *[class*=cta2] a,
#gallery *[class*=cta2] a,
#contact *[class*=cta2] a,
#gift-card *[class*=cta2] a {
    font-family: "Beau Neue";
    color: var(--gold);
  }
  #services *[class*=cta2] a:hover,
#about *[class*=cta2] a:hover,
#braids *[class*=cta2] a:hover,
#makeup *[class*=cta2] a:hover,
#wedding *[class*=cta2] a:hover,
#wedding-other *[class*=cta2] a:hover,
#reviews *[class*=cta2] a:hover,
#knotless *[class*=cta2] a:hover,
#box *[class*=cta2] a:hover,
#crochet *[class*=cta2] a:hover,
#premade-crochet *[class*=cta2] a:hover,
#gallery *[class*=cta2] a:hover,
#contact *[class*=cta2] a:hover,
#gift-card *[class*=cta2] a:hover {
    color: white;
    transition: 0.2s;
  }
}
@media only screen and (min-width: 0px) and (min-width: 0px) and (max-width: 800px) {
  #services *[class*=cta2],
#about *[class*=cta2],
#braids *[class*=cta2],
#makeup *[class*=cta2],
#wedding *[class*=cta2],
#wedding-other *[class*=cta2],
#reviews *[class*=cta2],
#knotless *[class*=cta2],
#box *[class*=cta2],
#crochet *[class*=cta2],
#premade-crochet *[class*=cta2],
#gallery *[class*=cta2],
#contact *[class*=cta2],
#gift-card *[class*=cta2] {
    display: flex;
    flex-direction: column;
    margin-left: 0;
    padding: 10px 3px;
    margin-left: 25px;
  }
}
@media only screen and (min-width: 0px) {
  #services *[class*=-image] img,
#services *[class*=-gallery] img,
#about *[class*=-image] img,
#about *[class*=-gallery] img,
#braids *[class*=-image] img,
#braids *[class*=-gallery] img,
#makeup *[class*=-image] img,
#makeup *[class*=-gallery] img,
#wedding *[class*=-image] img,
#wedding *[class*=-gallery] img,
#wedding-other *[class*=-image] img,
#wedding-other *[class*=-gallery] img,
#reviews *[class*=-image] img,
#reviews *[class*=-gallery] img,
#knotless *[class*=-image] img,
#knotless *[class*=-gallery] img,
#box *[class*=-image] img,
#box *[class*=-gallery] img,
#crochet *[class*=-image] img,
#crochet *[class*=-gallery] img,
#premade-crochet *[class*=-image] img,
#premade-crochet *[class*=-gallery] img,
#gallery *[class*=-image] img,
#gallery *[class*=-gallery] img,
#contact *[class*=-image] img,
#contact *[class*=-gallery] img,
#gift-card *[class*=-image] img,
#gift-card *[class*=-gallery] img {
    box-shadow: 0px 0px 3px #141414;
  }
}
:root {
  --white: #F7F7F7;
  --white: #fff;
  --black: #000;
  --primary: #1A1A1A;
  --primaryDark: #000;
  --secondary: red;
  --secondaryDark: red;
  --pink: #eed4eb;
  --pink: #eed4eb;
  --pink2: #e2bbde;
  --gold: #ffd693;
  --gold: #f8c26c;
  --goldLight: #f7cb85;
  --gold-gradient: linear-gradient(90deg,
          #b88b45 0%,
          #f7cb85 25%,
          #f7cb85 75%,
          #b88b45 100%);
  --white-gradient: linear-gradient(0deg,
          #f7cb85 0%,
          #fdf7ed 15%,
          #fdf7ed 50%,
          #fdf7ed 85%,
          #f7cb85 100%);
  --gradient: linear-gradient(135deg,
          #3c3c3c,
          #014e56,
          #2d4d43,
          #2e3a59);
  --gradient2: linear-gradient(135deg,
          #2e3a59,
          #014e56,
          #2d4d43,
          #1a2b3d);
}

@media only screen and (min-width: 0px) {
  body .navbar {
    background: linear-gradient(15deg, #4e1136 0%, #720836 25%, #720836 45%, #53142f 75%, #530634 100%);
    background: linear-gradient(15deg, #720836, #591230, #520932, #300216);
  }
  body .navbar ul a {
    color: white;
    font-display: swap;
    font-family: "Beau Neue";
  }
}
@media only screen and (min-width: 0px) {
  body.dark .navbar {
    background: var(--primary);
    background: linear-gradient(135deg, #1A1A1A, #0a0f0d);
  }
}
@media only screen and (min-width: 0px) and (min-width: 0px) {
  #overlay {
    display: none;
    position: absolute;
  }

  #overlay.active {
    display: block;
    background-color: rgba(0, 0, 0, 0.55);
    position: fixed;
    z-index: 750;
    width: 100vw;
    height: 100vh;
  }
}
@media only screen and (min-width: 0px) and (min-width: 0px) and (min-width: 1024px) {
  #overlay.active,
#overlay {
    display: none;
  }
}
@media only screen and (min-width: 0px) and (min-width: 0px) {
  .navbar.hidden {
    display: none;
  }

  .navbar {
    position: fixed;
    top: 0px;
    z-index: 900;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 4.5em;
    box-shadow: 0px 0px 1em black;
    transition: 0.2s;
  }
  .navbar .navbar-inner {
    width: 100%;
    max-width: 90em;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    padding: 0 1em;
    transition: 0.2s;
  }
}
@media only screen and (min-width: 0px) and (min-width: 0px) {
  .logo {
    color: var(--gold);
    font-size: clamp(2em, 6vw, 2.25em);
    font-weight: bolder;
    font-family: "Great Vibes";
    letter-spacing: 0.25px;
    position: relative;
    top: 1.5px;
    padding-right: 5px;
    background: var(--gold-gradient);
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    text-shadow: 0px 0px 1px rgba(255, 255, 255, 0.125);
    transition: 0.3s;
  }
}
@media only screen and (min-width: 0px) and (min-width: 0px) and (min-width: 0px) and (max-width: 345px) {
  .logo {
    font-size: 1.75em;
  }
}
@media only screen and (min-width: 0px) and (min-width: 0px) {
  .logo a {
    color: var(--gold);
  }
}
@media only screen and (min-width: 0px) and (min-width: 0px) {
  .logo:hover {
    text-shadow: 0px 0px 1px rgba(255, 255, 255, 0.75), 0px 0px 5px rgba(255, 255, 255, 0.5);
    transition: 0.3s;
  }
}
@media only screen and (min-width: 0px) and (min-width: 0px) {
  #desktop-navigation ul {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
  }
  #desktop-navigation ul a {
    font-size: clamp(1em, 5vw, 1.125em);
    font-family: "Beau Neue";
    padding: 12.5px;
    letter-spacing: 1.25px;
    border-bottom: 2px solid transparent;
    text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.75);
  }
  #desktop-navigation ul a:hover {
    color: var(--gold);
    text-decoration: underline;
    text-underline-offset: 5px;
    text-decoration-color: var(--gold);
  }
  #desktop-navigation ul a.active {
    text-decoration: underline;
    text-underline-offset: 5px;
    text-decoration-color: var(--gold);
  }
}
@media only screen and (min-width: 0px) and (min-width: 0px) and (min-width: 0px) and (max-width: 1023px) {
  #desktop-navigation {
    display: none;
  }
}
@media only screen and (min-width: 0px) and (min-width: 0px) {
  #secondary-navigation {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
  }
  #secondary-navigation #toggleThemeDesktop {
    cursor: pointer;
    width: 37px;
    height: 37px;
    display: flex;
    justify-content: center;
    align-items: center;
    transition: 0.3s;
    position: relative;
  }
  #secondary-navigation #toggleThemeDesktop.active {
    cursor: pointer;
    transform: rotate(-540deg);
    transition: 0.3s;
  }
  #secondary-navigation .cta {
    background-color: rgba(0, 0, 0, 0.25);
    border: 2px solid var(--gold);
    transition: 0.3s;
    font-family: "Beau Neue", sans-serif;
    margin: 0 13px 0 15px;
    padding: 10px 20px;
    border-radius: 25px;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 1em;
    letter-spacing: 1px;
    color: var(--gold);
  }
  #secondary-navigation .cta:hover {
    color: white;
    background-color: rgba(0, 0, 0, 0.4);
  }
}
@media only screen and (min-width: 0px) and (min-width: 0px) and (max-width: 1023px) {
  #secondary-navigation .cta {
    padding: 12.5px 15px;
    position: relative;
  }
}
@media only screen and (min-width: 0px) and (min-width: 0px) and (min-width: 1000px) and (max-width: 1200px) {
  #secondary-navigation .cta {
    display: none;
  }
  #secondary-navigation #toggleThemeDesktop {
    margin-right: 5px;
  }
}
@media only screen and (min-width: 0px) and (min-width: 0px) {
  #secondary-navigation .socials {
    display: flex;
    flex-direction: row;
  }
  #secondary-navigation .socials a {
    position: relative;
    margin: 0 2px;
    transition: 0.2s;
  }
  #secondary-navigation .socials a:hover {
    transition: 0.2s;
    filter: brightness(1.2);
  }
}
@media only screen and (min-width: 0px) and (min-width: 0px) {
  #secondary-navigation #mobile-navigation {
    display: none;
  }
}
@media only screen and (min-width: 0px) and (min-width: 0px) and (min-width: 0px) and (max-width: 1023px) {
  #secondary-navigation {
    display: none;
  }
}
@media only screen and (min-width: 0px) and (min-width: 0px) {
  .mobile-togglers {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    height: 50px;
    width: fit-content;
    position: relative;
    z-index: 999;
  }
}
@media only screen and (min-width: 0px) and (min-width: 0px) and (min-width: 1024px) {
  .mobile-togglers {
    display: none;
  }
}
@media only screen and (min-width: 0px) and (min-width: 0px) {
  #toggleThemeMobile {
    cursor: pointer;
    width: 37px;
    height: 37px;
    display: flex;
    justify-content: center;
    align-items: center;
    transition: 0.3s;
    position: relative;
    margin-right: 15px;
  }

  #toggleThemeMobile.active {
    cursor: pointer;
    transform: rotate(-540deg);
    transition: 0.3s;
  }
}
@media only screen and (min-width: 0px) and (min-width: 0px) {
  #mobile-menu-button {
    z-index: 900;
    border-radius: 7.5px;
    height: 3.5em;
    width: 3.75em;
    padding: 6px 4px;
    background-color: transparent;
    display: flex;
    justify-content: space-between;
    align-items: center;
    transition: 0.5s;
    border: 1px solid white;
  }
  #mobile-menu-button:hover {
    background: rgba(0, 0, 0, 0.25);
    transition: 0.5s;
  }

  #mobile-menu-button.active {
    position: relative;
    z-index: 900;
    transition: 0.5s;
    transform: rotate(360deg);
  }
  #mobile-menu-button.active:hover {
    background: rgba(0, 0, 0, 0.25);
    transition: 0.5s;
  }

  .menu-box {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 100%;
    padding: 0 3px;
  }

  .line {
    display: flex;
    z-index: 900;
    width: 28px;
    height: 2px;
    margin: 3px 0;
    border-radius: 5px;
    transition: 0.3s;
    background-color: white;
  }

  .line1.active {
    transform: translate(0px, 8px) rotate(-225deg);
  }

  .line2.active {
    transform-origin: center;
    transform: translate(0px, 0%) rotate(225deg);
  }

  .line3.active {
    transform: translate(0%, -20px);
    opacity: 0%;
  }
}
@media only screen and (min-width: 0px) and (min-width: 0px) and (min-width: 1024px) {
  #mobile-menu-button {
    display: none;
  }
}
@media only screen and (min-width: 0px) and (min-width: 0px) {
  #mobile-navigation {
    display: flex;
    flex-direction: column;
    justify-content: center;
    text-align: right;
    position: fixed;
    top: 0;
    right: -300px;
    height: 100vh;
    width: 65vw;
    width: 275px;
    transition: right 0.5s;
    background: linear-gradient(-45deg, #520e37 0%, #70123b 33%, #581130 66%, #520e37 100%);
    border-left: 1px solid var(--gold);
  }
  #mobile-navigation ul li {
    padding: 10px 1.75em;
  }
  #mobile-navigation ul li a {
    font-size: 1.25em;
    text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.75);
  }
  #mobile-navigation ul li a:hover {
    color: var(--gold);
  }
  #mobile-navigation ul li a.active {
    color: var(--gold);
  }
  #mobile-navigation .socials {
    padding-right: 1.25em;
    padding: 10px 25px;
    margin: 50px 0;
  }

  #mobile-navigation.active {
    z-index: 100;
    position: fixed;
    display: flex;
    text-align: right;
    flex-direction: column;
    justify-content: center;
    top: 0;
    right: 0px;
    height: 100vh;
    width: 275px;
    transition: right 0.5s;
    background: linear-gradient(15deg, #300216, #520932, #570528, #720836, #570528, #520932, #300216);
  }

  body.dark #mobile-navigation,
body.dark #mobile-navigation.active {
    transition: right 0.5s;
    background: #202124;
    background: linear-gradient(15deg, #0a0f0d, #212121, #272727, #212121, #0a0f0d);
  }
}
@media only screen and (min-width: 0px) and (min-width: 0px) and (min-width: 1024px) {
  #mobile-navigation,
#mobile-navigation.active {
    display: none;
  }
}
@media only screen and (min-width: 0px) {
  .notice-banner {
    width: 100%;
    background: #ffcd07;
    /* soft blush */
    color: #3a1f2d;
    text-align: center;
    padding: 1rem 1rem;
    font-size: 1.5rem;
    line-height: 1.4;
    border-bottom: 1px solid rgba(0, 0, 0, 0.05);
    position: absolute;
    top: 72px;
    z-index: 800;
  }

  .notice-banner strong {
    font-weight: 600;
  }
}
@media only screen and (min-width: 0px) and (max-width: 768px) {
  .notice-banner {
    font-size: 1rem;
    padding: 0.75rem 0.75rem;
    position: relative;
    top: 72px;
  }

  .desktop-only {
    display: none;
  }
}
@media only screen and (min-width: 0px) and (min-width: 0px) {
  body.dark footer {
    background: linear-gradient(15deg, #0a0f0d, #0e0e0e, #131313, #0e0e0e, #070a09);
  }
  body.dark .footer-copyright {
    background: linear-gradient(-135deg, #1A1A1A, #0a0f0d);
  }

  body footer {
    background: linear-gradient(15deg, #300216, #520932, #570528, #720836, #570528, #520932, #300216);
  }
  body .footer-copyright {
    background: linear-gradient(90deg, #300216, #37031a, #591230, #720836, #520932, #300216);
  }
}
@media only screen and (min-width: 0px) {
  footer {
    padding: clamp(50px, 10vw, 100px) 1rem clamp(75px, 10vw, 100px);
    min-height: 400px;
  }
  footer .footer-inner {
    max-width: 80rem;
    margin: 0 auto;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: stretch;
  }
}
@media only screen and (min-width: 0px) and (min-width: 0px) and (max-width: 1000px) {
  footer .footer-inner {
    display: flex;
    flex-direction: column;
  }
  footer .footer-inner .footer-logo {
    text-align: center;
  }
}
@media only screen and (min-width: 0px) {
  footer .footer-inner .footer-logo {
    display: flex;
    flex-direction: column;
    color: white;
  }
  footer .footer-inner .footer-logo a {
    font-size: clamp(2.25em, 5vw, 2.75em);
    margin: 5px auto 10px;
    width: fit-content;
    padding-right: 5px;
  }
  footer .footer-inner .footer-logo p {
    text-align: center;
    margin: 0 auto;
    font-weight: 400;
    line-height: 1.25;
    font-size: clamp(1.25em, 5vw, 1.5em);
    color: var(--gold);
    color: white;
    font-family: "Beau Rivage", auto;
    letter-spacing: 1.5px;
    transition: color 0.2s;
  }
}
@media only screen and (min-width: 0px) {
  footer .footer-inner .footer-nav {
    width: 50%;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: stretch;
    margin-top: 15px;
    font-family: sans-serif;
  }
}
@media only screen and (min-width: 0px) and (min-width: 0px) and (max-width: 1000px) {
  footer .footer-inner .footer-nav {
    display: flex;
    flex-direction: column;
    width: 100%;
    margin-top: 50px;
  }
}
@media only screen and (min-width: 0px) {
  footer .footer-inner .footer-nav .footer-links h1 {
    font-size: 1.75em;
    color: var(--gold);
    margin-bottom: 15px;
  }
  footer .footer-inner .footer-nav .footer-links li {
    margin-bottom: 15px;
  }
  footer .footer-inner .footer-nav .footer-links li a {
    color: white;
    padding: 10px 0;
    margin-bottom: 10px;
    font-family: sans-serif;
    letter-spacing: 0.25px;
  }
  footer .footer-inner .footer-nav .footer-links li a:hover {
    color: var(--gold);
    text-decoration: underline;
    text-underline-offset: 5px;
    text-decoration-color: var(--gold);
  }
  footer .footer-inner .footer-nav .footer-links li a.active {
    text-decoration: underline;
    text-underline-offset: 5px;
    text-decoration-color: var(--gold);
  }
}
@media only screen and (min-width: 0px) {
  footer .footer-inner .footer-nav .footer-contact {
    display: flex;
    flex-direction: column;
    align-items: stretch;
  }
}
@media only screen and (min-width: 0px) and (min-width: 0px) and (max-width: 1000px) {
  footer .footer-inner .footer-nav .footer-contact {
    margin-top: 50px;
  }
  footer .footer-inner .footer-nav .footer-contact p {
    text-align: left;
  }
}
@media only screen and (min-width: 0px) {
  footer .footer-inner .footer-nav .footer-contact h1 {
    font-size: 1.75em;
    color: var(--gold);
    margin-bottom: 15px;
  }
}
@media only screen and (min-width: 0px) {
  footer .footer-inner .footer-nav .footer-contact .email {
    letter-spacing: 0.25px;
    display: block;
    color: white;
    font-family: sans-serif;
    padding-bottom: 25px;
  }
  footer .footer-inner .footer-nav .footer-contact .email:hover {
    color: var(--gold);
  }
  footer .footer-inner .footer-nav .footer-contact .email::before {
    content: url(../assets/index/email.png);
    position: relative;
    top: 6px;
    padding-right: 7px;
  }
}
@media only screen and (min-width: 0px) {
  footer .footer-inner .footer-nav .footer-contact .phone {
    letter-spacing: 0.25px;
    display: block;
    color: white;
    font-family: sans-serif;
  }
  footer .footer-inner .footer-nav .footer-contact .phone:hover {
    color: var(--gold);
  }
}
@media only screen and (min-width: 0px) {
  footer .footer-inner .footer-nav .footer-contact p {
    text-decoration: underline;
    text-underline-offset: 2px;
    line-height: 1.75;
    letter-spacing: 1px;
    color: white;
    font-size: 0.85em;
    margin: 25px 0 clamp(50px, 4vw, 75px);
  }
}
@media only screen and (min-width: 0px) and (min-width: 0px) and (max-width: 1000px) {
  footer .footer-inner .footer-nav .footer-contact p {
    text-align: left;
  }
}
@media only screen and (min-width: 0px) {
  footer .footer-inner .footer-nav .footer-contact ul {
    margin-left: -5px;
    display: flex;
    flex-direction: row;
    transition: 0.2s;
  }
  footer .footer-inner .footer-nav .footer-contact ul a:hover {
    transition: 0.2s;
    filter: brightness(1.2);
  }
}
@media only screen and (min-width: 0px) and (min-width: 0px) and (max-width: 1000px) {
  footer .footer-inner .footer-nav .footer-contact ul {
    justify-content: flex-start;
  }
}
@media only screen and (min-width: 0px) {
  footer .footer-inner .footer-nav .footer-contact ul::before {
    content: "";
  }
}
@media only screen and (min-width: 0px) {
  .footer-copyright {
    background: #0e0008;
    padding: 7.5px 1em;
    min-height: 0;
    text-align: center;
    letter-spacing: 0.5px;
    color: white;
    font-weight: 100;
  }
  .footer-copyright p {
    font-family: Arial, Helvetica, sans-serif;
    font-size: clamp(0.5em, 3vw, 0.8em);
    line-height: 1.5;
  }
  .footer-copyright a {
    font-family: Arial, Helvetica, sans-serif;
    color: white;
  }
  .footer-copyright span {
    white-space: nowrap;
  }
  .footer-copyright:hover a span {
    white-space: nowrap;
    color: var(--gold);
  }
}
@media only screen and (min-width: 0px) and (min-width: 0px) and (max-width: 611px) {
  .hide-on-mobile {
    display: none;
  }
}
.directory {
  padding: 116px 24px 48px;
  color: white;
  background: linear-gradient(-135deg, #32031f 10%, #4a0d2f 30%, #660730 45%, #3d0b27 70%, #32031f 100%);
  font-size: 16px;
  line-height: 1.6;
}
.directory .directory-inner {
  max-width: 1200px;
  margin: 0 auto;
}
.directory .directory-intro {
  margin-bottom: 28px;
  max-width: 720px;
}
.directory h1 {
  font-family: "Beau Neue", sans-serif;
  font-weight: 400;
  font-size: clamp(2.5rem, 5vw, 3.25rem);
  line-height: 1.15;
  letter-spacing: 1.5px;
  color: var(--gold);
  margin-bottom: 12px;
}
.directory .business-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
}
.directory .business-card {
  display: flex;
  flex-direction: column;
  min-width: 0;
  padding: 24px;
  border: 1px solid #a56e86;
  border-radius: 5px;
  background: rgba(0, 0, 0, 0.22);
  overflow-wrap: anywhere;
}
.directory .business-category {
  font-size: 0.875rem;
  color: var(--goldLight);
  margin-bottom: 8px;
}
.directory h2 {
  font-size: 1.375rem;
  line-height: 1.3;
  margin-bottom: 12px;
}
.directory .business-description {
  margin-bottom: 16px;
}
.directory .business-location {
  color: #eed4eb;
  margin-bottom: 8px;
}
.directory .business-phone {
  color: white;
  display: flex;
  align-items: center;
  min-height: 44px;
  width: fit-content;
  text-decoration: underline;
  text-underline-offset: 4px;
  margin-bottom: 12px;
}
.directory .business-website {
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 48px;
  margin-top: auto;
  padding: 10px 16px;
  border: 1px solid var(--gold);
  border-radius: 5px;
  background: rgba(0, 0, 0, 0.25);
  color: var(--gold);
  transition: background-color 0.15s ease;
}
.directory .business-website:hover {
  background: rgba(0, 0, 0, 0.4);
  color: white;
}
.directory .directory-credit {
  margin-top: 24px;
}
.directory .directory-credit a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  color: var(--gold);
  text-decoration: underline;
  text-underline-offset: 4px;
}

body.dark .directory {
  background: linear-gradient(135deg, #1a1a1a, #0a0f0d);
}
body.dark .directory .business-card {
  background: #171b19;
  border-color: #626c65;
}
body.dark .directory .business-location {
  color: #ddd;
}

.directory-page a:focus-visible, .directory-page [tabindex]:focus-visible {
  outline: 3px solid var(--gold);
  outline-offset: 4px;
}
.directory-page .footer-links h2, .directory-page .footer-contact h2 {
  color: white;
  font-family: "Beau Neue", sans-serif;
  font-size: 1.75em;
  font-weight: 400;
  margin-bottom: 20px;
}
.directory-page .skip-link {
  position: fixed;
  top: -100px;
  left: 16px;
  z-index: 1000;
  padding: 12px 16px;
  background: #300216;
  color: white;
}
.directory-page .skip-link:focus {
  top: 12px;
}

@media (max-width: 1023px) {
  .directory .business-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 639px) {
  .directory {
    padding: 104px 16px 32px;
  }

  .directory .business-grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 16px;
  }

  .directory .business-card {
    padding: 20px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .directory-page *, .directory-page *::before, .directory-page *::after {
    scroll-behavior: auto !important;
    transition: none !important;
    animation: none !important;
  }
}
.directory-page #toggleThemeDesktop,
.directory-page #toggleThemeMobile {
  width: 44px;
  height: 44px;
  padding: 5px;
}

/* Keep the closed off-screen menu out of keyboard navigation. */
.directory-page #mobile-navigation:not(.active) {
  visibility: hidden;
}

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