/*Font in Boostrap.min.css*/
/**************************************************************************************
  General
**************************************************************************************/
body {
  font-size: 18px;
  color: #000;
  background-color: #FFF;
  font-family: effra, sans-serif;
  font-weight: 400;
}
.intro {
  font-size: 18px;
}
strong {
  font-weight: 800;
	font-weight: bold;
}
h1, .h1,
h2, .h2,
h3, .h3 {
  font-weight: 500;
  color: #000;
}
.bg-dark-color h1,.bg-dark-color .h1,
.bg-dark-color h2,.bg-dark-color .h2,
.bg-dark-color h3,.bg-dark-color .h3,
.bg-dark-color p{
  color: #FFF;
}
h1, .h1 {
	font-size: 40px;
	font-family: le-monde-livre-classic-byol, sans-serif;
	margin-bottom: 32px;
}
h1{
	text-align: center;
}
.h2, h2,
#objectdetail .ausstattung > h2 {
  font-size: 29px;
  margin: 40px 0 10px 0;
}
h2:first-child {
	margin-top:0;
}
.h3, h3 {
  font-size: 25px;
  margin: 3px 0 20px 0;
}
.h4, h4 {
	font-size: 18px;
  font-weight: bold;
  line-height: 22px;
  margin: 3px 0 10px 0;
}
hr {
  border-width: 1px;
  border-color: #1d1d1b;
}
a, .pseudoLink {
  color: #17242C;
  text-decoration: underline;
  transition:color 200ms linear;
}
a:hover, a:focus, .pseudoLink:hover {
    color: #17242C;
    text-decoration: underline;
    cursor: pointer;
    transition:color 200ms linear;
}
.bg-dark-color a, .bg-dark-color .pseudoLink {
  color: #FFF;
}
.bg-dark-color a:hover, .bg-dark-color a:focus,.bg-dark-color .pseudoLink:hover {
  color: #FFF;
}
.pseudoLink, [onclick^="location.href"], input[type="submit"], .btn {
	cursor:pointer;
}
.home .content, .home section {
  padding-top: 60px;
  padding-bottom: 60px;
}
img.img-responsive {
  max-width: 100%;
  height: auto;
}
.breakword {
  /* These are technically the same, but use both */
  overflow-wrap: break-word;
  word-wrap: break-word;
  -ms-word-break: break-all;
  /* This is the dangerous one in WebKit, as it breaks things wherever */
  word-break: break-all;
  /* Instead use this non-standard one: */
  word-break: break-word;
}
.home section li {
	list-style-image:url("../images/Haken.svg")
}
/**************************************************************************************
  Header & Homesections
**************************************************************************************/
#Head {
	position: relative;
	z-index: -1;
  	height: 78vh;
  	overflow: hidden;
	background-position: center;
	background-size:cover;
}
#Headertext {
	position: absolute;
	width: 100%;
	top: 20vh;
	text-align: center;
	padding: 15px;
}
#Headertext > * {
	margin-left: auto;
	margin-right: auto;
}
#Headertext h1 {
	-moz-hyphens: none;
	-ms-hyphens: none;
	-webkit-hyphens: none;
	hyphens: none;
	font-weight: bold;
}
#Headertext h2 {
	max-width: 600px;
	margin-top: 15px;
}
#Headertext h1, #Headertext h2 {
	color: #FFF;
	text-shadow: 0px 0px 25px #17232C65;
}
#Suche {
	height: 22vh;
	display: flex;
	align-content: center;
	align-items: center;
}
#Suche > div, 
#Suche a,  
#Suche a:hover, 
#Suche a:focus {
	text-decoration: none;
}
#Suche .scroll {
	margin-left: auto;
	margin-right: auto;
	text-align: center;
	margin-top: 45px;
}
.home #SuchTabs {
	position: absolute;
	top: 45vh;
	width: 100%;
}
#SuchTabs nav {
	width: 200px;
	margin-left: auto;
	margin-right: auto;
}
#SuchTabs .card-deck .card { 	
	margin: 0;
	padding-left: 20px;
	padding-right: 20px;
	border-radius: 0;
}
#SuchTabs .card-deck > div:first-of-type {
	border-left: 0;
}
#SuchTabs select, #SuchTabs select.form-control{
	border: 0;
	padding: 0px;
	margin-left: -5px;
	margin-bottom: 7px;
	box-shadow: none;
}
#SuchTabs .btn {
	margin-top: 10px;
	height: 100%;
	padding: 20px 30px;
}
#SuchTabs .nav-tabs .nav-link {
	color: #17242C;
	border: none;
	padding-bottom: 15px;
}
#SuchTabs .nav-tabs .active span {
	border-bottom: 2px solid #17242C;
	font-weight:bold;
}
#SuchTabs .nav-tabs, #SuchTabs .nav-tabs .nav-link:hover {
	border: none;
}
#SuchTabs .nav-tabs .nav-item.show .nav-link, .nav-tabs .nav-link.active {
	background: transparent;
	border: none;
}
#SuchTabs #nav-tabContent {
	margin-left: 15px;
	margin-right: 15px;
	max-width: 640px;
	background: #FFF;
	border-radius: 10px;
	padding: 20px;
}
body:not(.home):not(.admin) #SuchTabs #nav-tabContent {
	border:1px solid #838383;
	max-width:none;
}

#Bereiche {
	padding-top: 40px;
	padding-bottom: 120px;
}
#Bereiche img {
	height: 90px;
	margin-top: 40px;
}
a.download {
	text-decoration:none;
}
.download img:first-child {
	margin-right: 5px;
}
.download img:last-child {
	margin-left: 15px;
}
#Karte {
	margin-top: 60px;
}
#Karte iframe{
	margin-top: -120px;
	border-radius: 10px;
	height: 400px;
	margin-bottom: 15px;
}
/**************************************************************************************
  Home / Quicklinks / Blog
**************************************************************************************/
.bg-dark-color{
	background-color: #17242C;
}
.bg-white{
	background-color: #fff;
}
.card-deck .card {
  	border: none;
	background: transparent;
}
/**************************************************************************************
  Navigation
**************************************************************************************/
.navbar {
  margin-bottom: 0;
}
.navbar-nav {
	background: #17242c;
	height: calc(100vh - 90.05px);
	padding-top: 30px;
	text-align: center;
}
.navbar-default {
	font-size: 25px;
	color: #17242C;
	background-color: transparent;
	border: none;
	padding: 0px 0px;
	border-radius: 0;
	z-index: 1;
	width: 100%;
}
.home .navbar-default {
	position: absolute;
}
.navbar > .container .navbar-brand {
  float: none;
  height: auto;
  max-height: 100%;
  padding: 15px;
  display: block;
}
.navbar-brand img {
	max-width: 190px;
}
.navbar-toggler {
	padding: 15px;
}
button:focus:not(:focus-visible) {
    outline: 0;
}
.navbar-default .navbar-collapse {
  border: none;
  box-shadow: none;
  width: calc(100% + 30px);
}
.nav a {
  text-decoration: none;
}
.nav > li {
  	white-space: nowrap;
  	font-weight: 500;
	margin-top: 15px;
}
.navbar-default .navbar-nav > li > a {
  color: #1d1d1b;
  transition: all 200ms linear;
}
.navbar-light .navbar-nav .nav-link {
    color: #FFF;
}
.navbar-light .navbar-nav .nav-link:focus, 
.navbar-light .navbar-nav .nav-link:hover, 
.navbar-default .navbar-nav > li:hover > a, 
.navbar-default .navbar-nav > li > a:hover, 
.navbar-default .navbar-nav > li > a:focus,  
li.active ul.dropdown-menu, 
li:hover ul.dropdown-menu, 
li:focus ul.dropdown-menu {
  color: #425460;
  background-color: transparent;
  transition: all 200ms linear;
}
.navbar-light .navbar-nav .active > .nav-link,
.navbar-light .navbar-default .navbar-nav > .active > a, 
.navbar-light .navbar-default .navbar-nav > .active > a:hover, 
.navbar-light .navbar-default .navbar-nav > .active > a:focus,
.navbar-light .navbar-nav .active > .nav-link, 
.navbar-light .navbar-nav .nav-link.active, 
.navbar-light .navbar-nav .nav-link.show, 
.navbar-light .navbar-nav .show > .nav-link {
	color:#425460;
	font-weight:bold;
}
.navbar-nav li > .nav-link span {
	border-bottom:2px solid transparent;
	transition:border-color 200ms linear;
}
.navbar-nav li:hover > .nav-link span,
.navbar-nav li:focus > .nav-link span,
.navbar-nav .active > .nav-link span,
.navbar-default .navbar-nav > .active > a span,
.navbar-nav .active > .nav-link span, 
.navbar-nav .nav-link.active span, 
.navbar-nav .nav-link.show span, 
.navbar-nav .show > .nav-link span {
	border-color:#17242C;
	transition:border-color 200ms linear;
}
/*Toggle*/
.container > .navbar-header {
  text-align: center;
}
.navbar-light .navbar-toggler {
  font-size: 2rem;
  border: none;
}
.navbar-light .navbar-toggler-icon {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(66, 84, 96, 1)' stroke-width='4' stroke-linecap='square' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E");
}
/**************************************************************************************
  Content Ansicht
**************************************************************************************/
p, .ptext, .Content ul {
  margin: 0 0 24px;
}
#Content{
	padding-top: 60px;
	padding-bottom: 60px;
}
#Content > .row:not(.box) > div {
  margin-top: 20px;
}
#Content:empty {
  display: none;
}
#Content img {
  max-width: 100%;
}
#Content td img {
  max-width: inherit;
}
.Content ul, .Content ol {
  padding-left: 24px;
}
.Content ul li, .Content ol li {
  margin-bottom: 10px;
}
/*Gegensteuer Bootstrap für per Editor erstellte Tabellen*/
.website .Content table td {
  padding: 0 3px 3px 0;
}
.website .Content table td td {
  padding: 0;
}
/**************************************************************************************
  Blog
**************************************************************************************/
.Blog .box {
	padding:30px;
}
.Blog .box .text.col-12 {
	padding:max(15px, 6%) max(15px, 8%);
}
.Blog .box .text > *:last-child {
	margin-bottom:0;
}
.Blog h1 {
	text-align:left;
}
.Blog h2 {
	margin-bottom:10px;
}
.subtitle {
	font-size:30px;
	margin-bottom:15px;
}

/**************************************************************************************
  Kontaktformular
**************************************************************************************/
#Kontaktformular .btn{
	margin: 20px auto 0 auto;
}
.has-error > * {
	color:red;
	border-color:red;
}
.alert-info {
	color:#506374;
	background-color:rgba(12, 84, 96,0.1);
	border-color:rgba(12, 84, 96,0.2);
}
/**************************************************************************************
  Kontaktformular auf Dienstleistungsseiten
**************************************************************************************/
.Kontakt .col-12{
    margin-top: 25px;
    margin-bottom: 25px;
}
/**************************************************************************************
  Galerie / Gallery / lightGallery / carousel
**************************************************************************************/
#lightgallery.row > div {
  padding-top: 15px;
  padding-bottom: 15px;
}
#lightgallery.row > div > a {
  display: block;
  background-color: #17242C;
}
#lightgallery a img {
  opacity: 1
}
#lightgallery a:hover img {
  opacity: 0.6;
}
#lightgallery a img, #lightgallery a:hover img {
  transition: all 300ms linear;
  border-radius:10px;
  margin-bottom:15px;
}
/**************************************************************************************
  Immobilien
**************************************************************************************/
.img-outer .bimg,
.objectwrapper .bimg {
	padding-bottom:75%;
	background-position:center;
	background-size:cover;
	border-radius:10px;
	display:block;
	cursor:pointer;
}
.objecttext {
	padding: 0 10px;
}
/*.objectcontainer*/
.objects .wrapper{
	border: 1px solid #838383;
	margin-top: 30px;
	padding: 30px;
	border-radius:10px;
	transition:border-color 200ms linear;
}
/*.objectcontainer:hover*/
.objects .wrapper:hover,
.objects .wrapper:focus {
	border: 1px solid #17242C;
	cursor: pointer;
	transition:border-color 200ms linear;
}
.objecttext .h1 {
	font-size:32px;
	margin-bottom:15px;
}
.objecttext h2 a{
	text-decoration:none;
}
.objecttext .d-flex > div,
.objecttext .d-lg-flex > div {
	padding-right:30px;
	font-size:26px;
}
.img-outer .row .bimg,
.objectwrapper .row .bimg {
	margin-top:15px;
	padding-bottom:66.666%;
}
.Immo #lightgallery img {
	border-radius:10px;
}

.mehr {
	width: 38px;
}
.anzahlbilder{
	background: rgba(23, 36, 44,0.8);
	padding: 2px;
	position: absolute;
	width: 100px;
	bottom: 15px;
	left: 30px;
	text-align: center;
	color: white;
}
.contact .h2 {
	margin-top:0;
}
.box {
	border: 1px solid #838383;
	border-radius:20px;
	padding:15px 15px 5px 15px;
	margin-top:30px;
}
.box h2 a {
	text-decoration:none;
}
.contact .inner img {
	padding-bottom:10px;
}
/**************************************************************************************
  Team
**************************************************************************************/
.team > div {
  padding-bottom: 30px;
}
.team h3 {
  margin: 0;
}
.team strong {
	color: #838383;
}
.team p {
	color: #838383;
	min-height: 54px;
	margin-bottom: 6px;
}
.team div:first-child img {
  margin-top: 4px;
}
.team .img{
	border-radius: 255px;
	max-width: 255px !important;
	padding-bottom:90%;
	background: no-repeat center;
	background-size:cover;
}
/**************************************************************************************
  Cookie
**************************************************************************************/

#cookie_directive_container > div{
	background: rgba(255, 255, 255, 0.7);	
	padding-top: 10px;
	border-top: 3px solid #17242C;
}
/**************************************************************************************
  Footer
**************************************************************************************/
footer {
	color: #FFF;
	background-color: #17242C;
	position: relative;
	padding: 50px 0;
	font-size: 16px;
}
footer a {
  color: #FFF;
  text-decoration:none;
}
footer a:hover, footer a.active, footer a:focus {
  color: #FFF;
}
footer .address strong {
  text-transform: none;
  font-weight: normal;
}
footer .text-right {
  text-align: center;
}
footer .row > :nth-child(2) {
  margin-bottom: 0;
}
footer ul {
  padding-left: 0;
}
footer li {
  list-style: none;
}
footer li::before {
  content: "\f061";
  font-family: FontAwesome;
  font-size: inherit;
  margin-right: 7px;
}
/* Sticky Footer */
html, body {
  height: 100%;
}
.page-wrap {
  min-height: 100%;
  /* equal to footer height */
  margin-bottom: -242px;
}
.page-wrap:after {
  content: "";
  display: block;
}
footer, .page-wrap:after {
  min-height: 242px;
}
/**************************************************************************************
  Done
**************************************************************************************/
.Done {
	font-size: 12px;
	margin: 10px 0 0 0;
	color: #425460;
}
.Done a {
  color: #425460;
}
.Done a:hover,
.Done a:focus {
	color: #FFF;
}
/**************************************************************************************
  Formulare
**************************************************************************************/
input, input.form-control, textarea, textarea.form-control, select, select.form-control {
  font-size: 16px;
	padding: 10px 15px;
	height: auto;
}
.form-control, .btn, .input-group-addon {
  border-radius: 10px;
}
label {
  font-weight: 400;
  font-size: 16px;
	margin-bottom: 2px;
	margin-top: 7px;
}
input[type="text"], input[type="password"], input[type="email"], input[type="file"], input[type="number"], textarea, select {
  color: #555;
  margin: 1px;
}
input[type="file"] {
  border: 1px solid #17242C;
}
button, html input[type="button"], input[type="reset"], input[type="submit"], .btn {
	font-size:1.05em;
	text-decoration:none;
	text-align: center;
	padding: 6px 15px;
	color: #FFF;
	background-color: #17242C;
	border: 1px solid #17242C;
	transition: all 200ms linear;
}
button.light, html input[type="button"].light, input[type="reset"], .btn.light  {
	border: 2px solid #17242C;
	background-color:transparent;
	color:#17242C;
}
.admin button, html .admin input[type="button"], .admin input[type="reset"], .admin input[type="submit"], .admin .btn {
	min-width:0;
	padding:10px 15px;
}
.btn:hover, .btn:focus, .btn.focus {
  color: #FFF;
  background-color: #3C5666;
  border-color: #3C5666;
  transition: all 200ms linear;
}
.btn.light:hover, .btn.light:focus, .btn.light.focus {
	border-color: #17242C;
	background-color:transparent;
	color:#17242C;
}
input[disabled] {
  background-color: #ddd;
  border-style: dotted;
  border: none;
}
input#Code {
  margin-top: 0;
  z-index: 0;
}
.input-group-addon {
  min-width: 111px;
  padding-bottom: 5px;
}
.form-control:focus {
	border-color:#506374;
	box-shadow: 0 0 0 .2rem rgba(80,99,116,.25);
}
.form-control::placeholder { /* Chrome, Firefox, Opera, Safari 10.1+ */
  color: #506374;
  opacity: 1; /* Firefox */
}
.form-control:-ms-input-placeholder { /* Internet Explorer 10-11 */
  color: #506374;
}
.form-control::-ms-input-placeholder { /* Microsoft Edge */
  color: #506374;
}
.website select {
  color: #9e9e9e;
}
option:not(:first-of-type) {
  color: black;
}
/**************************************************************************************
  Listen-, Tabellen-Ansicht, Pagination
**************************************************************************************/
.table > thead > tr > th, .table > tbody > tr > th, .table > tfoot > tr > th, .table > thead > tr > td, .table > tbody > tr > td, .table > tfoot > tr > td {
  border-color: #17242C;
}
.table-hover > tbody > tr:hover {
  /*background-color:#ADACD2;*/
}
.table > thead > tr > th.listicon, .table > tbody > tr > th.listicon, .table > tfoot > tr > th.listicon, .table > thead > tr > td.listicon, .table > tbody > tr > td.listicon, .table > tfoot > tr > td.listicon {
  padding-left: 0;
  padding-right: 0;
  text-align: center;
}
td.back {
  text-align: center;
}
.pagination > li > a, .pagination > li > span {
  color: #17242C;

}
.pagination > li > a:hover, .pagination > li > span:hover, .pagination > li > a:focus, .pagination > li > span:focus {

  background-color: #FFF;
}
.pagination > .active > a, .pagination > .active > span, .pagination > .active > a:hover, .pagination > .active > span:hover, .pagination > .active > a:focus, .pagination > .active > span:focus {
  background-color: #17242C;
  color: #FFF;
  border-color: #17242C;
}
.pagination{
	align-items:center;
	justify-content: center;
}
.pagination > li > a,
.page-item .page-link {
	text-decoration:none;
	transition:color 200ms linear, background-color 200ms linear, border-color 200ms linear;
}
.pagination > li > a:hover, 
.pagination > li > span:hover, 
.pagination > li > a:focus, 
.pagination > li > span:focus,
.page-link:hover,
.page-link:focus {
    color: #17242C;
    background-color: #e9ecef;
    border-color: #dee2e6;
	transition:color 200ms linear, background-color 200ms linear, border-color 200ms linear;
}
.page-item.active .page-link,
.pagination > .active > a, 
.pagination > .active > span, 
.pagination > .active > a:hover, 
.pagination > .active > span:hover, 
.pagination > .active > a:focus, 
.pagination > .active > span:focus {
    background-color: #506374;
    color: #FFF;
    border-color: #506374;
	cursor:default;
}
/**************************************************************************************
  Admin
**************************************************************************************/
.CuteEditorGroupMenuCell img {
  box-sizing: content-box;
}
#CE_Editor1_ID {
  width: 100% !important;
  line-height: initial;
  font-size: 12px;
}
@media (min-width: 576px) {
	.home #SuchTabs {
		top: 68vh;
	}	
	#SuchTabs #nav-tabContent {
		margin-left: auto;
		margin-right: auto;
	}	
	#SuchTabs .card-deck .card { 	
		border-left: 0.5px solid #7f7f7f;
	}
	#SuchTabs .btn {
		margin-top: 0;
	}
}
@media (min-width:768px) {
  #Slider, .background-container, .background-slider {
    height: 180px;
  }
  #Quicklinks.row {
    margin-left: -30px;
    margin-right: -30px;
  }
  #Quicklinks.row > div {
    padding: 0 30px;
  }
  #Quicklinks #txtQL {
    padding: 20px;
  }
  .team {
    min-height: 250px;
  }
  .navbar-light .navbar-nav .nav-link {
	  padding-left:0;
  }
  .page-wrap {
    margin-bottom: -242px;
  }
  footer, .page-wrap:after {
    min-height: 242px;
  }
	#Karte iframe{
		height: 625px;
		margin-bottom: 0px;
	}	
	#Karte .row > *:last-child {
		padding-left: 35px;
	}
	#Karte .row .row > *:last-child {
		padding-left:15px;
	}
	
}
@media (min-width:992px) {
	h1, .h1 {
		font-size: 62px;
    	line-height: 55px; 
	}
	.objecttext .h1 {
		font-size:42px;
		margin-bottom:15px;
	}
	.container > .navbar-header {
		background-color: #17242C;
		text-align: center;
		margin: 30px 0 0 0;
		width: 100%;
	}	
	.navbar > .container .navbar-brand {
		padding: 0;
	}
	.navbar-default {
		font-size: 18px;
		width: 100%;
		top: auto;
		left: auto;
		right: auto;
		padding: 20px 0px;
  	}
	.admin .navbar-default {
		position: relative;
	}
  .navbar > .container {
    padding: 0 15px;
  }
  .navbar > .container .navbar-brand, .navbar > .container-fluid .navbar-brand {
    margin: 0;
  }
  .navbar-default .navbar-brand:hover, .navbar-default .navbar-brand:focus {
    background-color: transparent;
  }
  .navbar-default .navbar-collapse {
    margin: -15px;
    padding: 0;
    width: auto;
    border: none;
  }
  .navbar-nav {
    display: table;
    margin: 0 0 0 25px;
    padding: 20px 10px 20px 0px;
	height: auto;
  }
	
  .nav > li {
    border: none;
    display: table-cell;
    float: none;
    text-align: left;
  }
  .admin .nav > li {
    padding-right: 20px;
    font-size: 16px;
  }
  .nav > li:last-child, .nav > li:last-child > a {
    padding-right: 0;
    text-align: right;
  }
  .nav > li > a {
    padding: 0;
  }
  .navbar-default .navbar-nav > li > a img {
    display: block;
  }
	.navbar-light .navbar-nav .nav-link {
    	color: #17242C;
	}	
	
	.navbar-light .navbar-nav .nav-link:hover {
    	color: #17242C;
	}
	.admin .nav > li {
		padding-right: 20px;
		font-size: 18px;
	}	
	.navbar-nav {
		padding: 20px 0 20px min(40px, 2.5vw);
		background: transparent;
	}
	.nav > li > a {
		padding-left: 6px;
		padding-right: 6px;
	}
	.nav > li {
		padding: 0 9px 0 0;
	}
	.navbar > .container .navbar-brand {
		display: inline-block;
		width: auto;
	}
	#Headertext {
		top: 26vh;
	}	
	.flowrow {
		width: 100%;
		-webkit-column-count: 2;
		-moz-column-count: 2;
		column-count: 2;
		-webkit-column-gap: 3em;
		-moz-column-gap: 3em;
		column-gap: 30px;
	}
	.flowrow .pagebreak {
		-webkit-column-break-inside: avoid; /* Chrome, Safari, Opera */
		page-break-inside: avoid; /* Firefox */
		break-inside: avoid; /* IE 10+ */
	}	
	.home .content, .home section {
		padding-top: 120px;
		padding-bottom: 120px;
	}
	.website #Content{
		padding-top: 120px;
		padding-bottom: 120px;
	}
	.home #Content {
		padding-top:0;
		padding-bottom:0;
	}	
	#Karte {
		margin-top: 120px;
	}	
	#Karte iframe {
		margin-top: -240px;
	}
	#SuchTabs .btn {
		padding: 20px 40px;
	}
	
}
@media (min-width:1200px) {

  .team {
    min-height: 250px;
  }
  .admin .nav > li {
    padding-right: 42px;
  }
}
@media (min-width:1500px) {
	.nav > li {
		padding: 0 25px 0 10px;
	}
	.wide, .navbar > .wide{
		max-width: 1600px;
	}
}