/* ============================================================= template.css - generated by Component Library 6 components merged in order. ============================================================= */:root {--font-family:'Roboto', sans-serif;/* Primary color */--brand-default:#0072bd;/* Darker shade */--brand-dark:#c92026;/* Lighter shade */--brand-light:#e4f4ff;/* Accent color for buttons, CTA, phone numbers - check for accessibility */--brand-accent:#000;/* Defining color values to older css variables */--nav-brand-color:var(--brand-dark);--nav-brand-color-dark:var(--brand-dark);--color-primary:var(--brand-default);--color-secondary:var(--brand-accent);}/* dev warning badge */.alert-box.warning{align-content:center;background-image:url(https://cdn.treehouseinternetgroup.com/cms_images/3443/dev-icon.svg);height:60px;position:fixed;bottom:0;z-index:9999999999999;width:60px;background-color:#ffea00;background-size:75%;background-position:center;background-repeat:no-repeat;border:0;text-indent:-9999px;border-radius:50px;box-shadow:0 0 20px rgb(0 0 0 / 20%);margin:0 0 10px 10px}.alert-box.warning a{color:#fff;position:absolute;display:flex;height:100%;width:100%;padding:0 .5rem;top:0;text-align:center;align-items:center;border-radius:50px;font-weight:800;font-size:12px;line-height:105%;text-transform:uppercase;font-family:Arial,sans-serif}.alert-box.warning:hover{background-image:none;background-color:green}.alert-box.warning:hover a{text-indent:0}/* === 1. Header 2 === */#header.header__style2 * {margin:0px;}#header.header__style2 {margin-bottom:1px;display:grid;grid-template-columns:auto auto auto;}#header.header__style2 #header--logo {z-index:10;grid-column:1 / span 2;grid-row-start:2;display:flex;align-items:center;justify-content:flex-start;padding-left:1rem;padding-right:1rem;padding-top:0.5rem;padding-bottom:0.5rem;}#header.header__style2 #header--logo a {width:clamp(100px, 15vw, 350px);}#header.header__style2 #header--logo a > * {width:100%;height:100%;object-fit:contain;max-height:100px;}#header.header__style2 #header--territory {grid-column:span 2 / span 2;grid-column-start:1;grid-row-start:1;display:flex;width:100%;align-items:center;justify-content:space-evenly;background-color:var(--brand-dark, #777);padding-left:1rem;padding-right:1rem;padding-top:0.5rem;padding-bottom:0.5rem;text-align:center;color:#fff;}#header.header__style2 #header--angle-svg {background-color:#fff;height:100%;}#header.header__style2 #header--angle-svg svg {position:relative;display:none;height:100%;fill:var(--brand-dark, #777);object-fit:cover;}#header.header__style2 #header--open-text {white-space:nowrap;font-size:0.875rem;line-height:1.375;font-weight:700;}#header.header__style2 .header--divider {margin-left:1rem;margin-right:1rem;height:100%;width:1px;background-color:rgba(255 255 255 / .3);}#header.header__style2 #header--serving-text + .header--divider {display:none;}#header.header__style2 #header--serving-text {font-size:0.875rem;line-height:1.375;}#header.header__style2 #header.header__style2 #header--serving-text span {font-weight:700;}#header.header__style2 #header--phone-text {display:none;font-size:1.5rem !important;line-height:2rem !important;font-weight:700;color:var(--brand-accent, #fff);}#header.header__style2 #header--phone-mobile {grid-column-start:3;grid-row-start:1;display:flex;align-items:center;justify-content:center;background-color:var(--brand-accent,#777);padding-left:1rem;padding-right:1rem;}#header.header__style2 #header--phone-mobile p {display:flex;align-items:center;gap:0.25rem;text-align:center;font-size:0.875rem;line-height:1.25rem;font-weight:600;color:#fff;}#header.header__style2 #header--phone-mobile svg {transform:rotate(45deg);fill:currentColor;}#header.header__style2 #header--nav {grid-column-start:3;grid-row-start:2;padding:1rem;display:flex;}#header.header__style2 #header--nav .header-item-right {order:99;}#header.header__style2 #header--nav .menu > ul > li.quote a {background-color:var(--brand-accent,#777);color:#fff;padding-inline:1.5rem;border-radius:0;color:#fff;justify-content:center;}#header.header__style2 #header--nav ul.menu-section {gap:clamp(1rem, 5vw, 3.5rem);}#header.header__style2 #header--nav .menu > ul > li > a {letter-spacing:.025rem;}.menu > ul > li .menu-subs > ul > li:not(:last-child) {border-bottom:1px solid #ffffff !important;}/** Stuck Header Style 1 **/.stuck #header.header__style2 #header--logo {padding-top:.5rem;padding-bottom:.5rem;}.stuck #header.header__style2 #header--logo a > * {height:50px;}.stuck #header.header__style2 #header--nav .menu > ul > li > a {height:2rem;}.stuck #header.header__style2 #header--territory {height:32px;}.stuck #header.header__style2 #header--phone-text {font-size:1.25rem !important;;}.stuck #header.header__style2 #header--open-text,.stuck #header.header__style2 #header--serving-text {font-size:.9rem;}@media screen and (min-width:1024px){#header.header__style2{margin-bottom:0px;grid-template-columns:auto 1fr;}#header.header__style2 #header--logo {grid-column:span 1 / span 1;grid-row:span 2 / span 2;padding-top:1rem;padding-bottom:1rem;}#header.header__style2 #header--territory {grid-column-start:2;grid-row-start:1;height:44px;width:fit-content;justify-self:end;padding:0px;} #header.header__style2 #header--angle-svg svg {display:block;}#header.header__style2 #header--open-text {padding-left:0.5rem;font-size:1rem;line-height:1.5rem;}#header.header__style2 .header--divider {height:60%;}#header.header__style2 #header--serving-text + .header--divider {display:block;}#header.header__style2 #header--serving-text {font-size:1rem;line-height:1.5rem;}#header.header__style2 #header--phone-text {display:block;padding-right:1.5rem;}#header.header__style2 #header--phone-mobile {grid-column-start:2;justify-content:flex-end;background-color:transparent;padding:1rem;}#header.header__style2 #header--phone-mobile p {display:none;}#header.header__style2 #header--nav {grid-column:span 1 / span 1;grid-column-start:2;grid-row-start:2;display:block;padding-left:1rem;padding-right:1rem;padding-bottom:0.5rem;}#header.header__style2 #header--nav .menu > ul > li.quote a {border-radius:99px;}}/* === end:1. Header 2 === *//* === 2. ATB Service Area === */.button, button {margin-inline:0;display:flex;align-items:center;justify-content:center;gap:10px;padding:14px 36px;font-weight:700;font-size:clamp(1rem, 2vw, 1.15rem);transition:background 0.2s;}.button img {width:12px;}.section-label {font-weight:600;font-size:14px;color:var(--brand-accent);line-height:20.3px;}.section-heading {font-weight:800;font-size:clamp(1.5rem, 2.5vw, 2.5rem);text-transform:uppercase;color:var(--brand-default);line-height:1.05;margin-bottom:.5rem;}.section-heading .accent {color:var(--brand-accent);font-weight:400;}/* ===================== SERVICE AREA ===================== */.service-area {display:flex;align-items:stretch;gap:48px;padding:clamp(48px, 8vw, 96px) clamp(1rem, 100vw, calc((100vw - 1600px) / 2) + 64px);width:100%;background:var(--white);}.service-area__left {display:flex;flex-direction:column;align-items:flex-start;gap:27px;flex:1 1 40%;}.service-area__info-card {display:flex;flex-direction:column;height:100%;justify-content:center;padding:36px;width:100%;background:var(--brand-light);border-radius:15px;}.service-area__label-heading {display:flex;flex-direction:column;gap:6px;}.service-area__heading {font-weight:800;font-size:38px;color:var(--brand-default);line-height:38px;}.service-area__heading .accent {color:var(--brand-accent);}.service-area__text {font-size:16px;color:var(--black);line-height:24px;}.service-area__cities-heading {font-weight:700;font-size:20px;color:var(--brand-default);line-height:30px;}.service-area__cities-heading .accent {color:var(--brand-accent);}.service-area__cities-scroll {width:100%;max-height:225px;overflow-y:auto;background:var(--white);border-radius:15px;border:1px solid var(--border-blue);}.service-area__cities-grid {padding:20px 24px;}#cities-grid h3 {display:none;}span.city_scroll_list_title {font-weight:800;text-transform:uppercase;color:var(--brand-default);}ul.city_scroll_list {list-style:none;display:flex;flex-wrap:wrap;gap:.5rem 1rem;margin-block:.5rem 1.5rem;}ul.city_scroll_list li {white-space:nowrap;font-size:clamp(.875rem, 2vw, .95rem);font-weight:600;}ul.city_scroll_list li a {border-bottom:.1rem dotted currentColor;color:currentColor;}ul.city_scroll_list li a:hover {border-bottom:0;background-color:var(--brand-light);box-shadow:-5px 0 var(--brand-light), 5px 0 var(--brand-light);}span.city_scroll_list_local_phone {font-size:.875rem;}.city_scroll_list_footer {display:none;}.service-area__more-btn {display:inline-flex;align-items:center;gap:10px;padding:14px 20px;background:var(--brand-dark);border-radius:99px;border:1px solid var(--border-blue);font-weight:700;font-size:clamp(1rem, 2vw, 1.35rem);color:var(--brand-default);color:#fff;}.service-area__more-btn svg {width:8px;height:8px;}.service-area__right {padding:24px;flex:1 1 60%;border-radius:15px;border:1px solid var(--border-blue);}button.service-item {display:flex;gap:clamp(1rem, 2vw, 1.5rem);width:100%;justify-content:space-between;color:var(--brand-default);border:1px solid var(--border-blue);border-radius:10px;padding:1rem 1.5rem;line-height:1.2;flex:1;}button.service-item span.icon svg {width:12px;transform:scaleX(-1);fill:currentColor;}.service-item span:not(.icon) {flex:1;text-align:left;font-size:clamp(.875rem, 2vw, .975rem);}.service-map-container {height:100%;border:1px solid var(--border-blue);border-radius:10px;overflow:hidden;}img#map-image {object-fit:contain;width:100%;height:100%;transition:opacity 0.3s ease;}@media (width <= 1024px) {.service-area {flex-direction:column;}}/* === end:2. ATB Service Area === *//* === 3. ATB Footer === *//* ========================================= Quality 1st Basement Systems - Footer CSS ========================================= *//* --- Reset & Base --- */footer {background-color:var(--brand-default);color:#ffffff;font-family:Arial, Helvetica, sans-serif;font-size:14px;line-height:1.6;padding:48px 0 0;}footer a {color:#ffffff;text-decoration:none;transition:opacity 0.2s ease;}footer a:hover {opacity:0.75;text-decoration:underline;}/* --- Outer container --- */footer .container {max-width:1200px;margin:0 auto;padding:0 24px;display:flex !important;flex-wrap:wrap;gap:40px;align-items:flex-start;}/* --- Left column:contact/branding --- */#footer-nav-contact {flex:1 1 35%;min-width:220px;display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center;}/* CTA button */#footer-nav-contact .button.btn-pink {display:inline-flex;align-items:center;gap:8px;background-color:var(--brand-dark);color:#ffffff;font-size:13px;font-weight:700;letter-spacing:0.04em;text-transform:uppercase;padding:12px 20px;border-radius:50px;margin-bottom:18px;text-decoration:none;transition:background-color 0.2s ease;white-space:nowrap;}#footer-nav-contact .button.btn-pink:hover {background-color:var(--brand-accent);opacity:1;text-decoration:none;}#footer-nav-contact .button.btn-pink img {width:14px;height:14px;filter:brightness(0) invert(1);}/* "Or call us at" label */#footer-nav-contact > span {font-size:13px;color:rgba(255, 255, 255, 0.7);margin-top:2px;}/* Phone numbers */#footer-nav-contact > a {font-size:22px;font-weight:700;color:#ffffff;text-decoration:none;line-height:1.2;}#footer-nav-contact a.phone_link {font-size:22px;font-weight:700;color:#ffffff;margin-top:4px;margin-bottom:12px;}/* Copyright & license info */#footer-nav-contact .copy {font-size:13px;color:rgba(255, 255, 255, 0.7);margin:8px 0 2px;}#footer-nav-contact .states {font-size:12px;color:rgba(255, 255, 255, 0.6);margin:0 0 12px;line-height:1.5;}/* Social icons */#social-footer-icons {display:flex;flex-wrap:wrap;gap:6px;margin:4px 0 8px;}#social-footer-icons a {display:inline-flex;align-items:center;justify-content:center;color:#ffffff;opacity:0.85;transition:opacity 0.2s ease;}#social-footer-icons a:hover {opacity:1;text-decoration:none;}#social-footer-icons > a > svg {height:22px;width:22px;display:block;}/* Privacy / legal links */#footer-nav-contact .privacy {font-size:12px;color:rgba(255, 255, 255, 0.65);margin:4px 0 8px;}#footer-nav-contact .privacy a {color:rgba(255, 255, 255, 0.65);text-decoration:none;}#footer-nav-contact .privacy a:hover {opacity:1;color:#ffffff;text-decoration:underline;}/* Offer disclaimer */#footer-nav-contact p:last-child {font-size:12px;color:rgba(255, 255, 255, 0.6);margin:0;}/* --- Right column:nav links --- */.footer-nav-links {flex:1 1 60%;justify-content:center;display:flex;}.footer-nav-links > ul {list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,auto);gap:clamp(1rem, 4vw, 4rem);}/* Each section (Services, About Us, Our Work) */.footer-nav-links > ul > li.footer-link {flex:1 1 100px;border-left:1px solid rgba(255, 255, 255, 0.15);padding-left:24px;padding-right:0 !important;}.footer-nav-links > ul > li.footer-link:first-child {border-left:none;padding-left:0;}.footer-nav-links > ul > li.footer-link::after {display:none;}/* Section heading (Services, About Us, Our Work) */.footer-nav-links > ul > li.footer-link > ul {list-style:none;padding:0;margin:0;display:flex;flex-direction:column;column-gap:24px;row-gap:4px;}/* Simulate the section label from the li text node */.footer-link.services,.footer-link.about,.footer-link.work {font-weight:700;font-size:15px;color:#ffffff;padding-bottom:10px;}/* Override:the text node of each parent li IS the heading - ensure sub-ul items aren't confused as section heads */.footer-nav-links > ul > li.footer-link > ul > li {flex:0 0 auto;font-size:13px;}.footer-nav-links > ul > li.footer-link > ul > li a {color:rgba(255, 255, 255, 0.8);font-size:13px;font-weight:400;text-decoration:none;display:block;white-space:normal;width:fit-content;padding:2px 0;transition:color 0.2s ease;}.footer-nav-links > ul > li.footer-link > ul > li a:hover {color:#ffffff;text-decoration:underline;opacity:1;}/* --- Addresses bar --- */#addresses {display:block !important;background-color:rgba(0, 0, 0, 0.2);margin-top:32px;padding:20px 24px;text-align:center;}#addresses p {font-size:12px;color:rgba(255, 255, 255, 0.6);line-height:1.5;flex:1 1 200px;min-width:160px;margin:0 auto;}/* --- City Page Fix --- */.citypage_text_generated_content > .columns.medium-6 {float:none;display:block;width:100%;margin:0;padding:0;}@media screen and (min-width:640px) {.citypage_text_generated_content > .columns.medium-6 {float:left;width:calc(50% - 1rem);}.citypage_text_generated_content > .columns.medium-6:not(.end) {margin-right:2rem;}.citypage_text_generated_content > .columns.medium-6.end {margin-right:0;}}.citypage_text_generated_content::after {content:'';display:table;clear:both;}/* ========================================= Responsive ========================================= *//* Tablet */@media (max-width:900px) {footer .container {flex-direction:column;gap:32px;}#footer-nav-contact {flex:unset;width:100%;}.footer-nav-links {width:100%;}.footer-nav-links > ul > li.footer-link {flex:1 1 100px;}}/* Mobile */#header .menu-mobile-toggle span {width:24px;height:3px;background-color:#d1131a;}@media (max-width:640px) {footer {padding:32px 0 0;}footer .container {padding:0 16px;}#footer-nav-contact .button.btn-pink {font-size:12px;padding:10px 16px;}#footer-nav-contact > a {font-size:20px;}#footer-nav-contact a.phone_link {font-size:20px;}.footer-nav-links > ul {display:flex;flex-direction:column;gap:24px;}.footer-nav-links > ul > li.footer-link {border-left:none;padding-left:0;border-top:1px solid rgba(255, 255, 255, 0.15);padding-top:16px;width:100%;}.footer-nav-links > ul > li.footer-link:first-child {border-top:none;padding-top:0;}}/* === end:3. ATB Footer === *//* ---------- sticky footer nav ---------- */.fixed-footer-nav {display:none;align-items:flex-end;justify-content:space-between;background:#fff;border-top:3px solid var(--brand-accent, tomato);box-shadow:0 -1px 0 0 rgba(0, 0, 0, 0.06);padding:10px 10px calc(12px + env(safe-area-inset-bottom, 0px));position:fixed;left:0;right:0;bottom:0;z-index:1000;}@media (max-width:640px) {.fixed-footer-nav {display:flex;}/* keeps the fixed bar from covering the page's last content */body {padding-bottom:calc(60px + env(safe-area-inset-bottom, 0px));}}.fixed-footer-nav__item {flex:1;display:flex;flex-direction:column;align-items:center;gap:3px;text-decoration:none;color:#3f4252 !important;font-size:10px;line-height:1.3;font-weight:500;letter-spacing:0.01em;}.fixed-footer-nav__item svg {width:22px;aspect-ratio:}.fixed-footer-nav__call {position:relative;flex:0 0 72px;display:flex;justify-content:center;}.fixed-footer-nav__call a {position:relative;width:56px;height:56px;margin-top:-30px;border-radius:50%;background:var(--brand-dark);display:flex;align-items:center;justify-content:center;text-decoration:none;border:3px solid #fff;color:#fff;}.fixed-footer-nav__call svg {position:relative;width:22px;height:22px;}@keyframes bolt-pulse {0% { transform:scale(1); opacity:0.5; }100% { transform:scale(1.8); opacity:0; }}.fixed-footer-nav__call .ring {position:absolute;inset:0;border-radius:50%;border:1.5px solid var(--brand-accent, tomato);filter:brightness(0.75);animation:bolt-pulse 2.4s ease-out infinite !important;}@media (prefers-reduced-motion:reduce) {.fixed-footer-nav__call .ring {animation:none;display:none;}}