/* typography */
body {font-family: 'Open Sans', Arial, Helvetica, sans-serif; font-weight: 600; font-size: 18px; line-height: 29px; color: #3c3c3b;}
h1 {font-family: 'Barlow Semi Condensed', Arial, Helvetica, sans-serif; font-size: 36px; line-height: 36px; color: #fff; font-weight: 700; text-shadow: 0 0 5px rgba(0,0,0,0.3); text-transform: uppercase; text-align: center;}
h1 span {font-weight: 400;}
h2 {font-family: 'Barlow Semi Condensed', Arial, Helvetica, sans-serif; font-size: 36px; line-height: 56px; color: #014a97; font-weight: 700; text-transform: uppercase; text-align: center;}
h3 {font-family: 'Barlow Semi Condensed', Arial, Helvetica, sans-serif; font-size: 36px; line-height: 38px; color: #3c3c3b; font-weight: 700; text-transform: uppercase; text-align: center;}

/* general */
body {background: #fff; }
*, *:before, *:after {box-sizing: border-box;}
#main { margin: 0 auto; min-height: 100%; position: relative; width: 100%; overflow: hidden;}
#content:after, #header:after, #footer:after {display: block; content:''; clear: both;}
.container {max-width: 1330px; margin: auto; padding: 0 15px;}

/* links */
a {text-decoration: none; color: #014a97;}
a:hover {text-decoration: underline; color: #014a97;}
a:focus, button:focus {outline: none;}

/* header */
#header {background: #014a97; border-top: 10px solid #e30613; position: relative; padding: 15px 0;}
#header:after {position: absolute; left: 0; right: 0; bottom: 0; height: 41px; background: #013a76; background: -moz-linear-gradient(top,  #013a76 0%, #014a97 100%); background: -webkit-linear-gradient(top,  #013a76 0%,#014a97 100%); background: linear-gradient(to bottom,  #013a76 0%,#014a97 100%); filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#013a76', endColorstr='#014a97',GradientType=0 );}
#header .container {position: relative;z-index: 2; display: -ms-flexbox; display: flex; -ms-flex-pack: justify; justify-content: space-between; -ms-flex-align: center; align-items: center; padding: 0; max-width: 1300px;}
#header .logo {padding: 0 15px; max-width: 50%;}
#header .logo img {display: block; max-width: 100%; height: auto;}

/* content */
.banner {position: relative; background: #ececec;}
.banner img {display: block;}
.banner figure {position: absolute; left: 0; right: 0; top: 0; bottom: 0; display: -ms-flexbox; display: flex; -ms-flex-pack: center; justify-content: center;}
.banner-text {padding: 21px 0 300px; position: relative; z-index: 2;}

/* content */
.banner1 {position: relative; background: #ececec;}

.intro {padding: 30px 0; background: #ececec;}
.intro p {text-align: center; margin: 0 0 1em;}

.features {padding: 30px 0;}
.features li {margin: 0 auto 30px; max-width: 415px; background: #a21007; position: relative; padding: 0 15px 15px;}
.features li:last-child {margin-bottom: 0;}
.features li:before {content: ''; background: #e30613; position: absolute; left: 0; top: 0; right: 0; height: 112px;}
.features figure {text-align: center; padding: 33px 0 0; margin: 0 0 22px; position: relative; z-index: 2;}
.features figure img {-webkit-border-radius: 100%; border-radius: 100%; -webkit-box-shadow: 0 0 7px rgba(0,0,0,0.3); box-shadow: 0 0 7px rgba(0,0,0,0.3);}
.features li h3 {color: #fff; margin: 0 0 21px;}
.features li p {color: #fff; text-align: center;}

.applications {padding: 30px 0;}
.applications h2 {margin: 0 0 30px;}
.applications h3 {color: #014a97; font-size: 26px; line-height: 34px; margin: 30px 0 30px;}
.applications p {margin: 0 0 45px; text-align: center;}
.applications li {margin: 0 0 30px;}
.applications li:last-child {margin: 0;}
.applications img {display: block; max-width: 100%; height: auto; -webkit-box-shadow: 0 3px 18px rgba(0,0,0,0.3); box-shadow: 0 3px 18px rgba(0,0,0,0.3); margin: auto;}
.applications {border-bottom: 1px solid #ececec; padding: 23px 0 50px;}

.register {padding: 40px 15px; background: #ececec; text-align: center;}
.register h2 {color: #e30613; margin: 0 0 30px;}
.register .button {display: inline-block; color: #fff; background: #e30613; font-size: 21px; width: 100%; max-width: 415px; line-height: 50px; text-transform: uppercase; font-weight: 700;}
.register .button:hover {text-decoration: none;}

.slider-wrapper {background: #d2d2d2; padding: 40px 40px 66px;}
.slider-wrapper h2 {color: #3c3c3b; margin: 0 0 40px;}
.slider-wrapper .slick-arrow {position: absolute; top: 50%; width: 30px; height: 50px; line-height: 50px; text-align: center; border: none; padding: 0; background: #3c3c3b; color: #fff; font-weight: 700; margin: -25px 0 0;}
.slider-wrapper .slick-prev {left: -40px; -webkit-transform: rotate(180deg); transform: rotate(180deg);}
.slider-wrapper .slick-next {right: -40px;}
.slider-wrapper .slide {background: #ececec; position: relative; padding: 15px;}
.slider-wrapper .slide:before {content: ''; position: absolute; left: 0; top: 50%; right: 0; bottom: 0; background: #bfbfbf; background: -moz-linear-gradient(top,  #bfbfbf 0%, #ececec 100%); background: -webkit-linear-gradient(top,  #bfbfbf 0%,#ececec 100%); background: linear-gradient(to bottom,  #bfbfbf 0%,#ececec 100%); filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#bfbfbf', endColorstr='#ececec',GradientType=0 );}
.slider-wrapper .slide h3 {margin:  0 0 15px; position: relative; z-index: 2;}
.slider-wrapper .slide figure {height: 190px; line-height: 192px; text-align: center; position: relative; z-index: 2;}
.slider-wrapper .slide img {display: inline-block; vertical-align: middle; max-width: 100%; height: auto;}
.slider-wrapper .slide p { position: relative; z-index: 2; text-align: center;}
.slider-wrapper .slick-slider .slick-track {display: -ms-flexbox; display: flex;}
.slider-wrapper .slide {height: auto;}
.slider-wrapper .slide a {text-decoration: none; color: #3c3c3b;}
.slider-wrapper .slide a:hover {text-decoration: underline; color: #3c3c3b;}
.slider-wrapper .slide a:focus, button:focus {outline: none;}

.info {padding: 30px 0; background: #ececec; text-align: center;}
.info h2 {margin:  0 0 40px;}
.info p {margin: 0 0 1em;}
.info ul {font-size: 21px; line-height: 34px; color: #014a97;}
.info ul li span:before {content:'\2022'; color: #e30613; margin: 0 4px 0 0;}

.visual_01 {border-bottom: 1px solid #ececec; padding: 23px 0 50px;}
.visual_01 img {display: block; max-width: 100%; height: auto;}
.visual_02 {padding: 36px 0 32px; text-align: center;}
.visual_02 figure {max-width: 50%; padding: 0 10px;}
.visual_02 img {display: block; max-width: 100%; height: auto;}
.visual_02 .container {display: -ms-flexbox; display: flex; -ms-flex-pack: center; justify-content: center; -ms-flex-pack: center; justify-content: center;}

/* footer */
#footer {background: #014a97;}
#footer .title {display: block; padding: 26px 0 16px; font-size: 21px; line-height: 25px; font-weight: 700; color: #fff; text-transform: uppercase; border-bottom: 1px solid #033459; margin: 0 0 8px;}
#footer p {color: #fff; font-size: 13px; line-height: 25px; font-weight: 400;}
#footer p a {color: #fff;}
.footer-bottom {margin: 30px 0 0; padding: 21px 0; background: #033459;}
.footer-bottom ul {display: -ms-flexbox; display: flex; -ms-flex-pack: center; justify-content: center; font-weight: 400; font-size: 11px; line-height: 25px;}
.footer-bottom a {color: #fff;}
.footer-bottom li + li:before {content: '\7c'; margin: 0 5px; color: #fff;}

/* sternchentext */
.stern {padding: 30px 0; background: #d2d2d2; text-align: center;}
.stern p {font-size: 12px; line-height: 16px; color: #3c3c3b;}