/*

This js file is created by:

	ITConsulting24 AG
	Oerlikonerstrasse 50
	CH-8057 Zürich
	SWITZERLAND

	Phone: +41 44 382 88 88
	info(at)itconsulting24.com
	www.itconsulting24.com
 */

body {
	margin: 0;
	font-family: Helvetica;
	font-size: 16px;
}

h1 {
	width: 100%;
}


p {
	width: 100%;
	margin: 0;
	padding: 0;
}

a {
	text-decoration: none;
	color: white;
}

header {
	background: linear-gradient(rgba(1, 1, 26, 0.8), transparent);
	height: 20vh;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 999999;
}

.marker-red {
	color: #990000;
	font-weight: bold;
}

.marker-white {
	color: #992222;
	font-weight: bold;
	font-weight: bold;
}

.marker-black {
	color: #1111;
	font-weight: bold;
	font-weight: bold;
}

.marker-black {
	color: #000000;
	font-weight: bold;
}

.marker-yellow {
	color: #aaaa00;
	font-weight: bold;
}

/* for logo */
.logo {
	position: fixed;
	z-index: 99;
	top: 1.5em;
	left: 2em;
	border: 0;
	/
}

/* for background type */
.background-type-white {
	background-color: #ffffff;
}

.background-type-black {
	background-color: #000000;
}

.background-type-gray {
	background-color: #ebebeb;
}

/* for slide */
.slide-position {
	position: relative;

}

/* for textbox */
.textbox-position {
	position: absolute;
	padding: 1.25em;
	vertical-align: center;
}

.textbox-transparent {
	background: transparent;
}

.textbox-gray-half-transparent {
	background: rgba(246, 243, 243, 0.5);
}

.textbox-black-half-transparent {
	background: rgba(0, 0, 0, 0.5);
}

.textbox-white-half-transparent {
	background: rgba(255, 255, 255, 0.5);
}

.textbox-xl {
	width: 45em;
}

.textbox-lg {
	width: 30em;
}

.textbox-medium {
	width: 23em;
}

.textbox-sm {
	width: 17em;
}

.textbox-lg-vm-slide {
	width: 30em;
}

.textbox-sm-vm-slide {
	width: 17em;
}

.textbox-top-left {
	top: 10%;
	left: 6%;
}

.textbox-top-mid {
	top: 20%;
	left: 30%;
}

.textbox-top-right {
	top: 15%;
	right: 6%;
}

.textbox-mid-left {
	top: 25%;
	left: 6%;
}

.textbox-mid-mid {
	top: 25%;
	left: 30%;
}

.textbox-mid-right {
	top: 25%;
	right: 6%;
}

.swiper-slide-height {
	min-height: 40em;
	overflow: hidden;
}

.swiper-top-mid {
	top: 1%;
	left: 30%;
}

.swiper-post-textbox {
	bottom: -27%;
	left: -80%;
	width: 50em;
	margin-left: 10em;
}

.textbox-bottom-left{
	bottom: 10%;
	left: 6%;
}

.textbox-bottom-mid {
	bottom: 10%;
	left: 30%;
}

.textbox-bottom-right {
	bottom: 10%;
	right: 6%;
}

.textbox-hide-on-mobile {
	visibility: visible;
}

.textbox-show-on-mobile {
	visibility: hidden;
}

/* for default text */
.default-text-white {
	color: #ffffff;
}

.default-text-blue {
	color: rgba(100, 149, 237, 0.9);
}

.shadow-text-blue {
	color: rgba(255,255,255, 1);
	text-shadow: 3px 3px 2px rgba(100, 149, 237, 0.9);
	text-shadow: 2px 2px 1px rgba(35,44,85,0.8);
}

.default-text-black {
	color: #000000;
}

.default-text-lg {
	font-size: 2.5em;
}

.default-text-xl {
	font-size: 2.0em;
}

.default-text-medium-lg {
	font-size: 2em;
}

.default-text-medium {
	font-size: 1.5em;
}

.default-text-sm {
	font-size: 1.2em;
}

.default-text-left {
	text-align: left;
}

.default-text-right {
	text-align: right;
}

.default-text-center {
	text-align: center;
}

.default-text-justify {
	text-align: justify;
	text-justify: auto;
}


/* Overwrites some classes from jquery.fullPage.css
   for vertical and horizontal navigation */
/* Section navigation, control arrow */
.section-controlArrow {
	position: absolute;
	z-index: 100;
	left: 50%;
	cursor: pointer;
	margin-left: -2.375em;
	-webkit-transform: translate3d(0, 0, 0);
	-ms-transform: translate3d(0, 0, 0);
	transform: translate3d(0, 0, 0);
	opacity: .5;
}

.section-controlArrow:hover {
	opacity: 1;
}


/* Overwrites some classes from jquery.fullPage.css
   for vertical and horizontal navigation */
/* Section navigation, control arrow */
.languages {
	position: absolute;
	z-index: 100;
	top: 1.5em;
	right: 1.25em;
	margin-left: -2.375em;
	-webkit-transform: translate3d(0, 0, 0);
	-ms-transform: translate3d(0, 0, 0);
	transform: translate3d(0, 0, 0);
	display: inline-block;
	white-space: nowrap;
}

.language {
	padding: .2em;
	transition: opacity 0.2s ease-in;
	width: auto;
	opacity: 1;
	top: 0em;
	/*text-shadow: 0 1px 0 black;*/
	font-size: 1.25em;
	color: rgba(255, 255, 255, 0.4);
}

.language-active {
	color: rgba(255, 255, 255, 0.8);
}

.language-inactive {
	pointer-events: none;
	cursor: default;
 }


/* section navigation, up control arrow */
.section-controlArrow {
	opacity: 1;
	visibility: visible;
	transition: all .1s linear;
}

.section-controlArrow.fp-up {
	top: -1em;
}

/* use font awesome angle-up arrow */
.section-controlArrow.fp-up:before {
	font-family: FontAwesome;
	font-size: 5em;
	color: rgba(255, 255, 255, 0.8);
	/* content: "\f106"; */
	content: "\f0d8";
	display: inline-block;
	padding-bottom: 0.187em;
	vertical-align: middle;
}

.section-controlArrow.fp-up:hover:before {
	color: #fff;
}

/* section navigation, bottom control arrow */
.section-controlArrow.fp-down {
	bottom: -1em;
}

/* use font awesome angle-down arrow */
.section-controlArrow.fp-down:before {
	font-family: FontAwesome;
	font-size: 5em;
	color: rgba(255, 255, 255, 0.8);
	/* content: "\f107"; */
	content: "\f0d7";
	display: inline-block;
	padding-bottom: 0.187em;
	vertical-align: middle;
}

.section-controlArrow.fp-down:hover:before {
	color: #fff;
}

/*  for horizontal menu, left control array
    here we changed the border-width property */
.fp-controlArrow.fp-prev {
	left: 0.1em;
	border-width: 0px;
	border: none;
	border-color: transparent;
}

/* use font awesome angle-left arrow */
.fp-controlArrow.fp-prev:before {
	font-family: FontAwesome;
	font-size: 4em;
	color: rgba(255, 255, 255, 0.8);
	/* 	content: "\f104"; */
	content: "\f0d9";
	display: inline-block;
	padding-left: 0.187em;
	vertical-align: middle;
}

.fp-controlArrow.fp-prev:hover:before {
	color: #fff;
}

/*  for horizontal menu, right control array
    here we changed the border-width property */
.fp-controlArrow.fp-next {
	right: 2.5em;
	border-width: 0px;
	border: none;
	border-color: transparent;
}

/* use font awesome angle-right arrow */
.fp-controlArrow.fp-next:before {
	font-family: FontAwesome;
	font-size: 4em;
	color: rgba(255, 255, 255, 0.8);
	/* content: "\f105"; */
	/* content: "\f138"; */
	content: "\f0da";
	display: inline-block;
	padding-right: 0.187em;
	vertical-align: middle;
}

.fp-controlArrow.fp-next:hover:before {
	color: #fff;
}

.fp-controlArrow,
.section-controlArrow  {
	transition: all .3s linear;
}

/* this is for vertical navigation
   here, we changed the top property */
#fp-nav {
	position: fixed;
	z-index: 100;
	top: 8em;
	opacity: 1;
	-webkit-transform: translate3d(0, 0, 0);
	transform: translate3d(0, 0, 0);
}

/* for horizontal navigation
   here, we added right and text-align property */
.fp-slidesNav {
	position: absolute;
	z-index: 4;
	right: 2%;
	opacity: 1;
	text-align: right;
	margin-left: -42.5em;
}

/* bottom position for horizontal navigation */
.fp-slidesNav.bottom {
	bottom: 0.5em;
}

/* for active navigation item and if we enter mouse in the navigation item
   here, we changed all the properties, height, width, margin, border-radious and background*/
#fp-nav ul li {
	width: 16px;
	height: 16px;
}

#fp-nav.fp-show-active a.active + .fp-tooltip,
#fp-nav.fp-show-active a + .fp-tooltip,
#fp-nav ul li:hover .fp-tooltip {
	top: .2em;
}

#fp-nav ul li a.active span,
.fp-slidesNav ul li a.active span,
#fp-nav ul li:hover a.active span,
.fp-slidesNav ul li:hover a.active span {
	height: 12px;
	width: 12px;
	margin: -0.125em 0em 0em -0.125em;
	border-radius: 50%;
	background: #fff;
	text-shadow: 0 1px 0 black;
}


#fp-nav ul li a.active span {
	height: 12px;
	width: 12px;
}

/* when we hover on the horizontal and vertical menu list-item
    item, keep the same hight, width and margin */
#fp-nav ul li:hover a span,
.fp-slidesNav ul li:hover a span {
	width: 12px;
	height: 12px;
	margin: -0.125em 0em 0em -0.125em;
	/*border: 2px solid rgba(1, 1, 26, 0.6);*/
}

#fp-nav ul li:hover a span,
#fp-nav ul li:hover a.active span {
	height: 12px;
	width: 12px;
}

/* this is used to show the labels of vertical navigation item
   here, we changed the font color and font family  */
#fp-nav ul li .fp-tooltip {
	position: absolute;
	top: 0em;
	color: #fff;
	text-shadow: 0 1px 0 rgb(35, 44, 85);
	font-size: 0.875em;
	font-family: helvetica;
	white-space: nowrap;
	max-width: 13.75em;
	overflow: hidden;
	display: block;
	opacity: 0;
	width: 0;
}

/* this is used to show the navigation items with white background
    here we changed the border-radius, height, width, background and margin property */

#fp-nav ul li a span,
.fp-slidesNav ul li a span {
	border-radius: 50%;
	position: absolute;
	z-index: 1;
	height: 12px;
	width: 12px;
	border: 0;
	left: 50%;
	top: 50%;
	margin: -0.125em 0em 0em -0.125em;
	-webkit-transition: all 0.1s ease-in-out;
	-moz-transition: all 0.1s ease-in-out;
	-o-transition: all 0.1s ease-in-out;
	transition: all 0.1s ease-in-out;
	background: rgba(255, 255, 255, 0.4);
	/*border: 2px solid rgba(1, 1, 26, 0.6);*/
}

#fp-nav ul li a span {
	height: 12px;
	width: 12px;
}

/* this is used to show the navigation item labels
 onmouseover on the vertical menu */
#fp-nav ul:hover .fp-tooltip {
	width: auto;
	opacity: .7;
}

#fp-nav ul {
	margin-top: 0;
}

/* Hotspots */
/* absolute position for the hotspot
   with some transition value for different browsers*/
.spot {
	position: absolute;
	left: 50%;
	bottom: 30%;
	z-index: 99;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	-webkit-transition: .7s ease .8s;
	-moz-transition: .7s ease .8s;
	-ms-transition: .7s ease .8s;
	transition: .7s ease .8s;
}

/* sets the absolute position for the toggle image (cross sign)
    but initially it is not visible */
.spot .fig {
	position: absolute;
	right: -13em;
	bottom: -1em;
	visibility: hidden;
}

/* toggle is visible if it is inside the css class  '.spot.open'*/
.spot.open .fig {
	visibility: visible;
}

/* css properties for figure tag in the 'spot' class
    here the transform scaling is 0.8
	and transparent (opacity: 0)*/
.spot figure {
	position: absolute;
	right: -13em;
	bottom: -1em;
	/* visibility: hidden; */
}
	/* position: absolute;
	right: 0.7em;
	top: 0.2em;
	z-index: 20; */
	/* border: 0.187em solid #fff;
	width: 11em;
	height: 11em;
	border-radius: 50%;
	overflow: hidden;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	-webkit-transition: 0.4s cubic-bezier(0.2, 0, 0.2, 1);
	-moz-transition: 0.4s cubic-bezier(0.2, 0, 0.2, 1);
	-ms-transition: 0.4s cubic-bezier(0.2, 0, 0.2, 1);
	transition: 0.4s cubic-bezier(0.2, 0, 0.2, 1);
	-webkit-transform: scale(0.8);
	transform: scale(0.8);
	-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
	filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; */
	opacity: 0;
}

/* css properties for figure tag in the 'spot open' class
    here the transform scaling is 1
	and not transparent (opacity: 1)*/
.spot.open figure {
	-webkit-transform: scale(1);
	transform: scale(1);
	-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
	filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
	opacity: 1;
}

/* figurecaption properties inside the 'spot ceiling' class  */
.spot.only-image figure {
	position: relative;
	left: -60%;
	border-radius: 0%;
	-webkit-transform: scale(1);
	transform: scale(1);
	-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
	filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
	opacity: 1;
}

/* for image inside the 'spot' class 'figure' tag */
.spot figure img {
	margin-top: -1.8em;
	margin-left: -1.8em;
}

/* for figurecaption inside the 'spot' class  */
.spot figcaption {
	background: rgba(42, 38, 37, 0.8);
	padding: 1.5em 4.6em 6.25em 1.5em;
	width: 11em;
	margin-right: 12.3em;
	position: relative;
	line-height: 1.8em;
	color: #ffffff;
	font-family: helvetica;
	-webkit-transition: 0.4s cubic-bezier(0.2, 0, 0.2, 1);
	-moz-transition: 0.4s cubic-bezier(0.2, 0, 0.2, 1);
	-ms-transition: 0.4s cubic-bezier(0.2, 0, 0.2, 1);
	transition: 0.4s cubic-bezier(0.2, 0, 0.2, 1);
	-webkit-transform: translateY(1.625em);
	transform: translateY(1.625em);;
	-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
	filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
	opacity: 0;
}

/* figurecaption properties inside the 'spot ceiling' class  */
.spot.text-and-image figcaption {
	padding: 1.5em 4.6em 3.1em 1.5em;
	width: 12em;
}

/* figurecaption properties inside the 'only-text' class  */
.spot.only-text figcaption {
	padding: 1.56em 2.5em 3.1em 1.56em;
	max-width: 14.25em;
	width: 14.25em;
}

/* figurecaption transition properties inside the 'spot open' class  */
.spot.open figcaption {
	-webkit-transition: 0.75s cubic-bezier(0.2, 0, 0.2, 1);
	-moz-transition: 0.75s cubic-bezier(0.2, 0, 0.2, 1);
	-ms-transition: 0.75s cubic-bezier(0.2, 0, 0.2, 1);
	transition: 0.75s cubic-bezier(0.2, 0, 0.2, 1);
	-webkit-transform: translateY(0em);
	transform:  translateY(0em);
	-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
	filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
	opacity: 1;
}

/* toggle css class inside the 'spot' class
   it has a background image
   and 30% transparent with the background  */
.spot .toggle {
	position: relative;
	display: block;
	z-index: 21;
	cursor: pointer;
	width: 2.5em;

	height: 2.5em;
	background: url(../imgs/icon/toggle.png) no-repeat center center;
	opacity: .7;
	background-size: 2.1em;
	-webkit-transition: .5s ease;
	-moz-transition: .5s ease;
	-ms-transition: .5s ease;
	transition: .5s ease;
	-webkit-user-select: none;
	-moz-user-select: none;
	user-select: none;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	filter: invert(100%);
	background-color:  rgba(155, 106, 18, 0.5);
	transform: rotate(135deg);
	-webkit-transform: rotate(135deg);
}


/* on mouse over, the toggle is not transparent  */
.spot .toggle:hover {
	opacity: 1;
}

/* If the toggle is inside the 'spot open' css class
   then rotate it with 135 degree */
.spot.open .toggle {
	opacity: 1;
	transform: rotate(0deg);
	-webkit-transform: rotate(0deg);
}

/* Hotspot positions,
   Caution: for positioning, we only use left and bottom property
   */
.spot-top-left {
	left: 20%;
	bottom: 60%;
}

.spot-top-mid {
	left: 57%;
	bottom: 60%;
}

.spot-top-right {
	left: 63%;
	bottom: 60%;
}

.spot-mid-left {
	left: 20%;
	bottom: 45%;
}

.spot-mid-mid {
	left: 57%;
	bottom: 45%;
}

.spot-mid-right {
	left: 63%;
	bottom: 45%;
}

.spot-bottom-left {
	left: 20%;
	bottom: 20%;
}

.spot-bottom-mid {
	left: 57%;
	bottom: 20%;
}

.spot-bottom-right {
	left: 63%;
	bottom: 20%;
}

/* mixed slide css classes starts here */
.mixed-slide-height {
	height: 100%;
}

.mixed-slide-right {
	position: absolute;
	width: 50%;
	float: left;
	left: 50%;
	top: 0%;
}

.mixed-slide-part-container {
	position: absolute;
	top: 0em;
	left: 0em;
	width: 100%;
	height: 100%;
}

.mixed-slide-right article {
	position: absolute;
	left: 0%;
	top: 3%;
	width: 85%;
	max-height: 100%;
	overflow: hidden;
	padding: 1em 1em 1em 1em;
}

.mixed-slide-right footer {
	position: absolute;
	bottom: 5%;
	left: 0%;
	width: 85%;
	text-align: center;
	padding: 1em 1em 1em 1em;
}

.mixed-slide-right article>section {
	padding-bottom: 0.5em;
}

.mixed-slide-right footer>a {
	color: #000;
	text-decoration: none;
}

.mixed-slide-right footer>a:hover {
	/* color: #fff; */
	text-decoration: none;
}

.mixed-slide-right video {
	position: absolute;
	right: 0%;
	bottom: 0%;
	top: 0%;
	left: 0%;
}

/* left */
.mixed-slide-left {
	position: absolute;
	width: 50%;
	left: 0%;
	top: 0%;

}

.mixed-slide-left article {
	position: absolute;
	left: 0%;
	top: 10%;
	width: 90%;
	max-height: 100%;
	overflow: hidden;
	padding: 1em;
}

.mixed-slide-left footer {
	position: absolute;
	bottom: 0%;
	left: 0%;
	width: 85%;
	text-align: center;
	padding: 1em 1em 3em 1em;
}

.mixed-slide-left article>section {
	padding-top: 1em;
}

.mixed-slide-left footer>a {
	color: #000000;
	text-decoration: none;
}

.mixed-slide-left footer>a:hover {
	/* color: #ffffff; */
	text-decoration: none;
}

.mixed-slide-absolute-position {
	position: absolute;
	padding: 1.25em;
	vertical-align: center;
}

.mixed-slide-transparent {
	background: transparent;
}

.mixed-slide-gray-half-transparent {
	background: rgba(246, 243, 243, 0.5);
}

.mixed-slide-black-half-transparent {
	background: rgba(0, 0, 0, 0.5);
}

.mixed-slide-white-half-transparent {
	background: rgba(255, 255, 255, 0.5);
}

.mixed-slide-lg {
	width: 30em;
}

.mixed-slide-medium {
	width: 23em;
}

.mixed-slide-sm {
	width: 17em;
}

.mixed-top-left {
	left: 10%;
	top: 10%;
}

.mixed-top-mid {
	left: 30%;
	top: 10%;
}

.mixed-top-right {
	left: 50%;
	top: 10%;
}

.mixed-mid-left {
	left: 10%;
	bottom: 45%;
}

.mixed-mid-mid {
	left: 30%;
	bottom: 45%;
}

.mixed-mid-right {
	left: 50%;
	bottom: 45%;
}

.mixed-bottom-left {
	left: 10%;
	bottom: 20%;
}

.mixed-bottom-footer-left {
	left: 10%;
	bottom: 10%;
}


.mixed-bottom-mid {
	left: 30%;
	bottom: 20%;
}


.mixed-bottom-footer-mid {
	left: 30%;
	bottom: 10%;
}



.mixed-bottom-right {
	left: 50%;
	bottom: 20%;
}

.mixed-bottom-footer-right {
	left: 50%;
	bottom: 10%;
}

.mixed-text-lg {
	font-size: 2.5em;
}

.mixed-text-medium-lg {
	font-size: 2em;
}

.mixed-text-medium {
	font-size: 1.5em;
}

.mixed-text-sm {
	font-size: 1.2em;
}

/* Video section */

video {
	width: 100%;
	height: 100%;
	/* background-size: 100% 100%;
	background-position: center center;
	background-size: contain; */
}

.section video {
	position: absolute;
	right: 0%;
	bottom: 0%;
	top: 0%;
	left: 0%;
}

.video-objectfit-cover {
	object-fit: cover;
	/*cover video background */
}

.video-objectfit-contain {
	object-fit: contain;
	/*contain video background */
}

.video-objectfit-fill {
	object-fit: fill;
	/*fill video background */
}

.video-objectfit-none {
	object-fit: none;
	/*none video background */
}

.video-objectfit-scaledown {
	object-fit: scale-down;
	/*scale down video background */
}

.video-wrap__container {
	min-width: 45%;
	aspect-ratio: 16 / 9;
}

.video-bg {
	width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
	overflow: hidden;
	z-index: 9;
	transition: all .5s linear;
	transition-delay: 2.5s;
	padding: 1.25em;
	box-sizing: border-box;
}

.video-bg img {
	width: 100%;
	object-fit: cover;
	height: 105%;
}

.video-wrap__container .custom-video {
	width: 100%;
	height: 100%;
	background: transparent;
}

.video-play_button {
	border: none;
	background: transparent;
	border-radius: 50%;
	position: absolute;
	z-index: 9999;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%) scale(1);
	cursor: pointer;
	animation: play_button 3s ease-in-out infinite;
}

.video-play_button:hover {
	opacity: 1;
}

@keyframes play_button {
	0% {
		transform: translate(-50%, -50%) scale(1);
		opacity: 1;
	}
	50% {
		transform: translate(-50%, -50%) scale(.7);
		opacity: .7;
	}
	100% {
		transform: translate(-50%, -50%) scale(1);
		opacity: 1;
	}
}

/* Button style */
.btn {
	display: inline-block;
	padding: 0.375em 0.75em;
	margin-bottom: 0;
	font-size: 0.875em;
	font-weight: normal;
	line-height: 1.42857143;
	text-align: center;
	white-space: nowrap;
	vertical-align: middle;
	-ms-touch-action: manipulation;
	touch-action: manipulation;
	cursor: pointer;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
	background-image: none;
	border: 0.2em solid transparent;
	min-width: 120px;
}

.btn-default {
	color: #000;
	background-color: #fff;
	z-index: 10000;
}

.btn-default:hover {
	background-color: #ccc;
}


/* Border Layout */

.border-layout-container {
	position: absolute;
	top: 15%;
	left: 5%;
	width: 60%;
	height: 60%;
}

.border-layout-half-gray-transparent {
	background: rgba(246, 243, 243, 0.5);
}

.border-layout-half-dimgray-transparent {
	background: rgba(105, 105, 105, 0.5);
}

.border-layout-half-white-transparent {
	background: rgba(255, 255, 255, 0.5);
}

.border-layout-half-blue-transparent {
	background: rgba(100, 149, 237, 0.5);
}

.border-layout-half-black-transparent {
	background: rgba(0, 0, 0, 0.5);
}

.border-layout-header {
	margin: 0;
	padding: 1em;
}

.border-layout-footer-position {
	position: fixed;
	bottom: -40em;
	left: -75%;
	border: 0;
	width: 250%;
}


.border-layout-left-content {
	margin: 0;
	padding: 1em;
	width: 15%;
	height: 80%;
	float: left;
	margin-right: 1.1em;
}

.border-layout-right-content {
	margin: 0;
	padding: 1em;
	width: 15%;
	height: 80%;
	float: right;
	margin-left: 1.1em;
}

.border-layout-mid-content {
	margin: 0;
	padding: 1em;
	padding-bottom: 0em;
	min-height: 79%;
}

.border-layout-mid-content:after {
	content: ' ';
	clear: both;
	display: block;
	height: 0;
	overflow: hidden
}

.border-layout-text-left {
	text-align: left;
}

.border-layout-text-right {
	text-align: right;
}

.border-layout-text-center {
	text-align: center;
}

.border-layout-text-justify {
	text-align: justify;
	text-justify: auto;
}

/* Instagram */
#instafeed a {
	padding: 0.312em 0.312em 0.063em 0.312em;
	margin: 0.625em;
	border: 0.063em solid #e1e1e1;
	display: inline-block;
	border-radius: 0.25em;
	position: relative;
}

#instafeed a>img {
	width: 9.375em;
	height: 9.375em;
}

#instafeed .likes {
	background: rgba(222, 89, 135, 0.8);
	font-family: sans-serif;
	font-size: 1em;
	position: absolute;
	color: #ffffff;
	right: 0.312em;
	top: 0.312em;
	left: 0.312em;
	opacity: 0;
	text-align: center;
	line-height: 9.375em;
	text-shadow: 0 0.063em rgba(0, 0, 0, 0.5);
	-webkit-font-smoothing: antialiased;
	-webkit-transition: opacity 100ms ease;
	-moz-transition: opacity 100ms ease;
	-o-transition: opacity 100ms ease;
	-ms-transition: opacity 100ms ease;
	transition: opacity 100ms ease;
}

#instafeed a:hover .likes {
	opacity: 1;
}

.instagram-container-position {
	bottom: 15%;
	left: 10%;
}

.instagram-container-lg {
	width: 50em;
}

.instagram-container-medium {
	width: 40em;
}

.instagram-container-sm {
	width: 30em;
}

.instagram-container {
	position: absolute;
	text-align: left;
	/* background-color: #f8f8ff;  */
	max-height: 20em;
	min-height: 14em;
	/* overflow: auto; */
}

.instagram-container-half-gray-transparent {
	background: rgba(246, 243, 243, 0.5);
}

.instagram-container-half-white-transparent {
	background: rgba(255, 255, 255, 0.5);
}

.instagram-container-half-black-transparent {
	background: rgba(0, 0, 0, 0.5);
}

.instagram-header-msg {
	margin-left: 0.5em;
	font-size: 1.5em;
}

/*.fp-slidesNav {
	opacity: 0;
	visibility: hidden;
	transition: all .1s linear;
}*/

.video-wrap,
.video-wrap__container {
	background: transparent;
}

.video-wrap video {
	max-width: 100%;
	max-height: 100%;
	/* margin: auto;
	background: transparent; */
}

.google-maps {
    position: relative;
    padding-bottom: 28%;
    height: 0;
    overflow: hidden;

}
.google-maps iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100% !important;
	height: 100% !important;
	margin-bottom: 10 !important;
	opacity: 0.65;
}



@media screen and (min-width: 320px) and (max-width: 767px) {
	body {
		font-size: 10px;
	}

	.default-text-medium-lg {
		font-size: 1.4em;
	}

	.default-text-medium {
		font-size: 1.0em;
	}

	.border-layout-footer-position {
		position: absolute;
		top: -18em;
		left: 0;
		bottom: 0;
		width: 100%;
		height: 100%;

	}

	.google-maps {
		padding-bottom: 100%;
	}

	.default-text-xl {
		font-size: 1.0em;
	}


	/* textbox */

	.textbox-xl {
		width: 25em;
	}

	.textbox-lg {
		width: 25em;
	}

	.textbox-medium {
		width: 17em;
	}

	.textbox-sm {
		width: 14em;
	}

	.textbox-top-mid {
		top: 20%;
		left: 15%;
	}

	.textbox-mid-mid {
		top: 25%;
		left: 20%;
	}

	.textbox-bottom-mid {
		bottom: 10%;
		left: 20%;
	}

	.textbox-top-right {
		top: 20%;
		right: 30%;
		left: 10px;
	}


	.swiper-slide-height {
		min-height: 35em;

		overflow: hidden;
	}

	.swiper-top-mid {
		top: 10%;
		left: 5%;
		width: 80%
	}

	.swiper-post-textbox {
		bottom: -15em;
		left: 0%;
		width: 100%;
		margin-left: 0em;
	}

	.textbox-bottom-left{
		bottom: 10%;
		left: 6%;
	}

	.textbox-hide-on-mobile {
		visibility: hidden;
	}

	.textbox-show-on-mobile {
		visibility: visible;
	}

	.textbox-lg-vm-slide {
		width: 14em;
	}

	.textbox-medium-vm-slide {
		width: 12em;
	}

	.textbox-sm-vm-slide {
		width: 10em;
	}

	/* Navigation */
	#fp-nav.right {
		right: 0.875em;
	}

	#fp-nav.left {
		left: 0.875em;
	}

	.fp-slidesNav.bottom {
		bottom: .875em;
	}

	.fp-slidesNav.top {
		top: .875em;
	}

	.fp-slidesNav {
		margin-left: -16em;
	}

	#fp-nav ul li .fp-tooltip {
		top: -0.125em;
		font-size: 1.25em;
		display: none;
	}

	/* hotspot */
	.spot-top-left {
		left: 50%;
		bottom: 60%;
	}

	.spot-mid-left {
		left: 50%;
		bottom: 45%;
	}

	.spot-bottom-left {
		left: 50%;
		bottom: 20%;
	}

	.spot.only-image figure {
		position: relative;
		left: -45%;
		border-radius: 0%;
		-webkit-transform: scale(1);
		transform: scale(1);
		-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
		filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
		opacity: 1;
	}

	/* Mixed slide */
	.mixed-slide-lg {
		width: 20em;
	}

	.mixed-slide-medium {
		width: 17em;
	}

	.mixed-slide-sm {
		width: 14em;
	}

	.mixed-top-left {
		left: 10%;
		top: 10%;
	}

	.mixed-top-mid {
		left: 10%;
		top: 10%;
	}

	.mixed-top-right {
		left: 10%;
		top: 10%;
	}

	.mixed-mid-left {
		left: 10%;
		top: 35%;
	}

	.mixed-mid-mid {
		left: 10%;
		top: 35%;
	}

	.mixed-mid-right {
		left: 10%;
		top: 35%;
	}
	.mixed-bottom-footer-left {
			left: 10%;
			top: 80%;
		}


	.mixed-bottom-mid {
		left: 10%;
		top: 60%;
	}

	.mixed-bottom-footer-mid {
		left: 10%;
		top: 80%;
	}

	.mixed-bottom-right {
		left: 10%;
		top: 60%;
	}

	.mixed-bottom-footer-right {
		left: 10%;
		top: 80%;
	}

	/* Instagram */
	#instafeed a>img {
		width: 5.375em;
		height: 5.375em;
	}

	.instagram-container {
		bottom: 5em;
		left: 2em;
	}

	.instagram-container-lg {
		width: 27em;
	}

	.instagram-container-medium {
		width: 24em;
	}

	.instagram-container-sm {
		width: 20em;
	}

	ul.icon {
		padding-left: 15px;
	}

	/* Header style */
	header {
		height: 12vh;
	}
	header .logo img {
		width: 100px;
	}

	.logo {
		top: 2.5em;
	}

	.languages {
		top: 3.5em;
	}

	#fp-nav {
		top: 12em;
	}

	.border-layout-left-content,
	.border-layout-right-content {
		width: 0%;
	}

	 .border-layout-container {
        width: 85%;
        /* Form höher positionieren - weniger tief */
        top: 8vh !important;            /* REDUZIERT von 16vh auf 8vh */
        height: auto !important;        /* Flexible Höhe */
        max-height: calc(100vh - 16vh) !important; /* Angepasst: mehr Platz nach unten */
        bottom: auto !important;        /* Bottom-Eigenschaften zurücksetzen */
    }


	/* V37 inline: Border-Layout – Boxhöhe folgt Inhalt (kein Leerraum) */
	.border-layout-container{ height: auto !important; }
	.border-layout-mid-content{
	min-height: 0 !important;
	height: auto !important;
	}

}


@media screen and (min-width: 768px) and (max-width: 1200px) {

	.default-text-medium-lg {
		font-size: 1.5em;
	}

	.default-text-medium {
		font-size: 1.2em;
	}

	.border-layout-footer-position {
		position: absolute;
		top: 0;
		left: 0;
		width: 70em;
		height: 100%;
	}

	.google-maps {
		padding-bottom: 50%;
	}

	.default-text-xl {
		font-size: 1.5em;
	}

	body {
		font-size: 14px;
	}

	/* textbox */
	.textbox-lg {
		width: 25em;
	}

	.textbox-medium {
		width: 22em;
	}

	.textbox-sm {
		width: 18em;
	}

	.textbox-top-mid {
		top: 20%;
		left: 20%;
	}

	.textbox-mid-mid {
		top: 50%;
		left: 20%;
	}

	.textbox-bottom-mid {
		bottom: 10%;
		left: 20%;
	}


	.swiper-slide-height {
		min-height: 22em;
		overflow: hidden;
	}

	.swiper-top-mid {
		top: 10%;
		left: 5%;
		width: 80%
	}

	.swiper-post-textbox {
		bottom: -70%;
		left: -20%;
		width: 20em;
		margin-left: 10em;
		margin-right: 10em;

	}


	.textbox-bottom-left{
		bottom: 10%;
		left: 6%;
	}

	/* navigation */
	#fp-nav.right {
		right: 0.875em;
	}

	#fp-nav.left {
		left: 0.875em;
	}

	.fp-slidesNav.bottom {
		bottom: .875em;
	}

	.fp-slidesNav.top {
		top: .875em;
	}

	.fp-slidesNav {
		margin-left: -35em;
	}

	#fp-nav ul li .fp-tooltip {
		top: -0.125em;
		font-size: 1.25em;
		cursor: pointer;
	}

	/* hotspot */
	.spot-top-left {
		left: 55%;
		bottom: 60%;
	}

	.spot-mid-left {
		left: 55%;
		bottom: 45%;
	}

	.spot-bottom-left {
		left: 55%;
		bottom: 20%;
	}

	ul.icon {
		padding-left: 15px;
	}

	.languages {
		top: 2.5em;
	}

	#fp-nav {
		top: 8em;
	}

	header {
		height: 13vh;
	}

	.border-layout-container {
		top: 17%;
		width: 90%;
	}

	.textbox-top-right {
		top: 20%;
	}
}


/* List Items */
ul.icon {
	list-style-type: none;
}

ul.icon li {
	text-indent: -1.4em;
	margin: 0.5em 2em;
}

ul.icon li:before {
	font-family: FontAwesome;
	content: "\f111";
	float: left;
	width: 1.4em;
	color: #111111;
}

ul.icon li.check:before {
	content: "\f00c";
}


.fp-watermark {
	display: none;
}

/* Alle Markierungen im ganzen Body deaktivierbar über Klasse */
body.no-select, body.no-select * {
    user-select: none !important;
    -webkit-user-select: none !important;
    -webkit-user-drag: none !important;
    -moz-user-select: none !important;
    -ms-user-select: none !important;
}

.logo, .logo * {
    user-select: none !important;
    -webkit-user-drag: none !important;
    pointer-events: auto;
}

.languages, .languages * {
    user-select: none !important;
    -webkit-user-select: none !important;
    -moz-user-select: none !important;
    -ms-user-select: none !important;
    -webkit-user-drag: none !important;
}


/* ===== ITConsulting24 – Brand Tokens ===== */
:root{
  --ic24-blue:  #137CFD;   /* RGB 19,124,253 */
  --ic24-black: #0E0E10;   /* RGB 14,14,16   */
  --ic24-white: #FFFFFF;   /* RGB 255,255,255*/
}

/* Basis: Brand-konforme Keyword-Highlighting (neutraler Hintergrund) */
.keyword-highlight{
  font-family: Arial, Helvetica, sans-serif;
  font-weight: 700;
  color: var(--ic24-blue) !important;
  text-decoration: none;
  /* leichte Lesbarkeitsstütze statt Text-Stroke */
  text-shadow: 0 1px 0 rgba(14,14,16,.35);
}

/* Variante: auf dunklen Panels/Hero-Bildern (Grundtext weiss) */
.on-dark .keyword-highlight,
.keyword-highlight--on-dark{
  color: var(--ic24-blue) !important;
  text-shadow: 0 1px 1px rgba(0,0,0,.55), 0 0 8px rgba(0,0,0,.25);
}

/* Variante: „Marker“-Optik für helle Hintergründe (keine Outline nötig) */
.keyword-highlight--soft{
  font-family: Arial, Helvetica, sans-serif;
  font-weight: 700;
  color: var(--ic24-black);
  box-shadow: inset 0 -0.35em 0 rgba(19,124,253,.22);
}


/* ===============================
   Standard-Hintergrund fuer Slides
   =============================== */

.slide-default{
    /* zwei Verlaufs­overlays + Platzhalter fuers Foto */
    background:
      linear-gradient(to bottom,rgba(0,0,0,0),rgba(0,0,0,0) 90%,rgba(0,0,0,.6)),
      linear-gradient(to right ,rgba(0,0,0,0),rgba(0,0,0,0) 70%,rgba(0,0,0,.6)),
      var(--slide-bg) center/cover no-repeat;
}


/* ============================================================
   Spacious textbox – macht die Mittelbox breiter & höher
   ============================================================ */
.textbox-spacious{
    min-width:60%;          /* Desktop: 60 % Breite */
    min-height:40%;         /* 50 % der Slide-Höhe  */
    padding:4rem 3rem;      /* grosszügiger Innenabstand */
    box-sizing:border-box;
}

@media (max-width:768px){
    .textbox-spacious{
        /* Safe-Raender (rechts Luft fuer FullPage-Dots) */
        --safe-left: 16px;
        --safe-right: 72px;

        position: absolute;                 /* bleibt absolut (via .textbox-position) */
        top: var(--safe-top) !important;
        left: var(--safe-left) !important;
        right: var(--safe-right) !important;

        width: auto !important;             /* statt fixer em-Breiten */
        max-width: none !important;
        min-height: 0 !important;

        padding: 2rem 1rem !important;      /* wie vorher, leicht kompakt */
        box-sizing: border-box !important;

        overflow: visible !important;       /* keine eigene Scrollbar */

        /* bessere Umbrueche */
        hyphens: auto;
        word-break: normal;
    }


/* V37 inline: spacious + bottom-anchored -> respektiere bottom */
.textbox-spacious.textbox-bottom-left,
.textbox-spacious.textbox-bottom-mid,
.textbox-spacious.textbox-bottom-right{
  top: auto !important;
}

}



/* CTA-Link – wirkt auch auf dunklem Hero-Hintergrund */

.cta-link{
  display:inline-flex; align-items:center; gap:.5rem;
  padding:.65rem 1rem; border-radius:9999px;
  background:transparent; color:var(--ic24-white);
  border:2px solid rgba(255,255,255,.25);
  font-weight:700; text-decoration:none; cursor:pointer;
  transition:background-color .2s ease, border-color .2s ease, transform .2s ease;
}
.cta-link:hover,
.cta-link:focus-visible{
  background:var(--ic24-blue-dark);
  border-color:var(--ic24-blue-dark);
  transform:translateY(-1px);
  outline:none;
}
.cta-link:active{ transform:translateY(0); filter:brightness(.95); }
.cta-link .fa{ transition:transform .2s ease; }
.cta-link:hover .fa{ transform:translateX(4px); } /* dezente Pfeilbewegung */


.slide-position{
    background-repeat:no-repeat!important;
    background-position:center!important;
    background-size:cover!important;
}

/* exakt mittig (unabhaengig von Aufloesung) */
.textbox-center{
  top:50% !important;
  left:50% !important;
  transform:translate(-50%,-50%) !important;
}

/* optional: auf Mobile etwas schmaler */
@media (max-width:768px){
  .textbox-center{ width:90%; }
}

/* Swipe an FullPage weiterreichen, aber Links/Buttons bleiben klickbar */
.textbox-position{
  pointer-events: none;            /* Block ignoriert Touch */
  touch-action: pan-x pan-y;       /* Safari/Chrome: Gesten erlaubt */
}

.textbox-position a,
.textbox-position button,
.textbox-position input,
.textbox-position .cta {
  pointer-events: auto;            /* Interaktive Elemente wieder aktiv */
}


.cta-block{
  display:inline-flex; align-items:center; gap:.5rem;
  padding:.65rem 1rem; border-radius:9999px;
  background:transparent; color:var(--ic24-white);
  border:2px solid rgba(255,255,255,.25);
  font-weight:700; cursor:pointer;
  transition:background-color .2s ease, border-color .2s ease, transform .2s ease;
}
.cta-block:hover,
.cta-block:focus-visible{
  background:var(--ic24-blue-dark);
  border-color:var(--ic24-blue-dark);
  transform:translateY(-1px);
  outline:none;
}
.cta-block .fa{ transition:transform .2s ease; }
.cta-block:hover .fa{ transform:translateX(4px); }


/* CTA-Link (blau, ohne Unterstreichung, mit Abstand) */
.link-cta {
  color: #3B82F6;
  text-decoration: none;
  font-weight: 600;
  display: inline-block;   /* ermoeglicht margin-top */
  margin-top: 0.75rem;     /* Abstand zum vorherigen Text */
  cursor: pointer;
}
.link-cta:hover,
.link-cta:focus-visible {
  color: #2563EB;
  text-decoration: none;
  outline: none;
}
.link-cta:active {
  color: #1D4ED8;
}

/* Falls default-text-white die Farbe ueberschreibt */
.textbox-black-half-transparent .link-cta {
  color: #3B82F6 !important;
}


/* CTA link consistency across containers */
.triple-v-container .link-cta,
.double-h-wrapper .link-cta,
.double-v-wrapper .link-cta {
  color: #3B82F6 !important;
  text-decoration: none !important;
  font-weight: 600;
}
.triple-v-container .link-cta:hover,
.double-h-wrapper .link-cta:hover,
.double-v-wrapper .link-cta:hover {
  color: #2563EB !important;
}

/* Home / Slide 1: Cube (Swiper) auf Mobile etwas tiefer setzen */
@media (max-width: 480px){
  .section[data-anchor="home"] .textbox-position.textbox-center{
    top: 55% !important;            /* tiefer: 60–66% je nach Bild probieren */
    /* transform bleibt wie definiert (translate(-50%,-50%)) */
  }
}

/* Optional: sehr kleine Screens (z. B. iPhone SE) noch etwas tiefer */
@media (max-width: 360px){
  .section[data-anchor="home"] .textbox-position.textbox-center{
    top: 65% !important;
  }
}


/* Neutraler Scrim wie eure halbtransparenten Textboxen — für Bild-Text-Blöcke */
.triple-h-box .textbox-black-half-transparent,
.triple-v-box .textbox-black-half-transparent {
  background: rgba(10, 14, 20, 0.55);  /* ruhiges Dunkelgrau, gute Lesbarkeit */
  box-shadow: 0 6px 24px rgba(0,0,0,0.25);
}

/* Blog-Teaser passend angleichen (falls noch nicht gesetzt) */
.section[data-anchor="blog"] .triple-h-box.blog-tile-with-bg > .blog-tile-scrim{
  background: rgba(0,0,0,0.55);
}

/* Leichter Kontrast-Boost fuer Text auf Bildern */
.triple-h-box .textbox-black-half-transparent .default-text-white,
.triple-v-box .textbox-black-half-transparent .default-text-white {
  text-shadow: 0 1px 2px rgba(0,0,0,0.6);
}

/* Brand nur als Akzent: Links & feine Linie (optional) */
.link-cta { color:#3B82F6; text-decoration:none; font-weight:600; }
.link-cta:hover { color:#2563EB; }
.textbox-black-half-transparent.textbox-accent-left{ border-left:4px solid #3B82F6; padding-left:.75rem; }

/* === Brand-Scrim (einheitlich Blau) =============================== */
:root{
  --brand-blue-600: #2563EB;  /* Hover/CTA */
  --brand-blue-500: #3B82F6;  /* CTA/Links */
  --scrim-blue-strong: rgba(37,99,235,0.78);
  --scrim-blue-mid:    rgba(37,99,235,0.62);
  --scrim-blue-soft:   rgba(37,99,235,0.48);
}


/* Alle halbtransparenten Boxen auf identischen Blauton bringen * /
.textbox-black-half-transparent,
.border-layout-half-black-transparent,
.black-half-transparent,
.section .textbox-black-half-transparent {
  background: linear-gradient(
    180deg,
    var(--scrim-blue-strong) 0%,
    var(--scrim-blue-mid) 60%,
    var(--scrim-blue-soft) 100%
  ) !important;
  / * leichtes Aufräumen/Lesbarkeit *
  box-shadow: 0 6px 24px rgba(0,0,0,0.22);
  backdrop-filter: saturate(110%) blur(.3px);
}

/  Blog-Teaser-Scrim exakt gleich blau * /
.section[data-anchor="blog"] .triple-h-box.blog-tile-with-bg > .blog-tile-scrim{
  background: linear-gradient(
    180deg,
    var(--scrim-blue-strong) 0%,
    var(--scrim-blue-mid) 60%,
    var(--scrim-blue-soft) 100%
  ) !important;
}

 / * Sicherheit: Text bleibt überall gut lesbar * /
.textbox-black-half-transparent .default-text-white,
.border-layout-half-black-transparent .default-text-white {
  text-shadow: 0 1px 2px rgba(0,0,0,0.55);
}
*/

/* === Einheitlicher Grau-Scrim siteweit =========================== */
:root{
  /* eine Stelle zum Nachjustieren – 0.58 ist meist „genau richtig“ */
  --scrim-gray: rgba(10,14,20,0.68);
}
/*
/* Alle halbtransparenten Boxen bekommen exakt dasselbe Grau */
.textbox-black-half-transparent,
.border-layout-half-black-transparent,
.black-half-transparent,
.section .textbox-black-half-transparent,
.section .border-layout-half-black-transparent{
  background: var(--scrim-gray) !important;
  box-shadow: 0 6px 24px rgba(0,0,0,0.22);
}

/* Blog-Teaser (Kacheln mit Bild) – Scrim angleichen */
.section[data-anchor="blog"] .triple-h-box.blog-tile-with-bg > .blog-tile-scrim{
  background: var(--scrim-gray) !important;
}

/* Blog-Detail: Header-Overlay (Titelbereich auf dem Bild) angleichen */
.section[data-anchor="blog"] .blog-detail-header-text{
  background: var(--scrim-gray) !important;
}

/* Kontakt: falls die Overlay-Box dort anders wirkt, hiermit vereinheitlichen */
.section[data-anchor="contact"] .textbox-black-half-transparent,
.section[data-anchor="contact"] .border-layout-half-black-transparent{
  background: var(--scrim-gray) !important;
}

/* Lesbarkeit auf allen Overlays konsistent */
.textbox-black-half-transparent .default-text-white,
.border-layout-half-black-transparent .default-text-white{
  text-shadow: 0 1px 2px rgba(0,0,0,0.6);
}

/* Videos: kein Rand, kein Radius, kein Schatten, kein Hintergrund */
.textbox-position.video-wrap__container{
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
}

.textbox-position.video-wrap__container video,
.textbox-position.video-wrap__container .custom-video,
.textbox-position.video-wrap__container .video_to_play{
  display: block;
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  object-fit: cover;
  margin: 0 !important;
  outline: none !important;
}

/* Falls irgendwo .textbox-black-half-transparent am Video-Container haengt: neutralisieren */
.textbox-position.video-wrap__container.textbox-black-half-transparent{
  background: transparent !important;
}

/* FullPage-Dots: Weiss -> Brand-Blau (nur aktiver Punkt) */
#fp-nav ul li a.active span,
.fp-slidesNav ul li a.active span{
  background: var(--ic24-blue, var(--brand-blue-500, #3B82F6)) !important;
}


/* FullPage-Tooltip: nur der aktive Menü-Text in Brand-Blau */
#fp-nav a.active + .fp-tooltip,
#fp-nav.fp-show-active a.active + .fp-tooltip{
  color: var(--ic24-blue, var(--brand-blue-500, #3B82F6)) !important;
  top: .2em;
}



/* === Top-Claim: wie Menü-Tooltip, nur ~2× groesser ====================== */
#top-claim{
  position: fixed;
  top: 18px;                /* an Logo-Höhe anpassen, falls nötig */
  right: 6.5rem;            /* Abstand zu den FullPage-Dots rechts */
  z-index: 40;

  /* exakt wie Menü (Font erbt), nur größer */
  font-family: inherit;
  font-weight: 600;
  line-height: 1.1;
  font-size: clamp(22px, 2.2vw, 36px);

  /* gleiche Lesbarkeits-Optik wie der Menü-Tooltip (Basis war weiß + Shadow) */
  color: var(--ic24-blue, var(--brand-blue-500, #3B82F6));

  text-shadow: 0 1px 1px rgba(0,0,0,.35);

  /* blockiert nichts (Dots / Klicks dahinter) */
  pointer-events: none;
}

/* schmaler Gradient oben rechts (wie beim Logo oben – ~10% Höhe) */
#top-claim::before{
  content: "";
  position: fixed;
  top: 0;
  right: 0;
  width: min(45vw, 780px);   /* nur rechter Bereich */
  height: 10vh;              /* ca. 10% */
  min-height: 72px;
  z-index: -1;
  pointer-events: none;

  background: linear-gradient(
    180deg,
    rgba(10,14,22,.42) 0%,
    rgba(10,14,22,.24) 45%,
    rgba(10,14,22,0) 100%
  );
}
@supports (backdrop-filter: blur(2px)){
  #top-claim::before{
    backdrop-filter: blur(2px) saturate(120%);
    -webkit-backdrop-filter: blur(2px) saturate(120%);
  }
}

/* ---------- Responsive Sichtbarkeit ---------- */
/* Titel auch mobil sichtbar, nur kompakter platzieren */
@media (max-width: 900px){
  #top-claim{
    top: 12px;
    right: 1rem;
    font-size: clamp(18px, 4.2vw, 24px);
  }
}

/* Aktiver Menü-Text (Tooltip) auch ohne Hover auf Touch-Geräten zeigen */
@media (hover: none) and (pointer: coarse){
  #fp-nav.fp-show-active .fp-tooltip{
    display: block !important;
    opacity: 1 !important;
  }
}


/* === Page Claim unten links (spiegelt Logo-Offsets) ====================== */
#top-claim{
  position: fixed;
  /* evtl. alte top/right neutralisieren */
  top: auto !important;
  right: auto !important;

  /* werden von JS gespiegelt gesetzt; Fallbacks */
  bottom: var(--claim-bottom, 24px) !important;
  left:   var(--claim-left,   24px) !important;

  z-index: 40;

  font-family: inherit;
  font-weight: 500;                              /* dünner */
  line-height: 1.1;
  font-size: clamp(22px, 2.2vw, 36px);
  color: var(--ic24-blue, var(--brand-blue-500, #137CFD));
  text-shadow: 0 1px 1px rgba(0,0,0,.35);

  pointer-events: none;                          /* blockiert nichts */
}

/* evtl. alter Top-Overlay aus vorherigen Versuchen sicher weg */
#top-claim::before{ content: none !important; }

#top-claim::after{
  content: "";
  position: fixed;
  left: 0;              /* volle Breite */
  right: 0;             /* statt fester width */
  bottom: 0;

  height: 14vh;         /* ca. 10–14% der Höhe – gern anpassen */
  min-height: 84px;
  z-index: -1;
  pointer-events: none;

  /* nur vertikaler Fade von unten nach oben → keine horizontalen Nahtkanten */
  background: linear-gradient(
    0deg,
    rgba(10,14,22,.42) 0%,
    rgba(10,14,22,.24) 45%,
    rgba(10,14,22,0)   100%
  );
}

/* Cube immer quadratisch & Slides füllen den Container */
.cubeSwiper{
  aspect-ratio: 1 / 1;
  height: auto !important;    /* Höhe kommt aus der Breite */
}
.cubeSwiper .swiper-wrapper,
.cubeSwiper .swiper-slide{
  height: 100% !important;    /* Slides folgen der Containerhöhe */
}

/* Cube immer quadratisch & zentriert; mobil leicht nach unten schieben */
.cubeSwiper{
  aspect-ratio: 1 / 1;
  height: auto !important;
  margin-left: auto;
  margin-right: auto;
  display: block;
}
.cubeSwiper .swiper-wrapper,
.cubeSwiper .swiper-slide{
  height: 100% !important;
}
@media (max-width: 768px){
  .cubeSwiper{ margin-top: 6vh; } /* wie vorher „nach unten geschoben“ */
}

@media (max-width: 768px){
  /* Die Mobile-Ausnahme in custom.css setzt height:auto !important.
     Für CONTACT überschreiben wir das gezielt wieder auf Viewport-Logik. */
  .section[data-anchor="contact"] .border-layout-container{
    top: 11vh !important;
    height: calc(100vh - 22vh) !important;   /* oben ~11vh, unten ~11vh */
  }

  /* Form-intern weniger Eigenspacing oben, damit die Symmetrie stimmt */
  .section[data-anchor="contact"] .contact-form{
    margin-top: 0;                            /* statt 4vh Standardabstand */
  }
}


/* === Orientation Guard (Phone-Landscape) =============================== */

/* Vollbild-Hinweis (Option B) */
#fp-rotate-overlay{
  position: fixed; inset: 0;
  display: none;                 /* wird per Klasse ein-/ausgeblendet */
  align-items: center; justify-content: center;
  text-align: center;
  z-index: 100000000;            /* über allem */
  /* halbtransparenter, ruhiger Hintergrund – passend zu deinen Scrims */
  background: rgba(10,14,20,0.72);
  /* Scroll & Gesten blockieren */
  overscroll-behavior: contain;
  touch-action: none;
}
#fp-rotate-overlay .inner{
  max-width: 520px; padding: 1.25rem 1.5rem;
  color: #fff; border-radius: 12px;
  background: rgba(15,19,28,0.85);
  border: 1px solid rgba(255,255,255,0.10);
  box-shadow: 0 10px 30px rgba(0,0,0,.35);
}
#fp-rotate-overlay h3{ margin: 0 0 .35rem 0; font-size: 1.35rem; }
#fp-rotate-overlay p{ margin: 0; opacity: .95; }

/* Klasse, mit der JS den Splash sichtbar macht */
html.fp-show-rotate #fp-rotate-overlay{ display: flex; }

/* Beim Splash: Scroll global blockieren */
html.fp-lock-scroll, html.fp-lock-scroll body{ overflow: hidden !important; }

/* === Scale-Wrapper (Option A) ========================================= */
/* Wird dynamisch per JS erzeugt – CSS nur als Sicherheitsnetz */
#fp-scale-wrapper{
  position: fixed; inset: 0; overflow: hidden;
  z-index: 0;                    /* unter Header/Overlays, über dem Body-Hintergrund */
}

/* === Phone-Quer: Vollbild-Splash (Option B) ============================= */
#orientation-splash {
  position: fixed;          /* immer vor dem gesamten Inhalt */
  inset: 0;                 /* deckt den ganzen Bildschirm ab */
  background: #000;         /* vollständig schwarz (Hintergrund unsichtbar) */
  color: #fff;              /* weißer Text */
  z-index: 2147483647;      /* höher geht nicht – garantiert on top */
  display: none;            /* standard: unsichtbar */
  align-items: center;      /* Inhalt mittig vertikal */
  justify-content: center;  /* Inhalt mittig horizontal */
  text-align: center;       /* Text zentrieren */
  padding: 24px;            /* kleiner Innenabstand */
  font-family: system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif;
}
#orientation-splash.is-visible { display: flex; } /* sichtbar schalten */

/* Optional schöner: kleine Fade-Transition (wird via JS getriggert) */
#orientation-splash.fade-out { animation: splashFadeOut var(--splash-fade-ms, 250ms) ease forwards; }
@keyframes splashFadeOut { from{opacity:1} to{opacity:0; visibility:hidden} }

/* Body sperren, wenn Splash aktiv ist (kein Scroll, keine Tab-Fokuswechsel hinter dem Overlay) */
body.orientation-locked { overflow: hidden !important; }

/* === SCALE-Modus: optische Glättung beim Transform ====================== */
.fp-scale-target {
  will-change: transform;
  transform-origin: top left;         /* wir verkleinern von links oben aus */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}


/* === fp.landscape-modes — Canvas-Wrapper for scaling === */
.fp-landscape-canvas{
  position:absolute;
  left:0; top:0;
  transform-origin:0 0;
  will-change: transform;
  z-index: 2; /* über Background, unter Logo/Sprachen/FP-Dots wenn nötig */
}


.kunden-logo {
	position: absolute;
	top: 20px;
	right: 30px;
	width: 100px;
	height: auto;
	opacity: 0.8;
}
/* === ElevenLabs-Chatbot: Bubble horizontal ausrichten ================== */
/* Default: Desktop */
elevenlabs-convai{
  margin-right: -20px !important; /* endet genau an eurer rechten Nav-Kante */
}

/* Phone (entspricht euren Mobile-Breakpoints 320–767px) */
@media screen and (min-width: 320px) and (max-width: 767px){
  elevenlabs-convai{ margin-right: -45px !important; }
}

/* Tablet / iPad (768–1200px) – iPad Pro Landscape fällt hier hinein */
@media screen and (min-width: 768px) and (max-width: 1200px){
  elevenlabs-convai{ margin-right: -30px !important; }
}


/* === PRICING Slide: 2-spaltig Desktop, stacked Mobile === */
.pricing-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:1.25rem;
}
.pricing-col,
.pricing-side{
  color:#fff;
}

/* Rechte Spalte */
.pricing-side{
  display:grid;
  gap:1rem;
  align-content:start;
}
.price-block{
  background:rgba(0,0,0,.25);
  border:1px solid rgba(255,255,255,.09);
  border-radius:10px;
  box-shadow:0 10px 24px rgba(0,0,0,.18);
  padding:.9rem 1rem;
}

/* CTA-Link */
.price-block .link-cta{
  display:inline-block;
  color:#fff !important;
  text-decoration:underline;
  font-weight:600;
}
.price-block .link-cta:hover{
  text-decoration:none !important;
}

/* Desktop: 2 Spalten */
@media (min-width:980px){
  .pricing-grid{
    grid-template-columns:1.2fr .8fr;
    column-gap:2rem;
  }
}
@media (min-width:1400px){
  .pricing-grid{ column-gap:2.5rem; }
}
