html {text-rendering: optimizeLegibility; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; position: relative; height: 100%; color: #666;}
body {overflow-x: hidden; font-size: 18px; margin-bottom: 0; padding-top: 0 !important; position: static; color: #333; font-family: 'Roboto', sans-serif; background-color: transparent;}

/* GENERAL */
h1, h2, h3, h4, h5, h6 {color: #000; font-weight: 400;  letter-spacing: 0.02em; position: relative;}

h1 {font-size: 28px; font-weight: 300; color: #333333; margin-bottom: 30px;}
h2 {font-size: 24px; font-weight: 300; color: #D80012; }
h3 {font-size: 20px; font-weight: 500; color: #333333; }
h4 {font-size: 20px; font-weight: 500;}

p {color: #333; font-weight: 300; font-size: 18px;}

.content-inner-right ul {padding-left: 20px;}

.align-center {text-align: center;}

caption, figcaption, .caption {font-size: 14px; line-height: 20px; font-style: italic; color: #666; margin-top: 5px;}
img {width: 100%; height: auto;}
a {color: #333;}
.content-inner-right a {color: #D80012;}
.content-inner-right .btn a {color: #fff;}
.content-inner-right a.btn {color: #fff;}
a:hover {text-decoration: none;}
a:hover, a:focus {outline: none; outline-offset: 0; text-decoration: none; color: #000000;}
hr {border: 0; height: 1px; margin: 30px 0; width: 100%; background: rgba(0,0,0,0.16); float: left;}

*:hover { -webkit-transition: all 0.3s ease-in-out; -moz-transition: all 0.3s ease-in-out; -ms-transition: all 0.3s ease-in-out; -o-transition: all 0.3s ease-in-out; transition: all 0.3s ease-in-out;}
*:after { -webkit-transition: all 0.3s ease-in-out; -moz-transition: all 0.3s ease-in-out; -ms-transition: all 0.3s ease-in-out; -o-transition: all 0.3s ease-in-out; transition: all 0.3s ease-in-out;}

::selection { background: #000000;  color: #fff;}
::-moz-selection { background: #000000;  color: #fff;}

label {font-size: 16px;}
select {height: 34px;}

blockquote {font-style: italic;}

b, strong {font-weight: 500;}

.important {color: #000000; font-weight: 400; font-size: 16px; margin-bottom: 25px; float: left;}

.center {text-align: center;}

/* HEADER */
.header {float: left; width: 100%; height: 159px; position: relative; z-index: 1000; background-color: rgba(255,255,255,0.1);}
.header div.row:first-of-type {border-bottom: 15px solid #D80012; margin-bottom: 10px;}
.header div.row:last-of-type {border-bottom: 1px solid #D80012; padding: 0;}

.logo {float: left; position: relative; margin: 15px 0 -15px 0; color: #fff; font-size: 24px; padding: 0; z-index: 1301; border-right: 15px solid #fff; border-left: 15px solid #fff;}

.header div.row.shrink {width: 100%; background-color: #fff;}

/*CONTACT WIDGET*/
.contact-widget {float:right; display: block; margin-top: 30px; font-weight: 300;}
.contact-widget a {color: #D80012;}
.contact-widget a:first-of-type:after {content: "|"; padding: 0 10px;}

/* CONTENT */
.content {position: relative; top: 0px; float: left; width: 100%;}
.content .container .content-inner-left { padding: 60px 30px 60px 0;}
.content .container .content-inner-right {padding: 60px 15px 100px 15px; font-weight: 300;}

.content-inner-right > div {float: left; clear:both; width: 100%;}

.mainpage .content { padding: 60px;}

.overview .content .container-contentheader {background-color: #F2F2F2;}
.overview .content .container-contentheader h1:after {height: 0;}
.content .container-contentheader .content-pagetitle h1 {padding: 30px 0; margin: 0;}
.content .container-contentheader .content-pagetitle h1:after {width: 90px; height: 1px; background-color: #D80012; content: " "; position: absolute; left: 0; bottom:20px;}

/* SWIPER */
#swiper {position: relative; top: 0px; left: 0; z-index: 999; width: 100%; float: left; clear: both; background-color: #f2f2f2;}
#swiper .swiper {overflow: hidden; position: relative; }
#swiper .container { position: relative; padding: 0;}
#swiper .swiper-wrapper {position: relative;}
#swiper .swiper-slide{ align-content: center; align-items: center; opacity: 0;}
#swiper .swiper-container { width: 100%;  height: 100%;  }
#swiper .swiper-caption {display: flex; align-items: flex-end; align-content: flex-end; font-weight: 500; font-size: 33px; width: 40%; height: 100%; position: absolute; top: 0; left: 0; padding: 0px 50px 50px 100px; margin: 0px auto 0 auto; background-color: rgba(0,0,0,0.2); color: #fff;}
#swiper .swiper-caption .swiper-caption-content {align-self: flex-end;}
#swiper .swiper-caption .swiper-caption-content {align-self: flex-end;}
#swiper .swiper-caption span {float: left; }
#swiper .swiper-caption .btn {float: left; clear: both; margin-top: 30px;}
#swiper .swiper-caption:before {content: " "; position: absolute; top: 0; left: 100px; background: url('images/icon-bow.png') no-repeat 0 0 transparent; width: 124px; height: 136px;}

#swiper .slidericon {width: 250px; height: 250px; position: absolute; top: calc(50% - 125px); opacity: 0.5; right: -50px;}

#swiper .swiper-button-next, #swiper .swiper-button-prev {width: 35px; height: 48px; display: none;}
.swiper-button-next, .swiper-container-rtl .swiper-button-prev { background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg' viewBox%3D'0 0 27 44'%3E%3Cpath d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z' fill%3D'%23333333'%2F%3E%3C%2Fsvg%3E"); }
.swiper-button-prev, .swiper-container-rtl .swiper-button-next { background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg' viewBox%3D'0 0 27 44'%3E%3Cpath d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z' fill%3D'%23333333'%2F%3E%3C%2Fsvg%3E"); }

.mainpage #swiper {min-height: 500px; background: -moz-linear-gradient(top,  #f2f2f2 0%, #f2f2f2 41%, #ffffff 41%, #ffffff 100%); background: -webkit-linear-gradient(top,  #f2f2f2 0%,#f2f2f2 41%,#ffffff 41%,#ffffff 100%);background: linear-gradient(to bottom,  #f2f2f2 0%,#f2f2f2 41%,#ffffff 41%,#ffffff 100%); filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f2f2f2', endColorstr='#ffffff',GradientType=0 );}
.mainpage #swiper .swiper-wrapper:after {content: " "; position: absolute; bottom: 0; left: 0; width: 100%; height: 30%; background-color: rgba(255,255,255,0.4); z-index:1200;}
.mainpage #swiper .swiper-caption { align-items: center; align-content: center;}
.mainpage #swiper .swiper-caption .swiper-caption-content { align-self: center;}
/*CONTENTSWIPER*/
#content .contentswiper {overflow: hidden; position: relative; max-height: 700px; width: 100%; padding: 60px 0;}
#content .contentswiper .swiper-wrapper {position: relative; width: 100%;}
#content .contentswiper .swiper-slide{ align-content: center; text-align: center; padding: 0 80px; }
#content .contentswiper .swiper-slide img{margin-bottom: 30px;}

/*FOOTER */
#footer {border-top: 1px solid #D80012; float: left; width: 100%; clear: both; position: relative; top:0; font-size: 16px; font-weight: 300; text-align: center; padding-bottom: 30px;}
#footer div.row:first-of-type div.container {background-color: #F2F2F2; padding: 0px; text-align: center;}
#footer div.row:first-of-type div.container > * {display: inline-block; padding: 30px 10px;}
#footer div.row:first-of-type div.container a {}
#footer div.row:first-of-type div.container img {width: auto;}

.footermenu { margin: 30px auto 15px auto; text-align: center;}
.footermenu li { list-style-type: none; display: inline-block; text-align: center;}
.footermenu a {font-weight: 300; width: 100%; padding: 30px 10px;}
.footermenu li:after {content: "| ";}
.footermenu li:last-of-type:after {content: "";}

/* BUTTONS + LINKS */
.btn {padding: 20px 30px; font-size: 18px; letter-spacing: 1px; line-height: 1;	text-align: center;}
.btn a {color: #fff;}
.btn-primary {-webkit-border-radius: 0; border-radius: 0; background-color: #D80012; border: 1px solid #D80012; color: #fff; font-weight: 500;}
.btn-primary:hover, .btn-primary:active, .btn-primary:focus {opacity: 0.5; background-color: #D80012; border-color:#D80012; }
.btn-danger {background-color: #000000; color: #fff; font-weight: 600; -webkit-border-radius: 0; border-radius: 0; border: 1px solid #000000;}
.btn-danger:hover, .btn-danger:active, .btn-danger:focus {background-color: #fff; color: #000000; font-weight: 700; border: 1px solid #000000; }
.btn-more {padding: 7px 14px; border-radius: 50%; text-shadow: none; height: 43px; width: 45px; line-height: 1.2;}

.btn.focus, .btn:focus { -webkit-box-shadow: none; -moz-box-shadow: none; box-shadow: none;}

/* FORMS */
.form-control {border-radius: 0;}
.form-control::placeholder {color: #333;}
.form-control::-moz-placeholder {color: #333;}

/*NAVIGATION*/
.navbar-collapse {margin-top: 0px;}

.navbar {padding: 0; width: 100%;}

.navbar-nav .nav-item {float: left; padding: 0 15px; position: initial;}
.navbar-nav .nav-item a {float: left; font-size: 24px; font-weight: 300; line-height: 28px; padding: 15px 23px;}
.navbar-nav .nav-item.show > a, .navbar-nav > li:hover > a  {background-color: rgba(255,255,255,0.94); -webkit-transition: all 0s ease-in-out; -moz-transition: all 0s ease-in-out; -ms-transition: all 0s ease-in-out; -o-transition: all 0s ease-in-out; transition: all 0s ease-in-out; }

.navbar-nav .nav-item.active > a {color: #D80012;}

.navbar-nav .dropdown-menu.show { display: grid; max-width: 100%; -moz-border-radius: 0; -webkit-border-radius:0; border-radius: 0; margin-top: 1px;}
.navbar-nav .dropdown-menu {  grid-template-columns: 50% 50%; padding: 3% 10%; margin: -1px 0 0 0; background-color: rgba(255,255,255,1); border: 0; }
.navbar-nav .dropdown-menu > li {}
.navbar-nav .dropdown-menu > li > a {padding: 10px 20px; color: #666; float: left; width: 100%; font-weight: 300; font-size: 18px; text-transform: none; line-height: 22px;}
.navbar-nav .dropdown-menu > li > a:hover {color: #D80012;}
.navbar-nav .dropdown-menu > li.active > a {color: #D80012; font-weight: 400;}

.navbar-nav .dropdown-menu:before,
.navbar-nav .dropdown-menu:after {content: " "; position: absolute; top:0; display: block; background-color: #fff; height: 100%; width: 100%;}
.navbar-nav .dropdown-menu:before {left: -100%;}
.navbar-nav .dropdown-menu:after {right: -100%;}

.menu2, .menu3 {display: none; list-style-type: none; float: left; padding-left: 0;}

.navbar-nav .nav-item .menu2 > li > a,
.navbar-nav .nav-item .menu3 > li > a { padding: 10px 20px; float: left;width: 100%;font-weight: 300;	font-size: 18px;text-transform: none;line-height: 22px;}

/*SUBMENU*/
.submenu {margin-bottom: 30px; padding: 0; width: 100%; list-style-type: none; float: left;}
.submenu li {list-style-type: none; float: left; width: 100%;}
.submenu > li a { padding: 5px 0px; color: #333; float: left; width: 100%; font-weight: 300;}
.submenu > li.active { border-top: 1px solid #D80012; border-bottom: 1px solid #D80012; padding: 15px 0; margin: 15px 0;}
.submenu > li.active > a { font-weight: 500; color: #D80012;}

.submenu li ul { padding: 0 0 0 0px; margin: 0;}
.submenu li ul li.active a {font-weight: 500;}

/*BREADCRUMB*/
.breadcrumb {background-color: transparent; left: 0px; position: relative; padding: 15px 25px; margin: 0; border-top: 1px solid rgba(0,0,0,0.19); -webkit-border-radius:0; -moz-border-radius:0; border-radius:0;}
.breadcrumb > li + li::before { padding: 0 5px; color: #000; content: " > ";  }
.breadcrumb > li, .breadcrumb > li > a { height: 18px; color: #000; font-size: 14px;letter-spacing: 1px; line-height: 17px; text-transform: uppercase;}
.breadcrumb > li > a {color: #4F4F4F;}

/*TABLES*/
table, .ce-table-striped {max-width: 100%; font-weight: 300;}
table tr, .ce-table-striped tr {max-width: 100%; border: 0;}
table th, .ce-table-striped th {font-weight: 700; background-color: #CBCBCB; color: #fff; border: 0 !important;}
table th p, .ce-table-striped th p {font-weight: 700;}
table td, .ce-table-striped td {max-width: 100%; border: 0 !important;}
table tr > *, .ce-table-striped tr > * {padding: 10px; border: 0;}

table td:first-of-type,
.ce-table-striped td:first-of-type,
table th:first-of-type,
.ce-table-striped th:first-of-type {padding-left: 60px;}

.ce-table-striped tbody tr:nth-of-type(2n+1) {background-color: #F2F2F2;}

/*DOWNLOADS*/
.downloads a {float: left; width: 100%; opacity: 0.7;}
.downloads .fa {float: right; font-size: 30px;}
.downloads a:hover {opacity: 1;}

/* NEWS */
.news .news-list-view .news-list-item {padding: 30px 100px; background-color: #F2F2F2; margin-bottom: 10px; }
.news .news-list-view .news-list-item a.read-more {color: #D80012;}

.news-detail-page #swiper {display: none;}
.news-detail-page #content {padding: 100px 0; min-height: 700px;}

.news-single .news-date {display: flex; align-self: center; font-size: 28px;color: #D80012;}

.pagination li{ display: inline-block; font-weight: 400; text-align: center; vertical-align: middle; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none;	user-select: none;	background-color: transparent;	border: 1px solid transparent;	padding: .375rem .75rem;	font-size: 1rem;	line-height: 1.5;	border-radius: .25rem;	transition: color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;    border-radius: 0;    background-color: #fff;    border: 1px solid #D80012;    color: #D80012;    font-weight: 500;    margin-right: 5px;}
.page-navigation p {display: none;}

/* PRODUCTPORTFOLIO */
.productportfolio {margin-bottom: 60px;}
.productportfolio h2 {margin-bottom: 20px;}
.productportfolio ul {padding: 50px; background-color: #F2F2F2; list-style-type: none; width: 100%;float: left;}
.productportfolio ul li { width: 100%;}
.productportfolio ul li span:first-of-type {width: 70%; float: left;margin-bottom: 5px;}
.productportfolio ul li span:first-of-type {width: 70%; float: left;margin-bottom: 5px;}
.productportfolio ul li span:last-of-type {font-weight: 500; color: #D80012; text-align: right; width: 30%; float: right;}
.productportfolio ul li p {margin-bottom: 0;}
.productportfolio .btn {float: right;}

.productportfolio li.margin-big span {margin-bottom: 30px !important;}

/* PRODUCTTEASER */
.productteaser {padding-top: 60px; padding-bottom: 60px;}
.productteaser span { min-height:90px; display: grid; text-align: center; align-items: center; align-self: center; align-content: center;}
.productteaser span b {font-weight: 500;}
.productteaser a {color: #333 !important;}
.productteaser a:hover {color: #D80012 !important;}

/* IMAGEGALLERY */
.imagegallery {padding: 60px 0;}
.imagegallery .caption {font-size: 14px; font-style: normal;}

/* POWERMAIL */
.tx-powermail .form-horizontal label {font-size: 14px; font-weight: 400; padding-top: 12px;}
.tx-powermail .form-control {background-color: #fff; border-color: #333; color: #333; min-height: 50px; padding: 12px;}
.tx-powermail h3 {display: none;}
.tx-powermail .container-fluid {padding: 0;}
.tx-powermail legend {display: none;}
.powermail_fieldwrap {margin-bottom: 10px;display: flex;}
.powermail_fieldwrap {width:100%;}

.tx-powermail .form-control:focus {background-color: #fff; border-color: #D80012; color: #000000; -webkit-box-shadow: none; -moz-box-shadow: none; box-shadow: none;}

.tx-powermail ::-webkit-input-placeholder { color: #efefef;}
.tx-powermail ::-moz-placeholder {color: #efefef;}
.tx-powermail :-ms-input-placeholder {color: #efefef;}
.tx-powermail :-moz-placeholder {color: #efefef;}

.powermail_fieldwrap_datenschutz {margin: 0;}
.powermail_fieldwrap_datenschutz .control-label {visibility: hidden;}
.powermail_fieldwrap_datenschutzlink {font-size: 12px;}
.powermail_fieldwrap_datenschutzlink .col-sm-10 {margin-left: 16.6666667%;}

.powermail_fieldwrap_type_submit {margin-top: 15px; margin-left: 16.6666667%;}

/*ANFRAGE*/
#content-lightbox .powermail_fieldset {max-width: 600px; padding: 30px 0 0 0; margin: 0 auto;}

/* LINKS */
.links li {list-style-type: none; float: left; text-align: left;}

/*SPECIAL STUFF*/

/*FLUID STYLED CONTENT*/

/*BROWSERSPEZIFISCHE FALLBACKS*/
* {outline: 0 none;}

/*RESPONSIVE*/
@media screen and (min-width: 1400px) {

    /* ALLGEMEIN */
    .container {  width: 1300px; min-width: 1300px; }

	/* HEADER */

	/* CONTENT */

	/* FOOTER */

}
@media screen and (min-width: 768px) {

    /* ALLGEMEIN */

	/* HEADER */
    .dropdown-toggle::after {display: none;}

    /* CONTENT */

	/* FOOTER */

}
@media (max-width: 1400px) {
	/* ALLGEMEIN */

	/* HEADER */

	/* CONTENT */

	/* FOOTER */
}
@media (max-width: 1366px) {
	/* ALLGEMEIN */

	/* HEADER */

	/* CONTENT */

	/* FOOTER */
}
@media (max-width: 1300px) {
	/* ALLGEMEIN */

	/* HEADER */

	/* CONTENT */

	/* FOOTER */
}
@media (max-width: 1200px) {
	/* ALLGEMEIN */

	/* HEADER */

	/* CONTENT */
    .swiper-caption {max-width: 100% !important;}

    .dropdown-item {hyphens: auto; white-space: normal;}

	/* FOOTER */

}

@media (max-width: 1020px) {
	/* ALLGEMEIN */

	/* HEADER */

	/* CONTENT */

	/* FOOTER */
}
@media (max-width: 990px) {
	/* ALLGEMEIN */
    h1 {font-size: 30px;}

	/* HEADER */
    .header {height: 155px;}
    .header div.row:last-of-type {min-height: 55px;}

    .navbar-toggler {float: right; position: absolute; top: 0px; right: 0px; -webkit-border-radius:0; -moz-border-radius:0; border-radius:0;}
    .dropdown-toggle::after {display: inline-block;}

    .navbar-collapse {background-color: #fff; margin-top: 55px;}

    .navbar-nav ul,
    .navbar-nav li {float: left !important; width: 100% !important;}

    .navbar-nav .nav-item a {width: 100%;}

    .navbar-nav .dropdown-menu {padding: 0; grid-template-columns: 100%;}

    .navbar-nav .dropdown-menu:before,
    .navbar-nav .dropdown-menu:after {display: none;}

    .header .row:last-of-type {background-color: #fff;}

    .dropdown-submenu-1 > a::after,
    .dropdown-submenu-2 a::after {display: inline-block; margin-left: .255em;vertical-align: .255em;	content: "";border-top: .3em solid;	border-right: .3em solid transparent;border-bottom: 0;border-left: .3em solid transparent;}

	/* CONTENT */
    .frame-indent {margin: 30px 0;}
    .news .news-list-view .news-list-item {padding: 15px;}

    #swiper .swiper-slide {display: block;}
    #swiper .swiper-slide img {max-width: 100%;}
    #swiper .swiper-caption { padding: 50px; float: left; }

    .mainpage #swiper { min-height: 300px;}

    .content-pagetitle h1 {padding: 30px;}
    .content .container .content-inner-right {width: 100%; -ms-flex: 0 0 100%; flex: 0 0 100%; max-width: 100%;}
    .content .container .content-inner-left {display: none;}

	/* FOOTER */

}
@media (max-width: 768px) {
	/* ALLGEMEIN */

	/* HEADER */
    .header { height: 148px; }
    .header .container {max-width: 100% !important;}
    .header .container {max-width: 100% !important;}
    .header .navbar-toggler {right: 15px;}
    .header .contact-widget {margin-right: 15px;}
    .header .navbar-nav .nav-item {margin: 0;}
    .header .nav-item.active > a:after,
    .header .clicked:after {
        -webkit-transform: rotate(270deg);
        -moz-transform: rotate(270deg);
        -ms-transform: rotate(270deg);
        -o-transform: rotate(270deg);
        transform: rotate(270deg);}

	/* CONTENT */
    .ce-textpic .ce-gallery {width: 100%;}
    .ce-textpic .ce-bodytext {width: 100%;}

    #swiper, .mainpage #swiper {min-height: 0;}

    #swiper .container {max-width: calc(100% - 30px);}
    #swiper .swiper-caption {width: 100%; display: none;}
    #swiper .swiper-caption::before {display: none;}
    #swiper .swiper-slide img {height: auto; width: 100%; position: relative; left: 0; top: 0;max-width: unset;}

    #content .contentswiper .swiper-slide {padding: 0;}

    .productportfolio .btn {width: 100%; margin-bottom: 30px;}

    .mainpage .content {padding: 30px 15px;}
    .content .container .content-inner-right {padding: 15px;}

    .powermail_fieldwrap {display: block; padding: 0;}
    .powermail_fieldwrap_datenschutz .control-label {display: none;}
    .powermail_fieldwrap_datenschutzlink .col-sm-10 {margin: 0;}
    .powermail_fieldwrap_type_submit {margin-left: 0;}

    #content-lightbox .powermail_fieldwrap {padding: 0 15px;}
    .content-lightbox {width: 100%;}
    .fancybox-slide--iframe {padding: 44px 0 0 0 !important;}

    .powermail_fieldwrap {padding: 0;}
    .powermail_form_2 .powermail_fieldwrap_veranstaltung .form-control {font-size: 18px; }

	/* FOOTER */
    #footer {padding: 0 15px;}
}
@media (max-width: 600px) {
	/* ALLGEMEIN */

	/* HEADER */
    .header .contact-widget {margin: 10px 15px 10px 0;}
    .header .contact-widget a {float:right; clear: both; font-size: 16px;}
    .contact-widget a:first-of-type::after {content: ""; padding: 0;}

	/* CONTENT */

    .productportfolio ul li {border-bottom: 1px solid #D80012; float: left;padding: 15px 0;}
    .productportfolio ul li span:first-of-type,
    .productportfolio ul li span:last-of-type {width: 100%; float: left; text-align: left;}
    .productportfolio ul li.margin-big span {margin-bottom: 0 !important;}


	/* FOOTER */
}

@media (max-width: 574px) {
	/* ALLGEMEIN */

	/* HEADER */

	/* CONTENT */
    .content {padding: 30px 15px;}

	/* FOOTER */
}

@media (max-width: 460px) {
	/* ALLGEMEIN */

	/* HEADER */
    .header .logo {max-width: 160px;}

	/* CONTENT */

	/* FOOTER */

}

@media (max-width: 500px) {
	/* ALLGEMEIN */

	/* HEADER */

	/* CONTENT */

	/* FOOTER */

}

@media (min-width: 1500px) {
	/* ALLGEMEIN */

	/* HEADER */

	/* CONTENT */

	/* FOOTER */

}