@media screen and (min-width: 680px) and (max-height: 680px){
	.formbox{
		padding: 6px 60px 6px 30px;
	}
	
	.cr_ipe_item .mce_text span{
		margin-bottom:0px;
		line-height:23px;
	}	
	
	.cr_ipe_item{
		margin-bottom:0px;
	}
	
	.sidenav a{
		margin: 6px 10px 6px 30px
	}
}

@media screen and (min-width: 680px) and (max-height: 525px) {
	.sidenav {padding-top: 15px;}
	.sidenav a {
	  font-size: 16px;
	  margin: 3px 10px 3px 30px;
	  line-height:20px;
	}
	
	.cr_ipe_item .mce_text span{
		font-size: 16px;
		line-height:20px;
	}
	
	.cr_ipe_item input{
		padding:2px 5px;
	}
	
	.cr_button{
		line-height: 26px;
		height: 26px;
		font-size: 14px;
	}
	
	.formbox{
		padding: 3px 60px 0px 30px;
	}
} 

@media screen and (max-width: 1470px) {
	body.hidden-scroll{
		overflow-y: hidden;
	}	
	div.wrapper{
		width: 100%;    	
	}       
	div.wrapper div.container {
    	width:100%;
	}	

	div.content > h1, div.content > h2, div.detail-page > h2, div.news-more > h2 {
		width: 1170px;
		margin: 20px auto 10px;
	}
	
	div.gallery-tiles .tile1,
	div.gallery-tiles .tile6	{
		width: calc(35.4% - 5px);
	}
	div.gallery-tiles .tile2,
	div.gallery-tiles .tile5	{
		width: 64.6%;
	}
	div.gallery-tiles .tile3,
	div.gallery-tiles .tile4 {
		width: calc(50% - 2.5px);
	}
	div.company-list div.accordion h3.accordion_title span.col1,
	div.company-list div.accordion h3.accordion_title span.col2,
	div.company-list  div.accordion div.accordion_text span.col1,
	div.company-list  div.accordion div.accordion_text span.col2,
	div.company-list  div.accordion div.accordion_text span.col3	{
		width: calc(100%/3 - 30px);
		
	}
	
	div.footer div.footer-text {
		padding: 0;
	}
	
	div.image-text-block .text table thead td {
		font-size: 18px;
	}
	
	div.image-text-block .text table tbody td {
		font-size: 18px;
	}
	
}

@media screen and (max-width: 1400px) { 
	div.container header div.logo {
		float: left;		
	}
	header ul.nav-menu {
		margin-top: 10px;
		width: calc(100% - 400px);
		text-align: left;
		margin-left: 25px;
	}
	header #search {
		margin-left: 35px;
		margin-top: 0;
	}
	header .homelogo {
		margin-top: 4px;
	}
	
	
}

@media screen and (max-width: 1280px) { 
	div.image-text-block .text table thead td {
		font-size: 16px;
	}
	
	div.image-text-block .text table tbody td {
		font-size: 16px;
	}
}

@media screen and (max-width: 1200px) {
	div.image-text-block .text table thead {
		display: none;
	}
	div.image-text-block div.text,
	div.image-text-block.reverse div.text {
		padding: 0 70px;
	}
	
	div.container header {
		height: auto;
		padding: 0 0 25px 0;
	}
	
	body.home div.container header {
		height: auto;
		padding: 0;
	}
	
	
	
	header a.metaOpen,
	header a.metaOpenMobile	{
		right: 40px;
		top: 20px;
		
		font-size: 16px;
		line-height: 1.75;
	}
	header .lang-nav {
		position: static;
		margin-left: 44px;
		margin-top: 2px;
	}
	
	header #search form input[type="text"] {
		font-size: 18px;		
	}
	
	header ul.nav-menu li {
		font-size: 18px;
		line-height: 1.17;
		padding-top: 12px;
		padding-bottom: 12px;
	}
	
	.content_wrapper div.content ul.breadcrumb {
		padding: 0 30px;
	}
	
	div.detail-page div.base-content a.alt_version {
		margin: 0 30px;
	}
	
	div.base-page-image span {		
		bottom: 12%;
		top: auto;
		width: 64%;
		padding: 0 10px 0 10px;

	}
	
	div.content > h1.base-page-title {
		width: 90%;		
		margin: 60px 0 30px;
		padding: 0 30px;
	}
	div.base-page-text {
		margin-bottom: 50px;		
		padding: 0 30px;
		column-count: 1;
	}
	
		
	div.content > h1, div.content > h2, div.detail-page > h2, div.news-more > h2 {
		width: 100%;
		padding: 0 30px;
		margin: 20px 0 30px;
		box-sizing: border-box;
		margin: 20px auto 10px;
	}
	
	div.news-list,
	div.news div.image-text-block div.text,
	div.detail-page div.full-width-block {
		width: 100%;
		padding: 0 30px 30px;
		margin-top: 0;
		margin-bottom: 0;
	}
	
	div.full-width-block.no-y-padding {
		padding: 0 30px;
	}
	div.detail-page div.full-width-block.no-padding {
		padding: 0;
	}
	
	div.no-padding div.image-wrap {
		padding: 0 0 30px;
	}
	
	div.no-padding div.text {
		padding: 0 30px 30px;
	}
	div.no-padding div.text h3 {
		margin: 30px 0;
	}
	
	
	
	div.news div.image-text-block div.image,
	div.detail-page div.full-width-block div.image,
	div.detail-page div.full-width-block > img {
		width: 100%;
		padding: 0 30px 30px;
		
	}
	
	div.detail-page div.full-width-block div.image-wrap > img {
		width: 100%;
	}
	
	div.news div.image-text-block div.image img {
		margin-top: 0;
		max-width: 100%;
	}
	div.detail-page div.full-width-block.no-padding > img {
		padding: 0;
	}
	
	div.tiles-list,
	div.product-list, 
	div.service-list, 
	div.reference-list, 
	
	div.sector-list, 
	div.contact-list {
		width: 100%;
		padding: 0 15px;
		box-sizing: border-box;
	}
	
	div.tiles-list div.item, 
	div.product-list div.product, 
	div.service-list div.service, 
	div.reference-list div.reference, 
	
	div.sector-list div.sector, 
	div.contact-list div.contact, 
	div.teaser div.contact {
		width: calc(100%/3 - 30px);
		height: auto;		
	}

	div.tiles-list .item.static {		
		height: auto; 	
		min-height: calc((100vw - 30px) / 3 * 1.3);
	}

	div.tiles-list div.item:hover,
	div.product-list div.product:hover,
	div.service-list div.service:hover,
	div.reference-list div.reference:hover,
	div.sector-list div.sector:hover {
		
		-webkit-transform: scale(1);   
		-ms-transform: scale(1);      
		-moz-transform: scale(1);   
		transform: scale(1);
		
	}
	
	div.module-image-teaser div.image-wrap {		
		height: 1023px;
	}
	

	div.dform-wrapper {
		width: 100%;
		margin: 50px 0 0;		
		padding: 30px;
	}
	
	div.company-list {
		padding: 55px 30px;
	}
	div.company-list div.accordion h3.accordion_title span.col1,
	div.company-list div.accordion h3.accordion_title span.col2,
	div.company-list  div.accordion div.accordion_text span.col1,
	div.company-list  div.accordion div.accordion_text span.col2	{
		width: calc(50% - 30px);
		
	}
	div.company-list  div.accordion div.accordion_text span.col1,
	div.company-list  div.accordion div.accordion_text span.col2 {
		margin-bottom: 40px;		
	}
	
	div.company-list  div.accordion div.accordion_text span.col3,
	div.accordion div.accordion_text span.col3 img	{
		width: 100%;
	}
	
	div.footer div.footer-text {
		padding: 7px 30px;
		width: 100%;
		box-sizing: border-box;
	}
	
	
	
	div.footer div.footer-text .bottom .socials,
	div.footer div.footer-text .bottom .links,
	div.footer div.footer-text .bottom .lang-nav	{
		width: 100%;
		height: auto;
		min-height: 40px;
		float: none;
		display: -webkit-flex;
		display: flex;
		-webkit-justify-content: flex-start;
		justify-content: flex-start;
		-webkit-flex-wrap: wrap;
		flex-wrap: wrap;
	}
	
	div.footer div.footer-text .bottom .socials {
		-webkit-flex-direction: row-reverse;
		flex-direction: row-reverse;
	}
	
	
	
	#addsearch-results,
	.content .addsearch-filters{
		width: 100% !important;
		padding: 0 15px !important;
		box-sizing: border-box !important;
	}
	
	.content .addsearch-filters{
		-webkit-justify-content: unset;
		justify-content: unset;
	}
	
	.content .addsearch-filters h6{
		display:block;
		width:100%;
	}
	
	div#ino {		
		top: -172px;
		right: 80px;
	}	
	
	.zones {
		width: 100%;
		padding: 0 15px;
		box-sizing: border-box;
	}
	div.image-text-block .text table thead td {
		font-size: 14px;
	}
	
	div.image-text-block .text table tbody td {
		font-size: 16px;
	}
	
	.tiles div.content > h1.base-page-title {
		padding: 0 30px;
	}
}


@media screen and (max-width: 1024px) {

	

	
	div.image-text-block,
	div.image-text-block.reverse {
		flex-direction: column-reverse;
	}
	
	div.image-text-block,
	div.full-width-block,
	div.detail-page div.base-content {
		-webkit-flex-wrap: wrap;
		flex-wrap: wrap;
	}
	
	div.image-text-block div.text,
	div.image-text-block.reverse div.text {
		width: 100%;
		padding: 50px 30px;
		box-sizing: border-box;
		margin-top: 0;
	}
	div.detail-page div.base-content div.image,
	div.image-text-block div.image {
		width: 100%;
	}
	div.image-text-block div.image img,
	div.image-text-block div.image iframe,
	div.detail-page div.base-content img {
		width: 100%;
	}
	
	div.full-width-block > img,
	div.full-width-block > div.text,
	div.full-width-block > div.teaser,
	div.reference div.full-width-block > div.text,
	div.reference div.full-width-block > div.teaser	{
		width: 100%;
	}
	
	div.full-width-block > div.teaser div.contact {
		float: none;
		margin: 30px auto;
		width: calc(100% - 30px);
		max-width: 370px;
	}
	
	div.detail-page div.base-content div.image-wrap {
		width: 100%;
		padding: 0 30px;
		box-sizing: border-box;
		margin-top: 0;
	} 
	
	div.detail-page div.base-content div.text {
		width: 100%;
		padding: 30px;
		box-sizing: border-box;
		margin-top: 0;
		
	}
	div.detail-page div.base-content div.text h2 {
		padding: 0;
		margin: 105px 0;
	}
	div.detail-page div.base-content ul.breadcrumb {
		padding: 0;
	}
	
	div.detail-page div.base-content a.alt_version {
		margin: 0;
	}
	
	div.tiles-list,
	div.product-list, 
	div.service-list, 
	div.reference-list, 	
	div.sector-list, 
	div.contact-list {
		-webkit-justify-content: center;
		justify-content: center;		
	}
		
	div.news-list div.news h3,
	div.accordion h3.accordion_title {
		padding-right: 45px;
	}	
		
	div.tiles-list div.item, 
	div.product-list div.product, 
	div.service-list div.service, 
	div.reference-list div.reference, 
	div.sector-list div.sector, 
	div.contact-list div.contact, 
	div.teaser div.contact {
		width: calc(100%/2 - 30px);
		
	}
	
	
	div.module-image-teaser div.teaser {
		width: 64%;
		height: auto;
		min-height: 246px;
		position: absolute;
		bottom: 0;
		right: 0;
		background-color: #706e6f;
		padding: 40px 30px 30px 30px;
		box-sizing: border-box;
	}
	
	div.dform-wrapper input[type="text"], 
	div.dform-wrapper textarea, 
	div.dform-wrapper select {
		width: 100%;
	}
	
	div.dform-wrapper div.heading {
		width: 100%;
	}
	
	
	#addsearch-results-mid .addsearch-result-item-container:hover {
		background-color: transparent;
		
		-ms-transform: scale(1, 1); /* IE 9 */
		-webkit-transform: scale(1, 1); /* Safari prior 9.0 */
		transform: scale(1, 1); /* Standard syntax */
	}
	#addsearch-results-mid .addsearch-result-item-container:hover .addsearch-result-item-sub h2 a,
	#addsearch-results-mid .addsearch-result-item-container:hover .addsearch-result-item-sub p {
		color: #ffffff !important;
	}
	
	.zones {
		padding: 0 30px;
		
	}
	.zones div.input {
		width: calc(100%/2 - 18px);
	}	
	
	.zones .result-table {
		max-width: 100%;
		margin-top: 30px;
	}
	
	
	div.footer div.footer-text {
		padding: 250px 30px 50px;
		width: 100%;		
		position: relative;
	}
	
	div.footer div.footer-text .col-center {
		width: calc(100% - 60px);
		margin: 40px 0;
		position: absolute;
		top: 0;
	}
	div.footer div.footer-text .col-center h4,
	div.footer div.footer-text .col-center table {
		margin: 0 0 20px;
	}
	
	div.footer div.footer-text .col-left, 
	div.footer div.footer-text .col-right {
		width: 372px;
		margin: 40px 0;
	}
	div.footer div.footer-text .col-right ul li {
		padding: 0;
	}
}


@media screen and (max-width: 960px) {
	div.container header div.logo {
		width: 280px;
		
	}
	header ul.nav-menu {
		margin-left: 25px;
		width: auto;
	}
	header #search {
		margin-left: 35px;
	}
	
	header .homelogo {
		margin-top: 17px;
	}
	
	.content_wrapper div.content table {
		display: block;
		width: fit-content;
		max-width: 100%;
		overflow-x: auto;
		height: auto !important;
	}
	.content_wrapper div.content table td {
		white-space: nowrap;	
	}
	
	
	body.home header .homelogo .logo-zukunft {
		right: 0;
	}
	
	
}

@media screen and (max-width: 800px) {
	header a.metaOpen, header a.metaOpenMobile {
		right: 10px;
	}
	header .homelogo {
		margin-top: 40px;
	}
	div.container header div.logo {
		width: 200px;
		
	}
	div.container header div.logo a img {
		padding: 20px 0 0 20px;
	}
	
	
	
}

@media screen and (max-width: 680px) {
	div.container header div.logo a img.small-view {
		display: block;		
	}
	div.container header div.logo a img.large-view {
		display: none;		
	}
	
	div.container header div.logo a img {
		padding: 20px 0 0 20px;
		width: auto;
	}	
	
	body,
	div.base-page-text	{
		font-size: 17px;
		
	}
	
		
	h1 {		
		font-size: 38px;		
	}

	h2 {
		font-size: 38px;		
	}

	h3,
	.h3like {	
		font-size: 28px;			
	}
	h4 {	
		font-size: 24px;				
	}

	div.content > h1,
	div.content > h2,
	div.detail-page > h2,
	div.news-more > h2 {		
		font-size: 38px;		
	}

	h2 > span  {		
		font-size: 28px;
	}
	div.company-list h3 {
		font-size: 28px;
	}
	
	div.company-list div.accordion h3.accordion_title span.col2 {
		font-size: 13px;
	}
	
	
	div.container header {
		padding: 0;
		height: 90px;	
		min-height: 90px;
	}
	nav#side-menu {
		display: none;
	}
	nav#side-menu.mm--open {
		display: block;
	}
	
	header a.metaOpen  {
		display: none;
	}
	header a.metaOpenMobile {
		display: block;
		right: 15px;
	}
	
	header a.metaOpen {
		top: 12px;
	}
	
	header a.metaOpen span.text {
		display: none;
	}
	
	header .sidenav a.level1 {
		display: block;
	}
		
	header .sidenav a.level2  {
		height: 0;
		opacity: 0;
		margin-left: 70px;
		transition: all .3s ease;
	}
	
	header .sidenav a.level1.shown,
	header .sidenav a.level2.shown {
		height: auto;
		opacity: 1;
	}
	header .sidenav a:hover {
		border-color: transparent;
	}
	
	header ul.nav-menu {
		display: none;
		
	}
	
	
	header #search {
		width: 45px;
		margin: 0px auto 0px;
		position: absolute;
		top: 34px;
		right: 25px;
		
		-webkit-transition: all .3s ease;
		-ms-transition: all .3s ease;
		-moz-transition: all .3s ease;
		transition: all .3s ease;
		
	}
		
	header #search form {
		box-sizing: border-box;
		border: none;
	}
	
	
	header #search.active form input[type="text"],
	header #search form input[type="text"]:focus,
	header #search form input[type="text"] {
		border: none;
		padding: 0;
		width: calc(100% - 30px);
		padding-left: 10px;
		padding-right: 10px;
	}
	header #search form input[type="text"] {
		padding-left: 0px;
		padding-right: 0px;
	}
	
	header #search.active {
		width: calc(100% - 240px);		
		max-width: 200px;
	}
	header #search.active form {
		padding-left: 0px;
		padding-right: 0px;
		border: 2px solid #787878;
	}
	
	header #search.active form input[type="submit"] {
		display: block;
	}
	
	header .lang-nav {
		display: none;
	}
	
	
	body.home header .homelogo {
		display: none;
	}

	
	.content_wrapper div.content ul.breadcrumb,
	.content_wrapper div.content ul.breadcrumb > li {
		font-size: 13px;
	}
	
	.tiles div.content > h1.base-page-title,
	div.content > h1.base-page-title {
		font-size: 28px;
	}
	
	div.base-content > div.text > h2,
	div.content > h1, div.content > h2, div.detail-page > h2, div.news-more > h2 {
		font-size: 30px;
	}
		
	div.base-page-image span {
		top: auto;
		bottom: 12%;
		z-index: 10;
		width: 100%;		
		font-size: 38px;
		padding: 0 30px;
		
	}
	div.full-width-block,
	div.image-text-block,
	div.no-padding div.text,
	div.image-text-block p, 
	div.full-width-block p, 
	div.base-page-text p	{
		font-size: 17px;
	}
	
	div.image-text-block div.text, 
	div.image-text-block.reverse div.text,
	div.image-text-block div.text.no-margin	{
		padding: 40px 30px;
		margin-top: 0;
		margin-bottom: 0;
	}
	
	div.image-text-block div.text h3,
	div.full-width-block h3,
	div.no-padding div.text h3 {
		font-size: 28px;
	}
	
	a.load-more {
		font-size: 19px;
	}
	
	div.tiles-list div.item, 
	div.tiles-list div.item.first,
	div.product-list div.product, 
	div.service-list div.service, 
	div.reference-list div.reference, 
	div.sector-list div.sector, 
	div.contact-list div.contact, 
	div.teaser div.contact {
		width: calc(100% - 30px);
	}
	div.tiles-list .item.first {
		max-width: 370px;
	}
	
	div.tiles-list div.item.first > a.image,
	div.tiles-list div.item.first > .wrap {
		width: 100%;
	}
	div.tiles-list div.item.first > .wrap {
		justify-content: flex-start;
	}
	
	div.tiles-list div.item.static {
		height: 480px; 	
		max-height: calc((100vw - 30px) * 1.3);
	}
	
	div.category-filter {
		width: 100%;
		position: static;
		right: 0;
		top: 0;
		margin: 15px;
	}
	div.category-filter .dropdown {
		margin-top: 0;
	}
	div.module-image-teaser div.image-wrap {		
		height: 554px;
	}
	div.module-image-teaser div.teaser {
		width: 100%;
		height: auto;
		min-height: 246px;
		position: static;		
		background-color: #706e6f;
		padding: 40px 30px 30px 30px;
		box-sizing: border-box;
	}
	div.gallery-tiles .tile1,
	div.gallery-tiles .tile2,
	div.gallery-tiles .tile3,
	div.gallery-tiles .tile4,
	div.gallery-tiles .tile5,
	div.gallery-tiles .tile6 {
		width: 100%;
		border-right: 0;
	}
	
	div.dform-wrapper .submit-button { 
		width: 100%;
	}
	

	
	div.company-list div.accordion h3.accordion_title span.col1,
	div.company-list div.accordion h3.accordion_title span.col2,
	div.company-list div.accordion div.accordion_text span.col1,
	div.company-list div.accordion div.accordion_text span.col2	{
		width: 100%;
		margin-right: 0;
		margin-bottom: 10px;
		
	}
	div.company-list div.accordion div.accordion_text span.col1,
	div.company-list div.accordion div.accordion_text span.col2 {
		margin-bottom: 30px;
	}
	
	div.news-list div.news h3,
	div.accordion h3.accordion_title {
		-webkit-flex-wrap: wrap;
		flex-wrap: wrap;
		background-position: 97% 3px;
		font-size: 24px;
		background-size: 20px;
	}
	
	div.accordion div.accordion_text span.col3 a.gmap-link {
		width: 100%;
	}
	
	div.detail-page div.base-content div.text h2 {
		margin: 40px 0;
	}
	
	div.footer div.footer-text h3 {
		font-size: 28px;
	}
	div.footer div.footer-text {
		font-size: 13px;
	}
	div.footer div.footer-text .col {
		width: 100%;
	}
	
	div.footer div.footer-text {
		padding: 400px 30px 40px;	
		
	}
	div.footer div.footer-text .col-left, 
	div.footer div.footer-text .col-right {
		margin: 0;
		
	}
	div.footer div.footer-text .col-center table td {
		width:100%;
		float: left;
	}
	div.footer div.footer-text .col-center table td + td {
		width: 100%;
		padding-bottom: 10px;
	}
	
	
	div.image-wrap:after,
	div.module-image:after,
	.video-container:after {
		background-size: 30%;
	}
	
	
	#addsearch-results .addsearch-result-item-sub {
		background-image: none !important;
	}
	
	#addsearch-results .addsearch-result-item-sub div {
		padding: 0 14px 0 0px !important;
	}
	
	div#ino {
		top: -75px;
		right: 80px;
	}
	div#ino img.large-view {
		display: none;
	}
	div#ino img.small-view {
		/* width: 84px; */
		display: block;
	}
	
	.formbox{padding:0px 40px 20px 20px;}
	.cr_ipe_item .mce_text span{padding-left:0px;padding-right:0px;}
	.cr_ipe_item label{vertical-align: baseline;}
	.mm li.newsletter-subscribe::before{background-image:none;}
	
	.zones div.input {
		width: 100%;
	}
	.zones .result-table {
		position: relative;
		overflow-y: scroll;
	}
	.zones .result-table table {
		min-width: 760px;
	}
	
	
	
}

@media screen and (max-width: 520px) {
	div.footer div.footer-text .col-center table {
		width: 100%;
	}
	
	div.footer div.footer-text .col-center h4 {
		width: 100%;
		
	}
}


@media screen and (max-width: 375px) {
	h1 {		
		font-size: 32px;		
	}
	h2 {
		font-size: 28px;		
	}
	h3,
	.h3like	{	
		font-size: 26px;			
	}
	h4 {	
		font-size: 24px;				
	}
	div.content > h1,
	div.content > h2,
	div.detail-page > h2,
	div.news-more > h2 {		
		font-size: 28px;		
	}

	h2 > span  {		
		font-size: 26px;
	}
	div.company-list h3 {
		font-size: 26px;
	}	
	div.image-text-block div.text h3,
	div.full-width-block h3,
	div.no-padding div.text h3 {
		font-size: 26px;
	}
	div.base-content > div.text > h2,
	div.content > h1, div.content > h2, div.detail-page > h2, div.news-more > h2 {
		font-size: 26px;
	}
	
	div.base-page-image span {
		font-size: 30px;
	}
	
	div.tiles-list div.item, 
	div.tiles-list div.item.first, 
	div.product-list div.product, 
	div.service-list div.service, 
	div.reference-list div.reference, 
	div.sector-list div.sector, 
	div.contact-list div.contact, 
	div.teaser div.contact {
		width: 100%;
		margin-left: 0;
		margin-right: 0;
	}
	
	div#ino {		
		right: 30px;
	}
	
}

@media screen and (max-width: 320px){
	div.footer div.footer-text {
		padding-top: 440px;
	}
}