Windshield Replacement Portland | Mobile Auto Glass Portland | Big Rig Glass & * { margin: 0; padding: 0; box-sizing: border-box; } :root { --primary-red: #DC2626; --dark-red: #991B1B; --light-red: #FEE2E2; --black: #0A0A0A; --gray-900: #111827; --gray-800: #1F2937; --gray-700: #374151; --gray-600: #4B5563; --gray-500: #6B7280; --gray-400: #9CA3AF; --gray-300: #D1D5DB; --gray-200: #E5E7EB; --gray-100: #F3F4F6; --white: #FFFFFF; } body { font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, sans-serif; line-height: 1.6; color: var(--gray-900); background-color: var(--black); overflow-x: hidden; } /* Loading Animation - Fixed */ .loader { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: var(--black); display: flex; justify-content: center; align-items: center; z-index: 9999; opacity: 1; transition: opacity 0.5s ease-out; pointer-events: auto; } .loader.fade-out { opacity: 0; pointer-events: none; } .loader.hidden { display: none; } .loader-inner { width: 60px; height: 60px; border: 3px solid var(--gray-800); border-top-color: var(--primary-red); border-radius: 50%; animation: spin 1s linear infinite; } @keyframes spin { to { transform: rotate(360deg); } } /* Navigation */ nav { position: fixed; top: 0; width: 100%; background: rgba(10, 10, 10, 0.9); backdrop-filter: blur(20px); -webkit-backdrop-filter: blur(20px); z-index: 1000; transition: all 0.3s ease; border-bottom: 1px solid rgba(255, 255, 255, 0.1); } nav.scrolled { background: rgba(10, 10, 10, 0.98); box-shadow: 0 4px 30px rgba(0, 0, 0, 0.5); } .nav-container { max-width: 1400px; margin: 0 auto; padding: 1rem 2rem; display: flex; justify-content: space-between; align-items: center; } .logo { height: 50px; transition: transform 0.3s ease; } .logo:hover { transform: scale(1.05); } .nav-links { display: flex; gap: 2rem; list-style: none; margin: 0; padding: 0; align-items: center; } .nav-links a { color: var(--white); text-decoration: none; font-weight: 500; position: relative; transition: color 0.3s ease; padding: 0.5rem 0; display: flex; align-items: center; height: 100%; } .nav-links > li > a::after { content: ''; position: absolute; bottom: 0; left: 0; width: 0; height: 2px; background: var(--primary-red); transition: width 0.3s ease; } .nav-links > li:not(.has-dropdown) > a:hover::after { width: 100%; } .nav-links > li > a:hover { color: var(--primary-red); } /* Dropdown Menu Styles */ .nav-item { position: relative; list-style: none; display: flex; align-items: center; } .nav-item.has-dropdown > a { display: flex; align-items: center; gap: 0.5rem; cursor: pointer; } .dropdown-arrow { width: 12px; height: 12px; transition: transform 0.3s ease; stroke: currentColor; flex-shrink: 0; } .nav-item:hover .dropdown-arrow { transform: rotate(180deg); } .dropdown-menu { position: absolute; top: calc(100% + 0.5rem); left: 50%; transform: translateX(-50%) translateY(-10px); min-width: 220px; background: rgba(31, 41, 55, 0.98); backdrop-filter: blur(20px); -webkit-backdrop-filter: blur(20px); border: 1px solid rgba(255, 255, 255, 0.1); border-radius: 12px; padding: 0.5rem; opacity: 0; visibility: hidden; transition: all 0.3s ease; box-shadow: 0 10px 30px rgba(0, 0, 0, 0.5); z-index: 1001; } .nav-item:hover .dropdown-menu { opacity: 1; visibility: visible; transform: translateX(-50%) translateY(0); } .dropdown-menu::before { content: ''; position: absolute; top: -6px; left: 50%; transform: translateX(-50%); width: 12px; height: 12px; background: rgba(31, 41, 55, 0.98); border-top: 1px solid rgba(255, 255, 255, 0.1); border-left: 1px solid rgba(255, 255, 255, 0.1); transform: translateX(-50%) rotate(45deg); z-index: 1; } .dropdown-menu a { display: block; padding: 0.75rem 1rem; color: var(--gray-300); text-decoration: none; border-radius: 8px; transition: all 0.3s ease; position: relative; overflow: hidden; } .dropdown-menu a::before { content: ''; position: absolute; top: 0; left: -100%; width: 100%; height: 100%; background: rgba(220, 38, 38, 0.1); transition: left 0.3s ease; } .dropdown-menu a:hover { color: var(--white); background: rgba(220, 38, 38, 0.2); transform: translateX(5px); } .dropdown-menu a:hover::before { left: 0; } .cta-button { background: var(--primary-red); color: var(--white); padding: 0.75rem 2rem; border-radius: 8px; text-decoration: none; font-weight: 600; transition: all 0.3s ease; display: inline-flex; align-items: center; gap: 0.5rem; position: relative; overflow: hidden; } .cta-button::before { content: ''; position: absolute; top: 0; left: -100%; width: 100%; height: 100%; background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent); transition: left 0.5s ease; } .cta-button:hover { background: var(--dark-red); transform: translateY(-2px); box-shadow: 0 10px 20px rgba(220, 38, 38, 0.3); } .cta-button:hover::before { left: 100%; } /* Mobile Menu */ .mobile-menu-toggle { display: none; flex-direction: column; gap: 4px; cursor: pointer; z-index: 1001; } .mobile-menu-toggle span { width: 25px; height: 2px; background: var(--white); transition: all 0.3s ease; } .mobile-menu-toggle.active span:nth-child(1) { transform: rotate(45deg) translate(5px, 5px); } .mobile-menu-toggle.active span:nth-child(2) { opacity: 0; } .mobile-menu-toggle.active span:nth-child(3) { transform: rotate(-45deg) translate(7px, -6px); } /* Hero Section */ .hero { min-height: 100vh; display: flex; align-items: center; position: relative; background: linear-gradient(135deg, var(--black) 0%, var(--gray-900) 100%); overflow: hidden; } .hero-bg { position: absolute; top: 0; left: 0; width: 100%; height: 100%; opacity: 0.3; background-image: url('https://assets.ycodeapp.com/assets/app112490/Images/new-hxne8pewqe.webp'); background-size: cover; background-position: center; filter: brightness(0.5); } .hero-particles { position: absolute; top: 0; left: 0; width: 100%; height: 100%; overflow: hidden; } .particle { position: absolute; width: 4px; height: 4px; background: var(--primary-red); border-radius: 50%; opacity: 0.5; animation: float 20s infinite linear; } @keyframes float { from { transform: translateY(100vh) rotate(0deg); opacity: 0; } 10% { opacity: 0.5; } 90% { opacity: 0.5; } to { transform: translateY(-100vh) rotate(360deg); opacity: 0; } } .hero-content { max-width: 1400px; margin: 0 auto; padding: 2rem; position: relative; z-index: 2; display: grid; grid-template-columns: 1fr 1fr; gap: 4rem; align-items: center; } .hero-text h1 { font-size: clamp(2.5rem, 5vw, 4rem); font-weight: 800; color: var(--white); margin-bottom: 1.5rem; line-height: 1.2; animation: slideInLeft 1s ease-out; } .hero-text h1 span { color: var(--primary-red); display: inline-block; animation: pulse 2s ease-in-out infinite; } @keyframes pulse { 0%, 100% { transform: scale(1); } 50% { transform: scale(1.05); } } @keyframes slideInLeft { from { opacity: 0; transform: translateX(-50px); } to { opacity: 1; transform: translateX(0); } } .hero-text p { font-size: 1.25rem; color: var(--gray-300); margin-bottom: 2rem; animation: slideInLeft 1s ease-out 0.2s both; } .hero-buttons { display: flex; gap: 1rem; flex-wrap: wrap; animation: slideInLeft 1s ease-out 0.4s both; } .secondary-button { background: transparent; color: var(--white); padding: 0.75rem 2rem; border: 2px solid var(--white); border-radius: 8px; text-decoration: none; font-weight: 600; transition: all 0.3s ease; display: inline-flex; align-items: center; gap: 0.5rem; } .secondary-button:hover { background: var(--white); color: var(--black); transform: translateY(-2px); box-shadow: 0 10px 20px rgba(255, 255, 255, 0.2); } .hero-image { position: relative; animation: slideInRight 1s ease-out 0.6s both; } @keyframes slideInRight { from { opacity: 0; transform: translateX(50px); } to { opacity: 1; transform: translateX(0); } } .hero-image-wrapper { position: relative; border-radius: 20px; overflow: hidden; box-shadow: 0 20px 60px rgba(0, 0, 0, 0.5); transform: perspective(1000px) rotateY(-5deg); transition: transform 0.5s ease; } .hero-image-wrapper:hover { transform: perspective(1000px) rotateY(0deg); } .hero-image img { width: 100%; height: auto; display: block; } .floating-card { position: absolute; background: rgba(255, 255, 255, 0.1); backdrop-filter: blur(10px); border: 1px solid rgba(255, 255, 255, 0.2); border-radius: 16px; padding: 1.5rem; animation: floatCard 3s ease-in-out infinite; } @keyframes floatCard { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-10px); } } .stats-card { top: 20px; right: 20px; color: var(--white); background: rgba(220, 38, 38, 0.9); backdrop-filter: blur(10px); } .stats-card h3 { font-size: 2.5rem; font-weight: 800; color: var(--white); } .trust-badges { display: flex; gap: 1rem; margin-top: 3rem; animation: fadeIn 1s ease-out 0.8s both; } @keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } } .badge { background: rgba(255, 255, 255, 0.05); border: 1px solid rgba(255, 255, 255, 0.1); border-radius: 12px; padding: 1rem 1.5rem; display: flex; align-items: center; gap: 0.75rem; color: var(--white); transition: all 0.3s ease; } .badge:hover { background: rgba(255, 255, 255, 0.1); transform: translateY(-2px); } .badge-icon { width: 24px; height: 24px; color: var(--primary-red); } /* Services Section */ .services { padding: 5rem 2rem; background: var(--gray-900); position: relative; } .services::before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 1px; background: linear-gradient(90deg, transparent, var(--primary-red), transparent); } .section-header { text-align: center; max-width: 800px; margin: 0 auto 4rem; } .section-header h2 { font-size: clamp(2rem, 4vw, 3rem); font-weight: 800; color: var(--white); margin-bottom: 1rem; position: relative; display: inline-block; } .section-header h2::after { content: ''; position: absolute; bottom: -10px; left: 50%; transform: translateX(-50%); width: 60px; height: 4px; background: var(--primary-red); border-radius: 2px; } .section-header p { color: var(--gray-300); font-size: 1.1rem; } .services-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(350px, 1fr)); gap: 2rem; max-width: 1400px; margin: 0 auto; } .service-card { background: rgba(255, 255, 255, 0.02); border: 1px solid rgba(255, 255, 255, 0.1); border-radius: 20px; padding: 2.5rem; position: relative; overflow: hidden; transition: all 0.4s ease; cursor: pointer; } .service-card::before { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: radial-gradient(circle at var(--mouse-x, 50%) var(--mouse-y, 50%), rgba(220, 38, 38, 0.1), transparent 50%); opacity: 0; transition: opacity 0.3s ease; pointer-events: none; } .service-card:hover::before { opacity: 1; } .service-card:hover { transform: translateY(-10px); border-color: var(--primary-red); box-shadow: 0 20px 40px rgba(220, 38, 38, 0.2); } .service-icon { width: 60px; height: 60px; background: var(--primary-red); border-radius: 16px; display: flex; align-items: center; justify-content: center; margin-bottom: 1.5rem; position: relative; overflow: hidden; } .service-icon::after { content: ''; position: absolute; top: -50%; left: -50%; width: 200%; height: 200%; background: linear-gradient(45deg, transparent, rgba(255, 255, 255, 0.3), transparent); transform: rotate(45deg); transition: all 0.5s ease; } .service-card:hover .service-icon::after { animation: shimmer 0.5s ease; } @keyframes shimmer { 0% { transform: translateX(-100%) translateY(-100%) rotate(45deg); } 100% { transform: translateX(100%) translateY(100%) rotate(45deg); } } .service-icon svg { width: 30px; height: 30px; color: var(--white); z-index: 1; position: relative; } .service-card h3 { font-size: 1.5rem; color: var(--white); margin-bottom: 1rem; } .service-card p { color: var(--gray-400); line-height: 1.8; margin-bottom: 1.5rem; } .service-features { list-style: none; } .service-features li { color: var(--gray-300); padding: 0.5rem 0; display: flex; align-items: center; gap: 0.5rem; } .service-features li::before { content: '✓'; color: var(--primary-red); font-weight: bold; } /* Testimonials */ .testimonials { padding: 5rem 2rem; background: linear-gradient(135deg, var(--black) 0%, var(--gray-900) 100%); position: relative; overflow: hidden; } .testimonials-container { max-width: 1400px; margin: 0 auto; } .testimonial-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(350px, 1fr)); gap: 2rem; margin-top: 3rem; } .testimonial-card { background: rgba(255, 255, 255, 0.02); border: 1px solid rgba(255, 255, 255, 0.1); border-radius: 20px; padding: 2rem; position: relative; transition: all 0.3s ease; } .testimonial-card:hover { transform: translateY(-5px); box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3); } .testimonial-header { display: flex; align-items: center; gap: 1rem; margin-bottom: 1.5rem; } .testimonial-avatar { width: 60px; height: 60px; background: var(--primary-red); border-radius: 50%; display: flex; align-items: center; justify-content: center; color: var(--white); font-weight: bold; font-size: 1.5rem; } .testimonial-info h4 { color: var(--white); margin-bottom: 0.25rem; } .testimonial-info p { color: var(--gray-400); font-size: 0.875rem; } .testimonial-rating { display: flex; gap: 0.25rem; margin-bottom: 1rem; } .star { color: #FBB404; font-size: 1.25rem; } .testimonial-text { color: var(--gray-300); line-height: 1.8; font-style: italic; } /* CTA Section */ .cta-section { padding: 5rem 2rem; background: var(--gray-900); text-align: center; position: relative; overflow: hidden; } .cta-section::before { content: ''; position: absolute; top: -50%; left: -50%; width: 200%; height: 200%; background: radial-gradient(circle, rgba(220, 38, 38, 0.1) 0%, transparent 70%); animation: rotate 30s linear infinite; } @keyframes rotate { from { transform: rotate(0deg); } to { transform: rotate(360deg); } } .cta-content { position: relative; z-index: 1; max-width: 800px; margin: 0 auto; } .cta-content h2 { font-size: clamp(2rem, 4vw, 3rem); color: var(--white); margin-bottom: 1.5rem; } .cta-content p { font-size: 1.25rem; color: var(--gray-300); margin-bottom: 2.5rem; } .cta-buttons { display: flex; gap: 1rem; justify-content: center; flex-wrap: wrap; } /* Footer */ footer { background: var(--black); padding: 3rem 2rem 2rem; border-top: 1px solid rgba(255, 255, 255, 0.1); } .footer-content { max-width: 1400px; margin: 0 auto; display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 3rem; margin-bottom: 2rem; } .footer-section h3 { color: var(--white); margin-bottom: 1.5rem; font-size: 1.25rem; } .footer-section ul { list-style: none; } .footer-section ul li { margin-bottom: 0.75rem; } .footer-section ul li a { color: var(--gray-400); text-decoration: none; transition: color 0.3s ease; } .footer-section ul li a:hover { color: var(--primary-red); } /* Contact info styling for better readability */ .footer-section:last-child ul li { color: var(--white); font-weight: 500; } .footer-section:last-child ul li a[href^="tel"] { color: var(--primary-red); font-weight: 600; } .footer-section:last-child ul li a[href^="tel"]:hover { color: var(--dark-red); } .footer-bottom { text-align: center; padding-top: 2rem; border-top: 1px solid rgba(255, 255, 255, 0.1); color: var(--gray-400); } /* Responsive Design */ @media (max-width: 768px) { .mobile-menu-toggle { display: flex; } .nav-links { position: fixed; top: 0; right: -100%; width: 80%; max-width: 320px; height: 100vh; background: var(--gray-900); flex-direction: column; padding: 5rem 2rem; transition: right 0.3s ease; overflow-y: auto; gap: 0; box-shadow: -5px 0 20px rgba(0, 0, 0, 0.5); } .nav-links.active { right: 0; } .nav-item { width: 100%; } .nav-item > a { padding: 1rem 0; border-bottom: 1px solid rgba(255, 255, 255, 0.1); width: 100%; display: flex; justify-content: space-between; align-items: center; } .dropdown-menu { position: static; transform: none; width: 100%; background: rgba(0, 0, 0, 0.3); box-shadow: none; margin-top: 0; border-radius: 0; padding: 0; max-height: 0; overflow: hidden; opacity: 1; visibility: visible; transition: max-height 0.3s ease, padding 0.3s ease; } .dropdown-menu::before { display: none; } .nav-item.mobile-expanded .dropdown-menu { max-height: 400px; padding: 0.5rem; } .nav-item.mobile-expanded .dropdown-arrow { transform: rotate(180deg); } .dropdown-menu a { padding: 0.75rem 1rem 0.75rem 2rem; font-size: 0.9rem; } .hero-content { grid-template-columns: 1fr; text-align: center; } .hero-image { display: none; } .services-grid { grid-template-columns: 1fr; } .testimonial-grid { grid-template-columns: 1fr; } .trust-badges { flex-direction: column; align-items: center; } .cta-buttons { flex-direction: column; align-items: center; } }
Big Rig Glass Logo
  • Services
    Windshield Replacement Mobile Auto Glass Auto Glass Repair Windshield Repair ADAS Calibration
  • Vehicle Types
    Car Windshields Trucks & SUVs Commercial Vehicles RVs & Motorhomes Semi Trucks
  • Locations
    Portland, OR Vancouver, WA
  • About
  • Reviews
(503) 317-7084

Portland's #1 Windshield Replacement & Mobile Auto Glass Service

Expert windshield replacement Portland and mobile auto glass Portland service. Professional auto glass repair and windshield repair throughout Portland metro area since 2000.

Get Free Quote Our Services
4.9/5

287 Reviews

Certified

AGSC Member

Warranty

Leak-Proof

Big Rig Glass Shop Front

20+

Years in Business

Windshield Replacement Portland & Mobile Auto Glass Services

Professional windshield replacement Portland, mobile auto glass Portland, and auto glass repair services throughout Portland metro area

Windshield Replacement Portland

Expert windshield replacement Portland service for all vehicles. We serve the entire Portland metro area including Beaverton, Gresham, Hillsboro, and Lake Oswego with same-day service.

  • Portland metro coverage
  • Same-day installation
  • OEM quality glass
  • Insurance direct billing

Mobile Auto Glass Portland

FREE mobile auto glass Portland service! We come to your location anywhere in Portland, Vancouver, Tigard, or surrounding areas. No extra charge for mobile service.

  • 100% FREE mobile service
  • Portland metro coverage
  • Home, work, or roadside
  • Fully equipped mobile units

Auto Glass Repair Portland

Professional auto glass repair Portland service for chips, cracks, and damaged windows. Fast, affordable repairs that restore your vehicle's safety and visibility.

  • Rock chip repair
  • Crack repair
  • Door glass replacement
  • Back glass repair

Windshield Repair Portland

Fast windshield repair Portland service for small chips and cracks. Prevent damage from spreading with our professional windshield repair that saves time and money.

  • 15-minute rock chip repair
  • Prevents crack spreading
  • Insurance coverage
  • Guaranteed results

ADAS Calibration Portland

Professional ADAS calibration Portland service for modern vehicles. Ensure your safety systems work correctly after windshield replacement with our advanced calibration technology.

  • Advanced safety systems
  • Lane departure warning
  • Automatic emergency braking
  • MaxiSYS calibration

What Our Clients Say

Trusted by Portland's leading fleet operators for over 20 years

DR

Dan Reichenbach

CEO/Owner - PSC

★ ★ ★ ★ ★

"PSC has used Big Rig Glass for over 15 years. A simple phone call gets us on the schedule quickly and they arrive when they say. That 'will do' customer service attitude is exactly what PSC is about and it is what makes Big Rig Glass a great business partner."

LC

Lawrence Calcagno

Branch Service Manager

★ ★ ★ ★ ★

"Big Rig Glass is more than a vendor we have a partnership and with their great onsite service with great pricing, it is a combo you just can't find anywhere else. The BRG team has never let us down and will always stand behind their work."

BT

Bill Thomas

Maintenance Manager

★ ★ ★ ★ ★

"I have been doing business with Big Rig Glass for 20 plus years. The service they provide has always been exceptional. You have always gone above and beyond to keep our trucks rolling and down time to a minimal."

Need Windshield Replacement Portland?

Get fast mobile auto glass Portland service throughout the metro area. Professional windshield repair and auto glass replacement with guaranteed satisfaction.

Call Now: (503) 317-7084 Get Online Quote

Our Services

  • Windshield Replacement
  • Mobile Auto Glass
  • Auto Glass Repair
  • Windshield Repair
  • ADAS Calibration

Vehicle Types

  • Car Windshields
  • Trucks & SUVs
  • Commercial Vehicles
  • RVs & Motorhomes
  • Semi Trucks

Service Areas

  • Portland, OR
  • Vancouver, WA

Contact

  • (503) 317-7084
  • 919 NE Marine Drive
  • Portland, OR 97211
  • Mon-Fri: 7:00 AM - 5:00 PM
  • Saturday: By Appointment

© 2025 Big Rig Glass. All rights reserved. | Portland's Premier Windshield Replacement & Mobile Auto Glass Service Since 2000