/* 
Theme Name:		 Birchwood Automotive Group
Theme URI:		 https://birchwood.ca/
Description:	 Birchwood Automotive Group is a child theme of Hello Elementor
Author:			 Lindsay Creedon
Author URI:		 https://birchwood.ca/
Template:		 hello-elementor
Version:		 1.0.0
Text Domain:	 birchwood-automotive-group
*/

/* --- TYPOGRAPHY --- */

/* Global */
a {
	color: #00793F;
}

a:hover {
	color: #00793F;
	opacity: 0.75;
}

body, html {
	font-size: 14px;
	letter-spacing: 0.05em;
}

@media (max-width: 812px) {
	body, html {
		font-size: 16px; /* iOS needs a font-size of 16px to prevent zooming on input fields */
	}
}

h1, h2, h3, h4, h5, h6 {
	font-weight: 700;
}

h1 {
	font-size: 2.75em;
}

h2 {
	font-size: 2.25em;
}

h3 { 
	font-size: 1.75em;
}

h4 {
	font-size: 1.5em;
}

h5 { 
  font-size: 1.25em;
}

h6 {
	font-size: 1em;
	text-transform: uppercase;
}

.elementor-widget-heading .elementor-heading-title.elementor-heading-title {
		line-height: 1.3em;
}

input[type="text"], input[type="number"], input[type="search"], input[type="password"], input[type="number"], input[type="tel"], input[type="date"], input[type="email"], select, textarea {
	font-size: 80%;
	font-weight: 700;
	letter-spacing: 0.05em;
	padding: 1em 2em;
	border-radius: 0.5em;
	background: white;
	color: #333;
}

input::placeholder {
	color: #aaa;
}

input:-ms-input-placeholder {
	color: #aaa;
}

textarea::placeholder {
	color: #aaa;
}

textarea:-ms-textarea-placeholder {
	color: #aaa;
}

select {
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
}

@media (max-width: 812px) {
	input[type="text"], input[type="number"], input[type="search"], input[type="password"], input[type="number"], input[type="tel"], input[type="date"], input[type="email"], select {
		font-size: 16px; /* minimum font size to prevent Safari Mobile from zooming into fields */
	}
}

/* Basic styling for buttons */
button, input[type="submit"], input[type="reset"], .elementor-button {
	color: white;
	background: #00793F;
	border: none;
	border-radius: 5em;
	font-size: 80%;
	letter-spacing: 0.05em;
	line-height: 1;
	padding: 1em 1.5em;
}

button:hover, input[type="submit"]:hover, input[type="reset"]:hover {
	color: #00793F;
	background: white;
}

button:active, input[type="submit"]:active, input[type="reset"]:active, button:focus, input[type="submit"]:focus, input[type="reset"]:focus {
	color: white;
	background: #00793F;	
}

button:disabled, button:disabled:hover, .elementor-widget-button .elementor-button.disabled, .elementor-widget-button .elementor-button.disabled:hover {
    color: lightgray;
    background: darkgray;
    border-color: gray;
    cursor: default;
}

.elementor-button.elementor-size-xs {
	padding: 10px 20px 11px 20px; /* Extra padding to offset font being slightly uneven */
}

.gform_wrapper input[type="submit"] {
	margin: 2em 0 0 0.5em;
}

/* Disable focus outlines on buttons unless we detect the user is using the keyboard to navigate the document */
a:focus, button:focus, [type=submit]:focus, [type=button]:focus, [type=reset]:focus {
    outline: none;
}
 
body.phoenix4-kbd-nav a:focus, body.phoenix4-kbd-nav button:focus, body.phoenix4-kbd-nav [type=submit]:focus, body.phoenix4-kbd-nav [type=button]:focus, body.phoenix4-kbd-nav [type=reset]:focus {
    outline-width: 2px;
    outline-style: solid;
    outline-color: highlight;   
}
 
@media (-webkit-min-device-pixel-ratio: 0) {
    body.phoenix4-kbd-nav a:focus, body.phoenix4-kbd-nav button:focus, body.phoenix4-kbd-nav [type=submit]:focus, body.phoenix4-kbd-nav [type=button]:focus, body.phoenix4-kbd-nav [type=reset]:focus {
        outline-color: -webkit-focus-ring-color;
        outline-style: auto;
    }
}

/* --- THIRD-PARTY WIDGETS --- */

/* jQuery UI DatePicker */
select.ui-datepicker-month, select.ui-datepicker-year {
	display: inline-block;
	padding: 0.1em 0;
	border: none;
	background: transparent;
}

/* --- LAYOUT & STRUCTURE --- */
.max-width-on-fullwidth {
	max-width: 1500px;
	margin: 0 auto;
}

body.elementor-msie .elementor-image a {
	max-width: 100%; /* make Elementor images on IE respect the size of their container, the way they do on other browsers */
}

body.elementor-msie .jet-listing-grid__item > .elementor > .elementor-inner > .elementor-section-wrap > .elementor-section { 
	max-width: 100%; /* make Jet Listing items on IE respect the size of their container, the way they do on other browsers */
}

/* Headers */

.bw-hero-text {
  /* Align the hero text with the normal columns by taking the window width, backing out the 30px element padding (x2), then centering a 1140px - 10px (x2) wide element on top of it, and then adding back the padding to the left text in the column (30px + 10px) */
	padding-left: calc((100% - 60px - 1120px) / 2 + 40px);
}

@media (max-width: 1210px) {
	/* Around this breakpoint, the content isn't 1140px wide anymore, so the centering math, above, doesn't work anymore.  However, we're basically running into a fixed padding at this point anyway. */
	.bw-hero-text {
		padding-left: 50px;
	}
}

@media (max-width: 812px) {
	/* Mobile mode */
	.bw-hero-text {
		padding-left: 10px;
	}
}

.bw-blog-hero {
  /* Align the hero text with the normal columns by taking the window width, backing out the 30px element padding (x2), then centering a 1140px - 10px (x2) wide element on top of it, and then adding back the padding to the left text in the column (30px + 10px) */
	padding-left: calc((100% - 60px - 1120px) / 2 + 5px);
}

@media (max-width: 1210px) {
	/* Around this breakpoint, the content isn't 1140px wide anymore, so the centering math, above, doesn't work anymore.  However, we're basically running into a fixed padding at this point anyway. */
	.bw-blog-hero {
		padding-left: 20px;
	}
}

@media (max-width: 812px) {
	/* Mobile mode */
	.bw-blog-hero {
		padding-left: 10px;
	}
}

body.elementor-msie .bw-hide-on-ie {
	visibility: hidden; 
}

/* Add margin to inline images in blog articles */

.alignnone {
	margin: 2em 0;
}

.alignleft {
	margin: 1rem 2rem 1rem 0 !important
}

.alignright {
	margin: 1rem 0rem 1rem 2rem  !important;
}

/* Blog Filter on Archive */

.jet-search-filter__input {
	-webkit-border-radius: 10px 0 0 10px;
	-webkit-appearance: none;
}

.post-filter-data {
	background: #00793F;
  border-radius: 5px;
  margin-top: -100px;
  margin-bottom: 25px;
	padding: 25px !important;
}

.all_post_count {
	display: none !important;
}

.post-filter-data::before {
	content: 'Filter by'
}

.post-filter-data::before {
	color: #fff;
	font-family: Visby, sans-serif;
	display: block;
	margin-bottom: 10px;
}

.page-head {
	padding-left: 20px;
	padding-right: 20px;
}

@media screen and (min-width: 1240px) {
	.page-head {
		padding-left: 7%;
		padding-right: 5%;
	}
}

@media screen and (min-width: 1440px) {
	.page-head {
		padding-left: 13%;
		padding-right: 5%;
	}
}

@media screen and (min-width: 1600px) {
	.page-head {
		padding-left: 15%;
		padding-right: 5%;
	}
}

/* Finance Tabs */

@media screen and (min-width: 813px) {
	.finance-tabs .elementor-tab-content {
		column-count: 2;
		column-gap: 3em;
		padding: 2em;
	}
}

#man-loans:before {
  display: inline-block;
  content: ' ';
  background-image: url('/wp-content/uploads/2019/07/Manufacturer-Loans.svg');
  background-size: 24px 24px;
  height: 24px;
  width: 24px;
	margin-right: 0.5em;
	margin-bottom: -0.28em;
}

#bank-loans:before {
  display: inline-block;
  content: ' ';
  background-image: url('/wp-content/uploads/2019/07/Bank-Loans.svg');
  background-size: 24px 24px;
  height: 24px;
  width: 24px;
	margin-right: 0.5em;
	margin-bottom: -0.28em;
}

#birch-credit:before {
  display: inline-block;
  content: ' ';
  background-image: url('/wp-content/uploads/2019/07/Birchwood-Credit.svg');
  background-size: 28px 28px;
  height: 28px;
  width: 28px;
	margin-right: 0.5em;
	margin-bottom: -0.6em;
}

/* Other Home Page Stuff */

.home-trade-tracker-btn .phoenix4-tradetrackerbutton-widget a[href]:hover {
	color: white;
	background: #333;	
}

.experience-filter-learn-more-link a, .experience-filter-learn-more-link a:visited {
	background: white;
	color: #333;
	display: inline-block;
	padding: 0.75em 1.5em 0.65em 1.5em;
	border-radius: 5em;
	cursor: pointer;
	font-size: 85%;
}

.experience-filter-learn-more-link a:hover {
	background: #333;
	color: white;
}

/* Blog Single*/
.blog-h2 {
	font-size: 1.75em;
}

.blog-h3 {
	font-size: 1.25em;
}

.blog-h4 {
	font-size: 1em;
}

.blog-content {
	line-height: 1.7em;
}


.location-card {
	display: inline-block;
	margin: 20px;
}

.location-logo img {
	max-width: 200px;
    max-height: 100px;
    object-fit: contain;
    object-position: 0 0;
}

/* Related models on showroom single */

.related-models:hover .jet-listing-dynamic-link__label {
	color: #fff;
}

.related-models:hover img[alt="No photo - Placeholder"] {
    filter:  brightness(0) invert(1);
}

/* --- END LAYOUT & STRUCTURE --- */


/* Blog Archive */

.post-load-more {
	font-family: Visby, sans-serif;
	font-weight: 700;
	font-size: 14px !important;
}

/* New Car Model Archive */

.new-model-filters {
   font-size: 80%;
}

.new-model-filters.elementor-widget-toggle .elementor-toggle-item {
	border-top: 2px solid #e9e9e9;
}

.new-model-filters.elementor-widget-toggle .elementor-toggle-item:first-child {
	border-top: none;
}

.new-model-filters.elementor-widget-toggle .elementor-toggle .elementor-tab-title {
	position: relative;
	padding: 2em 2em;	
	border: none;
	font-weight: 900;
}

.new-model-filters.elementor-widget-toggle .elementor-toggle .elementor-tab-content {
	border: none;
}

.new-model-filters.elementor-widget-toggle .elementor-toggle .elementor-tab-title .elementor-toggle-icon {
	position: absolute;
	background: white;
	color: #333;
	border-radius: 1em;
	width: 2em;
	height: 2em;
	top: 50%;
	right: 1em;
	transform: translateY(-50%);
}

.new-model-filters.elementor-widget-toggle .elementor-toggle .elementor-tab-title .elementor-toggle-icon i {
	position: absolute;
	left: 50%;
	top: 50%;
	float: none;
	transform: translate(-50%, -50%);
}

.new-model-filters.elementor-widget-toggle .elementor-toggle .elementor-tab-title, 
.new-model-filters.elementor-widget-toggle .elementor-toggle .elementor-tab-title.elementor-active,
.new-model-filters.elementor-widget-toggle .elementor-toggle .elementor-tab-title a,
.new-model-filters.elementor-widget-toggle .elementor-toggle .elementor-tab-title .elementor-toggle-icon i::before {
	color: unset;
}

.new-model-filters.elementor-widget-toggle .elementor-toggle .elementor-tab-title:hover,
.new-model-filters.elementor-widget-toggle .elementor-toggle .elementor-tab-title:hover .elementor-toggle-icon {
	color: #00793F;
}

.new-model-filters.elementor-widget-toggle .elementor-toggle .elementor-toggle-item:nth-child(1) /* Make */
.jet-checkboxes-list__row {
	display: block;
	padding: 0 0 0 1em;
	margin: 0;
}

.new-model-filters.elementor-widget-toggle .elementor-toggle .elementor-toggle-item:nth-child(1) /* Make */
.jet-checkboxes-list__item {
	display: block;
	padding: 1.75em 2em 1.75em 0;
	margin: 0;
	border-top: 2px solid #e9e9e9;	
}

.new-model-filters.elementor-widget-toggle .elementor-toggle .elementor-toggle-item:nth-child(1) /* Make */
.jet-checkboxes-list__decorator {
	display: none;
}

.new-model-filters.elementor-widget-toggle .elementor-toggle .elementor-toggle-item:nth-child(1) /* Make */
.jet-checkboxes-list__label {
	position: relative;
	display: block;
	font-weight: 700;
}

.new-model-filters.elementor-widget-toggle .elementor-toggle .elementor-toggle-item:nth-child(1) /* Make */
.jet-checkboxes-list__label::after {
	position: absolute;
	right: -1em;
	top: 50%;
	transform: translateY(-50%);
	content: ' '
}

.new-model-filters.elementor-widget-toggle .elementor-toggle .elementor-toggle-item:nth-child(1) /* Make */
input[type="checkbox"]:checked ~ .jet-checkboxes-list__button .jet-checkboxes-list__label,
.new-model-filters.elementor-widget-toggle .elementor-toggle .elementor-toggle-item:nth-child(1) /* Make */
.jet-checkboxes-list__item:hover {
	color: #00793F;
}

.new-model-filters.elementor-widget-toggle .elementor-toggle .elementor-toggle-item:nth-child(1) /* Make */
input[type="checkbox"]:checked ~ .jet-checkboxes-list__button .jet-checkboxes-list__label::after {
	content: '\f00c'; /* fa-check */
  font-family: "Font Awesome 5 Free";
  font-weight: 900; /* fas */
}

.new-model-filters.elementor-widget-toggle .elementor-toggle .elementor-toggle-item:nth-child(2) /* Body Style */
.jet-checkboxes-list__row {
	display: block;
	padding: 0 0 0 1em;
	margin: 0;
}

.new-model-filters.elementor-widget-toggle .elementor-toggle .elementor-toggle-item:nth-child(2) /* Body Style */
.jet-checkboxes-list__item {
	display: block;
	padding: 1.5em 2em 1.5em 0;
	margin: 0;
	border-top: 1px solid #ddd;
}

.new-model-filters.elementor-widget-toggle .elementor-toggle .elementor-toggle-item:nth-child(2) /* Body Style */
.jet-checkboxes-list__decorator {
	display: none;
}

.new-model-filters.elementor-widget-toggle .elementor-toggle .elementor-toggle-item:nth-child(2) /* Body Style */
.jet-checkboxes-list__label {
	position: relative;
	display: block;
	font-weight: 700;
}

.new-model-filters.elementor-widget-toggle .elementor-toggle .elementor-toggle-item:nth-child(2) /* Body Style */
.jet-checkboxes-list__label::before {
	position: relative;
	display: inline-block;
	width: 5em;
	height: 2em;
	background-repeat: no-repeat;
	background-size: contain;
	background-position: center;
	vertical-align: middle;
	margin-right: 1.5em;
	content: ' ';
}

.new-model-filters.elementor-widget-toggle .elementor-toggle .elementor-toggle-item:nth-child(2) /* Body Style */
.jet-checkboxes-list__label::after {
	position: absolute;
	right: -1em;
	top: 50%;
	transform: translateY(-50%);
	content: ' '
}

.new-model-filters.elementor-widget-toggle .elementor-toggle .elementor-toggle-item:nth-child(2) /* Body Style */
input[type="checkbox"]:checked ~ .jet-checkboxes-list__button .jet-checkboxes-list__label,
.new-model-filters.elementor-widget-toggle .elementor-toggle .elementor-toggle-item:nth-child(2) /* Body Style */
.jet-checkboxes-list__item:hover {
	color: #00793F;
}

.new-model-filters.elementor-widget-toggle .elementor-toggle .elementor-toggle-item:nth-child(2) /* Body Style */
input[type="checkbox"]:checked ~ .jet-checkboxes-list__button .jet-checkboxes-list__label::before,
.new-model-filters.elementor-widget-toggle .elementor-toggle .elementor-toggle-item:nth-child(2) /* Body Style */
.jet-checkboxes-list__item:hover .jet-checkboxes-list__label::before {
	filter:	invert(67%) sepia(15%) saturate(1635%) hue-rotate(125deg) brightness(99%) contrast(102%); /* black -> supporting colour */
}

.new-model-filters.elementor-widget-toggle .elementor-toggle .elementor-toggle-item:nth-child(2) /* Body Style */
input[type="checkbox"]:checked ~ .jet-checkboxes-list__button .jet-checkboxes-list__label::after {
	content: '\f00c'; /* fa-check */
  font-family: "Font Awesome 5 Free";
  font-weight: 900; /* fas */
}

.new-model-filters.elementor-widget-toggle .elementor-toggle .elementor-toggle-item:nth-child(2) /* Body Style */
input[type="checkbox"][value="41"] /* Coupe */
~ .jet-checkboxes-list__button .jet-checkboxes-list__label::before {
   background-image: url('/wp-content/plugins/phoenix4-elementor/images/body-icon-coupe.svg');
}

.new-model-filters.elementor-widget-toggle .elementor-toggle .elementor-toggle-item:nth-child(2) /* Body Style */
input[type="checkbox"][value="40"] /* Hatchback */
~ .jet-checkboxes-list__button .jet-checkboxes-list__label::before {
   background-image: url('/wp-content/plugins/phoenix4-elementor/images/body-icon-hatchback.svg');
}

.new-model-filters.elementor-widget-toggle .elementor-toggle .elementor-toggle-item:nth-child(2) /* Body Style */
input[type="checkbox"][value="39"] /* Minivan */
~ .jet-checkboxes-list__button .jet-checkboxes-list__label::before {
   background-image: url('/wp-content/plugins/phoenix4-elementor/images/body-icon-minivan.svg');
}

.new-model-filters.elementor-widget-toggle .elementor-toggle .elementor-toggle-item:nth-child(2) /* Body Style */
input[type="checkbox"][value="36"] /* Sedan */
~ .jet-checkboxes-list__button .jet-checkboxes-list__label::before {
   background-image: url('/wp-content/plugins/phoenix4-elementor/images/body-icon-sedan.svg');
}

.new-model-filters.elementor-widget-toggle .elementor-toggle .elementor-toggle-item:nth-child(2) /* Body Style */
input[type="checkbox"][value="37"] /* SUV */
~ .jet-checkboxes-list__button .jet-checkboxes-list__label::before {
   background-image: url('/wp-content/plugins/phoenix4-elementor/images/body-icon-suv.svg');
}

.new-model-filters.elementor-widget-toggle .elementor-toggle .elementor-toggle-item:nth-child(2) /* Body Style */
input[type="checkbox"][value="38"] /* Truck */
~ .jet-checkboxes-list__button .jet-checkboxes-list__label::before {
   background-image: url('/wp-content/plugins/phoenix4-elementor/images/body-icon-truck.svg');
}

.new-model-filters .ui-slider {
	background: rgb(211, 211, 211);
	border: none;
}

.new-model-filters .ui-slider .ui-slider-handle {
	border: none;
}

body.phoenix4-kbd-nav .ui-slider-handle:focus {
    outline-width: 2px;
    outline-style: solid;
    outline-color: highlight;   	
}

@media (-webkit-min-device-pixel-ratio: 0) {
	body.phoenix4-kbd-nav .ui-slider-handle:focus {
        outline-color: -webkit-focus-ring-color;
        outline-style: auto;
    }
}

body.elementor-msie .jet-search-filter__submit {
	position: relative;
	left: -1px; /* hide line between text input and search button */
}

/* New Car Model Single */

.cta-model-title::before {
	content: 'Interested in the ';
}

.cta-model-title::after {
	content: '?';
}

.cta-model-title {
	display: flex;
}

.cta-model-title::before {
	font-family: Visby, sans-serif;
	color: #fff;
	font-size: 1.25em;
	font-weight: 500;
	display: inline;
	margin-right: 0.25em;
}

.cta-model-title::after {
	font-family: Visby, sans-serif;
	color: #fff;
	font-size: 1.25em;
	font-weight: 500;
	display: inline;
}

.related_trims_block:hover h4{
   color: #ffffff!important; 
}

/* Interior Pages */

/* Slider Arrows */

.prev-arrow {
	border-radius: 100px !important;
}

.next-arrow {
	border-radius: 100px !important;
}

.location-label {
	font-weight: 700;
	color: #00793F;
}

.models-title .jet-listing-dynamic-field__content {
	white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* Dots used for Jet Grid Listing */

.jet-listing-grid .jet-slick-dots {
	padding: 0; /* get rid of the default padding for the <ul> because it causes the dots to be off-center */
}

/* Footers */

.footer-bodystyle a {
	font-weight: 300;
	margin-left: 1em;
}

.footer-sublinks a {
	color: #adadad;
}

.footer-sublinks:hover a {
	color: #00793F;
}

/* --- END TYPOGRAPHY --- */


/* --- VEHICLE WIDGETS --- */

/* --- END VEHICLE WIDGETS --- */

.jet-smart-tiles__box:before {
	opacity: 0.5;
}

/* --- FILTERS --- */

.blog-filters .jet-checkboxes-list__decorator {
	position: absolute;
	width: 1px;
	height: 1px;
	opacity: 0;
}

.blog-filters .jet-checkboxes-list__row {
	display: inline-block;
}

.blog-filters .jet-checkboxes-list__label {
	background: white;
	margin-right: 20px;
	margin-left: -20px !important;
	
	padding: 10px 20px 11px 20px;
	border-radius: 25px;
	font-size: 0.9em;
	font-weight: 700;
}

.blog-filters .jet-checkboxes-list__label:hover {
	background-color: #00793F;
	color: #fff;
	transition: color 0.2s, background-color 0.2s;
}

.blog-filters .elementor-widget-container .jet-checkboxes-list__item input[type="checkbox"]:checked ~ .jet-checkboxes-list__label {
	background-color: #00793F;
	color: #fff;
		transition: color 0.2s, background-color 0.2s;
}

.blog-toggle-filters .jet-active-filter__label {
	display: none;
}
/* Location Filters */

.location-filters .jet-checkboxes-list__decorator {
	position: absolute;
	width: 1px;
	height: 1px;
	opacity: 0;
}

.location-filters .jet-checkboxes-list__row {
	display: inline-block;
}

.location-filters .jet-checkboxes-list__label {
	background: white;
	margin-right: 20px;
	margin-left: -20px !important;
	
	padding: 0.35em 1.25em 0.5em 1.25em;
	border-radius: 25px;
	font-size: 0.9em;
	font-weight: 700;
}

.location-filters .jet-checkboxes-list__label:hover {
	background-color: #fff;
	color: #00793F;
	transition: color 0.2s, background-color 0.2s;
}

.location-filters .elementor-widget-container .jet-checkboxes-list__item input[type="checkbox"]:checked ~ .jet-checkboxes-list__label {
	background-color: #fff;
	color: #00793F;
		transition: color 0.2s, background-color 0.2s;
}

.location-filters .elementor-widget-container .jet-checkboxes-list__item input[type="checkbox"]:checked ~ .jet-checkboxes-list__label::after {
	content: "✕";
	font-size: 0.85em;
	margin-left: 0.5em;
}

/* --- END FILTERS --- */

/* --- MOBILE STYLING ONLY --- */

@media screen and (max-width: 812px) {
	.career-cta-lower {
		background-color: #00793F;
	}
	
	.career-cta-upper {
		background-color: #434343;
	}
	
	.blog-search-box .elementor-column-wrap{
		border-radius: 0px !important;
	}
	
	.share-post-cta .elementor-column-wrap{
		border-radius: 0px !important;
	}
	 
}

@media screen and (min-width: 813px) {
	.career-cta-lower {
		background-color: #434343;
		border-radius: 0 0 10px 10px;
	}
	
	.career-cta-upper {
		background-color: #00793F;
		border-radius: 10px 10px 0 0;
	}	
}

/*--- SERVICE YOUR VEHICLE FORM --- */

/* Start with a simple vertical stack (mainly for mobile) */

.bw-service-form ul {
	list-style: none;
	margin-top: -2em;
	padding: 0;
}

.bw-service-form li {
	display: block;
	margin: 1em 0.25em;
	padding: 0;
	vertical-align: top;
}

.bw-service-form li.bw-your-info-title, .bw-service-form li.bw-your-veh-title, .bw-service-form li.bw-your-time-title {
	display: block;
	margin: 2em 0 0 0;
	padding: 0;
}

.bw-service-form h3 {
	font-size: 115%;
	margin: 0;
}

.bw-service-form h4 {
	margin: 0;
	padding: 0;
}

.bw-service-form li.bw-comments {
	margin-top: 2em;
}

.bw-service-form #input_1_39 {
	height: 75px;
	border-radius: 0.5em
}

.bw-service-form .bw-date.empty select:not(:focus), .bw-service-form .bw-time.empty select:not(:focus) {
	/* Hack to make the "placeholder" on the select look more like a placeholder, until we can replace this with a proper select-replacement JS widget */
	color: #aaa;	
}

/* Provide a simple layout for older browsers (IE11) in desktop mode */
@media (min-width: 813px) {
	.bw-service-form li {
		display: inline-block;
		margin: 0.5em 1em;
		min-width: 16em;
		width: calc(25% - 2em);
	}
	
	.bw-service-form li.bw-comments {
		display: block;
		width: 100%;
	}
	
	.bw-service-form li.bw-your-info-title, .bw-service-form li.bw-your-veh-title, .bw-service-form li.bw-your-time-title {
		display: block;
	}
}

/* Then use CSS grid to get the desired layout for modern browsers in non-mobile mode */
@supports (grid-template: "a b c d e") {
	@media (min-width: 813px) {
		.bw-service-form ul {
			display: grid;
			grid-template:
				"a1 a1 a1 a1 a1 a1 a1 a1 a1 a1 a1 a1"
				"b1 b1 b1 b1 b2 b2 b2 b2 b2 b3 b3 b3"
				"c1 c1 c1 c1 c1 c1 c1 c1 c2 c2 c2 c2"
				"d1 d1 d2 d2 d3 d3 d4 d4 d5 d5 d6 d6"
				"e1 e1 e1 e1 e1 e1 e1 e1 e1 e1 e1 e1";
			grid-template-columns: repeat(12, 1fr);
		}

		.bw-service-form li {
			display: block;
			margin: 0.5em;
			min-width: 0;
			width: auto;
		}

		.bw-service-form li.bw-your-info-title {
			grid-area: a1;
			margin: 2em 0.5em 0.5em 0.5em;
		}

		.bw-service-form li.bw-name {
			grid-area: b1;
		}

		.bw-service-form li.bw-email {
			grid-area: b2;
		}

		.bw-service-form li.bw-phone {
			grid-area: b3;
		}

		.bw-service-form li.bw-your-veh-title {
			grid-area: c1;
			margin: 2em 0.5em 0.5em 0.5em;
		}

		.bw-service-form li.bw-your-time-title {
			grid-area: c2;
			margin: 2em 0.5em 0.5em 0.5em;
		}

		.bw-service-form li.bw-year {
			grid-area: d1;
		}

		.bw-service-form li.bw-make {
			grid-area: d2;
		}

		.bw-service-form li.bw-model {
			grid-area: d3;
		}

		.bw-service-form li.bw-mileage {
			grid-area: d4;
		}

		.bw-service-form li.bw-date {
			grid-area: d5;
		}

		.bw-service-form li.bw-time {
			grid-area: d6;
		}
		
		.bw-service-form li.bw-comments {
			grid-area: e1;
		}
		
		.bw-service-form-learn-more {
			position: relative;
			top: -3.7em;
			left: 17em;
			height: 0; /* since we're relatively positioning, we don't want it to allocate its normal height in the form */
		}
	}
}

.gform_validation_container {
	display: none!important;
    position: absolute!important;
    left: -9000px;
}

.bw-service-form_wrapper .gfield_label {
	display: none;
}

.validation_error {
	background-color: #db6060;
	font-size: 12px;
    font-weight: 700;
	color: #fff;
	padding: 0.5em;
	margin: 0 0 2em 0.5em;
}


.validation_message {
	color: #db6060;
	font-size: 12px;
    font-weight: 700;
    margin-top: 5px;
}

.instruction {
	color: #dba860;
	font-size: 12px;
    font-weight: 700;
    margin-top: 5px;
}

@media (max-width: 812px) {
	.validation_error {
		margin: 0 0 4em 0.5em;
	}
}

/* ---- VEHICLE GET INFO FORM ----- */

.bw-vehicle-getinfo-form ul {
	display: block;
	padding: 0 1em;
	margin: 0;
}

.bw-vehicle-getinfo-form li {
	display: block;
	padding: 0;
	margin: 0.5em 0;
}

.bw-vehicle-getinfo-form .ginput_container_name label {
	font-size: 80%;
	margin-top: -0.5em;
}

.bw-vehicle-getinfo-form .gf_lead_comment > label {
	display: inline-block;
	margin-right: 1em;
}

.bw-vehicle-getinfo-form .gf_lead_comment .gfield_description {
	display: inline-block;
	font-size: 80%;
	color: #888;
}

.bw-vehicle-getinfo-form .gform_footer {
	padding: 0 1em;
	text-align: right;
	margin: 1em 0 0 0;
}

.bw-vehicle-getinfo-form .gf_lead_captcha > label {
	display: none;
}

/* ---- VEHICLE BOOK TEST DRIVE FORM ----- */

.bw-vehicle-booktest-form ul {
	display: block;
	padding: 0 1em;
	margin: 0;
}

.bw-vehicle-booktest-form li {
	display: block;
	padding: 0;
	margin: 0.5em 0;
}

.bw-vehicle-booktest-form .ginput_container_name label {
	font-size: 80%;
	margin-top: -0.5em;
}

.bw-vehicle-booktest-form .gform_footer {
	padding: 0 1em;
	text-align: right;
	margin: 1em 0 0 0;	
}

.bw-vehicle-booktest-form .gf_lead_captcha > label {
	display: none;
}


/* ----- CONTACT/OUR LOCATIONS PAGE ---- */

.contact-page-visit-website-link a, .contact-page-visit-website-link a:visited {
	padding: 0.75em 1.5em 0.65em 1.5em;
	color: #fff;
	background: #333;
	text-decoration: none;
	text-transform: none;
	cursor: pointer;
	display: inline-block;
	border-radius: 5em;
	font-size: 85%;
}

.contact-page-visit-website-link a:hover {
	color: white;
	background: #00793F;
}