/*/Fonts/*/

/* golos-text-regular - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Golos Text';
  font-style: normal;
  font-weight: 400;
  src: url('../Fonts/golos-text-v7-latin-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* golos-text-600 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Golos Text';
  font-style: normal;
  font-weight: 600;
  src: url('../Fonts/golos-text-v7-latin-600.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* golos-text-900 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Golos Text';
  font-style: normal;
  font-weight: 900;
  src: url('../Fonts/golos-text-v7-latin-900.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}


/* inter-regular - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  src: url('../Fonts/inter-v20-latin-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* inter-italic - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Inter';
  font-style: italic;
  font-weight: 400;
  src: url('../Fonts/inter-v20-latin-italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* inter-600 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  src: url('../Fonts/inter-v20-latin-600.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* inter-600italic - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Inter';
  font-style: italic;
  font-weight: 600;
  src: url('../Fonts/inter-v20-latin-600italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* inter-900 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Inter';
  font-style: normal;
  font-weight: 900;
  src: url('../Fonts/inter-v20-latin-900.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* inter-900italic - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Inter';
  font-style: italic;
  font-weight: 900;
  src: url('../Fonts/inter-v20-latin-900italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}



:root {

	/* Farben */
	--color-blue: #5c8fc5;
	--color-dark-blue: #324a97;
	--color-orange: #ff7f00;
	
	/* Farben barrierefrei */
	/*--color-blue: #3355aa;
	--color-orange: #ff7f00;*/
	
}



html, body {
	margin:0;
}

body {
	background-color:#fff;
    font-family:'Inter',Arial,Helvetica,sans-serif;
    font-size:18px;
	font-weight:400;
    color:#2E2E2E;
}

h1, h2, h3, h4, h5 {
    font-family:'Golos Text',Arial,Helvetica,sans-serif;
	color:#000;
	font-weight:600;
}
	
h1 {
    font-size:2.5rem;
	margin-top:50px;
	margin-bottom:25px;
	position:relative;
	font-family:'Golos Text',Arial,Helvetica,sans-serif;
}

h1 > .hbar, .frame-layout-14 h2 > .hbar {
	content:'';
	width:0;
	max-width:100%;
	height:2px;
	background-color:var(--color-dark-blue);
	position:absolute;
	bottom:-2px;
	left:0;
}
h1 > span.hwrap, .frame-layout-14 h2 > span.hwrap {
	display:inline-block;
}

h2 {
    font-size:1.75rem;
	padding:0 0 10px 0;
}
.frame-layout-14 h2 {
	font-size:2.5rem;
	padding-bottom:0;
	margin-bottom:0;
	position:relative;
}

.frame-default h2 {
	padding-top:15px;
}

h3 {
	font-size:1.25rem;
}

p {
	    
}
b,strong {
	font-weight:600;
}

a, a:visited {
	font-weight:400;
	text-decoration:none;
	color:var(--color-dark-blue);
}
main a, main a:visited {
	font-weight:600;
	text-decoration:none;
	color:black;
	border-bottom:2px solid #333;
}

a:hover, a:focus {
    color:#2E2E2E;
}

a.button-link {
	display:inline-block;
	color:#fff;
	background-color:var(--color-dark-blue);
	padding:0.25rem 1rem;
	border-top-left-radius:10px;
	border-bottom-right-radius:10px;
	font-size:1rem;
}

img {
	max-width:100%;
	height:auto;
}

hr {
	border-top:5px solid var(--color-blue);
	opacity:1;
}

.sr-only {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	border: 0;
}




#cta-buttons {
    width:44px;
    height:190px;
    right:0;
	top:400px;
	position:fixed;
    z-index:1000;
	margin:0;
	list-style:none;
	overflow:visible;
}

#cta-buttons li {
	margin-bottom:20px;
	padding:0;
	background:#f8f8f8;
	box-shadow:0 6px 12px rgba(0, 0, 0, .175);
	font-size:18px;
	color:var(--color-orange);
	text-decoration:none;
	width:320px;
	height:49px;
	position:absolute;
	right:-270px;
	top:0;
	-webkit-transition: all .5s ease;
	-moz-transition: all .5s ease;
	-o-transition: all .5s ease;
	-ms-transition: all .5s ease; 
	transition: all .5s ease;
	display:flex;
	justify-content:center;
	flex-direction:column;
}
#cta-buttons li:nth-child(2) {
	top:75px;
}
#cta-buttons li:nth-child(3) {
	top:150px;
}
#cta-buttons li:nth-child(4) {
	top:225px;
}

#cta-buttons li:hover {
	right:0;
}

#cta-buttons a {
	color:var(--color-dark-blue);
	display:block;
}

#cta-buttons li:hover a {
	color:var(--color-blue);
}

#cta-buttons span {
	padding:10px 10px 10px 0;
	vertical-align:middle;
}

#cta-buttons li i {
	font-size:24px;
	line-height:49px;
}

#cta-buttons span:first-child {
	display:inline-block;
	width:49px;
	height:49px;
	padding:0 10px 0 10px;
	text-align:center;
}


/* Header */

header.grid-container {
	max-width:100%;
	padding:0;
}

.header-top-fixed {
	position:fixed;
	top:0;
	left:0;
	right:0;
	height:100px;
	z-index:20;
	background:#fff;
}

.scrolled .header-top-fixed {
	border-bottom:1px solid #f0f0f0;
}

.header-dist {
	width:100%;
	height:100px;
}

.header-top {
	margin-bottom:10px;
}

header.grid-container .header-top {
	max-width:1138px;
	margin-left:auto;
	margin-right:auto;
}

a.home-link {
	display:inline-block;
	width:190px;
}

img.logo-hahn-systems {
	 display:inline-block;
	 width:175px;
     margin:15px 0 10px 0.9375rem;
}

nav.nav-main {
	display:inline-block;
	vertical-align:bottom;
	margin-bottom:12px;
	margin-left:40px;
}

ul.nav.main {
	font-family:'Golos Text',Verdana,Helvetica,sans-serif;
	color:#000;
	display:inline-block;
	text-transform: none;
	margin:0 0 10px 0;
}

ul.nav.main li {
	display:inline-block;
	margin-right:6px;
	position:relative;
}

ul.nav.main li:after {
	position:absolute;
	left:20px;
	bottom:0;
	width:0;
	height:2px;
	content:'';
	background-color:var(--color-dark-blue);
	-webkit-transition: all .5s ease;
	-moz-transition: all .5s ease;
	-o-transition: all .5s ease;
	-ms-transition: all .5s ease; 
	transition: all .5s ease;
}

ul.nav.main li.current:after, ul.nav.main li:hover:after {
	/*border-bottom:6px solid var(--color-dark-blue);*/
	width:calc(100% - 40px);
}

ul.nav.main a {
	display:block;
	padding:14px 10px;
	color:#000;
	font-size:1.55rem;
	font-weight:600;
}

.mobile-menu-switch {
	display:none;
}


/* Side-Navigation */

.nav-side ul {
	list-style:none;
	margin:0;
	padding-left:0;
}

.nav-side > ul {
	margin-top:54px;
	border-bottom:1px solid #ccc;
}

.nav-side li {
	border-top:1px solid #ccc;
}

.nav-side > ul ul li {
	padding-left:20px;
}

.nav-side a {
	display:block;
	padding:0.25rem 1rem;
}

.nav-side .current a {
	color:#2a2a2a;
}


/* Video / Slider Startseite */

.slider-item {
	width:100%;
	position:relative;
	color:#fff;
}

.slider-item img {
	width:100%;
}

.slider-item h2 {
	margin-top:0;
	font-size:3.5rem;
	font-family:'Inter',Verdana,Helvetica,sans-serif;
	color:#fff;
}

.page-1 header video {
	position:absolute;
	z-index:-1;
	width:100%;
}

.grid-container video {
	max-width:100%;
	height:auto;
	background:#fff;
	border-top:1px solid #000;
	border-left:1px solid #000;
	border-bottom:1px solid #000;
}

.page-1 .slick-slide a {
	color:#fff;
	border:2px solid #fff;
	padding:0.5rem 1.5rem;
}

.header-main {
	min-height:500px;
	margin-bottom:5rem;
}

.header-main .frame-type-image {
	background-color:var(--color-dark-blue);
}
.header-main .frame-type-image .ce-image.ce-center {
	max-width:1112px;
	width:100%;
	margin-left:auto;
	margin-right:auto;
}

.header-main.has-video {
	overflow:hidden;
	position:relative;
}

.has-video .slide-img {
	opacity:0;
}

.slider-text {
	position:absolute;
	left:50%;
	margin-left:-420px;
	top:220px;
	right:auto;
	bottom:auto;
	width:720px;
	max-width:720px;
	font-size:2rem;
}

@media screen and ( min-width: 481px ) and ( max-width: 1023px ) {
	
	.page-4 .slider-text {
		top:20px !important;
	}
	
	.page-4 .slider-text p {
		width:480px;
	}
}

@media screen and ( min-width: 1024px ) {
	
	.page-4 .slider-text p {
		width:540px;
	}
	
	.page-6 .slider-text {
		left:44%;
		margin-left:0;
		width:540px;
	}
}

@media screen and ( min-width: 1600px ) {

	.header-main.has-video {
		max-height:640px;
		overflow:hidden;
	}
	
}

@media screen and ( max-height: 800px ) {

	.header-main.has-video {
		max-height:500px;
		overflow:hidden;
	}
	
}

.slick-slider .slider-text {
	top:30px;
}

a.video-credits {
	position:absolute;
	right:5px;
	bottom:5px;
	font-size:0.8rem;
	color:#666;
}

.slick-slide {
	min-height:500px;
}


/* Zähler */

.counter-box {
	text-align:center;
	color:#363636;
}

.counter-box i {
	font-size:56px;
	color:var(--color-blue);
}

.counter-box .count-num {
	margin:0.5rem 0 0.25rem 0;
	font-weight:400;
	font-size:1.5rem;
}

.counter-box p {
	font-size:1.2rem;
}


/* Main */

main .grid-container {
     max-width:69.5rem;
	 margin-left:auto;
	 margin-right:auto;
}

/*main .grid-container .grid-container {
	padding-left:0;
	padding-right:1rem;
	margin-left:-0.9375rem;
	margin-right:-0.9375rem;
}*/

main .grid-container .large-4 .grid-container {
	padding-right:2rem;
}

.grauer-balken {
	margin:80px 0;
	padding:30px 0;
	background-color:#f0efef;
}

.grauer-balken-small-margin {
	margin:20px 0;
	padding:30px 0;
	background-color:#f0efef;
}
.grauer-balken.fl-20 {
	margin-top:0;
	margin-bottom:0;
}
.grauer-balken.fl-21 {
	margin-top:0;
}
.grauer-balken.fl-22 {
	margin-bottom:0;
}

.orange-balken {
	margin:80px 0;
	padding:30px 0;
	background-color:var(--color-orange);
}

.bright-gray-bg {
	margin:80px 0;
	background-color:#f7f7f7;
}

.two-color-bg {
	background: rgb(255,255,255);
	background: linear-gradient(180deg, rgba(255,255,255,1) 0%, rgba(255,255,255,1) 49.999%, rgba(176,221,214,1) 50%, rgba(176,221,214,1) 100%);
	padding-bottom:3rem;
}

/*.frame-type-gridelements_pi1 h2 {
	padding:40px 0;
}*/

.frame-space-before-small { margin-top:1rem; }
.frame-space-before-large { margin-top:2rem; }

.frame-image-green-shadow img {
	box-shadow:20px 20px 0 0 #62bcad;
}



.frame-layout-12 {
	display:none;
}

@media screen and ( min-width: 1024px ) {
	
	.frame-layout-11 {
		display:none;
	}
	.frame-layout-12 {
		display:flex;
	}
}

.frame-layout-13 * {
	width:100%;
}

.frame-layout-30 .ce-gallery figure.image {
	position:relative;
	margin-bottom:0;
}
.frame-layout-30 .ce-gallery figcaption {
	position:absolute;
	right:0;
	bottom:0;
	display:inline-block;
	padding:3px;
	font-size:14px;
	opacity:0.7;
	color:#000;
	background:rgba(255,255,255,0.7);
}

.ce-intext.ce-right .ce-gallery {
	margin-left:20px;
}

.ce-border img, .ce-border iframe {
	border:1px solid #ccc;
}

.flip-tile {
	margin:40px 0;
	background-color:#fff;
}

.flip-tile h3 {
	font-family:'Comfortaa',Verdana,Helvetica,sans-serif;
	font-size:1.75rem;
	text-align:center;
	margin-top:50px;
	padding:0 25px;
}

.flip-tile a {
	color:#5a5a5a;
}

.flip-tile .back p {
	padding:10px;
	font-family:'Heebo',Arial,Helvetica,serif;
	font-size:1.25rem;
	font-weight:100;
}


.imageteaser {
	position:relative;
}

.imageteaser-text {
	position:absolute;
	font-family:'Inter',Arial,Helvetica,sans-serif;
}

.imageteaser-text p {
	color:#fff;
	font-size:3rem;
}

/*Footer*/

.page-footer {
	background-color:var(--color-dark-blue);
	background-size:cover;
    width:100%;
    height:auto;
    color:#fff;
    margin-top:75px;
	padding-top:40px;
}

.page-footer div.grid-container {
	position:relative;
}

.home-link-bottom {
	position:absolute;
	left:-175px;
	top:14px;
}

.page-footer .grid-container {
     max-width:69.5rem;
	 margin-left:auto;
	 margin-right:auto;
}

.page-footer .grid-container .image-embed-item {
	margin-bottom:10px;
}

.page-footer .grid-container a {
	color:#fff;
}

.page-footer .grid-container .cell:nth-child(2) a {
	font-weight:400;
	text-transform: uppercase; 
	color:#fff;
}

.page-footer .grid-container a:hover {
	color:#BEBEBE !important;
}

.page-footer .grid-container p {
	margin:10px 0;
}

.bottom-row {
	max-width:100%;
	margin:20px 0;
	padding-top:20px;
	background-color:#fff;
	color:#000;	
}

.page-footer .bottom-row a {
	color:#6FBFAF;
}

.page-footer .bottom-row a:hover {
	color:#5a5a5a;
}

.networks {
	clear:both; text-align:center;
}
.networks div {
	display: block; float: none; text-align: left;
}
.xing img, .facebook img {
	margin:6px 6px;
}

#c117 p {
	font-size:0.8rem;
}

#c117 figure {
	background:#fff;
	padding:4px 2px 0 2px;
	margin-top:8px;
}

@media screen and ( max-width: 1200px ) {
	
	.header-top .nav-main {
		display:none;
	}
	
	.mobile-menu-switch {
		display:inline-block;
		float:right;
		font-size:2.5rem;
		margin:20px 20px 0 0;
		cursor:pointer;
	}
	
	.slider-text {
		left:0.9375rem;
		margin-left:0;
		max-width:90%;
		font-size:2rem;
	}
	
}

@media screen and ( max-width: 1080px ) {
	
	main > .grid-container, main > .full-width > .grid-container {
		padding-left:0.75rem;
		padding-right:0.75rem;
	}
	
	img.logo-hahn-systems {
		margin-left:0.9375rem;
	}
	
	.close-button {
		border:0;
		background:none transparent;
		font-size:2rem;
		position:absolute;
		right:0;
		top:0;
		width:50px;
	}
	
	.page-footer .row {
		margin-left:0;
		margin-right:0;
	}
	
	.bottom-row {
		text-align:center;
	}
	
}

@media screen and ( max-width: 820px ) {
	
	.header-main, .slick-slide {
		min-height:420px;
	}
	
	.slider-text {
		top:20px !important;
		font-size:1.5rem;
	}
	
	.slider-text h2 {
		font-size:2.75rem;
	}
	
	.networks {
		width:150px;
		display:inline-block;
	}
	
}

@media screen and ( max-width: 580px ) {


	.header-top-fixed {
		height:80px;
	}

	.header-dist {
		height:80px;
	}
	
	img.logo-hahn-systems {
		width:120px;
	}
	
	h1 {
		font-size:2.25rem;
		margin-top:25px;
	}
	
	h2 {
		font-size:1.5rem;
	}
	
	h3 {
		font-size:1.25rem;
	}
	
	.networks {
		width:auto;
		display:block;
	}
	
	.page-footer div.grid-container {
		text-align:center;
	}
	
	.bottom-row {
		font-size:14px;
		margin-bottom:70px;
	}
	
	#cta-buttons {
		width:auto;
		height:auto;
		top:auto;
		bottom:0;
	}
	
	#cta-buttons li {
		position:relative;
		display:inline-block;
		top:auto !important;
		right:auto;
		width:auto;
		margin-bottom:0;
	}
	#cta-buttons li span:last-child {
		display:none;
	}
	
	.header-main {
		min-height:1px;
		margin-bottom:2rem;
	}
	
	.slick-track {
		background-color:var(--color-blue);
	}
	.page-1 .slick-track {
		background-color:#364e7c;
	}
	
	.slider-text {
		position:relative;
		top:auto !important;
		left:auto;
		margin:0;
		padding:0 0.9375rem 0.75rem 0.9375rem;
		background-color:var(--color-orange);
		color:#fff;
		max-width:100%;
	}
	.page-1 .slider-text {
		min-height:350px;		
	}
	
	.slider-text h2 {
		font-size:1.75rem;
		padding-top:15px;
		padding-bottom:0;
		color:#fff;
	}
	
	.slider-text p {
		font-size:1.25rem;
	}
	.slider-text p:last-child {
		margin-bottom:0;
	}
	
	.page-1 .slick-slide a {
		display:block;
		text-align:center;
		color:#fff;
		border-color:#fff;
	}
	
	.ce-intext.ce-right .ce-gallery {
		float:none;
		margin-left:0;
		width:auto;
	}
	
	.ce-gallery .ce-column, #c51 .ce-gallery .ce-column, #c130 .ce-gallery .ce-column {
		width:100%;
		text-align:center;
		margin-right:0;
	}
	
	#c130 div { width:100%; }
	
	.ce-gallery figure, #c51 .ce-gallery figure, #c130 .ce-gallery figure {
		margin-bottom:10px;
		width:100%;
	}
	
	.ce-gallery figure img, #c51 .ce-gallery figure img, #c130 .ce-gallery figure img {
		margin-left:auto;
		margin-right:auto;
	}
	
	.counter-box {
		margin-bottom:3rem;
	}
	
}

@media screen and ( min-width: 581px ) {
	

	main .full-width-no-padding .grid-container {
		max-width:100%;
	}

	main .full-width-no-padding .row {
		margin-left:0;
		margin-right:0;
	}

	main .full-width-no-padding .row > .ce-col {
		padding-left:0;
		padding-right:0;
	}
	
	.slider-text {
		background-color:transparent !important;
	}
	
}


/* barrierefrei */

.accessible .header-main.has-video video {
	display:none !important;
}

.accessible .has-video .slide-img {
	opacity:1;
}

.accessible .slick-track {
	background-color:var(--color-blue);
}
.accessible.page-1 .slick-track {
	background-color:#364e7c;
}

.accessible .slider-text {
	color:#fff;
}
.accessible .slider-text h2 {
	color:#fff;
}
.accessible .page-1 .slick-slide a {
	color:#fff;
	border-color:#fff;
}

.accessible .slider-text h2 {
	color:#000 !important;
}
.accessible .slider-text, .accessible .imageteaser-text {
	background:rgba(255,255,255,0.9) !important;
	color:#000 !important;
	padding:0 10px 10px 20px;
}
.accessible .imageteaser-text p {
	color:#000 !important;
}
.accessible .imageteaser-text p:last-child {
	margin-bottom:0;
}
.accessible.page-1 .slick-slide a {
	border-color:#000;
	color:#000 !important;
}

.accessible main a, .accessible main a:visited, #cta-buttons a {
	color:#000066;
	font-weight:normal;
	text-decoration:underline;
}
#cta-buttons a {
	text-decoration:none;
}
.accessible .counter-box i {
	color:#001144;
}
.accessible .page-footer {
	background-color:#001155;
}