/*
Theme Name: Avada Child
Description: Child theme for Avada theme
Author: ThemeFusion
Author URI: https://theme-fusion.com
Template: Avada
Version: 1.0.0
Text Domain:  Avada
*/



/* =====================================================
    Table of Contents
    1. Typography Utilities
    2. Header Hero
    3. Homepage Slider
    4. Headline Banner
    5. Button Variants
    6. Info Columns
    7. Footer Elements
    8. Ellipse + Animations
    9. Video Frame
    10. Sub-Page Header
    11. Layout & Navigation
    12. Norma Table Module
    13. Mobile Menu
===================================================== */


/* =====================================================
    Typography Utilities (currently disabled)
===================================================== */
/* Targets 13" to 15" Laptops (approx. 1025px to 1500px) */
@media only screen and (min-width: 1025px) and (max-width: 1500px) {
	
	h1.fusion-title-heading.title-heading-left.fusion-responsive-typography-calculated {
    font-size: 82px !important;
}
	
	h3.fusion-title-heading.title-heading-left.fusion-responsive-typography-calculated {
    font-size: 46px;
}
	
}
/* seo headings 
.h1s .title-heading-left,
.h1s .title-heading-center,
.h1s .title-heading-right,
.h1s h2,
.h1s h3,
.h1s h4,
.h1s h5,
.h1s span {
	font-family: var(--h1_typography-font-family) !important;
	font-weight: var(--h1_typography-font-weight) !important;
	line-height: var(--h1_typography-line-height) !important;
	letter-spacing: var(--h1_typography-letter-spacing) !important;
	text-transform: var(--h1_typography-text-transform) !important;
	font-style: var(--h1_typography-font-style, normal) !important;
	font-size: var(--h1_typography-font-size) !important;
}

*/

.h2s h1
{
	font-family: var(--h2_typography-font-family) !important;
	font-weight: var(--h2_typography-font-weight) !important;
	line-height: var(--h2_typography-line-height) !important;
	letter-spacing: var(--h2_typography-letter-spacing) !important;
	text-transform: var(--h2_typography-text-transform) !important;
	font-style: var(--h2_typography-font-style, normal) !important;
	font-size: var(--h2_typography-font-size) !important;
}



.h3s h2
{
	font-family: var(--h3_typography-font-family) !important;
	font-weight: var(--h3_typography-font-weight) !important;
	line-height: var(--h3_typography-line-height) !important;
	letter-spacing: var(--h3_typography-letter-spacing) !important;
	text-transform: var(--h3_typography-text-transform) !important;
	font-style: var(--h3_typography-font-style, normal) !important;
	font-size: var(--h3_typography-font-size) !important;
}


.h4s h3
{
	font-family: var(--h4_typography-font-family) !important;
	font-weight: var(--h4_typography-font-weight) !important;
	line-height: var(--h4_typography-line-height) !important;
	letter-spacing: var(--h4_typography-letter-spacing) !important;
	text-transform: var(--h4_typography-text-transform) !important;
	font-style: var(--h4_typography-font-style, normal) !important;
	font-size: var(--h4_typography-font-size) !important;
}

.h5s h3
{
	font-family: var(--h5_typography-font-family) !important;
	font-weight: var(--h5_typography-font-weight) !important;
	line-height: var(--h5_typography-line-height) !important;
	letter-spacing: var(--h5_typography-letter-spacing) !important;
	text-transform: var(--h5_typography-text-transform) !important;
	font-style: var(--h5_typography-font-style, normal) !important;
	font-size: var(--h5_typography-font-size) !important;
}


@media screen and (max-width: 600px) {

	.h2s .title-heading-left,
	.h2s .title-heading-center,
	.h2s .title-heading-right,
	.h2.fusion-title-heading,
	.h2s h1,
	.h2s h3,
	.h2s h4,
	.h2s h5,
	.h2s span,
	.h2s p {
	line-height: 1.3 !important;
	font-size: 52px !important;
}
}


/* =====================================================
    Header Hero
===================================================== */

/* HEADER */

.fusion-title.title.headline_header {
	z-index: 20;
	margin-top: -550px !important;
}
@media only screen and (max-width: 600px) {
.fusion-title.title.headline_header {
	z-index: 20;
	margin-top: -335px !important;
	margin-bottom: 20px !important;
}
	
.fusion-fullwidth.fullwidth-box.sub-page.header-container.orange span.fusion-imageframe.imageframe-none.sub-page.icon {
    width: 140px;
}
	
h2.fusion-title-heading.title-heading-left.fusion-responsive-typography-calculated {
    font-size: 28px !important;
}
}
/* Tablets */
@media only screen
	and (min-width : 600px) and (max-width : 1024px) {
		.fusion-title.title.headline_header {
	z-index: 20;
	margin-top: -570px !important;
	margin-bottom: 240px !important;		
}
}		
		
/* =====================================================
    Homepage Slider
===================================================== */

/* IMG SLIDER STARTSEITE */

.fusion-slider-sc.slider-startseite img {
	height: 1000px;
	object-fit: cover;
}
@media only screen and (max-width: 600px) {
.fusion-slider-sc.slider-startseite img {
	height: 500px;
	object-fit: cover;
}
}

/* Avada Slider Navigation Icons austauschen - Gekürzte Version */

/* Originale Icons ausblenden */
.slider-startseite .flex-direction-nav li a:before,
.slider-startseite .flex-direction-nav li a span,
.slider-startseite .flex-direction-nav li a .fa,
.slider-startseite .flex-direction-nav li a i,
.slider-startseite .fusion-slider-container .flex-direction-nav li a:before,
.slider-startseite .fusion-slider-container .flex-direction-nav li a span,
.slider-startseite .fusion-slider-container .flex-direction-nav li a .fa,
.slider-startseite .fusion-slider-container .flex-direction-nav li a i,
.slider-startseite .avada-media-slider .owl-nav button:before,
.slider-startseite .avada-media-slider .owl-nav button span,
.slider-startseite .avada-media-slider .owl-nav button .fa,
.slider-startseite .avada-media-slider .owl-nav button i {
    display: none !important;
    content: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
}

/* Navigation Container sichtbar machen */
.slider-startseite .flex-direction-nav,
.slider-startseite .fusion-slider-container .flex-direction-nav,
.slider-startseite .avada-media-slider .owl-nav {
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
}

.slider-startseite .flex-direction-nav li,
.slider-startseite .fusion-slider-container .flex-direction-nav li {
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
}

/* Gemeinsame Button-Styles */
.slider-startseite .flex-direction-nav li a,
.slider-startseite .fusion-slider-container .flex-direction-nav li a,
.slider-startseite .avada-media-slider .owl-nav button {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: none !important;
    border: none !important;
    width: 60px !important;
    height: 60px !important;
    opacity: 1 !important;
    visibility: visible !important;
    position: absolute !important;
    top: 50% !important;
    margin: 0px 0 0 0 !important;
    padding: 0 !important;
    cursor: pointer !important;
    transition: none !important;
    transform: none !important;
}

/* Custom NORMA Icons */
.slider-startseite .flex-direction-nav li a::after,
.slider-startseite .fusion-slider-container .flex-direction-nav li a::after,
.slider-startseite .avada-media-slider .owl-nav button::after {
    content: "\e90a" !important;
    font-family: "NORMA" !important;
    font-size: 40px !important;
    color: #fff !important;
    text-shadow: 0 2px 4px rgba(0,0,0,0.5) !important;
    line-height: 1 !important;
    display: block !important;
    position: relative !important;
    z-index: 10 !important;
    transition: transform 0.3s ease !important;
}

/* Linke Pfeile - gespiegelt */
.slider-startseite .flex-direction-nav li a.flex-prev::after,
.slider-startseite .fusion-slider-container .flex-direction-nav li a.flex-prev::after,
.slider-startseite .avada-media-slider .owl-nav button.owl-prev::after {
    transform: scaleX(-1) !important;
}

/* Rechte Pfeile - normal */
.slider-startseite .flex-direction-nav li a.flex-next::after,
.slider-startseite .fusion-slider-container .flex-direction-nav li a.flex-next::after,
.slider-startseite .avada-media-slider .owl-nav button.owl-next::after {
    transform: scaleX(1) !important;
}

/* Hover-Effekt für Container */
.slider-startseite .flex-direction-nav li a:hover,
.slider-startseite .fusion-slider-container .flex-direction-nav li a:hover,
.slider-startseite .avada-media-slider .owl-nav button:hover {
    transform: none !important;
    transition: none !important;
    opacity: 1 !important;
    background: none !important;
    box-shadow: none !important;
    filter: none !important;
    cursor: pointer !important;
}

/* Zusätzliche Cursor-Regel für alle Zustände */
.slider-startseite .flex-direction-nav li a,
.slider-startseite .flex-direction-nav li a:hover,
.slider-startseite .flex-direction-nav li a:focus,
.slider-startseite .flex-direction-nav li a:active,
.slider-startseite .fusion-slider-container .flex-direction-nav li a,
.slider-startseite .fusion-slider-container .flex-direction-nav li a:hover,
.slider-startseite .fusion-slider-container .flex-direction-nav li a:focus,
.slider-startseite .fusion-slider-container .flex-direction-nav li a:active,
.slider-startseite .avada-media-slider .owl-nav button,
.slider-startseite .avada-media-slider .owl-nav button:hover,
.slider-startseite .avada-media-slider .owl-nav button:focus,
.slider-startseite .avada-media-slider .owl-nav button:active {
    cursor: pointer !important;
}

/* Hover-Effekt für Icons */
.slider-startseite .flex-direction-nav li a:hover::after,
.slider-startseite .fusion-slider-container .flex-direction-nav li a:hover::after,
.slider-startseite .avada-media-slider .owl-nav button:hover::after {
    transform: scale(1.2) !important;
}

.slider-startseite .flex-direction-nav li a.flex-prev:hover::after,
.slider-startseite .fusion-slider-container .flex-direction-nav li a.flex-prev:hover::after,
.slider-startseite .avada-media-slider .owl-nav button.owl-prev:hover::after {
    transform: scaleX(-1) scale(1.2) !important;
}

.slider-startseite .flex-direction-nav li a.flex-next:hover::after,
.slider-startseite .fusion-slider-container .flex-direction-nav li a.flex-next:hover::after,
.slider-startseite .avada-media-slider .owl-nav button.owl-next:hover::after {
    transform: scaleX(1) scale(1.2) !important;
}

/* Positionierung */
.slider-startseite .flex-direction-nav li a.flex-prev,
.slider-startseite .fusion-slider-container .flex-direction-nav li a.flex-prev {
    left: calc((100vw - 1200px) / 2 + 20px) !important;
}

.slider-startseite .flex-direction-nav li a.flex-next,
.slider-startseite .fusion-slider-container .flex-direction-nav li a.flex-next {
    right: calc((100vw - 1200px) / 2 + 20px) !important;
}

.slider-startseite .avada-media-slider .owl-nav button.owl-prev {
    left: 20px !important;
}

.slider-startseite .avada-media-slider .owl-nav button.owl-next {
    right: 20px !important;
}

/* Slide Pagination (Dots) ausblenden */
.slider-startseite .flex-control-nav,
.slider-startseite .fusion-slider-container .flex-control-nav,
.slider-startseite .avada-media-slider .owl-dots,
.slider-startseite .fusion-slider .flex-control-paging,
.slider-startseite .fusion-slider .flex-control-paging li,
.slider-startseite .fusion-slider .flex-control-paging li a {
    display: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
}


/* Mobile Optimierung */
@media (max-width: 600px) {
    .slider-startseite .flex-direction-nav li a,
    .slider-startseite .fusion-slider-container .flex-direction-nav li a,
    .slider-startseite .avada-media-slider .owl-nav button {
        width: 24px !important;
        height: 24px !important;
        margin-top: -25px !important;
    }
    
    .slider-startseite .flex-direction-nav li a::after,
    .slider-startseite .fusion-slider-container .flex-direction-nav li a::after,
    .slider-startseite .avada-media-slider .owl-nav button::after {
        font-size: 24px !important;
    }
    
    .slider-startseite .flex-direction-nav li a.flex-prev,
    .slider-startseite .fusion-slider-container .flex-direction-nav li a.flex-prev,
    .slider-startseite .avada-media-slider .owl-nav button.owl-prev {
        left: 10px !important;
    }
    
    .slider-startseite .flex-direction-nav li a.flex-next,
    .slider-startseite .fusion-slider-container .flex-direction-nav li a.flex-next,
    .slider-startseite .avada-media-slider .owl-nav button.owl-next {
        right: 10px !important;
    }
}

/* Tablets */
@media only screen
and (min-width : 600px) and (max-width : 1024px) {
	    .slider-startseite .flex-direction-nav li a,
    .slider-startseite .fusion-slider-container .flex-direction-nav li a,
    .slider-startseite .avada-media-slider .owl-nav button {
        width: 50px !important;
        height: 50px !important;
        margin-top: -25px !important;
    }
    
    .slider-startseite .flex-direction-nav li a::after,
    .slider-startseite .fusion-slider-container .flex-direction-nav li a::after,
    .slider-startseite .avada-media-slider .owl-nav button::after {
        font-size: 30px !important;
    }
    
    .slider-startseite .flex-direction-nav li a.flex-prev,
    .slider-startseite .fusion-slider-container .flex-direction-nav li a.flex-prev,
    .slider-startseite .avada-media-slider .owl-nav button.owl-prev {
        left: 30px !important;
    }
    
    .slider-startseite .flex-direction-nav li a.flex-next,
    .slider-startseite .fusion-slider-container .flex-direction-nav li a.flex-next,
    .slider-startseite .avada-media-slider .owl-nav button.owl-next {
        right: 30px !important;
    }
}



/* =====================================================
    Headline Banner
===================================================== */

/* HEADLINE STYLING */

/* Hauptklasse für Headline Banner */
/*.headline-banner {
    display: inline-block;
    padding: 20px 35px;
    background-image: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI1NDYuNjY5IiBoZWlnaHQ9IjEyNC44OTEiIHZpZXdCb3g9IjAgMCA1NDYuNjY5IDEyNC44OTEiPgogIDxnIGlkPSJIZWFkbGluZV9ncmFwaGljIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMS40MDggNi44MzcpIj4KICAgIDxnIGlkPSJHcnVwcGVfNjk2NiIgZGF0YS1uYW1lPSJHcnVwcGUgNjk2NiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMCAwKSI+CiAgICAgIDxwYXRoIGlkPSJQZmFkXzEyMjA5IiBkYXRhLW5hbWU9IlBmYWQgMTIyMDkiIGQ9Ik01MzcuOTk0LDQ2LjAxOWM0Ljc2NS0uNzEzLDQuNTMzLTUuMTQxLDYuNjg1LTcuN2E3LjIwOCw3LjIwOCwwLDAsMC00LjM1NC0xMS43NDZjLTYuOTkyLTEuMzgxLTE0LTIuNzU5LTIxLjA2OC0zLjctMjUuMzEzLTMuMzc1LTUwLjgzMS00LjctNzYuMjgtNi41MTctMTMuNDgxLS45NjYtMjcuMDI0LTEuMi00MC41MTMtMi4zNzktNC4zNDQtLjM3OC04LjYzOC0xLjA2OS0xMy4wNjItMS4wODUtOS42LS4wMzctMTkuMTItMS43My0yOC43ODMtMS4xMzUtNS45NDIuMzY0LTExLjc4Mi0xLjMzNC0xNy43MjQtMS43NzUtNC43MzItLjM1NC05LjQsMS4yNjUtMTMuOTI3LjE4Ny0xMi45NjItMy4wOTItMjYuMjQ2LS4zNTEtMzkuMzc0LTIuNzc4LTEwLjU4OC0xLjk1NC0yMS43MjUtMS4wNzctMzIuNjE4LTEuNDVDMjUyLjksNS44LDI0OC44LDQuMywyNDQuNzkzLDUuMTYzYy00LjcxMiwxLjAxMS05LjM2My4zNTEtMTMuODU2LS4yMjdBMTYxLjU1NiwxNjEuNTU2LDAsMCwwLDIwNS42MjYsMy43Yy0xMy4wMDcuMzgtMjUuOTQxLS43NTgtMzguOTI4LS43NTMtMTUuMDgxLDAtMzAuMTkyLS4zMjItNDUuMjg3LS42LTEyLjEtLjIyNy0yNC4yLS4wNjEtMzYuMy0uMTExLTEzLjgyNi0uMDU4LTI3LjY1NC0uMDY2LTQxLjQ3OC0uMjlDMzQuNTE1LDEuOCwyNy41ODcuNCwxNi4yOTIuNjM5LDkuOTg1LjkxLDMuMjcyLDEuNzI1LDQuMTM3LDEwLjczMmMuMzkzLDQuMDkzLS4yLDkuODcxLS42OTMsMTMuODQtMS40MDksMTEuNDU1LDEuOTQyLDIyLjkuNjkzLDM0LjM1MS0uODMyLDcuNjA1Ljg3OSwxMS41NzksMCwxOS4xNzYtLjQyNiwzLjY4NC0uNzksNy4xMTYsMi42NDUsOS43NzMsNi41LDIuNTM1LDguODY3LjUsMjAuMTYzLDAsOS45LS4yMzcsMTIuNDgyLS4xNCwyMS4xNywwLDIxLjcyLjM0OSwzMy45MjktMS4wODMsNTUuNjQxLDAsOC4xNTQuNDA3LDE2LjE2Ny0xLjIwOSwyNC4zMjEtLjY3MSw4LjQyNi41NTcsMTYuODkyLjA3OSwyNS4zNDQtLjAwNSwxMy42Ny0uMTM1LDI3LjM0Ny4yMzgsNDEuMDE0LjY0NywyNi4xMTIuNzc5LDUyLjI3LS40ODMsNzguMzUyLDIuMDQxLDkuNS45MjIsMTkuMTM3LjUyOCwyOC43Ljk3Miw5LjE1NC40MjgsMTguMjg2LDEuMjQ5LDI3LjQzOCwxLjc0MywxMy44MTYuNzQyLDI3LjY0NCwxLjIzOCw0MS40NTUsMi4wNDRxMjIuMDg4LDEuMjg3LDQ0LjE0OSwyLjk3NmMxNy41NywxLjM0OSwzNS4xNjgsMi4yMTgsNTIuNzI4LDMuOCwxNi41NTIsMS40ODcsMzMsMy44LDQ5LjU2OSw1LjE3OCwxLjksMCwzLjgwNy0uMDM0LDUuNzA3LjAwOCwyLjE3Ny4wNTMsNC4xNzgtLjM4Myw1LjI1Ni0yLjM4N2E0LjgsNC44LDAsMCwwLS45MDctNS45Yy0xLjM5MS0xLjQ1Mi0xLjM5MS0yLjY4My0uMDM1LTQuMDY0YTEuOSwxLjksMCwwLDAsLjQ4NC0yLjM0OGMtMS4yODUtMi4zNzctLjA4OC0zLjI1MywyLjEzNC0zLjk2NCwzLjM1NC0xLjA2OSw0LjgxMy0zLjUwNyw0LjI1OC02LjkzNGE4LjQ0NSw4LjQ0NSwwLDAsMSwxLjItNS42MzhjMy40MjctNi40MjIsNi44MjMtMTIuOTEsNi44MDgtMjAuNDc2LS4wMDUtMi41NTYtLjA3OC00LjgzNS0zLjAwNi01Ljk5NC0xLjQ1MS0uNTczLTIuMDg2LTIuNjctLjczMy0yLjg3MyIgdHJhbnNmb3JtPSJtYXRyaXgoMC45OTksIC0wLjAzNSwgMC4wMzUsIDAuOTk5LCAtMS43MDQsIDExLjYyMSkiIGZpbGw9IiNmN2E4MDAiLz4KICAgIDwvZz4KICA8L2c+Cjwvc3ZnPgo=') !important;
    background-size: 100% 100%;
    background-repeat: no-repeat;
    background-position: center;
    color: #000000;
    font-weight: bold;
    text-decoration: none;
    line-height: 1.2;
    margin: 0;
    position: relative;
    z-index: 1;
}


/* Avada-spezifische Anpassungen */
.fusion-text .headline-banner,
.fusion-title .headline-banner,
.fusion-content-tb .headline-banner {
    display: inline-block !important;
    margin: 0 !important;
}

/* Avada Fusion Builder Text Element */
.fusion-text .headline-banner {
    font-size: inherit;
}

/* Avada Title Element */
.fusion-title .headline-banner {
    font-size: inherit;
    font-family: inherit;
}

/* =====================================================
    Button Variants
===================================================== */

/* BUTTON MIT PFEIL */

i.normaarrow_white.awb-button__icon.awb-button__icon--default.button-icon-right {
	opacity: 0;
	transition: all 0.3s ease;
	font-size: 32px !important;
	padding: 0px;
	margin-left: 8px;
	margin-right: 0px;
}
.hover-icon-button:hover i.normaarrow_white.awb-button__icon.awb-button__icon--default.button-icon-right {
	opacity: 1;
}
.fusion-button.hover-icon-button {
		transition: all 0.3s ease;
}
.fusion-button.hover-icon-button:hover {
	padding-right: 32px;
}

/* BUTTON MIT PFEIL - WHITE */
.fusion-button.hover-icon-button-white {
    transition: all 0.3s ease;
    position: relative;
    overflow: hidden;
}

.fusion-button.hover-icon-button-white::after {
    content: "\e900";
    font-family: "NORMA";
    opacity: 0;
    transition: all 0.3s ease;
    font-size: 32px;
    color: #EB2032;
    position: absolute;
    right: 12px;
    top: 50%;
    transform: translateY(-50%) translateX(20px);
    line-height: 1;
}

a.fusion-button.button-flat{
	--button_padding-top: 8px!important;
    --button_padding-bottom: 8px!important;
}

.fusion-button.hover-icon-button-white:hover::after {
    opacity: 1;
    transform: translateY(-50%) translateX(0);
}

.fusion-button.hover-icon-button-white:hover {
    padding-right: 50px;
}

/* BUTTON ELLIPSE ROT */
.custom-ellipse-button {
    display: inline-block;
    position: relative;
    text-align: right; 
}

.ellipse-button-link {
    display: inline-block; 
    text-decoration: none;
    width: 56px;
    height: 56px;
    position: relative;
    cursor: pointer;
}

.ellipse-background {
    width: 56px;
    height: 56px;
    background-image: url('/wp-content/uploads/2025/08/ellipse_red.svg');
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    position: relative;
}

.button-icon-ellipse {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    transition: transform 0.3s ease;
}
.button-icon-ellipse i.fb-icon-element {
    margin: 0px;
	font-size: 48px; 
	 vertical-align:middle;
}
.button-icon-ellipse .fusion-fontawesome {
    transition: transform 0.3s ease;
    margin: 0 !important;
    padding: 0 !important;
    display: block;
}

.ellipse-button-link:hover .button-icon-ellipse {
    transform: translate(-50%, -50%) scale(1.2);
}

/* Custom CSS für Avada Button mit Pfeil-Animation */
.fusion-button.custom-button {
	width: 100% !important;
	height: auto !important;
	min-height: auto !important;
	position: relative !important;
	overflow: hidden !important;
	transition: all 0.3s ease !important;
}

/* Sicherstellen, dass der Button-Inhalt die Höhe bestimmt, nicht der Pfeil */
.custom-button::before {
    content: '' !important;
    position: absolute !important;
    top: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    width: 0 !important;
    pointer-events: none !important;
}

/* Button Text Container */
.custom-button .awb-button__text {
    position: relative !important;
    transition: transform 0.3s ease !important;
    display: inline-block !important;
	font-size: 18px !important;
}

/* Pfeil-Element (after pseudo-element) */
.custom-button::after {
    content: "\e900"; /* Dein NORMA Font Icon */
    font-family: "NORMA" !important;
    position: absolute !important;
    right: 12px !important; 
    top: 50% !important;
    transform: translateY(-32%) !important;
    font-size: 32px !important;
    color: #EB2032 !important;
    opacity: 0 !important;
    visibility: hidden !important;
    transition: opacity 0.3s ease, visibility 0.3s ease !important;
    pointer-events: none !important;
    z-index: 10 !important;
    line-height: 0 !important; /* Verhindert Höhenveränderung */
    display: inline-block !important;
    margin: 0 !important;
    padding: 0 !important;
    /* Explizit außerhalb des normalen Flows */
    position: absolute !important;
}

/* Hover-Effekt */
.custom-button:hover {
    padding-right: 50px !important; /* Platz für den Pfeil nur beim Hover */
}

.custom-button:hover .awb-button__text {
    transform: translateX(-8px) !important; /* Text nach links verschieben */
}

.custom-button:hover::after {
    opacity: 1 !important;
    visibility: visible !important;
}

/* === BUTTON STYLES === */
.button-link {
    display: block;
    text-decoration: none;
    width: 56px;
    margin-left: auto !important;
    margin-right: 0 !important;
}

.custom-arrow-button {
    position: relative;
    width: 56px;
    height: 56px;
    cursor: pointer;
    display: block;
}

.button-ellipse {
    position: absolute;
    top: 0;
    left: 0;
    width: 56px;
    height: 56px;
    background-image: url('/wp-content/uploads/2025/08/ellipse2_white.png');
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    z-index: 1;
}

.button-arrow {
    position: absolute;
    top: 55%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 2;
    transition: transform 0.2s ease;
}

.custom-arrow-button:hover .button-arrow {
    transform: translate(-50%, -50%) scale(1.2);
}

/* =====================================================
    Info Columns
===================================================== */

/* INFO COLUMNS */
.hover-column .fusion-column-wrapper.fusion-column-has-shadow.fusion-flex-justify-content-flex-start{
    width: auto !important;
}

.hover-column {
  position: relative !important;
  height: 540px !important;
  min-height: 540px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-end !important;
  transition: all 0.3s ease;
  overflow: visible !important;
}

/* Avada Column Wrapper korrigieren */
.hover-column .fusion-column-wrapper {
  position: relative !important;
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-end !important;
  z-index: 2 !important;
}

/* Default Overlay - Dunkel */
.hover-column .fusion-column-wrapper::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  transition: all 0.3s ease;
  z-index: 1;
  pointer-events: none;
}

/* Hover Overlay - Orange */
.hover-column:hover .fusion-column-wrapper::before {
  background-color: rgba(247, 168, 0, 0.85);
}

/* Content über Overlay legen */
.hover-column .fusion-column-wrapper > * {
  position: relative;
  z-index: 3;
}

/* Text Elemente mit hover-content KOMPLETT verstecken - nehmen keinen Platz ein */
.hover-content {
  display: none !important; /* Komplett entfernen, kein Platz */
  transition: all 0.3s ease;
}

/* Text Elemente beim Hover anzeigen */
.hover-column:hover .hover-content {
  display: block !important; /* Wieder anzeigen */
  opacity: 0; /* Startet unsichtbar */
  transform: translateY(20px);
  animation: fadeInUp 0.3s ease forwards;
}

.fusion-text.hover-content {
    padding-bottom: 32px;
	padding-top: 8px;
}


/* CODE BLOCKS komplett verstecken - nehmen keinen Platz ein */
.hover-column .fusion-code-block,
.hover-column .fusion-builder-column .fusion-code-block,
.hover-column .fusion-column-wrapper .fusion-code-block,
.hover-column [class*="fusion-code"] {
  display: none !important;
  transition: all 0.3s ease !important;
}

/* CODE BLOCKS beim Hover anzeigen */
.hover-column:hover .fusion-code-block,
.hover-column:hover .fusion-builder-column .fusion-code-block,
.hover-column:hover .fusion-column-wrapper .fusion-code-block,
.hover-column:hover [class*="fusion-code"] {
  display: block !important;
  opacity: 0;
  transform: translateY(20px);
  margin-top: 32px !important; /* 32px zwischen Fließtext und Button */
  animation: fadeInUp 0.3s ease forwards;
}


/* Animation für sanften Übergang */
@keyframes fadeInUp {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* Fallback: Direkt auf Button-Container */
.hover-column .custom-arrow-button {
  display: none !important;
}

.hover-column:hover .custom-arrow-button {
  display: block !important;
  animation: fadeInUp 0.3s ease forwards;
}

/* Headline Styling */
.hover-column h5 {
  color: #ffffff !important;
  margin-bottom: 0 !important;
  transition: transform 0.3s ease;
  z-index: 3;
}
.hover-column:hover h5 {
  transform: translateY(-10px);
  color: #000000 !important;
}

/* Text Styling */
.hover-column p {
  color: #ffffff !important;
  margin: 0 !important;
}
.hover-column:hover p {
  color: #000000 !important;
}

/*very small screens*/
@media screen and (max-width: 360px){
	.hover-column {
  		height: 400px !important;
 		min-height: 400px !important;
		padding-bottom: 24px;
}
}

/*Mobile*/
@media only screen and (max-width: 600px) {
	.hover-column {
  		 height: 400px !important;
         min-height: 400px !important;
		 padding-bottom: 24px;
}
}
/* Tablets */
@media only screen
and (min-width : 600px) and (max-width : 1024px) {
		.hover-column {
  		 height: 400px !important;
         min-height: 400px !important;
		 padding-bottom: 16px;
}
}


/* =====================================================
    Footer Elements
===================================================== */

/* FOOTER SOCIAL LINKS */

.social-icon-element {
  display: inline-block;
  position: relative;
  cursor: pointer;
  text-decoration: none; 
  margin: 0 14px;
}
.social-icon-element i.fb-icon-element.fontawesome-icon {
    margin: 0px;
    vertical-align: middle;
}
.social-ellipse-background {
  width: 64px; 
  height: 64px; 
  background-image: url('/wp-content/uploads/2025/08/ellipse2_white.png');
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  position: relative;
  transition: transform 0.3s ease; /* Optional: Ellipse kann auch animiert werden */
}

.social-icon-container {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  transition: transform 0.3s ease;
  z-index: 2;
}

/* Icon wird größer beim Hover auf die Ellipse - NUR DAS ICON */
.social-icon-element:hover .social-icon-container {
  transform: translate(-50%, -50%) scale(1.2);
}

/* Icon Styles für perfekte Zentrierung */
.social-icon-container .fusion-fontawesome {
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1 !important;
  text-align: center !important;
  vertical-align: middle !important;
}

/* FOOTER LINKS */

.footer-links {
	padding-right: 32px;
	padding-bottom: 12px;
	margin-bottom: 0px;
}


.footer-links a {
	position: relative;
	display: inline-block;
	
}

.footer-links a::after {
	content: "\e900";
	font-family: "NORMA";
	opacity: 1;
	visibility: visible;
	font-size: 26px;
	vertical-align: middle;
	padding-left: 4px !important;
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.3s ease, visibility 0.3s ease; 
}

.footer-links a:hover::after {
	opacity: 1;
	visibility: visible;
}

/* FOOTER LINKS BOTTOM */

.footer-links-bottom a {
  transition: color 0.3s ease;
}

.footer-links-bottom a:hover {
  color: #FFCD34 !important;
}

/* =====================================================
    Ellipse + Animations
===================================================== */

/* ELLIPSE MIT LOTTIE ANIMATION */

.ellipse-container {
    width: 97px !important;
    height: 97px !important;
    background-image: url('/wp-content/uploads/2025/08/ellipse_2red.png') !important;
    background-size: cover !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    position: relative !important;
}

/*very small screens*/
@media screen and (max-width: 360px){
.ellipse-container {
        width: 80px !important;
        height: 80px !important;
	    margin-bottom: 24px !important;
    }
}


/*Mobile*/
@media only screen and (max-width: 600px) {
.ellipse-container {
        width: 80px !important;
        height: 80px !important;
 		margin-bottom: 24px !important;
    }
}
/* Tablets */
@media only screen
and (min-width : 600px) and (max-width : 1024px) {
.ellipse-container {
        width: 88px !important;
        height: 88px !important;
 		margin-bottom: 24px !important;
    }
}

/* Tipps für Bewerbung Columns - Lottie */

.fusion-lottie.application_lottie {
    width: 128px;
}
/*Mobile*/
@media only screen and (max-width: 600px) {
	.fusion-lottie.application_lottie {
    	width: 96px;
}
}
/* Tablets */
@media only screen
and (min-width : 600px) and (max-width : 1024px) {
	.fusion-lottie.application_lottie {
    	width: 106px;
}
}

/* Lottie Animations: Rounded Background */
.lottie-column.rounded-background .fusion-lottie-animation.lg-mx-auto.lg-mx-auto {
    background: #FAFAFA 0% 0% no-repeat padding-box!important;
    box-shadow: 0px 3px 12px #00000029;
    border-radius: 100px;
    padding: 20px;
}

/*Mobile*/
@media only screen and (max-width: 600px) {
.lottie-column.rounded-background .fusion-lottie-animation.lg-mx-auto.lg-mx-auto.sm-mx-auto,
.ablauf-container .fusion-lottie-animation.lg-mx-auto.lg-mx-auto.sm-mx-auto {
    max-width: 100px !important;
}
}


/* =====================================================
    Video Frame
===================================================== */

/* VIDEO FRAME STARTSEITE */

/* Container für das Hauptbild - muss relative Positionierung haben */
.fusion-imageframe.video-frame-container,
.fusion-column-wrapper.video-frame-container {
    position: relative !important;
    overflow: hidden;
}

/* Basis-Styles für Desktop */
.video_frame_1, 
.video_frame_2 {
    z-index: 40 !important;
    transform: scale(1.5);
    margin-top: -15px;
    display: block; 
}

/* Mobile: bis 600px */
@media only screen and (max-width: 600px) {
    .video_frame_1, 
    .video_frame_2 {
        display: none !important;
    }
    
    .video_platzhalter img {
        height: 300px;
        width: auto !important;
        object-fit: cover;
        object-position: center;
    }
}

/* Tablets: 601px bis 1024px */
@media only screen and (min-width: 601px) and (max-width: 1024px) {
    .video_frame_1, 
    .video_frame_2 {
        display: none !important;
    }
    
    .video_platzhalter img {
        height: 500px;
        width: auto !important;
        object-fit: cover;
        object-position: center;
    }
}

/* =====================================================
    Sub-Page Header
===================================================== */

.sub-page.header-container {
    padding-top: 385px;
    padding-bottom: 140px;
    --awb-background-color:rgba(0,0,0,0.29)!important;
}

.sub-page.header-container.orange {
    padding-top: 260px;
    padding-bottom: 140px;
    --awb-background-color: var(--awb-color2) !important;
}

.sub-page.header-container.orange .hover-icon-button{
	margin-top:20px;
}
@media only screen and (max-width: 1024px) {
.fusion-fullwidth.fullwidth-box.fusion-flex-container.sub-page.header-container.orange {
    background-image: none;
}
}



/* Mobile: bis 600px */
@media only screen and (max-width: 600px) {
    .sub-page.header-container {
        padding-top: 160px !important;
        padding-bottom: 70px !important;
    }
}

span.fusion-imageframe.sub-page.icon {
    width: 200px;
    margin-bottom: 20px !important;
}


/* Tablets: 601px bis 1024px */
@media only screen and (min-width: 601px) and (max-width: 1024px) {
.sub-page.header-container {
    padding-top: 280px;
    padding-bottom: 50px;
}
}
.custom-table-header .fusion-column-wrapper{
    background: var(--awb-color1)!important;
    border-radius: 9px!important;
    padding:10px!important;
}

.home-video-title{
	z-index:50;
}

/* =====================================================
    Layout & Navigation
===================================================== */

/* --- 1. Flyout Wrapper (Right Column Container) --- */
.fusion-layout-column.flyout-wrapper {
    opacity: 0;
    transform: translateX(-30px); 
    transition: all 0.3s cubic-bezier(0.25, 1, 0.5, 1);
    will-change: opacity, transform;
}

.fusion-layout-column.flyout-wrapper.wrapper-active {
    opacity: 1;
    transform: translateX(0);
}

/* --- 2. Menu Targets (Inner Content) --- */
.fusion-layout-column.fusion_builder_column_inner.menu-target {
    position: absolute !important;
    top: 0;
    left: 0;
    width: 100%;
    opacity: 0; 
    transition: opacity 0.3s ease-in-out; 
    z-index: 1;
    margin-top: 0 !important;
}

.fusion-layout-column.fusion_builder_column_inner.menu-target.active {
    opacity: 1;
    z-index: 10;
}

/* --- 3. Left Column Styling (Border Radius) --- */
.fusion-layout-column.menu-left-column .fusion-column-wrapper {
    border-bottom-right-radius: 9px !important;
    transition: border-radius 0.3s ease-in-out;
	padding-bottom: 0px;
}


.fusion-layout-column.menu-left-column.radius-gone .fusion-column-wrapper {
    border-bottom-right-radius: 0px !important;
}

/* --- 4. Trigger Links --- */
.menu-trigger {
    display: inline-flex;
    width: 100% !important;
}

ul#menu-desktop-menu {
    margin-left: 14px;
}

/* Hover-Zustand: Text wird Rot */
.menu-left-column a:hover,
.menu-left-column a.active {
    color: var(--awb-color1) !important; 
}



.menu-left-column a, .menu-text-block-right a {
    display: inline-flex !important; 
    align-items: center;
    vertical-align: middle;
    line-height: 1.5 !important;
    padding: 2px 0;
    color: #333;
    text-decoration: none;
    transition: color 0.2s ease;
    width: 100%; 
}

.menu-left-column a:hover,
.menu-left-column a.active {
    color: #eb2032 !important;
}

/* Pfeil-Styling */
.nav-arrow {
    margin-left: 8px;
    height: 0.8em; 
    width: auto;
    display: inline-block;
    flex-shrink: 0;
}

/* Logik für Type 2 (Direkt-Links) */
.arrow-direct {
    opacity: 0;
    transition: opacity 0.2s ease;
}

.js-direct:hover .arrow-direct {
    opacity: 1;
}

.pointer{
	cursor:pointer!important;
}

a.menu-trigger.js-submenu {
    cursor: default;
}

/*positioning of "norma als arbeitgeber" mega menu*/
div#awb-mega-menu-932 {
    right: unset !important;
    left: -358px !important;
}
/*positioning of "bewerbung" mega menu*/
div#awb-mega-menu-936{
	right: unset!important;
    left: -562px!important;
}

/* Targets everything from Tablet up to large 15" laptops (1600px) */
@media screen and (max-width: 1600px) {
    a.awb-menu__main-a.awb-menu__main-a_regular span{
        font-size:16px!important;
    }

 .awb-menu__mega-wrap a{
    font-size:16px!important;
}
	
	
/*positioning of "norma als arbeitgeber" mega menu*/
    div#awb-mega-menu-932 {
    right: unset !important;
    left: -338px !important;
}

	/*positioning of "Berufseinsteiger"*/
	div#awb-mega-menu-810{
    right: unset !important;
    left: 15px !important;
	}

	/*positioning of "schüler" mega menu*/
	div#awb-mega-menu-523{
    right: unset !important;
    left: -230px !important;
	}

    .fusion-layout-column.fusion_builder_column.menu-left-column, .fusion-layout-column.fusion_builder_column.flyout-wrapper {
    max-width:300px!important;
    justify-content:
}
}



/* =====================================================
    Norma Table Module
===================================================== */

/*Einstiegsmöglichkeiten Übersichts Tabelle*/
.fusion-layout-column.norma-table.header p,.fusion-layout-column.norma-table.left-column p,.fusion-layout-column.norma-table.content p{
    font-family:"Roboto";
    font-size:18px;
}

.fusion-layout-column.norma-table.header p{
    font-weight:500;
    
}

.fusion-layout-column.norma-table.left-column p{
     font-weight:500;
}

.fusion-layout-column.norma-table p{
   font-weight:400;  
    line-height:1.3;
}

.fusion-layout-column.norma-table.header.col1 .fusion-column-wrapper{
	margin-left:10px;
	margin-right:10px;
	padding-top:25px;
	padding-bottom:25px;
}
.fusion-layout-column.norma-table.header.col2 .fusion-column-wrapper{
	margin-left:10px;
	margin-right:10px;
	padding-top:25px;
	padding-bottom:25px;
}
.fusion-layout-column.norma-table.header.col3 .fusion-column-wrapper{
	margin-left:10px;

	padding-top:25px;
	padding-bottom:25px;
}
.fusion-layout-column.norma-table.left-column .fusion-column-wrapper{
	margin-right:10px;
	padding-top:25px;
	padding-bottom:25px;
}
.fusion-layout-column.norma-table.content.col1 .fusion-column-wrapper{  
	margin-left:10px;
	margin-right:10px;
	padding-top:20px;
	padding-bottom:20px;
}

.fusion-layout-column.norma-table.content.col2 .fusion-column-wrapper{  
	margin-left:10px;
	margin-right:10px;
	padding-top:20px;
	padding-bottom:20px;
}

.fusion-layout-column.norma-table.content.col3 .fusion-column-wrapper{  
	margin-left:10px;
	padding-top:20px;
	padding-bottom:20px;
}

.fusion-layout-column.norma-table .fusion-column-wrapper{ 
	padding-left:20px;
	padding-right:20px;
}

span.fusion-imageframe.norma-table.arrow {
    position: absolute;
    top: -485px;
    right: -85px;
}

@media only screen and (max-width: 1024px) {
	.fusion-layout-column.norma-table .fusion-column-wrapper{
		margin-bottom:10px;
	}
	
	span.norma-table.mobile-row-title {
    font-family: 'Roboto'!important;
    font-weight: 600!important;
}
}


/* =====================================================
    Mobile Menu
===================================================== */

/*mobile menu*/
.fusion-layout-column.mobile-menu-column .fusion-column-wrapper{
    overflow: visible;
}

ul#menu-desktop-menu-1 {
    border-radius: 9px !important;
}

/* =====================================================
    Sub-Page Column Styles
===================================================== */

.fusion-layout-column.fusion_builder_column.fusion-flex-column.col-grey-bg.col-box-shadow .fusion-column-wrapper{
	background: #FAFAFA 0% 0% no-repeat padding-box!important;
    box-shadow: 0px 3px 12px #00000029;
	border-radius:9px;
}

/*praxis-themen styling*/
/* Mobile: bis 600px */
@media only screen and (max-width: 600px) {
  .fusion-text.praxis-themen-title {
      font-size: 22px;
  }
}

.custom-checklist-bg span.icon-wrapper.circle-yes {
    background-image: url(/wp-content/uploads/2026/01/checklist-bg.svg) !important;
    background-position: center;
    background-size: contain;
    border-radius: 0px;
	background-color: transparent;
}



/*verkauf animation*/
.fusion-builder-row-inner.is-active .karriere-verlauf-text-column .fusion-column-wrapper {
  background: #fff!important;
  box-shadow: 0 8px 20px rgba(0,0,0,0.12);
}

.fusion-builder-row-inner .karriere-verlauf-text-column .fusion-column-wrapper {
  border-radius: 12px;
  padding: 15px 15px;
  cursor:pointer;	
}

.fusion-builder-row-inner .karriere-verlauf-text-column .fusion-column-wrapper .fusion-text.karriere-verlauf-description{
	display:none;
}

.fusion-builder-row-inner.is-active .karriere-verlauf-text-column .fusion-column-wrapper .fusion-text.karriere-verlauf-description{
	display:block;
}

.fusion-builder-row-inner.is-inactive .karriere-verlauf-text-column .fusion-column-wrapper {
  background: transparent;
  box-shadow: none;
}

.fusion-lottie.karriere-verlauf-lottie {
    z-index: 10;
    margin-left: 5px !important;
	cursor:pointer;
}

/* Dotted line through the center of the left icon column */
.fusion-builder-row-inner .karriere-verlauf- {
  position: relative;
}

.fusion-builder-row-inner .karriere-verlauf-::before {
    content: "";
    position: absolute;
    left: 44px;
    top: -20px;
    bottom: -20px;
    width: 2px;
    transform: translateX(-50%);
    background-image: repeating-linear-gradient(to bottom, #c9c9c9 0px, #c9c9c9 3px, transparent 0px, transparent 7px);
    z-index: 0;
}

@media only screen and (max-width: 600px) {
.fusion-builder-row-inner .karriere-verlauf-::before {
    left: 39px;
}	
}


/*number circles in abiturprogramm*/
span.red-circle-bg {
    background-image: url(/wp-content/uploads/2026/02/Rote_Flaeche.svg);
    background-size: cover;
    background-repeat: no-repeat;
    height: 52px;
    width: 52px;
    display: flex;
    justify-content: center;
    align-content: center;
    flex-wrap: wrap;
    font-size: 22px;
    font-weight: 500;
    color: #fff;
}

#norma-box-shadow .fusion-column-wrapper{
	box-shadow: 0px 3px 12px #00000029!important;	
}

.fusion-text.duration-text {
    font-weight: 500;
    font-size: 16px;
    color: var(--awb-color1);
    margin-top: -5px;
}

.vorteile-container .fusion-title.title {
    margin-bottom: 10px!important;
}


.custom-checklist-bg li.fusion-li-item {
    padding-bottom:10px!important;
}


@media only screen and (max-width: 600px) {
.custom-checklist-bg li.fusion-li-item {
    padding-bottom:15px!important;
}
	
.fusion-li-item-content{
  hyphens: auto;
  overflow-wrap: break-word;
}
	
}

span.red-circle-bg.arrow i.fb-icon-element {
    margin-right:0px;
}

.fusion-layout-column.fusion_builder_column_inner.no-boxshadow .fusion-column-wrapper{
	box-shadow:none!important;
}

span{
	font-family:"Roboto";
}

/* 1. Base State: Define the starting position and the animation speed */
i.fa-fusion-box.normadown_black {
    display: inline-block; 
    transition: transform 0.9s;
    transform: rotate(0deg);
}

/* 2. Active State: Rotate 180 degrees */
a.active i.fa-fusion-box.active-icon.normadown_black {
    transform: rotate(180deg);
}

/*Niederlassungen interactive map*/

#niederlassung-img {
    width: 1011px !important;
    height: 1031px !important;
    max-width: none !important; /* Verhindert, dass Avada es kleiner skaliert */
    display: block;
}
/* Cursor Pointer clickable areas in map */
map[name="image-map"] area {
    cursor: pointer;
}

/* hide all niederlassungen */
[id^="info-"] {
    display: none !important;
}

/* show zentrale initially */
#info-zentrale {
    display: flex !important;
}

/*mobile sub menu height*/
.fusion-sticky-transition .collapse-enabled.mobile-size-column-absolute:not(.mobile-mode-always-expanded) .awb-menu__main-ul, .fusion-sticky-transition .collapse-enabled.mobile-size-full-absolute:not(.mobile-mode-always-expanded) .awb-menu__main-ul {
    max-height: unset!important;
}

.awb-menu.collapse-enabled.mobile-mode-collapse-to-button .awb-menu__main-ul {
	overflow-y:scroll!important;
}

.footer-links-bottom button.brlbs-cmpnt-btn.brlbs-cmpnt-font-semibold.brlbs-cmpnt-btn-preferences {
    background: none;
    padding: 0;
    font-size: 18px;
    font-weight: 400;
    font-family: "Roboto";
}

button.brlbs-cmpnt-link.brlbs-cmpnt-flex.brlbs-cmpnt-btn-selection.brlbs-cmpnt-btn.brlbs-cmpnt-btn-sm {
    background-color: #BD2123 !important;
}

span.brlbs-w-full.brlbs-text-sm.brlbs-text-right.sm\:brlbs-text-center, span.brlbs-block{
	color:#BD2123 !important;
}



/* Applies to screens 1024px+ ONLY if they use a mouse/trackpad */
@media (min-width: 1024px) and (pointer: fine) {
.fusion-fullwidth.fullwidth-box.sub-page.header-container.orange {
    padding: 0px;
	padding-top:100px;
    height: 844px;
    align-content: center;
    display: flex;
    flex-wrap: wrap;
}
}


.footer-container p {
	line-height:1.2;
	font-size:16px;
}





