﻿@charset "utf-8";

/**
 * Theme Name:     Seelen-Freiheit
 * Theme URI:      www.seelen-freiheit.net
 * Description:    Annelies Hell
 * Author:         Pircher Stefan
 * Author URI:     www.ps-design.it
 * Version:        1.0
 */

/* ============================
   > CONTENTS
   ==================
		> BODY, HTML
*/

/* ============================
   > BODY, HTML
   ================== */

body, html, input, button, textarea, select {
		font-family:var(--sfh_font_light); font-size:18px;
		line-height:1.6; color:var(--sfh_darkgrey);
}
body { background:var(--sfh_white); }

:root {
		/* farbwerte */
		--sfh_beige:#e9e8e2;
		--sfh_light_beige:#f8f7f2;
		--sfh_violet:#787091;
		--sfh_light_violet:#cfc9df;
		--sfh_green:#9b9433;
		--sfh_orange:#bc924f; /*#cf8a0f*/
		/*--sfh_green:#a8bf89;*/
		--sfh_yellow:#ffcc7d;
		--sfh_blue:#89b8c2;
		--sfh_rgba:rgba(255,255,255,.5);
		--sfh_darkgrey:#323130;
		--sfh_black:black;
		--sfh_white:white;
		/* schriften */
		--sfh_font_light:'Sofia-Pro-Light', Arial, Helvetica, sans-serif;
		--sfh_font_semi-bold:'Sofia-Pro-Semi-Bold', Arial, Helvetica, sans-serif;
		--sfh_font_bold:'Sofia-Pro-Bold', Arial, Helvetica, sans-serif;
		--sfh_pt_hl:'PT-Serif-Bold', Arial, Helvetica, sans-serif;
		--sfh_font_gv:'Great-Vibes-Regular', Arial, Helvetica, sans-serif;
}

/* ============================
   > FONT-EMBEDS
   ================== */

@font-face {
		font-family:'Sofia-Pro-Light'; font-display:swap;
		src:local('Sofia'), url(fonts/sofia-pro-light.woff2) format('woff');
}
@font-face {
		font-family:'Sofia-Pro-Semi-Bold'; font-display:swap;
		src:local('Sofia'), url(fonts/sofia-pro-semi-bold.woff2) format('woff');
}
@font-face {
		font-family:'Sofia-Pro-Bold'; font-display:swap;
		src:local('Sofia'), url(fonts/sofia-pro-bold.woff2) format('woff');
}
@font-face {
		font-family:'PT-Serif-Bold'; font-display:swap;
		src:local('PT-Serif'), url(fonts/pt-serif-bold.woff2) format('woff');
}
@font-face {
		font-family:'Great-Vibes-Regular'; font-display:swap;
		src:local('PT-Serif'), url(fonts/greatvibes-regular.woff2) format('woff');
}

/* ============================
   > LINKS
   ================== */

/*a:link 	{ font-family:var(--sfh_font_light), Arial, Helvetica, sans-serif; font-size:20px; color:var(--sfh_dark_grey); text-decoration:underline; }
a:visited 	{ font-family:var(--sfh_font_light), Arial, Helvetica, sans-serif; font-size:20px; color:var(--sfh_dark_grey); text-decoration:underline; }
a:active 	{ font-family:var(--sfh_font_light), Arial, Helvetica, sans-serif; font-size:20px; color:var(--sfh_dark_grey); text-decoration:none; }
a:hover 		{ font-family:var(--sfh_font_light), Arial, Helvetica, sans-serif; font-size:20px; color:var(--sfh_dark_grey); text-decoration:none; }*/

/* ============================
   > PRELOADER
   ================== */

#preloader {
		position:fixed;
		z-index:999; left:0; top:0px;
		width:100vw; height:100vh;
		overflow:hidden;

		background-color:var(--sfh_beige);
		display:flex; align-items:center;
		justify-content:center;
}
#preloader .logo {
		/*animation:zoom-in-zoom-out 3s ease infinite;*/
		/*background:url('images/seelen-freiheit.webp') no-repeat center / contain;*/
		background:url('images/loading.svg') no-repeat center / contain;
		width:80px; height:80px; filter:none;
}
/* keyframes */
@keyframes zoom-in-zoom-out {
		0% { transform:scale(1, 1); opacity:.4; }
		50% { transform:scale(1.1, 1.1); opacity:.8; }
		100% { transform:scale(1, 1); opacity:.4; }
}

/* media-queries */

/* ============================
   > FLEXBOX
   ================== */

.flex {
		display:-webkit-flex;
		display:-ms-flexbox;
		display:flex;
}

/* ============================
   > H/V CENTERING
   ================== */

.halign { left:50%; transform:translateX(-50%); } /* h-align */
.valign { top:50%; transform:translateY(-50%); } /* v-align */
.hvalign { top:50%; left:50%; transform:translate(-50%,-50%); } /* h+v-align */

/* ============================
   > WPML-LANGSWITCHER
   ================== */

/* wpml-banner-dev-site-ausblenden */
.otgs-development-site-front-end {
		display:none;
}
.wpml-ls {}

/* media-queries */

/* ============================
   > WRAPPER
   ================== */

.wrap {
		/*background-color:var(--sfh_rgba);*/
		margin:0 auto;
}
.wrap.small { max-width:980px; }
.wrap.std { max-width:1250px; }
.wrap.wide { max-width:1440px; }

.wrap.vpadd {
		padding:100px 0;
}

/* media-queries */
@media screen and (max-width: 1540px) {
		.wrap.wide {
				margin:0 50px;
		}
}
@media screen and (max-width: 1280px) {
		.wrap.vpadd {
				padding:80px 0;
		}
}
@media screen and (max-width: 980px) {
		.wrap.vpadd {
				padding:60px 0;
		}
}
@media screen and (max-width: 720px) {
		.wrap.wide {
				margin:0 25px;
		}
		.wrap.vpadd {
				padding:40px 0;
		}
}

/* ============================
   > HEADLINES
   ================== */

.wrap h1, .wrap h2 {
		font-family:var(--sfh_font_gv);
		font-size:60px; line-height:1.3;
		text-align:center; margin:0 0 20px;
		color:var(--sfh_orange);
}
.wrap h3, .page-child .wrap h1 {
		font-family:var(--sfh_font_semi-bold);
}
.page-child .wrap h1 {
		font-size:50px;
}

/* media-queries */
@media screen and (max-width: 1280px) {
		.page-child .wrap h1 {
				font-size:40px;
		}
}
@media screen and (max-width: 980px) {
		.page-child .wrap h1 {
				font-size:35px;
		}
}
@media screen and (max-width: 720px) {
		.page-child .wrap h1 {
				font-size:30px;
		}
}

/* ============================
   > LOGO
   ================== */

.logo { background:url('images/seelen-freiheit.webp') no-repeat center / contain; }

/* media-queries */

/* ============================
   > HEADER
   ================== */

#header {
		position:fixed; z-index:9;
		background-color:var(--sfh_beige);
		top:0; left:0; right:0;
}
#header .wrap {
		display:flex; align-items:center;
		justify-content:space-between;
}
#header .logo {
		display:flex;
		width:250px; height:130px;
		text-decoration:none;
		align-items:center;
		background-position-x:right;
}
#header .topic {
		font-family:var(--sfh_font_gv);
		font-size:68px; line-height:1;
		color:var(--sfh_orange);
		text-decoration:none;
		white-space:nowrap;
		/*flex:0 0 443px;*/
}
#header .logo,
#header .trigger {
		flex:1;
}

/* media-queries */
@media screen and (max-width: 1280px) {
		#header .logo {
				width:200px; height:104px;
		}
		#header .topic {
				font-size:40px;
		}
}
@media screen and (max-width: 980px) {
		#header .logo {
				width:170px; height:88px;
		}
		#header .topic {
				/*font-size:32px;*/
		}
}
@media screen and (max-width: 720px) {
		#header .logo {
				width:140px; height:73px;
		}
		#header .topic {
				/*font-size:24px;*/
		}
}
@media screen and (max-width: 640px) {
		#header .logo {
				flex:0; width:auto;
				background:none;
		}
		#header .topic {
				/*font-size:22px;*/
		}
}

/* ============================
   > MENUTRIGGER
   ================== */

.mmtrigger {
		position:relative;
		cursor:pointer; display:flex;
		justify-content:space-between;
		flex-direction:column;

		width:40px; height:30px;
		transition-duration:.5s;
}
.mmtrigger::after {
		position:absolute;
		content:'Menü'; /*right:65px;*/
		color:var(--sfh_orange);
		margin-left:65px;
}
.mmtrigger.open::after {
		content:'Schließen';
}
.mmtrigger > span {
		width:100%; align-self:flex-start;
		background-color:var(--sfh_orange);
		transition:all .25s; height:2px;
}
.mmtrigger:hover span:nth-child(2) {
		width:70%;
}
/* x-when-mm-is-open */
.mmtrigger.open > span {
		transition:all .4s ease;
		transition-duration:0.5s;
}
.mmtrigger.open span:nth-child(2) {
		background:transparent;
}
.mmtrigger.open span:nth-child(1) {
  		transform:rotateZ(45deg) scaleX(1.25) translate(8px, 8px);
}
.mmtrigger.open span:nth-child(3) {
  		transform:rotateZ(-45deg) scaleX(1.25) translate(10px, -10px);
}

/* media-queries */
@media screen and (max-width: 640px) {
		.mmtrigger::after {
				display:none;
		}
}

/* ============================
   > MENU-OVERLAY
   ================== */

#mmoverlay {
		position:fixed; z-index:9;
		left:0; top:0; width:100%; height:100%;
		background-color:var(--sfh_beige);
		/* fade-in-out-effect */
		visibility:hidden; opacity:0;
		transition:opacity 400ms ease-in, visibility 0ms ease-in 400ms;
}
#mmoverlay.open {
		visibility:visible; opacity:1;
		transition-delay:0ms;
}
#mmoverlay .inner {
		position:absolute;
		width:100%; height:100%;
		display:flex; align-items:center;
		justify-content:center;
		overflow:auto;
}
/* mmoverlay-mmenu-slidein */
#mmoverlay .mmenu li {
		text-align:center; margin:0;
		width:100%; position:relative;
		opacity:0; padding:18px 0;
}
#mmoverlay.open .mmenu li {
		animation:fadeInBottom cubic-bezier(0.455, 0.03, 0.515, 0.955) 0.75s forwards;
		bottom:-50%; opacity:0%;
}
#mmoverlay .mmenu li a {
		font-family:var(--sfh_font_semi-bold);
		font-size:32px; line-height:1.2;
		color:var(--sfh_darkgrey);
		transition:color .2s ease;
		text-decoration:none;
}
#mmoverlay .mmenu li a:hover {
		color:var(--sfh_orange);
}
/* fade-in-keyframe-animation */
#mmoverlay.open .mmenu li:first-of-type { animation-delay:360ms; }
#mmoverlay.open .mmenu li:nth-of-type(2) { animation-delay:480ms; }
#mmoverlay.open .mmenu li:nth-of-type(3) { animation-delay:600ms; }
#mmoverlay.open .mmenu li:nth-of-type(4) { animation-delay:720ms; }
#mmoverlay.open .mmenu li:nth-of-type(5) { animation-delay:840ms; }
#mmoverlay.open .mmenu li:nth-of-type(6) { animation-delay:960ms; }
#mmoverlay.open .mmenu li:last-of-type { animation-delay:1080ms; }

/* keyframe-animations */
@keyframes fadeInBottom {
    100% {
        opacity:1;
        bottom:0;
    }
}

/* media-queries */
@media screen and (max-width: 980px) {
		#mmoverlay .mmenu li a {
				font-size:30px;
		}
}
@media screen and (max-width: 720px) {
		#mmoverlay .mmenu li {
				padding:14px 0;
		}
		#mmoverlay .mmenu li a {
				font-size:28px;
		}
}
@media screen and (max-width: 640px) {
		#mmoverlay .mmenu li {
				padding:10px 0;
		}
		#mmoverlay .mmenu li a {
				font-size:24px;
		}
}

/* ============================
   > HERO-SECTION
   ================== */

#hero {
		/*background:url('images/seelen-freiheit_hero.webp') no-repeat center / cover;
		height:100vh;*/
}
#hero img {
		height:auto;
		max-width:100%;
		display:block;
}
.page-child #hero {
		margin-top:130px; /* < height-of-header */
}

/* media-queries */
@media screen and (max-width: 1280px) {
		#hero .wrap {
				margin:0 !important;
		}
		.page-child #hero {
				margin-top:104px;
		}
}
@media screen and (max-width: 980px) {
		#hero {
				/*height:80vh;*/
		}
		.page-child #hero {
				margin-top:88px;
		}
}
@media screen and (max-width: 720px) {
		#hero {
				/*height:70vh;*/
		}
		.page-child #hero {
				margin-top:73px;
				/*height:40vh;*/
		}
}
@media screen and (max-width: 480px) {
		#hero {
				/*height:60vh;*/
		}
		.page-child #hero {
				/*height:30vh;*/
		}
}

/* ============================
   > PAGE-HOME
   ================== */

#home {
		/*background-color:var(--sfh_yellow);*/
}
#home .text {
		padding:0 100px 40px;
		text-align:center;
}
#home p, .page-child p {
		margin-bottom:20px;
}
#home img {
		max-width:100%;
		height:auto;
}

/* themen-blöcke */
#hero { background-color:var(--sfh_beige); }
#notalone { background-color:var(--sfh_beige); }
/*#helpingyou { background-color:green; }*/
#myapproach { background-color:var(--sfh_light_beige); }
#aboutmyself { background-color:var(--sfh_light_violet); }
#testimonials { background-color:var(--sfh_light_beige); }

.block {
		scroll-margin-top:130px; /* < header-height */
		/* offset-for-anchor-links */
}

/* 4item-grid-basic-styles */
.grid {
		display:grid; grid-gap:36px;
		grid-template-columns:repeat(2, 1fr);
		/*grid-template-rows:1fr;*/
}
.grid.otheroffers {
		grid-template-columns:repeat(3, 1fr);
		margin-top:80px; display:none;
}
.grid .item {
		background-color:var(--sfh_beige);
		border-radius:12px; grid-gap:45px;
		padding:25px;

		position:relative;
		transition:all .8s ease;
		opacity:0; bottom:-25%;
}
.grid.visible .item {
		opacity:1; bottom:0;
}
.grid.visible .item:nth-child(1) { transition-delay:480ms; }
.grid.visible .item:nth-child(2) { transition-delay:600ms; }
.grid.visible .item:nth-child(3) { transition-delay:720ms; }
.grid.visible .item:nth-child(4) { transition-delay:840ms; }

/* 4item-grid-custom-styles */
.grid .item.full {
		background:none;
		justify-content:center;
		grid-column:1 / -1;
}
.grid .item.full span {
		font-family:var(--sfh_pt_hl);
		font-size:32px; line-height:1.3;
		text-align:center;
}
#helpingyou .grid .item {
		display:flex;
}
.grid .item .left,
.grid .item .right {
		display:flex; /*flex:1;*/
		justify-content:space-between;
		flex-direction:column;
}
.grid .item .left {
		/*background-color:red;*/
}
.grid .item .right {
		/*background-color:blue;*/
}
.grid .item .right {
		justify-content:flex-start;
}
/* left-col */
.grid .item .left span {
		font-family:var(--sfh_font_semi-bold);
		text-align:center; letter-spacing:2px;
		text-transform:uppercase;
		color:var(--sfh_violet);
}
.grid .item picture {
		width:250px; height:250px;
		/*background-color:cadetblue;*/
}
.grid .item .price, .page-child .price {
		color:var(--sfh_violet); font-size:20px;
		font-family:var(--sfh_font_semi-bold);
		text-align:center;
}
.page-child .price {
		color:var(--sfh_darkgrey);
}
.page-child .price sub {
		display:none;
}

/* right-col */
.grid .item h3 {
		font-size:26px;
		line-height:1.2;
		/*margin-bottom:25px;*/
		color:var(--sfh_violet);
		margin:25px 0;
}
.page-child h1 sub {
		font-size:65%;
		line-height:0;
		position:relative;
		bottom:-0.25em;
		left:1em;
}
.page-child h1 sub {
		font-size:45%;
}
.grid .item h3 sub {
		display:none;
}
.grid .item p {
		margin-bottom:25px;
}
.grid .item .book {
		display:flex; /*margin-top:25px;*/
		justify-content:flex-end;
		margin-top:auto;
}
.grid .item .booknow {
		padding:16px 40px; line-height:1;
		background-color:var(--sfh_violet);
		color:var(--sfh_white); cursor:pointer;
		text-decoration:none; border-radius:4px;
		display:inline-block;
}

/* media-queries */
@media screen and (max-width: 1280px) {
		.block {
				scroll-margin-top:104px;
		}
		#home h2, .page-child h1 {
				font-size:55px;
		}
		#home .text {
				padding:0 50px 40px;
		}
		#helpingyou .grid .item {
				flex-wrap:wrap;
		}
		#helpingyou .grid .item .left {
				flex:1;
		}
		.grid .item .left span {
				padding:0 0 10px;
		}
		.grid .item picture {
				width:100%; height:auto;
				min-width:250px;
		}
}
@media screen and (max-width: 980px) {
		#home h2, .page-child h1 {
				font-size:50px;
		}
		#home .text {
				padding:0 25px 30px;
		}
		#helpingyou .grid {
				grid-template-columns:auto
		}
		#helpingyou .grid .item {
				flex-wrap:unset;
		}
}
@media screen and (max-width: 720px) {
		.block {
				scroll-margin-top:73px;
		}
		#home h2, .page-child h1 {
				font-size:45px;
		}
		#helpingyou .grid .item {
				flex-wrap:wrap;
				grid-gap:0;
		}
		#helpingyou .grid .item .left {
				flex:1;
		}
		.grid .item picture {
				min-width:0;
		}
		.grid .item .price {
				text-align:left;
		}
		.grid .item h3 {
				margin:15px 0;
		}
		.grid .item .booknow {
				display:flex; flex:1;
				justify-content:center;
				padding:16px 0;
		}
}
@media screen and (max-width: 480px) {
		#home h2, .page-child h1 {
				margin:0 0 10px;
				font-size:40px;
		}
		.grid .item h3 {
				font-size:24px;
		}
}

/* ============================
   > NOTALONE
   ================== */

#notalone .wrap {
		/*background-color:var(--sfh_light_beige);*/
}
#notalone picture,
#notalone picture img {
		display:block;
}
#notalone picture img {
		margin:0 auto;
		max-width:640px;
		width:100%;
}

/* ============================
   > MYAPPROACH
   ================== */

#myapproach .grid .item {
		background-color:var(--sfh_beige);
		padding:45px;
}
#myapproach .grid .item h3 {
		margin:0 0 15px;
}
/* media-queries */
@media screen and (max-width: 980px) {
		#myapproach .grid {
				grid-template-columns:auto
		}
}

/* ============================
   > ABOUTMYSELF
   ================== */

#aboutmyself .intro {
		display:flex; grid-gap:60px;
		align-items:center;
}
#aboutmyself .lc {
		/*background-color:orange;*/
}
#aboutmyself .rc {
		/*background-color:limegreen;*/
		max-width:350px;
}
#aboutmyself .rc picture {
		display:block;
}
#aboutmyself .rc img {
		border-radius:25px;
}
#aboutmyself h2,
#aboutmyself .text {
		text-align:left;
}
#aboutmyself h2 {
		color:var(--sfh_violet);
}
#aboutmyself .text {
		padding:0;
}
#aboutmyself strong {
		font-family:var(--sfh_font_bold);
}

/* media-queries */
@media screen and (max-width: 980px) {
		#aboutmyself .intro {
				flex-wrap:wrap; grid-gap:40px;
				justify-content:center;
		}
		#aboutmyself h2,
		#aboutmyself .text {
				text-align:center;
		}
}

/* ============================
   > MOREABOUTME
   ================== */

#moreaboutme .vpadd {
		padding:60px 0;
}
#aboutmyself .showmore,
#aboutmyself .showmore::after {
		display:flex; align-items:center;
}
#aboutmyself .showmore {
		font-size:48px; margin:0;
		cursor:pointer;

		display:flex; grid-gap:10px;
		justify-content:flex-start;
}
#aboutmyself .showmore::after {
		content:''; width:40px; height:40px; justify-content:center;
		background:url('images/ico_plus-minus.webp') no-repeat center top / cover;
}
#aboutmyself .showmore.is-open::after {
		background-position:bottom;
}
/* slideout-content */
.about_wrapper {
		display:grid; grid-template-rows:0fr;
  		transition:grid-template-rows 0.5s ease-out;
}
.about_wrapper .inner {
		overflow:hidden; margin:0;
}
.about_wrapper .inner .spacer {
		height:20px;
}
.about_wrapper.is-open {
		grid-template-rows:1fr;
}
.about_wrapper .inner ul {
		margin:20px 0 40px 20px;
		list-style:disc;
}

/* media-queries */
@media screen and (max-width: 980px) {
		#aboutmyself .showmore {
				font-size:44px; margin-top:30px;
				justify-content:center;
		}
}
@media screen and (max-width: 720px) {
		#aboutmyself .showmore {
				font-size:40px;
		}
}
@media screen and (max-width: 480px) {
		#aboutmyself .showmore {
				margin-top:20px;
				font-size:36px;
		}
		#aboutmyself .vpadd {
				padding:40px 0;
		}
}

/* ============================
   > PAGE-CHILD
   ================== */

.page-child .wrap h3 {
		font-size:24px;
		margin-bottom:12px;
}
.page-child .text {
		text-align:center;
}
.page-child label {
		font-family:var(--sfh_font_semi-bold);
		font-weight:normal !important;
}
.page-child .booknow {
		margin-top:80px;
}
.page-child .booknow h3 {
		text-align:center;
		margin-bottom:15px;
		font-size:32px;
}

/* media-queries */
@media screen and (max-width: 980px) {
		.page-child h3 {
				margin-top:60px;
				font-size:30px;
		}
		.page-child .booknow h3 {
				font-size:28px;
		}
}
@media screen and (max-width: 720px) {
		.page-child h3 {
				margin-top:40px;
				font-size:26px;
		}
		.page-child .booknow h3 {
				font-size:26px;
		}
		.page-child .booknow {
				margin-top:60px;
		}
}
@media screen and (max-width: 480px) {
		.page-child h3 {
				margin-top:40px;
				font-size:22px;
		}
		.page-child .booknow h3 {
				font-size:24px;
		}
		.page-child .booknow {
				margin-top:40px;
		}
}

/* ============================
   > STD-PAGE-TEMPLATE
   ================== */

#page p {
		margin-bottom:20px;
}
#page strong {
		font-family:var(--sfh_font_semi-bold);
}
#page a {
		color:var(--sfh_orange);
}
#page ul {
		list-style:disc;
		margin:20px;
}

/* ============================
   > BOOKING-CALENDAR
   ================== */

.wpbc_times_selector div.wpbc_time_selected {
		background-color:var(--sfh_green) !important;
		border:1px solid var(--sfh_green) !important;
}
.wpbc__row:nth-of-type(2) .wpbc__field {
		flex-direction:column !important;
		justify-content:flex-start !important;
}
.datepick-inline .datepick-days-cell .date-cell-content a {
		color:var(--sfh_darkgrey) !important;
}
.datepick-inline .datepick-header span,
.datepick-inline .datepick-days-cell .date-cell-content a,
.datepick-inline .datepick-days-cell .date-cell-content span {
		font-family:var(--sfh_font_semi-bold);
		font-weight:normal !important;
}

/* ============================
   > PAGE-ANFRAGE-CF7
   ================== */

.wpcf7 {
		text-align:left;
}
.wpcf7 fieldset a {
		color:var(--sfh_text);
}
#content.form p {
		margin-bottom:0;
}
/* focus-deaktivieren */
.wpcf7 input:focus,
.wpcf7 select:focus,
.wpcf7 textarea:focus,
.wpcf7 button:focus {
		box-shadow:0 0 12px var(--sfh_orange);
		outline:none !important;
}
/* placeholder-color-u-opacity */
::-webkit-input-placeholder { color:var(--sfh_darkgrey) !important; opacity:.3; }
:-moz-placeholder { color:var(--sfh_darkgrey) !important; opacity:.3; }
::-moz-placeholder { color:var(--sfh_darkgrey) !important; opacity:.3; }
:-ms-input-placeholder { color:var(--sfh_darkgrey) !important; opacity:.3; }

/* grid-styles */
.wpcf7 .cf7grid { display:grid; grid-gap:20px; }
.wpcf7 .cf7grid.two { grid-template-columns:repeat(2, 1fr); }
.wpcf7 .cf7grid.three { grid-template-columns:repeat(3, 1fr); }
.wpcf7 textarea {	max-height:120px; resize:none; }

/* field-styles */
.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 input[type="number"],
.wpcf7 input[type="select"],
.wpcf7 input[type="submit"],
.wpcf7 textarea {
		font-family:var(--sfh_font_light);
		font-size:18px; line-height:2.8;
		padding:0 0 0 20px; width:100%;

		background:var(--sfh_white);
		border:1px solid var(--sfh_orange);
		box-sizing:border-box;
		border-radius:6px;
}
/* remove-arrows/spinners
chrome-safari-edge-opera */
input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
		-webkit-appearance:none;
		margin:0;
}
/* firefox */
input[type=number] {
		-moz-appearance:textfield;
}
/* fieldset-dsgvo */
.wpcf7 .dsgvo {
		font-family:var(--sfh_font_light);
		font-size:15px; line-height:1.2;
		color:var(--sfh_text);
		margin-bottom:40px;
}
.wpcf7 .dsgvo label {
		display:grid; grid-gap:15px;
		grid-template-columns:repeat(2, auto);
		align-items:center;
}
.wpcf7 .dsgvo .wpcf7-list-item {
		display:inline-block;
}
.wpcf7 .cf7grid div > p,
.wpcf7 .mitteilung > p {
		display:flex; grid-gap:7px;
		flex-direction:column;

		font-family:var(--sfh_font_light);
		font-size:15px; line-height:1;
		color:var(--sfh_text);
}
.wpcf7 .mitteilung {
		padding:40px 0;
}
.wpcf7 br {
		display:none;
}
/* custom-checkbox-styles */
.wpcf7 input[type="checkbox"] {
		background:var(--sfh_orange); border:0;
		position:relative; width:40px; height:20px;
		outline:none; transition:.5s; border-radius:10px;
		-webkit-appearance:none; -moz-appearance:none;
   	appearance:none;
}
.wpcf7 input:checked[type="checkbox"] {
		background:var(--sfh_green);
}
.wpcf7 input[type="checkbox"]:before {
		position:absolute; content:'';
		width:20px; height:20px; top:0; left:0;
		background:#fff; transform:scale(1.1);
		box-shadow:0 2px 5px rgba(0,0,0,.2);
		transition:.5s; border-radius:10px;
}
.wpcf7 input:checked[type="checkbox"]:before {
		left:20px;
}
/* submit-btn-styles */
.wpcf7 input[type="submit"] {
		font-family:var(--sfh_font_bold);
		color:var(--sfh_white); cursor:pointer;
		font-size:24px; line-height:1.8;

		background-color:var(--sfh_orange);
		display:flex; justify-content:center;
		padding:10px 0; border:0;
}
.wpcf7 input[type="submit"]:disabled {
		opacity:.2;
}
/* field-validation */
.wpcf7 form.invalid u { color:#ff0000 !important; }
.wpcf7 .wpcf7-not-valid { border:1px solid #ff0000 !important; }
.wpcf7 span.wpcf7-not-valid-tip, div.wpcf7 div.screen-reader-response { display:none; }
.wpcf7 form .wpcf7-response-output { margin:0 0 40px; padding:20px; text-align:center; font-size:16px; }
.wpcf7 form.sent .wpcf7-response-output { border:1px solid #05e029 !important; background:#e6fce9; color:#484848; }
.wpcf7 form.invalid .wpcf7-response-output { border:1px solid #ff0000 !important; background:#ffe5e5; color:#484848; }

/* media-queries */
@media screen and (max-width: 980px) {
		.wpcf7 .cf7grid.three {
				grid-template-columns:repeat(2, 1fr);
		}
}
@media screen and (max-width: 720px) {
		#anfrage #form {
				padding:60px 50px;
		}
		.wpcf7 .cf7grid.three,
		.wpcf7 .cf7grid.two {
				grid-template-columns:auto;
		}
}
@media screen and (max-width: 540px) {
		#anfrage #form {
				padding:40px 25px;
		}
		#anfrage .txt {
				margin:0 auto 30px;
		}
		.wpcf7 .cf7grid.three,
		.wpcf7 .cf7grid.two {
				grid-template-columns:auto;
		}
}

/* ============================
   > OWL-CAROUSEL
   ================== */

#reviews .owl-item {
		background-color:coral;
		height:100px;
}

/* ============================
   > FLEXSLIDER
   ================== */

.vertical-slider li {
		text-align:center;
}
.vertical-slider li p {
		background-color:yellow;
}
.vertical-slider .flex-direction-nav {
		display:none;
}

/* vertical-text-slider
https://codepen.io/iamrandeep/pen/rKKLEx */
#container {
		height:150px; padding:0 20%;
		overflow:hidden; text-align:center;
		/*background-color:lime;*/
}
#listing {
		position:relative; top:0px;
		width:100%; list-style-type:none;
		margin:0px; padding:0;
}
#listing li {
		/*width:100%;*/ height:150px;
		margin:10px; padding:0px;
		/*background-color:orange;*/
}
#listing li span {
		font-family:var(--sfh_font_semi-bold);
		display:block; margin-top:15px;
}

/* media-queries */
@media screen and (max-width: 1280px) {
		#container {
				padding:0 15%;
		}
}
@media screen and (max-width: 980px) {
		#container {
				padding:0;
		}
}
@media screen and (max-width: 720px) {
		#container, #listing li {
				height:200px;
		}
}

/* ============================
   > FOOTER
   ================== */

#footer {
		background-color:var(--sfh_beige);
}
#footer .wrap {
		display:flex;
		padding:40px 0;
		grid-gap:40px;
}
#footer .col {
		flex:1;
}
#footer .col strong {
		font-family:var(--sfh_font_semi-bold);
		font-size:20px; display:block;
}
#footer .col a {
		color:var(--sfh_darkgrey);
}

/* media-queries */
@media screen and (max-width: 980px) {
		#footer .wrap {
				overflow:hidden;
				flex-wrap:wrap;
		}
		#footer .col {
				flex:0 0 calc(50% - 40px);
		}
}
@media screen and (max-width: 720px) {
		#footer .wrap {
				grid-gap:20px;
		}
		#footer .col {
				flex:100%; text-align:center;
				/*line-height:1.4;*/
		}
		#footer .col.four {
				display:flex; flex-wrap:wrap;
				justify-content:center;
				grid-gap:5px 10px;
		}
		#footer .col.four h3 {
				flex:100%;
		}
}

/* ============================
   > FANCYBOX-POPUPS
   ================== */

.popup {
		/*max-width:980px;*/
		width:980px;
		display:none;
}
.popup label {
		font-family:var(--sfh_font_semi-bold);
		font-weight:normal !important;
}
.popup h3 {
		text-align:center;
		font-size:32px;
}

/* ============================
   > COMPLIANZ-GDPR
   ================== */

/* cookie-banner */
#cmplz-manage-consent button.cmplz-btn {
		font-family:var(--sfh_font_semi-bold);
		bottom:0 !important;
}
#cmplz-document .cmplz-subtitle {
		font-family:var(--sfh_font_semi-bold);
		font-weight:normal;
}
/* cookie-seite */
#cmplz-document h2,
#cmplz-document h3 {
		font-family:var(--sfh_font_semi-bold);
}
#cmplz-document {
		max-width:none !important;
}
#cmplz-document p,
#cmplz-document p a,
#cmplz-document li {
		line-height:1.6;
		font-size:18px;
}

/* media-queries */

/* ============================
   > BACKTOP
   ================== */

.backtop {
		position:fixed; z-index:8; cursor:pointer;
		bottom:-50px; left:15px; width:60px; height:50px;
		display:flex; align-items:center; border-radius:50%;
		border-radius:4px; background:var(--sfh_orange);
		justify-content:center; opacity:0;
		transition:all .3s ease-in-out;
}
.backtop.active {
		bottom:28px; opacity:1;
}
.backtop:after {
		border:solid var(--sfh_white);
		display:inline-block; content:'';
		border-width:0 2px 2px 0; padding:5px;
		margin-top:5px; transform:rotate(-135deg);
		-webkit-transform:rotate(-135deg);
}