/* Westside footer — fe-668f81c5434d1b695f807f8a */
.elementor-location-footer,
.site-footer:not(.ws-site-footer) {
  display: none !important;
}

@font-face {
  font-family: degular-text;
  src: url("https://use.typekit.net/af/694d4e/00000000000000007735c865/31/l?subset_id=2&fvd=n4&v=3") format("woff2"),
    url("https://use.typekit.net/af/694d4e/00000000000000007735c865/31/d?subset_id=2&fvd=n4&v=3") format("woff");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: degular-text;
  src: url("https://use.typekit.net/af/c28d70/00000000000000007735c879/31/l?subset_id=2&fvd=n7&v=3") format("woff2"),
    url("https://use.typekit.net/af/c28d70/00000000000000007735c879/31/d?subset_id=2&fvd=n7&v=3") format("woff");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

#footer-sections.ws-site-footer {
  --white-hsl: 0, 0%, 100%;
  --black-hsl: 0, 0%, 0%;
  --accent-hsl: 196.52, 77.53%, 82.55%;
  --base-font-size: 14px;
  --heading-font-font-family: "Poppins", sans-serif;
  --heading-font-font-weight: 500;
  --heading-font-line-height: 1.4em;
  --body-font-font-family: "degular-text", sans-serif;
  --body-font-font-weight: 400;
  --body-font-line-height: 1.3em;
  --heading-4-size: 1.6rem;
  --normal-text-size: 1.3rem;
  --normal-text-size-value: 1.3;
  --small-text-size: 1.1rem;
  --sqs-site-max-width: 1500px;
  --sqs-site-gutter: 4vw;
  --sqs-mobile-site-gutter: 6vw;
  --paragraphMediumColor: hsla(var(--white-hsl), 1);
  --paragraphSmallColor: hsla(var(--white-hsl), 1);
  position: relative;
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
  color: var(--paragraphMediumColor);
  font-family: var(--body-font-font-family);
  font-size: var(--base-font-size);
  font-weight: var(--body-font-font-weight);
  line-height: var(--body-font-line-height);
  letter-spacing: 0;
  overflow-wrap: break-word;
  box-sizing: border-box;
}

#footer-sections .page-section {
  position: relative;
  margin: 0;
  padding: 0;
  min-height: 10vh;
}

#footer-sections .section-border {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
}

#footer-sections .section-background {
  position: absolute;
  inset: 0;
  background-color: #111;
  background-image: url('https://images.squarespace-cdn.com/content/v1/668f81c5434d1b695f807f50/1754822773883-A7SW1JFI5TAXQKH9SZHZ/unsplash-image-JhqhGfX_Wd8.jpg');
  background-size: cover;
  background-position: 67.82% 24.54%;
  background-repeat: no-repeat;
}

#footer-sections .section-background-overlay {
  position: absolute;
  inset: 0;
  background: #000;
  opacity: 0.75;
}

#footer-sections .content-wrapper {
  position: relative;
  z-index: 1;
  padding-top: calc(10vmax / 10);
  padding-bottom: calc(10vmax / 10);
}

#footer-sections .content {
  width: 100%;
}

/* Fluid engine grid — exact reference */
.fe-668f81c5434d1b695f807f8a {
  --grid-gutter: calc(var(--sqs-mobile-site-gutter, 6vw) - 11px);
  --cell-max-width: calc((var(--sqs-site-max-width, 1500px) - (11px * 7)) / 8);
  display: grid;
  position: relative;
  grid-template-rows: repeat(23, minmax(24px, auto));
  grid-template-columns:
    minmax(var(--grid-gutter), 1fr)
    repeat(8, minmax(0, var(--cell-max-width)))
    minmax(var(--grid-gutter), 1fr);
  row-gap: 11px;
  column-gap: 11px;
  overflow-x: clip;
  max-width: var(--sqs-site-max-width, 1500px);
  margin: 0 auto;
}

.fe-668f81c5434d1b695f807f8a .fe-block {
  min-width: 0;
}

.fe-668f81c5434d1b695f807f8a .sqs-block,
.fe-668f81c5434d1b695f807f8a .sqs-block-content,
.fe-668f81c5434d1b695f807f8a .sqs-block-alignment-wrapper {
  display: flex;
  flex-direction: column;
  width: 100%;
  height: 100%;
}

/* Mobile grid areas */
.ws-footer-block--logo { grid-area: 3 / 2 / 9 / 9; z-index: 10; }
.ws-footer-block--logo .sqs-block,
.ws-footer-block--logo .sqs-block-content { justify-content: center; align-items: center; }

.ws-footer-block--contact-heading { grid-area: 9 / 2 / 11 / 7; z-index: 0; }
.ws-footer-block--contact-heading .sqs-block,
.ws-footer-block--contact-heading .sqs-block-content { justify-content: flex-end; align-items: flex-end; }

.ws-footer-block--contact-text { grid-area: 11 / 2 / 15 / 9; z-index: 6; }
.ws-footer-block--contact-text .sqs-block,
.ws-footer-block--contact-text .sqs-block-content { justify-content: flex-start; align-items: flex-start; }

.ws-footer-block--hours-heading { grid-area: 14 / 2 / 16 / 9; z-index: 7; }
.ws-footer-block--hours-heading .sqs-block,
.ws-footer-block--hours-heading .sqs-block-content { justify-content: flex-start; align-items: flex-start; }

.ws-footer-block--hours-text { grid-area: 16 / 2 / 22 / 9; z-index: 5; }
.ws-footer-block--hours-text .sqs-block,
.ws-footer-block--hours-text .sqs-block-content { justify-content: flex-start; align-items: flex-start; }

.ws-footer-block--rule { grid-area: 22 / 2 / 23 / 10; z-index: 9; }
.ws-footer-block--rule .sqs-block,
.ws-footer-block--rule .sqs-block-content { justify-content: center; align-items: center; }

.ws-footer-block--credit { grid-area: 23 / 3 / 24 / 9; z-index: 8; }
.ws-footer-block--credit .sqs-block,
.ws-footer-block--credit .sqs-block-content { justify-content: flex-start; align-items: flex-start; }

.ws-footer-block--logo img {
  width: 100%;
  max-width: 100%;
  height: auto;
  object-fit: contain;
  object-position: 50% 50%;
  display: block;
}

#footer-sections .sqs-html-content {
  width: 100%;
}

#footer-sections h4 {
  margin: 0;
  font-family: var(--heading-font-font-family);
  font-size: var(--heading-4-size);
  font-weight: var(--heading-font-font-weight);
  line-height: var(--heading-font-line-height);
  letter-spacing: 0;
  text-transform: none;
  color: var(--paragraphMediumColor);
}

#footer-sections .sqsrte-text-color--accent,
#footer-sections .sqsrte-text-color--accent strong {
  color: hsl(var(--accent-hsl)) !important;
  font-weight: 500;
}

#footer-sections p {
  margin: 0;
  font-family: var(--body-font-font-family);
  font-size: var(--normal-text-size);
  font-weight: var(--body-font-font-weight);
  line-height: var(--body-font-line-height);
  color: var(--paragraphMediumColor);
  white-space: pre-wrap;
}

#footer-sections p.sqsrte-small {
  font-size: var(--small-text-size);
  color: var(--paragraphSmallColor);
}

#footer-sections a {
  color: inherit;
  text-decoration: underline;
}

#footer-sections .sqs-block-horizontalrule hr {
  width: 100%;
  border: 0;
  height: 1px;
  margin: 0;
  color: #bbb;
  background-color: #bbb;
}

/* Scroll animations */
.ws-footer-animate {
  opacity: 0;
  transition: all 0.8s ease-out;
}
#block-7978065a41fe3c2db910.ws-footer-animate {
  transform: translateY(30px);
  transition-delay: 0.1s;
}
#block-92530ca47e7ef67433f9.ws-footer-animate {
  transform: translateX(-30px);
  transition-delay: 0.3s;
}
#block-61f8f2707713b57df077.ws-footer-animate {
  transform: translateY(30px) rotate(-2deg);
  transition-delay: 0.2s;
}
#block-be0a190df2727f6f42c4.ws-footer-animate {
  transform: translateX(30px);
  transition-delay: 0.5s;
}
.ws-footer-animate.is-visible,
.ws-footer-animate.animate-in {
  opacity: 1 !important;
  transform: translateY(0) translateX(0) rotate(0) !important;
}

/* Squarespace fluid type scale */
@media screen and (max-width: 767px) and (orientation: portrait) {
  #footer-sections.ws-site-footer {
    font-size: calc((var(--normal-text-size-value) - 1) * calc(0.012 * min(100vh, 900px)) + 1rem);
  }
}

@media screen and (min-width: 768px), screen and (max-width: 1907px) and (orientation: landscape) {
  #footer-sections.ws-site-footer {
    font-size: calc((var(--normal-text-size-value) - 1) * 1.2vw + 1rem);
  }

  .fe-668f81c5434d1b695f807f8a {
    --grid-gutter: calc(var(--sqs-site-gutter, 4vw) - 11px);
    --cell-max-width: calc((var(--sqs-site-max-width, 1500px) - (11px * 23)) / 24);
    --inset-padding: 0vw;
    --row-height-scaling-factor: 0.0215;
    --container-width: min(var(--sqs-site-max-width, 1500px), calc(100vw - var(--sqs-site-gutter, 4vw) * 2 - var(--inset-padding)));
    grid-template-rows: repeat(23, minmax(calc(var(--container-width) * var(--row-height-scaling-factor)), auto));
    grid-template-columns:
      minmax(var(--grid-gutter), 1fr)
      repeat(24, minmax(0, var(--cell-max-width)))
      minmax(var(--grid-gutter), 1fr);
  }

  .ws-footer-block--logo { grid-area: 7 / 3 / 13 / 10; }
  .ws-footer-block--contact-heading { grid-area: 9 / 15 / 11 / 20; }
  .ws-footer-block--contact-heading .sqs-block,
  .ws-footer-block--contact-heading .sqs-block-content { justify-content: flex-start; align-items: flex-start; }
  .ws-footer-block--contact-text { grid-area: 10 / 15 / 14 / 20; }
  .ws-footer-block--hours-heading { grid-area: 9 / 20 / 11 / 26; }
  .ws-footer-block--hours-text { grid-area: 10 / 20 / 20 / 26; }
  .ws-footer-block--rule { grid-area: 22 / 1 / 23 / 27; }
  .ws-footer-block--rule .sqs-block,
  .ws-footer-block--rule .sqs-block-content { justify-content: flex-end; align-items: flex-end; }
  .ws-footer-block--credit { grid-area: 23 / 12 / 24 / 16; }

  .ws-footer-block--logo img {
    width: min(29.166666666666668vw, 100%);
  }
}

@media screen and (min-width: 1908px) {
  #footer-sections.ws-site-footer {
    font-size: calc(var(--normal-text-size-value) * 1rem);
  }
}

@media screen and (max-width: 991px) {
  #footer-sections.ws-site-footer {
    font-size: min(var(--base-font-size), 16px);
  }
}
