﻿@charset "UTF-8";

/* RESET 
------------------------------------------------*/
* {margin:0; padding: 0; border: 0; outline: 0; background: transparent;}
	

/* GLOBAL SITE FRAMEWORK
------------------------------------------------*/
body {font-size:100%; font-family: "archivo", sans-serif !important; background:#f8f7f2;}


/* SELECTION */	
::selection {color:#131313; background: #efd417;}
::-moz-selection {color:#131313; background: #efd417;}


/* CLEAR */
.clear {clear: both;}

/* HEADERS */
/*Remove or simplify font-weight and font-height */
h1, h2, h3, h4 ,h5 ,h6 {line-height: normal;}
h1 {font-size:26px; font-weight:normal;}
h2 {font-size:24px; font-weight:normal;}
h3 {font-size:20px; font-weight:normal;}
h4 {font-size:18px; font-weight:normal;}
h5 {font-size:16px; font-weight:normal;}
h6 {font-size:24px; font-weight:700;}


/* PARAGRAPH/LIST/GENERAL TEXT */

/* LINKS */
a{-webkit-transition:.5s ease-in; -moz-transition:.5s ease-in; -o-transition:.5s ease-in; transition:.5s ease-in;}
a:link, a:visited {color:inherit; text-decoration:none;}
a:hover, a:active {color:inherit; text-decoration:none;}

a[href^="tel:"] {color:inherit;  text-decoration: none;}

/* IMAGES */
img {display:block;}

/* TEXT EMPHASIS */
em {font-style:italic;}
strong {font-weight: 700;}

/* TEXT STYLINGS */
.dark {color:#131313;}
.gray {color:#4F4F4F;}
.heavy {font-weight:800;}

/* ALIGNMENT */
.left {float:left;}
.right {float:right;}
.center {text-align:center;}




/* LINKS / BUTTONS
------------------------------------------------*/	
a.yellow-button {display:inline-block; padding:20px 25px; font-weight:600; text-transform:uppercase; color:#090909; border-radius:5px; background:#efd417; transition:all .5s ease;}
a.yellow-button:hover {color:#fff; background:#4b2324;}

a.whata-maroon {display:inline-block;  padding:20px 25px;; font-weight:600; text-transform:uppercase; color:#fff; border-radius:5px; background:#4b2324; transition:.5s ease;}
a.whata-maroon:hover {color:#090909; background:#efd417;}



/* HEADER
------------------------------------------------*/	
.site-header {/*position:absolute; width: 100%; height:160px;*/ display:flex; flex-flow:row wrap; align-items:center; justify-content:space-between; padding:1rem 13% .5rem 13%; border-bottom:1px #e3ddde solid; background:#fdfdf9;}
.hero .site-header {position:absolute; flex-flow:column wrap; justify-content: flex-start; box-sizing:border-box; width: 100%; height:160px; border:0; background:transparent;}		


/* HEAD CONTACT
------------------------------------------------*/	
.head-contact {display:flex; flex-flow:row wrap; align-items:center; justify-content:flex-end; font-size:22px;}
.head-contact a {color:#333;}
a.social-link {display:inline-block; width:30px; margin:0 0 0 20px; padding:0; font-size:30px; line-height:28px; text-align:center; color:#efd417; border-radius:50px; background:#4b2324;}
.head-contact a.mobile-link {display:none;}

.hero .head-contact {margin: 0 0 0 auto;}
.hero .head-contact a {color:#fff;}
.hero .head-contact a.social-link {color:#efd417; background:transparent;}


/* LOGO
------------------------------------------------*/	
.logo a {display:flex; flex-flow:row wrap; align-items:center; color:#4b2324;}
.logo img {width:60px; overflow:visible;}
.logo span {margin:0 0 0 .9rem; font-size:1.5rem; font-weight:900; text-transform: uppercase;
	
}

.hero .logo {position: absolute; top:25px; left:9.375%;}
.hero .logo img {filter:brightness(0) invert(100%); width:100%; max-width:249px;}	
/*.hero .logo a span {display:none;}*/
.hero .logo a span {color: #fff;}



/*  NAVIGATION
------------------------------------------------*/
#menu-button{display:none;}
nav.mobile {display:none;}

nav.primary {/*z-index:500;*/ position:relative; width:100%; margin:10px 0 0 0; padding:0;}

nav.primary ul {display:flex; flex-flow:row wrap; align-items:center; justify-content:space-between; margin:0; padding:0;}
nav.primary ul li {margin:0; padding:0; list-style-type:none; }
				
nav.primary ul li a {
	display:block; margin:0; padding:12px 10px; font-size:20px; line-height:1; font-weight:600; text-align:center; text-decoration:none; text-transform:uppercase; color:#232323; transition:.5s ease-in;	
}	

nav.primary ul li a.drpdwn::after{content:'+'; position:absolute; z-index: -1; top:10px; right:-15px; font-size:18px; font-weight:800; color:#6d1219;}

nav.primary ul li a:hover {color:#121212;}

nav.primary ul li a[href^="tel:"] {font-weight: 900; color:#4b2324;}

/*  SUB NAV
------------------------------------------------*/
nav.primary ul li li {width: 250px;}
nav.primary ul li li {width: 250px;}
nav.primary ul li li a:link, nav.primary ul li li a:visited{
	width: 250px; padding:15px 0; font-size:.94em; line-height:18px; text-indent:20px; text-align:left; color:#fff; border:0; background: #181818;
}

nav.primary ul li li a:hover,nav.primary ul li li a:active {line-height:18px; color:#fff; background:#058fce;}

/*  NAV DROPDOWNS
------------------------------------------------*/
nav.primary ul ul {display: none; position: absolute;} 
nav.primary ul ul ul {position: absolute; left: 100%; top:0;}
nav.primary ul li:hover > ul {display: block; line-height:18px; z-index: 500;}
nav.primary ul ul li {float: none; position: relative; margin:0;}


.hero nav.primary {width:auto; margin:10px 0 0 auto;}
.hero nav.primary ul li a {color:#fff;}



/*  HERO
------------------------------------------------*/	
.hero {position:relative; height:750px; width:100%; background-image: url("../siteart/fridge-truck.jpg");background-repeat: no-repeat;background-position:center; background-size: cover;background-color:#000;}
.hero:before {content:''; z-index:0; position:absolute; top:0; left:0; width:100%; height:100%; background: #211414;
background: linear-gradient(0deg,rgba(33, 20, 20, 0.71) 0%, rgba(37, 37, 34, 0.81) 100%);}


/*  HERO OVERLAY
------------------------------------------------*/	
.hero .hero-overlay {position:absolute; left:13%; bottom:117px; color:#eaeaea;}
.overlay-title {position:relative; font-size: 113px; font-weight:800;text-transform: uppercase}
.overlay-title:after {content:'';position:absolute; bottom:10px; left:90px; width:210px; height:12px; background: #efd417;}
.overlay-subtitle {margin: 0 0 0 92px; font-size:47px; font-weight:200;}


/*  SEARCH BAR
------------------------------------------------*/	
.quick-search-bar {
	position:relative; z-index:5; 
	display:flex; flex-flow:row wrap; align-items: center;
	width:96%; max-width:1200px; margin:-74px auto; padding:38px; background:#fff; box-sizing: border-box;
}
.quick-search-title {font-size:16px; line-height:19px; text-align: right; font-weight:400; color:#666;}
.quick-search-title strong {font-weight:900; letter-spacing:.5px; color:#666;}
.quick-link-search form.search-form {width:calc(100% - 130px);}



/*  MAIN
------------------------------------------------*/	
.main {
	position:relative; z-index:0; margin:0; padding:5rem 8.5%;
	/*background: url("/siteart/catrock-equipment-logo-background.svg") no-repeat; background-size: 930px 907px; background-position:108.5% 5%;*/
}

.home-main {
	display:flex; flex-flow:row wrap;  justify-content:space-between;
	margin:0; padding:0; box-shadow:inset 0 13px 54px rgba(0,0,0,0.4); background-position:-8.5% 2%;
}


.inv-main {padding:2rem 5%; background:#f5f5f4;}
.sub-main {display:flex; flex-flow:row wrap; justify-content:center;}
.simple-main {text-align:center;}



/*  ARTICLE
------------------------------------------------*/
article h1 {margin:0 0 1.5rem 0; font-size:calc(2.05rem + 1vw); line-height:1.15; font-weight:800; text-transform: uppercase; color:#211414; }
article h2 {margin:0 0 2rem 0; font-size:calc(1.6rem + 1vw); line-height:1.15; font-weight:600;}
article h3 {margin:0 0 .75rem 0; font-size:33px; line-height:1.15; font-weight:600;}
article h4,.contact-pg h3 {margin:0 0 .75rem 0; font-size:28px; line-height:1.15; font-weight:600;}
article p {font-size: 23px; line-height:33px; font-weight:300;}


.sub-main article { order:2; width:55%; margin:2.5% 0 5% 0;}

.sub-main .site-form {order:3; align-self:flex-start; width:40%; margin:0 0 0 5%;}

.main-mobile-hero {display:none;}
.main-desktop-hero {order:1; width:35%; min-height: 800px; margin: 0 5%; border-radius:30px; overflow:hidden;}
.main-desktop-hero img,
.main-mobile-hero img {width: 100%; height: 100%; object-fit: cover;}


a.social-link-body {display:inline-block;margin:.5rem 0 0 0; padding:12px; font-size:33px; line-height:33px; color:#4b2324; border:1px #4b2324 solid; border-radius:50px;}
a.social-link-body:hover {color:#302f2f;}


/*  COMPANY INTRO
------------------------------------------------*/	
.company-intro {width:45%; max-width:850px; margin:10.5rem 5% 6rem auto;}
.company-intro h2{margin:0 0 1rem 0; font-size:60px; line-height:54px; font-weight:900; font-style:italic; text-transform: uppercase; color:#241b1b;}
.company-intro h3{margin:0 0 3rem 0; font-size:33px; line-height:1; font-weight:300; font-style:italic;color:#3f3f3f;}
.company-intro p{font-size: 24px; line-height:36px; font-weight:300; color:#302f2f;}
.company-intro p a {font-weight: 700;}

.intro-brands {display:flex; flex-flow:row wrap; align-items:center; justify-content:space-around; margin:3rem 0;}
.intro-brands a {margin:10px;}


/*  PRODUCT HIGHLIGHT
------------------------------------------------*/	
.product-highlight {/*position:absolute;*/ align-self: flex-end; z-index: 5; /*bottom:-7.5rem; left:-8px;*/ margin:0 0 -7.5rem -8px; width:45.5%; max-width:860px; border-top-left-radius:160px; border-bottom-right-radius:160px; overflow:hidden;}
.product-highlight img {width:100%; object-fit: cover;}


/*  CATEGORY SECTION
------------------------------------------------*/	
.category-section {display:flex; flex-flow:row wrap; /*align-items:center;*/ justify-content:center; padding:300px 0 33px 0; background: #232121; background: linear-gradient(90deg, rgba(35, 33, 33, 1) 0%, rgba(42, 35, 35, 1) 100%);}

.cat-item {display:flex; flex-flow:row wrap; align-items:center; justify-content:space-between; box-sizing:border-box; padding:15px; border-radius:2px; transition:.3s ease-in;}

.cat-body {display:flex; flex-flow:column; align-items:flex-start; justify-content:space-around; align-self: flex-end; box-sizing:border-box; width:calc(48% - 30px); /*height:calc(100% - 160px);*/ margin:60px 0 60px 30px;}
.cat-body .cat-title {font-size:51px; line-height: 54px; font-weight:600; text-transform:uppercase;}
.cat-body p {font-size:18px; line-height: 25px;}
.cat-body p:first-of-type {margin:1rem 0 5% 0;}
.cat-body p:nth-of-type(n+2) {margin:auto 0 20% 0;}

.cat-image {width:46%; height:100%; margin:0 0 0 auto; overflow:hidden;}
.cat-image img {width:100%; height:100%; object-fit: cover;}

.cat-item:first-of-type {/*width:940px;*/ width:80%; margin:0 1.5% 0 0; color:#fafafa; border-top-left-radius:20px; border-bottom-left-radius:20px; background:#50504f;}
.cat-item:first-of-type .cat-image {overflow:hidden; border-top-left-radius:20px; border-bottom-left-radius:20px;}

.cat-item:nth-of-type(n+2) {/*width:550px;*/  width:28%; color:#fafafa;background: #4C2425; background: linear-gradient(18deg, rgba(76, 36, 37, 1) 0%, rgba(64, 36, 35, 1) 100%);}
.cat-item:nth-of-type(n+2) .cat-body {justify-content:flex-end; width:calc(100% - 60px); /*height:calc(100% - 160px);*/}
.cat-item:nth-of-type(n+2) .cat-body p {margin: 0 0 1rem 0;}
.cat-item:nth-of-type(n+2) .cat-image {display:none;}
.cat-item:nth-of-type(n+2) a.yellow-button:hover {background:#50504f;}

  
/*  SCROLLING INVENTORY
------------------------------------------------*/
.scrolling-wrap {margin:12rem 0 0 0; width:100%; height:90px; overflow:hidden;}
.scrolling{width:100%; height:90px;}


/*  FOOTER
------------------------------------------------*/
.site-footer {display:flex; flex-flow:row wrap; justify-content:space-between; padding:125px 13% 60px 13%; font-weight:300; color:#d6d6d6; background:#131313;}
.site-footer a:hover {color:#fff;}

.foot-contact {margin:0 25px 0 0; max-width:425px;}
.foot-contact h6 {color:#fafafa;}

.foot-nav {display:flex; flex-flow:row wrap; align-items: flex-start; justify-content:space-between; /*justify-content: flex-end;*/ width:100%; max-width: 260px;}
.foot-nav span {color:#9c9c9c}
.foot-nav ul {list-style:none;}
.foot-nav ul li {font-size:18px; line-height:32px;}

.foot-copyright {width:100%; margin:8.5rem 0 0 0; font-size:15px; text-align:right; font-weight:300; color:#9c9c9c; border-top:1px #2c2c2d solid;}
.foot-social {display:inline-block; vertical-align: sub; padding:12px; font-size:33px; color:#fff;}


/************************************************ Responsive Styles **/

@media screen and (max-width: 1400px) {
	.hero .logo img {max-width:167px;}	
	.hero nav.primary ul li a {font-size:18px;}
	.home-main {flex-flow:column-reverse wrap;justify-content:space-between;}
	.company-intro {width:60%; max-width:100%;}
	.product-highlight {align-self: flex-start; width:75%; max-width:100%;}
	.cat-body .cat-title {font-size:calc(16px + 2vw ); line-height: 1;}
}

@media screen and (max-width: 1285px) {
	.hero .site-header {padding:1rem 5% .5rem 5%;}	
	.hero .logo {left:5.5%}
	.cat-item:first-of-type {width:57%;}
	.cat-item:nth-of-type(n+2) {width:38.5%;}
}

@media screen and (max-width: 1185px) {
	.site-header {padding:1rem 5% .5rem 5%;}
	.hero .logo {left:4.5%}
	.hero .logo img {max-width:115px;}		
}

@media screen and (max-width: 1024px) {
	.site-header {padding:1rem 5% .5rem 5%;}	
	.hero .logo img {max-width:100px;}	
}

@media screen and (max-width:985px) {
	.site-header {padding:0;}	
	.site-header .logo {order:2; margin:1rem 0 1rem 2.5%}
	.site-header .head-contact {order:1; justify-content:space-between; width:100%; padding:.75rem 1rem; background:#212121;}
	.site-header .head-contact a {color:#fff;}
	.site-header .head-contact a.mobile-link {display:inline-block; font-weight: 900;}
	.site-header a.social-link {display:inline-block; margin:0; padding:8px; color:#efd417; background:transparent;}
	.site-header #menu-button{order:3;}
	
	.hero .site-header {position:absolute; box-sizing:border-box; flex-flow:row wrap; width: 100%; height:160px; padding:0; border:0; background:transparent;}		
	.hero .logo {position: relative; top:auto; left:auto;}
	.hero .logo img {max-width:150px;}	
	
	nav.primary{display:none;}
	#menu-button{display: block; margin:0 2.5% 0 0; font-size: 1.25em; line-height:1; position: relative;  /*z-index:400;*/ cursor:pointer;}
	#menu-button a{display:inline-block; color:#111; text-decoration: none; padding:1rem; font-weight:700; border:1px #111 solid; border-radius:3px;}
	
	.hero .site-header {align-items:center;}
	.hero #menu-button {align-self: flex-start; margin:25px 2.5% 0 auto;}
	.hero #menu-button a{color:#fff; border:1px #fff solid;}
	
	nav.mobile ul li a .fa{
		width:25px;
		font-weight:100;
		padding:8px 3px;
		margin:0 0 0 5px;
		text-align:center;
		background:#292929;
		-webkit-border-radius: 30px;
		-moz-border-radius: 30px;
		border-radius: 30px;
		text-shadow: 1px 1px 1px rgba(0,0,0,0.3);
	}
	
	nav.mobile ul li .fa-chevron-down {position:absolute; right:10px; margin:18px 0 0 0;}

	nav.mobile {
		display:block;
		position: fixed;
		top: 0;
		right: -285px;
		width: 285px;
		height: 100%;
		z-index: 500;
		overflow:auto;
		padding-bottom:40px;
		background:#333;
	}
	
	/* MENU HEADER SOCIAL MEDIA */
	nav.mobile .social-media {
		position: absolute;
		text-decoration: none;
		vertical-align: top;
		z-index:9999;
		display: inline-block;
		
		top: 15px;
		left: 15px;
		font-size:16px;
		word-spacing:13px;
		color: #ccc !important;
	}
	
	nav.mobile .social-media a:link, nav.mobile .social-media a:visited {color:#ccc; text-decoration:none;}
	nav.mobile .social-media a:hover, nav.mobile .social-media a:active {color:#fff; text-decoration:underline;}
	
	/* MENU HEADER STYLES */
	nav.mobile .menu-header {	
		color: #ccc;
		padding: 23px 0;
		position: relative;
		font-size: 18px;
		background:#313131;
	}			
	nav.mobile .menu-title {position: absolute; vertical-align: top; top: 16px; right: 47px; text-transform:uppercase; font-size:12px; color: #ccc;}
		
	/* MENU CLOSE 'X' BUTTON */
	nav.mobile .menu-toggle {position: absolute; top: 8px; right: 10px; padding: 6px 9px 5px; display: inline-block; font-weight: 700; font-size: 18px; line-height: 1; color: #ccc; text-decoration: none; vertical-align: top; cursor:pointer; font-family: Arial, sans-serif;}
	nav.mobile .menu-toggle:hover {color: #fff;}
	
	/* MENU LIST STYLE */
	nav.mobile ul {list-style: none; font-weight: 300; margin:0; padding:0;}
	nav.mobile ul li {color: #999; font-size:15px; border-bottom: 1px solid #303030;}
	
	/* FIRST LEVEL */
	nav.mobile ul li a {
		color: #999;
		position: relative;
		display: block;
		font-size:15px;
		text-align:left;
		text-decoration: none;
		border-left:4px #333 solid;
		padding: 15px 35px 15px 20px;
		text-shadow: 1px 1px 1px rgba(0,0,0,0.3);
	}
	nav.mobile ul li a:hover {background:rgba(45,45,45,0.5); color: #fff; border-left:4px #efd417 solid;}
	
	/* SECOND LEVEL */
	nav.mobile ul li li:last-child {border:none;}
	nav.mobile ul li li a {color: #ccc; background: #444; border-left:4px #444 solid; padding: 15px 10px 15px 15px;}
	nav.mobile ul li li a:hover {background:rgba(65,65,65,0.5);}
	
	/* THIRD LEVEL */
	nav.mobile ul li li li:last-child {border:none;}
	nav.mobile ul li li li a {color: #ccc; background: #555; border-left:4px #555 solid;}
	nav.mobile ul li li li a:hover {background:rgba(85,85,85,0.5);}	
	
	.hero {height:650px; background: url(/siteart/dump-truck-lineup-mobile.webp) no-repeat center; background-size: cover;}
	
	.company-intro {width:90%; margin: 10.5rem 5% 6rem 5%;}
	.product-highlight {margin: 0 0 0 -8px; width: calC(100% + 8px); max-width:110%; border-bottom-right-radius: 0;}
	
	.category-section {padding: 8rem 0 33px 0;}
	.cat-item {display:flex; flex-flow:column; align-items:center; justify-content:space-between; width:100% !important; /*padding: 3.5rem 5%;*/ border-radius:0 !important;}
	.cat-body {width:calc(100% - 60px) !important; margin:60px 30px !important;}
	.cat-body .cat-title {font-size:calc(30px + 2vw); line-height: 1;}
	.cat-image {width: 100%; height:370px;  border-bottom-left-radius:0 !important; border-top-right-radius: 20px; border-top-left-radius: 20px;}
	.cat-item:first-of-type {margin:0 0 3% 0;}
	.cat-body p:first-of-type {margin:1rem 0;}
	.cat-item:nth-of-type(n+2) .cat-image {display:inline-block;}
	.scrolling-wrap {margin:8rem 0 0 0;}	
	
	.main-mobile-hero {display:inline-block; width:100%; margin:0 0 3rem 0; border-radius:30px; overflow:hidden;}
	.main-desktop-hero {display:none;}
	
	.sub-main article {width:100%; margin:0;}
	.sub-main .site-form {order:3; width:100%; margin:5rem 0 0;}
	
	.site-footer {flex-flow:column wrap;}
	.foot-contact {order:2; margin:0;}
	.foot-nav {order:1; margin:0 0 3rem 0;}
	.foot-copyright {order:3; padding:25px 0 0 0; text-align:center;}
	.foot-social {width:100%;}
}
	
@media screen and (max-width: 768px) {	
	.site-header .head-contact {font-size:18px;}
	.hero .hero-overlay {left: 5%;}	
	.company-intro h1{font-size: calc(16px + 6vw); line-height:1;}
}

@media screen and (max-width:600px){
	.logo img {width:125px;}
	.site-header .logo span {display:none;}
	.site-header .head-contact a span {display:none;}
	.overlay-title {font-size: 72px;line-height: 2;}
	.overlay-title:after {width:35vw;}
	.overlay-subtitle {font-size:22px;}
	.product-highlight {border-top-left-radius: 100px;}
	    .company-intro h2 {
        font-size: 48px;
        line-height: 1.25;
    }
	
	.company-intro p{font-size: 16px;}
	
	
}

@media screen and (max-width:425px){
	.hero .logo img {max-width:135px;}	
	.quick-search-bar {margin: -51px auto; padding:15px;}
	.quick-search-title {display:none;}
	.company-intro {margin: 8.5rem 5% 6rem 5%;}
	.company-intro h2 {
        font-size: 36px;
    }
	.hero .hero-overlay {left: 0;width: 90%;margin: 0 auto;text-align: center;right: 0;}
	.overlay-title {font-size: 62px;line-height: 2;}
	.overlay-subtitle {margin: 0 !important;}
}


@media screen and (max-width:330px){
	    .overlay-title {
        font-size: 48px;
        line-height: 2;
    }
}