/* default styles */
* { margin: 0; padding: 0; }
html { height: 100%; background: #fff; margin: 0; padding: 0; text-align: center; overflow-y:scroll; }
#doc4 { width: 973px; background-color: #fff;  }
#bd, #hd { border-left: solid 1px #bebebe; border-right: solid 1px #bebebe; }
#bd { border-bottom: solid 1px #bebebe; }

/* --------- kopf mit navigation ------------ */
#hd { 
	position: relative; min-height: 500px; padding: 0; margin: 0; 
	text-align: center; color: #390; background: #fff url(../img/martinshof-hdbg.jpg) 0 33px no-repeat; 
}
#hd .adr { color: #fff; background-color: #7fce66; height: 33px; }
#hd .adr p { line-height: 2.5em; }
#hd .adr p a { color: #fff; font-weight: bold; }
#hd .adr p.adress { text-align: right; }
#hd .adr p.adress::before { content: url(../img/icon-adr.gif) " "; }
#hd .adr p.phone::before { content: url(../img/icon-tel.gif) " "; }
#hd .adr p.mail { text-align: left; }
#hd .adr p.mail::before { content: url(../img/icon-mail.gif) " "; }
#hd #logo { margin-top: 45px; margin-bottom: 56px; }

#hnav { color: #000; background-color: #fff; margin: 0; padding: 0; }
#hnav ul { width: 100%; margin: 0.5em auto; background-color: #fff; overflow: visible; }
#hnav ul li { vertical-align: top; line-height: 1em; display: inline-block; margin-left: 0.66em; margin-right: 0.66em; }
*+html #hnav ul li { padding-left: 3px; } /* nur IE7 */
* html #hnav ul li { padding-left: 3px; } /* nur IE6 */

#hd #fotos { height: auto; margin: 0; padding: 0; vertical-align: top; background: url(../img/bg-fotos.jpg) repeat-y; }
#hd ul { margin-bottom: 0; } /* sonst entsteht evtl. eine luecke im rahmen... */

/* --------- inhalt unter den fotos ------------ */
#bd { position: relative; margin: 0; padding: 0.5em 0; }

.content { padding-top: 0.5em; padding-bottom: 4em; }
.content p { padding-right: 65px; }
.content p, .content h1, .content h2 { padding-left: 20px; }
#datenschutz .content p, #datenschutz .content h1, #datenschutz .content h2, 
#impressum .content p, #impressum .content h1, #impressum .content h2, #impressum .content h3 { 
   margin-left: -72px; 
}

/* impressum 2-spaltig 
#impressum .content p, #impressum .content h1, #impressum .content h2, #impressum .content h3 { 
   padding-left: 50px; padding-right: 24px; 
}
#impressum .content .first p, #impressum .content .first h2, #impressum .content .first h1 { 
   padding-left: 195px; padding-right: 0; margin-right: -20px; 
}
*/
#home .partner { margin-top: 200px; text-align: right; }
#kontakt .anfrage { margin-top: 130px; text-align: right; }

.subnav { margin-top: 2.14285714285em; margin-left: 2.14285714285em; }
.subnav li::before { content: "▶  "; color: #6c3; font-weight: normal; font-size: 0.85714285714em; } /* gefuelltes Dreieck */

/* --------- fotoalbum styles ------------ */
#album { position: relative; border: solid 1px white; min-height: 350px; margin-top: 10px; }
#album ul { position: absolute; top: 0; left: 20px; width: 620px; min-height: 320px; }
#album li { list-style: none; height: 140px; float: left; padding: 0; margin: 0 35px 35px 0; }
#album li a img { border: solid 1px white; margin: 0; padding: 0; }

/* --------- footer ------------ */
#ft { background: transparent; }
#ft p { padding: 1em 0; }
#ft .name { text-align: left; }
#ft .be { text-align: right; }

/* styles allg. */
img { padding: 0; margin: 0; border: none; }

/* schriftstile
   Navigation, Überschriften: Neucha;
   Text: Open Sans;
   0.78571428571em = 11px
   0.85714285714em = 12px
   1em = 14px 
   1.23076923076em = 16px 
   1.38461538461em = 18px
   2.14285714285em = 30px
*/

strong, em { font-weight: bold; }
em { font-style: italic; }
body { font-family: "Open Sans", arial, sans-serif; font-size: 14px; }
#hd .adr { font-size: .85714285714em; }
#hnav, .subnav { font-family: 'Neucha', fantasy; font-size: 1.38461538461em; }
#bd p, #bd td, #bd th, #bd li { line-height: 1.38461538461em; }
h1, h2 { font-family: 'Neucha', fantasy; }
#bd h1 { font-size: 2.14285714285em; padding-top: 0; padding-bottom: .25em; }
#bd h2 { font-size: 1.38461538461em; padding-top: .5em; padding-bottom: .15em; }
#bd h2.h1 { font-size: 2.14285714285em; }
#bd h3, #bd h4, #bd h5 { padding-bottom: .5em; }
#bd p, #bd table { padding-bottom: .75em; }
#bd li { list-style-type: none; }
#bd th, #bd td { padding-right: .5em; }
#bd th { font-weight: bold; }
#bd #plan { font-size: .85714285714em; }
#ft { font-size: .78571428571em; }

/* schriftfarben */
/* grün: #6c3 
   schwarz: #000
   dunkelgrau: #333
*/
#hnav { color: #000; }
#bd h1, #bd h2, #bd p span, #bd h3 { color: #66cc33; }
#bd h4 { color: #000; }
#bd p, #bd p span.sup { color: #000; }
#bd #plan, #bd #plan p, #bd #plan a { color: #89A482; }
#ft, #ft a { color: #333; }

/* links */
a { text-decoration: none; font-weight: normal; color: #000; }
a.normal, .fotogalerie a { color: #666; }
a:hover { text-decoration: underline; }

#hnav ul li a, .subnav ul li a { padding: 0; color: #000; font-weight: normal; }
#hnav ul li.aktiv a, .subnav li.aktiv a, #ft a.aktiv { color: #6c3; text-decoration: none; }
#hnav ul li a:hover, #hnav ul li a.aktiv:hover, .subnav li a:hover, .subnav li.aktiv a:hover { 
	color: #6c3; text-decoration: none; 
}

h3 a, #impressum a, a.gruen { color: #6c3; }
#ft a { font-weight: 600; }

/* klassen */
.zentriert { text-align: center; }
.rechts { text-align: right; }
.kursiv { font-style: italic; }
.fett { font-weight: bold; }
#bd .kleiner { font-size: 85%; }
.f-links {float: left; }
span.sup { color: #333; vertical-align: 4px; }
.f-rechts {float: right; }
.clear-r { clear: right; }
.clear-l { clear: left; }
.clear-both { clear: both; }
.pl300 { padding-left: 300px; }
.mt3 { margin-top: 35px; }
.oben td { vertical-align: top; }
.top, .back, .x { margin-top: 1em; line-height: 1em; padding: 0; border: solid 0 black; padding-left: 20px; }
.x { background: transparent url(../img/schliessen.gif) no-repeat left; }
.rel { position: relative; min-height: 230px; }
.abs-l { position: absolute; top: 10px; left: 15px; }
.abs-mi { position: absolute; top: 20px; left: 350px; }
.abs-u30l100 { position: absolute; bottom: 30px; left: 100px; }
.abs-u30l400 { position: absolute; bottom: 30px; left: 500px; }
.abs-ur { position: absolute; bottom: 0; right: 0; }