/*
	Theme Name: AgentPress Pro
	Theme URI: http://my.studiopress.com/themes/agentpress/
	Description: A mobile responsive and HTML5 theme built for the Genesis Framework.
	Author: StudioPress
	Author URI: http://www.studiopress.com/
	
	Version: 3.1.42

	Tags: develop, one-column, two-columns, three-columns, custom-menu, full-width-template, sticky-post, theme-options, threaded-comments, translation-ready

	Template: genesis
	Template Version: 2.1

	License: GPL-2.0+
	License URI: http://www.opensource.org/licenses/gpl-license.php
*/

/* =Self-hosted fonts
   Replaces Google Fonts CDN (fonts.googleapis.com + fonts.gstatic.com).
   Benefits: eliminates third-party DNS/TLS round-trips, removes Google IP
   collection from visitors (POPIA/GDPR), and works fully offline.
   Files live in /fonts/ and were sourced from google-webfonts-helper.
   Only woff2 is needed — 97 %+ browser support, no legacy fallbacks required.
   font-display: swap prevents invisible text while the file loads.
----------------------------------------------------------------------- */

@font-face {
	font-family: 'Lato';
	font-style: normal;
	font-weight: 300;
	font-display: swap;
	src: url('fonts/lato-300.woff2') format('woff2');
}

@font-face {
	font-family: 'Lato';
	font-style: normal;
	font-weight: 700;
	font-display: swap;
	src: url('fonts/lato-700.woff2') format('woff2');
}

@font-face {
	font-family: 'Roboto';
	font-style: normal;
	font-weight: 300;
	font-display: swap;
	src: url('fonts/roboto-300.woff2') format('woff2');
}

@font-face {
	font-family: 'Roboto';
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: url('fonts/roboto-400.woff2') format('woff2');
}

@font-face {
	font-family: 'Roboto';
	font-style: normal;
	font-weight: 700;
	font-display: swap;
	src: url('fonts/roboto-700.woff2') format('woff2');
}


/* =CSS Cascade Layers
   Declared in ascending priority order: theme rules come first and establish
   the base; site-customisation rules come last and win without !important.
   @font-face blocks are kept outside any layer so the fonts are globally
   available to all layers.
----------------------------------------------------------------------- */
@layer theme, site;

@layer theme {

/* Table of Contents
	- HTML5 Reset
		- Baseline Normalize
		- Box Sizing
		- Float Clearing
	- Defaults
		- Typographical Elements
		- Headings
		- Icons
		- Objects
		- Gallery
		- Forms
		- Tables
		- Screen Reader Text
	- Structure and Layout
		- Site Containers
		- Column Widths and Positions
		- Column Classes
	- Common Classes
		- Avatar
		- Genesis
		- Search Form
		- Titles
		- WordPress
	- Widgets
		- Featured Content
	- Plugins
		- AgentPress Listings
		- Genesis eNews Extended
		- Jetpack
	- Site Header
		- Title Area
		- Widget Area
	- Site Navigation
		- Header Navigation
		- Primary Navigation
		- Secondary Navigation
		- Responsive Menu
	- Content Area
		- Home Page
		- Entries
		- Entry Meta
		- Pagination
		- Comments
	- Sidebars
	- Footer Widgets
	- Site Footer
	- Theme Colors
		- AgentPress Pro Blue
		- AgentPress Pro Gold
		- AgentPress Pro Green
	- Media Queries
		- Retina Display
		- Max-width: 1280px
		- Max-width: 1139px
		- Max-width: 1023px
		- Max-width: 768px
*/


/* HTML5 Reset
---------------------------------------------------------------------------------------------------- */

/* Baseline Normalize
--------------------------------------------- */
/* normalize.css v2.1.3 | MIT License | git.io/normalize */

article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary{display:block}audio,canvas,video{display:inline-block}audio:not([controls]){display:none;height:0}[hidden],template{display:none}html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}a{background:transparent}a:focus{outline:thin dotted}a:active,a:hover{outline:0}h1{font-size:2em;margin:.67em 0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}dfn{font-style:italic}hr{-moz-box-sizing:content-box;box-sizing:content-box;height:0}mark{background:#ff0;color:#000}code,kbd,pre,samp{font-family:monospace,serif;font-size:1em}pre{white-space:pre-wrap}q{quotes:"\201C" "\201D" "\2018" "\2019"}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:0}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{border:0;padding:0}button,input,select,textarea{font-family:inherit;font-size:100%;margin:0}button,input{line-height:normal}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=search]{-webkit-appearance:textfield;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}textarea{overflow:auto;vertical-align:top}table{border-collapse:collapse;border-spacing:0}

/* Box Sizing
--------------------------------------------- */

*,
input[type="search"] {
	-webkit-box-sizing: border-box;
	-moz-box-sizing:    border-box;
	box-sizing:         border-box;
}

/* Float Clearing
--------------------------------------------- */

.author-box:before,
.clearfix:before,
.entry:before,
.entry-content:before,
.footer-widgets:before,
.nav-primary:before,
.nav-secondary:before,
.pagination:before,
.site-container:before,
.site-footer:before,
.site-header:before,
.site-inner:before,
.widget:before,
.wrap:before {
	content: " ";
	display: table;
}

.author-box:after,
.clearfix:after,
.entry:after,
.entry-content:after,
.footer-widgets:after,
.nav-primary:after,
.nav-secondary:after,
.pagination:after,
.site-container:after,
.site-footer:after,
.site-header:after,
.site-inner:after,
.widget:after,
.wrap:after {
	clear: both;
	content: " ";
	display: table;
}


/* Defaults
---------------------------------------------------------------------------------------------------- */

/* Typographical Elements
--------------------------------------------- */

body {
	background-color: #f5f5f5;
	color: #1a212b;
	font-family: 'Roboto', sans-serif;
	font-size: 18px;
	font-weight: 300;
	line-height: 1.625;
}

a,
button,
input:focus,
input[type="button"],
input[type="reset"],
input[type="submit"],
textarea:focus,
.button {
	-webkit-transition: all 0.1s ease-in-out;
	-moz-transition:    all 0.1s ease-in-out;
	-ms-transition:     all 0.1s ease-in-out;
	-o-transition:      all 0.1s ease-in-out;
	transition:         all 0.1s ease-in-out;
}

::-moz-selection {
	background-color: #777;
	color: #fff;
}

::selection {
	background-color: #777;
	color: #fff;
}

a {
	color: #d23836;
	text-decoration: none;
}

a:hover {
	color: #1a212b;
}

p {
	margin: 0 0 28px;
	padding: 0;
}

ol,
ul {
	margin: 0;
	padding: 0;
}

li {
	list-style-type: none;
}

b,
strong {
	font-weight: 700;
}

blockquote,
cite,
em,
i {
	font-style: italic;
}

mark {
	background: #ddd;
	color: #000;
}

blockquote {
	margin: 40px;
}

blockquote::before {
	content: "\201C";
	display: block;
	font-size: 30px;
	height: 0;
	left: -20px;
	position: relative;
	top: -10px;
}

hr {
	border: 0;
	border-collapse: collapse;
	border-top: 1px solid #777;
	clear: both;
	margin: 40px 0;
}

/* Headings
--------------------------------------------- */

h1,
h2,
h3,
h4,
h5,
h6 {
	font-family: 'Lato', sans-serif;
	font-weight: 300;
	line-height: 1.2;
	margin: 0 0 10px;
}

h1 {
	font-size: 36px;
}

h2 {
	font-size: 30px;
}

h3 {
	font-size: 24px;
}

h4 {
	font-size: 20px;
}

h5 {
	font-size: 18px;
}

h6 {
	font-size: 16px;
}

/* Icons
--------------------------------------------- */

/* Objects
--------------------------------------------- */

embed,
iframe,
img,
object,
video,
.wp-caption {
	max-width: 100%;
}

img {
	height: auto;
}

/* Gallery
--------------------------------------------- */

.gallery {
	overflow: hidden;
	margin-bottom: 28px;
}

.gallery-item {
	float: left;
	margin: 0;
	text-align: center;
}

.gallery-columns-1 .gallery-item {
	width: 100%;
}

.gallery-columns-2 .gallery-item {
	width: 50%;
}

.gallery-columns-3 .gallery-item {
	width: 33%;
}

.gallery-columns-4 .gallery-item {
	width: 25%;
}

.gallery-columns-5 .gallery-item {
	width: 20%;
}

.gallery-columns-6 .gallery-item {
	width: 16.6666%;
}

.gallery-columns-7 .gallery-item {
	width: 14.2857%;
}

.gallery-columns-8 .gallery-item {
	width: 12.5%;
}

.gallery-columns-9 .gallery-item {
	width: 11.1111%;
}

.gallery-columns-2 .gallery-item:nth-child(2n+1),
.gallery-columns-3 .gallery-item:nth-child(3n+1),
.gallery-columns-4 .gallery-item:nth-child(4n+1),
.gallery-columns-5 .gallery-item:nth-child(5n+1),
.gallery-columns-6 .gallery-item:nth-child(6n+1),
.gallery-columns-7 .gallery-item:nth-child(7n+1),
.gallery-columns-8 .gallery-item:nth-child(8n+1),
.gallery-columns-9 .gallery-item:nth-child(9n+1) {
	clear: left;
}

.gallery .gallery-item img {
	border: none;
	height: auto;
	padding: 0 4px;
}

/* Forms
--------------------------------------------- */

input,
select,
textarea {
	background-color: #fff;
	border: 1px solid #ddd;
	border-radius: 0;
	color: #777;
	font-size: 16px;
	font-weight: 300;
	line-height: 1;
	padding: 20px;
	width: 100%;
}

input:focus,
textarea:focus {
	border: 1px solid #999;
	outline: none;
}

input[type="checkbox"],
input[type="image"],
input[type="radio"] {
	width: auto;
}

::-moz-placeholder {
	color: #777;
	opacity: 1;
	font-weight: 300;
}

::-webkit-input-placeholder {
	color: #777;
	font-weight: 300;
}

button,
input[type="button"],
input[type="reset"],
input[type="submit"],
.button {
	background-color: #d23836;
	border: none;
	color: #fff;
	cursor: pointer;
	font-size: 16px;
	font-weight: 300;
	line-height: 1;
	padding: 20px 24px;
	text-transform: uppercase;
	white-space: normal;
	width: auto;
}

button:hover,
input:hover[type="button"],
input:hover[type="reset"],
input:hover[type="submit"],
.button:hover,
.widget-area .widget .button:hover {
	background-color: #e9e9e9;
	color: #1a212b;
}

.widget-area .widget .button {
	color: #fff;
}

button.small,
input[type="button"].small,
input[type="reset"].small,
input[type="submit"].small,
.button.small {
	padding: 8px 16px;
}

.site-container button:disabled,
.site-container button:disabled:hover,
.site-container input:disabled,
.site-container input:disabled:hover,
.site-container input[type="button"]:disabled,
.site-container input[type="button"]:disabled:hover,
.site-container input[type="reset"]:disabled,
.site-container input[type="reset"]:disabled:hover,
.site-container input[type="submit"]:disabled,
.site-container input[type="submit"]:disabled:hover {
	background-color: #ddd;
	border-width: 0;
	color: #777;
	cursor: not-allowed;
}

.button {
	display: inline-block;
}


input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-results-button {
	display: none;
}

/* Tables
--------------------------------------------- */

table {
	border-collapse: collapse;
	border-spacing: 0;
	line-height: 2;
	margin-bottom: 40px;
	width: 100%;
}

tbody {
	border-bottom: 1px solid #ddd;
}

td,
th {
	text-align: left;
}

td {
	border-top: 1px solid #ddd;
	padding: 6px 0;
}

th {
	font-weight: 400;
}

/* Screen reader text
--------------------------------------------- */

.screen-reader-text,
.screen-reader-text span,
.screen-reader-shortcut {
	border: 0;
	clip: rect(0, 0, 0, 0);
	height: 1px;
	overflow: hidden;
	position: absolute !important;
	width: 1px;
}

.screen-reader-text:focus,
.screen-reader-shortcut:focus,
.genesis-nav-menu .search input[type="submit"]:focus,
.widget_search input[type="submit"]:focus  {
	background: #fff;
	box-shadow: 0 0 2px 2px rgba(0,0,0,.6);
	clip: auto !important;
	color: #333;
	display: block;
	font-size: 1em;
	font-weight: bold;
	height: auto;
	padding: 15px 23px 14px;
	text-decoration: none;
	width: auto;
	z-index: 100000; /* Above WP toolbar. */
}


/* Structure and Layout
---------------------------------------------------------------------------------------------------- */

/* Site Containers
--------------------------------------------- */

.wrap {
	margin: 0 auto;
	max-width: 1280px;
}

.agentpress-pro-landing .wrap {
	max-width: 900px;
}

.site-inner {
	background-color: #f5f5f5;
	clear: both;
	padding-top: 40px;
}

.agentpress-pro-home .site-inner {
	padding: 0;
}

/* Column Widths and Positions
--------------------------------------------- */

/* Wrapping div for .content and .sidebar-primary */

.content-sidebar-sidebar .content-sidebar-wrap,
.sidebar-content-sidebar .content-sidebar-wrap,
.sidebar-sidebar-content .content-sidebar-wrap {
	width: 1060px;
}

.content-sidebar-sidebar .content-sidebar-wrap {
	float: left;
}

.sidebar-content-sidebar .content-sidebar-wrap,
.sidebar-sidebar-content .content-sidebar-wrap {
	float: right;
}

/* Content */

.content {
	float: right;
	width: 880px;
}

.content-sidebar .content,
.content-sidebar-sidebar .content,
.sidebar-content-sidebar .content {
	float: left;
}

.content-sidebar-sidebar .content,
.sidebar-content-sidebar .content,
.sidebar-sidebar-content .content {
	width: 660px;
}

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

/* Primary Sidebar */

.sidebar-primary {
	float: right;
	width: 360px;
}

.sidebar-content .sidebar-primary,
.sidebar-sidebar-content .sidebar-primary {
	float: left;
}

/* Secondary Sidebar */

.sidebar-secondary {
	float: left;
	width: 180px;
}

.content-sidebar-sidebar .sidebar-secondary {
	float: right;
}

/* Column Classes
--------------------------------------------- */
/* Link: http://twitter.github.io/bootstrap/assets/css/bootstrap-responsive.css */

.five-sixths,
.four-sixths,
.one-fourth,
.one-half,
.one-sixth,
.one-third,
.property-details-col1,
.property-details-col2,
.three-fourths,
.three-sixths,
.two-fourths,
.two-sixths,
.two-thirds {
	float: left;
	margin-left: 2.564102564102564%;
	margin-bottom: 28px;
}

.one-half,
.property-details-col1,
.property-details-col2,
.three-sixths,
.two-fourths {
	width: 48.717948717948715%;
}

.one-third,
.two-sixths {
	width: 31.623931623931625%;
}

.four-sixths,
.two-thirds {
	width: 65.81196581196582%;
}

.one-fourth {
	width: 23.076923076923077%;
}

.three-fourths {
	width: 74.35897435897436%;
}

.one-sixth {
	width: 14.52991452991453%;
}

.five-sixths {
	width: 82.90598290598291%;
}

.first,
.property-details-col1 {
	clear: both;
	margin-left: 0;
}


/* Common Classes
---------------------------------------------------------------------------------------------------- */

/* Avatar
--------------------------------------------- */

.avatar {
	border-radius: 50%;
	float: left;
}

.alignleft .avatar,
.author-box .avatar {
	margin-right: 24px;
}

.alignright .avatar {
	margin-left: 24px;
}

.comment .avatar {
	margin: 0 16px 24px 0;
}

/* Genesis
--------------------------------------------- */

.breadcrumb {
	background-color: #d23836;
	color: #fff;
	font-size: 12px;
	margin: -40px 0 40px;
	padding: 10px 40px;
}

.site-inner .breadcrumb a {
	color: #fff;
}

.site-inner .breadcrumb a:hover {
	color: #1a212b;
}

.archive-description,
.author-box {
	background-color: #fff;
	font-size: 16px;
	margin-bottom: 40px;
	padding: 40px;
}

.author-box-title {
	font-size: 16px;
	margin-bottom: 4px;
}

.archive-description p:last-child,
.author-box p:last-child {
	margin-bottom: 0;
}

/* Search Form
--------------------------------------------- */

.search-form {
	overflow: hidden;
}

.site-header .search-form {
	float: right;
	margin-top: 12px;
}

.entry-content .search-form,
.site-header .search-form {
	margin-bottom: 40px;
	width: 50%;
}

.entry-content .search-form input {
	margin-bottom: 20px;
}

.post-password-form input[type="submit"],
.search-form input[type="submit"] {
	margin-top: 12px;
}

.genesis-nav-menu .search input[type="submit"],
.widget_search input[type="submit"] {
	border: 0;
	clip: rect(0, 0, 0, 0);
	height: 1px;
	margin: -1px;
	padding: 0;
	position: absolute;
	width: 1px;
}

/* Titles
--------------------------------------------- */

.archive-title {
	font-size: 20px;
}

.entry-title {
	font-size: 36px;
}

.entry-title a,
.featured-content .entry .entry-title a {
	color: #1a212b;
}

.entry-title a:hover,
.featured-content .entry .entry-title a:hover {
	color: #d23836;
}

.widget-title {
	font-size: 20px;
}

.full-width .widget-title,
.property-search .widget-title,
.sidebar .widget-title,
.widget-area .enews-widget .widget-title {
	background-color: #d23836;
	color: #fff;
	font-weight: 700;
	padding: 20px 40px;
}

.full-width .widget-title {
	background-color: #1a212b;
}

.sidebar .widget-title {
	margin: -40px -40px 40px;
}

.sidebar .widget-title a {
	color: #fff;
}

.widget-area .widget.property-search .widget-wrap .widget-title,
.widget-area .widget.enews-widget .enews .widget-title {
	background-color: rgba(255, 255, 255, 0.1);
	margin: -40px -40px 40px;
	padding: 20px 40px;
}

.home-featured .widget.widget_text .widget-title {
	background: none;
	color: #d23836;
	font-size: 48px;
	line-height: 1.1;
	padding: 0;
}

.full-width .featuredpage .widget-title {
	margin: 0 auto;
}

.footer-widgets .widget-title {
	font-size: 36px;
}

.tagline {
	font-size: 55px;
	line-height: 1.1;
	vertical-align: bottom;
}

/* WordPress
--------------------------------------------- */

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

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

a.alignnone {
    display: inline-block;
}

a.alignleft,
a.alignnone,
a.alignright {
	max-width: 100%;
}

img.centered,
.aligncenter {
	display: block;
	margin: 0 auto 24px;
}

a.aligncenter img {
	display: block;
	margin: 0 auto;
}

img.alignnone,
.alignnone {
	margin-bottom: 12px;
}

a.alignleft,
img.alignleft,
.wp-caption.alignleft {
	margin: 0 24px 24px 0;
}

a.alignright,
img.alignright,
.wp-caption.alignright {
	margin: 0 0 24px 24px;
}

.wp-caption-text {
	font-size: 14px;
	margin: 0;
	text-align: center;
}

.entry-content p.wp-caption-text {
	margin-bottom: 0;
}

.wp-audio-shortcode,
.wp-playlist,
.wp-video {
	margin: 0 0 28px;
}


/* Widgets
---------------------------------------------------------------------------------------------------- */

.widget {
	margin-bottom: 40px;
	overflow: hidden;
	word-wrap: break-word;
}

.widget p:last-child,
.widget-area .widget:last-child {
  margin-bottom: 0;
}

.widget ol > li {
	list-style-position: inside;
	list-style-type: decimal;
	padding-left: 20px;
	text-indent: -20px;
}

.widget li li {
	border: none;
	margin: 0 0 0 30px;
	padding: 0;
}

.widget_calendar table {
	width: 100%;
}

.widget_calendar td,
.widget_calendar th {
	text-align: center;
}

/* Featured Content
--------------------------------------------- */

.featured-content .entry {
	background: none;
	box-shadow: none;
	margin-bottom: 40px;
	padding: 0;
}

.featured-content .entry p:last-child {
	margin-bottom: 0;
}

.featured-content .entry-title {
	font-size: 20px;
	font-weight: 700;
}

.agentpress-pro-home .featured-content article ~ .widget-title,
.agentpress-pro-home .featured-content article ~ ul {
	clear: both;
}

.full-width .featured-content .entry {
	background-color: #fff;
}


/* Plugins
---------------------------------------------------------------------------------------------------- */

/* AgentPress Listings
--------------------------------------------- */

.widget-area .widget.property-search {
	background-color: #1a212b;
	padding: 40px;
}

.property-search form {
    text-align: center;
}

.property-search select {
	-webkit-appearance: none;
	margin-bottom: 16px;
}

.property-search input[type="submit"] {
	width: 100%;
}

.featured-listings .listing {
	color: #1a212b;
	margin: 0 auto;
	max-width: 500px;
	overflow: hidden;
	padding: 0 0 40px;
	position: relative;
	text-align: center;
}

.listing .listing-address,
.listing .listing-city-state-zip,
.listing .more-link {
	display: block;
}

.listing-text {
	background-color: #d23836;
	color: #fff;
	font-size: 9px;
	font-weight: 700;
	letter-spacing: 2px;
	padding: 6px 12px;
	position: absolute;
	right: -40px;
	text-align: center;
	text-transform: uppercase;
	top: 30px;
	-moz-transform:    rotate(45deg);
	-ms-transform:     rotate(45deg);
	-o-transform:      rotate(45deg);
	-webkit-transform: rotate(45deg);
	width: 160px;
}

.listing-price {
	background-color: #fff;
	border-bottom: 1px solid #e5e5e5;
	display: inline-block;
	font-family: 'Lato', sans-serif;
	font-size: 24px;
	margin: -30px auto 12px;
	padding: 12px 32px;
}

.featured-listings .listing a.more-link {
	color: #d23836;
}

.featured-listings .listing a.more-link:hover {
	color: #1a212b;
}

.property-details {
	margin-bottom: 28px;
}

/* Genesis eNews Extended
--------------------------------------------- */

.widget-area .widget.enews-widget {
	background-color: #1a212b;
	color: #fff;
	padding: 40px;
}

.widget-area .enews-widget input {
	border: none;
	font-size: 16px;
}

.enews-widget input {
	margin-bottom: 16px;
}

.enews-widget input[type="submit"] {
	margin: 0;
	width: 100%;
}

.enews form + p {
	margin-top: 24px;
}

/* Jetpack
--------------------------------------------- */

#wpstats {
	display: none;
}


/* Site Header
---------------------------------------------------------------------------------------------------- */

.site-header .wrap {
	background-color: #1a212b;
	color: #fff;
}

/* Title Area
--------------------------------------------- */

.title-area {
	background-color: rgba(255, 255, 255, 0.1);
	float: left;
	padding: 20px 40px;
	max-width: 320px;
}

.header-image .title-area {
	width: 320px;
	padding: 0;
}

.header-full-width .title-area {
	width: 100%;
}

.site-title {
	font-family: 'Lato', sans-serif;
	font-size: 34px;
	font-weight: 700;
	line-height: 1.2;
}

.site-header .site-title a,
.site-header .site-title a:hover {
	color: #fff;
}

.header-image .site-title > a {
	float: left;
	min-height: 80px;
	width: 100%;
}

.site-description {
	font-size: 16px;
	font-weight: 300;
	line-height: 0;
	text-indent: -9999px;
}

.site-description,
.site-title {
	margin-bottom: 0;
}

.header-image .site-description,
.header-image .site-title {
	display: block;
	text-indent: -9999px;
}

/* Widget Area
--------------------------------------------- */

.site-header .widget-area {
	float: right;
	text-align: right;
	width: 740px;
}

.site-header .widget {
	margin-bottom: 0;
	padding: 10px;
}

.site-header .widget_nav_menu {
	padding: 0;
}

.site-header .widget-title {
	margin-bottom: 5px;
}

.site-header .widget-area a {
	color: #fff;
}

.site-header .widget-area a:hover {
	color: #ddd;
}


/* Site Navigation
---------------------------------------------------------------------------------------------------- */

.genesis-nav-menu {
	clear: both;
	font-size: 16px;
	line-height: 1;
	width: 100%;
}

.genesis-nav-menu .menu-item {
	display: inline-block;
	text-align: left;
}

.genesis-nav-menu a {
	color: #1a212b;
	display: block;
	padding: 20px 24px;
}

.genesis-nav-menu > li.menu-item-has-children:hover > a,
.genesis-nav-menu a:hover,
.genesis-nav-menu .current-menu-item > a,
.genesis-nav-menu .sub-menu .current-menu-item > a:hover {
	background-color: #fff;
	color: #1a212b;
}

.genesis-nav-menu .sub-menu {
	background-color: #fff;
	left: -9999px;
	opacity: 0;
	position: absolute;
	-webkit-transition: opacity .4s ease-in-out;
	-moz-transition:    opacity .4s ease-in-out;
	-ms-transition:     opacity .4s ease-in-out;
	-o-transition:      opacity .4s ease-in-out;
	transition:         opacity .4s ease-in-out;
	width: 205px;
	z-index: 99;
}

.genesis-nav-menu .sub-menu a {
	font-size: 14px;
	padding: 20px 24px;
	position: relative;
	width: 205px;
}

.genesis-nav-menu .sub-menu a:hover {
	background-color: #f5f5f5;
}

.genesis-nav-menu .sub-menu .sub-menu {
	margin: -54px 0 0 204px;
}

.genesis-nav-menu .menu-item:hover {
	position: static;
}

.genesis-nav-menu .menu-item:hover > .sub-menu {
	left: auto;
	opacity: 1;
}

.genesis-nav-menu > .first > a {
	padding-left: 0;
}

.genesis-nav-menu > .last > a {
	padding-right: 0;
}

.genesis-nav-menu > .right {
	color: #1a212b;
	float: right;
	list-style-type: none;
	padding: 0;
}

.genesis-nav-menu > .right > a,
.genesis-nav-menu > .right.date {
	display: inline-block;
	padding: 20px 24px;
}

.genesis-nav-menu > .search input {
	border: none;
	font-size: 14px;
	padding: 18px 30px;
}

/* Site Header Navigation
--------------------------------------------- */

.site-header .genesis-nav-menu .menu-item {
	margin-right: -4px;
}

.site-header .genesis-nav-menu li a {
	border-left: 1px solid rgba(255, 255, 255, 0.1);
	color: #fff;
	font-size: 16px;
	padding: 32px 24px;
}

.site-header .genesis-nav-menu .current-menu-item > a,
.site-header .genesis-nav-menu .sub-menu .current-menu-item > a:hover,
.site-header .genesis-nav-menu .sub-menu a,
.site-header .genesis-nav-menu a:hover {
	color: #1a212b;
}

.site-header .genesis-nav-menu .sub-menu a {
	border: none;
	font-size: 14px;
	padding: 20px 24px;
}

.site-header .genesis-nav-menu li li {
	margin-left: 0;
}

/* Primary Navigation
--------------------------------------------- */

.nav-primary .wrap {
	background-color: #eee;
}

/* Secondary Navigation
--------------------------------------------- */

.site-footer .nav-secondary .wrap {
	padding: 0;
}

.nav-secondary .genesis-nav-menu a {
	font-weight: 700;
	padding: 0 24px 20px;
}

.nav-secondary .genesis-nav-menu .current-menu-item > a,
.nav-secondary .genesis-nav-menu > li:hover > a,
.nav-secondary .genesis-nav-menu a:hover {
	background: none;
	color: #d23836;
}

/* Responsive Menu
--------------------------------------------- */

/* Hamburger toggle — now a <button> with inline SVG; no dashicons needed. */
.responsive-menu-icon {
	background: none;
	border: none;
	cursor: pointer;
	display: none;
	line-height: 1;
	padding: 14px;
	width: 100%;        /* fills the nav strip so the icon is centred, not left-aligned */
	text-align: center;
}

/* Content Area
---------------------------------------------------------------------------------------------------- */

/* Home Page
--------------------------------------------- */

/* Home Featured */

.home-featured {
	font-size: 20px;
	text-align: center;
}

.home-featured .wrap {
	position: relative;
	padding: 200px 0 0;
}

.home-featured .widget {
	background-color: rgba(255, 255, 255, 0.9);
	padding: 40px;
	margin: 0 auto;
	max-width: 80%;
}

.home-featured .widget:last-child {
	margin-bottom: 200px;
}

.home-featured .widget.property-search,
.home-featured .widget.property-search:last-child {
	margin: 200px 0 0;
	padding: 30px 20px;
	max-width: 100%;
}

.home-featured .widget.property-search .widget-title {
	margin: -30px -20px 30px;
}

.full-width .property-search input,
.full-width .property-search select,
.home-featured .property-search input,
.home-featured .property-search select,
.home-middle-1 .property-search input,
.home-middle-1 .property-search select {
	border: medium none;
	margin: 5px;
	width: 23.375%;
	-webkit-appearance: none;
}

.full-width .property-search select:nth-of-type(4n+1),
.home-featured .property-search select:nth-of-type(4n+1),
.home-middle-1 .property-search select:nth-of-type(4n+1) {
	margin-left: 0;
}

/* Home Top/Bottom */

.home-bottom,
.home-top {
	background-color: #f5f5f5;
	padding: 80px 0;
	text-align: center;
}

.archive .content .listing,
.full-width .featured-listings .listing,
.full-width .featuredpage,
.full-width .featuredpost .entry {
	background-color: #fff;
	color: #1a212b;
	float: left;
	margin: 0 0 1.5% 1.5%;
	overflow: hidden;
	padding: 0 0 40px;
	position: relative;
	text-align: center;
	width: 32.333333333%;
}

.full-width .widget {
	clear: both;
}

.full-width .featuredpage {
	clear: none;
	width: 23.875%;
}

.full-width .featured-content .entry-content,
.full-width .featured-content .entry-header {
	padding: 30px 30px 0;
}

.archive .content .listing:nth-of-type(3n+1),
.full-width .featured-listings .listing:nth-of-type(3n+1),
.full-width .featuredpage:nth-of-type(4n+1),
.full-width .featuredpost .entry:nth-of-type(3n+1) {
	clear: both;
	margin-left: 0;
}

.full-width .featured-content p.entry-meta {
	margin-top: 10px;
}

.full-width .featured-content .entry .alignnone,
.full-width .featured-content .entry-title,
.full-width .featuredpage .entry {
	margin-bottom: 0;
}

.full-width .featured-content .entry img {
	margin-bottom: -8px;
}

.full-width .featured-content ul,
.full-width .featured-listings .widget-title,
.full-width .featuredpost .widget-title,
.listing-archive {
	margin-bottom: 1.5%;
}

.full-width .featured-content .more-from-category a {
	background-color: #d23836;
	color: #fff;
	clear: both;
	display: block;
	font-weight: 700;
	padding: 20px 40px;
}

.home-middle-1 .featured-content .more-from-category a {
	background-color: #1a212b;
}

.full-width .featured-content p.more-from-category a:hover {
	background-color: #fff;
	color: #1a212b;
}

.featured-listings,
.featuredpost,
.full-width .featured-content h4 {
	clear: both;
}

/* Home Middle */

.home-middle {
	background-color: #fff;
	clear: both;
	overflow: hidden;
	padding: 0 0 80px;
}

.home-middle-1.widget-area .widget {
	background-color: #d23836;
	padding: 40px;
}

.home-middle-1.widget-area .featured-content.featuredpage {
	background-color: #fff;
	padding: 0;
}

.home-middle-1.widget-area .featuredpage .widget-wrap {
	padding: 40px 0 0;
}

.home-middle-1.widget-area .widget_text .widget-title {
	background: none;
	padding: 0;
}

.home-middle-1 .widget a,
.home-middle-1 {
	color: #fff;
}

.home-middle-1 .entry a {
	color: #d23836;
}

.home-middle-1 .entry a:hover {
	color: #1a212b;	
}

.home-middle .home-middle-1 button,
.home-middle .home-middle-1 input[type="button"],
.home-middle .home-middle-1 input[type="reset"],
.home-middle .home-middle-1 input[type="submit"],
.home-middle .home-middle-1 .widget .button {
	background-color: #fff;
	color: #1a212b;
}

.home-middle .home-middle-1 button:hover,
.home-middle .home-middle-1 input:hover[type="button"],
.home-middle .home-middle-1 input:hover[type="reset"],
.home-middle .home-middle-1 input:hover[type="submit"],
.home-middle .home-middle-1 .widget .button:hover {
	background-color: #1a212b;
	color: #fff;
}

.home-middle-2 {
	clear: left;
	float: left;
	margin-top: 80px;
	width: 340px;
}

.home-middle-3 {
	float: right;
	margin-top: 80px;
	width: 880px;		
}

.home-middle-2 .widget-title,
.home-middle-3 .widget-title {
	letter-spacing: 2px;
	margin-bottom: 20px;
	text-transform: uppercase;
}

.home-middle-3 .featured-listings .listing,
.home-middle-3 .featuredpost .entry {
	float: left;
	margin-left: 2.564102564102564%;
	width: 48.717948717948715%;
}

.home-middle-3 .featured-listings .listing:nth-of-type(2n+1),
.home-middle-3 .featuredpost .entry:nth-of-type(2n+1) {
	clear: both;
	margin-left: 0;
}

/* Entries
--------------------------------------------- */

.entry {
	background-color: #fff;
	margin-bottom: 40px;
	padding: 50px 60px;
}

.entry-content p:last-child {
	margin-bottom: 0;
}

.entry-content ol,
.entry-content ul {
	margin-bottom: 28px;
	margin-left: 40px;
}

.entry-content ol > li {
	list-style-type: decimal;
}

.entry-content ul > li {
	list-style-type: disc;
}

.entry-content ol ol,
.entry-content ul ul {
	margin-bottom: 0;
}

.entry-content code {
	background-color: #777;
	color: #ddd;
}

/* Entry Meta
--------------------------------------------- */

p.entry-meta,
p.entry-meta a {
    color: #aaa;
    font-size: 16px;
}

.entry-meta a:hover {
    color: #1a212b;
}

.entry-header .entry-meta {
	margin-bottom: 30px;
}

.entry-footer .entry-meta {
	padding-top: 24px;
}

.entry-comments-link::before,
.entry-tags::before {
	content: "\2014";
	margin: 0 6px 0 2px;
}

/* After Entry
--------------------------------------------- */

.after-entry {
	background-color: #1a212b;
	color: #fff;
	margin-bottom: 40px;
	text-align: center;
}

.after-entry .widget {
	padding: 40px;
	margin-bottom: 0;
}

.after-entry .featured-content .entry:last-child,
.after-entry p:last-child {
	padding: 0;
	margin: 0;
}

.after-entry li {
	list-style-type: none;
}

/* Pagination
--------------------------------------------- */

.pagination {
	clear: both;
	margin: 40px 0;
}

.entry-pagination {
	margin: 0;
}

.adjacent-entry-pagination {
	margin-bottom: 0;
}

.archive-pagination li {
	display: inline;
}

.archive-pagination li a {
	background-color: #fff;
	color: #1a212b;
	cursor: pointer;
	display: inline-block;
	font-size: 16px;
	padding: 8px 12px;
}

.archive-pagination li a:hover,
.archive-pagination .active a {
	background-color: #1a212b;
	color: #fff;
}

/* Comments
--------------------------------------------- */

.comment-respond,
.entry-comments,
.entry-pings {
	background-color: #fff;
	margin-bottom: 40px;
}

.comment-respond,
.entry-pings {
	padding: 40px 40px 16px;
}

.entry-comments {
	padding: 40px;
}

.comment-header {
	font-size: 16px;
}

li.comment {
	background-color: #f5f5f5;
	border: 2px solid #fff;
	border-right: none;
}

.comment-content {
	clear: both;
}

.comment-list li {
	margin-top: 24px;
	padding: 32px;
}

.comment-list li li {
	margin-right: -32px;
}

.comment-respond input[type="email"],
.comment-respond input[type="text"],
.comment-respond input[type="url"] {
	width: 50%;
}

.comment-respond label {
	display: block;
	margin-right: 12px;
}

.entry-comments .comment-author {
	margin-bottom: 0;
}

.entry-pings .reply {
	display: none;
}

.bypostauthor {
}

.form-allowed-tags {
	background-color: #f5f5f5;
	font-size: 16px;
	padding: 24px;
}


/* Sidebars
---------------------------------------------------------------------------------------------------- */

.sidebar {
	font-size: 16px;
	padding-bottom: 40px;
}

.sidebar li {
	border-bottom: 1px dotted #ddd;
	margin-bottom: 10px;
	padding-bottom: 10px;
}

.sidebar p:last-child,
.sidebar ul > li:last-child {
	margin-bottom: 0;
}

.sidebar .widget {
	background-color: #fff;
	padding: 40px;
}


/* Footer Widgets
---------------------------------------------------------------------------------------------------- */

.footer-widgets {
	background-color: #fff;
	clear: both;
}

.footer-widgets .wrap {
	padding: 80px 0 100px;
}

.footer-widgets a {
	color: #1a212b;
}

.footer-widgets a:hover {
	color: #d23836;
}

.footer-widgets li {
	border-bottom: 1px dotted #666;
	margin-bottom: 10px;
	padding-bottom: 10px;
}

.footer-widgets p:last-child {
	margin-bottom: 0;
}

.footer-widgets-1 {
	float: left;
	width: 340px;
}

.footer-widgets-2 {
	float: right;
	width: 880px;
}


/* Site Footer
---------------------------------------------------------------------------------------------------- */

.site-footer {
	background-color: #f5f5f5;
	font-size: 16px;
	padding: 40px 0;
	text-align: center;
}

.site-footer a {
	color: #1a212b;
}

.site-footer a:hover {
	color: #d23836;
}

.site-footer p {
	margin-bottom: 5px;
}

.site-footer p:last-child,
.site-footer .widget:last-child {
	margin-bottom: 0;
}


/* Theme Colors
---------------------------------------------------------------------------------------------------- */

/* AgentPress Pro Blue
--------------------------------------------- */

.agentpress-pro-blue .breadcrumb a:hover,
.agentpress-pro-blue .button:hover,
.agentpress-pro-blue .entry-title a,
.agentpress-pro-blue .featured-content .entry .entry-title a,
.agentpress-pro-blue .featured-listings .listing,
.agentpress-pro-blue .featured-listings a.more-link:hover,
.agentpress-pro-blue .footer-widgets a,
.agentpress-pro-blue .full-width .featured-content .more-from-category a:hover,
.agentpress-pro-blue .genesis-nav-menu a,
.agentpress-pro-blue .home-middle-1 .entry a:hover,
.agentpress-pro-blue .home-middle-1 .featured-content.widget .entry,
.agentpress-pro-blue .home-middle-1 .widget .button,
.agentpress-pro-blue .home-middle-1 button,
.agentpress-pro-blue .home-middle-1 input[type="button"],
.agentpress-pro-blue .home-middle-1 input[type="reset"],
.agentpress-pro-blue .home-middle-1 input[type="submit"],
.agentpress-pro-blue .site-footer a,
.agentpress-pro-blue a:hover,
.agentpress-pro-blue button:hover,
.agentpress-pro-blue input:hover[type="button"],
.agentpress-pro-blue input:hover[type="reset"],
.agentpress-pro-blue input:hover[type="submit"],
.agentpress-pro-blue {
	color: #263844;
}


.agentpress-pro-blue .entry-title a:hover,
.agentpress-pro-blue .featured-content .entry .entry-title a:hover,
.agentpress-pro-blue .featured-listings a.more-link,
.agentpress-pro-blue .footer-widgets a:hover,
.agentpress-pro-blue .home-featured .widget_text .widget-title,
.agentpress-pro-blue .home-middle-1 .entry a,
.agentpress-pro-blue .nav-secondary .genesis-nav-menu .current-menu-item > a,
.agentpress-pro-blue .nav-secondary .genesis-nav-menu > li:hover > a,
.agentpress-pro-blue .nav-secondary .genesis-nav-menu a:hover,
.agentpress-pro-blue .site-footer a:hover,
.agentpress-pro-blue a {
	color: #0274be;
}

.agentpress-pro-blue .after-entry,
.agentpress-pro-blue .archive-pagination .active a,
.agentpress-pro-blue .archive-pagination li a:hover,
.agentpress-pro-blue .full-width .widget-title,
.agentpress-pro-blue .home-middle-1 .featured-content .more-from-category a,
.agentpress-pro-blue .home-middle-1 .widget .button:hover,
.agentpress-pro-blue .home-middle-1 button:hover,
.agentpress-pro-blue .home-middle-1 input:hover[type="button"],
.agentpress-pro-blue .home-middle-1 input:hover[type="reset"],
.agentpress-pro-blue .home-middle-1 input:hover[type="submit"],
.agentpress-pro-blue .site-header .wrap,
.agentpress-pro-blue .widget-area .widget.enews-widget,
.agentpress-pro-blue .widget.property-search {
	background-color: #263844;
}

.agentpress-pro-blue .breadcrumb,
.agentpress-pro-blue .button,
.agentpress-pro-blue .widget-area .enews-widget .widget-title,
.agentpress-pro-blue .full-width .more-from-category a,
.agentpress-pro-blue .home-middle-1 .widget,
.agentpress-pro-blue .listing-text,
.agentpress-pro-blue .property-search .widget-title,
.agentpress-pro-blue .sidebar .widget-title,
.agentpress-pro-blue button,
.agentpress-pro-blue input[type="button"],
.agentpress-pro-blue input[type="reset"],
.agentpress-pro-blue input[type="submit"] {
	background-color: #0274be;
	color: #fff;
}

.agentpress-pro-blue .button:hover,
.agentpress-pro-blue button:hover,
.agentpress-pro-blue input:hover[type="button"],
.agentpress-pro-blue input:hover[type="reset"],
.agentpress-pro-blue input:hover[type="submit"] {
	background-color: #e9e9e9;
}

/* AgentPress Pro Gold
--------------------------------------------- */

.agentpress-pro-gold .breadcrumb a:hover,
.agentpress-pro-gold .button:hover,
.agentpress-pro-gold .entry-title a,
.agentpress-pro-gold .featured-content .entry .entry-title a,
.agentpress-pro-gold .featured-listings .listing,
.agentpress-pro-gold .featured-listings a.more-link:hover,
.agentpress-pro-gold .footer-widgets a,
.agentpress-pro-gold .full-width .featured-content .more-from-category a:hover,
.agentpress-pro-gold .genesis-nav-menu a,
.agentpress-pro-gold .home-middle-1 .entry a:hover,
.agentpress-pro-gold .home-middle-1 .featured-content.widget .entry,
.agentpress-pro-gold .home-middle-1 .widget .button,
.agentpress-pro-gold .home-middle-1 button,
.agentpress-pro-gold .home-middle-1 input[type="button"],
.agentpress-pro-gold .home-middle-1 input[type="reset"],
.agentpress-pro-gold .home-middle-1 input[type="submit"],
.agentpress-pro-gold .site-footer a,
.agentpress-pro-gold a:hover,
.agentpress-pro-gold button:hover,
.agentpress-pro-gold input:hover[type="button"],
.agentpress-pro-gold input:hover[type="reset"],
.agentpress-pro-gold input:hover[type="submit"],
.agentpress-pro-gold {
	color: #333;
}

.agentpress-pro-gold .entry-title a:hover,
.agentpress-pro-gold .featured-content .entry .entry-title a:hover,
.agentpress-pro-gold .featured-listings a.more-link,
.agentpress-pro-gold .footer-widgets a:hover,
.agentpress-pro-gold .home-featured .widget_text .widget-title,
.agentpress-pro-gold .home-middle-1 .entry a,
.agentpress-pro-gold .nav-secondary .genesis-nav-menu .current-menu-item > a,
.agentpress-pro-gold .nav-secondary .genesis-nav-menu > li:hover > a,
.agentpress-pro-gold .nav-secondary .genesis-nav-menu a:hover,
.agentpress-pro-gold .site-footer a:hover,
.agentpress-pro-gold a {
	color: #f1b329;
}

.agentpress-pro-gold .after-entry,
.agentpress-pro-gold .archive-pagination .active a,
.agentpress-pro-gold .archive-pagination li a:hover,
.agentpress-pro-gold .full-width .widget-title,
.agentpress-pro-gold .home-middle-1 .featured-content .more-from-category a,
.agentpress-pro-gold .home-middle-1 .widget .button:hover,
.agentpress-pro-gold .home-middle-1 button:hover,
.agentpress-pro-gold .home-middle-1 input:hover[type="button"],
.agentpress-pro-gold .home-middle-1 input:hover[type="reset"],
.agentpress-pro-gold .home-middle-1 input:hover[type="submit"],
.agentpress-pro-gold .site-header .wrap,
.agentpress-pro-gold .widget-area .widget.enews-widget,
.agentpress-pro-gold .widget.property-search {
	background-color: #333;
}

.agentpress-pro-gold .breadcrumb,
.agentpress-pro-gold .button,
.agentpress-pro-gold .widget-area .enews-widget .widget-title,
.agentpress-pro-gold .full-width .more-from-category a,
.agentpress-pro-gold .home-middle-1 .widget,
.agentpress-pro-gold .listing-text,
.agentpress-pro-gold .property-search .widget-title,
.agentpress-pro-gold .sidebar .widget-title,
.agentpress-pro-gold button,
.agentpress-pro-gold input[type="button"],
.agentpress-pro-gold input[type="reset"],
.agentpress-pro-gold input[type="submit"] {
	background-color: #f1b329;
	color: #fff;
}

.agentpress-pro-gold .button:hover,
.agentpress-pro-gold button:hover,
.agentpress-pro-gold input:hover[type="button"],
.agentpress-pro-gold input:hover[type="reset"],
.agentpress-pro-gold input:hover[type="submit"] {
	background-color: #e9e9e9;
}

/* AgentPress Pro Green
--------------------------------------------- */

.agentpress-pro-green .breadcrumb a:hover,
.agentpress-pro-green .button:hover,
.agentpress-pro-green .entry-title a,
.agentpress-pro-green .featured-content .entry .entry-title a,
.agentpress-pro-green .featured-listings .listing,
.agentpress-pro-green .featured-listings a.more-link:hover,
.agentpress-pro-green .footer-widgets a,
.agentpress-pro-green .full-width .featured-content .more-from-category a:hover,
.agentpress-pro-green .genesis-nav-menu a,
.agentpress-pro-green .home-middle-1 .entry a:hover,
.agentpress-pro-green .home-middle-1 .featured-content.widget .entry,
.agentpress-pro-green .home-middle-1 .widget .button,
.agentpress-pro-green .home-middle-1 button,
.agentpress-pro-green .home-middle-1 input[type="button"],
.agentpress-pro-green .home-middle-1 input[type="reset"],
.agentpress-pro-green .home-middle-1 input[type="submit"],
.agentpress-pro-green .site-footer a,
.agentpress-pro-green a:hover,
.agentpress-pro-green button:hover,
.agentpress-pro-green input:hover[type="button"],
.agentpress-pro-green input:hover[type="reset"],
.agentpress-pro-green input:hover[type="submit"],
.agentpress-pro-green {
	color: #494241;
}

.agentpress-pro-green .entry-title a:hover,
.agentpress-pro-green .featured-content .entry .entry-title a:hover,
.agentpress-pro-green .featured-listings a.more-link,
.agentpress-pro-green .footer-widgets a:hover,
.agentpress-pro-green .home-featured .widget_text .widget-title,
.agentpress-pro-green .home-middle-1 .entry a,
.agentpress-pro-green .nav-secondary .genesis-nav-menu .current-menu-item > a,
.agentpress-pro-green .nav-secondary .genesis-nav-menu > li:hover > a,
.agentpress-pro-green .nav-secondary .genesis-nav-menu a:hover,
.agentpress-pro-green .site-footer a:hover,
.agentpress-pro-green a {
	color: #74a534;
}

.agentpress-pro-green .after-entry,
.agentpress-pro-green .archive-pagination .active a,
.agentpress-pro-green .archive-pagination li a:hover,
.agentpress-pro-green .full-width .widget-title,
.agentpress-pro-green .home-middle-1 .featured-content .more-from-category a,
.agentpress-pro-green .home-middle-1 .widget .button:hover,
.agentpress-pro-green .home-middle-1 button:hover,
.agentpress-pro-green .home-middle-1 input:hover[type="button"],
.agentpress-pro-green .home-middle-1 input:hover[type="reset"],
.agentpress-pro-green .home-middle-1 input:hover[type="submit"],
.agentpress-pro-green .site-header .wrap,
.agentpress-pro-green .widget-area .widget.enews-widget,
.agentpress-pro-green .widget.property-search {
	background-color: #494241;
}

.agentpress-pro-green .breadcrumb,
.agentpress-pro-green .button,
.agentpress-pro-green .widget-area .enews-widget .widget-title,
.agentpress-pro-green .full-width .more-from-category a,
.agentpress-pro-green .home-middle-1 .widget,
.agentpress-pro-green .listing-text,
.agentpress-pro-green .property-search .widget-title,
.agentpress-pro-green .sidebar .widget-title,
.agentpress-pro-green button,
.agentpress-pro-green input[type="button"],
.agentpress-pro-green input[type="reset"],
.agentpress-pro-green input[type="submit"] {
	background-color: #74a534;
	color: #fff;
}

.agentpress-pro-green .button:hover,
.agentpress-pro-green button:hover,
.agentpress-pro-green input:hover[type="button"],
.agentpress-pro-green input:hover[type="reset"],
.agentpress-pro-green input:hover[type="submit"] {
	background-color: #e9e9e9;
}


/* Media Queries
---------------------------------------------------------------------------------------------------- */

@media only screen and (max-width: 1360px) {

	.wrap {
		max-width: 1140px;
	}

	.content-sidebar-sidebar .content-sidebar-wrap,
	.sidebar-content-sidebar .content-sidebar-wrap,
	.sidebar-sidebar-content .content-sidebar-wrap {
		width: 920px;
	}

	.content,
	.footer-widgets-2,
	.home-middle-3,
	.site-header .widget-area {
		width: 740px;
	}

	.sidebar-content-sidebar .content,
	.sidebar-sidebar-content .content,
	.content-sidebar-sidebar .content {
		width: 520px;
	}

	.footer-widgets-1,
	.home-middle-2, 
	.sidebar-primary {
		width: 360px;
	}

	.home-featured .wrap {
		padding-top: 160px;
	}

	.home-featured .widget:last-child {
		margin-bottom: 160px;
	}

	.home-featured .widget.property-search,
	.home-featured .widget.property-search:last-child {
		margin-top: 160px;
	}

}

@media only screen and (max-width: 1180px) {

	.wrap {
		max-width: 960px;
	}

	.content-sidebar-sidebar .content-sidebar-wrap,
	.sidebar-content-sidebar .content-sidebar-wrap,
	.sidebar-sidebar-content .content-sidebar-wrap {
		width: 740px;
	}

	.content,
	.footer-widgets-2,
	.home-middle-3,
	.site-header .widget-area {
		width: 620px;
	}

	.sidebar-content-sidebar .content,
	.sidebar-sidebar-content .content,
	.content-sidebar-sidebar .content {
		width: 400px;
	}

	.footer-widgets-1,
	.home-middle-2, 
	.sidebar-primary {
		width: 300px;
	}

	.home-featured .wrap {
		padding-top: 100px;
	}

	.home-featured .widget:last-child {
		margin-bottom: 100px;
	}

	.home-featured .widget.property-search,
	.home-featured .widget.property-search:last-child {
		margin-top: 100px;
	}

}

@media only screen and (max-width: 1023px) {

	.wrap {
		max-width: 768px;
	}

	.content,
	.content-sidebar-sidebar .content,
	.content-sidebar-sidebar .content-sidebar-wrap,
	.footer-widgets-1,
	.footer-widgets-2,
	.home-middle .featuredpost .entry,
	.sidebar-content-sidebar .content,
	.sidebar-content-sidebar .content-sidebar-wrap,
	.sidebar-primary,
	.sidebar-secondary,
	.sidebar-sidebar-content .content,
	.sidebar-sidebar-content .content-sidebar-wrap,
	.site-header .widget-area,
	.title-area {
		width: 100%;
	}

	.genesis-nav-menu li,
	.site-header ul.genesis-nav-menu,
	.site-header .search-form {
		float: none;
	}

	.genesis-nav-menu,
	.home-middle-1,
	.site-description,
	.site-header .search-form,
	.site-header .title-area,
	.site-header .widget-area,
	.site-title {
		text-align: center;
	}

	.title-area {
		max-width: 100%;
		padding: 20px 5%;
	}

	.header-image .title-area {
		width: 100%;
	}

	.header-image .site-title a {
		background-position: center center !important;
		background-size: cover !important;
	}

	.genesis-nav-menu > .first > a,
	.genesis-nav-menu > .last > a,
	.genesis-nav-menu a {
		padding: 16px;
	}

	.site-header .search-form {
		margin: 16px auto;
	}

	.nav-primary .genesis-nav-menu > .right {
		display: none;
	}
	
	.site-header .genesis-nav-menu li a:last-of-type {
		border-right: 1px solid rgba(255, 255, 255, 0.1);
	}

	.home-bottom,
	.home-top {
		padding: 40px 0;
	}

	.home-middle {
		padding: 0 0 40px;
	}

	.home-middle .home-middle-1 .widget .button.alignright {
		display: table;
		float: none;
		margin: 20px auto 0;
	}
	
	.home-middle-2,
	.home-middle-3 {
		margin-top: 40px;
	}

	.home-middle-2 {
		width: 230px;
	}

	.home-middle-3 {
		width: 500px;
	}

	.home-middle-3 .featuredpost .entry {
		margin-left: 0;
	}

	.home-middle-3 .featured-content .entry {
		margin-bottom: 30px;
	}

	.footer-widgets .wrap {
		padding: 40px 5% 80px;
	}

	.footer-widgets-1 {
		border-bottom: 1px solid #e5e5e5;
		padding-bottom: 40px;
		margin-bottom: 40px;
	}

	.home-featured .wrap {
		padding-top: 80px;
	}

	.home-featured .widget:last-child {
		margin-bottom: 80px;
	}

	.home-featured .widget.property-search,
	.home-featured .widget.property-search:last-child {
		margin-top: 80px;
	}

}

@media only screen and (max-width: 768px) {

	body {
		background-color: #fff;
		font-size: 16px;
	}

	.wrap {
		padding-left: 5%;
		padding-right: 5%;
	}

	.site-header .wrap,
	.nav-primary .wrap {
		padding: 0;
	}

	.header-image .site-title a {
		background-position: center center !important;
		background-size: cover !important;
	}

	/* Hamburger placeholder — visible between page loads before jQuery runs.
	   Shows a static three-bar SVG in the nav strip so the header never looks
	   "empty" during the browser's page transition. Once JS injects the real
	   <button class="responsive-menu-icon">, the :has() rule hides this. */
	.nav-header::before {
		content: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='20' height='20' aria-hidden='true'%3E%3Crect y='4' width='24' height='2' fill='%23ffffff'/%3E%3Crect y='11' width='24' height='2' fill='%23ffffff'/%3E%3Crect y='18' width='24' height='2' fill='%23ffffff'/%3E%3C/svg%3E");
		display: block;
		padding: 14px;
		text-align: center;
		line-height: 1;
	}

	/* Once the real button is injected, hide the CSS placeholder. */
	.nav-header:has(.responsive-menu-icon)::before {
		display: none;
	}

	/* Hide the header nav via CSS before JS has a chance to add .responsive-menu.
	   This prevents a flash of the open menu on every new page load. The nav is
	   revealed by jQuery's slideToggle() when the user taps the hamburger. */
	.nav-header .genesis-nav-menu,
	.genesis-nav-menu.responsive-menu {
		display: none;
	}

	.genesis-nav-menu.responsive-menu .menu-item,
	.responsive-menu-icon {
		display: block;
	}

	.genesis-nav-menu.responsive-menu .menu-item:hover {
		position: static;
	}

	.genesis-nav-menu.responsive-menu .sub-menu li.current-menu-item > a:hover,
	.genesis-nav-menu.responsive-menu li a,
	.genesis-nav-menu.responsive-menu li a:hover,
	.genesis-nav-menu.responsive-menu li.current-menu-item > a,
	.site-header .genesis-nav-menu.responsive-menu li a {
		border: none;
		display: block;
		padding: 20px;
		text-transform: none;
	}

	.genesis-nav-menu.responsive-menu .menu-item-has-children {
		cursor: pointer;	
	}

	.genesis-nav-menu.responsive-menu .menu-item-has-children > a {
		margin-right: 60px;
	}

	/* Submenu chevron — SVG data URI replaces dashicons \f140 / \f142 glyphs. */
	.genesis-nav-menu.responsive-menu > .menu-item-has-children:before {
		content: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='20' height='20'%3E%3Cpath d='M7 10l5 5 5-5z' fill='%23ffffff'/%3E%3C/svg%3E");
		float: right;
		height: 20px;
		padding: 15px 20px;
		right: 0;
		text-align: right;
		z-index: 9999;
	}

	.genesis-nav-menu.responsive-menu .menu-open.menu-item-has-children:before {
		content: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='20' height='20'%3E%3Cpath d='M7 14l5-5 5 5z' fill='%23ffffff'/%3E%3C/svg%3E");
	}

	.genesis-nav-menu.responsive-menu > .menu-item > .sub-menu {
		display: none;
	}

	.genesis-nav-menu.responsive-menu .sub-menu {
		background-color: rgba(0, 0, 0, 0.05);
		left: auto;
		opacity: 1;
		position: relative;
		-moz-transition:    opacity .4s ease-in-out;
		-ms-transition:     opacity .4s ease-in-out;
		-o-transition:      opacity .4s ease-in-out;
		-webkit-transition: opacity .4s ease-in-out;
		transition:         opacity .4s ease-in-out;
		width: 100%;
		z-index: 99;
	}

	.genesis-nav-menu.responsive-menu .sub-menu .sub-menu {
		margin: 0;
	}

	.genesis-nav-menu.responsive-menu .sub-menu li a,
	.genesis-nav-menu.responsive-menu .sub-menu li a:hover {
		padding: 20px;
		position: relative;
		text-transform: none;
		width: 100%;
	}

	.genesis-nav-menu.responsive-menu .current-menu-item > a,
	.genesis-nav-menu.responsive-menu .sub-menu .current-menu-item > a:hover,
	.genesis-nav-menu.responsive-menu > li.menu-item-has-children:hover > a,
	.genesis-nav-menu.responsive-menu a:hover {
		background: none;
	}

	.site-header .genesis-nav-menu.responsive-menu .current-menu-item > a,
	.site-header .genesis-nav-menu.responsive-menu .sub-menu li a,
	.site-header .genesis-nav-menu.responsive-menu .sub-menu li a:hover,
	.site-header .genesis-nav-menu.responsive-menu .sub-menu,
	.site-header .genesis-nav-menu.responsive-menu > .menu-item-has-children:before,
	.site-header .genesis-nav-menu.responsive-menu > li:hover > a,
	.site-header .genesis-nav-menu.responsive-menu a:hover {
		color: #fff;
	}

	.site-header .genesis-nav-menu.responsive-menu .sub-menu {
		background-color: rgba(255, 255, 255, 0.05);
	}

	.archive-pagination li a {
		margin-bottom: 4px;
	}

	.five-sixths,
	.four-sixths,
	.one-fourth,
	.one-half,
	.one-sixth,
	.one-third,
	.three-fourths,
	.three-sixths,
	.two-fourths,
	.two-sixths,
	.two-thirds {
		margin-left: 0;
		width: 100%;
	}

	.home-featured {
		font-size: 16px;
	}

	.home-featured .wrap {
		padding: 40px 5% 0;
	}
	
	.home-featured .widget {
		max-width: 100%;
	}

	.home-featured .widget:last-child {
		margin-bottom: 40px;
	}

	.home-featured .widget.property-search,
	.home-featured .widget.property-search:last-child {
		margin-top: 40px;
	}

	.home-featured .widget_text .widget-title,
	.tagline {
		font-size: 36px;
	}

	.entry-title,
	.footer-widgets .widget-title,
	.home-featured .widget.widget_text .widget-title {
		font-size: 30px;
	}

	.archive .content .listing,
	.full-width .featured-listings .listing,
	.full-width .featuredpage,
	.full-width .featuredpost .entry,
	.full-width .property-search input,
	.full-width .property-search select,
	.home-featured .property-search input,
	.home-featured .property-search select,
	.home-middle-1 .property-search input,
	.home-middle-1 .property-search select {
		margin: 0 0 1.5% 1.5%;
		width: 49.25%;
	}

	.archive .content .listing:nth-of-type(3n+1),
	.full-width .featured-listings .listing:nth-of-type(3n+1),
	.full-width .featuredpage:nth-of-type(4n+1),
	.full-width .featuredpost .entry:nth-of-type(3n+1),
	.full-width .property-search select:nth-of-type(4n+1),
	.home-featured .property-search select:nth-of-type(4n+1),
	.home-middle-1 .property-search select:nth-of-type(4n+1) {
		clear: none;
		margin-left: 1.5%;
	}

	.archive .content .listing:nth-of-type(2n+1),
	.full-width .featured-listings .listing:nth-of-type(2n+1),
	.full-width .featuredpage:nth-of-type(2n+1),
	.full-width .featuredpost .entry:nth-of-type(2n+1),
	.full-width .property-search select:nth-of-type(2n+1),
	.home-featured .property-search select:nth-of-type(2n+1),
	.home-middle-1 .property-search select:nth-of-type(2n+1) {
		clear: both;
		margin-left: 0;
	}

	.home-middle-2,
	.home-middle-3 {
		width: 100%;
	}

	.home-middle-1 .button {
		float: none;
		margin: 0;
	}

	.after-entry,
	.archive-description,
	.author-box,
	.comment-respond,
	.widget-area .enews-widget .widget-title,
	.entry-comments,
	.entry-pings,
	.entry,
	.full-width .widget-title,
	.home-middle-1.widget-area .widget,
	.property-search .widget-title,
	.sidebar .widget-title,
	.sidebar .widget,
	.widget-area .widget.enews-widget,
	.widget-area .widget.property-search {
		padding: 20px;
	}

	.after-entry,
	.archive-description,
	.author-box,
	.comment-respond,
	.entry-comments,
	.entry-pings,
	.entry,
	.widget {
		margin-bottom: 20px;
	}

	.sidebar .widget-title,
	.widget-area .widget.property-search .widget-wrap .widget-title,
	.widget-area .widget.enews-widget .enews .widget-title {
		margin: -20px -20px 20px;
	}

}

@media only screen and (max-width: 480px) {

	.archive .content .listing,
	.full-width .featured-listings .listing,
	.full-width .featuredpage,
	.full-width .featuredpost .entry,
	.full-width .property-search input,
	.full-width .property-search select,
	.home-featured .property-search input,
	.home-featured .property-search select,
	.home-middle-1 .property-search input,
	.home-middle-1 .property-search select,
	.home-middle-3 .featured-listings .listing {
		margin: 0 0 6px;
		width: 100%;
	}

}

/* =CWV: Reserve space for listing images to prevent CLS
   Images are registered at 500×300, so aspect-ratio locks that space
   before the network response arrives.
----------------------------------------------- */
.listing-wrap img,
.listing-wrap a > img {
	aspect-ratio: 500 / 300;
	width: 100%;
	height: auto;
	display: block;
}

} /* end @layer theme */

@layer site {

/* ── Backstretch: body must be transparent so the fixed z-index:-999999 div shows through.
   .site-inner and other wrapper elements keep their own backgrounds intact. */
body {
	background-color: transparent;
}

/* =Site Customisations
   Migrated from WP Customizer — previously in Appearance > Customise > Additional CSS.
   Uses CSS custom properties for repeated brand colours.
   Author: Chris Vancoillie / Lightspeed WP
----------------------------------------------------------------------- */

/* ── Brand tokens ── */
:root {
	--epp-navy:  #1a212b; /* site header, widget, nav */
	--epp-red:   #d23836; /* footer band */
}

/* ── reCAPTCHA badge ── */
.grecaptcha-badge {
	visibility: hidden;
}

/* ── Custom HTML widget padding reset (Zoho newsletter widget) ── */
#custom_html-2 {
	padding: 0 !important;
}

/* body.js rule removed — vanilla JS does not add .js to <body>;
   mobile nav visibility is governed entirely by the media-query block below. */

/* ── Site header background ── */
/* Background on BOTH .site-header AND .wrap so the header is navy
   immediately — even before .wrap's CSS cascades in. This eliminates
   the white/grey flash during inter-page navigation. */
.site-header,
.site-header .wrap {
	background-color: var(--epp-navy);
}

/* ── Nav-menu widget overflow fix ──────────────────────────────────────────
   @layer theme sets .widget { overflow: hidden } to clear floats inside
   widgets. The nav menu is registered as a widget (widget_nav_menu), and
   that overflow:hidden clips the absolutely-positioned sub-menu dropdown.
   Override to visible so the dropdown can extend below the header.        */
.widget_nav_menu {
	overflow: visible;
}

/* ═══════════════════════════════════════════════════════════════════════
   PRIMARY NAV — Modern redesign (v3.1.9)
   Desktop: uppercase Lato Bold, red-underline hover animation, sub-menu card.
   Mobile: overridden separately in the media-query block below.
════════════════════════════════════════════════════════════════════════ */

/* ── Top-level link: typography & layout ── */
/* padding drives height — height:100% fails because <li> is inline-block
   with no explicit height in its ancestor chain.
   28px top + 12px font + 24px bottom ≈ 64px, sits neatly in 80px header. */
.site-header .genesis-nav-menu > li > a {
	font-family: 'Lato', sans-serif;
	font-weight: 700;
	font-size: 12px;
	text-transform: uppercase;
	letter-spacing: 0.07em;
	color: rgba(255, 255, 255, 0.88);
	display: block;
	padding: 28px 14px 24px;
	border-left: 1px solid rgba(255, 255, 255, 0.12);
	white-space: nowrap;
	position: relative;
	transition: color 0.2s ease, background-color 0.2s ease;
}

/* Red underline accent — slides in from left on hover / current page */
.site-header .genesis-nav-menu > li > a::after {
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	height: 3px;
	background-color: var(--epp-red);
	transform: scaleX(0);
	transform-origin: left center;
	transition: transform 0.22s ease;
}

/* Hover: subtle light wash, full white, red line extends */
.site-header .genesis-nav-menu > li > a:hover,
.site-header .genesis-nav-menu > li > a:focus-visible {
	background-color: transparent;
	color: #fff;
}
/* ── Desktop parent-item stays styled while dropdown is open ────────────────
   @layer theme sets li.menu-item-has-children:hover > a { bg:#fff; color:#1a212b }.
   This fires whenever the li is hovered — including when the cursor is on the
   dropdown and the <a> itself is NOT hovered. Our li > a:hover rule only covers
   cursor-on-a, so the theme's white-flash wins. Override the full li:hover case. */
.site-header .genesis-nav-menu > li.menu-item-has-children:hover > a,
.site-header .genesis-nav-menu > li:focus-within > a {
	background-color: transparent;
	color: #fff;
}
/* Red underline on hover removed — current page indicator only */

/* Current page: red underline + subtle background wash */
.site-header .genesis-nav-menu > li.current-menu-item > a {
	color: #fff;
	background-color: rgba(255, 255, 255, 0.08);
}
.site-header .genesis-nav-menu > li.current-menu-item > a::after {
	transform: scaleX(1);
}

/* Current-page ancestor (e.g. SERVICES when on a SERVICES sub-page):
   cancel @layer theme's white background, show red underline to indicate
   which section the user is in — but no background wash.             */
.site-header .genesis-nav-menu > li.current-menu-ancestor > a {
	background-color: transparent;
	color: #fff;
}
.site-header .genesis-nav-menu > li.current-menu-ancestor > a::after {
	transform: scaleX(1);
}

/* ── li:hover position fix ──────────────────────────────────────────────
   Theme @layer theme sets .genesis-nav-menu .menu-item:hover { position:static }
   which removes the li as the sub-menu's positioning context.
   We restore position:relative so the sub-menu always anchors to its parent.  */
.site-header .genesis-nav-menu > li:hover,
.site-header .genesis-nav-menu > li:focus-within {
	position: relative;
}

/* ── Sub-menu card design ── */
/* Navy background matches top-level nav — same brand palette throughout.
   Red top-border + shadow give the dropdown a premium card feel.       */
.site-header .genesis-nav-menu .sub-menu {
	background-color: var(--epp-navy);
	border-top: 2px solid rgba(255, 255, 255, 0.12);
	border-radius: 0 0 6px 6px;
	box-shadow: 0 8px 28px rgba(0, 0, 0, 0.35);
	overflow: hidden;
	width: auto;
	min-width: 360px;
}

/* Sub-menu items: Genesis floats all .genesis-nav-menu li elements.
   Without an explicit float:none on sub-menu li, items sit side by side.  */
.site-header .genesis-nav-menu .sub-menu li {
	float: none;
	width: 100%;
}

/* Sub-menu link: white text on navy — same Lato/uppercase treatment as top bar */
.site-header .genesis-nav-menu .sub-menu a {
	color: rgba(255, 255, 255, 0.82);
	font-family: 'Lato', sans-serif;
	font-size: 11px;
	line-height: 1.5;
	font-weight: 700;
	letter-spacing: 0.07em;
	text-transform: uppercase;
	padding: 12px 20px;
	border: none;
	border-bottom: 1px solid rgba(255, 255, 255, 0.07);
	border-left: 3px solid transparent;
	display: block;
	width: 100%;
	box-sizing: border-box;
	transition: background-color 0.15s ease, border-color 0.15s ease, padding-left 0.15s ease;
}
/* ── Last nav-item sub-menu: right-align to prevent viewport overflow ────── */
.site-header .genesis-nav-menu > li:last-child .sub-menu {
	left: auto;
	right: 0;
}
.site-header .genesis-nav-menu .sub-menu a:hover {
	background-color: rgba(255, 255, 255, 0.09);
	border-left-color: var(--epp-red);
	padding-left: 26px;
	color: #fff;
}

/* Current sub-menu page: cancel @layer theme white, show as active item */
.site-header .genesis-nav-menu .sub-menu .current-menu-item > a,
.site-header .genesis-nav-menu .sub-menu .current-menu-item > a:hover {
	background-color: rgba(255, 255, 255, 0.09);
	border-left-color: var(--epp-red);
	padding-left: 26px;
	color: #fff;
}

/* ── Footer-nav negative margin fix (specific menu items) ── */
.menu-item-157,
.menu-item-163,
.menu-item-159,
.menu-item-160,
.menu-item-233 {
	margin-bottom: -20px;
}

/* ── Secondary (footer) nav ── */
.nav-secondary .genesis-nav-menu {
	font-weight: 700;
	padding: 0 24px 20px;
}

/* ── Home widget areas: top & bottom bands ── */
.home-bottom,
.home-top {
	background-color: #f5f5f5;
	padding: 20px 0;
	text-align: center;
}

/* ── Home middle column padding ── */
.home-middle-1.widget-area .widget {
	padding: 20px;
}

/* ── Gravity Forms / dark widget block ── */
.widget.gform_widget {
	background-color: var(--epp-navy);
	color: #fff;
	padding: 35px 20px 10px;
}

/* ── Footer content band ── */
.footercont {
	color: #fff;
	background-color: var(--epp-red);
	padding: 15px;
}

/* ── Sidebar widget title overrides ── */
.sidebar .property-search .widget-title,
.sidebar .gform_widget .widget-title {
	background: inherit !important;
	font-weight: 300;
}

.featured-listings .widget-title {
	font-weight: 300;
}

/* ── Newsletter / text widget spacing ── */
#text-8.widget.widget_text {
	padding: 2px;
	padding-top: 20px;
}

/* ── FacetWP: autocomplete search bar ── */
.listing-archive .facetwp-autocomplete {
	width: 80%;
}

.listing-archive .facetwp-autocomplete-update {
	height: 62px;
}

/* ── FacetWP: property ID facet flex layout ── */
.facetwp-facet-property_id {
	display: flex;
}

/* ── ACF map block ── */
.acf-map {
	width: 100% !important;
	height: 400px !important;
	border: #ccc solid 1px;
	margin: 20px 0;
}

/* Prevent theme CSS max-width conflict on map marker images */
.acf-map img {
	max-width: inherit !important;
}


/* ── Content visibility: skip layout for off-screen widget areas ──────────
   content-visibility: auto lets the browser skip style, layout, and paint
   for elements that are not visible in the viewport. The sidebar and footer
   widgets are typically below the fold on most page types.
   contain-intrinsic-size gives the browser a placeholder height so the
   page layout does not shift when the element is eventually rendered.
   Browser support: Chrome 85+, Edge 85+, Safari 18+ (with minor caveats).
------------------------------------------------------------------------- */
.sidebar-primary {
	content-visibility: auto;
	contain-intrinsic-size: auto 600px;
}

.footer-widgets {
	content-visibility: auto;
	contain-intrinsic-size: auto 400px;
}


/* ── Responsive embedded video ────────────────────────────────────────────
   WordPress oEmbed (Gutenberg) wraps iframes in .wp-block-embed__wrapper.
   Classic-editor raw iframes land directly inside .entry-content.
   Both patterns need max-width:100% + a preserved aspect ratio so videos
   fill the content column on any viewport without a fixed pixel width.
------------------------------------------------------------------------- */
.wp-block-embed__wrapper,
.entry-content .wp-block-embed__wrapper {
	position: relative;
	width: 100%;
}

.wp-block-embed__wrapper iframe,
.entry-content iframe[src*="youtube"],
.entry-content iframe[src*="youtu.be"],
.entry-content iframe[src*="vimeo"] {
	width: 100%;
	height: auto;
	aspect-ratio: 16 / 9;
}

/* Catch any other iframes in content (generic embeds, Loom, etc.) */
.entry-content iframe {
	max-width: 100%;
}


/* ═══════════════════════════════════════════════════════════════════════
   MOBILE NAV — Redesign (v3.1.9)
   @layer site overrides the theme-layer display:none so we can animate
   the open/close via max-height transition instead (no JS layout reads,
   no forced reflow). The JS toggles .nav-open on the nav element.
════════════════════════════════════════════════════════════════════════ */
@media only screen and (max-width: 768px) {

	/* Override theme's display:none — hidden via max-height instead */
	.genesis-nav-menu.responsive-menu {
		display: block;
		max-height: 0;
		overflow: hidden;
		transition: max-height 0.38s cubic-bezier(0.4, 0, 0.2, 1);
		background-color: var(--epp-navy);
	}
	.genesis-nav-menu.responsive-menu.nav-open {
		max-height: 800px;
	}

	/* Top-level mobile link: uppercase Lato Bold, white, separator line */
	.genesis-nav-menu.responsive-menu li a,
	.genesis-nav-menu.responsive-menu li a:hover,
	.genesis-nav-menu.responsive-menu li.current-menu-item > a,
	.genesis-nav-menu.responsive-menu .sub-menu li.current-menu-item > a:hover,
	.site-header .genesis-nav-menu.responsive-menu li a {
		display: block;
		padding: 16px 24px;
		font-family: 'Lato', sans-serif;
		font-size: 12px;
		font-weight: 700;
		text-transform: uppercase;
		letter-spacing: 0.07em;
		color: rgba(255, 255, 255, 0.88);
		border: none;
		border-bottom: 1px solid rgba(255, 255, 255, 0.07);
		border-left: 3px solid transparent;
		transition: color 0.15s ease, border-color 0.15s ease, background-color 0.15s ease;
	}
	.genesis-nav-menu.responsive-menu li a:hover,
	.genesis-nav-menu.responsive-menu > li.menu-item-has-children:hover > a,
	.site-header .genesis-nav-menu.responsive-menu li a:hover,
	.site-header .genesis-nav-menu.responsive-menu > li.menu-item-has-children:hover > a {
		color: #fff;
		background-color: rgba(255, 255, 255, 0.06);
		border-left-color: var(--epp-red);
	}

	/* Current page: full red left-border */
	.site-header .genesis-nav-menu.responsive-menu > li.current-menu-item > a,
	.site-header .genesis-nav-menu.responsive-menu > li.current-menu-ancestor > a {
		color: #fff;
		border-left-color: var(--epp-red);
	}

	/* Expanded parent item: red left border + slight highlight so it's clear
	   which dropdown is currently open (JS adds .menu-open class to the li). */
	.genesis-nav-menu.responsive-menu > li.menu-open > a,
	.site-header .genesis-nav-menu.responsive-menu > li.menu-open > a {
		color: #fff;
		background-color: rgba(255, 255, 255, 0.08);
	}

	/* Sub-menu: darker inset panel, indented links */
	.genesis-nav-menu.responsive-menu .sub-menu,
	.site-header .genesis-nav-menu.responsive-menu .sub-menu {
		background-color: rgba(0, 0, 0, 0.22);
		left: auto;
		opacity: 1;
		position: relative;
		width: 100%;
	}
	.genesis-nav-menu.responsive-menu .sub-menu li a,
	.genesis-nav-menu.responsive-menu .sub-menu li a:hover,
	.site-header .genesis-nav-menu.responsive-menu .sub-menu li a {
		font-size: 11px;
		padding: 13px 24px 13px 40px;
		color: rgba(255, 255, 255, 0.7);
		border-bottom-color: rgba(255, 255, 255, 0.04);
	}
	.genesis-nav-menu.responsive-menu .sub-menu li a:hover,
	.site-header .genesis-nav-menu.responsive-menu .sub-menu li a:hover {
		color: #fff;
		background-color: rgba(255, 255, 255, 0.06);
		border-left-color: var(--epp-red);
	}

	/* Mobile sub-menu links: allow long text to wrap (desktop uses nowrap for
	   clean single-line items; mobile needs wrapping for long entries like
	   "EMERGENCY CONTACT DETAILS – EPPING INDUSTRIA, CAPE TOWN").           */
	.genesis-nav-menu.responsive-menu .sub-menu li a,
	.site-header .genesis-nav-menu.responsive-menu .sub-menu li a {
		white-space: normal;
	}

	/* Mobile top-level items: block + full width so all items fill the container.
	   Genesis floats <li> elements; we must explicitly clear that in mobile.      */
	.genesis-nav-menu.responsive-menu > .menu-item {
		display: block;
		float: none;
		width: 100%;
	}

	/* Hamburger button: match header palette */
	.responsive-menu-icon {
		color: rgba(255, 255, 255, 0.88);
		background-color: transparent;
		transition: background-color 0.2s ease;
	}
	.responsive-menu-icon:hover,
	.responsive-menu-icon[aria-expanded="true"] {
		background-color: rgba(255, 255, 255, 0.08);
	}


	/* ── Mobile parent-item <a> full-width fix ────────────────────────────────
	   .menu-item-has-children > a has margin-right: 60px to avoid the floated
	   chevron ::before pseudo-element. On a 390px viewport this reduces the <a>
	   to 330px. Switch the chevron to position:absolute so the <a> fills 100%.  */
	.genesis-nav-menu.responsive-menu .menu-item-has-children {
		position: relative;
	}
	.genesis-nav-menu.responsive-menu .menu-item-has-children > a {
		margin-right: 0;
	}
	.genesis-nav-menu.responsive-menu > .menu-item-has-children:before {
		float: none;
		position: absolute;
		top: 0;
		right: 0;
		z-index: auto;          /* cancel @layer theme z-index:9999 */
		pointer-events: none;  /* chevron is visual only — clicks pass to <a> */
	}

}

/* ═══════════════════════════════════════════════════════════════════════
   LISTING ARCHIVE — FacetWP + card enhancements (v3.1.27)
   DOM reality (inspected from live staging):
     reset btn : <input type="button" class="facetwp-slider-reset facetwp-hidden">
     pager     : .facetwp-pager > .archive-pagination.pagination > ul > li > a.facetwp-page
     active    : class is on <li>, NOT on <a>
════════════════════════════════════════════════════════════════════════ */

/* ── Range facet: reset button ── */
/* FacetWP renders an <input type="button">, not a div.
   .facetwp-hidden is removed when the slider is moved from its default.  */
input.facetwp-slider-reset {
	-webkit-appearance: none;
	appearance: none;
	display: inline-block;
	margin-top: 8px;
	padding: 4px 14px;
	font-size: 11px;
	font-family: 'Lato', sans-serif;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	color: rgba(255, 255, 255, 0.7);
	background-color: transparent;
	border: 1px solid rgba(255, 255, 255, 0.28);
	border-radius: 3px;
	cursor: pointer;
	line-height: 1.6;
	transition: color 0.15s ease, background-color 0.15s ease, border-color 0.15s ease;
}
input.facetwp-slider-reset:hover {
	color: #fff;
	background-color: rgba(255, 255, 255, 0.12);
	border-color: rgba(255, 255, 255, 0.55);
}

/* ── FacetWP pager — modern pill pagination ── */
.facetwp-pager {
	margin: 40px 0 24px;
}
.facetwp-pager .archive-pagination.pagination {
	padding: 0;
	text-align: center;
	clear: both;
}
.facetwp-pager ul {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	justify-content: center;
	list-style: none;
	margin: 0;
	padding: 0;
}
.facetwp-pager li {
	display: block;
	float: none;
	margin: 0;
}
.facetwp-pager li.pagination-omission {
	display: inline-flex;
	align-items: center;
	height: 40px;
	padding: 0 6px;
	color: #aaa;
	font-size: 18px;
}
.facetwp-pager a.facetwp-page {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 40px;
	height: 40px;
	padding: 0 14px;
	background-color: #fff;
	border: 1px solid #ddd;
	border-radius: 4px;
	color: #1a212b;
	font-family: 'Lato', sans-serif;
	font-size: 14px;
	font-weight: 600;
	text-decoration: none;
	white-space: nowrap;
	cursor: pointer;
	user-select: none;
	transition: background-color 0.15s ease, color 0.15s ease,
	            border-color 0.15s ease, transform 0.15s ease, box-shadow 0.15s ease;
}
.facetwp-pager a.facetwp-page:hover {
	background-color: #1a212b;
	border-color: #1a212b;
	color: #fff;
	transform: translateY(-2px);
	box-shadow: 0 4px 10px rgba(0, 0, 0, 0.12);
}
/* Active class lives on <li>, not <a> */
.facetwp-pager li.active a.facetwp-page {
	background-color: var(--epp-red);
	border-color: var(--epp-red);
	color: #fff;
	cursor: default;
	transform: none;
	box-shadow: none;
}

/* ── Listing card — lift + image zoom on hover ── */
/* Listing cards appear in .content (archive) and .widget-area (homepage).
   Target .listing directly — it's a CPT-specific class, not a generic term. */
.listing {
	transition: box-shadow 0.28s ease, transform 0.28s ease;
}
.listing:hover {
	box-shadow: 0 12px 40px rgba(0, 0, 0, 0.14);
	transform: translateY(-4px);
}
/* Image zooms within the overflow:hidden aspect-ratio container */
.listing-wrap a[aria-hidden="true"] img,
.listing-wrap > a:first-child img {
	transition: transform 0.45s ease;
	will-change: transform;
}
.listing:hover .listing-wrap a[aria-hidden="true"] img,
.listing:hover .listing-wrap > a:first-child img {
	transform: scale(1.07);
}

/* ── Listing card: price pill ── */
/* Floating white pill that peeks out from the bottom of the listing image.
   .listing-price is a <span> inside .listing-wrap, after the <a><img>.
   Negative margin-top overlaps the image; position:relative + z-index
   ensures the pill renders on top of the static image container.           */
.listing .listing-price {
	display: block;
	position: relative;
	z-index: 2;
	width: fit-content;
	margin: -22px auto 14px;
	padding: 7px 24px;
	background: #ffffff;
	border-radius: 100px;
	box-shadow: 0 4px 18px rgba(0, 0, 0, 0.15);
	font-size: 1.05em;
	font-weight: 700;
	color: #1a212b;
	letter-spacing: 0.01em;
	white-space: nowrap;
}
.listing .listing-price .listing-rent {
	font-weight: 400;
	font-size: 0.88em;
	color: #555;
}

/* ── No-results empty state ── */
.epe-no-results {
	text-align: center;
	padding: 64px 24px;
	width: 100%;
	clear: both;
}
.epe-no-results__icon {
	font-size: 48px;
	margin-bottom: 16px;
	line-height: 1;
	filter: grayscale(1);
	opacity: 0.35;
}
.epe-no-results__title {
	font-family: 'Lato', sans-serif;
	font-size: 22px;
	font-weight: 700;
	color: #1a212b;
	margin-bottom: 8px;
	margin-top: 0;
}
.epe-no-results__text {
	color: #666;
	font-size: 15px;
	margin-bottom: 24px;
}
.epe-no-results__reset {
	-webkit-appearance: none;
	appearance: none;
	background-color: var(--epp-red);
	color: #fff;
	border: none;
	padding: 12px 28px;
	font-family: 'Lato', sans-serif;
	font-size: 13px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.07em;
	border-radius: 3px;
	cursor: pointer;
	transition: background-color 0.15s ease, transform 0.15s ease;
}
.epe-no-results__reset:hover {
	background-color: #b52020;
	transform: translateY(-1px);
}

} /* end @layer site */

/* ── Page navigation transitions ────────────────────────────────────────
   Chrome/Edge 126+, Safari 18.2+: cross-fade between pages on navigation.
   Eliminates the hard white flash when clicking nav links.
   Browsers that don't support this ignore it gracefully.                  */
@view-transition {
	navigation: auto;
}


/* ── Submenu: fix right-shift when last nav item hovered (v3.1.33) ── */
.site-header .genesis-nav-menu > li:last-child .sub-menu {
	left: auto;
	right: -9999px;
}
.site-header .genesis-nav-menu > li:last-child:hover .sub-menu,
.site-header .genesis-nav-menu > li:last-child:focus-within .sub-menu {
	right: 0;
	left: auto;
}

/* ── Hide old disclaimer widget — © 2026 shown via agentpress_custom_footer_creds ── */
.disclaimer.widget-area {
	display: none;
}

/* ── Home-bottom articles: equal height cards + consistent image ratio (v3.1.37) ── */
/* Use flexbox on the widget-wrap to equalise card heights and remove float layout */
.home-bottom .featuredpost > .widget-wrap {
	display: flex;
	flex-wrap: wrap;
	gap: 1.5%;
	align-items: stretch;
}
.home-bottom .featuredpost .entry {
	float: none;
	margin: 0;
	width: 32.333%;
	display: flex;
	flex-direction: column;
	flex-shrink: 0;
}
/* Clear the nth-of-type left-margin reset that the float layout needs */
.home-bottom .featuredpost .entry:nth-of-type(3n+1) {
	clear: none;
	margin-left: 0;
}
/* Image wrapper: force 5:3 ratio (370×222) to match listing cards */
.home-bottom .entry a.alignnone {
	display: block;
	aspect-ratio: 370 / 222;
	overflow: hidden;
	margin: 0;
}
.home-bottom .entry a.alignnone picture,
.home-bottom .entry a.alignnone img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	margin: 0;
}
/* Push content to fill card height so titles baseline-align */
.home-bottom .entry .entry-header {
	flex: 1;
}
/* Tighten/balance section padding */
.home-bottom {
	padding: 60px 0;
}

/* ── Home-bottom articles: hover zoom + lift + full-card click (v3.1.38) ── */
/* Card lift on hover — matches listing card behaviour */
.home-bottom .entry {
	transition: box-shadow 0.28s ease, transform 0.28s ease;
	position: relative;
}
.home-bottom .entry:hover {
	box-shadow: 0 12px 40px rgba(0, 0, 0, 0.14);
	transform: translateY(-4px);
}
/* Image zoom on hover */
.home-bottom .entry a.alignnone img {
	transition: transform 0.45s ease;
	will-change: transform;
}
.home-bottom .entry:hover a.alignnone img {
	transform: scale(1.07);
}
/* Stretched link — title <a> covers entire card so anywhere is clickable */
.home-bottom .entry .entry-title a::after {
	content: '';
	position: absolute;
	inset: 0;
	z-index: 1;
}
/* Ensure image link sits below the stretched title link */
.home-bottom .entry a.alignnone {
	z-index: 0;
	position: relative;
}

/* ── Companies we've worked with slider — match live red background (v3.1.39) ── */
/* Widget container: red background + padding, matching eppingproperty.co.za live */
.home-bottom.widget-area .widget_text {
	background-color: #d23836;
	padding: 40px;
	margin: 0 0 30px;
}
/* Widget title: cancel the .full-width .widget-title navy override, keep white text */
.home-bottom.widget-area .widget_text .widget-title {
	background-color: transparent;
	color: #fff;
	padding: 0;
	text-align: left;
	margin: 0 0 20px;
}

/* ── Companies slider: override plugin's 75px logo height to match live ~102px (v3.1.40) ── */
.home-bottom.widget-area .lgx-logo-item img.lgx-logo-img {
	width: 100% !important;
	height: 102px !important;
	object-fit: contain;
}
