.elementor-26477 .elementor-element.elementor-element-7f5346d{--display:flex;}.elementor-26477 .elementor-element.elementor-element-71c2374{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--border-radius:10px 10px 10px 10px;box-shadow:0px 10px 40px 0px rgba(0, 0, 0, 0.1);--padding-top:40px;--padding-bottom:40px;--padding-left:40px;--padding-right:40px;}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );line-height:var( --e-global-typography-text-line-height );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-widget-gallery .elementor-gallery-item__title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-widget-gallery .elementor-gallery-item__description{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );line-height:var( --e-global-typography-text-line-height );}.elementor-widget-gallery{--galleries-title-color-normal:var( --e-global-color-primary );--galleries-title-color-hover:var( --e-global-color-secondary );--galleries-pointer-bg-color-hover:var( --e-global-color-accent );--gallery-title-color-active:var( --e-global-color-secondary );--galleries-pointer-bg-color-active:var( --e-global-color-accent );}.elementor-widget-gallery .elementor-gallery-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-26477 .elementor-element.elementor-element-72824f7 .e-gallery-item:hover .elementor-gallery-item__overlay, .elementor-26477 .elementor-element.elementor-element-72824f7 .e-gallery-item:focus .elementor-gallery-item__overlay{background-color:rgba(0,0,0,0.5);}.elementor-26477 .elementor-element.elementor-element-72824f7{--image-transition-duration:800ms;--overlay-transition-duration:800ms;--content-text-align:center;--content-padding:20px;--content-transition-duration:800ms;--content-transition-delay:800ms;}.elementor-26477 .elementor-element.elementor-element-91cef4c{--display:flex;}.elementor-26477 .elementor-element.elementor-element-502ddb7{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--border-radius:10px 10px 10px 10px;box-shadow:0px 10px 40px 0px rgba(0, 0, 0, 0.1);--padding-top:40px;--padding-bottom:40px;--padding-left:40px;--padding-right:40px;}.elementor-26477 .elementor-element.elementor-element-8af09cb{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-widget-image .widget-image-caption{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );line-height:var( --e-global-typography-text-line-height );}@media(max-width:1366px){.elementor-widget-text-editor{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-widget-gallery .elementor-gallery-item__title{line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-widget-gallery .elementor-gallery-item__description{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-widget-gallery .elementor-gallery-title{line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-widget-image .widget-image-caption{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}}@media(max-width:1200px){.elementor-26477 .elementor-element.elementor-element-71c2374{--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-26477 .elementor-element.elementor-element-502ddb7{--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-26477 .elementor-element.elementor-element-8af09cb{--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;}}@media(max-width:1024px){.elementor-widget-text-editor{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-widget-gallery .elementor-gallery-item__title{line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-widget-gallery .elementor-gallery-item__description{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-widget-gallery .elementor-gallery-title{line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-widget-image .widget-image-caption{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}}@media(max-width:767px){.elementor-26477 .elementor-element.elementor-element-71c2374{--padding-top:20px;--padding-bottom:20px;--padding-left:20px;--padding-right:20px;}.elementor-widget-text-editor{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-widget-gallery .elementor-gallery-item__title{line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-widget-gallery .elementor-gallery-item__description{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-widget-gallery .elementor-gallery-title{line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-26477 .elementor-element.elementor-element-502ddb7{--padding-top:20px;--padding-bottom:20px;--padding-left:20px;--padding-right:20px;}.elementor-widget-image .widget-image-caption{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}}@media(min-width:768px){.elementor-26477 .elementor-element.elementor-element-8af09cb{--width:36%;}}@media(max-width:1200px) and (min-width:768px){.elementor-26477 .elementor-element.elementor-element-8af09cb{--width:100%;}}/* Start custom CSS for container, class: .elementor-element-7f5346d *//* --- CSS für das Ferienprogramm --- */

/* Nachrichten-Styles (Fallback und für Admin-Bereich) */
.fp-message {
    padding: 10px 15px; margin-bottom: 20px; border: 1px solid transparent; border-radius: 4px;
}
.fp-error-message { color: #a94442; background-color: #f2dede; border-color: #ebccd1; }
.fp-success-message { color: #3c763d; background-color: #dff0d8; border-color: #d6e9c6; }

/* Anmeldeformular */
.fp-global-registration .fp-form-row { margin-bottom: 15px; }
.fp-global-registration .fp-form-row label {
    display: inline-block; width: 280px; margin-right: 10px;    
    vertical-align: top; font-weight: bold; line-height: 1.5;      
}
.fp-global-registration .fp-photo-consent h4 { margin-bottom: 10px; }
.fp-global-registration .fp-photo-consent .fp-radio-option { margin-bottom: 5px; }
.fp-global-registration .fp-photo-consent .fp-radio-option label {
    width: auto; font-weight: normal; margin-left: 5px; vertical-align: middle;
}
.fp-global-registration .fp-photo-consent .fp-radio-option input[type="radio"] {
    vertical-align: middle; margin-right: 5px;
}
.fp-global-registration .fp-form-row input[type="text"],
.fp-global-registration .fp-form-row input[type="email"],
.fp-global-registration .fp-form-row input[type="tel"],
.fp-global-registration .fp-form-row input[type="date"],
.fp-global-registration .fp-form-row textarea {
    width: calc(100% - 300px); max-width: 450px; padding: 8px;
    border: 1px solid #ccc; box-sizing: border-box; 
}
.fp-global-registration .fp-form-row textarea { min-height: 80px; }

/* Responsive Formular */
@media (max-width: 768px) {
    .fp-global-registration .fp-form-row label { display: block; width: auto; margin-bottom: 5px; }
    .fp-global-registration .fp-form-row input, .fp-global-registration .fp-form-row textarea {
        width: 100%; max-width: none;
    }
}

/* Event-Tabelle */
.fp-events-table { width: 100%; border-collapse: collapse; margin-bottom: 30px; }
.fp-events-table th, .fp-events-table td {
    border: 1px solid #ddd; padding: 8px; text-align: left; vertical-align: top;
}
.fp-events-table th { background-color: #f2f2f2; }
.fp-events-table .event-content { font-size: 0.9em; margin-top: 5px; }
.fp-events-table .already-booked, .fp-events-table .max-events-reached,
.fp-events-table .fully-booked, .fp-events-table .info-text {
    font-style: italic; color: #777; font-size: 0.9em;
}

/* AJAX Popup-Styles */
#fp-popup-area { }
.fp-popup-overlay {
    position: fixed; top: 0; left: 0; width: 100%; height: 100%;
    background-color: rgba(0, 0, 0, 0.6); display: flex;
    justify-content: center; align-items: center; z-index: 10000;
}
.fp-popup-modal {
    background-color: #fff; border-radius: 8px; box-shadow: 0 5px 15px rgba(0, 0, 0, 0.3);
    width: 90%; max-width: 600px; overflow: hidden; display: flex; flex-direction: column;
}
.fp-popup-success .fp-popup-header h2 { color: #28a745; }
.fp-popup-error .fp-popup-header h2 { color: #dc3545; }
.fp-popup-header {
    display: flex; justify-content: space-between; align-items: center;
    padding: 15px 20px; border-bottom: 1px solid #eee;
}
.fp-popup-header h2 { margin: 0; font-size: 1.5em; }
.fp-popup-close {
    background: none; border: none; font-size: 2em; font-weight: bold;
    line-height: 1; color: #aaa; cursor: pointer; padding: 0;
}
.fp-popup-body { padding: 20px; overflow-y: auto; }
.fp-summary-table { width: 100%; border-collapse: collapse; margin: 20px 0; }
.fp-summary-table th, .fp-summary-table td { border: 1px solid #ddd; padding: 10px; text-align: left; }
.fp-summary-table th { background-color: #f9f9f9; }
.fp-summary-table tfoot td { border-top: 2px solid #333; }
.fp-popup-footer-note { font-size: 0.9em; color: #777; text-align: center; margin-top:15px; }
.fp-popup-footer { padding: 15px 20px; text-align: right; border-top: 1px solid #eee; }
.fp-popup-close-btn {
    background-color: #0073aa; color: #fff; border: none; border-radius: 4px;
    padding: 10px 20px; font-size: 1em; cursor: pointer;
}
.fp-popup-close-btn:hover { background-color: #005a87; }

/* Admin-Ansicht Tabelle ([view_fp_registrations]) */
.fp-registrations-table {
    width: 100%; border-collapse: collapse; margin-top: 15px; font-size: 0.9em;
}
.fp-registrations-table th, .fp-registrations-table td {
    border: 1px solid #ccc; padding: 6px; text-align: left; vertical-align: top;
}
.fp-registrations-table th { background-color: #e9e9e9; font-weight: bold; }
.fp-event-registration-details {
    margin-bottom: 20px; padding: 15px; border: 1px solid #eee; background-color: #f9f9f9;
}
.fp-event-registration-details h3 { margin-top: 0; }/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-8b876dd *//* Col event title */
.fp-events-table tr .col-event-title{
	color:#1c3861;
	font-size:16px;
}

/* Col event location */
.fp-events-table tr .col-event-location{
	color:#6c757d;
	line-height:1.5em;
}

/* Event content */
.fp-events-table tr .event-content{
	color:#6c757d;
}

/* Col event title */
.hentry .elementor .elementor-element .e-con-inner .elementor-widget-shortcode .elementor-widget-container .elementor-shortcode .fp-events-container #fp-registration-form div .fp-events-table tbody tr .col-event-title{
	line-height:1.5em !important;
}

/* Th */
.fp-events-table tr th{
	font-size:16px;
}

/* Col event instructor */
.fp-events-table tr .col-event-instructor{
	line-height:1.5em;
}

/* Th */
.hentry .elementor .elementor-element .e-con-inner .elementor-widget-shortcode .elementor-widget-container .elementor-shortcode .fp-events-container #fp-registration-form div .fp-events-table tbody tr th{
	line-height:1.5em !important;
}

/* Col event age */
.fp-events-table tr .col-event-age{
	line-height:1.5em;
}

/* Form fields */
#fp-registration-form .fp-form-fields{
	padding-left:40px;
	padding-right:40px;
	padding-top:40px;
	padding-bottom:40px;
	border-top-left-radius:10px;
	border-top-right-radius:10px;
	border-bottom-left-radius:10px;
	border-bottom-right-radius:10px;
	box-shadow:0px 10px 40px 0px rgba(0,0,0,0.1);
	
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-0c0784e *//* --- CSS für das Anmeldungs-Popup --- */

.fp-popup-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.6);
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 10000;
}

.fp-popup-modal {
    background-color: #fff;
    border-radius: 8px;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.3);
    width: 90%;
    max-width: 600px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}

.fp-popup-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 15px 20px;
    border-bottom: 1px solid #eee;
}

.fp-popup-header h2 {
    margin: 0;
    font-size: 1.5em;
    color: #333;
}

.fp-popup-close {
    background: none;
    border: none;
    font-size: 2em;
    font-weight: bold;
    line-height: 1;
    color: #aaa;
    cursor: pointer;
    padding: 0;
}

.fp-popup-body {
    padding: 20px;
    overflow-y: auto; /* Falls Inhalt zu lang wird */
}

.fp-summary-table {
    width: 100%;
    border-collapse: collapse;
    margin: 20px 0;
}

.fp-summary-table th,
.fp-summary-table td {
    border: 1px solid #ddd;
    padding: 10px;
    text-align: left;
}

.fp-summary-table th {
    background-color: #f9f9f9;
}

.fp-summary-table tfoot td {
    border-top: 2px solid #333;
}

.fp-popup-footer-note {
    font-size: 0.9em;
    color: #777;
    text-align: center;
}

.fp-popup-footer {
    padding: 15px 20px;
    text-align: right;
    border-top: 1px solid #eee;
}

.fp-popup-close-btn {
    background-color: #0073aa; /* WordPress-Blau als Beispiel */
    color: #fff;
    border: none;
    border-radius: 4px;
    padding: 10px 20px;
    font-size: 1em;
    cursor: pointer;
}
.fp-popup-close-btn:hover {
    background-color: #005a87;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-91cef4c *//* --- CSS für das Ferienprogramm --- */

/* Nachrichten-Styles (Fallback und für Admin-Bereich) */
.fp-message {
    padding: 10px 15px; margin-bottom: 20px; border: 1px solid transparent; border-radius: 4px;
}
.fp-error-message { color: #a94442; background-color: #f2dede; border-color: #ebccd1; }
.fp-success-message { color: #3c763d; background-color: #dff0d8; border-color: #d6e9c6; }

/* Anmeldeformular */
.fp-global-registration .fp-form-row { margin-bottom: 15px; }
.fp-global-registration .fp-form-row label {
    display: inline-block; width: 280px; margin-right: 10px;    
    vertical-align: top; font-weight: bold; line-height: 1.5;      
}
.fp-global-registration .fp-photo-consent h4 { margin-bottom: 10px; }
.fp-global-registration .fp-photo-consent .fp-radio-option { margin-bottom: 5px; }
.fp-global-registration .fp-photo-consent .fp-radio-option label {
    width: auto; font-weight: normal; margin-left: 5px; vertical-align: middle;
}
.fp-global-registration .fp-photo-consent .fp-radio-option input[type="radio"] {
    vertical-align: middle; margin-right: 5px;
}
.fp-global-registration .fp-form-row input[type="text"],
.fp-global-registration .fp-form-row input[type="email"],
.fp-global-registration .fp-form-row input[type="tel"],
.fp-global-registration .fp-form-row input[type="date"],
.fp-global-registration .fp-form-row textarea {
    width: calc(100% - 300px); max-width: 450px; padding: 8px;
    border: 1px solid #ccc; box-sizing: border-box; 
}
.fp-global-registration .fp-form-row textarea { min-height: 80px; }

/* Responsive Formular */
@media (max-width: 768px) {
    .fp-global-registration .fp-form-row label { display: block; width: auto; margin-bottom: 5px; }
    .fp-global-registration .fp-form-row input, .fp-global-registration .fp-form-row textarea {
        width: 100%; max-width: none;
    }
}

/* Event-Tabelle */
.fp-events-table { width: 100%; border-collapse: collapse; margin-bottom: 30px; }
.fp-events-table th, .fp-events-table td {
    border: 1px solid #ddd; padding: 8px; text-align: left; vertical-align: top;
}
.fp-events-table th { background-color: #f2f2f2; }
.fp-events-table .event-content { font-size: 0.9em; margin-top: 5px; }
.fp-events-table .already-booked, .fp-events-table .max-events-reached,
.fp-events-table .fully-booked, .fp-events-table .info-text {
    font-style: italic; color: #777; font-size: 0.9em;
}

/* AJAX Popup-Styles */
#fp-popup-area { }
.fp-popup-overlay {
    position: fixed; top: 0; left: 0; width: 100%; height: 100%;
    background-color: rgba(0, 0, 0, 0.6); display: flex;
    justify-content: center; align-items: center; z-index: 10000;
}
.fp-popup-modal {
    background-color: #fff; border-radius: 8px; box-shadow: 0 5px 15px rgba(0, 0, 0, 0.3);
    width: 90%; max-width: 600px; overflow: hidden; display: flex; flex-direction: column;
}
.fp-popup-success .fp-popup-header h2 { color: #28a745; }
.fp-popup-error .fp-popup-header h2 { color: #dc3545; }
.fp-popup-header {
    display: flex; justify-content: space-between; align-items: center;
    padding: 15px 20px; border-bottom: 1px solid #eee;
}
.fp-popup-header h2 { margin: 0; font-size: 1.5em; }
.fp-popup-close {
    background: none; border: none; font-size: 2em; font-weight: bold;
    line-height: 1; color: #aaa; cursor: pointer; padding: 0;
}
.fp-popup-body { padding: 20px; overflow-y: auto; }
.fp-summary-table { width: 100%; border-collapse: collapse; margin: 20px 0; }
.fp-summary-table th, .fp-summary-table td { border: 1px solid #ddd; padding: 10px; text-align: left; }
.fp-summary-table th { background-color: #f9f9f9; }
.fp-summary-table tfoot td { border-top: 2px solid #333; }
.fp-popup-footer-note { font-size: 0.9em; color: #777; text-align: center; margin-top:15px; }
.fp-popup-footer { padding: 15px 20px; text-align: right; border-top: 1px solid #eee; }
.fp-popup-close-btn {
    background-color: #0073aa; color: #fff; border: none; border-radius: 4px;
    padding: 10px 20px; font-size: 1em; cursor: pointer;
}
.fp-popup-close-btn:hover { background-color: #005a87; }

/* Admin-Ansicht Tabelle ([view_fp_registrations]) */
.fp-registrations-table {
    width: 100%; border-collapse: collapse; margin-top: 15px; font-size: 0.9em;
}
.fp-registrations-table th, .fp-registrations-table td {
    border: 1px solid #ccc; padding: 6px; text-align: left; vertical-align: top;
}
.fp-registrations-table th { background-color: #e9e9e9; font-weight: bold; }
.fp-event-registration-details {
    margin-bottom: 20px; padding: 15px; border: 1px solid #eee; background-color: #f9f9f9;
}
.fp-event-registration-details h3 { margin-top: 0; }/* End custom CSS */