/*
Theme Name: Fazendin Realtors
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 */
    --Poppins: 'Poppins', sans-serif;
    --UtopiaSTD: "utopia-std", serif;
    --Mulish: 'Mulish', sans-serif;
    --font-size-default: 14px;
    --font-size-title: 48px;
    --font-color-default: #444444;
    --font-color-title: #848484;
    /** Use for input, button, and any other element */
    --primary: #848484;
    --secondary: #000000;
    --accent: #f0bd1b;
    --dark-bg: #1b1b1b;
    --success: #28a745;
    --info: #17a2b8;
    --warning: #ffc107;
    --danger: #dc3545;
    --light: #f8f9fa;
    --dark: #343a40;
    --default-transition: all 0.3s ease-in-out;
}


/*******************************************************
 *
 * 2. Custom CSS
 *
 *******************************************************/


/* GLOBAL */

body {
    font-family: var(--Poppins);
    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; */
}

a,
a:hover,
a:link,
a:active,
a:focus {
    color: var(--font-color-default);
    outline: none;
    text-decoration: none;
}

.slick-slide,
.slick-slide *,
.slick-slide a {
    outline: none;
}

.site_easing,
#header_wrap a,
#burger_nav li a,
#footer_wrap a {
    -webkit-transition: all 0.3s ease-in-out;
    -moz-transition: all 0.3s ease-in-out;
    -ms-transition: all 0.3s ease-in-out;
    -o-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
}

#main-wrapper {
    position: relative;
    overflow: hidden;
}

.site_section {
    position: relative;
    z-index: 1;
    background-color: #ffffff;
}

.parallax_bg {
    width: 100%;
    height: 100%;
    position: absolute;
    z-index: 1;
    top: 0;
    left: 0;
    font-size: 0;
}

.parallax_bg canvas {
    width: 100%;
    height: 100%;
    display: block;
    background-size: cover;
    background-position: center center;
    background-attachment: fixed;
    background-repeat: no-repeat;
}

.safari-true .parallax_bg canvas,
.mobile .parallax_bg canvas {
    background-attachment: scroll;
}

.non_parallax_bg {
    width: 100%;
    height: 100%;
    position: absolute;
    z-index: 1;
    top: 0;
    left: 0;
    font-size: 0;
}

.non_parallax_bg canvas {
    width: 100%;
    height: 100%;
    display: block;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

.site_inner_container {
    position: relative;
    z-index: 3;
}

.canvas_img {
    position: relative;
}

.canvas_img canvas {
    width: 100%;
    height: auto;
    display: block;
}

.canvas_img img {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    object-fit: cover;
}

.filter_white {
    filter: brightness(0) invert(1);
}


/* GLOBAL SITE TITLE */

.global_site_title {}

.global_site_title h2,
#content .global_site_title h2 {
    color: var(--primary);
    font-size: var(--font-size-title);
    font-family: var(--UtopiaSTD);
    text-transform: uppercase;
    letter-spacing: 0.1em;
}


/* GLOBAL SITE BUTTON */

.global_site_button {}

.global_site_button a,
.global_site_button > span {
    width: 199px;
    max-width: 100%;
    height: 54px;
    display: inline-block;
    vertical-align: top;
    color: #21262d;
    font-size: 14px;
    letter-spacing: 0.05em;
    text-align: center;
    text-transform: uppercase;
    position: relative;
    transition: var(--default-transition);
}

.global_site_button a:hover,
.global_site_button > span:hover {
    background-color: var(--accent);
}

.global_site_button a span,
.global_site_button > span {
    display: block;
    line-height: 54px;
    position: relative;
}

.global_site_button a::before,
.global_site_button > span::before {
    width: 100%;
    height: 100%;
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    border: 1px solid #bfbfbf;
    transition: var(--default-transition);
}

.global_site_button a::after,
.global_site_button > span::after {
    width: 66px;
    height: 1px;
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    margin: 0 auto;
    background-color: #848484;
    transition: var(--default-transition);
}

.global_site_button a:hover::before,
.global_site_button a:hover::after,
.global_site_button > span:hover::before,
.global_site_button > span:hover::after {
    opacity: 0;
}

.global_site_button > span input[type="submit"] {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    color: #21262d;
    font-size: 14px;
    letter-spacing: 0.05em;
    text-align: center;
    text-transform: uppercase;
    border: none;
    background: transparent;
    outline: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}


/* WHITE BUTTON */

.global_site_button.white_button a {
    color: #ffffff;
}

.global_site_button.white_button a::after {
    background-color: #ffffff;
}

.global_site_button.white_button a:hover {
    color: #21262d;
}


/* HEADER  */

#header_wrap {
    width: 100%;
    position: fixed;
    z-index: 1011;
    top: 0;
    left: 0;
    font-size: 0;
    transition: all 0.5s ease-in-out;
    color: #ffffff;
    padding: 58px 0 20px;
    text-align: center;
}

#header_wrap > .container-fluid {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    align-items: center;
    justify-content: center;
}

.header_logo {
    margin: 0 36px;
    font-size: 0;
    text-align: center;
}


/* NAVIGATION */

.navigation {}

.navigation > div {
    display: flex;
    align-items: center;
    justify-content: center;
}

.main_nav {
    min-width: 460px;
}

.main_nav_left {
    text-align: right;
}

.main_nav_right {
    text-align: left;
}

.main_nav li {
    position: relative;
    display: inline-block;
    padding: 0 28px;
}

.main_nav li a {
    display: block;
    color: #ffffff;
    font-size: 14px;
    font-weight: 300;
    line-height: 20px;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.main_nav > li:hover > a {
    color: var(--accent);
}

.main_nav > li > .sub-menu {
    left: -150%;
    right: -150%;
    margin: 0 auto;
}

.main_nav .sub-menu {
    list-style: none outside none;
    margin: 0;
    display: none;
    padding: 7px 0 0;
    position: absolute;
    width: 100%;
    min-width: 251px;
    text-align: center;
}

.main_nav .nav_long .sub-menu {
    min-width: 293px;
}

.main_nav .sub-menu li {
    width: 100%;
    padding: 0;
    margin-bottom: 1px;
    position: relative;
}

.main_nav .sub-menu a {
    display: block;
    padding: 7px 5px;
    color: var(--secondary);
    font-weight: 400;
    background-color: #ffffff;
}

.main_nav .sub-menu a:hover {
    color: var(--secondary);
    background-color: var(--accent);
    text-decoration: none;
}

.main_nav .sub-menu .sub-menu {
    margin-left: 100%;
    top: 0;
}


/* FIXED HEADER */

#header_wrap.fixedhead {
    padding: 10px 0;
    background-color: var(--primary);
}

#header_wrap.fixedhead .main_nav .sub-menu {
    padding-top: 27px;
}


/* HP SLIDESHOW */

#hp_slideshow_wrap {
    position: relative;
    z-index: 1;
}

.hp_slideshow {
    position: relative;
    z-index: 1;
}

.hp_slideshow .aios-slider-img::before {
    width: 100%;
    height: 100%;
    content: '';
    position: absolute;
    z-index: 1;
    top: 0;
    left: 0;
    background-color: var(--secondary);
    opacity: 0.3;
}

.hp_slideshow .aios-slider-img::after {
    width: 100%;
    height: 40%;
    max-height: 268px;
    content: '';
    position: absolute;
    z-index: 1;
    top: 0;
    left: 0;
    background: rgb(0, 0, 0);
    background: linear-gradient(180deg, rgba(0, 0, 0, 1) 0%, rgba(0, 0, 0, 0) 100%);
    opacity: 0.3;
}


/* TAGLINE */

.hp_slideshow #aios-slider-hp-slideshow .aios-slider-splide .aios-slider-tagline {
    top: 53%;
    bottom: auto;
    padding: 0;
    background: transparent;
    text-align: center;
    text-transform: uppercase;
    transform: translate(0, -50%);
}

.hp_slideshow .aios-slider.aios-slider-template-default .aios-slider-splide .aios-slider-tagline .aios-slider-tagline-title {
    color: #ffffff;
    font-size: var(--font-size-title);
    font-family: var(--UtopiaSTD);
    line-height: 1;
    letter-spacing: 0.1em;
}


/* HP QUICK SEARCH */

#hp_qs_wrap {
    padding: 70px 0 80px;
    text-align: center;
    z-index: 2;
}

.hp_qs {}

.qs_form {
    width: 100%;
    max-width: 1034px;
    margin: 12px auto 0;
    font-size: 0;
}

.qs_field_wrap {
    position: relative;
}

.qs_field {
    width: 100%;
    display: inline-block;
    vertical-align: top;
}
.qs_form .bootstrap-select.btn-group .dropdown-menu.inner {
    max-height: 200px !important;
}
.qs_field input,
.qs_field select,
.qs_field .bootstrap-select button {
    width: 100%;
    height: 50px;
    display: block;
    padding: 0 50px 0 0;
    color: var(--secondary);
    font-size: 15px;
    font-weight: 300;
    font-style: italic;
    letter-spacing: 0.04em;
    text-overflow: ellipsis;
    background-color: transparent;
    border: none;
    border-radius: 0;
    border-bottom: 1px solid #444444;
    outline: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}

.qs_field .bootstrap-select button .filter-option {
    color: var(--secondary) !important;
    font-size: 15px !important;
    font-weight: 300;
    font-style: italic;
    letter-spacing: 0.04em;
    text-overflow: ellipsis;
}

.qs_field select option {
    color: #000000;
}

.qs_submit {
    width: 28px;
    height: 28px;
    position: absolute;
    z-index: 2;
    top: 50%;
    right: 0;
    transform: translate(0, -50%);
}

.qs_submit span.ai-font-magnifying-glass-c {
    color: var(--secondary);
    font-size: 28px;
    transition: var(--default-transition);
}

.qs_submit:hover span.ai-font-magnifying-glass-c {
    color: var(--primary);
}

.qs_submit input[type="submit"] {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    font-size: 0;
    background: none;
    border: none;
    outline: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}

.qs_disclaimer {
    margin-top: 25px;
    font-size: 14px;
    letter-spacing: 0.1em;
}


/* HP FEATURED PROPERTIES */

#hp_featprop_wrap {}

.hp_featprop {
    padding: 0 2.5%;
}

.fp_slider_wrap {
    font-size: 0;
}

#fp_slider {
    margin-left: -5px;
    margin-right: -5px;
}

.fp_item {
    padding: 0 5px;
}
#fp_slider:not(.slick-initialized) .fp_item ~ .fp_item {
    display: none;
}
.fp_item a {
    display: block;
    position: relative;
    overflow: hidden;
}

.fp_item a::before {
    width: 100%;
    height: 55%;
    max-height: 200px;
    content: '';
    position: absolute;
    z-index: 2;
    bottom: 0;
    left: 0;
    background: rgb(38, 38, 38);
    background: linear-gradient(180deg, rgba(38, 38, 38, 0) 0%, rgba(255, 255, 255, 0) 38%, rgba(38, 38, 38, 1) 100%);
    opacity: 0.8;
    transition: var(--default-transition);
}

.fp_item a::after {
    width: 100%;
    height: 100%;
    content: '';
    position: absolute;
    z-index: 1;
    bottom: 0;
    left: 0;
    background-color: var(--accent);
    opacity: 0;
    transition: var(--default-transition);
}

.fp_item a:hover::after {
    opacity: 0.55;
}

.fp_photo {}

.fp_photo img {
    transition: var(--default-transition);
}

.fp_item a:hover .fp_photo img {
    filter: grayscale(1);
    transform: scale(1.1);
}

.fp_text_wrap {
    width: 100%;
    position: absolute;
    z-index: 3;
    bottom: 0;
    left: 0;
    padding: 20px;
    color: #ffffff;
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
}

.fp_text_left {
    width: 75%;
    text-align: left;
}

.fp_address {
    font-size: 28px;
    font-family: var(--UtopiaSTD);
    letter-spacing: 0.05em;
}

.fp_price {
    margin-top: 8px;
    font-size: 19px;
    letter-spacing: 0.05em;
}

.fp_text_right {
    width: 25%;
    font-size: 14px;
    text-align: right;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}


/* HP ABOUT */

#hp_about_wrap {
    padding-top: 123px;
}

.hp_about {
    padding-left: 7.69%;
    padding-right: 7.69%;
    font-size: 0;
}

.about_text_wrap {
    width: 41.21%;
    display: inline-block;
    vertical-align: top;
    padding-top: 30px;
    padding-right: 6.25%;
}

.about_title {
    margin-bottom: 25px;
}

.about_subtitle {
    margin-bottom: 40px;
    color: var(--secondary);
    font-size: 18px;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.about_text {
    font-size: 14px;
    line-height: 2;
    letter-spacing: 0.05em;
}

.about_button {
    margin-top: 67px;
}

.cta_list_wrap {
    width: 58.79%;
    display: inline-block;
    vertical-align: top;
    margin-left: -4px;
    margin-right: -4px;
}

.cta_box_item {
    width: calc(100% / 3);
    height: 212px;
    display: inline-block;
    vertical-align: top;
    padding: 0 4px 10px;
    position: relative;
    z-index: 1;
}

.cta_box_item:hover {
    z-index: 2;
}

.cta_box_content {
    width: 100%;
    height: 100%;
    display: block;
    position: relative;
}

.cta_box_content a {
    width: 100%;
    height: 100%;
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 1;
    border: 1px solid #ececec;
    transform: translate(-50%, -50%);
    transition: var(--default-transition);
}

.cta_box_content a:hover {
    width: 352px;
    height: 238px;
    border-color: var(--accent);
    background-color: var(--accent);
    -webkit-box-shadow: 0 20px 30px 0 rgba(0, 0, 0, 0.16);
    box-shadow: 0 20px 30px 0 rgba(0, 0, 0, 0.16);
}

.cta_box_content a::after {
    width: 100%;
    height: 3px;
    content: '';
    position: absolute;
    z-index: 1;
    bottom: 0;
    left: 0;
    background-color: var(--primary);
    transition: var(--default-transition);
}

.cta_box_item:nth-child(even) .cta_box_content a::after {
    background-color: var(--accent);
}

.cta_box_content a:hover::after {
    opacity: 0;
}

.cta_text {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-flow: column;
    color: var(--secondary);
    font-size: 15px;
    text-align: center;
    letter-spacing: 0.05em;
    transition: var(--default-transition);
}

.cta_box_content a:hover .cta_text {
    font-size: 18px;
}

.cta_text span {
    display: block;
    margin-top: 5px;
    font-size: 28px;
    font-family: var(--UtopiaSTD);
    transition: var(--default-transition);
}

.cta_box_content a:hover .cta_text span {
    font-size: 32px;
}


/* HP MAP */

#hp_map_wrap {
    padding-top: 50px;
}

.hp_map {
    font-size: 0;
}

.hp_map > div {
    display: flex;
    justify-content: space-between;
}

.map_left_wrap {
    width: 52.8125%;
    display: inline-block;
    vertical-align: top;
}

#map_wrap {
    width: 845px;
}

#map_wrap img {
    width: auto;
    max-width: 100%;
}

#map_wrap #map {
    width: 100%;
    position: relative;
}

#transparent {
    width: 845px;
    height: 862px;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    margin: 0 auto;
    z-index: 4;
}

.map_right_wrap {
    width: 48.4375%;
    display: inline-block;
    vertical-align: top;
    margin-top: 205px;
    margin-left: -20px;
    position: relative;
    z-index: 2;
}


/*.map_title h2 {
                color: var(--font-color-default);
            }*/

.map_right_txt {
    margin-top: 50px;
    display: flex;
}

.map_right_txt ul {
    width: 282px;
}

.map_right_txt ul:last-child {
    width: 300px;
    margin-left: 27px;
}

.map_right_txt ul li {
    width: 100%;
    display: inline-block;
    vertical-align: top;
    margin-bottom: 16px;
}

.map_right_txt ul li a {
    width: 100%;
    display: inline-block;
    vertical-align: top;
    padding: 9px 20px;
    color: var(--secondary);
    font-size: 14px;
    letter-spacing: 0.05em;
    position: relative;
}

.map_right_txt ul li a:hover,
.map_right_txt ul li.active a {
    color: #ffffff;
}

.map_right_txt ul li a::after {
    width: 4px;
    height: 100%;
    content: '';
    position: absolute;
    z-index: 1;
    top: 0;
    left: 0;
    background-color: #858585;
    transition: var(--default-transition);
}

.map_right_txt ul li a span {
    display: block;
    position: relative;
    z-index: 2;
    line-height: 1;
}

.map_right_txt ul li a:hover::after,
.map_right_txt ul li.active a::after {
    width: 100%;
    background-color: var(--accent);
}

.map_description {
    width: 100%;
    max-width: 450px;
    margin-top: 45px;
    color: #333333;
    font-size: 12px;
    font-weight: 300;
    font-style: italic;
    line-height: 1.5;
    letter-spacing: 0.05em;
}


/* MAP HOVERS */

#map .map_hovers {
    position: absolute;
    top: 0;
    right: 0;
    width: 100%;
    height: 100%;
    z-index: 2;
}

#map .map_hovers div {
    position: absolute;
    z-index: 1;
}

#map .map_hovers .hovered {
    z-index: 2;
}

#map .map_hovers div.map_hover_content {
    opacity: 0;
    position: relative;
    -webkit-transition: all 0.2s ease-in-out;
    -moz-transition: all 0.2s ease-in-out;
    -ms-transition: all 0.2s ease-in-out;
    -o-transition: all 0.2s ease-in-out;
    transition: all 0.2s ease-in-out;
}

.map_hover_content img {
    display: block;
}

#map_hennepin_county {
    top: 272px;
    left: 162px;
}

#map_ramsey_county {
    top: 274px;
    left: 231px;
}

#map_anoka_county {
    top: 300px;
    left: 241px;
}

#map_chisago_isanti_county {
    top: 262px;
    left: 142px;
}

#map_sherburne_county {
    top: 235px;
    left: 124px;
}

#map_wright_county {
    top: 225px;
    left: 170px;
}

#map_millelacs_kanabec_county {
    top: 31px;
    left: 220px;
}

#map_carver_scott_county {
    top: 172px;
    left: 136px;
}

#map_rice_goodhue_county {
    top: 405px;
    left: 182px;
}

#map_dakota_washington_county {
    top: 112px;
    left: 271px;
}


/* DEFAULT TEXT */

.map_txt {
    color: #ffffff;
    font-size: 10px;
    font-weight: 500;
    line-height: 1.1;
    letter-spacing: 0.05em;
    text-align: center;
    position: absolute;
}

.big_text {
    font-size: 20px;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0.05em;
}

.map_txt_default {}

.hovered .map_txt_default {
    opacity: 0;
}

.map_txt_default_hennepin {
    top: 212px;
    left: 177px;
}

.map_txt_default_ramsey {
    top: 200px;
    left: 209px;
}

.map_txt_default_anoka {
    top: 86px;
    left: 162px;
}

.map_txt_default_chisago {
    top: 68px;
    left: 364px;
}

.map_txt_default_isanti {
    top: 22px;
    left: 242px;
}

.map_txt_default_sherburne {
    top: 96px;
    left: 147px;
}

.map_txt_default_wright {
    top: 205px;
    left: 57px;
}

.map_txt_default_millelacs {
    top: 55px;
    left: 88px;
}

.map_txt_default_kanabec {
    top: 74px;
    left: 186px;
}

.map_txt_default_carver {
    top: 374px;
    left: 128px;
}

.map_txt_default_scott {
    top: 435px;
    left: 207px;
}

.map_txt_default_rice {
    top: 310px;
    left: 217px;
}

.map_txt_default_goodhue {
    top: 310px;
    left: 335px;
}

.map_txt_default_dakota {
    top: 494px;
    left: 171px;
}

.map_txt_default_washington {
    top: 372px;
    left: 252px;
    color: white;
    /*-webkit-text-stroke: 1px #ffffff;
        text-shadow: 3px 3px 0 #848484, -1px -1px 0 #848484, 1px -1px 0 #848484, -1px 1px 0 #848484, 1px 1px 0 #848484;*/
    text-shadow: 2px 2px 10px #848484, 2px 2px 5px #848484, 2px -1px 5px #848484, 2px 2px 5px #848484, 2px -1px 5px #848484;
}


/* HENNEPIN COUNTY */

.map_txt_hennepin_county {
    top: 197px;
    left: 174px;
}

.map_txt_rogers {
    top: 57px;
    left: 138px
}

#map_hennepin_county .map_txt_rockford {
    top: 150px;
    left: 18px;
    text-shadow: 2px 2px 10px var(--accent), 2px 2px 5px var(--accent), 2px -1px 5px var(--accent), 2px 2px 5px var(--accent), 2px -1px 5px var(--accent);
}

.map_txt_corcoran {
    top: 141px;
    left: 135px;
}

.map_txt_brooklyn_park {
    top: 143px;
    left: 241px;
}

.map_txt_maple_grove {
    top: 163px;
    left: 181px;
}

.map_txt_medina {
    top: 197px;
    left: 116px;
}

.map_txt_orono {
    top: 257px;
    left: 101px;
}

.map_txt_wayzata {
    top: 252px;
    left: 160px;
}

.map_txt_mound {
    top: 288px;
    left: 64px;
}

.map_txt_minnetonka {
    top: 299px;
    left: 176px;
}

.map_txt_edina {
    top: 327px;
    left: 267px;
}

.map_txt_richfield {
    top: 334px;
    left: 304px;
}

.map_txt_eden_prairie {
    top: 359px;
    left: 184px;
}

.map_txt_bloomington {
    top: 372px;
    left: 287px;
}


/* RAMSEY COUNTY */

.map_txt_ramsey_county {
    top: 196px;
    left: 143px;
}

.map_txt_mounds_view {
    top: 43px;
    left: 6px;
    text-shadow: 2px 2px 10px var(--accent), 2px 2px 5px var(--accent), 2px -1px 5px var(--accent), 2px 2px 5px var(--accent), 2px -1px 5px var(--accent);
}

.map_txt_shoreview {
    top: 85px;
    left: 85px;
}

.map_txt_north_oaks {
    top: 66px;
    left: 152px
}

.map_txt_white_bear_lake {
    top: 68px;
    left: 245px;
}

.map_txt_new_brighton {
    top: 108px;
    left: 20px;
}

.map_txt_arden_hills {
    top: 134px;
    left: 74px;
}

.map_txt_vadnais_heights {
    top: 129px;
    left: 176px;
}

.map_txt_gem_lake {
    top: 121px;
    left: 225px;
}

.map_txt_little_canada {
    top: 172px;
    left: 141px;
}

.map_txt_roseville {
    top: 206px;
    left: 79px;
}

.map_txt_lauderdale {
    top: 219px;
    left: 16px;
    text-shadow: 2px 2px 10px var(--accent), 2px 2px 5px var(--accent), 2px -1px 5px var(--accent), 2px 2px 5px var(--accent), 2px -1px 5px var(--accent);
}

.map_txt_falcon_heights {
    top: 232px;
    left: 57px;
}

.map_txt_north_st_paul {
    top: 196px;
    left: 254px;
    text-shadow: 2px 2px 10px var(--accent), 2px 2px 5px var(--accent), 2px -1px 5px var(--accent), 2px 2px 5px var(--accent), 2px -1px 5px var(--accent);
}

.map_txt_payne_phalen {
    top: 253px;
    left: 165px;
}

.map_txt_hamline_midway {
    top: 275px;
    left: 64px;
}

.map_txt_macalester_groveland {
    top: 321px;
    left: 44px;
    text-shadow: 2px 2px 10px var(--accent), 2px 2px 5px var(--accent), 2px -1px 5px var(--accent), 2px 2px 5px var(--accent), 2px -1px 5px var(--accent);
}

.map_txt_maplewood {
    top: 297px;
    left: 251px;
    text-shadow: 2px 2px 10px var(--accent), 2px 2px 5px var(--accent), 2px -1px 5px var(--accent), 2px 2px 5px var(--accent), 2px -1px 5px var(--accent);
}


/* ANOKA COUNTY */

.map_txt_anoka_county {
    top: 116px;
    left: 147px;
}

.map_txt_stfrancis {
    top: 20px;
    left: 73px;
}

.map_txt_bethel {
    top: 17px;
    left: 174px;
}

.map_txt_martin_lake {
    top: 35px;
    left: 276px;
}

.map_txt_linwood {
    top: 62px;
    left: 272px;
}

.map_txt_nowthen {
    top: 84px;
    left: 35px;
}

.map_txt_oak_grove {
    top: 76px;
    left: 119px;
}

.map_txt_east_bethel {
    top: 99px;
    left: 219px;
}

.map_txt_ramsey {
    top: 159px;
    left: 30px;
}

.map_txt_ham_lake {
    top: 169px;
    left: 158px;
}

.map_txt_columbus {
    top: 154px;
    left: 302px;
}

.map_txt_andover {
    top: 188px;
    left: 145px;
}

.map_txt_anoka {
    top: 220px;
    left: 95px;
}

.map_txt_coon_rapids {
    top: 244px;
    left: 137px;
}

.map_txt_blaine {
    top: 259px;
    left: 199px;
}

.map_txt_lino_lakes {
    top: 258px;
    left: 290px;
}

.map_txt_circle_pines {
    top: 271px;
    left: 245px;
}

.map_txt_lexington {
    top: 286px;
    left: 238px;
}

.map_txt_fridley {
    top: 335px;
    left: 184px;
    text-shadow: 2px 2px 10px var(--accent), 2px 2px 5px var(--accent), 2px -1px 5px var(--accent), 2px 2px 5px var(--accent), 2px -1px 5px var(--accent);
}

.map_txt_columbia_heights {
    top: 364px;
    left: 181px;
    text-shadow: 2px 2px 10px var(--accent), 2px 2px 5px var(--accent), 2px -1px 5px var(--accent), 2px 2px 5px var(--accent), 2px -1px 5px var(--accent);
}


/* CHISAGO & ISANTI COUNTIES */

.map_txt_chisago_county {
    top: 258px;
    left: 391px;
}

.map_txt_isanti_county {
    top: 238px;
    left: 221px;
}

.map_txt_day {
    top: 29px;
    left: 94px;
}

.map_txt_braham {
    top: 25px;
    left: 211px;
}

.map_txt_rush_city {
    top: 53px;
    left: 356px;
}

.map_txt_stanchfield {
    top: 64px;
    left: 193px;
}

.map_txt_dalbo {
    top: 77px;
    left: 74px;
}

.map_txt_carmody {
    top: 83px;
    left: 18px;
}

.map_txt_rush_point {
    top: 79px;
    left: 264px;
}

.map_txt_grandy {
    top: 96px;
    left: 204px;
}

.map_txt_springvale {
    top: 103px;
    left: 122px;
}

.map_txt_pine_brook {
    top: 143px;
    left: 59px;
}

.map_txt_cambridge {
    top: 166px;
    left: 172px;
}

.map_txt_stark {
    top: 152px;
    left: 304px;
}

.map_txt_harris {
    top: 148px;
    left: 363px;
}

.map_txt_bradford {
    top: 206px;
    left: 84px;
}

.map_txt_edgewood {
    top: 192px;
    left: 163px;
}

.map_txt_bodum {
    top: 207px;
    left: 203px;
}

.map_txt_spring_lake {
    top: 188px;
    left: 271px;
}

.map_txt_north_branch {
    top: 219px;
    left: 332px;
}

.map_txt_sunrise {
    top: 184px;
    left: 436px;
}

.map_txt_isanti {
    top: 237px;
    left: 175px;
}

.map_txt_crown {
    top: 281px;
    left: 32px;
}

.map_txt_almelund {
    top: 237px;
    left: 478px;
}

.map_txt_stacy {
    top: 326px;
    left: 353px;
}

.map_txt_lindstrom {
    top: 334px;
    left: 432px;
}

.map_txt_chisago_city {
    top: 349px;
    left: 401px;
}

.map_txt_wyoming {
    top: 384px;
    left: 334px;
}

.map_txt_osceola {
    top: 398px;
    left: 528px;
    text-shadow: 2px 2px 10px var(--accent), 2px 2px 5px var(--accent), 2px -1px 5px var(--accent), 2px 2px 5px var(--accent), 2px -1px 5px var(--accent);
}


/* SHERBURNE COUNTY */

.map_txt_sherburne_county {
    top: 104px;
    left: 184px;
}

.map_txt_santiago {
    top: 26px;
    left: 235px;
}

.map_txt_briggs_lake {
    top: 57px;
    left: 145px;
}

.map_txt_cable {
    top: 54px;
    left: 57px;
}

.map_txt_clear_lake {
    top: 123px;
    left: 103px;
}

.map_txt_orrock {
    top: 127px;
    left: 306px;
}

.map_txt_zimmerman {
    top: 127px;
    left: 383px;
}

.map_txt_becker {
    top: 180px;
    left: 207px;
}

.map_txt_salida {
    top: 220px;
    left: 247px;
}

.map_txt_big_lake {
    top: 245px;
    left: 295px;
}

.map_txt_bailey {
    top: 261px;
    left: 357px;
}


/* WRIGHT COUNTY */

.map_txt_wright_county {
    top: 223px;
    left: 127px;
}

.map_txt_silver_creek {
    top: 102px;
    left: 200px;
}

.map_txt_south_haven {
    top: 135px;
    left: 18px;
}

.map_txt_annandale {
    top: 164px;
    left: 78px;
}

.map_txt_maple_lake {
    top: 196px;
    left: 156px;
}

.map_txt_albertville {
    top: 192px;
    left: 381px;
}

.map_txt_stmichael {
    top: 215px;
    left: 381px;
}

.map_txt_french_lake {
    top: 225px;
    left: 34px;
}

.map_txt_knapp {
    top: 271px;
    left: 22px;
}

.map_txt_rassat {
    top: 270px;
    left: 178px;
}

.map_txt_buffalo {
    top: 252px;
    left: 254px;
}

.map_txt_highland {
    top: 298px;
    left: 143px;
}

.map_txt_hanover {
    top: 267px;
    left: 387px;
    text-shadow: 2px 2px 10px var(--accent), 2px 2px 5px var(--accent), 2px -1px 5px var(--accent), 2px 2px 5px var(--accent), 2px -1px 5px var(--accent);
}

.map_txt_cokato {
    top: 341px;
    left: 37px;
}

.map_txt_smith_lake {
    top: 338px;
    left: 86px;
}

.map_txt_howard_lake {
    top: 359px;
    left: 99px;
}

.map_txt_montrose {
    top: 351px;
    left: 224px;
}

#map_wright_county .map_txt_rockford {
    top: 333px;
    left: 333px;
    text-shadow: 2px 2px 10px var(--accent), 2px 2px 5px var(--accent), 2px -1px 5px var(--accent), 2px 2px 5px var(--accent), 2px -1px 5px var(--accent);
}

.map_txt_rice_lake {
    top: 404px;
    left: 65px;
}

.map_txt_delano {
    top: 377px;
    left: 304px;
}


/* MILLE LACS & KANABEC COUNTIES */

.map_txt_millelacs_county {
    top: 293px;
    left: 66px;
}

.map_txt_kanabec_county {
    top: 215px;
    left: 325px;
}

.map_txt_vineland {
    top: 76px;
    left: 28px;
}

.map_txt_isle {
    top: 99px;
    left: 230px;
}

.map_txt_woodland {
    top: 126px;
    left: 326px;
}

.map_txt_onamia {
    top: 163px;
    left: 90px;
}

.map_txt_warman {
    top: 179px;
    left: 332px;
}

.map_txt_kroschel {
    top: 166px;
    left: 463px;
    text-shadow: 2px 2px 10px var(--accent), 2px 2px 5px var(--accent), 2px -1px 5px var(--accent), 2px 2px 5px var(--accent), 2px -1px 5px var(--accent);
}

.map_txt_quamba {
    top: 310px;
    left: 391px;
}

.map_txt_mora {
    top: 346px;
    left: 336px;
}

.map_txt_ogilvie {
    top: 387px;
    left: 248px;
}

.map_txt_brunswick {
    top: 427px;
    left: 334px;
}

.map_txt_grasston {
    top: 420px;
    left: 416px;
    text-shadow: 2px 2px 10px var(--accent), 2px 2px 5px var(--accent), 2px -1px 5px var(--accent), 2px 2px 5px var(--accent), 2px -1px 5px var(--accent);
}

.map_txt_grass_lake {
    top: 437px;
    left: 395px;
    text-shadow: 2px 2px 10px var(--accent), 2px 2px 5px var(--accent), 2px -1px 5px var(--accent), 2px 2px 5px var(--accent), 2px -1px 5px var(--accent);
}

.map_txt_coin {
    top: 474px;
    left: 330px;
}

.map_txt_bock {
    top: 434px;
    left: 170px;
}

.map_txt_milaca {
    top: 460px;
    left: 102px;
}

.map_txt_foreston {
    top: 481px;
    left: 59px;
}

.map_txt_pease {
    top: 515px;
    left: 109px;
}

.map_txt_princeton {
    top: 624px;
    left: 138px;
}


/* CARVER & SCOTT COUNTIES*/

.map_txt_carver_county {
    top: 173px;
    left: 158px;
}

.map_txt_scott_county {
    top: 312px;
    left: 370px;
}

.map_txt_watertown {
    top: 19px;
    left: 114px;
}

.map_txt_mayer {
    top: 105px;
    left: 94px;
}

.map_txt_waconia {
    top: 142px;
    left: 168px;
}

.map_txt_victoria {
    top: 134px;
    left: 265px;
}

.map_txt_norwood_young_america {
    top: 214px;
    left: 60px;
}

.map_txt_hamburg {
    top: 271px;
    left: 31px;
}

.map_txt_cologne {
    top: 232px;
    left: 171px;
}

.map_txt_carver {
    top: 238px;
    left: 290px;
}

.map_txt_chaska {
    top: 209px;
    left: 307px;
}

.map_txt_shakopee {
    top: 209px;
    left: 365px;
}

.map_txt_savage {
    top: 239px;
    left: 495px;
}

.map_txt_assumption {
    top: 321px;
    left: 79px;
    text-shadow: 2px 2px 10px var(--accent), 2px 2px 5px var(--accent), 2px -1px 5px var(--accent), 2px 2px 5px var(--accent), 2px -1px 5px var(--accent);
}

.map_txt_blakeley {
    top: 407px;
    left: 114px;
    text-shadow: 2px 2px 10px var(--accent), 2px 2px 5px var(--accent), 2px -1px 5px var(--accent), 2px 2px 5px var(--accent), 2px -1px 5px var(--accent);
}

.map_txt_helena {
    top: 385px;
    left: 315px;
}

.map_txt_credit_river_township {
    top: 336px;
    left: 484px;
}

.map_txt_stbenedict {
    top: 432px;
    left: 288px;
}

.map_txt_cedar_lake {
    top: 433px;
    left: 428px;
}

.map_txt_union_hill {
    top: 482px;
    left: 249px;
    text-shadow: 2px 2px 10px var(--accent), 2px 2px 5px var(--accent), 2px -1px 5px var(--accent), 2px 2px 5px var(--accent), 2px -1px 5px var(--accent);
}

.map_txt_new_prague {
    top: 479px;
    left: 324px;
    text-shadow: 2px 2px 10px var(--accent), 2px 2px 5px var(--accent), 2px -1px 5px var(--accent), 2px 2px 5px var(--accent), 2px -1px 5px var(--accent);
}

.map_txt_elko_new_market {
    top: 451px;
    left: 523px;
}


/* RICE & GOODHUE COUNTIES */

.map_txt_rice_county {
    top: 218px;
    left: 101px;
}

.map_txt_goodhue_county {
    top: 201px;
    left: 372px;
}

.map_txt_webster {
    top: 129px;
    left: 72px;
}

.map_txt_lonsdale {
    top: 160px;
    left: 35px;
}

.map_txt_wheatland {
    top: 174px;
    left: 17px;
}

.map_txt_northfield {
    top: 178px;
    left: 169px;
}

.map_txt_dundas {
    top: 198px;
    left: 152px;
}

.map_txt_dennison {
    top: 214px;
    left: 227px;
}

.map_txt_cannon_falls {
    top: 150px;
    left: 288px;
}

.map_txt_red_wing {
    top: 106px;
    left: 472px;
    text-shadow: 2px 2px 10px var(--accent), 2px 2px 5px var(--accent), 2px -1px 5px var(--accent), 2px 2px 5px var(--accent), 2px -1px 5px var(--accent);
}

.map_txt_shieldsville {
    top: 243px;
    left: 33px;
}

.map_txt_cannon_city {
    top: 269px;
    left: 131px;
}

.map_txt_nerstrand {
    top: 261px;
    left: 220px;
}

.map_txt_faribault {
    top: 293px;
    left: 113px;
}

.map_txt_warsaw {
    top: 325px;
    left: 54px;
}

.map_txt_morristown {
    top: 340px;
    left: 25px;
}

.map_txt_ruskin {
    top: 311px;
    left: 178px;
}

.map_txt_walcott {
    top: 336px;
    left: 160px;
}

.map_txt_kenyon {
    top: 311px;
    left: 265px;
}

.map_txt_zumbrota {
    top: 296px;
    left: 406px;
}

.map_txt_pine_island {
    top: 355px;
    left: 415px;
}


/* DAKOTA & WASHINGTON COUNTIES */

.map_txt_dakota_county {
    top: 486px;
    left: 246px;
}

.map_txt_washington_county {
    top: 85px;
    left: 222px;
    text-shadow: 2px 2px 10px var(--accent), 2px 2px 5px var(--accent), 2px -1px 5px var(--accent), 2px 2px 5px var(--accent), 2px -1px 5px var(--accent);
}

.map_txt_forest_lake {
    top: 18px;
    left: 190px;
}

.map_txt_scandia {
    top: 36px;
    left: 278px;
}

.map_txt_hugo {
    top: 110px;
    left: 193px;
}

.map_txt_arcola {
    top: 143px;
    left: 306px;
}

.map_txt_stillwater {
    top: 196px;
    left: 270px;
    text-shadow: 2px 2px 10px var(--accent), 2px 2px 5px var(--accent), 2px -1px 5px var(--accent), 2px 2px 5px var(--accent), 2px -1px 5px var(--accent);
}

.map_txt_oak_park_heights {
    top: 211px;
    left: 285px;
    text-shadow: 2px 2px 10px var(--accent), 2px 2px 5px var(--accent), 2px -1px 5px var(--accent), 2px 2px 5px var(--accent), 2px -1px 5px var(--accent);
}

.map_txt_lake_elmo {
    top: 245px;
    left: 240px;
}

.map_txt_woodbury {
    top: 302px;
    left: 203px;
}

.map_txt_afton {
    top: 317px;
    left: 300px;
    text-shadow: 2px 2px 10px var(--accent), 2px 2px 5px var(--accent), 2px -1px 5px var(--accent), 2px 2px 5px var(--accent), 2px -1px 5px var(--accent);
}

.map_txt_west_stpaul {
    top: 307px;
    left: 104px;
    text-shadow: 2px 2px 10px var(--accent), 2px 2px 5px var(--accent), 2px -1px 5px var(--accent), 2px 2px 5px var(--accent), 2px -1px 5px var(--accent);
}

.map_txt_mendota_heights {
    top: 332px;
    left: 94px;
    text-shadow: 2px 2px 10px var(--accent), 2px 2px 5px var(--accent), 2px -1px 5px var(--accent), 2px 2px 5px var(--accent), 2px -1px 5px var(--accent);
}

.map_txt_inver_grove_heights {
    top: 358px;
    left: 134px;
}

.map_txt_cottage_grove {
    top: 380px;
    left: 203px;
}

.map_txt_eagan {
    top: 395px;
    left: 89px;
}

.map_txt_burnsville {
    top: 427px;
    left: 24px;
}

.map_txt_apple_valley {
    top: 457px;
    left: 30px;
}

.map_txt_rosemount {
    top: 450px;
    left: 106px;
}

.map_txt_coates {
    top: 466px;
    left: 160px;
}

.map_txt_hastings {
    top: 447px;
    left: 251px;
}

.map_txt_lakeville {
    top: 519px;
    left: 29px;
}

.map_txt_farmington {
    top: 527px;
    left: 86px;
}

.map_txt_vermillion {
    top: 502px;
    left: 179px;
}

.map_txt_hampton {
    top: 551px;
    left: 172px;
}

.map_txt_miesville {
    top: 560px;
    left: 273px;
    text-shadow: 2px 2px 10px var(--accent), 2px 2px 5px var(--accent), 2px -1px 5px var(--accent), 2px 2px 5px var(--accent), 2px -1px 5px var(--accent);
}

.map_txt_castle_rock {
    top: 604px;
    left: 83px;
}

.map_txt_randolph {
    top: 619px;
    left: 158px;
}

.map_txt_waterford {
    top: 651px;
    left: 91px;
}


/* HP AGENTS */

#hp_agents_wrap {
    padding-bottom: 29px;
}

.hp_agents_bg {
    width: 54.3125%;
    height: 91%;
    max-height: 612px;
    left: auto;
    right: 41px;
    top: auto;
    bottom: 0;
}

.hp_agents {
    padding-left: 5.875%;
    padding-right: 5.875%;
    font-size: 0;
}

.hp_agents > div {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
}

.agents_left {
    /*width: 42.71%;*/
    width: 39.66%;
    display: inline-block;
    vertical-align: top;
    padding-bottom: 40px;
}

.agents_photo_slider {
    width: calc(100% + 40px);
}

.agents_photo_item {
    position: relative;
}
.agents_photo_slider:not(.slick-initialized) .slick-slide ~ .slick-slide,
.agents_slider_text:not(.slick-initialized) .slick-slide ~ .slick-slide {
    display: none;
}

.agents_photo a {
    display: block;
    position: relative;
    overflow: hidden;
}

.agents_photo a::before {
    width: 100%;
    height: 80%;
    max-height: 427px;
    content: '';
    position: absolute;
    z-index: 1;
    bottom: 0;
    left: 0;
    background: rgb(0, 0, 0);
    background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0) 30%, rgba(0, 0, 0, 1) 100%);
}

.agents_photo a::after {
    width: 100%;
    height: 100%;
    content: '';
    position: absolute;
    z-index: 1;
    bottom: 0;
    left: 0;
    background-color: var(--accent);
    opacity: 0;
    transition: var(--default-transition);
}

.agents_photo a img {
    transition: var(--default-transition);
}

.agents_photo_item:hover .agents_photo a::after {
    opacity: 0.2;
}

.agents_photo_item:hover .agents_photo a img {
    filter: grayscale(1);
    transform: scale(1.05);
}

.agents_photo_details {
    width: 100%;
    position: absolute;
    z-index: 2;
    bottom: 0;
    left: 0;
    padding: 10px 10px 40px;
    color: #ffffff;
    text-align: center;
}

.agents_name {
    width: 100%;
    display: inline-block;
    vertical-align: top;
    margin-bottom: 6px;
    /*font-size: 30px;*/
    font-size: 28px;
    font-family: var(--UtopiaSTD);
    text-transform: uppercase;
    /*letter-spacing: 0.1em;*/
    letter-spacing: 0.05em;
}

.agents_photo_item .agents_info {
    margin-top: 12px;
}

.agents_photo_item .agents_info i {
    font-size: 13px;
    display: inline-block;
    vertical-align: middle;
    margin-right: 8px;
}

.agents_photo_item .agents_info i.ai-font-phone-o,
.agents_photo_item .agents_info i.ai-font-mobile-b {
    font-size: 17px;
}

.agents_photo_item .agents_info span {
    font-size: 14px;
    display: inline-block;
    vertical-align: middle;
    letter-spacing: 0.05em;
}

.agents_photo_item .agents_info a {
    color: inherit;
    transition: var(--default-transition);
}

.agents_photo_item .agents_info a:hover {
    color: var(--accent);
}

.agents_photo_item .agents_info_wrap {
    display: flex;
    align-items: center;
    justify-content: center;
}

.agents_photo_item .agents_info_wrap .agents_info {
    margin-left: 25px;
}

.agents_photo_item .agents_info_wrap .agents_info:first-child {
    margin-left: 0;
}

.agents_right {
    width: 60.34%;
    display: inline-block;
    vertical-align: top;
    position: relative;
    z-index: 2;
    padding: 75px 30px 57px;
    background-color: #ffffff;
}

.agents_text_wrap {
    width: 100%;
    max-width: 545px;
    margin: 0 auto;
}

.agents_slider_text {
    margin-top: 50px;
}

.agents_description {
    font-size: 14px;
    line-height: 2;
    letter-spacing: 0.05em;
}

.agents_buttons_wrap {
    font-size: 0;
    margin-top: 60px;
}

.agents_button {
    display: inline-block;
    vertical-align: top;
    margin-left: 12px;
}

.agents_button:first-child {
    margin-left: 0;
}


/* HP REVIEWS */

#hp_reviews_wrap {
    padding: 100px 0 92px;
    text-align: center;
}

#hp_reviews_wrap::before {
    width: 49.3125%;
    height: 35%;
    max-height: 238px;
    content: '';
    position: absolute;
    z-index: 1;
    left: 0;
    bottom: 0;
    background-color: var(--primary);
}

.hp_reviews_bg {
    width: 50.6875%;
    height: 70%;
    max-height: 518px;
    left: auto;
    right: 0;
    top: auto;
    bottom: 0;
}

.hp_reviews {
    padding-left: 5.875%;
    padding-right: 5.875%;
}

.reviews_title {
    margin-bottom: 45px;
}

.reviews_content {}

.reviews_bg {
    background-color: var(--dark-bg);
}

.reviews_bg canvas {
    opacity: 0.1;
    background-position: top center;
}

.reviews_button a {
    width: 319px;
}

.reviews_box {
    color: #ffffff;
    padding: 60px 0 68px;
}

#reviews_slider {
    width: 80%;
    max-width: 1100px;
    margin: 0 auto;
}

#reviews_slider::before {
    width: 51px;
    height: 46px;
    content: '';
    display: inline-block;
    vertical-align: top;
    background-image: url(images/icon-quote.png);
    background-size: auto;
    background-repeat: no-repeat;
    background-position: top center;
}

.reviews_item {
    padding-top: 35px;
    font-size: 18px;
    line-height: 2.1;
    letter-spacing: 0.02em;
}
#reviews_slider:not(.slick-initialized) .reviews_item ~ .reviews_item {
    display: none;
}
.reviews_author {
    display: block;
    margin-top: 40px;
    font-size: 20px;
    text-transform: uppercase;
    line-height: 1;
    letter-spacing: 0.1em;
}

.reviews_arrows_btns {
    width: 100%;
    max-width: 427px;
    margin: 65px auto 0;
    position: relative;
}

.reviews_arrows {
    width: 100%;
    height: 54px;
    position: absolute;
    top: 50%;
    left: 0;
    transform: translate(0, -50%);
    pointer-events: none;
}

.reviews_arrows .slick-arrow {
    position: absolute;
    top: 0;
    font-size: 54px;
    color: #ffffff;
    opacity: 0.3;
    cursor: pointer;
    pointer-events: auto;
}

.reviews_arrows .slick-arrow:hover {
    opacity: 1;
}

.reviews_arrows .slick-arrow.reviews_prev {
    left: 0;
}

.reviews_arrows .slick-arrow.reviews_next {
    right: 0;
}

.reviews_button {}


/* HP PARTNERS */

#hp_partners_wrap {
    padding: 155px 0 90px;
    text-align: center;
}

.hp_partners {}

.partners_title {
    margin-bottom: 30px;
}

.partners_subtitle {
    margin-bottom: 30px;
    color: var(--secondary);
    font-size: 22px;
    text-transform: uppercase;
    letter-spacing: 0.1em;
}

.partners_text {
    padding: 0 55px;
    font-size: 14px;
    line-height: 2;
    letter-spacing: 0.05em;
}

.partners_logos {
    margin-top: 55px;
    font-size: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}

.partners_logo {
    margin: 0 44px;
}

.partners_logo img {
    max-width: 100%;
    height: auto;
}

.partners_button {
    margin-top: 83px;
}


/* HP CAREERS */

#hp_career_wrap {
    padding-bottom: 142px;
}

#hp_career_wrap::before {
    width: 64.625%;
    height: 35%;
    max-height: 239px;
    content: '';
    position: absolute;
    z-index: 1;
    left: 0;
    bottom: 0;
    background-color: var(--primary);
}

.hp_career_bg {
    width: 53.8125%;
    height: calc(100% - 109px);
    top: 25px;
    left: auto;
    right: 0;
    z-index: 2;
}

.hp_career {
    padding-left: 5.875%;
    padding-right: 10%;
}

.hp_career > div {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
}

.careers_left {
    width: 57.89%;
    /*max-width: 771px;*/
    display: inline-block;
    vertical-align: top;
    position: relative;
    z-index: 2;
    background-color: #ffffff;
    padding: 30px 0 85px 50px;
}

.careers_box {
    width: 100%;
    max-width: 556px;
    display: block;
    margin: 0 auto;
}

.careers_title {
    margin-bottom: 25px;
}

.careers_title h2 {
    font-size: 42px;
    line-height: 1.2;
}

.careers_text {
    font-size: 14px;
    line-height: 2;
    letter-spacing: 0.05em;
}

.careers_text p {
    margin-bottom: 25px;
}

.careers_button {
    width: 100%;
    display: inline-block;
    vertical-align: top;
    margin-top: 10px;
}

.careers_button a {
    width: 302px;
}

.careers_right {
    font-size: 0;
    padding-top: 119px;
    text-align: right;
}

.careers_logo img {
    max-width: 100%;
    height: auto;
}


/* HP BLOGS */

#hp_blogs_wrap {
    padding: 105px 0;
    text-align: center;
}

.hp_blogs {
    padding-left: 2.5%;
    padding-right: 2.5%;
}

.blogs_title {
    margin-bottom: 55px;
}

.blog_list_wrap {
    font-size: 0;
    margin-left: -26px;
    margin-right: -26px;
}

.blog_item {
    width: calc(100% / 3);
    display: inline-block;
    vertical-align: top;
    padding: 0 26px;
}

.blog_item a {
    display: block;
    position: relative;
    overflow: hidden;
    padding-bottom: 3px;
}

.blog_item a::before {
    width: 100%;
    height: 100%;
    content: '';
    position: absolute;
    z-index: 1;
    top: 0;
    left: 0;
    background-color: var(--secondary);
    opacity: 0.4;
    transition: var(--default-transition);
}

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

.blog_item a:hover::after {
    opacity: 0.35;
}

.blog_photo {}

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

.blog_photo::after {
    width: 50%;
    height: 3px;
    content: '';
    position: absolute;
    z-index: 1;
    bottom: -3px;
    right: 0;
    background-color: var(--accent);
}

.blog_item_title {
    width: 80%;
    position: absolute;
    z-index: 3;
    padding: 25px 28px;
    top: 0;
    left: 0;
    color: #ffffff;
    font-size: 20px;
    line-height: 1.2;
    letter-spacing: 0.1em;
    text-align: left;
    text-transform: uppercase;
}

.blogs_button {
    width: 100%;
    display: inline-block;
    margin-top: 50px;
}


/* HP SOCIALS */

#hp_socials_wrap {
    padding-bottom: 20px;
}

.hp_socials {}

.socials_title {
    margin-bottom: 75px;
    text-align: center;
}

.social_list_wrap {
    width: 100%;
    display: inline-block;
    vertical-align: top;
    margin-bottom: 56px;
    font-size: 0;
}

.social_list_wrap h3 {
    margin-bottom: 25px;
    color: var(--primary);
    font-size: 24px;
    font-weight: 500;
    letter-spacing: 0.2em;
    text-transform: uppercase;
}

.sm_feed_wrap {
    margin-left: -8px;
    margin-right: -8px;
}

.sm_feed_col {
    width: 50%;
    display: inline-block;
    vertical-align: top;
    padding: 0 8px;
}

.sm_feed_row {
    width: 25%;
    display: inline-block;
    vertical-align: top;
    padding: 0 8px;
}

.sm_feed_item {
    padding-bottom: 12px;
}

.sm_feed_item a {
    display: block;
    position: relative;
    overflow: hidden;
}

.sm_feed_item a::before {
    width: 100%;
    height: 100%;
    content: '';
    position: absolute;
    z-index: 1;
    top: 0;
    left: 0;
    background-color: var(--accent);
    opacity: 0;
    transition: var(--default-transition);
}

.sm_feed_item a:hover::before {
    opacity: 0.35;
}

.sm_photo img {
    transition: var(--default-transition);
}

.sm_feed_item a:hover .sm_photo img {
    transform: scale(1.05);
}

.sm_feed_icon {
    font-size: 0;
    position: absolute;
    z-index: 2;
    right: 10px;
    bottom: 20px;
    color: #ffffff;
}

.sm_feed_icon span {
    font-size: 22px;
}

.sm_feed_button {
    margin-top: 10px;
}

.social_tiktok .sm_feed_item a::before {
    width: 100%;
    height: 100%;
    content: '';
    position: absolute;
    z-index: 1;
    top: 0;
    left: 0;
    background-color: var(--secondary);
    opacity: 0.3;
    transition: var(--default-transition);
}

.social_tiktok .sm_feed_item a:hover::before {
    opacity: 0.35;
    background-color: var(--accent);
}


/* FOOTER */

#footer_wrap {}


/* FOOTER CONTACT INFO - FORM */

#footer_contact_wrap {}

.footer_contact_bg {}

.footer_contact_bg canvas {
    filter: grayscale(1);
}

.footer_contact_bg::before {
    width: 50%;
    height: 100%;
    content: '';
    position: absolute;
    z-index: 1;
    top: 0;
    left: 0;
    background-color: var(--dark-bg);
    opacity: 0.95;
}

.footer_contact_bg::after {
    width: 50%;
    height: 100%;
    content: '';
    position: absolute;
    z-index: 1;
    top: 0;
    right: 0;
    background-color: #ffffff;
    opacity: 0.95;
}

.footer_contact_inner {}

.footer_contact_info {
    padding-top: 84px;
    padding-bottom: 130px;
    padding-right: 50px;
    color: #ffffff;
    font-size: 0;
    text-align: center;
}

.footer_contact_info a {
    color: inherit;
}

.footer_contact_info a:hover {
    color: var(--accent);
}

.footer_info {
    margin-top: 48px;
}

.foot_info {
    margin-bottom: 28px;
}

.foot_info i {
    font-size: 13px;
    display: inline-block;
    vertical-align: top;
    margin-right: 8px;
}

.foot_info i.ai-font-phone-o {
    font-size: 17px;
}

.foot_info i.ai-font-location-b {
    font-size: 19px;
}

.foot_info span {
    font-size: 13px;
    display: inline-block;
    vertical-align: top;
    letter-spacing: 0.1em;
}

.foot_info_address span {
    max-width: 156px;
    line-height: 1.2;
}

.footer_smi {
    width: 100%;
    display: inline-block;
    vertical-align: top;
    margin-top: 8px;
}

.footer_smi a {
    width: 40px;
    height: 40px;
    display: inline-block;
    vertical-align: top;
    margin: 0 5px;
    border: 1px solid #d8f2ff;
    border-radius: 50%;
}

.footer_smi a span {
    font-size: 19px;
    display: block;
    line-height: 38px;
}

.footer_smi a:hover {
    color: var(--secondary);
    background-color: var(--accent);
    border-color: var(--accent);
}

.footer_contact_form {
    padding-top: 80px;
    padding-bottom: 80px;
    text-align: right;
}

.contact_form_wrap {
    width: 100%;
    max-width: 487px;
    display: inline-block;
    vertical-align: top;
    text-align: center;
}

.contact_form_wrap h3 {
    margin-bottom: 10px;
    color: var(--primary);
    font-size: 30px;
    font-family: var(--UtopiaSTD);
    letter-spacing: 0.075em;
}

.contact_form {
    width: 100%;
    display: inline-block;
    vertical-align: top;
    font-size: 0;
    position: relative;
}

.form_field_wrap {
    width: 100%;
    display: inline-block;
    vertical-align: top;
    position: relative;
    margin-top: 17px;
}

.form_field_short {
    width: calc(50% - 11px);
    display: inline-block;
    vertical-align: top;
    margin-left: 22px;
}

.form_field_short:first-child {
    margin-left: 0;
}

.form_field_long {}

.form_field_wrap input,
.form_field_wrap textarea {
    width: 100%;
    height: 48px;
    padding: 0;
    color: var(--font-color-default);
    font-size: 13px;
    letter-spacing: 0.1em;
    border: none;
    border-bottom: 1px solid var(--primary);
    background-color: transparent;
    outline: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}

.form_field_wrap textarea {
    height: 79px;
    padding-top: 19px;
    resize: none;
}

.form_submit {
    width: 100%;
    display: inline-block;
    vertical-align: top;
    margin-top: 20px;
    text-align: center;
}

.form_submit .global_site_button > span {
    margin: 0 auto;
}

.contact_form .ajax-loader,
.contact_form .wpcf7-spinner {
    position: absolute;
    left: 0;
    right: 0;
    margin: 0 auto !important;
    bottom: -50px;
}

.contact_form .wpcf7-form-control-wrap {
    display: block;
}

.contact_form .use-floating-validation-tip span.wpcf7-not-valid-tip {
    width: auto;
    max-width: 100%;
    font-size: 11px;
    position: absolute;
    top: 10px;
}

.contact_form div.wpcf7-response-output,
.contact_form .wpcf7 form .wpcf7-response-output {
    position: absolute;
    left: 0;
    right: 0;
    margin: 10px auto 0;
    color: var(--font-color-default) !important;
    font-size: 12px;
    text-align: center;
}


/* FOOTER BOTTOM CONTENT */

#footer_bottom_wrap {
    padding: 35px 0;
    color: #ffffff;
    background-color: var(--primary);
}

#footer_bottom_wrap a {
    color: inherit;
}

#footer_bottom_wrap a:hover {
    color: var(--accent);
}

.footer_disclaimer {
    margin-bottom: 40px;
    opacity: 0.5;
    font-size: 11px;
    line-height: 1.6;
    letter-spacing: 0.1em;
    text-align: center;
}

.footer_disclaimer a {
    color: inherit;
}

.footer_bottom_left {}

.footernav {
    font-size: 0;
    margin-bottom: 15px;
}

.footernav li {
    display: inline-block;
    vertical-align: middle;
    padding: 0 22px;
    position: relative;
}

.footernav li::before {
    width: 1px;
    height: 11px;
    content: '';
    position: absolute;
    top: calc(50% - 6px);
    left: -1px;
    background-color: #ffffff;
}

.footernav li:first-child::before {
    display: none;
}

.footernav li:first-child {
    padding-left: 0;
}

.footernav li:last-child {
    padding-right: 0;
}

.footernav li a {
    color: inherit;
    font-size: 11px;
    letter-spacing: 0.075em;
    text-transform: uppercase;
}

.footer_copyright {
    font-size: 11px;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.footer_mls {
    font-size: 0;
    text-align: right;
}

.footer_mls .ai-font-realtor-mls {
    font-size: 26px;
}

.footer_mls .ai-font-eho {
    font-size: 21px;
    margin-left: 7px;
}


/*******************************************************
 *
 * 3. 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 {
    color: var(--primary);
    font-size: var(--font-size-title);
    font-weight: 400;
    font-family: var(--UtopiaSTD);
    text-transform: uppercase;
    line-height: 1;
    letter-spacing: 0.025em;
}


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

#content .archive-subtitle {
    color: var(--primary);
    font-size: 30px;
    font-weight: 400;
    font-family: var(--UtopiaSTD);
    text-transform: uppercase;
    line-height: 1;
    letter-spacing: 0.025em;
}

#content .entry a:hover {
    color: var(--accent);
}

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

button:focus-visible,
a:focus-visible {
    outline-style: solid !important;
    outline-width: 5px !important;
    outline-color: red !important;
    transition: none !important;
}


/* High contrast and Negative contrast break canvas elements with backgrounds */

#pojo-a11y-toolbar .pojo-a11y-btn-high-contrast,
#pojo-a11y-toolbar .pojo-a11y-btn-negative-contrast {
    display: none !important;
}

.ai-contact-wrap span.context-email em,
.ai-contact-wrap span.context-mob em {
    font-size: 15px;
}

/*#agents-results .agent-top {
    display: none !important;
}
*/

/* contact form (housing for heroes) */

.services span.wpcf7-list-item-label {
    font-size: 14px;
    font-weight: normal;
}

.ip-button {
    padding: 10px;
    width: 50%;
    border: 1px solid #ccc;
    display: block;
}

.ip-button a {
    text-transform: uppercase;
    letter-spacing: 1px;
    color: #000 !important;
}

.ip-button:hover {
    background: #f0bd1b;
    transition: var(--default-transition);
}


.use-floating-validation-tip .wpcf7-not-valid-tip {
    width: auto;
    position: absolute;
}
.wpcf7 form .wpcf7-response-output {
    text-align: center;
}

.ip-container #main-wrapper {
    z-index: unset !important;
}

.aios-custom-ihomefinder-results-template.ihf-results-template #content-full .entry-title {
    width: 100%;
    padding: 0;
}
#ihf-main-container .chosen-drop ul.chosen-results {
    max-height: 150px;
}

#listings-details .listings-slideshow-splide .listings-slideshow-splide-img::before {
    width: 100%;
    height: 30%;
    content: '';
    position: absolute;
    z-index: 4;
    top: 0;
    left: 0;
    pointer-events: none;
    background: rgb(0,0,0);
    background: linear-gradient(180deg, rgba(0,0,0,1) 0%, rgba(0,0,0,0) 100%);
    opacity: 0.4;
}
#listings-details .listings-form textarea {
    padding-right: 55px !important;
}

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

.bootstrap-select>.dropdown-toggle.bs-placeholder, .bootstrap-select>.dropdown-toggle.bs-placeholder:hover, .bootstrap-select>.dropdown-toggle.bs-placeholder:focus, .bootstrap-select>.dropdown-toggle.bs-placeholder:active {
    background-color: transparent!important;
    border-color: transparent !important;
    border-bottom-color: #444444 !important;
    -webkit-box-shadow: none !important;
    box-shadow: none !important;
}

.aios-custom-ihomefinder-template-logo img {
    max-width: 200px !important;
}

.post-page-contact-us #ai-modern-contact .ai-modern-contact-photo canvas {
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
}

.post-page-contact-us #ai-modern-contact .ai-modern-contact-photo span:before {
    background: #848484;
}
.post-page-contact-us #breadcrumbs{
    padding: 0px 50px;
}
.post-page-property-search #ihf-main-container .glyphicon.glyphicon-remove-circle {
    color: #fff !important;
}
.post-page-property-search #footer_contact_wrap {
    z-index: -1;
}
.grecaptcha-badge {
    z-index: 1000;
}
.post-page-meet-the-director #agents-results .agents-contact,
.post-page-agents #agents-results .agents-contact {
    justify-content: center;
}
.overflow-hidden {
    overflow: hidden;
}
.sitemap-list li.page-item-79,
.sitemap-list li.page-item-74 {
    display: none;
}

.ihf-details-template .aios-custom-ihomefinder-template-img-loader::after {
    width: 100%;
    height: 30%;
    content: '';
    position: absolute;
    z-index: 4;
    top: 0;
    left: 0;
    pointer-events: none;
    background: rgb(0,0,0);
    background: linear-gradient(180deg, rgba(0,0,0,1) 0%, rgba(0,0,0,0) 100%);
    opacity: 0.5;
}

#ihf-save-listing-form .form-group .ihf-modal-submit > .ihf-modal-form-response-output {
    display: none !important;
}

.single-aios-communities .aios-custom-ihomefinder-shortcode-template {
    margin-top: 30px;
}

.leaflet-map-pane .leaflet-marker-icon.leaflet-interactive {
    background: transparent !important;
    border: none !important;
}

/* Banner video - Become a Fazendin Realtor */
#banner-video-container{
    display: none;
}
html:not(.no-js) .home [data-aos^=fade][data-aos^=fade] {
    opacity: 1 !important;
    pointer-events: auto!important;
    transform: none!important;
}

.ihf-modal-submit button.btn.btn-primary.mt-10 {
    background: rgb(240, 189, 27) !important;
}

body.aios-custom-ihomefinder-printable-template p#breadcrumbs {
    display: none;
}

body.aios-custom-ihomefinder-printable-template #content .listings-printable-header span {
    display: none;
}

body.aios-custom-ihomefinder-printable-template #content .listings-printable-photo:after {
    background-color: rgba(0,0,0,.10);
}


.listings-disclaimer-commission {
    padding: 10px;
}

body.aios-custom-ihomefinder-dark-mode #listings-results .listings-sort .sort-dropdown button,
body.aios-custom-ihomefinder-dark-mode #listings-results .listings-list .listings-info,
body.aios-custom-ihomefinder-dark-mode #listings-results .listings-table .listings-table-body .listings-table-label {
    color: #444444 !important;
}

body.aios-custom-ihomefinder-dark-mode #listings-results .listings-sort .sort-dropdown button:after {
    border-top-color: #444444 !important;
}

body.aios-custom-ihomefinder-dark-mode #listings-results .listings-sort .sort-dropdown button:hover {
    color: var(--aios-ihf-template-global-page-primary-color) !important;
}

body.aios-custom-ihomefinder-dark-mode #listings-results .listings-sort .sort-dropdown button:hover:after {
    border-top-color: var(--aios-ihf-template-global-page-primary-color) !important;
}

.error404 #inner-page-wrapper {
    background: #e1e1e1;
    margin-bottom: 0;
}
