/* CSS */

/* bg */
/* LAYOUT */



html { /* bei Bedarf fuer zentriertes Layout */
min-height: 100%; /* erzwingt vertikalen Scrollbalken-Platzhalter im Firefox, um ein "Huepfen" zu vermeiden (zusammen mit margin-bottom: 0.1px;) */
margin-bottom: 0.1px;
border-bottom: 1px solid transparent; /* dann funktionierts auch mit Safari und Opera, allerdings mit immer mit aktivem Scrollbalken, auch im FF */
}

body {
font: 100.01% "Trebuchet MS", sans-serif;
margin:0;
padding:0;
background: #f9c4d4;
color:#000;
text-align:center;
-webkit-text-size-adjust: none;
}

.invsbl { /* unsichtbare Inhalte */
position:absolute;
top:-5000em;
left:-5000em;
overflow:hidden;
text-indent:-5000em;
margin: 0;
}


/***********************************************************
 CONTAINER 
************************************************************/


#container {
background: #fff url(../_img/container-bg-rose.gif) left top repeat-y;
width: 893px;
padding: 0 7px 0 7px;
margin: 0 auto;
}


/* Title 
**********************************************************/

div#branding {	
position:relative;
height:144px;
width: 100%;
float: left;
background: transparent url(../_img/header-bg.jpg) left top no-repeat;
}

div#branding h1,
div#branding h2 {	
position:absolute;
top:-5000em;
left:-5000em;
overflow:hidden;
text-indent:-5000em;
margin: 0;
}

a.signet {
display: block;
width: 237px;
height: 108px;
position: absolute;
top: 14px;
left: 64px;
text-indent:-5000em;
overflow: hidden;
}

p.headpics {
display: block;
position: absolute;
top: 21px;
left: 469px;
}

/* Navigation
*******************************************************/

#nav-container {
padding: 0 65px;
float: left;
clear: both;
width: 763px;
}

#navigation {
font-size: 12px;
float: left;
clear: both;
width: 760px;
height: 35px;
}

#navigation ul {
display: block;
white-space: nowrap;
/*position: relative;*/
/*width: 763px;*/
height: 33px;
float: left;
text-transform: uppercase;
}

#navigation li {
white-space: nowrap;
display: block;
float: left;
padding: 8px 23px 10px 0;
list-style: none;
background: transparent url(../_img/navi-border.gif) left bottom repeat-x;

}

#navigation a {
display: block;
float: left;
color: #000;
font-weight:normal;
text-decoration: none;
}

#navigation li.last {
padding-right: 0;
}

#navigation a:hover {
color: #e67cbe;
}

#navigation li.active {
}
#navigation li.active a,
#navigation li.active a:hover {
color: #c5007b;
}

#subnavi {
padding-top: 5px;
font-size:12px;
clear:both;
float:left;
width: 730px/*725px*/;
min-height: 22px;
}

#subnavi ul {
text-transform: none;
margin: 0;
height:auto;
line-height: 17px;
}

#subnavi ul li {
background: transparent url(../_img/navi-trennstrich.gif) right center no-repeat;
padding: 0 12px 0 10px;
float: none;
display: inline;
}

#subnavi ul li.last {
background: none;
}

#subnavi ul li a {
color: #000;
}

#subnavi ul li a:hover {
color: #e67cbe;
}

#subnavi ul li.active a:hover,
#subnavi ul li.active a {
color: #c5007b;
}

#subnavi2 {
padding-top: 5px;
font-size:12px;
clear:both;
float:left;
width: 730px/*725px*/;
min-height: 22px;
}

#subnavi2 ul {
text-transform: none;
margin: 0;
height:auto;
line-height: 17px;
}

#subnavi2 ul li {
background: transparent url(../_img/navi-trennstrich.gif) right center no-repeat;
padding: 0 12px 0 10px;
float: none;
display: inline;
}

#subnavi2 ul li.last {
background: none;
}

#subnavi2 ul li a {
color: #000;
}

#subnavi2 ul li a:hover {
color: #e67cbe;
}

#subnavi2 ul li.active a:hover,
#subnavi2 ul li.active a {
color: #c5007b;
}

/* Content 
**********************************************************/

.ornament1 #mainbody {
background: transparent url(../_img/ornament-oben.gif) right bottom no-repeat;
}

.ornament2 #mainbody {
background: transparent url(../_img/ornament-unten.gif) right 125px no-repeat;
}

.ornament3 #mainbody {
background: none;
}

#mainbody {
text-align:left;
background: #fff;
float:left;
clear:both;
width: 763px;
padding: 24px 65px 31px;
min-height:400px;
}

#content,
#content2 {
font-size: 13px;
float:left;
width: 47.2%;
}

#content {
margin-right: 2.8%;
}

#content2 {
margin-left: 2.8%;
}


.template-70-30 #mainbody {
width: 807px;
padding-right: 21px;
}

.template-70-30 #content {
width: 76.6%; 
margin-right: 0;
}

.template-70-30 #content2 {
width: 20.6%;
}


/* Footer 
**********************************************************/

#siteinfo {
text-align: left;
margin: 0 auto;
clear:both;
font-size:11px;
width: 763px;
height: 40px;
padding: 30px 72px 20px 72px;
color:#686868;
background: transparent url(../_img/footer-bg-rose.gif) left top no-repeat;
}

#siteinfo p {
margin: 0;
line-height: 15px;
float: left;
}

#siteinfo a,
#siteinfo a:hover {
color:#686868;
text-decoration:none;
}

#siteinfo li.active a,
#siteinfo li.active a:hover,
#siteinfo a:hover {
color: #000000;}

div#meta-navi {
float: right;
width: 400px;
}

div#meta-navi ul {
float: right;
list-style-type: none;
text-transform: uppercase;
}

div#meta-navi ul li {
float: left;
background: url("../_img/metanav-trennstrich.gif") no-repeat scroll left center transparent;
padding: 0 8px 0 6px;
}

div#meta-navi ul li.last {
padding-right: 0;
}

p#facebook {
padding:0 8px 0 6px;
float: right;
}

p#facebook a {
width: 14px;
height: 14px;
background: transparent url(../_img/facebook.gif) left top no-repeat;
display: block;
overflow: hidden;
text-indent: -5000em;
color: transparent;
}

/********************************************************* 
allgemeine Formate Text, Formulare, Tabellen, Bilder
**********************************************************/

h1, h2 {
font-size: 20px;
margin: 0 0 10px 0;
font-weight: normal;
}

h2 span.soh {
cursor: default !important;
}

body #container span.print {
display: none;
}

h3 {
font-size: 15px;
margin: 0 0 10px 0;
}
h4 {
font-size: 14px;
margin: 0 0 10px 0;
}
h5 {
font-size: 13px;
margin: 0 0 10px 0;
}
h6 {
font-size: 12px;
margin: 0 0 10px 0;
font-weight: normal;
}

p {
margin: 0 0 21px 0;
line-height: 21px;
}

p strong {
font-size: 14px;
}

ul, ol, li {
margin: 0;
padding: 0;
}
#content ul,
#content ol {
margin: 0 0 18px 20px;
padding: 0;
line-height: 18px;
}
#content ol {
margin: 0 0 18px 30px;
}
#content li {
margin: 0 0 4px 0;
}


a {
color: #C5007B;
text-decoration: none;
}
a:hover {
border: none;
text-decoration: none;
color: #E67CBE;
}

hr {
height: 1px;
background-color: #ccc;
color: #999999;
border: none;
/*border-top: 3px dotted #666666;*/
margin: 3px 0 15px 0;
width: 100%;
clear:both;
}


table {
border-collapse: collapse;
margin-bottom: 15px;
line-height: 100%;
font-size: 12px;
width: 100%;
}

th {
border-top: 1px solid #ccc; 
border-bottom: 2px solid #ccc;
padding: 4px 15px 4px 6px;
text-align: left;
vertical-align: top;
}
td {
border-top: 1px dashed #ccc;
border-bottom: 1px dashed #ccc;
padding: 4px 15px 4px 6px;
text-align: left;
vertical-align: top;
}

td p,
th p {
margin: 0;
}

img {
border: none;
}



form {	
margin: 0;
padding: 0;
font-size:100%;
float:left;
clear: both;
}

form p {
margin:0;
clear:both;
width:100%;
}
form p.req {
margin-bottom:6px;
width:auto;
}

fieldset {	
border: none;
padding: 0;
margin: 0;
}

legend {	
font-weight: bold;
padding: 0 5px 15px 0;
margin-left: -5px;
background-color: transparent;
}

label {	
margin:0;
float:left;
font-size:100%;
}

input,
select, 
textarea {	
float:left;
margin: 0 5px 6px 0;
border:1px solid #e2e2e2;
background-color:#fff;
padding:1px;
font-family: "Trebuchet MS", sans-serif;
font-size:100%;
}

input.submit {	
float:left;
margin: 0 5px 6px 0;
border:1px solid #666;
background: #ccc;
font-weight: bold;
width:auto;
}



/********************************************************* 
allgemeine Klassen
**********************************************************/

.left {
float:left;
}
.right {
float:right;
}

.clear {
clear: both;
}



/********************************************************* 
MODUL-Formate
**********************************************************/

/* Preisliste
*************************/

dl.topborder {
padding: 9px 0 7px !important;
background: transparent url(../_img/pricelist-border.gif) left top repeat-x;
}

dl.pricelist {
width: 100%;
padding: 3px 0 7px 0;
margin: 0;
float: left;
clear: both;
border-bottom: 1px solid #f6f6f6;
}

dl.pricelist dd,
dl.pricelist dt {
float: left;
margin: 0;
padding-right: 7px;
}

dl.pricelist dd.description {
padding-left: 9px;
float: left;
white-space: nowrap;
background: transparent url(../_img/navi-trennstrich.gif) left 3px no-repeat;
}

dl.pricelist dd.description {
padding-left: 7px;
padding-top: 1px;
color: #c5007b;
font-size: 11px;
}

dl.pricelist dd.price {
float: right;
}

body dl.pricelist dd.noline {
padding-left: 0;
background: none;
}

/* Teaser
*************************/

.teaserbox {
float: left;
width: 162px;
height: 139px;
border: 1px solid #b7b7b7;
padding: 2px;
overflow: hidden;
margin: 0 0 30px 0;
}

.first-teaser {
margin: 0 23px 30px 0;
}

.teaserbox p {
height: 162px;
width: 162px;
margin: 0;
padding: 0;
}


/* Abstand + Clear
*************************/

div.space {
height: 25px;
clear:both;
}

/* Headline Modul
*************************/

.headline-box {
clear: both;
margin: 0 0 15px 0;
/*margin: 0 0 17px 0;*/
}

.headline-box h2 {
margin: 0 0 8px 0;
}

.headline-box h3 {
margin: 0;
}

/* MODUL Text + Bild
**************************/

div.section-txtpic {
margin: 0 0 9px 0;
clear:both;
float:left;
width:100%;
}

div.section-txtpic div.sectiontext {
clear:both;
}
div.section-txtpic.re div.sectiontext,
div.section-txtpic.li div.sectiontext,
div.section-txtpic.li-box div.sectiontext {
clear:none;
}

div.section-txtpic div.sectiontext img {
margin: 3px 15px 15px 0;
float:left;
}

div.section-txtpic div.sectiontext p {
position:relative;
top:-4px;
}

div.section-txtpic p.pic {
margin: 0 0 10px 0;
display: block;
float:left;
}

div.section-txtpic .picborder {
padding: 3px;
background-color: #ffffff;
border:1px solid #B7B7B7;
}

div.section-txtpic p.pic img {
display: block;
}

div.section-txtpic.re p.pic {
margin: 3px 0 15px 20px;
float: right;
clear: both;
}
div.section-txtpic.li p.pic {
margin: 3px 20px 15px 0;
float: left;
clear: both;
}
span.picsub {
font-size: 11px;
line-height:13px;
margin:4px 0;
padding-bottom:4px;
display:block;
}



/* fuer 2-spaltige Darstellung */

div.section-txtpic.col-li,
div.section-txtpic.col-re,
div.section-txtpic.col-li-box,
div.section-txtpic.col-re-box {
float:left;
clear:none;
width:48%;
}

div.section-txtpic.col-re,
div.section-txtpic.col-re-box {
float:right;
padding-left:2%;  /*fuer FF3, Safari */
}

div.colclear {
clear: both;
height: 1px;
}

span.pink {
font-size: 14px;
font-weight: bold;
color: #c5007b;
}

a span.pink {
color: #c5007b;
}

a:hover span.pink {
color: #E67CBE;
}

/*****/

#content .sectiontext ul {
list-style: none;
margin: 0 0 20px 0;
}

#content .sectiontext ul li {
padding: 0 0 0 10px;
margin: 0 0 7px 0;
background: transparent url(../_img/listenpunkt.gif) 0 6px no-repeat;
line-height: 17px;
}


/* MODUL Galerie
 * allgemein
**********************/

#content div.gallery ul {
margin:0;
padding: 0;
border: none;
height: auto;
}
#content div.gallery li {
list-style: none;
/*display: inline;*/
float:left;
display: block;
width: 67px;
height: 67px;
overflow: hidden;
margin:0 4px 0 0;
}
#content div.gallery li img {
border:none;
}


/* TERMIN-FORMULAR xform
**********************************/

div.form-termin {
font-size: 12px;
float: left;
margin-bottom: 60px;
}

h2.formhead {
margin-bottom: 38px;
}

div.form-termin p,
div.form-termin div.formradio {
margin-bottom: 6px;
float: left;
clear: both;
}

div.form-termin div.formradio {
margin-bottom: 21px;
}

div.form-termin p.formtextarea {
margin-bottom: 20px;
}

div.form-termin label {
width: 157px;
line-height: 17px;
}

div.form-termin p.formtextarea label {
width: 150px;
margin-right: 7px;
}

div.form-termin input {
width: 361px;
margin: 0;
padding: 2px;
}

div.form-termin .formtext label {
padding-top: 1px;
}

div.form-termin .formtext input {
height: 14px;
}

div.form-termin textarea {
width: 361px;
height: 33px;
border: 1px solid #e2e2e2;
margin: 0;
padding: 2px;
}

div.formradio,
div.form-termin p.req {
width: 365px;
padding-left: 157px;
}

div.formradio label.radio {
display: none;
}

div.formradio p label.radio {
display: block;
width: 103px;
}

div.formradio p input {
width: auto;
height: auto;
border: none;
background: none;
margin: 4px 12px 0 0;
}

div.form-termin p.req {
font-size: 10px;
margin-bottom: 12px;
}

div.form-termin p.req span.star {
color: #a93547;
}

div.form-termin p.formselect {
margin-bottom: 34px;
}

div.form-termin p.formselect select {
width: 153px;
margin: 18px 0 0 0;
}

div.form-termin p.formcheckbox input {
width: auto;
margin: 1px 12px 0 0;
height: auto;
border: none;
}

div.form-termin p.formcheckbox label {
width: 361px;
}

div.form-termin p.formsubmit {
width: 524px;
}

div.form-termin p.formsubmit input.submit {
width: 84px;
font-size: 12px;
height: 20px;
float: right;
border: 1px solid #e2e2e2;
background-color: #ffffff;
padding: 0 0 5px 0;
font-weight: normal;
}

/* KONTAKT-FORMULAR xform
**********************************/

div.form-kontakt {
}

div.form-kontakt form {
margin:0 0 10px 0;
}
div.form-kontakt input,
div.form-kontakt select, 
div.form-kontakt textarea {	
margin-bottom: 8px;
width: 300px;
}
div.form-kontakt textarea {	
width: 480px;
}
div.form-kontakt label {	
width: 150px;
}
div.form-kontakt p.req {
font-size: 11px;
margin-left: 150px;
color:#666;
}
div.form-kontakt input.submit {	
margin-left: 150px;
width:auto;
}
div.antispam {
display: none;
}

#content ul.form_warning {
list-style: none;
margin:0 0 15px 0;
color:#666;
}
ul.form_warning li.first {
font-weight: bold;
}
p.answertext {
}

#content a,
#content2 a {
padding: 3px 0 3px 27px;
background: transparent url(../_img/link-icon.gif) left top no-repeat;
}

#content p.pic a, 
#content2 p.pic a,
#content p.pic a:hover, 
#content2 p.pic a:hover {
padding: 0;
background: none;
}

/* Dateimarkierung fuer Downloadlinks 
 * Klasse per jquery vergeben
*************************************/

/*#content a.pdf {	
background: transparent url(../_img/pdf-icon.gif) no-repeat 0 0;
padding: 5px 0 0 26px;
}*/
/* bei Verwendung dieser Klassen muessen die passenden Icons hinterlegt werden
#content div.filedownload a {	
line-height: 25px;
padding: 5px 0 0 26px;
background: transparent url(../_img/default-icon.gif) no-repeat 0 0;
}
#content div.filedownload a.word {	
background: transparent url(../_img/word-icon.gif) no-repeat 0 0;
}
#content div.filedownload a.text {	
background: transparent url(../_img/txt-icon.gif) no-repeat 0 0;
}
#content div.filedownload a.xls {	
background: transparent url(../_img/xls-icon.gif) no-repeat 0 0;
}*/


/* MODUL Tabelle
 * ohne Rahmen
 * sonst Standardformat
***************************/

table.border,
table.noborder {
clear:both;
margin-bottom:10px;
}

table.noborder,
table.noborder th,
table.noborder td {
border: none;
padding-left:0;
}


/* MODUL Artikel-, Kategorieliste, Paginierung 
***********************************************/
ul.kategorie-list,
ul.article-list,
ul.pagination {
clear:both;
margin-bottom:10px;
}

#content ul.pagination {
margin-left:0;
}
#content ul.pagination li {
display:inline;
list-style:none;
margin-right:4px;
}
#content ul.pagination li a {
padding:0 2px;
background:none;
border: 1px solid #ffffff;
}
#content ul.pagination li a:hover {
border: 1px solid #666;
}
#content ul.pagination li.active a {
color:#ffffff;
border: 1px solid #666;
background-color:#666;
}
#content ul.pagination li.active a:hover {
}


/* MODUL Sitemap 
**********************/

#content ul.sitemap {
padding-top:10px;
line-height:18px;
list-style: none;
font-weight: bold;
}
#content ul.sitemap ul,
#content ul.sitemap ul ul {
font-size:11px;
font-weight:normal;
padding-top:0;
}

/* Anchor 
***************************/

p.anchor {
padding: 0;
margin: 0;
display: block;
visibility: hidden;
height: 1px;
overflow: hidden;
}

p.toplink {
font-size: 12px;
float: left;
clear: both;
}
