/*******************************************************************************/
/* BASIS LAYOUT   */
/******************************************************************************/

html {
	height:100.1%;
}

body {
	display: flex;
    flex-direction: column;
	overflow-x:hidden; 
	height: 100.1%;
	width: 100%;
	margin: 0px;
	padding: 0px;
	background-color:#ffffff !important;
	position:relative; 
}

header, nav, section, article, aside, footer {
  display: block;
}

#wrapper {
	flex: 1 0 auto;
	position: relative;
	width: 100%;
	margin: 0 auto 0 auto;
	height: auto !important;
}

#wrap-header {
	width:100%;
	height:80px;
	position:fixed;
	background-color:#fff; 
	z-index:90;
}

#header, #header .container {
	height:100%;
}

#logo {
	z-index:300 !important;
	width:380px;
	height:36px;
	position:absolute;
	left:15px;
	top:50%;
	transform:translateY(-50%);
}

#logo a {
  display:block;
  width:100%;
  height:100%;
}

#wrap-topbild {
	width:100%;
	height:auto;
	overflow:hidden !important;
	position:relative;
	height:34vw;
	margin-top:80px; 
}

#topbild {
	width:100%;
	height:auto;
	position:relative; 
}

#topbild .ce-gallery, .bg-fullscreen .ce-gallery {
	float: none !important;
}

#topbild .ce-image img, #topbild img, 
.bg-fullscreen .ce-image img, .bg-fullscreen img {
	width:100% !important;
	height:auto;
}

#topbild .ce-center .ce-outer, #topbild .ce-center .ce-inner, 
.bg-fullscreen .ce-center .ce-outer, .bg-fullscreen .ce-center .ce-inner  {
	position: relative;
	float: none !important;
	right: 0% !important;
}

#topbild .ce-column, #topbild .ce-gallery figure,
.bg-fullscreen .ce-column, .bg-fullscreen .ce-gallery figure  {
	width: 100% !important;
}

#topbild .ce-gallery, .bg-fullscreen .ce-gallery {
	margin-right: 0px !important;
	margin-bottom:0px !important; 
}

#topbild .ce-gallery .ce-column, 
.bg-fullscreen .ce-gallery .ce-column {
	margin-right: 0px !important;
	margin-bottom: 0px !important;
}

#topbild .ce-bodytext {
	position:absolute;
	bottom:120px;
	right:14%;
	width:auto !important;
}

#wrap-inhalt {
	margin-top:80px;
}
/*
#wrap-inhalt.tb {
	margin-top:0px; 
}
*/

#wrap-inhalt.notb {
	margin-top:150px; 
}



main, #inhalt { 
	min-height:400px;
    padding-top:0px;
	margin-bottom:80px; 
	height:auto;
	overflow:hidden; 
}


.office .button-back,
.leistungen .button-back  {
	display: none;
}


.bg-blue {
	background-color:#005BD7;
	padding:100px 0px 80px 0px; 
	/*margin:50px 0px; */
	border-bottom:50px solid #fff;
	border-top:50px solid #fff;
	position:relative;
	z-index:2;
}

.bg-lightblue {
	background-color:#e6f0ff;
	padding:60px 0px 50px 0px; 
	position:relative;
	z-index:2;
}


.bg-white {
	/*padding:100px 0px 80px 0px; */
	/* margin:50px 0px; */
	border-bottom:50px solid #fff;
	border-top:50px solid #fff;
	position:relative;
	z-index:2;
}

.sec:first-child {
	border-top:0px !important; 
}

/* 08.12.2022 */
.home .bg-blue {
	border-top:0px solid transparent !important;
	padding:158px 0px 138px 0px; 
}

.home .bg-white:first-child {
	margin-top:0px !important; 
	padding-top:0px !important;
}

section  .row  .col-12 > .bg-white:first-child {
	margin-top:0px !important; 
	padding-top:0px !important;
}




/* Projekte */
.projekte #wrap-header {
	height:150px;
}

.projekte #wrap-inhalt {
	margin-top:150px;
}

.projekte #logo {
	top: 22px;
	transform:none
}




/* Fuzsszeile */
#footer-map {
	height:360px;
	width:100%;
	/* display:none;  */
}


#wrap-footer {
	flex-shrink: 0;
	width: 100%;
	clear: both;
	background-color:#fff;
	border-top:1px solid #005BD7;
}


footer {	
	position: relative;
	padding-top: 40px;
	padding-bottom:30px;
	margin-right: auto;
	margin-left: auto;
	min-height:180px;
}


footer p {margin-bottom: 0px;}


#phone { display:none; }

#frow1 {
	height:auto;
	overflow:hidden;
}

.faddress {
   /* margin-left: -8px;
	list-style-image: none !important;
    list-style-position: outside;
    list-style-type: none;*/
}

.faddress, .fmail, .fphone, .fimpressum  {
    margin-bottom: 14px !important;
    position: relative;
	margin-left:22px; 
}

#wrap-social {
	width:100%;
	margin-bottom:20px; 
}





/* Bootstrap Modal */
body.modal-open {
    overflow: hidden;
   /*  padding-right:0px !important; */
}
.modal-backdrop {
   background-color: #fff !important;
}

.modal-backdrop.in {
  opacity: .7 !important;
  filter: alpha(opacity=70) !important;
}

.modal-backdrop.show {
   opacity: .9 !important;
   backdrop-filter: blur(4px);
}

.modal-dialog {
	width: 100% !important;
	max-width: 980px !important;
	-moz-box-shadow: 8px 8px 5px rgba(0,0,0,.3);
	-webkit-box-shadow: 8px 8px 5px rgba(0,0,0,.3);
	box-shadow: 8px 8px 5px rgba(0,0,0,.3);

	position: absolute !important;
	top: 50% !important;
	left: 50%;
	-webkit-transform: translate(-50%,-50%);
	transform: translate(-50%,-50%) !important;
 	margin:25px 20px !important;
}

.modal.fade .modal-dialog {
	transition: -webkit-transform .7s ease-out;
	transition: transform .7s ease-out;
	transition: transform .7s ease-out,-webkit-transform .7s ease-out;
}

.modal-content {
  margin: auto !important;
  height: fit-content !important;
  border: 1px solid rgba(0,0,0,.1) !important;
  border-radius: 0rem !important;
}
.modal-body {
	/* padding: 60px 60px 0px 60px !important; */
	padding:0px !important;
}
.modal-dialog .csc-default::after {
	height: 0px !important;
}
.modal-footer {
	border-top: none !important;
	padding: 0px 20px 20px;
	margin-top: -30px;
	z-index: 15;
}

.modal-dialog button.close {
	position: absolute;
	right: 15px;
	top: 10px;
	font-size:52px; 
	color:#005BD7;
	z-index: 2000;
}
.modal-body .bg-blue {
	padding: 30px 40px;
	border-bottom: 0px solid #fff;
	border-top: 0px solid #fff;
}

.modal-body .content-inner {
	padding: 30px 40px 0px 40px; 
}

.modal-content button.close {
	color:#005BD7;
}

.modal-footer button {
	color:#005BD7 !important;
	box-shadow: 0px !important;
}

.modal-footer button.btn:hover {
	color:#005BD7 !important;
	text-decoration: underline;
	box-shadow: 0px !important;
}

.modal-dialog p {
	line-height:130% !important;
	margin-bottom:18px !important;
}

.modal-dialog h2 {
  margin-bottom:0px !important;
}

.modal-dialog a {
	color:#005BD7 !important;
	text-decoration:underline;
}
.modal-dialog a:hover {
	color:#005BD7 !important
}

.modal-body .ce-image .ce-column {
	border-bottom:0px !important;
}






/* social media icons */
#social-links a { margin-right:12px; }
#social-links .fab { font-size:28px; }
#social-links .fa-facebook-f { font-size:24px;}


#meguralink {
	text-align:left; 
	margin:0 auto;
	margin-top:10px; 
}



/*### Bootstrap 4 Accordion  ####*/
.accordion {margin-top:25px; }
.accordion .card {  border-radius: 0px !important; border: 0px !important; border-top: 1.4px solid #005BD7 !important;   }
.accordion h5 { padding-left: 0px !important; position:relative; display:block !important; height:unset !important;}
.accordion h5 .btn { display: block !important; width:100% !important; text-align:left; white-space:normal !important; padding:8px 18px 8px 0px;  font-size:20px !important; font-weight: 700;  }
.accordion h5 .btn .fa { position:absolute; right:0px; top:-2px;  transform: rotate(0d);  transition:.3s; color:#005BD7; font-size:1.3em;   }
.rotate { transform: rotate(-180deg); transition: .3s; }

.accordion .card-header {
	padding: 5px 0px;  
	margin-bottom: 0;
	background-color: transparent !important;
	border-bottom: 0px !important;
}

.accordion .card-header:first-child { 	border-radius:0px !important; }
.accordion .card-body  { max-width:88%;  padding:0px 5px 12px 0px !important; }
.accordion .card-body header { display:none; }
/* .accordion .card-body, .accordion .card-body p, .accordion .card-body ul li { font-size: 16px; margin-bottom: 0px; } */
.accordion .card .collapse { border:0px !important; }

.accordion .card-header h5, 
.accordion .card-header h5 button,
.accordion .card-header:hover h5, 
.accordion .card-header:hover h5 button { 	text-decoration:none !important; }

.accordion button.btn-link { color:#005BD7; }
.accordion button.collapsed { color:#005BD7; }
.accordion button.collapsed .fa { color:#005BD7; }
.accordion .card:first-child { border-top: 1.4px solid #005BD7 !important; }
.accordion .card:last-child { border-bottom: 1.4px solid #005BD7 !important; }



.fa-angle-down:after {
	content: url('/fileadmin/Main/Public/Images/angle-down-light.svg');
	width: 38.4px;
	height: 51.2px;
	display:inline-block; 
  }



/* Megura Swissness Logo */
#megura-programmierung { position:relative; }

#megura-swissness {
width:100px;
height:100px;
position:absolute;
bottom: 15px;
right: 15%;
/*transform: translateY(-70%);*/
}

.ms-svg-inner {
	fill:#005BD7;
}

#megura-swissness svg:hover .ms-svg-inner {
	fill:#666; 
}


/* Helper classes  */
.container {
	position:relative !important;
	max-width:1200px !important;
}

.center-text { text-align:center; margin:0 auto !important; }
.center-element { margin:0 auto !important; }

img { outline:none !important; }

main .row  img {
		max-width: 100% !important;
		height: auto; 
}

/* IE 10+ only */
@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {  
 	main .row  img {
			width: 100% !important;
			height: auto; 
	}
}



.divider hr {
  margin-bottom: 25px !important;
  margin-top: 25px !important;
  border-top:1px solid #999 !important;
}

.prel {
	position:relative;
}

.empty hr {
	border-top: none !important;
	margin-top: 15px !important;
	margin-bottom: 15px !important;
	height: auto;
	overflow: hidden;
}



/* Magnific Popup */
.mfp-zoom-out-cur {
	padding-right:15px !important;
}

.mfp-container {
 cursor:auto;
}

button.mfp-close, button.mfp-arrow {
	cursor:pointer !important;  
	font-size:36px;
}

img.mfp-img {
 cursor:auto !important; 
}

.mfp-bg {
	background: #fff !important;
	opacity: 0.9 !important;
}

.mfp-figure:after {
	background: #fff !important; 
	box-shadow: none !important;
}

.mfp-image-holder .mfp-close, .mfp-iframe-holder .mfp-close {
	color: #005BD7 !important;
}

.mfp-title { color: #666 !important; }
.mfp-counter { color: #999 !important; }

.mfp-arrow-right:before {
	border-left: 27px solid #005BD7;
	opacity: 1;
}

.mfp-arrow-right:after {
	border-left: 17px solid #005BD7;
}

.mfp-arrow-left:before {
	border-right: 27px solid #005BD7;
	opacity: 1;
}

.mfp-arrow-left:after {
	border-right: 17px solid #005BD7;
}

body.magnificpopupnoscroll{
   overflow-y: hidden !important;
}




/* Google Maps */
.tx-go-maps-ext {
	height:45vh;
	width:100%;
}

.js-gme-container {
	height:100%;
	width:100%;
}

.gm-style-mtc {
	/* display:none !important; */
}

.gme-info-window {
	color:#333 !important; 
}

.js-gme-container  img, .js-map img {
	width:auto !important;
	height: auto;
	max-width:auto !important;
}

.gm-style .gm-style-iw-c {
	border-radius: 0px !important;
	padding: 20px !important;
}

main .row img {
	max-width: 100% !important;
	height: auto;
}




/* Responsive Video */
.responsive-video {
  position: relative;
  padding-bottom: 56.25%;
  height: 0;
}

.responsive-video video, .responsive-video iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.bordered {
	border:1px solid #666; 
}


/* Image Gallery */

.gallery .ce-gallery figure {
	display: block;
	margin: 0;
	width: 100%;
	position: relative;
	max-height: 200px;
	overflow: hidden;
}

.ce-gallery figcaption {
	margin: 15px 0;
	font-size: 15px;
}

.gallery .ce-gallery .ce-column img {
	max-width: 100% !important;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	/* position: absolute; */
}





/*******************************************************************************/
/* BOOTSTRAP TABLES   */
/******************************************************************************/

.table-bordered td, .table-bordered th {
	border: 1px solid #09410f !important; 
}


.table thead th {
	border-bottom: 2px solid #09410f !important;
	border-top: none !important;
}

.table thead th:first-child {
	border-left: none !important;
}

.table thead th:last-child {
	border-right: none !important;
}

.table thead th {
	vertical-align: top;
}

.table tbody tr td:first-child {
	border-left: none !important;
}

.table tbody tr td:last-child {
	border-right: none !important;
}


.table p {
	margin-bottom:0px !important; 
}






/*******************************************************************************/
/* INHALTSSEITEN   */
/******************************************************************************/

/* HOME */
.home #inhalt {
	margin-bottom:0px !important;
}

.home .sec:first-child {
	/*height:100vh; */
}

.home .sec:last-child {
	border-bottom: 0px solid !important; 
}

#home-anim, #home-anim-menu {
	position:relative;
	top:80px;
	left:0px;
	width:100%;
	height:calc(100vh - 80px);
	z-index:100;
}

.letter {
	/*width: calc(100vh * 0.3);
	height: calc(100vh * 0.3); */
	/* max-height:400px;  */
}

.letter img {
	width:100%;
	max-width:100%;
	height:auto;
}

#item-l {
	position:absolute;
	top:2%;
	left:2%;
	z-index:102;
	width:400px;
	height:400px;
}

#item-u {
	position:absolute;
	top:2%;
	right:32%;
	z-index:100;
	height:400px;
	width:calc(400px * 1.096);
}

#item-m {
	position:absolute;
	bottom:4%;
	left:14%;
	z-index:102;
	height:400px;
	width:calc(400px * 1.096);
}

#item-o {
	position:absolute;
	bottom:4%;
	right:2%;
	height:400px;
	width:calc(400px * 1.096);
}

#impression {
	position:absolute;
	left:28%;
	top:50%;
	z-index:101;
	width: calc(100vh * 0.8) !important;
	height: calc(100vh * 0.8) !important;
	max-width:860px !important;
	max-height:860px !important;
	transform:translateY(-50%);
}

.show-menu #home-anim {
	/* display:none; */
	background-color:#fff;
}

#architect {
	position:absolute;
	top:25px;
	right:50%;
	margin-right:-593px; 
	width:40px;
	height:410px; 
	z-index:30; 
}

#architect figure {
	margin:0 !important;
}

#architect img {
	max-width:36px !important;
	height:auto;
}

.show-menu #architect {
	display:none;
}

.home #logo {
	display:none; 
}




/* Default Header LUMO Animation */
.letterbox {
	width:36px;
	height:36px;
	position:absolute;
	top:0;
}


.letterbox img {
	width:100%;
	height:auto;
}

#lb1 {
	left:0;
}

#lb2 {
	left:35px;
	width:calc(36px * 1.096);
}

#lb3 {
	left:108px;
	width:calc(36px * 1.096);
}

#lb4 {
	left:180px; 
	width:calc(36px * 1.096);
}



/* DEFUALT  */
.default  #inhalt {
	margin-bottom: 0px !important;
}

.default .sec:last-child {
	margin-bottom:0px !important;
	border-bottom: 0px !important;
}


[data-aos][data-aos][data-aos-duration="400"], 
body[data-aos-duration="400"] [data-aos] {
	transition-duration: .64s !important;
}


.leistungen .bg-blue:last-child {
	border-top: 0px !important;
}