/*................................reset...........................................*/
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
}

@font-face {
    font-family: 'frankensteinregular';
    src: url('../fonts/frankenstein/frnkstnn-webfont.eot');
    src: url('../fonts/frankenstein/frnkstnn-webfont.eot?#iefix') format('embedded-opentype'),
         url('../fonts/frankenstein/frnkstnn-webfont.woff2') format('woff2'),
         url('../fonts/frankenstein/frnkstnn-webfont.woff') format('woff'),
         url('../fonts/frankenstein/frnkstnn-webfont.ttf') format('truetype'),
         url('../fonts/frankenstein/frnkstnn-webfont.svg#frankensteinregular') format('svg');
    font-weight: lighter;
    font-style: normal;

}

.frankenstein {
        font-family: 'frankensteinregular';
}

.unifrakturcook-bold {
  font-family: "UnifrakturCook", cursive;
  font-weight: 500;
  font-style: normal;
}
.unifrakturmaguntia-regular {
  font-family: "UnifrakturMaguntia", cursive;
  font-weight: 200;
  font-style: normal;
}

/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
	display: block;
}
body {
	line-height: 1;
}
ol, ul {
	list-style: none;
}
blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after, q:before, q:after {
	content: '';
	content: none;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}
/*................................clearfix...........................................*/
.clearfix:after {
	visibility: hidden;
	display: block;
	font-size: 0;
	content: " ";
	clear: both;
	height: 0;
}
.clearfix {
	display: inline-block;
}
/* start commented backslash hack \*/
* html .clearfix {
	height: 1%;
}
.clearfix {
	display: block;
}
/*.........GLOBLE......*/

body {
	font-family: 'Roboto', sans-serif;
	font-size: 14px;
	line-height: 30px;
	color: #8f8e91;
	font-weight: 400;
	background:#fffcf4;
}
h2 {
	font-weight: 500;
	font-size: 30px;
	color: #454546;
	line-height: 36px;
	text-align: center;
}

header {
	position: absolute;
	left: 0;
	right: 0;
	z-index: 9998;
	width: 100%;
	padding: 40px 0 25px;
	border-bottom:1px solid #4b4a4b;
	-webkit-transition: all 0.4s ease;
	transition: all 0.4s ease;
}
header.sticky {
	position: fixed;
	width: 100%;
	background: #000;
	box-shadow: 3px 1px 0.99px 0.01px rgba(0, 0, 0, 0.05);
	padding: 20px 0px;
}
header a.logo {
	padding-top: 10px;
	display: block;
}
header a.logo img {
	display: block;
}
.logo {
	width: 30%;
	float: left;
}
nav {
	width: 70%;
	float: left;
	text-align: right;
}
nav ul li {
	display: inline-block;
	padding: 0px 20px;
}
nav ul li a {
	font-size: 14px;
	font-weight: 400;
	line-height:36px;
	display:block;
	color: #fff;
}
nav ul li a:hover{
color: #1dde85;
border-bottom:1px solid #1dde85;
transition:all 0.5s;
}
#banner {
		background: url(images/banner_neu.jpg) no-repeat center center;
	background-size: cover;
	padding: 380px 0 270px;
	text-align: center;
	position: relative;
}
#banner h1 {
	font-size: 38px;
	font-family: 'Exo', sans-serif;
	line-height: 100%;
	color: #fff;
	font-weight: 500;
	margin-bottom:40px;
}
#banner h1 span{color:#1dde85;font-weight: 700;}
#banner p {
	color: #fff;
	font-size: 18px;
	line-height:36px;
}
#about{padding:120px 0 70px; text-align:center;}
#about h2 span{color:#1dde85;}
p.titles{
	padding:40px 0 15px;
	font-weight:300;
	font-size:18px;
	color:#8f8e91;	
}
#about article{
	border:2px solid #cac8c5;
	margin-bottom:50px;
	padding:35px 10px 25px;	cursor:pointer;
}
#about article h3{
	font-weight:500;
	font-size:24px;
	color:#454546;
	line-height:45px;
	margin-bottom:15px;	
}
#about article i{
	color:#454546;	
}
#about article:hover{
	border:2px solid #1dde85;	
}
#about article:hover i , #about article:hover h3{color:#1dde85;}
#about article:hover p{color:#454546;}
.team{
	padding-bottom:120px;
	text-align:center;	
}
.team h2{margin-bottom:50px;}

.imageteam img{
	display:block;
	width: 100%;	
}
.imageteam{position:relative;}
.innerside {
	position:absolute;
	left:0;
	right:0;
	bottom:0;
	background:rgba(0,0,0,0.90);
	padding:10px 0;	
}
.innerside h3 , .imgDescription2 h3{font-size:18px; color:#fff; line-height:30px;}
.innerside p , .imgDescription2 p{font-size:14px; color:#fff; line-height:100%; font-weight:100;}

.imgDescription2 {
	position: absolute;
	top: 0px;
	bottom: 0;
	left: 0px;
	right: 0;
	background: rgba(29,222,133,.8);
	color: #fff;
	width: 100%;
	height: auto;
	text-align: center;
	visibility: hidden;
	opacity: 0;
	padding: 115px 0;
	transition: all 0.1s;
	cursor: pointer;
}
.imageteam:hover .innerside{display:none;}
.imageteam:hover .imgDescription2 {
	visibility: visible;
	opacity: 1;
}
.imgDescription2 .socials{border-top:1px solid #fff; border-bottom:1px solid #fff;padding:5px 0; display:block;    margin-top: 100px;}
.imgDescription2 .socials a i{color:#fff; margin:0 5px;}



#portfoliosec {
	padding: 0px 0 105px;
}
#filters {
	margin: 40px auto 30px;
	width: 100%;
	text-align: center;
	padding: 0;
	list-style: none;
}
#filters li {
	display: inline-block;
}
#filters li span {
	display: block;
	line-height: 110%;
	text-decoration: none;
	color: #434243;
	cursor: pointer;
	font-size: 18px;
	padding: 5px 10px;
}
#filters li span.active {
	color: #1dde85;
	border-bottom: 1px solid #1dde85;
}
#portfoliolist .portfolio {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-o-box-sizing: border-box;
	width: 31%;
	margin: 1%;
	display: none;
	float: left;
	overflow: hidden;
	box-shadow: 0px 2px 4.9px 0.1px rgba(0, 0, 0, 0.15);
}
.portfolio-wrapper {
	overflow: hidden;
	position: relative !important;
	cursor: pointer;
}
.portfolio img {
	width: 100%;
	display: block;
	position: relative;
}
.labels {
	padding: 30px;
	font-size: 18px;
	font-weight: 600;
	background: #f4f5f9;
	cursor: pointer;
}

/*  #Mobile (Portrait) - Note: Design for a width of 320px */
@media only screen and (max-width: 767px) {
#portfoliolist .portfolio {
	width: 100%;
}
}
a.loadmore {
	width: 195px;
	height: 50px;
	line-height: 50px;
	color: #fff;
	background: #1dde85;
	font-size: 18px;
	font-weight: 100;
	display: block;
	text-align: center;
	margin: 20px auto 0;
}
a.loadmore:hover{
	background:#000;
	transition:all 0.5s;	
}
.pricing{
	text-align:center;
	padding-bottom:125px;	
}
.pricing h2{margin-bottom:50px;}
.pricing h3{
	font-weight:100;
	margin-bottom:15px;	
}
.one h4 sup{font-size:26px; color:#454546;}
.one h4{
	font-size:36px;	
	color:#454546;
	border:1px solid #454546;
	padding:25px 0 20px;
	margin-bottom:30px;
}
.one p{font-weight:300;}
.one a{
	border:1px solid #454546;
	color:#454546;
	width:100px;
	height:40px;
	line-height:40px;
	display:block;
	margin:40px auto 20px;	
}
.one{border:1px solid #fffcf4;}
.one:hover{
	border:1px solid #1dde85;
	cursor:pointer;	
}

.one:hover h4{
	color:#fff;
	border:1px solid #1dde85;
	background:#1dde85;	
}
.one:hover  sup{color:#fff;}
.one:hover a{
	color:#fff;
	border:1px solid #1dde85;
	background:#1dde85;		
}
.imprint{
	color: #a6a6a6;
	background:#333232;
	background-size:cover;
	padding:38px 0;	
}

.contact{
	color: #a6a6a6;
	background:#333232;
	background-size:cover;
	padding:38px 0;	
}
.contact h2{color:#fff; text-align:center; margin-bottom:25px;}
.contact input , .contact textarea{
	background:none;
	border:1px solid #a9aeae;
	outline:0;	
	width:100%;
	padding:10px;
	color:#fff;
}
.box1 , .box2 {width:49%; float:left; margin-right:2%; margin-bottom:30px;}
.box2{margin-right:0;}
.formdata{max-width:880px; margin:0 auto; display:block;}
.contact textarea{height:215px;}
.contact a{
	width: 195px;
	height: 50px;
	line-height: 50px;
	color: #fff;
	background: #1dde85;
	font-size: 18px;
	font-weight: 100;
	display: block;
	text-align: center;
	margin: 20px auto 0;
}
.contact a:hover{
	background:#000;
	transition:all 0.5s;	
}

::-webkit-input-placeholder {
  font-style:italic;
  color:#fff;
  font-weight:300;
}

:-moz-placeholder { /* Firefox 18- */
   font-style:italic;
  color:#fff;
  font-weight:300;
}

::-moz-placeholder {  /* Firefox 19+ */
  font-style:italic;
  color:#fff;
  font-weight:300;
}

:-ms-input-placeholder {  
  font-style:italic;
  color:#fff;
  font-weight:300;
}


.aboutfooter{
	padding:35px 0 70px;
	background:#0b0a0a;	
}
.aboutfooter h3{
	font-size:18px;
	line-height:36px;
	color:#fff;
	margin-bottom:10px;	
}
.aboutfooter ul li{width:50%; float:left;}
.aboutfooter ul li a{color:#8f8e91;}
.aboutfooter ul li a:hover{
	color: #1dde85;	
	transition:all 0.5s;
}
.aboutfooter a i{border:2px solid #8f8e91; width:38px; height:38px; line-height:38px; text-align:center; color:#8f8e91;margin-right:5px; transition:all 0.5s;}
.aboutfooter a i:hover{border:2px solid #1dde85;color:#1dde85;}
.aboutfooter input{
	background:none;
	border:1px solid #a9aeae;
	outline:0;	
	width:100%;
	padding:10px;
	color:#fff;
}
.aboutfooter input:focus , .contact input:focus , .contact textarea:focus{
	border:1px solid #1dde85;	
}
.aboutfooter a.subscribe{
	width: 105px;
	height: 37px;
	line-height: 37px;
	color: #fff;
	background: #1dde85;
	font-size: 18px;
	font-weight: 100;
	display: block;
	text-align: center;
	margin-top:20px;
}
.aboutfooter a.subscribe:hover{
	background:#fff;
	color: #1dde85;	
	font-weight:400;
}
footer{background:#000000; text-align:center; padding:25px 0;}
footer p a{color:#8f8e91;}
footer p a:hover{color: #1dde85;}









/* New */

.os-animation {
	opacity: 0;
}
.os-animation.animated {
	opacity: 1;
}
.staggered-animation {
	opacity: 0;
}
.staggered-animation.animated {
	opacity: 1;
}
/*LOADER EFFECT*/
/*Paste this css to your style sheet file or under head tag*/
/* This only works with JavaScript, 
if it's not present, don't show loader */
.no-js #loader {
	display: none;
}
.js #loader {
	display: block;
	position: absolute;
	left: 100px;
	top: 0;
}
.se-pre-con {
	position: fixed;
	left: 0px;
	top: 0px;
	width: 100%;
	height: 100%;
	z-index: 9999;
	background: #1dde85;
}


.cssload-preload-juggle {
	width: 292px;
	height: 292px;
	position: absolute;
	margin-top: -146px;
	left: 50%;
	top:50%;
	margin-left: -146px;
}
.cssload-preload-juggle div {
	position: absolute;
	width: 20px;
	height: 20px;
	border-radius: 10.5px;
	background: rgb(255,255,255);
	margin-top: 146px;
	margin-left: 146px;
	animation: cssload-juggle 2.42s linear infinite;
		-o-animation: cssload-juggle 2.42s linear infinite;
		-ms-animation: cssload-juggle 2.42s linear infinite;
		-webkit-animation: cssload-juggle 2.42s linear infinite;
		-moz-animation: cssload-juggle 2.42s linear infinite;
}
.cssload-preload-juggle div:nth-child(1) {
	animation-delay: -0.81s;
		-o-animation-delay: -0.81s;
		-ms-animation-delay: -0.81s;
		-webkit-animation-delay: -0.81s;
		-moz-animation-delay: -0.81s;
}
.cssload-preload-juggle div:nth-child(2) {
	animation-delay: -1.61s;
		-o-animation-delay: -1.61s;
		-ms-animation-delay: -1.61s;
		-webkit-animation-delay: -1.61s;
		-moz-animation-delay: -1.61s;
}



@keyframes cssload-juggle {
	0% {
		transform: translateX(0px) translateY(0px);
	}
	12.5% {
		transform: translateX(26.5px) translateY(-56px) scale(1.1);
		background: rgb(255,255,255);
	}
	25% {
		transform: translateX(54px) translateY(0px);
		animation-timing-function: ease-out;
	}
	37.5% {
		transform: translateX(26.5px) translateY(56px);
	}
	50% {
		transform: translateX(0px) translateY(0px);
	}
	62.5% {
		transform: translateX(-26.5px) translateY(-56px) scale(1.1);
		animation-timing-function: ease-in;
	}
	75% {
		transform: translateX(-54px) translateY(0px);
		animation-timing-function: ease-out;
	}
	87.5% {
		transform: translateX(-26.5px) translateY(56px);
	}
	100% {
		transform: translateX(0px) translateY(0px);
	}
}

@-o-keyframes cssload-juggle {
	0% {
		-o-transform: translateX(0px) translateY(0px);
	}
	12.5% {
		-o-transform: translateX(26.5px) translateY(-56px) scale(1.1);
		background: rgb(255,255,255);
	}
	25% {
		-o-transform: translateX(54px) translateY(0px);
		-o-animation-timing-function: ease-out;
	}
	37.5% {
		-o-transform: translateX(26.5px) translateY(56px);
	}
	50% {
		-o-transform: translateX(0px) translateY(0px);
	}
	62.5% {
		-o-transform: translateX(-26.5px) translateY(-56px) scale(1.1);
		-o-animation-timing-function: ease-in;
	}
	75% {
		-o-transform: translateX(-54px) translateY(0px);
		-o-animation-timing-function: ease-out;
	}
	87.5% {
		-o-transform: translateX(-26.5px) translateY(56px);
	}
	100% {
		-o-transform: translateX(0px) translateY(0px);
	}
}

@-ms-keyframes cssload-juggle {
	0% {
		-ms-transform: translateX(0px) translateY(0px);
	}
	12.5% {
		-ms-transform: translateX(26.5px) translateY(-56px) scale(1.1);
		background: rgb(255,255,255);
	}
	25% {
		-ms-transform: translateX(54px) translateY(0px);
		-ms-animation-timing-function: ease-out;
	}
	37.5% {
		-ms-transform: translateX(26.5px) translateY(56px);
	}
	50% {
		-ms-transform: translateX(0px) translateY(0px);
	}
	62.5% {
		-ms-transform: translateX(-26.5px) translateY(-56px) scale(1.1);
		-ms-animation-timing-function: ease-in;
	}
	75% {
		-ms-transform: translateX(-54px) translateY(0px);
		-ms-animation-timing-function: ease-out;
	}
	87.5% {
		-ms-transform: translateX(-26.5px) translateY(56px);
	}
	100% {
		-ms-transform: translateX(0px) translateY(0px);
	}
}

@-webkit-keyframes cssload-juggle {
	0% {
		-webkit-transform: translateX(0px) translateY(0px);
	}
	12.5% {
		-webkit-transform: translateX(26.5px) translateY(-56px) scale(1.1);
		background: rgb(255,255,255);
	}
	25% {
		-webkit-transform: translateX(54px) translateY(0px);
		-webkit-animation-timing-function: ease-out;
	}
	37.5% {
		-webkit-transform: translateX(26.5px) translateY(56px);
	}
	50% {
		-webkit-transform: translateX(0px) translateY(0px);
	}
	62.5% {
		-webkit-transform: translateX(-26.5px) translateY(-56px) scale(1.1);
		-webkit-animation-timing-function: ease-in;
	}
	75% {
		-webkit-transform: translateX(-54px) translateY(0px);
		-webkit-animation-timing-function: ease-out;
	}
	87.5% {
		-webkit-transform: translateX(-26.5px) translateY(56px);
	}
	100% {
		-webkit-transform: translateX(0px) translateY(0px);
	}
}

@-moz-keyframes cssload-juggle {
	0% {
		-moz-transform: translateX(0px) translateY(0px);
	}
	12.5% {
		-moz-transform: translateX(26.5px) translateY(-56px) scale(1.1);
		background: rgb(255,255,255);
	}
	25% {
		-moz-transform: translateX(54px) translateY(0px);
		-moz-animation-timing-function: ease-out;
	}
	37.5% {
		-moz-transform: translateX(26.5px) translateY(56px);
	}
	50% {
		-moz-transform: translateX(0px) translateY(0px);
	}
	62.5% {
		-moz-transform: translateX(-26.5px) translateY(-56px) scale(1.1);
		-moz-animation-timing-function: ease-in;
	}
	75% {
		-moz-transform: translateX(-54px) translateY(0px);
		-moz-animation-timing-function: ease-out;
	}
	87.5% {
		-moz-transform: translateX(-26.5px) translateY(56px);
	}
	100% {
		-moz-transform: translateX(0px) translateY(0px);
	}
}

body {
    background-color: #f4f7fa;
    font-family: Arial, sans-serif;
}
#contact-form {
    background-color: #ffffff;
    border-radius: 1.5rem;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.1);
    padding: 2rem;
    max-width: 600px;
    margin: 3rem auto;
}
#contact-form h2 {
    font-size: 2rem;
    color: #333;
    margin-bottom: 1.5rem;
}
#contact-form input,
#contact-form textarea {
    width: 100%;
    padding: 1rem;
    margin-bottom: 1rem;
    border: 1px solid #ddd;
    border-radius: 0.75rem;
    transition: all 0.3s ease;
}
#contact-form input:focus,
#contact-form textarea:focus {
    outline: none;
    border-color: #0066cc;
    box-shadow: 0 0 5px rgba(0, 102, 204, 0.3);
}
#contact-form button {
    width: 100%;
    padding: 1rem;
    background-color: #0066cc;
    color: #fff;
    border: none;
    border-radius: 0.75rem;
    cursor: pointer;
    transition: background-color 0.3s ease;
}
#contact-form button:hover {
    background-color: #005bb5;
}
#form-message {
    padding: 1rem;
    border-radius: 0.75rem;
    margin-bottom: 1rem;
}
.bg-green-100 { background-color: #e6f7e6; color: #2e7d32; }
.bg-red-100 { background-color: #fdecea; color: #c62828; }

    .services-box {
      max-width: 800px;
      margin: 0 auto;
      padding: 1em;
      background: #f9f9f9;
      border-radius: 12px;
      box-shadow: 0 4px 12px rgba(0,0,0,0.1);
      font-family: sans-serif;
    }

    .services-box h2 {
      text-align: center;
      margin-bottom: 1.5em;
      color: #333;
    }

    .service-item {
      display: flex;
      align-items: flex-start;
      margin-bottom: 1.5em;
    }

    .service-icon {
      font-size: 1.8em;
      margin-right: 0.8em;
      color: #007bff;
    }

    .service-text h3 {
      margin: 0 0 0.3em 0;
      font-size: 1.1em;
      color: #222;
    }

    .service-text p {
      margin: 0;
      color: #555;
    }
    
  <!-- Optional: Lucide Icons (CDN) -->
  <script src="https://unpkg.com/lucide@latest"></script>