* { margin: 0; padding: 0; }
body { background: #fff center top no-repeat; color: #777; margin: 0; padding: 0; height: 100%; width: 100%; behavior: url("/csshover.htc"); overflow-y: scroll; overflow-x: hidden; opacity: 1; cursor: default; }
body, div, table, input, select, option, textarea, h1, h2, h3, h4, h5, h6, div#content-left, div#news { font: 300 16px/140% 'Source Sans Pro', 'Helvetica Neue', 'Helvetica', sans-serif; letter-spacing: 0em; }
a img { border: 0; }

table { border-collapse: separate; border-spacing: 0; empty-cells: show; }
td { vertical-align: top; }
form { display: block; }

*::selection { background: #eccbc2 !important; color: #000 !important; }
*::-moz-selection { background: #eccbc2 !important; color: #000 !important; }
*::-webkit-selection { background: #eccbc2 !important; color: #000 !important; }
*::-o-selection { background: #eccbc2 !important; color: #000 !important; }

b { font-weight: 600 !important; }
h2 { font-size: 20px; line-height: 1.2; color: #9e0621 }
h3 { font-weight: bold; color: #9e0621; font-size: 18px; letter-spacing: 0.01em; }

/* ELEMENTS */
a, a:visited, a:link, a:hover { color: #9e0621; text-decoration: none; cursor: pointer; }
a:hover { text-decoration: underline; }
a:target, a.sel { text-decoration: underline !important; opacity: 0.6 }

textarea, input[type=text], input[type=password], input[type=email] { background: #fff; border: 1px solid #ccc; color: #666; padding: 3px; width: 450px; }
input[type=text].mini, input[type=email].mini { width: 300px !important; min-width: 300px; }
textarea { height: 180px; min-height: 180px; min-width: 450px; resize: vertical }
textarea:hover, input[type=text]:hover, input[type=password]:hover, input[type=email]:hover, select:hover,
textarea:focus, input[type=text]:focus, input[type=password]:focus, input[type=email]:focus, select:focus, option { background: #fff; border-color: #999; color: #000 !important; }
textarea:focus, input[type=text]:focus, input[type=password]:focus, input[type=email]:focus { border-color: #999; background: #fff !important; }
input[autocomplete^="off"] { background-color: #fff !important; }

label { display: block; font-size: 12px !important; line-height: 100%; font-weight: 300 !important; margin-bottom: 2px; cursor: pointer; }
label.inline { display: inline-block; padding: 0 0 0 3px; }
label:hover, label:focus, input[type=text]:focus + label, textarea:focus + label { color: #000; }

select { border: 1px solid #ccc; background: #fff; color: #000; padding: 2px; }
option { padding: 2px; }

input[type=button], input[type=submit], input[type=reset] { border: 1px solid #ccc; background: #f6f6f6; color: #333; padding: 3px 25px; cursor: pointer; min-width: 120px; }
input[type=button]:hover, input[type=submit]:hover, input[type=reset]:hover { background: #eee; color: #000; border-color: #999 }

img, label, input[type=button], input[type=submit], input[type=reset], div#img_gallery, div.scrollbar, div.image_scroll, div#img_index {
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

/* TRANSITIONS */
body, label, a, li, ul#faces li img, ul#man_info_scroll, div#content, table#files td, img#img_captcha, div#preload, div#main, div#loading,
div#img_index > span:hover img {
  -webkit-transition: all 250ms ease-out;
  -moz-transition: all 250ms ease-out;
  -ms-transition: all 250ms ease-out;
  -o-transition: all 250ms ease-out;
  transition: all 250ms ease-out;
}
div#images_scroll ul {
  -webkit-transition: all 750ms ease;
  -moz-transition: all 750ms ease;
  -ms-transition: all 750ms ease;
  -o-transition: all 750ms ease;
  transition: all 750ms ease;
}
input, textarea {
  -webkit-transition: color 250ms ease-out, background 250ms ease-out, border 250ms ease-out;
  -moz-transition: color 250ms ease-out, background 250ms ease-out, border 250ms ease-out;
  -ms-transition: color 250ms ease-out, background 250ms ease-out, border 250ms ease-out;
  -o-transition: color 250ms ease-out, background 250ms ease-out, border 250ms ease-out;
  transition: color 250ms ease-out, background 250ms ease-out, border 250ms ease-out;
}
div#menu.fixed, ul#faces span.in {
  -webkit-box-shadow: 3px 4px 7px 0 rgba(0, 0, 0, 0.25);
  -moz-box-shadow: 3px 4px 7px 0 rgba(0, 0, 0, 0.25);
  -ms-box-shadow: 3px 4px 7px 0 rgba(0, 0, 0, 0.25);
  -o-box-shadow: 3px 4px 7px 0 rgba(0, 0, 0, 0.25);
  box-shadow: 3px 4px 7px 0 rgba(0, 0, 0, 0.25);
}

ul#faces li.sel img, ul#faces span.in, ul#images_scroll_list li { /* and here is the fix */
  -webkit-background-clip: padding-box;
  -moz-background-clip: padding;
  background-clip: padding-box;
}

/****** MAIN ******/

div#main { display: block; width: 1025px; margin: 30px auto 30px; background: #fff; opacity: 1; z-index: 1; }
div#main.hidden { cursor: wait; }
div#main.hidden { opacity: 0 !important; }

div#loading { z-index: -1; position: fixed; top: 50%; left: 50%; height: 80px; width: 360px; padding: 50px; margin: -90px 0 0 -230px; font-size: 16px; font-weight: 300; color: #666; opacity: 0; background: transparent; text-align: left; line-height: 150%; cursor: wait; white-space: nowrap; }
div#main.hidden + div#loading { opacity: 1 !important; z-index: 0; }

div#loading b { font-size: 20px; display: block; line-height: 150%; font-weight: 400 !important; color: #9e0621; }
div#loading ul { display: block; }
div#loading li { display: inline-block; width: 10px; height: 10px; border-radius: 10px; margin: 0 5px 0 0; background: #eee; }
div#loading li.sel { background: #cc435e !important; }
div#loading a { cursor: pointer !important; }
div#loading a:hover { opacity: 0.5; text-decoration: underline; }


ul#menu { display: block; }
ul#menu li { display: inline-block; border-right: 2px solid #9e0621; color: #9e0621; padding: 0; line-height: 100%; }
ul#menu a { display: inline-block; padding: 0 10px; font-weight: 400; margin: 0; line-height: 1em; font-size: 17px; }
ul#menu li:last-child { border-right: 0; }
ul#menu li:last-child { padding-right: 0; }
ul#menu li:first-child a { padding-left: 0; }
ul#menu li.sel a { opacity: 0.5; }
/*ul#menu li.sel a:hover { opacity: 1; }*/

div#logo { height: 120px; margin: 1em 0 0; position: relative; }
div#logo_strip { display: block; margin: 1em 0 2em; position: absolute; left: 0; right: 0; background: #e6bbae; height: 80px; }
span#logo_line { display: block; height: 6px; left: -2000px; width: 2250px; position: absolute; bottom: 0; background: #9e0621; }

div#content { background: #fff; }

div#img_index { display: block; position: absolute; left: 0; right: 0; overflow: hidden; text-align: center; background: url(/images/index.jpg) center top no-repeat; height: 700px; z-index: 1; top: 188px; }
div#img_index img { display: block; margin: 0 auto; }
div#img_index > span { display: inline-block; position: absolute; width: 100px; height: 350px; left: 50%; top: 50px; }
div#img_index > span img { opacity: 0; position: absolute; left: 50%; }
div#img_index > span:hover img { opacity: 1; }

table.threeCol { width: 100%; margin-top: 15px; }
table.threeCol td:nth-child(1) { width: 246px !important; }
table.threeCol td:nth-child(3) { width: 220px !important; background: #f6f6f6; padding: 24px; }

table#tbl_index { margin-top: 547px !important; position: relative; z-index: 5 }
td#index_contact { vertical-align: top; padding-top: 55px; white-space: nowrap; color: #9e0621; }
td#index_contact img { display: block; margin-bottom: 6px; }
td#index_main { padding: 0 24px 2em 0; }
td#index_main p { margin: 0 0 1em; }
td.news { padding: 24px 24px 12px !important; }
td.news iframe { padding-top: 5px; }
td.news input[type=text] { width: 150px; margin: 5px 0; font-size: 12px; line-height: 1.2em; padding: 3px; display: inline-block; }
td.news input[type=submit] { font-size: 12px; min-width: 23px; padding: 0; width: 23px; margin: 5px 0 5px 3px; height: 23px; display: inline-block; vertical-align: top; }

div.news { text-transform: uppercase; letter-spacing: -0.015em; width: 220px; font-weight: 300; margin-bottom: 1em; padding-bottom: 1em; border-bottom: 1px solid #ccc; font-size: 13px; color: #999; }
div.news:last-child { margin-bottom: 0; border: 0; }
div.news p { line-height: 120%; margin: 0 0 4px 0; white-space: normal }
div.news p.first { color: #9e0621 !important; }
div.news p.second { color: #8c4a56; }
div.news p.third { color: #000; }
div.news p.forth { font-weight: 300; }
div.news img { margin: 0.5em 0 0.5em; display: block; max-width: 220px; }
div.news iframe { margin: 0.5em 0 0; }
div.news a { color: inherit; }

ul#faces { width: 246px; display: block; line-height: 0; }
ul#faces li { width: 80px; height: 87px; position: relative; display: inline-block; cursor: pointer; margin: 0 3px 3px 0; }
ul#faces li:nth-child(3n) { margin-right: 0; }
ul#faces li img { width: 80px; height: 87px; opacity: 0.25; background: #eee; }
/*ul#faces.empty li img { opacity: 1; }*/
ul#faces span.out { display: none; position: absolute; z-index: 50; top: 70px; width: auto; left: -25px; background: url(/images/bubble.png) 40px 0 no-repeat; color: #fff; padding: 10px 0 2px; white-space: nowrap; }
ul#faces li.sel img { opacity: 1; }
/*ul#faces.empty:hover li img { opacity: 0.34; }*/
ul#faces:hover li.sel img { opacity: 0.6; }
ul#faces li:hover img { opacity: 1 !important; }
ul#faces li:hover span.out { display: block; }
ul#faces span.in { background: #787878; padding: 1px 10px; border-radius: 5px; min-width: 100px; display: inline-block; line-height: 130%; }

table#man td.info { padding: 0 20px; width: 470px; }
table#man td.info img { display: block; background: #eee; }
table#man td.info div { width: 470px; overflow: hidden; display: block; white-space: nowrap; }
td.info h2 { font-size: 20px; line-height: 24px; margin: 6px 0 0; letter-spacing: 0.015em; }
td.info img + h2 { margin: 36px 0 0; }
td.info p { margin: 0 0 1em; }
td.info h2 + p { margin-top: 24px !important; }

ul#man_info_pages { display: block; margin: 3px 0 36px; line-height: 100%; }
ul#man_info_pages li { display: inline-block; padding: 0 10px; border-right: 1px solid #7c5a64; line-height: 100%; }
ul#man_info_pages li a { color: #7c5a64; }
ul#man_info_pages li:first-child { padding-left: 0; }
ul#man_info_pages li:last-child { border: 0; padding-right: 0; }
ul#man_info_pages li.sel a { opacity: 0.5 !important; }

ul#man_info_scroll { display: block; }
ul#man_info_scroll li { width: 470px; display: inline-block; white-space: normal; padding: 0 1em 0 0; vertical-align: top }
ul#man_info_scroll li:first-child { padding-left: 0; }
ul#man_info_scroll li p { margin: 0 0 1em; }
ul#man_info_scroll li { opacity: 0.25 }
ul#man_info_scroll li.sel { opacity: 1 !important }
ul#man_info_scroll b { font-weight: 500 !important; }

div#bottom { font-size: 12px; padding: 0 270px 0 243px; width: 470px; margin: 2em auto 2em; text-align: center; }
div#bottom a { color: inherit; text-decoration: underline; }
div#bottom a:hover { text-decoration: none; }

table#contact td.form { padding-top: 14px; }
table#contact td.form td { padding: 0 0 1em; }
table#contact td.form label { font-size: 14px !important; margin-top: 3px; }

table#files { width: 470px; border-spacing: 0; margin: 0; }
table#files td { vertical-align: middle; height: 64px; padding: 3px; cursor: pointer; }
table#files td:first-child { padding-left: 0; }
table#files td:last-child { white-space: nowrap; text-align: right; padding: 3px 10px; }
table#files tr:nth-child(2n) td { background: #f9f9f9; }
table#files tr:nth-child(2n+1) td { background: #f3f3f3; }
table#files tr:hover td { background: #eee; color: #000; }
table#files img { background: transparent !important; height: 64px; }

div.scrollbar { display: inline-block; vertical-align: top; width: 200px; height: 20px; background: transparent; border: 0 solid #ccc; position: relative; margin: 3px 0; }
div.scrollbar[vertical] { height: 200px; width: 20px; }
div.scrollbar > div { position: absolute; z-index: 50; background: #ddd; border: 1px solid #ccc; font-size: 12px; cursor: move; }
div.scrollbar > div:hover { background: #ccc; border-color: #aaa; }
div.scrollbar > span { position: absolute; left: 0; right: 0; top: 50%; margin: -1px 0 0 0; height: 1px; border-bottom: 1px solid #ccc; z-index: 10; display: block; }
div.scrollbar[vertical] > span { left: 50%; bottom: 0; top: 0; margin: 0 0 0 -1px; width: 1px; border-bottom: 0; border-right: 1px solid #ccc; z-index: 10; display: block; height: auto; }

div.scrollbar:hover + input[type=text] { color: #000; border-color: #aaa; background: #fafafa; }

div#caching_imgs { }
div#caching_imgs img { width: 1px; height: 1px; display: none; }

img#img_captcha { vertical-align: middle; cursor: pointer; border: 1px solid #999; }
img#img_captcha:hover { border-color: #000; }
input[name=captcha] { vertical-align: middle; width: 100px; margin-left: 0px; }
img.big { display: block; }

div#images_scroll { white-space: nowrap; overflow: hidden; margin-bottom: 1em; width: 470px; position: relative; font-size: 0; }
ul#images_scroll_container { z-index: 3; width: auto; position: relative }
ul#images_scroll_container li { width: 470px; display: inline-block; text-align: center; vertical-align: top; font-size: 14px; }
ul#images_scroll_container img { margin: 0 auto; display: block; }

ul#images_scroll_list { z-index: 10; width: auto; overflow: visible; white-space: nowrap; display: block; margin: 5px auto 15px; font-size: 0; text-align: center; }
ul#images_scroll_list li { display: inline-block; width: 10px; height: 10px; margin: 5px 5px 0 0; background: #ccc; border-radius: 11px; cursor: pointer; }
ul#images_scroll_list li:hover { background: #eee; }
ul#images_scroll_list li.sel { background: #cc435e !important; cursor: default; }

a.audio { background: url(/images/play_s.png) left center no-repeat; padding-left: 22px; line-height: 22px; min-height: 22px; margin: 1em 0 0.5em 0; display: block; }
a.audio.playing { background-image: url(/images/play.png) !important; color: #000 !important; text-decoration: underline !important; }

table#tbl_impressum p { margin: 0 0 1em; }
div#haftungsausschluss p { font-size: 0.75em; line-height: 1.3em; }
div#haftungsausschluss { margin-top: 2em; padding-right: 24px; }
