/*
Theme Name: Crew Child
description: Client Theme - Crew
Template: crew-parent
Version: 1.0.0
Text Domain: crew-child
Author: BCW
*/
@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@500;600;700&display=swap');

/* Mack's palette: --color-1 red (#942631), --color-2 black, --color-3 blue (#048eb5), --color-4 white */
:root {
	--mk-red: var(--color-1);
	--mk-black: var(--color-2);
	--mk-blue: var(--color-3);
	--mk-light: #f2f2f2;
	--mk-heading: 'Barlow Condensed', 'Arial Narrow', sans-serif;
}

/* = TYPOGRAPHY = */
body {
	color: #222;
}
h1, h2, h3, .tagline, .carousel-caption, .feature-box span.ql-heading, #contact-info, .sitemap a, .copyright a,
#contact-page-form form textarea, #contact-page-form form input, #contact-page-form .gform_button, legend,
span.company-heading, .location-container {
	font-family: var(--mk-heading);
}
h1 {
	font-size: 40px;
	text-transform: uppercase;
	letter-spacing: .5px;
	color: var(--mk-red);
	border-bottom: 3px solid var(--mk-blue);
	padding-bottom: 6px;
	margin-bottom: 10px;
}
main h2, .faq-section h2 {
	font-size: 28px;
	text-transform: uppercase;
	letter-spacing: .5px;
	padding: 6px 12px;
	margin: 25px 0 0;
	background-color: var(--mk-black);
	border-left: 6px solid var(--mk-red);
}
main h3 {
	font-family: var(--mk-heading);
	font-size: 24px;
	color: var(--mk-red);
	margin-top: 25px;
}
main h3 + p {
	margin-top: 8px;
}
section a, main a, .process-section a:not(.btn), .services-section a:not(.btn), .contact-card a:not(.btn), .quick-apply-card a:not(.btn) {
	color: var(--mk-blue);
}
section a:hover, section a:focus, main a:hover, main a:focus, .process-section a:not(.btn):hover, .services-section a:not(.btn):hover {
	color: var(--mk-red);
}
.process-section ul, .services-section ul {
	padding-left: 22px;
	line-height: 1.75em;
}
main ul {
	padding-left: 22px;
	line-height: 1.75em;
}
main ul li::marker {
	color: var(--mk-red);
}
.main-inner ul {
	display: block;
}
.btn, main a.btn {
	background-color: var(--mk-red);
	color: #fff;
	font-family: var(--mk-heading);
	font-size: 18px;
	letter-spacing: .5px;
	border-radius: 0;
	padding: 10px 22px;
	border: 0;
	transition: background-color .2s ease-out;
}
.btn:hover, .btn:focus, main a.btn:hover, main a.btn:focus {
	background-color: var(--mk-blue);
	color: #fff;
}

/* = HEADER = */
header {
	background: #fff;
	padding: 15px 0;
	border-top: 6px solid var(--mk-black);
}
.logo a {
	display: inline-block;
}
.logo img {
	max-height: 130px;
	width: auto;
	margin: 0;
}
.c2a, .c2a a, .c2a address, .c2a address a {
	color: var(--mk-black);
}
.c2a .tagline {
	color: var(--mk-black);
	font-size: 24px;
	font-weight: 600;
	letter-spacing: 1px;
}
.c2a .tel, .c2a .tel a, span.tel a {
	color: var(--mk-red);
	font-family: var(--mk-heading);
	font-size: 42px;
}
.c2a address {
	font-family: 'Work Sans', sans-serif;
	font-size: 16px;
	font-weight: 600;
	margin-bottom: 8px;
}
.c2a a:hover, .c2a a:focus, .c2a address a:hover {
	color: var(--mk-blue);
}
.social-header .link a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	border-radius: 50%;
	background: var(--mk-blue);
	transition: background-color .2s;
}
span.social-header a span, .social-header a:hover span, .social-header a:focus span {
	color: #fff;
	font-size: 16px;
}
.social-header .link a:hover, .social-header .link a:focus {
	background: var(--mk-red);
}

/* = NAVIGATION = */
nav, .navbar {
	background-color: var(--mk-red);
}
.navbar-nav>li{
	font-size: 14px;
}
.main-nav .dropdown-menu {
    top: 155%;
}
.navbar-default .navbar-nav>li>a {
	font-family: var(--mk-heading);
	font-size: 20px;
	text-transform: uppercase;
	letter-spacing: .5px;
	padding: 12px 22px 15px 22px;
}
.navbar-default .navbar-nav>li>a:hover, .navbar-default .navbar-nav>li>a:focus,
.navbar-default .navbar-nav>.active>a, .navbar-default .navbar-nav>.active>a:hover, .navbar-default .navbar-nav>.active>a:focus,
.navbar-default .navbar-nav>.open>a, .navbar-default .navbar-nav>.open>a:hover, .navbar-default .navbar-nav>.open>a:focus {
	background-color: var(--mk-black);
	color: #fff;
}
@media screen and (min-width: 992px) {
	.navbar-default .dropdown-menu {
		background: var(--mk-black);
		min-width: 290px;
		margin-top: 0;
		padding: 6px 0;
		border-top: 3px solid var(--mk-blue);
		text-align: left;
	}
	.navbar-default .dropdown-menu>li>a {
		color: #fff;
		font-weight: 600;
		padding: 9px 20px;
		white-space: normal;
	}
	.navbar-default .dropdown-menu>li>a:hover, .navbar-default .dropdown-menu>li>a:focus,
	.navbar-default .dropdown-menu>.active>a, .navbar-default .dropdown-menu>.active>a:hover {
		background: var(--mk-red);
		color: #fff;
	}
}
@media screen and (max-width: 991px) {
	.social {
		background: var(--mk-black);
	}
	.navbar {
		background-color: var(--mk-red);
	}
	.dropdown-menu {
		position: static;
		float: none;
		display: block;
		background: rgba(0, 0, 0, .25);
		text-align: center;
	}
	.dropdown-menu>li>a, .navbar-default .navbar-nav .open .dropdown-menu>li>a {
		color: #fff;
		padding: 8px 20px;
	}
	.dropdown-menu>li>a:hover, .dropdown-menu>li>a:focus {
		background: var(--mk-black);
		color: #fff;
	}
	.logo {
		text-align: center;
	}
	.logo img {
		margin: 0 auto;
		max-height: 110px;
	}
	header {
		border-top: 0;
	}
}

/* = BANNER = */
.carousel-caption {
	background: rgba(17, 17, 17, .78);
	border-top: 4px solid var(--mk-red);
	text-shadow: none;
}
.carousel-caption span {
	font-size: 34px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 1px;
	color: #fff;
}
@media screen and (max-width: 767px) {
	.carousel-caption span {
		font-size: 22px;
	}
}

/* = HOME CONTACT FORM = */
.contact-form {
	background: var(--mk-black);
	border-top: 5px solid var(--mk-red);
}
#home-contact-form > span {
	font-family: var(--mk-heading);
	font-size: 26px;
	text-transform: uppercase;
}
#home-contact-form textarea, #home-contact-form input {
	background: #fff;
	color: #222;
	border: 2px solid #fff;
}
#home-contact-form .gform_button {
	background-color: var(--mk-red);
	font-family: var(--mk-heading);
	width: 100%;
}
#home-contact-form .gform_button:hover, #home-contact-form .gform_button:focus {
	background-color: var(--mk-blue);
	color: #fff;
}

/* = FEATURE TILES (4 across) = */
#bottom-feature {
	background-color: var(--mk-light);
	padding: 45px 0 30px;
}
#bottom-feature .feature-row {
	display: flex;
	flex-wrap: wrap;
}
#bottom-feature .feature-row > [class*="col-"] {
	margin-bottom: 15px;
}
.feature-box {
	background: #fff;
	height: 100%;
	box-shadow: 0 2px 8px rgba(0, 0, 0, .08);
	border-bottom: 4px solid var(--mk-red);
	transition: border-color .2s, transform .2s;
}
.feature-box a {
	display: block;
	height: 100%;
}
.feature-box img {
	border: 0;
}
.feature-box span.ql-heading {
	font-size: 22px;
	line-height: 1.2;
	font-weight: 700;
	text-transform: uppercase;
	color: var(--mk-red);
	padding: 15px 12px;
}
.feature-box:hover {
	border-color: var(--mk-blue);
	transform: translateY(-3px);
}
.feature-box:hover span.ql-heading {
	color: var(--mk-blue);
}

/* = SECTION HEADINGS (custom sections) = */
h2.section-heading, h2.ribbon-heading, .google-reviews-section h2, .positions-section h2, .quick-apply-section h2, .projects-section h2, #gallery-section h2 {
	background: none;
	border: 0;
	color: var(--mk-black);
	text-align: center;
	text-transform: uppercase;
	font-size: 34px;
	padding: 0 0 8px;
	margin: 0 0 20px;
	position: relative;
}
h2.section-heading::after, .google-reviews-section h2::after {
	content: '';
	display: block;
	width: 70px;
	height: 4px;
	background: var(--mk-red);
	margin: 10px auto 0;
}
.sec-content {
	text-align: center;
	max-width: 900px;
	margin: 0 auto 20px;
}

/* = GOOGLE REVIEWS = */
.google-reviews-section {
	padding: 45px 0;
	background: #fff;
}
.google-reviews-section .reviews-button {
	text-align: center;
	margin-top: 25px;
}

/* = MAP = */
#map iframe {
	height: 320px;
}

/* = AWARDS & BRANDS = */
.awards-brands {
	background: #1b1b1b;
	padding: 35px 0 15px;
	border-top: 5px solid var(--mk-red);
}
.logo-ribbon {
	margin-bottom: 25px;
}
.awards-brands h2.ribbon-heading {
	color: #fff;
	font-size: 26px;
	margin-bottom: 15px;
}
.ribbon-logos {
	list-style: none;
	margin: 0;
	padding: 18px 20px;
	background: #fff;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 15px 35px;
	box-shadow: 0 6px 18px rgba(0, 0, 0, .35);
}
.ribbon-logo img {
	max-height: 100px;
	max-width: 210px;
	width: auto;
}
.brands-ribbon .ribbon-logo img {
	max-height: 78px;
}
@media screen and (max-width: 767px) {
	.ribbon-logos {
		gap: 12px 20px;
	}
	.ribbon-logo img {
		max-height: 60px;
		max-width: 130px;
	}
}

/* = FOOTER = */
#contact-info {
	background-color: var(--mk-red);
	font-size: 20px;
}
footer {
	background-color: var(--mk-black);
}
.sitemap a {
	font-size: 18px;
	padding: 10px 14px;
}
.sitemap a:hover, .sitemap a:focus, footer a:hover, footer a:focus {
	color: var(--mk-blue);
}
.footer-social {
	margin-bottom: 12px;
}
.footer-social .social-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 42px;
	height: 42px;
	border-radius: 50%;
	background: var(--mk-blue);
	color: #fff;
	font-size: 20px;
	margin: 0 5px;
	transition: background-color .2s;
}
.footer-social .social-link:hover, .footer-social .social-link:focus {
	background: var(--mk-red);
	color: #fff;
}

/* = ABOUT / SERVICE DETAIL = */
.about-images {
	margin-top: 25px;
}
.about-images img {
	margin-bottom: 20px;
	box-shadow: 0 3px 12px rgba(0, 0, 0, .15);
}
.service-images img {
	width: 100%;
	margin: 10px 0 20px;
	box-shadow: 0 3px 12px rgba(0, 0, 0, .15);
}
@media screen and (min-width: 992px) {
	.service-images {
		position: sticky;
		top: 20px;
		padding-top: 58px;
	}
	.service-detail-row {
		display: flex;
		align-items: flex-start;
	}
}
.service-c2a {
	background: var(--mk-black);
	color: #fff;
	padding: 28px 0;
	border-top: 5px solid var(--mk-blue);
}
.service-c2a-inner {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 15px;
}
.service-c2a .c2a-text {
	font-family: var(--mk-heading);
	font-size: 26px;
	text-transform: uppercase;
	flex: 1 1 400px;
}
.service-c2a .c2a-text p {
	margin: 0 0 6px;
	font-family: 'Work Sans', sans-serif;
	font-size: 16px;
	text-transform: none;
}
.service-c2a .c2a-text h2 {
	background: none;
	border: 0;
	padding: 0;
	font-size: 30px;
	margin: 0 0 6px;
}
.service-c2a .btn {
	margin: 4px;
}
.service-c2a .btn-contact {
	background: var(--mk-blue);
}
.service-c2a .btn-contact:hover, .service-c2a .btn-contact:focus {
	background: #fff;
	color: var(--mk-black);
}

/* = SERVICES OVERVIEW = */
.services-section {
	padding-bottom: 30px;
}
.services-section .service .heading-wrap h2 {
	background-color: var(--mk-black);
	border-left: 6px solid var(--mk-red);
	text-transform: uppercase;
	font-size: 28px;
	padding: 6px 12px;
}
.services-section .service .image-col img {
	box-shadow: 0 3px 12px rgba(0, 0, 0, .15);
}
@media screen and (min-width: 768px) {
	.services-section .service-inner .image-col {
		flex: 0 1 40%;
		align-self: center;
	}
	.services-section .service-inner .content-col {
		flex: 1 1 50%;
	}
	.services-section .service .image-col img {
		height: 280px;
	}
}
.services-section .service .image-col img[src*="napa-autocare"] {
	object-fit: contain;
	box-shadow: none;
	padding: 20px;
}
.services-section .content-col a.btn {
	color: #fff;
	margin-top: 5px;
}

/* = ACCORDIONS (projects / positions) = */
.projects-section, .positions-section {
	padding: 40px 0;
}
.positions-section {
	background: var(--mk-light);
}
.toggle-container {
	margin-bottom: 10px;
	box-shadow: 0 2px 8px rgba(0, 0, 0, .08);
}
.toggle-bar {
	display: flex;
	align-items: center;
	width: 100%;
	text-align: left;
	background: #fff;
	border: 0;
	border-left: 6px solid var(--mk-red);
	padding: 14px 18px;
	gap: 20px;
	cursor: pointer;
}
.toggle-bar h3 {
	font-family: var(--mk-heading);
	font-size: 24px;
	text-transform: uppercase;
	color: var(--mk-black);
	margin: 0;
}
.toggle-bar .toggle-name {
	flex: 0 0 30%;
}
.toggle-bar .brief-description {
	flex: 1 1 auto;
	color: #555;
}
.toggle-bar .toggle-bar-icon {
	flex: 0 0 auto;
	color: var(--mk-red);
	font-size: 24px;
	transition: transform .3s;
}
.toggle-container.active .toggle-bar {
	background: var(--mk-black);
	border-left-color: var(--mk-blue);
}
.toggle-container.active .toggle-bar h3, .toggle-container.active .toggle-bar .brief-description {
	color: #fff;
}
.toggle-container.active .toggle-bar-icon {
	transform: rotate(90deg);
	color: var(--mk-blue);
}
.toggle-container .toggle-content {
	display: none;
	background: #2a2a2a;
	color: #fff;
}
.toggle-content-inner {
	padding: 25px;
	gap: 25px;
	align-items: flex-start;
}
.toggle-content-inner .image-col {
	flex: 0 0 40%;
}
.toggle-content-inner .content-col {
	flex: 1 1 0;
}
.toggle-content-inner p:first-child {
	margin-top: 0;
}
.toggle-content-inner a:not(.btn) {
	color: #7fd3ec;
}
@media screen and (max-width: 767px) {
	.toggle-bar {
		flex-wrap: wrap;
		gap: 4px 10px;
	}
	.toggle-bar .toggle-name {
		flex: 1 1 auto;
	}
	.toggle-bar .brief-description {
		order: 3;
		flex-basis: 100%;
	}
	.toggle-content-inner {
		flex-direction: column;
	}
	.toggle-content-inner .image-col {
		flex-basis: auto;
	}
}

/* = GALLERY (masonry) = */
#gallery-section {
	padding: 40px 0;
	background: var(--mk-light);
}
.masonry-gallery {
	column-count: 3;
	column-gap: 15px;
}
.masonry-gallery .gallery-img {
	break-inside: avoid;
	margin-bottom: 15px;
	position: relative;
	overflow: hidden;
}
.masonry-gallery .gallery-img img {
	width: 100%;
	transition: transform .3s ease-out, opacity .3s;
}
.masonry-gallery .gallery-img a:hover img, .masonry-gallery .gallery-img a:focus img {
	transform: scale(1.04);
	opacity: .9;
}
.masonry-gallery .gallery-caption {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	background: rgba(17, 17, 17, .75);
	color: #fff;
	font-weight: 600;
	padding: 8px 12px;
	font-size: 15px;
}
#gallery-section h3.gallery-section-heading {
	font-family: var(--mk-heading);
	text-transform: uppercase;
	color: var(--mk-red);
	margin: 10px 0 15px;
}
@media screen and (max-width: 991px) {
	.masonry-gallery {
		column-count: 2;
	}
}
@media screen and (max-width: 480px) {
	.masonry-gallery {
		column-count: 1;
	}
}

/* = CONTACT PAGE = */
#contact-section.contact-main {
	margin-top: 0;
	padding: 40px 0;
	background-color: var(--mk-light);
	background-image: none;
}
.contact-row {
	display: flex;
	flex-wrap: wrap;
}
.contact-card {
	background: #fff;
	padding: 25px 30px 10px;
	box-shadow: 0 3px 14px rgba(0, 0, 0, .1);
	margin-bottom: 25px;
}
.contact-card-c2a {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 10px 20px;
	text-align: center;
	padding-bottom: 20px;
	margin-bottom: 20px;
	border-bottom: 1px solid #ddd;
}
.contact-card-c2a .call-text {
	font-family: var(--mk-heading);
	font-size: 26px;
	text-transform: uppercase;
	color: var(--mk-black);
}
.contact-card-c2a .call-text a {
	color: var(--mk-red);
	white-space: nowrap;
}
.contact-card-c2a .btn-careers {
	background: var(--mk-blue);
}
.contact-card-c2a .btn-careers:hover, .contact-card-c2a .btn-careers:focus {
	background: var(--mk-red);
}
#contact-page-form.contactform-bg {
	background: transparent;
	border: 0;
	padding: 0;
}
#contact-page-form form textarea, #contact-page-form form input {
	color: #222;
	font-family: 'Work Sans', sans-serif;
	font-weight: 400;
	border: 1px solid #bbb;
	background: #fff;
}
#contact-page-form .gform_button, .quick-apply-section .gform_button {
	background: var(--mk-red);
	font-family: var(--mk-heading);
	color: #fff;
	border: 0;
	border-radius: 0;
	font-size: 20px;
	text-transform: uppercase;
	padding: 10px 30px;
}
#contact-page-form .gform_button:hover, #contact-page-form .gform_button:focus,
.quick-apply-section .gform_button:hover, .quick-apply-section .gform_button:focus {
	background: var(--mk-blue);
	color: #fff;
}
.location-col .location-img {
	width: 100%;
	box-shadow: 0 3px 14px rgba(0, 0, 0, .15);
}
.location-col h2.location-heading {
	background: none;
	border: 0;
	color: var(--mk-black);
	text-align: center;
	text-transform: uppercase;
	padding: 15px 0 0;
}
.location-container {
	background: var(--mk-black);
	color: #fff;
	text-transform: none;
	font-family: 'Work Sans', sans-serif;
	margin: 10px 0 20px;
	border-top: 4px solid var(--mk-red);
}
.location-container address {
	margin-bottom: 10px;
}
span.company-heading {
	color: #fff;
	text-transform: uppercase;
	font-size: 24px;
	margin-bottom: 6px;
}
span.company-address, span.company-address a {
	font-size: 17px;
	line-height: 1.7;
}
span.company-address a:hover, span.company-address a:focus {
	color: #7fd3ec;
}
.location-container .icon {
	color: var(--mk-blue);
}
.business-hours {
	text-align: center;
	border-top: 1px solid rgba(255, 255, 255, .2);
	padding-top: 10px;
}
.business-hours h3 {
	color: #fff;
	font-family: var(--mk-heading);
	text-transform: uppercase;
	font-size: 22px;
	margin: 5px 0;
}
.business-hours p {
	margin: 6px 0;
}
.googlemap-container iframe {
	border: 0;
	box-shadow: 0 3px 14px rgba(0, 0, 0, .15);
}
.quick-apply-section {
	padding: 40px 0 50px;
}
.quick-apply-card {
	background: #fff;
	max-width: 900px;
	margin: 0 auto;
	padding: 25px 35px;
	box-shadow: 0 3px 14px rgba(0, 0, 0, .12);
	border-top: 5px solid var(--mk-red);
}
.quick-apply-card .sec-content {
	text-align: left;
	margin-bottom: 0;
}

/* = ACCIDENT PROCESS = */
.process-section {
	padding: 10px 0 40px;
}
.process-steps {
	list-style: none;
	margin: 0;
	padding: 0;
	counter-reset: none;
}
.process-step {
	display: flex;
	gap: 25px;
	padding: 25px 0;
	border-bottom: 1px solid #e3e3e3;
}
.process-step:last-child {
	border-bottom: 0;
}
.step-number {
	flex: 0 0 90px;
	height: 90px;
	border-radius: 50%;
	background: var(--mk-red);
	color: #fff;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	font-family: var(--mk-heading);
	box-shadow: 0 0 0 5px #fff, 0 0 0 8px var(--mk-blue);
	margin: 8px 0 0 8px;
}
.step-number .step-label {
	font-size: 14px;
	text-transform: uppercase;
	letter-spacing: 1px;
	line-height: 1;
}
.step-number .step-count {
	font-size: 40px;
	font-weight: 700;
	line-height: 1;
}
.step-body {
	flex: 1 1 auto;
}
.process-step h2.step-heading {
	background: none;
	border: 0;
	padding: 0;
	margin: 0 0 5px;
	color: var(--mk-black);
	text-transform: uppercase;
	font-size: 30px;
}
.step-inner {
	gap: 25px;
	align-items: flex-start;
}
.step-inner .content-col {
	flex: 1 1 0;
}
.step-inner .image-col {
	flex: 0 0 34%;
	padding-top: 15px;
}
.step-inner .image-col img {
	box-shadow: 0 3px 12px rgba(0, 0, 0, .15);
}
.step-inner .content-col p:first-child {
	margin-top: 10px;
}
@media screen and (max-width: 767px) {
	.process-step {
		flex-direction: column;
		align-items: center;
		text-align: center;
		gap: 10px;
	}
	.step-number {
		flex-basis: auto;
		width: 80px;
		height: 80px;
		margin: 8px 0 0;
	}
	.step-inner {
		flex-direction: column;
	}
	.step-inner .image-col {
		flex-basis: auto;
		width: 100%;
	}
	.step-body ul {
		text-align: left;
	}
}
@media screen and (max-width: 991px) {
    .nav-toggler .fas {
        right: 0px;
    }
}

/* = THANK YOU / DEFAULT PAGES = */
.about-us-content h1 {
	margin-bottom: 15px;
}
