:root {
    --map-text-size: .9rem;
    --regular-text-size: 1rem;
    --subtitle-text-size: 1.5rem;
    --heading-text-size: 3.125rem;

    --regular-text-weight: 400;
    --medium-text-weight: 500;
    --bold-text-weight: 700;

    --regular-text-line-height: 1.25rem;
    --subtitle-text-line-height: 2rem;
    --heading-text-line-height: 4rem;

    --spacing: 25px;

    --white: #ffffff;
    --light-grey: #dadada;
    --background-light: #f7f7f7;

    --light-blue: #00A4FF;
    --dark-blue: #072670;
    --dark-red: #CB2424;

    --text-color: #282828;
}

@media (max-width: 768px) {
    :root {
        --spacing: 15px;

        --map-text-size: 0.875rem;
        --regular-text-size: 0.875rem;

        --heading-text-size: 2rem;
        --heading-text-line-height: 2.5rem;
    }
}

/* Add your custom styles here */

@font-face {
    font-family: 'Aeonik';
    src:
        url('../fonts/Aeonik-Regular.woff') format('woff'),
        url('../fonts/Aeonik-Regular.ttf') format('truetype');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Aeonik';
    src:
        url('../fonts/Aeonik-Medium.woff') format('woff'),
        url('../fonts/Aeonik-Medium.ttf') format('truetype');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Aeonik';
    src:
        url('../fonts/Aeonik-Bold.woff') format('woff'),
        url('../fonts/Aeonik-Bold.ttf') format('truetype');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

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

* {
    margin: 0;
    padding: 0;
    font-family: 'Aeonik', sans-serif !important;
}

p {
    margin-block-end: 0;
}

li {
    list-style: none;
}

img {
    max-width: 100%;
    display: block;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    text-wrap: balance;
    margin-block-start: 0;
    margin-block-end: 0;
}

[type="submit"]:focus,
button:focus {
    color: unset;
    background-color: unset;
}

/* Elementor Reset */
.elementor-icon {
    display: block;
}

/* GLOBALS */
.regular-text {
    color: var(--text-color);
    font-size: var(--regular-text-size);
    font-weight: var(--regular-text-weight);
    line-height: var(--regular-text-line-height);
}

.map-text {
    color: var(--text-color);
    font-size: var(--map-text-size);
    font-weight: var(--regular-text-weight);
    line-height: var(--regular-text-line-height);
}

.bold-text {
    color: var(--text-color);
    font-size: var(--regular-text-size);
    font-weight: var(--bold-text-weight);
    line-height: var(--regular-text-line-height);
}

.regular-accent {
    color: var(--text-color);
    font-size: var(--regular-text-size);
    font-weight: var(--medium-text-weight);
    line-height: var(--regular-text-line-height);
}

.regular-link {
    padding-bottom: 5px;
    border-bottom: 1px solid var(--dark-blue);
}

.regular-link:hover {
    text-decoration: none;
    color: var(--light-blue);
    border-bottom-color: var(--light-blue);
}

.title-text {
    font-size: var(--heading-text-size) !important;
    line-height: var(--heading-text-line-height) !important;
}

.subtitle-text {
    font-size: var(--subtitle-text-size) !important;
    line-height: var(--subtitle-text-line-height) !important;
}

.text-dark-blue {
    color: var(--dark-blue);
}

.text-white {
    color: #fff;
}

.custom-icon {
    height: 24px;
    width: auto;
}

.cls-1 {
    fill: none;
    stroke: currentColor;
    stroke-miterlimit: 10;
    stroke-width: 1;

}

a.elementor-link {
    color: var(--dark-blue);
    text-decoration: underline;
    text-underline-offset: 5px;
    text-decoration-thickness: 1px;
    text-decoration-color: var(--dark-blue);
}

a.elementor-link:hover {
    text-decoration-color: var(--light-blue);
    color: var(--light-blue);
}

.listing-type--for-lease {
    background-color: var(--light-blue);
}

.listing-type--for-sale {
    background-color: var(--dark-blue);
}

.listing-type--sold {
    background-color: var(--dark-red);
}

.home-grid-container a:hover h2,
.home-grid-container a:hover svg {
    color: var(--light-blue);
    fill: var(--light-blue) !important;
}

@media (max-width: 1350px) {
    .home-grid-container {
        grid-template-columns: repeat(3, 1fr) !important;
    }
}

@media (max-width: 1024px) {
    .home-grid-container {
        grid-template-columns: repeat(2, 1fr) !important;
    }
}

@media (max-width: 768px) {
    .home-grid-container {
        grid-template-columns: repeat(1, 1fr) !important;
    }
}