/* global settings */
body {
 margin:0;
 padding:0;
 background-color:#ffffff;
 color: #000000;
 font:13px Open Sans;
}
a {
 color: #000000;
}
h1 {
 font-size: 22px;
}
h2 {
 font-size: 16px;
}
@media (min-width: 992px) {
 .maincol { padding-right: 50px; }
 .rightbar { padding-left: 50px; }
 .sticky {position: sticky; top: 0; }
}
.m0  { margin: 0vh 0; }
.m2  { margin: 2vh 0; }
.m4  { margin: 4vh 0; }
.m10 { margin: 10vh 0; }
.p0  { padding: 0vh 0; }
.p2  { padding: 2vh 0; }
.p4  { padding: 4vh 0; }
.p10 { padding: 10vh 0; }
.pa0  { padding: 0 0 0vh 0; }
.pa1  { padding: 0 0 1vh 0; }
.pa2  { padding: 0 0 2vh 0; }
.pa4  { padding: 0 0 4vh 0; }
.pa10 { padding: 0 0 10vh 0; }
.pl0 { padding-left: 0; }
.pr0 { padding-right: 0; }
.col-p0 { padding-top: 0vh; padding-bottom: 0vh; }
.col-p2 { padding-top: 2vh; padding-bottom: 2vh; }
.col-p4 { padding-top: 4vh; padding-bottom: 4vh; }
.col-pa0 { padding-bottom: 0vh; }
.col-pa2 { padding-bottom: 2vh; }
.col-pa4 { padding-bottom: 4vh; }
.col-flex {
 display: flex;
 flex-wrap: wrap;
}
h1,h2,h3,h4,h5,h6 {
 margin-top: -0.2em;
}
.invisible {
 display: none;
}
figure img {
 display: block;
 max-width: 100%;
 height: auto;
}

/* generic buttons */
.btn {
 color: #000000;
 background-color: #c6c6c6;
 padding: 5px 10px;
 cursor: pointer;
}
.btn:hover {
 color: #000000;
 background-color: #e0e0e0;
 transition: background-color 0.5s ease 0s;
}
a.btn {
 text-decoration: none;
}


/**** Content Elements ********/

/* headline */
.ce_headline {
 margin-bottom: 15px;
 line-height: 1.7;
}
h1.ce_headline {
 font-weight: bold;
}
h2.ce_headline {
 font-weight: bold;
}

/* text */
.ce_text {
 margin-bottom: 30px;
 line-height: 1.7;
}
.ce_text h1 {
 margin-bottom: 15px;
 font-weight: bold;
}
.ce_text h2 {
 font-weight: bold;
}
.ce_text h3 {
 font-size: 16px;
 font-weight: bold;
 color: #c50f2b;
}
.ce_text img {
 margin-top: 5px;
 margin-bottom: 15px;
}
.ce_text .caption {
 margin-top: -10px;
 margin-bottom: 15px;
 font-style: italic;
 font-size: 11px;
}
.ce_text ul {
 list-style-type: disc;
 padding-left: 1.5em;
}
.ce_text ol {
 padding-left: 1.2em;
}
.ce_text li {
 margin-bottom: 6px;
}
.ce_text td {
 padding-right: 10px;
}
.ce_text a:not(.btn):hover{
 color: #c50f2b ;
 transition: color 0.5s ease 0s;
}

/* check list */
.ce_text.checklist ul {
 position: relative;
 list-style: none;
 margin-left: 0;
 padding-left: 1.5em;	
}
.ce_text.checklist ul li:before {
 content: "✓";
 color: #00b0f0;
 position: absolute;
 left: 0;
}

/* quote text */
.ce_text.quote h1 {
 position: relative;
 font-size: 15px;
 font-weight: normal;
 font-style: italic;
 padding-left: 15px;
 padding-right: 30px;
 padding-top: 30px;
 padding-bottom: 20px;
}
.ce_text.quote h1:before{
 position: absolute;
 z-index: -1;
 margin-left: -15px;
 margin-top: -25px;
 font: normal 900 50px "Font Awesome 5 Free";
 color: #e0e0e0;
 content: "\f10d"; 
}
.ce_text.quote h1:after{
 position: absolute;
 z-index: -1;
 font-size: 50px;
 margin-left: -20px;
 margin-top: -2px;
 font: normal 900 50px "Font Awesome 5 Free";
 color: #e0e0e0;
 content: "\f10e";
}

/* two column text */
@media (min-width: 992px) {
.ce_text.twocol .textInner {
  column-count: 2;
  column-gap: 30px;
 }
}

/* image */
.ce_image {
 margin-bottom: 30px;
}

/* image with hover effect */
.ce_image.hover h2 {
 background-color: #c6c6c6;
 font-size: 16px;
 font-weight: bold;
 padding: 5px 10px;
 margin: 0px;
}
.ce_image.hover .caption h2,
.ce_image.hover .caption p {
 background-color: transparent;
 font-size: 18px;
}

/* video */
.ce_player {
 margin-bottom: 15px;
}
.ce_player h1 {
 line-height: 1.7;
 font-weight: bold;
 margin-top: 0;
 margin-bottom: 15px;
}
.ce_player video {
 width: 100%;
 height: 100%;
}
.ce_player .caption {
 margin-bottom: 15px;
 font-style: italic;
 font-size: 11px;
}


/* accordion single & folder */
.ce_accordionSingle .ui-accordion-header,
.ce_accordionStart .ui-accordion-header {
 cursor: pointer;
 outline: none;
 border-bottom: 1px solid #c6c6c6;
 margin-bottom: 10px;
 padding: 3px 10px 3px 0px;
 font-size: 14px;
}
.ce_accordionSingle .ui-accordion-header:after,
.ce_accordionStart .ui-accordion-header:after {
 font-weight: 900;
 content: "+";
 float: right;
}
.ce_accordionSingle .ui-accordion-header-active:after,
.ce_accordionStart .ui-accordion-header-active:after{
 content: "-";
}
.ce_accordionSingle .ui-accordion-header-active,
.ce_accordionStart .ui-accordion-header-active,
.ce_accordionSingle .ui-accordion-header:hover, 
.ce_accordionStart .ui-accordion-header:hover {
 color: #c50f2b;
 transition: color 0.5s, background-color 0.5s;
}

/* slider */
.ce_sliderStart .slider-control {
 display: none;
}
.ce_sliderStart .slider-control a {
 text-decoration: none;
}
.ce_sliderStart .slider-prev,
.ce_sliderStart .slider-next {
 visibility: hidden;
}
.ce_sliderStart .slider-prev:before,
.ce_sliderStart .slider-next:after {
 visibility: visible;
 font: normal 900 30px "Font Awesome 5 Free";
 color: #c6c6c6;
}
.ce_sliderStart .slider-prev:hover:before,
.ce_sliderStart .slider-next:hover:after {
 color: #e0e0e0;
 transition: color 0.5s ease 0s;
}
.ce_sliderStart .slider-prev:before {
 content: "\f0d9";
}
.ce_sliderStart .slider-next:after {
 content: "\f0da";
}
.ce_sliderStart.controls .slider-control {
 display: block;
 margin-bottom: 15px;
}
.ce_sliderStart.controls .ce_text {
 margin-bottom: 0;
}

/* form */
.ce_form {
 line-height: 1.7;
}
.ce_form h1 {
 margin-bottom: 15px;
 font-weight: bold;
}
.ce_form a {
 text-decoration: underline;
}
.ce_form .widget-select,
.ce_form .widget-text,
.ce_form .widget-textarea,
.ce_form .widget-checkbox {
 padding-bottom: 15px;
}
.ce_form .widget-select select,
.ce_form .widget-text input,
.ce_form .widget-textarea textarea {
 padding: 5px;
 border: 1px solid #c6c6c6;
 width: 100%;
 resize: vertical;
}
.ce_form .widget-select select {
 padding-left: 1px;
}
.ce_form .widget-checkbox .checkbox {
 margin-right: 5px;
}
.ce_form .widget button {
 background-color: #c6c6c6;
 padding: 5px 10px;
 cursor: pointer;
 border: none;
}
.ce_form .widget button:hover {
 background-color: #e0e0e0;
 transition: background-color 0.5s ease 0s;
}

/* login */
.mod_login.login {
 padding-bottom: 200px;
}
.mod_login.logout {
 padding-bottom: 30px;
}
.mod_login .widget {
 display:table-row;
}
.mod_login .widget label {
 display: table-cell;
 padding-right: 15px;
}	
.mod_login .widget input {
 display: table-cell;
 padding: 5px;
 border: 1px solid #c6c6c6;
 margin-bottom: 15px;
}
.mod_login .widget button {
 background-color: #c6c6c6;
 padding: 5px 10px;
 cursor: pointer;
 border: none;
}
.mod_login .widget button:hover {
 background-color: #e0e0e0;
 transition: background-color 0.5s ease 0s;
}
.mod_login .login_info {
 display: none;
}
.mod_login .error {
 line-height: 1.7;
}

/* downloads */
.ce_downloads .item {
 margin-bottom: 30px;
 line-height: 1.7;
}
.ce_downloads img {
 margin-top: 5px;
 margin-bottom: 15px;
 border: 1px solid #e0e0e0;
}

/* gallery */
.ce_gallery .img-responsive {
 padding: 0 10px 30px 10px;
}
.ce_gallery .caption {
 padding-top: 10px;
}

/* article */
.mod_article {
 background-size: cover;
}


/**** Page Elements ********/

/* rightbar */
.rightbar {
 border-left-color: #c6c6c6;
 border-left-style: solid;
 border-left-width: 1px;
}

/* headbar */
.headbar {
 position: relative;
 padding:20px 0 2vh 0;
}
.headbar .icons {
 padding-top: 28px;
}
.headbar .icons a {
 text-decoration: none;
}
.headbar .loginicon,
.headbar .searchicon,
.headbar .langicon {
 cursor: pointer;
}
.headbar .searchform {
 display: none;
 position: absolute;
 width: 40%;
 right:60px;
 z-index: 10;
}
.headbar .searchform input,
.headbar .searchform input:focus{
 width: 100%;
 outline: none;
 padding:15px;
 border: 2px solid #c6c6c6;
}

/* cookiebar */
.cookiebar {
 display: none;
 position: fixed;
 margin: 0;
 padding: 0;
 bottom: 0;
 right: 0;
 width: 100%;
 z-index: 20;
 background-color: #404040c0;
 color: #ffffff;
 padding: 15px 30px 5px 30px;
 font-size: 14px;
}
.cookiebar.ce_text a {
 color: #ffffff;
}
.cookiebar.ce_text .btn {
 background-color: #ffffff;
}

/* footbar */
.footbar {
 margin-top: 80px;
 padding-top: 30px;
 background-color:#c6c6c6;
 border-bottom: 3px solid #9d002c;
}
.footbar .container {
 position: relative;
}
.footbar .frame {
 position: absolute;
 top: -90px;
 left: -45px;
 bottom: 0;
 right: -45px;
 border-top: calc((4vw + 4vh + 2vmin)*0.21) solid #61b4d9;
 border-left: calc((4vw + 4vh + 2vmin)*0.21) solid #61b4d9;
 border-right: calc((4vw + 4vh + 2vmin)*0.21) solid #61b4d9;
}
.footbar h1 {
 color: #424242;
 font-size: 14px;
}
.footbar .ce_text h2 {
 color: #424242;
 font-size: 16px;
 font-weight: bold;
}
.footbar .ce_text p {
 color: #424242;
 padding-bottom: 5px;
 margin-bottom: 5px;
 border-style: none none solid none;
 border-width: 1px;
}
.footbar .ce_text p:last-child {
 border-style: none;
 margin-bottom: 20px;
}
.footbar .ce_text a{
 color: #424242;
 text-decoration: none;
}
.footbar .ce_text a:hover {
 color: #c50f2b;
 transition: color 0.5s ease 0s;
}


/**** Navigation ********/

/* desktop navi */
.desktopnavi {
 padding-left: 0px;
 padding-top: 28px;
 font-size: 14px;
}
.desktopnavi a {
 text-decoration: none;
}
.desktopnavi .level_1 li {
 float: left;
 padding:0px 15px 0px 15px;
}
.desktopnavi .level_1 li strong {
 font-weight: normal;
}
.desktopnavi .level_1 li a{
 color:#424242;
}
.desktopnavi .level_1 .active,
.desktopnavi .level_1 .forward {
 color: #c50f2b;	
}
.desktopnavi .level_1>.submenu>.trail span {
 color: #c50f2b;
}
.desktopnavi .level_1 li a:hover{
 color: #c50f2b;
 transition: color 0.5s ease 0s;
}
.desktopnavi ul.level_1 li:hover ul.level_2,
.desktopnavi ul.level_2 li:hover {
  visibility: visible;
}
.desktopnavi ul.level_2 {
 width: 180px;
 position: absolute;
 padding-top: 10px;
 visibility: hidden;
 z-index: 999;
}
.desktopnavi .level_2 li {
 float: none;
 border-top: 1px solid rgba(255,255,255,0.1);
 padding: 10px 10px 10px 10px;
 background-color: #9d002c;
 text-transform: none;
}
.desktopnavi .level_2 strong.active {
 color: #ffffff;
 margin-left: 10px;
}
.desktopnavi .level_2>.trail span{
 margin-left: 10px;
}
.desktopnavi .level_2 li span {
 display: inline-block;
 width: 100%;
 color: #ffffff;
}	
.desktopnavi .level_2 li span:hover{
 color: #ffffff;
 margin-left: 10px;
 transition: margin-left 0.5s ease 0s;
}

/* mobile navi pane */
.navibutton {
color: #9d002c;
 cursor: pointer;
 font-size: 24px;
 position: absolute;
 top: 0px;
 z-index: 99;
 left: 22px; 
 width: 30px;
 display: none;
}

.navipane {
 height: 100%;
 width: 60%;
 background-color: #ffffff;
 display: none;
 overflow: auto;
 position: fixed;
 top: 0px;
 z-index: 999;
}

/* mobile navi */
.mobilenavi {
 display: none;
}
.mobilenavi a {
 text-decoration: none;
}
.mobilenavi ul.level_1 {
 position: absolute;
 padding-top: 50px;
}
.mobilenavi .level_1 li {
 float: none;
 color: #9d002c;
 font-size: 18px;
 padding: 10px 0px 0px 15px;
}
.mobilenavi .level_1 li a{
 color:#000000;
}
.mobilenavi .level_2 li {
 float: none;
 font-size: 16px;
}
.mobilenavi .level_2 li a{
 color:#808080;
}

/* navi media switch */
@media (max-width: 750px) {
 .navibutton {
  display: block;
 }
 .mobilenavi {
  display: block;
 }
 .desktopnavi {
  display: none;
 }
 .logo {
  margin-left: 40px;
 }
}

/**** Page specific elements ********/

/**** Home ****/

.home .ce_sliderStart {
 padding-top: calc((4vw + 4vh + 2vmin)*0.2);
 padding-bottom: calc((4vw + 4vh + 2vmin)*0.8);
}
.home .slider-headline {
 position: absolute;
 z-index: 1;
 top: 0;
 left: 25%;
 height: 100%;
 width: 50%;
 border: calc((4vw + 4vh + 2vmin)*0.21) solid #61b4d9;
 display: flex;
 align-items: flex-end;
}
.home .slider-headline h2{
 font-size: calc((4vw + 4vh + 2vmin)*0.2);
}
.home .slider-wrapper .ce_text {
 margin: 0;
}
.home .slider-wrapper .ce_text .blockInner {
 display: inline-block;
/* background-color: #c4c4c4; */
}
.home .slider-wrapper .ce_text .image_container {
 width: 75%;
 float: right;
}
.home .slider-wrapper .ce_text .image_container img {
 margin: 0;
}
.home .slider-wrapper .ce_text .textInner{
 width: 25%;
 padding: 10% 2% 2% 0%;
}
.home .slider-wrapper .ce_text .textInner h1{
 font-size: calc((4vw + 4vh + 2vmin)*0.2);
}
.home .slider-wrapper .ce_text .textInner h2{
 font-size: calc((4vw + 4vh + 2vmin)*0.14);
}

/* parallax */
.home .parallax {
 background-attachment: fixed;
}
.home .parallax .ce_text {
 background-color: #404040c0;
 border: 15px solid transparent;
 background-clip: padding-box;
 color: #ffffff;
 margin-top: 50px;
 margin-bottom: 100px;
 padding: 15px;
}

/* banner */
.home .banner {
 padding-top: 4vh;
 margin-bottom: 2vh;
}
.home .banner .ce_text {
 margin-bottom: 0;
}
.home .banner .ce_text a{
 text-decoration: none;
}
.home .banner .ce_text a:hover {
 color: #c50f2b;
 transition: color 0.5s ease 0s;
}

/* news-list */
.home .mod_newslist {
 display: flex;
 flex-wrap: wrap;
}
.home .mod_newslist .layout_full {
 margin-bottom: 30px;
}
.home .mod_newslist h2 {
 font-weight: bold;
}
.home .mod_newslist .ce_text {
 margin-bottom: 15px;
}
.home .mod_newslist a {
 text-decoration: none;
 visibility: hidden;
}
.home .mod_newslist a:before {
 visibility: visible;
 background-color: #c6c6c6;
 color: #000000;
 padding: 5px 10px;
}
.home .mod_newslist.de a:before {
 content: "Mehr erfahren";
}
.home .mod_newslist.en a:before {
 content: "Find out more";
}
.home .mod_newslist a:hover:before {
 background-color: #e0e0e0;
 transition: background-color 0.5s ease 0s;
}


/**** Loesungen ****/

/* solution map text */
.solutionMap .ce_text a {
 text-decoration: none;
}
.solutionMap .ce_text a:hover {
 opacity: 0.5;
}
.solutionMap .ce_text h1 {
 line-height: 1.0;
 font-size: 80px;
 padding-top: 3px;
 margin-bottom: 0;
}
.solutionMap .ce_text h2 {
 line-height: 1.0;
 margin-bottom: 5px;
}
.solutionMap .image_container {
 padding-bottom: 50px;
 padding-left: 15px;
 padding-right: 15px;
}


/**** Downloads ****/

/* news list */
.downloads .mod_newslist .item {
 margin-bottom: 30px;
 line-height: 1.7;
}
.downloads .mod_newslist img {
 margin-top: 5px;
 margin-bottom: 15px;
 border: 1px solid #e0e0e0;
}
.downloads .mod_newslist.de a.btn:before {
 content: "Mehr erfahren";
}
.downloads .mod_newslist.en a.btn:before {
 content: "Find out more";
}

/* events list */
.events.mod_eventlist .event {
 margin-bottom: 30px;
 line-height: 1.7;
}
.events.mod_eventlist img {
 margin-top: 5px;
 margin-bottom: 15px;
 border: 1px solid #e0e0e0;
}


/* magic numbers table */
.ce_text.magicNumbers td {
 vertical-align: text-bottom;
 padding-bottom: 30px;
}
.ce_text.magicNumbers td:first-child {
 color: #61b4d9;
 font-size: 30px;
 font-weight: bold;
 text-align: right;
}


/**** Search results ****/

.searchresults form {
 display: none;
}
.searchresults h3 {
 font-size: 14px;
 font-weight: bold;
}
.searchresults a {
 text-decoration: none;
}
.searchresults mark {
 background-color: transparent;
 font-weight: bold;
 color: #c50f2b;
}

