@charset "utf-8";
html, body {
	width: 100%;
	height: 100%;
}
*, ::before, ::after { 
  	box-sizing: border-box; 
	padding: 0;
	margin: 0;  
}
body {
	font: 110%/1.4 'Lora', serif;
	background-color: #CCC;
	color: #666;
}

/* ~~ Element-/Tag-Selektoren ~~ */
img {
	width: 100%;
	max-width: 100%;
	height: auto;
}
.contentbox img {
	display: block;
	margin: 0 auto 25px;
	vertical-align: bottom;
}
.contentbox p {
	margin-bottom: 25px;
}
.contentbox ul {
	margin: 0 0 25px 18px;
}
.contentbox ol {
	display: inline-block;
	list-style: none;
	margin: 0 auto 25px;
}
.contentbox em, .contentbox s {
	display: inline-block;
	font-style: normal;
	text-decoration: none;	
	width: 120px;
}
.contentbox .center {
	text-align: center;
}
a img { 
	border: none;
}
a {
	color: #39F;
	text-decoration: none;
}
a:hover, a:active, a:focus {
	text-decoration: underline;
}
.container h1 {
	font: 280%/1.2 'Great Vibes', cursive;
	font-weight: 400;
	margin-bottom: 25px;
}
.container h2 {
	font-size: 140%;
	line-height: 1.2;	
	font-weight: 700;
	margin-bottom: 15px;	
}
.container h3 {
	font-size: 150%;
	line-height: 1.2;	
	font-weight: 700;
	margin-bottom: 15px;		
}
.container h4 {
	font-size: 130%;
	line-height: 1.2;	
	font-weight: 700;
	margin-bottom: 5px;	
}
.container hr {
	border: 0;
	border-top: 1px solid #666; 
	height: 1px;
	margin: 30px 0 50px;
}

/* ~~ Layout ~~ */
.wrapper {
	background-color: #FFF;
}
.container {
	position: relative;
	width: 90%;
	max-width: 1000px;
	margin: 0 auto;
	clear: both;
}
.headerbox {
	position: relative;
	padding-top: 10px;
	display: block;
	z-index: 900;
	border-bottom: #666 1px solid;	
	margin-bottom: 30px;
	line-height: 1.0;
}
.headerbox .container {
	max-width: 90%;
}
.logo {
	display: block;
	float: left;
	width: 100%;
	max-width: 250px;
	padding-right: 50px;
	padding-bottom: 10px;
}
.logo img{
	margin-bottom: 0;
}
.navigation {
	position: absolute;
	width: 100%;
	text-align: right;	
	height: 1px;
	overflow: visible;
}
.contentbox {
	clear: both;
	padding: 10px 0 50px;
}
.breit {
	clear: both;
}
.footer {
	clear: both;
	padding: 30px 0 25px;
	border-top: #666 1px solid;
}
.footer span{
	float: right;
}
/* ~~ Page List ~~ */
.ccm-block-page-list-page-entry {
	margin-bottom: 25px !important;
}
.ccm-block-page-list-title {
	font-size: 120%;
}
.ccm-block-page-list-date {
	font-weight: 700;
}
/* ~~ YouTube ~~ */
.youtubeBlock {
	margin-bottom: 40px;
}

/* ~~ Random Image ~~ */
.d3-random-image {
	position: relative;
	display: block;
    width: 100%;
	padding-top: 66.666%;
	overflow: hidden;	
	margin-bottom: 60px;
}
.d3-random-image img {
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;	
	margin: 0;
	padding: 0;
	top: 66.666%;
	left: 66.666%;
	transform: translate(-66.666%, -66.666%);	
	overflow: hidden;
	max-width: none;
	width: 101%;
    height: 101%;
    object-fit: cover;	
}

/* ~~ Bild & Text ~~ */
.bild img{
	max-width: 400px;
	margin: 0 0 20px;
}

/* ~~ Grand Gallery ~~ */
.gg-container {
	margin: 0 0 30px !important;
}
img.gg-image {
	margin: 0;
}
h2.gg-title {
	font-size: 150%;	
	background-color: #036;
	color: #FFF;
	padding: 5px 20px;
	margin-bottom: 20px;
	border-radius: 10px;	
}
.gg-photo-swipe-title {
    font-size: 130%;
}

/* ~~ Foemular ~~ */
fieldset {
	padding: 20px 20px 0 20px;
}
.form-group {
	margin-bottom: 25px;
}
.control-label {
	font-weight: 700;
}
.ccm-form .form-control {
	display: block;
	padding: 5px;
	width: 100%;
	font: 100%/1.4 'Lora', serif !important;
}
.text-muted {
	color: transparent !important;
}
.text-muted:before {
	content: "*" !important;
	color: #000000 !important;
}
.ccm-form .btn.btn-primary {
	text-transform: uppercase;
	background-color: #666;
	color: #FFF;
	font-size: 100% !important;
	border: none !important;
	padding: 10px;
	font-weight: 400 !important;
	cursor: pointer;
	margin: 20px 0;
}
.ccm-form .btn.btn-primary:hover {
	background-color: #000000;	
}

/* ~~ Verschiedene float/clear-Klassen ~~ */
.clearfloat {
	clear:both;
	height:0;
	font-size: 1px;
	line-height: 0px;
}

@media (min-width: 800px) { 
.links {
	float: left;
	width: 47%;
}
.rechts {
	float: right;
	width: 47%;
}
/* ~~ Grand Gallery ~~ */
.gg-container {
	margin: 0 -10px 30px !important;
}
/* ~~ Bild & Text ~~ */
.doppelbox {
	clear:both;
	display: table;
	width: 100%;
	margin-bottom: 25px;
}
.bild {
	display: table-cell;
	width: 40%;
	padding-right: 20px;
	vertical-align: top;
}
.text {
	display: table-cell;
	width: 60%;
	padding-left: 20px;
	vertical-align: middle;	
}
}
@media (min-width: 1200px) { 
.headerbox .container {
	position: relative;
	display: table;
	width: 100%;
	z-index: 999;
}
.logo {
	display: table-cell;
	float: none;
	padding-right, padding-bottom: 0;
	padding-top: 10px;
	width: 250px;
	max-width: none;
}
.navigation {
	position: relative;
	display: table-cell;
	width: auto;
	vertical-align: top;
	padding-top: 30px;
	text-align: right;	
}
}