/*
Theme Name: Retirement Living 2.0
Theme URI: https://www.retirementliving.com/
Description: A custom theme for the Retirement Living Information Center
Author: RetirementLiving Staff
Version: 1.2.4

License:
License URI:

General comments (optional):

Stylesheet loaded inline in header except on posts tagged "new"
*/

@import url('https://fonts.googleapis.com/css2?family=Fira+Sans:wght@400;600&family=Inter:wght@400;600&display=swap');

/* #region Normalize */
/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */

/* Document
   ========================================================================== */

/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */

html {
  line-height: 1.15; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
}

/* Sections
     ========================================================================== */

/**
   * Remove the margin in all browsers.
   */

body {
  margin: 0;
}

/**
   * Render the `main` element consistently in IE.
   */

main {
  display: block;
}

/**
   * Correct the font size and margin on `h1` elements within `section` and
   * `article` contexts in Chrome, Firefox, and Safari.
   */

h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

/* Grouping content
     ========================================================================== */

/**
   * 1. Add the correct box sizing in Firefox.
   * 2. Show the overflow in Edge and IE.
   */

hr {
  box-sizing: content-box; /* 1 */
  height: 0; /* 1 */
  overflow: visible; /* 2 */
}

/**
   * 1. Correct the inheritance and scaling of font size in all browsers.
   * 2. Correct the odd `em` font sizing in all browsers.
   */

pre {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/* Text-level semantics
     ========================================================================== */

/**
   * Remove the gray background on active links in IE 10.
   */

a {
  background-color: transparent;
}

/**
   * 1. Remove the bottom border in Chrome 57-
   * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
   */

abbr[title] {
  border-bottom: none; /* 1 */
  text-decoration: underline; /* 2 */
  text-decoration: underline dotted; /* 2 */
}

/**
   * Add the correct font weight in Chrome, Edge, and Safari.
   */

b,
strong {
  font-weight: bolder;
}

/**
   * 1. Correct the inheritance and scaling of font size in all browsers.
   * 2. Correct the odd `em` font sizing in all browsers.
   */

code,
kbd,
samp {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/**
   * Add the correct font size in all browsers.
   */

small {
  font-size: 80%;
}

/**
   * Prevent `sub` and `sup` elements from affecting the line height in
   * all browsers.
   */

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Embedded content
     ========================================================================== */

/**
   * Remove the border on images inside links in IE 10.
   */

img {
  border-style: none;
}

/* Forms
     ========================================================================== */

/**
   * 1. Change the font styles in all browsers.
   * 2. Remove the margin in Firefox and Safari.
   */

button,
input,
optgroup,
select,
textarea {
  font-family: inherit; /* 1 */
  font-size: 100%; /* 1 */
  line-height: 1.15; /* 1 */
  margin: 0; /* 2 */
}

/**
   * Show the overflow in IE.
   * 1. Show the overflow in Edge.
   */

button,
input {
  /* 1 */
  overflow: visible;
}

/**
   * Remove the inheritance of text transform in Edge, Firefox, and IE.
   * 1. Remove the inheritance of text transform in Firefox.
   */

button,
select {
  /* 1 */
  text-transform: none;
}

/**
   * Correct the inability to style clickable types in iOS and Safari.
   */

button,
[type='button'],
[type='reset'],
[type='submit'] {
  appearance: button;
  -webkit-appearance: button;
}

/**
   * Remove the inner border and padding in Firefox.
   */

button::-moz-focus-inner,
[type='button']::-moz-focus-inner,
[type='reset']::-moz-focus-inner,
[type='submit']::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/**
   * Restore the focus styles unset by the previous rule.
   */

button:-moz-focusring,
[type='button']:-moz-focusring,
[type='reset']:-moz-focusring,
[type='submit']:-moz-focusring {
  outline: 1px dotted;
}

/**
   * Correct the padding in Firefox.
   */

fieldset {
  padding: 0.35em 0.75em 0.625em;
}

/**
   * 1. Correct the text wrapping in Edge and IE.
   * 2. Correct the color inheritance from `fieldset` elements in IE.
   * 3. Remove the padding so developers are not caught out when they zero out
   *    `fieldset` elements in all browsers.
   */

legend {
  box-sizing: border-box; /* 1 */
  color: inherit; /* 2 */
  display: table; /* 1 */
  max-width: 100%; /* 1 */
  padding: 0; /* 3 */
  white-space: normal; /* 1 */
}

/**
   * Add the correct vertical alignment in Chrome, Firefox, and Opera.
   */

progress {
  vertical-align: baseline;
}

/**
   * Remove the default vertical scrollbar in IE 10+.
   */

textarea {
  overflow: auto;
}

/**
   * 1. Add the correct box sizing in IE 10.
   * 2. Remove the padding in IE 10.
   */

[type='checkbox'],
[type='radio'] {
  box-sizing: border-box; /* 1 */
  padding: 0; /* 2 */
}

/**
   * Correct the cursor style of increment and decrement buttons in Chrome.
   */

[type='number']::-webkit-inner-spin-button,
[type='number']::-webkit-outer-spin-button {
  height: auto;
}

/**
   * 1. Correct the odd appearance in Chrome and Safari.
   * 2. Correct the outline style in Safari.
   */

[type='search'] {
  appearance: textfield;
  -webkit-appearance: textfield; /* 1 */
  outline-offset: -2px; /* 2 */
}

/**
   * Remove the inner padding in Chrome and Safari on macOS.
   */

[type='search']::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
   * 1. Correct the inability to style clickable types in iOS and Safari.
   * 2. Change font properties to `inherit` in Safari.
   */

::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}

/* Interactive
     ========================================================================== */

/*
   * Add the correct display in Edge, IE 10+, and Firefox.
   */

details {
  display: block;
}

/*
   * Add the correct display in all browsers.
   */

summary {
  display: list-item;
}

/* Misc
     ========================================================================== */

/**
   * Add the correct display in IE 10+.
   */

template {
  display: none;
}

/**
   * Add the correct display in IE 10.
   */

[hidden] {
  display: none;
}
/* #endregion */

/* #region Globals */
:root {
  --col-brand: #107575;
  --wp--preset--color--blue: #26467e;
  --col-orange: #ff6700;

  --col-white: #fff;
  --col-gray-100: #fafafa;
  --col-gray-200: #f6f6f6;
  --col-gray-300: #d9d9d9;
  --col-gray-500: #656565;
  --col-gray-700: #3a3a3a;
  --col-gray-900: #1f2f41;

  --base-ff: 'Inter', sans-serif;
  --heading-ff: 'Fira Sans', sans-serif;
  --base-line-height: 1.7;
  --fw-normal: 400;
  --fw-medium: 600;
  --fw-bold: 700;
  --line-length: 75ch;
}

html {
  /* font-size: 18px; */
  scroll-behavior: smooth;
}

html * {
  scroll-margin-top: 75px;
}

.exp-theme {
  --col-orange: #eb5e28;
  --col-gray-100: #fffcf2;
  --col-gray-300: #ccc5b9;
  --col-gray-900: #3c3c3c;
}

#wpadminbar {
  margin-top: 0;
}

html * {
  box-sizing: border-box;
}

body {
  font-family: var(--base-ff, sans-serif);
  /* line-height: var(--base-line-height); */
  overflow-x: clip;

  &:has(dialog[open]) {
    overflow: clip;
  }
}

/* p {
  max-width: var(--line-length);
} */

/* p:first-of-type {
  margin-top: 0;
} */

p:last-of-type {
  margin-bottom: 0;
}
figure.wp-block-table {
  display: grid;
  word-break: normal;
}

figure.wp-block-table table,
table {
  border-collapse: collapse;
  border-spacing: 0;
  border: solid 1px;
  border-color: var(--border-color, var(--wp--preset--color--gray-300));
}

figure.wp-block-table table tbody,
.striped tbody {
  border-top-color: transparent;
  border-bottom-color: transparent;
}

figure.wp-block-table table tbody tr:nth-of-type(even),
.striped tbody tr:nth-of-type(even) {
  background-color: var(--stripe-bg, var(--col-gray-200));
}

figure.wp-block-table table tbody tr:last-child,
.striped tbody tr:last-child {
  border-bottom-color: var(--border-color, var(--wp--preset--color--gray-300));
}

figure.wp-block-table figcaption,
table caption {
  font-style: normal;
  font-weight: var(--fw-bold);
  text-align: center;
  background-color: var(--wp--preset--color--rl-green);
  color: var(--wp--preset--color--gray-100);
  font-size: 1.1em;
  padding: 0.5em;
  grid-row: 1;
}

figure.wp-block-table table td,
td {
  border-color: inherit;
  border-style: solid;
  border-width: 1px;
}
figure.wp-block-table table th,
th {
  font-weight: var(--fw-medium);
}
figure.wp-block-table table thead tr,
thead tr {
  background-color: var(--wp--preset--color--gray-300);
}

figure.wp-block-table table :is(td, th),
td,
th {
  padding: 0.75em 0.5em;
  line-height: 1.2;
  text-align: inherit;
}

/* h1,
h2,
h3,
h4,
.h1,
.h2,
.h3,
.h4 {
  --fw-normal: 400;
  --fw-bold: 700;
  font-family: var(--heading-ff);
  margin-bottom: 0.5em;
} */

/* h1,
.h1 {
  color: var(--color, #000);
  margin-block: 0.2em 0.1em;
  font-size: var(--h1-font-size, 56px);
  line-height: var(--h1-line-height, 66px);
}

h2,
h3,
h4,
.h2,
.h3,
.h4 {
  line-height: 1.3;
}

h2,
.h2 {
  color: var(--color, var(--wp--preset--color--rl-green));
  font-size: 2rem;
}

h3,
.h3 {
  color: var(--color, #000);
  font-size: 1.5rem;
}

h4,
.h4 {
  font-size: 1.2rem;
} */

.flow > * + * {
  margin-top: 1em;
}

.flow > *:first-child {
  margin-top: 0;
}

/* a,
.link {
  cursor: pointer;
  color: var(--wp--preset--color--rl-green);
  text-decoration: none;
  transition: color 270ms ease-out;
}
a:is(:hover, :focus),
.link:is(:hover, :focus) {
  text-decoration: underline;
} */

.undecorated-links a,
a.undecorated-links {
  text-decoration: none;
}

img {
  max-width: min(100vw, 100%);
  height: auto;
}
figcaption {
  color: var(--wp--preset--color--gray-500);
  font-style: italic;
  font-weight: var(--fw-normal);
  font-size: calc(1rem - 2px);
}
dialog {
  border: none;
  margin: auto;
  padding-block-end: 2em;
  box-shadow: var(--ds-col, #00000055) 0 2px 4px;

  &::backdrop {
    background-color: rgb(255 255 255 / 0.8);
    backdrop-filter: blur(3px);
  }

  &:not([open]) form[method='dialog'] {
    display: none;
  }

  & form[method='dialog'] {
    float: right;
  }
}
/* #endregion Globals */

/* #region Composition */
.container {
  width: 100dvw;
}

.contained {
  margin-inline: auto;
  max-width: calc(100% - 2rem);
}

.container-is {
  container-type: inline-size;
}

.columns-responsive {
  column-count: auto;
  column-width: 20ch;
  column-gap: 2ch;

  & > li:first-of-type {
    margin-top: 0;
  }
}

.logo-three-pack {
  display: grid;
  grid-template-columns: 7fr 10fr 7fr;
  gap: 1em;

  & figure {
    display: grid;
    place-items: center;
    margin: 0;
    width: 100%;
    aspect-ratio: 1.25;
    background-color: #fff;
    align-self: center;
    justify-self: stretch;
    padding: 1em;
    border-radius: 0.875em;
    box-shadow: var(--wp--preset--shadow--subtle);

    &:nth-of-type(2) img {
      scale: 1.25;
    }
  }
}

@container (42ch > inline-size > 25ch) {
  .container-is .columns-responsive {
    column-count: 2;
  }
}
@container (inline-size > 42ch) {
  .container-is .columns-responsive {
    column-count: 3;
  }
}

.row > * {
  margin-block-start: 0 !important;
}

.standard-width {
  width: 1000px;
}

.wide-width {
  width: 1280px;
}
.columns {
  grid-auto-flow: column;
  grid-auto-columns: 1fr;
}
.columns-2 {
  grid-template-columns: repeat(2, 1fr);
}
.columns-3 {
  grid-template-columns: repeat(3, 1fr);
}
.columns-6 {
  grid-template-columns: repeat(6, 1fr);
}

.gap-1 {
  gap: 1rem;
}

@media (min-width: 1001px) {
  .columns-75-25 {
    grid-template-columns: 3fr 1fr;
  }
  .columns-66-33 {
    grid-template-columns: 2fr 1fr;
  }
}
/* #endregion */

/* #region Utilities */
.is-content-justification-space-between {
  justify-content: space-between;
}

.unpad .wp-block-media-text__content {
  padding-inline-start: 0;
}
.reverse {
  flex-flow: row-reverse;
}
.flex {
  display: flex;
}
.is-layout-flex.justify-content-space-evenly,
:where(.editor-styles-wrapper) .is-layout-flex.justify-content-space-evenly {
  justify-content: space-evenly;
}
@media (max-width: 575px) {
  .flex-collapse {
    flex-flow: column;
  }
  .flex-sm {
    display: flex;
  }
}

.grid {
  display: grid;
}
.m-0 {
  margin: 0;
}
.m-05 {
  margin: 0.5rem;
}
.m-1 {
  margin: 1rem;
}
.m-2 {
  margin: 2rem;
}
.mb-05 {
  margin-block-end: 0.5rem;
}
.mb-1 {
  margin-block-end: 1rem;
}
.mb-2 {
  margin-block-end: 2rem;
}
.my-0 {
  margin-block: 0;
}
.my-05 {
  margin-block: 0.5rem;
}
.my-1 {
  margin-block: 1rem;
}
.my-2 {
  margin-block: 2rem;
}

.mt-0 {
  margin-block-start: 0;
}
.mt-05 {
  margin-block-start: 0.5rem;
}
.mt-1 {
  margin-block-start: 1rem;
}
.mt-2 {
  margin-block-start: 2rem;
}

.ml-1 {
  margin-inline-start: 1rem;
}
.ml-2 {
  margin-inline-start: 2rem;
}
.pt-05 {
  padding-block-start: 0.5rem;
}
.pb-05 {
  padding-block-end: 0.5rem;
}
.py-05 {
  padding-block: 0.5rem;
}
.py-1 {
  padding-block: 1rem;
}

.py-2 {
  padding-block: 2rem;
}

.px-0 {
  padding-inline: 0;
}

.px-1 {
  padding-inline: 1rem;
}

.px-2 {
  padding-inline: 2rem;
}

.pl-0 {
  padding-inline-start: 0;
}

.pl-1 {
  padding-inline-start: 1rem;
}

.p-0 {
  padding: 0;
}
.p-05 {
  padding: 0.5rem;
  &.btn {
    --btn-padding: 0.5rem;
  }
}
.p-1 {
  padding: 1rem;

  &.btn {
    --btn-padding: 1rem;
  }
}
.p-2 {
  padding: 2rem;
  &.btn {
    --btn-padding: 2rem;
  }
}

@media (min-width: 1001px) {
  .align-center-lg {
    align-items: center;
  }
}

.two-col {
  column-count: 2;
}

.pretty {
  text-wrap: pretty;
}

.balance {
  text-wrap: balance;
}

.ls-none,
.ls-check,
.ls-x {
  list-style: none;
}
.ls-check > li,
.ls-x > li {
  position: relative;
}
.ls-check > li:before,
.ls-x > li:before {
  content: '';
  display: inline-block;
  translate: -1.5em;
  position: absolute;
  width: 0.75em;
  height: 0.75em;
  margin: 0.25em;
  background-position: center;
  background-repeat: no-repeat;
  background-image: url('/wp-content/themes/bootstrap/images/check.svg');
}
.ls-x > li,
.ls-check > li {
  align-items: center;
  line-height: 1.4;
  margin-block: 0.6rem;
}
.ls-x > li:before {
  background-image: url('/wp-content/themes/bootstrap/images/x.svg');
}

.ls-none {
  list-style-type: none;
}

.ls-tight li {
  margin: 0;
}

.col-brand {
  color: var(--wp--preset--color--rl-green);
}
.col-blue {
  color: var(--wp--preset--color--blue);
}
.col-orange {
  color: var(--col-orange);
}
.col-white {
  color: var(--col-white);
}
.col-gray-100 {
  color: var(--wp--preset--color--gray-100);
}
.col-gray-200 {
  color: var(--col-gray-200);
}
.col-gray-300 {
  color: var(--wp--preset--color--gray-300);
}
.col-gray-500 {
  color: var(--wp--preset--color--gray-500);
}
.col-gray-700 {
  color: var(--wp--preset--color--gray-700);
}
.col-gray-900 {
  color: var(--col-gray-900);
}
.bg-brand {
  background-color: var(--wp--preset--color--rl-green);
}
.bg-blue {
  background-color: var(--wp--preset--color--blue);
}
.bg-orange {
  background-color: var(--col-orange);
}
.bg-white {
  background-color: #fff;
}
.bg-gray-100 {
  background-color: var(--wp--preset--color--gray-100);
}
.bg-gray-200 {
  background-color: var(--col-gray-200);
}
.bg-gray-300 {
  background-color: var(--wp--preset--color--gray-300);
}
.bg-gray-500 {
  background-color: var(--wp--preset--color--gray-500);
}
.bg-gray-700 {
  background-color: var(--wp--preset--color--gray-700);
}
.bg-gray-900 {
  background-color: var(--col-gray-900);
}

.fs-small {
  font-size: calc(1rem - 2px);
}

.fs-normal {
  font-size: 1rem;
}
.fw-medium {
  font-weight: var(--fw-medium);
}

.fw-normal {
  font-weight: var(--fw-normal);
}

.fw-bold {
  font-weight: var(--fw-bold);
}

.max-w-unset p {
  max-width: unset;
}

.text-center {
  text-align: center;
}
.text-left {
  text-align: start;
}
.text-right {
  text-align: end;
}

.box-shadow {
  box-shadow: var(--wp--preset--shadow--natural);
}

.br-1 {
  border-radius: 1rem;
}

.btn:empty {
  display: none;
}

.overflow-hidden {
  overflow: hidden;
}

.bg-sun {
  --target-bg-size: clamp(300px, 50%, 600px);
  background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" xml:space="preserve" width="610" height="610" fill-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="2" clip-rule="evenodd"><path fill="%2310757515" d="M295.59 1.76c9.46-4.43 21.35-.18 25.7 9.2 1.47 3.2 1.64 6.41 1.64 45.98 0 48.06.18 46.67-6.94 52.66a18.3 18.3 0 0 1-24.31 0c-7.12-5.99-6.95-4.6-6.95-52.49 0-46.16 0-45.9 5.04-51.27 1.3-1.4 3.9-3.21 5.82-4.08ZM192.53 20.93c6.6-2 14.15.18 19.01 5.47 2.78 3.03 5.82 9.71 18.41 40.95 8.25 20.47 15.28 38.78 15.54 40.52 1.48 11.62-10.16 22.99-21.62 21.16-5.03-.78-9.9-3.47-12.41-6.85-1.3-1.65-9.12-19.87-17.45-40.52-13.37-33.14-15.2-38.17-15.2-42.42 0-8.33 5.73-15.88 13.72-18.3Zm215.48 2.86c12.85-4.07 25.36 4.78 25.53 17.96 0 4.26-1.65 8.6-15.98 42.52-13.89 32.7-16.49 38.17-19.53 41.2-9.72 9.81-26.3 6.08-31.34-7.1-2.52-6.6-1.65-9.46 14.93-48.85 14.15-33.4 15.89-37.14 19.45-40.78 2.17-2.17 5.3-4.42 6.94-4.95ZM93.3 84.61c4.77-2.25 9.29-2.6 14.67-1.04 3.04.87 8.25 5.64 33.34 30.54 19.27 19.18 30.38 30.8 31.43 33.14 4.69 9.55-.18 21.87-10.16 26.12-4.08 1.65-11.29 1.39-15.37-.6-2.34-1.05-13.97-12.15-33.16-31.42-31.52-31.75-31.6-31.84-31.6-40.25 0-3.56 2.6-10.07 5.03-12.84.78-.87 3.47-2.52 5.82-3.65Zm403.27-.08c13.72-4.17 26.22 4.42 26.22 17.96 0 3.3-.6 6.07-1.74 8.33-2.6 4.94-59.64 61.5-63.72 63.24-7.03 2.87-15.02 1.13-20.84-4.5a18.77 18.77 0 0 1-2.95-23.17c1.21-2 15.1-16.49 31.08-32.28 21.44-21.25 29.7-28.89 31.95-29.58Zm-215.4 68.71c11.46-1.9 41.33-1.13 52.62 1.3 61.46 13.19 106.09 57.96 119.54 119.73 1.74 7.99 1.92 11.54 1.92 29.5 0 23.08-.96 29.76-7.3 48.67-16.15 48.68-56.52 85.98-106.7 98.82-22.92 5.82-51.92 5.82-74.83 0-50.19-12.84-90.56-50.14-106.7-98.82-6.34-18.91-7.3-25.6-7.3-48.67 0-23.08.96-29.76 7.3-48.84 17.97-53.8 64.07-92.4 121.45-101.69ZM33.83 174.06c2-.86 4.86-1.21 8.25-1.04 4.42.26 10.41 2.52 41.67 15.7 20.05 8.5 37.85 16.58 39.5 17.8 10.77 8.5 8.86 25.85-3.65 32.27-6.42 3.3-11.2 2.43-29.25-5.2a7873.37 7873.37 0 0 0-37.77-16.06C39.3 211.9 29.92 207.38 28.36 206a19.48 19.48 0 0 1 5.47-31.93Zm500.94 14.75c27.43-11.1 29.35-11.8 34.03-11.45 3.56.17 6.08.95 9.03 2.86 11.38 6.94 11.98 23.78 1.22 31.76-1.22.87-19.1 8.41-39.85 16.74-40.98 16.49-42.63 16.92-50.01 13.54-12.33-5.73-14.76-23.34-4.43-31.93 1.74-1.39 7.2-4.16 12.07-6.16 4.86-1.9 21.97-8.85 37.94-15.36ZM9.87 285.9l4.42-2.08H56.4c47.5 0 46.01-.18 52.27 6.68 8.33 9.37 5.3 23.86-6.43 29.84-3.04 1.56-5.56 1.65-46.1 1.65H13.25l-3.82-2a24.85 24.85 0 0 1-6.68-5.8c-2.87-3.74-2.96-3.91-2.6-11.72.25-7.2.51-8.24 2.77-11.2 1.39-1.9 4.34-4.16 6.95-5.37Zm495.82-1.13c3.64-1.13 84.3-1.13 88.2-.09 1.65.44 4.7 2.26 6.6 3.9 10.6 9.03 7.81 26.64-5.12 32.02-4.86 2.08-85.95 2.08-90.81 0-12.94-5.38-15.63-23.42-4.87-32.27 1.92-1.56 4.6-3.21 6-3.56ZM73.76 375c19.8-7.98 33.69-13.1 35.51-13.1 11.72 0 21.7 11.28 19.62 22.3-.86 4.77-3.56 9.46-6.77 11.88-1.56 1.22-19.8 9.03-40.45 17.44-33.34 13.36-38.3 15.19-42.55 15.19-16.84 0-25.26-20.65-13.28-32.36 3.65-3.56 3.73-3.56 47.92-21.35Zm413.26-7.29c8.07-4.25 9.12-3.99 50.79 13.71 20.05 8.42 37.77 16.31 39.33 17.53 13.8 10.32 8.42 31.32-8.68 34.44-4.7.87-7.12 0-37.34-12.75a4328.34 4328.34 0 0 0-36.29-15.45c-6.42-2.69-10.15-4.85-12.67-7.28-9.03-9.03-6.6-24.21 4.86-30.2Zm-42.97 64.9c1.9-.7 5.03-1.21 6.94-1.21 7.38-.1 10.42 2.34 40.98 32.97 19.18 19.34 29.26 30.01 30.21 32.18 2.87 7.03.96 16.66-4.43 21.7-5.2 4.85-14.24 6.5-21 3.73-2.18-.96-12.86-11.02-32.22-30.2-30.3-30.2-33.07-33.57-33.07-40.51 0-7.9 5.55-16.14 12.59-18.66ZM146.69 434c11.9-5.38 25.79 2.6 26.74 15.44.7 9.46.96 9.03-31.43 41.65-19.53 19.6-30.82 30.36-33.07 31.4-9.03 4.26-20.23.35-24.92-8.67-3.13-5.99-3.21-11.2-.26-17.1 3.04-6.07 57.39-60.2 62.94-62.72Zm65.98 45.29c6.78-3.65 16.41-2.26 21.97 3.03 4 3.74 5.82 8.16 5.82 13.8 0 4.6-1.48 8.5-16.06 42.69-10.51 24.81-16.85 38.52-18.41 40.17-7.47 7.9-18.67 8.5-26.57 1.47-4.95-4.25-7.03-9.46-6.5-15.7.25-3.47 4.25-13.71 15.8-41.04 8.5-20.04 16.57-37.83 17.79-39.48a21.8 21.8 0 0 1 6.16-4.94Zm166.7-1.13c6.33-1.21 14.32 1.82 18.31 6.94 1.3 1.65 9.12 19.6 17.45 39.91 14.07 34.7 15.02 37.22 15.02 42.6 0 4.86-.43 6.33-2.6 9.9-7.03 11.44-23.88 12.14-31.78 1.3-.95-1.22-8.5-19.1-16.84-39.74-12.59-31.06-15.2-38.35-15.2-41.9 0-9.55 6.35-17.27 15.63-19.01Zm-80.49 15.7c2-.43 3.91-.78 4.26-.86.35-.09 2.52.34 4.95.86 2.95.61 5.55 2 8.25 4.34 6.85 5.99 6.68 4.95 6.42 53.8l-.26 42.94-2.43 3.64c-1.3 2-4 4.69-6 6-3.12 2.07-4.42 2.42-10.24 2.42-5.81 0-7.12-.35-10.24-2.43-2-1.3-4.69-3.99-6-5.99l-2.42-3.64-.26-42.95c-.18-37.82-.09-43.46 1.13-46.67 1.82-4.78 8.16-10.33 12.84-11.46Z"/></svg>');
  background-position: calc(-0.25 * var(--target-bg-size)) 5px;
  background-size: var(--target-bg-size);
  background-repeat: no-repeat;
}

@media (min-width: 801px) {
  .float-right-desktop {
    float: right;
    z-index: 10;
  }
  .float-left-desktop {
    float: left;
    z-index: 10;
  }
}

.clearfix::after {
  content: '';
  clear: both;
  display: table;
}

@media (max-width: 800) {
  .center-small {
    text-align: center;
  }
}
:is(.wp-block-columns.scrollable-x, .scrollable-x) {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: 1fr;
  grid-gap: 1rem;
}
@media (max-width: 1000px) {
  :is(.wp-block-columns.scrollable-x, .scrollable-x) > * {
    scroll-snap-align: start;
    scroll-snap-stop: always;
  }
  :is(.wp-block-columns.scrollable-x, .scrollable-x) {
    grid-auto-columns: var(--scroll-x-size, 60vi);
    padding-block-end: 1em;
    padding-inline-end: 40vi;
    max-width: calc(100vi - 2rem);
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    -ms-overflow-style: none;
    mask-image: linear-gradient(90deg, #fff calc(100% - 3rem), transparent);
    mask-size: 100%;
    mask-repeat: no-repeat;
    mask-position: center;
  }
}

@media (min-width: 1001px) {
  .lg-three-col {
    column-count: 3;
  }
  .lg-two-col {
    column-count: 2;
  }
}

.bold-links a {
  font-weight: var(--fw-medium);
}
/* #endregion Utilities */

/* #region Blocks */

#top-header,
header.wp-block-template-part {
  position: sticky;
  top: 0;
  z-index: 10;
}

/* #region "Also Consider" CTA */
.also-consider {
  position: relative;
  background-color: var(--col-white);
  padding: 2em 1em 1em;
  border: solid 3px var(--col-navy);
  border-radius: 10px;
}

.ribbon {
  box-sizing: border-box;
  position: absolute;
  top: 0;
  left: 0;
  background-color: var(--col-navy);
  color: var(--col-white);
  padding: 0.25em 3em;
}
/* #endregion Also Consider*/

/* #region Banner CTA */
.banner-cta {
  align-items: center;
}

.banner-cta > .grid:first-child * {
  margin: 0 !important;
}

@media (max-width: 1000px) {
  .banner-cta {
    gap: 0.5rem;
  }
  .banner-cta > .grid:first-child {
    justify-items: center;
  }
}
/* #endregion Banner CTA */

/* #region Email CTA */
.email-cta {
  background-color: var(--wp--preset--color--gray-100);
  padding-block: 1rem;
  padding-inline: 2rem;
  border-radius: 5px;
}

.email-cta form {
  grid-template-columns: 1fr auto;
}
.email-cta form > input {
  border-radius: 5px 0 0 5px;
  border: solid var(--wp--preset--color--gray-300) 1px;
  border-right: none;
}
.email-cta form > button {
  display: flex !important;
  border-radius: 0 5px 5px 0;
  border: solid var(--wp--preset--color--gray-300) 1px;
  border-left: none;
  gap: 3px;
  justify-content: center;
  align-items: center;
}

@media (max-width: 575px) {
  .email-cta form {
    grid-template-columns: 100%;
  }
  .email-cta form > input {
    border-radius: 5px 5px 0 0;
    border: solid var(--wp--preset--color--gray-300) 1px;
    border-bottom: none;
    text-align: center;
  }
  .email-cta form > button {
    border-radius: 0 0 5px 5px;
    border: solid var(--wp--preset--color--gray-300) 1px;
    border-top: none;
  }
}
/* #endregion Email CTA */

/* #region Dark Section */
.section-dark,
.section-dark a {
  color: var(--wp--preset--color--gray-100);
}
.section-dark a:hover,
.section-dark a:focus {
  color: #fff;
}
/* #endregion Dark Section */

[data-clickable] {
  cursor: pointer;
  box-shadow: var(--box-shadow, rgb(0 0 0 / 0.2) 0 0);
  filter: brightness(1);
  transition: box-shadow 230ms ease-in-out, filter 230ms ease-in-out;
}
[data-clickable]:hover {
  filter: brightness(1.2);
  box-shadow: var(--box-shadow-hover-state, rgb(0 0 0 / 0.2) 0 4px 4px);
}
/* #region Tooltips (ex. Post byline) */
/* [data-tt-trigger]:hover ~ [data-tt],
[data-tt-trigger]:focus-within ~ [data-tt] {
  opacity: 1;
  visibility: visible;
  filter: drop-shadow(#00000055 0 0 4px);
} */

[data-tt] {
  position: absolute;
  top: calc(100% + 0.7rem);
  left: 0;
  right: 0;
  padding: 1rem;
  background-color: #fff;
  opacity: 0;
  visibility: hidden;
  transition: opacity 170ms ease-in-out;
  z-index: 10;
}
/* #endregion Tooltips */

/* #region dynamic Table of Contents */
[data-toclink] {
  scroll-margin-top: 65px;
}

[data-dynamicTOC] {
  display: block;
  position: sticky;
  flex: 200px 0 0;
  padding-left: 1em;
  border-left: solid 1px var(--wp--preset--color--gray-300);
  top: 90px;
  align-self: flex-start;
  font-weight: var(--fw-medium);
  font-size: 1rem;
}

[data-dynamicTOC] a:not(:hover, :focus) {
  text-decoration: none;
}
/* #endregion dynamic TOC */

/* #region button styles (.btn) */
button.btn.btn-blue,
.btn.btn-blue a,
a.btn.btn-blue {
  --btn-col-bg: var(--wp--preset--color--blue);
  --btn-col-text: var(--wp--preset--color--gray-100);
  border: solid 2px var(--btn-col-bg);
}

button.btn.btn-purple,
.btn.btn-purple a,
a.btn.btn-purple {
  --btn-col-bg: var(--wp--preset--color--purple);
  --btn-col-text: var(--wp--preset--color--white);
  border: solid 2px var(--btn-col-bg);
}

.btn.btn-orange a,
a.btn.btn-orange {
  --btn-col-bg: var(--wp--preset--color--orange);
  --btn-col-text: var(--wp--preset--color--white);
  border: solid 2px var(--btn-col-bg);
}

.btn.btn-gold a,
a.btn.btn-gold {
  --btn-col-bg: #ffd500;
  --btn-col-text: var(--wp--preset--color--gray-700);
  border: solid 2px var(--btn-col-bg);
}

.btn.btn-ghost a,
a.btn.btn-ghost,
button.btn-ghost {
  background-color: transparent;
  color: var(--btn-col-bg, var(--wp--preset--color--rl-green));
  border: solid 2px var(--btn-col-bg, var(--wp--preset--color--rl-green));
  transition: all 170ms ease-in;
}

.btn.btn-ghost a:hover,
a.btn.btn-ghost:hover,
button.btn-ghost:hover {
  background-color: var(--btn-col-bg, var(--wp--preset--color--rl-green));
  color: var(--btn-col-text, #fff);
}
.btn.grid a {
  display: grid;
}
.btn a,
a.btn,
button {
  font-weight: var(--fw-bold);
  background-color: var(--btn-col-bg, var(--wp--preset--color--rl-green));
  color: var(--btn-col-text, var(--wp--preset--color--white));
  display: inline-block;
  padding: var(--btn-padding, unset);
  text-decoration: none;
  box-shadow: none;
  border-radius: 0.375em;
  transition: filter 170ms ease-in, box-shadow 170ms ease-in;
  cursor: pointer;
}

/* fixes interference with WP editor UI */
:is(
    .interface-interface-skeleton__sidebar,
    .interface-interface-skeleton__secondary-sidebar
  )
  button {
  color: unset;
}

.btn a:hover,
.btn a:focus-visible,
a.btn:hover,
a.btn:focus-visible,
button:not([class*='wp-block-navigation']):hover,
button:not([class*='wp-block-navigation']):focus-visible {
  box-shadow: var(--ds-col, #00000055) 0 2px 4px;
}

.icon-right-tri a::after,
a.icon-right-tri::after,
button.icon-right-tri::after {
  content: '\203A';
  margin-left: 0.5em;
}
:is(.btn, button):where(.naked, .naked:hover, .naked:focus) {
  background-color: transparent;
  border: none;
  box-shadow: none;
}

.pill,
.btn.pill a,
a.btn.pill {
  border-radius: 200px;
}

.btn.room a,
a.btn.room,
button.btn.room {
  padding-block: 0.5em;
  padding-inline: 2em;
}
/* #endregion .btn styles */

footer li {
  margin-block: 0.5em;
}

body{
  &:has(.mobile-footer-button:not(.block-editor-block-list__block)) {
    --mobile-button-size: 5rem;
    --mobile-button-transition: 500ms ease-in-out;
    transition: padding-bottom var(--mobile-button-transition);
  }
  &:has(.mobile-footer-button.active:not(.block-editor-block-list__block)){
    @media (max-width: 780px){
      padding-bottom: var(--mobile-button-size);
    }
  }
}

.mobile-footer-button:not(.block-editor-block-list__block) {
  @media (max-width: 780px){
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 100;
    padding: 1em;
    box-shadow: rgb(0 0 0 / 0.2) 0 -4px 8px -4px;
    border-top: solid 1px var(--wp--preset--color--gray-300);
    translate: 0 var(--mobile-button-size);
    transition: translate var(--mobile-button-transition);
  }

  &.active{
    translate: 0 0;
  }
}

@media (max-width: 780px) {
  body {
    --h1-font-size: 34px;
    --h1-line-height: 44px;
    --line-length: 55ch;
  }

  .columns-collapse {
    grid-template-columns: 1fr;
  }
  #byline {
    flex-flow: column;
    align-items: flex-start;
  }
}

@media (min-width: 781px) {
  .only-sm:not(.block-editor-block-list__block) {
    display: none;
  }
  .only-sm.block-editor-block-list__block {
    background-image: repeating-linear-gradient(
      45deg,
      #eef,
      #eef 2px,
      transparent 2px,
      transparent 10px
    );
    padding-top: 1rem;
    position: relative;
    &:before {
      content: 'Only shows on small screens';
      display: block;
      position: absolute;
      font-style: italic;
      top: 0;
      right: 0;
      font-size: 0.8rem;
      color: var(--wp--preset--color--gray-500);
    }
  }
}
/* #endregion */

/* #region Exceptions */

form[method='dialog'] {
  position: relative;
  z-index: 100;
}

@media (min-width: 1001px) {
  #review-hero {
    grid-template-columns: 2fr 1fr;
  }
}
#review-box {
  border-left: solid 2px var(--wp--preset--color--gray-300);
}
@media (max-width: 1000px) {
  #review-box {
    padding-inline-start: 0;
    margin-inline-start: 0;
    border-left: none;
    margin-top: 1rem;
  }
}
#review-buttons {
  gap: 5px;
}
@media (min-width: 1001px) {
  #review-buttons {
    gap: 2rem;
    grid-auto-flow: column;
    grid-auto-columns: 1fr;
  }
}
/* Byline */
#byline {
  position: relative;
}
#byline > div {
  gap: 1em;
}
@media (max-width: 1000px) {
  #byline {
    margin-block: 0.5em;
  }
  #byline > * + * {
    margin-block: 0.5em;
  }
  #byline > div {
    gap: 0.5em;
  }
}
#byline strong {
  color: var(--wp--preset--color--rl-green);
}

#byline [data-tt] span {
  color: var(--wp--preset--color--rl-green);
}

#byline [data-tt] span:first-of-type {
  font-weight: var(--fw-medium);
}

/* Menu */
/* nav.menu-top-container {
  --fw-normal: 400;
  --fw-bold: 700;
  font-family: var(--heading-ff);
}

nav.menu-top-container ul a {
  font-weight: var(--fw-normal);
  color: var(--wp--preset--color--gray-700);
  text-decoration: none;
}
nav.menu-top-container > ul a {
  font-weight: var(--fw-normal);
}

nav.menu-top-container .menu-item-has-children > a::after {
  content: '\203A';
  display: inline-block;
  transform-origin: center center;
  rotate: 90deg;
  margin-left: 0.5em;
}

ul.menu {
  list-style: none;
  padding: 0;
  font-weight: var(--fw-medium);
  margin: 0;
}

ul.sub-menu {
  list-style: none;
  padding: 0;
}

input#menuToggle {
  opacity: 0;
  translate: 0 -100vh;
  position: fixed;
}

@media (min-width: 1001px) {
  #menuToggle ~ label {
    display: none;
  }
  ul.menu {
    display: flex;
    gap: var(--gap, 1em);
  }

  ul.menu a {
    display: block;
    padding: 0.5em;
  }
  ul.menu li {
    position: relative;
  }
  ul.menu * {
    margin: unset;
  }
  ul.sub-menu {
    position: absolute;
    display: flex;
    flex-flow: column;
    gap: var(--gap, 1em);
    top: 100%;
    opacity: 0;
    padding: 1em 2em;
    width: max-content;
    background-color: var(--wp--preset--color--gray-100);
    translate: 0 -100vh;
    transition: opacity 270ms ease-in-out;
  }
  li.menu-item-has-children:hover ul.sub-menu,
  li.menu-item-has-children:focus-within ul.sub-menu {
    translate: 0;
    opacity: 1;
  }
  ul.sub-menu a {
    color: var(--wp--preset--color--gray-500);
  }
} */
@media (max-width: 781px) {
  .hide-md,
  .hide-sm:not(.block-editor-block-list__block) {
    display: none;
  }
}
  /* nav.menu-top-container {
    position: absolute;
    right: 100vw;
    top: 100%;
    height: 100vh;
    width: 100vw;
    overflow: hidden;
    border-top: solid 1px var(--wp--preset--color--gray-300);
  }

  #menu-top {
    background-color: #fff;
    position: absolute;
    top: 0;
    bottom: 0;
    right: -100vw;
    width: calc(100vw - 5em);
    max-width: 500px;
    max-height: calc(100vh - 60px);
    overflow-y: auto;
    transition: right 170ms ease-in-out;
  }

  #menuToggle:checked ~ nav.menu-top-container {
    display: block;
    right: 0;
    background-color: rgb(255 255 255 / 0.8);
    backdrop-filter: blur(3px);
  }
  #menuToggle:checked ~ nav.menu-top-container #menu-top {
    right: 0;
    box-shadow: rgb(0 0 0 / 0.4) -2px 0 8px;
  }

  ul.menu > li > a {
    font-size: larger;
  }
  ul[class$='menu'],
  ul[class$='menu'] li {
    margin: 0;
  }
  nav.menu-top-container ul.sub-menu li a {
    padding-left: 5em;
  }
  nav.menu-top-container li a {
    display: block;
    padding: 1em 2em;
    border-bottom: solid 1px var(--wp--preset--color--gray-300);
    color: var(--wp--preset--color--gray-500);
  }

  .menu-item a:hover {
    background-color: var(--wp--preset--color--gray-100);
  }
}
/* #region Mobile menu toggle
@media (max-width: 1000px) {
  #menuToggle ~ label {
    display: grid;
    align-items: center;
    justify-self: end;
    cursor: pointer;
    width: 25px;
    height: 25px;
  }
  #menuToggle ~ label > div {
    background-color: var(--wp--preset--color--rl-green);
    width: 25px;
    height: 3px;
    position: relative;
    transition: background-color 10ms 170ms ease;
  }
  #menuToggle ~ label > div:before,
  #menuToggle ~ label > div:after {
    transition: top 170ms 200ms ease, transform 170ms 50ms ease;
    position: absolute;
    background-color: var(--wp--preset--color--rl-green);
    width: 25px;
    height: 3px;
    content: '';
  }
  #menuToggle ~ label > div:before {
    top: -8px;
  }
  #menuToggle ~ label > div:after {
    top: 8px;
  }

  #menuToggle:checked ~ label > div {
    background: transparent;
  }
  #menuToggle:checked ~ label > div:after,
  #menuToggle:checked ~ label > div:before {
    transition: top 170ms 50ms ease, transform 170ms 200ms ease;
    top: 0;
  }
  #menuToggle:checked ~ label > div:before {
    transform: rotate(45deg);
  }
  #menuToggle:checked ~ label > div:after {
    transform: rotate(-45deg);
  }
} */
/* #endregion Mobile Menu Toggle */

#breadcrumbs a:not(:hover, :focus) {
  text-decoration: none;
}
#header_main {
  position: sticky;
  top: 0px;
  background-color: #fff;
  z-index: 200;
  border-bottom: solid 1px var(--wp--preset--color--gray-300);
}
#header_main > div {
  grid-template-columns: auto 1fr;
  justify-items: end;
  gap: 3rem;
}

#main-content-container {
  margin-block: 1rem;
}

@media (max-width: 400px) {
  #main-content-container {
    margin-block: 0.5rem;
  }
  #breadcrumbs {
    white-space: nowrap;
    text-overflow: ellipsis;
    overflow: hidden;
  }
}

nav.menu-top-container .newsletter-button a {
  font-family: var(--base-ff);
  font-weight: var(--fw-medium);
}

@media (max-width: 1000px) {
  nav.menu-top-container .newsletter-button a {
    color: var(--btn-col-text);
    background-color: var(--btn-col-bg);
    border-color: var(--btn-col-bg);
    margin: 1em;
    text-align: center;
  }
}

#subscribeForm input {
  padding: 0.5em 1em;
  margin: 0.2rem;
}

@media only print {
  header,
  footer,
  .no-print {
    display: none;
  }
}

/* New Homepage CSS */
.green-shadow {
  position: relative;
  z-index: 0;
}

.green-shadow::after {
  content: '';
  display: block;
  position: absolute;
  width: 100%;
  aspect-ratio: 1 / 1;
  background-color: rgb(16 117 117 / 0.4);
  right: -10px;
  top: -10px;
  z-index: -1;
  border-radius: 10px;
  border: solid 1px #107575;
}

.overlap.wp-block-media-text {
  display: grid;
  grid-template: 150px auto 150px / 1fr 150px 1fr;
  
  & .wp-block-media-text__content {
    grid-column: 1 / 3;
    grid-row: 1 / 3;
    padding: 0;
    & em {
      font-family: 'Fira Sans';
    }
  }
  & .wp-block-media-text__media {
    grid-column: 2 / 4;
    grid-row: 2 / 4;
    z-index: -1;
    border-radius: 2rem;
    overflow: hidden;
  }
}

/* Scroll shadow */
#header_top {
  border-bottom: solid 1px rgb(0 0 0/0.12);
}
@supports (animation-timeline: scroll()) {
  #header_top {
    border-bottom: none;
    box-shadow: rgb(0 0 0 / 0) 0 0;
    animation: scroll-shadow linear forwards;
    animation-timeline: scroll(y);
    animation-range: 1rem 2rem;
  }
  @keyframes scroll-shadow {
    from {
      box-shadow: rgb(0 0 0 / 0) 0 0;
    }
    to {
      box-shadow: rgb(0 0 0 / 0.12) 0px 4px 10px -4px;
    }
  }
}

@media (max-width: 800px) {
  .overlap.wp-block-media-text .wp-block-media-text__media {
    display: none;
  }

  .overlap.wp-block-media-text .wp-block-media-text__content {
    grid-row: 1;
    grid-column: 1;
    height: 100%;
  }

  .overlap.wp-block-media-text .wp-block-media-text__content > div {
    height: 100%;
    background-color: transparent !important;
    border: none;
    text-align: center;
  }
}

@media (min-width: 575px) {
  html.has-modal-open, html:has(dialog[open]) {
    scrollbar-gutter: stable;
  }
}

/* #main-nav {
  font-weight: 500;
}
#main-nav button svg {
  stroke-width: 1px;
  stroke: currentColor;
}
#main-nav .wp-block-navigation__responsive-container {
  left: unset;
  &.is-menu-open {
    box-shadow: var(--wp--preset--shadow--subtle);
  }
}
#main-nav .has-modal-open .wp-block-navigation__responsive-close {
  --dist-to-right-edge: max(
    (100vw - var(--wp--style--global--wide-size) - 1rem) * 0.5,
    1rem
  );
  margin-right: var(--dist-to-right-edge);
  width: auto;
}
#main-nav .wp-block-navigation__responsive-dialog {
  padding-left: 2rem;
} */

@keyframes scroll-shadow {
  to {
    box-shadow: rgb(0 0 0 / 0.12) 0px 4px 8px -4px;
  }
}

/* Clickable Cards */
.linked_card {
  cursor: pointer;
}

/* .linked_card:hover a[href]:first-of-type {
  text-decoration: underline;
  text-underline-offset: 0.25rem;
} */
/* header .wp-block-navigation .wp-block-navigation-item {
  margin-left: auto;
} */
@media (max-width: 575) {
  header .wp-block-site-logo .custom-logo {
    width: 180px;
    padding-block: 15px 10px;
  }
}

.table-like {
  &.table-like {
    row-gap: 0;
    & > :where(h2, h3, h4, h5, h6) {
      margin-bottom: 0.25em;
    }
  }

  & > p {
    padding: 0.25em;
    margin-block: 0;

    &:nth-of-type(odd) {
      background-color: var(--wp--preset--color--gray-200, #fafafa);
    }
  }
}

.wp-block-group:has(> .box-cta) {
  & > .wp-block-group:first-child {
    flex-basis: 25rem;
  }
}

*:focus-visible {
  outline: 1px solid blue;
}

#sl-modal {
  width: min(100%, 55ch);
  & h2 {
    text-align: center;
    margin-bottom: 1em;
  }
}
.sl-modal__form {
  display: grid;
  gap: 1em;
  margin: auto;
  justify-items: center;

  & > label {
    display: grid;
    & > span {
      place-self: center;
      display: block;
      opacity: 0.8;
    }
    & > * {
      grid-area: 1/1;
    }

    & input {
      padding: 0.375em 0.5em;
      border-radius: 0.25em;
      & + span {
        opacity: 0;
      }
      &:placeholder-shown + span {
        opacity: 1;
      }
    }
  }
}
img[width='0px']{position:absolute}
/* #endregion Exceptions */
