DEMO DUMPSTERS | Roll-Off Dumpster Rentals
:root {
–navy: #0A1628;
–red: #C41E3A;
–white: #FFFFFF;
–steel-blue: #4A90D9;
–off-white: #F5F7FA;
–gray: #6B7280;
–light-gray: #E5E7EB;
–dark-gray: #1F2937;
}
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
body {
font-family: ‘Inter’, sans-serif;
color: var(–dark-gray);
line-height: 1.6;
background: var(–white);
}
/* Navigation */
.navbar {
background: var(–navy);
padding: 1rem 0;
position: sticky;
top: 0;
z-index: 1000;
box-shadow: 0 2px 20px rgba(0,0,0,0.3);
}
.nav-container {
max-width: 1200px;
margin: 0 auto;
padding: 0 2rem;
display: flex;
justify-content: space-between;
align-items: center;
}
.logo {
display: flex;
align-items: center;
gap: 0.75rem;
text-decoration: none;
}
.logo-icon {
width: 48px;
height: 48px;
background: var(–red);
border-radius: 8px;
display: flex;
align-items: center;
justify-content: center;
font-weight: 900;
color: var(–white);
font-size: 1.5rem;
border: 2px solid var(–white);
}
.logo-text {
color: var(–white);
font-weight: 800;
font-size: 1.5rem;
letter-spacing: -0.5px;
}
.logo-text span {
color: var(–red);
}
.nav-links {
display: flex;
gap: 2rem;
list-style: none;
align-items: center;
}
.nav-links a {
color: var(–white);
text-decoration: none;
font-weight: 500;
font-size: 0.95rem;
transition: color 0.3s;
}
.nav-links a:hover {
color: var(–red);
}
.nav-cta {
background: var(–red);
color: var(–white);
padding: 0.6rem 1.5rem;
border-radius: 6px;
font-weight: 700;
text-decoration: none;
transition: all 0.3s;
}
.nav-cta:hover {
background: #a01830;
transform: translateY(-2px);
}
.mobile-menu-btn {
display: none;
background: none;
border: none;
color: var(–white);
font-size: 1.5rem;
cursor: pointer;
}
/* Hero Section */
.hero {
background: linear-gradient(135deg, var(–navy) 0%, #1a2a4a 100%);
color: var(–white);
padding: 5rem 2rem;
position: relative;
overflow: hidden;
}
.hero::before {
content: ”;
position: absolute;
top: -50%;
right: -20%;
width: 800px;
height: 800px;
background: radial-gradient(circle, rgba(196,30,58,0.15) 0%, transparent 70%);
border-radius: 50%;
}
.hero-container {
max-width: 1200px;
margin: 0 auto;
display: grid;
grid-template-columns: 1fr 1fr;
gap: 4rem;
align-items: center;
}
.hero-content h1 {
font-size: 3.5rem;
font-weight: 900;
line-height: 1.1;
margin-bottom: 1.5rem;
}
.hero-content h1 span {
color: var(–red);
}
.hero-subtitle {
font-size: 1.25rem;
color: #94a3b8;
margin-bottom: 2rem;
}
.hero-badges {
display: flex;
gap: 1.5rem;
margin-bottom: 2rem;
flex-wrap: wrap;
}
.badge {
display: flex;
align-items: center;
gap: 0.5rem;
background: rgba(255,255,255,0.1);
padding: 0.5rem 1rem;
border-radius: 50px;
font-size: 0.875rem;
backdrop-filter: blur(10px);
}
.badge-dot {
width: 8px;
height: 8px;
background: #22c55e;
border-radius: 50%;
animation: pulse 2s infinite;
}
@keyframes pulse {
0%, 100% { opacity: 1; }
50% { opacity: 0.5; }
}
.hero-cta-group {
display: flex;
gap: 1rem;
flex-wrap: wrap;
}
.btn-primary {
background: var(–red);
color: var(–white);
padding: 1rem 2.5rem;
border-radius: 8px;
text-decoration: none;
font-weight: 700;
font-size: 1.1rem;
transition: all 0.3s;
display: inline-flex;
align-items: center;
gap: 0.5rem;
border: none;
cursor: pointer;
}
.btn-primary:hover {
background: #a01830;
transform: translateY(-2px);
box-shadow: 0 10px 30px rgba(196,30,58,0.3);
}
.btn-secondary {
background: transparent;
color: var(–white);
padding: 1rem 2.5rem;
border-radius: 8px;
text-decoration: none;
font-weight: 700;
font-size: 1.1rem;
border: 2px solid var(–white);
transition: all 0.3s;
display: inline-flex;
align-items: center;
gap: 0.5rem;
}
.btn-secondary:hover {
background: var(–white);
color: var(–navy);
}
/* Quote Calculator */
.quote-calculator {
background: var(–white);
border-radius: 16px;
padding: 2.5rem;
box-shadow: 0 25px 50px rgba(0,0,0,0.3);
color: var(–dark-gray);
}
.quote-calculator h3 {
font-size: 1.5rem;
margin-bottom: 0.5rem;
color: var(–navy);
}
.quote-calculator p {
color: var(–gray);
margin-bottom: 1.5rem;
font-size: 0.9rem;
}
.form-group {
margin-bottom: 1.25rem;
}
.form-group label {
display: block;
font-weight: 600;
margin-bottom: 0.5rem;
font-size: 0.875rem;
color: var(–dark-gray);
}
.form-group input,
.form-group select {
width: 100%;
padding: 0.875rem;
border: 2px solid var(–light-gray);
border-radius: 8px;
font-size: 1rem;
font-family: inherit;
transition: border-color 0.3s;
}
.form-group input:focus,
.form-group select:focus {
outline: none;
border-color: var(–steel-blue);
}
.size-selector {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 0.75rem;
margin-bottom: 1.25rem;
}
.size-option {
border: 2px solid var(–light-gray);
border-radius: 8px;
padding: 1rem;
text-align: center;
cursor: pointer;
transition: all 0.3s;
background: var(–white);
}
.size-option:hover,
.size-option.active {
border-color: var(–red);
background: rgba(196,30,58,0.05);
}
.size-option.active {
border-width: 3px;
}
.size-option .size-yards {
font-size: 1.5rem;
font-weight: 800;
color: var(–navy);
display: block;
}
.size-option .size-label {
font-size: 0.75rem;
color: var(–gray);
text-transform: uppercase;
letter-spacing: 0.5px;
}
.estimate-display {
background: var(–off-white);
border-radius: 8px;
padding: 1.25rem;
margin: 1.5rem 0;
border-left: 4px solid var(–red);
}
.estimate-row {
display: flex;
justify-content: space-between;
margin-bottom: 0.5rem;
font-size: 0.9rem;
}
.estimate-row.total {
font-weight: 800;
font-size: 1.25rem;
color: var(–navy);
border-top: 2px solid var(–light-gray);
padding-top: 0.75rem;
margin-top: 0.75rem;
}
.estimate-price {
color: var(–red);
font-size: 1.5rem;
}
/* Sections */
.section {
padding: 5rem 2rem;
}
.section-header {
text-align: center;
max-width: 700px;
margin: 0 auto 3rem;
}
.section-header h2 {
font-size: 2.5rem;
font-weight: 800;
color: var(–navy);
margin-bottom: 1rem;
}
.section-header p {
color: var(–gray);
font-size: 1.1rem;
}
.section-alt {
background: var(–off-white);
}
/* Dumpster Sizes */
.dumpster-grid {
max-width: 1200px;
margin: 0 auto;
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 2rem;
}
.dumpster-card {
background: var(–white);
border-radius: 16px;
overflow: hidden;
box-shadow: 0 4px 20px rgba(0,0,0,0.08);
transition: transform 0.3s, box-shadow 0.3s;
border: 2px solid transparent;
}
.dumpster-card:hover {
transform: translateY(-8px);
box-shadow: 0 20px 40px rgba(0,0,0,0.15);
border-color: var(–steel-blue);
}
.dumpster-card.featured {
border-color: var(–red);
position: relative;
}
.featured-badge {
position: absolute;
top: 1rem;
right: 1rem;
background: var(–red);
color: var(–white);
padding: 0.25rem 0.75rem;
border-radius: 50px;
font-size: 0.75rem;
font-weight: 700;
text-transform: uppercase;
}
.dumpster-visual {
height: 200px;
background: linear-gradient(135deg, var(–navy) 0%, var(–steel-blue) 100%);
display: flex;
align-items: center;
justify-content: center;
position: relative;
}
.dumpster-box {
background: var(–red);
border-radius: 4px;
position: relative;
display: flex;
align-items: center;
justify-content: center;
color: var(–white);
font-weight: 900;
box-shadow: 0 10px 30px rgba(0,0,0,0.3);
}
.dumpster-15 { width: 120px; height: 80px; font-size: 1.5rem; }
.dumpster-20 { width: 160px; height: 100px; font-size: 1.75rem; }
.dumpster-30 { width: 200px; height: 120px; font-size: 2rem; }
.dumpster-info {
padding: 1.5rem;
}
.dumpster-info h3 {
font-size: 1.5rem;
color: var(–navy);
margin-bottom: 0.5rem;
}
.dumpster-info .price {
font-size: 2rem;
font-weight: 800;
color: var(–red);
margin-bottom: 0.5rem;
}
.dumpster-info .price-period {
font-size: 0.9rem;
color: var(–gray);
font-weight: 400;
}
.dumpster-specs {
list-style: none;
margin: 1rem 0;
}
.dumpster-specs li {
padding: 0.5rem 0;
border-bottom: 1px solid var(–light-gray);
font-size: 0.9rem;
display: flex;
align-items: center;
gap: 0.5rem;
}
.dumpster-specs li:last-child {
border-bottom: none;
}
.spec-icon {
color: var(–steel-blue);
font-weight: 700;
}
.best-for {
background: var(–off-white);
padding: 0.75rem;
border-radius: 6px;
font-size: 0.85rem;
color: var(–gray);
margin-top: 1rem;
}
.best-for strong {
color: var(–navy);
}
.btn-card {
width: 100%;
margin-top: 1rem;
text-align: center;
display: block;
}
/* How It Works */
.steps-grid {
max-width: 1000px;
margin: 0 auto;
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: 2rem;
}
.step-card {
text-align: center;
padding: 2rem;
position: relative;
}
.step-number {
width: 60px;
height: 60px;
background: var(–red);
color: var(–white);
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
font-size: 1.5rem;
font-weight: 800;
margin: 0 auto 1.5rem;
box-shadow: 0 10px 20px rgba(196,30,58,0.3);
}
.step-card h3 {
font-size: 1.25rem;
color: var(–navy);
margin-bottom: 0.5rem;
}
.step-card p {
color: var(–gray);
font-size: 0.9rem;
}
.step-connector {
position: absolute;
top: 45px;
right: -2rem;
width: 4rem;
height: 2px;
background: var(–light-gray);
}
.step-card:last-child .step-connector {
display: none;
}
/* Service Areas */
.areas-grid {
max-width: 1200px;
margin: 0 auto;
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: 3rem;
align-items: center;
}
.areas-map {
background: var(–navy);
border-radius: 16px;
height: 400px;
display: flex;
align-items: center;
justify-content: center;
color: var(–white);
position: relative;
overflow: hidden;
}
.areas-map::before {
content: ”;
position: absolute;
width: 300px;
height: 300px;
background: radial-gradient(circle, rgba(74,144,217,0.2) 0%, transparent 70%);
border-radius: 50%;
}
.map-placeholder {
text-align: center;
z-index: 1;
}
.map-placeholder h3 {
font-size: 1.5rem;
margin-bottom: 0.5rem;
}
.zip-checker {
background: var(–white);
border-radius: 16px;
padding: 2.5rem;
box-shadow: 0 4px 20px rgba(0,0,0,0.08);
}
.zip-checker h3 {
font-size: 1.5rem;
color: var(–navy);
margin-bottom: 0.5rem;
}
.zip-form {
display: flex;
gap: 0.75rem;
margin-top: 1.5rem;
}
.zip-form input {
flex: 1;
padding: 1rem;
border: 2px solid var(–light-gray);
border-radius: 8px;
font-size: 1rem;
font-family: inherit;
}
.zip-form input:focus {
outline: none;
border-color: var(–steel-blue);
}
.zip-result {
margin-top: 1rem;
padding: 1rem;
border-radius: 8px;
display: none;
}
.zip-result.success {
background: #dcfce7;
color: #166534;
display: block;
}
.zip-result.error {
background: #fee2e2;
color: #991b1b;
display: block;
}
/* Testimonials */
.testimonials-grid {
max-width: 1200px;
margin: 0 auto;
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 2rem;
}
.testimonial-card {
background: var(–white);
padding: 2rem;
border-radius: 16px;
box-shadow: 0 4px 20px rgba(0,0,0,0.08);
border-left: 4px solid var(–red);
}
.stars {
color: #fbbf24;
margin-bottom: 1rem;
font-size: 1.25rem;
}
.testimonial-text {
font-style: italic;
color: var(–dark-gray);
margin-bottom: 1.5rem;
line-height: 1.7;
}
.testimonial-author {
display: flex;
align-items: center;
gap: 1rem;
}
.author-avatar {
width: 48px;
height: 48px;
background: var(–navy);
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
color: var(–white);
font-weight: 700;
}
.author-info h4 {
color: var(–navy);
font-size: 0.95rem;
}
.author-info p {
color: var(–gray);
font-size: 0.85rem;
}
.tag {
display: inline-block;
background: var(–off-white);
color: var(–steel-blue);
padding: 0.25rem 0.75rem;
border-radius: 50px;
font-size: 0.75rem;
font-weight: 600;
margin-top: 0.5rem;
}
/* CTA Section */
.cta-section {
background: linear-gradient(135deg, var(–navy) 0%, #1a2a4a 100%);
color: var(–white);
padding: 5rem 2rem;
text-align: center;
position: relative;
overflow: hidden;
}
.cta-section::before {
content: ”;
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
width: 600px;
height: 600px;
background: radial-gradient(circle, rgba(196,30,58,0.1) 0%, transparent 70%);
border-radius: 50%;
}
.cta-content {
position: relative;
z-index: 1;
max-width: 700px;
margin: 0 auto;
}
.cta-content h2 {
font-size: 2.5rem;
font-weight: 900;
margin-bottom: 1rem;
}
.cta-content p {
font-size: 1.2rem;
color: #94a3b8;
margin-bottom: 2rem;
}
/* Footer */
.footer {
background: var(–navy);
color: var(–white);
padding: 4rem 2rem 2rem;
}
.footer-grid {
max-width: 1200px;
margin: 0 auto;
display: grid;
grid-template-columns: 2fr 1fr 1fr 1fr;
gap: 3rem;
margin-bottom: 3rem;
}
.footer-brand .logo-text {
font-size: 1.5rem;
margin-bottom: 1rem;
display: inline-block;
}
.footer-brand p {
color: #94a3b8;
font-size: 0.9rem;
line-height: 1.7;
}
.footer-column h4 {
color: var(–white);
font-size: 1rem;
margin-bottom: 1.5rem;
text-transform: uppercase;
letter-spacing: 1px;
}
.footer-column ul {
list-style: none;
}
.footer-column li {
margin-bottom: 0.75rem;
}
.footer-column a {
color: #94a3b8;
text-decoration: none;
font-size: 0.9rem;
transition: color 0.3s;
}
.footer-column a:hover {
color: var(–red);
}
.footer-bottom {
max-width: 1200px;
margin: 0 auto;
padding-top: 2rem;
border-top: 1px solid rgba(255,255,255,0.1);
display: flex;
justify-content: space-between;
align-items: center;
color: #94a3b8;
font-size: 0.85rem;
}
.footer-legal {
display: flex;
gap: 1.5rem;
}
.footer-legal a {
color: #94a3b8;
text-decoration: none;
}
.footer-legal a:hover {
color: var(–red);
}
/* Trust Badges */
.trust-bar {
background: var(–white);
padding: 2rem;
border-bottom: 1px solid var(–light-gray);
}
.trust-container {
max-width: 1200px;
margin: 0 auto;
display: flex;
justify-content: space-around;
align-items: center;
flex-wrap: wrap;
gap: 2rem;
}
.trust-item {
display: flex;
align-items: center;
gap: 0.75rem;
color: var(–gray);
font-size: 0.9rem;
font-weight: 600;
}
.trust-icon {
width: 40px;
height: 40px;
background: var(–off-white);
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
color: var(–red);
font-size: 1.25rem;
}
/* Responsive */
@media (max-width: 968px) {
.hero-container {
grid-template-columns: 1fr;
}
.dumpster-grid,
.testimonials-grid {
grid-template-columns: 1fr;
}
.steps-grid {
grid-template-columns: repeat(2, 1fr);
}
.step-connector {
display: none;
}
.areas-grid {
grid-template-columns: 1fr;
}
.footer-grid {
grid-template-columns: 1fr 1fr;
}
.hero-content h1 {
font-size: 2.5rem;
}
}
@media (max-width: 640px) {
.nav-links {
display: none;
}
.mobile-menu-btn {
display: block;
}
.size-selector {
grid-template-columns: 1fr;
}
.steps-grid {
grid-template-columns: 1fr;
}
.footer-grid {
grid-template-columns: 1fr;
}
.footer-bottom {
flex-direction: column;
gap: 1rem;
text-align: center;
}
.hero-content h1 {
font-size: 2rem;
}
.section-header h2 {
font-size: 1.75rem;
}
}
/* Modal */
.modal-overlay {
display: none;
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: rgba(0,0,0,0.7);
z-index: 2000;
align-items: center;
justify-content: center;
padding: 2rem;
}
.modal-overlay.active {
display: flex;
}
.modal {
background: var(–white);
border-radius: 16px;
max-width: 600px;
width: 100%;
max-height: 90vh;
overflow-y: auto;
position: relative;
}
.modal-header {
background: var(–navy);
color: var(–white);
padding: 1.5rem 2rem;
border-radius: 16px 16px 0 0;
display: flex;
justify-content: space-between;
align-items: center;
}
.modal-header h3 {
font-size: 1.25rem;
}
.modal-close {
background: none;
border: none;
color: var(–white);
font-size: 1.5rem;
cursor: pointer;
}
.modal-body {
padding: 2rem;
}
.modal-footer {
padding: 1rem 2rem 2rem;
display: flex;
justify-content: flex-end;
gap: 1rem;
}
.btn-cancel {
background: var(–light-gray);
color: var(–dark-gray);
padding: 0.75rem 1.5rem;
border-radius: 6px;
border: none;
font-weight: 600;
cursor: pointer;
}
.btn-confirm {
background: var(–red);
color: var(–white);
padding: 0.75rem 1.5rem;
border-radius: 6px;
border: none;
font-weight: 700;
cursor: pointer;
}
/* Toast Notification */
.toast {
position: fixed;
bottom: 2rem;
right: 2rem;
background: var(–navy);
color: var(–white);
padding: 1rem 1.5rem;
border-radius: 8px;
box-shadow: 0 10px 30px rgba(0,0,0,0.3);
display: none;
align-items: center;
gap: 0.75rem;
z-index: 3000;
animation: slideIn 0.3s ease-out;
}
.toast.show {
display: flex;
}
@keyframes slideIn {
from {
transform: translateX(100%);
opacity: 0;
}
to {
transform: translateX(0);
opacity: 1;
}
}
.toast-icon {
width: 24px;
height: 24px;
background: #22c55e;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
font-weight: 700;
}
/* Terms Section */
.terms-section {
background: var(–off-white);
padding: 4rem 2rem;
}
.terms-container {
max-width: 900px;
margin: 0 auto;
}
.terms-container h2 {
text-align: center;
font-size: 2rem;
color: var(–navy);
margin-bottom: 2rem;
}
.terms-accordion {
background: var(–white);
border-radius: 12px;
overflow: hidden;
box-shadow: 0 4px 20px rgba(0,0,0,0.08);
}
.term-item {
border-bottom: 1px solid var(–light-gray);
}
.term-item:last-child {
border-bottom: none;
}
.term-header {
padding: 1.25rem 1.5rem;
display: flex;
justify-content: space-between;
align-items: center;
cursor: pointer;
background: var(–white);
transition: background 0.3s;
}
.term-header:hover {
background: var(–off-white);
}
.term-header h4 {
color: var(–navy);
font-size: 1rem;
}
.term-toggle {
color: var(–red);
font-size: 1.25rem;
font-weight: 700;
transition: transform 0.3s;
}
.term-item.active .term-toggle {
transform: rotate(45deg);
}
.term-content {
max-height: 0;
overflow: hidden;
transition: max-height 0.3s ease-out;
padding: 0 1.5rem;
}
.term-item.active .term-content {
max-height: 500px;
padding: 0 1.5rem 1.5rem;
}
.term-content p,
.term-content ul {
color: var(–gray);
font-size: 0.9rem;
line-height: 1.7;
}
.term-content ul {
margin-left: 1.5rem;
margin-top: 0.5rem;
}
.term-content li {
margin-bottom: 0.5rem;
}
/* Business vs Residential Toggle */
.audience-toggle {
display: flex;
justify-content: center;
gap: 0;
margin-bottom: 3rem;
background: var(–white);
padding: 0.5rem;
border-radius: 50px;
box-shadow: 0 4px 20px rgba(0,0,0,0.08);
max-width: 400px;
margin-left: auto;
margin-right: auto;
}
.audience-btn {
padding: 0.75rem 2rem;
border: none;
background: transparent;
color: var(–gray);
font-weight: 600;
border-radius: 50px;
cursor: pointer;
transition: all 0.3s;
font-family: inherit;
font-size: 0.95rem;
}
.audience-btn.active {
background: var(–red);
color: var(–white);
}
/* Business Features */
.business-features {
max-width: 1200px;
margin: 0 auto;
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: 2rem;
}
.feature-card {
background: var(–white);
padding: 2rem;
border-radius: 16px;
box-shadow: 0 4px 20px rgba(0,0,0,0.08);
border-top: 4px solid var(–steel-blue);
}
.feature-card h3 {
color: var(–navy);
margin-bottom: 1rem;
display: flex;
align-items: center;
gap: 0.75rem;
}
.feature-card p {
color: var(–gray);
font-size: 0.95rem;
line-height: 1.7;
}
/* Contact Section */
.contact-section {
background: var(–white);
padding: 5rem 2rem;
}
.contact-grid {
max-width: 1200px;
margin: 0 auto;
display: grid;
grid-template-columns: 1fr 1fr;
gap: 4rem;
align-items: start;
}
.contact-info h2 {
font-size: 2.5rem;
color: var(–navy);
margin-bottom: 1rem;
}
.contact-info > p {
color: var(–gray);
margin-bottom: 2rem;
}
.contact-method {
display: flex;
align-items: flex-start;
gap: 1rem;
margin-bottom: 1.5rem;
}
.contact-icon {
width: 48px;
height: 48px;
background: var(–off-white);
border-radius: 12px;
display: flex;
align-items: center;
justify-content: center;
color: var(–red);
font-size: 1.25rem;
flex-shrink: 0;
}
.contact-method h4 {
color: var(–navy);
margin-bottom: 0.25rem;
}
.contact-method p {
color: var(–gray);
font-size: 0.9rem;
}
.contact-form-wrapper {
background: var(–off-white);
padding: 2.5rem;
border-radius: 16px;
}
.contact-form-wrapper h3 {
color: var(–navy);
margin-bottom: 1.5rem;
}
.form-row {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 1rem;
}
.submit-btn {
width: 100%;
margin-top: 1rem;
}
/* Live Chat Widget */
.chat-widget {
position: fixed;
bottom: 2rem;
right: 2rem;
z-index: 1500;
}
.chat-button {
width: 60px;
height: 60px;
background: var(–red);
border-radius: 50%;
border: none;
color: var(–white);
font-size: 1.5rem;
cursor: pointer;
box-shadow: 0 10px 30px rgba(196,30,58,0.4);
transition: transform 0.3s;
display: flex;
align-items: center;
justify-content: center;
}
.chat-button:hover {
transform: scale(1.1);
}
.chat-panel {
position: absolute;
bottom: 70px;
right: 0;
width: 350px;
height: 450px;
background: var(–white);
border-radius: 16px;
box-shadow: 0 20px 50px rgba(0,0,0,0.2);
display: none;
flex-direction: column;
overflow: hidden;
}
.chat-panel.active {
display: flex;
}
.chat-header {
background: var(–navy);
color: var(–white);
padding: 1rem 1.5rem;
display: flex;
justify-content: space-between;
align-items: center;
}
.chat-body {
flex: 1;
padding: 1.5rem;
overflow-y: auto;
background: var(–off-white);
}
.chat-message {
background: var(–white);
padding: 1rem;
border-radius: 12px;
margin-bottom: 1rem;
box-shadow: 0 2px 10px rgba(0,0,0,0.05);
font-size: 0.9rem;
}
.chat-input-area {
padding: 1rem;
background: var(–white);
border-top: 1px solid var(–light-gray);
display: flex;
gap: 0.5rem;
}
.chat-input-area input {
flex: 1;
padding: 0.75rem;
border: 2px solid var(–light-gray);
border-radius: 8px;
font-family: inherit;
}
.chat-send {
background: var(–red);
color: var(–white);
border: none;
padding: 0.75rem 1rem;
border-radius: 8px;
cursor: pointer;
font-weight: 600;
}
/* Loading Spinner */
.spinner {
display: none;
width: 20px;
height: 20px;
border: 2px solid var(–white);
border-top-color: transparent;
border-radius: 50%;
animation: spin 0.8s linear infinite;
}
.spinner.show {
display: inline-block;
}
@keyframes spin {
to { transform: rotate(360deg); }
}
/* Responsive Images */
img {
max-width: 100%;
height: auto;
}
Roll-Off Dumpsters
Delivered Fast
Residential & Commercial Dumpster Rentals. Same-day and next-day delivery available. Professional service, competitive pricing.
Available Now
Get an Instant Estimate
Enter your details for a quick, no-obligation quote.
Yard
Yard
Yard
7 Days (Standard)
14 Days (+$75)
30 Days (+$150)
Residential Cleanout
Construction / Renovation
Roofing
Landscaping
Commercial / Business
Other
$350
$75
$0
$425
Choose Your Dumpster Size
We offer three sizes to fit any project β from small home cleanouts to large commercial construction jobs.
15 Yard Dumpster
- Dimensions: 16′ Γ 8′ Γ 4′
- Weight Limit: 2-3 Tons
- Equivalent: 6 pickup truck loads
20 Yard Dumpster
- Dimensions: 22′ Γ 8′ Γ 4.5′
- Weight Limit: 3-4 Tons
- Equivalent: 8 pickup truck loads
30 Yard Dumpster
- Dimensions: 22′ Γ 8′ Γ 6′
- Weight Limit: 4-5 Tons
- Equivalent: 12 pickup truck loads
How It Works
Booking a dumpster with Demo Dumpsters is simple and straightforward. Get your project started in minutes.
Get Your Estimate
Use our instant quote calculator or call us directly. We’ll provide a transparent, all-in price with no hidden fees.
Schedule Delivery
Choose your delivery date. We offer same-day and next-day delivery when available. You’ll receive confirmation via email and SMS.
Fill It Up
Use your dumpster for the full rental period. Load it at your pace. Need more time? Request an extension through your customer portal.
We Pick It Up
Call us or schedule your pickup online. We’ll haul it away and handle disposal responsibly. Final billing sent automatically.
Service Areas
We proudly serve the greater metropolitan area with fast, reliable dumpster delivery and pickup.
π Interactive Service Map
Enter your ZIP code to check availability
Check Your Area
Enter your ZIP code to see if we deliver to your location and get an instant estimate.
Popular Service Areas:
North County
Westside
Eastside
South Bay
Tailored for Your Needs
Whether you’re a homeowner tackling a weekend project or a contractor managing multiple jobs, we’ve got you covered.
ποΈ Flexible Scheduling
Weekend and holiday deliveries available. We work around your schedule, not ours. Perfect for DIY projects and home renovations.
π° Transparent Pricing
No hidden fees. Your quote includes delivery, pickup, and disposal up to the weight limit. Know exactly what you’ll pay upfront.
π‘οΈ Driveway Protection
We use wood blocking to protect your driveway from scratches and damage. Rain or shine, we place your dumpster safely.
π± Easy Communication
Text and email updates keep you informed every step of the way. Reminders before delivery and pickup so you’re never caught off guard.
What Our Customers Say
Trusted by homeowners, contractors, and businesses across the region.
“Demo Dumpsters delivered same day when another company cancelled last minute. The driver was professional and placed the dumpster exactly where I needed it. Saved my renovation timeline!”
“As a general contractor, I need reliable dumpster service. Demo Dumpsters has never let me down. Their contractor portal makes scheduling swaps effortless, and their pricing beats the competition.”
“We manage 40+ rental properties and use Demo Dumpsters for all our turnovers and renovations. The Net-30 terms and volume pricing have saved us thousands. Highly recommend for property managers.”
Delivery Requirements & Terms
Please review our requirements before your delivery to ensure a smooth experience.
π Site Clearance Requirements
+
To safely deliver your roll-off dumpster, we require:
- 60 feet of straight-line clearance for truck approach and maneuvering
- 14 feet of vertical clearance (watch for tree branches, power lines, building overhangs)
- 10 feet minimum width for gates or openings
- Firm, level surface: concrete, asphalt, or compacted gravel preferred
- Clear access free of vehicles, equipment, or obstacles
π§οΈ Inclement Weather Policy
+
Your safety and property protection are our priority:
- Light rain: Delivery proceeds as scheduled. Driver will place on the most stable accessible surface.
- Heavy rain/flooding: Delivery may be delayed for safety. You’ll be notified via SMS/email with rescheduling options.
- Driveway protection: We use 4×4 wood blocking and plywood to prevent scratching. For soft ground, a signed damage waiver is required.
- Mud/soft ground: Customer must sign damage waiver acknowledging potential rutting, or reschedule when ground is firm.
π« Prohibited Items
+
The following items are NOT permitted in our dumpsters:
- Hazardous materials, chemicals, paints, solvents
- Asbestos-containing materials
- Tires, batteries, motor oil
- Propane tanks, fuel containers
- Refrigerators, freezers, AC units (Freon)
- Medical/biohazard waste
- Fluorescent bulbs, mercury-containing devices
- Wet concrete or hot asphalt
Overweight fees apply if prohibited items are found. Additional disposal charges may be passed to the customer.
π° Billing & Fees
+
- Base rental: Includes 7-day rental period, delivery, and pickup
- Extension: $25/day after the 7-day period (must be arranged in advance)
- Overweight: $75 per ton over the stated weight limit
- Prohibited items: $150 surcharge plus actual disposal costs
- Damage: Customer responsible for damage caused by overloading or improper use
- Payment: Credit card required at booking. Business accounts may apply for Net-30.
π Permits & Street Placement
+
If you need the dumpster placed on a public street or sidewalk:
- Customer is responsible for obtaining any required permits from the municipality
- We can provide permit guidance but do not obtain permits on your behalf
- Street placement requires cones/reflectors for safety (provided by customer)
- Additional liability waiver required for street placement
Get In Touch
Have questions? Need a custom quote? Our team is ready to help. Call us directly or fill out the form and we’ll respond within 15 minutes during business hours.
Phone
(555) 123-4567
Available 24/7 for emergencies
quotes@demodumpsters.com
Response within 15 minutes
Office
1234 Industrial Blvd
Suite 100, Metro City, ST 12345
Hours
Mon-Fri: 7:00 AM – 6:00 PM
Sat: 8:00 AM – 2:00 PM
Request a Custom Quote
Ready to Get Started?
Book your dumpster today and get it delivered as early as tomorrow. No hassle, no hidden fees β just reliable service.
Action completed successfully!