/*
Theme Name: Kathy Sokolic
Description: Kathy Sokolic
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: 'Lato';
    --font-family-title: 'Lato';
    --font-color-default: #000;
    --font-color-title: #000;
    /** Use for input, button, and any other element */
    /*    --primary: #2a74b8;*/
    --primary: 42, 116, 184;
    /*    --secondary: #edbd69;*/
    --secondary: 237, 189, 105;
    /*    --tertiary: #f97149;*/
    --tertiary: 249, 113, 73;
    --success: #28a745;
    --info: #17a2b8;
    --warning: #ffc107;
    --danger: #dc3545;
    --light: #f8f9fa;
    --dark: #343a40;
}


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


/* Global */

html {
    margin: 0 !important;
}

body {
    font-family: var(--font-family-default);
    font-size: 16px;
    font-size: 1vw;
    font-weight: 300;
    color: #000;
    line-height: normal;
    background: #fff;
    margin: 0;
}

*:focus {
    outline: none !important;
}

a,
a:hover {
    text-decoration: none;
}

a:hover {
    color: rgba(var(--secondary), 1);
}

a,
input,
button,
img,
canvas {
    transition: all 0.3s ease-in-out;
}

.lazyload {
    opacity: 0;
    width: 0;
    height: 0;
}

.img-wrapper {
    position: relative;
    overflow: hidden;
    transition: all 0.3s ease-in-out;
}

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

.img-wrapper img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
    transition: all 0.3s ease-in-out;
}

.bg-wrapper {
    position: absolute;
    width: 100%;
    height: auto;
    top: 0;
    bottom: 0;
    left: 0;
    z-index: 1;
}

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

#main-wrapper {
    background: #000;
    overflow: hidden;
}

main {
    background: #fff;
}


/*** Header ***/

.header {
    width: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 100;
    padding: 0 30px;
    padding: 0 1.875vw;
    background: #fff;
}

.header-inner {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    max-width: 1478px;
    max-width: 92.375vw;
    margin: 0 auto;
    padding: 14px 0;
    padding: 0.875vw 0;
    position: relative;
    z-index: 1;
}

.header-logo {}

.header-logo-inner {}

.header-logo-inner a {
    display: block;
    display: flex;
    align-items: center;
}

.header-logo-inner a img {
    width: 106px;
    width: 6.625vw;
    /* filter: brightness(0) invert(1); */
}

.header-logo-inner a img:first-child {
    width: 6.25em;
}

.header-logo-inner a img:last-child {
    width: 20.375em;
    margin-left: 0.938em;
}

.header-contact-smis-navigation-off-canvas-trigger {
    display: flex;
    flex-grow: 1;
    justify-content: flex-end;
    align-items: center;
}

.header-contact-smis-navigation {
    flex-grow: 1;
    max-width: 1036px;
    max-width: 64.750vw;
    max-width: 55.75vw;
}

.header-contact-smis {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    margin: 0 0 12px;
    margin: 0 0 0.750vw;
}

.header-contact {}

.header-contact-inner {
    display: flex;
    justify-content: center;
    align-items: center;
}

.header-contact-inner a {
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 16px;
    font-size: 1vw;
    font-weight: 600;
    letter-spacing: 0.05em;
    color: #616161;
}

.header-contact-inner a:not(:last-child) {
    margin: 0 10px 0 0;
    margin: 0 0.625vw 0 0;
}

.header-contact-inner a:hover {
    color: rgba(var(--secondary), 1);
}

.header-contact-inner a i {
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 14px;
    font-size: 0.875vw;
    margin: 0 13px 0 0;
    margin: 0 0.813vw 0 0;
    color: rgba(var(--primary), 1);
}

.header-smis {
    margin: 0 0 0 39px;
    margin: 0 0 0 2.438vw;
}

.header-smis-inner {
    display: flex;
    justify-content: center;
    align-items: center;
}

.header-smis-inner a {
    display: block;
    color: rgba(var(--primary), 1);
}

.header-smis-inner a:not(:last-child) {
    margin: 0 25px 0 0;
    margin: 0 1.563vw 0 0;
}

.header-smis-inner a:hover {
    color: rgba(var(--secondary), 1);
}

.header-smis-inner a i {
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 18px;
    font-size: 1.125vw;
}

.header-smis-inner a i.ai-font-youtube {
    font-size: 20px;
    font-size: 1.250vw;
}


/*** Header Navigation ***/

.header-navigation {}

.header-nav {
    display: flex;
    /*    justify-content: space-between;*/
    justify-content: end;
    align-items: center;
}

.header-nav li {
    position: relative;
    transition: all 0.3s ease-in-out;
}

.header-nav>li {
    padding-left: 20px;
}

.header-nav li a {
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 14px;
    font-size: 0.875vw;
    font-size: 0.75vw;
    font-weight: 600;
    letter-spacing: 0.2em;
    color: #616161;
    text-align: center;
    text-transform: uppercase;
    padding: 0 0 0 0.2em;
    position: relative;
}

.header-nav>li:hover>a {
    color: rgba(var(--secondary), 1);
}

.header-nav .sub-menu {
    width: 205px;
    width: 12.813vw;
    position: absolute;
    left: -200%;
    right: -200%;
    z-index: 1;
    margin: auto;
    text-align: center;
    pointer-events: none;
    opacity: 0;
    transform: translateY(30px);
    transform: translateY(1.875vw);
    transition: all 0.3s ease-in-out;
    padding: 30px 0 0;
    padding: 1.875vw 0 0;
}

.header-nav li:hover>.sub-menu {
    pointer-events: auto;
    opacity: 1;
    transform: translateY(0);
}

.header-nav .sub-menu .sub-menu {
    top: 0;
    left: 0;
    padding: 0;
    margin: 0 0 0 calc(100% + 1px);
    margin: 0 0 0 calc(100% + 0.063vw);
}

.header-nav .sub-menu li {
    background: rgba(var(--tertiary), 0.85);
    margin: 0 0 1px;
    margin: 0 0 0.063vw;
}

.header-nav .sub-menu li:hover {
    background: rgba(var(--secondary), 1);
}

.header-nav .sub-menu li a {
    padding: 15.5px 10px 15.5px calc(10px + 0.1em);
    padding: 0.969vw 0.625vw 0.969vw calc(0.625vw + 0.1em);
    color: #fff;
}

.header-nav .sub-menu li:hover>a {
    color: #000;
}


/*** Fixed Header ***/

.header.fixed {
    position: fixed;
    opacity: 0;
    transform: translateY(-100%);
    transition: all 0.3s ease-in-out;
}

.header.fixed.show-fixed {
    opacity: 1;
    transform: translateY(0);
}


/*** Off Canvas ***/

.off-canvas-trigger {
    display: flex;
    flex-flow: column;
    justify-content: center;
    align-items: center;
    width: 35px;
    width: 2.188vw;
    cursor: pointer;
    margin: 0 0 0 45px;
    margin: 0 0 0 2.813vw;
}

.off-canvas-trigger i {
    display: block;
    width: 100%;
    height: 2px;
    height: 0.125vw;
    background: rgba(var(--primary), 1);
    transition: all 0.3s ease-in-out;
}

.off-canvas-trigger i:not(:last-child) {
    margin: 0 0 8px;
    margin: 0 0 0.500vw;
}

.off-canvas-trigger:hover i {
    background: rgba(var(--secondary), 1);
}

.off-canvas-backdrop {
    width: 100%;
    height: 100%;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 1001;
    pointer-events: none;
    transition: all 0.3s ease-in-out;
}

.off-canvas-backdrop.off-canvas-open {
    pointer-events: auto;
}

.off-canvas-backdrop::before {
    content: '';
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    background: #000;
    opacity: 0;
    transition: all 0.3s ease-in-out;
}

.off-canvas-backdrop.off-canvas-open::before {
    opacity: 0.75;
}

.off-canvas {
    width: 100%;
    max-width: 966px;
    max-width: 60.375vw;
    height: 100%;
    max-height: 530px;
    max-height: 33.125vw;
    position: fixed;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 1002;
    pointer-events: none;
    opacity: 0;
    transform: translateY(-100%);
    transition: all 0.3s ease-in-out;
    margin: auto;
    box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.5);
    box-shadow: 0 0 0.625vw 0 rgba(0, 0, 0, 0.5);
    background: #3590e6;
}

.off-canvas.off-canvas-open {
    pointer-events: auto;
    opacity: 1;
    transform: translateY(0);
}

.off-canvas-inner {
    position: relative;
    padding: 10px;
    /*    padding: 0.625vw;*/
    padding: 10px;
    height: 100%;
}

.off-canvas-close {
    display: flex;
    flex-flow: column;
    justify-content: center;
    align-items: center;
    position: absolute;
    top: 40px;
    top: 2.500vw;
    right: 40px;
    right: 2.500vw;
    z-index: 100;
    cursor: pointer;
    transition: all 0.3s ease-in-out;
}

.off-canvas-close i {
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 35px;
    font-size: 2.188vw;
    color: rgba(var(--secondary), 1);
    transition: all 0.3s ease-in-out;
}

.off-canvas-close:hover i {
    color: rgba(var(--tertiary), 1);
}

.off-canvas-bg {
    background: rgba(var(--primary), 1);
}

.off-canvas-bg::before {
    content: '';
    width: 100%;
    height: 100%;
    border: 10px solid rgba(53, 144, 230, 0.85);
    /*    border: 0.625vw solid rgba(53, 144, 230, 0.85);*/
    border: 10px solid rgba(53, 144, 230, 0.85);
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
}

.off-canvas-logo-contact-navigation {
    display: flex;
    flex-flow: row wrap;
    position: relative;
    z-index: 1;
    height: 100%;
}

.off-canvas-logo-contact {
    display: flex;
    flex-flow: column;
    justify-content: center;
    align-items: center;
    width: 38.162%;
    padding: 30px;
    padding: 1.875vw;
    background: rgba(255, 255, 255, 0.95);
}

.off-canvas-logo {
    margin: 0 0 54px;
    margin: 0 0 3.375vw;
}

.off-canvas-logo-inner {}

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

.off-canvas-logo-inner a img {
    width: 208px;
    width: 13vw;
    margin: 0 auto;
}

.off-canvas-logo-inner a img:last-child {
    margin-top: 1.25em;
    width: 20vw;
}

.off-canvas-contact {}

.off-canvas-contact-inner {}

.off-canvas-contact-inner a {
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 16px;
    font-size: 1vw;
    font-weight: 600;
    letter-spacing: 0.05em;
    line-height: 1.75;
    color: #616161;
    text-align: center;
}

.off-canvas-contact-inner a:not(:last-child) {
    margin: 0 0 10px;
    margin: 0 0 0.625vw;
}

.off-canvas-contact-inner a:hover {
    color: rgba(var(--secondary), 1);
}

.off-canvas-contact-inner a i {
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 14px;
    font-size: 0.875vw;
    color: rgba(var(--primary), 1);
    margin: 0 13px 0 0;
    margin: 0 0.813vw 0 0;
    overflow: hidden;
}

.off-canvas-contact-inner a i.ai-font-envelope {
    font-size: 12px;
    font-size: 0.750vw;
}

.off-canvas-contact-inner a i.ai-font-location-c {
    font-size: 22px;
    font-size: 1.375vw;
    top: -11px;
    top: -0.688vw;
    max-width: 14px;
    max-width: 0.875vw;
}

.off-canvas-navigation {
    display: flex;
    flex-flow: column;
    justify-content: center;
    align-items: center;
    width: 61.838%;
    padding: 30px 73px;
    padding: 1.875vw 4.563vw;
    background: rgba(var(--primary), 0.95);
}

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

.off-canvas-nav {
    display: flex;
    flex-flow: column wrap;
    justify-content: center;
    align-content: space-between;
    max-height: 340px;
    max-height: 21.250vw;
    margin: 44px 0 0;
    margin: 2.750vw 0 0;
}

.off-canvas-nav li {
    max-width: 50%;
    margin: 0 0 44px;
    margin: 0 0 2.750vw;
}

.off-canvas-nav li a {
    display: block;
    font-size: 28px;
    font-size: 1.750vw;
    font-weight: 900;
    letter-spacing: 0.1em;
    line-height: 1.071;
    color: #fff;
    text-transform: uppercase;
}

.off-canvas-nav li:hover a {
    color: rgba(var(--secondary), 1);
}

body.off-canvas-open {
    overflow: hidden;
}


/*** Site Title ***/

.site-title {
    display: flex;
}

.site-title.center {
    justify-content: center;
}

.site-title span {
    display: block;
    font-size: 14px;
    font-size: 0.875vw;
    font-weight: 600;
    letter-spacing: 0.8em;
    color: #616161;
    text-transform: uppercase;
    margin: 0 0 4px;
    margin: 0 0 0.250vw;
}

.site-title.light span {
    color: #fff;
}

.site-title h2 {
    font-size: 65px;
    font-size: 4.063vw;
    font-weight: 400;
    letter-spacing: 0.02em;
    line-height: 1;
    color: rgba(var(--primary), 1);
    text-transform: uppercase;
    position: relative;
    padding: 0 0 0 17px;
    padding: 0 0 0 1.063vw;
}

.site-title.light h2 {
    color: #fff;
}

.site-title h2::before {
    content: '';
    width: 3px;
    width: 0.188vw;
    height: 100%;
    background: rgba(var(--secondary), 1);
    opacity: 0.5;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
}


/*** Site Button ***/

.site-button {
    display: flex;
    position: relative;
    max-width: 100%;
}

.site-button.center {
    justify-content: center;
}

.site-button a,
.site-button button {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 180px;
    width: 11.250vw;
    height: 54px;
    height: 3.375vw;
    background: transparent;
    border: none;
    font-size: 13px;
    font-size: 0.813vw;
    font-weight: 400;
    letter-spacing: 0.3em;
    color: #616161;
    text-align: center;
    text-transform: uppercase;
    padding: 0 0 0 0.3em;
    position: relative;
}

.site-button.light a,
.site-button.light button {
    color: #fff;
}

.site-button a:hover,
.site-button button:hover {
    color: #000;
}

.site-button a::after,
.site-button button::after {
    content: '';
    width: 100%;
    height: 3px;
    height: 0.188vw;
    background: rgba(var(--primary), 1);
    position: absolute;
    bottom: 0;
    left: 0;
    transition: all 0.3s ease-in-out;
}

.site-button.light a::after,
.site-button.light button::after {
    background: rgba(var(--secondary), 1);
}

.site-button a:hover::after,
.site-button button:hover::after {
    height: 100%;
    background: rgba(var(--secondary), 1);
}

.site-button a span,
.site-button button span {
    display: block;
    position: relative;
    z-index: 1;
}

.site-button a span br,
.site-button button span br {
    display: none;
}

.site-button a i,
.site-button button i {
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 10px;
    font-size: 0.625vw;
    font-weight: 700;
    margin: 0 0 0 10px;
    margin: 0 0 0 0.625vw;
    position: relative;
    z-index: 1;
}


/*** Slideshow ***/

#hp-ss-tagline {
    position: relative;
}

.hp-ss {}

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

.hp-ss-overlay {
    /* content: ''; */
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: top center;
    background-repeat: no-repeat;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
}

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

.hp-ss-inner .aios-slider {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

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


/*** Tagline ***/

.hp-tagline {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
    padding: 0 30px;
    padding: 0 1.875vw;
}

.hp-tagline-inner {
    padding: 10% 0 0;
}

.hp-tagline-inner span {
    display: block;
    font-size: 26px;
    font-size: 1.625vw;
    font-weight: 600;
    letter-spacing: 0.5em;
    color: #fff;
    text-align: center;
    text-transform: uppercase;
    padding: 0 0 0 0.5em;
    margin: 0 0 7px;
    margin: 0 0 0.438vw;
    text-shadow: 1px 2px 5px rgba(0, 0, 0, 0.3);
    text-shadow: 0.063vw 0.125vw 0.313vw rgba(0, 0, 0, 0.3);
}

.hp-tagline-inner h2 {
    font-size: 75px;
    font-size: 4.688vw;
    font-weight: 400;
    letter-spacing: 0.05em;
    line-height: 1;
    color: #fff;
    text-align: center;
    text-transform: uppercase;
    padding: 0 0 0 0.05em;
    text-shadow: 1px 2px 5px rgba(0, 0, 0, 0.3);
    text-shadow: 0.063vw 0.125vw 0.313vw rgba(0, 0, 0, 0.3);
}

.hp-tagline-inner a {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 255px;
    width: 15.938vw;
    height: 48px;
    height: 3vw;
    background: rgba(var(--tertiary), 1);
    font-size: 14px;
    font-size: 0.875vw;
    font-weight: 600;
    letter-spacing: 0.2em;
    color: #fff;
    text-align: center;
    text-transform: uppercase;
    padding: 0 0 0 0.2em;
    margin: 31px auto 0;
    margin: 1.938vw auto 0;
}

.hp-tagline-inner a:hover {
    background: rgba(var(--secondary), 1);
    color: #000;
}


/*** Featured Listings ***/

#hp-fl {
    position: relative;
    z-index: 1;
    background: #fff;
}

.hp-fl {
    padding: 0 30px;
    padding: 0 1.875vw;
}

.hp-fl-inner {
    max-width: 1140px;
    max-width: 71.250vw;
    margin: 0 auto;
    padding: 86px 0 85px;
    padding: 5.375vw 0 5.313vw;
    position: relative;
}

.fl-pattern {
    width: calc(100% + calc(100vw - 100%));
    bottom: 358px;
    bottom: 22.375vw;
    left: calc(calc(-100vw + 100%) / 2);
    background: #fff;
}

.fl-pattern canvas {
    opacity: 0.1;
}

.hp-fl-inner .site-title {
    position: relative;
    z-index: 1;
    margin: 0 0 29px;
    margin: 0 0 1.813vw;
}

.fl-slider {
    position: relative;
    z-index: 1;
}

.fl-slides {}

.fl-slides .slick-slide>div {
    display: flex !important;
    flex-flow: row wrap;
    margin: 0 -1px;
    margin: 0 -0.063vw;
}

.fl-slide {
    padding: 1px;
    padding: 0.063vw;
}

.fl-slides .slick-slide>div .fl-slide:nth-child(1),
.fl-slides .slick-slide>div .fl-slide:nth-child(4) {
    width: 58.67% !important;
}

.fl-slides .slick-slide>div .fl-slide:nth-child(2),
.fl-slides .slick-slide>div .fl-slide:nth-child(3) {
    width: 41.33% !important;
}

.fl-slide a {
    display: block;
    height: 100%;
}

.fl-slide-inner {
    position: relative;
    height: 100%;
    overflow: hidden;
}

.fl-photo {
    height: 100%;
}

.fl-photo canvas {
    display: block;
    width: 100%;
    height: 100%;
}

.fl-slides .slick-slide>div .fl-slide:nth-child(1) .fl-photo canvas.canvas-2,
.fl-slides .slick-slide>div .fl-slide:nth-child(4) .fl-photo canvas.canvas-2 {
    display: none;
}

.fl-slides .slick-slide>div .fl-slide:nth-child(2) .fl-photo canvas.canvas-1,
.fl-slides .slick-slide>div .fl-slide:nth-child(3) .fl-photo canvas.canvas-1 {
    display: none;
}

.fl-info-button {
    display: flex;
    flex-flow: column;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
    opacity: 0;
    transform: scale(0);
    transition: all 0.3s ease-in-out;
}

.fl-slide a:hover .fl-info-button {
    opacity: 1;
    transform: scale(1);
}

.fl-info {
    width: calc(100% - 30px);
    width: calc(100% - 1.875vw);
    max-width: 404px;
    max-width: 25.250vw;
    transition: all 0.3s ease-in-out;
    position: relative;
}

.fl-slide-inner>.fl-info {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 1;
    margin: auto;
    padding: 16px 15px 15px;
    padding: 1vw 0.938vw 0.938vw;
}

.fl-slide a:hover .fl-slide-inner>.fl-info {
    opacity: 0;
    transform: translateY(100%);
}

.fl-info-button .fl-info {
    padding: 23px 15px 31px;
    padding: 1.438vw 0.938vw 1.938vw;
}

.fl-info::before {
    content: '';
    width: 100%;
    height: calc(100% - 4px);
    height: calc(100% - 0.250vw);
    background: rgba(var(--primary), 0.9);
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
}

.fl-info::after {
    content: '';
    width: 100%;
    height: 4px;
    height: 0.250vw;
    background: rgba(53, 144, 229, 0.9);
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: 1;
}

.fl-price {
    position: relative;
    z-index: 1;
    margin: 0 0 4px;
    margin: 0 0 0.250vw;
}

.fl-price span {
    display: block;
    font-size: 30px;
    font-size: 1.875vw;
    font-weight: 500;
    letter-spacing: 0.02em;
    color: #fff;
    text-align: center;
    padding: 0 0 0 0.02em;
}

.fl-address {
    position: relative;
    z-index: 1;
}

.fl-address span {
    display: block;
    font-size: 17px;
    font-size: 1.063vw;
    font-weight: 400;
    letter-spacing: 0.02em;
    color: #fff;
    text-align: center;
    padding: 0 0 0 0.02em;
}

.fl-bbs {
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    z-index: 1;
    margin: 17px 0 0;
    margin: 1.063vw 0 0;
}

.fl-bbs span {
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 14px;
    font-size: 0.875vw;
    font-weight: 400;
    letter-spacing: 0.02em;
    color: #fff;
    text-align: center;
    padding: 0 0 0 0.02em;
}

.fl-bbs span:not(:last-child)::after {
    content: '/';
    margin: 0 7px;
    margin: 0 0.438vw;
}

.fl-button {}

.fl-button span {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 222px;
    width: 13.875vw;
    height: 54px;
    height: 3.375vw;
    background: rgba(var(--secondary), 1);
    font-size: 13px;
    font-size: 0.813vw;
    font-weight: 400;
    letter-spacing: 0.3em;
    color: #000;
    text-align: center;
    text-transform: uppercase;
    padding: 0 0 0 0.3em;
}

.fl-button span i {
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 10px;
    font-size: 0.625vw;
    font-weight: 700;
    margin: 0 0 0 10px;
    margin: 0 0 0 0.625vw;
}

.hp-fl-inner .site-button {
    position: relative;
    z-index: 1;
    margin: 35px 0 0;
    margin: 2.188vw 0 0;
}

.hp-fl-inner .site-button a {
    width: 278px;
    width: 17.375vw;
}


/*** About ***/

#hp-about {
    position: relative;
    z-index: 1;
    background: #fff;
}

.hp-about {
    padding: 0 30px;
    padding: 0 1.875vw;
}

.hp-about-inner {
    display: flex;
    flex-flow: row wrap;
    max-width: 1478px;
    max-width: 92.375vw;
    margin: 0 auto;
    padding: 0 0 88px;
    padding: 0 0 5.500vw;
    position: relative;
}

.about-pattern {
    width: calc(100% + calc(100vw - 100%));
    top: 45px;
    top: 2.813vw;
    left: calc(calc(-100vw + 100%) / 2);
    background: #fff;
}

.about-pattern canvas {
    opacity: 0.1;
}

.about-accent {
    width: calc(calc(100vw - 100%) / 2);
    height: auto;
    top: 45px;
    top: 2.813vw;
    bottom: 176px;
    bottom: 11vw;
    left: auto;
    right: calc(calc(-100vw + 100%) / 2);
    background: #5d2b51;
}

.about-accent canvas {
    background-position: top right;
    background-attachment: scroll;
    /* opacity: 0.25; */
    background-color: #650640;
    background-image: none !important;
}

.about-photo {
    width: calc(48.986% + calc(calc(100vw - 100%) / 2));
    margin: 0 0 0 calc(calc(-100vw + 100%) / 2);
    position: relative;
    z-index: 1;
    background: #fff;
}

.about-photo canvas {
    background-size: contain;
    background-position: bottom center;
}

.about-photo img {
    object-fit: contain;
    object-position: bottom center;
    left: -17px;
    left: -1.063vw;
}

.about-title-text-button {
    width: 51.014%;
    padding: 102px 52px 0 75px;
    padding: 6.375vw 3.250vw 0 4.688vw;
    background: #fff;
    box-shadow: 15px 26px 30px 0 rgba(0, 0, 0, 0.05);
    box-shadow: 0.938vw 1.625vw 1.875vw 0 rgba(0, 0, 0, 0.05);
    position: relative;
    z-index: 1;
}

.about-title-text-button .site-title {
    margin: 0 0 27px;
    margin: 0 0 1.688vw;
}

.about-text {
    padding: 0 0 0 23px;
    padding: 0 0 0 1.438vw;
}

.about-text p {
    font-size: 16px;
    font-size: 1vw;
    font-weight: 300;
    letter-spacing: 0.02em;
    line-height: 1.75;
    color: #616161;
}

.about-title-text-button .site-button {
    padding: 0 0 0 23px;
    padding: 0 0 0 1.438vw;
    margin: 17px 0 0;
    margin: 1.063vw 0 0;
}


/*** Call To Actions ***/

#hp-ctas {
    position: relative;
    z-index: 2;
    background: #fff;
}

.hp-ctas {}

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

.ctas-pattern {
    background: #fff;
}

.ctas-pattern canvas {
    opacity: 0.1;
}

.ctas {
    display: flex;
    flex-flow: row wrap;
    margin: 0 -1px;
    margin: 0 -0.063vw;
    position: relative;
    z-index: 1;
}

.cta {
    width: 33.33%;
    padding: 0 1px;
    padding: 0 0.063vw;
}

.cta a {
    display: block;
}

.cta-inner {
    position: relative;
}

.cta-photo {}

.cta-photo::before {
    content: '';
    width: 100%;
    height: 100%;
    background: #000;
    opacity: 0.5;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2;
    transition: all 0.3s ease-in-out;
}

.cta a:hover .cta-photo::before {
    background: #602c53;
    opacity: 0.95;
}

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

.cta-title {
    display: flex;
    flex-flow: column;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2;
}

.cta-title::after {
    content: '';
    width: 51px;
    width: 3.188vw;
    height: 3px;
    height: 0.188vw;
    background: rgba(var(--secondary), 1);
    margin: 9px 0 0;
    margin: 0.563vw 0 0;
}

.cta-title span {
    display: block;
    font-size: 14px;
    font-size: 0.875vw;
    font-weight: 600;
    letter-spacing: 0.8em;
    color: #fff;
    text-align: center;
    text-transform: uppercase;
    padding: 0 0 0 0.8em;
    margin: 0 0 3px;
    margin: 0 0 0.188vw;
}

.cta-title h2 {
    font-size: 30px;
    font-size: 1.875vw;
    font-weight: 400;
    letter-spacing: 0.04em;
    color: #fff;
    text-align: center;
    text-transform: uppercase;
    padding: 0 0 0 0.04em;
}


/*** Areas ***/

#hp-areas {
    position: relative;
    z-index: 1;
    background: #fff;
}

.hp-areas {
    padding: 0 30px;
    padding: 0 1.875vw;
}

.hp-areas-inner {
    display: flex;
    flex-flow: row wrap;
    max-width: 1478px;
    max-width: 92.375vw;
    margin: 0 auto;
    padding: 164px 0 160px;
    padding: 10.250vw 0 10vw;
    position: relative;
}

.areas-bg {
    width: calc(100% + calc(100vw - 100%));
    left: calc(calc(-100vw + 100%) / 2);
    background: #fff;
}

.areas-bg canvas {
    opacity: 0.1;
}

.areas-photo {
    width: calc(100% + calc(100vw - 100%));
    top: 103px;
    top: 6.438vw;
    bottom: 99px;
    bottom: 6.188vw;
    left: calc(calc(-100vw + 100%) / 2);
    background: #fff;
}

.areas-photo::before {
    content: '';
    width: 100%;
    height: 100%;
    background: rgba(var(--primary), 1);
    opacity: 0.2;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
}

.areas-photo::after {
    content: '';
    width: 100%;
    height: 100%;
    background-image: url('images/areas-overlay.png');
    background-size: cover;
    background-position: bottom center;
    background-repeat: no-repeat;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
}

.areas-photo canvas {
    background-attachment: scroll;
}

.areas-title-text-button {
    width: 100%;
    max-width: 718px;
    max-width: 44.875vw;
    background: rgba(var(--primary), 0.9);
    padding: 53px 58px 66px;
    padding: 3.313vw 3.625vw 4.125vw;
    position: relative;
    z-index: 1;
}

.areas-title-text-button .site-title {
    margin: 0 0 35px;
    margin: 0 0 2.188vw;
}

.areas-text {
    max-width: 460px;
    max-width: 28.750vw;
    padding: 0 0 0 15px;
    padding: 0 0 0 0.938vw;
}

.areas-text p {
    font-size: 16px;
    font-size: 1vw;
    font-weight: 300;
    letter-spacing: 0.02em;
    line-height: 1.75;
    color: #fff;
}

.areas-title-text-button .site-button {
    padding: 0 0 0 15px;
    padding: 0 0 0 0.938vw;
    margin: 40px 0 0;
    margin: 2.500vw 0 0;
}

.areas-title-text-button .site-button a {
    width: 322px;
    width: 20.125vw;
}


/*** Client Reviews ***/

#hp-cr {
    position: relative;
    z-index: 1;
    background: #fff;
}

.hp-cr {
    padding: 0 30px;
    padding: 0 1.875vw;
}

.hp-cr-inner {
    display: flex;
    flex-flow: row wrap;
    justify-content: flex-end;
    align-items: flex-start;
    max-width: 1478px;
    max-width: 92.375vw;
    margin: 0 auto;
    padding: 0 0 89px;
    padding: 0 0 5.563vw;
    position: relative;
}

.cr-pattern {
    width: calc(100% + calc(100vw - 100%));
    top: 55px;
    top: 3.438vw;
    left: calc(calc(-100vw + 100%) / 2);
    background: #fff;
}

.cr-pattern canvas {
    opacity: 0.1;
}

.cr-bg {
    width: calc(53.654% + calc(100vw - 100%));
    bottom: 185px;
    bottom: 11.563vw;
    left: calc(calc(-100vw + 100%) / 2);
    background: #fff;
}

.cr-bg-overlay {
    width: 100%;
    height: 100%;
    /* background-image: url('images/cr-overlay.png'); */
    background-size: 915px auto;
    background-size: 57.188vw auto;
    background-position: top left;
    background-repeat: no-repeat;
    background-attachment: fixed;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
}

.cr-bg canvas {
    background-size: 915px auto;
    background-size: 57.188vw auto;
    background-position: center left;
}

.cr-accent {
    width: calc(24.764% + calc(calc(100vw - 100%) / 2));
    height: auto;
    bottom: 89px;
    bottom: 5.563vw;
    left: auto;
    right: calc(calc(-100vw + 100%) / 2);
    background: #5d2b51;
}

.cr-accent canvas {
    background-position: top right;
    background-attachment: scroll;
    /* opacity: 0.25; */
    background-color: #650640;
    background-image: none !important;
}

.cr-title-slider-button-arrows {
    width: 41.746%;
    background: #fff;
    padding: 123px 70px 132px 74px;
    padding: 7.688vw 4.375vw 8.250vw 4.625vw;
    box-shadow: 15px 26px 30px 0 rgba(0, 0, 0, 0.05);
    box-shadow: 0.938vw 1.625vw 1.875vw 0 rgba(0, 0, 0, 0.05);
    position: relative;
    z-index: 1;
}

.cr-title-slider-button-arrows .site-title {
    margin: 0 0 27px;
    margin: 0 0 1.688vw;
}

.cr-slider {
    padding: 0 0 0 22px;
    padding: 0 0 0 1.375vw;
}

.cr-slides {}

.cr-slide {}

.cr-slide-inner {}

.cr-text {}

.cr-text p {
    font-size: 16px;
    font-size: 1vw;
    font-weight: 300;
    letter-spacing: 0.02em;
    line-height: 1.75;
    color: #616161;
}

.cr-title {
    margin: 31px 0 0;
    margin: 1.938vw 0 0;
}

.cr-title h2 {
    font-size: 18px;
    font-size: 1.125vw;
    font-weight: 600;
    letter-spacing: 0.02em;
    color: rgba(var(--primary), 1);
    text-transform: uppercase;
}

.cr-button-arrows {
    display: flex;
    flex-flow: row wrap;
    justify-content: space-between;
    align-items: center;
    padding: 0 0 0 22px;
    padding: 0 0 0 1.375vw;
    margin: 40px 0 0;
    margin: 2.500vw 0 0;
}

.cr-button-arrows .site-button {}

.cr-arrows {
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0 -10px 0 0;
    margin: 0 -0.625vw 0 0;
}

.cr-arrows::before {
    content: '';
    width: 1px;
    width: 0.063vw;
    height: 32px;
    height: 2vw;
    background: rgba(var(--primary), 1);
    margin: 0 10px;
    margin: 0 0.625vw;
    transform: rotate(25deg);
}

.cr-arrows a {
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 13px;
    font-size: 0.813vw;
    font-weight: 400;
    letter-spacing: 0.3em;
    color: #616161;
    text-align: center;
    text-transform: uppercase;
}

.cr-arrows a:hover {
    color: rgba(var(--secondary), 1);
}

.cr-arrows a.prev {
    order: -1;
}

.cr-arrows a span {
    padding: 0 0 0 0.3em;
}

.cr-arrows a i {
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 10px;
    font-size: 0.625vw;
    font-weight: 700;
    margin: 0 10px;
    margin: 0 0.625vw;
    position: relative;
    z-index: 1;
}

.cr-photo {
    width: 42.22%;
    margin: 55px 0 0;
    margin: 3.438vw 0 0;
    z-index: 1;
}


/*** Social Media ***/

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

.hp-sm {
    padding: 0 30px;
    padding: 0 1.875vw;
}

.hp-sm-inner {
    display: flex;
    flex-flow: row wrap;
    justify-content: flex-end;
    max-width: 1332px;
    max-width: 83.250vw;
    margin: 0 auto;
    padding: 82px 0 81px;
    padding: 5.125vw 0 5.063vw;
    position: relative;
}

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

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

.sm-bg canvas {
    filter: grayscale(1);
}

.sm-slider {
    width: 56.382%;
    position: relative;
    z-index: 1;
}

.sm-slides {
    display: flex;
    flex-flow: row wrap;
    margin: 0 -7px;
    margin: 0 -0.438vw;
}

.sm-slide {
    width: 33.33%;
    padding: 7px;
    padding: 0.438vw;
}

.sm-slide a {
    display: block;
}

.sm-slide-inner {}

.sm-photo {}

.sm-slide a:hover .sm-photo img {
    transform: scale(1.2);
}

.sm-title-profile-smis {
    width: 36.487%;
    padding: 65px 0 0 79px;
    padding: 4.063vw 0 0 4.938vw;
    position: relative;
    z-index: 1;
}

.sm-title-profile-smis .site-title {
    margin: 0 0 30px;
    margin: 0 0 1.875vw;
}

.sm-profile {
    display: flex;
    align-items: flex-start;
    padding: 0 0 0 19px;
    padding: 0 0 0 1.188vw;
}

.sm-profile-photo {
    width: 100%;
    max-width: 75px;
    max-width: 4.688vw;
    background: #fff;
    border-radius: 50%;
    box-shadow: 1px 2px 5px 0 rgba(0, 0, 0, 0.35);
    box-shadow: 0.063vw 0.125vw 0.313vw 0 rgba(0, 0, 0, 0.35);
}

.sm-profile-info {
    display: flex;
    flex-grow: 1;
    flex-flow: row wrap;
    padding: 9px 0 0 20px;
    padding: 0.563vw 0 0 1.250vw;
}

.sm-profile-info h2 {
    width: 100%;
    font-size: 22px;
    font-size: 1.375vw;
    font-weight: 500;
    letter-spacing: 0.02em;
    color: rgba(var(--primary), 1);
    margin: 0 0 6px;
    margin: 0 0 0.375vw;
}

.sm-profile-info span {
    display: block;
    font-size: 13px;
    font-size: 0.813vw;
    font-weight: 400;
    letter-spacing: 0.02em;
    color: #616161;
}

.sm-profile-info span:not(:last-child) {
    margin: 0 18px 0 0;
    margin: 0 1.125vw 0 0;
}

.sm-smis {
    display: flex;
    flex-flow: row wrap;
    align-items: center;
    padding: 0 0 0 19px;
    padding: 0 0 0 1.188vw;
    margin: 44px 0 0;
    margin: 2.750vw 0 0;
}

.sm-smis h2 {
    width: 100%;
    font-size: 14px;
    font-size: 0.875vw;
    font-weight: 600;
    letter-spacing: 0.25em;
    line-height: 1.357;
    color: #616161;
    text-transform: uppercase;
    margin: 0 0 20px;
    margin: 0 0 1.250vw;
}

.sm-smis a {
    display: block;
    color: rgba(var(--primary), 1);
}

.sm-smis a:not(:last-child) {
    margin: 0 21px 0 0;
    margin: 0 1.313vw 0 0;
}

.sm-smis a:hover {
    color: rgba(var(--secondary), 1);
}

.sm-smis a i {
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 26px;
    font-size: 1.625vw;
}

.sm-smis a i.ai-font-youtube {
    font-size: 30px;
    font-size: 1.875vw;
}


/*** Get In Touch ***/

#hp-git {
    position: relative;
    z-index: 1;
    background: #000;
}

.page-id-0 #hp-git {
    z-index: 0;
}

.hp-git {
    padding: 0 30px;
    padding: 0 1.875vw;
}

.hp-git-inner {
    display: flex;
    flex-flow: row wrap;
    max-width: 1170px;
    max-width: 73.125vw;
    margin: 0 auto;
    padding: 89px 0;
    padding: 5.563vw 0;
    position: relative;
}

.git-bg {
    width: calc(100% + calc(100vw - 100%));
    left: calc(calc(-100vw + 100%) / 2);
    background: #602c53;
}

.git-bg canvas {
    opacity: 0.1;
}

.git-title-text {
    width: 31.965%;
    padding: 16px 0 0;
    padding: 1vw 0 0;
    position: relative;
    z-index: 1;
}

.git-title-text .site-title {
    margin: 0 0 19px;
    margin: 0 0 1.188vw;
}

.git-text {
    max-width: 280px;
    max-width: 17.500vw;
    padding: 0 0 0 24px;
    padding: 0 0 0 1.500vw;
}

.git-text p {
    font-size: 16px;
    font-size: 1vw;
    font-weight: 300;
    letter-spacing: 0.02em;
    line-height: 1.5;
    color: #fff;
}

.git-form {
    width: 68.035%;
    position: relative;
    z-index: 1;
}

.git-form-inner {}

.git-form-inputs {
    display: flex;
    flex-flow: row wrap;
    margin: 0 -8px;
    margin: 0 -0.500vw;
}

.git-form-input {
    width: 100%;
    padding: 0 8px;
    padding: 0 0.500vw;
}

.git-form-input:first-child {
    display: flex;
    align-items: center;
    margin: 0 0 31px;
    margin: 0 0 1.938vw;
}

.git-form-input:not(:first-child):not(:last-child) {
    width: 50%;
    margin: 0 0 34px;
    margin: 0 0 2.125vw;
}

.git-form-input>label {
    display: block;
    font-size: 13px;
    font-size: 0.813vw;
    font-weight: 500;
    letter-spacing: 0.22em;
    color: #fff;
    text-transform: uppercase;
}

.git-form-input:first-child>label {
    margin: 0 39px 0 0;
    margin: 0 2.438vw 0 0;
}

.git-form-input .wpcf7-form-control-wrap {
    flex-grow: 1;
    display: block;
}

.git-form-input input:not([type="radio"]),
.git-form-input textarea {
    display: block;
    width: 100%;
    height: auto;
    max-height: 50px;
    max-height: 3.125vw;
    resize: none;
    background: transparent;
    border: none;
    border-bottom: 1px solid #fff;
    border-bottom: 0.063vw solid #fff;
    font-size: 13px;
    font-size: 0.813vw;
    font-weight: 500;
    letter-spacing: 0.22em;
    color: #fff;
    text-transform: uppercase;
    padding: 7px 0;
    padding: 0.438vw 0;
    appearance: none;
}

.git-form-input .wpcf7-radio {
    display: flex;
    flex-flow: row wrap;
    margin: 0 -8px;
    margin: 0 -0.500vw;
}

.git-form-input .wpcf7-radio .wpcf7-list-item {
    display: block;
    width: 33.33%;
    padding: 0 8px;
    padding: 0 0.500vw;
    margin: 0;
}

.git-form-input .wpcf7-radio .wpcf7-list-item label {
    display: block;
}

.git-form-input .wpcf7-radio .wpcf7-list-item input {
    display: none;
}

.git-form-input .wpcf7-radio .wpcf7-list-item .wpcf7-list-item-label {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 49px;
    height: 3.063vw;
    border: 1px solid #fff;
    border: 0.063vw solid #fff;
    font-size: 13px;
    font-size: 0.813vw;
    font-weight: 500;
    letter-spacing: 0.22em;
    color: #fff;
    text-align: center;
    text-transform: uppercase;
    padding: 0 0 0 0.22em;
    transition: all 0.3s ease-in-out;
    cursor: pointer;
}

.git-form-input .wpcf7-radio .wpcf7-list-item .wpcf7-list-item-label:hover,
.git-form-input .wpcf7-radio .wpcf7-list-item input:checked+.wpcf7-list-item-label {
    background: rgba(var(--secondary), 1);
    border-color: rgba(var(--secondary), 1);
    color: #fff;
}

.git-form-button {
    display: flex;
    margin: 18px 0 0;
    margin: 1.125vw 0 0;
}

.git-form .wpcf7-spinner {
    position: absolute;
    top: 0;
    bottom: 0;
    left: calc(100% + 15px);
    left: calc(100% + 0.938vw);
    z-index: 1;
    margin: auto !important;
}

.git-form .wpcf7-response-output {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: auto;
    border-width: 1px !important;
    border-width: 0.063vw !important;
    font-size: 12px;
    font-size: 0.750vw;
    font-weight: 400;
    letter-spacing: 0.05em;
    color: #fff;
    text-align: center;
    text-transform: none;
    padding: 5px 15px !important;
    padding: 0.313vw 0.938vw !important;
    position: absolute;
    margin: 30px auto 0 !important;
    margin: 1.875vw auto 0 !important;
}

.git-form .wpcf7-not-valid-tip {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 200px;
    width: 12.500vw;
    max-width: 100%;
    height: 27px;
    height: 1.688vw;
    border-width: 1px !important;
    border-width: 0.063vw !important;
    font-size: 12px;
    font-size: 0.750vw;
    font-weight: 400;
    letter-spacing: 0.05em;
    color: #dc3232;
    text-align: center;
    text-transform: none;
    padding: 5px 15px !important;
    padding: 0.313vw 0.938vw !important;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 1;
    margin: auto;
}


/*** Footer ***/

.footer {
    position: relative;
    z-index: 1;
    background: #fff;
    padding: 0 30px;
    padding: 0 1.875vw;
}

.footer-inner {
    max-width: 1140px;
    max-width: 71.250vw;
    margin: 0 auto;
    padding: 107px 0 90px;
    padding: 6.688vw 0 5.625vw;
}

.footer-contact-logo-address {
    display: flex;
    flex-flow: row wrap;
    justify-content: center;
    align-items: center;
}

.footer-contact-logo-address>div {
    width: 33.33%;
    padding: 0 15px;
    padding: 0 0.938vw;
}

.footer-contact,
.footer-address {}

.footer-contact-inner,
.footer-address-inner {}

.footer-contact-inner a,
.footer-address-inner a {
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 16px;
    font-size: 1vw;
    font-weight: 600;
    letter-spacing: 0.05em;
    line-height: 1.75;
    color: #616161;
    text-align: center;
}

.footer-contact-inner a:hover,
.footer-address-inner a:hover {
    color: rgba(var(--secondary), 1);
}

.footer-contact-inner a i,
.footer-address-inner a i {
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 14px;
    font-size: 0.875vw;
    color: rgba(var(--primary), 1);
    margin: 0 13px 0 0;
    margin: 0 0.813vw 0 0;
    overflow: hidden;
}

.footer-contact-inner a i.ai-font-envelope,
.footer-address-inner a i.ai-font-envelope {
    font-size: 12px;
    font-size: 0.750vw;
}

.footer-contact-inner a i.ai-font-location-c,
.footer-address-inner a i.ai-font-location-c {
    font-size: 22px;
    font-size: 1.375vw;
    top: -11px;
    top: -0.688vw;
    max-width: 14px;
    max-width: 0.875vw;
}

.footer-logo {}

.footer-logo-inner {
    display: flex;
    justify-content: center;
    align-content: center;
}

.footer-logo-inner a {
    display: block;
}

.footer-logo-inner a img {
    width: 210px;
    width: 13.125vw;
    margin: 0 auto;
}

.footer-logo-inner a img:last-child {
    width: 18.75vw;
    margin-top: 1.25em;
}

.footer-smis {
    margin: 81px 0 0;
    margin: 5.063vw 0 0;
}

.footer-smis-inner {
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
}

.footer-smis-inner::before,
.footer-smis-inner::after {
    content: '';
    width: 100%;
    height: 1px;
    height: 0.063vw;
    background: rgba(var(--primary), 1);
}

.footer-smis-inner::before {
    margin: 0 30px 0 0;
    margin: 0 1.875vw 0 0;
}

.footer-smis-inner::after {
    margin: 0 0 0 30px;
    margin: 0 0 0 1.875vw;
}

.footer-smis-inner a {
    display: block;
    color: rgba(var(--primary), 1);
}

.footer-smis-inner a:not(:last-child) {
    margin: 0 20px 0 0;
    margin: 0 1.250vw 0 0;
}

.footer-smis-inner a:hover {
    color: rgba(var(--secondary), 1);
}

.footer-smis-inner a i {
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 23px;
    font-size: 1.438vw;
}

.footer-smis-inner a i.ai-font-youtube {
    font-size: 25px;
    font-size: 1.563vw;
}

.footer-accessibility {
    margin: 35px 0 0;
    margin: 2.188vw 0 0;
}

.footer-links {
    margin: 2vw 0;
}

.footer-links p,
.footer-accessibility p {
    font-size: 14px;
    font-size: 0.875vw;
    font-weight: 300;
    letter-spacing: 0.05em;
    line-height: 1.428;
    color: #616161;
    text-align: center;
    padding: 0 0 0 0.05em;
}

.footer-links p {
    margin: 1em 0;
}

.footer-links p span.gap {
    margin: 0 0.25em;
}

.footer-navigation {
    max-width: 950px;
    max-width: 59.375vw;
    margin: 32px auto 0;
    margin: 2vw auto 0;
}

.footer-nav {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.footer-nav li {}

.footer-nav li a {
    display: block;
    font-size: 14px;
    font-size: 0.875vw;
    font-weight: 900;
    letter-spacing: 0.15em;
    color: #616161;
    text-align: center;
    text-transform: uppercase;
}

.footer-nav li:hover a {
    color: rgba(var(--secondary), 1);
}

.footer-copyright {
    margin: 22px 0 0;
    margin: 1.375vw 0 0;
}

.footer-copyright p {
    font-size: 13px;
    font-size: 0.813vw;
    font-weight: 400;
    letter-spacing: 0.05em;
    line-height: 1.538;
    color: #616161;
    text-align: center;
    padding: 0 0 0 0.05em;
}

.footer-copyright p span {
    font-weight: 900;
    color: rgba(var(--primary), 1);
    text-transform: uppercase;
}


/*******************************************************
 *
 * 3. IP Styles
 *
 *******************************************************/

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

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

.ip-banner canvas {
    display: block;
    position: relative;
    z-index: 0;
    width: 100%;
    min-height: 250px;
    min-height: 15.625vw;
    background-color: #000;
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
}

.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;
    font-size: 2vw;
    text-align: center;
    color: #fff;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    line-height: 1.7;
}

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


/* Adjust minimum height of page area */

#content-sidebar,
#content-full {
    min-height: 500px;
    min-height: 31.250vw;
    margin: 20px 0 0;
    margin: 1.250vw 0 0;
}


/** 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: 0 15px;
    padding: 0 0.938vw;
}

.page-template-template-fullwidth #content ihf-search[data-eureka-id*=""].ihf-eureka {
    margin: 0 -15px;
    margin: 0 -0.938vw;
}


/* 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: 65px;
    font-weight: 400;
    letter-spacing: 0.02em;
    line-height: 1;
    color: rgba(var(--primary), 1);
    text-transform: uppercase;
    position: relative;
    margin: 20px 0;
}


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

#content .archive-subtitle {}



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-width: 0.313vw !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;
}

#inner-page-wrapper>.container {
    width: 1170px;
    width: 73.125vw;
    max-width: 100%;
    padding: 0 15px;
    padding: 0 0.938vw;
}

.slick-arrow.slick-hidden {
    display: none !important;
}

.ai-minimalist-column-agent-details {
    background-color: #2A74B8 !important;
}

body .aios-slider.aios-slider-template-default .aios-slider-splide .aios-slider-img,
body .aios-slider.aios-slider-template-default .splide__slide,
body .aios-slider.aios-slider-template-default .splide__track,
body .aios-slider.aios-slider-template-default .aios-slider-splide {
    height: 100%;
}

#content ul.ai-minimalist-contact-details {
    margin-left: 0;
}


.ai-minimalist-wrapper .site-button a {
    width: 270px;
    max-width: 100%;
    height: 54px;
    font-size: 13px;
}

.ai-minimalist-wrapper .site-button a i {
    font-size: 10px;
    margin: 0 0 0 10px;
}

.ai-minimalist-wrapper .site-button a::after {
    height: 3px;
}

.ai-minimalist-wrapper .site-button a:hover::after {
    height: 100%;
}


body ul.ai-minimalist-contact-details li {
    padding: 0;
}

body ul.ai-minimalist-contact-details li:not(:last-child) {
    padding-bottom: 25px;
}


body #content .ai-minimalist-column-content-left .entry-title {
    color: #2a74b8;
}

body .ai-minimalist-wrapper {
    padding-top: 30px;
}

body.ip-container {
    font-size: 16px;
}

#content .entry {
    font-size: 16px;
}

body.archive #content .archive-thumbnail a img {
    height: 255px;
    object-fit: cover;
}

a[href="#"],
/*.hp-fl-inner .site-button a,*/
/*
.cta a,
.areas-title-text-button .site-button a,
*/
.footer-copyright a:first-of-type {
    /* pointer-events: none !important; */
}

a.slick-arrow {
    pointer-events: auto !important;
}

.header-nav li.menu-item-35:hover>.sub-menu {
    opacity: 0;
    visibility: hidden;
    transform: none;
}

.menu-item-35 a,
.menu-item-38 a,
.menu-item-31 a,
.menu-item-33 a,
.menu-item-39 a,
.menu-item-122 a {
    pointer-events: none;
    color: #616161 !important;
}

.off-canvas-nav .menu-item-35 a,
.off-canvas-nav .menu-item-38 a,
.off-canvas-nav .menu-item-31 a,
.off-canvas-nav .menu-item-33 a,
.off-canvas-nav .menu-item-39 a,
.off-canvas-nav .menu-item-122 a {
    color: #fff !important;
}

.ihf-details-template #listings-details .listings-cta>li>a.button-legacy {
    pointer-events: auto !important;
}

.ihf-details-template #ihf-main-container.ihf-modal-container .modal input[type="password"] {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    outline: none !important;
    box-shadow: none !important;
    display: block;
    width: 100%;
    height: 40px;
    font-size: 15px;
    font-weight: 400;
    border: none !important;
    border-bottom-width: medium;
    border-bottom-style: none;
    border-bottom-color: currentcolor;
    border-bottom: 1px solid #a5a5a5 !important;
    border-radius: 0 !important;
    padding: 0 !important;
    color: #636363;
    -webkit-box-shadow: none;
    box-shadow: none;
    background: none;
}


/* post launch  */

body.page-id-27 #content ul.ai-minimalist-contact-details li:hover a,
body.page-id-20 .ai-minimalist-column-agent-details div a:hover,
body.page-id-27 .ai-minimalist-column-agent-details div a:hover {
    color: rgba(var(--secondary), 1);
}

.aios-custom-ihomefinder-results-template #content-full .entry-title {
    margin-left: 0 !important;
    padding: 0 !important;
}

.aios-custom-ihomefinder-template-credits {
    padding-bottom: 30px;
}

#listings-results .listings-top a[href="#"] {
    pointer-events: auto !important;
}


#ihf-main-container.ihf-modal-container .modal input[type=password] {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    outline: none !important;
    box-shadow: none !important;
    display: block;
    width: 100%;
    height: 40px;
    font-size: 15px;
    font-weight: 400;
    border: none !important;
    border-bottom: 1px solid #a5a5a5 !important;
    border-radius: 0 !important;
    padding: 0 !important;
    color: #636363;
    -webkit-box-shadow: none;
    box-shadow: none;
    background: none;
}

.aios-custom-ihomefinder-printable-template #breadcrumbs {
    display: none !important;
}

.safari-true .bg-wrapper canvas {
    background-attachment: scroll;
}

/* #footer:not(.loaded),
main section:not(#hp-ss-tagline):not(.loaded):not(#hp-fl) {
    display: none !important;
} */

.off-canvas-navigation .menu-contact-menu-container {
    width: 100%;
}

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

.aiosp-ref-\#popup {}

.aiosp-ref-\#popup .aios-popup-body {
    max-width: 900px;
    padding: 0 !important;
    min-height: auto !important;
}

.aiosp-ref-\#popup .aiosp-close {
    visibility: hidden;
}

.popup {}

.popup-inner {
    display: flex;
    flex-flow: row wrap;
    align-items: center;
}

.popup-close {
    position: absolute;
    top: 20px;
    right: 20px;
    z-index: 10;
    cursor: pointer;
    visibility: visible !important;
}

.popup-close i {
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 20px;
}

.popup-photo {
    width: 50%;
}

.popup-title-form {
    width: 50%;
    padding: 30px;
}

.popup-title {
    margin: 0 0 20px;
}

.popup-title span {
    display: block;
    font-size: 30px;
    font-weight: 400;
    letter-spacing: 0.02em;
    text-align: center;
    text-transform: uppercase;
    margin: 0 0 10px;
}

.popup-title p {
    font-size: 16px;
    font-weight: 400;
    letter-spacing: 0.02em;
    text-align: center;
}

.popup-form {
    max-width: 310px;
    margin: auto;
    position: relative;
}

.popup-form-inner {}

.popup-form-input {
    margin: 0 0 20px;
}

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

.popup-form-input input {
    display: block;
    width: 100%;
    height: 40px;
    border: 2px solid #383b4e;
    font-size: 13px;
    font-weight: 500;
    letter-spacing: 0.22em;
    color: #383b4e;
    padding: 0 15px;
}

.popup-form-button {
    position: relative;
}

.popup-form-button button {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 40px;
    background: #383b4e;
    border: none;
    font-size: 13px;
    font-weight: 500;
    letter-spacing: 0.22em;
    color: #fff;
    text-transform: uppercase;
}

.popup-form .wpcf7-spinner {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 1;
    margin: auto !important;
}

.popup-form .wpcf7-response-output {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: auto;
    border-width: 1px !important;
    font-size: 9.5px;
    font-weight: 400;
    letter-spacing: 0.05em;
    color: #000;
    line-height: 1;
    text-align: center;
    text-transform: none;
    position: absolute;
    margin: 5px auto 0 !important;
}

.popup-form .wpcf7-not-valid-tip {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 200px;
    max-width: 100%;
    height: 27px;
    border-width: 1px !important;
    font-size: 12px;
    font-weight: 400;
    letter-spacing: 0.05em;
    color: #dc3232;
    text-align: center;
    text-transform: none;
    padding: 5px 15px !important;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 1;
    margin: auto;
}

/* Opt-in | Start */
.opt-in {
    width: 100%;
}

#listings-details .listings-form .opt-in {
    float: left;
}

.opt-in .wpcf7-list-item {
    margin: 0;
}

.opt-in .wpcf7-list-item label {
    display: flex;
    padding: 10px 0 0;
    font-size: 13px;
}

.opt-in input {
    width: auto !important;
    height: max-content !important;
    margin: 0;
    appearance: auto !important;
    margin-top: 0.15em;
    font-size: inherit;
}

.opt-in .wpcf7-list-item-label {
    text-align: justify;
    padding-left: 10px;
    line-height: 1.4;
    font-size: inherit;
}

.opt-in.white .wpcf7-list-item-label {
    color: #fff;
}

.opt-in .wpcf7-list-item-label a {
    color: inherit;
    /* text-decoration: underline; */
}

.opt-in .wpcf7-list-item-label a:hover {
    color: rgba(var(--secondary), 1);
}

.wpcf7-spinner {
    position: absolute;
}

.git-form-inner .opt-in .wpcf7-list-item label {
    font-size: 0.813vw;
    padding-top: 15px;
}

/* Opt-in | End */

.use-floating-validation-tip .wpcf7-not-valid-tip {
    position: absolute;
    width: auto;
    top: 1em;
    font-size: 12px;
}

.wpcf7 form .wpcf7-response-output {
    font-size: 12px;
    text-align: center;
}

.aios-popup-body #popup + button.aiosp-close {
    display: none;
}