/* --- ALLGEMEINE DEFINITIONEN --- */ 

@font-face {
	font-family: questrial;
	src: url(../font/questrial.ttf);
}

@font-face {
	font-family: merriweather;
	src: url(../font/merriweather_light_italic.otf);
}

@font-face {
	font-family: montserrat;
	src: url(../font/montserrat.otf);
}

body {
	background-color: rgb(250,211,17);
	font: 16px montserrat, Verdana, Arial, Helvetica, sans-serif;
	-webkit-font-smoothing: subpixel-antialiased;
	-moz-osx-font-smoothing: grayscale;
	font-smooth: always;
	padding: 0;
	margin: 50px auto 0 auto;
}

div {
	font: 0px;
	line-height: 100%;
	padding: 0;
	border: none;
	margin: 0;
}

a {
	text-decoration: none;
}

h1 {
	font: bold 24px questrial;
	margin: 20px 0;
}

h2 {
	font: bold 24px questrial;
	margin: 0 0 16px 0;
}

h3 {
	font: lighter italic 16px merriweather, Georgia, serif;
	margin: 0;
}

h4 {
	font: 16px montserrat, Verdana, Arial, Helvetica, sans-serif;
	color: rgb(255,0,0);
}

p {
	text-align: justify;
	line-height: 140%;
	margin: 20px 0;
}

/* --- SEITENINHALT --- */ 

.content {
	position: relative;
	width: calc(100% - 30px);
	min-width: 350px;
	background: rgb(255,255,255);
	border: 1px solid rgb(0,0,0);
	margin: auto;
	margin-bottom: 15px;
	-webkit-box-shadow: 0 0 20px rgba(0,0,0,0.75);
	box-shadow: 0 0 20px rgba(0,0,0,0.75);
}

.banner_top {
	display: table;
	width: 100%;
	margin-top: -16px;
}

.banner_top img {
	max-width: 680px;
	width: 100%;
	height: auto;
}

.banner_left {
	display: table-cell;
	position: relative;
	width: 50px;
	vertical-align: top;
}

.content_body {
	display: table-cell;
	position: relative;
	z-index: 0;
	width: 100%;
	background: rgb(255,255,255) url("../images/camera.jpg") no-repeat right bottom;
	padding-bottom: 20px;
}

.content_footer {
	display: table;
	width: 100%;
}

.content_footer div {
	display: table-cell;
	width: 100%;
	height: 50px;
	background: rgb(0,0,0);
	text-align: center;
	vertical-align: middle;
	font-family: questrial;
	font-size: 18px;
	color: rgb(255,255,255);
}

.textlink {
	color: rgb(0,0,0);
	border-bottom: 1px solid rgb(250,211,17);
}

.textlink:hover {
	background: rgb(250,211,17);
}

.buttonlink {
	display: inline;
	float: left;
	background-color: rgb(250,211,17);
	background-clip: padding-box;
	font: bold 24px questrial;
	color: rgb(0,0,0);
	padding: 15px 25px;
	border: 10px solid transparent;
}

.buttonlink:hover {
	background-color: rgb(253,237,155);
	-webkit-transition: 0.2s;
	transition: 0.2s;
}

.buttonlink:hover img {
    -ms-transform: scale(1.2); /* IE 9 */
    -webkit-transform: scale(1.2); /* Safari 3-8 */
    transform: scale(1.2); 
	-webkit-transition: 0.2s;
	transition: 0.2s;
}

.banner_kat {
	display: inline-block;
	width: 100%;
	height: 260px;
	margin-bottom: -60px;
}

.banner_gradient {
	display: inline-block;
	width: 100%;
	height: 70px;
	background: -webkit-linear-gradient(top, rgba(255,255,255,0.75) 0px, rgba(255,255,255,0.8) 5px, rgba(255,255,255,0.86) 10px, rgba(255,255,255,0.9) 20px, rgba(255,255,255,0.94) 30px, rgb(255,255,255) 50px, rgb(255,255,255) 60px, rgb(255,255,255) 70px);
	background: -moz-linear-gradient(bottom, rgba(255,255,255,0.75) 0px, rgba(255,255,255,0.8) 5px, rgba(255,255,255,0.86) 10px, rgba(255,255,255,0.9) 20px, rgba(255,255,255,0.94) 30px, rgb(255,255,255) 50px, rgb(255,255,255) 60px, rgb(255,255,255) 70px);
	background: -o-linear-gradient(bottom, rgba(255,255,255,0.75) 0px, rgba(255,255,255,0.8) 5px, rgba(255,255,255,0.86) 10px, rgba(255,255,255,0.9) 20px, rgba(255,255,255,0.94) 30px, rgb(255,255,255) 50px, rgb(255,255,255) 60px, rgb(255,255,255) 70px);
	background: linear-gradient(to bottom, rgba(255,255,255,0.75) 0px, rgba(255,255,255,0.8) 5px, rgba(255,255,255,0.86) 10px, rgba(255,255,255,0.9) 20px, rgba(255,255,255,0.94) 30px, rgb(255,255,255) 50px, rgb(255,255,255) 60px, rgb(255,255,255) 70px);
}

.teaser, .gallery, .more_fs {
	display: inline-block;
	width: calc(100% - 40px);
	padding: 20px;
}

.content_box {
	display: inline-block;
	width: calc(100% - 40px);
	padding: 0 20px;
}

.teaser > div {
	float: left;
	vertical-align: top;
}

.teaser_img, .teaser_desc {
	width: 50%;
	-webkit-transition: 0.4s;
	transition: 0.4s;
}

.teaser_img > div {
	position: relative;
	width: calc(100% - 20px);
	background: rgb(0,0,0);
	margin: 10px;
	-webkit-box-shadow: 0 0 20px rgba(0,0,0,0.75);
	box-shadow: 0 0 20px rgba(0,0,0,0.75);
}

.teaser_img img {
	display: block;
	z-index: 10;
	width: 100%;
	height: auto;
}

.teaser_desc > div {
	width: calc(100% - 20px);
	margin: 10px;
}

.gallery > div {
	position: relative;
	float: left;
	width: 32.5%;
	background: rgb(0,0,0);
	margin: 2px;
	-webkit-transition: 0.4s;
	transition: 0.4s;
}

.gallery img {
	display: block;
	z-index: 10;
	width: 100%;
	height: auto;
}

.teaser_img > div:hover img, .gallery > div:hover img {
	opacity: 0.4;
	-webkit-transition: 0.2s;
	transition: 0.2s;
}

.teaser_img > div div, .gallery > div div {
	display: none;
	position: absolute;
	z-index: 11;
	width: 100%;
	height: 100%;
	background: url("../images/zoom.png") no-repeat center center;
}

.teaser_img > div:hover div, .gallery > div:hover div {
	display: block;
}

.design_bar {
	display: block;
	width: 50px;
	height: 5px;
	background: rgb(250,211,17);
	margin: 25px 0;
}

/* --- MEDIA QUERIES --- */ 

@media screen and (min-width: 760px), 
screen and (min-device-width: 760px) { 

	.content {
		max-width: 1000px;
	}
}

@media screen and (max-width: 759px),
screen and (max-device-width: 759px) {

	.teaser_img {
		width: 40%;
		-webkit-transition: 0.4s;
		transition: 0.4s;
	}

	.teaser_desc {
		width: 60%;
		-webkit-transition: 0.4s;
		transition: 0.4s;
	}

	.gallery > div {
		width: 49%;
		-webkit-transition: 0.4s;
		transition: 0.4s;
	}
}

@media screen and (max-width: 638px),
screen and (max-device-width: 638px) {

	.content {
		width: 95.2978%;
		-webkit-transition: 0.4s;
		transition: 0.4s;
	}

	.teaser_img, .teaser_desc {
		width: 100%;
		-webkit-transition: 0.4s;
		transition: 0.4s;
	}

	.teaser img {
		width: 80%
		margin: 10px 10%;
	}

	.teaser_desc > div {
		width: 80%
		margin: 10px 10%;
	}
}

@media screen and (max-width: 551px),
screen and (max-device-width: 551px) {

	.content {
		width: 100%;
		border: none;
		margin-bottom: 0px;
		-webkit-transition: 0.4s;
		transition: 0.4s;
	}

	.gallery > div {
		width: 90%;
		margin: 2px 5%;
		-webkit-transition: 0.4s;
		transition: 0.4s;
	}
} 