/* #################################################
# Projekt 	: main css
# Stand     : 12.06.23
# Autor		: 300media
#################################################### */

@charset "UTF-8";

body {
	background:#fff;
}
body.m2 {
	background:#000;
}
.page-body {
	color:#222;
}
body.m2 .page-body {
	color:#fff;
}

body:not(.mobile) .mobile-only {
	display:none;
}

#page {
	min-height:100vh;
}

.outrange {
	position:absolute;left:-3000px;width:1px;height:1px;overflow:hidden;
}

.transition, a:not(.no-transition), .btn {
	transition:all .18s ease-out;
}
.transition-slow {
	transition:all .5s ease-out;
}

.hover-zoom-sm:hover,
a:hover .hover-zoom-sm {
	transform:scale(1.025);
}
.hover-zoom-md:hover,
a:hover .hover-zoom-md {
	transform:scale(1.1);
}

a {
	text-decoration:none;
}
a:not([href]) {
	font-size:0;
}
.cnt-text a:not(.btn):not(:hover) {
	text-decoration:underline;
}
.cnt-text a:not(.btn) {
	color:inherit;
}

.fs-7 {
	font-size:.8rem;
}
.fs-8 {
	font-size:.7rem;
}
.text-normal {
	color:inherit;
}

.text-ellipsis {
	display:block;
	overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}
.text-justify {
	text-align:justify;
}
.text-hyph {
	word-wrap:break-word;
	overflow-wrap:break-word;
	-webkit-hyphens:auto;
	-moz-hyphens:auto;
	hyphens:auto;
}

.cnt-text img {
	max-width:100%;
}

.btn {
	text-shadow:none;
}
.btn:not([class*='btn-outline']) {
	border-color:transparent;
}

.btn-outline-secondary {
	border-color:#d2dae1;
}

.grip-handle .btn {
	cursor:move !important;
}
.grip-handle .btn:not(:hover) {
	color:inherit;
	opacity:.65;
}

.box-form .form-control::placeholder,
.box-form .form-control::-moz-placeholder {
	color:#aaa;
}

.box-form .form-status .form-data {
	margin:auto;
}
.box-form .form-status.alert-success {
	margin:0;
}

.box-form .form-fields {
	--bs-gutter-y:1rem;
	margin-bottom:1rem;
	text-align:left;
}

.box-form .form-label {
	font-size:1rem;
}
.box-form .label-none .form-label {
	display:none;
}
.box-form .form-row-submit {
	display:flex;
	gap:1rem;
	flex-direction:row-reverse;
	align-items:center;
	justify-content:space-between;
}
.box-form .form-row-submit.btn-w100 {
	flex-direction:column;
	align-items:unset;
	gap:.5rem;
}
.box-form .form-row-submit.btn-w100 .btn {
	width:100%;
}

.box-form .form-check-rows {
	display:flex;
	flex-direction:column;
	gap:1rem;
	counter-reset:css-counter 0;
}

.box-form .form-check-rows .form-check.bordered {
	display:flex;
	align-items:center;
	padding:.75rem 1rem;
	gap:1rem;
	margin:0;
	border:1px solid rgba(0,0,0,.125);
	background-color: rgba(var(--bs-light-rgb),.6);
	border-radius:.375rem;
}
XXXbody.m2 .box-form .form-check-rows .form-check.bordered {
	border-color:rgba(255,255,255,.35);
	background-color:rgba(0,0,0,.75);
}
body.m2 .box-form .form-check-rows .form-check.bordered {
	border-color:#ced4da;
	background-color:#fbfbfc;
	color:initial;
	text-shadow:none;
}
.box-form .form-check-rows .form-check.bordered.is-checked,
.box-form .form-check-rows.grip-sortable .form-check.bordered.selected {
	border-color:var(--bs-primary) !important;
	box-shadow: 0 0 0 2px rgba(var(--bs-primary-rgb),.25);
}
body.m2 .box-form .form-check-rows .form-check.bordered.is-checked,
body.m2 .box-form .form-check-rows.grip-sortable .form-check.bordered.selected {
	box-shadow: 0 0 0 2px rgba(var(--bs-info-rgb),.75);
}
.box-form .form-check-rows .form-check.bordered .form-check-input {
	margin:0;
}
.box-form .form-check-rows.grip-sortable .form-check-input:checked {
	position:relative;
	transform:scale(1.1);
	background-image:none;
}
.box-form .form-check-rows.grip-sortable .form-check-input:checked[type="checkbox"]:before {
    position: absolute;
    counter-increment:css-counter 1;
	content:counter(css-counter);
	top:50%;
	transform:translateY(-50%);
	width:100%;
	text-align: center;
	font-size: 85%;
	font-weight: bold;
	color: #fff;
}
.box-form .form-check-rows.grip-sortable .form-check.sortable-drag .btn-grip,
.box-form .form-check-rows.grip-sortable .form-check.sortable-drag .form-check-input {
	display:none;
}
.box-form .form-check-rows.grip-sortable .form-check-input {
	opacity:1; /*disabled hack*/
}

.box-form .form-check-rows.grip-sortable .form-check {
	position:relative;
	padding-right:2rem;
}
.box-form .form-check-rows.grip-sortable .form-check .grip-handle {
	position:absolute;
	top:0;bottom:0;right:0;
	display:flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	cursor:move;
}

body.safari:not(.ios) .box-form .form-control[type^='date'],
body.safari:not(.ios) .box-form .form-control[type^='time'] {
	line-height:normal; /*safari hack*/
}
input::-webkit-date-and-time-value {
	text-align:left;
}

.list-share a {
	display:inline-block;
}
.list-share .ico {
	color:#fff !important;
	width:2.25rem;
	height:2.25rem;
	line-height:2.25rem;
	font-size:1.25rem;
	text-align:center;
	border-radius:50%;
}
.list-share .ico {background:#666;}
.list-share .shr-fb .ico {background:#3b5998;}
.list-share .shr-tw .ico {background:#55acee;}
.list-share .shr-in .ico {background:#e4405f;}
.list-share .shr-yt .ico {background:#cd201f;}
.list-share .shr-vi .ico {background:#1ab7ea;}
.list-share .shr-sc .ico {background:#ff3300;}
.list-share .shr-bc .ico {background:#619aa9;}
.list-share .shr-sc .ico {background:#FFFC00;}
.list-share .shr-tg .ico {background:#54B3E6;}
.list-share .shr-rd .ico {background:#FF5700;}
.list-share .shr-pt .ico {background:#cb2027;}
.list-share .shr-wa .ico {background:#4dc247;}
.list-share .shr-fm .ico {background:#0084ff;}
.list-share .email .ico {
}
.list-share .clipboard.active .ico {
	transform:rotateY(-180deg);
}

.box-sharing .list-share li {
	margin:0;
	padding:8px;
}
.box-sharing .list-share .text {
	display:none;
}

#cookie-info {
	display:none;
	position:fixed;
	z-index:99999;
	bottom:60px;
	left:0; right:0;
	margin:auto;
	width:300px;
}
#cookie-info .inner {
	margin:0 auto;
	width:100%;
	background:#fff;
}

.modal-backdrop{
	display:none;
}
.pop .btn-close {
	position:absolute;
	z-index:1;
	top:0;
	right:0;
	padding:.45rem;
	background:none;
}
.pop .btn-close:before {
	font-family:'Font Awesome 6 Pro';
	content:"\f00d";
	font-weight:300;
	font-size:1.25rem;
	line-height:1;
}
.pop .modal-content {
	border-radius:.5rem;
	border:0;
	overflow:hidden;
}


.pop-share .modal-content {
	text-align:center;
}
.pop-share .list-share li {
	margin:0;
	padding:8px;
	width:calc(33.33% - 16px);
}
.pop-share .list-share a {
	display:block;
}
.pop-share .list-share .ico {
	width:3.5rem;
	height:3.5rem;
	line-height:3.5rem;
	font-size:1.8rem;
}
.pop-share .list-share .text {
	display:block;
	margin-top:2px;
	font-size:75%;
	color:initial;
	overflow:hidden;
	text-overflow:ellipsis;
	white-space:nowrap;
}

.pop-form .box-header {
	text-align:center;
	background:#f6f6f6;
}

#video {
	position:fixed;
	display:flex;
	justify-content:center;
	align-items:center;
	z-index:9999;
	top:0;
	left:-100%;
	width:100%;
	height:100%;
	background:rgba(0,0,0,.8);
	opacity:0;
}
#video.open {
	left:0;
	opacity:1;
}
#video .inner {
	display:flex;
	flex-wrap:wrap;
	align-content:center;
	justify-content:center;
	flex-direction:column-reverse;
	padding:0;
	height:100%;
	width:100%;
	max-width:1200px;
}
@media (max-width:767px){
	#video .inner {padding:0;}
}
#video .title:not(.d-none) + .mov {
	max-height:calc(100% - 30px);
}
#video iframe,
#video .title {
	background:rgba(30,30,30,.8);
}
#video .title {
	display:flex;
	justify-content:center;
	align-items:center;
    padding:5px 10px;
    width:100%;
    height:30px;
    color:#fff;
    font-size:13px;
	white-space:nowrap;
}
#video .exit {
	position:absolute;
    z-index:999;
    right:0;
	top:0;
	margin:0;
	padding:10px;
	font-size:30px;
	font-weight:400;
	line-height:0;
	color:#fff;
	height:40px;
	background:none;
}

.vcenter {
	position:relative;
	display:block;
	overflow:hidden;
	padding-bottom:67%;
}
.vcenter.ratio-16x9 {
	padding-bottom:55%;
}
.vcenter img {
	position:absolute;
	top:50%;
	left:50%;
	transform:translate(-50%,-50%);
	width:100%;
	height:100%;
	object-fit:cover;
}
.vcenter.fit-contain img {
	object-fit:contain;
}
.vcenter.ratio-auto {
	padding-bottom:0;
}
.vcenter.ratio-auto img {
	position:static;
	transform:none;
}

.pic-wrapper {
	position:relative;
	overflow:hidden;
	font-size:85%;
}

.pic-wrapper .bg {
	position:absolute;
	width:100%;
	height:100%;
}
.pic-wrapper .bg img {
	object-fit:cover;
	width:100%;
	height:100%;
}

.box-gallery,
.box-gallery a {
	color:inherit;
}
.box-gallery .title {
	margin-top:5px;
	font-size:85%;
}

.elm-mov.no-pic img {
	background:url('/cnt/pic/no-video-preview.jpg') 50%;
	background-size:cover;
}

.mov-wrp video,
.mov-wrp .pic img {
	max-width:100%;
	object-fit:cover;
}

.mov-wrp[class*='mov-src-'] .pic-wrapper:before,
.mov-wrp[class*='mov-src-'] .pic-wrapper:after,
.mov-wrp[class*='mov-src-'] .elm-info:before,
.mov-wrp[class*='mov-src-'] .elm-info:after {
	position:absolute;
	z-index:1;
	display:inline-block;
	left:15px;
	bottom:15px;
	color:#fff;
	line-height:24px;
	text-shadow:1px 1px 0 rgba(0,0,0,1), 0 0 10px rgba(0,0,0,.5);
}
.mov-wrp[class*='mov-src-'] .pic-wrapper:before {
	font-family:'Font Awesome 6 Brands';
	font-size:24px;
}
.mov-wrp.mov-src-youtube .pic-wrapper:before {
	content:'\f431';
}
.mov-wrp.mov-src-vimeo .pic-wrapper:before {
	content:'\f194';
}
.mov-wrp[class*='mov-src-'] .pic-wrapper:after {
	left:45px;
	font-size:14px;
}
.elm-mov.text-link.mov-src-youtube .elm-info:after,
.mov-wrp.mov-src-youtube .pic-wrapper:after {
	content:'Youtube';
}
.elm-mov.text-link.mov-src-vimeo .elm-info:after,
.mov-wrp.mov-src-vimeo .pic-wrapper:after {
	content:'Vimeo';
}
.mov-wrp[class*='mov-src-'] .elm-info:before {
	left:auto;bottom:auto;
	right:15px;
	top:10px;
	font-size:11.5px;
	font-weight:bold;
	line-height:1;
	text-align:right;
	transition:opacity .18s ease-out;
	opacity:.45;
}
.mov-wrp[class*='mov-src-']:not(.mov-src-file) .elm-info:before {
	content:'Data transfer to service on call';
}
html[lang='de'] .mov-wrp[class*='mov-src-']:not(.mov-src-file) .elm-info:before {
	content:'Datentransfer an Dienst bei Aufruf';
}
.elm-mov.no-pic .elm-info:before {
	color:#000;
	text-shadow:1px 1px 0 rgba(255,255,255,1), 0 0 10px rgba(255,255,255,.5);
}
.mov-wrp[class*='mov-src-'] .pic-wrapper:hover .elm-info:before {
	opacity:0;
}
.elm-mov.no-pic:not(.text-link) .elm-info:after {
	bottom:auto;
	left:50%;
	top:50%;
	transform:translate(-50%, -50%);
	margin-top:13%;
	padding:3px 10px;
	max-width:60%;
	font-size:14px;
	line-height:normal;
	white-space:nowrap;
	text-overflow:ellipsis;
	overflow:hidden;
	content:attr(data-title);
	background:rgba(0,0,0,.8);
	border-radius:30px;
}
@media (max-width:575.98px){

	.mov-wrp[class*='mov-src-'] .elm-info:before {
		opacity:.75;
	}
}

.elm-mov.text-link .elm-info {
	display:inline-block;
	margin-left:8px;
	font-size:10px;
	font-weight:500;
	vertical-align:middle;
}
.elm-mov.text-link .elm-info:before {
	font-family:'Font Awesome 6 Brands';
	margin-right:2px;
	font-size:130%;
	vertical-align:middle;
}
.elm-mov.text-link.mov-src-youtube .elm-info:before { content:'\f167'; }
.elm-mov.text-link.mov-src-vimeo .elm-info:before { content:'\f27d'; }
.elm-mov.text-link .elm-info:after {
	vertical-align:middle;
}

.tgl-vid-play,
.tgl-vid-tone {
	color:inherit !important;
}
.tgl-vid-play:before,
.tgl-vid-tone:before {
	display:inline-block;
	font-family:'Font Awesome 6 Pro';
	content:'\f04b';
	font-weight:600;
	width:1.25em;
	text-align:center;
}
.tgl-vid-play.active:before {
	content:'\f04c';
}
.tgl-vid-play:not(.active):before {
	padding-left:2px;
}
.tgl-vid-tone:before {
	content:'\f2e2';
}
.tgl-vid-tone.active:before {
	content:'\f028';
}
header .elm-tgl-vid .act {
	display:inline-block;
	width:2.25em;
	padding:.25rem 0;
	line-height:normal;
	font-size:.9rem;
	text-shadow:1px 1px 0 rgba(255,255,255,.3);
	background:rgba(255,255,255,.1);
	border-radius:20px;
}
header .elm-tgl-vid .act:hover {
	background:rgba(255,255,255,.3);
}
body.m2 header .elm-tgl-vid .act {
	text-shadow:1px 1px 0 rgba(0,0,0,.3);
	background:rgba(0,0,0,.1);
}
body.m2 header .elm-tgl-vid .act:hover {
	background:rgba(0,0,0,.3);
	transform:scale(1.1);
}

header {
	padding:.5rem 0 0;
}
header .col {
	display:flex;
	gap:.5rem;
}

.fx-zoom-pic {
	position:relative;
	overflow:hidden;
	display:block;
}
.fx-zoom-pic:hover .fx-pic {
	transform:scale(1.2);
}
.fx-zoom-pic.elm-mov-big:hover .pic {
	transform:scale(.9);
}
.fx-zoom-pic .ico-fx {
	position:absolute;
	z-index:1;
    top:0; bottom:0; left:0; right:0;
    margin:auto;
    line-height:46px;
    height:46px;
    width:46px;
    font-size:20px;
    border-radius:50%;
    color:rgba(255,255,255,.7);
    background:rgba(0,0,0,.6);
    text-align:center;
}
.fx-zoom-pic.elm-mov .ico-fx {
	padding-left:5px;
}
.fx-zoom-pic.elm-mov-big .ico-fx {
	transform:scale(1.4);
	color:rgba(255,255,255,.85);
	background:rgba(0,0,0,.8);
}
@media (min-width:500px){
	.fx-zoom-pic.elm-mov-big .ico-fx {
		transform:scale(1.8);
	}
}
.fx-zoom-pic:hover .ico-fx {
	color:rgba(255,255,255,1);
    background:rgba(0,0,0,1);
    opacity:1
}

.ribbon {
	position:absolute;
	z-index:2;
	width:150px;
	height:150px;
	overflow:hidden;
	pointer-events:none;
}
.ribbon:before,
.ribbon:after {
	position:absolute;
	z-index:-1;
	content:'';
	display:block;
	border:5px solid #666;
}
.ribbon .text {
	position:absolute;
	display:flex;
	align-items:center;
	justify-content:center;
	padding:0 35px;
	width:175px;
	height:38px;
	background-color:#666;
	box-shadow:0 5px 10px rgba(0,0,0,.1);
	color:#fff;
	font:700 11px/1 'Arial', sans-serif;
	text-shadow 0 1px 1px rgba(0,0,0,.2);
	text-transform:uppercase;
	text-align:center;
	pointer-events:all;
}
.ribbon-top-left {
	top:-10px;
	left:-10px;
}
.ribbon-top-left::before,
.ribbon-top-left::after {
	border-top-color:transparent;
	border-left-color:transparent;
}
.ribbon-top-left::before {
	top:0;
	right:27px;
}
.ribbon-top-left::after {
	bottom:27px;
	left:0;
}
.ribbon-top-left .text {
	right:15px;
	top:30px;
	transform:rotate(-45deg);
}

.hover-zoom:hover .zoom-elm,
.hover-zoom.zoom-elm:hover {
	transform:scale(1.1);
}
.cnt-text .btn:hover,
form .btn:hover {
	transform:scale(1.05);
}

#page {
	height:100%;
}

#bg {
	position:fixed;
	z-index:-1;
	top:0; left:0;
	width:100%;
	height:100%;
}
#bg img,
#bg video,
#bg div {
	position:absolute;
	top:0; left:0;
	width:100%;
	height:100%;
	object-fit:cover;
}
#bg.fx-blur img,
#bg.fx-blur video {
	filter:blur(10px);
	transform:scale(1.03);
}
#bg div {
	z-index:1;
}

.box-content .content-wrapper {
	position:relative;
}
.box-content .box-text-subpage {
	text-align:left;
}

.page-lnxs .box-content {
	max-width:35rem;
}
.page-lnxs .box-content .title {
	font-size:50px;
	font-weight:400;
	line-height:1;
}

.page-links .box-content {
	width:35rem;
	max-width:100%;
}
.page-links .box-content .item-title + .item-text-intro {
	margin-top:-.5rem;
}
.page-links .btn-outline-dark:not(:hover) {
	background:rgba(255,255,255,.55);
}
.page-links .btn-outline-light:not(:hover) {
	background:rgba(0,0,0,.55);
}
.page-links .btn:hover {
	text-shadow:none;
}

.page-vcard .box-content {
	padding:2rem 1rem 0;
	max-width:100%;
	width:calc(640px + 2rem);
}
.page-vcard .box-card {
	position:relative;
	background-color:#fff;
	border-radius:1rem;
	overflow:hidden;
}
body.m2.page-vcard .box-card {
	background-color:#000;
}
.XXXpage-vcard .box-card.shadow {
	box-shadow:0 0 15px rgba(0,0,0,.35);
}
.page-vcard .box-logo {
	padding:1.25rem 0;
}
.page-vcard .box-text {
	padding:1.75rem 1.25rem;
}
.page-vcard .box-text + .box-text:not([class*="order-"]) {
	padding-top:.25rem;
}
.page-vcard .item-text-blocks {
	gap:.5rem;
}
.page-vcard .box-icons {
	padding:.6rem .3rem;
}
.page-vcard .box-icons .elm {
	display:inline-block;
	margin:.6rem 1.1rem;
}

.Xlnk-group .list-group-item:hover {
	z-index:1;
	transform:scale(1.05);
	border-radius:.25rem;
	border-color:transparent !important;
	box-shadow:0 0 1px rgba(0,0,0,.65);
}

.lnk-group + .lnk-group {
	margin-top:1.5rem;
}

.lnk-group .image {
	height:2.5rem;
	max-width:8rem;
}
.lnk-group .image img {
	width:100%;
	height:100%;
	object-fit:contain;
	object-position:left center;
}
.lnk-group .logo-apple-tv-plus {
	height:1.9rem;
}

.lnk-group .icon .ico {
	width:2.25rem;
	min-width:2.25rem;
	height:2.25rem;
	line-height:2.25rem;
	font-size:1.25rem;
	color:#fff;
	border-radius:50%;
	text-align:center;
}

.nav-footer {
	margin:-.625rem 0 0;
	/*text-shadow:0px 1px 2px rgba(0,0,0,.5);*/
}
.nav-footer .list-inline-item {
	margin:.625rem .625rem 0;
}
.nav-footer li,
.nav-footer li a {
	color:inherit;
}
.nav-footer li a:hover {
	text-decoration:underline;
}
.nav-footer li.designer {
	display:block;
	font-size:80%;
}

/* not-phone */
@media (min-width:768px){
	
	.auto-fix.row-cols-md-auto > * {
		flex:1 0 0%;
		width:100%;
	}
	
	.page-vcard .item-text-blocks:not(.count-1) {
		text-align:left;
	}
	.page-vcard .item-text-blocks.mirror {
		flex-direction:row-reverse;
	}
	.page-vcard .item-text-blocks.mirror .col + .col {
		text-align:right;
	}
	.page-vcard .item-text-blocks:not(.count-1) address .elm {
		display:flex;
		flex-direction:row;
		align-items:baseline;
		gap:6px;
	}
}

/* tablet */
@media (min-width:768px) and (max-width:991.98px){
	
	.expose-sm {
		margin-left:-30px;
		margin-right:-30px;
	}
}	

/* phone */
@media (max-width:767.98px){
	
	body {
	}
	
	.expose-xs {
		margin-left:-15px;
		margin-right:-15px;
	}
	
	.page-alert main .title {
		font-size:45px;
	}
	
	.page-vcard .item-text-blocks {
		flex-direction:column;
	}
	
	.nav-footer li.designer {
		line-height:2.8;
	}
}

/* phone xs */
@media (max-width:575.98px){
	
	body {
		font-size:1.1rem;
	}
	
	.nav-footer {
		font-size:1.05rem;
	}
	
	.lnk-group .icon .lead {
		font-size:inherit;
	}
	
	.ribbon {
		transform:scale(.8);
	}
	.ribbon-top-left {
		top:calc(-10px - .8rem);
		left:calc(-10px - .8rem);
	}
	
	.page-vcard .box-content {
		padding:1rem .75rem 0;
	}
}