/*
Theme Name: Fust-Bachmann
Theme URI: https://www.ahja.ch/
Author: Bea W&uuml;rgler und Andi Jacomet
Author URI: http://www.neuweiss.ch
Description: Das Theme f&uuml;r Therese und P&auml;du.
Version: 1.3 /  Rev Patrik Fust V1
License: Copyright
License URI: http://www.ahja.ch
Text Domain: bachmann
Tags: one-column, two-columns, right-sidebar, flexible-header, accessibility-ready, custom-colors, custom-header, custom-menu, custom-logo, editor-style, featured-images, footer-widgets, post-formats, rtl-language-support, sticky-post, theme-options, threaded-comments, translation-ready

This theme, like WordPress, is licensed under the GPL*
Use it to make something cool, have fun, and share what you've learned with others.
*/

/*--------------------------------------------------------------
>>> TABLE OF CONTENTS:
----------------------------------------------------------------
1.0 Normalize
2.0 Accessibility
3.0 Alignments
4.0 Clearings
5.0 Typography
6.0 Forms
7.0 Formatting
8.0 Lists
9.0 Tables
10.0 Links
11.0 Featured Image Hover
12.0 Navigation
13.0 Layout
   13.1 Header
   13.2 Front Page
   13.3 Regular Content
   13.4 Posts
   13.5 Pages
   13.6 Footer
14.0 Comments
15.0 Widgets
16.0 Media
   16.1 Galleries
17.0 Customizer
18.0 SVGs Fallbacks
19.0 Media Queries
20.0 Print
--------------------------------------------------------------*/

/*--------------------------------------------------------------
1.0 Normalize
Styles based on Normalize v5.0.0 @link https://github.com/necolas/normalize.css
--------------------------------------------------------------*/

html {
  font-family: sans-serif;
  line-height: 1.15;
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
  height: 100%;
}

/* LOADER */

#loader-wrapper {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1000;
  background: #fff;
}
#loader {
  display: block;
  position: relative;
  left: 50%;
  top: 50%;
  width: 150px;
  height: 150px;
  margin: -75px 0 0 -75px;
  z-index: 1500;
  border-radius: 50%;
  border: 3px solid transparent;
  border-top-color: #c44d5b;
  -webkit-animation: spin 2s linear infinite;
  animation: spin 2s linear infinite;
}

#loader:before {
  content: "";
  position: absolute;
  top: 5px;
  left: 5px;
  right: 5px;
  bottom: 5px;

  border-radius: 50%;
  border: 3px solid transparent;
  border-top-color: #877e79;
  -webkit-animation: spin 3s linear infinite;
  animation: spin 3s linear infinite;
}
#loader:after {
  border-radius: 50%;
  content: "";
  position: absolute;
  top: 15px;
  left: 15px;
  right: 15px;
  bottom: 15px;

  border: 3px solid transparent;
  border-top-color: #749ba4;

  -webkit-animation: spin 1.5s linear infinite;
  animation: spin 1.5s linear infinite;
}
/* include this only once */
@-webkit-keyframes spin {
  0% {
    -webkit-transform: rotate(0deg); /* Chrome, Opera 15+, Safari 3.1+ */
    -ms-transform: rotate(0deg); /* IE 9 */
    transform: rotate(0deg); /* Firefox 16+, IE 10+, Opera */
  }
  100% {
    -webkit-transform: rotate(360deg); /* Chrome, Opera 15+, Safari 3.1+ */
    -ms-transform: rotate(360deg); /* IE 9 */
    transform: rotate(360deg); /* Firefox 16+, IE 10+, Opera */
  }
}
@keyframes spin {
  0% {
    -webkit-transform: rotate(0deg); /* Chrome, Opera 15+, Safari 3.1+ */
    -ms-transform: rotate(0deg); /* IE 9 */
    transform: rotate(0deg); /* Firefox 16+, IE 10+, Opera */
  }
  100% {
    -webkit-transform: rotate(360deg); /* Chrome, Opera 15+, Safari 3.1+ */
    -ms-transform: rotate(360deg); /* IE 9 */
    transform: rotate(360deg); /* Firefox 16+, IE 10+, Opera */
  }
}

/* LOADER */

body {
  margin: 0;
  padding: 0;
}

body {
  height: 100%;
  float: left;
  width: 100%;
}

article,
aside,
footer,
header,
nav,
section {
  display: block;
}

figcaption,
figure,
main {
  display: block;
}

figure {
  margin: 0;
}

a {
  background-color: transparent;
  -webkit-text-decoration-skip: objects;
}

a:active,
a:hover {
  outline-width: 0;
}

abbr[title] {
  border-bottom: 1px #767676 dotted;
  text-decoration: none;
}

b,
strong {
  font-weight: inherit;
}

b,
strong {
  font-weight: 700;
}

code,
kbd,
samp {
  font-family: monospace, monospace;
  font-size: 1em;
}

dfn {
  font-style: italic;
}

mark {
  background-color: #eee;
  color: #222;
}

small {
  font-size: 80%;
}

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

audio,
video {
  display: inline-block;
}

audio:not([controls]) {
  display: none;
  height: 0;
}

img {
  border-style: none;
}

svg:not(:root) {
  overflow: hidden;
}

button,
input,
optgroup,
select,
textarea {
  line-height: 1.15;
  margin: 0;
}

button,
input {
  overflow: visible;
}

button,
select {
  text-transform: none;
}

button,
html [type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button;
}

button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
  outline: 0px dotted ButtonText;
}

/*--------------------------------------------------------------
2.0 Accessibility
--------------------------------------------------------------*/

/* Text meant only for screen readers. */

.screen-reader-text {
  clip: rect(1px, 1px, 1px, 1px);
  height: 1px;
  overflow: hidden;
  position: absolute !important;
  width: 1px;
  word-wrap: normal !important; /* Many screen reader and browser combinations announce broken words as they would appear visually. */
}

.screen-reader-text:focus {
  background-color: #f1f1f1;
  -webkit-border-radius: 3px;
  border-radius: 3px;
  -webkit-box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
  box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
  clip: auto !important;
  color: #21759b;
  display: block;
  font-size: 14px;
  font-size: 0.875rem;
  font-weight: 700;
  height: auto;
  left: 5px;
  line-height: normal;
  padding: 15px 23px 14px;
  text-decoration: none;
  top: 5px;
  width: auto;
  z-index: 100000; /* Above WP toolbar. */
}

/*--------------------------------------------------------------
3.0 Alignments
--------------------------------------------------------------*/

.alignleft {
  display: inline;
  float: left;
  margin-right: 1.5em;
}

.alignright {
  display: inline;
  float: right;
  margin-left: 1.5em;
}

.aligncenter {
  clear: both;
  display: block;
  margin-left: auto;
  margin-right: auto;
}

:focus {
  outline: none;
}

/* Placeholder text color -- selectors need to be separate to work. */
::-webkit-input-placeholder {
  color: #333;
  font-family: "Libre Franklin", "Helvetica Neue", helvetica, arial, sans-serif;
}

:-moz-placeholder {
  color: #333;
  font-family: "Libre Franklin", "Helvetica Neue", helvetica, arial, sans-serif;
}

::-moz-placeholder {
  color: #333;
  font-family: "Libre Franklin", "Helvetica Neue", helvetica, arial, sans-serif;
  opacity: 1;
  /* Since FF19 lowers the opacity of the placeholder by default */
}

:-ms-input-placeholder {
  color: #333;
  font-family: "Libre Franklin", "Helvetica Neue", helvetica, arial, sans-serif;
}

/*--------------------------------------------------------------
7.0 Formatting
--------------------------------------------------------------*/

hr {
  background-color: #bbb;
  border: 0;
  height: 1px;
  margin-bottom: 1.5em;
}

/*--------------------------------------------------------------
8.0 Lists
--------------------------------------------------------------*/

ul,
ol {
  margin: 0 0 1.5em;
  padding: 0;
}

ul {
  list-style: disc;
}

ol {
  list-style: decimal;
}

li > ul,
li > ol {
  margin-bottom: 0;
  margin-left: 1.5em;
}

dt {
  font-weight: 700;
}

dd {
  margin: 0 1.5em 1.5em;
}

/*--------------------------------------------------------------
9.0 Tables
--------------------------------------------------------------*/

/*--------------------------------------------------------------
10.0 Links
--------------------------------------------------------------*/

a {
  color: #000;
  text-decoration: none;
}

a:focus {
  outline: 0 dotted;
}

a:hover,
a:active {
  color: #000;
  outline: 0;
}

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

html {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

*,
*:before,
*:after {
  /* Inherit box-sizing to make it easier to change the property for components that leverage other behavior; see http://css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice/ */
  -webkit-box-sizing: inherit;
  -moz-box-sizing: inherit;
  box-sizing: inherit;
}

body {
  /* background: #fff; */
  /* Fallback for when there is no custom background color defined. */
}

#page {
  position: relative;
  word-wrap: break-word;
  float: left;
  min-height: 100%;
}

/*--------------------------------------------------------------
13.4 Posts
--------------------------------------------------------------*/

/* Pagination */

.pagination,
.comments-pagination {
  border-top: 1px solid #eee;
  font-size: 14px;
  font-size: 0.875rem;
  font-weight: 800;
  padding: 2em 0 3em;
  text-align: center;
}

.pagination .icon,
.comments-pagination .icon {
  width: 0.666666666em;
  height: 0.666666666em;
}

.comments-pagination {
  border: 0;
}

.page-numbers {
  display: none;
  padding: 0.5em 0.75em;
}

.page-numbers.current {
  color: #767676;
  display: inline-block;
}

.page-numbers.current .screen-reader-text {
  clip: auto;
  height: auto;
  overflow: auto;
  position: relative !important;
  width: auto;
}

.prev.page-numbers,
.next.page-numbers {
  background-color: #ddd;
  -webkit-border-radius: 2px;
  border-radius: 2px;
  display: inline-block;
  font-size: 24px;
  font-size: 1.5rem;
  line-height: 1;
  padding: 0.25em 0.5em 0.4em;
}

.prev.page-numbers,
.next.page-numbers {
  -webkit-transition: background-color 0.2s ease-in-out,
    border-color 0.2s ease-in-out, color 0.3s ease-in-out;
  transition: background-color 0.2s ease-in-out, border-color 0.2s ease-in-out,
    color 0.3s ease-in-out;
}

.prev.page-numbers:focus,
.prev.page-numbers:hover,
.next.page-numbers:focus,
.next.page-numbers:hover {
  background-color: #767676;
  color: #fff;
}

.prev.page-numbers {
  float: left;
}

.next.page-numbers {
  float: right;
}

/* 404 page */

.error404 .page-content {
  padding-bottom: 4em;
}

.error404 .page-content .search-form,
.search .page-content .search-form {
  margin-bottom: 3em;
}

/*--------------------------------------------------------------
16.0 Media
--------------------------------------------------------------*/

img,
video {
  height: auto; /* Make sure images are scaled correctly. */
  max-width: 100%; /* Adhere to container width. */
}

/* Custom Style */
.overlay {
  height: 0%;
  width: 100%;
  position: fixed;
  z-index: 100;
  top: 0;
  left: 0;
  background-color: #fff;
  background-image: url(assets/images/body-bg.png);
  background-repeat: no-repeat;
  background-position: 39% 52%;
  background-size: 65%;
  overflow-y: hidden;
  transition: 0.5s;
}
.overlay-content {
  position: relative;
  top: 25%;
  width: 100%;
  text-align: center;
  margin-top: 30px;
}

.overlay .closebtn {
  position: absolute;
  top: 43px;
  right: 0;
  font-size: 49px;
  color: #666;
}
/* @media screen and (max-height: 450px) {
	.overlay {overflow-y: auto;}
	.overlay a {font-size: 20px}
	.overlay .closebtn {
	font-size: 40px;
	top: 15px;
	right: 35px;
	}
  } */
.clrfix {
  clear: both;
}
body {
  background: url(assets/images/body-bg.png);
  background-repeat: repeat;
  font-size: 15px;
  color: #877e79;
}
.d-flex {
  display: flex;
  justify-content: space-between;
}
#page {
  width: 100%;
  position: static;
  margin-bottom: -52px; /* height:100vh */
}
.wrap {
  max-width: 1024px;
  margin: 0 auto;
  position: relative;
}

.page-template-default .banner {
  margin-top: 0;
}
.page-template-default footer .wrap {
  margin-top: 0;
  border: 0 !important;
}

.navigation-top {
  width: auto;
  float: left;
}
.navigation-top ul {
  margin: 0;
  padding: 0;
  list-style: none;
  float: left;
}
.navigation-top ul li {
  display: inline-block;
  line-height: 14px;
}
.custom-header {
  background-color: #fff;
}
header {
  float: left;
  width: 100%;
}
header ul li a {
  font-size: 15px;
  color: #666;
  font-family: "hindlight";
  font-weight: 300;
  border-right: 1px solid #666;
  padding: 0px 4px 0px 2px;
}

header ul li:last-child a {
  border-right: 0px;
}

footer {
  float: left;
  width: 100%;
  padding: 15px 0;
  margin-top: -15px;
}
body.home footer {
  margin-top: 0;
}
footer .wrap {
}
footer .f-right {
  font-size: 12px;
  color: #999999;
  font-family: "hindregular";
  font-weight: 400;
  float: right;
  line-height: 18px;
}
footer .f-left {
  float: left;
  position: relative;
  font-size: 11px;
  color: #999999;
  font-family: "hindregular";
  font-weight: 400;
  line-height: 18px;
}
footer .f-left ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
footer .f-left ul li {
  display: inline-block;
  padding: 0px 7px 0 0;
  border-right: 1px solid #877e79;
}
footer .f-left ul li:last-child {
  border-right: 0;
}
footer .f-left p {
  margin: 0;
  padding: 0;
}
footer .f-left ul li a,
footer .f-left p {
  color: #877e79;
  font-size: 14px;
  font-family: "hindregular";
  font-weight: 400;
  line-height: 12px;
}
body:not(.home) footer .wrap {
  border-top: 1px solid #cccccc;
  padding-top: 15px;
}

#primary {
  float: left;
  width: 100%;
  padding: 40px 0 60px;
}
.home-panels {
  position: relative;
  padding: 120px 0px 50px 0; /* transform:translateY(55%)*/
}
.home-panels ul {
  margin: 0;
  padding: 0;
  text-align: center;
  list-style: none;
}
.home-panels ul.circle li {
  display: inline-block;
  width: 30.33%;
  text-align: center;
  margin: 0 5px;
}
.home-panels ul.circle li figure {
  width: 261px;
  height: 258px;
  border-radius: 50%;
  margin: 0 auto;
  cursor: pointer;
  overflow: hidden;
  background-size: 100% !important;
}

.home-panels .text-part {
  width: 100%;
  text-align: right;
  float: left;
  width: 100%;
}
.home-panels ul.HContent {
  position: relative;
  padding: 50px 0;
  right: 0;
  padding-right: 50px;
  width: 100%;
  max-width: 500px;
  float: right;
}
.home-panels ul.HContent .HCblock h3 {
  font-size: 20px;
  font-family: "hindsemibold";
  font-weight: 600;
  line-height: 25px;
  text-align: left;
  margin-bottom: 0;
}
.home-panels ul.HContent .HCblock {
  font-size: 20px;
  font-family: "hindlight";
  font-weight: 300;
  line-height: 25px;
  text-align: right;
}
.home-panels ul.HContent .HCblock p {
  margin-top: 0;
}
.home-panels.desk ul.HContent .HCblock a i {
  margin-left: 10px;
}
.home-panels ul.HContent .Hdesc {
  display: inline-block;
  width: calc(100% - 80px);
}
.home-panels ul.HContent .Hdesc a {
  width: 100%;
}
.home-panels ul.HContent a {
  display: inline-block;
  margin-left: 20px;
}
.home-panels ul.HContent .list1,
.home-panels ul.HContent .list1 a {
  color: #8aa14d;
}
.home-panels ul.HContent .list2,
.home-panels ul.HContent .list2 a {
  color: #83afda;
}
.home-panels ul.HContent .list3,
.home-panels ul.HContent .list3 a {
  color: #c24e5c;
}

.home-panels ul.HContent .list1,
.home-panels ul .Hblock .HCblock.list1 a {
  color: #8aa14d;
}
.home-panels ul.HContent .list2,
.home-panels ul .Hblock .HCblock.list2 a {
  color: #83afda;
}
.home-panels ul.HContent .list3,
.home-panels ul .Hblock .HCblock.list3 a {
  color: #c24e5c;
}
.home-panels.mobile ul .Hblock .HCblock .Hdesc {
  max-width: 292px;
  margin: 0 auto;
  display: inline-block;
}
.home-panels.mobile ul .Hblock .HCblock a {
  display: inline-block;
}
/* .home-panels.mobile ul .Hblock .HCblock .Hdesc p,.home-panels.mobile ul .Hblock .HCblock .Hdesc i {display:inline} */
.home-panels.mobile ul .Hblock .HCblock .Hdesc h3 {
  text-align: left;
  font-size: 15px;
  line-height: 20px;
  margin-bottom: 0;
}
.home-panels.mobile ul .Hblock .HCblock .Hdesc p {
  margin: 0 0 0 40px;
}

.home-panels ul.circle .Hblock.active {
  display: inline-block;
  z-index: 9999;
  opacity: 1 !important;
}
.home-panels.mobile ul.circle li .HCblock {
  display: block;
  display: block;
  position: absolute;
  z-index: 99;
  margin: 0 auto;
  left: 0;
  right: 0;
}
.home-panels .HContent .HCblock {
  display: none;
}
.home-panels .HContent .HCblock.active {
  display: block;
}

.home-panels.mobile ul.circle li {
  position: relative;
}
.home-panels.mobile ul.circle li .HCblock {
  display: none;
}
.home-panels.mobile ul.circle li.active .HCblock {
  display: block;
}

header {
  padding: 15px 0;
  position: relative;
}
header .logo {
  display: inline-block;
  position: relative;
  z-index: 1;
}
header .logo a {
  float: left;
  width: 100%;
  text-align: center;
  width: 146px;
  height: 144px;
}
header .logo a img {
  max-width: 100%;
}

.banner {
  float: left;
  width: 100%;
  margin-top: -85px;
  background-repeat: no-repeat !important;
  background-size: cover !important;
  background-position: center center !important;
  height: 509px;
  position: relative;
  display: flex;
  align-items: center;
}

.banner img {
  width: 100%;
  height: auto;
}

.content-part {
  padding: 0px 0 20px;
  float: left;
}
.page-content {
  color: #000000;
  font-size: 18px;
  font-family: "hindlight";
  font-weight: 300;
  line-height: 27px;
}
.page-content {
  max-width: 820px;
  width: 100%;
}
.content-part h2 {
  font-size: 40px;
  line-height: 40px;
  font-family: "hindregular";
  font-weight: 300;
  margin-top: 0px;
}
.site-content-contain {
  float: left;
  width: 100%;
}
.site-content-contain .upper-part {
  float: left;
  width: 100%;
}
.site-content-contain .upper-part .menu-sidebar {
  float: left;
  width: 260px;
  margin-right: 40px;
}
.site-content-contain .upper-part .menu-sidebar ul {
  list-style: none;
}
.site-content-contain .upper-part .menu-sidebar ul li a {
  font-size: 25px;
  font-family: "hindlight";
  font-weight: 300;
  line-height: 30px;
  text-transform: uppercase;
}
.site-content-contain .upper-part .menu-sidebar ul li.current-menu-item > a,
.site-content-contain .upper-part ul li.current-menu-parent > a {
  font-family: "hindsemibold";
  font-weight: 600;
}
.site-content-contain .upper-part .menu-sidebar ul li ul li a {
  font-size: 20px;
  font-family: "hindlight";
  font-weight: 300;
  line-height: 28px;
  text-transform: inherit;
}
.site-content-contain .upper-part .menu-sidebar ul li ul {
  display: none;
  margin-left: 16px;
}
.site-content-contain .upper-part .menu-sidebar ul li.current-menu-item ul,
.site-content-contain .upper-part ul li.current-menu-parent ul {
  display: block;
}
.site-content-contain .upper-part .right-part {
  float: right;
  width: calc(100% - 300px);
  min-height: 316px;
  background-size: cover !important;
  background-repeat: no-repeat !important;
  position: relative;
}
.site-content-contain .upper-part .right-part .content {
  padding: 10px 50px;
  max-width: 400px;
  position: absolute;
  top: 50%;
  margin-top: -50px;
}
.site-content-contain .upper-part .right-part .content .s-desc {
  text-align: left;
  text-indent: 30px;
}
.site-content-contain .upper-part .right-part .content h3 {
  font-family: "hindsemibold";
  font-weight: 600;
  font-size: 18px;
  line-height: 20px;
}
.site-content-contain .upper-part .right-part .content h3,
.site-content-contain .upper-part .right-part .content .s-desc p {
  margin: 0px 0px 0px 0;
}
.site-content-contain .upper-part .right-part .content .s-desc p {
  font-size: 15px;
  line-height: 20px;
  font-weight: 300;
  color: #333;
}
.site-content-contain .upper-part .innerright-part ul,
.site-content-contain .upper-part .innerright-part ol,
.site-content-contain .content-part ul,
.site-content-contain .content-part ol {
  padding-left: 20px;
}
.sideMenu {
  position: relative;
}
.m-menu {
  display: none;
}
.site-content-contain .upper-part .innerright-part {
  width: 100%;
  position: relative;
}
.innerright-part .content h3 {
  font-size: 40px;
  /* text-transform: uppercase; */
  font-weight: 300;
  line-height: 40px;
  margin-top: 0;
  font-family: "hindregular";
}
.f-left h3 {
  display: none;
  font-size: 25px;
  line-height: 30px;
  font-weight: 300;
  text-transform: uppercase;
  font-family: "hindlight";
  margin: 0;
  padding: 0;
}
.mobile {
  display: none;
}

.shiatsu-menus li a {
  color: #83afda !important;
}
.coaching-menus li a {
  color: #8aa14d !important;
}
.sexualberatung-menus li a {
  color: #c24e5c !important;
}
.coaching-menus > li > a,
.shiatsu-menus > li > a,
.sexualberatung-menus > li > a {
  text-align: left;
  font: normal normal 600 37px/64px hindsemibold;
}
.breadcrumb,
.breadcrumb a {
  font-size: 16px;
  color: #666666;
  font-family: "hindregular";
}
.breadcrumb span.current {
  font-size: 16px;
  font-family: "hindlight";
}
div#breadcrumbs {
  padding: 27px 0px;
  float: left;
  width: 100%;
}
.banner .wrap {
  width: 40%;
}
.banner .content .s-desc p {
  font-size: 21px;
  line-height: 26px;
  font-weight: 400;
  font-family: "hindregular";
  margin: 10px 18px;
}
.banner-coaching .content .s-desc p,
.banner-shiatsu .content .s-desc p {
  color: #666666 !important;
}
.side-menu {
  position: absolute;
  margin-top: 70px;
}
.banner-coaching .content h3 {
  color: #8aa14d;
}
.banner .content h3 {
  font-family: "hindbold";
  font-weight: 700;
  font-size: 30px;
  margin-bottom: 0;
  line-height: 20px;
}
.icon-menu {
  background: transparent;
  border: 0;
  display: flex;
  gap: 13px;
  flex-direction: column;
  margin-top: 10px;
  cursor: pointer;
}
.icon-menu span {
  width: 50px;
  display: block;
  height: 4px;
  border-radius: 5px;
}
.grid {
  display: grid;
  gap: 30px;
  width: 100%;
  grid-template-columns: repeat(auto-fit, minmax(100px, 1fr));
}
.v-align {
  position: relative;
  transform: translate(0%, 50%);
}
.grid-items ul {
  list-style: none;
}
.grid-items {
  text-align: left;
}
.grid-items .sub-menu {
  margin: 0;
}
.grid-items .sub-menu li a {
  font-size: 30px;
  padding: 6px 0;
  margin-right: 50px;
  display: block;
  border-bottom: 1px solid;
}
.wpcf7 input[type="text"],
.wpcf7 input[type="email"] {
  max-width: 400px;
  width: 100%;
  padding: 10px 10px;
}
.wpcf7 textarea {
  max-width: 400px;
  width: 100%;
  padding: 10px 10px;
  height: 100px;
}
.wpcf7 input[type="submit"] {
  padding: 10px 30px;
  border: 1px solid #877e79;
  background: #fff;
  color: #877e79;
  text-transform: uppercase;
  cursor: pointer;
  font-family: "hindsemibold";
  font-weight: 600;
  transition: 0.2s ease all;
}
.wpcf7 input[type="submit"]:hover {
  background: #877e79;
  color: #fff;
}

.page-template-default .page-content {
  max-width: 100%;
}
.page-template-default .page-content ul,
.page-template-default ol {
  padding-left: 20px;
}
.social {
  display: none;
}

.g-recaptcha {
  float: left;
  width: 100%;
  max-width: 400px;
  margin-bottom: 25px;
}

/* Stylish Form Start*/

.styled-input {
  float: left;
  width: 100%;
  margin: 15px 0 22px;
  position: relative;
  max-width: 400px;
}

.styled-input label {
  color: #999;
  padding: 10px;
  position: absolute;
  top: 0;
  left: 0;
  transition: all 0.25s cubic-bezier(0.2, 0, 0.03, 1);
  pointer-events: none;
}

.wide {
  width: 100%;
}

input,
textarea {
  /*  padding: 1rem 1rem;
  border: 0;  */
  width: 100%;
  font-size: 1rem;
  max-width: 400px;
  color: #333333;
  font-size: 15px;
  font-family: "hindlight";
  font-weight: 300;
}

.wpcf7-form-control-wrap ~ span,
.wpcf7-form-control-wrap ~ span {
  display: block;
  width: 0;
  height: 3px;
  background: #877e79;
  position: absolute;
  bottom: 0;
  left: 0;
  transition: all 0.125s cubic-bezier(0.2, 0, 0.03, 1);
}
.wpcf7-form-control-wrap.filled ~ span,
textarea:focus ~ span {
  outline: 0;
}
.wpcf7-form-control-wrap.filled ~ label,
textarea:focus ~ label {
  font-size: 14px;
  padding: 10px 0;
  /* color: #8e44ad; */
  top: -2.25rem;
  transition: all 0.125s cubic-bezier(0.2, 0, 0.03, 1);
}

.wpcf7-form-control-wrap.filled ~ span,
textarea:focus ~ span {
  width: 100%;
  transition: all 0.125s cubic-bezier(0.2, 0, 0.03, 1);
}

.wpcf7-form-control-wrap.filled ~ span,
textarea.not-empty ~ span {
  height: 3px;
  background: #b9b3ad;
  width: 100%;
}

textarea:valid ~ label,
input:valid ~ label {
  font-size: 0.75em;
  color: #877e79;
  top: -2.25rem;
  transition: all 0.125s cubic-bezier(0.2, 0, 0.03, 1);
}

textarea {
  width: 100%;
  resize: none;
}
p.filled,
form p {
  clear: both;
}
.wpcf7-form-control-wrap {
  line-height: 0;
  float: left;
  width: 100%;
  max-width: 400px;
}
input[type="submit"] {
  width: auto !important;
  display: block;
  float: none;
}
span.wpcf7-not-valid-tip {
  margin-top: 10px;
  font-size: 12px;
  position: absolute;
  right: 0;
}

/* Stylish Form  End*/

/* ----------- Media Queries ------------ 
-----------------------------------------*/

@media only screen and (max-width: 1025px) {
  .home-panels ul.circle li figure {
    width: 231px;
    height: 228px;
  }
  footer .f-left ul li,
  footer .f-left ul li p {
    line-height: 10px;
    font-size: 13px;
  }
  footer .f-left ul li a {
    font-size: 13px;
  }
}

@media only screen and (max-width: 992px) {
  .wrap {
    width: 94%;
    margin: 0 auto;
  }
  .site-content-contain .upper-part .menu-sidebar {
    width: 240px;
    margin-right: 30px;
  }
  .site-content-contain .upper-part .innerright-part {
    width: calc(100% - 270px);
  }
  .site-content-contain .upper-part .right-part {
    min-height: 190px;
    background-position: right center !important;
  }
  /* .site-content-contain .upper-part ul li a{font-size:22px;} */
  /* .site-content-contain .upper-part ul li ul li a{font-size:18px;} */
  /* .content-part h2{font-size:22px} */
}
@media only screen and (min-width: 768px) {
  .desk,
  .menu-bulk {
    display: block !important;
  }
  .m-menu {
    display: none !important;
  }
}
.mobile-menu {
  display: none;
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
  .banner {
    margin-top: -85px;
    height: 360px;
  }
}
@media only screen and (max-width: 767px) {
  #breadcrumbs {
    display: none;
  }
  .current-menu-item ul,
  .current-menu-parent ul {
    display: block !important;
  }
  .current-menu-item > a {
    font: normal normal 700 37px/64px hindbold !important;
  }
  ul.menus li.current-menu-item a {
    font-family: "hindsemibold" !important;
    font-weight: 600 !important;
    line-height: normal !important;
    font-size: 15px !important;
  }
  ul.sub-menu .current-menu-item > a {
    font: normal normal 600 30px hindsemibold !important;
  }
  body.home footer {
    margin-top: -15px;
  }
  .overlay-content {
    border-bottom: 1px solid #ccc;
    margin-bottom: 12px;
  }
  ul.menus li a {
    color: #666 !important;
  }
  .side-menu {
    margin-top: 0;
  }
  .overlay {
    background-position: 66% 100%;
    background-size: cover;
    overflow-y: scroll;
  }
  header ul li a {
    border-right: 0px;
  }
  header ul.menus li:first-child {
    display: none;
  }
  header ul.menus li a {
    text-transform: uppercase;
  }
  .navigation-top ul li {
    display: block;
    line-height: 20px;
  }
  .coaching-menus li a .arrows {
    border-top: 4px solid #8aa14d;
    border-left: 4px solid #8aa14d;
  }
  .shiatsu-menus li a .arrows {
    border-top: 4px solid #83afda;
    border-left: 4px solid #83afda;
  }
  .sexualberatung-menus li a .arrows {
    border-top: 4px solid #c24e5c;
    border-left: 4px solid #c24e5c;
  }
  .sub-menu .arrows {
    display: none;
  }
  .banner .content h3 {
    font-size: 25px;
  }
  .banner .content .s-desc p {
    font-size: 18px;
    line-height: 25px;
  }
  .arrows {
    display: inline-block;
    position: absolute;
    width: 15px;
    border: 0;
    top: 22px;
    height: 15px;
    background: transparent;
    text-indent: -9999px;
    transition: all 250ms ease-in-out;
    text-decoration: none;
    color: transparent;
  }
  .arrows:before {
    display: block;
    height: 200%;
    width: 200%;
    margin-left: -50%;
    margin-top: -50%;
    content: "";
    transform: rotate(45deg);
  }
  .toggled {
    transform: rotate(45deg) !important;
  }
  .grid-items .sub-menu li a {
    margin-right: 0;
  }
  .grid-items li {
    position: relative;
  }
  .arrows.down {
    transform: rotate(-135deg);
    right: 17px;
  }
  .v-align {
    transform: inherit;
    margin-top: 100px;
  }
  .grid {
    gap: 0;
    grid-template-columns: repeat(auto-fit, minmax(100%, 1fr));
    overflow: hidden;
  }
  .grid-items ul {
    margin-bottom: 0;
  }
  /* .banner .content {
		display:none;
	} */
  .mobile-menu {
    display: block;
  }
  .desktop-menu {
    display: none;
  }
  .icon-menu {
    gap: 9px;
    margin-top: 4px;
  }
  .icon-menu span {
    width: 37px;
  }
  .overlay .closebtn {
    top: 12px;
    right: 7px;
    font-size: 39px;
  }
  #primary {
    padding: 35px 0 30px;
  }
  .banner .wrap {
    width: 94%;
  }
  .home-panels {
    padding: 0px 0 0px;
    overflow: hidden;
  }
  .desk {
    display: none;
  }
  .mobile {
    display: block;
  }
  header .logo a {
    width: 102px;
    height: 90px;
  }
  .banner {
    margin-top: -75px;
    height: 260px;
    background-position: 65% center !important;
  }
  /* .banner img{    transform: translateX(-35%); width:auto; height:100%; max-width:inherit;} */
  .site-content-contain .upper-part .menu-sidebar {
    width: 100%;
  }
  .site-content-contain .upper-part .right-part,
  .site-content-contain .upper-part .innerright-part {
    width: 100%;
  }
  body:not(.home) footer .wrap {
    border: 0;
  }
  footer .f-left {
    width: 100%;
    padding: 15px 20px;
  }
  footer .f-left .left {
    width: 70%;
    float: left;
  }
  footer .f-left .social {
    width: 30%;
    float: right;
  }
  footer .f-left ul li {
    display: block;
    border: 0;
  }
  footer .f-left ul li a,
  footer .f-left p {
    font-size: 13px;
    line-height: 20px;
    text-align: center;
  }
  footer .f-right {
    width: 100%;
    text-align: center;
    margin: 12px 0 0;
  }

  .site-content-contain .upper-part .right-part {
    margin-top: 15px;
  }

  .f-left h3 {
    color: #fff;
    display: block;
  }
  .home-panels ul.circle li {
    float: left;
    width: 100%;
    text-align: center;
    margin-bottom: 23px;
  }
  .home-panels ul.circle li figure {
    width: 173px;
    height: 171px;
  }
  .home-panels ul.HContent {
    display: none;
  }
  .site-content-contain {
    padding: 20px 0;
  }

  .m-menu {
    display: block;
  }
  .m-menu > span {
    font-size: 25px;
    font-family: "hindlight";
  }
  .site-content-contain .upper-part .right-part .content {
    padding: 10px 15px;
    position: absolute;
    bottom: 25px;
    top: inherit;
    margin-top: 0;
  }

  .site-content-contain .upper-part .right-part .content h3 {
    font-size: 15px;
  }
  .site-content-contain .upper-part .right-part .content .s-desc {
    text-indent: 15px;
  }
  .m-menu {
    display: inline-block;
    margin: 0px 0px 0px;
    cursor: pointer;
  }
  .m-menu .icon,
  .m-menu > span {
    display: inline-block;
  }
  .m-menu > span {
    margin-left: 5px;
    position: relative;
    top: -2px;
  }
  .m-menu .icon span {
    width: 18px;
    height: 3px;
    margin-bottom: 3px;
    display: block;
  }
  .menu-bulk {
    display: none;
    position: absolute;
    top: 100%;
    width: 100%;
    background: rgba(255, 255, 255, 0.9);
    z-index: 999;
    padding: 15px 0 0;
  }
  /* .innerright-part{margin-top:15px;} */
  .social {
    display: block;
    text-align: right;
  }
  .social ul {
    list-style: none;
    margin: 0;
    padding: 0;
    position: absolute;
    right: 10px;
    bottom: 10px;
    z-index: 99;
  }
  footer .f-left .social ul li {
    display: inline-block;
    margin-right: 0px;
    vertical-align: middle;
  }
  textarea {
    height: 80px;
  }
}

/* .content .s-desc p{color: #fff;} */
.page-content h4,
.page-content p {
  margin: 0 0 12px;
}

.wpsm_panel-heading span.fa-angle-down {
    font-size: 27px;
}
.acc-a span.fa-angle-down {
    transform: rotate(180deg);
    padding-left: 0px !important;
}
/* Accordion-Breite im Inhaltsbereich */
.page-content .wpsm_panel-group {
  max-width: 700px;   /* gewünschte maximale Breite */
  margin: 0 auto 30px; /* zentriert + etwas Abstand nach unten */
}

/* Überschriften-GRÖSSEN nur im Inhaltsbereich */
.page-content h1 { 
  font-size: 32px !important; 
  line-height: 1.2 !important; 
  margin-bottom: 24px !important;
}

.page-content h2 { 
  font-size: 28px !important; 
  line-height: 1.3 !important; 
  margin-bottom: 20px !important;
}

.page-content h3 { 
  font-size: 24px !important; 
  line-height: 1.3 !important; 
  margin-bottom: 12px !important;
}

.page-content h4 { 
  font-size: 20px !important; 
  line-height: 1.4 !important; 
  margin-bottom: 10px !important;
}

.page-content h5 { 
  font-size: 18px !important; 
  line-height: 1.4 !important; 
  margin-bottom: 10px !important;
}