/*
Theme Name: Behrens-Curry Homes Themify Ultra Child
Description: Child theme matching live site
Author: Spot On Digital Media
Template: themify-ultra
Version: 1.0
*/

/* Full-width images that maintain aspect ratio */
.entry-content img {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    display: block !important;
}

/* Remove padding/margins - but NOT #main */
.entry-content,
article,
.wrap {
    padding: 0 !important;
    margin: 0 !important;
    max-width: none !important;
}

#content {
    padding: 0 !important;
    margin: 0 !important;
}

/* Header overlay - EXACT positioning from live site */
#header {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    z-index: 999 !important;
    background: transparent !important;
}

#header .wrap {
    position: relative !important;
    height: 162px !important;
    background: transparent !important;
}

/* Logo - EXACT from live site: right 24px, top 28px */
#logo {
    position: absolute !important;
    right: 24px !important;
    top: 15px !important;
    text-indent: -9999px !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    z-index: 1 !important;
}

#logo a {
    display: block !important;
    width: 270px !important;
    height: 50px !important;
}

/* Navigation - EXACT from live site: left 30px, top 62px */
#nav {
    position: absolute !important;
    left: 75px !important;
    top: 52px !important;
    z-index: 1 !important;
}

#nav ul {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

#nav li {
    position: relative !important;
    float: left !important;
    font-size: 1.6rem !important;
    font-family: 'Eurostile Regular', 'Calibri Bold', 'Helvetica Neue', Helvetica, Arial, sans-serif !important;
    text-transform: lowercase !important;
    letter-spacing: 2px !important;
    margin: 0 85px 0 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

/* Default nav link color - grey */
#nav a {
    color: #999 !important;
    text-decoration: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* Current page and hover - white */
#nav a:hover,
#nav a.current,
#nav .current-menu-item > a {
    color: #FFF !important;
}

/* Submenu styles */
#nav .sub-menu,
#nav .submenu {
    position: absolute !important;
    top: -99999px !important;
    left: 0 !important;
    width: auto !important;
    opacity: 0 !important;
    transition: opacity 0.35s !important;
    z-index: 1 !important;
    padding: 12px 0 0 !important;
    list-style: none !important;
}

#nav li:hover .sub-menu,
#nav li:hover .submenu {
    top: 15px !important;
    opacity: 1 !important;
}

#nav .sub-menu li,
#nav .submenu li {
    float: none !important;
    white-space: nowrap !important;
    margin: 0 0 2px !important;
    font-size: 1.4rem !important;
}

#nav .sub-menu a:before,
#nav .submenu a:before {
    position: relative !important;
    top: 1px !important;
    content: "> " !important;
}

/* Increase menu spacing - make it much wider like live site */
#nav li {
    margin: 0 85px 0 0 !important;
}

/* Position nav slightly higher */
#nav {
    top: 40px !important;
}

/* Logo positioned higher and more to the right */
#logo {
    right: 60px !important;
    top: 7px !important;
}

/* Fix for About page - add padding to push content below absolute header */
body.two-cols #content {
    padding-top: 162px !important;
}

/* Two-column layout padding for About page */
body.two-cols #main {
    padding: 25px 30px 0 122px !important;
    margin-top: -50px !important;
}

/* Align secondary (right side) with main (left side) */
body.two-cols #secondary {
    padding-top: 0 !important;
    margin-top: -25px !important;
}

/* Contact page specific - align map with Name field */
body.page-template-page-contact #secondary,
#contact #secondary {
    margin-top: -20px !important;
    padding-top: 42px !important;
}


/* Bubbles styling for Process page */
.bubbles {
    background: #444 !important;
    height: auto !important;
    overflow: hidden !important;
}

.bubbles .bubble {
    padding: 20px 30px !important;
    text-align: center !important;
    position: relative !important;
}

.bubbles .bubble.second {
    background: #555 !important;
}

.bubbles .bubble h3 {
    color: rgba(255,255,255,.5) !important;
    font-size: 18px !important;
    line-height: 30px !important;
    margin: 0 0 10px 0 !important;
}

.bubbles .bubble p {
    color: #FFF !important;
    font-size: 14px !important;
    line-height: 20px !important;
    margin: 5px 0 !important;
}

.bubbles .bubble:after {
    content: '' !important;
    border-left: 20px solid transparent !important;
    border-right: 20px solid transparent !important;
    border-top: 20px solid #555 !important;
    width: 0 !important;
    height: 0 !important;
    margin-left: -20px !important;
    position: absolute !important;
    bottom: -20px !important;
    left: 50% !important;
    z-index: 999 !important;
}

.bubbles .bubble:first-child:after {
    border-top-color: #444 !important;
}

.bubbles .bubble:last-child:after {
    content: none !important;
}

/* Contact form styling - remove rounded corners */
#contactus input[type="text"],
#contactus input[type="email"],
#contactus input[type="tel"],
#contactus input[type="date"],
#contactus textarea {
    -webkit-border-radius: 0 !important;
    -moz-border-radius: 0 !important;
    border-radius: 0 !important;
}

/* Contact form fieldset layout - matching production */
#contactus > fieldset {
    border: none !important;
    margin: 0 0 20px 0 !important;
    padding: 0 !important;
    float: left !important;
    width: 280px !important;
}

#contactus > fieldset:first-of-type {
    margin-right: 50px !important;
}

#contactus fieldset ol {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

#contactus fieldset li {
    margin: 0 0 20px 0 !important;
    padding: 0 !important;
}

#contactus label {
    display: block !important;
    margin: 0 0 5px 0 !important;
    font-size: 12px !important;
    color: #999 !important;
}

#contactus fieldset fieldset {
    float: none !important;
    width: auto !important;
    max-width: none !important;
}

#contactus legend {
    display: block !important;
    margin: 0 0 10px 0 !important;
    font-size: 12px !important;
    color: #999 !important;
}

#contactus fieldset fieldset label {
    display: inline !important;
    margin: 0 15px 0 5px !important;
}

#contact-notes {
    clear: both !important;
    padding-top: 20px !important;
}

#contact-notes label {
    display: block !important;
    margin: 0 0 5px 0 !important;
    font-size: 12px !important;
    color: #999 !important;
}

#contact-notes textarea {
    -webkit-border-radius: 0 !important;
    -moz-border-radius: 0 !important;
    border-radius: 0 !important;
}

body.page-template-page-contact #secondary,
#contact #secondary {
    position: relative !important;
}

.maps-container {
    width: 100% !important;
    height: 580px !important;
    margin-bottom: 0 !important;
    position: relative !important;
}

.maps-container iframe {
    width: 100% !important;
    height: 580px !important;
    display: block !important;
}

.address-details {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    background: rgba(202, 197, 194, 0.9) !important;
    height: auto !important;
    width: 100% !important;
    padding: 15px 20px !important;
    color: #000 !important;
    font-weight: bold !important;
    font-size: 13px !important;
    overflow: hidden !important;
}

.address-details .left-address {
    float: left !important;
    margin: 0 !important;
    line-height: 1.4em !important;
}

.address-details .right-address {
    float: right !important;
    margin: 0 !important;
    line-height: 1.4em !important;
    text-align: right !important;
}


/* Force inner-wrap to allow full width for two-column form */
body.two-cols #main .inner-wrap,
.page-template-page-contact #main .inner-wrap {
    max-width: none !important;
    width: auto !important;
}

/* Ensure two-column layout works at all screen sizes */
@media (min-width: 790px) {
    #contactus > fieldset {
        float: left !important;
        width: 280px !important;
    }
    
    #contactus > fieldset:first-of-type {
        margin-right: 50px !important;
    }
}
