/*
Theme Name: charlesblack3com
Description: AIOS mobile semi-custom theme.
Author: AgentImage
Author URI: http://www.agentimage.com
Version: 1.6.0
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: 'Roboto', sans-serif;
    --font-family-title: 'Poppins', sans-serif;
    --font-size-default: 16px;
    --font-size-title: 18px;
    --font-color-default: #000000;
    --font-color-title: #6c757d;
    
    /** Use for input, button, and any other element */
    --primary: #007bff;
    --secondary: #6c757d;
    --success: #28a745;
    --info: #17a2b8;
    --warning: #ffc107;
    --danger: #dc3545;
    --light: #f8f9fa;
    --dark: #343a40;
    --transition-linear: .3s linear;
    --transition-image-filter: filter var(--transition-linear);
    --transition-opacity: opacity var(--transition-linear);
    --transition-color: color var(--transition-linear);
    --transition-background-color: background-color var(--transition-linear);
    --transition-all: all var(--transition-linear);
    --transition-border: border var(--transition-linear);
    --transition: all 0.4s ease-in-out;
}

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

.object-position-center {
    object-position: center;
}

.object-position-top {
    object-position: top;
}

.block {
    display: block
}

.inline-block {
    display: inline-block
}

.inline {
    display: inline
}

.flex {
    display: flex
}

.inline-flex {
    display: inline-flex
}

#main-wrapper {
    overflow: hidden;
}

.table {
    display: table
}

.inline-table {
    display: inline-table
}

.inline-flex {
    display: inline-flex;
}

.flex-row {
    flex-direction: row;
}

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

.content-center {
    align-content: center
}

.content-start {
    align-content: flex-start
}

.content-end {
    align-content: flex-end
}

.content-between {
    align-content: space-between
}

.content-around {
    align-content: space-around
}

.content-evenly {
    align-content: space-evenly
}

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

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

.items-center {
    align-items: center
}

.items-baseline {
    align-items: baseline
}

.items-stretch {
    align-items: stretch
}

.justify-start {
    justify-content: flex-start
}

.justify-end {
    justify-content: flex-end
}

.justify-center {
    justify-content: center
}

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

.justify-around {
    justify-content: space-around
}

.justify-evenly {
    justify-content: space-evenly
}

.justify-items-start {
    justify-items: start
}

.justify-items-end {
    justify-items: end
}

.justify-items-center {
    justify-items: center
}

.justify-items-stretch {
    justify-items: stretch
}

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

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

.flex-width-auto {
    flex-basis: 0;
    flex-grow: 1;
}

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

.static {
    position: static
}

.fixed {
    position: fixed
}

.absolute {
    position: absolute
}

.relative {
    position: relative
}

.sticky {
    position: sticky
}

.mt-15 {
    margin-top: max(0.938vw, 15px);
}

.w-100 {
    width: 100%;
}

.w-50 {
    width: 50%;
}

.h-100 {
    height: 100%;
}

.h-auto {
    height: auto;
}

.m-center {
    margin: 0 auto;
}

.overflow-hidden {
    overflow: hidden;
}

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

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

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


/*******************************************************
 *
 * 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;
    background: url(images/global-bg.jpg) repeat-y  0 0 transparent;
    background-size: 100% auto;
    color: #fff;
    /* Remove the comment from line 85 to 86 if the font issue in safari occurs */
    /* -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale; */
}

.default-title {
    font-family: var(--font-family-title);
}

.default-title h2 {
    color: #767676;
    font-size: max(3.75vw, 45px);
    text-transform: uppercase;
    font-weight: 600;
    letter-spacing: 0.15em;
    line-height: 1.1;
}

.default-title h2 span {
    font-size: max(2.5vw, 31px);
    display: block;
    color: #fff;
    letter-spacing: 0.25em;
}

.default-button {
    font-family: var(--font-family-title);
}

.default-button a {
    font-size: max(0.813vw, 13px);
    letter-spacing: 0.15em;
    color: #fff;
    font-weight: 600;
    text-transform: uppercase;
    padding: max(1.188vw, 15px);
    width: max(11vw, 176px);
    transition: var(--transition);
}

.default-button a:hover {
    color: #767676;
}

.default-button a::after {
    display: block;
    content: "";
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    border: 1px solid #484848;
    transition: var(--transition);
}

.default-button a:hover::after {
    opacity: 1;
    background: #fff;
    border-color: #fff;
}

.default-button a span {
    z-index: 9;
}

.default-line {}

.default-line span {
    background: #484848;
}
.cc_form_row {

    margin: 1.5vw -0.938vw;
}

.cc_form_row .cc_form_col {
    padding: 0 0.938vw;
}

.cc_form_row label {
    display: none;
}

.cc_form_row span {
    display: block;
}

.cc_form_row input {
    width: 100%;
    height: max(3.125vw, 50px);
    border: 1px solid #6b6b6b;
    background: transparent;
    color: #b7b7b7;
    font-size: max(0.875vw, 14px);
    letter-spacing: 0.1em;
    outline: none;
    text-transform: uppercase;
    padding: 0.5vw 1vw;
}

.cc_form_row .wpcf7-not-valid-tip {
    position: absolute;
    left: 0;
    width: 100%;
    text-align: right;
    height: 100%;
    display: flex !important;
    align-items: center;
    justify-content: flex-end;
    background: transparent;
    border: 0;
    top: 0;
    font-size: max(1vw, 12px);
}

.cc_form_row input.wpcf7-not-valid {
    border-color: #dc3232;
    color: #dc3232;
}

.wpcf7 form .wpcf7-response-output {
    font-size: max(0.813vw, 13px);
    text-align: center;
    padding: 1vw;
}

.cc_form_row textarea {
    width: 100%;
    height: max(6.563vw, 105px);
    border: 1px solid #6b6b6b;
    background: transparent;
    color: #b7b7b7;
    font-size: max(0.875vw, 14px);
    letter-spacing: 0.1em;
    outline: none;
    text-transform: uppercase;
    padding: max(1vw, 16px);
    resize: none;
}

.cc_form_row .cc_submit {
    font-size: max(0.813vw, 13px);
    letter-spacing: 0.15em;
    color: #fff;
    font-weight: 600;
    text-transform: uppercase;
    padding: 1.188vw;
    width: max(11vw, 176px);
    transition: var(--transition);
}
    .cc_form_row .cc_submit:hover{
        color: #767676;
        background: #fff;
    }



/* Header */
.header{
    z-index: 99;
    padding-top: 2.188vw;
    padding-bottom: 1.750vw;
    transition: var(--transition);
}  
    .header.fh-show{
        background: #1a1a1a;
        padding-top: 0.813vw;
        padding-bottom: 0.813vw;
    }
    .header::after{
        display: block;
        width: 100%;
        height: 1px;
        background: #fff;
        content: "";
        position: absolute;
        left: 0;
        bottom: 0;
        opacity: 0.2;
        transition: var(--transition);
    }
        .header.fh-show::after{
            width: 0;
        }
    .header .header-container{
        padding-left: 6.625vw;
        padding-right: 6.625vw;
        z-index: 10;
    }

    /* Header Left */
    .header .header-left{
        width: 100%;
        max-width: 115px;
        margin-left: 7.750vw;
        transition: var(--transition);
    }
        
        .header.fh-show .header-left{
            max-width: 79px;
        }
        /* Logo */
        .header .header-left .logo{
            display: block;
            transition: var(--transition);
        }
            .header .header-left .logo a{
                transition: var(--transition);
            }
                .header .header-left .logo img{
                    transition: var(--transition);
                }
        /* Logo */
    /* Header Left */
    /* Header Right */
    .header .header-right{

    }
        /* Navigation */
        .header .header-right .navigation{

        }
            .header .header-right .navigation ul{

            }
                .header .header-right .navigation ul li{
                    padding: 0 2.500vw;
                    position: relative;
                }
                    .header .header-right .navigation ul li a{
                        color: #ffffff;
                        font-weight: 300;
                        font-size: max(0.875vw, 14px);
                        line-height: 2.1;
                        letter-spacing: 0.025em;
                        text-transform: uppercase;
                        position: relative;
                        transition: var(--transition);
                        padding-bottom: 1.750vw;
                    }
                      
                        .header .header-right .navigation ul li a::after{
                            position: absolute;
                            content: "";
                            bottom: 0;
                            width: 0;
                            height: 5px;
                            background: #fff;
                            left: 0;
                            transition: var(--transition);

                        }
                        .header .header-right .navigation ul li:hover a::after {
                            width: 100%;
                        }

                    /* Sub Menu */
                    .header #nav .sub-menu {
                        list-style: none outside none;
                        margin: 0;
                        padding: 0;
                        position: absolute;
                        width: 100%;
                        text-align: center;
                        opacity: 0;
                        visibility: hidden;
                        pointer-events: none;
                        -webkit-transform: translate(0, 10px);
                        -ms-transform: translate(0, 10px);
                        transform: translate(0, 10px);
                        -webkit-transition: opacity .3s, visibility, .3s, -webkit-transform .3s;
                        transition: opacity .3s, visibility, .3s, -webkit-transform .3s;
                        -o-transition: transform .3s, opacity .3s, visibility, .3s;
                        transition: transform .3s, opacity .3s, visibility, .3s;
                        transition: transform .3s, opacity .3s, visibility, .3s, -webkit-transform .3s;
                        min-width: 350px;
                        padding-top: 1.188vw;
                        top: 21px;
                    }

                    .header #nav>li>.sub-menu {
                        left: 50%;
                        display: block;
                        -webkit-transform: translate(-50%, 10px);
                        -ms-transform: translate(-50%, 10px);
                        transform: translate(-50%, 10px);
                    }

                    .header #nav .sub-menu li {
                        display: block;
                        padding: 0 0.938vw;
                        transition: var(--transition);
                        background-color: #000;
                        margin: 0;
                    }

                    .header #nav .sub-menu li:first-child {
                        padding-top: 0.8vw;
                    }

                    .header #nav .sub-menu li:last-child {
                        padding-bottom: 0.750vw;
                    }

                    .navi .sub-menu a {
                        color: #fff;
                        display: block;
                        font-size: max(0.813vw, 13px);
                        padding: 0.625vw 0px;
                        border-bottom: 1px solid #dfdfdf;
                        letter-spacing: 0.1em;
                        font-weight: 400;
                        transition: var(--transition);
                    }

                    .header #nav .sub-menu li:last-child a {
                        border-bottom: 0;
                    }

                    .header #nav .sub-menu li:hover>a {
                        text-decoration: none;
                        color: var(--primary);
                        background: transparent;
                    }

                    .header #nav .sub-menu a::after {
                        display: none !important;
                    }

                    .header #nav .sub-menu .sub-menu {
                        margin-left: 93%;
                        top: 0;
                        padding: 0;
                    }

                    .header #nav li:hover>.sub-menu {
                        opacity: 1;
                        visibility: visible;
                        pointer-events: all;
                        -webkit-transform: translate(0, 0);
                        -ms-transform: translate(0, 0);
                        transform: translate(0, 0);
                    }

                    .header #nav>li:hover>.sub-menu {
                        -webkit-transform: translate(-50%, 0);
                        -ms-transform: translate(-50%, 0);
                        transform: translate(-50%, 0);
                    }

                    .header #nav .sub-menu li {
                        position: relative;
                        z-index: 1;
                    }

                    .header #nav .sub-menu .sub-menu li a {
                        color: var(--primary);
                    }

                    .header #nav .sub-menu .sub-menu li:hover a {
                        color: #fff;
                    }
        /* Navigation */

        /* Infos */
        .header .header-right .hd-infos{
            margin-left: 1.250vw;
        }
            .header .header-right .hd-infos a{
                color: #ffffff;
                font-weight: 300;
                font-size: max(0.875vw, 14px);
                letter-spacing: 0.025em;
                text-transform: uppercase;
                transition: all .5s;
            }
                .header .header-right .hd-infos a:hover {
                    color: #ccc;
                }
                .header .header-right .hd-infos a i.icon-phone{
                    width: 0.750vw;
                    height: 0.750vw;
                    background: url(images/phone-icon.png) no-repeat 0 0 transparent;
                    background-size: 100%;
                    display: inline-block;
                    vertical-align: middle;
                    margin-right: 0.938vw;
                }
        

                .header .header-right .hd-infos ul{
                    margin-left: 2.313vw;
                }
                    .header .header-right .hd-infos ul li{
                        position: relative;
                    }
                    .header .header-right .hd-infos ul li a{
                        /* background: #fff; */
                        color: #ffffff;
                        padding: 0.688vw;
                    }
                        .header .header-right .hd-infos ul li ul{
                            padding-top: 0.125vw;
                            margin-left: 0;
                            opacity: 0;
                            visibility: hidden;
                            pointer-events: none;
                            -webkit-transform: translate(0, 10px);
                            -ms-transform: translate(0, 10px);
                            transform: translate(0, 10px);
                            -webkit-transition: opacity .3s, visibility, .3s, -webkit-transform .3s;
                            transition: opacity .3s, visibility, .3s, -webkit-transform .3s;
                            -o-transition: transform .3s, opacity .3s, visibility, .3s;
                            transition: transform .3s, opacity .3s, visibility, .3s;
                            transition: transform .3s, opacity .3s, visibility, .3s, -webkit-transform .3s;
                        }

                            .header .header-right .hd-infos ul li:hover ul {
                                opacity: 1;
                                visibility: visible;
                                pointer-events: all;
                                -webkit-transform: translate(0, 0);
                                -ms-transform: translate(0, 0);
                                transform: translate(0, 0);
                            }
                            .header .header-right .hd-infos ul li ul li{
                                
                            }
                                .header .header-right .hd-infos ul li ul li a{
                                    background: #191919;
                                    color: #fff;
                                    font-size: 0.813vw;
                                    padding: 0.375vw 0.538vw;
                                    border-bottom: 1px solid #7b7b7b;
                                    transition: var(--transition);
                                }
                                    .header .header-right .hd-infos ul li ul li:last-child a{
                                        border-bottom: none;
                                    }
                                    .header .header-right .hd-infos ul li ul li:hover a{
                                        background: #19191996;
                                    }
            /* Infos */
            /* Burger Menu */
            .header .header-right .burger-menu{
                width: 3.313vw;
                margin-left: 5.125vw;
                cursor: pointer;
            }
                .header .header-right .burger-menu span{
                    background: #fff;
                    height: 0.250vw;
                    margin: 0.250vw 0;
                }
                    .header .header-right .burger-menu span:nth-child(2){
                        width: 65%;
                        transition: all .5s;
                    }
                    .header .header-right .burger-menu:hover  span:nth-child(2) {
                        width: 100%;
                    }
            /* Burger Menu */
    /* Header Right */
/* Header */
.burger-menu-container{
    width: 30.750vw;
    top: 0;
    right: -100%;
    height: 100%;
    z-index: 999;
    background-color: rgba(26, 26, 26, 0.961);
    transition: var(--transition);
}
    .burger-menu-container.active{
        right: 0;
    }
    .burger-menu-container .bmc-close{
        color: #fff;
        font-size: max(1.75vw, 28px);
        cursor: pointer;
        top: 2.688vw;
        right: 2.375vw;
        position: absolute;
        z-index: 6;
    }
    .burger-menu-container .bmcc-wrap{
        width: 100%;
        height: 100%;
        padding-top: 6.500vw;
        padding-bottom: 2.188vw;
    }
        .burger-menu-container .bmcc-wrap .bmc-logo{
            max-width: 116px;
            padding-bottom: 1.563vw;
        }
            .burger-menu-container .bmcc-wrap .bmc-logo a{
                display: block;
            }
                .burger-menu-container .bmcc-wrap .bmc-logo a img{
                    
                }
        .burger-menu-container .bmcc-wrap .bcm-menu{

        }
            .burger-menu-container .bmcc-wrap .bcm-menu ul{

            }   
                .burger-menu-container .bmcc-wrap .bcm-menu ul li{
                    text-align: center;
                    padding: 1.563vw 0;
                }
                    .burger-menu-container .bmcc-wrap .bcm-menu ul li a{
                        color: #d9d9d9;
                        font-weight: 300;
                        font-size: max(1vw, 16px);
                        text-transform: uppercase;
                        transition: var(--transition);
                    }
                        .burger-menu-container .bmcc-wrap .bcm-menu ul li:hover a{
                            opacity: 0.7;
                        }


        .burger-menu-container .bmcc-wrap .bcm-info{

        }
            .burger-menu-container .bmcc-wrap .bcm-info .sign-up-bttn{
                font-size: max(0.813vw, 13px);
                letter-spacing: 0.15em;
                color: #fff;
                font-weight: 600;
                text-transform: uppercase;
                padding: 1.25vw;
                width: max(18.125vw, 290px);
                transition: var(--transition);
                display: block;
                border: 1px solid #404040;
                text-align: center;
                margin: 1.563vw auto 2.5vw;
            }
                .burger-menu-container .bmcc-wrap .bcm-info .sign-up-bttn:hover{
                    background: #fff;
                    color: #767676;
                }
            .burger-menu-container .bmcc-wrap .bcm-info h3{
                color: #fff;
                font-size: max(0.875vw, 14px);
                font-weight: 500;
                text-align: center;
                text-transform: uppercase;
                padding-bottom: 0.375vw;
            }

            .burger-menu-container .bmcc-wrap .bcm-info ul li {
                text-align: center;
                color: #fff;
                transition: var(--transition);
                font-size: max(0.875vw, 14px);
                padding: 0.563vw 0;
            }

            .burger-menu-container .bmcc-wrap .bcm-info li a {
                color: #fff;
                transition: var(--transition);
                font-size: max(0.875vw, 14px);
            }

            .burger-menu-container .bmcc-wrap .bcm-info li a:hover {
                opacity: 0.7;
            }

            .burger-menu-container .bmcc-wrap .bcm-info li a i.icon-phone {
                background: url(images/phone-icon.png) no-repeat 0 0 transparent;
                width: max(0.750vw, 12px);
                height: max(0.750vw, 12px);
                background-size: 100%;
                vertical-align: middle;
                margin-right: 0.438vw;
            }

            .burger-menu-container .bmcc-wrap .bcm-info li a i.icon-email {
                background: url(images/email-icon.png) no-repeat 0 0 transparent;
                width: max(0.875vw, 14px);
                height: max(0.625vw, 10px);
                background-size: 100%;
                vertical-align: middle;
                margin-right: 0.625vw;
            }

            .burger-menu-container .bmcc-wrap .bcm-info .smi {
                margin-top: 2.125vw;
            }

            .burger-menu-container .bmcc-wrap .bcm-info .smi a {
                color: #fff;
                font-size: 0;
                margin: 0 0.875vw;
                transition: var(--transition);
            }
                .burger-menu-container .bmcc-wrap .bcm-info .smi a i{
                    font-size: max(1.563vw, 25px);
                }

        .burger-menu-container .bmcc-wrap .bcm-info .smi a:hover {
            opacity: 0.7;
        }
/* Hero */
#hero{

}
    /* Slideshow */
    #hero .slideshow{
        
    }
        #hero .slideshow::after{
            content: "";
            width: 100%;
            height: 100%;
            position: absolute;
            left: 0;
            top: 0;
            background: url(images/top-overlay.png) repeat-x top left transparent;
            z-index: 10;
        }
        #hero .slideshow::before {
            content: "";
            width: 100%;
            height: 100%;
            position: absolute;
            left: 0;
            top: 0;
            background: url(images/bottom-overlay.png) repeat-x bottom left transparent;
            z-index: 10;
        }
    /* Slideshow */
    /* Slide Scroll */
    #hero .slide-scroll{
        bottom: 2vw;
        left: 0;
        z-index: 60;

    }
        #hero .slide-scroll a{
            color: #fff;
            transition: var(--transition);
            font-size: max(0.75vw, 12px);
        }
            #hero .slide-scroll a:hover{
                opacity: 0.7;
            }
            #hero .slide-scroll a i{
                background: url(images/scroll-bttn.png) no-repeat 0 0 transparent;
                background-size: 100%;
                width: 1.500vw;
                height: 2.875vw;
            }
            #hero .slide-scroll a span{
                text-transform: uppercase;
                letter-spacing: 0.15em;
                opacity: 0.5;
                margin-top: 1.313vw;
            }
    /* Slide Scroll */
/* Hero */
/* Featured Properties */
.featured-properties{
    padding-top: 4.563vw;
    padding-left: 8.500vw;
    padding-right: 8.500vw;
}

    .featured-properties .default-line.fp-line-1 {
        right: 2.4%;
        top: -14%;
        width: 47%;
        height: 60%;
    }
        .featured-properties .default-line.fp-line-1 span:first-child {
            top: 0;
            right: 0;
            width: 100%;
            height: 1px;
        }

        .featured-properties .default-line.fp-line-1 span:nth-child(2) {
            bottom: 0;
            right: 0;
            width: 1px;
            height: 100%;
        }
    .featured-properties .default-line.fp-line-2 {
        right: 2.4%;
        bottom: -11.1%;
        width: 36.7%;
        height: 57%;
    }
        .featured-properties .default-line.fp-line-2 span:first-child {
            bottom: 0;
            right: 0;
            width: 100%;
            height: 1px;
        }

        .featured-properties .default-line.fp-line-2 span:nth-child(2) {
            bottom: 0;
            right: 0;
            width: 1px;
            height: 99.7%;
        }
    .featured-properties .default-line.fp-line-3 {
        left: 2.4%;
        top: -12.7%;
        width: 36.6%;
        height: 66%;
    }

        .featured-properties .default-line.fp-line-3 span:first-child {
            top: 0;
            left: 0;
            width: 100%;
            height: 1px;
        }
        .featured-properties .default-line.fp-line-3 span:nth-child(2) {
            bottom: 0;
            left: 0;
            width: 1px;
            height: 100%;
        }
    .featured-properties .default-line.fp-line-4 {
        left: 2.4%;
        bottom: 1.57vw;
        width: 36.7%;
        height: 19vw;
    }

        .featured-properties .default-line.fp-line-4 span:first-child {
            bottom: 0;
            left: 0;
            width: 100%;
            height: 1px;
        }

        .featured-properties .default-line.fp-line-4 span:nth-child(2) {
            bottom: 0;
            left: 0;
            width: 1px;
            height: 99.7%;
        }

    .featured-properties .default-line.fp-line-5 {
            right: 2.4%;
            top: 9%;
            width: 5%;
            height: 42%;
    }

        .featured-properties .default-line.fp-line-5 span:first-child {
            top: 0;
            right: 0;
            width: 100%;
            height: 1px;
        }

        .featured-properties .default-line.fp-line-5 span:nth-child(2) {
            bottom: 0;
            right: 0;
            width: 1px;
            height: 100%;
        }


    .featured-properties .default-line.fp-line-6 {
        right: 2.4%;
        bottom: 3.2%;
        width: 36.7%;
        height: 41%;
    }

        .featured-properties .default-line.fp-line-6 span:first-child {
            bottom: 0;
            right: 0;
            width: 100%;
            height: 1px;
        }

        .featured-properties .default-line.fp-line-6 span:nth-child(2) {
            bottom: 0;
            right: 0;
            width: 1px;
            height: 99.7%;
        }
    .featured-properties .fp-holder{
     
    }
        .featured-properties .fp-holder .fp-wrap{
            z-index: 10;
        }

    .featured-properties .default-title{
        padding-left: 5.5vw;
        padding-bottom: max(2.313vw, 50px);
    }
  
        .featured-properties.sold-listings .default-title{
            padding-left: 0;
            padding-right: 8vw;
        }
    .featured-properties .fp-container{
        width: 71vw;
    }

        .featured-properties .fp-container .fp-lists{

        }
            .featured-properties .fp-container .fp-lists .fp-list{

            }
                .featured-properties .fp-container .fp-lists .fp-list a{
                    display: block;
                    color: #fff;
                }
                    .featured-properties .fp-container .fp-lists .fp-list .fp-img{

                    }
                        .featured-properties .fp-container .fp-lists .fp-list .fp-img canvas{
                            display: block;
                        }
                        .featured-properties .fp-container .fp-lists .fp-list .fp-img img{
                            top: 0;
                            left: 0;
                        }
                        .featured-properties .fp-container .fp-lists .fp-list .fp-img::after{
                            display: block;
                            content: "";
                            width: 100%;
                            height: 100%;
                            position: absolute;
                            left: 0;
                            top: 0;
                            background: url(images/fp-overlaty.png) repeat-x bottom left transparent;
                        }
                    .featured-properties .fp-container .fp-lists .fp-list .fp-content{
                        bottom: 1.875vw;
                        left: 0;
                        z-index: 8;
                        color: #fff;
                        text-align: center;
                    }
                        .featured-properties .fp-container .fp-lists .fp-list .fp-content h3{
                            font-size: max(1.75vw, 28px);
                            letter-spacing: 0.05em;
                            font-family: var(--font-family-title);
                            padding-bottom: 1.250vw;
                        }
                        .featured-properties .fp-container .fp-lists .fp-list .fp-content p{
                            letter-spacing: 0.025em;
                            font-size: max(0.875vw, 14px);
                            color: #d9d9d9;
                            padding-bottom: 0.938vw;
                        }
                        .featured-properties .fp-container .fp-lists .fp-list .fp-content span{
                            color: #868686;
                            font-size: max(0.875vw, 14px);
                        }
                            .featured-properties .fp-container .fp-lists .fp-list .fp-content span em{
                                font-style: normal;
                            }
    

    .featured-properties .fp-arrow{
        width: 4vw;
        height: 3.938vw;
        flex-shrink: 1;
        cursor: pointer;
        background: #1a1a1a;
        z-index: 20;
    }
        .featured-properties .fp-arrow.slick-hidden {
            display: flex;
            visibility: hidden;
        }
        .featured-properties .fp-arrow::after{
            display: block;
            content: "";
            width: 100%;
            height: 100%;
            position: absolute;
            top: 0;
            left: 0;
            border: 1px solid #484848;
            transition: var(--transition);
        }
            .featured-properties .fp-arrow:hover::after{
                opacity: 1;
                background: #fff;
                border-color: #fff;
            }
        .featured-properties .fp-arrow.fp-prev{
            margin-right: 2vw;
        }
            .featured-properties .fp-arrow.fp-prev i{
                width: 0;
                height: 0;
                border-style: solid;
                border-width: 0.281vw 0.438vw 0.281vw 0;
                border-color: transparent #ffffff transparent transparent;
                transition: var(--transition);
                z-index: 4;
            }
                .featured-properties .fp-arrow.fp-prev:hover i{
                    border-color: transparent #1a1a1a transparent transparent;
                   
                }

        .featured-properties .fp-arrow.fp-next{
            margin-left: 2vw;
        }
            .featured-properties .fp-arrow.fp-next i{
                width: 0;
                height: 0;
                border-style: solid;
                border-width: 0.281vw 0 0.281vw 0.438vw;
                border-color: transparent transparent transparent #ffffff;
                transition: var(--transition);
                z-index: 4;
            }
                .featured-properties .fp-arrow.fp-next:hover i{
                    border-color: transparent transparent transparent #1a1a1a;
                }


    .featured-properties .default-button{
        margin-top: 2.188vw;
        z-index: 15;
    }
        .featured-properties .default-button a{
            width: max(18.125vw, 290px);
            background: #1a1a1a;
        }
    /* Featured Properties */

/* Welcome */
#welcome-area{

    padding-top: 15.375vw;
}

    #welcome-area .wc-line{
        position: absolute;
        bottom: 4.625vw;
        left: 3%;
        width: 79.25vw;
        height: 97%;
        z-index: 2;
        top: -5%;
    }

        #welcome-area .wc-line span{
            background: #ffffff;
            opacity: 0.2;
        }
       
            #welcome-area .wc-line span:first-child{
                height: 1px;
                width: 37%;
                top: 0;
                left: 0;
            }
            #welcome-area .wc-line span:nth-child(2) {
                height: 99.9%;
                width: 1px;
                bottom: 0;
                left: 0;
            }
            #welcome-area .wc-line span:nth-child(3) {
                height: 1px;
                width: 99.9%;
                bottom: 0;
                right: 0;
            }
            #welcome-area .wc-line span:nth-child(4) {
                height: 95%;
                width: 1px;
                bottom: 0;
                right: 0;
            }
    #welcome-area .wc-container{
        padding-left: 9.125vw;
        padding-right: 14.375vw;
        background: url(images/wc-bg.jpg) no-repeat 0 0 transparent;
        background-size: cover;
    }
            #welcome-area .wc-container::after{
                display: block;
                content: "";
                width: 100%;
                height: 100%;
                background: #404040;
                position: absolute;
                top: 0;
                left: 0;
                opacity: 0.8;
            }


    #welcome-area .wc-photo{
        width: 29vw;
        z-index: 6;
        align-self: center;
    }   
        #welcome-area .wc-photo img{
            margin-top: -9vw;
        }

    #welcome-area .wc-content{
        width: 62vw;
        background: url(images/global-bg.jpg) no-repeat 0 0 transparent;
        flex-shrink: 1;
        z-index: 4;
        margin-left: -10vw;
        padding-right: 6.500vw;
        padding-left: 15.250vw;
        padding-bottom: 6.250vw;
        background-size: cover;
        z-index: 3;
       
    }

            #welcome-area .wc-content .wc-icon {
                background: url(images/site-icon.png) no-repeat 0 0 transparent;
                background-size: 100% 100%;
                width: 54.063vw;
                height: 36.25vw;
                position: absolute;
                right: -24%;
                opacity: 0.04;
                top: -12%;
            }
            #welcome-area .wc-content .wc-cont-wrap{
                z-index: 7;
            }
 
        #welcome-area .wc-content .default-title{
            margin-top: -7vw;
            padding-bottom: 3.125vw;
        }
            #welcome-area .wc-content .default-title h2{
                font-size: max(4.5vw, 72px);
            }
        #welcome-area .wc-content p{
            color: #b7b7b7;
            line-height: 2;
            letter-spacing: 0.025em;
            font-size: max(0.875vw, 14px);
            padding: 1.250vw 0;
        }
            #welcome-area .wc-content p strong{
                font-size: max(1.063vw, 17px);
            }
        #welcome-area .wc-content .wc-signature{
            margin-top: 1.250vw;
        }
            #welcome-area .wc-content .wc-signature span{
                color: #787878;
                line-height: 1.5;
                font-size: max(0.813vw, 13px);
                padding-top: 1.125vw;
                display: block;
            }
        #welcome-area .wc-content .default-button{
            margin-top: 2.813vw;
        }
            #welcome-area .wc-content .default-button a{
                width: max(11vw, 176px);
            }
/* Welcome */
/* Featured Videos */
#featured-video{
    padding: 6.250vw 10.250vw;
}

    #featured-video .fv-container{
        padding: 7.375vw 0;
    }
        #featured-video .fv-container .fv-img{
            width: 31.375vw;
            height: 100%;
            position: absolute;
            right: 0;
            top: 0;
            background: url(images/fv-bg.jpg) no-repeat center top transparent;
            z-index: 3;
            background-size: cover;
        }
            #featured-video .fv-container .fv-img::after{
                content: "";
                background: #404040;
                opacity: 0.8;
                position: absolute;
                left: 0;
                top: 0;
                width: 100%;
                height: 100%;
            }
        #featured-video .fv-container::after{
            display: block;
            content: "";
            width: 100%;
            height: 100%;
            border: 1px solid  #fff;
            position: absolute;
            top: 0;
            left: 0;
            opacity: 0.2;
        }
        
        #featured-video .fv-wrap{
            z-index: 8;
        }
            #featured-video .fv-wrap .fv-content{
                width: 34.500vw;
                flex-shrink: 1;
                padding-left: 7.375vw;
                padding-right: 3.750vw;
            }
                #featured-video .fv-wrap .fv-content p{
                    color: #b7b7b7;
                    padding: 2.813vw 0;
                    line-height: 1.4;
                    letter-spacing: 0.025em;
                    font-size: max(0.875vw, 14px);
                }

                #featured-video .fv-wrap .fv-content .default-button{

                }
                 
            #featured-video .fv-wrap .fv-video{
                width: 48.563vw;
                flex-shrink: 1;
                margin-right: -3.75vw;
            }
                #featured-video .fv-wrap .fv-video canvas{
                    display: block;
                }
                    #featured-video .fv-wrap .fv-video .plyr--video{
                     
                    }
                    
                        #featured-video .fv-wrap .fv-video .plyr--video .plyr__controls{
                            opacity: 0;
                        }

                            #featured-video .fv-wrap .fv-video .plyr--video .plyr__control--overlaid{
                                background: transparent;
                                background: url(images/play-bttn.png) no-repeat 0 0 transparent;
                                width: 9.563vw;
                                height: 9.563vw;
                                background-size: 100%;
                            }
                                #featured-video .fv-wrap .fv-video .plyr--video .plyr__control--overlaid svg{
                                    display: none;
                                }
/* Featured Videos */
/* Blogs */
#hp-blogs{

}

    #hp-blogs h3{
        color: #ffffff;
        font-size: max(3.75vw, 60px);
        letter-spacing: 0.15em;
        text-transform: uppercase;
        font-weight: 600;
        font-family: var(--font-family-title);
        padding-bottom: 5.125vw;
    }

    #hp-blogs .blogs-left{
        width: 10.250vw;
    }
        #hp-blogs .blogs-left::after{
            display: block;
            content: "";
            width: 100%;
            height: 100%;
            position: absolute;
            left: 0;
            top: 0;
            background: url(images/blog-bg.jpg) no-repeat top left transparent;
            background-size: cover;
            z-index: 2;
            filter: grayscale(1);
        }
        #hp-blogs .blogs-left::before {
            display: block;
            content: "";
            width: 100%;
            height: 100%;
            position: absolute;
            left: 0;
            top: 0;
            background: #404040;
            opacity: 0.8;
            z-index: 3;
        }

    #hp-blogs .blog-middle{
        width: 71.375vw;
    }
        #hp-blogs .blog-middle .blog-lists{
            margin: 0 -1vw;
        }
            #hp-blogs .blog-middle .blog-lists .blog-list{
                width: 50%;
                padding: 0 1vw;
            }
                #hp-blogs .blog-middle .blog-lists .blog-list .blog-img{

                }
                    #hp-blogs .blog-middle .blog-lists .blog-list .blog-img img{
                        top: 0;
                        left: 0;
                    }

                    #hp-blogs .blog-middle .blog-lists .blog-list p{
                        color: #b7b7b7;
                        font-size: 1.063vw;
                        letter-spacing: 0.025em;
                        line-height: 1.6;
                        font-weight: 700;
                        padding-top: 3.250vw;
                    }
                    #hp-blogs .blog-middle .blog-lists .blog-list span{
                        color: #b7b7b7;
                        font-size: max(0.875vw, 14px);
                        font-weight: 300;
                        display: block;
                        padding-top: 1.188vw;
                    }
            #hp-blogs .blog-middle .default-button{
                margin-top: 5.063vw;
            }
    #hp-blogs .blogs-right {
        width: 10.250vw;
    }
        #hp-blogs .blogs-right::after {
            display: block;
            content: "";
            width: 100%;
            height: 100%;
            position: absolute;
            left: 0;
            top: 0;
            background: url(images/blog-bg.jpg) no-repeat top left transparent;
            background-size: cover;
            z-index: 2;
            filter: grayscale(1);
        }
    
        #hp-blogs .blogs-right::before {
             display: block;
             content: "";
             width: 100%;
             height: 100%;
             position: absolute;
             left: 0;
             top: 0;
             background: #404040;
             opacity: 0.8;
             z-index: 3;
        }
/* Blogs */
/* Contact Form */
#hp-cf-form{
    background: url(images/footer-bg.jpg) no-repeat center top transparent;
    padding: 7.375vw 0;
    background-size: cover;
    margin-top: 6.688vw;
}
    #hp-cf-form::after{
        background: #404040;
        opacity: 0.8;
        content: "";
        width: 100%;
        height: 100%;
        position: absolute;
        left: 0;
        top: 0;
        z-index: 2;
    }
    #hp-cf-form .form-container{
        width: 59vw;
        z-index: 7;
    }
        #hp-cf-form .form-container .default-title{
          
        }
            #hp-cf-form .form-container .default-title h2{
                color: #fff;
            }
               
        #hp-cf-form .form-container p{
            color: #b7b7b7;
            line-height: 2;
            letter-spacing: 0.025em;
            font-size: max(0.875vw, 14px);
            padding: 1.625vw 0;
        }

        #hp-cf-form .wpcf7 form .wpcf7-response-output {
            color: #fff;
            font-size: max(0.875vw, 14px);
        }
/* Contact Form */
/* Footer */
.footer{
    padding-top: 6.250vw;
}
    .footer .footer-container{
        width: 71.250vw;
    }

        .footer .footer-container .footer-logo{

        }

        .footer .footer-container .footer-info{
            padding-top: 3.250vw;
        }
            .footer .footer-container .footer-info ul{

            }
                .footer .footer-container .footer-info ul li{
                    margin-left: 3.313vw;
                }
                .footer .footer-container .footer-info ul li:first-child {
                    margin-left: 0;
                }
                    .footer .footer-container .footer-info li a{
                        color: #fff;
                        transition: var(--transition);
                        font-size: max(0.875vw, 14px);
                    }
                        .footer .footer-container .footer-info li a:hover{
                            opacity: 0.7;
                        }
                        .footer .footer-container .footer-info li i {
                            margin-right: 0.438vw;
                        }
                        .footer .footer-container .footer-info li a i.icon-phone{
                            background: url(images/phone-icon.png) no-repeat 0 0 transparent;
                            width: max(0.750vw, 12px);
                            height: max(0.750vw, 12px);
                            background-size: 100%;
                            vertical-align: middle;
                        }
                        .footer .footer-container .footer-info li a i.icon-email {
                            background: url(images/email-icon.png) no-repeat 0 0 transparent;
                            width: max(0.875vw, 14px);
                            height: max(0.625vw, 10px);
                            background-size: 100%;
                            vertical-align: middle;
                        }
                .footer .footer-container .footer-info .smi{
                    margin-top: 2.125vw;
                }
                    .footer .footer-container .footer-info .smi a{
                        color: #fff;
                        font-size: 0;
                        margin: 0 0.875vw;
                        transition: var(--transition);
                    }
                        .footer .footer-container .footer-info .smi a i{
                            font-size: max(1.563vw, 25px);
                        }
                        .footer .footer-container .footer-info .smi a:hover{
                            opacity: 0.7;
                        }
        .footer .footer-container .footer-nav{
            margin-top: 1.563vw;
            border-bottom: 1px solid #2c2c2c;
        }
            .footer .footer-container .footer-nav ul{
                display: flex;
                align-items: center;
                justify-content: center;
            }
                .footer .footer-container .footer-nav li{
                    padding: 1.813vw 2.813vw;
                }
                    .footer .footer-container .footer-nav li a{
                        font-size: max(0.875vw, 14px);
                        text-transform: uppercase;
                        color: #d9d9d9;
                        transition: var(--transition);
                    }
                        .footer .footer-container .footer-nav li a:hover{
                            opacity: 0.8;
                        }
        .footer .footer-container .footer-disclaimer{

        }
            .footer .footer-container .footer-disclaimer .ai-font-compass{
                color: #fff;
                display: block;
                text-align: center;
                font-size: max(2.5vw, 40px);
                padding-top: 1.875vw;
                padding-bottom: 0.563vw;
            }
            .footer .footer-container .footer-disclaimer p{
                font-size: max(0.75vw, 12px);
                color: #7e7e7e;
                line-height: 1.7;
                letter-spacing: 0.05em;
                text-align: center;
                padding: 1.250vw 0;
            }
            .footer-disclaimer a:hover {
                color: #fff;
            }
            .footer .footer-container .footer-disclaimer span {
                font-size: max(0.75vw, 12px);
                color: #7e7e7e;
                line-height: 1.7;
                letter-spacing: 0.05em;
                text-align: center;
                padding: 1.250vw 0;
                text-align: center;
                display: block;
            }
                .footer .footer-container .footer-disclaimer span a{
                    transition: var(--transition);
                }
                    .footer .footer-container .footer-disclaimer span a:hover{
                        opacity: 0.8;
                        color: #fff;
                    }
        .footer .footer-container .ft-logos{

        }
            .footer .footer-container .ft-logos span{
                font-size: max(2.25vw, 36px);
                margin: 0 0.4vw;
                color: #404040;
            }
/* Footer */
/*******************************************************
 *
 * 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) */
#content .entry-title,
#content .archive-title {
    font-size: max(2.5vw, 31px);
}

/* Styles for category/archive/search/etc subheadings (h2) */
#content .archive-subtitle {

}
#pojo-a11y-toolbar .pojo-a11y-toolbar-overlay {
    transform: translateY(-100%) translateY(50px);
}

.ai-default-cf7wrap input[type="text"],
.ai-default-cf7wrap input[type="tel"],
.ai-default-cf7wrap input[type="email"]{
    color: #000;
}

#listings-results .listings-img .property-status span {
    background: #000 !important;
}

.aidefcf-wrapper .wpcf7-form-control.wpcf7-select, .aidefcf-wrapper .wpcf7-form-control.wpcf7-select option, .ai-default-cf7wrap textarea {
    color: #000 !important;
}


/* Listings */
body #listings-details .listings-slideshow:before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: -webkit-gradient(linear, left bottom, left top, color-stop(35%, rgba(14, 14, 14, 0)), to(rgba(14, 14, 14, 1)));
    background: linear-gradient(to top, rgba(14, 14, 14, 0) 35%, rgba(14, 14, 14, 1) 100%);
    opacity: 0.3;
    pointer-events: none;
    z-index: 10;
  }
  
  body #listings-details .listings-slideshow-text span {
    text-shadow: 0px 1px 3px rgb(0 0 0 / 90%);
  }

  body #listings-details .listings-address,
  body #listings-details .listings-accordion-title {
    color: #c1b283;
  }

  body #listings-details .listings-address span, 
  body #listings-details .listings-plan > ul > li,
  body #listings-details .listings-plan span,
  body #listings-details .listings-description p, 
  body #listings-details .listings-description ul,
  body #listings-details .listings-accordion-content,
  body #listings-details .listings-accordion-content ul li {
    color: #fff;
  }

  body #listings-details .listings-cta > li > a {
    border-color: #fff;
    color: #fff;
  }

  body.single-aios-listings p.modal-listings-paragraph, 
  body.single-aios-listings .aios-mortgage-calculator-standalone p,
  body .listings-popup label,
  #listings-details .listings-form div.wpcf7-response-output,
  body #listings-results .listings-list .listings-address,
  body #listings-results .listings-list .listings-plan,
  body #listings-results .listings-table .listings-table-header,
  body #listings-results .listings-table .listings-table-body .listings-item > div {
    color: #000;
  }

  body #listings-results .listings-sort .sort-dropdown button {
    color: #fff;
  }

  #hp-cf-form .cc_form_row .wpcf7-not-valid-tip{
    position: relative;
    left: unset;
    width: fit-content;
    top: 2px;
  }

  .aiosp-content .listings-popup .wpcf7-response-output,
  #listings-results .listings-sort .dropdown-menu label {
    color: #000;
}
.grecaptcha-badge {
    z-index: 99999 !important;
}

.bm-overlay {
    position: fixed;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    z-index: 900;
}

#listings-details .listings-form span.wpcf7-not-valid-tip {
    left: auto;
    right: 0;
    padding: 4px;
    font-size: 11px;
}

#listings-details .listings-form div.wpcf7-response-output {
    padding: 5px;
}

#listings-details .listings-form textarea {
    padding-right: 25px;
}

.listing-module-page .container-theme-filter {
    width: 100%;
    padding: 0;
}

.error-page-content-wrapper .error-forms input[type=email], 
.error-page-content-wrapper .error-forms input[type=phone], 
.error-page-content-wrapper .error-forms input[type=text], 
.error-page-content-wrapper .error-forms textarea {
    color: #000 !important;
}

.error-page-image-left img {
    filter: brightness(0) invert(1)
}
/* MEDIA QUERIES ARE AUTOMATICALLY REMOVED FROM THIS FILE, they must be placed in style-media-queries.css */