@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Baskervville:ital,wght@0,400..700;1,400..700&family=Be+Vietnam+Pro: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=League+Spartan:wght@100..900&family=Open+Sans:ital,wght@0,300..800;1,300..800&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;
}
.not-mobile {
  display: none;
}
@media screen and (min-width: 768px) {
  .not-mobile {
    display: block;
  }
}
@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 {
  text-decoration: none;
  color: var(--text-link-color-hover);
}
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: 700;
  line-height: 1.2;
  font-family: var(--heading-font);
}
h1,
.h1 {
  font-size: calc(5*1rem);
  font-weight: 400;
}
@media screen and (min-width: 768px) {
  h1,
  .h1 {
    font-size: calc(8*1rem);
  }
}
@media screen and (min-width: 960px) {
  h1,
  .h1 {
    font-size: calc(9.6*1rem);
  }
}
h2,
.h2 {
  font-size: calc(3.6*1rem);
}
@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(6.4*1rem);
  }
}
.body-section h2,
.body-section .h2 {
  font-size: calc(3.6*1rem);
  text-shadow: 1px 1px 1px #00000045;
}
@media screen and (min-width: 768px) {
  .body-section h2,
  .body-section .h2 {
    font-size: calc(3.8*1rem);
  }
}
@media screen and (min-width: 960px) {
  .body-section h2,
  .body-section .h2 {
    font-size: calc(4*1rem);
  }
}
h3,
.h3 {
  font-size: calc(3.2*1rem);
}
@media screen and (min-width: 768px) {
  h3,
  .h3 {
    font-size: calc(3.4*1rem);
  }
}
@media screen and (min-width: 960px) {
  h3,
  .h3 {
    font-size: calc(3.6*1rem);
  }
}
h4,
.h4 {
  font-size: calc(2.4*1rem);
}
@media screen and (min-width: 768px) {
  h4,
  .h4 {
    font-size: calc(2.4*1rem);
  }
}
@media screen and (min-width: 960px) {
  h4,
  .h4 {
    font-size: calc(2.4*1rem);
  }
}
button,
.button,
a.button {
  position: relative;
  display: inline-block;
  line-height: 24px;
  padding: 12px;
  background: var(--button-bg-color);
  border: 2px solid var(--button-border-color);
  color: var(--button-text-color);
  font-size: 1.8rem;
  font-family: var(--heading-font);
  font-weight: 700;
  border-radius: 10px;
  transition: ease all 0.3s;
  text-align: center;
  margin: auto;
  cursor: pointer;
  filter: drop-shadow(2px 2px 2px #00000045);
}
button.ghost,
.button.ghost,
a.button.ghost {
  background: none;
  color: var(--button-bg-color);
  border: 0;
  border-bottom: 3px solid var(--button-border-color);
}
button.inline,
.button.inline,
a.button.inline {
  display: inline-block;
}
button.cta-divider,
.button.cta-divider,
a.button.cta-divider {
  padding: 6px 12px;
}
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);
  text-decoration: none;
}
button.invert,
.button.invert,
a.button.invert {
  background: var(--button-bg-color-hover);
  color: var(--button-text-color-hover);
}
button.invert:hover,
.button.invert:hover,
a.button.invert:hover,
button.invert:focus-visible,
.button.invert:focus-visible,
a.button.invert:focus-visible {
  background: var(--button-bg-color);
  color: var(--button-text-color);
}
.outline {
  background: none;
  border: 2px solid blue;
  color: #000;
}
p {
  margin: 0;
}
ul,
ol {
  margin: 0;
  padding: 0 0 0 20px;
}
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: 1.5em;
}
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;
}
form {
  margin: auto;
  max-width: 780px;
}
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: 5px;
  background-color: #FDFCFA;
  border: 1px solid #dddddd;
  font-family: var(--text-font);
}
form textarea {
  min-height: 120px;
  width: 100%;
  padding: 15px 20px;
  border: 0;
  text-indent: 0px;
  border-radius: 5px;
  background-color: #FDFCFA;
  border: 1px solid #dddddd;
  font-family: var(--text-font);
  box-sizing: border-box;
  resize: vertical;
  max-height: 300px;
}
form input[type="submit"],
form input[type="button"],
form input[type="reset"],
form button {
  position: relative;
  display: inline-block;
  line-height: 24px;
  padding: 12px;
  background: var(--button-bg-color);
  border: 2px solid var(--button-border-color);
  color: var(--button-text-color);
  font-size: 1.8rem;
  font-family: var(--heading-font);
  font-weight: 700;
  border-radius: 10px;
  transition: ease all 0.3s;
  text-align: center;
  margin: auto;
  cursor: pointer;
  filter: drop-shadow(2px 2px 2px #00000045);
  border: 0;
}
form input[type="submit"].ghost,
form input[type="button"].ghost,
form input[type="reset"].ghost,
form button.ghost {
  background: none;
  color: var(--button-bg-color);
  border: 0;
  border-bottom: 3px solid var(--button-border-color);
}
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"].cta-divider,
form input[type="button"].cta-divider,
form input[type="reset"].cta-divider,
form button.cta-divider {
  padding: 6px 12px;
}
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);
  text-decoration: none;
}
form input[type="submit"].invert,
form input[type="button"].invert,
form input[type="reset"].invert,
form button.invert {
  background: var(--button-bg-color-hover);
  color: var(--button-text-color-hover);
}
form input[type="submit"].invert:hover,
form input[type="button"].invert:hover,
form input[type="reset"].invert:hover,
form button.invert:hover,
form input[type="submit"].invert:focus-visible,
form input[type="button"].invert:focus-visible,
form input[type="reset"].invert:focus-visible,
form button.invert:focus-visible {
  background: var(--button-bg-color);
  color: var(--button-text-color);
}
form input[type="password"] {
  letter-spacing: 0.3em;
}
form label {
  font-weight: bold;
}
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: 0.8em;
  font-weight: 400;
  vertical-align: super;
  margin-left: 2px;
}
@media screen and (min-width: 768px) {
  .fields,
  reform {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    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;
  overflow-x: hidden;
}
html *,
html *:before,
html *:after {
  box-sizing: border-box;
}
body {
  font-size: 1.6rem;
  line-height: 1.75;
  color: var(--text-color);
  font-family: var(--text-font);
  background: linear-gradient(to top, var(--page-bg-color), #F8F3EB);
  overflow-x: hidden;
}
body#rs-builder {
  background: unset;
  background-color: #F8F3EB;
}
img {
  display: block;
}
#wrap {
  position: relative;
}
#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;
}
.grecaptcha-badge {
  z-index: 5;
}
.rcc-app-cta-wrap {
  z-index: 9;
}
.rs-rs-inner-markup {
  background-color: #F8F3EB !important;
}
#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;
}
.rs-rs-inner {
  background-color: #F8F3EB !important;
}
.rs-rs-bar {
  z-index: 2;
}
.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 .slbImage {
  padding: 4em 0 5em !important;
  cursor: default;
}
.slbContentOuter button {
  box-shadow: none !important;
  font-weight: 300 !important;
  font-family: var(--heading-color) !important;
  cursor: pointer;
}
.slbContentOuter .slbCloseBtn {
  right: 15px !important;
  top: -5px !important;
  height: unset !important;
  width: unset !important;
  cursor: pointer;
}
.slbContentOuter .slbCaption {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  -webkit-line-clamp: 2;
  /* Limits to 2 lines */
  padding: 0.21429em 6ch 0.21429em 0.21429em !important;
  margin-bottom: 20px;
  font-size: 14px;
  height: 50px;
  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.standard-neighborhood ul {
  padding: 0;
}
.block.standard-neighborhood #standard-neighborhood-map-nav ul a svg path {
  transition: fill 0.3s ease;
}
.block.standard-neighborhood #standard-neighborhood-map-nav ul a:hover,
.block.standard-neighborhood #standard-neighborhood-map-nav ul a:focus-visible {
  background: color-mix(in srgb, #fff 20%, var(--button-bg-color-hover)) !important;
  color: var(--button-text-color-hover) !important;
}
.block.standard-neighborhood #standard-neighborhood-map-nav ul a:hover svg path,
.block.standard-neighborhood #standard-neighborhood-map-nav ul a:focus-visible svg path {
  fill: var(--button-text-color-hover) !important;
}
.block.standard-neighborhood #standard-neighborhood-map-nav ul a.active {
  background: var(--button-bg-color-hover) !important;
  color: var(--button-text-color-hover) !important;
}
.block.standard-neighborhood #standard-neighborhood-map-nav ul a.active svg path {
  fill: var(--button-text-color-hover) !important;
}
.block.standard-neighborhood #current-category {
  border-radius: 0;
  background: var(--button-bg-color) !important;
  color: var(--button-text-color) !important;
}
.block.iframe-embed {
  padding: 20px;
}
#navwrap {
  position: absolute;
  z-index: 2;
  top: 0;
  left: 0;
  right: 0;
  padding: 0 20px;
}
#navwrap .inner {
  display: flex;
  flex-wrap: nowrap;
  gap: 20px;
  justify-content: space-between;
  padding: 45px 0 20px;
  align-items: center;
}
#navwrap .logo-container a {
  display: block;
  width: fit-content;
  margin: 0 auto;
}
#navwrap .logo-container img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  max-width: 400px;
  max-height: 100px;
}
#navwrap .nav-container #grip {
  margin: 0;
  width: 50px;
  padding: 5px;
  border: none;
  background-color: transparent;
  border-radius: 5px;
}
#navwrap .nav-container #grip span {
  width: 100%;
  height: 4px;
  display: block;
  background-color: var(--button-bg-color);
  border-radius: 5px;
  box-shadow: 2px 2px 2px #ffffff8e;
  transition: ease all 0.3s;
}
#navwrap .nav-container #grip span:nth-of-type(2) {
  margin: 5px 0;
}
#navwrap .nav-container #grip:hover span,
#navwrap .nav-container #grip:focus-visible span {
  background-color: var(--text-color);
}
#navwrap .nav-container a:not(.button) {
  font-size: 1.8rem;
  font-weight: 400;
  font-family: var(--heading-font);
  padding: 6px 8px;
  border-radius: 10px;
  color: var(--text-color);
}
#navwrap .nav-container a:not(.button):hover,
#navwrap .nav-container a:not(.button):focus-visible {
  color: var(--text-link-color-hover);
}
#navwrap .nav-container a:not(.button).active {
  border: 1px solid var(--button-border-color);
  pointer-events: none;
}
#navwrap .nav-container a.button {
  filter: none;
}
#navwrap .nav-container a.button.active {
  background-color: transparent;
  border: 1px solid var(--button-border-color);
  color: var(--text-color);
}
#navwrap .nav-container ul {
  display: none;
}
@media screen and (min-width: 960px) {
  #navwrap .inner {
    flex-wrap: nowrap;
    align-items: flex-start;
  }
  #navwrap .logo-container {
    width: fit-content;
  }
  #navwrap .nav-container {
    width: fit-content;
    min-width: fit-content;
    background-color: #F8F4EB;
    border-radius: 20px;
    padding: 15px;
    filter: drop-shadow(1px 1px 1px #00000025);
  }
  #navwrap .nav-container ul {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 15px;
  }
}
.generic-supernav-overlay {
  position: fixed;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 5;
  background: linear-gradient(to top, var(--page-bg-color), #F8F3EB);
}
.generic-supernav-overlay .inner {
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 20px;
  overflow-y: auto;
}
.generic-supernav-overlay #close-supernav {
  padding: 0;
  background-color: transparent;
  border: none;
  border-radius: 5px;
  height: 45px;
  width: 45px;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0 0 0 auto;
}
.generic-supernav-overlay #close-supernav svg {
  fill: var(--button-bg-color);
  height: 40px;
  width: auto;
  transition: ease all 0.3s;
}
.generic-supernav-overlay #close-supernav:hover svg,
.generic-supernav-overlay #close-supernav:focus-visible svg {
  fill: var(--text-color);
}
.generic-supernav-overlay nav a.button {
  background-color: transparent;
  border: none;
  color: var(--text-color);
  font-weight: 400;
  padding: 6px 8px;
  border-radius: 10px;
  line-height: 1.75;
}
.generic-supernav-overlay nav a.button:hover,
.generic-supernav-overlay nav a.button:focus-visible {
  color: var(--text-link-color-hover);
}
.generic-supernav-overlay nav a.button.active {
  background-color: transparent;
  border: 1px solid var(--button-border-color);
  color: var(--text-color);
}
.generic-supernav-overlay nav li {
  display: flex;
  justify-content: center;
  margin: 5px 0;
}
.generic-supernav-overlay nav a {
  font-size: 2rem;
  font-family: var(--heading-font);
  padding: 6px 8px;
  border-radius: 10px;
}
.generic-supernav-overlay nav a.active {
  border: 1px solid var(--button-border-color);
  pointer-events: none;
}
.generic-supernav-overlay .divider {
  display: flex;
  justify-content: center;
  position: relative;
  padding: 20px 0;
}
.generic-supernav-overlay .divider::before {
  content: "";
  width: 100vw;
  height: 2px;
  background-color: var(--button-border-color);
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.generic-supernav-overlay address {
  text-align: center;
  margin-bottom: 20px;
}
.generic-supernav-overlay .logo-container {
  margin: 0 auto;
  width: 100%;
  max-width: 400px;
  max-height: 100px;
}
@media screen and (min-width: 960px) {
  .generic-supernav-overlay {
    display: none !important;
  }
}
.block.hero {
  height: 100vh;
  height: 100svh;
  min-height: fit-content;
  max-height: 1200px;
  padding: 10px 20px;
  display: flex;
  align-items: flex-end;
  position: relative;
}
@media screen and (min-width: 960px) {
  .block.hero {
    height: 100vh;
  }
}
.block.hero header {
  display: flex;
  flex-direction: column-reverse;
}
.block.hero.subpage {
  height: fit-content;
  min-height: 400px;
  max-height: unset;
}
.block.hero.textpage h1 {
  text-rendering: optimizelegibility;
  margin: 0;
  font-weight: 700;
  line-height: 1.2;
  font-family: var(--heading-font);
  font-size: calc(3.6*1rem);
}
@media screen and (min-width: 768px) {
  .block.hero.textpage h1 {
    font-size: calc(3.9*1rem);
  }
}
@media screen and (min-width: 960px) {
  .block.hero.textpage h1 {
    font-size: calc(6.4*1rem);
  }
}
.block.hero video {
  display: none;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.block.hero .overlay {
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: repeating-linear-gradient(-45deg, rgba(255, 255, 255, 0.3) 0px, rgba(255, 255, 255, 0.3) 2px, transparent 1px, transparent 250px);
  z-index: 1;
}
.block.hero .overlay::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.15);
  z-index: -1;
}
.block.hero header .title {
  width: fit-content;
  margin-bottom: 100px;
}
.block.hero header .title h2 {
  text-rendering: optimizelegibility;
  margin: 0;
  font-weight: 700;
  line-height: 1.2;
  font-family: var(--heading-font);
  font-size: calc(5*1rem);
  font-weight: 400;
  position: relative;
  text-transform: uppercase;
}
@media screen and (min-width: 768px) {
  .block.hero header .title h2 {
    font-size: calc(8*1rem);
  }
}
@media screen and (min-width: 960px) {
  .block.hero header .title h2 {
    font-size: calc(9.6*1rem);
  }
}
.block.hero header .title h2::after {
  content: "";
  display: block;
  height: 2px;
  background-color: rgba(255, 255, 255, 0.3);
  width: 100vw;
  position: absolute;
  right: 0;
  bottom: 0;
}
.block.hero header .subtitle {
  text-align: center;
  font-size: calc(1.6*1rem);
}
@media screen and (min-width: 768px) {
  .block.hero header .subtitle {
    font-size: calc(2*1rem);
  }
}
@media screen and (min-width: 960px) {
  .block.hero header .subtitle {
    font-size: calc(2.4*1rem);
  }
}
.block.hero header .page-title {
  text-align: end;
}
.block.hero header .page-title h1 {
  text-rendering: optimizelegibility;
  margin: 0;
  font-weight: 700;
  line-height: 1.2;
  font-family: var(--heading-font);
  font-size: calc(3.6*1rem);
  font-weight: 400;
}
@media screen and (min-width: 768px) {
  .block.hero header .page-title h1 {
    font-size: calc(3.9*1rem);
  }
}
@media screen and (min-width: 960px) {
  .block.hero header .page-title h1 {
    font-size: calc(6.4*1rem);
  }
}
.block.hero.subpage header .title {
  margin-bottom: 40px;
}
.block.hero .inner {
  padding: 150px 0 0;
  z-index: 2;
  margin: 0 auto;
}
.block.hero .inner * {
  color: var(--text-color-alt);
  text-shadow: 2px 2px 2px #0000009c;
}
.block.hero .inner h1,
.block.hero .inner h2,
.block.hero .inner h3,
.block.hero .inner h4,
.block.hero .inner h5,
.block.hero .inner h6 {
  color: var(--heading-color-alt);
  font-weight: 400;
  text-shadow: 2px 2px 2px #0000009c;
  text-transform: uppercase;
}
.block.hero.subpage .inner {
  padding: 160px 0 0;
}
@media screen and (min-width: 768px) {
  .block.hero .overlay {
    background: repeating-linear-gradient(-45deg, rgba(255, 255, 255, 0.3) 0px, rgba(255, 255, 255, 0.3) 2px, transparent 1px, transparent 500px);
  }
  .block.hero video {
    display: block;
    pointer-events: none;
  }
  .block.hero.subpage {
    min-height: 400px;
  }
  .block.hero.subpage .inner {
    padding: 180px 0 0;
  }
}
.block.intro {
  padding: 50px 20px;
  overflow: hidden;
}
.block.intro .content-wrapper header {
  margin-bottom: 60px;
  text-align: center;
}
.block.intro .content-wrapper header .text,
.block.intro .content-wrapper header .name {
  display: inline-block;
  color: var(--heading-color);
}
.block.intro .content-wrapper header .text {
  font-family: var(--text-font);
}
.block.intro .content-wrapper header .name {
  font-family: var(--heading-font);
  font-weight: 400;
  color: var(--heading-link-color);
}
.block.intro .divider-wrapper {
  margin-top: 40px;
  display: flex;
  position: relative;
}
.block.intro .divider-wrapper a {
  margin: 0 auto;
}
.block.intro .divider-wrapper::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100vw;
  height: 2px;
  background-color: var(--heading-color);
  transform: translateX(-50%);
}
.block.intro .image-wrapper {
  position: relative;
  width: 100%;
  filter: drop-shadow(2px 2px 2px #00000045);
  margin-top: 40px;
}
.block.intro .image-wrapper img {
  border-radius: 10px;
  width: 100%;
  height: 350px;
  object-fit: cover;
  position: relative;
}
@media screen and (min-width: 768px) {
  .block.intro {
    padding: 100px 20px;
  }
  .block.intro .inner {
    display: flex;
    flex-direction: row-reverse;
    gap: 50px;
  }
  .block.intro .content-container {
    flex: 1.2;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
  }
  .block.intro .content-wrapper header {
    text-align: left;
  }
  .block.intro .divider-wrapper {
    margin-top: 60px;
    margin-bottom: 60px;
  }
  .block.intro .divider-wrapper a {
    margin: 0 0 0 auto;
  }
  .block.intro .divider-wrapper::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    width: 100vw;
    min-width: calc(100% + 20px);
    height: 225px;
    background-color: transparent;
    border-top: 2px solid var(--heading-color);
    border-left: 2px solid var(--heading-color);
    border-top-left-radius: 20px;
    transform: unset;
  }
  .block.intro .image-wrapper {
    flex: 0.8;
    margin-top: 0;
  }
  .block.intro .image-wrapper img {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
  }
}
@media screen and (min-width: 960px) {
  .block.intro .inner {
    gap: 100px;
  }
}
.block.cta-outro {
  padding: 60px 20px;
  display: flex;
  position: relative;
}
.block.cta-outro::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  width: 100%;
  height: 2px;
  background-color: var(--heading-color);
}
.block.floorplans-list,
.block.sitemap {
  padding: 60px 20px;
  min-height: 400px;
  /* Focus and hover styling */
}
.block.floorplans-list .views-buttons,
.block.sitemap .views-buttons {
  display: none;
  flex-wrap: nowrap;
  justify-content: start;
  gap: 2px;
  margin-bottom: 10px;
}
.block.floorplans-list .views-buttons button,
.block.sitemap .views-buttons button {
  margin: 0;
  border: none;
  background-color: var(--button-bg-color-hover);
  color: var(--button-text-color-hover);
  border-radius: 5px;
}
.block.floorplans-list .views-buttons button:hover,
.block.sitemap .views-buttons button:hover,
.block.floorplans-list .views-buttons button:focus-visible,
.block.sitemap .views-buttons button:focus-visible {
  opacity: 0.8;
}
.block.floorplans-list .views-buttons button.active,
.block.sitemap .views-buttons button.active {
  background-color: var(--button-bg-color);
  color: var(--button-text-color);
  cursor: default;
  pointer-events: none;
  opacity: 0.8;
}
.block.floorplans-list .site-map-wrapper img,
.block.sitemap .site-map-wrapper img {
  width: 100%;
}
.block.floorplans-list .site-map-wrapper iframe,
.block.sitemap .site-map-wrapper iframe {
  width: 100% !important;
  height: 100% !important;
  min-height: 600px;
  border: 1px solid var(--primary-bg-color);
}
.block.floorplans-list .view-sitemap,
.block.sitemap .view-sitemap {
  display: none;
}
.block.floorplans-list .floorplans-wrapper,
.block.sitemap .floorplans-wrapper {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  justify-content: center;
}
.block.floorplans-list .floorplans-wrapper .floorplan-card,
.block.sitemap .floorplans-wrapper .floorplan-card {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  filter: drop-shadow(2px 2px 2px #00000025);
  background-color: #FDFCFA;
  padding: 20px;
  border-radius: 10px;
}
.block.floorplans-list .floorplans-wrapper .floorplan-card header,
.block.sitemap .floorplans-wrapper .floorplan-card header {
  margin-bottom: 20px;
}
.block.floorplans-list .floorplans-wrapper .floorplan-card header h3,
.block.sitemap .floorplans-wrapper .floorplan-card header h3 {
  font-size: 2rem;
  color: var(--heading-link-color);
}
.block.floorplans-list .floorplans-wrapper .floorplan-card.hidden,
.block.sitemap .floorplans-wrapper .floorplan-card.hidden {
  display: none;
}
.block.floorplans-list .floorplans-wrapper .floorplan-card footer,
.block.sitemap .floorplans-wrapper .floorplan-card footer {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 10px;
}
.block.floorplans-list .floorplans-wrapper .floorplan-card footer *,
.block.sitemap .floorplans-wrapper .floorplan-card footer * {
  color: var(--text-color);
}
.block.floorplans-list .flooplan-details,
.block.sitemap .flooplan-details,
.block.floorplans-list .floorplan-price,
.block.sitemap .floorplan-price {
  color: var(--text-color);
}
.block.floorplans-list .floorplan-image,
.block.sitemap .floorplan-image {
  width: 100%;
  margin: auto;
}
.block.floorplans-list .floorplan-image img,
.block.sitemap .floorplan-image img {
  aspect-ratio: 3 / 2;
  max-height: 300px;
  object-fit: contain;
}
.block.floorplans-list .units-available,
.block.sitemap .units-available {
  text-align: end;
}
.block.floorplans-list .units-available *,
.block.sitemap .units-available * {
  font-size: 1.4rem;
}
.block.floorplans-list .sitemap,
.block.sitemap .sitemap {
  display: none;
}
.block.floorplans-list .units-available[data-available="0"],
.block.sitemap .units-available[data-available="0"],
.block.floorplans-list .units-available[data-available=""],
.block.sitemap .units-available[data-available=""] {
  display: none;
}
.block.floorplans-list #empty-fp-list,
.block.sitemap #empty-fp-list {
  display: none;
}
.block.floorplans-list #empty-fp-list.show,
.block.sitemap #empty-fp-list.show {
  display: block;
}
.block.floorplans-list .fp-filters,
.block.sitemap .fp-filters {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 10px;
  position: absolute;
  min-width: 275px;
  top: 90px;
  left: 0;
  padding: 20px;
  border: 1px solid var(--text-color);
  background-color: #FDFCFA;
  transform: translateX(calc(-100% - 20px));
  transition: transform 0.5s ease-in-out;
  z-index: 1;
}
.block.floorplans-list .fp-filters.active,
.block.sitemap .fp-filters.active {
  transform: translateX(-20px);
}
.block.floorplans-list #fp-filter-button,
.block.sitemap #fp-filter-button {
  position: absolute;
  right: 0;
  top: 0;
  transform: translateX(100%);
  background-color: var(--button-bg-color);
  border: none;
  border-bottom-left-radius: 0;
  border-top-left-radius: 0;
}
.block.floorplans-list #fp-filter-button svg,
.block.sitemap #fp-filter-button svg {
  height: 20px;
  width: 20px;
  fill: currentColor;
}
.block.floorplans-list #fp-filter-button:hover,
.block.sitemap #fp-filter-button:hover,
.block.floorplans-list #fp-filter-button:focus-visible,
.block.sitemap #fp-filter-button:focus-visible {
  background-color: var(--button-bg-color);
  color: var(--button-text-color);
}
.block.floorplans-list .results-count,
.block.sitemap .results-count {
  margin-bottom: 25px;
  margin-left: 12px;
  font-size: 1.4rem;
}
.block.floorplans-list .results-count *,
.block.sitemap .results-count * {
  font-size: 1.4rem;
}
.block.floorplans-list .filter-group,
.block.sitemap .filter-group {
  position: relative;
  height: fit-content;
}
.block.floorplans-list .filter-group button,
.block.sitemap .filter-group button {
  margin: 0;
  width: fit-content;
  background-color: transparent;
  color: var(--text-color);
  border: none;
  filter: none;
}
.block.floorplans-list .filter-group button svg,
.block.sitemap .filter-group button svg {
  height: 10px;
  width: 10px;
  display: inline-block;
  fill: currentColor;
  transition: transform 0.3s ease-in-out;
}
.block.floorplans-list .filter-group button:hover,
.block.sitemap .filter-group button:hover,
.block.floorplans-list .filter-group button:focus-visible,
.block.sitemap .filter-group button:focus-visible {
  background-color: transparent;
  color: var(--text-color);
}
.block.floorplans-list .filter-group.active button,
.block.sitemap .filter-group.active button {
  background-color: var(--button-bg-color-hover);
  color: var(--button-text-color-hover);
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
  filter: none;
}
.block.floorplans-list .filter-group.active button svg,
.block.sitemap .filter-group.active button svg {
  transform: rotate(180deg);
}
.block.floorplans-list .filter-options,
.block.sitemap .filter-options {
  position: relative;
  width: 100%;
  flex-direction: column;
  display: none;
  background-color: #FDFCFA;
  padding: 20px;
  min-width: fit-content;
  border: 1px solid var(--text-color);
  border-radius: 2px;
  z-index: 2;
}
.block.floorplans-list .filter-options label,
.block.sitemap .filter-options label {
  display: block;
  position: relative !important;
  transform: unset !important;
  top: unset !important;
  pointer-events: all !important;
}
.block.floorplans-list .slider-multithumb,
.block.sitemap .slider-multithumb {
  padding: 6px;
  width: 350px;
  touch-action: pan-y;
}
.block.floorplans-list .slider-multithumb svg,
.block.sitemap .slider-multithumb svg {
  forced-color-adjust: auto;
}
.block.floorplans-list .slider-multithumb .slider-group,
.block.sitemap .slider-multithumb .slider-group {
  color: black;
}
.block.floorplans-list .slider-multithumb .slider-group .value,
.block.sitemap .slider-multithumb .slider-group .value {
  font-size: 80%;
  color: currentcolor;
  fill: currentcolor;
}
.block.floorplans-list .slider-multithumb .slider-group .rail,
.block.sitemap .slider-multithumb .slider-group .rail {
  stroke: currentcolor;
  stroke-width: 2px;
  fill-opacity: 0;
}
.block.floorplans-list .slider-multithumb .slider-group .range,
.block.sitemap .slider-multithumb .slider-group .range {
  fill: currentcolor;
  opacity: 0.4;
  pointer-events: none;
}
.block.floorplans-list .slider-multithumb .slider-group .thumb,
.block.sitemap .slider-multithumb .slider-group .thumb {
  stroke-opacity: 0;
  stroke-width: 2px;
  fill: currentcolor;
}
.block.floorplans-list .slider-multithumb .slider-group .focus-ring,
.block.sitemap .slider-multithumb .slider-group .focus-ring {
  stroke-opacity: 0;
  fill-opacity: 0;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.block.floorplans-list .slider-track,
.block.sitemap .slider-track {
  position: relative;
  width: 200px;
  height: 8px;
  background-color: #ddd;
  border-radius: 4px;
  margin-top: 3.2rem;
}
.block.floorplans-list .slider-range,
.block.sitemap .slider-range {
  position: absolute;
  height: 100%;
  background-color: var(--button-bg-color);
  border-radius: 4px;
  z-index: 1;
}
.block.floorplans-list .slider-thumb,
.block.sitemap .slider-thumb {
  position: absolute;
  width: 20px;
  height: 20px;
  background-color: #FDFCFA;
  border: 2px solid var(--button-bg-color-hover);
  border-radius: 50%;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
  cursor: pointer;
  z-index: 2;
  top: 50%;
}
.block.floorplans-list .slider-thumb:hover,
.block.sitemap .slider-thumb:hover,
.block.floorplans-list .slider-thumb:focus-visible,
.block.sitemap .slider-thumb:focus-visible,
.block.floorplans-list .slider-thumb:focus,
.block.sitemap .slider-thumb:focus {
  background-color: var(--button-bg-color);
}
.block.floorplans-list .min-thumb,
.block.sitemap .min-thumb {
  left: 0;
  transform: translate(0%, -50%);
}
.block.floorplans-list .max-thumb,
.block.sitemap .max-thumb {
  left: 100%;
  transform: translate(-100%, -50%);
}
.block.floorplans-list .thumb-value,
.block.sitemap .thumb-value {
  position: absolute;
  box-sizing: content-box;
  text-align: center;
  top: -30px;
  left: 50%;
  transform: translateX(-50%);
  font-size: 12px;
  color: #333;
  min-width: 2ch;
  max-width: 6ch;
  height: fit-content;
  text-indent: unset;
  background-color: #FDFCFA;
  padding: 2px 5px;
  border-radius: 4px;
  border: 0;
  box-shadow: 0 2px 3px rgba(0, 0, 0, 0.25);
  pointer-events: none;
}
.block.floorplans-list .thumb-value.thumb-price::before,
.block.sitemap .thumb-value.thumb-price::before {
  content: "$";
  position: relative;
}
@media screen and (min-width: 768px) {
  .block.floorplans-list .floorplans-wrapper .floorplan-card,
  .block.sitemap .floorplans-wrapper .floorplan-card {
    width: calc(50% - 10px);
  }
  .block.floorplans-list #fp-filter-button,
  .block.sitemap #fp-filter-button {
    display: none;
  }
  .block.floorplans-list .fp-filters,
  .block.sitemap .fp-filters {
    position: relative;
    justify-content: flex-end;
    flex-direction: row;
    transform: translateX(0);
    background-color: transparent;
    border: none;
    padding: 0;
    top: 0;
  }
  .block.floorplans-list .filter-options,
  .block.sitemap .filter-options {
    position: absolute;
    transform: translateY(100%);
    width: 200px;
    bottom: 1px;
    right: 0;
  }
}
@media screen and (min-width: 960px) {
  .block.floorplans-list .floorplans-wrapper .floorplan-card,
  .block.sitemap .floorplans-wrapper .floorplan-card {
    width: calc(33.333% - 13.333px);
  }
}
#rs-builder .block.floorplans-list.sitemap,
#rs-builder .block.sitemap.sitemap {
  display: block;
}
.block.sitemap header {
  margin-bottom: 20px;
}
.mainwrap:has(.block.floorplans-list) .block.sitemap {
  display: none;
}
.slbContentEl.image-zoom-active * {
  cursor: zoom-out !important;
}
.slbContentEl.image-zoom-active .button {
  pointer-events: none !important;
}
.slbContentEl .slbContentOuter {
  max-width: 100%;
}
.slbContentEl .slbContent {
  max-width: 1100px !important;
  cursor: default !important;
}
.slbContentEl .slbContent .overlay-content {
  padding: 20px;
}
.slbContentEl .slbContent header h2 {
  font-size: 2.4rem;
  color: var(--heading-link-color);
}
.slbContentEl .slbContent .details-grid * {
  font-size: 1.4rem;
}
.slbContentEl .slbContent .content-image {
  overflow: clip;
}
.slbContentEl .slbContent img {
  height: 100%;
  width: 100%;
  max-width: 700px;
  max-height: 500px;
  object-fit: contain;
  margin: 10px auto;
  transition: transform 0.2s;
  will-change: transform;
  cursor: zoom-in;
}
.slbContentEl .slbContent img.zoomed {
  cursor: zoom-out;
}
.slbContentEl .slbContent .cta {
  display: flex;
  justify-content: center;
  gap: 40px;
  margin-bottom: 30px;
}
.slbContentEl .slbContent .cta .button {
  margin: 0;
}
.slbContentEl .slbContent .disclaimer * {
  font-size: 1.2rem;
  font-style: italic;
  color: #00000089;
}
.block.rent-transparency {
  padding: 40px 20px;
}
.block.rent-transparency .title-container h2,
.block.rent-transparency .title-container h3,
.block.rent-transparency .title-container h4,
.block.rent-transparency .title-container h5 {
  font-family: var(--text-font);
}
.block.rent-transparency .statement {
  margin-bottom: 40px;
}
.block.rent-transparency .price-row {
  margin-bottom: 40px;
}
.block.rent-transparency .row-title {
  margin-bottom: 5px;
}
.block.rent-transparency .row-title h2,
.block.rent-transparency .row-title h3,
.block.rent-transparency .row-title h4,
.block.rent-transparency .row-title h5 {
  font-family: var(--text-font);
  font-weight: 700;
  font-size: 1.8rem;
}
.block.rent-transparency .row-list ul,
.block.rent-transparency .row-list ol {
  margin-left: 20px;
}
.block.rent-transparency .footer-content * {
  font-style: italic;
  font-size: 1.2rem;
}
.block.floorplan {
  padding: 20px 0 40px;
}
.block.floorplan .floorplan-wrapper {
  padding: 0 20px;
}
.block.floorplan .inner {
  display: flex;
  flex-direction: column-reverse;
  background-color: #FDFCFA;
  border-radius: 20px;
  overflow: hidden;
}
.block.floorplan .primary {
  padding: 30px 40px;
}
.block.floorplan h2,
.block.floorplan h3,
.block.floorplan h4,
.block.floorplan h5,
.block.floorplan h6 {
  font-family: var(--text-font);
  font-weight: 400;
}
.block.floorplan .price * {
  color: var(--heading-link-color);
  font-size: 2rem;
}
.block.floorplan dl {
  display: flex;
  justify-content: space-evenly;
  width: 100%;
  border-bottom: 1px solid var(--button-bg-color-hover);
  padding-bottom: 10px;
  margin-bottom: 20px;
  flex-wrap: wrap;
  gap: 10px;
}
.block.floorplan .description h3 {
  margin-bottom: 15px;
}
.block.floorplan .beds,
.block.floorplan .baths,
.block.floorplan .sqft {
  display: flex;
  flex-direction: column-reverse;
}
.block.floorplan .beds dt,
.block.floorplan .baths dt,
.block.floorplan .sqft dt,
.block.floorplan .beds dd,
.block.floorplan .baths dd,
.block.floorplan .sqft dd {
  margin: 0;
  text-align: center;
}
.block.floorplan .cta {
  margin-top: 40px;
}
.block.floorplan .cta .button {
  width: 100%;
}
.block.floorplan .secondary {
  padding: 30px 40px;
}
.block.floorplan .secondary img {
  height: 100%;
  width: 100%;
  object-fit: contain;
}
.block.floorplan .available-units-wrapper {
  background-color: #FDFCFA;
  margin: 40px 0 0;
  filter: drop-shadow(1px 1px 1px rgba(0, 0, 0, 0.25));
}
.block.floorplan[data-type="manual"] .available-units-wrapper {
  display: none;
}
.block.floorplan .available-units {
  margin: 0 auto 25px;
  max-width: 1000px;
  padding: 0 20px 10px;
}
.block.floorplan .available-units table {
  border-collapse: collapse;
  margin: 0;
  padding: 0;
  width: 100%;
  table-layout: fixed;
  position: relative;
}
.block.floorplan .available-units table caption {
  font-weight: 700;
  font-size: 2.2rem;
  font-family: var(--text-font);
  padding: 30px 0 20px;
}
.block.floorplan .available-units table thead {
  border: none;
  clip: rect(0 0 0 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
}
.block.floorplan .available-units table tbody tr {
  display: block;
  position: relative;
}
.block.floorplan .available-units table td {
  display: block;
  text-align: end;
  z-index: 1;
  position: relative;
}
.block.floorplan .available-units table td:first-child {
  padding-top: 10px;
}
.block.floorplan .available-units table td:last-child {
  padding: 15px 0;
}
.block.floorplan .available-units table td:not(:last-child) {
  border-bottom: 1px solid #ccc;
}
.block.floorplan .available-units table td:not([data-label="Apply"])::before {
  content: attr(data-label);
  float: left;
  font-weight: bold;
}
.block.floorplan .available-units table td[data-label="Apply"] {
  display: flex;
  justify-content: center;
}
.block.floorplan .available-units table td a[href="undefined"],
.block.floorplan .available-units table td a[href=""],
.block.floorplan .available-units table td a[href="#"],
.block.floorplan .available-units table td a[href="null"],
.block.floorplan .available-units table td a[href$="undefined"] {
  display: none;
}
.block.floorplan .available-units .disclaimer * {
  text-align: start;
  font-size: 1.2rem;
  font-style: italic;
  color: #00000089;
}
@media screen and (min-width: 768px) {
  .block.floorplan .inner {
    flex-direction: row;
  }
  .block.floorplan .primary,
  .block.floorplan .secondary {
    width: 50%;
  }
  .block.floorplan .available-units table tbody tr {
    padding: 0 50px;
  }
}
@media screen and (min-width: 960px) {
  .block.floorplan .available-units table {
    table-layout: unset;
  }
  .block.floorplan .available-units table tbody tr {
    display: table-row;
  }
  .block.floorplan .available-units table caption {
    text-align: start;
  }
  .block.floorplan .available-units table thead {
    border: none;
    clip: unset;
    height: unset;
    margin: unset;
    position: relative;
    width: 100%;
  }
  .block.floorplan .available-units table thead th {
    position: relative;
    text-align: start;
    width: 20%;
    padding: 5px;
  }
  .block.floorplan .available-units table thead th:nth-of-type(2),
  .block.floorplan .available-units table thead th:nth-of-type(3),
  .block.floorplan .available-units table thead th:nth-of-type(4) {
    text-align: center;
  }
  .block.floorplan .available-units table td {
    display: table-cell;
    text-align: start;
    border-bottom: none;
    padding: 10px 5px;
    border-bottom: none !important;
  }
  .block.floorplan .available-units table td:nth-of-type(2),
  .block.floorplan .available-units table td:nth-of-type(3),
  .block.floorplan .available-units table td:nth-of-type(4) {
    text-align: center;
  }
  .block.floorplan .available-units table td::before {
    display: none;
  }
}
.block.additional-floorplans {
  padding: 20px;
}
.block.additional-floorplans .swiper {
  padding: 5px 5px 50px;
}
.block.additional-floorplans .swiper-pagination {
  bottom: 10px;
}
.block.additional-floorplans .swiper-pagination .swiper-pagination-bullet-active {
  background-color: var(--button-bg-color);
}
.block.additional-floorplans .swiper-slide {
  background-color: #FDFCFA;
  border-radius: 20px;
  filter: drop-shadow(1px 1px 1px rgba(0, 0, 0, 0.25));
  padding: 20px;
  user-select: none;
}
.block.additional-floorplans .swiper-slide header * {
  font-size: 2.4rem;
  font-family: var(--text-font);
  font-weight: 400;
}
.block.additional-floorplans .swiper-slide .price * {
  color: var(--heading-link-color);
  font-size: 2rem;
}
.block.additional-floorplans .swiper-slide dl {
  margin: 10px 0 0;
}
.block.additional-floorplans .swiper-slide dd {
  margin: 0;
}
.block.additional-floorplans .swiper-slide .beds,
.block.additional-floorplans .swiper-slide .baths,
.block.additional-floorplans .swiper-slide .sqft {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 10px;
}
.block.additional-floorplans .swiper-slide:has(a:focus-visible) {
  outline: var(--button-bg-color) auto 3px;
}
.block.additional-floorplans .swiper-slide:has(a:focus-visible) a:focus-visible {
  outline: none;
}
.block.additional-floorplans .current-floorplan {
  border: 2px solid var(--heading-link-color);
}
.block.generic-title:has(+ .block.additional-floorplans),
.block.generic-title:has(+ markup .block.additional-floorplans) {
  padding-bottom: 0 !important;
}
#rs-builder .block.additional-floorplans .swiper-wrapper {
  display: flex;
  gap: 20px;
}
#rs-builder .block.additional-floorplans .swiper-wrapper .swiper-slide {
  width: calc(100% - 13.333px);
}
#rs-builder .block.additional-floorplans .swiper-wrapper .swiper-slide:nth-of-type(n + 4) {
  display: none;
}
#rs-builder .block.additional-floorplans .swiper-button-next,
#rs-builder .block.additional-floorplans .swiper-button-prev {
  display: none;
}
.block.amenities-fp {
  background-color: var(--secondary-bg-color);
  padding: 30px 20px 60px;
  margin: 20px 0;
}
.block.amenities-fp * {
  color: var(--text-color-alt);
}
.block.amenities-fp h2,
.block.amenities-fp h3,
.block.amenities-fp h4,
.block.amenities-fp h5,
.block.amenities-fp h6 {
  color: var(--heading-color-alt);
  margin-bottom: 20px;
  font-family: var(--text-font);
  font-weight: 400;
}
.block.amenities-fp .inner > header {
  margin-bottom: 40px;
  text-align: center;
}
.block.amenities-fp .amenities-list {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
}
.block.amenities-fp .amenity {
  padding: 30px 20px;
  background-color: var(--primary-bg-color);
  filter: drop-shadow(1px 1px 1px rgba(0, 0, 0, 0.25));
  border-radius: 10px;
  width: 100%;
}
.block.amenities-fp .amenity header * {
  font-size: 2rem;
  font-weight: 700;
  filter: drop-shadow(1px 1px 1px rgba(0, 0, 0, 0.25));
}
@media screen and (min-width: 768px) {
  .block.amenities-fp .amenities-list {
    gap: 40px;
  }
  .block.amenities-fp .amenity {
    width: calc(50% - 20px);
  }
}
@media screen and (min-width: 960px) {
  .block.amenities-fp .amenity {
    width: calc(33.3333% - 26.667px);
  }
}
.block.amenities {
  padding: 60px 20px 30px;
}
.block.amenities .inner {
  display: flex;
  flex-wrap: wrap;
  column-gap: 40px;
  row-gap: 25px;
}
.block.amenities .amenities-list {
  width: 100%;
}
.block.amenities .amenities-list {
  margin-bottom: 40px;
}
.block.amenities .amenities-list:last-of-type {
  margin-bottom: 0;
}
.block.amenities .amenities-list header {
  margin-bottom: 40px;
}
.block.amenities .amenities-list header * {
  text-rendering: optimizelegibility;
  margin: 0;
  font-weight: 700;
  line-height: 1.2;
  font-family: var(--heading-font);
  font-size: calc(3.2*1rem);
  text-align: center;
  font-family: var(--text-font);
}
@media screen and (min-width: 768px) {
  .block.amenities .amenities-list header * {
    font-size: calc(3.4*1rem);
  }
}
@media screen and (min-width: 960px) {
  .block.amenities .amenities-list header * {
    font-size: calc(3.6*1rem);
  }
}
.block.amenities .amenities-list .image-wrapper {
  width: 100%;
  aspect-ratio: 16/9;
  overflow: hidden;
  border-radius: 10px;
  margin-bottom: 40px;
  max-height: 450px;
  filter: drop-shadow(1px 1px 1px rgba(0, 0, 0, 0.25));
}
.block.amenities .amenities-list .image-wrapper img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.block.amenities .amenities-list ul {
  list-style: none;
}
.block.amenities .amenities-list ul li {
  position: relative;
}
.block.amenities .amenities-list ul li:not(:last-of-type) {
  padding-bottom: 10px;
  margin-bottom: 10px;
}
.block.amenities .amenities-list ul li:not(:last-of-type)::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 1px;
  background-color: var(--primary-bg-color);
  opacity: 0.3;
}
.block.amenities .amenities-list ul li::before {
  content: "";
  display: inline-block;
  width: 16px;
  height: 16px;
  margin-right: 10px;
  margin-left: -20px;
  background-color: var(--primary-bg-color);
  vertical-align: middle;
  -webkit-mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none"><path d="M11.9992 16.2873C9.6352 16.2873 7.71191 14.364 7.71191 12C7.71191 9.63597 9.63524 7.71265 11.9992 7.71265C14.3632 7.71265 16.2866 9.63593 16.2866 12C16.2866 14.364 14.3632 16.2873 11.9992 16.2873ZM11.9992 9.07371C10.3857 9.07371 9.07298 10.3864 9.07298 12C9.07298 13.6135 10.3857 14.9262 11.9992 14.9262C13.6128 14.9262 14.9255 13.6135 14.9255 12C14.9255 10.3864 13.6128 9.07371 11.9992 9.07371Z" fill="%23695E4C"/><path d="M11.9997 24C8.79436 24 5.7809 22.7518 3.5144 20.4853C3.24867 20.2196 3.24867 19.7887 3.5144 19.5228C3.78023 19.2571 4.21101 19.2571 4.47689 19.5228C6.48628 21.5323 9.15797 22.6389 11.9998 22.6389C14.8416 22.6389 17.5132 21.5323 19.5226 19.5228C21.532 17.5134 22.6387 14.8417 22.6387 12C22.6387 9.15816 21.532 6.48652 19.5226 4.47708C17.5132 2.46759 14.8416 1.36102 11.9998 1.36102C9.15797 1.36102 6.48628 2.46769 4.47684 4.47713C1.79297 7.161 0.739498 11.1076 1.72762 14.7769C1.82536 15.1398 1.6103 15.5132 1.24744 15.6109C0.884155 15.7088 0.511123 15.4937 0.413295 15.1307C-0.125767 13.1287 -0.137767 11.0087 0.378842 9.00023C0.911108 6.93061 1.99537 5.03377 3.5144 3.51469C5.7809 1.24823 8.79436 0 11.9997 0C15.2051 0 18.2185 1.24823 20.485 3.51469C22.7515 5.78119 23.9997 8.79464 23.9997 12C23.9997 15.2054 22.7515 18.2188 20.485 20.4853C18.2185 22.7518 15.205 24 11.9997 24Z" fill="%23695E4C"/><path d="M11.9994 21.1889C6.93259 21.1889 2.81055 17.0668 2.81055 12.0001C2.81055 6.93337 6.93259 2.81128 11.9994 2.81128C15.2774 2.81128 18.3308 4.57786 19.968 7.42167C20.1555 7.74736 20.0434 8.16347 19.7178 8.35101C19.3919 8.53851 18.976 8.42644 18.7885 8.10079C17.3935 5.67769 14.792 4.17234 11.9994 4.17234C7.68316 4.17234 4.17166 7.68389 4.17166 12.0001C4.17166 16.3163 7.6832 19.8278 11.9994 19.8278C16.3156 19.8278 19.8271 16.3163 19.8271 12.0001C19.8271 11.6242 20.1318 11.3196 20.5076 11.3196C20.8834 11.3196 21.1882 11.6242 21.1882 12.0001C21.1882 17.0669 17.0661 21.1889 11.9994 21.1889Z" fill="%23695E4C"/></svg>') no-repeat center;
  -webkit-mask-size: contain;
  mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none"><path d="M11.9992 16.2873C9.6352 16.2873 7.71191 14.364 7.71191 12C7.71191 9.63597 9.63524 7.71265 11.9992 7.71265C14.3632 7.71265 16.2866 9.63593 16.2866 12C16.2866 14.364 14.3632 16.2873 11.9992 16.2873ZM11.9992 9.07371C10.3857 9.07371 9.07298 10.3864 9.07298 12C9.07298 13.6135 10.3857 14.9262 11.9992 14.9262C13.6128 14.9262 14.9255 13.6135 14.9255 12C14.9255 10.3864 13.6128 9.07371 11.9992 9.07371Z" fill="%23695E4C"/><path d="M11.9997 24C8.79436 24 5.7809 22.7518 3.5144 20.4853C3.24867 20.2196 3.24867 19.7887 3.5144 19.5228C3.78023 19.2571 4.21101 19.2571 4.47689 19.5228C6.48628 21.5323 9.15797 22.6389 11.9998 22.6389C14.8416 22.6389 17.5132 21.5323 19.5226 19.5228C21.532 17.5134 22.6387 14.8417 22.6387 12C22.6387 9.15816 21.532 6.48652 19.5226 4.47708C17.5132 2.46759 14.8416 1.36102 11.9998 1.36102C9.15797 1.36102 6.48628 2.46769 4.47684 4.47713C1.79297 7.161 0.739498 11.1076 1.72762 14.7769C1.82536 15.1398 1.6103 15.5132 1.24744 15.6109C0.884155 15.7088 0.511123 15.4937 0.413295 15.1307C-0.125767 13.1287 -0.137767 11.0087 0.378842 9.00023C0.911108 6.93061 1.99537 5.03377 3.5144 3.51469C5.7809 1.24823 8.79436 0 11.9997 0C15.2051 0 18.2185 1.24823 20.485 3.51469C22.7515 5.78119 23.9997 8.79464 23.9997 12C23.9997 15.2054 22.7515 18.2188 20.485 20.4853C18.2185 22.7518 15.205 24 11.9997 24Z" fill="%23695E4C"/><path d="M11.9994 21.1889C6.93259 21.1889 2.81055 17.0668 2.81055 12.0001C2.81055 6.93337 6.93259 2.81128 11.9994 2.81128C15.2774 2.81128 18.3308 4.57786 19.968 7.42167C20.1555 7.74736 20.0434 8.16347 19.7178 8.35101C19.3919 8.53851 18.976 8.42644 18.7885 8.10079C17.3935 5.67769 14.792 4.17234 11.9994 4.17234C7.68316 4.17234 4.17166 7.68389 4.17166 12.0001C4.17166 16.3163 7.6832 19.8278 11.9994 19.8278C16.3156 19.8278 19.8271 16.3163 19.8271 12.0001C19.8271 11.6242 20.1318 11.3196 20.5076 11.3196C20.8834 11.3196 21.1882 11.6242 21.1882 12.0001C21.1882 17.0669 17.0661 21.1889 11.9994 21.1889Z" fill="%23695E4C"/></svg>') no-repeat center;
  mask-size: contain;
}
@media screen and (min-width: 768px) {
  .block.amenities .amenities-list {
    width: calc(50% - 20px);
  }
}
.block.contact-fp {
  padding: 60px 20px;
}
.block.contact-fp * {
  font-family: var(--text-font);
}
.block.contact-fp .primary header {
  margin-bottom: 15px;
}
.block.contact-fp .primary header .title {
  margin-bottom: 20px;
}
.block.contact-fp .primary .phone,
.block.contact-fp .primary .email {
  margin-bottom: 20px;
}
.block.contact-fp .primary .phone svg,
.block.contact-fp .primary .email svg {
  height: 20px;
  width: auto;
  margin-right: 5px;
}
.block.contact-fp .primary .phone a,
.block.contact-fp .primary .email a {
  font-weight: bold;
}
.block.contact-fp .primary address {
  margin-bottom: 20px;
}
.block.contact-fp .form-container {
  background-color: #FDFCFA;
  padding: 20px;
  border-radius: 20px;
  box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.25);
}
.block.contact-fp .form-container header {
  margin-bottom: 15px;
}
.block.contact-fp form button {
  width: 100%;
  font-family: var(--heading-font);
}
@media screen and (min-width: 960px) {
  .block.contact-fp .inner {
    display: flex;
    gap: 40px;
    flex-wrap: nowrap;
  }
  .block.contact-fp .primary,
  .block.contact-fp .secondary {
    flex: 1;
  }
}
.block.amenities-fp:has(+ .block.contact-fp),
.block.amenities-fp:has(+ markup .block.contact-fp) {
  margin-bottom: 0;
}
.block.contact {
  padding: 60px 0px;
}
.block.contact * {
  font-family: var(--text-font);
}
.block.contact .inner {
  max-width: 1200px;
}
.block.contact header {
  margin-bottom: 20px;
  padding: 0 20px;
}
.block.contact .primary {
  margin-bottom: 40px;
}
.block.contact .secondary {
  padding: 20px 30px;
  background-color: var(--secondary-bg-color);
}
.block.contact .secondary * {
  color: var(--text-color-alt);
}
.block.contact .secondary a:hover,
.block.contact .secondary a:focus-visible {
  text-decoration: underline;
}
.block.contact .secondary .phone,
.block.contact .secondary .email {
  margin-bottom: 20px;
  padding-bottom: 20px;
  border-bottom: 1px #F7F5EC1A solid;
}
.block.contact .secondary .phone svg,
.block.contact .secondary .email svg {
  height: 20px;
  width: auto;
  margin-right: 5px;
}
.block.contact form {
  padding: 0 20px;
  position: relative;
  max-width: unset;
}
.block.contact form .fields {
  display: flex;
  flex-direction: column;
}
@media screen and (min-width: 768px) {
  .block.contact form .fields {
    flex-direction: row;
  }
}
.block.contact form input[type="text"],
.block.contact form input[type="password"],
.block.contact form input[type="datetime"],
.block.contact form input[type="datetime-local"],
.block.contact form input[type="date"],
.block.contact form input[type="month"],
.block.contact form input[type="time"],
.block.contact form input[type="week"],
.block.contact form input[type="number"],
.block.contact form input[type="email"],
.block.contact form input[type="url"],
.block.contact form input[type="search"],
.block.contact form input[type="tel"],
.block.contact form input[type="phone"],
.block.contact form select,
.block.contact form textarea {
  background-color: transparent;
  border: 1px solid #404040;
}
.block.contact form .form-group {
  position: relative;
  padding-top: 1.4ch;
  margin-top: 10px;
  padding-bottom: 1ch;
}
.block.contact form label {
  position: absolute;
  font-weight: 400;
  top: 2.4em;
  left: 12px;
  transform: translateY(-50%);
  color: var(--text-color);
  opacity: 0.75;
  padding: 0 5px;
  transition: all 0.3s ease;
  pointer-events: none;
}
.block.contact form .form-group:focus-within label,
.block.contact form .form-group:has(input:autofill) label,
.block.contact form .form-group:has(input:not(:placeholder-shown)) label,
.block.contact form .form-group:has(textarea:not(:placeholder-shown)) label,
.block.contact form .form-group label.selected {
  top: 0;
  left: 0;
  font-size: 1em;
}
.block.contact form input:-webkit-autofill,
.block.contact form input:autofill {
  background-color: transparent !important;
  -webkit-box-shadow: 0 0 0px 1000px var(--page-bg-color) inset !important;
}
.block.contact form::before {
  content: "";
  position: absolute;
  bottom: 2rem;
  left: 0;
  width: 100%;
  height: 2px;
  background-color: var(--heading-color);
}
@media screen and (min-width: 960px) {
  .block.contact {
    padding: 60px 20px;
  }
  .block.contact header {
    padding: 0;
  }
  .block.contact .content {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    position: relative;
  }
  .block.contact .content::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 80%;
    bottom: 0;
    border: 2px solid var(--secondary-bg-color);
    border-radius: 20px;
  }
  .block.contact .primary {
    width: 66.6666%;
    margin: 0;
  }
  .block.contact form {
    position: relative;
    padding: 60px 50px;
    max-width: 780px;
  }
  .block.contact form::before {
    display: none;
  }
  .block.contact form button {
    position: absolute;
    bottom: 0;
    left: 20px;
    transform: translateY(50%);
    font-family: var(--heading-font);
  }
  .block.contact .secondary {
    border-radius: 20px;
    width: 33.3333%;
    z-index: 1;
  }
}
.block.simple-map #map-container {
  height: 400px;
  width: 100%;
}
.block.simple-map #map-container .info-window h3 {
  margin-bottom: 20px;
}
.block.simple-map #map-container .info-window a {
  display: block;
}
.block.simple-map #map-container .info-window a,
.block.simple-map #map-container .info-window p {
  margin-bottom: 10px;
  margin-top: 0;
}
@media screen and (min-width: 768px) {
  .block.simple-map {
    display: block;
  }
  .block.simple-map #map-container {
    height: 600px;
  }
}
#rs-builder .block.simple-map #map-container {
  height: 400px;
  width: 100%;
  background-color: #d1d1d1;
}
#rs-builder .block.simple-map #map-container::after {
  content: "Google Map";
  font-size: 32px;
  position: absolute;
  padding: 10px;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.block.gallery {
  padding: 60px 20px;
}
.block.gallery a {
  user-select: none;
  cursor: zoom-in;
}
.block.gallery.large .swiper {
  border-radius: 10px;
}
.block.gallery.large .swiper-slide {
  aspect-ratio: 3/2;
  overflow: hidden;
  border-radius: 10px;
}
.block.gallery.large .swiper-slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 10px;
  filter: drop-shadow(1px 1px 1px rgba(0, 0, 0, 0.25));
}
.block.gallery.large .swiper-button-next,
.block.gallery.large .swiper-button-prev {
  filter: drop-shadow(0px 0px 2px #FFF);
  border-radius: 50%;
  border: 2px solid var(--button-bg-color);
  width: 40px;
  height: 40px;
  transition: all 0.3s ease;
}
.block.gallery.large .swiper-button-next::after,
.block.gallery.large .swiper-button-prev::after {
  font-size: 2.4rem;
  color: var(--button-bg-color);
  transition: all 0.3s ease;
}
.block.gallery.large .swiper-button-next:hover,
.block.gallery.large .swiper-button-prev:hover,
.block.gallery.large .swiper-button-next:focus-visible,
.block.gallery.large .swiper-button-prev:focus-visible {
  background-color: var(--button-bg-color);
}
.block.gallery.large .swiper-button-next:hover::after,
.block.gallery.large .swiper-button-prev:hover::after,
.block.gallery.large .swiper-button-next:focus-visible::after,
.block.gallery.large .swiper-button-prev:focus-visible::after {
  color: var(--button-text-color);
}
@media screen and (min-width: 768px) {
  .block.gallery.large .swiper-slide {
    aspect-ratio: 2/1;
  }
}
#rs-builder .block.gallery.large .swiper-button-next,
#rs-builder .block.gallery.large .swiper-button-prev {
  display: none !important;
}
#rs-builder .block.gallery.large .swiper-slide:nth-of-type(n+2) {
  display: none !important;
}
.block.gallery.grid .grid {
  display: flex;
  gap: 20px;
  flex-direction: column;
}
.block.gallery.grid .grid-item {
  width: 100%;
  filter: drop-shadow(1px 1px 1px rgba(0, 0, 0, 0.25));
  border-radius: 10px;
  overflow: hidden;
}
.block.gallery.grid a {
  position: relative;
}
.block.gallery.grid a::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(0, 0, 0, 0.5);
  opacity: 0;
  transition: opacity 0.3s ease-in-out;
  pointer-events: none;
  z-index: 1;
  border-radius: 10px;
}
.block.gallery.grid a img {
  transform: scale(1);
  transition: all 0.3s ease-in-out;
}
.block.gallery.grid .grid-item img {
  width: 100%;
  height: auto;
  object-fit: cover;
  border-radius: 10px;
}
@media screen and (min-width: 768px) {
  .block.gallery.grid a:hover::before,
  .block.gallery.grid a:focus-visible::before {
    opacity: 1;
  }
  .block.gallery.grid a:hover img,
  .block.gallery.grid a:focus-visible img {
    transform: scale(1.08);
  }
  .block.gallery.grid .grid {
    display: grid;
    gap: 20px;
    grid-template-columns: repeat(3, 1fr);
  }
  .block.gallery.grid .grid-item {
    width: unset;
  }
  .block.gallery.grid .grid-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 10px;
  }
  .block.gallery.grid .grid-item:nth-child(10n + 1) {
    grid-column: span 1;
    grid-row: span 1;
  }
  .block.gallery.grid .grid-item:nth-child(10n + 2) {
    grid-column: span 2;
    grid-row: span 2;
  }
  .block.gallery.grid .grid-item:nth-child(10n + 3) {
    grid-column: span 1;
    grid-row: span 1;
  }
  .block.gallery.grid .grid-item:nth-child(10n + 4) {
    grid-column: span 2;
    grid-row: span 2;
  }
  .block.gallery.grid .grid-item:nth-child(10n + 5) {
    grid-column: span 1;
    grid-row: span 2;
  }
  .block.gallery.grid .grid-item:nth-child(10n + 6) {
    grid-column: span 2;
    grid-row: span 2;
  }
  .block.gallery.grid .grid-item:nth-child(10n + 7) {
    grid-column: span 1;
    grid-row: span 1;
  }
  .block.gallery.grid .grid-item:nth-child(10n + 8) {
    grid-column: span 1;
    grid-row: span 1;
  }
  .block.gallery.grid .grid-item:nth-child(10n + 9) {
    grid-column: span 1;
    grid-row: span 2;
  }
  .block.gallery.grid .grid-item:nth-child(10n + 10) {
    grid-column: span 2;
    grid-row: span 2;
  }
}
.block.footer {
  background-color: var(--primary-bg-color);
}
.block.footer * {
  color: var(--text-color-alt);
}
.block.footer a:hover,
.block.footer a:focus-visible {
  text-decoration: underline;
}
.block.footer .top .inner {
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.block.footer .top .column,
.block.footer .top .logo-container {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 20px;
}
.block.footer .top .phone,
.block.footer .top .email {
  font-size: 1.8rem;
  margin-bottom: 5px;
  display: flex;
  align-items: center;
}
.block.footer .top .phone svg,
.block.footer .top .email svg {
  width: auto;
  margin-right: 10px;
}
.block.footer .top .phone svg {
  height: 20px;
}
.block.footer .top .email svg {
  height: 18px;
}
.block.footer .top address {
  font-size: 1.6rem;
  position: relative;
  padding: 20px 0 0;
  margin-top: 20px;
  text-align: center;
}
.block.footer .top address a:hover,
.block.footer .top address a:focus-visible {
  text-decoration: underline;
}
.block.footer .top address::before {
  content: '';
  display: block;
  width: 100vw;
  height: 1px;
  background-color: var(--text-color-alt);
  opacity: 0.5;
  position: absolute;
  left: 50%;
  top: 0;
  transform: translateX(-50%);
}
.block.footer .top .logo-container {
  position: relative;
  justify-content: center;
}
.block.footer .top .logo-container img {
  width: 80%;
  height: auto;
  max-height: 100px;
  max-width: 450px;
  object-fit: contain;
  margin: 0 auto;
}
.block.footer .top .logo-container::after {
  content: '';
  display: block;
  width: 100vw;
  height: 1px;
  background-color: var(--text-color-alt);
  opacity: 0.5;
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
}
.block.footer .top .logo-container .socials {
  display: flex;
  flex-wrap: wrap;
  gap: 30px;
  margin-top: 20px;
}
.block.footer .top .logo-container .socials a {
  display: inline-block;
  color: var(--text-color-alt);
  height: 35px;
  width: auto;
}
.block.footer .top .logo-container .socials a svg {
  height: 35px;
  width: auto;
  fill: currentColor;
  transition: opacity 0.3s ease;
}
.block.footer .top .logo-container .socials a:hover svg,
.block.footer .top .logo-container .socials a:focus-visible svg {
  opacity: 0.5;
}
.block.footer .top .not-mobile {
  display: none;
}
.block.footer .bottom {
  text-align: center;
  position: relative;
}
.block.footer .bottom::before {
  content: '';
  display: block;
  width: 100%;
  height: 1px;
  background-color: var(--text-color-alt);
  opacity: 0.5;
  position: absolute;
  top: 0;
  left: 0;
}
.block.footer .bottom .inner {
  display: flex;
  flex-direction: column;
  padding: 20px;
}
.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 {
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: space-between;
  }
  .block.footer .top .column {
    width: 25%;
    align-items: flex-end;
    justify-content: center;
    text-align: right;
    padding: 20px;
  }
  .block.footer .top .column.not-mobile {
    display: flex;
    align-items: flex-start;
    text-align: left;
  }
  .block.footer .top .column address {
    padding: 0;
    margin-top: 0;
    text-align: end;
  }
  .block.footer .top .column address::before {
    content: "";
    display: none;
  }
  .block.footer .top .logo-container {
    width: 50%;
  }
  .block.footer .top .logo-container::before {
    content: '';
    display: block;
    height: 100%;
    width: 1px;
    background-color: var(--text-color-alt);
    opacity: 0.5;
    position: absolute;
    top: 0;
    right: unset;
    left: 0;
    bottom: 0;
  }
  .block.footer .top .logo-container::after {
    content: '';
    display: block;
    height: 100%;
    width: 1px;
    background-color: var(--text-color-alt);
    opacity: 0.5;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 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;
  }
}
.simple-text {
  position: relative;
  padding: 45px 20px;
}
.simple-text p {
  padding-bottom: 1.5em;
}
.simple-text .cta a {
  position: relative;
  display: inline-block;
  line-height: 24px;
  padding: 12px;
  background: var(--button-bg-color);
  border: 2px solid var(--button-border-color);
  color: var(--button-text-color);
  font-size: 1.8rem;
  font-family: var(--heading-font);
  font-weight: 700;
  border-radius: 10px;
  transition: ease all 0.3s;
  text-align: center;
  margin: auto;
  cursor: pointer;
  filter: drop-shadow(2px 2px 2px #00000045);
}
.simple-text .cta a.ghost {
  background: none;
  color: var(--button-bg-color);
  border: 0;
  border-bottom: 3px solid var(--button-border-color);
}
.simple-text .cta a.inline {
  display: inline-block;
}
.simple-text .cta a.cta-divider {
  padding: 6px 12px;
}
.simple-text .cta a:hover,
.simple-text .cta a:focus-visible {
  background: var(--button-bg-color-hover);
  color: var(--button-text-color-hover);
  text-decoration: none;
}
.simple-text .cta a.invert {
  background: var(--button-bg-color-hover);
  color: var(--button-text-color-hover);
}
.simple-text .cta a.invert:hover,
.simple-text .cta a.invert:focus-visible {
  background: var(--button-bg-color);
  color: var(--button-text-color);
}
.simple-text h2,
.simple-text h3,
.simple-text h4,
.simple-text h5,
.simple-text h6 {
  font-family: var(--text-font);
}
.simple-text.generic-title .title {
  text-align: center;
  margin-bottom: 0.5em;
}
.simple-text.generic-title .subtitle {
  text-align: center;
}
article.text-content {
  padding: 20px;
}
article.text-content p,
article.text-content ul,
article.text-content ol {
  margin-bottom: 1.5em;
}
article.text-content ul,
article.text-content ol {
  padding-left: 20px;
}
article.text-content h2,
article.text-content h3,
article.text-content h4,
article.text-content h5,
article.text-content h6 {
  margin-bottom: 1rem;
}
article.text-content a {
  color: #243DFF;
}
article.text-content a:hover,
article.text-content a:focus-visible {
  color: #1125b8;
}
body:has(article.text-content) {
  background: #F8F3EB;
}
.block.hero + .block.generic-title {
  padding-top: 60px;
}
.pagination {
  margin: 20px auto;
  width: fit-content;
  display: flex;
  align-items: center;
}
.pagination * {
  font-family: var(--text-font);
}
.page-btn {
  height: 40px;
  padding: 9px 10px;
  min-width: unset;
  color: var(--text-color);
  border-radius: 0;
  border-right: 1px solid var(--text-color);
  border-top: 1px solid var(--text-color);
  border-bottom: 1px solid var(--text-color);
  border-left: none;
  font-size: 14px;
  font-weight: 400;
  cursor: pointer;
  transition: all 0.3s;
  flex-grow: 1;
  background-color: transparent;
}
.page-btn:first-of-type {
  border-radius: 3px 0 0 3px;
  border-left: 1px solid var(--text-color);
}
.page-btn:last-of-type {
  border-radius: 0 3px 3px 0;
}
.page-btn:hover,
.page-btn:focus {
  background-color: var(--button-bg-color-hover);
  color: var(--button-text-color-hover);
}
.page-btn[aria-current="true"] {
  font-weight: bold;
  background: var(--button-bg-color);
  border-color: var(--button-bg-color);
  color: var(--button-text-color);
  cursor: default;
}
.page-btn[disabled="disabled"],
.page-btn[disabled="true"] {
  opacity: 0.6;
  cursor: not-allowed;
  pointer-events: none;
}
.dots {
  padding: 8px 10px;
  height: 40px;
  min-width: unset;
  color: var(--text-color);
  font-size: 16px;
  font-weight: 400;
  cursor: pointer;
  transition: all 0.3s;
  flex-grow: 1;
  border-right: 1px solid var(--text-color);
  border-top: 1px solid var(--text-color);
  border-bottom: 1px solid var(--text-color);
  cursor: default;
  display: flex;
  align-items: center;
  justify-content: center;
}
#specials {
  display: none;
}
#special-popdown {
  max-height: 0;
  overflow: hidden;
  transition: max-height 1s ease;
  box-sizing: border-box;
  position: relative;
  z-index: 2;
  background: var(--primary-bg-color);
}
#special-popdown *,
#special-popdown *:before,
#special-popdown *:after {
  box-sizing: inherit;
  color: var(--text-color-alt);
}
#special-popdown #specials-inner {
  width: 100%;
  max-width: unset;
  padding: 25px 50px 0;
  margin: 0;
  display: flex;
  flex-direction: column-reverse;
  text-align: left;
}
#special-popdown #specials-inner .special {
  text-align: center;
  width: 100%;
  padding: 0 20px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
#special-popdown #specials-inner .special h3 {
  font-size: 2.4rem;
  margin: 0 0 10px;
  color: var(--heading-color-alt);
  padding-bottom: 0;
  font-weight: 600;
}
#special-popdown #specials-inner .special p {
  font-size: 1.6rem;
  text-align: center;
}
#special-popdown .special-image {
  max-width: 350px;
  padding: 0;
}
#special-popdown .special-image img {
  width: 100%;
  height: auto;
  max-height: 150px;
  object-fit: contain;
  object-position: center;
}
#special-popdown #special-popdown-button {
  position: absolute;
  top: 20px;
  right: 20px;
  padding: 0;
  background: transparent;
  border: none;
  box-shadow: none;
  height: 24px;
  width: 24px;
  cursor: pointer;
  min-width: unset;
}
#special-popdown #special-popdown-button svg {
  width: 100%;
  height: 100%;
  fill: var(--text-color-alt);
  transition: all 0.3s ease;
}
#special-popdown #special-popdown-button:hover svg,
#special-popdown #special-popdown-button:focus svg {
  opacity: 0.4;
}
#special-popdown.special-popdown--show {
  max-height: 600px;
}
#special-popdown.special-popdown--hiding {
  max-height: 0;
}
#special-popdown.special-popdown--hidden {
  max-height: 0;
  display: none;
}
#special-popdown .swiper {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  padding-bottom: 30px;
}
#special-popdown .swiper-wrapper {
  display: flex;
  align-items: center;
}
#special-popdown .swiper-pagination {
  bottom: 5px;
}
#special-popdown .swiper-pagination-bullet {
  background: #b9b9b9;
}
#special-popdown .swiper-pagination-bullet-active {
  background: #9e9e9e;
}
#special-popdown .swiper-slide {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
@media (min-width: 768px) {
  #special-popdown #specials-inner {
    flex-direction: row-reverse;
    justify-content: center;
  }
  #special-popdown #specials-inner .special {
    width: unset;
  }
  #special-popdown #specials-inner .special * {
    text-align: left;
  }
  #special-popdown .swiper {
    padding-bottom: 20px;
  }
  #special-popdown .swiper-slide {
    flex-direction: row;
  }
  #special-popdown #specials-inner .special-image + .special {
    align-items: start;
  }
  #special-popdown #specials-inner .special-image + .special p {
    text-align: left;
  }
  #special-popdown .special-image img {
    max-height: 200px;
  }
}

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