@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Jost:ital,wght@0,100..900;1,100..900&family=Open+Sans:ital,wght@0,300..800;1,300..800&family=Playfair+Display:ital,wght@0,400..900;1,400..900&family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&family=Roboto:ital,wght@0,100..900;1,100..900&display=swap');
.indent {
  text-indent: -9999em;
}
.clear:after {
  visibility: hidden;
  display: block;
  font-size: 0;
  content: " ";
  clear: both;
  height: 0;
}
.mobile {
  display: block;
}
.desktop {
  display: none;
}
@media screen and (min-width: 960px) {
  .mobile {
    display: none;
  }
  .desktop {
    display: block;
  }
}
/*! 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
	========================================================================== */
figure {
  margin: 0;
  padding: 0;
}
/**
* 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"] {
  -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;
}
/**
* Rhatchetre 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 ButtonText;
}
/**
* 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"] {
  -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;
}
* {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
*:focus-visible {
  outline: var(--button-bg-color) auto 3px;
}
img {
  max-width: 100%;
}
a {
  text-decoration: none;
  transition: ease all 0.3s;
  outline: none;
  color: var(--text-link-color);
  /* mobile tap color */
}
a:hover,
a:focus-visible {
  text-decoration: none;
}
a:active {
  text-decoration: none;
}
a:link {
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0.3);
}
h1,
.h1,
h2,
.h2,
h3,
.h3,
h4,
.h4,
h5,
.h5 {
  text-rendering: optimizelegibility;
  margin: 0;
  font-weight: 400;
  line-height: 1.3;
  font-family: var(--heading-font);
}
h1,
.h1 {
  font-size: calc(3.9*1rem);
}
@media screen and (min-width: 768px) {
  h1,
  .h1 {
    font-size: calc(3.9*1rem);
  }
}
@media screen and (min-width: 960px) {
  h1,
  .h1 {
    font-size: calc(6.4*1rem);
  }
}
h2,
.h2 {
  font-size: calc(3.9*1rem);
  padding-bottom: 15px;
}
@media screen and (min-width: 768px) {
  h2,
  .h2 {
    font-size: calc(3.9*1rem);
  }
}
@media screen and (min-width: 960px) {
  h2,
  .h2 {
    font-size: calc(4.8*1rem);
  }
}
.subtitle {
  display: flex;
  flex-wrap: wrap;
}
.subtitle.alt * {
  color: var(--text-color-alt);
}
.subtitle * {
  font-size: calc(1.6*1rem);
  font-family: var(--text-font);
  font-weight: 500;
  width: fit-content;
  display: inline-block;
  text-transform: uppercase;
}
@media screen and (min-width: 768px) {
  .subtitle * {
    font-size: calc(1.6*1rem);
  }
}
@media screen and (min-width: 960px) {
  .subtitle * {
    font-size: calc(1.6*1rem);
  }
}
.subtitle p:not(:first-of-type)::before {
  content: '•';
  margin: 0 0.5em;
  display: inline-block;
  font-weight: 900;
  vertical-align: middle;
}
header {
  display: flex;
  flex-direction: column-reverse;
}
header h1 * {
  font-size: calc(3.9*1rem);
}
@media screen and (min-width: 768px) {
  header h1 * {
    font-size: calc(3.9*1rem);
  }
}
@media screen and (min-width: 960px) {
  header h1 * {
    font-size: calc(6.4*1rem);
  }
}
header h1,
header h2 {
  display: flex;
  flex-direction: column;
  color: var(--text-color);
  line-height: 1.1;
}
header h1 span,
header h2 span {
  display: block;
}
header h1 p + p,
header h2 p + p {
  margin-top: 0 !important;
}
header.alt h1,
header.alt h2 {
  color: var(--heading-color-alt);
}
header.highlight h1 i,
header.highlight h2 i {
  color: var(--heading-color);
}
button,
.button,
a.button {
  position: relative;
  display: inline-block;
  line-height: 24px;
  padding: 8px 16px;
  background: var(--button-bg-color);
  border: 2px solid var(--button-border-color);
  color: var(--button-text-color);
  font-size: 1.6rem;
  border-radius: 1px;
  transition: ease all 0.3s;
  text-align: center;
  margin: auto;
  cursor: pointer;
  text-transform: uppercase;
}
button.ghost,
.button.ghost,
a.button.ghost {
  background: none;
  color: var(--button-text-color);
  border-color: var(--button-text-color);
}
button.ghost:hover,
.button.ghost:hover,
a.button.ghost:hover,
button.ghost:focus-visible,
.button.ghost:focus-visible,
a.button.ghost:focus-visible {
  background: var(--button-bg-color-hover);
  color: var(--button-text-color-hover);
}
button.ghost-dark,
.button.ghost-dark,
a.button.ghost-dark {
  background: var(--button-bg-color-hover);
  color: var(--button-text-color-hover);
  border-color: var(--button-border-color);
}
button.ghost-dark:hover,
.button.ghost-dark:hover,
a.button.ghost-dark:hover,
button.ghost-dark:focus-visible,
.button.ghost-dark:focus-visible,
a.button.ghost-dark:focus-visible {
  background: var(--button-bg-color);
  color: var(--button-text-color);
}
button.inverted,
.button.inverted,
a.button.inverted {
  background: var(--button-text-color);
  border-color: var(--button-text-color);
  color: var(--button-bg-color);
}
button.inverted:hover,
.button.inverted:hover,
a.button.inverted:hover,
button.inverted:focus-visible,
.button.inverted:focus-visible,
a.button.inverted:focus-visible {
  background: transparent;
  color: var(--button-bg-color-hover);
}
button.inline,
.button.inline,
a.button.inline {
  display: inline-block;
}
button .arrow,
.button .arrow,
a.button .arrow {
  display: inline-flex;
  align-items: center;
  gap: 5px;
}
button .arrow::after,
.button .arrow::after,
a.button .arrow::after {
  content: '→';
  position: relative;
  display: inline-block;
  font-size: 1.25em;
  line-height: 1;
  margin-top: -2px;
}
button:hover,
.button:hover,
a.button:hover,
button:focus-visible,
.button:focus-visible,
a.button:focus-visible {
  background: var(--button-bg-color-hover);
  color: var(--button-text-color-hover);
}
.outline {
  background: none;
  border: 2px solid blue;
  color: #000;
}
p {
  margin: 0;
}
ul,
ol {
  margin: 0;
  padding: 0;
}
p + p,
ul + p,
ol + p,
dl + p,
p + ul,
ul + ul,
ol + ul,
dl + ul,
p + ol,
ul + ol,
ol + ol,
dl + ol,
p + dl,
ul + dl,
ol + dl,
dl + dl {
  margin-top: 1em;
}
nav,
.nav,
nav ul,
.nav ul {
  list-style-type: none;
  padding-left: 0;
}
hr {
  border: none;
  background: #eee;
  height: 2px;
  width: 60px;
  margin: 35px auto 0;
}
.alignleft,
.alignright {
  margin-bottom: 1em;
}
address {
  font-style: normal;
}
.center {
  text-align: center;
}
.upper {
  text-transform: uppercase;
}
.screen-reader-text {
  position: absolute !important;
  left: -999em;
}
.html-times {
  font-size: 1.5em;
  vertical-align: sub;
}
.primary-bg {
  background-color: var(--primary-bg-color);
  color: var(--text-color-alt);
}
.secondary-bg {
  background-color: var(--secondary-bg-color);
  color: var(--text-color-alt);
}
.empty,
.hidden {
  display: none !important;
}
form {
  margin: auto;
  max-width: 780px;
}
form * {
  letter-spacing: 0.02em;
}
form input[type="text"],
form input[type="password"],
form input[type="datetime"],
form input[type="datetime-local"],
form input[type="date"],
form input[type="month"],
form input[type="time"],
form input[type="week"],
form input[type="number"],
form input[type="email"],
form input[type="url"],
form input[type="search"],
form input[type="tel"],
form input[type="phone"],
form select,
form textarea {
  box-sizing: border-box;
  width: 100%;
  height: 5rem;
  border: 0;
  text-indent: 20px;
  border-radius: 0;
  background-color: #FDFAF633;
  border: 2px solid #FDFAF633;
  font-family: var(--text-font);
  color: var(--text-color-alt);
}
form select {
  /* Hide the native browser arrow */
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  /* Add spacing so the text doesn't overlap your new arrow */
  padding-right: 30px;
  /* Add your custom SVG arrow as a background image */
  background-image: url("data:image/svg+xml;charset=UTF-8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><polyline points='6 9 12 15 18 9'></polyline></svg>");
  background-repeat: no-repeat;
  background-position: right 10px center;
  background-size: 1.8rem;
}
form select option {
  color: var(--text-color) !important;
}
form textarea {
  min-height: 120px;
  width: 100%;
  padding: 15px 20px;
  border: 0;
  text-indent: 0px;
  border-radius: 0;
  background-color: #FDFAF633;
  border: 2px solid #FDFAF633;
  font-family: var(--text-font);
  box-sizing: border-box;
  resize: vertical;
  max-height: 500px;
  color: var(--text-color-alt);
}
form .checkbox-options {
  width: 100%;
  padding: 15px 20px;
  border: 0;
  text-indent: 0px;
  border-radius: 0;
  background-color: #FDFAF633;
  border: 2px solid #FDFAF633;
  font-family: var(--text-font);
  box-sizing: border-box;
  color: var(--text-color-alt);
  column-count: 1;
  column-gap: 20px;
}
form .checkbox-options label {
  display: block;
  width: 100%;
  cursor: pointer;
  user-select: none;
}
form .checkbox-options label input[type="checkbox"] {
  appearance: none;
  position: relative;
  width: 1.2rem;
  height: 1.2rem;
  border: 1px solid #fdfaf665;
  background: transparent;
  margin: 0;
  cursor: pointer;
  margin-right: 10px;
}
form .checkbox-options label input[type="checkbox"]::before {
  content: "";
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1rem;
  color: var(--text-color-alt);
}
form .checkbox-options label input[type="checkbox"]:checked::before {
  content: "\2713";
}
@media screen and (min-width: 768px) {
  form .checkbox-options {
    column-count: 2;
  }
}
form input[type="submit"],
form input[type="button"],
form input[type="reset"],
form button {
  position: relative;
  display: inline-block;
  line-height: 24px;
  padding: 8px 16px;
  background: var(--button-bg-color);
  border: 2px solid var(--button-border-color);
  font-size: 1.6rem;
  border-radius: 1px;
  transition: ease all 0.3s;
  text-align: center;
  margin: auto;
  cursor: pointer;
  text-transform: uppercase;
  background: none;
  color: var(--button-text-color);
  border-color: var(--button-text-color);
  display: inline-flex;
  align-items: center;
  gap: 5px;
  justify-content: center;
  width: 100%;
  margin-top: 20px;
  margin-bottom: 20px;
}
form input[type="submit"].ghost,
form input[type="button"].ghost,
form input[type="reset"].ghost,
form button.ghost {
  background: none;
  color: var(--button-text-color);
  border-color: var(--button-text-color);
}
form input[type="submit"].ghost:hover,
form input[type="button"].ghost:hover,
form input[type="reset"].ghost:hover,
form button.ghost:hover,
form input[type="submit"].ghost:focus-visible,
form input[type="button"].ghost:focus-visible,
form input[type="reset"].ghost:focus-visible,
form button.ghost:focus-visible {
  background: var(--button-bg-color-hover);
  color: var(--button-text-color-hover);
}
form input[type="submit"].ghost-dark,
form input[type="button"].ghost-dark,
form input[type="reset"].ghost-dark,
form button.ghost-dark {
  background: var(--button-bg-color-hover);
  color: var(--button-text-color-hover);
  border-color: var(--button-border-color);
}
form input[type="submit"].ghost-dark:hover,
form input[type="button"].ghost-dark:hover,
form input[type="reset"].ghost-dark:hover,
form button.ghost-dark:hover,
form input[type="submit"].ghost-dark:focus-visible,
form input[type="button"].ghost-dark:focus-visible,
form input[type="reset"].ghost-dark:focus-visible,
form button.ghost-dark:focus-visible {
  background: var(--button-bg-color);
  color: var(--button-text-color);
}
form input[type="submit"].inverted,
form input[type="button"].inverted,
form input[type="reset"].inverted,
form button.inverted {
  background: var(--button-text-color);
  border-color: var(--button-text-color);
  color: var(--button-bg-color);
}
form input[type="submit"].inverted:hover,
form input[type="button"].inverted:hover,
form input[type="reset"].inverted:hover,
form button.inverted:hover,
form input[type="submit"].inverted:focus-visible,
form input[type="button"].inverted:focus-visible,
form input[type="reset"].inverted:focus-visible,
form button.inverted:focus-visible {
  background: transparent;
  color: var(--button-bg-color-hover);
}
form input[type="submit"].inline,
form input[type="button"].inline,
form input[type="reset"].inline,
form button.inline {
  display: inline-block;
}
form input[type="submit"] .arrow,
form input[type="button"] .arrow,
form input[type="reset"] .arrow,
form button .arrow {
  display: inline-flex;
  align-items: center;
  gap: 5px;
}
form input[type="submit"] .arrow::after,
form input[type="button"] .arrow::after,
form input[type="reset"] .arrow::after,
form button .arrow::after {
  content: '→';
  position: relative;
  display: inline-block;
  font-size: 1.25em;
  line-height: 1;
  margin-top: -2px;
}
form input[type="submit"]:hover,
form input[type="button"]:hover,
form input[type="reset"]:hover,
form button:hover,
form input[type="submit"]:focus-visible,
form input[type="button"]:focus-visible,
form input[type="reset"]:focus-visible,
form button:focus-visible {
  background: var(--button-bg-color-hover);
  color: var(--button-text-color-hover);
}
form input[type="submit"]:hover,
form input[type="button"]:hover,
form input[type="reset"]:hover,
form button:hover,
form input[type="submit"]:focus-visible,
form input[type="button"]:focus-visible,
form input[type="reset"]:focus-visible,
form button:focus-visible {
  background: var(--button-bg-color-hover);
  color: var(--button-text-color-hover);
}
form input[type="submit"]::after,
form input[type="button"]::after,
form input[type="reset"]::after,
form button::after {
  content: '→';
  position: relative;
  display: inline-block;
  font-size: 1.25em;
  line-height: 1;
  margin-top: -2px;
}
form input[type="password"] {
  letter-spacing: 0.3em;
}
form ::-webkit-input-placeholder {
  color: var(--text-color-alt);
  font-weight: 300;
}
form ::-moz-placeholder {
  color: var(--text-color-alt);
  font-weight: 300;
}
form :-ms-input-placeholder {
  color: var(--text-color-alt);
  font-weight: 300;
}
form :-moz-placeholder {
  color: var(--text-color-alt);
  font-weight: 300;
}
form ::placeholder {
  color: var(--text-color-alt);
  font-weight: 300;
}
form label {
  font-weight: 300;
  text-transform: uppercase;
  margin-bottom: 4px;
}
form .field-wrapper {
  padding-bottom: 25px;
}
form .form-group.required > label:after,
form .form-group:has(input[required]) > label:after,
form .form-group:has(input[required="required"]) > label:after {
  content: "*";
  color: currentColor;
  font-size: 1.13rem;
  font-weight: 400;
  vertical-align: super;
  margin-left: 2px;
}
form .form-group {
  padding-bottom: 12px;
}
@media screen and (min-width: 768px) {
  .fields,
  reform {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    width: 100%;
  }
  .field-wrap:has(input[type="checkbox"]) {
    column-count: 2;
    column-gap: 20px;
  }
  .field-wrap:has(input[type="checkbox"]) label {
    display: block;
    width: 100%;
  }
  .iwrap,
  .form-group,
  .field-wrap {
    width: 100%;
    padding-bottom: 12px;
  }
  .iwrap.quarter,
  .form-group.quarter,
  .field-wrap.quarter {
    width: 23%;
  }
  .iwrap.half,
  .form-group.half,
  .field-wrap.half {
    width: 48%;
  }
  .iwrap.third,
  .form-group.third,
  .field-wrap.third {
    width: 73%;
  }
  .iwrap.one-third,
  .form-group.one-third,
  .field-wrap.one-third {
    width: 31%;
  }
  .iwrap.two-thirds,
  .form-group.two-thirds,
  .field-wrap.two-thirds {
    width: 65%;
  }
  .iwrap.textarea,
  .form-group.textarea,
  .field-wrap.textarea,
  .iwrap.submit,
  .form-group.submit,
  .field-wrap.submit,
  .iwrap.full,
  .form-group.full,
  .field-wrap.full {
    width: 100%;
  }
  .iwrap.submit,
  .form-group.submit,
  .field-wrap.submit {
    padding-left: 0;
    margin-left: 0;
  }
}
html {
  font-size: 62.5%;
  box-sizing: border-box;
  scroll-behavior: smooth;
}
html *,
html *:before,
html *:after {
  box-sizing: border-box;
}
body {
  font-size: 1.6rem;
  line-height: 2.4rem;
  color: var(--text-color);
  font-family: var(--text-font);
  font-weight: 300;
  background-color: #FFFFFF;
}
img {
  display: block;
}
#mainwrap {
  overflow: hidden;
  position: relative;
  z-index: 1;
}
#footer {
  position: relative;
}
.inner {
  position: relative;
  margin: auto;
  max-width: 1400px;
  width: 100%;
}
#skip-link {
  position: absolute;
  left: -9999px;
  top: 0;
  background-color: var(--button-bg-color);
  color: var(--button-text-color);
  padding: 10px;
}
#skip-link a,
#skip-link button {
  color: var(--button-text-color);
  text-decoration: underline;
}
#skip-link:focus-within {
  left: 0;
  z-index: 20;
}
#rs-adder #rs-adder-list li * {
  box-sizing: unset;
}
#rs-adder #rs-adder-list li span {
  height: 100%;
  width: 100%;
  display: block;
}
#rs-adder #rs-adder-list li img {
  height: 100%;
  width: 100%;
  object-fit: contain;
}
#rs-adder #rs-adder-list li strong {
  height: auto;
  max-height: 100%;
}
.rs-rs-inner-markup {
  overflow-x: hidden;
}
.slbWrap {
  cursor: zoom-out;
}
.slbCloseBtn,
.slbArrows button {
  background: unset !important;
  border: 0 !important;
  color: #fff;
  position: absolute !important;
  margin: unset !important;
  padding: unset !important;
  min-width: unset !important;
  font-weight: unset !important;
}
.slbCloseBtn:hover,
.slbArrows button:hover,
.slbCloseBtn:focus-visible,
.slbArrows button:focus-visible {
  color: #fff !important;
  opacity: 0.4 !important;
}
.slbArrows button {
  margin-top: -5em !important;
}
.slbCloseBtn {
  top: 0.5em !important;
}
.slbContentOuter {
  max-width: 80% !important;
}
.slbContentOuter .slbImage {
  padding: 3em 0 5em !important;
  cursor: default;
}
.slbContentOuter button {
  box-shadow: none !important;
  font-weight: 300 !important;
  font-family: var(--heading-font) !important;
  cursor: pointer;
}
.slbContentOuter .slbCloseBtn {
  right: 15px !important;
  top: 0 !important;
  height: unset !important;
  width: unset !important;
  line-height: 1;
  cursor: pointer;
}
.slbContentOuter .slbCaption {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  -webkit-line-clamp: 2;
  /* Limits to 2 lines */
  line-clamp: 2;
  padding: 0.21429em 6ch 0.21429em 0.21429em !important;
  margin-bottom: 1em;
  font-size: 20px;
  height: 7rem;
  white-space: unset !important;
  text-align: left !important;
  cursor: default;
}
.slbContentOuter .slb-counter {
  position: absolute;
  right: 0;
  top: 0.21429em;
}
.slbContentOuter .slb-caption {
  display: block;
  width: calc(100% - 75px);
}
.block.iframe-embed iframe[src*="appfolio.com"],
.block.iframe-embed iframe[src*="appfio.com"] {
  width: 100%;
  height: 700px;
  padding: 0 15px;
}
.block.iframe-embed:has(iframe[src*="matterport.com"]) #embed-target {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}
.block.iframe-embed iframe[src*="matterport.com"] {
  height: 50vh;
  max-height: 500px;
  max-width: 100%;
  aspect-ratio: 16 / 9;
}
select {
  /* Hide the native browser arrow */
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  /* Add spacing so the text doesn't overlap your new arrow */
  padding-right: 30px;
  /* Add your custom SVG arrow as a background image */
  background-image: url("data:image/svg+xml;charset=UTF-8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><polyline points='6 9 12 15 18 9'></polyline></svg>");
  background-repeat: no-repeat;
  background-position: right 10px center;
  background-size: 1.8rem;
}
.block.topbar {
  box-sizing: content-box;
  display: flex;
  justify-content: center;
  width: 100%;
  position: fixed;
  top: 0;
  z-index: 100;
  background-color: transparent;
  transition: background-color 1s ease-in-out 0.2s;
}
.block.topbar a {
  font-weight: 400;
}
.block.topbar * {
  box-sizing: border-box;
  line-height: 1.5;
}
.block.topbar::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: -1;
  background-color: var(--secondary-bg-color);
  opacity: 0;
  transition: opacity 1s ease-in-out 0.2s;
}
.block.topbar span:not(.fab) {
  font-size: 1.8rem;
  color: var(--button-text-color);
  vertical-align: middle;
}
.block.topbar .skip {
  position: absolute;
  left: -999px;
  top: auto;
  width: 1px;
  height: 1px;
  overflow: hidden;
}
.block.topbar .skip:focus {
  color: var(--text-color);
  background-color: var(--text-link-color-hover);
  left: 1rem;
  top: 1rem;
  width: auto;
  height: auto;
  overflow: auto;
  padding: 0.5rem 1rem;
  text-align: center;
  font-size: 1.8rem;
  font-weight: bold;
  font-family: var(--heading-font);
  z-index: 99999999;
  text-decoration: none;
}
.block.topbar .inner {
  display: flex;
  gap: 20px;
  flex-direction: row;
  justify-content: space-between;
  padding: 0 20px;
  margin: 0;
  align-items: center;
}
.block.topbar .inner .logo-wrapper {
  margin: 10px 0 7px;
  transition: all 1s ease 0.2s;
}
.block.topbar .inner .logo-wrapper a {
  width: 120px;
  height: 60px;
  display: block;
  margin: 16px auto;
}
.block.topbar .inner .logo-wrapper a img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.block.topbar .inner .nav-icons {
  display: flex;
  justify-content: flex-start;
  align-items: center;
}
.block.topbar .inner .nav-icons .text-link:not(.dropdown-item) {
  padding: 8px 10px;
  color: var(--text-color-alt);
  line-height: 1.75;
  font-size: 1.6rem;
  margin: 0;
}
.block.topbar .inner .nav-icons .dropdown-item {
  display: none;
  color: var(--text-color);
}
.block.topbar .inner .nav-icons ul {
  display: flex;
  flex-wrap: nowrap;
}
.block.topbar .inner .cta.desktop {
  flex: 1;
  display: flex;
  justify-content: flex-end;
}
.block.topbar .inner .cta.desktop a {
  margin: 0 0 0 auto;
}
.block.topbar .inner .menu-btn-wrapper {
  width: 180px;
}
.block.topbar .inner .menu-btn {
  background-color: transparent;
  border: none;
  cursor: pointer;
  padding: 1px 6px 0 6px;
  margin: 10px 0 0 auto;
  height: 40px;
  min-width: unset;
  border-radius: 0;
  display: flex;
  flex-direction: column;
  align-items: end;
}
.block.topbar .inner .menu-btn .bar {
  width: 35px;
  height: 2px;
  margin-top: 5px;
  transition: width 0.2s ease-in-out;
  background-color: var(--text-color-alt);
}
.block.topbar .inner .menu-btn:hover .bar:nth-child(1),
.block.topbar .inner .menu-btn:focus .bar:nth-child(1) {
  width: 50px;
}
.block.topbar .inner .menu-btn:hover .bar:nth-child(2),
.block.topbar .inner .menu-btn:focus .bar:nth-child(2) {
  width: 40px;
}
.block.topbar .inner .menu-btn:hover .bar:nth-child(3),
.block.topbar .inner .menu-btn:focus .bar:nth-child(3) {
  width: 45px;
}
.block.topbar .menu {
  position: fixed;
  transform: translateX(-100%);
  visibility: hidden;
  z-index: 999;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  display: block;
  background-color: var(--footer-bg-color);
}
.block.topbar .menu .menu-top {
  height: 100px;
  width: 100%;
  background-color: var(--secondary-bg-color);
}
.block.topbar .menu .menu-top .logo-desktop,
.block.topbar .menu .menu-top .logo-mobile {
  position: absolute;
  z-index: 10;
}
.block.topbar .menu .menu-top .logo-mobile {
  display: block;
  width: 120px;
  left: 20px;
  top: 20px;
}
.block.topbar .menu .menu-top .logo-desktop {
  display: none;
}
.block.topbar .menu .menu-left {
  display: none;
}
.block.topbar .menu .menu-right {
  width: 100%;
  height: calc(100% - 100px);
  overflow-y: auto;
  overflow-x: hidden;
  padding-left: 32px;
}
.block.topbar .menu .menu-right .dropdown-btn {
  padding-left: 0;
}
.block.topbar .menu .menu-right .dropdown-menu {
  padding-top: 0;
  padding-bottom: 0;
  padding-left: 20px;
}
.block.topbar .menu .menu-right .dropdown-menu li {
  padding: 5px 0;
}
.block.topbar .menu .menu-right a {
  position: relative;
  text-transform: uppercase;
}
.block.topbar .menu .menu-right a::before {
  content: "";
  position: absolute;
  width: 0;
  height: 2px;
  bottom: 0;
  left: 0;
  background-color: var(--text-link-color-hover);
  transition: width 0.2s ease-in-out;
  z-index: -1;
}
.block.topbar .menu .menu-right a:not(.social):hover::before,
.block.topbar .menu .menu-right a:not(.social):focus::before {
  width: 100%;
}
.block.topbar .menu .menu-right .menu-close {
  position: fixed;
  top: 20px;
  right: 30px;
  height: 48px;
  cursor: pointer;
  border: none;
  padding: 8px 6px;
  background-color: transparent;
  transition: transform 0.4s ease-in-out;
  transition: background-color 0.2s ease-in-out;
  min-width: unset;
  border-radius: 0;
}
.block.topbar .menu .menu-right .menu-close svg {
  height: 24px;
  width: 24px;
}
.block.topbar .menu .menu-right .menu-close:hover,
.block.topbar .menu .menu-right .menu-close:focus-visible {
  opacity: 0.6;
}
.block.topbar .menu .menu-right ul {
  display: flex;
  flex-direction: column;
  padding-top: 15px;
}
.block.topbar .menu .menu-right ul li {
  text-transform: capitalize;
  font-family: var(--text-font);
}
.block.topbar .menu .menu-right ul li a {
  color: var(--text-color);
  font-size: 1.6rem;
}
.block.topbar .menu .menu-right .button {
  padding: 10px;
  font-size: 1.1rem;
  width: 200px;
  letter-spacing: 3px;
  margin-top: 5px;
  border: 1px solid var(--button-border-color);
  color: var(--button-text-color);
}
.block.topbar .menu .menu-right .button:hover,
.block.topbar .menu .menu-right .button:focus {
  opacity: 0.8;
}
.block.topbar .menu .menu-right .btns {
  display: flex;
  flex-direction: column;
  margin-top: 10px;
  width: 200px;
}
.block.topbar .menu .menu-right .btns .button {
  padding: 10px;
  font-size: 1.1rem;
  width: 100%;
  letter-spacing: 3px;
  margin-top: 5px;
  border: 1px solid var(--button-border-color);
}
.block.topbar .menu .menu-right .btns .button:hover,
.block.topbar .menu .menu-right .btns .button:focus {
  opacity: 0.8;
}
.block.topbar .menu .menu-right .contact {
  width: 288px;
  margin-top: 20px;
}
.block.topbar .menu .menu-right .contact * {
  color: var(--text-color);
}
.block.topbar .menu .menu-right .contact a {
  height: fit-content;
  display: block;
  padding-bottom: 3px;
  margin: 0 20px 10px 0;
  color: var(--text-color);
  font-family: var(--text-font);
  font-size: 1.6rem;
  letter-spacing: 0;
}
.block.topbar .menu .menu-right .contact a p {
  text-wrap: balance;
}
.block.topbar .menu .menu-right .socials {
  padding-bottom: 40px;
  margin-top: 12px;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.block.topbar .menu .menu-right .socials a {
  border: 1px solid var(--text-color-alt);
  text-align: center;
  transition: all 0.5s ease-in-out;
  height: 46px;
  min-width: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.block.topbar .menu .menu-right .socials a i,
.block.topbar .menu .menu-right .socials a span {
  color: var(--button-text-color);
  font-size: 18px;
  line-height: 1;
}
.block.topbar .menu .menu-right .socials a:hover,
.block.topbar .menu .menu-right .socials a:focus {
  background-color: var(--text-color-alt);
}
.block.topbar .menu .menu-right .socials a:hover i,
.block.topbar .menu .menu-right .socials a:focus i,
.block.topbar .menu .menu-right .socials a:hover span,
.block.topbar .menu .menu-right .socials a:focus span {
  color: var(--button-bg-color);
}
.block.topbar .menu .menu-right .socials a[href=""] {
  display: none;
}
.block.topbar .menu .menu-right .slide-in {
  animation: menuSlideIn 1s ease-in-out forwards;
}
.block.topbar .menu .menu-left img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.block.topbar .menu.active {
  transform: translateX(0);
  visibility: visible;
}
.block.topbar.scrolled {
  backdrop-filter: blur(3px);
}
.block.topbar.scrolled::before {
  opacity: 0.8;
}
.block.topbar.scrolled .logo-wrapper {
  visibility: visible;
  opacity: 1;
}
.block.topbar .menu-desktop .dropdown-menu[aria-hidden="true"] {
  display: none;
}
.block.topbar .menu-desktop ul:has(.dropdown) li {
  padding: 10px 0;
}
.block.topbar .menu-desktop .dropdown {
  position: relative;
}
.block.topbar .menu-desktop .dropdown-btn {
  padding-right: 10px;
  line-height: 1.75;
  background: none;
  border: none;
  color: var(--text-color-alt);
}
.block.topbar .menu-desktop .dropdown-btn::after {
  content: '';
  display: inline-block;
  width: 10px;
  height: 10px;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  margin-left: 5px;
  transform: rotate(45deg) translate(0px, -5px);
}
.block.topbar .menu-desktop .dropdown-btn:hover,
.block.topbar .menu-desktop .dropdown-btn:focus-visible,
.block.topbar .menu-desktop .dropdown-btn[aria-expanded="true"] {
  color: var(--heading-color);
}
.block.topbar .menu-desktop .dropdown-menu {
  position: absolute;
  top: 100%;
  left: 0;
  width: max-content;
  min-width: 150px;
  background-color: var(--page-bg-color);
  border-top: none;
  flex-direction: column;
  padding: 0;
  will-change: opacity;
  overflow: hidden;
  transition: all 0.5s;
  display: flex !important;
  opacity: 0;
  padding: 10px 20px;
}
.block.topbar .menu-desktop .dropdown-menu.show {
  opacity: 1;
}
.block.topbar .menu-desktop .dropdown-menu a {
  color: var(--text-color);
  position: relative;
}
.block.topbar .menu-desktop .dropdown-menu a.current {
  color: var(--heading-color);
  pointer-events: none;
}
.block.topbar .menu-right .dropdown-menu[aria-hidden="true"] {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}
.block.topbar .menu-right ul {
  padding: 0 30px 0 0;
}
.block.topbar .menu-right .dropdown {
  position: relative;
}
.block.topbar .menu-right .dropdown-btn {
  padding-right: 10px;
  line-height: 1.75;
  background: none;
  border: none;
  color: var(--text-color);
  font-weight: 400;
}
.block.topbar .menu-right .dropdown-btn::after {
  content: '';
  display: inline-block;
  width: 10px;
  height: 10px;
  border-right: 2px solid var(--text-color);
  border-bottom: 2px solid var(--text-color);
  margin-left: 5px;
  transform: rotate(45deg) translate(0px, -5px);
}
.block.topbar .menu-right .dropdown-menu {
  position: relative;
  background-color: none;
  border-top: none;
  flex-direction: column;
  padding: 0;
  max-height: 0;
  overflow: hidden;
  display: flex !important;
  padding: 10px 20px 10px 40px;
}
.block.topbar .menu-right .dropdown-menu.show {
  max-height: 500px;
}
.block.topbar .menu-right .dropdown-menu a {
  color: var(--text-color);
  font-size: 1.6rem;
}
.block.topbar .menu-right .dropdown-menu a:hover::after,
.block.topbar .menu-right .dropdown-menu a:focus-visible::after {
  opacity: 1;
}
.block.topbar .menu-right .dropdown-menu a.current::after {
  opacity: 1;
  color: var(--secondary-bg-color);
}
.block.topbar .map-link p + p {
  margin-top: 0;
}
.block.topbar .desktop {
  display: none !important;
}
@media screen and (min-width: 480px) {
  .block.topbar .menu .menu-top {
    position: absolute;
    top: 0;
    left: 0;
    width: auto;
    height: auto;
  }
  .block.topbar .menu .menu-left,
  .block.topbar .menu .menu-right {
    display: inline-block;
    width: 50%;
    height: 100%;
  }
  .block.topbar .menu .menu-left::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    width: 50%;
    background: #000000;
    opacity: 0.6;
    z-index: 0;
  }
  .block.topbar .menu .menu-right {
    padding-left: 20px;
    color: var(--text-color);
  }
  .block.topbar .menu .menu-right .menu-close {
    right: 30px;
    top: 20px;
    color: var(--text-color);
  }
  .block.topbar .menu .menu-right nav > ul {
    padding-top: 50px;
  }
  .block.topbar .menu .menu-right nav > ul li {
    font-size: 2.5rem;
  }
  .block.topbar .menu .menu-right nav > ul .dropdown-menu {
    display: none;
  }
  .block.topbar .menu .menu-right nav > ul .dropdown-menu.show {
    display: flex;
  }
  .block.topbar .menu.active {
    display: flex !important;
    flex-direction: row;
  }
}
@media screen and (min-width: 768px) {
  .block.topbar .inner .logo-wrapper {
    width: 180px;
    margin-top: 5px;
  }
  .block.topbar .inner .nav-icons {
    flex: 1;
    min-width: fit-content;
  }
  .block.topbar .inner .nav-icons .icon {
    display: none;
  }
  .block.topbar .inner .nav-icons .text-link {
    display: inline-block;
    margin-right: 30px;
    font-size: 1.6rem;
    text-transform: uppercase;
  }
  .block.topbar .inner .nav-icons .text-link:hover,
  .block.topbar .inner .nav-icons .text-link:focus-visible {
    color: var(--heading-color);
  }
  .block.topbar .inner .nav-icons .text-link.dropdown-item {
    display: block;
    margin-right: 0;
  }
  .block.topbar .menu .menu-top .logo-mobile {
    display: none;
  }
  .block.topbar .menu .menu-top .logo-desktop {
    display: block;
    width: 220px;
    top: 20px;
    left: 50px;
  }
  .block.topbar .menu .menu-right {
    padding-left: 98px;
    padding-top: 75px;
  }
  .block.topbar .menu .menu-right ul {
    padding-top: 0;
  }
  .block.topbar .menu .menu-right ul li {
    font-size: 2.5rem;
  }
}
@media screen and (min-width: 960px) {
  .block.topbar .inner .logo-wrapper {
    flex: 1;
    margin: 5px 0;
  }
  .block.topbar .inner .desktop {
    display: flex !important;
  }
  .block.topbar .menu .menu-right .menu-close {
    right: 80px;
    top: 50px;
  }
  .block.topbar .menu .menu-top .logo-desktop {
    top: 50px;
    left: 80px;
  }
  .block.topbar .menu .menu-right {
    padding-left: 110px;
    padding-top: 40px;
  }
  .block.topbar .menu .menu-right ul li {
    font-size: 3.8rem;
  }
}
@keyframes menuSlideIn {
  0% {
    transform: translateX(-130%);
    opacity: 0;
  }
  100% {
    transform: translateX(0);
    opacity: 1;
  }
}
body:has(.animated-overlay) .block.topbar {
  opacity: 0;
  visibility: hidden;
}
body:has(.animated-overlay).no-animate .block.topbar {
  transition: none !important;
  opacity: 1 !important;
  visibility: visible !important;
}
.simple-text {
  position: relative;
  padding: 45px 20px;
}
.simple-text h1,
.simple-text h2,
.simple-text h3,
.simple-text h4,
.simple-text h5 {
  font-size: 2rem;
}
.simple-text p {
  padding-bottom: 1.5em;
}
.simple-text a {
  position: relative;
  display: inline-block;
  line-height: 24px;
  padding: 8px 16px;
  background: var(--button-bg-color);
  border: 2px solid var(--button-border-color);
  color: var(--button-text-color);
  font-size: 1.6rem;
  border-radius: 1px;
  transition: ease all 0.3s;
  text-align: center;
  margin: auto;
  cursor: pointer;
  text-transform: uppercase;
}
.simple-text a.ghost {
  background: none;
  color: var(--button-text-color);
  border-color: var(--button-text-color);
}
.simple-text a.ghost:hover,
.simple-text a.ghost:focus-visible {
  background: var(--button-bg-color-hover);
  color: var(--button-text-color-hover);
}
.simple-text a.ghost-dark {
  background: var(--button-bg-color-hover);
  color: var(--button-text-color-hover);
  border-color: var(--button-border-color);
}
.simple-text a.ghost-dark:hover,
.simple-text a.ghost-dark:focus-visible {
  background: var(--button-bg-color);
  color: var(--button-text-color);
}
.simple-text a.inverted {
  background: var(--button-text-color);
  border-color: var(--button-text-color);
  color: var(--button-bg-color);
}
.simple-text a.inverted:hover,
.simple-text a.inverted:focus-visible {
  background: transparent;
  color: var(--button-bg-color-hover);
}
.simple-text a.inline {
  display: inline-block;
}
.simple-text a .arrow {
  display: inline-flex;
  align-items: center;
  gap: 5px;
}
.simple-text a .arrow::after {
  content: '→';
  position: relative;
  display: inline-block;
  font-size: 1.25em;
  line-height: 1;
  margin-top: -2px;
}
.simple-text a:hover,
.simple-text a:focus-visible {
  background: var(--button-bg-color-hover);
  color: var(--button-text-color-hover);
}
article.text-content {
  padding: 75px 20px;
  position: relative;
}
article.text-content h2,
article.text-content h3,
article.text-content h4,
article.text-content h5,
article.text-content h6 {
  margin-bottom: 10px;
  font-weight: 500;
}
article.text-content p,
article.text-content ul,
article.text-content ol,
article.text-content dl {
  list-style: none;
  padding-bottom: 3rem;
}
.block.hero {
  padding: 100px 20px 60px;
  position: relative;
}
.block.hero::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0.6;
  background-color: #000000;
}
.block.hero.home {
  height: 100vh;
  max-height: 1000px;
  min-height: fit-content;
  display: flex;
  align-items: flex-end;
}
.block.hero.home .inner {
  margin-bottom: 0;
  display: flex;
  justify-content: flex-start;
  z-index: 2;
}
.block.hero.home.video::before {
  z-index: 1;
}
.block.hero.home video {
  display: none;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 0;
}
.block.hero.home .subtitle * {
  font-weight: 500;
}
.block.hero.home .content-wrapper {
  max-width: 500px;
}
.block.hero.home .content {
  margin-top: 10px;
}
.block.hero.home .content .text {
  color: var(--text-color-alt);
}
.block.hero.home .content .cta {
  margin-top: 10px;
}
.block.hero.home .content .cta a {
  position: relative;
  display: inline-block;
  line-height: 24px;
  padding: 8px 16px;
  background: var(--button-bg-color);
  border: 2px solid var(--button-border-color);
  color: var(--button-text-color);
  font-size: 1.6rem;
  border-radius: 1px;
  transition: ease all 0.3s;
  text-align: center;
  margin: auto;
  cursor: pointer;
  text-transform: uppercase;
  background: var(--button-text-color);
  border-color: var(--button-text-color);
  color: var(--button-bg-color);
  margin-right: 10px;
  margin-top: 10px;
}
.block.hero.home .content .cta a.ghost {
  background: none;
  color: var(--button-text-color);
  border-color: var(--button-text-color);
}
.block.hero.home .content .cta a.ghost:hover,
.block.hero.home .content .cta a.ghost:focus-visible {
  background: var(--button-bg-color-hover);
  color: var(--button-text-color-hover);
}
.block.hero.home .content .cta a.ghost-dark {
  background: var(--button-bg-color-hover);
  color: var(--button-text-color-hover);
  border-color: var(--button-border-color);
}
.block.hero.home .content .cta a.ghost-dark:hover,
.block.hero.home .content .cta a.ghost-dark:focus-visible {
  background: var(--button-bg-color);
  color: var(--button-text-color);
}
.block.hero.home .content .cta a.inverted {
  background: var(--button-text-color);
  border-color: var(--button-text-color);
  color: var(--button-bg-color);
}
.block.hero.home .content .cta a.inverted:hover,
.block.hero.home .content .cta a.inverted:focus-visible {
  background: transparent;
  color: var(--button-bg-color-hover);
}
.block.hero.home .content .cta a.inline {
  display: inline-block;
}
.block.hero.home .content .cta a .arrow {
  display: inline-flex;
  align-items: center;
  gap: 5px;
}
.block.hero.home .content .cta a .arrow::after {
  content: '→';
  position: relative;
  display: inline-block;
  font-size: 1.25em;
  line-height: 1;
  margin-top: -2px;
}
.block.hero.home .content .cta a:hover,
.block.hero.home .content .cta a:focus-visible {
  background: var(--button-bg-color-hover);
  color: var(--button-text-color-hover);
}
.block.hero.home .content .cta a:hover,
.block.hero.home .content .cta a:focus-visible {
  background: transparent;
  color: var(--button-bg-color-hover);
}
.block.hero.home .content .cta a:not(:first-of-type) {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  background: none;
  color: var(--button-text-color);
  border-color: var(--button-text-color);
}
.block.hero.home .content .cta a:not(:first-of-type)::after {
  content: '→';
  position: relative;
  display: inline-block;
  font-size: 1.25em;
  line-height: 1;
  margin-top: -2px;
}
.block.hero.home .content .cta a:not(:first-of-type):hover,
.block.hero.home .content .cta a:not(:first-of-type):focus-visible {
  background: var(--button-bg-color-hover);
  color: var(--button-text-color-hover);
}
.block.hero.home .content .cta:not(:has(a)) {
  display: none;
}
.block.hero.slim {
  height: 100vh;
  max-height: 600px;
  min-height: fit-content;
  display: flex;
  align-items: flex-end;
}
.block.hero.slim .inner {
  margin-bottom: 0;
  padding-bottom: 100px;
}
.block.hero.slim header {
  text-align: center;
}
.block.hero.slim header .subtitle {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
.block.hero.right-left {
  height: 100vh;
  max-height: 800px;
  min-height: fit-content;
  display: flex;
  align-items: flex-end;
  padding: 100px 20px 80px;
}
.block.hero.right-left .inner {
  display: flex;
  flex-direction: column;
  justify-content: center;
  margin: 0 auto;
  gap: 40px;
}
.block.hero.right-left .inner .content-wrapper.left {
  width: 100%;
}
.block.hero.right-left .inner .content-wrapper.left .text {
  color: var(--text-color-alt);
  margin-top: 20px;
}
.block.hero.right-left .inner .right {
  width: 100%;
  display: flex;
  align-items: center;
  flex-direction: column;
  color: var(--text-color-alt);
}
.block.hero.right-left .inner .right ul {
  list-style: none;
  padding: 0;
}
.block.hero.right-left .inner .right ul li {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 40px;
  border: 1px solid #FDFAF680;
  background-color: #fdfaf63d;
  padding: 8px 20px;
  transition: background-color 0.3s;
}
.block.hero.right-left .inner .right ul li:hover {
  background-color: #fdfaf680;
}
.block.hero.right-left .inner .right ul li i {
  font-style: normal;
}
.block.hero.right-left .inner .right ul li + li {
  margin-top: 10px;
}
.block.hero.split {
  padding: 0 0 40px 0;
  position: relative;
  margin-top: 100px;
}
.block.hero.split::before {
  content: none;
  display: none;
}
.block.hero.split .primary {
  height: 300px;
  width: calc(100% + 40px);
  margin-right: -20px;
  pointer-events: auto;
}
.block.hero.split .primary img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.block.hero.split .inner {
  padding: 40px 20px 20px;
  pointer-events: none;
}
.block.hero.split .secondary {
  pointer-events: none;
}
.block.hero.split .secondary * {
  pointer-events: auto;
}
.block.hero.split .secondary header {
  margin-bottom: 15px;
}
.block.hero.split .secondary header h2 {
  padding-bottom: 0;
}
.block.hero.split .secondary p + ul {
  margin-top: 40px;
}
.block.hero.split .secondary ul {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.block.hero.split .secondary ul li {
  padding: 14px 20px;
  border: 1px solid #c9c7c4;
  position: relative;
  text-transform: uppercase;
  font-weight: 400;
}
.block.hero.split .secondary ul li::before {
  content: "";
  position: absolute;
  bottom: -1px;
  left: -1px;
  width: 6px;
  height: 0;
  background-color: var(--primary-bg-color);
  transition: height 0.5s ease;
}
.block.hero.split .secondary ul li:hover,
.block.hero.split .secondary ul li:focus-within {
  border: 1px solid var(--primary-bg-color);
}
.block.hero.split .secondary ul li:hover::before,
.block.hero.split .secondary ul li:focus-within::before {
  height: calc(100% + 2px);
}
.block.hero.split .cta {
  margin-top: 20px;
  display: flex;
  justify-content: flex-start;
}
.block.hero.split .cta a {
  position: relative;
  display: inline-block;
  line-height: 24px;
  padding: 8px 16px;
  background: var(--button-bg-color);
  border: 2px solid var(--button-border-color);
  color: var(--button-text-color);
  font-size: 1.6rem;
  border-radius: 1px;
  transition: ease all 0.3s;
  text-align: center;
  margin: auto;
  cursor: pointer;
  text-transform: uppercase;
  margin-right: 10px;
  margin-left: 0;
  margin-top: 10px;
}
.block.hero.split .cta a.ghost {
  background: none;
  color: var(--button-text-color);
  border-color: var(--button-text-color);
}
.block.hero.split .cta a.ghost:hover,
.block.hero.split .cta a.ghost:focus-visible {
  background: var(--button-bg-color-hover);
  color: var(--button-text-color-hover);
}
.block.hero.split .cta a.ghost-dark {
  background: var(--button-bg-color-hover);
  color: var(--button-text-color-hover);
  border-color: var(--button-border-color);
}
.block.hero.split .cta a.ghost-dark:hover,
.block.hero.split .cta a.ghost-dark:focus-visible {
  background: var(--button-bg-color);
  color: var(--button-text-color);
}
.block.hero.split .cta a.inverted {
  background: var(--button-text-color);
  border-color: var(--button-text-color);
  color: var(--button-bg-color);
}
.block.hero.split .cta a.inverted:hover,
.block.hero.split .cta a.inverted:focus-visible {
  background: transparent;
  color: var(--button-bg-color-hover);
}
.block.hero.split .cta a.inline {
  display: inline-block;
}
.block.hero.split .cta a .arrow {
  display: inline-flex;
  align-items: center;
  gap: 5px;
}
.block.hero.split .cta a .arrow::after {
  content: '→';
  position: relative;
  display: inline-block;
  font-size: 1.25em;
  line-height: 1;
  margin-top: -2px;
}
.block.hero.split .cta a:hover,
.block.hero.split .cta a:focus-visible {
  background: var(--button-bg-color-hover);
  color: var(--button-text-color-hover);
}
.block.hero.split .cta a::after {
  content: none;
}
.block.hero.split .cta a:not(:first-of-type) {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  background: var(--button-bg-color-hover);
  color: var(--button-text-color-hover);
  border-color: var(--button-border-color);
}
.block.hero.split .cta a:not(:first-of-type)::after {
  content: '→';
  position: relative;
  display: inline-block;
  font-size: 1.25em;
  line-height: 1;
  margin-top: -2px;
}
.block.hero.split .cta a:not(:first-of-type):hover,
.block.hero.split .cta a:not(:first-of-type):focus-visible {
  background: var(--button-bg-color);
  color: var(--button-text-color);
}
.block.hero.text {
  padding: 180px 20px 75px;
}
.block.hero.text::before {
  content: none;
  display: none;
}
.block.hero.text header {
  text-align: center;
  display: flex;
  flex-direction: column-reverse;
  align-items: center;
}
.block.hero.text .inner {
  max-width: 950px;
}
.block.hero.text .content {
  margin-top: 10px;
}
.block.hero.text .content .text {
  color: var(--text-color);
  text-align: center;
}
.block.hero.text .content .cta {
  margin-top: 30px;
  display: flex;
  justify-content: center;
}
.block.hero.text .content .cta a {
  position: relative;
  display: inline-block;
  line-height: 24px;
  padding: 8px 16px;
  background: var(--button-bg-color);
  border: 2px solid var(--button-border-color);
  color: var(--button-text-color);
  font-size: 1.6rem;
  border-radius: 1px;
  transition: ease all 0.3s;
  text-align: center;
  margin: auto;
  cursor: pointer;
  text-transform: uppercase;
  margin-right: 10px;
  margin-top: 10px;
}
.block.hero.text .content .cta a.ghost {
  background: none;
  color: var(--button-text-color);
  border-color: var(--button-text-color);
}
.block.hero.text .content .cta a.ghost:hover,
.block.hero.text .content .cta a.ghost:focus-visible {
  background: var(--button-bg-color-hover);
  color: var(--button-text-color-hover);
}
.block.hero.text .content .cta a.ghost-dark {
  background: var(--button-bg-color-hover);
  color: var(--button-text-color-hover);
  border-color: var(--button-border-color);
}
.block.hero.text .content .cta a.ghost-dark:hover,
.block.hero.text .content .cta a.ghost-dark:focus-visible {
  background: var(--button-bg-color);
  color: var(--button-text-color);
}
.block.hero.text .content .cta a.inverted {
  background: var(--button-text-color);
  border-color: var(--button-text-color);
  color: var(--button-bg-color);
}
.block.hero.text .content .cta a.inverted:hover,
.block.hero.text .content .cta a.inverted:focus-visible {
  background: transparent;
  color: var(--button-bg-color-hover);
}
.block.hero.text .content .cta a.inline {
  display: inline-block;
}
.block.hero.text .content .cta a .arrow {
  display: inline-flex;
  align-items: center;
  gap: 5px;
}
.block.hero.text .content .cta a .arrow::after {
  content: '→';
  position: relative;
  display: inline-block;
  font-size: 1.25em;
  line-height: 1;
  margin-top: -2px;
}
.block.hero.text .content .cta a:hover,
.block.hero.text .content .cta a:focus-visible {
  background: var(--button-bg-color-hover);
  color: var(--button-text-color-hover);
}
.block.hero.text .content .cta a:not(:first-of-type) {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  background: var(--button-bg-color-hover);
  color: var(--button-text-color-hover);
  border-color: var(--button-border-color);
}
.block.hero.text .content .cta a:not(:first-of-type)::after {
  content: '→';
  position: relative;
  display: inline-block;
  font-size: 1.25em;
  line-height: 1;
  margin-top: -2px;
}
.block.hero.text .content .cta a:not(:first-of-type):hover,
.block.hero.text .content .cta a:not(:first-of-type):focus-visible {
  background: var(--button-bg-color);
  color: var(--button-text-color);
}
.block.hero.text .content .cta:not(:has(a)) {
  display: none;
}
@media screen and (min-width: 768px) {
  .block.hero.home video {
    display: block;
  }
  .block.hero.right-left .inner {
    flex-direction: row;
    align-items: flex-end;
    justify-content: space-between;
  }
  .block.hero.right-left .inner .content-wrapper.left {
    width: calc(50% - 20px);
  }
  .block.hero.right-left .inner .right {
    width: calc(50% - 20px);
    align-items: flex-end;
  }
  .block.hero.right-left .inner .right ul li {
    text-transform: uppercase;
  }
  .block.hero.right-left .inner .right ul li:nth-last-child(2) {
    position: relative;
  }
  .block.hero.right-left .inner .right ul li:nth-last-child(2)::before {
    content: '';
    position: absolute;
    top: 50%;
    transform: translateY(-50%) translateX(-100%);
    left: 0;
    width: 50vw;
    max-width: 900px;
    height: 2px;
    background: linear-gradient(to left, #fdfaf6, #fdfaf600);
  }
  .block.hero.right-left .inner .content-wrapper.left:has(+.right.empty) {
    width: 100%;
    max-width: 750px;
  }
  .block.hero.split {
    padding: 120px 0 80px;
  }
  .block.hero.split .primary {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    width: 50%;
    margin-right: 0;
    height: 100%;
  }
  .block.hero.split .inner {
    padding: 0;
  }
  .block.hero.split .secondary {
    width: 50%;
    padding: 0 50px 0 20px;
    margin-right: auto;
  }
}
#rs-builder .block.hero.home {
  height: 800px;
}
#rs-builder .block.hero.home .content .cta {
  display: block !important;
}
#rs-builder .block.hero.slim {
  height: 600px;
}
#rs-builder .block.hero.right-left .editable {
  width: 100%;
}
body:has(.block.hero.text) .block.topbar,
body:has(.block.hero.split) .block.topbar {
  backdrop-filter: blur(3px);
}
body:has(.block.hero.text) .block.topbar::before,
body:has(.block.hero.split) .block.topbar::before {
  opacity: 0.8;
}
body:has(.block.hero.text) .block.topbar .logo-wrapper,
body:has(.block.hero.split) .block.topbar .logo-wrapper {
  visibility: visible;
  opacity: 1;
}
.block.text-block.centered {
  padding: 75px 20px 75px;
}
.block.text-block.centered header {
  text-align: center;
  display: flex;
  flex-direction: column-reverse;
  align-items: center;
}
.block.text-block.centered .inner {
  max-width: 775px;
}
.block.text-block.centered .content {
  margin-top: 10px;
}
.block.text-block.centered .content .text {
  color: var(--text-color);
  text-align: center;
}
.block.text-block.centered .content .cta {
  margin-top: 30px;
  display: flex;
  justify-content: center;
}
.block.text-block.centered .content .cta a {
  position: relative;
  display: inline-block;
  line-height: 24px;
  padding: 8px 16px;
  background: var(--button-bg-color);
  border: 2px solid var(--button-border-color);
  color: var(--button-text-color);
  font-size: 1.6rem;
  border-radius: 1px;
  transition: ease all 0.3s;
  text-align: center;
  margin: auto;
  cursor: pointer;
  text-transform: uppercase;
  margin-right: 10px;
  margin-top: 10px;
}
.block.text-block.centered .content .cta a.ghost {
  background: none;
  color: var(--button-text-color);
  border-color: var(--button-text-color);
}
.block.text-block.centered .content .cta a.ghost:hover,
.block.text-block.centered .content .cta a.ghost:focus-visible {
  background: var(--button-bg-color-hover);
  color: var(--button-text-color-hover);
}
.block.text-block.centered .content .cta a.ghost-dark {
  background: var(--button-bg-color-hover);
  color: var(--button-text-color-hover);
  border-color: var(--button-border-color);
}
.block.text-block.centered .content .cta a.ghost-dark:hover,
.block.text-block.centered .content .cta a.ghost-dark:focus-visible {
  background: var(--button-bg-color);
  color: var(--button-text-color);
}
.block.text-block.centered .content .cta a.inverted {
  background: var(--button-text-color);
  border-color: var(--button-text-color);
  color: var(--button-bg-color);
}
.block.text-block.centered .content .cta a.inverted:hover,
.block.text-block.centered .content .cta a.inverted:focus-visible {
  background: transparent;
  color: var(--button-bg-color-hover);
}
.block.text-block.centered .content .cta a.inline {
  display: inline-block;
}
.block.text-block.centered .content .cta a .arrow {
  display: inline-flex;
  align-items: center;
  gap: 5px;
}
.block.text-block.centered .content .cta a .arrow::after {
  content: '→';
  position: relative;
  display: inline-block;
  font-size: 1.25em;
  line-height: 1;
  margin-top: -2px;
}
.block.text-block.centered .content .cta a:hover,
.block.text-block.centered .content .cta a:focus-visible {
  background: var(--button-bg-color-hover);
  color: var(--button-text-color-hover);
}
.block.text-block.centered .content .cta a:not(:first-of-type) {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  background: var(--button-bg-color-hover);
  color: var(--button-text-color-hover);
  border-color: var(--button-border-color);
}
.block.text-block.centered .content .cta a:not(:first-of-type)::after {
  content: '→';
  position: relative;
  display: inline-block;
  font-size: 1.25em;
  line-height: 1;
  margin-top: -2px;
}
.block.text-block.centered .content .cta a:not(:first-of-type):hover,
.block.text-block.centered .content .cta a:not(:first-of-type):focus-visible {
  background: var(--button-bg-color);
  color: var(--button-text-color);
}
.block.text-block.centered .content .cta:not(:has(a)) {
  display: none;
}
.block.text-block.left {
  padding: 75px 20px 40px;
}
.block.text-block.left .inner {
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.block.text-block.left header,
.block.text-block.left .text {
  flex: 1;
}
.block.text-block.left .cta {
  display: flex;
  justify-content: flex-end;
}
.block.text-block.left .cta a {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  color: var(--text-color);
  text-transform: uppercase;
  font-weight: 500;
}
.block.text-block.left .cta a::after {
  content: '→';
  position: relative;
  display: inline-block;
  font-size: 1.25em;
  line-height: 1;
  margin-top: -2px;
}
.block.text-block.left .cta a:hover,
.block.text-block.left .cta a:focus-visible {
  opacity: 0.6;
}
@media screen and (min-width: 768px) {
  .block.text-block.left .inner {
    flex-direction: row;
    gap: 100px;
    align-items: flex-start;
  }
  .block.text-block.left .text {
    padding-top: 7.68rem;
  }
}
.block.text-block:has(+.block.about) {
  padding-bottom: 10px;
}
.block.text-block:has(+.block.iframe-embed) {
  padding: 50px 20px;
}
#rs-builder .block.text-block.centered .cta {
  display: flex !important;
}
#rs-builder .block.text-block.left .cta .editable {
  min-width: 100px;
}
.block.count {
  background-color: var(--primary-bg-color);
  padding: 40px;
}
.block.count .inner {
  display: flex;
  flex-wrap: wrap;
}
.block.count * {
  color: var(--text-color-alt);
}
.block.count .count-item {
  padding: 40px;
  width: 100%;
}
.block.count .count-item:not(:last-child) {
  border-bottom: 1px solid var(--text-color-alt);
}
@media (min-width: 600px) {
  .block.count .count-item {
    width: 50%;
  }
  .block.count .count-item:nth-child(1) {
    border-bottom: 1px solid var(--text-color-alt);
  }
  .block.count .count-item:nth-child(2) {
    border-left: 1px solid var(--text-color-alt);
    border-bottom: 1px solid var(--text-color-alt);
  }
  .block.count .count-item:nth-child(3) {
    border-bottom: none;
  }
  .block.count .count-item:nth-child(4) {
    border-bottom: none;
    border-left: 1px solid var(--text-color-alt);
  }
}
@media screen and (min-width: 960px) {
  .block.count {
    padding: 0;
  }
  .block.count .count-item {
    width: 25%;
  }
  .block.count .count-item:nth-child(1) {
    border-bottom: none;
  }
  .block.count .count-item:nth-child(2) {
    border-left: 1px solid var(--text-color-alt);
    border-bottom: none;
  }
  .block.count .count-item:nth-child(3) {
    border-left: 1px solid var(--text-color-alt);
    border-bottom: none;
  }
  .block.count .count-item:nth-child(4) {
    border-bottom: none;
    border-left: 1px solid var(--text-color-alt);
  }
}
.block.count .count-number {
  font-family: var(--heading-font);
  text-align: center;
  font-size: 6rem;
  font-weight: 700;
  line-height: 1.2;
  word-break: break-all;
}
.block.count .count-label {
  margin-top: 20px;
  text-transform: uppercase;
  text-align: center;
  font-size: 2rem;
}
.block.image-side-by-side {
  padding: 75px 20px;
}
.block.image-side-by-side .inner {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  justify-content: center;
}
.block.image-side-by-side .card {
  position: relative;
  padding: 60px 45px 20px;
  width: 100%;
  background: var(--secondary-bg-color);
}
.block.image-side-by-side .card .card-image {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
  overflow: hidden;
}
.block.image-side-by-side .card .card-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: all 0.3s ease;
  transform: scale(1.01);
}
.block.image-side-by-side .card .card-image::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.4);
  z-index: 1;
  pointer-events: none;
}
.block.image-side-by-side .card:hover .card-image img,
.block.image-side-by-side .card:focus-within .card-image img {
  transform: scale(1.08);
}
.block.image-side-by-side .card .card-content {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: flex-start;
  pointer-events: none;
  height: 100%;
}
.block.image-side-by-side .card .card-content .card-logo {
  pointer-events: auto;
  width: 50%;
  margin: 0 auto 30px;
}
.block.image-side-by-side .card .card-content .card-logo img {
  width: 100%;
  height: auto;
  object-fit: contain;
}
.block.image-side-by-side .card .card-content .card-title {
  color: var(--heading-color-alt);
  pointer-events: auto;
  padding-bottom: 15px;
  margin-bottom: 20px;
  position: relative;
}
.block.image-side-by-side .card .card-content .card-title::after {
  content: '';
  display: block;
  width: 100%;
  max-width: 60px;
  height: 1px;
  background: var(--heading-color-alt);
  position: absolute;
  bottom: 0;
  left: 0;
}
.block.image-side-by-side .card .card-content .card-title h3 {
  font-size: calc(3.1*1rem);
  font-style: italic;
}
@media screen and (min-width: 768px) {
  .block.image-side-by-side .card .card-content .card-title h3 {
    font-size: calc(3.6*1rem);
  }
}
@media screen and (min-width: 960px) {
  .block.image-side-by-side .card .card-content .card-title h3 {
    font-size: calc(4.2*1rem);
  }
}
.block.image-side-by-side .card .card-content .card-text {
  color: var(--text-color-alt);
  pointer-events: auto;
}
.block.image-side-by-side .card .card-content .card-cta {
  margin-top: 20px;
  pointer-events: auto;
}
.block.image-side-by-side .card .card-content .card-cta a {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  color: var(--text-color-alt);
  text-transform: uppercase;
}
.block.image-side-by-side .card .card-content .card-cta a::after {
  content: '→';
  position: relative;
  display: inline-block;
  font-size: 1.25em;
  line-height: 1;
  margin-top: -2px;
}
.block.image-side-by-side .card .card-content .card-cta a:hover,
.block.image-side-by-side .card .card-content .card-cta a:focus-visible {
  opacity: 0.6;
}
.block.image-side-by-side:has(.card:hover) .card:not(:hover):not(:focus-within) .card-image img,
.block.image-side-by-side:has(.card:focus-within) .card:not(:hover):not(:focus-within) .card-image img {
  filter: grayscale(100%);
}
@media screen and (min-width: 768px) {
  .block.image-side-by-side .card {
    width: calc(50% - 10px);
  }
}
.block.text-block.centered + .block.image-side-by-side {
  padding-top: 0;
}
#rs-builder .block.image-side-by-side .card {
  width: calc(50% - 42px);
}
.block.parallax-scroll {
  padding: 40px 20px;
}
.block.parallax-scroll .content-wrapper {
  background-color: #1E1E1ECC;
  padding: 20px 40px 30px;
  width: 100%;
  max-width: 800px;
  backdrop-filter: blur(5px);
  -webkit-backdrop-filter: blur(5px);
}
.block.parallax-scroll header {
  margin-bottom: 30px;
}
.block.parallax-scroll .text-content {
  color: var(--text-color-alt);
}
.block.parallax-scroll .text-content ul {
  list-style-type: '→ ';
  padding-left: 25px;
  margin-top: 30px;
}
.block.parallax-scroll .text-content ul li::marker {
  color: var(--heading-color);
  font-size: 1.25em;
  margin-top: -2px;
}
.block.parallax-scroll .text-content ul li + li {
  margin-top: 10px;
}
.block.parallax-scroll .cta {
  margin-top: 40px;
  pointer-events: auto;
}
.block.parallax-scroll .cta:not(:has(a)) {
  display: none;
}
.block.parallax-scroll .cta a {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  color: var(--text-color-alt);
  text-transform: uppercase;
}
.block.parallax-scroll .cta a::after {
  content: '→';
  position: relative;
  display: inline-block;
  font-size: 1.25em;
  line-height: 1;
  margin-top: -2px;
}
.block.parallax-scroll .cta a:hover,
.block.parallax-scroll .cta a:focus-visible {
  opacity: 0.6;
}
#rs-builder .block.parallax-scroll .cta {
  display: block !important;
}
.block.featured-communities {
  padding: 0 20px 75px;
  background-color: var(--page-bg-color);
}
.block.featured-communities .border {
  display: none;
  height: 1px;
  background: var(--text-color);
  width: 100%;
  max-width: 1400px;
  margin: 0 auto;
}
.block.featured-communities .inner {
  padding: 40px 0 0;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.block.featured-communities .card {
  width: 100%;
  aspect-ratio: 4/3;
}
.block.featured-communities .card-link {
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  opacity: 0;
  text-indent: -9999px;
  white-space: nowrap;
  overflow: hidden;
}
.block.featured-communities .card-image {
  width: 100%;
  height: 100%;
  overflow: hidden;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
}
.block.featured-communities .card-image::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.3);
  z-index: 1;
  pointer-events: none;
}
.block.featured-communities .card-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: ease all 0.3s;
  transform: scale(1.01);
}
.block.featured-communities .card:hover .card-image img,
.block.featured-communities .card:focus-within .card-image img {
  transform: scale(1.08);
}
.block.featured-communities:has(.card:hover) .card:not(:hover):not(:focus-within) .card-image img,
.block.featured-communities:has(.card:focus-within) .card:not(:hover):not(:focus-within) .card-image img {
  filter: grayscale(100%);
}
.block.featured-communities .card-content {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  align-items: flex-start;
  min-height: 100%;
  min-width: 100%;
  pointer-events: none;
  padding: 14px 28px;
}
.block.featured-communities .card-content .card-title {
  color: var(--heading-color-alt);
  pointer-events: auto;
  font-size: calc(2.6*1rem);
  font-family: var(--heading-font);
}
@media screen and (min-width: 768px) {
  .block.featured-communities .card-content .card-title {
    font-size: calc(2.9*1rem);
  }
}
@media screen and (min-width: 960px) {
  .block.featured-communities .card-content .card-title {
    font-size: calc(3.2*1rem);
  }
}
.block.featured-communities .card-content .card-location {
  color: var(--text-color-alt);
  pointer-events: auto;
  font-size: 1.2rem;
  font-weight: 300;
  text-transform: uppercase;
}
.block.featured-communities .cta {
  pointer-events: auto;
  max-width: 1400px;
  margin: 40px auto 0;
}
.block.featured-communities .cta a {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  color: var(--text-color);
  text-transform: uppercase;
  font-weight: 500;
}
.block.featured-communities .cta a::after {
  content: '→';
  position: relative;
  display: inline-block;
  font-size: 1.25em;
  line-height: 1;
  margin-top: -2px;
}
.block.featured-communities .cta a:hover,
.block.featured-communities .cta a:focus-visible {
  opacity: 0.6;
}
.block.featured-communities .cta:not(:has(a)) {
  display: none;
}
@media screen and (min-width: 768px) {
  .block.featured-communities .card {
    width: calc(50% - 5px);
  }
}
@media screen and (min-width: 960px) {
  .block.featured-communities .card {
    width: calc(33.333% - 6.667px);
  }
}
.block.text-block + .block.featured-communities .border {
  display: block;
}
.block.text-block:has(+ .block.featured-communities) {
  background-color: var(--page-bg-color);
}
#rs-builder .block.featured-communities .card {
  width: calc(33.333% - 38.667px);
}
#rs-builder .block.featured-communities .card-link {
  opacity: 1;
  position: relative;
  text-indent: 0;
  white-space: normal;
  overflow: visible;
  display: inline-block;
  padding: 10px 15px;
  background: rgba(255, 255, 255, 0.8);
  color: var(--text-color);
  z-index: 2;
  height: auto;
}
#rs-builder .block.featured-communities .card-link::after {
  content: 'Card Link';
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-size: 14px;
  color: var(--text-color);
  opacity: 0.8;
  pointer-events: none;
}
#rs-builder .block.featured-communities .card-link:hover,
#rs-builder .block.featured-communities .card-link:focus-visible {
  background: #ffffff;
  color: var(--text-color-alt);
}
#rs-builder .block.featured-communities .cta {
  display: block !important;
}
.block.portfolio {
  display: flex;
  flex-wrap: wrap;
}
.block.portfolio p + p {
  margin-top: 0;
}
.block.portfolio header {
  flex-direction: column;
  width: 100%;
  padding: 20px;
  border-bottom: 1px solid #D1C4B4;
}
.block.portfolio .search,
.block.portfolio .toggle-filter {
  display: block;
  width: 100%;
  margin-bottom: 20px;
}
.block.portfolio .search button[aria-pressed="true"],
.block.portfolio .toggle-filter button[aria-pressed="true"] {
  background-color: var(--primary-bg-color);
  color: var(--text-color-alt);
  border: 1px solid var(--primary-bg-color);
}
.block.portfolio .search button[aria-pressed="true"]:hover,
.block.portfolio .toggle-filter button[aria-pressed="true"]:hover,
.block.portfolio .search button[aria-pressed="true"]:focus-visible,
.block.portfolio .toggle-filter button[aria-pressed="true"]:focus-visible {
  background-color: color-mix(in srgb, var(--primary-bg-color) 80%, var(--text-color-alt) 20%);
  color: var(--text-color-alt);
}
.block.portfolio .search button[aria-pressed="false"],
.block.portfolio .toggle-filter button[aria-pressed="false"] {
  border: 1px solid var(--primary-bg-color);
  background-color: transparent;
  color: var(--text-color);
}
.block.portfolio .search button[aria-pressed="false"]:hover,
.block.portfolio .toggle-filter button[aria-pressed="false"]:hover,
.block.portfolio .search button[aria-pressed="false"]:focus-visible,
.block.portfolio .toggle-filter button[aria-pressed="false"]:focus-visible {
  background-color: color-mix(in srgb, var(--primary-bg-color) 80%, var(--text-color-alt) 20%);
  color: var(--text-color-alt);
}
.block.portfolio label {
  display: block;
  text-transform: uppercase;
  font-weight: 500;
  margin-bottom: 10px;
  width: 100%;
}
.block.portfolio input,
.block.portfolio select {
  padding: 10px;
  border: 1px solid #D1C4B4;
  border-radius: 0;
  font-size: 16px;
  background-color: transparent;
  width: 100%;
  max-width: 400px;
}
.block.portfolio input::placeholder,
.block.portfolio select::placeholder {
  color: #D1C4B4;
}
.block.portfolio .count {
  font-size: 12px;
}
.block.portfolio #showing-count {
  font-weight: bold;
}
.block.portfolio .toggle-view button {
  background-color: var(--primary-bg-color);
  color: var(--text-color-alt);
  border: 1px solid var(--primary-bg-color);
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  gap: 5px;
  margin: 0 0 0 auto;
}
.block.portfolio .toggle-view button svg {
  height: 16px;
  width: 16px;
}
.block.portfolio .toggle-view button:hover,
.block.portfolio .toggle-view button:focus-visible {
  background-color: color-mix(in srgb, var(--primary-bg-color) 80%, var(--text-color-alt) 20%);
  color: var(--text-color-alt);
}
.block.portfolio .toggle-view button[aria-pressed="true"] {
  display: none;
}
.block.portfolio .toggle-view button[aria-pressed="false"] {
  display: flex;
}
.block.portfolio .map-container {
  display: none;
}
.block.portfolio .list-container {
  width: 100%;
  padding: 16px 20px;
}
.block.portfolio .list-container #portfolio-list {
  list-style: none;
}
.block.portfolio .list-container li {
  display: flex;
  flex-direction: column;
  border: 2px solid #D1C4B4;
  position: relative;
}
.block.portfolio .list-container li .logo {
  position: absolute;
  top: 10px;
  right: 14px;
  width: 60px;
  height: 60px;
  z-index: 1;
}
.block.portfolio .list-container li .logo img {
  object-fit: contain;
  width: 100%;
}
.block.portfolio .list-container li .logo img[src=""] {
  display: none;
}
.block.portfolio .list-container li .image-wrapper {
  width: 25%;
  position: relative;
  max-height: 200px;
  overflow: hidden;
}
.block.portfolio .list-container li .image-wrapper .item-category {
  position: absolute;
  top: 10px;
  left: 10px;
  padding: 4px;
  line-height: 1;
  font-size: 8px;
  text-transform: uppercase;
  z-index: 1;
}
.block.portfolio .list-container li .image-wrapper .item-category.apartment {
  background-color: #2E2E2E;
  color: #fff;
}
.block.portfolio .list-container li .image-wrapper .item-category.student {
  background-color: #C19B4D;
  color: #fff;
}
.block.portfolio .list-container li .image-wrapper .item-category.rental {
  background-color: #628945;
  color: #fff;
}
.block.portfolio .list-container li .image-wrapper img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.block.portfolio .list-container li .details {
  width: 75%;
  padding: 24px 30px;
  position: relative;
  z-index: 2;
}
.block.portfolio .list-container li .details .more-info {
  margin-top: 20px;
  display: flex;
  gap: 20px;
  justify-content: space-between;
}
.block.portfolio .list-container li .details .more-info a {
  font-weight: bold;
  color: var(--text-color);
}
.block.portfolio .list-container li .details .more-info a:hover,
.block.portfolio .list-container li .details .more-info a:focus-visible {
  color: var(--text-link-color);
}
.block.portfolio .list-container li .details .more-info a:not([href*="tel:"]) {
  display: inline-flex;
  align-items: center;
  gap: 5px;
}
.block.portfolio .list-container li .details .more-info a:not([href*="tel:"])::after {
  content: '→';
  position: relative;
  display: inline-block;
  font-size: 1.25em;
  line-height: 1;
  margin-top: -2px;
}
.block.portfolio .list-container li .details .more-info a[href=""],
.block.portfolio .list-container li .details .more-info a[href="#"],
.block.portfolio .list-container li .details .more-info a[href="tel:"],
.block.portfolio .list-container li .details .more-info a[href="tel:+1"] {
  visibility: hidden;
  opacity: 0;
}
.block.portfolio .list-container li.active {
  border: 2px solid #2E2E2E;
}
.block.portfolio .list-container li.active[data-type*="student"],
.block.portfolio .list-container li.active[data-type*="Student"] {
  border-color: #C19B4D;
}
.block.portfolio .list-container li.active[data-type*="rental"],
.block.portfolio .list-container li.active[data-type*="Rental"] {
  border-color: #628945;
}
.block.portfolio .list-container li .image-wrapper,
.block.portfolio .list-container li .details {
  width: 100%;
}
@media only screen and (min-width: 500px) {
  .block.portfolio .list-container li {
    flex-direction: row;
  }
  .block.portfolio .list-container li .details {
    width: 75%;
  }
  .block.portfolio .list-container li .image-wrapper {
    width: 25%;
  }
}
.block.portfolio .list-container li + li {
  margin-top: 10px;
}
.block.portfolio .legend-icon {
  width: 15px;
  height: 15px;
  border-radius: 50%;
  margin-right: 6px;
  display: inline-block;
}
.block.portfolio .legend-icon.apartment {
  background-color: #2E2E2E;
}
.block.portfolio .legend-icon.student {
  background-color: #C19B4D;
}
.block.portfolio .legend-icon.rental {
  background-color: #628945;
}
.block.portfolio .mobile {
  display: block;
}
.block.portfolio .desktop {
  display: none;
}
.block.portfolio .map-container {
  width: 100%;
}
.block.portfolio .map-wrapper #portfolio-map {
  height: 50vh;
  max-height: 850px;
}
.block.portfolio .map-wrapper .map-legend {
  padding: 20px;
}
.block.portfolio .map-wrapper .map-legend ul {
  display: flex;
  flex-direction: row;
  gap: 20px;
  padding: 10px 0;
  list-style: none;
}
.block.portfolio .gm-style .gm-style-iw-c {
  outline: none !important;
  border-top: 8px solid #000000;
  border-radius: 0;
}
.block.portfolio .gm-style .gm-style-iw-c:has(.info-window.apartment) {
  border-top-color: #2E2E2E;
}
.block.portfolio .gm-style .gm-style-iw-c:has(.info-window.student) {
  border-top-color: #C19B4D;
}
.block.portfolio .gm-style .gm-style-iw-c:has(.info-window.rental) {
  border-top-color: #628945;
}
.block.portfolio .gm-style .gm-style-iw-c button {
  height: 24px !important;
  width: 24px !important;
}
.block.portfolio .gm-style .gm-style-iw-c button span {
  margin: 0 !important;
}
.block.portfolio .gm-style .gm-style-iw-c h3 {
  font-size: 12px !important;
  font-weight: 500;
}
.block.portfolio .gm-style .gm-style-iw-c p {
  font-size: 10px !important;
}
@media screen and (min-width: 960px) {
  .block.portfolio .desktop {
    display: block;
  }
  .block.portfolio .mobile {
    display: none !important;
  }
  .block.portfolio header {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    width: 100%;
    padding: 0;
    border-bottom: none;
  }
  .block.portfolio header .left {
    padding: 50px 20px 20px 20px;
    border-right: 1px solid #D1C4B4;
  }
  .block.portfolio header .left .search {
    margin-bottom: 0;
  }
  .block.portfolio header .right {
    padding: 50px 40px 0 40px;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
  }
  .block.portfolio header .right .toggle-filter {
    margin-bottom: 0;
    display: flex;
    justify-content: flex-end;
    gap: 15px;
    flex-wrap: wrap;
  }
  .block.portfolio header .right button {
    margin: 0;
  }
  .block.portfolio .map-container {
    border-right: 1px solid #D1C4B4;
    border-top: 1px solid #D1C4B4;
  }
  .block.portfolio .map-container #portfolio-map {
    border-bottom: 1px solid #D1C4B4;
  }
  .block.portfolio .list-container {
    border-top: 1px solid #D1C4B4;
    padding: 16px 40px;
    height: calc(80vh + 84px);
    max-height: 850px;
    overflow-y: auto;
  }
  .block.portfolio .left {
    width: 36%;
  }
  .block.portfolio .right {
    width: 64%;
  }
  .block.portfolio .map-wrapper {
    position: sticky;
    top: 105px;
  }
  .block.portfolio .map-wrapper #portfolio-map {
    height: 80vh;
    max-height: 850px;
    position: relative !important;
  }
  .block.portfolio .map-container {
    display: block !important;
  }
  .block.portfolio .list-container {
    display: block !important;
  }
}
#rs-builder .block.portfolio #portfolio-map {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 200px;
}
#rs-builder .block.portfolio #portfolio-map::after {
  content: "Map not visible in builder";
  display: inline-block;
  color: #333;
  opacity: 0.8;
}
#rs-builder .block.portfolio #portfolio-list {
  display: none !important;
}
#rs-builder .block.portfolio .map-wrapper {
  height: auto !important;
}
#rs-builder .block.portfolio .list-container {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 200px;
}
#rs-builder .block.portfolio .list-container::after {
  content: "Locations not visible in builder";
  display: inline-block;
  color: #333;
  opacity: 0.8;
}
.block.text-block + .block.portfolio,
.block.text-block + markup .block.portfolio {
  border-top: 1px solid #c9c7c4;
}
.block.quote {
  background-color: var(--primary-bg-color);
  color: var(--text-color-alt);
  padding: 50px 20px;
  text-align: center;
}
.block.quote .inner {
  max-width: 1100px;
}
.block.quote p {
  font-size: 3.2rem;
  line-height: 1.5;
  font-family: var(--heading-font);
}
.block.quote .cta {
  display: flex;
  justify-content: flex-end;
  align-items: flex-end;
}
.block.quote .cta a {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  color: var(--text-color);
  text-transform: uppercase;
  font-weight: 500;
}
.block.quote .cta a::after {
  content: '→';
  position: relative;
  display: inline-block;
  font-size: 1.25em;
  line-height: 1;
  margin-top: -2px;
}
.block.quote .cta a:hover,
.block.quote .cta a:focus-visible {
  opacity: 0.6;
}
.block.quote.alt {
  text-align: left;
}
.block.quote.alt .inner {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  max-width: 1400px;
  row-gap: 40px;
}
.block.quote.alt .inner .primary {
  width: 100%;
  border-left: 1px solid var(--text-color-alt);
  display: flex;
  align-items: center;
  padding: 25px 0 25px 20px;
}
.block.quote.alt .inner .primary p {
  font-size: 3rem;
}
.block.quote.alt .inner .secondary {
  width: 100%;
}
.block.quote.alt .inner .secondary h2,
.block.quote.alt .inner .secondary h3,
.block.quote.alt .inner .secondary h4,
.block.quote.alt .inner .secondary h5,
.block.quote.alt .inner .secondary h6 {
  font-size: 1.6rem;
  font-weight: 500;
  text-transform: uppercase;
  font-family: var(--text-font);
  padding-bottom: 15px;
}
.block.quote.alt .inner .secondary p {
  font-size: 1.6rem;
  font-weight: 300;
  font-family: var(--text-font);
}
.block.quote.alt .inner .secondary .cta {
  margin-top: 40px;
  justify-content: flex-start;
}
.block.quote.alt .inner .secondary .cta a {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  color: var(--text-color-alt);
  text-transform: uppercase;
  font-weight: 500;
}
.block.quote.alt .inner .secondary .cta a::after {
  content: '→';
  position: relative;
  display: inline-block;
  font-size: 1.25em;
  line-height: 1;
  margin-top: -2px;
}
.block.quote.alt .inner .secondary .cta a:hover,
.block.quote.alt .inner .secondary .cta a:focus-visible {
  opacity: 0.6;
}
@media screen and (min-width: 768px) {
  .block.quote.alt .inner .primary {
    width: 62%;
  }
  .block.quote.alt .inner .secondary {
    width: 32%;
  }
}
.block.about {
  padding: 0 20px;
  background-color: var(--page-bg-color);
}
.block.about header {
  flex-direction: column;
  margin-bottom: 30px;
}
.block.about .expandable-content {
  display: none;
}
.block.about .inner {
  padding: 30px 0;
  display: flex;
  flex-wrap: wrap;
  flex-direction: row;
  column-gap: 10px;
  row-gap: 15px;
  border-top: 1px solid #c9c7c4;
}
.block.about .card {
  border: 1px solid #D1C4B4;
  padding: 41px 31px;
  width: 100%;
  height: auto;
  position: relative;
  display: flex;
  flex-direction: column;
}
.block.about .card::before {
  content: "";
  position: absolute;
  top: -1px;
  left: -1px;
  width: 0;
  height: 6px;
  background-color: var(--primary-bg-color);
  transition: width 0.5s ease;
}
.block.about .card:hover,
.block.about .card:focus-within,
.block.about .card.expanded {
  padding: 40px 30px;
  border: 2px solid var(--primary-bg-color);
}
.block.about .card:hover::before,
.block.about .card:focus-within::before,
.block.about .card.expanded::before {
  width: calc(100% + 2px);
}
.block.about .card .title {
  margin-bottom: 5px;
}
.block.about .card .title * {
  font-size: 1.6rem;
  text-transform: uppercase;
  color: var(--text-color);
  font-family: var(--text-font);
  font-weight: 500;
}
.block.about .card .subtitle {
  margin-bottom: 15px;
}
.block.about .card .subtitle * {
  font-size: 2.4rem;
  text-transform: none;
  color: var(--text-color);
  font-family: var(--heading-font);
  font-weight: 500;
}
.block.about .card .additional-title {
  margin-bottom: 15px;
}
.block.about .card .additional-title * {
  font-size: 1.6rem;
  text-transform: uppercase;
  color: var(--text-color);
  font-family: var(--text-font);
  font-weight: 500;
}
.block.about .card ul {
  list-style-type: '→ ';
  padding-left: 25px;
}
.block.about .card ul li::marker {
  color: var(--heading-color);
  font-size: 1.25em;
  margin-top: -2px;
}
.block.about .card ul li + li {
  margin-top: 10px;
}
.block.about .blockquote-container {
  background-color: color-mix(var(--primary-bg-color) 18%, white 82%);
  border-left: 5px solid var(--primary-bg-color);
  margin-top: 0;
  margin-bottom: 30px;
  padding: 18px 24px;
}
.block.about .blockquote-container .quote-title * {
  font-family: var(--text-font);
  font-weight: 500;
  text-transform: uppercase;
}
.block.about .blockquote-container blockquote {
  margin: 5px 0 0 0;
}
.block.about .blockquote-container cite {
  margin-top: 5px;
  display: block;
  font-style: 1.2rem;
}
.block.about .blockquote-container cite * {
  display: inline;
}
.block.about .blockquote-container cite::before {
  content: "— ";
}
.block.about .read-more {
  margin-top: auto;
}
.block.about .read-more .expand-button {
  color: var(--text-color);
  font-weight: 500;
  text-transform: uppercase;
  display: inline-flex;
  align-items: center;
  gap: 5px;
}
.block.about .read-more .expand-button span {
  margin-top: -2px;
  font-size: 1.25em;
}
.block.about .read-more .expand-button:hover,
.block.about .read-more .expand-button:focus-visible {
  opacity: 0.6;
}
.block.about .read-more .hidden {
  display: none;
}
.block.about .read-more .show {
  display: inline-flex;
}
@media screen and (min-width: 768px) {
  .block.about .card {
    width: calc(50% - 5px);
  }
}
#rs-builder .block.about .expandable-content {
  display: block !important;
}
#rs-builder .block.about .card {
  width: calc(50% - 37px);
}
.block.text-block:has(+ .block.about),
.block.text-block:has(+ markup .block.about) {
  background-color: var(--page-bg-color);
}
.block.iframe-embed {
  padding: 0 20px 30px;
}
.block.iframe-embed .inner {
  border-top: 1px solid #c9c7c4;
  padding: 30px 0;
}
.block.iframe-embed iframe[src*="youtube.com"] {
  padding: 20px;
  background: var(--secondary-bg-color);
}
.block.team {
  padding: 0 20px 75px;
  background-color: var(--page-bg-color);
}
.block.team .top {
  padding-bottom: 10px;
}
.block.team .count-wrapper {
  text-align: end;
  text-transform: uppercase;
}
.block.team .team-container {
  padding-top: 20px;
  border-top: 1px solid #c9c7c4;
}
.block.team .team-container ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.block.team .team-container ul li {
  width: 100%;
}
.block.team .team-container ul li button {
  border: none;
  background: none;
  padding: 0;
  margin: 0;
  width: 100%;
  height: 100%;
  cursor: pointer;
}
@media only screen and (min-width: 500px) {
  .block.team .team-container ul li {
    width: calc(50% - 5px);
  }
}
@media screen and (min-width: 768px) {
  .block.team .team-container ul li {
    width: calc(33.333% - 6.66px);
  }
}
@media screen and (min-width: 960px) {
  .block.team .team-container ul li {
    width: calc(25% - 7.5px);
  }
}
.block.team .member-card {
  aspect-ratio: 7 / 10;
  position: relative;
  overflow: hidden;
  transition: ease all 0.3s;
  background-color: #737373;
  min-height: -webkit-fit-content;
  min-height: fit-content;
}
.block.team .member-card button {
  display: flex;
  align-items: flex-end;
  text-align: left;
}
.block.team .member-card.active .member-info::after {
  transform: translateY(15%) rotate(-125deg) skew(18deg);
}
.block.team .member-card:hover .member-photo img,
.block.team .member-card:focus-within .member-photo img,
.block.team .member-card.active .member-photo img {
  transform: scale(1.08);
}
.block.team:has(.member-card:hover) .member-card:not(:hover):not(:focus-within):not(.active),
.block.team:has(.member-card:focus-within) .member-card:not(:hover):not(:focus-within):not(.active),
.block.team:has(.member-card.active) .member-card:not(:hover):not(:focus-within):not(.active) {
  filter: brightness(40%);
}
.block.team .member-photo {
  position: absolute;
  inset: 0;
  top: 0;
  left: 0;
  z-index: 1;
}
.block.team .member-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: ease all 0.3s;
  transform: scale(1.01);
}
.block.team .member-photo::after {
  position: absolute;
  content: "";
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(to top, rgba(0, 0, 0, 0.8) 5%, transparent);
  z-index: 1;
}
.block.team .member-info {
  position: relative;
  width: 100%;
  z-index: 2;
  padding: 15px 30px;
  color: var(--text-color-alt);
  min-height: -webkit-fit-content;
  min-height: fit-content;
  padding-right: 50px;
  transition: ease all 0.3s;
}
.block.team .member-info::after {
  content: '';
  position: absolute;
  top: 40%;
  right: 25px;
  width: 16px;
  height: 16px;
  border-right: 2px solid var(--text-color-alt);
  border-bottom: 2px solid var(--text-color-alt);
  border-top: 2px solid transparent;
  border-left: 2px solid transparent;
  transform: translateY(-50%) rotate(53deg) skew(18deg);
}
.block.team .member-info .member-name {
  font-size: 2.4rem;
  font-weight: 400;
  font-family: var(--heading-font);
  text-transform: none;
}
.block.team .member-info .member-position {
  text-transform: uppercase;
  font-size: 1.2rem;
  line-height: 1.1;
  margin-top: 5px;
}
@supports not (aspect-ratio: 1 / 1) {
  .block.team .member-card::before {
    content: "";
    display: block;
    padding-top: 142.857%;
    /* 10 / 7 * 100 */
  }
  .block.team .member-card > * {
    position: absolute;
    inset: 0;
  }
}
.block.team .member-bio {
  display: none;
  overflow: hidden;
  background-color: #2E2E2E;
  color: var(--text-color-alt);
  padding: 20px;
}
.block.team .member-bio header {
  margin-bottom: 30px;
  max-width: 850px;
}
.block.team .member-bio header h3 {
  text-rendering: optimizelegibility;
  margin: 0;
  font-weight: 400;
  line-height: 1.3;
  font-size: calc(3.9*1rem);
  padding-bottom: 15px;
  font-family: var(--heading-font);
}
@media screen and (min-width: 768px) {
  .block.team .member-bio header h3 {
    font-size: calc(3.9*1rem);
  }
}
@media screen and (min-width: 960px) {
  .block.team .member-bio header h3 {
    font-size: calc(4.8*1rem);
  }
}
.block.team .member-bio .bio-content {
  max-width: 850px;
}
.block.team .member-bio .bio-content h4 {
  font-size: 2rem;
  font-family: var(--text-font);
  margin-bottom: 10px;
  text-transform: uppercase;
  font-weight: 200;
}
.block.team .member-bio .bio-content p {
  line-height: 1.1;
}
.block.team .member-bio .bio-content ul {
  display: flex;
  flex-direction: column;
  list-style: disc;
  margin-left: 40px;
  width: calc(100% - 40px);
}
.block.team .member-bio .bio-content ul li {
  width: calc(100% - 40px);
}
@media screen and (min-width: 768px) {
  .block.team .member-bio {
    padding: 40px;
  }
}
@media screen and (min-width: 960px) {
  .block.team .member-bio {
    padding: 60px;
  }
}
.block.team .member-bio-row {
  width: 100% !important;
  flex-basis: 100%;
}
.block.team .member-bio-row .member-bio {
  display: block;
}
.block.team .member-card.active {
  filter: none !important;
}
.block.text-block + .block.team,
.block.text-block + markup .block.team {
  padding-top: 20px;
}
.block.text-block:has(+ .block.team),
.block.text-block:has(+ markup .block.team) {
  background-color: var(--page-bg-color);
  padding-bottom: 0;
}
.block.features-boxes {
  padding: 50px 20px;
  position: relative;
}
.block.features-boxes.alt {
  background-color: var(--primary-bg-color);
}
.block.features-boxes.alt .grid-bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  /* grid sizing */
  --grid-width: 50px;
  --grid-height: 30px;
  --major-grid-width: calc(var(--grid-width) * 5);
  --major-grid-height: calc(var(--grid-height) * 5);
  /* colors */
  --minor: #62894518;
  --major: #628945b2;
  background-image: linear-gradient(to right, var(--major) 1px, transparent 1px), /* major horizontal */ linear-gradient(to bottom, var(--major) 1px, transparent 1px), /* minor vertical */ linear-gradient(to right, var(--minor) 1px, transparent 1px), /* minor horizontal */ linear-gradient(to bottom, var(--minor) 1px, transparent 1px);
  background-size: var(--major-grid-width) 100%, 100% var(--major-grid-height), var(--grid-width) 100%, 100% var(--grid-height);
  background-position: 0 0,
        0 0,
        0 0,
        0 0;
}
.block.features-boxes.alt p,
.block.features-boxes.alt span,
.block.features-boxes.alt li {
  color: var(--text-color-alt);
}
.block.features-boxes.alt h2,
.block.features-boxes.alt h3,
.block.features-boxes.alt h4,
.block.features-boxes.alt h5,
.block.features-boxes.alt h6 {
  color: var(--heading-color-alt);
}
.block.features-boxes .inner {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  column-gap: 20px;
}
.block.features-boxes .inner .primary,
.block.features-boxes .inner .secondary {
  width: 100%;
}
.block.features-boxes .primary {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
}
.block.features-boxes .primary header {
  margin-bottom: 20px;
}
.block.features-boxes .primary .cta {
  margin-top: 50px;
}
.block.features-boxes .primary .cta a {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  color: var(--text-color);
  text-transform: uppercase;
  font-weight: 500;
}
.block.features-boxes .primary .cta a::after {
  content: '→';
  position: relative;
  display: inline-block;
  font-size: 1.25em;
  line-height: 1;
  margin-top: -2px;
}
.block.features-boxes .primary .cta a:hover,
.block.features-boxes .primary .cta a:focus-visible {
  opacity: 0.6;
}
.block.features-boxes.tertiary .primary .cta {
  margin-top: 30px;
  display: flex;
  justify-content: center;
}
.block.features-boxes.tertiary .primary .cta a {
  position: relative;
  display: inline-block;
  line-height: 24px;
  padding: 8px 16px;
  background: var(--button-bg-color);
  border: 2px solid var(--button-border-color);
  color: var(--button-text-color);
  font-size: 1.6rem;
  border-radius: 1px;
  transition: ease all 0.3s;
  text-align: center;
  margin: auto;
  cursor: pointer;
  text-transform: uppercase;
  margin-right: 10px;
  margin-top: 10px;
}
.block.features-boxes.tertiary .primary .cta a.ghost {
  background: none;
  color: var(--button-text-color);
  border-color: var(--button-text-color);
}
.block.features-boxes.tertiary .primary .cta a.ghost:hover,
.block.features-boxes.tertiary .primary .cta a.ghost:focus-visible {
  background: var(--button-bg-color-hover);
  color: var(--button-text-color-hover);
}
.block.features-boxes.tertiary .primary .cta a.ghost-dark {
  background: var(--button-bg-color-hover);
  color: var(--button-text-color-hover);
  border-color: var(--button-border-color);
}
.block.features-boxes.tertiary .primary .cta a.ghost-dark:hover,
.block.features-boxes.tertiary .primary .cta a.ghost-dark:focus-visible {
  background: var(--button-bg-color);
  color: var(--button-text-color);
}
.block.features-boxes.tertiary .primary .cta a.inverted {
  background: var(--button-text-color);
  border-color: var(--button-text-color);
  color: var(--button-bg-color);
}
.block.features-boxes.tertiary .primary .cta a.inverted:hover,
.block.features-boxes.tertiary .primary .cta a.inverted:focus-visible {
  background: transparent;
  color: var(--button-bg-color-hover);
}
.block.features-boxes.tertiary .primary .cta a.inline {
  display: inline-block;
}
.block.features-boxes.tertiary .primary .cta a .arrow {
  display: inline-flex;
  align-items: center;
  gap: 5px;
}
.block.features-boxes.tertiary .primary .cta a .arrow::after {
  content: '→';
  position: relative;
  display: inline-block;
  font-size: 1.25em;
  line-height: 1;
  margin-top: -2px;
}
.block.features-boxes.tertiary .primary .cta a:hover,
.block.features-boxes.tertiary .primary .cta a:focus-visible {
  background: var(--button-bg-color-hover);
  color: var(--button-text-color-hover);
}
.block.features-boxes.tertiary .primary .cta a::after {
  content: none;
}
.block.features-boxes.tertiary .primary .cta a:not(:first-of-type) {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  background: var(--button-bg-color-hover);
  color: var(--button-text-color-hover);
  border-color: var(--button-border-color);
}
.block.features-boxes.tertiary .primary .cta a:not(:first-of-type)::after {
  content: '→';
  position: relative;
  display: inline-block;
  font-size: 1.25em;
  line-height: 1;
  margin-top: -2px;
}
.block.features-boxes.tertiary .primary .cta a:not(:first-of-type):hover,
.block.features-boxes.tertiary .primary .cta a:not(:first-of-type):focus-visible {
  background: var(--button-bg-color);
  color: var(--button-text-color);
}
.block.features-boxes.alt .primary .cta a {
  color: var(--text-color-alt);
}
.block.features-boxes .secondary {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  height: -webkit-fit-content;
  height: fit-content;
  padding-top: 30px;
}
.block.features-boxes .secondary .feature-card {
  width: 100%;
  padding: 50px 16px 24px;
  transition: background-color 0.3s ease;
  background-color: #55773C33;
}
.block.features-boxes .secondary .feature-card:hover,
.block.features-boxes .secondary .feature-card:focus-within {
  background-color: #55773C66;
}
.block.features-boxes .secondary .feature-card header * {
  text-transform: uppercase;
  font-size: 1.6rem;
  font-weight: 500;
  font-family: var(--text-font);
}
.block.features-boxes.tertiary .secondary .feature-card {
  padding: 24px 60px;
}
.block.features-boxes.tertiary .secondary .feature-card header {
  text-align: center;
  margin-bottom: 10px;
}
.block.features-boxes.tertiary .secondary .feature-card header * {
  font-size: 6rem;
  font-family: var(--heading-font);
}
.block.features-boxes.tertiary .secondary .feature-card .text-content {
  text-align: center;
  text-transform: uppercase;
}
.block.features-boxes.alt .secondary .feature-card {
  border: 1px solid var(--page-bg-color);
  background-color: #F7F3ED0D;
}
.block.features-boxes.alt .secondary .feature-card:hover,
.block.features-boxes.alt .secondary .feature-card:focus-within {
  background-color: #FDFAF626;
}
@media screen and (min-width: 768px) {
  .block.features-boxes .inner .primary {
    width: calc(44% - 10px);
  }
  .block.features-boxes .inner .secondary {
    width: calc(50% - 10px);
  }
}
@media screen and (min-width: 960px) {
  .block.features-boxes .secondary .feature-card {
    width: calc(50% - 10px);
  }
}
#rs-builder .block.features-boxes .secondary .feature-card {
  width: calc(50% - 42px);
}
.block.subnav {
  background-color: var(--primary-bg-color);
  padding: 6px 20px;
}
.block.subnav ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
.block.subnav ul li {
  display: block;
  position: relative;
  padding: 20px 30px;
  text-align: center;
}
.block.subnav ul li::before {
  content: '';
  display: block;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: 0;
  width: 0;
  height: 2px;
  background: var(--text-color-alt);
  transition: width 0.3s;
}
.block.subnav ul li:has(a:hover)::before,
.block.subnav ul li:has(a:focus-visible)::before {
  width: 80%;
}
.block.subnav ul li:has(a:hover) a,
.block.subnav ul li:has(a:focus-visible) a {
  font-weight: 600;
}
.block.subnav a {
  color: var(--text-color-alt);
  text-transform: uppercase;
}
.block.subnav a::after {
  content: attr(data-text);
  font-weight: bold;
  visibility: hidden;
  height: 0;
  overflow: hidden;
  display: block;
}
.block.subnav .subnav-toggle {
  display: block;
  width: 100%;
  background: transparent;
  border: 1px solid var(--text-color-alt);
  color: var(--text-color-alt);
  padding: 12px 16px;
  text-transform: uppercase;
  text-align: left;
  cursor: pointer;
}
.block.subnav nav {
  display: none;
}
@media screen and (min-width: 768px) {
  .block.subnav .subnav-toggle {
    display: none !important;
  }
  .block.subnav nav {
    display: block !important;
  }
  .block.subnav ul li {
    display: inline-block;
    padding: 20px 30px;
  }
  .block.subnav ul li:not(:first-child)::after {
    content: '';
    display: block;
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 1px;
    height: 60%;
    background: var(--text-color-alt);
    opacity: 0.2;
  }
}
.block.subnav + .block.features-boxes {
  padding: 75px 20px;
}
.block.careers {
  padding: 75px 20px;
}
.block.careers .top {
  display: flex;
  flex-direction: column;
  gap: 20px;
  margin-bottom: 40px;
}
.block.careers .top header,
.block.careers .top .text-content {
  flex: 1;
}
.block.careers ul {
  list-style: none;
  padding-left: 0;
}
.block.careers .career-title {
  margin-bottom: 20px;
}
.block.careers .careers-list-container {
  border-top: 1px solid #c9c7c4;
  padding-top: 30px;
}
.block.careers .careers-list {
  list-style: none;
  padding-left: 0;
  width: 100%;
}
.block.careers .careers-list .career-item {
  margin-bottom: 10px;
  border: 1px solid #D1C4B4;
  padding: 31px 31px 11px;
  position: relative;
}
.block.careers .careers-list .career-item::before {
  content: "";
  position: absolute;
  bottom: -1px;
  left: -1px;
  width: 6px;
  height: 0;
  background-color: var(--primary-bg-color);
  transition: height 0.5s ease;
}
.block.careers .careers-list .career-item:hover,
.block.careers .careers-list .career-item:focus-within {
  padding: 30px 30px 10px;
  border: 2px solid var(--primary-bg-color);
}
.block.careers .careers-list .career-item:hover::before,
.block.careers .careers-list .career-item:focus-within::before {
  height: calc(100% + 2px);
}
.block.careers .careers-list .career-item .career-details ul {
  list-style-type: '→ ';
  padding-left: 25px;
  margin-top: 40px;
}
.block.careers .careers-list .career-item .career-details ul li::marker {
  color: var(--heading-color);
  font-size: 1.25em;
  margin-top: -2px;
}
.block.careers .careers-list .career-item .career-details ul li + li {
  margin-top: 10px;
}
.block.careers .career-pay {
  display: flex;
  flex-wrap: wrap;
  margin-top: 50px;
}
.block.careers .career-pay * {
  width: fit-content;
  display: inline-block;
}
.block.careers .career-pay p:not(:first-of-type)::before {
  content: '•';
  margin: 0 0.5em 0 0.25em;
  display: inline-block;
  font-weight: 300;
  vertical-align: middle;
}
.block.careers .career-pay b {
  font-weight: 700;
}
.block.careers .career-cta {
  display: flex;
  justify-content: flex-end;
  align-items: flex-end;
}
.block.careers .career-cta a {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  color: var(--text-color);
  text-transform: uppercase;
  font-weight: 500;
}
.block.careers .career-cta a::after {
  content: '→';
  position: relative;
  display: inline-block;
  font-size: 1.25em;
  line-height: 1;
  margin-top: -2px;
}
.block.careers .career-cta a:hover,
.block.careers .career-cta a:focus-visible {
  opacity: 0.6;
}
.block.careers .careers-list-container .career-item {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
}
.block.careers .careers-list-container .primary,
.block.careers .careers-list-container .secondary {
  width: 100%;
}
.block.careers .careers-list-container .secondary {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
}
@media screen and (min-width: 768px) {
  .block.careers .top {
    flex-direction: row;
    gap: 100px;
    align-items: flex-start;
  }
  .block.careers .top .text-content {
    padding-top: 7.68rem;
  }
  .block.careers .careers-list-container .career-item .primary,
  .block.careers .careers-list-container .career-item .secondary {
    width: calc(50% - 10px);
  }
}
.block.on-page-contact {
  background: var(--primary-bg-color);
  padding: 75px 20px;
  position: relative;
}
.block.on-page-contact form,
.block.on-page-contact .form-disclaimer {
  color: var(--text-color-alt);
}
.block.on-page-contact .form-disclaimer {
  text-align: center;
  font-size: 1.4rem;
}
.block.on-page-contact .aside-image {
  display: none;
  width: 100%;
  height: 300px;
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 1;
}
.block.on-page-contact .aside-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.block.on-page-contact .inner-wrapper {
  width: 100%;
  position: relative;
  z-index: 2;
}
@media screen and (min-width: 768px) {
  .block.on-page-contact .aside-image {
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    left: auto;
    width: 50%;
    height: 100%;
  }
  .block.on-page-contact .inner-wrapper {
    width: 50%;
    padding-right: 20px;
    max-width: 600px;
  }
}
.block.case-study-contact {
  background: var(--secondary-bg-color);
  padding: 75px 20px;
  position: relative;
}
.block.case-study-contact header {
  flex-direction: column;
  margin-bottom: 20px;
}
.block.case-study-contact header .text-content {
  color: var(--text-color-alt);
}
.block.case-study-contact form,
.block.case-study-contact .form-disclaimer {
  color: var(--text-color-alt);
}
.block.case-study-contact .form-disclaimer {
  text-align: center;
  font-size: 1.4rem;
}
.block.case-study-contact .aside-image {
  display: none;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
}
.block.case-study-contact .aside-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.block.case-study-contact .inner-wrapper {
  width: 100%;
  position: relative;
  z-index: 2;
}
@media screen and (min-width: 768px) {
  .block.case-study-contact .aside-image {
    display: block;
    position: absolute;
    width: 50%;
    height: 100%;
  }
  .block.case-study-contact .inner-wrapper {
    width: 50%;
    padding-left: 20px;
    margin-left: auto;
    max-width: 600px;
  }
}
.block.awards-highlight {
  padding: 30px 20px;
}
.block.awards-highlight .inner {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.block.awards-highlight .award-card {
  background: var(--primary-bg-color);
  padding: 30px;
  width: 100%;
}
.block.awards-highlight .award-card p,
.block.awards-highlight .award-card span,
.block.awards-highlight .award-card li {
  color: var(--text-color-alt);
}
.block.awards-highlight .award-card h2,
.block.awards-highlight .award-card h3,
.block.awards-highlight .award-card h4,
.block.awards-highlight .award-card h5,
.block.awards-highlight .award-card h6 {
  color: var(--heading-color-alt);
  font-family: var(--heading-font);
}
.block.awards-highlight .award-card .award-year {
  font-weight: 400;
  font-family: var(--heading-font);
  opacity: 0.15;
  font-size: 12rem;
  line-height: 0.8;
  margin-top: -3.2rem;
  margin-bottom: 2.5rem;
  text-align: right;
}
.block.awards-highlight .award-card .award-title {
  font-weight: 500;
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  margin-bottom: 25px;
}
.block.awards-highlight .award-card .award-title p {
  display: inline-block;
  text-transform: uppercase;
}
.block.awards-highlight .award-card .award-body h2,
.block.awards-highlight .award-card .award-body h3,
.block.awards-highlight .award-card .award-body h4,
.block.awards-highlight .award-card .award-body h5,
.block.awards-highlight .award-card .award-body h6 {
  margin-bottom: 20px;
}
.block.awards-highlight .award-card .award-footer {
  margin-top: 10px;
  padding-top: 20px;
  border-top: 1px solid var(--text-color-alt);
}
@media screen and (min-width: 768px) {
  .block.awards-highlight .award-card {
    width: calc(50% - 5px);
  }
}
@media screen and (min-width: 960px) {
  .block.awards-highlight .award-card {
    width: calc(33.333% - 6.66px);
  }
}
#rs-builder .block.awards-highlight .award-card {
  width: calc(33.333% - 38.66px);
}
.block.awards-list {
  padding: 0 20px;
  background-color: var(--page-bg-color);
}
.block.awards-list .inner {
  padding: 30px 0;
}
.block.awards-list header {
  margin-bottom: 20px;
  flex-direction: column;
}
.block.awards-list header * {
  font-family: var(--text-font);
  text-transform: uppercase;
  font-size: 1.6rem;
  font-weight: 500;
}
.block.awards-list .awards-list-container .award-card {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  background-color: #FFFFFF;
  padding: 20px 30px;
  border: 1px solid #c9c7c4;
  margin-bottom: 10px;
  position: relative;
}
.block.awards-list .awards-list-container .award-card::before {
  content: "";
  position: absolute;
  bottom: -1px;
  left: -1px;
  width: 6px;
  height: 0;
  background-color: var(--primary-bg-color);
  transition: height 0.5s ease;
}
.block.awards-list .awards-list-container .award-card:hover,
.block.awards-list .awards-list-container .award-card:focus-within {
  border: 1px solid var(--primary-bg-color);
}
.block.awards-list .awards-list-container .award-card:hover::before,
.block.awards-list .awards-list-container .award-card:focus-within::before {
  height: calc(100% + 2px);
}
.block.awards-list .awards-list-container ul {
  list-style: none;
  padding: 0;
  margin: 0;
}
.block.awards-list .awards-list-container .award-icon {
  height: 20px;
  width: 20px;
}
.block.awards-list .awards-list-container .award-icon img {
  height: 100%;
  width: 100%;
  object-fit: contain;
}
.block.awards-list .awards-list-container .award-years {
  margin-left: auto;
  display: flex;
  gap: 10px;
}
.block.awards-list .awards-list-container .award-years li {
  display: inline-flex;
  padding-right: 5px;
}
.block.awards-list .awards-list-container .award-years li:not(:first-child)::before {
  content: "|";
  margin-right: 10px;
}
.block.text-block + .block.awards-list .inner {
  border-top: 1px solid #c9c7c4;
}
.block.text-block:has(+ .block.awards-list) {
  background-color: var(--page-bg-color);
}
.block.awards-list + .block.awards-list .inner {
  padding-top: 0;
}
.block.text-cards {
  padding: 75px 20px;
  background-color: var(--page-bg-color);
}
.block.text-cards .inner {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.block.text-cards .card-item {
  width: 100%;
  border: 1px solid #c9c7c4;
  padding: 31px;
  position: relative;
  background-color: #FFFFFF;
}
.block.text-cards .card-item ul {
  list-style-type: '→ ';
  padding-left: 25px;
}
.block.text-cards .card-item ul li::marker {
  color: var(--heading-color);
  font-size: 1.25em;
  margin-top: -2px;
}
.block.text-cards .card-item ul li + li {
  margin-top: 10px;
}
.block.text-cards .card-item::before {
  content: "";
  position: absolute;
  bottom: -1px;
  left: -1px;
  width: 0;
  height: 6px;
  background-color: var(--primary-bg-color);
  transition: width 0.5s ease;
}
.block.text-cards .card-item:hover,
.block.text-cards .card-item:focus-within,
.block.text-cards .card-item.expanded {
  padding: 30px;
  border: 2px solid var(--primary-bg-color);
}
.block.text-cards .card-item:hover::before,
.block.text-cards .card-item:focus-within::before,
.block.text-cards .card-item.expanded::before {
  width: calc(100% + 2px);
}
.block.text-cards .card-item .card-icon {
  margin-bottom: 10px;
}
.block.text-cards .card-item .card-icon img {
  width: 60px;
  height: 6%;
  object-fit: contain;
}
.block.text-cards .card-item .card-title {
  margin-bottom: 20px;
}
@media screen and (min-width: 768px) {
  .block.text-cards .card-item {
    width: calc(50% - 5px);
  }
}
@media screen and (min-width: 960px) {
  .block.text-cards .card-item {
    width: calc(33.333% - 6.66px);
  }
}
.block.text-block + .block.text-cards {
  padding-top: 0;
}
.block.text-block + .block.text-cards .inner {
  padding-top: 30px;
  border-top: 1px solid #c9c7c4;
}
.block.text-block:has(+.block.text-cards) {
  background-color: var(--page-bg-color);
}
#rs-builder .block.text-cards .card-item {
  width: calc(33.333% - 38.66px);
}
.block.image-left {
  padding: 0 0 40px 0;
  position: relative;
}
.block.image-left .primary {
  height: 300px;
  width: calc(100% + 40px);
  margin-left: -20px;
}
.block.image-left .primary:has(img[src*="logo"]),
.block.image-left .primary:has(img[src*="Logo"]),
.block.image-left .primary:has(img[src*="LOGO"]) {
  margin-left: 0;
  width: 100%;
  height: auto;
}
.block.image-left .primary img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: right 50%;
}
.block.image-left .primary img[src*="logo"],
.block.image-left .primary img[src*="Logo"],
.block.image-left .primary img[src*="LOGO"] {
  object-fit: contain;
  max-width: 400px;
  margin: 0 auto;
}
.block.image-left.gif-left .primary img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: right 50%;
  max-width: 250px;
  margin: 0 auto;
}
.block.image-left .inner {
  padding: 40px 20px 20px;
}
.block.image-left .secondary header {
  margin-bottom: 15px;
}
.block.image-left .secondary p + ul {
  margin-top: 40px;
}
.block.image-left .secondary ul {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.block.image-left .secondary ul li {
  padding: 14px 20px;
  border: 1px solid #c9c7c4;
  position: relative;
  text-transform: uppercase;
  font-weight: 400;
}
.block.image-left .secondary ul li::before {
  content: "";
  position: absolute;
  bottom: -1px;
  left: -1px;
  width: 6px;
  height: 0;
  background-color: var(--primary-bg-color);
  transition: height 0.5s ease;
}
.block.image-left .secondary ul li:hover,
.block.image-left .secondary ul li:focus-within {
  border: 1px solid var(--primary-bg-color);
}
.block.image-left .secondary ul li:hover::before,
.block.image-left .secondary ul li:focus-within::before {
  height: calc(100% + 2px);
}
.block.image-left .secondary .cta {
  margin-top: 40px;
  display: flex;
  justify-content: flex-start;
  gap: 10px;
}
.block.image-left .secondary .cta a {
  position: relative;
  display: inline-block;
  line-height: 24px;
  padding: 8px 16px;
  background: var(--button-bg-color);
  border: 2px solid var(--button-border-color);
  color: var(--button-text-color);
  font-size: 1.6rem;
  border-radius: 1px;
  transition: ease all 0.3s;
  text-align: center;
  margin: auto;
  cursor: pointer;
  text-transform: uppercase;
  min-width: 200px;
}
.block.image-left .secondary .cta a.ghost {
  background: none;
  color: var(--button-text-color);
  border-color: var(--button-text-color);
}
.block.image-left .secondary .cta a.ghost:hover,
.block.image-left .secondary .cta a.ghost:focus-visible {
  background: var(--button-bg-color-hover);
  color: var(--button-text-color-hover);
}
.block.image-left .secondary .cta a.ghost-dark {
  background: var(--button-bg-color-hover);
  color: var(--button-text-color-hover);
  border-color: var(--button-border-color);
}
.block.image-left .secondary .cta a.ghost-dark:hover,
.block.image-left .secondary .cta a.ghost-dark:focus-visible {
  background: var(--button-bg-color);
  color: var(--button-text-color);
}
.block.image-left .secondary .cta a.inverted {
  background: var(--button-text-color);
  border-color: var(--button-text-color);
  color: var(--button-bg-color);
}
.block.image-left .secondary .cta a.inverted:hover,
.block.image-left .secondary .cta a.inverted:focus-visible {
  background: transparent;
  color: var(--button-bg-color-hover);
}
.block.image-left .secondary .cta a.inline {
  display: inline-block;
}
.block.image-left .secondary .cta a .arrow {
  display: inline-flex;
  align-items: center;
  gap: 5px;
}
.block.image-left .secondary .cta a .arrow::after {
  content: '→';
  position: relative;
  display: inline-block;
  font-size: 1.25em;
  line-height: 1;
  margin-top: -2px;
}
.block.image-left .secondary .cta a:hover,
.block.image-left .secondary .cta a:focus-visible {
  background: var(--button-bg-color-hover);
  color: var(--button-text-color-hover);
}
@media screen and (min-width: 768px) {
  .block.image-left {
    padding: 100px 0;
  }
  .block.image-left .primary {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    width: 50%;
    margin-left: 0;
    height: 100%;
  }
  .block.image-left .primary:has(img[src*="logo"]),
  .block.image-left .primary:has(img[src*="Logo"]),
  .block.image-left .primary:has(img[src*="LOGO"]) {
    width: 50%;
  }
  .block.image-left .inner {
    padding: 0;
  }
  .block.image-left .secondary {
    width: 50%;
    padding: 0 20px 0 50px;
    margin-left: auto;
  }
}
#rs-builder .block.image-left .inner {
  pointer-events: none;
}
#rs-builder .block.image-left .inner .secondary {
  pointer-events: auto;
}
.block.image-right {
  padding: 0 0 40px 0;
  position: relative;
}
.block.image-right .primary {
  height: 300px;
  width: calc(100% + 40px);
  margin-right: -20px;
  pointer-events: auto;
}
.block.image-right .primary img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: left;
}
.block.image-right .inner {
  padding: 40px 20px 20px;
  pointer-events: none;
}
.block.image-right .secondary {
  pointer-events: none;
}
.block.image-right .secondary * {
  pointer-events: auto;
}
.block.image-right .secondary header {
  margin-bottom: 15px;
}
.block.image-right .secondary p + ul {
  margin-top: 40px;
}
.block.image-right .secondary ul {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.block.image-right .secondary ul li {
  padding: 14px 20px;
  border: 1px solid #c9c7c4;
  position: relative;
  font-weight: 400;
}
.block.image-right .secondary ul li b {
  text-transform: uppercase;
}
.block.image-right .secondary ul li::before {
  content: "";
  position: absolute;
  bottom: -1px;
  left: -1px;
  width: 6px;
  height: 0;
  background-color: var(--primary-bg-color);
  transition: height 0.5s ease;
}
.block.image-right .secondary ul li:hover,
.block.image-right .secondary ul li:focus-within {
  border: 1px solid var(--primary-bg-color);
}
.block.image-right .secondary ul li:hover::before,
.block.image-right .secondary ul li:focus-within::before {
  height: calc(100% + 2px);
}
@media screen and (min-width: 768px) {
  .block.image-right {
    padding: 100px 0;
  }
  .block.image-right .primary {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    width: 50%;
    margin-right: 0;
    height: 100%;
  }
  .block.image-right .inner {
    padding: 0;
  }
  .block.image-right .secondary {
    width: 50%;
    padding: 0 50px 0 20px;
    margin-right: auto;
  }
}
#rs-builder .block.image-right .inner {
  pointer-events: none;
}
#rs-builder .block.image-right .inner .secondary {
  pointer-events: auto;
}
.block.numbered-cards {
  padding: 0 20px;
  background-color: var(--page-bg-color);
}
.block.numbered-cards .inner {
  padding: 30px 0;
}
.block.numbered-cards header {
  flex-direction: column;
}
.block.numbered-cards .inner {
  padding: 30px 0;
  display: flex;
  flex-wrap: wrap;
  flex-direction: row;
  column-gap: 10px;
  row-gap: 15px;
  border-top: 1px solid #c9c7c4;
}
.block.numbered-cards .card {
  border: 1px solid #D1C4B4;
  padding: 41px 31px;
  width: 100%;
  position: relative;
  background-color: #FFFFFF;
}
.block.numbered-cards .card .card-number {
  position: absolute;
  top: 21px;
  right: 31px;
  opacity: 0.2;
  transition: opacity 0.3s ease;
}
.block.numbered-cards .card .card-number p {
  font-size: 6.4rem;
  font-family: var(--heading-font);
  font-weight: 700;
  color: var(--primary-bg-color);
}
.block.numbered-cards .card::before {
  content: "";
  position: absolute;
  top: -1px;
  left: -1px;
  width: 0;
  height: 6px;
  background-color: var(--primary-bg-color);
  transition: width 0.5s ease;
}
.block.numbered-cards .card:hover,
.block.numbered-cards .card:focus-within {
  padding: 40px 30px;
  border: 2px solid var(--primary-bg-color);
}
.block.numbered-cards .card:hover::before,
.block.numbered-cards .card:focus-within::before {
  width: calc(100% + 2px);
}
.block.numbered-cards .card:hover .card-number,
.block.numbered-cards .card:focus-within .card-number {
  top: 20px;
  right: 30px;
  opacity: 0.4;
}
.block.numbered-cards .card .title {
  margin-bottom: 5px;
}
.block.numbered-cards .card .title * {
  font-size: 1.6rem;
  text-transform: uppercase;
  color: var(--text-color);
  font-family: var(--text-font);
  font-weight: 500;
}
.block.numbered-cards .card .subtitle {
  margin-bottom: 15px;
}
.block.numbered-cards .card .subtitle * {
  font-size: 2.4rem;
  text-transform: none;
  color: var(--text-color);
  font-family: var(--heading-font);
  font-weight: 500;
}
.block.numbered-cards .card ul {
  list-style-type: '→ ';
  padding-left: 25px;
}
.block.numbered-cards .card ul li::marker {
  color: var(--heading-color);
  font-size: 1.25em;
  margin-top: -2px;
}
.block.numbered-cards .card ul li + li {
  margin-top: 10px;
}
.block.numbered-cards .card .text-content {
  margin-top: 40px;
}
@media screen and (min-width: 768px) {
  .block.numbered-cards .card {
    width: calc(50% - 5px);
  }
}
.block.text-block + .block.numbered-cards .inner {
  border-top: 1px solid #c9c7c4;
}
.block.text-block:has(+ .block.numbered-cards) {
  background-color: var(--page-bg-color);
}
#rs-builder .block.numbered-cards .card {
  width: calc(50% - 37px);
}
.block.case-studies {
  padding: 0 20px 75px;
  background-color: var(--page-bg-color);
}
.block.case-studies .inner {
  padding: 30px 0 0;
  display: flex;
  flex-wrap: wrap;
  flex-direction: row;
  gap: 10px;
}
.block.case-studies .card {
  position: relative;
  transition: ease all 0.3s;
  background-color: #737373;
  min-height: -webkit-fit-content;
  min-height: fit-content;
  display: flex;
  text-align: left;
  padding-top: 80px;
  width: 100%;
}
.block.case-studies .card .card-image {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  transition: ease all 0.3s;
  overflow: hidden;
}
.block.case-studies .card .card-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: ease all 0.3s;
  transform: scale(1.01);
}
.block.case-studies .card .card-image::after {
  position: absolute;
  content: "";
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(to top, rgba(0, 0, 0, 0.8) 30%, transparent);
  z-index: 1;
  pointer-events: none;
}
.block.case-studies .card:hover .card-image img,
.block.case-studies .card:focus-within .card-image img,
.block.case-studies .card.active .card-image img {
  transform: scale(1.08);
}
.block.case-studies .card .card-content {
  position: relative;
  width: 100%;
  z-index: 2;
  padding: 15px 30px;
  color: var(--text-color-alt);
  min-height: -webkit-fit-content;
  min-height: fit-content;
  padding-right: 50px;
  transition: ease all 0.3s;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.block.case-studies .card header {
  position: relative;
  padding-bottom: 10px;
  margin-bottom: 5px;
}
.block.case-studies .card header h2,
.block.case-studies .card header h3,
.block.case-studies .card header h4,
.block.case-studies .card header h5,
.block.case-studies .card header h6 {
  font-size: calc(2.4*1rem);
}
@media screen and (min-width: 768px) {
  .block.case-studies .card header h2,
  .block.case-studies .card header h3,
  .block.case-studies .card header h4,
  .block.case-studies .card header h5,
  .block.case-studies .card header h6 {
    font-size: calc(2.8*1rem);
  }
}
@media screen and (min-width: 960px) {
  .block.case-studies .card header h2,
  .block.case-studies .card header h3,
  .block.case-studies .card header h4,
  .block.case-studies .card header h5,
  .block.case-studies .card header h6 {
    font-size: calc(3.2*1rem);
  }
}
.block.case-studies .card header::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 60px;
  max-width: 80%;
  height: 1px;
  background-color: var(--text-color-alt);
  opacity: 0.5;
}
.block.case-studies .card .card-cta {
  margin-top: 10px;
}
.block.case-studies .card .card-cta a {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  color: var(--text-color-alt);
  text-transform: uppercase;
  font-weight: 500;
}
.block.case-studies .card .card-cta a::after {
  content: '→';
  position: relative;
  display: inline-block;
  font-size: 1.25em;
  line-height: 1;
  margin-top: -2px;
}
.block.case-studies .card .card-cta a:hover,
.block.case-studies .card .card-cta a:focus-visible {
  opacity: 0.6;
}
.block.case-studies:has(.card:hover) .card:not(:hover):not(:focus-within):not(.active),
.block.case-studies:has(.card:focus-within) .card:not(:hover):not(:focus-within):not(.active),
.block.case-studies:has(.card.active) .card:not(:hover):not(:focus-within):not(.active) {
  filter: brightness(40%);
}
@media only screen and (min-width: 600px) {
  .block.case-studies .card {
    width: calc(50% - 5px);
    padding-top: 120px;
  }
}
@media screen and (min-width: 960px) {
  .block.case-studies .card {
    padding-top: 200px;
    /* 1st and 2nd in every group of 5 */
    /* 3rd through 5th in every group of 5 */
  }
  .block.case-studies .card:nth-child(5n + 1),
  .block.case-studies .card:nth-child(5n + 2) {
    width: calc(50% - 5px);
    padding-top: 250px;
  }
  .block.case-studies .card:nth-child(5n + 3),
  .block.case-studies .card:nth-child(5n + 4),
  .block.case-studies .card:nth-child(5n + 5) {
    width: calc(33.333% - 6.667px);
  }
  .block.case-studies.short .card {
    width: calc(33.333% - 6.667px);
  }
}
.block.text-block + .block.case-studies.short .inner {
  border-top: 1px solid #c9c7c4;
}
.block.text-block:has(+ .block.case-studies) {
  background-color: var(--page-bg-color);
}
#rs-builder .block.case-studies .card {
  padding-top: 200px;
  /* 1st and 2nd in every group of 5 */
  /* 3rd through 5th in every group of 5 */
}
#rs-builder .block.case-studies .card:nth-child(5n + 1),
#rs-builder .block.case-studies .card:nth-child(5n + 2) {
  width: calc(50% - 37px);
  padding-top: 250px;
}
#rs-builder .block.case-studies .card:nth-child(5n + 3),
#rs-builder .block.case-studies .card:nth-child(5n + 4),
#rs-builder .block.case-studies .card:nth-child(5n + 5) {
  width: calc(33.333% - 38.667px);
}
#rs-builder .block.case-studies.short .card {
  width: calc(33.333% - 38.667px);
}
.block.pledge {
  position: relative;
  background-color: var(--primary-bg-color);
}
.block.pledge .primary {
  display: none;
  pointer-events: auto;
}
.block.pledge .primary img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: left;
}
.block.pledge .inner {
  pointer-events: none;
}
.block.pledge .secondary {
  pointer-events: none;
  background-color: var(--primary-bg-color);
  padding: 60px 20px 60px 20px;
}
.block.pledge .secondary * {
  pointer-events: auto;
}
.block.pledge .secondary .text-content {
  color: var(--text-color-alt);
}
.block.pledge .secondary header {
  margin-bottom: 15px;
}
.block.pledge .secondary header h2 {
  padding-bottom: 0;
}
.block.pledge .secondary p + ul {
  margin-top: 40px;
}
.block.pledge .secondary ul {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-top: 40px;
}
.block.pledge .secondary ul li {
  padding: 15px 21px;
  border: 1px solid #c9c7c4;
  position: relative;
  background-color: #FDFAF60D;
  display: flex;
  gap: 15px;
  align-items: flex-start;
}
.block.pledge .secondary ul li .editable {
  display: flex;
  gap: 15px;
  align-items: flex-start;
}
.block.pledge .secondary ul li:hover,
.block.pledge .secondary ul li:focus-within {
  padding: 14px 20px;
  border: 2px solid var(--text-color-alt);
}
.block.pledge .secondary ul li h2,
.block.pledge .secondary ul li h3,
.block.pledge .secondary ul li h4,
.block.pledge .secondary ul li h5,
.block.pledge .secondary ul li h6 {
  font-family: var(--heading-font);
  font-weight: 400;
  font-size: 3.2rem;
  display: inline-block;
  line-height: unset;
}
.block.pledge .secondary ul li p {
  display: inline-block;
}
.block.pledge .secondary ul li b {
  font-weight: 600;
}
@media screen and (min-width: 768px) {
  .block.pledge .primary {
    display: block;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    width: 50%;
    margin-right: 0;
    height: 100%;
  }
  .block.pledge .inner {
    padding: 0;
  }
  .block.pledge .secondary {
    width: 50%;
    padding: 60px 50px 60px 20px;
    margin-right: auto;
  }
}
#rs-builder .block.image-right .inner {
  pointer-events: none;
}
#rs-builder .block.image-right .inner .secondary {
  pointer-events: auto;
}
.block.property-details {
  padding: 50px 20px;
  position: relative;
}
.block.property-details .inner {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  column-gap: 20px;
}
.block.property-details .inner .primary,
.block.property-details .inner .secondary {
  width: 100%;
}
.block.property-details .primary {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
}
.block.property-details .primary header {
  margin-bottom: 20px;
}
.block.property-details .primary .cta {
  margin-top: 30px;
  display: flex;
  justify-content: center;
}
.block.property-details .primary .cta a {
  position: relative;
  display: inline-block;
  line-height: 24px;
  padding: 8px 16px;
  background: var(--button-bg-color);
  border: 2px solid var(--button-border-color);
  color: var(--button-text-color);
  font-size: 1.6rem;
  border-radius: 1px;
  transition: ease all 0.3s;
  text-align: center;
  margin: auto;
  cursor: pointer;
  text-transform: uppercase;
  margin-right: 10px;
  margin-top: 10px;
}
.block.property-details .primary .cta a.ghost {
  background: none;
  color: var(--button-text-color);
  border-color: var(--button-text-color);
}
.block.property-details .primary .cta a.ghost:hover,
.block.property-details .primary .cta a.ghost:focus-visible {
  background: var(--button-bg-color-hover);
  color: var(--button-text-color-hover);
}
.block.property-details .primary .cta a.ghost-dark {
  background: var(--button-bg-color-hover);
  color: var(--button-text-color-hover);
  border-color: var(--button-border-color);
}
.block.property-details .primary .cta a.ghost-dark:hover,
.block.property-details .primary .cta a.ghost-dark:focus-visible {
  background: var(--button-bg-color);
  color: var(--button-text-color);
}
.block.property-details .primary .cta a.inverted {
  background: var(--button-text-color);
  border-color: var(--button-text-color);
  color: var(--button-bg-color);
}
.block.property-details .primary .cta a.inverted:hover,
.block.property-details .primary .cta a.inverted:focus-visible {
  background: transparent;
  color: var(--button-bg-color-hover);
}
.block.property-details .primary .cta a.inline {
  display: inline-block;
}
.block.property-details .primary .cta a .arrow {
  display: inline-flex;
  align-items: center;
  gap: 5px;
}
.block.property-details .primary .cta a .arrow::after {
  content: '→';
  position: relative;
  display: inline-block;
  font-size: 1.25em;
  line-height: 1;
  margin-top: -2px;
}
.block.property-details .primary .cta a:hover,
.block.property-details .primary .cta a:focus-visible {
  background: var(--button-bg-color-hover);
  color: var(--button-text-color-hover);
}
.block.property-details .primary .cta a:not(:first-of-type) {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  background: var(--button-bg-color-hover);
  color: var(--button-text-color-hover);
  border-color: var(--button-border-color);
}
.block.property-details .primary .cta a:not(:first-of-type)::after {
  content: '→';
  position: relative;
  display: inline-block;
  font-size: 1.25em;
  line-height: 1;
  margin-top: -2px;
}
.block.property-details .primary .cta a:not(:first-of-type):hover,
.block.property-details .primary .cta a:not(:first-of-type):focus-visible {
  background: var(--button-bg-color);
  color: var(--button-text-color);
}
.block.property-details .primary .cta:not(:has(a)) {
  display: none;
}
.block.property-details .secondary {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  height: -webkit-fit-content;
  height: fit-content;
  padding-top: 30px;
}
.block.property-details .secondary ul.items-list {
  width: 100%;
  list-style: none;
  padding: 0;
  margin: 0;
}
.block.property-details .secondary li.item {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 20px;
  background-color: #FFFFFF;
  padding: 21px 31px;
  border: 1px solid #D1C4B4;
  margin-bottom: 10px;
  position: relative;
}
.block.property-details .secondary li.item::before {
  content: "";
  position: absolute;
  bottom: -1px;
  left: -1px;
  width: 6px;
  height: 0;
  background-color: var(--primary-bg-color);
  transition: height 0.5s ease;
}
.block.property-details .secondary li.item:hover,
.block.property-details .secondary li.item:focus-within {
  padding: 20px 30px;
  border: 2px solid var(--primary-bg-color);
}
.block.property-details .secondary li.item:hover::before,
.block.property-details .secondary li.item:focus-within::before {
  height: calc(100% + 2px);
}
.block.property-details .secondary li.item .item-title * {
  text-transform: uppercase;
  font-size: 1.6rem;
  font-weight: 500;
  font-family: var(--text-font);
}
.block.property-details .secondary li.item .item-content a {
  text-decoration: underline;
  color: var(--text-color);
}
.block.property-details .secondary li.item .item-content a:hover,
.block.property-details .secondary li.item .item-content a:focus-visible {
  color: var(--text-link-color);
}
@media screen and (min-width: 768px) {
  .block.property-details .inner .primary {
    width: calc(44% - 10px);
  }
  .block.property-details .inner .secondary {
    width: calc(50% - 10px);
  }
}
.block.explore {
  padding: 0 20px 75px;
}
.block.explore .border {
  display: none;
  height: 1px;
  background: #c9c7c4;
  width: 100%;
  max-width: 1400px;
  margin: 0 auto;
}
.block.explore .inner {
  padding: 40px 0 0;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.block.explore .card {
  width: 100%;
  aspect-ratio: 4/3;
  position: relative;
  max-height: 200px;
}
.block.explore .card-link {
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  opacity: 0;
  text-indent: -9999px;
  white-space: nowrap;
  overflow: hidden;
}
.block.explore .card-image {
  width: 100%;
  height: 100%;
  overflow: hidden;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
}
.block.explore .card-image::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.4);
  z-index: 1;
  pointer-events: none;
}
.block.explore .card-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: ease all 0.3s;
  transform: scale(1.01);
}
.block.explore .card:hover .card-image img,
.block.explore .card:focus-within .card-image img {
  transform: scale(1.08);
}
.block.explore:has(.card:hover) .card:not(:hover):not(:focus-within) .card-image img,
.block.explore:has(.card:focus-within) .card:not(:hover):not(:focus-within) .card-image img {
  filter: grayscale(100%);
}
.block.explore .card-content {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  align-items: flex-start;
  min-height: 100%;
  min-width: 100%;
  pointer-events: none;
  padding: 14px 28px;
}
.block.explore .card-content .card-title {
  color: var(--heading-color-alt);
  pointer-events: auto;
  font-size: calc(1.8*1rem);
  font-family: var(--heading-font);
}
@media screen and (min-width: 768px) {
  .block.explore .card-content .card-title {
    font-size: calc(2*1rem);
  }
}
@media screen and (min-width: 960px) {
  .block.explore .card-content .card-title {
    font-size: calc(2*1rem);
  }
}
.block.explore .card-content .card-title p + p {
  margin-top: 0;
}
.block.explore .card-content .card-location {
  color: var(--text-color-alt);
  pointer-events: auto;
  font-size: 1.2rem;
  font-weight: 300;
  text-transform: uppercase;
}
@media only screen and (min-width: 500px) {
  .block.explore .card {
    width: calc(50% - 5px);
    max-height: 300px;
  }
}
@media screen and (min-width: 960px) {
  .block.explore .card {
    width: calc(25% - 7.5px);
    max-height: 350px;
  }
  .block.explore .card.three-cards {
    width: calc(33.3333% - 6.6667px);
  }
  .block.explore .card.two-cards {
    width: calc(50% - 5px);
  }
  .block.explore .card.one-card {
    width: 100%;
  }
}
.block.text-block + .block.explore .border {
  display: block;
}
.block.text-block:has(+.block.explore) {
  padding-bottom: 20px;
}
#rs-builder .block.explore .card {
  width: calc(25% - 39.5px);
  aspect-ratio: 5/3;
}
#rs-builder .block.explore .card .card-content {
  min-height: unset;
}
#rs-builder .block.explore .card-link {
  opacity: 1;
  position: relative;
  text-indent: 0;
  white-space: normal;
  overflow: visible;
  display: inline-block;
  padding: 10px 15px;
  background: rgba(255, 255, 255, 0.8);
  color: var(--text-color);
  z-index: 2;
  height: auto;
}
#rs-builder .block.explore .card-link::after {
  content: 'Card Link';
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-size: 14px;
  color: var(--text-color);
  opacity: 0.8;
  pointer-events: none;
}
#rs-builder .block.explore .card-link:hover,
#rs-builder .block.explore .card-link:focus-visible {
  background: #ffffff;
  color: var(--text-color-alt);
}
#rs-builder .block.explore .cta {
  display: block !important;
}
.block.property-map {
  padding: 40px 20px 75px;
}
.block.property-map #property-map-canvas {
  width: 100%;
  height: 400px;
}
@media screen and (min-width: 768px) {
  .block.property-map #property-map-canvas {
    height: 575px;
  }
}
.block.explore + .block.property-map,
.block.explore + markup .block.property-map {
  padding-top: 10px;
}
.block.explore:has(+.block.property-map),
.block.explore:has(+markup .block.property-map) {
  padding-bottom: 0;
}
#rs-builder .block.property-map #property-map-canvas {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 150px;
}
#rs-builder .block.property-map #property-map-canvas::after {
  content: "Map not visible in builder";
  display: inline-block;
  color: #333;
  opacity: 0.8;
}
.block.floorplans-image-video {
  padding: 20px;
  display: none;
  flex-wrap: nowrap;
  gap: 4%;
}
.block.floorplans-image-video .image-bg {
  width: 48%;
  height: auto;
  overflow: hidden;
  position: relative;
}
.block.floorplans-image-video .image-bg img {
  width: 100%;
  height: auto;
  object-fit: cover;
}
.block.floorplans-image-video video {
  width: 48%;
  height: auto;
}
#rs-builder .block.floorplans-image-video {
  display: flex;
}
#rs-builder .block.floorplans-image-video video {
  display: block;
  height: 100%;
}
#rs-builder .block.floorplans-image-video video:has(source[src=""]) {
  background-image: url(https://placehold.co/472x351?text=No+Video+Assigned&font=roboto);
  background-position: center;
  height: auto;
}
.block.floorplans {
  background-color: var(--page-bg-color);
  padding: 75px 20px;
}
.block.floorplans .inner {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 20px;
}
.block.floorplans .floorplans-left {
  overflow: hidden;
  position: relative;
  width: 100%;
  height: 250px;
}
.block.floorplans .floorplans-left img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 1;
}
.block.floorplans .floorplans-left video {
  display: none;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 2;
}
.block.floorplans .floorplans-right {
  width: 100%;
}
.block.floorplans .floorplans-right .swiper {
  margin-top: 20px;
}
.block.floorplans .floorplans-right .swiper-slide {
  border: 1px solid #D1C4B4;
  height: auto;
}
.block.floorplans .floorplans-right .swiper-slide .card {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  height: 100%;
}
.block.floorplans .floorplans-right .swiper-slide .card-image {
  padding: 25px;
  height: auto;
  overflow: hidden;
  margin: auto;
}
.block.floorplans .floorplans-right .swiper-slide .card-image img {
  width: 100%;
  height: 100%;
  max-height: 300px;
  object-fit: contain;
}
.block.floorplans .floorplans-right .swiper-slide .card-content {
  padding: 25px;
  background-color: #FFFFFF;
  border-top: 1px solid #D1C4B4;
}
.block.floorplans .floorplans-right .swiper-slide .card-content p + p {
  margin-top: 0;
}
.block.floorplans .floorplans-right .swiper-slide .card-title {
  font-size: 3.2rem;
  margin-bottom: 5px;
}
.block.floorplans .floorplans-right .swiper-slide .card-details {
  display: flex;
  gap: 20px;
}
.block.floorplans .floorplans-right .swiper-buttons {
  margin-left: auto;
  display: flex;
  gap: 10px;
  justify-content: flex-end;
  margin-top: 20px;
}
.block.floorplans .floorplans-right .swiper-buttons button {
  background-color: transparent;
  border: none;
  padding: 5px;
  margin: 0;
  cursor: pointer;
}
.block.floorplans .floorplans-right .swiper-buttons button:hover,
.block.floorplans .floorplans-right .swiper-buttons button:focus-visible {
  opacity: 0.6;
}
.block.floorplans .floorplans-right .fp-cta {
  color: var(--text-color);
  font-weight: 500;
  text-transform: uppercase;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 5px;
  margin-top: 20px;
}
.block.floorplans .floorplans-right .fp-cta span {
  margin-top: -2px;
  font-size: 1.25em;
}
@media screen and (min-width: 768px) {
  .block.floorplans .floorplans-left {
    width: calc(44% - 10px);
    height: auto;
  }
  .block.floorplans .floorplans-left video {
    display: block;
  }
  .block.floorplans .floorplans-right {
    width: calc(50% - 10px);
  }
}
#rs-builder .block.floorplans .swiper {
  display: none;
}
#rs-builder .block.floorplans .floorplans-left::after {
  content: "Image/Video not visible in builder. Please place 'Floorplans Image/Video' block to preview media.";
  display: block;
  width: 100%;
  text-align: center;
  color: #333;
  opacity: 0.8;
  margin-top: 20px;
}
#rs-builder .block.floorplans .floorplans-right {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
}
#rs-builder .block.floorplans .floorplans-right::after {
  content: "Floorplans not visible in builder";
  display: block;
  width: 100%;
  text-align: center;
  color: #333;
  opacity: 0.8;
  margin-top: 20px;
}
#rs-builder .block.floorplans .floorplans-right .fp-cta {
  display: flex;
}
body:not(:has(#fp-embed)) .block.floorplans .floorplans-right .fp-cta {
  display: none;
}
.block.gallery {
  padding: 0 20px 75px;
}
.block.gallery .inner {
  padding-top: 30px;
  border-top: 1px solid #c9c7c4;
}
.block.gallery .swiper.large {
  display: none;
  width: 100%;
  height: 75vh;
  max-height: 500px;
  margin-bottom: 10px;
}
.block.gallery .swiper.small {
  height: 50vh;
  box-sizing: border-box;
  padding: 10px 0;
}
.block.gallery .swiper.small .swiper-slide {
  width: 100%;
  height: 100%;
}
.block.gallery .swiper-slide {
  height: auto;
}
.block.gallery .swiper-slide img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.block.gallery .swiper-buttons {
  margin-left: auto;
  display: flex;
  gap: 10px;
  justify-content: flex-end;
  margin-top: 20px;
}
.block.gallery .swiper-buttons button {
  background-color: transparent;
  border: none;
  padding: 5px;
  margin: 0;
  cursor: pointer;
}
.block.gallery .swiper-buttons button:hover,
.block.gallery .swiper-buttons button:focus-visible {
  opacity: 0.6;
}
@media screen and (min-width: 768px) {
  .block.gallery .swiper.large {
    display: block;
  }
  .block.gallery .swiper.small {
    height: 25vh;
    max-height: 300px;
    box-sizing: border-box;
    padding: 10px 0;
  }
  .block.gallery .swiper.small .swiper-slide {
    width: 25%;
    height: 100%;
    cursor: pointer;
  }
  .block.gallery .swiper.small .swiper-slide::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #000000;
    z-index: 1;
  }
  .block.gallery .swiper.small .swiper-slide img {
    z-index: 2;
    position: relative;
    opacity: 0.4;
  }
  .block.gallery .swiper.small .swiper-slide-thumb-active img {
    opacity: 1;
  }
}
.text-block:has(+ .block.gallery),
.text-block:has(+markup .block.gallery) {
  padding-bottom: 30px;
}
#rs-builder .block.gallery .swiper {
  display: none;
}
#rs-builder .block.gallery .inner {
  height: 150px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
}
#rs-builder .block.gallery .inner::before {
  content: "Gallery not visible in builder";
  display: block;
  width: 100%;
  text-align: center;
  color: #333;
  opacity: 0.8;
}
.block.contact {
  position: relative;
}
.block.contact .inner {
  display: flex;
  flex-wrap: wrap;
}
.block.contact .left {
  padding: 75px 20px;
  width: 100%;
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  gap: 20px;
  height: -webkit-fit-content;
  height: fit-content;
  padding-top: 30px;
  position: relative;
}
.block.contact .left .secondary {
  width: 100%;
  margin-top: 40px;
}
.block.contact .left ul.items-list {
  width: 100%;
  list-style: none;
  padding: 0;
  margin: 0;
}
.block.contact .left li.item {
  background-color: #FFFFFF;
  padding: 21px 31px;
  border: 1px solid #D1C4B4;
  margin-bottom: 10px;
  position: relative;
  width: 100%;
}
.block.contact .left li.item::before {
  content: "";
  position: absolute;
  bottom: -1px;
  left: -1px;
  width: 6px;
  height: 0;
  background-color: var(--primary-bg-color);
  transition: height 0.5s ease;
}
.block.contact .left li.item:hover,
.block.contact .left li.item:focus-within {
  padding: 20px 30px;
  border: 2px solid var(--primary-bg-color);
}
.block.contact .left li.item:hover::before,
.block.contact .left li.item:focus-within::before {
  height: calc(100% + 2px);
}
.block.contact .left li.item .item-content a {
  text-decoration: underline;
  color: var(--text-color);
}
.block.contact .left li.item .item-content a:hover,
.block.contact .left li.item .item-content a:focus-visible {
  color: var(--text-link-color);
}
.block.contact .left li.item h2,
.block.contact .left li.item h3,
.block.contact .left li.item h4,
.block.contact .left li.item h5,
.block.contact .left li.item h6 {
  font-size: 3.2rem;
  margin-bottom: 10px;
}
.block.contact .right {
  background: var(--secondary-bg-color);
  padding: 75px 20px;
  width: 100%;
}
.block.contact .right form,
.block.contact .right .form-disclaimer {
  color: var(--text-color-alt);
}
.block.contact .right .form-disclaimer {
  text-align: center;
  font-size: 1.4rem;
}
@media screen and (min-width: 960px) {
  .block.contact .left {
    width: 50%;
    height: auto;
    padding: 75px 75px 75px 20px;
  }
  .block.contact .left::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 20px;
    width: calc(100% - 95px);
    height: 2px;
    background-color: #c9c7c4;
  }
  .block.contact .left .secondary {
    margin-top: 75px;
    position: relative;
  }
  .block.contact .right {
    width: 50%;
    height: auto;
    padding: 75px 20px 75px 75px;
  }
  .block.contact .right::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: calc(50vw);
    height: 100%;
    background-color: var(--secondary-bg-color);
    transform: translateX(100%);
    z-index: -1;
  }
}
.block.socials {
  padding: 75px 0;
}
.block.socials .inner {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  padding: 0 20px;
}
.block.socials .primary,
.block.socials .secondary {
  width: 100%;
  text-align: center;
}
.block.socials .socials {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: center;
}
.block.socials .socials a {
  color: var(--text-color);
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 5px 10px;
  border: 1px solid currentColor;
  text-transform: uppercase;
}
.block.socials .socials a:hover,
.block.socials .socials a:focus-visible {
  background-color: var(--button-bg-color);
  color: var(--button-text-color);
}
@media screen and (min-width: 768px) {
  .block.socials .primary,
  .block.socials .secondary {
    width: calc(50% - 10px);
    text-align: left;
  }
}
.block.outro-cta {
  background-color: var(--secondary-bg-color);
  padding: 65px 20px;
}
.block.outro-cta .cta {
  margin-top: 10px;
  display: flex;
  justify-content: flex-end;
}
.block.outro-cta .cta .editable {
  display: flex;
  justify-content: flex-end;
}
.block.outro-cta .cta a {
  position: relative;
  display: inline-block;
  line-height: 24px;
  padding: 8px 16px;
  background: var(--button-bg-color);
  border: 2px solid var(--button-border-color);
  color: var(--button-text-color);
  font-size: 1.6rem;
  border-radius: 1px;
  transition: ease all 0.3s;
  text-align: center;
  margin: auto;
  cursor: pointer;
  text-transform: uppercase;
  background: var(--button-text-color);
  border-color: var(--button-text-color);
  color: var(--button-bg-color);
  margin-right: 10px;
  margin-bottom: 0;
  margin-left: 0;
  margin-top: 10px;
}
.block.outro-cta .cta a.ghost {
  background: none;
  color: var(--button-text-color);
  border-color: var(--button-text-color);
}
.block.outro-cta .cta a.ghost:hover,
.block.outro-cta .cta a.ghost:focus-visible {
  background: var(--button-bg-color-hover);
  color: var(--button-text-color-hover);
}
.block.outro-cta .cta a.ghost-dark {
  background: var(--button-bg-color-hover);
  color: var(--button-text-color-hover);
  border-color: var(--button-border-color);
}
.block.outro-cta .cta a.ghost-dark:hover,
.block.outro-cta .cta a.ghost-dark:focus-visible {
  background: var(--button-bg-color);
  color: var(--button-text-color);
}
.block.outro-cta .cta a.inverted {
  background: var(--button-text-color);
  border-color: var(--button-text-color);
  color: var(--button-bg-color);
}
.block.outro-cta .cta a.inverted:hover,
.block.outro-cta .cta a.inverted:focus-visible {
  background: transparent;
  color: var(--button-bg-color-hover);
}
.block.outro-cta .cta a.inline {
  display: inline-block;
}
.block.outro-cta .cta a .arrow {
  display: inline-flex;
  align-items: center;
  gap: 5px;
}
.block.outro-cta .cta a .arrow::after {
  content: '→';
  position: relative;
  display: inline-block;
  font-size: 1.25em;
  line-height: 1;
  margin-top: -2px;
}
.block.outro-cta .cta a:hover,
.block.outro-cta .cta a:focus-visible {
  background: var(--button-bg-color-hover);
  color: var(--button-text-color-hover);
}
.block.outro-cta .cta a:hover,
.block.outro-cta .cta a:focus-visible {
  background: transparent;
  color: var(--button-bg-color-hover);
}
.block.outro-cta .cta a:not(:first-of-type) {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  background: none;
  color: var(--button-text-color);
  border-color: var(--button-text-color);
}
.block.outro-cta .cta a:not(:first-of-type)::after {
  content: '→';
  position: relative;
  display: inline-block;
  font-size: 1.25em;
  line-height: 1;
  margin-top: -2px;
}
.block.outro-cta .cta a:not(:first-of-type):hover,
.block.outro-cta .cta a:not(:first-of-type):focus-visible {
  background: var(--button-bg-color-hover);
  color: var(--button-text-color-hover);
}
.block.outro-cta .cta:not(:has(a)) {
  display: none;
}
#rs-builder .block.outro-cta .cta {
  display: block !important;
}
.block.case-study-contact + .block.outro-cta {
  border-top: 1px solid var(--text-color-alt);
}
.block.footer {
  background-color: var(--footer-bg-color);
  color: var(--footer-color);
  padding: 35px 20px 0;
}
.block.footer * {
  font-weight: 400;
}
.block.footer a {
  font-weight: 500;
}
.block.footer h6 {
  font-weight: 700;
  font-size: 1.6rem;
  margin-bottom: 10px;
  text-transform: uppercase;
}
.block.footer .top {
  padding: 40px 0;
}
.block.footer .top ul {
  list-style: none;
}
.block.footer .top a {
  color: var(--footer-color);
}
.block.footer .top a:hover,
.block.footer .top a:focus-visible {
  text-decoration: underline;
}
.block.footer .top .logo-container {
  width: 100%;
  max-width: 300px;
  margin: 0 auto;
}
.block.footer .top .logo-container a {
  display: block;
  width: 100%;
  height: auto;
  object-fit: contain;
}
.block.footer .top .right {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  justify-content: flex-start;
}
.block.footer .top .right .column {
  min-width: 250px;
  margin: 0 auto;
}
.block.footer .top .socials {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.block.footer .top .socials a {
  display: flex;
  align-items: center;
  gap: 10px;
}
.block.footer .top .socials .circle {
  display: inline-block;
  width: 17px;
  height: 17px;
  border-radius: 50%;
  background-color: var(--footer-color);
}
.block.footer .bottom {
  text-align: center;
  border-top: 2px solid var(--text-color);
  max-width: 1500px;
  margin: 0 auto;
}
.block.footer .bottom a {
  color: var(--footer-color);
}
.block.footer .bottom a:hover,
.block.footer .bottom a:focus-visible {
  text-decoration: underline;
}
.block.footer .bottom .inner {
  display: flex;
  flex-direction: column;
  padding: 20px 0;
}
.block.footer .bottom .links,
.block.footer .bottom .copyright,
.block.footer .bottom .icons,
.block.footer .bottom .resite {
  margin-bottom: 5px;
}
.block.footer .bottom .links nav ul {
  display: flex;
  flex-direction: row;
  justify-content: center;
}
.block.footer .bottom .links nav ul li:not(:last-child) {
  margin-right: 5px;
}
.block.footer .bottom .links nav ul li:not(:last-child)::after {
  content: '|';
  margin: 0 5px;
}
.block.footer .bottom .right {
  display: flex;
  flex-direction: column;
}
.block.footer .bottom .right .icons img {
  height: 30px;
  width: auto;
  margin: auto;
  filter: contrast(0) brightness(0) invert(1);
}
@media screen and (min-width: 768px) {
  .block.footer .top .inner {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 20px;
    justify-content: space-between;
  }
  .block.footer .top .inner .left {
    width: 40%;
    margin: 0;
  }
  .block.footer .top .inner .right {
    width: 60%;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    flex-wrap: nowrap;
    gap: 20px;
    margin: 0;
  }
  .block.footer .top .inner .right .column {
    min-width: unset;
  }
  .block.footer .bottom .inner {
    text-align: left;
    flex-direction: row;
    justify-content: space-between;
  }
  .block.footer .bottom .links {
    width: 50%;
  }
  .block.footer .bottom .links nav ul {
    justify-content: flex-start;
    flex-wrap: wrap;
  }
  .block.footer .bottom .right {
    width: 50%;
    flex-direction: row;
    justify-content: flex-end;
    word-break: keep-all;
    flex-wrap: wrap;
    gap: 10px;
  }
  .block.footer .bottom .right .copyright {
    text-align: end;
  }
  .block.footer .bottom .right .icons img {
    margin: 0;
  }
}

/*# sourceMappingURL=style.css.map */
