/* CSS_Lorenz_all.css */


*, *::before, *::after {
	box-sizing: border-box;
}

/* ALLGEMEIN */


body {
    background-color:#fff4d9;
    font:12px Verdana,Arial,Helvetica,sans-serif;
    color:#543333;
}

/* Hintergrund für Header und Rechten Frame */
#wrapper {
    background-color:#f9cb92;
}



/* KOPFZEILE */
#header {
}

/* Navigationsmenü in der Kopfzeile - Position */
#topmenu {
    width:100%;
    height:40px;
    bottom:0;
    left:0;
    right:0;
    top:96px;
    position:absolute;
    background-color:#f7b96c;
}

/* Navigationsmenü in der Kopfzeile - keine Auflistungspunkte */
#topmenu ul {
    left:0;
    top:0;
    position:absolute;
    list-style-type:none;
}

/* Navigationsmenü in der Kopfzeile - Elemente nebeneinander */
#topmenu li {
    float:left;
    padding:0;
}

/* Navigationsmenü in der Kopfzeile - Eigenschaften erstes aktives Feld */
#topmenu strong.first {
    border-left:1px solid #fff;
}

/* Navigationsmenü in der Kopfzeile - Eigenschaften aktives Feld */
#topmenu strong {
    padding:12px 20px 11px;
    background-color:#e28813;
    border-right:1px solid #fff;
    font-size:14px;
    font-weight:bold;
    text-decoration:none;
    color:#fff;
}

/* Navigationsmenü in der Kopfzeile - Linkeigenschaften erster Link */
#topmenu a.first {
    border-left:1px solid #fff;
}

/* Navigationsmenü in der Kopfzeile - Linkeigenschaften */
#topmenu a {
    padding:12px 20px 11px;
    border-right:1px solid #fff;
    font-size:14px;
    font-weight:bold;
    text-decoration:none;
    color:#333;
}

/* Navigationsmenü in der Kopfzeile - Linkeigenschaften */
#topmenu a:hover {
    background-color:#f4a641;
    color:#fff;
}

/* Suchfeld Position und Schriftart */
#header .searchbox {
    right:5px;
    top:64px;
    position:absolute;
    float:left;
    font-weight:bold;
}

/* Suchfeld Eingabefeld */
#header .searchbox input.text {
    width:150px;
    height:25px;
}

/* Suchfeld Button */
#header .searchbox input.submit {
    height:25px;
}


/* MITTELBEREICH */
/* HAUPTSPALTE - ALLGEMEIN */
#main {
    min-height:738px;
    margin:0;
    padding:0;
    background-color:#fff;
}

/* Elemente im Hauptfenster, Abstand zum Rand */
#main h1,
#main h2,
#main h3,
#main p,
#main .mod_newsreader .image_container,
#main #anfahrtsskizze figure {
    margin-right:10px;
    margin-left:10px;
}

#main a {
    text-decoration:none;
    color:#114985;
}

#main a:hover {
    text-decoration:underline;
}



/* HAUPTSPALTE - STARTSEITE */
/* Überschrift Aktuell */
#main h4 {
    margin-right:10px;
    margin-bottom:0;
    margin-left:10px;
    padding:5px;
    background-color:#f7b96c;
    font-size:16px;
}

/* Aktuell News-Element */
#main .mod_newslist .layout_short {
    margin:0 10px;
    padding-top:0;
    padding-bottom:0;
}

/* Aktuell News-Element */
#main .mod_newslist .layout_simple:nth-child(even) {
    background-color:#eeeeee;
}

/* Aktuell News-Element */
#main .mod_newslist .layout_simple:nth-child(odd) {
    background-color:#e8e8e8;
}

/* Aktuell News-Element */
#main .mod_newslist .layout_simple:last-child,
#main .mod_newslist .layout_short:last-child {
    margin-bottom:10px;
}

/* Aktuell - Datum, Uhrzeit oben rechts */
#main .mod_newslist p.info {
    top:0;
    position:relative;
    float:right;
    font-size:10px;
    color:#808080;
}

/* Aktuell - Weiterlesen-Button */
#main .mod_newslist p.more a {
    top:0;
    position:relative;
    float:right;
    margin-bottom:10px;
    padding:5px;
    background-color:#e28813;
    font-weight:bold;
    color:#fff;
}



/* HAUPTSPALTE - PREISE */
#main #kassenautomat table,
#main #preise table {
    width:70%;
    margin-right:auto;
    margin-left:auto;
    text-align:center;
}

#main #kassenautomat td,
#main #kassenautomat td {
    height:30px;
}

#main #kassenautomat td:nth-child(1),
#main #kassenautomat td:nth-child(3),
#main #kassenautomat td:nth-child(5),
#main #kassenautomat td:nth-child(1),
#main #kassenautomat td:nth-child(3),
#main #kassenautomat td:nth-child(5) {
    background-color: #f7b96c;
	width:20%;
}

#main #kassenautomat td:nth-child(2),
#main #kassenautomat td:nth-child(4),
#main #kassenautomat td:nth-child(2),
#main #kassenautomat td:nth-child(4) {
    background-color: #fff4d9;
	width:20%;
}

#main #preise thead {
    background-color:#eb4b4b;
    font-weight:bold;
    color:#fff;
}

#main #preise tbody tr:nth-child(odd) {
    background-color:#fff4d9;
}

#main #preise tbody tr:nth-child(even) {
    background-color:#f7b96c;
}

#main #preise th,
#main #preise td {
    margin:0;
    padding-top:5px;
    padding-bottom:5px;
}

#main #preise table {
    margin-bottom:10px;
}


/* HAUPTSPALTE - FAQ */
/* Mindesthöhe Reader */
#main .mod_faqreader .ce_text {
    min-height:280px;
}

/* Überschrift der FAQ etwas weiter runter wegen Infofeld */
#main .mod_faqreader h1 {
    margin-top:25px;
}

/* FAQ - Datum, Uhrzeit oben rechts */
#main .mod_faqreader p.info {
    right:0;
    top:255px;
    position:absolute;
    font-size:10px;
    color:#808080;
}

/* Aktuell - Weiterlesen-Button */
#main .mod_faqreader p.back a {
    top:0;
    position:relative;
    float:left;
    padding:5px;
    background-color:#e28813;
    font-weight:bold;
    color:#fff;
}

#main .mod_faqlist ul {
    margin:0;
    padding:0;
    list-style-type:none;
}

#main .mod_faqlist li {
    margin-right:10px;
    margin-left:10px;
    padding:7px 5px;
}

#main .mod_faqlist li:nth-child(even) {
    background-color:#eee;
}

#main .mod_faqlist li:nth-child(odd) {
    background-color:#e8e8e8;
}

#main .mod_faqlist li.last {
    margin-bottom:10px;
}



/* HAUPTSPALTE - ANFAHRT */
/* Element in der Hauptspalte */
#main #anfahrtsskizze figure {
    margin-right:auto;
    margin-bottom:5px;
    margin-left:auto;
    text-align:center;
}



/* HAUPTSPALTE - KONTAKT */
/* Element in der Hauptspalte */
#main #kontakt table {
    width:70%;
    margin-top:50px;
    margin-right:auto;
    margin-left:auto;
    border:1px solid #543333;
}

#main #kontakt td:nth-child(1) {
    width:10%;
    text-align:right;
}

#main #kontakt td:nth-child(2),
#main #kontakt td:nth-child(3) {
    width:45%;
}

#main #kontakt td {
    padding:10px 5px;
    vertical-align:top;
}

#main #kontakt tr:nth-child(odd) {
    background-color:#fafafa;
}

#main #kontakt tr:nth-child(even) {
    background-color:#fefefe;
}



/* HAUPTSPALTE - AKTUELL */
/* Mindestgröße News-Element */
#main .mod_newsreader .layout_full {
    min-height:350px;
}

/* Aktuell - Datum, Uhrzeit oben rechts */
#main .mod_newsreader p.info {
    right:0;
    top:0;
    position:absolute;
    font-size:10px;
    color:#808080;
}

/* Aktuell - Weiterlesen-Button */
#main p.backbutton a {
    top:0;
    padding:5px;
    background-color:#e28813;
    font-weight:bold;
    color:#fff;
}

/* Aktuell News-Liste Element */
#main .mod_newslist .layout_simple {
    margin:0 10px;
    padding-top:15px;
    padding-bottom:15px;
}

/* Aktuell News-Element */
#main .mod_newslist .layout_short:nth-of-type(even) {
    background-color:#eee;
}

/* Aktuell News-Element */
#main .mod_newslist .layout_short:nth-of-type(odd) {
    background-color:#e8e8e8;
}

/* Newsliste - Datum, Uhrzeit vor Weiterer Meldung */
#main .mod_newslist time {
    margin-right:15px;
    font-size:10px;
    color:#808080;
}



/* HAUPTSPALTE - SUCHERGEBNISSE */
/* Textfeld Position */
#main #suchmaschine .widget-text {
    width:50%;
    left:25%;
    position:absolute;
    margin-top:20px;
}

/* Textfeld Größe */
#main #suchmaschine .widget-text .text {
    width:230px;
    height:30px;
    padding-right:5px;
    padding-left:5px;
    font-size:1.5em;
}

/* Submitfeld Position */
#main #suchmaschine .widget-submit {
    width:50%;
    left:55%;
    position:absolute;
    margin-top:20px;
}

/* Submitfeld Größe */
#main #suchmaschine .widget-submit .submit {
    width:100px;
    height:30px;
    padding-right:5px;
    padding-left:5px;
    font-size:1.5em;
}

/* Ergebnisleiste */
#main #suchmaschine .header {
    margin-top:80px;
    padding:5px;
    text-align:right;
    background-color:#f7b96c;
    color:#333;
}

/* Ungerade Suchergebnisse */
#main #suchmaschine .search_default:nth-of-type(odd) {
    padding:5px;
    background-color:#eee;
}

/* Gerade Suchergebnisse */
#main #suchmaschine .search_default:nth-of-type(even) {
    padding:5px;
    background-color:#e8e8e8;
}

/* Relevanz und Dateigröße (grau) */
#main #suchmaschine .relevance,
#main #suchmaschine .filesize {
    font-size:.8em;
    font-weight:normal;
    color:#808080;
}

/* URL grün */
#main #suchmaschine .url {
    color:#0b3;
}



/* RECHTE SPALTE - ALLGEMEIN */
.rightframe {
    width:270px;
    margin:0 auto;
    padding-bottom:5px;
    text-align:center;
    background-color:#fff4d9;
}

.rightframe h4 {
    margin-top:15px;
    margin-bottom:0;
    padding-top:15px;
    padding-bottom:15px;
    background-color:#e28813;
    font-size:16px;
    font-variant:small-caps;
    color:#fff;
}

.qf_header {
    margin:15px 5px 0;
    padding-top:5px;
    padding-bottom:5px;
    background-color:#eb4b4b;
    font-size:13px;
    font-weight:bold;
    color:#fff;
}

.qf_text {
    margin:0 5px 15px;
    padding-top:5px;
    padding-bottom:5px;
    background-color:#fce8e8;
    font-size:12px;
    color:#000;
}



/* FUSSZEILE */
#footer {
    margin:0;
    padding-top:5px;
    padding-bottom:5px;
    background-color:#f7b96c;
    font-size:11px;
    color:#333;
	text-align: center;
	height: 40px;
}

#footer a {
    font-weight:bold;
    color:#333;
}

#footer a:hover {
    background-color:#f4a641;
    color:#fff;
}

/* -----------------------------------------------------
   DESKTOP LAYOUT
----------------------------------------------------- */
@media (min-width: 769px) {
	.mobile {
		display:none;
	}
	
}


/* -----------------------------------------------------
   MOBILE LAYOUT
----------------------------------------------------- */
@media (max-width: 768px) {
	.desktop {
		display:none;
	}
	
  /* Wrapper muss auf volle Breite, sonst bleibt rechts Platz */
  #wrapper {
    width: 100% !important;
    margin: 0 !important;
  }
	 /* feste Header-Höhe aus dem Inline-Layout überschreiben */
  #header {
    height: auto !important;
    min-height: 0 !important;
    padding-bottom: 0 !important;
  }

  /* Desktop-Topmenu (falls es doch noch irgendwo wirkt) neutralisieren */
  #topmenu {
    position: static !important;
    height: auto !important;
    top: auto !important;
  }

  /* Container-Padding aus dem Inline-Layout (für rechte Spalte) entfernen */
  #container {
    padding-right: 0 !important;
  }

  /* rechte Spalte komplett raus (falls nicht schon) */
  #right {
    width: auto !important;
    display: none !important;
  }
  
  /* Contao setzt oft Innenabstände auf .inside */
  #wrapper .inside {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  /* Sicherheit: Bilder/Elemente dürfen nicht breiter als der Screen sein */
  img, video, iframe {
    max-width: 100%;
    height: auto;
  }
  
  html, body {
    overflow-x: hidden;
  }
  
		
	/* KOPFZEILE */
	/* Logo zentrieren */
	#header #logo {
		text-align:center;
	}



	/* HAUPTSPALTE */
	/* Hauptframe Mindesthöhe auf 0 */
	#main {
		min-height:0px;
	}

	/* Mindesthöhe bei FAQ-Reader auf 0 */
	#main .mod_faqreader .ce_text {
		min-height:0px;
	}



	/* FUSSZEILE */
	/* Abstand oben von css all deaktivieren */
	#footer {
		padding-top:0;
	}

	/* Navigationsmenü in der Fußzeile - Position */
	/*
	#handheldmenu {
		width:100%;
	}
	*/

	/* Navigationsmenü in der Fußzeile - keine Auflistungspunkte */
	#handheldmenu ul {
		width:100%;
		margin:0;
		padding:0;
		list-style-type:none;
	}

	/* Navigationsmenü in der Fußzeile - Balken unterhalb */
	#handheldmenu li {
		border-bottom:1px solid #fff;
		border-collapse:collapse;
		font-size:16px;
	}

	/* Navigationsmenü in der Fußzeile - Linkeigenschaften + aktives Feld */
	#handheldmenu a,
	#handheldmenu strong {
		width:100%;
		display:block;
		margin:0;
		padding:10px 0 10px 15px;
		font-size:16px;
		text-decoration:none;
	}

	/* Navigationsmenü in der Fußzeile - Balken unterhalb */
	#handheldmenu strong {
		background-color:#e28813;
		color:#fff;
	}

	#footer .searchbox {
		margin-top:10px;
	}

	#footer .searchbox input.text {
		width:40%;
		height:25px;
	}

	#footer .searchbox input.submit {
		width:25%;
		height:25px;
	}

	/* Quickfacts-Eigenschaften - Rest unter All */
	#footer .rightframe {
		width:100%;
	}
	
	/* Kontakt-Tabelle mobilfreundlich stapeln */
  #main #kontakt table {
    width: 100% !important;
    margin: 0 !important;
    border-collapse: collapse;
  }

  #main #kontakt tbody,
  #main #kontakt tr,
  #main #kontakt td {
    display: block;
    width: 100% !important;
  }

  #main #kontakt tr {
    padding: 10px 10px;
    border-bottom: 1px solid #ddd;
  }

  #main #kontakt td {
    padding: 4px 0;
    text-align: left !important;
    white-space: normal;          /* Umbruch erlauben */
    word-break: break-word;       /* lange Wörter/Emails umbrechen */
    overflow-wrap: anywhere;
  }

  /* Optional: erste Zelle (Tel/Fax/Mobil/E-Mail) als Label hervorheben */
  #main #kontakt td:first-child {
    font-weight: bold;
  }

  /* Abstand nach unten zur mobilen Navigation */
  #main #kontakt .content-table {
    margin-bottom: 15px;
  }
  
    /* Footer darf im Mobile nicht auf 30px festgenagelt sein */
  #footer {
    height: auto !important;       /* überschreibt Inline-Style */
    overflow: visible !important;  /* falls Contao overflow:hidden setzt */
    padding-bottom: 10px;          /* etwas Luft nach unten */
  }

  /* Sicherheit: Falls der Wrapper/Container irgendwo clippt */
  #wrapper, #container, #main {
    overflow: visible !important;
  }
	
}