* {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box; 
}
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video, input, select {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
	color: unset;
}
html {
	scroll-behavior: smooth;
}
a {text-decoration:none;cursor: pointer;}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section {
	display: block;
}
ol, ul {
	list-style: none;
}
blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}
button {
	cursor: pointer;
	border: none;
	border-radius: 0;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}

/*=== END RESET ===*/
::-moz-selection {
    background: #000000;
    color: #ffffff;
    text-shadow: none;
}
::selection {
    background: #000000;
    color: #ffffff;
    text-shadow: none;
}

/*=== Clearfix ===*/
.clear {clear: both;}
.cf:before,
.cf:after {
    content: " ";
    display: table;
}
.cf:after {
    clear: both;
}
.cf {
    zoom: 1;
}

/*=== ELEMENTS ===*/
img {max-width: 100%;}
body {
	font-family: "Ubuntu", sans-serif;
	font-weight: 400;
	font-style: normal;
}
strong {
	font-weight: 700;
}
h1, h2, h3, h4, h5, h6 {
	font-family: "Ubuntu", sans-serif;
	font-weight: 700;
	font-style: normal;
}
h1 {font-size: 52px;line-height: 52px;}
h2 {font-size: 36px;line-height: 36px;}
h3 {font-size: 26px;line-height: 26px;}
h4 {font-size: 18px;line-height: 20px;}
h5 {font-size: 16px;line-height: 20px;}
b {
	font-weight: 700;
}
.button-group {
	display: flex;
	flex-wrap: wrap;
	gap: 10px 10px;
	padding-top: 25px;
}
button.primary-button {
    transition: all ease .3s;
    padding: 14px 40px;
    background-color: #1f1477;
    color: #ffffff;
    border: 1px solid #1f1477;
	font-size: 16px;
	font-weight: 600;
}
button.primary-button:hover {
	background-color: #ffffff;
	color: #000000;
	border-color: #ffffff;
}
button.secondary-button {
    transition: all ease .3s;
    padding: 14px 40px;
    background-color: #ffffff;
    color: #000000;
    border: 1px solid #ffffff;
	font-size: 16px;
	font-weight: 600;
}
button.secondary-button:hover {
	background-color: #1f1477;
	color: #ffffff;
	border-color: #ffffff;
}

/*=== GLOBAL ===*/
.flex-container {
	display: flex;
}
.flex-vertical {
	flex-direction: column;
}
.flex-vertical-reverse {
	flex-direction: column-reverse;
}
.flex-horizontal {
	flex-direction: row;
}
.flex-horizontal-reverse {
	flex-direction: row;
}
.flex-width {
	flex-grow: 1;
	flex-shrink: 1;
	flex-basis: 100%;
}
.flex-height {
	height: 100%;
}
.flex-wrap {
	flex-wrap: wrap;
}
.set-width {
	flex-grow: 0;
	flex-shrink: 0;
	flex-basis: auto;
}

.justify-center {
	justify-content: center;
}
.justify-right {
	justify-content: flex-end
}
.justify-left {
	justify-content: flex-start
}
.justify-between {
	justify-content: space-between;
}
.justify-around {
	justify-content: space-around;
}
.justify-evenly {
	justify-content: space-evenly;
}

.align-center {
	align-items: center;
}
.align-top {
	align-items: flex-start;
}
.align-bottom {
	align-items: flex-end;
}
.align-all-center {
	align-items: center;
	justify-content: center;
}

.align-self-center {
	align-self: center;
}
.align-self-right {
	align-self: flex-end;
}

.text-left {
	text-align: left;
}
.text-center {
	text-align: center;
}
.text-right {
	text-align: right;
}

.left-icon {
	margin-right: 10px;
}
.right-icon {
	margin-left: 10px;
}
.clickable {
	cursor: pointer;
}

.mobile-only {
	display: none;
}

.max-width {
	max-width: 1920px;
	width: 90%;
	margin: 0 auto;
}
.hidden {
	display: none;
	transition: all ease .3s;
}
.success-message {
	color: #188d2b;
}
ul.breadcrumb {
	padding: 30px 0 5px;
	list-style: none;
	text-align: center;
}
ul.breadcrumb li {
	display: inline;
	font-size: 14px;
	line-height: 18px;
}
ul.breadcrumb li+li:before {
	padding: 8px;
	color: #ffffff;
	content: "/\00a0";
}
ul.breadcrumb li a {
	text-decoration: none;
}
ul.breadcrumb li a:hover {
	text-decoration: underline;
}
.logo-container .logo {
	width: 100%;
	max-width: 250px;
	height: 100%;
    object-fit: contain;
    object-position: center;
}
.logo-container {
	line-height: 0;
	padding: 25px clamp(50px, 5vw, 100px);
	align-self: center;
}
.paragraph {
	padding-top: 10px;
	line-height: 28px;
}
.map {
	line-height: 0;
}
.flair-container {
	gap: 10px;
	flex-wrap: wrap;
}
.flair-container .flair {
    border-radius: 5px;
    background-color: #ffffff;
    color: #000000;
    padding: 7px 15px;
    font-size: 14px;
	font-weight: 600;
}

/*=== HEADER ===*/
header.site-header .logo-container {
	background-color: #1f1477;
}
header.site-header .top-header {
	padding: 10px 5vw;
	justify-content: right;
	gap: 20px;
	font-size: 16px;
	background-color: #e2e2e2;
	align-items: center;
}
header.site-header .top-header .bbb-logo {
	max-height: 40px;
	padding-left: 15px;
	border-left: 2px solid #000000;
}
header.site-header .top-header .bbb-logo img {
	width: 105px;
}

/*=== FOOTER ===*/
footer.site-footer {
	border-top: 1px solid #dbdbdb;
}
footer.site-footer .left-footer {
	background-color: #1f1477;
	color: #ffffff;
}
footer.site-footer .left-footer .footer-nav-container {
	padding: clamp(50px, 5vw, 75px) 5vw;
}
footer.site-footer .left-footer .footer-nav-container .logo-container {
	padding: 0 clamp(50px, 5vw, 100px) 35px;
}
footer.site-footer .left-footer .footer-nav-container .footer-nav {
	gap: 5px 10px;
	font-weight: 800;
	justify-content: center;
}
footer.site-footer .bottom-footer {
	padding: 15px 0;
	font-size: 14px;
}

/*=== PAGE STYLES ===*/

/*=== SUB-PAGE ===*/
.sub-page {
	position: relative;
}
.sub-page .hero-container {
	border-top: 1px solid #e2e2e2;
	background-color: #1f1477;
	color: #ffffff;
	padding: 25px 5vw 75px;
	text-align: center;
}
.sub-page .content-container {
	padding: clamp(50px, 5vw, 75px) ;
	max-width: 1920px;
	width: 90%;
    background-color: #ffffff;
    box-shadow: 0 0 20px 0px #7f7f7f;
	margin: auto;
	position: relative;
	top: -50px;
}

/*=== DEFAULT-PAGE ===*/
.default-page .hero-container {
	position: relative;
	background: url("/siteart/engine-torn-down.jpg") no-repeat center;
	background-color: #1f1477;
	background-size: cover;
	color: #ffffff;
	padding: clamp(75px, 5vw, 100px) 0;
}
.default-page .hero-container h1 {
	text-shadow: 0 0 15px #000000;
}
.default-page .hero-container h2 {
	font-size: 28px;
	padding: 10px 20px 20px;
	font-weight: 400;
	text-shadow: 0 0 15px #000000;
}
.default-page .hero-container form {
	max-width: 600px;
	margin: 40px auto 0;
	background-color: #ffffff;
	box-shadow: 0 0 20px 0px #7f7f7f;
}
.default-page .hero-container input {
	border: unset;
}
.default-page .hero-container form .secondary-button {
	padding: 7px 15px;
}
.default-page .featured-categories {
	background-color: #e2e2e2;
	padding: clamp(75px, 5vw, 100px) 0;
	gap: clamp(25px, 5vw, 60px);
}
.default-page .featured-categories .title-block {
	padding: clamp(25px, 5vw, 50px) 5vw;
    background-color: #ffffff;
    box-shadow: 0 0 20px 0px #7f7f7f;
	align-content: center;
}
.default-page .featured-categories .title-block h2 {
	font-weight: 400;
	padding-top: 5px;
}
.default-page .featured-categories .title-block h3 {
	font-size: 16px;
	font-weight: 400;
}
.default-page .featured-categories .category {
	position: relative;
	height: 250px;
	padding: 15px;
	display: flex;
    flex-direction: column;
    color: #ffffff;
	justify-content: space-between;
}
.default-page .featured-categories .next-category, .default-page .featured-categories .back-category {
	padding: 14px 18px;
}
.default-page .featured-categories .category h4 {
	font-size: 26px;
	line-height: 26px;
}
.default-page .featured-categories .draggable > div {
	display: flex;
	gap: 25px;
}
.default-page .featured-categories .engine-slider {
	overflow: hidden;
	display: flex;
	flex-wrap: wrap;
}
.default-page .featured-categories .caterpillar {
	background: linear-gradient(to bottom, transparent 0, #000000 100%), url("../siteart/engines/C15-Motor-A.jpg") no-repeat center;
	background-size: cover; width:100%;max-width:390px;margin: 10px;
}
.default-page .featured-categories .cummins {
	background: linear-gradient(to bottom, transparent 0, #000000 100%), url("../siteart/engines/ISX15-CM2350-A.jpg") no-repeat center;
	background-size: cover;width:100%;max-width:390px;margin: 10px;
}
.default-page .featured-categories .detroit {
	background: linear-gradient(to bottom, transparent 0, #000000 100%), url("../siteart/engines/D60-127-DDEC3-A.jpg") no-repeat center;
	background-size: cover;width:100%;max-width:390px;margin: 10px;
}
.default-page .featured-categories .paccar {
	background: linear-gradient(to bottom, transparent 0, #000000 100%), url("../siteart/engines/90045B.jpg") no-repeat center;
	background-size: cover;width:100%;max-width:390px;margin: 10px;
}
.default-page .featured-categories .international {
	background: linear-gradient(to bottom, transparent 0, #000000 100%), url("../siteart/engines/DT466FullyDressed-A.jpg") no-repeat center;
	background-size: cover;width:100%;max-width:390px;margin: 10px;
}
.default-page .banner {
	background-color: #1f1477;
	color: #ffffff;
	padding: 25px;
}
.default-page .banner .banner-container {
	flex-wrap: wrap;
	gap: 10px;
	justify-content: space-between;
}
.default-page .banner h2 {
	font-weight: 400;
	align-content: center;
	font-size: 28px;
}
.default-page .parts-nav-container {
	background-color: #e2e2e2;
	padding: clamp(75px, 5vw, 100px) 0;
}
.default-page .parts-nav-container > span {
	gap: 5vw;
}
.default-page .parts-nav-container .parts-nav {
	padding: 25px 5vw;
    background-color: #ffffff;
    box-shadow: 0 0 20px 0px #7f7f7f;
    align-items: center;
	flex-direction: column;
}
.default-page .parts-nav-container .parts-nav .parts-image {
	max-height: 175px;
	width: auto;
	padding-bottom: 25px;
}
.default-page .parts-nav-container .parts-nav h3 {
	font-weight: 400;
}

@media screen and (max-width:1730px) {
	.default-page .featured-categories .caterpillar {
	background-size: cover; width:100%;max-width:250px;margin: 10px;
}
.default-page .featured-categories .cummins {
	background-size: cover;width:100%;max-width:250px;margin: 10px;
}
.default-page .featured-categories .detroit {
	background-size: cover;width:100%;max-width:250px;margin: 10px;
}
.default-page .featured-categories .paccar {
	background-size: cover;width:100%;max-width:250px;margin: 10px;
}
.default-page .featured-categories .international {
	background-size: cover;width:100%;max-width:250px;margin: 10px;
}

@media screen and (max-width:1730px) {
	.default-page .featured-categories .caterpillar {
	background-size: cover; width:100%;max-width:250px;margin: 10px;
}
.default-page .featured-categories .cummins {
	background-size: cover;width:100%;max-width:250px;margin: 10px;
}
.default-page .featured-categories .detroit {
	background-size: cover;width:100%;max-width:250px;margin: 10px;
}
.default-page .featured-categories .paccar {
	background-size: cover;width:100%;max-width:250px;margin: 10px;
}
.default-page .featured-categories .international {
	background-size: cover;width:100%;max-width:250px;margin: 10px;
}
}
@media screen and (max-width:1300px) {
	.flex-horizontal {
		flex-direction: column;
	}
	.flex-horizontal-reverse {
		flex-direction: column-reverse;
	}
	.default-page .featured-categories .engine-slider {justify-content: center;}
	
	.default-page .featured-categories {padding: clamp(25px, -55vw, 80px) 0;gap:10px;}
	.default-page .featured-categories .caterpillar {
	background-size: cover; width:100%;max-width:300px;margin: 10px;
}
.default-page .featured-categories .cummins {
	background-size: cover;width:100%;max-width:300px;margin: 10px;
}
.default-page .featured-categories .detroit {
	background-size: cover;width:100%;max-width:300px;margin: 10px;
}
.default-page .featured-categories .paccar {
	background-size: cover;width:100%;max-width:300px;margin: 10px;
}
.default-page .featured-categories .international {
	background-size: cover;width:100%;max-width:300px;margin: 10px;
}
	
	.default-page .featured-categories .title-block {padding: clamp(0px, 5vw, 50px) 5vw;}
}

@media screen and (max-width: 750px) {
	.flex-horizontal {
		flex-direction: column;
	}
	.flex-horizontal-reverse {
		flex-direction: column-reverse;
	}
	.desktop-only {
		display: none;
	}
	.mobile-only {
		display: flex;
	}

	/*=== header ===*/
	header.site-header .nav-group {
		flex-direction: column;
	}
	header.site-header .logo-container {
		width: 100%;
		text-align: center;
	}
	header.site-header .top-header {
		justify-content: center;
	}
	header.site-header .top-header .text-right {
		text-align: center;
	}

	/*=== footer ===*/
	footer.site-footer .map {
		height: 250px;
	}

	/*=== DEFAULT ===*/
	.default-page .banner .banner-container {
		flex-direction: column;
		align-items: center;
		text-align: center;
	}
	.default-page .featured-categories .engine-slider-container {
		padding: 0 5vw;
	}
	.default-page .featured-categories .title-block {
		margin: 0 5vw;
	}
}

@media screen and (max-width: 375px) {
	h1 {font-size: 48px;line-height: 48px;}
	h2 {font-size: 32px;line-height: 32px;}
	h3 {font-size: 26px;line-height: 26px;}
	h4 {font-size: 18px;line-height: 20px;}
	h5 {font-size: 16px;line-height: 20px;}

	/*=== header ===*/
	header.site-header .top-header {
		gap: 10px;
	}
	header.site-header .top-header .text-right {
		text-align: center;
	}
	header.site-header .top-header .bbb-logo {
		display: none;
	}
}