Get Your Auto Glass Fixed - 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; background: radial-gradient(ellipse at center, #1a1a2e 0%, #16213e 25%, #0f3460 50%, var(--black) 100%); color: var(--white); overflow: hidden; height: 100vh; position: relative; } /* Enhanced Background Effects */ .bg-particles { position: fixed; top: 0; left: 0; width: 100%; height: 100%; overflow: hidden; z-index: 1; } .particle { position: absolute; border-radius: 50%; pointer-events: none; animation: float 20s infinite linear; } .particle:nth-child(odd) { width: 4px; height: 4px; background: linear-gradient(45deg, var(--primary-red), #ff6b6b); opacity: 0.8; box-shadow: 0 0 10px var(--primary-red); } .particle:nth-child(even) { width: 6px; height: 6px; background: linear-gradient(45deg, #ffffff, #e0e0e0); opacity: 0.6; box-shadow: 0 0 15px rgba(255, 255, 255, 0.5); } .particle:nth-child(3n) { width: 8px; height: 8px; background: linear-gradient(45deg, var(--primary-red), #ff1744); opacity: 0.4; box-shadow: 0 0 20px var(--primary-red); animation-duration: 25s; } .particle:nth-child(5n) { width: 3px; height: 3px; background: linear-gradient(45deg, #64b5f6, #42a5f5); opacity: 0.7; box-shadow: 0 0 12px #64b5f6; animation-duration: 15s; } @keyframes float { from { transform: translateY(100vh) translateX(0) rotate(0deg) scale(0); opacity: 0; } 5% { opacity: 1; transform: translateY(95vh) translateX(10px) rotate(18deg) scale(1); } 15% { transform: translateY(85vh) translateX(30px) rotate(72deg) scale(1.2); } 50% { transform: translateY(50vh) translateX(100px) rotate(180deg) scale(1); } 85% { transform: translateY(15vh) translateX(150px) rotate(288deg) scale(0.8); } 95% { opacity: 1; transform: translateY(5vh) translateX(180px) rotate(342deg) scale(0.5); } to { transform: translateY(-10vh) translateX(200px) rotate(360deg) scale(0); opacity: 0; } } /* Dynamic Grid Background */ body::before { content: ''; position: fixed; top: 0; left: 0; width: 100%; height: 100%; background-image: linear-gradient(rgba(220, 38, 38, 0.1) 1px, transparent 1px), linear-gradient(90deg, rgba(220, 38, 38, 0.1) 1px, transparent 1px); background-size: 50px 50px; z-index: 1; animation: gridPulse 4s ease-in-out infinite; } @keyframes gridPulse { 0%, 100% { opacity: 0.3; } 50% { opacity: 0.1; } } /* Floating Geometric Shapes */ body::after { content: ''; position: fixed; top: 20%; right: 10%; width: 200px; height: 200px; background: linear-gradient(45deg, rgba(220, 38, 38, 0.1), rgba(255, 107, 107, 0.1)); border-radius: 30% 70% 70% 30% / 30% 30% 70% 70%; z-index: 1; animation: morphFloat 8s ease-in-out infinite; } @keyframes morphFloat { 0%, 100% { transform: translateY(0) rotate(0deg); border-radius: 30% 70% 70% 30% / 30% 30% 70% 70%; } 25% { transform: translateY(-20px) rotate(90deg); border-radius: 58% 42% 75% 25% / 76% 24% 76% 24%; } 50% { transform: translateY(-10px) rotate(180deg); border-radius: 50% 50% 33% 67% / 55% 27% 73% 45%; } 75% { transform: translateY(-30px) rotate(270deg); border-radius: 33% 67% 58% 42% / 63% 68% 32% 37%; } } /* Main Container */ .container { position: relative; z-index: 10; height: 100vh; display: flex; align-items: center; justify-content: center; padding: 2rem; } /* Start Screen */ .start-screen { text-align: center; animation: fadeIn 1s ease-out; } @keyframes fadeIn { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: translateY(0); } } .logo { width: 200px; height: auto; margin: 0 auto 2rem auto; animation: pulse 2s ease-in-out infinite; display: block; text-align: center; } @keyframes pulse { 0%, 100% { transform: scale(1); } 50% { transform: scale(1.05); } } .start-screen h1 { font-size: clamp(2.5rem, 5vw, 4rem); font-weight: 800; margin-bottom: 1rem; background: linear-gradient(135deg, var(--white) 0%, var(--primary-red) 100%); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; } .start-screen p { font-size: 1.25rem; color: var(--gray-300); margin-bottom: 3rem; } .start-buttons { display: flex; gap: 1.5rem; justify-content: center; flex-wrap: wrap; } .btn { padding: 1rem 3rem; font-size: 1.1rem; font-weight: 600; border: none; border-radius: 12px; cursor: pointer; transition: all 0.3s ease; display: inline-flex; align-items: center; gap: 0.75rem; position: relative; overflow: hidden; text-decoration: none; } .btn-primary { background: var(--primary-red); color: var(--white); } .btn-primary::before { content: ''; position: absolute; top: 0; left: -100%; width: 100%; height: 100%; background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.3), transparent); transition: left 0.5s ease; } .btn-primary:hover { background: var(--dark-red); transform: translateY(-2px); box-shadow: 0 10px 30px rgba(220, 38, 38, 0.4); } .btn-primary:hover::before { left: 100%; } .btn-secondary { background: transparent; color: var(--white); border: 2px solid var(--white); } .btn-secondary:hover { background: var(--white); color: var(--black); transform: translateY(-2px); box-shadow: 0 10px 30px rgba(255, 255, 255, 0.2); } /* Question Screens */ .question-screen { display: none; width: 100%; max-width: 800px; animation: slideIn 0.5s ease-out; } @keyframes slideIn { from { opacity: 0; transform: translateX(50px); } to { opacity: 1; transform: translateX(0); } } .question-screen.active { display: block; } .progress-bar { width: 100%; height: 6px; background: var(--gray-800); border-radius: 3px; margin-bottom: 3rem; overflow: hidden; position: relative; } .progress-fill { height: 100%; background: linear-gradient(90deg, var(--primary-red), var(--dark-red)); border-radius: 3px; transition: width 0.5s ease; position: relative; overflow: hidden; } .progress-fill::after { content: ''; position: absolute; top: 0; left: 0; right: 0; bottom: 0; background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.3), transparent); animation: shimmer 2s infinite; } @keyframes shimmer { from { transform: translateX(-100%); } to { transform: translateX(100%); } } .question-header h2 { font-size: clamp(1.5rem, 3vw, 2.5rem); margin-bottom: 1rem; color: var(--white); } .question-header p { color: var(--gray-300); margin-bottom: 2rem; } /* Vehicle Options */ .vehicle-options { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 1.5rem; margin-bottom: 2rem; } .vehicle-option { background: rgba(255, 255, 255, 0.05); border: 2px solid transparent; border-radius: 16px; padding: 2rem 1rem; cursor: pointer; transition: all 0.3s ease; text-align: center; position: relative; overflow: hidden; } .vehicle-option::before { content: ''; position: absolute; top: 50%; left: 50%; width: 0; height: 0; background: rgba(220, 38, 38, 0.2); border-radius: 50%; transform: translate(-50%, -50%); transition: all 0.5s ease; } .vehicle-option:hover { transform: translateY(-5px); border-color: var(--primary-red); background: rgba(255, 255, 255, 0.1); } .vehicle-option:hover::before { width: 300px; height: 300px; } .vehicle-option.selected { border-color: var(--primary-red); background: rgba(220, 38, 38, 0.2); } .vehicle-icon { width: 60px; height: 60px; margin: 0 auto 1rem; color: var(--primary-red); } .vehicle-option h3 { font-size: 1.1rem; color: var(--white); } /* Service Type Options */ .service-options { display: flex; gap: 1.5rem; flex-wrap: wrap; justify-content: center; margin-bottom: 2rem; } .service-option { flex: 1; min-width: 250px; background: rgba(255, 255, 255, 0.05); border: 2px solid transparent; border-radius: 16px; padding: 2.5rem; cursor: pointer; transition: all 0.3s ease; text-align: center; position: relative; } .service-option:hover { transform: scale(1.02); border-color: var(--primary-red); background: rgba(255, 255, 255, 0.1); } .service-option.selected { border-color: var(--primary-red); background: rgba(220, 38, 38, 0.2); } .service-icon { width: 80px; height: 80px; margin: 0 auto 1.5rem; background: var(--primary-red); border-radius: 20px; display: flex; align-items: center; justify-content: center; position: relative; overflow: hidden; } .service-icon svg { width: 40px; height: 40px; color: var(--white); z-index: 1; } .service-option h3 { font-size: 1.5rem; color: var(--white); margin-bottom: 0.5rem; } .service-option p { color: var(--gray-300); } /* Form Inputs */ .form-group { margin-bottom: 2rem; } .form-group label { display: block; margin-bottom: 0.75rem; color: var(--gray-300); font-weight: 500; } .form-input { width: 100%; padding: 1rem 1.5rem; background: rgba(255, 255, 255, 0.05); border: 2px solid rgba(255, 255, 255, 0.1); border-radius: 12px; color: var(--white); font-size: 1rem; transition: all 0.3s ease; } .form-input:focus { outline: none; border-color: var(--primary-red); background: rgba(255, 255, 255, 0.1); } .form-input::placeholder { color: var(--gray-500); } textarea.form-input { resize: vertical; min-height: 100px; } .form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 1.5rem; } /* Navigation Buttons */ .nav-buttons { display: flex; justify-content: space-between; gap: 1rem; margin-top: 2rem; } .nav-buttons.single { justify-content: center; } /* Loading Screen */ .loading-screen { display: none; text-align: center; animation: fadeIn 0.5s ease-out; } .loading-screen.active { display: block; } .loader-circle { width: 80px; height: 80px; border: 4px solid var(--gray-800); border-top-color: var(--primary-red); border-radius: 50%; margin: 0 auto 2rem; animation: spin 1s linear infinite; } @keyframes spin { to { transform: rotate(360deg); } } /* Success Screen */ .success-screen { display: none; text-align: center; animation: fadeIn 0.5s ease-out; } .success-screen.active { display: block; } .success-icon { width: 100px; height: 100px; background: var(--primary-red); border-radius: 50%; margin: 0 auto 2rem; display: flex; align-items: center; justify-content: center; animation: successPop 0.5s ease-out; } @keyframes successPop { 0% { transform: scale(0); } 50% { transform: scale(1.2); } 100% { transform: scale(1); } } .success-icon svg { width: 50px; height: 50px; color: var(--white); } .success-buttons { display: flex; gap: 1.5rem; justify-content: center; flex-wrap: wrap; margin-top: 2rem; } /* Responsive */ @media (max-width: 768px) { .vehicle-options { grid-template-columns: repeat(2, 1fr); gap: 1rem; } .form-row { grid-template-columns: 1fr; } .service-options { flex-direction: column; } .nav-buttons { flex-direction: column-reverse; } .btn { width: 100%; justify-content: center; } } /* Hidden Class */ .hidden { display: none !important; } /* Floating shapes animations */ @keyframes floatShape { 0%, 100% { transform: translateY(0px) translateX(0px) scale(1); opacity: 0.3; } 25% { transform: translateY(-30px) translateX(20px) scale(1.1); opacity: 0.6; } 50% { transform: translateY(-10px) translateX(-15px) scale(0.9); opacity: 0.4; } 75% { transform: translateY(-40px) translateX(10px) scale(1.05); opacity: 0.7; } } @keyframes rotateShape { from { transform: rotate(0deg); } to { transform: rotate(360deg); } } /* Interactive cursor effects */ @media (pointer: fine) { .vehicle-option:hover, .service-option:hover, .btn:hover { cursor: pointer; } .vehicle-option:hover .vehicle-icon, .service-option:hover .service-icon svg { animation: iconBounce 0.6s ease-in-out; } } @keyframes iconBounce { 0%, 100% { transform: scale(1) rotate(0deg); } 25% { transform: scale(1.1) rotate(-5deg); } 50% { transform: scale(1.2) rotate(0deg); } 75% { transform: scale(1.1) rotate(5deg); } }
Big Rig Glass

Get Your Glass Fixed Fast

Professional auto glass service for all vehicle types

Call (503) 317-7084

What type of vehicle do you have?

Select your vehicle type below

Semi Truck / Big Rig

Commercial Vehicle

RV / Motorhome

Truck / SUV

Car

Other

Where would you like service?

We offer both mobile and in-shop service

Mobile Service

We come to you - FREE!

In-Shop Service

Visit our Portland location

Let's get your contact information

We'll use this to send you a quote

What's your email address?

We'll send your quote details here

Any additional details?

Optional - Tell us about your specific needs

Sending your request...

Please wait a moment

Quote Request Sent!

We'll contact you shortly with your quote

Call Now: (503) 317-7084 Visit Our Website