@font-face {
  font-family: 'din-regularregular';
  src: url('fonts/dinrg___-webfont.woff2') format('woff2');
  font-weight: normal;
  font-style: normal;
}
@font-face {
  font-family: 'din-mediumregular';
  src: url('fonts/dinmd___-webfont.woff2') format('woff2');
  font-weight: normal;
  font-style: normal;
}
body,
h1, h2, h3, h4, h5, h6, txt-regular,
.accordion dd > a, .tabs .tab-title > a {
  font-family: "din-regularregular", "Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif;
}
.top-bar-section ul li > a,
button, .button {
  font-family: "din-mediumregular", "Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif;
}
strong, th, h3, p.txt-lead, p.txt-lead a {
  font-family: "din-mediumregular", "Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif;
  font-weight: normal !important;
}
th.txt-regular {
  font-family: "din-regularregular", "Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif;
}
small { font-size: 80%; }
p.small { font-size: 0.8em; line-height: 1.6em; }
p.small small { font-size: 1em; }

body {
  background: #ddd;
  color: #333;
}
.xor-head {
  background: #333;
  padding:10px 0;
}
.xor-main {
  background: #fff;
  padding-bottom: 1em;
}
.xor-foot {
  background: #ddd;
}
h1, h2, h3 {
	line-height:1.2;
  margin-top: 1em;
  margin-bottom: 1.25rem;
  color: #333;
}
h1 { 
  letter-spacing:-1px;
}
p {
  overflow: hidden;
}
a {
	color: #cc0000;
}
a:hover, a:focus {
	color: #ff0000;
}
.active a, a.active {
  color: #333;
}
.txt-red { color:#cc0000; }
button, .button {
	background-color: #cc0000;
	padding: 0.5rem 0.75rem 0.5625rem 0.75rem;
  margin-bottom: 5px;
}
button:hover, button:focus, .button:hover, .button:focus {
	background-color: #ff0000;
}
.xor-main img {
  margin-top: 5px;
}
.xor-main .slick img,
.xor-main .xor-panels img {
  margin-top: 0;
}
.img-float-l {
  float:left;
  margin:0 1em 0.75em 0;
}
.img-inline {
  margin-top:0;
  vertical-align:top;
}
.clear { clear:both; }
.hide { display:none; }
.row .row { margin-left:-10px; margin-right:-10px; }
.row.space-top { padding-top:2rem; }
.row.nospace-bottom { padding-bottom:0; }
.row.margin-bottom { margin-bottom:1.25rem; }
iframe {
  max-width: 100%;
  font-size: 1rem;
  margin-top: 5px;
  margin-bottom: 1.25rem;
}
.nospace-top { margin-top:0; padding-top:0; }
.nospace-bottom { margin-bottom:0; padding-bottom:0; }
.justifyright { text-align: right; }
.linksInlineSeparator.last { display:none; }
.reveal-modal .close-reveal-modal { right: 0.5rem; padding: 0.5rem; top:0; color: #cc0000; }
.nowrap { white-space: nowrap; }

/* table */
table {
  border-collapse:separate;
  border-spacing:2px;
  width:100%;
  margin: 1.5rem 0;
}
td, th {
  vertical-align: top;
  font-size: 1rem !important;
  line-height: 1.6 !important;
}
table tr th, table tr td, table thead tr th, table thead tr td { color:#333; }
thead td { font-weight: normal !important; }
.tablewrapper { margin: 1.5rem 0; overflow-x:auto; }
.tablewrapper table { margin:0; }

/* forms */
form {
  margin-top: 5px;
}
input[type="text"], input[type="password"], input[type="email"], input[type="number"], input[type="tel"], input[type="url"], textarea, select {
  background-color: #f8f8f8;
  font-size:16px;
}
input[type="checkbox"]+label, input[type="radio"]+label {
  margin-left: 0.33rem;
}
label { font-size: 1rem; }
.input-wrapper.checkbox label {
 line-height: 1.25em; font-size: 1rem; display: flex; 
}
.input-wrapper.checkbox label input {
  width: 1.25em; height: 1.25em; accent-color: #ff0000;margin-right: 0.5em;
}
select {
  padding:0.35rem 0.5rem 0.5rem 0.5rem;
}
[data-abide] .error small.error, [data-abide] span.error, [data-abide] small.error {
  background: #f08a24;
  font-style: normal;
}
.alert-box {
  font-size: 1em !important;
  line-height:1.2;
}
.alert-box.hide {
  display:none;
}
.g-recaptcha {
  margin: -4px 0 20px 0;
}
::placeholder { /* Chrome, Firefox, Opera, Safari 10.1+ */
  color: #999;
  opacity: 1; /* Firefox */
}
:-ms-input-placeholder { /* Internet Explorer 10-11 */
  color: #999;
}
::-ms-input-placeholder { /* Microsoft Edge */
  color: #999;
}
#file-uploader-file {
  margin-top: 0.5em;
}
#file-uploader-file .delete-button {
  display:none;
}
.file-uploader-items .delete-button {
  background: url(../../images/delete.png);
  height: 15px;
  position: absolute;
  right: 0 !important;
  top: 0 !important;
} 
.qq-clear-button, .qq-upload-button {
  border-bottom: 0 !important;
  margin-right: 7px;
  width: auto !important;
}
.qq-clear-button, .qq-upload-button {
	background-color: #555 !important;
	padding: 0.5rem 0.75rem 0.5625rem 0.75rem !important;
  margin-bottom: 5px !important;
}
.qq-clear-button:hover, .qq-clear-button:focus, .qq-clear-button:hover, .qq-clear-button:focus,
.qq-upload-button:hover, .qq-upload-button:focus, .qq-upload-button:hover, .qq-upload-button:focus {
	background-color: #333 !important;
}
.qq-upload-button::after {
  cursor: pointer !important;  
}
/* range slider switch */
.range-slider { margin: 0.333rem 0 1.5rem 0; }
.switch { margin-bottom: 1rem; }
.switch input[type="checkbox"]+label { margin-left: 0; }

/* isl download message */
#messageDownload { display:none; background: #008CBA; color: #fff; }

/* icons */
.ico-status-1 { color:#43AC6A; } /*green*/
.ico-status-2 { color:#F08A24; } /*orange*/
.ico-status-3 { color:#F04124; } /*red*/
.ico-status-4 { color:#008CBA; } /*blue*/
.ico-status-off { color:#777; }
.ico-white { color:#fff; }

/* panels */
.xor-panels { margin-bottom:1.25rem;  margin-top:1.25rem; }
.xor-panels.nospace-bottom { margin-bottom:0; }
.xor-panels > div {
	margin:10px 0;	
}
.xor-panels > div > a {
	background: #ddd;
	display:block;
	height:100%;
  overflow: hidden;
}
.xor-panels > div > a:hover {
  background: #eee;
  transition: background-color 300ms ease-out;
}
.caption {
	background: #ddd;
	display: block;
	padding: 0.5rem;
}
.xor-panels a .caption {
  background: #c00;
  color: #fff;
  height: 1.5em;
  line-height: 0.5em;
}
.xor-panels a:hover .caption {
  background-color: #f00;
}
.xor-panels .caption {
  background: transparent;
}
.img-grow {
  overflow: hidden;
  display: block;
}
html.no-touch .xor-panels a:hover img {
  transition: all 300ms ease;
  -moz-transform:     matrix(1.2,0,0,1.2,0,0);
  -webkit-transform:  matrix(1.2,0,0,1.2,0,0);
  -o-transform:       matrix(1.2,0,0,1.2,0,0);
  transform:          matrix(1.2,0,0,1.2,0,0);
}

/* chart panels */
.chartpanel { border:solid 1px #ddd; padding:10px; height:100%; }
.chart { overflow:hidden; margin:4px 0; }
.chart > .chartbar { border-right: 2px solid #fff; }
.chart > .chartbar ~ .chartbar { border: none; }
.chartbar { background: #999; height: 20px; float: left; }
.chartbar.plus { background: #ddd; }
@keyframes plus {
  0%   { width: 0%; opacity: 0; background-color: #999; }
  20%  { width: 0%; opacity: 1; background-color: #999; }
  50%  { width: 100%; }
  55%  { background-color: #999; }
  70%  { background-color: #c00; }
  90%  { opacity: 1; }
  99%  { width: 100%; opacity: 0; background-color: #c00;}
  100% { width: 0%; opacity: 0; background-color: #999; }
}
.chartbar.plus .chartbar {
  animation: plus 10s infinite;
}
@keyframes minus {
  0%   { width: 0%; opacity: 0; background-color: #ddd; }
  20%  { width: 0%; opacity: 1; background-color: #ddd; }
  50%  { width: 100%; }
  55%  { background-color: #ddd; }
  70%  { background-color: #c00; }
  90%  { opacity: 1; }
  99%  { width: 100%; opacity: 0; background-color: #c00;}
  100% { width: 0%; opacity: 0; background-color: #ddd; }
}
.chartbar.minus .chartbar {
  animation: minus 10s infinite;
  float: right;
}

/* accordion */
.accordion .plus,
.accordion .minus {
  display: block;
  float: right;
  padding: 0 0 0.25em 1em;
  font-size: 1.5em;
  line-height: 1em;
}
.accordion .minus{
  display:none;
}
.accordion .active .plus{
  display:none;
}
.accordion .active .minus{
  display:block;
}
.accordion dd > a {
  background:#ddd;
  color:#c00;
  font-size:1.5rem;
  margin:0.25em 0 0.75em 0;
  padding:0.5rem;
}
.accordion .content {
  padding: 0.75rem 0 0.5rem 0;
}
.accordion .accordion-navigation>.content, .accordion dd>.content {
  padding: 0;
}
.accordion .content a {
  color: #cc0000;
}
.accordion .content a.button {
  color: #ffffff;
}
/*.accordion .row { margin-left:-10px; margin-right:-10px; }*/
.accordion h2:first-of-type,
.accordion h3:first-of-type { margin-top:0; }

/* tabs  */
.tabs .tab-title > a {
  background: #eee;
  color: #c00;
  padding: 0.5rem;
  border: 1px solid #eee;
  border-bottom: 1px solid #ddd;
  text-align: center;
}
.tabs .tab-title.active > a {
  background: #fff;
  color: #222;
  border: 1px solid #ddd;
  border-bottom: 1px solid #fff;
}
.tabs-content {
  margin-bottom: 1.25rem;
  border: 1px solid #ddd;
  border-top: 0;
  padding: 0 1rem;
}

/* tool tips  */
.has-tip {
  border: none;
  font-weight: normal;
}
.has-tip:hover {
  border: none;
  color: #ff0000;
}

/* funktionen */
.module-grid-element {
  background: #ddd;
  font-size: 1.25rem;
  font-family: "din-mediumregular", "Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif;
  line-height: 2em;
  margin: 0 0 0.5em 0;
  transition: background-color 300ms ease-out;
}
.module-grid-element:hover {
  background: #e3e3e3;
}
.module-grid-element img {
  margin:0.2rem 0.5rem 0 0.5rem;
  width:32px;
  height:32px;
  vertical-align: top;
}
.module-grid-element a {
  display: inline-block;
  color: #333;
  width: 85%;
}
.module-grid-element .check {
  cursor: pointer;
  width: 32px;
  display: inline-block;
  background: none;
  color: #fff;
  display: inline-block;
  float: right;
}
.module-grid-element.modul-mobile-true i.fa {
  display:inline-block;
}
.module-grid-element .img-inline {
  width:16px !important;
  height:16px !important;
  margin:0.5rem 0 0 0 !important;
  opacity:0.25;
}
.module-grid-element .check img {
  margin: 0.375rem 0 0 0;
  width: 24px;
  height: 26px;
  vertical-align: top;
}
.fa.inline {
  font-size: 1.25rem;
  vertical-align: text-top;
  margin:0 2px;
}
/* funktionen side column  */
.col-side .row { margin-left: 10% }

.col-side { display:none; background-color:#aaa; color:#fff; width:250px; float:left; min-height:100vh; }
.col-side .module-grid-element { font-size: 1rem; line-height: 43px; margin: 0; background:transparent; list-style: none; }
.col-side .module-grid-element .title { height: 45px; padding: 1px 0 0 1rem; }
.col-side .module-grid-element a { padding:2px 0 0 0.5em; width:100%; }
.col-side .module-grid-element a:hover,
.col-side .module-grid-element.active a { background:#bbb;  }
.col-side .module-grid-element img { margin: 0.25rem 0.5rem 0 0.5rem; }
@media only screen and (min-width: 90.063em) {
  .col-main { width:calc(100% - 250px); float:left; min-height:100vh; }
  .col-main .row { margin-left: 10% }
  .col-side { display:block; }
} /* min-width 1441px */


/* head/menu */
.top-bar .name p { line-height:18px; padding-top:5px; float:left; margin-bottom:0; font-size:1rem; }
.top-bar .name p.logo { line-height: 1; margin-top:7px; padding:0 10px; width:96px; }
.top-bar .name p a { color:#fff; width: auto; padding: 0; }
.top-bar-section ul li > a { font-size: 0.875rem; padding-left:10px; }
.top-bar-section .level1 > a { font-size:1rem; }
.top-bar-section .level1 > a:hover:after,
.top-bar-section li:hover > a:after { border-color: rgba(255, 255, 255, 1) transparent transparent transparent; }
.top-bar-section li a { background-color: #333; }
.top-bar-section li a:hover { background-color: #555 !important; }
.top-bar-section li:hover a { background-color: #444 !important; }
.top-bar-section li li a { background-color: #444 !important; }
.top-bar-section li li a:hover { background-color: #555 !important; }
.top-bar-section li.active a { background-color: #444 !important; }
.top-bar-section li.active a:hover { background-color: #555 !important; }
.top-bar-section li.active li.active a { background-color: #555 !important; }


/* slick slider */
.slick {
  display:none;
}
.slick-logos img {
  padding-left: 0.9375rem;
  padding-right: 0.9375rem;
}
.slick-logos.slick-slider {
  margin-bottom: 0;
}
.slick-dots {
  margin-left:0;
  bottom: initial;
}
.slick-prev:before, .slick-next:before {
  color:#c00;
  opacity:1;
}
.slick-prev:before, .slick-next:before {
  color:#c00;
  opacity:1;
}
.slick-prev:hover:before, .slick-next:hover:before {
  color:#f00;
}
button.slick-prev:hover, button.slick-next:hover, button.slick-prev:focus, button.slick-next:focus  { 
  background-color: #fff;
}
.slick-prev {
  left: -30px;
}
.slick-next {
  right: -30px;
}
.slick-prev, .slick-next {
  height: 30px;
  width: 30px;
}
.slick-prev::before, .slick-next::before {
  font-size: 30px;
}

/* scroll to top */
.scrollToTop {
  padding:0.5rem 0.75rem 0.5625rem 0.75rem; 
  background-color: #333;
  color: #fff;
  position:fixed;
  bottom:0;
  right:0;
  display:none;
}
.scrollToTop:hover {
  color: #fff;
  background-color: #555;
  transition: background-color 300ms ease-out;
}

/* videos, kundenbereich */
video { width:100%; max-width:100%; margin-bottom: 1.25rem; }
.videoList { list-style: none; margin-left: 0; }
.videoList a { padding: 0 0 0.5rem 0; display: inline-block; }
.videoList a:hover { color: #ff0000; }
.videoList .active a { color: #333; }

/* simple search */
.simplesearch-highlight { background-color: #ffffaa; }

/* cookie consent https://cookieconsent.insites.com */
.cc-revoke, .cc-window { font-family:inherit !important; }
.cc-compliance { padding: 0 0 0 1em; }
@media screen and (max-width: 414px) and (orientation: portrait), screen and (max-width: 736px) and (orientation: landscape) {
  .cc-compliance { padding: 0; }
  .cc-btn { width:100%; }
}

/* Change top bar break point */
meta.foundation-mq-topbar { font-family:"/only screen and (min-width:64.0625em)/";width:64.0625em }

/* Small screens */
@media only screen {} /* Define mobile styles */

@media only screen and (max-width: 40em) {
  select:focus, textarea:focus, input:focus {font-size:16px;} /* avoid zoom in input fields on iphone */
	.column, .columns, .slick-logos img { padding-left: 0.625rem; padding-right: 0.625rem; }
	h1 { font-size:1.6875rem; }
	h2 { font-size:1.25rem; }
	h3 { font-size:1rem; }
  .accordion dd > a { font-size:1.25rem; }
  .scrollToTop { position: relative; float: right; }
} /* max-width 640px, mobile-only styles, use when QAing mobile issues */

@media only screen and (max-width: 64.063em) {
  .top-bar-section li a { background-color: #444 !important; }
  .top-bar-section li a:hover { background-color: #555 !important; }
  .top-bar-section li.active a { background-color: #555 !important; }
  .top-bar-section li.active li a { background-color: #444 !important; }
  .top-bar-section .level1 > a:hover:after,
  .top-bar-section li:hover > a:after { border-color: transparent transparent transparent rgba(255, 255, 255, 1); transform:rotate(0deg); }
} /* change top bar break point */

/* Medium screens */
@media only screen and (min-width: 40.063em) {
  .module-grid-element { margin: 0.25em 0 0.75em 0; }
} /* min-width 641px, medium screens */

@media only screen and (min-width: 40.063em) and (max-width: 64em) { 
	.column, .columns, .slick-logos img { padding-left: 0.625rem; padding-right: 0.625rem; }
	h1 { font-size:2rem; }
	h2 { font-size:1.5rem; }
 	h3 { font-size:1.2rem; }
  .accordion dd > a { font-size:1.5rem; }
	p.txt-lead, p.txt-lead a { font-size:1.2rem; }
  .top-bar-section .level1 a { padding-right: 10px !important; }
} /* min-width 641px and max-width 1024px, use when QAing tablet-only issues */

/* Large screens */
@media only screen and (min-width: 64.063em) {
  .row .row { margin-left:-15px; margin-right:-15px; }
  dialog.large, .reveal-modal.large { width: 60%; }
  #doc251 .dropdown,
  .top-bar-section #doc251>a:after { display: none; }
  .top-bar-section #doc251>a { padding-right: 0.9375rem !important; }
} /* min-width 1025px, large screens */

@media only screen and (min-width: 64.063em) and (max-width: 90em) { 
	h1 { font-size:2.5rem; }
	h2 { font-size:1.875rem; }
	h3 { font-size:1.2rem; }
	p.txt-lead, p.txt-lead a { font-size:1.2rem; }
} /* min-width 1025px and max-width 1440px, use when QAing large screen-only issues */

/* XLarge screens */
@media only screen and (min-width: 90.063em) {
  dialog.large, .reveal-modal.large { width: 40%; }
} /* min-width 1441px, xlarge screens */

@media only screen and (min-width: 90.063em) and (max-width: 120em) { 
	h1 { font-size:2.5rem; }
	h2 { font-size:1.875rem; }
	h3 { font-size:1.2rem; }
	p.txt-lead, p.txt-lead a { font-size:1.2rem; }
} /* min-width 1441px and max-width 1920px, use when QAing xlarge screen-only issues */

/* XXLarge screens */
@media only screen and (min-width: 120.063em) { 
	h1 { font-size:2.5rem; }
	h2 { font-size:1.875rem; }
	h3 { font-size:1.2rem; }
	p.txt-lead, p.txt-lead a { font-size:1.2rem; }
} /* min-width 1921px, xlarge screens */

/* google conversion tracking pixel */
img[src*="googleadservices"] { position:absolute; }
