


/* ------------- Main Declarations ------------- */

* {
    box-sizing: border-box;
}

html, body {
    margin: 0;
    padding: 0;

    font-family: "Open Sans", sans-serif;
    /* font-family: "Open Sans", sans-serif; */
    /*letter-spacing: 0.03em;*/
    background: #e8e8e8;
}


/* ------------- Header ------------- */

#header {
    position: relative;
    z-index: 10;
    border-top: 1px solid #000; /** CSS fix **/
    margin-top: -1px;

    height: 540px;
    _margin-bottom: 85px;
}

#header.home {
    _height: auto;
}

.header1 {
    position: relative;
    z-index: 0;
    width: 100%;
    height: 140px;
    background: #fff;
}

.header1 > .page {
    background: #fafafa;
    height: 140px;
}

#main > .page {
    background: #fff;
}

#logo {
    display: block;
    position: absolute;
    z-index: 100;
    top: 42px;
    left: 40px;
    width: 230px;
    height: 57px;
    background: url("images/logo_230.png") 0 0 no-repeat;
    background-size: contain;
}

.header2 {
    position: relative;
    z-index: 0;
    width: 100%;
    height: 366px;
    background: #007ac0;
}

.header2 > .page {
    height: 100%;
    padding: 0 0 100px;
    _box-sizing: content-box;
    width: 100%;
    max-width: 1140px;
}


.headerInfo {
    position: relative;
    height: 365px;
    width: 100%;
    /*
    background: url("images/cube_blue.png") 226px 45px no-repeat;
    */
}

/*
.color01 .headerInfo {
    background-image: url("images/cube_blue.png");
}

.color02 .headerInfo {
    background-image: url("images/cube_green.png");
}
.color03 .headerInfo {
    background-image: url("images/cube_orange.png");
}

*/

.home .headerInfo {
    display: none;
}



h2.pageTitle {
    display: block;
    position: absolute;
    z-index: 20;
    bottom: 75px;
    left: 50px;
    max-width: 200px;

    font-size: 30px;
    line-height: 1.25em;
    font-weight: 600;
}

.headerImg {
    position: absolute;
    z-index: 10;
    top: -27px;
    right: 0;
    background-repeat: no-repeat;
    background-position: 100% 0;
    background-size: cover;
    width: 100%;
    height: 420px;

}




/*
 * Nav
 */

div.metaNav {
    height: 36px;
    padding: 8px 0 0;
}

ul.meta,
ul.meta li {
    display: block;
    float: right;
    position: relative;
    margin: 0;
    padding: 0;
}

ul.meta {
    margin: 0 12px 0 0;
}

ul.meta li {
    float: left;
    list-style: none outside none;
}

ul.meta.headerMeta li {
    display: block;
    width: 28px;
    height: 28px;
    margin: 0 8px;
}

ul.meta a,
ul.meta a:visited,
ul.meta a:hover,
ul.meta a:active,

.navLang a,
.navLang a:hover,
.navLang a:visited,
.navLang a:active {
    display: block;
    padding: 0 8px;
    margin: 0 0 0 12px;
    text-decoration: none;
    font-size: 14px;
    line-height: 28px;
    color: #009ee3;
}

ul.meta a:hover,
ul.meta a:active,
ul.meta .active > a.meta {

}

ul.meta.headerMeta a {
    display: block;
    width: 28px;
    height: 28px;
    padding: 0;
}


.navLang a,
.navLang a:hover,
.navLang a:visited,
.navLang a:active,
span.noTranslation {
    display: inline-block;
    margin: 0;
    padding: 0 10px;
}

.lang {
    display: none;
    font-size: 14px;
    color: #134278;
}



div.mainNav {
    position: absolute;
    top: 60px;
    left: 0;
    z-index: 20;
}


ul.nav {
    position: relative;
    margin: 0;
    padding: 0;
    display: block;
}



li.nav {
    position: relative;
    display: block;
    float: left;
    margin: 0 20px;
    list-style: none outside none;
}

a.nav,
a.nav:hover,
a.nav:active,
a.nav:visited {
    display: block;
    padding: 0 20px 10px;

    font-size: 22px;
    line-height: 26px;
    font-weight: 600;
    color: #134278;
    text-decoration: none;
}

a.nav:hover,
a.nav:active,
a.nav.hover,
.navLang .active,
.active > a.nav {
    color: #009ee3;
}


ul.nav {
    margin-left: 370px;
}

li.nav {
    margin-right: 0;
}

ul.nav ul.nav {
    display: none;
    padding: 10px 0;
    min-width: 285px;
}

ul.nav ul.nav,
ul.split {
    position: absolute;
    top: 36px;
    left: 20px;
    margin: 0;
    padding: 10px;
    background: rgba(255,255,255,0.92);
}

ul.nav ul.nav li {
    margin: 0;
    padding: 0;
    width: 100%;
}



ul.nav ul.nav a.nav,
ul.nav ul.nav a.nav:hover,
ul.nav ul.nav a.nav:active,
ul.nav ul.nav a.nav:visited {
    display: block;
    padding: 0 10px 10px;

    font-size: 18px;
    font-weight: 600;
    text-decoration: none;
	white-space: nowrap;
}

ul.nav ul.nav ul.nav {
    display: none !important;
}

.multiCol{
    width: 620px;
}

.multiCol li {
    display: inline-block;
    width: 280px !important;
}

.multiCol li a.nav,
.multiCol li a.nav:hover,
.multiCol li a.nav:active,
.multiCol li a.nav:visited {
    white-space: normal;
}


/* ------------- Content Meta, Header Meta ------------- */
div.contentMeta {
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    flex-direction: row;
    justify-content: space-between;
    width: 100%;
    margin-bottom: 60px;
}

a.contentMetaPage,
a.contentMetaPage:hover,
a.contentMetaPage:visited,
a.contentMetaPage:active {
    display: block;
    padding: 0;
    margin: 0 auto;

    font-size: 24px;
    line-height: 1.25em;
    font-weight: 600;
    text-decoration: none;
    color: #00407d;
}


a.contentMetaPage:before {
    float: left;
    display: inline-block;
    content: '';
    background: url("images/cube_green.png") 50% 50% no-repeat;
    background-size: contain;
    width: 150px;
    min-height: 150px;
}

a.contentMetaPage span {
    display: flex;
    justify-content: center;
    flex-direction: column;
    text-align: left;
    max-width: 140px;
    height: 150px;
    word-spacing: 260px;
}

a.cube-028 span {
    max-width: 185px;
}

a.cube-028 {
    background-repeat: no-repeat;
    color: #006600 !important;
    padding: 0;
}

a.cube-028:before {
    background-image: url("images/cube_green.png");
}

a.cube-029 {
    color: #ff9900 !important;
}

a.cube-029:before  {
    background-image: url("images/cube_orange.png");
}

a.cube-030 {
    color: #007ac0 !important;
}
a.cube-030:before  {
    background-image: url("images/cube_blue.png");
}


/*
.meta a.cube-028,
.meta a.cube-028:hover,
.ce-menu a.cube-028,
.ce-menu a.cube-028:hover {
    background-image: url("images/cube_green_small.png");
}

.menu a.cube-029,
.menu a.cube-029:hover,
.ce-menu a.cube-029,
.ce-menu a.cube-029:hover  {
    background-image: url("images/cube_orange_small.png");
}

.menu a.cube-030,
.menu a.cube-030:hover,
.ce-menu a.cube-030,
.ce-menu a.cube-030:hover  {
    background-image: url("images/cube_blue_small.png");
}
*/



a.headerMetaPage:before,
.ce-menu a:before {
    display: inline-block;
    content: '';
    background: url("images/cube_blue_small.png") 0 0 no-repeat;
    background-size: contain;
    width: 45px;
    height: 28px;
    margin-left: -40px;
}

a.headerMetaPage:before {
    margin-left: 0;
}


a.headerMetaPage.cube-028:before,
.ce-menu a.cube-028:before {
    background-image: url("images/cube_green_small.png");
}

a.headerMetaPage.cube-029:before,
.ce-menu a.cube-029:before  {
    background-image: url("images/cube_orange_small.png");
}

a.headerMetaPage.cube-030:before,
.ce-menu a.cube-030:before  {
    background-image: url("images/cube_blue_small.png");
}





#content ul.ce-menu-8 {
    margin-bottom: 40px;
}
#content ul.ce-menu-8 li {
    padding-bottom: 14px;
}
.ce-menu-8.ppid-18 {
    padding-top: 50px;
}

.ce-menu-8.ppid-18 li:before {
    display: none !important;
}

.ce-menu-8.ppid-18 a {
    display: inline-flex;
    padding-left: 40px;
    min-height: 28px;
    vertical-align: middle;
    line-height: 28px;
}

.headerMetaPage {
}

.headerMetaPage a {
    display: block;
    width: 28px;
    height: 28px;
    background-size: contain;
}

.headerMetaPage span {
    display: none
}


    /* ------------- Content ------------- */

#main {
    position: relative;
    z-index: 0;
    margin-top: -35px;
}

#main > .page:first-child {
    padding-top: 85px;
    padding-bottom: 50px;
}

#content {
    position: relative;
}

/* text-media element, specific plugins */
.type-tm {
    margin: 0 0 10px 0;
    padding: 50px 30px;
    min-height: 220px;
}

.type-tm.shade-0,
.type-felogin.shade-0,
.type-femanager_pi1.shade-0 {
    padding: 18px 30px;
    min-height: 10px;
}

.grid.col1 .type-tm.shade-0 {
    padding-right: 30px;
}

.grid.col2 .type-tm.shade-0,
.grid.col3 .type-tm.shade-0,
.grid.col4 .type-tm.shade-0 {
    padding-left: 30px;
}


/* header-footer element */
.type-hf {
    margin: 45px 0 10px 0;
    padding: 0 30px;
    text-align: center;
    background: #d1d2d4;
}



/* ------------- gridelements ------------- */

.gridelements.grid-2cols50-50,
.gridelements.grid-2cols70-30,
.gridelements.grid-2cols30-70,
.gridelements.grid-3cols,
.gridelements.grid-4cols {
    margin: 0 -5px;
}

.gridelements.grid-2cols50-50 .grid,
.gridelements.grid-2cols70-30 .grid,
.gridelements.grid-2cols30-70 .grid,
.gridelements.grid-3cols .grid,
.gridelements.grid-4cols .grid {
    float: left;
    margin: 0 5px;
    padding: 0;
    width: 645px;
    max-width: 95%;
}

.gridelements.grid-2cols70-30 .grid.col1,
.gridelements.grid-2cols30-70 .grid.col2 {
    margin: 0 5px;
    width: 763px;
}

.gridelements.grid-2cols70-30 .grid.col2,
.gridelements.grid-2cols30-70 .grid.col1 {
    width: 327px;
}

.gridelements.grid-3cols .grid {
    margin: 0 5px;
    width: 314px;
}

.gridelements.grid-4cols .grid {
    margin: 0 5px;
    width: 233px;
}

.gridelements.grid-1col .grid  {
    padding: 0;
    margin: 0 0 10px;
}

.gridelements.grid-1col .grid .type-tm {
    padding: 0 30px;
    margin: 0;
    min-height: 0;
}

.gridelements.grid-1col .grid .type-tm:first-child {
    padding-top: 50px;
}

.gridelements.grid-1col .grid .type-tm:last-child {
    padding-bottom: 50px;
}

.gridelements .grid img {
    max-width: 100%;
    height: auto;
    max-height: 100%;

    -ms-interpolation-mode: bicubic;
}

.gridelements.grid-slider {
    position: relative;
    overflow: hidden;
    height: 285px;
}
.gridelements.grid-slider div.type-tm {
    padding: 50px 30px 25px 30px;
    height: 285px;
}

.grid-slider .slideNav {
    position: absolute;
    z-index: 1000;
    top: calc(50% - 14px);
    left: 6px;

    width: 14px;
    height: 28px;

    cursor: pointer;
}

.grid-slider .slideNav.cycle-next {
    left: auto;
    right: 6px;
}

.grid-slider .slideNav:hover polyline {
    stroke: #fff !important;
}

.cycle-pager {
    position: absolute;
    z-index: 1000;
    right: 6px;
    bottom: 12px;
}

.cycle-pager span {
    margin-left: 4px;
}

.cycle-pager span:before,
span.cycle-pager-active:before {
    font-family: "FontAwesome";
    content: '';
    font-size: 11px;
    line-height: 18px;
    color: #929292;
}

span.cycle-pager-active:before {
    content: '';
}


/* ------------ DCEs ------------ */

div.quaders {
    margin-right: -12px;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
}

a.quad,
a.quad:hover,
a.quad:visited,
a.quad:active {
    display: flex;
    align-items: center;
    width: 266px;
    height: 266px;
    margin: 0 12px 12px 0;

    text-decoration: none;
}

@media screen and (max-width: 1160px) {
    /*
        a.quad,
        a.quad:hover,
        a.quad:visited,
        a.quad:active {
            max-width: 30%;
        }
    */
}
a.quad .title,
a.quad .text {
    display: block;
    margin: 0 auto;
    padding: 18px 30px;
    font-size: 24px;
    line-height: 1.25em;
    text-align: center;
}

a.quad .text {
    display: none;
    font-size: 17px;
    line-height: 1.25em;
    color: #fff !important;
}



a.quad:hover .title,
a.quad.hover .title {
    display: none;
}

a.quad:hover .text,
a.quad.hover .text {
    display: block;
}

/* ------------- table ------------- */
#content table {
    border: 0;
    margin: 0;
    padding: 0;
    border-collapse: collapse;
}

#content table caption {
    margin: 0 0 0.5em;
    text-align: left;
}

#content th,
#content td {
    margin: 0;
    padding: 0.3em 0.5em;
    text-align: left;
    vertical-align: top;
    border-bottom: 1px solid #000;
}







/* ------------- Footer ------------- */

/*
#footer {
    margin-top: 50px;
}
*/

.footerContent,
.sitemap {
    padding: 60px 0;
    background: #00407d;
    min-height: 200px;
    color: #fff;
}

.footerContent * {
    color: #fff !important;
}

.sitemap ul,
.sitemap li {
    display: block;
    margin: 0;
    padding: 0 10px 0 0;
}

.sitemap > .page > ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-around;
}

li.smap {
    max-width: 275px;
    list-style: none outside none;
    font-size: 17px;
}

li.smap li {
    float: none;
    font-size: 14px;
}

.sitemap > .page > ul > li.smap {
    margin-bottom: 20px;
    padding-left: 20px;
}



.sitemap a,
.sitemap a:hover,
.sitemap a:visited,
.sitemap a:active {
    display: block;
    /* margin-left: -20px; */
    text-decoration: none;
    font-weight: 600;
    line-height: 1.25em;
    color: #fff;
}


li.smap li.smap a,
li.smap li.smap a:hover,
li.smap li.smap a:visited,
li.smap li.smap a:active {
    font-weight: 400;
    margin-left: 0;
}


li.smap li.smap a:before {
    content: "";
    font-family: "FontAwesome";
    padding: 0 0.5em 0 0;
    margin-left: -20px;
}

#content ul {
    padding: 0 0 0 2em;
}

#content ul li,
#content form li {
    list-style: none outside none;
    margin-bottom: 0.75em;
    clear: left;
}

#content ul li:before {
    content: "";
    font-family: "FontAwesome";
    /* font-size: 14px; */

    display: inline-block;
    padding: 0;
    width: 2em;
    margin-left: -2em;
}


#content a,
#content a:hover,
#content a:visited {
    text-decoration: none;
	border-bottom: 1px solid rgba(0, 64, 125, 0.2);
}
#content a:hover {
	border-bottom: 1px solid rgba(0, 64, 125, 1);
}






.impressum {
    padding: 20px;
    min-height: 66px;
    background: #42454a;

    font-weight: 400;
    color: #fff;
}



.impressum .type-tm {
    margin: 0;
    padding: 0;
    min-height: 0;
}

.impressum p {
    margin: 0;
    padding: 0;
    font-size: 16px;
    line-height: 24px;
}

.impressum a,
.impressum a:hover,
.impressum a:visited,
.impressum a:active {
    text-decoration: none;
    color: #fff;
}

.impressum a:hover {
    color: #007ac0;
}

/* ------------ FORM CSS / FE Manager ------------ */

.csc-mailform,
.tx-femanager {
    position: relative;
    max-width: 100%;
    margin-top: 24px;
    font-size: inherit;
    font-weight: normal;
    line-height: 1.75em;
}

.csc-mailform ol {
    display: block;
    position: relative;
    max-width: 100%;
    margin: 0;
    padding: 0;
}

.csc-mailform ol li,
.tx-femanager .control-group {
    display: block;
    position: relative;
    max-width: 100%;
    list-style: none outside none;
    margin-bottom: 12px !important;
}

div.csc-mailform li label,
.tx-felogin-pi1 span.feusername,
.tx-felogin-pi1 label,
.tx-femanager label {
    display: block;
    float: left;
    margin-right: 8px;
    width: 90%;
    font-size: inherit;
    font-weight: normal;
    line-height: 1.75em;
}
.tx-femanager label {
    max-width: 180px;
}
.tx-femanager .femanager_captcha .controls {
	width: 90%;
	max-width: 360px;
	display: flex;
	flex-flow: column nowrap;
}
.tx-femanager .femanager_captcha .controls input {
	width: 100%;
}

div.csc-mailform li label em {
    display: inline-block;
    margin: 0 2px;
    font-size: 0.7em;
    line-height: 1em;
    color: red;
}

div.csc-mailform li label strong {
    display: block;
    font-size: 0.7em;
    line-height: 1em;
    color: red;
}

.csc-form-element-textline input,
.tx-felogin-pi1 input,
.tx-femanager input {
    padding: 0 8px;
    width: 90%;
    max-width: 360px;
    font-size: inherit;
    height: 1.75em;
    line-height: 1.75em;
    background: #ececec;
    border: none;
}

.femanager_gender input {
    width: 20px;
}

.csc-form-element-select select,
.tx-femanager select {
    padding: 0 8px;
    width: 90%;
    max-width: 360px;
    font-size: inherit;
    height: 1.75em;
    line-height: 1.75em;
    background: #ececec;
    border: none;
}

.csc-form-element-textarea textarea,
.tx-femanager textarea {
    padding: 8px;
    width: 90%;
    max-width: 360px;
    background: #ececec;
    border: none;
}

div.csc-mailform .fieldset-subgroup {
    padding-left: 0;
}

div.csc-mailform li.csc-form-element-checkbox,
div.csc-mailform li.csc-form-element-radio {
    min-height: 1.75em;
    margin-bottom: 8px !important;
}

div.csc-mailform li.csc-form-element-checkbox label,
div.csc-mailform li.csc-form-element-radio label {
    float: left;
    margin-left: 8px;
    width: auto;
}

div.csc-mailform li.csc-form-element-checkbox input,
div.csc-mailform li.csc-form-element-radio input {
    clear: both;
    float: left;
    margin-left: 188px;
}

.csc-form-element-checkbox input {
}

.csc-form-element-submit input,
.tx-felogin-pi1 input[type="submit"] {
    margin-left: 188px;
}
.csc-form-element-submit input[type="submit"],
.tx-felogin-pi1 fieldset input[type="submit"] {
    margin-left: 0px;
}

div.csc-mailform fieldset,
div.csc-mailform .fieldset-subgroup,
.tx-femanager fieldset {
    border: none;
    outline: none;
}

div.csc-mailform legend {
    margin: 8px 0;
    padding: 0 0 6px;

    font-family: "Open Sans", sans-serif;
    font-weight: bold;
    font-size: 28px;
    line-height: 1.5em
}



form li {
    position: relative;
    list-style: none outside none;
}

form li:before {
    display: none;
}

div.csc-mailform li label em {
    display: none;
}

div.csc-mailform li label strong {
    position: absolute;
    left: 0;
    bottom: -4px;
    font-size: 0.75em
}

div.csc-mailform input[type="submit"],
.tx-felogin-pi1 input[type="submit"],
.femanager_submit input {
    display: inline-block;

    font-size: 24px;
    line-height: 1.75em;
    padding: 0 10px;

    background: #007ac0;
    color: #fff;
    border: none;
    outline: none;
    cursor: pointer;
}


div.csc-mailform input[type="submit"]:hover,
.tx-felogin-pi1 input[type="submit"]:hover,
.femanager_submit input:hover {
    background: #134278;
}

/* login form */
.tx-felogin-pi1 fieldset {
    border: none;
    outline: none;
    margin: 20px 0;
}

.tx-felogin-pi1 legend {
    display: none;
}

.tx-felogin-pi1 fieldset > div {
    margin-bottom: 12px;
}

.femanager_fieldset .controls {
    margin-left: 188px;
}

.femanager_fieldset .controls:after {
    content: ' ';
    display: block;
    clear: both;
}



.tx-femanager .alert-error {
    display: block;
    color: #ff0000;
    font-size: 11px;
    line-height: 14px;
}

.tx-femanager .alert-error button.close {
    display: none;
}

.tx-femanager .alert-error h4 {
    display: none;
}

.type-felogin h3  {
    color: #00407d;
    margin: 0 !important;
    padding: 0 0 6px;
    font-family: "Open Sans", sans-serif;
    font-weight: bold;
    font-size: 32px;
    line-height: 1.2em;
}



    /* ------------- Global Classes and Attributes ------------- */

.triggerLink {
    cursor: pointer;
}

.fll {
    float: left;
}

.flr {
    float: right;
}

.page {
    box-sizing: border-box;
    position: relative;
    margin-left: auto;
    margin-right: auto;
    padding-left: 20px;
    padding-right: 20px;

    width: 1140px;
    max-width: 100%;
}

.page .page {
    position: relative;
    margin-left: inherit;
    margin-right: inherit;
    padding-left: inherit;
    padding-right: inherit;
    width: auto;
}




/* ------------- Colors ------------- */

/*
shade-0 -> white / no background
shade-10 -> bgColor
shade-20 -> light
shade-30 -> lighter
shade-40 -> dark
shade-50 -> darker
 */

/* default */

.color0 .textColor,
.color0 h1,
.color0 h2,
.color0 li:before,

.color0 #content a,
.color0 #content a:hover,
.color0 #content a:visited {
    color: #00407d;
}

.color0 #mobileHeader,
.color0 .shade-10,
.color0 .shade-hover:hover,

.color0 div.csc-mailform input[type="submit"],
.color0 .tx-felogin-pi1 input[type="submit"] {
    background-color: #00407d;
}

.color0 .shade-10,
.color0 .shade-10 h1,
.color0 .shade-10 h2,
.color0 .shade-10 li:before,
.color0 #content .shade-hover:hover,

.color0 #content .shade-10 a,
.color0 #content .shade-10 a:hover,
.color0 #content .shade-10 a:visited,
.color0 #content .shade-10 table td,
.color0 #content .shade-10 table th {
    color: #fff !important;
    border-color: #fff;
}

.color0 #header h2.pageTitle {
    color: #00407d !important;
}

.color0 .shade-20 {
    background-color: #ccd9e5;
}
.color0 .shade-30 {
    background-color: #e5ecf2;
}
.color0 .shade-40 {
    background-color: #99b3cb;
}
.color0 .shade-50 {
    background-color: #668cb1;
}


/* blue */

.color01 .textColor,
.color01 h1,
.color01 h2,
.color01 li:before,

.color01 #content a,
.color01 #content a:hover,
.color01 #content a:visited {
    color: #007ac0;
}

.color01 h2.pageTitle {
    color: #007ac0 !important;
}

.color01 #mobileHeader,
.color01 .shade-10,
.color01 .shade-hover:hover,

.color01 div.csc-mailform input[type="submit"],
.color01 .tx-felogin-pi1 input[type="submit"] {
    background-color: #007ac0;
}
.color01 .shade-10,
.color01 .shade-10 h1,
.color01 .shade-10 h2,
.color01 .shade-10 li:before,
.color01 #content .shade-hover:hover,

.color01 #content .shade-10 a,
.color01 #content .shade-10 a:hover,
.color01 #content .shade-10 a:visited,
.color01 #content .shade-10 table td,
.color01 #content .shade-10 table th {
    color: #fff !important;
    border-color: #fff;
}

.color01 #header h2.pageTitle {
    color: #007ac0 !important;
}

.color01 .shade-20 {
    background-color: #cce4f2;
}
.color01 .shade-30 {
    background-color: #e5f1f9;
}
.color01 .shade-40 {
    background-color: #99cae6;
}
.color01 .shade-50 {
    background-color: #66afd9;
}


/* green */

.color02 .textColor,
.color02 h1,
.color02 h2,
.color02 li:before,

.color02 #content a,
.color02 #content a:hover,
.color02 #content a:visited {
    color: #006600;
}

.color02 #mobileHeader,
.color02 .shade-10,
.color02 .shade-hover:hover,

.color02 div.csc-mailform input[type="submit"],
.color02 .tx-felogin-pi1 input[type="submit"] {
    background-color: #006600;
}
.color02 .shade-10,
.color02 .shade-10 h1,
.color02 .shade-10 h2,
.color02 .shade-10 li:before,
.color02 #content .shade-hover:hover,

.color02 #content .shade-10 a,
.color02 #content .shade-10 a:hover,
.color02 #content .shade-10 a:visited,
.color02 #content .shade-10 table td,
.color02 #content .shade-10 table th {
    color: #fff !important;
    border-color: #fff;
}

.color02 #header h2.pageTitle {
    color: #006600 !important;
}

.color02 .shade-20 {
    background-color: #cce0cc;
}
.color02 .shade-30 {
    background-color: #e5efe5;
}
.color02 .shade-40 {
    background-color: #99c299;
}
.color02 .shade-50 {
    background-color: #66a366;
}


/* orange */

.color03 .textColor,
.color03 h1,
.color03 h2,
.color03 li:before,

.color03 #content a,
.color03 #content a:hover,
.color03 #content a:visited {
    color: #ff9900;
}

.color03 h2.pageTitle {
    color: #ff9900 !important;
}

.color03 #mobileHeader,
.color03 .shade-10,
.color03 .shade-hover:hover,

.color03 div.csc-mailform input[type="submit"],
.color03 .tx-felogin-pi1 input[type="submit"] {
    background-color: #ff9900;
}

.color03 .shade-10,
.color03 .shade-10 h1,
.color03 .shade-10 h2,
.color03 .shade-10 li:before,
.color03 #content .shade-hover:hover,

.color03 #content .shade-10 a,
.color03 #content .shade-10 a:hover,
.color03 #content .shade-10 a:visited,
.color03 #content .shade-10 table td,
.color03 #content .shade-10 table th {
    color: #fff !important;
    border-color: #fff;
}

.color03 #header h2.pageTitle {
    color: #ff9900 !important;
}

.color03 .shade-20 {
    background-color: #ffebcc;
}
.color03 .shade-30 {
    background-color: #fff5e5;
}
.color03 .shade-40 {
    background-color: #ffd699;
}
.color03 .shade-50 {
    background-color: #ffc266;
}










/* ------------- Clearfix ------------- */

div.clearfix:after {
    content: ".";
    display: block;
    height: 0;
    clear: both;
    visibility: hidden;
}
div.clearfix {
    display: inline-block;
    font-size: 0;
    line-height: 0;
}
/* Hides from IE-mac */
* html div.clearfix {height: 1%;}
div.clearfix {display: block; font-size: 0; line-height: 0;}
/* End hide from IE-mac */








/* ------------- mobile nav ------------- */

ul.navMobile,
ul.metaNavMobile {
    margin: 0;
    padding: 0
}

ul.metaNavMobile {
    margin-top: 1.5em;
}

ul.navMobile ul {
    padding: 0.15em 0 0.25em 0.5em;
}

li.navM,
li.metaM {
    list-style: none outside none;
}

a.navM,
a.navM:hover,
a.navM:active,
a.navM:visited,

a.metaM,
a.metaM:hover,
a.metaM:active,
a.metaM:visited {
    display: block;
    padding: 0 20px;
    font-size: 21px;
    line-height: 1.5em;
    font-weight: 600;
    color: #134278;
    text-decoration: none;
}

a.metaM,
a.metaM:hover,
a.metaM:active,
a.metaM:visited {
    color: #009ee3;
}

.active > a.navM {
    color: #009ee3;
}


#drawer div.navLang {
    display: none;
    margin: 20px 0 0;
    padding: 20px 10px;
    border-top: 1px solid #134278;
}


    /* ------------- mobile header ------------- */
#drawer,
#mobileHeader,
#mobileTopBar {
    display: none;
}

h1.mobileTitle {
    display: inline-block;
    margin: 0 auto;
    padding: 0;
    font-size: 18px;
    line-height: 38px;
    color: #fff;
}

.showNav,
.homeLink {
    position: absolute;
    z-index: 10;
    top: 5px;
    right: 0;
    margin: 0;
    padding: 0 4px 0 8px;
    height: 52px;
    font-size: 24px;
    line-height: 54px;
    color: #00407d;
    cursor: pointer;
}

.homeLink {
    top: 6px;
    right: auto;
    left: 8px;
    padding: 0;
    width: 200px;
    height: 48px;
    color: #fff !important;
    background: url(images/logo_230.png) 0 50% no-repeat;
    background-size: contain;
}

#drawer .showNav {
    color: #9ca0a2;
    z-index: 10;
}

ul.navMobile,
ul.metaNavMobile {
    display: block;
}

ul.navMobile ul.navMobile ul.navMobile {
    display: none !important;
}


#mobileHeaderImg,
#mobileLogo {
    display: none;
}

/* ------------- filelist ------------- */

.tx-lpc-filelist .filelist-title,
.tx-lpc-filelist .filelist-entry a {
	display:flex;
	flex-flow:row nowrap;
}

.tx-lpc-filelist .filelist-filename,
.tx-lpc-filelist .filelist-info,
.tx-lpc-filelist .filelist-date,
.tx-lpc-filelist .filelist-description {
	min-width:100px;
	display:inline-block;
}

.tx-lpc-filelist .filelist-filename {
	width:31%;
}

.tx-lpc-filelist .filelist-date {
	width:10%;
}

.tx-lpc-filelist .filelist-description {
	width:44%;
/* 	font-size: 80%; */
/* 	line-height: 130%; */
}
.tx-lpc-filelist .filelist-description b {
	font-size: 16px;
	line-height: 25px;
}

.tx-lpc-filelist .filelist-info {
	width:10%;
}

.tx-lpc-filelist {
	max-width:100%;
	margin-bottom:3em;
}

.tx-lpc-filelist .filelist-download {
	width:28px;
}


/* ------------- media queries ------------- */


@media screen and (max-width: 1499px) {

    body .headerInfo {
        background-image: none !important;
    }

}

@media screen and (max-width: 1300px) {

    body, html,
    .page {
        max-width: 100%;
        min-width: 0;
    }

    #logo {
        top: 8px
    }

    div.mainNav {
        padding-top: 12px;
        left: auto;
        right: 0;
    }

    ul.nav {
        margin-left: 30px;
    }

    li.nav {
        margin: 0 10px;
    }
/*
    ul.meta a,
    ul.meta a:visited,
    ul.meta a:hover,
    ul.meta a:active,

    a.nav,
    a.nav:hover,
    a.nav:active,
    a.nav:visited {
        margin: 0 6px;
        padding: 0 10px;
        font-size: 24px;
    }
*/

} /* max-width: 1300px */




@media screen and (max-width: 1120px) {

    .sitemap > .page > ul {
        justify-content: flex-start;
    }


} /* max-width: 1060px */


@media screen and (max-width: 1020px) {

    .header2 {
        background: none;
    }

    a.contentMetaPage {
        margin: 0 0 40px 0 !important;
        _padding-left: 120px !important;
        _height: 120px !important;
        max-width: 200px !important;
        font-size: 18px !important;
    }

    a.contentMetaPage:before {
        float: none;
        display: block;
    }

    a.contentMetaPage span {
        display: block;
        height: auto;
        padding: 20px 0 0;
        text-align: center;
        font-size: 24px;
        line-height: 1.25em;
    }

    a.contentMetaPage.cube-028 span {
        max-width: 140px;
    }

    a.quad .title {
        font-size: 21px;
    }

    a.quad .text {
        font-size: 14px;
    }

}


@media screen and (max-width: 900px){

    a.quad .title {
        font-size: 24px;
    }

    a.quad .title {
        font-size: 18px;
    }

    a.quad .text {
        font-size: 12px;
    }

    a.quad .title,
    a.quad:hover .title {
        display: block;
        font-size: 18px;
    }

    a.quad .text,
    a.quad:hover .text {
        display: none;
    }

}


@media screen and (max-width: 800px) {

    #main {
        margin-top: 0;
    }

    #main > .page:first-child {
        padding-top: 0;
    }

    #content {
        margin: 0;
    }

    #header {
        display: none;
    }
    
    .header2.lx {
        _display: none;
    }

    #mobileHeader {
        display: block;
        padding: 0;
        margin: 0 -20px;
        min-width: 100%;
        _height: 38px;
        height: 58px;
        text-align: center;

        background: #fafafa !important;
    }

    #mobileTopBar {
        display: block;
        position: relative;
        z-index: 0;
        padding: 0;
        margin: 0 -20px;
        height: 40px;
        background: #fafafa;
    }

    #mobileLogo {
        display: block;
        position: absolute;
        z-index: 100;
        top: 20px;
        left: 20px;
        width: 320px;
        max-width: 38%;
        height: 60px;
        background: url(images/logo_230.png) 0 0 no-repeat;
        background-size: contain;
    }

    .cMeta #mobileHeaderImg,
    .home #mobileHeaderImg {
        display: block;
        position: relative;
        z-index: 20;
        margin: -30px -20px 0;
        height: 320px;
        background-size: contain;
        background-repeat: no-repeat;
    }

    div.logo {
        margin-right: 8px;
        padding: 12px;
        height: 60px;
        width: 52px;
        background-size: contain;
    }

    .mainTitle,
    .mainTitle:hover,
    .mainTitle:visited  {
        margin: 24px 0;
        padding: 6px;
        height: 72px;
    }

    .mainTitle h1 {
        font-size: 30px;
        line-height: 34px;
        margin-bottom: 6px;
    }
    .mainTitle h2 {
        font-size: 14px;
        line-height: 18px;
    }

    #nav {
        display: none;
    }

    #content .contentMeta {
        padding-top: 10px;
    	margin-bottom: 10px;
    }


    #drawerDismiss {
        display: none;
        position: fixed;
        z-index: 1200;
        top: 0;
        left: 0;
        min-width: 100%;
        min-height: 100%;
        background: none;
        cursor: pointer;
        transition: 0.3s;
    }

    #drawer {
        display: block;
        z-index: 2000;
        width: 240px;
        min-height: 100%;
        background: #fafafa;
        position: fixed;
        top: 0;
        right: -240px;
        transition: 0.3s;
    }

    .mobileNav {
        -webkit-box-sizing: border-box;
        -moz-box-sizing: border-box;
        box-sizing: border-box;
        position: absolute;

        z-index: 0;
        top: 0;
        left: 0;
        margin: 0;
        padding: 70px 0 20px;
        width: 100%;
        height: 100%;
        overflow: auto;
    }

    ul.navMobile ul {
        display: none;
    }

    ul.navMobile .active ul {
        display: block;
    }

    ul.navMobile ul a,
    ul.navMobile ul a:hover,
    ul.navMobile ul a:active,
    ul.navMobile ul a:visited {
        padding: 0 12px 0 20px;
        font-size: 16px;
    }



    .panel-open #drawer {
        right: 0;
        box-shadow: 0 2px 2px 0 rgba(0,0,0,.14),0 3px 1px -2px rgba(0,0,0,.2),0 1px 5px 0 rgba(0,0,0,.12);
    }

    .panel-open #drawerDismiss {
        display: block;
        background: rgba(0,0,0,0.5);
    }

    #news .newsTitleBar h1 {
        display: none;
    }

    .pagetitle {
        margin-left: 0px;
    }

    .ce-gallery img {
        max-width: 100%;
        height: auto;
    }

    .grid-2cols70-30 .col2 h2 {
        font-size: 24px;
    }

    a.quad .title,
    a.quad:hover .title {
        font-size: 16px;
    }

    .grid-2cols30-70 .col1 h1,
    .grid-2cols70-30 .col2 h1 {
        font-size: 24px;
    }

} /* max-width: 800px */


/* lpc_changepassword */

.tx-lpc-changepassword .logoutLink,
.tx-lpc-changepassword .username {
	display:none !important;
}


/* flash messages */

body {
	font-family:sans-serif;
}

ul.typo3-messages {
	list-style:none;
	padding:0 !important;
}

ul.typo3-messages li.alert {
	padding:15px 7px 15px 54px;
	border:1px solid #ccc;
	background-color:#eee;
	position:relative;
}
ul.typo3-messages li.alert:before {
	font-family:FontAwesome;
	position:absolute;
	left:7px !important;
	top:50% !important;
	margin:-19px 0 0 !important;
	font-size:26px !important;
	width:32px !important;
	text-align:center;
	border-radius:19px;
	padding:3px !important;;
	line-height:32px;
}

ul.typo3-messages li.alert h4 {
	margin:4px 0;
}

ul.typo3-messages li.alert.alert-danger {
	border-color:#eaa;
	background-color:#fee;
	color:#511;
}
ul.typo3-messages li.alert.alert-danger:before {
	content:'\f00d' !important;
	background-color:#eaa;
}

ul.typo3-messages li.alert.alert-notice {
}
ul.typo3-messages li.alert.alert-notice:before {
	content:'\f0eb' !important;
	background-color:#ccc;
}

ul.typo3-messages li.alert.alert-warning {
	border-color:#efc077;
	background-color:#ffe8aa;
	color:#831;
}
ul.typo3-messages li.alert.alert-warning:before {
	content:'\f12a' !important;
	background-color:#efc077;
}

ul.typo3-messages li.alert.alert-success {
	border-color:#5c5;
	background-color:#ded;
	color:#040;
}
ul.typo3-messages li.alert.alert-success:before {
	content:'\f00c' !important;
	background-color:#5c5;
}

ul.typo3-messages li.alert.alert-info {
	border-color:#9ae;
	background-color:#def;
	color:#015;
}
ul.typo3-messages li.alert.alert-info:before {
	content:'\f129' !important;
	background-color:#9ae;
}


/* lpc form */

.lpcForm {
	width:100%;
}

.lpcForm .lpcFormGroup {
	display:flex;
	flex-flow:row wrap;
	align-items:center;
}

.lpcForm .lpcFormGroup > label,
.lpcForm .lpcFormGroup > .emptyCell,
.lpcForm .lpcFormError:before,
.lpcForm .lpcFormGroup.aligned:before {
	width:20%;
	min-width:10em;
	padding:0.5em 1em 0.4em 0;
	flex-grow:1;
	line-height:16px;
	box-sizing:border-box;
}

.lpcForm .lpcFormGroup > .text {
	padding:0.7em 1em 0.4em 0;
	line-height:16px;
}

.lpcForm .lpcFormGroup input,
.lpcForm .lpcFormGroup textarea,
.lpcForm .lpcFormGroup select,
.lpcForm .lpcFormGroup button {
	flex-grow:10;
	padding:5px 8px;
	margin:0.2em 0;
	white-space:nowrap;
	font-size:16px;
	border:1px solid #aaa;
	width:300px;
}

.lpcForm .lpcFormGroup.aligned > div {
	flex-grow:10;
	padding:0;
	margin:0.2em 0;
	white-space:nowrap;
	width:300px;
}

.lpcForm .lpcFormGroup.error input,
.lpcForm .lpcFormGroup.error textarea,
.lpcForm .lpcFormGroup.error select {
	border-color:#f99;
}

.lpcForm .lpcFormGroup input[type="checkbox"],
.lpcForm .lpcFormGroup input[type="radio"] {
	flex-grow:0;
	margin:0.5em 0.2em;
	transform:scale(1.2);
}

.lpcForm .lpcFormGroup input[type="submit"],
.lpcForm .lpcFormGroup button {
	flex-grow:0;
	margin-right:1em;
	width:auto;
}

.lpcForm .lpcFormError {
	color:#f00;
	margin-top:0.5em;
	margin-bottom:-0.2em;
	display:flex;
}

.lpcForm .lpcFormGroup.aligned:before {
	content:'';
}

.lpcForm .lpcFormError:before {
	content:'';
}

.lpcForm .lpcFormGroup textarea {
	resize: vertical;
}

.lpcForm .lpcFormGroup.mandatory label:after {
	content:' *';
	color:red;
}







/* ------------- media queries ------------- */
@media screen and (max-width: 700px) {

    .cMeta #mobileHeaderImg,
    .home #mobileHeaderImg {
        height: 280px;
    }

    .headerInfo {
        display: none;
    }

    h2.pageTitle {
        display: none;
    }

    .sitemap {
        padding: 40px;
    }
    .sitemap ul {
        display: block;
        margin: 0 0 20px;
    }

    .gridelements .grid {
        max-width: 100% !important;
    }

    .grid-2cols70-30 .col2 h2 {
        font-size: 28px;
    }

    .tx-felogin-pi1 label {
        display: block;
        float: none;
    }

    div.csc-mailform input[type="submit"],
    .tx-felogin-pi1 input[type="submit"] {
        margin-left: 0;
    }

    #content .contentMeta {
        margin-bottom: 0;
    }

    a.contentMetaPage:before {
        width: 130px;
        min-height: 130px;
    }

    a.quad .title,
    a.quad:hover .title {
        font-size: 21px;
    }

    a.quad .title,
    a.quad .text {
        padding: 12px
    }
}




@media screen and (max-width: 612px) {

    div.csc-mailform li.csc-form-element-checkbox input,
    div.csc-mailform li.csc-form-element-radio input {
        margin-left: 0;
    }

    a.contentMetaPage {
        margin-bottom: 20px !important;
    }

    a.contentMetaPage span {
        font-size: 14px;
    }

    .cMeta #mobileHeaderImg,
    .home #mobileHeaderImg {
        height: 230px;
    }

}


@media screen and (max-width: 475px) {

/*
    #mobileTopBar {
        height: 100px;
    }
*/
    .cMeta #mobileHeaderImg,
    .home #mobileHeaderImg {
        height: 180px;
    }

    div.csc-mailform li.csc-form-element-checkbox input,
    div.csc-mailform li.csc-form-element-radio input,.csc-form-element-submit input,
    .tx-felogin-pi1 input[type="submit"] {
        margin-left: 0;
    }

    a.contentMetaPage {
        max-width: none !important;
    }

    a.contentMetaPage:before {
        width: 80px;
        min-height: 80px;
        margin: 0 auto;
    }

    a.contentMetaPage span {
        max-width: 110px !important;
    }

    a.quad .title,
    a.quad:hover .title {
        font-size: 14px;
    }

    .tx-femanager label,
    .tx-femanager .controls {
        float: none;
        display: block;
        margin-left: 0;
    }
}


@media screen and (max-width: 375px) {

    .cMeta #mobileHeaderImg,
    .home #mobileHeaderImg {
        height: 140px;
    }

    a.contentMetaPage span {
        max-width: 80px !important;
        font-size: 12px;
    }

}
