﻿/***** BEGIN RESET *****/

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, font, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td {
	background: transparent;
	border: 0;
	margin: 0;
	padding: 0;	
}

ol, ul {
	list-style: none;
}

table{border-collapse:collapse; width:100%;}
td{vertical-align:top;}

/* Make HTML 5 elements display block-level for consistent styling */  
header, nav, article, footer, address {  
    display: block;  
} 

/*-------- COLORS --------

*/

/***** END RESET *****/
::-moz-selection {
    background: #000; 
    color: #fff;
    text-shadow: none;
}
::selection {
    background: #000;
    color: #fff;
    text-shadow: none;
}


/* Clearfix */
.cf:before,
.cf:after {
    content: " ";
    display: table;
}
.cf:after {
    clear: both;
}
.cf {
    *zoom: 1;
}

/*-------- BODY STYLES --------*/

body {
	background-color: #F2F2F2;
}

a:link, a:visited, a:active {text-decoration:none;}
a:hover {text-decoration:none;}


hr{border:#000 1px solid;}


.oswald-xl {
	font-family: "oswald", sans-serif;
	font-weight: 200;
	font-style: normal;
}
.oswald-light {
	font-family: "oswald", sans-serif;
	font-weight: 300;
	font-style: normal;
}
.oswald-reg {
	font-family: "oswald", sans-serif;
	font-weight: 400;
	font-style: normal;
}
.oswald-med {
	font-family: "oswald", sans-serif;
	font-weight: 500;
	font-style: normal;
}
.oswald-semib {
	font-family: "oswald", sans-serif;
	font-weight: 600;
	font-style: normal;
}
.oswald-bold {
	font-family: "oswald", sans-serif;
	font-weight: 700;
	font-style: normal;
}
.oswald-hevreg {
	font-family: "oswald", sans-serif;
	font-weight: 800;
	font-style: normal;
}
.neue-haas {
	font-family: "neue-haas-grotesk-display", sans-serif;
	font-weight: 600;
	font-style: italic;
}


.uppercase {
	text-transform: uppercase;
}
.italic {
	font-style: italic;
}

.black {
	color: #222222;
}
.black-bg {
	background-color: #222222;
}
.grey-bg {
	background-color: #F3F3F3
}
.white {
	color: #fff;
}
.white-bg {
    background-color: #fff;
}
.green {
	color: #037830;
}
.green-bg {
	background-color: #037830;
}

.marg {
	margin: 0 auto;
}
.wid95 {
	width: 95%;
}
.wid90 {
	width: 90%;
}
.wid85 {
	width: 85%;
}
.wid80 {
	width: 80%;
}

.breadcrumbs {
    display: flex;
    font-size: 15px !important;
    color: #403f3b !important;
    padding: 3% 0 2%;
    flex-wrap: wrap;
    align-items: center;
    letter-spacing: 0.05em;
    gap: 10px;
    font-family: "oswald", sans-serif;
}
.breadcrumbs a {
    display: inline-block;
    padding: 12px;
    border-radius: 5px;
    border: solid 1px #cbcbcb;
    color: #403f3b;
    font-size: 15px !important;
    font-family: "oswald", sans-serif;
}


p.oswald-light {
	font-size: 18px;
	letter-spacing: 0.5px;
	line-height: 25px;
}

.slick-list {
    position: relative!important;
    overflow: hidden!important;
    display: block!important;
    margin: 0!important;
    padding: 0!important;
    max-width: 100% !important;
}
/*--- HEADER STYLES ---------------------*/
header {}


.header-wrap {
    display: flex;
    align-items: flex-start;
    width: 100%;
}
.header2-wrap {
    display: flex;
    align-items: flex-start;
    width: 100%;
}
.head-logo {
    margin-left: 50px;
    margin-top: 10px;
}
.head-logo img {
    width: 100%;
}
.head-contact {
    width: 250px;
}
.head-phone a {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 12px;
    color: #fff;
}
.head-contact p {
    color: #fff;
    font-family: 'oswald';
    text-transform: uppercase;
    font-weight: 500;
    text-align: center;
    letter-spacing: 1px;
}
.header-wrap .head-phone, .header-wrap .head-location {
    padding: 15px;
	width: 200px;
}
.header2-wrap .head-phone, .header2-wrap .head-location {
    padding: 22px;
	width: 200px;
}
.header-wrap .head-location {
    position: absolute;
    z-index: 0;
    height: 655px;
}
.header2-wrap .head-location {
    position: relative;
    z-index: 0;
}


/*---BODY--------------------------------*/

.flex-container {
	display: flex;
	align-items: center;
}

.center {
	text-align: center;
}

.header-wrap .hero-wrap {
    display: flex;
	align-items: center;
    position: relative;
	margin-top: -30px;
}
.header2-wrap .hero-wrap {
    display: flex;
	align-items: center;
    position: relative;
	margin-top: -30px;
}
.hero-wrap {
    display: flex;
    align-items: center;
	margin-top: -1.2vw;
}
.hero-text {
    display: flex;
}
.hero-text h1 {
    font-size: 3.5vw;
    line-height: 3.5vw;
    margin-bottom: 30px;
}
.hero-text h2 {
    font-size: 20px;
	margin-bottom: 30px;
	line-height: 25px;
}
a.button-gr i {
    margin-left: 10px;
    transition: all .2s ease-in-out;
}
a.button-gr:hover i {
    margin-left: 15px;
    transition: all .2s ease-in-out;
}
.onethird {
    flex-basis: 33%;
    display: flex;
    align-items: flex-start;
    flex-direction: column;
	padding: 0 35px;
}
.twothird {
	flex: 1;
    overflow: hidden;
    display: flex;
    align-items: center;
	border-radius: 15px 0 0 15px;
	z-index: 5;
}
.side-socials {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 4.5vw;
    font-size: 25px;
    padding: 20px;
	border-radius: 0px 15px 15px 0;
	height: 400px;
	z-index: 999;
}
.home-slide {
    display: flex;
}
.home-slide img {
    margin-right: auto;
    margin-left: auto;
    display: block;
    width: 100%;
}
.manus-wrap {
    background-color: #fff;
	margin-top: 25px;
	padding: 25px 0;
	z-index: 10;
    position: relative;
}
a.slick-slide {
    background-color: #fff;
}

.equip-ctas-bg {
	background-image: url("../siteart/cranes-gn.png");
    min-height: 680px;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
	background-color: #000;
    display: flex;
	position: relative;
}
.ctas-wrap {
    display: flex;
	width: 100%;
}
.home-cta {
    flex: 1;
	font-size: 40px;
	height: 100%;
	transition: all .2s ease-in-out;
	align-content: flex-end;
}
a.home-cta:hover {
    backdrop-filter: brightness(0.7);
    transition: all .2s ease-in-out;
}
.border-rt {
    border-right: #ffffff solid 2px;
}
a.home-cta p {
	margin-left: 30px;
    margin-bottom: 50px;
    line-height: 50px;
    margin-right: 25px;
}
.about-text h3, .connect-wrap h3 {
    font-size: 40px;
	line-height: 45px;
}
.about-text p {
    font-size: 18px;
	margin: 15px 0 30px;
	letter-spacing: 0.5px;
	line-height: 25px;
}
.home-about .wid90.marg {
    display: flex;
    align-items: center;
	margin: 100px auto 50px;
    border-bottom: 2px solid #707070;
    padding-bottom: 75px;
}
.about-logos {
    display: flex;
	gap: 25px;
    margin-left: 50px;
}
.connect-wrap {
    display: flex;
}
.connect-aside.green-bg {
    display: flex;
    position: absolute;
    z-index: 0;
    height: 70%;
    border-radius: 0px 15px 0 0;
    width: 425px;
}
.connect-wrap h3 {
    padding: 25px 0;
	inline-size: max-content;
}
.connect-row {
    position: relative;
    display: flex;
    flex-direction: row;
    align-items: flex-end;
	justify-content: space-between;
	margin-bottom: 50px;
}
.bg-img-wrap img {
    width: 100%;
}
.img-socials {
    position: relative;
	background: url("../siteart/connect-img.jpg") no-repeat;
    background-size: cover;
	background-color: #000;
	height: 590px;
    box-sizing: border-box;
    background-position: center;
    width: 240%;
}
.soc {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 4.5vw;
    font-size: 30px;
    padding: 35px;
    border-radius: 0px 15px 15px 0;
    position: absolute;
    top: 0;
    bottom: 0;
}
.connect-right {
    display: flex;
    gap: 50px;
    margin-left: -5vw;
	margin-bottom: 40px;
    align-items: center;
}
.embed-wrap {
    flex: 1;
	display: flex;
}
.fb2 {
	display: none;
}
.inv-wrap.white-bg {
    padding: 3%;
    background-color: #fff;
}



.products-hero {
	background-image: url("../siteart/products-hero2.png");
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
	background-color: #000;
    display: flex;
	position: relative;
	min-height: 400px;
}
.subpage-wrap .wid90.marg {
    align-self: center;
}
.subpage-wrap h1 {
    font-size: 60px;
}
hr.green {
    border: #037830 1px solid;
    width: 100px;
}
.products-hero hr, .service-hero hr, .slide-overlay hr {
    display: inline-block;
    margin: 20px auto;
}
.products-wrap {
    display: flex;
    flex-wrap: wrap;
    margin: 100px auto;
    gap: 20px;
}
.prod {
    flex: 1;
    background: #fff !important;
    border: none !important;
    box-shadow: rgba(0, 0, 0, 0.3) 0px 3px 8px !important;
    border-top: solid #037830 6px !important;
    padding: 3% !important;
	justify-items: center;
}
.prod p {
    padding: 25px;
	font-size: 18px;
	letter-spacing: 0.5px;
}


.service-hero {
	background-image: url("../siteart/service-hero3.png");
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
	background-color: #000;
    display: flex;
	position: relative;
	min-height: 400px;
}
.services-wrap {
    margin-top: 50px;
}
.services-wrap h3 {
    font-size: 23px;
    margin-bottom: 8px;
}
.serv-wrap {
    display: flex;
    gap: 30px;
    padding: 50px;
}
.serv-deets {
    padding: 50px;
}
.serv {
    flex: 1;
	display: flex;
	gap: 25px;
}
.serv-text h4 {
    font-size: 35px;
	margin-bottom: 8px;
}
.serv span.material-symbols-outlined {
    font-size: 60px;
}
.serv-bottom-wrap {
    margin-top: 100px;
	    margin-bottom: -50px;
}
.serv-imgs {
    display: flex;
	gap: 2px;
    justify-content: space-between;
    margin-bottom: 2px;
}
.serv-imgs div {
    display: flex;
}
.serv-imgs img {
    max-width: 100%;
    width: 100%;
}
.serv-banner.green-bg h4 {
    font-size: 30px;
    color: #F2F2F2;
    text-align: center;
    padding: 50px 20px;
    letter-spacing: 1px;
	margin-bottom: 50px;
}
.repairs-col {
    display: flex;
    gap: 100px;
	margin-left: 20px;
}
.repairs-col ul {
    line-height: 28px;
    font-size: 18px;
    font-style: italic;
}



.slick-slide img {
    display: block!important;
	width: 100%!important;
}
.inv-header .slick-slide img {
    filter: brightness(0.4)!important;
	min-height: 350px;
    object-fit: cover;
}
.slider-wrap {
    position: relative!important;
}
.slide-overlay {
    position: absolute;
    z-index: 10;
    position-area: center;
    width: 90%;
}
.slide-overlay h2 {
    font-size: 60px;
}
.slide-overlay p {
    font-size: 24px;
    margin-top: 10px;
	line-height: 28px;
}


.lube-a-boom-hero {
	background-image: url("../siteart/lube-a-boom-hero.png");
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
	background-color: #000;
    display: flex;
	position: relative;
	min-height: 300px;
}



/*--------FORM STYLES--------------------*/

.services-request-wrap {
    border: none !important;
    box-shadow: rgba(0, 0, 0, 0.3) 0px 3px 8px !important;
    border-top: solid #037830 6px !important;
    padding: 7.1% !important;
    padding-left: 7.1% !important;
    padding-right: 7.1% !important;
	margin-bottom: 100px;
}
.services-request-wrap h2 {
    font-size: 40px;
    margin-bottom: 30px;
}
.custom-form input, .custom-form select {
    padding: 10px;
    border: 1px solid #c2c2c2;
    font-size: 16px;
    margin-top: 10px;
    border-radius: 2px;
    background: #fefefe;
    box-sizing: border-box;
    font-family: "oswald", sans-serif;
	color: #5e5e5e;
	width: 100%;
}
.custom-form textarea {
    width: 100%;
    display: flex;
    padding: 10px;
    border: 1px solid #c2c2c2;
    font-size: 16px;
    margin-top: 10px;
    border-radius: 2px;
    background: #fefefe;
    box-sizing: border-box;
    font-family: "oswald", sans-serif;
	color: #5e5e5e;
}
.custom-form .flex {
    width: 100%;
    display: flex;
	gap: 10px;
}
button.cta {
    padding: 20px 50px;
    text-transform: uppercase;
    color: #fff;
    cursor: pointer;
    transition: .3s all;
    font-size: 15px;
    font-weight: 600;
    letter-spacing: 1px;
    background-color: #037830;
    border: none;
}
.CaptchaPanel {
    margin: 10px 0px 10px 0px;
    text-align: center;
    padding: 10px;
    font-family: "oswald", sans-serif;
}
.CaptchaWhatsThisPanel a {
    color: #037830;
}
form.custom-form {
    text-align: center;
}
input#CaptchaAnswer {
    width: 250px;
}
.CaptchaMessagePanel {
    padding: 5px 5px 10px 5px;
    font-weight: 500!important;
}
.CaptchaAnswerPanel {
    justify-self: center!important;
}


.item {
    display: flex;
    align-items: center;
    background-color: #F2F2F2;
    padding: 10px 40px 10px 10px;
    text-align: left;
    font-family: "oswald", sans-serif;
    font-weight: 300;
    line-height: 22px;
	width: 100%;
	margin-bottom: 10px;
}
.item input {
    width: 100px;
}
.total {
    margin: 25px 0;
    text-align: left;
    border-bottom: 1px solid #eee;
    padding: 25px 0;
}



/*-------- FOOTER STYLES ----------------*/
footer{}

.foot {
    padding: 75px 0;
}
.foot-menu {
    margin: 25px 0;
}
.foot-menu ul li {
	display: inline-block;
    margin: 0;
    list-style-type: none;
    width: auto;
}
.foot-menu ul li a {
    color: #fff;display: block;
    font-size: 16px;
    line-height: 24px;
    padding: 2.5vw;
    text-transform: uppercase;
    margin: 0;
    text-align: center;
}
.foot .wid90.marg {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
}
.foot-contact {
    display: flex;
	margin: 25px 0;
}
.foot-contact i {
    font-size: 24px;
    padding: 17px;
    border: 1px solid #fff;
}
.foot-logo img {
    max-width: 500px;
    width: 100%;
    padding: 15px;
}

/*----INVENTORY STYLES - KEEP AT BOTTOM OF CSS----*/

.rental-details {
    padding: 50px 0;
    text-align: center;
    font-size: 18px;
}





/*---------- RESPONSIVE STYLES ----------*/

@media only screen and (max-width: 1450px) {
	.header-wrap .head-location {
		height: inherit;
	}
	.side-socials {
		height: 300px;
		padding: 15px;
	}
	.hero-wrap {
		margin-top: 5px;
	}
	.slide-overlay {
		position-area: top;
		margin-top: 10vw;
	}
}
@media only screen and (max-width: 1249px) {
	.ctas-wrap {
		flex-direction: column;
	}
	.border-rt {
		border-bottom: #ffffff solid 2px;
		border-right: none;
	}
	.home-cta {
		place-content: center;
		font-size: 30px;
	}
	a.home-cta p {
		line-height: 35px;
		margin: auto;
        text-align: center;
	}
	.img-socials {
		background: none;
		place-self: center;
		position: relative;
		height: auto;
		margin-bottom: 20px;
	}
	.connect-row {
		flex-direction: column;
	}
	.connect-wrap h3 {
		color: #000;
	}
	.connect-row {
		align-items: center;
	}
	.soc {
		flex-direction: row;
		position: relative;
		padding: 0!important;
		display: flex;
	}
	.soc i {
		color: #037830;
    	border-radius: 0;
    	position: relative;
	}
	.connect-wrap {
		display: flex;
		width: 90%;
		margin: 0 auto;
}
	.connect-aside.green-bg {
		display: none;
	}
	.connect-right {
		flex-wrap: wrap;
		margin: 0 auto 40px;
		justify-content: center;
		width: 90%;
	}
	.embed-wrap {
		justify-content: center;
	}
	.about-logos {
		flex-wrap: wrap;
	}
	.bg-img-wrap {
		margin: 0 auto;
	}
	.serv {
		flex-direction: column;
	}
}
@media only screen and (max-width: 1149px) {
	.head-contact {
		display: none;
	}
	.header-wrap {
		justify-content: space-between;
		align-items: center;
	}
	.side-socials {
		position: absolute;
    	z-index: 10;
	}
	.onethird {
		flex-basis: 100%;
		position: absolute;
		z-index: 10;
		padding: 0 80px 0 5vw;
	}
	.twothird {
		flex: 1;
		overflow: hidden;
		display: flex;
		align-items: center;
		border-radius: 0;
		z-index: 5;
		position: relative;
	}
	.hero-text h1 {
		color: #fff !important;
	}
	.hero-text h2 {
		color: #fff !important;
		font-size: 18px;
	}
	.hero-text a.button-gr.neue-haas.green.uppercase {
		border: 1px solid #fff;
		padding: 15px 20px;
		background-color: #fff;
		color: #037830;
	}
	.home-slide img {
		filter: brightness(0.6);
		min-height: 500px;
		object-fit: cover;
	}
	.side-socials {
        height: 170px;
		position: absolute;
        right: 0;
		border-radius: 10px 0 0px 10px;
		gap: 3.7vw;
    }
	.hero-text h1 {
		font-size: 40px;
		line-height: 45px;
		margin-bottom: 15px;
	}
	.head-logo img {
		width: 100px;
	}
	.fb1 {
		display: none;
	}
	.fb2 {
		display: contents;
	}
	.img-socials {
		width: auto;
	}
	.header2-wrap {
		align-items: center;
		justify-content: space-between;
	}
	
	.slide-overlay p {
		font-size: 18px;
		line-height: 22px;
	}
}
@media only screen and (max-width: 1000px) {
	.repairs-col {
		flex-direction: column;
		gap: 0;
	}
}
@media only screen and (max-width: 900px) {
	.serv-wrap {
		flex-direction: column;
	}
	.custom-form .flex {
		flex-direction: column;
	}
	.slide-overlay h2 {
		font-size: 40px;
		line-height: 45px;
	}
	.slide-overlay p {
        font-size: 16px;
        line-height: 20px;
    }
}
@media only screen and (max-width: 800px) {
	.home-about .wid90.marg {
		flex-direction: column;
	}
	.about-logos {
		margin: 30px 0 0 0;
	}
}
@media only screen and (max-width: 500px) {
	.foot-menu ul {
		display: flex;
		flex-direction: column;
		justify-content: center;
	}
	.foot .wid90.marg {
		flex-direction: column;
	}
	.foot-logo img {
		max-width: 250px;
	}
}