@import url('css/jk-grid.css');


@import url('https://fonts.googleapis.com/css?family=Open+Sans:300,400,600');


*, *:before, *:after {
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-font-smoothing: antialiased;
}

html {
	height: 100%;
}

body {
	height: 100%;
	position: relative;
	font-family: 'Open Sans', sans-serif;
	color: black;
}



h1 {
	font-weight: 400;
	letter-spacing: 1px;
	font-size: 2.3em;
}

h2 {
	font-size: 1.5em;
}

.fst-container {
	display: table;
	width: 100%;
	height: 100%;
	position: relative;
	empty-cells:show;
	border-collapse: collapse;
}

.fst-container-inner {
	display: table-row;
	vertical-align: middle;

}

.logo {
	text-align: center;
	margin: 0 auto;
	float:none;
	padding: 0;
	padding-bottom: 50px;

}


@media (max-width: 768px) {
	.logo {
	padding-bottom: 30px;
}
}

.logo img {
	width: 90%;
	height: auto;
	transition: 0.9s all ease-in-out;
}

.logo-small img {
	width: 50%;
	height: auto;
	transition: 0.9s all ease-in-out;
}

.leistungen {
	display: table-cell;
	vertical-align: middle;
	padding: 40px 0;
}


@media (max-width: 768px) {

.leistungen {
	padding: 20px 0;
}

	}

.leistungen #start ul {
	list-style: none;
	margin: 0 30px;
	padding: 0;
	text-align: center;

}

.leistungen #start ul li {
	margin: 0.3%;
	display: inline-block;
	
	position: relative;
	width: 167px;
	height: 167px;
}

.leistungen #start ul li:hover > a {
	
	top:0px;
	left:0px;
}



.leistungen #start ul li a {
	width: 99%;
	height: 99%;
	display: inline-block;
	position: absolute;
	top:0px;
	left: 0px;
	transition: 0.2s all ease-in;
}



@media (max-width: 768px) {


	.leistungen #start ul li {

	width: 130px;
	height: 130px;
}

/*.leistungen ul li a {
	width: 100px;
	height: 100px;
}

.leistungen ul li {
	padding: 6px;

	}*/



	}

.leistungen #start ul li img{
	width: 100%;
	height: auto;
}


/* FOOTER */


footer {
	width: 100%;
	height: 50px;
	display: table-row;
	vertical-align: bottom;
	bottom: 0;
	border: 0px solid black;
	font-size: 1.05em;
}


.footer-menu {
	text-align: center;
}

footer ul {
	list-style: none;
	display: inline-block;
	margin: 0;
	padding: 0;
}

footer ul li {
	float: left;
	padding: 15px;
}

footer ul li:last-child {

}




footer a, footer a:focus, footer a:visited {
	color: #111111;
	transition: all 0.3s ease-in;
	position: relative;
	display: inline-block;
	text-decoration: none;
	font-weight: 400;
}

footer a {
	cursor: pointer;
}

footer a:hover {
	color: black;
	text-decoration: none;
}

footer a:hover:after {
	width: 100%;

}

footer a:after {
	content: "";
	width: 0%;
	height: 1px;
	border-bottom: 1px solid black;
	position: absolute;
	bottom: -0.3em;
	left: 0;
	transition: all 0.3s ease-in;
}

.social {
	font-size: 1.3em;
	line-height: 1.1;
}

/* BACKGROUND */

.bg {
	width: 100%;
	height: 100%;
	position: fixed;
	top: 0;
	left: 0;
	overflow: hidden;
	z-index: -9999;

}

.bg-inner {
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center center;
	width: 100%;
	height: 100%;
	position: absolute;
	/*top:-10%;
	left: -10%;*/
	top:0;
	left:0;
	z-index: -10;
	/*-webkit-filter: blur(10px);
	-moz-filter: blur(10px);
	-o-filter: blur(10px);
	-ms-filter: blur(10px);
	filter: blur(10px);*/
}


/* FADE IN */



.fadeIn, .item {
	display: none;
}








/* FORMULAR */




#page-wrapper {
  background: rgba(0, 0, 0, 0.1);
  padding: 2em;
  margin: 0 auto;
  position: initial;

}



.field {
  margin: 1em 0;
}


*:focus {
    outline: none;
}


textarea[placeholder], input[placeholder], [placeholder], *[placeholder] {
    color: gray;
}

::-webkit-input-placeholder { /* WebKit, Blink, Edge */
    color: gray;
}
:-moz-placeholder { /* Mozilla Firefox 4 to 18 */
   color: gray;
   opacity:  1;
}
::-moz-placeholder { /* Mozilla Firefox 19+ */
   color: gray;
   opacity:  1;
}
:-ms-input-placeholder { /* Internet Explorer 10-11 */
   color: gray;
}

input {
  width: 100%;
  padding: 1em;
  font-size: 15px;
  border-radius: 0px;
  color: black !important;
  background-color: rgba(255, 255, 255, 0.6);
  border:none;
}

textarea {
  width: 100%;
  height: 200px;
  padding: 1em;
  font-size: 15px;
  border-radius: 0px;
  color: black !important;
  background-color: rgba(255, 255, 255, 0.6);
   border:none;
}

button {
  display: inline-block;
  border-radius: 0px;
  border: none;
  font-size: 15px;
  padding: 1em 5em;
  background-color: rgba(255, 255, 255, 0.6);
  width: 100%;
  color: black;
  -webkit-font-smoothing: antialiased;
  font-weight: normal;
  margin: 0;
  text-align: center;
  transition: 0.2s all ease-in-out;
   border:1px solid transparent;
}

button:hover, button:focus {
  opacity: 0.9;
  cursor: pointer;
  border:1px solid red;
}

button:active {
  opacity: 1;
  box-shadow: 0 -3px 10px rgba(0, 0, 0, 0.1) inset;
}

.success {
  padding: 1em;
  margin-bottom: 0.75rem; 
  color: white;
  background-color: rgba(51, 204, 102, 0.6);
  border: 0px solid #d6e9c6;
  font-size: 1.05em;
}

.error {
  padding: 1em;
  margin-bottom: 0.75rem;
  color: white;
  background-color: rgba(255, 102, 51, 0.6);

  border: 0px solid rgba(185, 74, 72, 0.3);
  font-size: 1.05em;
}




.leistungen #start ul li span{
	color: white;
	position: absolute;
	bottom: 15px;
	display: inline-block;
	left: 0;
	width: 100%;
	text-align: center;
}

.leistungen #start ul li a{
	/*background-color: rgba(255, 255, 255, 0.3);*/
	background-color: rgba(0, 0, 0, 0.4);
}

.leistungen #start ul li .icons{
	 fill: white;
  stroke: transparent;
  transition: 0.3s all ease-in-out;
}

.leistungen .icon-wrap{
	position: absolute;
	bottom: 30%;
	left: 0;
	width: 100%;
	padding: 30px;
	padding-bottom: 0;
	display: inline-block;
	text-align: center;
	z-index: 30;

}


.leistungen .line-bottom {
	position: absolute;
	bottom: 0;
	width: 100%;
	height: 3px;
	transition: 0.6s all ease-in-out;

}

 .leistungen #start a:hover .line-bottom{
	height: 100%;
}

.icon-foto .icon-wrap{
	padding:24%;
	padding-bottom: 0;
}



/* .leistungen #start .icon-foto:hover .icons{
	fill: red;
  stroke: red;
}*/


.icon-video .icon-wrap{
	padding:27%;
	padding-bottom: 0;
}




.icon-web .icon-wrap{
	padding:20%;
	padding-bottom: 0;
}


.icon-mediendesign .icon-wrap{
	padding:26%;
	padding-bottom: 0;
}


.icon-werbetechnik .icon-wrap{
	padding:31%;
	padding-bottom: 0;
}

.icon-text .icon-wrap{
	padding:30%;
	padding-bottom: 0;
}

.color-main {
	background-color: red;
}

#top-strip {
	empty-cells:show;
	border-collapse: collapse;
	width: 100%;
	height: 5px;
	transition: 0.2s all ease-in-out;
	display: table-row;
	vertical-align: top;
	
}

#bottom-strip {
	empty-cells:show;
	border-collapse: collapse;
	width: 100%;
	height: 10px;
	display: table-row;
	vertical-align: bottom;
	transition: 0.2s all ease-in-out;

}


/* IMPRESSUM */


#impressum hr {
    margin-top: 40px;
    margin-bottom: 40px;

    border-top: 1px solid red;
    opacity: 0.5;
}


.break-grid {
		display: none;
	}

@media (min-width: 485px) and (max-width: 1125px){
	.break-grid {
		display: block;
	}
}




