/*******************************************************
 *
 * Variables
 *
 *******************************************************/

:root {
    --font-family-default: 'Jost', sans-serif;
    --font-family-title: 'Tenor Sans', sans-serif;
    --font-color-default: #000;
    --font-color-title: #000;
    --primary: #ee1077;
    --secondary: #ff4b00;
    --success: #28a745;
    --info: #17a2b8;
    --warning: #ffc107;
    --danger: #dc3545;
    --light: #f8f9fa;
    --dark: #343a40;
    --default-transition: all 0.3s ease-in-out
}


/*******************************************************
 *
 * Global Styles
 *
 *******************************************************/

html {
    margin: 0 !important;
}

body {
    font-family: var(--font-family-default);
    font-size: 16px;
    font-size: 1vw;
    font-weight: 400;
    color: #000;
    line-height: normal;
    background: #fff;
    margin: 0;
}

:before,
:after{
    pointer-events: none;
}

a:hover,
a:focus {
    text-decoration: none;
}

a:hover {
    color: var(--primary);
}

a,
input,
button,
img,
canvas {
    transition: var(--default-transition);
}

.img-wrapper {
    position: relative;
    z-index: 1;
}

.img-wrapper canvas {
    display: block;
    width: 100%;
    height: auto;
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
}

.img-wrapper img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
}

.bg-wrapper {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
}

.bg-wrapper canvas {
    display: block;
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
}

.bg-wrapper.fixed canvas {
    background-attachment: fixed;
}

#main-wrapper {
    background: #000;
    overflow: hidden;
}

main {
    background: #fff;
}

section {
    position: relative;
}


/*** Header ***/

.header {
    width: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 100;
    padding: 0 20px;
    padding: 0 1.25vw;
    transition: var(--default-transition);
}

.header.fixed {
    position: fixed;
    z-index: 101;
    opacity: 0;
    transform: translateY(-100%);
    background: rgba(0, 0, 0, 0.88);
}

.header.fixed.show-fixed {
    transform: translateY(0);
    opacity: 1;
}

.header-inner {
    max-width: 1140px;
    max-width: 71.25vw;
    margin: auto;
    padding: 53px 0;
    padding: 3.31vw 0;
}

.fixed .header-inner {
    padding: 15px 0;
    padding: 0.94vw 0;
}

.header-logo {
    flex-shrink: 0;
}

.header-logo-inner {}

.header-logo-inner a {
    display: block
}

.header-logo-inner a img.primary {
    width: 147px;
    width: 9.19vw;
    filter: brightness(0) invert(1);
}

.header.fixed .header-logo-inner a img.primary {
    display: none;
}

.header-logo-inner a img.secondary {
    width: 49px;
    width: 3.06vw;
    filter: brightness(0) invert(1);
    display: none;
}

.header.fixed .header-logo-inner a img.secondary {
    display: block;
}

.header-navigation {}

.header-navigation .menu-primary-menu-container {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 84px;
    gap: 5.25vw;
}

.header.fixed .header-navigation .menu-primary-menu-container {
    gap: 133px;
    gap: 8.31vw;
}

.header-navigation .split-nav {
    width: calc(50% - 73.5px);
    width: calc(50% - 4.59vw);
    margin: 0 0 10px;
    margin: 0 0 0.63vw;
}

.header.fixed .header-navigation .split-nav {
    margin: 0;
}

.header-nav {
    display: flex;
    flex-flow: row wrap;
    gap: 67px;
    gap: 4.19vw;
}

.header-navigation .split-nav.left .header-nav {
    justify-content: flex-end;
}

.header-nav > li {
    position: relative;
}

.header-nav > li > a {
    display: block;
    font-size: 15px;
    font-size: 0.94vw;
    font-weight: 400;
    letter-spacing: 0.1em;
    color: #fff;
    text-align: center;
    text-transform: uppercase;
    padding: 4px 20px 4px calc(20px + 0.1em);
    padding: 0.25vw 1.25vw 0.25vw calc(1.25vw + 0.1em);
}

.header-nav > li:hover > a {
    background: var(--primary);
}

.header-nav .sub-menu {
    width: 210px;
    width: 13.13vw;
    position: absolute;
    left: -200%;
    right: -200%;
    z-index: 1;
    margin: auto;
    text-align: center;
    pointer-events: none;
    opacity: 0;
    transform: translateY(30px);
    transform: translateY(1.88vw);
    transition: var(--default-transition);
    padding: 5px 0 0;
    padding: 0.31vw 0 0;
}

.header.fixed .header-nav .sub-menu {
    padding: 37px 0 0;
    padding: 2.31vw 0 0;
}

.header-nav .sub-menu .sub-menu {
    top: 0;
    left: 0;
    padding: 0 !important;
    margin: 0 0 0 100%;
}

.header-nav .sub-menu > li {
    background: rgba(0, 0, 0, 0.8);
    transition: var(--default-transition);
    position: relative;
}

.header-nav .sub-menu > li:hover {
    background: var(--primary);
}

.header-nav .sub-menu > li a {
    display: block;
    font-size: 13px;
    font-size: 0.81vw;
    font-weight: 400;
    letter-spacing: 0.05em;
    color: #fff;
    text-align: center;
    text-transform: uppercase;
    padding: 6px 15px 6px calc(15px + 0.05em);
    padding: 0.38vw 0.94vw 0.38vw calc(0.94vw + 0.05em);
}

.header-nav li:hover > .sub-menu {
    pointer-events: auto;
    opacity: 1;
    transform: translateY(0);
}


/*** Fixed SMI ***/

.fixed-smi {
    position: fixed;
    top: 50vh;
    right: 50px;
    right: 3.13vw;
    z-index: 100;
    transform: translateY(-50%);
    pointer-events: none;
}

.fixed-smi-inner {
    display: flex;
    flex-flow: column;
    justify-content: center;
    align-items: center;
    gap: 25px;
    gap: 1.56vw;
}

.fixed-smi-inner:after {
    content: '';
    width: 1px;
    width: 0.06vw;
    height: 57px;
    height: 3.56vw;
    background: var(--primary);
}

.fixed-smi-inner > span {
    display: block;
    font-size: 11px;
    font-size: 0.69vw;
    font-weight: 500;
    letter-spacing: 0.2em;
    color: #fff;
    text-align: center;
    text-transform: uppercase;
    writing-mode: vertical-lr;
    transform: rotate(180deg);
    transition: var(--default-transition);
}

body[sidebar-active-section="hp-qs"] .fixed-smi-inner > span,
body[sidebar-active-section="hp-fr"] .fixed-smi-inner > span,
body[sidebar-active-section="hp-welcome"] .fixed-smi-inner > span,
body[sidebar-active-section="hp-sm"] .fixed-smi-inner > span,
body[sidebar-active-section="footer"] .fixed-smi-inner > span,
body[sidebar-active-section="inner-page-wrapper"] .fixed-smi-inner > span {
    color: #000;
}

.fixed-smi-inner > div {
    display: flex;
    flex-flow: column;
    justify-content: center;
    align-items: center;
    gap: 25px;
    gap: 1.56vw;
}

.fixed-smi-inner > div:last-of-type {
    order: 1;
}

.fixed-smi-inner a {
    display: block;
    color: #fff;
    pointer-events: auto;
}

body[sidebar-active-section="hp-qs"] .fixed-smi-inner a,
body[sidebar-active-section="hp-fr"] .fixed-smi-inner a,
body[sidebar-active-section="hp-welcome"] .fixed-smi-inner a,
body[sidebar-active-section="hp-sm"] .fixed-smi-inner a,
body[sidebar-active-section="footer"] .fixed-smi-inner a,
body[sidebar-active-section="inner-page-wrapper"] .fixed-smi-inner a {
    color: #000;
}

.fixed-smi-inner a:hover {
    color: var(--primary) !important;
}

.fixed-smi-inner a i {
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 22px;
    font-size: 1.38vw;
}

.fixed-smi-inner a i.ai-font-phone {
    font-size: 14px;
    font-size: 0.88vw;
}

.fixed-smi-inner a i.ai-font-envelope-f {
    font-size: 12px;
    font-size: 0.75vw;
}


/*** Site Title ***/

.site-title {
    display: flex;
}

.site-title.center {
    justify-content: center;
}

.site-title h2 {
    font-family: var(--font-family-title);
    font-size: 72px;
    font-size: 4.5vw;
    font-weight: 400;
    letter-spacing: -0.025em;
    line-height: 0.975;
    color: #000;
    text-transform: uppercase;
    position: relative;
    z-index: 1;
}

.site-title.light h2 {
    color: #fff;
}

.site-title h2::before {
    content: '';
    width: 63px;
    width: 3.94vw;
    height: 1px;
    height: 0.06vw;
    background: #d0d0d0;
    position: absolute;
    bottom: 38px;
    bottom: 2.38vw;
    z-index: 1;
}

.site-title h2::after {
    content: '';
    width: 100vw;
    height: 1px;
    height: 0.06vw;
    background: var(--secondary);
    position: absolute;
    bottom: 38px;
    bottom: 2.38vw;
    z-index: 1;
}

.site-title.light h2::after {
    background: var(--primary);
}

.site-title h2 span {
    display: block;
    font-family: var(--font-family-default);
    font-size: 15px;
    font-size: 0.94vw;
    letter-spacing: 0.5em;
    margin: 0 0 15px;
    margin: 0 0 0.94vw;
}

.site-title h2 i {
    font-family: var(--font-family-title);
    font-size: 387px;
    font-size: 24.19vw;
    font-weight: 400;
    font-style: normal;
    letter-spacing: -0.025em;
    line-height: 1;
    color: #f0f0f0;
    text-transform: uppercase;
    background: linear-gradient(to bottom, rgba(250, 250, 250, 1) 0%, rgba(240, 240, 240, 1) 100%);
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
}

.site-title.light h2 i {
    color: #fff;
    opacity: 0.1;
}


/*** Site Button ***/

.site-button {
    display: flex;
}

.site-button.center {
    justify-content: center;
}

.site-button a,
.site-button button,
.site-button > span {
    display: flex;
    justify-content: center;
    align-items: center;
    width: fit-content;
    min-width: 145px;
    min-width: 9.06vw;
    background: transparent;
    border: none;
    font-size: 15px;
    font-size: 0.94vw;
    font-weight: 500;
    letter-spacing: 0.1em;
    line-height: 1;
    color: #000;
    text-align: center;
    text-transform: uppercase;
    padding: 21px 30px 20px calc(30px + 0.1em);
    padding: 1.31vw 1.88vw 1.25vw calc(1.88vw + 0.1em);
    position: relative;
}

.site-button.light a,
.site-button.light button,
.site-button.light > span {
    color: #fff;
}

.site-button a:hover,
.site-button button:hover,
.site-button > span:hover {
    color: #fff;
}

.site-button a::before,
.site-button a::after,
.site-button button::before,
.site-button button::after,
.site-button > span::before,
.site-button > span::after {
    content: '';
    width: 8px;
    width: 0.5vw;
    height: 100%;
    border: 2px solid var(--primary);
    border: 0.13vw solid var(--primary);
    position: absolute;
    top: 0;
    z-index: 1;
    transition: var(--default-transition);
}

.site-button.light a::before,
.site-button.light a::after,
.site-button.light button::before,
.site-button.light button::after,
.site-button.light > span::before,
.site-button.light > span::after {
    border-color: #fff;
}

.site-button a::before,
.site-button button::before,
.site-button > span::before {
    left: 0;
    border-right: none;
}

.site-button a::after,
.site-button button::after,
.site-button > span::after {
    right: 0;
    border-left: none;
}

.site-button a:hover::before,
.site-button a:hover::after,
.site-button button:hover::before,
.site-button button:hover::after,
.site-button > span:hover::before,
.site-button > span:hover::after,
.site-button.hovered a::before,
.site-button.hovered a::after,
.site-button.hovered button::before,
.site-button.hovered button::after,
.site-button.hovered > span::before,
.site-button.hovered > span::after {
    width: 50%;
    background: var(--primary);
    border-color: var(--primary);
}

.site-button a span,
.site-button button span,
.site-button > span span {
    position: relative;
    z-index: 2;
}


/*** Get In Touch ***/

#hp-git {
    background: #fff;
}

.hp-git {
    padding: 0 20px;
    padding: 0 1.25vw;
}

.hp-git-inner {
    padding: 40px 0;
    padding: 2.5vw 0;
    position: relative;
}

.git-bg {}

.git-bg::before {
    content: '';
    width: 100%;
    height: 100%;
    background: #000;
    opacity: 0.3;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
}

.git-bg canvas {
    filter: grayscale(1);
}

.git-title-text-form {
    max-width: 1400px;
    max-width: 87.5vw;
    margin: auto;
    background: rgba(255, 255, 255, 0.88);
    padding: 103px 30px 90px;
    padding: 6.44vw 1.88vw 5.63vw;
    position: relative;
    z-index: 1;
}

.git-title {
    margin: 0 0 18px;
    margin: 0 0 1.13vw;
}

.git-title h2 {
    font-size: 60px;
    font-size: 3.75vw;
}

.git-title h2::before {
    bottom: 32px;
    bottom: 2vw;
    left: calc(100% + 23px);
    left: calc(100% + 1.44vw);
}

.git-title h2::after {
    bottom: 32px;
    bottom: 2vw;
    right: calc(100% + 23px);
    right: calc(100% + 1.44vw);
}

.git-title h2 span {
    margin: 0 0 16px;
    margin: 0 0 1vw;
}

.git-text {
    margin: 0 0 50px;
    margin: 0 0 3.13vw;
}

.git-text p {
    font-size: 16px;
    font-size: 1vw;
    font-weight: 400;
    letter-spacing: 0.05em;
    line-height: 1.625;
    color: #000;
    text-align: center;
}

.git-form {
    max-width: 614px;
    max-width: 38.38vw;
    margin: auto;
    position: relative;
}

.git-form-inner {
    display: flex;
    flex-flow: row wrap;
    margin: 0 -4px;
    margin: 0 -0.25vw;
}

.git-form-inner > div {
    display: flex;
    flex-flow: column;
    gap: 9px;
    gap: 0.56vw;
    width: 50%;
    padding: 0 4px;
    padding: 0 0.25vw;
}

.git-form-inner > div:last-child {
    width: 100%;
    margin: 14px 0 0;
    margin: 0.88vw 0 0;
    padding: 0 12px;
    padding: 0 0.75vw;
}

.git-form-inner > div > span {
    display: block;
    font-size: 12px;
    font-size: 0.75vw;
    font-weight: 400;
    letter-spacing: 0.05em;
    color: #000;
}

.git-form-input {}

.git-form-input input,
.git-form-input textarea {
    display: block;
    width: 100%;
    max-height: 93px;
    max-height: 5.81vw;
    background: #fff;
    border: 1px solid #616161;
    border: 0.06vw solid #616161;
    font-size: 15px;
    font-size: 0.94vw;
    font-weight: 400;
    font-style: italic;
    letter-spacing: 0.05em;
    color: #464646;
    padding: 10px 15px 8px;
    /* padding: 0.63vw 0.94vw 0.5vw; */
    padding: 0.6vw 0.94vw;
    appearance: none;
    resize: none;
}

.git-form-button {}

.git-form-button button {
    min-width: 100%;
    padding: 15px 30px 12px;
    padding: 0.94vw 1.88vw 0.75vw;
}

.git-form .wpcf7-spinner {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 100;
    margin: auto !important;
}

.git-form .wpcf7-response-output {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    border-width: 1px !important;
    border-width: 0.06vw !important;
    font-size: 12px;
    font-size: 0.75vw;
    font-weight: 400;
    letter-spacing: 0.05em;
    color: #292929;
    text-align: center;
    text-transform: none;
    padding: 5px 15px !important;
    padding: 0.31vw 0.94vw !important;
    position: absolute;
    left: 0;
    margin: 14px auto 0 !important;
    margin: 0.88vw auto 0 !important;
}

.git-form .wpcf7-not-valid-tip {
    display: flex;
    justify-content: center;
    align-items: center;
    width: fit-content;
    max-width: 100%;
    height: fit-content;
    border-width: 1px !important;
    border-width: 0.06vw !important;
    font-size: 12px;
    font-size: 0.75vw;
    font-weight: 400;
    letter-spacing: 0.05em;
    color: #dc3232;
    text-align: center;
    text-transform: none;
    padding: 5px 15px !important;
    padding: 0.31vw 0.94vw !important;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 1;
    margin: auto;
    white-space: nowrap;
}


/*** Footer ***/

.footer {
    padding: 0 20px;
    padding: 0 1.25vw;
    background: #fff;
}

.footer-inner {
    max-width: 1140px;
    max-width: 71.25vw;
    margin: auto;
    padding: 148px 0 0;
    padding: 9.25vw 0 0;
    position: relative;
}

.footer-bg {
    width: calc(100% + calc(100vw - 100%));
    left: calc(calc(-100vw + 100%) / 2);
}

.footer-bg::before {
    content: '';
    width: 100%;
    height: 100%;
    background: #fff;
    opacity: 0.5;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
}

.footer-bg::after {
    content: '';
    width: 100%;
    height: 100%;
    background: linear-gradient(to bottom, rgba(255, 255, 255, 0.99) 0%, rgba(255, 255, 255, 0.96) 24%, rgba(255, 255, 255, 0.87) 51%, rgba(255, 255, 255, 0.73) 75%, rgba(255, 255, 255, 0.54) 100%);
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
}

.footer-bg canvas {
    filter: grayscale(1);
}

.footer-newsletter {
    position: relative;
    z-index: 1;
}

.footer-newsletter-inner {
    display: flex;
    flex-flow: row wrap;
    justify-content: space-between;
}

.newsletter-title-text {}

.newsletter-title {
    margin: 0 0 15px;
    margin: 0 0 0.94vw;
}

.newsletter-title h2 i {
    top: -136px;
    top: -8.5vw;
    left: -114px;
    left: -7.13vw;
}

.newsletter-title h2::before {
    left: calc(100% + 23px);
    left: calc(100% + 1.44vw);
}

.newsletter-title h2::after {
    right: calc(100% + 23px);
    right: calc(100% + 1.44vw);
}

.newsletter-text {
    position: relative;
    z-index: 1;
}

.newsletter-text p {
    font-size: 22px;
    font-size: 1.38vw;
    font-weight: 400;
    letter-spacing: 0.05em;
    color: #000;
}

.newsletter-form {
    flex-grow: 1;
    max-width: 540px;
    max-width: 33.75vw;
    margin: 36px 0 0;
    margin: 2.25vw 0 0;
    position: relative;
}

.newsletter-form-inner {
    display: flex;
    flex-flow: row wrap;
    align-items: flex-end;
    gap: 35px;
    gap: 2.19vw;
}

.newsletter-form-input {
    flex-grow: 1;
}

.newsletter-form-input input {
    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;
    resize: none;
}

.newsletter-form-button {}

.newsletter-form-button button {}

.newsletter-form .wpcf7-spinner {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 100;
    margin: auto !important;
}

.newsletter-form .wpcf7-response-output {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    border-width: 1px !important;
    border-width: 0.06vw !important;
    font-size: 12px;
    font-size: 0.75vw;
    font-weight: 400;
    letter-spacing: 0.05em;
    color: #292929;
    text-align: center;
    text-transform: none;
    padding: 5px 15px !important;
    padding: 0.31vw 0.94vw !important;
    position: absolute;
    left: 0;
    margin: 15px auto 0 !important;
    margin: 0.94vw auto 0 !important;
}

.newsletter-form .wpcf7-not-valid-tip {
    display: flex;
    justify-content: center;
    align-items: center;
    width: fit-content;
    max-width: 100%;
    height: fit-content;
    border-width: 1px !important;
    border-width: 0.06vw !important;
    font-size: 12px;
    font-size: 0.75vw;
    font-weight: 400;
    letter-spacing: 0.05em;
    color: #dc3232;
    text-align: center;
    text-transform: none;
    padding: 5px 15px !important;
    padding: 0.31vw 0.94vw !important;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 1;
    margin: auto;
    white-space: nowrap;
}

.footer-logo {
    position: relative;
    z-index: 1;
    margin: 162px 0 0;
    margin: 10.13vw 0 0;
}

.footer-logo-inner {
    display: flex;
    justify-content: center;
    align-items: center;
}

.footer-logo-inner a {
    display: block;
}

.footer-logo-inner a::before {
    content: '';
    display: block;
    width: 228px;
    width: 14.25vw;
    height: 142px;
    height: 8.88vw;
    background-image: url('../images/footer-bg.jpg');
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    background-attachment: fixed;
    -webkit-mask-image: url('../images/logo.png');
    -webkit-mask-size: contain;
    -webkit-mask-position: center center;
    -webkit-mask-repeat: no-repeat;
}

.footer-logo-inner a img {
    width: 228px;
    width: 14.25vw;
    display: none;
}

.footer-navigation-contact {
    display: flex;
    flex-flow: row wrap;
    justify-content: space-between;
    position: relative;
    z-index: 1;
    margin: 58px 0 0;
    margin: 3.63vw 0 0;
}

.footer-navigation {
    flex-grow: 1;
}

.footer-nav {
    display: flex;
    flex-flow: row wrap;
    gap: 107px;
    gap: 6.69vw;
}

.footer-nav > li {}

.footer-nav > li > a {
    display: block;
    font-size: 18px;
    font-size: 1.13vw;
    font-weight: 500;
    letter-spacing: 0.05em;
    color: #000;
    text-transform: uppercase;
}

.footer-nav > li:hover > a {
    color: var(--primary);
}

.footer-nav .sub-menu {
    display: flex;
    flex-flow: column;
    gap: 7px;
    gap: 0.44vw;
    margin: 12px 0 0;
    margin: 0.75vw 0 0;
}

.footer-nav .sub-menu li {}

.footer-nav .sub-menu li a {
    display: block;
    font-size: 16px;
    font-size: 1vw;
    font-weight: 400;
    letter-spacing: 0.05em;
    color: #000;
}

.footer-nav .sub-menu li:hover > a {
    color: var(--primary);
}

.footer-contact {
    margin: 2px 0 0;
    margin: 0.13vw 0 0;
}

.footer-contact-inner {
    display: flex;
    flex-flow: column;
    gap: 10px;
    gap: 0.63vw;
}

.footer-contact-inner a {
    display: flex;
    align-items: center;
    gap: 16px;
    gap: 1vw;
    font-size: 16px;
    font-size: 1vw;
    font-weight: 500;
    letter-spacing: 0.05em;
    line-height: 1.4375;
    color: #000;
}

.footer-contact-inner a:hover {
    color: var(--primary);
}

.footer-contact-inner a i {
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 14px;
    font-size: 0.88vw;
    width: 18px;
    width: 1.13vw;
}

.footer-contact-inner a i.ai-font-envelope-f {
    font-size: 12px;
    font-size: 0.75vw;
    top: -2px;
    top: -0.13vw;
}

.footer-contact-inner a i.ai-font-location-c {
    font-size: 22px;
    font-size: 1.38vw;
    top: -10px;
    top: -0.63vw;
}

.footer-brokerage-logos-accessibility-copyright-extra-logos {
    position: relative;
    z-index: 1;
    margin: 51px 0 0;
    margin: 3.19vw 0 0;
    padding: 93px 0 78px;
    padding: 5.81vw 0 4.88vw;
}

.footer-brokerage-logos-accessibility-copyright-extra-logos::before {
    content: '';
    width: calc(100% + calc(100vw - 100%));
    height: 100%;
    background: #fff;
    position: absolute;
    top: 0;
    left: calc(calc(-100vw + 100%) / 2);
    z-index: 1;
}

.footer-brokerage-logos-accessibility-copyright-extra-logos > div {
    position: relative;
    z-index: 1;
}

.footer-brokerage-logos {
    position: relative;
    z-index: 1;
}

.footer-brokerage-logos-inner {
    display: flex;
    flex-flow: row wrap;
    justify-content: center;
    gap: 30px 60px;
    gap: 1.88vw 3.75vw;
}

.footer-brokerage-logos-inner a {
    display: block;
}

.footer-brokerage-logos-inner a:first-child img {
    width: 333px;
    width: 20.81vw;
}

.footer-brokerage-logos-inner a:last-child img {
    width: 320px;
    width: 20vw;
}

.footer-accessibility {
    position: relative;
    z-index: 1;
    margin: 42px 0 0;
    margin: 2.63vw 0 0;
}

.footer-accessibility p {
    font-size: 13px;
    font-size: 0.81vw;
    font-weight: 400;
    letter-spacing: 0.05em;
    line-height: 1.2;
    color: #767676;
    text-align: center;
}

.footer-accessibility p a {
    color: #767676;
}

.footer-accessibility p a:hover {
    color: var(--primary);
}

.footer-copyright {
    position: relative;
    z-index: 1;
    margin: 16px 0 0;
    margin: 1vw 0 0;
}

.footer-copyright p {
    font-size: 13px;
    font-size: 0.81vw;
    font-weight: 400;
    letter-spacing: 0.05em;
    line-height: 1.2;
    color: #767676;
    text-align: center;
}

.footer-copyright p a {
    color: #767676;
}

.footer-copyright p a:hover {
    color: var(--primary);
}

.footer-copyright p span {
    text-transform: uppercase;
}

.footer-extra-logos {
    display: flex;
    flex-flow: row wrap;
    justify-content: center;
    align-items: center;
    gap: 30px 60px;
    gap: 1.88vw 3.75vw;
    position: relative;
    z-index: 1;
    margin: 38px 0 0;
    margin: 2.38vw 0 0;
}

.footer-extra-logos img:nth-child(1) {
    width: 155px;
    width: 9.69vw;
}

.footer-extra-logos img:nth-child(2) {
    width: 222px;
    width: 13.88vw;
}

.footer-extra-logos img:nth-child(3) {
    width: 78px;
    width: 4.88vw;
}

.footer-extra-logos img:nth-child(4) {
    width: 73px;
    width: 4.56vw;
}


/*******************************************************
 *
 * IP Styles
 *
 *******************************************************/

.ip-banner-wrap {
    padding: 20px;
    padding: 1.25vw;
}

.ip-banner {
    position: relative;
    width: 100%;
}

.ip-banner::before {
    content: '';
    width: 100%;
    height: 100%;
    background: #000;
    opacity: 0.25;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
}

.ip-banner::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;
}

.ip-banner canvas {
    display: block;
    position: relative;
    z-index: 0;
    width: 100%;
    min-height: 380px !important;
    min-height: 15.63vw;
    background-color: var(--dark);
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
}

.ip-banner .container {
    position: absolute;
    top: 65%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 2;
}

.ip-banner h1 {
    padding: 0 15px;
    font-family: var(--font-family-title);
    font-size: 71px;
    line-height: 1;
    letter-spacing: -0.025em;
    color: #fff;
    text-align: center;
    text-transform: uppercase;
    font-weight: 300;
}

.ip-banner h1 span {
    display: block;
    font-size: 24px;
    font-size: 1.5vw;
    font-weight: 400;
    text-transform: none;
    letter-spacing: 0.01em;
}



#content-sidebar,
#content-full {
    min-height: 500px;
    min-height: 31.25vw;
    margin-top: 20px;
    margin-top: 1.25vw;
}

#content-sidebar #content {
    width: 77.08%;
}

#content-full #content {
    width: 100%;
}

.sidebar {
    width: 20.83%;
}

.page-template-template-fullwidth #content {
    padding-left: 15px;
    padding-left: 0.94vw;
    padding-right: 15px;
    padding-right: 0.94vw;
}

.page-template-template-fullwidth #content ihf-search[data-eureka-id*=""].ihf-eureka {
    margin-left: -15px;
    margin-left: -0.94vw;
    margin-right: -15px;
    margin-right: -0.94vw;
}

#content h4,
aside h4,
#content p,
aside p,
#content blockquote,
aside blockquote,
#content ul,
aside ul,
#content fieldset,
aside fieldset,
#content form,
aside form,
#content ol,
aside ol,
#content dl,
aside dl,
#content dir,
aside dir,
#content menu,
aside menu {
    line-height: 1.7;
}

#content .entry-title,
#content .archive-title {
    font-family: var(--font-family-title);
    font-size: 72px;
    font-size: 4.5vw;
    font-weight: 400;
    letter-spacing: -0.025em;
    line-height: 0.975;
    color: #000;
    text-transform: uppercase;
    display: none;
}

#content .archive-subtitle {}

#pojo-a11y-toolbar,
#pojo-a11y-toolbar.pojo-a11y-toolbar-left .pojo-a11y-toolbar-toggle {
    top: auto !important;
    bottom: 0 !important;
}

button:focus-visible,
a:focus-visible {
    outline: 5px solid red !important;
    outline: 0.31vw solid red !important;
    transition: none !important;
}

#inner-page-wrapper > .container {
    width: 1170px;
    width: 73.13vw;
    max-width: 100%;
    padding: 0 15px;
    padding: 0 0.94vw;
}

a.site-arrow,
button.site-arrow,
.site-arrow{
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    border: 0;
    background: none;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 70px;
    height: 70px;
    color: #fff;
    position: relative;
    pointer-events: auto;
}

a.site-arrow::before,
button.site-arrow::before,
.site-arrow::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;
}

a.site-arrow::after,
button.site-arrow::after,
.site-arrow::after{
    content: '';
    width: 100%;
    height: 100%;
    background: var(--primary);
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
    opacity: 0;
    transition: var(--default-transition);
}

a.site-arrow:hover::after,
button.site-arrow:hover::after,
.site-arrow:hover::after{
    opacity: 1;
}

a.site-arrow i,
button.site-arrow i,
.site-arrow i{
    font-size: 18px;
    position: relative;
    z-index: 2;
}

.ip-custom-banner-img canvas,
.ip-custom-banner-img,
.ip-custom-banner {
    display: block;
    position: relative;
}

.ip-custom-banner {
    padding: 20px;
}

.page-id-31919 .ip-custom-banner {
    display: none;
}

.ip-custom-banner-img {
    background-color: #000;
}

.ip-custom-banner-img:before {
    position: absolute;
    content: '';
    top: 0;
    left: 0;
    width: 100%;
    height: 40%;
    pointer-events: none;
    background: -webkit-gradient(linear, left top, left bottom, from(rgba(0,0,0,0.5)),to(rgba(0,0,0,0)));
    background: -o-linear-gradient(top, rgba(0,0,0,0.5) 0%,rgba(0,0,0,0) 100%);
    background: linear-gradient(to bottom, rgba(0,0,0,0.5) 0%,rgba(0,0,0,0) 100%);
    z-index: 1;
}

.ip-custom-banner-img canvas {
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    width: 100%;
    height: 100%;
    opacity: .75;
}

.ip-custom-banner-title {
    position: absolute;
    top: 60%;
    left: 0;
    width: 100%;
    -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
            transform: translateY(-50%);
    z-index: 5;
    padding: 0 15px;
    font-family: var(--font-family-title);
    font-size: 71px;
    line-height: 1;
    letter-spacing: -0.025em;
    color: #fff;
    text-align: center;
    text-transform: uppercase;
}

#content h3.yotu-video-title {
    font-family: var(--font-family-title);
    font-weight: 400;
    color: #000;
    text-transform: uppercase;
    font-size: 20px;
    font-size: 1.25vw;
    transition: color .3s ease;
}

#content .yotu-videos a:hover h3.yotu-video-title {
    color: #ee1077;
    text-decoration: none;
}

#content .yotu-video-description {
    font-size: 16px;
    font-size: 1vw;
    font-weight: 400;
    letter-spacing: 0.05em;
    line-height: 1.5;
    color: #000;
}

#content .yotu-videos ul {
    margin: 0 auto;
    max-width: 100%;
    width: 100%;
}

.page-id-128 .sidebar {
    display: none;
}

.page-id-128 #content-sidebar #content {
    width: 100%;
}

/* Popup */
.aiosp-wrap .aiosp-container[class*="site-popup"] .aiosp-content.aios-popup-body {
    width: 100%;
    max-width: 675px;
    min-height: auto;
    padding: 0;
}

.site-popup {
    position: relative;
    padding: 40px 15px 65px;
}

.site-popup-logo {
    font-size: 0;
    text-align: center;
    margin-bottom: 50px;
}

.site-popup-logo img {
    display: block;
    width: 147px;
    margin: 0 auto;
    height: auto;
    filter: brightness(0);
}

.site-popup p {
    text-align: center;
    font-size: 15px;
    line-height: 2;
    letter-spacing: 0.1em;
    color: #000;
    margin-bottom: 30px;
}

.site-popup p a {
    color: var(--primary);
    transition: color var(--default-transition);
}

.site-popup p a:hover {
    color: var(--secondary);
}

.site-popup:before {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 115px;
    height: 4px;
    background: var(--primary);
    max-width: 25%;
}

#content .ip_developments_wrap{}
#content .ip_developments_wrap blockquote.blockquote_custom{
    border-left: 0px solid #eee;
    display: flex;
    flex-flow: row wrap;
    align-items: flex-start;
    justify-content: center;
    font-size: 1em;
    margin-left: min(3vw, 40px);
    margin-right: min(3vw, 40px);
    padding: 10px min(1.5vw, 20px);
}
#content .ip_developments_wrap blockquote.blockquote_custom span.development_quote{
    font-size: 65px;
    font-family: 'Vidaloka', serif;
    line-height: 1;
}
#content .ip_developments_wrap blockquote.blockquote_custom span.development_quote_txt{
    max-width: calc(100% - 80px);
    width: 990px;
}
#content .ip_developments_wrap ul.development_buttons{
    margin-left: 0;
    list-style: none;
    display: flex;
    flex-flow: column wrap;
    align-items: center;
    justify-content: center;
}
#content .ip_developments_wrap ul.development_buttons li:not(:first-child){
    margin: 20px 0 0;
}

#content img.developments-page-signature{
    filter: invert(1);
    -webkit-filter: invert(1);
}

/*devepoment*/
.development-list-header,
.development-list {
    font-size: 0;
}

.development-list-header > div,
.development-list > div {
    display: inline-block;
    vertical-align: top;
}

.development-list-header h3 {
    font-size: 17px !important;
    color: #fff;
    padding: 0 20px;
}

.development-list span,
.development-list a {
    font-size: 15px;
    color: #000;
}

.development-list a:hover {
    color: #ee1177;
}

.d-address {
    width: 25%;
}

.d-built {
    width: 20%;
}

.d-units,
.d-bedrooms {
    width: 20%;
}

.d-type {
    width: 15%;
}

.development-list {
    border-bottom: solid 2px #3f3f3f;
}

.development-list-header {
    /* border-top: solid 2px #3f3f3f; */
    background: #ee1177;
}

.development-list-header > div:first-child, .development-list > div:first-child {
    /* border-left: solid 2px #3f3f3f; */
}

.development-list-header > div {
    /* border-bottom: solid 2px #3f3f3f; */
}

.development-list span {
    padding: 10px 20px;
    display: block;
}

.development-list-header {
    margin-top: 60px;
}

.development-list-header > div, .development-list > div {
    /* border-right: solid 2px #3f3f3f; */
}

.development-list-header > div:nth-child(1) {
    border-right: 2px solid #fff;
}

.development-list-header > div:nth-child(2) {
    border-right: 2px solid #fff;
}

.development-list-header > div:nth-child(3) {
    border-right: 2px solid #fff;
}

.development-list-header > div:nth-child(4) {
    border-right: 2px solid #fff;
}

/*past-list*/

.past-closing-wrapper {
    margin-top: 60px;
}

.past-list {
    font-size: 0;
}

.past-list > div:not(.rentals-entry) {
    display: inline-block;
    vertical-align: top;
}
.past-list > div.rentals-entry{
    font-size: 18px;
    padding: 15px 0;
}
.past-list > div.rentals-entry .col-sm-4{
    text-overflow: ellipsis;
    white-space: nowrap;
    overflow: hidden;
}
.past-list-header h3 {
    font-size: 17px !important;
    color: #fff;
    padding: 0 20px;
}

.past-list span,
.past-list a {
    font-size: 15px;
    color: #000;
}

.past-list a:hover {
    color: #ee1177;
}

.p-town, .p-coop, .p-rentals {
    width: 33.33%;
}

.past-list-header {
    border-radius: 10px;
}

.past-list > div {
    border: none;
    border-bottom: 2px solid #3f3f3f;
/*    border-left: 2px solid;*/
}

.p-town h3, .p-coop h3, .p-rentals h3 {
    margin: 0 !important;
    line-height: 1;
    padding: 9.62px 0;
}

.past-list > div:first-child {
    border: 2px solid #ee1177 !important;
    background: #ee1177;
}

.past-list > div:first-child span {
    color: #fff;
}

.past-list span {
    padding: 10px 20px;
    display: block;
}

.past-list-header {
    margin-top: 60px;
}

.border-columnar {
    border: 1px solid #000;
    background: #ee1177;
    border-radius: 10px;
}

.past-list .p-town,
.past-list .p-coop,
.past-list .p-rentals {
    width: calc(100% / 3);
}

.past-list-body .past-list {
    margin-bottom: 20px;
}

.past-list-body .past-list .p-town:nth-child(1) {
    width: 100%;
}

.page-id-154 #content .realplus {
    display: none !important;
}

.past-list-body .past-list .p-coop:nth-child(1) {
    width: 100%;
}

.past-list-body .past-list .p-rentals:nth-child(1) {
    width: 100%;
}

/* LISTINGS PAGE */
.page-id-15091 #listings-results .listings-grid .listings-price {
    font-size: 40px;
    font-weight: 600;
}
.page-id-15091 #listings-results .listings-grid .listings-address {
    font-weight: 600;
}
.page-id-15091 #listings-results .listings-grid .listings-address {
    order: 2;
    position: relative;
    transition: all .3s ease;
    top: 0;
}
.page-id-15091 #listings-results .listings-grid .listings-price {
    order: 1;
    margin-bottom: 20px;
}
.page-id-15091 .listing-module-page #listings-results .listings-grid .listings-plan {
    order: 3;
}
.page-id-15091 #listings-results .listings-grid .listings-item:hover .listings-address {
    top: -56px;
}
/* LISTINGS PAGE END */


html #listings-results .listings-grid .listings-col {
    padding: 15px 0;
}

@media(min-width: 992px) {
    html #listings-results .listings-grid .listings-col {
        width: 33.33%;
        padding: 25px;
    }
}

/*******************************************************
 *
 * Media Queries
 *
 *******************************************************/

@media only screen and (min-width: 992px) {

    #content .ip_developments_wrap ul.development_buttons{
        flex-flow: row wrap;
    }

    #content .ip_developments_wrap ul.development_buttons li:not(:first-child){
        margin: 0 0 0 20px;
    }

    .site-button.def_unit a,
    .site-button.def_unit button,
    .site-button.def_unit > span {
        min-width: 145px;
        font-size: 15px;
        padding: 21px 30px 20px calc(30px + 0.1em);
    }

    .ip-custom-banner {
        padding: 1.250vw;
    }

    .ip-custom-banner-title {
        padding: 0 0.938vw;
        font-size: 4.438vw;
    }
}
@media only screen and (max-width: 1199px) {
    .ipad-true .bg-wrapper.fixed canvas,
    .ios-true .bg-wrapper.fixed canvas,
    .safari-true .bg-wrapper.fixed canvas,
    .mobile-true .bg-wrapper.fixed canvas {
        background-attachment: scroll;
    }
}

@media only screen and (max-width: 991px) {
     .ip-custom-banner {
        padding: 15px;
    }

    .ip-custom-banner-img canvas {
        min-height: 250px;
    }

    .ip-custom-banner-title {
        top: 50%;
        font-size: 35px;
    }
    #content-sidebar,
    #content-full {
        width: 100%;
    }
    .outer {
        width: 100%;
        min-width: 100%;
    }
    #content-sidebar #content {
        width: 100%;
    }
    .past-list > div.rentals-entry{
        font-size: 14px;
        padding: 12px 0;
    }
/*******************************************************
 *
 * Global Styles
 *
 *******************************************************/
    html {}
    body {
        font-size: 16px;
    }
    ::-webkit-scrollbar {}
    a:hover,
    a:focus {}
    a:hover {}
    a,
    input,
    button,
    img,
    canvas {}
    .img-wrapper {}
    .img-wrapper canvas {}
    .img-wrapper img {}
    .bg-wrapper {}
    .bg-wrapper canvas {}
    .bg-wrapper.fixed canvas {}
    #main-wrapper {
        padding: 52px 0 0;
    }
    main {}
    section {}
    /*** Header ***/
    .header {
        padding: 0 20px;
        position: relative;
        background: #fff;
    }
    .header:before {
        content: '';
        position: absolute;
        bottom: 0;
        left: 0;
        right: 0;
        height: 3px;
        background: #fff;
        bottom: -2px;
    }
    .header.fixed {}
    .header.fixed.show-fixed {}
    .header-inner {
        max-width: 1140px;
        padding: 30px 0 10px;
    }
    .fixed .header-inner {
        padding: 15px 0;
    }
    .header-logo {}
    .header-logo-inner {}
    .header-logo-inner a {}
    .header-logo-inner a img.primary {
        width: 147px;
        filter: none;
    }
    .header.fixed .header-logo-inner a img.primary {}
    .header-logo-inner a img.secondary {
        width: 49px;
    }
    .header.fixed .header-logo-inner a img.secondary {}
    .header-navigation {}
    .header-navigation .menu-primary-menu-container {
        gap: 84px;
    }
    .header.fixed .header-navigation .menu-primary-menu-container {
        gap: 133px;
    }
    .header-navigation .split-nav {
        width: calc(50% - 73.5px);
        margin: 0 0 10px;
    }
    .header.fixed .header-navigation .split-nav {}
    .header-nav {
        gap: 67px;
    }
    .header-navigation .split-nav.left .header-nav {}
    .header-nav > li {}
    .header-nav > li > a {
        font-size: 15px;
        padding: 4px 20px 4px calc(20px + 0.1em);
    }
    .header-nav > li:hover > a {}
    .header-nav .sub-menu {
        width: 210px;
        transform: translateY(30px);
        padding: 5px 0 0;
    }
    .header.fixed .header-nav .sub-menu {
        padding: 37px 0 0;
    }
    .header-nav .sub-menu .sub-menu {}
    .header-nav .sub-menu > li {}
    .header-nav .sub-menu > li:hover {}
    .header-nav .sub-menu > li a {
        font-size: 13px;
        padding: 6px 15px 6px calc(15px + 0.05em);
    }
    .header-nav li:hover > .sub-menu {}
    /*** Fixed SMI ***/
    .fixed-smi {
        right: 50px;
    }
    .fixed-smi-inner {
        gap: 25px;
    }
    .fixed-smi-inner:after {
        width: 1px;
        height: 57px;
    }
    .fixed-smi-inner > span {
        font-size: 11px;
        writing-mode: vertical-lr;
    }
    body[sidebar-active-section="hp-qs"] .fixed-smi-inner > span,
    body[sidebar-active-section="hp-fr"] .fixed-smi-inner > span,
    body[sidebar-active-section="hp-welcome"] .fixed-smi-inner > span,
    body[sidebar-active-section="hp-sm"] .fixed-smi-inner > span,
    body[sidebar-active-section="footer"] .fixed-smi-inner > span,
    body[sidebar-active-section="inner-page-wrapper"] .fixed-smi-inner > span {}
    .fixed-smi-inner > div {
        gap: 25px;
    }
    .fixed-smi-inner > div:last-of-type {}
    .fixed-smi-inner a {}
    body[sidebar-active-section="hp-qs"] .fixed-smi-inner a,
    body[sidebar-active-section="hp-fr"] .fixed-smi-inner a,
    body[sidebar-active-section="hp-welcome"] .fixed-smi-inner a,
    body[sidebar-active-section="hp-sm"] .fixed-smi-inner a,
    body[sidebar-active-section="footer"] .fixed-smi-inner a,
    body[sidebar-active-section="inner-page-wrapper"] .fixed-smi-inner a {}
    .fixed-smi-inner a:hover {}
    .fixed-smi-inner a i {
        font-size: 22px;
    }
    .fixed-smi-inner a i.ai-font-phone {
        font-size: 14px;
    }
    .fixed-smi-inner a i.ai-font-envelope-f {
        font-size: 12px;
    }
    /*** Site Title ***/
    .site-title {
        justify-content: center;
    }
    .site-title.center {}
    .site-title h2 {
        font-size: 60px;
        text-align: center;
    }
    .site-title.light h2 {}
    .site-title h2::before {
        width: 63px;
        height: 1px;
        bottom: 38px;
    }
    .site-title h2::after {
        height: 1px;
        bottom: 38px;
    }
    .site-title.light h2::after {}
    .site-title h2 span {
        font-size: 15px;
        margin: 0 0 15px;
    }
    .site-title h2 i {
        font-size: 387px;
        display: none;
    }
    .site-title.light h2 i {}
    /*** Site Button ***/
    .site-button {
        justify-content: center;
    }
    .site-button.center {}
    .site-button a,
    .site-button button,
    .site-button > span {
        min-width: 145px;
        font-size: 15px;
        padding: 21px 30px 20px calc(30px + 0.1em);
    }
    .site-button.light a,
    .site-button.light button,
    .site-button.light > span {}
    .site-button a:hover,
    .site-button button:hover,
    .site-button > span:hover {}
    .site-button a::before,
    .site-button a::after,
    .site-button button::before,
    .site-button button::after,
    .site-button > span::before,
    .site-button > span::after {
        width: 8px;
        border: 2px solid var(--primary);
    }
    .site-button.light a::before,
    .site-button.light a::after,
    .site-button.light button::before,
    .site-button.light button::after,
    .site-button.light > span::before,
    .site-button.light > span::after {}
    .site-button a::before,
    .site-button button::before,
    .site-button > span::before {
        border-right: none;
    }
    .site-button a::after,
    .site-button button::after,
    .site-button > span::after {
        border-left: none;
    }
    .site-button a:hover::before,
    .site-button a:hover::after,
    .site-button button:hover::before,
    .site-button button:hover::after,
    .site-button > span:hover::before,
    .site-button > span:hover::after,
    .site-button.hovered a::before,
    .site-button.hovered a::after,
    .site-button.hovered button::before,
    .site-button.hovered button::after,
    .site-button.hovered > span::before,
    .site-button.hovered > span::after {}
    .site-button a span,
    .site-button button span,
    .site-button > span span {}
    /*** Get In Touch ***/
    #hp-git {}
    .hp-git {
        padding: 0 20px;
    }
    .hp-git-inner {
        padding: 40px 20px;
    }
    .git-bg {}
    .git-bg::before {}
    .git-bg canvas {}
    .git-title-text-form {
        max-width: 720px;
        padding: 103px 30px 90px;
    }
    .git-title {
        margin: 0 0 18px;
    }
    .git-title h2 {
        font-size: 60px;
    }
    .git-title h2::before {
        bottom: 32px;
        left: calc(100% + 23px);
    }
    .git-title h2::after {
        bottom: 32px;
        right: calc(100% + 23px);
    }
    .git-title h2 span {
        margin: 0 0 16px;
    }
    .git-text {
        margin: 0 0 50px;
    }
    .git-text p {
        font-size: 16px;
    }
    .git-form {
        max-width: 614px;
    }
    .git-form-inner {
        margin: 0 -4px;
        gap: 9px;
    }
    .git-form-inner > div {
        width: 100%;
        gap: 9px;
        padding: 0 4px;
    }
    .git-form-inner > div:last-child {
        margin: 14px 0 0;
        padding: 0 12px;
    }
    .git-form-inner > div > span {
        font-size: 12px;
        text-align: center;
    }
    .git-form-input {}
    .git-form-input input,
    .git-form-input textarea {
        max-height: 93px;
        border: 1px solid #616161;
        font-size: 15px;
        padding: 10px 15px 8px;
    }
    .git-form-button {
        margin: 21px 0 0;
    }
    .git-form-button button {
        padding: 15px 30px 12px;
    }
    .git-form .wpcf7-spinner {}
    .git-form .wpcf7-response-output {
        border-width: 1px !important;
        font-size: 12px;
        padding: 5px 15px !important;
        margin: 14px auto 0 !important;
    }
    .git-form .wpcf7-not-valid-tip {
        border-width: 1px !important;
        font-size: 12px;
        padding: 5px 15px !important;
    }
    /*** Footer ***/
    .footer {
        padding: 0 20px;
    }
    .footer-inner {
        max-width: 720px;
        padding: 148px 0 0;
    }
    .footer-bg {}
    .footer-bg::before {}
    .footer-bg canvas {}
    .footer-newsletter {}
    .footer-newsletter-inner {}
    .newsletter-title-text {
        width: 100%;
    }
    .newsletter-title {
        margin: 0 0 15px;
    }
    .newsletter-title h2 i {
        top: -136px;
        left: -114px;
    }
    .newsletter-title h2::before {
        left: calc(100% + 23px);
    }
    .newsletter-title h2::after {
        right: calc(100% + 23px);
    }
    .newsletter-text {}
    .newsletter-text p {
        font-size: 22px;
        text-align: center;
    }
    .newsletter-form {
        max-width: 540px;
        margin: 36px auto 0;
    }
    .newsletter-form-inner {
        gap: 30px;
    }
    .newsletter-form-input {
        width: 100%;
    }
    .newsletter-form-input input {
        border-bottom: 1px solid #000;
        font-size: 14px;
        text-align: center;
        padding: 16px 0;
    }
    .newsletter-form-button {
        width: 100%;
    }
    .newsletter-form-button button {}
    .newsletter-form .wpcf7-spinner {}
    .newsletter-form .wpcf7-response-output {
        border-width: 1px !important;
        font-size: 12px;
        padding: 5px 15px !important;
        margin: 15px auto 0 !important;
    }
    .newsletter-form .wpcf7-not-valid-tip {
        border-width: 1px !important;
        font-size: 12px;
        padding: 5px 15px !important;
    }
    .footer-logo {
        margin: 162px 0 0;
    }
    .footer-logo-inner {}
    .footer-logo-inner a {}
    .footer-logo-inner a::before {
        width: 228px;
        height: 142px;
    }
    .footer-logo-inner a img {
        width: 228px;
    }
    .footer-navigation-contact {
        flex-flow: column;
        align-items: center;
        margin: 58px 0 0;
        gap: 30px;
    }
    .footer-navigation {}
    .footer-nav {
        flex-flow: column;
        align-items: center;
        gap: 30px;
    }
    .footer-nav > li {}
    .footer-nav > li > a {
        font-size: 18px;
        text-align: center;
    }
    .footer-nav > li:hover > a {}
    .footer-nav .sub-menu {
        align-items: center;
        gap: 7px;
        margin: 12px 0 0;
    }
    .footer-nav .sub-menu li {}
    .footer-nav .sub-menu li a {
        font-size: 16px;
        text-align: center;
    }
    .footer-nav .sub-menu li:hover > a {}
    .footer-contact {
        margin: 2px 0 0;
    }
    .footer-contact-inner {
        align-items: center;
        gap: 30px;
    }
    .footer-contact-inner a {
        flex-flow: column;
        gap: 10px;
        font-size: 16px;
        text-align: center;
    }
    .footer-contact-inner a:hover {}
    .footer-contact-inner a i {
        font-size: 14px;
        width: 18px;
    }
    .footer-contact-inner a i.ai-font-envelope-f {
        font-size: 12px;
        top: 0;
    }
    .footer-contact-inner a i.ai-font-location-c {
        font-size: 22px;
        top: 0;
    }
    .footer-brokerage-logos-accessibility-copyright-extra-logos {
        margin: 51px 0 0;
        padding: 93px 0 78px;
    }
    .footer-brokerage-logos-accessibility-copyright-extra-logos::before {}
    .footer-brokerage-logos {}
    .footer-brokerage-logos-inner {
        flex-flow: column;
        align-items: center;
        gap: 30px 60px;
    }
    .footer-brokerage-logos-inner a {}
    .footer-brokerage-logos-inner a:first-child img {
        width: 333px;
    }
    .footer-brokerage-logos-inner a:last-child img {
        width: 320px;
    }
    .footer-accessibility {
        margin: 42px 0 0;
    }
    .footer-accessibility p {
        font-size: 13px;
    }
    .footer-accessibility p a {}
    .footer-accessibility p a:hover {}
    .footer-copyright {
        margin: 16px 0 0;
    }
    .footer-copyright p {
        font-size: 13px;
    }
    .footer-copyright p a {}
    .footer-copyright p a:hover {}
    .footer-copyright p span {}
    .footer-extra-logos {
        flex-flow: column;
        gap: 30px 60px;
        margin: 38px 0 0;
    }
    .footer-extra-logos img:nth-child(1) {
        width: 155px;
    }
    .footer-extra-logos img:nth-child(2) {
        width: 222px;
    }
    .footer-extra-logos img:nth-child(3) {
        width: 78px;
    }
    .footer-extra-logos img:nth-child(4) {
        width: 73px;
    }
    /*******************************************************
 *
 * IP Styles
 *
 *******************************************************/
    .ip-banner-wrap {
        padding: 20px;
    }
    .ip-banner {}
    .ip-banner::before {}
    .ip-banner::after {}
    .ip-banner canvas {
        min-height: 250px;
    }
    .ip-banner .container {}
    .ip-banner h1 {
        font-size: 32px;
    }
    .ip-banner h1 span {
        font-size: 24px;
    }
    #content-sidebar,
    #content-full {
        min-height: 500px;
        margin-top: 20px;
    }
    #content-sidebar #content {}
    #content-full #content {}
    .sidebar {}
    .page-template-template-fullwidth #content {
        padding-left: 15px;
        padding-right: 15px;
    }
    .page-template-template-fullwidth #content ihf-search[data-eureka-id*=""].ihf-eureka {
        margin-left: -15px;
        margin-right: -15px;
    }
    #content h4,
    aside h4,
    #content p,
    aside p,
    #content blockquote,
    aside blockquote,
    #content ul,
    aside ul,
    #content fieldset,
    aside fieldset,
    #content form,
    aside form,
    #content ol,
    aside ol,
    #content dl,
    aside dl,
    #content dir,
    aside dir,
    #content menu,
    aside menu {}
    #content .entry-title,
    #content .archive-title {
        font-size: 72px;
    }
    #content .archive-subtitle {}
    #pojo-a11y-toolbar,
    #pojo-a11y-toolbar.pojo-a11y-toolbar-left .pojo-a11y-toolbar-toggle {}
    button:focus-visible,
    a:focus-visible {
        outline: 5px solid red !important;
    }
    #inner-page-wrapper > .container {
        width: 1170px;
        padding: 0 15px;
    }

    #content h3.yotu-video-title {
        font-size: 20px;
    }
    #content .yotu-video-description {
        font-size: 16px;
    }

    .development-list-header {
        display: none;
    }

    .development-list {
        text-align: center;
        margin: 15px 0;
        border: solid 2px #3f3f3f;
    }

    .development-list > div {
        display: block;
        width: 100%;
    }

    .development-list > div:first-child {
        border-left: 0;
        border-right: 0;
    }

    .development-list > div {
        border-left: 0;
        border-right: 0;
        border-bottom: solid 2px #3f3f3f;
    }

    .development-list > div:last-child {
        border-bottom: 0;
    }

    .development-list > div span::before {
        font-size: 16px;
        font-weight: 700;
        color: #ee1177;
        margin-right: 14px;
    }

    .d-address span::before{
        content: 'Address';
    }

    .d-units span::before{
        content: 'Units';
    }

    .d-bedrooms span::before{
        content: 'Bedrooms';
    }

    .d-built span::before{
        content: 'Built/Converted';
    }

    .d-type span::before{
        content: 'Type';
    }

    /* LISTINGS PAGE */
    .page-id-15091 #listings-results .listings-grid .listings-price {
        font-size: 20px;
        order: 2;
        margin-bottom: 0;
    }
    .page-id-15091 #listings-results .listings-grid .listings-address {
        order: 1;
        font-size: 16px;
    }
    .page-id-15091 #listings-results .listings-grid .listings-item:hover .listings-address {
        top: 0;
    }
    /* LISTINGS PAGE END */
}

@media only screen and (max-width: 767px) {
    .ip-banner .container {
        width: 100%;
    }

    .past-list > div.rentals-entry{
        text-align: center;
    }
    .past-list > div.rentals-entry .rentals-entry-title{
        font-size: 1.08em;
        font-weight: 600;
    }
}

@media only screen and (max-width: 480px) {
    .site-title h2 {
        font-size: 48px !important;
    }
    .site-title h2::before,
    .site-title h2::after {
        display: none;
    }
}