:root { /* Colors - Brand */ --color-primary: #0066CC; /* Blue - main brand */ --color-primary-dark: #004C99; /* Hover/active states */ --color-primary-light: #E6F2FF; /* Backgrounds/badges */ --color-secondary: #FF6B35; /* Orange - accent/CTA */ --color-secondary-dark: #E55A2B; --color-secondary-light: #FFF0EB; /* Neutrals */ --color-white: #FFFFFF; --color-black: #1A1A1A; --color-gray-50: #F9FAFB; --color-gray-100: #F3F4F6; --color-gray-200: #E5E7EB; --color-gray-300: #D1D5DB; --color-gray-400: #9CA3AF; --color-gray-500: #6B7280; --color-gray-600: #4B5563; --color-gray-700: #374151; --color-gray-800: #1F2937; --color-gray-900: #111827; /* Semantic colors */ --color-success: #10B981; --color-warning: #F59E0B; --color-error: #EF4444; --color-info: #3B82F6; /* Typography */ --font-primary: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; --font-heading: 'Poppins', var(--font-primary); --font-size-xs: 0.75rem; /* 12px */ --font-size-sm: 0.875rem; /* 14px */ --font-size-base: 1rem; /* 16px */ --font-size-lg: 1.125rem; /* 18px */ --font-size-xl: 1.25rem; /* 20px */ --font-size-2xl: 1.5rem; /* 24px */ --font-size-3xl: 1.875rem; /* 30px */ --font-size-4xl: 2.25rem; /* 36px */ --font-size-5xl: 3rem; /* 48px */ --font-size-6xl: 3.75rem; /* 60px */ --font-weight-normal: 400; --font-weight-medium: 500; --font-weight-semibold: 600; --font-weight-bold: 700; --line-height-tight: 1.25; --line-height-normal: 1.5; --line-height-relaxed: 1.75; /* Spacing scale (8px base) */ --space-1: 0.25rem; /* 4px */ --space-2: 0.5rem; /* 8px */ --space-3: 0.75rem; /* 12px */ --space-4: 1rem; /* 16px */ --space-5: 1.25rem; /* 20px */ --space-6: 1.5rem; /* 24px */ --space-8: 2rem; /* 32px */ --space-10: 2.5rem; /* 40px */ --space-12: 3rem; /* 48px */ --space-16: 4rem; /* 64px */ --space-20: 5rem; /* 80px */ --space-24: 6rem; /* 96px */ --space-32: 8rem; /* 128px */ /* Border radius */ --radius-sm: 0.25rem; /* 4px */ --radius-md: 0.5rem; /* 8px */ --radius-lg: 0.75rem; /* 12px */ --radius-xl: 1rem; /* 16px */ --radius-2xl: 1.5rem; /* 24px */ --radius-full: 9999px; /* Shadows */ --shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.05); --shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06); --shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05); --shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04); /* Container widths */ --container-sm: 640px; --container-md: 768px; --container-lg: 1024px; --container-xl: 1280px; --container-2xl: 1536px; /* Transitions */ --transition-fast: 150ms ease-in-out; --transition-base: 250ms ease-in-out; --transition-slow: 350ms ease-in-out; /* Z-index scale */ --z-dropdown: 1000; --z-sticky: 1020; --z-fixed: 1030; --z-modal-backdrop: 1040; --z-modal: 1050; --z-popover: 1060; --z-tooltip: 1070; }/* Container */ .container { width: 100%; max-width: var(--container-xl); margin-left: auto; margin-right: auto; padding-left: var(--space-4); padding-right: var(--space-4); } @media (min-width: 768px) { .container { padding-left: var(--space-6); padding-right: var(--space-6); } } @media (min-width: 1024px) { .container { padding-left: var(--space-8); padding-right: var(--space-8); } } .container-sm { max-width: var(--container-sm); } .container-md { max-width: var(--container-md); } .container-lg { max-width: var(--container-lg); } .container-2xl { max-width: var(--container-2xl); } /* Full-width sections */ .section { padding-top: var(--space-16); padding-bottom: var(--space-16); } @media (min-width: 768px) { .section { padding-top: var(--space-20); padding-bottom: var(--space-20); } } @media (min-width: 1024px) { .section { padding-top: var(--space-24); padding-bottom: var(--space-24); } } .section-sm { padding-top: var(--space-12); padding-bottom: var(--space-12); } .section-lg { padding-top: var(--space-24); padding-bottom: var(--space-24); } @media (min-width: 1024px) { .section-lg { padding-top: var(--space-32); padding-bottom: var(--space-32); } }/* Vertical rhythm - use on parent containers */ .stack-xs > * + * { margin-top: var(--space-2); } .stack-sm > * + * { margin-top: var(--space-4); } .stack-md > * + * { margin-top: var(--space-6); } .stack-lg > * + * { margin-top: var(--space-8); } .stack-xl > * + * { margin-top: var(--space-12); } .stack-2xl > * + * { margin-top: var(--space-16); } /* Responsive stacks */ @media (min-width: 768px) { .stack-md@md > * + * { margin-top: var(--space-6); } .stack-lg@md > * + * { margin-top: var(--space-8); } .stack-xl@md > * + * { margin-top: var(--space-12); } } @media (min-width: 1024px) { .stack-lg@lg > * + * { margin-top: var(--space-8); } .stack-xl@lg > * + * { margin-top: var(--space-12); } .stack-2xl@lg > * + * { margin-top: var(--space-16); } }/* Horizontal rhythm - use on parent flex containers */ .cluster { display: flex; flex-wrap: wrap; gap: var(--space-4); align-items: center; } .cluster-xs { gap: var(--space-2); } .cluster-sm { gap: var(--space-3); } .cluster-md { gap: var(--space-6); } .cluster-lg { gap: var(--space-8); } .cluster-xl { gap: var(--space-12); } /* Alignment variants */ .cluster-start { justify-content: flex-start; } .cluster-center { justify-content: center; } .cluster-end { justify-content: flex-end; } .cluster-between { justify-content: space-between; } /* Auto-fit grid */ .grid { display: grid; gap: var(--space-6); } .grid-2 { grid-template-columns: repeat(2, 1fr); } .grid-3 { grid-template-columns: repeat(3, 1fr); } .grid-4 { grid-template-columns: repeat(4, 1fr); } /* Responsive grids */ @media (max-width: 767px) { .grid-2, .grid-3, .grid-4 { grid-template-columns: 1fr; } } @media (min-width: 768px) and (max-width: 1023px) { .grid-3, .grid-4 { grid-template-columns: repeat(2, 1fr); } } /* Auto-fit (responsive without breakpoints) */ .grid-auto { grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); } .grid-auto-sm { grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); } .grid-auto-lg { grid-template-columns: repeat(auto-fit, minmax(350px, 1fr)); } /* Gap variants */ .grid-gap-sm { gap: var(--space-4); } .grid-gap-md { gap: var(--space-6); } .grid-gap-lg { gap: var(--space-8); } .grid-gap-xl { gap: var(--space-12); } /* Headings */ .h1, .h2, .h3, .h4, .h5, .h6 { font-family: var(--font-heading); font-weight: var(--font-weight-bold); line-height: var(--line-height-tight); color: var(--color-gray-900); margin: 0; } .h1 { font-size: var(--font-size-3xl); } .h2 { font-size: var(--font-size-2xl); } .h3 { font-size: var(--font-size-xl); } .h4 { font-size: var(--font-size-lg); } .h5 { font-size: var(--font-size-base); } .h6 { font-size: var(--font-size-sm); font-weight: var(--font-weight-semibold); } @media (min-width: 768px) { .h1 { font-size: var(--font-size-4xl); } .h2 { font-size: var(--font-size-3xl); } .h3 { font-size: var(--font-size-2xl); } } @media (min-width: 1024px) { .h1 { font-size: var(--font-size-5xl); } .h2 { font-size: var(--font-size-4xl); } .h3 { font-size: var(--font-size-3xl); } } /* Display headings (hero) */ .display-1 { font-family: var(--font-heading); font-size: var(--font-size-4xl); font-weight: var(--font-weight-bold); line-height: var(--line-height-tight); color: var(--color-gray-900); } @media (min-width: 768px) { .display-1 { font-size: var(--font-size-5xl); } } @media (min-width: 1024px) { .display-1 { font-size: var(--font-size-6xl); } } /* Body text */ .text-base { font-size: var(--font-size-base); line-height: var(--line-height-normal); } .text-sm { font-size: var(--font-size-sm); line-height: var(--line-height-normal); } .text-lg { font-size: var(--font-size-lg); line-height: var(--line-height-relaxed); } .text-xl { font-size: var(--font-size-xl); line-height: var(--line-height-relaxed); } /* Lead paragraph */ .lead { font-size: var(--font-size-lg); line-height: var(--line-height-relaxed); color: var(--color-gray-600); } @media (min-width: 768px) { .lead { font-size: var(--font-size-xl); } } /* Text colors */ .text-primary { color: var(--color-primary); } .text-secondary { color: var(--color-secondary); } .text-white { color: var(--color-white); } .text-gray-600 { color: var(--color-gray-600); } .text-gray-700 { color: var(--color-gray-700); } .text-gray-900 { color: var(--color-gray-900); } /* Font weights */ .font-normal { font-weight: var(--font-weight-normal); } .font-medium { font-weight: var(--font-weight-medium); } .font-semibold { font-weight: var(--font-weight-semibold); } .font-bold { font-weight: var(--font-weight-bold); } /* Text alignment */ .text-left { text-align: left; } .text-center { text-align: center; } .text-right { text-align: right; } @media (min-width: 768px) { .text-left@md { text-align: left; } .text-center@md { text-align: center; } } /* Base button */ .btn { display: inline-flex; align-items: center; justify-content: center; gap: var(--space-2); padding: var(--space-3) var(--space-6); font-family: var(--font-primary); font-size: var(--font-size-base); font-weight: var(--font-weight-semibold); line-height: 1.5; text-align: center; text-decoration: none; white-space: nowrap; border: 2px solid transparent; border-radius: var(--radius-md); cursor: pointer; transition: all var(--transition-base); user-select: none; } .btn:focus-visible { outline: 2px solid var(--color-primary); outline-offset: 2px; } /* Primary button */ .btn-primary { background-color: var(--color-primary); color: var(--color-white); border-color: var(--color-primary); } .btn-primary:hover { background-color: var(--color-primary-dark); border-color: var(--color-primary-dark); transform: translateY(-1px); box-shadow: var(--shadow-md); } .btn-primary:active { transform: translateY(0); } /* Secondary button */ .btn-secondary { background-color: var(--color-secondary); color: var(--color-white); border-color: var(--color-secondary); } .btn-secondary:hover { background-color: var(--color-secondary-dark); border-color: var(--color-secondary-dark); transform: translateY(-1px); box-shadow: var(--shadow-md); } /* Outline button */ .btn-outline { background-color: transparent; color: var(--color-primary); border-color: var(--color-primary); } .btn-outline:hover { background-color: var(--color-primary); color: var(--color-white); } /* Ghost button */ .btn-ghost { background-color: transparent; color: var(--color-gray-700); border-color: transparent; } .btn-ghost:hover { background-color: var(--color-gray-100); } /* White button (for dark backgrounds) */ .btn-white { background-color: var(--color-white); color: var(--color-primary); border-color: var(--color-white); } .btn-white:hover { background-color: var(--color-gray-100); border-color: var(--color-gray-100); } /* Button sizes */ .btn-sm { padding: var(--space-2) var(--space-4); font-size: var(--font-size-sm); } .btn-lg { padding: var(--space-4) var(--space-8); font-size: var(--font-size-lg); } .btn-xl { padding: var(--space-5) var(--space-10); font-size: var(--font-size-xl); } /* Full width button */ .btn-block { display: flex; width: 100%; } /* Icon buttons */ .btn-icon { padding: var(--space-3); aspect-ratio: 1; } .btn-icon-sm { padding: var(--space-2); } .btn-icon-lg { padding: var(--space-4); } /* Base card */ .card { background-color: var(--color-white); border-radius: var(--radius-lg); box-shadow: var(--shadow-md); overflow: hidden; transition: all var(--transition-base); } .card:hover { box-shadow: var(--shadow-lg); transform: translateY(-2px); } .card-body { padding: var(--space-6); } .card-body-sm { padding: var(--space-4); } .card-body-lg { padding: var(--space-8); } /* Service card (for your HVAC services) */ .service-card { background-color: var(--color-white); border-radius: var(--radius-lg); padding: var(--space-8); box-shadow: var(--shadow-md); text-align: center; transition: all var(--transition-base); } .service-card:hover { box-shadow: var(--shadow-xl); transform: translateY(-4px); } .service-card__icon { width: 64px; height: 64px; margin: 0 auto var(--space-4); display: flex; align-items: center; justify-content: center; background-color: var(--color-primary-light); color: var(--color-primary); border-radius: var(--radius-xl); font-size: var(--font-size-3xl); } .service-card__title { font-size: var(--font-size-xl); font-weight: var(--font-weight-bold); margin-bottom: var(--space-3); color: var(--color-gray-900); } .service-card__description { color: var(--color-gray-600); margin-bottom: var(--space-6); } /* Testimonial card */ .testimonial-card { background-color: var(--color-white); border-radius: var(--radius-lg); padding: var(--space-6); box-shadow: var(--shadow-md); border-left: 4px solid var(--color-primary); } .testimonial-card__quote { font-size: var(--font-size-lg); line-height: var(--line-height-relaxed); color: var(--color-gray-700); margin-bottom: var(--space-4); font-style: italic; } .testimonial-card__author { font-weight: var(--font-weight-semibold); color: var(--color-gray-900); } .testimonial-card__role { font-size: var(--font-size-sm); color: var(--color-gray-600); } /* Badge */ .badge { display: inline-flex; align-items: center; gap: var(--space-1); padding: var(--space-1) var(--space-3); font-size: var(--font-size-sm); font-weight: var(--font-weight-semibold); line-height: 1; border-radius: var(--radius-full); } .badge-primary { background-color: var(--color-primary-light); color: var(--color-primary-dark); } .badge-secondary { background-color: var(--color-secondary-light); color: var(--color-secondary-dark); } .badge-success { background-color: #D1FAE5; color: #065F46; } .badge-warning { background-color: #FEF3C7; color: #92400E; } .badge-error { background-color: #FEE2E2; color: #991B1B; } /* Trust badge (for license, reviews, etc.) */ .trust-badge { display: inline-flex; align-items: center; gap: var(--space-2); padding: var(--space-2) var(--space-4); background-color: var(--color-gray-100); border-radius: var(--radius-md); font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); color: var(--color-gray-700); } .trust-badge__icon { color: var(--color-primary); } /* Form group */ .form-group { margin-bottom: var(--space-6); } /* Label */ .form-label { display: block; margin-bottom: var(--space-2); font-size: var(--font-size-sm); font-weight: var(--font-weight-medium); color: var(--color-gray-700); } /* Input */ .form-input, .form-select, .form-textarea { display: block; width: 100%; padding: var(--space-3) var(--space-4); font-family: var(--font-primary); font-size: var(--font-size-base); line-height: 1.5; color: var(--color-gray-900); background-color: var(--color-white); border: 2px solid var(--color-gray-300); border-radius: var(--radius-md); transition: all var(--transition-base); } .form-input:focus, .form-select:focus, .form-textarea:focus { outline: none; border-color: var(--color-primary); box-shadow: 0 0 0 3px var(--color-primary-light); } .form-input::placeholder { color: var(--color-gray-400); } /* Textarea */ .form-textarea { min-height: 120px; resize: vertical; } /* Checkbox & Radio */ .form-check { display: flex; align-items: center; gap: var(--space-2); } .form-check-input { width: 18px; height: 18px; cursor: pointer; } .form-check-label { font-size: var(--font-size-sm); color: var(--color-gray-700); cursor: pointer; } /* Error state */ .form-input.error, .form-select.error, .form-textarea.error { border-color: var(--color-error); } .form-error { display: block; margin-top: var(--space-2); font-size: var(--font-size-sm); color: var(--color-error); } /* Hero */ .hero { position: relative; padding-top: var(--space-20); padding-bottom: var(--space-20); background: linear-gradient(135deg, var(--color-primary) 0%, var(--color-primary-dark) 100%); color: var(--color-white); } @media (min-width: 1024px) { .hero { padding-top: var(--space-32); padding-bottom: var(--space-32); } } .hero__content { max-width: 800px; } .hero__title { font-size: var(--font-size-4xl); font-weight: var(--font-weight-bold); line-height: var(--line-height-tight); margin-bottom: var(--space-6); } @media (min-width: 768px) { .hero__title { font-size: var(--font-size-5xl); } } @media (min-width: 1024px) { .hero__title { font-size: var(--font-size-6xl); } } .hero__subtitle { font-size: var(--font-size-lg); line-height: var(--line-height-relaxed); margin-bottom: var(--space-8); opacity: 0.95; } @media (min-width: 768px) { .hero__subtitle { font-size: var(--font-size-xl); } } .hero__cta { display: flex; flex-wrap: wrap; gap: var(--space-4); } /* Header */ .site-header { position: sticky; top: 0; z-index: var(--z-sticky); background-color: var(--color-white); box-shadow: var(--shadow-sm); } .site-header__inner { display: flex; align-items: center; justify-content: space-between; padding-top: var(--space-4); padding-bottom: var(--space-4); } .site-header__logo img { height: 48px; width: auto; } .site-header__nav { display: none; } @media (min-width: 1024px) { .site-header__nav { display: flex; align-items: center; gap: var(--space-8); } } .site-header__nav-link { font-size: var(--font-size-base); font-weight: var(--font-weight-medium); color: var(--color-gray-700); text-decoration: none; transition: color var(--transition-base); } .site-header__nav-link:hover { color: var(--color-primary); } .site-header__cta { display: flex; align-items: center; gap: var(--space-3); } /* Phone link (tap-to-call) */ .phone-link { display: inline-flex; align-items: center; gap: var(--space-2); font-size: var(--font-size-lg); font-weight: var(--font-weight-bold); color: var(--color-primary); text-decoration: none; transition: color var(--transition-base); } .phone-link:hover { color: var(--color-primary-dark); } @media (max-width: 767px) { .phone-link__text { display: none; } } /* Footer */ .site-footer { background-color: var(--color-gray-900); color: var(--color-gray-300); padding-top: var(--space-16); padding-bottom: var(--space-8); } .site-footer a { color: var(--color-gray-300); text-decoration: none; transition: color var(--transition-base); } .site-footer a:hover { color: var(--color-white); } .site-footer__title { font-size: var(--font-size-lg); font-weight: var(--font-weight-semibold); color: var(--color-white); margin-bottom: var(--space-4); } .site-footer__bottom { margin-top: var(--space-12); padding-top: var(--space-8); border-top: 1px solid var(--color-gray-700); text-align: center; font-size: var(--font-size-sm); } /* Display */ .block { display: block; } .inline-block { display: inline-block; } .flex { display: flex; } .inline-flex { display: inline-flex; } .grid { display: grid; } .hidden { display: none; } /* Flex utilities */ .flex-col { flex-direction: column; } .flex-wrap { flex-wrap: wrap; } .items-start { align-items: flex-start; } .items-center { align-items: center; } .items-end { align-items: flex-end; } .justify-start { justify-content: flex-start; } .justify-center { justify-content: center; } .justify-end { justify-content: flex-end; } .justify-between { justify-content: space-between; } /* Spacing utilities */ .m-0 { margin: 0; } .mt-auto { margin-top: auto; } .mb-0 { margin-bottom: 0; } /* Background colors */ .bg-white { background-color: var(--color-white); } .bg-gray-50 { background-color: var(--color-gray-50); } .bg-gray-100 { background-color: var(--color-gray-100); } .bg-primary { background-color: var(--color-primary); } .bg-primary-light { background-color: var(--color-primary-light); } .bg-secondary { background-color: var(--color-secondary); } /* Border radius */ .rounded-sm { border-radius: var(--radius-sm); } .rounded-md { border-radius: var(--radius-md); } .rounded-lg { border-radius: var(--radius-lg); } .rounded-xl { border-radius: var(--radius-xl); } .rounded-full { border-radius: var(--radius-full); } /* Shadows */ .shadow-sm { box-shadow: var(--shadow-sm); } .shadow-md { box-shadow: var(--shadow-md); } .shadow-lg { box-shadow: var(--shadow-lg); } .shadow-xl { box-shadow: var(--shadow-xl); } /* Width */ .w-full { width: 100%; } .max-w-full { max-width: 100%; } /* Responsive visibility */ @media (max-width: 767px) { .hidden-mobile { display: none !important; } } @media (min-width: 768px) { .hidden-tablet { display: none !important; } } @media (min-width: 1024px) { .hidden-desktop { display: none !important; } } @media (max-width: 1023px) { .visible-desktop { display: none !important; } }

Air conditioning is an absolute must in Texas. So, when you find yourself with a broken-down air conditioner at the peak of the summer heat, you need an HVAC company you can trust to replace your air condition quickly, at an affordable, fair price.

Quality Comfort Air has been serving Spring and The Woodlands for years—we know how to handle the Texas heat. We are committed to providing excellent service for your air conditioning installation needs and we take pride in providing you with quality parts. You can rest assured that your new unit is in good hands with our experienced HVAC technicians.

For air conditioning installation in Tomball, contact us online now!

Signs Your Tomball Air Conditioner Needs Replacement

Indication that your air conditioner is due for replacement can be quite obvious if it has completely stopped working, but other times it is not so clear. Over the years, we have become quite familiar with the signs and work to make sure each of our customers know what to watch for when assessing their unit.

Here are some common signs that your AC is nearing the end of its life:

If your air conditioner is more than 10 years old, even if it is still functional, it is automatically due for replacement. Why? Because cooling technology has advanced significantly in recent years and newer models are far more efficient. This efficiency will end up saving you money on your energy bills long-term.

If some or all of the above apply to your current unit, rest assured that your Quality Comfort Air technician will help you find the best replacement for your unique needs and budget.

Contact us online now for air conditioning replacement in Tomball.

Free Estimates

We provide free estimates on new equipment including complete HVAC duct systems. Once the estimate is complete, we give you a proposal a variety of options to find the best choice for your family’s budget. We also offer a financing option in order to help get you the cooling power you need without breaking the bank. We are here to help find the right system to fit your family’s needs and keep you comfortable all year long.

We are confident that you will be satisfied with our professional customer service–that’s why we offer free estimates for duct systems, furnaces, electrical air handlers, condensers, and heat pumps. We want to help you with your AC installation needs, no matter the situation or scope of work, so we offer budget solutions for everyone.

Schedule Air Conditioner Installation in Tomball

Whether you are moving into a new home and need an air conditioner, or your unit is outdated or dysfunctional and need replacement, Quality Comfort Air is at the ready to help get you what you need. Thanks to our industry-leading warranty, accommodating financing, and expert crew, you can be confident that your air conditioner installation will go smoothly and will keep your family comfortable for years to come.

To schedule air conditioner installation in Tomball, contact us online or call us at (832) 663-5373!