@charset "UTF-8";
/* CSS Document */

* {
    margin: 0;
    padding: 0;
}

/* Variablen */

:root {

	--page-width: 90%;
	--page-primary-color: #F06423;
	--page-secondary-color: #5A8C82;
	--page-primary-backgroundcolor: rgb(240,100,35);
	--page-secondary-backgroundcolor: rgb(90,140,130);
	--page-color-black: #000000;
	--page-color-white: #ffffff;
	--page-color-grey: rgb(237,237,237);
	--page-color-hoverblack: rgba(0,0,0,.8);
	--page-font-family: 0.35s ease-in-out;
	--page-text-transition: 0.35s ease-in-out;
	--page-box-transition: all 0.3s ease-in-out;
	--page-primary-font: 'Montserrat', sans-serif;
	--page-secondary-font: 'Roboto', sans-serif;
	
}

/* Allgemein */

html {
	
	font-family: sans-serif;
    -ms-text-size-adjust: 100%;
    -webkit-text-size-adjust: 100%;
	background-color: #F06423;
	scroll-behavior: smooth;
}

body {
	
	max-width: auto;
    margin-left: auto;
    margin-right: auto;
	background-color: #F06423;
    margin-top: 0;
	position: relative;
}

a {
	
	text-decoration: none;
    cursor: pointer;
	color: #F06423;
	transition: 0.35s ease-in-out;
	font-weight: 700;
}

a:hover {
    
    color: #000000;
}

p {
	
	font-family: var(--page-secondary-font);
	font-size: 12pt;
	font-weight: 300;
	color: #000;
	line-height: 1.5;
	padding-top: 15px;
	padding-bottom: 15px;
}

p.pointed {
	
	font-size: 13.5pt;
	font-weight: 300;
	line-height: 1.5;
}

ul {
	
	list-style-type: square;
}

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

p:empty {
    
    display: none;
}

h1, .h1 {
	
	visibility: hidden;
}

h2, .h2, h3, .h3, h4, .h4, p {
	
	hyphens: auto;
}

h2, .h2 {
	
	font-family: var(--page-primary-font);
	font-size: 24pt;
	line-height: 1.1;
	font-weight: 700;
}

h3, .h3 {
	
	font-family: var(--page-primary-font);
	font-size: 20pt;
	line-height: 1.1;
	font-weight: 600;
	padding-top: 12px;
	padding-bottom: 6px;
}

h4, .h4 {
	
	font-family: var(--page-secondary-font);
	font-size: 13pt;
	line-height: 1.3;
	font-weight: 600;
	padding-top: 6px;
	padding-bottom: 6px;
}

.title_wrapper {
	
	width: inherit;
	max-width: 50%;
	padding-top: 35px;
	padding-bottom: 15px;
	background: linear-gradient(to bottom, rgba(255, 255, 255, 0.6) 0%, rgba(255, 255, 255, 1) 60%);
	border-top-right-radius: 60px;
}

.title {
	
	width: 90%;
	margin: 0 auto;
}

.title sub {
	
	font-family: var(--page-secondary-font);
	font-size: 15pt;
	font-weight: 200;
	color: #000;
}

.visually-hidden {
	
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

/* Farben */

.c-orange {
	
	color: var(--page-primary-color);
}

.c-aquamarine {
	
	color: var(--page-secondary-color);
}

.c-lightgrey { 
	
	color: rgb(237,237,237);
}

.bc-orange {
	
	background-color: var(--page-primary-backgroundcolor);
}

.bc-aquamarine {
	
	background-color: var(--page-secondary-backgroundcolor);
}

.bc-lightgrey { 
	
	background-color: rgb(237,237,237);
}

.pagination {
	
	width: 100%;
	margin: 0 auto;
	margin-top: -15px;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;
}

.pagination_title {
	
	width: 100%;
	display: block;
	text-align: center;
	padding-bottom: 6px;
}

.pagination_title span {
	
	font-size: 13pt;
	color: #000;
	font-family: var(--page-secondary-font);
	font-weight: 300;
}

.pagination a.numbering {
	
	height: 35px;
	width: 35px;
	background-color: var(--page-primary-backgroundcolor);
	border-radius: 50%;
	margin: 10px;
	display: flex;
	align-items: center;
	justify-content: center;
	opacity: .75;
	transition: var(--page-box-transition);
	border: solid 1px #F06423;
}

.pagination a.numbering:hover {
	
	color: #000;
	opacity: 1;
}

.pagination a.numbering.active {
	
	opacity: 1;
	border: solid 1px #000;
}

.pagination a.numbering span {
	
	font-family: var(--page-secondary-font);
	font-size: 13pt;
	font-weight: 600;
	color: #000;
	transition: var(--page-box-transition);
}

.pagination a.numbering.active span {
	
	color: #fff;
}

/* Schriftarten */

@font-face {
  font-family: 'Montserrat';
  src: 
    url('media/fonts/montserrat/Montserrat.woff2') format('woff2-variations'),
    url('media/fonts/montserrat/Montserrat.woff2') format('woff2'),
    url('media/fonts/montserrat/Montserrat.woff') format('woff'),
    url('media/fonts/montserrat/Montserrat.ttf') format('truetype-variations'),
    url('media/fonts/montserrat/Montserrat.ttf') format('truetype'),
    url('media/fonts/montserrat/Montserrat.otf') format('opentype');

  font-weight: 100 900;
  font-stretch: 75% 125%;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Roboto';
  src: 
    url('media/fonts/roboto/Roboto.woff2') format('woff2-variations'),
    url('media/fonts/roboto/Roboto.woff2') format('woff2'),
    url('media/fonts/roboto/Roboto.woff') format('woff'),
    url('media/fonts/roboto/Roboto.ttf') format('truetype-variations'),
    url('media/fonts/roboto/Roboto.ttf') format('truetype'),
    url('media/fonts/roboto/Roboto.otf') format('opentype');

  font-weight: 100 900;
  font-stretch: 75% 100%;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Roboto-Italic';
  src: 
    url('media/fonts/roboto/Roboto-Italic.woff2') format('woff2-variations'),
    url('media/fonts/roboto/Roboto-Italic.woff2') format('woff2'),
    url('media/fonts/roboto/Roboto-Italic.woff') format('woff'),
    url('media/fonts/roboto/Roboto-Italic.ttf') format('truetype-variations'),
    url('media/fonts/roboto/Roboto-Italic.ttf') format('truetype'),
    url('media/fonts/roboto/Roboto-Italic.otf') format('opentype');

  font-weight: 100 900;
  font-stretch: 75% 100%;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Font Awesome';
  font-display: block;
  font-weight: 900;
  src: url('media/fonts/font-awesome/fa-solid-900.woff2') format('woff2'), url('media/fonts/font-awesome/fa-solid-900.ttf') format('truetype'); 
}

@font-face {
  font-family: 'Font Awesome Regular';
  font-display: block;
  font-weight: 400;
  src: url('media/fonts/font-awesome/fa-regular-400.woff2') format('woff2'); 
}

/* Button */

.button {
	
	-webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
	border-radius: 60px;
	cursor: pointer;
    display: inline-block;
    transition: 0.4s ease-in-out;
	padding-inline: 1.25rem;
	min-height: 44px;
	min-width: 44px;
	padding: 0rem 1rem;
	-webkit-backdrop-filter: blur(10px) brightness(30%);
	backdrop-filter: blur(10px) brightness(30%);
	border: 1px solid transparent;
	place-content: center;
	transition: all 0.3s ease-in-out;
    -moz-transition: all 0.3s ease-in-out;
    -webkit-transition: all 0.3s ease-in-out;
    -o-transition: all 0.3s ease-in-out;
    -ms-transition: all 0.3s ease-in-out;
}

.button span {
	
	font-family: 'Roboto', sans-serif;
	font-weight: 300;
	line-height: 1.6;
	font-size: 1rem;
	color: #fff;
}

.button:hover {
	
	background-color: var(--page-color-hoverblack);
	color: #fff;
	transform: scale(1.04, 1.04);
    -moz-transform: scale(1.04, 1.04);
    -webkit-transform: scale(1.04, 1.04);
    -o-transform: scale(1.04, 1.04);
    -ms-transform: scale(1.04, 1.04);
}

.button.nav_button:hover {
	
	background-color: var(--page-secondary-backgroundcolor);
}

.button_wrapper {
	
	display: flex;
	align-items: center;
	justify-content: space-around;
}

.button_wrapper a.button {
	
	margin-left: 15px;
	margin-right: 15px;
}

.button_section {
	
	width: 100%;
	padding-bottom: 30px;
	display: flex;
	align-items: center;
	justify-content: center;
}

#scrollUp {
	
	display: none;
}

.scroll-up {
	
	position: fixed;
	right: 30px;
	bottom: 30px;
	z-index: 100000;
}

.scroll-up a {
	
	text-decoration: none;
	display: flex;
	align-items: center;
	justify-content: center;
	opacity: .6;
	transition: all 0.3s ease-in-out;
    -moz-transition: all 0.3s ease-in-out;
    -webkit-transition: all 0.3s ease-in-out;
    -o-transition: all 0.3s ease-in-out;
    -ms-transition: all 0.3s ease-in-out;
}

.scroll-up a span::before {
	
	font-family: 'Font Awesome';
	content: "\f0aa";
	display: inline-block;
	font-size: 24pt;
	color: var(--page-primary-backgroundcolor);
	transition: var(--page-box-transition);
}

.scroll-up a:hover {
	
	opacity: 1;
}

.scroll-up a:hover span::before {
	
	opacity: 1;
	transform: scale(1.15, 1.15);
    -moz-transform: scale(1.15, 1.15);
    -webkit-transform: scale(1.15, 1.15);
    -o-transform: scale(1.15, 1.15);
    -ms-transform: scale(1.15, 1.15);
}

/* Header */

header {
	
	width: 100%;
    position: sticky;
    top: 0;
    z-index: 99;
    pointer-events: none;
}

.header_background {
	
	position: absolute;
    inset: 0;
    background-color: rgba(237,237,237,.79);
    backdrop-filter: blur(10px);
    z-index: 1;
    pointer-events: auto;
	transition: height 0.5s ease, background-color 0.5s ease, backdrop-filter 0.5s ease;
	box-shadow: 0px 3px 6px -3px rgba(0,0,0,0.3);
	-webkit-box-shadow: 0px 3px 6px -3px rgba(0,0,0,0.3);
	-moz-box-shadow: 0px 3px 6px -3px rgba(0,0,0,0.3);
}

.header_background.nav_opend {
	
	height: 100vh;
	background-color: transparent;
	-webkit-backdrop-filter: blur(10px) brightness(25%);
	backdrop-filter: blur(10px) brightness(25%);
}

.header_wrapper {
	
	position: relative;
    z-index: auto;
    width: var(--page-width);
    margin: 0 auto;
    padding: 15px 0;
    height: 111px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    pointer-events: auto;
	transition: var(--page-box-transition);
}

.header_wrapper.scaled {
	
	height: 35px;
}

.header_wrapper.nav_opend {
	
	
}

.brand_wrapper, 
.brand_svg_wrapper,
.menu_button.fa_menu {
	
    position: relative; 
    z-index: 101; 
}

.brand_wrapper {
	
	display: flex;
	justify-content: flex-start;
	align-items: flex-end;
	gap: 15px;
	padding-left: 5%;
}

.brand_svg_wrapper {
	
	width: 130px;
	padding-bottom: 10%;
	background-color: var(--page-primary-color);
	transition: var(--page-box-transition);
}

.brand_svg_wrapper.scaled {
	
	width: 65px;
}

.brand_svg_wrapper .brand {
	
	width: 80%;
	height: 100%;
	padding-top: 65%;
	margin-left: auto;
	margin-right: auto;
}

.brand_svg_wrapper .brand svg.lps_svg_logo {
	
	fill: var(--page-color-grey);
}

.brand_title {
	
	font-size: 23.5pt;
	font-family: 'Montserrat', sans-serif;
	font-weight: 800;
	line-height: 1;
	text-transform: uppercase;
	padding-bottom: 32%;
	color: var(--page-primary-color);
	z-index: 107;
	transition: var(--page-box-transition);
}

.brand_title.scaled {
	
	font-size: 10.5pt;
	padding-bottom: 40%;
}

.menu_button::before {
	
	font-size: 1rem;
	color: #fff;
	margin-right: 12px;
}

.menu_button.fa_contact,
.menu_button.fa_menu {
	
	pointer-events: auto;
	z-index: 111;
}

.menu_button.fa_menu::before {
	
	font-family: 'Font Awesome';
	content: "\f0c9";
	display: inline-block;
    transition: transform 0.3s ease;
}

.menu_button.fa_menu.nav_opend::before {
	
    content: "\f00d";
	transform: rotate(90deg);
}

.menu_button.fa_contact::before {
	
	font-family: 'Font Awesome Regular';
	content: "\f0e0";
}

/* Navigation */

nav {
	
	width: 100%;
	height: 100vh;
	border: 1px solid transparent;
	z-index: 100 !important;
	position: fixed;
	display: flex;
	align-items: center;
	justify-content: center;
	pointer-events: none;
	visibility: hidden;
	opacity: 0;
    transition: opacity 0.4s ease, visibility 0.4s;
	text-align: center;
}

nav .navigation {
	
    transform: translateY(-30px);
    transition: transform 0.5s ease;
}

nav.nav_opend {
	
    visibility: visible;
    opacity: 1;
}

nav.nav_opend .navigation {
	
    transform: translateY(0);
}

.navigation {
	
	width: 60%;
	margin: 0 auto;
}

.navigation ul {
	
	list-style-type: none;
	margin: 0 auto;
	padding: 0;
	text-align: center;
}

.navigation ul li {
	
	max-width: 270px;
	transition: var(--page-box-transition);
	margin: 12px auto;
	border-radius: 60px;
	cursor: pointer;
	border: solid 1px transparent;
	pointer-events: auto;
	text-align: center;
}

.navigation ul li a {
	
	font-size: 20pt;
	font-family: var(--page-secondary-font);
	color: #fff;
	text-decoration: none;
	padding: 15px;
	font-weight: 400;
	padding-inline: 1.25rem;
	padding: .65rem 1.25rem;
	display: block;
}

.navigation ul li:hover {
	
	border: solid 1px #fff;
}


/* Seite */

.page_section {
	
	background-color: var(--page-color-white);
	min-height: 100vh;
	padding-top: 30px;
	padding-bottom: 30px;
}

.page_section_wrapper {
	
	width: var(--page-width);
	margin: 0 auto;
}

.page_section_content,
.page_section_split {
	
	width: 94%;
	margin: 0 auto;
	margin-top: 30px;
}

.page_section_info {
	
	margin-top: 30px;
	margin-bottom: 30px;
}

#impressum.page_section_content ul,
#datenschutz.page_section_content ul {
	
	width: 90%;
	margin: 0 auto;
	
	font-family: var(--page-secondary-font);
	font-size: 12pt;
	font-weight: 300;
	padding-top: 15px;
	padding-bottom: 15px;
	color: #000;
}

#impressum.page_section_content p strong,
#datenschutz.page_section_content p strong {
	
	font-weight: 600;
}

#impressum.page_section_content ul li,
#datenschutz.page_section_content ul {
	
	width: 90%;
	margin: 0 auto;
	
	font-family: var(--page-secondary-font);
	font-size: 12pt;
	font-weight: 300;
	padding-top: 15px;
	padding-bottom: 15px;
	color: #000;
}

#impressum.page_section_content p,
#impressum.page_section_content ul li,
#datenschutz.page_section_content p,
#datenschutz.page_section_content ul li {
	
	line-height: 1.2;
	font-size: 11pt;
	margin-bottom: 0;
	padding-bottom: 0;
}

/* Unterseite */

.subpage_header {
	
	height: 399px;
	margin-top: -140px;
	background-repeat: no-repeat;
	background-size: cover;
	display: flex;
	align-items: flex-end;
	justify-content: flex-start;
	box-shadow: inset 0px -10px 20px -10px rgba(0,0,0,0.9);
}

.subpage_heading {
	
	width: var(--page-width);
	margin: 0 auto;
}

/* Elemente */

.split_section {
	
	width: 100%;
	margin: 0 auto;
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
}

.split_section .part {
	
	width: 47%;
	margin-left: 0;
}

.split_section .part.text h3 {
	
	padding-top: 0;
	margin-top: 0;
}

.split_section .part.img img {
	
	width: 100%;
	height: auto;
}

.split_section .part.img div.caption {
	
	padding-top: 3px;
	font-size: 9pt;
	font-family: var(--page-secondary-font);
	font-weight: 300;
	color: #000;
}

.split_section .part.text .call-to-action {
	
	width: 100%;
	margin: 0 auto;
	text-align: center;
}

.project_wrapper {
	
	margin-top: 15px;
	margin-bottom: 30px;
	width: 100%;
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	flex-wrap: wrap;
}

.project_item {
	
	width: 31%;
	aspect-ratio: 1 / 1;
	position: relative;
	margin-bottom: 3.5%;
	overflow: hidden;
	cursor: default;
}

.project_item.link {
	
	cursor: pointer;
}

.project_item_overlay,
.project_item_background {
	
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
}

.project_item_background {
	
	z-index: 1;
	background-repeat: no-repeat;
	background-size: cover;
	overflow: hidden;
	transition: transform 0.35s;
    -moz-transition: transform 0.35s;
    -webkit-transition: transform 0.35s;
    -o-transition: transform 0.35s;
    -ms-transition: transform 0.35s;
}

.project_item_overlay {
	
	z-index: 2;
	background: linear-gradient(to bottom, rgba(0, 0, 0, .1) 0%, rgba(0, 0, 0, .7) 70%);
	transition: var(--page-box-transition);
}

.project_caption {
	
	position: absolute;
	display: block;
	left: 2px;
	bottom: 36%;
	z-index: 3;
}

.project_caption span {
	
	font-size: 8pt;
	color: #fff;
	font-weight: 400;
	font-family: var(--page-secondary-font);
}

.project_item_wrapper {
	
	position: relative;
	height: 100%;
	width: 100%;
	display: flex;
	flex-direction: column;
	align-items: stretch;
	justify-content: center;
	align-content: space-between;
}

.project_item_sum {
	
	text-align: center;
	z-index: 4;
	height: 70%;
	display: flex;
	align-items: center;
	justify-content: center;
}

.project_item_sum span {
	
	font-family: var(--page-primary-font);
	font-size: 27pt;
	font-weight: 800;
	color: rgba(255,255,255,0);
	transition: var(--page-box-transition);
}

.project_item_content_wrapper {
	
	height: 30%;
	padding-top: 15px;
	padding-bottom: 15px;
	z-index: 3;
	color: #fff;
}

.project_item:nth-child(even) .project_item_content_wrapper {
	
	background-color: var(--page-primary-color);
}

.project_item:nth-child(odd) .project_item_content_wrapper {
	
	background-color: var(--page-secondary-color);
}

.project_item_content {
	
	width: 94%;
	margin: 0 auto;
}

.project_item_date span {
	
	color: #000;
	font-family: var(--page-secondary-font);
	font-weight: 600;
	font-size: 11pt;
}

.project_item_date span::before {
	
	font-family: 'Font Awesome Regular';
	content: "\f073";
	display: inline-block;
	margin-right: 12px;
}

.project_item_title h4 {
	
	font-size: 15pt;
	color: #fff;
	padding-bottom: 3px;
}

.project_item_subline p {
	
	font-size: 11pt;
	color: #fff;
	margin-top: -15px;
}

.project_item_subline div.project_item_link {
	
	text-align: center;
	color: #000;
	font-size: 13pt;
	transition: var(--page-text-transition);
	text-transform: uppercase;
}

.project_item_subline div.project_item_link::before {
	
	font-family: 'Font Awesome';
	content: "\f08e";
	display: inline-block;
	margin-right: 6px;
	color: #000;
	font-size: 13pt;
}

.project_item_subline div.project_item_link:hover {
	
	color: #fff;
	text-decoration: underline;
}

.project_item:hover .project_item_overlay {
	
	background: linear-gradient(to bottom, rgba(0, 0, 0, .3) 0%, rgba(0, 0, 0, .9) 70%);
}

.project_item:hover .project_item_background {
	
	transform: scale(1.1, 1.1);
    -moz-transform: scale(1.1, 1.1);
    -webkit-transform: scale(1.1, 1.1);
    -o-transform: scale(1.1, 1.1);
    -ms-transform: scale(1.1, 1.1);
}

.project_item:hover .project_item_sum span {
	
	color: rgba(255,255,255,1);
}

.infobox {
	
	width: 100%;
	margin: 0 auto;
	background-color: var(--page-primary-color);
	padding-top: 30px;
	padding-bottom: 30px;
}

.infobox_content {
	
	width: 60%;
	margin: 0 auto;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}

.infobox_content h3 {
	
	color: #fff;
}

.infobox_content h3::before {
	
	font-family: 'Font Awesome';
	display: inline-block;
	content: "\f05a";
	margin-right: 12px;
	padding-bottom: 20px;
}

.infobox_content.infobox_contact h3::before {
	
	content: "\f3c5";
}

.infobox_content ul {
	
	list-style-type: none;
}

.infobox_content ul li {
	
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: flex-start;
	padding-top: 4px;
	padding-bottom: 4px;
}

.infobox_content ul li div {
	
	font-family: var(--page-secondary-font);
	font-size: 13.7pt;
}

.infobox_content ul li div:first-child {
	
	width: 60px;
	font-weight: 200;
}

.infobox_content ul li div:last-child {
	
	font-weight: 500;
}

.infobox_content .contact {
	
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: center;
}

.infobox_content .contact div:nth-child(2) {
	
	font-family: var(--page-secondary-font);
	color: #fff;
	font-size: 15pt;
	font-weight: 600;
	padding-top: 15px;
}

.infobox_content .contact div:nth-child(3) {
	
	font-family: var(--page-secondary-font);
	color: #fff;
	font-size: 15pt;
	font-weight: 300;
	padding-top: 10px;
	padding-bottom: 10px;
}

.infobox_content .contact a {
	
	color: #fff;
}

.heads_wrapper {
	
	width: 100%;
	padding-top: 30px;
	padding-bottom: 30px;
	margin: 0 auto;
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	flex-wrap: wrap;
}

.heads_item {
	
	display: flex;
	flex-direction: column;
	align-items: center;
}

.heads_wrapper.three .heads_item {
	
	width: 30%;
}

.heads_wrapper.four .heads_item {
	
	width: 23%;
}

.heads_item .profileimage {
	
	width: 80%;
	border-radius: 50%;
	overflow: hidden;
}

.heads_item .profileimage div {
	
	height: 100%;
	padding-top: 100%;
	background-image: url("media/svg/userimage.svg");
	background-size: cover;
	background-repeat: no-repeat;
	transition: transform 0.35s;
    -moz-transition: transform 0.35s;
    -webkit-transition: transform 0.35s;
    -o-transition: transform 0.35s;
    -ms-transition: transform 0.35s;
}

.heads_item .profileimage div:hover {
	
	transform: scale(1.1, 1.1);
    -moz-transform: scale(1.1, 1.1);
    -webkit-transform: scale(1.1, 1.1);
    -o-transform: scale(1.1, 1.1);
    -ms-transform: scale(1.1, 1.1);
}

.heads_item .name {
	
	padding-top: 30px;
	padding-bottom: 10px;
	text-align: center;
}

.heads_item .name span {
	
	font-family: var(--page-secondary-font);
	color: var(--page-primary-color);
	font-size: 15pt;
	font-weight: 600;
	text-align: center;
}

.heads_item .contactinfo {
	
	padding-top: 6px;
	padding-bottom: 6px;
}

.heads_item .contactinfo a.fa_contact span::before,
.call-to-action a.fa_contact span::before {
	
	font-family: 'Font Awesome';
	display: inline-block;
	content: "\f0e0";
	margin-right: 12px;
}

.heads_item .contactinfo .adress div:first-child {
	
	text-align: center;
}

.heads_item .contactinfo .adress div:first-child::before {
	
	font-family: 'Font Awesome';
	display: inline-block;
	padding: 3px 0;
	color: var(--page-primary-color);
	font-size: 15pt;
	content: "\f015";
	text-align: center;
}

.heads_item .contactinfo .adress div:last-child {
	
	padding-top: 6px;
	text-align: center;
}

.heads_item .contactinfo .adress div:last-child span {
	
	font-family: var(--page-secondary-font);
	font-size: 10pt;
	color: #000;
	display: block;
}

.split_section.function {
	
	align-items: stretch;
	align-content: stretch;
}

.part.function {
	
	margin: 0 auto;
	height: 100%;
}

.function .heads_item {
	
	width: 44%;
	padding-top: 30px;
	text-align: center;
	margin: 0 auto;
}

.function .contactinfo .profileinfo {
	
	margin: 0 auto;
	text-align: center;
	margin-top: -15px;
	margin-bottom: 15px;
}

.function .contactinfo .profileinfo span {
	
	font-family: var(--page-secondary-font);
	font-weight: 200;
	font-size: 15pt;
}

/* Footer */

footer {
	
	width: 100%;
	padding-top: 30px;
	padding-bottom: 6px;
	background-color: var(--page-color-grey);
	position: relative;
}

.footer {
	
	width: var(--page-width);
	margin: 0 auto;
	display: flex;
	align-items: center;
	justify-content: space-around;
	padding-bottom: 30px;
}

.footer a, .copy span {
	
	font-family: var(--page-secondary-font);
}

.footer a {
	
	text-transform: uppercase;
	font-size: 11pt;
	font-weight: 600;
}

.footer a:hover {
	
	text-decoration: underline;
}

.copy {
	
	width: 80%;
	margin: 0 auto;
	text-align: center;
	padding-top: 15px;
	padding-bottom: 6px;
}

.copy span {
	
	font-size: 10pt;
	font-weight: 200;
	color: #000;
}

/* @Media */

@media screen and (max-width: 1024px) {
	
	.project_item {
		
		width: 48%;
	}
	
	.title_wrapper {
	
		max-width: 70%;
	}
}

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

@media screen and (max-width: 744px) {
	
	.menu_button.fa_contact {
		
		display: none;
	}
	
	 .navigation {
		 
        width: 90%;
    }
	
	.title_wrapper {
	
		max-width: 80%;
	}
	
	.split_section {
	
		flex-wrap: wrap;
	}

	.split_section .part {
	
		width: 100%;
	}
	
	.part.img {
		
		padding-bottom: 30px;
	}
	
	.part.function {
		
		margin-top: 30px;
	}
	
	.project_item {
		
		width: 100%;
	}
	
	.heads_wrapper.three .heads_item {
	
		width: 47%;
		margin-bottom: 30px;
	}

	.heads_wrapper.four .heads_item {
	
		width: 47%;
		margin-bottom: 30px;
	}

}

@media screen and (max-width: 612px) {
	
	.header_wrapper {
	
    	height: 99px;
	}
	
	.brand_title {
		
		font-size: 17.5pt;
	}
	
	.brand_svg_wrapper {
	
		width: 100px;
	}
	
	.brand_svg_wrapper.scaled {
	
		width: 50px;
	}
	
	.title_wrapper {
	
		max-width: 90%;
	}
	
	.infobox_content {
	
		width: 70%;
	}
	
}

@media screen and (max-width: 537px) {
	
	.heads_wrapper.three .heads_item {
	
		width: 100%;
	}

	.heads_wrapper.four .heads_item {
	
		width: 100%;
	}
	
	.infobox_content {
	
		width: 80%;
	}
	
	.function .heads_item {
	
		width: 66%;
	}
}

@media screen and (max-width: 474px) {
	
	h2, .h2 {
	
	font-size: 20pt;
	}
	
	h3, .h3 {

	font-size: 17pt;
	}
	
	h4, .h4 {
	
	font-size: 12pt;
	}
	
	.title sub {
	
	font-size: 13pt;
	}
	
	p.pointed {
	
	font-size: 12pt;
	}
	
	.button span {
	
		font-size: .85rem;
	}
	
	.menu_button::before {
	
		font-size: .85rem;
	}
	
	.navigation ul li a {
	
	font-size: 17pt;
	}

	.header_wrapper {
	
    	height: 85px;
	}
	
	.brand_wrapper {
	
		gap: 10px;
	}
	
	.brand_title {
		
		font-size: 15.5pt;
	}
	
	.brand_svg_wrapper {
	
		width: 80px;
	}
	
	.brand_svg_wrapper.scaled {
	
		width: 40px;
	}
	
	.title_wrapper {
	
		max-width: 96%;
	}
	
	.brand_title.scaled {
	
		font-size: 9.5pt;
		padding-bottom: 20%;
	}
	
	.infobox_content {
	
		width: 90%;
	}
}

@media screen and (max-width: 411px) {
	
	.header_wrapper {
	
    	height: 60px;
	}
	
	.brand_wrapper {
	
		padding-left: 3%;
	}
	
	.brand_title {
		
		font-size: 13.5pt;
		padding-bottom: 28%;
	}
	
	.brand_svg_wrapper {
	
		width: 70px;
	}
	
	.brand_svg_wrapper.scaled {
	
		width: 40px;
	}
	
	.infobox_content ul li div {
	
		font-size: 12pt;
	}
	
	.infobox_content .contact div:nth-child(2) {
	
		font-size: 12pt;
	}
	
	.infobox_content .contact div:nth-child(3) {
	
		font-size: 12pt;
	}
	
	.function .heads_item {
	
		width: 77%;
	}
	
	.footer {
	
		flex-direction: column;
		justify-content: center;
	}
	
	.footer a {
	
		margin-bottom: 10px;
	}
}