/*******************************************************
 *
 * HP Styles
 *
 *******************************************************/


/*** Slideshow ***/

#hp-ss {}

.hp-ss {
    padding: 20px;
    padding: 1.25vw;
}

.hp-ss-inner {
    position: relative;
}

.hp-ss-inner > canvas {
    display: block;
    width: 100%;
    height: auto;
    max-height: 100vh;
}

.hp-ss-inner .aios-slider {
    position: fixed;
    top: 20px;
    top: 1.25vw;
    bottom: 20px;
    bottom: 1.25vw;
    left: 20px;
    left: 1.25vw;
    right: 20px;
    right: 1.25vw;
    z-index: 1;
    
}

.hp-ss-inner .aios-slider .aios-slider-img {}

.hp-ss-inner .aios-slider .aios-slider-img::before {
    content: '';
    width: 100%;
    height: 100%;
    background: #000;
    opacity: 0.25;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
}

.hp-ss-inner .aios-slider .aios-slider-img::after {
    content: '';
    width: 100%;
    height: 100%;
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0.51) 0%, rgba(0, 0, 0, 0.46) 5%, rgba(0, 0, 0, 0.13) 25%, rgba(0, 0, 0, 0) 36%, rgba(0, 0, 0, 0) 37%, rgba(0, 0, 0, 0) 100%);
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
}

.hp-ss-inner .aios-slider .aios-slider-img canvas {
    min-height: auto !important;
    max-height: 100vh;
}

.hp-ss-inner .aios-slider .aios-slider-img img {
    position: fixed;
}

.hp-ss-inner .aios-slider .aios-slider-tagline {
    width: fit-content;
    height: fit-content;
    background: transparent !important;
    padding: 0 20px !important;
    padding: 0 1.25vw !important;
    top: 0;
    margin: auto;
}

.hp-ss-inner .aios-slider .aios-slider-tagline .aios-slider-tagline-description {
    margin: 86px 0 0;
    margin: 5.38vw 0 0;
}

.hp-ss-inner .aios-slider .aios-slider-tagline .aios-slider-tagline-description h2 {
    font-family: var(--font-family-title);
    font-size: 40px;
    font-size: 2.5vw;
    font-weight: 400;
    letter-spacing: -0.025em;
    color: #fff;
    text-align: center;
    text-transform: uppercase;
}

.hp-ss-inner .aios-slider .aios-slider-tagline .aios-slider-tagline-description h2 span {
    display: block;
    font-family: var(--font-family-default);
    font-size: 20px;
    font-size: 1.25vw;
    letter-spacing: 0.3em;
    padding: 0 0 0 0.3em;
    margin: 0 0 8px;
    margin: 0 0 0.5vw;
}

.tagline-button {
    margin: 19px 0 0;
    margin: 1.19vw 0 0;
}

.tagline-button a {
    min-width: 195px;
    min-width: 12.19vw;
}


/*** Quick Search ***/

#hp-qs {
    background: #fff;
    z-index: 1;
}

.hp-qs {
    padding: 0 20px;
    padding: 0 1.25vw;
}

.hp-qs-inner {
    display: flex;
    flex-flow: row wrap;
    justify-content: space-between;
    max-width: 1140px;
    max-width: 71.25vw;
    margin: auto;
    padding: 106px 0 108px;
    padding: 6.63vw 0 6.75vw;
}

.qs-title-text {
    margin: 36px 0 0;
    margin: 2.25vw 0 0;
}

.qs-title {
    margin: 0 0 29px;
    margin: 0 0 1.81vw;
}

.qs-title h2::before {
    left: calc(100% + 23px);
    left: calc(100% + 1.44vw);
}

.qs-title h2::after {
    right: calc(100% + 23px);
    right: calc(100% + 1.44vw);
}

.qs-title h2 i {
    top: -136px;
    top: -8.5vw;
    left: -109px;
    left: -6.81vw;
}

.qs-text {
    max-width: 410px;
    max-width: 25.63vw;
    position: relative;
    z-index: 1;
}

.qs-text p {
    font-size: 16px;
    font-size: 1vw;
    font-weight: 400;
    letter-spacing: 0.05em;
    line-height: 1.625;
    color: #000;
}

.qs-form {
    flex-grow: 1;
    max-width: 653px;
    max-width: 40.81vw;
}

.qs-form-inner {}

.qs-form-inputs {
    display: flex;
    flex-flow: row wrap;
    margin: 0 -7.5px;
    margin: 0 -0.47vw;
}

.qs-form-input {
    width: 25%;
    padding: 0 7.5px;
    padding: 0 0.47vw;
    margin: 0 0 28px;
    margin: 0 0 1.75vw;
    position: relative;
}

.qs-form-input:first-child {
    width: 100%;
}

.qs-form-input > i {
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 7px;
    font-size: 0.44vw;
    font-weight: 700;
    color: #000;
    position: absolute;
    top: -2px;
    top: -0.13vw;
    bottom: 0;
    right: 15px;
    right: 0.94vw;
    margin: auto;
}

.qs-form-input input,
.qs-form-input select {
    display: block;
    width: 100%;
    background: transparent;
    border: none;
    border-bottom: 1px solid #000;
    border-bottom: 0.06vw solid #000;
    font-size: 14px;
    font-size: 0.88vw;
    font-weight: 400;
    letter-spacing: 0.05em;
    color: #000;
    text-transform: uppercase;
    padding: 16px 0;
    padding: 1vw 0;
    appearance: none;
}

.qs-form-button {
    justify-content: flex-end;
    margin: 17px 0 0;
    margin: 1.06vw 0 0;
}


/*** Featured Residence ***/

#hp-fr {
    background: #fff;
    z-index: 1;
}

.hp-fr {
    padding: 0 20px;
    padding: 0 1.25vw;
}

.hp-fr-inner {
    display: flex;
    flex-flow: row wrap;
}

.fr-photo-slides {
    width: 51.283%;
    position: relative;
    z-index: 2;
}

.fr-photo-slide {}

.fr-photo-slide a {
    display: block;
}

.fr-photo-slide-inner {}

.fr-photo-slide-photo {}

.fr-photo-slide a:hover .fr-photo-slide-photo img {
    filter: grayscale(1);
}

.fr-title-info-slides {
    width: 48.717%;
    padding: 114px 83px;
    padding: 7.13vw 5.19vw;
}

.fr-title {
    margin: 0 0 23px;
    margin: 0 0 1.44vw;
}

.fr-title h2 i {
    top: -142px;
    top: -8.88vw;
    left: -127px;
    left: -7.94vw;
}

.fr-title h2::before {
    right: calc(100% + 23px);
    right: calc(100% + 1.44vw);
}

.fr-title h2::after {
    left: calc(100% + 23px);
    left: calc(100% + 1.44vw);
}

.fr-info-slides {
    position: relative;
    z-index: 1;
}

.fr-info-slide {}

.fr-info-slide-inner {}

.fr-info-slide-inner h2 {
    font-family: var(--font-family-title);
    font-size: 32px;
    font-size: 2vw;
    font-weight: 400;
    letter-spacing: -0.025em;
    color: #000;
}

.fr-info-slide-inner h2::after {
    content: '';
    display: block;
    width: 53px;
    width: 3.31vw;
    height: 1px;
    height: 0.06vw;
    background: var(--secondary);
    margin: 10px 0 22px;
    margin: 0.63vw 0 1.38vw;
}

.fr-info-slide-inner h3 {
    font-family: var(--font-family-title);
    font-size: 20px;
    font-size: 1.25vw;
    font-weight: 400;
    color: #000;
    text-transform: uppercase;
}

.fr-info-slide-inner span {
    display: block;
    font-size: 16px;
    font-size: 1vw;
    font-weight: 700;
    letter-spacing: 0.05em;
    color: #000;
    margin: 7px 0 17px;
    margin: 0.44vw 0 1.06vw;
}

.fr-info-slide-inner p {
    font-size: 16px;
    font-size: 1vw;
    font-weight: 400;
    letter-spacing: 0.05em;
    line-height: 1.5;
    color: #000;
    max-width: 530px;
    max-width: 33.13vw;
}


/*** Homes To Explore ***/

#hp-hte {
    background: #fff;
    z-index: 1;
}

.hp-hte {
    padding: 0 20px;
    padding: 0 1.25vw;
}

.hp-hte-inner {
    padding: 151px 0 93px;
    padding: 9.44vw 0 5.81vw;
}

.hte-title {
    margin: 0 0 43px;
    margin: 0 0 2.69vw;
}

.hte-title h2::before {
    left: calc(100% + 23px);
    left: calc(100% + 1.44vw);
}

.hte-title h2::after {
    right: calc(100% + 23px);
    right: calc(100% + 1.44vw);
}

.hte-title h2 i {
    top: -140px;
    top: -8.75vw;
    left: -97px;
    left: -6.06vw;
}

.hte-text {
    position: relative;
    z-index: 1;
    margin: 0 0 60px;
    margin: 0 0 3.75vw;
}

.hte-text p {
    font-size: 16px;
    font-size: 1vw;
    font-weight: 400;
    letter-spacing: 0.05em;
    line-height: 1.625;
    color: #000;
    text-align: center;
}

.hte-slides-arrows {
    position: relative;
}

.hte-slides {
    margin: 0 -4.5px;
    margin: 0 -0.28vw;
}

.hte-slides:not(.slick-initialized) {
    display: flex;
    flex-flow: row wrap;
}

.hte-slide {
    width: 33.33%;
    padding: 0 4.5px;
    padding: 0 0.28vw;
}

.hte-slide {}

.hte-slide a {
    display: block;
    position: relative;
}

.hte-slide-inner {
    position: relative;
    overflow: hidden;
}

.hte-slide-inner::before {
    content: '';
    width: 0;
    height: 0;
    border-width: 6px;
    border-width: 0.38vw;
    border-style: solid;
    border-image: linear-gradient(135deg, rgba(238, 16, 119, 1) 0%, rgba(255, 75, 0, 1) 100%);
    border-image-slice: 1;
    border-bottom: none;
    border-left: none;
    position: absolute;
    top: 0;
    right: 0;
    z-index: 2;
    opacity: 0;
    transition: var(--default-transition);
}

.hte-slide a:hover .hte-slide-inner::before {
    width: 100%;
    height: 100%;
    opacity: 1;
}

.hte-slide-inner::after {
    content: '';
    width: 0;
    height: 0;
    border-width: 6px;
    border-width: 0.38vw;
    border-style: solid;
    border-image: linear-gradient(135deg, rgba(238, 16, 119, 1) 0%, rgba(255, 75, 0, 1) 100%);
    border-image-slice: 1;
    border-top: none;
    border-right: none;
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: 2;
    opacity: 0;
    transition: var(--default-transition);
}

.hte-slide a:hover .hte-slide-inner::after {
    width: 100%;
    height: 100%;
    opacity: 1;
}

.hte-slide-photo {}

.hte-slide-photo::before {
    content: '';
    width: 100%;
    height: 65%;
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0) 1%, rgba(0, 0, 0, 0) 2%, rgba(0, 0, 0, 0) 10%, rgba(0, 0, 0, 0.05) 27%, rgba(0, 0, 0, 0.16) 48%, rgba(0, 0, 0, 0.36) 72%, rgba(0, 0, 0, 0.68) 100%);
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: 2;
    transition: var(--default-transition);
}

.hte-slide a:hover .hte-slide-photo::before {
    height: 100%;
}

.hte-slide-photo::after {
    content: '';
    width: 93px;
    width: 5.81vw;
    height: 6px;
    height: 0.38vw;
    background: var(--primary);
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: 2;
    transition: var(--default-transition);
}

.hte-slide a:hover .hte-slide-photo::after {
    width: 100%;
}

.hte-slide-info {
    width: 100%;
    padding: 33px;
    padding: 2.06vw;
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: 1;
    transform: translateY(82px);
    transform: translateY(5.13vw);
    transition: var(--default-transition);
}

.hte-slide a:hover .hte-slide-info {
    transform: translateY(0);
}

.hte-slide-info h2 {
    font-family: var(--font-family-title);
    font-size: 20px;
    font-size: 1.25vw;
    font-weight: 700;
    letter-spacing: -0.025em;
    color: #fff;
    text-transform: uppercase;
    margin: 0 0 6px;
}

.hte-slide-info > span {
    display: block;
    font-size: 2.5vw;
    font-weight: 600;
    letter-spacing: 0.05em;
    color: #fff;
    margin: 0 0 0.38vw;
}

.hte-slide-info-button {
    margin: 26px 0 0;
    margin: 1.63vw 0 0;
    opacity: 0;
    transition: var(--default-transition);
}

.hte-slide a:hover .hte-slide-info-button {
    opacity: 1;
}

.hte-arrows {}

.hte-arrows a {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 70px;
    width: 4.38vw;
    height: 70px;
    height: 4.38vw;
    color: #fff;
    position: absolute;
    top: 0;
    bottom: 0;
    z-index: 10;
    margin: auto;
}

.hte-arrows a.prev {
    left: 0;
}

.hte-arrows a.next {
    right: 0;
}

.hte-arrows a::before {
    content: '';
    width: 100%;
    height: 100%;
    background: linear-gradient(135deg, rgba(238, 16, 119, 1) 0%, rgba(255, 75, 0, 1) 100%);
    opacity: 0.4;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
}

.hte-arrows a::after {
    content: '';
    width: 100%;
    height: 100%;
    background: var(--primary);
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
    opacity: 0;
    transition: var(--default-transition);
}

.hte-arrows a:hover::after {
    opacity: 1;
}

.hte-arrows a i {
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 18px;
    font-size: 1.13vw;
    position: relative;
    z-index: 2;
}

.hte-button {
    margin: 50px 0 0;
    margin: 3.13vw 0 0;
}


/*** Why Work With Us ***/

#hp-wwwu {
    background: #000;
    z-index: 1;
}

.hp-wwwu {
    padding: 0 20px;
    padding: 0 1.25vw;
}

.hp-wwwu-inner {
    max-width: 1170px;
    max-width: 73.13vw;
    margin: auto;
    padding: 140px 0 85px;
    padding: 8.75vw 0 5.31vw;
}

.wwwu-bg {
    width: calc(100% + calc(100vw - 100%));
    left: calc(calc(-100vw + 100%) / 2);
}

.wwwu-bg::before {
    content: '';
    width: 100%;
    height: 100%;
    background: #000;
    opacity: 0.6;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
}

.wwwu-title {
    position: relative;
    z-index: 1;
    margin: 0 0 83px;
    margin: 0 0 5.19vw;
}

.wwwu-title h2 i {
    top: -139px;
    top: -8.69vw;
    left: -106px;
    left: -6.63vw;
}

.wwwu-title h2::before {
    right: calc(100% + 23px);
    right: calc(100% + 1.44vw);
}

.wwwu-title h2::after {
    left: calc(100% + 23px);
    left: calc(100% + 1.44vw);
}

.wwwu-stats {
    display: flex;
    flex-flow: row wrap;
    justify-content: center;
    position: relative;
    z-index: 1;
}

.wwwu-stat {
    width: 25%;
}

.wwwu-stat h2 {
    font-family: var(--font-family-title);
    font-size: 71.8px;
    font-size: 4.49vw;
    font-weight: 400;
    letter-spacing: -0.025em;
    line-height: 1;
    color: #fff;
    text-align: center;
    text-transform: uppercase;
}

.wwwu-stat h2 em {
    font-style: normal;
}

.wwwu-stat span {
    display: flex;
    flex-flow: column;
    align-items: center;
    font-size: 16px;
    font-size: 1vw;
    font-weight: 500;
    letter-spacing: 0.155em;
    line-height: 1.5;
    color: #fff;
    text-align: center;
    text-transform: uppercase;
}

.wwwu-stat span::before {
    content: '';
    width: 1px;
    width: 0.06vw;
    height: 57px;
    height: 3.56vw;
    background: var(--primary);
    margin: 1px 0 14px;
    margin: 0.06vw 0 0.88vw;
}


/*** Call To Actions ***/

#hp-cta {
    background: #fff;
    z-index: 1;
}

.hp-cta {
    padding: 0 20px;
    padding: 0 1.25vw;
}

.hp-cta-inner {
    padding: 135px 0 0;
    padding: 8.44vw 0 0;
    position: relative;
}

.hp-cta-inner::before {
    content: '';
    width: 672px;
    width: 42vw;
    height: 881px;
    height: 55.06vw;
    background-image: url('../images/monogram.png');
    background-size: contain;
    background-position: center center;
    background-repeat: no-repeat;
    opacity: 0.07;
    position: absolute;
    top: 33px;
    top: 2.06vw;
    left: 0;
    right: 0;
    z-index: 1;
    margin: auto;

    display: none;
}

.hp-cta-inner::after {
    content: '';
    width: 505px;
    width: 31.56vw;
    height: 50px;
    height: 3.13vw;
    background-image: url('../images/cta-accent.jpg');
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    position: absolute;
    top: 0;
    right: calc(calc(-100vw + 100%) / 2);
    z-index: 1;
    margin: auto;
}

.cta-slides {
    display: flex;
    flex-flow: row wrap;
    margin: 0 -5px;
    margin: 0 -0.31vw;
    gap: 10px 0;
    gap: 0.63vw 0;
}

.cta-slide {
    width: 50%;
    padding: 0 5px;
    padding: 0 0.31vw;
}

.cta-slide a {
    display: block;
}

.cta-slide-inner {
    position: relative;
}

.cta-slide-photo {}

.cta-slide-photo::before {
    content: '';
    width: 100%;
    height: 100%;
    background: #000;
    opacity: 0.6;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2;
}

.cta-slide:nth-child(2) .cta-slide-photo::before,
.cta-slide:nth-child(3) .cta-slide-photo::before {
    background: #5a5a5a;
}

.cta-slide-photo img {
    filter: grayscale(1);
}

.cta-slide-title {
    display: flex;
    justify-content: center;
    align-items: center;
    position: absolute;
    top: 20px;
    top: 1.25vw;
    bottom: 20px;
    bottom: 1.25vw;
    left: 20px;
    left: 1.25vw;
    right: 20px;
    right: 1.25vw;
    z-index: 1;
    margin: auto;
}

.cta-slide-title::before {
    content: '';
    width: 164px;
    width: 10.25vw;
    height: 79px;
    height: 4.94vw;
    background: linear-gradient(135deg, rgba(238, 16, 119, 1) 0%, rgba(255, 75, 0, 1) 100%);
    opacity: 0.4;
    position: absolute;
    top: 30px;
    top: 1.88vw;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 1;
    margin: auto;
    transition: var(--default-transition);
}

.cta-slide a:hover .cta-slide-title::before {
    width: 100%;
    height: 100%;
    top: 0;
}

.cta-slide-title h2 {
    font-family: var(--font-family-title);
    font-size: 45px;
    font-size: 2.81vw;
    font-weight: 400;
    letter-spacing: 0.05em;
    line-height: 1;
    color: #fff;
    text-align: center;
    text-transform: uppercase;
    margin: 12px 0 0;
    margin: 0.75vw 0 0;
    position: relative;
    z-index: 1;
}

.cta-slide-title h2 span {
    display: block;
    font-family: var(--font-family-default);
    font-size: 20px;
    font-size: 1.25vw;
    font-weight: 500;
    letter-spacing: 0.388em;
    margin: 0 0 13px;
    margin: 0 0 0.81vw;
}


/*** Welcome ***/

#hp-welcome {
    background: #fff;
    z-index: 1;
}

.hp-welcome {
    padding: 0 20px;
    padding: 0 1.25vw;
}

.hp-welcome-inner {
    display: flex;
    flex-flow: row wrap;
    max-width: 1494px;
    max-width: 93.38vw;
    margin: auto;
    padding: 133px 0 125px;
    padding: 8.31vw 0 7.81vw;
}

.hp-welcome-inner::before {
    content: '';
    width: 291px;
    width: 18.19vw;
    height: 565px;
    height: 35.31vw;
    background-image: url('../images/welcome-accent.jpg');
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    position: absolute;
    bottom: 123px;
    bottom: 7.69vw;
    left: calc(calc(-100vw + 100%) / 2);
    z-index: 1;
}

.welcome-photo-contact {
    width: 46.988%;
}

.welcome-photo {}

.welcome-contact {
    display: flex;
    flex-flow: row wrap;
    justify-content: flex-end;
    align-items: center;
    gap: 30px 52px;
    gap: 1.88vw 3.25vw;
    margin: 23px 29px 0 0;
    margin: 1.44vw 1.81vw 0 0;
}

.welcome-contact a {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 16px;
    gap: 1vw;
    font-size: 16px;
    font-size: 1vw;
    font-weight: 500;
    letter-spacing: 0.05em;
    color: #000;
}

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

.welcome-contact a i {
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 14px;
    font-size: 0.88vw;
}

.welcome-contact a i.ai-font-envelope-f {
    font-size: 12px;
    font-size: 0.75vw;
}

.welcome-title-text-button {
    width: 53.012%;
    margin: 10px 0 0;
    margin: 0.63vw 0 0;
    padding: 0 0 0 60px;
    padding: 0 0 0 3.75vw;
    position: relative;
    z-index: 1;
}

.welcome-title {
    margin: 0 0 41px;
    margin: 0 0 2.56vw;
}

.welcome-title h2 {}

.welcome-title h2 i {
    width: 213px;
    width: 13.31vw;
    height: 279px;
    height: 17.44vw;
    background: linear-gradient(to bottom, rgba(250, 250, 250, 1) 0%, rgba(240, 240, 240, 1) 100%);
    -webkit-mask-image: url('../images/monogram.png');
    -webkit-mask-size: contain;
    -webkit-mask-position: center center;
    -webkit-mask-repeat: no-repeat;
    top: -88px;
    top: -5.5vw;
    left: -99px;
    left: -6.19vw;
}

.welcome-title h2::before {
    width: 150px;
    width: 9.38vw;
    top: 62px;
    top: 3.88vw;
    bottom: auto;
    right: calc(100% + 23px);
    right: calc(100% + 1.44vw);
}

.welcome-title h2::after {
    bottom: 163px;
    bottom: 10.19vw;
    left: calc(100% + 23px);
    left: calc(100% + 1.44vw);
}

.welcome-title h2 em {
    display: block;
    font-size: 51.96px;
    font-size: 3.25vw;
    font-style: normal;
    margin: 5px 0 0;
    margin: 0.31vw 0 0;
}

.welcome-text {
    max-width: 560px;
    max-width: 35vw;
}

.welcome-text p {
    font-size: 16px;
    font-size: 1vw;
    font-weight: 400;
    letter-spacing: 0.05em;
    line-height: 1.625;
    color: #000;
}

.welcome-button {
    margin: 52px 0 0;
    margin: 3.25vw 0 0;
}

.welcome-button a {
    min-width: 175px;
    min-width: 10.94vw;
}


/*** Social Media ***/

#hp-sm {
    background: #fff;
    z-index: 1;
}

.hp-sm {
    padding: 0 20px;
    padding: 0 1.25vw;
}

.hp-sm-inner {
    max-width: 1190px;
    max-width: 74.38vw;
    margin: auto;
    padding: 358px 50px 113px;
    padding: 22.38vw 3.13vw 7.06vw;
    position: relative;
}

.hp-sm-inner::before,
.hp-sm-inner::after {
    content: '';
    width: 180px;
    width: 11.25vw;
    height: 492px;
    height: 30.75vw;
    background-image: url('../images/sm-accent.jpg');
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    position: absolute;
    bottom: 156px;
    bottom: 9.75vw;
    z-index: 2;
}

.hp-sm-inner::before {
    left: 0;
}

.hp-sm-inner::after {
    right: 0;
}

.sm-bg {
    width: calc(100% + calc(100vw - 100%));
    left: calc(calc(-100vw + 100%) / 2);
}

.sm-bg::before {
    content: '';
    width: 100%;
    height: 100%;
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0.13) 0%, rgba(0, 0, 0, 0.06) 2%, rgba(0, 0, 0, 0) 4%, rgba(0, 0, 0, 0) 5%, rgba(0, 0, 0, 0) 100%);
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
}

.sm-bg::after {
    content: '';
    width: 100%;
    height: 100%;
    background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0) 39%, rgba(255, 255, 255, 0.03) 43%, rgba(255, 255, 255, 0.02) 44%, rgba(255, 255, 255, 0.07) 46%, rgba(255, 255, 255, 0.06) 47%, rgba(255, 255, 255, 0.09) 48%, rgba(255, 255, 255, 0.11) 49%, rgba(255, 255, 255, 0.12) 51%, rgba(255, 255, 255, 0.15) 52%, rgba(255, 255, 255, 0.17) 53%, rgba(255, 255, 255, 0.19) 54%, rgba(255, 255, 255, 0.21) 55%, rgba(255, 255, 255, 0.24) 56%, rgba(255, 255, 255, 0.24) 57%, rgba(255, 255, 255, 0.3) 58%, rgba(255, 255, 255, 0.31) 59%, rgba(255, 255, 255, 0.39) 62%, rgba(255, 255, 255, 0.48) 64%, rgba(255, 255, 255, 0.56) 68%, rgba(255, 255, 255, 0.67) 71%, rgba(255, 255, 255, 0.84) 78%, rgba(255, 255, 255, 0.94) 86%, rgba(255, 255, 255, 0.97) 89%, rgba(255, 255, 255, 1) 100%);
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: 1;
}

.sm-title {
    margin: 0 0 71px;
    margin: 0 0 4.44vw;
    position: relative;
    z-index: 1;
}

.sm-title h2::before {
    right: calc(100% + 23px);
    right: calc(100% + 1.44vw);
}

.sm-title h2::after {
    left: calc(100% + 23px);
    left: calc(100% + 1.44vw);
}

.sm-slides-buttons {
    display: flex;
    flex-flow: row wrap;
    margin: 0 -39px;
    margin: 0 -2.44vw;
    position: relative;
    z-index: 3;
}

.sm-slides-button {
    width: 50%;
    padding: 0 39px;
    padding: 0 2.44vw;
}

.sm-slides {
    display: flex;
    flex-flow: row wrap;
    margin: 0 -12px;
    margin: 0 -0.75vw;
    gap: 23px 0;
    gap: 1.44vw 0;
}

.sm-slide {
    width: 50%;
    padding: 0 12px;
    padding: 0 0.75vw;
}

.sm-slide a {
    display: block;
}

.sm-slide-inner {}

.sm-slide-photo {}

.sm-slides-button:first-child .sm-slide-photo {
    background: var(--primary);
}

.sm-slides-button:last-child .sm-slide-photo {
    background: var(--secondary);
}

.sm-slide-photo > div {
    display: flex;
    flex-flow: column;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
}

.sm-slide-photo > div i {
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 47px;
    font-size: 2.94vw;
    color: #fff;
}

.sm-slide-photo > div span {
    display: block;
    font-size: 18px;
    font-size: 1.13vw;
    font-weight: 500;
    letter-spacing: -0.025em;
    color: #fff;
    text-align: center;
    margin: 27px 0 0;
    margin: 1.69vw 0 0;
}

.sm-slide a:hover .sm-slide-photo img {
    filter: grayscale(1);
}

.sm-button {
    margin: 37px 0 0;
    margin: 2.31vw 0 0;
}

.select2-container--default .select2-selection--multiple,
.select2-container--default .select2-selection--single {
    display: block;
    width: 100%;
    background: transparent !important;
    border: none !important;
    border-bottom: 0.06vw solid #000 !important;
    border-radius: 0 !important
    font-size: 0.88vw;
    font-weight: 400;
    letter-spacing: 0.05em;
    color: #000;
    text-transform: uppercase;
    padding: 1vw 0;
    appearance: none;
    border-radius: 0;
    box-shadow: none;
}
.select2-container--default .select2-search--inline textarea.select2-search__field{
    font-size: 0.88vw !important;
    font-weight: 400 !important;
    letter-spacing: 0.05em !important;
    color: #000 !important;
    text-transform: uppercase !important;
}

/* Remove default arrow for single select */
.select2-container--default .select2-selection--single .select2-selection__arrow {
    display: none;
}

/*******************************************************
 *
 * Media Queries
 *
 *******************************************************/

@media only screen and (max-width: 1199px) {}

@media only screen and (max-width: 991px) {
    /*******************************************************
 *
 * HP Styles
 *
 *******************************************************/
    /*** Slideshow ***/
    #hp-ss {}
    .hp-ss {
        padding: 20px;
    }
    .hp-ss-inner {}
    .hp-ss-inner > canvas {
        min-height: calc(100vh - 224px);
    }
    .hp-ss-inner .aios-slider {
        position: absolute;
        top: 0;
        bottom: 0;
        left: 0;
        right: 0;
    }
    .hp-ss-inner .aios-slider .aios-slider-img {}
    .hp-ss-inner .aios-slider .aios-slider-img::before {}
    .hp-ss-inner .aios-slider .aios-slider-img::after {}
    .hp-ss-inner .aios-slider .aios-slider-img canvas {
        min-height: calc(100vh - 224px) !important;
    }
    .hp-ss-inner .aios-slider .aios-slider-img img {}
    .hp-ss-inner .aios-slider .aios-slider-tagline {
        padding: 0 20px !important;
    }
    .hp-ss-inner .aios-slider .aios-slider-tagline .aios-slider-tagline-description {
        margin: 0;
    }
    .hp-ss-inner .aios-slider .aios-slider-tagline .aios-slider-tagline-description h2 {
        font-size: 40px;
    }
    .hp-ss-inner .aios-slider .aios-slider-tagline .aios-slider-tagline-description h2 span {
        font-size: 20px;
        margin: 0 0 8px;
    }
    .tagline-button {
        margin: 19px 0 0;
    }
    .tagline-button a {
        min-width: 195px;
    }
    /*** Quick Search ***/
    #hp-qs {}
    .hp-qs {
        padding: 0 20px;
    }
    .hp-qs-inner {
        max-width: 720px;
        padding: 106px 0 108px;
    }
    .qs-title-text {
        width: 100%;
        margin: 0 0 30px;
    }
    .qs-title {
        margin: 0 0 29px;
    }
    .qs-title h2::before {
        left: calc(100% + 23px);
    }
    .qs-title h2::after {
        right: calc(100% + 23px);
    }
    .qs-title h2 i {
        top: -136px;
        left: -109px;
    }
    .qs-text {
        max-width: none;
    }
    .qs-text p {
        font-size: 16px;
        text-align: center;
    }
    .qs-form {
        max-width: none;
    }
    .qs-form-inner {}
    .qs-form-inputs {
        margin: 0 -7.5px;
    }
    .qs-form-input {
        padding: 0 7.5px;
        margin: 0 0 28px;
    }
    .qs-form-input:first-child {}
    .qs-form-input > i {
        font-size: 7px;
        top: -2px;
        right: 15px;
    }
    .qs-form-input input,
    .qs-form-input select {
        border-bottom: 1px solid #000;
        font-size: 14px;
        padding: 16px 0;
    }
    .qs-form-button {
        justify-content: center;
        margin: 17px 0 0;
    }
    /*** Featured Residence ***/
    #hp-fr {}
    .hp-fr {
        padding: 0 20px;
    }
    .hp-fr-inner {
        flex-flow: column-reverse;
        max-width: 720px;
        margin: auto;
    }
    .fr-photo-slides {
        width: 100%;
        margin: 30px 0 0;
    }
    .fr-photo-slide {}
    .fr-photo-slide a {}
    .fr-photo-slide-inner {}
    .fr-photo-slide-photo {}
    .fr-photo-slide a:hover .fr-photo-slide-photo img {}
    .fr-title-info-slides {
        width: 100%;
        padding: 0;
    }
    .fr-title {
        margin: 0 0 23px;
    }
    .fr-title h2 i {
        top: -142px;
        left: -127px;
    }
    .fr-title h2::before {
        right: calc(100% + 23px);
    }
    .fr-title h2::after {
        left: calc(100% + 23px);
    }
    .fr-info-slides {}
    .fr-info-slide {}
    .fr-info-slide-inner {}
    .fr-info-slide-inner h2 {
        font-size: 32px;
        text-align: center;
    }
    .fr-info-slide-inner h2::after {
        width: 53px;
        height: 1px;
        margin: 10px auto 22px;
    }
    .fr-info-slide-inner h3 {
        font-size: 20px;
        text-align: center;
    }
    .fr-info-slide-inner span {
        font-size: 16px;
        margin: 7px 0 17px;
        text-align: center;
    }
    .fr-info-slide-inner p {
        font-size: 16px;
        max-width: none;
        text-align: center;
    }
    /*** Homes To Explore ***/
    #hp-hte {}
    .hp-hte {
        padding: 0 20px;
    }
    .hp-hte-inner {
        max-width: 720px;
        margin: auto;
        padding: 151px 0 93px;
    }
    .hte-title {
        margin: 0 0 43px;
    }
    .hte-title h2::before {
        left: calc(100% + 23px);
    }
    .hte-title h2::after {
        right: calc(100% + 23px);
    }
    .hte-title h2 i {
        top: -140px;
        left: -97px;
    }
    .hte-text {
        margin: 0 0 60px;
    }
    .hte-text p {
        font-size: 16px;
    }
    .hte-slides-arrows {}
    .hte-slides {
        margin: 0 -4.5px;
    }
    .hte-slides:not(.slick-initialized) {}
    .hte-slide {
        padding: 0 4.5px;
    }
    .hte-slide {}
    .hte-slide a {}
    .hte-slide-inner {}
    .hte-slide-inner::before {
        border-width: 6px;
    }
    .hte-slide a:hover .hte-slide-inner::before {}
    .hte-slide-inner::after {
        border-width: 6px;
    }
    .hte-slide a:hover .hte-slide-inner::after {}
    .hte-slide-photo {}
    .hte-slide-photo::before {}
    .hte-slide a:hover .hte-slide-photo::before {}
    .hte-slide-photo::after {
        width: 93px;
        height: 6px;
    }
    .hte-slide a:hover .hte-slide-photo::after {}
    .hte-slide-info {
        padding: 33px;
        transform: translateY(82px);
    }
    .hte-slide a:hover .hte-slide-info {}
    .hte-slide-info h2 {
        font-size: 20px;
    }
    .hte-slide-info > span {
        font-size: 25px;
        margin: 0 0 6px;
    }
    .hte-slide-info-button {
        margin: 26px 0 0;
    }
    .hte-slide a:hover .hte-slide-info-button {}
    .hte-arrows {}
    .hte-arrows a {
        width: 70px;
        height: 70px;
    }
    .hte-arrows a.prev {}
    .hte-arrows a.next {}
    .hte-arrows a::before {}
    .hte-arrows a::after {}
    .hte-arrows a:hover::after {}
    .hte-arrows a i {
        font-size: 18px;
    }
    .hte-button {
        margin: 50px 0 0;
    }
    /*** Why Work With Us ***/
    #hp-wwwu {}
    .hp-wwwu {
        padding: 0 20px;
    }
    .hp-wwwu-inner {
        max-width: 720px;
        padding: 140px 0 85px;
    }
    .wwwu-bg {}
    .wwwu-bg::before {}
    .wwwu-title {
        margin: 0 0 83px;
    }
    .wwwu-title h2 i {
        top: -139px;
        left: -106px;
    }
    .wwwu-title h2::before {
        right: calc(100% + 23px);
    }
    .wwwu-title h2::after {
        left: calc(100% + 23px);
    }
    .wwwu-stats {
        gap: 30px;
    }
    .wwwu-stat {
        width: 100%;
    }
    .wwwu-stat h2 {
        font-size: 71.8px;
    }
    .wwwu-stat h2 em {}
    .wwwu-stat span {
        font-size: 16px;
    }
    .wwwu-stat span::before {
        width: 1px;
        height: 57px;
        margin: 1px 0 14px;
    }
    /*** Call To Actions ***/
    #hp-cta {}
    .hp-cta {
        padding: 0 20px;
    }
    .hp-cta-inner {
        max-width: 720px;
        margin: auto;
        padding: 135px 0 0;
    }
    .hp-cta-inner::before {
        width: 672px;
        height: 881px;
        top: 33px;
        display: none;
    }
    .hp-cta-inner::after {
        width: 505px;
        height: 50px;
        display: none;
    }
    .cta-slides {
        margin: 0 -5px;
        gap: 10px 0;
    }
    .cta-slide {
        width: 100%;
        padding: 0 5px;
    }
    .cta-slide a {}
    .cta-slide-inner {}
    .cta-slide-photo {}
    .cta-slide-photo::before {}
    .cta-slide:nth-child(2) .cta-slide-photo::before,
    .cta-slide:nth-child(3) .cta-slide-photo::before {}
    .cta-slide-photo img {}
    .cta-slide-title {
        top: 20px;
        bottom: 20px;
        left: 20px;
        right: 20px;
    }
    .cta-slide-title::before {
        width: 164px;
        height: 79px;
        top: 30px;
    }
    .cta-slide a:hover .cta-slide-title::before {}
    .cta-slide-title h2 {
        font-size: 45px;
        margin: 12px 0 0;
    }
    .cta-slide-title h2 span {
        font-size: 20px;
        margin: 0 0 13px;
    }
    /*** Welcome ***/
    #hp-welcome {}
    .hp-welcome {
        padding: 0 20px;
    }
    .hp-welcome-inner {
        flex-flow: column-reverse;
        max-width: 720px;
        padding: 133px 0 125px;
    }
    .hp-welcome-inner::before {
        width: 291px;
        height: 565px;
        bottom: 123px;
        display: none;
    }
    .welcome-photo-contact {
        width: 100%;
    }
    .welcome-photo {}
    .welcome-contact {
        justify-content: center;
        gap: 15px 52px;
        margin: 23px 0 0;
    }
    .welcome-contact a {
        gap: 16px;
        font-size: 16px;
    }
    .welcome-contact a:hover {}
    .welcome-contact a i {
        font-size: 14px;
    }
    .welcome-contact a i.ai-font-envelope-f {
        font-size: 12px;
    }
    .welcome-title-text-button {
        width: 100%;
        margin: 0 0 30px;
        padding: 0;
    }
    .welcome-title {
        margin: 0 0 41px;
    }
    .welcome-title h2 {}
    .welcome-title h2 i {
        width: 213px;
        height: 279px;
        top: -88px;
        left: -99px;
    }
    .welcome-title h2::before {
        width: 150px;
        top: 62px;
        right: calc(100% + 23px);
    }
    .welcome-title h2::after {
        bottom: 163px;
        left: calc(100% + 23px);
    }
    .welcome-title h2 em {
        font-size: 51.96px;
        margin: 5px 0 0;
    }
    .welcome-text {
        max-width: none;
    }
    .welcome-text p {
        font-size: 16px;
        text-align: center;
    }
    .welcome-button {
        margin: 52px 0 0;
    }
    .welcome-button a {
        min-width: 175px;
    }
    /*** Social Media ***/
    #hp-sm {}
    .hp-sm {
        padding: 0 20px;
    }
    .hp-sm-inner {
        max-width: 720px;
        padding: 358px 0 113px;
    }
    .hp-sm-inner::before,
    .hp-sm-inner::after {
        width: 180px;
        height: 492px;
        bottom: 156px;
        display: none;
    }
    .hp-sm-inner::before {}
    .hp-sm-inner::after {}
    .sm-bg {}
    .sm-bg::before {}
    .sm-bg::after {}
    .sm-title {
        margin: 0 0 71px;
    }
    .sm-title h2::before {
        right: calc(100% + 23px);
    }
    .sm-title h2::after {
        left: calc(100% + 23px);
    }
    .sm-slides-buttons {
        gap: 37px;
        margin: 0 -39px;
    }
    .sm-slides-button {
        width: 100%;
        padding: 0 39px;
    }
    .sm-slides {
        margin: 0 -12px;
        gap: 23px 0;
    }
    .sm-slide {
        padding: 0 12px;
    }
    .sm-slide a {}
    .sm-slide-inner {}
    .sm-slide-photo {}
    .sm-slides-button:first-child .sm-slide-photo {}
    .sm-slides-button:last-child .sm-slide-photo {}
    .sm-slide-photo > div {}
    .sm-slide-photo > div i {
        font-size: 47px;
    }
    .sm-slide-photo > div span {
        font-size: 18px;
        margin: 27px 0 0;
    }
    .sm-slide a:hover .sm-slide-photo img {}
    .sm-button {
        margin: 37px 0 0;
    }
}

@media only screen and (max-width: 767px) {}

@media only screen and (max-width: 480px) {
    .qs-form-input {
        width: 50%;
    }
    .hte-arrows a {
        width: 40px;
        height: 40px;
    }
    .hte-arrows a i {
        font-size: 14px;
    }
    .wwwu-stat h2 {
        font-size: 48px;
    }
    .cta-slide-title h2 {
        font-size: 36px;
    }
    .cta-slide-title h2 span {
        font-size: 16px;
    }
    .sm-slide {
        width: 100%;
    }
}

@media only screen and (max-width: 360px) {
    .cta-slide-title h2 {
        font-size: 30px;
    }
}