/** Shopify CDN: Minification failed

Line 239:13 Expected identifier but found whitespace
Line 239:15 Unexpected "{"
Line 239:24 Expected ":"
Line 241:16 Expected identifier but found whitespace
Line 241:18 Unexpected "{"
Line 241:27 Expected ":"
Line 241:55 Expected ":"
Line 256:13 Expected identifier but found whitespace
Line 256:15 Unexpected "{"
Line 256:24 Expected ":"
... and 13 more hidden warnings

**/


/* CSS from section stylesheet tags */
.multicolumn-images__container {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin-left: auto;
  margin-right: auto;
}

.multicolumn-images__item {
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0;
  padding: 0;
  /* Remove fixed widths from CSS, move to inline style */
}

.multicolumn-images__img {
  display: block;
  max-width: 100%;
  height: auto;
  object-fit: contain;
  border-radius: 0.375rem;
  box-shadow: 0 2px 8px rgba(0,0,0,0.05);
  transition: box-shadow 0.15s;
  margin: 0 auto;
}

.multicolumn-images__item a:hover .multicolumn-images__img,
.multicolumn-images__item a:focus .multicolumn-images__img {
  box-shadow: 0 4px 16px rgba(0,0,0,0.12);
}

@media (max-width: 600px) {
  .multicolumn-images__container {
    flex-direction: column;
    align-items: center !important;
    justify-content: center !important;
  }
  .multicolumn-images__item {
    width: 100%;
    max-width: 100vw !important;
    flex-basis: auto !important;
    justify-content: center !important;
    align-items: center !important;
  }
  .multicolumn-images__img {
    margin-left: auto !important;
    margin-right: auto !important;
    display: block;
  }
}
/* Overlay styles */
.loading-screen__overlay {
  position: fixed;
  z-index: 99999;
  inset: 0;
  width: 100vw;
  height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 1;
  visibility: visible;
  background: var(--loading-bg, #f7f7f7);
  transition: none;
  overscroll-behavior: contain;
}

/* Hide Animations */
.loading-screen__overlay--hide-fade {
  transition: opacity 0.6s cubic-bezier(.4,0,.2,1), visibility 0.6s;
  opacity: 0 !important;
  pointer-events: none !important;
  visibility: hidden !important;
}

.loading-screen__overlay--hide-slide-down {
  transition: transform 0.7s cubic-bezier(.4,0,.2,1), opacity 0.7s, visibility 0.7s;
  transform: translateY(100%);
  opacity: 0 !important;
  pointer-events: none !important;
  visibility: hidden !important;
}

.loading-screen__overlay--hide-slide-up {
  transition: transform 0.7s cubic-bezier(.4,0,.2,1), opacity 0.7s, visibility 0.7s;
  transform: translateY(-100%);
  opacity: 0 !important;
  pointer-events: none !important;
  visibility: hidden !important;
}

/* Container */
.loading-screen__container {
  width: 100vw;
  max-width: 96vw;
  padding: 0 3vw;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

/* Logo styles - crisp scaling, never cut off, responsive */
.loading-screen__logo-wrapper {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  /* The logo will never be larger than 32vw (desktop) or 60vw (mobile) or 40vh (height) */
  max-width: 32vw;
  max-height: 40vh;
  margin-bottom: 2rem;
  /* No aspect-ratio here, let image define it */
}

.loading-screen__logo {
  display: block;
  max-width: 100%;
  max-height: 100%;
  width: auto;
  height: auto;
  object-fit: contain;
  border: none;
  padding: 0;
  margin: 0;
  background: none;
  box-shadow: none;
  /* Scaling unit (vw) applied via wrapper's max-width and via inline style */
  transition: transform 0.3s;
  image-rendering: -webkit-optimize-contrast !important;
  image-rendering: crisp-edges;
  image-rendering: pixelated;
  backface-visibility: hidden;
  /* Remove aspect-ratio: 1/1; */
}

/* Animation styles */
.loading-screen__logo-animate-flash {
  animation: logo-flash 1.2s infinite;
}
@keyframes logo-flash {
  0%, 100% { opacity: 1;}
  50% { opacity: 0.3;}
}
.loading-screen__logo-animate-zoom {
  animation: logo-zoom 1.2s infinite;
}
@keyframes logo-zoom {
  0%, 100% { transform: scale(1);}
  50% { 
    transform: scale(var(--logo-zoom, 1.2));
  }
}

/* Progress bar */
.loading-screen__progress-bar-outer {
  width: 80vw;
  max-width: 420px;
  height: 1.2em;
  background: var(--bar-bg, #e0e0e0);
  border-radius: 0.6em;
  margin-bottom: 1rem;
  overflow: hidden;
  position: relative;
  box-shadow: 0 0.1em 0.2em rgba(0,0,0,0.07);
}

.loading-screen__progress-bar-inner {
  height: 100%;
  background: var(--bar-fill, #2196f3);
  border-radius: 0.6em;
  min-width: 1.2em;
  width: 0%;
  transition: width 0.2s cubic-bezier(.4,0,.2,1);
  will-change: width;
}

.loading-screen__progress-text {
  margin-top: 0.5em;
  font-size: 1rem;
  font-weight: 500;
  text-align: center;
  word-break: break-word;
}

/* Responsive tweaks */
@media (max-width: 900px) {
  .loading-screen__logo-wrapper {
    max-width: 48vw;
    max-height: 30vw;
  }
}
@media (max-width: 600px) {
  .loading-screen__container {
    padding: 0 1vw;
    max-width: 99vw;
  }
  .loading-screen__logo-wrapper {
    max-width: 60vw;
    max-height: 35vw;
    margin-bottom: 1.1rem;
  }
  .loading-screen__progress-bar-outer {
    height: 1.4em;
    width: 90vw;
    max-width: 98vw;
  }
  .loading-screen__progress-text {
    font-size: 1em;
  }
}
@media (max-height: 400px) {
  .loading-screen__logo-wrapper {
    max-height: 20vw;
  }
}
.button-tabs-menu {
  background: {{ section.settings.background_color }};
  padding: 1rem;
  border-radius: {{ section.settings.border_radius }}px;
  font-family: var(--font-heading-family, 'Helvetica Neue', Arial, sans-serif);
}

.button-tabs-menu__tabs {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.button-tabs-menu__tab {
  appearance: none;
  display: block;
  width: 100%;
  padding: 0.75rem 1rem;
  background: {{ section.settings.background_color }};
  color: {{ section.settings.font_color }};
  border: none;
  border-radius: {{ section.settings.border_radius }}px;
  font-family: inherit;
  font-size: 1.1rem;
  font-weight: 600;
  text-align: center;
  transition: 
    background 0.18s, 
    color 0.18s, 
    transform 0.12s;
  transform: scale({{ section.settings.scale | divided_by: 100.0 }});
  cursor: pointer;
  text-decoration: none;
}

.button-tabs-menu__tab.active,
.button-tabs-menu__tab:focus,
.button-tabs-menu__tab:hover {
  background: {{ section.settings.active_background_color }};
  color: {{ section.settings.active_font_color }};
  outline: none;
}

@media screen and (min-width: 768px) {
  .button-tabs-menu__tabs {
    flex-direction: row;
    gap: 1rem;
  }
  .button-tabs-menu__tab {
    flex: 1;
    width: auto;
    min-width: 120px;
    margin: 0;
  }
}