@font-face {
    font-family: 'Montserrat';
    src: url('../fonts/Montserrat-Light.woff2') format('woff2'),
        url('../fonts/Montserrat-Light.woff') format('woff');
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Montserrat Bold';
    src: url('../fonts/Montserrat-Medium.woff2') format('woff2'),
        url('../fonts/Montserrat-Medium.woff') format('woff');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

h1, h2, h3, h4 {
	padding:0px;
	margin:0px;
	font-size:inherit;
}

a {
	text-decoration: none;
	color:inherit;
}

html {
	scroll-behavior: smooth;
}

body {
	margin:0px;
	padding:0px;
	font-family: 'Montserrat';
	font-weight:600;
	color:#222222;
}

.whitetheme .hero_line{
	display:none;
}

.defaulttext {
	font-size:13px;
	line-height:26px;
	letter-spacing: 1px;
}
.font_bold {
	font-family: 'Montserrat Bold';
}

.button {
	position:relative;
	float:left;
	padding:10px 25px;
	font-size:14px;
	border:1px solid rgba(0, 0, 0, 0.4);
}
.button:hover {
	background-color:rgba(0, 0, 0, 0.8);
	color:#FFFFFF;
}
.btn_white {
	border:1px solid rgba(255, 255, 255, 0.3);
	color:#FFFFFF;
}
.btn_white:hover {
	background-color:rgba(255, 255, 255, 0.8);
	color:#000000;
}

.titel_1 h2, .titel_1 h3 {
	position:relative;
	float:left;
	width:100%;
	margin:0px;
	padding:0px;
}
.titel_1 h3 {
	font-size:14px;
	margin-top:10px;
}
.titel_1 h2 {
	font-size:32px;
	margin-top:-8px;
}

.contencontainer {
	position:relative;
	float:left;
	width:100%;
	overflow:hidden;
}

.mnu {
	position:absolute;
	top:0px;
	width:85%;
	padding:25px 7.5%;
	z-index:10;
}
.mnu_logo {	
	position:relative;
	float:left;
	width:300px;
}
.menu {
	position:relative;
	float:left;
	width:calc(100% - 300px);
	display: flex;
	justify-content: right;
	margin-top:10px;
}
.menu_item {
	position:relative;
	float:left;
	color:#FFFFFF;
	margin-left:25px;
	padding:0px 15px;
	padding-top:15px;
	padding-bottom:15px;
	transition-duration: 0.1s;
	text-transform: uppercase;
}
.menu_item span {
	opacity:0;
}
.menu_item:hover {
	padding-top:10px;
	padding-bottom:20px;
}
.menu_item_selected span {
	opacity:1;
	color:#d03100;
}
.menu_item div {
	position:absolute;
	top:0px;
	left:0px;
	width:0px;
	height:4px;
	background-color:#d03100;
	transition-duration:0.4s;
}
.menu_item:hover .menu_item div {
	width:100%;
}
.menu_close {
	display:none;
}

.hero {
	position:relative;
	float:left;
	width:100%;
	padding-bottom:12%;
	height:0px;
	background-image:url('../images/home/header.jpg');
	background-size:cover;
}
.hero_c1 {
	position:absolute;
	width:100%;
	height:100%;
	display:flex;
	justify-content: center;
	align-content: center;
	align-items: center;
}
.hero_c2 {
	position:relative;
	float:left;
	width:85%;
	margin-top:200px;
}
.hero_title {
	position:relative;
	float:left;
	width:40%;
	color:#FFFFFF;
	font-size:36px;
}
.hero_title span {
	font-family: 'Montserrat Bold';
}
.hero_serv {
	position:relative;
	float:left;
	width:100%;
}
.hero_serv {
	position:relative;
	float:left;
	width:100%;
	margin-top:25px;
}
.hero_serv_i {
	position:relative;
	float:left;
	margin-right:25px;
	color:#FFFFFF;
	font-size:14px;
	padding:10px 25px;
	border:1px solid rgba(255, 255, 255, 0.3);
}
.hero_serv_i:hover {
	background-color:rgba(255, 255, 255, 0.8);
	color:#000000;
}
.hero_serv_i:nth-child(2) {
	animation-delay:0.5s;
}
.hero_serv_i:nth-child(3) {
	animation-delay:1s;
}
.hero_serv_spacer {
	position:relative;
	float:left;
	margin-right:25px;
	color:#FFFFFF;
	margin-top:6px;
}
.hero_line, .hero_line2 {
	position:absolute;
	bottom:-4px;
	left:0px;
	width:5px;
	height:2px;
	background-color: #d03100;
}
.hero_line2 {
	top:0px;
	bottom:auto;
	right:0px;
	left:auto;
	z-index:1000;
}

.login_view {
	position:relative;
	float:left;
	width:100%;
	padding:75px 0px;
	display:flex;
	justify-content: center;
	align-items:center;
	align-content:center;
}
.login_container {
	position:relative;
	float:left;
	width:322px;
	padding:100px 100px;
	border-radius:10px;
	-webkit-box-shadow: 0px 4px 14px 0px rgba(0,0,0,0.23);
	-moz-box-shadow: 0px 4px 14px 0px rgba(0,0,0,0.23);
	box-shadow: 0px 4px 14px 0px rgba(0,0,0,0.23);
}
.login_logo {
	position:relative;
	float:left;
	width:100%;
	margin-bottom:50px;
	
}
.login_logo img {
	position:relative;
	float:left;
	max-width:200px;
}
.login_descriptor {
	position:relative;
	float:left;
	width:100%;
	margin-bottom:10px;
}
.login_inp {
	position:relative;
	float:left;
	width:100%;
	margin-bottom:10px;
}
.login_inp input {
	width:300px;
}
.login_spacer {
	margin-top:15px;
}
.login_btn {
	float:right;
}
.login_error {
	position: relative;
	float:left;
	width:100%;
	height:0px;
	padding-top:0px;
	transition-duration: 0.3s;
	color:#981b18;
	font-size:12px;
}
.login_error_show {
	padding-top:8px;
	padding-bottom:8px;
	height:18px;
}

.devm_container{
	position:relative;
	float:left;
	width:90%;
	margin:50px 5%;
	display:flex;
	justify-content: left;
}
.devm_menu {
	position:relative;
	float:left;
	width:14%;
	padding-right:3%;
	margin-right:3%;
	border-right:1px solid #cacaca;
}
.devm_content {
	position:relative;
	float:left;
	width:80%;
}
.devm_content table {
    width: 100%;
    border-collapse: collapse;
}
.devm_content th, td {
    border: 1px solid rgba(255, 255, 255, 0.1);
    padding: 8px;
    text-align: left;
}
.devm_content th {

}
.devm_content tr:hover {
	background-color: rgba(255, 255, 255, 0.1);
	cursor:pointer;
}
.devm_content a {
    text-decoration: none;
    color: blue;
}
.devm_content a:hover {
    text-decoration: underline;
}
.devm_pagenav {
	position:relative;
	float:left;
	width:100%;
	margin-top:50px;
	display:flex;
	justify-content: center;
	color:#FFFFFF;
}
.devm_pagenav a {
	color:#FFFFFF;
}

.ftr {
	position:relative;
	float:left;
	width:100%;
	background-color:rgba(0, 0, 0, 0.94);
	padding:50px 0px;
	display:flex;
	justify-content: center;
}
.ftr_center {
	position:relative;
	float:left;
	width:80%;
	display: flex;
	justify-content: space-between;
}
.ftr_col {
	position:relative;
	float:left;
	width:20%;
}
.ftr_col_img img {
	width:180px;
}
.ftr_title {
	position:relative;
	float:left;
	width:100%;
	font-family: 'Montserrat Bold';
	color:#FFFFFF;
	margin-bottom:12px;
}
.ftr_link {
	position:relative;
	float:left;
	width:100%;
	color:#FFFFFF;
	font-size:13px;
	margin-top:16px;
}
.ftr_link a {
	padding:2px 0px;
}
.ftr_link a:hover {
	text-decoration: underline;
}
.ftr_line {
	position:relative;
	float:left;
	width:100%;
	color:#FFFFFF;
	font-size:13px;
	margin-top:6px;
	line-height:32px;
}
.ftr_inpline {
	position:relative;
	float:left;
	width:100%;
	margin-top:12px;
	height:38px;
	overflow:hidden;
}
.ftr_inputline_1 {
	position:relative;
	float:left;
	width:100%;
	height:38px;
	transition-duration: 0.2s;
}
.ftr_inputline_up {
	margin-top:-48px;
}
.ftr_inputline_1 input {
	position:relative;
	float:left;
	width:180px;
	padding:8px 12px;
}
.ftr_col img {
	position:relative;
	float:left;
	margin-bottom:10px;
}

.ftr_inputline_2 {
	position:relative;
	float:left;
	width:100%;
	margin-top:10px;
	color:#FFFFFF;
	font-size:13px;
}

.ftr_btn_newsletter {
	position:relative;
	float:left;
	margin-left:10px;
	padding:8px 20px;
	background-color:#FFFFFF;
	transition-duration: 0.2s;
	cursor:pointer;
}
.ftr_btn_newsletter:hover {
	padding-left:24px;
	padding-right:16px;
}
#newsletter_contamct.invalid {
            border: 2px solid red;
        }

.ftr_soc {
	position:relative;
	float:left;
	margin-right:10px;
}
.ftr_soc img {
	position:relative;
	float:left;
	width:26px;
}

.darktheme {
	color:rgba(255, 255, 255, 0.8);
	background-color: rgba(0, 0, 0, 0.94);
}
.darktheme .hero_title span:nth-child(2) {
	color:#d03100;
}
.darktheme .button {
	position:relative;
	float:left;
	padding:10px 25px;
	font-size:14px;
	border:1px solid rgba(255, 255, 255, 0.2);
}
.darktheme .button:hover {
	background-color:#d03100;
}
.darktheme .hm_stats_icon {
	color:rgba(0, 0, 0, 0.9);
}

@media only screen and (max-width: 1800px) {
	
}
@media only screen and (max-width: 1700px) {
	.ftr_inputline_1 input {
		width:53%;
	}
}
@media only screen and (max-width: 1600px) {
	.hero_title {
		width:50%;
		font-size:32px;
	}
}
@media only screen and (max-width: 1500px) {
	.hm_intro_text {
		width:100%;
	}
	.titel_1 h2 {
	  font-size: 28px;
	  margin-top: -8px;
	}
}
@media only screen and (max-width: 1400px) {
	.menu {
		position:absolute;
		top:0px;
		margin-top:0px;
		left:-100%;
		width:100%;
		background-color:rgba(0, 0, 0, 0.9);
		flex-wrap:wrap;
		transition-duration: 0.6s;
		transition-delay: 0.3s;
		padding:50px 0px;
	}
	.menu_open {
		left:0px;
	}
	.menu_item {
		width:100%;
		text-align:center;
		padding:15px 0px;
		margin:10px 0px;
		transition-duration: 0.1s;
		text-transform: uppercase;
	}
	.menu_item:hover {
		padding-top:10px;
		padding-bottom:20px;
	}

	.mnu_btn {
		position:relative;
		float:right;
		width:50px;
		padding:17px 20px;
		cursor:pointer;
	}
	.mnu_btn span {
		position: relative;
		float:left;
		width:100%;
		height:3px;
		background-color:#FFFFFF;
		margin-bottom:10px;
		transition-duration: 0.2s;
	}
	.mnu_btn span:nth-child(1) {
		width:70%;
	}
	.mnu_btn span:nth-child(2) {
		width:85%;
	}
	.mnu_btn:hover span:nth-child(1), .mnu_btn:hover span:nth-child(2) {
		width:100%;
	}
	.mnu_btn_open span:nth-child(1) {
		margin-left:500%;
		opacity:0;
	}
	.mnu_btn_open span:nth-child(2) {
		margin-left:500%;
		transition-delay: 0.15s;
		opacity:0;
	}
	.mnu_btn_open span:nth-child(3) {
		margin-left:500%;
		transition-delay: 0.3s;
		opacity:0;
	}

	.menu_close{
		display:flex;
	}
	.menu_open .menu_close {
	 	position:absolute;
	 	top:0px;
	 	right:30px;
	 	font-size:56px;
	 	opacity:0.5;
	 	padding:30px;
	 	cursor:pointer;
	}
	.menu_open .menu_close:hover {
		opacity:1;
	}
	.hero_c2 {
		margin-top:140px;
	}

	.hm_intro {
		margin-top:125px;
	}

	.hm_stats_i {
		max-width:1000px;
		flex: 1 1 calc(33.333% - 20px); /* 3 items per row */
		display:flex;
		justify-content: center;
		flex-wrap:wrap;
		margin:25px 0px;
	}
	.hm_stats_i div {
		width:100%;
		text-align:center;
	}

	/* Adjust layout to wrap remaining divs to the next row */
	.hm_stats {
		justify-content: flex-start; /* Align items to the start */
	}

	.hm_pers_content {
		width:65%;
	}
}
@media only screen and (max-width: 1200px) {
	.mnu_logo img {
		width:260px;
	}
	.mnu_btn {
		padding:14px 20px;
	}
	.hero_title {
		font-size:24px;
	}

	.hm_intro {
		width:85%;
		margin-left:7.5%;
		flex-direction: column-reverse;
	}
	.hm_intro_content {
		width:100%;
	}
	.hm_intro_video {
		margin-left:0px;
		width:100%;
		margin-top:50px;
		padding-bottom:57.25%;
	}

	.hm_serv_i {
		padding:45px 5%;
	}
	.hm_serv_btn_container {
		margin-top:30px;
	}
	.hm_pers {
		background-position: bottom right;
	}

	.ftr_center {
		flex-wrap: wrap;
	}
	.ftr_col {
		width:45%;
		margin-bottom:55px;
	}
	.ftr {
		padding-bottom:20px;
	}
}
@media only screen and (max-width: 1000px) {
	.hero {
		padding-bottom:42%;
	}
	.hero_title {
		width:60%;
	}
	.hero_serv_i {
		margin-right:10px;
	}
	.hero_c2 {
		margin-top:120px;
	}

	.hm_stats_icon {
		font-size:32px;
	}

	.hm_intro {
		margin-top:75px;
	}

	.hm_pers {
		padding:100px 0px;
	}
	.hm_serv_container {
		flex-wrap:wrap;
	}
	.hm_serv_i {
		width:100%;
	}
	.hm_serv_i .hm_serv_hoverline {
		width:100%;
	}
	.hm_serv_i .hm_serv_text {
		margin-top:16px;
		margin-bottom:10px;
		opacity: 1;
	}
	.hm_serv_i .hm_serv_btn {
		width:50px;
		height:50px;
		margin-left:0px;
		margin-top:0px;
		background-color:#d03100;
	}
	.hm_serv_i .hm_serv_btn svg {
		width:18px;
		margin-left:16px;
		margin-top:11px;
	}
	.serv_cat_i {
		width:48%;
	}
	.serv_cat_i:nth-child(1), .serv_cat_i:nth-child(6) {
		width:100%;
	}
}
@media only screen and (max-width: 800px) {
	.ftr_col {
		width:100%;
		margin-bottom:55px;
		text-align:center;
		display:flex;
		justify-content: center;
		flex-wrap:wrap;
	}
	.ftr_inputline_1 {
		display:flex;
		justify-content: center;
		flex-wrap:wrap;
	}
	.hm_stats_icon {
		font-size:26px;
	}
	.hm_pers_content {
		width:85%;
	}
}
@media only screen and (max-width: 700px) {
	.hero {
		padding-bottom:420px;
	}
	.hero_title {
		width:80%;
	}
	.hero_serv_i {
		clear:both;
		margin-bottom:10px;
	}
	.hero_c2 {
		margin-top:140px;
	}
	.mnu_logo {
		width:220px;
	}
	.mnu_logo img {
		width:220px;
	}
	.mnu_btn {
		padding:10px 20px;
	}
}
@media only screen and (max-width: 600px) {
	.hero_title {
		width:100%;
	}
}