* {padding: 0; margin: 0; border: 0px none;}
html, body {height: 100%;}
body {background-color: #000; color: #fff; font-family: 'Open Sans',sans-serif;}
a {color: #fff; text-decoration: none;}
a, a:active, a:hover, a:focus, a:visited {outline: none;}
strong + a {margin-left: 7px;}
img, video {max-width: 100%; max-height: 100%; width: auto; height: auto;}
.btn {display: inline-block; background-color: #fff; color: #000; padding: 10px 20px; text-transform: uppercase; font-size: 15px; cursor: pointer;}
.btn:hover {background-color: #eee;}
p:not(:last-of-type) {margin-bottom: 20px;}
#content ul {list-style-position: inside;}
#content ul + p {margin-top: 20px;}
.container {margin-left: auto; margin-right: auto;}

h1, h2, h3, h4 {text-transform: uppercase;}
.textblock h1, .bgblock h1 {font-size: 35px;}
h2 {font-size: 20px; margin-bottom: 10px;}
#content.vertical h1 {font-size: 25px; margin-bottom: 30px; word-wrap: break-word; hyphens: auto; -moz-hyphens: auto; -ms-hyphens: auto; -webkit-hyphens: auto; }
#content.vertical h3 {margin-bottom: 20px;}
#content.vertical h4 {margin-bottom: 10px;}
#content.vertical a {text-decoration: underline;}

.collapse:not(.show) {display: none;}

.frame-space-before-extra-small {margin-top: 20px;}
.frame-space-before-small {margin-top: 40px;}
.frame-space-before-medium {margin-top: 60px;}
.frame-space-after-extra-small {margin-bottom: 20px;}
.frame-space-after-small {margin-bottom: 40px;}
.frame-space-after-medium {margin-bottom: 60px;}

.d-flex {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}

.nopaddingtop {padding-top: 0 !important;}
.nopaddingbottom {padding-bottom: 0 !important;}

/*.ce-left .ce-gallery, .ce-column {float: none;}
.ce-gallery figure {display: block;}
.ce-gallery, .ce-gallery .ce-column {max-width: 100%;}
.ce-intext.ce-right .ce-gallery, .ce-intext.ce-left .ce-gallery, .ce-above .ce-gallery {margin-bottom: 0;}*/

.ce-below .ce-gallery {margin-top: 30px;}
.ce-image .ce-gallery {margin-bottom: 0 !important;}
.ce-gallery figure {display: block;}
.ce-gallery, .ce-gallery .ce-column {max-width: 100%;}
.ce-intext.ce-left .ce-gallery, .ce-above .ce-gallery {margin-bottom: 30px;}
.ce-intext.ce-right .ce-gallery {margin-bottom: 0;}
.ce-textpic.ce-left.ce-intext.ce-nowrap .ce-bodytext, .ce-textpic.ce-right.ce-intext.ce-nowrap .ce-bodytext {flex-shrink: 99; flex-grow: 1;}
.ce-textpic.ce-left.ce-intext.ce-nowrap .ce-gallery {float: none; margin-right: 0; margin-bottom: 30px;}
.ce-textpic.ce-right.ce-intext.ce-nowrap .ce-gallery {float: none; margin-left: 0; margin-top: 30px;}

/*!
 * Hamburgers
 * @description Tasty CSS-animated hamburgers
 * @author Jonathan Suh @jonsuh
 * @site https://jonsuh.com/hamburgers
 * @link https://github.com/jonsuh/hamburgers
 */
.hamburger {padding: 15px 15px; display: inline-block; cursor: pointer; transition-property: opacity, filter; transition-duration: 0.15s; transition-timing-function: linear; font: inherit; color: inherit; text-transform: none; background-color: transparent; border: 0; margin: 0; overflow: visible; }
.hamburger:hover {opacity: 0.7; }
.hamburger.is-active:hover {opacity: 0.7; }
.hamburger.is-active .hamburger-inner,
.hamburger.is-active .hamburger-inner::before,
.hamburger.is-active .hamburger-inner::after {background-color: #fff; }
.hamburger-box {width: 40px; height: 24px; display: inline-block; position: relative;}
.hamburger-inner {display: block; top: 50%; margin-top: -2px; }
.hamburger-inner, .hamburger-inner::before, .hamburger-inner::after { width: 40px; height: 4px; background-color: #fff; border-radius: 4px; position: absolute; transition-property: transform; transition-duration: 0.15s; transition-timing-function: ease; }
.hamburger-inner::before, .hamburger-inner::after {content: ""; display: block; }
.hamburger-inner::before {top: -10px; }
.hamburger-inner::after {bottom: -10px; }
.hamburger--slider .hamburger-inner {top: 2px; }
.hamburger--slider .hamburger-inner::before {top: 10px;transition-property: transform, opacity;transition-timing-function: ease; transition-duration: 0.15s; }
.hamburger--slider .hamburger-inner::after {top: 20px; }
.hamburger--slider.is-active .hamburger-inner {transform: translate3d(0, 10px, 0) rotate(45deg); }
.hamburger--slider.is-active .hamburger-inner::before {transform: rotate(-45deg) translate3d(-5.71429px, -6px, 0); opacity: 0; }
.hamburger--slider.is-active .hamburger-inner::after {transform: translate3d(0, -20px, 0) rotate(-90deg); }

.navbar-toggler:focus, navbar-toggler:active, navbar-toggler:visited {outline: none !important;}

#header {align-items: center; padding: 20px; background-color: #000;}
#header .logo {width: 150px;}
#header .menutoggler {flex-grow: 1; text-align: right;}

#header #mainnav,
#header #mainnav > ul {flex-grow: 1; margin: 0; padding-left: 0; list-style: none;}
#header #mainnav > ul li a {display: block; text-transform: lowercase;}
body.home #mainnav > ul > li:first-child a, #mainnav > ul > li.active > a, body#site-4 #mainnav a[href="/contact/contact-me"] {border-bottom: 1px solid rgba(255,255,255,0.8);}

.social {font-size: 30px;}
.social ul {list-style: none;}
.social ul li {display: inline-block;}
.social ul li:not(:first-child) {margin-left: 10px;}
.social a:hover {opacity: 0.7;}

/* Mobile Menu */
#header.is-open {z-index: 2; left: 0; right: 0;}
#header.is-open, #header #mainnav.show {position: fixed;}
#header #mainnav {position: absolute; top: 99px; left: 0; right: 0; flex-direction: column; align-items: center; bottom: 0; font-size: 18px; background-color: #000; z-index: 2;}
#header #mainnav > ul {display: flex; flex-grow: 1; flex-direction: column; align-items: center; justify-content: center;}
#header #mainnav > ul li {display: block;}
#mainnav > ul > li:not(:last-child) {margin-bottom: 13px;}

#header #mainnav > ul li.dropdown > a {display: none;}
#header #mainnav > ul li.dropdown ul {display: flex; flex-direction: column; align-items: center;}
#header #mainnav > ul li.dropdown ul li:not(:last-child) {margin-bottom: 13px;}

#header .social {padding: 20px 0 40px;}

#page.has-bg {height: 100%;}
#page #content {padding: 0 20px 40px;}
#page #content.has-bg {background-size: cover; background-position: left top; background-attachment: fixed; background-repeat: no-repeat; min-height: calc(100vh - 199px); padding-top: 50px; padding-bottom: 50px; position: relative;}
#page #content.has-bg::before {content: ''; position: absolute; left: 0; top: 0; right: 0; bottom: 0; background-color: rgba(0,0,0,0.4); z-index: 0;}
body #page #content > section {position: relative;}

/* Home */
.textblock h1 {margin-bottom: 20px;}
.textblock h1 + p {padding-top: 15px; border-top: 1px solid #fff;}
.block .item {margin-top: 40px;}
.block .item.video-item {position: relative;}
.block .item .overlay {display: flex; position: absolute; left: 0; right: 0; bottom: 4px; top: 0; align-items: flex-end; justify-content: flex-end; padding: 10px;}
.block .item .overlay span, .block .item .overlay.video a {display: inline-block; font-size: 25px; background-color: #f089c1; border-radius: 100%; text-align: center; width: 35px; height: 35px; line-height: 35px;}
.block .item .overlay span img {margin-left: 3px; margin-bottom: 1px; width: 16px;}
.block .item .overlay.video span {cursor: pointer;}
.block .item .overlay.video span + a {margin-left: 5px;}

#content .pagetitle .hoverbutton {display: none;}
#content .pagetitle .description {margin-top: 10px;}
#content .pagetitle .description a {text-decoration: underline;}
body section.textblock + section.textblock {margin-top: 40px;}
.block.bgblock {padding: 40px; background-size: cover; background-position: center center; background-repeat: no-repeat;}
.block.bgblock .item {margin-top: 0;}
.block.bgblock .social {margin-top: 30px;}

.block.contactblocks .column {margin-top: 60px;}
.block.contactblocks h2 {margin-bottom: 25px; font-size: 20px;}
.block.contactblocks .socialtext ul {list-style: none; font-size: 20px;}
.block.contactblocks .socialtext ul li:not(:last-child) {margin-bottom: 10px;}
.block.contactblocks .socialtext a:hover {opacity: 0.8;}
.block.contactblocks .contactdata p:not(:last-child) {margin-bottom: 20px;}
.block.contactblocks .contactdata p a:hover {text-decoration: underline;}

.tx-powermail fieldset {border: 1px solid rgba(255,255,255,0.5); padding: 8px 12px 12px; margin-bottom: 15px;}
.tx-powermail fieldset legend {font-size: 0.8em; padding: 0 10px; text-transform: uppercase; color: rgba(255,255,255,0.9);}
.tx-powermail input:not([type="checkbox"]), .tx-powermail textarea {width: 100%; background: transparent; color: #fff; font-size: 15px;}
.tx-powermail input:not([type="checkbox"]) {min-height: 25px;}
.tx-powermail .mandatory {margin-left: 2px;}
.tx-powermail .checkbox {font-size: 0.8em;}
.tx-powermail .checkbox a {text-decoration: underline;}
.tx-powermail .checkbox label {position: relative; padding-left: 20px; display: block;}
.tx-powermail .checkbox label input {position: absolute; top: 2px; left: 0;}
.tx-powermail .btn {margin-top: 20px;}
.tx-powermail .powermail_fieldset .parsley-errors-list {background: transparent; border: 0px none;}
.tx-powermail .powermail_fieldset .powermail_field_error, .tx-powermail .powermail_fieldset .parsley-error, .tx-powermail .powermail_fieldset .powermail_form .parsley-error:focus, .tx-powermail .powermail_fieldset div.error {background-color: #f089c1; color: #fff;}
.tx-powermail .powermail_fieldset .parsley-errors-list > li {padding-left: 0; color: #f089c1; font-style: italic; font-size: 0.8em;}
.tx-powermail .powermail_fieldset .powermail_field_error_container .parsley-errors-list {background-color: transparent;}

@media (min-width: 768px) {
	html, body, #page {height: 100%;}
	.container {max-width: 600px;}

	.collapse:not(.show) {display: inherit;}
	#header {position: relative; z-index: 1;}
	#header .menutoggler {display: none;}
	#header #mainnav {padding-left: 30px; position: relative; top: inherit; font-size: 16px; flex-direction: row;}
	#header #mainnav.show {position: relative;}
	#header #mainnav > ul {display: block;}
	#header #mainnav > ul li {display: inline-block;}
	#mainnav > ul > li:not(:last-child) {margin-right: 30px; margin-bottom: 0;}
	#header .social {font-size: 22px; padding: 0;}
	#mainnav > ul {line-height: 22px;}
	#mainnav > ul > li:hover > a {border-bottom: 1px solid rgba(255,255,255,0.8);}

	#header.is-open {z-index: 2; left: 0; right: 0;}
	#header.is-open {position: relative;}

	#header #mainnav > ul li.dropdown > a {display: block;}
	#header #mainnav > ul li.dropdown {position: relative;}
	#header #mainnav > ul li.dropdown ul {display: none; position: absolute; left: 0; top: 100%; padding: 20px; background-color: #000;}
	#header #mainnav > ul li.dropdown:hover ul {display: block;}
	#header #mainnav > ul li.dropdown ul li:not(:last-child) {margin-bottom: 10px;}
	#header #mainnav > ul li.dropdown ul a:hover {opacity: 0.8;}

	/* Home START */
	body #page #content {display: flex; flex-wrap: nowrap; height: calc(100vh - 84px); padding-bottom: 0; position: relative; overflow: hidden; }
	body #page #content.vertical {height: auto; padding-bottom: 60px; display: block; overflow: visible;}
	#page #content.vertical {padding-top: 30px;}
	#page #content.has-bg {height: calc(100vh - 84px); padding-top: 0; padding-bottom: 0;}
	body #page #content > section {padding-top: 0px; padding-bottom: 30px;}
	body #page #content > section:not(:last-of-type) {margin-bottom: 0;}

	.block.empty {flex: 0 0 20px; display: flex;}
	body.home .block.empty {flex-basis: 30px;}

	.block .item {position: relative; max-height: 100%; margin-top: 0;}
	.block .item.w-title {padding-left: 30px;}
	.block .item-title {position: absolute; left: 20px; bottom: 0; -webkit-transform: rotate(-90deg); -moz-transform: rotate(-90deg); -o-transform: rotate(-90deg); -ms-transform: rotate(-90deg); transform: rotate(-90deg); transform-origin: left bottom; -webkit-transform-origin: left bottom; display: inline-block;}

	.textblock {display: flex; flex-direction: column; width: 300px; justify-content: center; flex-shrink: 0;}
	body.subpage .textblock {flex-grow: 1; flex-shrink: 1;}
	body.subpage #page #content.has-bg .textblock:not(:first-of-type) {flex-shrink: 0;}
	.textblock h1 {font-size: 80px; line-height: 1em;}
	h2 {font-size: 24px;}
	#content.vertical h1 {font-size: 30px;}
	#content.vertical h2 {margin: 40px 0 20px 0;}
	body.subpage .textblock h1, .bgblock h1 {font-size: 60px;}

	.bildblock {overflow: hidden; display: flex; flex-direction: column; justify-content: space-between; flex: 0 0 auto;}
	body section + section {margin-left: 20px;}
	body section.textblock + section.textblock {margin-left: 80px; margin-top: 0;}
	body.home section + section {margin-left: 150px;}

	.bildblock.style-1 .item:first-of-type {height: 55%;}
	.bildblock.style-1 .item:last-of-type {height: 35%; margin-left: 80px;}
	.bildblock.style-1 .item:last-of-type .item-title {right: auto;}

	.bildblock.style-2 .item:first-of-type {height: 30%;}
	.bildblock.style-2 .item:last-of-type {height: 60%; margin-top: auto;}

	.videoblock {flex: 0 0 auto; display: flex; align-items: center;}

	.ps__rail-x, .ps__rail-y {opacity: 0.6;}
	.ps--active-x > .ps__rail-x, .ps--active-y > .ps__rail-y {background-color: rgba(255,255,255,0.7);}
	.ps__rail-x {height: 12px; opacity: 1; transition: background-color .2s linear, height .2s ease-in-out; -webkit-transition: background-color .2s linear, height .2s ease-in-out;}
	.ps__thumb-x {bottom: 0; background-color: #f089c1; border-radius: 0; height: 12px;}
	.ps .ps__rail-x:hover,
	.ps .ps__rail-y:hover,
	.ps .ps__rail-x:focus,
	.ps .ps__rail-y:focus,
	.ps .ps__rail-x.ps--clicking,
	.ps .ps__rail-y.ps--clicking {background-color: rgba(255,255,255,0.9); height: 25px;}
	.ps__rail-x:hover > .ps__thumb-x, .ps__rail-x:focus > .ps__thumb-x, .ps__rail-x.ps--clicking .ps__thumb-x {height: 25px; background-color: #f089c1;}

	/* Home END */

	#page.has-bg #header, #page.has-bg #header #mainnav {background-color: transparent;}

	#content .pagetitle {position: absolute; z-index: 1; top: 50px; left: 40px;}
	#content .pagetitle h1 span {background-color: #000; color: #fff; display: inline-block; padding: 5px 12px;}
	#content .pagetitle .description {display: none; width: 250px; background-color: #fff; color: #000;	padding: 10px 20px 10.5px;font-size: 14px;margin-left: 40px; margin-top: 0;}
	#content .pagetitle .description a, #content .pagetitle .description a:active, #content .pagetitle .description a:visited, #content .pagetitle .description a:focus {color: #000; text-decoration: underline;}
	#content .pagetitle .hoverbutton {display: inline-block; background-color: #fff; color: #000; height: 40px; width: 40px; text-align: center; line-height: 30px; position: absolute;}
	#content .pagetitle .hoverbutton:hover {cursor: pointer;}
	#content .pagetitle .hoverbutton:hover + .description, #content .pagetitle .description:hover {display: block;}

	.galerie {display: flex; flex-direction: column; flex: 1 0 auto;}
	.galerie .row {display: flex; height: calc(50% - 10px);}
	.galerie .row:first-of-type {margin-bottom: 20px;}
	.galerie .row .item:not(:first-of-type) {margin-left: 20px;}
	.galerie .item {display: flex; align-items: center;}

	.block.bgblock {padding: 0 100px !important; display: flex; align-items: center; width: 500px;}

	.block.contactblocks {flex-grow: 1; display: flex; align-items: center; background-color: #1c1c1c; margin-left: 0 !important; padding-left: 100px; padding-right: 100px;}
	.block.contactblocks .wrapper {display: flex; flex-grow: 1;}
	.block.contactblocks .column {flex-grow: 1; margin-top: 0;}
	.block.contactblocks .column + .column {margin-left: 180px;}
	.block.contactblocks + .block.empty {display: none;}
	.block.contactblocks .contactdata p {font-size: 20px;}
	.block.contactblocks .socialtext ul {list-style: none; font-size: 30px;}
	.block.contactblocks .tx-powermail {width: 380px;}

}

@media (min-width: 992px) {
	.container {max-width: 800px;}

	#page #content {padding-bottom: 0; padding-top: 97px;}
	#page #content.vertical {padding-top: 120px;}
	body #page #content {height: calc(100vh - 97px);}
	#page #content.has-bg {height: calc(100vh - 97px); padding-top: 97px; background-size: contain;}
	body #page #content > section {padding-top: 30px; padding-bottom: 60px;}
	body.home section + section {margin-left: 200px;}

	.ce-textpic.ce-left.ce-intext.ce-nowrap, .ce-textpic.ce-right.ce-intext.ce-nowrap {display: flex; align-items: center; flex-direction: row;}
	.ce-textpic.ce-left.ce-intext.ce-nowrap .ce-gallery {margin-right: 30px; margin-bottom: 0; float: left;}
	.ce-textpic.ce-right.ce-intext.ce-nowrap .ce-gallery {margin-left: 30px; margin-top: 0; float: right;}
	.ce-image.ce-right .ce-gallery {margin-right: 1rem;}

	#header {position: absolute; left: 0; top: 0; right: 0;}
	#header .logo {width: 200px;}

	/* Home START */
	.textblock {padding-left: 100px; width: 450px;}
	body.subpage .textblock h1 {font-size: 70px;}
	body.home .block.empty {flex: 0 0 130px;}

	.block .item a .overlay {display: flex; align-items: center; justify-content: center; background-color: rgba(0,0,0,0.5); opacity: 0; transition: opacity 0.5s; padding: 0;}
	.block .item a:hover .overlay {opacity: 1;}
	.block .item a .overlay span {font-size: 35px; width: 50px; height: 50px; line-height: 50px;}

	/* Home END */

	#content .pagetitle {top: 230px;}

	body section.textblock + section.textblock {margin-left: 20px;}
	body.subpage .textblock {flex-shrink: 0;}



}

@media (min-width: 1200px) {
	.container {max-width: 1140px;}

	.block.contactblocks .socialtext ul {font-size: 40px;}
	.block.contactblocks .contactdata p {font-size: 25px;}
	.block.contactblocks .contactdata p:not(:last-child) {margin-bottom: 25px;}

}

#CybotCookiebotDialog a, #CybotCookiebotDialog div, #CybotCookiebotDialogBodyContentControls, #CybotCookiebotDialogBodyContentTitle { font-family: 'Open Sans', sans-serif !important; }

#CybotCookiebotDialog { border: 18px solid #f089c1 !important; box-shadow: #777 2px 2px 14px 2px !important; }
#CybotCookiebotDialog div { font-family: 'Open Sans', sans-serif !important; color: #242424 !important; line-height: 1.7em !important; }
#CybotCookiebotDialogBodyContentTitle { font-family: 'Open Sans', sans-serif !important; color: #f089c1 !important; font-weight: normal !important; }

a#CybotCookiebotDialogBodyLevelButtonLevelOptinDeclineAll { background-color: #555 !important; border:1px solid #555 !important; padding-top: 7px !important; padding-bottom: 7px !important;  }
a#CybotCookiebotDialogBodyLevelButtonLevelOptinDeclineAll:hover { background-color: #000 !important; border: 1px solid #000 !important; }
a#CybotCookiebotDialogBodyLevelButtonLevelOptinAllowallSelection,
a#CybotCookiebotDialogBodyLevelButtonLevelOptinAllowAll { background-color: #f089c1 !important; border: 1px solid #f089c1 !important; padding-top: 7px !important; padding-bottom: 7px !important; }
a#CybotCookiebotDialogBodyLevelButtonLevelOptinAllowallSelection:hover,
a#CybotCookiebotDialogBodyLevelButtonLevelOptinAllowAll:hover { background-color: #e6007e !important; border: 1px solid #e6007e !important; }

div#CybotCookiebotDialogBodyLevelButtonLevelOptinAllowallSelectionWrapper { margin-bottom: 20px !important; }

/* CookieBot End */