/* Accordion: https://github.com/1point21interactive/1p21_wp_boilerplate/blob/master/wp-content/themes/1p21-boilerplate/docs/components/accordion.md#accordion
--------------------------------------------------------------- */
:where(.content-block):not([data-accordionStyles-enabled="false"]) .accordion:not(.open) {
  display: none;
}

/* Accordion: Toggle  https://github.com/1point21interactive/1p21_wp_boilerplate/blob/master/wp-content/themes/1p21-boilerplate/docs/components/accordion.md#data-toggle-accordion
--------------------------------------------------------------- */
:where(.content-block):not([data-accordionStyles-enabled="false"]) .accordion-trigger {
  cursor: pointer;
  border-bottom: 1px solid var(--color-neutral);
  padding-bottom: 2rem;
  margin-bottom: 2rem;
}
:where(.content-block):not([data-accordionStyles-enabled="false"]) .accordion-trigger > * {
  pointer-events: none;
}
:where(.content-block):not([data-accordionStyles-enabled="false"]) .accordion-trigger::after {
  content: "+";
}
:where(.content-block):not([data-accordionStyles-enabled="false"]) .accordion-trigger.open {
  color: var(--color-primary);
}
:where(.content-block):not([data-accordionStyles-enabled="false"]) .accordion-trigger.open::after {
  content: "-";
}

/*# sourceMappingURL=base-accordion.css.map */
/* Awards https://github.com/1point21interactive/1p21_wp_boilerplate/blob/master/wp-content/themes/1p21-boilerplate/docs/parts/awards.md
--------------------------------------------------------------- */

/*# sourceMappingURL=base-awards.css.map */
/* Buttons: https://github.com/1point21interactive/1p21_wp_boilerplate/blob/master/wp-content/themes/1p21-boilerplate/docs/components/buttons.md
--------------------------------------------------------------- */
/* Button Skeletons. do not edit 
--------------------------------------------------------------- */
:where(.content-block):not([data-buttonStyles-enabled="false"]) .button {
  border: var(--button-border-width) solid;
  padding-inline: calc(var(--button-padding-x) - var(--button-border-width));
  padding-block: calc((var(--button-height) - var(--button-border-width) * 2 - 1em * var(--button-lines) * var(--button-line-height)) * var(--button-baseline-offset)) calc((var(--button-height) - var(--button-border-width) * 2 - 1em * var(--button-lines) * var(--button-line-height)) * (1 - var(--button-baseline-offset)));
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  max-width: 100%;
  background: none;
  text-align: center;
  transition: all 0.125s ease-in-out;
  min-height: var(--button-height);
  border-radius: var(--button-border-radius);
  display: inline-flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  vertical-align: middle;
  gap: 0.25em;
  background-clip: border-box;
  background-origin: border-box;
}
:where(.content-block):not([data-buttonStyles-enabled="false"]) .button, :where(.content-block):not([data-buttonStyles-enabled="false"]) .button:is(:hover, :focus) {
  text-decoration: none;
}

/* Button Customizations: https://github.com/1point21interactive/1p21_wp_boilerplate/blob/master/wp-content/themes/1p21-boilerplate/docs/components/buttons.md#css-vars 
--------------------------------------------------------------- */
:where(.content-block):not([data-buttonStyles-enabled="false"]) .button {
  --button-height: 4rem;
  /* ideal height of the button including the `var(--button-border-width)` on both top and bottom, vertical padding and the line height times the set `var(--button-lines)`. Designs will have buttons setup by a height. This makes it easier on our end to support. */
  --button-border-width: 2px;
  /* border width. This will be accounted for in calculating the button height as well */
  --button-border-radius: 10px;
  /* button radius */
  --button-padding-x: 1.5em;
  /* horizontal padding */
  --button-lines: 1;
  /* Number of lines to compensate for the button height.
  	* NOTE: this value has to be unitless for calc values to work. */
  --button-baseline-offset: 0.5;
  /* Let's say the font on your build has its baseline a little too low or high so inside a button, it doesn't seem vertically centered and makes our designer pals sad. Modify this value to shift that alignment and make the button as pretty as it can be again.
  	* 1 moves the text to the very bottom.
  	* 0 moves the text to the very top.
  	* 0.5 will center it based on the fonts' baseline alignment
  	* NOTE: this value has to be unitless for calc values to work. */
  --button-line-height: 1.125;
  /* line height
  	* Usually there's no need to modify this unless a multiline button is present in the design and has a line height drastically different to what is set (currently 1.125).
  	* NOTE: this value has to be unitless for calc values to work.
  	* Formula is line-height-px / font-size-px 
  	* font-size 16px and line-height at 20px
  	* 20/16 = 1.25 (Note: Unitless value) */
  font-size: 1rem;
  line-height: 1.125;
  line-height: var(--button-line-height);
  font-family: var(--font-accent);
  color: var(--color-primary);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  font-style: normal;
  font-weight: 700;
  text-decoration: none;
  min-width: 12ch;
}
/* Buttons Sizing Helpers: https://github.com/1point21interactive/1p21_wp_boilerplate/blob/master/wp-content/themes/1p21-boilerplate/docs/components/button.md#button-size-name
--------------------------------------------------------------- */
/* button w/ a height even more smaller than the default height */
:where(.content-block):not([data-buttonStyles-enabled="false"]) .button.button-size-micro {
  font-size: 0.75rem;
  --button-height: 2em;
}
/* button w/ a height smaller than the default height */
:where(.content-block):not([data-buttonStyles-enabled="false"]) .button.button-size-small {
  font-size: 0.875rem;
  --button-height: 3em;
}
/* button w/ a height slightly larger than the default height but it's not that big */
:where(.content-block):not([data-buttonStyles-enabled="false"]) .button.button-size-medium {
  --button-height: 4.5em;
}
/* button w/ a height larger than the default height */
:where(.content-block):not([data-buttonStyles-enabled="false"]) .button.button-size-large {
  --button-height: 5em;
}
/* button w/ a height that's even larger for no reason than the larger height */
:where(.content-block):not([data-buttonStyles-enabled="false"]) .button.button-size-larger {
  font-size: 1.25rem;
  --button-height: 5.5em;
}
/* constricts the width equal to whatever size height is set*/
:where(.content-block):not([data-buttonStyles-enabled="false"]) .button.button-size-equal {
  --button-padding-x: 0;
  min-width: 0;
  width: var(--button-height);
  text-overflow: ellipsis;
  overflow: hidden;
}

/* Buttons Color Palette Helpers: https://github.com/1point21interactive/1p21_wp_boilerplate/blob/master/wp-content/themes/1p21-boilerplate/docs/components/button.md#button-palette-name
--------------------------------------------------------------- */
/* 
* Default - most frequent button palette in the comps
* Invert - reuses default's colors but palettes for hover vs not hover are reversed
* Outline - text w/ border influencing text color
* Minimal - no colors except for the text
Adjust as needed.
*/
:where(.content-block):not([data-buttonStyles-enabled="false"]) .button.button-palette-default, :where(.content-block):not([data-buttonStyles-enabled="false"]) .button.button-palette-reverse:is(:hover, :focus) {
  background-image: linear-gradient(to top, var(--color-primary-gradient-start) 0%, var(--color-primary-gradient-end) 100%);
  background-color: var(--color-primary);
  color: var(--color-light);
  border-color: transparent;
}
:where(.content-block):not([data-buttonStyles-enabled="false"]) .button.button-palette-default:is(:hover, :focus), :where(.content-block):not([data-buttonStyles-enabled="false"]) .button.button-palette-outline:is(:hover, :focus), :where(.content-block):not([data-buttonStyles-enabled="false"]) .button.button-palette-reverse {
  background-image: linear-gradient(to top, var(--color-secondary-gradient-start) 0%, var(--color-secondary-gradient-end) 100%);
  background-color: var(--color-secondary);
  color: var(--color-light);
  border-color: transparent;
}
:where(.content-block):not([data-buttonStyles-enabled="false"]) .button.button-palette-minimal {
  background-color: transparent;
  background-image: none;
  color: inherit;
  border-color: transparent;
}
:where(.content-block):not([data-buttonStyles-enabled="false"]) .button.button-palette-minimal:is(:hover, :focus) {
  background-color: transparent;
  background-image: none;
  color: var(--scheme-sp, var(--color-primary));
  border-color: transparent;
}
:where(.content-block):not([data-buttonStyles-enabled="false"]) .button.button-palette-outline {
  background-color: transparent;
  background-image: none;
  color: inherit;
  border-color: currentColor;
}
/*
primary palette. adjust or omit as needed
* Tip: if both a flat and gradient version of the palette exists in the design, adding the class .button-style-flat to this .button-palette-* class will disable the gradient
*/
/*
secondary palette. adjust or omit as needed
* Tip: if both a flat and gradient version of the palette exists in the design, adding the class .button-style-flat to this .button-palette-* class will disable the gradient
*/
/*
accent palette. adjust or omit as needed
* Tip: if both a flat and gradient version of the palette exists in the design, adding the class .button-style-flat to this .button-palette-* class will disable the gradient
*/
/* Other Buttons Variations Helpers: https://github.com/1point21interactive/1p21_wp_boilerplate/blob/master/wp-content/themes/1p21-boilerplate/docs/components/button.md#button-style-name
--------------------------------------------------------------- */
/* buttons with extra decorations or whichever is the most specially styled. overhaul or add more button styles as needed */
:where(.content-block):not([data-buttonStyles-enabled="false"]) .button.button-style-special {
  position: relative;
  z-index: 1;
  transform-style: preserve-3d;
  --button-border-offset: 0.5em;
  border-color: rgba(255, 255, 255, 0.2);
  box-shadow: 0 0 0 var(--button-border-width) var(--color-accent);
  border-width: 0.5em;
  border-width: var(--button-border-offset);
  background-clip: padding-box;
  padding-block: calc((var(--button-height) - 0.5em * 2 - var(--button-border-width) * 2 - 1em * var(--button-lines) * var(--button-line-height)) * var(--button-baseline-offset)) calc((var(--button-height) - 0.5em * 2 - var(--button-border-width) * 2 - 1em * var(--button-lines) * var(--button-line-height)) * (1 - var(--button-baseline-offset)));
  padding-block: calc((var(--button-height) - var(--button-border-offset) * 2 - var(--button-border-width) * 2 - 1em * var(--button-lines) * var(--button-line-height)) * var(--button-baseline-offset)) calc((var(--button-height) - var(--button-border-offset) * 2 - var(--button-border-width) * 2 - 1em * var(--button-lines) * var(--button-line-height)) * (1 - var(--button-baseline-offset)));
}
:where(.content-block):not([data-buttonStyles-enabled="false"]) .button.button-style-special::before {
  content: "";
  transition: box-shadow 0.125s ease-in-out;
  display: inline-block;
  align-self: center;
  margin-right: 1.5em;
  margin-left: 0.375em;
  margin-bottom: 0.375em;
  width: 1.5rem;
  height: var(--button-border-width);
  background: currentColor;
  box-shadow: 0em -0.375em 0 0, -0.375em 0 0 0, 0.375em 0 0 0, 0em 0.375em 0 0;
}
:where(.content-block):not([data-buttonStyles-enabled="false"]) .button.button-style-special:is(:hover, :focus) {
  box-shadow: 0 0 0 var(--button-border-width) var(--color-primary);
  border-color: rgba(255, 255, 255, 0.5);
}
:where(.content-block):not([data-buttonStyles-enabled="false"]) .button.button-style-special:is(:hover, :focus)::before {
  box-shadow: 0.375em -0.375em 0 0, -0.75em 0 0 0, -0.75em 0 0 0, 0.375em 0.375em 0 0;
}

/* link style button. Usually the maps link or read more text for blog posts */
:where(.content-block):not([data-buttonStyles-enabled="false"]) .button.button-style-link {
  --button-border-width: 2px;
  border-radius: 0;
  padding: 0 0 0.5em;
  border-width: 0 0 2px;
  border-width: 0 0 var(--button-border-width);
  min-height: 0;
  background: none;
  box-shadow: none;
  min-height: 0;
  min-width: 0;
  color: inherit;
  letter-spacing: 0em;
  text-transform: none;
}
:where(.content-block):not([data-buttonStyles-enabled="false"]) .button.button-style-link:is(:hover, :focus) {
  background: none;
  border-color: var(--color-primary);
}

/* undo background gradients in favor for the flat background color for button-palette. will only work if backgrounds are setup with proper fallbacks (background-gradient with a background-color fallback) */
:where(.content-block):not([data-buttonStyles-enabled="false"]) .button.button-style-flat, :where(.content-block):not([data-buttonStyles-enabled="false"]) .button.button-style-flat:is(:hover, :focus) {
  background-image: none;
}

/* remove radius */
:where(.content-block):not([data-buttonStyles-enabled="false"]) .button.button-style-no-radius {
  --button-border-radius: 0;
}

/* no corners for the button. only soft bbies */
:where(.content-block):not([data-buttonStyles-enabled="false"]) .button.button-style-round {
  --button-border-radius: calc(var(--button-height) * 0.5);
}

/* very corners for the button. only pointy bbies */
:where(.content-block):not([data-buttonStyles-enabled="false"]) .button.button-style-sharp {
  --button-border-radius: 0em;
}

/* button styles that have thicker borders than usual */
:where(.content-block):not([data-buttonStyles-enabled="false"]) .button.button-style-thick-border {
  --button-border-width: 4px;
}

/* button styles that have thicker borders than usual */
:where(.content-block):not([data-buttonStyles-enabled="false"]) .button.button-style-thin-border {
  --button-border-width: 1px;
}

/* button styles that have thicker borders than usual */
:where(.content-block):not([data-buttonStyles-enabled="false"]) .button.button-style-no-border {
  --button-border-width: 0px;
}

/* diamond buttons. best if paired with .button-size-equal */
@supports (clip-path: polygon(0 0, 0 0, 0 0, 0 0)) {
  :where(.content-block):not([data-buttonStyles-enabled="false"]) .button.button-style-diamond {
    overflow: hidden;
    clip-path: polygon(50% 0, 100% 50%, 50% 100%, 0 50%);
  }
}

/* if the slider buttons have unique overrides */
:where(.content-block):not([data-buttonStyles-enabled="false"]) .button.button-style-slider.button-palette-minimal {
  --button-height: 2.5em;
  --button-padding-x: 0.4em;
}
/* Misc Button stuff. Add as needed
--------------------------------------------------------------- */
/* little arrow indicator for slider arrows: .button.button-size-equal.button-palette-default > i.button-slider-glyph */
:where(.content-block):not([data-buttonStyles-enabled="false"]) .button-slider-glyph:empty::after {
  display: inline-block;
  order: 9;
  align-self: center;
  transform-origin: center center;
  /* slider glyph border arrow styles */
  content: "";
  width: 1em;
  height: 1em;
  border: 2px solid currentColor;
  border-left: 0;
  border-bottom: 0;
  transform: rotate(45deg);
  flex: 0 0 auto;
  margin-left: -0.375em;
}
:where(.content-block):not([data-buttonStyles-enabled="false"]) :is(.prev, [rel=prev], .slick-prev, .swpier-button-prev) .button-slider-glyph {
  transform: scaleX(-1);
}

/*# sourceMappingURL=base-button.css.map */
/* Carousels https://github.com/1point21interactive/1p21_wp_boilerplate/blob/master/wp-content/themes/1p21-boilerplate/docs/includes/repeater/carousel.md
--------------------------------------------------------------- */
/* Carousel Item skeletons. Do not Edit.
--------------------------------------------------------------- */
:where(.content-block):not([data-carouselStyles-enabled="false"]) .carousel-item {
  text-align: center;
}
:where(.content-block):not([data-carouselStyles-enabled="false"]) .carousel-item-image {
  height: var(--carousel-height);
}
:where(.content-block):not([data-carouselStyles-enabled="false"]) .carousel-item-image > :where(*) {
  pointer-events: none;
}
:where(.content-block):not([data-carouselStyles-enabled="false"]) .carousel-item-image,
:where(.content-block):not([data-carouselStyles-enabled="false"]) .carousel-item-image picture {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
}
:where(.content-block):not([data-carouselStyles-enabled="false"]) .carousel-item-image :where(svg, object, img) {
  height: auto !important;
}
:where(.content-block):not([data-carouselStyles-enabled="false"]) .carousel-item-image :where(img, svg, object, picture) {
  width: auto !important;
  max-width: 100% !important;
  max-height: 100% !important;
  align-self: center;
  flex: 0 0 auto;
}

/* Carousel Item Customizations
--------------------------------------------------------------- */
:where(.content-block):not([data-carouselStyles-enabled="false"]) :where(.swiper, .slick) {
  /* height of award. best to set to the tallest award logo provided  */
  --carousel-height: 120px;
}

/*# sourceMappingURL=base-carousel.css.map */
/* Columns: https://github.com/1point21interactive/1p21_wp_boilerplate/blob/master/wp-content/themes/1p21-boilerplate/docs/components/columns.md
--------------------------------------------------------------- */
/* Column Skeletons. do not edit 
Vars: https://github.com/1point21interactive/1p21_wp_boilerplate/blob/master/wp-content/themes/1p21-boilerplate/docs/components/columns.md#css-vars
--------------------------------------------------------------- */
:where(.content-block):not([data-columnsStyles-enabled="false"]) .columns {
  --columns-gap-x: 0px;
  /* Number of columns desired for the layout */
  --columns-gap-y: 0rem;
  /* distance between columns horizontally */
  --columns-number: 1;
  /* distance between columns vertically */
  width: 100%;
}
:where(.content-block):not([data-columnsStyles-enabled="false"]) .columns,
:where(.content-block):not([data-columnsStyles-enabled="false"]) .columns > :where(*) {
  min-width: 0;
  max-width: 100%;
  width: 100%;
}
:where(.content-block):not([data-columnsStyles-enabled="false"]) .columns:where(.columns-flex) {
  display: flex;
  flex-wrap: wrap;
  row-gap: var(--columns-gap-y);
  -moz-column-gap: var(--columns-gap-x);
       column-gap: var(--columns-gap-x);
}
:where(.content-block):not([data-columnsStyles-enabled="false"]) .columns:where(.columns-flex) > :where(*) {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: calc(100% / var(--columns-number) - var(--columns-gap-x) * (var(--columns-number) - 1) / var(--columns-number));
}
:where(.content-block):not([data-columnsStyles-enabled="false"]) .columns:where(.columns-grid) {
  display: grid;
  grid-row-gap: var(--columns-gap-y);
  row-gap: var(--columns-gap-y);
  grid-column-gap: var(--columns-gap-x);
  -moz-column-gap: var(--columns-gap-x);
       column-gap: var(--columns-gap-x);
  grid-template-columns: repeat(var(--columns-number), calc(100% / var(--columns-number) - var(--columns-gap-x) * (var(--columns-number) - 1) / var(--columns-number)));
}
:where(.content-block):not([data-columnsStyles-enabled="false"]) .columns.columns-masonry {
  -moz-column-count: var(--columns-number);
       column-count: var(--columns-number);
  -webkit-column-count: var(--columns-number);
  -moz-column-gap: var(--columns-gap-x);
       column-gap: var(--columns-gap-x);
  -webkit-column-gap: var(--columns-gap-x);
}
:where(.content-block):not([data-columnsStyles-enabled="false"]) .columns.columns-masonry > :where(*) {
  page-break-inside: avoid;
  -moz-column-break-inside: avoid;
       break-inside: avoid;
}
:where(.content-block):not([data-columnsStyles-enabled="false"]) .columns.columns-masonry > :where(*):nth-child(n+2) {
  margin-top: var(--columns-gap-y);
}

/*# sourceMappingURL=base-columns.css.map */
/* Container: https://github.com/1point21interactive/1p21_wp_boilerplate/blob/master/wp-content/themes/1p21-boilerplate/docs/components/container.md
--------------------------------------------------------------- */
/* Container Skeletons. do not edit 
--------------------------------------------------------------- */
:where(.content-block):not([data-containerStyles-enabled="false"]) .container {
  /* do not attempt to override or your container may misalign. containers are meant to always be centered after all */
  /* Tip: if something in the design is off center, consult with designer or use additional padding or margin as needed for the contents instead */
  padding-inline: min(var(--container-fallback), var(--container-gutter)) !important;
  margin-inline: auto !important;
  /* widths*/
  max-width: 100%;
  width: calc(100% - max(var(--container-gutter) - min(var(--container-fallback), var(--container-gutter)), 0rem) * 2);
  min-width: 0;
  /* flex stuff */
  flex: 0 0 auto;
  grid-column: 1/-1;
  /* container query support */
  container: container/inline-size;
}

/* Fallback Scaffolding. Usually no need to edit: https://github.com/1point21interactive/1p21_wp_boilerplate/blob/master/wp-content/themes/1p21-boilerplate/docs/components/container.md#css-vars 
--------------------------------------------------------------- */
:where(.content-block):not([data-containerStyles-enabled="false"]) .container {
  --container-fallback: 20px;
  /* customizeable distance. Set as the `--container-fallback` by default. Can be customized depending on the design of a given section though 20px - 30px should be enough */
  --container-size-reference: var(--comp);
  /* window width or section width. you wont usually need to manipulate this value  unless complex split layout designs */
  --container-gutter: var(--container-fallback);
  /* the value to constrain the container's horizontal space. you will mostly modify this variable. */
}
@media only screen and (min-width: 1400px) {
  :where(.content-block):not([data-containerStyles-enabled="false"]) .container {
    --container-fallback: 60px;
  }
}
/* on some cases container query support is a conflict of interest and makes positioned/flex/grid children act weird. use this helper if you dont need container queries */
:where(.content-block):not([data-containerStyles-enabled="false"]) .container.container-style-normal {
  /* container query support */
  container-type: normal;
}

/* Custom Container Size Variations: https://github.com/1point21interactive/1p21_wp_boilerplate/blob/master/wp-content/themes/1p21-boilerplate/docs/components/container.md#container-size-name
--------------------------------------------------------------- */
/* repeating/ internal page container sizing. sometimes designers will use the same gutter width for internals and or gridded template. this can be used so you dont have to copy paste identical styles to different selectos like 10 times */
:where(.content-block):not([data-containerStyles-enabled="false"]) .container.container-size-default {
  --container-gutter: 30px;
}
@media only screen and (min-width: 768px) {
  :where(.content-block):not([data-containerStyles-enabled="false"]) .container.container-size-default {
    --container-gutter: 60px;
  }
}
@media only screen and (min-width: 1200px) {
  :where(.content-block):not([data-containerStyles-enabled="false"]) .container.container-size-default {
    --container-gutter: 90px;
  }
}
@media only screen and (min-width: 1400px) {
  :where(.content-block):not([data-containerStyles-enabled="false"]) .container.container-size-default {
    --container-gutter: 120px;
  }
}
@media only screen and (min-width: 1900px) {
  :where(.content-block):not([data-containerStyles-enabled="false"]) .container.container-size-default {
    --container-gutter: 150px;
  }
}

/* Reduces horizontal padding */
@media only screen and (min-width: 768px) {
  :where(.content-block):not([data-containerStyles-enabled="false"]) .container.container-size-wide {
    --container-gutter: 15px;
  }
}
@media only screen and (min-width: 1200px) {
  :where(.content-block):not([data-containerStyles-enabled="false"]) .container.container-size-wide {
    --container-gutter: 30px;
  }
}
/* Reduces horizontal padding for xs only */
@media only screen and (max-width: 767px) {
  :where(.content-block):not([data-containerStyles-enabled="false"]) .container.container-size-wide-xs {
    --container-fallback: 15px;
    --container-gutter: var(--container-fallback);
  }
}

/* Reduces horizontal padding for sm only */
@media only screen and (min-width: 768px) and (max-width: 1199px) {
  :where(.content-block):not([data-containerStyles-enabled="false"]) .container.container-size-wide-sm {
    --container-fallback: 30px;
    --container-gutter: var(--container-fallback);
  }
}

/* Other Container Variations: https://github.com/1point21interactive/1p21_wp_boilerplate/blob/master/wp-content/themes/1p21-boilerplate/docs/components/container.md#container-style-name
--------------------------------------------------------------- */
/* sometimes when you dont need the fallback gutter for the container but also need to constrict the layout, here's ya boi. Note: Make sure you add appropriate padding for the innards of this container */
:where(.content-block):not([data-containerStyles-enabled="false"]) .container.container-style-no-padding {
  --container-fallback: 0px;
}

/* constrict container to how wide it is in the deisgn comps. makes sure it never goes beyond the comp or set gutter or fallback global padding + adding important disables third party scripts from overriding our styles */
@media only screen and (min-width: 768px) {
  :where(.content-block):not([data-containerStyles-enabled="false"]) .container.container-style-maxed {
    max-width: calc(var(--container-size-reference) - max(var(--container-gutter) - min(var(--container-fallback), var(--container-gutter)), 0rem) * 2) !important;
  }
}

/* constrict container to how wide it is in the deisgn comps for mobile/xs and smaller only */
@media only screen and (max-width: 767px) {
  :where(.content-block):not([data-containerStyles-enabled="false"]) .container.container-style-maxed-xs {
    max-width: calc(var(--container-size-reference) - max(var(--container-gutter) - min(var(--container-fallback), var(--container-gutter)), 0rem) * 2) !important;
  }
}

/* constrict container to how wide it is in the deisgn comps for hd/xl and beyond only */
@media only screen and (min-width: 1900px) {
  :where(.content-block):not([data-containerStyles-enabled="false"]) .container.container-style-maxed-xl {
    max-width: calc(var(--container-size-reference) - max(var(--container-gutter) - min(var(--container-fallback), var(--container-gutter)), 0rem) * 2) !important;
  }
}

/* constrict container to how wide it is in the deisgn comps for touch devices/xs to sm-max only */
@media only screen and (max-width: 1199px) {
  :where(.content-block):not([data-containerStyles-enabled="false"]) .container.container-style-maxed-touch {
    max-width: calc(var(--container-size-reference) - max(var(--container-gutter) - min(var(--container-fallback), var(--container-gutter)), 0rem) * 2) !important;
  }
}

/* constrict container to how wide it is in the deisgn comps for touch devices/xs to sm-max only */
@media only screen and (min-width: 1200px) {
  :where(.content-block):not([data-containerStyles-enabled="false"]) .container.container-style-maxed-nontouch {
    max-width: calc(var(--container-size-reference) - max(var(--container-gutter) - min(var(--container-fallback), var(--container-gutter)), 0rem) * 2) !important;
  }
}

/*# sourceMappingURL=base-container.css.map */
/* Helpers: https://github.com/1point21interactive/1p21_wp_boilerplate/blob/master/wp-content/themes/1p21-boilerplate/docs/components/helper.md

Note: Styles already prebuilt in this section must not be omitted
--------------------------------------------------------------- */
/* Clearfix stuff
--------------------------------------------------------------- */
:where(.content-block):not([data-helpersStyles-enabled="false"]) .clearfix::after {
  content: "";
  font-size: 0;
  visibility: hidden;
  height: 0;
  clear: both;
  display: table;
  width: 100%;
  flex: 0 0 auto;
}

/* hide element while being ADA and SEO friendly
--------------------------------------------------------------- */
:where(.content-block):not([data-helpersStyles-enabled="false"]) .sr-only {
  border: 0 !important;
  clip: rect(0, 0, 0, 0) !important;
  height: 1px !important;
  margin: -1px !important;
  overflow: hidden !important;
  padding: 0 !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 1px !important;
  word-wrap: normal !important; /* Many screen reader and browser combinations announce broken words as they would appear visually. */
}

/* emulate background cover on image tags
--------------------------------------------------------------- */
:where(.content-block):not([data-helpersStyles-enabled="false"]) .cover {
  /* containing element */
}
:where(.content-block):not([data-helpersStyles-enabled="false"]) .cover {
  position: relative;
  border-radius: inherit;
  overflow: hidden;
  overflow: clip;
  display: block;
  max-width: 100%;
  width: 100%;
  background-color: var(--color-light-alt);
}
:where(.content-block):not([data-helpersStyles-enabled="false"]) .cover.cover-constricted {
  /* constrict element. all children will have to be absolute for this element to maintain its size */
}
@supports not (aspect-ratio: var(--cover-aspect-w, 4)/var(--cover-aspect-l, 3)) {
  :where(.content-block):not([data-helpersStyles-enabled="false"]) .cover.cover-constricted::before {
    content: "";
    display: block;
    padding-bottom: calc(100% * var(--cover-aspect-l, 3) / var(--cover-aspect-w, 4));
  }
}
@supports (aspect-ratio: var(--cover-aspect-w, 4)/var(--cover-aspect-l, 3)) {
  :where(.content-block):not([data-helpersStyles-enabled="false"]) .cover.cover-constricted {
    aspect-ratio: var(--cover-aspect-w, 4)/var(--cover-aspect-l, 3);
  }
}
:where(.content-block):not([data-helpersStyles-enabled="false"]) .cover > :where(*), :where(.content-block):not([data-helpersStyles-enabled="false"]) .cover-child {
  /* element to emulate background-size cover. Add important in case wistia is somehow in this descendancy */
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  width: 100% !important;
  height: 100% !important;
  -o-object-fit: cover !important;
     object-fit: cover !important;
  display: block;
}

/* wrap svgs in this helper to control sizing like font glyphs. Sets an svg to align to the bottom left. Set a font size to it to align heights. ie Case Results Icon, Selling Points, Testimonial stars, Social Media, iLawyer Logo, etc.
--------------------------------------------------------------- */
:where(.content-block):not([data-helpersStyles-enabled="false"]) .content-icon {
  height: 1em;
  display: inline-flex;
  flex-direction: column;
  justify-content: flex-end;
  flex: 0 0 auto;
  width: -moz-max-content;
  width: max-content;
  max-width: 100%;
  text-overflow: ellipsis;
}
:where(.content-block):not([data-helpersStyles-enabled="false"]) .content-icon :where(img, picture, svg, object) {
  max-height: 100%;
  width: auto;
  height: 100%;
  flex: 1 1;
  -o-object-fit: contain;
     object-fit: contain;
}

/* clamp blocks of texts to up to a certain height only. NOTE: for this to work there should be no custom line height on the text or any of its bllock children. if any, they should be passed to --line-height
--------------------------------------------------------------- */
:where(.content-block):not([data-helpersStyles-enabled="false"]) .clamp-text {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  overflow: clip;
  overflow: hidden;
  -webkit-line-clamp: 3;
  -webkit-line-clamp: var(--clamp-text-cap, 3);
}

/* like content-icon except friendlier styles for logos to support styleable svg logos while allowing for an img tag for SEO to exist in the same block
--------------------------------------------------------------- */
:where(.content-block):not([data-helpersStyles-enabled="false"]) .logo {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
  align-self: stretch;
  justify-content: center;
  max-width: -moz-max-content;
  max-width: max-content;
}
:where(.content-block):not([data-helpersStyles-enabled="false"]) .logo-wrapper {
  position: relative;
  overflow: hidden;
  height: 100%;
  width: auto;
}
:where(.content-block):not([data-helpersStyles-enabled="false"]) .logo-wrapper :where(img, picture, svg, object) {
  max-width: 100%;
  max-height: 100%;
  width: auto;
  height: 100%;
}
:where(.content-block):not([data-helpersStyles-enabled="false"]) .logo-wrapper :where(svg, object):not(:only-child) {
  pointer-events: none;
  position: absolute;
  margin: auto;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  width: 100%;
}
:where(.content-block):not([data-helpersStyles-enabled="false"]) .logo-wrapper :is(svg, object) ~ :where(img, picture:not(.inline-svg)) {
  opacity: 0;
}

/* Responsive Global Helpers. Integrated to PHP template parts. Proceed with caution when modifying.
* Note: if the element relies on being set as another display type that's not block (flex, inline-block, inline-flex, etc. ) on  breakpoint/s it is suppose to show, using the *-hide helpers is recommended (eg: instead of xs-only, use sm-hide md-hide lg-hide xl-hide)

* Info to what everything means:
-----------------------------------------------
Tag 	Device		min				max	  
-----------------------------------------------
xs: 	mobile		0				767px
sm: 	tablet		768px	1199px
md: 	laptop		1200px	1399px
lg: 	desktop		1400px	1899px
xl: 	hd			1900px	999999999999+
--------------------------------------------------------------- */
:where(.content-block):not([data-helpersStyles-enabled="false"]) .xl-only,
:where(.content-block):not([data-helpersStyles-enabled="false"]) .lg-only,
:where(.content-block):not([data-helpersStyles-enabled="false"]) .md-only,
:where(.content-block):not([data-helpersStyles-enabled="false"]) .sm-only,
:where(.content-block):not([data-helpersStyles-enabled="false"]) .xs-only,
:where(.content-block):not([data-helpersStyles-enabled="false"]) .home-only,
:where(.content-block):not([data-helpersStyles-enabled="false"]) .internal-only,
:where(.content-block):not([data-helpersStyles-enabled="false"]) .print-only {
  display: none !important;
}

:where(.content-block):not([data-helpersStyles-enabled="false"]) .onep21-template-home .home-only {
  display: block !important;
}
:where(.content-block):not([data-helpersStyles-enabled="false"]) .onep21-template-home .home-hide {
  display: none !important;
}

body:not(.onep21-template-home) .internal-only {
  display: block !important;
}
body:not(.onep21-template-home) .internal-hide {
  display: none !important;
}

@media only print {
  :where(.content-block):not([data-helpersStyles-enabled="false"]) .print-only {
    display: block !important;
  }
  :where(.content-block):not([data-helpersStyles-enabled="false"]) .print-hide {
    display: none !important;
  }
}
@media only screen and (min-width: 1900px) {
  :where(.content-block):not([data-helpersStyles-enabled="false"]) .xl-only {
    display: block !important;
  }
  :where(.content-block):not([data-helpersStyles-enabled="false"]) .xl-hide {
    display: none !important;
  }
}
@media only screen and (min-width: 1400px) and (max-width: 1899px) {
  :where(.content-block):not([data-helpersStyles-enabled="false"]) .lg-only {
    display: block !important;
  }
  :where(.content-block):not([data-helpersStyles-enabled="false"]) .lg-hide {
    display: none !important;
  }
}
@media only screen and (min-width: 1200px) and (max-width: 1399px) {
  :where(.content-block):not([data-helpersStyles-enabled="false"]) .md-only {
    display: block !important;
  }
  :where(.content-block):not([data-helpersStyles-enabled="false"]) .md-hide {
    display: none !important;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1199px) {
  :where(.content-block):not([data-helpersStyles-enabled="false"]) .sm-only {
    display: block !important;
  }
  :where(.content-block):not([data-helpersStyles-enabled="false"]) .sm-hide {
    display: none !important;
  }
}
@media only screen and (max-width: 767px) {
  :where(.content-block):not([data-helpersStyles-enabled="false"]) .xs-only {
    display: block !important;
  }
  :where(.content-block):not([data-helpersStyles-enabled="false"]) .xs-hide {
    display: none !important;
  }
}
/* Add more helpers as needed */

/*# sourceMappingURL=base-helpers.css.map */
/* Layout Banner https://github.com/1point21interactive/1p21_wp_boilerplate/blob/master/wp-content/themes/1p21-boilerplate/docs/layout/banner.md
--------------------------------------------------------------- */
/* Layout Banner Variables
--------------------------------------------------------------- */
/* In case banner is also as crazy as the header */
/* Tip: placing the css var on :root can allow elements outside of the layout header utilize the variable if needed ie sticky stuff, offsets, jump link scroll etc. */
:where(.content-block):not([data-layoutBannerStyles-enabled="false"]) {
  --layout-banner-offset: 100px;
}
:where(.content-block):not([data-layoutBannerStyles-enabled="false"]) .banner-has-background-image {
  /* Styles specific for when banner supports background image */
}
:where(.content-block):not([data-layoutBannerStyles-enabled="false"]) .banner-no-background-image {
  /* Styles specific for when banner doesnt support background image */
}
/* Layout Banner Overlaps
	NOTE: Classes to use:
		.layout-banner-offset-element => the element within the layout that will have the negative margins to overlap itself
		.has-layout-banner-offset => the adjacent layouts/ child of adjacent layouts that will have the pseudo element to adjust itself if the `layout-banner-offset-element` is next to it
--------------------------------------------------------------- */
:where(.content-block):not([data-layoutBannerStyles-enabled="false"]) .banner-can-overlap:has(.has-layout-banner-offset) :is(.layout-banner .layout-banner-offset-element)::after {
  content: "";
  flex: 0 0 auto;
  grid-column: 1/-1;
  height: 100px;
  height: var(--layout-banner-offset, 0px);
  display: block;
  width: 100%;
}
:where(.content-block):not([data-layoutBannerStyles-enabled="false"]) .banner-can-overlap .has-layout-banner-offset:not(:has(.has-layout-banner-offset)):is(:is(.layout-banner + *),
:is(.main, main, .aside, aside):first-child,
.layout-banner + :is(.main, main) > :first-child,
.layout-banner + :is(.main, main) > :first-child *) {
  isolation: isolate;
}
:where(.content-block):not([data-layoutBannerStyles-enabled="false"]) .banner-can-overlap:has(.has-layout-banner-offset) .layout-banner-offset-element:is(.layout-banner > :last-child,
.layout-banner > :last-child *) {
  margin-bottom: calc((100px + var(--overlap-buffer)) * -1);
  margin-bottom: calc((var(--layout-banner-offset, 0px) + var(--overlap-buffer)) * -1);
}
:where(.content-block):not([data-layoutBannerStyles-enabled="false"]) .banner-can-overlap:has(.has-layout-banner-offset) .layout-banner:has(.layout-banner-offset-element) {
  padding-bottom: var(--overlap-buffer);
}

/* Layout Banner Itself
--------------------------------------------------------------- */
@media only screen and (max-width: 767px) {
  :where(.content-block):not([data-layoutBannerStyles-enabled="false"]) .layout-banner {
    /* allow more space for mobile only because the design said so */
  }
  :where(.content-block):not([data-layoutBannerStyles-enabled="false"]) .layout-banner-container {
    --container-gutter: 10px;
  }
}
:where(.content-block):not([data-layoutBannerStyles-enabled="false"]) .banner-has-background-image .layout-banner {
  /* Styles specific for when banner has background image */
}
:where(.content-block):not([data-layoutBannerStyles-enabled="false"]) .banner-no-background-image .layout-banner {
  /* Styles specific for when banner doesnt support background image */
}
/* Banner Background
--------------------------------------------------------------- */
:where(.content-block):not([data-layoutBannerStyles-enabled="false"]) .banner-background {
  --responsive-background-overlay-mix-blend: multiply;
  --responsive-background-overlay-background: rgba(0, 0, 0, 0.5);
  --responsive-background-overlay-opacity: 0.75;
  --responsive-background-bg-position: center top;
}
@media only screen and (min-width: 768px) {
  :where(.content-block):not([data-layoutBannerStyles-enabled="false"]) .banner-background {
    --responsive-background-overlay-background:
    	/* example of gradient to contrast header further */
    	linear-gradient(
    		to bottom,
    		rgba(0, 0, 0, 0.8) 0,
    		transparent calc(var(--layout-header-height, 0) * 1.5)
    	),
    	/* example of gradient to keep contrats on text. TIP: calculating from the center of the viewport width retains the gradients alignment to the text like in the comps */
    		linear-gradient(
    			45deg,
    			var(--color-dark) calc(50vw - min(480px, 25%)),
    			transparent calc(50vw + min(480px, 25%))
    		);
  }
}
/* Banner Main
--------------------------------------------------------------- */
:where(.content-block):not([data-layoutBannerStyles-enabled="false"]) .banner-main {
  padding-block: 2rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
  text-align: center;
}
:where(.content-block):not([data-layoutBannerStyles-enabled="false"]) .banner-main-blocks {
  display: grid;
  grid-template-columns: 100%;
  justify-items: center;
  justify-content: center;
  align-items: center;
  grid-gap: 3rem;
  gap: 3rem;
}
:where(.content-block):not([data-layoutBannerStyles-enabled="false"]) .banner-main-block, :where(.content-block):not([data-layoutBannerStyles-enabled="false"]) .banner-main-blocks {
  min-width: 0;
  max-width: 100%;
}
:where(.content-block):not([data-layoutBannerStyles-enabled="false"]) .banner-main-block:only-child {
  flex: 1 1;
  grid-column: 1/-1;
  grid-row: 1/-1;
  justify-self: stretch;
}
@media only screen and (min-width: 1200px) {
  :where(.content-block):not([data-layoutBannerStyles-enabled="false"]) .banner-main {
    padding-block: 5rem 4rem;
  }
  :where(.content-block):not([data-layoutBannerStyles-enabled="false"]) .banner-main-blocks {
    grid-template-columns: 1fr auto;
  }
}
:where(.content-block):not([data-layoutBannerStyles-enabled="false"]) .banner-has-background-image .banner-main {
  /* Styles specific for when banner has background image */
}
:where(.content-block):not([data-layoutBannerStyles-enabled="false"]) .banner-has-background-image .banner-main {
  padding-block: 1.5rem;
  background-color: var(--scheme-bg, var(--color-dark-alt));
  color: var(--scheme-fg, var(--color-light));
  min-height: 180px;
}
@media only screen and (min-width: 768px) {
  :where(.content-block):not([data-layoutBannerStyles-enabled="false"]) .banner-has-background-image .banner-main {
    min-height: 360px;
  }
}
@media only screen and (min-width: 1200px) {
  :where(.content-block):not([data-layoutBannerStyles-enabled="false"]) .banner-has-background-image .banner-main {
    padding-block: 5rem;
    min-height: 600px;
  }
}
:where(.content-block):not([data-layoutBannerStyles-enabled="false"]) .banner-has-background-image.header-can-overlap .banner-main {
  /* Styles specific for when banner has the header overlay before scroll + Styles specific for when banner has background image */
}
:where(.content-block):not([data-layoutBannerStyles-enabled="false"]) .banner-no-background-image .banner-main {
  /* Styles specific for when banner doesnt support background image OR global fallback heading*/
}
/* Banner Body
--------------------------------------------------------------- */
:where(.content-block):not([data-layoutBannerStyles-enabled="false"]) .banner-body, :where(.content-block):not([data-layoutBannerStyles-enabled="false"]) .banner-body-blocks {
  display: grid;
  grid-template-columns: 100%;
  align-items: inherit;
  justify-content: inherit;
  justify-items: inherit;
}
:where(.content-block):not([data-layoutBannerStyles-enabled="false"]) .banner-body-block, :where(.content-block):not([data-layoutBannerStyles-enabled="false"]) .banner-body-blocks {
  min-width: 0;
  max-width: 100%;
}
:where(.content-block):not([data-layoutBannerStyles-enabled="false"]) .banner-body-blocks {
  gap: 2.125rem;
}
:where(.content-block):not([data-layoutBannerStyles-enabled="false"]) .banner-has-background-image .banner-body {
  /* Styles specific for when banner has background image customized */
}
:where(.content-block):not([data-layoutBannerStyles-enabled="false"]) .banner-no-background-image .banner-body {
  /* Styles specific for when banner doesnt support background image */
}
/* Global Banner Text
--------------------------------------------------------------- */
:where(.content-block):not([data-layoutBannerStyles-enabled="false"]) .banner-has-background-image .banner-text {
  /* Styles specific for when banner has background image */
}
:where(.content-block):not([data-layoutBannerStyles-enabled="false"]) .banner-no-background-image .banner-text {
  /* Styles specific for when banner doesnt support background image */
}
/* Global Secondary Heading
--------------------------------------------------------------- */
:where(.content-block):not([data-layoutBannerStyles-enabled="false"]) .secondary-heading {
  font-size: 1rem;
  line-height: calc(1em + 5px);
  font-family: var(--font-accent);
  color: inherit;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  font-style: normal;
  font-weight: 800;
  text-align: inherit;
}
:where(.content-block):not([data-layoutBannerStyles-enabled="false"]) .secondary-heading em {
  /* emphasized words */
  color: var(--scheme-sp, var(--color-accent));
  letter-spacing: 0em;
  font-style: normal;
}
:where(.content-block):not([data-layoutBannerStyles-enabled="false"]) .secondary-heading::before,
:where(.content-block):not([data-layoutBannerStyles-enabled="false"]) .secondary-heading > span::before {
  color: var(--scheme-sb, var(--color-primary));
  font-style: normal;
}
@media only screen and (min-width: 768px) {
  :where(.content-block):not([data-layoutBannerStyles-enabled="false"]) .secondary-heading > span {
    display: inline-block;
  }
  :where(.content-block):not([data-layoutBannerStyles-enabled="false"]) .secondary-heading > span:nth-child(n+2)::before {
    content: "\25CF\FE0E";
    margin-inline: 0.5em;
  }
}
@media only screen and (max-width: 1199px) {
  :where(.content-block):not([data-layoutBannerStyles-enabled="false"]) .secondary-heading > span {
    display: inline-block;
  }
}
@media only screen and (max-width: 767px) {
  :where(.content-block):not([data-layoutBannerStyles-enabled="false"]) .secondary-heading {
    display: flex;
    flex-direction: column;
    gap: 0.5em;
  }
  :where(.content-block):not([data-layoutBannerStyles-enabled="false"]) .secondary-heading::before {
    content: "\25CF\FE0E" "\25CF\FE0E" "\25CF\FE0E";
    display: block;
  }
}
:where(.content-block):not([data-layoutBannerStyles-enabled="false"]) .banner-has-background-image .secondary-heading {
  /* Styles specific for when banner has background image */
}
:where(.content-block):not([data-layoutBannerStyles-enabled="false"]) .banner-no-background-image .secondary-heading {
  /* Styles specific for when banner doesnt support background image */
}
:where(.content-block):not([data-layoutBannerStyles-enabled="false"]) .secondary-heading.secondary-heading-default {
  /* Styles specific for default template primary heading (Single Post, Single Page, Possibly Blog/ Archive etc.) */
}
:where(.content-block):not([data-layoutBannerStyles-enabled="false"]) .secondary-heading.secondary-heading-blog {
  /* Styles specific for blog post/ blog archive custom primary heading (Blog/ Archive) and blog post titles*/
}
:where(.content-block):not([data-layoutBannerStyles-enabled="false"]) .secondary-heading.secondary-heading-blog-posts {
  /* Styles specific for blog post/ blog archive custom primary heading (Blog/ Archive) */
}
:where(.content-block):not([data-layoutBannerStyles-enabled="false"]) .secondary-heading.secondary-heading-blog-post {
  /* Styles specific for the blog post title*/
}
/* Global Primary Heading
--------------------------------------------------------------- */
/* Note: default styles are set to custom internal templates w/ no banner background images  (Case Results, Testimonials, etc.) to reduce repetitive styles and or lengthy selectors */
:where(.content-block):not([data-layoutBannerStyles-enabled="false"]) .primary-heading {
  /* Global Styles / custom page template heading styles (Testimonials Grid, Attorney Grid, etc.) */
  font-size: 3rem;
  line-height: calc(1em + 5px);
  text-wrap: balance;
  margin-bottom: 0;
}
:where(.content-block):not([data-layoutBannerStyles-enabled="false"]) .primary-heading em {
  /* emphasized words */
  color: var(--scheme-sp, var(--color-accent));
  font-style: normal;
}
@media only screen and (min-width: 768px) {
  :where(.content-block):not([data-layoutBannerStyles-enabled="false"]) .primary-heading {
    font-size: 4rem;
  }
}
@media only screen and (min-width: 1200px) {
  :where(.content-block):not([data-layoutBannerStyles-enabled="false"]) .primary-heading {
    font-size: 5rem;
  }
}
:where(.content-block):not([data-layoutBannerStyles-enabled="false"]) .primary-heading.primary-heading-default {
  /* Styles specific for default template primary heading (Single Post, Single Page, Possibly Blog/ Archive etc.) */
  font-size: 2rem;
}
@media only screen and (min-width: 768px) {
  :where(.content-block):not([data-layoutBannerStyles-enabled="false"]) .primary-heading.primary-heading-default {
    font-size: 3rem;
  }
}
@media only screen and (min-width: 1200px) {
  :where(.content-block):not([data-layoutBannerStyles-enabled="false"]) .primary-heading.primary-heading-default {
    font-size: 4rem;
  }
}
:where(.content-block):not([data-layoutBannerStyles-enabled="false"]) .primary-heading.primary-heading-default-h1 {
  /* Styles specific for default template primary heading set as an h1 (Single Post, Single Page) */
}
:where(.content-block):not([data-layoutBannerStyles-enabled="false"]) .primary-heading.primary-heading-blog {
  /* Styles specific for blog post/ blog archive custom primary heading (Blog/ Archive) and blog post titles*/
}
:where(.content-block):not([data-layoutBannerStyles-enabled="false"]) .primary-heading.primary-heading-blog-posts {
  /* Styles specific for blog post/ blog archive custom primary heading (Blog/ Archive) */
}
:where(.content-block):not([data-layoutBannerStyles-enabled="false"]) .primary-heading.primary-heading-blog-post {
  /* Styles specific for the blog post title*/
}
:where(.content-block):not([data-layoutBannerStyles-enabled="false"]) .layout-banner .primary-heading {
  /* Styles specific for when it's inside a banner */
}
:where(.content-block):not([data-layoutBannerStyles-enabled="false"]) .primary-heading.h1-fallback-heading {
  /* Styles specific for when banner does not exist/ rendered as a helper class for the fallback h1 */
  display: inline-block;
  margin-bottom: 1em;
}
:where(.content-block):not([data-layoutBannerStyles-enabled="false"]) .banner-has-background-image .primary-heading {
  /* Styles specific for when banner has background image */
  color: inherit;
}
:where(.content-block):not([data-layoutBannerStyles-enabled="false"]) .layout-banner .banner-has-background-image .primary-heading {
  text-shadow: 0 2px 0.125em var(--scheme-bg, var(--color-dark));
}
:where(.content-block):not([data-layoutBannerStyles-enabled="false"]) .banner-no-background-image .primary-heading {
  /* Styles specific for when banner doesnt support background image */
}
/* Banner video (Optional depending on comps)
--------------------------------------------------------------- */
:where(.content-block):not([data-layoutBannerStyles-enabled="false"]) .banner-video .video-thumbnail {
  width: 300px;
}
:where(.content-block):not([data-layoutBannerStyles-enabled="false"]) .banner-video-cta.video-button:not(.video-button-default-has-text) {
  display: block;
}
@media only screen and (min-width: 1200px) {
  :where(.content-block):not([data-layoutBannerStyles-enabled="false"]) .banner-video {
    order: 99;
  }
}
:where(.content-block):not([data-layoutBannerStyles-enabled="false"]) .banner-has-background-image .banner-video {
  /* Styles specific for when banner has background image */
}
:where(.content-block):not([data-layoutBannerStyles-enabled="false"]) .banner-no-background-image .banner-video {
  /* Styles specific for when banner doesnt support background image */
}
/* Banner Content (Optional depending on comps)
--------------------------------------------------------------- */
:where(.content-block):not([data-layoutBannerStyles-enabled="false"]) .banner-content {
  text-wrap: balance;
  max-width: 90ch;
}
:where(.content-block):not([data-layoutBannerStyles-enabled="false"]) .banner-has-background-image .banner-content {
  /* Styles specific for when banner has background image */
}
:where(.content-block):not([data-layoutBannerStyles-enabled="false"]) .banner-no-background-image .banner-content {
  /* Styles specific for when banner doesnt support background image */
}
/* Banner Buttons
--------------------------------------------------------------- */
:where(.content-block):not([data-layoutBannerStyles-enabled="false"]) .banner-buttons {
  display: inline-flex;
  gap: 1rem;
  align-items: inherit;
  text-align: inherit;
  justify-content: inherit;
}
:where(.content-block):not([data-layoutBannerStyles-enabled="false"]) .banner-buttons-touch {
  margin-top: 3.25rem;
  margin-bottom: 4rem;
}
:where(.content-block):not([data-layoutBannerStyles-enabled="false"]) .banner-buttons-touch:first-child {
  margin-top: -1rem;
}
@media only screen and (min-width: 768px) {
  :where(.content-block):not([data-layoutBannerStyles-enabled="false"]) .banner-button-shift .banner-buttons-touch, :where(.content-block):not([data-layoutBannerStyles-enabled="false"]) .banner-has-h1.banner-button-shift .banner-buttons-touch + hr {
    /* hide buttons outside of banner */
    display: none;
  }
}
@media only screen and (max-width: 767px) {
  :where(.content-block):not([data-layoutBannerStyles-enabled="false"]) .banner-buttons, :where(.content-block):not([data-layoutBannerStyles-enabled="false"]) .banner-buttons-touch {
    flex-direction: column;
  }
  :where(.content-block):not([data-layoutBannerStyles-enabled="false"]) .banner-buttons-touch {
    width: 100%;
    align-items: stretch;
  }
  :where(.content-block):not([data-layoutBannerStyles-enabled="false"]) .h1-fallback-heading:has(+ .banner-buttons-touch) {
    margin-bottom: 0;
  }
  :where(.content-block):not([data-layoutBannerStyles-enabled="false"]) .banner-button-shift :is(.layout-banner .banner-buttons, .banner-buttons-nontouch) {
    /* hide buttons inside of banner */
    display: none;
  }
}

/* Banner Form
--------------------------------------------------------------- */
:where(.content-block):not([data-layoutBannerStyles-enabled="false"]) #banner-form .field-form {
  margin-left: auto;
  margin-right: auto;
}
:where(.content-block):not([data-layoutBannerStyles-enabled="false"]) #banner-form .gform_title:last-child {
  margin-bottom: 0;
}
:where(.content-block):not([data-layoutBannerStyles-enabled="false"]) #banner-form .gform_description {
  max-width: 80ch;
}
:where(.content-block):not([data-layoutBannerStyles-enabled="false"]) #banner-form .gform_body {
  margin-left: auto;
  margin-right: auto;
}
:where(.content-block):not([data-layoutBannerStyles-enabled="false"]) #banner-form .gform_footer {
  justify-content: center;
  text-align: center;
}
:where(.content-block):not([data-layoutBannerStyles-enabled="false"]) #banner-form .gfield.gfield--type-submit {
  /* dont stretch flex button */
  align-self: flex-start;
}
:where(.content-block):not([data-layoutBannerStyles-enabled="false"]) #banner-form .field-form-body {
  position: relative;
  padding-bottom: 2rem;
}
:where(.content-block):not([data-layoutBannerStyles-enabled="false"]) #banner-form.required-message {
  position: absolute;
  left: 0;
  right: 0;
  text-align: center;
  top: 100%;
}
@media only screen and (max-width: 1199px) {
  :where(.content-block):not([data-layoutBannerStyles-enabled="false"]) #banner-form .gform_fields .gfield:not(.gfield-width-full) {
    /* fix gravity forms from deciding to undo the grid columns on mobile instead of tablet now */
    grid-column: 1/-1;
  }
}
@media only screen and (max-width: 767px) {
  :where(.content-block):not([data-layoutBannerStyles-enabled="false"]) #banner-form .field-form-body {
    position: relative;
    padding-bottom: 2rem;
  }
  :where(.content-block):not([data-layoutBannerStyles-enabled="false"]) #banner-form .gfield.required-message {
    position: absolute;
    left: 0;
    right: 0;
    text-align: center;
    top: 100%;
  }
}

/* Banner Firm info
--------------------------------------------------------------- */
:where(.content-block):not([data-layoutBannerStyles-enabled="false"]) .banner-firm-info {
  padding-block: 2rem;
  background: var(--color-light-alt);
}
:where(.content-block):not([data-layoutBannerStyles-enabled="false"]) .banner-firm-info-header {
  text-align: center;
}

/*# sourceMappingURL=base-layout-banner.css.map */
/*  Responsive Background skeletons: https://github.com/1point21interactive/1p21_wp_boilerplate/blob/master/wp-content/themes/1p21-boilerplate/docs/includes/field/responsive-background
--------------------------------------------------------------- */
/* Responsive Background skeletons. Do not Edit.
--------------------------------------------------------------- */
:where(.content-block):not([data-responsiveBackgroundStyles-enabled="false"]) .responsive-background {
  pointer-events: none;
  overflow: hidden;
  transform-style: preserve-3d;
  z-index: -1;
  background-color: var(--scheme-bg, var(--color-dark-alt));
}
:where(.content-block):not([data-responsiveBackgroundStyles-enabled="false"]) .responsive-background::after {
  content: "";
  display: block;
  inset: 0;
  position: absolute;
  pointer-events: none;
  mix-blend-mode: none;
  mix-blend-mode: var(--responsive-background-overlay-mix-blend, none);
  background: normal;
  background: var(--responsive-background-overlay-background, normal);
  opacity: 0.75;
  opacity: var(--responsive-background-overlay-opacity, 0.75);
}
:where(.content-block):not([data-responsiveBackgroundStyles-enabled="false"]) .responsive-background-wrapper {
  position: relative;
  z-index: 0;
}
:where(.content-block):not([data-responsiveBackgroundStyles-enabled="false"]) .responsive-background, :where(.content-block):not([data-responsiveBackgroundStyles-enabled="false"]) .responsive-background-bg {
  position: absolute !important;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
}
:where(.content-block):not([data-responsiveBackgroundStyles-enabled="false"]) .responsive-background-bg {
  /* Note: when styling instances of this block, make sure properties are NOT set as shorthand to avoid override issues */
  background-size: cover;
  background-position: var(--responsive-background-bg-position);
  /* Note: Best practice to add fallback background-colors to your background images */
  background-color: inherit;
  z-index: -2;
  background-image: none !important;
  background-image: var(--responsive-background-image, none) !important;
}
:where(.content-block):not([data-responsiveBackgroundStyles-enabled="false"]) .responsive-background-bg:is(img) {
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: var(--responsive-background-bg-position);
     object-position: var(--responsive-background-bg-position);
  width: 100%;
  height: 100%;
}
@media only screen and (min-width: 1200px) {
  :where(.content-block):not([data-responsiveBackgroundStyles-enabled="false"]) :is(.responsive-background-animated-on-loaded, .responsive-background-animated-on-visible.visible) .responsive-background-bg {
    /* make background block animate for document ready or when visible*/
    transition: opacity ease-in-out 1s, transform ease-in-out 1s;
    opacity: 1;
    transform: scale(1);
    transform-style: preserve-3d;
  }
  :where(.content-block):not([data-responsiveBackgroundStyles-enabled="false"]) :is(html:not(.doc-images-loaded) .responsive-background-animated-on-loaded,
  .responsive-background-animated-on-visible:not(.visible)) .responsive-background-bg {
    /* hide if not ready to let the world to know got to let it show */
    opacity: 0;
    transform: scale(1.1);
  }
}

/* Responsive Background Customizations
--------------------------------------------------------------- */
:where(.content-block):not([data-responsiveBackgroundStyles-enabled="false"]) .responsive-background {
  --responsive-background-overlay-mix-blend: normal;
  --responsive-background-overlay-background: none;
  --responsive-background-overlay-opacity: 0.75;
  --responsive-background-bg-position: center center;
}

/*# sourceMappingURL=base-responsive-background.css.map */
/* Case Results https://github.com/1point21interactive/1p21_wp_boilerplate/blob/master/wp-content/themes/1p21-boilerplate/docs/includes/repeater/result.md
-------------------------------------------------------------------------------- */
/*
* Case Result Icon
-------------------------------------------------------------------------------- */
:where(.content-block):not([data-resultStyles-enabled="false"]) .result-icon {
  font-size: 3rem;
}
:where(.content-block):not([data-resultStyles-enabled="false"]) :where(.content-palette-dark) .result-icon {
  color: inherit;
  color: var(--scheme-sp, inherit);
}
:where(.content-block):not([data-resultStyles-enabled="false"]) .result-details-popup .result-icon {
  font-size: 100px;
}
/*
* Case Result Value
-------------------------------------------------------------------------------- */
:where(.content-block):not([data-resultStyles-enabled="false"]) .result-value {
  font-size: 4rem;
  text-transform: uppercase;
}
:where(.content-block):not([data-resultStyles-enabled="false"]) :where(.content-palette-dark) .result-value {
  color: inherit;
  color: var(--scheme-sp, inherit);
}
:where(.content-block):not([data-resultStyles-enabled="false"]) .result-value-confidential {
  font-size: 0.6em;
}
:where(.content-block):not([data-resultStyles-enabled="false"]) .result-value-number-long {
  font-size: 0.75em;
}
@media only screen and (min-width: 768px) {
  :where(.content-block):not([data-resultStyles-enabled="false"]) .result-details-popup .result-value.h1 {
    font-size: 100px;
  }
}
/*
* Case Result Type
-------------------------------------------------------------------------------- */
:where(.content-block):not([data-resultStyles-enabled="false"]) :where(.content-palette-dark) .result-type {
  color: inherit;
  color: var(--scheme-sp, inherit);
}
/*
* Case Result Title - Optional
-------------------------------------------------------------------------------- */
:where(.content-block):not([data-resultStyles-enabled="false"]) :where(.content-palette-dark) .result-title {
  color: inherit;
  color: var(--scheme-sp, inherit);
}
/*
* Case Result Description
-------------------------------------------------------------------------------- */
:where(.content-block):not([data-resultStyles-enabled="false"]) :where(.content-palette-dark) .result-description {
  color: inherit;
  color: var(--scheme-sp, inherit);
}
:where(.content-block):not([data-resultStyles-enabled="false"]) .result-details-default .result-description {
  flex: 1 1;
}
/*
* Case Result Content
-------------------------------------------------------------------------------- */
:where(.content-block):not([data-resultStyles-enabled="false"]) :where(.content-palette-dark) .result-content {
  color: inherit;
  color: var(--scheme-sp, inherit);
}
:where(.content-block):not([data-resultStyles-enabled="false"]) .result-details-default .result-content {
  max-width: 50ch;
}
:where(.content-block):not([data-resultStyles-enabled="false"]) .result-details-popup .result-content {
  margin-top: 3rem;
  text-align: left;
  text-align: initial;
}
/*
* Case Result Learn More - Optional
-------------------------------------------------------------------------------- */
:where(.content-block):not([data-resultStyles-enabled="false"]) .result-learn-more {
  margin-top: 2em;
  align-self: center;
}
:where(.content-block):not([data-resultStyles-enabled="false"]) :where(.content-palette-dark) .result-learn-more {
  color: inherit;
  color: var(--scheme-sp, inherit);
}
@media only screen and (min-width: 1900px) {
  :where(.content-block):not([data-resultStyles-enabled="false"]) .result-details-default .result-learn-more:first-child {
    margin-top: auto;
  }
}
/*
* includes/repeater-result
-------------------------------------------------------------------------------- */
:where(.content-block):not([data-resultStyles-enabled="false"]) .result {
  max-width: 100%;
}
:where(.content-block):not([data-resultStyles-enabled="false"]) .result, :where(.content-block):not([data-resultStyles-enabled="false"]) .result-container {
  display: flex;
  min-width: 0;
  flex-direction: column;
}
:where(.content-block):not([data-resultStyles-enabled="false"]) .result-container {
  width: 100%;
  flex: 1 1;
  gap: 0.75rem;
  align-items: center;
}
:where(.content-block):not([data-resultStyles-enabled="false"]) .result :where(.result-description, .result-content) {
  margin-left: auto;
  margin-right: auto;
}
:where(.content-block):not([data-resultStyles-enabled="false"]) .result-pointer-reference:has(.result-details, [href]):is(:hover, :focus-within) .result-summary .result-value {
  color: inherit;
}
:where(.content-block):not([data-resultStyles-enabled="false"]) .result-summary {
  text-align: center;
  display: contents;
}
:where(.content-block):not([data-resultStyles-enabled="false"]) .result-summary:nth-last-child(n+2) {
  margin-bottom: auto;
}
:where(.content-block):not([data-resultStyles-enabled="false"]) .result-details-default {
  display: flex;
  flex-direction: column;
  align-items: center;
  flex: 1 1;
  margin-top: 1.5em;
  border-top: 1px solid var(--color-neutral);
  padding-top: 1.5rem;
}
:where(.content-block):not([data-resultStyles-enabled="false"]) .result-pointer-reference:not(:is(:hover, :focus-within)) .result-details-hover {
  pointer-events: none;
  opacity: 0;
}
:where(.content-block):not([data-resultStyles-enabled="false"]) .result-details-hover {
  max-width: none;
  position: absolute;
  background-color: var(--color-dark-alt);
  color: var(--color-light);
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: 0;
  scrollbar-width: none;
  overflow-y: scroll;
  transition: 0.25s all ease-in-out;
  padding: 2rem;
  opacity: 1;
}
:where(.content-block):not([data-resultStyles-enabled="false"]) .result-details-hover::-webkit-scrollbar {
  display: none;
}
:where(.content-block):not([data-resultStyles-enabled="false"]) .result-details-popup {
  text-align: center;
  flex-direction: column;
  display: flex;
  gap: 1rem;
}

/*# sourceMappingURL=base-result.css.map */
/* Vendor - Slick - will be deprecated
--------------------------------------------------------------- */
:where(.content-block):not([data-slickStyles-enabled="false"]) .slick-disabled {
  cursor: not-allowed !important;
  opacity: 0.4 !important;
}
:where(.content-block):not([data-slickStyles-enabled="false"]) .slick-list {
  flex: 1 1;
}
:where(.content-block):not([data-slickStyles-enabled="false"]) .slick-slider {
  --slick-custom-dots-margin-top: 2.5rem;
  --slick-custom-arrows-margin-x: 2rem;
  padding-bottom: 2.5rem;
  padding-bottom: var(--slick-custom-dots-margin-top);
}
:where(.content-block):not([data-slickStyles-enabled="false"]) .slick-arrow {
  background: none;
  position: absolute;
  max-height: -moz-max-content;
  max-height: max-content;
  display: inline-flex;
  align-items: center;
  transform: none;
  top: 0;
  bottom: 0;
  margin: auto;
  transform: none;
  z-index: 1;
  overflow: hidden;
  padding: 0;
}
:where(.content-block):not([data-slickStyles-enabled="false"]) .slick-arrow::before, :where(.content-block):not([data-slickStyles-enabled="false"]) .slick-arrow::after {
  opacity: 1;
  text-indent: 0;
  color: inherit;
  display: block;
  font-size: inherit;
}
:where(.content-block):not([data-slickStyles-enabled="false"]) .slick-arrow.prev {
  right: 100%;
  margin-right: var(--slick-custom-arrows-margin-x);
}
:where(.content-block):not([data-slickStyles-enabled="false"]) .slick-arrow.next {
  left: 100%;
  margin-left: var(--slick-custom-arrows-margin-x);
}
:where(.content-block):not([data-slickStyles-enabled="false"]) .slick-dots {
  font-size: 8px;
  line-height: 1;
  text-align: center;
  margin-top: -1em;
  color: inherit;
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
}
:where(.content-block):not([data-slickStyles-enabled="false"]) .slick-dots li {
  width: auto;
  height: auto;
  display: inline-block;
  color: inherit;
  margin: 0 0.75em;
}
:where(.content-block):not([data-slickStyles-enabled="false"]) .slick-dots li::before {
  content: "";
  background: currentColor;
  display: inline-block;
  width: 1em;
  height: 1em;
  border-radius: 9999em;
}
:where(.content-block):not([data-slickStyles-enabled="false"]) .slick-dots li.slick-active {
  color: var(--color-primary);
}
:where(.content-block):not([data-slickStyles-enabled="false"]) .slick-dots button {
  display: none;
}

/* custom helpers
---------------------------------------------------------------*/
:where(.content-block):not([data-slickStyles-enabled="false"]) .slick-custom-arrow-glyph:empty {
  /* customizeable arrow glyphs */
}
:where(.content-block):not([data-slickStyles-enabled="false"]) .slick-custom-arrow-glyph:empty::before {
  content: "";
  display: inline-block;
  font-size: 0.75em;
  width: 1em;
  height: 1em;
  border-width: 2px 2px 0 0;
  border-style: solid;
  transform-origin: center center;
}
:where(.content-block):not([data-slickStyles-enabled="false"]) .prev .slick-custom-arrow-glyph:empty {
  margin-left: 0.25em;
}
:where(.content-block):not([data-slickStyles-enabled="false"]) .prev .slick-custom-arrow-glyph:empty::before {
  transform: rotate(-135deg);
}
:where(.content-block):not([data-slickStyles-enabled="false"]) .next .slick-custom-arrow-glyph:empty {
  margin-right: 0.25em;
}
:where(.content-block):not([data-slickStyles-enabled="false"]) .next .slick-custom-arrow-glyph:empty::before {
  transform: rotate(45deg);
}
:where(.content-block):not([data-slickStyles-enabled="false"]) .slick-custom-equal-heights {
  /* make slick slider slides equal in height. Note: Will not work with adaptive set to true or multi-row layout */
}
:where(.content-block):not([data-slickStyles-enabled="false"]) .slick-custom-equal-heights.slick-initialized .slick-track {
  display: flex;
}
:where(.content-block):not([data-slickStyles-enabled="false"]) .slick-custom-equal-heights.slick-initialized .slick-track::before, :where(.content-block):not([data-slickStyles-enabled="false"]) .slick-custom-equal-heights.slick-initialized .slick-track::after {
  content: none;
}
:where(.content-block):not([data-slickStyles-enabled="false"]) .slick-custom-equal-heights.slick-initialized .slick-slide {
  float: none;
  height: auto;
}
:where(.content-block):not([data-slickStyles-enabled="false"]) .slick-custom-equal-heights.slick-initialized .slick-slide img {
  margin: auto;
}
:where(.content-block):not([data-slickStyles-enabled="false"]) .slick-custom-equal-heights.slick-initialized .slick-slide, :where(.content-block):not([data-slickStyles-enabled="false"]) .slick-custom-equal-heights.slick-initialized .slick-slide > div:not([style]):not([class]) {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
}

/*# sourceMappingURL=base-slick.css.map */
/* Vendor - Swiper
--------------------------------------------------------------- */
/* Swiper Customizations
Variable docs: https://oxygen4fun.supadezign.com/tips/swiperjs-tips-and-good-practice/#customcss
--------------------------------------------------------------- */
:where(.content-block):not([data-swiperStyles-enabled="false"]) {
  --swiper-theme-color: var(--scheme-sp, var(--color-primary));
  --swiper-navigation-sides-offset: 0px;
  --swiper-pagination-bottom: 1.5rem;
  --swiper-pagination-top: auto;
  --swiper-pagination-right: 1rem;
  --swiper-pagination-left: auto;
  --swiper-pagination-bullet-size: 0.375rem;
  --swiper-pagination-bullet-width: var(--swiper-pagination-bullet-size);
  --swiper-pagination-bullet-height: var(--swiper-pagination-bullet-size);
  --swiper-pagination-bullet-border-radius: 9999em;
  --swiper-pagination-bullet-horizontal-gap: calc(
  	var(--swiper-pagination-bullet-size) * 3
  );
  --swiper-pagination-bullet-vertical-gap: var(--swiper-pagination-bullet-size);
  --swiper-pagination-bullet-opacity: 1;
  --swiper-pagination-bullet-inactive-opacity: 1;
  --swiper-pagination-bullet-inactive-color: currentColor;
  --swiper-pagination-progressbar-size: var(--swiper-pagination-bullet-size);
  --swiper-pagination-progressbar-bg-color: var(--color-neutral-lighter);
  --swiper-scrollbar-border-radius: calc(var(--swiper-pagination-bullet-size) * 0.5);
  --swiper-scrollbar-bg-color: var(--swiper-pagination-progressbar-bg-color);
  --swiper-scrollbar-drag-bg-color: var(--color-neutral);
  --swiper-scrollbar-size: 2px;
  --swiper-scrollbar-sides-offset: 1rem;
  --swiper-scrollbar-bottom: 1.5rem;
  --swiper-scrollbar-top: auto;
  /* distance of arrows from the slider. set as a padding  */
  /* distance to compensate the arrow distance against the width of the .carousels and the width of the component's container
  	Tip: setting equal to --swiper-custom-arrow-offset-x will align the slides to the container. so pretty. */
}
:where(.content-block):not([data-swiperStyles-enabled="false"]) :where(.content-palette-dark) .swiper {
  --swiper-theme-color: var(--scheme-fg, var(--color-primary-alt));
}

/* Swiper Enhancements
--------------------------------------------------------------- */
:where(.content-block):not([data-swiperStyles-enabled="false"]) .swiper {
  transition: opacity 0.25s ease-in-out;
  opacity: 0;
  padding-inline: var(--swiper-custom-arrow-offset-x, min(var(--container-fallback), var(--container-gutter)));
  margin-inline: calc(var(--swiper-custom-arrow-offset-x-negate, var(--swiper-custom-arrow-offset-x, min(var(--container-fallback), var(--container-gutter)))) * -1);
}
:where(.content-block):not([data-swiperStyles-enabled="false"]) .swiper.swiper-initialized {
  opacity: 1;
}
:where(.content-block):not([data-swiperStyles-enabled="false"]) .swiper-button-prev.swiper-button-disabled, :where(.content-block):not([data-swiperStyles-enabled="false"]) .swiper-button-next.swiper-button-disabled {
  display: none;
}
:where(.content-block):not([data-swiperStyles-enabled="false"]) :is(:where(.swiper-horizontal) > .swiper-pagination-bullets, .swiper-pagination-bullets:where(.swiper-pagination-horizontal), .swiper-pagination-custom, .swiper-pagination-fraction):not(.swiper-pagination-lock) {
  bottom: 1.5rem;
  bottom: var(--swiper-pagination-bottom);
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: calc(
  	0.375rem * 3
  );
  gap: var(--swiper-pagination-bullet-horizontal-gap);
}

:where(.content-block):not([data-swiperStyles-enabled="false"]) .swiper-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet, :where(.content-block):not([data-swiperStyles-enabled="false"]) .swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
  margin: 0;
}

:where(.content-block):not([data-swiperStyles-enabled="false"]) .swiper-button-next, :where(.content-block):not([data-swiperStyles-enabled="false"]) .swiper-button-prev {
  /* customize swiper buttons to utilize theme's styles for the button */
  --button-baseline-offset: 0.5 !important;
  --swiper-navigation-size: var(--button-height);
  z-index: 1;
  width: auto;
}
:where(.content-block):not([data-swiperStyles-enabled="false"]) .swiper-button-next::before, :where(.content-block):not([data-swiperStyles-enabled="false"]) .swiper-button-next::after, :where(.content-block):not([data-swiperStyles-enabled="false"]) .swiper-button-prev::before, :where(.content-block):not([data-swiperStyles-enabled="false"]) .swiper-button-prev::after {
  content: none;
}
:where(.content-block):not([data-swiperStyles-enabled="false"]) .swiper-scrollbar-drag {
  height: calc(2px * 2);
  height: calc(var(--swiper-scrollbar-size) * 2);
  top: -50%;
  bottom: -50%;
  margin-block: auto;
}

/* Swiper Custom Helpers
--------------------------------------------------------------- */
:where(.content-block):not([data-swiperStyles-enabled="false"]) .swiper-custom-scrollbar-static .swiper-scrollbar {
  position: static;
  margin-top: 1.5rem;
  margin-top: var(--swiper-scrollbar-bottom);
  margin-bottom: 2px;
  margin-bottom: var(--swiper-scrollbar-size);
  margin-inline: auto;
  margin-left: 1rem;
  margin-left: var(--swiper-scrollbar-sides-offset, 1%);
}
:where(.content-block):not([data-swiperStyles-enabled="false"]) .swiper-custom-pagination-static .swiper-pagination {
  position: static;
  margin-top: 1.5rem;
  margin-top: var(--swiper-pagination-bottom);
}
@media only screen and (min-width: 768px) and (max-width: 1199px) {
  :where(.content-block):not([data-swiperStyles-enabled="false"]) .swiper-custom-pagination-static-sm .swiper-pagination {
    position: static;
    margin-top: 1.5rem;
    margin-top: var(--swiper-pagination-bottom);
  }
}
@media only screen and (max-width: 767px) {
  :where(.content-block):not([data-swiperStyles-enabled="false"]) .swiper-custom-pagination-static-xs .swiper-pagination {
    position: static;
    margin-top: 1.5rem;
    margin-top: var(--swiper-pagination-bottom);
  }
}
:where(.content-block):not([data-swiperStyles-enabled="false"]) .swiper-custom-buttons-static .swiper-wrapper {
  height: auto;
}
:where(.content-block):not([data-swiperStyles-enabled="false"]) .swiper-custom-buttons-static .swiper-custom-buttons {
  display: flex;
  justify-content: center;
  gap: 0.75rem;
}
:where(.content-block):not([data-swiperStyles-enabled="false"]) .swiper-custom-buttons-static .swiper-custom-buttons .swiper-button-prev, :where(.content-block):not([data-swiperStyles-enabled="false"]) .swiper-custom-buttons-static .swiper-custom-buttons .swiper-button-next {
  margin-inline: 0;
}
:where(.content-block):not([data-swiperStyles-enabled="false"]) .swiper-custom-buttons-static .swiper-button-next, :where(.content-block):not([data-swiperStyles-enabled="false"]) .swiper-custom-buttons-static .swiper-button-prev {
  position: static;
  transform: none;
  margin: 0;
}
:where(.content-block):not([data-swiperStyles-enabled="false"]) .swiper-custom-buttons-static .swiper-button-next ~ .swiper-pagination, :where(.content-block):not([data-swiperStyles-enabled="false"]) .swiper-custom-buttons-static .swiper-button-prev ~ .swiper-pagination {
  display: inline-flex;
  width: auto;
}
:where(.content-block):not([data-swiperStyles-enabled="false"]) .swiper-custom-buttons-static .swiper-button-prev {
  margin-right: 0.375rem;
}
:where(.content-block):not([data-swiperStyles-enabled="false"]) .swiper-custom-buttons-static .swiper-button-next {
  margin-left: 0.375rem;
}
@media only screen and (min-width: 768px) and (max-width: 1199px) {
  :where(.content-block):not([data-swiperStyles-enabled="false"]) .swiper-custom-buttons-static-sm .swiper-wrapper {
    height: auto;
  }
  :where(.content-block):not([data-swiperStyles-enabled="false"]) .swiper-custom-buttons-static-sm .swiper-custom-buttons {
    display: flex;
    justify-content: center;
    gap: 0.75rem;
  }
  :where(.content-block):not([data-swiperStyles-enabled="false"]) .swiper-custom-buttons-static-sm .swiper-custom-buttons .swiper-button-prev, :where(.content-block):not([data-swiperStyles-enabled="false"]) .swiper-custom-buttons-static-sm .swiper-custom-buttons .swiper-button-next {
    margin-inline: 0;
  }
  :where(.content-block):not([data-swiperStyles-enabled="false"]) .swiper-custom-buttons-static-sm .swiper-button-next, :where(.content-block):not([data-swiperStyles-enabled="false"]) .swiper-custom-buttons-static-sm .swiper-button-prev {
    position: static;
    transform: none;
    margin: 0;
  }
  :where(.content-block):not([data-swiperStyles-enabled="false"]) .swiper-custom-buttons-static-sm .swiper-button-next ~ .swiper-pagination, :where(.content-block):not([data-swiperStyles-enabled="false"]) .swiper-custom-buttons-static-sm .swiper-button-prev ~ .swiper-pagination {
    display: inline-flex;
    width: auto;
  }
  :where(.content-block):not([data-swiperStyles-enabled="false"]) .swiper-custom-buttons-static-sm .swiper-button-prev {
    margin-right: 0.375rem;
  }
  :where(.content-block):not([data-swiperStyles-enabled="false"]) .swiper-custom-buttons-static-sm .swiper-button-next {
    margin-left: 0.375rem;
  }
}
@media only screen and (max-width: 767px) {
  :where(.content-block):not([data-swiperStyles-enabled="false"]) .swiper-custom-buttons-static-xs .swiper-wrapper {
    height: auto;
  }
  :where(.content-block):not([data-swiperStyles-enabled="false"]) .swiper-custom-buttons-static-xs .swiper-custom-buttons {
    display: flex;
    justify-content: center;
    gap: 0.75rem;
  }
  :where(.content-block):not([data-swiperStyles-enabled="false"]) .swiper-custom-buttons-static-xs .swiper-custom-buttons .swiper-button-prev, :where(.content-block):not([data-swiperStyles-enabled="false"]) .swiper-custom-buttons-static-xs .swiper-custom-buttons .swiper-button-next {
    margin-inline: 0;
  }
  :where(.content-block):not([data-swiperStyles-enabled="false"]) .swiper-custom-buttons-static-xs .swiper-button-next, :where(.content-block):not([data-swiperStyles-enabled="false"]) .swiper-custom-buttons-static-xs .swiper-button-prev {
    position: static;
    transform: none;
    margin: 0;
  }
  :where(.content-block):not([data-swiperStyles-enabled="false"]) .swiper-custom-buttons-static-xs .swiper-button-next ~ .swiper-pagination, :where(.content-block):not([data-swiperStyles-enabled="false"]) .swiper-custom-buttons-static-xs .swiper-button-prev ~ .swiper-pagination {
    display: inline-flex;
    width: auto;
  }
  :where(.content-block):not([data-swiperStyles-enabled="false"]) .swiper-custom-buttons-static-xs .swiper-button-prev {
    margin-right: 0.375rem;
  }
  :where(.content-block):not([data-swiperStyles-enabled="false"]) .swiper-custom-buttons-static-xs .swiper-button-next {
    margin-left: 0.375rem;
  }
}
:where(.content-block):not([data-swiperStyles-enabled="false"]) .swiper-custom-hide-slides:is(.swiper-initialized, :has(.swiper-initialized)) .swiper-slide:not(.swiper-slide-duplicate-visible):not(.swiper-slide-visible):not(.swiper-slide-active) {
  opacity: 0 !important;
  pointer-events: none !important;
  transition: opacity 0.25s ease-in-out;
}
@media only screen and (min-width: 768px) and (max-width: 1199px) {
  :where(.content-block):not([data-swiperStyles-enabled="false"]) .swiper-custom-hide-slides-sm:is(.swiper-initialized, :has(.swiper-initialized)) .swiper-slide:not(.swiper-slide-duplicate-visible):not(.swiper-slide-visible):not(.swiper-slide-active) {
    opacity: 0 !important;
    pointer-events: none !important;
    transition: opacity 0.25s ease-in-out;
  }
}
@media only screen and (max-width: 767px) {
  :where(.content-block):not([data-swiperStyles-enabled="false"]) .swiper-custom-hide-slides-xs:is(.swiper-initialized, :has(.swiper-initialized)) .swiper-slide:not(.swiper-slide-duplicate-visible):not(.swiper-slide-visible):not(.swiper-slide-active) {
    opacity: 0 !important;
    pointer-events: none !important;
    transition: opacity 0.25s ease-in-out;
  }
}
:where(.content-block):not([data-swiperStyles-enabled="false"]) .swiper-custom-ticker {
  --swiper-wrapper-transition-timing-function: linear;
}
@media only screen and (min-width: 1200px) {
  :where(.content-block):not([data-swiperStyles-enabled="false"]) .swiper-custom-stagger :where(.swiper-slide > :only-child) {
    transition-duration: 0.1s;
    transition-property: transform, opacity;
    opacity: 0;
    transform: translateX(50px);
  }
  :where(.content-block):not([data-swiperStyles-enabled="false"]) .swiper-custom-stagger.visible :where(.swiper-slide > :only-child) {
    transition-duration: 1s;
    transition-delay: calc(1s + 0.25s * 0);
    transition-delay: calc(1s + 0.25s * var(--swiper-custom-slide-i, 0));
    opacity: 1;
    transform: translateX(0px);
  }
}
:where(.content-block):not([data-swiperStyles-enabled="false"]) .swiper-custom-remove-background .swiper-slide {
  mix-blend-mode: multiply;
}
:where(.content-block):not([data-swiperStyles-enabled="false"]) .swiper-custom-equal-heights .swiper-slide {
  height: auto;
  align-self: stretch;
  display: flex;
  flex-direction: column;
}
:where(.content-block):not([data-swiperStyles-enabled="false"]) .swiper-custom-equal-heights .swiper-slide > :where(:only-child) {
  flex: 1 1;
}
@media only screen and (min-width: 1200px) {
  :where(.content-block):not([data-swiperStyles-enabled="false"]) .swiper-custom-equal-heights-nontouch .swiper-slide {
    height: auto;
    align-self: stretch;
    display: flex;
    flex-direction: column;
  }
  :where(.content-block):not([data-swiperStyles-enabled="false"]) .swiper-custom-equal-heights-nontouch .swiper-slide > :where(:only-child) {
    flex: 1 1;
  }
}
@media only screen and (max-width: 1199px) {
  :where(.content-block):not([data-swiperStyles-enabled="false"]) .swiper-custom-equal-heights-touch .swiper-slide {
    height: auto;
    align-self: stretch;
    display: flex;
    flex-direction: column;
  }
  :where(.content-block):not([data-swiperStyles-enabled="false"]) .swiper-custom-equal-heights-touch .swiper-slide > :where(:only-child) {
    flex: 1 1;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1199px) {
  :where(.content-block):not([data-swiperStyles-enabled="false"]) .swiper-custom-equal-heights-sm .swiper-slide {
    height: auto;
    align-self: stretch;
    display: flex;
    flex-direction: column;
  }
  :where(.content-block):not([data-swiperStyles-enabled="false"]) .swiper-custom-equal-heights-sm .swiper-slide > :where(:only-child) {
    flex: 1 1;
  }
}
@media only screen and (max-width: 767px) {
  :where(.content-block):not([data-swiperStyles-enabled="false"]) .swiper-custom-equal-heights-xs .swiper-slide-slide {
    height: auto;
    align-self: stretch;
    display: flex;
    flex-direction: column;
  }
  :where(.content-block):not([data-swiperStyles-enabled="false"]) .swiper-custom-equal-heights-xs .swiper-slide-slide > :where(:only-child) {
    flex: 1 1;
  }
}

/*# sourceMappingURL=base-swiper.css.map */
/* Testimonial https://github.com/1point21interactive/1p21_wp_boilerplate/blob/master/wp-content/themes/1p21-boilerplate/docs/includes/repeater/testimonial.md
-------------------------------------------------------------------------------- */
/*
* Testimonial Stars
-------------------------------------------------------------------------------- */
:where(.content-block):not([data-testimonialStyles-enabled="false"]) .testimonial-stars {
  font-size: 2rem;
}
/*
* Testimonial Highlight / Main quote
-------------------------------------------------------------------------------- */
:where(.content-block):not([data-testimonialStyles-enabled="false"]) .testimonial-highlight {
  text-align: inherit;
  max-width: none;
  margin-inline: 0;
}
/*
* Testimonial Quote Body / other parts of the quote
-------------------------------------------------------------------------------- */
/*
* Testimonial Divider - Optional
-------------------------------------------------------------------------------- */
:where(.content-block):not([data-testimonialStyles-enabled="false"]) .testimonial-divider {
  --fancy-border-margin-y: 0em;
}
/*
* Testimonial Source + Optional Icon
-------------------------------------------------------------------------------- */
:where(.content-block):not([data-testimonialStyles-enabled="false"]) .testimonial-source span:nth-last-child(n+2)::after {
  content: "\25CF\FE0E";
  color: var(--color-primary);
  letter-spacing: 0em;
  margin-inline: 0.25em;
}
:where(.content-block):not([data-testimonialStyles-enabled="false"]) .testimonial-source.testimonial-source-has-first-letter::before {
  content: attr(data-first-letter);
  display: flex;
  align-content: center;
  align-items: center;
  justify-content: center;
  width: 1.75em;
  height: 1.75em;
  border-radius: 999em;
  background: var(--scheme-sp, var(--color-primary));
  font-size: 18px;
  font-family: var(--font-accent);
  color: var(--color-light);
  text-transform: uppercase;
}
:where(.content-block):not([data-testimonialStyles-enabled="false"]) :where(.content-palette-dark) .testimonial-source {
  color: inherit;
  color: var(--scheme-sp, inherit);
}
:where(.content-block):not([data-testimonialStyles-enabled="false"]) .testimonial-source-icon {
  font-size: 1.25em;
}

/*
* includes/repeater-testimonial
-------------------------------------------------------------------------------- */
:where(.content-block):not([data-testimonialStyles-enabled="false"]) .testimonial {
  max-width: 100%;
}
:where(.content-block):not([data-testimonialStyles-enabled="false"]) .testimonial, :where(.content-block):not([data-testimonialStyles-enabled="false"]) .testimonial-container {
  display: flex;
  min-width: 0;
  flex-direction: column;
}
:where(.content-block):not([data-testimonialStyles-enabled="false"]) .testimonial-container {
  width: 100%;
  flex: 1 1;
  gap: 0.75rem;
}

/*# sourceMappingURL=base-testimonial.css.map */
/* Video Button - Default (One that doesnt have custom markup in it, just the usual one with a play symbol)
https://github.com/1point21interactive/1p21_wp_boilerplate/blob/master/wp-content/themes/1p21-boilerplate/docs/includes/helper/video-button.md
--------------------------------------------------------------- */
/* Video Button Skeletons. No need to edit 
--------------------------------------------------------------- */
@keyframes video-button-default-text-rotate {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}
:where(.content-block):not([data-videoStyles-enabled="false"]) .video-button-default {
  display: inline-flex;
  width: 1em;
  height: 1em;
  position: relative;
  font-size: var(--video-button-size);
  z-index: 0;
  cursor: pointer;
  align-items: center;
  justify-content: center;
}
:where(.content-block):not([data-videoStyles-enabled="false"]) .video-button-default:is(.video-button-no-api) {
  pointer-events: none;
}
:where(.content-block):not([data-videoStyles-enabled="false"]) .video-thumbnail .video-button-default {
  /* customize instances of video button within thumbnail*/
  position: absolute;
  z-index: 1;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  --video-button-size: 70px;
}
:where(.content-block):not([data-videoStyles-enabled="false"]) .video-button-default-image, :where(.content-block):not([data-videoStyles-enabled="false"]) .video-button-default-text, :where(.content-block):not([data-videoStyles-enabled="false"]) .video-button-default-text-svg, :where(.content-block):not([data-videoStyles-enabled="false"]) .video-button-default-text span, :where(.content-block):not([data-videoStyles-enabled="false"]) .video-button-default::before, :where(.content-block):not([data-videoStyles-enabled="false"]) .video-button-default::after {
  position: absolute;
  margin: auto;
  pointer-events: none;
}
:where(.content-block):not([data-videoStyles-enabled="false"]) .video-button-default-text, :where(.content-block):not([data-videoStyles-enabled="false"]) .video-button-default-image {
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
}
:where(.content-block):not([data-videoStyles-enabled="false"]) .video-button-default.video-button-default-no-icon::before, :where(.content-block):not([data-videoStyles-enabled="false"]) .video-button-default.video-button-default-no-icon::after {
  content: "";
  display: block;
}
:where(.content-block):not([data-videoStyles-enabled="false"]) .video-button-default > .wistia_click_to_play {
  position: static !important;
  width: auto !important;
  height: auto !important;
}
:where(.content-block):not([data-videoStyles-enabled="false"]) .video-button-default-glyph {
  display: flex;
  align-items: center;
}
:where(.content-block):not([data-videoStyles-enabled="false"]) .video-button-default-glyph::before {
  content: "";
  display: block;
  width: var(--video-button-glyph-width);
  height: var(--video-button-glyph-height);
  background: currentColor;
  background: var(--video-button-glyph-color, currentColor);
  clip-path: polygon(0 0, 100% 50%, 0 100%);
}
:where(.content-block):not([data-videoStyles-enabled="false"]) .video-button-default-glyph:not(.video-button-default-glyph-has-text) {
  padding-left: calc(var(--video-button-glyph-width) * 0.25);
}
:where(.content-block):not([data-videoStyles-enabled="false"]) .video-button-default-glyph-has-text::before {
  content: none;
}
:where(.content-block):not([data-videoStyles-enabled="false"]) .video-button-default-text {
  font-size: var(--video-button-glyph-height);
}
:where(.content-block):not([data-videoStyles-enabled="false"]) .video-button-default-text-svg {
  transform-style: preserve-3d;
  max-width: none;
  top: -100%;
  left: -100%;
  right: -100%;
  bottom: -100%;
  margin: auto;
  font-size: calc(1em * 1 / var(--video-button-text-svg-radius-ratio));
  width: calc(200% * var(--video-button-text-svg-radius-ratio));
  height: calc(200% * var(--video-button-text-svg-radius-ratio));
}
:where(.content-block):not([data-videoStyles-enabled="false"]) .video-button-default-text-svg-path {
  transform-origin: center center;
}
:where(.content-block):not([data-videoStyles-enabled="false"]) .video-button-default-text-html span {
  top: 0;
  bottom: 0;
  width: -moz-max-content;
  width: max-content;
  height: -moz-max-content;
  height: max-content;
}
:where(.content-block):not([data-videoStyles-enabled="false"]) .video-button-default-text-html span:not(.video-button-default-text-html-separator):first-child {
  right: 100%;
  margin-right: 1em;
}
:where(.content-block):not([data-videoStyles-enabled="false"]) .video-button-default-text-html span:not(.video-button-default-text-html-separator):last-child {
  left: 100%;
  margin-left: 1em;
}
:where(.content-block):not([data-videoStyles-enabled="false"]) .video-button-default-image-init:not(:only-child), :where(.content-block):not([data-videoStyles-enabled="false"]) .video-button-default:is(:hover, :focus) .video-button-default-image-hover, :where(.content-block):not([data-videoStyles-enabled="false"]) .video-pointer-reference:is(:hover, :focus, :focus-within) .video-button-default-image-hover {
  opacity: 1;
}

:where(.content-block):not([data-videoStyles-enabled="false"]) .video-button-default-image-hover, :where(.content-block):not([data-videoStyles-enabled="false"]) .video-button-default:is(:hover, :focus) .video-button-default-image-init:not(:only-child), :where(.content-block):not([data-videoStyles-enabled="false"]) .video-pointer-reference:is(:hover, :focus, :focus-within) .video-button-default-image-init:not(:only-child) {
  opacity: 0;
}

/* Video Button Customizations: https://github.com/1point21interactive/1p21_wp_boilerplate/blob/master/wp-content/themes/1p21-boilerplate/docs/includes/helper/video-button.md#css-vars
--------------------------------------------------------------- */
:where(.content-block):not([data-videoStyles-enabled="false"]) .video-button-default {
  --video-button-size: 80px;
  /* size of video button by height and or width */
  --video-button-text-svg-radius-ratio: 1.25;
  /*  ratio of svg path for rounded text. */
  --video-button-text-svg-start-offset: 50%;
  /*  offset of svg text */
  --video-button-glyph-height: 0.24em;
  /* height for video play triangle glyph*/
  /* Tip: set as ems so the play symbol scales along with the actual button */
  --video-button-glyph-width: 0.16em;
  /* width for video play triangle glyph*/
  /* Tip: set as ems so the play symbol scales along with the actual button */
  --video-button-glyph-color: currentColor;
  /* color of the video button glyph. Used as a background-color so it can take gradients too */
  color: var(--color-light);
}
:where(.content-block):not([data-videoStyles-enabled="false"]) .video-button-default, :where(.content-block):not([data-videoStyles-enabled="false"]) .video-button-default-image, :where(.content-block):not([data-videoStyles-enabled="false"]) .video-button-default-text, :where(.content-block):not([data-videoStyles-enabled="false"]) .video-button-default::before, :where(.content-block):not([data-videoStyles-enabled="false"]) .video-button-default::after, :where(.content-block):not([data-videoStyles-enabled="false"]) .video-button-default-thumbnail-markup::after {
  transition-duration: 0.25s;
  transition-timing-function: ease-in-out;
}
:where(.content-block):not([data-videoStyles-enabled="false"]) .video-button-default, :where(.content-block):not([data-videoStyles-enabled="false"]) .video-button-default-image, :where(.content-block):not([data-videoStyles-enabled="false"]) .video-button-default-text, :where(.content-block):not([data-videoStyles-enabled="false"]) .video-button-default-thumbnail-markup::after {
  transition-property: opacity, left, top, bottom, right, width, height;
}
:where(.content-block):not([data-videoStyles-enabled="false"]) .video-button-default::before, :where(.content-block):not([data-videoStyles-enabled="false"]) .video-button-default::after {
  transition-property: all;
}
:where(.content-block):not([data-videoStyles-enabled="false"]) .video-thumbnail .video-button-default {
  /* customize instances of video button within thumbnail*/
  --video-button-size: 70px;
}
:where(.content-block):not([data-videoStyles-enabled="false"]) .video-thumbnail .video-button-default:is(:hover, :focus), :where(.content-block):not([data-videoStyles-enabled="false"]) .video-pointer-reference:is(:hover, :focus, :focus-within) .video-thumbnail .video-button-default {
  --video-thumbnail-overlay-opacity: 0.8;
}
@media only screen and (min-width: 1400px) {
  :where(.content-block):not([data-videoStyles-enabled="false"]) .video-button-default {
    --video-button-size: 100px;
  }
  :where(.content-block):not([data-videoStyles-enabled="false"]) .video-thumbnail .video-button-default {
    --video-button-size: 120px;
  }
}
:where(.content-block):not([data-videoStyles-enabled="false"]) .video-button-default-glyph {
  letter-spacing: 0.05em;
  text-transform: uppercase;
  font-weight: 700;
}
:where(.content-block):not([data-videoStyles-enabled="false"]) .video-button-default-glyph::before {
  clip-path: polygon(0 0, 100% 50%, 0 100%);
}
:where(.content-block):not([data-videoStyles-enabled="false"]) .video-button-default-text {
  font-size: 0.75rem;
  line-height: 1;
  color: var(--color-neutral);
  letter-spacing: 0.05em;
  text-transform: uppercase;
  font-weight: 700;
}
:where(.content-block):not([data-videoStyles-enabled="false"]) .video-button-default-text-separator {
  color: inherit;
}
:where(.content-block):not([data-videoStyles-enabled="false"]) .video-button-default-text-svg {
  transform: rotate(32deg);
  color: inherit;
}
:where(.content-block):not([data-videoStyles-enabled="false"]) .video-button-default-text-html > span {
  top: 0;
  bottom: 0;
}
:where(.content-block):not([data-videoStyles-enabled="false"]) .video-button-default.video-button-default-no-icon {
  /* tru element/background */
  /* these are basic styles. overhaul as needed */
  background: rgba(255, 255, 255, 0.2);
  box-shadow: 0 0 0 0 rgba(255, 255, 255, 0.2);
}
:where(.content-block):not([data-videoStyles-enabled="false"]) .video-button-default.video-button-default-no-icon, :where(.content-block):not([data-videoStyles-enabled="false"]) .video-button-default.video-button-default-no-icon::before, :where(.content-block):not([data-videoStyles-enabled="false"]) .video-button-default.video-button-default-no-icon::after {
  /* these are basic styles. overhaul as needed */
  border-radius: 999em;
  transform: scale(1);
}
:where(.content-block):not([data-videoStyles-enabled="false"]) .video-button-default.video-button-default-no-icon::before {
  /* fake extra background */
  /* these are basic styles. overhaul as needed */
  background: linear-gradient(to bottom, var(--color-primary-gradient-start), var(--color-primary-gradient-end));
  z-index: -1;
  top: 0.1em;
  bottom: 0.1em;
  left: 0.1em;
  right: 0.1em;
}
:where(.content-block):not([data-videoStyles-enabled="false"]) .video-button-default.video-button-default-no-icon::after {
  /* other element for fx */
  /* these are basic styles. overhaul as needed */
  border: 0.0125em solid var(--color-accent);
  top: 0.15em;
  bottom: 0.15em;
  left: 0.15em;
  right: 0.15em;
}
:where(.content-block):not([data-videoStyles-enabled="false"]) .video-button-default.video-button-default-no-icon:is(:hover, :focus), :where(.content-block):not([data-videoStyles-enabled="false"]) .video-pointer-reference:is(:hover, :focus, :focus-within) .video-button-default.video-button-default-no-icon {
  /* on hover on itself/ containing repeater/ .video-pointer-reference */
  --video-button-glyph-color: linear-gradient(
  	to bottom,
  	var(--color-light-alt),
  	var(--color-light)
  );
  /* these are basic styles. overhaul as needed */
  box-shadow: 0 0 0 0.1em rgba(255, 255, 255, 0.2);
}
:where(.content-block):not([data-videoStyles-enabled="false"]) .video-button-default.video-button-default-no-icon:is(:hover, :focus)::before, :where(.content-block):not([data-videoStyles-enabled="false"]) .video-pointer-reference:is(:hover, :focus, :focus-within) .video-button-default.video-button-default-no-icon::before {
  /* these are basic styles. overhaul as needed */
  background: linear-gradient(to bottom, var(--color-primary-gradient-start), var(--color-primary-gradient-end));
  transform: scale(1.25);
}
:where(.content-block):not([data-videoStyles-enabled="false"]) .video-button-default.video-button-default-no-icon:is(:hover, :focus)::after, :where(.content-block):not([data-videoStyles-enabled="false"]) .video-pointer-reference:is(:hover, :focus, :focus-within) .video-button-default.video-button-default-no-icon::after {
  /* these are basic styles. overhaul as needed */
  transform: scale(0.98);
}
:where(.content-block):not([data-videoStyles-enabled="false"]) .video-thumbnail .video-button-default.video-button-default-no-icon:is(:hover, :focus), :where(.content-block):not([data-videoStyles-enabled="false"]) .video-pointer-reference:has(.video-thumbnail .video-button-default.video-button-default-no-icon):is(:hover, :focus-within) .video-button-default.video-button-default-no-icon {
  /* these are basic styles. overhaul as needed */
}
:where(.content-block):not([data-videoStyles-enabled="false"]) .video-thumbnail .video-button-default.video-button-default-no-icon:is(:hover, :focus)::before, :where(.content-block):not([data-videoStyles-enabled="false"]) .video-pointer-reference:has(.video-thumbnail .video-button-default.video-button-default-no-icon):is(:hover, :focus-within) .video-button-default.video-button-default-no-icon::before {
  /* these are basic styles. overhaul as needed */
}
:where(.content-block):not([data-videoStyles-enabled="false"]) .video-thumbnail .video-button-default.video-button-default-no-icon:is(:hover, :focus)::after, :where(.content-block):not([data-videoStyles-enabled="false"]) .video-pointer-reference:has(.video-thumbnail .video-button-default.video-button-default-no-icon):is(:hover, :focus-within) .video-button-default.video-button-default-no-icon::after {
  /* these are basic styles. overhaul as needed */
}

/* Video Pointer Reference
--------------------------------------------------------------- */
:where(.content-block):not([data-videoStyles-enabled="false"]) .video-pointer-reference {
  cursor: pointer;
}

/* Video Thumbnail https://github.com/1point21interactive/1p21_wp_boilerplate/blob/master/wp-content/themes/1p21-boilerplate/docs/includes/helper/video-thumbnail.md
--------------------------------------------------------------- */
/* Video Thumbnail Skeletons. No need to edit 
--------------------------------------------------------------- */
:where(.content-block):not([data-videoStyles-enabled="false"]) .video-thumbnail {
  --cover-aspect-w: var(--video-thumbnail-aspect-w);
  --cover-aspect-l: var(--video-thumbnail-aspect-l);
  flex: 0 0 auto;
  position: relative;
  background-color: var(--color-light-alt);
}
:where(.content-block):not([data-videoStyles-enabled="false"]) .video-thumbnail-markup {
  border-radius: inherit;
  overflow: hidden;
}
:where(.content-block):not([data-videoStyles-enabled="false"]) .video-thumbnail-markup[href]::after, :where(.content-block):not([data-videoStyles-enabled="false"]) .video-thumbnail-markup.wistia_embed::after {
  /* overlay */
  content: "";
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  pointer-events: none;
  background: var(--video-thumbnail-overlay-background);
  opacity: var(--video-thumbnail-overlay-opacity);
  mix-blend-mode: var(--video-thumbnail-overlay-mix-blend);
  -webkit-backdrop-filter: var(--video-thumbnail-overlay-backdrop-filter);
          backdrop-filter: var(--video-thumbnail-overlay-backdrop-filter);
}
:where(.content-block):not([data-videoStyles-enabled="false"]) .video-thumbnail-markup-img img {
  max-width: none;
}

/* force object fit cover where we need to, im looking at you wistia
--------------------------------------------------------------- */
:where(.content-block):not([data-videoStyles-enabled="false"]) :is(.video-thumbnail-markup > *, .video-thumbnail-markup img) {
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  position: absolute !important;
  top: 0 !important;
  bottom: 0 !important;
  left: 0 !important;
  right: 0 !important;
  -o-object-fit: cover !important;
     object-fit: cover !important;
  margin: 0 !important;
}

/* Video Thumbnail
https://github.com/1point21interactive/1p21_wp_boilerplate/blob/master/wp-content/themes/1p21-boilerplate/docs/includes/helper/video-thumbnail.md#css-vars
--------------------------------------------------------------- */
:where(.content-block):not([data-videoStyles-enabled="false"]) .video-thumbnail {
  --video-thumbnail-aspect-w: 16;
  --video-thumbnail-aspect-l: 9;
  --video-thumbnail-overlay-background: var(--color-dark-alt)
  	linear-gradient(to bottom right, var(--color-dark), var(--color-dark-alt));
  --video-thumbnail-overlay-opacity: 0;
  --video-thumbnail-overlay-backdrop-filter: none;
  --video-thumbnail-overlay-mix-blend: multiply;
}
:where(.content-block):not([data-videoStyles-enabled="false"]) .video-thumbnail:is(:hover, :focus), :where(.content-block):not([data-videoStyles-enabled="false"]) .video-pointer-reference:is(:hover, :focus, :focus-within) .video-thumbnail {
  --video-thumbnail-overlay-opacity: 0.8;
}
:where(.content-block):not([data-videoStyles-enabled="false"]) .video-thumbnail-markup[href]::after, :where(.content-block):not([data-videoStyles-enabled="false"]) .video-thumbnail-markup.wistia_embed::after {
  /* overlay */
  transition: 0.25s ease-in-out all;
}

/* includes/repeater-video
--------------------------------------------------------------- */
:where(.content-block):not([data-videoStyles-enabled="false"]) .video {
  /* styles when the video has a link */
}
:where(.content-block):not([data-videoStyles-enabled="false"]) .video {
  max-width: 100%;
}
:where(.content-block):not([data-videoStyles-enabled="false"]) .video, :where(.content-block):not([data-videoStyles-enabled="false"]) .video-container {
  display: flex;
  min-width: 0;
  flex-direction: column;
}
:where(.content-block):not([data-videoStyles-enabled="false"]) .video-container {
  width: 100%;
  flex: 1 1;
  gap: 1rem;
}
:where(.content-block):not([data-videoStyles-enabled="false"]) .video-title {
  flex: 1 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  text-align: center;
  margin-block: 0;
}

/*# sourceMappingURL=base-video.css.map */.content-block {
  position: relative;
}
.content-block .block-edit-link {
  position: absolute;
  bottom: -1.75rem;
}
.content-block .block-edit-link a {
  font-family: var(--font-primary);
  font-size: 1rem;
  border-bottom: 1px solid var(--color-primary);
  text-decoration: none;
  color: var(--color-dark);
}
.content-block .block-edit-link a:is(:hover, :focus) {
  color: var(--color-primary);
}

/*# sourceMappingURL=base-unscoped.css.map */
