/*! 
Theme Name: 1p21 Theme Build
Author: 1p21

--------------

for future friendly editing and to avoid possibility of change overrides, DO:
- For smaller and or quick fixes, put css changes in post-live.css 
OR
- For complex and or elaborate rebuilds/ Site build, modify sass files locally with a compiler and output as the style.css
*/
*:where(:not(html, iframe, canvas, img, svg, video, audio, input, textarea, select, button, table, caption, tbody, tfoot, thead, tr, th, td):not(svg *, symbol *)) {
  all: unset;
  display: revert
}

:where(input, textarea, select, option, button, optgroup) {
  all: revert;
  margin: unset;
  -webkit-appearance: auto;
  -moz-appearance: auto;
  appearance: auto
}

:where(table, caption, tbody, tfoot, thead, tr, th, td) {
  margin: unset;
  padding: unset;
  border: unset;
  background: unset;
  border-collapse: collapse;
  border-spacing: 0
}

a,
button {
  cursor: revert
}

ol,
ul,
menu {
  list-style: none
}

img {
  max-inline-size: 100%;
  max-block-size: 100%
}

input,
textarea {
  -webkit-user-select: auto
}

textarea {
  white-space: revert
}

meter {
  -webkit-appearance: revert;
  -moz-appearance: revert;
  appearance: revert
}

:where(pre) {
  all: revert
}

::-moz-placeholder {
  color: unset
}

::placeholder {
  color: unset
}

::marker {
  content: initial
}

:where([hidden]) {
  display: none
}

:where([contenteditable]:not([contenteditable=false])) {
  -moz-user-modify: read-write;
  -webkit-user-modify: read-write;
  overflow-wrap: break-word;
  -webkit-line-break: after-white-space;
  -webkit-user-select: auto
}

:where([draggable=true]) {
  -webkit-user-drag: element
}

:where(dialog:modal) {
  all: revert
}

*,
*::before,
*::after {
  box-sizing: border-box
}

:root {
  --br-xxs: 22.4375rem;
  --br-xs: 47.9375rem;
  --br-sm: 74.9375rem;
  --br-md: 87.4375rem;
  --br-lg: 119.9375rem;
  --br-xl: 179.9375rem;
  --br-xxl: 239rem;
  --comp: 22.5rem;
  --overlap-buffer: 1px;
  --font-primary: Geist, Helvetica, Arial, sans-serif, Primary Fallback;
  --font-secondary: Anek Devanagari, Times, serif, Secondary Fallback;
  --font-accent: var(--font-primary);
  --font-monospace: monospace;
  --color-dark: #11120E;
  --color-dark-alt: #10192B;
  --color-light: #FFFFFF;
  --color-light-alt: #F2F2F2;
  --color-primary: #0794D6;
  --color-primary-alt: #25B1F2;
  --color-primary-gradient-start: #0494D6;
  --color-primary-gradient-end: #1A458E;
  --color-secondary: #AD8438;
  --color-secondary-alt: #DDB464;
  --color-secondary-gradient-start: var(--color-secondary);
  --color-secondary-gradient-end: var(--color-secondary-alt);
  --color-accent: #06111B;
  --color-accent-alt: #002B5F;
  --color-accent-gradient-start: var(--color-accent);
  --color-accent-gradient-end: var(--color-accent-alt);
  --color-neutral: #C7C7C7;
  --color-neutral-light: var(--color-neutral);
  --color-neutral-lighter: var(--color-neutral-light);
  --color-neutral-lightest: var(--color-neutral-lighter);
  --color-neutral-dark: #4F6485;
  --color-neutral-darker: var(--color-neutral-dark);
  --color-neutral-darkest: #091B3E;
  --color-success: #00CC00;
  --color-caution: #CC6600;
  --color-error: #CC0000;
  --global-radius: 0.625rem;
  --global-accent-gradient: linear-gradient(to right, var(--color-accent-gradient-start) 0%, var(--color-accent-gradient-end) 100%)
}

@media only screen and (min-width: 48rem) {
  :root {
    --comp: 48rem
  }
}

@media only screen and (min-width: 75rem) {
  :root {
    --comp: 75rem
  }
}

@media only screen and (min-width: 87.5rem) {
  :root {
    --comp: 87.5rem
  }
}

@media only screen and (min-width: 120rem) {
  :root {
    --comp: 120rem
  }
}

html,
body {
  min-width: 20rem;
  font-family: var(--font-primary);
  font-weight: 400;
  color: var(--scheme-fg, var(--color-dark));
  background: var(--scheme-bg, var(--color-light));
  word-wrap: break-word;
  scroll-behavior: smooth;
  min-height: 100vh;
  min-height: -webkit-fill-available;
  accent-color: var(--color-primary);
  text-box-trim: trim-both
}

html {
  overflow-x: hidden;
  overflow-y: scroll
}

body {
  overflow-x: clip
}

@media(pointer: coarse) {

  html,
  body {
    scrollbar-width: none
  }

  ::-webkit-scrollbar {
    display: none
  }
}

:focus {
  outline: none
}

html {
  -webkit-text-size-adjust: 100%
}

*,
*::before,
*::after {
  -webkit-backspace-visibility: hidden;
  box-sizing: border-box;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale
}

input:not(:is([type=checkbox], [type=radio])),
textarea,
select,
button {
  -webkit-appearance: none;
  border-radius: 0;
  border: none;
  resize: none;
  display: block;
  font: inherit;
  color: inherit;
  margin: 0
}

input:is([type=checkbox], [type=radio]) {
  -webkit-appearance: auto;
  -moz-appearance: auto;
  appearance: auto
}

input::-webkit-input-placeholder,
select::-webkit-input-placeholder,
textarea::-webkit-input-placeholder {
  color: inherit;
  opacity: .5;
  -webkit-transition: all .25s ease-in-out;
  transition: all .25s ease-in-out
}

input::-moz-placeholder,
select::-moz-placeholder,
textarea::-moz-placeholder {
  color: inherit;
  opacity: .5;
  -moz-transition: all .25s ease-in-out;
  transition: all .25s ease-in-out
}

input::-ms-input-placeholder,
select::-ms-input-placeholder,
textarea::-ms-input-placeholder {
  color: inherit;
  opacity: .5;
  -ms-transition: all .25s ease-in-out;
  transition: all .25s ease-in-out
}

input:focus::-webkit-input-placeholder,
select:focus::-webkit-input-placeholder,
textarea:focus::-webkit-input-placeholder {
  opacity: .2
}

input:focus::-moz-placeholder,
select:focus::-moz-placeholder,
textarea:focus::-moz-placeholder {
  opacity: .2
}

input:focus::-ms-input-placeholder,
select:focus::-ms-input-placeholder,
textarea:focus::-ms-input-placeholder {
  opacity: .2
}

:is(a, button):hover {
  cursor: pointer
}

button {
  border: none
}

:where(a) {
  text-decoration: none;
  color: inherit
}

:where(pre, code, kbd, tt) {
  font-family: var(--font-monospace);
  background: rgba(0, 0, 0, .05)
}

:where(code, kbd, tt) {
  padding: .125em
}

:where(pre) {
  padding: 1em;
  max-width: 100%;
  line-height: 1;
  overflow: auto
}

:where(pre) * {
  border: 0;
  margin: 0;
  padding: 0
}

:where(strong, b) {
  font-family: inherit;
  font-weight: bolder
}

:where(em, cite, i, var) {
  font-family: inherit;
  font-style: italic
}

:where(u) {
  text-decoration: underline
}

:where(var) {
  font-family: var(--font-secondary)
}

:where(sup, sub, small) {
  font-size: .75em
}

:where(sup) {
  vertical-align: top
}

:where(sub) {
  vertical-align: bottom
}

:where(hr) {
  outline: 0;
  border: 0;
  display: block
}

:where(img, svg) {
  max-width: 100%
}

:where(img) {
  height: auto
}

:where(video, audio, iframe, object, embed) {
  max-width: 100%
}

:is(main, .main, aside, .aside) {
  padding-block: 5rem 4.875rem
}

@media only screen and (min-width: 48rem) {
  :is(main, .main, aside, .aside) {
    padding-block: 5.8125rem 5.5rem
  }
}

@media only screen and (min-width: 75rem) {
  :is(main, .main, aside, .aside) {
    padding-block: 8rem 7.125rem
  }
}

@media only screen and (min-width: 87.5rem) {
  :is(main, .main, aside, .aside) {
    padding-block: 7.875rem 8.375rem
  }
}

@media only screen and (min-width: 120rem) {
  :is(main, .main, aside, .aside) {
    padding-block: 8.625rem
  }
}

.banner-can-overlap :is(main, .main, aside, .aside) {
  padding-top: var(--overlap-buffer)
}

.banner-no-background-image :is(main, .main, aside, .aside) {
  padding-top: 0rem
}

.template-wrapper {
  position: relative
}

:is(input:not([type=radio]):not([type=checkbox]):not([type=button]):not([type=image]):not([type=file]), select, textarea, [aria-invalid=true]),
:is(.gform_wrapper, .gfield_required) .gfield_required,
.gform_wrapper.gravity-theme .gfield_required .gfield_required_custom,
.gform_wrapper.gravity-theme .gfield_label,
.gform_wrapper.gravity-theme :is(.gfield, .field_description_above) :is(.description, .gfield_description, .gsection_description, .instruction),
.gform_wrapper.gravity-theme :is(.gfield_validation_message, .validation_message) {
  font: inherit;
  color: inherit;
  margin: 0;
  padding: 0;
  overflow: unset;
  height: auto;
  max-height: auto
}

.gfield:is(.gfield-custom-box-label-inset, .gfield-custom-box-label-adjacent) .gfield_label,
:is(input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=image]):not([type=file]), select, textarea, [aria-invalid=true]) {
  line-height: var(--field-line-height, inherit);
  border-radius: var(--field-border-radius, 0);
  color: var(--color-dark);
  padding-inline: calc(var(--field-padding-x, 1em) - var(--field-border-width, 1px));
  padding-block: calc(var(--field-padding-y, 1em) - var(--field-border-width, 1px));
  background: none;
  background-size: calc(100% + var(--field-border-width, 1px)*2) calc(100% + var(--field-border-width, 1px)*2);
  background-position: calc(var(--field-border-width, 1px)*-1) calc(var(--field-border-width, 1px)*-1);
  max-width: 100%
}

.gfield:is(.gfield-custom-box-label-adjacent) .gfield_label,
:is(input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=image]):not([type=file]), select, textarea, [aria-invalid=true]) {
  border-width: var(--field-border-width, 1px);
  border-style: solid;
  min-height: 0
}

.gfield:is(.gfield-custom-box-label-adjacent):is(.focus) .gfield_label,
:is(input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=image]):not([type=file]), select, textarea, [aria-invalid=true]):focus {
  border-width: var(--field-border-width, 2px)
}

.gfield:is(.gfield-custom-box-label-inset) .gfield_label,
:is(input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=image]):not([type=file]), select, textarea, [aria-invalid=true]) {
  background-color: var(--color-light);
  color: var(--color-dark)
}

.gform_wrapper.gravity-theme :is(.gfield_validation_message, .validation_message) {
  background: none;
  border: 0
}

.gform_wrapper.gravity-theme .gfield :is(.description, .gfield_description, .gsection_description, .instruction) {
  margin-top: .5em
}

.gform_wrapper.gravity-theme .field_description_above :is(.description, .gfield_description, .gsection_description, .instruction) {
  margin-top: 0;
  margin-bottom: .5em
}

.gform_wrapper.gravity-theme .ginput_container_time {
  min-width: calc(var(--field-padding-x)*2 + 5ch);
  max-width: calc(var(--field-padding-x)*2 + 5ch)
}

:is(.field_sublabel_below) .gform_wrapper.gravity-theme .ginput_complex {
  align-items: center
}

.gform_wrapper.gravity-theme .ginput_container_date input {
  width: 100%
}

.gfield.gfield_error :is(label, legend),
.gfield_validation_message,
.gfield .validation_message,
.gfield [aria-invalid=true]+label,
.gfield .gform_wrapper label+[aria-invalid=true] {
  color: var(--field-error-color) !important
}

.gfield:is(.gfield-custom-box-label-adjacent):is(.gfield_error) .gfield_label,
:is(input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=image]):not([type=file]), select, textarea):is([aria-invalid=true]) {
  border-color: var(--field-error-color) !important
}

.gfield .gchoice {
  margin: 0 0 .5em
}

.gform_wrapper.gravity-theme .gfield :is(.gfield_radio, .gfield_checkbox) label {
  font: unset;
  line-height: unset
}

:is(form, .gfield) {
  --field-border-width: 1px;
  --field-border-radius: calc(var(--global-radius) * .5);
  --field-padding-x: 1.25em;
  --field-padding-y: 1.125em;
  --field-required-color: var(--color-secondary-alt);
  --field-error-color: var(--color-error);
  --field-line-height: 1.125;
  font-size: 1rem;
  line-height: var(--field-line-height, 1.125);
  font-family: var(--font-primary);
  color: inherit;
  letter-spacing: 0em;
  text-transform: none;
  font-style: normal;
  font-weight: normal;
  text-align: initial;
  text-decoration: none
}

:is(form, .gfield) :is(input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=image]):not([type=file]), select, textarea) {
  box-shadow: 0 0 10px rgba(0, 0, 0, .2)
}

:is(form, .gfield) select:has(option.gf_placeholder:checked) {
  color: var(--color-neutral) !important
}

:is(form, .gfield):is(.gfield-custom-box-label-adjacent) .gfield_label,
:is(input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=image]):not([type=file]), select, textarea) {
  border-color: var(--color-neutral)
}

:is(form, .gfield):is(.focus, .gfield_error),
:is(form, .gfield):is(.gfield-custom-box-label-adjacent):is(.gfield_error) .gfield_label,
:is(input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=image]):not([type=file]), select, textarea):is([aria-invalid=true], :focus) {
  --field-border-width: 2px
}

:is(form, .gfield):is(.focus):is(.gfield-custom-box-label-adjacent):is(.focus) .gfield_label,
:is(form, .gfield):is(.focus) :is(input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=image]):not([type=file]), select, textarea, [aria-invalid=true]):is(:focus) {
  border-color: var(--color-primary)
}

.gform_wrapper.gravity-theme .gfield:is(.gfield--type-textarea, .gfield--type-multiselect) :is(textarea, select).large {
  height: 8.875rem
}

.gform_wrapper.gravity-theme .gfield:is(.gfield--type-textarea, .gfield--type-multiselect) :is(textarea, select).medium {
  height: 7.875rem
}

.gform_wrapper.gravity-theme .gfield:is(.gfield--type-textarea, .gfield--type-multiselect) :is(textarea, select).small {
  height: 5.75rem
}

.gform_wrapper.gravity-theme .gfield_label {
  font-size: .875rem;
  line-height: var(--field-line-height, inherit);
  margin-bottom: .5em
}

.gform_wrapper.gravity-theme .gform_fields {
  -moz-column-gap: .9375rem;
  column-gap: .9375rem;
  row-gap: .9375rem
}

.required-glyph,
.gfield-custom-label-indicator.ginput_container::after,
.gform_wrapper.gravity-theme .gfield_required {
  font-size: 1.4375rem;
  line-height: .25;
  color: var(--field-required-color);
  font-style: normal;
  font-weight: 700;
  vertical-align: bottom;
  align-self: center;
  padding: 0;
  order: 99
}

@media only screen and (max-width: 74.9375rem) {
  .required-message {
    text-align: center
  }
}

.disclaimer-message {
  font-size: 1rem
}

.gfield-custom-label-indicator:is(.ginput_container::before, .ginput_container::after, .gfield_label::after, .gfield_label>.gfield_required) {
  display: block;
  pointer-events: none
}

.ginput_container {
  position: relative
}

.ginput_container::before,
.ginput_container::after {
  position: absolute;
  right: var(--field-padding-x);
  top: calc((var(--field-height) - 1em*var(--field-line-height))*.5);
  z-index: 3;
  pointer-events: none
}

.gfield_label>.gfield_required,
.gfield_label::after {
  margin-left: .3125em
}

.gfield_contains_required .gfield-custom-label-indicator[data-required-glyph]::before {
  right: calc(var(--field-padding-x) + 3em)
}

.gfield_contains_required .gfield-custom-label-indicator[data-required-glyph]::after {
  content: attr(data-required-glyph)
}

.gfield-custom-label-indicator.ginput_container::before {
  color: var(--color-dark-alt)
}

.gfield-custom-label-indicator.ginput_container::after,
.gfield-custom-label-indicator.gfield_label>.gfield_required {
  color: var(--field-required-color)
}

.gfield-custom-no-label-indicator.gfield_label>.gfield_required {
  display: none
}

.gfield--type-select select {
  padding-right: calc(var(--field-padding-x) + 1em)
}

.gfield--type-select .ginput_container::before {
  display: inline-block;
  order: 9;
  align-self: center;
  margin-left: .75em;
  margin-right: var(--field-padding-x);
  transform-origin: center center;
  flex: 0 0 auto;
  content: "";
  font-size: .5rem;
  transform-origin: 67% 67%;
  width: 1em;
  height: 1em;
  border: 2px solid var(--color-dark);
  border-top: 0;
  border-left: 0;
  transform: rotate(45deg)
}

.gfield--type-phone.gfield-custom-box-label-inset .gfield_label::after {
  content: "(___) ___-____";
  position: static
}

.gform_wrapper.gravity-theme .gfield.gfield-custom-box {
  position: relative
}

.gform_wrapper.gravity-theme .gfield.gfield-custom-box .gfield_label {
  align-self: start
}

.gform_wrapper.gravity-theme .gfield.gfield-custom-box.gfield-custom-box-label-inset .gfield_label {
  position: absolute;
  top: var(--field-border-width);
  left: var(--field-border-width);
  right: var(--field-border-width);
  z-index: 1;
  margin-bottom: 0;
  pointer-events: none;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: calc(100% - var(--field-border-width)*2);
  padding-right: calc(var(--field-padding-x)*2 - var(--field-border-width))
}

.gform_wrapper.gravity-theme .gfield.gfield-custom-box.gfield-custom-box-label-inset:is(.active, .focus, :focus-within) .gfield_label {
  opacity: 0
}

.gform_wrapper.gravity-theme .gfield.gfield-custom-box.gfield-custom-box-label-inset :is(input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=image]):not([type=file]), select, textarea, [aria-invalid=true]):not(:focus)::-webkit-input-placeholder {
  color: rgba(0, 0, 0, 0)
}

.gform_wrapper.gravity-theme .gfield.gfield-custom-box.gfield-custom-box-label-inset :is(input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=image]):not([type=file]), select, textarea, [aria-invalid=true]):not(:focus)::-moz-placeholder {
  color: rgba(0, 0, 0, 0)
}

.gform_wrapper.gravity-theme .gfield.gfield-custom-box.gfield-custom-box-label-inset :is(input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=image]):not([type=file]), select, textarea, [aria-invalid=true]):not(:focus)::-ms-input-placeholder {
  color: rgba(0, 0, 0, 0)
}

.gform_wrapper.gravity-theme .gfield.gfield-custom-box.gfield-custom-box-label-adjacent {
  display: grid;
  grid-template-columns: auto 1fr;
  grid-template-rows: -webkit-max-content;
  grid-template-rows: max-content
}

.gform_wrapper.gravity-theme .gfield.gfield-custom-box.gfield-custom-box-label-adjacent .gfield_label,
.gform_wrapper.gravity-theme .gfield.gfield-custom-box.gfield-custom-box-label-adjacent .ginput_container {
  min-width: 0
}

.gform_wrapper.gravity-theme .gfield.gfield-custom-box.gfield-custom-box-label-adjacent .gfield_label {
  margin-bottom: 0;
  background-color: var(--color-light-alt)
}

.gform_wrapper.gravity-theme .gfield.gfield-custom-box.gfield-custom-box-label-adjacent *:not(.gfield_label):not(.ginput_container) {
  grid-column: 1/-1
}

@media only screen and (min-width: 48rem) {
  .gform_wrapper.gravity-theme .gfield.gfield-custom-box.gfield-custom-box-label-adjacent:is(.gfield--type-textarea, .gfield--type-multiselect, .gfield--type-post_title, .gfield--type-post_content, .gfield--type-post_excerpt) :is(.gfield_label, .ginput_container) {
    grid-column: 1/-1
  }

  .gform_wrapper.gravity-theme .gfield.gfield-custom-box.gfield-custom-box-label-adjacent:is(.gfield--type-textarea, .gfield--type-multiselect, .gfield--type-post_title, .gfield--type-post_content, .gfield--type-post_excerpt) .gfield_label {
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0
  }

  .gform_wrapper.gravity-theme .gfield.gfield-custom-box.gfield-custom-box-label-adjacent:is(.gfield--type-textarea, .gfield--type-multiselect, .gfield--type-post_title, .gfield--type-post_content, .gfield--type-post_excerpt) .ginput_container {
    grid-column: 2
  }

  .gform_wrapper.gravity-theme .gfield.gfield-custom-box.gfield-custom-box-label-adjacent:is(.gfield--type-textarea, .gfield--type-multiselect, .gfield--type-post_title, .gfield--type-post_content, .gfield--type-post_excerpt) :is(input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=image]):not([type=file]), select, textarea) {
    border-top-left-radius: 0;
    border-top-right-radius: 0;
    border-top: 0
  }

  .gform_wrapper.gravity-theme .gfield.gfield-custom-box.gfield-custom-box-label-adjacent:not(.gfield--type-textarea, .gfield--type-multiselect, .gfield--type-post_title, .gfield--type-post_content, .gfield--type-post_excerpt) :is(.gfield_label, .ginput_container) {
    grid-row: 1
  }

  .gform_wrapper.gravity-theme .gfield.gfield-custom-box.gfield-custom-box-label-adjacent:not(.gfield--type-textarea, .gfield--type-multiselect, .gfield--type-post_title, .gfield--type-post_content, .gfield--type-post_excerpt) .gfield_label {
    grid-column: 1;
    max-width: -webkit-max-content;
    max-width: -moz-max-content;
    max-width: max-content;
    border-top-right-radius: 0;
    border-bottom-right-radius: 0
  }

  .gform_wrapper.gravity-theme .gfield.gfield-custom-box.gfield-custom-box-label-adjacent:not(.gfield--type-textarea, .gfield--type-multiselect, .gfield--type-post_title, .gfield--type-post_content, .gfield--type-post_excerpt) .ginput_container {
    grid-column: 2
  }

  .gform_wrapper.gravity-theme .gfield.gfield-custom-box.gfield-custom-box-label-adjacent:not(.gfield--type-textarea, .gfield--type-multiselect, .gfield--type-post_title, .gfield--type-post_content, .gfield--type-post_excerpt) :is(input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=image]):not([type=file]), select, textarea) {
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
    border-left: 0
  }
}

@media only screen and (max-width: 47.9375rem) {
  .gform_wrapper.gravity-theme .gfield.gfield-custom-box.gfield-custom-box-label-adjacent :is(.gfield_label, .ginput_container) {
    grid-column: 1/-1
  }

  .gform_wrapper.gravity-theme .gfield.gfield-custom-box.gfield-custom-box-label-adjacent .gfield_label {
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0
  }

  .gform_wrapper.gravity-theme .gfield.gfield-custom-box.gfield-custom-box-label-adjacent .ginput_container {
    grid-column: 2
  }

  .gform_wrapper.gravity-theme .gfield.gfield-custom-box.gfield-custom-box-label-adjacent :is(input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=image]):not([type=file]), select, textarea, [aria-invalid=true]) {
    border-top-left-radius: 0;
    border-top-right-radius: 0;
    border-top: 0
  }
}

.gfield.gfield-custom-inline-choices :is(.gfield_radio) {
  display: flex;
  justify-content: space-evenly;
  flex-direction: row
}

.gfield.gfield-custom-inline-choices :is(.gchoice) {
  display: inline-flex;
  gap: 1ch
}

.gfield.gfield-custom-inline-choices :is(.gfield-choice-input+label) {
  flex: 0 0 auto;
  max-width: none
}

.gform_hidden,
.gform_validation_container,
.gform_validation_errors,
.gform_ajax_spinner,
.gform_required_legend {
  display: none !important
}

.gfield--type-captcha {
  justify-self: center
}

:root {
  --swiper-theme-color: var(--scheme-sp, var(--color-primary));
  --swiper-navigation-sides-offset: 0px;
  --swiper-pagination-bottom: 1.875rem;
  --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) * 1.5);
  --swiper-pagination-bullet-vertical-gap: var(--swiper-pagination-bullet-horizontal-gap);
  --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
}

:where(.content-palette-dark) {
  --swiper-theme-color: var(--scheme-fg, var(--color-primary-alt))
}

.swiper {
  transition: opacity .25s ease-in-out;
  opacity: 0
}

.swiper.swiper-initialized {
  opacity: 1
}

.swiper {
  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)
}

.swiper-button-prev.swiper-button-disabled,
.swiper-button-next.swiper-button-disabled {
  display: none
}

: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: var(--swiper-pagination-bottom);
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: var(--swiper-pagination-bullet-horizontal-gap)
}

.swiper-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet,
.swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
  margin: 0
}

.swiper-button-next,
.swiper-button-prev {
  --button-baseline-offset: 0.5 !important;
  --swiper-navigation-size: var(--button-height);
  z-index: 1;
  width: auto
}

.swiper-button-next::before,
.swiper-button-next::after,
.swiper-button-prev::before,
.swiper-button-prev::after {
  content: none
}

.swiper-scrollbar-drag {
  height: calc(var(--swiper-scrollbar-size)*2);
  top: -50%;
  bottom: -50%;
  margin-block: auto
}

.swiper-custom-scrollbar-static .swiper-scrollbar {
  position: static;
  margin-top: var(--swiper-scrollbar-bottom);
  margin-bottom: var(--swiper-scrollbar-size);
  margin-inline: auto;
  margin-left: var(--swiper-scrollbar-sides-offset, 1%)
}

.swiper-custom-pagination-static .swiper-pagination {
  position: static;
  margin-top: var(--swiper-pagination-bottom)
}

@media only screen and (min-width: 48rem)and (max-width: 74.9375rem) {
  .swiper-custom-pagination-static-sm .swiper-pagination {
    position: static;
    margin-top: var(--swiper-pagination-bottom)
  }
}

@media only screen and (max-width: 47.9375rem) {
  .swiper-custom-pagination-static-xs .swiper-pagination {
    position: static;
    margin-top: var(--swiper-pagination-bottom)
  }
}

.swiper-custom-buttons-static .swiper-wrapper {
  height: auto
}

.swiper-custom-buttons-static .swiper-custom-buttons {
  display: flex;
  justify-content: center;
  gap: .5rem
}

.swiper-custom-buttons-static .swiper-custom-buttons .swiper-button-prev,
.swiper-custom-buttons-static .swiper-custom-buttons .swiper-button-next {
  margin-inline: 0
}

.swiper-custom-buttons-static .swiper-button-next,
.swiper-custom-buttons-static .swiper-button-prev {
  position: static;
  transform: none;
  margin: 0
}

.swiper-custom-buttons-static .swiper-button-next~.swiper-pagination,
.swiper-custom-buttons-static .swiper-button-prev~.swiper-pagination {
  display: inline-flex;
  width: auto
}

.swiper-custom-buttons-static .swiper-button-prev {
  margin-right: .375rem
}

.swiper-custom-buttons-static .swiper-button-next {
  margin-left: .375rem
}

@media only screen and (min-width: 48rem)and (max-width: 74.9375rem) {
  .swiper-custom-buttons-static-sm .swiper-wrapper {
    height: auto
  }

  .swiper-custom-buttons-static-sm .swiper-custom-buttons {
    display: flex;
    justify-content: center;
    gap: .5rem
  }

  .swiper-custom-buttons-static-sm .swiper-custom-buttons .swiper-button-prev,
  .swiper-custom-buttons-static-sm .swiper-custom-buttons .swiper-button-next {
    margin-inline: 0
  }

  .swiper-custom-buttons-static-sm .swiper-button-next,
  .swiper-custom-buttons-static-sm .swiper-button-prev {
    position: static;
    transform: none;
    margin: 0
  }

  .swiper-custom-buttons-static-sm .swiper-button-next~.swiper-pagination,
  .swiper-custom-buttons-static-sm .swiper-button-prev~.swiper-pagination {
    display: inline-flex;
    width: auto
  }

  .swiper-custom-buttons-static-sm .swiper-button-prev {
    margin-right: .375rem
  }

  .swiper-custom-buttons-static-sm .swiper-button-next {
    margin-left: .375rem
  }
}

@media only screen and (max-width: 47.9375rem) {
  .swiper-custom-buttons-static-xs .swiper-wrapper {
    height: auto
  }

  .swiper-custom-buttons-static-xs .swiper-custom-buttons {
    display: flex;
    justify-content: center;
    gap: .5rem
  }

  .swiper-custom-buttons-static-xs .swiper-custom-buttons .swiper-button-prev,
  .swiper-custom-buttons-static-xs .swiper-custom-buttons .swiper-button-next {
    margin-inline: 0
  }

  .swiper-custom-buttons-static-xs .swiper-button-next,
  .swiper-custom-buttons-static-xs .swiper-button-prev {
    position: static;
    transform: none;
    margin: 0
  }

  .swiper-custom-buttons-static-xs .swiper-button-next~.swiper-pagination,
  .swiper-custom-buttons-static-xs .swiper-button-prev~.swiper-pagination {
    display: inline-flex;
    width: auto
  }

  .swiper-custom-buttons-static-xs .swiper-button-prev {
    margin-right: .375rem
  }

  .swiper-custom-buttons-static-xs .swiper-button-next {
    margin-left: .375rem
  }
}

.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 .25s ease-in-out
}

@media only screen and (min-width: 48rem)and (max-width: 74.9375rem) {
  .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 .25s ease-in-out
  }
}

@media only screen and (max-width: 47.9375rem) {
  .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 .25s ease-in-out
  }
}

.swiper-custom-ticker {
  --swiper-wrapper-transition-timing-function: linear
}

@media only screen and (min-width: 75rem) {
  .swiper-custom-stagger :where(.swiper-slide>:only-child) {
    transition-duration: .1s;
    transition-property: transform, opacity;
    opacity: 0;
    transform: translateX(50px)
  }

  .swiper-custom-stagger.visible :where(.swiper-slide>:only-child) {
    transition-duration: 1s;
    transition-delay: calc(1s + .25s*var(--swiper-custom-slide-i, 0));
    opacity: 1;
    transform: translateX(0px)
  }
}

.swiper-custom-remove-background .swiper-slide {
  mix-blend-mode: multiply
}

.swiper-custom-overflow-left {
  padding-left: 0;
  margin-left: 0;
  -webkit-mask-image: linear-gradient(to left, transparent 0rem, white calc(var(--swiper-custom-arrow-offset-x) * 0.5), white 100%);
  mask-image: linear-gradient(to left, transparent 0rem, white calc(var(--swiper-custom-arrow-offset-x) * 0.5), white 100%)
}

@media only screen and (max-width: 47.9375rem) {
  .swiper-custom-overflow-left {
    --swiper-custom-arrow-offset-x: 0rem
  }
}

.swiper-custom-equal-heights .swiper-slide {
  height: auto;
  align-self: stretch;
  display: flex;
  flex-direction: column
}

.swiper-custom-equal-heights .swiper-slide>:where(:only-child) {
  flex: 1 1
}

@media only screen and (min-width: 75rem) {
  .swiper-custom-equal-heights-nontouch .swiper-slide {
    height: auto;
    align-self: stretch;
    display: flex;
    flex-direction: column
  }

  .swiper-custom-equal-heights-nontouch .swiper-slide>:where(:only-child) {
    flex: 1 1
  }
}

@media only screen and (max-width: 74.9375rem) {
  .swiper-custom-equal-heights-touch .swiper-slide {
    height: auto;
    align-self: stretch;
    display: flex;
    flex-direction: column
  }

  .swiper-custom-equal-heights-touch .swiper-slide>:where(:only-child) {
    flex: 1 1
  }
}

@media only screen and (min-width: 48rem)and (max-width: 74.9375rem) {
  .swiper-custom-equal-heights-sm .swiper-slide {
    height: auto;
    align-self: stretch;
    display: flex;
    flex-direction: column
  }

  .swiper-custom-equal-heights-sm .swiper-slide>:where(:only-child) {
    flex: 1 1
  }
}

@media only screen and (max-width: 47.9375rem) {
  .swiper-custom-equal-heights-xs .swiper-slide-slide {
    height: auto;
    align-self: stretch;
    display: flex;
    flex-direction: column
  }

  .swiper-custom-equal-heights-xs .swiper-slide-slide>:where(:only-child) {
    flex: 1 1
  }
}

:where(*.h1, *.h2, *.h3, *.h4, *.h5, *.h6) {
  margin-bottom: var(--fancy-border-margin-y, 0)
}

:is(:where(*.h1, *.h2, *.h3, *.h4, *.h5, *.h6), .content :where(h1, h2, h3, h4, h5, h6)) {
  clear: both
}

:is(:where(*.h1, *.h2, *.h3, *.h4, *.h5, *.h6), .content :where(h1, h2, h3, h4, h5, h6)) :where(a) {
  font: inherit
}

:is(:where(*.h1, *.h2, *.h3, *.h4, *.h5, *.h6), .content :where(h1, h2, h3, h4, h5, h6)) :where(a):not(:hover, :focus) {
  color: inherit;
  text-decoration: none
}

:is(:where(*.h1, *.h2, *.h3, *.h4, *.h5, *.h6), .content :where(h1, h2, h3, h4, h5, h6)):is(.h-palette-secondary) {
  color: var(--color-secondary)
}

:is(:where(*.h1, *.h2, *.h3, *.h4, *.h5, *.h6), .content :where(h1, h2, h3, h4, h5, h6)):is(.h-palette-inherit) {
  color: inherit
}

:is(:where(*.h1, *.h2, *.h3, *.h4, *.h5, *.h6), .content :where(h1, h2, h3, h4, h5, h6)):is(.h-palette-primary) {
  color: var(--color-primary)
}

:is(:where(*.h1, *.h2, *.h3, *.h4, *.h5, *.h6), .content :where(h1, h2, h3, h4, h5, h6)):is(.h-weight-300) {
  font-weight: 300
}

:is(:where(*.h1, *.h2, *.h3, *.h4, *.h5, *.h6), .content :where(h1, h2, h3, h4, h5, h6)):is(.h-weight-400) {
  font-weight: 400
}

:is(:where(*.h1, *.h2, *.h3, *.h4, *.h5, *.h6), .content :where(h1, h2, h3, h4, h5, h6)):is(.h-weight-500) {
  font-weight: 500
}

:where(.content-palette-dark) :is(:where(*.h1, *.h2, *.h3, *.h4, *.h5, *.h6), .content :where(h1, h2, h3, h4, h5, h6)):is(.h-palette-secondary) {
  color: var(--color-secondary-alt)
}

:where(.content-palette-dark) :is(:where(*.h1, *.h2, *.h3, *.h4, *.h5, *.h6), .content :where(h1, h2, h3, h4, h5, h6)):is(.h-palette-primary) {
  color: var(--color-primary-alt)
}

:where(*.h1, :is(.content, .editor-styles-wrapper) :where(h1)) {
  font-size: 2.1875rem;
  line-height: calc(1em + 5px);
  font-family: var(--font-secondary);
  color: var(--scheme-fg-contrast, var(--color-dark));
  letter-spacing: 0em;
  text-transform: none;
  font-style: normal;
  font-weight: 300
}

:where(*.h1, :is(.content, .editor-styles-wrapper) :where(h1)) :where(em) {
  color: var(--color-primary);
  font-style: normal
}

:where(*.h1, :is(.content, .editor-styles-wrapper) :where(h1)) :where(strong) {
  color: var(--color-secondary);
  font-weight: inherit
}

:where(.content-palette-dark) :where(*.h1, :is(.content, .editor-styles-wrapper) :where(h1)) {
  color: var(--scheme-fg, inherit)
}

:where(.content-palette-dark) :where(*.h1, :is(.content, .editor-styles-wrapper) :where(h1)) :where(em) {
  color: var(--color-primary-alt)
}

:where(.content-palette-dark) :where(*.h1, :is(.content, .editor-styles-wrapper) :where(h1)) :where(strong) {
  color: var(--color-secondary-alt)
}

@media only screen and (min-width: 48rem) {
  :where(*.h1, :is(.content, .editor-styles-wrapper) :where(h1)) {
    font-size: 3.125rem
  }
}

:where(*.h2, :is(.content, .editor-styles-wrapper) :where(h2)) {
  font-size: 1.5rem;
  line-height: calc(1em + 4px);
  font-family: var(--font-secondary);
  color: var(--color-primary);
  letter-spacing: 0em;
  text-transform: none;
  font-style: normal;
  font-weight: 700
}

:where(*.h2, :is(.content, .editor-styles-wrapper) :where(h2)).h-smaller {
  font-size: 1.375rem
}

:where(.content-palette-dark) :where(*.h2, :is(.content, .editor-styles-wrapper) :where(h2)) {
  color: var(--scheme-sp, var(--color-primary-alt))
}

:where(*.h3, :is(.content, .editor-styles-wrapper) :where(h3)) {
  font-size: 1.375rem;
  line-height: calc(1em + 4px);
  font-family: var(--font-secondary);
  color: var(--scheme-sp, var(--color-secondary));
  letter-spacing: 0em;
  text-transform: none;
  font-style: normal;
  font-weight: 700
}

:where(.content-palette-dark) :where(*.h3, :is(.content, .editor-styles-wrapper) :where(h3)) {
  color: var(--scheme-sp, var(--color-secondary-alt))
}

:where(*.h4, :is(.content, .editor-styles-wrapper) :where(h4)) {
  font-size: 1rem;
  line-height: calc(1em + 5px);
  font-family: var(--font-accent);
  color: var(--scheme-sp, var(--color-primary));
  letter-spacing: 0em;
  text-transform: uppercase;
  font-style: normal;
  font-weight: 700
}

:where(*.h5, :is(.content, .editor-styles-wrapper) :where(h5)) {
  font-size: 1.25rem;
  line-height: calc(1em + 4px);
  font-family: var(--font-primary);
  color: var(--scheme-sb, var(--color-secondary));
  font-style: normal;
  font-weight: 700
}

:where(*.h5, :is(.content, .editor-styles-wrapper) :where(h5)).h-smaller {
  font-size: 1rem
}

:where(.content-palette-dark) :where(*.h5, :is(.content, .editor-styles-wrapper) :where(h5)) {
  color: var(--scheme-sb, var(--color-secondary-alt))
}

@media only screen and (min-width: 120rem) {
  :where(*.h5, :is(.content, .editor-styles-wrapper) :where(h5)) {
    font-size: 1.375rem
  }
}

:where(*.h6, :is(.content, .editor-styles-wrapper) :where(h6)) {
  font-size: 1rem;
  line-height: calc(1em + 5px);
  font-family: var(--font-primary);
  color: var(--scheme-sp, var(--color-secondary));
  letter-spacing: .15em;
  text-transform: uppercase;
  font-style: normal;
  font-weight: 700
}

:where(.content-palette-dark) :where(*.h6, :is(.content, .editor-styles-wrapper) :where(h6)) {
  color: var(--scheme-sp, var(--color-secondary-alt))
}

@media only screen and (max-width: 119.9375rem) {
  :where(*.h6, :is(.content, .editor-styles-wrapper) :where(h6)).h-smaller {
    font-size: .875rem
  }
}

:where(*.blockquote, :is(.content, .editor-styles-wrapper) :where(blockquote)) {
  font-size: 2rem;
  line-height: calc(1em + 5px);
  font-family: var(--font-secondary);
  color: var(--scheme-sb-contrast, var(--color-secondary));
  text-transform: none;
  font-style: normal;
  font-weight: 300;
  margin-block: var(--fancy-border-margin-y, 0)
}

:where(.content-palette-dark) :where(*.blockquote, :is(.content, .editor-styles-wrapper) :where(blockquote)) {
  color: var(--scheme-sb-contrast, inherit)
}

:where(*.blockquote, :is(.content, .editor-styles-wrapper) :where(blockquote))>p {
  font: inherit;
  color: inherit;
  margin-block: 0 .1em;
  padding: 0
}

:where(*.blockquote, :is(.content, .editor-styles-wrapper) :where(blockquote))>p:is(:last-child, :has(+cite)) {
  margin-bottom: 0
}

@media only screen and (min-width: 48rem) {
  :where(*.blockquote, :is(.content, .editor-styles-wrapper) :where(blockquote)) {
    font-size: 2.25rem
  }
}

@media only screen and (max-width: 47.9375rem) {
  :where(*.blockquote, :is(.content, .editor-styles-wrapper) :where(blockquote)) {
    padding-inline: 0
  }
}

:where(*.cite, :is(.content, .editor-styles-wrapper) :where(cite)) {
  font-size: 1rem;
  line-height: calc(1em + 5px);
  font-family: var(--font-accent);
  color: var(--scheme-fg, var(--color-dark));
  font-style: normal;
  font-weight: 700;
  text-align: inherit;
  display: inline-block
}

:where(.content-palette-dark) :where(*.cite, :is(.content, .editor-styles-wrapper) :where(cite)) {
  color: var(--scheme-fg, var(--color-light))
}

*.lead {
  font-size: 2.1875rem;
  line-height: calc(1em + 5px);
  font-family: var(--font-secondary);
  color: var(--color-primary);
  letter-spacing: 0em;
  text-transform: none;
  font-style: normal;
  font-weight: 300
}

:where(.content-palette-dark) *.lead {
  color: var(--color-primary-alt)
}

@media only screen and (min-width: 48rem) {
  *.lead {
    font-size: 2.5rem
  }
}

@media only screen and (min-width: 75rem) {
  *.lead {
    font-size: 2.8125rem
  }
}

@media only screen and (min-width: 120rem) {
  *.lead {
    font-size: 3.75rem
  }
}

:where(:is(.content, .editor-styles-wrapper) :where(a)) {
  color: var(--scheme-sp, var(--color-secondary));
  font-weight: bolder;
  text-decoration: underline;
  transition: color .25s ease-in-out
}

:where(:is(.content, .editor-styles-wrapper) :where(a)):where(:hover, :focus) {
  color: var(--scheme-sp, var(--color-primary));
  text-decoration: none
}

:where(.content-palette-dark) :where(:is(.content, .editor-styles-wrapper) :where(a)):not(:where(:hover, :focus)) {
  color: inherit
}

:where(.content-palette-dark) :where(:is(.content, .editor-styles-wrapper) :where(a)):where(:hover, :focus) {
  color: var(--scheme-sb, var(--color-primary-alt));
  text-decoration: underline
}

:is(:is(.content, .editor-styles-wrapper) :where(ol, ul, dd)) :is(ol, ul, dd) {
  margin-bottom: 0
}

:is(:is(.content, .editor-styles-wrapper) :where(ol, ul, dd)) {
  list-style-type: revert;
  padding-left: 2ch
}

:is(:is(.content, .editor-styles-wrapper) :where(li, dd, dt)) {
  list-style: inherit
}

:is(:is(.content, .editor-styles-wrapper) :where(li))::marker {
  display: inline-block;
  font-size: 1em;
  color: var(--scheme-sp, var(--color-primary));
  font-weight: 700
}

:where(.content-palette-dark) :is(:is(.content, .editor-styles-wrapper) :where(li))::marker {
  color: var(--scheme-sp, var(--color-primary-alt))
}

:is(:is(.content, .editor-styles-wrapper) :where(ul)) {
  list-style-type: disc
}

:is(:is(.content, .editor-styles-wrapper) :where(ol)) {
  counter-reset: listItem
}

:is(:is(.content, .editor-styles-wrapper) :where(ol))>li {
  counter-increment: listItem
}

:where(:is(.content, .editor-styles-wrapper) table) {
  border-collapse: collapse;
  table-layout: fixed;
  -webkit-hyphens: auto;
  hyphens: auto;
  font: inherit;
  border-color: var(--table-border-color);
  border-width: var(--table-border-width-y) var(--table-border-width-x)
}

:where(:is(.content, .editor-styles-wrapper) :where(table, th, td)) {
  border-style: solid
}

:where(:is(.content, .editor-styles-wrapper) :where(tr):first-child>:where(th, td)) {
  border-top-color: var(--table-border-color)
}

:where(:is(.content, .editor-styles-wrapper) :where(th, td)) {
  border-width: var(--table-border-width-y) var(--table-border-width-x) 0;
  border-color: var(--table-cell-border-color-y) var(--table-border-color);
  background-color: var(--table-cell-background)
}

:where(:is(.content, .editor-styles-wrapper) :where(th, td)):nth-last-child(n+2) {
  border-right-color: var(--table-cell-border-color-x)
}

:where(:is(.content, .editor-styles-wrapper) :where(th, td))>*:last-child {
  margin-bottom: 0
}

.table-wrapper {
  overflow-x: auto;
  max-width: 100%
}

.table-wrapper table {
  margin-bottom: 0
}

:where(:is(.content, .editor-styles-wrapper) table) {
  --table-border-width-x: 1px;
  --table-border-width-y: 1px;
  --table-border-color: var(--scheme-md-bg, var(--color-neutral-lighter));
  --table-cell-background: var(--scheme-bg, transparent);
  --table-cell-border-color-x: var(--scheme-bg-contrast, rgba(127, 127, 127, 0.3));
  --table-cell-border-color-y: transparent;
  font-size: .9em
}

:where(:is(.content, .editor-styles-wrapper) table) :where(th, td) {
  padding-block: .5em;
  padding-inline: 1em
}

:where(:is(.content, .editor-styles-wrapper) table) :where(th) {
  --table-cell-background: var(--table-border-color);
  --table-cell-border-color-y: var(--table-border-color);
  --table-cell-border-color-x: var(--table-border-color);
  font-size: .75em;
  font-family: var(--font-primary);
  color: var(--color-dark-alt);
  letter-spacing: .05em;
  text-transform: uppercase;
  font-style: normal;
  font-weight: 700;
  text-align: inherit
}

:where(:is(.content, .editor-styles-wrapper) table) :where(tr:nth-child(odd) td) {
  --table-cell-background: var(--scheme-bg-contrast, rgba(127, 127, 127, 0.3));
  --table-cell-border-color-y: var(--scheme-bg-contrast, transparent);
  --table-cell-border-color-x: var(--scheme-bg-contrast, rgba(127, 127, 127, 0.3));
  color: var(--scheme-fg, inherit)
}

:where(:is(.content, .editor-styles-wrapper) table) :where(caption) {
  padding: .5em
}

:where(:is(.content, .editor-styles-wrapper) :where(img)) {
  -webkit-backdrop-filter: blur(5px);
  backdrop-filter: blur(5px)
}

:where(:is(.content, .editor-styles-wrapper) :where(em, i, strong, b) :where(em, i, strong, b)) {
  color: var(--scheme-sp-contrast, var(--color-primary));
  font-style: normal
}

:where(.content-palette-dark) :where(:is(.content, .editor-styles-wrapper) :where(em, i, strong, b) :where(em, i, strong, b)) {
  color: var(--scheme-sp-contrast, var(--color-primary-alt))
}

:where(:is(.content, .editor-styles-wrapper) :where(kbd)) {
  padding-inline: 1em;
  border-radius: .2em;
  box-shadow: 0 .2em 0 0 rgba(127, 127, 127, .4)
}

:where(:is(.content, .editor-styles-wrapper) :where(del, s)) {
  text-decoration: line-through
}

:where(.content, .editor-styles-wrapper) {
  font-size: 1.125rem;
  line-height: 1.56;
  font-family: var(--font-primary);
  color: inherit
}

:where(.content:not(:is(.content-style-no-block-margins, .content-style-no-block-margins *)), .editor-styles-wrapper) :where(p, ul, ol, dl, address, input:not([type=checkbox]):not([type=radio]):not([type=submit]), select, textarea, form, pre, .table-wrapper, table, .wistia_responsive_padding) {
  margin-bottom: 1.56em
}

.content-style-compact:where(.content:not(:is(.content-style-no-block-margins, .content-style-no-block-margins *)), .editor-styles-wrapper) :where(p, ul, ol, dl, address, input:not([type=checkbox]):not([type=radio]):not([type=submit]), select, textarea, form, pre, .table-wrapper, table, .wistia_responsive_padding) {
  margin-bottom: .6875rem
}

:where(.content:not(:is(.content-style-no-block-margins, .content-style-no-block-margins *)), .editor-styles-wrapper) :where(hr:nth-last-child(n+2)) {
  margin-bottom: 2em
}

:where(.content:not(:is(.content-style-no-block-margins, .content-style-no-block-margins *)), .editor-styles-wrapper) :where(hr:nth-child(n+2)) {
  margin-top: 1.75rem
}

:where(.content:not(:is(.content-style-no-block-margins, .content-style-no-block-margins *)), .editor-styles-wrapper) :where(li, dd, dt):last-child>*:last-child {
  margin-bottom: 0
}

:where(.content:not(:is(.content-style-no-block-margins, .content-style-no-block-margins *)), .editor-styles-wrapper) :not(*.h1, *.h2, *.h3, *.h4, *.h5, *.h6, *.blockquote, *.cite, h1, h2, h3, h4, h5, h6, blockquote, cite, hr)+:where(*.h1, *.h2, *.h3, *.h4, *.h5, *.h6, h1, h2, h3, h4, h5, h6, hr) {
  margin-top: 2.0625rem
}

:where(.content:not(:is(.content-style-no-block-margins, .content-style-no-block-margins *)), .editor-styles-wrapper) :where(*.h2, *.h3, *.h4, *.h5, *.h6, h2, h3, h4, h5, h6) {
  margin-bottom: .5rem
}

:where(.content:not(:is(.content-style-no-block-margins, .content-style-no-block-margins *)), .editor-styles-wrapper) :where(*.h1, h1) {
  margin-bottom: 1.31rem
}

:where(.content:not(:is(.content-style-no-block-margins, .content-style-no-block-margins *)), .editor-styles-wrapper) :where(*.blockquote, blockquote) {
  margin-block: 2rem
}

@media only screen and (min-width: 48rem) {
  :where(.content:not(:is(.content-style-no-block-margins, .content-style-no-block-margins *)), .editor-styles-wrapper) :where(*.blockquote, blockquote) {
    margin-block: 3.75rem
  }
}

@media only screen and (min-width: 75rem) {
  :where(.content:not(:is(.content-style-no-block-margins, .content-style-no-block-margins *)), .editor-styles-wrapper) :where(*.blockquote, blockquote) {
    margin-block: 4.375rem
  }
}

.content.content-style-no-first-margin>:where(*:first-child) {
  margin-top: 0
}

@media only screen and (max-width: 47.9375rem) {
  .content.content-style-no-first-margin-xs>:where(*:first-child) {
    margin-top: 0
  }
}

@media only screen and (min-width: 48rem)and (max-width: 74.9375rem) {
  .content.content-style-no-first-margin-sm>:where(*:first-child) {
    margin-top: 0
  }
}

@media only screen and (min-width: 75rem)and (max-width: 87.4375rem) {
  .content.content-style-no-first-margin-md>:where(*:first-child) {
    margin-top: 0
  }
}

@media only screen and (min-width: 87.5rem)and (max-width: 119.9375rem) {
  .content.content-style-no-first-margin-lg>:where(*:first-child) {
    margin-top: 0
  }
}

@media only screen and (min-width: 120rem)and (max-width: 179.9375rem) {
  .content.content-style-no-first-margin-xl>:where(*:first-child) {
    margin-top: 0
  }
}

.content.content-style-no-last-margin>:where(*:last-child) {
  margin-bottom: 0
}

@media only screen and (max-width: 47.9375rem) {
  .content.content-style-no-last-margin-xs>:where(*:last-child) {
    margin-bottom: 0
  }
}

@media only screen and (min-width: 48rem)and (max-width: 74.9375rem) {
  .content.content-style-no-last-margin-sm>:where(*:last-child) {
    margin-bottom: 0
  }
}

@media only screen and (min-width: 75rem)and (max-width: 87.4375rem) {
  .content.content-style-no-last-margin-md>:where(*:last-child) {
    margin-bottom: 0
  }
}

@media only screen and (min-width: 87.5rem)and (max-width: 119.9375rem) {
  .content.content-style-no-last-margin-lg>:where(*:last-child) {
    margin-bottom: 0
  }
}

@media only screen and (min-width: 120rem)and (max-width: 179.9375rem) {
  .content.content-style-no-last-margin-xl>:where(*:last-child) {
    margin-bottom: 0
  }
}

:where(.content-palette-dark) {
  color: var(--scheme-fg, var(--color-light))
}

.content-palette-dark :where(ol, ul, table) {
  color: var(--scheme-fg, inherit)
}

.content-palette-dark table {
  --table-border-color: var(--color-neutral-darkest)
}

.content.content-style-thick {
  font-weight: bolder
}

.content.content-style-thin {
  font-weight: 100
}

.content.content-style-light {
  font-weight: 300
}

.content.content-style-regular {
  font-weight: 400
}

.content.content-style-medium {
  font-weight: 500
}

.content.content-style-semibold {
  font-weight: 600
}

.content.content-style-bold {
  font-weight: 700
}

.content.content-style-extrabold {
  font-weight: 800
}

.content.content-style-no-list :is(.content :where(ol, ul, dd)) {
  padding-left: 0;
  list-style: none
}

.content.content-style-no-list :is(.content :where(li, dd, dt))::before,
.content.content-style-no-list :is(.content :where(li, dd, dt))::marker {
  display: none !important
}

.content.content-style-compact {
  line-height: 1.125
}

.content.content-style-compact :where(a) {
  font-weight: inherit;
  color: inherit
}

.content.content-style-compact :where(a):is(:hover, :focus) {
  color: var(--color-secondary)
}

.content.content-style-compact :is(h2, h3, h4, h5, h6):nth-child(n+2) {
  margin-top: 2.25rem
}

.content.content-style-compact li,
.content.content-style-compact li :where(ul, ol) {
  margin-block: 0
}

.content.content-style-expanded {
  line-height: 2
}

.content.content-style-expanded li,
.content.content-style-expanded li :where(ul, ol) {
  margin-block: 0
}

.content.content-style-constricted {
  line-height: 1
}

.content.content-style-constricted li,
.content.content-style-constricted li :where(ul, ol) {
  margin-block: 0
}

.content.content-style-drop-caps>p:first-of-type::first-letter {
  font-size: 2.75rem;
  font-family: var(--font-accent);
  color: var(--color-primary);
  float: left;
  margin: 0 .1em -0.25em 0
}

.content.content-style-drop-caps>p:first-of-type+* {
  clear: left
}

.content.content-style-small {
  font-size: 1rem
}

*.alignleft,
*.align-left,
*.alignright,
*.align-right,
*.aligncenter,
*.align-center {
  margin-bottom: 1.25em;
  max-width: 100%;
  height: auto;
  width: auto
}

@media only screen and (max-width: 74.9375rem) {

  *.alignleft,
  *.align-left,
  *.alignright,
  *.align-right,
  *.aligncenter,
  *.align-center {
    display: block
  }
}

@media only screen and (min-width: 75rem) {

  *.alignleft,
  *.align-left {
    display: inline;
    float: left;
    clear: right;
    margin-right: 3em;
    margin-block: 1.5em
  }

  *.alignright,
  *.align-right {
    display: inline;
    float: right;
    clear: right;
    margin-left: 3em;
    margin-block: .5em
  }

  *.aligncenter,
  *.align-center {
    clear: both;
    display: block;
    margin-left: auto;
    margin-right: auto;
    text-align: center
  }
}

.wp-caption {
  background: var(--color-light);
  border: 1px solid var(--color-light-alt);
  max-width: 100%;
  padding: .5em;
  text-align: center
}

.wp-caption img {
  border: 0 none;
  height: auto;
  margin: 0;
  padding: 0;
  width: auto
}

.wp-caption p.wp-caption-text {
  font-size: .75em;
  line-height: 1.25;
  margin: 0
}

.screen-reader-text:focus,
*:focus-within>.screen-reader-text {
  background-color: var(--color-light-alt);
  clip: auto !important;
  -webkit-clip-path: none;
  clip-path: none;
  color: var(--color-dark);
  position: fixed;
  display: block;
  font-size: 1em;
  height: auto;
  left: .25rem;
  line-height: normal;
  padding-inline: .5rem;
  padding-block: .25rem;
  text-decoration: none;
  top: 4rem;
  width: auto;
  z-index: 9999999;
  pointer-events: none
}

.has-text-align-center {
  text-align: center
}

.has-text-align-right {
  text-align: right
}

.wp-block-cover,
.wp-block-cover-image {
  display: flex;
  align-items: center;
  justify-content: center;
  background-position: center center;
  min-height: 26.875rem;
  overflow: clip;
  padding: 1em;
  position: relative
}

.clearfix::after {
  content: "";
  font-size: 0;
  visibility: hidden;
  height: 0;
  clear: both;
  display: table;
  width: 100%;
  flex: 0 0 auto
}

.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
}

.cover {
  position: relative;
  border-radius: inherit;
  overflow: hidden;
  overflow: clip;
  display: block;
  max-width: 100%;
  width: 100%;
  background-color: var(--color-light-alt)
}

@supports not (aspect-ratio: var(--cover-aspect-w, 4)/var(--cover-aspect-l, 3)) {
  .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)) {
  .cover.cover-constricted {
    aspect-ratio: var(--cover-aspect-w, 4)/var(--cover-aspect-l, 3)
  }
}

.cover>:where(*),
.cover-child {
  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
}

.content-icon {
  height: 1em;
  display: inline-flex;
  flex-direction: column;
  justify-content: flex-end;
  flex: 0 0 auto;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  max-width: 100%;
  text-overflow: ellipsis
}

.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-text {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  overflow: clip;
  overflow: hidden;
  -webkit-line-clamp: var(--clamp-text-cap, 3)
}

.fade-text {
  -webkit-mask-image: linear-gradient(to left, transparent 0em, black var(--fade-text-offset, 2em), black 100%);
  mask-image: linear-gradient(to left, transparent 0em, black var(--fade-text-offset, 2em), black 100%);
  overflow-x: scroll;
  scrollbar-width: none;
  white-space: nowrap;
  width: 100%;
  padding-right: var(--fade-text-offset, 2em)
}

.fade-text::-webkit-scrollbar {
  display: none
}

.logo {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
  align-self: stretch;
  justify-content: center;
  max-width: -webkit-max-content;
  max-width: -moz-max-content;
  max-width: max-content
}

.logo-wrapper {
  position: relative;
  overflow: hidden;
  height: 100%;
  width: auto
}

.logo-wrapper :where(img, picture, svg, object) {
  max-width: 100%;
  max-height: 100%;
  width: auto;
  height: 100%
}

.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%
}

.logo-wrapper :is(svg, object)~:where(img, picture:not(.inline-svg)) {
  opacity: 0
}

.xl-only,
.lg-only,
.md-only,
.sm-only,
.xs-only,
.home-only,
.internal-only,
.print-only {
  display: none !important
}

.onep21-template-home .home-only {
  display: block !important
}

.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 {
  .print-only {
    display: block !important
  }

  .print-hide {
    display: none !important
  }
}

@media only screen and (min-width: 120rem) {
  .xl-only {
    display: block !important
  }

  .xl-hide {
    display: none !important
  }
}

@media only screen and (min-width: 87.5rem)and (max-width: 119.9375rem) {
  .lg-only {
    display: block !important
  }

  .lg-hide {
    display: none !important
  }
}

@media only screen and (min-width: 75rem)and (max-width: 87.4375rem) {
  .md-only {
    display: block !important
  }

  .md-hide {
    display: none !important
  }
}

@media only screen and (min-width: 48rem)and (max-width: 74.9375rem) {
  .sm-only {
    display: block !important
  }

  .sm-hide {
    display: none !important
  }
}

@media only screen and (max-width: 47.9375rem) {
  .xs-only {
    display: block !important
  }

  .xs-hide {
    display: none !important
  }
}

.accordion:not(.open) {
  display: none
}

.accordion-trigger {
  cursor: pointer;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: .3125rem;
  font-size: 1.25rem
}

.accordion-trigger>* {
  pointer-events: none
}

.accordion-trigger::after {
  content: "+";
  opacity: .6;
  font-size: 2.25rem;
  line-height: .45;
  font-family: var(--font-primary);
  font-weight: 400
}

.accordion-trigger:not(.open) {
  margin-bottom: 0
}

.accordion-trigger.open::after {
  content: "-"
}

.list:has(.accordion) {
  background: var(--color-light);
  padding-block: 1.625rem 1.375rem;
  padding-inline: 1.5625rem;
  border-radius: var(--global-radius);
  border: 1px solid var(--color-light-alt);
  margin-inline: auto;
  max-width: 100%;
  width: 50rem
}

.list:has(.accordion) .list-item {
  margin-top: .375em
}

@media only screen and (min-width: 75rem) {
  .list:has(.accordion) {
    padding-inline: 2.1875rem
  }
}

@media only screen and (min-width: 87.5rem) {
  .list:has(.accordion) {
    width: 59.375rem
  }
}

.accordion-wrapper {
  display: grid;
  grid-template-columns: 100%;
  gap: 1.125rem
}

.button {
  border: var(--button-border-width, 1px) solid;
  padding-inline: var(--button-padding-x, 1em);
  padding-block: calc(var(--button-padding-y, calc((var(--button-height, 4em) - var(--button-border-width, 2px) * 2 - 1em * var(--button-lines, 1) * var(--button-line-height, 1.25)) * 0.5)) - var(--button-border-width, 1px));
  line-height: var(--button-line-height, 1.5);
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  max-width: 100%;
  background: none;
  text-align: center;
  transition: all .125s ease-in-out;
  border-radius: var(--button-border-radius, 0px)
}

.button:is(.button-style-legacy) {
  min-height: var(--button-height, 3em);
  padding-inline: calc(var(--button-padding-x, 1em) - var(--button-border-width, 1px));
  padding-block: calc((var(--button-height) - var(--button-border-width, 1px)*2 - 1em*var(--button-lines)*var(--button-line-height))*var(--button-baseline-offset)) calc((var(--button-height) - var(--button-border-width, 1px)*2 - 1em*var(--button-lines)*var(--button-line-height))*(1 - var(--button-baseline-offset)))
}

.button {
  display: inline-flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  vertical-align: middle;
  gap: .25em;
  background-clip: border-box;
  background-origin: border-box
}

.button,
.button:is(:hover, :focus) {
  text-decoration: none
}

.button {
  --button-border-width: 1px;
  --button-border-radius: 999em;
  --button-padding-x: 1.5em;
  --button-padding-y: max(1em, 1rem);
  --button-line-height: 1.25;
  font-size: 1rem;
  line-height: var(--button-line-height);
  font-family: var(--font-accent);
  color: var(--color-primary);
  font-style: normal;
  font-weight: 700;
  text-decoration: none
}

@media only screen and (max-width: 119.9375rem) {
  .button.button-size-micro {
    --button-padding-y: .75em;
    --button-padding-x: .75em;
    font-size: .875rem
  }
}

@media only screen and (max-width: 47.9375rem) {
  .button.button-size-micro {
    font-size: .6875rem
  }
}

.button.button-size-small {
  font-size: .875rem;
  --button-padding-y: .5em
}

@media only screen and (min-width: 87.5rem) {
  .button.button-size-large {
    font-size: 1.125rem
  }
}

.button.button-size-larger {
  font-size: 1.125rem
}

.button.button-size-equal {
  --button-padding-x: 0;
  min-width: 0;
  width: var(--button-height);
  text-overflow: ellipsis;
  overflow: hidden
}

.button.button-palette-default,
.button.button-palette-basic:is(:hover, :focus),
.button.button-palette-basic-primary:is(:hover, :focus),
.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: rgba(0, 0, 0, 0)
}

.button.button-palette-default:is(:hover, :focus),
.button.button-palette-outline:is(:hover, :focus),
.button.button-palette-default:is(:has(+.button-palette-minimal:is(:hover, :focus)), .button-palette-minimal:is(:hover, :focus)+.button),
.button.button-palette-reverse {
  background-image: none;
  background-color: var(--color-secondary);
  color: var(--color-light);
  border-color: rgba(0, 0, 0, 0)
}

.button.button-palette-basic,
.button.button-palette-basic-primary {
  background-color: var(--color-light-alt);
  background-image: none;
  border-color: rgba(0, 0, 0, 0)
}

:where(.content-palette-dark) .button.button-palette-basic:not(:is(:hover, :focus)),
:where(.content-palette-dark) .button.button-palette-basic-primary:not(:is(:hover, :focus)) {
  background-color: var(--color-light)
}

.button.button-palette-basic {
  color: var(--color-dark)
}

.button.button-palette-basic-primary {
  color: var(--color-primary)
}

.button.button-palette-minimal {
  background-color: rgba(0, 0, 0, 0);
  background-image: none;
  color: var(--scheme-fg, inherit);
  border-color: rgba(0, 0, 0, 0)
}

.button.button-palette-minimal:is(:has(+.button-style-slider), .button-style-slider+.button) {
  color: var(--scheme-fg, inherit)
}

.button.button-palette-minimal:has(+.button-style-slider) {
  --button-padding-x: 0 .75rem
}

.button.button-palette-minimal:is(.button-style-slider+.button) {
  --button-padding-x: .75rem 0
}

.button.button-palette-minimal:is(:hover, :focus, :is(:has(+.button-style-slider:is(:hover, :focus)), .button-style-slider:is(:hover, :focus)+.button)) {
  color: var(--color-secondary)
}

.button.button-palette-minimal:is(:hover, :focus) {
  background-color: rgba(0, 0, 0, 0);
  background-image: none;
  color: var(--scheme-fg, inherit);
  border-color: rgba(0, 0, 0, 0)
}

.button.button-palette-outline {
  background-color: rgba(0, 0, 0, 0);
  background-image: none;
  color: inherit;
  border-color: currentColor
}

.button.button-style-special {
  position: relative;
  z-index: 1;
  transform-style: preserve-3d;
  --button-border-offset: 0.5em;
  border-color: hsla(0, 0%, 100%, .2);
  box-shadow: 0 0 0 var(--button-border-width) var(--color-accent);
  border-width: var(--button-border-offset);
  background-clip: padding-box;
  padding-block: calc(var(--button-padding-y, 1em) - var(--button-border-offset) - var(--button-border-width, 1px))
}

.button.button-style-special::before {
  content: "";
  transition: box-shadow .125s ease-in-out;
  display: inline-block;
  align-self: center;
  margin-right: 1.5em;
  margin-left: .375em;
  margin-bottom: .375em;
  width: 1.5rem;
  height: var(--button-border-width);
  background: currentColor;
  box-shadow: 0em -0.375em 0 0, -0.375em 0 0 0, .375em 0 0 0, 0em .375em 0 0
}

.button.button-style-special:is(:hover, :focus) {
  box-shadow: 0 0 0 var(--button-border-width) var(--color-primary);
  border-color: hsla(0, 0%, 100%, .5)
}

.button.button-style-special:is(:hover, :focus)::before {
  box-shadow: .375em -0.375em 0 0, -0.75em 0 0 0, -0.75em 0 0 0, .375em .375em 0 0
}

.button.button-style-link {
  --button-border-width: 0;
  border-radius: 0;
  padding: 0;
  border-width: 0 0 var(--button-border-width);
  min-height: 0;
  background: none;
  box-shadow: none;
  min-height: 0;
  min-width: 0;
  color: var(--color-primary);
  letter-spacing: 0em;
  text-transform: none;
  text-decoration: underline
}

.button.button-style-link:is(:hover, :focus) {
  background: none;
  color: var(--color-secondary)
}

.button.button-style-flat,
.button.button-style-flat:is(:hover, :focus) {
  background-image: none
}

.button.button-style-no-radius {
  --button-border-radius: 0
}

.button.button-style-round {
  --button-border-radius: calc(var(--button-height) * 0.5)
}

.button.button-style-sharp {
  --button-border-radius: 0em
}

.button.button-style-thick-border {
  --button-border-width: 4px
}

.button.button-style-thin-border {
  --button-border-width: 1px
}

.button.button-style-no-border {
  --button-border-width: 0px
}

@supports((-webkit-clip-path: polygon(0 0, 0 0, 0 0, 0 0)) or (clip-path: polygon(0 0, 0 0, 0 0, 0 0))) {
  .button.button-style-diamond {
    overflow: hidden;
    -webkit-clip-path: polygon(50% 0, 100% 50%, 50% 100%, 0 50%);
    clip-path: polygon(50% 0, 100% 50%, 50% 100%, 0 50%)
  }
}

.button.button-style-slider {
  --button-padding-y: 1.2em;
  --button-padding-x: 2em;
  font-size: .6875rem
}

.button.button-style-slider.button-size-smaller {
  font-size: .625rem
}

.button.button-style-slider.button-palette-minimal {
  --button-height: 2.5em;
  --button-padding-x: 0.4em
}

.button-glyph:empty::after {
  display: inline-block;
  order: 9;
  align-self: center;
  transform-origin: center center;
  content: "";
  width: 1em;
  height: 1em;
  flex: 0 0 auto
}

.button-glyph-slider:empty::after {
  border: 2px solid currentColor;
  border-left: 0;
  border-bottom: 0;
  transform: rotate(45deg);
  margin-left: -0.375em
}

:is(.prev, [rel=prev], .slick-prev, .swpier-button-prev) .button-glyph-slider {
  transform: scaleX(-1)
}

.columns {
  --columns-gap-x: 0rem;
  --columns-gap-y: 0rem;
  --columns-number: 1;
  width: 100%
}

.columns,
.columns>:where(*) {
  min-width: 0;
  max-width: 100%;
  width: 100%
}

.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)
}

.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))
}

.columns:where(.columns-grid) {
  display: grid;
  row-gap: var(--columns-gap-y);
  -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)))
}

.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)
}

.columns.columns-masonry>:where(*) {
  page-break-inside: avoid;
  -moz-column-break-inside: avoid;
  break-inside: avoid
}

.columns.columns-masonry>:where(*):nth-child(n+2) {
  margin-top: var(--columns-gap-y)
}

:where(.section-blocks) {
  display: grid;
  grid-template-columns: 100%;
  grid-auto-flow: dense;
  width: 100%;
  margin-inline: auto;
  gap: 2rem
}

:where(.section-blocks, .section-block) {
  min-width: 0;
  min-height: 0
}

:where(.section-block):where(:only-child),
:where(.section-block):is(.section-block-style-stretch) {
  grid-column: 1/-1
}

:is(.section-blocks):is(.section-style-maxed) {
  max-width: -webkit-max-content;
  max-width: -moz-max-content;
  max-width: max-content;
  margin-inline: auto
}

:is(.section-block):is(.section-style-maxed, .section-style-maxed>*) {
  max-width: 100%
}

@media only screen and (min-width: 48rem) {
  :where(.section-blocks) {
    gap: 2.5rem
  }
}

@media only screen and (min-width: 75rem) {
  :where(.section-block):is(.section-image):is(.section-image-can-sticky) {
    align-self: stretch
  }

  :where(.section-block):is(.section-image):is(.section-image-can-sticky) .section-image-sticky {
    position: -webkit-sticky;
    position: sticky;
    top: calc(var(--layout-header-height) + 4vh)
  }

  :where(.section-block):is(.section-image):is(.section-image-can-sticky) .section-image-picture {
    display: block;
    max-height: calc(86vh - var(--layout-header-height));
    overflow: clip
  }

  :where(.section-block):is(.section-image):is(.section-image-can-sticky) .section-image-img {
    -o-object-fit: cover;
    object-fit: cover;
    height: 100%;
    width: 100%
  }
}

.section:where(.section-style-padded) {
  padding-block: 4.6875rem
}

.section:where(.section-style-margined) {
  margin-block: 4.6875rem
}

@media only screen and (min-width: 48rem) {
  .section:where(.section-style-padded) {
    padding-block: 5.6875rem
  }

  .section:where(.section-style-margined) {
    margin-block: 5.6875rem
  }
}

:where(.section-header, .section-heading, .section-footer) {
  text-wrap: balance
}

:where(.section-awards, .section-content:where(:has(.columns), .columns)) {
  grid-column: 1/-1
}

.section-header:is(.section-header-style-one-line)>.section-blocks {
  gap: 1.1875rem
}

:where(.section-content):is(.columns) {
  justify-content: center;
  justify-items: center;
  max-width: -webkit-max-content;
  max-width: -moz-max-content;
  max-width: max-content;
  margin-left: auto;
  margin-right: auto
}

:where(.section-content):is(.columns)>.content:only-child {
  grid-column: 1/-1
}

:where(.section-content):is(:has(.columns), .columns)>:where(.content:only-child) {
  width: 100%;
  max-width: 62.5rem;
  margin-inline: auto
}

:where(.section-image) {
  position: relative;
  align-self: self-start
}

:where(.section-image),
:where(.section-image) :where(img) {
  border-radius: var(--global-radius);
  display: block
}

@media only screen and (min-width: 48rem) {
  .section-header:is(.section-header-style-one-line) {
    max-width: none;
    justify-self: stretch
  }

  .section-header:is(.section-header-style-one-line)>.section-blocks {
    gap: 1.3125rem;
    display: flex;
    flex-direction: row;
    align-items: center;
    align-content: center
  }

  .section-header:is(.section-header-style-one-line)>.section-blocks>.section-divider {
    flex: 1 1
  }
}

@media only screen and (min-width: 75rem) {
  :where(.section-content):is(.columns) {
    --columns-number: 2;
    --columns-gap-x: 2.75rem
  }
}

@media only screen and (min-width: 87.5rem) {
  :where(.section-content):is(.columns) {
    --columns-gap-x: 3.625rem
  }
}

@media only screen and (min-width: 120rem) {
  :where(.section-content):is(.columns) {
    --columns-gap-x: 3.625rem
  }
}

@media only screen and (max-width: 74.9375rem) {
  .section :where(.section-header, .section-footer) {
    text-align: center;
    justify-self: center;
    align-self: center;
    max-width: -webkit-max-content;
    max-width: -moz-max-content;
    max-width: max-content
  }
}

.container {
  padding-inline: min(var(--container-fallback), var(--container-gutter)) !important;
  margin-inline: auto !important;
  max-width: 100%;
  width: calc(100% - max(var(--container-gutter) - min(var(--container-fallback), var(--container-gutter)), 0rem)*2);
  min-width: 0;
  flex: 0 0 auto;
  grid-column: 1/-1;
  container: container/inline-size
}

.container {
  --container-fallback: 1.5rem;
  --container-size-reference: var(--comp);
  --container-gutter: var(--container-fallback)
}

@media only screen and (min-width: 48rem) {
  .container {
    --container-fallback: 2.375rem
  }
}

@media only screen and (min-width: 75rem) {
  .container {
    --container-fallback: 5.4375rem
  }
}

@media only screen and (min-width: 120rem) {
  .container {
    --container-fallback: 8.75rem
  }
}

.container.container-style-normal {
  container-type: normal
}

@media only screen and (min-width: 48rem) {
  .container.container-size-default {
    --container-gutter: 5.3125rem
  }
}

@media only screen and (min-width: 87.5rem) {
  .container.container-size-default {
    --container-gutter: 7.5rem
  }
}

@media only screen and (min-width: 120rem) {
  .container.container-size-default {
    --container-gutter: 14.3875rem
  }
}

@media only screen and (min-width: 48rem) {
  .container.container-size-wide {
    --container-gutter: .9375rem
  }
}

@media only screen and (min-width: 75rem) {
  .container.container-size-wide {
    --container-gutter: 1.875rem
  }
}

@media only screen and (max-width: 47.9375rem) {
  .container.container-size-wide-xs {
    --container-gutter: .9375rem;
    --container-gutter: var(--container-fallback)
  }
}

@media only screen and (min-width: 48rem)and (max-width: 74.9375rem) {
  .container.container-size-wide-sm {
    --container-gutter: 1.875rem;
    --container-gutter: var(--container-fallback)
  }
}

.container.container-size-slider {
  --container-fallback: 1.625rem;
  --container-gutter: 3.5rem
}

@media only screen and (min-width: 48rem) {
  .container.container-size-slider {
    --container-fallback: 2.5rem;
    --container-gutter: 6.875rem
  }
}

@media only screen and (min-width: 75rem) {
  .container.container-size-slider {
    --container-fallback: 6.5rem;
    --container-gutter: 11.5rem
  }
}

@media only screen and (min-width: 87.5rem) {
  .container.container-size-slider {
    --container-fallback: 3.75rem;
    --container-gutter: 8.5rem
  }
}

@media only screen and (min-width: 120rem) {
  .container.container-size-slider {
    --container-fallback: 7.125rem;
    --container-gutter: 13.5rem
  }
}

@media only screen and (min-width: 75rem) {
  .container.container-size-compact {
    --container-gutter: 12.25rem
  }
}

@media only screen and (min-width: 87.5rem) {
  .container.container-size-compact {
    --container-gutter: 14.0625rem
  }
}

@media only screen and (min-width: 120rem) {
  .container.container-size-compact {
    --container-gutter: 30.875rem
  }
}

.container.container-style-no-padding {
  --container-fallback: 0rem
}

@media only screen and (min-width: 48rem) {
  .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
  }
}

@media only screen and (max-width: 47.9375rem) {
  .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
  }
}

@media only screen and (min-width: 120rem) {
  .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
  }
}

@media only screen and (max-width: 74.9375rem) {
  .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
  }
}

@media only screen and (min-width: 75rem) {
  .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
  }
}

.widget {
  padding-block: var(--widget-padding-top) var(--widget-padding-bottom);
  padding-inline: var(--widget-padding-x);
  position: relative;
  max-width: none;
  width: auto;
  overflow: hidden
}

.widget,
.widget>:where(ul, .menu, div):not(.content),
.widget>:where(ul, .menu, div):not(.content) li {
  padding-left: var(--widget-padding-x);
  padding-right: var(--widget-padding-x)
}

.widget>:where(ul, .menu, div),
.widget .widget-content {
  padding-block: var(--widget-content-padding-top) var(--widget-content-padding-bottom);
  margin-bottom: var(--widget-content-margin-bottom)
}

.widget>:where(ul, .menu, div):nth-child(n+2),
.widget .widget-content:nth-child(n+2) {
  margin-top: var(--widget-content-margin-top)
}

.widget>:where(ul, .menu, div):last-child,
.widget>:where(ul, .menu, div):not(.content)>li,
.widget>:where(ul, .menu, div):not(.content) :where(ul, .sub-menu),
.widget .widget-content:last-child,
.widget .widget-content:not(.content)>li,
.widget .widget-content:not(.content) :where(ul, .sub-menu) {
  max-width: none
}

.widget>:where(ul, .menu, div):last-child,
.widget>:where(ul, .menu, div):not(.content)>li,
.widget .widget-content:last-child,
.widget .widget-content:not(.content)>li {
  margin-inline: calc(var(--widget-padding-x)*-1)
}

.widget>:where(ul, .menu, div):not(.content) :where(ul, .sub-menu),
.widget .widget-content:not(.content) :where(ul, .sub-menu) {
  margin-inline: var(--widget-dropdown-margin-x)
}

:is(.widget_title, .widget-title, .widgettitle) {
  padding-inline: var(--widget-title-padding-x);
  margin-block: 0
}

.widget>:where(ul, .menu, div):not(.content) li>:is(a, :only-child) {
  padding-inline: var(--widget-item-padding-x)
}

.widget>:where(ul, .menu, div).content,
.widget .widget-content {
  padding-inline: calc(var(--widget-padding-x) + var(--widget-item-padding-x))
}

.widget>:where(ul, .menu, div):not(.content) ul li {
  padding-inline: calc(var(--widget-dropdown-padding-x) + var(--widget-dropdown-offset)) var(--widget-dropdown-padding-x)
}

.widget>:where(ul, .menu, div):not(.content) ul li>:is(a, :only-child) {
  padding-left: calc(var(--widget-dropdown-item-offset) + var(--widget-item-padding-x))
}

.widget>:where(ul, .menu, div):not(.content) li {
  list-style: none;
  clear: both
}

.widget>:where(ul, .menu, div):not(.content) li>:is(a, :only-child) {
  line-height: var(--widget-item-line-height) !important;
  padding-block: calc(var(--widget-item-padding-y, calc((var(--widget-item-height, 3em) - var(--widget-item-border-width, 1px) * 2 - 1em * var(--widget-item-lines, 1) * var(--widget-item-line-height, 1.25)) * 0.5)) - var(--widget-item-border-width, 1px)*.5);
  color: inherit;
  text-decoration: none;
  display: flex
}

.widget>:where(ul, .menu, div):not(.content) li ul {
  border-block: var(--widget-item-border-width) solid rgba(0, 0, 0, 0);
  padding-block: var(--widget-dropdown-padding-top) var(--widget-dropdown-padding-bottom);
  margin-block: var(--widget-dropdown-margin-top) var(--widget-dropdown-margin-bottom);
  flex: 0 0 auto
}

.widget>:where(ul, .menu, div):not(.content) li:last-child>ul {
  border-bottom: 0;
  margin-bottom: calc(var(--widget-dropdown-padding-bottom)*-1)
}

.widget>:where(ul, .menu, div):not(.content)>li:last-child>ul {
  margin-bottom: calc((var(--widget-padding-bottom) + var(--widget-content-padding-bottom))*-1)
}

.widget:not(.widget-style-no-toggle):not(.open)>:is(.widget_title, .widget-title, .widgettitle)+*:where(ul, .menu, div),
.widget:not(.widget-style-no-toggle):not(.open):has(:is(.widget_title, .widget-title, .widgettitle)) .widget-content,
.widget:not(.widget-style-no-toggle) li:not(.open)>ul:not(:only-child) {
  display: none
}

:is(.widget_title, .widget-title, .widgettitle)+*:not(:where(ul, .menu, div)),
.widget:has(:is(.widget_title, .widget-title, .widgettitle)) .widget-content {
  margin-top: var(--widget-content-margin-top)
}

.widget :where(input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=image]):not([type=file]), select, textarea, table) {
  width: 100%
}

.widgets-wrapper {
  display: flex;
  flex-direction: column;
  gap: min(var(--default-gap-y, 2.875rem), 2.875rem)
}

.widget {
  --widget-padding-x: 3rem;
  --widget-padding-top: 2rem;
  --widget-padding-bottom: var(--widget-padding-top);
  --widget-dropdown-padding-top: .75rem;
  --widget-dropdown-padding-bottom: var(--widget-dropdown-padding-top);
  --widget-dropdown-margin-top: 0.5rem;
  --widget-dropdown-margin-bottom: var(--widget-dropdown-margin-top);
  --widget-item-border-width: 1px;
  --widget-item-padding-x: 0rem;
  --widget-item-padding-y: max(.375em, .375rem);
  --widget-dropdown-margin-x: calc(var(--widget-padding-x) * -1);
  --widget-dropdown-padding-x: var(--widget-padding-x);
  --widget-dropdown-offset: 0rem;
  --widget-dropdown-item-offset: 0em;
  --widget-title-padding-x: var(--widget-item-padding-x);
  --widget-content-margin-top: 1.5rem;
  --widget-content-margin-bottom: 0rem;
  --widget-content-padding-top: 0rem;
  --widget-content-padding-bottom: var(--widget-content-padding-top);
  --widget-item-line-height: 1.5;
  background-color: var(--color-light-alt);
  box-shadow: 0 0 5px rgba(0, 0, 0, .05);
  border-radius: var(--global-radius)
}

.widget>:where(ul, .widget-content):not(.content) {
  color: var(--scheme-fg, var(--color-dark));
  font-weight: 500;
  text-align: left;
  text-decoration: none
}

.widget>:where(ul, .widget-content):not(.content) li:is(.open, :hover, :focus-within)>a {
  color: var(--scheme-sp, var(--color-primary))
}

.widget>:where(ul, .widget-content):not(.content) li ul {
  background: var(--color-light);
  box-shadow: 0 6px 8px 0 rgba(0, 0, 0, .1);
  text-align: left
}

.widget>:where(ul, .widget-content):not(.content) li ul ul {
  background-color: rgba(0, 0, 0, .05)
}

.widget>:where(ul, .widget-content):not(.content) li.open {
  border-bottom: 0
}

.widget>:where(ul, .widget-content):not(.content) li.open>a {
  border-bottom: 0
}

:is(.widget_title, .widget-title, .widgettitle) {
  font-size: 1.375rem;
  line-height: 1;
  font-family: var(--font-secondary);
  color: var(--color-primary);
  font-weight: 700;
  flex-wrap: wrap
}

:is(.widget_title, .widget-title, .widgettitle):is(.fancy-border) {
  --fancy-border-width: 2rem;
  --fancy-border-margin-y: var(--widget-content-margin-top);
  --fancy-border-margin-l: 0
}

:is(.widget_title, .widget-title, .widgettitle):is(.fancy-border-before)::before,
:is(.widget_title, .widget-title, .widgettitle):is(.fancy-border-after)::after {
  grid-column: 1/-1
}

.widget:not(.widget-style-no-toggle):not(.open)>:is(.widget_title, .widget-title, .widgettitle) {
  padding-bottom: 0;
  border-bottom: 0;
  margin-bottom: 0
}

.widget:not(.widget-style-no-toggle):not(.open)>:is(.widget_title, .widget-title, .widgettitle):is(.fancy-border) {
  --fancy-border-margin-y: 0rem;
  --fancy-border-height: 0rem
}

.widget-toggle {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  -moz-column-gap: .5em;
  column-gap: .5em;
  cursor: pointer;
  justify-content: space-between
}

.widget-toggle>* {
  min-width: 0
}

.widget-toggle::before {
  display: inline-block;
  order: 9;
  align-self: center;
  flex: 0 0 auto;
  content: "";
  font-size: .5rem;
  transform-origin: 67% 67%;
  width: 1em;
  height: 1em;
  border: 2px solid currentColor;
  border-top: 0;
  border-left: 0;
  transform: rotate(45deg)
}

.open>.widget-toggle::before {
  transform: rotate(-135deg)
}

.doc-popup-active {
  overflow-y: hidden
}

.popup-content {
  display: none !important
}

.popup {
  display: none;
  overflow-y: auto;
  position: fixed;
  isolation: isolate;
  z-index: 99999;
  top: 0;
  right: 0;
  left: 0;
  bottom: 0;
  margin: 0;
  min-height: 100vh;
  width: 100%;
  min-width: 20rem;
  display: flex;
  flex-direction: column;
  background: none !important
}

.popup.active {
  display: block
}

.popup-overlay {
  min-height: 100vh;
  position: fixed;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: 0
}

.popup-frame {
  position: relative
}

.popup:has(.popup-constrict) .popup-frame {
  height: 80vh;
  width: 100%;
  max-width: -webkit-max-content;
  max-width: -moz-max-content;
  max-width: max-content;
  max-height: -webkit-max-content;
  max-height: -moz-max-content;
  max-height: max-content;
  align-self: center;
  margin-inline: auto
}

.popup:has(.popup-constrict) .popup-frame>*:not(.popup-destroy) {
  flex: 1 1;
  max-height: -webkit-max-content;
  max-height: -moz-max-content;
  max-height: max-content;
  max-width: -webkit-max-content;
  max-width: -moz-max-content;
  max-width: max-content;
  width: 100%;
  height: 100%
}

.popup:has(.popup-constrict) .popup-frame>*:not(.popup-destroy) :nth-child(n+2) {
  display: none
}

.popup:has(.popup-constrict) .popup-body {
  padding-block: 1rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-content: center;
  align-items: center
}

.popup {
  -webkit-backdrop-filter: blur(3px);
  backdrop-filter: blur(3px)
}

.popup-overlay {
  background: var(--color-dark-alt, black);
  opacity: .8
}

.popup-body {
  overflow-y: scroll;
  height: 100%;
  padding-block: 11vw;
  scrollbar-width: none
}

.popup-body::-webkit-scrollbar {
  display: none
}

.popup-frame {
  background: var(--color-light, white);
  padding-block: 4.4375rem;
  padding-inline: 5.625rem
}

.popup-close-button {
  position: absolute;
  top: 1em;
  right: 1em;
  background: none;
  border: 0;
  font-size: 2.5rem;
  display: block;
  width: 1em;
  height: 1em;
  line-height: 1;
  padding: 0;
  overflow-x: clip;
  color: var(--color-primary);
  padding-top: 1em
}

.popup-close-button-text {
  font-size: .25em;
  text-transform: uppercase;
  text-wrap: pre-wrap;
  white-space: nowrap;
  margin-top: .5em;
  display: block;
  text-indent: -9999em
}

.popup-close-button::before,
.popup-close-button::after {
  content: "";
  display: block;
  height: 3px;
  width: 1em;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  background: currentColor
}

.popup-close-button::before {
  transform: rotate(45deg)
}

.popup-close-button::after {
  transform: rotate(-45deg)
}

.popup:has(.popup-constricted) .popup-frame {
  padding: 0;
  background: none;
  box-shadow: none
}

.popup:has(.popup-constricted) .popup-close-button {
  top: -0.5em;
  right: -0.5em;
  margin-top: 0;
  width: 1.5em;
  height: 1.5em;
  padding: .5em;
  background: var(--color-light);
  box-shadow: 0 5px 10px 0px rgba(0, 0, 0, .15)
}

@media only screen and (min-width: 120rem) {
  .popup-container {
    --container-gutter: 28.25rem
  }
}

@media only screen and (max-width: 47.9375rem) {
  .popup-frame {
    padding-block: 4rem 2rem;
    padding-inline: 1.875rem
  }

  .popup-close-button {
    font-size: 2rem;
    top: 1.25rem;
    right: 1.25rem
  }
}

:where(hr),
.fancy-border {
  clear: both;
  outline: none;
  border: none;
  -moz-column-break-inside: avoid;
  break-inside: avoid
}

.fancy-border {
  --fancy-border-margin-y: 1.5rem;
  --fancy-border-margin-r: auto;
  --fancy-border-margin-l: auto;
  --fancy-border-height: 3px;
  --fancy-border-background: currentColor
}

:where(hr),
.fancy-border.fancy-border-before::before,
.fancy-border.fancy-border-after::after {
  height: var(--fancy-border-height, 1px);
  width: var(--fancy-border-width, 100%);
  background: var(--fancy-border-background, var(--color-neutral));
  margin-left: var(--fancy-border-margin-l, auto);
  margin-right: var(--fancy-border-margin-r, auto);
  max-width: 100%;
  grid-column: 1/-1;
  flex: 0 0 auto
}

.fancy-border.fancy-border-before:not(hr)::before,
.fancy-border.fancy-border-after:not(hr)::after {
  content: ""
}

:where(hr),
.fancy-border-after::after,
.fancy-border-before::before {
  display: block;
  transition: all .375s ease-in-out
}

.fancy-border.fancy-border-after::after {
  order: 99
}

.fancy-border.fancy-border-before::before {
  order: -99
}

hr.fancy-border-after,
.fancy-border.fancy-border-after::after {
  margin-top: var(--fancy-border-margin-y, 1.875rem)
}

hr.fancy-border-before,
.fancy-border.fancy-border-before::before {
  margin-bottom: var(--fancy-border-margin-y, 1.875rem)
}

.fancy-border-palette-primary {
  --fancy-border-background: var(--color-primary) linear-gradient(90deg, var(--color-primary-gradient-start) 0%, var(--color-primary-gradient-end) 100%)
}

.fancy-border-palette-secondary {
  --fancy-border-background: var(--color-secondary) linear-gradient(90deg, var(--color-secondary-gradient-start) 0%, var(--color-secondary-gradient-end) 100%)
}

.fancy-border-palette-accent {
  --fancy-border-background: var(--color-accent) linear-gradient(90deg, var(--color-accent-gradient-start) 0%, var(--color-accent-gradient-end) 100%)
}

.fancy-border-palette-primary-alt {
  --fancy-border-background: var(--color-primary-alt) linear-gradient(90deg, var(--color-primary-gradient-start) 0%, var(--color-primary-gradient-end) 100%)
}

.fancy-border-palette-secondary-alt {
  --fancy-border-background: var(--color-secondary-alt) linear-gradient(90deg, var(--color-secondary-gradient-start) 0%, var(--color-secondary-gradient-end) 100%)
}

.fancy-border-palette-accent-alt {
  --fancy-border-background: var(--color-accent-alt) linear-gradient(90deg, var(--color-accent-gradient-start) 0%, var(--color-accent-gradient-end) 100%)
}

.fancy-border-palette-neutral {
  --fancy-border-background: var(--color-neutral)
}

.fancy-border-style-grow {
  --fancy-border-margin-x: 1.25rem;
  --fancy-border-margin-y: 0.75rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  -moz-column-gap: var(--fancy-border-margin-x);
  column-gap: var(--fancy-border-margin-x);
  row-gap: var(--fancy-border-margin-y)
}

hr.fancy-border-style-grow,
.fancy-border-style-grow.fancy-border-before::before,
.fancy-border-style-grow.fancy-border-after::after {
  margin: 0;
  flex: 1 1
}

.fancy-border-style-round {
  border-radius: 999em
}

.fancy-border-style-thin {
  --fancy-border-height: 1px
}

.fancy-border-style-alignleft {
  --fancy-border-margin-r: auto;
  --fancy-border-margin-l: 0
}

.fancy-border-style-alignright {
  --fancy-border-margin-r: 0;
  --fancy-border-margin-l: auto
}

hr.fancy-border-style-flat,
.fancy-border-style-flat.fancy-border-before::before,
.fancy-border-style-flat.fancy-border-after::after {
  background-image: none !important
}

.fancy-border-style-inline {
  --fancy-border-margin-l: 0.5em;
  display: flex;
  flex-wrap: nowrap;
  row-gap: var(--fancy-border-margin-y);
  -moz-column-gap: var(--fancy-border-margin-l);
  column-gap: var(--fancy-border-margin-l)
}

.fancy-border-style-inline.fancy-border-before::before,
.fancy-border-style-inline.fancy-border-after::after {
  flex: 1 1;
  margin-block: 0 !important;
  align-self: center
}

@media only screen and (min-width: 75rem) {

  hr.fancy-border-animated,
  .fancy-border-animated.fancy-border-before::before,
  .fancy-border-animated.fancy-border-after::after {
    transition: width 1.5s ease-in-out
  }

  .fancy-border-animated:not(.visible) {
    --fancy-border-width: 0% !important
  }
}

.fancy-icon-menu {
  position: relative;
  --fancy-icon-menu-width: 2rem;
  --fancy-icon-menu-height: 1rem;
  --fancy-icon-menu-bar-height: 2px;
  --fancy-icon-menu-bar-top-width: 100%;
  --fancy-icon-menu-bar-top-margin-l: auto;
  --fancy-icon-menu-bar-top-margin-r: auto;
  --fancy-icon-menu-bar-center-width: 100%;
  --fancy-icon-menu-bar-center-margin-l: auto;
  --fancy-icon-menu-bar-center-margin-r: auto;
  --fancy-icon-menu-bar-bottom-width: 100%;
  --fancy-icon-menu-bar-bottom-margin-l: auto;
  --fancy-icon-menu-bar-bottom-margin-r: auto;
  width: var(--fancy-icon-menu-width);
  height: var(--fancy-icon-menu-height)
}

.fancy-icon-menu span {
  position: absolute;
  transform-origin: center center;
  background: currentColor;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  height: var(--fancy-icon-menu-bar-height);
  width: 100%;
  transition-duration: .375s;
  transition-timing-function: ease-in-out;
  transition-property: top, bottom, left, right, transform, width
}

.fancy-icon-menu span:where(:first-child) {
  bottom: auto;
  width: var(--fancy-icon-menu-bar-top-width);
  margin: auto var(--fancy-icon-menu-bar-top-margin-r) auto var(--fancy-icon-menu-bar-top-margin-l)
}

.fancy-icon-menu span:where(:last-child) {
  top: auto;
  width: var(--fancy-icon-menu-bar-bottom-width);
  margin: auto var(--fancy-icon-menu-bar-bottom-margin-r) auto var(--fancy-icon-menu-bar-bottom-margin-l)
}

.fancy-icon-menu span:where(:nth-child(2), :nth-child(3)) {
  width: var(--fancy-icon-menu-bar-center-width);
  margin: auto var(--fancy-icon-menu-bar-center-margin-r) auto var(--fancy-icon-menu-bar-center-margin-l)
}

.open .fancy-icon-menu span {
  margin: auto
}

.open .fancy-icon-menu span:nth-child(2) {
  transform: rotateZ(45deg)
}

.open .fancy-icon-menu span:nth-child(3) {
  transform: rotateZ(-45deg)
}

.open .fancy-icon-menu span:is(:nth-child(2), :nth-child(3)) {
  width: 100%
}

.open .fancy-icon-menu span:is(:first-child, :last-child) {
  width: 0
}

/* WRIKE: 4462143837 */
/* @media only screen and (min-width: 75rem) {
  .fancy-letters {
    --fancy-letters-factor: 0;
    --fancy-letters-line: 0;
    --fancy-letters-factor-word: 0;
    --fancy-letters-factor-char: 0;
    --fancy-letters-delay: .1s;
    --fancy-letters-duration: 1s
  }

  .fancy-letters:where(:not([style]:has([class*=fancy-letters-]))) {
    --fancy-letters-delay: .5s;
    --fancy-letters-duration: 1.5s;
    transform: skewY(0deg) skewX(-4deg) rotate(-2deg) translateY(6rem)
  }

  .fancy-letters:where([style]:has([class*=fancy-letters-])),
  .fancy-letters-line,
  .fancy-letters-word,
  .fancy-letters-char {
    padding-bottom: .5em;
    margin-bottom: -0.5em
  }

  .fancy-letters-line,
  .fancy-letters-word,
  .fancy-letters-char,
  .fancy-letters {
    transition-timing-function: .5, 0, 0, 1;
    vertical-align: bottom;
    transition-property: opacity;
    transition-delay: 0s;
    transition-duration: .01s
  }

  .fancy-letters-line,
  .fancy-letters-word,
  .fancy-letters-char,
  .fancy-letters:where(:not([style]:has([class*=fancy-letters-]))) {
    opacity: 0
  }

  .fancy-letters-line,
  .fancy-letters-word,
  .fancy-letters:where([style]:has([class*=fancy-letters-])) {
    overflow: hidden
  }

  .fancy-letters-word,
  .fancy-letters-char {
    display: inline-block;
    vertical-align: bottom
  }

  .fancy-letters-line {
    transform: skewY(0deg) skewX(-4deg) rotate(-2deg) translateY(100%)
  }

  .fancy-letters-line,
  .fancy-letters:where([style]:has([class*=fancy-letters-])) {
    display: block
  }

  .fancy-letters-word {
    white-space: nowrap;
    transform: skewY(-10deg) skewX(0deg) rotate(0deg) translateY(100%);
    min-width: -webkit-max-content;
    min-width: -moz-max-content;
    min-width: max-content
  }

  .fancy-letters-char {
    transform: skewY(10deg) skewX(0deg) rotate(10deg) translateY(100%)
  }

  .fancy-letters.visible,
  .fancy-letters.visible .fancy-letters-line,
  .fancy-letters.visible .fancy-letters-word,
  .fancy-letters.visible .fancy-letters-char,
  .visible .fancy-letters,
  .visible .fancy-letters .fancy-letters-line,
  .visible .fancy-letters .fancy-letters-word,
  .visible .fancy-letters .fancy-letters-char {
    transition-property: transform, opacity;
    transition-duration: var(--fancy-letters-duration);
    transform: skewY(0deg) skewX(0deg) rotate(0deg) translateY(0%);
    opacity: 1
  }

  .fancy-letters.visible:where(:not([style]:has([class*=fancy-letters-]))),
  .fancy-letters.visible .fancy-letters-line,
  .visible .fancy-letters:where(:not([style]:has([class*=fancy-letters-]))),
  .visible .fancy-letters .fancy-letters-line {
    transform-origin: top left
  }

  .fancy-letters.visible,
  .visible .fancy-letters {
    transition-delay: calc((var(--fancy-letters-delay))*var(--fancy-letters-factor))
  }

  .fancy-letters.visible .fancy-letters-line,
  .visible .fancy-letters .fancy-letters-line {
    transition-delay: calc(var(--fancy-letters-delay)/max(1, var(--fancy-letters-factor)*.8)*(var(--fancy-letters-factor-line) + var(--fancy-letters-factor)))
  }

  .fancy-letters.visible .fancy-letters-word,
  .visible .fancy-letters .fancy-letters-word {
    transition-delay: calc(var(--fancy-letters-delay)/max(1, var(--fancy-letters-factor)*.5)*(var(--fancy-letters-factor-line)*.75 + var(--fancy-letters-factor-word)));
    transform-origin: bottom right
  }

  .fancy-letters.visible .fancy-letters-char,
  .visible .fancy-letters .fancy-letters-char {
    transition-delay: calc(var(--fancy-letters-delay)/max(1, var(--fancy-letters-factor)*.2)*(var(--fancy-letters-factor-line)*.5 + var(--fancy-letters-factor-word)*.75 + var(--fancy-letters-factor-char)));
    transform-origin: center center
  }
} */

.fancy-gradient-accent {
  color: var(--color-light)
}

.fancy-gradient-accent,
.fancy-gradient-accent-header {
  /* background-attachment: fixed; */
  background-color: var(--color-accent);
  background-image: var(--global-accent-gradient)
}

.fancy-gradient-accent-box {
  border: 1px solid var(--color-neutral-dark);
  border-radius: calc(var(--global-radius)*2)
}

.fancy-gradient-accent-header {
  justify-self: center;
  margin-top: -0.5em;
  padding-inline: min(15%, 3rem);
  white-space: nowrap;
  width: 100%;
  max-width: -webkit-max-content;
  max-width: -moz-max-content;
  max-width: max-content;
  margin-inline: auto
}

.fancy-gradient-accent-heading {
  white-space: inherit
}

.fancy-gradient-accent-body {
  padding-block: 2rem
}

.fancy-gradient-accent-body:where(.swiper) {
  --swiper-custom-arrow-offset-x: calc(var(--container-fallback) + 2rem);
  --swiper-navigation-top-offset: calc(50% - 1rem)
}

.fancy-gradient-accent-body:not(:has(.swiper-pagination)) {
  padding-bottom: 0;
  --swiper-custom-arrow-offset-x: 0rem;
  --swiper-custom-arrow-offset-x-negate: 0rem
}

@media only screen and (min-width: 75rem) {
  .fancy-gradient-accent-body {
    padding-block: 2.375rem
  }
}

@media only screen and (max-width: 74.9375rem) {
  .fancy-gradient-accent {
    padding-block: 3.4375rem 3.875rem
  }

  .fancy-gradient-accent-body:is(.swiper:has(.swiper-pagination)) {
    --swiper-pagination-bottom: 4.25rem;
    --swiper-custom-arrow-offset-x: var(--container-fallback);
    margin-bottom: calc(var(--swiper-pagination-bottom)*-1)
  }
}

.fancy-gradient-svg:not(.fancy-gradient-svg-no-pseudo),
.fancy-gradient-svg-wrapper {
  position: relative;
  z-index: 0;
  background-color: var(--color-dark-alt)
}

.fancy-gradient-svg:not(.fancy-gradient-svg-no-pseudo)::before,
.fancy-gradient-svg:is(.fancy-gradient-svg-no-pseudo) {
  content: "";
  background-size: cover;
  background-position: var(--fancy-gradient-bg-position, center center);
  display: block;
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none
}

.doc-images-loaded .fancy-gradient-svg:not(.fancy-gradient-svg-no-pseudo)::before,
.doc-images-loaded .fancy-gradient-svg:is(.fancy-gradient-svg-no-pseudo) {
  background-image: url(/wp-content/themes/1p21-benson/images/gradient.svg)
}

.fancy-gradient-svg.fancy-gradient-svg-flip-x:not(.fancy-gradient-svg-no-pseudo)::before,
.fancy-gradient-svg.fancy-gradient-svg-flip-x:is(.fancy-gradient-svg-no-pseudo) {
  transform: scaleX(-1)
}

.fancy-gradient-svg.fancy-gradient-svg-flip-y:not(.fancy-gradient-svg-no-pseudo)::before,
.fancy-gradient-svg.fancy-gradient-svg-flip-y:is(.fancy-gradient-svg-no-pseudo) {
  transform: scaleY(-1)
}

.fancy-gradient-svg.fancy-gradient-svg-flip:not(.fancy-gradient-svg-no-pseudo)::before,
.fancy-gradient-svg.fancy-gradient-svg-flip:is(.fancy-gradient-svg-no-pseudo) {
  transform: scaleX(-1) scaleY(-1)
}

.fancy-gradient-svg.fancy-gradient-svg-rotate:not(.fancy-gradient-svg-no-pseudo)::before,
.fancy-gradient-svg.fancy-gradient-svg-rotate:is(.fancy-gradient-svg-no-pseudo) {
  transform: rotate(180deg)
}

.fancy-box {
  border-radius: var(--global-radius);
  border: 1px solid var(--color-neutral-dark);
  background-color: rgba(0, 0, 0, .2);
  -webkit-backdrop-filter: blur(15px);
  backdrop-filter: blur(15px);
  padding-block: 2.8125rem;
  padding-inline: 2.8125rem
}

.fancy-box.fancy-box-style-darker {
  color: var(--color-light);
  background-color: var(--color-dark-alt);
  background-image: linear-gradient(to bottom, var(--color-accent-gradient-start) 0%, var(--color-neutral-darkest) 52.75%, var(--color-accent-gradient-start) 100%)
}

.fancy-box.fancy-box-style-lighter {
  background-image: none;
  background-color: var(--color-light);
  color: var(--color-dark);
  border-color: rgba(0, 0, 0, 0);
  box-shadow: 0 4px 8px 0 rgba(0, 0, 0, .13)
}

.fancy-box.fancy-box-style-lightish {
  background-image: none;
  background-color: var(--color-light-alt);
  color: var(--color-dark);
  border-color: rgba(0, 0, 0, 0)
}

.field-form {
  max-width: 100%
}

.field-form:where(.section-blocks) {
  gap: 3rem
}

.field-form:where(.section-blocks) :where(.gform_wrapper, .gform_body, .gform_heading, form) {
  display: contents
}

.field-form :where(.gform_wrapper) :is(.gform_title, .gform_description, .gform_footer, .gform_page_footer, .gform_body) {
  margin: 0;
  padding: 0
}

.field-form :where(.gform_wrapper) .gform_heading {
  text-align: center;
  max-width: -webkit-max-content;
  max-width: -moz-max-content;
  max-width: max-content
}

.field-form :where(.gform_wrapper) .gform_heading:where(:not(.section-blocks *)) {
  margin-bottom: 2rem
}

.field-form :where(.gform_wrapper) .gform_heading:where(.section-blocks) {
  gap: .25rem
}

.field-form :where(.gform_wrapper) :where(.gform_heading, .gform_title, .gform_description) {
  margin-left: auto;
  margin-right: auto
}

.field-form :is(.gform_wrapper) :is(.gform_title, .gform_description):last-child {
  margin-bottom: 0
}

.field-form :is(.gform_wrapper) :is(.gform_footer, .gform_page_footer) {
  padding: 0;
  margin: 0
}

.field-form :is(.gform_wrapper) :is(.gform_footer, .gform_page_footer):where(:not(.section-blocks *)) {
  margin-top: 2rem
}

.field-form :is(.gform_wrapper) :is(.gform_footer, .gform_page_footer) :is(.gform_button, .button) {
  margin-bottom: 0;
  margin-top: 0
}

.field-form :is(.gform_wrapper) :is(.gform_footer, .gform_page_footer):not(:has(.gform_button)) {
  display: none
}

.field-form-body :is(.gform_wrapper) .gform_heading {
  display: none
}

.responsive-background {
  pointer-events: none;
  overflow: hidden;
  transform-style: preserve-3d;
  z-index: -1;
  background-color: var(--responsive-background-bg-color, var(--scheme-bg, var(--color-dark-alt)))
}

.responsive-background::after {
  content: "";
  display: block;
  inset: 0;
  position: absolute;
  pointer-events: none;
  mix-blend-mode: var(--responsive-background-overlay-mix-blend, none);
  background: var(--responsive-background-overlay-background, normal);
  opacity: var(--responsive-background-overlay-opacity, 0.75)
}

.responsive-background-wrapper {
  position: relative;
  z-index: 0
}

.responsive-background,
.responsive-background-bg {
  position: absolute !important;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0
}

.responsive-background-bg {
  background-size: cover;
  background-position: var(--responsive-background-bg-position);
  background-color: inherit;
  z-index: -2;
  background-image: var(--responsive-background-image, none) !important
}

.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: 75rem) {
  :is(.responsive-background-animated-on-loaded, .responsive-background-animated-on-visible.visible) .responsive-background-bg {
    transition: opacity ease-in-out 1s, transform ease-in-out 1s;
    opacity: 1;
    transform: scale(1);
    transform-style: preserve-3d
  }

  :is(html:not(.doc-images-loaded) .responsive-background-animated-on-loaded, .responsive-background-animated-on-visible:not(.visible)) .responsive-background-bg {
    opacity: 0;
    transform: scale(1.1)
  }
}

:where(.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
}

.carousel-item {
  text-align: center
}

.carousel-item-image {
  height: var(--carousel-height)
}

.carousel-item-image>:where(*) {
  pointer-events: none
}

.carousel-item-image,
.carousel-item-image picture {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column
}

.carousel-item-image :where(svg, object, img) {
  height: auto !important
}

.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
}

:where(.swiper, .slick) {
  --carousel-height: 2.625rem
}

.result-icon {
  font-size: 3rem;
  margin-bottom: 1.5625rem
}

:where(.content-palette-dark) .result-icon {
  color: var(--scheme-sp, inherit)
}

.result-details-popup .result-icon {
  font-size: 6.25rem
}

.result-value {
  font-size: 2.8125rem;
  line-height: .75;
  text-transform: uppercase;
  font-weight: 400;
  margin-bottom: .1em
}

:where(.content-palette-dark) .result-value {
  color: var(--scheme-sp, inherit)
}

.result-value-confidential {
  font-size: .6em
}

.result-value-number-long {
  font-size: .75em
}

@media only screen and (min-width: 120rem) {
  .result-value {
    font-size: 3.75rem
  }
}

:where(.content-palette-dark) .result-type {
  color: var(--scheme-sp, inherit)
}

:where(.content-palette-dark) .result-title {
  color: var(--scheme-sp, inherit)
}

@media only screen and (min-width: 120rem) {
  .result-title {
    font-size: 1.125rem
  }

  .result-title:is(.h6) {
    font-size: 1rem
  }
}

.result-description {
  text-align: initial
}

:where(.content-palette-dark) .result-description {
  color: var(--scheme-sp, inherit)
}

.result-details-default .result-description {
  flex: 1 1
}

:where(.content-palette-dark) .result-content {
  color: var(--scheme-sp, inherit)
}

.result-details-default .result-content {
  max-width: 50ch
}

.result-details-popup .result-content {
  margin-top: 1.875rem;
  text-align: initial
}

.result-learn-more {
  font-size: 1rem
}

:where(.content-palette-dark) .result-learn-more {
  color: var(--scheme-sp, inherit)
}

@media only screen and (min-width: 120rem) {
  .result-details-default .result-learn-more:first-child {
    margin-top: auto
  }
}

.result {
  max-width: 100%
}

.result,
.result-container {
  display: flex;
  min-width: 0;
  flex-direction: column
}

.result-container {
  width: 100%;
  flex: 1 1;
  gap: .625rem;
  align-items: center
}

.result:is(.fancy-box) {
  min-height: 20.5rem;
  padding-block: 3.5rem
}

.result :where(.result-description, .result-content) {
  margin-left: auto;
  margin-right: auto
}

.result-summary {
  text-align: center;
  display: contents
}

.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
}

.result:has(.result-details-hover) {
  position: relative
}

.result-pointer-reference:not(:is(:hover, :focus-within)) .result-details-hover {
  pointer-events: none;
  opacity: 0
}

.result-details-hover {
  max-width: none;
  position: absolute;
  background-color: var(--color-dark-alt);
  background-image: linear-gradient(to top, var(--color-primary-gradient-start) 0%, var(--color-primary-gradient-end) 100%);
  color: var(--color-light);
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: 0;
  scrollbar-width: none;
  overflow-y: auto;
  overflow-x: clip;
  transition: .25s all ease-in-out;
  border-radius: var(--global-radius);
  padding-inline: 2.875rem;
  opacity: 1;
  scrollbar-width: thin;
  display: flex;
  flex-direction: column;
  scrollbar-color: currentColor rgba(0, 0, 0, 0)
}

.result-details-hover::-webkit-scrollbar-track {
  background-image: linear-gradient(to top, var(--color-primary-gradient-start) 0%, var(--color-primary-gradient-end) 100%)
}

.result-details-hover::before,
.result-details-hover::after {
  margin-inline: -2.875rem;
  inset-inline: -2.875rem;
  width: auto;
  max-width: none;
  height: 2.875rem;
  position: -webkit-sticky;
  position: sticky;
  content: "";
  display: block;
  pointer-events: none;
  flex: 0 0 auto
}

.result-details-hover::before {
  top: 0;
  background: linear-gradient(to bottom, var(--color-primary-gradient-end) 50%, transparent 100%)
}

.result-details-hover::after {
  bottom: 0;
  margin-top: auto;
  background: linear-gradient(to top, var(--color-primary-gradient-start) 50%, transparent 100%)
}

.result-details-popup {
  flex-direction: column;
  display: flex;
  gap: 1rem
}

@media only screen and (min-width: 120rem) {
  .result:is(.fancy-box) {
    min-height: 26.25rem
  }

  .result:is(.fancy-box) .result-container {
    gap: 1.25rem
  }

  .result-container {
    gap: 1rem
  }
}

.practice-area-title {
  padding-inline: var(--pa-title-padding-x)
}

.practice-area-title:is(.fancy-border) -after:after {
  --fancy-border-margin-l: calc(var(--pa-title-padding-x) * -1);
  --fancy-border-margin-r: calc(var(--pa-title-padding-x) * -1)
}

.practice-area-menu li,
.practice-area-menu li a {
  display: flex;
  flex-direction: column;
  line-height: var(--pa-item-line-height)
}

.practice-area-menu li a {
  justify-content: center;
  flex: 1 1;
  padding-block: calc(var(--pa-item-padding-y, calc((var(--pa-item-height, 3em) - var(--pa-item-border-width, 1px) * 2 - 1em * var(--pa-item-lines, 2) * var(--pa-item-line-height, 1.25)) * 0.5)) - var(--pa-item-border-width, 1px)*.5);
  padding-inline: var(--pa-item-padding-x);
  min-height: var(--pa-item-height)
}

@media only screen and (max-width: 47.9375rem) {
  .practice-area-menu li a {
    min-height: 0
  }
}

.practice-area {
  --pa-item-padding-x: 0rem;
  --pa-item-height: 3.5rem;
  --pa-item-lines: 1;
  --pa-item-baseline-offset: 0.5;
  --pa-item-line-height: 1.5;
  --pa-title-padding-x: var(--pa-item-padding-x)
}

@media only screen and (min-width: 48rem) {
  .practice-area {
    min-width: 100%
  }
}

.practice-area-title {
  font-size: 1.25rem;
  margin-bottom: 4.25rem
}

.practice-area-menu {
  font-size: 1.125rem
}

.practice-area-menu li {
  border-bottom: 2px solid rgba(0, 0, 0, .3)
}

.practice-area-menu li:is(:hover, :focus-within) a {
  color: var(--color-primary)
}

.practice-area {
  max-width: 100%
}

.practice-area,
.practice-area-container {
  display: flex;
  min-width: 0;
  flex-direction: column
}

.practice-area-container {
  width: 100%;
  flex: 1 1
}

.pagination {
  display: grid;
  grid-template-columns: 1fr -webkit-max-content 1fr;
  grid-template-columns: 1fr max-content 1fr;
  align-items: center;
  text-align: center;
  clear: both;
  margin-left: auto;
  margin-right: auto;
  font-weight: 700
}

.pagination-block {
  grid-row: 1
}

.pagination-block-left {
  grid-column: 1;
  text-align: left
}

.pagination-block-center {
  grid-column: 2
}

.pagination-block-right {
  grid-column: 3;
  text-align: right
}

.pagination-num-list.pagination-block-left span:first-child,
.pagination-num-list.pagination-block-left a:first-child {
  margin-left: 0
}

.pagination-num-list.pagination-block-right span:last-child,
.pagination-num-list.pagination-block-right a:last-child {
  margin-left: 0
}

@media only screen and (max-width: 74.9375rem) {

  .pagination-nav-link:is(.pagination-block-left, .pagination-block-right):nth-child(2),
  .pagination-nav-link:is(.pagination-block-left, .pagination-block-right):nth-last-child(2) {
    grid-column: 1/-1
  }

  .pagination-nav-link:is(.pagination-block-left, .pagination-block-right):nth-child(2) span:nth-last-child(n+2),
  .pagination-nav-link:is(.pagination-block-left, .pagination-block-right):nth-child(2) a:nth-last-child(n+2),
  .pagination-nav-link:is(.pagination-block-left, .pagination-block-right):nth-last-child(2) span:nth-last-child(n+2),
  .pagination-nav-link:is(.pagination-block-left, .pagination-block-right):nth-last-child(2) a:nth-last-child(n+2) {
    margin-right: .5em
  }
}

.pagination {
  border-top: 1px solid var(--color-neutral-light);
  padding-top: 2rem;
  margin-top: 3rem;
  margin-bottom: 0;
  max-width: 100%;
  grid-column: 1/-1;
  width: calc(var(--comp) - var(--container-gutter, 30px))
}

.pagination-num-list a,
.pagination-num-list span {
  margin-inline: .5em
}

.pagination-num-list .current,
.pagination-num-list a:is(:hover, :focus) {
  color: var(--color-primary)
}

.pagination-nav-link :where(a) {
  display: inline-flex;
  align-items: center
}

@media only screen and (min-width: 75rem) {
  .pagination {
    order: 999
  }
}

.profile-image {
  --cover-aspect-w: var(--profile-image-aspect-w);
  --cover-aspect-l: var(--profile-image-aspect-l);
  flex: 0 0 auto;
  position: relative;
  display: block;
  overflow: clip
}

.profile-image::before {
  content: "";
  display: block;
  position: absolute;
  inset: 0;
  background: var(--profile-image-overlay-background);
  z-index: 1;
  opacity: 0;
  pointer-events: none
}

.profile-image-placeholder {
  display: flex
}

.profile-image-placeholder img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover
}

:is(.profile-image-img, .profile-image-placeholder, .profile-image-placeholder-img) {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0
}

:is(.profile-image-img, .profile-image-placeholder-img) {
  max-width: none;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: var(--profile-image-position);
  object-position: var(--profile-image-position)
}

.profile-image[href]::before,
.profile-image[href] .profile-view {
  pointer-events: none
}

.profile-image[href]::before {
  opacity: var(--profile-image-overlay-opacity);
  mix-blend-mode: var(--profile-image-overlay-mix-blend);
  -webkit-backdrop-filter: var(--profile-image-overlay-backdrop-filter);
  backdrop-filter: var(--profile-image-overlay-backdrop-filter);
  pointer-events: auto
}

.profile-image[href] .profile-view {
  opacity: 0
}

.profile-image[href]:is(:hover, :focus-within)::before,
.profile-image[href]:is(:hover, :focus-within) .profile-view,
.profile-pointer-reference:is(:hover, :focus, :focus-within) .profile-image[href]::before,
.profile-pointer-reference:is(:hover, :focus, :focus-within) .profile-image[href] .profile-view {
  pointer-events: auto
}

.profile-image[href]:is(:hover, :focus-within) .profile-view,
.profile-pointer-reference:is(:hover, :focus, :focus-within) .profile-image[href] .profile-view {
  opacity: 1
}

.profile-image[href] .profile-view {
  z-index: 2;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  max-width: -webkit-max-content;
  max-width: -moz-max-content;
  max-width: max-content;
  max-height: -webkit-min-content;
  max-height: -moz-min-content;
  max-height: min-content
}

.profile-image {
  --profile-image-aspect-w: 21.75;
  --profile-image-aspect-l: 27.4375;
  --profile-image-position: 50% 15%;
  --profile-image-overlay-background: var(--color-primary) linear-gradient(to bottom, var(--color-primary-gradient-start), var(--color-primary-gradient-end));
  --profile-image-overlay-opacity: 0;
  --profile-image-overlay-mix-blend: normal;
  --profile-image-overlay-backdrop-filter: none;
  border-radius: var(--global-radius)
}

.profile-image-markup {
  background-color: var(--color-dark-alt)
}

.profile-image-placeholder {
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 2rem;
  margin: 0;
  background: var(--profile-image-overlay-background, linear-gradient(to bottom right, var(--color-dark), var(--color-dark-alt)));
  font-size: 1.5rem;
  font-family: var(--font-secondary);
  color: var(--color-light);
  text-align: center
}

.profile-image-placeholder-icon {
  font-size: 6rem
}

@media only screen and (min-width: 120rem) {
  .profile-image-placeholder-icon {
    font-size: 8rem
  }
}

.profile-image[href]::before,
.profile-image[href] .profile-view {
  transition: .5s ease-in-out all
}

.profile-image[href]:is(:hover, :focus-within),
.profile-pointer-reference:is(:hover, :focus, :focus-within) .profile-image[href] {
  --profile-image-overlay-opacity: 0.8
}

.profile-image[href]:is(:hover, :focus-within):has(.profile-image-placeholder),
.profile-pointer-reference:is(:hover, :focus, :focus-within) .profile-image[href]:has(.profile-image-placeholder) {
  --profile-image-overlay-opacity: 1
}

.profile-thumbnail {
  flex: 0 0 auto;
  align-self: stretch;
  width: 100%;
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center
}

.profile-details {
  opacity: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  align-content: center;
  flex-direction: column;
  text-align: center;
  pointer-events: none;
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  z-index: 1
}

.profile-details::before {
  content: "";
  color: var(--color-light);
  opacity: .8;
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  z-index: -1
}

.profile-details:is(:hover, :focus-within),
.profile-pointer-reference:is(:hover, :focus, :focus-within) .profile-details {
  opacity: 1;
  pointer-events: auto
}

.profile-details-body {
  flex: 1 1;
  overflow-y: scroll;
  scrollbar-width: none
}

.profile-details-body::-webkit-scrollbar {
  display: none
}

.profile-details {
  padding-block: 2rem;
  padding-inline: 1rem;
  transition: .5s ease-in-out all;
  background: var(--color-dark-alt);
  color: var(--color-light)
}

.profile-details-body+.profile-details-footer {
  padding-top: 2rem;
  align-self: stretch
}

.profile-info-name {
  font-size: 1.625rem;
  font-weight: 300;
  align-content: center
}

@media only screen and (min-width: 120rem) {
  .profile-info-name {
    font-size: 1.75rem
  }
}

.profile-info-position {
  font-size: 1.125rem;
  color: var(--color-primary);
  font-weight: 500;
  margin-top: auto
}

:where(.content-palette-dark) .profile-info-position {
  color: var(--color-primary-alt)
}

.profile {
  align-self: stretch
}

.profile {
  max-width: 100%
}

.profile,
.profile-container {
  display: flex;
  min-width: 0;
  flex-direction: column
}

.profile-container {
  width: 100%;
  flex: 1 1;
  gap: 1rem
}

.profile-info {
  flex: 1 1
}

.profile-info {
  text-align: center;
  display: flex;
  flex-direction: column
}

.profile-image {
  width: 100%
}

@media only screen and (min-width: 87.5rem) {
  .profile-container {
    gap: 1.75rem
  }
}

.testimonial-stars {
  font-size: 2.0625rem
}

@media only screen and (min-width: 120rem) {
  .testimonial-stars {
    font-size: 2.5rem
  }
}

.testimonial-highlight {
  font-size: 1.25rem;
  line-height: calc(1em + 12px);
  font-family: var(--font-secondary);
  color: inherit;
  text-align: inherit;
  max-width: none;
  margin-inline: 0
}

.testimonial-mini .testimonial-highlight {
  line-height: calc(1em + 10px)
}

@media only screen and (min-width: 48rem) {
  .testimonial-highlight {
    font-size: 1.5rem
  }
}

.testimonial-divider {
  --fancy-border-margin-y: 0em
}

.testimonial-source {
  font-size: .875rem;
  color: var(--color-primary);
  font-weight: 500
}

:where(.content-palette-dark) .testimonial-source {
  color: var(--color-primary-alt)
}

.testimonial-mini .testimonial-source {
  color: var(--color-secondary);
  font-weight: 700
}

:where(.content-palette-dark) .testimonial-mini .testimonial-source {
  color: var(--color-secondary-alt)
}

.testimonial-source span:nth-last-child(n+2)::after {
  content: "|";
  color: var(--color-dark);
  margin-inline: .25em
}

:where(.content-palette-dark) .testimonial-source span:nth-last-child(n+2)::after {
  color: var(--color-light)
}

.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: 1.125rem;
  font-family: var(--font-accent);
  color: var(--color-light);
  text-transform: uppercase
}

@media only screen and (min-width: 120rem) {
  .testimonial-source {
    font-size: 1.125rem
  }

  .testimonial-mini .testimonial-source {
    font-size: 1
  }
}

.testimonial-source-icon {
  font-size: 1.25em
}

.testimonial {
  max-width: 100%
}

.testimonial,
.testimonial-container {
  display: flex;
  min-width: 0;
  flex-direction: column
}

.testimonial-container {
  width: 100%;
  flex: 1 1;
  gap: 1.875rem
}

.testimonial-mini .testimonial-container {
  gap: .6875rem
}

.testimonial:is(.fancy-box) {
  padding-block: 2.5rem;
  padding-inline: 1.5rem
}

.testimonial .testimonial-learn-more {
  align-self: flex-end
}

@media only screen and (min-width: 48rem) {
  .testimonial:is(.fancy-box) {
    padding-block: 3.4375rem;
    padding-inline: 4.5rem
  }
}

@media only screen and (min-width: 120rem) {
  .testimonial-mini .testimonial-container {
    gap: 1.0625rem
  }
}

@media only screen and (max-width: 47.9375rem) {

  .testimonial .testimonial-stars,
  .testimonial .testimonial-learn-more,
  .testimonial .testimonial-source {
    align-self: center
  }
}

@keyframes video-button-default-text-rotate {
  from {
    transform: rotate(0deg)
  }

  to {
    transform: rotate(360deg)
  }
}

.video-button-default {
  display: inline-flex;
  height: var(--video-button-size);
  aspect-ratio: 1/1;
  position: relative;
  font-size: var(--video-button-size);
  z-index: 0;
  cursor: pointer;
  align-items: center;
  justify-content: center
}

.video-button-default:is(.video-button-no-api) {
  pointer-events: none
}

.video-thumbnail .video-button-default {
  position: absolute;
  z-index: 1;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto
}

.video-button-default-image,
.video-button-default-text,
.video-button-default-text-svg,
.video-button-default-text span,
.video-button-default::before,
.video-button-default::after {
  position: absolute;
  margin: auto;
  pointer-events: none
}

.video-button-default-text,
.video-button-default-image {
  top: 0;
  bottom: 0;
  left: 0;
  right: 0
}

.video-button-default.video-button-default-no-icon::before,
.video-button-default.video-button-default-no-icon::after {
  content: "";
  display: block
}

.video-button-default>.wistia_click_to_play {
  position: static !important;
  width: auto !important;
  height: auto !important
}

.video-button-default-glyph {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%
}

.video-button-default-glyph::before {
  content: "";
  display: block;
  width: var(--video-button-glyph-width);
  height: var(--video-button-glyph-height);
  background: var(--video-button-glyph-color, currentColor);
  -webkit-clip-path: polygon(0 0, 100% 50%, 0 100%);
  clip-path: polygon(0 0, 100% 50%, 0 100%)
}

.video-button-default-glyph:not(.video-button-default-glyph-has-text) {
  padding-left: calc(var(--video-button-glyph-width)*.25)
}

.video-button-default-glyph-has-text::before {
  content: none
}

.video-button-default-text {
  font-size: var(--video-button-glyph-height)
}

.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))
}

.video-button-default-text-svg-path {
  transform-origin: center center
}

.video-button-default-text-html span {
  top: 0;
  bottom: 0;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  height: -webkit-max-content;
  height: -moz-max-content;
  height: max-content
}

.video-button-default-text-html span:not(.video-button-default-text-html-separator):first-child {
  right: 100%;
  margin-right: 1em
}

.video-button-default-text-html span:not(.video-button-default-text-html-separator):last-child {
  left: 100%;
  margin-left: 1em
}

.video-button-default-image-init:not(:only-child),
.video-button-default:is(:hover, :focus) .video-button-default-image-hover,
.video-pointer-reference:is(:hover, :focus, :focus-within) .video-button-default-image-hover {
  opacity: 1
}

.video-button-default-image-hover,
.video-button-default:is(:hover, :focus) .video-button-default-image-init:not(:only-child),
.video-pointer-reference:is(:hover, :focus, :focus-within) .video-button-default-image-init:not(:only-child) {
  opacity: 0
}

.video-button-default {
  --video-button-size: 4rem;
  --video-button-text-svg-radius-ratio: 1.375;
  --video-button-text-svg-start-offset: 50%;
  --video-button-glyph-height: 30%;
  --video-button-glyph-width: 27%;
  color: var(--color-primary)
}

.video-button-default,
.video-button-default-image,
.video-button-default-text,
.video-button-default::before,
.video-button-default::after,
.video-button-default-thumbnail-markup::after {
  transition-duration: .5s;
  transition-timing-function: ease-in-out
}

.video-button-default,
.video-button-default-image,
.video-button-default-text,
.video-button-default-thumbnail-markup::after {
  transition-property: opacity, left, top, bottom, right, width, height
}

.video-button-default::before,
.video-button-default::after {
  transition-property: all
}

.video-thumbnail .video-button-default {
  --video-button-size: max(35%, 3rem)
}

.video-thumbnail .video-button-default:is(:hover, :focus),
.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: 48rem) {
  .video-button-default {
    --video-button-size: 5.4375rem
  }
}

@media only screen and (min-width: 87.5rem) {
  .video-button-default {
    --video-button-size: 6.125rem
  }
}

@media only screen and (min-width: 120rem) {
  .video-button-default {
    --video-button-size: 7.75rem
  }
}

.video-button-default-glyph::before {
  -webkit-clip-path: polygon(0 0, 100% 50%, 0 100%);
  clip-path: polygon(0 0, 100% 50%, 0 100%)
}

.video-button-default-text {
  font-size: .875rem;
  line-height: 1;
  font-family: var(--font-primary);
  color: var(--scheme-sp, var(--color-secondary));
  letter-spacing: .22em;
  text-transform: uppercase;
  font-style: normal;
  font-weight: 900
}

:where(.content-palette-dark) .video-button-default-text {
  color: var(--scheme-sp, var(--color-secondary-alt))
}

.video-button-default-text-separator {
  color: var(--color-light);
  font-weight: 100
}

.video-button-default-text-svg {
  color: inherit;
  animation-name: video-button-default-text-rotate;
  animation-duration: 14s;
  animation-iteration-count: infinite;
  animation-fill-mode: both;
  animation-timing-function: linear;
  animation-direction: normal
}

.video-button-default-text-html>span {
  top: 0;
  bottom: 0
}

.video-button-default.video-button-default-no-icon,
.video-button-default.video-button-default-no-icon.video-button-default-reverse:is(:hover, :focus) {
  background: var(--color-light);
  --video-button-glyph-color: var(--color-primary)
}

.video-button-default.video-button-default-no-icon {
  box-shadow: 0 0 5px 2px rgba(0, 0, 0, .2);
  border: 1px solid rgba(0, 0, 0, 0)
}

.video-button-default.video-button-default-no-icon,
.video-button-default.video-button-default-no-icon::before,
.video-button-default.video-button-default-no-icon::after {
  border-radius: 999em;
  transform: scale(1)
}

.video-button-default.video-button-default-no-icon.video-button-default-reverse:not(:is(:hover, :focus)),
.video-button-default.video-button-default-no-icon:is(:hover, :focus),
.video-pointer-reference:is(:hover, :focus, :focus-within) .video-button-default.video-button-default-no-icon {
  background: linear-gradient(to bottom, var(--color-primary-gradient-start), var(--color-primary-gradient-end));
  --video-button-glyph-color: var(--color-light);
  border-color: var(--color-primary-alt)
}

.video-pointer-reference {
  cursor: pointer
}

.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-dark-alt)
}

.video-thumbnail-markup {
  border-radius: inherit;
  overflow: hidden
}

.video-thumbnail-markup[href]::after,
.video-thumbnail-markup.wistia_embed::after {
  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)
}

.video-thumbnail-markup-img img {
  max-width: none
}

: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 {
  --video-thumbnail-aspect-w: 15.846;
  --video-thumbnail-aspect-l: 9.25;
  --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;
  border-radius: calc(var(--global-radius)*.5)
}

.video-thumbnail:is(:hover, :focus),
.video-pointer-reference:is(:hover, :focus, :focus-within) .video-thumbnail {
  --video-thumbnail-overlay-opacity: 0.5
}

.video-thumbnail-markup[href]::after,
.video-thumbnail-markup.wistia_embed::after {
  transition: .25s ease-in-out all
}

.video {
  max-width: 100%
}

.video,
.video-container {
  display: flex;
  min-width: 0;
  flex-direction: column
}

.video-container {
  width: 100%;
  flex: 1 1;
  gap: .875rem
}

.video-title {
  display: flex;
  flex-direction: column;
  justify-content: center;
  line-height: 1.25;
  font-style: 500;
  margin-block: 0
}

:where(.content-palette-dark) .video-title {
  color: var(--color-secondary-alt)
}

@media only screen and (max-width: 47.9375rem) {
  .video-title {
    text-align: vcenter
  }
}

.review-us {
  text-align: center
}

.review-us-columns {
  --columns-gap-x: 4em;
  --columns-gap-y: 2em;
  align-items: flex-end;
  justify-content: center
}

.review-us-columns .button {
  margin-top: 1em
}

.review-us,
.review-us-video {
  margin-top: 3em
}

@media only screen and (min-width: 48rem) {
  .review-us-columns {
    --columns-number: 2
  }

  .review-us-columns .button {
    width: 100%
  }
}

.awards-title:not(.awards-container:is(.section-blocks) *) {
  margin-bottom: 1.25rem
}

.awards {
  justify-self: stretch
}

.awards:where(.section-blocks :has(.awards-container:is(.container))) {
  margin-inline: calc(var(--container-gutter, 0px)*-1)
}

.awards-container:where(.section-blocks) {
  gap: 1rem
}

.awards :is(.swiper) {
  --carousel-height: 5.4375rem;
  --swiper-custom-arrow-offset-x: 0rem
}

@media only screen and (min-width: 48rem) {
  .awards-title:not(.awards-container:is(.section-blocks) *) {
    margin-bottom: 2.5rem
  }
}

@media only screen and (min-width: 87.5rem) {
  .awards :is(.swiper) {
    --carousel-height: 6.3875rem
  }
}

@media only screen and (min-width: 120rem) {
  .awards-title {
    margin-bottom: 3rem
  }

  .awards :is(.swiper) {
    --carousel-height: 7.125rem
  }
}

@media only screen and (max-width: 47.9375rem) {
  .awards-title {
    justify-content: center;
    text-align: center
  }

  .awards-title:is(.fancy-border-before)::before,
  .awards-title:is(.fancy-border-after)::after {
    display: none
  }
}

.bar {
  background-color: var(--color-dark-alt);
  background-image: var(--global-accent-gradient);
  border-radius: var(--global-radius);
  padding-block: 1.875rem
}

.bar-container {
  --container-gutter: 2.25rem
}

.bar-blocks {
  gap: .875rem 1.25rem;
  align-items: center;
  align-content: center;
  justify-content: space-between;
  justify-items: space-between
}

.bar-block,
.bar-blocks {
  min-height: -webkit-min-content;
  min-height: -moz-min-content;
  min-height: min-content
}

.bar-heading {
  font-size: 1.5rem;
  font-weight: 500
}

@media only screen and (min-width: 48rem) {
  .bar {
    padding-block: 1.375rem
  }
}

@media only screen and (min-width: 75rem) {
  .bar {
    padding-block: .75rem
  }

  .bar-blocks {
    grid-template-columns: auto 1fr auto
  }

  .bar-body:first-child {
    grid-column: span 2
  }

  .bar-heading {
    font-size: 1.625rem
  }
}

@media only screen and (min-width: 120rem) {
  .bar {
    margin-top: 1rem
  }
}

@media only screen and (max-width: 74.9375rem) {
  .bar {
    text-align: center
  }
}

:root {
  --layout-header-height: 5.625rem;
  --layout-header-offset: 0rem;
  --layout-header-logo-height: var(--layout-header-height)
}

@media only screen and (max-width: 74.9375rem) {
  :root {
    --layout-header-height: 4.25rem
  }
}

@media only screen and (max-width: 47.9375rem) {
  :root {
    --layout-header-height: 8rem;
    --layout-header-logo-height: 4.25rem
  }
}

@media only screen and (min-width: 75rem) {
  .doc-header-not-sticky .header-can-overlap {
    --layout-header-offset: .5rem
  }
}

@media only screen and (min-width: 87.5rem) {
  .doc-header-not-sticky .header-can-overlap {
    --layout-header-offset: .375rem
  }
}

@media only screen and (min-width: 120rem) {
  .doc-header-not-sticky .header-can-overlap {
    --layout-header-offset: 1.25rem
  }
}

@media only screen and (max-width: 74.9375rem) {
  :not(.doc-header-menu-open).doc-header-not-sticky .header-can-overlap {
    --layout-header-offset: .625rem
  }
}

html,
body {
  scroll-padding: calc(var(--layout-header-height) + var(--layout-header-offset, 0px)) !important
}

@media only screen and (min-width: 48rem) {
  .header-can-overlap .has-layout-header-offset:not(:has(.has-layout-header-offset)):first-child:is(:is(.template-wrapper>:first-child), :is(.template-wrapper>:first-child) *)::before {
    content: "";
    flex: 0 0 auto;
    grid-column: 1/-1;
    height: var(--layout-header-height);
    display: block;
    width: 100%
  }

  .header-can-overlap:has(.has-layout-header-offset) .layout-header {
    position: fixed
  }
}

.layout-header {
  position: -webkit-sticky;
  position: sticky;
  top: var(--layout-header-offset, 0px);
  left: 0;
  z-index: 999;
  width: 100%;
  background-color: var(--scheme-bg, var(--color-dark-alt));
  color: var(--scheme-fg, var(--color-light));
  transition: .25s top ease-in-out;
  box-shadow: 0 0 10px -5px rgba(0, 0, 0, .8)
}

.layout-header-container {
  --container-gutter: 1.8rem
}

@media only screen and (min-width: 87.5rem) {
  .layout-header-container {
    --container-gutter: 3rem
  }
}

@media only screen and (min-width: 120rem) {
  .layout-header-container {
    --container-gutter: 3.6875rem
  }
}

@media only screen and (max-width: 74.9375rem) {
  .layout-header-container {
    --container-gutter: 2rem
  }
}

@media only screen and (max-width: 47.9375rem) {
  .layout-header {
    background-color: var(--scheme-bg-contrast, var(--color-dark))
  }

  .layout-header-container {
    --container-gutter: 1rem
  }
}

@media only screen and (min-width: 48rem) {
  .doc-header-not-sticky .header-can-overlap .layout-header {
    background: rgba(0, 0, 0, 0);
    box-shadow: none
  }
}

@media only screen and (max-width: 47.9375rem) {
  .doc-header-not-sticky .layout-header {
    --layout-header-offset: 0
  }
}

:where(.header-block, .header-blocks) {
  min-width: 0
}

.header-blocks {
  justify-content: center;
  align-items: center;
  -moz-column-gap: var(--container-gutter);
  column-gap: var(--container-gutter);
  row-gap: 0rem;
  width: auto;
  min-height: var(--layout-header-height)
}

.header-block:is(.header-logo) {
  grid-area: logo;
  justify-self: self-start;
  height: var(--layout-header-logo-height)
}

.header-block:is(.header-nav) {
  grid-area: nav
}

.header-block:is(.header-cta) {
  grid-area: cta
}

.header-block:is(.header-toggle-menu) {
  grid-area: toggle-menu;
  align-self: stretch
}

@media only screen and (min-width: 75rem) {
  .header-blocks {
    grid-template-columns: auto 1fr auto;
    grid-template-areas: "logo nav cta"
  }

  .header-block:is(.header-logo) {
    margin-bottom: min(0px, (var(--layout-header-logo-height) - var(--layout-header-height))*-1)
  }

  .header-block:is(.header-nav) {
    justify-self: center;
    align-self: stretch
  }
}

@media only screen and (min-width: 75rem)and (max-width: 119.9375rem) {
  .header-blocks {
    grid-template-columns: auto 1fr;
    grid-template-rows: 1fr -webkit-max-content;
    grid-template-rows: 1fr max-content;
    grid-template-areas: "logo cta" "logo nav"
  }

  .header-block:is(.header-logo) {
    align-self: center
  }

  .header-block:is(.header-nav) {
    justify-self: self-end;
    align-self: stretch
  }

  .header-block:is(.header-cta) {
    justify-self: self-end;
    align-self: self-end;
    margin-bottom: -0.5rem
  }
}

@media only screen and (max-width: 74.9375rem) {
  .header-blocks {
    grid-template-columns: auto 1fr auto;
    grid-template-areas: "logo cta toggle-menu"
  }

  .header-block:is(.header-cta) {
    justify-self: self-end
  }
}

@media only screen and (max-width: 47.9375rem) {
  .header-blocks {
    margin-inline: calc(var(--container-gutter, 0px)*-1);
    grid-template-columns: 1fr auto;
    grid-template-rows: auto 1fr;
    grid-template-areas: "logo logo" "cta toggle-menu";
    -moz-column-gap: 0;
    column-gap: 0
  }

  .header-block:is(.header-logo) {
    justify-self: stretch
  }

  .header-block:is(.header-cta) {
    justify-self: stretch;
    align-self: stretch
  }
}

@media only screen and (min-width: 75rem)and (max-width: 119.9375rem) {
  .doc-header-not-sticky .header-can-overlap .header-block:is(.header-nav) {
    align-self: stretch
  }
}

.header-logo {
  padding-block: 1.19rem;
  flex: 0 0 auto;
  position: relative
}

.header-logo .logo-wrapper-br,
.header-logo .logo-wrapper-before-sticky {
  display: none
}

@media only screen and (min-width: 75rem) {
  .header-logo {
    padding-block: 1.5rem
  }
}

@media only screen and (min-width: 120rem) {
  .header-logo {
    padding-block: 1.125rem
  }
}

@media only screen and (max-width: 74.9375rem) {
  .header-logo {
    padding-block: 1rem
  }
}

@media only screen and (max-width: 47.9375rem) {
  .header-logo {
    padding-block: .9rem;
    padding-inline: var(--container-gutter, 1rem);
    max-width: 100%;
    width: 100%;
    background-color: var(--color-light)
  }

  .header-logo .logo-wrapper-br {
    display: block
  }

  .header-logo .logo-wrapper-br~.logo-wrapper-nonbr {
    display: none
  }
}

@media only screen and (min-width: 75rem) {
  .doc-header-not-sticky .header-can-overlap .header-logo {
    background-color: rgba(0, 0, 0, 0)
  }

  .doc-header-not-sticky .header-can-overlap .header-logo .logo-wrapper-sticky,
  .doc-header-not-sticky .header-can-overlap .header-logo .logo-wrapper-before-sticky~.logo-wrapper-br {
    display: none
  }

  .doc-header-not-sticky .header-can-overlap .header-logo .logo-wrapper-before-sticky {
    display: block
  }
}

.header-toggle {
  width: auto;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  flex: 0 0 auto;
  padding: 0
}

@media only screen and (max-width: 47.9375rem) {
  .header-toggle {
    width: 5rem
  }
}

.header-toggle-menu {
  --layout-header-menu-toggle-open-offset: 0rem;
  background: none;
  color: inherit;
  position: relative;
  z-index: 99999;
  top: 0;
  transition: .375s all ease-in-out;
  order: 99
}

.header-toggle-menu.open {
  top: var(--layout-header-menu-toggle-open-offset)
}

.header-toggle-menu-icon {
  --fancy-icon-menu-width: 2.3125rem;
  --fancy-icon-menu-height: 1.4375rem;
  --fancy-icon-menu-bar-height: 3px
}

.header-toggle-menu.open .header-toggle-menu-icon {
  color: inherit
}

.header-toggle-menu-label {
  font-size: .75rem;
  font-family: var(--font-accent);
  text-transform: uppercase;
  font-style: normal;
  font-weight: 700;
  text-align: center;
  margin-top: .5em;
  transition: .375s all ease-in-out
}

.header-toggle-menu.open .header-toggle-menu-label {
  margin-top: -1em;
  opacity: 0
}

.header-toggle-menu.open .header-toggle-menu-label:nth-last-child(2) {
  display: none
}

.header-toggle-menu:not(.open) .header-toggle-menu-label:nth-child(3) {
  display: none
}

@media only screen and (max-width: 47.9375rem) {
  .header-toggle-menu {
    --layout-header-menu-toggle-open-offset: calc(var(--layout-header-logo-height) * -1)
  }
}

.header-cta {
  display: flex;
  justify-content: center;
  flex-direction: column;
  align-items: flex-end;
  text-align: right;
  gap: 1rem
}

@media only screen and (min-width: 75rem) {
  .header-cta {
    flex-direction: column;
    align-items: flex-end;
    gap: .375rem
  }
}

@media only screen and (min-width: 75rem)and (max-width: 119.9375rem) {
  .header-cta {
    flex-direction: row;
    align-items: center;
    padding-inline: 0;
    gap: .5rem
  }
}

@media only screen and (min-width: 120rem) {
  .header-cta {
    margin-bottom: 0
  }
}

@media only screen and (max-width: 74.9375rem) {
  .header-cta {
    gap: .125rem
  }
}

@media only screen and (max-width: 47.9375rem) {
  .header-cta {
    text-align: left;
    align-items: flex-start;
    flex: 1 1;
    padding-inline: var(--container-gutter)
  }
}

.header-cta-text {
  font-size: 1rem;
  line-height: 1.5;
  font-family: var(--font-secondary);
  color: var(--color-secondary-alt);
  letter-spacing: .006em;
  font-weight: 700
}

.header-cta-text>span:nth-child(n+2)::before {
  content: "\25CF\FE0E";
  color: var(--color-primary);
  letter-spacing: 0em;
  margin: 0 .5em
}

@media only screen and (max-width: 74.9375rem) {
  .header-cta-text {
    font-size: .75rem
  }
}

.header-numbers {
  display: inline-flex;
  justify-content: inherit;
  justify-items: inherit;
  gap: 1rem
}

@media only screen and (max-width: 74.9375rem) {
  .header-numbers .number-link {
    font-size: 1.625rem
  }
}

.header-nav {
  --layout-header-menu-touch-offset: 0rem
}

@media only screen and (min-width: 75rem) {
  .header-nav {
    display: flex;
    justify-content: center;
    flex: 1 1
  }
}

@media only screen and (min-width: 75rem)and (max-width: 119.9375rem) {
  .header-nav {
    justify-content: flex-end;
    flex: 0 0 auto
  }
}

@media only screen and (max-width: 74.9375rem) {
  .header-nav {
    --layout-header-menu-touch-offset: 0;
    transition: top .25s ease-in-out, left .5s ease-in-out, opacity .5s ease-in-out;
    width: 100%;
    overflow-x: hidden;
    overflow-y: scroll;
    background: rgba(0, 0, 0, .8);
    display: flex;
    flex-wrap: wrap;
    opacity: 0;
    z-index: 9999;
    scrollbar-width: none;
    position: fixed;
    bottom: 0;
    left: 100%;
    top: var(--layout-header-menu-touch-offset);
    box-shadow: inset 0 5px 10px -5px rgba(0, 0, 0, .8)
  }

  .header-nav::-webkit-scrollbar {
    display: none
  }
}

@media only screen and (max-width: 47.9375rem) {
  .header-nav {
    --layout-header-menu-touch-offset: 0
  }
}

@media only screen and (min-width: 75rem) {
  .doc-header-not-sticky .header-can-overlap .header-nav {
    color: inherit
  }
}

@media only screen and (max-width: 74.9375rem) {
  .doc-header-menu-open .header-nav {
    left: 0%;
    opacity: 1
  }
}

.header-nav .menu {
  --layout-header-menu-touch-menu-padding-x: 7.875rem;
  --layout-header-menu-nontouch-dropdown-padding-x: 2rem;
  --layout-header-menu-nontouch-current-height: 0px;
  font-size: 1rem;
  line-height: 1.125;
  font-family: var(--font-accent);
  color: inherit;
  font-weight: 700
}

.header-nav .menu li {
  display: flex;
  flex-wrap: wrap
}

.header-nav .menu li,
.header-nav .menu li>a {
  position: relative
}

.header-nav .menu li>a {
  padding-block: .4375em;
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
  transition: .125s ease-in-out all;
  gap: .5em;
  flex: 1 0;
  justify-content: flex-start
}

.header-nav .menu li:last-child,
.header-nav .menu li:last-child>a {
  border: none
}

.header-nav .menu li:is(.menu-item-has-children)>a::after {
  display: inline-block;
  align-self: center;
  flex: 0 0 auto;
  content: "";
  font-size: .5rem;
  transform-origin: 67% 67%;
  width: 1em;
  height: 1em;
  border: 2px solid currentColor;
  border-top: 0;
  border-left: 0;
  transform: rotate(45deg)
}

.header-nav .menu ul {
  background-color: var(--color-light);
  color: var(--color-dark);
  font-weight: normal
}

.header-nav .menu ul:is(.menu-item-has-children)>a::after {
  color: inherit
}

@media only screen and (min-width: 75rem) {
  .header-nav .menu {
    gap: 1.5em;
    display: flex;
    justify-content: space-between;
    position: relative
  }

  .header-nav .menu li:is(:hover, :focus, :focus-within)~li>ul,
  .header-nav .menu li:not(:hover, :focus, :focus-within)>ul {
    display: none !important
  }

  .header-nav .menu li {
    position: relative;
    padding-left: var(--layout-header-menu-nontouch-dropdown-padding-x);
    padding-right: var(--layout-header-menu-nontouch-dropdown-padding-x)
  }

  .header-nav .menu li>a {
    flex: 1 1;
    justify-content: space-between
  }

  .header-nav .menu li:is(:hover, :focus, :focus-within)>a {
    color: var(--scheme-sp, var(--color-primary))
  }

  .header-nav .menu li:is(.menu-item-special)>ul {
    width: 40em;
    right: -4em;
    left: auto
  }

  .header-nav .menu li:is(.menu-item-special)>ul li {
    flex-direction: column;
    border-block: 0
  }

  .header-nav .menu li:is(.menu-item-special)>ul li.view-all {
    align-items: flex-end
  }

  .header-nav .menu li:is(.menu-item-special)>ul li ul {
    display: block !important;
    position: static;
    background: none;
    box-shadow: none;
    color: inherit;
    padding: 0;
    width: auto;
    -moz-column-count: 3;
    column-count: 3;
    gap: var(--layout-header-menu-touch-menu-padding-x)
  }

  .header-nav .menu li:is(.menu-item-special)>ul li ul li>a {
    padding-block: .5em
  }

  .header-nav .menu li:is(.menu-item-special)>ul>li {
    margin-bottom: 2rem
  }

  .header-nav .menu ul {
    width: clamp(16.5rem, 19.25vw, 22.5rem);
    padding-block: 1.5rem;
    top: 0;
    left: 100%;
    position: absolute;
    box-shadow: 0 0 10px -5px rgba(0, 0, 0, .8);
    z-index: 1;
    border-radius: calc(var(--global-radius)*.5);
    border-top: var(--layout-header-menu-nontouch-current-height) solid var(--color-accent);
    margin-top: calc(var(--layout-header-menu-nontouch-current-height)*-1)
  }

  .header-nav .menu ul li:is(.menu-item-has-children)>a::after {
    transform-origin: center center;
    transform: rotate(-45deg);
    color: inherit
  }

  .header-nav .menu>li {
    flex-direction: row;
    padding-left: 0;
    padding-right: 0
  }

  .header-nav .menu>li>a {
    padding-block: 1rem;
    padding-inline: 0;
    border: none
  }

  .header-nav .menu>li::before {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    margin: 0 auto;
    transition: .125s ease-in-out width;
    width: 0;
    height: var(--layout-header-menu-nontouch-current-height);
    background: var(--color-accent)
  }

  .header-nav .menu>li:is(:hover, :focus, :focus-within),
  .header-nav .menu>li:is(:hover, :focus, :focus-within)>a {
    border: none;
    background: none;
    color: inherit;
    margin: 0
  }

  .header-nav .menu>li:is(:hover, :focus, :focus-within)>a {
    color: var(--color-primary-alt)
  }

  .header-nav .menu>li:is(.current-menu-item, .current-menu-ancestor, :hover, :focus, :focus-within)::before {
    width: 100%
  }

  .header-nav .menu>li>ul {
    top: 100%;
    left: 0
  }

  .header-nav .menu ul ul ul {
    left: calc(var(--layout-header-menu-nontouch-dropdown-padding-x)*1.5);
    top: 100%;
    transform: none
  }
}

@media only screen and (min-width: 75rem)and (max-width: 119.9375rem) {
  .header-nav .menu>li:nth-last-child(-n+2)>ul {
    left: auto;
    transform: none;
    right: 0
  }

  .header-nav .menu>li:nth-last-child(-n+2)>ul ul {
    right: calc(var(--layout-header-menu-nontouch-dropdown-padding-x)*2);
    left: auto
  }
}

@media only screen and (min-width: 120rem) {
  .header-nav .menu {
    --layout-header-menu-nontouch-dropdown-padding-x: 3.125rem
  }
}

@media only screen and (max-width: 74.9375rem) {
  .header-nav .menu {
    background: var(--global-accent-gradient);
    color: var(--color-light);
    padding-top: 4.625rem;
    padding-bottom: 6rem;
    width: 100%;
    box-shadow: inherit;
    margin-left: auto
  }

  .header-nav .menu li:not(.open)>ul {
    display: none
  }

  .header-nav .menu li {
    padding-left: var(--layout-header-menu-touch-menu-padding-x);
    padding-right: var(--layout-header-menu-touch-menu-padding-x)
  }

  .header-nav .menu li ul {
    margin-left: calc(var(--layout-header-menu-touch-menu-padding-x)*-1);
    margin-right: calc(var(--layout-header-menu-touch-menu-padding-x)*-1)
  }

  .header-nav .menu li>a {
    flex: 1 0 100%;
    justify-content: flex-start
  }

  .header-nav .menu li:is(:hover, :focus, :focus-within, .open)>a {
    color: var(--scheme-sp, var(--color-primary))
  }

  .header-nav .menu li:is(.open) {
    border-bottom: 0
  }

  .header-nav .menu li:is(.open)>a {
    border-bottom: 0
  }

  .header-nav .menu ul {
    background-color: var(--color-light-alt);
    padding-block: .625rem;
    align-self: stretch;
    order: 99;
    flex: 1 0 100%
  }

  .header-nav .menu ul:has(>li:last-child.open),
  .header-nav .menu ul:is(li:last-child.open>ul) {
    margin-bottom: 0 !important
  }

  .header-nav .menu ul:has(>li:last-child.open) {
    padding-bottom: 0 !important
  }

  .header-nav .menu>li>a {
    padding-block: 1em
  }

  .header-nav .menu>li>ul ul {
    background-color: rgba(0, 0, 0, .05)
  }
}

@media only screen and (max-width: 47.9375rem) {
  .header-nav .menu {
    --layout-header-menu-touch-menu-padding-x: 2rem;
    max-width: 100%
  }

  .header-nav .menu li:is(.menu-item-has-children)>a::after {
    margin-right: -1.7ch
  }
}

#header-form {
  grid-area: form
}

#header-form .field-form {
  gap: 2rem
}

#header-form .gform_description {
  max-width: 80ch
}

#header-form .gform_body {
  margin-left: auto;
  margin-right: auto
}

#header-form .gform_footer {
  justify-content: center;
  text-align: center
}

#header-form .gfield.gfield--type-submit {
  align-self: flex-start
}

@media only screen and (max-width: 74.9375rem) {
  #header-form .gform_fields .gfield:not(.gfield-width-full) {
    grid-column: 1/-1
  }
}

:root {
  --layout-banner-offset: 17.125rem
}

@media only screen and (min-width: 48rem) {
  :root {
    --layout-banner-offset: 16.25rem
  }
}

@media only screen and (min-width: 75rem) {
  :root {
    --layout-banner-offset: 18.3125rem
  }
}

@media only screen and (min-width: 120rem) {
  :root {
    --layout-banner-offset: 20.625rem
  }
}

.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: var(--layout-banner-offset, 0px);
  margin-bottom: min(var(--profile-section-1-offset) - var(--overlap-buffer), 0px);
  display: block;
  width: 100%
}

.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
}

.banner-can-overlap:has(.has-layout-banner-offset) .layout-banner-offset-element:is(.layout-banner>:last-child, .layout-banner>:last-child *) {
  margin-bottom: calc((var(--layout-banner-offset, 0px) + var(--overlap-buffer))*-1)
}

.banner-can-overlap:has(.has-layout-banner-offset) .layout-banner:has(.layout-banner-offset-element) {
  padding-bottom: var(--overlap-buffer)
}

@media only screen and (max-width: 47.9375rem) {
  .layout-banner-container {
    --container-gutter: .75rem
  }
}

.banner-background {
  --responsive-background-overlay-mix-blend: multiply;
  --responsive-background-overlay-background: linear-gradient(to bottom, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.5) 100%);
  --responsive-background-overlay-opacity: 1;
  --responsive-background-bg-position: center top
}

@media only screen and (min-width: 87.5rem) {
  .banner-background {
    --responsive-background-overlay-background: linear-gradient(211, rgba(0, 0, 0, 0) 25.26%, rgba(0, 0, 0, 0.64) 80.62%)
  }
}

@media only screen and (min-width: 48rem) {
  .banner-has-background-image:not(.header-can-overlap) .banner-background {
    top: calc(var(--layout-header-height)*-1)
  }
}

.banner-main {
  padding-block: 4.5rem 4rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
  text-align: center
}

.banner-main-blocks {
  justify-items: center;
  justify-content: center;
  align-items: center;
  gap: 4.5rem
}

.banner-main-block,
.banner-main-blocks {
  min-width: 0;
  max-width: 100%
}

@media only screen and (min-width: 48rem) {
  .banner-main {
    padding-block: 5rem 5.5rem
  }

  .banner-main-blocks {
    row-gap: 4.75rem;
    -moz-column-gap: .75rem;
    column-gap: .75rem
  }
}

@media only screen and (min-width: 75rem) {
  .banner-main {
    padding-block: 6.625rem 7.125rem
  }

  .banner-main-blocks {
    row-gap: 6rem
  }
}

@media only screen and (min-width: 87.5rem) {
  .banner-main {
    padding-block: 8.25rem
  }

  .banner-main-blocks {
    row-gap: 7.25rem
  }
}

@media only screen and (min-width: 120rem) {
  .banner-main-blocks {
    -moz-column-gap: 8.75rem;
    column-gap: 8.75rem
  }
}

.banner-has-background-image .banner-main {
  background-color: var(--scheme-bg, var(--color-dark-alt));
  color: var(--scheme-fg, var(--color-light))
}

@media only screen and (min-width: 87.5rem) {
  .banner-has-background-image .banner-main {
    min-height: 28rem
  }
}

.banner-has-background-image.banner-background-can-inherit-theme-opts .banner-main {
  padding-block: 5.5rem 4rem;
  min-height: 23.125rem
}

@media only screen and (min-width: 75rem) {
  .banner-has-background-image.banner-background-can-inherit-theme-opts .banner-main {
    padding-block: 6.125rem 4rem;
    min-height: 23.75em;
    text-align: initial
  }

  .banner-has-background-image.banner-background-can-inherit-theme-opts .banner-main-blocks {
    grid-template-columns: 1fr 1fr;
    align-items: start;
    justify-content: start;
    justify-items: start
  }
}

@media only screen and (min-width: 120rem) {
  .banner-has-background-image.banner-background-can-inherit-theme-opts .banner-main {
    padding-block: 8.75rem 6.5rem;
    min-height: 30.25rem
  }
}

@media only screen and (min-width: 75rem) {
  .banner-has-form .banner-main-blocks {
    grid-template-columns: 1fr 1fr
  }

  .banner-has-form .banner-main-block:not(.banner-form) {
    grid-column: 1
  }

  .banner-has-form .banner-main-block:is(.banner-form) {
    grid-column: 2;
    grid-row: span 2
  }
}

.banner-body,
.banner-body-blocks {
  align-items: inherit;
  justify-content: inherit;
  justify-items: inherit
}

.banner-body-block,
.banner-body-blocks {
  min-width: 0;
  max-width: 100%
}

.banner-body-blocks {
  gap: 1.125rem
}

@media only screen and (min-width: 75rem) {
  .banner-body {
    grid-column: auto
  }
}

.banner-has-background-image.banner-background-can-inherit-theme-opts .banner-body-blocks {
  gap: .625rem
}

@media only screen and (min-width: 48rem) {
  .banner-has-background-image.banner-background-can-inherit-theme-opts .banner-body-blocks {
    gap: 1.25rem
  }
}

.secondary-heading {
  font-size: 1rem;
  line-height: calc(1em + 5px);
  font-family: var(--font-accent);
  color: var(--color-secondary);
  font-style: normal;
  font-weight: 700;
  text-align: inherit
}

:where(.content-palette-dark) .secondary-heading {
  color: var(--color-secondary-alt)
}

.secondary-heading em {
  color: var(--color-dark);
  letter-spacing: 0em;
  font-style: normal
}

:where(.content-palette-dark) .secondary-heading em {
  color: var(--color-light)
}

.secondary-heading::before,
.secondary-heading>span::before {
  font-size: .5em;
  color: var(--color-light);
  letter-spacing: 0em;
  font-style: normal;
  font-weight: 300;
  vertical-align: middle
}

@media only screen and (min-width: 48rem) {
  .secondary-heading>span {
    display: inline-block
  }

  .secondary-heading>span:nth-child(n+2)::before {
    content: "\25CF\FE0E";
    margin-inline: 1em
  }
}

@media only screen and (min-width: 87.5rem) {
  .secondary-heading {
    font-size: 1.125rem
  }
}

@media only screen and (max-width: 74.9375rem) {
  .secondary-heading>span {
    display: inline-block
  }

  .secondary-heading>span::before {
    line-height: 1.875
  }
}

@media only screen and (max-width: 47.9375rem) {
  .secondary-heading>span:nth-child(n+2)::before {
    content: "\25CF\FE0E"
  }

  .secondary-heading>span::before,
  .secondary-heading>span {
    display: block
  }
}

.primary-heading {
  font-size: 2rem;
  line-height: calc(1em + 5px);
  text-wrap: balance;
  margin-bottom: -0.25em
}

.primary-heading em {
  color: var(--scheme-sp, var(--color-accent));
  font-style: normal
}

@media only screen and (min-width: 48rem) {
  .primary-heading {
    font-size: 3.125rem
  }
}

@media only screen and (min-width: 48rem) {
  .primary-heading.primary-heading-default {
    font-size: 2.8125rem
  }
}

@media only screen and (min-width: 120rem) {
  .primary-heading.primary-heading-default {
    font-size: 3.4375rem
  }
}

.primary-heading.primary-heading-blog-post {
  color: inherit
}

.primary-heading.h1-fallback-heading:where(.section-heading) {
  text-align: center
}

.banner-has-background-image.banner-background-can-inherit-theme-opts .primary-heading {
  color: inherit
}

.banner-awards {
  grid-column: 1/-1;
  flex: 0 0 auto;
  order: 99;
  justify-self: stretch
}

.banner-awards :is(.swiper) {
  --carousel-height: 2.5rem
}

@media only screen and (min-width: 120rem) {
  .banner-awards :is(.swiper) {
    --carousel-height: 6.375rem
  }
}

@media only screen and (max-width: 87.4375rem) {
  .banner-awards .awards-title {
    font-size: .875rem
  }
}

@media only screen and (max-width: 74.9375rem) {
  .banner-awards .awards-title {
    font-size: .75rem
  }
}

@media only screen and (max-width: 47.9375rem) {
  .banner-awards :is(.swiper) {
    --carousel-height: 1.5rem
  }
}

.banner-cluster {
  --banner-cluster-video-offset: 0rem;
  grid-column: 1/-1;
  text-align: initial;
  max-width: 100%
}

.banner-cluster:is(.fancy-box) {
  padding-block: 4.0625rem;
  padding-inline: 4.25rem;
  width: 55rem
}

.layout-banner .banner-cluster .testimonial-container {
  display: contents
}

.banner-cluster-blocks {
  gap: 1.4375rem;
  align-items: start
}

.banner-cluster-block:is(.banner-cluster-video-thumbnail) {
  width: 18.75rem;
  align-self: self-start
}

.layout-banner .banner-cluster-video-body {
  display: contents
}

.banner-cluster-icons-items {
  display: grid;
  grid-template-columns: repeat(2, auto);
  place-items: center;
  place-content: center;
  gap: 2.375rem 1.8125rem
}

.banner-cluster-icons-item {
  font-size: 2.375rem
}

@media only screen and (min-width: 48rem) {
  .banner-cluster-icons-items {
    grid-template-columns: repeat(4, auto);
    gap: 2.125rem
  }

  .banner-cluster-icons-item {
    font-size: 2.375rem
  }
}

@media only screen and (min-width: 48rem)and (max-width: 74.9375rem) {
  .banner-cluster:is(.fancy-box) {
    padding-top: var(--overlap-buffer);
    --banner-cluster-video-offset: 8rem;
    margin-top: var(--banner-cluster-video-offset)
  }

  .banner-cluster-block:is(.banner-cluster-video-thumbnail) {
    margin-top: calc((var(--banner-cluster-video-offset) + var(--overlap-buffer))*-1);
    margin-bottom: .75rem
  }
}

@media only screen and (min-width: 75rem) {
  .banner-cluster-icons-items {
    gap: 1rem;
    justify-content: space-between;
    justify-items: space-between
  }

  .banner-cluster-icons-item {
    font-size: 2.375rem
  }

  .banner-cluster-blocks {
    grid-template-columns: auto 1fr;
    gap: 1.4375rem 5rem
  }

  .banner-cluster-block:is(.banner-cluster-video-thumbnail) {
    grid-row: span 3
  }
}

@media only screen and (min-width: 120rem) {
  .banner-cluster:is(.fancy-box) {
    width: 66.75rem
  }

  .banner-cluster-block:is(.banner-cluster-video-thumbnail) {
    width: 24rem
  }
}

@media only screen and (max-width: 74.9375rem) {
  .banner-cluster-icons {
    place-self: center
  }

  .banner-cluster-blocks {
    text-align: center;
    justify-content: center;
    justify-items: center
  }

  .banner-cluster-block:is(.banner-cluster-video-thumbnail) {
    justify-self: center
  }
}

@media only screen and (max-width: 47.9375rem) {
  .banner-cluster:is(.fancy-box) {
    border: none;
    padding: 0;
    background-image: none;
    background-color: rgba(0, 0, 0, 0);
    -webkit-backdrop-filter: none;
    backdrop-filter: none
  }

  .banner-cluster-icons {
    margin-top: 1rem
  }
}

.banner-video .video-thumbnail {
  width: 18.75rem
}

.banner-video-cta.video-button:not(.video-button-default-has-text) {
  display: block
}

.banner-content {
  font-size: 1.125rem;
  line-height: calc(1em + 5px);
  font-weight: 700;
  text-wrap: balance
}

@media only screen and (min-width: 48rem) {
  .banner-content {
    font-size: 1.25rem
  }
}

@media only screen and (min-width: 87.5rem) {
  .banner-content {
    font-size: 1.5rem
  }
}

.banner-has-background-image.banner-background-can-inherit-theme-opts .banner-content {
  color: var(--color-primary-alt)
}

.banner-sps {
  text-wrap: balance;
  --swiper-pagination-bottom: -1rem;
  --swiper-pagination-right: 0;
  --swiper-pagination-left: 0;
  position: relative;
  justify-self: stretch
}

.banner-sps:has(.swiper-vertical) {
  height: 5rem;
  display: flex;
  flex-direction: column
}

.banner-sps:has(.swiper-vertical) .swiper-pagination-vertical {
  top: auto;
  margin-inline: auto;
  bottom: var(--swiper-pagination-bottom);
  transform: none
}

.banner-sps:has(.swiper-vertical) .swiper-pagination-vertical.swiper-pagination-bullets {
  display: flex;
  justify-content: center;
  gap: var(--swiper-pagination-bullet-vertical-gap)
}

.banner-sps:has(.swiper-vertical) .swiper-pagination-vertical.swiper-pagination-bullets .swiper-pagination-bullet {
  margin: 0
}

.banner-sps :is(.swiper) {
  height: 100%
}

.banner-sps .sp {
  min-height: 100%;
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  justify-content: center;
  gap: .375rem
}

.banner-sps .sp-container {
  display: contents
}

.banner-sps .sp-icon {
  font-size: 1.25rem
}

.banner-sps .sp-title {
  font-size: 2.1875rem;
  line-height: .75
}

.banner-sps .sp-description {
  font-size: 1.25rem;
  line-height: 1.1
}

@media only screen and (min-width: 48rem) {
  .banner-sps {
    text-align: initial
  }

  .banner-sps:has(.swiper-vertical) {
    width: 14rem
  }

  .banner-sps:has(.swiper-vertical) .swiper-pagination-vertical.swiper-pagination-bullets {
    justify-content: flex-start
  }
}

@media only screen and (min-width: 75rem) {
  .banner-sps:has(.swiper-vertical) {
    height: 17rem
  }
}

@media only screen and (min-width: 87.5rem) {
  .banner-sps:has(.swiper-vertical) {
    width: 12.75rem
  }
}

@media only screen and (min-width: 120rem) {
  .banner-sps:has(.swiper-vertical) {
    width: 14rem;
    height: 19rem
  }

  .banner-sps .sp-title {
    font-size: 2.5rem
  }

  .banner-sps .sp-description {
    font-size: 1.375rem
  }
}

@media only screen and (max-width: 47.9375rem) {
  .banner-sps .sp {
    align-items: center;
    text-align: center
  }
}

.banner-icon {
  font-size: 5rem;
  text-wrap: balance
}

@media only screen and (min-width: 87.5rem) {
  .banner-icon {
    font-size: 7.25rem
  }
}

.banner-buttons {
  display: inline-flex;
  gap: 1rem;
  align-items: center;
  text-align: inherit;
  justify-content: inherit
}

.banner-buttons-touch {
  margin-top: 3.25rem;
  margin-bottom: 4rem
}

.banner-buttons-touch:first-child {
  margin-top: -1rem
}

@media only screen and (min-width: 48rem) {

  .banner-button-shift .banner-buttons-touch,
  .banner-has-h1.banner-button-shift .banner-buttons-touch+hr {
    display: none
  }
}

@media only screen and (max-width: 47.9375rem) {

  .banner-buttons,
  .banner-buttons-touch {
    flex-direction: column
  }

  .banner-buttons-touch {
    width: 100%;
    align-items: stretch
  }

  .h1-fallback-heading:has(+.banner-buttons-touch) {
    margin-bottom: 0
  }

  .banner-button-shift :is(.layout-banner .banner-buttons, .banner-buttons-nontouch) {
    display: none
  }
}

#banner-form {
  padding-block: 3.75rem;
  padding-inline: var(--container-gutter)
}

#banner-form:is(.fancy-box) {
  border: 0
}

#banner-form .field-form {
  gap: 2rem
}

#banner-form .gform_heading {
  max-width: 100%
}

#banner-form .gform_description {
  max-width: 80ch
}

#banner-form .gform_body {
  margin-left: auto;
  margin-right: auto
}

#banner-form .gform_footer {
  justify-content: center;
  text-align: center;
  margin-top: 1rem
}

#banner-form .gfield.gfield--type-submit {
  align-self: flex-start
}

@media only screen and (min-width: 48rem) {
  #banner-form {
    padding-inline: 3rem
  }
}

@media only screen and (min-width: 75rem) {
  #banner-form {
    padding-block: 2.375rem 1.875rem;
    background: var(--global-accent-gradient)
  }

  #banner-form .gform_heading {
    text-align: initial;
    max-width: 100%;
    margin-bottom: 1.25rem
  }

  #banner-form .gform_fields {
    gap: .75rem
  }

  #banner-form .gform_footer {
    justify-content: flex-end;
    text-align: left;
    margin-top: -1rem
  }

  #banner-form .gfield {
    --field-padding-y: 1em;
    font-size: .875rem
  }

  #banner-form .gfield_label {
    font-size: .875rem
  }
}

@media only screen and (min-width: 120rem) {
  #banner-form {
    padding-inline: 3.75rem
  }
}

@media only screen and (max-width: 74.9375rem) {
  #banner-form .gform_fields .gfield:not(.gfield-width-full) {
    grid-column: 1/-1
  }
}

.banner-firm-info {
  padding-block: 2.625rem 2.8125rem
}

.banner-firm-info .firm-info-header {
  text-align: center
}

@media only screen and (min-width: 75rem) {
  .banner-firm-info {
    padding-block: 3rem
  }
}

@media only screen and (min-width: 75rem) {
  :root {
    --layout-sidebar-offset: 3.125rem
  }
}

@media only screen and (min-width: 75rem) {
  .sidebar-can-overlap .has-layout-sidebar-offset:not(:has(.has-layout-sidebar-offset)):last-child:is(.template-wrapper>*:has(+* .layout-sidebar-offset-element), .template-wrapper>*:has(+* .layout-sidebar-offset-element) *)::after {
    content: "";
    flex: 0 0 auto;
    height: var(--layout-sidebar-offset, 0px);
    display: block;
    width: 100%
  }

  .sidebar-can-overlap:has(.has-layout-sidebar-offset) .layout-sidebar-offset-element {
    margin-top: calc((var(--layout-sidebar-offset, 0px) + var(--overlap-buffer))*-1)
  }

  .sidebar-can-overlap:has(.has-layout-sidebar-offset) :is(.aside, aside):has(.layout-sidebar-offset-element) {
    padding-top: var(--overlap-buffer)
  }
}

#sidebar-form {
  background: var(--scheme-bg, var(--color-dark-alt));
  color: var(--scheme-fg, var(--color-light));
  --widget-padding-top: 2.8125rem;
  --widget-padding-x: 1.875rem;
  --widget-content-margin-top: 0rem
}

#sidebar-form .field-form {
  gap: 2rem;
  padding-inline: 2.5rem
}

#sidebar-form .gform_title {
  font-size: 2.1875rem
}

#sidebar-form .gform_description {
  max-width: 80ch
}

#sidebar-form .gform_body {
  margin-left: auto;
  margin-right: auto
}

#sidebar-form .gform_footer {
  justify-content: center;
  text-align: center
}

#sidebar-form .gfield.gfield--type-submit {
  align-self: flex-start
}

.sidebar-firm-info-container {
  display: contents
}

.sidebar-firm-info :is(.swiper) {
  --swiper-custom-arrow-offset-x: 0px;
  --swiper-custom-arrow-offset-x: calc(var(--widget-padding-x) + var(--widget-item-padding-x));
  --swiper-custom-arrow-offset-x-negate: var(--widget-padding-x)
}

.sidebar-firm-info :is(.swiper) .swiper-custom-buttons {
  margin-inline: calc(var(--widget-padding-x)*-1)
}

.sidebar-firm-info :is(.testimonial) :is(.testimonial-highlight, .testimonial-quote) * {
  display: contents
}

:root {
  --layout-contact-offset: 6.25rem
}

.contact-can-overlap:has(.has-layout-contact-offset) .layout-contact:has(.layout-contact-offset-element) {
  isolation: isolate
}

.contact-can-overlap .has-layout-contact-offset:not(:has(.has-layout-contact-offset)):is(.footer-top:has(+.footer-bottom .footer-contact:first-child), .footer-top:has(+.footer-bottom .footer-contact:first-child)+*, .template-wrapper:has(:is(.main, main) .layout-contact:nth-child(n+2)))::after {
  content: "";
  flex: 0 0 auto;
  grid-column: 1/-1;
  height: var(--layout-contact-offset, 0px);
  display: block;
  width: 100%
}

.contact-can-overlap:has(.has-layout-contact-offset) .layout-contact-offset-element:is(.layout-contact>:last-child, .layout-contact>:last-child *) {
  margin-top: calc((var(--layout-contact-offset, 0px) + var(--overlap-buffer))*-1)
}

.contact-can-overlap:has(.has-layout-contact-offset) .layout-contact:has(.layout-contact-offset-element),
.contact-can-overlap:has(.has-layout-contact-offset) :is(main, .main):has(.layout-contact) {
  padding-top: var(--overlap-buffer) !important
}

.number-link {
  font-size: 1.875rem;
  line-height: 1;
  font-family: var(--font-secondary);
  color: inherit;
  font-weight: 500;
  text-decoration: none;
  display: inline-block
}

.location-content {
  display: contents
}

.location-directions {
  display: contents
}

.location-directions-button {
  max-width: -webkit-max-content;
  max-width: -moz-max-content;
  max-width: max-content;
  width: 100%
}

.location-numbers {
  display: flex;
  flex-direction: column;
  gap: inherit;
  margin-top: .75em;
  align-items: inherit;
  justify-content: inherit
}

.location-number {
  flex-wrap: wrap
}

.location-number-label {
  font-family: var(--font-secondary);
  margin-right: .25em
}

.social {
  font-size: 1.1625rem;
  display: inline-flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: .9em
}

.social li {
  list-style: none
}

.social li a {
  color: inherit
}

.social li a svg * {
  fill: currentColor
}

.social li:is(:hover, :focus) {
  color: var(--scheme-sp, var(--color-primary))
}

.social:is(.social-style-circle) {
  gap: .25em
}

.social:is(.social-style-circle) li a {
  display: flex;
  align-items: center;
  justify-content: center;
  list-style: none;
  border-radius: 999em;
  height: 1.75em;
  width: 1.75em;
  padding-bottom: .18em;
  background: var(--color-light);
  color: var(--color-dark)
}

.social:is(.social-style-circle) li:is(:hover, :focus, :focus-within)>a {
  background: var(--color-primary);
  color: var(--color-light)
}

@media only screen and (min-width: 48rem) {
  .social {
    font-size: 1.375rem
  }
}

.contact-block-title:not(.contact-block-title-custom) {
  display: inline-block;
  margin-bottom: 0
}

.contact-block-title:is(.h2) {
  font-size: 1.625rem
}

.contact-block-content {
  flex: 1 1
}

:where(.contact-block-content :where(a)) {
  color: inherit;
  text-decoration: none
}

:where(.contact-block-content :where(a)):where(:hover, :focus) {
  text-decoration: underline
}

.contact-block-content:not(.contact-block-content-custom) {
  font-size: 1.25rem;
  line-height: 1.2;
  display: contents
}

.contact-blocks {
  justify-items: space-between;
  justify-content: space-between;
  margin-inline: auto;
  -moz-column-gap: 4.25rem;
  column-gap: 4.25rem;
  row-gap: 4.25rem;
  align-items: stretch
}

.contact-block,
.contact-blocks {
  min-width: 0;
  max-width: 100%
}

.contact-block {
  width: 100%;
  gap: .375rem
}

.contact-block:is(:only-child, :only-of-type) {
  grid-column: 1/-1
}

.contact-block {
  display: grid;
  align-content: start;
  align-items: start;
  grid-template-columns: 100%
}

.contact-block:is(.contact-special) {
  grid-column: 1/-1
}

@media only screen and (min-width: 48rem) {
  .contact-blocks {
    grid-template-columns: repeat(2, auto)
  }
}

@media only screen and (min-width: 75rem) {
  .contact-blocks {
    grid-template-columns: 1fr repeat(2, auto);
    -moz-column-gap: 4rem;
    column-gap: 4rem;
    row-gap: 4.5rem;
    justify-content: space-between
  }

  .contact-block:is(.contact-cluster) {
    grid-row: span 3
  }
}

@media only screen and (min-width: 87.5rem) {
  .contact-blocks {
    -moz-column-gap: 6rem;
    column-gap: 6rem
  }
}

@media only screen and (min-width: 120rem) {
  .contact-blocks {
    grid-template-columns: 1fr repeat(3, auto);
    -moz-column-gap: 6.7rem;
    column-gap: 6.7rem
  }

  .contact-block:is(.contact-special) {
    grid-row: span 2
  }
}

@media only screen and (max-width: 74.9375rem) {
  .contact-blocks {
    width: -webkit-max-content;
    width: -moz-max-content;
    width: max-content;
    max-width: 100%
  }

  .contact-block:is(.contact-special) {
    justify-self: center
  }

  .contact-block:is(.contact-number, .contact-numbers) {
    grid-column: 1/-1
  }

  .contact-block:is(.contact-cluster) {
    grid-column: 1/-1
  }
}

@media only screen and (max-width: 47.9375rem) {
  .contact-blocks {
    justify-items: center;
    justify-content: center
  }

  .contact-block,
  .contact-blocks {
    align-content: center
  }

  .contact-block:is(.contact-special) {
    justify-self: stretch
  }

  .contact-block:is(.contact-number, .contact-numbers) {
    text-align: center;
    align-items: center
  }
}

.contact-block :where(.contact-locations .location, .contact-lists .list) {
  display: flex;
  flex-direction: column;
  gap: 1rem
}

.contact-block :where(.contact-locations .location, .contact-lists .list) :where(.contact-block-content, .location-content) {
  display: contents
}

.contact-block.contact-special {
  text-align: center;
  max-width: 100%;
  align-items: center;
  align-content: center;
  justify-content: space-between;
  justify-items: space-between;
  gap: 2.25rem
}

.contact-block.contact-special .contact-logo {
  height: 4rem;
  align-self: center
}

.contact-block.contact-special .contact-icon {
  font-size: 8.375rem;
  margin-bottom: -0.75em;
  margin-left: -0.5em;
  position: relative;
  display: flex
}

.contact-block.contact-special .contact-special-divider {
  flex: 0 0 auto
}

.contact-block.contact-special .contact-images {
  width: 31.8125rem;
  max-width: 100%;
  margin-inline: auto;
  position: relative
}

.contact-block.contact-special .contact-images :where(picture, img) {
  display: block;
  border-radius: var(--global-radius)
}

.contact-block.contact-special .contact-images-columns {
  --columns-gap-y: .75rem;
  --columns-gap-x: .75rem;
  --columns-number: 2
}

.contact-block.contact-special .logo-wrapper-br {
  display: none
}

@media only screen and (min-width: 48rem) {
  .contact-block.contact-special {
    gap: 4.875rem
  }

  .contact-block.contact-special .contact-logo {
    height: 5.125rem
  }

  .contact-block.contact-special .contact-images-columns {
    --columns-gap-y: 1.25rem;
    --columns-gap-x: 1.25rem
  }
}

@media only screen and (min-width: 75rem) {
  .contact-block.contact-special {
    grid-template-columns: 1fr auto;
    gap: 4.275rem 6rem
  }

  .contact-block.contact-special .contact-icon {
    font-size: 9rem
  }

  .contact-block.contact-special .logo-wrapper-br {
    display: none
  }
}

@media only screen and (min-width: 87.5rem) {
  .contact-block.contact-special {
    gap: 3.5rem 6rem
  }

  .contact-block.contact-special .contact-images {
    width: 36.25rem
  }

  .contact-block.contact-special .contact-icon {
    font-size: 10.5rem
  }
}

@media only screen and (min-width: 120rem) {
  .contact-block.contact-special .contact-logo {
    height: 8.4375rem
  }

  .contact-block.contact-special .contact-images {
    width: 47.25rem
  }

  .contact-block.contact-special .contact-icon {
    font-size: 12rem
  }
}

@media only screen and (max-width: 74.9375rem) {
  .contact-block.contact-special .logo {
    justify-self: center
  }

  .contact-block.contact-special .logo-wrapper-br {
    display: block
  }

  .contact-block.contact-special .logo-wrapper-br~.logo-wrapper-nonbr {
    display: none
  }
}

.contact-block.contact-cluster {
  gap: 2.75rem
}

.contact-block:is(.contact-number, .contact-numbers) .contact-numbers-title {
  font-size: 2.5rem;
  color: var(--color-primary);
  font-weight: 500
}

.contact-block:is(.contact-number, .contact-numbers) .number-block {
  display: flex;
  flex-direction: column;
  gap: .75rem
}

.contact-block:is(.contact-number, .contact-numbers) .number-title {
  display: block;
  margin-bottom: 0
}

.contact-block:is(.contact-number, .contact-numbers) .contact-numbers-content {
  display: grid;
  gap: 1rem
}

@media only screen and (max-width: 74.9375rem) {
  .contact-block:is(.contact-number, .contact-numbers) {
    text-align: center
  }
}

.contact-block.contact-numbers .contact-numbers-content {
  flex: 0 0;
  row-gap: 1rem
}

.contact-block.contact-locations .contact-locations-content {
  row-gap: 4rem;
  display: grid
}

.contact-block:is(.contact-list, .contact-lists) .list-block-items {
  display: flex;
  flex-direction: column
}

.contact-list-email {
  font-size: 1.5em;
  font-family: var(--font-secondary)
}

.contact-block.contact-lists .contact-lists-content {
  row-gap: 4rem;
  display: grid
}

.contact-block.contact-menu {
  font-size: 1.125rem;
  font-weight: 700
}

.contact-block.contact-menu a:is(:hover, :focus) {
  color: var(--color-primary)
}

@media only screen and (min-width: 75rem) {
  .contact-block.contact-menu {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    gap: 3rem;
    grid-column: 1/-1
  }
}

#contact-form .field-form {
  gap: 2rem
}

#contact-form .gform_description {
  max-width: 80ch
}

#contact-form .gform_body {
  margin-left: auto;
  margin-right: auto
}

#contact-form .gform_footer {
  justify-content: center;
  text-align: center
}

#contact-form .gfield.gfield--type-submit {
  align-self: flex-start
}

@media only screen and (max-width: 74.9375rem) {
  #contact-form .gform_fields .gfield:not(.gfield-width-full) {
    grid-column: 1/-1
  }
}

:root {
  --layout-footer-offset: 6.25rem
}

.footer-can-overlap:has(.has-layout-footer-offset) .layout-footer:has(.layout-footer-offset-element) {
  isolation: isolate;
  z-index: 2;
  position: relative
}

.footer-can-overlap .has-layout-footer-offset:not(:has(.has-layout-footer-offset)):is(:has(+.layout-footer), .template-wrapper:has(+.layout-footer) :is(.template-wrapper:has(+.layout-footer)>:last-child, :is(.main, main, .aside, aside):last-child, :is(.main, main):last-child>:last-child, :is(.main, main):last-child>:last-child *))::after {
  content: "";
  flex: 0 0 auto;
  grid-column: 1/-1;
  height: var(--layout-footer-offset, 0px);
  display: block;
  width: 100%
}

@media only screen and (min-width: 75rem) {
  .footer-can-overlap .has-layout-footer-offset:not(:has(.has-layout-footer-offset)):is(:is(.main, main):has(+:is(.aside, aside):last-child), :is(.main, main):has(+:is(.aside, aside):last-child) *)::after {
    content: "";
    flex: 0 0 auto;
    grid-column: 1/-1;
    height: var(--layout-footer-offset, 0px);
    display: block;
    width: 100%
  }
}

.footer-can-overlap:has(.has-layout-footer-offset) .layout-footer-offset-element:is(.layout-footer>:first-child, .layout-footer>:first-child *) {
  margin-top: calc((var(--layout-footer-offset, 0px) + var(--overlap-buffer))*-1)
}

.footer-can-overlap:has(.has-layout-footer-offset) .footer-top:has(.layout-footer-offset-element) {
  padding-top: var(--overlap-buffer)
}

:is(.ilawyer-legacy, .ilawyer, .onep21, .ihealth) {
  color: inherit
}

.ilawyer-legacy,
.ilawyer {
  font-size: 1.0625rem
}

.onep21 {
  font-size: 3.125rem
}

.ihealth {
  font-size: 2.125rem
}

.layout-footer:is(.fancy-gradient-svg) {
  --fancy-gradient-bg-position: bottom center
}

.footer-firm-info {
  background: var(--color-dark)
}

.footer-firm-info-header {
  text-align: center
}

.footer-top {
  padding-block: 3.25rem
}

@media only screen and (min-width: 48rem) {
  .footer-top {
    padding-block: 5.25rem
  }
}

@media only screen and (min-width: 75rem) {
  .footer-top {
    padding-block: 7.25rem 7.4125rem
  }
}

@media only screen and (min-width: 120rem) {
  .footer-top {
    padding-block: 10.3125rem 9rem
  }
}

.footer-has-contact .footer-top:has(.layout-contact) {
  padding-bottom: 0
}

#footer-form .field-form {
  gap: 2rem
}

#footer-form .field-form-header {
  gap: 1rem
}

#footer-form .field-form-body {
  gap: 1.75rem;
  width: 25.25rem;
  justify-self: center
}

#footer-form .gform_heading {
  text-wrap: balance
}

#footer-form .gform_title {
  font-size: 2.1875rem
}

#footer-form .gform_description {
  font-size: 1.16875rem;
  color: var(--color-secondary-alt);
  font-weight: 500;
  max-width: 80ch
}

#footer-form .gform_footer {
  justify-content: center;
  text-align: center
}

#footer-form .gfield.gfield--type-submit {
  align-self: flex-start
}

@media only screen and (min-width: 48rem) {
  #footer-form .field-form {
    gap: 3.5rem
  }

  #footer-form .gform_description {
    font-size: 1.25rem
  }

  #footer-form .gform_fields {
    gap: 1.25rem
  }
}

@media only screen and (min-width: 75rem) {
  #footer-form .field-form-body {
    gap: .25rem;
    width: 51.4375rem
  }

  #footer-form .gform_title {
    font-size: 2.8125rem
  }
}

@media only screen and (min-width: 120rem) {
  #footer-form .gform_title {
    font-size: 3.4375rem
  }

  #footer-form .gform_description {
    font-size: 1.5rem
  }
}

@media only screen and (max-width: 74.9375rem) {
  #footer-form .gform_fields .gfield:not(.gfield-width-full) {
    grid-column: 1/-1
  }
}

.footer-contact {
  padding-block: 3.375rem
}

@media only screen and (min-width: 48rem) {
  .footer-contact {
    padding-block: 5.125rem
  }
}

@media only screen and (min-width: 75rem) {
  .footer-contact {
    padding-block: 4.275rem
  }
}

@media only screen and (min-width: 87.5rem) {
  .footer-contact {
    padding-block: 5.25rem 6rem
  }
}

.footer-contact .contact-block:is(.contact-special) {
  justify-self: center
}

.footer-bottom {
  background-color: var(--scheme-bg, var(--color-light));
  color: var(--scheme-fg, var(--color-dark))
}

.footer-utility {
  padding-block: 2rem;
  font-size: .875rem;
  line-height: calc(1em + 6px);
  font-weight: 700
}

.footer-utility-blocks {
  row-gap: 1rem;
  -moz-column-gap: 2rem;
  column-gap: 2rem;
  align-items: center
}

.footer-utility-block:only-child {
  grid-column: 1/-1
}

.footer-utility-content :is(li) {
  display: inline;
  margin: 0
}

.footer-utility-content :is(li):nth-last-child(n+2)::after {
  content: "\2022\FE0E";
  display: inline-block;
  margin: 0 .5em 0 .25em
}

@media only screen and (min-width: 48rem) {
  .footer-utility {
    padding-block: 3rem
  }
}

@media only screen and (min-width: 75rem) {
  .footer-utility-content :is(p:not(.footer-disclaimer), ul) {
    display: inline;
    margin: 0
  }

  .footer-utility-content :is(p:not(.footer-disclaimer), ul):nth-last-child(n+2)::after {
    content: "\2022\FE0E";
    display: inline-block;
    margin: 0 .5em 0 .25em
  }

  .footer-utility-blocks {
    grid-template-columns: repeat(3, 1fr)
  }

  .footer-utility-blocks:not(:has(.social)) {
    grid-template-columns: repeat(3, auto)
  }

  .footer-utility-content {
    margin-right: auto;
    order: -1
  }

  .footer-utility-content:first-child:nth-last-child(2) {
    grid-column: span 2
  }

  .footer-utility .social {
    text-align: center
  }

  .footer-utility .social::before {
    content: none
  }

  .footer-utility :is(.ilawyer-legacy, .ilawyer, .onep21, .ihealth) {
    order: 99;
    justify-self: self-end;
    align-self: center
  }
}

@media only screen and (min-width: 120rem) {
  .footer-utility {
    padding-block: 4rem
  }
}

@media only screen and (max-width: 74.9375rem) {
  .footer-utility-blocks {
    text-align: center;
    justify-content: center;
    justify-items: center
  }
}

.footer-has-contact .footer-utility {
  padding-top: 0
}

@media only screen and (min-width: 75rem) {
  .footer-brand-logo {
    justify-self: self-end
  }
}

.footer-disclaimer {
  margin-top: 1em
}

/*!
* Default Sections: Main + Aside: Can also be reused on other templates with similar wireframes (eg. Profile Page, etc.)
-------------------------------------------------------------------------------- */
.default-sections {
  gap: var(--default-gap-y, 0) var(--default-gap-x, 0)
}

.default-sections,
.default-section,
.default-section-main,
.default-section-sidebar {
  min-width: 0;
  max-width: 100%
}

.default-section-main {
  width: 100%
}

.default-section-sidebar {
  width: var(--default-sidebar-width)
}

.default-sections.default-sections-float {
  display: block
}

.default-sections.default-sections-float :where(.default-section, .default-section-main, .default-section-sidebar) {
  margin-left: auto;
  margin-right: auto
}

.default-sections.default-sections-float :where(.default-section, .default-section-main, .default-section-sidebar):where(:nth-last-child(n+2)) {
  margin-bottom: var(--default-gap-y)
}

.default-sections:is(.default-sections-split, .default-sections-full) {
  display: flex;
  flex-direction: column;
  align-items: center
}

.default-sections.default-sections-grid {
  display: grid;
  grid-template-columns: 100%;
  justify-content: center
}

@media only screen and (min-width: 75rem) {
  .default-section-main {
    max-width: calc(var(--comp) - var(--default-sidebar-width) - var(--container-gutter, 0px)*2 - var(--default-gap-x))
  }

  .default-section-sidebar {
    order: 9
  }

  .default-sections:is(.default-sections-split, .default-sections-full) {
    flex-direction: row;
    align-items: normal;
    justify-content: center
  }

  .default-sections.default-sections-reverse .default-section-sidebar {
    order: -1
  }

  .default-sections.default-sections-reverse .default-section-main {
    order: 9
  }

  .default-sections.default-sections-float::after {
    content: "";
    font-size: 0;
    visibility: hidden;
    height: 0;
    clear: both;
    display: table;
    width: 100%;
    flex: 0 0 auto
  }

  .default-sections.default-sections-float .default-section-sidebar {
    float: right;
    clear: right
  }

  .default-sections.default-sections-float .default-section-main {
    float: left;
    clear: left;
    width: calc(100% - (var(--default-sidebar-width)) - var(--default-gap-x))
  }

  .default-sections.default-sections-float .default-section-main:only-child {
    float: none
  }

  .default-sections.default-sections-float.default-sections-reverse .default-section-sidebar {
    float: left;
    clear: left
  }

  .default-sections.default-sections-float.default-sections-reverse .default-section-main {
    float: right;
    clear: right
  }

  .default-sections:is(.default-sections-split, .default-sections-full) .default-section-sidebar {
    flex: 0 0 auto
  }

  .default-sections:is(.default-sections-split, .default-sections-full) .default-section-main {
    flex: 1 1
  }

  .default-sections.default-sections-full {
    --default-gap-x: 0rem
  }

  .default-sections.default-sections-full .default-section-main {
    margin-left: auto;
    margin-right: auto
  }

  .default-sections.default-sections-grid {
    grid-template-columns: 1fr var(--default-sidebar-width);
    grid-column-gap: var(--default-gap-x)
  }

  .default-sections.default-sections-grid .default-section-main {
    justify-self: center;
    grid-column: 1
  }

  .default-sections.default-sections-grid:not(.default-sections-no-autocenter) .default-section-main:not(.default-sections:has(.default-section-sidebar) .default-section) {
    grid-column: 1/-1 !important
  }

  .default-sections.default-sections-grid .default-section-sidebar {
    grid-column: 2
  }

  .default-sections.default-sections-grid .default-section-main,
  .default-sections.default-sections-grid .default-section-sidebar {
    width: 100%;
    min-width: 0;
    min-height: 0
  }

  .default-sections.default-sections-grid.default-sections-reverse {
    grid-template-columns: var(--default-sidebar-width) 1fr
  }

  .default-sections.default-sections-grid.default-sections-reverse .default-section-main {
    grid-column: 2
  }

  .default-sections.default-sections-grid.default-sections-reverse .default-section-sidebar {
    grid-column: 1
  }
}

@media only screen and (max-width: 74.9375rem) {
  .default-sections:is(.default-sections-split, s.default-sections-grid) :is(.default-section-main, .default-section-sidebar) {
    display: contents
  }

  .default-sections.default-sections-full .default-section-sidebar {
    align-self: stretch;
    width: 100%
  }

  .default-sections:not(.default-sections-full)>.default-section:is(aside, .aside):not(:only-child) {
    padding-top: 0
  }

  .default-sections:not(.default-sections-full)>.default-section:is(main, .main):not(:only-child) {
    padding-bottom: 0
  }
}

.default-section-main,
.default-section-sidebar {
  padding-block: 0
}

.default-section:is(.default-section-pagination) {
  grid-column: 1/-1;
  justify-self: stretch;
  width: 100%
}

@media only screen and (min-width: 75rem) {
  .default-section:is(.default-section-pagination) {
    order: 99
  }
}

.default-sections {
  --default-sidebar-width: 100%;
  --default-gap-x: 4.25rem;
  --default-gap-y: 4.3875rem
}

@media only screen and (min-width: 75rem) {
  .default-sections {
    --default-sidebar-width: 22.5rem;
    --default-gap-y: 2.875rem
  }
}

@media only screen and (min-width: 87.5rem) {
  .default-sections {
    --default-gap-x: 6.25rem
  }
}

@media only screen and (min-width: 120rem) {
  .default-sections {
    --default-gap-x: 12.5rem
  }
}

@media only screen and (min-width: 75rem) {
  .default-sections.default-sections-split .default-section-sidebar-container {
    --container-gutter: 1rem
  }
}

.default-sections.default-sections-full .default-section-sidebar {
  background: var(--scheme-bg, var(--color-light-alt))
}

@media only screen and (min-width: 75rem) {
  .default-sections.default-sections-full .default-section-main-container {
    --container-gutter: 7.5rem
  }
}

@media only screen and (min-width: 120rem) {
  .default-sections.default-sections-full .default-section-main-container {
    --container-gutter: 15.625rem
  }
}

@media only screen and (max-width: 74.9375rem) {
  .default-sections.default-sections-full {
    row-gap: 0rem
  }
}

.entry-thumbnail {
  --cover-aspect-w: var(--entry-thumbnail-aspect-w);
  --cover-aspect-l: var(--entry-thumbnail-aspect-l);
  flex: 0 0 auto;
  background-color: var(--color-light-alt)
}

.entry-thumbnail {
  --entry-thumbnail-aspect-w: 648;
  --entry-thumbnail-aspect-l: 260;
  margin-bottom: 2rem
}

.entry-thumbnail:nth-child(n+2) {
  margin-top: 2rem
}

.entry-thumbnail:is(a) {
  color: inherit
}

.entry-thumbnail:empty::after {
  content: "No Image Available";
  opacity: .2;
  font-size: 1.5rem;
  line-height: 1.125;
  font-family: var(--font-secondary);
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  padding: 2em
}

.entry-thumbnail img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  max-width: none;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: 50% 30%;
  object-position: 50% 30%;
  z-index: 1
}

.entry-meta a:not(:hover, :focus) {
  text-decoration: none
}

.entry-meta a:is(:hover, :focus) {
  text-decoration: underline
}

.entry-button {
  color: inherit;
  text-decoration: none
}

.entry-buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem
}

.entries .entry {
  display: grid;
  justify-content: space-between;
  -moz-column-gap: 3rem;
  column-gap: 3rem;
  row-gap: 2rem
}

.entries .entry:nth-child(n+2) {
  padding-top: 3rem;
  margin-top: 3rem;
  border-top: 1px solid var(--color-neutral-light)
}

.entries .entry-thumbnail {
  margin-bottom: 0
}

.entries .entry-thumbnail,
.entries .entry-body {
  min-width: 0
}

@media only screen and (min-width: 87.5rem) {
  .entries .entry {
    grid-template-columns: 250px 1fr
  }

  .entries .entry-thumbnail {
    --entry-thumbnail-aspect-w: 250;
    --entry-thumbnail-aspect-l: 200
  }

  .entries .entry-body {
    align-self: center
  }

  .entries .entry-body:only-child {
    grid-column: 1/-1
  }
}

@media only screen and (max-width: 74.9375rem) {
  .entry-thumbnail {
    --entry-thumbnail-aspect-w: 648;
    --entry-thumbnail-aspect-l: 260
  }
}

/*!
* Default Header
-------------------------------------------------------------------------------- */
@media only screen and (max-width: 47.9375rem) {
  .default-header {
    text-align: center
  }
}

@media only screen and (min-width: 48rem) {
  .banner-has-h1.banner-button-shift .default-header {
    margin-bottom: 0
  }
}

@media only screen and (max-width: 74.9375rem) {
  .layout-default-sections-simple .layout-default-aside {
    max-width: var(--default-sidebar-width)
  }
}

/*!
* Default Heading
-------------------------------------------------------------------------------- */
@media only screen and (min-width: 48rem) {
  .default-heading {
    text-wrap: auto
  }
}

/*!
* Default Divider - Optional
-------------------------------------------------------------------------------- */
.default-divider {
  --fancy-border-margin-y: 3rem
}

/*!
* Search Form
* Although optional, some builds may include this OR request this in the long run. Since it's built in to wordpress, we might as well at least give it some basic styles. Overhaul as needed
-------------------------------------------------------------------------------- */
.searchform {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: stretch
}

.searchform:nth-last-child(n+2) {
  margin-bottom: 2rem
}

.searchform-field {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0
}

.searchform-button {
  order: 99;
  border-top-left-radius: 0;
  border-bottom-left-radius: 0
}

:where(.home-section) .section-header>:where(:last-child) {
  margin-bottom: 0
}

@media only screen and (max-width: 47.9375rem) {

  :where(.home-section) .section-header,
  :where(.home-section) .section-footer {
    text-align: center;
    justify-self: center;
    align-self: center
  }
}

#home-banner .banner-main {
  min-height: 42.375rem;
  justify-content: flex-end;
  padding-block: 4.875rem 3.25rem
}

#home-banner .banner-main-blocks {
  gap: 3rem
}

#home-banner .banner-icon {
  font-size: 5.625rem
}

#home-banner .banner-body-blocks {
  gap: .875rem
}

#home-banner :is(.swiper) {
  --swiper-custom-arrow-offset-x: 0rem
}

#home-banner .banner-background {
  --responsive-background-overlay-background: linear-gradient(to bottom, rgba(0, 0, 0, 0.00) 25.26%, rgba(0, 0, 0, 0.80) 80.62%)
}

@media only screen and (min-width: 48rem) {
  #home-banner .banner-main {
    min-height: 47.5rem
  }

  #home-banner .banner-main-blocks {
    grid-template-columns: auto 1fr auto;
    gap: 5.8125rem 4rem
  }

  #home-banner .banner-icon {
    font-size: 8.5rem
  }

  #home-banner .banner-video {
    justify-self: self-end;
    grid-column: 1/-1;
    margin-block: 0 -3.5rem
  }
}

@media only screen and (min-width: 48rem)and (max-width: 74.9375rem) {
  #home-banner .banner-body {
    grid-column: 1/-1
  }
}

@media only screen and (min-width: 48rem) {
  #home-banner .banner-awards {
    text-align: initial;
    max-width: none
  }

  #home-banner .banner-awards :is(.swiper) {
    margin-left: 0 !important;
    --swiper-custom-arrow-offset-x-negate: var(--container-gutter)
  }
}

@media only screen and (min-width: 48rem)and (max-width: 74.9375rem) {
  #home-banner .banner-awards {
    grid-column: span 2
  }

  #home-banner .banner-awards :is(.swiper) {
    --swiper-custom-arrow-offset-x-negate: var(--container-gutter)
  }
}

@media only screen and (min-width: 75rem) {
  #home-banner .banner-main {
    padding-block: 4.5rem;
    text-align: center
  }

  #home-banner .banner-main-blocks {
    grid-template-columns: 1fr auto auto;
    justify-items: space-between;
    justify-content: space-between;
    align-items: start;
    align-content: end;
    gap: 10rem 7.75rem
  }

  #home-banner .banner-body {
    order: -1;
    grid-column: auto;
    justify-content: center;
    justify-items: center
  }

  #home-banner .banner-awards .awards-container {
    grid-template-columns: auto 1fr;
    align-items: center;
    align-content: center;
    height: 100%
  }

  #home-banner .banner-awards .awards-header {
    align-self: center
  }

  #home-banner .banner-awards .awards-title {
    margin-bottom: 0
  }

  #home-banner .banner-awards .awards-slider {
    -webkit-mask-image: linear-gradient(to right, transparent 0%, white var(--container-fallback), white calc(100% - (var(--swiper-custom-arrow-offset-x-negate))), transparent 100%);
    mask-image: linear-gradient(to right, transparent 0%, white var(--container-fallback), white calc(100% - (var(--swiper-custom-arrow-offset-x-negate))), transparent 100%)
  }

  #home-banner .banner-video {
    grid-column: auto;
    margin-block: 2.75rem 0
  }

  #home-banner .primary-heading {
    font-size: 5rem
  }

  #home-banner .awards-container {
    gap: 4.6875rem
  }
}

@media only screen and (min-width: 87.5rem) {
  #home-banner .banner-main {
    min-height: 57rem;
    padding-block: 5.375rem
  }

  #home-banner .banner-main-blocks {
    gap: 10rem 13rem
  }

  #home-banner .banner-icon {
    font-size: 10.375rem
  }
}

@media only screen and (min-width: 120rem) {
  #home-banner .banner-main {
    min-height: 66.875rem
  }

  #home-banner .banner-main-blocks {
    gap: 10rem 18rem
  }

  #home-banner .banner-icon {
    font-size: 13.8125rem
  }

  #home-banner .banner-background {
    --responsive-background-overlay-background: linear-gradient(to bottom, transparent 80%, rgba(0, 0, 0, 0.80) 100%)
  }
}

:is(.home-page, #home-page) {
  padding-top: 0;
  padding-bottom: 0
}

:is(.home-section-1, #home-section-1) .result-value {
  font-size: 3.125rem
}

:is(.home-section-1, #home-section-1) .result-title {
  text-wrap: balance
}

@media only screen and (min-width: 75rem) {
  :is(.home-section-1, #home-section-1) {
    padding-block: 3.4375rem 3.875rem
  }
}

@media only screen and (min-width: 120rem) {
  :is(.home-section-1, #home-section-1) .result-container {
    gap: 1.25rem
  }

  :is(.home-section-1, #home-section-1) .result-value {
    font-size: 4.0625rem
  }

  :is(.home-section-1, #home-section-1) .section-slider {
    padding-block: 3.75rem
  }
}

:is(.home-section-2, #home-section-2) {
  padding-block: 4.6875rem 3rem
}

:is(.home-section-2, #home-section-2) :is(.swiper) {
  --swiper-custom-arrow-offset-x: 0rem
}

:is(.home-section-2, #home-section-2) .section-blocks-outer {
  gap: 3.375rem
}

:is(.home-section-2, #home-section-2) .section-blocks-header:not(.banner-body-blocks) {
  gap: .875rem
}

:is(.home-section-2, #home-section-2) .section-blocks-header:is(.section-header-full .section-blocks) {
  grid-template-columns: 100%;
  place-items: center;
  place-content: center
}

:is(.home-section-2, #home-section-2) .section-block:is(.section-header):is(.section-header-full) {
  justify-self: center
}

:is(.home-section-2, #home-section-2) .section-block:is(.section-header:is(.section-header-full), .section-bottom) {
  grid-column: 1/-1
}

:is(.home-section-2, #home-section-2) .section-block:is(.section-image) {
  width: 19.4375rem
}

:is(.home-section-2, #home-section-2) .section-block:is(.section-image):is(.section-image-profile) {
  display: grid;
  grid-template-columns: 100%;
  gap: 3.75rem
}

:is(.home-section-2, #home-section-2) .section-image-icon {
  font-size: 9.5rem;
  position: absolute;
  bottom: -0.1em;
  right: -0.3em
}

:is(.home-section-2, #home-section-2) .section-image-icon:is(.section-image-profile .section-image-icon) {
  bottom: auto;
  top: -0.5em
}

:is(.home-section-2, #home-section-2) .section-heading:not(h1.primary-heading) {
  font-size: 2.1875rem
}

@media only screen and (min-width: 48rem) {
  :is(.home-section-2, #home-section-2) {
    padding-block: 5.5rem 3.2875rem
  }

  :is(.home-section-2, #home-section-2) .section-heading:not(h1.primary-heading) {
    font-size: 2.5rem
  }
}

@media only screen and (min-width: 75rem) {
  :is(.home-section-2, #home-section-2) {
    padding-block: 7.0625rem 5rem
  }

  :is(.home-section-2, #home-section-2) .section-blocks-outer {
    grid-template-columns: auto 1fr;
    gap: 7.125rem 3.6875rem
  }

  .home-section-2-override-rows:is(.home-section-2, #home-section-2) .section-blocks-outer {
    grid-template-rows: auto 1fr auto
  }

  :is(.home-section-2, #home-section-2) .section-block:is(.section-image) {
    grid-column: 1
  }

  :is(.home-section-2, #home-section-2) .section-block:is(.section-image):is(.section-image-offset-top) {
    margin-top: -3rem
  }

  :is(.home-section-2, #home-section-2) .section-block:is(.section-image):is(.video-thumbnail) {
    width: 21.625rem
  }

  :is(.home-section-2, #home-section-2) .section-block:is(.section-image):is(.section-image-offset-bottom) {
    margin-bottom: -3rem
  }

  :is(.home-section-2, #home-section-2) .section-block:is(.section-image):is(.section-image-profile) {
    width: 23rem;
    gap: 5rem
  }

  :is(.home-section-2, #home-section-2) .section-block:is(.section-content) {
    grid-row: span 2
  }

  :is(.home-section-2, #home-section-2) .section-block:is(.section-header) {
    grid-column: 1
  }

  :is(.home-section-2, #home-section-2) .section-block:is(.section-header):not(.section-header-full) {
    width: 25.5625rem
  }
}

@media only screen and (min-width: 87.5rem) {
  :is(.home-section-2, #home-section-2) {
    padding-block: 7.25rem 5rem
  }

  :is(.home-section-2, #home-section-2) .section-blocks-outer {
    gap: 8.875rem 7.9375rem
  }

  :is(.home-section-2, #home-section-2) .section-block:is(.section-image):is(.section-image-default) {
    width: 21.625rem
  }

  :is(.home-section-2, #home-section-2) .section-block:is(.section-image):is(.section-image-offset-top) {
    margin-top: -5.5rem
  }

  :is(.home-section-2, #home-section-2) .section-block:is(.section-image):is(.video-thumbnail) {
    width: 30.875rem
  }

  :is(.home-section-2, #home-section-2) .section-block:is(.section-image):is(.video-offset-bottom) {
    margin-bottom: -5rem
  }

  :is(.home-section-2, #home-section-2) .section-image-icon {
    font-size: 10.1875em
  }
}

@media only screen and (min-width: 120rem) {
  :is(.home-section-2, #home-section-2) {
    padding-block: 10.8125rem 6rem
  }

  :is(.home-section-2, #home-section-2) .section-container-outer {
    --container-gutter: 13.875rem
  }

  :is(.home-section-2, #home-section-2) .section-blocks-outer {
    gap: 12.125rem 7.5625rem
  }

  :is(.home-section-2, #home-section-2) .section-block:is(.section-header) {
    width: 39.25rem
  }

  :is(.home-section-2, #home-section-2) .section-block:is(.section-image):is(.section-image-offset-top) {
    margin-top: -4.5rem
  }

  :is(.home-section-2, #home-section-2) .section-block:is(.section-image):is(.section-image-offset-bottom) {
    margin-bottom: -8.5rem
  }

  :is(.home-section-2, #home-section-2) .section-block:is(.section-image):is(.section-image-profile) {
    width: 30.625rem;
    gap: 5rem
  }

  :is(.home-section-2, #home-section-2) .section-image-icon {
    font-size: 11rem
  }

  :is(.home-section-2, #home-section-2) .section-heading:not(h1.primary-heading) {
    font-size: 3.125rem
  }
}

@media only screen and (max-width: 74.9375rem) {
  :is(.home-section-2, #home-section-2) .section-block:is(.section-image) {
    justify-self: center
  }
}

:root {
  --home-section-3-offset: 27.75rem
}

@media only screen and (min-width: 48rem) {
  :root {
    --home-section-3-offset: 23.25rem
  }
}

@media only screen and (min-width: 75rem) {
  :root {
    --home-section-3-offset: 16rem
  }
}

@media only screen and (min-width: 87.5rem) {
  :root {
    --home-section-3-offset: 15rem
  }
}

@media only screen and (min-width: 120rem) {
  :root {
    --home-section-3-offset: 14.2875rem
  }
}

.home-section-3:nth-last-child(n+2) {
  position: relative;
  z-index: 2;
  padding-bottom: var(--overlap-buffer)
}

.template-wrapper:has(:is(main, .main)>.home-section-3) .has-home-section-3-offset:is(.home-section-3+.home-section:not(.home-section-3), .home-section-3+.home-section:not(.home-section-3) *)::before {
  content: "";
  height: var(--home-section-3-offset);
  margin-bottom: min(var(--profile-section-3-offset) - var(--overlap-buffer), 0px);
  display: block;
  flex: 0 0 auto;
  width: 100%
}

.template-wrapper:has(:is(main, .main)>.home-section-3) .home-section-3:nth-last-child(n+2) {
  padding-bottom: var(--overlap-buffer) !important;
  margin-bottom: 0 !important
}

.template-wrapper:has(:is(main, .main)>.home-section-3) .home-section-3:nth-last-child(n+2) .home-section-3-offset-element {
  margin-bottom: calc((var(--home-section-3-offset) + var(--overlap-buffer))*-1) !important
}

:is(.home-section-3, #home-section-3) {
  background-color: var(--scheme-bg-contrast, var(--color-dark-alt));
  color: var(--scheme-fg, var(--color-light))
}

:is(.home-section-3, #home-section-3) :is(.swiper) {
  --swiper-pagination-bottom: 2.3125rem;
  --swiper-custom-arrow-offset-x: 38.875rem
}

:is(.home-section-3, #home-section-3) .section-background {
  --responsive-background-overlay-mix-blend: multiply;
  --responsive-background-overlay-background: linear-gradient(to bottom, rgba(0, 0, 0, .4) 11%, rgba(0, 0, 0, .80) 50%)
}

:is(.home-section-3, #home-section-3) .section-blocks-outer {
  gap: 4.5rem
}

:is(.home-section-3, #home-section-3) .section-blocks-bottom {
  gap: 2.5rem
}

@media only screen and (min-width: 48rem) {
  :is(.home-section-3, #home-section-3) .section-blocks-bottom {
    gap: 3.1875rem
  }

  :is(.home-section-3, #home-section-3) .section-video-thumbnail {
    width: 20.4375rem
  }

  :is(.home-section-3, #home-section-3) .section-icons {
    margin-top: 2rem
  }

  :is(.home-section-3, #home-section-3) .section-icons-items {
    justify-content: center;
    justify-items: center;
    gap: 3rem
  }

  :is(.home-section-3, #home-section-3) .section-icons-item {
    font-size: 2.5625rem
  }
}

@media only screen and (min-width: 75rem) {
  :is(.home-section-3, #home-section-3) .section-background {
    --responsive-background-overlay-mix-blend: multiply;
    --responsive-background-overlay-background: linear-gradient(to bottom left, rgba(0, 0, 0, .4) 11%, rgba(0, 0, 0, .80) 50%)
  }

  :is(.home-section-3, #home-section-3) .section-blocks-top {
    grid-template-columns: 1fr auto;
    justify-content: start;
    -moz-column-gap: 8.75rem;
    column-gap: 8.75rem
  }

  :is(.home-section-3, #home-section-3) .section-block:is(.section-body) {
    width: 36rem;
    justify-self: center
  }

  :is(.home-section-3, #home-section-3) .section-icons {
    place-self: self-end;
    grid-row: span 2
  }

  :is(.home-section-3, #home-section-3) .section-icons-item {
    gap: 3rem
  }

  :is(.home-section-3, #home-section-3) .section-video-thumbnail {
    grid-row: auto;
    grid-column: 1
  }

  :is(.home-section-3, #home-section-3) .section-video-body {
    grid-column: 1
  }
}

@media only screen and (min-width: 87.5rem) {
  :is(.home-section-3, #home-section-3) :is(.swiper) {
    --swiper-custom-arrow-offset-x: 57.75rem
  }

  :is(.home-section-3, #home-section-3) .testimonial-highlight {
    font-size: 1.625rem
  }

  :is(.home-section-3, #home-section-3) .section-blocks-top {
    -moz-column-gap: 16.5rem;
    column-gap: 16.5rem
  }
}

@media only screen and (min-width: 120rem) {
  :is(.home-section-3, #home-section-3) :is(.swiper) {
    --swiper-custom-arrow-offset-x: 57.75rem
  }

  :is(.home-section-3, #home-section-3) .testimonial-highlight {
    font-size: 2rem
  }

  :is(.home-section-3, #home-section-3) .testimonial-mini .testimonial-highlight {
    font-size: 1.75rem
  }

  :is(.home-section-3, #home-section-3) .section-blocks-top {
    -moz-column-gap: 28.75rem;
    column-gap: 28.75rem;
    padding-left: 5.5rem
  }

  :is(.home-section-3, #home-section-3) .section-block:is(.section-body) {
    width: 54.6875rem
  }

  :is(.home-section-3, #home-section-3) .section-icons-item {
    font-size: 3.75rem
  }
}

@media only screen and (max-width: 74.9375rem) {
  :is(.home-section-3, #home-section-3) :is(.swiper) {
    --swiper-custom-arrow-offset-x: 0rem
  }

  :is(.home-section-3, #home-section-3) .section-top {
    width: 27.625rem;
    justify-self: center
  }
}

:is(.home-section-4, #home-section-4) {
  padding-block: 5.375rem 3.25rem;
  background-color: var(--scheme-bg, var(--color-dark-alt));
  color: var(--scheme-fg, var(--color-light))
}

:is(.home-section-4, #home-section-4) :is(.swiper) {
  --swiper-pagination-bottom: 2.3125rem
}

:is(.home-section-4, #home-section-4) .result-container {
  align-items: flex-start
}

:is(.home-section-4, #home-section-4) .result-summary {
  text-align: initial
}

:is(.home-section-4, #home-section-4) .result-learn-more {
  align-self: flex-end
}

:is(.home-section-4, #home-section-4) .section-blocks-outer {
  gap: 5.3125rem
}

:is(.home-section-4, #home-section-4) .section-blocks-top {
  justify-content: center;
  justify-items: center
}

:is(.home-section-4, #home-section-4) .section-blocks-bottom {
  gap: 2.75rem
}

:is(.home-section-4, #home-section-4) .section-blocks-header-bottom {
  gap: 1.125rem
}

:is(.home-section-4, #home-section-4) .section-block:is(.section-items-bottom) {
  width: 100%;
  justify-self: center
}

:is(.home-section-4, #home-section-4) .section-header {
  text-wrap: balance
}

:is(.home-section-4, #home-section-4) .section-heading-bottom {
  font-size: 2.1875rem
}

:is(.home-section-4, #home-section-4) .section-lead {
  font-size: 1.875rem
}

@media only screen and (min-width: 48rem) {
  :is(.home-section-4, #home-section-4) {
    padding-block: 9.375rem 6.5rem
  }

  :is(.home-section-4, #home-section-4) .section-blocks-top {
    gap: 2.4375rem
  }

  :is(.home-section-4, #home-section-4) .section-heading-bottom {
    font-size: 2.8125rem
  }

  :is(.home-section-4, #home-section-4) .section-lead {
    font-size: 2.1875rem
  }
}

@media only screen and (min-width: 75rem) {
  :is(.home-section-4, #home-section-4) {
    padding-block: 9.375rem 7.1875rem
  }

  :is(.home-section-4, #home-section-4) .section-blocks-outer {
    gap: 8.875rem
  }

  :is(.home-section-4, #home-section-4) .section-blocks-bottom {
    grid-template-columns: repeat(4, 1fr);
    gap: 1.25rem
  }

  :is(.home-section-4, #home-section-4) .section-blocks-header-bottom {
    gap: .875rem
  }

  :is(.home-section-4, #home-section-4) .section-block:is(.section-top) {
    width: 43.75rem;
    justify-self: center
  }

  :is(.home-section-4, #home-section-4) .section-block:is(.section-header-bottom) {
    grid-column: span 2;
    align-self: self-start
  }
}

@media only screen and (min-width: 87.5rem) {
  :is(.home-section-4, #home-section-4) {
    padding-block: 9.75rem 8.1875rem
  }
}

@media only screen and (min-width: 87.5rem)and (max-width: 119.9375rem) {
  :is(.home-section-4, #home-section-4) .section-container {
    --container-gutter: 11.1875rem
  }
}

@media only screen and (min-width: 87.5rem) {
  :is(.home-section-4, #home-section-4) .section-blocks-outer {
    gap: 12.375rem
  }
}

@media only screen and (min-width: 120rem) {
  :is(.home-section-4, #home-section-4) {
    padding-block: 13.4375rem 11.25rem
  }

  :is(.home-section-4, #home-section-4) .section-blocks-top {
    gap: 3.5625rem
  }

  :is(.home-section-4, #home-section-4) .section-blocks-outer {
    gap: 17.9375rem
  }

  :is(.home-section-4, #home-section-4) .section-block:is(.section-top) {
    width: 56.75rem
  }

  :is(.home-section-4, #home-section-4) .section-block:is(.section-content) {
    width: 50rem
  }

  :is(.home-section-4, #home-section-4) .section-heading-bottom {
    font-size: 3.4375rem
  }

  :is(.home-section-4, #home-section-4) .section-lead {
    font-size: 2.8125rem
  }
}

@media only screen and (max-width: 119.9375rem) {
  :is(.home-section-4, #home-section-4) .result {
    padding-inline: 2.25rem
  }

  :is(.home-section-4, #home-section-4) .result-details {
    padding-inline: 2rem
  }
}

:is(.home-section-5, #home-section-5) .section-blocks-outer {
  gap: 2.375rem
}

:is(.home-section-5, #home-section-5) .section-blocks-feature {
  gap: 1.25rem
}

:is(.home-section-5, #home-section-5) .section-subheading {
  font-family: var(--font-secondary)
}

:is(.home-section-5, #home-section-5) .section-feature {
  align-self: self-start
}

:is(.home-section-5, #home-section-5) .section-links {
  display: flex;
  flex-wrap: wrap;
  gap: .625rem .25rem
}

@media only screen and (min-width: 48rem) {
  :is(.home-section-5, #home-section-5) {
    padding-block: 5.875rem 6.625rem
  }

  :is(.home-section-5, #home-section-5) .section-blocks-outer {
    gap: 4.375rem
  }
}

@media only screen and (min-width: 75rem) {
  :is(.home-section-5, #home-section-5) {
    padding-block: 8.375rem
  }

  :is(.home-section-5, #home-section-5) .section-blocks {
    align-items: start;
    align-content: start
  }

  :is(.home-section-5, #home-section-5) .section-blocks-outer {
    grid-template-columns: auto auto 1fr;
    gap: 5rem 4.125rem
  }

  :is(.home-section-5, #home-section-5) .section-block:is(.section-lead) {
    grid-column: span 2;
    width: 30ch
  }

  :is(.home-section-5, #home-section-5) .section-block:is(.section-feature) {
    grid-column: 1;
    width: 25.75rem
  }

  :is(.home-section-5, #home-section-5) .section-block:is(.section-content) {
    grid-column: 2/span 2
  }
}

@media only screen and (min-width: 87.5rem) {
  :is(.home-section-5, #home-section-5) .section-blocks-outer {
    gap: 6.4375rem 10.625rem
  }
}

@media only screen and (min-width: 120rem) {
  :is(.home-section-5, #home-section-5) {
    padding-block: 12.375rem 11.6875rem
  }

  :is(.home-section-5, #home-section-5) .section-blocks-outer {
    gap: 9.6875rem 11.3125rem
  }

  :is(.home-section-5, #home-section-5) .section-block:is(.section-feature) {
    width: 31.625rem
  }

  :is(.home-section-5, #home-section-5) .section-lead {
    font-size: 3.75rem
  }
}

@media only screen and (max-width: 119.9375rem) {
  :is(.home-section-5, #home-section-5) .section-content:is(.columns) {
    --columns-number: 1
  }
}

@media only screen and (max-width: 74.9375rem) {
  :is(.home-section-5, #home-section-5) .section-lead {
    text-align: center
  }
}

@media only screen and (max-width: 47.9375rem) {
  :is(.home-section-5, #home-section-5) .section-subheading {
    text-align: center
  }

  :is(.home-section-5, #home-section-5) .section-links {
    justify-content: center
  }
}

:is(.home-section-6, #home-section-6) {
  --fancy-gradient-bg-position: bottom center
}

:is(.home-section-6, #home-section-6) .profile {
  max-width: 19.5rem
}

:is(.home-section-6, #home-section-6) .sp {
  border-top: 1px solid var(--color-primary);
  padding-block: 1rem
}

:is(.home-section-6, #home-section-6) .sp-title {
  font-size: 1.75rem;
  font-weight: normal
}

:is(.home-section-6, #home-section-6) .sp-description {
  font-size: 1rem
}

:is(.home-section-6, #home-section-6) .section-blocks-outer {
  gap: 3.75rem
}

:is(.home-section-6, #home-section-6) .section-blocks-top {
  gap: 3.75rem;
  justify-content: center;
  justify-items: center
}

:is(.home-section-6, #home-section-6) .section-blocks-middle {
  text-align: center;
  justify-content: center;
  justify-items: center
}

:is(.home-section-6, #home-section-6) .section-blocks-header {
  gap: 1.125rem
}

:is(.home-section-6, #home-section-6) .section-icon-top {
  font-size: 8rem;
  margin-block: 0rem -0.375em
}

:is(.home-section-6, #home-section-6) .section-icon-middle {
  font-size: 5.8125rem
}

:is(.home-section-6, #home-section-6) .section-subheading {
  font-size: 1rem
}

:is(.home-section-6, #home-section-6) .section-heading-top {
  font-size: 1.875rem
}

@media only screen and (min-width: 48rem) {
  :is(.home-section-6, #home-section-6) {
    padding-block: 6.5rem 5.875rem
  }

  :is(.home-section-6, #home-section-6) :is(.swiper) {
    --swiper-custom-arrow-offset-x: 31.875rem
  }

  :is(.home-section-6, #home-section-6) .section-blocks-top {
    gap: 4.75rem
  }

  :is(.home-section-6, #home-section-6) .section-blocks-middle {
    gap: 2.625rem
  }

  :is(.home-section-6, #home-section-6) .section-blocks-outer {
    gap: 6.25rem
  }

  :is(.home-section-6, #home-section-6) .section-blocks-bottom {
    gap: 3.4375rem
  }

  :is(.home-section-6, #home-section-6) .section-block:is(.section-image) {
    width: 22rem
  }
}

@media only screen and (min-width: 48rem)and (max-width: 74.9375rem) {
  :is(.home-section-6, #home-section-6) .section-block:is(.section-header-top) {
    width: 78%
  }
}

@media only screen and (min-width: 48rem) {
  :is(.home-section-6, #home-section-6) .section-block:is(.section-body) {
    width: 30.1875rem;
    align-self: self-start
  }

  :is(.home-section-6, #home-section-6) .section-header-top {
    gap: 4.625rem
  }

  :is(.home-section-6, #home-section-6) .section-image-icon {
    margin-left: -0.5em;
    margin-block: -0.5em 0
  }

  :is(.home-section-6, #home-section-6) .section-items:is(.columns) {
    --columns-number: 2;
    --columns-gap-x: 1.875rem;
    --columns-gap-y: 1.25rem
  }

  :is(.home-section-6, #home-section-6) .section-heading-top {
    font-size: 2.1875rem
  }
}

@media only screen and (min-width: 75rem) {
  :is(.home-section-6, #home-section-6) {
    padding-block: 6.75rem 7.5rem
  }

  :is(.home-section-6, #home-section-6) .section-blocks-outer {
    gap: 7.75rem
  }

  :is(.home-section-6, #home-section-6) .section-blocks-top {
    grid-template-columns: 1fr auto;
    gap: 4.25rem 4.75rem
  }

  :is(.home-section-6, #home-section-6) .section-block:is(.section-image) {
    grid-column: 2
  }

  :is(.home-section-6, #home-section-6) .section-block:is(.section-items) {
    grid-column: 1/-1
  }

  :is(.home-section-6, #home-section-6) .section-block:is(.section-body) {
    width: 61.4375rem
  }

  :is(.home-section-6, #home-section-6) .section-icon-middle {
    font-size: 6.125rem
  }

  :is(.home-section-6, #home-section-6) .section-items:is(.columns) {
    --columns-number: 3;
    --columns-gap-x: 3.625rem
  }
}

@media only screen and (min-width: 87.5rem) {
  :is(.home-section-6, #home-section-6) {
    padding-block: 7rem 7.5625rem
  }

  :is(.home-section-6, #home-section-6) :is(.swiper) {
    --swiper-custom-arrow-offset-x: 18.125rem
  }

  :is(.home-section-6, #home-section-6) .section-blocks-outer {
    gap: 6rem
  }

  :is(.home-section-6, #home-section-6) .section-blocks-top {
    gap: 7.625rem 9.75rem
  }

  :is(.home-section-6, #home-section-6) .section-block:is(.section-image-top) {
    width: 26.875rem
  }

  :is(.home-section-6, #home-section-6) .section-block:is(.section-items) {
    width: 60.125rem
  }

  :is(.home-section-6, #home-section-6) .section-block:is(.section-body) {
    width: 70.25rem
  }

  :is(.home-section-6, #home-section-6) .section-icon-top {
    font-size: 9.71125rem
  }
}

@media only screen and (min-width: 120rem) {
  :is(.home-section-6, #home-section-6) {
    padding-block: 8.375rem 10.1875rem
  }

  :is(.home-section-6, #home-section-6) :is(.swiper) {
    --swiper-custom-arrow-offset-x: 21.5rem
  }

  :is(.home-section-6, #home-section-6) .sp {
    padding-block: 1.6875rem
  }

  :is(.home-section-6, #home-section-6) .sp-title {
    font-size: 2.375rem
  }

  :is(.home-section-6, #home-section-6) .sp-description {
    font-size: 1.25rem
  }

  :is(.home-section-6, #home-section-6) .section-blocks-outer {
    gap: 10rem
  }

  :is(.home-section-6, #home-section-6) .section-blocks-top {
    gap: 12.4375rem 23.25rem
  }

  :is(.home-section-6, #home-section-6) .section-block:is(.section-image) {
    width: 32.625rem
  }

  :is(.home-section-6, #home-section-6) .section-block:is(.section-items) {
    width: 80.1875rem
  }

  :is(.home-section-6, #home-section-6) .section-block:is(.section-body) {
    width: 103rem
  }

  :is(.home-section-6, #home-section-6) .section-items:is(.columns) {
    --columns-gap-x: 4.0625rem;
    --columns-gap-y: 2.75rem
  }

  :is(.home-section-6, #home-section-6) .section-heading-top {
    font-size: 3.125rem
  }

  :is(.home-section-6, #home-section-6) .section-lead {
    font-size: 3.75rem
  }

  :is(.home-section-6, #home-section-6) .section-icon-top {
    font-size: 11.8125rem
  }

  :is(.home-section-6, #home-section-6) .section-icon-middle {
    font-size: 7.375rem
  }
}

@media only screen and (max-width: 47.9375rem) {
  :is(.home-section-6, #home-section-6) .section-image {
    justify-self: center
  }
}

:is(.home-section-7, #home-section-7):is(.section-style-padded) {
  background-color: var(--scheme-bg, var(--color-light-alt));
  padding-block: 3.625rem 3.125rem
}

:is(.home-section-7, #home-section-7):is(.section-style-margined) {
  margin-block: 3.625rem 3.125rem
}

:is(.home-section-7, #home-section-7) .section-blocks-outer {
  gap: 3.8125rem
}

:is(.home-section-7, #home-section-7) .section-blocks-header {
  gap: .6875rem;
  justify-content: center;
  justify-items: center
}

:is(.home-section-7, #home-section-7) .section-header {
  text-align: center;
  width: 60rem;
  justify-self: center
}

:is(.home-section-7, #home-section-7) .section-heading {
  max-width: 30ch
}

@media only screen and (min-width: 48rem) {
  :is(.home-section-7, #home-section-7):is(.section-style-padded) {
    padding-block: 5.6875rem 3.5625rem
  }

  :is(.home-section-7, #home-section-7):is(.section-style-margined) {
    margin-block: 5.6875rem 3.5625rem
  }

  :is(.home-section-7, #home-section-7) .section-blocks-outer {
    gap: 4.25rem
  }

  :is(.home-section-7, #home-section-7) .section-heading-larger {
    font-size: 2.8125rem
  }
}

@media only screen and (min-width: 75rem) {
  :is(.home-section-7, #home-section-7):is(.section-style-padded) {
    padding-block: 5.75rem 4.875rem
  }

  :is(.home-section-7, #home-section-7):is(.section-style-margined) {
    margin-block: 5.75rem 4.875rem
  }

  :is(.home-section-7, #home-section-7) .section-blocks-outer {
    gap: 2.5625rem
  }
}

@media only screen and (min-width: 87.5rem) {
  :is(.home-section-7, #home-section-7):is(.section-style-padded) {
    padding-block: 6rem 5.8125rem
  }

  :is(.home-section-7, #home-section-7):is(.section-style-margined) {
    margin-block: 6rem 5.8125rem
  }

  :is(.home-section-7, #home-section-7) .section-blocks-outer {
    gap: 3.5rem
  }

  :is(.home-section-7, #home-section-7) .section-heading-larger {
    font-size: 3.4375rem
  }
}

@media only screen and (min-width: 120rem) {
  :is(.home-section-7, #home-section-7):is(.section-style-padded) {
    padding-block: 9.25rem 6.5625rem
  }

  :is(.home-section-7, #home-section-7):is(.section-style-margined) {
    margin-block: 9.25rem 6.5625rem
  }

  :is(.home-section-7, #home-section-7) .section-container-override {
    --container-gutter: 23.125rem
  }

  :is(.home-section-7, #home-section-7) .section-blocks-outer {
    gap: 4.3125rem
  }
}

:is(.home-section-8, #home-section-8) {
  padding-block: 4.375rem 5rem
}

:is(.home-section-8, #home-section-8) .entry {
  padding-block: 3.4375rem;
  padding-inline: 1.875rem;
  min-height: 22.875rem
}

:is(.home-section-8, #home-section-8) .entry,
:is(.home-section-8, #home-section-8) .entry-container {
  display: flex;
  min-width: 0;
  flex-direction: column
}

:is(.home-section-8, #home-section-8) .entry-container {
  width: 100%;
  flex: 1 1;
  gap: .625rem
}

:is(.home-section-8, #home-section-8) .entry-meta {
  -webkit-mask-image: linear-gradient(to left, transparent 0, white 1em, white 100%);
  mask-image: linear-gradient(to left, transparent 0, white 1em, white 100%);
  overflow-x: auto;
  white-space: nowrap;
  scrollbar-width: none;
  -ms-overflow-style: none
}

:is(.home-section-8, #home-section-8) .entry-meta::-webkit-scrollbar {
  display: none
}

:is(.home-section-8, #home-section-8) .entry-title {
  font-size: 1.875rem;
  font-weight: 400;
  --clamp-text-cap: 5
}

:is(.home-section-8, #home-section-8) .entry-buttons {
  margin-top: auto;
  justify-self: self-end;
  justify-content: flex-end
}

:is(.home-section-8, #home-section-8) .section-blocks-outer {
  gap: 2.8125rem
}

:is(.home-section-8, #home-section-8) .section-blocks-header {
  gap: .25rem
}

:is(.home-section-8, #home-section-8) .section-heading {
  font-size: 2.8125rem
}

:is(.home-section-8, #home-section-8) .section-subheading {
  font-size: 1.5rem;
  font-weight: 500
}

@media only screen and (min-width: 48rem) {
  :is(.home-section-8, #home-section-8) {
    padding-block: 5.8125rem
  }

  :is(.home-section-8, #home-section-8) .entry {
    padding-inline: 3.125rem
  }

  :is(.home-section-8, #home-section-8) :is(.swiper) {
    --swiper-pagination-bottom: 2.375rem
  }

  :is(.home-section-8, #home-section-8) .section-blocks-outer {
    gap: 3rem
  }

  :is(.home-section-8, #home-section-8) .section-blocks-header {
    gap: .5rem .875rem
  }

  :is(.home-section-8, #home-section-8) .section-block:is(.section-body) {
    width: 25rem
  }
}

@media only screen and (min-width: 75rem) {
  :is(.home-section-8, #home-section-8) {
    padding-block: 6.25rem
  }

  :is(.home-section-8, #home-section-8) :is(.swiper) {
    --swiper-custom-arrow-offset-x: 27rem
  }

  :is(.home-section-8, #home-section-8) .section-blocks-header,
  :is(.home-section-8, #home-section-8) .section-blocks-outer {
    grid-template-columns: -webkit-max-content 1fr;
    grid-template-columns: max-content 1fr
  }

  :is(.home-section-8, #home-section-8) .section-blocks-header {
    align-items: center;
    align-content: center
  }

  :is(.home-section-8, #home-section-8) .section-blocks-outer {
    gap: 5.6875rem
  }

  :is(.home-section-8, #home-section-8) .section-block:is(.section-header) {
    width: 22rem;
    justify-self: self-start
  }

  :is(.home-section-8, #home-section-8) .section-block:is(.section-heading, .section-subheading) {
    grid-column: 1/-1
  }

  :is(.home-section-8, #home-section-8) .section-heading {
    font-size: 3.125rem
  }

  :is(.home-section-8, #home-section-8) .section-subheading {
    font-size: 1.75rem
  }
}

@media only screen and (min-width: 87.5rem) {
  :is(.home-section-8, #home-section-8) :is(.swiper) {
    --swiper-custom-arrow-offset-x: 54rem
  }

  :is(.home-section-8, #home-section-8) .section-blocks-outer {
    gap: 8.6875rem
  }
}

@media only screen and (min-width: 120rem) {
  :is(.home-section-8, #home-section-8) {
    padding-block: 7rem
  }

  :is(.home-section-8, #home-section-8) :is(.swiper) {
    --swiper-custom-arrow-offset-x: 69.375rem
  }

  :is(.home-section-8, #home-section-8) .section-container {
    --container-gutter: 14.375rem
  }

  :is(.home-section-8, #home-section-8) .section-blocks-outer {
    gap: 16.25rem
  }

  :is(.home-section-8, #home-section-8) .section-block:is(.section-body) {
    width: 32.8125rem
  }
}

@media only screen and (max-width: 74.9375rem) {
  :is(.home-section-8, #home-section-8) .section-blocks-outer {
    justify-content: center;
    justify-items: center
  }
}

:is(.contact-page, #contact-page) .contact-block:is(.contact-special) {
  justify-self: center
}

@media only screen and (max-width: 74.9375rem) {
  :is(.contact-page, #contact-page) .contact-blocks {
    width: -webkit-max-content;
    width: -moz-max-content;
    width: max-content;
    max-width: 100%;
    margin-left: auto;
    margin-right: auto
  }
}

:is(.error404-page, #error404-page) {
  padding-block: 8.125rem;
  text-align: center
}

:is(.error404-page, #error404-page) .section-blocks {
  display: grid;
  grid-template-columns: 100%;
  gap: 1.75rem
}

:is(.error404-page, #error404-page) .section-header {
  margin-bottom: -1.25rem
}

:is(.error404-page, #error404-page) .section-heading {
  font-size: 6.25rem;
  line-height: .55;
  margin-bottom: 0
}

.about-section .section-heading:last-child:not(.primary-heading) {
  margin-bottom: 0
}

:is(.about-page, #about-page) {
  padding-block: 0
}

:is(.about-section-1, #about-section-1) {
  padding-top: 0rem;
  background-color: rgba(0, 0, 0, 0)
}

:is(.about-section-2, #about-section-2) {
  background-color: var(--scheme-bg, var(--color-dark-alt));
  color: var(--scheme-fg, var(--color-light))
}

@media only screen and (min-width: 75rem) {
  :is(.about-section-3, #about-section-3) {
    padding-block: 8rem
  }

  :is(.about-section-3, #about-section-3) .section-blocks-outer {
    gap: 6rem
  }
}

@media only screen and (min-width: 120rem) {
  :is(.about-section-3, #about-section-3):is(.section-style-padded) {
    padding-block: 10.1875rem
  }

  :is(.about-section-3, #about-section-3) .section-container {
    --container-gutter: 20.625rem
  }

  :is(.about-section-3, #about-section-3) .section-blocks-outer {
    gap: 7.3125rem
  }

  :is(.about-section-3, #about-section-3) .section-heading {
    font-size: 3.75rem
  }
}

body.onep21-template-practice-areas {
  background: var(--color-light-alt)
}

:is(.practice-areas-page, #practice-areas-page) .practice-area-menu:is(.columns) {
  --columns-gap-x: 4.25rem;
  --columns-gap-y: 0rem;
  justify-content: center;
  justify-items: center
}

:is(.practice-areas-page, #practice-areas-page) .practice-area:nth-last-child(n+2) {
  margin-bottom: 8.875rem
}

:is(.practice-areas-page, #practice-areas-page) .practice-area-menu {
  padding-block: 2.125rem 3.375rem;
  padding-inline: var(--container-gutter);
  border-radius: var(--global-radius);
  background: var(--color-light);
  box-shadow: 0 6px 8px 0 rgba(0, 0, 0, .1)
}

@media only screen and (min-width: 48rem) {
  :is(.practice-areas-page, #practice-areas-page) .practice-area-menu {
    padding-inline: 5.75rem
  }
}

@media only screen and (min-width: 75rem) {
  :is(.practice-areas-page, #practice-areas-page) .practice-area-menu:is(.columns) {
    --columns-number: 2
  }
}

@media only screen and (min-width: 87.5rem) {
  :is(.practice-areas-page, #practice-areas-page) .practice-area-menu:is(.columns) {
    --columns-number: 3
  }
}

#results-banner .primary-heading {
  text-wrap: balance
}

:is(.results-page, #results-page) .results:is(.columns) {
  --columns-gap-x: 3rem;
  --columns-gap-y: 3rem;
  justify-content: center;
  justify-items: center
}

:is(.results-page, #results-page) .other-results .result {
  min-height: 13rem
}

:is(.results-page, #results-page) .other-results .result-container {
  justify-content: center
}

:is(.results-page, #results-page) .section-subheader {
  margin-block: 6rem 3rem;
  text-align: center
}

@media only screen and (min-width: 75rem) {
  :is(.results-page, #results-page) .results:is(.columns) {
    --columns-number: 2
  }

  :is(.results-page, #results-page) .section-subheader {
    margin-block: 8rem 3rem;
    text-align: center
  }
}

@media only screen and (min-width: 87.5rem) {
  :is(.results-page, #results-page) .results:is(.columns) {
    --columns-number: 3
  }
}

@media only screen and (min-width: 120rem) {
  :is(.results-page, #results-page) .result-container {
    gap: 1.3125rem
  }

  :is(.results-page, #results-page) .result-value {
    font-size: 3.4375rem
  }
}

.team-group:nth-child(n+2) {
  margin-top: 8.6785rem
}

.team-group-title {
  margin-bottom: 4rem
}

:is(.team-page, #team-page) .profiles:is(.columns) {
  --columns-gap-x: 1.625rem;
  --columns-gap-y: 6.1875rem;
  justify-content: center;
  justify-items: center
}

:is(.team-page, #team-page) .profile {
  width: 21.75rem
}

@media only screen and (min-width: 48rem) {
  :is(.team-page, #team-page) .profiles:is(.columns) {
    --columns-number: 2
  }
}

@media only screen and (min-width: 75rem) {
  :is(.team-page, #team-page) .profiles:is(.columns) {
    --columns-number: 3
  }
}

@media only screen and (min-width: 120rem) {
  :is(.team-page, #team-page) .profiles:is(.columns) {
    --columns-number: 4
  }
}

body.onep21-template-testimonials {
  background: var(--color-light-alt)
}

:is(.testimonials-page, #testimonials-page) .testimonials:is(.columns) {
  --columns-gap-x: 2.5625rem;
  --columns-gap-y: 2.5625rem;
  justify-content: center;
  justify-items: center
}

:is(.testimonials-page, #testimonials-page) .testimonials:is(.columns):nth-child(n+2) {
  margin-top: var(--columns-gap-y)
}

:is(.testimonials-page, #testimonials-page) .testimonials-featured {
  margin-inline: auto;
  max-width: 100%
}

:is(.testimonials-page, #testimonials-page) .testimonials-featured :is(.swiper) {
  --swiper-custom-arrow-offset-x: 50vw
}

:is(.testimonials-page, #testimonials-page) .testimonials-featured .testimonial {
  text-align: initial
}

:is(.testimonials-page, #testimonials-page) .testimonials-featured .testimonial-container {
  align-items: start
}

:is(.testimonials-page, #testimonials-page) .testimonials-featured .testimonial-highlight {
  --clamp-text-cap: 3
}

:is(.testimonials-page, #testimonials-page) .testimonials-featured .testimonial-quote {
  --clamp-text-cap: 5
}

:is(.testimonials-page, #testimonials-page) .testimonial:nth-last-child(n+2) {
  padding-bottom: calc(var(--columns-gap-y) + .25rem);
  border-bottom: 1px solid var(--color-neutral-lighter)
}

:is(.testimonials-page, #testimonials-page) .testimonial .testimonial-highlight {
  max-width: 52ch;
  text-wrap: balance
}

@media only screen and (min-width: 48rem) {
  :is(.testimonials-page, #testimonials-page) .testimonials:is(.columns) {
    --columns-gap-x: 2.25rem;
    --columns-gap-y: 2.6875rem
  }
}

@media only screen and (min-width: 75rem) {
  :is(.testimonials-page, #testimonials-page) .testimonials:is(.columns) {
    --columns-number: 2
  }
}

:is(.videos-page, #videos-page) .videos:is(.columns) {
  --columns-gap-x: 2.25rem;
  --columns-gap-y: 5rem;
  justify-content: center;
  justify-items: center;
  max-width: -webkit-max-content;
  max-width: -moz-max-content;
  max-width: max-content;
  margin-inline: auto
}

:is(.videos-page, #videos-page) .video {
  width: 21.125rem
}

@media only screen and (min-width: 48rem) {
  :is(.videos-page, #videos-page) .videos:is(.columns) {
    --columns-number: 2
  }
}

@media only screen and (min-width: 75rem) {
  :is(.videos-page, #videos-page) .videos:is(.columns) {
    --columns-number: 3
  }
}

@media only screen and (min-width: 120rem) {
  :is(.videos-page, #videos-page) .videos:is(.columns) {
    --columns-number: 4
  }
}

.profile-contact a:not(:hover, :focus) {
  color: inherit;
  text-decoration: none
}

.profile-contact a:is(:hover, :focus) {
  color: var(--color-primary)
}

.profile-contact-list {
  display: flex;
  flex-direction: column;
  gap: 1.4375rem
}

.profile-contact-list-item-label {
  font-size: 1rem;
  line-height: .75;
  font-family: var(--font-secondary);
  color: var(--color-secondary);
  letter-spacing: .2em;
  text-transform: uppercase;
  font-weight: 700;
  margin-bottom: -0.25em
}

.profile-contact-list-item {
  display: flex;
  align-items: center;
  gap: .5em
}

@media only screen and (max-width: 87.4375rem) {
  .profile-contact-list-item {
    flex-direction: column;
    align-items: flex-start
  }
}

@media only screen and (max-width: 74.9375rem) {
  .profile-contact-list-item {
    text-align: center;
    align-items: center
  }
}

.profile-contact-list-item-social {
  margin-bottom: 1.75rem
}

.profile-contact-list-item-phone .profile-contact-list-item-link {
  font-size: 1.25rem;
  line-height: .75
}

.profile-contact-list-item-email .profile-contact-list-item-link {
  font-weight: bolder;
  text-decoration: underline
}

body.onep21-template-single-profile {
  --profile-image-offset: -4.375rem
}

@media only screen and (min-width: 75rem) {
  body.onep21-template-single-profile {
    --profile-image-offset: 12.5rem;
    --profile-sidebar-offset: 0rem
  }
}

@media only screen and (min-width: 87.5rem) {
  body.onep21-template-single-profile {
    --profile-image-offset: -6.875rem
  }
}

:is(.profile-page, #profile-page) {
  padding-block: 0
}

:is(.profile-page, #profile-page):is(.profile-page-full) {
  padding-block: 0
}

:is(.profile-page, #profile-page) .section-heading {
  max-width: none
}

:is(.profile-page, #profile-page) .section-divider {
  --fancy-border-margin-y: 2rem
}

@media only screen and (min-width: 75rem) {
  :is(.profile-page, #profile-page):is(.profile-page-simple) .default-section-main:has(+.default-section-sidebar:last-child) {
    margin-bottom: 0
  }
}

@media only screen and (min-width: 120rem) {
  :is(.profile-page, #profile-page) .default-sections {
    --default-sidebar-width: 35rem;
    --default-gap-x: 7.5rem
  }
}

@media only screen and (max-width: 74.9375rem) {
  :is(.profile-page, #profile-page) .section-image {
    max-width: 100%;
    width: 22.5rem;
    margin-inline: auto
  }

  :is(.profile-page, #profile-page) .section-awards:not(.widget),
  :is(.profile-page, #profile-page) .section-header {
    text-align: center
  }
}

@media only screen and (min-width: 75rem) {
  #profile-section-1 .default-section-sidebar {
    align-self: end
  }

  #profile-section-1 .default-section-main {
    align-self: center
  }
}

@media only screen and (min-width: 120rem) {
  #profile-section-1 {
    padding-bottom: 7.75rem
  }

  #profile-section-1 .section-blocks-outer {
    gap: 8.75rem 10.6875rem
  }
}

@media only screen and (max-width: 87.4375rem) {
  #profile-section-1 .section-blocks-outer {
    -moz-column-gap: var(--container-gutter);
    column-gap: var(--container-gutter)
  }

  #profile-section-1 .section-image-icon {
    font-size: 7.5rem
  }
}

@media only screen and (min-width: 75rem) {
  #profile-section-2 .section-lists {
    padding-top: 0
  }
}

#profile-section-3:is(#profile-section-1+.profile-section) {
  padding-top: 0
}

#profile-section-3 .section-blocks-outer {
  gap: 6rem
}

#profile-section-3 .section-block:is(.section-top) {
  grid-column: 1/-1
}

#profile-section-3 .section-lists {
  --columns-gap-x: 3rem
}

#profile-section-3 .section-lists :is(h2, h3, h4, h5, h6) {
  margin-bottom: .625rem;
  color: var(--color-primary)
}

#profile-section-3 .section-lists :is(h2, h3, h4, h5, h6):nth-child(n+2) {
  margin-top: 2rem
}

@media only screen and (min-width: 48rem) {
  #profile-section-3 .section-lists:has(:is(h2, h3, h4, h5, h6):nth-of-type(n+2):last-of-type) {
    --columns-number: 2
  }
}

@media only screen and (min-width: 75rem) {
  #profile-section-3 .section-blocks-outer {
    gap: 10rem
  }

  #profile-section-3 .section-lists:has(:is(h2, h3, h4, h5, h6):nth-of-type(n+3):last-of-type) {
    --columns-number: 3
  }
}

@media only screen and (min-width: 120rem) {
  #profile-section-3 .section-lists:has(:is(h2, h3, h4, h5, h6):nth-of-type(n+4):last-of-type) {
    --columns-number: 4
  }
}

#community-banner .banner-background {
  --responsive-background-overlay-background: rgba(0, 0, 0, 0.50)
}

@media only screen and (min-width: 120rem) {
  #community-banner .banner-main {
    min-height: 29rem
  }
}

:is(.community-page, #community-page) {
  padding-block: 0
}

:is(.community-section-1, #community-section-1) .section-items {
  justify-content: center;
  align-items: center;
  --columns-number: 2;
  --columns-gap-x: 3.75rem;
  --columns-gap-y: 3.75rem
}

:is(.community-section-1, #community-section-1) .section-item {
  --carousel-height: 4.25rem
}

:is(.community-section-1, #community-section-1) .section-lead {
  font-size: 2.25rem
}

@media only screen and (min-width: 48rem) {
  :is(.community-section-1, #community-section-1) .section-items {
    justify-content: center;
    align-items: center;
    --columns-gap-x: 4.9375rem;
    --columns-gap-y: 4.9375rem
  }
}

@media only screen and (min-width: 75rem) {
  :is(.community-section-1, #community-section-1) .section-blocks-header {
    gap: 2.375rem
  }

  :is(.community-section-1, #community-section-1) .section-items {
    --columns-number: 3
  }
}

@media only screen and (min-width: 87.5rem) {
  :is(.community-section-1, #community-section-1) {
    margin-block: 9rem 14.875rem
  }

  :is(.community-section-1, #community-section-1) .section-blocks-outer {
    gap: 6.75rem
  }

  :is(.community-section-1, #community-section-1) .section-items {
    --columns-number: 4
  }
}

@media only screen and (min-width: 120rem) {
  :is(.community-section-1, #community-section-1) .section-container {
    --container-gutter: 19.0625rem
  }
}

:is(.community-section-2, #community-section-2) {
  margin-block: 6rem
}

:is(.community-section-2, #community-section-2) :is(.swiper) {
  --swiper-custom-arrow-offset-x: 0rem
}

:is(.community-section-2, #community-section-2) .section-blocks-outer {
  gap: 7.875rem
}

:is(.community-section-2, #community-section-2) .section-blocks-items {
  gap: 6.25rem
}

:is(.community-section-2, #community-section-2) .section-blocks-item {
  -moz-column-gap: 3.75rem;
  column-gap: 3.75rem;
  row-gap: 3.75rem
}

:is(.community-section-2, #community-section-2) .section-blocks-info {
  gap: 1.6875rem;
  align-items: center
}

:is(.community-section-2, #community-section-2) .section-blocks-header {
  justify-content: center;
  justify-items: center
}

:is(.community-section-2, #community-section-2) .section-block:is(.section-header, .section-images) {
  grid-column: 1/-1
}

:is(.community-section-2, #community-section-2) .section-block:is(.section-info) {
  width: 25rem
}

:is(.community-section-2, #community-section-2) .section-item-image-img,
:is(.community-section-2, #community-section-2) .section-slider {
  border-radius: var(--global-radius)
}

:is(.community-section-2, #community-section-2) .section-item-image-img {
  --cover-aspect-w: 1;
  --cover-aspect-l: 1
}

:is(.community-section-2, #community-section-2) .section-info-item {
  align-items: center;
  justify-items: flex-start;
  display: flex;
  flex-wrap: wrap;
  row-gap: 1.6875rem;
  -moz-column-gap: .625rem;
  column-gap: .625rem
}

:is(.community-section-2, #community-section-2) .section-info-item:is(.section-info-buttons) {
  margin-block: .5rem .75rem
}

:where(:is(.community-section-2, #community-section-2) .section-info-link) {
  font-weight: bolder;
  text-decoration: underline
}

:where(:is(.community-section-2, #community-section-2) .section-info-link):is(:hover, :focus) {
  text-decoration: none
}

@media only screen and (min-width: 75rem) {
  :is(.community-section-2, #community-section-2) .section-blocks-item {
    grid-template-columns: auto 1fr;
    row-gap: 7.5rem
  }
}

@media only screen and (min-width: 87.5rem) {
  :is(.community-section-2, #community-section-2) {
    margin-block: 14.375rem
  }

  :is(.community-section-2, #community-section-2) .section-blocks-item {
    -moz-column-gap: 6.625rem;
    column-gap: 6.625rem
  }
}

@media only screen and (min-width: 120rem) {
  :is(.community-section-2, #community-section-2) .section-block:is(.section-info) {
    width: 41.1875rem
  }
}

@media only screen and (max-width: 74.9375rem) {
  :is(.community-section-2, #community-section-2) .section-block:is(.section-info) {
    justify-self: center
  }

  :is(.community-section-2, #community-section-2) .section-blocks-info {
    text-align: center;
    place-items: center;
    place-content: center
  }

  :is(.community-section-2, #community-section-2) .section-info-item {
    justify-content: center
  }
}

:is(.community-section-3, #community-section-3) .section-blocks-item {
  gap: 1.75rem
}

:is(.community-section-3, #community-section-3) .section-block:is(.section-item-image) {
  width: 14rem
}

:is(.community-section-3, #community-section-3) .section-items-columns {
  --columns-gap-x: 4.75rem;
  --columns-gap-y: 4.75rem
}

:is(.community-section-3, #community-section-3) .section-item-image {
  --cover-aspect-w: 1;
  --cover-aspect-l: 1;
  border-radius: var(--global-radius)
}

@media only screen and (min-width: 48rem) {
  :is(.community-section-3, #community-section-3) .section-blocks-item {
    grid-template-columns: auto 1fr
  }
}

@media only screen and (min-width: 75rem) {
  :is(.community-section-3, #community-section-3) .section-blocks-item {
    grid-template-columns: auto 1fr
  }

  :is(.community-section-3, #community-section-3) .section-items-columns {
    --columns-number: 2
  }
}

@media only screen and (min-width: 120rem) {
  :is(.community-section-3, #community-section-3):is(.section-style-padded) {
    padding-block: 7.1875rem 8.625rem
  }

  :is(.community-section-3, #community-section-3) .section-block:is(.section-item-image) {
    width: 18.75rem
  }
}

.content-group {
  width: 72.5625rem
}

.content-group,
.content-group-container {
  display: flex;
  max-width: 100%
}

.content-group,
.content-group-container {
  gap: inherit
}

.content-group-container {
  gap: 3.875rem
}

.content-group-image,
.content-group-content {
  max-width: 100%;
  grid-column: auto
}

.content-groups {
  display: grid;
  grid-auto-flow: dense;
  grid-template-columns: 100%;
  place-items: center;
  place-content: center;
  row-gap: 5rem;
  -moz-column-gap: 3.875rem;
  column-gap: 3.875rem
}

.content-groups-numbered {
  counter-reset: conGroInc
}

.content-groups-numbered .content-group {
  counter-increment: conGroInc
}

.content-groups-numbered .content-group-content::before {
  content: counter(conGroInc) ". ";
  display: block;
  font-size: 1.5rem;
  line-height: calc(1em + 4px);
  font-family: var(--font-secondary);
  color: var(--color-primary);
  letter-spacing: 0em;
  text-transform: none;
  font-style: normal;
  font-weight: 700
}

.content-group-image {
  width: 27rem;
  flex: 0 0 auto;
  place-self: start
}

.content-group-image-img {
  --cover-aspect-w: 34.375;
  --cover-aspect-l: 18.75;
  border-radius: var(--global-radius)
}

@media only screen and (min-width: 75rem) {
  .content-group:nth-child(even) .content-group-container {
    flex-direction: row-reverse
  }
}

@media only screen and (min-width: 87.5rem) {
  .content-group-image {
    width: 34.375rem
  }
}

@media only screen and (max-width: 74.9375rem) {
  .content-groups {
    row-gap: 4rem
  }

  .content-group-container {
    gap: 2rem;
    flex-direction: column
  }
}

.practice-area-section:is(:is(.section-style-padded.content-palette-dark)+:is(.section-style-padded.content-palette-dark), :is(.section-style-padded:not(.content-palette-dark))+:is(.section-style-padded:not(.content-palette-dark))) {
  padding-top: 0 !important
}

.practice-area-section:is(.section-style-margined+:is(.section-style-margined)) {
  padding-top: 0 !important
}

.practice-area-section :where(.columns) {
  --columns-gap-x: 2.5rem;
  --columns-gap-y: 2.5rem;
  justify-content: center;
  justify-items: center
}

.practice-area-section .section-heading:last-child:not(.primary-heading) {
  margin-bottom: 0
}

@media only screen and (min-width: 48rem) {
  .practice-area-section .section-items:where(.section-items-2-at-sm):where(.columns) {
    --columns-number: 2
  }
}

@media only screen and (min-width: 75rem) {
  .practice-area-section .section-items:where(.section-items-2-at-md):where(.columns) {
    --columns-number: 2
  }
}

@media only screen and (min-width: 87.5rem) {
  .practice-area-section .section-items:where(.columns) {
    --columns-number: 3
  }
}

#single-practice-area-banner .banner-main {
  padding-block: 5.5rem 3rem
}

#single-practice-area-banner .banner-main-blocks {
  row-gap: 2.375rem
}

#single-practice-area-banner .banner-cluster-icons {
  margin-block: 0
}

@media only screen and (min-width: 48rem) {
  #single-practice-area-banner .banner-cluster-icons-items {
    gap: 3.125rem
  }
}

@media only screen and (min-width: 75rem) {
  #single-practice-area-banner .banner-main {
    padding-block: 3.125rem 3.5rem
  }

  #single-practice-area-banner .banner-main-blocks {
    row-gap: 3.25rem
  }
}

@media only screen and (min-width: 120rem) {
  #single-practice-area-banner .banner-main {
    padding-block: 4.25rem
  }
}

@media only screen and (max-width: 47.9375rem) {
  #single-practice-area-banner .banner-cluster-icons-items {
    margin-top: 0;
    grid-template-columns: repeat(4, auto)
  }

  #single-practice-area-banner .banner-cluster-icons-item {
    font-size: 1.375rem
  }
}

.banner-has-form #single-practice-area-banner .banner-background {
  --responsive-background-overlay-background: linear-gradient(to top, black 15.73%, rgba(0, 0, 0, 0.50) 98.37%)
}

@media only screen and (min-width: 48rem) {
  .banner-has-form #single-practice-area-banner .banner-cluster-icons {
    margin-block: 0 4.25rem
  }
}

@media only screen and (min-width: 75rem) {
  .banner-has-form #single-practice-area-banner .banner-main {
    text-align: initial
  }

  .banner-has-form #single-practice-area-banner .banner-main-blocks {
    grid-template-rows: 1fr auto;
    justify-items: start;
    justify-content: space-between;
    row-gap: 7.875rem
  }

  .banner-has-form #single-practice-area-banner .banner-main-block:is(.banner-form) {
    width: 33.3125rem;
    justify-self: self-end
  }

  .banner-has-form #single-practice-area-banner .banner-body {
    align-self: self-end
  }

  .banner-has-form #single-practice-area-banner .banner-background {
    --responsive-background-overlay-background: rgba(0, 0, 0, 0.25) linear-gradient(312deg, rgba(0, 0, 0, 0.16) 38.96%, rgba(0, 0, 0, 0.76))
  }
}

@media only screen and (max-width: 47.9375rem) {
  .banner-has-form #single-practice-area-banner .banner-main-block:is(#banner-form) {
    margin-inline: calc(var(--container-gutter)*-1);
    max-width: none;
    width: auto;
    justify-self: stretch
  }

  .banner-has-form #single-practice-area-banner .banner-main-block:is(.banner-form) {
    width: 40.875rem
  }
}

:is(.single-practice-area-page, #single-practice-area-page) {
  padding-block: 0rem
}

:is(.practice-area-section-1, #practice-area-section-1) .section-outer,
:is(.practice-area-section-1, #practice-area-section-1) .section-header {
  row-gap: 3rem
}

:is(.practice-area-section-1, #practice-area-section-1) .section-header {
  text-align: center
}

:is(.practice-area-section-1, #practice-area-section-1) .section-content {
  text-wrap: auto
}

@media only screen and (min-width: 48rem) {

  :is(.practice-area-section-1, #practice-area-section-1) .section-outer,
  :is(.practice-area-section-1, #practice-area-section-1) .section-header {
    row-gap: 3.75rem
  }
}

@media only screen and (min-width: 75rem) {

  :is(.practice-area-section-1, #practice-area-section-1) .section-blocks-outer,
  :is(.practice-area-section-1, #practice-area-section-1) .section-blocks-header {
    row-gap: 4.8125rem
  }
}

:is(.practice-area-section-2, #practice-area-section-2) :is(.video-thumbnail) {
  border-radius: var(--global-radius)
}

:is(.practice-area-section-2, #practice-area-section-2) .section-blocks-outer {
  gap: 3rem;
  place-items: center;
  place-content: center
}

:is(.practice-area-section-2, #practice-area-section-2) .section-blocks-left {
  gap: 1.125rem
}

:is(.practice-area-section-2, #practice-area-section-2) .section-block:is(.section-right) {
  width: 30rem
}

:is(.practice-area-section-2, #practice-area-section-2) .section-icons {
  margin-bottom: 1.5rem
}

:is(.practice-area-section-2, #practice-area-section-2) .section-icons-items {
  -moz-column-gap: 3.125rem;
  column-gap: 3.125rem;
  justify-content: flex-start
}

@media only screen and (min-width: 48rem) {
  :is(.practice-area-section-2, #practice-area-section-2) {
    padding-block: 6.25rem
  }

  :is(.practice-area-section-2, #practice-area-section-2) :is(.video-thumbnail) :is(.video-button) {
    --video-button-size: min(35%, 6rem)
  }

  :is(.practice-area-section-2, #practice-area-section-2) .section-blocks-outer {
    gap: 5rem
  }
}

@media only screen and (min-width: 87.5rem) {
  :is(.practice-area-section-2, #practice-area-section-2) .section-blocks-outer {
    grid-template-columns: 1fr auto;
    gap: 7.375rem
  }

  :is(.practice-area-section-2, #practice-area-section-2) .section-block:is(.section-right) {
    grid-column: 2
  }

  :is(.practice-area-section-2, #practice-area-section-2) .section-heading {
    margin-right: -5ch
  }
}

@media only screen and (min-width: 120rem) {
  :is(.practice-area-section-2, #practice-area-section-2) .section-block:is(.section-right) {
    width: 46.25rem
  }
}

@media only screen and (max-width: 87.4375rem) {
  :is(.practice-area-section-2, #practice-area-section-2) .section-block:is(.section-left) {
    width: 42rem
  }

  :is(.practice-area-section-2, #practice-area-section-2) .section-left {
    text-align: center
  }

  :is(.practice-area-section-2, #practice-area-section-2) .section-icons-items,
  :is(.practice-area-section-2, #practice-area-section-2) .section-buttons {
    justify-content: center
  }
}

:is(.practice-area-section-3, #practice-area-section-3) .section-blocks-outer {
  gap: 3rem
}

:is(.practice-area-section-3, #practice-area-section-3) .section-block:is(.section-content) {
  justify-self: center;
  width: 56.25rem
}

@media only screen and (min-width: 75rem) {
  :is(.practice-area-section-3, #practice-area-section-3) .section-blocks {
    gap: 5.3875rem
  }
}

:is(.practice-area-section-4, #practice-area-section-4) :is(.sp) {
  width: 28.6875rem
}

@media only screen and (min-width: 87.5rem) {
  :is(.practice-area-section-4, #practice-area-section-4):is(.section-style-padded) {
    padding-block: 7.3875rem
  }

  :is(.practice-area-section-4, #practice-area-section-4):is(.section-style-margined) {
    margin-block: 7.3875rem
  }
}

:is(.practice-area-section-6, #practice-area-section-6) :is(.testimonial) {
  width: 48rem
}

:is(.practice-area-section-6, #practice-area-section-6) .section-block:is(.section-header) {
  justify-self: center
}

@media only screen and (min-width: 75rem)and (max-width: 119.9375rem) {
  :is(.practice-area-section-6, #practice-area-section-6) .testimonial:is(.fancy-box) {
    padding-inline: 2.5rem
  }
}

@media only screen and (min-width: 87.5rem) {
  :is(.practice-area-section-6, #practice-area-section-6):is(.section-style-padded) {
    padding-block: 6.1875rem 6.875rem
  }

  :is(.practice-area-section-6, #practice-area-section-6):is(.section-style-margined) {
    margin-block: 6.1875rem 6.875rem
  }
}

:is(.practice-area-section-7, #practice-area-section-7):is(.section-style-margined) {
  margin-block: 4rem
}

@media only screen and (min-width: 75rem) {
  :is(.practice-area-section-7, #practice-area-section-7):is(.section-style-margined) {
    margin-block: 6.75rem
  }
}

:is(.practice-area-section-8, #practice-area-section-8) :is(.result) {
  min-height: 0;
  width: 28.6875rem
}

@media only screen and (min-width: 87.5rem) {
  :is(.practice-area-section-8, #practice-area-section-8):is(.section-style-padded) {
    padding-block: 7.25rem 7.75rem
  }
}

:is(.practice-area-section-9, #practice-area-section-9) .section-blocks-header {
  gap: .5rem
}

:is(.practice-area-section-9, #practice-area-section-9) .section-header {
  text-wrap: auto
}

@media only screen and (min-width: 87.5rem) {
  :is(.practice-area-section-9, #practice-area-section-9) .section-blocks-outer {
    gap: 7.125rem
  }
}

:is(.practice-area-section-10, #practice-area-section-10) :is(.sp) {
  width: 22rem
}

:is(.practice-area-section-10, #practice-area-section-10) :is(.sp) .sp-icon {
  font-size: 3rem;
  margin-bottom: 1.875rem
}

:is(.practice-area-section-10, #practice-area-section-10) .section-blocks-outer {
  gap: 3rem
}

:is(.practice-area-section-10, #practice-area-section-10) .section-items {
  justify-content: center;
  justify-items: center;
  width: 100%;
  max-width: -webkit-max-content;
  max-width: -moz-max-content;
  max-width: max-content;
  margin-inline: auto;
  --columns-gap-x: 4rem;
  --columns-gap-y: 2rem
}

@media only screen and (min-width: 75rem) {
  :is(.practice-area-section-10, #practice-area-section-10) {
    padding-block: 7rem 6.875rem
  }

  :is(.practice-area-section-10, #practice-area-section-10) .section-blocks-outer {
    gap: 5.5rem
  }

  :is(.practice-area-section-10, #practice-area-section-10) .section-items {
    --columns-gap-x: 9.3125rem;
    --columns-gap-y: 6.75rem
  }
}

:is(.practice-area-section-14, #practice-area-section-14) {
  background-color: var(--scheme-bg, var(--color-light-alt))
}

@media only screen and (min-width: 48rem) {
  :is(.practice-area-section-14, #practice-area-section-14) {
    padding-block: 6.75rem 7.25rem
  }
}

/*# sourceMappingURL=style.css.map */
