/* Main theme styles */
/* Colors */

.color-1 {color: var(--contrast) !important;}
.color-2 {color: var(--contrast-2);}
.color-3 {color: var(--contrast-3);}
.color-4 {color: var(--base);}
.color-5 {color: var(--base-2);}
.color-6 {color: var(--base-3);}
.color-7 {}
.color-8 {}
.color-9 {}
.bg-color-1 {background-color: var(--contrast) !important;}
.bg-color-2 {background-color: var(--contrast-2);}
.bg-color-3 {background-color: var(--contrast-3);}
.bg-color-4 {background-color: var(--base);}
.bg-color-5 {background-color: var(--base-2) !important;}
.bg-color-6 {background-color: var(--base-3);}
.bg-color-7 {}
.bg-color-8 {}
.bg-color-9 {}
.border-color-1 {border-color: var(--contrast) !important;}
.border-color-2 {border-color: var(--contrast-2);}
.border-color-3 {border-color: var(--contrast-3);}
.border-color-4 {border-color: var(--base);}
.border-color-5 {border-color: var(--base-2);}
.border-color-6 {border-color: var(--base-3);}
.border-color-7 {}
.border-color-8 {}
.border-color-9 {}

/* Fonts */

/* General Styles */

.single-auto .site-main {
	max-width: 1920px !important;
}

.page-header {
	display: none;
}
	
.back-button {
	font-size: 14px;
	color: #ffffff;
	background: #e94b43;
	border: solid 1px #e94b43;
	margin-bottom: 15px;
	padding: 3px 12px;
}

/* Set smaller margin for lists */
ul.wp-block-list {
    margin-left: 1em;
}

/* Padding and colors for accordion */
.gb-accordion__item {
    padding: 0 !important;
}

.gb-accordion__toggle {
    padding: 1em;
    color: var(--base-3);
    background-color: var(--contrast-3);
}

.gb-accordion__toggle:hover, .gb-accordion__toggle:focus {
    color: var(--contrast) !important;
}

/* Border-radius for images & iframes */
.wp-block-gallery.has-nested-images.is-cropped figure.wp-block-image:not(#individual-image) a, .wp-block-gallery.has-nested-images.is-cropped figure.wp-block-image:not(#individual-image) img {
    border-radius: 12px;
}

embed, iframe, object {
    border-radius: 12px;
}

.gb-carousel-item img {
    border-radius: 12px;
}

.gb-accordion__content img {
    border-radius: 12px;
}

button.menu-toggle {
    font-weight: 700;
}

/* Helper Classes */

.clear {
	clear: both;
}

.no-margin {
	margin-left: 0 !important;
	margin-right: 0 !important;
	margin-top: 0 !important;
	margin-bottom: 0 !important;;
}

.no-padding {
	padding-left: 0 !important;
	padding-right: 0 !important;
	padding-top: 0 !important;
	padding-bottom: 0 !important;;
}

.double-gutter {
	padding-left: 30px;
	padding-right: 30px;
}

.normal-gutter {
	padding-left: 15px;
	padding-right: 15px;
}

.no-gutter {
	padding-left: 0 !important;
	padding-right: 0 !important;
}

.small-gutter {
	padding-left: 5px;
	padding-right: 5px;
}

.larger-gutter {
	padding-left: 20px;
	padding-right: 20px;
}

.tm0 {margin-top: 0px !important;}
.tm5 {margin-top: 5px;}
.tm10 {margin-top: 10px;}
.tm15 {margin-top: 15px;}
.tm20 {margin-top: 20px;}
.tm30 {margin-top: 30px;}
.tm40 {margin-top: 40px;}
.tm50 {margin-top: 50px;}
.tm60 {margin-top: 60px;}
.tm70 {margin-top: 70px;}
.tm80 {margin-top: 80px;}
.tm90 {margin-top: 90px;}
.tm100 {margin-top: 100px;}

.bm5 {margin-bottom: 5px;}
.bm10 {margin-bottom: 10px !important;}
.bm15 {margin-bottom: 15px;}
.bm20 {margin-bottom: 20px;}
.bm30 {margin-bottom: 30px;}
.bm40 {margin-bottom: 40px;}
.bm50 {margin-bottom: 50px;}
.bm60 {margin-bottom: 60px;}
.bm70 {margin-bottom: 70px;}
.bm80 {margin-bottom: 80px;}
.bm90 {margin-bottom: 90px;}
.bm100 {margin-bottom: 100px;}

.tp5 {padding-top: 5px;}
.tp10 {padding-top: 10px;}
.tp15 {padding-top: 15px;}
.tp20 {padding-top: 20px;}
.tp30 {padding-top: 30px;}
.tp40 {padding-top: 40px;}
.tp50 {padding-top: 50px;}
.tp60 {padding-top: 60px;}
.tp70 {padding-top: 70px;}
.tp80 {padding-top: 80px;}
.tp90 {padding-top: 90px;}
.tp100 {padding-top: 100px;}

.bp5 {padding-bottom: 5px;}
.bp10 {padding-bottom: 10px;}
.bp15 {padding-bottom: 15px;}
.bp20 {padding-bottom: 20px;}
.bp30 {padding-bottom: 30px;}
.bp40 {padding-bottom: 40px;}
.bp50 {padding-bottom: 50px;}
.bp60 {padding-bottom: 60px;}
.bp70 {padding-bottom: 70px;}
.bp80 {padding-bottom: 80px;}
.bp90 {padding-bottom: 90px;}
.bp100 {padding-bottom: 100px;}

.text-bold {font-weight: bold;}
.text-normal {font-weight: normal;}
.text-medium {font-weight: 500;}
.text-light {font-weight: 300;}
.text-italic {font-style: italic;}
.text-large {font-size: 22px;}
.text-small {font-size: 13px;}
.text-smaller {font-size: 10px;}
.text-center {text-align: center;}
.text-right {text-align: right;}
.text-left {text-align: left;}
.text-uppercase {text-transform: uppercase;}
.single-line {white-space: nowrap;}


.bg-position {
	-webkit-background-size: cover;
	-moz-background-size: cover;
	-o-background-size: cover;
	background-size: cover;
	background-repeat: no-repeat;
	background-position-x: 50%;
	background-position-y: 50%;
}

.height-100 {height: 100%;}
.img-rounded img {border-radius: 15px !important;}
.vertical-align-middle img {vertical-align: middle;}

.box-shadow {box-shadow: 0 3px 25px 0 rgba(106,107,108,.37) !important;}
.box-shadow-small {box-shadow: rgb(58 58 58 / 12%) 0px 2px 8px;}
.box-shadow-large {box-shadow: rgb(58 58 58 / 12%) 0 5px 50px 0;}

.box-padding-s {padding: 0.5em;}
.box-padding-m {padding: 1em;}
.box-padding-l {padding: 2em;}
.box-padding-l {padding: 3em;}

.border-radius-s {border-radius: 4px;}
.border-radius-m {border-radius: 8px;}
.border-radius-l {border-radius: 16px;}
.border-radius-xl {border-radius: 32px;}

.hide {display: none !important;}
.overflow-hidden {overflow: hidden;}
.visibility-hidden {visibility: hidden;}

/* Buttons */

.wc-button-hero, .wc-button-black, .wc-button-red, .wc-button-transparent {
    color: var(--base-3) !important;
}

a.wp-block-button__link.has-vivid-red-background-color.has-background.wp-element-button {
    border-radius: 12px;
    color: var(--base-3);
}

a.wp-block-button__link.has-vivid-red-background-color.has-background.wp-element-button:hover {
    background-color: var(--contrast) !important;
}

.gform_button.button {
    border-radius: 12px;
}

button#gform_submit_button_1,
button#gform_submit_button_2 {
    background-color: var(--contrast-3);
}

/* Forms */

/* Car Section Styles */

.Car-Container { 
	display: grid;
	grid-template-columns: 1fr;
	grid-template-rows: auto auto auto auto auto auto;
	grid-auto-columns: 1fr;
	grid-auto-rows: 1fr;
	gap: 15px;
	grid-auto-flow: row;
	grid-template-areas:
		"Car-Images"
		"Car-Header"
		"Car-Specs"
		"Car-Accessories"
		"Car-Finance"
		"Car-Description"
		"Car-Info";
	padding: 15px;
}

@media (min-width: 1024px) {
	.Car-Container {
		margin: 0 auto;
		padding: 24px 10px 15px;
		display: grid;
		grid-template-columns: minmax(0, 3fr) minmax(280px, 1fr);
		grid-template-areas:
			"Car-Images Car-Header"
			"Car-Specs Car-Specs"
			"Car-Accessories Car-Accessories"
			"Car-Finance Car-Finance"
			"Car-Description Car-Description"
			"Car-Info Car-Info";
		gap: 24px;
	}
}

.Car-Header {grid-area: Car-Header;}
.Car-Images {grid-area: Car-Images;}
.Car-Info {grid-area: Car-Info;}
.Car-Specs {grid-area: Car-Specs;}
.Car-Accessories {grid-area: Car-Accessories;}
.Car-Description {grid-area: Car-Description;}
.Car-Finance {grid-area: Car-Finance;}

.Car-Header .car-inner,
.Car-Info .car-inner,
.Car-Specs .car-inner,
.Car-Accessories .car-inner,
.Car-Finance .car-inner,
.Car-Description .car-inner {
	width: 100%;
	max-width: 1200px;
	margin: 0 auto;
	padding-left: 0;
	padding-right: 0;
}
	
.Car-Specs .car-inner, .Car-Accessories .car-inner, .Car-Finance .car-inner, .Car-Description .car-inner {
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.06);
	border-radius: 12px;
}

/*
	.Car-Specs,
	.Car-Finance,
	.Car-Accessories {
		padding-bottom: 15px;
	}
*/
	
/*
	.form-container {
		padding-top: 55px;
		padding-bottom: 55px;
		border-radius: 12px;
	}
*/

.form-container .car-inner {
    padding: 25px;
    max-width: 600px;
}

.contact-form {
	max-width: 600px;
	margin: 0 auto;
}

.Car-Description > .car-inner {
	margin-bottom: 25px;
}

.car-title {line-height: 1.2;}
.car-price {font-size: 42px; line-height: 1;}
.car-price .car-monthly {font-size: 28px;}
.car-office-fee {font-size: 16px;}
.Car-Container a {text-decoration: none !important;}

.car-actions .button {margin-right: 10px;}
#car-financing.button {background: #cce0eb; border-color: #cce0eb;}

.featured-accessories div {
    background: #f7c24f;
    display: inline-block;
    padding: 0px 10px;
    font-size: 16px;
	margin: 0 5px 5px 0;
}

.Car-Info .tags {
	line-height: 1.3;
}

.Car-Info .tags > div {
    flex-basis: 14.3%;
}

.Car-Info .contact  {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
}

.Car-Info .contact > div {
	flex-basis: 33.3%;
	box-sizing: border-box;
}

.Car-Info .contact a {
    width: 100%;
    display: block;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: flex-start;
    align-items: center;
	padding-top: 10px;
    padding-right: 20px;
    padding-bottom: 10px;
    padding-left: 20px;
}

.Car-Info .contact a div:nth-child(1) {
    flex-basis: 55px;
}

.Car-Info .dashicons {
    font-size: 40px;
    height: 40px;
    width: 40px;
}

.Car-Info .contact a .button-title,
.Car-Info .contact a .button-description {
	display: block;
}

.Car-Info .contact a .button-description {
	font-size: 16px;
}

.Car-Accessories ul {
    margin: 0;
    padding: 0;
    column-count: 3;
	list-style: none;
	font-size: 16px;
}

.Car-Accessories a {
	color: var(--contrast);
}

.Car-Specs ul {
    margin: 0;
    padding: 0;
    column-count: 3;
	list-style: none;
	font-size: 16px;
}

.Car-Specs li {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: flex-start;
}

.Car-Specs li span:nth-child(1) {
    width: 190px;
	color: var(--e-global-color-5b6b604);
	font-weight: 500;
}

/*
.Car-Description .description {
	column-count: 2;
}
*/
.Car-Description p {
	margin-bottom: 0.5em;
}

/* Car Image Slider */

.Car-Gallery { 
	display: grid;
	grid-auto-columns: 1fr;
	grid-auto-rows: 1fr;
	grid-template-columns: 4fr 2fr;
	grid-template-rows: auto;
	gap: 0% 0%;
	grid-auto-flow: row;
	grid-template-areas:
		"Gallery-Main Gallery-Thumbs";
}
  
.Gallery-Main {grid-area: Gallery-Main;}
.Gallery-Thumbs {grid-area: Gallery-Thumbs;}

.auto-gallery {
	display: grid;
}

.gallery-top,
.gallery-thumbs {
	height: auto;
	width: 100%;
}

.gallery-thumbs .swiper-wrapper {
	display: flex;
	flex-direction: row !important;
	flex-wrap: wrap;
	align-content: flex-start;
	justify-content: flex-start;
}

.gallery-thumbs .swiper-slide {
    opacity: 0.4;
    width: 24.9%;
    height: auto;
    padding: 3px 0 0 3px;
	line-height: 0;
	box-sizing: border-box;
}

.gallery-thumbs .swiper-slide-thumb-active {
	opacity: 1;
}

.swiper-slide img {
	width: 100%;
	height: auto;
	-ms-transform: translate(-50%, -50%);
	-webkit-transform: translate(-50%, -50%);
	-moz-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	position: relative;
	left: 50%;
	top: 50%;
}

.swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
    background-color: var(--e-global-color-5b6b604);
}

.swiper-button-next:after, .swiper-button-prev:after {
	color: var(--e-global-color-secondary);
}

/* Car Grid */

.grid-search {
	display: grid;
	column-gap: 0;
	grid-template-columns: 1fr 1fr;
	grid-template-rows: auto auto;
	grid-template-areas: "search-form search-form"
								"search-results search-results";
}

.grid-search .search-form,
.grid-search .search-results {
	padding: 0.5em;
}

.search-form {
	grid-area: search-form;
}

.search-results {
	grid-area: search-results;
}

/* Search Form */

.grid-search .search-form .form-group {
	margin: 0;
	flex: 0 0 19.6%;
	max-width: 50%;
	padding: 6px;
}

.filter-small {
    flex: 0 0 11.1% !important;
}

span.tap-search {
    font-size: 0.8em;
    display: block;
}

.grid-search input,
.grid-search select {
	width: 100%;
	padding: 0.3rem 1rem;
	height: 45px;
	/*
	background-color: var(--contrast-3);
	color: var(--base-3);
	*/
	border: 1px solid;
	border-radius: 12px;
	font-weight: 700;
	font-size: 16px;	
}

.grid-search .search-form .form-group label {
	border-bottom: 0;
	margin-bottom: 0;
	padding: 0px 0px 2px 2px;
	color: var(--contrast);
    text-transform: initial;
	font-weight: 500;
	padding-left: 8px;
	display: none;
}

.grid-search .filter-row,
.grid-search .filters {
	display: flex;
	flex-direction: row;
	justify-content: flex-start;
	align-items: stretch;
	align-content: stretch;
	flex-wrap: wrap;
}

.search-dealers {
    flex: 0 0 100% !important;
    max-width: 100% !important;
}

.search-buttons {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
}

.grid-search .btn-clear {
	color: var(--e-global-color-accent);
    background-color: var(--e-global-color-a56b4dd);
}

.searchByAccessory {display: none;}

.results-found {
    display: inline-block;
    font-size: 16px;
}

.more-cars {
	border: solid 1px;
	padding: 6px 15px;
}

/* Pagination */

.pagination-container {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	align-content: stretch;
}

.pagination-container .pagination {
	margin: 0;
	flex-wrap: wrap;
	justify-content: center;
}

.pagination>li>a,
.pagination>li>span {
	color: var(--e-global-color-primary) !important;
    background-color: var(--e-global-color-secondary);
    border-color: var(--e-global-color-accent);
    border-radius: 50%;
    padding: 8px 8px!important;
    height: 35px;
    width: 35px;
    text-align: center;
}

.pagination>.active>a,
.pagination>.active>a:focus,
.pagination>.active>a:hover,
.pagination>.active>span,
.pagination>.active>span:focus,
.pagination>.active>span:hover {
	background-color: var(--base-2);
	/*background-color: var(--e-global-color-accent);*/
}

.carview-pagination-links {
	display: flex;
}

/* Sorting */

.grid-search .controls {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
}

.controls h1, .controls > div {
	margin-bottom: 10px;
}

.controls h1 {
	margin-bottom: 0;
	margin-right: 15px;
}

.results-title {
	display: flex;
	flex-direction: row;
	justify-content: flex-start;
	align-items: center;
}

.sorting-container {
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	justify-content: flex-start;
	align-items: center;
}

.sorting-form {display: flex;}

.sorting-form select {
	margin-right: 8px;
}

/* Listings */

.auto-grid {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: flex-start;
	align-items: stretch;
	align-content: stretch;
}

.auto-grid > div,
.home .recent-vehicles > div {
	flex-basis: 33.3%;
}

.recent-vehicles > div {
	flex-basis: 50%;
}

.auto-listing {
	border: 0;
	position: relative;
	cursor: pointer;
	overflow: hidden;
	box-sizing: border-box;
	text-align: left;
	line-height: 1.2;
	padding: 1.5em 1.5em 1.5em 0;
}

.auto-listing a {
	text-decoration: none;
	display: block;
}

.auto-listing .image {
	width: 100%;
	margin: 0;
	padding-top: 66%;
	height: auto;
	overflow: hidden;
	position: relative;
}

.auto-listing .listing-image {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
}

.auto-listing .inner {
	position: relative;
}

.auto-listing .inner div {
	display: block;
}

.auto-listing .price {
   position: relative;
   font-size: 35px;
   line-height: normal;
}

/*
.auto-listing .monthly {
	display: block;
}
*/
	
.auto-listing .trim {
	min-height: 60px;
}

.auto-listing .dealer {
	font-size: 14px;
}

.tags {
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	align-items: center;
	align-content: center;
	justify-content: center;
	height: 70px;
}

.tags > div {
	flex-basis: 33.3%;
}

.tags > div > span {
	display: block;
}
	
.auto-listing .trim {
	min-height: 40px;
}

.auto-listing .contact {
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	align-content: center;
	justify-content: space-between;
}

.auto-listing .contact a {
    width: 48%;
    text-align: center;
    border: solid 1px;
    padding: 10px 20px;
}

/* Media Queries */

@media (min-width: 768px) {
	.hide-dt {display: none;}
	.auto-grid > div {flex-basis: 33.3%;}
	.recent-vehicles > div {flex-basis: 50%;}
}

@media (max-width: 767px) {
	.tm5 {margin-top: 2.5px;}
	.tm10 {margin-top: 5px;}
	.tm15 {margin-top: 7.5px;}
	.tm20 {margin-top: 10px;}
	.tm30 {margin-top: 15px;}
	.tm40 {margin-top: 20px;}
	.tm50 {margin-top: 25px;}
	.tm60 {margin-top: 15px;}
	.tm70 {margin-top: 35px;}
	.tm80 {margin-top: 40px;}
	.tm90 {margin-top: 45px;}
	.tm100 {margin-top: 50px;}
	.bm5 {margin-bottom: 2.5px;}
	.bm10 {margin-bottom: 5px;}
	.bm15 {margin-bottom: 7.5px;}
	.bm20 {margin-bottom: 10px;}
	.bm30 {margin-bottom: 15px;}
	.bm40 {margin-bottom: 20px;}
	.bm50 {margin-bottom: 25px;}
	.bm60 {margin-bottom: 30px;}
	.bm70 {margin-bottom: 35px;}
	.bm80 {margin-bottom: 40px;}
	.bm90 {margin-bottom: 45px;}
	.bm100 {margin-bottom: 50px;}
	.tp5 {padding-top: 2.5px;}
	.tp10 {padding-top: 5px;}
	.tp15 {padding-top: 7.5px;}
	.tp20 {padding-top: 10px;}
	.tp30 {padding-top: 15px;}
	.tp40 {padding-top: 20px;}
	.tp50 {padding-top: 25px;}
	.tp60 {padding-top: 30px;}
	.tp70 {padding-top: 35px;}
	.tp80 {padding-top: 40px;}
	.tp90 {padding-top: 45px;}
	.tp100 {padding-top: 50px;}
	.bp5 {padding-bottom: 2.5px;}
	.bp10 {padding-bottom: 5px;}
	.bp15 {padding-bottom: 7.5px;}
	.bp20 {padding-bottom: 10px;}
	.bp30 {padding-bottom: 15px;}
	.bp40 {padding-bottom: 20px;}
	.bp50 {padding-bottom: 25px;}
	.bp60 {padding-bottom: 30px;}
	.bp70 {padding-bottom: 35px;}
	.bp80 {padding-bottom: 40px;}
	.bp90 {padding-bottom: 45px;}
	.bp100 {padding-bottom: 50px;}

	.hide-mb {display: none;}
	.single-line {white-space: inherit;}
	.text-large {font-size: 18px;}
	.car-info {margin-left: 0 !important;}

	.grid-search input, .grid-search select {height: 30px;}
	.auto-listing {padding: 0 0 2em 0;}
	.auto-grid > div {flex-basis: 100%;}
	.grid-search .form-group,
	.grid-search .filter-small {
		flex: 0 0 50% !important;
	}
	.grid-search .search-form .form-group label {font-size: 15px;}

	.Car-Gallery {
		grid-template-columns: 1fr;
		grid-template-rows: auto auto;
		grid-template-areas: "Gallery-Main" "Gallery-Thumbs";
	}

	.gallery-thumbs .swiper-slide {width: 20%; padding: 1px;}
	.car-price {font-size: 36px;}
	.car-price .car-monthly {font-size: 22px;}
	.car-actions button, .car-actions a {width: 100%;}
	.Car-Info .tags {flex-wrap: wrap;}
	.Car-Specs ul {column-count: 1;}
	.Car-Accessories ul {column-count: 1;}
	.Car-Description .description {column-count: 1;}
	.Car-Info .contact > div {flex-basis: 100%;}
	.tags {height: auto; padding: 10px; font-size: 85%;}
	.Car-Info .tags > div {
		flex-basis: 33.3%; padding-bottom: 10px;}
}