@media (max-width: 767px) {
html { font-size: 80%; }
.container,
 .faq .container { width: 90%; }
.header .container,
.faq .container { width: 94%; }
.container-flex,
 .built-around-items,
 .clients-hire-right { display: block; }
.why-red-acorn-left .RAB-title,
 .RAB-title { font-size: 2em !important; line-height: 1.3; width: 100%; }
.RAB-but { padding: 11px 15px !important; font-size: 0.8em; }
.logo img { height: 54px; }
.banner-content { padding: 2.5em 1.5em; }
.banner-content:before { display: none; }
.banner h2 { font-size: 2.2em; }
.page-id-7 .banner img { height: auto; }
.built-around,
 .why-red-acorn,
 .clients-hire,
 .project-decisions,
 .our-process,
 .faq,
 .custom-homes,
 .completed-work,
 .contact-page { padding: 3em 0; }
.built-grid { margin-top: 1em; padding: 1em; }
.why-red-acorn-right { margin-top: 2em; }
.acorn-right-grid:last-child { margin-bottom: 0; }
.residential-grid { margin-bottom: 2px; }
.residential-grid-overlay { position: relative; bottom: 0; color: #fff; width: 100%; left: 0; bottom: 0; padding: 2em 1em 2em 1em; background: #000; }
.residential-grid-overlay .RAB-title { width: 100%; }
.who-work .clients-hire-right { border-top: none; }
.who-work .clients-hire-grid { margin-bottom: 15px; padding: 1.5em !important; }
.who-work .clients-hire-grid:last-child { margin-bottom: 0; padding-bottom: 0; }
.cta-band-left .RAB-title { font-size: 1.6em !important; line-height: 1.3 !important; }
.cta-band img { height: 380px; }
.page-id-15 .cta-band img,
 .page-id-17 .cta-band img { height: 640px !important; }
.cta-band-right { margin-top: 2em; }
.footer-logo { height: 85px; margin: 0 auto 20px auto; }
.clients-hire-left { margin-bottom: 3em; }
.built-grid p { width: 100%; }
.banner img { height: auto; }
.clients-hire-grid:last-child { padding-bottom: 0; }
.decisions-right { margin: 3em auto 0 auto; }
.feature-card { border: 1px solid #ddd7ce; background: rgba(255, 255, 255, .75); padding: 24px; border-radius: 2px; flex: 0 1 calc((100% / 2) - 4em); margin-bottom: 1em; }
.feature-card:last-child { margin-bottom: 0px; }
.process-proof { padding-bottom: 3em; }
.our-process .RAB-title { width: 100%; }
.process-grid { border: solid 1px #ddd; padding: 1em; margin-bottom: 1em; }
.multi-unit .why-red-acorn-right { border-left: none; padding-left: 0; display: block; }
.section-intro { width: 100%; text-align: left; margin-bottom: 2em; }
.project-card:first-child .project-image,
 .project-image,
 .completed-work .project-card:first-child .project-image { height: auto !important; }
.project-content { padding: 15px; }
.page-id-15 .cta-source img,
 .page-id-17 .cta-source img { height: auto !important; }
.faq-intro { width: 100%; }
.custom-homes .acorn-right-grid { border-right: none; padding-right: 0; }
.project-card { margin-bottom: 1em; }
.accordion-header { text-align: left; line-height: 1.3; }
.accordion-body p { margin: 0; }
.team-card { margin-top: 1em; }
.featured-leviton .why-red-acorn-right { border-left: none; padding-left: 0; }
.contact-card { margin-bottom: 1em; }
.map-info,
 .contact-card-grid,
 .contact-form ul { display: block; }
.contact-form ul li { width: 100%; margin-bottom: 11px; position: relative; }
.contact-form input,
 .contact-form select,
 .contact-form textarea { padding: 10px 10px; }
.contact-form { padding: 2em 1em; }
.contact-form textarea { height: 100px; }
.wpcf7-spinner { margin: 0px; position: absolute; right: 0; bottom: 0; }
.contact-form ul li:last-child { margin-bottom: 0px; }
.experience-content { margin-top: 1em; }
.experience-content aside { width: 100%; margin-top: 10px; }
.acorn-right-grid:nth-child(even) { top: 0; }
.clients-hire-grid { padding: 0em 0 3em 0; }
.testimonial-grid { height: 260px; }
.testimonials .slick-track { gap: 0; }
.who-work .clients-hire-left b { margin: 0px 0 0; }
.team-grid-right { margin-top: 3em; }
.clients-hire-right h3 { gap: 0.6em; }
.clients-hire-right p { margin: 12px 0 0; }
.clients-hire-left p {
    padding-top: 20px;
}
}
 @media (max-width: 992px) {
.header .container-flex { display: flex; }
.header .RAB-but { padding: 10px 8px !important; font-size: 0.8em; position: fixed; bottom: 25px; left: 50%; transform: translateX(-50%); width: 54%; text-align: center; }
.toggle-menu,
.close { display: block; }
.toggle-menu { display: inline-block; z-index: 99; width: 24px; height: 20px; position: relative; }
.toggle-menu:before { content: ""; width: 100%; height: 20px; border: solid #fff; border-width: 2px 0px; position: absolute; top: 0; left: 0; transition: 0.1s; }
.toggle-menu:after { content: ""; width: 100%; height: 2px; background: #fff; position: absolute; left: 0; top: 50%; transform: translateY(-50%); transition: 0.1s; }
.open-menu .toggle-menu { height: auto; position: absolute; right: 10px; top: 24px; }
.open-menu .toggle-menu:before { content: ""; width: 100%; height: 2px; border: none; border-width: 2px 0px; position: absolute; top: 0; left: 0; background: #fff; transform: rotate(-45deg); transition: 0.1s; }
.open-menu .toggle-menu:after { transform: translateY(-50%) rotate(45deg); transition: 0.1s; background: #fff; }
.RAB-menu ul.menu { margin-left: 0; background: #c92525; position: fixed; left: -100%; top: 0; height: 100%; border-top: solid 3px #5A3E2B; width: 100%; transition: 0.1s; padding-top: 3em; display: inline-block; }
.open-menu .RAB-menu ul.menu { left: 0; z-index: 99; transition: 0.1s; }
.RAB-menu ul li { display: inline-block; width: 100%; border-bottom: solid 1px #ab0d0d; }
.RAB-menu ul li a { color: #fff; padding: 15px; letter-spacing: 0; display: inline-block; width: 100%; }
.RAB-menu ul li.current-menu-item a { border-bottom: none; padding-bottom: 15px; background: #ab0d0d; color: #ffffff !important; }
.RAB-menu ul li a:hover,
.RAB-menu ul li.current-menu-item a { color: #fff !important; }
}
 @media (min-width: 768px) and (max-width: 1023px) {
html { font-size: 80%; }
p { line-height: 1.6; }
.container,
 .faq .container { width: 90%; }
.RAB-title,
 .cta-band-left .RAB-title,
 .core-services .RAB-title,
.experience-content .RAB-title { font-size: 2.2em; }
.RAB-but,
 .cta-band-right a { padding: 10px 14px; }
.container-flex { flex-wrap: nowrap; }
.banner-content { padding: 0 0em 0 2em; }
.banner h2 { font-size: 2.5em; }
.page-id-7 .banner img,
 .banner img { height: 350px; }
.built-grid p { width: 100%; margin: 6px 0 0; }
.built-grid { padding: 1em; }
.why-red-acorn .container-flex { gap: 1.5em; flex-wrap: wrap; }
.acorn-right-grid { flex: 1 1 calc((100% / 2) - 3em); }
.why-red-acorn-left .RAB-title { font-size: 2.2em; width: 100%; }
.built-around,
 .why-red-acorn,
 .clients-hire,
 .project-decisions,
 .our-process,
 .completed-work,
 .custom-homes,
 .faq { padding: 3em 0; }
.residential-grid-overlay { width: 72%; }
.residential-grid-overlay .RAB-title { width: 100%; }
.residential-grid img { height: 340px; }
.clients-hire-grid { flex: 1 1 calc((100% / 2) - 4em); gap: 2em 0em; padding-right: 0em; }
.cta-band-left { flex: 0 1 calc((60% / 1) - 2em); }
.footer-logo { height: 86px; }
.clients-hire-right { flex: 1 1 calc((80% / 1) - 2em); padding-right: 1em; gap: 2em; }
.core-services .container-flex { gap: 3em; }
.core-services .clients-hire-right { flex: 1 1 calc((80% / 1) - 4em); gap: 1em; }
.decisions-left { flex: 0 1 calc((60% / 1) - 4em); }
.process-proof .container-flex { gap: 1em; flex-wrap: wrap; }
.process-proof { padding-bottom: 3em; }
.our-process .container-flex { gap: 1em; }
.cta-band img { height: 300px; }
.section-intro { width: 48%; }
.multifamily-work .container-flex { flex-wrap: wrap; }
.project-image,
 .completed-work .project-card:first-child .project-image { height: 230px !important; }
.project-card:first-child .project-image,
 .completed-work .project-card:last-child .project-image { height: 400px !important; }
.page-id-15 .owners-expect .container-flex { display: block; }
.page-id-15 .clients-hire-left { margin-bottom: 2em; }
.cta-feature img { height: 30px; }
.custom-homes .why-red-acorn-right { display: flex; flex-direction: column; gap: 1em; }
.custom-homes .acorn-right-grid { border-right: none; }
.faq-intro { width: 100%; }
.custom-homes .container-flex { gap: 2em; }
.page-id-19 .who-work .clients-hire-right { flex: 1 1 calc((40% / 1) - 2em); }
.why-red-acorn-left figure img { height: 50px; }
.projects-residential .residential-projects { flex: 1 1 calc((100% / 1) - 3em); }
.contact-page .container-flex { flex-wrap: wrap; }
.clients-hire .container-flex { gap: 1em; flex-wrap: wrap; }
}
 @media (min-width: 1024px) and (max-width: 1200px) {
html { font-size: 90%; }
p { line-height: 1.6; }
.RAB-title { font-size: 2.2em !important; }
.container,
 .faq .container { width: 90%; }
.RAB-menu ul { gap: 20px; }
.RAB-but { padding: 10px 10px; }
.logo img { height: 54px; }
.contact-page .container-flex { flex-wrap: nowrap; }
.contact-card-grid { flex-wrap: wrap; }
.banner-content { padding: 0 4em 0 4em; }
.banner h2 { font-size: 2.3em; }
.page-id-7 .banner img { height: 400px; }
.built-grid p { width: 100%; }
.why-red-acorn .container-flex { gap: 1.5em; }
.residential-grid-overlay { width: 72%; bottom: 12%; }
.clients-hire-grid { flex: 1 1 calc((100% / 2) - 6em); padding: 1em; }
.footer-logo { height: 96px; }
.banner img { height: 360px; }
.our-process .container-flex { gap: 2em; }
.project-card:first-child .project-image,
.completed-work .project-card:last-child .project-image { height: 430px !important; }
.project-image,
 .completed-work .project-card:first-child .project-image { height: 320px !important; }
.section-intro { width: 48%; }
.why-red-acorn-left .RAB-title { width: 100%; }
.cta-band-left { flex: 0 1 calc((50% / 1) - 2em); }
.cta-feature img { height: 32px; }
.custom-homes .container-flex { gap: 3em; }
.custom-homes .why-red-acorn-right { gap: 1em; }
.custom-homes .acorn-right-grid { padding-right: 1em; }
.core-services .clients-hire-left { flex: 1 1 calc((35% / 1) - 4em); }
.core-services .container-flex { gap: 4em; }
.core-services .clients-hire-right { flex: 1 1 calc((70% / 1) - 4em); justify-content: space-between; gap: 2em; }
}
 @media (min-width: 1201px) and (max-width: 1600px) {
html { font-size: 90%; }
.RAB-title { font-size: 2.5em !important; }
.container,
 .faq .container { width: 80%; }
.banner-content { flex: 1 1 calc((55% / 1) - 2em); padding: 0 4em 0 9em; }
.banner-img { flex: 1 1 calc((45% / 1) - 2em); }
.contact-card-grid { flex-wrap: wrap; }
.page-id-7 .banner img { height: 450px; }
.banner h2 { font-size: 3em; }
.why-red-acorn .container-flex { gap: 1.5em; }
}
@media (min-width: 1601px) and (max-width: 1900px) {
.container,
 .faq .container { width: 80%; }
}
