/**
 * ISRI Site - Main Stylesheet
 * Merged and centralized from legacy TYPO3/Bitrix CSS files
 */

/* ==========================================================================
   CSS Custom Properties (Theme)
   ========================================================================== */
:root {
    --accent-color: #ff8c00;
    --font-family: Verdana, Arial, Helvetica, sans-serif;
}

/* ==========================================================================
   General / Reset
   ========================================================================== */
* { font-family: var(--font-family); font-size: 13px; }
html { margin: 0; height: 100%; }
body { margin: 0; height: 100%; }
img { border: 0; }

/* Clearfix */
.clearfix:after { content: "."; display: block; height: 0; clear: both; visibility: hidden; }
.clearfix { display: block; }

/* ==========================================================================
   Page Layout
   ========================================================================== */
.page {
    width: 995px;
    margin: 0;
    padding-top: 120px;
    position: relative;
    font-family: var(--font-family);
    font-size: 13px;
}

.body-left { float: left; width: 231px; margin: 0 1px 0 0; overflow: hidden; }
.body-center { float: left; width: 739px; border-bottom: 0 solid white; padding: 0 12px 40px 12px; overflow: hidden; }
.body-footer { clear: both; padding: 40px 12px 0; text-align: right; }

/* Logo */
.logo { position: absolute; top: 0; left: 0; margin: 45px 0 0 15px; width: 120px; height: 50px; }
.logo a { display: block; width: 120px; height: 50px; }
.logo a span { display: none; }
.print-logo { display: none; }

/* ==========================================================================
   Main Menu
   ========================================================================== */
.mainmenu { margin: 0 12px 0 17px; padding: 133px 0 0 0; width: 202px; overflow: hidden; }
.mainmenu ul { margin: 0; padding: 0; list-style: none; }
.mainmenu ul li { margin: 0; padding: 0; }
.mainmenu ul li a { display: block; text-decoration: none; color: #000; font-size: 11px; font-weight: normal; padding: 1px 8px; }
.mainmenu ul li a:hover { font-weight: bold; }
.mainmenu ul.depth0 li { margin: 0 0 8px 0; }
.mainmenu ul.depth0 li a { font-weight: normal; }
.mainmenu ul.depth0 li.on a,
.mainmenu ul.depth0 li a:hover { font-weight: bold; }

.mainmenu ul.depth0 li ul.depth1 { margin: 8px 0 0 8px; padding: 8px 0; }
.mainmenu ul.depth0 li ul.depth1 li { padding: 0 0 0 24px; margin: 0 0 4px 0; }
.mainmenu ul.depth0 li ul.depth1 li a { font-weight: normal; }
.mainmenu ul.depth0 li ul.depth1 li a:hover { background-color: #ccc; }

.mainmenu ul.depth0 li ul.depth1 li ul.depth2 { padding: 8px 0; }
.mainmenu ul.depth0 li ul.depth1 li ul.depth2 li { padding: 0 0 0 20px; }

.mainmenu ul.depth0 li ul { display: none; }
.mainmenu ul.depth0 li.on ul { display: block; }
.mainmenu ul.depth0 li ul.depth1 li ul { display: none; }
.mainmenu ul.depth0 li ul.depth1 li.on ul { display: block; }

.mainmenu ul li a { background-color: #ccc; }
.mainmenu ul li ul { background-color: #fff; }
.mainmenu ul li ul li a { background-color: #fff; }
.mainmenu ul li ul li ul li a { background-color: #fff; }

/* Dropdown submenu */
.dropdown-icon {
    font-size: 14px;
    margin-left: -5px;
    transition: transform 0.3s ease;
}

/* ==========================================================================
   Breadcrumb
   ========================================================================== */
.breadcrumb { position: absolute; top: 0; left: 0; margin: 51px 0 0 245px; font-size: 10px; color: #000; white-space: nowrap; }
.breadcrumb a,
.breadcrumb span { font-size: 10px; text-decoration: none; color: #000; }

/* ==========================================================================
   Top Menu
   ========================================================================== */
.topmenu { position: absolute; top: 10px; left: 0; margin: 0 0 0 245px; }
.topmenu hr { display: none; }
.topmenu ul { margin: 0; padding: 0; list-style: none; }
.topmenu ul li { display: block; float: left; width: 80px; margin: 0; padding: 1px 0 0 0; }
.topmenu ul li.first { border: 0; }
.topmenu ul li.last { margin: 0 0 0 660px; text-align: right; position: absolute; top: 0; left: 0; }
.topmenu ul li a { display: block; width: 80px; font-size: 11px; color: #000; text-decoration: none; }
.topmenu ul li a:hover,
.topmenu ul li.on a { font-weight: bold; }

/* ==========================================================================
   Content Area
   ========================================================================== */
.body-center * { font-size: 11px; line-height: 150%; }
.body-center p { text-align: justify; }
.body-center hr { display: none; }
.body-center h1 { font-size: 14px; }
.body-center h2 { font-size: 12px; }
.body-center h3 { font-size: 11px; }
.body-center ul { margin-left: 0; padding-left: 0; }
.body-center ul li { margin: 0 0 0 14px; padding: 0; }
.body-center a { color: var(--accent-color); text-decoration: none; }
.body-center a:hover { text-decoration: underline; }

.body-center table.contenttable p { line-height: 150%; margin: 0; padding: 0; text-align: center; }
.body-center table.contenttable ul { margin-top: 0; margin-bottom: 0; }
.text-indicator { float: left; margin: 4px 8px 0 0; }
.body-center a.download img,
.body-center a.media img { border: 0; margin-right: 4px; }

/* Box styles */
.body-center .box { background: #f2f2f2; position: relative; }
html>body .body-center .box { margin-bottom: 25px; }
.body-center .box .cbody { padding: 8px; }
.body-center .box .cbody h1 { margin: 0 0 0.5em 0; }
.body-center .box .cbody h2 { margin: 0 0 0.5em 0; color: var(--accent-color); }
.body-center .box .cbody span.important a { position: absolute; display: block; bottom: 0; right: 0; margin-bottom: -1.8em; background: black; padding: 2px 4px 2px 20px; color: white; font-weight: bold; }
.body-center .box .cbody span.important a:hover { text-decoration: none; }
.body-center .box-big { margin: 25px 0 3.6em 0 !important; clear: both; }
.body-center .box-small-left { width: 231px; float: left; margin-right: 25px; }
.body-center .box-small-right { width: 231px; float: right; margin-right: 0; }
.body-center .content-element { clear: both; }

.zelle-hintergrund-1 { background-color: #eeeeee; }
.zelle-hintergrund-orange { background-color: var(--accent-color); }

/* ==========================================================================
   Alignment Helpers
   ========================================================================== */
.align-left { text-align: left; }
.align-center { text-align: center; }
.align-right { text-align: right; }

/* ==========================================================================
   Mailform
   ========================================================================== */
.body-center fieldset { border: 0 !important; margin: 0; padding: 0; }
.body-center .csc-mailform .csc-mailform-field fieldset#mailformFachbereiche { padding-bottom: 10px; }
.body-center .csc-mailform .csc-mailform-field fieldset#mailformFachbereiche label { display: inline !important; float: none; }
.body-center .csc-mailform { border: 0 !important; margin: 0; padding: 0; }
.body-center .csc-mailform .csc-mailform-field,
.body-center .csc-mailform .csc-mailform-label { margin: 0; padding: 4px 0; clear: both; }
.body-center .csc-mailform .csc-mailform-label { margin-top: 1em; }
.body-center .csc-mailform .csc-mailform-field label { display: block; float: left; width: 10em; }
.body-center .csc-mailform input { width: 260px; }
.body-center .csc-mailform input.csc-mailform-check { width: auto; }
.body-center .csc-mailform input.csc-mailform-radio { width: auto; }
.body-center .csc-mailform textarea { width: 260px; height: 120px; font-size: 11px; color: #003071; }
.body-center .csc-mailform .csc-mailform-submit { width: auto; margin: 1em 0 0 10em; }
.body-center .csc-mailform h2 { border-bottom: 1px solid #666; padding-bottom: 4px; }

.csc-mailform #mailformIm_interested_in { width: 260px; }
.csc-mailform .check { padding-left: 110px; }
.csc-mailform .check label { float: right; width: 350px; text-align: left; }
.csc-mailform .check input { border: none; padding: 0; float: left; }

/* Contact form */
#c2274 .content-element, #c2349 .content-element { clear: none; }
#c2274 .zelle-hintergrund-1 a, #c2349 .zelle-hintergrund-1 a { color: black; text-decoration: none; }
.falkplaner .form_grau_50 { width: 50px; }
.falkplaner .form_grau_90 { width: 90px; }
.falkplaner .form_grau_130 { width: 130px; }

/* ==========================================================================
   Form Input Styling
   ========================================================================== */
input, textarea {
    padding: 9px;
    border: solid 1px #E5E5E5;
    outline: 0;
    font: normal 13px/100% Verdana, Tahoma, sans-serif;
    width: 200px;
    background: #FFFFFF;
    box-shadow: rgba(0,0,0, 0.1) 0px 0px 8px;
}

textarea {
    width: 400px;
    max-width: 400px;
    height: 150px;
    line-height: 150%;
}

input:hover, textarea:hover,
input:focus, textarea:focus {
    border-color: #C9C9C9;
    box-shadow: rgba(0, 0, 0, 0.15) 0px 0px 8px;
}

.form label { margin-left: 10px; color: #999999; }

.submit input {
    width: auto;
    padding: 9px 15px;
    background: #617798;
    border: 0;
    font-size: 14px;
    color: #FFFFFF;
    border-radius: 5px;
}

/* ==========================================================================
   News
   ========================================================================== */
.news-list-container { padding: 1em 0 0 0; }
.news-list-container .news-list-item { margin-bottom: 2em; clear: both; }
.news-list-container .news-list-item .news-list-date { color: inherit; font-size: inherit; font-weight: normal; display: block; }
.news-list-container .news-list-item h2 { margin-bottom: 0; }
.news-list-container .news-list-item h2 a { font-size: 12px; }
.news-list-container .news-list-item img { float: left; margin: 0.1em 10px 0 0; }
.news-list-container .news-list-item p { margin: 0.1em 0 0 0; }
.news-list-container .news-list-item .news-list-category { display: none; }

.news-latest-container .news-latest-gotoarchive { text-align: right; }
.news-latest-container .news-latest-item { margin-bottom: 2em; clear: both; }
.news-latest-container .news-latest-item .news-latest-date { color: inherit; font-size: inherit; font-weight: normal; display: block; }
.news-latest-container .news-latest-item h2 { margin-bottom: 0; }
.news-latest-container .news-latest-item h2 a { font-size: 12px; }
.news-latest-container .news-latest-item img { float: left; margin: 0.1em 10px 0 0; }
.news-latest-container .news-latest-item p { margin: 0.1em 0 0 0; }
.news-latest-container .news-latest-item .news-latest-category { display: none; }

.news-single-item { padding: 1em 0 0 0; }
.news-single-item h2 { padding-top: 0.5em; }
.news-single-item h3 { padding-bottom: 1.2em; }
.news-single-item .news-single-timedata { display: block; font-weight: normal; }
.news-single-item .news-single-category { display: none; }
.news-single-item .news-single-backlink { padding: 1em 0 1em 0; }

/* ==========================================================================
   TYPO3 Content Styled Elements
   ========================================================================== */
div.tx-contentwrapper_style1 { margin: 15px 50px; padding: 6px; background-color: #E7EAF4; color: #000; border-top: 1px solid #9CACDA; border-bottom: 1px solid #9CACDA; width: 70%; font-size: 10px; }
div.tx-contentwrapper_style2 { margin: 4px; padding: 6px; background-color: #E7EAF4; color: #000; border: 1px solid #9CACDA; font-size: 11px; }
div.tx-contentwrapper_style3 { margin: 18px 0; padding: 6px; background-color: #C7D2F4; color: #000; border-top: 3px solid #9CACDA; border-bottom: 3px solid #9CACDA; font-size: 11px; }
div.tx-contentwrapper_style4 { margin: 10px 0 5px 0; padding-top: 6px; border-top: 1px solid #9CACDA; font-size: 10px; }
div.tx-contentwrapper_style5 { margin: 20px 4px 10px 4px; padding: 6px; border-top: 1px solid #0000F0; font-size: 10px; }
div.tx-contentwrapper_style1 h1 { margin: 4px 0 2px 0; padding: 0; color: #232388; font-weight: bold; font-size: 11px; }
div.tx-contentwrapper_style2 h1 { margin: 4px 0 2px 0; padding: 0; color: #232388; font-weight: bold; font-size: 13px; }
div.tx-contentwrapper_style3 h1 { margin: 4px 0 2px 0; padding: 0; color: #232388; font-weight: bold; font-size: 11px; }
div.tx-contentwrapper_style4 h1 { margin: 4px 0 2px 0; padding: 0; color: #232388; font-weight: bold; font-size: 10px; }
div.tx-contentwrapper_style5 h1 { margin: 4px 0 2px 0; padding: 0; color: #232388; font-weight: bold; font-size: 10px; }

/* CSC Text with Image */
DIV.csc-textpic-caption-c .csc-textpic-caption { text-align: center; }
DIV.csc-textpic-caption-r .csc-textpic-caption { text-align: right; }
DIV.csc-textpic-caption-l .csc-textpic-caption { text-align: left; }
DIV.csc-textpic DIV.csc-textpic-imagecolumn { float: left; display: inline; }
DIV.csc-textpic-border DIV.csc-textpic-imagewrap .csc-textpic-image IMG,
DIV.csc-textpic-border DIV.csc-textpic-single-image IMG { border: 2px solid black; padding: 0; }
DIV.csc-textpic-imagewrap { padding: 0; }
DIV.csc-textpic IMG { border: none; }
DIV.csc-textpic DIV.csc-textpic-imagewrap DIV.csc-textpic-image { float: left; }
DIV.csc-textpic DIV.csc-textpic-imagewrap UL { list-style: none; margin: 0; padding: 0; }
DIV.csc-textpic DIV.csc-textpic-imagewrap UL LI { float: left; margin: 0; padding: 0; }
DIV.csc-textpic DIV.csc-textpic-imagewrap DL.csc-textpic-image { float: left; }
DIV.csc-textpic DIV.csc-textpic-imagewrap DL.csc-textpic-image DT { float: none; }
DIV.csc-textpic DIV.csc-textpic-imagewrap DL.csc-textpic-image DD { float: none; }
DIV.csc-textpic DIV.csc-textpic-imagewrap DL.csc-textpic-image DD IMG { border: none; }
DL.csc-textpic-image { margin: 0; }
DL.csc-textpic-image DT { margin: 0; display: inline; }
DL.csc-textpic-image DD { margin: 0; }
DIV.csc-textpic-clear { clear: both; }

DIV.csc-textpic-left DIV.csc-textpic-imagewrap .csc-textpic-image,
DIV.csc-textpic-intext-left-nowrap DIV.csc-textpic-imagewrap .csc-textpic-image,
DIV.csc-textpic-intext-left DIV.csc-textpic-imagewrap .csc-textpic-image { display: inline; margin-right: 25px; }

DIV.csc-textpic-right DIV.csc-textpic-imagewrap .csc-textpic-image,
DIV.csc-textpic-intext-right-nowrap DIV.csc-textpic-imagewrap .csc-textpic-image,
DIV.csc-textpic-intext-right DIV.csc-textpic-imagewrap .csc-textpic-image { display: inline; margin-left: 25px; }

DIV.csc-textpic-center DIV.csc-textpic-imagewrap .csc-textpic-image { display: inline; margin-left: 25px; }
DIV.csc-textpic DIV.csc-textpic-imagewrap .csc-textpic-image .csc-textpic-caption { margin: 0; }
DIV.csc-textpic DIV.csc-textpic-imagewrap .csc-textpic-image IMG { margin: 0; vertical-align: bottom; }
DIV.csc-textpic DIV.csc-textpic-imagewrap .csc-textpic-image { margin-bottom: 10px; }
DIV.csc-textpic-equalheight DIV.csc-textpic-imagerow { margin-bottom: 10px; display: block; }
DIV.csc-textpic DIV.csc-textpic-imagerow { clear: both; }
DIV.csc-textpic DIV.csc-textpic-single-image IMG { margin-bottom: 10px; }
DIV.csc-textpic DIV.csc-textpic-imagewrap .csc-textpic-firstcol { margin-left: 0 !important; }
DIV.csc-textpic DIV.csc-textpic-imagewrap .csc-textpic-lastcol { margin-right: 0 !important; }

DIV.csc-textpic-intext-left DIV.csc-textpic-imagewrap,
DIV.csc-textpic-intext-left-nowrap DIV.csc-textpic-imagewrap { margin-right: 10px !important; }
DIV.csc-textpic-intext-right DIV.csc-textpic-imagewrap,
DIV.csc-textpic-intext-right-nowrap DIV.csc-textpic-imagewrap { margin-left: 10px !important; }

DIV.csc-textpic-above DIV.csc-textpic-text { clear: both; }
DIV.csc-textpic-center { text-align: center; }
DIV.csc-textpic-center DIV.csc-textpic-imagewrap { margin: 0 auto; }
DIV.csc-textpic-center DIV.csc-textpic-imagewrap .csc-textpic-image { text-align: left; }
DIV.csc-textpic-center DIV.csc-textpic-text { text-align: left; }
DIV.csc-textpic-right DIV.csc-textpic-imagewrap { float: right; }
DIV.csc-textpic-right DIV.csc-textpic-text { clear: right; }
DIV.csc-textpic-left DIV.csc-textpic-imagewrap { float: left; }
DIV.csc-textpic-left DIV.csc-textpic-text { clear: left; }
DIV.csc-textpic-intext-left DIV.csc-textpic-imagewrap { float: left; }
DIV.csc-textpic-intext-right DIV.csc-textpic-imagewrap { float: right; }
DIV.csc-textpic-intext-right-nowrap DIV.csc-textpic-imagewrap { float: right; clear: both; }
DIV.csc-textpic-intext-left-nowrap DIV.csc-textpic-imagewrap { float: left; clear: both; }
DIV.csc-textpic DIV.csc-textpic-imagerow-last { margin-bottom: 0; }
.csc-textpic-intext-left ol, .csc-textpic-intext-left ul { padding-left: 40px; overflow: auto; }

#mainpic {
    background-color: #EFEFF7;
    min-height: 164px;
    min-width: 768px;
    margin-bottom: 24px;
}
