/*** RESET *******************************************************************/

body { margin: 0; border: none; padding: 0; font-size: 100%; }
main, header, article, aside, section, nav, footer, figure, figcaption { display: block; width: auto; }
main, header, article, aside, section, nav, footer, figure, figcaption,
div, h1, h2, p, img, ul, ol, li, dl, dt, dd,
table, thead, tbody, tfoot, tr, th, td,
form, fieldset, legend, input, label, select, option,
span, em, strong, i, b, address, cite, abbr, kbd, a, a:link, a:active, a:visited,
br { margin: 0; border: none; padding: 0; font: inherit; line-height: 1em; vertical-align: baseline; color: inherit; text-decoration: inherit; }
table { table-layout: auto; border-spacing: 0; border-collapse: collapse; empty-cells: show; }

/*** GENERIC TEXT ************************************************************/

body { font-family: "Helvetica Neue", "Liberation Sans", Arial, sans-serif; font-weight: 400; }

h1 { font-size: 1.5em; line-height: 1em; margin-bottom: 1em; }
h2 { font-size: 1.25em; line-height: 1.2em; margin-bottom: 1.2em; }
h2 { font-size: 1em; line-height: 1.5em; margin-bottom: 1.5em; }
section > h1 { font-size: 1.25em; line-height: 1.2em; margin-bottom: 1.2em; }
section > section > h1 { font-size: 1em; line-height: 1.5em; margin-bottom: 1.5em; }
p, li, dt, dd { font-size: 1em; line-height: 1.5em; }

p, ul, ol, dl { margin-bottom: 1.5em; }
dd + dt { margin-top: 1.5em; }

ul p, ul ul, ul ol, ul dl,
ol p, ol ul, ol ol, ol dl { margin-bottom: 0em; }

h1, h2 { font-weight: 600; }

ul, ol, dd { padding-left: 1.5em; }
ul, ol { list-style-position: outside; }
ul { list-style-type: disc; }
ul ul { list-style-type: circle; }
ul ul ul { list-style-type: square; }
ol { list-style-type: decimal; }
ol ol { list-style-type: lower-latin; }
ol ol ol { list-style-type: lower-greek; }

a:hover { text-decoration: underline; }
cite, abbr, i { font-style: italic; }
strong, em, b, kbd { font-weight: 600; }

body { color: #444; background-color: #fff; accent-color: #69b; }
a, a:link, a:active, a:visited { color: #26b; }

body { padding: 1em; }

article > img, section > img { display: block; margin: 0 auto 1.5em auto; }

/*** TABLE *******************************************************************/

table { margin: 0 auto 1.5em auto; min-width: 100%; }
th, td { border-width: 1px; border-style: solid; line-height: 1.5em; padding: 0.75em 0.75em 0.75em 0.75em; }
th, td { vertical-align: middle; } /* without vertical-align Firefox computes empty cell height wrong */
th { text-align: center; }
td { text-align: left; }
table { margin-top: -1px; } /* border compensation */
th, td { padding-top: calc(0.75em - 1px); } /* border compensation */

/*** HEADER & FOOTER *********************************************************/

body > header {	font-variant: small-caps; text-transform: lowercase; letter-spacing: 2px; }
body > header > nav > ul { padding-left: 0; }
body > header > nav > ul > li { list-style-type: none; }
body > header > nav.portal-menu { font-size: 0.9em; font-style: italic; }
body > header > nav.portal-menu > ul > li + li { display: none; }
body > header > nav.portal-menu a { color: #9bd; }
body > header > h1 > a, body > header > h1 > a:link, body > header > h1 > a:active, body > header > h1 > a:visited { text-decoration: none; color: inherit; }
body > header > nav.portal-menu ul { margin-bottom: 0em; }
body > header > h1 { margin-bottom: 0.125em; margin-top: 0.125em; }

body > footer { font-size: 0.75em; text-align: center; margin-top: 5em; color: #888; font-variant: small-caps; }
body > footer img.si-logo { padding-bottom: 0.5em; border-bottom: 1px solid #ddd; }
body > footer a, body > footer a:link, body > footer a:active, body > footer a:visited { color: inherit; }

nav.language-menu { position: absolute; right: 20px; top: 20px; font-variant: small-caps; letter-spacing: 2px; font-size: 0.75em; color: #9BD; }
nav.language-menu li { list-style-type: none; text-align: right; margin-bottom: 5px; }

@media all and (min-width: 820px) {
    
    body { padding: 0; margin-top: 50px; margin-bottom: 50px; text-align: center; }
    body > header { margin: 0 auto; }
    body > header > nav.portal-menu { font-size: 1em; }
    body > header > nav.portal-menu > ul > li { display: inline; }
    body > header > nav.portal-menu > ul > li + li { display: inline; margin-left: 1em; }
    body > header > h1 { font-size: 2.5em; font-weight: normal; }
    body > header > nav.application-menu { font-size: 1.25em; }
    body > header > nav.application-menu > ul > li { display: inline; }
    body > header > nav.application-menu > ul > li + li { display: inline; margin-left: 1em; }
    body > main { max-width: 800px; margin: 0 auto; padding: 0; text-align: justify; }

    ul.keyword-index, ul.title-index { column-count: 3; column-gap: 2em; text-align: left; }
    section#abkuerzungsverzeichnis ul { column-count: 3; text-align: left; }
    article.dow p.source-description + p.source-description { padding-left: 6em; padding-right: 6em; }
	
}

/*** FORM ********************************************************************/

form { border: 1px solid #EEE; padding: 1em; text-align: center; margin-bottom: 1.5em; }
form fieldset { display: block; }
form fieldset + fieldset { margin-top: 1em; }
form fieldset > * { display: inline; vertical-align: middle; }
form input.text-field { max-width: 240px; height: 32px; margin: 0px; border: 1px solid #BBB; padding: 2px; /* Opera8 ignores it anyway */ font-size: 20px; line-height: 26px; box-sizing: border-box; -ms-box-sizing: border-box; -moz-box-sizing: border-box; -webkit-box-sizing: border-box; }
form input.submit-button, form input.options-button, form input.keyboard-button { width: 32px; height: 32px; margin: 2px; border: none; padding: 0; padding-left: 32px; /* works for IE6, but Opera 8 & 9 does it its own way */ font-size: 0px; /* works for FF */ }
form input.submit-button { background: url('/dow/search-button.png'); /* IE 7 */ background-image: url('/dow/search-button.png'); }
form input.radio-input + label { margin-left: .25em; }
form label + input.radio-input { margin-left: 1em; }
form fieldset#expression-fieldset label { display: none; }
form fieldset#options-fieldset { font-size: 0.75em; }
datalist#expression-text-input-dynamic-list { display: none; }

/*** DOW ***************************************************/

article.query-results p.message { padding: 0.5em; background-color: #cde; text-align: center; }
article.query-results p.previous, article.query-results p.next { font-variant: small-caps; }
article.query-results p.previous { margin-bottom: 0.5em; }
article.query-results p.previous::before { content: '« '; }
article.query-results p.next { margin-top: 0.5em; }
article.query-results p.next::after { content: ' »'; }
article.query-results ol.dow-results li { list-style-type: none; }
article.query-results ol.dow-results span.description { font-size: 0.75em;  font-style: italic; }

p.copyright-notice { font-size: 0.75em; color: #AAA; }

article.dow i { font-style: italic; }

a.soblex-hsb { color: #333; }
a.soblex-hsb:hover { text-decoration: underline dotted; }

article.dow p.source-description { padding: 0.5em; background-color: #cde; text-align: center; }
article.dow p.source-description + p.source-description { font-size: 0.75em; margin-top: -2.5em; margin-bottom: 2em; }

article.dow section.lemma span.form { font-size: 1.5em; color: #26b; font-weight: bold; margin-right: .5em; }
article.dow section.compound, article.dow nav.compounds { border-top: 1px dotted #888; padding-top: 1.5em; }
article.dow section.sense { margin-left: 2em; }
article.dow section.sense span.counter { font-weight: bold; }

/*** OTHER *******************************************************************/

p#status-message { color: #faa; position: fixed; top: 0; right: 0; margin: 0.25em; background-color: rgba(255, 255, 255, 0.75); padding: 0.1em 0.25em; }
img.book-page { border: 1px solid #666; } 

li.search-example { font-style: italic; }
li.search-example em { font-weight: inherit; background-color: #FF8; }

p.quoted-dictionary-entry { margin-left: 2em; }

/*****************************************************************************/
