@font-face {
    font-family: 'Open Sans';
    src: url('../fonts/OpenSans.woff2') format('woff2'),
        url('../fonts/OpenSans.woff') format('woff'),
        url('../fonts/OpenSans.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

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

@font-face {
    font-family: 'Open Sans';
    src: url('../fonts/OpenSans-Semibold.woff2') format('woff2'),
        url('../fonts/OpenSans-Semibold.woff') format('woff'),
        url('../fonts/OpenSans-Semibold.ttf') format('truetype');
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}


*, *:before, *:after {
    -webkit-box-sizing: border-box; /* Safari/Chrome, andere WebKit-Browser */
    -moz-box-sizing: border-box; /* Firefox, andere Gecko-Browser */
    box-sizing: border-box; /* Opera/IE 8+ */
}
html {
  scroll-behavior: smooth;
}
body {
	font-family: 'Open Sans';
	font-weight:normal;
	background:#f4f4f4;
	scroll-behavior: smooth;
}
.pagewrap {
	float:left;
	width:100%;
	height:100vh;
	position:relative;
	scroll-behavior: smooth;
}
.wrapper {
	width:100%;
	height:auto;
	margin:0;
	padding:0 20px;
}
.header {
	float:left;
	width:100%;
	height:auto;
	margin:0;
	padding:0px 0px;
	position:relative;
}
.header_wrapper {
	width:100%;
	height:auto;
	margin:0;
	padding:0 20px;
}
.header.active {
	float:left;
	width:100%;
	height:auto;
	margin:0;
	padding:0px 0px;
	position:relative;
}
.header .logo {
	float:left;
	width:160px;
	height:auto;
	margin:8px 0 27px 0;
	padding:0;
}
.header .logo img {
	width:100%;
	height:auto;
	display:block;
}
.header.active .logo {
	float:left;
	width:160px;
	height:auto;
	margin:8px 0 27px 0;
	padding:0;
}
.header.active .logo img {
	width:100%;
	height:auto;
	display:block;
}
.header .inside {
	float:left;
	width:100%;
	height:auto;
	padding:0;
	margin:0 0 0px 0;
}
.header .rechts {
	float:left;
	width:calc(100% - 190px);
	height:auto;
	padding:0;
	margin:4px 0 0px 30px;
}
.header.active .rechts {
	float:left;
	width:calc(100% - 190px);
	height:auto;
	padding:0;
	margin:4px 0 0px 30px;
}
.header a {
	outline:none;
}
.header .navbereich {
	position:fixed;
	left:0;
	top:0;
	float:none;
	width:100%;
	height:100vh;
	background:#f4f4f4;
	padding:40px;
	margin:0px 0px 0px 0px;
	transform:translate(120%,0);
	transition:all 0.3s ease;
	z-index:999;
}
.header .navbereich.active {
	position:fixed;
	left:0;
	top:0;
	float:none;
	width:100%;
	height:100vh;
	background:#f4f4f4;
	padding:40px;
	margin:0px 0px 0px 0px;
	transform:translate(0%,0);
	transition:all 0.3s ease;
	z-index:999;
}
.header .navbereich ul {
	list-style:none;
	float:left;
	width:100%;
	height:auto;
	margin:0 0%;
}
.header .navbereich ul li {
	float:left;
	width:100%;
	height:auto;
	margin:40px 0% 10px 0%;
	text-align:center;
}
.header .navbereich ul li:last-of-type {
	margin:40px 0% 10px 0%;
}
.header .navbereich ul li a {
	text-decoration:none;
	color:#777777;
	font-size:20px;
	text-align:center;
	background:#f4f4f4;
	padding:10px 10px 10px 10px;
	transition:all 0.2s ease;
	position:relative;
	font-weight:normal;
	text-transform:uppercase;
	letter-spacing:0.5px;
}
.header .navbereich ul li a:hover {
	color:#000000;
}
.header .navbereich ul li a span {
	position:absolute;
	bottom:0;
	left:0;
	width:0%;
	height:3px;
	background:#f39200;
	transition:all 0.3s ease-out;
}
.header .navbereich ul li a:hover span {
	width:100%;
}
.header .iconbereich {
	float:left;
	width:90px;
	height:auto;
	padding:0;
	margin:20px 0 0px 10px;
}
.header .mailicon {
	float:right;
	width:40px;
	height:40px;
	border:solid 1px #cccccc;
	margin:0 0 0 10px;
	background-image:url(../img/icon_mail.png);
	background-position:center center;
	background-repeat:no-repeat;
	background-size:18px;
	background-color:#f4f4f4;
	transition:all 0.2s ease;
}
.header .mailicon:hover {
	background-color:#ffffff;
	background-size:21px;
	border:solid 1px #999999;
}
.header .mailicon a {
	display:block;
	width:40px;
	height:40px;
	outline:none;
}
.header .phoneicon {
	float:right;
	width:40px;
	height:40px;
	border:solid 1px #cccccc;
	margin:0 0 0 0px;
	background-image:url(../img/icon_phone.png);
	background-position:center center;
	background-repeat:no-repeat;
	background-size:18px;
	background-color:#f4f4f4;
	transition:all 0.2s ease;
}
.header .phoneicon:hover {
	background-color:#ffffff;
	background-size:21px;
	border:solid 1px #999999;
}
.header .phoneicon a {
	display:block;
	width:40px;
	height:40px;
	outline:none;
}

.menu_icon {
	position:fixed;
	right:0;
	top:10px;
	width:65px;
	height:65px;
	background:#ffffff;
	display:block;
	z-index:999;
	border-left:solid 1px #f4f4f4;
	border-top:solid 1px #f4f4f4;
	border-bottom:solid 1px #f4f4f4;
	transition:all 0.3s ease;
}
.menu_icon.active {
	position:fixed;
	right:0;
	top:10px;
	width:65px;
	height:65px;
	display:block;
	z-index:999;
	background:#ffffff;
	border-left:solid 1px #f4f4f4;
	border-top:solid 1px #f4f4f4;
	border-bottom:solid 1px #f4f4f4;
	transition:all 0.3s ease;
}
.menu_icon label {
	display:flex;
	flex-direction:column;
	width:65px;
	cursor:pointer;
	padding:17px 14px;
	transition:all 0.2s linear;
}
.menu_icon label span{
  background: #444444;
  border-radius:2px;
  height:2px;
  margin: 4px 0;
  transition: .4s  cubic-bezier(0.68, -0.6, 0.32, 1.6);
}
.menu_icon label span:nth-child(1){
  width:100%;
}
.menu_icon label span:nth-child(2){
  width:100%;
}
.menu_icon label span:nth-child(3){
  width:100%;
}
.menu_icon input[type="checkbox"]{
  display:none;
}
.menu_icon input[type="checkbox"]:checked ~ span:nth-of-type(1){
  transform-origin:bottom;
  transform:rotatez(45deg) translate(8px,8px);
  width:100%;
}
.menu_icon input[type="checkbox"]:checked ~ span:nth-of-type(2){
  width:0%;
  background:#ffffff;
}
.menu_icon input[type="checkbox"]:checked ~ span:nth-of-type(3){
  transform-origin:top;
  transform:rotatez(-45deg) translate(5px,-5px);
  width:100%;
}

.onlyphone {
	display:block;
}
.onlydesktop {
	display:none;
}
.main {
	float:left;
	width:100%;
	height:auto;
	margin:0;
}
.main.active {
	float:left;
	width:100%;
	height:auto;
	margin:0 0 0 0;
}
.teaser {
	float:left;
	width:100%;
	height:480px;
	margin:0 0 0px 0;
	background-position:center center;
	background-size:cover;
	z-index:1;
	position:relative;
}
.teasertiteltop {
	position:absolute;
	top:38%;
	left:50%;
	height:auto;
	width:auto;
	max-width:100%;
	font-size:16px;
	line-height:24px;
	text-transform:uppercase;
	letter-spacing:0.5px;
	padding:6px 15px 6px 15px;
	background-color:rgba(243,145,0,0.88);
	color:#000000;
	font-weight:600;
	transform:translate(-50%,-25%);
	opacity:1;
	-webkit-animation: teaser_text_top_ani 1.5s ease-out;
	-moz-animation: teaser_text_top_ani 1.5s ease-out;
	-o-animation: teaser_text_top_ani 1.5s ease-out;
	animation: teaser_text_top_ani 1.5s ease-out;
}
.teasertitel {
	position:absolute;
	top:53%;
	left:50%;
	height:auto;
	width:auto;
	font-size:20px;
	line-height:30px;
	padding:10px 20px 14px 20px;
	background-color:rgba(0,0,0,0.75);
	color:#ffffff;
	transform:translate(-50%,-30%);
	opacity:1;
	-webkit-animation: teaser_text_ani 1.5s ease-out;
	-moz-animation: teaser_text_ani 1.5s ease-out;
	-o-animation: teaser_text_ani 1.5s ease-out;
	animation: teaser_text_ani 1.5s ease-out;
}
.kacheln_kontakt {
	float:left;
	width:100%;
	height:auto;
	margin:0 0 0px 0;
	text-align:center;
	position:relative;
	z-index:990;
	font-size:16px;
	line-height:26px;
	font-weight:normal;
	color:#555555;
}
.kacheln_kontakt .icon {
	float:left;
	width:100%;
	height:auto;
	text-align:center;
	margin:0 0 10px 0;
}
.kacheln_kontakt .icon img {
	width:30px;
	height:30px;
}
.kacheln_kontakt .phone {
	font-size:20px;
	line-height:30px;
	font-weight:600;
}
.kacheln_kontakt .box {
	float:left;
	width:100%;
	height:auto;
	background:#ffffff;
	margin:0;
	padding:25px 20px 10px 20px;
	transform:translate(0%,0px);
	box-shadow:5px 5px 4px rgba(0,0,0,0.15);
}
.kacheln_kontakt .boxb {
	float:left;
	width:100%;
	height:auto;
	background:#ffffff;
	margin:0;
	padding:20px 20px 30px 20px;
	transform:translate(0%,0px);
	box-shadow:5px 5px 4px rgba(0,0,0,0.15);
}
.kacheln_kontakt a {
	color:#555555;
	text-decoration:none;
	outline:none;
}
.kacheln_kontakt a:hover {
	text-decoration:underline;
}
#flex-container {
	display: -webkit-flex;
   display: -ms-flex;
   display: flex;
   -webkit-flex-wrap: wrap;
   -ms-flex-wrap: wrap;
   flex-wrap: wrap;
}
#flex-containera {
	display: -webkit-flex;
   display: -ms-flex;
   display: flex;
   -webkit-flex-wrap: wrap;
   -ms-flex-wrap: wrap;
   flex-wrap: wrap;
}
#flex-containerb {
	display: -webkit-flex;
   display: -ms-flex;
   display: flex;
   -webkit-flex-wrap: wrap;
   -ms-flex-wrap: wrap;
   flex-wrap: wrap;
}
.leistungen_bereich {
	float:left;
	width:100%;
	height:auto;
	margin:15px 0 20px 0;
	padding:85px 0 0 0;
}
.leistungen_bereich h1 {
	float:left;
	width:100%;
	height:auto;
	margin:0 0 30px 0;
	padding:0;
	font-size:24px;
	font-weight:normal;
	text-transform:uppercase;
	letter-spacing:0.5px;
	color:#555555;
}
.leistungen_bereich p {
	float:left;
	width:100%;
	height:auto;
	margin:10px 0 25px 0;
	padding:0;
	font-size:16px;
	line-height:26px;
	font-weight:normal;
	text-transform:none;
	color:#000000;
}
.leistungen_bereich ul {
	float:left;
	width:100%;
	height:auto;
	list-style:none;
	margin:0 0 20px 0;
}
.leistungen_bereich ul li {
	float:left;
	width:100%;
	height:auto;
	margin:12px 0 15px 0;
	padding:0;
	font-size:19px;
	line-height:28px;
	font-weight:600;
	text-transform:none;
	color:#000000;
}
.leistungen_bereich ul li img {
	float:left;
	display:inline-block;
	width:32px;
	height:32px;
	margin:0px 14px 0 0;
}
.leistungen_bereich ul li span {
	float:left;
	width:calc(100% - 46px);
	height:auto;
}
.leistungen_bereich .left {
	float:left;
	width:100%;
	height:auto;
	background:#ffffff;
	margin:0px 0 0px 0%;
	padding:32px 35px;
	font-size:16px;
	line-height:26px;
	font-weight:normal;
}
.leistungen_bereich .right {
	float:left;
	width:100%;
	height:300px;
	margin:0 0% 0 0;
	padding:0px;
	background-image:url(../img/corradi_fliesen_leistungen.jpg);
	background-position:50% 50%;
	background-repeat:no-repeat;
	background-size:cover;
}
.referenzen_bereich {
	float:left;
	width:100%;
	height:auto;
	margin:15px 0 20px 0;
	padding:85px 0 0 0;
}
.referenzen_bereich h1 {
	float:left;
	width:100%;
	height:auto;
	margin:0 0 30px 0;
	padding:0;
	font-size:24px;
	font-weight:normal;
	text-transform:uppercase;
	letter-spacing:0.5px;
	color:#555555;
}
.referenzen_bereich_bilder {
	float:left;
	width:100%;
	height:auto;
	margin:10px 0;
}
.refbild {
	float:left;
	width:49%;
	height:250px;
	margin:0 2% 10px 0;
	overflow:hidden;
}
.refbild:nth-of-type(2n+2) { margin:0 0 10px 0; }

.refbild img {
	width:100%;
	height:250px;
	object-fit: cover;
	transition:all 0.2s ease-out;
}
.refbild:hover img {
	transform:scale(1.1);
}

.kontakt_bereich {
	float:left;
	width:100%;
	height:auto;
	margin:15px 0 60px 0;
	padding:85px 0 0 0;
}
.kontakt_bereich h1 {
	float:left;
	width:100%;
	height:auto;
	margin:0 0 30px 0;
	padding:0;
	font-size:24px;
	font-weight:normal;
	text-transform:uppercase;
	letter-spacing:0.5px;
	color:#555555;
}
.kontakt_bereich p {
	float:left;
	width:100%;
	height:auto;
	margin:10px 0 15px 0;
	padding:0;
	font-size:16px;
	line-height:26px;
	font-weight:normal;
	text-transform:none;
	color:#000000;
}
.kontakt_bereich .left {
	float:left;
	width:100%;
	height:auto;
	background:#ffffff;
	margin:0px 0% 0px 0%;
	padding:25px 25px 10px 25px;
	font-size:16px;
	line-height:26px;
	font-weight:normal;
}
.kontakt_bereich .right {
	float:left;
	width:100%;
	height:auto;
	margin:0 0% 0 0;
	padding:10px 0 20px 15px;
	background:#ffffff;
}
.kontakt_bereich .right img {
	width:100%;
	height:auto;
	display:block;
}
.kontakt_bereich .kontaktdaten {
	float:left;
	width:100%;
	height:auto;
	margin:20px 0 0px 0;
	padding:0;
	font-size:16px;
	line-height:26px;
	font-weight:normal;
	text-transform:none;
	color:#000000;
}
.kontakt_bereich .kontaktdaten .firma {
	font-size:18px;
	line-height:28px;
	font-weight:600;
}
.kontakt_bereich .kontaktdaten a {
	outline:none;
	text-decoration:none;
	color:#000000;
}
.kontakt_bereich .kontaktdaten a:hover {
	text-decoration:underline;
	color:#f39100;
}

.imprint_bereich {
	float:left;
	width:100%;
	height:auto;
	margin:35px 0 60px 0;
	padding:25px 0 0 0;
	hyphens: auto;
	hyphenate-limit-chars: auto 3;
	hyphenate-limit-lines: 4;
}
.imprint_bereich h1 {
	float:left;
	width:100%;
	height:auto;
	margin:0 0 44px 0;
	padding:0;
	font-size:26px;
	line-height:34px;
	font-weight:normal;
	text-transform:uppercase;
	letter-spacing:0.5px;
	color:#555555;
}
.imprint_bereich p {
	float:left;
	width:100%;
	height:auto;
	margin:0px 0 20px 0;
	padding:0;
	font-size:15px;
	line-height:26px;
	font-weight:normal;
	text-transform:none;
	color:#000000;
}
.imprint_bereich ul {
	float:left;
	width:100%;
	height:auto;
	margin:0px 0 20px 0;
	padding:0;
	list-style:none;
	font-size:15px;
	line-height:26px;
	font-weight:normal;
	text-transform:none;
	color:#000000;
}
.imprint_bereich ul li {
	list-style:outside disc;
	float:left;
	width:calc(100% - 16px);
	margin:0 0 10px 16px;
}
.imprint_bereich table {
	float:left;
	width:100%;
	height:auto;
	margin:0px 0 26px 0;
	padding:0;
	font-size:15px;
	line-height:26px;
	font-weight:normal;
	text-transform:none;
	color:#000000;
}
.imprint_bereich h2 {
	float:left;
	width:100%;
	height:auto;
	margin:20px 0 15px 0;
	padding:0;
	font-size:20px;
	line-height:28px;
	font-weight:600;
	color:#555555;
}
.imprint_bereich h3 {
	float:left;
	width:100%;
	height:auto;
	margin:40px 0 15px 0;
	padding:0;
	font-size:22px;
	line-height:30px;
	font-weight:600;
	color:#000000;
}
.imprint_bereich a {
	text-decoration:underline;
	color:#555555;
	outline:none;
}

.footer {
	float:left;
	width:100%;
	height:auto;
	background:#f39100;
	padding:60px 0 90px 0;
	margin:50px 0 0 0;
	font-size:14px;
	line-height:22px;
}
.footer a {
	text-decoration:none;
	color:#000000;
	outline:none;
}
.footer a:hover {
	text-decoration:underline;
}
.footer .trenner {
	margin:0 6px;
}
.footer_logo {
	float:left;
	width:100%;
	height:auto;
	text-align:center;
	margin:0 0 50px 0;
}
.footer_logo img {
	display:inline-block;
	width:240px;
	height:auto;
}
.footer .links {
	float:left;
	width:100%;
	height:auto;
	text-align:center;
	margin:0;
	padding:0;
}
.footer .mitte {
	float:left;
	width:100%;
	height:auto;
	text-align:center;
	margin:20px 0 30px 0;
	padding:0;
}
.footer .rechts {
	float:left;
	width:100%;
	height:auto;
	text-align:center;
	margin:0;
	padding:0;
}


@-moz-keyframes teaser_text_ani {
0% { transform:translate(-50%,-10%); opacity:0; }
70% { transform:translate(-50%,-10%); opacity:0; }
100% { transform:translate(-50%,-30%); opacity:1; }
}
@-webkit-keyframes teaser_text_ani {
0% { transform:translate(-50%,-10%); opacity:0; }
70% { transform:translate(-50%,-10%); opacity:0; }
100% { transform:translate(-50%,-30%); opacity:1; }
}
@-o-keyframes teaser_text_ani {
0% { transform:translate(-50%,-10%); opacity:0; }
70% { transform:translate(-50%,-10%); opacity:0; }
100% { transform:translate(-50%,-30%); opacity:1; }
}

@-moz-keyframes teaser_text_top_ani {
0% { transform:translate(-50%,20%); opacity:0; }
50% { transform:translate(-50%,20%); opacity:0; }
80% { transform:translate(-50%,-25%); opacity:1; }
100% { transform:translate(-50%,-25%); opacity:1; }
}
@-webkit-keyframes teaser_text_top_ani {
0% { transform:translate(-50%,20%); opacity:0; }
50% { transform:translate(-50%,20%); opacity:0; }
80% { transform:translate(-50%,-25%); opacity:1; }
100% { transform:translate(-50%,-25%); opacity:1; }
}
@-o-keyframes teaser_text_top_ani {
0% { transform:translate(-50%,20%); opacity:0; }
50% { transform:translate(-50%,20%); opacity:0; }
80% { transform:translate(-50%,-25%); opacity:1; }
100% { transform:translate(-50%,-25%); opacity:1; }
}

@-moz-keyframes header_ani {
0% { transform:translateY(-90px); opacity:0; }
100% { transform:translateY(0px); opacity:1; }
}
@-webkit-keyframes header_ani {
0% { transform:translateY(-90px); opacity:0; }
100% { transform:translateY(0px); opacity:1; }
}
@-o-keyframes header_ani {
0% { transform:translateY(-90px); opacity:0; }
100% { transform:translateY(0px); opacity:1; }
}