* {
	border: 0;
	box-sizing: border-box;
	margin: 0;
	padding: 0
}

html {
	scroll-behavior: smooth
}

@font-face {
	font-family: Americana;
	font-style: normal;
	font-weight: 400;
	src: url(/fonts/americanabt_roman.ttf)
}

@font-face {
	font-family: Helvetica;
	font-style: normal;
	font-weight: 400;
	src: url(/assets/fonts/helvetica.woff2) format("woff2"), url(/assets/fonts/helvetica.woff) format("woff"), url(/assets/fonts/helvetica.ttf) format("truetype")
}

:root {
	--clr-light: #fafafa;
	--clr-dark: #020202;
	--clr-bg-dark: #1b1b1b;
	--clr-bg-light: #fafafa;
	--clr-bg-color: #999;
	--clr-text-1: #222;
	--clr-text-2: #555;
	--clr-gray-50: #e7e7e7;
	--clr-gray-100: #ddd;
	--clr-gray-200: #bbb;
	--clr-gray-300: #999;
	--clr-gray-400: #777;
	--clr-gray-500: #555;
	--clr-gray-600: #444;
	--clr-gray-700: #333;
	--clr-gray-800: #222;
	--clr-gray-900: #1f1f1f;
	--clr-success: #007e33;
	--clr-success-outline: #62af81;
	--clr-success-bg: #d9ece1;
	--clr-danger: #b61212;
	--clr-danger-outline: #bb2424;
	--clr-danger-bg: #f1d3d3;
	--clr-primary-100: #c8cbd4;
	--clr-primary-200: #9aa0af;
	--clr-primary-300: #394563;
	--clr-primary-400: #182549;
	--clr-primary-500: #0b193f;
	--clr-secondary-200: #faf3e5;
	--clr-secondary-300: #eed7aa;
	--clr-secondary-400: #e8c888;
	--clr-secondary-500: #d59b29;
	--clr-tertiary-400: #db8a8a;
	--clr-tertiary-500: #bb2424;
	--clr-tertiary-600: #4e0f0f;
	--clr-quaternary-400: ;
	--clr-quaternary-500: ;
	--clr-quaternary-600: ;
	--soft-shadow: 0 0.75rem 1rem #eee;
	--gradient-generic: linear-gradient(45deg, #ddd, #444);
	--font-heading: "Americana", Helvetica, sans-serif;
	--font-body: "Arial", Helvetica, sans-serif;
	--font-accent: "Arial", Helvetica, sans-serif;
	--gap8: 0.5rem;
	--gap16: 1rem;
	--gap24: 1.5rem;
	--gap32: 2rem;
	--gap40: 2.5rem;
	--gap48: 3rem;
	--gap56: 3.5rem;
	--gap64: 4rem;
	--gap72: 4.5rem;
	--gap80: 5rem;
	--gap88: 5.5rem;
	--gap96: 6rem;
	--gap104: 6.5rem;
	--rounded-corners: 0.25rem;
	--rounded: 25rem
}

body {
	font-family: Arial, Helvetica, sans-serif;
	font-family: var(--font-body);
	overflow-x: hidden;
	position: relative;
	scroll-behavior: smooth
}

.body-locked {
	overflow: hidden
}

main {
	display: grid
}

h1,
h2 {
	font-family: Americana, Helvetica, sans-serif;
	font-family: var(--font-heading)
}

a,
button,
datalist,
details,
dialog,
fieldset,
h3,
h4,
h5,
h6,
input,
label,
legend,
li,
meter,
optgroup,
option,
output,
p,
progress,
select,
span,
summary,
textarea {
	font-family: Arial, Helvetica, sans-serif;
	font-family: var(--font-body)
}

body .desktop,
body .desktop-flex,
body .desktop-grid {
	display: none
}

@media (min-width:64rem) {
	body .desktop {
		display: block
	}

	body .desktop-flex {
		display: flex
	}

	body .desktop-grid {
		display: grid
	}

	.mobile {
		display: none !important
	}
}

img {
	-o-object-fit: cover;
	object-fit: cover
}

h1,
h2,
h3,
h4,
h5,
h6 {
	line-height: 112%
}

a,
button,
datalist,
details,
dialog,
fieldset,
input,
label,
legend,
li,
meter,
optgroup,
option,
output,
p,
progress,
select,
span,
summary,
textarea {
	letter-spacing: .25px;
	line-height: 1.25rem
}

.counter {
	font-size: 3rem;
	font-weight: 400;
	line-height: 100%
}

a {
	color: #020202;
	color: var(--clr-dark);
	-webkit-text-decoration: none;
	text-decoration: none
}

.--uppercase {
	text-transform: uppercase
}

button,
input,
select,
textarea {
	font-size: 1rem
}

.footer__link-list span,
footer h4 {
	font-size: 1rem;
	font-weight: 600
}

h1 {
	font-size: 2.5rem
}

h2 {
	font-size: 2rem
}

.big-quote,
.content-box.cta span {
	font-size: 2rem;
	line-height: 112%
}

.link-underline {
	-webkit-text-decoration: underline;
	text-decoration: underline
}

.accordian label {
	font-size: 1.25rem
}

@media (min-width:48rem) {
	h1 {
		font-size: 3.5rem
	}

	h2 {
		font-size: 2.5rem
	}
}

.--colored-bg a,
.--colored-bg h2,
.--colored-bg p,
.--colored-bg span {
	color: #fafafa;
	color: var(--clr-light)
}

.property-card h3 {
	font-size: 1.125rem
}

.property-card a,
.property-card p {
	font-size: .875rem
}

.property-card .property-price {
	font-size: 1.125rem;
	font-weight: 600
}

aside span {
	line-height: 112%
}

.credit {
	font-weight: 700
}

body:has(>aside) aside,
body:has(>aside) main {
	outline: 4px solid red
}

aside {
	display: grid;
	z-index: 1
}

body:has(>aside) {
	display: grid;
	grid-template-columns: 1fr;
	justify-content: center;
	padding-top: 6rem
}

body:has(>.aside-layout) {
	display: grid
}

.aside-layout:has(>aside) {
	grid-row-gap: 1rem;
	grid-column-gap: 2rem;
	-moz-column-gap: 2rem;
	column-gap: 2rem;
	display: grid;
	grid-template-columns: 1fr;
	justify-content: center;
	row-gap: 1rem
}

@media (min-width:64rem) {
	body:has(>aside) {
		display: flex;
		flex-wrap: nowrap;
		padding-top: 0
	}

	.aside-layout:has(>aside) {
		display: flex;
		padding-top: 0
	}

	aside {
		flex-basis: 320px;
		flex-grow: 2;
		flex-shrink: 1;
		height: 100vh;
		max-width: 400px;
		min-width: 320px;
		padding-top: 6rem
	}

	body:has(>aside) main {
		flex-grow: 1;
		flex-shrink: 1;
		padding-top: 6rem
	}
}

.container--fluid {
	grid-column: 1/-1;
	justify-self: center;
	max-width: 80rem;
	min-width: 14rem;
	width: 90vw
}

.aside-layout .container--fluid {
	width: 100%
}

.container {
	width: 14rem
}

@media (min-width:20rem) {
	.container {
		width: 17.5rem
	}
}

@media (min-width:30rem) {
	.container {
		width: 25rem
	}
}

@media (min-width:35rem) {
	.container {
		width: 32rem
	}
}

@media (min-width:48rem) {
	.container {
		width: 44rem
	}
}

@media (min-width:64rem) {
	.container {
		width: 56rem
	}
}

@media (min-width:75rem) {
	.container {
		width: 63rem
	}
}

@media (min-width:90rem) {
	.container {
		width: 70.5rem
	}
}

@media (min-width:100rem) {
	.container {
		width: 88rem
	}
}

@media (min-width:112.5rem) {
	.container {
		width: 100.875rem
	}
}

@media (min-width:120rem) {
	.container {
		width: 100.875rem
	}
}

footer {
	grid-gap: 3rem;
	grid-gap: var(--gap48);
	align-content: center;
	display: grid;
	gap: 3rem;
	gap: var(--gap48);
	padding-bottom: 2rem;
	padding-top: 6rem;
	transition-duration: .25s;
	width: 100%
}

.footer__container {
	align-items: start;
	display: flex;
	justify-content: space-between
}

.footer-bottom,
.footer-top {
	display: grid
}

.footer-top .footer__container {
	flex-direction: column
}

footer .logo img {
	max-width: 20rem;
	width: 100%
}

.footer--basic-1 .footer-top .footer__container {
	flex-direction: row
}

.footer__content-grid,
.footer__content-wrapper,
.footer__content-wrapper--lg-col-2,
.footer__content-wrapper--m-col-2 {
	display: flex;
	flex-direction: column
}

.footer--contact-1 .footer__content-wrapper-1 {
	flex-direction: row;
	flex-wrap: wrap
}

.footer__content-wrapper--horizontal {
	display: flex;
	flex-wrap: nowrap
}

footer ul {
	list-style: none
}

.footer__link-list,
.footer__link-list ul {
	display: flex;
	flex-direction: column
}

.footer--contact-1 .footer__link-list {
	width: -moz-fit-content;
	width: fit-content
}

.footer__sm-list {
	display: flex
}

.footer__sm-list--vertical {
	display: flex;
	flex-direction: column
}

.footer__sm-list img {
	aspect-ratio: 1/1;
	height: 1.25rem;
	-o-object-fit: contain;
	object-fit: contain;
	width: 1.25rem
}

.footer__gallery {
	display: grid;
	grid-template-columns: 1fr 1fr
}

.footer__gallery-item-wrapper {
	height: -moz-fit-content;
	height: fit-content;
	width: -moz-fit-content;
	width: fit-content
}

.footer__gallery-item {
	height: 6rem;
	position: relative;
	width: 6rem
}

.footer__gallery-item .overlay {
	background-color: hsla(0, 0%, 7%, .467);
	display: grid;
	height: 100%;
	justify-content: center;
	left: 0;
	opacity: 0;
	position: absolute;
	top: 0;
	transition: opacity .25s;
	width: 100%
}

.footer__gallery-item .overlay-text {
	align-content: center;
	display: grid;
	justify-content: center;
	text-align: center
}

.footer__gallery-item:hover .overlay {
	opacity: 1
}

@media (min-width:25rem) {
	.footer__gallery {
		grid-template-columns: 1fr 1fr 1fr
	}
}

@media (min-width:27.5rem) {
	.footer--simple-1 .footer__content-wrapper {
		flex-direction: row;
		flex-wrap: wrap;
		white-space: none;
		width: 100%
	}
}

@media (min-width:35rem) {

	.footer--contact-1 .footer__content-wrapper,
	.footer__content-wrapper--m-col-2 {
		flex-direction: row;
		gap: 6rem !important
	}
}

@media (min-width:42.5rem) {

	.footer--contact-1 .footer__content-wrapper,
	.footer--simple-1 .footer__container {
		flex-direction: row
	}

	.footer--simple-1 .footer__content-wrapper {
		width: auto
	}

	.footer__content-wrapper {
		flex-direction: row
	}

	.footer--complex-1 .footer__content-wrapper {
		flex-direction: column
	}
}

@media (min-width:48rem) {
	.footer__content-grid {
		flex-direction: row
	}
}

@media (min-width:55rem) {
	.footer__content-wrapper--lg-col-2 {
		flex-direction: row
	}
}

@media (min-width:75rem) {
	.footer--complex-1 .footer__container>.footer__content-wrapper {
		flex-direction: row
	}

	.footer--complex-1 .footer__container>.footer__content-wrapper>.flex-col-1,
	.footer__content-wrapper--lg-col-2 {
		flex-grow: 1
	}

	.footer__content-wrapper--lg-col-2>.flex-col-1,
	.footer__content-wrapper--m-col-2 {
		flex-grow: 0
	}

	.footer--complex-1 .iframe,
	.footer--complex-1 iframe {
		max-width: 32rem
	}
}

footer .content-centered {
	justify-content: center
}

footer .content-right {
	justify-content: right
}

footer .content-left {
	justify-content: left
}

footer .content-spaced {
	justify-content: space-between
}

header {
	height: 6rem;
	transition-duration: .25s;
	width: 100%;
	z-index: 10
}

.header__top,
header {
	align-content: center;
	background-color: #fafafa;
	background-color: var(--clr-light);
	display: grid
}

.header__top {
	color: #020202;
	color: var(--clr-dark)
}

.header__bottom {
	align-content: center;
	background-color: #fafafa;
	background-color: var(--clr-light);
	color: #fafafa;
	color: var(--clr-light);
	display: grid
}

header:has(>.container) {
	justify-content: center
}

.header__container,
.header__content-wrapper,
.header__content-wrapper-left,
.header__content-wrapper-right {
	align-items: center;
	display: flex;
	justify-content: space-between
}

.header__button-options {
	align-items: center;
	display: flex
}

.header__content-wrapper-left {
	gap: 4rem;
	width: 100%
}

.header__content-wrapper,
.header__content-wrapper-right {
	gap: 3rem
}

.header__button-options {
	gap: 1rem
}

.header--multi-level {
	height: auto
}

.header--multi-level .header__container,
.header__container-bottom {
	padding-bottom: 1rem;
	padding-top: 1rem
}

.header__container-bottom {
	align-items: center;
	display: flex;
	gap: 3rem
}

.header__container-bottom .header__nav__options {
	width: -moz-fit-content;
	width: fit-content
}

.header__container-top {
	align-items: center;
	display: flex;
	gap: 3rem;
	padding-bottom: 1rem;
	padding-top: 1rem
}

header .content-centered {
	justify-content: center
}

header .content-right {
	justify-content: right
}

header .content-left {
	justify-content: left
}

header .content-spaced {
	justify-content: space-between
}

.header--transparent {
	background-color: rgba(0, 0, 0, .004)
}

.header--fixed {
	position: fixed;
	top: 0
}

header .logo img {
	height: 3rem
}

.header__sm-list img {
	aspect-ratio: 1/1;
	height: 1.25rem;
	-o-object-fit: contain;
	object-fit: contain;
	width: 1.25rem
}

.header--shrink {
	height: 4rem
}

.header--shrink .logo img {
	height: 1.75rem
}

@media (min-width:64rem) {
	.header--multi-level .header__container {
		padding-bottom: 1.5rem;
		padding-top: 1.5rem
	}

	.header__content-wrapper-left {
		width: -moz-fit-content;
		width: fit-content
	}

	.header__content-wrapper-right {
		flex-direction: row
	}

	.header__sm-list {
		display: flex;
		gap: 1.25rem
	}

	header .logo img {
		height: 4rem
	}
}

.section__container {
	align-items: center;
	display: flex;
	flex-wrap: wrap
}

.aside__container {
	grid-column: 1/-1;
	padding-bottom: 4rem;
	padding-left: 2rem !important;
	padding-right: 2rem !important;
	padding-top: 4rem;
	width: 100%
}

.grid-col-1,
.grid-col-2,
.grid-col-3--grow,
.grid-col-4--grow {
	display: grid;
	grid-template-columns: 1fr;
	justify-content: center
}

.grid--fluid {
	display: flex;
	flex-wrap: wrap
}

.flex-col-1,
.flex-col-2 {
	display: flex;
	flex-direction: column
}

.flex-col-2 {
	justify-content: left
}

.flex-col-3 {
	align-items: center;
	display: flex;
	flex-direction: column
}

.flex-col-left {
	align-items: start
}

.hero__layout--v1 {
	display: flex;
	flex-direction: column;
	justify-content: left
}

.grid--fluid.cta {
	justify-content: center
}

.flex-col-2--custom {
	row-gap: 2rem
}

.col-2,
.flex-col-2--custom {
	display: flex;
	flex-direction: column
}

.col-2 {
	justify-content: left
}

@media (min-width:35rem) {
	.flex-col-3 {
		align-items: center;
		flex-direction: row
	}
}

@media (min-width:40rem) {

	.grid-col-3--grow,
	.grid-col-4--grow {
		display: grid;
		grid-template-columns: repeat(1, minmax(240px, 480px))
	}

	.col-2 {
		display: flex;
		flex-direction: row
	}
}

@media (min-width:48rem) {
	.flex-col-2 {
		flex-wrap: nowrap
	}

	.grid-col-2 {
		display: grid;
		grid-template-columns: repeat(auto-fit, minmax(400px, 1fr));
		justify-content: center
	}

	.grid-col-3 {
		grid-template-columns: repeat(3, minmax(360px, 1fr))
	}

	.grid-col-3--grow {
		display: grid;
		grid-template-columns: repeat(3, minmax(160px, 480px))
	}

	.grid-col-4--grow {
		display: grid;
		grid-template-columns: repeat(2, minmax(160px, 480px))
	}

	.grid--fluid.cta {
		justify-content: space-between
	}
}

@media (min-width:55rem) {
	.hero__layout--v1 {
		align-items: center;
		align-items: end;
		flex-direction: row;
		justify-content: space-between
	}
}

@media (min-width:64rem) {
	.flex-col-2 {
		display: flex;
		flex-direction: row;
		flex-wrap: wrap;
		justify-content: center
	}

	.grid-col-3--grow {
		grid-template-columns: repeat(3, minmax(240px, 1fr))
	}

	.grid-col-4--grow {
		grid-template-columns: repeat(4, minmax(240px, 1fr))
	}
}

.properties-grid {
	grid-gap: 1rem;
	display: grid;
	gap: 1rem;
	grid-template-columns: 1fr;
	justify-content: center
}

.fluid-grid--grow,
.fluid-grid--grow4 {
	display: grid;
	grid-template-columns: 1fr;
	justify-content: center
}

@media (min-width:40rem) {

	.fluid-grid--grow,
	.fluid-grid--grow4 {
		grid-template-columns: repeat(auto-fit, minmax(280px, 1fr))
	}

	.properties-grid {
		grid-template-columns: repeat(1, minmax(280px, 1fr))
	}
}

@media (min-width:48rem) {
	.fluid-grid--grow {
		grid-template-columns: repeat(auto-fit, minmax(320px, 1fr))
	}

	.fluid-grid--grow4 {
		grid-template-columns: repeat(2, minmax(280px, 1fr))
	}
}

@media (min-width:64rem) {
	.properties-grid {
		grid-template-columns: repeat(2, minmax(280px, 1fr))
	}
}

@media (min-width:82rem) {
	.flex-col-2--custom {
		-moz-column-gap: 3rem;
		column-gap: 3rem;
		flex-direction: row
	}

	.flex-col-2--custom .fluid-grid--grow4 {
		width: 60%
	}

	.flex-col-2--custom .item-box {
		width: 100%
	}

	.fluid-grid--grow4 {
		grid-template-columns: repeat(4, minmax(280px, 1fr))
	}

	.flex-col-2--custom .fluid-grid--grow4 {
		grid-template-columns: repeat(2, minmax(280px, 1fr))
	}
}

@media (min-width:90rem) {
	.fluid-grid--grow {
		grid-template-columns: repeat(3, minmax(320px, 1fr))
	}
}

section {
	grid-row-gap: 4rem;
	display: grid;
	padding-bottom: 4rem;
	padding-top: 4rem;
	position: relative;
	row-gap: 4rem;
	z-index: 1
}

section:has(>.container) {
	justify-content: center
}

.section {
	padding-bottom: 4rem;
	padding-top: 4rem;
	z-index: 1
}

.thin-section {
	padding: 4rem 0 !important
}

.hero--landing {
	min-height: 80vh
}

.hero {
	min-height: auto;
	padding-bottom: 6rem;
	padding-top: 6rem
}

.hero--property {
	height: 70vh;
	padding: 0 !important;
	width: 100%
}

.hero--img-bg {
	background-image: linear-gradient(180deg, rgba(0, 0, 0, .5), rgba(0, 0, 0, .25)), url(/assets/bg-hero2.jpg)
}

.--img-bg,
.hero--img-bg {
	background-position: 50%;
	background-size: cover;
	color: #fafafa;
	color: var(--clr-light)
}

.--img-bg {
	background-image: linear-gradient(180deg, rgba(0, 0, 0, .25), rgba(0, 0, 0, .5), rgba(0, 0, 0, .25)), url(/assets/bg-hero2.jpg)
}

.banner-image,
.banner-video {
	aspect-ratio: 2/1;
	width: 100%
}

.banner-image {
	background-image: linear-gradient(180deg, rgba(0, 0, 0, .5), rgba(0, 0, 0, .25)), url(/assets/placeholder-image.png);
	background-position: 50%;
	background-size: cover
}

.banner-video {
	position: relative
}

.--colored-bg {
	background-color: #182549;
	background-color: var(--clr-primary-400)
}

.--colored-bg,
.--video-bg {
	background-image: none;
	color: #fafafa;
	color: var(--clr-light)
}

.--video-bg {
	background-color: transparent;
	position: relative;
	z-index: 1
}

.--video-bg .bg-overlay {
	background-image: linear-gradient(180deg, rgba(0, 0, 0, .25), rgba(0, 0, 0, .25));
	height: 100%;
	left: 0;
	position: absolute;
	top: 0;
	width: 100%;
	z-index: -1
}

.--video-bg video,
.banner-video video {
	height: 100%;
	left: 0;
	-o-object-fit: cover;
	object-fit: cover;
	position: absolute;
	top: 0;
	width: 100%;
	z-index: -2
}

section .container--fluid:has(>.divider) section {
	padding: 0
}

@media (min-width:64rem) {
	section {
		padding-bottom: 6rem;
		padding-top: 6rem
	}

	.hero {
		padding-bottom: 8rem;
		padding-top: 8rem
	}

	.hero--landing {
		padding-top: 8rem !important
	}

	.banner-image,
	.banner-video {
		aspect-ratio: 4/1
	}

	.hero--property {
		height: 60vh;
		padding: 0 !important;
		width: 100%
	}
}

.property__nav .container--fluid {
	-moz-column-gap: 4rem;
	column-gap: 4rem;
	justify-content: center;
	row-gap: 2rem
}

.divider {
	background-color: #c8cbd4;
	background-color: var(--clr-primary-100);
	height: 1px;
	width: 100%
}

footer .divider,
header .divider {
	background-color: #eed7aa;
	background-color: var(--clr-secondary-300)
}

.property-details .divider {
	background-color: #c8cbd4;
	background-color: var(--clr-primary-100);
	height: 1px;
	width: 100%
}

.heading-underline {
	color: #bb2424;
	color: var(--clr-tertiary-500);
	height: .1875rem;
	width: 5rem
}

.property-page.heading-underline.status-green,
.property-status.status-green {
	background-color: green
}

.property-page.heading-underline.status-yellow,
.property-status.status-yellow {
	background-color: #d59b29;
	background-color: var(--clr-secondary-500)
}

.property-page.heading-underline.status-red,
.property-status.status-red {
	background-color: #bb2424;
	background-color: var(--clr-tertiary-500)
}

.property-page.heading-underline.status-gray,
.property-status.status-gray {
	background-color: #999;
	background-color: var(--clr-gray-300)
}

.property-page.price.status-green {
	color: green
}

.property-page.price.status-yellow {
	color: #d59b29;
	color: var(--clr-secondary-500)
}

.property-page.price.status-red {
	color: #bb2424;
	color: var(--clr-tertiary-500)
}

.property-page.price.status-gray {
	background-color: #999;
	background-color: var(--clr-gray-300)
}

.ltr-fill {
	animation-duration: .5s;
	animation-fill-mode: forwards;
	animation-name: accent-fill;
	width: 0
}

@keyframes accent-fill {
	0% {
		width: 0
	}

	to {
		width: 5rem
	}
}

.vertical-list {
	display: flex;
	flex-direction: column;
	gap: .25rem;
	padding-left: 1rem
}

.--no-style {
	list-style: none;
	padding-left: 0
}

.price,
.property-status p {
	font-size: 2rem;
	font-weight: 600
}

.property-status p {
	color: #fafafa;
	color: var(--clr-light)
}

.property-status {
	padding: 1rem 1.5rem;
	width: -moz-fit-content;
	width: fit-content
}

.star-rating--s {
	font-size: 1.25rem;
	letter-spacing: 2px
}

.star-rating--lg {
	font-size: 2rem;
	letter-spacing: 1px
}

.accordion-group,
.accordion-wrapper {
	display: flex;
	flex-direction: column
}

.accordion {
	display: flex;
	flex-direction: column;
	gap: .5rem;
	padding-bottom: .5rem !important;
	padding-top: 1rem !important
}

.accordion__title {
	display: inline;
	position: relative
}

.accordion__intro {
	cursor: pointer;
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	gap: 0.5rem;
	justify-content: space-between;
	width: 100%
}

.accordion__arrow,
.accordion__plus {
	height: 1.5rem;
	position: relative;
	width: 1.5rem
}

.accordion__arrow:before {
	border-left: 2px solid #9aa0af;
	border-left: 2px solid var(--clr-primary-200);
	border-top: 2px solid #9aa0af;
	border-top: 2px solid var(--clr-primary-200);
	content: "";
	height: 1rem;
	position: absolute;
	right: 3px;
	top: -4px;
	transform: rotate(-135deg);
	transition-duration: .2s;
	width: 1rem
}

.accordion__active .accordion__arrow:before {
	right: 8px;
	top: 3px;
	transform: rotate(-225deg)
}

.accordion__plus:before {
	border: none;
	height: 2px;
	right: 0;
	top: 9px;
	width: 1.5rem
}

.accordion__plus:after,
.accordion__plus:before {
	background-color: #9aa0af;
	background-color: var(--clr-primary-200);
	content: "";
	position: absolute;
	transition-duration: .2s
}

.accordion__plus:after {
	height: 1.5rem;
	right: 10px;
	top: -2px;
	width: 2px
}

.accordion__active .accordion__plus:after {
	opacity: 0
}

.accordion img {
	aspect-ratio: 1.5/1;
	width: 100%
}

.accordion__images {
	background-image: linear-gradient(180deg, rgba(0, 0, 0, .2), rgba(0, 0, 0, .2)), url(/assets/placeholder-image.png);
	background-position: 50%;
	background-size: cover;
	position: relative
}

@media (max-width:768px) {
	.accordion__images {
		display: none
	}
}

.accordion__images img {
	aspect-ratio: 1.5/1;
	opacity: 0;
	transition: .3s
}

.accordion__images img:not(:first-child) {
	left: 0;
	position: absolute;
	top: 0
}

.accordion__images img.active {
	opacity: 1
}

.accordion__content {
	max-height: 0;
	opacity: 0;
	overflow: hidden;
	transition: all .25s ease-out;
	will-change: max-height
}

.accordion__content p {
	padding-bottom: 1rem
}

@media (min-width:768px) {
	.accordion__content .accordion__image {
		display: none
	}
}

@media (max-width:768px) {
	.accordion__content .accordion__image {
		display: block;
		margin-bottom: 1rem
	}
}

.accordion__active .accordion__content {
	opacity: 1
}

@media (min-width:48rem) {
	.accordion-wrapper:has(>.accordion__images) .accordion-group {
		width: 50%
	}

	.accordion-wrapper {
		flex-direction: row
	}
}

.alert {
	display: none;
	padding: 1rem 1.5rem;
	position: relative
}

.alert span {
	line-height: 1.5rem
}

.alert--1r {
	align-items: start;
	gap: 1rem
}

.alert-header {
	display: flex;
	justify-content: space-between
}

.alert--2r {
	flex-direction: column;
	gap: .5rem
}

.alert span:first-child {
	font-weight: 600
}

.success {
	background-color: #d9ece1;
	background-color: var(--clr-success-bg);
	border: 1px solid #62af81;
	border: 1px solid var(--clr-success-outline)
}

.danger,
.success {
	display: inline-flex
}

.danger {
	background-color: #f1d3d3;
	background-color: var(--clr-danger-bg);
	border: 1px solid #bb2424;
	border: 1px solid var(--clr-danger-outline)
}

.alert-close {
	color: #020202;
	color: var(--clr-dark);
	cursor: pointer;
	font-size: 1.5rem;
	line-height: 1.5rem
}

.alert--1r .alert-close {
	margin-left: 1rem
}

.alert--2r .alert-close {
	position: absolute;
	right: 1.5rem
}

button {
	background-color: transparent;
	cursor: pointer;
	position: relative
}

.btn-wrapper {
	height: -moz-fit-content;
	height: fit-content;
	position: relative;
	width: -moz-fit-content;
	width: fit-content
}

.btn {
	align-items: center;
	border: 1px solid transparent;
	display: inline-flex;
	gap: .75rem;
	justify-content: center;
	overflow: hidden;
	padding: 1rem 2rem;
	position: relative;
	transition: .4s
}

.property-card .btn {
	padding: .5rem 1rem
}

.btn img {
	background-color: #111;
	height: .88rem;
	-o-object-fit: contain;
	object-fit: contain;
	width: .88rem
}

.btn--default {
	background-color: #0b193f;
	background-color: var(--clr-primary-500);
	border: 1px solid #0b193f;
	border: 1px solid var(--clr-primary-500);
	color: #fafafa;
	color: var(--clr-light)
}

.btn--default-alt {
	background-color: #333;
	background-color: var(--clr-gray-700);
	border: 1px solid #333;
	border: 1px solid var(--clr-gray-700);
	color: #fafafa !important;
	color: var(--clr-light) !important
}

.btn--outline {
	border: 1px solid #0b193f;
	border: 1px solid var(--clr-primary-500);
	color: #020202;
	color: var(--clr-dark)
}

.btn--outline-alt {
	border: 1px solid #fafafa;
	border: 1px solid var(--clr-light);
	color: #fafafa;
	color: var(--clr-light)
}

.btn--link {
	overflow: visible;
	padding: 0
}

.btn--icon {
	border: 1px solid #0b193f;
	border: 1px solid var(--clr-primary-500);
	border-radius: 5rem;
	padding: .75rem
}

.btn--icon img {
	background-color: transparent;
	height: 1rem;
	width: 1rem
}

.icon--lg {
	padding: 1.125rem
}

.icon--xl {
	padding: 1.5rem
}

.icon--lg img {
	height: 1.5rem;
	width: 1.5rem
}

.icon--lg img,
.icon--xl img {
	background-color: transparent
}

.icon--xl img {
	height: 1.75rem;
	width: 1.75rem
}

.arrow-img--left {
	transform: rotate(180deg)
}

.arrow-img--up {
	transform: rotate(-90deg)
}

.arrow-img--down {
	transform: rotate(90deg)
}

.arrow,
.arrow-right {
	height: 1rem;
	width: 1rem
}

.arrow:after {
	border: solid #020202;
	border: solid var(--clr-dark);
	border-width: 0 1px 1px 0;
	content: "";
	display: inline-block;
	padding: 4px;
	position: absolute
}

.right:after {
	right: 45%;
	top: 40%;
	transform: rotate(-45deg)
}

.left:after {
	right: 35%;
	top: 40%;
	transform: rotate(135deg)
}

.up:after {
	right: 38%;
	top: 46%;
	transform: rotate(-135deg)
}

.down:after {
	right: 38%;
	top: 36%;
	transform: rotate(45deg)
}

.arrow-right:after {
	border: solid #020202;
	border: solid var(--clr-dark);
	border-width: 0 1px 1px 0;
	content: "";
	display: inline-block;
	padding: 4px;
	position: absolute;
	top: 42%;
	transform: rotate(-45deg);
	transition: transform .3s ease-out
}

.btn:focus .arrow-right:after,
.btn:hover .arrow-right:after {
	transform: translateX(.25rem) rotate(-45deg)
}

.arrow-right-2:after {
	content: "➞";
	display: inline-block;
	transition: transform .3s ease-out
}

.btn:focus .arrow-right-2:after,
.btn:hover .arrow-right-2:after {
	transform: translateX(.5rem)
}

.btn--icon .arrow-right:after {
	right: 42%;
	top: 40%
}

.btn--link .arrow-right {
	margin-right: .75rem
}

.btn--link .arrow-right:after {
	top: 25%
}

.arrow-right-3 {
	padding-bottom: 5px;
	position: relative;
	transition-duration: .25s;
	width: 1.25rem
}

.arrow-right-3:after {
	border: none
}

.btn:hover .arrow-right-3,
.btn:hover .arrow-right-3 div:first-child,
.card:hover .card__body .arrow-right-3,
.card:hover .card__body .arrow-right-3 div:first-child {
	width: 1.75rem
}

.arrow-right-3 div:first-child {
	background: #020202;
	background: var(--clr-dark);
	float: left;
	height: 2px;
	margin-top: 4px;
	transition-duration: .25s;
	width: 1.25rem
}

.arrow-right-3 div:last-child {
	border-bottom: 2px solid #020202;
	border-bottom: 2px solid var(--clr-dark);
	border-right: 2px solid #020202;
	border-right: 2px solid var(--clr-dark);
	height: .66rem;
	position: absolute;
	right: 5%;
	transform: rotate(-45deg);
	width: .66rem
}

.card {
	border: 1px solid #ddd;
	border: 1px solid var(--clr-gray-100);
	display: inline-flex
}

.card--padded {
	gap: 1rem;
	padding: 1.5rem
}

.card--horizontal {
	flex-direction: row
}

.card--vertical,
.card__body {
	flex-direction: column
}

.card__body {
	display: inline-flex;
	gap: 1rem;
	justify-content: space-between
}

.card__body,
.card__footer,
.card__header {
	padding: 1rem
}

.card--padded .card__body,
.card--padded .card__footer,
.card--padded .card__header {
	padding: 0
}

.card__img {
	height: 17rem;
	width: 100%
}

.card__img img {
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover;
	width: 100%
}

.card--filled {
	background-color: #fafafa;
	background-color: var(--clr-light);
	color: #020202;
	color: var(--clr-dark)
}

.property-card {
	align-content: stretch;
	flex-direction: column;
	max-width: 100%
}

.property-card .property-status p {
	color: #fafafa;
	color: var(--clr-light);
	font-size: .875rem;
	font-weight: 600
}

.property-card .status-green {
	background-color: green
}

.property-card .status-yellow {
	background-color: #d59b29;
	background-color: var(--clr-secondary-500)
}

.property-card .status-red {
	background-color: #bb2424;
	background-color: var(--clr-tertiary-500)
}

.property-card .property-status {
	padding: .25rem .5rem
}

.property-card .--maxwidth320 {
	max-width: 20rem
}

.property-card .card__body,
.property-card .card__img {
	height: 100%
}

.card--form {
	border: 1px solid #ddd;
	border: 1px solid var(--clr-gray-100);
	height: -moz-fit-content;
	height: fit-content;
	padding: 1.5rem 1rem !important
}

@media (min-width:27.5rem) {
	.card__body {
		gap: 1.5rem
	}

	.title-location {
		max-width: 50%
	}

	.align-switch {
		align-items: flex-end
	}
}

@media (min-width:40rem) {
	.card__img {
		height: 100%;
		width: 100%
	}

	.property-card {
		display: grid;
		grid-template-columns: 1.25fr 2fr
	}

	.card__body {
		gap: 1rem
	}

	.card--form {
		padding: 2rem 1.5rem !important
	}
}

@media (min-width:64rem) {
	.property-card {
		display: flex;
		flex-direction: column
	}

	.card__img {
		height: 17rem;
		width: 100%
	}

	.card__body {
		gap: 1rem
	}
}

@media (min-width:75rem) {
	.property-card {
		display: grid;
		grid-template-columns: 1.25fr 2fr
	}

	.card__img {
		height: 100%;
		width: 100%
	}
}

.carousel {
	align-items: center;
	display: flex;
	flex-direction: column;
	position: relative
}

.carousel-content {
	aspect-ratio: 1.5/1;
	position: relative;
	width: 100%
}

.carousel-content figure {
	aspect-ratio: 1.5/1;
	display: flex;
	left: 0;
	overflow: hidden;
	position: absolute;
	top: 0;
	width: 100%
}

.carousel-content figure .flex-col-1 {
	position: relative;
	width: 100%
}

.carousel-content figure .flex-col-1 .content-box {
	left: 50%;
	margin: 0;
	opacity: 0;
	position: absolute;
	top: 50%;
	transform: translate(-50%, -50%);
	transition-duration: .3s;
	transition-property: opacity
}

.carousel-content figure.show .flex-col-1 .content-box {
	opacity: 1
}

.carousel-content figure img {
	aspect-ratio: 2/1;
	opacity: 0;
	transform: scale(1.3);
	transform-origin: center;
	transition-duration: .3s;
	transition-property: transform, opacity;
	width: 100%
}

.carousel-content figure.show img {
	opacity: 1;
	transform: scale(1)
}

.carousel-nav {
	align-items: center;
	bottom: 0;
	display: flex;
	justify-content: space-between;
	left: 0;
	padding: 0 .5rem;
	position: absolute;
	right: 0;
	top: 0
}

.carousel-nav .btn-carousel {
	background-color: #fff;
	border-radius: 50%;
	cursor: pointer
}

.carousel-nav .btn-carousel.disabled {
	pointer-events: none
}

@media (min-width:20rem) {

	.carousel-content,
	.carousel-content figure {
		aspect-ratio: 1.5/1
	}
}

@media (min-width:30rem) {

	.carousel-content,
	.carousel-content figure {
		aspect-ratio: 2.5/1
	}
}

@media (min-width:48rem) {

	.carousel-content,
	.carousel-content figure {
		aspect-ratio: 3/1
	}
}

.item-box-wrapper {
	width: -moz-fit-content;
	width: fit-content
}

.item-box {
	display: flex;
	max-width: 22.5rem
}

.fluid-grid--grow .item-box,
.grid-col-3--grow .item-box {
	max-width: none
}

.item-box img {
	-o-object-fit: cover;
	object-fit: cover
}

.item-box-1r {
	align-items: center;
	flex-direction: row;
	gap: .5rem
}

.item-box-2r {
	align-items: start;
	flex-direction: row;
	gap: 1rem
}

.item-box-2r div,
.item-box-3r div {
	display: flex;
	flex-direction: column;
	gap: .5rem
}

header .item-box-2r div {
	gap: .25rem
}

.content-box>div>span:first-child,
.item-box-2r div span:first-child,
.item-box-3r div span:first-child {
	font-size: 1rem;
	font-weight: 600
}

.item-box-2r .reverse-weight span:first-child {
	font-size: 1rem;
	font-weight: 400
}

.item-box .star-rating--inline span:first-child,
.item-box-2r .reverse-weight span:nth-child(2) {
	font-size: 1rem;
	font-weight: 600
}

.item-box-3r {
	flex-direction: column;
	gap: 1rem
}

.item-box--centered {
	align-items: center;
	text-align: center
}

.content-box-wrapper {
	width: -moz-fit-content;
	width: fit-content
}

.content-box {
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
	max-width: 35rem
}

.hero--landing .content-box {
	max-width: 40rem
}

.property-page .content-box {
	max-width: none
}

.property-page .content-box>div {
	gap: 1rem
}

.content-box img {
	-o-object-fit: cover;
	object-fit: cover
}

.content-box>div {
	display: flex;
	flex-direction: column;
	gap: .5rem
}

.content-box--centered {
	align-items: center;
	text-align: center
}

.item-box .star-rating--inline {
	display: flex;
	flex-direction: row;
	gap: .5rem
}

.counter-wrapper {
	align-items: start;
	display: flex;
	flex-direction: column;
	gap: .5rem
}

.counter-wrapper--centered {
	align-items: center
}

.dropdown {
	position: relative
}

.dropdown__menu {
	list-style: none
}

.dropdown:after,
.dropdown__submenu:after {
	border-bottom: 1px solid #020202;
	border-bottom: 1px solid var(--clr-dark);
	border-right: 1px solid #020202;
	border-right: 1px solid var(--clr-dark);
	content: "";
	height: .4rem;
	margin-left: .5rem;
	position: absolute;
	right: 0;
	top: 30%;
	transform: rotate(45deg);
	transition: .1s;
	width: .4rem
}

.dropdown__submenu:after {
	margin-right: 1rem
}

.dropdown:hover:after,
.dropdown__submenu:hover:after {
	top: 40%
}

.dropdown__item {
	padding: 1.125rem 1rem 1.125rem 0
}

.dropdown__menu,
.dropdown__submenu .dropdown__menu {
	background-color: #fafafa;
	background-color: var(--clr-light);
	border: 1px solid #e7e7e7;
	border: 1px solid var(--clr-gray-50);
	display: none;
	opacity: 0;
	position: absolute;
	transform: translateY(1rem);
	transition: .25s;
	width: 10rem;
	z-index: 11
}

.dropdown__submenu {
	position: relative
}

.dropdown__submenu .dropdown__menu {
	position: absolute;
	top: 0;
	transform: translateX(99%)
}

.dropdown__item,
.dropdown__menu {
	border-radius: .5rem
}

.dropdown__menu .dropdown__item {
	display: block;
	padding: .75rem 1rem;
	transition-duration: .25s
}

.dropdown__menu .dropdown__item:hover {
	background-color: #e7e7e7;
	background-color: var(--clr-gray-50)
}

.dropdown:focus-within>.dropdown__menu,
.dropdown:hover>.dropdown__menu,
.dropdown__submenu:focus-within>.dropdown__menu,
.dropdown__submenu:hover>.dropdown__menu {
	animation: dropdownopen;
	animation-duration: .25s;
	display: grid;
	opacity: 1
}

@keyframes dropdownopen {
	0% {
		opacity: 0
	}

	to {
		opacity: 1
	}
}

.dropdown-mega,
.dropdown__mega-sub-nav {
	list-style: none
}

.dropdown-mega {
	position: static !important
}

.dropdown-mega__toggle {
	position: relative
}

.dropdown-mega__toggle:after {
	border-bottom: 1px solid #020202;
	border-bottom: 1px solid var(--clr-dark);
	border-right: 1px solid #020202;
	border-right: 1px solid var(--clr-dark);
	content: "";
	height: .4rem;
	margin-left: .5rem;
	position: absolute;
	right: 0;
	top: 43%;
	transform: rotate(45deg);
	transition: .1s;
	width: .4rem
}

.dropdown-mega__toggle:hover:after {
	top: 45%
}

.dropdown__mega-menu {
	background-color: #fafafa;
	background-color: var(--clr-light);
	border: 1px solid #e7e7e7;
	border: 1px solid var(--clr-gray-50);
	display: none;
	justify-content: center;
	left: 0;
	opacity: 0;
	padding: 2rem;
	position: absolute;
	transform: translateY(1rem);
	transition: .25s;
	width: 100%;
	z-index: 11
}

.dropdown__mega-content {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: space-between;
	row-gap: 2rem
}

.dropdown-mega:focus-within>.dropdown__mega-menu,
.dropdown-mega:hover>.dropdown__mega-menu {
	animation: dropdownopen;
	animation-duration: .25s;
	display: flex;
	opacity: 1
}

.dropdown__mega-sub-nav {
	display: flex;
	flex-direction: column
}

.dropdown__mega-sub-title {
	font-weight: 600;
	padding: .75rem 1rem
}

.dropdown__mega-sub-nav .dropdown__item {
	display: block;
	min-width: 12rem;
	padding: .75rem 1rem;
	transition-duration: .25s
}

.dropdown__mega-sub-nav .dropdown__item:hover {
	background-color: #e7e7e7;
	background-color: var(--clr-gray-50)
}

@media (min-width:75rem) {
	.dropdown__mega-sub-nav .dropdown__item {
		min-width: 13rem
	}
}

@media (min-width:90rem) {
	.dropdown__mega-sub-nav .dropdown__item {
		min-width: 14rem
	}
}

form {
	gap: 1.5rem
}

input,
select,
textarea {
	background-color: transparent;
	border: 1px solid #bbb;
	border: 1px solid var(--clr-gray-200);
	color: #020202;
	color: var(--clr-dark);
	padding: .5rem;
	transition: .25s
}

.input--textfield {
	-moz-appearance: textfield
}

.input--textfield::-webkit-inner-spin-button,
.input--textfield::-webkit-outer-spin-button {
	-webkit-appearance: none
}

input::-moz-placeholder,
textarea::-moz-placeholder {
	color: #777;
	color: var(--clr-gray-400)
}

input::-moz-placeholder,
textarea::-moz-placeholder {
	color: #777;
	color: var(--clr-gray-400)
}

input::placeholder,
textarea::placeholder {
	color: #777;
	color: var(--clr-gray-400)
}

textarea {
	height: 7.25rem;
	resize: none;
	width: 100%
}

input[type=date] {
	cursor: text
}

select {
	cursor: pointer
}

.form-supergroup {
	gap: 2rem
}

.form-group,
.form-supergroup {
	display: flex;
	flex-direction: column;
	position: relative
}

.form-group {
	gap: 1.5rem
}

.input-group,
.option-group {
	display: flex;
	flex-direction: column;
	gap: .5rem;
	position: relative
}

.check-option,
.radio-option {
	align-items: center;
	display: flex;
	gap: .5rem
}

.input-group--label-float,
.input-group--label-float-2 {
	position: relative
}

.input-group--label-float input,
.input-group--label-float-2 input {
	background: transparent;
	border: none;
	color: #020202;
	color: var(--clr-dark);
	outline: none;
	width: 100%
}

.input-group--label-float input {
	border-bottom: 1px solid #999;
	border-bottom: 1px solid var(--clr-gray-300);
	padding: .5rem 0
}

.input-group--label-float label,
.input-group--label-float-2 label {
	color: #999;
	color: var(--clr-gray-300);
	font-size: 1rem;
	pointer-events: none;
	position: absolute;
	transition: .5s
}

.input-group--label-float label {
	left: 0;
	padding: .5rem 0;
	top: 0
}

.input-group--label-float input:focus~label,
.input-group--label-float input:valid~label,
.input-group--label-float-2 input:focus~label,
.input-group--label-float-2 input:valid~label {
	color: #999;
	color: var(--clr-gray-300);
	font-size: .75rem
}

.input-group--label-float input:focus~label,
.input-group--label-float input:valid~label {
	left: 0;
	top: -1.25rem
}

.input-group--label-float-2 input {
	border: 1px solid #999;
	border: 1px solid var(--clr-gray-300);
	padding: .5rem
}

.input-group--label-float-2 label {
	background-color: #fff;
	left: .25rem;
	padding: 0 .325rem;
	top: .5rem
}

.input-group--label-float-2 input:focus~label,
.input-group--label-float-2 input:valid~label {
	left: .5rem;
	top: -.5rem
}

.custom-radio input[type=radio] {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	background-color: transparent;
	border: 1px solid #020202;
	border: 1px solid var(--clr-dark);
	border-radius: 50%;
	box-sizing: border-box;
	height: 14px;
	outline: none;
	padding: 0;
	width: 14px
}

.custom-radio input[type=radio]:checked {
	background-clip: content-box;
	background-color: #020202;
	background-color: var(--clr-dark);
	background-image: radial-gradient(circle, #020202 0, #020202 50%, transparent 60%, transparent 100%);
	background-image: radial-gradient(circle, var(--clr-dark) 0, var(--clr-dark) 50%, transparent 60%, transparent 100%);
	border-color: #020202;
	border-color: var(--clr-dark);
	padding: 2px
}

.toggle-switch {
	display: inline-block;
	height: 1.25rem;
	position: relative;
	width: 2.5rem
}

.toggle-switch input {
	height: 0;
	opacity: 0;
	width: 0
}

.toggle-switch__slider {
	background-color: transparent;
	border: 2px solid #020202;
	border: 2px solid var(--clr-dark);
	border-radius: 2rem;
	bottom: 0;
	cursor: pointer;
	left: 0;
	position: absolute;
	right: 0;
	top: 0;
	transition: .4s
}

.toggle-switch__slider:before {
	background-color: #999;
	background-color: var(--clr-gray-300);
	border-radius: 50%;
	bottom: 0;
	content: "";
	height: 1rem;
	left: 0;
	position: absolute;
	transition: .4s;
	width: 1rem
}

input:checked+.toggle-switch__slider {
	background-color: #020202;
	background-color: var(--clr-dark)
}

input:checked+.toggle-switch__slider:before {
	transform: translateX(1.175rem)
}

.option-group--pill {
	border: 1px solid #bbb;
	border: 1px solid var(--clr-gray-200);
	display: flex;
	flex-direction: row;
	gap: .25rem;
	padding: .25rem;
	width: -moz-fit-content;
	width: fit-content
}

.pill-option label {
	display: inline-block;
	padding: .5rem 1rem
}

.pill-option input[type=checkbox],
.pill-option input[type=radio] {
	display: none
}

.pill-option input[type=checkbox]:checked+label,
.pill-option input[type=radio]:checked+label {
	background-color: #ddd;
	background-color: var(--clr-gray-100);
	border: none
}

.range-number-input {
	gap: 1rem;
	justify-content: space-between;
	margin: 1rem 0;
	max-width: 40rem;
	width: 100%
}

.range-number-input,
.range-number-input__field {
	align-items: center;
	display: flex
}

.range-number-input__field input {
	margin-left: .75rem;
	text-align: center;
	width: 100%
}

.range-slider {
	background: #ddd;
	background: var(--clr-gray-100);
	height: .25rem;
	max-width: 40rem;
	position: relative
}

.range-slider__progress {
	background: #020202;
	background: var(--clr-dark);
	height: 100%;
	left: 25%;
	position: absolute;
	right: 25%
}

.range-input {
	position: relative
}

.range-input--1pt input,
.range-input--2pt input {
	-webkit-appearance: none;
	-moz-appearance: none;
	border: none;
	cursor: grab;
	height: 4px;
	max-width: 40rem;
	padding: 0;
	pointer-events: none;
	position: absolute;
	top: -20px;
	width: 100%
}

.range-input--2pt input {
	background: none
}

input[type=range]::-webkit-slider-thumb {
	-webkit-appearance: none;
	background: #020202;
	background: var(--clr-dark);
	border-radius: 50%;
	height: 1rem;
	pointer-events: auto;
	width: 1rem
}

input[type=range]::-moz-range-thumb {
	-moz-appearance: none;
	background: #020202;
	background: var(--clr-dark);
	border: none;
	border-radius: 50%;
	height: 1rem;
	pointer-events: auto;
	width: 1rem
}

.form-steps {
	display: inline-flex;
	flex-direction: row;
	gap: 1rem
}

.step-wrapper {
	align-items: center;
	display: flex;
	gap: .5rem
}

#step-1,
#step-2,
#step-3,
.step {
	position: relative
}

.step {
	background-color: #999;
	background-color: var(--clr-gray-300);
	border: none;
	border-radius: 50%;
	color: #020202;
	color: var(--clr-dark);
	display: inline-block;
	height: 1.25rem;
	width: 1.25rem;
	z-index: 2
}

.active-step span:last-child {
	color: #777;
	color: var(--clr-gray-400)
}

.active-step .step {
	background-color: #bbb;
	background-color: var(--clr-gray-200);
	border: .25rem solid #777;
	border: .25rem solid var(--clr-gray-400)
}

.form--1i {
	align-items: start;
	display: flex;
	flex-wrap: wrap;
	gap: 1rem
}

.form--1i .btn,
.form--1i input {
	height: 3rem
}

.form--1i input {
	padding-left: 1rem;
	padding-right: 1rem
}

.form--1i .input-group,
.form--1i input {
	max-width: 22.5rem;
	width: 100%
}

.menu-toggle {
	display: block;
	height: 3rem;
	padding: .5rem;
	-webkit-user-select: none;
	-moz-user-select: none;
	user-select: none;
	width: 3rem;
	z-index: 3
}

.menu-toggle span {
	background: #020202;
	background: var(--clr-dark);
	border-radius: .25rem;
	display: block;
	height: .125rem;
	margin-bottom: .35rem;
	position: relative;
	transform-origin: .25rem 0;
	transition: transform .3s cubic-bezier(.77, .2, .05, 1), opacity .55s ease;
	width: 2.0625rem;
	z-index: 1
}

.menu-toggle span:first-child {
	transform-origin: 0 0
}

.menu-toggle span:nth-last-child(2) {
	transform-origin: 0 100%
}

.menu-toggle span:last-child {
	margin-bottom: 0
}

.menu-toggle.active span {
	background: #020202;
	background: var(--clr-dark);
	opacity: 1;
	transform: rotate(-45deg) translate(.1rem)
}

.menu-toggle.active span:nth-last-child(3) {
	transform: rotate(45deg) translate(-.1rem, -.425rem)
}

.menu-toggle.active span:nth-last-child(2) {
	opacity: 0;
	transform: rotate(0deg) scale(.2)
}

.mobile-menu {
	-webkit-font-smoothing: antialiased;
	align-content: start;
	animation-duration: .3s;
	animation-name: menuopen;
	background: #fafafa;
	background: var(--clr-light);
	height: 100vh;
	list-style: none;
	margin: 0;
	padding: 6rem 3.25rem 3.25rem;
	position: fixed;
	right: 0;
	top: 0;
	transform: none;
	transform-origin: 0 0;
	transition: transform .5s cubic-bezier(.77, .2, .05, 1);
	width: 100vw;
	z-index: 2
}

@keyframes menuopen {
	0% {
		transform: translate(100%)
	}

	to {
		transform: none
	}
}

.mobile-menu li {
	font-size: 1.5rem;
	padding-bottom: 1.5rem;
	padding-top: 1.5rem
}

.mobile-menu__accordion-group,
.mobile-menu__item-group {
	list-style: none
}

.mobile-menu__accordion-group li,
.mobile-menu__item-group li {
	font-size: 1.25rem;
	padding-bottom: .5rem;
	padding-left: 1.25rem;
	padding-top: .5rem
}

.mobile-menu__accordion {
	display: flex;
	flex-direction: column;
	gap: .5rem;
	padding-bottom: .5rem !important
}

.mobile-menu__accordion label {
	display: block;
	max-width: 25rem;
	position: relative;
	width: 100%
}

.mobile-menu__accordion-group {
	height: 0;
	opacity: 0;
	visibility: hidden
}

.accordion-toggle {
	display: none;
	max-width: 25rem;
	width: 100%
}

.mobile-menu__accordion label:before {
	border-left: 2px solid #777;
	border-left: 2px solid var(--clr-gray-400);
	border-top: 2px solid #777;
	border-top: 2px solid var(--clr-gray-400);
	content: "";
	height: 1rem;
	position: absolute;
	right: 0;
	transform: rotate(-135deg);
	transition-duration: .2s;
	width: 1rem
}

.accordion-toggle:checked~.mobile-menu__accordion-group {
	height: auto;
	opacity: 1;
	visibility: visible
}

.accordion-toggle:checked~label:before {
	right: 1%;
	transform: rotate(-225deg)
}

.modal {
	align-items: center;
	background-color: rgba(62, 62, 62, .33);
	display: none;
	height: 100vh;
	justify-content: center;
	left: 0;
	position: fixed;
	top: 0;
	width: 100%;
	z-index: 30
}

.modal__content-wrapper {
	background-color: #ddd;
	background-color: var(--clr-gray-100);
	border: 1px solid #777;
	border: 1px solid var(--clr-gray-400);
	display: flex;
	overflow: hidden;
	position: relative
}

.modal__content {
	display: flex;
	flex-direction: column;
	height: 100%;
	justify-content: start;
	overflow: hidden;
	width: 100%
}

.modal__body,
.modal__header {
	padding: 1rem
}

.modal__header {
	align-items: center;
	background-color: #999;
	background-color: var(--clr-gray-300);
	display: flex;
	height: -moz-fit-content;
	height: fit-content;
	justify-content: space-between;
	width: 100%
}

.modal__body {
	display: flex;
	flex-direction: column;
	justify-content: center;
	width: 100%
}

.modal-close {
	color: #020202;
	color: var(--clr-dark);
	cursor: pointer;
	font-size: 2rem;
	line-height: 2rem
}

.header__nav__options {
	list-style: none
}

.header__nav__options li {
	position: relative
}

@media (min-width:64rem) {
	.header__nav__options {
		display: flex;
		gap: 2rem
	}
}

.property__nav__wrapper {
	bottom: 0;
	left: 0;
	position: absolute;
	width: 100%;
	z-index: 9
}

.property__nav {
	grid-gap: 2rem;
	display: grid;
	gap: 2rem;
	padding-bottom: 2rem;
	padding-top: 2rem;
	position: relative;
	z-index: 1
}

.property__nav_options {
	display: flex;
	flex-wrap: wrap;
	gap: 2rem;
	justify-content: center;
	list-style: none
}

.property__nav a {
	color: #fafafa;
	color: var(--clr-light)
}

.bg-color {
	background-color: #182549;
	background-color: var(--clr-primary-400);
	height: 100%;
	opacity: .8;
	position: absolute;
	z-index: 0
}

.bg-color,
.scroller__wrapper {
	width: 100%
}

.scroller {
	overflow: hidden;
	width: 625rem
}

.scroller__inner {
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	gap: 2rem;
	justify-content: left;
	padding: 2rem .5rem
}

.scroller__inner:has(>.slide--240) {
	animation: scroller240 25s linear infinite forwards;
	animation: scroller240 25s var(--_scroll-direction, forwards) linear infinite
}

@keyframes scroller240 {
	0% {
		transform: translatex(0)
	}

	to {
		transform: translatex(calc(-18.2% - 5.25rem))
	}
}

.scroller__inner:has(>.slide--280) {
	animation: scroller280 25s linear infinite forwards;
	animation: scroller280 25s var(--_scroll-direction, forwards) linear infinite
}

@keyframes scroller280 {
	0% {
		transform: translatex(0)
	}

	to {
		transform: translatex(calc(-21% - 5.25rem))
	}
}

.scroller__inner:has(>.slide--320) {
	animation: scroller320 25s linear infinite forwards;
	animation: scroller320 25s var(--_scroll-direction, forwards) linear infinite
}

@keyframes scroller320 {
	0% {
		transform: translatex(0)
	}

	to {
		transform: translatex(calc(-23.8% - 5.25rem))
	}
}

.scroller__inner:has(>.slide--348) {
	animation: scroller348 25s linear infinite forwards;
	animation: scroller348 25s var(--_scroll-direction, forwards) linear infinite
}

@keyframes scroller348 {
	0% {
		transform: translatex(0)
	}

	to {
		transform: translatex(calc(-25.75% - 5.25rem))
	}
}

.scroller__inner:has(>.slide--360) {
	animation: scroller360 25s linear infinite forwards;
	animation: scroller360 25s var(--_scroll-direction, forwards) linear infinite
}

@keyframes scroller360 {
	0% {
		transform: translatex(0)
	}

	to {
		transform: translatex(calc(-26.6% - 5.25rem))
	}
}

.slide--240 img {
	height: 160px;
	width: 240px
}

.slide--280 img {
	height: 176px;
	width: 280px
}

.slide--320 img {
	height: 192px;
	width: 320px
}

.slide--348 img {
	height: 208px;
	width: 348px
}

.slide--360 img {
	height: 208px;
	width: 360px
}

.slideshow {
	align-items: center;
	display: flex;
	height: 100%;
	justify-content: center;
	position: relative;
	width: 100%
}

.hero .slideshow {
	height: 100vh
}

.slide {
	align-items: center;
	display: none;
	height: 100%;
	justify-content: center;
	position: absolute;
	width: 100%;
	z-index: 1
}

.hero .slide {
	height: 100vh;
	width: 100vw
}

.hero .slide:first-of-type,
.hero .slide:nth-of-type(2),
.hero .slide:nth-of-type(3),
.hero .slide:nth-of-type(4) {
	background-image: linear-gradient(180deg, rgba(0, 0, 0, .5), rgba(0, 0, 0, .25)), url(/assets/placeholder-image.png);
	background-position: 50%;
	background-size: cover
}

.flex-col-2 .slideshow {
	aspect-ratio: 1.5/1;
	height: 100%;
	min-height: 25rem
}

.property-page .slideshow img {
	height: 100%;
	left: 0;
	-o-object-fit: cover;
	object-fit: cover;
	position: absolute;
	top: 0;
	width: 100%
}

.active-slide {
	animation: blurIn 1s cubic-bezier(.7, 0, .3, 1) 0s 1 forwards;
	display: flex;
	z-index: 4
}

.dot-nav,
.prev-slide {
	display: flex
}

.dot-nav {
	align-items: center;
	border-radius: 10px;
	bottom: 1.5rem;
	gap: .5rem;
	height: 1.25rem;
	justify-content: center;
	position: absolute;
	visibility: hidden !important;
	width: 100px;
	z-index: 5
}

.dot {
	background: hsla(0, 0%, 100%, .5);
	border-radius: 50%;
	height: 10px;
	width: 10px
}

.dot:hover {
	cursor: pointer
}

.active-dot,
.dot:hover {
	background: #fafafa;
	background: var(--clr-light)
}

.active-dot {
	animation: dotfade 1s cubic-bezier(.7, 0, .3, 1) 0s 1 forwards
}

.slideshow .btn-slider {
	position: absolute;
	z-index: 11
}

.slideshow .btn-slider .btn--icon {
	background-color: #e7e7e7;
	background-color: var(--clr-gray-50);
	border: 1px solid #e7e7e7;
	border: 1px solid var(--clr-gray-50);
	color: #fafafa;
	color: var(--clr-light);
	opacity: .75
}

.slideshow .btn-slider .btn--icon:hover {
	opacity: .75
}

.slideshow .btn-slider:nth-last-child(2) {
	left: 8px
}

.slideshow .btn-slider:last-child {
	right: 8px
}

@keyframes slideIn {
	0% {
		transform: translate(-100vw)
	}

	to {
		transform: translate(0)
	}
}

@keyframes fadeIn {
	0% {
		opacity: 0
	}

	to {
		opacity: 1
	}
}

@keyframes blurIn {
	0% {
		filter: blur(10px);
		opacity: 0
	}

	to {
		filter: blur(0);
		opacity: 1
	}
}

@keyframes dotfade {
	0% {
		background: hsla(0, 0%, 100%, .5)
	}

	to {
		background: #fafafa;
		background: var(--clr-light)
	}
}

.tab {
	display: none;
	gap: 2rem
}

.tab.active {
	display: grid
}

.tab-options {
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap
}

.tab-options:has(>.underline) {
	gap: 1rem
}

.tab-button {
	display: inline-flex
}

.tab-button.underline {
	padding-bottom: .5rem;
	padding-top: .5rem
}

.tab-button.pill {
	padding: .75rem 1rem
}

.tab-button.underline.active {
	border-bottom: 2px solid #777;
	border-bottom: 2px solid var(--clr-gray-400)
}

.tab-button.pill.active {
	background-color: #ddd;
	background-color: var(--clr-gray-100)
}

@media (min-width:32rem) {
	.tab-options:has(>.underline) {
		gap: 2rem
	}
}

.form-tab {
	display: none
}

.tab-group.flex-col-2 {
	flex-wrap: nowrap
}

.tab-select,
.tabs-options--vertical {
	flex-direction: column
}

.tab-select {
	gap: .5rem;
	padding: 1rem 1.25rem;
	text-align: left
}

.tab-select.active {
	background-color: #ddd;
	background-color: var(--clr-gray-100)
}

.timeline {
	padding: 0 1rem
}

.timeline__finish,
.timeline__item {
	background-color: #020202;
	background-color: var(--clr-dark);
	list-style-type: none;
	position: relative;
	width: 2px
}

.timeline__finish:after,
.timeline__item:after {
	background-color: #fafafa;
	background-color: var(--clr-light);
	border: 2px solid #020202;
	border: 2px solid var(--clr-dark);
	border-radius: 50%;
	content: "";
	height: 1.5rem;
	left: 50%;
	position: absolute;
	top: 0;
	transform: translateX(-50%);
	width: 1.5rem;
	z-index: 1
}

.timeline__item-content {
	bottom: 0;
	display: flex;
	flex-direction: column;
	gap: 1rem;
	min-width: 16rem;
	padding-bottom: 1.5rem;
	padding-left: 2.25rem;
	padding-top: .25rem;
	position: relative;
	width: 100%
}

.timeline__finish {
	display: block
}

.timeline__finish:after {
	background-image: url(/assets/ic-check.png);
	background-position: 50%;
	background-repeat: no-repeat;
	background-size: 66%;
	display: block
}

@media (min-width:35rem) {
	.timeline__item-content {
		min-width: 25rem
	}
}

@media (min-width:48rem) {
	.timeline__item-content {
		min-width: 30rem
	}
}

@media (min-width:60rem) {
	.timeline__item-content {
		min-width: 36.5rem
	}
}

.hidden {
	opacity: 0;
	visibility: hidden
}

.fade {
	opacity: 1;
	transition-duration: 1s
}

.slide-up {
	animation: loadslideup 1s forwards;
	opacity: 0
}

@keyframes loadslideup {
	0% {
		opacity: 0;
		transform: translateY(15%)
	}

	to {
		opacity: 1;
		transform: translateY(0)
	}
}

.slide-right {
	animation: loadslideright 1s forwards;
	opacity: 0
}

@keyframes loadslideright {
	0% {
		opacity: 0;
		transform: translateX(-25%)
	}

	to {
		opacity: 1;
		transform: translateX(0)
	}
}

.slide-left {
	animation: loadslideleft 1s forwards;
	opacity: 0
}

@keyframes loadslideleft {
	0% {
		opacity: 0;
		transform: translateX(25%)
	}

	to {
		opacity: 1;
		transform: translateX(0)
	}
}

.slide-down {
	animation: loadslidedown 1s forwards;
	opacity: 0
}

@keyframes loadslidedown {
	0% {
		opacity: 0;
		transform: translateY(-25%)
	}

	to {
		opacity: 1;
		transform: translateY(0)
	}
}

.zoom-in {
	animation: zoomin 1s forwards;
	opacity: 0
}

@keyframes zoomin {
	0% {
		opacity: 0;
		transform: scale(.75)
	}

	to {
		opacity: 1;
		transform: scale(1)
	}
}

.blur-in {
	animation: blurin 1s forwards;
	opacity: 0
}

@keyframes blurin {
	0% {
		filter: blur(10px);
		opacity: 0
	}

	to {
		filter: blur(0);
		opacity: 1
	}
}

.underline-ltr:after {
	background: #0b193f;
	background: var(--clr-primary-500);
	bottom: -.5rem;
	content: "";
	height: .1875rem;
	left: 0;
	position: absolute;
	transition: .25s;
	width: 0
}

.underline-ltr:focus-within:after,
.underline-ltr:hover:after {
	width: 100%
}

.underline-ltr-2:after {
	background: #0b193f;
	background: var(--clr-primary-500);
	bottom: -.7rem;
	content: "";
	height: .75rem;
	left: 0;
	position: absolute;
	transition: .25s;
	width: 0
}

.underline-ltr-2:focus-within:after,
.underline-ltr-2:hover:after {
	bottom: -.5rem;
	height: .1875rem;
	width: 100%
}

.underline-rtl:after {
	background: #0b193f;
	background: var(--clr-primary-500);
	bottom: -.5rem;
	content: "";
	height: .1875rem;
	position: absolute;
	right: 0;
	transition: .25s;
	width: 0
}

.underline-rtl:focus-within:after,
.underline-rtl:hover:after {
	width: 100%
}

.underline-middle-expand:after {
	align-content: center;
	background: #0b193f;
	background: var(--clr-primary-500);
	bottom: -.5rem;
	content: "";
	display: flex;
	height: .1875rem;
	left: 50%;
	position: absolute;
	transition: .25s;
	width: 0
}

.underline-middle-expand:focus-within:after,
.underline-middle-expand:hover:after {
	left: 0;
	width: 100%
}

.underline-fade:after {
	background: #0b193f;
	background: var(--clr-primary-500);
	bottom: -.5rem;
	content: "";
	height: .1875rem;
	left: 0;
	opacity: 0;
	position: absolute;
	transition: .25s;
	width: 100%
}

.underline-fade:focus-within:after,
.underline-fade:hover:after {
	opacity: 1
}

.underline-up:after {
	background: #0b193f;
	background: var(--clr-primary-500);
	bottom: -1rem;
	content: "";
	height: .1875rem;
	left: 0;
	opacity: 0;
	position: absolute;
	transition: .25s;
	width: 100%
}

.underline-up:focus-within:after,
.underline-up:hover:after {
	bottom: -.5rem;
	opacity: 1
}

.underline-expand-up:after {
	align-content: center;
	background: #0b193f;
	background: var(--clr-primary-500);
	bottom: -1rem;
	content: "";
	display: flex;
	height: .1875rem;
	left: 50%;
	opacity: 0;
	position: absolute;
	transition: .25s;
	width: 0
}

.underline-expand-up:focus-within:after,
.underline-expand-up:hover:after {
	bottom: -.5rem;
	left: 0;
	opacity: 1;
	width: 100%
}

.round-corners:focus,
.round-corners:hover {
	border: 1px solid #182549;
	border: 1px solid var(--clr-primary-400);
	border-radius: 1.5rem
}

.lighten:focus,
.lighten:hover {
	background-color: #394563;
	background-color: var(--clr-primary-300);
	border: 1px solid #394563;
	border: 1px solid var(--clr-primary-300)
}

.darken:focus,
.darken:hover {
	background-color: var(--clr-primary-600);
	border: 1px solid var(--clr-primary-600)
}

.unfill-fade:focus,
.unfill-fade:hover {
	background-color: transparent;
	border: 1px solid #0b193f;
	border: 1px solid var(--clr-primary-500)
}

.fill-fade:focus,
.fill-fade:hover {
	background-color: #0b193f;
	background-color: var(--clr-primary-500);
	border: 1px solid #0b193f;
	border: 1px solid var(--clr-primary-500);
	color: #fafafa;
	color: var(--clr-light)
}

.fill-right:focus,
.fill-right:hover {
	border: 1px solid #0b193f;
	border: 1px solid var(--clr-primary-500);
	box-shadow: inset 14rem 0 0 0 #0b193f;
	box-shadow: inset 14rem 0 0 0 var(--clr-primary-500);
	color: #111;
	color: #fafafa;
	color: var(--clr-light)
}

.fill-right-bez {
	transition: 1s cubic-bezier(.77, .2, .05, 1)
}

.fill-right-bez:focus,
.fill-right-bez:hover {
	border: 1px solid #0b193f;
	border: 1px solid var(--clr-primary-500);
	box-shadow: inset 13rem 0 0 0 #0b193f;
	box-shadow: inset 13rem 0 0 0 var(--clr-primary-500);
	color: #111;
	color: #fafafa;
	color: var(--clr-light)
}

.fill-right-diag:focus,
.fill-right-diag:hover {
	color: #fafafa;
	color: var(--clr-light)
}

.fill-right-diag:before {
	border-bottom: 80px solid #0b193f;
	border-bottom: 80px solid var(--clr-primary-500);
	border-right: 50px solid transparent;
	bottom: 0;
	content: "";
	left: 0;
	position: absolute;
	right: -50px;
	top: 0;
	transform: translateX(-100%);
	transition-duration: .5s;
	z-index: -1
}

.fill-right-diag:focus:before,
.fill-right-diag:hover:before {
	transform: translateX(0)
}

.fill-in:focus,
.fill-in:hover {
	border: 1px solid #0b193f;
	border: 1px solid var(--clr-primary-500);
	box-shadow: inset 0 0 0 2rem #0b193f;
	box-shadow: inset 0 0 0 2rem var(--clr-primary-500);
	color: #111;
	color: #fafafa;
	color: var(--clr-light)
}

.fill-up:focus,
.fill-up:hover {
	box-shadow: inset 0 -4rem 0 0 #0b193f;
	box-shadow: inset 0 -4rem 0 0 var(--clr-primary-500);
	color: #fafafa;
	color: var(--clr-light)
}

.fill-up-alt:focus,
.fill-up-alt:hover {
	box-shadow: inset 0 -4rem 0 0 #fafafa;
	box-shadow: inset 0 -4rem 0 0 var(--clr-light);
	color: #020202;
	color: var(--clr-dark)
}

.fill-up-2 {
	backface-visibility: hidden;
	box-shadow: inset 0 0 0 1px #0b193f;
	box-shadow: inset 0 0 0 1px var(--clr-primary-500);
	transform: translateZ(0)
}

.fill-up-2:focus,
.fill-up-2:hover {
	border: 1px solid #0b193f;
	border: 1px solid var(--clr-primary-500);
	color: #fafafa;
	color: var(--clr-light)
}

.fill-up-2:before {
	background-color: #0b193f;
	background-color: var(--clr-primary-500);
	border-radius: 20%;
	content: "";
	height: 120%;
	left: 0;
	pointer-events: none;
	position: absolute;
	scale: 0 0;
	top: 0;
	transition: scale .6s cubic-bezier(.215, .61, .355, 1), translate .4s cubic-bezier(.215, .61, .355, 1);
	translate: 0 140%;
	width: 120%;
	z-index: -1
}

.fill-up-2:focus:before,
.fill-up-2:hover:before {
	border-radius: 50%;
	scale: 1.5 1.5;
	translate: 0 0
}

.fill-aware span {
	background-color: #0b193f;
	background-color: var(--clr-primary-500);
	border-radius: 50%;
	display: block;
	height: 0;
	position: absolute;
	transform: translate(-50%, -50%);
	transition: width .3s ease-in-out, height .3s ease-in-out;
	width: 0;
	z-index: -1
}

.fill-aware:hover span {
	height: 562.5px;
	width: 225%
}

.close:focus,
.close:hover,
.fill-aware:hover {
	color: #fafafa;
	color: var(--clr-light)
}

.close:focus,
.close:hover {
	box-shadow: inset -7rem 0 0 0 #0b193f, inset 7rem 0 0 0 #0b193f;
	box-shadow: inset -7rem 0 0 0 var(--clr-primary-500), inset 7rem 0 0 0 var(--clr-primary-500)
}

.close-diag:after,
.close-diag:before {
	bottom: 0;
	content: "";
	left: 0;
	position: absolute;
	right: 0;
	top: 0;
	transition-duration: .5s;
	z-index: -1
}

.close-diag:before {
	border-bottom: 80px solid #0b193f;
	border-bottom: 80px solid var(--clr-primary-500);
	border-right: 50px solid transparent;
	right: -50px;
	transform: translateX(-100%)
}

.close-diag:after {
	border-left: 50px solid transparent;
	border-top: 80px solid #0b193f;
	border-top: 80px solid var(--clr-primary-500);
	left: -50px;
	transform: translateX(100%)
}

.close-diag:focus:before,
.close-diag:hover:before {
	transform: translateX(-49%)
}

.close-diag:focus:after,
.close-diag:hover:after {
	transform: translateX(49%)
}

.close-diag:focus,
.close-diag:hover {
	color: #fafafa;
	color: var(--clr-light)
}

.glow {
	transition-duration: .3s;
	transition-property: box-shadow
}

.glow:focus,
.glow:hover {
	box-shadow: 0 0 8px #0b193f;
	box-shadow: 0 0 8px var(--clr-primary-500)
}

.shadow {
	transition-duration: .3s;
	transition-property: box-shadow
}

.shadow:focus,
.shadow:hover {
	box-shadow: 0 4px 4px #0b193f;
	box-shadow: 0 4px 4px var(--clr-primary-500)
}

.outline-inset {
	transition-duration: .3s;
	transition-property: box-shadow
}

.outline-inset:focus,
.outline-inset:hover {
	box-shadow: inset 0 0 0 4px #182549, 0 0 1px transparent;
	box-shadow: inset 0 0 0 4px var(--clr-primary-400), 0 0 1px transparent
}

.outline-change:focus,
.outline-change:hover {
	border: 1px solid #394563;
	border: 1px solid var(--clr-primary-300)
}

.outline-outward {
	overflow: visible
}

.outline-outward:before {
	border: 4px solid #0b193f;
	border: 4px solid var(--clr-primary-500);
	bottom: 0;
	content: "";
	left: 0;
	position: absolute;
	right: 0;
	top: 0;
	transition-duration: .3s;
	transition-property: top right bottom left
}

.outline-outward:focus:before,
.outline-outward:hover:before {
	bottom: -8px;
	left: -8px;
	right: -8px;
	top: -8px
}

.outline-inward {
	overflow: visible
}

.outline-inward:before {
	border: 4px solid #0b193f;
	border: 4px solid var(--clr-primary-500);
	bottom: -16px;
	content: "";
	left: -16px;
	opacity: 0;
	position: absolute;
	right: -16px;
	top: -16px;
	transition-duration: .3s;
	transition-property: top right bottom left
}

.outline-inward:focus:before,
.outline-inward:hover:before {
	bottom: -8px;
	left: -8px;
	opacity: 1;
	right: -8px;
	top: -8px
}

.lift {
	-webkit-tap-highlight-color: transparent;
	box-shadow: 0 0 1px transparent;
	transform: translateZ(0);
	transition-duration: .3s;
	transition-property: transform
}

.lift:focus,
.lift:hover {
	transform: translateY(-5px)
}

.float {
	transition-property: transform, box-shadow
}

.float:focus,
.float:hover {
	box-shadow: 0 .5em .75rem -.5rem #0b193f;
	box-shadow: 0 .5em .75rem -.5rem var(--clr-primary-500);
	transform: translateY(-.25rem)
}

.pulse:focus,
.pulse:hover {
	animation: pulse .75s;
	box-shadow: 0 0 0 2rem transparent
}

@keyframes pulse {
	0% {
		box-shadow: 0 0 0 0 var(--clr-primary-600)
	}
}

.corners {
	border: none
}

.corners:after,
.corners:before {
	border: 1px solid;
	border-radius: 2px;
	content: "";
	display: block;
	height: 50%;
	position: absolute;
	transition: all .75s cubic-bezier(.77, .2, .05, 1);
	width: 20%
}

.corners:after {
	border-bottom-color: #182549;
	border-bottom-color: var(--clr-primary-400);
	border-left-color: transparent;
	border-right-color: #182549;
	border-right-color: var(--clr-primary-400);
	border-top-color: transparent;
	bottom: 0;
	right: 0
}

.corners:before {
	border-bottom-color: transparent;
	border-left-color: #182549;
	border-left-color: var(--clr-primary-400);
	border-right-color: transparent;
	border-top-color: #182549;
	border-top-color: var(--clr-primary-400);
	left: 0;
	top: 0
}

.corners:focus:after,
.corners:focus:before,
.corners:hover:after,
.corners:hover:before {
	height: 100%;
	width: 100%
}

.corbers:focus,
.corners:hover,
.overlap {
	border: none
}

.overlap {
	overflow: visible
}

.overlap:after,
.overlap:before {
	border: 1px solid;
	border-radius: 2px;
	content: "";
	display: block;
	height: 50%;
	position: absolute;
	transition: all .75s cubic-bezier(.77, .2, .05, 1);
	width: 20%
}

.overlap:after {
	border-bottom-color: #182549;
	border-bottom-color: var(--clr-primary-400);
	border-left-color: transparent;
	border-right-color: #182549;
	border-right-color: var(--clr-primary-400);
	border-top-color: transparent;
	bottom: 0;
	right: 0
}

.overlap:before {
	border-bottom-color: transparent;
	border-left-color: #182549;
	border-left-color: var(--clr-primary-400);
	border-right-color: transparent;
	border-top-color: #182549;
	border-top-color: var(--clr-primary-400);
	left: 0;
	top: 0
}

.overlap:focus:after,
.overlap:focus:before,
.overlap:hover:after,
.overlap:hover:before {
	border-color: #182549;
	border-color: var(--clr-primary-400);
	height: 104%;
	width: 102%
}

.overlap:focus,
.overlap:hover {
	border: none
}

.bounce {
	animation: down .7s infinite alternate;
	-webkit-animation: down .7s infinite alternate
}

@keyframes down {
	0% {
		transform: translateY(0)
	}

	to {
		transform: translateY(20px)
	}
}

.parallax {
	background-attachment: fixed
}

.overflow {
	height: 100%;
	position: relative
}

@media (min-width:75rem) {
	.overflow>div {
		position: absolute;
		z-index: 2
	}
}

.--rounded-corners {
	border-radius: .25rem
}

.--rounded {
	border-radius: 25rem
}

.--borderless {
	border: none !important
}

.--text-centered {
	text-align: center
}

.--full-width {
	width: 100%
}

@media (min-width:64rem) {
	.nowrap {
		flex-wrap: nowrap
	}
}

.--gap8 {
	gap: .5rem
}

.--gap16 {
	gap: 1rem
}

.--gap24 {
	gap: 1.5rem
}

.--gap32 {
	gap: 2rem
}

.--gap40 {
	gap: 2.5rem
}

.--gap48 {
	gap: 3rem
}

.--gap56 {
	gap: 3.5rem
}

.--gap64 {
	gap: 4rem
}

.--gap72 {
	gap: 4.5rem
}

.--gap80 {
	gap: 5rem
}

.--gap88 {
	gap: 5.5rem
}

.--gap96 {
	gap: 6rem
}

.--gap104 {
	gap: 6.5rem
}

.--content-centered {
	justify-content: center
}

.--content-right {
	justify-content: right
}

.--content-left {
	justify-content: left
}

.--content-spaced {
	justify-content: space-between
}

.--content-even {
	justify-content: space-evenly !important
}

.--align-center {
	align-items: center
}

.--align-top {
	align-items: start
}

.--align-bottom,
.--align-right {
	align-items: end
}

.--justify-right {
	justify-self: end
}

.--justify-center {
	justify-self: center
}

.--center-to-left {
	text-align: center
}

.--reverse-wrap {
	flex-wrap: wrap-reverse
}

.--wrap-reverse {
	flex-direction: column-reverse
}

@media (min-width:48rem) {
	.--center-to-left {
		text-align: left
	}
}

@media (min-width:75rem) {
	.--wrap-reverse {
		flex-direction: inherit
	}
}

.img-wrapper {
	display: inline-flex;
	overflow: hidden;
	position: relative
}

.img-clickable img {
	transition-duration: .25s
}

.img-clickable:hover img {
	transform: scale(1.1)
}

.img-wrapper .im-overlay {
	align-items: end;
	background: linear-gradient(180deg, transparent, rgba(0, 0, 0, .1), rgba(0, 0, 0, .33), rgba(0, 0, 0, .66));
	display: grid;
	height: 100%;
	padding: .75rem 1.25rem;
	position: absolute;
	width: 100%;
	z-index: 1
}

.img-wrapper .im-overlay span {
	color: #fafafa;
	color: var(--clr-light)
}

.img-wrapper--full,
.img-wrapper--property-additional,
.img-wrapper--property-main {
	aspect-ratio: 1.75/1;
	width: 100%
}

.img-wrapper--full {
	min-height: 25rem
}

.img-wrapper--175-1 {
	aspect-ratio: 1.75/1
}

.img-wrapper--15-1 {
	aspect-ratio: 1.5/1
}

.img-wrapper--1-1 {
	aspect-ratio: 1/1
}

img {
	height: 100%;
	width: 100%
}

.img--xs {
	aspect-ratio: 1/1;
	height: 1rem;
	width: 1rem
}

.img--s {
	height: 1.5rem;
	width: 1.5rem
}

.img--m,
.img--s {
	aspect-ratio: 1/1
}

.img--m {
	height: 2.5rem;
	width: 2.5rem
}

.img--lg {
	aspect-ratio: 1/1;
	height: 3rem;
	width: 3rem
}

.img--xl {
	aspect-ratio: 1/1;
	height: 5rem;
	width: 5rem
}

@media (min-width:48rem) {
	.img-wrapper--full {
		aspect-ratio: 4/1
	}
}

@media (min-width:75rem) {
	.img-wrapper--full {
		aspect-ratio: 3/1
	}
}

@media (min-width:35rem) {
	.--maxwidth400 {
		max-width: 25rem
	}
}

@media (min-width:48rem) {
	.--maxwidth480 {
		max-width: 30rem
	}
}

@media (min-width:64rem) {
	.--maxwidth280 {
		max-width: 17.5rem
	}

	.--maxwidth320 {
		max-width: 20rem
	}

	.--maxwidth400 {
		max-width: 25rem
	}

	.--maxwidth432 {
		max-width: 27rem
	}

	.--maxwidth440 {
		max-width: 27.5rem
	}

	.--maxwidth480 {
		max-width: 30rem
	}

	.--maxwidth512 {
		max-width: 32rem
	}

	.--maxwidth520 {
		max-width: 32.5rem
	}

	.--maxwidth560 {
		max-width: 35rem
	}

	.--maxwidth640 {
		max-width: 40rem
	}

	.--maxwidth680 {
		max-width: 42.5rem
	}

	.--maxwidth720 {
		max-width: 45rem
	}

	.--maxwidth768 {
		max-width: 48rem
	}

	.--maxwidth1024 {
		max-width: 64rem
	}

	.--maxwidth1200 {
		max-width: 75rem
	}

	.--maxwidth1440 {
		max-width: 90rem
	}
}

.info .content-box,
.info-reverse .content-box {
	max-width: 40rem
}

.info-reverse .flex-col-2 {
	flex-direction: column-reverse
}

@media (min-width:58rem) {

	.info .flex-col-2,
	.info-reverse .flex-col-2 {
		flex-direction: row
	}

	.info .content-box,
	.info .img-wrapper,
	.info .slideshow,
	.info-reverse .content-box,
	.info-reverse .img-wrapper,
	.info-reverse .slideshow {
		max-width: 27rem
	}
}

@media (min-width:75rem) {

	.info .content-box,
	.info .img-wrapper,
	.info .slideshow,
	.info-reverse .content-box,
	.info-reverse .img-wrapper,
	.info-reverse .slideshow {
		max-width: 30rem
	}
}

@media (min-width:90rem) {

	.info .content-box,
	.info .img-wrapper,
	.info .slideshow,
	.info-reverse .content-box,
	.info-reverse .img-wrapper,
	.info-reverse .slideshow {
		max-width: 35rem
	}
}

.img-container {
	display: inline-flex;
	flex-direction: column;
	position: relative
}

.flex-col-1 .img-container .img-wrapper,
.flex-col-1.--content-centered .img-container .img-wrapper,
.flex-col-2 .img-container .img-wrapper {
	aspect-ratio: 1.5/1;
	flex-grow: 1;
	flex-shrink: 1;
	width: 100%
}

@media (min-width:40rem) {
	.img-container {
		flex-direction: row
	}

	.flex-col-1.--content-centered .img-container .img-wrapper,
	.flex-col-2 .img-container .img-wrapper {
		width: 50%
	}

	.flex-col-1 .img-container .img-wrapper {
		aspect-ratio: 1/1.5;
		width: 30%
	}
}

@media (min-width:58rem) {
	.flex-col-1 .img-container .img-wrapper {
		aspect-ratio: 1.5/1
	}
}

@media (min-width:64rem) {
	.flex-col-2 .img-container {
		max-width: 35rem;
		width: 45%
	}

	.flex-col-2 .img-container .img-wrapper {
		aspect-ratio: 1/1.5;
		flex-grow: 1;
		flex-shrink: 1;
		width: 50%
	}
}

.list-2-col {
	-moz-column-gap: 1.5rem;
	column-gap: 1.5rem;
	display: flex;
	flex-wrap: wrap;
	justify-items: left;
	max-width: 40rem;
	row-gap: .25rem
}

.list-2-col .vertical-list {
	width: 100%
}

@media (min-width:40.5rem) {
	.list-2-col .vertical-list {
		width: 40%
	}
}

@media (min-width:64rem) {
	.list-2-col {
		max-width: 27rem
	}

	.list-2-col .vertical-list {
		width: 55%
	}
}

@media (min-width:75rem) {
	.list-2-col {
		max-width: 40rem
	}

	.list-2-col .vertical-list {
		width: 47.5%
	}
}

section:has(>.bg-blend--left) {
	padding-top: 0
}

.bg-blend--left {
	aspect-ratio: 1.75/1;
	position: relative
}

@media (min-width:35rem) {
	section:has(>.bg-blend--left) {
		padding-top: 4rem
	}

	.bg-blend .flex-col-1 {
		align-items: end
	}

	.bg-blend--left {
		height: 100%;
		overflow: hidden;
		position: absolute;
		width: 50%
	}

	.bg-blend .content-box.cta {
		max-width: 45%
	}
}

@media (min-width:64rem) {
	section:has(>.bg-blend--left) {
		padding-top: 8rem
	}
}

.property-details {
	display: flex;
	flex-direction: column;
	gap: 1rem;
	width: 100%
}

@media (min-width:40rem) {
	.property-details {
		display: flex;
		flex-direction: column;
		gap: 1rem;
		width: 45%
	}
}

.rwd-table {
	margin: 1em 0;
	min-width: 300px
}

.rwd-table tr {
	border-bottom: 1px solid #c8cbd4;
	border-bottom: 1px solid var(--clr-primary-100)
}

.rwd-table th {
	display: none
}

.rwd-table td,
.rwd-table th {
	border-bottom: 1px solid #c8cbd4;
	border-bottom: 1px solid var(--clr-primary-100);
	padding: .5rem 0
}

.rwd-table td {
	display: block
}

.rwd-table td:first-child {
	padding-top: .5em
}

.rwd-table td:last-child {
	padding-bottom: .5em
}

.rwd-table td:before {
	content: attr(data-th);
	display: inline-block;
	font-weight: 700;
	width: 6.5em
}

@media (min-width:480px) {
	.rwd-table td:before {
		display: none
	}
}

.rwd-table td,
.rwd-table th {
	text-align: left
}

@media (min-width:480px) {

	.rwd-table td,
	.rwd-table th {
		display: table-cell;
		padding: .5rem 0
	}

	.rwd-table td:first-child,
	.rwd-table th:first-child {
		padding-left: 0
	}

	.rwd-table td:last-child,
	.rwd-table th:last-child {
		padding-right: 0
	}
}

.rwd-table {
	border-radius: .4em;
	overflow: hidden
}

.rwd-table tr {
	border-color: #46637f
}

.rwd-table td,
.rwd-table th {
	margin: .5em 1em
}

@media (min-width:480px) {

	.rwd-table td,
	.rwd-table th {
		padding: 1rem 0
	}
}

.img-overlay-banner {
	bottom: 0;
	display: grid;
	justify-content: left;
	left: 0;
	padding: .75rem;
	position: absolute;
	width: 100%;
	z-index: 9;
	z-index: 2
}

.img-overlay-banner .bg-color {
	opacity: .5
}

.header-underline {
	background-color: #bb2424;
	background-color: var(--clr-tertiary-500);
	border: none;
	display: block;
	height: 4px;
	margin: 20px 0;
	width: 5rem
}

.legal section div ul {
	grid-gap: .25rem;
	display: grid;
	gap: .25rem;
	padding-left: 1rem !important
}

.legal section div {
	grid-gap: 1rem;
	display: grid;
	gap: 1rem
}

iframe {
	height: 30rem;
	width: 100%
}

footer iframe {
	height: 17.5rem;
	width: 100%
}

@media (min-width:42.5rem) {
	footer iframe {
		min-width: 32rem
	}
}

.logo {
	display: inline-flex
}

.logo img {
	-o-object-fit: contain;
	object-fit: contain
}