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

html {
	/*scroll-behavior: smooth;*/
}

body {
	background-color: #edebe9;
	background-image: url(/wp-content/uploads/2026/01/background.webp);
	background-size: auto 100vh;
	background-attachment: fixed;
}

@media (max-width: 768px) {
  body {
	  background-attachment: scroll;
	  background-size: 100% auto;
  }
}

body .wrapper, body .wrapper * {
	background-color: transparent !important;
}

body .wrapper .footer_top_holder,
body .wrapper .footer_bottom_holder {
	background-color: #b8348a !important;
}

div#text-2 p {
	font-weight: 400;
	max-width: 244px;
	margin-top: 20px;
	margin-bottom: 30px;
	font-size: 14px;
	text-align: left;
	line-height: 1.2;
}

@media only screen and (min-width: 601px) {
	div#text-2 p {
		margin-left: auto;
	}
}

/* Back to Top */
#back_to_top {
	mix-blend-mode: hard-light;
}
#back_to_top>span {
	background: #b8348a !important;
	border: 0;
}
#back_to_top span i {
	color: #fff;
}
#back_to_top {
	right: 8px !important;
	bottom: 20px !important;
}

#back_to_top .fa-arrow-up:before {
	content: "\f106";
	font-weight: 700;
	font-size: 30px;
	line-height: 1.2;
}

/* Fonts */
.content h1 {
	font-size: clamp(26px, 3vw + 8px, 52px);
	line-height: 1.2;
	max-width: 1200px;
}

.content h2 {
	font-size: clamp(22px, 4vw + 4px, 29px);
	font-weight: 700;
	line-height: 1.5;
	letter-spacing: -0.3px;
}

.content h3 {
	font-size: clamp(22px, 4vw + 4px, 30px);
	font-weight: 400;
	line-height: 1.5;
}

/* Header */
@supports ((-webkit-backdrop-filter: none) or (backdrop-filter: none)) {
	header.scrolled {
	  backdrop-filter: blur(10px);
	  -webkit-backdrop-filter: blur(10px);
	}
}

.q_logo a {
	max-height: 28px;
	transition: max-height 300ms ease;
}

header.page_header.scrolled .q_logo a {
	max-height: 28px;
}

@media only screen and (max-width: 1000px) {
	.qodef-mobile-menu-opened header.page_header {
		background: #b8348a !important;
	}
	
	.qodef-mobile-menu-opened header.page_header * {
		color: #fff !important;
	}
	
	.qodef-mobile-menu-opened header.page_header .custom-burger-icon .line {
		background: #fff !important;
	}
	
	.qodef-mobile-menu-opened .mobile_menu_button span:hover, .side_menu_button>a:hover, header:not(.with_hover_bg_color) nav.main_menu>ul>li:hover>a {
		opacity: 1;
	}
	
	.qodef-mobile-menu-opened header.page_header .q_logo {
		filter: brightness(100);
	}
}


/* Mobile Menu */
@media only screen and (max-width: 1000px) {
	.q_logo a {
		max-height: 24px;
	}
	
	.mobile_menu_button {
		float: right;
	}
	
	.logo_wrapper,
	.q_logo a {
		left: 0;
	}
}
/* custom burger */
.custom-burger-icon .line {
  display: block;
  width: 30px;
  height: 3px;
  background: #303030 !important;
  margin: 6px 0;
  transition: 0.4s ease;
}

.custom-burger-icon.open .line {
	background: #b8348a !important;
}

.custom-burger-icon.open .line-1 {
  transform: rotate(45deg) translate(6px, 6px);
}

.custom-burger-icon.open .line-2 {
  opacity: 0;
}

.custom-burger-icon.open .line-3 {
  transform: rotate(-45deg) translate(6px, -6px);
}

/* Stage */
#stage img {
	width: 100%;
	max-width: 1200px;
	margin: 10vh 0 18vh;
}

@media only screen and (max-width: 600px) {
	#stage img {
		margin: 30px 0 50px !important;
	}
}

/* responsive border - non scaling stroke */
.border-1 {
	background-image: url(/wp-content/uploads/2026/02/border-scale-to-left-4.svg);
	max-width: 676px;
	padding: clamp(0px, 12%, 50px) clamp(0px, 8%, 60px);
	box-sizing: border-box;
	background-repeat: no-repeat;
	background-size: 100% 100%;
}

.border-2 {
	background-image: url(/wp-content/uploads/2026/02/border-scale-to-right-4.svg);
	max-width: 1020px;
	margin-left: auto;
	padding: clamp(50px, 12%, 50px) clamp(0px, 8%, 60px);
	box-sizing: border-box;
	background-repeat: no-repeat;
	background-size: 100% 100%;
}

.border-1 h2,
.border-2 h2 {
	color: #b8348a;
	font-size: clamp(22px, 4vw + 4px, 27px);
}

/* Slider */
body .slider .qode_content_slider_item {
	/*background: #b8348a !important;*/
	padding-top: 80px;
	padding-bottom: 120px;
}

body .slider .qode_content_slider_item .picture-wrp {
	text-align: center;
}

body .slider .qode_content_slider_inner {
	display: flex;
}

.slider h2 {
	color: #fff;
}

.slider p {
	font-size: 16px;
	color: #fff;
	font-weight: 600;
}

.qode_content_slider.control_nav_justified .flex-control-nav {
	padding: 0 0 50px;
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
}
.qode_content_slider.control_nav_justified .flex-control-nav li {
	margin: 0 5px !important;
}
.qode_content_slider.control_nav_justified .flex-control-nav li a.flex-active {
	transform: scale(1) !important;
	background: #fff !important;
}
.qode_content_slider.control_nav_justified .flex-control-nav li a {
	background: rgba(255,255,255,0.5) !important;
	box-shadow: none !important;
}
.qode_content_slider.control_nav_justified .flex-control-nav li a:after {
	display: none;
}
.qode_content_slider.control_nav_justified .flex-control-nav:after {
	display: none;
}

.qode_content_slider_item img {
	margin-bottom: 30px;
}

/* spacing */
.lg-space,
.md-space {
	display: none;
}

@media only screen and (min-width: 1001px) {
	.lg-space,
	.md-space {
		display: block;
	}
}

/* helper */
@media only screen and (max-width: 1200px) {
	.rm-br-1200 br {
		display: none;
	}
}
@media only screen and (max-width: 769px) {
	.rm-br br {
		display: none;
	}
}

.highlight h2,
.highlight h3,
.highlight p {
	color: #b8348a;
}

/* Icon Text */
.icon-text h3 {
	font-family: 'Montserrat', sans-serif;
	font-weight: 700;
	letter-spacing: 0;
	font-size: clamp(18px, 3vw + 3px, 24px);
	margin: 30px 0 !important;
}

.icon-text img {
	max-width: 96px;
}

@media only screen and (min-width: 767px) {
	.icon-text img {
		max-width: 100%;
		max-height: 95px;
		width: auto;
	}
}

@media only screen and (min-width: 1200px) {
	.icon-text .vc_col-md-6 {
		padding-bottom: 50px;
	}
}

/* custom-shapes-block */
.custom-shapes-block > div > .vc_col-sm-12 > div > .wpb_wrapper {
	display: flex;
	flex-wrap: wrap;
}

.custom-shapes-block-item {
	width: 50%;
	position: relative;
}

.custom-shapes-block-item .vc_single_image-wrapper img {
	width: 100%;
	height: 100%;
}

.custom-shapes-block-item .vc_single_image-wrapper {
	width: 100%;
}

.custom-shapes-block-item .wpb_text_column.wpb_content_element {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	/*border: 1px solid red;*/
}

.custom-shapes-block-item .wpb_text_column.wpb_content_element > div {
	/*border: 2px solid white;*/
	text-align: center;
	padding: 0 10%;
}

.custom-shapes-block .vc_column_container>.vc_column-inner {
	padding: 0 !important;
}

.custom-shapes-block,
.custom-shapes-block .vc_row {
	margin: 0 !important;
}

.custom-shapes-block-item h3 {
	font-size: clamp(18px, 2vw + 2px, 24px);
	color: #fff;
	font-weight: 500;
}

.custom-shapes-block-item:nth-child(1) .vc_single_image-wrapper {
	aspect-ratio: 686.1/192;
	transform: translateX(1%);
}

.custom-shapes-block-item:nth-child(2) .vc_single_image-wrapper {
	aspect-ratio: 690.1/186;
	transform: translateX(-1%);
}

.custom-shapes-block-item:nth-child(3) .vc_single_image-wrapper {
	aspect-ratio: 697/192;
	transform: translateX(1%);
	width: 101.5%;
	max-width: none;
}

.custom-shapes-block-item:nth-child(4) .vc_single_image-wrapper {
	aspect-ratio: 689.1/191.1;
	transform: translateX(-1%);
}

/* Paragraphs */
.custom-shapes-block-item:nth-child(1) .wpb_text_column.wpb_content_element > div,
.custom-shapes-block-item:nth-child(2) .wpb_text_column.wpb_content_element > div {
	padding-bottom: 12px;
}
.custom-shapes-block-item:nth-child(3) .wpb_text_column.wpb_content_element > div,
.custom-shapes-block-item:nth-child(4) .wpb_text_column.wpb_content_element > div {
	padding-top: 12px;
}

.custom-shapes-block-item:nth-child(3) {
	transform: translateY(-17%);
}
.custom-shapes-block-item:nth-child(4) {
	transform: translateY(-16%);
}

.custom-shapes-block {
	max-width: 1420px;
	margin: 0 auto !important;
	padding: 0 10px;
}

@media only screen and (max-width: 1200px) {
	.custom-shapes-block-item:nth-child(1) .vc_single_image-wrapper {
		aspect-ratio: 686.1/230.4; /* x 1.2 */
	}

	.custom-shapes-block-item:nth-child(2) .vc_single_image-wrapper {
		aspect-ratio: 690.1/223.2; /* x 1.2 */
	}

	.custom-shapes-block-item:nth-child(3) .vc_single_image-wrapper {
		aspect-ratio: 697/230.4; /* x 1.2 */
	}

	.custom-shapes-block-item:nth-child(4) .vc_single_image-wrapper {
		aspect-ratio: 689.1/229.32; /* x 1.2 */
	}
}

@media only screen and (max-width: 1000px) {
	.custom-shapes-block-item:nth-child(1) .vc_single_image-wrapper {
		aspect-ratio: 686.1/288; /* x 1.5 */
	}

	.custom-shapes-block-item:nth-child(2) .vc_single_image-wrapper {
		aspect-ratio: 690.1/279; /* x 1.5 */
	}

	.custom-shapes-block-item:nth-child(3) .vc_single_image-wrapper {
		aspect-ratio: 697/288; /* x 1.5 */
	}

	.custom-shapes-block-item:nth-child(4) .vc_single_image-wrapper {
		aspect-ratio: 689.1/286.65; /* x 1.5 */
	}
}

@media only screen and (max-width: 768px) {
	.custom-shapes-block .custom-shapes-block-item {
		width: 100%;
		max-width: 500px;
		margin: 0 auto !important;
	}
	.custom-shapes-block-item:nth-child(1) {
		order: 1;
		margin-bottom: -22px !important;
	}
	.custom-shapes-block-item:nth-child(2) {
		order: 3;
		margin-bottom: -16px !important;
	}
	.custom-shapes-block-item:nth-child(3) {
		order: 2;
		transform: translateY(0);
		/*margin-bottom: 28px !important;*/
		margin-bottom: 8px !important;
	}
	.custom-shapes-block-item:nth-child(4) {
		order: 4;
		transform: translateY(0);
	}
	
	.custom-shapes-block-item .vc_single_image-wrapper {
		height: 150px;
	}
	
	.custom-shapes-block-item:nth-child(1) .vc_single_image-wrapper {
		/*aspect-ratio: 686.1/192;*/
		transform: translateX(0);
	}

	.custom-shapes-block-item:nth-child(2) .vc_single_image-wrapper {
		/*aspect-ratio: 690.1/186;*/
		transform: translateX(0);
	}

	.custom-shapes-block-item:nth-child(3) .vc_single_image-wrapper {
		/*aspect-ratio: 697/192;*/
		transform: translateX(0);
		width: 100%;
	}

	.custom-shapes-block-item:nth-child(4) .vc_single_image-wrapper {
		/*aspect-ratio: 689.1/191.1;*/
		transform: translateX(0);
	}
}

/* portrait text */
.portrait-text img {
	max-width: 230px;
}

.portrait-text h3 {
	font-family: 'Montserrat', sans-serif;
	font-weight: 700;
	letter-spacing: 0;
	font-size: clamp(18px, 3vw + 3px, 24px);
	margin: 30px 0 !important;
}

@media only screen and (min-width: 768px) {
	.portrait-text img {
		max-width: 176px;
	}
}

@media only screen and (min-width: 1001px) {
	.portrait-text img {
		max-width: 280px;
	}
}

/* Testimonials */
.testimonials_c_holder .flex-control-nav {
	margin-top: 0 !important;
}

.testimonials_c_holder .flex-control-nav li {
	width: 16px;
	height: 16px;
}
.testimonials_c_holder .flex-control-nav li a {
	background-color: rgba(0,0,0,0.3) !important;
}
.testimonials_c_holder .flex-control-nav li a.flex-active {
	background-color: rgba(0,0,0,0.6) !important;
}

.testimonial_text_inner {
	max-width: 1080px;
	margin: 0 auto;
}

.testimonial_text_inner p {
	font-family: 'Montserrat', sans-serif;
	font-style: italic;
	font-weight: 600;
	font-size: clamp(18px, 3px + 3vw, 25px);
	line-height: 1.6;
}

.testimonial_content_inner .testimonial_author {
	font-family: 'Pridi', sans-serif;
	font-style: normal;
	font-weight: 400;
}

.testimonials_c_holder .testimonial_content_inner .testimonial_author {
	font-size: 18px;
	font-weight: 400;
}

@media only screen and (max-width: 767px) {
	.testimonials_c_holder .testimonial_content_inner {
		padding: 60px 15px;
	}
	.testimonials_c_holder .testimonial_content_inner .testimonial_author {
		font-size: 16px;
	}
}



/* Buttons */
a.qbutton.default,
input.wpcf7-form-control.wpcf7-submit {
	border-color: #b8348a !important;
	border-radius: 0;
	padding-left: 40px;
	padding-right: 40px;
	letter-spacing: 0;
	font-size: 14px;
	border-width: 3px !important;
}

a.qbutton.default:hover,
input.wpcf7-form-control.wpcf7-submit:hover {
	background-color: #b8348a !important;
}

input.wpcf7-form-control.wpcf7-submit {
	font-family: inherit;
}

/* Footer */
footer {
	padding-top: 100px;
}

div#media_image-3 img {
	max-width: 220px !important;
	margin-top: 30px;
}
@media only screen and (min-width: 601px) {
	div#media_image-3 img {
		max-width: 244px !important;
		margin-top: 0;
	}
	.column2.footer_col2 {
		text-align: right;
	}
}

.footer_bottom ul {
	text-align: left;
	display: flex;
	flex-wrap: wrap;
}
.footer_bottom ul li {
	margin: 0;
	width: 100%;
	margin-top: 15px;
}
.footer_bottom_holder .footer_bottom ul.menu li a {
	font-size: 16px !important;
	line-height: 1.5;
}

.footer_bottom_holder .footer_bottom ul.menu li a:hover {
	color: #fff;
	text-decoration: underline;
}

.footer_bottom_holder {
	padding-bottom: 20px;
}

@media only screen and (min-width: 768px) {
	.footer_bottom_holder {
		padding-top: 80px;
	}
	
	.footer_bottom ul li {
		width: auto;
		margin-top: 0;
	}
	.footer_bottom ul li:not(:last-child):after {
		content: '|';
		display: inline-block;
		margin: 0 20px;
	}
}

@media only screen and (min-width: 1001px) {
	.footer_bottom_holder {
		padding-top: 100px;
	}
	footer {
		padding-top: 160px;
	}
}

/* Kontakt */
.kontakt * {
	font-size: clamp(18px, 3vw + 3px, 24px);
	line-height: 1.5;
	font-weight: 600;
}

.wpcf7-form br {
	display: none;
}

@media only screen and (min-width: 1200px) {
	.wpcf7-form label {
		display: flex;
		align-items: center;
		gap: 24px;
	}
	.wpcf7-acceptance label {
		gap: 10px;
	}
	.wpcf7-form label span {
		width: 30%;
	}
	.wpcf7-form label span:last-child {
		width: 70%;
	}
	.wpcf7 form.wpcf7-form p:last-of-type label span:last-of-type {
		width: auto;
		margin-left: auto;
	}
	.wpcf7 form.wpcf7-form p:last-of-type label span:last-of-type .wpcf7-spinner {
		position: absolute;
	}
	.wpcf7-form label span.wpcf7-spinner {
		width: auto !important;
	}
	.wpcf7-form label span:first-child {
		text-align: right;
	}
}

span.wpcf7-not-valid-tip {
	font-size: 14px;
}

.wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.unaccepted .wpcf7-response-output, div.wpcf7-response-output.wpcf7-validation-errors {
	background-color: #000 !important;
	text-transform: none;
}

.wpcf7-form label span.info {
	display: block;
	margin-bottom: 30px;
}

@media only screen and (min-width: 1201px) {
	.wpcf7-form label span.info {
		margin-bottom: 0;
	}
}


.acc .wpcf7-list-item-label a {
	font-size: 14px;
	text-decoration: underline;
}
.acc .wpcf7-list-item-label {
	font-size: 14px;
}



.acc > p .wpcf7-acceptance span.wpcf7-list-item {
	margin-left: 0;
}

input.wpcf7-form-control.wpcf7-submit[disabled] {
	color: #b8348a !important;
}
input.wpcf7-form-control.wpcf7-submit[disabled]:hover {
	color: #fff !important;
}

@media only screen and (min-width: 1201px) {
	.acc .wpcf7-list-item-label {
		width: 70%;
	}
	.acc > p {
		display: flex;
	}
	.acc > p .wpcf7-form-control-wrap {
		width: calc(70% - 12px);
		margin-left: auto;
	}
}

/* cf7 checkbox */
/* 1. Verstecke die native Checkbox */
input[type="checkbox"] {
    appearance: none;       /* moderne Browser */
    -webkit-appearance: none; /* Safari/Chrome */
    -moz-appearance: none;    /* Firefox */
    width: 24px;            /* gewünschte Größe */
    height: 24px;
    border: 4px solid #878787;  /* roter Rahmen */
    border-radius: 0;       /* keine abgerundeten Ecken */
    display: inline-block;
    position: relative;
    cursor: pointer;
    vertical-align: middle;
    background-color: #fff; /* Hintergrund weiß */
}

input[type="checkbox"]:checked {
	border-color: #b8348a;
}

/* 2. Haken / Checkmark */
input[type="checkbox"]:checked::after {
    content: '';
    position: absolute;
    left: 4px;
    top: 0px;
    width: 6px;
    height: 12px;
    border: 2px solid #b8348a;
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
}

.wpb_text_column p a {
	color: inherit !important;
	text-decoration: underline !important;
}

@media only screen and (min-width: 1001px) {
	#back_to_top.on {
		display: none;
	}
}

/* mobile grid */
@media only screen and (max-width: 480px) {
	.header_bottom .container_inner {
		padding: 0;
	}
	
	.header_bottom, footer .container_inner, nav.content_menu {
		padding: 0 8% !important;
	}
	
	.boxed div.section .section_inner, .carousel-inner .slider_content_outer, .container_inner, .container_inner nav.content_menu, .elementor-container .elementor-widget-wrap>.qode_elementor_container_inner, .elementor-row .elementor-widget-wrap>.qode_elementor_container_inner, .full_width .parallax_content, .qode_elementor_container_inner, .steps_holder_inner, div.grid_section .section_inner, div[data-element_type=container].qode_elementor_container_inner, nav.content_menu ul {
		width: 100%;
		padding: 0 8%;
		box-sizing: border-box;
	}
	
	.section_inner_margin, .vc_row {
		margin-left: 0;
		margin-right: 0;
	}
	
	.vc_column_container>.vc_column-inner {
		padding-left: 0;
		padding-right: 0;
	}
	
	.testimonials_c_holder .testimonial_content_inner {
		padding: 60px 0;
	}
}

ul#menu-main-menu-1 {
	text-align: center;
	display: block !important;
	height: 0;
	transition: none !important;
}
ul#menu-main-menu-1 a {
	font-weight: 700;
	font-size: 18px;
	padding: 15px 0;
}
nav.mobile_menu ul li:last-child {
	margin-bottom: 20px;
}
nav.mobile_menu ul li, nav.mobile_menu ul li ul li {
	border: 0;
}

.qodef-mobile-menu-opened ul#menu-main-menu-1 {
	height: 100% !important;
}

#partner .partner-vdwk img {
	width: auto;
	max-height: 60px;
}

#partner .partner-bdws img {
	width: auto;
	max-height: 52px;
}

.wpcf7 form .wpcf7-response-output, div.wpcf7-response-output {
	color: #b8348a !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 {
	font-family: inherit;
	font-size: inherit;
	color: inherit;
}