/*! HTML5 Boilerplate v5.2.0 | MIT License | https://html5boilerplate.com/ */

/*
 * What follows is the result of much research on cross-browser styling.
 * Credit left inline and big thanks to Nicolas Gallagher, Jonathan Neal,
 * Kroc Camen, and the H5BP dev community and team.
 */

/* ==========================================================================
   Base styles: opinionated defaults
   ========================================================================== */

html {
    color: #222;
    font-size: 1em;
	font-size: 100%;
    line-height: 1.5;
}

/*
 * Remove text-shadow in selection highlight:
 * https://twitter.com/miketaylr/status/12228805301
 *
 * These selection rule sets have to be separate.
 * Customize the background color to match your design.
 */

::-moz-selection {
    background: #b3d4fc;
    text-shadow: none;
}

::selection {
    background: #b3d4fc;
    text-shadow: none;
}

/*
 * A better looking default horizontal rule
 */

hr {
    display: block;
    height: 1px;
    border: 0;
    border-top: 1px solid #ccc;
    margin: 1em 0;
    padding: 0;
}

/*
 * Remove the gap between audio, canvas, iframes,
 * images, videos and the bottom of their containers:
 * https://github.com/h5bp/html5-boilerplate/issues/440
 */

audio,
canvas,
iframe,
img,
svg,
video {
    vertical-align: middle;
}

/*
 * Remove default fieldset styles.
 */

fieldset {
    border: 0;
    margin: 0;
    padding: 0;
}

/*
 * Allow only vertical resizing of textareas.
 */

textarea {
    resize: vertical;
}

/* ==========================================================================
   Browser Upgrade Prompt
   ========================================================================== */

.browserupgrade {
    margin: 0.2em 0;
    background: #ccc;
    color: #000;
    padding: 0.2em 0;
}

/* ==========================================================================
   Rubi's custom styles
   ========================================================================== */
body {
	background: #F6F6F6;
	font-family: 'Open Sans', sans-serif;
}
/* apply a natural box layout model to all elements */
*, *:before, *:after {
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
 }
/* Best practice for hiding elements from visibility:
Notes on accessible CSS image sprites by Steve Faulkner www.paciellogroup.com */
  .visually-hidden {
	position: absolute !important;
	clip: rect(1px 1px 1px 1px); /* IE6, IE7 */
	clip: rect(1px, 1px, 1px, 1px);
	padding:0 !important;
	border:0 !important;
	height: 1px !important;
	width: 1px !important;
	overflow: hidden;
}
.companyHero {
  position: relative;
  z-index: 5;
  width: 100%;
}
.companyPanel {
  position: relative;
  overflow: hidden;
  height: 0;
  max-height: 30.5625rem;
  padding-bottom: 32%;
}
.companyPanel-image {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	z-index: 1;
}
.companyPanel-header {
	position: absolute;
	top: 85%;
	left: 21%;
	width: 50%;
	background: transparent;
	z-index: 2;
}
main {
    margin: 0 auto;
    vertical-align: top;
    width: 75%;
}
.main-wrap {
	margin: 0 auto;
	max-width: 1200px;
    width: 100%;
}
#galerie main .main-wrap:first-child {
	margin-bottom: 2rem;
}
.intro {
	max-width: 60em;
}
.col-75 {
	display: inline-block;
	vertical-align: top;
	width: 70%;
}
.col-50 {
	display: inline-block;
	vertical-align: top;
	width: 50%;
}
.col-30 {
	display: inline-block;
	vertical-align: top;
	width: 33.333333%;
}
.col-25 {
	display: inline-block;
	vertical-align: top;
	width: 30%;
}
figure {
    max-width: 100%;
    vertical-align: top;
	overflow: hidden;
}
img {
	max-width: 100%;
}
.block-list {
    display: block;
    text-align: left;
	list-style: none;
	padding-left: 0;
}
.block-list li {
	display: inline-block;
	margin: 1rem;
	padding: 2rem 2rem 1rem;
	text-align: left;
	vertical-align: top;
	width: 30%;
}
#home .intro .block-list {
	margin-top: 0;
}
#home .intro .block-list li {
	width: 46%;
	padding: 1rem;
}
#occasion .block-list li {
	margin: 2rem;
	padding: 2rem 2rem 1rem;
	width: 44%;
}
#occasion .block-list li, #partner .block-list li, #cars .product-container, #home .intro:first-child {
	background: rgba(255, 255, 255, 0.9) none repeat scroll 0 0;
	border-color: rgb(238, 238, 238) rgb(221, 221, 221) rgb(187, 187, 187);
	border-radius: 5px;
	border-style: solid;
	border-width: 1px;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.15);
	padding-top: 1rem;
}
#home .intro:first-child {
	margin-top: 2rem;
}
#home .intro:first-child hr {
	margin: 0 auto;
	width: 90%;
}
#galerie .block-list li {
	padding: 0;
}
.block-list figure {
	margin: 0;
}
.block-list:after {
	content: "";
	width: 100%;
	display: inline-block;
}
#cars .main-wrap:nth-child(2) {
	margin-top: 3rem;
}
#agri .main-wrap:nth-child(2) {
	text-align: center;
}
#agri iframe {
	margin-top: 2rem;
	width: 80%;
	height: 600px;
}
.contact {
	margin-left: 5%;
}
footer {
	background-color: #363636;
	margin-top: 4rem;
	padding: 1.5em;
}
footer .main-wrap {
	max-width: 60em;
}
address, .contact {
	font-style: normal;
	font-size: 22px;
    font-size: 1.375rem;
    font-weight: 400;
}
.adr-right {
	font-size: 18px;
    font-size: 1.125rem;
}
address a {
	color: #ffe532;
}
.copy {
	text-align: center;
	text-shadow: 0.03rem 0.03rem #f9e287;
	margin-top: 1rem;
}
.copy, .copy a {
	color: #7d7d7d; 
}
#pagetop {
	display: block;
    bottom: 24px;
    right: 24px;
	width: 72px;
	height: 72px;
	position: fixed;
}
#pagetop a {
	width: 72px;
	height: 72px;
	display: block;
	border: 0;
}
#pagetop a:link, #pagetop a:visited {
	background: transparent url(../graphics/arrows.png) no-repeat 0px 0px;
	outline: none;
}
#pagetop a:hover {
	background : transparent url(../graphics/arrows.png) no-repeat -72px 0px;
}
/* ==================================
   Word Press Loop integration
   ================================== */
#cars .product-container {
	margin-bottom: 1rem;
}
#cars .product-container .col-25 {
	padding: 0 1rem 1rem;
}
.product-container .col-75 {
	padding: 0 5%;
}
.product-price {
	color: #555555;
	font-weight: 600;
	text-align: right;
	padding-right: 1rem;
}
#cars h2 {
    color: #555555;
    font-weight: 400;
}
#cars .col-75 ul {
	display: inline-block;
	width: 40%;
	vertical-align: top;
	font-size: 0.875rem;
}
/* ==========================================================================
   Main Navigation
   ========================================================================== */
#nav-wrap {
	position: relative;
	z-index: 10;
	height: 72px;
}
#nav .main-nav::after {
    clear: both;
    content: ".";
    display: block;
    font-size: 0;
    height: 0;
    visibility: hidden;
}
.main-nav {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 4.5rem;
	background: #363636;
	border-bottom: .5rem solid #828282;
	border-color: rgba(130,130,130,.8);
	background-clip: padding-box;
	-webkit-backface-visibility: hidden;
	z-index: 10;
}
#partner #nav-wrap, #service #nav-wrap, #occasion #nav-wrap, #agri #nav-wrap, #galerie #nav-wrap, #contact #nav-wrap, #cars #nav-wrap {
	margin-bottom: 6rem;
}
.main-nav ul {
	text-align: center;
	height: 100%;
	width: 1200px;
	padding-left: 0;
	margin: 0 auto;
}
.main-nav li {
	position: relative;
	display: inline-block;
	height: 100%;
	float: left;
}
.main-nav li a {
	display: block;
	height: 100%;
	padding: 0.5em 1em 0;
	color: #fff22d;
	font-size: 1.5rem;
	text-decoration: none;
	border-bottom: none;
}
.main-nav li a:current {
	outline: none;
}
.main-nav li:hover a {
	background: #ac2813;
}
.main-nav .home-nav a {
	padding: 0;
}
.main-nav .home-nav:hover a {
	background: transparent;
}
.main-nav li.current a, .main-nav li a.cursnorm:hover {
	background: #cd191c;
	cursor: default;
}
#agri .main-nav li.current a, #agri .main-nav li a.cursnorm:hover, #cars .main-nav li.current a, #cars .main-nav li a.cursnorm:hover {
	cursor: pointer;
}
.main-nav li.current:after {
	content:"";
	position:absolute;
	top:100%;
	left:2.5%;
	width:95%;
	height:8px;
	background: #ac2813;
	}
.go-to-menu-de {
	display: none;
}
.home-nav {
    margin: 0 0 -50px;
    position: relative;
  }
.home-nav a {
    border-left: none;
    width: 180px;
    height: 134px;
    position: relative;
    padding: 0;
    background: transparent;
  }
.main-nav li.mobile-only {
	display: none;
}

 /*======================================
   TEXTLINKS
   ====================================== */
a {
	color: #A43741;
	border-bottom: 1px dotted;
	text-decoration: none;
	outline: none;
}
a:hover {
    text-decoration: none;
	border-bottom: 1px solid;
}

/* ==========================================================================
   Typography
   ========================================================================== */

h1, h2, h3, h4, h5, h6, .companyPanel-header p {
	font-family: 'Montserrat', sans-serif;
	border: 0;
	margin: 0;
	padding: 0;
	vertical-align: baseline;
}
.companyPanel-header h2 {
	font-size: 2.125rem;
	font-weight: 700;
	line-height: 1;
	color: #cd191c;
	text-shadow: 0.05rem 0.05rem #FDD731;
}
.aktionstitel {
	font-size: 2.75rem;
	font-weight: 800;
	line-height: 1.5;
	color: #cd191c;
	text-shadow: 0.06rem 0.06rem #685918;
	text-align: center;
}
.main-title {
	font-size: 2rem;
	margin: 1.5em auto;
	max-width: 30em;
	text-align: left;
	font-weight: 400;
}
#home .main-title {
	font-size: 2rem;
	margin: 1em auto;
	max-width: 30em;
	text-align: left;
	font-weight: 400;
}
#galerie h2 {
	font-weight: 400;
	padding-left: 1rem;
	color: #555555;
}
#service h2 {
	font-weight: 700;
	font-size: 1.75rem;
	color: #555555;
}
#contact hr, #standort hr {
	margin-bottom: 2rem;
}
.intro p {
	font-size: 1.5rem;
}
.intro p.aktions-anfrage {
	font-size: 1.125rem;
	text-align: center;
}
.productlist {
	margin: 1.5rem 0;
	list-style: circle url('../graphics/listpic.png') outside;
}
.productlist strong {
	font-weight: 700;
	color: #555555;
}
#cars .col-75 li {
	padding: 0 0 0 0.5rem;
	list-style: disc outside;
}
#service .intro li {
	font-size: 1.25rem;
	line-height: 2;
}
footer address {
	color: #fdf8d1;
}
#partner figcaption, #occasion figcaption {
	font-size: 1.25rem;
	font-weight: 600;
	color: #555555;
	margin-top: 1rem;
}
 /*======================================
   KONTAKTFORMULAR
   ====================================== */
#contactform {
	margin-bottom: 2em;
}
#contactform ul {
    width: 80%;
    list-style-type: none;
    list-style-position: outside;
    margin: 0 auto;
    padding: 0;
}
#contactform li{
    padding: 12px; 
    position:relative;
}
#contactform li:first-child {
    color: Red;
}
#contactform input {
    height: 2rem; 
    width: 70%; 
    padding: 5px 8px;
}
#contactform textarea {
	padding: 8px;
	width: 70%;
	height: 7.5rem;
}
#contactform #message-submit {
	width: 30%;
	float: right;
	}
#contactform label {
    width: 30%;
    display: inline-block;
    float: left;
    padding: 3px;
}
#contactform label span {
	color: Red;
}
#contactform input, #contactform textarea {
	border: 1px solid #aaa;
	box-shadow: 0 0 3px #ccc, 0 10px 15px #eee inset;
	border-radius: 2px;
}
#contactform input:focus, #contactform textarea:focus {
    background: #fff; 
    border: 1px solid #555; 
    box-shadow: 0 0 3px #aaa; 
}
/* #message-submit Style */
#message-submit.submit {
    background-color: #a1a1a1;
    background: -webkit-gradient(linear, left top, left bottom, from(#a1a1a1), to(#565656));
    background: -webkit-linear-gradient(top, #a1a1a1, #565656);
    background: -moz-linear-gradient(top, #a1a1a1, #565656);
    background: -ms-linear-gradient(top, #a1a1a1, #565656);
    background: -o-linear-gradient(top, #a1a1a1, #565656);
    background: linear-gradient(top, #a1a1a1, #565656);
    border: 1px solid #959595;
    border-bottom: 1px solid #9c9c9c;
    border-radius: 3px;
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
    -ms-border-radius: 3px;
    -o-border-radius: 3px;
    box-shadow: inset 0 1px 0 0 #c1c1c1;
    -webkit-box-shadow: 0 1px 0 0 #c1c1c1 inset ;
    -moz-box-shadow: 0 1px 0 0 #c1c1c1 inset;
    -ms-box-shadow: 0 1px 0 0 #c1c1c1 inset;
    -o-box-shadow: 0 1px 0 0 #c1c1c1 inset;
    color: white;
    font-weight: bold;
    padding: 3px 20px;
    text-align: center;
    text-shadow: 0 -1px 0 #25430d;
}
#message-submit.submit:hover {
    opacity: .85;
    cursor: pointer; 
}
#message-submit.submit:active {
    border: 1px solid #20911e;
    box-shadow: 0 0 10px 5px #356b0b inset; 
    -webkit-box-shadow: 0 0 10px 5px #356b0b inset ;
    -moz-box-shadow: 0 0 10px 5px #356b0b inset;
    -ms-box-shadow: 0 0 10px 5px #356b0b inset;
    -o-box-shadow: 0 0 10px 5px #356b0b inset;
     
}
#contactform input:focus, #contactform textarea:focus { /* add this to the already existing style */
    padding-right: 70px;
}
#contactform input, #contactform textarea { /* add this to the already existing style */
    -moz-transition: padding .25s; 
    -webkit-transition: padding .25s; 
    -o-transition: padding .25s;
    transition: padding .25s;
}
#contactform input, #contactform textarea {
    padding-right: 30px;
}
input:required, textarea:required {
    background: #fff;
}
#contactform input:focus:invalid, #contactform textarea:focus:invalid { /* when a field is considered invalid by the browser */
    background: #fff;
    box-shadow: 0 0 5px #d45252;
    border-color: #b03535
}
#contactform input:required:valid, #contactform textarea:required:valid { /* when a field is considered valid by the browser */
    background: #fff;
    box-shadow: 0 0 5px #5cd053;
    border-color: #28921f;
}
.z {
	display: none;
}
p.warning {
	color: #FF0000;
}
p.info {
	color: #009933;
}
#contact .col-50 h2:first-child {
	margin-left: 12.5%;
}
/* ==========================================================================
   Lageplan
   ========================================================================== */
#map-canvas {
	height: 576px;
	width: 100%;
	color: #000;
	border: 1px solid #363636;
}
#map-canvas img {
	max-width: none;
}
#mapinfo {
	font-size: 1rem;
	font-weight: 400;
}



/* ==========================================================================
   Helper classes
   ========================================================================== */

/*
 * Hide visually and from screen readers:
 */

.hidden {
    display: none !important;
}

/*
 * Hide only visually, but have it available for screen readers:
 * http://snook.ca/archives/html_and_css/hiding-content-for-accessibility
 */

.visuallyhidden {
    border: 0;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
}

/*
 * Extends the .visuallyhidden class to allow the element
 * to be focusable when navigated to via the keyboard:
 * https://www.drupal.org/node/897638
 */

.visuallyhidden.focusable:active,
.visuallyhidden.focusable:focus {
    clip: auto;
    height: auto;
    margin: 0;
    overflow: visible;
    position: static;
    width: auto;
}

/*
 * Hide visually and from screen readers, but maintain layout
 */

.invisible {
    visibility: hidden;
}

/*
 * Clearfix: contain floats
 *
 * For modern browsers
 * 1. The space content is one way to avoid an Opera bug when the
 *    `contenteditable` attribute is included anywhere else in the document.
 *    Otherwise it causes space to appear at the top and bottom of elements
 *    that receive the `clearfix` class.
 * 2. The use of `table` rather than `block` is only necessary if using
 *    `:before` to contain the top-margins of child elements.
 */

.clearfix:before,
.clearfix:after {
    content: " "; /* 1 */
    display: table; /* 2 */
}

.clearfix:after {
    clear: both;
}

/* ==========================================================================
   Media Queries
   ========================================================================== */
@media screen and (max-width: 1560px) {
	.companyPanel-header  {
		top: 80%;
	}
}
@media screen and (max-width: 1480px) {
	main {
		width: 80%;
	}
}
@media screen and (max-width: 1380px){
	#occasion .block-list li {
		margin: 1.5rem;
	}
}
@media screen and (max-width: 1310px) {
	main {
		width: 85%;
	}
}
@media screen and (max-width: 1310px) {
	main {
		width: 85%;
	}
}
@media screen and (max-width: 1230px) {
	main {
		width: 90%;
	}
}
@media screen and (max-width: 1160px) {
	.main-nav ul {
		width: 90%;
	}
	.main-nav li a {
		font-size: 1.25rem;
		padding: 0.75em 1em 0;
	}
	.block-list li {
		width: 40%;
	}
	.companyPanel-header  {
		top: 70%;
		width: 80%;
	}
}
@media screen and (max-width: 1086px) {
	.main-nav li a {
		font-size: 1.125rem;
		padding: 0.75em 1em 0;
	}
	.home-nav a {
		width: 140px;
		height: 104px;
	}
	.block-list li {
		width: 44%;
	}
	#occasion .block-list li {
		margin: 1rem;
	}
	.companyPanel-header {
		left: 10%;
	}
}
@media screen and (max-width: 960px) {
	.main-nav ul {
		width: 100%;
	}
	.main-nav li a {
		font-size: 1.125rem;
		padding: 0.75em 1em 0;
	}
	.home-nav a {
		width: 140px;
		height: 104px;
	}
	#pagetop {
		display: none !important;
	}
	.contact-left {
		width: 60%;
	}
	.contact-right {
		width: 40%;
	}
}
@media screen and (max-width: 860px) {
	.main-nav ul {
		width: 100%;
	}
	.main-nav li a {
		font-size: 1.125rem;
		padding: 0.75em 1em 0;
	}
	.home-nav a {
		width: 100px;
		height: 74px;
	}
}
@media screen and (max-width: 820px) {
	.main-nav li a {
		font-size: 1rem;
		padding: 1em 1em 0;
	}
	.home-nav a {
		width: 100px;
		height: 74px;
	}
	.companyPanel-header h2 {
		font-size: 1.5rem;
	}
	#map-canvas {
		height: 384px;
	}
}
@media screen and (max-width: 750px) {
	.go-to-menu-de {
		content: '';
		position: absolute;
		z-index: 10;
		top: 0;
		right: 0;
		display: block;
		height: 3em;
		width: 100%;
		padding: 0 2.5em;
		font-size: 1.25em;
		line-height: 2.75em;
		color: #ddd;
		border: 0;
		background: #030d21;
		background-repeat: no-repeat;
		background-clip: padding-box;
		background-image: url("../graphics/icon-menu.png");
		background-image: url("../graphics/icon-menu.svg");
		background-position: 0.75em center;
	}

	.go-to-menu-de:hover {
		color: #fff;
		border: 0;
	}

	.go-to-menu-de:after {
		content: " anzeigen";
	}

	.show-nav .go-to-menu-de:after {
		content: " verbergen";
	}

	.main-nav {
		height: 3em;
		position: static;
		border-bottom: none;
		display: none;
		position: absolute;
		z-index: 10;
		top: 3.75em;
		left: 0;
	}

	.show-nav .main-nav {
		display: block;
	}

	.main-nav ul {
		position: absolute;
		right: 0;
		top: 0;
		display: block;
		width: 100%;
		margin: 0;
		font-size: 1.5em;
		text-align: left;
	}

	.main-nav ul li, .main-nav ul li.mobile-only {
		display: block;
		background: #353430;
		width: 100%;
	}

	.main-nav li a {
		font-size: 1em;
		padding: 0.125em 0 0 2em;
	}
	
	.main-nav ul li.home-nav {
		display: none !important;
	}
	
	#partner #nav-wrap, #service #nav-wrap, #occasion #nav-wrap, #agri #nav-wrap, #cars #nav-wrap, #galerie #nav-wrap, #contact #nav-wrap {
		margin-bottom: 1rem;
	}
	#cars .product-container .col-25 {
		padding: 0 0.5rem 0;
		width: 35%;
	}
	.product-container .col-75 {
		padding: 0 2%;
		width: 60%;
	}
	.contact-left {
		width: 100%;
	}
	.contact-right {
		width: 100%;
	}
	#impressum .block-list li {
		width: 100%;
	}
}
@media only screen and (max-width: 630px) {
    .companyPanel-header h2 {
		font-size: 1rem;
	}
	.block-list li {
		width: 40%;
	}
	#occasion .block-list li {
		margin: 0.5rem;
		width: 80%;
	}
	footer .col-50, footer .col-30 {
		width: 100%;
	}
	.intro p {
		font-size: 1.125rem;
	}
	#service .intro li {
		font-size: 1.125rem;
		line-height: 2;
	}
	#cars .product-container .col-25 {
		padding: 0 0.5rem 0;
		width: 60%;
	}
	.product-container .col-75 {
		padding: 0 2%;
		width: 100%;
	}
	#contactform ul {
	    width: 90%;
	}
}
@media only screen and (max-width: 480px) {
	.block-list li {
		width: 80%;
	}
	#cars .product-container .col-25 {
		padding: 0 0.5rem 0.5rem;
		width: 100%;
	}
	#contactform input {
	    width: 100%; 
	}
	#contactform textarea {
		width: 100%;
	}
	#contactform #message-submit {
		width: 30%;
		}
	#contactform label {
	    width: 100%;
	}
	#occasion .block-list li {
		margin: 1rem 0 0 0;
		width: 100%;
	}
}
@media only screen and (max-width: 380px) {
    .companyPanel-header {
		top: 67%;
		left: 2%;
		width: 100%;
	}
}

@media print,
       (-webkit-min-device-pixel-ratio: 1.25),
       (min-resolution: 1.25dppx),
       (min-resolution: 120dpi) {
    /* Style adjustments for high resolution devices */
}

/* ==========================================================================
   Print styles.
   Inlined to avoid the additional HTTP request:
   http://www.phpied.com/delay-loading-your-print-css/
   ========================================================================== */

@media print {
	*, *:before, *:after {
		background: transparent !important;
		color: #000 !important;
		/* Black prints faster:
                                   http://www.sanbeiji.com/archives/953 */
		box-shadow: none !important;
		text-shadow: none !important;
	}

	/*  a,
    a:visited {
        text-decoration: underline;
    }

    a[href]:after {
        content: " (" attr(href) ")";
    }

    abbr[title]:after {
        content: " (" attr(title) ")";
    } */

	/* 
     * Don't show links that are fragment identifiers,
     * or use the `javascript:` pseudo protocol
      */

	a href # :after, a href javascript: :after {
		content: "";
	}

	pre, blockquote {
		border: 1px solid #999;
		page-break-inside: avoid;
	}

	/* 
     * Printing Tables:
     * http://css-discuss.incutio.com/wiki/Printing_Tables
      */

	thead {
		display: table-header-group;
	}

	tr, img {
		page-break-inside: avoid;
	}

	img {
		max-width: 100% !important;
	}

	p, h2, h3 {
		orphans: 3;
		widows: 3;
	}

	h2, h3 {
		page-break-after: avoid;
	}

	#nav-wrap, .copy, #contact .contact-left, #contact footer {
		display: none;
	}

	#contact .col-50 {
		width: 100%;
	}

	#partner .block-list li {
		width: 40%;
	}
}
