* {
	-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, 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;
}
a {text-decoration:none;}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section {
	display: block;
}
body {
	line-height: 1;
}
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 {
	border: none;
	border-radius: 0;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}

/*=== END RESET ===*/
::-moz-selection {
    background: #000;
    color: #fff;
    text-shadow: none;
}
::selection {
    background: #000;
    color: #fff;
    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%;}
h1 {
	font-family: 'Big Shoulders Stencil Text', cursive!important;
	font-weight: 700;
}
h2, h3, h4, h5, h6 {
	font-weight: 400;
}
body {
	font-family: 'Barlow', sans-serif;
}
hr{border:#000 1px solid;}
.button-container {gap: 20px;}
button {
	cursor: pointer;
	font-size: 16px;
	padding: 8px 15px;
	font-weight: bold;
}
button.primary {
	border: 2px solid #ebdc2e;
	background-color: #ebdc2e;
	color: #000000;
	transition: all ease .5s;
	padding: 13px 30px;
}
button.primary:hover {
	background-color: #ffffff;
}
button.secondary {
	border: 2px solid #000000;
	background-color: #000000;
	color: #ffffff;
	width: 100%;
	transition: all ease .5s;
	padding: 13px 30px;
}
button.secondary:hover {
	background-color: #ffffff;
	color: #000000;
}
button.outline {
	border: 2px solid #000000;
	background-color: #ffffff;
	color: #000000;
	transition: all ease .5s;
	padding: 13px 30px;
}
button.outline:hover {
	border: 2px solid #ebdc2e;
}

/*=== GLOBAL ===*/
.flex-container {
	display: flex;
}
.flex-vertical {
	flex-direction: column;
}
.flex-horizontal {
	flex-direction: row
}
.flex-width {
	flex-grow: 1;
	flex-shrink: 1;
	flex-basis: 100%;
}
.flex-height {
	height: 100%;
}
.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;
}

.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;
}

.text-left {
	text-align: left;
}
.text-center {
	text-align: center;
}
.text-right {
	text-align: right;
}

.clickable {
	cursor: pointer;
}

.mobile-only {
	display: none;
}

.max-width {
	max-width: 1366px;
	width: 90%;
	margin: 0 auto;
}
.logo {
	width: 100px;
}

/*=== BUTTON GROUP ===*/
.button-group {
	gap: 10px;
}
.button-group img {
	margin-right: 15px;
    max-height: 35px;
    width: 100px;
}
.button-group div {
	gap: 20px;
}
.button-group button {
	padding: 0 30px;
	font-size: 22px;
	height: 60px;
    align-items: center;
	font-family: 'Big Shoulders Stencil Text', cursive;
}
.button-group button svg {
	margin-right: 15px;
    max-height: 35px;
    width: 100px;
}

/*=== HEADER ===*/
.site-header, .custom-site-footer {
	font-weight: 400;
	font-style: normal;
	color: #3c3f43;
	font-size: 18px;
	line-height: 25px;
	font-family: 'Barlow', sans-serif!important;
}
.site-header i, .custom-site-footer i {
	border-radius: 50%;
    border: 1px solid #000000;
    padding: 8px;
    font-size: 15px;
	width: 33px;
	height: 33px;
	text-align: center;
}
.site-header .top-nav {
	background-color: #ebdc2e;
	padding: 15px 0;
}
.site-header .top-nav i {
	margin-right: 10px;
	background-color: #ffffff;
}
.site-header .top-nav .inventory-search {
    max-width: 33%;
}
.site-header .top-nav .inventory-search input {
	height: 33px;
	border: 1px solid #000000;
    border-radius: 50px;
	padding: 0 15px;
}
.site-header .nav-group i {
	color: #ffffff;
	background-color: #000000;
	margin-left: 10px;
}
.site-header .nav-group {
	padding: 15px 0;
}
.site-header .nav-group  {
	padding: 15px 0;
}

/*=== PAGE STYLES ===*/
/*=== DEFAULT-PAGE ===*/
.cta {
	background-image: linear-gradient(rgba(255, 255, 255, 0.75), rgba(255, 255, 255, 0.75)), url('/siteart/cranes.jpg');
	background-position: center;
	background-size: cover;
	padding: 40px 0;
	border-top: 2px solid #000000;
	border-bottom: 2px solid #000000;
}
.cta .logo {
	margin-bottom: 20px;
	width: 150px;
}
.cta h1 {
	font-size: 48px;
	line-height: 48px;
}
.cta h2 {
	font-size: 26px;
    margin: 20px 0 75px;
	line-height: 26px;
}
.cta .button-group div button.primary  {
	fill: #000000;
	color: #000000;
}
.cta .button-group div button:hover {
	fill: #000000;
}
.cta .button-group div button {
	width: calc(33% - 7px);
	fill: #ffffff;
}
.cta, .about {
	font-weight: 400;
	font-style: normal;
	color: #3c3f43;
	font-size: 18px;
	line-height: 25px;
}
.about {
	padding: 75px 0;
	border-bottom: 2px solid #000000;
}
.about h2 {
	font-family: 'Big Shoulders Stencil Text', cursive;
	margin-bottom: 15px;    
	font-size: 32px;
    line-height: 32px;
	font-weight: 700;
}
.about .button-container {
	margin-top: 15px;
}
.about .button-container button {
	width: calc(33% - 6px);
}

/*=== CONTACT-US.HTM ===*/
.contact-us-page h2 {
	font-family: 'Big Shoulders Stencil Text', cursive;
	margin-bottom: 15px;    
	font-size: 32px;
    line-height: 32px;
	font-weight: 700;
}
.contact-us-page .contact-form {
	padding: 50px 0;
}
.contact-us-page .contact-form p {
	padding-bottom: 40px;
}

/*=== FOOTER ===*/
footer.custom-site-footer {
	background-color: #f2f2f2;
	font-size: 14px;
}
footer.custom-site-footer .map {
	line-height: 0;
}
footer.custom-site-footer .logo-column {
	margin: 20px 30px 20px 5%;
}
footer.custom-site-footer .logo-column .logo {
	width: 125px;
	margin-bottom: 10px;
}
footer.custom-site-footer .logo-column a:not(:last-of-type) {
	margin-right: 10px;
}
footer.custom-site-footer .yellow-section {
	background-color: #ebdc2e;
}
footer.custom-site-footer .button-group {
	margin: 30px 5% 30px 20px
}
footer.custom-site-footer .bottom-footer-bar {
	font-size: 16px;
	font-weight: normal;
	color: #3c3f43;
	background-color: #ffffff;
	padding: 10px 0;
}
footer.custom-site-footer .button-group div button  {
	fill: #ffffff;
}
footer.custom-site-footer .button-group div button:hover {
	fill: #000000;
}

/*=== RESPONSIVE ===*/
@media only screen and (max-width: 830px) {
	.mobile-only {
		display: flex;
	}
	.desktop-only {
		display: none;
	}
	.flex-horizontal {
		flex-direction: column;
	}

	/*=== HEADER.HTM ===*/
	.site-header .top-nav .inventory-search {
		max-width: 100%;
	}
	.site-header .top-nav .inventory-search input {
		width: 100%;
	}

	/*=== DEFAULT-PAGE ===*/
	.cta .button-group div {
		gap: 10px;
	}
	.cta .button-group div button {
		width: 100%;
	}
	.cta .button-group div button.primary {
		justify-content: flex-start;
	}
	.cta .button-group div button.primary p {
		justify-content: flex-start;
		flex-grow: 1;
		flex-shrink: 1;
		flex-basis: 100%;
	}
	.about .button-container button {
		width: 100%;
	}
}

@media only screen and (max-width: 785px) {
	/*=== FOOTER.HTM ===*/
	footer.custom-site-footer .bottom-bar {
		padding: 10px 0 100px;
	}
}

@media only screen and (max-width: 585px) {
	footer.custom-site-footer .button-group {
		flex-direction: column;
	}
	footer.custom-site-footer .button-group button {
		padding: 0 15px;
	}
}