/******* Do not edit this file *******
Simple Custom CSS and JS - by Silkypress.com
Saved: Oct 29 2025 | 09:18:12 */
/* MIXINS */
/**
 * Placeholder mixin. Usage:
 * input {
 *     @include placeholder {
 *         color: #ccc;
 *     }
 * }
 */
/**
 * Visually hidden mixin.
 * Use this mixin to hide content visually but keep it accessible to screen readers.
 * Source: https://github.com/twbs/bootstrap/blob/v5.3.3/scss/mixins/_visually-hidden.scss
 * Usage: use the class .visually-hidden on the element you want to hide, or:
 * .elem-to-hide {
 *     @include visually-hidden();
 * }
 */
/**
 * Swiper Ready mixin.
 * Prepare for Swiper.js layout to prevent layout shifts: one row, no wrap - only until not initialized
 * Multiple number of columns and custom gaps are supported with custom classes
 * See: fzsgp_utilities.scss -> .swiper-ready
 */
/**
 * Editor Grid Layout mixin.
 * Add grid layout in the editor only
 * Multiple number of columns are supported with custom classes
 * See: fzsgp_utilities.scss -> .editor-grid-layout
 */
/* GENERAL */
/* General */
.cursor-pointer {
  cursor: pointer;
}
.position-absolute {
  position: absolute;
}
.pointer-events-none {
  pointer-events: none;
}
.vertical-align-top, .before-vertical-align-top:before {
  vertical-align: top;
}
.text-decoration-none, .text-decoration-none a {
  text-decoration: none !important;
}
/* Hide on media queries */
@media (max-width: 767px) {
  .hide-mobile {
    display: none !important;
  }
}
@media (min-width: 768px) and (max-width: 1024px) {
  .hide-tablet {
    display: none !important;
  }
}
@media (min-width: 1025px) {
  .hide-desktop {
    display: none !important;
  }
}
@media (max-width: 1024px) {
  .hide-tablet-down {
    display: none !important;
  }
}
@media (min-width: 768px) {
  .hide-tablet-up {
    display: none !important;
  }
}
/* Helpers */
/* Useful when spacing container items with gaps */
.disable-default-child-spacing > * {
  margin-bottom: 0;
}
/* Visually hidden (screen reader support) */
.visually-hidden {
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}
.visually-hidden:not(caption) {
  position: absolute !important;
}
/* Hyphens */
.hyphens-auto {
  hyphens: auto;
}
@media (max-width: 767px) {
  .hyphens-auto-mobile {
    hyphens: auto;
  }
}
/* Swiper Ready - .swiper-ready(-x-y-z-a-b-c) */
/* Mimic Swiper.js layout to prevent layout shifts */
/* Use on the container that will be initialized as Swiper */
/* Only until not initialized, only on frontend */
/* Uses the swiper-ready mixin: @mixin swiper-ready($col-m, $col-t, $col-d, $gap-m, $gap-t, $gap-d) */
body:not(.block-editor-page):not(.block-editor-iframe__body) .swiper-ready:not(.swiper-initialized) > *:first-child, body:not(.block-editor-page):not(.block-editor-iframe__body) .swiper-ready-1_15-2_25-3-16-24-24:not(.swiper-initialized) > *:first-child {
  display: flex;
  flex-wrap: nowrap;
  column-gap: 16px;
}
@media (min-width: 768px) and (max-width: 1024px) {
  body:not(.block-editor-page):not(.block-editor-iframe__body) .swiper-ready:not(.swiper-initialized) > *:first-child, body:not(.block-editor-page):not(.block-editor-iframe__body) .swiper-ready-1_15-2_25-3-16-24-24:not(.swiper-initialized) > *:first-child {
    column-gap: 24px;
  }
}
@media (min-width: 1025px) {
  body:not(.block-editor-page):not(.block-editor-iframe__body) .swiper-ready:not(.swiper-initialized) > *:first-child, body:not(.block-editor-page):not(.block-editor-iframe__body) .swiper-ready-1_15-2_25-3-16-24-24:not(.swiper-initialized) > *:first-child {
    column-gap: 24px;
  }
}
body:not(.block-editor-page):not(.block-editor-iframe__body) .swiper-ready:not(.swiper-initialized) > *:first-child > *, body:not(.block-editor-page):not(.block-editor-iframe__body) .swiper-ready-1_15-2_25-3-16-24-24:not(.swiper-initialized) > *:first-child > * {
  flex-shrink: 0;
  width: calc((100% - 0.15 * 16px) / 1.15);
}
@media (min-width: 768px) and (max-width: 1024px) {
  body:not(.block-editor-page):not(.block-editor-iframe__body) .swiper-ready:not(.swiper-initialized) > *:first-child > *, body:not(.block-editor-page):not(.block-editor-iframe__body) .swiper-ready-1_15-2_25-3-16-24-24:not(.swiper-initialized) > *:first-child > * {
    width: calc((100% - 1.25 * 24px) / 2.25);
  }
}
@media (min-width: 1025px) {
  body:not(.block-editor-page):not(.block-editor-iframe__body) .swiper-ready:not(.swiper-initialized) > *:first-child > *, body:not(.block-editor-page):not(.block-editor-iframe__body) .swiper-ready-1_15-2_25-3-16-24-24:not(.swiper-initialized) > *:first-child > * {
    width: calc((100% - 2 * 24px) / 3);
  }
}
/* Grid Layout in editor only */
/* Uses the editor-grid-layout mixin: @mixin editor-grid-layout($col-m, $col-t, $col-d, $gap-m, $gap-t, $gap-d) */
body.block-editor-page .editor-grid-layout, body.block-editor-iframe__body .editor-grid-layout {
  display: grid !important;
  max-width: 100% !important;
  gap: 16px !important;
  grid-template-columns: repeat(1, minmax(0, 1fr));
}
@media (min-width: 768px) and (max-width: 1024px) {
  body.block-editor-page .editor-grid-layout, body.block-editor-iframe__body .editor-grid-layout {
    gap: 16px !important;
  }
}
@media (min-width: 1025px) {
  body.block-editor-page .editor-grid-layout, body.block-editor-iframe__body .editor-grid-layout {
    gap: 24px !important;
  }
}
@media (min-width: 768px) and (max-width: 1024px) {
  body.block-editor-page .editor-grid-layout, body.block-editor-iframe__body .editor-grid-layout {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (min-width: 1025px) {
  body.block-editor-page .editor-grid-layout, body.block-editor-iframe__body .editor-grid-layout {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
body.block-editor-page .editor-grid-layout > *, body.block-editor-iframe__body .editor-grid-layout > * {
  width: auto !important;
  margin: 0 !important;
}
body.block-editor-page .editor-grid-layout-2-3-4, body.block-editor-iframe__body .editor-grid-layout-2-3-4 {
  display: grid !important;
  max-width: 100% !important;
  gap: 8px !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
@media (min-width: 768px) and (max-width: 1024px) {
  body.block-editor-page .editor-grid-layout-2-3-4, body.block-editor-iframe__body .editor-grid-layout-2-3-4 {
    gap: 16px !important;
  }
}
@media (min-width: 1025px) {
  body.block-editor-page .editor-grid-layout-2-3-4, body.block-editor-iframe__body .editor-grid-layout-2-3-4 {
    gap: 24px !important;
  }
}
@media (min-width: 768px) and (max-width: 1024px) {
  body.block-editor-page .editor-grid-layout-2-3-4, body.block-editor-iframe__body .editor-grid-layout-2-3-4 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
@media (min-width: 1025px) {
  body.block-editor-page .editor-grid-layout-2-3-4, body.block-editor-iframe__body .editor-grid-layout-2-3-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}
body.block-editor-page .editor-grid-layout-2-3-4 > *, body.block-editor-iframe__body .editor-grid-layout-2-3-4 > * {
  width: auto !important;
  margin: 0 !important;
}
/* CUSTOM BLOCKS */
.fzsgp-wp-gallery-layout-1 .wp-block-gallery, .custom-gallery-layout-1 .wp-block-gallery {
  grid-template-columns: repeat(2, 1fr);
  grid-auto-rows: 1fr;
  grid-auto-flow: dense;
}
@media (min-width: 768px) {
  .fzsgp-wp-gallery-layout-1 .wp-block-gallery, .custom-gallery-layout-1 .wp-block-gallery {
    grid-template-columns: repeat(4, 1fr);
  }
}
.fzsgp-wp-gallery-layout-1 .wp-block-gallery .wp-block-image, .custom-gallery-layout-1 .wp-block-gallery .wp-block-image {
  --wp--style--unstable-gallery-gap: 0;
}
.fzsgp-wp-gallery-layout-1 .wp-block-gallery .wp-block-image:nth-child(4n+1) img, .fzsgp-wp-gallery-layout-1 .wp-block-gallery .wp-block-image:nth-child(4n+2) img, .fzsgp-wp-gallery-layout-1 .wp-block-gallery .wp-block-image:nth-child(4n+3) img, .custom-gallery-layout-1 .wp-block-gallery .wp-block-image:nth-child(4n+1) img, .custom-gallery-layout-1 .wp-block-gallery .wp-block-image:nth-child(4n+2) img, .custom-gallery-layout-1 .wp-block-gallery .wp-block-image:nth-child(4n+3) img {
  aspect-ratio: 1;
}
.fzsgp-wp-gallery-layout-1 .wp-block-gallery .wp-block-image:nth-child(4n+4) img, .custom-gallery-layout-1 .wp-block-gallery .wp-block-image:nth-child(4n+4) img {
  aspect-ratio: 2;
}
.fzsgp-wp-gallery-layout-1 .wp-block-gallery .wp-block-image:nth-child(8n+1), .custom-gallery-layout-1 .wp-block-gallery .wp-block-image:nth-child(8n+1) {
  grid-column: span 2;
  grid-row: span 2;
}
.fzsgp-wp-gallery-layout-1 .wp-block-gallery .wp-block-image:nth-child(8n+4), .custom-gallery-layout-1 .wp-block-gallery .wp-block-image:nth-child(8n+4) {
  grid-column: span 2;
}
.fzsgp-wp-gallery-layout-1 .wp-block-gallery .wp-block-image:nth-child(8n+7), .custom-gallery-layout-1 .wp-block-gallery .wp-block-image:nth-child(8n+7) {
  grid-column: span 2;
  grid-row: span 2;
}
.fzsgp-wp-gallery-layout-1 .wp-block-gallery .wp-block-image:nth-child(8n+8), .custom-gallery-layout-1 .wp-block-gallery .wp-block-image:nth-child(8n+8) {
  grid-column: span 2;
}
.fzsgp-wp-gallery-layout-2 .wp-block-gallery, .custom-gallery-layout-2 .wp-block-gallery {
  grid-template-columns: repeat(2, 1fr);
  grid-auto-rows: 1fr;
  grid-auto-flow: dense;
}
@media (min-width: 768px) {
  .fzsgp-wp-gallery-layout-2 .wp-block-gallery, .custom-gallery-layout-2 .wp-block-gallery {
    grid-template-columns: repeat(4, 1fr);
  }
}
.fzsgp-wp-gallery-layout-2 .wp-block-gallery .wp-block-image, .custom-gallery-layout-2 .wp-block-gallery .wp-block-image {
  --wp--style--unstable-gallery-gap: 0;
}
.fzsgp-wp-gallery-layout-2 .wp-block-gallery .wp-block-image:nth-child(4n+1) img, .fzsgp-wp-gallery-layout-2 .wp-block-gallery .wp-block-image:nth-child(4n+2) img, .fzsgp-wp-gallery-layout-2 .wp-block-gallery .wp-block-image:nth-child(4n+3) img, .custom-gallery-layout-2 .wp-block-gallery .wp-block-image:nth-child(4n+1) img, .custom-gallery-layout-2 .wp-block-gallery .wp-block-image:nth-child(4n+2) img, .custom-gallery-layout-2 .wp-block-gallery .wp-block-image:nth-child(4n+3) img {
  aspect-ratio: 1;
}
.fzsgp-wp-gallery-layout-2 .wp-block-gallery .wp-block-image:nth-child(4n+4) img, .custom-gallery-layout-2 .wp-block-gallery .wp-block-image:nth-child(4n+4) img {
  aspect-ratio: 2;
}
.fzsgp-wp-gallery-layout-2 .wp-block-gallery .wp-block-image:nth-child(8n+3), .custom-gallery-layout-2 .wp-block-gallery .wp-block-image:nth-child(8n+3) {
  grid-column: span 2;
  grid-row: span 2;
}
.fzsgp-wp-gallery-layout-2 .wp-block-gallery .wp-block-image:nth-child(8n+4), .custom-gallery-layout-2 .wp-block-gallery .wp-block-image:nth-child(8n+4) {
  grid-column: span 2;
}
.fzsgp-wp-gallery-layout-2 .wp-block-gallery .wp-block-image:nth-child(8n+5), .custom-gallery-layout-2 .wp-block-gallery .wp-block-image:nth-child(8n+5) {
  grid-column: span 2;
  grid-row: span 2;
}
.fzsgp-wp-gallery-layout-2 .wp-block-gallery .wp-block-image:nth-child(8n+8), .custom-gallery-layout-2 .wp-block-gallery .wp-block-image:nth-child(8n+8) {
  grid-column: span 2;
}
/**
 * WP Gallery - Swiper Helpers
 * Notes: Add "min-width: 0px" and "max-width: 100%" to the
 * wrapper of .fzsgp-wp-gallery-swiper to prevent "huge slides" bug.
 * See: https://github.com/nolimits4web/swiper/issues/3599
 */
/* Forced "row" layout, so Swiper can automatically detect slides */
/* Extra selectors are for overriding WP defaults */
.fzsgp-wp-gallery-swiper > .wp-block-gallery.has-nested-images {
  display: flex;
  flex-wrap: nowrap;
  flex-direction: row;
}
.fzsgp-wp-gallery-swiper > .wp-block-gallery.has-nested-images > figure.wp-block-image:not(#individual-image) {
  width: auto;
}
.fzsgp-wp-gallery-swiper > .wp-block-gallery.has-nested-images > figure.wp-block-image:not(#individual-image) img {
  width: 100%;
}
.fzsgp-wp-gallery-swiper.swiper-initialized > .wp-block-gallery {
  gap: 0;
}
/* Collapse the gallery into one image - useful for crossfade image swap */
.fzsgp-wp-gallery-collapse > .wp-block-gallery .wp-block-image img {
  user-select: none;
}
.fzsgp-wp-gallery-collapse:not(.swiper-initialized) > .wp-block-gallery .wp-block-image {
  pointer-events: none;
}
.fzsgp-wp-gallery-collapse:not(.swiper-initialized) > .wp-block-gallery .wp-block-image:not(:first-child), .fzsgp-wp-gallery-collapse:not(.swiper-initialized) > .wp-block-gallery .wp-block-image:not(:first-child) img {
  display: none;
}
