@charset "UTF-8";
/* CSS Document */

* html body { 
	text-align:center; 
}

html, body, div, object, iframe, h1, h2, h3, h4, h5, h6, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, img, ins, kbd, q, s, samp, small, strike, sub, sup, tt, dl, dt, dd, ol, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td { 		/*from basic.css*/
    margin: 0;
    padding: 0;
    vertical-align: baseline;
    border: 0;
    font-size: 99%;
    outline: 0;
}

p {
	margin: 30px 0px;
}

.red {
	color: #e31b2e;
}

/**
 * Style sheet ganghofer
 */
#mainmenu ul
{
	margin: 0;
    padding: 0;
    vertical-align: baseline;
    border: 0;
    font-size: 100%;
    outline: 0;
	margin-left:0px;
	padding-left:0px;
}

.responsive  .level_1 {
	background: rgba(255, 255,255,0.85);
}
 .hide {
	 display: none;
 }
/*** submenu ***/

nav {
	background-color: #f3f3f3;
	margin-top: 30px;
	width: 100%;
	height: 44px;
}

ul.level_1 > li {
	position: relative;
}

ul.level_2 {
	display: none;
	position: absolute;
	top: 100%;
	left: 0;
	z-index: 100;
	min-width: 180px;
}

ul.level_2 li {
	background-color: #f3f3f3;
	width: 100%;
	float: none;
}

ul.level_2 li a {
	border-right: none !important;
	white-space: nowrap;
}

/* Display Dropdowns on Hover */

ul.level_1 li:hover > ul.level_2 {
	display: block;
}


body
{
	padding-top:20px;
	padding-bottom:20px;
	background-color:#f3f3f3;
	
	font-family: Verdana, Helvetica, Arial, sans-serif;
	font-size: 105%;
	color: #333333;
	line-height: 2;
}

#wrapper {
	width: 100%;
	max-width: 1200px; 
	margin: 0 auto;
	background-color: #ffffff;
	border: 1px solid #cccccc;
}

a {
    color: #133b9a;
}

h1, h2, h3, h4, h5, h6 {
    font-family: Helvetica, Arial, Verdana, sans-serif;
    font-weight: normal;
}


h1 {
    margin-bottom: 0.25em;
    font-size: 2.1em;
}

h2 {
    margin-bottom: 0.1em;
    font-size: 1.75em;
}


h3 {
	margin-bottom:0.1em;
	font-size:1.5em;
} 

.center {
	text-align: center;
}

@media screen and (max-width: 400px){
	
	h1 {
    	font-size: 1.75em;
		line-height: 150%;
	}

	h2 {
		font-size: 1.5em;
	}

	h3 {
		font-size:1.3em;
	} 
}

#header {
	padding-bottom: 20px;
	height: 440px;
}

#header-inner {
	height: 310px;
}


#left { 
	width: 25%; 
	float: right;
}

#left .inside
{
	padding:12px 13px 12px 15px;
}

#main {  
	float: right;
	width: 68%;
	padding-left: 3%;
	padding-right: 3%;
}

@media screen and (max-width: 1200px) {
	#main {  
		float: right;
		width: 95%;
		padding-left: 3%;
		padding-right: 3%;
	}
	
	#left { 
		width: 95%; 
		float: right;
	}
	
}

@media screen and (max-width: 1200px) and (min-width: 401px) {
	.left {	
		width: 50%;
		float: left;
		margin-right: 15px;
	}
}

@media screen and (max-width: 400px) {
	.left {	
		width: 98%;
	}
	
	body {
		font-size: 85%;	
	}
	
}

#main .inside
{
	padding:12px 18px 18px 18px;
	margin-top:40px;
}

#left .inside img
{
	border:0px;
}

#footer {
	padding-bottom: 11px;
	height: 50px
}

#footer .inside
{
	width:90%;
	margin-right:auto;
	margin-left:auto;
	padding-top:10px;
	text-align:center;
	border-top:1px solid #cccccc;
	/* color:#999999; */
	color:#333333;
}

#footer a
{
	/* color:#999999; */
	color:#333333;
}

#print_info
{
	display:none;
}

#logo
{
	position:absolute;
	margin-left:30px;
}

@media screen and (max-width: 400px){
	#logo img {
		width: 90%;
	}
}


#left h1
{
	margin-top:50px;
	margin-bottom:15px;
	padding-bottom:3px;
	border-bottom:1px solid #eeeeee;
	font-weight:bold;
	font-size:1.2em;
}

#submenu li
{
	list-style-type:none;
}

#submenu ul
{
	margin-left:0px;
	padding-left:0px;
}

p.back
{
	margin-top:1.5em;
}

.h2_inline
{
	font-size:20px;
}

.mod_article .teaser p.more
{
	margin-top:1.5em;
}

pre
{
	float:left;
	padding:1em;
	background-color:#f9f9f9;
	border:1px solid #dfdfdf;
}

.ce_image img, .ce_text img, .ce_gallery img, .mod_newslist img, .mod_randomImage img
{
	padding:2px;
	background-color:#ffffff;
}

.image_container
{
	float:left;
	line-height:0.75;
}

.caption
{
	padding:2px 3px 4px 3px;
	background-color:#eeeeee;
	border-right:1px solid #c6c6c6;
	border-bottom:1px solid #c6c6c6;
	border-left:1px solid #c6c6c6;
	font-size:0.8em;
	line-height:1;
}

/* Fix caption padding in IE6 */
* html .caption
{
	padding-top:3px;
	padding-bottom:3px;
}

/* Fix caption padding in IE7 */
*:first-child+html .caption
{
	padding-top:3px;
	padding-bottom:3px;
}

.mime_icon
{
	padding-bottom:2px;
	vertical-align:top;
}

.ce_gallery td
{
	padding-right:1.5em;
	padding-bottom:1.5em;
}

.ce_table table
{
	width:100%;
}

.ce_table th
{
	padding:0.3em 2em 0.3em 0.5em;
	text-align:center;
	background-color:#d3d3d3;
	background-image:url("tl_files/solavo/layout/site/menu_normal.gif");
	background-repeat:repeat-x;
	font-weight:bold;
}

.ce_table td
{
	padding:0.2em 2em 0.2em 0.5em;
	text-align:center;
}

.ce_table td.col_first
{
	text-align:left;
	border:0px;
}

.ce_table tr.odd {
	background-color:#f2f2f2;
}

.ce_table td {
	width:15%;
}

.ce_table td.col_first {
	width:25%;
}

#frontpage {
	width: 100%;
	height: 290px;
	top: 190px;
	position: absolute;
	z-index: 1;
	font-family: Arial, Verdana;
	/*background: url("images/startseite.jpg") no-repeat center center fixed;
	-webkit-background-size: cover;
  	-moz-background-size: cover;
 	 -o-background-size: cover;
 	 background-size: cover;*/
	 background-size: 100% 100%;
	background-image: url("images/startseite1.jpg");
	
}


#sitevisual {
	width:100%;
	height:150px;
	top:190px;
	position:absolute;
	/*background: no-repeat center center fixed;*/
	-webkit-background-size: cover;
  	-moz-background-size: cover;
 	 -o-background-size: cover;
 	 background-size: cover;
}

@media screen and (max-width: 400px) {
	#frontpage, 
	#sitevisual {
		/*display: none;*/
		height: 120px;
	}

	
	#header { height: 240px;}
	
	#header-inner { height: 270px;}
	
	#frontpage .inside {
		font-size: 1em;
	}
}

#frontpage .inside {
	bottom:18px;
	position:absolute;
	padding:3px 10px 3px 25px;
	/* background-color:#8a2237; */
	background-color:#e31b2e;
	font-family:Arial, Verdana;
	font-size:1.8em;
	color:#ffffff;
	text-transform: uppercase;
}

@media screen and (max-width: 400px) {
	#frontpage .inside {
		bottom:8px;
		padding:3px 5px 3px 10px;
		font-size:1em;
	}
}

#mainmenu {
	width:100%;
	top:115px;
	position:absolute;
	/*background-color:#f3f3f3;
	padding-top: 5px;
	padding-bottom: 5px;*/
	z-index: 10000;
	overflow: visible;
}

/*#mainmenu li*/
li {
	float:left;
	font-weight:bold;
	list-style-type:none;
}

#mainmenu a {
	display:block;
	padding: 13px 14px 14px 14px;
	border-right:1px solid #c6c6c6;
	text-decoration:none;
	color:#333333;
	line-height:1;
}

@media screen and (max-width: 1060px) {
	#mainmenu a {
		font-size: 70%;
		padding: 13px 10px 14px 10px;
	}
}


#mainmenu a:hover, #mainmenu a.trail {
	background-color:#e31b2e;
	color:#ffffff;
}


#mainmenu p {
	padding:8px 18px 9px 18px;
	background-color:#e31b2e;
	border-right:1px solid #c6c6c6;
	font-weight:bold;
	color:#fff;
	line-height:1;
}


/* Fix padding in IE6 */
* html #mainmenu a, * html #mainmenu p {
	padding-top:9px;
	padding-bottom:8px;
}

/* Fix padding in IE7 */
*:first-child+html #mainmenu a, *:first-child+html #mainmenu p {
	padding-top:9px;
	padding-bottom:8px;
}

/* from typolite.css*/
.invisible {
    width: 0px;
    height: 0px;
    left: -1000px;
    top: -1000px;
    position: absolute;
    overflow: hidden;
    display: inline;
}

.inside {
    position: relative;
    text-align: left;
}

.block {
    overflow: hidden;
}


.clear {
	clear: both;	
}

.active, 
#mainmenu .active > a {
	background-color:#e31b2e;
	color:#ffffff;	
}


@media only screen and (min-width: 801px) {
	.topnav a.icon {
		display: none !important;
	}
}


@media only screen and (max-width: 800px) { 
	
  .topnav li:not(:first-child) {
	  	display: none;
	}
	
/*	.topnav ul li {
		display: none;
	}

	.topnav ul li:first-child {
		display: block;
	}
	*/
  .topnav .icon {
    float: right;
    display: block;
	color: #333333;
  }
	
	.topnav.responsive {    /* The "responsive" class is added to the topnav with JavaScript when the user clicks on the icon. This class makes the topnav look good on small screens (display the links vertically instead of horizontally) */
	  position: relative;
	}
	
  .topnav.responsive a.icon {
    position: absolute;
    right: 0;
    top: 0;
  }
  
  .topnav.responsive li {
    float: none;
    display: block;
    text-align: left;
	width: 100%;
  }
} 

a.icon {
	font-size: 22px !important;
}

table.image-gallery img {
	width: 150px;
	height: 150px;
}

@media only screen and (max-width: 710px) { 
	table.image-gallery img {
		width: 50px;
		height: 50px;
	}
	
	.ce_gallery td {
		padding-right: 1em;
		padding-bottom: 1em;
	}
}

.nowrap {
	 white-space: nowrap;
}

/************************************/
/*******  BO Whatsup button  *******/
/***********************************/
#WAButton {
	display: none;
}

@media only screen and (max-width: 500px) {


	#WAButton {
		display: block;
		position: fixed;
		bottom: 30px;
		right: 20px;
	}


	#WApopup {
		visibility: hidden;
		opacity: 0;
		width: 250px;
		border: 2px solid #25D366;
		border-radius: 15px;
		position: fixed;
		bottom: 10px;
		right: 10px;
		background-color: #FFFFFF;
	}

	#WAicon {
		display: block;
	}

	#WAicon img {
		width: 50px;
		height: auto;
		float: right;
		border-radius: 25px;
	}

	.WAButton-img {
		width: 30px;
		height: auto;
		float: right;
		border-radius: 25px;
	}

	#WATitle {
		background-color: #25D366;
		padding: 15px;
		color: #FFFFFF;
		border-top-left-radius: 12px;
		border-top-right-radius: 12px;
		display: flex;
		justify-content: space-between;
		font-size: 18px;
	}

	#WAclose {
		border: 2px solid #FFF;
		border-radius: 50px;
		padding: 0px 12px 0px 12px;
		font-size: 15px;
	}

	#WAMessage {
		padding: 15px;
		text-align: center;
	}

	#WAgotowa {
		background-color: #25D366;
		border-radius: 25px;
		padding: 15px;
		margin: 0 auto;
		color: #FFFFFF;
		margin-bottom: 10px;
		text-decoration: none !important;
		text-align: center;
		text-transform: uppercase;
		margin-right: 10px;
		margin-left: 10px;
	}

	.button {
		text-decoration: none;
		color: #FFFFFF;
	}

}

h4.sa {
	font-weight: bold;
	margin-top: 15px;
}

ul.normal li {
	float: none;
	list-style-type: initial;
	padding-left: 20px;
	font-weight: normal;
}

/************************************/
/*******  EO Whatsup button  *******/
/***********************************/

#footer .inside {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
}

#linkedin {
	display: inline;
	margin-left: 20px;
}

#linkedin img {
	width: 30px;
	height: auto;
}


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

.leaflet-control-attribution {
	position: relative;
	top: -30px;
	background: rgba(255,255,255,0.5);
	font-size: 10px;
	text-align: right;
}


.two-col {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin-top: 30px;
	min-height: 280px;
}

.halb-col {
	/*flex-grow: 1;
	flex-basis: 48%;*/
	text-align: center;
	background: #e31b2e;
	margin: 10px;
	color: #FFF;
	min-width: 45%;
	width: 45%;
	position: relative;
}

.col100 {
	/*flex-grow: 1;
	flex-basis: 48%;*/
	text-align: center;
	background: #e31b2e;
	margin: 10px;
	color: #FFF;
	min-width: 100%;
	width: 100%;
	position: relative;
}

.padd20 {
	padding: 20px;
}

@media screen and (max-width: 750px) {
	.two-col {
		min-height: 450px;
	}
	
	.halb-col {
		min-width: 100%;
		width: 100%;
	}
}

.halb-col a,
.col100 a {
	color:#FFFFFF;
	text-decoration: underline;
	height: 100%;
	display: inline-block;
}

.halb-col .small  a {
	font-size: 12px;
	text-decoration: underline !important;
	color: #FFF;
}

.halb-col .small {
	position: absolute;
	bottom: 0px;
	width: 100%;
}


ul.box {
	padding: 0px;
}

ul.box  li {
	padding-left: 0px;
	margin-top: 15px;
	margin-bottom: 5px;
	list-style-type: none;
}

.stellenangebote-box {
	background: #e31b2e;
	color: #FFF;
	padding: 20px;
	margin-top: 20px;
	margin-bottom: 30px;
}

.stellenangebote-box a {
	color: #FFFFFF;
	text-decoration: underline;
}

#slide {
	position: fixed;
    left: -400px;
	bottom: 0px;
	width: 350px;
    -webkit-animation: slide 0.5s forwards;
    -webkit-animation-delay: 2s;
    animation: slide 0.5s forwards;
    animation-delay: 2s;
	padding: 10px 15px 25px 25px;
	background: #e31b2e;
	font-size: 14px;
	color: #FFFFFF;
	z-index: 9999;
	display: none;
}

@-webkit-keyframes slide {
    100% { left: 0; }
}

@keyframes slide {
    100% { left: 0; }
}


#slide.close {
	-webkit-animation: slide-close 0.5s backwards ;
	animation: slide-close 0.5s backwards ;
}

#slide.hidden {
	display: none;
}

@-webkit-keyframes slide-close {
    0% { left: 0; }
}

@keyframes slide-close {
    0% { left: 0px; }
}

#closeSlide {
	font-size: 16px;
	position: relative;
	left: calc(100% - 10px);
	top: -10px;
	width: 15px;
}

#closeSlide:hover {
	cursor: pointer;
}


#slide a {
	color: #FFFFFF;
}

#slide h1 {
	font-size: 18px;
	font-weight: bold;
}

#slide p {
	margin: 0px 0px;
}
/* Startseiten WA-Logo */
.inside > a > .whatsapp-logo {
    position: absolute;
    bottom: -50px;
    right: 40px;
    width: 80px;
    height: 80px;
    border-radius: 15px;
    transition: all 0.3s ease;
    box-shadow: 0 4px 8px rgba(0,0,0,0.1);
}

.inside > a > .whatsapp-logo:hover {
    transform: scale(1.1) rotate(5deg);
    box-shadow: 0 6px 12px rgba(0,0,0,0.2);
    filter: brightness(1.1);
}


a.wa-sidebar {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin-top: 12px;
	padding: 3px 9px 3px 3px;
	border: 2px solid #25D366;
	border-radius: 20px;
	color: #128C7E;
	font-size: 85%;
	font-weight: bold;
	text-decoration: none;
	transition: background-color 0.2s ease, color 0.2s ease;
}

a.wa-sidebar img {
	width: 26px;
	height: 26px;
	border-radius: 50%;
}

a.wa-sidebar:hover {
	background-color: #25D366;
	color: #ffffff;
}


.schloss-galerie {
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
	margin-top: 15px;
}

.schloss-galerie .schloss {
	flex: 1 1 280px;
	margin: 0;
}

.schloss-galerie img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: 4px;
}

.schloss-galerie figcaption {
	margin-top: 8px;
}

.schloss-galerie .bildnachweis {
	font-size: 0.8em;
	color: #777777;
}


@media only screen and (max-width: 800px) {
	#mainmenu.responsive nav {
		height: auto;
	}

	#mainmenu.responsive ul.level_1 {
		background: #f3f3f3;
	}

	#mainmenu.responsive ul.level_1 > li > a {
		font-size: 100%;
		padding: 12px 15px;
		border-bottom: 1px solid #c6c6c6;
	}
}
