@charset "utf-8";
/* CSS Document */

* {
	background-repeat: no-repeat
}

.row.grid-center {
	text-align: center;
}

.row.grid-center [class*="col-"]{
	text-align: center;
	display: inline-block;
	float: none;
	margin-left: -2px;
    margin-right: -2px;
}

a.btn {
    text-decoration: none;
    display: inline-block;
    padding: 2px 8px 2px 8px;
    border-radius: 3px;
}

img.image-embed-item {

	width: 100%;
    height: auto;
    display: block;
}

#header .nav ul,
#header .nav li,
#header .icons ul,
#header ul.level-0 li.level-0:before,
#header ul.level-0 li.level-0:hover:before,

#header ul.level-0 li.level-0 a,
#header ul.level-0 li.level-0 a:hover,
#header .container .wrapper,
#header .container.top .wrapper,
a,
a:hover,
#content input.powermail_submit,
#content input.powermail_submit:hover,
.powermail_submit,
.powermail_submit:hover,
#header div.button,
#header div.button.open{
    -webkit-transition: all 200ms linear; 
    -moz-transition: all 200ms linear;
    -o-transition: all 200ms linear;
    transition: all 200ms linear;
	}

#header .container,
#header .container.top,
#header .container div.logo,
#header.top .container div.logo,
#content [class*="frame-bg"] div header *,
#content [class*="frame-bg"] div:hover header *{
    -webkit-transition: all 400ms linear; 
    -moz-transition: all 400ms linear;
    -o-transition: all 400ms linear;
    transition: all 400ms linear;
	}

#header div.logo,
#content .container,
.start #content .col-4 > div,
.mobile #header ul.level-0.open,
#content .frame-bg-box-shadow [class*="col-"] > div{
	box-shadow: 0px 5px 15px -10px rgba(0,0,0,0.75);
	-webkit-box-shadow: 0px 5px 15px -10px rgba(0,0,0,0.75);
	-moz-box-shadow: 0px 5px 15px -10px rgba(0,0,0,0.75);
}

{
    box-shadow: -1px 7px 12px -7px rgb(0 0 0 / 33%);
    -webkit-box-shadow: -1px 7px 12px -7px rgb(0 0 0 / 33%);
    -moz-box-shadow: -1px 7px 12px -7px rgba(0,0,0,0.33);
    margin-bottom: 10px;
}


@supports ((-webkit-backdrop-filter: none) or (backdrop-filter: none)) {
#header .gradient{
    -webkit-backdrop-filter: blur(6px);
    backdrop-filter: blur(6px);
  }
}

.start #content .col-4 > div,
.mobile #header ul.level-0.open,
#content .frame-bg-box-shadow [class*="col-"] > div {
	height: 100%;
}

.start #content .col-4,
.frame-bg-box-shadow [class*="col-"],
[class*="frame-bg-"] [class*="col-"]{
    height: 100%;
    float: none;
    display: table-cell;
    vertical-align: top;
    position: relative;
    overflow: hidden;
}



#header .nav ul,
#header .nav li,
#header .icons ul,
#header .icons li,
#header .slider ul,
#header .slider li,
#footer .nav ul,
#footer .nav li,
#content .content-navi.level-1,
#content .content-navi.level-1 li{
	margin:0;
	padding:0;
	list-style:none;
	display: inline-block;	
}

#content ul li {
	list-style: none;
}

#footer li a:before,
#content ul li:before{
    display: block;
    position: absolute;
    margin-left: -10px;
}


::-webkit-scrollbar {
  width: 9px;
}

html, body {
    overflow-x: hidden;
}

html.open,
body.open{
    height: 100%;
	overflow: hidden
}


body {
/*    -webkit-hyphens: auto;
    -ms-hyphens: auto;
    hyphens: auto;
    overflow-wrap: break-word;*/
}

body,
html,
#header,
#header .banner,
#header .banner div,
#header .banner ul,
#header .banner li, 
#content,
#footer{
	margin:0;
	padding:0;
	width:100%;
}

#header .container,
/*#header div.button,*/
#content .container,
#footer .container{
	width:1200px;
	margin-left:auto;
	margin-right:auto;
	position:relative;
	z-index: 400
	}


#header .container {
	position:relative;
	z-index: 500
}

#header .banner,
#header .gradient{
	width: 100%;
	margin: auto

}

#header div.logo {
	width: 300px;
}

#header.top .container div.logo {
	opacity: 0;
}


#header img.logo {
	width: 100%;
}

#header .gradient {
	height: 100px;
	z-index: 500;
}

.start #header .banner,
.start #header .banner div,
.start #header .banner ul,
.start #header .banner li  {
	height:900px
	}

#header .banner,
#header .banner div,
#header .banner ul,
#header .banner li  {
	height:300px
	}

#header .banner {
	position: relative;
	z-index: 400;
/*	margin-top: 70px;*/
}

#header .banner .slide {
	position: relative;
	z-index: 400
}

#header .shadow {
    position: absolute;
    z-index: 650;
    width: 100vw;
    left: 50%;
    right: 50%;
    margin-left: -50vw;
    overflow: hidden;
    height: 15px;
    top: 70px;
}

#header .top .shadow {
    top: 0px;	
}

#header .shadow:before {
    content: "";
    position: absolute;
    z-index: 700;
    -webkit-box-shadow: 0 0 10px rgb(0 0 0);
    box-shadow: 0 0 10px rgb(0 0 0);
    opacity: 0.8;
    width: 1500px;
    left: 50%;
    right: 50%;
    margin-left: -750px;
    height: 20px;
    top: -20px;
    -moz-border-radius: 100%;
    border-radius: 100%;
}

#header .gradient{
	position: absolute;
	top: 0;
	left: 50%;
	right: 50%;
	margin-left: -600px;
    z-index: 450;
    width: 1200px;
	height: 70px;
}


#header .wrapper{
	z-index: 600;
	position: relative
}


#header .top nav {
	top: 0;
}

#header div.button {
	position: absolute;
	top: 0;
	right: 50%;
	margin-right: -600px;
	z-index: 800;
	width: 1200px
}

#header div.button.open {
	right: 30px;
	margin-right: 0;
	width: 100%
}

#header .toggle-first-nav{
	width: 80px;
	height: 50px;
	display: block;
	background: none;
	position: absolute;
	z-index:800;
	top:10px;
	right:0;
	padding:5px 0 10px 25px;
	transition: all 0.2s ease;
	border:none;
	cursor: pointer;
}

#header .container.head.top	 {
	position:fixed;
	} 

.toggle-first-nav span,
.toggle-first-nav span:before,
.toggle-first-nav span:after {
	  border-radius: 1px;
	  height: 3px;
	  width: 40px;
	  position: absolute;
	  display: block;
	  content: '';
}

.toggle-first-nav span:before {
	top: -10px;
	}

.toggle-first-nav span:after{
	  bottom: -8px;
	  top: 10px
}

.toggle-first-nav span,
.toggle-first-nav span:before,
.toggle-first-nav span:after {
	transition: all 500ms ease-in-out
	}

.toggle-first-nav.open span {
	background-color: transparent;
	}
	
.toggle-first-nav.open span:before,
.toggle-first-nav.open span:after {
	top: 0;
	}
	
.toggle-first-nav.open span:before {
  transform: rotate(45deg);
  -webkit-transform: rotate(45deg)
}

.toggle-first-nav.open span:after {
  transform: rotate(-45deg);
  -webkit-transform: rotate(-45deg)
}
	  

#header div.logo a {
	display: block
}

#header div.logo {
	padding: 25px 25px 15px 25px;
	margin: auto;
	position: absolute;
	left: 50%;
	right: 50%;
	margin-left: -150px;
	z-index: 700
}

.container.top div.logo {
	display: none
}


/*NAVI*/
#header .nav.main {
	position: absolute;
	overflow: hidden;
	right: 0;
	top: 0;
	z-index: 700;
}

#header .nav.main.open {
	position:fixed;
}

#header .wrapper.menue-2{
	background-image: url("../images/icon-kauwerk-massen-zahnmanufaktur-weiss.svg");
	background-position:  center 20px;
	background-size: 40px;
    right:-400px;
    top:0;

    height: 100vh;
    width: 400px;
    transition: right 0.5s ease-in-out;
}

#header .wrapper.menue-2--open{
    right: 0px;

}

#header ul.level-0,
#header ul.level-0 li,
#header ul.level-0 a {
	display: block
}

#header ul.level-0 {
	overflow-y:auto;
	margin: 50px 10px 0 10px;
}

#header ul.level-0 li.level-0{
	display: block;
	padding:10px 15px 10px 15px;
	line-height:40px;
	position:relative;
	z-index: 600
}

#header ul.level-0 li.level-0 a {
	position:relative;
	z-index: 600;
	display: block
}

#header ul.level-0 li.sub,
#header ul.level-0 li.sub:hover{
	border-bottom: none
}


#header .menue-2 ul.level-1,
#header .menue-2 ul.level-2 {
	width: 100%
}

#header .menue-2 li.level-1 a {
	line-height: 40px;
} 

#header .menue-2 ul.level-1,
#header .menue-2 ul.level-2{


	padding: 10px 0 10px 0;
} 


#header .menue-2 li.level-1 > a,
#header .menue-2 li.level-2 > a{
	margin: 0 12px 0 20px;
}

#header .menue-2 ul.level-2 {
	top:0;
	left: auto;
	right: -200px
}

#header ul.contact {
	margin: 30px 20px 0 20px
}


#header li.level-0.sub span {
	display: none;
}

/*NAVI-SUB*/

#header .mask {
	width: 100vw;
	height: 100vh;
	position: fixed;
	z-index: 800;
	left: 0;
	top: 0;
	
	
  visibility: hidden;
  opacity: 0;
  transition: all .5s linear;
}

#header .mask.open {
  visibility: visible;
  opacity: 1;
  transition: all .5s linear;
}



#header div.book {
	position: absolute
}

#header div.book {
    position: fixed;
    left: 5px;
    z-index: 800;
    bottom: 20px;
    -webkit-transform: rotate(-90deg);
    -webkit-transform-origin: left top;
    -moz-transform: rotate(-90deg);
    -moz-transform-origin: left top;
    -ms-transform: rotate(-90deg);
    -ms-transform-origin: left top;
    -o-transform: rotate(-90deg);
    -o-transform-origin: left top;
    transform: rotate(-90deg);
    transform-origin: left top;
}

#header div.book a {
	padding: 0 20px 0 20px;
	line-height: 40px;
	height: 40px;
	display: inline-block;
	text-align: center
}

#header div.book a span {
	font-size: 13px;
	display: block;
	position: absolute;

}


/*CONTENT*/

#content {
	padding-bottom: 40px;
}

#content .container {
	top: -50px;
	padding: 30px 40px 50px 40px
}

.sub #content .container {
	top: 20px;
}

.start #content .col-4 > div {
    border: #FFF 5px solid;
    padding: 10px;
}

body #content [class*="frame-full-width"] {
    width: 100vw;
    position: relative;
    left: 50%;
    right: 50%;
    margin: 80px -50vw 80px -50vw;
    padding: 30px 0 30px 0;
}

body #content .frame-full-width-bg15 {
	background-repeat:repeat;
	background-attachment:fixed;
    padding: 30px 0 80px 0;
	}

#content [class*="frame-bg"] {
	margin: 35px -40px 35px -40px;
    padding: 20px 40px 20px 40px;
/*	background-image: url("../images/background-01.png");*/
	background-repeat: repeat
}

#content .frame-bg-grey.before-frame-bg-grey{
	padding-bottom: 0;
	margin-bottom: 0
}

#content .frame-bg-grey + .frame-bg-grey {
    padding-top: 10px;
    margin-top: -30px;
}

#content [class*="frame-bg"] .frame {
	position: relative
}

#content [class*="frame-bg"] header {
	position: absolute;
	z-index: 500;
	width: 100%;
  padding-top: 66.66%
}

#content [class*="frame-bg"] header * {
	margin: auto;
	width: 100%;
	display: block;
	position: absolute;
	 position: absolute;
	bottom: 0;
	padding: 20px
}

#content [class*="frame-bg"] .ce-textpic  {
	position: relative;
	z-index: 400;
}

#c4 li a,
#c57 p a{
	border-radius: 3px;
	padding: 2px 5px 2px 5px
}

#c57 h2 {
    margin-top: 130px;
    margin-bottom: 20px;
}

#c57 p a{
	text-decoration: none;
	display: inline-block;
	padding: 7px 16px 7px 16px
}

#content .frame.frame-bg-box {
	padding: 30px 0 40px 0;
	background-image: url("../images/background-pattern.svg");
	background-size:auto 200% ;
	background-repeat: no-repeat;
	margin-top: 55px;
	margin-bottom: 0
}

#content #c57 {
	padding-top: 80px;
	height: 400px;
	background-image: url("../images/teaser.jpg");
	background-size: 100% auto
}

#content .content-navi.level-1 {
	width: 100%;
	text-align: center
}

#content .content-navi.level-1 li:before{
	display: none
}

#content .content-navi.level-1 li a {
	text-decoration: none;
	display: inline-block;
	border-radius: 3px;
	padding: 5px 10px 5px 10px

}

/*CONTENT*/

/*FOOTER START*/

#footer {
	padding-top: 40px;
	position: relative
}


#footer:before {
	content: "";
	width: 100%;
	height: 100%;
	display: block;
	position: absolute;
	z-index: 400;
	top: 0;
	opacity: 0.2;
	background-image: url("../images/background-pattern.svg");
	background-repeat: no-repeat;
	background-size: auto 100%
}

#footer a {
	text-decoration:none;
	}

#footer .row{
	padding-bottom:60px;
	opacity:0.9;
	}

#footer .logo {
	width:250px;
	margin-top:40px;
	filter: grayscale(100%);
	}
	
#footer .logo.instagram {
	width:150px;
	}

#footer .adresse {
	margin-top: 40px;
}
	
#footer .nav  ul {
	margin-left:0;
	padding-left:0;
	}
	
#footer .nav ul li{
	float:left;
	width:50%;	
	}
	
#footer .nav ul a {
    text-overflow: ellipsis;
    white-space: nowrap;
    overflow: hidden;
}
	
#footer .nav > ul ul a{
	margin-left:10px;
	padding-left:20px
	}
	
#footer .nav ul a {
	border-bottom:1px dotted #FFFFFF;
	padding:8px 15px 8px 8px;
	display:block
}

#footer .nav ul li.sub a {
	border:none;
	}


#footer .nav ul li.sub li:last-child a {
	border:none
	}

	
#footer .nav ul li.sub {
	border-bottom:1px dotted #FFFFFF;	
	}

#footer .content-last {
	position: absolute
}


.back-to-top.show {
    opacity: 1;
}
.back-to-top {
    position: fixed;
    bottom: 40px;
    right: 40px;
    z-index: 650;
    width: 32px;
    height: 32px;
    text-align: center;
    line-height: 30px;
    background: #f5f5f5;
    color: #444;
    cursor: pointer;
    border: 0;
    border-radius: 2px;
    text-decoration: none;
    transition: opacity 0.2s ease-out;
    opacity: 0;
}

div[id*="popup"]{
    padding:30px 30px 30px  30px;
    margin-bottom: 20px;
	max-width:600px
}

div[id*="popup"] p {
	margin:5px 0 5px 0;
	}
	
div[id*="popup"] p a{
	display:inline-block;
	text-decoration:none;
	padding:0 5px 0 5px;
	}

button[id*="btn-close-modal"]{
  width: 40px;
  height: 30px;
  background: none;
  position: absolute;
  z-index:500;
  top:10px;
  right:10px;
  transition: all 0.3s ease;
  border:none;
  cursor: pointer;
}

button[id*="btn-close-modal"]  span,
button[id*="btn-close-modal"]  span:before,
button[id*="btn-close-modal"]  span:after {
  border-radius: 2px;
  height: 3px;
  width: 40px;
  position: absolute;
  top:21px;
  right:0px;
  display: block;
  content: ''
}

button[id*="btn-close-modal"]  span,
button[id*="btn-close-modal"]  span:before,
button[id*="btn-close-modal"]  span:after {
  height: 1px;
  width: 30px;
	}

button[id*="btn-close-modal"]  span:before {
	top: -10px;
	}

button[id*="btn-close-modal"]  span:after {
  bottom: -8px;
  top: 10px
}

body button[id*="btn-close-modal"]  span {
	background-color: transparent;
	}
	
button[id*="btn-close-modal"]  span:before,
button[id*="btn-close-modal"]  span:after {
	top: 0;
	}
	
button[id*="btn-close-modal"]  span:before {
  transform: rotate(45deg);
  -webkit-transform: rotate(45deg)
}

button[id*="btn-close-modal"]  span:after{
  transform: rotate(-45deg);
  -webkit-transform: rotate(-45deg)
}

aside > [id*="popup"] {
	-webkit-box-shadow: 0 0 5px rgba(144,144,144,0.50);
	box-shadow: 0 0 5px rgba(144,144,144,0.50);
}

[id*="popup"] .form-group.powermail_fieldwrap_type_input,
[id*="popup"] .powermail_fieldwrap_type_select {
    width: 100%;
}

#popupform h3.header-h3 {
	display: none;
}


/*FOOTER END*/


/*FORM*/

#anfrage .custom-offer.hr .field input[type*="text"]{
	padding: 0;
	border: none;
	border-radius: 0;
	margin: 0;
	box-shadow: none;
	background-color: transparent
}

input[type*="text"],
input[type*="email"],
input[type*="number"],
input[type*="password"],
input.powermail_date,
textarea,
select{
    display: block;
    width: 100%;
    padding: 6px 6px 8px 10px;
    line-height: 1.5;
	border:none;
	border-radius: 2px;
	border: 1px solid  #CCC;
	position: relative;
	box-shadow: rgba(0, 0, 0, 0.3) 0px 1px 4px -1px; 
}

.powermail_message.powermail_message_error {
	display:none;
	}

.powermail_fieldwrap_type_input .powermail_field,
.powermail_fieldwrap_type_textarea  .powermail_field {
	margin:15px 0 0 0;
	}


.powermail_fieldwrap_type_input .powermail_field label {
  position: absolute;
  left:25px;
  top: 0;
  line-height:15px;
  transition: all 0.5s;
  overflow: hidden;
  white-space: nowrap;
  z-index: 1;
  opacity: 0;
}
.powermail_fieldwrap_type_input .powermail_field input:focus + label {
  opacity: 1;
  top: -25px;
  left:25px;
}

form input[type='checkbox'],
form input[type='radio'] {
  width:auto;
  float:left;
  margin-right: .75em;
  background:transparent;
  border:none;
}

form input[type='checkbox']:checked,
form input[type='checkbox']:not(:checked),
form input[type='radio']:checked,
form input[type='radio']:not(:checked) {
	position: absolute;
    clip: rect(0,0,0,0);
}

form input[type='checkbox'] + label,
form input[type='radio'] + label {
  cursor: pointer;
}
	
form input[type='checkbox']:checked + label::before,
form input[type='checkbox']:not(:checked) + label::before,
form input[type='radio']:checked + label::before,
form input[type='radio']:not(:checked) + label::before {
    content:' ';
    display:inline-block;
    width: 17px;
    height:17px;
    position: relative;
    top:4px;
    border: 1px solid #bbb;
    background: white;
    margin-right: 2px;
    box-shadow: inset 0 1px 1px 0 rgba(0,0,0,.1);
}

form input[type=radio]:checked + label::before,
form input[type=radio]:not(:checked) + label::before {
  border-radius: 30px;
}

form input[type='checkbox']:hover  + label::before,
form input[type='radio']:hover  + label::before {
  background:#ddd;
  box-shadow: inset 0 0 0 2px white;
}

form input[type='checkbox']:checked  + label::before,
form input[type='radio']:checked  + label::before {
  background:#178CCD;
  box-shadow: inset 0 0 0 2px white;
}
	
.powermail_fieldwrap_type_text,
.powermail_fieldwrap_type_typoscript,
.powermail_fieldwrap_type_file,
.custom-offer{
	width:100%;
	margin:5px 0 5px 0;
	clear:both;
	float:none
	}
	
.powermail_fieldwrap_type_select .powermail_label,
.powermail_fieldwrap_type_select .powermail_field{
	padding:20px 15px 0 15px;
	float:left;
	}

.powermail_fieldwrap_type_input,
.powermail_fieldwrap_type_select,
.powermail_fieldwrap_type_check,
.powermail_fieldwrap_type_radio{
	width: 50%;
	float: left
}

body #content [class*="datenschutz"],
.powermail_fieldwrap_datenschutz {
	width: 100%
}

.pid9 .powermail_fieldwrap_type_input,
.pid9 .powermail_fieldwrap_type_select,
.pid9 .powermail_fieldwrap_type_check,
.pid9 .powermail_fieldwrap_type_radio{
	width: 33.3333%;
}
	
.powermail_fieldwrap_type_textarea,
textarea,
.pid9 .powermail_fieldwrap_datenschutz{
	width:100%
	
}

.powermail_fieldwrap.powermail_fieldwrap_type_check [class*="col-"]{
	float:left;
	}


	
.form-group.powermail_fieldwrap_type_submit{
	margin-top:30px;
	}
	
.form-group.powermail_fieldwrap_type_submit > div:first-child {
	display:none;
	}

body #content [class*="datenschutz"]	,
.powermail_fieldwrap_ichhabediedatenschutzhinweisegelesenundstimmedernutzungmeinerdatenzudiesemzweckzu {
	margin-top:30px;
	clear:both;
	float:none
	}
	
input.btn,
button,
input[type*="submit"],
.powermail_submit{
	border:none;
	padding:5px 12px 5px 12px;
	margin-right: 2px
	}

#anfrage .checkbox > [type="checkbox"] + label ,
#anfrage .checkbox > [type="radio"] + label {
	padding-left: 2px;
}

	
.form-group {
	margin-bottom:20px;
	}

.custom-offer  {
	margin: 20px auto 20px;
}

.custom-offer .head {
	width: 200px;
	float: left
}

.custom-offer div[class*="field"]{
	float: left;
	width: 40px
}

.custom-offer.hr .field {
    display: block;
    width: 40px;
	float: left;
    padding: 6px 6px 8px 10px;
    line-height: 1.5;
	border:none;
	border: 1px solid  #CCC;
	position: relative;
}

.custom-offer .field:nth-child(9),
.custom-offer div[class*="field"]:nth-child(9) input{
	border-right:  1px solid  #000000;
}

.custom-offer.hr.first .field{
	border-bottom:  1px solid  #000000;
}



/*FORM*/

.cc-revoke.dp--revoke {
    bottom: 5px;
}

input[type=number]::-webkit-inner-spin-button {
  -webkit-appearance: none;
}

/*  */

a[href*=".pdf"]:before,
a[href*=".doc"]:before,
a[href*=".docx"]:before,
a[href*=".xls"]:before,
a[href*=".xlsx"]:before,
a[href*=".ppt"]:before,
a[href*=".pptx"]:before,
a[href*=".txt"]:before {
	display: inline-block;
	content:"";
	width:20px;
	height:20px;
	margin-right:5px;
	top:3px;
	position:relative;
	background-repeat:no-repeat;
	background-size:100%;	
	background-image:url(../images/icon-txt-01.svg);
	}

a[href*=".pdf"]:before{
	background-image:url(../images/icon-pdf-01.svg);
}


a[href*=".doc"]:before,
a[href*=".docx"]:before {
	background-image:url(../images/icon-doc-01.svg);
	}
	
a[href*=".xls"]:before,
a[href*=".xlsx"]:before {
	background-image:url(../images/icon-xls-01.svg);
	}
	
a[href*=".ppt"]:before,
a[href*=".pptx"]:before {
	background-image:url(../images/icon-ppt-01.svg);
	}
	
a[href*=".txt"]:before {
	background-image:url(../images/icon-txt-01.svg);
	}