/* heebo-100 - 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: 'Heebo';
  font-style: normal;
  font-weight: 100;
  src: url('../fonts/heebo-v28-latin-100.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* heebo-200 - 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: 'Heebo';
  font-style: normal;
  font-weight: 200;
  src: url('../fonts/heebo-v28-latin-200.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* heebo-300 - 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: 'Heebo';
  font-style: normal;
  font-weight: 300;
  src: url('../fonts/heebo-v28-latin-300.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* heebo-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: 'Heebo';
  font-style: normal;
  font-weight: 400;
  src: url('../fonts/heebo-v28-latin-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* heebo-500 - 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: 'Heebo';
  font-style: normal;
  font-weight: 500;
  src: url('../fonts/heebo-v28-latin-500.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* heebo-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: 'Heebo';
  font-style: normal;
  font-weight: 600;
  src: url('../fonts/heebo-v28-latin-600.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* heebo-700 - 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: 'Heebo';
  font-style: normal;
  font-weight: 700;
  src: url('../fonts/heebo-v28-latin-700.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* heebo-800 - 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: 'Heebo';
  font-style: normal;
  font-weight: 800;
  src: url('../fonts/heebo-v28-latin-800.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* heebo-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: 'Heebo';
  font-style: normal;
  font-weight: 900;
  src: url('../fonts/heebo-v28-latin-900.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}


@font-face {
  font-display: swap; 
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 300;
  src: url('../fonts/roboto-v50-latin-300.woff2') format('woff2'); 
}
@font-face {
  font-display: swap; 
  font-family: 'Roboto';
  font-style: italic;
  font-weight: 300;
  src: url('../fonts/roboto-v50-latin-300italic.woff2') format('woff2'); 
}
@font-face {
  font-display: swap; 
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 400;
  src: url('../fonts/roboto-v50-latin-regular.woff2') format('woff2'); 
}
@font-face {
  font-display: swap; 
  font-family: 'Roboto';
  font-style: italic;
  font-weight: 400;
  src: url('../fonts/roboto-v50-latin-italic.woff2') format('woff2'); 
}
@font-face {
  font-display: swap; 
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 600;
  src: url('../fonts/roboto-v50-latin-600.woff2') format('woff2'); 
}
@font-face {
  font-display: swap; 
  font-family: 'Roboto';
  font-style: italic;
  font-weight: 600;
  src: url('../fonts/roboto-v50-latin-600italic.woff2') format('woff2'); 
}
@font-face {
  font-display: swap; 
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 700;
  src: url('../fonts/roboto-v50-latin-700.woff2') format('woff2'); 
}
@font-face {
  font-display: swap; 
  font-family: 'Roboto';
  font-style: italic;
  font-weight: 700;
  src: url('../fonts/roboto-v50-latin-700italic.woff2') format('woff2'); 
}
@font-face {
  font-display: swap; 
  font-family: 'Sintony';
  font-style: normal;
  font-weight: 400;
  src: url('../fonts/sintony-v17-latin-regular.woff2') format('woff2'); 
}
@font-face {
  font-display: swap; 
  font-family: 'Sintony';
  font-style: normal;
  font-weight: 700;
  src: url('../fonts/sintony-v17-latin-700.woff2') format('woff2'); 
}
@font-face {
	font-family: 'Material Icons';
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: url(../fonts/MaterialIcons-Regular.eot); /* For IE6-8 */
	src: local('Material Icons'),
	local('MaterialIcons-Regular'),
		url(../fonts/MaterialIcons-Regular.woff2) format('woff2'),
		url(../fonts/MaterialIcons-Regular.woff) format('woff'),
		url(../fonts/MaterialIcons-Regular.ttf) format('truetype');
}
.material-icons {
	font-family: 'Material Icons';
	font-weight: normal;
	font-style: normal;
	font-size: 1em;  /* Preferred icon size */
	display: inline-block;
	line-height: 1;
	text-transform: none;
	letter-spacing: normal;
	word-wrap: normal;
	white-space: nowrap;
	direction: ltr;	
	/* Support for all WebKit browsers. */
	-webkit-font-smoothing: antialiased;
	/* Support for Safari and Chrome. */
	text-rendering: optimizeLegibility;	
	/* Support for Firefox. */
	-moz-osx-font-smoothing: grayscale;	
	/* Support for IE. */
	font-feature-settings: 'liga';
}
@font-face {
	font-family: 'Material Icons Outlined';
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: url('../fonts/MaterialIconsOutlined-Regular.eot'); /* For IE6-8 */
	src: local('Material Icons'),
	local('MaterialIconsOutlines-Regular'),
		url('../fonts/MaterialIconsOutlined-Regular.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
		url('../fonts/MaterialIconsOutlined-Regular.woff2') format('woff2'), /* Super Modern Browsers */
		url('../fonts/MaterialIconsOutlined-Regular.woff') format('woff'), /* Modern Browsers */
		url('../fonts/MaterialIconsOutlinesd-Regular.ttf') format('truetype'), /* Safari, Android, iOS */
		url('../fonts/MaterialIconsOutlinesd-Regular.svg#MaterialIcons') format('svg'); /* Legacy iOS */
}
.material-icons-outlined {
	font-family: 'Material Icons Outlined';
	font-weight: normal;
	font-style: normal;
	font-size: 1em;  /* Preferred icon size */
	display: inline-block;
	line-height: 1;
	text-transform: none;
	letter-spacing: normal;
	word-wrap: normal;
	white-space: nowrap;
	direction: ltr;	
	/* Support for all WebKit browsers. */
	-webkit-font-smoothing: antialiased;
	/* Support for Safari and Chrome. */
	text-rendering: optimizeLegibility;	
	/* Support for Firefox. */
	-moz-osx-font-smoothing: grayscale;	
	/* Support for IE. */
	font-feature-settings: 'liga';
}

.material-icons,
.material-icons-outlined {
	font-variation-settings:
	'FILL' 0,
	'wght' 400,
	'GRAD' 0,
	'opsz' 24
}

html {
	--emMin: 15px;
	--emMax: 22px;
	--em: calc(15px + (22 - 15) * (100vw - 320px) / (1920 - 320));	
	--remMin: 10px;
	--remMax: 35px;
	--rem: calc(10px + (35 - 10) * (100vw - 320px) / (1920 - 320));	
	font-size: var(--remMin);
}

body {
	font-family: 'Roboto';
	font-weight: 300;
	--isLightGrey: #f5f5f7;
	--isGrey: #bababa;
	--isDarkGrey: #222222;
	--isBlue: #2B69A4;
	--isWhite: #ffffff;
	--isBlack: #101010;
	--maxWidth: 64em;
	--maxWidthBoxed: 48em;
	line-height: 1;
	font-size: var(--emMin);
	color: var(--isDarkGrey);
}

h1 {
	font-family: 'Sintony';
	text-transform: uppercase;
	font-size: 2.3em;
	margin: 0;
	font-weight: 400;
	line-height: 1.1;
	hyphens: manual;
}
h2 {
	font-size: 1.8em;
	margin: 0;
	font-weight: 500;
	line-height: 1.25;
	hyphens: manual;
}
h3 {
	font-size: 1.8em;
	margin: 1.25em 0 1em 0;
	font-weight: 500;
	line-height: 1.334;
} 
h4 {
	font-size: 1em;
	line-height: 1.5;
	margin: 1em 0;
	font-weight: 500;
}
p, ol, ul {
	font-size: 1em;
	line-height: 1.5;
	margin: 1em 0;
}
p.isLarge {
	font-size: 1.3em;
	margin-bottom: 1.4em;
}
p.isXLarge {
	font-size: 2em;
	line-height: 1.25;
}
span.isBlue {
	color: var(--isBlue);
}
b, strong {
	font-weight: 500;
}
a {
	color: inherit;
	text-decoration: none;
	transition: all 0.2s ease-in-out;
	word-wrap: break-word;
	overflow-wrap: break-word;
	max-width: 100%;
}
a:hover {
	color: var(--isBlue);
}
a > span {
	word-wrap: break-word;
	overflow-wrap: break-word;
	max-width: 100%;
}
a.button,
a.button-invers {
	font-weight: 400;
	text-transform: uppercase;
	letter-spacing: .0125em;
	padding: .5em .8em;
	display: inline-block;
	font-size: .95em;
}
a.button {
	border: 1px solid var(--isDarkGrey);
	background-color: var(--isDarkGrey);
	color: var(--isWhite);
}
a.button-invers {
	border: 1px solid var(--isDarkGrey);
	background-color: none;
}
a.button:hover,
a.button-invers:hover {
	background-color: var(--isBlue);
	color: var(--isWhite);
	border-color: var(--isBlue);
}
a.mailLink,
a.telLink,
a.faxLink,
a.mehrLink,
a.locationLink {	
	display: inline-flex;
}
a.mailLink::before,
a.telLink::before,
a.faxLink::before,
a.mehrLink::before,
a.locationLink::before {
	font-family: 'Material Icons Outlined';
	align-self: baseline;
  	margin-right: .4em;
}
a.mailLink::before {
	content: '\e0be';
}
a.telLink::before {
	content: '\e0cd';
}
a.faxLink::before {
	content: '\ead8';
}
a.mehrLink::before {
	content: '\e145';
}
a.locationLink::before {
	content: '\e0c8';
}

@media only screen and (min-width: 320px) {
	html {
		font-size: var(--rem);
	}
	body {
		font-size: var(--em);
	}
}
@media only screen and (min-width: 1024px) {
	p, ol, ul {
		max-width: calc(100% - 3.5em);
	}
	p.isLarge {
		max-width: calc(100% - 2.5em);
	}
}
@media only screen and (min-width: 1920px) {
	html {
		font-size: var(--remMax);
	}
	body {
		font-size: var(--emMax);
	}
}

/* -------------------- First & Last Child -------------------- */
h1:first-child, h2:first-child, h3:first-child, h4:first-child, h5:first-child, h6:first-child, p:first-child, ul:first-child, ol:first-child, form:first-child, hr:first-child, table:first-child {
    margin-top: 0;
}
h1:last-child, h2:last-child, h3:last-child, h4:last-child, h5:last-child, h6:last-child, p:last-child, ul:last-child, ol:last-child, form:last-child, hr:last-child, table:last-child {
    margin-bottom: 0;
}