.gmapsmarker {
    padding: 0 10px 10px 10px;
    font-size: .9rem;
    color: #131414;
    font-family: 'Jost', sans-serif;
    line-height: 1.2rem;
    font-weight: 600;
	text-align: left;
}
.gmapsmarker h3 {
    padding-bottom: 10px;
}
.gmapsmarker h3 {
    padding-bottom: 0;
    font-size: 20px;
    font-weight: 900;
    margin-top: 0;
} 
#map div:first-child{
	z-index: 1;
}
.gmapsblocker .first { 
	color: #d0cece;
	line-height: 47px;
	font-size: 50px;
	text-align: center;
	font-family: 'Jost', 'Segoe UI', 'Helvetica Neue', Helvetica, Arial, sans-serif;
	font-weight: 800;
	text-transform: uppercase;
}
.gmapsblocker .second {
	content: 'Bitte im Cookie Banner aktivieren!' !important;
	color: #d0cece;
	font-size: 17px;
	padding-top: 20px;
	font-family: 'Libre Baskerville', 'Segoe UI', 'Helvetica Neue', Helvetica, Arial, sans-serif;
	font-weight: 400;
} 
.gmapsblocker  {
    height: 650px !important;
    width: 100vw !important;
    position: relative !important;
    left: 50% !important;
    right: 50% !important;
    margin-left: -50vw !important;
    margin-right: -50vw !important;
	background: #f0f0f0; 
	display: flex; 
	align-items: center;
	justify-content: center;
	text-align: center;
} 
#map:before, #map:after {
    content: ' ';
}  
 




.hiddenaccy {
    text-indent: 120%;
    overflow: hidden;
    display: none;
    top: -15px;
    background: transparent;
} 
 .wpb_wrapper .wpcf7 {
    width: calc(100% + 10px);
	margin-left: -5px;
	margin-right: -5px;
}

.wpcf7 label {
    margin-left: 5px;
    font-size: 1rem;
    font-family: 'Jost', 'Segoe UI', 'Helvetica Neue', Helvetica, Arial, sans-serif;
    font-weight: 600;
	text-transform: uppercase;
}
.wpcf7 .extralink label {
    margin-left: 0; 
	position: inherit !important;
}
.wpcf7 fieldset h5 {
    padding-bottom: 0;
    margin-left: 5px;
}
.wpb_wrapper .wpcf7 p {
    margin-bottom: 0;
}
div.wpcf7 .ajax-loader {
    background-image: url('../images/ajax-loader.gif') !important;
    background-repeat: no-repeat;
    width: 20px !important;
    height: 20px !important;
    margin-left: 10px;
    border: solid 1px red;
    bottom: -18px;
    left: 0;
    position: absolute;
}
.wpcf7-not-valid-tip, .screen-reader-response {
    display: none !important;
}
.wpcf7 ::-webkit-input-placeholder {
    color: #5c5c5c;
    opacity: 1;
}
.wpcf7 :-moz-placeholder {
    color: #5c5c5c;
    opacity: 1;
}
.wpcf7 ::-moz-placeholder {
    color: #5c5c5c;
    opacity: 1;
}
.wpcf7 :-ms-input-placeholder {
    color: #5c5c5c;
    opacity: 1;
}
input:focus::-webkit-input-placeholder, textarea:focus::-webkit-input-placeholder {
    opacity: 0.2;
}
input:focus:-moz-placeholder, textarea:focus:-moz-placeholder {
    opacity: 0.2;
}
/* FF 4-18 */ input:focus::-moz-placeholder, textarea:focus::-moz-placeholder {
    opacity: 0.2;
}
/* FF 19+ */ input:focus:-ms-input-placeholder, textarea:focus:-ms-input-placeholder {
    opacity: 0.2;
}
/* IE 10+ */ #responsive-form {
    margin: 0 auto;
    width: 100%;
}
.form-row {
    width: 100%;
}
.column-half, .column-full {
    float: left;
    position: relative;
    padding: 5px;
    width: 100%;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}
.clearfix:after {
    content: "";
    display: table;
    clear: both;
}
.wpcf7 input[type="text"], 
.wpcf7 input[type="email"], 
.wpcf7 input[type="tel"], 
.wpcf7 input[type="date"], 
.wpcf7 textarea {
    width: 100%;
    padding: 20px;
    background: #f2f2f2; 
	box-sizing: border-box;
	border: solid 2px #fff;
	color: #282828; 
	font-size: 1rem;
	line-height: 1.7rem;
	font-family: 'Libre Baskerville', 'Segoe UI', 'Helvetica Neue', Helvetica, Arial, sans-serif;
	font-weight: 600;
}
.wpcf7 textarea {
    height: 200px;
}
.wpcf7 input[type="text"]:focus, 
.wpcf7 textarea:focus, 
.wpcf7 input[type="select"]:focus,
.wpcf7 input[type="email"]:focus, 
.wpcf7 input[type="tel"]:focus, 
.wpcf7 input[type="date"]:focus, 
.wpcf7 input[type="text"]:focus-visible, 
.wpcf7 textarea:focus-visible, 
.wpcf7 input[type="select"]:focus-visible, 
.wpcf7 input[type="email"]:focus-visible, 
.wpcf7 input[type="tel"]:focus-visible, 
.wpcf7 input[type="date"]:focus-visible { 
    border-color: #5c5c5c;
    outline: none;
}
 
.wpcf7-select {
    display: block;
    padding: 20px;
    width: 100%;
    font: inherit;
    max-width: 100%;
    box-sizing: border-box;
    margin: 0;
    border: none;
    -moz-appearance: none;
    -webkit-appearance: none;
    appearance: none;
    background-color: #f2f2f2;
    background-image: url(data: image/svg+xml; base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiPjxzdmcgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMjAiIGhlaWdodD0iMjAiIHZpZXdCb3g9IjAgMCAyMCAyMCI+PHBhdGggZmlsbD0iIzAwMDAwMCIgZD0iTTAgNmMwLTAuMTI4IDAuMDQ5LTAuMjU2IDAuMTQ2LTAuMzU0IDAuMTk1LTAuMTk1IDAuNTEyLTAuMTk1IDAuNzA3IDBsOC42NDYgOC42NDYgOC42NDYtOC42NDZjMC4xOTUtMC4xOTUgMC41MTItMC4xOTUgMC43MDcgMHMwLjE5NSAwLjUxMiAwIDAuNzA3bC05IDljLTAuMTk1IDAuMTk1LTAuNTEyIDAuMTk1LTAuNzA3IDBsLTktOWMtMC4wOTgtMC4wOTgtMC4xNDYtMC4yMjYtMC4xNDYtMC4zNTR6Ij48L3BhdGg+PC9zdmc+);
    background-repeat: no-repeat, repeat;
    background-position: right .7em top 50%, 0 0;
    background-size: .65em auto, 100%;
    background-repeat: no-repeat;
    position: relative;
} 
.wpcf7-select::-ms-expand {
    display: none;
}
.wpcf7-select:hover {
    border-color: #888;
}
.wpcf7-select option {
    font-weight: normal;
}
 .wpcf7-select:disabled, .wpcf7-select[aria-disabled=true] {
    color: graytext;
}
.wpcf7-select:disabled:hover, .wpcf7-select[aria-disabled=true] {
    border-color: #aaa;
}
 .wpcf7 .wpcf7-list-item {
    margin-left: 0;
}
.wpcf7 .wpcf7-list-item input {
    margin-right: 10px;
}
.wpcf7 .accept {
    padding-bottom: 0 !important;
    display: flex;
}
.wpcf7 .accept p:first-child {
    width: 25px;
    margin-left: 0;
    margin-right: 10px;
}
.wpcf7 .accept {
    margin: 0;
    float: left;
    width: 100%;
    margin-top: 15px;
}
.wpcf7 .accept .column-full {
    display: flex;
}
.wpcf7 .accept .swpcf7-list-item {
    text-indent: -9999999px;
}
.wpcf7 .accept .wpcf7-form-control-wrap {
    float: left;
}
.wpcf7 .accept p {
    float: left;
    width: 100%;
    color: #282828; 
}
.wpcf7 .accept p a {
    color: inherit;
	text-decoration: none;
	font-weight: 600;
	padding-bottom: 1px;
	border-bottom: 1px solid currentColor;
}
.wpcf7 .accept p a:hover { 
  border-bottom: none;
}
.wpcf7 .accept .wpcf7-list-item {
    margin-left: 0;
}
.wpcf7 .accept .wpcf7-list-item input {
	height: 25px;
	width: 25px;
    border: 2px solid #f2f2f2;
}
.fullwidth .accept {
    text-align: left;
}
 .wpcf7-form .wpcf7-checkbox label {
    position: relative;
    cursor: pointer;
    line-height: 26px;
}










/* 1. Die echte Checkbox sicher verstecken (Barrierefrei) */
.wpcf7-checkbox input[type="checkbox"] {
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0;
    margin: 0;
}

/* 2. Den Container (Label) für das Styling vorbereiten */
.wpcf7-list-item label {
    position: relative;
    display: flex;
    align-items: flex-start;
    cursor: pointer;
    gap: 10px; /* Abstand zwischen Box und Text */
}

/* 3. Die neue Custom-Box (Hintergrund) */
.wpcf7-list-item-label::before {
    content: "";
    display: inline-block;
    width: 25px;
    height: 25px;
    background: #f2f2f2;
    transition: all 0.2s ease;
    flex-shrink: 0; /* Verhindert, dass die Box bei langem Text schrumpft */
}

/* 4. Das "X" (Standardmäßig unsichtbar) */
.wpcf7-list-item-label::after {
    content: "x";
    position: absolute;
    left: 0;
    top: 0;
    width: 25px;
    height: 25px;
    display: flex;
    justify-content: center;
    align-items: center;
    
    font-family: 'Jost', sans-serif;
    font-weight: 600;
    font-size: 1.2rem;
    color: #282828;
    
    opacity: 0;
    transition: opacity 0.2s ease;
}

/* 5. Zustand: Wenn ausgewählt (Checked) */
.wpcf7-checkbox input[type="checkbox"]:checked + .wpcf7-list-item-label::after {
    opacity: 1;
}

/* 6. Fokus-Zustand für Barrierefreiheit (Optional, aber empfohlen) */
.wpcf7-checkbox input[type="checkbox"]:focus + .wpcf7-list-item-label::before {
    outline: 2px solid #ccc;
}
.wpcf7-form .wpcf7-not-valid input[type="checkbox"] + span::before {
  border: none !important; 
}









.wpcf7 .feldbox {
    width: 100%;
    margin-bottom: 2%;
    float: left;
}
.wpcf7 .feldbox input, .wpcf7 .feldbox select, .wpcf7 .feldbox textarea {
    float: left;
    position: relative;
    font: inherit;
    padding: 0.65rem;
    width: 100%;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    border: none;
    color: #282828;
}
.wpcf7 .feldbox input, .wpcf7 .feldbox textarea {
    background: #f2f2f2;
}
.wpcf7 .feldbox textarea {
    height: 150px;
}
.buttons_reg {
    float: left;
    position: relative;
}
.wpcf7 input.wpcf7-submit {
	font-family: 'Jost', 'Segoe UI', 'Helvetica Neue', Helvetica, Arial, sans-serif;
	font-weight: 400;
	line-height: 1rem;
	font-size: 0.938rem; 
	padding: 1rem 1rem 1rem 1.1rem; 
	text-transform: uppercase; 
    color: #fff; 
    border: none;  
	background: #6b8688; 
    border-radius: 0 !important; ;
    -webkit-appearance: none; 
    cursor: pointer;
    -webkit-transition: all .2s ease-in-out;
	transition: all .2s ease-in-out;
    display: inline-block;
    margin-bottom: 10px;
    margin-top: 20px; 
}
.wpcf7 input.wpcf7-submit:hover {
    background: #506566; 
}
 .wpcf7 .invalid input.wpcf7-not-valid, 
 .wpcf7 .invalid select.wpcf7-not-valid, 
 .wpcf7 .invalid textarea.wpcf7-not-valid, 
 .wpcf7-form .wpcf7-not-valid input[type=checkbox] + span:before {
    border: solid 2px #770810;
	background: #770810;
	color: #fff;
}
.wpcf7 .invalid ::placeholder {
  color: #fff;
  opacity: 1;
}
.wpcf7-response-output {
    float: left;
}
.wpcf7 form .wpcf7-response-output {
    margin-left: 0 !important;
}
 .wpcf7 form.sent .wpcf7-response-output {
    background: #597745;
    border-color: #597745 !important;
    color: #fff !important;
}
.wpcf7 form.spam .wpcf7-response-output {
    border-color: #f56e28;
}
.wpcf7 form .wpcf7-response-output {
    margin: 0;
    margin-left: 0.5em;
    padding: 2rem 1rem;
    border: none;
    border-top-color: rgb(0, 160, 210);
    border-right-color: rgb(0, 160, 210);
    border-bottom-color: rgb(0, 160, 210);
    border-left-color: rgb(0, 160, 210);
	width: calc( 100% - 2rem);
}
.wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.unaccepted .wpcf7-response-output {
    background: #770810;
    border-color: #770810 !important;
    color: #fff !important;
}
.white p, .white p a, .white .accept p, .white .accept p a {
    color: #fff !important;
}
.white .accept p a, .white p a {
    border-bottom: 1px solid #fff;
}
.white .wpcf7-form .wpcf7-checkbox input[type=checkbox] + span:after {
    color: #fff;
}
a.regihover:hover {
    border: none !important;
}
.wpcf7 .leftandright {
    display: flex;
}
.wpcf7 .leftside, .wpcf7 .rightside {
    width: 50%;
}
.wpcf7 .leftside {
    padding-left: 0;
    padding-right: 15px;
}

.wpcf7 .rightside {
    padding-left: 15px;
    padding-right: 0;
}
.wpcf7-form .extrah6 {
	font-family: 'Open Sans', 'Segoe UI', 'Helvetica Neue', Helvetica, Arial, sans-serif;
	font-weight: 400;
    font-size: 14px;
    padding-left: 5px;
    text-transform: none;
    line-height: 19px;
    padding-top: 5px;
	letter-spacing: 0;
	margin-top: 0;
}
.wpcf7-form .extrah6 span {
    display: block;
	font-family: 'Open Sans', 'Segoe UI', 'Helvetica Neue', Helvetica, Arial, sans-serif;
	font-weight: 400;
    font-size: 12px;
    text-transform: none !important;
}
.wpcf7-form .codedropz-upload-inner span {
    font-size: 20px;
    color: #fff;
}
.wpcf7-form .codedropz-btn-wrap a {
    font-size: 14px;
    color: #ce4043;
}
.codedropz-upload-handler {
    margin-top: 10px;
    margin-bottom: 0 !important; 
	background: #fff;
	border-radius: 0;
	border: none;
}
.codedropz-upload-container {
	background: #5c5c5c;
	color:#fff;
} 
.dnd-upload-counter {
    display: none;
}
.wpcf7-form .codedropz-upload-inner div {
    margin: 0;
	font-family: 'Open Sans', 'Segoe UI', 'Helvetica Neue', Helvetica, Arial, sans-serif;
	font-weight: 400;
    font-size: 14px;
    text-transform: none;
    padding-bottom: 0;
    color: #fff; 
	letter-spacing: 0;
}
.wpcf7-form .codedropz-upload-inner span {
   display: none;
}
.wpcf7-form .codedropz-upload-inner .codedropz-btn-wrap a  {
	font-family: 'Open Sans Condensed', 'Segoe UI', 'Helvetica Neue', Helvetica, Arial, sans-serif;
	font-weight: 900;
	line-height: 1rem;
	font-size: 1rem;
	padding: .9rem;
	text-transform: uppercase;
	background: transparent;
	border: solid 2px #fff;
	border-radius: 0;
	color: #fff;
	letter-spacing: .9px;
	-moz-transition: all .2s ease-in-out;
	-ms-transition: all .2s ease-in-out;
	-o-transition: all .2s ease-in-out;
	-webkit-appearance: none;
	-webkit-transition: all .2s ease-in-out;
	cursor: pointer;
	transition: all .1s ease-in-out;
	display: inline-block;
	margin-bottom: 10px;
	margin-top: 5px;
	text-decoration: none !important;
}
.wpcf7-form .codedropz-upload-inner .codedropz-btn-wrap a:hover  {
	background: #fff;
	color: #5c5c5c;
}
.dnd-upload-status .dnd-upload-details .dnd-progress-bar {
    border-radius: 0;
    height: 27px;
}
.dnd-upload-status .dnd-upload-details .dnd-progress-bar span {
    font-size: 1rem;
    line-height: 26px;
    font-weight: 600;
}
.dnd-upload-status {
    padding: 14px 0 0 0;
}
.dnd-upload-status .dnd-upload-details .name {
    color: #ce4043;
}
.dnd-upload-status .dnd-upload-details .name em {
    color: #60646b;
    font-weight: 500;
}
.dnd-upload-status .dnd-upload-details .dnd-progress-bar {
    background: #f2f2f2;
}
.dnd-upload-status .dnd-upload-details span.has-error {
    color: #a41551;
    font-size: 14px;
}
.dnd-upload-status .dnd-upload-image span {
    color: #fff;
}
.dnd-upload-status .dnd-upload-image {
    display: none;
}
.dnd-upload-status .dnd-upload-details {
    padding-left: 0;
    width: 100%;
}
.dnd-upload-status .dnd-upload-details .remove-file {
    top: 18px;
}
.dnd-upload-status .dnd-upload-details .name {
    font-size: 1rem;
}
.dnd-upload-status .dnd-upload-details .name {
    color: #466431 !important;
}
.dnd-upload-status .dnd-upload-details .name em {
    color: #919191;
    font-weight: 500 !important;
    font-style: normal !important;
}
.dnd-upload-status .dnd-upload-details .dnd-progress-bar {
    border-radius: 0 !important;
}
.wpcf7-form .dnd-upload-status .dnd-upload-details .dnd-progress-bar span {
    background: #466431;
}



 @media only screen and (min-width:880px) {
.column-half {
    width: 50%;
}
}


@media only screen and (max-width:890px) {
.wpcf7 .rightside {
    margin-top: 32px;
}
.column-half, .column-full {
    padding: 5px 0;
}
.formbox .vc_column-inner {
    padding-left: 0 !important;
    padding-right: 0 !important;
}
.wpcf7 .leftside, .wpcf7 .rightside {
    padding-left: 0;
    padding-right: 15px;
    width: 100%;
}
.wpcf7 .leftandright {
    display: block;
}
#map {
    height: 350px; 
}
}



@media only screen and (max-width:520px) {
.wpcf7-form .codedropz-upload-inner div {
    font-size: .8rem !important;
} 
.brlbs-cmpnt-cb-google-maps:before {
    font-size: 30px;
}
}