/***
** generic
***/
* { margin: 0; padding: 0; }
a { -moz-outline: 0; outline: none; }
a img { border: 0; }
.no-float { clear: both; }
.left { float: left; }
.right { float: right; }
.block { display: block; }
.opacity { filter: alpha(opacity=91); /* Internet Explorer */ -moz-opacity: 0.91; /* Mozilla Browser */ opacity: 0.91; /* Opera */ }
.hidden,
.invisible { display: none; } /* .invisible is for TYPOlight cron.php request via img-tag */
.quarter { width: 25%; }
.double { width: 50%; float: left; }
.triple { width: 33%; }
.clearfix:after { content: "."; display: block; height: 0; clear: both; visibility: hidden; }
*+html .clearfix { display: inline-block; }


/***
** grid
***/
html { height: 100%; }
body { position: relative; height: 100%; margin-bottom: 1px; font: 62.5% "lucida grande", Verdana, Arial, Helvetica, sans-serif; color: #361403; background: white url("../images/layout/body-v2.png") repeat-x; }
body.index { background-image: url("../images/layout/body-index-v2.png"); }

.center { position: relative; margin: 0 auto; width: 960px; }
#container { min-height: 100%; }
#branding { position: relative; height: 150px; background-color: transparent; }
#navigation { position: relative; top: 0; left: 0; height: 45px; z-index: 10; }
#content { position: relative; min-height: 867px; padding-bottom: 35px; background: transparent url("../images/layout/content.png") 0 261px no-repeat; }
#content:after { content: "."; display: block; height: 0; clear: both; visibility: hidden; } /* clearfix */
#content #visual { height: 230px; margin-top: 1px; background: transparent url("../images/layout/sprites-v3.jpg") 0 0 no-repeat; }
#content .row { position: relative; float: left; width: 440px; margin-bottom: 20px; padding: 0 20px 10px 20px; background-color: transparent; }
.single #content .row { float: none; width: 920px; }
#content #content-main { background-color: transparent; }
#content #content-sub { background-color: transparent; }
#content #content-single{ clear: left; padding: 0 20px 20px 20px; background-color: transparent; }
#siteinfo { position: relative; border-top: 2px solid #689b9b; height: 120px; background-color: transparent; } /* margin-top: siteinfo.height -1px due to fixed scrollbar */
#siteinfo .center { position: relative; height: 100%; }

body.index #content { background-position: 0 246px; }


/***
** branding
***/
#branding h1 { margin: 0 auto; padding: 0 10px; width: 420px; top: 10px; text-indent: -9999px; background-color: transparent; }
#branding h1 a { display: block; width: auto; height: 150px; background: transparent url("../images/layout/logo-primary.svg") no-repeat; }
#branding h5 { position: absolute; text-indent: -9999px; }

#branding ul#nav-tools { position: absolute; top: 8px; right: 0; font-size: 1.3em; font-weight: bold; line-height: 22px; }
 ul#nav-tools li { list-style: none; }

  ul#nav-tools a { color: #361403; text-decoration: none; }
   ul#nav-tools a:hover,
   ul#nav-tools a:focus { text-decoration: underline; }

  ul#nav-tools span { float: left; margin-right: 6px; width: 25px; height: 24px; background: transparent url("../images/layout/icon-phone-25x24.png") no-repeat; text-indent: -9999em; }

#branding p#phone-number { }


#doctolib { position: fixed; top: 200px; right: 0; display: block; text-align: center; background-color: #0596DE; color: #ffffff; font-size: 14px; width: 100px; border-radius: 4px 0 0 4px; padding: 10px; z-index: 999; box-shadow: 1px 2px 4px rgba(0,0,0,0.2); line-height: 1.4; }
  #doctolib span { font-size: 14px; font-weight: bold; }
  #doctolib img { display: inline-block; height: 15px; margin-top: 10px; vertical-align: middle; width: auto; }
  #doctolib a:link,
  #doctolib a:visited,
  #doctolib a:hover,
  #doctolib a:active { display: block; margin: 7px auto; padding: 5px 0; width: 90px; background-color: white; border-radius: 5px; color: #0596DE !important; border-bottom: none !important; }
    #doctolib a:hover,
    #doctolib a:active { text-decoration: underline !important; }


/***
** navigation
***/
#navigation h3 { position: absolute; text-indent: -9999px; height: 0; }
#navigation ul { list-style-type: none; font-family: Arial,Verdana , Helvetica, sans-serif; }

#navigation ul#meta { display: none; position: absolute; top: -140px; right: 10px; }
#navigation ul#meta li { float: left; font-size: 1em; line-height: 1.4em; }
#navigation ul#meta li a:link,
#navigation ul#meta li a:visited,
#navigation ul#meta li a:hover,
#navigation ul#meta li a:focus,
#navigation ul#meta li a:active { float: left; padding: 0 10px; text-decoration: none; background: transparent url("../images/layout/sprites-v3.jpg") 0 0 no-repeat; }
#navigation ul#meta li a:focus,
#navigation ul#meta li a:hover { color: red; text-decoration: underline; }

#navigation ul#main { margin: 0 auto; border-top: 2px solid #689b9b; width: 823px; min-height: 36px; padding: 8px 0 0 0; font-size: 1.6em; }
#navigation ul#main li { float: left; margin-right: 3%; }
#navigation ul#main li:last-child { margin-right: 0; }

#navigation ul#main li a { }
#navigation ul#main li a:link,
#navigation ul#main li a:visited,
#navigation ul#main li a:hover,
#navigation ul#main li a:focus,
#navigation ul#main li a:active { display: block; height: 28px; line-height: 28px; text-decoration: none;  }

#navigation ul#main li a span { display: block; padding: 0 12px; border-radius: 5px; color: #362519; }

#navigation ul#main li a.trail span,
#navigation ul#main li a:hover span,
#navigation ul#main li a:active span,
#navigation ul#main li a#active_main span { background-color: #689b9b; color: white; }

#navigation ul#sub-level_1 { position: absolute; top: 281px; left: 10px; padding-top: 2px; }
#navigation ul#sub-level_1 li { float: left; margin: 0 1px 0 0; height: 25px; font-size: 1.5em; line-height: 16px; }
#navigation ul#sub-level_1 li a:link,
#navigation ul#sub-level_1 li a:visited,
#navigation ul#sub-level_1 li a:hover,
#navigation ul#sub-level_1 li a:focus,
#navigation ul#sub-level_1 li a:active { float: left; height: 24px; padding: 0 0 0 10px; text-decoration: none; color: white; }
#navigation ul#sub-level_1 li a span { display: block; padding: 4px 10px 0 0; }

#navigation ul#sub-level_1 li a:focus,
#navigation ul#sub-level_1 li a:hover,
#navigation ul#sub-level_1 li.active-sub a { color: #4d3627 !important; background: transparent url("../images/layout/sprites-v3.jpg") -422px -56px no-repeat; }

#navigation ul#sub-level_1 li a:hover span,
#navigation ul#sub-level_1 li.active-sub a span { background: transparent url("../images/layout/sprites-v3.jpg") right -56px no-repeat; }


/***
** content
***/
#headline .mod_article p { padding: 0 20px; }

.row-entry { min-height: 28em; }

#content h2,
#content h3,
#content h4,
#content h5,
#content p,
#content ul,
#content ol,
#content dl,
#content address,
#content form { margin: 15px 0; text-align: justify; }

#content h2,
#content h3,
#content h4,
#content h5,
#content h6 { color: #2a4f53; font-weight: normal; text-align: left; }

#content h2 { margin: 60px 0 10px 0; padding: 0 20px; font-size: 2.8em; line-height: 1em; background-color: transparent; }
#content h3 { margin-bottom: 20px; border-bottom: 1px dotted #361403; font-size: 1.9em; line-height: 1.6em; }
#content h4 { margin-bottom: -8px; font-size: 1.5em; line-height: 1.3em; }
#content h5 { font-size: 1.2em; line-height: 1.2em; }
#content h6 { font-size: 1.2em; line-height: 1.2em; }

#content a:link,
#content a:visited,
#content a:focus,
#content a:hover,
#content a:active { color: #689b9b; text-decoration: none; border-bottom: 1px dashed #d0d0d0; }

#content a:focus,
#content a:hover { color: #689b9b; border-bottom-color: #689b9b; }

#content p,
#content ul,
#content ol,
#content dl,
#content address,
#content table,
#content form { font-size: 1.3em; line-height: 1.6em; }

#content .image_container img,
#content .content-image img,
#content .content-gallery img,
#content .media--left img { margin-top: 17px; border: 1px dotted #d5d5d5; padding: 3px; background-color: #fcfcfc; }

.services #content .image_container img,
.services #content .content-image img,
.services #content .content-gallery img,

#content .no-margin-top img { margin-top: 5px; }

#content .media--left img { float: left; margin-right: 15px; margin-top: 20px; }


#content .image_container a,
#content .content-image a,
#content .content-gallery a { border: 0; }
#content .image_container a:hover img,
#content .content-image a:hover img,
#content .content-gallery a:hover img { border-color: #2a4f53; }

#content .gallery { float: left; width: 200px; min-height: 350px; }
#content .odd { margin-right: 40px; }
#content .gallery .caption { margin: 5px 0; font-size: 1.3em; text-align: center; }
#content .gallery p { margin: 5px 0 0 0; text-align: center; font-size: 1.2em; line-height: 1.3em; }


#content .content-gallery { margin-top: 27px; }
#content .content-gallery ul { margin: 0; list-style: none; background-color: red; }
#content .content-gallery ul li { float: left; width: 23.5%; margin-right: 2%; margin-bottom: 2%; height: 150px }
#content .content-gallery ul li:nth-child(4n) { margin-right: 0; }
#content .content-gallery ul li img { margin: 0; display: block; max-width: 100%; height: auto; }

#content #mitgliedschaften .image_container img,
#content #mitgliedschaften .content-image img { margin: 0 0 0 14px; }

#content .smaller p { line-height: 1em; }

#content ul { margin-left: 14px; line-height: 1.6em; text-align: left; }

#content table { text-align: left; }
#content table caption { display: none; }

#content table td { padding: 8px 0; vertical-align: top; }
#content table td:first-child { width: 120px; }

#weiterbildungermaechtigung table td:first-child { width: 240px; }

.contact #content table { margin-bottom: 15px; }

.contact .double { }
.contact #content table { margin-top: 5px; border: 1px solid #e0e0e0; border-collapse: collapse; width: 96%; background-color: #f5f5f5; }
.contact #content table tr.odd { background-color: #fdfdfd; }
.contact #content table td { padding: 10px 15px; }
.contact #content table td.col_0 { width: 75px; font-weight: bold; }

#content .mod_newslist ul li .active a,
.newslist #content .mod_newslist ul li: first-child a { color: #2a4f53; border-bottom-color: #2a4f53; }

#content .mod_newsreader p.back { display: none; }

#content .mod_newsreader p.info { font-style: italic; font-size: 1.2em; }


/***
** visual
***/
#visual p { margin: 0; }

#visual blockquote p { position: absolute; color: #672605; font-size: 3.2em; line-height: 1.3em; background-color: transparent; }

.index #visual blockquote p { top: 20px; left: 0; width: 960px; text-align: center; }
.services #visual blockquote p { top: 60px; left: 480px;  }
.about #visual blockquote p { top: 60px; left: 0px; width: 100%; font-size: 3.2em; line-height: 1.6em; text-align: center; }
.office #visual blockquote p { top: 50px; left: 80px; }
.contact #visual blockquote p { top: 50px; left: 100px; }
.news #visual blockquote p { top: 70px; left: 360px; }

.index #content #visual { background-position: 0 -640px; }
.services #content #visual { background-position: 0 -1330px; }
.about #content #visual { background-image: none; }
.office #content #visual { background-position: 0 -870px; }
.contact #content #visual { background-position: 0 -410px; }
.news #content #visual { background-position: 0 -1560px; }

/***
** content-main
***/
#content-main #map-google { border: 3px solid white; width: 450px; height: 350px; }

#content-main form { font-size: 1.0em; }
#content-main form fieldset { border: 1px dotted #92836c; padding: 10px 0; }
#content-main form legend { margin-left: 25px; padding: 0 10px; font-size: 1.2em; background-color: white; }
#content-main form p { clear: left; margin: .5em 0; }
#content-main form p label { display: block; float: left; width: 7em; }
#content-main form p input,
#content-main form p textarea { width: 65% }
#content-main form p input[type="submit"] { margin-left: 7em; width: 10em; font: 1em Verdana, Arial, Helvetica, sans-serif; }


/***
** siteinfo
***/
#siteinfo h3,
#siteinfo h4,
#siteinfo h5,
#siteinfo p,
#siteinfo ul,
#siteinfo ol,
#siteinfo address,
#siteinfo form { margin: 10px 15px; color: #97867e; }

#siteinfo h3,
#siteinfo h4,
#siteinfo h5 { font-weight: normal; }

#siteinfo h3 { position: absolute; right: 0; margin-right: 0; font-size: 1em; }
#siteinfo h3 span { display: none; width: 0; text-indent: -9999em; }

#siteinfo h5 { position: absolute; width: 0; text-indent: -9999px; height: 0; }

#siteinfo p#address { position: absolute; left: 0; margin-left: 0; }

#siteinfo a:link,
#siteinfo a:visited,
#siteinfo a:focus,
#siteinfo a:hover,
#siteinfo a:active { color: #689b9b; text-decoration: none; border-bottom: 1px dotted #689b9b; }
#siteinfo a:focus,
#siteinfo a:hover { border-bottom-style: solid; }


/***
** lightbox
***/
#jquery-overlay { position: absolute; top: 0; left: 0; z-index: 90; width: 100%; height: 500px; }
#jquery-lightbox { position: absolute; top: 0; left: 0; width: 100%; z-index: 100; text-align: center; line-height: 0; }
#jquery-lightbox a img { border: none; }
#lightbox-container-image-box { position: relative; background-color: #fff; width: 250px; height: 250px; margin: 0 auto; }
#lightbox-container-image { padding: 10px; }
#lightbox-loading { position: absolute; top: 40%; left: 0; height: 25%; width: 100%; text-align: center; line-height: 0; }
#lightbox-nav { position: absolute; top: 0; left: 0; height: 100%; width: 100%; z-index: 10; }
#lightbox-container-image-box > #lightbox-nav { left: 0; }
#lightbox-nav a { outline: none; }
#lightbox-nav-btnPrev,#lightbox-nav-btnNext { width: 49%; height: 100%; zoom: 1; display: block; }
#lightbox-nav-btnPrev { left: 0; float: left; }
#lightbox-nav-btnNext { right: 0; float: right; }
#lightbox-container-image-data-box { font: 10px Verdana, Helvetica, sans-serif; background-color: #fff; margin: 0 auto; line-height: 1.4em; overflow: auto; width: 100%; padding: 0 10px; }
#lightbox-container-image-data { padding: 0 10px; color: #666; }
#lightbox-container-image-data #lightbox-image-details { width: 70%; float: left; text-align: left; }
#lightbox-image-details-caption { font-weight: bold; }
#lightbox-image-details-currentNumber { display: block; clear: left; padding-bottom: 1em; }
#lightbox-secNav-btnClose { width: 66px; float: right; padding-bottom: .7em; }


/***
** index
***/
.index #content-main, .index #content-sub { padding-top: 12px; }
.index #content h3 { margin: 45px 0 10px 0; }
.index #content .image_container,
.index #content .content-image { margin-top: 3px; }
.index #content #leistungsuebersicht .ce_text,
.index #content #leistungsuebersicht .content-text { overflow: hidden; border-bottom: dotted 1px #ddd; padding-bottom: 10px; }
.index #content #leistungsuebersicht .ce_text:after,
.index #content #leistungsuebersicht .content-text:after { content: "."; display: block; height: 0; clear: both; visibility: hidden; } /* clearfix */
.index #content #leistungsuebersicht .last { border: 0; }
.index #content #leistungsuebersicht a { float: right; }


/***
** Internet Explorer 6: * html
** Internet Explorer 7: *+html
***/
* html #content { height: 600px; }
* html #branding p#phone-number span { background: none; text-indent: 0; }
* html #content .odd { margin-right: 37px; display: inline; }
* html #content:after { zoom: 1; } /* clearfix */
/** html #brand1ng h1 a { background: none; filter: progid: DXImageTransform.Microsoft.AlphaImageLoader(enabled='true', sizingMethod='crop', src='./images/layout/logo.png'); }*/
