* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}
* {
-webkit-tap-highlight-color: rgba(0,0,0,0);
	}

.O {position: absolute; left: 0px; top: 0px; width: 100%; height: 100%;}
.T {display: table; width: 100%; height: 100%;}
.C {display: table-cell; width: 100%; height: 100%;}

/* Mobile Styles */
@media only screen and (max-width: 500px) {
	.align_h_left {
		text-align: left;
	}
	.align_h_center {
		text-align: center;
	}
	.align_h_right {
		text-align: right;
	}
	.MB {
		width: 100%;
		padding-left: 20px;
		padding-right: 20px;
	}
	.Header .Logo {
		float: inherit;
		width: 70%;
		max-width: 150px;
		margin: auto;
	}
	.HeaderBG {
		height: 60px;
	}
	.Header .Navigation {
		position: fixed;
		left: 0px;
		top: 0px;
		width: 100%;
		height: 100%;
		z-index: 100;
		background-color: rgba(0,0,0,0.9);
		display: flex;
		align-content: center;
		justify-content: center;
		flex-direction: column;
		pointer-events: none;
		opacity: 0;
		transform: translateX(-50px);
		-webkit-transition: all 150ms ease-in-out;
		-moz-transition: all 150ms ease-in-out;
		-ms-transition: all 150ms ease-in-out;
		-o-transition: all 150ms ease-in-out;
		transition: all 150ms ease-in-out;
	}
	fieldset label {
		display: block;
		width: 100%;
		float: inherit;
	}
	fieldset input, fieldset textarea {
		width: 100%;
		display: block;
		float: inherit;
	}
	.MobileNavIcon {
		position: fixed;
		left: 10px;
		top: 20px;
		width: 30px;
		height: 30px;
		display: inherit;
		z-index: 110;
	}
	.Header .NavigationF {
		pointer-events: inherit;
		opacity: 1;
		transform: translateX(0px);
		-webkit-transition: all 150ms ease-in-out;
		-moz-transition: all 150ms ease-in-out;
		-ms-transition: all 150ms ease-in-out;
		-o-transition: all 150ms ease-in-out;
		transition: all 150ms ease-in-out;
	}
	.Header .Oben {
		text-align: center;
	}
	.Header .Navigation a {
		display: block;
		text-align: center;
	}
	h1 {
		font-size: 40px!important;
	}
	h2 {
		font-size: 30px!important;
	}
	h3 {
		font-size: 32px!important;
	}
	h4 {
		font-size: 20px!important;
	}
	h5 {
		font-size: 30px!important;
	}
	body, html {
		font-size: 14px;
	}
	.M_Spruch {
		padding-bottom: 30px;
	}
	.Tischlerei {
		margin-top: 20px;
		overflow: hidden;
		width: 100%;
		height: 200px;
	}
	.Photos {
		height: 50%;
	}
	.Nav {
		margin-left: 0px;
		font-size: 24px;
	}
	.Content {
		top: 50%;
	}
	.Tischlerei img {
		width: 350%;
	}
	.Text {
		line-height: 20px;
	}
	.Footer .col_1_2 {
		text-align: center!important;
	}
	.M_3Photos .grid_4:nth-child(3n+1) {
	padding-right: 0px;
}
.M_3Photos .grid_4:nth-child(3n+2) {
	padding-left: 0px;
	padding-right: 0px;
}
.M_3Photos .grid_4:nth-child(3n+3) {
	padding-left: 0px;
}
	.M_Kategorien .grid_6:nth-child(1),.M_Kategorien .grid_6:nth-child(2),.M_Kategorien .grid_6:nth-child(3) {
		margin-left: 0px;
		margin-right: 0px;
		margin-bottom: 20px;
	}
	.M_Kategorien .grid {
		margin-bottom: 0px;
	}
	.M_KategorienN .grid .grid_6 {
		width: 100%;
		margin: 0px;
		margin-bottom: 20px;
	}
	.M_3Photos .grid_4 {
		margin-bottom: 20px!important;
	}
}

/* Tablet Styles */
@media only screen and (min-width: 501px) and (max-width: 960px) {
	.align_t_left {
		text-align: left;
	}
	.MB {
		width: 100%;
		padding-left: 20px;
		padding-right: 20px;
	}
	.M_3Photos .grid_4:nth-child(3n+1) {
	padding-right: 0px;
}
	.M_KategorienN .grid .grid_6 {
		width: 100%;
		height: auto;
		overflow: inherit;
	}
.M_3Photos .grid_4:nth-child(3n+2) {
	padding-left: 0px;
	padding-right: 0px;
}
.M_3Photos .grid_4:nth-child(3n+3) {
	padding-left: 0px;
}
	.M_Kategorien .grid_6:nth-child(1),.M_Kategorien .grid_6:nth-child(2),.M_Kategorien .grid_6:nth-child(3) {
		margin-left: 0px;
		margin-right: 0px;
		margin-bottom: 20px;
	}
	.M_Kategorien .grid {
		margin-bottom: 0px;
	}
	.M_3Photos .grid_4 {
		margin-bottom: 20px!important;
	}
	.M_3Photos .grid_4 {
		min-height: 350px;
	}
	.Header .Logo {
		float: inherit;
		width: 70%;
		max-width: 250px;
		margin: auto;
	}
	.Header .Navigation {
		position: fixed;
		left: 0px;
		top: 0px;
		width: 100%;
		height: 100%;
		z-index: 100;
		background-color: rgba(0,0,0,0.9);
		display: flex;
		align-content: center;
		justify-content: center;
		flex-direction: column;
		pointer-events: none;
		opacity: 0;
		transform: translateX(-50px);
		-webkit-transition: all 150ms ease-in-out;
		-moz-transition: all 150ms ease-in-out;
		-ms-transition: all 150ms ease-in-out;
		-o-transition: all 150ms ease-in-out;
		transition: all 150ms ease-in-out;
	}
	.MobileNavIcon {
		position: fixed;
		left: 20px;
		top: 30px;
		width: 30px;
		height: 30px;
		display: inherit;
		z-index: 110;
	}
	.Header .NavigationF {
		pointer-events: inherit;
		opacity: 1;
		transform: translateX(0px);
		-webkit-transition: all 150ms ease-in-out;
		-moz-transition: all 150ms ease-in-out;
		-ms-transition: all 150ms ease-in-out;
		-o-transition: all 150ms ease-in-out;
		transition: all 150ms ease-in-out;
	}
	.Nav {
		margin-left: 0px;
		font-size: 24px;
	}
	.Header .Oben {
		text-align: center;
	}
	.Header .Navigation a {
		display: block;
		text-align: center;
	}
	.align_t_center {
		text-align: center;
	}
	.align_t_right {
		text-align: right;
	}
	.M_3Photos .grid_4:nth-child(3n+1) {
	padding-right: 0px;
}
.M_3Photos .grid_4:nth-child(3n+2) {
	padding-left: 0px;
	padding-right: 0px;
}
.M_3Photos .grid_4:nth-child(3n+3) {
	padding-left: 0px;
}
}

/* Desktop Styles */
@media only screen and (min-width: 961px) {
	.MB {
		width: 100%;
		max-width: 1400px;
		padding-left: 20px;
		padding-right: 20px;
		margin: auto;
	}
	
	.align_d_left {
		text-align: left;
	}
	.align_d_center {
		text-align: center;
	}
	.align_d_right {
		text-align: right;
	}
	
	.valign_middle {
		vertical-align: middle;
	}
	
	
	
	.grid {
		display: flex;
		width: 100%;
		align-items: stretch;
  		justify-content: center;
	}
	.grid:after {
		content: '';
		clear: both;
		display: block;
		height: 0;
		visibility: hidden;
	}
	.grid_float {
	}
	.grid_1 {
		width: 8.33%;
	}
	.grid_2 {
		width: 16.66%;
	}
	.grid_3 {
		width: 24.99%;
	}
	.grid_4 {
		width: 33.33%;
	}
	.grid_5 {
		width: 41.65%;
	}
	.grid_6 {
		width: 49.98%;
	}
	.grid_7 {
		width: 58.31%;
	}
	.grid_8 {
		width: 66.64%;
	}
	.grid_9 {
		width: 74.97%;
	}
	.grid_10 {
		width: 8.33%;
	}
	.grid_11 {
		width: 8.33%;
	}
	.grid_12 {
		width: 8.33%;
	}

}


.align_left {
	text-align: left!important;
}
.align_center {
	text-align: center!important;
}
.align_right {
	text-align: right!important;
}
	.grid_with_overlay {
		position: relative;
		overflow: hidden;
		cursor: pointer;
	}
	.grid_overlay {
		display: flex;
		position: absolute;
		left: 0px;
		top: 0px;
		width: 100%;
		height: 100%;
		align-items: center;
  		justify-content: center;
		background-color: rgba(0,0,0,0.6);
	}
	.grid_overlay_content {
		text-align: center;
		-webkit-transition: all 200ms ease-in-out;
		-moz-transition: all 200ms ease-in-out;
		-ms-transition: all 200ms ease-in-out;
		-o-transition: all 200ms ease-in-out;
		transition: all 200ms ease-in-out;
	}
	.grid_overlay_content_hidden {
		transform: translateY(20px);
		opacity: 0;
		-webkit-transition: all 300ms ease-in-out;
		-moz-transition: all 300ms ease-in-out;
		-ms-transition: all 300ms ease-in-out;
		-o-transition: all 300ms ease-in-out;
		transition: all 300ms ease-in-out;
	}
	.grid_overlay:hover .grid_overlay_content {
		transform: translateY(-10px);
	}
	.grid_overlay:hover .grid_overlay_content .grid_overlay_content_hidden {
		transform: translateY(0px);
		opacity: 1;
	}