/**
* bugfix for chrome mobile
*/
body{
    -webkit-animation: bugfix infinite 1s;
}
@-webkit-keyframes bugfix{
    from{
        padding: 0;
    }
    to{
        padding: 0;
    }
}

/**
* mobile menu trigger
*/
label[for="toggleNav"]{
    background-color: #009933;
    border-bottom-left-radius: 5px;
    cursor: pointer;
    height: 40px;
    position: fixed;
    right: 0;
    top: 0;
    width: 55px;
    z-index: 2;
}
label[for="toggleNav"] span:after{
    top: 65%;
}
label[for="toggleNav"]:after{
    top: 45%;
}
label[for="toggleNav"]:before{
    top: 25%;
}
label[for="toggleNav"]:before,
label[for="toggleNav"]:after,
label[for="toggleNav"] span:after{
    content: '';
    left: 25%;
    position: absolute;
    right: 24%;
    height: 4px;
    background-color: #ffffff;
    border-radius: 1px;
}
.toggleNav{
    clip: rect(0, 0, 0, 0);
    position: absolute;
    right: 0;
    top: 0;
}
.toggleNav,
.toggleNav + label,
.toggleNav ~ .pageWrapper{
    transition: right 0.4s;
}
.toggleNav:checked,
.toggleNav:checked + label,
.toggleNav:checked ~ .pageWrapper{
    right: 265px;
}

/**
* mobile/default menu items
*/
.mainMenu{
	clear: right;
	float: right;
	font-family: "freight-sans-pro",sans-serif;
	font-weight: 400;
	list-style: none;
	margin: 0;
	padding: 10px;
	position: relative;
	text-align: left;
	width: 265px;
}
.mainMenu > li{
	border-bottom: 1px solid #ffffff;
}
.mainMenu a{
	color: #FFFFFF;
	cursor: pointer;
	display: block;
	font-size: 14px;
	font-size: 1.4rem;
	line-height: 1;
	padding: 8px 15px 8px 15px;
	position: relative;
	text-align: left;
	text-decoration: none;
}
.mainMenu a:hover,
.mainMenu a:active{
	/*color: #009933;*/
    /*color: #363636;*/
}
.mainMenu li{
	cursor: pointer;
	display: block;
	padding: 0;
	position: relative;
	width: 100%;
}
.mainMenu li.hasChild > a{
	width: 85%;
}
.mainMenu ul{
	background-color: #00a930;
	border-top: 1px solid #ffffff;
	display: none;
	left: 0;
	list-style: none;
	margin: 0;
	padding: 0;
}
.mainMenu ul ul{
    background-color: #00b333;
    border-top: 1px solid #009c2c;
}
.mainMenu ul a{
	padding-left: 25px;
}
.mainMenu ul ul a{
	padding-left: 40px;
}
.mainMenu ul a:hover{
	color: #ffffff;
}
.mainMenu ul li:last-child{
	border-bottom: none;
}
.openSubMenu,
.openSubSubMenu{
    cursor: pointer;
    display: block;
    position: absolute;
    right: 0;
    text-align: center;
    top: 0;
    width: 15%;
    z-index: 99999;
    bottom: 0;
    background-color: #007b23;
    max-height: 30px;
}
.openSubSubMenu{
    background-color: #008e28;
}
.mainMenu ul li{
    border-bottom: 1px solid #009933;
}
.openSubMenu:after,
.openSubSubMenu:after{
	border-color: #FFFFFF rgba(0, 0, 0, 0);
	border-style: solid;
	border-width: 5px 5px 0 5px;
	content: '';
	display: inline-block;
	height: 0;
	margin: auto;
	width: 0;
}
#desktopNavigation{
	display: none;
}
#mobileNavigation{
	bottom: 0;
	left: 0;
	position: relative;
	right: 0;
	top: 0;
	width: 100%;
	z-index: 0;
}

/**
* desktop menu items
*/
@media only screen and (min-width: 1080px){
    .mainMenu{
        margin: -55px 0 0 0;
        padding: 0;
        position: relative;
        text-align: right;
        width: 100%;
        height: 66px;
    }
    .mainMenu > li{
        border: none;
        display: inline-block;
        height: 100%;
        padding: 0 20px 0 20px;
        width: auto;
    }
    .mainMenu > li > a:first-child{
        height: 100%;
        position: relative;
        white-space: nowrap;
        z-index: 100;
        padding-bottom: 43px;
        height: 60px;
    }
    .mainMenu > li:last-child{
        padding-right: 0;
    }
    .mainMenu ul li:first-child{
        padding-top: 10px;
    }
    .mainMenu ul li:last-child{
        padding-bottom: 10px;
    }
    .mainMenu > li.parent-here > a,
    .mainMenu > li.here > a,
    .mainMenu > li:hover > a,
    .mainMenu ul a:hover,
    #machines .mainMenu #desktopNavigationMenu-machines > a,
    #parts .mainMenu #desktopNavigationMenu-parts > a{
        color: #009933;
    }
    .mainMenu a{
        font-size: 17px;
        font-size: 1.7rem;
        padding: 0 0 5px 0;
    }
    .mainMenu a:hover,
    .mainMenu a:active{
        color: #009933;
    }

    .mainMenu > li:hover > ul{
        display: block;
    }
    .mainMenu ul{
        background-color: transparent;
        border: none;
        left: -5px;
        min-width: 230px;
        position: absolute;
        z-index: 999;
    }
    .mainMenu ul ul{
        display: none;
    }
    .mainMenu ul a{
        color: #363636;
        font-size: 18px;
        font-size: 1.8rem;
        padding: 14px 15px 14px 15px;
    }
    .mainMenu ul li{
        border-bottom: 1px solid #363636;
        background-color: #ececec;
    }
    .mainMenu ul li:first-child:before{
        border-color: transparent transparent #ececec transparent;
        border-style: solid;
        border-width: 0 13px 15px 13px;
        content: "";
        height: 0;
        left: 20%;
        margin-left: -15px;
        position: absolute;
        top: -15px;
        width: 0;
    }
    .toggleNav,
    label[for="toggleNav"],
    #desktopNavigation a[href$="/home"],
    #mobileNavigation{
        display: none;
    }
    .toggleNav:checked + label,
        .toggleNav:checked ~ .pageWrapper{
        right: 0;
    }
    #desktopNavigation{
        display: block;
        margin: 0 0 0 200px;
        position: relative;
        text-align: left;
        width: auto;
    }
    #desktopNavigation > li:last-child{
        padding-right: 0;
    }
    #desktopNavigationMenu-support > a:after {
	    position: absolute;
        content: '';
        bottom: 0;
        height: 5px;
        width: 100%;
        left: 0;
        background-color: #ffffff;
        display: block;
	}
	#desktopNavigationMenu-support ul li a {
	    border-bottom: none;
	}
	#desktopNavigationMenu-blog > a:after {
        position: absolute;
        content: '';
        bottom: 0;
        height: 5px;
        width: 100%;
        left: 0;
        background-color: #009933;
        display: block;
	}
    #desktopNavigationMenu-support:hover > a:after{
        display: none;
	}
}
