@charset "utf-8";

/* Allgemeine Definitionen
----------------------------------------------- */

* {
	-webkit-text-size-adjust: none;
}

html {
	overflow-y: scroll;
}

body {
	background: #fff url(../gfx/bg.png) repeat-y center top;
	color: #000;
	font-size: 14px;
	font-family: Arial, Helvetica, sans-serif;
	margin: 0;
	padding: 0;
	text-align: center;
}
img,
a img {
	border: 0;
}
hr {
	display: none;
}	
.floatleft {
	float: left;
	margin: 0 25px 10px 0;
}
.floatright {
	float: right;
	margin: 0 0 10px 10px;
}
.clear {
	clear: both;
	font-size: 1%;
	height: 1px;
	line-height: 1px;
}
.xs {
	font-size: .9em;
}
.tab {
	float: left;
	width: 14em;
}
p.hinweis {
	border: 3px solid #f39c2b;
	color: #f39c2b;
	font-weight: bold;
	margin: 0;
	padding: 32px 8px;
	text-align: center;
}

/* Links
----------------------------------------------- */
a,
a:visited {
	color: #f39c2b;
	outline: none;
	text-decoration: none;
}
a:hover {
	color: #f39c2b;
	text-decoration: underline;
}
.pdf {
	background: url(../gfx/pdf.gif) no-repeat;
	padding: 2px 0 2px 22px;
}

a.obtn {
	background: #f39c2b;
	border-radius: 4px;
	color: #fff;
	display: inline-block;
	padding: 5px 10px;
	letter-spacing: 1px;
	text-decoration: none;
}
a:hover.obtn {
	background: #999;
	color: #fff;
        text-decoration: none;
}


/* Typo
----------------------------------------------- */
h1 {
	font-size: 18px;
	font-weight: bold;
	margin: 0 0 1em 0;
	line-height: normal !important;
	padding: 0;
}
h2, h3, h4 {
	font-size: 15px;
	font-weight: bold;
	margin: 0 0 1em 0;
	line-height: normal !important;
	padding: 0;
}
p, address, blockquote {
	margin: 0 0 1em 0;
	padding: 0;
}
ul.standard {
	margin: 0 0 1em 0;
	padding: 0;
}
ul.standard  li {
	background: url(../gfx/dot.png) no-repeat 0 7px;
	margin: 0;
	list-style: none;
	padding: 0 0 2px 12px;
}

/* Layout
-----------------------------------------------*/ 

#footer {
	display: none;
}

#wrapper {
	margin: 0 auto;
	padding: 0;
	width: 885px;

	position: relative;
}

.doctolib-button {
	position: absolute;
	top: 80px;
	right: 0;
}

#wrapper:after {
	clear: both; 
	content: "."; 
	display: block; 
	height: 0; 
	visibility: hidden;
}
#wrapper {display: inline-block;}
/* Hides from IE-mac \*/
* html #wrapper {height: 1%;}
#wrapper {display: block;}
/* End hide from IE-mac */
#header {
	background: url(../gfx/bg_header.png) repeat-x 0 0;
	float: left;
	height: 170px;
	margin: 0;
	padding: 0;
	text-align: left;
	width: 100%;
}
.logo {
	margin: 50px 0 0 44px;
}
#container {
	float: left;
	margin: 0;
	padding: 0;
	text-align: left;
	width: 100%;
}
#sidebar {
	float: left;
	margin: 0;
	padding: 0 13px 0 0;
	text-align: right;
	width: 137px;
}
#sidebar address {
	color: #999;
	font-size: 12px;
	font-style: normal;
	font-weight: bold;
}
#navigation {
	float: left;
	margin: 0;
	padding: 0;
	width: 100%;
	min-height: 380px;
	height: auto !important;  /*moderne Browser*/
	height: 380px;  /*IE*/
}
#content {
	float: left;
	margin: 0 0 0 130px;
	line-height: 1.5em;
	padding: 0;
	width: 605px;
}
.gallery {
	float: left;
	margin: 0 0 1em 0;
	line-height: normal !important;
	padding: 0;
	width: 100%;
}
.gallery ul {
	margin: 0;
	padding: 0;
}
.gallery ul li {
	float: left;
	margin: 0 10px 10px 0;
	list-style: none;
	padding: 0;
}
.gallery ul li a img,
.gallery ul li a:visited img {
	border: 3px solid #f39c2b;
	float: left;
}
.gallery ul li a:hover img {
	border: 3px solid #999;
}
p.teaser {
	margin: 0 0 57px 0;
	padding: 0;
}

/* Navigationen
-----------------------------------------------*/
ul#menu {
	float: right;
	font-size: 18px;
	font-weight: bold;
	margin: 0;
	padding: 0;
}
ul#menu li {
	margin: 0;
	list-style: none;
	padding: 0;
}
ul#menu li a,
ul#menu li a:visited {
	color: #f39c2b;
	display: block;
	padding: 3px 0;
	text-decoration: none;
	width: 100%;
}
ul#menu li a:hover {
	color: #999;
	text-decoration: none;
}
ul#menu li a.current {
	color: #999;
}
/*2nd level*/
ul#menu ul {
	font-size: 12px;
	font-weight: normal;
	margin: 0;
	padding: 0 0 8px 0;
}
/*upgrade*/
ul#menu ul {
	padding: 0;
}

ul#menu ul li {
	margin: 0;
	list-style: none;
	padding: 0;
}
ul#menu ul li a,
ul#menu ul li a:visited {
	color: #c0c0c0;
	display: block;
	padding: 6px 0;
	text-decoration: none;
	width: 100%;
}
ul#menu ul li a:hover {
	color: #999;
	text-decoration: none;
}
ul#menu ul li a.current {
	color: #999;
	font-weight: bold;
}
/*servicenmenu*/
ul#servicenmenu {
	border: solid #f39c2b;
	border-width: 1px 0;
	float: right;
	/* font-size: 12px; */
	font-size: 18px;
	font-weight: bold;
	margin: 20px 0;
	padding: 4px 0;
	/* width: 105px; */
}
ul#servicenmenu li {
	margin: 0;
	list-style: none;
	padding: 0;
}
ul#servicenmenu li a,
ul#servicenmenu li a:visited {
	color: #f39c2b;
	display: block;
	padding: 4px 0;
	text-decoration: none;
	width: 100%;
}
ul#servicenmenu li a:hover {
	color: #999;
	text-decoration: none;
}
ul#servicenmenu li a.current {
	color: #999;
}

/* Formulare
----------------------------------------------- */

a.submitform {
	color: #000 !important;
	display: block;
}

a.submitform:hover {
	text-decoration: none !important;
}

.successmessage {
	display: none;
	color: #fff;
    background: #31cd00;
    padding: 16px 14px 4px;
}
.errormessage {
	display: none;
	background: #ffdddd;
    padding: 16px 14px 4px;
	margin: 24px auto;
}

form p {
	clear: both;
	display: block;
	width: 100%;
}
p.por {
	padding-top: 12px;
}
fieldset {
	border: none;
	margin: 0 0 1em 0;
	padding: 0;
}	
legend {
	border: none;
	color: #000;
	font-weight: bold;
	margin: 0;
	padding: 10px 0;
}
legend strong {
	color: #333;
}
label.stdlb,
label.smalllb {
	cursor: pointer;
	float: left;
	width: 115px;
}
label.nxtlbl {
	cursor: pointer;
	padding-left: 25px;
	float: left;
	width: 97px;
}
label.smalllb {
	padding-left: 12px;
	width: 46px;
}
input.standard,
input.medium,
input.small,
select.small {
	background: #f7c17a;
	border: 1px solid #f7c17a;
	font-family: inherit;
	font-size: 1em;
	width: 380px;
}
input.medium {
	width: 220px;
}
input.small {
	float: left;
	width: 160px;
}
select.small {
	float: left;
	width: 130px;
}
textarea {
	background: #f7c17a;
	border: 1px solid #f7c17a;
	font-family: inherit;
	font-size: 1em;
	width: 380px;
}
.ckbl {
	float: left;
	width: 260px;
	padding-bottom: 12px;
}
.ckbl label {
    display: block;
    float: right;
    width: 235px;
}
.ckbm {
	float: left;
	width: 130px;
}
.ckbs {
	float: left;
	width: 80px;
}
.button {
	background: #f5ac4d;
	border: none;
	color: #000;
	font-weight: bold;
	margin: 0 0 0 115px;
	padding: 2px 0;
	text-align: center;
	text-transform: uppercase;
	width: 380px;
	font-family: Arial, Helvetica, sans-serif;
}
.button:hover {
	background: #f7c17a;
	font-family: Arial, Helvetica, sans-serif;
	font-weight: bold;
	text-transform: uppercase;
}
#wrapper #container #content .errormessage {
	color: #C60000;
	font-size: 16px;
}

/* custom table styling */

table.doctable {
    width: 330px !important;
}

table.doctable > tbody > tr {
    display: table !important;
    margin: 12px 0 !important;
}

table.doctable tr > td:first-of-type {
    width: 110px !important;
}


table.doctable tr > td:last-of-type {
    width: 220px !important;
}

table.doctable td {
	vertical-align:top !important;
}

/* flexmitarbeiter tmpl */

.flexmitarbeiter {
	display: flex;
	flex-wrap:wrap;
	row-gap:16px;
	column-gap:16px;
	justify-content: space-between;
	}

.flexmitarbeiter .mitarbeiter {
	display: flex;
	flex-direction: column;
    width:calc(50% - 16px);
}

.flexmitarbeiter .mitarbeiter > p {
    margin-top:16px;
}

/* smart pseudo element for last mitarbeiter flex */

.flexmitarbeiter::after {
	content: '';
	flex-grow: 1;
	  width:250px;
  }

/* ----------------------------------------------- */
/* ------------ R E S P O N S I V E -------------- */
/* ----------------------------------------------- */

@media (min-width:911px) {
    div#mobileheader {
        display: none;
    }
	#mobile-menu {
		display: none;
	}
}

@media (max-width:910px) {

	body {
		background: #fff; /* removing orange background line */
	}

    #wrapper {
        width: 100%;
    }

	#wrapper .doctolib-button {
		display: none;
	}
    
    #container {
        float: none;
		margin-top:calc(90px + 24px); /* header height + margin */
    }

    #sidebar {
      display: none;  
    }

    #content {
        margin: 0 auto;
        width:calc(100% - 32px);
        padding: 0 16px;
    }

    #header {
        display: none;
    }

    #mobileheader {
        min-height:56px;
        display: flex;
        justify-content:space-between;
        align-items:center;
        border-bottom:2px solid #f29721;
        padding:16px 0;
		position: fixed;
		background: #fff;
		top:0;
		width: 100%;
		z-index: 1000;
    }

	#mobilelogo {
		padding-left:16px;
	}

    #mobileheader #mobilelogo img {
        width:calc(100% - 24px);
        display:flex;
        max-width: 400px;
    }

    #mobileheader #mobilenavtoggler {
        padding-right: 16px;
		background: none;
		color: inherit;
		border: none;
		font: inherit;
		cursor: pointer;
		outline: inherit;
    }

	p.teaser img {
        width: 100% !important;
        height: auto !important;
    }

	/* responsive table hack */

	[role="region"][aria-labelledby][tabindex] {
		overflow: auto;
	  }
	  
	  [role="region"][aria-labelledby][tabindex]:focus {
		outline: .1em solid rgba(0,0,0,.1);
	  }

	/* remove floating in content */

	#content * {
        float: none !important;
    }


	/* responsive forms */

	form input:not(input[type="radio"], input[type="checkbox"]),
	form textarea{
		width:100%;
		min-height:40px;
	}

	form .submitform {
		width:100% !important;
		margin:0 !important;
	}

	form label[for="privacyCheck"] {
		margin:0 !important;
	}

	form .stdlb {
		display: block;
		width:100%;
	}

	form {
		margin-bottom: 86px; /* due to floating 321med btn */
	}

	/* mobilemenu */

	.mm-ocd {
		z-index: 9999999999;
	}

	#mobile-menu {
		background: white;
		color: orange;
   }
	#mobile-menu #menu-close-x {
		width: 70px !important;
		height: 70px !important;
   }
	#mobile-menu #menu-close-x svg {
		height: 100%;
   }
	#mobile-menu ul::before {
		border: none !important;
   }
	#mobile-menu.mm-spn--navbar:after {
		display: none;
   }
	#mobile-menu.mm-spn--navbar:before {
		opacity: 1 !important;
   }
	#mobile-menu li:before {
		opacity: 1 !important;
		border-width: 2px !important;
   }
	#mobile-menu li::after {
		opacity: 1;
   }
	#mobile-menu #mobile-menu-buttonwrapper {
		padding-top: 24px;
   }

   .main-mobilemenu {
    display:flex !important;
    flex-direction: column;    
}

#mobile-nav-logo {
    margin: 0 auto;
    margin-bottom: 24px;
	width: 90%;
}

#mobile-menu .doctolib-mobile {
	margin: 12px auto 24px;
}

.main-mobilemenu li a {
    text-align: left !important;
    font-weight:bolder;
	color: #555 !important;
}

.main-mobilemenu li a:hover {
    text-decoration: none;
}

.main-mobilemenu li a.active {
	color: #f39c2b !important;
}

#footer {
	display: flex;
	flex-direction: row;
	margin-bottom: 110px;
	justify-content: center;
	margin-top: 24px;
	border-top: 1px solid orange;
	padding-top: 16px;
}

#footer a {
	margin: 0 12px;
}