/*
Theme Name: Bridge Child
Theme URI: http://bridgelanding.qodeinteractive.com/
Description: A child theme of Bridge Theme
Author: Qode Interactive
Author URI: https://qodeinteractive.com
Version: 1.0.0
Text Domain: bridge
Template: bridge
*/

@font-face {
	font-family: 'Work Sans';
	font-style: normal;
	font-weight: 300;
	font-display: swap;
	src: url('fonts/work-sans-300.woff2') format('woff2');
}
@font-face {
	font-family: 'Work Sans';
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: url('fonts/work-sans-400.woff2') format('woff2');
}
@font-face {
	font-family: 'Work Sans';
	font-style: normal;
	font-weight: 600;
	font-display: swap;
	src: url('fonts/work-sans-600.woff2') format('woff2');
}
@font-face {
	font-family: 'Roboto Condensed';
	font-style: normal;
	font-weight: 700;
	font-display: swap;
	src: url('fonts/roboto-condensed-700.woff2') format('woff2');
}
@font-face {
	font-family: 'Roboto';
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: url('fonts/roboto-400.woff2') format('woff2');
}
@font-face {
	font-family: 'Roboto';
	font-style: normal;
	font-weight: 500;
	font-display: swap;
	src: url('fonts/roboto-500.woff2') format('woff2');
}
@font-face {
	font-family: 'Roboto';
	font-style: normal;
	font-weight: 600;
	font-display: swap;
	src: url('fonts/roboto-600.woff2') format('woff2');
}

.wak-white-text,
.wak-white-text p{
	color: #FFF !important;
}

.wak-underline-button .qode-btn-text {
	text-decoration: underline !important;
}
p strong,
p b{
	font-weight:600 !important;
}


.wak-footer-rechtliches,
.wak-footer-rechtliches a {
	font-size: 14px !important;
	line-height: 1.5 !important;
	
}
.wak-footer-social-title{
	padding-bottom: 3px;
	font-size: 14px !important;
	line-height: 1.5 !important;
}


.footer_top .footer_col1 .column_inner > *,
.footer_top .footer_col2 .column_inner > * {
	margin-left: 0 !important;
}
.footer_top .footer_col1 .column_inner,
.footer_top .footer_col2 .column_inner {
	padding: 0 !important;
}
.footer_top .footer_col1 {
	width: 75% !important;
}
.footer_top .footer_col2 {
	width: 25% !important;
}
@media only screen and (max-width: 768px) {
	.footer_top .footer_col1,
	.footer_top .footer_col2 {
		width: 100% !important;
	}
}
@media only screen and (max-width: 480px) {
	.container_inner,
	.boxed div.section .section_inner,
	div.grid_section .section_inner,
	.full_width .parallax_content,
	.steps_holder_inner,
	.carousel-inner .slider_content_outer,
	nav.content_menu ul,
	.container_inner nav.content_menu,
	.qode_elementor_container_inner,
	div[data-element_type=container].qode_elementor_container_inner,
	.elementor-container .elementor-widget-wrap > .qode_elementor_container_inner,
	.elementor-row .elementor-widget-wrap > .qode_elementor_container_inner {
		width: 100% !important;
		max-width: 100%;
		box-sizing: border-box;
	}
}
.footer_top .footer_col2 #media_image-4{
	max-width: 100%;
	width: 175px;
}
.title.has_background {
	background-position: center center !important;
	background-size: cover !important;
}
.wak-downloads .qode-accordion-content-inner a {
	color: #82bc43 !important;
}
.wak-downloads .qode-accordion-content-inner a:hover {
	color: #82bc43 !important;
	text-decoration: underline !important;
}
.wak-contact-icon .qode_icon_font_elegant:before {
    color: #030304 !important;
}

.cf7_custom_style_1 input.wpcf7-form-control.wpcf7-submit, 
.cf7_custom_style_1 input.wpcf7-form-control.wpcf7-submit:not([disabled]) {
	background-color: #030304 !important;
	border-collapse: #030304 !important;
	margin-top: 20px !important;
}
.cf7_custom_style_1 input.wpcf7-form-control.wpcf7-submit:hover, 
.cf7_custom_style_1 input.wpcf7-form-control.wpcf7-submit:not([disabled]):hover {
    background-color: #82bc43 !important;
    border-color: #82bc43 !important;
}
.wak-turnstile{
	margin-top: 20px !important;
}
.wak-sr-only {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	margin: -1px !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	white-space: nowrap !important;
	border: 0 !important;
}
.cf7_custom_style_1 input.wpcf7-form-control.wpcf7-text, .cf7_custom_style_1 input.wpcf7-form-control.wpcf7-number, .cf7_custom_style_1 input.wpcf7-form-control.wpcf7-date, .cf7_custom_style_1 textarea.wpcf7-form-control.wpcf7-textarea, .cf7_custom_style_1 select.wpcf7-form-control.wpcf7-select, .cf7_custom_style_1 input.wpcf7-form-control.wpcf7-quiz {
	color: #030304 !important;
}
.wpcf7 form .wpcf7-response-output, div.wpcf7-response-output {
    text-transform: none;
    letter-spacing: 0px;
}
.wpcf7 form.sent .wpcf7-response-output, div.wpcf7-response-output.wpcf7-mail-sent-ok {
    background-color: #82bc43 !important;
}
.wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.unaccepted .wpcf7-response-output, div.wpcf7-response-output.wpcf7-validation-errors {
    background-color: #dc3232;
}
.wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.unaccepted .wpcf7-response-output, .wpcf7 form.payment-required .wpcf7-response-output {
    border-color: #dc3232;
}

.qode_clients.three_columns:before,
.qode_clients.three_columns:after{
	display: none !important;
}
.qode_clients.three_columns {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 50px; /* vertikal | horizontal */
}

.qode_clients.three_columns .qode_client_holder {
    width: auto;
    float: none;
    margin-bottom: 0;
}
.qode_clients.three_columns .qode_client_image_holder img {
    max-width: 200px;
    width: 100%;
    height: auto;
}

/* Partner-Logo ohne Link: gleicher Fade-Hover wie über <a> */
.qode_clients.qode_clients_switch_images.qode_clients_switch_fade .qode_client_image_holder > .qode_client_main_image {
	transition: opacity 0.6s ease-in-out;
}
.qode_clients.qode_clients_switch_images.qode_clients_switch_fade .qode_client_image_holder > .qode_client_hover_image {
	position: absolute;
	left: 50%;
	transform: translate(-50%);
	opacity: 0;
	transition: opacity 0.6s ease-in-out;
	pointer-events: none;
}
.qode_clients.qode_clients_switch_images.qode_clients_switch_fade .qode_client_image_holder:hover > .qode_client_main_image {
	opacity: 0;
}
.qode_clients.qode_clients_switch_images.qode_clients_switch_fade .qode_client_image_holder:hover > .qode_client_hover_image {
	opacity: 1;
}
.mobile_menu_button{
	width:100px;
	text-align: center;
}
nav.mobile_menu ul li a {
	padding-left: 30px;
}

.wak-button-hover-white a:hover {
	background-color: #FFF !important;
	border-color: #FFF !important;
	color: #000 !important;
	
}

@media (max-width: 1800px) {

	.header_bottom_right_widget_holder {
		display: none !important;
	}
	
}

/* Home header (statt Slider Revolution) */
@keyframes wak-home-fade-up {
	from {
		opacity: 0;
		transform: translateY(48px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

@keyframes wak-home-slide-in-right {
	from {
		opacity: 0;
		transform: translateX(80px);
	}
	to {
		opacity: 1;
		transform: translateX(0);
	}
}

.wak-home-header {
	overflow-x: hidden;
}

.wak-home-header h1,
.wak-home-header .elementor-heading-title {
	max-width: 570px;
}

.wak-home-header-col-left {
	opacity: 0;
	animation: wak-home-fade-up 0.8s ease-out 300ms forwards;
}

.wak-home-header-col-right {
	opacity: 0;
	animation: wak-home-slide-in-right 0.8s ease-out 600ms forwards;
}

@media (min-width: 1025px) and (max-width: 1500px) {
	.wak-home-header h1,
	.wak-home-header .elementor-heading-title {
		font-size: 60px !important;
	}
}

@media (max-width: 1024px) {
	.wak-home-header > .elementor-container {
		flex-direction: column-reverse;
	}

	.wak-home-header-col-right,
	.wak-home-header-col-right.elementor-hidden-phone {
		display: flex !important;
		padding-top: 0 !important;
		padding-bottom: 0 !important;
	}

	.wak-home-header-col-left {
		padding-top: 50px !important;
		padding-bottom: 50px !important;
		padding-left: 5% !important;
		padding-right: 5% !important;
	}
}

@media (prefers-reduced-motion: reduce) {
	.wak-home-header-col-left,
	.wak-home-header-col-right {
		opacity: 1;
		transform: none;
		animation: none;
	}
}

/* Skip-Link */
.wak-skip-link {
	position: absolute;
	left: 12px;
	top: -100px;
	z-index: 100000;
	padding: 12px 18px;
	background: #030304;
	color: #FFF !important;
	font-size: 16px;
	font-weight: 600;
	text-decoration: none;
	border-radius: 0;
}
.wak-skip-link:focus,
.wak-skip-link:focus-visible {
	top: 12px;
	outline: 3px solid #82BC43 !important;
	outline-offset: 3px;
	color: #FFF !important;
}

/* Tastatur-Fokus: schwarz, auf dunklen Elementen Markengrün */
:focus {
	outline: none;
}
:focus-visible {
	outline: 2px solid #555 !important;
	outline-offset: 3px !important;
}

/* Header, Footer, Logo-Slider: grüne Outline */
header :focus-visible,
footer :focus-visible,
.footer_top :focus-visible,
.footer_bottom :focus-visible,
.qode_clients .qode_client_holder a:focus-visible,
.qode_clients .qode_client_image_holder a:focus-visible {
	outline-color: #82BC43 !important;
}

/* Logo: Outline am sichtbaren Bild (liegt per Theme bei top:-50%) */
.q_logo a:focus,
.q_logo a:focus-visible {
	outline: none !important;
}
.q_logo a:focus-visible img {
	box-shadow: 0 0 0 2px #82BC43;
}

/* Partner-Logos: Platz oben/unten, damit 2px-Outline nicht abgeschnitten wird */
.qode_clients .qode_client_image_holder {
	padding-top: 10px;
	padding-bottom: 10px;
	box-sizing: content-box;
}
.qode_clients .qode_client_holder a:focus-visible,
.qode_clients .qode_client_image_holder a:focus-visible {
	outline: 2px solid #82BC43 !important;
	outline-offset: 2px !important;
}

.qbutton:focus-visible,
a.qbutton:focus-visible,
input[type="submit"]:focus-visible,
button[type="submit"]:focus-visible,
.cf7_custom_style_1 input.wpcf7-form-control.wpcf7-submit:focus-visible,
.side_menu a:focus-visible,
.side_menu .close_side_menu:focus-visible,
.mobile_menu a:focus-visible,
.mobile_menu_button:focus-visible,
#back_to_top:focus-visible,
.wak-contrast-toggle:focus-visible {
	outline-color: #82BC43 !important;
}

.elementor-widget-text-editor,
.elementor-widget-text-editor p,
.elementor-widget-text-editor li,
.elementor-widget-text-editor h1,
.elementor-widget-text-editor h2,
.elementor-widget-text-editor h3,
.elementor-widget-text-editor h5,
.elementor-widget-text-editor h6,
.elementor-text-editor,
.elementor-text-editor p,
.elementor-text-editor li,
.elementor-text-editor h1,
.elementor-text-editor h2,
.elementor-text-editor h3,
.elementor-text-editor h5,
.elementor-text-editor h6 {
	font-family: 'Work Sans', sans-serif !important;
}
.elementor-widget-text-editor h4,
.elementor-text-editor h4 {
	font-family: 'Roboto Condensed', sans-serif !important;
}
.elementor-widget-text-editor p,
.elementor-widget-text-editor li,
.elementor-text-editor p,
.elementor-text-editor li {
	font-weight: 300;
}

/* Kontrast-Schalter */
.wak-contrast-toggle {
	position: fixed;
	left: 16px;
	bottom: 16px;
	z-index: 99999;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin: 0;
	padding: 10px 14px;
	border: 2px solid #030304;
	background: #FFF;
	color: #030304;
	font-family: inherit;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.2;
	cursor: pointer;
	box-shadow: 0 2px 8px rgba(3, 3, 4, 0.2);
}
.wak-contrast-toggle[aria-pressed="true"] {
	background: #030304;
	color: #FFF;
}
.wak-contrast-toggle__icon {
	width: 14px;
	height: 14px;
	border-radius: 50%;
	border: 2px solid currentColor;
	background: linear-gradient(to right, currentColor 50%, transparent 50%);
	box-sizing: border-box;
}

.wak-map-consent {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 16px;
	box-sizing: border-box;
	width: 100%;
	height: 600px;
	min-height: 600px;
	padding: 32px 24px;
	background: #c8c8c8;
	text-align: center;
}

.wak-map-consent__text {
	max-width: 36em;
	margin: 0;
	color: #030304;
	font-family: 'Work Sans', sans-serif;
	font-size: 16px;
	line-height: 1.5;
	font-weight: 400;
}

.wak-map-consent__button {
	margin: 0;
	padding: 12px 22px;
	border: 0;
	background: #030304;
	color: #fff;
	font-family: 'Work Sans', sans-serif;
	font-size: 15px;
	font-weight: 600;
	line-height: 1.2;
	cursor: pointer;
}

.wak-map-consent__button:hover,
.wak-map-consent__button:focus-visible {
	background: #82bc43;
	color: #fff;
}

html.wak-high-contrast .wak-map-consent__button:hover,
html.wak-high-contrast .wak-map-consent__button:focus-visible {
	background: #3a3a3a;
}

.wak-map-consent__frame {
	display: block;
	width: 100%;
	height: 600px;
	min-height: 600px;
	border: 0;
}

.wak-headline-space h4 {
	padding-top: 20px;
}