@charset "utf-8";

/*
 * HTML5 Boilerplate
 *
 * 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,
body,
button,
input,
select,
textarea { 
	margin: 0;
	padding: 0;
	color: #6a6a6a;
}

/*
 * A better looking default horizontal rule
 */

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

/*
 * Remove the gap between images and the bottom of their containers: h5bp.com/i/440
 */

img { 
	max-width: 100%;
	height: auto;
	vertical-align: middle; 
}

/*
 * Remove default fieldset styles.
 */

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

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

textarea { resize: vertical; }

/* ==========================================================================
   Chrome Frame prompt
   ========================================================================== */
.chromeframe {
	margin: 0.2em 0;
	background: #ccc;
	padding: 0.2em 0;
}

/* --------------------------------------------------------------------------
   ALLGEMEINE CSS
   -------------------------------------------------------------------------- */
body,
html {
	font-size: 16px;
	line-height: 150%;
	text-align: center;
	background-color: #fff;
}

html { 
	overflow-y: scroll; 
	background-color: #fff;
}

article										{ position: relative; }

section {
	position: relative;
	box-sizing: border-box;
	width: 100%;
	margin: 0 auto;
}

.main_wrapper,
.cont_wrapper_cont,
.cont_wrapper_small,
.cont_wrapper_wide,
.cont_wrapper_mid,
.cont_wrapper_gal,
.cont_wrapper_hd,
.cont_wrapper_full {
	position: relative;
	box-sizing: border-box;
	width: 100%;
	margin: 0 auto;
	background-color: #fff;
}

.cont_wrapper_small		{ max-width: 700px; }
.cont_wrapper_cont		{ max-width: 900px; }
.cont_wrapper_mid		{ max-width: 1040px; }
.cont_wrapper_wide		{ max-width: 1400px; }
.cont_wrapper_hd		{ max-width: 1920px; }

h1, h2, h3, h4, h5, h6	{ 
	line-height: 150%;
	margin: 0;
}

a,
a:hover										{ text-decoration: none; }

p											{ margin: 0 0 12px 0; }

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

/* --------------------------------------------------------------------------
   FOOTER
   -------------------------------------------------------------------------- */
footer {
	position: relative;
	box-sizing: border-box;
	width: 100%;
	border: 0;
}

footer .contentBox					{ background-color: #fff; }

footer .contentBox span {
	font-size: 0.8rem;
	letter-spacing: 0.03em;
	text-transform: uppercase;
}

footer .toImpressum {
	display: none;
	cursor: pointer;
}

footer .contentBox a:hover,
footer .toImpressum:hover { 
	text-decoration: none;
}

footer .impressumBox					{ padding: 60px 0; }

footer .impressumBox h3,
.ovImpressumBox h3						{ margin-bottom: 20px; }

.closeOv {
	position: fixed;
	top: 20px;
	right: 40px;
	height: 40px;
	width: 40px;
	text-align: center;
	font-size: 30px;
	line-height: 40px;
}

#isMob { width: 1px; }

/* --------------------------------------------------------------------------
   HAUPTVIGATION
   -------------------------------------------------------------------------- */
#mMenu {
	display: block;
	position: absolute;
	box-sizing: border-box;
	width: 100%;
	height: 130px;	
}

ul.mainMenu {
	display: block;
	position: relative;
	margin-top: 150px;
	list-style: none;		
}

ul.mainMenu li {
	display: inline-block;
	padding-left: 10px;
}

ul.mainMenu li:first-child				{ padding-left: 0; }
ul.mainMenu li:last-child				{ padding-right: 0; }

ul.mainMenu li a {	
	text-transform: uppercase;
	letter-spacing: 0.04em;
	text-decoration: none;
}

ul.mainMenu li a:hover,
ul.mainMenu li a.current { 
	text-decoration: none;
}

/* --------------------------------------------------------------------------
   SLIDENAVIGATION
   -------------------------------------------------------------------------- */
#slideMenu .floatBox1,
#slideMenu .floatBox2 { 
	display: inline-block; 
	box-sizing: border-box;
	width: 55%;
	text-align: left;
	vertical-align: top;
}

#slideMenu .floatBox2					{ width: 45%; }

#slideMenu ul {
	display: block;
	list-style: none;
}

#slideMenu ul li:last-child				{ border-bottom: 0; }

#slideMenu ul li a {
	display: inline-block;
}

#slideMenu ul li.hasChildren,
#slideMenu ul li.hasChildren span		{ height: 133px; }

#slideMenu ul li ul						{ margin-top: -25px; }

#slideMenu ul li ul li {
	height: auto;
	border-bottom: 0;	
}

#slideMenu ul li ul li a {
	font-size: 11px;
	line-height: 11px;
	text-transform: none;
	letter-spacing: normal;
}

/* --------------------------------------------------------------------------
   CONTENTBEREICHE (SECTION, ARTICLE, ALLGEMEIN)
   -------------------------------------------------------------------------- */
.content {}

.content.bgAlt { 
	margin-bottom: 80px;
	padding: 40px;
}

.content.bgAlt.full { 
	margin-bottom: 0;
	padding: 0 0 60px;
}

.content img {
	display: block;
	box-sizing: border-box;
	max-width: 100%;
	height: auto;
}

.content ul {
	margin-left: 5px;
	margin-bottom: 20px;
}

.trenner_line {
	margin: 0;
	width: 100%;
	height: 1px;
	border: 0;
	border-style: solid;
    border-top-width: 1px;
}

.text li 								{ margin-left: 20px; }

.pic_content_full {
	width: 100%;
	max-width: 100%;
	margin: 40px 0;
	padding: 0 20px;
	box-sizing: border-box;
	overflow: hidden;
}

.pic_content_full img {
	width: 100%;
	height: auto;
	-webkit-transition: all 0.7s ease;
	transition: all 0.7s ease;
}

.pic_content_full:hover img {
	-webkit-transform:scale(1.05);
	transform:scale(1.05);
}

.shadow {
	-webkit-box-shadow: 4px 4px 4px -2px #999;
	-moz-box-shadow: 4px 4px 4px -2px #999;
	box-shadow: 4px 4px 4px -2px #999;
}

.shadowBot {
	-webkit-box-shadow: 0 4px 4px -2px #999;
	-moz-box-shadow: 0 4px 4px -2px #999;
	box-shadow: 0 4px 4px -2px #999;
}

.picFootline p {
	font-size: 0.8rem;
	line-height: 125%;
	text-align: right;
}

.content_wrapper_wide .picFootline		{ margin-right: 20px; }

.picFootline h2							{ display: none; }
.picFootline p							{ margin: 0; }

.textTop,
.textBottom,
.textLeft,
.textRight {
	position: absolute;
	box-sizing: border-box;
	top: 0;
	left: 0;
	width: 100%;
	height: auto;
	padding: 20px 30px 10px;
	background-color: rgba(0, 0, 0, 0.4);
}

.textBottom {
	top: auto;
	bottom: 0;
}

.textLeft,
.textRight {
	position: absolute;
	box-sizing: border-box;
	width: auto;
	max-width: 30%;
	height: 100%;
}

.textRight {
	left: auto;
	right: 0;
}

.textBanner {
	position: absolute;
	box-sizing: border-box;
	top: 50%;
	left: 50%;
	height: 220px;
	width: 500px;
	margin-top: -110px;
	margin-left: -250px;
	padding: 20px 30px;
	background-color: rgba(0, 0, 0, 0.4);
}

.textTop h2,
.textTop p,
.textBottom h2,
.textBottom p,
.textLeft h2,
.textLeft p,
.textRight h2,
.textRight p,
.textBanner h2 { 
	padding: 0;
	margin: 0 0 10px 0 !important;
	line-height: 120%;
}

.textBanner p							{ display: none; }

.textTop h2,
.textBottom h2,
.textLeft h2,
.textRight h2,
.textBanner h2							{ font-size: 1.1rem; }

.textTop p,
.textBottom p,
.textLeft p,
.textRight p,
.textBanner p							{ font-size: 0.9rem; }

.contHl {
	position: relative;
	box-sizing: border-box;
	-webkit-transition: all 1s ease;
	-moz-transition: all 1s ease;
	-o-transition: all 1s ease;
	transition: all 1s ease;
}

.contHl.full { 
	width: 100%;
	padding-bottom: 0;
    min-height: 0;
}

.contHl.open							{ opacity: 0; }

.contText {
	box-sizing: border-box;
	-webkit-transition: all 1s ease;
	-moz-transition: all 1s ease;
	-o-transition: all 1s ease;
	transition: all 1s ease;
}

.contText.open { 
	width: 100%; 
	overflow: hidden;
}

.contText.open .txtbot					{ display: none; }

.contHlSmall {
	position: relative;
	display: block;
	box-sizing: border-box;
	white-space: nowrap;
	-webkit-transition: all 1s ease;
	-moz-transition: all 1s ease;
	-o-transition: all 1s ease;
	transition: all 1s ease;
}

.contHlSmall.open { 
	width: 90%; 
	width: calc(100% - 40px);
}

.responsive-video {
    position: relative;
    padding-bottom: 56.25%;
    padding-top: 0px;
    height: 0;
    overflow: hidden;
}

/* --------------------------------------------------------------------------
   FORMULARE
   -------------------------------------------------------------------------- */
input[type="text"],
input[type="password"],
textarea,
select {
	height: 30px;
	margin-bottom: 10px;	
	padding: 0 20px;
	border: 1px solid #999;
	font-size: 0.8rem;
	letter-spacing: 0.03em;
	line-height: 28px;
	background: #fff;
}

textarea						{ height: 190px; }

input::-webkit-input-placeholder { 
	color: #a99c95;
	font-weight: 700;
	text-transform: none; 
}
input::-moz-placeholder	{ 
	color: #a99c95;
	font-weight: 700;
	text-transform: none;  
}
input:-ms-input-placeholder	{ 
	color: #a99c95;
	font-weight: 700;
	text-transform: none;  
}
input:-moz-placeholder	{ 
	color: #a99c95;
	font-weight: 700;
	text-transform: none; 
}

input[type="submit"] {
	width: auto;
	height: auto;
	border: 1px solid #7c8b93;
    padding: 10px 20px;
	background-color: transparent;
    font-size: 1.01rem;
	line-height: 100%;
	letter-spacing: 0.06em !important;
    text-transform: none;
    float: right;
}

input[type="submit"]:hover {
	background-color: #ddd;
} 

/* --------------------------------------------------------------------------
   BACKGROUNDSLIDER (Immo / Projekt)
   -------------------------------------------------------------------------- */
#slideboxImmo,
#slideboxProjekt {
	position: relative;
	box-sizing: border-box;
	width: 100%;
	height: 60%;
	padding: 0 20px;
	background-color: #fff;
}

#slideboxImmo	 					{ height: 650px; }

#slideboxProjekt .pic_wrapper {
	position: absolute;
    width: calc(100% - 40px);
    height: 100%;
	border: 0;
	border-style: solid;
    border-bottom-width: 20px;
}

#slideboxImmo .onePic,
#slideboxProjekt .onePic{
	position: absolute;
	box-sizing: border-box;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	padding: 0;
	background-position: center;
	background-size: cover;
	background-repeat: no-repeat;
	background-clip: content-box;	
	opacity: 0;
	-webkit-transition: all 2s ease;
	-moz-transition: all 2s ease;
	-o-transition: all 2s ease;
	transition: all 2s ease;
	z-index: 10;
}

#slideboxImmo .onePic {
	padding: 0 20px;
}

#slideboxImmo .showPic,
#slideboxProjekt .showPic {
	opacity: 1.0 !important;
	z-index: 15 !important;
}

.textBox .oneDiv {
	position: absolute;
	box-sizing: border-box;
	bottom: 0;
	left: 20px;
	width: calc(100% - 40px);
	height: auto;
	padding: 20px;
	opacity: 0;
	-webkit-transition: all 2s ease;
	-moz-transition: all 2s ease;
	-o-transition: all 2s ease;
	transition: all 2s ease;
	z-index: 10;
	text-align: left;
}

.textBox .showDiv {
	opacity: 0.9 !important;
	z-index: 15 !important;
}

#slideCtrlPrevImmo,
#slideCtrlNextImmo,
#slideCtrlPrevProjekt,
#slideCtrlNextProjekt {
	position: absolute;
	top: 50%;
	margin-top: -70px;
	width: 60px;
	height: 60px;
	font-size: 54px;
	line-height: 60px;
	z-index: 40;
	cursor: pointer;
}

#slideCtrlPrevProjekt,
#slideCtrlNextProjekt			{ margin-top: -30px; }

#slideCtrlPrevImmo,
#slideCtrlPrevProjekt			{ left: 20px; }
#slideCtrlNextImmo,
#slideCtrlNextProjekt			{ right: 20px; }

/* --------------------------------------------------------------------------
   EINZELNE TEMPLATES/BEREICHE
   -------------------------------------------------------------------------- */
/* ---------------------- Startseite ----------- */
section.start .cont_wrapper_wide.outer {
	padding-top: 240px;
}

section.start .content p		{ margin-top: 12px; }

section.start h1				{ margin-top: 80px; }

section.start h2,
section.start .content h2,
section.start .content p:first-child { margin-top: 0; }

/* ---------------------- Kontakt ----------- */
section#kontakt .kontaktTextBox {
	position: relative;
	box-sizing: border-box;
	float: left;
	width: 50%;
	padding-right: 10px;
}

section#kontakt .kontaktFormBox {
	position: relative;
	box-sizing: border-box;
	float: right;
	width: 50%;
	padding-left: 10px;
}

section#kontakt .kontaktFormBox .kontaktPflichtfeld {
	margin: 10px 0;
	padding: 0;
	text-align: left;
	font-size: 13px;
	font-style: italic;
}

section#kontakt .logokontakt {
	margin: 20px 0 60px;
	width: 280px;
	height: auto;
}
	
section#kontakt .kontaktFormBoxSub {
	box-sizing: border-box;
	float: right;
	width: 28%;
	text-align: left;
}

.message { 
	margin: 0 0 20px;
	font-size: 16px;
}

/* ---------------------- Standardseite ----------- */


/* ---------------------- Slideseite ----------- */


/* ---------------------- Projektliste / Projektdetails ----------- */


/* ---------------------- Immobilienliste / Immobiliengalerie ----------- */
.immoList.cont_wrapper_wide {
	position: relative;
	box-sizing: border-box;
	margin-top: 80px;
	margin-bottom:80px;
	padding: 0 10px;
	text-align: left;
}

.immoList .vorschauBox,
.immoGal  .vorschauBox					{ text-align: left; }

.immoList .immoVsItem,
.immoGal  .immoVsItem {
	position: relative;
	box-sizing: border-box;
	display: inline-block;
	width: calc( (100% - 80px) / 4 );
	margin: 10px;
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
	cursor: pointer;
}

.immoList .immoVsTxtBox,
.immoGal  .immoVsTxtBox {
	position: absolute;
	bottom: 0;
	width: 100%;
	height: 60px;
	opacity: 0.8;
	text-align: center;
}

.immoList .immoVsTxtBox p,
.immoGal  .immoVsTxtBox p {
	position: relative;
	margin: 0;
	padding: 0 10px;
	font-size: 16px;
	line-height: 125%;
}

.immoList .immoVsTxtBox.vk p {
	font-size: 30px;
	line-height: 100%;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.immoGal.cont_wrapper_wide {
	position: relative;
	box-sizing: border-box;
	margin-top: 230px;
	margin-bottom: 80px;
	padding: 0 10px;
}

.cont_pic .picSubtext {
	position: absolute;
	bottom: 0;
	left: 0;
	padding: 10px 20px;
	font-size: 16px;
	line-height: 130%;
	opacity: 0.75;
	text-align: left;
}
	
.immoGal .immoGalHead {
	position: relative;
	box-sizing: border-box;
	padding: 40px 10px 80px;
}

.immoGal .immoGalBackBut,
.immoGal .immoGalMailBut {
	display: inline-block;
	float: left;
	padding-left: 51px;
	background-image: url("../_tpl/Icon_ExposeUebersicht.gif");
	background-repeat: no-repeat;
	background-position: left center;
	background-size: auto 100%;
	font-size: 22px;
	line-height: 26px;
}

.immoGal .immoGalMailBut {
	float: right;
	padding-left: 66px;
	background-image: url("../_tpl/Icon_Expose_Mail.gif");
}

.content.immobilien-detail				{ margin: 80px 0 60px; }

/* ---------------------- Impressum ----------- */
.content.impressum	 					{ margin-bottom: 80px; }

.impSp1,
.impSp2 {
	margin-top: 30px;
	text-align: left;
	font-size: 12px;
}

.impSp1 a,
.impSp2 a {
	text-decoration: underline;
}

.impSp1 a:hover,
.impSp2 a:hover { text-decoration: none; }

.impSp1 p,
.impSp2 p {
	margin: 0;
	padding: 0;
	margin-bottom: 12px;
}

.impSp1 h3,
.impSp2 h3 {
	font-size: 11px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	margin: 18px 0 0 0;
	padding: 0;
}

.impSp1 h3:first-child,
.impSp2 h3:first-child {
	margin: 0;
}

.impSp1 img,
.impSp2 img {
	margin: 0;
	padding: 0;
	margin-bottom: 35px;
}

.impSp1 {
	float: left;
	width: 32.8%;
}

.impSp1 span {
	font-size: 11px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.impSp2 {
	float: right;
	width: 66%;
}

/* --------------------------------------------------------------------------
   Overlay Impressum (ModalWindow)
   -------------------------------------------------------------------------- */
.overlay {
	display: none;
	position: fixed;
	bottom: 0px;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(60, 60, 60, 0.7);
	z-index: 300;
	overflow: auto;
	cursor: pointer;
}

.ovImpressumBox {
	position: relative;
	width: 70%;
	max-width: 900px;
	margin: 200px auto 100px;
	padding: 60px 40px;
	box-sizing: border-box;
	text-align: left;
	background-color: #fff;
	cursor: default;
}

.ovImpressumBox ul,
.ovImpressumBox ol {
	padding-left: 20px;
}

/* --------------------------------------------------------------------------
   Überschreiben von bxslider Definitionen
   -------------------------------------------------------------------------- */
.bx-wrapper .bx-viewport {
    -moz-box-shadow: none;
    -webkit-box-shadow: none;
    box-shadow: none;
    border: 0;
    left: 0;
}

.bx-wrapper .bx-pager.bx-default-pager a {
    background: #ffce54;
    width: 14px;
    height: 14px;
    -moz-border-radius: 7px;
    -webkit-border-radius: 7px;
    border-radius: 7px;
}

.bx-wrapper .bx-pager, .bx-wrapper .bx-controls-auto {
    bottom: 25px;
	z-index: 999;
}

/* --------------------------------------------------------------------------
   Layout classes individuell
   -------------------------------------------------------------------------- */
.bTop			{ border-top: 1px black solid; }
.bBottom		{ border-bottom: 1px black solid; }

.bgAlt			{ background-color: #ddd; }
.bgStd			{ background-color: #fff; }

.trenner {
	width: 114px;
	border-bottom: 1px black solid;
	padding-top: 20px;
	margin: 0 auto 20px;
}

.err			{ color: #f00; }
.ow				{ display: none; }

.wdh			{ display: none !important; }

/* --------------------------------------------------------------------------
   Layout classes allgemein
   -------------------------------------------------------------------------- */
.w006p, .w010p, .w012p, .w1-8, .w015p, .w01-6, .w020p, .w025p, .w030p, 
.w1-3, .w040p, .w050p, .w050p_mob, .w060p, .w01-6, .w070p, .w075p, .w080p, .w090p, .w100p {
	box-sizing: border-box;
}

.w006p			{ width: 6%; }
.w010p			{ width: 10%; }
.w012p			{ width: 12%; }
.w1-8			{ width: 12.5%; }
.w015p			{ width: 15%; }
.w01-6			{ width: 16.666%; }
.w020p			{ width: 20%; }
.w025p			{ width: 25%; }
.w030p			{ width: 30%; }
.w1-3			{ width: 33.333%; }
.w040p			{ width: 40%; }
.w050p			{ width: 50%; }
.w050p_mob		{ width: 50%; }
.w060p			{ width: 60%; }
.w01-6			{ width: 66.666%; }
.w070p			{ width: 70%; }
.w075p			{ width: 75%; }
.w080p			{ width: 80%; }
.w090p			{ width: 80%; }
.w100p			{ width: 100%; }
.noDisplay 		{ display: none; }

.fl085p,
.fr085p {
	box-sizing: border-box;
	float: left;
	width: 85% !important;
}
.fl085p.space,
.fr085p.space { 
	width: 83% !important;
	width: calc( 85% - 10px ) !important; 
}
.fr085p			{ float: right; }

.fl080p,
.fr080p {
	box-sizing: border-box;
	float: left;
	width: 80% !important;
}
.fl080p.space,
.fr080p.space { 
	width: 78% !important;
	width: calc( 80% - 10px ) !important; 
}
.fr080p			{ float: right; }

.fl070p,
.fr070p {
	box-sizing: border-box;
	float: left;
	width: 70% !important;
}
.fl070p.space,
.fr070p.space { 
	width: 68% !important;
	width: calc( 70% - 10px ) !important; 
}
.fr070p			{ float: right; }

.fl050p,
.fr050p {
	box-sizing: border-box;
	float: left;
	width: 50% !important;
}
.fl050p.space,
.fr050p.space { 
	width: 48% !important;
	width: calc( 50% - 10px ) !important; 
}
.fr050p			{ float: right; }

.fl030p,
.fr030p {
	box-sizing: border-box;
	float: left;
	width: 30% !important;
}
.fl030p.space,
.fr030p.space { 
	width: 28% !important;
	width: calc( 30% - 10px ) !important; 
}
.fr030p			{ float: right; }

.fl028p,
.fr028p {
	box-sizing: border-box;
	float: left;
	width: 28% !important;
}
.fl028p.space,
.fr028p.space { 
	width: 26% !important;
	width: calc( 28% - 10px ) !important; 
}
.fr028p			{ float: right; }

.fl025p,
.fr025p {
	box-sizing: border-box;
	float: left;
	width: 25% !important;
}
.fl025p.space,
.fr025p.space { 
	width: 23% !important;
	width: calc( 25% - 10px ) !important; 
}
.fr025p			{ float: right; }

.fl020p,
.fr020p {
	box-sizing: border-box;
	float: left;
	width: 20% !important;
}
.fl020p.space,
.fr020p.space { 
	width: 18% !important;
	width: calc( 20% - 10px ) !important; 
}
.fr020p			{ float: right; }

.fl015p,
.fr015p {
	box-sizing: border-box;
	float: left;
	width: 15% !important;
}
.fl015p.space,
.fr015p.space { 
	width: 13% !important;
	width: calc( 15% - 10px ) !important; 
}
.fr015p			{ float: right; }

.mTop0 			{ margin-top: 0 		!important; }
.mTop0_5		{ margin-top: 15px 		!important; }
.mTop 			{ margin-top: 30px 		!important; }
.mTop1_5		{ margin-top: 45px 		!important; }
.mTop2 			{ margin-top: 60px 		!important; }
.mTop3 			{ margin-top: 90px 		!important; }
.mTop4 			{ margin-top: 120px 	!important; }
.mTop5 			{ margin-top: 150px 	!important; }

.mBot0 			{ margin-bottom: 0 		!important; }
.mBot0_5		{ margin-bottom: 15px 	!important; }
.mBot 			{ margin-bottom: 30px 	!important; }
.mBot1_5		{ margin-bottom: 45px 	!important; }
.mBot2 			{ margin-bottom: 60px 	!important; }
.mBot3 			{ margin-bottom: 90px 	!important; }
.mBot4 			{ margin-bottom: 120px 	!important; }
.mBot5 			{ margin-bottom: 150px 	!important; }

.mLeft1			{ margin-left: 18px; }

.mRight0		{ margin-right: 0		!important; }

.pTop0 			{ padding-top: 0 		!important; }
.pTop0_5		{ padding-top: 15px 	!important; }
.pTop 			{ padding-top: 30px 	!important; }
.pTop1_5		{ padding-top: 45px 	!important; }
.pTop2 			{ padding-top: 60px 	!important; }
.pTop3 			{ padding-top: 90px 	!important; }
.pTop4 			{ padding-top: 120px 	!important; }
.pTop5 			{ padding-top: 150px 	!important; }
.pTop15 		{ padding-top: 450px 	!important; }
.pTop20P 		{ padding-top: 20%; }

.pBot0 			{ padding-bottom: 0 	!important; }
.pBot0_5		{ padding-bottom: 15px 	!important; }
.pBot 			{ padding-bottom: 30px 	!important; }
.pBot1_5		{ padding-bottom: 45px 	!important; }
.pBot2 			{ padding-bottom: 60px 	!important; }
.pBot3 			{ padding-bottom: 90px 	!important; }
.pBot4 			{ padding-bottom: 120px !important; }
.pBot5 			{ padding-bottom: 150px !important; }
.pBot15		 	{ padding-bottom: 450px !important; }

.pLeft20		{ padding-left: 20px !important; }

.aLeft 			{ text-align: left; }
.aRight 		{ text-align: right; }
.aCenter 		{ text-align: center; }
.aJust 			{ text-align: justify; }

.absLeft 		{ left: 0; }
.absRight 		{ right: 0; }

.left,
.flLeft			{ float: left; }
.right,
.flRight		{ float: right; }

.hide 			{ overflow: hidden; }

.bgTransp 		{ background: none; }

.posRel 		{ position: relative !important; }

.hAuto 			{ height: auto !important; }
.bNull 			{ border: 0; }

.italic			{ font-style: italic; }
.bold			{ font-weight: bold; }

.ovAuto			{ overflow: auto; }

.table			{ display: table; }
.tableCell { 
	display: table-cell;
	padding: 0 10px;
}

a.sel,
a.sel:hover									{ text-decoration: underline; }

img.fullPic,
picture.fullPic {
	width: 100%;
	max-width: 100%;
	height: auto;	
}

.zweispaltig {
	-moz-column-count: 2;
	-webkit-column-count: 2;
	column-count: 2;
	-moz-column-gap: 30px;
	-webkit-column-gap: 30px;
	column-gap: 30px;
}

.dreispaltig {
	-moz-column-count: 3;
	-webkit-column-count: 3;
	column-count: 3;
	-moz-column-gap: 30px;
	-webkit-column-gap: 30px;
	column-gap: 30px;
}

.autotrenn {
    -webkit-hyphens: auto;
    -moz-hyphens: auto;
    -ms-hyphens: auto;
    -o-hyphens: auto;
    hyphens: auto;                
}

.gray { 
	-webkit-filter: grayscale(100%);
	-moz-filter: grayscale(100%);
	-ms-filter: grayscale(100%);
	-o-filter: grayscale(100%);
	filter: grayscale(100%);
}

.rotate_90 {
	-moz-transform:rotate(90deg); /* Firefox 3.6 Firefox 4 */
	-webkit-transform:rotate(90deg); /* Safari */
	-o-transform:rotate(90deg); /* Opera */
	-ms-transform:rotate(90deg); /* IE9 */
	transform:rotate(90deg); /* W3C */
} 

.rotate_90b {
	-moz-transform:rotate(-90deg); /* Firefox 3.6 Firefox 4 */
	-webkit-transform:rotate(-90deg); /* Safari */
	-o-transform:rotate(-90deg); /* Opera */
	-ms-transform:rotate(-90deg); /* IE9 */
	transform:rotate(-90deg); /* W3C */
}

.dump {
	width: 100%;
	margin: 30px 0;
	padding: 10px;
	border: 1px dotted white;
	text-align: left;
	overflow: auto;
}

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

/*
 * Image replacement
 */

.ir {
	background-color: transparent;
	border: 0;
	overflow: hidden;
    /* IE 6/7 fallback */
    *text-indent: -9999px;
}

.ir:before {
	content: "";
	display: block;
	width: 0;
	height: 150%;
}

/*
 * Hide from both screenreaders and browsers: h5bp.com/u
 */

.hidden {
	display: none !important;
	visibility: hidden;
}

/*
 * Hide only visually, but have it available for screenreaders: h5bp.com/v
 */

.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: h5bp.com/p
 */

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

/*
 * Hide visually and from screenreaders, 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 `cf` class.
 * 2. The use of `table` rather than `block` is only necessary if using
 *    `:before` to contain the top-margins of child elements.
 */

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

.cf:after,
.clear		{ clear: both; }

/*
 * For IE 6/7 only
 * Include this rule to trigger hasLayout and contain floats.
 */

.cf {  *zoom: 1; }