:root{
	--primary-color:#faa61a;
	--secondary-color: #2a2a2a;
	--tertiary-color: #e3d9d0;
}

body{
	font-family: Marine-Regular, Arial, sans-serif;
	font-size:13pt;
}

h1,h2,h3,h4,h5, .card-title{
	color: #faa61a;
	font-family:Marine-Light;
}

h1{}

h2{
	font-size: 2.4rem;
}

a, .frame a[class=""], .frame a:not([class]){
	color:var(--primary-color);
	border:0;
}

a:hover,.frame a[class=""]:hover, .frame a:not([class]):hover{
	color:var(--secondary-color);
	border:0;
}

li {

}

.list-normal > li {
	list-style-type:disclosure-closed;	
}

.list-normal > li::marker{
	color:#faa61a;
}

.header {
    background-color: #fff;
    color: #ffffff;
    #text-align: center;
	position:relative;
	height: 700px;
}


.subpage-header{
	background-color: rgba(0,0,0,0.6);
	height:250px;
}

.header-aufsichtsrat{
	height:380px;
}

.subpage-header-aufsichtsrat-title-container{
	position:absolute;
	bottom:0;
	width:100%;
	background-color: rgba(0,0,0,0.6);
	height:170px;
	align-items: center;
	display: flex;	
}

.subpage-header-background {
	position:absolute;
	overflow:hidden;
	height:100%;
}

.subpage-header-background > img {
	transform: translateY(-51%);
	height: auto;
	width: 100%;
}

.stage-foreground{
	max-width: 1800px;
	display: revert;
	position: relative;
	height: 100%;
	margin: auto;	
	display:flex;
	align-items:center;
}

.stage {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  #z-index:0;
}

.stage-overlay {
  position: absolute;
  background-color: rgba(0,0,0,0.6);
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index:0;	
}

.stage-overlay-bright {
	background-image: linear-gradient(to bottom, rgb(0, 0, 0), rgba(0,0,0,0));
	width: 100%;
	height: 72%;
}

.main-nav-container{
	position:absolute;
	top: 75px;
	width:100%;
	flex-wrap:wrap;
	display:flex;
}

.navbar{

}

.navbar-subpage{
	z-index:2;
}

.main-nav{
	position: relative;
	top: -13px;	
	text-transform: uppercase;
	font-weight:bold;	
	font-size:14pt;
	margin-left: auto;
	margin-right: auto;
	max-width:1500px;
	flex-wrap:wrap;
	display:flex;
}

.navbar-toggler{
	color: var(--tertiary-color);
}

.main-nav a{
	border-bottom: solid 3px transparent;
}

.main-nav a:hover{
	color:#fff;
	border-bottom: solid 3px #fff;
}


  .kesearchbox.collapse,
  .kesearchbox.collapsing {
    opacity: 0;
    overflow: hidden;
    height: 0;
    transition: opacity 0.2s ease;
  }

  .kesearchbox.collapse.show {
    opacity: 1;
    height: auto;
  }
  
.kesearchbox input{
	padding: 5px;
	font-size: 12pt;
	background-color: var(--tertiary-color);
	opacity:0.8;	
	border:0;
}

.search-button {
	background-color: transparent;
	border: none;
	color: var(--tertiary-color);
}

.search-button > span.bi-search::before {
	font-weight:bold !important;
}


.lang-menu{

	align-items: center;
	display: flex;	
	width:30px;
}
a.lang-menu-link,a.lang-menu-link:hover{
	text-decoration:none;
	border-bottom:0;
}

.icon{
	display: inline-block;	
	height:30px;
	width:30px;
}

.arrow-up{
	position: fixed;
	bottom: -80px;
	right: 30px;
	#width: 80px;
	#height: 80px;
	z-index: 2;	
	font-size: 40pt;
	transition: all 0.27s cubic-bezier(0, 0, 0.58, 1) 0s;	
}


.arrow-up img {
	width: 60px;
	height: 60px;
}


.arrow-up > a >i:hover::before{
	color: var(--primary-color);
}

.nav-item{
		padding-right:50px;
}

.main-caption{
	font-family:Marine-Regular;	
	position: absolute;
	bottom: 7rem;
	left: 7rem;
	text-align:left;
	line-height:0.9;
	font-weight: bolder;
	z-index:2;
}

.line-1{
	font-size: 31pt;
	color: #e3d9d0;
	letter-spacing: 1px;
	font-weight:normal;
}

.line-2{
font-size: 50pt;
  color: #faa61a;
  font-weight:bold;
}

.line-3{
	font-family: Marine-Light;
	font-size: 18pt;
	color: #e3d9d0;
	font-weight: 300;
	margin-top:1rem;
}

.border-container{
	position: absolute;
	width: 72%;
	height: 100%;
	top: 36px;
	border-top: 2px solid #faa61a;
	left: 298px;
}

.frontpage-header-link-container{
	position:absolute;
	bottom:-9rem;
	right:8rem;
	color:#000;
	width: 22rem;
	overflow: hidden;	
	text-align: center;
}	
}

.frontpage-header-link-container-overlay{
	display:none;	
}
.frontpage-header-link-container-link{
	position:absolute;
	background-color: rgba(255,255,255,0);
	bottom:0;
	right:0;
	width: 22rem;
	height:100%;
	z-index:1;	
	
}

.frontpage-header-link-container-link:hover{
	background-color: rgba(255,255,255,0.3);
    -webkit-transition: background-color 0.5s ease;
    -ms-transition: background-color 0.5s ease;
    transition: background-color 0.5 ease;
}

.fp-header-link-image img{
	width:22rem;
	height:auto;
}

.fp-header-link-caption{
	height: 4rem;
	background-color: #faa61a;
	align-content: center;	
	text-align: left;
	padding-left:50px;
}

.fp-header-link-caption-text > .line-2{
	line-height:1.2;
	font-size:40pt;
	font-weight: 900;
}
	
.fp-header-link-caption-text{
	height: 9rem;
	background-color: #e3d9d0;
	align-content: center;	
	justify-content: center;
	align-items: center;	
}

.fp-header-link-caption-arrow{
	display: flex;
	width: 100%;
	padding: 0.5rem 0rem 0rem 2.8rem;
}
.fp-header-link-caption-arrow img{
	width: 20px;
	height: 100%;
}

.nav-line-container-1{
	position: absolute;
	height: 666px;
	width:100%;
	top: 120px;	
}
.nav-line-1{
	border-top: 2.5px solid var(--primary-color);
	border-right: 2.5px solid var(--primary-color);
	display: flex;
	flex-grow: 1;
	margin-left: 268px;
	margin-right: 70px;
	justify-content:end;
}

.nav-line-2{
	width: 90px;
	border-bottom: 2.5px solid var(--primary-color);
}


.navline-subpage{
	height:300px;
	overflow:hidden;
}

.subpage-header-title{
	position: absolute;
	bottom: 56px;
	padding-left: 5rem;
}

.motto{
	position: relative;
	height: 12rem;
	display: flex;
	padding-left: 15rem;	
	flex-direction: column;
	align-content: end;
	justify-content: end;	
}

.motto > h2 {
	#padding:0.5rem;
	#color:#000;
	#font-weight:900;
	line-height: 2;
}

.navbar-nav .nav-link.yellow, .navbar-nav .nav-link.show, .yellow{
	color:#faa61a;
}

/*** Frame Layout ***/
.frame-layout-no-padding, .frame-layout-no-padding .frame-container-default  {
	padding: 0;
	width:100%;	
	max-width:unset;
}


.frame-layout-no-padding-bottom {
	padding-bottom: 0;
}

.frame-background-primary {
	background-color: var(--primary-color);
	--frame-color: #000;
}

.frame-background-primary h1,.frame-background-primary h2,.frame-background-primary h3,.frame-background-primary a:not([class]){
	color: #fff;
}

.frame-background-secondary {
	background-color: var(--secondary-color);
}

.frame-background-tertiary {
	background-color: var(--tertiary-color);	
}

/* Content Elements */

/* Header (Content)*/  
h1.h1{
	color:#faa61a !important;
	line-height:4rem;
	font-size:4.5rem;		
	margin:0;
}

h2.h1{
	font-weight:300;
	font-family: Marine-Light;
	font-size: 1.5rem;
	margin:0 5px;
}


/* Header (Carousel)*/  
h1.awesome.h2{
	color: #e3d9d0 !important;	
	line-height:4rem;
	font-size:4.5rem;		
}

h2.awesome.h2{
	color:#faa61a !important;	
	font-weight:900;
	font-family: Marine-Regular;
	font-size: 1.5rem;
	margin:0;
}

h1.h3 {
	line-height:4rem;
	font-size:4.5rem;		
}

hr {
	opacity: 1;
	color: var(--primary-color);
	border:1px solid;  
}

/** Text Pic **/


/* Card Group */

.card{
	border:0;
}

.card-title{
	font-weight:900;
	text-align:center;
	margin-bottom: 1.5rem;
	margin-top: 1rem;
}

.card-body-top-arrow img{
	display:block;
	margin:auto;
	width:20px;
	height:auto;
}

.card-img-top{
	height: 150px;
	border-radius: 0;
}

.card-footer{
	display:flex;
	justify-content:center;
}

.read-more-button{
	padding:1rem;
	background-color: #faa61a;
	top: -3rem;
	position: relative;
}


.no-border::after {
  border: 0;
}

.card-group-layout-2-container{
	#background-image: linear-gradient(#fff 9%, var(--tertiary-color) 9%, var(--tertiary-color) 70%, #b5aca3 70%);
	background-size: 100% 100%;
	background-repeat: no-repeat;
	margin-top: 30px;
	padding-bottom: 130px;
}

.card.card-layout-2{
	background:transparent;
}

.card-group-layout-2-container > .row > .card-group-element{
	padding:0;
	gap:0;
}

.card-layout-2 h2{
	color: #000;
	margin: 0.5rem;
	margin-bottom:2rem;
}

.card-layout-2 h3{
	color: #000;
	font-size: 12pt;
	text-align:center;
}
.card-layout-2 .card-body{
	padding: 1rem 2rem;
}



.card-layout-2 .card-body-top-arrow{
	margin-top:15px;
	margin-bottom: 15px;
}

.card-layout-2 .read-more-button{
	color: #000;
	font-size: 12pt;
	top:0;
}

.card-layout-2 .card-img-top{
	#height: 200px;
	#width:100%;
}

.card-body-text > p{
	width: 280px;
	margin: auto;
}

/** Text **/
.read-more-button-inline{
	display:inline-block;
padding: 1rem;
  background-color: #faa61a;	
}

.inline-button-link{
	color: var(--secondary-color);
}
.inline-button-link > div:hover{
	background-color: var(--tertiary-color);
}

/* Carousel */
.carousel-indicators{
	z-index:1;
}

.carousel-indicators [data-bs-target]{
	background-color: var(--primary-color);	
	width: 20px;
	height: 20px !important;
	border-radius: 12px !important;
	background-clip: unset;
	box-sizing: inherit;	
	margin-right:5px;
	margin-left:5px;
}

.carousel-control, .carousel-control:hover, .carousel-control:active, .carousel-control:focus {
	color: var(--primary-color);	
}

/** Layout 0 ***/
.carousel-inner-layout-0,.carousel-inner-layout-0 > .carousel-item {
  height: 700px;
}
.carousel-control-layout-0{
	height:50%;
	transform: translateY(82%);
	font-size: 27pt;
}

.carousel .carousel-control-layout-0 {
	width: 60px;
}

/** Layout 1 ***/
.carousel-inner-layout-1,.carousel-inner-layout-1 > .carousel-item {
  height: 300px;
}	

.carousel-item-layout-secondary.carousel-item-type-header::before {
	content:'';
	position: absolute;
	background-color: rgba(0,0,0,0.6);
	bottom: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 1;
}

.carousel-inner-layout-1 .carousel-content-inner {
	position:relative;
	z-index:1;
}

/** Layout 2 (for Itemtype=Textpic, Header Eigentümer) ***/

.carousel-inner-layout-2, .carousel-inner-layout-2 > .carousel-item {
    height: unset;
  }
.carousel-content-inner.no-maxwidth{
	max-width: unset;
}

/*** Item Layout Secondary ***/
.item-secondary,.header-textpic-text, .carousel-item-layout-secondary{
	background:transparent;
	height:unset;
	flex-wrap:wrap;	
}

.header-textpic-text {
	#padding-top:3rem;
}

#carousel-31, .carousel-inner-layout-2 {
	overflow:visible;
}

.header-textpic-text::before {
	content: '';
	position: absolute;
	left: -62px;
	border-top: 2px solid var(--primary-color);
	width: 150px;
	height: 100%;
	border-left: 2px solid var(--primary-color);
	top: 24px;
}

.header-textpic-image, .header-textpic-image img, .header-textpic-image > picture{
	margin:0;
	height:auto;
	display:flex;
	#justify-content:center;
	max-height:100%;
	padding-top:0.5rem;
}

.header-textpic-image img{
	width: auto;
}


.carousel-item-layout-quaternary, .carousel-item-layout-quaternary > *, .carousel-item-layout-quaternary > * > * {
  height: 300px !important;
  background-color:  #2a2a2a !important;
}


.cismo-carousel-header-text-inner h1{
	color:#faa61a !important;
	line-height:4rem;
	font-size:4.5rem;
}

.cismo-carousel-header-text-inner h2{
	color:#e3d9d0 !important;
	font-weight:300;
	font-family: Marine-Light;
	font-size: 1.5rem;
	margin:0;
}

.carousel .carousel-content-inner{
	align-items:start;
}

.cismo-carousel-header-text-inner{
	padding-top: 5rem;	
}

/*** Mitarbeiter ***/
.person-image-container {
	text-align:center;
}
.person-name-container {
	font-size:16pt;
	margin-top:10px;
	
}

.primary-color{
	color:var(--primary-color);
}
.person-telefon-container{
		margin-top:10px;
}

.abteilung-container:not(:first-child) {
	margin-top: 3rem;
}


/*** RTE ***/
.table-owner a:not([class]){
	color: #000;
	text-decoration: none;
}


/*** Footer ***/
.footer-container{
	height:100%;
}

.footer {
    background-color: var(--secondary-color); 
    color: #fff;
    padding: 1rem;
	min-height:500px;
	align-items: center;
	padding-bottom: 25px;
	display:flex;
}


.footer a{
	color:#fff;
	border:0;
}

.footer a:hover{
	color: var(--primary-color);
	border:0;
	
}


.footer-menu-container{
	border-bottom: 1px solid #fff;
	padding:0;
}

.footer-menu{
	padding-bottom: 15px;

}

.footer-menu li {
width:33.333333%; float:left;
}

.footer-copy a{
	color: var(--primary-color);
}
	
.footer-copy a:hover{
	color: var(--tertiary-color);
}
	
.footer-copy{
	padding-top:15px;
	color: var(--primary-color);	
	font-size:12pt;
}

.footer-logo img{
	height: auto;
	width: 80%;
}

.footer-social{
	align-items: end;
	gap: 15px;
	justify-content: end;
}

.link-social img {
height: 30px;
  width: auto;
	
}

.link-social:hover > .social-img{
	display:none;
}

.link-social:hover>.social-hover{
	display:block !important;
}

@media (min-width: 768px) {
	.card-group-layout-2-container > * > .card-group-element-columns-3 > .card-group-element-item {
		width:100%;
	}
}
@media (min-width: 992px) {
  .navbar-expand-lg .navbar-collapse {
    flex-basis: unset;
  }
 	.card-group-layout-2-container > .frame-container-default {
		max-width: 100%;
	}
	.card-group-layout-2-container > * > .card-group-element-columns-3 > .card-group-element-item {
		width:33.3%;
	} 
	.cismo-carousel-header-text-inner{
		width:100% !important;
		#padding-top: 8rem;
	}
		
	section {
	}	
	.card-border::after {
	  content: '';
	  position: absolute;
	  right: 0;
	  top: 7%;
	  height: 150px;
	  border: 1px solid #000;
	}

.no-border::after {
  border: 0;
}
	
	
}

@media (min-width: 1200px) {
  .card-group-layout-2-container > .frame-container-default {
    max-width: 100%;
  }
}

@media(max-width: 1566px){

	/** Layout 1 ***/
	.carousel-inner-layout-1,.carousel-inner-layout-1 > .carousel-item {
	  #height: 420px;
	}		
	.motto {
		padding-left:8rem;
	}
}

@media(max-width: 1400px){
	.header-textpic-text::before {
		left: -71px;	
	}	
	.main-caption{
		left:5rem;
		
	}
	.line-1{
		font-size:26pt;
	}
	
	.line-2{
		font-size: 40pt;
	}
}
	
@media (max-width: 1199px){
	/*** Item Layout Secondary ***/
	.item-secondary,.header-textpic-text, .carousel-item-layout-secondary{
			height:unset;
	}
	/*** Layout 2 (Eigentümer) ***/
	.carousel-inner-layout-2, .carousel-inner-layout-2 > .carousel-item{
		height:unset;
	}
	
	.header-textpic-text::before {
		display: none;	
	}

.motto, .main-caption{
	padding-left: 0;
	left:5rem;
}	

}

/* LG */
@media(max-width: 991px){
	
	
	h1.h1 {
		font-size: 2.4rem;
		word-break: break-all;	
	}
	
	h2 {
		font-size: 2rem;
	}
.line-1{
	font-size: 24pt;
	color: #e3d9d0;
	letter-spacing: 1px;
}

.line-2{
font-size: 30pt;
  color: #faa61a;
  font-weight:bold;
}

.line-3{
	font-size: 16pt;
	margin-top:0.5rem;
}	
	.header, .subpage-header, .header-aufsichtsrat{
		#height:500px;
		text-align:unset;
	}
	
	.subpage-header-title {
		padding-left: 2rem;		
	}
	
	.main-nav-container{
		width:100%;
		top:0;
		left:0;
	}
	
	.logo{
		padding-top:30px;
		z-index:3;
	}
	.navbar{
		position:absolute;
		top:0px;
		right:0px;
		padding:0;
	}
	
	.main-nav {
		top: 0;
		width:100%;
		justify-content:end;
		padding: 0;
	}	

	.navbar-toggler{
		margin: 15px;
		z-index:3;
	}

	.navbar-nav{
		padding-bottom: 211px;
	}	
	
	.kesearchbox.collapse{
		opacity: 1;
		height:auto;
		display:block;
	}	
	.search-container{
		padding: 100px 0px 30px 0px;
		justify-content:center;
	}
	
	.navbar-collapse{
		#position: absolute;
		#width: 100%;
		background-color: var(--secondary-color);
		padding: 0 30px;
		z-index:2;		
		transform: translateY(-64px);		
	}

	.carousel .carousel-item{
		padding:0;
	}	
	.main-caption {
		#width:100%;
		left: 0;
		#padding: 0px 50px;
		margin: auto;
		position: relative;
		bottom: unset;
  }	
	
	.motto {
		padding-top:2rem;
		margin:auto;
		position: unset;
		height: unset;
		align-content: start;
		align-items: start;
		display: flex;
	}

	.motto > h2 {
		  #margin:auto;

	}

	.frontpage-header-link-container,.nav-line-container-1, header:not(.subpage-header) > .stage-foreground {
		height:0;
	}
	
	.carousel-content > .stage-foreground, section > .stage-foreground {
		height:100%;
	}
	
	.card-group-layout-2-container{
		margin-top: 0;
	}		
	.card-body > :first-child{
		margin-top:2rem;
	}
	
	.card-layout-2 h2 {
		margin-top: 2rem;
		margin-bottom: 0.5rem;
	}
		
	.header-textpic-text::before {
		display:none;
	}	

	.footer-logo img{
		height: 50px;
		width: auto;
	}
	
	.subpage-header-background > img {
		transform: translateY(0%);

	}	
	.carousel-inner-layout-0, .carousel-inner-layout-0 > .carousel-item {
	  #height: 500px;
	}

	.carousel-inner-layout-0 > .carousel-item > .carousel-content {
	  margin: auto;
	  display: flex;
	}

.cismo-carousel-header-text-inner.carousel-text-inner {
	padding: 20px;
	margin: 0;
}
	.cismo-carousel-header-text-inner h1, h1.h3{
	  line-height: 2.5rem;
	  font-size: 1.9rem;
		word-break: break-all;	
	  
	}
	
	.cismo-carousel-header-text-inner h2{
		line-height: 1rem;
		font-size: 12pt;
		word-break: break-all;	
	}
	
.carousel-control-layout-0 {
  height: inherit;
  transform: unset;
}  


	h1.awesome.h2 {
		line-height: 2rem;
		font-size: 2rem;
	}
	
	.gallery-item{
		--gallery-columns:1;
	}

	.footer-menu{
			padding-top:15px;
	}
	.footer-menu li {
		width: 100%;
	}
	.footer-social{
		padding-top:15px;
	}

}

@media(max-width: 576px){

	.line-1{
		font-size: 16pt;
	  #word-break: break-all;

	}

	.line-2{
	font-size: 22pt;
	  color: #faa61a;
	  font-weight:bold;
	  #word-break: break-all;
	}

	.line-3{
		font-size: 12pt;
		margin-top:0.5rem;
	  #word-break: break-all;
		
	}	
}

