body {
    max-width: 100vw;
    overflow-x: hidden;
    background-color: #FCFCFC;
    scroll-margin-top: 125px;
}

.grecaptcha-badge { visibility: hidden !important; }

/* Box sizing rules */
*,
*::before,
*::after {
    box-sizing: border-box;
}

/* Remove default margin */
body,
h1,
h2,
h3,
h4,
p,
figure,
blockquote,
dl,
dd {
    margin: 0;
}

/* Remove list styles on ul, ol elements with a list role, which suggests default styling will be removed */
ul[role='list'],
ol[role='list'] {
    list-style: none;
}

/* Set core root defaults */
html:focus-within {
    scroll-behavior: smooth;
}

/* Set core body defaults */
body {
    min-height: 100vh;
    text-rendering: optimizeSpeed;
    line-height: 1.5;
    position: relative;
    overscroll-behavior-y: none;
}

/* A elements that don't have a class get default styles */
a:not([class]) {
    text-decoration-skip-ink: auto;
}

.transition-all {
    transition: all .3s ease;
}

/* Make images easier to work with */
img,
picture {
    max-width: 100%;
    display: block;
}

/* Inherit fonts for inputs and buttons */
input,
button,
textarea,
select {
    font: inherit;
}

a {
    color: inherit;
    position: relative;
    text-decoration: none;
}

.underline:after, .underline-primary:after {
    content: "";
    position: absolute;
    background-color: var(--primary);
    height: 2px;
    width: 0;
    left: 0;
    bottom: -10px;
    transition: 0.3s;
}

.underline:hover {
    color: inherit;
    cursor: pointer;
}

.underline-primary:hover {
    color: var(--primary);
    cursor: pointer;
}

.underline:hover:after, .underline-primary:hover:after {
    width: 100%;
}

.dropdown-menu .underline:after {
    bottom: 0;
}

.dropdown-menu .dropdown-arrow {
    transform: translate(2px, -2px) rotate(0deg);
    transition: .3s ease all;
    opacity: .8;
}

.dropdown-menu:hover .dropdown-arrow {
    transform: translate(2px, -2px) rotate(-180deg);
    opacity: 1;
}

button, .button {
    border: none;
    padding: 1rem 1.5rem;
    margin: 0;
    text-decoration: none;
    background: #0069ed;
    color: #ffffff;
    font-size: 1rem;
    line-height: 1;
    cursor: pointer;
    text-align: center;
    transition: background 250ms ease-in-out, transform 150ms ease;
    -webkit-appearance: none;
    -moz-appearance: none;
    display: flex;
    gap: .75rem;
    align-items: center;
    width: fit-content;
}

button:hover, .button:hover {
    filter: brightness(95%);
}

.slight-tint-button {
    filter: brightness(95%);
}

.slight-tint-button:hover {
    filter: brightness(90%);
}

.hover-tint:hover {
    filter: brightness(95%);
}

.hover-tint:active {
    filter: brightness(90%);
}

.button-on-tint-outline {
    background-color: rgba(var(--tint), 30%);
    color: var(--color-on-tint);
    border: 1px solid var(--color-on-tint);
    transition: .3s ease all;
}

.button-primary-outline {
    background-color: rgba(var(--tint), 30%);
    color: var(--primary);
    border: 1px solid var(--primary);
    transition: .3s ease all;
}

/* Remove all animations, transitions and smooth scroll for people that prefer not to see them */
@media (prefers-reduced-motion: reduce) {
    html:focus-within {
        scroll-behavior: auto;
    }

    *,
    *::before,
    *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
        scroll-behavior: auto !important;
    }
}

/* Custom color classes */
.color-primary {
    color: var(--primary);
}

.color-on-primary {
    color: var(--color-on-primary);
}

.bg-primary {
    background-color: var(--primary);
}

.color-background {
    color: var(--text);
}

.color-on-background {
    color: var(--color-on-background);
}

.bg-background {
    background-color: var(--text);
}

.bg-color-on-background {
    background-color: var(--color-on-background);
}

.bg-tint-darker {
    background-color: rgba(var(--tint), .85);
}

.bg-tint-full {
    background-color: rgb(var(--tint));
}

.color-on-tint {
    color: var(--color-on-tint);
}

.bg-menu {
    background-color: rgb(var(--menu));
}

.color-on-menu {
    color: var(--color-on-menu);
}

.bg-white {
    background-color: #fff;
}

.shadow-5 {
    box-shadow: 0 1px 1px rgba(0, 0, 0, 0.2),
    0 2px 2px rgba(var(--tint), 0.2),
    0 4px 4px rgba(var(--tint), 0.2),
    0 8px 8px rgba(var(--tint), 0.2),
    0 16px 16px rgba(var(--tint), 0.2);
}

.text-shadow-5 {
    text-shadow: 0 1px 1px rgba(var(--tint), .2),
    0 2px 2px rgba(var(--tint), .2),
    0 4px 4px rgba(var(--tint), .2),
    0 8px 8px rgba(var(--tint), .2),
    0 16px 16px rgba(var(--tint), .2);
}

.menu {
    top: 0;
    left: 0;
    right: 0;
    z-index: 99;
}

.menu-absolute, .nav-container {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 74px;
}

.menu-large .menu-absolute, .menu-large .nav-container {
    height: 110px;
}

.close-menu, .open-menu {
    padding: 10px;
}

.menu-toggle .close-icon {
    display: none;
}

.menu-link {
    opacity: .7;
    transition: .3s ease all;
}

.menu-link:hover {
    opacity: 1;
}

.opacity-hover {
    opacity: .7;
    transition: .3s ease all;
}

.opacity-hover:hover {
    opacity: 1;
}

.nav-container {
    padding: 0 6vw;
    gap: 1.4rem;
    z-index: 99;
    transition: background-color .3s ease;
    position: fixed;
}

.menu-large .nav-container {
    transition: background-color .3s ease, height .5s ease;
}

.menu-icon {
    display: none;
}

.mobile-cta {
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 10;
}

.bottom-call-button {
    display: none;
}

.menu-top-cta {
    margin-left: auto;
}

.flex-mobile-links {
    display: flex;
    width: 100%;
    height: 100%;
    align-items: center;
    gap: inherit;
}


.dropdown-menu {
    position: relative;
    display: inline-block;
}

.menu-content {
    display: none;
    position: absolute;
    background-color: rgb(var(--menu));
    min-width: 200px;
    z-index: 1;
    filter: drop-shadow(0 10px 8px rgb(0 0 0 / 0.04)) drop-shadow(0 4px 3px rgb(0 0 0 / 0.1));
}

.links-hidden {
    display: block;
    padding: 12px 16px;
    line-height: 2rem !important;
}

.dropdown-menu:hover .menu-content {
    display: block;
}

.mobile-nav {
    display: none;
}


.native-select {
    -moz-appearance: none;
    -webkit-appearance: none;
    appearance: none;
    border-color: #fff;
    outline: none;
    background-color: var(--text);
    color: var(--text);
    border-radius: .5rem;
    padding: .8rem 1rem;
    width: 260px;
    max-width: 92vw;
    box-shadow: rgba(100, 100, 111, 0.2) 0 7px 29px 0;
}

.native-select:focus {
    outline: .15rem solid var(--primary);
}

.native-select-light, .select-light {
    -moz-appearance: none;
    -webkit-appearance: none;
    appearance: none;
    border-color: #fff;
    outline: none;
    background-color: #ececec;
    color: var(--text);
    border-radius: .5rem;
    padding: .8rem 1rem;
    width: 200px;
    max-width: 92vw;
}

.select-light {
    padding: 0 5px 0 0;
    cursor: pointer;
}

.select-light > span {
    padding: .8rem 1rem;
}

.native-select-light:focus, .light-container-open .select-light {
    outline: .15rem solid var(--primary);
}

.light-container-arrow {
    transition: .3s ease transform;
    transform: rotate(0);
    height: 8px;
    width: 13px;
}

.light-container-open .light-container-arrow {
    transform: rotate(-180deg);
}

.select-light-content {
    margin-top: .75rem;
    display: none;
    overflow: hidden;
    transition: .3s ease max-height;
    background-color: #ececec;
    border-radius: .5rem;
    padding: 1.5rem;
    min-width: 100%;
    min-height: fit-content;
    z-index: 50;
}

.light-container-open .select-light-content {
    display: block;
    overflow: visible;
}

.w-select-light {
    width: 200px;
    max-width: 92vw;
}

.select-light-split-input {
    flex: 1;
    width: calc(100% - 1rem);
}

.select-light-split-input input, .select-light-input input {
    width: calc(100% - 1rem);
    border-radius: .5rem;
    padding: .75rem .25rem .75rem .75rem;
    background-color: #fff;
    border: 1px solid #DADCDE;
    font-size: .875rem;
}

.select-light-input {
    margin-bottom: .25rem;
}

.select-light-input:last-of-type {
    margin-bottom: 0;
}

.select-light-split-input label, .select-light-input label {
    font-weight: bold;
    font-size: .875rem;
    margin-bottom: .5rem;
}

.select-light-input label {
    margin: 0;
    width: 90px;
}

.box-shadow {
    box-shadow: rgba(100, 100, 111, 0.2) 0 7px 29px 0;
}

.section-xl {
    padding: 0 4vw;
    max-width: 1600px;
    margin-left: auto;
    margin-right: auto;
}

.section {
    padding: 0 4vw;
    max-width: 1500px;
    margin-left: auto;
    margin-right: auto;
}

.section-lg {
    padding: 0 6vw;
}

/* Double slider */

.slider-container {
    width: 100%;
    margin-top: .35rem;
    margin-bottom: -.35rem;
}

[slider] {
    position: relative;
    height: 14px;
    border-radius: 10px;
    text-align: left;
    margin: 45px 0 10px 0;
    user-select: none;
}

[slider] > div {
    position: absolute;
    left: 13px;
    right: 15px;
    height: 5px;
}

[slider] > div > [inverse-left] {
    position: absolute;
    left: 0;
    height: 5px;
    border-radius: 10px;
    background-color: #B9BDC1;
    margin: 0 7px 0 0;
}

[slider] > div > [inverse-right] {
    position: absolute;
    right: 0;
    height: 5px;
    border-radius: 10px;
    background-color: #B9BDC1;
    margin: 0 0 0 7px;
}

[slider] > div > [range] {
    position: absolute;
    left: 0;
    height: 5px;
    border-radius: 14px;
    background-color: var(--primary);
}

[slider] > div > [thumb] {
    position: absolute;
    top: -8px;
    z-index: 2;
    height: 20px;
    width: 20px;
    text-align: left;
    margin-left: -11px;
    cursor: pointer;
    box-shadow: 0 3px 8px rgba(0, 0, 0, 0.4);
    background-color: #FFF;
    border-radius: 50%;
    border: 1px solid #DADCDE;
    outline: none;
}

div[slider] > input[type=range]::-ms-thumb {
    pointer-events: all;
    width: 16px;
    height: 16px;
    border-radius: 0;
    border: 0 none;
    background: red;
}

div[slider] > input[type=range]::-moz-range-thumb {
    pointer-events: all;
    width: 20px;
    height: 20px;
    border-radius: 0;
    border: 0 none;
    background: red;
}

div[slider] > input[type=range]::-webkit-slider-thumb {
    pointer-events: all;
    width: 20px;
    height: 20px;
    border-radius: 0;
    border: 0 none;
    background: red;
    -webkit-appearance: none;
}

div[slider] > input[type=range]::-ms-fill-lower {
    background: transparent;
    border: 0 none;
}

div[slider] > input[type=range]::-ms-fill-upper {
    background: transparent;
    border: 0 none;
}

[slider] > input[type=range] {
    position: absolute;
    pointer-events: none;
    -webkit-appearance: none;
    z-index: 3;
    height: 14px;
    top: -2px;
    width: 100%;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
    filter: alpha(opacity=0);
    -moz-opacity: 0;
    -khtml-opacity: 0;
    opacity: 0;
}

div[slider] > input[type=range]::-ms-track {
    -webkit-appearance: none;
    background: transparent;
    color: transparent;
}

div[slider] > input[type=range]::-moz-range-track {
    -moz-appearance: none;
    background: transparent;
    color: transparent;
}

div[slider] > input[type=range]:focus::-webkit-slider-runnable-track {
    background: transparent;
    border: transparent;
}

div[slider] > input[type=range]:focus {
    outline: none;
}

div[slider] > input[type=range]::-ms-tooltip {
    display: none;
}

[slider] > div > [sign] {
    user-select: none;
    opacity: 0;
    position: absolute;
    margin-left: -14px;
    top: -38px;
    z-index: 3;
    background-color: var(--primary);
    color: var(--color-on-primary);
    width: 28px;
    height: 28px;
    border-radius: 28px;
    -webkit-border-radius: 28px;
    align-items: center;
    -webkit-justify-content: center;
    justify-content: center;
    text-align: center;
}

[slider] > div > [sign]:after {
    position: absolute;
    content: '';
    left: 0;
    border-radius: 16px;
    top: 19px;
    border-left: 14px solid transparent;
    border-right: 14px solid transparent;
    border-top-width: 16px;
    border-top-style: solid;
    border-top-color: var(--primary);
}

[slider] > div > [sign] > span {
    font-size: 12px;
    font-weight: 500;
    line-height: 28px;
}

[slider]:hover > div > [sign] {
    opacity: 1;
}

/* Home page specific */
.hero-img, .bottom-cta-img, .top-bar {
    height: 100%;
    width: 100%;
    z-index: -5;
}

.hero-img:after, .bottom-cta-img:after, .top-bar:after, .about-left-card:after, .about-right-card:after {
    position: absolute;
    height: 100%;
    width: 100%;
    background-color: rgba(var(--tint), var(--tint-opacity));
    top: 0;
    left: 0;
    display: block;
    content: "";
}

.hero, .top-bar {
    outline: 5px solid var(--primary);
}

.hero *, .hero, .hero-img {
    max-height: 800px;
}

.bottom-cta *, .bottom-cta, .bottom-cta-img {
    max-height: 550px;
}

.bottom-cta, .bottom-cta-img {
    height: 550px;
}

.hero-content {
    width: 700px;
    max-width: 92vw;
    z-index: 2;
}

.login {
    width: 500px;
    max-width: 92vw;
    z-index: 2;
    background-color: rgb(var(--tint));
    border-radius: 1rem;
}

.cta-content {
    width: 700px;
    max-width: 92vw;
    z-index: 2;
}

.hero-form {
    gap: 1rem;
    margin-top: 2.5rem;
}

.find-my-home {
    max-width: fit-content;
    white-space: nowrap;
    padding-top: 1.25rem;
    padding-bottom: 1.25rem;
}

.top-bar, .top-bar:after {
    width: 100%;
    height: 300px;
}

.top-bar-h1 {
    top: calc(50% + 2rem);
    width: 100%;
    text-align: center;
}

.about-right-card, .about-left-card {
    min-height: 400px;
}

.about-right-card *, .about-left-card * {
    z-index: 4;
}

.contact-card {
    border: 1px solid #E0E2E4;
    width: fit-content;
    border-radius: 1rem;
    background-color: #fff;
}

/*Contact Form*/
.form-container {
    padding: 1rem;
    border-radius: 0.375rem;
    background-color: white;
}

.form-center {
    position: relative;
    max-width: 40rem;
    margin-left: auto;
    margin-right: auto;
}

.form-element {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-row-gap: 1rem;
    grid-column-gap: 2rem;
}

.form-label {
    display: block;
    font-size: 0.875rem;
    font-weight: 500;
    color: rgba(55, 65, 81);
}

.mx-auto {
    margin-left: auto;
    margin-right: auto;
}

.form-input {
    padding: 0.75rem 1rem;
    display: block;
    width: 100%;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
    outline: none;
    border: 1px solid rgba(209, 213, 219);
    border-radius: 0.375rem;
    resize: vertical;
}

.form-input:focus {
    outline: none;
    border: 1px solid var(--primary);
    box-shadow: 0 0 0 3px rgba(164, 202, 254, 0.45);
}

/* Chat box */
.chat-box {
    bottom: -40px;
    right: 20px;
    height: 40px;
    background-color: var(--primary);
    z-index: 50;
    cursor: pointer;
    border-top-left-radius: .5rem;
    border-top-right-radius: .5rem;
    padding: 1rem;
    transition: .5s ease all;
}

/* Preview card container*/
.preview-card-container {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    justify-content: space-between;
    grid-gap: 2rem;
    margin-bottom: 12rem;
}

/* Preview cards */
.preview-card {
    user-select: none;
    border-radius: 1rem;
    background-color: #fff;
    border: 1px solid #DADCDE;
}

.img-container {
    border-radius: 1rem 1rem 0 0 !important;
    overflow: hidden;
    height: 200px;
    width: 100%;
}

.community-img {
    max-width: 100%;
    width: auto;
    height: 175px;
    padding: 0 1rem;
    margin: 0 auto;
}

.card-content {
    padding: 1.25rem;
}

.card-benefits {
    padding: .5rem .25rem;
}

.light-card {
    background-color: #fff;
    border: 1px solid #DADCDE;
    padding: 2rem;
}

.partial-hr {
    height: 1px;
    width: 60px;
    background-color: #DADCDE;
    margin: 3rem 0;
}

.home-description {
    width: 500px;
    max-width: 92vw;
    opacity: .7;
}

.bg-loading {
    background: #eee;
    background: linear-gradient(110deg, #ececec 8%, #f5f5f5 18%, #ececec 33%);
    border-radius: 5px;
    background-size: 200% 100%;
    -webkit-animation: 1.5s shine linear infinite;
    animation: 1.5s shine linear infinite;
}

@-webkit-keyframes shine {
    to {
        background-position-x: -200%;
    }
}

@keyframes shine {
    to {
        background-position-x: -200%;
    }
}

.min-height-individual-top {
    min-height: 200px;
}

.individual-main-img {
    aspect-ratio: 16 / 9;
    max-width: 100%;
}

.opacity-20 {
    opacity: .2;
}

.hover\:opacity-80:hover {
    opacity: 0.8;
}

/* Testimonial */
.testimonial-content {
    padding-top: 20px;
    width: clamp(300px, 35vw, 600px);
    max-width: 92vw;
}

.testimonial-gap {
    gap: 12rem;
}

.testimonial-bg {
    background-color: rgba(var(--tint-rgb), .04);
}

.max-width-92vw {
    max-width: 92vw;
}

.company-picture {
    width: 400px;
    height: 500px;
    max-height: fit-content;
}

.content-400 {
    min-width: min(400px, 92vw);
}

.content-max-700 {
    max-width: 700px;
    margin-left: auto;
    margin-right: auto;
}

.no-content {
    width: 100%;
    height: 300px;
    margin-top: 80px;
    margin-bottom: 80px;
    display: flex;
    justify-content: center;
    align-items: center;
}

.tag-border {
    padding: .4rem .6rem;
    margin: .5rem 0 1.5rem 0;
    border: 1px solid var(--text);
    color: var(--text);
}

/* Filter styles */
.filter-container:not(.filter-container:nth-child(-n+3)) {
    display: none;
}

.fullscreen {
    position: fixed;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    background-color: rgb(0, 0, 0, .6);
    z-index: 999;
    overflow: hidden;
    max-width: 100vw;
    max-height: 100vh;
}

#fullscreenCloseBg {
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
}

.fullscreen-img-container {
    position: relative;
    width: 88vw;
    height: 88vh;
    padding: 1.5rem;
    border-radius: 1rem;
    background-color: #fff;
}

#closeFullscreen {
    height: 2.5rem;
    padding: .75rem;
    cursor: pointer;
}

.fullscreen-mini-img-container {
    width: 100%;
    overflow-x: auto;
    overflow-y: hidden;
    max-width: 88vw;
    padding: .2rem;
}

.fullscreen-mini-img {
    height: 100%;
    width: auto;
    padding: .1rem;
    cursor: pointer;
}

.border-light {
    outline: 1px solid #DADCDE;
}

.border-primary {
    outline: 2px solid var(--primary);
}

.mini-img-active {
    outline: .2rem solid var(--primary);
}

.bg-f2f2f2 {
    background-color: #F2F2F2;
}

.summary-icon {
    width: 80px;
    text-align: center;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.only-3 > a:nth-child(n+4) {
    display: none;
}

/* Tailwind styles */
.absolute {
    position: absolute;
}

.absolute-center {
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.absolute-top-right {
    top: 1rem;
    right: 1rem;
}

.fixed {
    position: fixed;
}

.relative {
    position: relative;
}

.block {
    display: block;
}

.flex {
    display: flex;
}

.flex-1 {
    flex: 1 1 0;
}

.flex-2 {
    flex: 2;
}

.flex-col {
    flex-direction: column;
}

.flex-wrap {
    flex-wrap: wrap;
}

.justify-between {
    justify-content: space-between;
}

.justify-center {
    justify-content: center;
}

.items-start {
    align-items: start;
}

.items-center {
    align-items: center;
}

.items-end {
    align-items: end;
}

.justify-between-after {
    flex-flow: row wrap;
    justify-content: space-between;
}

.justify-between-after::after {
    content: "";
    flex: auto;
}

.h-2px {
    height: 2px;
}

.h-16 {
    height: 16%;
    max-height: 16%;
}

.h-84 {
    height: 84%;
    max-height: 84%;
}

.h-100px {
    height: 100px;
}

.h-80px {
    height: 80px;
}

.w-80px {
    width: 80px;
}

.h-full {
    height: 100%;
}

.w-75 {
    width: 75%;
}


.w-full {
    width: 100%;
}

.w-auto {
    width: auto;
}

.min-w-full {
    min-width: 100%;
}

.max-w-none {
    max-width: none;
}

.h-screen {
    height: 100vh;
}

.min-h-screen {
    min-height: 100vh;
}

.min-h-full {
    min-height: 100%;
}

.w-fit {
    width: fit-content;
}

.w-350 {
    width: 350px;
}

.max-w-fit {
    max-width: fit-content;
}

.max-w-600 {
    width: 600px;
    max-width: 92vw;
}

.max-w-4xl {
    /*width: 56rem;*/
    width: 64rem;
    max-width: 92vw;
}
.h-64 {
    height: 64px;
    background-color: white;
}
.h-500 {
    height: 500px;
}

.max-w-full {
    max-width: 100%;
}

.max-h-fit {
    max-height: fit-content;
}

.w-screen {
    width: 100vw;
}

.mx-auto {
    margin-left: auto;
    margin-right: auto;
}

.mx-2 {
    margin-left: .5rem;
    margin-right: .5rem;
}

.mx-4 {
    margin-left: 1rem;
    margin-right: 1rem;
}

.mx-8 {
    margin-left: 2rem;
    margin-right: 2rem;
}

.rounded-lg {
    border-radius: .5rem;
}

.rounded-xl {
    border-radius: .75rem;
}

.rounded-full {
    border-radius: 9999px;
}

.text-xs {
    font-size: 0.75rem;
    line-height: 1rem;
}

.text-sm {
    font-size: 0.875rem;
    line-height: 1.25rem;
}

.text-lg {
    font-size: 1.125rem;
    line-height: 1.75rem;
}

.text-xl {
    font-size: 1.25rem;
    line-height: 1.75rem;
}

.text-2xl {
    font-size: 1.5rem;
    line-height: 2rem;
}

.text-3xl {
    font-size: 1.875rem;
    line-height: 2.25rem;
}

.text-3point5xl {
    font-size: 2rem;
    line-height: 2.625rem;
}

.text-4xl {
    font-size: 2.25rem;
    line-height: 3rem;
}

.text-5xl {
    font-size: 2.75rem;
    line-height: 1;
}

.text-slate-900 {
    color: rgb(15 23 42);
}

.text-slate-600 {
    color: rgb(71 85 105);
}

.text-slate-500 {
    color: rgb(100 116 139);
}

.text-center {
    text-align: center;
}

.text-right {
    text-align: right;
}
.font-medium {
    font-weight: 500;
}
.font-bold {
    font-weight: bold;
}

.cursor-pointer {
    cursor: pointer;
}

.z-1 {
    z-index: 1;
}

.z-2 {
    z-index: 2;
}

.z-3 {
    z-index: 3;
}

.z-4 {
    z-index: 4;
}

.z-5 {
    z-index: 5;
}

.z-6 {
    z-index: 6;
}

.z-7 {
    z-index: 7;
}

.z-8 {
    z-index: 8;
}

.z-9 {
    z-index: 9;
}

.z-10 {
    z-index: 10;
}

.z-11 {
    z-index: 11;
}

.z-100 {
    z-index: 100;
}

.gap-2 {
    gap: .5rem;
}

.gap-4 {
    gap: 1rem;
}

.gap-8 {
    gap: 2rem;
}

.gap-16 {
    gap: 4rem;
}

.gap-32 {
    gap: 8rem;
}

.gap-48 {
    gap: 12rem;
}

.gap-64 {
    gap: 16rem;
}

.m-0 {
    margin: 0;
}

.ml-auto {
    margin-left: auto;
}

.mr-auto {
    margin-right: auto;
}

.my-3 {
    margin-top: .75rem;
    margin-bottom: .75rem;
}

.my-4 {
    margin-top: 1rem;
    margin-bottom: 1rem;
}

.my-6 {
    margin-top: 1.5rem;
    margin-bottom: 1.5rem;
}

.my-12 {
    margin-top: 3rem;
    margin-bottom: 3rem;
}

.my-24 {
    margin-top: 6rem;
    margin-bottom: 6rem;
}

.my-32 {
    margin-top: 8rem;
    margin-bottom: 8rem;
}

.my-40 {
    margin-top: 10rem;
    margin-bottom: 10rem;
}

.my-48 {
    margin-top: 12rem;
    margin-bottom: 12rem;
}

.my-64 {
    margin-top: 16rem;
    margin-bottom: 16rem;
}

.my-96 {
    margin-top: 24rem;
    margin-bottom: 24rem;
}

.py-2 {
    padding-top: .5rem;
    padding-bottom: .5rem;
}

.py-3 {
    padding-top: .75rem;
    padding-bottom: .75rem;
}

.py-4 {
    padding-top: 1rem;
    padding-bottom: 1rem;
}

.py-6 {
    padding-top: 1.5rem;
    padding-bottom: 1.5rem;
}

.py-20 {
    padding-top: 5rem;
    padding-bottom: 5rem;
}

.py-24 {
    padding-top: 6rem;
    padding-bottom: 6rem;
}

.py-32 {
    padding-top: 8rem;
    padding-bottom: 8rem;
}

.py-40 {
    padding-top: 10rem;
    padding-bottom: 10rem;
}

.px-4 {
    padding-left: 1rem;
    padding-right: 1rem;
}

.px-6 {
    padding-left: 1.5rem;
    padding-right: 1.5rem;
}

.px-20vw {
    padding-left: 20vw;
    padding-right: 20vw;
}

.ml {
    margin-left: .25rem;
}

.ml-2 {
    margin-left: .5rem;
}

.ml-3 {
    margin-left: .75rem;
}

.ml-4 {
    margin-left: 1rem;
}

.ml-8 {
    margin-left: 2rem;
}

.ml-12 {
    margin-left: 3rem;
}

.ml-16 {
    margin-left: 4rem;
}

.ml-32 {
    margin-left: 8rem;
}

.mr {
    margin-right: .25rem;
}

.mr-2 {
    margin-right: .5rem;
}

.mr-3 {
    margin-right: .75rem;
}

.mr-4 {
    margin-right: 1rem;
}

.mr-8 {
    margin-right: 2rem;
}

.mr-10 {
    margin-right: 2.5rem;
}

.mt, .mt-1 {
    margin-top: .25rem;
}

.mt-2 {
    margin-top: .5rem;
}

.mt-4 {
    margin-top: 1rem;
}

.mt-6 {
    margin-top: 1.5rem;
}

.mt-8 {
    margin-top: 2rem;
}

.mt-10 {
    margin-top: 2.5rem;
}

.mt-12 {
    margin-top: 3rem;
}

.mt-16 {
    margin-top: 4rem;
}

.mt-24 {
    margin-top: 6rem;
}

.mt-32 {
    margin-top: 8rem;
}

.mt-40 {
    margin-top: 10rem;
}

.mt-48 {
    margin-top: 12rem;
}

.mt-64 {
    margin-top: 16rem;
}

.mb-0 {
    margin-bottom: 0;
}

.mb {
    margin-bottom: .25rem;
}

.mb-2 {
    margin-bottom: .5rem;
}

.mb-4 {
    margin-bottom: 1rem;
}

.mb-6 {
    margin-bottom: 1.5rem;
}

.mb-8 {
    margin-bottom: 2rem;
}

.mb-10 {
    margin-bottom: 2.5rem;
}

.mb-12 {
    margin-bottom: 3rem;
}

.mb-16 {
    margin-bottom: 4rem;
}

.mb-24 {
    margin-bottom: 6rem;
}

.mb-40 {
    margin-bottom: 10rem;
}

.-mb-48 {
    margin-bottom: -12rem;
}

.-mt-4 {
    margin-top: -1rem;
}

.-mt-24 {
    margin-top: -6rem;
}

.-mt-28 {
    margin-top: -6.5rem;
}

.p-0 {
    padding: 0;
}

.p-4 {
    padding: 1rem;
}

.p-8 {
    padding: 2rem;
}

.p-16 {
    padding: 4rem;
}

.pt-4 {
    padding-top: 1rem;
}

.pt-6 {
    padding-top: 1.5rem;
}

.pt-8 {
    padding-top: 2rem;
}

.pt-16 {
    padding-top: 4rem;
}

.pt-24 {
    padding-top: 6rem;
}

.pt-32 {
    padding-top: 8rem;
}

.pt-48 {
    padding-top: 12rem;
}

.pt-64 {
    padding-top: 16rem;
}

.pb-2 {
    padding-bottom: .25rem;
}

.pb-12 {
    padding-bottom: 3rem;
}

.pb-16 {
    padding-bottom: 4rem;
}

.pb-24 {
    padding-bottom: 6rem;
}

.pb-32 {
    padding-bottom: 8rem;
}

.opacity-10 {
    opacity: .1;
}

.opacity-50 {
    opacity: .5;
}

.opacity-60 {
    opacity: .6;
}

.opacity-70 {
    opacity: .7;
}

.opacity-90 {
    opacity: .9;
}

.absolute-center {
    left: 50%;
    top: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
}

.object-fit {
    width: 100%;
    height: 100%;
    object-fit: cover;
    overflow: hidden;
}

.object-contain {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.object-cover {
    object-fit: cover;
}

.avatar {
    border-radius: 9999px;
    height: 140px !important;
    width: 140px;
    overflow: hidden;
}

ul {
    list-style: none;
    padding: 0;
}

ul li::before {
    content: "\2022";
    color: var(--primary);
    font-weight: bold;
    display: inline-block;
    width: 1rem;
    margin-left: -1.25rem;
}

.columns-2 {
    columns: 2;
    -webkit-columns: 2;
    -moz-columns: 2;
}

.hover-underline:hover {
    text-decoration: underline;
}

.hover-primary:hover {
    color: var(--primary);
}

.hover-opacity {
    opacity: .7;
}

.hover-opacity:hover {
    opacity: 1;
}

.overflow-hidden {
    overflow: hidden;
}

.child-hover-primary {
    transition: .3s ease color, .3s ease padding-left;
    opacity: .7;
}

.parent-hover-primary:hover .child-hover-primary {
    color: var(--primary);
    opacity: 1;
}

.transition {
    transition: .3s ease all;
}

.transition-transform {
    transition: .3s ease transform;
    transform: none;
}

.grayscale {
    filter: grayscale(100%);
}

.ratio-square {
    aspect-ratio: 1;
}

.full-absolute {
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
}

.shadow-lg {
    box-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
}

select:disabled {
    opacity: .8;
    user-select: none;
    cursor: default;
    filter: grayscale(1);
}

.disabled-submit {
    opacity: .8;
    user-select: none;
    cursor: not-allowed;
    box-shadow: none;
}

.logo-width {
    transition: .3s ease all;
}

.menu-regular .logo-width {
    max-height: 6.375rem;
}

.whitespace-nowrap {
    white-space: nowrap;
}

.filter-gap {
    row-gap: 1rem;
    column-gap: 1rem;
}

.pagination {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 2rem 4rem;
}
.pagination-item::before {
    content: "";
    color: transparent;
}
.pagination-item:hover {
    text-decoration:underline;
}

.mr-auto {
    margin-right: auto;
}

.ml-auto {
    margin-left: auto;
}

.order-1 {
    order: 1;
}

.order-2 {
    order: 2;
}

.order-3 {
    order: 3;
}
.hover\:underline:hover {
    text-decoration: underline;
}
div.switch {
    width: 55px;
    height: 29px;
    border-radius: 18px;
    -moz-border-radius: 18px;
    -webkit-border-radius: 18px;
    background-color: #777;
    position: relative;
    cursor: pointer;
    transition: 0.15s all ease-in-out;
    -moz-transition: 0.15s all ease-in-out;
    -webkit-transition: 0.15s all ease-in-out;
}

div.switch.active {
    background-color: var(--primary);
}

div.switch div.notch {
    width: 23px;
    height: 23px;
    border-radius: 50%;
    -moz-border-radius: 50%;
    -webkit-border-radius: 50%;
    background-color: #f0f0f0;
    position: absolute;
    top: 3px;
    left: 3px;
    transition: 0.1s all ease-in-out;
    -moz-transition: 0.1s all ease-in-out;
    -webkit-transition: 0.1s all ease-in-out;
}

div.switch.active div.notch {
    left: 28px;
}

.hidden {
    display: none;
}

.light-border {
    border: 1px solid #DADCDE;
}

.xy200 {
    width: 200px;
    height: 200px;
}

.filters-loading {
    position: relative;
}

.filters-loading::after {
    content: '';
    position: absolute;
    z-index: 2;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(255, 255, 255, .8);
}

.lds-text {
    display: none;
    position: absolute;
    color: var(--primary);
    transform: translateX(-50%);
    left: 50%;
    top: 110px;
    opacity: .6;
    z-index: 3;
}

.lds-ripple {
    z-index: 3;
    display: none;
    position: absolute;
    transform: translateX(-50%);
    left: 50%;
    top: 30px;
    width: 80px;
    height: 80px;
}

.lds-ripple div {
    position: absolute;
    border: 4px solid var(--primary);
    opacity: 1;
    border-radius: 50%;
    animation: lds-ripple 1s cubic-bezier(0, 0.2, 0.8, 1) infinite;
}

.lds-ripple div:nth-child(2) {
    animation-delay: -0.5s;
}

@keyframes lds-ripple {
    0% {
        top: 36px;
        left: 36px;
        width: 0;
        height: 0;
        opacity: 0;
    }
    4.9% {
        top: 36px;
        left: 36px;
        width: 0;
        height: 0;
        opacity: 0;
    }
    5% {
        top: 36px;
        left: 36px;
        width: 0;
        height: 0;
        opacity: 1;
    }
    100% {
        top: 0;
        left: 0;
        width: 72px;
        height: 72px;
        opacity: 0;
    }
}

.filters-loading .lds-ripple, .filters-loading .lds-text {
    display: inline-block;
}

/* Breakpoints */
@media (min-width: 1536px) {
    .hero *, .hero, .hero-img {
        max-height: 1080px;
    }

    .nav-container {
        padding: 0 calc(50vw - 750px);
    }

    .section {
        padding-left: 153px;
        padding-right: 153px;
    }

    .section-lg {
        padding: 0 calc(50rem - 950px);
    }
}

@media (min-width: 1280px) {
    .nav-container .bg-menu {
        background: transparent;
    }
}

@media (max-width: 1280px) {
    .flex-mobile-links {
        display: flex;
        flex-direction: column;
        position: absolute;
        justify-content: center;
        align-items: center;
        height: 100vh;
        left: 0;
        right: 0;
        top: 0;
        gap: 3rem;
        z-index: 99;
    }

    .flex-col-reverse-lg {
        flex-direction: column-reverse;
    }

    .menu-top-cta {
        display: none;
    }

    .menu-link {
        opacity: 1;
        font-size: 1.4rem;
    }

    .menu-icon {
        display: inline-block;
        cursor: pointer;
    }

    .menu-icon svg {
        fill: var(--color-on-tint);
        color: var(--color-on-tint);
    }

    .close-icon svg {
        fill: var(--color-on-tint);
        color: var(--color-on-tint);
    }

    .menu-toggle {
        transform: translateX(100vw);
    }

    .lg-flex-col {
        flex-direction: column;
    }

    .lg-hidden {
        display: none;
    }

    .preview-card-container {
        grid-template-columns: 1fr 1fr;
        gap: 3rem;
    }

    .footer {
        flex-direction: column;
    }

    .footer > *:not(:last-child) {
        margin-bottom: 4rem;
    }

    .dropdown-menu {
        display: none;
    }

    .mobile-nav {
        display: block;
    }
}

@media (max-width: 1024px) {
    .flex-col-lg {
        flex-direction: column;
    }

    .flex-center-y-gap-lg {
        align-items: center;
        justify-content: center;
        row-gap: 4rem;
    }

    .mt-32-lg {
        margin-top: 8rem;
    }

    .gap-8-lg {
        gap: 2rem;
    }

    .flex-wrap-lg {
        flex-wrap: wrap;
    }

    .w-full-lg {
        width: 100%;
    }

    .order-1-lg {
        order: 1;
    }

    .order-2-lg {
        order: 2;
    }

    .order-3-lg {
        order: 3;
    }

    .gap-x-8-lg {
        column-gap: 2rem;
    }

    .m-0-lg {
        margin: 0;
    }

    .ml-0-lg {
        margin-left: 0;
    }

    .my-24-lg {
        margin-top: 6rem;
        margin-bottom: 6rem;
    }

    .text-left-lg {
        text-align: left;
        margin-bottom: 2rem;
    }

    .pagination {
        padding: 2rem;
        gap: 2rem;
    }
}

@media (min-width: 768px) {
    .md\:flex-row {
        flex-direction: row;
    }
}

@media (max-width: 768px) {
    .flex-wrap-md {
        flex-wrap: wrap;
    }

    .flex-col-md {
        flex-direction: column;
    }

    .testimonial-gap {
        gap: 2rem;
    }

    .testimonial-content {
        width: 400px;
    }

    .md-flex-col {
        flex-direction: column;
    }

    .md-pt-0 {
        padding-top: 0;
    }

    .md-hidden {
        display: none;
    }

    .preview-card-container {
        justify-content: center;
        grid-template-columns: 1fr;
    }

    .filter-gap {
        row-gap: .6rem;
    }

    .native-select-light, .select-light {
        width: 78vw;
    }
}

@media (max-width: 640px) {
    .hero-form {
        flex-direction: column;
        align-items: center;
    }

    .find-my-home {
        margin-top: 1rem;
    }

    .bottom-call-button {
        display: inline-block;
        position: absolute;
        bottom: 0;
        left: 0;
        right: 0;
        height: 80px;
    }

    .chat {
        display: none;
    }

    .flex-col-sm {
        flex-direction: column;
        gap: 1.5rem;
    }

    .flex-col-reverse-sm {
        flex-direction: column-reverse;
    }

    .ml-0-sm {
        margin-left: 0;
    }

    .h-500 {
        max-width: 100% !important;
    }

    .justify-center-sm {
        justify-content: center;
    }

    .sm-w-large {
        width: 60%;
        height: auto;
    }

    .m-0-sm {
        margin: 0;
    }

    .p-0-sm {
        padding: 0;
    }
}
