@font-face {
  font-family: 'kefa';
  font-display: auto;
  src: url('../fonts/kefa-webfont.eot'); /* IE9 Compat Modes */
  src: url('../fonts/kefa-webfont.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('../fonts/kefa-webfont.woff2') format('woff2'), /* Super Modern Browsers */
       url('../fonts/kefa-webfont.woff') format('woff'), /* Pretty Modern Browsers */
       url('../fonts/kefa-webfont.ttf')  format('truetype'), /* Safari, Android, iOS */
       url('../fonts/kefa-webfont.svg#svgFontName') format('svg'); /* Legacy iOS */
}

body, html {
	margin:0;
	padding:0;
	height:100%;
}


/* fonts */
body {
	font-family: 'kefa', sans-serif;
	font-weight: normal;
	line-height: 1.3125rem;
	font-size: 16px;
	color: #5B5C5A;
}
a {
	color: #5B5C5A;
	text-decoration: none;
}
a:hover {
	color: #1D1D1B;
}

h1, h2, h3, h4, h5, h6 {
	font-weight: normal;
}
h1, h2 {
  	/*font-family: 'Roboto Slab', serif;*/
	font-size: 2.125rem;
	line-height: 2.375rem;	
}
h3 {
  	/*font-family: 'Roboto Slab', serif;*/
	font-size: 1.3125rem;
	line-height: 1.625rem;
}
h4, h5, h6 {
  	/*font-family: 'Roboto Slab', serif;*/
	font-size: 1rem;
	line-height: 1.3125rem;
	color:#1D1D1B;
}

.red {
	color:#bf7776;
}
.blau {
	color:#375F87;
}
.black {
	color:#1D1D1B;
}

.form {
	color: #1D1D1B;
}

.infosmall {
font-weight: 300;
line-height: 1rem;
font-size: 0.75rem;
}


/* acordeons */
#standort h4 {
	color:#1D1D1B;
	margin-bottom: 0;
}
.praxis {
  display: block;
}
.praxis:hover {
  opacity: 0.3;
}
.acordeonteam, .acordeon {
  display: none;
}



/* header */
.header {
	position: fixed;
	height: 230px;
	background: #FFFFFF;
	z-index: 99;
	width: 100%;
}
.logo {
	width: 250px;
	position: absolute;
	left: 58%;
	transform: translateX(-50%);
	margin: 0;
}
.logo img {
	width: 100%;	
}


/* navi */
#navi {
	top: 240px;
	position: absolute;
	display: block;
	width: 170px;
}
.adressen p {
	width: 100%;
}

.buttons {
	float: left;
	color: #464B46;
	font-size: 0.75rem;
	line-height: 1rem;
}

ul {
	padding: 0;
	margin: 18px;
	list-style-type: disc;
}
.buttons ul {
	margin: 0;
}
.buttons li {
	background-color: transparent;
	/*-moz-border-top-left-radius: 5px;
	-webkit-border-top-left-radius: 5px;
	-moz-border-top-right-radius: 5px;
	-webkit-border-top-right-radius: 5px;
	border-top-left-radius: 5px;
	border-top-right-radius: 5px;*/
	border-radius: 5px;
	border: 2px solid #CECECE;
	/*border-bottom: none;*/
	display: inline-block;
	width: 93px;
	height: 65px;
	float: left;
	margin-right: 6px;
	cursor: pointer;
	color: #464B46;
	padding: 3px 3px;
	text-decoration: none;
}
.buttons li:hover {
	background-color:transparent;
}
.buttons li:active {
	position:relative;
	top:1px;
}
.buttons li a {
	display: block;
    height: 100%;
}
.fa-bars {
	font-size: 1.875rem;
	margin-top: 6px 0;
	color: #bf7776;
}

/* navi overlay */
.overlay {
    height: 0;
    width: 100%;
    position: fixed;
    z-index: 999;
    left: 0;
    top: 0;
    background-color: rgba(255, 255, 255, 1);
    overflow-x: hidden;
    transition: 0.5s;
}
.overlay-content {
    width: 50%;
	max-width: 374px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
	text-align: center;
}
.overlay-content-full {
    width: 96%;
    max-width: 1014px;
    position: absolute;
    top: 50px;
    left: 50%;
    transform: translate(-50%);
}
.overlay-content-halffull {
    width: 50%;
	max-width: 374px;
    position: absolute;
    top: 50px;
    left: 50%;
    transform: translate(-50%);
}
.overlay a {
    padding: 4px 0 0;
    text-decoration: none;
    color: #1D1D1B;
    display: block; 
    transition: 0.3s;
}
.overlay a:hover, .overlay a:focus {
    color: #f1f1f1;
}

#aerzte a.blackinline,
#aerzte a.black.details {
	color: #bf7776;
}
#aerzte.overlay a:hover, #aerzte.overlay a:focus {
    color: #1D1D1B;
	text-decoration: underline;
}
#aerzte h4::before {
	content: '• ';
	display: block;
	float: left;
	font-size: 1.3rem;
	/*line-height: 1.75rem;*/
	color: #bf7776;
}
#aerzte .h5margin::before {
	line-height: 1.75rem;
}

.overlay .closebtn, .overlay .closebtnchat, .overlay .closebtnoff, .overlay .closebtnaerzte, .overlay .closebtntermine {
    position: absolute;
    top: 10px;
    right: 30px;
    font-size: 1.875rem;
	z-index: 99;
}
.overlay a.linkToMainSite {
    position: absolute;
    top: 10px;
    right: 30px;
	z-index: 99;
	border: 2px solid #000;
    padding: 0.6em 1em;
}
.overlay a.linkToMainSite:hover, .overlay a.linkToMainSite:focus {
    color: #000;
	background-color: #ededed;
}

.opennav {
	display: none;
}

a.blackinline {
	color:#1D1D1B;
	padding: 0;
	display: inline;
}

#terminonline {
	width: 50%;
	margin: auto;
}

/* off sprechtunden */
a.offen {
	color:#70bf7f;
	display: inline;
	font-weight: bold;
}
a.gescholssen {
	color:#bf7776;
	display: inline;
	font-weight: bold;
	
}
#offanfragen {
   font-family: 'Roboto', sans-serif;
	line-height: 1rem;
	font-size: 0.875rem;
}


/* content */
.right {
	float: right !important;
	width: auto;
	display: block;
}
.buttonright {
	display: block;
}
.rightinfo {
	width: 200px;
	float: right;
	font-family: 'Roboto', sans-serif;
	font-weight: 300;
	line-height: 1rem;
	font-size: 0.75rem;
}
.rightcontainer {
	right:110px;
	width: 200px;
	position: absolute;
	top:600px;
}
.container {
	max-width: 1024px;
	width: 98%;
	margin: 30px auto 0;
}
.container-left-alignment {
	max-width: 768px;
	width: 90%;
	margin: 30px auto 0;
	padding-left: 170px;
}
.containersmall {
	max-width: 768px;
	width: 90%;
	margin: 0 auto;
	padding-left: 170px;
}
.containerleft {
	width: 650px;
}
.baseline {
	max-width: 1024px;
    width: 98%;
    margin: 0 auto;
}


/* praxis */
.final-tiles-gallery {
	margin-bottom: 40px;
}



/* text margins */
.info {
	float: left;
}
.info p:first-of-type, .info h4:first-child {
	margin-top: 0;
}


.top {
	margin-top: 15px;
}
.basetop {
	margin-top: 0px;
}

.hnomargin {
  margin: 0;
}
.h5margin {
  margin: 0 0 5px;	
}
.h40margin {
  margin: 20px 0 40px 0;	
}
.bottom40 {
	margin-bottom: 40px;
}
.spacer20 {
	clear: both;
	height: 20px;
}

.adressen p:first-child, .acordeon p, #standort p, #links p, #aktuell p {
	margin-top: 0;
}


.acordeon h5, .acordeon h6, #links h4 {
	color:#1D1D1B;
	margin: 0;
}

.teamcontainer {
	margin-top: 20px;
	display:flex;
  flex-flow: row wrap;
  justify-content:space-between;
}
.first {
	float: left;
    width: 25%;
}
.second {
	float: right;
    width: 73%;
}

/* forms */
.formleft {
    width: 48%;
    float: left;
}
.formright {
    width: 48%;
    float: right;
}

input, select, textarea {
	font-family: 'Roboto', sans-serif;
	width: 97%;
	font-size: 0.875rem;
	padding: 1.2%;
	border: 1px solid #CECECE;
	background: #ffffff;
}
input[type=submit] {
	width: 100%;
	background-color: #CECECE;
}
input[type=radio], input[type=checkbox] {
	width: auto;
}
.arztform {
	margin-left: 20px;
}
select {
	width: 100%;
	font-size: 0.875rem;
	padding: 1.2%;
	border: 1px solid #CECECE;
	background: #ffffff;
	-webkit-appearance: none;
}
textarea {
	height: 60px;
}
form p {
	margin: 5px 0;
}
form label {
	font-size: 0.875rem;
	color: #1D1D1B;
	font-family: 'Roboto', sans-serif;
}
.pdfsmall {
	font-size: 0.875rem;
	color: #1D1D1B;
}

.captcha-holder {
	max-width: 313px;
}
.captcha-holder .captcha-modal__icons .captcha-image {
	height: 40px;
}
.captcha-holder .captcha-modal__icons {
	height: 100%;
    min-height: 40px;
    padding: 0px;
}
.captcha-holder .captcha-modal__credits {
    display: none !important;
}

/* backgrounds */
.parallax {
  perspective: 1px;
  height: 100vh;
  overflow-x: hidden;
  overflow-y: auto;
}
section {
  position: relative;
  height: 100vh;
}
	
.bghome {
	/*background-image: url(../images/bghome.jpg);
	background-attachment: fixed;
	background-repeat:  no-repeat;
	background-position: center top;
	background-size: cover;	*/	
}
.bgangebot {
	background-image: url(../../images/bgangebot.jpg);
	background-attachment: fixed;
	background-repeat:  no-repeat;
	background-position: center top;
	background-size: cover;		
}
/*.bgaerzte {
	background-image: url(../images/bgaerzte3.jpg);
	background-attachment: fixed;
	background-repeat:  no-repeat;
	background-position: center top;
	background-size: cover;	
}*/
.bgteam {
   /*background-image: url(../images/bgpraxis.jpg);
	background-attachment: fixed;
	background-repeat:  no-repeat;
	background-position: center top;
	background-size: cover;*/
}
.bgpraxis {
	/*background-image: url(../images/bglinks2.jpg);
	background-attachment: fixed;
	background-repeat:  no-repeat;
	background-position: center top;
	background-size: cover;*/
}
.bgstandorte {
	/*background-image: url(../images/bgstandorte.jpg);
	background-attachment: fixed;
	background-repeat:  no-repeat;
	background-position: center top;
	background-size: cover;*/		
}
.bgaktuell {
	background-image: url(../../images/bgaktuell.jpg);
	background-attachment: fixed;
	background-repeat:  no-repeat;
	background-position: center top;
	background-size: cover;		
}
.bglinks {
	background-image: url(../../images/bglinks.jpg);
	background-attachment: fixed;
	background-repeat:  no-repeat;
	background-position: center top;
	background-size: cover;		
}
.bgonlinepraxis {
	background-image: url(../../images/bgonlinepraxis.jpg);
	background-attachment: fixed;
	background-repeat:  no-repeat;
	background-position: center top;
	background-size: cover;
	overflow: hidden;
}
@supports (-webkit-overflow-scrolling: touch) {
  /* CSS specific to iOS devices */
	.bgangebot, .bgaktuell, .bglinks, .bgonlinepraxis {
    background-attachment: scroll;
	}
}


/* animationen */
#seite_home_top {
	/*position: absolute;*/
	max-width: 748px;
	width: 100%;
	margin-top: 245px;
}

.marquee {
	height: 25px;
    width: 100%;
    overflow: hidden;
    position: relative;
    top: 55px;
    background: #FAF3E5;
}

.marquee .marqueecontainer {
  display: block;
  width: 200%;
  height: 30px;
  position: absolute;
  overflow: hidden;

  animation: marquee 20s linear infinite;
}

.marqueecontent span, .marqueecontent {
  float: left;
}

@keyframes marquee {
  0% { left: 0; }
  100% { left: -100%; }
}


/* termine */
/* neu */
.xdsoft_datetimepicker.xdsoft_inline {
    width: 100%;
}
.xdsoft_datetimepicker .xdsoft_datepicker.active {
    width: 99%;
}
button.zeiten {
	cursor: pointer;
	font-weight: 700;
	background: transparent;
	height: 30px;
	border: 1px solid #cecece;
	border-radius: 5px;
    width: 100px;
    margin: 10px 10px 0 0;
}
.xdsoft_datetimepicker .xdsoft_calendar td.xdsoft_current {
	background: #bf7776;
	box-shadow: none;
}
.xdsoft_datetimepicker .xdsoft_calendar td.xdsoft_today {
    color: #bf7776;
}

/* alt */
/* enabling marked timespans for month view */
.dhx_scheduler_month .dhx_marked_timespan {
	display: block;
}
	.dhx_cal_light {
		z-index: 1000 !important;
	}
.dhx_cal_navline .dhx_cal_date {
	width: auto;
}
.dhx_cal_today_button {
	right: 103px;
}
.dhx_cal_next_button {
	right: 4px;
}
.dhx_cal_prev_button {
	right: 51px;
}
.dhx_cal_cover {
	opacity: 0;
}
	
/* style to display special dates, e.g. full */
.full {
    background-color: #efefef;
	text-align: center;
	font-size: 24px;
	opacity: 0.8;
	color: #000000;
	margin-top: -20px;
	padding-bottom: 20px;
}
		
/* we don't want to show that marked timespans on day and week views */
.dhx_scheduler_day .pending, .dhx_scheduler_week .pending, .dhx_scheduler_day .completed, .dhx_scheduler_week .completed {
	display: none;
}
			
.dhx_month_body, .dhx_month_head {
	background-color: transparent;
}
.dhx_now .dhx_month_body, .dhx_now .dhx_month_head {
    background-color: #fdeef6;
}
.dhx_cal_header {
	border: 1px solid #cecece;
	width: 99.8% !important;
}
.dhx_cal_data {
	border: 1px solid #cecece;
	border-top: none;
	width: 99.6% !important;
}
.dhx_cal_ltitle, .dhx_btn_set {
	display: none;
}
.dhx_cal_larea {
	margin-top: 20px;
}
.dhx_cal_light.dhx_cal_light_wide {
	max-width: 738px;
    width: 100%;
	height: 140px !important;
	
}
.dhx_cal_light_wide .dhx_cal_larea {
	max-width: 738px;
    width: 99%;
}
.dhx_cal_larea {
	height: 135px !important;
}
.dhx_cal_ltext {
	height: 130px !important;
}

@media only screen and (max-width: 738px) {
	.dhx_cal_light.dhx_cal_light_wide {
	left: 0px;
	}
}


/* responsive */
@media only screen and (max-width: 980px) {
	.opennav {
		display: block;
	}
	#navi/*, .adressen*/ {
		display: none;
	}
	
	.adressen {
	    display: block;
    float: left;
    width: 50%;
    font-size: 0.70rem;
    margin: 0px;
    line-height: 0.9rem;
		margin-top: -70px;
	}
	.adressen p {
		margin: 4px 20px 0 0;
		float: left;
		width: 160px;
	}
	
	.container {
		margin: 10px auto 0;
	}
}
@media only screen and (max-width: 910px) {	
/*}

@media only screen and (max-width: 768px) {*/
	.logo {
		width: 250px;
		position: relative;
    	float: left;
		margin: 0 0 0 20px;
    	left: 0;
    	transform: none;
	}
	
}
@media only screen and (max-width: 810px) {
.overlay-content-halffull {
    width: 96%;
}
#terminonline {
	width: 100%;
}
}
@media only screen and (max-width: 768px) {
	.containersmall {
		padding-left: 0px;
	}
	

}
@media only screen and (max-width: 720px) {
	.header {
		position: relative;
		height: 280px;
	}
	.buttons li {
		margin-right: 2px;
	}
	.buttons li:last-child {
		margin-right: 0;
	}
	
	.buttonright {
		display: none;
	}
	
	.right {
		display: none;
	}
	
	
	#seite_home_top {
		margin-top: -20px;
	}
	
	.adressen {
	    width: 160px;
	}
	.adressen p {
		margin: 4px 0;
		float: none;
	}
	
	.first {
    width: 33%;
}
.second {
    width: 60%;
}
	
	.overlay-content {
		width: 100%;
	}
	
}

	
@media only screen and (max-width: 675px) {
	.first {
	width: 100%;
    margin-bottom: 10px;
}
.second {
	width: 100%;
}
		.logo {
    	width: 150px;
    	float: right;
    	
}

.teamcontainer {
    flex-direction:column
  }
  .first {
    order: 2;
  }
  .second{
    order: 1;
  }

}

@media screen and (max-height: 450px) {
    /*.overlay a {font-size: 20px}
    .overlay .closebtn {
        font-size: 40px;
        top: 15px;
        right: 35px;
    }*/
}

@media only screen and (max-width: 480px) {
	.logo {
    	margin: -30px 0 0 0;
}
	.adressen {
		margin-top: 0px;
	}
}

@media only screen and (max-width: 425px) {
	.formleft {
    width: 98%;
    float: none;
}
.formright {
    width: 98%;
    float: none;
}
	.basetop {
		margin-top: 20px;
	}
}

/* New from Momentum */
#loginform {
	height: 100%;
}
.buttons.buttonright,
.rightinfo.adressen,
#navi {
	display: none;
}