a, abbr, acronym, address, b, blockquote, body, button, caption, cite, code, col, colgroup, dd, dfn, div, dl, dt, em,  form, html, h1, h2, h3, h4, h5, hr, i, input, kbd, label, legend, li, ol, optgroup, option, p, q, samp, select, span, strong, sub, sup, textarea, ul	{
    margin			:	0;
    padding			:	0;
}

blockquote:before, blockquote:after,
q:before, q:after { content: ""; }


body {
    font-size		:	100.01%;
    font-family		:	Verdana, Arial, Helvetica, FreeSans, sans-serif;
}

html body	{
    font-size		:	75%;

}

/* -------------------- LINKS -------------------- */

/* Fallback fuer a name mit Textinhalt */
a, a img	{
    text-decoration	:	none;
}

a[name]:link, a[name]:visited, a[name]:hover, a[name]:active, a[name]:focus {
    text-decoration: none;
    /*background: transparent;*/
    color: inherit;
}

a:link, a:visited, a:hover, a:active, a:focus	{
    text-decoration	:	underline;
}

a:link {
    color: #333;
}

a:visited {
    color: #333;
}

a:hover, a:active, a:focus {
    color			:	#333;
    background		:	#f3f3f3;
}

#logo {
    position: absolute;
    /*top: 1.5em;*/
    top: 0;
    left: 0;
    width: 19.7%;
}

#logo img {
    width: 100%;
    border: 0;
}

#logo a {
    line-height: 100%;
}

#logotext {
    position: absolute;
    margin-left: -50%;
    left: 50%;
}

#header {
    margin-left: 22%;
    position: relative;
    padding-bottom: 3.7em;
    /*height: 6em;*/
}

#header {
    font-size: 100%;
}

#header h3 {
    font-size: 1.2em;   /* Specify explicitly for IE7 */
}

/* Main page navigation */

#nav h2 {
    display: block;
    position: absolute;
    top: -100px;
    left: -1000px;
    height: 90px;
    width: 900px;
    overflow: hidden;
}

#nav ul {
    margin: 0;
    padding: 0;
    list-style: none none;
}

#nav ul a {
    display: block;
    width: auto;
    word-spacing: -0.05em;
    text-decoration: none;
}

#nav ul a:link, #nav ul a:visited {
    /*color: #000;*/
}

#nav ul a:hover, #nav ul a:focus {
    /*color: #000;*/
    background: #ccd0d4;
    border-top: 1px dotted #000;
    border-right: 1px dotted #000;
    border-bottom: 1px dotted #000;
    padding-top: 1px;
    padding-bottom: 1px;
}

#nav ul a:active {
    color: #fff;
    background: #a4a7aa;
}

#topnav li {
    position: relative;
    /*height: 1.6em;*/
    margin-top: 3px;
    margin-bottom: 3px;
    /*border-bottom: 1px solid #ccc;*/
}

/* tut's nicht im IE */
#topnav ul :last-child {
    /*border-bottom: 0px solid transparent;*/
}

#topnav > ul > li {
    background: url(../files/topnav_bullet.png) no-repeat left 2px;
    padding-left: 1em;
    margin-bottom: 1em;
    font-size: 1.2em;
    font-weight: bold;
    letter-spacing: -0.03em;
}

#topnav > ul > li li {
    font-size: 0.8em;
    font-weight: normal;
    letter-spacing: 0;
}

#topnav li > a {
    line-height: 1em;
    /*border-left: 6px solid #DC0B33;*/
    background: #fff;
    padding: 2px;
    padding-left: 9px;
}

#topnav li.selected > a {
    color: #cc3399;
    font-weight: bold;
}

#topnav li li.selected > a {
    color: black;
}

#topnav .cmsMenu {
    position: absolute;
    left: -1.5em;
    top: -0.8em;
}

#topnav .cmsMenu a {
    display: inline;
    border: none !important;
    padding: 0 !important;
}

#topnav .cmsMenu .renderChildrenActions {
    border: 1px solid black !important;
}

#topnav .cmsMenu .cmsOverlayContent {
    position: absolute;
    top: 0;
    right: 1em;
}

/** Move edit mode icons over list icon */
#topnav .cmsMenu .showActions .fxToolbarIcon,
#topnav .cmsMenu .hideActions .fxToolbarIcon {
    margin-left: 12px;
    opacity: 1;
}

/* Hide deeper levels, unless node is selected */
#topnav li li {
    display: none;
}

#topnav li.selected li {
    display: block;
}


/* -------------------- FOOTER -------------------- */

#footer {
    /*width			:	100%;*/
    border-top: 1px solid #696969;
    /* border-bottom, falls die Seite kuerzer als Viewport ist
(passiert aber nur bei Aufloesungen > 1024 und kurzen Texten) */
    border-bottom: 1px solid #696969;
    background: #e6e7e8;
    color: #393939;
    padding: .1em 0;
    font-size: 100%; /* Font hier im Layout mit Kerning - sieht bei Arial im Browser grauenvoll aus */
    word-spacing: -.05em;
    clear: both;
    margin-bottom: 2px;
}

/* Achtung: wenn oben die Schriftgroesse veraendert wird, muss im Folgenden auch das padding angepasst werden, da diese beiden unmittelbar von einander abhaengen! */

div#footer div {
    padding-left: 0.5em;
    line-height: 1.5em;
}

#footer div img {
    margin-right: 2.5em;
    float: left;
}

#footer address {
    display: inline;
}

#footer p {
    display: inline;
    padding-right: 10px;
    font-size: 100%;
    color: #393939;
}

/* Links im Footer anders (zustandslos wie in Navi) ???? */

#footer a:link, #footer a:visited {
    color: #393939;
}

#footer a:hover, #footer a:focus, #footer a:active {
    /*color: #000;*/
    background: #fff;
}


.vie_appetizer {
    /*display: table;*/
    /*width: 63.83333em;*/
    width: 50em;
    background: none;
    /*border-collapse: separate;*/
    margin: 0 -6px 0 -6px;
    padding: 0;
    /*border-spacing: 6px;*/
    /*overflow: hidden;*/
}

.vie_appetizer .vie_appetizer_lst > li {
    /*display: table-row;*/
    list-style: none;
    margin: 0;
    padding: 0;
}

/* Nested list in content */
.vie_appetizer .vie_appetizer_lst ul {
    list-style: disc;
    padding-left: 2em;
}

.border-bottom {
    border-bottom: 1px solid #bbb;
    display: block;
    position: absolute;
}

.vie_appetizer .vie_appetizer_lst > li {
    float: left;
    height: 12.5em;
    margin: 0 0.49em 0.49em 0;
    padding: 0;
}

/* Multi-column box sizes */
.vie_appetizer .vie_appetizer_lst li.size,
.vie_appetizer .vie_appetizer_lst li.size1 {
    width: 12em;    /* base */
}

.vie_appetizer .vie_appetizer_lst li.size2 {
    width: 24.5em;  /* 2*base + 1*margin */
}

.vie_appetizer .vie_appetizer_lst li.size3 {
    width: 37em;  /* 3*base + 2*margin */
}

/** Full-line content */
.vie_appetizer .vie_appetizer_lst li.size4 {
    width: 49.5em;  /* 4*base + 3*margin */
    height: auto;   /* variable height */
    padding-bottom: 0.3em;
    /*border: none;*/
}

.vie_appetizer .vie_appetizer_lst li.size2 h3,
.vie_appetizer .vie_appetizer_lst li.size3 h3,
.vie_appetizer .vie_appetizer_lst li.size4 h3 {
    font-size: 1em;
}

.vie_appetizer .vie_appetizer_lst > li > img {
    width: 100%;
}

.vie-box {
    /*border: 1px solid #bbb;*/
    position: relative;
}

.vie_appetizer .vie-box {
    float: left;
    border-bottom: 0.9em solid #fffe09;
}

.vie_appetizer .vie-deco {
    border-bottom: 0.9em solid white;
}

.vie-box .childMenu {
    position: absolute;
    left: 0;
    top: 0;
}

.textbox img {
    width: 12em !important;     /* override vie-box img */
    float: left;
}

.size2 .text-with-pic,
.size3 .text-with-pic,
.size4 .text-with-pic {
    margin-left: 12.5em;
}

.vie-box .cmsMenu img {
    width: auto !important;    /* override vie-box img */
    opacity: 0.75;
}

.vie-box .childMenu img:hover {
    opacity: 1;
}


.vie-hideme {
    position: absolute;
    left: -9999em;
}

.vie_appetizer img {
    vertical-align: bottom;
    margin-bottom: 0.08333em;
}

.vie-box h3 {
    color: #cc3399;
    font-size: 1em;
    margin: 0;
    padding: 4px 0 0 0;
}

.vie_appetizer p.apptext,
.girl_bubble p.apptext {
    margin-bottom: 0.4em;
    margin-top: 0;
    overflow: hidden;
}

.girl_bubble p.apptext {
    font-family: Courier New,Courier,monospace;
    font-size: 1.1em;
}

.vie_appetizer p.apptext a:link, #vie_maincol_cr .vie-teaserline a:link, #vie_maincol_cr p.apptext a:link {
    /*color: #000000;*/
    text-decoration: none;
}

.vie_appetizer p.apptext a:visited, #vie_maincol_cr .vie-teaserline a:visited, #vie_maincol_cr p.apptext a:visited {
    text-decoration: none;
}

.vie_appetizer p.apptext a:hover, .vie_appetizer p.apptext a:focus, #vie_maincol_cr .vie-teaserline a:hover, #vie_maincol_cr .vie-teaserline a:focus, #vie_maincol_cr p.apptext a:hover, #vie_maincol_cr p.apptext a:focus {
    color: #095F9B;
    text-decoration: underline;
}

.servicebox, .umfragebox, .tvbox, .wissenbox, .publibox {
    margin-bottom: 0.5em !important;
}

#vie_maincol {
    width: 63.83333em;
    overflow: hidden;
    clear: both;
}

#vie_maincol_l {
    float: left;
    width: 38em;
}

#vie_maincol_r {
    float: right;
    width: 25.8333em;
    margin-left: -5px;
}

#vie_maincol_cl {
    padding: 0.4em 6px 0 0;
}

#vie_maincol_cr {
    padding-left: 0;
}

ul.ul_unmarked, ol.ol_unmarked {
    list-style:	none none;
}

ul.ul_marked {
    list-style-type	:	disc;
}

/* Link list on right-hand side */
#vie_col2 .links li {
    padding: 1em 0 1em 0;
}

#vie_col2 .links li:first-child {
    padding-top: 0;
}

/* Own Toeta styles */

.highlighted {
    color: #cc3399;
}

#header h1 {
    cursor: pointer;
    font-size: 2.3em;
}

#header .date {
    color: #cc99cc;
}

#header h2 {
    font-size: 1.1em;
}
/*
#header a {
    text-decoration: none;
    background: none;
    color: inherit;
}
*/

.hidden {
    display: none;
}

#girl_right {
    display: block;
    margin-left: 20px;
}

.girl_bubble {
    display: block;
    height: 160px;
    width: 135px;
    background: url(../files/girl_right_bubble.png) no-repeat;
}

.girl_bubble .bubbleContent {
    padding: 1em;
}

.girl_bubble h3 {
    display: inline;
}

.girl_bubble .apptext {
    display: inline;
}

#vie_ftr {
    border-top: 0.4em solid #cc3399;
    margin: 2em 0 0 0;
    padding: 0;
}

#footer_logos {
    border: 0;
    float: right;
    width: 62.5em;
}

#footer_info {
    float: left;
    display: block;
    width: 20%;     /* same as vie_col3 */
    margin: 0.5em 0 0 1em;
    line-height: 1.2em;

    color: #cc3399;
    font-size: 0.8em;
    font-weight: bold;
}

#footer_copyright {
    clear: both;
    display: block;
    padding-top: 1em;
    font-size: 0.8em;
    text-align: center;
}

#footer_copyright .browsers {
    display: block;
    padding-top: 0.2em;
    color: #999;
}

#boxes_right {
    list-style: none;
}

#boxes_right > li {
    width: 100%;
}

#topleftButton {
    outline: none;
}

#topleftButton img {
    width: 100%;
}

#topleftButton:hover {
    background: transparent;    /* override default link style */
}

.gallery .thumbnails {
    padding: 1em 0 0 0;
    margin-left: -0.2em;    /* -(padding of li + border of img) */
}

.gallery .detailImage {
    padding: 1.2em 0 0 0;
    border: 0.2em solid transparent;
    margin-left: -0.2em;
}

.gallery .thumbnails ul {
    padding: 0;
}

.gallery li {
    position: relative;
    display: block;
    float: left;
    overflow: hidden;
    padding: 0.2em 0.1em 0.2em;

    width: 7.5em;

    list-style: none none;
}

.gallery img {
    display: block;
    border: 0;
    width: 7.1em;
}

.gallery img.galleryMain {
    width: auto;
    max-width: 100%;
}

.gallery li img {
    border: 0.2em solid transparent;
    margin-bottom: 0 !important;         /* override #vie-box img */
    vertical-align: inherit !important;  /* override #vie-box img */
}

.gallery .selected img {
    border: 0.2em solid orangered;
}

.gallery .break {
    clear: both;    /* force new line */
}

.gallery img.galleryMain {
    cursor: pointer;
}

.registration h3 {
    padding: 1.5em 0 0.5em 0;
}

.registration .description .fxValueInput {
    width: 100%;
}

.registration .required label:after {
    content: " *";
}

.registration .messages {
    padding: 0.5em 0 1em 0;
}

.registration .formLabelContainer {
    width: 13em;
}

.registration .buttons {
    display: block;
    padding: 1em 0 2em 0;
}

.registration .buttons input[type=button],
.registration .buttons input[type=submit] {
    margin-right: 0.5em;
}

.registration .infoPanel {
    padding: 0.5em;
    margin: 0.5em;
    border: 1px solid #CC3399;
}

.registration .infoPanel p {
    padding-bottom: 0.5em;
}

.registration a {
    text-decoration: underline;
    cursor: pointer;
}

.registration .kategorie td {
    white-space: nowrap;
}

.registration #dateOfBirth img {
    display: none;  /* Hide datepicker button */
}

.confirmation .formInputElement,
.confirmation .inputElement {
    color: #CC3399;
}

.registration .confirmationMessage p {
    padding: 0.5em 0 0.5em 0;
}

.registration .additionalFieldInfo {
    padding-left: 0.3em;
}

.messages {
    display: block;
    padding: 0.5em 0 1em 0;
}

.messages .error {
    color: red;
    font-weight: bold;
}

.messages .warn {
    color: #ff6600;
}

.messages .info {
    color: blue;
}

input[type=button],
input[type=submit] {
    padding: 0.2em 0.75em 0.2em 0.75em;
}


#headerbar {
    position: absolute;
    bottom: 1em;
    left: 0;
    width: 100%;
    overflow: hidden;
}

#headerbar img {
    width: 100%;
    margin-bottom: -1px;    /* work around FF scaling bug */
}

code.errorMessage {
    display: block;
    padding: 1em 0 1em 0.5em;
    font-size: 1.1em;
}

/* Company search styles */
.companyfilter {
    height: 7.5em !important;     /* override normal box height */
    position: relative;

    background-color: #999;
    cursor: pointer;
}

.companyfilter_active {
    background-color: #cb3398;
}

.companyfilter a,
.companyfilter a:hover {
    color: white;
    background-color: transparent;

    text-decoration: none;
    font-weight: bold;
}

/* Category icons */
.companyfilter img,
.companyresult .resultrow .categories img {
    width: 3em !important;
}

.companyfilter img {
    float: right;
    padding: 0.3em 0.3em 0.3em 1em;
}

.companyfilter h3 {
    position: absolute;
    bottom: 0;

    font-size: 1em;
    padding: 0.3em;
}

.companyfilter_all h3 {
    font-size: 1.5em;
}

.companyresult .resultrow {
    clear: right;

    width: 100%;
    padding: 0.8em 0 0.8em 0;
    border-bottom: 1px solid black;
}

.companyresult .resultrow h4 {
    float: left;
}
.companyresult .resultrow .categories {
    float: right;
}

.companyresult .resultrow p {
    clear: left;    /* clear h4 title */
}

.companyresult .resultrow .freeplaces {
    font-weight: bold;
}

.companyresult .resultrow .free_J {
    color: #009900;
}

.companyresult .resultrow .free_N {
    color: #FF0000;
}

.companyresult .resultrow .free_I {
    color: #CC3399;
}

.companyresult .resultrow .free_T {
    color: #CC3399;
}

.companyresult .sort {
    border-top: 1px solid black;
}

.companyresult .sort h2,
.companyresult .sort h3,
.companyresult .sort h4 {
    font-size: 1em;
    padding: 0;
}

.companyresult .sort h3 {
    float: none;
    color: black;
    display: inline;
    font-weight: normal;
}

.companyresult .sort a.active {
    text-decoration: none;
    font-weight: bold;
}

.companyresult .sort ul {
    display: inline;
    padding: 0;
}

.companyresult .sort li {
    display: inline;
    font-weight: normal;
    list-style: none;
}

.companyresult .sort li:after {
    content: "|";
}

.companydetails .address,
.companydetails .info {
    padding: 0 0 1em 0;
}


.companydetails .backlink {
    padding: 2em 0 1em 0;
}

.companydetails h3.registration {
    margin-top: 1em;
}

/* Greeting cards */

.registration .greetingImages input {
    float: left;
    margin-top: 8em;
}

.registration .greetingImages img {
    margin: 1em;
    width: 30em;
    border: 1px solid #333;
    cursor: pointer;
}

.registration .greetingImages label {
    display: none;  /* only for text-mode browsers */
}

/* Company survey form */

.survey h3 {
    padding: 2em 0 0.5em 0;
}

.survey .radioTable {
    margin: 0.5em 0 1em 0;
    border-collapse: collapse;
}

.survey .radioTable .rating th {
    padding: 0.5em;

    font-size: 0.8em;
    font-weight: normal;
    text-align: center;
    vertical-align: bottom;

    border: 1px solid #999;
}

.survey .radioTable .question th {
    font-weight: normal;
    padding: 0.5em;
    border: 1px solid #999;
}

.survey .radioTable tbody td {
    width: 5em;
    text-align: center;
    border: 1px solid #999;
}

.survey .radioButtons {
    margin: 0.5em 0 1em 0;
}

.survey .radioButtons .row {
    padding: 0.1em 0 0.1em 0;
}

.survey label {
    padding: 0 1em 0 0;
}

/* Gewinnspiel */

.upload p {
    padding: 0 0 1em 0;
}

.upload input[type=text] {
    width: 90%;
}


