/* ---------- BASICS ---------- */

* {
	margin:0;
	padding:0;
	border:0;
	outline:0;
	box-sizing:border-box;
}

iframe, img {
	max-width:100%;
	margin:0 auto;
	display:block;
}

iframe {
	margin:20px auto 0;
	width:100%;
	height:315px;
}

.google-maps {
	margin-bottom:-20px;
	pointer-events:none;
	opacity:0.8;
}

.google-maps:hover {
	opacity:1;
}

.youtube {
	width:500px;
}

.nopage {
	margin:20px auto 0;
}

a {
	text-decoration:none;
	color:#555;
}

a:hover, a:focus {
	color:#ff3600;
}

p {
	font-size:1rem;
}

h2 {
	color:#fff;
	font-weight:400;
	font-size:1.75rem;
	display:inline-block;
	margin:0 -25px 20px;
	background:#ff3600;
	padding:3px 20px;
}

h3, h4 {
	font-weight:700;
	color:#5b7984;
	font-size:1.25rem;
}

.genericon-checkmark {
	color:#99bd42;
	margin-top:3px;
}

.genericon-close {
	color:#a32f2f;
	margin-top:3px;
}

ul {
	list-style:none;
}

body {
	background:#eee;
	font-size:100%;
	font-family: 'Source Sans Pro', sans-serif;
	color:#555;
}

.hide-text {
	display:block;
  text-indent:100%;
  white-space:nowrap;
  overflow:hidden;
}

.clearfix:after {
  content:".";
  clear:both;
  display:block;
  visibility:hidden;
  height:0;
}

.container {
	margin:0 auto;
	width:90%;
	max-width:1400px;
	background:#fff;
}

.position-wrapper {
	width:100%;
	position:relative;
}

.logo {
	max-height:110px;
}

.fb-aside {
	display:none;
}

.sitech {
	margin:0;
	text-align:left;
}

/* ---------- NAV ---------- */

nav {
	position:relative;
	background:#eee;
	min-height:110px;
}

.nav-wrapper {
	margin:0 70px 0 0;
	height:110px;
	position:relative;
}

.img-container {
  position:absolute;
  top:0;
  bottom:0;
  left:0;
  right:0;
  text-align:center;
  font:0/0 a;
}

.img-container:before {
  content:' ';
  display:inline-block;
  vertical-align:middle;
  height:100%;
}

.index {
  vertical-align:middle;
  display:inline-block;
	max-width:100%;
}

.nav-button {
	background:transparent;
	position:absolute;
	top:30px;
	right:10px;
	width:50px;
	height:50px;
	cursor:pointer;
	border-radius:5px;
	border:2px solid transparent;
	transition:all 0.2s ease;
	color:#434343;
}

.nav-button:hover, .nav-button:focus {
	box-shadow:0 0 4px #434343;
}

.nav-button:active {
	border:2px solid #434343;
	box-shadow:0 0 4px #434343;
}

.nav-button span {
	font-size:2rem;
}

#nav {
	display:block;
	max-height:0;
	overflow:hidden;
	transition:max-height 1s ease;
}

#nav li {
	height:60px;
	line-height:60px;
	border-bottom:1px solid #ddd;
}

#nav li a {
	display:block;
	width:100%;
	text-align:center;
	border-bottom:1px solid #ddd;
	transition:background 0.3s ease;
}

#nav li a:hover, #nav li a:focus {
	background:#fff;
}

.active {
	background:#f5f5f5;
}

.expand {
	max-height:300px!important;
}

.topbar {
	display:none;
}

/* ---------- HEADER ---------- */

header {
	background:url(../img/header.jpg) 50%;
	background-size:cover;
	min-height:210px;
	width:100%;
	padding:20px 0;
}

h1 {
	text-align:center;
	color:#e93030;
	font-weight:700;
	margin:0 10px 3px;
	font-size:24pt;
}

.key {
	display:block;
	margin:0 auto;
}

.page-header p {
	color:#fff;
	margin:0 auto;
	text-align:center;
	font-size:1.15rem;
}

.slogan {
	text-align:center;
	font-family:'Kalam', cursive;
	font-size:1.2em;
}

header ul {
	width:100%;
}

header ul li {
	text-align:center;
	font-size:1.2em;
	width:240px;
	max-width:90%;
	margin:8px auto;
	display:block;
}

header ul li strong {
	color:#3583a0;
}

/* ---------- SECTION ---------- */

section {
	border-bottom:1px solid #ddd;
	width:100%;
	padding:40px 20px;
	background:#fff;
}

.img-flow {
	float:right;
	margin:10px 0 10px 10px;
	max-width:50%;
}

.phone-paragraph {
	width:80%;
	margin:0 auto;
}

.phone {
	border:1px solid #ff3600;
	width:80%;
	max-width:500px;
	height:10vw;
	line-height:10vw;
	display:block;
	margin:20px auto 0;
	color:#ff3600;
	font-size:6vw;
	text-align:center;
}

.phone span {
	font-size:6vw;
	line-height:10vw;
}

.phone:hover, .phone:focus {
	background:#ff3600;
	color:#fff;
}

.district a {
	color:#5b7984;
}

.price {
	width:180px;
	margin:20px auto 0;
	background:#434343;
	color:#fff;
	display:block;
	height:40px;
	line-height:40px;
	font-weight:700;
	text-align:center;
	font-size:1.25rem;
}

.price:hover, .price:focus {
	background:#fff;
	border:1px solid #434343;
	color:#434343;
}

.teaserbox {
	background:url(../img/bg.png);
}

.teaser {
	color:#5b7984;
	font-weight:400;
	font-size:1.75rem;
	display:inline-block;
	margin:0;
	background:none;
	padding:0;
}

.city-map {
	margin-top:10px;
	float:right;
	max-width:40%;
}

/* ---------- PRICE ITEMS ---------- */

.rates {
	margin:20px 0 0;
}

.item {
	width:32%;
	float:left;
	border:1px solid #ddd;
	padding:5px;
	text-align:center;
}

.item:hover {
	box-shadow:3px 3px 15px -2px #aaa;
}

.item-mid {
	margin:0 2%;
}

.item-header {
	background:url(../img/item.png) 50% bottom no-repeat;
	padding:10px 5px 20px;
	color:#fff;
	font-weight:700;
}

.item-price h4 {
	font-size:3rem;
}

.item-price h4 span {
	font-size:1.75rem;
}

.item-body ul li {
	border-bottom:1px solid #ddd;
	padding:5px 0;
	text-align:left;
}

.item-body ul li:last-of-type {
	border:none;
}

.item-footer a {
	width:100%;
	display:block;
	border:1px solid #434343;
	background:#434343;
	color:#fff;
	margin-top:10px;
	padding:6px 8px;
	font-weight:700;
}

.item-footer a:hover, .item-footer a:focus {
	color:#434343;
	background:none;
}

.item-footer a span {
	margin-top:2px;
}

.item-page {
	width:49%;
	margin-bottom:20px;
}

.item-page:nth-child(odd) {
	margin-right:2%;
}

/* ---------- MAIN ---------- */

.article-main h3 {
	margin:10px 0 0;
}

.main-mid {
	margin:20px 0;
}

/* ---------- TABLE ---------- */

table {
	width:100%;
}

th, td {
	padding:3px;
}

th {
	background:#434343;
	color:#fff;
	text-align:left;
}

tr:nth-child(even) {
		background:#eee;
}

/* ---------- CATEGORIES ---------- */

.mini {
	min-height:80px;
	padding:0 10px 10px 70px;
}

.tueroeffnung {
	background:url(../img/tueroeffnung.png) 0 0 no-repeat;
}

.zylinder {
	background:url(../img/zylinder.png) 0 0 no-repeat;
}

.sicherheit {
	background:url(../img/sicherheit.png) 0 0 no-repeat;
}

#minibox-work .tueroeffnung {
	background:url(../img/arbeitszeit.png) 0 0 no-repeat;
}

#minibox-work .zylinder {
	background:url(../img/material.png) 0 0 no-repeat;
}

#minibox-work .sicherheit {
	background:url(../img/pauschale.png) 0 0 no-repeat;
}

/* ---------- TOOLS ---------- */

.tools img {
	max-width:160px;
	width:25%;
	min-width:80px;
	float:left;
	filter:gray;
  -webkit-filter:grayscale(100%);
	opacity:0.5;
}

.tools img:hover {
	filter:none;
	-webkit-filter:grayscale(0);
	opacity:1;
}

/* ---------- CONTACT ---------- */

.contact li {
	margin:10px 0 0;
	min-height:60px;
	padding-left:60px;
	line-height:60px;
}

.contact-address {
	line-height:inherit!important;
	background:url(../img/contact-address.png) 0 50% no-repeat;
}

.contact-phone {
	background:url(../img/contact-phone.png) 0 50% no-repeat;
}

.opening-time {
	background:url(../img/opening-time.png) 0 50% no-repeat;
}

.contact-email {
	background:url(../img/contact-email.png) 0 50% no-repeat;
}

/* ---------- FOOTER ---------- */

.up {
	width:100%;
	height:100px;
	background:#434343;
}

.up a {
	display:block;
	color:#fff;
	margin:0 auto;
	width:100px;
	text-align:center;
	height:100px;
}

.up a span {
	font-size:5rem;
	line-height:100px;
}

@-webkit-keyframes scrollup {
  16.65% {
    -webkit-transform: translateY(8px);
    transform: translateY(8px);
  }

  33.3% {
    -webkit-transform: translateY(-6px);
    transform: translateY(-6px);
  }

  49.95% {
    -webkit-transform: translateY(4px);
    transform: translateY(4px);
  }

  66.6% {
    -webkit-transform: translateY(-2px);
    transform: translateY(-2px);
  }

  83.25% {
    -webkit-transform: translateY(1px);
    transform: translateY(1px);
  }

  100% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}

@keyframes scrollup {
  16.65% {
    -webkit-transform: translateY(8px);
    transform: translateY(8px);
  }

  33.3% {
    -webkit-transform: translateY(-6px);
    transform: translateY(-6px);
  }

  49.95% {
    -webkit-transform: translateY(4px);
    transform: translateY(4px);
  }

  66.6% {
    -webkit-transform: translateY(-2px);
    transform: translateY(-2px);
  }

  83.25% {
    -webkit-transform: translateY(1px);
    transform: translateY(1px);
  }

  100% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}

.scrollup {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  -moz-osx-font-smoothing: grayscale;
}

.scrollup:hover, .scrollup:focus, .scrollup:active {
  -webkit-animation-name: scrollup;
  animation-name: scrollup;
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-timing-function: ease-in-out;
  animation-timing-function: ease-in-out;
  -webkit-animation-iteration-count: 1;
  animation-iteration-count: 1;
}

.social-media {
	margin:20px;
	float:right;
	height:30px;
	overflow:hidden;
}

.social-media li {
	float:left;
	height:30px;
	width:30px;
	margin-left:10px;
}

.social-media li span {
	color:#888;
	font-size:30px;
	display:block;
	margin:0 auto;
}

.genericon-facebook:hover, .genericon-facebook:hover:focus {
  color:#3b5998;
}

.genericon-googleplus:hover, .genericon-googleplus:focus {
  color:#dd4b39;
}

.genericon-twitter:hover, .genericon-twitter:focus {
  color:#55acee;
}

.genericon-foursquare:hover, .genericon-foursquare:focus {
	color:#F94877;
}

.footer-paragraph {
	display:block;
	height:70px;
	text-align:center;
	margin:0 auto;
	padding:25px 0 0;
	color:#5b7984;
	background:#eee;
}

/* ---------- Callbox ---------- */

.callbox {
	position:fixed;
	z-index:4000;
	bottom:0;
	left:0;
	width:100%;
	height:90px;
	background:#e93030;
	transition:max-height 0.4s 4s ease, height 0.4s ease;
	max-height:90px;
}

.callbox a {
	border:2px solid #fff;
	white-space:nowrap;
	display:block;
	height:90px;
	width:100%;
	font-size:1.45em;
	color:#fff;
	box-sizing:border-box;
}

.callbox a:hover, .callbox a:active {
	background:#27e133;
}

.callbox a > span {
	float:left;
	display:block;
	width:90px;
	height:90px;
	font-size:2.75em;
	border-right:2px solid #fff;
	text-align:center;
	line-height:90px;
}

.callbox a h4 {
	font-size:0.9em;
	line-height:36px;
	padding:0 0 0 10px;
	color:#fff;
	font-weight:bold;
	display:inline-block;
	white-space:nowrap;
}

.callbox a ul {
	display:inline-block;
	padding:0 0 0 10px;
	font-size:0.75em;
	color:rgba(0,0,0,0.55);
}

.callbox a ul li span {
	line-height:24px;
}

.callbox-x {
	position:absolute;
	z-index:5000;
	top:0;
	right:0;
	width:44px;
	height:44px;
	text-align:center;
	background:none;
	color:rgba(255,255,255,0.25);
	cursor:pointer;
}

.callbox-x span {
	line-height:44px;
}

.callbox-x:hover, .callbox-x:focus, .callbox-x:active {
	color:rgba(255,255,255,0.75);
}

/* ---------- MEDIA QUERIES MEDIUM ---------- */

@media only screen and (min-width:768px) {

.callbox {
	display:none;
}

.phone {
	font-size:3rem;
	height:80px;
	line-height:80px;
}

.phone span {
	font-size:3rem;
	line-height:80px;
}

.mini {
	width:32%;
	float:left;
}

.zylinder, .material {
	margin:0 2%;
}

.article-main {
	float:left;
	width:32%;
}

.main-mid {
	margin:0 2%;
}

.prices {
	width:32%;
	margin-right:2%;
	float:left;
}

.rates {
	float:left;
	width:66%;
	margin:0;
}

.footer-paragraph {
	text-align:left;
	padding-left:20px;
}

.item-page {
	width:23.5%;
	margin:0 2% 0 0!important;
}

.item-page:nth-child(6) {
	margin-right:0!important;
}

}

/* ---------- MEDIA QUERIES LARGE ---------- */

@media only screen and (min-width:1200px) {

.content-wrapper {
	margin-right:300px;
	float:left;
}

.fb-aside {
	position:absolute;
	top:0;
	right:0;
	padding:0;
	width:300px;
	display:inline;
	min-height:750px;
}

.fb-aside iframe {
	margin:0 auto;
	height:auto;
}

.fb-page {
	margin:0 0 40px;
}

.fb-like {
	margin:20px 50px;
}

.nav-wrapper {
	width:383px;
	margin:0;
}

.nav-button {
	display:none;
}

#nav {
	position:absolute;
	top:60px;
	right:15px;
	display:block;
	height:60px;
	margin:0 0 0 383px;
	max-height:60px!important;
	transition:none;
}

#nav li {
	border-radius:8px;
	float:left;
	margin:0 0 0 5px;
	height:auto;
	border-bottom:none;
}

#nav li a {
	padding:8px;
	border-radius:5px;
	font-size:1rem;
	line-height:20px;
	border-bottom:1px solid transparent;
}

#nav li a span {
	font-size:0.6rem;
	margin-top:9px;
	padding-right:5px;
}

#nav li a:hover {
	border-bottom:1px solid #ddd;
}

.contact li {
	float:left;
	width:25%;
}

.topbar {
	position:absolute;
	top:15px;
	right:0;
	height:50px;
	display:block;
}

.topbar p {
	padding:5px 0;
}

.topbar a {
	margin:0 15px;
	background:#ff3600;
	color:#fff;
	padding:5px;
}

.topbar span {
	margin-top:3px;
}

}

/* ---------- MEDIA QUERIES ULTRA SMALL ---------- */

@media only screen and (max-width:520px) {

h2 {
	font-size:1.25rem;
}

h3, h4 {
	font-size:1rem;
}

.img-flow {
	max-width:100%;
}

.item {
	width:100%;
	max-width:240px;
	display:block;
	margin:0 auto;
	float:none;
}

.item-mid, .item-page:nth-child(odd) {
	margin:20px auto;
}

.mini {
	background-position:50% top;
	padding:70px 0 10px;
}

}
