/* Homepage additions, picture/list spacing, and shared footer. */
.homepage .hp7-service-copy { margin:28px 0 0; padding-top:20px; border-top:1px solid #e4d9ca; }
.homepage .hp7-service-copy h2 { font-size:20px; line-height:1.3; font-weight:600; margin:0 0 14px; color:#39251c; }
.homepage .hp7-service-copy h3 { font-size:18px; line-height:1.3; font-weight:600; margin:24px 0 12px; color:#39251c; }
.homepage .hp7-service-copy p { font-size:14px; line-height:1.6; margin:0 0 14px; text-align:left; }
.homepage .hp7-service-copy a { color:#a96800; font-weight:600; }
body.tvo-home .hp7-address-table { width:100%; table-layout:fixed; border-collapse:separate; border-spacing:0; }
body.tvo-home .hp7-address-table tr { height:auto !important; }
body.tvo-home .hp7-address-table td { vertical-align:top; }
body.tvo-home .hp7-address-table td:first-child { width:252px !important; padding:0 16px 0 0 !important; }
body.tvo-home .hp7-address-table td:last-child { padding:0 !important; }
body.tvo-home .hp7-address-table ul { margin:0; padding:0 0 0 22px; list-style-position:outside; }
body.tvo-home .hp7-address-table li { margin:0 0 11px; padding-left:3px; line-height:1.55; }
body.tvo-home .hp7-address-table img { display:block; max-width:100%; }
body.tvo-layout #website-map { display:flow-root; height:auto !important; min-height:0 !important; max-height:none !important; }
body.tvo-layout .website-contact-block { position:relative !important; inset:auto !important; width:calc(100% - 30px) !important; max-width:1170px !important; min-height:0 !important; margin:0 auto !important; background:#352116; }
body.tvo-layout .website-contact-block>.row { display:grid; grid-template-columns:1.1fr 1.5fr 2.3fr auto; align-items:center; margin:0 !important; }
body.tvo-layout .website-contact-block>.row:before,body.tvo-layout .website-contact-block>.row:after { display:none; content:none; }
body.tvo-layout .website-contact-block>.row>[class*="col-"] { float:none; width:auto !important; min-height:96px; padding:14px 16px !important; }
body.tvo-layout .website-contact-block>.row>style { display:none; }
body.tvo-layout .website-contact-block .block { min-height:68px; height:auto; display:flex; flex-direction:column; align-items:flex-start; justify-content:center; gap:7px; }
body.tvo-layout .website-contact-block h4 { font-size:14px !important; line-height:1.35; margin:0; }
body.tvo-layout .website-contact-block .responsive-text { font-size:16px !important; padding:14px 0 !important; text-align:left; }
body.tvo-layout .website-contact-block .contact-phone,body.tvo-layout .website-contact-block .contact-email { display:flex; align-items:center; flex-wrap:wrap; gap:6px; width:100%; margin:0; color:#ffd02f; font-size:14px; line-height:1.5; }
body.tvo-layout .website-contact-block .contact-email a { overflow-wrap:anywhere; }
body.tvo-layout .website-contact-block .contact-phone-icon,body.tvo-layout .website-contact-block .contact-email-icon { display:inline-flex; align-items:center; flex:0 0 20px; }
body.tvo-layout .website-contact-block .social-icons { display:flex; flex-wrap:nowrap; gap:8px; align-items:center; }
body.tvo-layout .website-contact-block .social-icon { float:none; display:flex; align-items:center; justify-content:center; width:36px; height:36px; margin:0; background:#503a2d; border-radius:50%; }
body.tvo-layout .website-contact-block .social-icon a { display:flex; align-items:center; justify-content:center; width:36px; height:36px; color:#fff; }
body.tvo-layout .website-contact-block .social-icon a:hover { color:#ffd02f; }
body.tvo-layout .website-contact-block .social-icon a:focus-visible { outline:2px solid #ffd02f; outline-offset:3px; }
.tvo-social-x { width:16px; height:16px; fill:currentColor; }
body.tvo-layout .tvo-footer-v7 { clear:both; margin:0; padding:0; }
body.tvo-layout .tvo-footer-v7 #footer { margin:0 !important; padding:28px 0 88px !important; color:#eadfd6; background:#2b1b13; }
.tvo-footer-v7 .tvo-footer-inner { display:flex; justify-content:space-between; align-items:flex-start; gap:28px; }
.tvo-footer-v7 .tvo-footer-brand { color:#ffd02f; font-size:17px; font-weight:600; text-decoration:none; }
.tvo-footer-v7 .tvo-footer-legal { max-width:600px; }
.tvo-footer-v7 .tvo-footer-legal p { color:#eadfd6; font-size:13px; line-height:1.55; margin:8px 0 0; }
.tvo-footer-v7 .tvo-footer-nav { display:flex; justify-content:flex-end; flex-wrap:wrap; gap:10px 18px; max-width:430px; padding-top:3px; }
.tvo-footer-v7 .tvo-footer-nav a { color:#f4e9df; font-size:13px; line-height:1.5; text-decoration:none; }
.tvo-footer-v7 .tvo-footer-nav a:hover { color:#ffd02f; text-decoration:underline; }
.tvo-client-panel { max-width:540px; margin:25px auto 45px; }
.tvo-client-panel .tvo-client-form { display:grid; gap:18px; padding:26px; border:1px solid #ddd1c2; border-radius:5px; background:#fff; }
.tvo-client-form label { display:block; font-size:15px; font-weight:600; color:#33251c; margin:0 0 7px; }
.tvo-client-form input { display:block; width:100%; height:44px; padding:10px 13px; border:1px solid #bdbdbd; border-radius:4px; background:#e8e8e8; color:#222; font:inherit; }
.tvo-client-form input:focus-visible { outline:2px solid #d27b00; outline-offset:2px; }
.tvo-client-form button { min-height:46px; border:0; border-radius:4px; padding:12px 24px; background:#ffbd00; color:#21170d; font-family:inherit; font-size:16px; font-weight:600; line-height:1.4; cursor:pointer; }
.tvo-client-form button:hover { background:#e9ad00; }
.tvo-client-panel .tvo-login-error { color:#7e2115; background:#fff2ec; border-left:4px solid #b94d2b; padding:14px 16px; margin:0 0 20px; }
.tvo-client-panel .tvo-login-help { font-size:14px; line-height:1.6; margin-top:18px; }
@media(max-width:993px) {
 .homepage .hp7-service-copy { margin-top:24px; padding-top:18px; }
 body.tvo-layout .website-contact-block { width:100% !important; }
 body.tvo-layout .website-contact-block>.row { grid-template-columns:1fr 1fr; }
 body.tvo-layout .website-contact-block>.row>[class*="col-"] { min-height:0; padding:16px !important; }
 .tvo-footer-v7 .tvo-footer-inner { flex-direction:column; gap:20px; }
 .tvo-footer-v7 .tvo-footer-nav { max-width:none; justify-content:flex-start; }
}
@media(max-width:600px) {
 body.tvo-home .hp7-address-table,body.tvo-home .hp7-address-table tbody,body.tvo-home .hp7-address-table tr,body.tvo-home .hp7-address-table td { display:block; width:100% !important; }
 body.tvo-home .hp7-address-table td:first-child { padding:0 0 22px !important; }
 body.tvo-home .hp7-address-table td:last-child { padding:0 !important; }
 body.tvo-layout .website-contact-block>.row { grid-template-columns:minmax(0,1fr); }
 body.tvo-layout .website-contact-block .block { min-height:0; }
 body.tvo-layout .website-contact-block .responsive-text { padding:0 !important; }
 .tvo-client-panel .tvo-client-form { padding:20px 16px; }
}
