.form-label {
	margin-bottom: .5rem
}

.form-control {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	display: block;
	transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out;
	border: 1px solid #ced4da;
	border-radius: .25rem;
	background-clip: padding-box;
	background-color: #fff;
	padding: .375rem .75rem;
	width: 100%;
	color: #212529;
	font-size: 1rem;
	font-weight: 400;
	line-height: 1.5
}

.form-control[type=file] {
	overflow: hidden
}

.form-control[type=file]:not(:disabled):not([readonly]) {
	cursor: pointer
}

.form-control:focus {
	outline: 0;
	box-shadow: 0 0 0 .25rem rgba(13, 110, 253, .25);
	border-color: #86b7fe;
	background-color: #fff;
	color: #212529
}

.form-control::-webkit-date-and-time-value {
	height: 1.5em
}

.form-control::-moz-placeholder {
	opacity: 1;
	color: #6c757d
}

.form-control::placeholder {
	opacity: 1;
	color: #6c757d
}

.form-control:disabled {
	opacity: 1;
	background-color: #e9ecef
}

.form-control::file-selector-button {
	transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out;
	margin: -.375rem -.75rem;
	border: 0 solid;
	border-radius: 0;
	border-color: inherit;
	background-color: #e9ecef;
	padding: .375rem .75rem;
	pointer-events: none;
	color: #212529
}

.form-control:hover:not(:disabled):not([readonly])::file-selector-button {
	background-color: #dde0e3
}

.form-control::-webkit-file-upload-button {
	-webkit-transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out;
	transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out;
	margin: -.375rem -.75rem;
	border: 0 solid;
	border-radius: 0;
	border-color: inherit;
	background-color: #e9ecef;
	padding: .375rem .75rem;
	pointer-events: none;
	color: #212529
}

.form-control:hover:not(:disabled):not([readonly])::-webkit-file-upload-button {
	background-color: #dde0e3
}

textarea.form-control {
	min-height: calc(1.5em + .75rem + 2px)
}

.form-select {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	display: block;
	transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out;
	border: 1px solid #ced4da;
	border-radius: .25rem;
	background-color: #fff;
	background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e");
	background-position: right .75rem center;
	background-repeat: no-repeat;
	background-size: 16px 12px;
	padding: .375rem 2.25rem .375rem .75rem;
	width: 100%;
	color: #212529;
	font-size: 1rem;
	font-weight: 400;
	line-height: 1.5
}

.form-select:focus {
	outline: 0;
	box-shadow: 0 0 0 .25rem rgba(13, 110, 253, .25);
	border-color: #86b7fe
}

.form-select:disabled {
	background-color: #e9ecef
}

.form-select:-moz-focusring {
	color: transparent;
	text-shadow: 0 0 0 #212529
}

.collapse:not(.show) {
	display: none
}

.collapsing {
	transition: height .35s ease;
	height: 0;
	overflow: hidden
}

.glide {
	position: relative;
	box-sizing: border-box;
	width: 100%
}

.glide * {
	box-sizing: inherit
}

.glide__slides,
.glide__track {
	overflow: hidden
}

.glide__slides {
	-webkit-backface-visibility: hidden;
	display: flex;
	position: relative;
	flex-wrap: nowrap;
	transform-style: preserve-3d;
	backface-visibility: hidden;
	will-change: transform;
	padding: 0;
	width: 100%;
	touch-action: pan-Y;
	list-style: none;
	white-space: nowrap
}

.glide__slide {
	-webkit-touch-callout: none;
	-webkit-tap-highlight-color: transparent;
	flex-shrink: 0;
	width: 100%;
	height: 100%;
	white-space: normal
}

.glide__slide,
.glide__slide a {
	-webkit-user-select: none;
	-moz-user-select: none;
	user-select: none
}

.glide__slide a {
	-webkit-user-drag: none
}

.glide__arrows {
	-webkit-touch-callout: none;
	-webkit-user-select: none;
	-moz-user-select: none;
	user-select: none
}

.teaser-block {
	margin-bottom: 3.8rem
}

.teaser-block .teaser-container .teaser {
	position: relative;
	background-color: #1593d7;
	padding: 2.2rem 2rem 5rem;
	min-height: 102px;
	overflow: hidden;
	font-size: 2.2rem;
	line-height: 2.8rem
}

.teaser-block .teaser-container .teaser.deco {
	background-color: #020827;
	background-image: url(../images/bg-laser-teaser.png);
	background-position: 100% 100%;
	background-repeat: no-repeat;
	background-size: cover;
	height: 132px
}

.teaser-block .teaser-container .teaser.bg {
	background-color: #51575c;
	height: 222px
}

.teaser-block .teaser-container .teaser .image {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 5;
	transition: transform .2s;
	background-position: 50%;
	background-size: cover;
	width: 100%;
	height: 100%
}

.teaser-block .teaser-container .teaser .image:before {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 15;
	background: linear-gradient(180deg, rgba(0, 0, 0, .7), transparent);
	width: 100%;
	height: 100%;
	content: ""
}

.teaser-block .teaser-container .teaser .content {
	position: relative;
	z-index: 6
}

.teaser-block .teaser-container .teaser .content .headline {
	position: relative;
	color: #fff
}

.teaser-block .teaser-container .teaser .content .headline:after {
	display: block;
	position: absolute;
	top: 100%;
	left: 0;
	transition: .2s;
	margin-top: 1.1rem;
	background: url(../images/iconset.png);
	background-position: -85px -12px;
	background-size: 150px 150px;
	width: 16px;
	height: 10px;
	content: ""
}

.teaser-block .teaser-container .teaser:hover .image {
	transform: scale(1.05)
}

.teaser-block .teaser-container .teaser:hover .content .headline:after {
	margin-left: 10px
}

.teaser-block .button {
	margin-top: 3.4rem
}

.service-block {
	margin-bottom: 5.6rem
}

.service-block .service-container .service .content {
	display: flex;
	position: relative;
	background-color: #f6f6f6;
	height: 75px
}

.service-block .service-container .service .content:hover {
	background: linear-gradient(45deg, #1593d7 60%, #78d0ea)
}

.service-block .service-container .service .content:hover .icon.icon-01:after {
	background-position: 0 -95px
}

.service-block .service-container .service .content:hover .icon.icon-02:after {
	background-position: -100px -95px
}

.service-block .service-container .service .content:hover .icon.icon-03:after {
	background-position: -210px -95px
}

.service-block .service-container .service .content:hover .icon.icon-04:after {
	background-position: -320px -95px
}

.service-block .service-container .service .content:hover .icon.icon-05:after {
	background-position: 0 -300px
}

.service-block .service-container .service .content:hover .icon.icon-06:after {
	background-position: -100px -300px
}

.service-block .service-container .service .content:hover .icon.icon-07:after {
	background-position: -180px -300px
}

.service-block .service-container .service .content:hover .icon.icon-08:after {
	background-position: -270px -300px
}

.service-block .service-container .service .content:hover .icon.icon-09:after {
	background-position: -430px -95px
}

.service-block .service-container .service .content:hover .icon.icon-10:after {
	background-position: -355px -300px
}

.service-block .service-container .service .content:hover .icon.icon-11:after {
	background-position: -440px -300px
}

.service-block .service-container .service .content:hover .icon.icon-12:after {
	background-position: -575px -95px
}

.service-block .service-container .service .content:hover .icon.icon-13:after {
	background-position: -540px -300px
}

.service-block .service-container .service .content:hover .icon.icon-14:after {
	background-position: -625px -300px
}

.service-block .service-container .service .content:hover .text {
	color: #fff;
	font-family: Barlow Medium, Arial
}

.service-block .service-container .service .content .icon {
	display: flex;
	position: relative;
	align-items: center;
	justify-content: center;
	width: 82px;
	height: 100%
}

.service-block .service-container .service .content .icon:after {
	display: block;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%) scale(.5);
	background: url(../images/iconset-services.png);
	background-size: 750px 380px;
	content: ""
}

.service-block .service-container .service .content .icon.icon-01:after {
	background-position: 0 0;
	width: 82px;
	height: 80px
}

.service-block .service-container .service .content .icon.icon-02:after {
	background-position: -100px 0;
	width: 82px;
	height: 61px
}

.service-block .service-container .service .content .icon.icon-03:after {
	background-position: -210px 0;
	width: 88px;
	height: 62px
}

.service-block .service-container .service .content .icon.icon-04:after {
	background-position: -320px 0;
	width: 88px;
	height: 72px
}

.service-block .service-container .service .content .icon.icon-05:after {
	background-position: 0 -200px;
	width: 82px;
	height: 81px
}

.service-block .service-container .service .content .icon.icon-06:after {
	background-position: -100px -200px;
	width: 60px;
	height: 65px
}

.service-block .service-container .service .content .icon.icon-07:after {
	background-position: -180px -200px;
	width: 60px;
	height: 57px
}

.service-block .service-container .service .content .icon.icon-08:after {
	background-position: -270px -200px;
	width: 66px;
	height: 58px
}

.service-block .service-container .service .content .icon.icon-09:after {
	background-position: -430px 0;
	width: 112px;
	height: 65px
}

.service-block .service-container .service .content .icon.icon-10:after {
	background-position: -355px -200px;
	width: 65px;
	height: 80px
}

.service-block .service-container .service .content .icon.icon-11:after {
	background-position: -440px -200px;
	width: 79px;
	height: 50px
}

.service-block .service-container .service .content .icon.icon-12:after {
	background-position: -575px 0;
	width: 82px;
	height: 64px
}

.service-block .service-container .service .content .icon.icon-13:after {
	background-position: -540px -200px;
	width: 76px;
	height: 64px
}

.service-block .service-container .service .content .icon.icon-14:after {
	background-position: -625px -200px;
	width: 59px;
	height: 68px
}

.service-block .service-container .service .content .text {
	padding-top: 2.2rem;
	color: #333
}

.service-block .service-container .service:nth-child(2n) .content {
	background-color: #eee
}

.service-block .button {
	margin-top: 4rem
}

.banner-block {
	margin-bottom: 4.8rem
}

.banner-block .banner {
	display: flex;
	position: relative;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	background-position: 50%;
	background-size: cover;
	height: 515px
}

.banner-block .banner .meta {
	color: #fff;
	font-size: 1.5rem;
	line-height: 2rem
}

.banner-block .banner .headline {
	margin-bottom: 2.4rem;
	color: #fff;
	font-size: 3rem;
	line-height: 3.9rem
}

.text-block {
	margin-bottom: 4rem
}

.text-block+.frame-type-form_formframework {
	margin-top: -4rem
}

.text-block .image+.ce-textpic {
	margin-top: 5rem
}

body.home .text-block {
	margin-bottom: 8rem
}

.ce-textpic {
	margin-right: -2.5rem;
	margin-left: -2.5rem
}

.ce-textpic p {
	margin-bottom: 2.4rem
}

.ce-textpic p a {
	text-decoration: underline
}

.ce-textpic p.headline-h1,
.ce-textpic p.headline-h2 {
	text-align: left
}

.ce-textpic ul {
	margin-bottom: 2.4rem
}

.ce-textpic ul li {
	position: relative;
	margin-bottom: 1.1rem;
	padding-left: 3.4rem
}

.ce-textpic ul li:before {
	display: block;
	position: absolute;
	top: 15px;
	left: 10px;
	border-radius: 4px;
	background-color: #1593d7;
	width: 4px;
	height: 4px;
	content: ""
}

.ce-textpic ul li>ul {
	margin-top: 1.1rem;
	margin-bottom: 1.1rem
}

.ce-textpic ul li>ul li:before {
	border-radius: 0;
	background-color: #51575c;
	height: 2px
}

.ce-textpic ul.features {
	margin-bottom: 0;
	width: 100%
}

.ce-textpic ul.features.custom-icon {
	margin-bottom: -20px
}

.ce-textpic ul.features.custom-icon li {
	padding-left: 8.5rem
}

.ce-textpic ul.features.custom-icon li:before {
	display: none
}

.ce-textpic ul.features.custom-icon li .icon {
	display: flex;
	position: absolute;
	top: 18px;
	left: 0;
	align-items: flex-start;
	justify-content: center;
	width: 70px;
	height: 100%
}

.ce-textpic ul.features.custom-icon li p:last-child {
	margin: 0
}

.ce-textpic ul.features li {
	margin-bottom: 0;
	border-top: 2px solid #e6e6e6;
	padding: 1.6rem 0 1.6rem 4.5rem;
	color: #000;
	font-family: Barlow Medium, Arial;
	font-size: 1.5rem;
	line-height: 2.2rem
}

.ce-textpic ul.features li:before {
	top: 10px;
	left: 3px;
	transform: scale(.6);
	background: url(../images/iconset.png);
	background-position: -110px -60px;
	background-size: 150px 150px;
	width: 36px;
	height: 37px
}

.ce-textpic .ce-textpic-inner {
	flex-grow: 1;
	padding: 0 2.5rem
}

.ce-textpic .image {
	flex-shrink: 0;
	margin-bottom: 5rem;
	padding: 0 2.5rem
}

.ce-textpic .image .caption {
	margin-top: 1.5rem;
	font-size: 1.3rem;
	line-height: 2.5rem
}

.ce-textpic.image-left .ce-textpic-inner {
	order: 2
}

.ce-textpic.image-left .image {
	order: 1
}

.image-caption {
	margin-top: 1.5rem;
	font-size: 1.3rem;
	line-height: 2.5rem
}

.lead-block {
	margin-top: 8rem;
	margin-bottom: 5.8rem
}

.lead-block .content {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	background-color: #020827;
	background-image: url(../images/bg-laser.png);
	background-position: 100% 0;
	background-repeat: no-repeat;
	background-size: contain;
	padding: 25px 30px 45px;
	height: 100%
}

.lead-block .content.nobg {
	background-image: none
}

.lead-block .content .headlines {
	margin-bottom: 3.5rem
}

.lead-block .content .headlines .meta {
	margin-bottom: 2.2rem;
	color: #fff;
	font-family: Barlow Medium, Arial;
	font-size: 1.3rem;
	line-height: 2rem
}

.lead-block .content .headlines .headline {
	color: #fff;
	font-family: Barlow Medium, Arial;
	font-size: 2.4rem;
	line-height: 2.8rem
}

.lead-block .content .contact-info {
	margin-right: auto;
	margin-left: auto;
	padding-left: 12px
}

.lead-block .content .contact-info .link {
	margin-bottom: 1.4rem;
	color: #fff;
	font-size: 1.5rem;
	letter-spacing: 0;
	line-height: 2rem
}

.lead-block .content .contact-info .link.mobile:after {
	left: 4px
}

.lead-block .content .contact-info .button {
	margin-top: 3.6rem;
	margin-left: -1.2rem
}

.lead-block .image {
	background-color: #000;
	height: 100%
}

.lead-block .image img {
	-o-object-fit: cover;
	height: 100%;
	object-fit: cover
}

.video-block {
	margin-bottom: 5rem
}

.compact-block {
	margin-bottom: 6rem
}

.compact-block .compact-box-container {
	display: flex;
	flex-wrap: wrap;
	margin-right: -.5rem;
	margin-left: -.5rem
}

.compact-block .compact-box-container .compact-box {
	margin-bottom: 1rem;
	padding: 0 .5rem;
	width: 100%
}

.compact-block .compact-box-container .compact-box .compact-box-inner {
	display: flex;
	border: 1px solid #e6e6e6;
	background-color: #f5f5f5;
	height: 100%
}

.compact-block .compact-box-container .compact-box .compact-box-inner .image {
	flex-shrink: 0;
	width: 85px
}

.compact-block .compact-box-container .compact-box .compact-box-inner .image img {
	width: 100%
}

.compact-block .compact-box-container .compact-box .compact-box-inner .content {
	padding: 2.3rem 2.5rem 2.3rem 1.8rem
}

.compact-block .compact-box-container .compact-box .compact-box-inner .content .headline {
	margin-bottom: .5rem;
	color: #000;
	font-family: Barlow SemiBold, Arial;
	font-size: 1.4rem;
	line-height: 2.1rem
}

.compact-block .compact-box-container .compact-box .compact-box-inner .content .text {
	margin-bottom: 2.3rem
}

.compact-block .compact-box-container .compact-box .compact-box-inner .content p {
	margin-bottom: 0
}

.compact-block .compact-box-container .compact-box .compact-box-inner .content p a {
	margin-bottom: 1.8rem
}

.compact-block .compact-box-container .compact-box .compact-box-inner .content p:last-child a {
	margin-bottom: 0
}

.gallery-block {
	margin-bottom: 7rem
}

.glide {
	padding-bottom: 6rem;
	overflow: hidden
}

.glide__slides,
.glide__track {
	overflow: visible
}

.glide__slide {
	position: relative
}

.glide__slide-caption {
	position: absolute;
	top: 100%;
	left: 0;
	margin-top: 1.5rem;
	padding-right: 10rem;
	max-width: 800px;
	font-size: 1.3rem;
	line-height: 2.5rem
}

.glide__arrow {
	position: absolute;
	bottom: 0;
	margin-top: 3rem;
	border: 0;
	border-radius: 2px;
	background: #1593d7;
	width: 40px;
	height: 40px
}

.glide__arrow:after {
	display: block;
	position: absolute;
	top: 50%;
	left: 50%;
	margin: -6px 0 0 -8px;
	background: url(../images/iconset.png);
	background-position: -85px -12px;
	background-size: 150px 150px;
	width: 17px;
	height: 13px;
	content: ""
}

.glide__arrow--left {
	right: 42px
}

.glide__arrow--left:after {
	transform: scaleX(-1)
}

.glide__arrow--right {
	right: 0
}

.listing-block {
	margin-bottom: 6rem
}

.listing-block+.bg-grey {
	margin-top: -6rem
}

.listing-block .listing {
	display: flex;
	position: relative;
	flex-wrap: wrap;
	margin-bottom: 3.5rem;
	border-bottom: 1px solid #dadada;
	background-color: #fff
}

.listing-block .listing .image {
	width: 100%
}

.listing-block .listing .image.cover img {
	-o-object-fit: cover;
	height: 100%;
	object-fit: cover
}

.listing-block .listing .content {
	display: flex;
	padding-bottom: 2rem;
	width: 100%
}

.listing-block .listing .content .content-inner {
	display: flex;
	position: relative;
	flex-direction: column;
	justify-content: center;
	padding: 2.5rem 3rem 4rem;
	width: 100%
}

.listing-block .listing .content .content-inner .headline {
	margin-bottom: 2rem;
	color: #39464f;
	font-size: 2.2rem;
	line-height: 2.9rem
}

.listing-block .listing .content .content-inner .ce-textpic ul {
	margin-bottom: 0
}

.listing-block .listing .content .content-inner .ce-textpic ul li {
	margin-bottom: .8rem
}

.listing-block .listing .content .content-inner .ce-textpic ul li:last-child {
	margin-bottom: 0
}

.listing-block .listing .content .content-inner>.link {
	position: absolute;
	right: 40px;
	bottom: 8px
}

.listing-block .listing .icon {
	display: none
}

.listing-block .listing+.category {
	margin-top: 8rem
}

.listing-block .category {
	margin-top: 3.5rem;
	margin-bottom: 2rem;
	color: #333;
	font-family: Barlow Medium, Arial;
	font-size: 1.6rem;
	line-height: 2.6rem
}

.news-block {
	margin-bottom: 8rem
}

.news-block .news-container {
	display: flex;
	flex-wrap: wrap;
	margin: 0 -.5rem 4rem
}

.news-block .news-container .news {
	margin-bottom: 1rem;
	width: 100%
}

.news-block .news-container .news .news-inner {
	display: flex;
	position: relative;
	margin: 0 .5rem;
	border: 1px solid #e6e6e6;
	background-color: #f5f5f5;
	height: 100%
}

.news-block .news-container .news .news-inner .image {
	flex-shrink: 0;
	width: 100px
}

.news-block .news-container .news .news-inner .image img {
	-o-object-fit: cover;
	width: 100%;
	height: 100%;
	object-fit: cover
}

.news-block .news-container .news .news-inner .content {
	display: flex;
	position: relative;
	flex-direction: column;
	justify-content: space-between;
	padding: 2rem 3rem 1.5rem;
	min-height: 192px
}

.news-block .news-container .news .news-inner .content .headline {
	margin-bottom: 1rem;
	color: #000;
	font-family: Barlow Medium, Arial;
	font-size: 1.5rem;
	line-height: 2rem
}

.news-block .news-container .news .news-inner .content .subheadline {
	margin-top: -.6rem;
	margin-bottom: 1rem;
	color: #000;
	font-size: 1.4rem;
	line-height: 2rem
}

.jobs-block {
	margin-bottom: 8rem
}

.jobs-block .filter {
	margin-bottom: 2.4rem;
	min-width: 300px
}

.jobs-block .jobs-container {
	margin-bottom: 4rem
}

.jobs-block .jobs-container .job {
	position: relative;
	margin-bottom: 1.4rem;
	background-color: #fff;
	padding: 2rem 5.5rem 2rem 3.3rem
}

.jobs-block .jobs-container .job .title {
	margin: .4rem 0 2rem;
	color: #000;
	font-family: Barlow Medium, Arial;
	font-size: 1.6rem;
	line-height: 2.4rem
}

.jobs-block .jobs-container .job .information {
	font-size: 1.5rem;
	line-height: 2.4rem
}

.jobs-block .jobs-container .job .information .location {
	margin-bottom: 5px
}

.jobs-block .jobs-container .job .information .department {
	margin-bottom: 10px
}

.tagcloud-block {
	margin-bottom: 8rem
}

.tagcloud {
	position: relative;
	background-color: #020825;
	background-image: url(../images/bg-laser.png);
	background-position: 100% 0;
	background-repeat: no-repeat;
	background-size: contain;
	padding: 5.9rem 2rem 5.7rem;
	overflow: hidden;
	color: #fff
}

.tagcloud .video {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
	width: 100%
}

.tagcloud .video:after {
	position: absolute;
	bottom: 0;
	left: 0;
	background: linear-gradient(180deg, transparent, #020825);
	height: 75px;
	content: ""
}

.tagcloud .video:after,
.tagcloud .video video {
	display: block;
	width: 100%
}

.tagcloud .background {
	position: absolute;
	top: 0;
	left: 0;
	opacity: .6;
	z-index: 1;
	width: 100%;
	height: 100%
}

.tagcloud .background img {
	-o-object-fit: contain;
	-o-object-position: center bottom;
	width: 100%;
	height: 100%;
	object-fit: contain;
	object-position: center bottom
}

.tagcloud .content {
	position: relative;
	z-index: 5;
	margin-top: 5.4rem;
	margin-bottom: 5.3rem
}

.tagcloud .content .meta {
	margin-bottom: .6rem;
	font-size: 1.4rem;
	line-height: 1.6rem;
	text-align: center
}

.tagcloud .content .headline {
	margin-bottom: 3.9rem;
	font-size: 2.8rem;
	line-height: 3.2rem;
	text-align: center
}

.tagcloud .content .links {
	text-align: center
}

.tagcloud .content .links br {
	display: none
}

.tagcloud .content .links br:nth-child(4n) {
	display: block
}

.tagcloud.slim {
	height: auto
}

.tagcloud.slim .content {
	margin: 0
}

.tagcloud.bg {
	background-image: none
}

.tagcloud.bg a.button-grey {
	background-color: rgba(145, 154, 162, .67)
}

.form-container {
	margin-bottom: 6rem
}

.form-container .text-block {
	margin-bottom: 0 !important;
	padding: 0
}

.form-container .text-block>.container {
	padding: 0
}

.form-container .text-block>.container>.row {
	padding: 0;
	max-width: 100%
}

.form-container .text-block>.container>.row>.col-md-10 {
	margin: 0
}

.form-container .text-block>.container>.row>.col-md-10 .ce-textpic {
	margin: 0;
	max-width: 76rem
}

.form-container .text-block>.container>.row>.col-md-10 .ce-textpic .ce-textpic-inner {
	padding: 0;
	text-align: left
}

form .control-label,
form .form-label {
	margin-bottom: .3rem;
	color: #51575c;
	font-family: Barlow Bold, Arial;
	font-size: 1.2rem;
	letter-spacing: .2rem;
	line-height: 2.8rem;
	text-transform: uppercase
}

form .form-control,
form .form-select {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	outline: none;
	border: 2px solid #ccc;
	border-radius: 2px;
	padding: .9rem 1.8rem;
	width: 100%;
	color: #51575c;
	font-size: 1.5rem
}

form .form-control[type=file] {
	padding: 0
}

form .form-control[type=file]::-webkit-file-upload-button,
form .form-control[type=file]::file-selector-button {
	margin-right: 1rem;
	padding: .9rem 1.8rem;
	height: 44px
}

form .form-select {
	background: url(../images/icon-select-arrow.png) right 20px center no-repeat;
	background-size: 11px 8px;
	padding-right: 4.5rem
}

form textarea.form-control {
	height: 210px
}

form .required {
	margin-top: 3rem;
	margin-bottom: 3rem
}

form .required span {
	color: #1593d7
}

form .button {
	margin-top: 4.5rem
}

form .form-group-inline {
	display: flex;
	flex-wrap: wrap;
	margin-right: -1rem;
	margin-left: -1rem
}

form .form-group-inline .form-group {
	margin: 0 1rem 1rem
}

form .form-checkbox,
form .form-radio {
	position: relative;
	padding-top: .5rem;
	padding-left: 3.8rem
}

form .form-checkbox input,
form .form-radio input {
	position: absolute;
	top: 4px;
	left: 0;
	opacity: 0;
	z-index: 15;
	width: 28px;
	height: 28px
}

form .form-checkbox input:checked+.input:after,
form .form-radio input:checked+.input:after {
	top: 50%
}

form .form-checkbox .input,
form .form-radio .input {
	position: absolute;
	top: 4px;
	left: 0;
	z-index: 10;
	transition: .2s;
	border: 2px solid #ccc;
	background-color: #fff;
	width: 28px;
	height: 28px;
	overflow: hidden
}

form .form-checkbox .input:after,
form .form-radio .input:after {
	display: block;
	position: absolute;
	top: 150%;
	left: 50%;
	transform: translate(-50%, -50%);
	transition: .2s;
	border-radius: 1px;
	background-color: #1593d7;
	width: 10px;
	height: 10px;
	content: ""
}

form .form-radio {
	margin: 0 1rem 1rem
}

form .form-radio .input {
	border-radius: 20px
}

form .form-radio .input:after {
	border-radius: 10px
}

form .help-block.error {
	display: block;
	margin-top: -10px;
	border: 2px solid #f5c6cb;
	background-color: #f8d7da;
	padding: .5rem 1.25rem;
	color: #721c24
}

.easycaptcha {
	margin-top: 3.2rem
}

.captcha-actions {
	margin-top: 1rem;
	margin-bottom: 4rem
}

.captcha-actions>button {
	border: 2px solid #ccc;
	background-color: #fff;
	width: 40px;
	height: 40px
}

.captcha-actions .t3js-icon {
	display: inline-block;
	height: 40px
}

.accordion-block {
	margin-bottom: 5rem
}

.accordion-block .accordion {
	margin-bottom: 7rem
}

.accordion-block .accordion .card {
	margin-bottom: .5rem;
	border: 1px solid #e5e5e5;
	background-color: #f5f5f5
}

.accordion-block .accordion .card .card-header {
	position: relative;
	cursor: pointer
}

.accordion-block .accordion .card .card-header .headline {
	display: block;
	position: relative;
	transition: color .2s;
	padding: 1.7rem 6rem 1.4rem 2rem;
	color: #000;
	font-family: Barlow Medium, Arial;
	font-size: 1.6rem;
	line-height: 2.4rem
}

.accordion-block .accordion .card .card-header .headline:before {
	display: block;
	position: absolute;
	top: 50%;
	right: 25px;
	transform: translateY(-50%);
	background-color: #1593d7;
	width: 23px;
	height: 3px;
	content: ""
}

.accordion-block .accordion .card .card-header .headline:after {
	display: block;
	position: absolute;
	top: 50%;
	right: 35px;
	transform: translateY(-50%);
	transition: .1s;
	background-color: #1593d7;
	width: 3px;
	height: 23px;
	content: ""
}

.accordion-block .accordion .card .card-body-container {
	transition: height .3s;
	height: 0;
	overflow: hidden
}

.accordion-block .accordion .card .card-body {
	padding: 1.5rem 2rem
}

.accordion-block .accordion .card .card-body .ce-textpic {
	margin-bottom: 0
}

.accordion-block .accordion .card .card-body .ce-textpic+.image,
.accordion-block .accordion .card .card-body .image {
	margin-bottom: 2.4rem
}

.accordion-block .accordion .card .card-body .image+.ce-textpic {
	margin-top: 2.4rem
}

.accordion-block .accordion .card.open .headline {
	color: #1593d7
}

.accordion-block .accordion .card.open .headline:after {
	height: 2px
}

.history-block {
	background: url(../images/bg-history.png) no-repeat;
	background-size: contain
}

.history-block .history {
	display: flex;
	position: relative;
	flex-direction: column;
	margin: auto;
	padding: 4rem 0 7rem 3.5rem;
	max-width: 90.5rem
}

.history-block .history:after {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	margin-left: -.1rem;
	background: linear-gradient(175deg, #f5f5f5, #bec6ce 50rem, #bcc7d2);
	width: 1px;
	height: 100%;
	content: ""
}

.history-block .history .item {
	display: flex;
	position: relative;
	flex-direction: column;
	align-self: flex-start;
	justify-content: flex-end;
	z-index: 10;
	box-shadow: 0 2px 1px 0 rgba(0, 0, 0, .15);
	background-color: #fff;
	width: 100%
}

.history-block .history .item.image {
	min-height: 22rem
}

.history-block .history .item.image .line {
	top: 50%
}

.history-block .history .item.image .content .headline,
.history-block .history .item.image .content .text,
.history-block .history .item.image .content .year {
	color: #fff
}

.history-block .history .item.image .content .text {
	font-family: Barlow Medium, Arial
}

.history-block .history .item.image .box:after {
	background-position: 0 -25px
}

.history-block .history .item+.item {
	margin-top: 4rem
}

.history-block .history .item .line {
	position: absolute;
	top: 50%;
	right: 100%;
	background-color: #1593d7;
	width: 3.9rem;
	height: .1rem
}

.history-block .history .item .line:after {
	display: block;
	position: absolute;
	top: -.4rem;
	left: 0;
	border-radius: .9rem;
	background-color: #1593d7;
	width: .9rem;
	height: .9rem;
	content: ""
}

.history-block .history .item .background {
	position: absolute;
	top: 0;
	left: 0;
	background-position: 50%;
	background-size: cover;
	width: 100%;
	height: 100%
}

.history-block .history .item .background:after {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	opacity: .4;
	background-color: #000;
	width: 100%;
	height: 100%;
	content: ""
}

.history-block .history .item .content {
	z-index: 15;
	padding: 3rem
}

.history-block .history .item .content .year {
	margin-bottom: 1rem;
	color: #333;
	font-family: Barlow Medium, Arial;
	font-size: 3.5rem;
	line-height: 5rem
}

.history-block .history .item .content .headline {
	margin-bottom: .4rem;
	color: #39464f;
	font-family: Barlow SemiBold, Arial
}

.history-block .history .item .box:after {
	display: inline-block;
	position: absolute;
	right: 2.4rem;
	bottom: 2.7rem;
	transform: scale(.8);
	background: url(../images/iconset.png);
	background-position: 0 -45px;
	background-size: 150px 150px;
	width: 25px;
	height: 17px;
	content: ""
}

.history-block .ce-textpic {
	margin-top: 7rem;
	max-width: 81rem
}

.cta-block {
	margin-bottom: 5rem
}

.cta-block.bg-grey {
	padding: 6rem 2rem
}

.cta-block .block {
	display: flex;
	justify-content: center
}

.cta-block .block.center,
.cta-block .block.center h2 {
	text-align: center
}

.cta-block .block .block-inner {
	width: 100%;
	max-width: 78.5rem
}

.cta-block .block .block-inner .text {
	margin-bottom: 4rem
}

.cta-block .block .block-inner .button-container {
	margin-top: 4rem
}

.social-media-block {
	margin-bottom: 5rem
}

.social-media-block .ce-textpic {
	margin-bottom: 2rem
}

.social-media-block .social-media-container {
	display: flex;
	flex-wrap: wrap
}

.social-media-block .social-media-container .social-media {
	position: relative;
	flex: 0 1 50%;
	background-color: #f0f0f0;
	padding-top: 40%;
	min-height: 8rem
}

.social-media-block .social-media-container .social-media:hover .content .name {
	color: #1593d7
}

.social-media-block .social-media-container .social-media .content {
	display: flex;
	position: absolute;
	top: 0;
	left: 0;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%
}

.social-media-block .social-media-container .social-media .content .logo {
	margin: .3rem 0 1rem
}

.social-media-block .social-media-container .social-media .content .logo img {
	width: auto;
	max-height: 3rem
}

.social-media-block .social-media-container .social-media .content .name {
	font-family: Barlow Medium, Arial;
	font-size: 1.5rem;
	line-height: 1.9rem
}

.navigation-block {
	margin-bottom: 6rem
}

.navigation-block .nav-simple {
	position: relative;
	border-bottom: 1px solid rgba(0, 0, 0, .15);
	padding: 0 3rem;
	height: 8rem
}

.navigation-block .nav-simple .link-block {
	display: flex;
	position: absolute;
	top: 0;
	align-items: center;
	height: 100%
}

.navigation-block .nav-simple .link-block:first-child {
	left: 0
}

.navigation-block .nav-simple .link-block:last-child {
	right: 0
}

.table-of-content-block {
	margin-bottom: 6rem
}

.table-of-content-block .table-of-content {
	background-color: #f7f7f7;
	padding: 2.5rem 2rem 1.5rem
}

.table-of-content-block .table-of-content .headline-h2 {
	margin-bottom: 3rem
}

.table-of-content-block .table-of-content ul li {
	position: relative;
	margin-bottom: 1.5rem;
	padding-left: 4rem
}

.table-of-content-block .table-of-content ul li:after {
	display: block;
	position: absolute;
	top: 1rem;
	left: 1rem;
	background: url(../images/iconset.png);
	background-position: -125px 0;
	background-size: 150px 150px;
	width: 12px;
	height: 8px;
	content: ""
}

.table-of-content-block .table-of-content ul li a {
	color: #5a6066;
	font-family: Barlow Medium, Arial;
	font-size: 1.5rem
}

.top-button-element {
	position: fixed;
	right: 0;
	bottom: 50px;
	z-index: 999;
	transition: width .4s;
	width: 0;
	height: 40px;
	overflow: hidden
}

.top-button-element .top-button {
	position: absolute;
	top: 0;
	left: 0;
	cursor: pointer;
	border: 2px solid #1593d7;
	border-radius: 2px;
	width: 40px;
	height: 40px
}

.top-button-element .top-button:after {
	display: block;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	transition: margin .2s;
	background: url(../images/iconset.png);
	background-position: -85px -63px;
	background-size: 150px 150px;
	width: 16px;
	height: 20px;
	content: ""
}

.top-button-element .top-button:hover:after {
	margin-top: -2px
}

.top-button-element.active {
	width: 55px
}

.footer {
	border-top: 8px solid #1593d7;
	background-color: #303538;
	padding: 6.4rem 1.25rem 3rem;
	color: #999;
	font-family: Barlow Medium, Arial;
	font-size: 1.4rem;
	line-height: 2.5rem
}

.footer .content {
	display: flex;
	flex-wrap: wrap;
	margin-right: -1rem;
	margin-left: -1rem
}

.footer .content .column {
	padding: 0 1rem;
	width: 50%
}

.footer .content .column:first-child,
.footer .content .column:last-child {
	width: 100%
}

.footer .content .logo {
	margin: 0 auto 3.4rem;
	height: 50px;
	text-align: center
}

.footer .content .logo img {
	width: auto;
	max-height: 100%
}

.footer .headline {
	margin-bottom: 2rem;
	color: #fff;
	font-family: Barlow Bold, Arial;
	font-size: 1.3rem;
	letter-spacing: .072rem;
	line-height: 1.6rem;
	text-transform: uppercase
}

.footer .quicklinks {
	display: flex;
	flex-direction: column;
	margin-bottom: 5.4rem
}

.footer .quicklinks a {
	display: inline-block;
	margin-bottom: .9rem;
	color: #999;
	font-family: Barlow Medium, Arial;
	font-size: 1.4rem;
	line-height: 1.6rem
}

.footer .social-media {
	margin-bottom: 7rem;
	text-align: center
}

.footer .social-media .icons {
	display: flex;
	justify-content: center;
	margin: 0 -1rem
}

.footer .social-media .icons a {
	display: block;
	margin: 0 1rem;
	background: url(../images/iconset.png);
	background-size: 150px 150px;
	width: 29px;
	height: 29px
}

.footer .social-media .icons a.youtube {
	background-position: 0 -85px;
	width: 41px
}

.footer .social-media .icons a.facebook {
	background-position: 0 -120px
}

.footer .social-media .icons a.linkedin {
	background-position: -70px -120px
}

.footer .social-media .icons a.instagram {
	background-position: -35px -120px
}

.footer .social-media .icons a.xing {
	background-position: -55px -85px
}

.footer .meta {
	margin-top: 6.2rem;
	text-align: center
}

.footer .meta .text {
	margin-bottom: .9rem;
	font-family: Barlow Bold, Arial
}

.footer .meta .nav-footer {
	display: flex;
	justify-content: center
}

.footer .meta .nav-footer li {
	margin: 0 10px
}

.footer .meta .nav-footer li a {
	color: #fff;
	font-family: Barlow Medium, Arial
}

@media (min-width:576px) {
	.jobs-block .filter .form-select {
		width: auto
	}

	.accordion-block .accordion .card .card-header .headline {
		padding: 2.4rem 8rem 2.7rem 3rem;
		font-size: 1.8rem;
		line-height: 2.6rem
	}

	.accordion-block .accordion .card .card-body {
		padding: 1.5rem 6rem
	}

	.accordion-block .accordion .card .card-body .ce-textpic+.image {
		margin-top: 2.4rem
	}

	.accordion-block .accordion .card .card-body .image+.ce-textpic {
		margin-top: 5rem
	}
}

@media (min-width:768px) {
	.ce-textpic {
		display: flex;
		justify-content: space-between
	}

	.ce-textpic ul.features li {
		padding: 2.2rem 0 2.2rem 7.7rem;
		font-size: 1.7rem;
		line-height: 2.8rem
	}

	.ce-textpic ul.features li:before {
		top: 18px;
		left: 17px;
		transform: scale(1)
	}

	.ce-textpic .image {
		max-width: 50%
	}

	.ce-textpic .image.width_40 {
		max-width: 40%
	}

	.ce-textpic .image.width_20,
	.ce-textpic .image.width_30 {
		max-width: 30%
	}

	.lead-block .content .contact-info {
		margin-right: 0;
		margin-left: 0;
		padding-left: 0
	}

	.lead-block .content .contact-info .button {
		margin-top: 1.1rem;
		margin-left: 0
	}

	.compact-block .compact-box-container .compact-box .compact-box-inner .image {
		width: 190px
	}

	.compact-block .compact-box-container .compact-box .compact-box-inner .image img {
		-o-object-fit: cover;
		height: 100%;
		object-fit: cover
	}

	.compact-block .compact-box-container .compact-box .compact-box-inner .content {
		padding-left: 3.7rem
	}

	.compact-block .compact-box-container .compact-box .compact-box-inner .content .headline {
		font-family: Barlow Medium, Arial;
		font-size: 1.8rem;
		line-height: 2.6rem
	}

	.glide {
		padding-bottom: 10rem
	}

	.glide__arrow {
		width: 70px;
		height: 70px
	}

	.glide__arrow--left {
		right: 72px
	}

	.listing-block .listing {
		flex-wrap: nowrap
	}

	.listing-block .listing .image {
		display: block;
		flex-shrink: 0;
		width: 37%;
		max-width: 385px
	}

	.listing-block .listing .content {
		padding: 2rem 0
	}

	.listing-block .listing .icon {
		display: flex;
		position: relative;
		flex-shrink: 0;
		align-items: center;
		justify-content: center;
		border-left: 1px solid #dbe0e7;
		width: 90px
	}

	.listing-block .listing .icon img {
		max-width: 45px
	}

	.jobs-block .jobs-container .job {
		display: flex;
		justify-content: space-between
	}

	.jobs-block .jobs-container .job .title {
		margin-bottom: 0;
		padding-right: 25px
	}

	.jobs-block .jobs-container .job .information {
		display: flex
	}

	.jobs-block .jobs-container .job .information .location {
		margin-bottom: 0;
		padding-right: 15px;
		width: 170px
	}

	.jobs-block .jobs-container .job .information .department {
		margin-bottom: 0;
		padding-right: 15px;
		width: 130px
	}

	.tagcloud .video:after {
		height: 150px
	}

	.tagcloud .content .links br:nth-child(4n) {
		display: none
	}

	.tagcloud .content .links br:nth-child(6n) {
		display: block
	}

	.history-block .history {
		padding-left: 0
	}

	.history-block .history:after {
		left: 50%
	}

	.history-block .history .item {
		width: 46.4%
	}

	.history-block .history .item:nth-child(odd) {
		align-self: flex-end
	}

	.history-block .history .item:nth-child(2n) .line {
		right: auto;
		left: 100%
	}

	.history-block .history .item:nth-child(2n) .line:after {
		right: 0;
		left: auto
	}

	.history-block .history .item+.item {
		margin-top: -8.8rem
	}

	.history-block .history .item .line {
		top: 10rem;
		width: 8.9%
	}

	.history-block .history .item .content {
		padding: 5rem
	}

	.history-block .history .item .content .year {
		font-size: 4.5rem;
		line-height: 6rem
	}

	.social-media-block .social-media-container .social-media {
		flex-basis: 20%;
		padding-top: 18.4%
	}

	.social-media-block .social-media-container .social-media:nth-child(2n) {
		background-color: #f7f7f7
	}

	.top-button-element {
		bottom: 150px
	}
}

@media (min-width:992px) {
	.teaser-block {
		margin-bottom: 8rem
	}

	.teaser-block .teaser-container .teaser-row {
		display: flex;
		flex-wrap: wrap
	}

	.teaser-block .teaser-container .teaser-row:nth-child(2n) {
		flex-direction: row-reverse
	}

	.teaser-block .teaser-container .teaser {
		padding: 4.5rem 3.7rem;
		width: 28%;
		height: 300px
	}

	.teaser-block .teaser-container .teaser.deco {
		background-size: contain;
		height: 300px
	}

	.teaser-block .teaser-container .teaser.bg {
		width: 44%;
		height: 300px
	}

	.teaser-block .button {
		margin-top: 4.8rem
	}

	.service-block {
		margin-bottom: 3.2rem
	}

	.service-block .service-container {
		display: flex;
		flex-wrap: wrap;
		margin-right: -1px
	}

	.service-block .service-container .service {
		margin-bottom: 2px;
		padding-right: 1px;
		width: 25%
	}

	.service-block .service-container .service:nth-child(5) .content,
	.service-block .service-container .service:nth-child(7) .content {
		background-color: #eee
	}

	.service-block .service-container .service:nth-child(6) .content,
	.service-block .service-container .service:nth-child(8) .content {
		background-color: #f6f6f6
	}

	.service-block .service-container .service .content {
		display: block;
		height: 220px;
		text-align: center
	}

	.service-block .service-container .service .content .icon {
		width: 100%;
		height: 124px
	}

	.service-block .service-container .service .content .icon:after {
		top: auto;
		bottom: 0;
		left: 50%;
		transform: translate(-50%) scale(1)
	}

	.service-block .service-container .service .content .text {
		padding: 1.2rem 2rem;
		font-size: 1.8rem;
		line-height: 2.6rem
	}

	.service-block .button {
		margin-top: 4.6rem
	}

	.banner-block {
		margin-bottom: 13rem
	}

	.banner-block .banner {
		height: 650px
	}

	.banner-block .banner .meta {
		font-size: 1.9rem;
		line-height: 2.3rem
	}

	.banner-block .banner .headline {
		font-size: 4.5rem;
		line-height: 5.5rem
	}

	.text-block {
		margin-bottom: 8rem
	}

	.text-block+.frame-type-form_formframework {
		margin-top: -8rem
	}

	body.home .text-block {
		margin-bottom: 14.8rem
	}

	.ce-textpic .ce-textpic-inner.justify {
		text-align: justify
	}

	.ce-textpic .image.width_20 {
		max-width: 20%
	}

	.ce-textpic .image .caption,
	.image-caption {
		font-size: 1.5rem;
		line-height: 2.8rem
	}

	.lead-block {
		margin-top: 12rem;
		margin-bottom: 20rem
	}

	.lead-block .content {
		padding: 50px 70px
	}

	.lead-block .content .headlines .meta {
		margin-bottom: 1.6rem;
		font-size: 1.6rem;
		line-height: 2.6rem
	}

	.lead-block .content .headlines .headline {
		font-size: 2.8rem;
		line-height: 3.6rem
	}

	.lead-block .content .contact-info .link {
		margin-bottom: 1.9rem;
		padding-left: 43px;
		font-family: Barlow Medium, Arial;
		font-size: 2rem;
		line-height: 2.4rem
	}

	.lead-block .content .contact-info .link.mail:after {
		transform: scale(1);
		margin-top: -7px;
		background-position: -55px -25px;
		width: 23px;
		height: 18px
	}

	.lead-block .content .contact-info .link.mobile:after {
		left: 7px;
		margin-top: -11px;
		background-position: -35px -25px;
		width: 15px;
		height: 25px
	}

	.video-block {
		margin-bottom: 10rem
	}

	.compact-block {
		margin-bottom: 11.5rem
	}

	.compact-block .compact-box-container .compact-box {
		width: 50%
	}

	.compact-block .compact-box-container .compact-box .compact-box-inner .image {
		width: 150px
	}

	.compact-block .compact-box-container .compact-box .compact-box-inner .content p a {
		margin-bottom: 1.4rem
	}

	.gallery-block {
		margin-bottom: 12.7rem
	}

	.glide__slide-caption {
		margin-top: 3.5rem;
		padding-right: 20rem;
		font-size: 1.5rem;
		line-height: 2.8rem
	}

	.listing-block {
		margin-bottom: 8rem
	}

	.listing-block+.bg-grey {
		margin-top: -8rem
	}

	.listing-block .listing .image {
		width: 30%
	}

	.listing-block .listing .content {
		padding: 3.5rem 0
	}

	.listing-block .listing .content .content-inner {
		padding: 1rem 4rem 4rem 7rem
	}

	.listing-block .listing .content .content-inner .headline {
		font-size: 2.7rem;
		line-height: 3.6rem
	}

	.listing-block .listing .icon {
		width: 136px
	}

	.listing-block .listing .icon img {
		max-width: 68px
	}

	.listing-block .listing+.category {
		margin-top: 10rem
	}

	.listing-block .category {
		margin-top: 5rem;
		font-size: 2rem;
		line-height: 3rem
	}

	.news-block {
		margin-bottom: 14rem
	}

	.news-block .news-container .news {
		width: 50%
	}

	.news-block .news-container .news .news-inner .image {
		width: 150px
	}

	.jobs-block {
		margin-bottom: 14rem
	}

	.jobs-block .jobs-container .job .title {
		font-size: 1.8rem;
		line-height: 2.6rem
	}

	.jobs-block .jobs-container .job .information {
		font-size: 1.7rem;
		line-height: 2.6rem
	}

	.jobs-block .jobs-container .job .information .location {
		width: 190px
	}

	.jobs-block .jobs-container .job .information .department {
		padding-right: 15px;
		width: 155px
	}

	.tagcloud-block {
		margin-bottom: 12rem
	}

	.tagcloud {
		display: flex;
		align-items: center;
		justify-content: center
	}

	.tagcloud .content .meta {
		font-size: 1.8rem;
		line-height: 2.2rem
	}

	.tagcloud.slim {
		height: 71%
	}

	.accordion-block,
	.form-container {
		margin-bottom: 10rem
	}

	.history-block .history {
		padding-top: 12.6rem
	}

	.history-block .history .item.image {
		min-height: 29rem
	}

	.history-block .history .item .content {
		padding: 8rem
	}

	.history-block .history .item .box:after {
		transform: scale(1)
	}

	.history-block .ce-textpic {
		margin-top: 10rem;
		margin-bottom: 8rem
	}

	.cta-block {
		margin-bottom: 10rem
	}

	.cta-block.bg-grey {
		padding-right: 3rem;
		padding-left: 3rem
	}

	.cta-block .block.center {
		padding-right: 10rem;
		padding-left: 10rem
	}

	.cta-block .block .block-inner h2 {
		margin-bottom: 2rem
	}

	.social-media-block {
		margin-bottom: 10rem
	}

	.social-media-block .ce-textpic {
		margin-top: -4rem;
		margin-bottom: 4.5rem
	}

	.social-media-block .social-media-container .social-media .content .name {
		font-size: 1.7rem;
		line-height: 2.1rem
	}

	.navigation-block {
		margin-bottom: 8rem
	}

	.navigation-block .nav-simple {
		height: 10rem
	}

	.table-of-content-block {
		margin-bottom: 8rem
	}

	.table-of-content-block .table-of-content {
		padding: 4.5rem 6rem 3.5rem
	}

	.table-of-content-block .table-of-content ul li {
		padding-left: 6rem
	}

	.table-of-content-block .table-of-content ul li:after {
		top: 1.3rem;
		left: 3rem
	}

	.table-of-content-block .table-of-content ul li a {
		font-size: 1.6rem
	}

	.top-button-element {
		bottom: 250px
	}

	.footer {
		padding-top: 7.2rem;
		font-size: 1.5rem;
		line-height: 2.6rem
	}

	.footer .content {
		flex-wrap: nowrap
	}

	.footer .content .column {
		width: 240px
	}

	.footer .content .column:last-child {
		width: 260px
	}

	.footer .content .column:first-child {
		flex-grow: 1;
		width: auto
	}

	.footer .content .column:last-child {
		width: auto
	}

	.footer .content .logo {
		margin-bottom: 10rem;
		margin-left: 0;
		height: 62px;
		text-align: left
	}

	.footer .headline {
		font-size: 1.5rem;
		letter-spacing: .1rem;
		line-height: 1.8rem
	}

	.footer .quicklinks a {
		font-family: Barlow Regular, Arial;
		font-size: 1.6rem;
		line-height: 1.8rem
	}

	.footer .social-media {
		text-align: left
	}

	.footer .social-media .icons {
		justify-content: flex-start
	}

	.footer .meta {
		display: flex;
		margin-top: 0;
		text-align: left
	}

	.footer .meta .text {
		margin-right: 1.7rem
	}

	.footer .meta .nav-footer {
		flex-wrap: wrap;
		justify-content: flex-start
	}
}

@media (min-width:1200px) {
	.teaser-block .teaser-container .teaser {
		height: 370px;
		font-size: 3rem;
		line-height: 3.6rem
	}

	.teaser-block .teaser-container .teaser.bg,
	.teaser-block .teaser-container .teaser.deco {
		height: 370px
	}

	.teaser-block .teaser-container .teaser .content .headline:after {
		left: 3px;
		margin-top: 1.6rem;
		background-position: 0 -25px;
		width: 22px;
		height: 15px
	}

	.service-block .service-container .service .content .text {
		padding: 1.2rem 5rem
	}

	.banner-block .banner .headline {
		margin-top: -.9rem;
		margin-bottom: 1.2rem;
		font-size: 6rem;
		line-height: 8.8rem
	}

	.lead-block .content {
		padding: 80px 70px 102px
	}

	.compact-block .compact-box-container .compact-box .compact-box-inner .image {
		width: 190px
	}

	.news-block .news-container .news .news-inner .image {
		width: 192px
	}

	.news-block .news-container .news .news-inner .content {
		padding: 2.4rem 5rem 3rem 4.5rem
	}

	.news-block .news-container .news .news-inner .content .headline {
		font-size: 1.8rem;
		line-height: 2.6rem
	}

	.news-block .news-container .news .news-inner .content .subheadline {
		font-size: 1.6rem;
		line-height: 2.4rem
	}

	.tagcloud .video:after {
		height: 250px
	}

	.tagcloud .content .headline {
		margin-bottom: 3.9rem;
		font-family: Barlow Light, Arial;
		font-size: 4.8rem;
		line-height: 5.4rem
	}

	.cta-block .block .block-inner {
		max-width: 93.5rem
	}

	.footer .content .logo {
		height: 75px
	}
}

@media (min-width:1400px) {
	.lead-block .content .headlines .headline {
		font-size: 4.2rem;
		line-height: 5rem
	}

	.cta-block .block .block-inner {
		max-width: 108.5rem
	}
}

@media (max-width:767.98px) {
	.compact-block .compact-box-container .compact-box .compact-box-inner .content .text {
		font-size: 1.3rem;
		line-height: 2rem
	}

	.social-media-block .social-media-container .social-media:nth-child(4n),
	.social-media-block .social-media-container .social-media:nth-child(4n+1) {
		background-color: #f7f7f7
	}

	.navigation-block .nav-simple .link-block .link {
		text-indent: -9999px
	}
}

@media (prefers-reduced-motion:reduce) {

	.form-control,
	.form-control::file-selector-button {
		transition: none
	}

	.form-control::-webkit-file-upload-button {
		-webkit-transition: none;
		transition: none
	}

	.collapsing,
	.form-select {
		transition: none
	}
}

.index_banner_img{
	height: 80vh;
	background-size: cover!important;
	width: 100%;
	position: relative;
}
.index_ban_fu{
	position: absolute;
	left: 0;
	bottom: 15vh;
	background: rgba(21, 147, 215, 0.8);
	padding: 5%;
	max-width: 50%;
}
.index_ban_fu .d1{
	font-size: 8rem;
	font-weight: bold;
	text-transform:uppercase;
	line-height: 130%;
	color: #fff;
}
.index_ban_fu .d1 span{
	display: block;
	width: 8rem;
	height: 5px;
	background: #fff;
}
.index_ban_fu .d2{
	font-size: 3rem;
	color: #fff;
	margin-top: 2rem;
}
.index_ban_fu .d2 span{
	padding: 0 1rem;
}
.fbanner_img img{
	display: block;
	width: 100%;
}

.join_det{
	padding-bottom: 3%;
}
.join_det_li .join_det_li_1{
	font-size: 4rem;
	color: #70bde6;
	margin-bottom: 2rem;
	margin-top: 3%;
}

.join_det_li .join_det_li_2{
	font-size: 2.5rem;
	color: #333;
	margin-bottom: 1rem;
}


.join_det_li .join_det_li_3{
	font-size: 2rem;
	color: #999;

	line-height: 150%;
	margin-bottom: 2rem;
}

.join_det_li .join_det_li_3 p{
	margin: 0;
}
a.link.lightblue, button.link.lightblue{
	    color: #70bde6;
}

.njoin_ul{
	padding: 3% 0;
}

.njoin_head{
	border-bottom: 2px solid #1593d7;
	display: flex;
	font-size: 26px;
	font-weight: bold;
	color: #333;
	padding-bottom: 5px;
}
.njoin_bottom_li{
	display: flex;
	align-items: center;
	border-bottom: 1px solid #eee;
	padding:10px 0;
}
.njoin_bottom_li .d1{
	font-size: 20px;
	color: #888;
	flex: 1;
}
.njoin_head .d1{
	flex: 1;
	
}
.njoin_head .d1{
	flex: 1;
}









.news_pro_ul{
	display: flex;
	flex-wrap: wrap;
	margin: 10px -10px;
}

.news_pro_li{
	width: 33.3%;
}

.news_pro_li a{
	margin: 10px;
	display: block;
}

.news_pro_li a .d1 img{
	display: block;
	width: 100%;
	object-fit: cover;
}
.news_pro_li a:hover .d1 img{
	transform: scale(1.1);
	transition: 0.5s;
} 
.news_pro_li a:hover .d2 span{
	background: #1593d7;
} 
.news_pro_li a .d1{
	height: 20rem;
	overflow: hidden;
}
.news_pro_li a .d2{
	display: flex;
	align-items: center;
	background: #eee;
	justify-content: space-between;
	color: #333;
	font-size: 16px;
	padding: 10px;
}

.news_pro_li a .d2 span{
	background: #333;
	color: #fff;
	width: 30px;
	height: 30px;
	text-align: center;
	line-height: 30px;
	border-radius: 50%;
}
.news_what{
	text-align: right;
	padding: 20px 0;
}
.news_what a{
	border-radius: 20px;
	padding:  5px 10px;
	color: #1593d7;
	font-size: 16px;
	border: 1px solid #1593d7;
}
.news_what a:hover{
	border-radius: 20px;
	padding:  5px 10px;
	color: #fff;
	font-size: 16px;
	background: #1593d7;
	border: 1px solid #1593d7;
}

.news_banner .dd{
	position: absolute;
	top: 50%;
	left: 5%;
	transform: translate(0,-50%);
	color: #fff;
}
.news_banner .dd .d1{
	font-size: 14px;
	padding-bottom: 5px;
	
}
.news_banner .dd .d2{
	font-size: 30px;
	padding-bottom: 35px;
	font-weight: bold;
}
.news_banner .dd .d3 a{
	display: inline-block;
	border: 1px solid #ccc ;
	padding: 5px 15px;
	color: #fff;
	font-size: 16px;
	border-radius: 20px;
}
.news_banner .dd .d3 a span{
	display: inline-block;
	margin-left: 20px;
}
.news_banner .dd .d3 a:hover{
	color: #1593d7;
	border: 1px solid #1593d7 ;
}
.headline-h11{
	color: #1593d7;
	
}
.dright.news_banner{
	position: relative;
}

.news_doyou{
	display: flex;
}
.news_doyou .dleft{
	width: 30%;
	
}
.news_con_left{
	display: flex;
	padding-right: 10%;
}
.news_doyou .dright{
	flex: 1;
}
.news_doyou .dright .d2{
	font-size: 60px;
	max-width: 600px;
	line-height: 130%;
	margin-bottom: 10%;
}

.news_con{
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 5% ;
}



@media (max-width:767.98px) {
	.news_pro_li{
		width: 50%;
	}
	.news_pro_li a .d1{
		height: auto;
	}
	.news_pro_li a .d2{
		font-size: 14px;
	}
	.news_pro_li a .d2 p{
		flex: 1;
	}
	.banner-block .banner{
		height: 300px;
	}
	.h1, .headline-h1, h1{
		font-size: 2rem;
	}
	.news_doyou{
		display: block;
		position: relative;
	}
	.news_doyou .dleft{
		width: 100%;
	}
	.news_doyou .dleft img{
		display: block;
		width: 100%;
		height: auto;
	}
	.news_doyou .dright .d2{
		font-size: 30px;
	}
	.news_doyou .dright.news_banner{
		position: absolute;
		width: 100%;
		top: 50%;
	}
	
	.news_banner .dd{
		top: -100%;
	}
	.news_con{
		flex-wrap: wrap;
	}
	.news_con .news_con_left{
		width: 100%;
		padding-bottom: 20px;
	}
	.news_con .news_con_right{
		width: 100%;
	}
	
	
	
	
	
}















