h1, h2, h3, h4 {
	padding:0px;
	margin:0px;
	font-size:inherit;
	font-weight:inherit;
}

a {
	text-decoration: none;
	color:inherit;
}

body {
	margin:0px;
	padding:0px;
	font-family: "Afacad Flux", serif;
	color:#313131;
}

.def_container {
	position: relative;
	float: left;
	width: 100%;
	display: flex;
	justify-content: center;
}
.def_center {
	position: relative;
	float: left;
	width: 80%;
}
.def_padding {
	margin-top:5%;
}

.defaulttext {
	font-size:16px;
	line-height:26px;
}

.contencontainer {
	position:relative;
	float:left;
	width:100%;
	overflow:hidden;
}

.button {
	position: relative;
	float:left;
	text-transform: uppercase;
	background-color:rgba(0, 0, 0, 0.3);
	color:#FFFFFF;
	overflow:hidden;
	font-weight: bold;
	cursor: pointer;
}
.button span {
	padding:10px 55px;
	padding-left: 20px;
}
.button span:nth-child(1) {
	position:relative;
	float:left;
	top:0px;
	transition-duration: 0.3s;
}
.button span:nth-child(2) {
	position:absolute;
	left:0px;
	width:100%;
	height:100%;
	top:100%;
	transition-duration: 0.3s;
	transition-delay: 0.1s;
}
.button:hover {
	background-color:#064b8c;
}
.button:hover span:nth-child(1) {
	top:-100%;
}
.button:hover span:nth-child(2) {
	top:0%;
}

.hdr_vp {
	position: relative;
	float:left;
	width:90%;
	margin-left:5%;
}
.hdr {
	position:relative;
	float:left;
	width:300px;
	padding:18px 0px;
	z-index: 25;
}
.hdr_logo {
	position:relative;
	float:left;
}
.hdr_logo img {
	position:relative;
	float:left;
	width:240px;
}


.hdr_mnubtn {
	display:none;
	position:relative;
	float:right;
	width:45px;
	height: 35px;
	margin-top:6px;
	padding:10px 10px;
	z-index: 10;
	cursor: pointer;
	background-color: rgba(255, 255, 255, 0);
	z-index: 50;
}
.hdr_mnubtn_line {
	position:absolute;
	top:10px;
	left:0px;
	width:0px;
	height:4px;
	border-radius:5px;
	overflow:hidden;
	background-color:#FFFFFF;
}
.hdr_mnubtn_line_1, .hdr_mnubtn_line_2, .hdr_mnubtn_line_3 {
	transition-duration: 0.5s;
}
.hdr_mnubtn_line_2 {
	top:25px;
}
.hdr_mnubtn_line_3 {
	top:40px;
}
.hdr_mnubtn_show .hdr_mnubtn_line_1 {
	width:100%;
	transition-delay: 0.2s;
}
.hdr_mnubtn_show .hdr_mnubtn_line_2 {
	width:100%;
	transition-delay: 0.4s;
}
.hdr_mnubtn_show .hdr_mnubtn_line_3 {
	width:100%;
	transition-delay: 0.6s;
}

@keyframes shrinkExpand {
  0% { width: 100%; }
  50% { width: 60%; }
  100% { width: 100%; }
}
.hdr_mnubtn:hover .hdr_mnubtn_line_1 {
  animation: shrinkExpand 0.4s ease-in-out;
  animation-delay: 0s;
}
.hdr_mnubtn:hover .hdr_mnubtn_line_2 {
  animation: shrinkExpand 0.4s ease-in-out;
  animation-delay: 0.1s;
}
.hdr_mnubtn:hover .hdr_mnubtn_line_3 {
  animation: shrinkExpand 0.4s ease-in-out;
  animation-delay: 0.2s;
}

.mnu_mobile {
	position: fixed;
	top: 0px;
	right: -110%;
	padding: 50px 150px;
	width: 400px;
	height: calc(100% - 100px);
	background-color: rgba(255, 255, 255, 1);
	z-index: 100;
	filter: drop-shadow(5px 5px 10px #000000);
	transition-duration: 0.8s;
	display: flex;
	justify-content: left;
	align-items: center;
	align-content: center;
}
.mnu_mobile_close {
	position: absolute;
	top: 50px;
	right: 50px;
	width: 100px;
	height: 100px;
	cursor: pointer;
	opacity: 0.3;
}
.mnu_mobile_close:hover {
	opacity: 1;
}
.mnu_mobile_close img {
	width: 30px;
}
.mnu_close {
	display:none;
}

.mnu {
	position:relative;
	float:right;
	max-width:calc(100% - 300px);
	padding:30px 0px;
	padding-top:35px;
}
.mnu_content {
	position:relative;
	float:left;
	width:100%;
}
.mnu_cat {
	position: relative;
	float:left;
	padding:7px 30px;
}
.mnu_cat a {
	position:relative;
	float:left;
}
.mnu_cat_title {
	position: relative;
	transition: color 0.25s ease;
}
.mnu_cat_title::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: -3px;          /* adjust depending on spacing */
	width: 100%;
	height: 2px;
	background-color: #5f9b39;
	transform: scaleX(0);
	transform-origin: left;
	transition: transform 0.25s ease;
}
.mnu_cat_title:hover {
	color: #5f9b39;
}

.mnu_cat_title:hover::after {
	transform: scaleX(1);
}

.mnu_cat_offerte {
	position: relative;
	float:left;
	padding:7px 30px;
	border-radius: 10px;
	background-color: #5f9b39;
	color:#FFFFFF;
	margin-left:50px;
	cursor:pointer;
	overflow: hidden;
}
.mnu_cat_offerte::after {
	content: "";
	position: absolute;
	top: 0;
	left: -100%;
	width: 100%;
	height: 100%;
	background: rgba(255,255,255,0.25);
	transform: skewX(-20deg);
	transition: left 0.4s ease;
}
.mnu_cat_offerte:hover::after {
	left: 100%;
}



.ftr {
	position:relative;
	float:left;
	width:80%;
	padding:50px 10%;
	margin-top:100px;
	background-color:#5f9b39;
	display:flex;
	justify-content: space-between;
	background-image: url('../images/footer-bg.jpg');
	background-size:cover;
	background-position: bottom center;
}
.ftr_logo {
	position: relative;
	float: left;
	clear: both;
	margin-bottom: 25px;
}
.ftr_logo img {
	position: relative;
	float:left;
	width: 300px;
}
.ftr_col {
	position:relative;
	float:left;
}
.ftr_line {
	position:relative;
	float:left;
	clear:both;
	color:#FFFFFF;
	margin-bottom:8px;
}
.ftr_line:hover {
	text-decoration: underline;
	cursor: pointer;
}
.ftr_line_header {
	font-weight:bold;
	font-size:20px;
}
.ftr_line_header:hover {
	text-decoration: none;
}




.hm_1 {
	position: relative;
	float:left;
	width:100%;
	display: flex;
	justify-content: center;
}
.hm_1_vid {
	position: relative;
	float:left;
	width:45%;
}
.hm_1_vid video {
	position: relative;
	float:left;
	width:100%;
}

.hm_1_content {
	position: relative;
	float:left;
	width:32.5%;
	margin-left:10%;
	margin-right:12.5%;
	display: flex;
	justify-content: left;
	align-items: center;
	align-content: center;
	flex-wrap:wrap; 
}
.def_titel {
	position:relative;
	float:left;
	width:100%;
}
.def_titel span {
	position:relative;
	float:left;
	width:100%;
}
.def_titel span:nth-child(1) {
	font-size:36px;
	font-weight: bold;
	color:rgba(0, 0, 0, 0.6);
	margin-left:-4px;	
}
.def_titel span:nth-child(2) {
	font-size:26px;
}
.def_titel b {
	font-weight:inherit;
	color: #5f9b39;
}
.def_text {
	position: relative;
	float:left;
	width:100%;
	margin-top: 12px;
	font-size:16px;
	line-height:28px;	
}
.def_text span {
	position: relative;
	float:left;
	width:100%;
	margin-top:24px;
}
.def_text span:nth-child(1) {
	margin-top:0px;
}
.def_btn {
	position: relative;
	float: left;
	width:100%;
	margin-top:50px;
}
.def_btn_container {
	position: relative;
	float:left;
	padding:7px 30px;
	border-radius: 10px;
	background-color: #5f9b39;
	color:#FFFFFF;
	text-transform: uppercase;
	cursor:pointer;
	font-weight: bold;
}
.def_btn_container {
	position: relative;
	overflow: hidden;
	transition: background-color 0.3s ease;
}

.def_btn_container::after {
	content: "";
	position: absolute;
	top: 0;
	left: -100%;
	width: 100%;
	height: 100%;
	background: rgba(255,255,255,0.25);
	transform: skewX(-20deg);
	transition: left 0.4s ease;
}
.def_btn_container:hover::after {
	left: 100%;
}

.def_subtitle {
	position: relative;
	float:left;
	width:100%;
	font-size:22px;
	font-weight: bold;
	color:rgba(0, 0, 0, 0.6);
}


.hm_2 {
	position: relative;
}
.hm_2_center {
	display: flex;
	justify-content: space-between;
}
.hm_2_i {
	position: relative;
	float:left;
	width:18%;
}
.hm_2_i_extended {
	width:46%;
}
.hm_2_i_extended:nth-child(3), .hm_2_i_extended:nth-child(4) {
	margin-top:75px;
}
.hm_2_title h2 {
	margin-top:2px;
}
.hm_2_icon {
	position: relative;
	float:left;

}
.hm_2_icon img {
	position: relative;
	float: left;
	width:30px;
	margin-right:20px;	
}
.hm_2_photo {
	position: relative;
	float:left;
	width:100%;
	margin-top:20px;
}
.hm_2_photo img {
	position: relative;
	float:left;
	width:100%;
}

.hm_3_center {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
.hm_3_i {
	position: relative;
	float: left;
	width: calc(40% - 20px);
	margin-bottom: 20px;
}
.hm_3_i_small {
	width: 20%;
}
.hm_3_i img , .hm_3_i_small img {
	position: relative;
	float: left;
	width: 100%;
}

.hm_4_center {
	display:flex;
	justify-content: space-between;
}
.hm_4_content {
	position: relative;
	float:left;
	width:40.7%;
	display: flex;
	justify-content: left;
	align-items: center;
	align-content: center;
	flex-wrap:wrap; 
}
.hm_4_text2 {
	margin-top:50px;	
}
.hm_4_photo {
	position: relative;
	float:left;
	width:50%;
	background-image: url("../images/home/about.jpg");
  background-size: cover;
  background-position: bottom left;
}

.serv_2 {
	flex-wrap:wrap;	
}

.ab_1_hero {
	position: relative;
	float:left;
	width:100%;
	height:0px;
	padding-bottom:30%;
}
.ab_1_hero img {
	position: relative;
	float:left;
	width:100%;
}

.ab_2_center {
	display: flex;
	justify-content: space-between;
}
.ab_2_content {
	position:relative;
	float:left;
	width:45%;
}
.ab_2_vid {
	position:relative;
	float:left;
	width:45%;
}
.ab_2_vid video {
	position: relative;
	float:left;
	width:100%;
}

.con_2_center {
	display: flex;
	justify-content: space-between;
}
.con_2_content {
	position:relative;
	float:left;
	width:40%;
}

.con_2_frm {
	position: relative;
	float:left;
	width:50%;
}

.con_2_form {
	position:relative;
	float:left;
	width:100%;
	margin-top:5px;
}
.con_2_frmline {
	position:relative;
	float:left;
	width:100%;
	margin-top:20px;
}
.con_2_frmline_left {
	position:relative;
	float:left;
	width:180px;
}
.con_2_frmline_right {
	position:relative;
	float:left;
	width:calc(100% - 180px);
}
.con_2_frmline_right input {
	position: relative;
	float:left;
	width:70%;	
}
.con_2_frmline_right textarea {
	position:relative;
	float:left;
	width:100%;
	height:120px;
}

.proj_1_content {
	position:relative;
	float:left;
	width:50%;
}





