html {
  scroll-behavior: smooth;
  font-size: 112.5%;
}
p, h1, h2, h3, h4, h5, h6, .text_pretty {
  text-wrap: pretty;
}
.text_balance {
  text-wrap: balance !important;
}
.no_wrap {
  white-space: nowrap;
}
a[href^="tel:"] {
  text-decoration: none;
}
.hover_underline a {
  text-decoration: none !important;
}
.hover_underline a:hover {
  text-decoration: underline !important;
}
.wp-block-list {
  padding-left: 1em;
}
.wp-block-list li {
  margin-top: 0;
  margin-bottom: 0.5rem;
}
.list_bullets_none.wp-block-list {
  list-style: none;
  padding-left: 0;
}
.list_bullets_none .svg-inline--fa {
  margin-right: 0.25em;
}
:where(.wp-site-blocks) > * {
  margin-block-start: 0;
}
/*figure {
  overflow: hidden;
}
figure a img {
  transition: transform 0.3s ease 0s;
}
figure a:hover img {
  transform: scale(1.2);
}*/
figure a img {
  transition: filter 0.3s ease 0s;
}
figure a:hover img {
  filter: brightness(0.9);
}
@media screen and (max-width: 781px) {
  .ms_cols_flow_2 {
    column-count: 2;
    column-gap: var(--wp--preset--spacing--30);
  }
  .ms_hide {
    display: none !important;
  }
}
@media screen and (min-width: 782px) {
  .order_2 {
    order: 2;
  }
  .cols_flow_2 {
    column-count: 2;
    column-gap: var(--wp--preset--spacing--30);
  }
  .cols_flow_3 {
    column-count: 3;
    column-gap: var(--wp--preset--spacing--30);
  }
  .cols_flow_4 {
    column-count: 4;
    column-gap: var(--wp--preset--spacing--30);
  }
  .ml_hide {
    display: none !important;
  }
}
.gform_body * {
  font-size: inherit !important;
}
.gfield_description, .gfield_required {
  font-size: var(--wp--preset--font-size--small) !important;
}
/*.gform_button, .gform_button_select_files {
  font-size: inherit !important;
  background-color: var(--wp--preset--color--accent-2) !important;
}*/
/*.gform_button:hover, .gform_button_select_files:hover {
  opacity: 85% !important;
}*/
.gfield_label {
  font-weight: bolder !important;
}
textarea {
  height: unset !important;
  field-sizing: content !important;
}
.gform_confirmation_message {
  padding: 1.25rem !important;
  color: var(--wp--preset--color--success-700, #004f3b) !important;
  border: 1px solid var(--wp--preset--color--success-300, #5ee9b5) !important;
  background: var(--wp--preset--color--success-100, #d0fae5) !important;
}
/*
  ROSE ERROR COLORS; NOT CURRENTLY USED
  color: var(--wp--preset--color--error-700, #8b0836) !important;
  border: 1px solid var(--wp--preset--color--error-300, #ffa1ad) !important;
  background: var(--wp--preset--color--error-100, #ffe4e6) !important;

  PINK ERROR COLORS; NOT CURRENTLY USED
  color: var(--wp--preset--color--error-700, #861043) !important;
  border: 1px solid var(--wp--preset--color--error-300, #fda5d5) !important;
  background: var(--wp--preset--color--error-100, #fce7f3) !important;
*/
.linked-group-wrapper {
  text-decoration: none;
}










/* MOVE THESE TO CUSTOM CSS LATER? */

.site-header {
  transition: padding .2s ease, background .2s ease, box-shadow .2s ease;
}
.site-header.is-scrolled {
  position: sticky;
  z-index: 10;
  top: 0;
  border-color: var(--wp--preset--color--neutral-300) !important;
}
.site-header.is-scrolled header > div {
  /*padding-top: 0 !important;
  padding-bottom: 0 !important;*/
  box-shadow: var(--wp--preset--shadow--large);
}
/*.site-header .logo {
  transition: transform .2s ease;
  transform-origin: center center;
}
.site-header.is-scrolled .logo {
  transform: scale(0.8);
}*/


.bg_wave_01 {
  position: relative;
}
.bg_wave_01:after {
  content: "";
  position: absolute;
  z-index: 1;
  left: 0;
  right: 0;
  bottom: -1px;
  height: 100%;
  margin: 0 !important;
  background-image: url("../images/bg_wave_02.svg");
  background-repeat: no-repeat;
  background-position: bottom center;
  /*background-size: cover;*/
  background-size: 100% auto;
  pointer-events: none;
}





.logo-slider {
  overflow: hidden;
  mask-image: linear-gradient(
    to right,
    transparent,
    black 10%,
    black 90%,
    transparent
  );
}

.logo-track {
  display: flex;
  width: max-content;
  gap: clamp(24px, 5vw, 80px);
  animation: scroll 40s linear infinite;
}
.logo-track figure {
  flex: 0 0 auto;
  margin-top: 0;
}
.logo-track img {
  height: clamp(96px, 6vw, 168px) !important;
  /*filter: grayscale(1);*/
  transition: transform 0.2s ease 0s;
}
.logo-track img:hover {
  /*filter: grayscale(0);*/
  transform: scale(1.15);
}

.logo-slider:hover .logo-track {
  animation-play-state: paused;
}

@keyframes scroll {
  from { transform: translateX(0); }
  to   { transform: translateX(-50%); }
}
