/*
 * Lone Star Roofing -- original site footer styles.
 *
 * Generated by migration/extract_footer_css.py.
 * The footer template reproduces the original markup and class names,
 * so these rules style it exactly as they did on the live site.
 */

.back-button .material-symbols-outlined { font-size:1.2rem; }
.share-button .material-symbols-outlined { font-size:1.2rem; }
.project-card-meta-item .material-symbols-outlined { font-size:1.1rem; }
.project-stat .material-symbols-outlined { color:var(--primary-color);font-size:1.5rem; }
.play-button .material-symbols-outlined { font-size:2rem;color:#fff; }
.load-more-btn .material-symbols-outlined { font-size:1.2rem; }
.lightbox-close .material-symbols-outlined { font-size:2rem;color:#fff;transition:color .3s ease; }
.lightbox-close:hover .material-symbols-outlined { color:var(--text-dark); }
.lightbox-nav .material-symbols-outlined { font-size:2rem;color:#fff;transition:color .3s ease; }
.lightbox-nav:hover .material-symbols-outlined { color:var(--text-dark); }
.empty-state .material-symbols-outlined { font-size:4rem;margin-bottom:1rem;opacity:.3; }
.footer_wrapper { color:#fff;position:relative;background:#1a1e24;border-top:none;min-height:300px; }
.ywp_footer a { color:#fff; }
.ywp_footer { padding:0; }
.sitemap_column { display:inline-block;padding:5px;box-sizing:border-box;vertical-align:top; }
.sitemap_item { display:block;padding:8px 4px;box-sizing:border-box;width:100%;vertical-align:top;border-bottom:#ddd 1px dotted;opacity:1;text-decoration:none;transition:all ease-in-out 180ms;font-size:.9em;position:relative;border:none; }
.sitemap_item:hover { cursor:pointer;opacity:.8;text-decoration:none; }
.contact-icon { border:2px solid var(--primary);border-radius:50%;padding:8px;margin:5px 12px 5px 0;vertical-align:middle; }
.footer_top_row { display:flex;flex-wrap:wrap; }
.footer_col { padding:25px; }
.footer_col_2 { width:50%; }
.footer_col_3 { width:28%;margin:0 2.5%; }
.footer_top_row h3 { font-size:1.15em;color:#fff;border-bottom:2px solid rgba(255,255,255,.2);padding:10px 0;margin:0 auto 25px;text-transform:uppercase;font-weight:700;letter-spacing:.03em; }
.footer_logo { display:block;max-width:150px;margin:25px auto; }
.footer_logo img { width:100%;height:auto; }
.sitemap_item:after { content:"";position:absolute;bottom:0;left:0;width:0;height:1px;background:#fff;transition:all .3s; }
.sitemap_item:hover:after { width:50%; }
.footer-contact { text-align:center; }
.footer-contact .contact-icon { border-color:#fff;margin-right:0; }
.footer-contact a { display:block;margin:10px auto 20px; }
.footer-location { margin-bottom:10px;font-weight:800;text-transform:uppercase; }
.footer-location+p { font-size:.95rem;margin-bottom:20px; }
.footer-location-highlight { font-weight:600;color:var(--gold); }
.footer_button { display:block;text-align:center;background:transparent;border:1px solid #fff;margin:25px 0;padding:8px;max-width:300px;width:100%;border-radius:var(--radius);transition:all .3s; }
.footer_button:hover { background:#fff;color:#333;text-decoration:none; }
.footer_social_row { display:flex;align-items:center;justify-content:flex-end;padding:25px;margin-right:3%; }
.footer_social_title h3 { margin:0;font-size:1.5em; }
.footer_social_icons { border-left:3px solid #fff;padding-left:25px;margin-left:25px; }
.footer_bottom_row { display:flex;flex-wrap:wrap;padding:25px;background:var(--primary); }
.footer_bottom_row h4 { width:33.333%;text-align:center;color:#fff;font-weight:600; }
.footer_bottom_row h4 a { color:#fff; }
.footer_bottom_row_wave { display:none; }

@media (max-width:768px) {
  .lightbox-nav .material-symbols-outlined, .lightbox-close .material-symbols-outlined { font-size:1.5rem; }
}

@media screen and (max-width:1024px) {
  .footer_col_2, .footer_col_3 { width:100%; }
}

@media (max-width:550px) {
  .footer_social_row { flex-direction:column; }
  .footer_social_icons { border-left:none;border-top:3px solid #fff;padding-left:0;padding-top:15px;margin-left:0;margin-top:15px; }
  .footer_bottom_row h4 { width:100%; }
}

/* Footer typography, matched to the live site. */
.footer_wrapper h3 { font-size: 19.55px; font-weight: 700; line-height: 24.4375px; color: #fff; text-transform: uppercase; }
.footer_col h3 { margin: 0 0 25px; }
.footer_wrapper h4 { font-size: 18px; font-weight: 600; line-height: 22.5px; margin: 10px 0; color: #fff; }
.footer_wrapper p { font-size: 16.15px; line-height: 27.455px; color: #fff; }
/* Scoped with the h4 so they outrank .footer_wrapper h4 above. */
.footer_wrapper h4.footer-contact { font-weight: 500; }
.footer_wrapper h4.footer-location { font-weight: 800; }
.footer-location + p { font-size: 16.15px; line-height: 27.455px; margin: 0 0 20px; }
.footer-location-highlight { font-size: 16.15px; font-weight: 600; }
.sitemap_item { font-size: 15.3px; line-height: 26.01px; }
.footer_social_title h3 { font-size: 25.5px; font-weight: 600; line-height: 31.875px; margin: 0; text-transform: none; }
.contact-icon { font-size: 24px; line-height: 24px; margin: 5px 0; }
.footer_wrapper a { text-decoration: none; }

/* Social icon colours -- inline <style> in the original markup. */
.iconSvg { max-width: 50px; width: 100%; }
.iconOuter { fill: #ffffff; }
.iconBrand { fill: #222222; }
.ssm_icon_new { display: inline-block; width: 50px; }
