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

/**
 * Theme Name:     GLEICHGEWICHT
 * Theme URI:      https://physio-gleichgewicht.de/
 * Description:    Theme der ersten Generation für GLEICHGEWICHT
 * Author:         Der Hersteller
 * Author URI:     https://www.der-hersteller.de
 * Version:        1.0
 */




/* ----------------------------------------------------------------------------- *
 *                                                                               *
 * GLOBALS                                                                       *
 *                                                                               *
 * ----------------------------------------------------------------------------- */
html {
	height: 100%;
}
body {
	font: 62.5%/1.5em 'source_sans_proregular', Helvetica, Arial, sans-serif;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
    color: rgb(0,0,0);
}

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;
  	background-size: cover;
}
.multiply {
	mix-blend-mode: multiply;
}
.shadow {
	box-shadow: 3px 3px 2px rgba(0,0,0,0.5);
}

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

.box-sizing {
	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;
}
.align-center {
    text-align: center;
}




/* ----------------------------------------------------------------------------- *
 *                                                                               *
 * TYPOSATZ                                                                      *
 *                                                                               *
 * ----------------------------------------------------------------------------- */
h1, h2, h3, h4, h5, h6 {
	font-weight: normal;
	margin: 0;
	padding: 0;
    color: rgb(0,165,188);
}

h1 {
    font-family: 'source_sans_problack';
    font-size: 4.2em;
    line-height: 1.4em;
    text-transform: uppercase;
    letter-spacing: 0.15em;
    margin-bottom: 1.6em;
    background-image: url("images/wave.svg");
    background-repeat: no-repeat;
    background-position: center top;
    background-size: 1.8em;
    padding-top: 1.4em;
    text-align: center;
}
/*#welcome h1 {
    padding-top: 2.6em;
}*/
#news-start h1 {
    margin-bottom: 2.4em;
}
#team h1 {
    padding-top: 0;
    background-image: none;
}
h1 span {
    font-family: 'source_sans_proregular';
    font-size: 0.95em;
    text-transform: none;
    letter-spacing: 0;
}
h2 {
    font-family: 'source_sans_probold';
    font-size: 3.2em;
    line-height: 1.7em;
    letter-spacing: 0.04em;
    margin-bottom: 1em;
}
#main p + h2,
#main ul + h2 {
    margin-top: 2.8em;
}
h3 {
    font-family: 'source_sans_probold';
    font-size: 2.8em;
    line-height: 1.5em;
    letter-spacing: 0.04em;
    margin-bottom: 1em;
}
#team-list h3 {
    background-image: url("images/wave.svg");
    background-repeat: no-repeat;
    background-position: left top;
    background-size: 1.4em;
    padding-top: 1.6em;
    margin-bottom: 0;
}
h4 {
    font-family: 'source_sans_probold';
    font-size: 2.4em;
    line-height: 1.6em;
    margin-bottom: 1em;
    color: rgb(0,0,0);
}
#team-list h4 {
    margin-top: 2.4em;
}
h5 {	
}
p {
    margin: 0;
    padding: 0;
}
#header p,
#footer p {
    font-size: 2.4em;
    line-height: 1.6em;
    letter-spacing: 0.04em;
}
#main p, #main ul {
    font-size: 2.4em;
    line-height: 1.6em;
    margin-bottom: 1.2em;
}
#main #welcome p {
    font-size: 3.2em;
    line-height: 1.7em;
    margin-bottom: 1.6em;
}
#main #team-list p, #main #team-list ul {
    line-height: 1.4em;
}
#main ul {
	list-style: none;
	padding: 0 0 0 0;
}
#main ul li {
	padding-left: 1em;
    position: relative;
}
#main ul li:before {
	content: " • ";
	position: absolute;
	left: 0;
    top: 0;
	font-size: 1.2em;
}

i, em {
	font-style: normal;
}
b, strong {
    font-family: 'source_sans_probold';
	font-weight: normal;
}
#contact strong,
.color-blue {
    color: rgb(0,165,188);
}




/* ----------------------------------------------------------------------------- *
 *                                                                               *
 * CONTAINER                                                                     *
 *                                                                               *
 * ----------------------------------------------------------------------------- */
#wrapper {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
}

.inside {
    margin: 0 auto;
}
.inside.narrow {
    width: 106.2em;
}
.inside.wide {
    width: 150.3em;
}

#main section {
    padding-top: 10em;
    padding-bottom: 16em;
}
section#welcome {
    color: rgb(0,165,188);
}
section#welcome,
section#praxis {
    padding-bottom: 6em;
}
section#news-start {
    background: rgba(0,165,188,0.08);
    padding-top: 13.6em;
}
section#welcome,
section#news-start,
section#news,
section#contact {
    text-align: center;
}



/* ----------------------------------------------------------------------------- *
 *                                                                               *
 * HEADER                                                                        *
 *                                                                               *
 * ----------------------------------------------------------------------------- */
#header {}
#header-top {
    position: fixed;
    left: 0;
    right: 0;
    top: 0;
    height: 23em;
    width: 100%;
    z-index: 100;
    display: flex;
    flex-direction: row;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
    background: rgb(255,255,255);
    transition: 0.5s ease-in-out;
}
#header-top.nav-up {
    top: -26em;
}
#header-top .logo {
    width: 41em;
    margin-left: 8.4em;
    margin-top: 0.8em;
}
#header-top .header-right {
    color: rgb(0,165,188);
    text-align: right;
    margin-right: 9.8em;
}
#header-top .header-right .contact a.fon,
#footer-top .contact a.fon {
    background-repeat: no-repeat;
    background-size: 1.15em;
    background-position: 2.2em 0.1em;
    padding-left: 4.3em;
}
#header-top .header-right .contact a.fon {
    background-image: url("images/icon-fon.svg");
}
#header-top .header-right .contact a:hover,
#header-top .header-right .contact a:active,
#header-top .header-right .contact a:focus {
    opacity: 0.7;
}
#header-top .header-right .contact br {
    display: none;
}

#header-slider,
#header-banner {
    position: relative;
    width: 100%;
    background-repeat: no-repeat;
    -webkit-background-size: cover;
  	-moz-background-size: cover;
  	-o-background-size: cover;
  	background-size: cover;
    z-index: 0;
}
#header-slider {
    height: 85em;
    background-position: bottom center;
}
#slideshow {
    margin-top: 23em !important;
}
.slide-leave,
.slide-enter-to {
    transform: translateY(0);
}
.slide-leave-active,
.slide-enter-active {
     transition: all 0.7s cubic-bezier(0.5, 0.7, 0.4, 1);
}
.slide-leave-to {
    transform: translateY(-100%);
}
.slide-enter {
    transform: translateY(100%);
}
.slide-enter-to {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
}

#header-banner {
    height: 62em;
    margin-top: 23em !important;
    background-position: bottom center;
    background-color: rgb(214,227,217);
}
/*.praxis-team #header-banner {
    background-position: center center;
}*/

.header-info {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    background: rgb(0,165,188);
    color: rgb(255,255,255);
    text-align: center;
    padding: 0.5em 8%;
    z-index: 100;
}
#header-banner .header-info {
    top: 0;
}
#header-slider .header-info {
    top: 23em;
}





/* ----------------------------------------------------------------------------- *
 *                                                                               *
 * MAIN                                                                          *
 *                                                                               *
 * ----------------------------------------------------------------------------- */
#main {
}
#main a {
    position: relative;
    font-family: 'source_sans_probold';
}
#main a:after {
    content: "";
	background-color: rgb(0,0,0);
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
    height: 1px;
    transition: 0.4s ease-in-out;
}
#main a:hover:after,
#main a:active:after,
#main a:focus:after {
    width: 0;
}
#main a:hover,
#main a:active,
#main a:focus {
    text-decoration: none;
}
#main #team-list a,
#main #appointment-list a {
    color: rgb(0,165,188);
}
#main #appointment-list a:after {
	background-color: rgb(0,165,188);
}
#main #team-list a:after {
	background-color: rgb(0,165,188);
	width: 0;
}
#main #team-list a:hover:after,
#main #team-list a:active:after,
#main #team-list a:focus:after {
    width: 100%;
}

/* leistungen accordeon */
.toggle-content {
    display: none;
	box-sizing: border-box;
    padding-right: 7.984031936127744%; /* 120/1503 */
}
.trigger {
    cursor: pointer;
}
#accordeon .item {
    border-top: 1px solid rgb(0,165,188);
}
#accordeon .item:last-child {
    border-bottom: 1px solid rgb(0,165,188);
}
#accordeon div.trigger {
    position: relative;
    min-height: 12em;
    display: flex;
    flex-direction: column;
	justify-content: center;
	align-items: flex-start;
    box-sizing: border-box;
    padding-top: 2em;
    padding-bottom: 2em;
    padding-right: 7.984031936127744%; /* 120/1503 */
    transition: 0.5s ease-in-out;
}
#accordeon div.trigger.open,
#accordeon div.trigger:hover,
#accordeon div.trigger:focus,
#accordeon div.trigger:active {
}
#accordeon div.trigger span {
	position: absolute;
	right: 0;
	top: 4em;
	width: 4em;
	height: 4em;
}
#accordeon div.trigger span:before,
#accordeon div.trigger span:after {
  	content: "";
  	position: absolute;
  	background-color: rgb(0,0,0);
  	transition: 0.5s ease-in-out;
}
#accordeon div.trigger span:before { /* vertical line */
  	top: 0;
  	left: 50%;
  	width: 0.2em;
   	height: 100%;
   	margin-left: -0.1em;
}
#accordeon div.trigger span:after { /* horizontal line */
  	top: 50%;
  	left: 0;
  	width: 100%;
  	height: 0.2em;
  	margin-top: -0.1em;
}
#accordeon div.trigger.open span:before { 
    transform: rotate(-90deg); 
}
#main #accordeon div.trigger p {
    margin-bottom: 0;
}
#main #accordeon div.trigger p strong {
    color: rgb(0,165,188);
}

/* praxis team */
#praxis-collage {
    display: flex;
    flex-direction: row;
	justify-content: space-between;
	align-items: flex-start;
	flex-wrap: wrap;
}
#praxis-collage img {
    width: 100%;
}
#praxis-collage .col-01 {
    width: 29.375%; /* 564/1920 */
}
#praxis-collage .col-02,
#praxis-collage .col-03 {
    width: 34.479166666666664%; /* 662/1920 */
}
#praxis-collage div .col-flex {
    display: flex;
    flex-direction: row;
	justify-content: space-between;
	align-items: flex-start;
	flex-wrap: wrap;
}
#praxis-collage div .col-flex .item {
    width: 48.79154078549849%; /* 323/622 */
}
#praxis-collage .col-02 img:first-child {
    margin-bottom: 2.416918429003021%; /* 16/662 */
}
#praxis-collage .col-03 img.margin {
    margin-top: 2.416918429003021%; /* 16/662 */
}

#team-list {}
#team-list .item {
    padding: 7.6em 0;
}
#team-list .item:nth-child(even) {
    background: rgb(215,238,240);
}
#team-list .item .inside {
    display: flex;
	justify-content: space-between;
	align-items: flex-start;
	flex-wrap: wrap;
}
#team-list .item:nth-child(odd) .inside {
    flex-direction: row;
}
#team-list .item:nth-child(even) .inside {
    flex-direction: row-reverse;
}
#team-list .item .team-image {
    width: 42.581503659347966%; /* 640/1503 */
}
#team-list .item .team-data {
    width: 50%; /* 7515/15030 */
    box-sizing: border-box;
}
#team-list .item:nth-child(odd) .team-data {
    padding-right: 14.637391882900866%; /* 220/1503 */
}
#team-list .item:nth-child(even) .team-data {
    padding-left: 14.637391882900866%; /* 220/1503 */
}

/* termine */
#appointment-list {
    display: flex;
    flex-direction: row;
	justify-content: space-between;
	align-items: flex-start;
	flex-wrap: wrap;
    margin-top: 9.6em;
}
#appointment-list .item {
    width: 28.143712574850298%; /* 423/1503 */
    margin-bottom: 6.6em;
}
#appointment-list .item .icon {
    height: 10em;
    display: flex;
    flex-direction: column;
	justify-content: flex-end;
	align-items: flex-start;
    margin-bottom: 2.6em;
}
#appointment-list .item .icon.large img {
    height: 9.6em;
}
#appointment-list .item .icon.medium img {
    height: 8em;
}
#appointment-list .item .icon.small img {
    height: 6em;
}
#appointment-list strong {
    color: rgb(0,165,188);
}

/* aktuelles */
.news-item {
    margin-top: 12em;
}

/* kontakt */
.responsive-maps {
  	position: relative;
  	padding: 0 0 25% 0;
	margin: 0;
  	height: 33em;
  	overflow: hidden;
    margin-top: 12em;
    margin-bottom: 8em;
}
.responsive-maps iframe {
  	position: absolute;
  	top: 0;
  	left: 0;
  	width: 100%;
  	height: 100%;
	border: none;
}




/* ----------------------------------------------------------------------------- *
 *                                                                               *
 * FOOTER                                                                        *
 *                                                                               *
 * ----------------------------------------------------------------------------- */
#footer {
    margin-top: auto;
    border-bottom: 3px solid rgb(255,255,255);
}
#footer-top {
    display: flex;
    flex-direction: column;
	justify-content: center;
	align-items: center;
    height: 7.8em;
    background: rgb(214,227,217);
    color: rgb(0,102,117);
}
#footer-top br {
    display: none;
}
#footer-top .contact a.fon {
    background-image: url("images/icon-fon-footer.svg");
}
#footer-top .contact a.mail {
    background-image: url("images/icon-mail-footer.svg");
    background-repeat: no-repeat;
    background-size: 1.15em;
    background-position: 1.5em 0.15em;
    padding-left: 3.3em;
}
#footer-top .contact a:hover,
#footer-top .contact a:active,
#footer-top .contact a:focus {
    opacity: 0.7;
}
#footer-bottom {
    display: flex;
    flex-direction: row;
	justify-content: space-between;
	align-items: flex-end;
	flex-wrap: wrap;
    background: rgb(0,165,188);
    color: rgb(255,255,255);
    box-sizing: border-box;
    height: 26.5em;
    padding-bottom: 8.2em;
    padding-left: 15em;
    padding-right: 9.8em;
}
#footer-bottom p span.separator {
    padding: 0 0.2em;
}





/* ----------------------------------------------------------------------------- *
 *                                                                               *
 * NAVIGATION                                                                    *
 *                                                                               *
 * ----------------------------------------------------------------------------- */
#menu {
}
#menu ul {
    margin-top: 3.2em;
    margin-bottom: 3.6em;
}
#menu ul > li {
    position: relative;
    display: inline-block;
    margin-left: 6.2em;
}
#menu ul > li:first-child {
    display: none !important;
}
#menu ul > li > a {
    font-size: 1.9em;
    line-height: 1.2em;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

#menu ul > li > a:after,
#sub-nav ul > li > a:after {
    content: "";
	position: absolute;
	bottom: -3px;
	left: 0;
	width: 0;
    height: 1px;
    transition: 0.4s ease-in-out;
}
#menu ul > li > a:after {
	background-color: rgb(0,165,188);
}
#sub-nav ul > li > a:after {
	background-color: rgb(255,255,255);
}
#menu ul > li > a:hover:after,
#menu ul > li > a:active:after,
#menu ul > li > a:focus:after,
#sub-nav ul > li > a:hover:after,
#sub-nav ul > li > a:active:after,
#sub-nav ul > li > a:focus:after {
    width: 100%;
}
#menu ul > li.current-menu-item > a:after,
#sub-nav ul > li.current-menu-item > a:after {
    width: 100%;
}

#sub-nav {
}
#sub-nav ul {
}
#sub-nav ul > li {
    position: relative;
    display: inline-block;
    margin-left: 3.2em;
}
#sub-nav ul > li > a {
    font-size: 2.4em;
    line-height: 1.6em;
    letter-spacing: 0.1em;
}

/* responsive-nav */
.open-nav,
.close-nav {
	display: none;
    position: absolute;
    transition: 0.5s ease-in-out; 
}
.open-nav {
    width: 3em;
    left: 3em;
    top: 3em;
}
.close-nav {
    width: 3em;
    right: 3em;
    top: 3em;
}
.open-nav:hover,
.open-nav:active,
.open-nav:focus,
.close-nav:hover,
.close-nav:active,
.close-nav:focus {
    opacity: 0.7;
}





