﻿/* -------------------------------------------------------------------------- */
/* Position                                                                   */
/* -------------------------------------------------------------------------- */
.relative,
.relative img {
  position: relative;
}

.absolute {
  position: absolute;
}

.left-0 {
  left: 0;
}

.top-0 {
  top: 0;
}

.right-0 {
  right: 0;
}

.bottom-0 {
  bottom: 0;
}

/* -------------------------------------------------------------------------- */
/* Display                                                                    */
/* -------------------------------------------------------------------------- */
.inline-block {
  display: inline-block;
}

.hide {
  display: none;
}

.w-full {
  width: 100%;
}

/* -------------------------------------------------------------------------- */
/* Text                                                                       */
/* -------------------------------------------------------------------------- */
.text-left {
  text-align: left;
}

.nowrap {
  white-space: nowrap;
}

/* -------------------------------------------------------------------------- */
/* Overflow                                                                   */
/* -------------------------------------------------------------------------- */
.overflow-hidden {
  overflow: hidden;
}

.overflow-visible {
  overflow: visible;
}

/* -------------------------------------------------------------------------- */
/* Pointer Events                                                             */
/* -------------------------------------------------------------------------- */
.p-events-none {
  pointer-events: none;
}

/* -------------------------------------------------------------------------- */
/* Z-Index                                                                    */
/* -------------------------------------------------------------------------- */
.z-index-minus {
  z-index: -9;
}

.z-index-plus,
.z-index-plus img {
  z-index: 9;
}

.z-index-99 {
  z-index: 99;
}

.z-index-0 {
  z-index: 0;
}

/* -------------------------------------------------------------------------- */
/* Sizing                                                                     */
/* -------------------------------------------------------------------------- */
.height-300px {
  height: 360px !important;
}

/* -------------------------------------------------------------------------- */
/* Layout                                                                     */
/* -------------------------------------------------------------------------- */

.align-with-content-left {
  /*
   * Full-width Groups already use the theme's constrained content layout.
   * Keep their native gutters intact so a nested Columns block is positioned
   * against that shared content edge rather than re-centred in an offset area.
   */
  padding-inline: var(--wp--preset--spacing--50) !important;
}

.align-with-content-left > .wp-block-columns {
  /*
   * A Columns block set to Wide is wider than the normal content area. Anchor
   * its left edge to the normal content column and let the extra width extend
   * to the right.
   */
  margin-inline-start: max(
    0px,
    calc((100% - var(--wp--style--global--content-size, 1200px)) / 2)
  ) !important;
}

.r-gap-0 {
  row-gap: 0;
}

/* -------------------------------------------------------------------------- */
/* Media                                                                      */
/* -------------------------------------------------------------------------- */
.ar-1-1 {
  aspect-ratio: 1 / 1;
}

.ar-16-9 img {
  aspect-ratio: 16 / 9;
}

.bw img {
  filter: grayscale(100%);
  mix-blend-mode: multiply;
}

/* -------------------------------------------------------------------------- */
/* Responsive Visibility                                                      */
/* -------------------------------------------------------------------------- */
@media screen and (min-width: 720px) {
  .lg-hide {
    display: none !important;
  }
}

@media screen and (max-width: 720px) {
  .sm-hide {
    display: none !important;
  }

  .sm-gap-s {
    gap: 2rem;
  }

  .sm-flex-50 {
    flex-basis: 50% !important;
  }

  .sm-flex-end {
    justify-content: flex-end;
  }

   .sm-flex-start {
    align-items: flex-start;
  }

  .sm-justify-center {
    justify-content: center;
  }

  .sm-text-center {
    text-align: center;
  }

  .sm-relative {
    position: relative !important;
  }

  .sm-mb-auto {
    margin-bottom: auto !important;
  }

  .sm-py-2 {
    padding-inline: 2rem;
  }

  .sm-order-1 {
    order: 1;
  }

  .sm-order-2 {
    order: 2;
  }

  .sm-order-3 {
    order: 3;
  }
}