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


/* ----------------------------------------------------------------------- 
############ Fonts START #################################################
----------------------------------------------------------------------- */
@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  */
}
/* ----------------------------------------------------------------------- 
############ Fonts END ###################################################
----------------------------------------------------------------------- */

/* ----------------------------------------------------------------------- 
############ FONT-STYLING START ##########################################
----------------------------------------------------------------------- */
:root {
 /*  Minimum 360px - maximum 1200px content  */	
 --font-size-regular: clamp(14px, calc(14px + (15 - 14) * ((100vw - 360px) / (1200 - 360))), 15px); /* 14px - 15px */
 --font-size-h1: clamp(28px, calc(28px + (37 - 28) * ((100vw - 360px) / (1200 - 360))), 37px); /* 28px - 37px */ 
 --font-size-h2: clamp(18px, calc(18px + (22 - 18) * ((100vw - 360px) / (1200 - 360))), 22px); /* 18px - 22px */
}

body{
  font-size: var(--font-size-regular) !important;
}
#page-container{
  font-family: Verdana, Geneva, sans-serif !important;
}



/*  Headline Sizing */
h1 {
	font-size: var(--font-size-h1);
	font-weight:900;
	line-height: 1.3em;
	padding: 0.75em 0;	
}

h2, span.v64-cat-header {
	font-size: var(--font-size-h2)!important;
	font-weight:500;
	line-height: 1.4em; 
	padding: 0.75em 0;	
}

.v64-cat {
	margin-bottom: 20px !important;
}

span.v64-cat-header {
	padding: 0 0;
	text-align: center;	
}



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




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

:root { 
--primary-color: #4BB0D5; 
--secondary-color: #505B4D;
}
/* ----------------------------------------------------------------------- 
############ DEFAULTS 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;}	


/*  Adjust Logo  */
@media all and (max-width: 980px) {
	header .v64-header-logo {display:flex;align-items:center;line-height: 0px;
		height: 60px;}
}
@media all and (min-width: 981px) {
	header .v64-header-logo {display:flex;align-items:center;line-height: 0px; justify-content: flex-start;
		height: 100px;}
}

/*  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 .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 {background-color: var(--primary-color);}
	header .v64-header-topbar a, .v64-header-topbar p, .v64-header-topbar {color:white!important; font-size:15px!important;  line-height: 20px!important; }	
	header .v64-header-topbar{
			padding: 7px 0px;
		}	
}


/*
@media all and (min-width: 981px) {
	header .v64-header-button button {
		background-color: transparent !important;
		padding: 5px 12px !important;
		color: white;
		border: 1px solid white;
		border-radius: 3px;
		cursor: pointer;
		font-size: inherit;
	}
	header .v64-header-button button:hover {
		background-color: white !important;
		color: var(--primary-color);
		border: 1px solid white;
	}
}

*/

/*  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;
}

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

.v64-header-logo {
	margin-top: auto!important;
	margin-bottom: auto!important;
	flex-basis: 57px!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-menu {
		flex-basis: 50px!important;
		order: 3!important;
		flex-grow: 0!important;
		flex-shrink: 0!important;
	}
	
	.v64-header-logo {
		flex-grow: 1!important;
		flex-shrink: 1!important;
		order: 2!important;
	}
	
	
	.filter-left {
		flex-basis: 2%!important;
		order: 1!important;
	}
	
	.filter-right {
		flex-basis: 2%!important;
		order: 4!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: 1rem!important;
	font-weight: 500;
}

.et_mobile_menu li a, .et_mobile_menu .sub-menu li a{
	font-size: 1rem!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;
}

	/* 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:460px;
	}
	.et-menu .sub-menu, .et-menu .sub-menu li {padding:0 0!important;}
	.et-menu > li > a {padding-bottom:0!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;
}

.et-menu .sub-menu {
	left: -45px!important;
	width: 460px;
}
	
}


/* 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;}
}	.et_pb_button_0_tb_footer {
    transition: all 1s ease 0ms!important;
}

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







/* ==================================
	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*/
}



	
/* ====================================
	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;
}

@media all and (max-width: 980px) {
	table {
		border: 0;
	}

	table caption {
		font-size: 1.3em;
	}
 
	table thead {
		border: none;
		clip: rect(0 0 0 0);
		height: 1px;
		margin: -1px;
		overflow: hidden;
		padding: 0;
		position: absolute;
		width: 1px;
	}
 
	table tr {
		border-bottom: 0px solid #9c9c9c;
		display: block;
		margin-bottom: 0em;
	}
 
	table td {
		border-bottom: 1px solid #ddd;
		display: block;
		font-size: 13px;
		text-align: left;
	}
 
	table td::before {
		content: attr(data-label);
		float: left;
		font-weight: bold;
		text-transform: uppercase;
	}
 
	table td:last-child {
		border-bottom: 0;
	}
	
	.entry-content tr td {
		padding: 6px 6px;
	}
	
	.aligncenter {
		margin-right: 0!important;
	}
	
	img.alignleft {
		margin-right: 0px;
		width: auto;
		margin-bottom: 0px;
		float: none;
	}
	
	td, tr {
	border: 1px solid #e1dede!important;
}
}

td:nth-child(1) {
	background: #C0D7E1;
}

td:nth-child(1) a {
	color: black;
	font-size: 14px;
}


td, tr {
	border: 1px solid black;
}

.entry-content tr th {
    padding: 0px 0px;
	color: white;
}

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



	
@keyframes fadeInRight {
    0% {
        opacity: 0;
        transform: translateX(20px); /* Starts slightly off-screen to the right */
    }
    100% {
        opacity: 1;
        transform: translateX(0); /* Ends at the original position */
    }
}
	
/* CTA Sticky Button */
.scroll-button {
    position: fixed; /* Fixiert den Button relativ zum Viewport */
    height: 56px !important;
	font-size: 14px!important;
	line-height: 16px!important;
	letter-spacing: 1.6px!important;
	box-shadow: rgba(23, 23, 45, 0.4) 0px 0px 20px 0px;
	text-transform: uppercase!important;
    width: 340px; /* Platz für Text */
    border-radius: 50px;
	opacity: 0;
	border: 0px;
    pointer-events: none; /* Prevent interaction when invisible */
    transition: opacity 0.3s ease;
     right: calc((100vw - 1416px) / 2 + 44px) !important;
    bottom: 100px !important; /* Abstand vom unteren Rand */
	cursor: pointer;
    display: inline-flex!important; /* Flexbox für Zentrierung */
    align-items: center; /* Vertikale Zentrierung */
    justify-content: center; /* Horizontale Zentrierung */
    padding: 0 16px; /* Abstand zwischen Rand und Inhalt */
    box-sizing: border-box;
	animation: none; /* No animation initially */
    gap: 5px; /* Abstand zwischen Icon und Text */
    background-color: var(--oag-red); /* Hintergrundfarbe */
    color: var(--oag-white); /* Standard Textfarbe */
    transition: all 0.3s ease; /* Animation für sanfte Änderungen */
}

.scroll-button:before {
    left: 36px!important;
    right: 0!important;
	 margin-left: -1.7em!important;
}

.window-resizing .scroll-button {
	display: none!important;
}

.animated .scroll-button {
	  right: calc((100vw - 1416px) / 2 + 44px) !important; /* Zentrierung in Relation zu #page-container */
	 opacity: 1;
    pointer-events: auto;
    animation: fadeInRight 1s cubic-bezier(.77, 0, .175, 1) 1;
}

@media (min-width: 981px) and (max-width: 1400px) {
.animated .scroll-button {
        right: 45px!important; 
        bottom: 100px !important;
    }
}




@media (max-width: 980px) {
    .animated .scroll-button {
        right: auto!important; /* Entfernt die ursprüngliche Positionierung */
        left: 50%!important; /* Zentriert horizontal */
        transform: translateX(-50%); /* Exakte Zentrierung */
        bottom: 100px !important; /* Optional: Abstand vom unteren Rand anpassen */
		animation: none!important; /* No animation initially */
		animation-fill-mode: forwards!important; /* Ensures the final state persists */
    }
	
		/* CTA Sticky Button */
	.scroll-button {
		transform: translateX(-50%)!important;
		left: 50%!important;
		right: auto!important; /* Dynamically position next to the container */

	}
	
}



.v64-anmeldung a {
    font-weight: 500 !important;
}

.v64-anmeldung span {
background: #E09900;
    padding: 15px;
	box-shadow: 10px 10px 14px -4px rgba(0,0,0,0.25);
    border-radius: 50px;
}