/*
Theme Name: Tailwater Properties Child
Theme URI: https://www.portotheme.com/wordpress/porto
Author: P-THEMES
Author URI: https://www.portotheme.com/
Description: Porto Responsive WordPress + eCommerce Theme.
Version: 1.1
Template: porto
License: Commercial
License URI: http://themeforest.net/licenses/regular_extended
Tags: woocommerce, corporate, ecommerce, responsive, blue, black, green, white, light, dark, red, two-columns, three-columns, four-columns, left-sidebar, right-sidebar, fixed-layout, responsive-layout, custom-menu, editor-style, featured-images, flexible-header, full-width-template, microformats, post-formats, rtl-language-support, sticky-post, theme-options, translation-ready, accessibility-ready
*/

/*************** ADD YOUR CUSTOM CSS HERE  ***************/

/* ===== Tailwater Properties header (Templates Builder: "Site Header") ===== */
#header .tw-header .row { flex-wrap: nowrap; }
#header .tw-hdr-logo { flex: 0 0 auto; width: auto; max-width: none; }
#header .tw-hdr-right { flex: 1 1 auto; width: auto; max-width: none; }
#header .tw-hdr-right > .wpb_wrapper { display: flex; flex-wrap: wrap; justify-content: flex-end; align-items: center; gap: 6px 16px; }
#header .tw-utility { margin: 0; }
#header .tw-utility p { margin: 0; display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 6px 18px; }
#header .tw-residents { font-size: 13px; line-height: 20px; color: #555555; }
#header .tw-residents a { color: var(--porto-primary-color); text-decoration: none; }
#header .tw-residents a:hover { text-decoration: underline; }
#header .tw-phone { font-size: 18px; font-weight: 600; line-height: 24px; color: #333333; text-decoration: none; white-space: nowrap; }
#header .tw-phone i { color: var(--porto-primary-color); margin-right: 8px; }
#header .tw-hdr-right .porto-icon { margin: 0; }
#header .tw-hdr-right .main-menu { flex: 0 0 100%; justify-content: flex-end; }
#header.sticky-header .tw-utility, #header.sticky-header .tw-hdr-right .porto-icon { display: none; }
#header .tw-hdr-right .main-menu > li.menu-item > a { font-size: 15px !important; padding-left: 10px !important; padding-right: 10px !important; }
@media (min-width: 992px) and (max-width: 1199px) {
	#header .tw-hdr-right .main-menu > li.menu-item > a { font-size: 13px !important; padding-left: 7px !important; padding-right: 7px !important; }
}
@media (max-width: 991px) {
	#header .tw-header .row { flex-wrap: wrap; }
	#header .tw-utility p { justify-content: flex-end; }
}
@media (max-width: 575px) {
	#header .tw-residents { flex: 0 0 100%; text-align: right; }
	#header .tw-phone { font-size: 15px; }
}

/* ===== Homepage + shared section styles ===== */
/* Buttons */
.tw-btn { display: inline-block; font-weight: 700; line-height: 1.3; text-decoration: none !important; border-radius: 32px; text-shadow: none; transition: filter .2s, transform .2s; }
.tw-btn:hover { filter: brightness(1.08); transform: translateY(-1px); }
.tw-btn-primary { padding: 13px 30px; background: #ff9900; color: #ffffff !important; font-size: 16px; box-shadow: 0 5px 0 #cc7a00; }
.tw-btn-ghost { padding: 12px 28px; background: rgba(0,0,0,.75); border: 2px solid #ffffff; color: #ffffff !important; font-size: 15px; text-transform: uppercase; }
.tw-btn-blue { padding: 11px 24px; background: #5aa1e3; color: #ffffff !important; font-size: 15px; box-shadow: 0 4px 0 #3c84c8; }
.tw-btn-gold { padding: 12px 30px; background: #f3b25a; color: #ffffff !important; font-size: 16px; box-shadow: 0 5px 0 #d08f35; }

/* Hero carousel */
.tw-hero { margin-bottom: 0 !important; }
.tw-hero .wpb_content_element, .tw-hero .porto-carousel-wrapper { margin-bottom: 0 !important; }
.tw-slide { margin: 0 !important; padding: 0 !important; }
.tw-slide .porto-ultimate-content-box { position: relative; min-height: 560px; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; padding: 60px 24px 80px; background-size: cover !important; background-position: center !important; }
.tw-slide .porto-ultimate-content-box::before { content: ""; position: absolute; inset: 0; background: rgba(0,0,0,.35); z-index: 0; }
.tw-slide .porto-ultimate-content-box > * { position: relative; z-index: 1; width: 100%; }
.tw-slide .wpb_text_column { margin: 0 !important; }
.tw-slide h2 { max-width: 980px; margin: 0 auto 18px; font-family: Montserrat, sans-serif; font-weight: 700; font-size: 54px; line-height: 1.15; color: #ffffff; text-shadow: 0 2px 8px rgba(0,0,0,.55); }
.tw-slide p { max-width: 820px; margin: 0 auto 18px; font-size: 18px; font-weight: 700; line-height: 1.5; color: #ffffff; text-shadow: 0 1px 4px rgba(0,0,0,.7); }
.tw-slide p.tw-btns { display: flex; flex-wrap: wrap; justify-content: center; gap: 14px; margin-top: 10px; margin-bottom: 0; }
.tw-hero-carousel .slick-dots { bottom: 22px; }
.tw-hero-carousel .slick-prev { left: 20px; z-index: 2; }
.tw-hero-carousel .slick-next { right: 20px; z-index: 2; }
.tw-hero-carousel .slick-arrow { text-shadow: 0 1px 4px rgba(0,0,0,.6); }
@media (max-width: 767px) {
	.tw-slide .porto-ultimate-content-box { min-height: 460px; padding: 40px 18px 70px; }
	.tw-slide h2 { font-size: 32px; }
	.tw-slide p { font-size: 16px; }
}

/* Blue band with the page H1 */
.tw-band { background: #0096d6; border-top: 3px solid #0a0a0a; border-bottom: 3px solid #0a0a0a; padding-top: 28px; padding-bottom: 28px; }
.tw-band .wpb_text_column { margin: 0 !important; }
.tw-band h1 { margin: 0; font-family: Montserrat, sans-serif; font-weight: 700; font-size: 30px; line-height: 1.3; color: #ffffff; text-align: center; }

/* Tagline + intro */
.tw-intro { padding-top: 50px; padding-bottom: 44px; }
.tw-intro .wpb_text_column { max-width: 1000px; margin: 0 auto !important; text-align: center; }
.tw-tagline { margin: 0 0 22px; font-family: Montserrat, sans-serif; font-weight: 700; font-size: 30px; line-height: 1.3; color: #8a8a8a; }
.tw-tagline span { color: #0096d6; }
.tw-gold-rule { border: 0; height: 1px; background: #e2c27d; margin: 0 0 22px; }
.tw-lead { margin: 0; font-size: 17px; line-height: 1.7; color: #555555; }

/* How We Can Help */
.tw-help { background: #e9ecef; border-top: 3px solid #0a0a0a; padding-top: 50px; padding-bottom: 56px; }
.tw-section-head h2 { margin: 0 0 30px; font-family: Montserrat, sans-serif; font-weight: 700; font-size: 36px; color: #323267; text-align: center; }
.tw-cards { margin-bottom: 26px; }
.tw-card { margin-bottom: 26px; }
.tw-card > .wpb_wrapper, .tw-card > .vc_column-inner { height: 100%; display: flex; flex-direction: column; background: #ffffff; border-radius: 6px; overflow: hidden; box-shadow: 0 2px 10px rgba(0,0,0,.08); padding: 0 !important; }
.tw-card .tw-card-img { margin: 0 !important; }
.tw-card .tw-card-img img { width: 100%; height: 200px; object-fit: cover; border-bottom: 3px solid #ff9900; display: block; }
.tw-card .tw-card-img .vc_single_image-wrapper, .tw-card .tw-card-img figure { display: block; width: 100%; }
.tw-card .tw-card-body { flex: 1; margin: 0 !important; padding: 24px; text-align: center; display: flex; }
.tw-card .tw-card-body > .wpb_wrapper { display: flex; flex-direction: column; align-items: center; gap: 12px; width: 100%; }
.tw-card .tw-card-body h3 { margin: 0; font-family: Montserrat, sans-serif; font-weight: 700; font-size: 22px; color: #323267; }
.tw-card .tw-card-body p { margin: 0; font-size: 15px; line-height: 1.55; }
.tw-card .tw-card-body p:nth-of-type(1) { flex: 1; }
.tw-card .tw-card-note { font-size: 13px !important; color: #555555; }
.tw-card .tw-card-note a, .tw-help-note a { color: #0096d6; font-weight: 600; }
.tw-help-note { text-align: center; margin: 0 !important; }
.tw-help-note p { margin: 0; font-size: 15px; color: #555555; }

/* Listings band */
.tw-listings { background: #e6d8b8; border-top: 3px solid #0a0a0a; padding-top: 34px; padding-bottom: 34px; text-align: center; }
.tw-listings .wpb_text_column { margin: 0 !important; }
.tw-listings h2 { margin: 0 0 16px; font-family: 'Open Sans', sans-serif; font-weight: 700; font-size: 32px; color: #222529; }
.tw-listings p { margin: 0; }

/* Resident quick-link hexagons (Porto block "Resident Quick Links") */
.tw-hexes { background: #e9ecef; border-top: 3px solid #0a0a0a; padding-top: 60px; padding-bottom: 34px; }
.tw-hex-col { margin-bottom: 26px; }
.tw-hex { width: 250px; max-width: 100%; margin: 0 auto !important; padding: 0 !important; }
.tw-hex .porto-ultimate-content-box { min-height: 267px; padding: 40px 22px 30px; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; background-size: 100% 100% !important; }
.tw-hex a { text-decoration: none; }
.tw-hex .wpb_text_column { margin: 0 0 10px !important; }
.tw-hex-title { margin: 0 0 10px; font-family: Montserrat, sans-serif; font-weight: 700; font-size: 30px; line-height: 32px; color: #e6d8b8; }
.tw-hex-sub { margin: 0; font-size: 16px; font-weight: 600; color: #ffffff; }
.tw-hex .porto-icon, .tw-hex .tw-hex-icon { margin: 0 auto !important; }
.tw-hex:hover { filter: brightness(1.06); }

/* "Our Team is Ready to Help" contact band */
.tw-contact-band { background: #0096d6; border-top: 3px solid #0a0a0a; padding-top: 50px; padding-bottom: 60px; text-align: center; }
.tw-contact-text h2 { margin: 0 0 16px; font-family: Montserrat, sans-serif; font-weight: 700; font-size: 30px; color: #ffffff; }
.tw-white-rule { width: 70%; margin: 0 auto 16px; border: 0; height: 1px; background: rgba(255,255,255,.35); }
.tw-contact-text p { margin: 0; font-size: 16px; font-weight: 700; line-height: 1.5; color: #ffffff; }
.tw-form-slot { max-width: 560px; margin: 24px auto 0 !important; }
.tw-form-slot p { margin: 0; padding: 30px 20px; border: 2px dashed rgba(255,255,255,.6); color: #ffffff; font-weight: 600; }

/* ===== Interior pages (banner, bands, splits, lists, galleries) ===== */
/* Row backgrounds */
.tw-white { background: #ffffff; padding-top: 50px; padding-bottom: 50px; }
.tw-light { background: #f9f9f9; padding-top: 50px; padding-bottom: 50px; }
.tw-gray { background: #e9ecef; border-top: 3px solid #0a0a0a; padding-top: 50px; padding-bottom: 50px; }
.tw-blue-band { background: #0096d6; border-top: 3px solid #0a0a0a; padding-top: 50px; padding-bottom: 56px; color: #ffffff; }
.tw-topline { border-top: 3px solid #0a0a0a; }
.tw-thinline { border-top: 1px solid #e5e5e5; }
.tw-bottomline { border-bottom: 3px solid #0a0a0a; }
.tw-tight { padding-top: 30px; padding-bottom: 30px; }
.tw-tight-bottom { padding-bottom: 0; }
.tw-white .wpb_text_column, .tw-light .wpb_text_column, .tw-gray .wpb_text_column, .tw-blue-band .wpb_text_column, .tw-blue .wpb_text_column { margin-bottom: 0; }

/* Banner with page title */
.tw-banner-row { margin-bottom: 0 !important; }
.tw-banner { margin: 0 !important; }
.tw-banner .porto-ultimate-content-box { min-height: 230px; display: flex; align-items: center; justify-content: center; padding: 70px 15px; border-top: 3px solid #0a0a0a; border-bottom: 3px solid #0a0a0a; background-size: cover !important; background-position: center !important; }
.tw-banner .wpb_text_column { margin: 0 !important; }
.tw-banner h1, .tw-banner .tw-banner-title { margin: 0; font-family: Montserrat, sans-serif; font-weight: 700; font-size: 35px; line-height: 44px; color: #ffffff; text-align: center; text-shadow: -1px -1px 0 #000, 1px -1px 0 #000, -1px 1px 0 #000, 1px 1px 0 #000, 0 2px 10px rgba(0,0,0,.5); }

/* Blue intro band: text + image */
.tw-blue { background: #0096d6; border-top: 3px solid #ff9900; padding-top: 50px; padding-bottom: 50px; color: #ffffff; }
.tw-blue-text h1, .tw-blue-text h2, .tw-blue-h { margin: 0 0 14px; font-family: Montserrat, sans-serif; font-weight: 700; font-size: 26px; line-height: 1.3; color: #ffffff; }
.tw-blue-text p { color: #ffffff; font-size: 16px; line-height: 1.6; margin: 0 0 14px; }
.tw-blue-text p.tw-sub { font-size: 17px; font-weight: 700; }
.tw-blue-img img { width: 100%; height: auto; border: 4px solid #ffffff; box-shadow: 0 4px 14px rgba(0,0,0,.2); }
.tw-blue-img { margin: 0 !important; }
.tw-jump { margin-top: 6px !important; }
.tw-jump a { color: #ffffff !important; font-weight: 700; margin-right: 18px; text-decoration: underline; }

/* Rules */
.tw-rule { border: 0; height: 1px; margin: 0 0 18px; }
.tw-rule-white { background: rgba(255,255,255,.35); }
.tw-rule-gold { background: #e2c27d; }
.tw-rule-gray { background: #c9ced3; }

/* Section heads and text columns */
.tw-section-head { text-align: center; }
.tw-section-head h2, .tw-section-head h3 { margin: 0 0 28px; font-family: Montserrat, sans-serif; font-weight: 700; font-size: 32px; color: #323267; }
.tw-section-head h3 { font-size: 28px; }
.tw-section-sub { margin: -14px auto 24px; max-width: 820px; font-size: 18px; font-weight: 600; color: #555555; text-align: center; }
.tw-col-text h2 { margin: 0 0 14px; font-family: Montserrat, sans-serif; font-weight: 700; font-size: 30px; line-height: 1.25; color: #323267; }
.tw-gray .tw-col-text h2, .tw-light .tw-faq h2 { color: #333333; }
.tw-col-text h3 { margin: 0 0 12px; font-family: Montserrat, sans-serif; font-weight: 700; font-size: 22px; color: #323267; }
.tw-col-text p { font-size: 16px; line-height: 1.65; margin: 0 0 14px; }
.tw-center, .tw-center-h { text-align: center; }
.tw-center-h { margin: 0 0 26px; font-family: Montserrat, sans-serif; font-weight: 700; font-size: 30px; color: #323267; }
.tw-narrow { max-width: 820px; margin: 0 auto !important; }
.tw-narrow h2 { font-family: Montserrat, sans-serif; font-weight: 700; font-size: 30px; color: #333333; margin: 0 0 14px; }
.tw-btns-left { justify-content: flex-start !important; }
p.tw-btns { display: flex; flex-wrap: wrap; justify-content: center; gap: 14px; margin: 18px 0 0 !important; }

/* Splits: text beside image */
.tw-split .vc_column_container { margin-bottom: 20px; }
.tw-img { margin: 0 !important; }
.tw-img img { width: 100%; height: auto; display: block; }
.tw-img-frame img { border: 6px solid #eeeeee; box-sizing: border-box; }
.tw-img-gold img { border: 3px solid #f2b13c; }
.tw-headshot img { border: 6px solid #eeeeee; box-sizing: border-box; max-width: 540px; margin: 0 auto; }
.tw-caption { margin: 10px 0 0 !important; text-align: center; font-family: Montserrat, sans-serif; font-weight: 700; font-size: 16px; color: #323267; }

/* Feature grid with round icons */
.tw-feats { display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 26px; }
.tw-feat { background: #ffffff; border-radius: 6px; box-shadow: 0 2px 10px rgba(0,0,0,.06); padding: 26px 20px; text-align: center; }
.tw-ico { display: inline-flex; align-items: center; justify-content: center; width: 64px; height: 64px; border-radius: 50%; background: #0096d6; color: #ffffff; font-size: 26px; margin-bottom: 14px; }
.tw-feat h3 { margin: 0 0 8px; font-family: Montserrat, sans-serif; font-weight: 700; font-size: 19px; color: #323267; }
.tw-feat p { margin: 0; font-size: 15px; line-height: 1.5; color: #333333; }

/* Check lists (orange check circles) */
ul.tw-checks { list-style: none; margin: 0 0 16px; padding: 0; }
ul.tw-checks li { position: relative; padding-left: 36px; margin: 0 0 14px; font-size: 16px; line-height: 1.6; }
ul.tw-checks li::before { content: "\2713"; position: absolute; left: 0; top: 2px; width: 24px; height: 24px; border-radius: 50%; background: #ff9900; color: #ffffff; font-size: 14px; font-weight: 700; line-height: 24px; text-align: center; }
.tw-faq { max-width: 900px; margin: 0 auto !important; }
.tw-faq h2 { margin: 0 0 14px; font-family: Montserrat, sans-serif; font-weight: 700; font-size: 32px; text-align: center; }

/* Icon list (buyers/sellers) */
ul.tw-iconlist { list-style: none; margin: 16px 0 0; padding: 0; }
ul.tw-iconlist li { display: flex; align-items: center; gap: 14px; margin: 0 0 12px; font-size: 16px; font-weight: 600; }
.tw-ico-sm { flex: 0 0 42px; height: 42px; border-radius: 50%; background: #0096d6; color: #ffffff; display: inline-flex; align-items: center; justify-content: center; font-size: 18px; }
.tw-card-box { background: #ffffff; border-radius: 6px; box-shadow: 0 2px 10px rgba(0,0,0,.06); padding: 28px; height: 100%; }
.tw-gray .vc_column_container > .wpb_wrapper { height: 100%; }

/* Numbered steps */
ol.tw-steps { list-style: none; margin: 0 auto; padding: 0; max-width: 900px; counter-reset: none; }
ol.tw-steps li { position: relative; padding-left: 62px; margin: 0 0 22px; min-height: 44px; }
.tw-num { position: absolute; left: 0; top: 0; width: 44px; height: 44px; border-radius: 50%; background: #ff9900; color: #ffffff; font-family: Montserrat, sans-serif; font-weight: 800; font-size: 19px; display: flex; align-items: center; justify-content: center; }
ol.tw-steps h3 { margin: 0 0 4px; font-family: Montserrat, sans-serif; font-weight: 700; font-size: 19px; color: #323267; }
ol.tw-steps p { margin: 0; font-size: 16px; line-height: 1.55; }
.tw-steps-wrap { margin: 0 !important; }

/* Bands */
.tw-band-copy { max-width: 900px; margin: 0 auto !important; text-align: center; }
.tw-band-copy h2 { margin: 0 0 14px; font-family: Montserrat, sans-serif; font-weight: 700; font-size: 32px; color: #ffffff; }
.tw-band-copy p { color: #ffffff; font-size: 16px; line-height: 1.6; margin: 0 0 12px; }
.tw-band-copy.tw-left { text-align: left; }
.tw-strip { background: #0096d6; border-top: 3px solid #ff9900; padding-top: 22px; padding-bottom: 22px; }
.tw-strip-text p { margin: 0; text-align: center; font-family: Montserrat, sans-serif; font-weight: 700; font-size: 20px; color: #ffffff; }
.tw-strip-text a { color: #ffffff !important; }
.tw-cta { background: #0096d6; border-top: 3px solid #0a0a0a; padding-top: 34px; padding-bottom: 34px; }
.tw-cta-text { text-align: center; margin: 0 !important; }
.tw-cta-text h2 { margin: 0; font-family: Montserrat, sans-serif; font-weight: 700; font-size: 30px; color: #ffffff; }
.tw-jb-logo { text-align: center; margin: 0 !important; }
.tw-jb-logo img { max-width: 260px; height: auto; background: #ffffff; padding: 10px; border-radius: 6px; }

/* Form placeholders: white-row variant */
.tw-white .tw-form-slot p, .tw-light .tw-form-slot p, .tw-gray .tw-form-slot p { border-color: #9aa5b1; color: #555555; background: #f9f9f9; }
.tw-form-row .tw-form-slot { margin-top: 0 !important; max-width: none; }

/* Callout */
.tw-callout { background: #fff7e8; border-left: 4px solid #ff9900; padding: 22px 24px; border-radius: 4px; }
.tw-callout h3 { margin: 0 0 8px; font-family: Montserrat, sans-serif; font-weight: 700; font-size: 22px; color: #323267; }
.tw-callout p { margin: 0 0 8px; font-size: 16px; }
.tw-callout a { font-weight: 700; color: #0096d6; }
.tw-callout-wide { max-width: 900px; margin: 0 auto; }
.tw-quick { font-size: 14px; line-height: 2; }
.tw-quick a { display: inline-block; margin-right: 14px; font-weight: 600; color: #0096d6; }
.tw-todo { color: #c02b0a; font-weight: 600; }
.tw-phone-line { margin: 16px 0 0 !important; font-size: 16px; }

/* People */
.tw-lead-band { max-width: 1000px; margin: 0 auto !important; text-align: center; }
.tw-lead-band p { margin: 0; font-size: 20px; font-weight: 600; line-height: 28px; color: #333333; }
.tw-gray.tw-bottomline { border-top: 0; padding-top: 30px; padding-bottom: 30px; }
.tw-name { text-align: center; margin-bottom: 4px !important; }
.tw-title { text-align: center; font-size: 15px !important; font-weight: 700; letter-spacing: 1px; text-transform: uppercase; color: #0096d6; margin: 0 0 12px !important; }
.tw-contact-line { text-align: center; font-weight: 700; }
.tw-team-row { max-width: 860px; margin: 0 auto 10px !important; }
.tw-round { text-align: center; margin: 0 0 12px !important; }
.tw-round img { width: 180px !important; height: 180px !important; object-fit: cover; object-position: top; border-radius: 50%; border: 3px solid #1d2b3a; }
.tw-team-name { margin: 0 0 4px !important; font-family: Montserrat, sans-serif; font-weight: 700; font-size: 20px; color: #323267; }
.tw-team-title { margin: 0 0 4px !important; font-size: 14px; font-weight: 700; text-transform: uppercase; letter-spacing: 1px; color: #0096d6; }
.tw-earn { margin: 18px 0 0 !important; font-family: Montserrat, sans-serif; font-style: italic; font-weight: 700; font-size: 20px; color: #0a0a0a; }
.tw-about-text p, .tw-about-text li { font-weight: 300; line-height: 1.75; }

/* Contact page */
.tw-contact-boxes { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 20px; }
.tw-cbox { display: flex; flex-direction: column; align-items: center; gap: 6px; padding: 26px 16px; border: 2px solid rgba(255,255,255,.5); border-radius: 6px; color: #ffffff !important; text-decoration: none !important; text-align: center; transition: background .2s; }
.tw-cbox:hover { background: rgba(255,255,255,.1); }
.tw-cico { font-size: 34px; }
.tw-clabel { font-family: Montserrat, sans-serif; font-weight: 700; font-size: 30px; }
.tw-cval { font-size: 16px; }
.tw-map iframe { width: 100%; height: 420px; border-radius: 10px; box-shadow: 0 4px 10px rgba(0,0,0,.25); display: block; }

/* Galleries */
.tw-gal-row .tw-section-head h3 { margin: 10px 0 20px; }
.tw-gallery { margin-bottom: 40px !important; }
.tw-gal-img { margin: 0 !important; }
.tw-gal-img img { width: 100%; height: 260px; object-fit: cover; border-radius: 4px; display: block; }
.tw-gallery .slick-dots { bottom: -30px; }
.tw-aerials { padding-top: 0; }
.tw-aerial img { height: 200px; object-fit: cover; }

/* Contact info grid */
.tw-info-head { margin: 0 0 22px; text-align: center; font-family: Montserrat, sans-serif; font-weight: 700; font-size: 22px; color: #383f48; }
.tw-info-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 20px; margin-bottom: 20px; }
.tw-info { text-align: center; background: #f9f9f9; border-radius: 6px; padding: 18px; }
.tw-info p { margin: 0; font-size: 16px; }
.tw-info-label { font-family: Montserrat, sans-serif; font-weight: 700; font-size: 18px !important; color: #383f48; margin-bottom: 6px !important; }
.tw-card-kicker { font-size: 13px !important; font-weight: 700; text-transform: uppercase; letter-spacing: 1px; color: #0096d6; flex: 0 !important; }

@media (max-width: 767px) {
	.tw-banner h1, .tw-banner .tw-banner-title { font-size: 28px; line-height: 36px; }
	.tw-banner .porto-ultimate-content-box { min-height: 160px; padding: 50px 15px; }
	.tw-col-text h2, .tw-section-head h2 { font-size: 26px; }
	.tw-blue-img { margin-top: 20px !important; }
	.tw-band-copy.tw-left { text-align: center; }
	.tw-btns-left { justify-content: center !important; }
}

/* ===== Fluent Forms (placed in .tw-form text blocks) ===== */
.tw-form { max-width: 620px; margin: 24px auto 0 !important; text-align: left; }
.tw-form-row .tw-form { margin-top: 0 !important; max-width: none; }
.tw-form .ff-el-form-control { border-radius: 4px; border-color: #cccccc; font-size: 15px; }
.tw-form .ff-el-input--label label { font-weight: 700; font-size: 15px; }
.tw-form .ff-btn-submit { border-radius: 32px !important; font-weight: 700 !important; padding: 12px 28px !important; box-shadow: 0 4px 0 #3c84c8; }
.tw-blue-band .tw-form .ff-el-input--label label, .tw-contact-band .tw-form .ff-el-input--label label, .tw-blue-band .tw-form .ff-el-form-check-label, .tw-contact-band .tw-form .ff-el-form-check-label { color: #ffffff; }
.tw-blue-band .tw-form .ff-btn-submit, .tw-contact-band .tw-form .ff-btn-submit { background-color: #ff9900 !important; border-color: #ff9900 !important; box-shadow: 0 4px 0 #cc7a00; }
.tw-blue-band .tw-form .ff-el-is-required.asterisk-right label::after, .tw-contact-band .tw-form .ff-el-is-required.asterisk-right label::after { color: #ffd27f; }
.tw-blue-band .ff-message-success, .tw-contact-band .ff-message-success { background: #ffffff; color: #333333; border-radius: 6px; }
.tw-blue-band .tw-form .error, .tw-contact-band .tw-form .error { color: #ffe0e0; }

/* ===== Header on tablets/phones: logo + phone + icons + menu button on one line, resident links in a slim row below ===== */
@media (max-width: 991px) {
	#header .tw-header .row { flex-wrap: wrap !important; align-items: center; }
	#header .tw-hdr-right, #header .tw-hdr-right > .wpb_wrapper, #header .tw-utility, #header .tw-utility > .wpb_wrapper, #header .tw-utility p { display: contents !important; }
	#header .tw-hdr-logo { flex: 0 0 auto; width: auto; }
	#header .tw-phone { order: 2; margin-left: auto; font-size: 15px; }
	#header .tw-hdr-right a:has(> .porto-icon) { order: 3; margin-left: 14px; }
	#header .mobile-toggle { order: 4; margin-left: 16px !important; }
	#header .tw-residents { order: 5; flex: 0 0 100%; text-align: center; font-size: 12px; line-height: 18px; padding: 6px 10px 2px; margin-top: 8px; border-top: 1px solid #eeeeee; }
}
@media (max-width: 400px) {
	#header .tw-phone i { display: none; }
	#header .tw-phone { font-size: 14px; }
}
/* Footer: social icons side by side */
#footer .wpb_wrapper:has(> a > .porto-icon) { text-align: center; }
#footer a:has(> .porto-icon) { display: inline-block; margin: 0 10px; vertical-align: top; }

@media (max-width: 767px) {
	.tw-band h1 { font-size: 24px; }
	.tw-tagline { font-size: 24px; }
	.tw-hex-title { font-size: 26px; line-height: 28px; }
}

/* Homepage slide 1: Jerry's aerial (media 185). Show Table Rock Lake and the dam above the facility */
.porto-ultimate-content-box[style*="uploads/2026/10/image.jpg"] { background-position: center 20% !important; }

/* Privacy Policy page (3) */
.tw-legal-row { padding: 40px 0 60px; }
.tw-legal { max-width: 860px; margin: 0 auto; padding: 0 20px; font-size: 16px; line-height: 1.7; }
.tw-legal h2 { font-size: 22px; margin: 34px 0 10px; color: #0d3b66; }
.tw-legal ul { margin: 0 0 16px 22px; }
.tw-legal li { margin-bottom: 6px; }
.tw-legal-date { color: #666; }
/* Footer privacy link */
.tw-foot-privacy, .tw-foot-privacy:visited { color: rgba(255,255,255,.7); text-decoration: underline; }
.tw-foot-privacy:hover { color: #fff; }
.tw-foot-sep { margin: 0 4px; }

/* ===== Jeff review 10/29 ===== */
/* Hide Porto's logged-in "Edit block / Edit header / Track options" overlays (admins only; visitors never saw them) */
.porto-block.has-pb-edit > .porto-tooltip-wrap,
.has-pb-edit > .tooltip.porto-tooltip-wrap,
.porto-tooltip-wrap.porto-pb-edit,
.pb-edit-link { display: none !important; }
/* Homepage slides: center the two buttons under the headline */
.tw-slide .tw-btns { margin-left: auto !important; margin-right: auto !important; justify-content: center; }
/* Desktop header: center the residents line and the main menu in the right column */
@media (min-width: 992px) {
	.tw-hdr-right > .vc_column-inner, .tw-hdr-right > .wpb_wrapper { justify-content: center !important; }
	.tw-utility, .tw-utility p { text-align: center !important; }
	.tw-mainmenu { justify-content: center !important; }
}
/* Listings fallbacks until iHomefinder is live: plain text, no dashed placeholder box */
.tw-form-slot p.tw-idx-fallback { border: 0; padding: 0; color: inherit; font-weight: 400; }
p.tw-idx-fallback { font-size: 17px; }
/* Team photos centered over the names (About, Our Realtors) */
.tw-team .wpb_single_image, .tw-round { text-align: center !important; }
.tw-team .wpb_single_image .vc_figure, .tw-round .vc_figure { display: inline-block; }
.tw-round img { width: 200px !important; height: 200px !important; }
.tw-form-slot:has(.tw-idx-fallback) { max-width: none; margin: 14px 0 0 !important; background: none !important; }

/* Gallery 10/30: center portrait photos in carousel slides */
.tw-gal-img, .tw-gal-img .wpb_wrapper{text-align:center !important}
.tw-gal-img .vc_figure, .tw-gal-img .vc_single_image-wrapper{display:inline-block}

/* 10/30: balance multi-line headings (no one-word last lines) */
h1, h2, h3 { text-wrap: balance; }

/* 10/30: Commercial investor list (form 7) */
.tw-investor-row .tw-section-head, .tw-investor-row .tw-form{max-width:760px;margin-left:auto !important;margin-right:auto !important}
.tw-investor-row .tw-section-head p{margin-bottom:18px}
.tw-investor-row .ff-el-form-check{display:inline-block;margin:0 18px 6px 0}
@media (max-width:575px){.tw-investor-row .ff-el-form-check{display:block}}

/* 10/30: market report sign-ups (forms 5 and 8): radio/checkbox options side by side on the blue bands */
.tw-blue-band .tw-form .ff-el-form-check{display:inline-block;margin:0 18px 6px 0}
@media (max-width:575px){.tw-blue-band .tw-form .ff-el-form-check{display:block}}

/* 11/1: text links inside blue-band copy (e.g., Vacancies "See Current Openings") were blue on blue */
.tw-blue-band .tw-band-copy a:not(.tw-btn), .tw-blue-band .tw-band-copy a:not(.tw-btn) strong{color:#ffffff !important;text-decoration:underline;text-underline-offset:3px}
.tw-blue-band .tw-band-copy a:not(.tw-btn):hover{opacity:.85}

/* 11/1: keep header dropdowns above iHomefinder content (its search bar covered the Apartments & Storage menu) */
.ihf-container{position:relative;z-index:1}

/* 11/1: phones: sticky tap-to-call bar (same pattern as the Jerry's site) */
.tw-callbar{display:none}
@media (max-width:767px){
.tw-callbar{display:flex;align-items:center;justify-content:center;gap:8px;position:fixed;left:0;right:0;bottom:0;z-index:9990;height:50px;background:var(--porto-primary-color,#0096d6);color:#fff!important;font:700 17px/1 "Open Sans",sans-serif;text-decoration:none!important;box-shadow:0 -2px 8px rgba(0,0,0,.25)}
.tw-callbar:active{filter:brightness(.9)}
body{padding-bottom:50px}
#topcontrol,.scroll-to-top,#scroll-to-top{bottom:62px!important}
}

/* 11/1: footer block used Porto's demo font Poppins, which the site never loads, so phones and PCs fell back to a serif font. Use the site's body font. */
.wpb_custom_40b5734e40b5ce646b9d02711be4cc9e .porto-sicon-description,.wpb_custom_fe275b23c59070edc6aa924d44cbe469 .porto-sicon-description,.wpb_custom_f837eb0d23aaf3440313325d96e9273c .porto-u-sub-heading{font-family:"Open Sans",sans-serif!important}
