/*
 Theme Name:     Divi Child Theme
 Template:       Divi
*/

/* ----------------------------------------------------------------------- 
############ Fonts START #################################################
----------------------------------------------------------------------- */
/* dancing-script-regular - latin */
@font-face {
  font-family: 'Dancing Script';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('/wp-content/themes/Divi-Child/fonts/google/dancing-script-v15-latin-regular.woff2') format('woff2'),
       url('/wp-content/themes/Divi-Child/fonts/google/dancing-script-v15-latin-regular.woff') format('woff');
}
@font-face {
    font-family: 'ETmodules';
    src: url('/wp-content/themes/Divi/core/admin/fonts/modules/all/modules.woff') format('woff');
    font-display: swap;   /* Because not default by divi  */
}
@font-face {
	font-family: FontAwesome;
	font-weight: 400;
	src: url(/wp-content/themes/Divi/core/admin/fonts/fontawesome/fa-regular-400.eot);
	src: url(/wp-content/themes/Divi/core/admin/fonts/fontawesome/fa-regular-400.eot?#iefix) format("embedded-opentype"), 
	url(/wp-content/themes/Divi/core/admin/fonts/fontawesome/fa-regular-400.woff2) format("woff2"), 
	url(/wp-content/themes/Divi/core/admin/fonts/fontawesome/fa-regular-400.woff) format("woff"), 
	url(/wp-content/themes/Divi/core/admin/fonts/fontawesome/fa-regular-400.ttf) format("truetype"), 
	url(/wp-content/themes/Divi/core/admin/fonts/fontawesome/fa-regular-400.svg#fontawesome) format("svg");
	font-display: swap;   /* Because not default by divi  */
}

@font-face {
	font-family: FontAwesome;
	font-weight: 900;
	src: url(/wp-content/themes/Divi/core/admin/fonts/fontawesome/fa-solid-900.eot);
	src: url(/wp-content/themes/Divi/core/admin/fonts/fontawesome/fa-solid-900.eot?#iefix) format("embedded-opentype"), 
	url(/wp-content/themes/Divi/core/admin/fonts/fontawesome/fa-solid-900.woff2) format("woff2"), 
	url(/wp-content/themes/Divi/core/admin/fonts/fontawesome/fa-solid-900.woff) format("woff"), 
	url(/wp-content/themes/Divi/core/admin/fonts/fontawesome/fa-solid-900.ttf) format("truetype"), 
	url(/wp-content/themes/Divi/core/admin/fonts/fontawesome/fa-solid-900.svg#fontawesome) format("svg");
	font-display: swap;   /* Because not default by divi  */
}

@font-face {
	font-family: FontAwesome;
	font-weight: 400;
	src: url(/wp-content/themes/Divi/core/admin/fonts/fontawesome/fa-brands-400.eot);
	src: url(/wp-content/themes/Divi/core/admin/fonts/fontawesome/fa-brands-400.eot?#iefix) format("embedded-opentype"), 
	url(/wp-content/themes/Divi/core/admin/fonts/fontawesome/fa-brands-400.woff2) format("woff2"), 
	url(/wp-content/themes/Divi/core/admin/fonts/fontawesome/fa-brands-400.woff) format("woff"), 
	url(/wp-content/themes/Divi/core/admin/fonts/fontawesome/fa-brands-400.ttf) format("truetype"), 
	url(/wp-content/themes/Divi/core/admin/fonts/fontawesome/fa-brands-400.svg#fontawesome) format("svg");
	font-display: swap;   /* Because not default by divi  */
}

@font-face {
  font-family: 'Rubik Medium';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('/wp-content/themes/Divi-Child/fonts/google/Rubik.woff2') format('woff2'),
       url('/wp-content/themes/Divi-Child/fonts/google/Rubik.woff') format('woff');
}

@font-face {
  font-family: 'Rubik Light';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url('/wp-content/themes/Divi-Child/fonts/google/Rubik.woff2') format('woff2'),
       url('/wp-content/themes/Divi-Child/fonts/google/Rubik.woff') format('woff');
}

@font-face {
  font-family: 'Rubik SemiBold';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('/wp-content/themes/Divi-Child/fonts/google/Rubik.woff2') format('woff2'),
       url('/wp-content/themes/Divi-Child/fonts/google/Rubik.woff') format('woff');
}

@font-face {
  font-family: 'Nunito SemiBold';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('/wp-content/themes/Divi-Child/fonts/google/Nunito.woff2') format('woff2'),
       url('/wp-content/themes/Divi-Child/fonts/google/Nunito.woff') format('woff');
}

/* ----------------------------------------------------------------------- 
############ Fonts END ###################################################
----------------------------------------------------------------------- */




/* ----------------------------------------------------------------------- 
############ DEFAULTS START ##############################################
----------------------------------------------------------------------- */
iframe {width: 100%;}

:root { 
--primary-color: #01857f; 
--secondary-color: #595959;
}

/* ----------------------------------------------------------------------- 
############ DEFAULTS END ################################################
----------------------------------------------------------------------- */


/* ----------------------------------------------------------------------- 
############ FONT-STYLING START ##########################################
----------------------------------------------------------------------- */
#page-container .v64-font-dancing h1{ /*  Keep this class name for JS font loading !  */
  font-family: 'Dancing Script', 'Segoe Script', 'Comic Sans MS', cursive !important;	
}

html, body { font-size: var(--font-size-regular) !important;  font-family: 'Rubik Light';
  font-weight: 300!important; }

h1 { font-size: var(--h1-size)!important; padding-bottom: var(--h1-gap); font-family: 'Nunito SemiBold'; Font-weight: 600!important;}
h2 { font-size: var(--h2-size)!important; padding-bottom: var(--h2-gap); font-family: 'Nunito SemiBold'; Font-weight: 600!important;}
h3 { font-size: var(--h3-size)!important; padding-bottom: var(--h3-gap); font-family: 'Nunito SemiBold'; Font-weight: 600!important;}

:root{ 
    /* 360px → 1200px: 15px up to 17px */
  --font-size-regular: clamp(
    15px,
    calc(15px + (17 - 15) * ((100vw - 360px) / (1200 - 360))),
    17px
  )!important;
  
    /* Sizes (bigger on bigger screens) */
 --h1-size: clamp(33px, calc(33px + (40 - 33) * ((100vw - 767px) / (1200 - 767))), 40px) !important;
  --h2-size: clamp(26px, calc(26px + (33 - 26) * ((100vw - 767px) / (1200 - 767))), 33px)!important;
  --h3-size: clamp(21px, calc(21px + (26 - 21) * ((100vw - 767px) / (1200 - 767))), 26px)!important;

  /* Gap multipliers: H1 = ~25px at 45px font (25/45 ≈ 0.5556).
     Using the same multiplier for H2/H3 keeps spacing proportional (smaller heading ⇒ smaller gap). */
  --h-gap-mult: 0.5556;

  /* Computed paddings that track the live (clamped) size */
  --h1-gap: calc(var(--h1-size) * var(--h-gap-mult));
  --h2-gap: calc(var(--h2-size) * var(--h-gap-mult));
  --h3-gap: calc(var(--h3-size) * var(--h-gap-mult));
  
}

.v64-blurb-column a,
.et_pb_button,
.et_pb_testimonial_author,
strong,
.v64-blurb-title .et_pb_module_header,
button {
	font-family: 'Rubik Medium';
	font-weight: 500!important;
}

/* =======================================================
	Hero Slider
========================================================== */

.v64-slider-font-change h1 {
	font-size: 55px;
	margin-bottom: 15px;
}

@media (min-width: 768px) and (max-width: 980px) {
	.v64-slider-font-change h1 {
		font-size: 45px;
	}
}

@media all and (max-width: 767px) {
	.v64-slider-font-change h1 {
		font-size: 25px;
		padding-top: 5px;
	}
}

.v64-slider-font-change .et_pb_fullwidth_header_container {
	width: 100%;
}


/* ----------------------------------------------------------------------- 
############ FONT-STYLING END ############################################
----------------------------------------------------------------------- */



/* ----------------------------------------------------------------------- 
############ HEADER START ################################################
----------------------------------------------------------------------- */

/*  Boxed Layout  */
#page-container {max-width: 1390px;box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.2);-webkit-box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.2);margin: auto;}
@media (max-width: 1390px) {header .et_pb_sticky--top {left: 0px!important;}}	

/* ----------------------------------------------------------------------- 
HEADER: Styling
----------------------------------------------------------------------- */
/*  Adjust All Modules Types in the Middle  */
header .et_pb_text_inner, header .et_pb_text_inner * {display:flex;justify-content:center;align-items:center;}	


/* Fluid SVG logo: 150px → 300px width; height follows aspect ratio */
.v64-header-logo {
  display: inline-block; /* keeps the link sized to the logo */
}

.v64-header-logo img,
.v64-header-logo a {
  /* width scales with viewport, but never below 150px or above 300px */
  width: clamp(150px, 20vw, 300px);

  /* keep the correct proportions from your viewBox (331.38 × 54.32) */
  height: auto;
  aspect-ratio: 331.38 / 54.32;

  /* optional: guard-rail so the computed height also stays within 25–49px */
  max-height: clamp(25px, calc(20vw / 6.1005), 49px);

  display: block;
}

.v64-header-logo .et_pb_code_inner {
	line-height: 0px;}


/*  Icons sizing equal hamburger size  */
@media all and (max-width: 980px) {
	header .et-pb-icon{font-size: 20px;}
}


@media all and (min-width: 981px) {
	header .v64-header-info span{font-size: 30px !important;}	
	header .v64-header-info a{font-weight:600;display: block!important;text-align:center;}
	header .v64-header-topbar a[href="tel:+49303614183"]::after {content:"030 / 361 4183";}	
	header .v64-header-topbar .et-pb-icon {font-size: 1.2rem!important;padding-right:7px;}  /* Icons a bit bigger than font  */
	header .v64-header-topbar img {height: 15px; width: 15px;}
	header .v64-header-topbar a, .v64-header-topbar p, .v64-header-topbar {color:white!important; font-size:16px!important;  line-height: 30px!important; }	
	header .v64-header-topbar {background-color: var(--primary-color);}
	header .v64-header-topbar{
			padding: 7px 0px;
		}	
}

@media all and (max-width: 981px) {
	header .v64-header-topbar a, .v64-header-topbar p, .v64-header-topbar {color:white!important; line-height: 2em;}	
	header .v64-header-topbar {background-color: var(--primary-color);}
	header .v64-header-topbar{
			padding: 7px 0px;
		}	
	
}

	header .v64-header-button button {
		background-color: white !important;
		padding: 3px 12px !important;
		color: black;
		border: 1px solid black;
		border-radius: 3px;
		cursor: pointer;
		font-size: inherit;
	}
	header .v64-header-button button:hover {
		background-color: #b34700 !important;
		color: white;
		border: 1px solid black;
	}
	
	.v64-header-button {
		text-align: center;
	}



/*  Underline Menu on Hover   START ---------------
@media all and (min-width: 981px) {
	ul.et-menu>li>a:hover:before{width:100%;margin-left: -50%;opacity: 1;}
	ul.et-menu>li>a:before {content: '';display: block;left: 50%;position: absolute;transition: all .1s ease-in-out;opacity: 0;border-radius: 0;
		background: var(--secondary-color);
		height: 2px;
		top: 43px;
	}
}
Underline Menu on Hover END --------------- */



/*  Info Area */
.v64-header-info a{
	color: var(--secondary-color);
}

.v64-header-section {
	max-width: 100%!important;
	padding-top: 0px!important;
	padding-bottom: 0px!important;
}

.v64-header-section .et_pb_row {
	max-width: 100%!important;
	width: 100%!important;
	padding-top: 0px!important;
	padding-bottom: 0px!important;
}

.v64-header-topbar.filter-left,
.v64-header-topbar.filter-right {
	margin-top: 0px!important;
	margin-bottom: 0px!important;
	flex-basis: 2%!important;
	flex-shrink: 0!important;
}

.v64-header-topbar.v64-phone {
	margin-top: auto!important;
	margin-bottom: auto!important;
	display: flex!important;
	flex-basis: 150px!important;
	flex-shrink: 0;
}

.v64-header-topbar.v64-top-text {
	margin-top: auto!important;
	margin-bottom: auto!important;
	flex-basis: calc(96% - 300px)!important;
	flex-grow: 1!important;
    flex-shrink: 1!important;
}

.v64-header-topbar.v64-header-button {
	flex-basis: 150px!important;
}

.filter-left,
.filter-right {
	margin-top: 0px!important;
	margin-bottom: 0px!important;
	flex-basis: 2%!important;
}

.v64-phone,
.v64-email {
	display: none!important;
}

.v64-header-logo {
	margin-top: auto!important;
	margin-bottom: auto!important;
	flex: 0 0 clamp(150px, 20vw, 300px) !important;
}


.v64-menu {
	margin-top: auto!important;
	margin-bottom: auto!important;
	flex-grow: 1!important;
	flex-shrink: 1!important;
	flex-basis: 0!important;
}

@media all and (max-width: 980px){
    .v64-header-topbar.v64-header-button {
       flex-basis: 48% !important;
        order: 3 !important;
        background-color: var(--primary-color);
    }
	
	    header .v64-header-topbar {
			padding: 7px 0px;
    }
	
	header .v64-header-topbar a[href="tel:+49303614183"]::after {content:"030 / 361 4183";}	
	header .v64-header-topbar a {color: white!important;}
	header .v64-header-topbar .et-pb-icon {padding-right: 7px;}

	

    .v64-header-topbar.filter-right {
        flex-basis: 2% !important;
        background-color: var(--primary-color);
        order: 4 !important;
    }


    .v64-header-topbar.filter-left {
        flex-basis: 2% !important;
        order: 1 !important;
        background-color: var(--primary-color);
    }
	
	
	
	.v64-menu {
		flex-basis: 50px!important;
		order: 7!important;
		flex-grow: 0!important;
		flex-shrink: 0!important;
		height: 60px;
		justify-content: center;
		display: flex;
		flex-direction: column;
	}
	
	.v64-header-logo {
		flex-grow: 1!important;
		flex-shrink: 1!important;
		order: 6!important;
		flex-basis: auto!important;
	}
	
	.filter-left {
		flex-basis: 2%!important;
		order: 5!important;
	}
	
	.filter-right {
		flex-basis: 2%!important;
		order: 8!important;
	}
	
	.v64-header-topbar.v64-phone {
		flex-basis: 48% !important;
		order: 2!important;
		        justify-content: center;
		background-color: var(--primary-color);
	}
	
	.v64-header-topbar.v64-email,
.v64-header-topbar.v64-top-text	{
		display: none;
	}
	

	
	.termin {
		display: inline-block!important;
	}
}



/* ----------------------------------------------------------------------- 
MENU: Styling
.et-menu 			= The UL Menu DESKTOP
.et_mobile_menu		= The UL Menu MOBILE
.sub-menu 			= The UL (2nd Level) Dropdowns  in Both DESKTOP & MOBILE!!!
----------------------------------------------------------------------- */
/* Menu Cursor for Hashed Menu Items */
@media all and (min-width: 981px) {.v64-menu-cursor > a {pointer-events: none;}}

/* Current URL Formating - START ---------------
a[aria-current="page"] {text-decoration: underline;} 
Current URL Formating END --------------- */


/* Border top & bottom: Mobile Column and Desktop Sticky Element > Menu */
.v64-header-column, header .et_pb_sticky--top {
	border-bottom: 1px solid var(--primary-color);box-shadow: 0px 12px 20px -2px rgba(128,128,128,0.3);-webkit-box-shadow: 0px 12px 20px -2px rgba(128,128,128,0.3);
}

/* Menu Color */
.et-menu li a, .et_mobile_menu li a, .sub-menu li a{
    color: black !important;
}

.et-menu li i, .et_mobile_menu li i {
	padding-right: 3px;
}


/* Menu Font Size */
.et-menu li a, .et-menu .sub-menu li a{
	font-size: 18px!important;
}

.et_mobile_menu li a, .et_mobile_menu .sub-menu li a{
	font-size: 15px!important;
	/* Set font-weight for mobile in customizer > divi toolxbox > mobile menu Links */
}
	
/* Height of the menu items  - ADJUST HERE */
.et-menu li a {
	line-height: 100px;
}
.et-menu .sub-menu li a  {
	line-height:40px;
}
.et_mobile_menu li a{
	line-height:25px;
}

.v64-short-menu ul {
	width: 150px!important;
}

	/* Menu Spacing */
	.et-menu>li {padding-left: 11px!important;padding-right: 11px!important;}

@media all and (min-width: 981px) {	
	/* Hover */
	.et-menu li a:hover, .et-menu .sub-menu li a:hover{color: var(--secondary-color) !important;opacity:1!important;}
	
	/* Drop-Down adjustments */
	.et-menu li ul {width:auto;}	
	.et-menu li li a {white-space: nowrap;
		width:400px;
	}
	
	.v64-short-menu ul li a {
		width:150px!important;
	}
	
	.et-menu .sub-menu, .et-menu .sub-menu li {padding:0 0!important;}
	.et-menu > li > a {padding-bottom:0!important;}
	
	.et-menu .sub-menu{left: -25px!important;}
	
	/* Change the alignment of the menu */
.et_pb_menu--style-centered .et_pb_menu__menu>nav>ul, .et_pb_menu--style-centered .et_pb_menu__wrap {-webkit-box-pack: flex-end -ms-flex-pack: flex-end; justify-content: flex-end;
}
	
}

/* Big Menues + Change Menu Fonts START ---------------
@media all and (max-width: 1110px) {	
	.et-menu>li {padding-left: 8px!important;padding-right: 8px!important;}
	.et-menu>li a{letter-spacing: -1px;}
}
Big Menues + Change Menu Fonts END --------------- */


/* ----------------------------------------------------------------------- 
MENU: Mobile Dropdown
----------------------------------------------------------------------- */
@media all and (max-width: 980px) {
	.et_mobile_menu {position: absolute;width: 100vw !important;top: 43px !important;} /* Positioning the drop-down container */
	.et_mobile_menu {transform:translateX(calc(-98vw + 50px));-webkit-transform: translateX(calc(-98vw + 50px));-ms-transform: translateX(calc(-98vw + 50px));} 
	.et_mobile_menu .sub-menu-toggle {width: 50px!important;margin-right: 2%;} /* Adjust Toggle in Dropdown*/
	.et_mobile_menu .sub-menu-toggle::before {font-size: 25px!important;font-weight: 800!important;}
}

/* ----------------------------------------------------------------------- 
############ HEADER END ##################################################
----------------------------------------------------------------------- */



.et_pb_module_header {
		font-size: 1.15em!important;
		font-weight: 600!important;
		padding-bottom: 15px;
		display: block;
}


hr {
	width: 10%;
    margin-left: 0;
    margin-top: 20px;
}

p.v64-blurb-title {
	font-size: 20px;
	line-height: 1.4em;
	font-family: 'Nunito SemiBold';
	font-weight: 600;
	color: #037671;
	padding-bottom: 10px!important;
}

.v64-kontakt-blurb p {
	text-align: center;
}

/*Accessability links */
.v64-link-underline a, a.v64-link-underline {text-decoration: underline!important;}



/* ==================================
	Slider Title
===================================== */

span.v64-slider-title {
	font-size: 40px;
	 font-family: 'Nunito SemiBold';
	 font-weight: 600;
	line-height: 1.4em;
}

@media all and (min-width: 1200px) {
	span.v64-slider-title {
	font-size: 37px;
	}
}

@media (min-width: 981px) and (max-width: 1200px) {
	span.v64-slider-title {
		font-size: 31px;
	}
}

@media all and (max-width: 981px) {
	span.v64-slider-title  {
		    font-size: 26px;
	}
}

@media all and (max-width: 767px) {
	span.v64-slider-title  {
	font-size: 20px;
    line-height: 1.8em;
	font-weight: 700;
	}
}

/* ==================================
	Container and Site Widths
===================================== */
	
	
/*Width of the Main content Area*/
#et-main-area .et_pb_row, #et-main-area .container {
	width: 96%; /*Don't make higher than 96 otherwise we have issues with spacing on the main content*/
}

/* ==============================================================================================
	>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> HEADER <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
============================================================================================== */
	
/* ====================================
	Lists and Bullets								
======================================= */

	/*New Bullet Layout / 05.10.2020 */
	.entry-content ul, .entry-content ol { 
		margin-left: 0em !important;
		list-style-position: inside;
		padding: 0.5em 0 1em 1em;

	}
	
	.entry-content ul ul {
		padding-top: 0px;
		padding-bottom: 0px;
		margin-left: 1em!important;
	}
	
	.entry-content li { 
		margin: 0.5em 0em 0.5em 0em;
	}

	.entry-content ul li {
		list-style-position: outside;
		margin-left: 1em;}



/* ==============================================================================================
	>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> footer <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
============================================================================================== */


/* ========================================
	Theme Builder FOOTER - SECTION Mainbar
=========================================== */

/* DONT use H-Tags on the footer headlines */
#v64-section-themebuilder-main .v64-footer-titles {
	font-size: 16px;
	line-height: 40px;
	 font-family: 'Nunito SemiBold';
	color: #ffffff;
	font-weight: 600;
	text-transform: uppercase;
}


.v64-footer-blurbs .et_pb_blurb_container {
    padding-left: 0px;
}

.v64-footer-blurbs .et_pb_main_blurb_image {
    width: 25px;
    vertical-align: middle;
}
	
	
/* =======================================================
	Kontakt 
========================================================== */

.v64-kontakt-blurb .et-pb-icon-circle {
    padding: 15px;
}



/* =======================================================
	Team
========================================================== */

@media (min-width: 768px) and (max-width: 980px) {
	.et_pb_column .et_pb_team_member_description {
		display: block;
	}
}

/* ==============================
	Blurbs
================================ */

.v64-blurb-column:hover .et_pb_text {
	background-color: #019891;
}

.v64-blurb-column:hover .et_pb_text  a {
	color: white!important;
}

.v64-blurb-column .et_pb_text p {
	text-align: center!important;
}

#newsletter-signup {
	display: none;
}

/* ==============================
	Toggle
================================ */

.et_pb_toggle .et_pb_toggle_title {
	font-weight: 500;
	font-family: 'Rubik Medium';
	color: black !important;
}

/* ==============================
	Opening Times
================================ */

.opening-hours {
  width: 100%;
  border-collapse: collapse;
  margin: 0 0 0px!important;
  border: 0px solid #eee!important;
}

.opening-hours td {
  padding: 6px 0px!important;
  border-bottom: 0px solid #ddd;
  border-top:0px!important;
}

.opening-hours td:first-child {
  font-weight: 500;
  font-family: 'Rubik Medium';
  width: 90px;
  white-space: nowrap;
}

.opening-hours td:last-child {
  text-align: left;
}


