﻿
.clear{clear:both;}
@import url('https://fonts.googleapis.com/css2?family=Barlow:wght@100;200;300;400;500;600;700;800&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Outfit:wght@100..900&display=swap');
/***** Start of primary nav ******/
#menu-button{display: none;}
nav.mobile {display:none;}
.nav-background {position: relative;}
.wrap-header {width:100%; display: flex;}
.header-nav {flex-grow: 1;}

nav.primary {
	display:flex;
	justify-content: space-between;
	margin: 0 auto;
	position: relative;
	padding-right: 0px !important;
	}
	nav.primary ul {
		margin:0; 
		padding:0;
		float:right;
		position: absolute;
    	right: 0;
    	top: 30%;
		padding-right: 50px;
		}
		nav.primary ul li {
			display:inline-block;
			margin:0;
			list-style-type:none; 
			width:auto;
			position: relative;
			}
			nav.primary ul li a {
				color:#000;
				font-size:17px !important;
				line-height:20px;
				text-decoration:none;
				position:relative;
				display:block;
				margin:0px 2px;
				text-align:center;
				text-transform:uppercase;
				-webkit-transition:.4s ease-in;  
				-moz-transition:.4s ease-in;  
				-o-transition:.4s ease-in;  
				transition:.4s ease-in;	
				font-weight:600;
				padding:10px;
				font-family: "Outfit", sans-serif;
				cursor: pointer;
				}	
			nav.primary ul li a:hover {
				background: var(--orange);
				color:#fff;
				}
nav.primary ul li a i {color: var(--orange)!important; margin-left: 5px;}
nav.primary ul li a:hover i {color: #fff!important;}
			/* Appearance of the sub-level links */
			nav.primary ul li li a { 
				font-size:17px;
				letter-spacing: .2px;
				line-height:24px;
				padding:10px;
				color:#000;
				background-color: var(--grey);
				text-align:left;
				border-left: #de3202 solid 4px;
			}
			/* Appearance of the sub-level links on hover */
			nav.primary ul li li a:hover { 
				color: #fff;
				background-color: var(--orange);
			}
/* This controls the Primary nav dropdowns for sublinks. Should not have to edit this too muuch */
nav.primary ul ul {
    display: none;
    position: absolute; 
	left: 0;
    top: 100%;
}
nav.primary ul ul ul {
    position: absolute; 
    left: 100%;
    top:0; 
}
nav.primary ul li:hover > ul {  
    display: block;
    line-height:18px; 
    z-index: 1000;
}
nav.primary ul ul li {
    float: none; 
	width: 220px;
    position: relative;
    margin:0;
	display: block;
}

/*Search Form (from plpequipment.com)*/
@keyframes dropIn {
  from {
    transform: translateY(-10px);
	  opacity: 0;
  }

  to {
    transform: translateY(0px);
	  opacity: 1;
  }
}
@keyframes dropOut {
  from {
    transform: translateY(0px);
	  opacity: 1;
  }

  to {
    transform: translateY(10px);
	  opacity: 0;
  }
}
.search-form{
	display: block;
	padding: 20px 200px 20px;
	background: var(--grey);
}
.search-form form{
	position: relative;
	margin: 0 !important;
}
.search-form input{
	display: block!important;
	background: #fff;
	width: 100%!important;
	padding: 20px !important;
	font-family: 'golos-text', sans-serif!important;
	border: none !important;
	line-height: 24px !important;
	font-size: 20px !important;
	box-sizing: border-box!important;
	height: auto !important;
}
.search-form button{
	position: absolute;
	right: 0;
	top: 0;
	bottom: 0;
	padding: 20px 24px !important;
	background: var(--orange) !important;
	border: none !important;
	outline: none !important;
	line-height: 24px !important;
	font-size: 25px !important;
	transition:.4s ease-in;
	cursor: pointer;
	color: #fff;
}
.search-form button:hover {background: #000!important;}
.search-square {
	font-size: 25px;
	font-weight: 700;
	color: #fff;
	padding: 30px;
	transition:.4s ease-in;	
	cursor: pointer;
}
.search-square:hover {
	color: #000;
}

.head-btn-desktop {
	background-color: var(--orange);
	position: relative;
	display: flex; justify-content: center; align-items: center;
	margin-bottom: -20px;
}
.head-btn-desktop:after {
	position: absolute;
	display: block;
	height: 100%;
	width: 40px;
	background-color: var(--orange);
	content: "";
	clip-path: polygon(100% 0%, 100% 0%, 100% 100%, 0% 100%);
	top: 0;
	right: 100%;
}

/** header styles **/
.my-site-header {background: #000; padding-top: 10px; padding-bottom: 10px; padding-right: 50px !important;}
.my-site-header .wrapper {justify-content: space-between; gap: 30px;}
.my-site-header .wrapper .flex:first-child {gap: 15px;}
.my-site-header .wrapper .flex:last-child {gap: 50px;}
.my-site-header a {color: #fff; font-family: "Outfit", sans-serif; font-size: 17px; transition: all .4s ease-in-out;}
.my-site-header a:hover {color: var(--orange);}
.my-site-header a span {margin-left: 10px;}

.logo-desktop .logo-bobcat img {max-width: 200px; width: 100%;}
.logo-desktop .logo-brand img {max-width: 150px; width: 100%;} 
.logo-desktop .logo-toro img {max-width: 130px; width: 100%;}
.logo-desktop {align-items: center;gap: 30px;margin-top: 10px;margin-bottom: 10px; padding-right: 40px;}
.logo-desktop .flex {gap: 15px; align-items: center;}
.logo-desktop .flex hr {margin: 0; border: #000 solid 1px; height: 90px;}

nav.primary .grey-background {text-align: right; width: 100%; height: auto; max-width: 1100px; position: relative;}
nav.primary .grey-background:before {content: ""; position: absolute; display: block; width: 100%; max-width: 1100px; height: 100%; 
	clip-path: polygon(5% 0%, 100% 0%, 100% 100%, 0% 100%);
	background-color: var(--grey);
}

@media screen and (max-width: 1630px)  {
	nav.primary ul li a{padding:7px;}	
}

@media screen and (max-width: 1490px)  {
	.logo-desktop .logo-bobcat img {max-width: 180px;}
	.logo-desktop .logo-brand img {max-width: 120px;}
	.logo-desktop .logo-toro img {max-width: 100px; width: 100%;}
	.logo-desktop .flex hr {height: 60px;}
}

/******** End of primary Nav ***************/

@media screen and (max-width: 1430px)  {
	
/*==============================
	Mobile Nav Styles			
================================*/	
	.grey-background {display:none;}
#menu-button{ 
	display: inline-block;
	font-size: 24px;
	z-index: 400; /* needs to be lower than nav.mobile, adjust as needed */
	text-align: right;        
	padding: 0 15px 0 0;
	}
	#menu-button a{
		 color:#fff;
		 text-decoration: none;
		 font-weight:700;
		font-size: 40px;
		cursor: pointer;
		line-height: 1;
	  }
nav.mobile {
	display:block;
	position: fixed;
	top: 0;
	left: -250px;
	width: 250px;
	height: 100%;
	background: var(--grey);
	z-index: 500; /* needs to be higher than #menu-button, adjust as needed */
	overflow:auto;
}

/* MENU CLOSE 'X' BUTTON */
nav.mobile .menu-toggle {
	position: absolute;
	padding: 3px 8px 3px;
	font-family: Arial, sans-serif;
	font-size:24px;
	font-weight: bold;
	line-height: 1;
	color: #000;
	text-decoration: none;
	top: 38px;
	right:13px;
	cursor: pointer;
}
nav.mobile .menu-toggle:hover { /* Menu close button on hoveer */
	color: var(--orange);
}

/* MENU LIST STYLE */
nav.mobile ul {
	list-style: none;
	font-weight: 300;
	margin:0;
	padding:0;
}
nav.mobile ul li {
	position:relative;
}
	
	.top-ul {margin-top: 100px!important;}

/* FIRST LEVEL */
nav.mobile ul li a {
	position: relative;
	display: block;
	font-size:17px;
	padding: 15px;
	color: #000;
	text-decoration: none;
	border-left:4px #DE3202 solid;
	text-align: left;
	font-family: "Outfit", sans-serif;
	cursor: pointer;
	font-weight: 500;
}
nav.mobile ul li a:hover {
	background:var(--orange); 
	color: #fff; 
}

/* SECOND LEVEL */
nav.mobile ul li li:last-child {border:none;}
nav.mobile ul li li a {
	background: #DEDCDC;
	position: relative;
	display: block;
	padding: 15px;
	border-left:none;
	color: #000;
	text-decoration: none;
}
nav.mobile ul li li a:hover {background:var(--orange);}


	nav.mobile ul li .fa-chevron-down{color:var(--orange)!important; margin-left: 10px;}
	nav.mobile ul li a:hover .fa-chevron-down {color: #fff!important;}
}

@media only screen and (min-width: 2000px) {
	.nav-background {max-width: 1830px; margin: 0 auto;}
	.head-btn-desktop:after {margin-right: -1px;}
}

@media screen and (max-width:770px){
	.my-site-header {display: none;}
}

@media screen and (max-width:700px){
	.my-site-header .wrapper .flex:last-child {gap: 30px;}
	.search-form {padding: 40px 15px;}
}

@media screen and (max-width:660px){
	.logo-desktop, .logo-desktop .flex {gap: 10px;}
}

@media screen and (max-width:530px){
	.search-square {padding: 20px; font-size: 23px;}
}

@media screen and (max-width:500px){
	.logo-desktop .flex hr {height: 40px;}
}

@media screen and (max-width:380px){
	.search-square {padding: 15px;}
	.logo-desktop, .logo-desktop .flex {gap: 5px;}
	.logo-desktop .flex hr {height: 30px;}
	.logo-desktop {padding-right: 15px;}
	.head-btn-desktop:after {width: 10px;}
}