@font-face { font-family: "fontregular"; src: url("../fonts/roboto-light-webfont.eot"); src: url("../fonts/roboto-light-webfont.eot?#iefix")
format("embedded-opentype"), url("../fonts/roboto-light-webfont.woff2") format("woff2"), url("../fonts/roboto-light-webfont.woff") format("woff"), url("../fonts/roboto-light-webfont.ttf") format("truetype"), url("../fonts/roboto-light-webfont.svg#robotolight") format("svg"); font-weight: normal; font-style: normal; }
@font-face { font-family: "fontitalic"; src: url("../fonts/roboto-lightitalic-webfont.eot"); src: url("../fonts/roboto-lightitalic-webfont.eot?#iefix")
    format("embedded-opentype"), url("../fonts/roboto-lightitalic-webfont.woff2") format("woff2"), url("../fonts/roboto-lightitalic-webfont.woff") format("woff"), url("../fonts/roboto-lightitalic-webfont.ttf") format("truetype"), url("../fonts/roboto-lightitalic-webfont.svg#robotolight_italic")
format("svg"); font-weight: normal; font-style: normal; }
@font-face { font-family: "fontbold"; src: url("../fonts/roboto-bold-webfont.eot"); src: url("../fonts/roboto-bold-webfont.eot?#iefix")
format("embedded-opentype"), url("../fonts/roboto-bold-webfont.woff2") format("woff2"), url("../fonts/roboto-bold-webfont.woff") format("woff"), url("../fonts/roboto-bold-webfont.ttf") format("truetype"), url("../fonts/roboto-bold-webfont.svg#robotobold") format("svg"); font-weight: normal; font-style: normal; }
@font-face { font-family: "fontbolditalic"; src: url("../fonts/roboto-bolditalic-webfont.eot"); src: url("../fonts/roboto-bolditalic-webfont.eot?#iefix")
    format("embedded-opentype"), url("../fonts/roboto-bolditalic-webfont.woff2") format("woff2"), url("../fonts/roboto-bolditalic-webfont.woff") format("woff"), url("../fonts/roboto-bolditalic-webfont.ttf") format("truetype"), url("../fonts/roboto-bolditalic-webfont.svg#robotobold_italic")
format("svg"); font-weight: normal; font-style: normal; }
@font-face { font-family: "fontlight"; src: url("../fonts/roboto-thin-webfont.eot"); src: url("../fonts/roboto-thin-webfont.eot?#iefix")
format("embedded-opentype"), url("../fonts/roboto-thin-webfont.woff2") format("woff2"), url("../fonts/roboto-thin-webfont.woff") format("woff"), url("../fonts/roboto-thin-webfont.ttf") format("truetype"), url("../fonts/roboto-thin-webfont.svg#robotothin") format("svg"); font-weight: normal; font-style: normal; }
@font-face { font-family: "fontmonospace"; src: url("../fonts/firamonoot-regular-webfont.eot"); src: url("../fonts/firamonoot-regular-webfont.eot?#iefix")
    format("embedded-opentype"), url("../fonts/firamonoot-regular-webfont.woff2") format("woff2"), url("../fonts/firamonoot-regular-webfont.woff") format("woff"), url("../fonts/firamonoot-regular-webfont.ttf") format("truetype"), url("../fonts/firamonoot-regular-webfont.svg#fira_mono_otregular")
format("svg"); font-weight: normal; font-style: normal; }
@font-face { font-family: "fonttitle"; src: url("../fonts/Lato-Black.eot"); src: url("../fonts/Lato-Black.eot?#iefix") format("embedded-opentype"), url("../fonts/Lato-Black.woff2") format("woff2"), url("../fonts/Lato-Black.woff") format("woff"), url("../fonts/Lato-Black.ttf") format("truetype"), url("../fonts/Lato-Black.svg#robotobold") format("svg"); font-weight: normal; font-style: normal; }
* { margin: 0px; padding: 0px; box-sizing: border-box; }
html { scroll-padding-top: 50px; }
body { font-family: fontregular, Tahoma, Verdana, sans-serif; font-size: 1em; }
pre { font-family: fontmonospace, monospace; font-size: 0.7em; text-shadow: none; padding: 1em; margin: 1em 0; overflow: auto; }
table.text { margin-bottom: 1em; width: 100%; }
acronym { cursor: help; }
fieldset { border: 1px solid #ccd; padding: 1em; }
fieldset legend { padding-left: 0.5em; padding-right: 0.5em; }
caption,
th { text-align: left; }
address { font-family: fontregular, sans-serif; font-style: normal; color: #99a; }
hr { height: 1px; margin-top: 1em; margin-bottom: 1em; }
th { vertical-align: top; }
.teasing { font-family: fontregular, sans-serif; font-size: 11px; color: #f1f1f1; vertical-align: bottom; text-align: right; padding: 5px; height: 100px; }
.tbl { border: 1px solid #556; border-collapse: collapse; margin-bottom: 1em; width: 100%; }
.tbltitle { font-family: fonttitle, sans-serif; font-size: 1.3em; color: #556; padding: 3px; text-align: left; }
.tblsubtitle { font-family: fonttitle, sans-serif; font-size: 1em; color: #556; padding: 3px; text-align: left; }
.tblcolumntitle { font-family: fontregular, sans-serif; font-size: 1em; padding: 3px; text-align: left; }
.tbltext { font-size: 0.9em; padding: 3px; }
.title { font-family: fonttitle, sans-serif; font-size: 1.8em; margin-top: 0.5em; margin-bottom: 0.5em; }
.subtitle { font-family: fonttitle, sans-serif; font-size: 1.3em; margin-top: 0.5em; margin-bottom: 0.5em; }
.text { font-size: 1em; line-height: 1.5em; }
.textcolumntitle,
.texttext { padding: 3px 0; }
.form { font-family: fontregular, sans-serif; font-size: 1em; padding-top: 0.2em; padding-bottom: 0.2em; margin-right: 5px; box-sizing: border-box; outline: none; appearance: none; -webkit-appearance: none; -moz-appearance: none; }
.form_input { border-radius: 3px; padding: 0.2em 3px; }
.form_btn { font-size: 1em; line-height: 1.8em; padding: 0 1em; border-radius: 3px; box-shadow: 2px 2px 2px 1px rgba(0, 0, 0, 0.2); }
.form_btn:hover { cursor: pointer; }
.form_btn:active { transform: translate(2px, 2px); box-shadow: none; }
.form_file { font-size: 1em; height: 30px; padding-left: 5px; padding-right: 5px; }
.form_radio,
.form_checkbox { margin-right: 5px; width: 0.85em; height: 0.85em; border-radius: 3px; }
.form_select { height: 30px; }
.form_select:not([multiple]) { height: 1.9em; text-overflow: ellipsis; max-width: 100%; padding: 0 2em 0 0.5em; border-radius: 3px; background-repeat: no-repeat, repeat; background-position: right 0.3em top 50%, 0 0; background-size: 0.65em auto, 100%; }
.form_select[multiple] { padding: 3px; border: 1px solid #efebf2; border-radius: 3px; cursor: pointer; color: #556; }
.form_textarea { resize: none; background-attachment: local; line-height: 22px; font-family: monospace; border-radius: 3px; padding: 0.2em 3px; }
.form_select optgroup { font-family: inherit; }
.form_fieldset { margin-bottom: 0.5em; border-radius: 3px; }
.error ul { list-style: none; list-style-type: none; }
.error ul li { padding-left: 20px; background: url(../graphics/ico_error.gif) no-repeat; line-height: 16px; margin-bottom: 1em; }
.warn { border: 5px solid #556; background-color: #efebf2; margin-top: 1em; margin-bottom: 1em; color: #889; }
.warn ul { list-style: none; list-style-type: none; }
.warn ul li { padding-left: 20px; background: url(../graphics/icon_warning.png) no-repeat; line-height: 16px; margin-bottom: 1em; }
.svgicon { fill: #556; }
.bold { font-weight: bold; }
.italic { font-style: italic; }
.underline { text-decoration: underline; }
.link::after { font-family: IcoFont; font-size: 0.7em; content: "\ef1f"; margin-left: 0.3em; text-decoration: none; display: inline-block; }
ul.text,
.text ul { list-style: none; list-style-type: none; margin: 1em; }
ul.text li,
.text ul li { margin-bottom: 0.3em; }
ul.text li:before,
.text ul li:before { font-family: IcoFont; content: "\eab8"; margin-left: -1em; }
ol.text,
.text ol { margin-top: 8px; }
ol.text li,
.text ol li { margin-bottom: 0.3em; }
p.text { margin-bottom: 1em; }
.image { margin-bottom: 1em; }
.image_right { margin-left: 1em; margin-bottom: 1em; }
.image_left { margin-right: 1em; margin-bottom: 1em; }
.pagenavigator,
.link_btn { display: inline-block; background-color: #efebf2; color: #889; line-height: 1.5em; font-size: 1em; padding: 3px; padding-left: 1em; padding-right: 1em; text-decoration: none; border: 1px solid #efebf2; margin-right: 0.3em; margin-bottom: 0.3em; }
.pagenavigator:hover,
.link_btn:hover { text-decoration: none; background-color: #556; color: #eef; cursor: pointer; }
.pagenavigator_active { background-color: #99a; color: #eef; }
.warning { color: #556; font-size: 1em; border: 4px solid #556; padding: 5px; padding-left: 100px; margin-top: 1em; margin-bottom: 1em; background: #dad3e0 url(../graphics/bg_warning.png) no-repeat 10px 10px; }
.warning .link { color: #b65b14; text-decoration: underline; }
.definitionlist { padding: 1em; }
.term { padding-left: 15px; margin-bottom: 5px; }
.definition { padding-left: 15px; margin-bottom: 15px; color: #9a9a9a; }
.term:hover { cursor: pointer; text-decoration: underline; }
.term_closed { background: url(../graphics/ico_node_closed.gif) no-repeat 0px 5px; }
.term_open { background: url(../graphics/ico_node_open.gif) no-repeat 0px 5px; }
@media (prefers-color-scheme:light) {
    body { background-color: #eee8f0; color: #556; }
    pre.text { color: #eef; background-color: #556; border: 1px solid #61605b; }
    acronym { border-bottom: 1px dotted #556; }
    hr { background-color: #556; color: #556; border: #556; }
    .head { background-color: #556; }
    .head #mobile svg { fill: #ccd; }
    .logo svg { fill: #efebf2; }
    .teaser { opacity: 1; }
    .main { background-color: #f8f5fa; }
    .desktop { background: #efebf2; }
    .desktop .menu { background-color: #f8f5fa; }
    .desktop .menu ul li a { background-color: #efebf2; color: #556; }
    .desktop .menu ul li a:hover { background-color: #556; color: #f8f5fa; }
    pre { background-color: #efebf2; }
    .content .two_col > div { background-color: #efebf2; }
    .text { color: #556; }
    .tblcolumntitle { color: #f8f5fa; border: 1px solid #556; background-color: #556; }
    .tblcolumntitle .link { color: #f8f5fa; }
    .tbltext { color: #556; background-color: #efebf2; border: 1px solid #556; }
    .link { color: #556; }
    .link:hover { color: #887; }
    .news_teaser_entry { background-color: #efebf2; color: #889; }
    .news_teaser_entry:hover svg { fill: #efebf2; }
    .news_teaser_entry:hover { background-color: #556; color: #efebf2; }
    .form { border: 1px solid #efebf2; background-color: #fff; color: #556; }
    .form_input { border: 1px solid #efebf2; }
    .form:focus { background-color: #fff; }
    .form_select:not([multiple]) { color: #556; border: 1px solid #efebf2; background-color: #efebf2; background-image: url("data:image/svg+xml; charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22292.4%22%20height%3D%22292.4%22%3E%3Cpath%20fill%3D%22%23000%22%20d%3D%22M287%2069.4a17.6%2017.6%200%200%200-13-5.4H18.4c-5%200-9.3%201.8-12.9%205.4A17.6%2017.6%200%200%200%200%2082.2c0%205%201.8%209.3%205.4%2012.9l128%20127.9c3.6%203.6%207.8%205.4%2012.8%205.4s9.2-1.8%2012.8-5.4L287%2095c3.5-3.5%205.4-7.8%205.4-12.8%200-5-1.9-9.2-5.5-12.8z%22%2F%3E%3C%2Fsvg%3E"); }
    .form_select:not([multiple]):hover { border: 1px solid #efebf2; background-color: #efebf2; color: #556; }
    .form_radio:checked,
    .form_checkbox:checked { background-color: #ccd; }
    .form_btn { border: 1px solid #efebf2; background-color: #efebf2; color: #556; fill: #556; }
    .form_btn:hover { }
    .form_file { border: 1px solid #efebf2; background-color: #efebf2; color: #556; }
    .form_fieldset legend { color: #556; }
    .form_textarea { background-image: repeating-linear-gradient(transparent, transparent 21px, rgba(0, 0, 0, 0.1) 21px, rgba(0, 0, 0, 0.1) 22px); }
    .pagenavigator,
    .link_btn { background-color: #efebf2; color: #889; border: 1px solid #efebf2; }
    .pagenavigator:hover,
    .link_btn:hover { background-color: #556; color: #eef; }
    .pagenavigator_active { background-color: #99a; color: #eef; }
    .footer > div > div:not(:last-child) a { color: #99a; border-bottom: 1px dotted #556; }
    ul.text li:before,
    .text ul li:before { color: #99a; }
}
@media (prefers-color-scheme:dark) {
    body { background-color: #556; color: #eee8f0; }
    pre.text { color: #778; background-color: #334; border: 1px solid #556; }
    acronym { border-bottom: 1px dotted #aab; }
    hr { background-color: #eee8f0; color: #eee8f0; border: #eee8f0; }
    .head { background-color: #889; }
    .head #mobile svg { fill: #334; }
    .logo svg { fill: #334; }
    .teaser { opacity: 0.7; }
    .main { background-color: #445; }
    .desktop { background: #778; }
    .desktop .menu { background-color: #445; }
    .desktop .menu ul li a { background-color: #778; color: #ccd; }
    .desktop .menu ul li a:hover { background-color: #99a; color: #dde; }
    pre { background-color: #484859; }
    .content .two_col > div { background-color: #484859; }
    .title,
    .subtitle { color: #ccd; }
    .text { color: #aab; }
    .tblcolumntitle { color: #f8f5fa; background-color: #556; border: 1px solid #556; }
    .tblcolumntitle .link { color: #f8f5fa; }
    .tbltext { color: #eef; background-color: #484859; border: 1px solid #556; }
    .link { color: #bbc; }
    .link:hover { color: #ccd; }
    .news_teaser_entry { background-color: #778; color: #ccd; }
    .news_teaser_entry:hover svg { fill: #ccd; }
    .news_teaser_entry:hover { background-color: #99a; color: #dde; }
    .form { border: 1px solid #445; background-color: #484859; color: #cce; }
    .form_input { border: 1px solid #556; }
    .form:focus { outline: 5px solid rgba(255, 255, 0, 0.5); }
    .form_select:not([multiple]) { color: #cce; border: 1px solid #556; background-color: #445; background-image: url("data:image/svg+xml; charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22292.4%22%20height%3D%22292.4%22%3E%3Cpath%20fill%3D%22%23ccd%22%20d%3D%22M287%2069.4a17.6%2017.6%200%200%200-13-5.4H18.4c-5%200-9.3%201.8-12.9%205.4A17.6%2017.6%200%200%200%200%2082.2c0%205%201.8%209.3%205.4%2012.9l128%20127.9c3.6%203.6%207.8%205.4%2012.8%205.4s9.2-1.8%2012.8-5.4L287%2095c3.5-3.5%205.4-7.8%205.4-12.8%200-5-1.9-9.2-5.5-12.8z%22%2F%3E%3C%2Fsvg%3E"); }
    .form_select:not([multiple]):hover { border: 1px solid #556; background-color: #667; }
    .form_radio:checked,
    .form_checkbox:checked { background-color: #ccd; }
    .form_btn { border: 1px solid #556; background-color: #556; color: #cce; fill: #cce; }
    .form_btn:hover { background-color: #667; }
    .form_file { border: 1px solid #556; background-color: #223; color: #cce; }
    .form_fieldset legend { color: #556; }
    .form_textarea { border: 1px solid #556; background-image: repeating-linear-gradient(transparent, transparent 21px, rgba(255, 255, 255, 0.1) 21px, rgba(255, 255, 255, 0.1) 22px); }
    .pagenavigator,
    .link_btn { background-color: #667; color: #bbc; border: 1px solid #667; }
    .pagenavigator:hover,
    .link_btn:hover { background-color: #556; color: #eef; }
    .footer > div > div:not(:last-child) a { color: #99a; border-bottom: 1px dotted #667; }
}
@keyframes show-menu {
    0% { visibility: visible; }
    1% { top: -100vh; }
    100% { top: 40px; }
}
@keyframes hide-menu {
    0% { top: 40px; }
    99% { top: -100vh; }
    100% { visibility: hidden; }
}
@media (min-width:320px) {
    .head { position: sticky; top: 0px; width: 100%; height: 40px; z-index: 10; }
    .head .logo { position: absolute; top: 9px; left: 10px; }
    .head #mobile { position: absolute; display: block; right: 10px; top: 5px; width: 30px; height: 30px; }
    .teaser { display: flex; position: relative; width: 100%; height: 100px; background: url(../graphics/teaser_fbis.jpg) no-repeat center; background-size: cover; }
    .teaser > div { flex: 1 1 auto; font-size: 0.7em; padding: 3em 1em; text-align: right; color: rgba(240, 240, 255, 0.7); text-shadow: 2px 2px 1px rgba(0, 0, 0, 0.8); }
    .desktop,
    .head #topmenu { display: none; }
    #menu { position: fixed; top: -100vh; width: 100vw; display: block; z-index: 4; max-height: calc(100vh - 50px); overflow-y: auto; }
    #menu > div { background-color: rgba(85, 85, 102, 0.9); }
    #menu > div > a { display: block; padding-left: 0.3em; font-size: 1.1em; text-decoration: none; line-height: 2.5em; border-bottom: 1px dotted #fff; }
    #menu.show { animation: show-menu 0.5s ease-in; animation-fill-mode: forwards; }
    #menu.hide { animation: hide-menu 0.5s ease-out; animation-fill-mode: forwards; }
    #menu .active { color: #fff; }
    #menu .inactive { color: #fff; }
    .main { width: 100%; height: auto; scroll-padding-top: 40px; padding-bottom: 2em; }
    .content { position: relative; margin: 0.5em; }
    .content .two_col,
    .content .two_col > div { display: inline-block; width: 100%; transition: scale ease-in-out 0.2s; }
    .content .two_col > div:hover { scale: 1.05; box-shadow: 0.2em 0.2em 1em rgba(0, 0, 0, 0.2); }
    .content .two_col .title { font-size: 1.1em; }
    .content .two_col ul.text { font-size: 0.9em; }
    .content .two_col > div { margin-bottom: 0.5em; }
    .content .two_col > div > div { margin: 1em; }
    .news_teaser { position: relative; display: flex; flex-direction: column; margin-top: 2px; width: 100%; }
    .news_teaser_entry { display: block; flex: 0 0 100%; height: auto; text-decoration: none; font-size: 0.9em; transition: all ease-in-out 0.2s; margin-bottom: 1px; }
    .news_teaser_entry > div { margin: 0.5em 1em; }
    .footer { position: relative; width: 100%; font-size: 0.9em; color: #99a; }
    .footer > div { display: flex; flex-direction: column; width: 100%; padding-bottom: 5em; font-size: 0.9em; color: #99a; }
    .footer > div > div:not(:last-child) a { display: block; font-size: 1em; text-decoration: none; padding: 0.5em 0.5em; }
    .footer address { font-size: 1em; text-align: center; margin-top: 1em; }
    .footer > div > div:last-child { font-size: 0.8em; text-align: center; margin-top: 1em; }
    .footer > div > div:last-child a { display: inline-block; text-decoration: none; }
}
@media (min-width:700px) {
    .content { position: relative; margin: 1.5em; }
    .content .two_col { display: flex; flex-direction: row; flex-wrap: wrap; }
    .content .two_col .title { font-size: 1.2em; }
    .content .two_col ul.text { font-size: 1em; }
    .content .two_col > div { margin-bottom: 1em; }
    .content .two_col > div > div { margin: 1em 2em; }
    .content .two_col .col1 { margin-right: 2%; }
    .content .two_col .col1,
    .content .two_col .col2 { flex: 0 0 49%; }
}
@media (min-width:1000px) {
    .head { position: sticky; top: 0px; width: 100%; height: 50px; z-index: 1; }
    .head > div { position: relative; width: 950px; height: auto; margin-left: auto; margin-right: auto; }
    .head .logo { position: absolute; top: 13px; left: 0px; }
    .head #mobile { display: none; }
    .main { width: 100%; height: auto; scroll-padding-top: 50px; }
    .main > div { position: relative; width: 950px; height: auto; margin-left: auto; margin-right: auto; }
    .teaser { height: 200px; }
    .teaser > div { font-size: 1.3em; padding: 3em; }
    .head #topmenu { display: block; position: absolute; right: 0px; height: auto; width: 850px; text-align: right; opacity: 0; -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; transition: opacity 0.5s; display: none; }
    .head #topmenu ul { list-style: none; list-style-type: none; }
    .head #topmenu ul li { float: right; }
    .head #topmenu ul li a { display: block; font-family: fontbold; font-size: 1em; padding-left: 1em; line-height: 50px; text-decoration: none; }
    .head #topmenu ul li a:hover { color: #fff; }
    .topmenu_start,
    .topmenu_right,
    .topmenu_end { border: 1px solid transparent; }
    .topmenu_active { color: #eef; }
    .topmenu_inactive { color: #eef; }
    .desktop { display: block; position: relative; width: 100%; height: auto; margin-top: 2px; }
    .desktop .menu { display: table-cell; }
    .desktop .menu ul { list-style: none; list-style-type: none; background-color: none; }
    .desktop .menu ul li { float: left; }
    .desktop .menu ul li a { display: block; padding: 0.3em 1.3em; line-height: inherit; font-family: fontbold, Tahoma, Verdana, sans-serif; font-size: 1em; text-decoration: none; margin-right: 2px; }
    .menu_start,
    .menu_right,
    .menu_end { border: 1px solid transparent; }
    .menu_active { color: #556; }
    .menu_inactive { color: #556; }
    .services ul { list-style: none; list-style-type: none; }
    .services ul li { float: left; }
    .services ul li a { display: block; font-family: fontregular, Tahoma, Verdana, sans-serif; background: #efebf2; font-size: 1em; padding: 0.3em; padding-left: 1.3em; padding-right: 1.3em; text-decoration: none; margin-right: 2px; }
    .services ul li a:hover { background-color: #556; color: #f8f5fa; }
    .service_start,
    .service_right,
    .service_end { border: 1px solid transparent; }
    .service_active { color: #556; }
    .service_inactive { color: #556; }
    .news_teaser { position: relative; display: flex; flex-direction: row; margin-top: 2px; }
    .news_teaser_entry { display: block; flex: 1 1 0px; height: auto; text-decoration: none; font-size: 0.9em; transition: all ease-in-out 0.2s; }
    .news_teaser_entry:hover { transform: scale(1.05); z-index: 2; }
    .news_teaser_entry > div { margin: 1em; }
    .news_teaser_entry:not(:last-child) { margin-right: 2px; }
    .content { position: relative; width: 100%; height: auto; margin: 0; }
    .footer { position: relative; width: 950px; padding-top: 1em; padding-bottom: 5em; color: #99a; margin-left: auto; margin-right: auto; }
    .footer > div { display: flex; flex-direction: row; align-content: stretch; width: 100%; margin: 0 auto 0 auto; }
    .footer > div > div { flex: 1 1 auto; padding-top: 3px; }
    .footer > div > div:last-child { font-size: 0.8em; text-align: right; margin: 0; }
    .footer > div > div:not(:last-child) a { border: none; padding: 0; }
    .footer a { color: #99a; text-decoration: none; padding: 0; }
    .footer address { font-size: 0.8em; text-align: left; margin: 0; }
}
