/* COLORS DEFINED IN BRICKS > VARIABLES, BUT FYI:
--color-purple: #5152A3;
--color-charcoal: #5B5F60;
--color-teal: #5EC7DE;
--color-lavender: #F0EFF6;

https://fluid.style/type?min=10&max=20&min-bp=390&max-bp=1460&unit=%22px%22
*/

:root {
  /* --header-height: added via JS to match current height of sticky site header */

  --color-purple: #5152A3;
  --color-purple-dark: #2C2D66;
  --color-purple-light: #B6B1D8;
  --color-charcoal: #5B5F60;
  --color-teal: #5EC7DE;
  --color-lavender: #F0EFF6;
  --color-periwinkle: #B6B1D8;

  --fw-regular: 400;
  --fw-medium: 500;
  --fw-semibold: 600;
  --fw-bold: 700;

  --fs-home-banner: clamp(46px, 37.982px + 2.056vw, 68px);
  --lh-home-banner: 1.25;

  --fs-page-banner: clamp(46px, 43.813px + 0.561vw, 52px);
  --lh-page-banner: 1.31;

  --fs-page-subhead: 24px;
  --lh-page-subhead: 1.42;

  --fs-heading-1: clamp(36px, 34.542px + 0.374vw, 40px);
  --lh-heading-1: 1.3;

  --fs-heading-2: 32px;
  --lh-heading-2: 1.31;

  --fs-heading-3: 24px;
  --lh-heading-3: 1.33;

  --fs-heading-4: 20px;
  --lh-heading-4: 1.5;

  --fs-body: 18px;
  --lh-body: 1.56;

  --fs-body-large: 22px;
  --lh-body-large: 1.5;

  --fs-body-small: 15px;
  --lh-body-small: 1.47;

  --fs-button: 16px;
  --lh-button: 1.38;

  --fs-button-large: 18px;
  --lh-button-large: 1.33;

  --fs-button-small: 15px;
  --lh-button-small: 1.2;

  --fs-eyebrow: clamp(18px, 16.542px + 0.374vw, 22px);
  --lh-eyebrow: 1.45;

  --fs-quote: 16px;
  --lh-quote: 1.38;

  --fs-quote-bold: 14px;
  --lh-quote-bold: 1.21;

  --fs-date: 12px;
  --lh-date: 1.42;

  --container-padding-x: clamp(20px, -9.159px + 7.477vw, 100px);
}


/* CLASSES FOR BUILDER ----------------------------------------- */

.text-home-banner {
  font-size: var(--fs-home-banner);
  line-height: var(--lh-home-banner);
  font-weight: var(--fw-bold);
}
.text-page-banner {
  font-size: var(--fs-page-banner);
  line-height: var(--lh-page-banner);
  font-weight: var(--fw-bold);
}
.text-page-subhead {
  font-size: var(--fs-page-subhead);
  line-height: var(--lh-page-subhead);
  font-weight: var(--fw-regular);
}
.text-heading-1 {
  font-size: var(--fs-heading-1);
  line-height: var(--lh-heading-1);
  font-weight: var(--fw-semibold);
}
.text-heading-2 {
  font-size: var(--fs-heading-2);
  line-height: var(--lh-heading-2);
  font-weight: var(--fw-semibold);
}
.text-heading-3 {
  font-size: var(--fs-heading-3);
  line-height: var(--lh-heading-3);
  font-weight: var(--fw-semibold);
}
.text-heading-4 {
  font-size: var(--fs-heading-4);
  line-height: var(--lh-heading-4);
  font-weight: var(--fw-semibold);
}
.text-body {
  font-size: var(--fs-body);
  line-height: var(--lh-body);
  font-weight: var(--fw-regular);
}
.text-body-large {
  font-size: var(--fs-body-large);
  line-height: var(--lh-body-large);
  font-weight: var(--fw-regular);
}
.text-body-small {
  font-size: var(--fs-body-small);
  line-height: var(--lh-body-small);
}
.text-button {
  font-size: var(--fs-button);
  line-height: var(--lh-button);
  font-weight: var(--fw-semibold);
}
.text-button-large {
  font-size: var(--fs-button-large);
  line-height: var(--lh-button-large);
  font-weight: var(--fw-semibold);
}
.text-button-small {
  font-size: var(--fs-button-small);
  line-height: var(--lh-button-small);
  font-weight: var(--fw-semibold);
}
.text-eyebrow {
  font-size: var(--fs-eyebrow);
  line-height: var(--lh-eyebrow);
  font-weight: var(--fw-semibold);
  letter-spacing: 0.122em;
  text-transform: uppercase;
}
.text-quote {
  font-size: var(--fs-quote);
  line-height: var(--lh-quote);
  font-weight: var(--fw-regular);
}
.text-quote-bold {
  font-size: var(--fs-quote-bold);
  line-height: var(--lh-quote-bold);
  font-weight: var(--fw-semibold);
}
.text-date {
  font-size: var(--fs-date);
  line-height: var(--lh-date);
  font-weight: var(--fw-regular);
}

.border-radius-20 {
  border-radius: 20px;
}

.border-radius-10 {
  border-radius: 10px;
}

::selection {
  color: white;
  background-color: color-mix(in srgb, var(--color-purple) 85%, black);
}

/* BUTTONS ----------------------------------------- */
/* we hide all sizes except large, all styles except primary/secondary */

.bricks-button {
  background-color: var(--color-purple);
  border: solid var(--color-purple) 2px;
  border-radius: 1000px;
  color: white;
  font-size: var(--fs-button);
  line-height: var(--lh-button);
  font-weight: var(--fw-semibold);
  transition: all 500ms;
  letter-spacing: 0;
  justify-content: space-between;
  padding: 10px 20px;
}

/* hover */
.bricks-button:is(:hover) {  }

/* focus */
.bricks-button:is(:focus-visible) { outline: solid currentColor 2px; outline-offset: 2px; }

/* sizes */
.bricks-button.lg {
  font-size: var(--fs-button-large);
  line-height: var(--lh-button-large);
  padding-inline: 30px;
}
.bricks-button.sm {
  font-size: var(--fs-button-small);
  line-height: var(--lh-button-small);
  padding: 7px 18px 8px;
}

/* styles */
.bricks-button.bricks-background-secondary {
  background-color: var(--color-teal);
  border-color: var(--color-teal);
  color: white;
}
.bricks-button.bricks-background-light {
  background-color: white;
  border-color: white;
  color: var(--color-purple);
}
.bricks-button.bricks-background-dark,
.bricks-button.bricks-background-muted {
  background-color: var(--color-charcoal);
  border-color: var(--color-charcoal);
  color: white;
}

.bricks-button svg path {
  fill: currentColor;
}

/* outlined */
.bricks-button.outline {
  background-color: transparent;
  border-color: currentColor;
  color: var(--color-purple);
}
.bricks-button.outline.bricks-color-secondary {
  color: var(--color-teal);
}
.bricks-button.outline.bricks-color-light {
  color: white;
}
.bricks-button.outline.bricks-color-dark,
.bricks-button.outline.bricks-color-muted {
  color: var(--color-charcoal);
}


/* BRICKS DEFAULTS / CONTENT ----------------------------------------- */

body {
  background-color: var(--color-purple-dark);
}

main section {
  background-color: white;
}

/* Set first section top padding to match fixed header (section content padding generally added within container) */
#brx-content .brxe-section:first-child {
  padding-top: var(--header-height);
}

/* Scroll margin for anchor links */
:target {
  scroll-margin-top: calc(var(--header-height) + 20px);
}

/* wysiwyg */
:is(.brxe-text, .brxe-post-content) h1,
:is(.brxe-text, .brxe-post-content) h2,
:is(.brxe-text, .brxe-post-content) h3,
:is(.brxe-text, .brxe-post-content) h4,
:is(.brxe-text, .brxe-post-content) h5,
:is(.brxe-text, .brxe-post-content) h6,
:is(.brxe-text, .brxe-post-content) p,
:is(.brxe-text, .brxe-post-content) ul,
:is(.brxe-text, .brxe-post-content) ol {
  margin-block-end: 15px;
}

:is(.brxe-text, .brxe-post-content) h1:not(:first-child),
:is(.brxe-text, .brxe-post-content) h2:not(:first-child),
:is(.brxe-text, .brxe-post-content) h3:not(:first-child),
:is(.brxe-text, .brxe-post-content) h4:not(:first-child),
:is(.brxe-text, .brxe-post-content) h5:not(:first-child),
:is(.brxe-text, .brxe-post-content) h6:not(:first-child) {
  margin-block-start: 30px;
}

:is(.brxe-text, .brxe-post-content) h1 {
  font-size: var(--fs-heading-2);
}
:is(.brxe-text, .brxe-post-content) h2 {
  font-size: var(--fs-heading-3);
}
:is(.brxe-text, .brxe-post-content) h3,
:is(.brxe-text, .brxe-post-content) h4,
:is(.brxe-text, .brxe-post-content) h5,
:is(.brxe-text, .brxe-post-content) h6 {
  font-size: var(--fs-heading-4);
}

:is(.brxe-text, .brxe-post-content) a {
  text-decoration: underline;
  text-underline-offset: 0.1em;
}

:is(.brxe-text, .brxe-post-content) p strong,
:is(.brxe-text, .brxe-post-content) p b {
  font-weight: var(--fw-semibold);
}

/* UTILS ----------------------------------------- */

.hide-imp { display: none !important; }
.show-imp { display: block !important; }

.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border-width: 0;
}


/* CUSTOM ANIMATIONS (added via functions.php) ----------------------------------------- */

/* Custom fadeInUp --------- */
.brx-animate-customFadeInUp {
  animation-name: custom-fade-in-up;
}
/* ensure offscreenon page load */
.bricks-is-frontend :not(.brx-animated)[data-interactions*="customFadeInUp"] {
  opacity: 0;
  transform: translateY(30px);
}
@keyframes custom-fade-in-up {
  from {
    opacity: 0;
    transform: translateY(30px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}


/* WP ADMIN ----------------------------------------- */

:root {
  --wp-admin--admin-bar--height: 0;
}
html {
  margin-top: 0 !important;
}
#wpadminbar {
  opacity: 0;
  transition: opacity 0.2s;
}
#wpadminbar:hover {
  opacity: 1;
}
@media screen and (max-width: 782px) {
  #wpadminbar { display: none; }
}




/* Default bricks lightbox ----------------------------------------- */

/* .pswp__top-bar {
  padding-inline: 10px !important;
}
:root .pswp.brx .pswp__button.pswp__button--close {
  background-image: url("data:image/svg+xml,%3Csvg width='16' height='16' viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12.1105 3.88965L3.89062 12.1095' stroke='%23FBFAF7' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M3.89062 3.88965L12.1105 12.1095' stroke='%23FBFAF7' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E%0A") !important;
  background-position: center;
  background-repeat: no-repeat;
  background-size: 24px;
  width: 32px;
  height: 32px;
  right: 0;
}
:root .pswp.brx .pswp__button.pswp__button--close svg  {
  display: none;
} */