/*
Theme Name:     Divi Child
Theme URI:      http://www.elegantthemes.com
Description:    Divi Child
Template:       Divi
Version:        1.0.0
Projekt:		SGW
Webdesign:		Corgi Media
*/

/* Colors */
:root {
	--darkblue: #1a2433;
	--blue: #1459a5;
	--orange: #fb4902;
	--lightblue: #f0f8ff;
	--lightsand: #f9fafb;
	--white: #ffffff;
	--font: 'Fira Sans', sans-serif;
}

/* General */
body {
	hyphens: none;
	white-space: word-wrap;
}

.et_pb_text {
	word-wrap: normal;
}

.et_pb_text strong,
.et_pb_text b {
	font-weight: 500;
}

.et_pb_scroll_top.et-pb-icon {
	background: rgba(0, 0, 0, 0.4);
	text-decoration: none;
	-webkit-border-top-left-radius: 0;
	-webkit-border-bottom-left-radius: 0;
	-moz-border-radius-topleft: 0;
	-moz-border-radius-bottomleft: 0;
	border-top-left-radius: 0;
	border-bottom-left-radius: 0;
}

/* Zoom & Boxes */
.teaser-boxes-effect .et_pb_column,
.info-box-effect {
	transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
	box-shadow: 0 1px 2px rgba(0, 0, 0, 0);
}

.teaser-boxes-effect .et_pb_column:hover,
.info-box-effect:hover {
	background: var(--white) !important;
	transform: translateY(-5px);
	box-shadow: 0 20px 40px rgba(0, 0, 0, 0.1);
	cursor: default;
}

.info-box-effect:hover {
	cursor: pointer;
}

.custom-image-zoom {
	overflow: hidden;
}

.custom-image-zoom img {
	transition: transform 0.5s ease-in-out;
}

.custom-image-zoom:hover img {
	transform: scale(1.05);
}

.icon-pdf,
.icon-video {
	display: inline-flex;
	text-decoration: none;
	margin-bottom: 8px;
	transition: color 0.3s ease;
}

.icon-pdf:hover,
.icon-video:hover {
	color: var(--darkblue);
}

.icon-pdf::before,
.icon-video::before {
	font-family: 'ETmodules';
	margin-right: 12px;
	font-size: 16px;
	font-weight: normal;
	display: inline-block;
}

.icon-pdf::before {
	content: "\e058";
	color: var(--blue);
}

.icon-video::before {
	content: "\e024";
	color: var(--blue);
}

/* Lists */
.et_pb_text ul.check-list {
	list-style-type: none;
	margin-left: 0;
	padding-left: 0;
	margin-top: 1rem;
}

.et_pb_text ul.check-list li {
	margin-bottom: 1rem;
	position: relative;
	padding-left: 2rem;
}

.et_pb_text ul.check-list li:before {
	content: '';
	display: inline-block;
	margin-left: -2rem;
	margin-right: .5rem;
	font-size: 1.3rem;
	display: inline-block;
	position: absolute;
	top: 0;
	background: url('img/check.svg') no-repeat;
	width: 25px;
	height: 25px;
	background-size: contain;
}

.et_pb_text ul.cross li:before {
	background: url('img/cross.svg') no-repeat;
	width: 20px;
	height: 20px;
	margin-top: 2px;
}

.numbered-list {
	list-style: none;
	list-style-type: none;
	counter-reset: my-counter;
	padding: 0;
	margin: 1rem 0 0 -1rem;
}

.numbered-list li {
	counter-increment: my-counter;
	position: relative;
	list-style: none;
	padding-left: 1.2em;
	margin-bottom: 20px;
}

.numbered-list li::before {
	content: counter(my-counter) ".";
	position: absolute;
	left: 0;
	top: 0;
	color: var(--blue);
	font-weight: 500;
}


/* Buttons */
.button-container {
	display: flex;
	gap: 0;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
}

.button-container .et_pb_text {
	width: 100%;
}

.button-container .et_pb_button_module_wrapper {
	margin-bottom: 1rem !important;
	margin-right: 1rem;
}

@media (max-width: 767px) {
	.button-container {
		display: block;
		gap: 0;
		flex-wrap: wrap;
		align-items: center;
		justify-content: center;
	}
}

/* Accordeon */
.et_pb_toggle_title::before {
	content: "\33" !important;
	transition: all .3s ease-in-out;
}

.et_pb_toggle_open .et_pb_toggle_title::before {
	content: "\33" !important;
	transform: rotate(180deg);
	display: block !important;
}

/* Header & Rows */
.top-menu {
	height: 100%;
	display: flex;
	align-content: center;
	justify-content: flex-end;
}

.top-menu .et_pb_text_inner {
	display: flex;
	gap: 2px;
	align-content: center;
	flex-direction: column;
	margin: auto 0;
}

.top-menu .et_pb_text_inner .et-pb-icon {
	font-size: 16px;
}

.header-bar .et_pb_menu {
	margin-top: auto;
}

.header-bar .et_pb_row {
	display: flex;
}

.header-bar .et_pb_column:nth-child(2) {
	display: flex;
	flex-direction: column;
}

.et_pb_menu .et-menu {
	display: flex !important;
	justify-content: space-between !important;
}

.et_pb_menu__menu,
.et-menu-nav,
.et_pb_menu .et-menu {
	width: 100%;
}

.current-menu-item a::after {
	content: '';
	height: 3px;
	background: var(--lightblue);
	width: 100%;
	position: absolute;
	bottom: -10px;
	left: 0;
}

.nav li li {
	padding: 0;
	margin: 0;
}

.nav li ul {
	width: 450px;
}

.et-menu li li a {
	padding: 6px 20px;
	width: 100%;
}

.et_mobile_menu li a:hover,
.nav ul li a:hover {
	background-color: transparent;
	opacity: .7;
}

.et-menu li li.current-menu-item a::after {
	display: none;
}

@media (max-width: 1280px) {
	.et_pb_menu_0_tb_header.et_pb_menu ul li a {
		font-size: 16px !important;
	}
}

@media (max-width: 1160px) {
	.et_pb_menu_0_tb_header.et_pb_menu ul li a {
		font-size: 15px !important;
	}

	.et_pb_row {
		width: 90% !important;
		max-width: 90% !important;
	}
}

@media (max-width: 980px) {

	.et_mobile_menu li a:hover,
	.nav ul li a:hover {
		background-color: transparent;
		opacity: 1;
	}

	.et_mobile_menu li a {
		border-bottom: 0;
		padding: 5px;
	}

	.et_pb_menu_0_tb_header.et_pb_menu ul li a {
		font-size: 17px !important;
	}

	.et_pb_menu_0_tb_header.et_pb_menu ul li li a {
		font-size: 17px !important;
		font-weight: 300;
	}

	.et_mobile_menu .menu-item-has-children>a {
		font-weight: 500;
		background-color: transparent;
	}

	.et_pb_menu .et_mobile_menu {
		top: 100%;
		padding: 1rem;
	}

	.et_pb_menu_0_tb_header.et_pb_menu ul li.current-menu-item a {
		color: var(--blue) !important;
	}

	.header-bar .et_pb_column {
		margin-bottom: 0 !important;
	}

	.mobile-reverse {
		display: flex;
		flex-direction: column-reverse;
	}

	.current-menu-item a::after {
		display: none;
	}
	
	.et_mobile_menu li li {
		padding-left:0;
	}

	.et_pb_menu .et_mobile_menu li ul {
		padding-left: 10px;
	}
}

@media (max-width: 768px) {
	.header-bar .et_pb_column:first-child {
		width: 40% !important;
	}

	.top-menu .et_pb_text_inner br {
		display: none;
	}

	.top-menu .et_pb_text_inner .mobile-break {
		display: block;
		visibility: hidden;
		height: 0;
	}
}

/* Forms */
.wpcf7-not-valid-tip {
	color: var(--orange);
	font-weight: normal;
	display: block;
	font-family: var(--font);
	font-size: 14px;
	text-transform: uppercase;
	font-weight: 500;
}

.form-section {
	margin-bottom: 0;
	background: transparent;
	padding: 0;
	box-shadow: none;
}

.form-row {
	width: 100%;
	display: flex;
	flex-direction: row;
	gap: 2%;
	margin-bottom: 1rem;
}

.form-column {
	width: 50%;
}

.form-column-full-width {
	width: 100%;
}

.form-section label {
	color: var(--darkblue);
	font-family: var(--font);
	font-size: 18px;
	display: block;
	margin: 0 0 .5rem 0;
	padding: 0;
	font-weight: 300;
}

.form-section br {
	display: none;
}

.datenschutz a {
	text-decoration: underline;
	color: var(--darkblue);
}

.wpcf7-form input[type=text],
.wpcf7-form input[type=tel],
.wpcf7-form input[type=email],
.wpcf7-form input[type=date],
.wpcf7-form input[type=number],
.wpcf7-form textarea {
	border-radius: 0 !important;
	overflow: hidden !important;
	border-width: 0 !important;
	border-color: var(--lightblue) !important;
	font-weight: normal;
	font-size: 18px;
	-webkit-appearance: none;
	background-color: #fff;
	width: 100%;
	border-width: 0;
	border-radius: 0;
	color: var(--darkblue) !important;
	padding: 16px !important;
	box-shadow: none;
	font-family: var(--font);
	padding-bottom: .5rem;
	box-shadow: 0 20px 30px rgba(0, 0, 0, 0.01) !important;
	max-height: 120px;
}

.wpcf7-form input:focus,
.wpcf7-form select:focus,
.wpcf7-form textarea:focus,
.wpcf7-form .wpcf7-form-control:focus {
	background: var(--blue) !important;
	color: var(--white) !important;
}

.wpcf7-submit {
	background: var(--blue) !important;
	color: var(--white) !important;
	width: 120px;
	border: 0 !important;
	box-shadow: none;
	border-radius: 0 !important;
	padding: 1rem 1rem !important;
	cursor: pointer !important;
	text-align: center !important;
	margin: 1rem auto 0 auto !important;
	display: block;
	font-family: var(--font);
	font-weight: 500 !important;
	font-size: 18px !important;
}

.wpcf7 .wpcf7-submit:disabled {
	cursor: not-allowed !important;
	opacity: .7;
}

.wpcf7-spinner {
	display: none;
}

.wpcf7 form .wpcf7-response-output {
	padding: 1rem;
	text-align: center;
	color: var(--darkblue);
	font-size: 18px;
	font-family: var(--font);
}

.wpcf7 form.sent .wpcf7-response-output {
	font-weight: normal;
	font-size: 16px;
	padding: 1rem;
	text-align: center;
	color: var(--darkblue);
	font-family: var(--font);
}

.wpcf7-radio {
	margin-left: 0;
	padding-left: 0;
}

.wpcf7-list-item {
	display: block;
	margin-left: 0;
}

.et-pb-contact-message p {
	line-height: 1.8rem;
	font-weight: 300;
	font-size: 18px;
	line-height: 1.8rem;
	text-align: center;
	color: var(--darkblue);
}

input[type="radio"]:checked+span::before {
	content: "";
	color: var(--white);
	width: 13px;
	height: 13px;
	border: solid 2px var(--orange);
	background-color: var(--orange);
}

input[type="checkbox"]:checked {
	accent-color: var(--blue);
}

@media(max-width:768px) {
	.form-column {
		width: 100%;
		margin-bottom: 1rem;
	}

	.form-row {
		flex-direction: column;
		margin-bottom: 0;
	}
}
