/*
Theme Name: BlankSlate
Theme URI: https://opencollective.com/blankslate
Author: Web Guy
Author URI: https://opencollective.com/blankslate#section-contributors
Description: Donate: https://opencollective.com/blankslate. Learn: https://blankslate.me/. BlankSlate is the definitive WordPress boilerplate starter theme. I've carefully constructed the most clean and minimalist theme possible for designers and developers to use as a base to build websites for clients or to build completely custom themes from scratch. Clean, simple, unstyled, semi-minified, unformatted, and valid code, SEO-friendly, jQuery-enabled, no programmer comments, standardized and as white label as possible, and most importantly, the CSS is reset for cross-browser-compatability, with no intrusive visual CSS styles added whatsoever. A perfect skeleton theme. For support and suggestions, go to: https://github.com/webguyio/blankslate/issues. Thank you.
Tags: accessibility-ready, one-column, two-columns, custom-menu, featured-images, microformats, sticky-post, threaded-comments, translation-ready
Version: 2025
Requires at least: 5.2
Tested up to: 6.8
Requires PHP: 7.4
License: GNU General Public License v3 or Later
License URI: https://www.gnu.org/licenses/gpl.html
Text Domain: blankslate

BlankSlate WordPress Theme 2011-2025
BlankSlate is distributed under the terms of the GNU GPL
*/

html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font:inherit;vertical-align:baseline}html{scroll-behavior:smooth}body{line-height:1}a{text-decoration-skip-ink:auto}a[href^="tel"]{color:inherit;text-decoration:none}button{outline:0}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote:before,blockquote:after,q:before,q:after{content:'';content:none}q{display:inline;font-style:italic}q:before{content:'"';font-style:normal}q:after{content:'"';font-style:normal}textarea,input[type="text"],input[type="button"],input[type="submit"],input[type="reset"],input[type="search"],input[type="password"]{-webkit-appearance:none;appearance:none;border-radius:0}input[type="search"]{-webkit-appearance:textfield}table{border-collapse:collapse;border-spacing:0}th,td{padding:2px}big{font-size:120%}small,sup,sub{font-size:80%}sup{vertical-align:super}sub{vertical-align:sub}dd{margin-left:20px}kbd,tt{font-family:courier;font-size:12px}ins{text-decoration:underline}del,strike,s{text-decoration:line-through}dt{font-weight:bold}address,cite,var{font-style:italic}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
.sticky{}.bypostauthor{}.wp-caption{}.wp-caption-text{}.gallery-caption{}.alignright{}.alignleft{}.aligncenter{}
.screen-reader-text{border:0;clip:rect(1px,1px,1px,1px);-webkit-clip-path:inset(50%);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute!important;width:1px;word-wrap:normal!important;word-break:normal}
.screen-reader-text:focus{background-color:#f7f7f7;border-radius:3px;box-shadow:0 0 2px 2px rgba(0,0,0,.6);clip:auto!important;-webkit-clip-path:none;clip-path:none;color:#007acc;display:block;font-size:14px;font-size:.875rem;font-weight:700;height:auto;right:5px;line-height:normal;padding:15px 23px 14px;text-decoration:none;top:5px;width:auto;z-index:100000}
.skip-link{left:-9999rem;top:2.5rem;z-index:999999999;text-decoration:underline}
.skip-link:focus{display:block;left:6px;top:7px;font-size:14px;font-weight:600;text-decoration:none;line-height:normal;padding:15px 23px 14px;z-index:100000;right:auto}
.visually-hidden:not(:focus):not(:active), .form-allowed-tags:not(:focus):not(:active){position:absolute !important;height:1px;width:1px;overflow:hidden;clip:rect(1px 1px 1px 1px);clip:rect(1px, 1px, 1px, 1px);white-space:nowrap}

/* ========================================
   IDX PROPERTY CARD ENHANCEMENTS
   ======================================== */

/* CSS Loading Test - Red Background */
.IDX-showcaseCell {
    background: red !important;
    border: 3px solid red !important;
}

.property-badge {
    position: absolute !important;
    top: 15px !important;
    left: 15px !important;
    color: white !important;
    padding: 8px 16px !important;
    border-radius: 6px !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    z-index: 10 !important;
}

.property-badge.active { background: #6b7280 !important; }
.property-badge.sold { background: #be1e2d !important; }
.property-badge.pending { background: #2b2f31 !important; }
.property-badge.under-contract { background: #be1e2d !important; }
.property-badge.available { background: #6b7280 !important; }

.property-features {
    display: flex !important;
    gap: 12px !important;
    margin-top: auto !important;
}

.property-feature {
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
    background: #f8f9fa !important;
    padding: 6px 10px !important;
    border-radius: 6px !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    color: var(--dark-gray) !important;
}

.property-feature .fas {
    color: var(--brand-red) !important;
    font-size: 12px !important;
}

.mls-number {
    position: absolute !important;
    bottom: 18px !important;
    right: 18px !important;
    background: white !important;
    color: #6b7280 !important;
    font-size: 11px !important;
    font-weight: 500 !important;
    padding: 4px 8px !important;
    border-radius: 4px !important;
    border: 1px solid #e5e7eb !important;
    z-index: 10 !important;
}

/* ========================================
   TRUE NORTH NAVIGATION STYLING
   ======================================== */

/* CSS Variables for True North Color Scheme */
:root {
    /* True North Brand Colors */
    --brand-red: #BE1E2D;
    --brand-navy: #2B3990;
    --brand-light-blue: #AABBF0;
    
    /* Harmonized Color System */
    --dark-gray: #2b2f31;
    --natural-gray: #6b7280;
    --hayden-text: #2b2f31;
    
    /* Neutrals */
    --white: #ffffff;
    --off-white: #fafafa;
    --light-gray: #f8f9fa;
    --medium-gray: #e1e8ed;
    --black: #000000;
}

/* Google Fonts loaded in HTML head for faster loading */

/* Base Styles for Navigation */
body {
    margin-top: 130px !important;
    font-family: 'Lato', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    font-size: 18px;
    line-height: 1.6;
    color: var(--hayden-text);
    overflow-x: hidden;
    background: var(--white);
}

h1, h2, h3, h4, h5, h6 {
    font-family: 'Lato', sans-serif;
    font-weight: 700;
    line-height: 1.2;
    color: var(--dark-gray);
}

/* Professional Two-Tier Navigation */
.navigation {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 1000;
    background: #ffffff;
    transition: all 0.3s ease;
    box-shadow: 0 2px 4px rgba(107, 114, 128, 0.15);
    font-family: 'Lato', sans-serif;
}

/* Top Bar - Contact Info */
.nav-top-bar {
    background: var(--white);
    border-bottom: 1px solid rgba(107, 114, 128, 0.15);
    padding: 0.5rem 0;
    font-size: 0.9rem;
    transition: border-bottom 0.3s ease;
}

.nav-top-content {
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 20px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.nav-top-left {
    display: flex;
    align-items: center;
    gap: 2rem;
    color: var(--natural-gray);
}

.nav-top-left span {
    font-weight: 500;
}

.nav-top-right {
    display: flex;
    align-items: center;
    gap: 1.5rem;
}

.nav-top-item {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    color: var(--natural-gray);
    text-decoration: none;
    transition: all 0.3s ease;
    border-radius: 4px;
    padding: 0.5rem 0.75rem;
    font-weight: 500;
}

.nav-top-item:hover {
    color: var(--brand-red);
    background: transparent;
    transform: none;
}

.nav-top-item i {
    color: var(--natural-gray);
    transition: color 0.3s ease;
    font-size: 12px;
}

.nav-top-item:hover i {
    color: var(--brand-red);
}

/* Main Navigation */
.nav-main {
    background: #ffffff;
    padding: 0;
    border-bottom: 1px solid rgba(107, 114, 128, 0.1);
}

.nav-inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 1rem 20px;
    max-width: 1400px;
    margin: 0 auto;
}

/* Scrolled Navigation State */
.navigation.scrolled {
    transform: translateY(-40px);
}

.navigation.scrolled .nav-top-bar {
    border-bottom: none;
}

.navigation.scrolled .nav-main {
    box-shadow: 0 2px 10px rgba(107, 114, 128, 0.2);
}

/* Logo Section */
.logo-section {
    display: flex;
    align-items: center;
}

.logo-link {
    display: flex;
    align-items: center;
    text-decoration: none;
    gap: 15px;
}

.horse-logo img {
    height: 50px;
    width: auto;
}

.brand-text {
    display: flex;
    flex-direction: column;
}

.brand-tagline {
    color: var(--natural-gray);
    font-size: 16px;
    font-weight: 500;
    line-height: 1.2;
}

/* Mobile Menu Toggle */
.mobile-menu-toggle {
    display: none;
    background: none;
    border: none;
    font-size: 24px;
    color: var(--navy-blue);
    cursor: pointer;
    padding: 10px;
}

/* Main Navigation Menu */
.main-nav {
    display: flex;
    list-style: none;
    margin: 0;
    padding: 0;
    align-items: center;
    gap: 30px;
}

.nav-item {
    position: relative;
}

.nav-link {
    color: var(--hayden-text);
    text-decoration: none;
    font-weight: 500;
    font-size: 16px;
    padding: 10px 0;
    transition: all 0.3s ease;
    display: block;
}

.nav-link:hover {
    color: var(--brand-red);
}

/* CTA Button in Navigation */
.nav-cta-button {
    background: var(--brand-red) !important;
    color: white !important;
    padding: 0.5rem 1.5rem !important;
    border-radius: 50px !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    transition: all 0.3s ease !important;
}

.nav-cta-button:hover {
    background: #a01a26 !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 4px 12px rgba(190, 30, 45, 0.3) !important;
}

.nav-cta-button::after {
    display: none !important;
}

/* Mega Menu */
.mega-menu {
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translateX(-50%);
    background: white;
    box-shadow: 0 10px 30px rgba(0,0,0,0.15);
    border-radius: 12px;
    padding: 30px;
    width: 600px;
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s ease;
    z-index: 100;
}

.nav-item:hover .mega-menu {
    opacity: 1;
    visibility: visible;
    transform: translateX(-50%) translateY(10px);
}

.mega-menu-content {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
}

.mega-menu-section h4 {
    color: var(--dark-gray);
    font-size: 1rem;
    margin-bottom: 1rem;
    padding-bottom: 0.5rem;
    border-bottom: 2px solid var(--natural-gray);
    font-weight: 700;
}

.mega-menu-links {
    list-style: none;
    padding: 0;
    margin: 0;
}

.mega-menu-links li {
    margin-bottom: 8px;
}

.mega-menu-links a {
    color: var(--natural-gray);
    text-decoration: none;
    font-size: 14px;
    font-weight: 500;
    transition: all 0.3s ease;
    display: block;
    padding: 5px 0;
}

.mega-menu-links a:hover {
    color: var(--dark-gray);
    transform: translateX(5px);
    background-color: rgba(107, 114, 128, 0.05);
    padding-left: 0.5rem;
}

/* Mobile Responsiveness */
@media screen and (max-width: 768px) {
    .nav-top-content {
        padding: 0 15px;
        flex-direction: column;
        gap: 10px;
        text-align: center;
    }
    
    .nav-top-right {
        flex-direction: column;
        gap: 10px;
    }
    
    .nav-inner {
        padding: 0 15px;
        height: 70px;
    }
    
    .brand-tagline {
        font-size: 14px;
    }
    
    .mobile-menu-toggle {
        display: block;
    }
    
    .main-nav {
        display: none;
        position: absolute;
        top: 100%;
        left: 0;
        right: 0;
        background: white;
        flex-direction: column;
        padding: 20px;
        box-shadow: 0 5px 20px rgba(0,0,0,0.1);
        gap: 0;
    }
    
    .main-nav.mobile-active {
        display: flex;
    }
    
    .nav-item {
        width: 100%;
    }
    
    .nav-link {
        padding: 15px 0;
        border-bottom: 1px solid var(--light-gray);
    }
    
    .mega-menu {
        position: static;
        transform: none;
        width: 100%;
        margin-top: 10px;
        box-shadow: none;
        border-radius: 0;
        border-top: none;
        padding: 20px;
        opacity: 0;
        max-height: 0;
        overflow: hidden;
        transition: all 0.3s ease;
    }
    
    .nav-item:hover .mega-menu,
    .nav-item.mobile-active .mega-menu {
        opacity: 1;
        max-height: 500px;
    }
    
    .mega-menu-content {
        grid-template-columns: 1fr;
        gap: 20px;
    }
}

@media screen and (max-width: 480px) {
    .horse-logo img {
        height: 40px;
    }
    
    .brand-tagline {
        font-size: 12px;
    }
    
    .nav-inner {
        height: 60px;
    }
}

/* ========================================
   IDX PROPERTY CARD TRANSFORMATION - CSS
   ======================================== */

/* Main container styling - eliminates white background offset */
.IDX-showcaseCell {
    width: 370px !important;
    height: 480px !important;
    margin: 15px !important;
    padding: 0 !important;
    background: transparent !important;
    position: relative !important;
    display: block !important;
    overflow: visible !important;
    border: none !important;
}

/* Content container - positioned absolutely to eliminate offset */
.IDX-showcaseContainer {
    display: flex !important;
    flex-direction: column !important;
    width: 370px !important;
    height: 480px !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
    background: white !important;
    border: 1px solid #e5e7eb !important;
    border-radius: 12px !important;
    box-shadow: 0 10px 30px rgba(0,0,0,0.15) !important;
}

/* Image container styling */
.property-image-container,
.IDX-showcasePhoto,
.IDX-showcaseLink {
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
}

/* Remove gaps from all child elements */
.IDX-showcaseContainer > * {
    margin: 0 !important;
}

.property-image-container {
    position: relative !important;
    height: 280px !important;
    overflow: hidden !important;
}

.IDX-showcasePhoto {
    height: 280px !important;
    width: 100% !important;
    object-fit: cover !important;
    border-radius: 12px 12px 0 0 !important;
    display: block !important;
}

/* Property status badge */
.property-badge {
    position: absolute !important;
    top: 15px !important;
    left: 15px !important;
    color: white !important;
    padding: 8px 16px !important;
    border-radius: 20px !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    z-index: 10 !important;
}

/* Badge color variations */
.property-badge.active { background: #6b7280 !important; }
.property-badge.sold { background: #be1e2d !important; }
.property-badge.pending { background: #2b2f31 !important; }
.property-badge.under-contract { background: #be1e2d !important; }
.property-badge.available { background: #6b7280 !important; }

/* Price overlay */
.property-price {
    position: absolute !important;
    bottom: 15px !important;
    right: 15px !important;
    background: rgba(0,0,0,0.8) !important;
    color: white !important;
    padding: 8px 12px !important;
    border-radius: 6px !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    z-index: 10 !important;
}

/* Property details section */
.property-details {
    padding: 18px !important;
    flex: 1 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
}

.property-title {
    font-size: 20px !important;
    font-weight: 700 !important;
    color: #1f2937 !important;
    margin-bottom: 8px !important;
    line-height: 1.2 !important;
}

.property-location {
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
    color: #6b7280 !important;
    font-size: 14px !important;
    margin-bottom: 8px !important;
}

.property-location .fas {
    color: #dc2626 !important;
    font-size: 12px !important;
}

.property-description {
    color: #4b5563 !important;
    font-size: 14px !important;
    line-height: 1.4 !important;
    margin-bottom: 12px !important;
    flex: 1 !important;
}

/* Property features (beds/baths) */
.property-features {
    display: flex !important;
    gap: 12px !important;
    margin-top: auto !important;
}

.property-feature {
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
    background: #f8f9fa !important;
    padding: 6px 12px !important;
    border-radius: 16px !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    color: #374151 !important;
}

.property-feature .fas {
    color: #6b7280 !important;
    font-size: 12px !important;
}

/* MLS number styling */
.mls-number {
    position: absolute !important;
    bottom: 18px !important;
    right: 18px !important;
    background: white !important;
    color: #6b7280 !important;
    font-size: 11px !important;
    font-weight: 500 !important;
    padding: 4px 8px !important;
    border-radius: 4px !important;
    border: 1px solid #e5e7eb !important;
    z-index: 10 !important;
}

/* Hide original IDX elements */
.IDX-showcaseBeds, .IDX-showcaseBaths, .IDX-showcaseFull, .IDX-showcasePartial,
.IDX-showcaseStatus, .IDX-showcaseListingID, .IDX-showcaseAddress, .IDX-showcaseCityStateZip,
.IDX-showcasePrice { 
    position: absolute !important;
    left: -9999px !important;
    visibility: hidden !important;
}

/* ========================================
   TRUE NORTH NAVIGATION JAVASCRIPT
   ======================================== */

<script>
// Mobile menu toggle function
function toggleMobileMenu() {
    const mainNav = document.getElementById('mainNavMenu');
    const toggleButton = document.querySelector('.mobile-menu-toggle');
    
    if (mainNav) {
        mainNav.classList.toggle('mobile-active');
        
        // Toggle hamburger to X icon
        const icon = toggleButton.querySelector('i');
        if (mainNav.classList.contains('mobile-active')) {
            icon.className = 'fas fa-times';
        } else {
            icon.className = 'fas fa-bars';
        }
    }
}

// Close mobile menu when clicking outside
document.addEventListener('click', function(event) {
    const mainNav = document.getElementById('mainNavMenu');
    const toggleButton = document.querySelector('.mobile-menu-toggle');
    const navigation = document.querySelector('.navigation');
    
    if (mainNav && mainNav.classList.contains('mobile-active')) {
        if (!navigation.contains(event.target)) {
            mainNav.classList.remove('mobile-active');
            const icon = toggleButton.querySelector('i');
            icon.className = 'fas fa-bars';
        }
    }
});

// Close mobile menu on window resize
window.addEventListener('resize', function() {
    if (window.innerWidth > 768) {
        const mainNav = document.getElementById('mainNavMenu');
        const toggleButton = document.querySelector('.mobile-menu-toggle');
        
        if (mainNav && mainNav.classList.contains('mobile-active')) {
            mainNav.classList.remove('mobile-active');
            const icon = toggleButton.querySelector('i');
            icon.className = 'fas fa-bars';
        }
    }
});
</script>

/* ========================================
   BLANKSLATE THEME SUPPRESSIONS
   ======================================== */

/* Hide Edit Post Links */
.post-edit-link {
    display: none !important;
}

/* Suppress Default BlankSlate List Styling */
.wp-block-list,
ol,
ul {
    list-style: none !important;
    padding-left: 0 !important;
    margin-left: 0 !important;
}

/* Hide Footer Credit Links */
.site-footer a[href*="wordpress.org"],
.site-footer a[href*="blankslate"],
.site-info a,
.theme-credit {
    display: none !important;
}

/* Clean Footer Styling */
.site-footer {
    text-align: center !important;
    padding: 2rem 0 !important;
    border-top: 1px solid #e5e7eb !important;
    background: #f8f9fa !important;
}

/* Remove Default WordPress Gallery Styling */
.gallery {
    margin: 0 !important;
}

.gallery-item {
    margin: 0 !important;
    padding: 0 !important;
}

/* Remove Default Comment Form Styling */
.comment-form-comment textarea {
    width: 100% !important;
    max-width: 100% !important;
}

/* Hide Admin Bar for Non-Admins */
.admin-bar {
    margin-top: 0 !important;
}

/* Remove Default Widget Styling */
.widget {
    margin: 0 0 2rem 0 !important;
}

.widget_search .search-form {
    display: none !important;
}

/* Clean Navigation Menu Styling */
.menu-item a {
    text-decoration: none !important;
}

.menu-item a:hover {
    text-decoration: none !important;
}