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

/* ----------------------------------------------------------------------------- *
 *                                                                               *
 * Programming // Der Hersteller // der-hersteller.de                            *
 * Layout // siegel | konzention und gestaltung // jochen-siegel.de              *
 *                                                                               *
 * ----------------------------------------------------------------------------- */

/* ----------------------------------------------------------------------------- *
 *                                                                               *
 * GLOBALS                                                                       *
 *                                                                               *
 * ----------------------------------------------------------------------------- */
html {
	height: 101%;
}
body {
	font: 62.5%/1.5em 'open_sansregular', Helvetica, Arial, sans-serif;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}
.imprint {
    background: rgba(72,126,143,0.1);
}

a {
	transition: 0.5s ease-in-out;
}
a, a:active, a:link, a:visited {
    color: inherit;
    text-decoration: none;
}

ul {
	list-style: none;
	margin: 0;
	padding: 0;
}
img {
    display: block;
    max-width: 100%;
    height: auto;
    margin: 0;
}

.mobile-only {display: none !important}
.nowrap {white-space: nowrap;}
.uppercase {text-transform: uppercase;}

.background-cover {
	background-position: center center;
  	background-repeat: no-repeat;
  	-webkit-background-size: cover;
  	-moz-background-size: cover;
  	-o-background-size: cover;
  	background-size: cover;
}
.multiply {
	mix-blend-mode: multiply;
}
.shadow {
	-moz-box-shadow: 3px 3px 2px rgba(0,0,0,0.5);
	-webkit-box-shadow: 3px 3px 2px rgba(0,0,0,0.5);
	box-shadow: 3px 3px 2px rgba(0,0,0,0.5);
}

.scale:hover,
.scale:focus {
    transform: scale(.95);
}

.box-sizing {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}
.hyphens {
	-webkit-hyphens: auto;
	-moz-hyphens: auto;
	-ms-hyphens: auto;
	hyphens: auto;
}
.flex {
	display: flex;
    flex-direction: row;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
}
.stretch {
	align-self: stretch;
}




/* ----------------------------------------------------------------------------- *
 *                                                                               *
 * TYPOSATZ                                                                      *
 *                                                                               *
 * ----------------------------------------------------------------------------- */
h1, h2, h3, h4, h5, h6 {
    font-family: 'open_sansbold';
	font-weight: normal;
	margin: 0;
	padding: 0;
}

h1 {
}
h2 {
    font-size: 2.8em;
    line-height: 1.45em;
    margin-bottom: 1.4em;
}
.imprint #main p + h2 {
    margin-top: 3em;
}
h3, h4 {
    font-size: 2.4em;
    line-height: 1.7em;
}
h4 {	
}
h5 {	
}
#main p, #main ul,
#kontakt p {
    font-size: 2.4em;
    line-height: 1.7em;
    margin: 0 0 1.6em 0;
}
#main ul {
	list-style: none;
	padding: 0 0 0 0;
}
#main ul li {
	padding-left: 1em;
    position: relative;
    margin-bottom: 1.6em;
}
#main #accordeon ul li,
.imprint #main ul li {
    margin-bottom: 0;
}
#main ul li:before {
	content: " • ";
	position: absolute;
	left: 0;
    top: 0;
	font-size: 1.2em;
}
i, em {
	font-style: normal;
    font-family: 'open_sansitalic';
}
b, strong {
	font-weight: normal;
    font-family: 'open_sansbold';
}




/* ----------------------------------------------------------------------------- *
 *                                                                               *
 * CONTAINER & GENERAL ELEMENTS                                                  *
 *                                                                               *
 * ----------------------------------------------------------------------------- */
#wrapper {
    overflow-x: hidden;
}

.container {
    margin: 0 auto;
    width: 192em;
}
.inside {
    margin: 0 auto;
    width: 150.4em
}
.inside .content-small {
    width: 78.45744680851064%; /* 1180/1504 */
    -webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}
#faq .content-small {
    background: rgb(222,234,242);
    padding: 17.8em 8em 15.4em 0;
}
#kontakt .content-small {
    background: rgb(236,240,241);
    padding: 21em 0 15.4em 20.74468085106383%; /* 312/1504 */
}
#kontakt .inside {
    display: flex;
    flex-direction: column;
	justify-content: flex-start;
	align-items: flex-end;
}

.flex-columns {
    display: flex;
    flex-direction: row;
	justify-content: space-between;
	align-items: flex-start;
	flex-wrap: wrap;
}
.flex-columns .column,
.flex-columns .item {
    width: 46.67553191489361%; /* 702/1504 */
}
.flex-columns .item {
    margin-bottom: 9.5em;
}
.flex-columns .item img {
    margin-bottom: 4em;
}

/* booking */
p.booking {
    font-family: 'open_sansbold';
    font-size: 2.8em;
    line-height: 1.2em;
    color: rgb(51,152,156);
    margin: 0;
}
p.booking a {
    background-image: url("images/icon-calendar.svg");
    background-repeat: no-repeat;
    background-size: 1em;
    padding-left: 2em;
    background-position: left 0.1em;
}
p.booking a:hover,
p.booking a:focus,
p.booking a:active {
    opacity: 0.5;
}
#header-top p.booking {
    margin-left: 1em;
}
#kontakt p.booking {
    color: rgb(0,0,0);
}
#kontakt p.booking a {
    background-image: url("images/icon-calendar-black.svg");
}

/* sections */
.headline {
    margin: 0 5.208333333333334%; /* 100/1920 */
}
#osteopathie .headline,
#faq .headline {
    display: flex;
    flex-direction: column;
	justify-content: flex-start;
	align-items: flex-end;
}
.headline .overlay {
    background: rgba(255,255,255,0.55);
}
.banner-flex {
    display: flex;
    flex-direction: column;
	justify-content: flex-start;
	align-items: flex-end;
}

#faq .bg-color-base {
    background-image: linear-gradient(to right, rgb(222,234,242) 50%, rgb(255,255,255) 50%);
}
#kontakt .bg-color-base {
    background-image: linear-gradient(to right, rgb(255,255,255) 50%, rgb(236,240,241) 50%);
}

/* button termine */
.btn-fixed {
    position: fixed;
    right: -600px;
    top: 50em;
    z-index: 899;
}
.btn-fixed img {
    width: 15.8em;
    filter: drop-shadow(0px 4px 3px rgb(0 0 0 / 0.25));
}




/* ----------------------------------------------------------------------------- *
 *                                                                               *
 * HEADER                                                                        *
 *                                                                               *
 * ----------------------------------------------------------------------------- */
#header {
    position: relative;
}
.header-col-left {
    width: 39.0625%; /* 750/1920 */
}
.header-col-right {
    width: 60.9375%; /* 1170/1920 */
}
#header .logo {
    width: 70.93333333333334%; /* 532/750 */
    margin-left: 13.333333333333334%; /* 100/750 */
    margin-top: 14.933333333333335%; /* 112/750 */
}
#header-top {
    background: rgba(72,126,143,0.1);
    -webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
    height: 20.7em;
    padding-top: 9.2em;
}
#header-top .header-col-right {
    position: relative;
    display: flex;
    flex-direction: row;
	justify-content: space-between;
	align-items: flex-start;
}

#header-bottom {
    background-image: linear-gradient(rgba(72,126,143,0.1) 50.76086956521739%, rgb(255,255,255) 0%); /* 467/920 */
}
#header-top .container,
#header-bottom .container {
    position: relative;
    display: flex;
    flex-direction: row;
	justify-content: flex-end;
	align-items: flex-start;
}
#header-bottom .quote {
    position: absolute;
    left: 0;
    bottom: 0;
    width: 66.66666666666666%; /* 1280/1920 */
    height: 49.23913043478261%; /* 453/920 */
    background-color: rgba(255,255,255,0.55);
}
#header-bottom .quote img {
    width: 63.28125%; /* 810/1280 */
    margin-left: 9.21875%; /* 118/1280 */
    margin-top: 13.28125%; /* 170/1280 */
}

.imprint #header {
    margin-bottom: 17em;
}
.imprint #header-top,
.imprint #header-bottom {
    background: none;
}
.imprint #header-bottom .container {
	justify-content: flex-start;
}




/* ----------------------------------------------------------------------------- *
 *                                                                               *
 * MAIN                                                                          *
 *                                                                               *
 * ----------------------------------------------------------------------------- */
#main {
}
#main a {
    text-decoration: underline;
}
#main a:hover,
#main a:active,
#main a:focus {
    opacity: 0.55;
}
.imprint #main {
    padding-bottom: 15.4em;
}

/* sections */
section {
    position: relative;
}

#physiotherapie {
    z-index: 100;
}
#physiotherapie .container {
    padding-top: 11.2em;
}
#physiotherapie .headline h1 {
    width: 74.18604651162791%; /* 1276/1720 */
}

#physiotherapie img.banner,
#osteopathie img.banner {
    width: 72.23958333333333%; /* 1387/1920 */
}
#physiotherapie .inside,
#osteopathie .inside {
    margin-top: -8em;
    margin-bottom: 10.6em;
}

#osteopathie {
    margin-top: -20.104166666666668%; /* 386/1920 */
    z-index: 200;
}
#osteopathie .overlay {
    width: 73.83720930232558%; /* 1270/1720 */
    padding-top: 18.6046511627907%; /* 320/1720 */
    display: flex;
    flex-direction: column;
	justify-content: flex-start;
	align-items: flex-end;
}
#osteopathie .headline h1 {
    width: 92.28346456692913%; /* 1172/1270 */
}

#team {
    margin-top: -20.104166666666668%; /* 386/1920 */
    z-index: 300;
}
#team .overlay {
    width: 60.34883720930233%; /* 1038/1720 */
    padding-top: 18.6046511627907%; /* 320/1720 */
}
#team .headline {
    margin-bottom: 6.875000000000001%; /* 132/1920 */
}
#team .headline h1 {
    width: 91.13680154142581%; /* 946/1038 */
}

#faq {
    padding-top: 11.2em;
    margin-top: -8em;
    margin-bottom: 10.6em;
    z-index: 400;
}
#faq .headline h1 {
    width: 38.83720930232558%; /* 668/1720 */
}
#faq .bg-color-base {
    margin-top: -3.3854166666666665%; /* 65/1920 */
}

#impressum .headline h1 {
    width: 61.45348837209303%; /* 1057/1720 */
}
#datenschutz .headline h1 {
    width: 77.73255813953487%; /* 1337/1720 */
}
#impressum .inside,
#datenschutz .inside {
    margin-top: -8em;
}

/* accordeon */
.toggle-content {
    display: none;
    padding-left: 140px;
    -webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}
.trigger {
    cursor: pointer;
}
#accordeon .item {
    padding-bottom: 3em;
}
#accordeon h3 {
    position: relative;
    height: 80px;
    display: flex;
    flex-direction: column;
	justify-content: center;
	align-items: flex-start;
    padding-left: 140px;
    margin-bottom: 0.9em;
    transition: 0.5s ease-in-out;
}
#accordeon h3.open,
#accordeon h3:hover,
#accordeon h3:focus,
#accordeon h3:active {
}
#accordeon h3 span {
	position: absolute;
	left: 0;
	top: 0;
	width: 80px;
	height: 80px;
}
#accordeon h3 span:before,
#accordeon h3 span:after {
  	content: "";
  	position: absolute;
  	background-color: rgb(0,0,0);
  	transition: 0.5s ease-in-out;
}
#accordeon h3 span:before { /* vertical line */
  	top: 0;
  	left: 50%;
  	width: 4px;
   	height: 100%;
   	margin-left: -2px;
}
#accordeon h3 span:after { /* horizontal line */
  	top: 50%;
  	left: 0;
  	width: 100%;
  	height: 4px;
  	margin-top: -2px;
}
#accordeon h3.open span:before { transform: rotate(-90deg); }




/* ----------------------------------------------------------------------------- *
 *                                                                               *
 * FOOTER                                                                        *
 *                                                                               *
 * ----------------------------------------------------------------------------- */
#kontakt {
    position: relative;
    z-index: 500;
}
#kontakt a:hover,
#kontakt a:focus,
#kontaktr a:active {
    opacity: 0.55;
}

#kontakt {
    position: relative;
    padding-top: 11.2em;
    z-index: 500;
}
#kontakt .headline {
    position: relative;
    z-index: 520;
}
#kontakt .headline h1 {
    width: 49.593023255813954%; /* 853/1720 */
}
#kontakt .bg-color-base {
    position: relative;
    z-index: 510;
    margin-top: -6.041666666666667%; /* 116/1920 */
}
#kontakt .icon {
    position: absolute;
    width: 14em;
    right: 8.7em;
    bottom: 14.7em;
}




/* ----------------------------------------------------------------------------- *
 *                                                                               *
 * NAVIGATION                                                                    *
 *                                                                               *
 * ----------------------------------------------------------------------------- */
.open-nav {
    position: fixed;
    z-index: 899;
    transition: 0.5s ease-in-out;
}
.large .open-nav {
    top: 7.6em;
    left: 7.2em;
}
.small .open-nav {
    top: 2.6em;
    left: 2.2em;
}
.open-nav img {
    width: 7.1em;
}
.close-nav {
    position: absolute;
    top: 5.6em;
    right: 4.7em;
}
.close-nav img {
    width: 5.8em;
}
.toggle-button {
     transition: 0.5s ease-in-out;
}
.toggle-button:hover,
.toggle-button:active,
.toggle-button:focus {
    opacity: 0.55;
}

#menu.toggle {
    left: 0;
}
#menu {
    width: 74em;
}
#menu {
    position: fixed;
    height: 100%;
    top: 0;
    bottom: 0;
    left: -74em;
    overflow-x: hidden;
    background: rgb(51,152,156);
    -webkit-transition:0.5s ease;  
    -moz-transition:0.5s ease;  
    -o-transition:0.5s ease;  
    transition:0.5s ease;
    z-index: 999;
}
#menu ul {
    padding: 21.4em 7.2em 7.2em 7.2em;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}
#menu ul > li {
    margin-bottom: 3.4em;
}
#menu ul > li:nth-child(5) {
    margin-bottom: 11.4em;
}
#menu ul > li > a {
    font-family: 'open_sansregular';
    font-size: 4em;
    line-height: 1.2em;
    color: rgb(255,255,255);
}
#menu ul > li > a:hover,
#menu ul > li > a:active,
#menu ul > li > a:focus,
#menu ul > li.current-menu-item > a {
    opacity: 0.55;
}

#menu .icon {
    position: absolute;
    width: 14em;
    right: 9.2em;
    bottom: 11.2em;
}

.sub-menu {
}
.sub-menu ul {
}
.sub-menu ul > li {
    display: inline-block;
    margin-right: 6.6em;
}
.sub-menu ul > li > a {
    font-family: 'open_sansbold';
    font-size: 2.8em;
    line-height: 1.2em;
    color: rgb(51,152,156);
}
.sub-menu ul > li > a:hover,
.sub-menu ul > li > a:active,
.sub-menu ul > li > a:focus,
.sub-menu ul > li.current-menu-item > a {
    opacity: 0.55;
}
#kontakt .sub-menu {
    margin-top: 15em;
}





