/*
Theme Name: VIP Real Estate
Description: AIOS mobile semi-custom theme.
Author: AgentImage
Author URI: http://www.agentimage.com
Version: 1.6.1
Tags: one-column, two-columns, right-sidebar, custom-menu, full-width-template, sticky-post
License: Proprietary
License URI: http://www.agentimage.com
Template: aios-starter-theme
*/


/*

TABLE OF CONTENTS

1. Variables
2. Custom CSS
3. IP styles
4. MEDIA QUERIES ARE AUTOMATICALLY REMOVED FROM THIS FILE, they must be placed in style-media-queries.css

*/


/*******************************************************
 *
 * 1. Variables
 *
 *******************************************************/

:root {
    /** Font default */
    --font-family-default: 'Mukta', sans-serif;
    --font-family-title: 'Mukta', sans-serif;
    --font-size-default: 14px;
    --font-size-title: 18px;
    --font-color-default: #4e4e4e;
    --font-color-title: #1a1a1a;
    /** Use for input, button, and any other element */
    --primary: #f63d3b;
    --secondary: #1a1a1a;
    --success: #28a745;
    --info: #17a2b8;
    --warning: #ffc107;
    --danger: #dc3545;
    --light: #f8f9fa;
    --dark: #343a40;
    --default-transition: .3s cubic-bezier(.4, 0, .2, 1);
}


/*******************************************************
 *
 * 2. Navigation
 *
 *******************************************************/

.site-navi li {
    display: block;
    position: relative;
}

.site-navi li a {
    display: block;
    position: relative;
    font-size: 16px;
    color: #ffffff;
    line-height: 1;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    -webkit-transition: all 0.35s ease-in-out;
    transition: color 0.35s ease-in-out;
}

.site-navi > li {
    display: inline-block;
    vertical-align: middle;
    position: relative;
    margin: 0 25px;
}

.site-navi > li > a::after {
    content: '';
    position: absolute;
    background: var(--secondary);
    width: 0;
    height: 2px;
    left: 50%;
    transform: translateX(-50%);
    bottom: -10px;
    transition: all .5s;
    display: none;
}

.site-navi > li:hover > a::after {
    width: 50%;
}

.site-navi > li > a {
    padding: 0 10px;
}

.site-navi .sub-menu {
    position: absolute;
    width: 100%;
    min-width: 220px;
    text-align: center;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    -webkit-transform: translateY(20px);
    transform: translateY(20px);
    -webkit-transition: all 0.5s ease-in-out;
    transition: all 0.5s ease-in-out;
}

.site-navi > li > .sub-menu .site-navi .sub-menu .sub-menu {
    top: 0;
    margin-left: 100%;
}

.site-navi .sub-menu li a {
    background: #fff;
    color: #666;
    padding: 10.5px 5px;
    transition: background-color var(--default-transition);
    position: relative;
}

.site-navi .sub-menu li a::after {
    width: 100%;
    height: 1px;
    background-color: var(--primary);
    content: '';
    display: block;
    max-width: 120px;
    left: 50%;
    transform: translateX(-50%);
    position: absolute;
    bottom: 0;
    width: 0;
    transition: all .5s;
}

.site-navi .sub-menu li:hover a::after {
    width: 100%;
}

.site-navi > li > .sub-menu {
    left: -250%;
    right: -250%;
    margin: auto;
    padding-top: 15px;
}

.site-navi li:hover > .sub-menu {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    -webkit-transform: translateY(0);
    transform: translateY(0);
}

.default-header.scrolled .site-navi > li > a {
    color: #000;
}

.side-nav-trigger .bmenu {
    width: 55px;
    height: 55px;
    background-color: transparent;
    border: 1px solid #a3a3a4;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all var(--default-transition);
}

.side-nav-trigger .bmenu i {
    display: block;
    width: 37px;
    height: 9px;
    background-image: url(images/b-arrow-a.png);
    background-repeat: no-repeat;
    filter: brightness(5);
    transition: all var(--default-transition);
}

.side-nav-trigger .bmenu i:nth-child(3) {
    animation: bmenuI 1.5s normal linear;
    animation-delay: 0s;
}

.side-nav-trigger .bmenu i:nth-child(2) {
    animation: bmenuI 1.5s normal linear;
    animation-delay: .5s;
}

.side-nav-trigger .bmenu i:nth-child(1) {
    animation: bmenuI 1.5s normal linear;
    animation-delay: 1s;
}

@keyframes bmenuI {
    0% {
        opacity: 1;
        transform: scale(1);
    }
    25% {
        opacity: .5;
        transform: scale(1.2);
    }
    50% {
        opacity: 0;
        transform: scale(1.1);
    }
    100% {
        opacity: 1;
        transform: scale(1);
    }
}

.side-nav-trigger .bmenu:hover{    
	background-color: var(--primary);
    border: 1px var(--primary) solid;
}

.default-header.scrolled .side-nav-trigger .bmenu {    
	background-color: transparent;
  border: 1px #a3a3a4 solid;
}
.default-header.scrolled .side-nav-trigger .bmenu:hover {    
	background-color: var(--primary);
  border-color: var(--primary);
}

.default-header.scrolled .side-nav-trigger .bmenu i {
    filter: brightness(1);
    transform: rotate(180deg)
}

.default-header.scrolled .side-nav-trigger .bmenu:hover {
    background-color: var(--primary)
}

.default-header.scrolled .side-nav-trigger .bmenu:hover i {
    filter: brightness(5);
}


/* Off Canvas : START */

.is-off-canvas-active {
    overflow: hidden;
}

.off-canvas {
    display: none;
    position: fixed;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 1022;
    overflow: auto;
    font-size: 0;
}

.off-canvas.zoomOut {
    visibility: hidden;
}

.off-canvas-overlay {
    position: fixed;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
}

.off-canvas-inner {
    background: #1a1a1a;
    background-size: cover;
    position: relative;
    width: 100%;
    min-height: 100%;
    padding: 95px 100px;
    margin: 0;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    color: #fff;
}

.off-canvas-inner::before {
    content: '';
    position: absolute;
    width: 100%;
    height: 100%;
    background-image: url(images/sidenav-bg.jpg);
    top: 0;
    left: 0;
    background-size: cover;
    opacity: .03;
    z-index: 1;
}

.off-canvas-inner::after {
    content: '';
    position: absolute;
    width: 100%;
    height: 200px;
    z-index: 1000;
    top: 15vh;
    background-image: url(images/slider-accent.png);
    background-repeat: no-repeat;
    background-position: center;
    opacity: .020;
    z-index: 1;
}

.off-canvas-inner > * {
    position: relative;
    z-index: 2;
}

.off-canvas-inner .menu-primary-menu-container {
    width: 100%;
}

.off-canvas-close {
    position: absolute;
    top: 75px;
    right: 25px;
    font-size: 12px;
    color: #fff;
    text-align: center;
    cursor: pointer;
    z-index: 2;
    -webkit-transition: all 0.35s ease-in-out;
    transition: all 0.35s ease-in-out;
    /* background-color: var(--primary); */
    width: 55px;
    height: 55px;
    border: 1px #fff solid;
}

.off-canvas-close i {
    display: inline-block;
    width: 37px;
    height: 9px;
    background-image: url(images/b-arrow-a.png);
    background-repeat: no-repeat;
    /* filter: brightness(5); */
    transition: all var(--default-transition);
    position: absolute;
    top: 40%;
    transition: all var(-default-transition);
}

.off-canvas-close i:nth-child(1) {
    transform: rotate(90deg);
    left: 5px;
}

.off-canvas-close i:nth-child(2) {
    transform: rotate(-90deg);
    right: 5px;
}

.off-canvas-close:hover {
    transform: rotate(-180deg);
}

.off-canvas-logo {
    position: relative;
    padding: 0 0 35px;
}

.burger-logo-wrap {
    display: inline-flex;
    align-items: flex-end;
}

.off-canvas-logo a {
    display: inline-block;
}

.off-canvas-logo a img {
    height: 140px;
    width: auto;
    padding-right: 30px;
    margin-right: 30px;
    filter: brightness(5);
}

.off-canvas-logo img:nth-child(2) {
    height: 78px;
    width: auto;
    margin-bottom: 5px;
}

.side-navi {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    padding: 40px 0;
    width: 100%;
}

.side-navi li a {
    display: block;
    position: relative;
    font-size: 17px;
    font-weight: 700;
    color: #cacaca;
    line-height: 1;
    text-transform: uppercase;
    -webkit-transition: all 0.35s ease-in-out;
    transition: all 0.35s ease-in-out;
}

.side-navi li:hover > a {
    color: var(--hover-color);
}

.side-navi > li {
    padding: 0 0;
    width: 25%;
    margin-bottom: 90px;
}

.side-navi > li > a {
    font-size: 26px;
    font-weight: 700;
    color: #fff;
    letter-spacing: 0.15em;
}

.side-navi > li.menu-item-has-children > a {
    margin-bottom: 25px;
    font-size: 22px;
}

.side-navi > li:hover > a {
    color: var(--hover)
}

.side-navi .sub-menu li {
    margin-bottom: 12px;
    padding-left: 12px;
}

.side-navi .sub-menu li.side-navi-main a {
    font-size: 15px;
    font-weight: 700;
}

.off-canvas-contact {
    position: absolute;
    right: 100px;
}

.off-canvas-contact > div {
    font-size: 14px;
}

.off-canvas-smi-wrap a {
    font-size: 22px;
    color: var(--secondary);
    margin: 0 5px;
}

.off-canvas-contact-info .oc-label {
    color: var(--primary);
    margin-right: 5px;
}

.off-canvas-contact-info {
    display: flex;
    font-size: 16px;
}

.off-canvas-contact-info .contact-info {
    margin-right: 20px;
}


/*******************************************************
 *
 * 3. Custom CSS
 *
 *******************************************************/


/* Global */

body {
    font-family: var(--font-family-default);
    font-size: var(--font-size-default);
    background: #FFFFFF;
    color: var(--font-color-default);
    margin: 0;
    /* Remove the comment from line 85 to 86 if the font issue in safari occurs */
    /* -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale; */
}

body.home {
    overflow-x: hidden;
}

#main-wrapper {
    overflow: hidden;
}

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

body.home section p {
    line-height: 180%;
    margin-bottom: 30px;
    font-size: 16px;
}

.section-title h2 {
    font-size: 86px;
    font-weight: 700;
    text-transform: uppercase;
    display: inline-block;
    color: var(--font-color-title);
    line-height: 100%;
    margin-bottom: 20px;
}

.section-title h2 span {
    display: block;
    font-size: 22px;
    font-weight: 600;
    text-align: left;
    color: var(--primary);
    position: relative;
    line-height: normal;
    /* letter-spacing: 4px; */
}

.section-title h2 span.line::after {
    content: '';
    position: absolute;
    width: 64px;
    height: 2px;
    background-color: var(--primary);
    top: 50%;
    transform: translateY(-50%);
    margin-left: 25px;
}

.hp-btn {
    text-transform: uppercase;
    padding: 18px 45px;
    border: 1px #d5d5d5 solid;
    display: inline-block;
    position: relative;
    transition: color var(--default-transition);
    font-size: 13px;
}

.hp-btn::before {
    position: absolute;
    top: 0;
    left: 0;
    width: 3px;
    height: 100%;
    background-color: var(--primary);
    content: '';
    transition: width var(--default-transition);
    z-index: 1;
}

.hp-btn * {
    position: relative;
    z-index: 2;
}

.hp-btn:hover::before {
    width: 100%;
}

.hp-btn input {
    border: 0;
    background: transparent;
    text-transform: uppercase;
    padding: 0;
    font-size: 17px;
}

.hp-btn:hover {
    color: #fff;
}

.hp-slide-nav {
    display: flex;
    align-items: center;
    justify-content: center
}

.hp-slide-arr {
    border: 0;
    background-color: transparent;
    margin: 0 30px;
    transition: all var(--default-transition);
}

.hp-slide-arr:hover {
    transform: scale(1.1);
}

.hp-slide-arr-p img {
    transform: rotate(-180deg)
}


/* header */

header.header {
    position: fixed;
    width: 100%;
    z-index: 100;
    opacity: 0;
    transition: opacity .5s;
}

header.header.split {
    opacity: 1;
}

.default-header {
    transition: background-color var(--default-transition);
    padding: 20px 0;
}

.default-header .header-logo img {
    filter: brightness(5);
    transition: all var(--default-transition);
}

.default-header.scrolled {
    background-color: #fff;
    padding: 5px 0;
    border-bottom: 1px #ccc solid;
}

div.default-header.scrolled .header-logo img {
    height: 78px;
    width: 115px;
    filter: brightness(1);
}

.header-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    color: #fff;
    width: 90%;
    max-width: 1150px;
    margin: 0 auto;
    position: relative;
}

.header-left {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
}

.header-left > .navigation {
    width: 100%;
}

.header-left .menu-primary-menu-container {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    position: relative;
}

.header-left .menu-primary-menu-container .header-logo {
    left: -15px;
    position: relative;
}

.header-right {
    position: absolute;
    right: -100px;
}

.mobile-logo {
    text-align: center;
    padding: 60px 0 10px;
    display: none
}


/* footer */

footer.footer .container {
    max-width: 1140px;
    width: 95%;
    position: relative;
    z-index: 2;
    font-size: 12px;
    justify-content: space-between;
    flex-wrap: wrap;
}

footer.footer .container::before,
footer.footer .container::after {
    width: 100%;
}

.footer-top {
    padding: 65px 0 100px;
    position: relative;
    color: #1a1a1a;
}

.footer-top::before {
    content: '';
    position: absolute;
    width: 100%;
    height: 100%;
    background-image: url(images/hp-texture.jpg);
    background-size: cover;
    opacity: .50;
    top: 0;
    left: 0;
}

.footer-top .container {
    display: flex;
}

.footer-disclaimer {
    width: 40%;
}

.footer-bottom {
    background-color: #120b0b;
    color: #fff;
    position: relative;
}

.footer-bottom::before {
    content: '';
    width: 51%;
    position: absolute;
    top: -45px;
    left: 0;
    /*border-bottom: 45px solid #120b0b;
    border-right: 40px solid transparent;
    height: 0;*/
    height: 45px;
    background-color: #120b0b;
    transform: skewX(-320deg);
}

.footer-bottom::after {
    content: '';
    position: absolute;
    top: -45px;
    left: 0;
    height: 45px;
    background-color: #120b0b;
    width: 20px;
}

.footer-nav {
    color: #fff;
    padding: 0 0 20px;
}

.footer-nav ul li {
    display: inline;
    text-transform: uppercase;
    padding: 0 12px;
    font-size: 12px;
}

.footer-nav ul li:first-child {
    padding-left: 0;
}

.footer-disclaimer {
    margin-bottom: 30px;
    line-height: 150%;
    width: 40%;
}

.footer-disclaimer p {
    font-size: 13px;
    line-height: 200%;
    font-weight: 500;
}

.footer-logo {
    display: inline-block;
    margin-bottom: 35px;
}

.footer-contact-info {
    width: 50%;
}

.footer-contact-info-list {
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 40px;
    align-items: center;
}

.footer-contact-info-list .contact-info {
    display: inline-block;
    margin-bottom: 12px;
    margin-right: 12px;
    font-size: 17px;
    font-weight: 500;
}

.footer-contact-info-list .contact-info i {
    margin-right: 10px;
    color: var(--primary);
}

.footer-contact-info-list .contact-info i.ai-font-location-c {
    font-size: 18px;
    top: 2px;
    margin-right: 5px;
}

.footer-contact-info-list .contact-info i.ai-font-envelope-f {
    font-size: 11px;
}

.footer-contact-info-list .contact-info.address {
    width: 100%;
    display: block;
}

.footer-contact-locations {
    display: flex;
    flex-wrap: wrap;
}

.footer-contact-location {
    width: 50%;
    margin-bottom: 30px;
    font-size: 13px;
    line-height: 150%;
    color: #1a1a1a;
}

.location-name {
    font-size: 20px;
    text-transform: uppercase;
    margin-bottom: 5px;
    font-weight: 600;
}

.footer-copyright .ai-icon {
    font-size: 30px;
    display: inline-block;
    margin-right: 10px;
}

.footer-copyright {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0 0 20px;
}

.footer-form-wrap {
    padding-left: 8.125vw;
    background-image: url(images/footer-form-bg.jpg);
    background-position: right top;
    background-size: cover;
    display: flex;
    justify-content: space-between;
    position: relative;
    align-items: center;
}

.footer-form-wrap::before {
    content: '';
    position: absolute;
    width: 4.375vw;
    height: 45%;
    background-color: #dd2222;
    top: 0;
    left: 0;
    background-image: url(images/about-accent.jpg);
    background-size: cover;
}

.footer-form-wrap::after {
    content: '';
    position: absolute;
    width: 4.375vw;
    height: 55%;
    background-color: #d6d6d6;
    bottom: 0;
    left: 0;
    opacity: .5;
}

.footer-form-left {
    padding-top: 80px;
    padding-bottom: 120px;
    max-width: 630px;
}

.footer-form-left .form-row {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
}

.footer-form-left .form-row .form-col {
    width: calc(50% - 20px);
    margin-bottom: 20px;
}

.footer-form-left .form-row .form-col-full {
    width: 100%;
}

.footer-form-left .form-row .wpcf7-form-control {
    border: 0;
    border-bottom: 1px #868686 solid;
    background: transparent;
    padding: 25px 0;
    font-size: 17px;
    width: 100%;
}

.footer-form-left .form-row select.wpcf7-form-control {
    -webkit-appearance: none;
}

.footer-form-left .form-row select.wpcf7-form-control option {
    background-color: var(--primary);
    color: #fff;
    font-size: 13px;
}

.footer-form-left .form-row textarea.wpcf7-form-control {
    height: 100px;
    resize: none;
    margin-bottom: 40px;
}

.footer-form-right {
    display: flex;
    align-items: flex-end;
	width: 100%;
}

.footer-form-right img {
    display: block;
    /*margin-bottom: 60px;*/
    margin-bottom: 80px;
    width: 100%;
}

.footer-form-wrap .wpcf7-spinner {
    position: absolute;
}

.footer-form .wpcf7-response-output {
    text-align: center;
}

.footer-form .use-floating-validation-tip .wpcf7-not-valid-tip {
    right: 5px;
    ;
    left: auto;
    top: 0;
    position: absolute;
    width: auto;
}


.footer-form-left .section-title h2 {
    font-size: clamp(40px, 5.125vw, 82px);
}

/* hp slider */

.hp-slider {
    position: relative;
    height: 100vh;
    max-height: 1080px;
}

.hp-slider-holder {
    position: relative;
}

.hp-slider-holder::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 40%;
    background: rgb(0, 0, 0);
    background: linear-gradient(0deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 1) 100%);
    z-index: 1;
    opacity: .5;
}

.hp-slider-holder::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #000;
    opacity: .010;
}

.hp-slider-holder .cycloneslider-template-responsive {
    position: relative;
}

.hp-slider-holder .aios-slider::before,
.hp-slider-holder .cycloneslider-template-responsive::before {
    content: '';
    position: absolute;
    width: 100%;
    height: 200px;
    z-index: 1000;
    top: 15vh;
    background-image: url(images/slider-accent.png);
    background-repeat: no-repeat;
    background-position: center;
    opacity: .15;
}

.hp-slider-holder #aios-slider-hp-slideshow .aios-slider-splide .aios-slider-img canvas,
.hp-slider-holder .cycloneslider-canvas,
.hp-slider-holder .cycloneslider-template-responsive.cycloneslider-width-full .cycloneslider-slide canvas {
    height: 100vh;
    max-height: 1080px;
}

.hp-slider-holder .cycloneslider-template-responsive .cycloneslider-slide {
    background-color: #ccc;
}

.hp-slider-content-holder {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    color: #fff;
    width: 100%;
    z-index: 2;
}

.hp-slider-content-holder h1 {
    font-size: 82px;
    text-transform: uppercase;
    font-weight: 700;
    text-shadow: 0 0 30px #000;
    text-align: center;
}

.hp-slider-content-holder h1 span {
    display: block;
}

.slider-tagline {
    margin-bottom: 30px;
}

.hp-slider-content-holder .qs-custom-select {
    width: 90%;
    max-width: 810px;
    margin: 0 auto;
    position: relative;
}

.hp-slider-content-holder .qs-custom-select .dropdown-toggle {
    display: block;
    background-color: rgb(255 255 255 / .90);
    color: #4e4e4e;
    text-align: left;
    height: 50px;
    text-decoration: none;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 20px;
    transition: background-color var(--default-transition);
}

.hp-slider-content-holder .qs-custom-select .dropdown-toggle[aria-expanded="true"] {
    background-color: rgb(255 255 255 / 1);
}

.hp-slider-content-holder .qs-custom-select .dropdown-toggle[aria-expanded="true"] .caret {
    transform: rotate(180deg);
}

.hp-slider-content-holder .qs-custom-select .dropdown-menu {
    width: 100%;
    border: 1px #fff solid;
    border-radius: 0;
    margin-top: -5px;
    background-color: var(--primary);
    padding: 0;
}

.hp-slider-content-holder .qs-custom-select .dropdown-menu li:not(:last-child) {
    border-bottom: 1px #f16767 solid;
}

.hp-slider-content-holder .qs-custom-select .dropdown-menu a {
    color: #fff;
    transition: background-color var(--default-transition);
}

.hp-slider-content-holder .qs-custom-select .dropdown-menu a:hover {
    color: var(--primary);
}

.hp-slider-content-holder .qs-custom-select .dropdown-menu>li>a {
    padding: 16px 20px;
}


/* hp: fixed contact icons */

.hp-fixed-contact-icons {
    position: absolute;
    z-index: 99;
    height: 100%;
    left: 0;
    top: 0;
    width: 100px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.fixed-smi-divider {
    width: 1px;
    height: 30px;
    background-color: #fff;
    margin: 0 auto;
}

.hp-fixed-contact-icons a {
    font-size: 0;
    display: block;
    text-align: center;
    margin: 20px 0;
}

.hp-fixed-contact-icons a span {
    font-size: 20px;
    color: #fff;
}

.hp-fixed-contact-icons a span.ai-font-envelope {
    font-size: 11px;
}

.hp-fixed-contact-icons a span.ai-font-phone {
    font-size: 16px;
}


/* hp: about */

.hp-about {
    position: relative;
}

.hp-about > div.textwidget {
    position: relative;
    z-index: 2;
}

.hp-about > div.textwidget::before {
    content: '';
    position: absolute;
    width: 100%;
    height: 10%;
    top: 0;
    left: 0;
    background: rgb(255, 255, 255);
    background: linear-gradient(0deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 1) 100%);
}



.hp-about::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: url(images/hp-texture.jpg);
    background-size: cover;
    background-position: center;
    background-attachment: fixed;
    opacity: .50;
    z-index: 1;
}

.hp-about-wrap {
    width: 90%;
    max-width: 1150px;
    margin: 0 auto;
    padding: 50px 0;
    display: flex;
    justify-content: space-between;
}

.hp-about-wrap::before {
    content: '';
    position: absolute;
    top: -45px;
    right: 0;
    width: 70px;
    height: calc(50% + 45px);
    background-color: #9b1512;
    background-image: url(images/about-accent.jpg);
    background-size: cover;
}

.hp-about-wrap::after {
    content: '';
    position: absolute;
    bottom: 0;
    right: 0;
    width: 70px;
    height: 50%;
    background-color: #e7e7e7;
}

.hp-about-text {
    max-width: 690px;
}


/* hp: featured properties */

.hp-featured-properties {
    overflow: hidden;
}

.hp-fp-wrap {
    padding: 70px 0;
    margin-left: -5px;
    margin-right: -5px;
}

.fp-list {
    margin-bottom: 50px;
}

.fp-listi-flex {
    display: flex !important;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
}

.fp-listi-flex a {
    margin: 2.5px;
    width: calc((100% / 3) - 5px);
    display: block;
    overflow: hidden;
}

.hp-fp-wrap .section-title {
    margin-bottom: 35px;
}

.fp-item {
    position: relative;
    overflow: hidden;
}

.fp-item::before {
    content: '';
    border: 5px solid;
    border-image: url(images/fp-border.png) 5;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 2;
    opacity: 0;
    transition: opacity var(--default-transition);
}

.fp-item:hover::before {
    opacity: 1;
}

.fp-img {
    height: 426px;
    position: relative;
}

.fp-img::before {
    background: rgb(0, 0, 0);
    background: linear-gradient(0deg, rgba(0, 0, 0, 1) 0%, rgba(0, 0, 0, 0) 100%);
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 50%;
    opacity: .75;
}

.fp-img::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    background-image: url(images/fp-accent.png);
    background-repeat: no-repeat;
    background-size: 90%;
    background-position: 50% 40%;
    transition: opacity var(--default-transition);
}

.fp-item:hover .fp-img::after {
    opacity: .5;
}

.fp-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.fp-status {
    position: absolute;
    top: 20px;
    right: 20px;
    z-index: 2;
    max-width: 42%;
}

.fp-status span {
    display: inline-block;
    font-size: 14px;
    text-transform: uppercase;
    padding: 5px;
    letter-spacing: 0.1em;
    margin: 0 1px 5px 0px;
}

.fp-img .fp-status {
    text-align: right;
}

.fp-details {
    color: #fff;
    font-weight: 300;
    padding-left: 25px;
    position: absolute;
    bottom: -55px;
    transition: bottom var(--default-transition);
    width: 100%;
}

.fp-details::before {
    content: '';
    width: 3px;
    height: 110px;
    background-color: var(--primary);
    left: 1px;
    top: -10px;
    position: absolute;
}

.fp-item:hover .fp-details {
    bottom: 0;
}

.fp-details .fp-price {
    font-size: 35px;
    margin-bottom: 10px;
}

.fp-details .fp-address-1,
.fp-details .fp-address-2 {
    font-size: 17px;
}

.fp-details .fp-address-2 {
    margin-bottom: 25px;
    margin-top: 5px;
}

.fp-more-details {
    padding: 12px 0 24px;
    display: inline-block;
    border-top: 1px rgb(255 255 255 / .30) solid;
}

.fp-more-details span {
    margin-right: 10px;
    position: relative;
}

.fp-more-details span::before {
    content: '';
    display: inline-block;
    width: 16px;
    height: 12px;
    background-size: contain;
    background-image: url(images/fp-beds.png);
    margin-right: 10px;
}

.fp-more-details span.fp-beds::before {
    background-image: url(images/fp-beds.png);
}

.fp-more-details span.fp-baths::before {
    background-image: url(images/fp-baths.png);
    width: 17px;
    height: 17px;
}

.fp-more-details span.fp-sqft::before {
    background-image: url(images/fp-sqft.png);
    width: 15px;
    height: 15px;
}

.fp-btn {
    position: absolute;
    bottom: 0;
    right: 0;
    width: 40%;
    height: 50px;
    line-height: 50px;
    background-color: var(--primary);
    text-transform: uppercase;
    text-align: center;
    z-index: 3;
}


/* hp: ctas */

.hp-ctas-wrap {
    display: flex;
    width: 90%;
    max-width: 1460px;
    margin: 0 auto 90px;
    position: relative;
    justify-content: center;
    flex-wrap: wrap;
    padding: 100px 0 0;
}
.hp-ctas {
    position: relative;
}
.hp-ctas::before {
    content: '';
    width: 100%;
    position: absolute;
    top: -45px;
    left: 50%;
    /*border-bottom: 45px solid #fff;
    border-left: 25px solid transparent;
    height: 0;*/
    background-color: #fff;
    height: 45px;
    z-index: 2;
    transform: skewX(320deg);
}

.hp-cta {
/*    width: calc(25% - 10px);*/
width: calc(22.5% - 10px);
    position: relative;
    margin: 0 5px;
}

.hp-cta-img {
    position: relative;
}

.hp-cta-img canvas {
    display: block;
    width: 100%;
    height: auto;
}

.hp-cta-img img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.hp-cta-img::before {
    content: '';
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background-color: #f2f2f2;
    z-index: 2;
    opacity: .85;
    transition: opacity var(--default-transition);
}

.hp-cta:hover .hp-cta-img::before {
    opacity: .65;
}

.hp-cta:nth-child(even) .hp-cta-img::before {
    background-color: var(--primary);
}

.hp-cta-img img {
    filter: grayscale(1);
    width: 100%;
}

.hp-cta-lbl {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 3;
    text-align: center;
    width: 100%;
    color: var(--primary);
    font-size: 42px;
    font-weight: 600;
    text-transform: uppercase;
    display: flex;
    flex-flow: column;
    justify-content: center;
    align-items: center;
}

.hp-cta:nth-child(even) .hp-cta-lbl {
    color: #fff;
}

.hp-cta-lbl::before {
    content: '';
    width: 150px;
    height: 36px;
    background-image: url(images/cta-accent.png);
    display: block;
    margin: 0 auto 10px;
}

.hp-cta:nth-child(even) .hp-cta-lbl::before {
    filter: brightness(5);
}


/* hp: team */

.hp-team {
    position: relative;
    background-color: #fff;
}

.hp-team::before {
    content: '';
    position: absolute;
    width: 100%;
    height: 10%;
    background: rgb(255, 255, 255);
    background: linear-gradient(0deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 1) 100%);
    z-index: 2;
    top: 0;
    left: 0;
}

.hp-team:after {
    content: '';
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background-image: url(images/team-bg.jpg);
    background-size: cover;
    background-position: top;
    background-attachment: fixed;
    filter: grayscale(1);
    opacity: .07;
    z-index: 1;
}

.hp-team > div.textwidget::before {
    content: '';
    position: absolute;
    width: 100%;
    height: 40%;
    background: rgb(255, 255, 255);
    background: linear-gradient(0deg, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 0) 100%);
    z-index: 2;
    bottom: 0;
    left: 0;
}

.hp-team-wrap {
    width: 90%;
    max-width: 1460px;
    margin: 0 auto 90px;
    position: relative;
    z-index: 2;
}

.hp-team-wrap .section-title {
    margin-bottom: 20px;
}

.hp-team-wrap .team-list {
    margin-bottom: 50px;
}

.hp-team-wrap .team-list .slick-slide {
    outline: none;
    padding: 0 8px;
}

.team-agent-img {
    width: 100%;
    height: 412px;
    position: relative;
}

.team-agent-img::before {
    content: '';
    position: absolute;
    width: 100%;
    height: 100%;
    border: 2px var(--primary) solid;
    opacity: 0;
    transition: opacity var(--default-transition);
}

.team-agent:hover .team-agent-img::before {
    opacity: 1;
}

.team-agent-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: top;
}

.team-agent-details {
    color: #fff;
    text-align: center;
    padding: 20px 0;
    color: var(--secondary);
    background-color: var(--primary);
    box-shadow: 0 0 5px rgb(0 0 0 / .1);
    position: relative;
    transition: background-color var(--default-transition);
    position: relative;
}

.team-agent-details::before {
    content: '';
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background-image: url(images/agent-details-bg.jpg);
    background-size: cover;
    z-index: 1;
    transition: opacity var(--default-transition);
}

.team-agent-details > div {
    z-index: 2;
    position: relative;
}

.team-agent:hover .team-agent-details::before {
    opacity: 0;
}

.team-agent-details::after {
    width: 80px;
    height: 2px;
    background-color: var(--primary);
    content: '';
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    z-index: 2;
}

.team-agent-name {
    font-size: 24px;
    margin-bottom: 15px;
    font-weight: 700;
}

.team-agent-position {
    color: var(--primary);
    text-transform: uppercase;
    margin-bottom: 15px;
}

.team-agent:hover .team-agent-details,
.team-agent:hover .team-agent-position {
    color: #fff;
}


/* hp: affiliates */
.hp-affiliates-wrap {
    display: flex;
    /* width: 90%;
    max-width: 1460px; */
    margin: 0 auto 90px;
    padding: 74px 6.4375% 79px;
    position: relative;
    justify-content: space-between;
    position: relative;
}

.hp-affiliates-wrap::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: url(images/hp-texture.jpg);
    background-size: cover;
    background-position: center;
    background-attachment: fixed;
    opacity: .20;
    z-index: 1;
}

.hp-affiliates-wrap > * {
    position: relative;
    z-index: 2;
}

.hp-affiliates-left {
    position: relative;
    width: 45.912%;
    /*padding-top: 36px;*/
    padding-right: 5.5%;
    display: flex;
    align-items: center;
}

.hp-affiliates-left::before,
.hp-affiliates-left::after {
    content: '';
    position: absolute;
    width: 4.375vw;
    height: 100%;
    background-image: url(images/aff-left-bg.jpg);
    z-index: 2;
    background-size: cover;
    left: 0;
    top: 0;
    background-attachment: fixed;
    display: none;
}

.hp-affiliates-left::after {
    height: 4.375vw;
    width: 100%;
    bottom: 0;
    top: auto;
}

.hp-affiliates-text {
    /*margin: -1px 0 4.375vw 4.375vw;
    padding: 50px 14vw 50px 6.250vw;*/
    position: relative;
    z-index: 2;
}
.hp-affiliates-text .section-title {
	padding-bottom: 70px;
}
.hp-affiliates-text .section-title h2 {
    font-size: 71px;
}
body.home section .hp-affiliates-text p {
    font-size: 14px;
    font-family: "Montserrat", sans-serif;
    line-height: 2;
    letter-spacing: 0.05em;
}

.hp-affiliates-text a {
    color: inherit;
    -webkit-transition: 0.3s all ease-in-out;
    transition: 0.3s all ease-in-out;
}

.hp-affiliates-text a:hover {
    color: var(--primary);
}

.hp-affiliates-right {
    width: 54.088%;
    position: relative;
    font-family: "Montserrat", sans-serif;
}

.affiliate-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.affiliate-agent-img {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: -30%;
    z-index: 3;
}

.affiliate-agent-img img {
    border: 5px #fff solid;
}

.hp-affiliates-slider {
    margin-left: -10px;
    margin-right: -10px;
}
.hp-affiliates-item {
    padding: 0 10px;
    text-align: center;
}
.hp-affiliates-photo {
    position: relative;
}
.hp-affiliates-photo::before {
    content: '';
    position: absolute;
    z-index: 1;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    border: 1px #eaeaea solid;
    transition: var(--default-transition);
}
.hp-affiliates-photo:hover::before {
    border: 1px var(--primary) solid;
}
.hp-affiliates-photo a {
    display: block;
}
.hp-affiliates-photo canvas {
    width: 100%;
    height: auto;
    display: block;
}
.hp-affiliates-photo img {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    object-fit: cover;
    transition: var(--default-transition);
}
.hp-affiliates-logo {
    width: 100%;
    height: 96px;
    position: absolute;
    z-index: 2;
    bottom: 0;
    left: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #eaeaea;
    transition: var(--default-transition);
	overflow: hidden;
}
/*.hp-affiliates-photo:hover .hp-affiliates-logo {
    background-color: var(--primary);
}*/
.hp-affiliates-logo img {
    width: auto;
    height: auto;
    max-width: 80%;
    position: relative;
}
/*.hp-affiliates-photo:hover .hp-affiliates-logo img {
    filter: brightness(0) invert(1);
}*/
.hp-affiliates-info {
    padding-top: 15px;
}
.hp-affiliates-title {
    color: #000000;
    font-size: 18px;
    font-weight: 500;
    line-height: 1.3;
}
.hp-affiliates-name {
    margin: 15px 0;
    color: #454545;
    /*font-size: 20px;*/
    font-size: 17px;
    line-height: 1.3;
}
.hp-affiliates-phone {
    color: #454545;
    font-size: 15px;
}
.hp-affiliates-phone i {
    color: var(--primary);
    font-size: 14px;
    margin-right: 5px;
}
.hp-affiliates-phone a:hover {
    color: var(--primary);
}
.hp-affiliates-button {
    margin-top: 20px;
}
.hp-affiliates-button .hp-btn {
    font-size: 17px;
    padding: 19px 18px;
    letter-spacing: 0.2em;
    font-weight: 500;
}
.hp-affiliates .hp-slide-nav {
    margin-top: 35px;
    position: relative;
}
.hp-affiliates .hp-slide-nav .hp-slide-arr {
    margin: 0 10px;
}
.hp-affiliates .hp-slide-nav::before {
    width: 1px;
    height: 50px;
    content: '';
    position: absolute;
    top: calc(50% - 25px);
    left: 50%;
    background: rgb(194,194,194);
    background: linear-gradient(180deg, rgba(194,194,194,0) 0%, rgba(194,194,194,1) 10%, rgba(194,194,194,1) 50%, rgba(194,194,194,1) 90%, rgba(194,194,194,0) 100%);
}


/* hp: join */

.hp-join-wrap {
    display: flex;
}

.hp-join-left {
    width: 50%;
    /*    min-height: 1000px;*/
    position: relative;
    display: flex;
    flex-flow: column;
    padding-bottom: 132px;
}

.hp-join-left::after {
    content: '';
    width: 100%;
    height: 57px;
    background-image: url('images/hp-join-left-accent.jpg');
    background-size: cover;
    background-position: left center;
    background-repeat: no-repeat;
}

.hp-join-right {
    width: calc(50% + 60px);
    margin-top: 65px;
    position: relative;
    margin-left: -60px;
    background-color: #fff;
    pointer-events: none;
}

.hp-join-right::before {
    background-image: url(images/hp-texture-2.jpg);
    background-attachment: fixed;
    background-position: right;
    background-size: cover;
    opacity: .5;
    content: '';
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    z-index: 1;
}

.hp-join-right .hp-btn {
    pointer-events: auto;
}

.hp-join-contact-info {
    background-color: #000;
    background-image: url('images/hp-join-contact-info-bg.jpg');
    background-size: cover;
    background-position: center center;
    color: #fff;
    width: 400px;
    /*margin-left: auto;
    margin-right: 60px;
    margin-top: -90px;*/
    z-index: 2;
    /*    position: relative;*/
    position: absolute;
    bottom: 55px;
    right: 60px;
    padding: 70px 60px;
}

.hp-join-img {
    width: 100%;
}

.hp-join-name {
    font-size: 28px;
    text-transform: uppercase;
    margin-bottom: 20px;
}

.hp-join-phone,
.hp-join-email {
    margin-bottom: 10px;
    font-size: 14px;
}

.hp-join-phone span,
.hp-join-email span {
    margin-right: 12px;
    color: var(--primary);
}

.hp-join-email span.ai-font-envelope {
    font-size: 12px;
}

.hp-join-text {
    padding: 3.125vw 6.875vw 3.125vw 3.125vw;
    position: relative;
    z-index: 2;
    height: 100%
}

.hp-join-text::before {
    content: '';
    position: absolute;
    width: 4.375vw;
    height: 40%;
    background-color: #dd2222;
    top: 0;
    right: 0;
    background-image: url(images/about-accent.jpg);
    background-size: cover;
}

.hp-join-text::after {
    content: '';
    position: absolute;
    width: 4.375vw;
    height: 60%;
    background-color: #d6d6d6;
    bottom: 0;
    right: 0;
    opacity: .5;
}

.hp-join-text .section-title h2 {
    font-size: 75px;
}

.hp-join-text .section-title h2 span {
    font-size: 40px;
    margin-bottom: -20px;
}


/* hp: latest news */

.hp-latest-news-wrap {
    padding: 100px 0;
    position: relative;
}

.hp-latest-news-wrap::before {
    content: '';
    position: absolute;
    width: 100%;
    height: 400px;
    background-color: var(--primary);
    background-image: url(images/latest-news-texture.jpg);
    background-size: cover;
    background-attachment: fixed;
    z-index: 1;
    top: 0;
    left: 0;
}

.hp-latest-news-wrap > * {
    position: relative;
    z-index: 2;
}

.hp-latest-news-wrap .section-title {
    margin-bottom: 45px;
}

.hp-latest-news-wrap .section-title h2,
.hp-latest-news-wrap .section-title span {
    color: #fff;
}

.hp-latest-news-wrap .section-title span.line::after {
    background-color: #fff;
}

.hp-latest-news-container {
    width: 90%;
    max-width: 1460px;
    margin: 0 auto 70px;
    position: relative;
    display: flex;
    justify-content: space-between
}

.hp-latest-news-left {
    width: calc(50% - 15px);
}

.hp-latest-news-left .news-item {
    display: flex;
    height: 100%;
    flex-direction: column;
}

.hp-latest-news-left .news-item-text {
    flex: 1;
}

.news-item-img {
    width: 100%;
    height: 330px;
}

.news-item-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.news-item-text {
    padding: 35px;
    background-image: url(images/hp-texture.jpg);
    box-shadow: 0 0 10px rgb(0 0 0 / .1);
}

.news-date {
    font-size: 14px;
    color: var(--primary);
    margin-bottom: 20px;
}

.news-title {
    font-size: 24px;
    margin-bottom: 15px;
    font-weight: 700;
}

.news-excerpt {
    line-height: 180%;
    margin-bottom: 30px;
}

.hp-latest-news-right {
    width: calc(50% - 15px)
}

.hp-latest-news-right .news-item {
    display: flex;
}

.hp-latest-news-right .news-item-img {
    width: 45%;
}

.hp-latest-news-right .news-item-text {
    width: 55%;
}

.hp-latest-news-right .news-item:not(:last-child) {
    margin-bottom: 20px;
}

.hp-lastest-news-buttons {
    text-align: center;
}

.hp-lastest-news-buttons a {
    margin: 0 20px;
    min-width: 340px;
    font-size: 18px;
}


/* hp: featured videos */

.hp-fv-top {
    display: flex;
    margin: 0 auto 50px;
    width: 90%;
    max-width: 1150px;
    justify-content: space-between;
}

.hp-fv-top-right {
    display: flex;
    align-items: center;
}

.fv-top-text {
    text-transform: uppercase;
    margin: 0 50px 0 30px;
    font-size: 16px;
}

.hp-fv-row {
    display: flex;
    padding: 25px 4.375vw;
    margin-bottom: 50px;
    position: relative;
}

.hp-fv-row > * {
    position: relative;
    z-index: 2;
}

.hp-fv-row-1::before {
    background-color: var(--primary);
    background-image: url(images/hp-fv-texture.jpg);
    background-attachment: fixed;
    background-size: cover;
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 40%;
    height: 100%;
    z-index: 1;
}

.hp-fv-list {
    display: flex;
    width: 75%;
    justify-content: space-between
}

.hp-fv-item {
    width: calc(33.33% - 5px);
    height: 230px;
    position: relative;
    background-color: #000;
}

.hp-fv-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: .7;
}

.hp-fv-item span {
    position: absolute;
    z-index: 1;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 18px;
    background-color: #d8362a;
    color: #fff;
    width: 60px;
    height: 40px;
    border-radius: 5px;
    display: flex;
    justify-content: center;
    align-items: center;
}

.hp-fv-title {
    width: 25%;
    display: flex;
    justify-content: center;
    align-items: flex-start;
    flex-direction: column;
}

.hp-fv-row-1 .hp-fv-title {
    color: #fff;
}

.hp-fv-row-1 .hp-fv-title img {
    filter: brightness(5);
}

.hp-fv-title span {
    display: block;
    font-size: 27px;
    text-transform: uppercase;
    margin-top: 15px;
}

.hp-fv-row-2 {
    flex-direction: row-reverse
}

.hp-fv-row-2 .hp-fv-title {
    padding-left: 60px;
}

.hp-fv-row-2::after {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    width: 40%;
    height: 100%;
    z-index: 1;
    background-image: url(images/hp-texture.jpg);
    background-attachment: fixed;
    background-size: cover;
}


/* home: instagram */

.hp-ig-wrap {
    width: 90%;
    max-width: 1400px;
    margin: 80px auto 100px;
}

.hp-ig-list {
    display: flex;
    flex-wrap: wrap;
}

.hp-ig-item {
    width: 20%;
    height: 257px;
    position: relative;
}

.hp-ig-item img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

.hp-ig-item span.ai-font-instagram {
    position: absolute;
    bottom: 25px;
    right: 25px;
    color: #fff;
    font-size: 20px;
}

.hp-ig-more {
    margin-top: 40px;
    text-align: center;
}

.hp-ig-wrap .section-title {
    margin-bottom: 40px;
}


/* home: testimonials */

.hp-testi-wrap {
    margin: 100px auto;
    padding-top: 80px;
    position: relative;
}

.hp-testi-wrap div:not(.hp-testi-top) {
    position: relative;
    z-index: 2;
}

.hp-testi-top {
    width: 100%;
    height: 78%;
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    background-image: url(images/hp-testi-bg.jpg);
    background-attachment: fixed;
    background-size: cover;
    background-position: center;
    z-index: 1;
}

.hp-testi-top::after {
    content: '';
    position: absolute;
    width: 100%;
    height: 50px;
    background-color: #c0452b;
    background-image: url(images/aff-left-bg.jpg);
    bottom: 0;
    left: 0;
}

.hp-testi-wrap .section-title h2 {
    color: #fff;
    margin-bottom: 50px;
}

.hp-testi-slider {
    max-width: 1140px;
    width: 90%;
    margin: 0 auto 50px;
}

.hp-testi-item {
    background-color: #fff;
    padding: 0 80px;
    box-shadow: 0 0 10px rgb(0 0 0 / .1);
    height: 485px;
    display: flex !important;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.hp-testi-item .testi-txt {
    text-align: center;
    line-height: 180%;
    margin-bottom: 40px;
    display: -webkit-box;
    -webkit-line-clamp: 6;
    -webkit-box-orient: vertical;
    overflow: hidden;
    min-height: 125px;
    font-size: 17px;
}

.hp-testi-item .testi-txt::before {
    content: '';
    width: 42px;
    height: 38px;
    background-image: url(images/testi-quote.png);
    background-size: auto;
    background-position: center center;
    background-repeat: no-repeat;
    display: block;
    margin: 0 auto 40px;
}

.hp-testi-item .testi-from {
    color: var(--primary);
    text-transform: uppercase;
    text-align: center;
    font-size: 24px;
}

.hp-testi-slider .slick-slide {
    padding: 0 20px 10px;
}


/* POJO accessibility */

body #pojo-a11y-toolbar {
    bottom: 0 !important;
    top: auto !important;
}

body #pojo-a11y-toolbar.pojo-a11y-toolbar-left .pojo-a11y-toolbar-toggle {
    top: auto !important;
    bottom: 0 !important;
}

body.pojo-a11y-grayscale {
    overflow-x: hidden;
    overflow-y: auto;
}

body.pojo-a11y-grayscale {
    filter: none !important;
    -webkit-filter: none !important;
    -webkit-filter: none !important;
    -moz-filter: none !important;
    -ms-filter: none !important;
    -o-filter: none !important;
}

body.pojo-a11y-grayscale #main-wrapper {
    filter: grayscale(100%);
    -webkit-filter: grayscale(100%);
    -webkit-filter: grayscale(1);
    -moz-filter: grayscale(100%);
    -ms-filter: grayscale(100%);
    -o-filter: grayscale(100%);
    filter: gray;
}


/*******************************************************
 *
 * 4. IP Styles
 *
 *******************************************************/

.ip-banner {
    position: relative;
    width: 100%;
}

.ip-banner::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1;
    background: rgba(0, 0, 0, .6);
}

.ip-banner canvas {
    display: block;
    position: relative;
    z-index: 0;
    width: 100%;
    min-height: 250px;
    background-color: var(--dark);
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
}

.ip-banner .container {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 2;
}

.ip-banner h1 {
    font-weight: 700;
    font-size: 32px;
    text-align: center;
    color: #FFFFFF;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    line-height: 1.7;
}

.ip-banner h1 span {
    display: block;
    font-size: 24px;
    font-weight: 400;
    text-transform: none;
    letter-spacing: 0.01em;
}


/* Adjust minimum height of page area */

#content-sidebar,
#content-full {
    min-height: 500px;
    margin-top: 20px;
}


/** Adjust width of content columns **/

#content-sidebar #content {
    width: 77.08%;
}

#content-full #content {
    width: 100%;
}


/* Adjust width of sidebar */

.sidebar {
    width: 20.83%;
}


/* fullwidth template */

.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;
}


/* Adjust line height of page elements */

#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
}


/* Style .entry-title(post/page) and .archive-title(category/archive/etc) main headings (h1) */

.page-template-blog .post {
    border-bottom: 1px dotted;
}

.page-template-blog h2.archive-subtitle {
    letter-spacing: 1px;
    margin-top: 0 !important;
    text-transform: uppercase;
    line-height: -3px;
}

.category-blog #content .entry-title,
.category-blog #content .archive-title {
    display: block;
    font-size: 75px;
    font-weight: 500;
    letter-spacing: 0;
    line-height: 1;
    color: #212121;
    margin-top: 4px;
    text-transform: uppercase;
    position: relative;
}


/* Styles for category/archive/search/etc subheadings (h2) */

.category-blog #content .archive-subtitle {
    font-size: 60px;
    font-weight: 700;
    text-transform: uppercase;
    display: inline-block;
    color: var(--font-color-title);
    line-height: normal;
}


/* Styles or Agent Main Page*/

.post-page-our-vip-team h1.entry-title {
    font-size: 50px;
    font-weight: 700;
    line-height: 1.3;
    text-transform: uppercase;
    color: #000000;
}

.post-page-our-vip-team #agents-results .agent-top {
    margin: 20px auto;
}


/** Archive Default Layout (Archive Page) */

.category-blog #content .archive-list {
    position: relative;
    display: flex;
    flex-flow: row wrap;
}

.category-blog #content .archive-list:before,
.category-blog #content .archive-list:after {
    display: none;
}

.category-blog #content .archive-list > article {
    float: none;
}

.category-blog #content .archive-list .post {
    border-bottom: none;
}

.category-blog #content .archive-list .archive-thumbnail,
.category-blog #content .archive-list .archive-content {
    width: 100%;
}

.category-blog #content .archive-list .archive-thumbnail a {
    display: block;
    outline: none;
}

.category-blog #content .archive-list .archive-thumbnail canvas {
    display: block;
    width: 100%;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center center;
    aspect-ratio: 1000/1000;
}

.category-blog #content .archive-list .article-long .archive-thumbnail {
    width: 60%;
}

.category-blog #content .archive-list .article-long .archive-has-thumbnail {
    width: 37%;
    margin-left: 3%;
}


/*
.category-blog #content .archive-list .article-long .archive-has-thumbnail .archive-subtitle {
    margin-top: 0;
    font-size: 32px;
}

.category-blog #content .archive-list .article-long p {
    font-size: 22px;
}
*/

.category-blog #content .archive-more {
    font-style: normal;
    text-decoration: none;
    width: 190px !important;
}

.category-blog .archive-content p {
    font-size: initial;
}

.category-blog #content .archive-subtitle {
    font-size: 30px;
    font-weight: 700;
    line-height: 1.25;
    text-transform: uppercase;
    color: #000;
    -webkit-transition: var(--transition);
    transition: var(--transition);
}


/** End of Archive Default Layout (Archive Page) */


/** Single Default Layout (Post Content) */

.single-post #content .entry-title {
    font-size: 50px;
    font-weight: 700;
    line-height: 1.3;
    text-transform: uppercase;
    color: #000000;
}

.single-post #content .entry-thumbnail {
    position: relative;
    margin-bottom: 50px;
}

.single-post #content .entry-thumbnail img {
    display: block;
    margin: 0 auto;
    width: 100%;
}


/** End of Single Default Layout (Post Content) */


/** Button */

.site-button {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 248px;
    height: 54px;
    max-width: 100%;
    border: 2px solid #000000;
}

.site-button::before {
    content: '';
    width: 13px;
    height: 1px;
    background: #868686;
}

.site-button,
.site-button::before {
    -webkit-transition: all 0.35s ease-in-out;
    -moz-transition: all 0.35s ease-in-out;
    -o-transition: all 0.35s ease-in-out;
    transition: all 0.35s ease-in-out;
}

.site-button:hover {
    background: #000000;
}

.site-button:hover::before {
    background: #ffffff;
}

.site-button span {
    font-weight: 700;
    font-size: 12px;
    line-height: 1;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    text-align: center;
    margin: 0 12px 0 16px;
}

.site-button i {
    font-size: 10px;
    font-style: normal !important;
}

.site-button:hover span,
.site-button:hover i {
    color: #ffffff;
}

.single-post .single-post-button {
    display: -webkit-inline-box;
    display: -webkit-inline-flex;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    border: 1px solid #c1c1c1;
    width: 283px;
    max-width: 100%;
    height: 59px;
    font-size: 14px;
    font-weight: 400;
    line-height: 1;
    letter-spacing: 1.61px;
    text-transform: uppercase;
    text-align: center;
    text-decoration: none;
    color: #676767;
    background: transparent;
    -webkit-transition: all 0.4s ease-in-out;
    transition: all 0.4s ease-in-out;
}

.single-post .single-post-button:hover {
    background: #000 !important;
    border-color: #000 !important;
    color: #fff !important;
}


/** End of Button */


/* Adjust bare layout of IHF when there was no listings to show */

#ihf-main-container .ihf-listing-search-results .row {
    margin: unset;
}


/* Adjust details layout of IHF  */

.aios-custom-ihomefinder-details-template .ip-banner,
.aios-custom-ihomefinder-details-template .ip-banner-wrap,
.aios-custom-ihomefinder-details-template .ip-banner-breadcrumbs,
.aios-custom-ihomefinder-details-template .inner-page-breadcrumbs,
.aios-custom-ihomefinder-details-template .yoast-bread-crumbs,
.aios-custom-ihomefinder-details-template #inner-page-wrapper #content>#breadcrumbs,
.aios-custom-ihomefinder-details-template .entry-title {
    display: none !important;
}


/*AIOS Listings*/

.aiosp-wrap .aiosp-container.aiosp-inline-holder[class*="aiosp-ref-\#amld-popup"] .aios-popup-body {
    width: auto;
}

.aiosp-wrap .aiosp-container .aios-popup-body .amld-popup-body .listings-popup-btn-wrap {
    text-align: center;
}

.aiosp-wrap .aiosp-container .aios-popup-body .amld-popup-body input[type="submit"] {
    width: auto;
    height: auto;
    border: none;
    color: inherit;
}

.aiosp-wrap .aiosp-container .aios-popup-body .amld-popup-body .listings-popup-btn {
    text-transform: uppercase;
    border: 1px #d5d5d5 solid;
    display: inline-block;
    position: relative;
    font-size: 13px;
    margin: 0 auto;
}

.aiosp-wrap .aiosp-container .aios-popup-body .amld-popup-body .listings-popup-btn:hover {
    color: #fff;
}

.aiosp-wrap .aiosp-container .aios-popup-body .amld-popup-body .listings-popup-btn input[type="submit"] {
    width: 225px;
    height: auto;
    border: none;
    color: inherit;
    padding: 18px 45px;
    transition: all 0.3s ease-in-out;
}

.aiosp-wrap .aiosp-container .aios-popup-body .amld-popup-body .listings-popup-btn:hover input[type="submit"] {
    background: transparent;
}

.aiosp-wrap .aiosp-container .aios-popup-body .amld-popup-body .listings-popup-btn::before {
    position: absolute;
    top: 0;
    left: 0;
    width: 3px;
    height: 100%;
    background-color: var(--primary);
    content: '';
    transition: all 0.3s ease-in-out;
    z-index: -1;
}

.aiosp-wrap .aiosp-container .aios-popup-body .amld-popup-body .listings-popup-btn:hover::before {
    width: 100%;
}

.aiosp-wrap .aiosp-container .aios-popup-body .amld-popup-body .wpcf7-spinner {
    position: absolute;
    right: -30px;
    top: 50%;
    transform: translateY(-50%);
    margin: 0;
}

.aiosp-wrap .aiosp-container .aios-popup-body .amld-popup-body .aios-mortgage-calculator-standalone-mortgage-buttons .aios-mortgage-calculator-standalone-half-input {
    position: relative;
}

.aiosp-wrap .aiosp-container .aios-popup-body .amld-popup-body .aios-mortgage-calculator-standalone-mortgage-buttons .aios-mortgage-calculator-standalone-half-input:hover {
    color: #fff;
}

.aiosp-wrap .aiosp-container .aios-popup-body .amld-popup-body .aios-mortgage-calculator-standalone-mortgage-buttons .aios-mortgage-calculator-standalone-half-input::before {
    position: absolute;
    top: 0;
    left: 15px;
    width: 3px;
    height: 100%;
    background-color: var(--primary);
    content: '';
    transition: all 0.3s ease-in-out;
    z-index: -1;
}

.aiosp-wrap .aiosp-container .aios-popup-body .amld-popup-body .aios-mortgage-calculator-standalone-mortgage-buttons .aios-mortgage-calculator-standalone-half-input:hover::before {
    width: calc(100% - 30px);
}

.aiosp-wrap .aiosp-container .aios-popup-body .amld-popup-body .aios-mortgage-calculator-standalone-mortgage-buttons .aios-mortgage-calculator-standalone-half-input button {
    height: auto;
    border: none;
    color: inherit;
    padding: 18px 45px;
    transition: all 0.3s ease-in-out;
    border: 1px #d5d5d5 solid;
}

.aiosp-wrap .aiosp-container .aios-popup-body .amld-popup-body .aios-mortgage-calculator-standalone-mortgage-buttons .aios-mortgage-calculator-standalone-half-input:hover button {
    background: transparent;
    border: 1px #d5d5d5 solid;
}

#aios-modern-listing-details .amld-content .amld-left h1 {
    font-size: 50px;
    line-height: 1;
}

#aios-modern-listing-details .amld-content .amld-right {
    background: var(--aios-listing-primary-color);
}

#aios-modern-listing-details .amld-content .amld-right h2,
#aios-modern-listing-details .amld-content .amld-right .amld-property-info li,
#aios-modern-listing-details .amld-content .amld-right .amld-property-info li span,
#aios-modern-listing-details .amld-content .amld-right .amld-social-media li a {
    color: #fff;
}

#aios-modern-listing-details .amld-right .amld-line {
    background-color: #fff;
}

#aios-modern-listing-details .amld-content .amld-right .amld-property-info li,
#aios-modern-listing-details .amld-content .amld-right .amld-social-media li a {
    border-color: #fff;
}

#inner-page-wrapper #aios-modern-listing-details .amld-cta-buttons a {
    text-transform: uppercase;
    padding: 18px 45px;
    border: 1px #d5d5d5 solid;
    display: inline-block;
    position: relative;
    transition: all 0.3s ease-in-out;
    font-size: 13px;
    line-height: 1;
    height: auto;
    margin: 0;
    width: calc(25% - 15px);
}

#inner-page-wrapper #aios-modern-listing-details .amld-cta-buttons a:hover {
    color: #fff;
    background: transparent;
}

#inner-page-wrapper #aios-modern-listing-details .amld-cta-buttons a::before {
    position: absolute;
    top: 0;
    left: 0;
    width: 3px;
    height: 100%;
    background-color: var(--primary);
    content: '';
    transition: all 0.3s ease-in-out;
    z-index: -1;
}

#inner-page-wrapper #aios-modern-listing-details .amld-cta-buttons a:hover::before {
    width: 100%;
}

#aios-modern-listing-details .amld-content-flex {
    justify-content: space-between;
}

#aios-modern-listing-details > .amld-content-flex {
    align-items: flex-start
}

#aios-modern-listing-details .amld-virtual-tour {
    background-color: #fff;
    height: auto;
    margin-bottom: 80px;
}

#aios-modern-listing-details .amld-virtual-tour h2 span {
    color: #000;
}

#aios-modern-listing-details .amld-line {
    background-color: #000;
}


/*AIOS Listings*/


/* Added Property Status AIOS Listings*/

#ai-modern-properties-results .ai-modern-properties-results-img .property-status {
    position: absolute;
    top: 20px;
    right: 20px;
    z-index: 2;
    max-width: 42%;
}

#ai-modern-properties-results .ai-modern-properties-results-img .property-status.tabular {
    max-width: 60%;
}

#ai-modern-properties-results .ai-modern-properties-results-img .property-status span {
    display: inline-block;
    font-size: 14px;
    text-transform: uppercase;
    padding: 5px;
    letter-spacing: 0.1em;
    margin: 0 1px 5px 0px;
}

#ai-modern-properties-results .ai-modern-properties-results-img .property-status {
    text-align: right;
}


/** Status Color AIOS Listings*/

.status-green {
    background: #008852;
    color: #fff;
}

.status-yellow {
    background: yellow;
}

.status-red {
    background: #e00;
    color: #fff;
}

.status-white {
    background: #fff;
    color: #000;
}

.status-orange {
    background: #cc4c1d;
    color: #fff;
}


/* MEDIA QUERIES ARE AUTOMATICALLY REMOVED FROM THIS FILE, they must be placed in style-media-queries.css */

html #content .entry-title,
html #content .archive-title,
.post-page-our-vip-team h1.entry-title {
    display: block;
    font-size: 75px;
    font-weight: 500;
    letter-spacing: 0;
    line-height: 1;
    color: #212121;
    margin-top: 4px;
    text-transform: uppercase;
    position: relative;
}

html #content .entry-title:after,
html #content .archive-title:after,
.post-page-our-vip-team h1.entry-title:after {
    content: "";
    display: block;
    width: 133px;
    max-width: 100%;
    height: 1px;
    background: #f63d3b;
    margin-top: 40px;
}

.post-page-testimonials #ai-minimalist-testimonials-wrap h1 {
    display: block;
    font-size: 75px;
    font-weight: 500;
    letter-spacing: 0;
    line-height: 1;
    text-transform: uppercase;
    padding: 0;
}

.post-page-testimonials #ai-minimalist-testimonials-wrap .aios-testimonials-content {
    padding-bottom: 0;
}

.post-page-testimonials .ai-minimalist-testimonials-lists .ai-minimalist-testimonials-list {
    margin: 50px 0;
}

.post-page-search .hp-ctas-wrap {
    justify-content: center;
    width: 100%;
    margin: auto;
}

.post-page-search .hp-cta {
    width: auto;
    max-width: 100%;
    margin: 5px;
}

.post-page-search .hp-cta-lbl {
    top: 50%;
    transform: translateY(-50%);
}

.post-page-residential #content .entry-title,
.post-page-commercial #content .entry-title,
.post-page-residential-rentals #content .entry-title,
.post-page-commercial-leases #content .entry-title,
.post-page-residential-florida #content .entry-title,
.post-page-commercial-florida #content .entry-title,
.post-page-residential-rentals-florida #content .entry-title,
.post-page-commercial-leases-florida #content .entry-title {
    display: none;
}

.page .hp-join-text .hp-btn {
    display: none;
}

#ai-modern-properties-results .ai-modern-properties-results-grid .ai-modern-properties-results-info {
    padding: 30px 188px 30px 60px !important;
}

#ai-modern-properties-results .ai-modern-properties-results-grid .ai-modern-properties-results-item:hover .ai-modern-properties-results-info {
    background: rgba(246, 61, 59, 0.75) !important;
}


/* Hide the Header Tabs of Agent Details Page - https://d300000000jlweam.my.salesforce.com/a1L2H000004zc7s */

.single-aios-agents .aios-split-nav,
.single-aios-agents .header-contact-wrap {
    opacity: 0;
}

.fp-listi-flex a.id-1686,
.fp-listi-flex a.id-1781,
#ai-modern-properties-results .ai-modern-properties-results-grid .ai-modern-properties-results-item.id-1686,
#ai-modern-properties-results .ai-modern-properties-results-grid .ai-modern-properties-results-item.id-1781 {
    order: -1;
}

.postid-9276.single-post #content .entry-thumbnail img {
    max-width: 700px;
}


#aios-modern-listing-details .amdl-contacts .amld-contact-form .listings-field select{
	width: 100%;
	border: none;
	border-bottom: solid 1px #000;
	font-size: 13px;
	padding-bottom: 30px;
	text-transform: uppercase;
}

.listings-field select, .listings-field option {
    background: transparent;
}

.visible-on-scroll {
    display: none !important;
}