/*
Theme Name: Miller Gerrard
Theme URI: https://oceanwp.org/
Template: oceanwp
Author: OceanWP
Author URI: https://oceanwp.org/about-oceanwp/
Description: OceanWP is the perfect theme for your project. Lightweight and highly extendable, it will enable you to create almost any type of website such a blog, portfolio, business website and WooCommerce storefront with a beautiful &amp; professional design. Very fast, responsive, RTL &amp; translation ready, best SEO practices, unique WooCommerce features to increase conversion and much more. You can even edit the settings on tablet &amp; mobile so your site looks good on every device. Work with the most popular page builders as Elementor, Beaver Builder, Brizy, Visual Composer, Divi, SiteOrigin, etc... Developers will love his extensible codebase making it a joy to customize and extend. Best friend of Elementor &amp; WooCommerce. Looking for a Multi-Purpose theme? Look no further! Check the demos to realize that it's the only theme you will ever need: https://oceanwp.org/demos/
Tags: two-columns,right-sidebar,footer-widgets,blog,news,custom-background,custom-menu,post-formats,rtl-language-support,sticky-post,editor-style,threaded-comments,translation-ready,buddypress,custom-colors,featured-images,full-width-template,theme-options,e-commerce,block-styles,wide-blocks,accessibility-ready
Version: 3.4.2.1678130358
Updated: 2023-03-06 19:19:18

*/

/* General Styles */

.menu-item {width:auto;}
.thumbnail-caption {display:none !important;}


ul.flex-list {
	display:flex;
	flex-wrap:wrap;
}
ul.flex-list li {
	min-width:50%;
}
span.purple-text {color:#7A226E;}
span.gold-text {color:#D5A05E;}


/* Property Search */
/* ============================
   PROPERTY FILTER FORM
============================ */

.property-filter-form {
    background: #f8f9fa;
    padding: 25px;
    border-radius: 12px;
    margin-bottom: 35px;
    border: 1px solid #e3e3e3;
}

.filters-grid {
    display: grid;
    gap: 20px;
    grid-template-columns: repeat(4, 1fr);
}

.filter-field label {
    display: block;
    font-weight: 600;
    margin-bottom: 6px;
    color: #333;
    font-size: 14px;
}

.filter-field input,
.filter-field select {
    width: 100%;
    padding: 10px 12px;
    border-radius: 6px;
    border: 1px solid #ccc;
    background: white;
    font-size: 14px;
}

.filter-field select:focus,
.filter-field input:focus {
    border-color: #0073e6;
    outline: none;
}

.submit-field {
    align-self: end;
}

.property-filter-form button {
    width: 100%;
    padding: 12px;
    background: #0073e6;
    color: white;
    font-weight: 600;
    border-radius: 6px;
    border: none;
    cursor: pointer;
    transition: 0.2s;
}

.property-filter-form button:hover {
    background: #005bb5;
}

/* Property Archive */
.clear-filters-btn {
    display:block;
    background:#002633;
    color:#fff;
    padding:5px 25px;
    border-radius:6px;
    text-decoration:none;
    font-weight:600;
    text-align:center;
}

.clear-filters-btn:hover {
    background:#2D2D2D;
	color:#fff;
}
.property-archive {
    max-width: 100%;
	width:1200px;
    margin: 0 auto;
    padding: 40px 20px;
}

.property-archive .archive-title {
    color: #7A226E;
    font-size: 32px;
    margin-bottom: 30px;
    text-align: center;
}


.property-card {
    margin-bottom: 30px;
    border: 1px solid #eee;
    border-radius: 6px;
    overflow: hidden;
    background: #fff;
    transition: box-shadow 0.3s ease;
}

.property-card img,
.mg-gallery-image img {
    content-visibility: auto;
}
.property-card:hover {
    box-shadow: 0 4px 12px rgba(0,0,0,0.1);
}

.property-card-inner {
    display: flex;
    flex-wrap: wrap;
}

.property-card-gallery {
    flex: 0 0 40%;
    max-width: 40%;
}
.property-card-gallery img {
    width: 100%;
    height: 350px;
    object-fit: cover;
}

.property-card-info {
    flex: 0 0 60%;
    max-width: 60%;
    padding: 20px;
    position: relative;
}

.property-card-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 15px;
    margin-bottom: 8px;
}

.property-card-title {
    font-size: 20px;
    font-weight: 600;
    margin: 0;
    flex: 1;
    line-height: 1.3;
     display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.property-card-title a {
    color: #333;
    text-decoration: none;
}

.property-card-title a:hover {
    color: #7A226E;
}

.property-card-price {
    text-align: right;
    white-space: nowrap;
}

.property-card-price .property-price-prefix {
    display: block;
    font-size: 13px;
    color: #777;

}

.property-card-price .property-price {
    font-size: 18px;
    font-weight: 600;
    color: #7A226E;

}

.property-card-excerpt {
    margin: 30px 40px 25px 0;
    font-size:15px;
}

.property-card-meta {
    margin-bottom: 15px;
    font-size: 14px;
    color: #555;
}
.property-card-meta span {
    margin-right: 15px;
}

.view-details-btn {
    display: inline-block;
    padding: 8px 15px;
    background: #7A226E;
    color: #fff;
    text-decoration: none;
    border-radius: 4px;
    font-weight: bold;
    transition: background 0.3s ease;
}
.view-details-btn:hover {
    background: #C69659;
}

/* Custom Slick arrows - used for both single & archive galleries */
.custom-slick-prev,
.custom-slick-next {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 10;
    width: 40px;
    height: 40px;
    background: #7A226E; /* brand purple */
    color: #fff;
    opacity:0.7;
    font-size: 24px;
    line-height: 38px;
    text-align: center;
    border-radius: 50%;
    cursor: pointer;
    transition: background 0.3s ease, transform 0.2s ease;
}

/* Hover effect */
.custom-slick-prev:hover,
.custom-slick-next:hover {
    background: #C69659; /* brand gold */
    transform: translateY(-50%) scale(1.1);
}

/* Positioning */
.custom-slick-prev {
    left: 10px;
}
.custom-slick-next {
    right: 10px;
}

/* Make sure text inside is hidden */
.custom-slick-prev,
.custom-slick-next {
    font-family: Arial, sans-serif; /* fallback */
    user-select: none;
}


/* Testimonials */
.strong-view.wpmtst-modern .wpmtst-testimonial-content:before, .strong-view.wpmtst-modern .wpmtst-testimonial-content:after {
	background:#D5A05E !important;
}
h3.testimonial-heading {
	font-size:34px;
	font-family: "Montserrat", sans-serif !important;
	font-weight:300 !important;
	color:#7A226E;
}
.es-property-section .es-property-section__title:after {
	top:25px !important;
	background:#D5A05E !important;
	opacity:0.4;
}
.es-property-section.es-property_section--basic-facts .es-property-fields .es-property-field .es-property-field__label {
	font-weight:bold !important;
	color:#7A226E;
}
.es-property-section .es-property-fields .es-property-field, .es-badge {font-size:17px;}

/* Our Team */
.ekit-wid-con .profile-square-v.square-v6 .profile-card::after {
	background-color:#D5A05E !important;
}

.ekit-wid-con .profile-square-v.square-v6 .profile-card:hover a {
	color:#fff;
}
.ekit-team-img.profile-header > img {
	height:350px !important;
	object-fit:cover;
}

/* Property Valuation */
ul.selling-list {
	list-style:none;
}
ul.selling-list li:before {
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	content: "\f00c";
	color:#7A226E;
	margin-right:5px;
}


/* Footer Text */
p.footer-text {
	font-size:13px;
	line-height:18px;
}
.contact-info-widget span.oceanwp-contact-text {
	font-size:13px;
	line-height:18px;
}
.oceanwp-contact-title {
	font-size:16px;
}

#request-form-button {display:none;}

/* -------------------------------------------
   Homepage Search Bar (White, 4-column layout)
------------------------------------------- */

.homepage-property-search {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 10px;
    max-width: 1000px;
    margin: 0 auto;
}

.homepage-property-search input,
.homepage-property-search select {
    width: 100% !important;
    font-size: 16px !important;
    border: 1px solid #ccc !important;
    background: #fff !important;
    color: #333 !important;
    border-radius: 6px !important;
    transition: border-color 0.2s ease !important;
	height:35px !important;
}

.homepage-property-search input:focus,
.homepage-property-search select:focus {
    border-color: #9c2f77;
    outline: none;
}

.homepage-property-search .hps-submit {
    background: #9c2f77;
    color: #fff;
    border: none;
    border-radius: 6px;
    font-size: 16px;
    font-weight: 600;
    text-transform: uppercase;
    cursor: pointer;
    transition: 0.2s ease;
    height:39px;
    line-height: 0.5;
}

.homepage-property-search .hps-submit:hover {
    background: #7a225d;
}

/* Banner positioning */
.property-card-gallery {
    position: relative;
}

.property-status-banner {
    position: absolute;
    top: 10px;
    left: 10px;
    padding: 6px 14px;
    font-size: 14px;
    font-weight: 600;
    color: #fff;
    border-radius: 4px;
    z-index: 20;
}

/* Colours */
.status-for-sale {
    background: #7A226E;
}

.status-sold {
    background: #002633;
}

.status-under-offer {
    background: #C69659;
}

.property-locality {
    font-size: 0.95rem;
    color: #7a1f63;   /* match icon/text colour of meta icons */
    font-weight: 500;
    margin-bottom: 5px;
}

.property-locality i {
    margin-right: 4px;
}
/* =========================================================
   PROPERTY SYSTEM – GLOBAL LAYOUT FOUNDATION
   ========================================================= */

.property-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 5% 10px;
}

.property-single {
    width: 1200px;
	max-width:100%;
    margin: 0 auto;
    padding: 40px 20px;
}


/* =========================================================
   MODERN PROPERTY GALLERY GRID
   ========================================================= */

.property-gallery-grid {

    display: grid;
    grid-template-columns: 2fr 1fr;
    grid-template-rows: repeat(3, 180px);
    gap: 12px;

}


/* Individual gallery items */

.property-gallery-grid .mg-gallery-item {

    max-width: none !important; /* override OceanWP */
    width: 100%;
    height: 100%;

    display: block;
    overflow: hidden;
    border-radius: 10px;

}


/* Images fill their grid cells */

.property-gallery-grid .mg-gallery-item img {

    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;

}


/* Grid positioning */

.mg-gallery-item-1 {

    grid-row: 1 / span 3;
    grid-column: 1;

}

.mg-gallery-item-2 {

    grid-column: 2;
    grid-row: 1;

}

.mg-gallery-item-3 {

    grid-column: 2;
    grid-row: 2;

}

.mg-gallery-item-4 {

    grid-column: 2;
    grid-row: 3;

}


/* Hide additional images from grid (but keep in lightbox) */

.mg-hidden {

    display: none !important;

}

.mg-gallery-image {
    position: relative;
    height: 100%;
}

/* Permanent overlay */

.mg-gallery-overlay {
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,0.2);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    font-weight: 600;
    border-radius: 10px;
    text-align: center;
    padding: 10px;

}

.mg-gallery-overlay-inner {
    background: rgba(122,34,110,0.7);
    padding: 12px 18px;
    border-radius: 90px;
    backdrop-filter: blur(2px);
}


/* Hover effect (optional but recommended) */

.property-gallery-grid .mg-gallery-item img {

    transition: transform 0.3s ease;

}

.property-gallery-grid .mg-gallery-item:hover img {

    transform: scale(1.03);

}


/* =========================================================
   PROPERTY HERO / TITLE SECTION
   ========================================================= */

.property-hero {
    margin-top: 25px;
    margin-bottom: 20px;
}

.property-hero-main {
    display: grid;
    grid-template-columns: 1fr 320px;
    gap: 50px;
    align-items: start;
}

.property-hero,
.property-hero-main,
.property-container,
.property-single {
    overflow: visible !important;
}

.property-price-area {
    position: sticky;
    top: 120px;
}

.property-sidebar-box {
    background: #ffffff;
    padding: 30px;
    border-radius: 12px;
    box-shadow: 0 12px 30px rgba(0,0,0,0.08);
    border: 1px solid #eee;
}

/* Status badge */

.property-status-badge {

    display: inline-block;
    background: #7A226E;
    color: #fff;

    font-size: 13px;
    font-weight: 600;

    padding: 6px 12px;
    border-radius: 4px;

    margin-bottom: 10px;

    text-transform: uppercase;
}


/* Main title */

.property-title-area h1 {

    font-size: 32px;
    font-weight: 600;

    margin: 0 0 8px 0;

    color: #222;
    line-height: 1.3;
}


/* Address / locality */

.property-address {

    font-size: 16px;
    color: #7A226E;

    margin-bottom: 12px;
    font-weight: 500;
}


/* Meta row (beds, baths, type, etc) */

.property-meta {

    display: flex;
    flex-wrap: wrap;
    gap: 20px;

    font-size: 15px;
    color: #555;
}

.property-meta span {

    display: inline-flex;
    align-items: center;
    gap: 6px;
}


/* Icons */

.property-meta i {

    color: #7A226E;
    font-size: 14px;
}


/* Optional separator line */

.property-hero {

    border-bottom: 1px solid #eee;
    padding-bottom: 20px;
}



/* =========================================================
   MAIN CONTENT + SIDEBAR LAYOUT
   ========================================================= */

.price-prefix {
    background: #dadada;
    display: inline;
    padding: 5px 15px;
    border-radius: 90px;
    font-size: 14px;
}

.property-main {
    flex: 1;
    min-width: 0;
}

.property-sidebar {
    width: 320px;
    flex-shrink: 0;
}


/* Sticky sidebar box */

.property-sidebar-box {
    position: sticky;
    top: 120px;
    background: #fff;
    padding: 25px;
    border-radius: 8px;
    box-shadow: 0 4px 20px rgba(0,0,0,0.08);
}


/* Sidebar price styling */

.property-sidebar-box .price {
    font-size: 38px;
    font-weight: 600;
    color: #7A226E;
}

.property-sidebar-box a {
    background:#7A226E;
    border-radius:6px;
    color:#fff;
    padding:10px 35px;
    transition: all .4s;
    opacity:0.8;
}
.property-sidebar-box a:hover {
    color:#fff !important;
    opacity:1;
}


/* =========================================================
   PROPERTY DESCRIPTION
   ========================================================= */

.property-description {
    margin-top: 10px;
    font-size: 16px;
    line-height: 1.6;
}


/* =========================================================
   PROPERTY DOWNLOADS
   ========================================================= */

.property-downloads {
    margin-top: 60px;
}

.property-downloads h2 {
    color: #7A226E;
    border-bottom: 1px solid #C69659;
    padding-bottom: 5px;
}

.property-downloads h2,
.property-floorplan h2,
.property-map h2,
.property-video h2 {
    font-size: 24px;
    margin-bottom: 18px;
    font-weight: 600;
}

.download-btn {
    display: inline-block;
    margin: 0 10px 10px 0;
    padding: 12px 20px;
    background-color: #7A226E;
    color: #fff !important;
    text-decoration: none;
    border-radius: 4px;
    font-weight: bold;
    font-size: 15px;
}

.download-btn:hover {
    background-color: #C69659;
}


/* =========================================================
   FLOORPLAN
   ========================================================= */

.property-floorplan {
    margin-top: 60px;
}

.property-floorplan img {
    max-width: 100%;
    border-radius: 6px;
}


/* =========================================================
   MAP + VIDEO
   ========================================================= */

.property-map,
.property-video {
    margin-top: 60px;
}

.property-map h2,
.property-video h2 {
    font-size: 32px;
    color: #7A226E;
    border-bottom: 1px solid #C69659;
    padding-bottom: 5px;
    margin-bottom: 15px;
}


/* Video responsive wrapper */

.video-wrapper iframe {
    width: 100%;
    height: 600px;
}


/* =========================================================
   RELATED PROPERTIES
   ========================================================= */

.related-properties {
    margin-top: 60px;
    background: #E5E9EB;
    padding:5% 5px;
}

.related-properties h2 {
    font-size: 28px;
    margin-bottom: 25px;
    text-align: center;
    color:#7A226E;
}

.related-property-card {
    background: #fff;
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 4px 12px rgba(0,0,0,0.1);
    margin:10px;
}

.rpc-image img {
    width: 100%;
    height:200px;
    object-fit:cover;
}

.featured-properties .rpc-status {display: none;}

.related-property-card h3 {
    padding-right:30px;
}

.related-property-card {
    transition: all 0.25s ease;
}

.related-property-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 15px 35px rgba(0,0,0,0.15);
}


.related-btn {
    background: #7A226E;
    font-size: 16px;
    padding: 5px 30px;
    border-radius: 6px;
    display: inline-block;
    margin-top: 20px;
    color: #fff;
}
.rpc-status {
    position: absolute;
    top: 10px;
    left: 10px;
    padding: 6px 12px;
    font-size: 13px;
    border-radius: 4px;
    color: #fff;
}

.related-properties-slider .custom-slick-prev {
    position: absolute;
    left:-40px;
}

.related-properties-slider .custom-slick-next {
    position:absolute;
    right:-40px;
}

.rpc-status.rpc-for-sale { background: #7A226E; }
.rpc-status.rpc-under-offer { background: #C69659; }
.rpc-status.rpc-sold { background: #002633; }

.rpc-info {
    padding: 15px;
}

.rpc-price {
    font-weight: bold;
    font-size:16px;
    color: #fff;
    position: absolute;
    top: 25px;
    background: #C69659;
    padding: 0px 20px;
    border-radius: 6px;
}

.rpc-price span {
    font-size:12px;
}

.rpc-meta span {
    margin-right: 12px;
}

/* =========================================================
   RESPONSIVE BREAKPOINTS
   ========================================================= */


/* =========================
   900px and below
   ========================= */

@media (max-width: 900px) {

    /* Property filter form */
    .filters-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    /* Property layout */
    .property-content {
        flex-direction: column;
    }

    .property-sidebar {
        width: 100%;
    }

    .property-sidebar-box {
        position: relative;
        top: auto;
    }

}


/* =========================
   768px and below
   ========================= */

@media (max-width: 768px) {

    /* Homepage search */
    .homepage-property-search {
        grid-template-columns: repeat(2, 1fr);
    }

    /* Property archive */
    .property-archive {
        max-width: 100%;
    }

	/* Gallery grid */
	.property-gallery-grid {
        grid-template-columns: 1fr 1fr;
        grid-template-rows: auto;
    }

    .mg-gallery-item-1 {
        grid-column: 1 / -1;
        grid-row: auto;
    }

    .mg-gallery-item-2,
    .mg-gallery-item-4 {
        grid-column: auto;
        grid-row: auto;
    }
	.mg-gallery-item-3 {display:none !important;}
	.property-gallery-grid img {
        height: 160px;
        object-fit: cover;
    }

    .mg-gallery-item-1 img {
        height: 240px;
    }
	.mg-gallery-overlay {padding-bottom:6px;align-items: end;}
	span.mg-gallery-overlay-inner {
		padding: 2px 8px;
        border-radius: 6px;
        font-size: 12px;
	}
}


/* =========================
   600px and below
   ========================= */

@media (max-width: 600px) {

    /* Property filter form */
    .filters-grid {
        grid-template-columns: 1fr;
    }

    /* Property hero layout */
    .property-hero-main {
        display: flex;
        flex-direction: column;
        gap: 20px;
    }

}


/* =========================
   480px and below
   ========================= */

@media (max-width: 480px) {

    /* Homepage search */
    .homepage-property-search {
        grid-template-columns: 1fr;
    }

    /* Property cards */
    .property-card-inner {
        flex-direction: column;
    }

    .property-card-gallery,
    .property-card-info {
        width: 100%;
        max-width: 100%;
    }

    .property-card-header {
        flex-direction: column;
    }

    .property-card-meta {
        display: flex;
        flex-wrap: wrap;
    }

    .property-card-meta span {
        min-width: 40%;
    }

    .property-price-area {
        width: 100%;
    }

    .download-btn {
        display: block;
        text-align: center;
    }

    /* Header adjustments */
    #site-logo #site-logo-inner a img,
    #site-header.center-header #site-navigation-wrap .middle-site-logo a img {
        max-width: 100% !important;
    }

    #top-bar-wrap {
        display: none;
    }

    #wprmenu_bar .menu_title a {
        top: -1px;
    }
	.video-wrapper iframe {
		height: 400px;
	}

}