/*
Theme Name: Waldtherapie Hamburg Twenty Twenty Five Child 
Theme URI: 
Template: twentytwentyfive
Author: WWP
Author URI: 
Description: Theme for Waldtherapie Hamburg
Version: 1.0
Updated: 2026-05-30 11:27:17

*/

html {
    scroll-behavior: smooth;
}

body {	
	color: #3c3c3c !important;
	font-family: 'Roboto', sans-serif !important;
	font-size: 15px !important; 		/* 15px */
	font-weight: 400 !important;
	letter-spacing: 0em !important;
	line-height: 24px !important;		/* 24px */
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	-webkit-tap-highlight-color: rgba( 0, 0, 0, 0 );
	font-feature-settings: "kern" 1 ,"liga" 1, "calt" 1, "locl" 1;
    -webkit-font-feature-settings: "kern" 1 ,"liga" 1, "calt" 1, "locl" 1;
    -moz-font-feature-settings: "kern" 1 ,"liga" 1, "calt" 1, "locl" 1;
    -ms-font-feature-settings: "kern" 1 ,"liga" 1, "calt" 1, "locl" 1;
    -o-font-feature-settings: "kern" 1 ,"liga" 1, "calt" 1, "locl" 1;
}

/* override WP default */
:where(.wp-site-blocks) > * {
  margin-block-start: 0 !important;
  margin-block-end: 0 !important;
  paddin-top: 0px !important;
}

a:link,
a:visited,
a:hover {
	color: #6fb62b;
	outline: 0;
	text-decoration: underline;
}

a[href^="tel"]:link,
a[href^="tel"]:visited,
a[href^="tel"]:hover {
	color: #3c3c3c;
	cursor: default;
	text-decoration: none;
}

a.white[href^="tel"]:link,
a.white[href^="tel"]:visited,
a.white[href^="tel"]:hover {
	color: #ffffff;
	cursor: default;
	text-decoration: none;
}

a[href^="mailto"]:link,
a[href^="mailto"]:visited,
a[href^="mailto"]:hover {
	color: #6fb62b;
	text-decoration: underline;
}

a.white[href^="mailto"]:link,
a.white[href^="mailto"]:visited,
a.white[href^="mailto"]:hover {
	color: #ffffff;
	text-decoration: none;
}

a.mailto-font-white[href^="mailto"]:link,
a.mailto-font-white[href^="mailto"]:visited,
a.mailto-font-white[href^="mailto"]:hover {
	color: #ffffff;
	text-decoration: none;
}


.font-semibold {
	font-weight: 600;
}


.main-content p {
	margin: 0px 0px 12px 0px !important;
}

.main-content-inner-inner p.paragraph-last {
	margin: 0px 0px 0px 0px !important;
}

h1, h2, h3, h4 {
	
}

h1 {
	
}

h1.home-h1 {
	color: #ffffff !important;
	font-size: 75px !important; 		/* 75px */
	font-weight: 700 !important;
	letter-spacing: 0em !important;
	line-height: 90px !important;		/* 90px */
	margin: 330px auto 0px auto !important;
	padding: 0px 0px 0px 0px !important;
	text-align: center !important;
	text-shadow: 0 0 3px #000000;
}

h1.function-page-h1 {
	color: #4b8b0b !important;
	font-size: 21px !important; 		/* 21px */
	font-weight: 400 !important;
	letter-spacing: 0em !important;
	line-height: 24px !important;		/* 90px */
	margin: 105px 0px 27px 0px !important;
	padding: 0px 0px 0px 0px !important;
	text-align: left !important;
}

h2 {

}

h2.home-h2 {
	color: #4b8b0b !important;
	font-size: 21px !important; 		/* 21px */
	font-weight: 400 !important;
	letter-spacing: 0em !important;
	line-height: 24px !important;		/* 90px */
	margin: -5px 0px 27px 0px !important;
	padding: 0px 0px 0px 0px !important;
	text-align: left !important;
}

h2.home-h2.margin-bottom {
	margin: -5px 0px 27px 0px !important;
}

h2.function-page-h2 {
	color: #6fb62b !important;
	font-size: 15px !important; 		/* 15px */
	font-weight: 400 !important;
	letter-spacing: 0em !important;
	line-height: 24px !important;		/* 24px */
	margin: 0px 0px 0px 0px !important;
	padding: 0px 0px 0px 0px !important;
	text-align: left !important;
}

h3 {

}

h3.home-h3 {
	color: #6fb62b !important;
	font-size: 15px !important; 		/* 15px */
	font-weight: 400 !important;
	letter-spacing: 0em !important;
	line-height: 24px !important;		/* 24px */
	margin: 0px 0px 0px 0px !important;
	padding: 0px 0px 0px 0px !important;
	text-align: left !important;
}

h3.home-h3.home-h3-padding-top {
	padding: 12px 0px 0px 0px !important;
} 


strong,
b {
	font-weight: 700;
}

.showtablet {
	display: none;
}

.showmobile {
	display: none;
}

.hidemobile {
	display: inline-block;
}

/*
 * Clearfix: contain floats
 *
 * For modern browsers
 * 1. The space content is one way to avoid an Opera bug when the
 *    `contenteditable` attribute is included anywhere else in the document.
 *    Otherwise it causes space to appear at the top and bottom of elements
 *    that receive the `clearfix` class.
 * 2. The use of `table` rather than `block` is only necessary if using
 *    `:before` to contain the top-margins of child elements.
 */

.clearfix:before,
.clearfix:after {
    content: " "; /* 1 */
    display: table; /* 2 */
}

.clearfix:after {
    clear: both;
}

.blockend {
	clear: both !important;
	float: none !important;
}

.flexible, 
.flexible img,
figure img
{
	height: auto !important;
	display: block !important;
	max-width: 100% !important;
	outline: 0 !important;
	-ms-interpolation-mode: bicubic !important;
	width: 100% !important;
}

.no-wrap {
	white-space: nowrap;
}

.reset-wp-margin-block-start {
	margin-block-start: 0px !important;
}

.no-background-image {
	background-image: none !important;
}

.header-background {
	background-color: transparent;
	left: 0px;
	padding: 0px 0px 20px 0px !important;
	position: fixed;	
	top: 0px;
	transition: background-color 0.4s ease-in-out;
	width: 100%;
	z-index: 20;
}

/* animated on start page,
small version on Imprint, privacy policy and non-js version */
.header-background.header-background-small,
.page-id-479 .header-background,
.page-id-3 .header-background,
.no-js .header-background {
	background-color: #ffffff;
}

.main-header-wrapper {
	margin: 0px auto !important;
	max-width: 1259px !important;
	width: 100% !important;
}

.header-logo {
	left: -78px;
	position: absolute;
	top: 28px;
	transition: transform 0.4s ease-in-out; 
	transform-origin: top left;  
	width: 325px;
}

.header-logo img {
	
}

/* animated on start page,
small version on Imprint, privacy policy and non-js version */
.header-logo.header-logo-small,
.page-id-479 .header-logo,
.page-id-3 .header-logo,
.no-js .header-logo {
   transform: scale( 0.6 ) translateY( -30px );  
}

.header-menu {
	float: right;
	padding: 135px 0px 0px 0px !important;
	transition: padding-top 0.4s ease-in-out;
}

/* animated on start page,
small version on Imprint, privacy policy and non-js version */
.header-menu.header-menu-small,
.page-id-479 .header-menu,
.page-id-3 .header-menu,
.no-js .header-menu {
	padding-top: 49px !important;
}

.contact-button {
	color: #ffffff !important;
	font-size: 30px !important; 		/* 30px */
	font-weight: 800 !important;
	letter-spacing: 0em !important;
	line-height: 30px !important;		/* 30px */
	margin: 51px auto 0px auto !important;
	padding: 0px 0px 0px 0px !important;
}

.contact-button-inner-wrapper {
	background: rgba( 111, 182, 43, 0.69 ) !important;
	content: "";
	margin: 0px auto;
    width: 428px !important;
    text-align: center !important;
}

.contact-button-inner {
	padding: 18px 0px 15px 0px !important;
}


/* navigation */

/* main menu */

#mega-menu-wrap-max_mega_menu_1 {
}

#mega-menu-wrap-max_mega_menu_1 .mega-menu-toggle {
	height: 58px !important;
	width: 58px !important;
}

#mega-menu-wrap-max_mega_menu_1 .mega-menu-toggle .mega-toggle-blocks-left {
    padding-left: 9px !important;
}

#mega-menu-wrap-max_mega_menu_1 .mega-menu-toggle .mega-toggle-blocks-right {
    padding-right: 9px !important;
}

#mega-menu-wrap-max_mega_menu_1 .mega-menu-toggle.mega-menu-open {
	/*background-color: #dbe8db !important;*/
}

#mega-menu-wrap-max_mega_menu_1 .mega-menu.max-mega-menu.mega-menu-horizontal {
	background-color: transparent !important;
	width: 300px !important;
    top: 78px !important;
    right: 0 !important;
	padding: 0px 0px 0px 00px !important;
    position: absolute !important;
}

#mega-menu-wrap-max_mega_menu_1 #mega-menu-max_mega_menu_1 > li.mega-menu-item {
	background-color: #d7e6d7 !important;
	border-bottom: 3px solid #ffffff !important;
	border-radius: 0em !important;
	color: #008201 !important;
	font-family: 'Roboto', sans-serif !important;
	font-size: 15px !important; 		/* 15px */
	font-weight: 700 !important;
	letter-spacing: 0em !important;
	line-height: 24px !important;		/* 24px */
	margin: 0px 0px 0px 0px !important;
	padding: 0 !important;
	text-align: left !important;
}

#mega-menu-wrap-max_mega_menu_1 #mega-menu-max_mega_menu_1 > li.mega-menu-item:nth-child( 1 ) {
	background: #d7e6d7 url( 'images/bg-menu-item-1.png' ) no-repeat !important;
	background-size: 10px 15px !important;
	background-position: 17px 13px !important;	
}

#mega-menu-wrap-max_mega_menu_1 #mega-menu-max_mega_menu_1 > li.mega-menu-item:nth-child( 2 ) {
	background: #d7e6d7 url( 'images/bg-menu-item-2.png' ) no-repeat !important;
	background-size: 12px 11px !important;
	background-position: 17px 12px !important;	
}

#mega-menu-wrap-max_mega_menu_1 #mega-menu-max_mega_menu_1 > li.mega-menu-item:nth-child( 3 ) {
	background: #d7e6d7 url( 'images/bg-menu-item-3.png' ) no-repeat !important;
	background-size: 10px 16px !important;
	background-position: 16px 9px !important;	
}

#mega-menu-wrap-max_mega_menu_1 #mega-menu-max_mega_menu_1 > li.mega-menu-item:nth-child( 4 ) {
	background: #d7e6d7 url( 'images/bg-menu-item-4.png' ) no-repeat !important;
	background-size: 12px 16px !important;
	background-position: 15px 10px !important;	
	border-bottom: 0px !important;
}

#mega-menu-wrap-max_mega_menu_1 #mega-menu-max_mega_menu_1 > li.mega-menu-item:nth-child( 5 ),
#mega-menu-wrap-max_mega_menu_1 #mega-menu-max_mega_menu_1 > li.mega-menu-item:nth-child( 6 ) {
	display: none;
}

#mega-menu-wrap-max_mega_menu_1 #mega-menu-max_mega_menu_1 > li.mega-menu-item a.mega-menu-link {
	color: #008201 !important;
	font-family: 'Roboto', sans-serif !important;
	font-size: 15px !important; 		/* 15px */
	font-weight: 700 !important;
	height: auto !important;
	letter-spacing: 0em !important;
	line-height: 24px !important;		/* 24px */
	margin: 0px 0px 0px 0px !important;
	padding: 7px 0px 8px 40px !important;
	text-decoration: none !important;
	outline: 0 !important;
}

#mega-menu-wrap-max_mega_menu_1 #mega-menu-max_mega_menu_1 > li.mega-menu-item a.mega-menu-link:hover,
#mega-menu-wrap-max_mega_menu_1 #mega-menu-max_mega_menu_1 > li.mega-menu-item.mega-current_page_item a.mega-menu-link {
	background-color: #388236 !important;
	color: #ffffff !important;
	text-decoration: none !important;
}

#mega-menu-wrap-max_mega_menu_1 #mega-menu-max_mega_menu_1 > li.mega-menu-item:nth-child( 1 ) a.mega-menu-link:hover, 
#mega-menu-wrap-max_mega_menu_1 #mega-menu-max_mega_menu_1 > li.mega-menu-item:nth-child( 1 ).mega-current_page_item a.mega-menu-link{
	background: #388236 url( 'images/bg-menu-item-1.png' ) no-repeat !important;
	background-size: 10px 15px !important;
	background-position: 17px 13px !important;	
}

#mega-menu-wrap-max_mega_menu_1 #mega-menu-max_mega_menu_1 > li.mega-menu-item:nth-child( 2 ) a.mega-menu-link:hover, 
#mega-menu-wrap-max_mega_menu_1 #mega-menu-max_mega_menu_1 > li.mega-menu-item:nth-child( 2 ).mega-current_page_item a.mega-menu-link {
	background: #388236 url( 'images/bg-menu-item-2.png' ) no-repeat !important;
	background-size: 12px 11px !important;
	background-position: 17px 12px !important;	
}

#mega-menu-wrap-max_mega_menu_1 #mega-menu-max_mega_menu_1 > li.mega-menu-item:nth-child( 3 ) a.mega-menu-link:hover, 
#mega-menu-wrap-max_mega_menu_1 #mega-menu-max_mega_menu_1 > li.mega-menu-item:nth-child( 3 ).mega-current_page_item a.mega-menu-link {
	background: #388236 url( 'images/bg-menu-item-3.png' ) no-repeat !important;
	background-size: 10px 16px !important;
	background-position: 16px 9px !important;	
}

#mega-menu-wrap-max_mega_menu_1 #mega-menu-max_mega_menu_1 > li.mega-menu-item:nth-child( 4 ) a.mega-menu-link:hover, 
#mega-menu-wrap-max_mega_menu_1 #mega-menu-max_mega_menu_1 > li.mega-menu-item:nth-child( 4 ).mega-current_page_item a.mega-menu-link {
	background: #388236 url( 'images/bg-menu-item-4.png' ) no-repeat !important;
	background-size: 12px 16px !important;
	background-position: 15px 10px !important;	
	border-bottom: 0px !important;
}


/* footer menu */

#mega-menu-wrap-max_mega_menu_2 {
	display: block !important;
	overflow: hidden !important;
}

#mega-menu-max_mega_menu_2.mega-menu.max-mega-menu.mega-menu-horizontal {
	padding: 0px 0px 0px 0px !important;
	margin: 0px -98px 0px 0px !important;
}

#mega-menu-wrap-max_mega_menu_2 #mega-menu-max_mega_menu_2 > li.mega-menu-item {
	color: #6c6c6c !important;
	font-family: 'Roboto', sans-serif !important;
	font-size: 16px !important; 		/* 16px */
	font-weight: 400 !important;
	letter-spacing: 0em !important;
	line-height: 22px !important;		/* 22px */
	margin: 0px 0px 0px 5px !important;
	padding: 7px 0px 8px 0px !important;
}

#mega-menu-wrap-max_mega_menu_2 #mega-menu-max_mega_menu_2 > li.mega-menu-item:nth-child( 2 ) {
	background: transparent url( images/bg-function-menu.gif ) top left no-repeat !important;*/
}

#mega-menu-wrap-max_mega_menu_2 #mega-menu-max_mega_menu_2 > li.mega-menu-item a.mega-menu-link {
	color: #6c6c6c !important;
	font-family: 'Roboto', sans-serif !important;
	font-size: 16px !important; 		/* 16px */
	font-weight: 400 !important;
	letter-spacing: 0em !important;
	line-height: 22px !important;		/* 22px */
	height: auto !important;
	margin: 0px !important;
	padding: 0px 0px 0px 0px !important;
	text-decoration: none !important;
	outline: 0 !important;
}

#mega-menu-wrap-max_mega_menu_2 #mega-menu-max_mega_menu_2 > li.mega-menu-item a.mega-menu-link:hover,
#mega-menu-wrap-max_mega_menu_2 #mega-menu-max_mega_menu_2 > li.mega-menu-item.mega-current_page_item a.mega-menu-link {
	text-decoration: none !important;
}


/* function menu */

ul.function-menu {
	display: inline-block;
	list-style-type: none;
	margin: 0px auto;
	padding: 0;
}

ul.function-menu li,
ul.function-menu li.menu-spacer,
ul.function-menu li.hi {
	color: #ffffff;
	display: block;
	float: left;
	font-family: 'Roboto', sans-serif;
	font-size: 15px; 	/*15px*/
	font-weight: 400;
	letter-spacing: 0em;
	line-height: 24px;	/*24px*/
	margin: 0px;
	padding: 0px;
}

ul.function-menu li.menu-spacer {
	margin: 0px 11px 0px 11px;
}

ul.function-menu li a,
ul.function-menu li.hi a {
	color: #ffffff;
	font-family: 'Roboto', sans-serif;
	font-size: 15px; 	/*15px*/
	font-weight: 400;
	letter-spacing: 0em;
	line-height: 24px;	/*24px*/
	margin: 0;
	outline: 0;
	text-decoration: none;
}

ul.function-menu li a:hover,
ul.function-menu li.hi {
}


/* main content */

.main-content {
	margin: 11px auto 0px auto !important;
	max-width: 1259px !important;
	width: 100% !important;
}

.main-content-first {
	margin: 57px auto 0px auto !important;
}

.main-content-left-text {
	float: left;
	width: 48.4%;
}

.main-content-right-image {
	float: right;
	padding: 0px 0px 15px 0px;
	width: 48.4%;
}

.main-content-left-image {
	float: left;
	padding: 0px 0px 15px 0px;
	width: 48.4%;
}

.main-content-right-text {
	float: right;
	width: 48.4%;
}

.main-content-full-width-wrapper {
	background-color: #d7e6d7;
	margin: 15px 0px 15px 0px !important;
	width: 100%;
}

.main-content-full-width {
	padding: 41px 33px 43px 33px !important;
	float: left;	
}

.main-content-ruler {
	background-color: #bfddbf;
	border: none !important;
	height: 5px;
	margin: 0px auto 0px auto !important;
	max-width: 1259px !important;
	width: 100% !important;
}

.main-content-left-text-semi-full {
	float: left;
	width: 70%;
}

.footer-wrapper {
	float: left;
	padding: 4px 0px 0px 0px;
	width: 100%;
}

.footer-wrapper-inner {
	background-color: #388236;
}

.footer-inner {
	
}

.footer-wrapper .contact-button {
	margin: 0px auto 0px auto !important;
	padding: 18px 0px 13px 0px !important;
}

.footer-wrapper .contact-button-inner {
	background: rgba( 94, 166, 46, 1 ) !important;
}

.footer-inner-address {
	color: #ffffff;
	font-size: 21px !important; 		/* 21px */
	font-weight: 400 !important;
	letter-spacing: 0em !important;
	line-height: 24px !important;		/* 24px */
	margin: 1px 0px -4px 0px !important;
	text-align: center;
}

.footer-inner-menu {
	padding: 0px 0px 7px 0px;
	text-align: center;
	width: 100%;
}



@media screen and ( max-width: 1460px ) {
	h1.home-h1 {
		width: 96% !important;
	}

	.main-header-wrapper {
		width: 96% !important;
	}
	
	.header-logo {
		left: 0px;
		top: 28px;
		width: 325px;
	}	

	.main-content {
		width: 96% !important;
	}
	
	.main-content-first {
		margin: 57px auto 0px auto !important;
	}

	.main-content-ruler {
		width: 96% !important;
	}	
}


@media screen and ( max-width: 1060px ) {
	h1.home-h1 {
		font-size: 6vw !important; 		/* 75px */
		line-height: 7vw !important;	/* 90px */
		margin: 31vw auto 0vw auto !important;
	}
	
	.contact-button {
		font-size: 2.8vw !important; 		/* 30px */
		line-height: 2.8vw !important;		/* 30px */
		margin: 5vw auto 0vw auto !important;
	}

	.contact-button-inner-wrapper {
		width: 40vw !important;
    }

	.contact-button-inner {
		padding: 1.6vw 0vw 1.4vw 0vw !important;
	}
	
	.main-content-left-text {
		width: 100%;
	}

	.main-content-right-image {
		width: 100%;
	}

	.main-content-left-image {
		float: right;
		width: 100%;
	}

	.main-content-right-text {
		float: left;
		width: 100%;
	}

	.main-content-ruler {
		width: 100% !important;
	}
	
}


@media screen and ( max-width: 767px)  {
	.showmobile {
		display: inline-block; 
	}

	.hidemobile {
		display: none;
	}
	
	body {	
		font-size: 16px !important; 		/* 15px */
		line-height: 22px !important;		/* 24px */
	}
	
	h1.home-h1 {
		font-size: 32px !important; 		/* 75px */
		line-height: 35px !important;	/* 90px */
		width: 92% !important;
	}

	h2.home-h2 {
		font-size: 18px !important; 		/* 21px */
		line-height: 24px !important;		/* 90px */
		margin: -5px 0px 21px 0px !important;
	}

	h2.home-h2.margin-bottom {
		margin: -5px 0px 21px 0px !important;
	}
	
	h3.home-h3 {
		font-size: 16px !important; 		/* 15px */
		line-height: 22px !important;		/* 24px */
	}

	h3.home-h3.home-h3-padding-top {
		padding: 11px 0px 0px 0px !important;
	} 
	
	.contact-button {
		font-size: 20px!important; 		/* 30px */
		line-height: 23px !important;		/* 30px */
		margin: 7vh auto 0vh auto !important;
	}

	.contact-button-inner-wrapper {
		width: 270px !important;
    }

	.contact-button-inner {
		padding: 11px 0px 9px 0px !important;
	}
	
	.main-content p {
		margin: 0px 0px 11px 0px !important;
	}
	
	.main-header-wrapper {
		width: 92% !important;
	}
	
	.header-logo {
		left: -4px;
		top: 28px;
		width: 203px;
	}
	
	.header-menu {
		padding: 91px 16px 0px 0px !important;
	}
	
	/* animated on start page,
	small version on Imprint, privacy policy and non-js version */
	.header-menu.header-menu-small,
	.page-id-479 .header-menu,
	.page-id-3 .header-menu,
	.no-js .header-menu {
		padding-top: 33px !important;
	}

	#mega-menu-wrap-max_mega_menu_1 .mega-menu-toggle {
		height: 40px !important;
		width: 46px !important;
	}

	#mega-menu-wrap-max_mega_menu_1 .mega-menu-toggle .mega-toggle-blocks-left {
		padding-left: 3px !important;
	}

	#mega-menu-wrap-max_mega_menu_1 .mega-menu-toggle .mega-toggle-blocks-right {
		padding-right: 3px !important;
	}

	.main-content {
		width: 92% !important;
	}
	
	.main-content-first {
		margin: 26px auto 0px auto !important;
	}

	.main-content-right-image {
		padding: 4px 0px 20px 0px;
	}

	.main-content-left-image {
		padding: 4px 0px 20px 0px;
	}
	
	.main-content-full-width-wrapper {
		margin: 20px 0px 20px 0px !important;
	}

	.main-content-full-width {
		padding: 21px 13px 13px 13px !important;	
	}
	
	.main-content-left-text-semi-full {
		width: 100%;
	}
	
	.footer-wrapper {
		padding: 9px 0px 0px 0px;
	}
	
	.footer-inner-address {
		font-size: 16px !important; 		/* 21px */
		line-height: 22px !important;		/* 24px */
	}
	
}


