1<!DOCTYPE html> 2<html lang="de"> 3 <head> 4 <meta charset="UTF-8"> 5 <meta http-equiv="X-UA-Compatible" content="IE=edge"> 6 <meta name="viewport" content="width=device-width, initial-scale=1"> 7 <title>Förderprojekte - Bildungsakademie Konstanz Bildungsakademie Konstanz</title> 8 <link rel="shortcut icon" href="https://www.bildungsakademie.de/wp-content/themes/uni-hwk-ba-konstanz/img/favicon.ico" type="image/x-icon" /> 9 <link rel="apple-touch-icon" href="https://www.bildungsakademie.de/wp-content/themes/uni-hwk-ba-konstanz/img/apple-touch-icon-precomposed.png" /> 10 <meta name='robots' content='index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1' /> 11 12 <!-- This site is optimized with the Yoast SEO plugin v28.6 - https://yoast.com/product/yoast-seo-wordpress/ --> 13 <meta name="description" content="Unsere Förderprojekte stärken Digitalisierung, Innovation und Nachhaltigkeit in der handwerklichen Aus-, Fort- und Weiterbildung." /> 14 <link rel="canonical" href="https://www.bildungsakademie.de/foerderprojekte/" /> 15 <meta property="og:locale" content="de_DE" /> 16 <meta property="og:type" content="article" /> 17 <meta property="og:title" content="Förderprojekte - Bildungsakademie Konstanz" /> 18 <meta property="og:description" content="Unsere Förderprojekte stärken Digitalisierung, Innovation und Nachhaltigkeit in der handwerklichen Aus-, Fort- und Weiterbildung." /> 19 <meta property="og:url" content="https://www.bildungsakademie.de/foerderprojekte/" /> 20 <meta property="og:site_name" content="Bildungsakademie Konstanz" /> 21 <meta property="article:modified_time" content="2026-06-15T07:53:15+00:00" /> 22 <meta name="twitter:card" content="summary_large_image" /> 23 <!-- / Yoast SEO plugin. --> 24 25 26<link rel="preload" href="https://www.bildungsakademie.de/wp-content/cache/borlabs-cookie/1/borlabs-cookie-config-de.json.js?ver=3.4.5-35" as="script"> 27<link rel="preload" href="https://www.bildungsakademie.de/wp-content/cache/borlabs-cookie/1/borlabs-cookie-1-de.css?ver=3.4.5-26" as="style"> 28<link rel="preload" href="https://www.bildungsakademie.de/wp-content/plugins/borlabs-cookie/assets/javascript/borlabs-cookie-prioritize.min.js?ver=3.4.5" as="script"> 29<style id="wp-img-auto-sizes-contain-inline-css"> 30img:is([sizes=auto i],[sizes^="auto," i]){contain-intrinsic-size:3000px 1500px} 31/*# sourceURL=wp-img-auto-sizes-contain-inline-css */ 32</style> 33<link rel='stylesheet' id='wp-block-library-css' href='https://www.bildungsakademie.de/wp-includes/css/dist/block-library/style.min.css?ver=7.1.2' media='all' /> 34<style id="global-styles-inline-css"> 35:root{--wp--preset--aspect-ratio--square: 1;--wp--preset--aspect-ratio--4-3: 4/3;--wp--preset--aspect-ratio--3-4: 3/4;--wp--preset--aspect-ratio--3-2: 3/2;--wp--preset--aspect-ratio--2-3: 2/3;--wp--preset--aspect-ratio--16-9: 16/9;--wp--preset--aspect-ratio--9-16: 9/16;--wp--preset--color--black: #000000;--wp--preset--color--cyan-bluish-gray: #abb8c3;--wp--preset--color--white: #ffffff;--wp--preset--color--pale-pink: #f78da7;--wp--preset--color--vivid-red: #cf2e2e;--wp--preset--color--luminous-vivid-orange: #ff6900;--wp--preset--color--luminous-vivid-amber: #fcb900;--wp--preset--color--light-green-cyan: #7bdcb5;--wp--preset--color--vivid-green-cyan: #00d084;--wp--preset--color--pale-cyan-blue: #8ed1fc;--wp--preset--color--vivid-cyan-blue: #0693e3;--wp--preset--color--vivid-purple: #9b51e0;--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple: linear-gradient(135deg,rgb(6,147,227) 0%,rgb(155,81,224) 100%);--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan: linear-gradient(135deg,rgb(122,220,180) 0%,rgb(0,208,130) 100%);--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange: linear-gradient(135deg,rgb(252,185,0) 0%,rgb(255,105,0) 100%);--wp--preset--gradient--luminous-vivid-orange-to-vivid-red: linear-gradient(135deg,rgb(255,105,0) 0%,rgb(207,46,46) 100%);--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray: linear-gradient(135deg,rgb(238,238,238) 0%,rgb(169,184,195) 100%);
35--wp--preset--gradient--cool-to-warm-spectrum: linear-gradient(135deg,rgb(74,234,220) 0%,rgb(151,120,209) 20%,rgb(207,42,186) 40%,rgb(238,44,130) 60%,rgb(251,105,98) 80%,rgb(254,248,76) 100%);--wp--preset--gradient--blush-light-purple: linear-gradient(135deg,rgb(255,206,236) 0%,rgb(152,150,240) 100%);--wp--preset--gradient--blush-bordeaux: linear-gradient(135deg,rgb(254,205,165) 0%,rgb(254,45,45) 50%,rgb(107,0,62) 100%);--wp--preset--gradient--luminous-dusk: linear-gradient(135deg,rgb(255,203,112) 0%,rgb(199,81,192) 50%,rgb(65,88,208) 100%);--wp--preset--gradient--pale-ocean: linear-gradient(135deg,rgb(255,245,203) 0%,rgb(182,227,212) 50%,rgb(51,167,181) 100%);--wp--preset--gradient--electric-grass: linear-gradient(135deg,rgb(202,248,128) 0%,rgb(113,206,126) 100%);--wp--preset--gradient--midnight: linear-gradient(135deg,rgb(2,3,129) 0%,rgb(40,116,252) 100%);--wp--preset--font-size--small: 13px;--wp--preset--font-size--medium: 20px;--wp--preset--font-size--large: 36px;--wp--preset--font-size--x-large: 42px;--wp--preset--font-family--source-sans: 'Source Sans 3', 'Segoe UI', sans-serif;--wp--preset--spacing--20: 0.44rem;--wp--preset--spacing--30: 0.67rem;--wp--preset--spacing--40: 1rem;--wp--preset--spacing--50: 1.5rem;--wp--preset--spacing--60: 2.25rem;--wp--preset--spacing--70: 3.38rem;--wp--preset--spacing--80: 5.06rem;--wp--preset--shadow--natural: 6px 6px 9px rgba(0, 0, 0, 0.2);--wp--preset--shadow--deep: 12px 12px 50px rgba(0, 0, 0, 0.4);--wp--preset--shadow--sharp: 6px 6px 0px rgba(0, 0, 0, 0.2);--wp--preset--shadow--outlined: 6px 6px 0px -3px rgb(255, 255, 255), 6px 6px rgb(0, 0, 0);--wp--preset--shadow--crisp: 6px 6px 0px rgb(0, 0, 0);}.wp-block-button{--wp--preset--dimension--25: 25%;--wp--preset--dimension--50: 50%;--wp--preset--dimension--75: 75%;--wp--preset--dimension--100: 100%;}:root { --wp--style--global--content-size: 800px;--wp--style--global--wide-size: 1200px; }:where(body) { margin: 0; }.wp-site-blocks > .alignleft { float: left; margin-right: 2em; }.wp-site-blocks > .alignright { float: right; margin-left: 2em; }.wp-site-blocks > .aligncenter { justify-content: center; margin-left: auto; margin-right: auto; }:where(.is-layout-flex){gap: 0.5em;}:where(.is-layout-grid){gap: 0.5em;}.is-layout-flow > .alignleft{float: left;margin-inline-start: 0;margin-inline-end: 2em;}.is-layout-flow > .alignright{float: right;margin-inline-start: 2em;margin-inline-end: 0;}.is-layout-flow > .aligncenter{margin-left: auto !important;margin-right: auto !important;}.is-layout-constrained > .alignleft{float: left;margin-inline-start: 0;margin-inline-end: 2em;}.is-layout-constrained > .alignright{float: right;margin-inline-start: 2em;margin-inline-end: 0;}.is-layout-constrained > .aligncenter{margin-left: auto !important;margin-right: auto !important;}.is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)){max-width: var(--wp--style--global--content-size);margin-left: auto !important;margin-right: auto !important;}.is-layout-constrained > .alignwide{max-width: var(--wp--style--global--wide-size);}body .is-layout-flex{display: flex;}.is-layout-flex{flex-wrap: wrap;align-items: center;}.is-layout-flex > :is(*, div){margin: 0;}body .is-layout-grid{display: grid;}.is-layout-grid > :is(*, div){margin: 0;}body{font-family: var(--wp--preset--font-family--source-sans);padding-top: 0px;padding-right: 0px;padding-bottom: 0px;padding-left: 0px;}:root :where(.wp-element-button, .wp-block-button__link){background-color: #32373c;border-width: 0;color: #fff;font-family: inherit;font-size: inherit;font-style: inherit;font-weight: inherit;letter-spacing: inherit;line-height: inherit;padding-top: calc(0.667em + 2px);padding-right: calc(1.333em + 2px);padding-bottom: calc(0.667em + 2px);padding-left: calc(1.333em + 2px);text-decoration: none;text-transform: inherit;}.has-black-color{color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-color{color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-color{color: var(--wp--preset--color--white) !important;}.has-pale-pink-color{color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-color{color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-color{color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-color{color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-color{color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-color{color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-color{color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-color{color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-color{color: var(--wp--preset--color--vivid-purple) !important;}.has-black-background-color{background-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-background-color{background-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-background-color{background-color: var(--wp--preset--color--white) !important;}.has-pale-pink-background-color{background-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-background-color{background-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-background-color{background-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-background-color{background-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-background-color{background-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-background-color{background-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-background-color{background-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-background-color{background-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-background-color{background-color: var(--wp--preset--color--vivid-purple) !important;}.has-black-border-color{border-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-border-color{border-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-border-color{border-color: var(--wp--preset--color--white) !important;}.has-pale-pink-border-color{border-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-border-color{border-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-border-color{border-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-border-color{border-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-border-color{border-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-border-color{border-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-border-color{border-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-border-color{border-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-border-color{border-color: var(--wp--preset--color--vivid-purple) !important;}.has-vivid-cyan-blue-to-vivid-purple-gradient-background{background: var(--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple) !important;}.has-light-green-cyan-to-vivid-green-cyan-gradient-background{background: var(--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan) !important;}.has-luminous-vivid-amber-to-luminous-vivid-orange-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange) !important;}.has-luminous-vivid-orange-to-vivid-red-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-orange-to-vivid-red) !important;}
35.has-very-light-gray-to-cyan-bluish-gray-gradient-background{background: var(--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray) !important;}.has-cool-to-warm-spectrum-gradient-background{background: var(--wp--preset--gradient--cool-to-warm-spectrum) !important;}.has-blush-light-purple-gradient-background{background: var(--wp--preset--gradient--blush-light-purple) !important;}.has-blush-bordeaux-gradient-background{background: var(--wp--preset--gradient--blush-bordeaux) !important;}.has-luminous-dusk-gradient-background{background: var(--wp--preset--gradient--luminous-dusk) !important;}.has-pale-ocean-gradient-background{background: var(--wp--preset--gradient--pale-ocean) !important;}.has-electric-grass-gradient-background{background: var(--wp--preset--gradient--electric-grass) !important;}.has-midnight-gradient-background{background: var(--wp--preset--gradient--midnight) !important;}.has-small-font-size{font-size: var(--wp--preset--font-size--small) !important;}.has-medium-font-size{font-size: var(--wp--preset--font-size--medium) !important;}.has-large-font-size{font-size: var(--wp--preset--font-size--large) !important;}.has-x-large-font-size{font-size: var(--wp--preset--font-size--x-large) !important;}.has-source-sans-font-family{font-family: var(--wp--preset--font-family--source-sans) !important;} 36:root :where(.wp-block-icon svg){width: 24px;} 37:where(.wp-block-gallery.is-layout-flex){gap: var( --wp--style--gallery-gap-default, var( --gallery-block--gutter-size, var( --wp--style--block-gap, 0.5em ) ) );}:where(.wp-block-gallery.is-layout-grid){gap: var( --wp--style--gallery-gap-default, var( --gallery-block--gutter-size, var( --wp--style--block-gap, 0.5em ) ) );} 38:where(.wp-block-latest-posts.is-layout-flex){gap: 1.25em;}:where(.wp-block-latest-posts.is-layout-grid){gap: 1.25em;} 39:where(.wp-block-post-template.is-layout-flex){gap: 1.25em;}:where(.wp-block-post-template.is-layout-grid){gap: 1.25em;} 40:where(.wp-block-term-template.is-layout-flex){gap: 1.25em;}:where(.wp-block-term-template.is-layout-grid){gap: 1.25em;} 41:where(.wp-block-columns.is-layout-flex){gap: 2em;}:where(.wp-block-columns.is-layout-grid){gap: 2em;} 42:root :where(.wp-block-pullquote){font-size: 1.5em;line-height: 1.6;} 43/*# sourceURL=global-styles-inline-css */ 44</style> 45<link rel='stylesheet' id='uniplus-base-style-css' href='https://www.bildungsakademie.de/wp-content/plugins/uniplus-base/css/uniplus_base.css?ver=1.0.3' media='all' /> 46<link rel='stylesheet' id='leaflet-style-css' href='https://www.bildungsakademie.de/wp-content/plugins/uniplus-base/dist/leaflet/leaflet.css?ver=1.0.0' media='all' /> 47<link rel='stylesheet' id='leaflet-fullscreen-style-css' href='https://www.bildungsakademie.de/wp-content/plugins/uniplus-base/dist/leaflet-fullscreen/leaflet-fullscreen.css?ver=1.0.0' media='all' /> 48<link rel='stylesheet' id='styles-css-css' href='https://www.bildungsakademie.de/wp-content/plugins/uniplus-berufsdatenbank/css/berufsanzeige-styles.css?ver=1.0.1' media='all' /> 49<link rel='stylesheet' id='bschulen-v2-css-css' href='https://www.bildungsakademie.de/wp-content/plugins/uniplus-berufsdatenbank/css/bschulen-v2.css?ver=1.0.0' media='all' /> 50<link rel='stylesheet' id='ladda-style-css' href='https://www.bildungsakademie.de/wp-content/plugins/uniplus-clientside/css/ladda.min.css?ver=1.0' media='all' /> 51<link rel='stylesheet' id='ladda-theme-style-css' href='https://www.bildungsakademie.de/wp-content/plugins/uniplus-clientside/css/ladda-themeless.min.css?ver=1.0' media='all' /> 52<link rel='stylesheet' id='uniplus-clientside-style-css' href='https://www.bildungsakademie.de/wp-content/plugins/uniplus-clientside/css/uniplus_clientside.css?ver=1.0.7' media='all' /> 53<link rel='stylesheet' id='uniplus-mp-style-css' href='https://www.bildungsakademie.de/wp-content/plugins/uniplus-clientside/css/uni_mp.css?ver=1.1' media='all' /> 54<link rel='stylesheet' id='uniplus-style-1-css' href='https://www.bildungsakademie.de/wp-content/plugins/uniplus-clientside/css/uniplus.css?ver=1.0' media='all' /> 55<link rel='stylesheet' id='jquery-ui-css-css' href='https://www.bildungsakademie.de/wp-content/plugins/uniplus-clientside/css/jquery-ui.css?ver=1.0' media='all' /> 56<link rel='stylesheet' id='jquery-confirm-css-css' href='https://www.bildungsakademie.de/wp-content/plugins/uniplus-clientside/css/jquery-confirm.css?ver=1.0' media='all' /> 57<link rel='stylesheet' id='multiselect-css' href='https://www.bildungsakademie.de/wp-content/plugins/uniplus-clientside/css/multiselect.css?ver=1.0' media='all' /> 58<link rel='stylesheet' id='animate-css-style-css' href='https://www.bildungsakademie.de/wp-content/plugins/uniplus-clientside/css/animate.css?ver=1.0' media='all' /> 59<link rel='stylesheet' id='pure-css-grid-style-css' href='https://www.bildungsakademie.de/wp-content/plugins/uniplus-clientside/css/grids-min.css?ver=1.0' media='all' /> 60<link rel='stylesheet' id='evaluation-style-css' href='https://www.bildungsakademie.de/wp-content/plugins/uniplus-evaluation/css/evaluation.css?ver=7.1.2' media='all' /> 61<link rel='stylesheet' id='eval-callout-style-css' href='https://www.bildungsakademie.de/wp-content/plugins/uniplus-evaluation/css/callouts.css?ver=7.1.2' media='all' /> 62<link rel='stylesheet' id='uni_faq.css-css' href='https://www.bildungsakademie.de/wp-content/plugins/uniplus-faq/css/uni_faq_style.css?ver=1.1.1' media='all' /> 63<style id="ufe-styles-inline-css"> 64 65 .ufe-wrap *{box-sizing:border-box;} 66 .ufe-panel{background:#fff;border:1px solid #d6dce8;border-radius:8px;overflow:hidden;font-family:system-ui,-apple-system,sans-serif;max-width:640px;} 67 .ufe-header{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid #d6dce8;background:#f4f6fa;} 68 .ufe-header-left{display:flex;flex-direction:column;gap:2px;} 69 .ufe-heading{font-size:13px;font-weight:600;color:#1b2b3c;letter-spacing:.01em;text-transform:uppercase;} 70 .ufe-subheading{font-size:12px;color:#6b7f96;font-variant-numeric:tabular-nums;} 71 .ufe-btn-all{display:inline-flex;align-items:center;gap:6px;background:#2e5fa3;color:#fff;font-size:12.5px;font-weight:500;padding:7px 14px;border-radius:5px;text-decoration:none;border:none;cursor:pointer;transition:background .15s;} 72 .ufe-btn-all:hover{background:#1e4a85;color:#fff;} 73 .ufe-btn-all svg{flex-shrink:0;} 74 .ufe-list{padding:6px 0;} 75 .ufe-row{display:flex;align-items:center;padding:9px 18px;gap:10px;border-bottom:1px solid #edf0f5;transition:background .1s;} 76 .ufe-row:last-child{border-bottom:none;} 77 .ufe-row:hover{background:#f7f9fd;} 78 .ufe-name{flex:1;font-size:13.5px;color:#1b2b3c;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;} 79 .ufe-badge{flex-shrink:0;font-size:11.5px;font-weight:600;color:#2e5fa3;background:#e6ecf6;border-radius:12px;padding:2px 9px;font-variant-numeric:tabular-nums;letter-spacing:.01em;} 80 .ufe-btn-dl{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:5px;color:#4c6ead;text-decoration:none;border:1px solid #c8d4e8;background:#fff;transition:background .1s,color .1s,border-color .1s;} 81 .ufe-btn-dl:hover{background:#2e5fa3;color:#fff;border-color:#2e5fa3;} 82 .ufe-btn-dl svg{display:block;} 83 .ufe-empty{padding:20px 18px;font-size:13px;color:#6b7f96;} 84 .ufe-table-wrap{margin-top:24px;overflow-x:auto;} 85 .ufe-table{width:100%;border-collapse:collapse;font-family:system-ui,-apple-system,sans-serif;font-size:13px;} 86 .ufe-table th{background:#f4f6fa;color:#4c6070;font-size:11.5px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;padding:9px 12px;border-bottom:2px solid #d6dce8;text-align:left;white-space:nowrap;} 87 .ufe-table td{padding:8px 12px;border-bottom:1px solid #edf0f5;color:#1b2b3c;vertical-align:top;} 88 .ufe-table tr:last-child td{border-bottom:none;} 89 .ufe-table tbody tr:hover td{background:#f7f9fd;} 90 .ufe-table .ufe-td-id{color:#8898a8;font-variant-numeric:tabular-nums;font-size:12px;white-space:nowrap;} 91 .ufe-table .ufe-td-type{font-weight:500;white-space:nowrap;} 92 .ufe-table .ufe-td-date{color:#6b7f96;font-variant-numeric:tabular-nums;white-space:nowrap;font-size:12px;} 93 .ufe-meta-table{width:100%;border-collapse:collapse;margin:0;} 94 .ufe-meta-table td{padding:3px 0;font-size:12px;vertical-align:top;border:none;} 95 .ufe-meta-table td:first-child{color:#6b7f96;width:180px;padding-right:12px;white-space:nowrap;} 96 .ufe-meta-table td:last-child{color:#1b2b3c;} 97 98/*# sourceURL=ufe-styles-inline-css */ 99</style> 100<link rel='stylesheet' id='uni-formularwesen-style-css' href='https://www.bildungsakademie.de/wp-content/plugins/uniplus-formularwesen/view/style.css?ver=7.1.2' media='all' /> 101<link rel='stylesheet' id='gewewrke-css-css' href='https://www.bildungsakademie.de/wp-content/plugins/uniplus-gewerkedatenbank/css/gewerksanzeige-styles.css?ver=1.0.3' media='all' /> 102<link rel='stylesheet' id='veranstaltungs-tabelle-css-css' href='https://www.bildungsakademie.de/wp-content/plugins/uniplus-veranstaltungen/css/veranstaltungen.css?ver=1.0.1' media='all' /> 103<link rel='stylesheet' id='select2_style-css' href='https://www.bildungsakademie.de/wp-content/plugins/uniplus-vuejs/helper/../dist/select2-4.0.13/css/select2.css?ver=4.0.13' media='all' /> 104<link rel='stylesheet' id='select2_style_min-css' href='https://www.bildungsakademie.de/wp-content/plugins/uniplus-vuejs/helper/../dist/select2-4.0.13/css/select2.min.css?ver=4.0.13' media='all' /> 105<link rel='stylesheet' id='uni-warenkorb-callout-style-css' href='https://www.bildungsakademie.de/wp-content/plugins/uniplus-warenkorb-vuejs/css/callouts.css?ver=7.1.2' media='all' /> 106<link rel='stylesheet' id='uni-warenkorb-style-css' href='https://www.bildungsakademie.de/wp-content/plugins/uniplus-warenkorb-vuejs/css/warenkorb.css?ver=7.1.2' media='all' /> 107<link rel='stylesheet' id='style-common-css' href='https://www.bildungsakademie.de/wp-content/themes/chatty/css/common.min.css?ver=2.10.4' media='all' /> 108<style id="style-common-inline-css"> 109 110 img, div.bg-image, .appear { 111 opacity: 1;
112 } 113/*# sourceURL=style-common-inline-css */ 114</style> 115<link rel='stylesheet' id='style-main-css' href='https://www.bildungsakademie.de/wp-content/themes/uni-hwk-ba-konstanz/css/main.min.css?ver=1.3.0' media='screen' /> 116<link rel='stylesheet' id='style-print-css' href='https://www.bildungsakademie.de/wp-content/themes/chatty/css/print.min.css?ver=2.10.4' media='print' /> 117<style id="borlabs-cookie-critical-inline-css"> 118body div.brlbs-cmpnt-container a,body div.brlbs-cmpnt-container abbr,body div.brlbs-cmpnt-container acronym,body div.brlbs-cmpnt-container address,body div.brlbs-cmpnt-container applet,body div.brlbs-cmpnt-container article,body div.brlbs-cmpnt-container aside,body div.brlbs-cmpnt-container audio,body div.brlbs-cmpnt-container b,body div.brlbs-cmpnt-container big,body div.brlbs-cmpnt-container blockquote,body div.brlbs-cmpnt-container canvas,body div.brlbs-cmpnt-container caption,body div.brlbs-cmpnt-container center,body div.brlbs-cmpnt-container cite,body div.brlbs-cmpnt-container code,body div.brlbs-cmpnt-container dd,body div.brlbs-cmpnt-container del,body div.brlbs-cmpnt-container details,body div.brlbs-cmpnt-container dfn,body div.brlbs-cmpnt-container div,body div.brlbs-cmpnt-container dl,body div.brlbs-cmpnt-container dt,body div.brlbs-cmpnt-container em,body div.brlbs-cmpnt-container embed,body div.brlbs-cmpnt-container fieldset,body div.brlbs-cmpnt-container figcaption,body div.brlbs-cmpnt-container figure,body div.brlbs-cmpnt-container footer,body div.brlbs-cmpnt-container form,body div.brlbs-cmpnt-container h1,body div.brlbs-cmpnt-container h2,body div.brlbs-cmpnt-container h3,body div.brlbs-cmpnt-container h4,body div.brlbs-cmpnt-container h5,body div.brlbs-cmpnt-container h6,body div.brlbs-cmpnt-container header,body div.brlbs-cmpnt-container hgroup,body div.brlbs-cmpnt-container i,body div.brlbs-cmpnt-container iframe,body div.brlbs-cmpnt-container img,body div.brlbs-cmpnt-container ins,body div.brlbs-cmpnt-container kbd,body div.brlbs-cmpnt-container label,body div.brlbs-cmpnt-container legend,body div.brlbs-cmpnt-container li,body div.brlbs-cmpnt-container mark,body div.brlbs-cmpnt-container menu,body div.brlbs-cmpnt-container nav,body div.brlbs-cmpnt-container object,body div.brlbs-cmpnt-container ol,body div.brlbs-cmpnt-container output,body div.brlbs-cmpnt-container p,body div.brlbs-cmpnt-container pre,body div.brlbs-cmpnt-container q,body div.brlbs-cmpnt-container ruby,body div.brlbs-cmpnt-container s,body div.brlbs-cmpnt-container samp,body div.brlbs-cmpnt-container section,body div.brlbs-cmpnt-container small,body div.brlbs-cmpnt-container span,body div.brlbs-cmpnt-container strike,body div.brlbs-cmpnt-container strong,body div.brlbs-cmpnt-container sub,body div.brlbs-cmpnt-container summary,body div.brlbs-cmpnt-container sup,body div.brlbs-cmpnt-container table,body div.brlbs-cmpnt-container tbody,body div.brlbs-cmpnt-container td,body div.brlbs-cmpnt-container tfoot,body div.brlbs-cmpnt-container th,body div.brlbs-cmpnt-container thead,body div.brlbs-cmpnt-container time,body div.brlbs-cmpnt-container tr,body div.brlbs-cmpnt-container tt,body div.brlbs-cmpnt-container u,body div.brlbs-cmpnt-container ul,body div.brlbs-cmpnt-container var,body div.brlbs-cmpnt-container video{margin:0;padding:0;border:0;font-size:100%;font-family:inherit;vertical-align:baseline}body div.brlbs-cmpnt-container article,body div.brlbs-cmpnt-container aside,body div.brlbs-cmpnt-container details,body div.brlbs-cmpnt-container figcaption,body div.brlbs-cmpnt-container figure,body div.brlbs-cmpnt-container footer,body div.brlbs-cmpnt-container header,body div.brlbs-cmpnt-container hgroup,body div.brlbs-cmpnt-container menu,body div.brlbs-cmpnt-container nav,body div.brlbs-cmpnt-container section{display:block}body div.brlbs-cmpnt-container blockquote,body div.brlbs-cmpnt-container q{quotes:none}body div.brlbs-cmpnt-container blockquote:after,body div.brlbs-cmpnt-container blockquote:before,body div.brlbs-cmpnt-container q:after,body div.brlbs-cmpnt-container q:before{content:none}body div.brlbs-cmpnt-container table{border-spacing:0}body div.brlbs-cmpnt-container,body div.brlbs-cmpnt-container *{box-sizing:border-box;color:inherit;font-family:inherit;line-height:inherit;position:static;inset:auto;width:auto;height:auto}body div.brlbs-cmpnt-container button,body div.brlbs-cmpnt-container input,body div.brlbs-cmpnt-container optgroup,body div.brlbs-cmpnt-container select,body div.brlbs-cmpnt-container textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}body div.brlbs-cmpnt-container button:after,body div.brlbs-cmpnt-container button:before{content:none}body div.brlbs-cmpnt-container button,body div.brlbs-cmpnt-container select{text-transform:none}body div.brlbs-cmpnt-container [type=button],body div.brlbs-cmpnt-container [type=reset],body div.brlbs-cmpnt-container [type=submit],body div.brlbs-cmpnt-container button{-webkit-appearance:button}body div.brlbs-cmpnt-container ::-moz-focus-inner{border-style:none;padding:0}body div.brlbs-cmpnt-container :-moz-focusring{outline:1px dotted ButtonText}body div.brlbs-cmpnt-container :-moz-ui-invalid{box-shadow:none}body div.brlbs-cmpnt-container legend{padding:0}body div.brlbs-cmpnt-container progress{vertical-align:baseline}body div.brlbs-cmpnt-container ::-webkit-inner-spin-button,body div.brlbs-cmpnt-container ::-webkit-outer-spin-button{height:auto}body div.brlbs-cmpnt-container [type=search]{-webkit-appearance:textfield;outline-offset:-2px}body div.brlbs-cmpnt-container ::-webkit-search-decoration{-webkit-appearance:none}body div.brlbs-cmpnt-container ::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}body div.brlbs-cmpnt-container summary{display:list-item}body div.brlbs-cmpnt-container blockquote,body div.brlbs-cmpnt-container dd,body div.brlbs-cmpnt-container dl,body div.brlbs-cmpnt-container figure,body div.brlbs-cmpnt-container h1,body div.brlbs-cmpnt-container h2,body div.brlbs-cmpnt-container h3,body div.brlbs-cmpnt-container h4,body div.brlbs-cmpnt-container h5,body div.brlbs-cmpnt-container h6,body div.brlbs-cmpnt-container hr,body div.brlbs-cmpnt-container p,body div.brlbs-cmpnt-container pre{margin:0}body div.brlbs-cmpnt-container button{background-color:transparent;background-image:none}body div.brlbs-cmpnt-container button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}body div.brlbs-cmpnt-container fieldset{margin:0;padding:0}body div.brlbs-cmpnt-container ol,body div.brlbs-cmpnt-container ul{list-style:none;margin:0;padding:0}body div.brlbs-cmpnt-container *,body div.brlbs-cmpnt-container :after,body div.brlbs-cmpnt-container :before{box-sizing:border-box;border-color:#e5e7eb;border-style:solid;border-width:0}body div.brlbs-cmpnt-container hr{border-top-width:1px}body div.brlbs-cmpnt-container img{border-style:solid}body div.brlbs-cmpnt-container textarea{resize:vertical}body div.brlbs-cmpnt-container input::-moz-placeholder,body div.brlbs-cmpnt-container textarea::-moz-placeholder{color:#9ca3af}body div.brlbs-cmpnt-container input::placeholder,body div.brlbs-cmpnt-container textarea::placeholder{color:#9ca3af}body div.brlbs-cmpnt-container [role=button],body div.brlbs-cmpnt-container button{curs
118or:pointer}body div.brlbs-cmpnt-container table{border-collapse:collapse}body div.brlbs-cmpnt-container h1,body div.brlbs-cmpnt-container h2,body div.brlbs-cmpnt-container h3,body div.brlbs-cmpnt-container h4,body div.brlbs-cmpnt-container h5,body div.brlbs-cmpnt-container h6{font-size:inherit;font-weight:inherit}body div.brlbs-cmpnt-container a{color:inherit;text-decoration:inherit}body div.brlbs-cmpnt-container button,body div.brlbs-cmpnt-container input,body div.brlbs-cmpnt-container optgroup,body div.brlbs-cmpnt-container select,body div.brlbs-cmpnt-container textarea{padding:0;line-height:inherit;color:inherit}body div.brlbs-cmpnt-container code,body div.brlbs-cmpnt-container kbd,body div.brlbs-cmpnt-container pre,body div.brlbs-cmpnt-container samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}body div.brlbs-cmpnt-container audio,body div.brlbs-cmpnt-container canvas,body div.brlbs-cmpnt-container embed,body div.brlbs-cmpnt-container iframe,body div.brlbs-cmpnt-container img,body div.brlbs-cmpnt-container object,body div.brlbs-cmpnt-container svg,body div.brlbs-cmpnt-container video{display:block;vertical-align:middle}body div.brlbs-cmpnt-container img,body div.brlbs-cmpnt-container video{max-width:100%;height:auto}body div.brlbs-cmpnt-container [multiple],body div.brlbs-cmpnt-container [type=date],body div.brlbs-cmpnt-container [type=datetime-local],body div.brlbs-cmpnt-container [type=email],body div.brlbs-cmpnt-container [type=month],body div.brlbs-cmpnt-container [type=number],body div.brlbs-cmpnt-container [type=password],body div.brlbs-cmpnt-container [type=search],body div.brlbs-cmpnt-container [type=tel],body div.brlbs-cmpnt-container [type=text],body div.brlbs-cmpnt-container [type=time],body div.brlbs-cmpnt-container [type=url],body div.brlbs-cmpnt-container [type=week],body div.brlbs-cmpnt-container select,body div.brlbs-cmpnt-container textarea{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#fff;border-color:#6b7280;border-width:1px;border-radius:0;padding:.5rem .75rem;font-size:1rem;line-height:1.5rem}body div.brlbs-cmpnt-container [multiple]:focus,body div.brlbs-cmpnt-container [type=date]:focus,body div.brlbs-cmpnt-container [type=datetime-local]:focus,body div.brlbs-cmpnt-container [type=email]:focus,body div.brlbs-cmpnt-container [type=month]:focus,body div.brlbs-cmpnt-container [type=number]:focus,body div.brlbs-cmpnt-container [type=password]:focus,body div.brlbs-cmpnt-container [type=search]:focus,body div.brlbs-cmpnt-container [type=tel]:focus,body div.brlbs-cmpnt-container [type=text]:focus,body div.brlbs-cmpnt-container [type=time]:focus,body div.brlbs-cmpnt-container [type=url]:focus,body div.brlbs-cmpnt-container [type=week]:focus,body div.brlbs-cmpnt-container select:focus,body div.brlbs-cmpnt-container textarea:focus{outline:2px solid transparent;outline-offset:2px;--brlbs-tw-ring-inset:var(--brlbs-tw-empty, );--brlbs-tw-ring-offset-width:0px;--brlbs-tw-ring-offset-color:#fff;--brlbs-tw-ring-color:#2563eb;--brlbs-tw-ring-offset-shadow:var(--brlbs-tw-ring-inset) 0 0 0 var(--brlbs-tw-ring-offset-width) var(--brlbs-tw-ring-offset-color);--brlbs-tw-ring-shadow:var(--brlbs-tw-ring-inset) 0 0 0 calc(1px + var(--brlbs-tw-ring-offset-width)) var(--brlbs-tw-ring-color);box-shadow:var(--brlbs-tw-ring-offset-shadow),var(--brlbs-tw-ring-shadow),var(--brlbs-tw-shadow,0 0 transparent);border-color:#2563eb}body div.brlbs-cmpnt-container input::-moz-placeholder,body div.brlbs-cmpnt-container textarea::-moz-placeholder{color:#6b7280;opacity:1}body div.brlbs-cmpnt-container input::placeholder,body div.brlbs-cmpnt-container textarea::placeholder{color:#6b7280;opacity:1}body div.brlbs-cmpnt-container ::-webkit-datetime-edit-fields-wrapper{padding:0}body div.brlbs-cmpnt-container ::-webkit-date-and-time-value{min-height:1.5em}body div.brlbs-cmpnt-container select{background-image:url(data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20fill%3D%22none%22%20viewBox%3D%220%200%2020%2020%22%3E%3Cpath%20stroke%3D%22%236b7280%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20stroke-width%3D%221.5%22%20d%3D%22m6%208%204%204%204-4%22%2F%3
118E%3C%2Fsvg%3E);background-position:right .5rem center;background-repeat:no-repeat;background-size:1.5em 1.5em;padding-right:2.5rem;-webkit-print-color-adjust:exact;print-color-adjust:exact}body div.brlbs-cmpnt-container [multiple]{background-image:none;background-position:0 0;background-repeat:unset;background-size:initial;padding-right:.75rem;-webkit-print-color-adjust:unset;print-color-adjust:unset}body div.brlbs-cmpnt-container [type=checkbox],body div.brlbs-cmpnt-container [type=radio]{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:0;-webkit-print-color-adjust:exact;print-color-adjust:exact;display:inline-block;vertical-align:middle;background-origin:border-box;-webkit-user-select:none;-moz-user-select:none;user-select:none;flex-shrink:0;height:1rem;width:1rem;color:#2563eb;background-color:#fff;border-color:#6b7280;border-width:1px}body div.brlbs-cmpnt-container [type=checkbox]{border-radius:0}body div.brlbs-cmpnt-container [type=radio]{border-radius:100%}body div.brlbs-cmpnt-container [type=checkbox]:focus,body div.brlbs-cmpnt-container [type=radio]:focus{outline:2px solid transparent;outline-offset:2px;--brlbs-tw-ring-inset:var(--brlbs-tw-empty, );--brlbs-tw-ring-offset-width:2px;--brlbs-tw-ring-offset-color:#fff;--brlbs-tw-ring-color:#2563eb;--brlbs-tw-ring-offset-shadow:var(--brlbs-tw-ring-inset) 0 0 0 var(--brlbs-tw-ring-offset-width) var(--brlbs-tw-ring-offset-color);--brlbs-tw-ring-shadow:var(--brlbs-tw-ring-inset) 0 0 0 calc(2px + var(--brlbs-tw-ring-offset-width)) var(--brlbs-tw-ring-color);box-shadow:var(--brlbs-tw-ring-offset-shadow),var(--brlbs-tw-ring-shadow),var(--brlbs-tw-shadow,0 0 transparent)}body div.brlbs-cmpnt-container [type=checkbox]:checked,body div.brlbs-cmpnt-container [type=radio]:checked{border-color:transparent;background-color:currentColor;background-size:100% 100%;background-position:50%;background-repeat:no-repeat}body div.brlbs-cmpnt-container [type=checkbox]:checked{background-image:url(data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20fill%3D%22%23fff%22%20viewBox%3D%220%200%2016%2016%22%3E%3Cpath%20d%3D%22M12.207%204.793a1%201%200%200%201%200%201.414l-5%205a1%201%200%200%201-1.414%200l-2-2a1%201%200%200%201%201.414-1.414L6.5%209.086l4.293-4.293a1%201%200%200%201%201.414%200%22%2F%3E%3C%2Fsvg%3E)}body div.brlbs-cmpnt-container [type=radio]:checked{background-image:url(data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20fill%3D%22%23fff%22%20viewBox%3D%220%200%2016%2016%22%3E%3Ccircle%20cx%3D%228%22%20cy%3D%228%22%20r%3D%223%22%2F%3E%3C%2Fsvg%3E)}body div.brlbs-cmpnt-container [type=checkbox]:checked:focus,body div.brlbs-cmpnt-container [type=checkbox]:checked:hover,body div.brlbs-cmpnt-container [type=radio]:checked:focus,body div.brlbs-cmpnt-container [type=radio]:checked:hover{border-color:transparent;background-color:currentColor}body div.brlbs-cmpnt-container [type=checkbox]:indeterminate{background-image:url(data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20fill%3D%22none%22%20viewBox%3D%220%200%2016%2016%22%3E%3Cpath%20stroke%3D%22%23fff%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20stroke-width%3D%222%22%20d%3D%22M4%208h8%22%2F%3E%3C%2Fsvg%3E);border-color:transparent;background-color:currentColor;background-size:100% 100%;background-position:50%;background-repeat:no-repeat}body div.brlbs-cmpnt-container [type=checkbox]:indeterminate:focus,body div.brlbs-cmpnt-container [type=checkbox]:indeterminate:hover{border-color:transparent;background-color:currentColor}body div.brlbs-cmpnt-container [type=file]{background:unset;border-color:inherit;border-width:0;border-radius:0;padding:0;font-size:unset;line-height:inherit}:root{--brlbs-tw-border-spacing-x:0;--brlbs-tw-border-spacing-y:0;--brlbs-tw-translate-x:0;--brlbs-tw-translate-y:0;--brlbs-tw-rotate:0;--brlbs-tw-skew-x:0;--brlbs-tw-skew-y:0;--brlbs-tw-scale-x:1;--brlbs-tw-scale-y:1;--brlbs-tw-pan-x:;--brlbs-tw-pan-y:;--brlbs-tw-pinch-zoom:;--brlbs-tw-scroll-snap-strictness:proximity;--brlbs-tw-gradient-from-position:;
118--brlbs-tw-gradient-via-position:;--brlbs-tw-gradient-to-position:;--brlbs-tw-ordinal:;--brlbs-tw-slashed-zero:;--brlbs-tw-numeric-figure:;--brlbs-tw-numeric-spacing:;--brlbs-tw-numeric-fraction:;--brlbs-tw-ring-inset:;--brlbs-tw-ring-offset-width:0px;--brlbs-tw-ring-offset-color:#fff;--brlbs-tw-ring-color:rgba(59,130,246,.5);--brlbs-tw-ring-offset-shadow:0 0 #0000;--brlbs-tw-ring-shadow:0 0 #0000;--brlbs-tw-shadow:0 0 #0000;--brlbs-tw-shadow-colored:0 0 #0000;--brlbs-tw-blur:;--brlbs-tw-brightness:;--brlbs-tw-contrast:;--brlbs-tw-grayscale:;--brlbs-tw-hue-rotate:;--brlbs-tw-invert:;--brlbs-tw-saturate:;--brlbs-tw-sepia:;--brlbs-tw-drop-shadow:;--brlbs-tw-backdrop-blur:;--brlbs-tw-backdrop-brightness:;--brlbs-tw-backdrop-contrast:;--brlbs-tw-backdrop-grayscale:;--brlbs-tw-backdrop-hue-rotate:;--brlbs-tw-backdrop-invert:;--brlbs-tw-backdrop-opacity:;--brlbs-tw-backdrop-saturate:;--brlbs-tw-backdrop-sepia:;--brlbs-tw-contain-size:;--brlbs-tw-contain-layout:;--brlbs-tw-contain-paint:;--brlbs-tw-contain-style:}::backdrop{--brlbs-tw-border-spacing-x:0;--brlbs-tw-border-spacing-y:0;--brlbs-tw-translate-x:0;--brlbs-tw-translate-y:0;--brlbs-tw-rotate:0;--brlbs-tw-skew-x:0;--brlbs-tw-skew-y:0;--brlbs-tw-scale-x:1;--brlbs-tw-scale-y:1;--brlbs-tw-pan-x:;--brlbs-tw-pan-y:;--brlbs-tw-pinch-zoom:;--brlbs-tw-scroll-snap-strictness:proximity;--brlbs-tw-gradient-from-position:;--brlbs-tw-gradient-via-position:;--brlbs-tw-gradient-to-position:;--brlbs-tw-ordinal:;--brlbs-tw-slashed-zero:;--brlbs-tw-numeric-figure:;--brlbs-tw-numeric-spacing:;--brlbs-tw-numeric-fraction:;--brlbs-tw-ring-inset:;--brlbs-tw-ring-offset-width:0px;--brlbs-tw-ring-offset-color:#fff;--brlbs-tw-ring-color:rgba(59,130,246,.5);--brlbs-tw-ring-offset-shadow:0 0 #0000;--brlbs-tw-ring-shadow:0 0 #0000;--brlbs-tw-shadow:0 0 #0000;--brlbs-tw-shadow-colored:0 0 #0000;--brlbs-tw-blur:;--brlbs-tw-brightness:;--brlbs-tw-contrast:;--brlbs-tw-grayscale:;--brlbs-tw-hue-rotate:;--brlbs-tw-invert:;--brlbs-tw-saturate:;--brlbs-tw-sepia:;--brlbs-tw-drop-shadow:;--brlbs-tw-backdrop-blur:;--brlbs-tw-backdrop-brightness:;--brlbs-tw-backdrop-contrast:;--brlbs-tw-backdrop-grayscale:;--brlbs-tw-backdrop-hue-rotate:;--brlbs-tw-backdrop-invert:;--brlbs-tw-backdrop-opacity:;--brlbs-tw-backdrop-saturate:;--brlbs-tw-backdrop-sepia:;--brlbs-tw-contain-size:;--brlbs-tw-contain-layout:;--brlbs-tw-contain-paint:;--brlbs-tw-contain-style:}.brlbs-cmpnt-container .brlbs-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.brlbs-cmpnt-container .\!brlbs-hidden{display:none!important}.brlbs-cmpnt-container .brlbs-overflow-auto{overflow:auto}.brlbs-cmpnt-container .brlbs-overflow-hidden{overflow:hidden}.brlbs-cmpnt-container .brlbs-pt-4{padding-top:16px}body .brlbs-cmpnt-container.brlbs-cmpnt-content-blocker{container-name:brlbsCmpntContentBlocker;container-type:inline-size;line-height:1.25em;height:100%;font-size:var(--content-blocker-font-size);font-family:var(--content-blocker-font-family)}body .brlbs-cmpnt-container.brlbs-cmpnt-content-blocker a{color:var(--content-blocker-link-color)}body .brlbs-cmpnt-container.brlbs-cmpnt-content-blocker a:hover{color:var(--content-blocker-link-color-hover)}body .brlbs-cmpnt-container.brlbs-cmpnt-content-blocker.brlbs-cmpnt-cb-card,body .brlbs-cmpnt-container.brlbs-cmpnt-content-blocker.brlbs-cmpnt-cb-provider-card{container-type:normal}body .brlbs-cmpnt-container.brlbs-cmpnt-content-blocker .brlbs-cmpnt-dialog-cb-details{position:relative;padding:16px;text-align:left}@media(min-width:768px){body .brlbs-cmpnt-container.brlbs-cmpnt-content-blocker .brlbs-cmpnt-dialog-cb-details{padding:24px}}body .brlbs-cmpnt-container.brlbs-cmpnt-content-blocker .brlbs-cmpnt-dialog-cb-header{display:flex;align-items:center}body .brlbs-cmpnt-container.brlbs-cmpnt-content-blocker .brlbs-cmpnt-dialog-cb-header.brlbs-cmpnt-with-separator{margin-bottom:16px;border-bottom-width:1px;border-style:solid;padding-bottom:16px}body .brlbs-cmpnt-container.brlbs-cmpnt-content-blocker .brlbs-cmpnt-dialog-cb-button{display:flex;padding-bottom:16px}@media(min-width:768px){body .brlbs-cmpnt-container.brlbs-cmpnt-content-blocker .brlbs-cmpnt-dialog-cb-button{padding-bottom:24px}}body .brlbs-cmpnt-container.brlbs-cmpnt-content-blocker .brlbs-cmpnt-cb-preset-a{align-items:center;justify-content:center;padding:16px;text-align:center;background:var(--content-blocker-background-color);border-top-left-radius:var(--content-blocker-border-radius-top-left);border-top-right-radius:var(--content-blocker-border-radius-top-right);border-bottom-left-radius:var(--content-blocker-border-radius-bottom-left);border-bottom-right-radius:var(--content-blocker-border-radius-bottom-right);color:var(--content-blocker-text-color)}body .brlbs-cmpnt-container.brlbs-cmpnt-content-blocker .brlbs-cmpnt-cb-preset-a .brlbs-cmpnt-cb-description{padding-bottom:8px}@media(min-width:640px){body .brlbs-cmpnt-container.brlbs-cmpnt-content-blocker .brlbs-cmpnt-cb-preset-a .brlbs-cmpnt-cb-description{padding-bottom:16px}}body .brlbs-cmpnt-container.brlbs-cmpnt-content-blocker .brlbs-cmpnt-cb-preset-a .brlbs-cmpnt-cb-description{border-color:var(--content-blocker-separator-color);border-style:solid;border-bottom-width:var(--content-blocker-separator-width)}body .brlbs-cmpnt-container.brlbs-cmpnt-content-blocker .brlbs-cmpnt-cb-preset-a .brlbs-cmpnt-cb-description strong{font-weight:700}body .brlbs-cmpnt-container.brlbs-cmpnt-content-blocker .brlbs-cmpnt-cb-preset-b{position:relative;display:flex;height:100%;padding-top:96px;padding-bottom:96px;text-align:center;background:var(--content-blocker-background-color);border-top-left-radius:var(--content-blocker-border-radius-top-left);border-top-right-radius:var(--content-blocker-border-radius-top-right);border-bottom-left-radius:var(--content-blocker-border-radius-bottom-left);border-bottom-right-radius:var(--content-blocker-border-radius-bottom-right);color:var(--content-blocker-text-color);width:100%}body .brlbs-cmpnt-container.brlbs-cmpnt-content-blocker .brlbs-cmpnt-cb-preset-b .brlbs-cmpnt-cb-main{position:relative;display:flex;width:100%;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:16px}@media(min-width:640px){body .brlbs-cmpnt-container.brlbs-cmpnt-content-blocker .brlbs-cmpnt-cb-preset-b .brlbs-cmpnt-cb-main{flex-direction:row;gap:16px}}body .brlbs-cmpnt-container.brlbs-cmpnt-content-blocker .brlbs-cmpnt-cb-preset-b .brlbs-cmpnt-cb-main{background:var(--content-blocker-background);color:var(--content-blocker-text-color)}body .brlbs-cmpnt-container.brlbs-cmpnt-content-blocker .brlbs-cmpnt-cb-preset-b .brlbs-cmpnt-cb-content{flex-basis:66.666667%}body .brlbs-cmpnt-container.brlbs-cmpnt-content-blocker .brlbs-cmpnt-cb-preset-b .brlbs-cmpnt-cb-description{padding-bottom:8px}@media(min-width:640px){body .brlbs-cmpnt-container.brlbs-cmpnt-content-blocker .brlbs-cmpnt-cb-preset-b .brlbs-cmpnt-cb-description{padding-bottom:16px}}body .brlbs-cmpnt-container.brlbs-cmpnt-content-blocker .brlbs-cmpnt-cb-preset-b .brlbs-cmpnt-cb-description strong{font-weight:700}body .brlbs-cmpnt-container.brlbs-cmpnt-content-blocker .brlbs-cmpnt-cb-preset-b .brlbs-cmpnt-cb-buttons{margin:0;display:flex;flex-basis:33.333333%;flex-direction:column;align-items:stretch;justify-content:center;gap:8px}@media(min-width:640px){body .brlbs-cmpnt-container.brlbs-cmpnt-content-blocker .brlbs-cmpnt-cb-preset-b .brlbs-cmpnt-cb-buttons{gap:16px}}body .brlbs-cmpnt-container.brlbs-cmpnt-content-blocker .brlbs-cmpnt-cb-preset-c{position:relative;display:flex;height:100%;text-align:center;background:var(--content-blocker-background-color);border-top-left-radius:var(--content-blocker-border-radius-top-left);border-top-right-radius:var(--content-blocker-border-radius-top-right);border-bottom-left-radius:var(--content-blocker-border-radius-bottom-left);border-bottom-right-radius:var(--content-blocker-border-radius-bottom-right);color:var(--content-blocker-text-color);width:100%}body .brlbs-cmpnt-container.brlbs-cmpnt-content-blocker .brlbs-cmpnt-cb-preset-c .brlbs-cmpnt-cb-main{position:relative;margin:48px;display:flex;width:100%;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:16px}@media(min-width:640px){body .brlbs-cmpnt-container.brlbs-cmpnt-content-blocker .brlbs-cmpnt-cb-preset-c .brlbs-cmpnt-cb-main{margin:96px;
118gap:16px}}body .brlbs-cmpnt-container.brlbs-cmpnt-content-blocker .brlbs-cmpnt-cb-preset-c .brlbs-cmpnt-cb-main{background:var(--content-blocker-background);border-top-left-radius:var(--content-blocker-border-radius-top-left);border-top-right-radius:var(--content-blocker-border-radius-top-right);border-bottom-left-radius:var(--content-blocker-border-radius-bottom-left);border-bottom-right-radius:var(--content-blocker-border-radius-bottom-right);color:var(--content-blocker-text-color)}body .brlbs-cmpnt-container.brlbs-cmpnt-content-blocker .brlbs-cmpnt-cb-preset-c .brlbs-cmpnt-cb-description{padding-bottom:8px}@media(min-width:640px){body .brlbs-cmpnt-container.brlbs-cmpnt-content-blocker .brlbs-cmpnt-cb-preset-c .brlbs-cmpnt-cb-description{padding-bottom:16px}}body .brlbs-cmpnt-container.brlbs-cmpnt-content-blocker .brlbs-cmpnt-cb-preset-c .brlbs-cmpnt-cb-description strong{font-weight:700}body .brlbs-cmpnt-container.brlbs-cmpnt-content-blocker .brlbs-cmpnt-cb-preset-c .brlbs-cmpnt-cb-buttons{margin:0;display:flex;width:100%;flex-direction:column;align-items:stretch;justify-content:center;gap:8px}@media(min-width:640px){body .brlbs-cmpnt-container.brlbs-cmpnt-content-blocker .brlbs-cmpnt-cb-preset-c .brlbs-cmpnt-cb-buttons{gap:16px}}body .brlbs-cmpnt-container.brlbs-cmpnt-content-blocker .brlbs-cmpnt-cb-preset-c .brlbs-cmpnt-cb-play-button{border-radius:50%;background:#fff;box-shadow:0 1px 5px #00000026;width:34px;height:34px;margin:0 auto;display:flex;align-items:center;justify-content:center;position:absolute;top:-17px;left:calc(50% - 17px)}body .brlbs-cmpnt-container.brlbs-cmpnt-content-blocker .brlbs-cmpnt-cb-preset-c .brlbs-cmpnt-cb-play-button:before{background:url(data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2278%22%20height%3D%2278%22%20viewBox%3D%220%200%2078%2078%22%3E%3Cpath%20d%3D%22M7.5%2071.5v-64l48%2030.328z%22%2F%3E%3Cpath%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20stroke-width%3D%2212%22%20d%3D%22M7.5%2071.5v-64l48%2030.328z%22%2F%3E%3C%2Fsvg%3E) no-repeat 50%;background-size:contain;content:" ";margin-left:4px;display:inline-block;height:1.142857143em;width:.857142857em}body .brlbs-cmpnt-container.brlbs-cmpnt-content-blocker .brlbs-cmpnt-cb-thumbnail{position:absolute;top:0;left:0;height:100%;width:100%;background-size:cover;background-position:50%;border-top-left-radius:var(--content-blocker-border-radius-top-left);border-top-right-radius:var(--content-blocker-border-radius-top-right);border-bottom-left-radius:var(--content-blocker-border-radius-bottom-left);border-bottom-right-radius:var(--content-blocker-border-radius-bottom-right)}body .brlbs-cmpnt-container.brlbs-cmpnt-content-blocker .brlbs-cmpnt-cb-buttons{margin-top:8px;margin-bottom:8px;display:flex;flex-direction:column;align-items:stretch;justify-content:center;gap:8px}@media(min-width:640px){body .brlbs-cmpnt-container.brlbs-cmpnt-content-blocker .brlbs-cmpnt-cb-buttons{margin-top:16px;margin-bottom:16px;flex-direction:row;gap:16px}}body .brlbs-cmpnt-container.brlbs-cmpnt-content-blocker .brlbs-cmpnt-cb-buttons .brlbs-cmpnt-cb-btn{display:flex;width:100%;align-items:center;justify-content:center;text-decoration-line:none}body .brlbs-cmpnt-container.brlbs-cmpnt-content-blocker:has(.brlbs-cmpnt-cb-preset-d){position:fixed;height:auto}body .brlbs-cmpnt-container.brlbs-cmpnt-content-blocker:has(.brlbs-cmpnt-cb-preset-d):has(.brlbs-cmpnt-cb-icon-position\[top-left\]),body .brlbs-cmpnt-container.brlbs-cmpnt-content-blocker:has(.brlbs-cmpnt-cb-preset-d):has(.brlbs-cmpnt-cb-icon-position\[top-right\]){top:var(--content-blocker-icon-margin)}body .brlbs-cmpnt-container.brlbs-cmpnt-content-blocker:has(.brlbs-cmpnt-cb-preset-d):has(.brlbs-cmpnt-cb-icon-position\[bottom-left\]),body .brlbs-cmpnt-container.brlbs-cmpnt-content-blocker:has(.brlbs-cmpnt-cb-preset-d):has(.brlbs-cmpnt-cb-icon-position\[bottom-right\]){bottom:var(--content-blocker-icon-margin)}body .brlbs-cmpnt-container.brlbs-cmpnt-content-blocker:has(.brlbs-cmpnt-cb-preset-d):has(.brlbs-cmpnt-cb-icon-position\[bottom-right\]),body .brlbs-cmpnt-container.brlbs-cmpnt-content-blocker:has(.brlbs-cmpnt-cb-preset-d):has(.brlbs-cmpnt-cb-icon-position\[top-right\]){right:calc(var(--content-blocker-icon-width) + var(--content-blocker-icon-margin))}body .brlbs-cmpnt-container.brlbs-cmpnt-content-blocker:has(.brlbs-cmpnt-cb-preset-d):has(.brlbs-cmpnt-cb-icon-position\[bottom-left\]),body .brlbs-cmpnt-container.brlbs-cmpnt-content-blocker:has(.brlbs-cmpnt-cb-preset-d):has(.brlbs-cmpnt-cb-icon-position\[top-left\]){left:var(--content-blocker-icon-margin)}body .brlbs-cmpnt-container.brlbs-cmpnt-content-blocker:has(.brlbs-cmpnt-cb-preset-d):has(.brlbs-cmpnt-cb-icon-display\[flex\]){position:relative;display:inline-block;display:flex}body .brlbs-cmpnt-container.brlbs-cmpnt-content-blocker:has(.brlbs-cmpnt-cb-preset-d):has(.brlbs-cmpnt-cb-icon-position\[float-left\]){float:left}body .brlbs-cmpnt-container.brlbs-cmpnt-content-blocker:has(.brlbs-cmpnt-cb-preset-d):has(.brlbs-cmpnt-cb-icon-position\[float-right\]){float:right}body .brlbs-cmpnt-container.brlbs-cmpnt-content-blocker .brlbs-cmpnt-cb-preset-d .brlbs-cmpnt-cb-icon{display:inline-block;height:var(--content-blocker-icon-height);width:var(--content-blocker-icon-width)}body .brlbs-cmpnt-container.brlbs-cmpnt-content-blocker .brlbs-cmpnt-description-list{display:table}body .brlbs-cmpnt-container.brlbs-cmpnt-content-blocker .brlbs-cmpnt-description-list>div{display:table-row}body .brlbs-cmpnt-container.brlbs-cmpnt-content-blocker .brlbs-cmpnt-description-list dt{font-weight:700}body .brlbs-cmpnt-container.brlbs-cmpnt-content-blocker .brlbs-cmpnt-description-list dd,body .brlbs-cmpnt-container.brlbs-cmpnt-content-blocker .brlbs-cmpnt-description-list dt{display:table-cell;padding:2px 4px}body .brlbs-cmpnt-container.brlbs-cmpnt-content-blocker a.brlbs-cmpnt-cb-btn{all:unset;box-sizing:border-box;
118cursor:pointer;align-items:center;justify-content:center;padding:12px 20px;text-align:center;font-size:var(--dialog-font-size);line-height:calc(1.5 * var(--dialog-font-size));font-weight:600;text-decoration-line:none;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.4s;border-top-left-radius:var(--content-blocker-button-border-radius-top-left);border-top-right-radius:var(--content-blocker-button-border-radius-top-right);border-bottom-left-radius:var(--content-blocker-button-border-radius-bottom-left);border-bottom-right-radius:var(--content-blocker-button-border-radius-bottom-right);background-color:var(--content-blocker-button-color);color:var(--content-blocker-button-text-color)}body .brlbs-cmpnt-container.brlbs-cmpnt-content-blocker a.brlbs-cmpnt-cb-btn:hover{background-color:var(--content-blocker-button-color-hover);color:var(--content-blocker-button-text-color-hover)}body .brlbs-cmpnt-container.brlbs-cmpnt-content-blocker a.brlbs-cmpnt-cb-btn:active,body .brlbs-cmpnt-container.brlbs-cmpnt-content-blocker a.brlbs-cmpnt-cb-btn:focus{outline:2px solid transparent;outline-offset:2px;--brlbs-tw-ring-offset-shadow:var(--brlbs-tw-ring-inset) 0 0 0 var(--brlbs-tw-ring-offset-width) var(--brlbs-tw-ring-offset-color);--brlbs-tw-ring-shadow:var(--brlbs-tw-ring-inset) 0 0 0 calc(2px + var(--brlbs-tw-ring-offset-width)) var(--brlbs-tw-ring-color);box-shadow:var(--brlbs-tw-ring-offset-shadow),var(--brlbs-tw-ring-shadow),var(--brlbs-tw-shadow,0 0 #0000)}body .brlbs-cmpnt-container.brlbs-cmpnt-content-blocker a.brlbs-cmpnt-cb-provider-toggle{all:unset;box-sizing:border-box;color:var(--content-blocker-link-color);cursor:pointer;display:flex;align-items:center;justify-content:center;text-decoration-line:none}body .brlbs-cmpnt-container.brlbs-cmpnt-content-blocker a.brlbs-cmpnt-cb-provider-toggle:hover{all:unset;box-sizing:border-box;color:var(--content-blocker-link-color-hover);cursor:pointer;display:flex;align-items:center;justify-content:center;text-decoration-line:none}@container brlbsCmpntContentBlocker (480px <= width < 620px){body .brlbs-cmpnt-container.brlbs-cmpnt-content-blocker .brlbs-cmpnt-cb-preset-b{padding-top:12%;padding-bottom:12%}}@container brlbsCmpntContentBlocker (width < 480px){body .brlbs-cmpnt-container.brlbs-cmpnt-content-blocker .brlbs-cmpnt-cb-preset-b{padding:0}body .brlbs-cmpnt-container.brlbs-cmpnt-content-blocker .brlbs-cmpnt-cb-preset-b .brlbs-cmpnt-cb-main{margin:6%;flex-direction:column;gap:8px;justify-content:normal;overflow:auto}}@container brlbsCmpntContentBlocker (640px <= width < 750px){body .brlbs-cmpnt-container.brlbs-cmpnt-content-blocker .brlbs-cmpnt-cb-preset-c .brlbs-cmpnt-cb-main{margin:10%!important}}@container brlbsCmpntContentBlocker (540px <= width < 640px){body .brlbs-cmpnt-container.brlbs-cmpnt-content-blocker .brlbs-cmpnt-cb-preset-c .brlbs-cmpnt-cb-main{margin:6%!important}}@container brlbsCmpntContentBlocker (width < 540px){body .brlbs-cmpnt-container.brlbs-cmpnt-content-blocker{position:static}body .brlbs-cmpnt-container.brlbs-cmpnt-content-blocker .brlbs-cmpnt-cb-preset-c .brlbs-cmpnt-cb-main{gap:8px;margin:6%!important;justify-content:normal;overflow:auto}body .brlbs-cmpnt-container.brlbs-cmpnt-content-blocker .brlbs-cmpnt-cb-preset-c .brlbs-cmpnt-cb-main .brlbs-cmpnt-cb-play-button{display:none}}@container brlbsCmpntContentBlocker (width < 375px){.wp-embed-aspect-16-9 .brlbs-cmpnt-container.brlbs-cmpnt-content-blocker .brlbs-cmpnt-cb-preset-b .brlbs-cmpnt-cb-main,.wp-embed-aspect-16-9 .brlbs-cmpnt-container.brlbs-cmpnt-content-blocker .brlbs-cmpnt-cb-preset-c .brlbs-cmpnt-cb-main{height:100%;justify-content:normal;overflow:auto}.wp-embed-aspect-16-9 .brlbs-cmpnt-container.brlbs-cmpnt-content-blocker .brlbs-cmpnt-cb-preset-b .brlbs-cmpnt-cb-main .brlbs-cmpnt-cb-play-button,.wp-embed-aspect-16-9 .brlbs-cmpnt-container.brlbs-cmpnt-content-blocker .brlbs-cmpnt-cb-preset-c .brlbs-cmpnt-cb-main .brlbs-cmpnt-cb-play-button{display:none}}.wp-embed-aspect-16-9:has(.brlbs-cmpnt-container.brlbs-cmpnt-content-blocker) div.wp-block-embed__wrapper{padding:0}.wp-embed-aspect-16-9:has(.brlbs-cmpnt-container.brlbs-cmpnt-content-blocker) div.wp-block-embed__wrapper:before{padding:0}#BorlabsCookieBox,.brlbs-cmpnt-container{font-family:var(--dialog-font-family);font-weight:400;line-height:calc(1.2 * var(--dialog-font-size))}body .brlbs-cmpnt-container.brlbs-cmpnt-shortcode-element{container-name:brlbsCmpntShortcodeElement;container-type:inline-size;line-height:1.25em;height:100%}body .brlbs-cmpnt-container.brlbs-cmpnt-shortcode-element .brlbs-cmpnt-description-list{display:table}body .brlbs-cmpnt-container.brlbs-cmpnt-shortcode-element .brlbs-cmpnt-description-list>div{display:table-row}body .brlbs-cmpnt-container.brlbs-cmpnt-shortcode-element .brlbs-cmpnt-description-list dt{font-weight:700}body .brlbs-cmpnt-container.brlbs-cmpnt-shortcode-element .brlbs-cmpnt-description-list dd,body .brlbs-cmpnt-container.brlbs-cmpnt-shortcode-element .brlbs-cmpnt-description-list dt{display:table-cell;padding:2px 4px} 119:root{--content-blocker-background-color: #fafafa; 120--content-blocker-button-color: #0063e3; 121--content-blocker-button-color-hover: #1a66ff; 122--content-blocker-button-text-color: #fff; 123--content-blocker-button-text-color-hover: #fff; 124--content-blocker-font-family: inherit; 125--content-blocker-link-color: #2563eb; 126--content-blocker-link-color-hover: #1e40af; 127--content-blocker-separator-color: #e5e5e5; 128--content-blocker-text-color: #555; 129--content-blocker-border-radius-top-left: 4px; 130--content-blocker-border-radius-top-right: 4px; 131--content-blocker-border-radius-bottom-left: 4px; 132--content-blocker-border-radius-bottom-right: 4px; 133--content-blocker-button-border-radius-top-left: 4px; 134--content-blocker-button-border-radius-top-right: 4px; 135--content-blocker-button-border-radius-bottom-left: 4px; 136--content-blocker-button-border-radius-bottom-right: 4px; 137--content-blocker-font-size: 14px; 138--content-blocker-separator-width: 1px; 139--content-blocker-background-opacity: 0.85; 140--content-blocker-background: rgba(250, 250, 250 ,0.85); 141} 142 143/*# sourceURL=borlabs-cookie-critical-inline-css */ 144</style> 145<link onload="this.media='all';this.onload=null" data-borlabs-cookie-deferred-style="1" rel='stylesheet' id='borlabs-cookie-custom-css' href='https://www.bildungsakademie.de/wp-content/cache/borlabs-cookie/1/borlabs-cookie-1-de.css?ver=3.4.5-26' media="print" /> 146<noscript><link rel='stylesheet' id='borlabs-cookie-custom-css' href='https://www.bildungsakademie.de/wp-content/cache/borlabs-cookie/1/borlabs-cookie-1-de.css?ver=3.4.5-26' media='all' /> 147</noscript> 148<link rel='stylesheet' id='print-css-css' href='https://www.bildungsakademie.de/wp-content/themes/uni-hwk-ba-konstanz/css/print.css?ver=7.1.2' media='print' /> 149<link rel='stylesheet' id='style-font-awesome-css' href='https://www.bildungsakademie.de/wp-content/themes/uni-hwk-ba-konstanz/res/fontawesome-free-5.15.4-web/css/all.css?ver=5.15.4' media='all' /> 150<link rel='stylesheet' id='evaluation-hwk-style-css' href='https://www.bildungsakademie.de/wp-content/themes/uni-hwk-ba-konstanz/css/evaluation-hwk.css?ver=7.1.2' media='all' />
151<link rel='stylesheet' id='bs4-margin-padding-css' href='https://www.bildungsakademie.de/wp-content/themes/uni-hwk-ba-konstanz/css/bootstrap4-padding-and-margin-classes.css?ver=7.1.2' media='all' /> 152<link rel='stylesheet' id='bs4-form-check-css' href='https://www.bildungsakademie.de/wp-content/themes/uni-hwk-ba-konstanz/css/bootstrap4-form-check-classes.css?ver=7.1.2' media='all' /> 153<link rel='stylesheet' id='toastr-css-css' href='https://www.bildungsakademie.de/wp-content/themes/uni-hwk-ba-konstanz/res/toastr-2.1.4-dist/toastr.min.css?ver=7.1.2' media='all' /> 154<link rel='stylesheet' id='chart-css-css' href='https://www.bildungsakademie.de/wp-content/themes/uni-hwk-ba-konstanz/res/Chart.js-2.8.0/dist/Chart.min.css?ver=7.1.2' media='all' /> 155<link rel='stylesheet' id='uni-hwk-redesign-css' href='https://www.bildungsakademie.de/wp-content/themes/uni-hwk-ba-konstanz/style-uni.css?ver=1.1.46' media='all' /> 156<link rel='stylesheet' id='uni-base-custom-style-css' href='https://www.bildungsakademie.de/wp-content/themes/uni-hwk-ba-konstanz/css/custom.css?ver=1.2.4' media='all' /> 157<link rel='stylesheet' id='navbar-brand-css' href='https://www.bildungsakademie.de/wp-content/themes/uni-hwk-ba-konstanz/css/navbar-brand-hwkkonstanzbtz.css?ver=1.3.51' media='all' />
158<script id="jquery-core-js" src="https://www.bildungsakademie.de/wp-includes/js/jquery/jquery.min.js?ver=3.7.1"></script>
vendor: 1 bytes, line 158
158
159<script id="moment-js-script-js" src="https://www.bildungsakademie.de/wp-content/plugins/uniplus-base/js/moment-with-locales-2.29.4.js?ver=2.29.4"></script>
vendor: 1 bytes, line 159
159
160<script id="moment-precise-range-js-script-js" src="https://www.bildungsakademie.de/wp-content/plugins/uniplus-base/js/moment-precise-range.js?ver=7.1.2"></script>
vendor: 1 bytes, line 160
160
161<script id="leaflet-js-script-js" src="https://www.bildungsakademie.de/wp-content/plugins/uniplus-base/dist/leaflet/leaflet.js?ver=7.1.2"></script>
vendor: 1 bytes, line 161
161
162<script id="leaflet-fullscreen-js-script-js" src="https://www.bildungsakademie.de/wp-content/plugins/uniplus-base/dist/leaflet-fullscreen/leaflet-fullscreen.min.js?ver=7.1.2"></script>
vendor: 1 bytes, line 162
162
163<script id="vue-js-script-js" src="https://www.bildungsakademie.de/wp-content/plugins/uniplus-base/js/vue-2.7.14.min.js?ver=2.7.14"></script>
vendor: 1 bytes, line 163
163
164<script id="vue-js-router-script-js" src="https://www.bildungsakademie.de/wp-content/plugins/uniplus-base/js/vue-router.min.js?ver=3.0.7"></script>
vendor: 1 bytes, line 164
164
165<script id="vue-js-resource-script-js" src="https://www.bildungsakademie.de/wp-content/plugins/uniplus-base/js/vue-resource.min.js?ver=3.0.7"></script>
vendor: 1 bytes, line 165
165
166<script id="uni_helper_js-js" src="https://www.bildungsakademie.de/wp-content/plugins/uniplus-base/helper/js/uni_helper_js.js?ver=1.0.1"></script>
vendor: 1 bytes, line 166
166
167<script id="select2_script_min-js" src="https://www.bildungsakademie.de/wp-content/plugins/uniplus-vuejs/helper/../dist/select2-4.0.13/js/select2.full.min.js?ver=4.0.13"></script>
vendor: 1 bytes, line 167
167
168<script data-no-optimize="1" data-no-minify="1" data-cfasync="false" id="borlabs-cookie-config-js" src="https://www.bildungsakademie.de/wp-content/cache/borlabs-cookie/1/borlabs-cookie-config-de.json.js?ver=3.4.5-35"></script>
vendor: 1 bytes, line 168
168
169<script data-no-optimize="1" data-no-minify="1" data-cfasync="false" id="borlabs-cookie-prioritize-js" src="https://www.bildungsakademie.de/wp-content/plugins/borlabs-cookie/assets/javascript/borlabs-cookie-prioritize.min.js?ver=3.4.5"></script>
vendor: 1 bytes, line 169
169
170<script id="uni-hwk-comments-js" src="https://www.bildungsakademie.de/wp-content/themes/uni-hwk-ba-konstanz/js/uni-hwk-comments.js?ver=1.0"></script>
vendor: 1 bytes, line 170
170
171<script id="uni-hwk-theme-js" src="https://www.bildungsakademie.de/wp-content/themes/uni-hwk-ba-konstanz/js/uni-hwk.js?ver=1.0"></script>
vendor: 1 bytes, line 171
171
172<script id="toastr-script-js" src="https://www.bildungsakademie.de/wp-content/themes/uni-hwk-ba-konstanz/res/toastr-2.1.4-dist/toastr.min.js?ver=1.0"></script>
vendor: 1 bytes, line 172
172
173<script id="chart-script-js" src="https://www.bildungsakademie.de/wp-content/themes/uni-hwk-ba-konstanz/res/Chart.js-2.8.0/dist/Chart.js?ver=1.0"></script>
vendor: 1 bytes, line 173
173
174<script async data-wp-strategy="async" id="eyeable-client-config-js" src="https://www.bildungsakademie.de/eyeable/clientConfig.js"></script>
vendor: 1 bytes, line 174
174
175<script async data-wp-strategy="async" id="eyeable-js-js" src="https://www.bildungsakademie.de/eyeable/public/js/eyeAble.js"></script>
175 176<link rel="https://api.w.org/" href="https://www.bildungsakademie.de/wp-json/" /><link rel="alternate" title="JSON" type="application/json" href="https://www.bildungsakademie.de/wp-json/wp/v2/pages/305724" /><link rel='shortlink' href='https://www.bildungsakademie.de/?p=305724' /> 177 <link rel="stylesheet" href="https://www.bildungsakademie.de/wp-content/plugins/uniplus-base/dist/bootstrap-icons-1.13.1/bootstrap-icons.css"> 178 <meta name="ai-tools" content="client=29f014e522b01969173c26401e75a41a;baseUrl=https://ai.uniplus-software.de;elementId=uni-ai-tools-language;title=Language" /> 179
179<script type="text/javascript" id="spscript" src="https://speiseplanapp.de/snippet/spAppWebSnipv3.js"> </script>
179 <meta property="og:image" content="https://www.bildungsakademie.de/wp-content/themes/uni-hwk-redesign/img/hwk_schraube.png"/> 180 <meta property="og:image:width" content="200"/> 181 <meta property="og:image:height" content="200"/> 182 <meta name="description" content="Ein Unternehmen der Handwerkskammer Konstanz"/> 183 <meta property="og:description" content="Ein Unternehmen der Handwerkskammer Konstanz"/> 184 </head> 185 186 <body data-spy="scroll" data-target="#scrollspyContent" class="wp-singular page-template page-template-page-scrollspy page-template-page-scrollspy-php page page-id-305724 wp-theme-chatty wp-child-theme-uni-hwk-ba-konstanz has-menu-top top-parent-slug-foerderprojekte top-parent-id-305724 has-header header-collapse form-no-floating-label submenu-default" id="foerderprojekte"> 187 <div id="browser-warning" class="sr-only"></div> 188 189 <div id="wrapper" class="container"> 190<div id="header" class="hidden-print"> 191 <a href="https://www.bildungsakademie.de" class="home-link-xs visible-xs"><span class="sr-only">Home Link auf dem Handy</span></a> 192 <header class="site-header-bar"> 193 <div class="container"> 194 <div class="row"> 195 <div id="logo" class="col-md-3 col-sm-4"><a class="navbar-brand" href="https://www.bildungsakademie.de"><span class="screen-reader">Logo</span></a><a class="search visible-xs" title="Suche" role="button" aria-label="Ãffnet die Suche" aria-describedby="searchbar"><span class="glyphicon glyphicon-suche" aria-hidden="true"></span></a></div> <div class="col-md-9 col-sm-8 hidden-xs"> 196 <div class="row"> 197 <div class="header-menu col-sm-12"> 198 <nav class="header-menu-nav" role="navigation" aria-label="Kopfnavigation"> 199 <ul id="menu-02-second" class="nav header-menu-ul"><li id="menu-item-277673" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-277673"><a title="Leichte Sprache" href="https://www.bildungsakademie.de/leichte-sprache/">Leichte Sprache</a></li> 200<li role="presentation" class="divider"></li> 201<li id="menu-item-272637" class="menu-item menu-item-type-custom menu-item-object-custom current-menu-ancestor current-menu-parent menu-item-has-children menu-item-272637 active dropdown"><a title="Ãber uns" href="#" data-toggle="dropdown" class="dropdown-toggle" aria-haspopup="true">Ãber uns <span class="caret"></span></a> 202<ul role="menu" class=" dropdown-menu"> 203 <li id="menu-item-272638" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-272638"><a title="Die Bildungsakademie" href="https://www.bildungsakademie.de/bauen-sie-mit-uns-ihre-karriere/">Die Bildungsakademie</a></li> 204 <li id="menu-item-277386" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-277386"><a title="Unsere Dozenten" href="https://www.bildungsakademie.de/unsere-dozenten/">Unsere Dozenten</a></li> 205 <li id="menu-item-277387" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-277387"><a title="Zertifizierung" href="https://www.bildungsakademie.de/beste-voraussetzungen-fuer-unsere-kunden/">Zertifizierung</a></li> 206 <li id="menu-item-305753" class="menu-item menu-item-type-post_type menu-item-object-page current-menu-item page_item page-item-305724 current_page_item menu-item-305753 active active"><a title="Förderprojekte" href="https://www.bildungsakademie.de/foerderprojekte/">Förderprojekte</a></li> 207 <li id="menu-item-277385" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-277385"><a title="Partner" href="https://www.bildungsakademie.de/partner/">Partner</a></li> 208</ul> 209</li> 210<li role="presentation" class="divider"></li> 211<li id="menu-item-307938" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-307938"><a title="Karriere" href="https://www.bildungsakademie.de/karriere/">Karriere</a></li> 212<li role="presentation" class="divider"></li> 213<li id="menu-item-305687" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-305687 dropdown"><a title="Kontakt" href="#" data-toggle="dropdown" class="dropdown-toggle" aria-haspopup="true">
213Kontakt <span class="caret"></span></a> 214<ul role="menu" class=" dropdown-menu"> 215 <li id="menu-item-305688" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-305688"><a title="Beratung" href="https://www.bildungsakademie.de/beratung/">Beratung</a></li> 216 <li id="menu-item-339665" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-339665"><a title="Bildungsakademie Rottweil" href="https://www.bildungsakademie.de/kontakte-ba-rottweil/">Bildungsakademie Rottweil</a></li> 217 <li id="menu-item-339666" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-339666"><a title="Bildungsakademie Singen" href="https://www.bildungsakademie.de/kontakte-ba-singen/">Bildungsakademie Singen</a></li> 218 <li id="menu-item-339664" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-339664"><a title="Bildungsakademie Waldshut" href="https://www.bildungsakademie.de/kontakte-ba-waldshut/">Bildungsakademie Waldshut</a></li> 219 <li id="menu-item-305774" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-305774"><a title="Handwerkskammer Konstanz" href="https://hwk-konstanz.uniplus-software.de/oeffnungszeiten/">Handwerkskammer Konstanz</a></li> 220</ul> 221</li> 222<li role="presentation" class="divider"></li> 223<li id="menu-item-272639" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-272639"><a title="ILIAS" href="https://ilias.bildungsakademie.de/">ILIAS</a></li> 224<li role="presentation" class="divider"></li> 225<li id="menu-item-877" class="text-hidden menu-item menu-item-type-custom menu-item-object-custom menu-item-877"><a title="Facebook" href="https://www.facebook.com/bildungsakademie"><span class="glyphicon glyphicon-facebook"></span> Facebook</a></li> 226<li id="menu-item-305989" class="text-hidden menu-item menu-item-type-custom menu-item-object-custom menu-item-305989"><a title="Instagram" target="_blank" href="https://www.instagram.com/bildungsakademie_/"><span class="glyphicon glyphicon-instagram"></span> Instagram</a></li> 227<li role="presentation" class="divider"></li> 228</ul> <ul class="nav header-menu-ul"> 229 <li id="uni-ai-tools-language" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-home current-menu-item page_item current_page_item "></li> 230 </ul> 231 <ul class="nav header-menu-ul"> 232 <li class="text-hidden hidden-xs"><a class="search" role="button" aria-label="Ãffnet die Suche" aria-controls="searchbar"><span class="glyphicon glyphicon-suche"></span> Suche</a></li> 233 </ul> 234 </nav> 235 </div><!-- /.header-menu --> 236 </div> 237 </div> 238 </div> 239 </div><!-- .container --> 240 </header> 241</div><!-- /header --> <div class="main-menu navbar navbar-default navbar-fixed-top top has-header"> 242 <nav> 243 <div class="container"> 244 <a href="https://www.bildungsakademie.de" class="home-link-xs visible-xs"><span class="sr-only">Home Link auf dem Handy</span></a> 245 <div class="navbar-header"> 246 <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse" data-menu-mobile="top"> 247 <span class="sr-only">Toggle navigation</span> 248 <span class="icon-bar"></span> 249 <span class="icon-bar"></span> 250 <span class="icon-bar"></span> </button> 251 </div><!-- /.navbar-header --> 252 253 <div class="navbar-collapse collapse"> 254 255 256 <ul id="main-menu-ul" class="nav navbar-nav"><li id="menu-item-272626" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-272626"><a title="Meisterkurse" href="https://www.bildungsakademie.de/meister/">Meisterkurse</a></li> 257<li id="menu-item-277379" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-277379"><a title="techn. Kurse" href="https://www.bildungsakademie.de/unsere-technischen-kurse/">techn. Kurse</a></li> 258<li id="menu-item-277380" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-277380"><a title="kaufm. Kurse" href="https://www.bildungsakademie.de/unsere-kaufmaennischen-kurse/">kaufm. Kurse</a></li> 259<li id="menu-item-43188" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-43188 dropdown"><a title="Ausbildung" href="#" data-toggle="dropdown" class="dropdown-toggle" aria-haspopup="true">Ausbildung <span class="caret"></span></a> 260<ul role="menu" class=" dropdown-menu"> 261 <li id="menu-item-307398" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-307398"><a title="Ausbildungsberufe A-Z" href="https://hwk-konstanz.uniplus-software.de/beruf/">Ausbildungsberufe A-Z</a></li> 262 <li id="menu-item-307396" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-307396"><a title="Die überbetriebliche Ausbildung (ÃBA)" href="https://www.bildungsakademie.de/ueba/">Die überbetriebliche Ausbildung (ÃBA)</a></li> 263 <li id="menu-item-341145" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-341145"><a title="Design Thinking in der ÃBA" href="https://www.hwk-konstanz.de/dtm/">Design Thinking in der ÃBA</a></li> 264 <li id="menu-item-307397" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-307397"><a title="Berufsorientierung in der Praxis" href="https://www.bildungsakademie.de/berufsorientierung-in-der-praxis/">Berufsorientierung in der Praxis</a></li> 265 <li id="menu-item-307399" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-307399"><a title="Berufsintegriert studieren" href="https://www.bildungsakademie.de/berufsintegriert-studieren/">Berufsintegriert studieren</a></li> 266</ul> 267</li> 268<li id="menu-item-272627" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-272627 dropdown"><a title="Service" href="#" data-toggle="dropdown" class="dropdown-toggle" aria-haspopup="true">Service <span class="caret"></span></a> 269<ul role="menu" class=" dropdown-menu"> 270 <li id="menu-item-278812" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-278812"><a title="Infoveranstaltungen Meisterkurse" href="https://www.bildungsakademie.de/meisterinfoabende/">Infoveranstaltungen Meisterkurse</a></li> 271 <li id="menu-item-278811" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-278811"><a title="Infoveranstaltungen kaufm. Kurse" href="https://www.bildungsakademie.de/infos-kaufmaennische-kurse/">Infoveranstaltungen kaufm. Kurse</a></li> 272 <li id="menu-item-278813" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-278813"><a title="Fördermöglichkeiten" href="https://www.bildungsakademie.de/foerderungen/">Fördermöglichkeiten</a></li> 273 <li id="menu-item-277383" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-277383"><a title="Karriere im Handwerk" href="https://www.bildungsakademie.de/karriere-im-handwerk/">Karriere im Handwerk</a></li> 274 <li id="menu-item-278827" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-278827"><a title="Kündigung bestehender Verträge" href="https://www.bildungsakademie.de/kuendigung/">Kündigung bestehender Verträge</a></li> 275 <li id="menu-item-308899" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-308899"><a title="Firmenseminare" href="https://www.bildungsakademie.de/firmenseminare/">Firmenseminare</a></li> 276 <li id="menu-item-312297" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-312297"><a title="Formulare und Downloads" href="https://www.bildungsakademie.de/download/">Formulare und Downloads</a></li> 277 <li id="menu-item-277384" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-277384"><a title="Zimmerer-Portal" href="https://www.bildungsakademie.de/informationen-fuer-zimmerer/">Zimmerer-Portal</a></li> 278</ul> 279</li> 280</ul> <div class="header-menu visible-xs"> 281 282 <div class="clearfix"> 283<form role="search" method="get" class="search-form" action="https://www.bildungsakademie.de/"> 284 <div class="search-bar"> 285 <div class="form-group" onclick=" 286 document.getElementById('inputSearch93528').focus(); 287 document.getElementById('inputSearch93528').select(); "> 288 <input type="search" class="form-control search-field" name="s" id="inputSearch93528" placeholder=""> 289 <label for="inputSearch">Suche </label> 290 </div> 291 <button type="submit" value="search" class="btn btn-default" aria-label="Suche "><span class="glyphicon glyphicon-suche" aria-hidden="true"></span></button> 292 </div> 293</form></div> 294 <nav> 295 <ul id="menu-02-second-1" class="nav navbar-nav header-menu-ul"><li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-277673"><a title="Leichte Sprache" href="https://www.bildungsakademie.de/leichte-sprache/">Leichte Sprache</a></li> 296<li role="presentation" class="divider"></li> 297<li class="menu-item menu-item-type-custom menu-item-object-custom current-menu-ancestor current-menu-parent menu-item-has-children menu-item-272637 active dropdown"><a title="Ãber uns" href="#" data-toggle="dropdown" class="dropdown-toggle" aria-haspopup="true">Ãber uns <span class="caret"></span></a> 298<ul role="menu" class=" dropdown-menu"> 299 <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-272638"><a title="Die Bildungsakademie" href="https://www.bildungsakademie.de/bauen-sie-mit-uns-ihre-karriere/">Die Bildungsakademie</a></li> 300 <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-277386"><a title="Unsere Dozenten" href="https://www.bildungsakademie.de/unsere-dozenten/">Unsere Dozenten</a></li> 301 <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-277387"><a title="Zertifizierung" href="https://www.bildungsakademie.de/beste-voraussetzungen-fuer-unsere-kunden/">Zertifizierung</a></li> 302 <li class="menu-item menu-item-type-post_type menu-item-object-page current-menu-item page_item page-item-305724 current_page_item menu-item-305753 active active"><a title="Förderprojekte" href="https://www.bildungsakademie.de/foerderprojekte/">Förderprojekte</a></li> 303 <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-277385"><a title="Partner" href="https://www.bildungsakademie.de/partner/">Partner</a></li> 304</ul> 305</li> 306<li role="presentation" class="divider"></li> 307<li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-307938"><a title="Karriere" href="https://www.bildungsakademie.de/karriere/">Karriere</a></li> 308<li role="presentation" class="divider"></li> 309<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-305687 dropdown"><a title="Kontakt" href="#" data-toggle="dropdown" class="dropdown-toggle" aria-haspopup="true">
309Kontakt <span class="caret"></span></a> 310<ul role="menu" class=" dropdown-menu"> 311 <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-305688"><a title="Beratung" href="https://www.bildungsakademie.de/beratung/">Beratung</a></li> 312 <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-339665"><a title="Bildungsakademie Rottweil" href="https://www.bildungsakademie.de/kontakte-ba-rottweil/">Bildungsakademie Rottweil</a></li> 313 <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-339666"><a title="Bildungsakademie Singen" href="https://www.bildungsakademie.de/kontakte-ba-singen/">Bildungsakademie Singen</a></li> 314 <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-339664"><a title="Bildungsakademie Waldshut" href="https://www.bildungsakademie.de/kontakte-ba-waldshut/">Bildungsakademie Waldshut</a></li> 315 <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-305774"><a title="Handwerkskammer Konstanz" href="https://hwk-konstanz.uniplus-software.de/oeffnungszeiten/">Handwerkskammer Konstanz</a></li> 316</ul> 317</li> 318<li role="presentation" class="divider"></li> 319<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-272639"><a title="ILIAS" href="https://ilias.bildungsakademie.de/">ILIAS</a></li> 320<li role="presentation" class="divider"></li> 321<li class="text-hidden menu-item menu-item-type-custom menu-item-object-custom menu-item-877"><a title="Facebook" href="https://www.facebook.com/bildungsakademie"><span class="glyphicon glyphicon-facebook"></span> Facebook</a></li> 322<li class="text-hidden menu-item menu-item-type-custom menu-item-object-custom menu-item-305989"><a title="Instagram" target="_blank" href="https://www.instagram.com/bildungsakademie_/"><span class="glyphicon glyphicon-instagram"></span> Instagram</a></li> 323<li role="presentation" class="divider"></li> 324</ul> <ul class="nav header-menu-ul"> 325 <li id="uni-ai-tools-language" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-home current-menu-item page_item current_page_item "></li> 326 </ul> 327 </nav> 328 329 </div> 330 331 <div id="logo-s" class="hide"><a class="navbar-brand" href="https://www.bildungsakademie.de"><span class="screen-reader">Logo</span></a><a class="search visible-xs" title="Suche" role="button" aria-label="Ãffnet die Suche" aria-describedby="searchbar"><span class="glyphicon glyphicon-suche" aria-hidden="true"></span></a></div> 332 333 </div><!-- /.navbar-collapse --> 334 335 </div><!-- /.container --> 336 </nav> 337 338 <div id="searchbar" aria-expanded="false"> 339 <div class="container"> 340 <div class="row"> 341 <div class="col col-sm-12"> 342 343<form role="search" method="get" class="search-form" action="https://www.bildungsakademie.de/"> 344 <div class="search-bar"> 345 <div class="form-group" onclick=" 346 document.getElementById('inputSearch12067').focus(); 347 document.getElementById('inputSearch12067').select(); "> 348 <input type="search" class="form-control search-field" name="s" id="inputSearch12067" placeholder=""> 349 <label for="inputSearch">Suche </label> 350 </div> 351 <button type="submit" value="search" class="btn btn-default" aria-label="Suche "><span class="glyphicon glyphicon-suche" aria-hidden="true"></span></button> 352 </div> 353</form> </div> 354 </div> 355 </div> 356 </div> 357 358 </div><!-- /.navbar --> 359 360 361 <div id="page"><!-- everything except menu --> 362 <div id="content"> 363 <div id="vue_app"> 364 365 366 <div id="header-nav-3" class="container"><!-- nav 3rd level --> 367 <div class="row"> 368 <div class="col-md-12"> 369 <div id="div-head-nav-3"> 370 <p id="head-nav-3" class="h1"></p> 371 </div> 372 <div id="nav-level-3"></div> 373 <div class="clearfix"></div> 374 <hr/> 375 </div> 376 </div> 377 </div>
377<!-- / nav 3rd level --> 378 <div class="container scroll-adjust"> 379 <div class="row"> 380 <div class="col-md-9 content"> 381 <section id="section-0"> 382 383 <div class="row new-chapter" > 384 <div id="foerderprojekte_0" class="col col-md-12 col-sm-12"><img decoding="async" data-id="305723" data-src-thumbnail="//bildungsakademie.hwk-konstanz.uniplus-software.de/wp-content/uploads/hwk-kn-zertifikatsverleihung-klimaschutzmanager_ines-janas-1-150x64.jpg" data-src-medium="//bildungsakademie.hwk-konstanz.uniplus-software.de/wp-content/uploads/hwk-kn-zertifikatsverleihung-klimaschutzmanager_ines-janas-1-768x329.jpg" data-src-medium_large="//bildungsakademie.hwk-konstanz.uniplus-software.de/wp-content/uploads/hwk-kn-zertifikatsverleihung-klimaschutzmanager_ines-janas-1-768x329.jpg" data-src-large="//bildungsakademie.hwk-konstanz.uniplus-software.de/wp-content/uploads/hwk-kn-zertifikatsverleihung-klimaschutzmanager_ines-janas-1-1024x439.jpg" data-src-small="//bildungsakademie.hwk-konstanz.uniplus-software.de/wp-content/uploads/hwk-kn-zertifikatsverleihung-klimaschutzmanager_ines-janas-1-480x206.jpg" data-src-full="//bildungsakademie.hwk-konstanz.uniplus-software.de/wp-content/uploads/hwk-kn-zertifikatsverleihung-klimaschutzmanager_ines-janas-1.jpg" src="//bildungsakademie.hwk-konstanz.uniplus-software.de/wp-content/uploads/hwk-kn-zertifikatsverleihung-klimaschutzmanager_ines-janas-1-150x64.jpg" alt="Gruppenbild der ersten Absolventen des Zertifikatslehrgangs Nachhaltigkeits- und Klimaschutzmanager/-in im Handwerk." class="img-responsive" width="150" height="64" /> 385<p class="small">Die glücklichen Absolventinnen und Absolventen des Zertifikatslehrgangs zum Nachhaltigkeits- und Klimaschutzmanager/-in im Handwerk mit ihren Zertifikaten. Foto: HWK KN / Ines Janas</p> 386<br /><br /> 387<h1>Förderprojekte</h1> 388<p>Um die Digitalisierung und Innovation in der Aus-, Fort- und Weiterbildung aktiv mitzugestalten, arbeiten die Handwerkskammer Konstanz und ihre handwerklichen Bildungsstätten mit dem Institut für KMU und Handwerk an der Allensbach Hochschule Konstanz zusammen. Dabei werden Fördermittel aus verschiedenen Förderprogrammen genutzt.</p> 389</div> </div><!-- /. row --> 390 391 <div class="row " > 392 <div id="foerderprojekte_1" class="col col-md-12 col-sm-12"><h2>Fördergeber</h2> 393<h3>Bundesministerium für Bildung, Familie, Senioren, Frauen und Jugend (BMBFSFJ)</h3> 394</div> </div><!-- /. row --> 395 396 <div class="row " > 397 <div id="foerderprojekte_2" class="col col-md-8 col-sm-8"><p>Das Projekt âDTM-Handwerkâ wird gefördert im Rahmen der âInitiative für eine exzellente überbetriebliche Ausbildung des Bundesministeriums für Bildung, Familie, Senioren, Frauen und Jugend (BMBFSFJ). INex-ÃBA wird durchgeführt vom Bundesinstitut für Berufsbildung (BIBB).</p> 398<p>Ziel der Förderung aus INex-ÃBA ist es, innovative, auf die Ausbildung bezogene Konzepte zur Gestaltung exzellenter Lehr-/Lernorte zu erproben und umzusetzen. Diese sollen insbesondere zur Qualitätssteigerung und -entwicklung der ÃBA auch unter Anwendung zukunftsorientierter Technologien und innovativen Methoden beitragen, um exzellente Bildungsarbeit zu ermöglichen. Dies dient der Erhöhung der überfachlichen Kompetenzen der Auszubildenden und erweitert das didaktische Repertoire der handwerklichen Lehrkräfte.</p> 399<p>Das Projekt âDesign Thinking als Methode in der überbetrieblichen Ausbildung im Handwerk (DTM-Handwerk)â ermöglicht es den Handwerkskammern Konstanz und Aachen, in die Einrichtung von Kreativräumen in der Beruflichen Bildungsstätte Tuttlingen und dem Bildungszentrum Simmerath der Handwerkskammer Aachen zu investieren. In diesem innovativen Lehr- und Lernort können Auszubildende aller Gewerke in mehrtägigen Workshops die Methode des Design Thinking erlernen und gewerkübergreifende Lösungen für komplexe Anforderungen entwickeln und dabei individuelle Kundenwünsche berücksichtigen. Lesen Sie mehr dazu weiter unter âGeförderte Projekteâ.</p> 400</div><div id="foerderprojekte_3" class="col col-md-4 col-sm-4"><a href="https://www.bmbfsfj.bund.de/">
400<img decoding="async" data-id="305725" data-src-thumbnail="//bildungsakademie.hwk-konstanz.uniplus-software.de/wp-content/uploads/BMBFSFJ_de_v1__DTP_CMYK-150x94.png" data-src-medium="//bildungsakademie.hwk-konstanz.uniplus-software.de/wp-content/uploads/BMBFSFJ_de_v1__DTP_CMYK-768x479.png" data-src-medium_large="//bildungsakademie.hwk-konstanz.uniplus-software.de/wp-content/uploads/BMBFSFJ_de_v1__DTP_CMYK-768x479.png" data-src-large="//bildungsakademie.hwk-konstanz.uniplus-software.de/wp-content/uploads/BMBFSFJ_de_v1__DTP_CMYK-1024x639.png" data-src-1536x1536="//bildungsakademie.hwk-konstanz.uniplus-software.de/wp-content/uploads/BMBFSFJ_de_v1__DTP_CMYK-1536x958.png" data-src-small="//bildungsakademie.hwk-konstanz.uniplus-software.de/wp-content/uploads/BMBFSFJ_de_v1__DTP_CMYK-480x299.png" data-src-full="//bildungsakademie.hwk-konstanz.uniplus-software.de/wp-content/uploads/BMBFSFJ_de_v1__DTP_CMYK-1600x998.png" title="" src="//bildungsakademie.hwk-konstanz.uniplus-software.de/wp-content/uploads/BMBFSFJ_de_v1__DTP_CMYK-150x94.png" alt="Logo: BMBFSFJ" class="img-responsive" /></a> 401<a href="https://www.bibb.de/"><img decoding="async" data-id="305726" data-src-thumbnail="//bildungsakademie.hwk-konstanz.uniplus-software.de/wp-content/uploads/BIBB-Logo_DE-150x50.jpg" data-src-medium="//bildungsakademie.hwk-konstanz.uniplus-software.de/wp-content/uploads/BIBB-Logo_DE-768x256.jpg" data-src-medium_large="//bildungsakademie.hwk-konstanz.uniplus-software.de/wp-content/uploads/BIBB-Logo_DE-768x256.jpg" data-src-large="//bildungsakademie.hwk-konstanz.uniplus-software.de/wp-content/uploads/BIBB-Logo_DE-1024x341.jpg" data-src-1536x1536="//bildungsakademie.hwk-konstanz.uniplus-software.de/wp-content/uploads/BIBB-Logo_DE-1536x512.jpg" data-src-2048x2048="//bildungsakademie.hwk-konstanz.uniplus-software.de/wp-content/uploads/BIBB-Logo_DE-2048x683.jpg" data-src-small="//bildungsakademie.hwk-konstanz.uniplus-software.de/wp-content/uploads/BIBB-Logo_DE-480x160.jpg" data-src-full="//bildungsakademie.hwk-konstanz.uniplus-software.de/wp-content/uploads/BIBB-Logo_DE-1600x533.jpg" title="" src="//bildungsakademie.hwk-konstanz.uniplus-software.de/wp-content/uploads/BIBB-Logo_DE-150x50.jpg" alt="Logo: BiBB" class="img-responsive" /></a> 402<a href="http://www.bibb.de/uebs"><img decoding="async" data-id="337904" data-src-thumbnail="//www.bildungsakademie.de/wp-content/uploads/Wort-Bild-Marke_UeBS_final_mit-Schutzzone-150x131.png" data-src-medium="//www.bildungsakademie.de/wp-content/uploads/Wort-Bild-Marke_UeBS_final_mit-Schutzzone-768x672.png" data-src-medium_large="//www.bildungsakademie.de/wp-content/uploads/Wort-Bild-Marke_UeBS_final_mit-Schutzzone-768x672.png" data-src-large="//www.bildungsakademie.de/wp-content/uploads/Wort-Bild-Marke_UeBS_final_mit-Schutzzone-1024x896.png" data-src-1536x1536="//www.bildungsakademie.de/wp-content/uploads/Wort-Bild-Marke_UeBS_final_mit-Schutzzone-1536x1345.png" data-src-2048x2048="//www.bildungsakademie.de/wp-content/uploads/Wort-Bild-Marke_UeBS_final_mit-Schutzzone-2048x1793.png" data-src-small="//www.bildungsakademie.de/wp-content/uploads/Wort-Bild-Marke_UeBS_final_mit-Schutzzone-480x420.png" data-src-full="//www.bildungsakademie.de/wp-content/uploads/Wort-Bild-Marke_UeBS_final_mit-Schutzzone-1600x1401.png" title="" src="//www.bildungsakademie.de/wp-content/uploads/Wort-Bild-Marke_UeBS_final_mit-Schutzzone-150x131.png" alt="Logo: Wort-Bild-Marke ÃBS" class="img-responsive" /></a> 403</div><div class="clearfix visible-sm visible-md visible-lg"></div> </div><!-- /. row --> 404 405 <div class="row " > 406 <div id="foerderprojekte_4" class="col col-md-12 col-sm-12"><h3>Wirtschaftsministerium Baden-Württemberg</h3> 407</div> </div><!-- /. row --> 408 409 <div class="row " > 410 <div id="foerderprojekte_5" class="col col-md-8 col-sm-8"><p>Das Ministerium für Wirtschaft, Handwerk und Tourismus Baden-Württemberg fördert die Handwerkskammer Konstanz und ihre handwerklichen Bildungsstätten in Projekten zur Digitalisierung in der beruflichen Aus-, Fort- und Weiterbildung. Hierbei kooperiert die Handwerkskammer Konstanz mit dem Institut für KMU und Handwerk an der Allensbach Hochschule Konstanz, um wissenschaftliche Erkenntnis und betriebliche Praxis miteinander zu verzahnen. Ziel ist, die Entwicklungen in der Digitalisierung in der Bildung auf die Bedürfnisse und Rahmenbedingungen der handwerklichen Aus-, Fort- und Weiterbildung anzupassen und zu optimieren. Ein besonderer Schwerpunkt liegt auf der Erarbeitung, Erprobung und Weiterentwicklung von methodisch-didaktischen Konzepten, die auf die Zielgruppe Handwerk zugeschnitten sind.</p> 411</div><div id="foerderprojekte_6" class="col col-md-4 col-sm-4"><a href="https://wm.baden-wuerttemberg.de/de/startseite">
411<img decoding="async" data-id="336395" data-src-thumbnail="//www.bildungsakademie.de/wp-content/uploads/BaWue_Logo_rgb_pos_gefoerdert_freigestellt-150x22.png" data-src-medium="//www.bildungsakademie.de/wp-content/uploads/BaWue_Logo_rgb_pos_gefoerdert_freigestellt-768x111.png" data-src-medium_large="//www.bildungsakademie.de/wp-content/uploads/BaWue_Logo_rgb_pos_gefoerdert_freigestellt-768x111.png" data-src-large="//www.bildungsakademie.de/wp-content/uploads/BaWue_Logo_rgb_pos_gefoerdert_freigestellt-1024x147.png" data-src-1536x1536="//www.bildungsakademie.de/wp-content/uploads/BaWue_Logo_rgb_pos_gefoerdert_freigestellt-1536x221.png" data-src-2048x2048="//www.bildungsakademie.de/wp-content/uploads/BaWue_Logo_rgb_pos_gefoerdert_freigestellt-2048x295.png" data-src-small="//www.bildungsakademie.de/wp-content/uploads/BaWue_Logo_rgb_pos_gefoerdert_freigestellt-480x69.png" data-src-full="//www.bildungsakademie.de/wp-content/uploads/BaWue_Logo_rgb_pos_gefoerdert_freigestellt-1600x230.png" title="" src="//www.bildungsakademie.de/wp-content/uploads/BaWue_Logo_rgb_pos_gefoerdert_freigestellt-150x22.png" alt="Logo des Ministeriums für Wirtschaft, Handwerk und Tourismus (2026)" class="img-responsive" /></a> 412</div><div class="clearfix visible-sm visible-md visible-lg"></div> </div><!-- /. row --> 413 414 <div class="row " > 415 <div id="foerderprojekte_7" class="col col-md-12 col-sm-12"><h3>Baden-Württemberg Stiftung gGmbH / Klimaschutzstiftung Baden-Württemberg</h3> 416</div> </div><!-- /. row --> 417 418 <div class="row " > 419 <div id="foerderprojekte_8" class="col col-md-8 col-sm-8"><p>Die Baden-Württemberg Stiftung gGmbH mit ihrer Unterstiftung Klimaschutzstiftung Baden-Württemberg fördern die Handwerkskammer Konstanz in einem Projekt zur Entwicklung eines âZertifikatslehrgangs Nachhaltigkeits- und Klimaschutzmanager/in im Handwerkâ. Hierbei beauftragt die Handwerkskammer Konstanz das Institut für KMU und Handwerk an der Allensbach Hochschule Konstanz zur Mitarbeit in dem Projekt, um wissenschaftliche Erkenntnis und betriebliche Praxis miteinander zu verzahnen. Ziel ist die Entwicklung eines Zertifikatslehrgangs für Nachhaltigkeits- und Klimaschutzmanagement, welcher speziell auf die Bedürfnisse und Rahmenbedingungen im Handwerk zugeschnitten ist. Der Zertifikatslehrgang wird im Blended Learning-Format entwickelt, um der Arbeitsrealität der Betriebsinhaber/innen und Führungskräfte aus dem Handwerk gerecht zu werden.</p> 420</div><div id="foerderprojekte_9" class="col col-md-4 col-sm-4"><a href="https://www.klimaschutzstiftung-bw.de/de/"><img decoding="async" data-id="305730" data-src-thumbnail="//bildungsakademie.hwk-konstanz.uniplus-software.de/wp-content/uploads/KSS_logo-150x71.png" data-src-medium="//bildungsakademie.hwk-konstanz.uniplus-software.de/wp-content/uploads/KSS_logo-768x363.png" data-src-medium_large="//bildungsakademie.hwk-konstanz.uniplus-software.de/wp-content/uploads/KSS_logo-768x363.png" data-src-large="//bildungsakademie.hwk-konstanz.uniplus-software.de/wp-content/uploads/KSS_logo-1024x484.png" data-src-small="//bildungsakademie.hwk-konstanz.uniplus-software.de/wp-content/uploads/KSS_logo-480x227.png" data-src-full="//bildungsakademie.hwk-konstanz.uniplus-software.de/wp-content/uploads/KSS_logo.png" title="" src="//bildungsakademie.hwk-konstanz.uniplus-software.de/wp-content/uploads/KSS_logo-150x71.png" alt="" class="img-responsive" /></a> 421</div><div class="clearfix visible-sm visible-md visible-lg"></div> </div><!-- /. row --> 422 </section> 423 <section id="section-1"> 424 425 <div class="row new-chapter" > 426 <div id="foerderprojekte_10" class="col col-md-12 col-sm-12"><h2>Geförderte Projekte</h2> 427<h3>âDesign Thinking als Methode in der überbetrieblichen Ausbildung im Handwerk (DTM-Handwerk)â</h3> 428</div> </div><!-- /. row --> 429 430 <div class="row " > 431 <div id="foerderprojekte_11" class="col col-md-8 col-sm-8"><p><strong>Fördergeber:</strong> Bundesministerium für Bildung, Familie, Senioren, Frauen und Jugend (BMBFSFJ)/ Durchführung Bundesinstitut für Berufsbildung (BIBB)</p> 432<p><strong>Förderprogramm:</strong> âInitiative für eine exzellente überbetriebliche Ausbildung (INex-ÃBA)â</p> 433<p><strong>Projekttitel:</strong> Design Thinking als Methode in der überbetrieblichen Ausbildung im Handwerk (DTM-Handwerk)</p> 434<p><strong>Verbundprojektpartner:</strong> Berufliche Bildungsstätte Tuttlingen GmbH und Handwerkskammer Aachen</p> 435<p><strong>Projektlaufzeit:</strong> 01.10.2025 â 30.09.2028</p> 436<p><strong>Ausgangssituation und Projektziel:</strong></p> 437<p>Der wirtschaftliche Erfolg eines Unternehmens, Produkts oder einer Dienstleistung wird zunehmend durch die Gestaltungskompetenz der Akteure innerhalb des Unternehmens beeinflusst. Mit wachsender Bedeutung von Design als strategischem Faktor erkennen Unternehmen, dass der Erfolg nicht nur auf technischen Innovationen beruht, sondern auch auf einer starken Gestaltungskompetenz, die sowohl die Funktionalität als auch die Ãsthetik und Benutzerfreundlichkeit umfasst. Design Thinking ist eine lösungsorientierte, gewerkunabhängige professionelle Innovationsmethode, die dabei unterstützt, unter Anwendung von unterschiedlichen Kreativitätstechniken und technologischen Anwendungen, Prozesse effizienter zu gestalten, neue Ideen zu kreieren und innovative Produkte und Lösungen hervorzubringen. Sie versteht sich als Werkzeugkasten, den jeder, auch ohne besondere Begabung für Kreativität, anwenden kann. Durch die Einrichtung der Kreativräume in den beiden Bildungsstätten Tuttlingen (BW) und Simmerath (NRW) wollen wir an zwei Standorten einen inspirierenden Raum für Auszubildende schaffen, die Design Thinking Methode zu erlernen und auf konkrete Projekte anzuwenden. Geschult und betreut werden die Teilnehmenden von Lehrmeisterinnen und Lehrmeister und Ausbilderinnen und Ausbilder aus der Region Baden-Württemberg und dem Kammergebiet Aachen, die von professionellen Trainern und Coaches der Akademie für Handwerksdesign Gut Rosenberg in der Vermittlung der Design Thinking Methode geschult wurden. Die Kurse für die Auszubildenden finden als freiwillige Zusatzkurse im Rahmen ihrer ÃBA statt. Folgen Sie der Projektwebseite (derzeit noch im Aufbau), um die Angebote und Aktivitäten im Projekt zu verfolgen.</p> 438<p><strong>Umsetzung:</strong></p> 439<ul> 440<li><span>Einrichtung von Kreativräumen in der BBT Tuttlingen und dem BGZ Simmerath</span></li> 441<li><span>Schulungskonzept für DTM-Kurse für Azubis im Handwerk</span></li> 442<li><span>Schulungskonzept für die Ausbildung von Trainern zur Vermittlung der DTM im Handwerk</span></li> 443<li><span>Nutzungskonzept für die Kreativräume</span></li> 444<li><span>Ausgearbeitete Transferstrategie und Marketingkampagne für die Integration der DTM in die Regel-ÃBA</span></li> 445<li><span>Ausgelastete Kreativräume</span></li> 446</ul> 447</div><div id="foerderprojekte_12" class="col col-md-4 col-sm-4"> <div class="teaser-tile teaser-box uni-kachel "> 448 449 450 451 <div class="pt-3"></div> 452 <div class="teaser-text"> 453 <h3 class="h4 teaser-title"> 454 Externer Projektpartner </h3> 455 <div class="teaser-content"><p><a href="https://www.allensbach-hochschule.de/hochschule/institut-kmu-handwerk/">Institut für KMU und Handwerk an der Allensbach Hochschule Konstanz</a><br /> 456Prof. Dr. Jürgen Wagenmann</p> 457<p>Wissenschaftliche Begleitung, Konzepterstellung, Evaluationen.</p> 458</div> 459 </div> 460 <div class="teaser-url-chevron">
461 <span class=""><i class="fas fa-chevron-right"></i></span> 462 </div> 463 464 </div> 465 466</div><div class="clearfix visible-sm visible-md visible-lg"></div> </div><!-- /. row --> 467 </section> 468 <section id="section-2"> 469 470 <div class="row new-chapter" > 471 <div id="foerderprojekte_13" class="col col-md-12 col-sm-12"><h3>Zertifikatslehrgang Nachhaltigkeits- und Klimaschutzmanager/in im Handwerk</h3> 472</div> </div><!-- /. row --> 473 474 <div class="row " > 475 <div id="foerderprojekte_14" class="col col-md-8 col-sm-8"><p><strong>Fördergeber:</strong> Baden-Württemberg Stiftung gGmbH / Klimaschutzstiftung Baden-Württemberg</p> 476<p><strong>Förderprogramm:</strong> âKlimaschutz in der beruflichen Bildungâ, ein Programm der Klimaschutzstiftung Baden-Württemberg</p> 477<p><strong>Projekttitel:</strong> Zertifikatslehrgang Nachhaltigkeits- und Klimaschutzmanager/in im Handwerk</p> 478<p><strong>Projektlaufzeit:</strong> 01.05.2023 â 30.04.2025</p> 479<p><strong>Ausgangssituation und Projektziel:</strong></p> 480<p>Der Megatrend Neo-Ãkologie (Umwelt- und Klimaschutz/ Nachhaltigkeit) ist einer der mächtigsten Megatrends unserer Zeit. Nachhaltiges Handeln ist im Handwerk traditionell verankert, wird aber oftmals als solches nicht wahrgenommen. Die Nachhaltigkeit handwerklicher Tätigkeiten entwickelt sich zu einem bedeutenden Wettbewerbsvorteil und wirkt mittel- und langfristig kostensenkend für Betriebe und Kunden. Durch die Weiterbildung soll ein allgemeines Verständnis der ökologischen Dimension der Nachhaltigkeit geschaffen und ein methodisches Instrumentarium vermittelt werden, ökologische Nachhaltigkeitsaspekte und Klimaschutz speziell für Handwerksbetriebe zu definieren und messbar zu machen. Nach der Weiterbildung sind die Teilnehmer/innen Experten in ökologischer Nachhaltigkeit und in der Lage, ein Innovationsmanagement für Nachhaltigkeit und Klimaschutz in ihrem Handwerksbetrieb einzurichten und anzuwenden. Die Teilnehmer/innen kennen die relevanten Daten in ihren Betrieben und können diese erheben, sie können daraus die relevanten Kennzahlen errechnen, sie können einen ökologischen Nachhaltigkeitsbericht auf einfachem Niveau erstellen und sind in der Lage, die ökologischen NachhaltigkeitsmaÃnahmen in ihren Betrieben zu überwachen (Monitoring), langfristig am Laufen zu halten und sukzessive zu verbessern.</p> 481<p><strong>Umsetzung:</strong></p> 482<ul> 483<li><span>Definition der speziell für das Handwerk relevanten Nachhaltigkeits- und Klimaschutzaspekte</span></li> 484<li><span>Identifikation von Gewerken, welche hinsichtlich ökologischer Nachhaltigkeit vor vergleichbaren Rahmenbedingungen und Herausforderungen stehen (Clusterbildung)</span></li> 485<li><span>Entwicklung eines modularen Blended Learning-Formats mit Online-Selbstlernmodulen, Live-Online-Seminaren und Präsenzworkshops</span></li> 486<li><span>Entwicklung der Curricula für die einzelnen Module</span></li> 487<li><span>Pilotdurchlauf, Zwischen- und Schlussevaluation</span></li> 488</ul> 489</div><div id="foerderprojekte_15" class="col col-md-4 col-sm-4"> <div class="teaser-tile teaser-box uni-kachel "> 490 491 492 493 <div class="pt-3"></div> 494 <div class="teaser-text"> 495 <h3 class="h4 teaser-title"> 496 Externer Projektpartner </h3> 497 <div class="teaser-content"><p><a href="https://www.allensbach-hochschule.de/hochschule/institut-kmu-handwerk/">Institut für KMU und Handwerk an der Allensbach Hochschule Konstanz</a><br /> 498Prof. Dr. Jürgen Wagenmann</p> 499<p>Methodisch-didaktisches Konzept, Curricula, Umsetzungsunterstützung, Zwischen- und Schlussevaluation</p> 500</div> 501 </div> 502 <div class="teaser-url-chevron">
503 <span class=""><i class="fas fa-chevron-right"></i></span> 504 </div> 505 506 </div> 507 508</div><div class="clearfix visible-sm visible-md visible-lg"></div> </div><!-- /. row --> 509 </section> 510 <section id="section-3"> 511 512 <div class="row new-chapter" > 513 <div id="foerderprojekte_16" class="col col-md-12 col-sm-12"><h3>ÃBA/ÃLU Lernkonzeption präsent, digital und nachhaltig</h3> 514</div> </div><!-- /. row --> 515 516 <div class="row " > 517 <div id="foerderprojekte_17" class="col col-md-8 col-sm-8"><p><strong>Fördergeber:</strong> Ministerium für Wirtschaft, Arbeit und Tourismus Baden-Württemberg</p> 518<p><strong>Förderaufruf:</strong> Berufsausbildung 4.0 â Innovationen in der digitalen Beruflichen Orientierung und in der digitalen überbetrieblichen Berufsausbildung</p> 519<p><strong>Projekttitel:</strong> ÃBA/ÃLU Lernkonzeption präsent, digital und nachhaltig</p> 520<p><strong>Projektlaufzeit:</strong> 01.01.2022 â 31.05.2023</p> 521<p><strong>Ausgangssituation und Projektziel:</strong></p> 522<p>Wie stelle ich ein Verlängerungskabel her? Was habe ich beim Ein- oder Ausschalten eines CNC-gesteuerten Bearbeitungszentrums zu beachten? Wie mache ich einen Brettriss? Was habe ich beim Umgang mit handgeführtem Elektrowerkzeug nochmals zu beachten? Fragen, die sich die Auszubildenden immer wieder stellen. Fragen, zu denen sie bereits in der vorherigen ÃLU eine Unterweisung erhalten haben, aber nicht mehr genau wissen, was sie tun sollen. Dieses einfache und notwendige Wissen soll über kurze Tutorials konserviert werden, sodass die Auszubildenden jederzeit nochmals darauf zurückgreifen können. Die Tutorials werden insgesamt durch Bild, Ton und Text zu einem multifunktionalen Lernkanal-Modul angereichert.</p> 523<p><strong>Umsetzung:</strong></p> 524<ul> 525<li><span>Produktion selbstgedrehter Erklärvideos durch die handwerklichen Lehrkräfte für die Berufsorientierung und den ÃBA-Unterricht mit professioneller Nachbearbeitung durch einen Dienstleister für digitale Lernmedien</span></li> 526<li><span>Bereitstellung professioneller Tutorials auf einer digitalen Wissensplattform für das Handwerk</span></li> 527<li><span>Nutzung der Tutorials für die Mitgliedsbetriebe der HWK Konstanz</span></li> 528</ul> 529</div><div id="foerderprojekte_18" class="col col-md-4 col-sm-4"> <div class="teaser-tile teaser-box uni-kachel "> 530 531 532 533 <div class="pt-3"></div> 534 <div class="teaser-text"> 535 <h3 class="h4 teaser-title"> 536 Externe Projektpartner </h3> 537 <div class="teaser-content"><p><a href="https://www.allensbach-hochschule.de/hochschule/institut-kmu-handwerk/">Institut für KMU und Handwerk an der Allensbach Hochschule Konstanz</a><br /> 538Prof. Dr. Jürgen Wagenmann</p> 539<p>Methodisch-didaktisches Konzept, Zwischen- und Schlussevaluation</p> 540<p><a href="https://de.craftguide.com/">craftguide GmbH, München</a></p> 541<p>Verarbeitung des von den Lehrkräften selbsterstellten Video-Rohmaterials zu professionellen Erklärvideos</p> 542</div> 543 </div> 544 <div class="teaser-url-chevron"> 545 <span class=""><i class="fas fa-chevron-right"></i></span> 546 </div> 547 548 </div> 549 550</div><div class="clearfix visible-sm visible-md visible-lg"></div> </div><!-- /. row --> 551 </section> 552 <section id="section-4"> 553 554 <div class="row new-chapter" > 555 <div id="foerderprojekte_19" class="col col-md-12 col-sm-12"><h3>Niederschwellige digitale Lernmedienentwicklung mit Bordmitteln</h3> 556</div> </div><!-- /. row --> 557 558 <div class="row " > 559 <div id="foerderprojekte_20" class="col col-md-8 col-sm-8"><p><strong>Fördergeber:</strong> Ministerium für Wirtschaft, Arbeit und Wohnungsbau Baden-Württemberg</p> 560<p><strong>Förderaufruf:</strong> ZukunftsKompetenzen@bw</p> 561<p><strong>Projekttitel:</strong> Niederschwellige digitale Lernmedienentwicklung mit Bordmitteln</p> 562<p><strong>Projektlaufzeit:</strong> 01.12.2020 â 31.05.2024</p> 563<p><strong>Ausgangssituation und Projektziele:</strong></p> 564<p>Während bei der Produktion der ersten visuellen und gamifizierten Lernmedien in de
564n vorangegangenen Digitalisierungsprojekten groÃen Wert auf eine hochwertige technische Ausstattung und eine professionelle Erscheinung gelegt und auch auf externe Unterstützung bei der Fertigstellung der Medien gesetzt wurde, verfolgen wir mit diesem Projekt das Ziel, mit vorhandener Hardware (z.B. Smartphone und Laptop) und vorhandener Software (z.B. Office-Programme, Windows-Apps, ILIAS) Erklärvideos, animierte Tutorials und Quiz / Lernstandskontrollen / Online-Tests für den eigenen Werkstattunterricht zu produzieren. Die Lehrkräfte sollen befähigt werden, Lehrvideos, Tutorials und Quizze zu erstellen und als standardmäÃige Instrumente in das didaktische Repertoire ihrer Unterrichtsgestaltung einzubinden.</p> 565<p><strong>Umsetzung:</strong></p> 566<ul> 567<li><span>Produktion von selbstgedrehten Erklärvideos, animierten Tutorials und Quiz / Lernstandskontrollen / Online-Tests für den eigenen Werkstattunterricht mit Bordmitteln</span></li> 568<li><span>Entwicklung eines Schulungsangebots zur niederschwelligen Erstellung digitaler Lernmedien für den Einsatz im Werkstattunterricht</span></li> 569<li><span>Schulung der handwerklichen Lehrkräfte sowohl in Gruppenseminaren als auch in Individualcoachings</span></li> 570</ul> 571</div><div id="foerderprojekte_21" class="col col-md-4 col-sm-4"> <div class="teaser-tile teaser-box uni-kachel "> 572 573 574 575 <div class="pt-3"></div> 576 <div class="teaser-text"> 577 <h3 class="h4 teaser-title"> 578 Externe Projektpartner </h3> 579 <div class="teaser-content"><p><a href="https://www.allensbach-hochschule.de/hochschule/institut-kmu-handwerk/">Institut für KMU und Handwerk an der Allensbach Hochschule Konstanz</a><br /> 580Prof. Dr. Jürgen Wagenmann</p> 581<p>Methodisch-didaktisches Konzept, <span>Curricula, Umsetzungsunterstützung, Zwischen- und Schlussevaluation</span></p> 582<p><a href="https://zwh.de/">ZWH Zentralstelle für die Weiterbildung im Handwerk, Düsseldorf</a></p> 583<p>Durchführung eines GroÃteils der Gruppenseminare und des Individualcoachings</p> 584</div> 585 </div> 586 <div class="teaser-url-chevron"> 587 <span class=""><i class="fas fa-chevron-right"></i></span> 588 </div> 589 590 </div> 591 592</div><div class="clearfix visible-sm visible-md visible-lg"></div> </div><!-- /. row --> 593 </section> 594 <section id="section-5"> 595 596 <div class="row new-chapter" > 597 <div id="foerderprojekte_22" class="col col-md-12 col-sm-12"><h3>New Work: Der Einfluss von Megatrends und Geschäftsmodellinnovationen auf die Arbeit im Handwerk der Zukunft â konkretisiert am Schreinerhandwerk und mit Handlungsempfehlungen für Betriebe, Handwerksorganisation und Politik</h3> 598</div> </div><!-- /. row --> 599 600 <div class="row " > 601 <div id="foerderprojekte_23" class="col col-md-8 col-sm-8"><p><strong>Fördergeber:</strong> Ministerium für Wirtschaft, Arbeit und Wohnungsbau Baden-Württemberg</p> 602<p><strong>Förderaufruf:</strong> Zukunftsinitiative Handwerk 2025 (jetzt: Horizont Handwerk)</p> 603<p><strong>Projekttitel:</strong> Modellprojekt-Studie âNew Work: Der Einfluss von Megatrends und Geschäftsmodellinnovationen auf die Arbeit im Handwerk der Zukunft â konkretisiert am Schreinerhandwerk und mit Handlungsempfehlungen für Betriebe, Handwerksorganisation und Politikâ</p> 604<p><strong>Projektlaufzeit:</strong> 15.12.2020 â 28.02.2022</p> 605<p><strong>Ausgangssituation und Projektziele:</strong></p> 606<p>Technische Innovationen und der gesellschaftliche Wandel beeinflussen nicht nur Produkte und Dienstleistungen, sondern ganz massiv auch die Arbeit im Handwerk. Viele insbesondere Handwerks-Kleinstbetriebe haben diese zukünftigen Herausforderungen entweder noch nicht auf dem Radar oder begreifen den Veränderungsdruck eher als Bedrohung. Mit der Modellprojekt-Studie sollten Zukunftsszenarien entwickelt bzw. Antworten gefunden werden, welche aktuellen und zukünftigen Herausforderungen sich aus den Megatrends für die Mitgliedsbetriebe der Handwerkskammer Konstanz ergeben, inwieweit die Mitgliedsbetriebe diese Herausforderungen meistern können und ob die Handwerkskammer Konstanz und die gesamte Handwerksorganisation für die zukünftigen Herausforderungen gut aufgestellt sind. Aus den Analysen sollten anschlieÃend DenkanstöÃe und Handlungsempfehlungen für die Handwerksbetriebe, die Handwerkskammer Konstanz, die Handwerksorganisation allgemein sowie die Politik abgeleitet werden.</p> 607<p><strong>Umsetzung:</strong></p> 608<ul> 609<li><span>Erforschung des Einflusses von Megatrends und der dadurch induzierten Geschäftsmodellinnovationen auf das Handwerk der Zukunft und Identifikation der Herausforderungen und Chancen. Hierbei wurden sowohl allgemein zugängliche Informationsquellen herangezogen als auch drei Ganztages-Workshops mit Schreinerbetrieben aus dem eigenen und benachbarten Kammerbezirken durchgeführt, um Erfahrungen der Handwerksbetriebe einflieÃen zu lassen und Lösungsvorschläge zusammen mit der Praxis zu erarbeiten.</span></li> 610<li><span>Analyse ausgewählter Geschäftsmodellinnovationen aus Industrie und Handel und deren Ãbertragbarkeit auf das Schreinerhandwerk bzw. das Handwerk allgemein.</span></li> 611<li><span>Entwicklung von realistischen Zukunftsszenarien für das Schreinerhandwerk.</span></li> 612<li><span>Kritische Analyse der heutigen deutschen Handwerksorganisation mit Adressierung der historisch gewac
612hsenen Ineffizienzen und Verkrustungen.</span></li> 613<li><span>Formulierung von DenkanstöÃen und Handlungsempfehlungen für Handwerksbetriebe, für die Handwerkskammer Konstanz, die gesamte Handwerksorganisation und die Politik.</span></li> 614</ul> 615</div><div id="foerderprojekte_24" class="col col-md-4 col-sm-4"> <div class="teaser-tile teaser-box uni-kachel "> 616 617 618 619 <div class="pt-3"></div> 620 <div class="teaser-text"> 621 <h3 class="h4 teaser-title"> 622 Externe Projektpartner </h3> 623 <div class="teaser-content"><p><a href="https://horizont-handwerk.de/">Horizont Handwerk</a></p> 624<p><a href="https://www.allensbach-hochschule.de/hochschule/institut-kmu-handwerk/">Institut für KMU und Handwerk an der Allensbach Hochschule Konstanz</a><br /> 625Prof. Dr. Jürgen Wagenmann</p> 626<p><span>Wissenschaftliche Leitung, Konzeption der Studie, Co-Autor</span></p> 627<p><a href="https://zwh.de/">ZWH Zentralstelle für die Weiterbildung im Handwerk, Düsseldorf</a></p> 628<p>Download der Studie</p> 629</div> 630 </div> 631 <div class="teaser-url-chevron"> 632 <span class=""><i class="fas fa-chevron-right"></i></span> 633 </div> 634 635 </div> 636 637</div><div class="clearfix visible-sm visible-md visible-lg"></div> </div><!-- /. row --> 638 </section> 639 <section id="section-6"> 640 641 <div class="row new-chapter" > 642 <div id="foerderprojekte_25" class="col col-md-12 col-sm-12"><h3>Digitalisierung und vernetztes Lernen in der Ãberbetrieblichen Ausbildung (ÃBA) im Handwerk</h3> 643</div> </div><!-- /. row --> 644 645 <div class="row " > 646 <div id="foerderprojekte_26" class="col col-md-8 col-sm-8"><p><strong>Fördergeber:</strong> Ministerium für Wirtschaft, Arbeit und Wohnungsbau Baden-Württemberg</p> 647<p><strong>Förderaufruf:</strong> Digitalisierung und berufliche Ausbildung</p> 648<p><strong>Projekttitel:</strong> Digitalisierung und vernetztes Lernen in der Ãberbetrieblichen Ausbildung (ÃBA) im Handwerk</p> 649<p><strong>Projektlaufzeit:</strong> 01.06.2018 â 31.05.2021</p> 650<p><strong>Ausgangssituation und Projektziele:</strong></p> 651<p>Anschlussprojekt an das vorherige Projekt „Digitalisierung und berufliche Weiterbildung“. Das mit dem vorherigen Projekt eingeführte Lernmanagementsystem ILIAS wurde auf die Ãberbetriebliche Ausbildung im Handwerk (ÃBA) erweitert. Hierbei musste die Zielgruppe der in der Regel jugendlichen Teilnehmer sowie die starke fachpraktische Orientierung des Werkstattunterrichts besondere Beachtung finden. Pro Bildungshaus der Handwerkskammer Konstanz wurden jeweils zwei Gewerke in der ÃBA vollständig digital abgebildet.</p> 652<p><strong>Umsetzung:</strong></p> 653<ul> 654<li><span>Blended-Learning-Angebote in der Ãberbetrieblichen Ausbildung (ÃBA) in den Bildungsakademien Rottweil, Singen und Waldshut: Erweiterung des Lernmanagementsystems (LMS) ILIAS auf den Bereich der ÃBA, Digitalisierung der Lernunterlagen, Integration von selbsterstellten und fremdproduzierten Erklärvideo-Sequenzen zu ausgewählten Themen in den Unterricht, Erstellung von Online-Lernstandskontrollen und Online-Tests.</span></li> 655</ul> 656</div><div id="foerderprojekte_27" class="col col-md-4 col-sm-4"> <div class="teaser-tile teaser-box uni-kachel "> 657 658 659 660 <div class="pt-3"></div> 661 <div class="teaser-text"> 662 <h3 class="h4 teaser-title"> 663 Externer Projektpartner </h3> 664 <div class="teaser-content"><p><a href="https://www.allensbach-hochschule.de/hochschule/institut-kmu-handwerk/">Institut für KMU und Handwerk an der Allensbach Hochschule Konstanz</a><br /> 665Prof. Dr. Jürgen Wagenmann</p> 666<p><span>Methodisch-didaktisches Konzept, Umsetzungsunterstützung, Zwischen- und Schlussevaluation</span></p> 667</div> 668 </div> 669 <div class="teaser-url-chevron">
670 <span class=""><i class="fas fa-chevron-right"></i></span> 671 </div> 672 673 </div> 674 675</div><div class="clearfix visible-sm visible-md visible-lg"></div> </div><!-- /. row --> 676 </section> 677 <section id="section-7"> 678 679 <div class="row new-chapter" > 680 <div id="foerderprojekte_28" class="col col-md-12 col-sm-12"><h3>Digitalisierung und vernetztes Lernen in der dualen beruflichen Weiterbildung im Handwerk</h3> 681</div> </div><!-- /. row --> 682 683 <div class="row margin-bottom-m" > 684 <div id="foerderprojekte_29" class="col col-md-8 col-sm-8"><p><strong>Fördergeber:</strong> Ministerium für Wirtschaft, Arbeit und Wohnungsbau Baden-Württemberg</p> 685<p><strong>Förderaufruf:</strong> Digitalisierung und berufliche Weiterbildung</p> 686<p><strong>Projekttitel:</strong> Digitalisierung und vernetztes Lernen in der dualen beruflichen Weiterbildung im Handwerk</p> 687<p><strong>Projektlaufzeit:</strong> 18.04.2017 â 17.10.2019</p> 688<p><strong>Ausgangssituation und Projektziele:</strong></p> 689<p>Die Digitalisierung als vierte industrielle Revolution transformiert unsere Wirtschaft und die Gesellschaft. Daraus ergibt sich, dass auch die duale berufliche Weiterbildung im Handwerk stärker an die âGeneration Internetâ angepasst und die Bildungsteilnehmer besser auf die zunehmende Digitalisierung der Arbeitswelt im Handwerk trainiert werden müssen. Ausnahmslos alle Handwerksberufe erfordern mehr und mehr digitale Kompetenzen.</p> 690<p>Neben der digitalen Transformation des Lernumfeldes und der zukunftsorientierten Weiterbildung im Handwerk sollten mit dem vorliegenden Projektvorhaben auch Kosteneinsparpotenzial gehoben und eine Organisationserleichterung für die Bildungsakademien der Handwerkskammer Konstanz geschaffen werden. Mit dem Projektvorhaben wurde eine Online-Lern- und Kommunikationsplattform auf der Basis ILIAS für die spezifischen Anforderungen in der Weiterbildung (insbesondere Meistervorbereitung, Weiterbildungsprogramme) im Handwerk aufgebaut. Hierbei musste die Zielgruppe der erwachsenen Teilnehmer mit Berufserfahrung sowie die kombiniert fachpraktische, fachtheoretische und betriebswirtschaftliche Orientierung der Meistervorbereitung besondere Beachtung finden. Pro Bildungshaus der Handwerkskammer Konstanz wurden jeweils zwei Gewerke vollständig digital abgebildet.</p> 691<p><strong>Umsetzung:</strong></p> 692<ul> 693<li><span>Blended-Learning-Angebote in der Meistervorbereitung (MV) in den Bildungsakademien Rottweil, Singen und Waldshut: Einführung des Lernmanagementsystems (LMS) ILIAS und erste Befüllung im Bereich MV, Digitalisierung der Lernunterlagen, Integration von selbsterstellten und fremdproduzierten Erklärvideo-Sequenzen zu ausgewählten Themen in den Unterricht, Erstellung von Online-Lernstandskontrollen</span></li> 694</ul> 695</div><div id="foerderprojekte_30" class="col col-md-4 col-sm-4"> <div class="teaser-tile teaser-box uni-kachel "> 696 697 698 699 <div class="pt-3"></div> 700 <div class="teaser-text"> 701 <h3 class="h4 teaser-title"> 702 Externer Projektpartner </h3> 703 <div class="teaser-content"><p><a href="https://www.allensbach-hochschule.de/hochschule/institut-kmu-handwerk/">Institut für KMU und Handwerk an der Allensbach Hochschule Konstanz</a><br /> 704Prof. Dr. Jürgen Wagenmann</p> 705<p><span>Methodisch-didaktisches Konzept, Umsetzungsunterstützung, Zwischen- und Schlussevaluation</span></p> 706</div> 707 </div> 708 <div class="teaser-url-chevron"> 709 <span class=""><i class="fas fa-chevron-right"></i></span> 710 </div> 711 712 </div> 713 714</div><div class="clearfix visible-sm visible-md visible-lg"></div> </div><!-- /. row --> 715 716 <div class="row " > 717 <div id="foerderprojekte_31" class="col col-md-12 col-sm-12"><h2>Kontakt</h2> 718</div> </div><!-- /. row --> 719 720 <div class="row " > 721 <div id="foerderprojekte_32" class="col col-md-4 col-sm-4"> <div class="teaser-box business-card uni-ansprechpartner" style="display: block !important;"> 722 <div class="row"> 723 <div class="col-12 col-xs-12 "> 724 <img src="https://www.bildungsakademie.de/wp-content/uploads/photo_385214-1.jpg" class="img img-responsive wp-post-image" alt="" style="max-width: 165px; min-width: 100px;" decoding="async" /> </div> 725 <div class="col-12 col-xs-12 "> 726 <p class="uni-kontakt "> 727 <a href="https://www.bildungsakademie.de/mitarbeiter/kreiner-maria/"> <label class="m-b-n " >Dr. Maria Kreiner </label> 728 </a>
729 <span style="margin-bottom: 4px;"></span> 730 <br> <br>Webersteig 3 <br>78462 Konstanz <br> <br><span class="uni-ansprechpartner-telefon-label">Telefon </span>07531 205 429 <br><a class="" href="mailto:[email protected]">[email protected]</a> </p> 731 </div> 732 </div> 733 734 </div> 735 736</div><div id="foerderprojekte_33" class="col col-md-4 col-sm-4"> 737</div> </div><!-- /. row --> 738 </section> 739 </div><!-- /.content --> 740 741 <div id="scrollspyContent" class="scrollspy col-md-3 visible-md visible-lg hidden-print"> 742 <ul class="nav nav-tabs nav-stacked affix-top" data-spy="affix" data-offset-top="10"> 743 <li class="static">Inhalt</li> 744 <li class="active"><a href="#section-0">Allgemeines</a></li><li><a href="#section-1">Design-Thinking in der ÃBA</a></li><li><a href="#section-2">Nachhaltigkeits- und Klimaschutzmanager/in</a></li><li><a href="#section-3">ÃBA Lernkonzeption</a></li><li><a href="#section-4">Digitale Lernmedienentwicklung</a></li><li><a href="#section-5">New Work</a></li><li><a href="#section-6">Digitalisierung in der ÃBA</a></li><li><a href="#section-7">Digitalisierung in der dualen Weiterbildung</a></li> </ul> 745 746 </div> 747 </div> 748 </div><!-- /.scroll-adjust --> 749 </div> 750 </div><!-- /#content --> 751 <div class="hidden-print"> 752 <footer class="site-footer"> 753 <div id="footer-bottom" class="container-fluid"> 754 <div class="container"> 755 <div class="row"> 756 <div class="col-xs-12 col-md-12 mt-4 mb-5 pb-3"> 757 758 <div class="uni-breadcrump-menu"> 759 760 <div class="row"> 761 <div class="col-xs-12 col-12 col-sm-10"> 762 <p> 763 <a class="uni-breadcrump-item" class="" href="https://www.bildungsakademie.de/">Startseite</a> 764 <span class="fas fa-chevron-right" aria-hidden="true" style="font-size: 12px; color: #9e9e9e;"></span> 765 <label style="font-weight: unset;">Ãber uns</label> 766 <span class="fas fa-chevron-right" aria-hidden="true" style="font-size: 12px; color: #9e9e9e;"></span> 767 <a class=" uni-breadcrump-item" href="https://www.bildungsakademie.de/foerderprojekte/">Förderprojekte</a> 768 </p> 769 </div> 770 771 </div> 772 773 </div> 774 </div> 775 </div> 776 <div class="row stretch"> 777 <div class="col col-xs-12 col-md-3 col-sm-6 margin-bottom-s border-top"> 778 <ul> 779 <li><strong>Service</strong></li> 780 <li><a href="https://bildungsakademie.hwk-konstanz.uniplus-software.de/seminare/suche/" class=" ">Kurs-Suche</a></li> 781 <li><a href="https://www.bildungsakademie.de/foerderungen/" class=" ">Fördermöglichkeiten</a></li> 782 <li><a href="https://www.bildungsakademie.de/karriere/" class=" ">Stellenangebote</a></li> 783 </ul> 784 </div> 785 <div class="col col-xs-12 col-md-3 col-sm-6 margin-bottom-s border-top"> 786 <ul> 787 <li><strong>Beratung</strong></li> 788 <li><a href="https://www.bildungsakademie.de/meisterinfoabende/" class=" ">Meister-Infoabende</a></li> 789 <li><a href="https://www.bildungsakademie.de/infos-kaufmaennische-kurse/" class=" ">
789Infos zu kaufmännischen Kursen</a></li> 790 </ul> 791 </div> 792 <div class="col col-xs-12 col-md-3 col-sm-6 margin-bottom-s border-top"> 793 <ul> 794 <li><strong>Bildungszentren vor Ort</strong></li> 795 <li><a href="https://www.bildungsakademie.de/bildungsakademie-rottweil/" class=" ">Bildungsakademie Rottweil</a></li> 796 <li><a href="https://www.bildungsakademie.de/bildungsakademie-singen/" class=" ">Bildungsakademie Singen</a></li> 797 <li><a href="https://www.bildungsakademie.de/bildungsakademie-waldshut/" class=" ">Bildungsakademie Waldshut</a></li> 798 </ul> 799 </div> 800 <div class="col col-xs-12 col-md-3 col-sm-6 margin-bottom-s border-top"> 801 <p><strong>Ein Unternehmen der Handwerkskammer Konstanz</strong></p> 802 <p> 803 Webersteig 3 <br> 804 78462 Konstanz </p> 805 <p> 806 Telefon 07531 205-205<br> 807 <a href="mailto:[email protected]">[email protected]</a> 808 </p> 809 </div> 810 </div> 811 <div class="row border-top"> 812 <div class="col-xs-12 col-sm-6 copyright"><p>Copyright © 2026 UNIPLUS Software GmbH</p></div> 813 <div class="col-xs-12 col-sm-6 text-right"> 814 <a style="margin-left: 15px;" class="" href="https://www.bildungsakademie.de/impressum/"><i class="fas fa-caret-right"></i> Impressum</a> 815 <a style="margin-left: 15px;" class="" href="https://www.bildungsakademie.de/agb/"><i class="fas fa-caret-right"></i> AGB</a> 816 <a style="margin-left: 15px;" class="" href="https://www.bildungsakademie.de/hausordnung/"><i class="fas fa-caret-right"></i> Hausordnung</a> 817 <a style="margin-left: 15px;" class="" href="https://www.bildungsakademie.de/datenschutz/"><i class="fas fa-caret-right"></i> Datenschutz</a> 818 <a style="margin-left: 15px;" class="" href="https://www.bildungsakademie.de/erklaerung-zur-barrierefreiheit/"><i class="fas fa-caret-right"></i> Barrierefreiheit</a> 819 <a style="margin-left: 15px;" class="borlabs-cookie-preference cookie-settings-link" title="Cookie Einstellungen" href="#"><i class="fas fa-caret-right"></i> Cookie Einstellungen</a> 820 </div> 821 822 </div> 823 </div><!-- /.container --> 824 </div><!-- /#footer-bottom --> 825 826 </footer> 827 828 </div><!-- /everything except menu --> 829 830 </div><!-- / #wrapper --> 831 832
832<script type="speculationrules"> 833{"prefetch":[{"source":"document","where":{"and":[{"href_matches":"/*"},{"not":{"href_matches":["/wp-*.php","/wp-admin/*","/wp-content/uploads/*","/wp-content/*","/wp-content/plugins/*","/wp-content/themes/uni-hwk-ba-konstanz/*","/wp-content/themes/chatty/*","/*\\?(.+)"]}},{"not":{"selector_matches":"a[rel~=\"nofollow\"]"}},{"not":{"selector_matches":".no-prefetch, .no-prefetch a"}}]},"eagerness":"conservative"}]} 834</script>
834 835
835<script> 836 jQuery(document).ready(function($) { 837 $('.klappbox-head').each(function(e) { 838 $(this).click(function(e) { 839 $(this).find('span:nth-child(2) i').toggleClass('fas fa-chevron-down'); 840 $(this).find('span:nth-child(2) i').toggleClass('fas fa-chevron-up'); 841 }); 842 }); 843 }); 844 </script>
844 845
845<script type=text/javascript> 846 jQuery(document).ready(function ($) { 847 function addLogoutTrigger() { 848 $("a[href*='action=logout']").each(function(id, e) { 849 $(e).click(function() { 850 $(document).trigger('uni-logout'); 851 }); 852 }); 853 } 854 addLogoutTrigger(); 855 setTimeout(addLogoutTrigger, 1000); 856 setTimeout(addLogoutTrigger, 3000); 857 858 }); 859 </script>
859 860
860<script src="https://ai.uniplus-software.de/dist/aitools.js" defer></script>
860 861 862
862<script> 863 function toggle_sem_pfeil(a, b) { 864 (function($) { 865 $('#' + b).show(); 866 $('#' + a).hide(); 867 })(jQuery); 868 } 869 </script>
869 870
870<script> 871 jQuery(document).ready(function($) { 872 $('.btn-toggle-kurs-data').each(function(i, obj) { 873 $(this).on('click', function(e) { 874 var self = $(this); 875 var div = $('#kursData_' + $(this).attr('with-id')); 876 div.toggle('show'); 877 878 setTimeout(function() { 879 if(div.is(':visible')) { 880 self.val('weniger\u2026'); 881 } else { 882 self.val('mehr\u2026'); 883 } 884 }, 500); 885 setTimeout(function() { 886 $(div)[0].scrollIntoView({ behavior: 'smooth', block: 'nearest' }); 887 }, 500); 888 $(div)[0].scrollTop -= 20; 889 }); 890 }); 891 }); 892 </script>
892 893
893<script> 894 895 jQuery(document).ready(function($) { 896 var selected = $('#fbgr_select option:selected').val(); 897 if(selected > 0) { 898 $('#fbunter_select').prop('disabled', false); 899 } 900 else { 901 $('#fbunter_select').prop('disabled', true); 902 } 903 if(selected > 0) { 904 $.ajax({ 905 url: "https://www.bildungsakademie.de/wp-content/plugins/uniplus-seminarwesen-fachbereiche/inc/unterfachbereich.php", 906 data: { 907 format: 'json', 908 fbgr: selected, 909 nonce: 'e5be9e94e3', 910 }, 911 error: function() { 912 //$('#info').html('<p>An error has occurred</p>'); 913 //console.log('An error has occurred'); 914 }, 915 dataType: 'json', 916 success: function(result) { 917 $('#fbunter_select').empty(); 918 $('#fbunter_select').append('<option value=\'0\'> Bitte auswählen</option>'); 919 $.each(result, function(index, value){ 920 var sub_category_selected = $('#hidden_fbunter_select').val(); 921 if(sub_category_selected == value || sub_category_selected == index) { 922 $('#fbunter_select').append('<option selected value=\'' + value + '\'> ' + index + '</option>'); 923 } else { 924 $('#fbunter_select').append('<option value=\'' + value + '\'> ' + index + '</option>'); 925 } 926 }); 927 }, 928 type: 'POST' 929 }); 930 } 931 $('#fbgr_select').change(function() { 932 933 var selected = $('#fbgr_select option:selected').val(); 934 if(selected > 0) { 935 $('#fbunter_select').prop('disabled', false); 936 } 937 else { 938 $('#fbunter_select').prop('disabled', true); 939 } 940 $.ajax({
941 url: "https://www.bildungsakademie.de/wp-content/plugins/uniplus-seminarwesen-fachbereiche/inc/unterfachbereich.php", 942 data: { 943 format: 'json', 944 fbgr: selected, 945 nonce: 'e5be9e94e3', 946 }, 947 error: function() { 948 //$('#info').html('<p>An error has occurred</p>'); 949 //console.log('An error has occurred'); 950 }, 951 dataType: 'json', 952 success: function(result) { 953 $('#fbunter_select').empty(); 954 $('#fbunter_select').append('<option value=\'0\'> Bitte auswählen</option>'); 955 $.each(result, function(index, value){ 956 $('#fbunter_select').append('<option value=\'' + value + '\'> ' + index + '</option>'); 957 }); 958 }, 959 type: 'POST' 960 }); 961 962 }); 963 }); 964 </script>
964 965
965<script> 966 jQuery(document).ready(function($) { 967 let user_id = null; 968 let client = 'hwkkonstanzbtz'; 969 970 let ls_key = 'uni_wk_kurse_'+client; 971 if(user_id) { 972 ls_key += '_'+user_id; 973 } 974 let items = localStorage.getItem(ls_key); 975 if(!items) { 976 items = localStorage.getItem('uni_wk_kurse_'+client); // item added to local storage before logging in 977 } 978 if(!items) { 979 items = localStorage.getItem('items'); // This can be removed in the future. 980 } 981 982 //const items = localStorage.getItem('items'); 983 if(items) { 984 const numItems = JSON.parse(items).length; 985 if(numItems > 0) { 986 [ 'span.glyphicon-shopping-cart' ] 987 .forEach(function(_e) { 988 const es = $(_e); 989 for(let i = 0; i < es.length; i++) { 990 const e = $(es[i]); 991 e.css('color', '#ff8d25'); 992 } 993 }); 994 } 995 } 996 }); 997 </script>
997 998
998<script> 999 window.addEventListener('load', init); 1000 1001 function init() { 1002 // Add event listener to "In den Warenkorb" button 1003 document.querySelectorAll('.uni_warenkorb_buy_form > button[type="submit"]').forEach(function(element){ 1004 element.addEventListener('click', addItemToCart); 1005 }, this); 1006 1007 // console.log('Warenkorb init'); 1008 // // Add event listener to logout-links 1009 // document.querySelectorAll('a[href*="action=logout"]').forEach(function(element){ 1010 // element.addEventListener('click', clearLocalStorage); 1011 // }, this); 1012 } 1013 1014 jQuery(document).ready(function ($) { 1015 $(document).on('uni-logout', function () { 1016 // Clean all the data 1017 Object.keys(localStorage) 1018 .filter(ls_key => 1019 ls_key.startsWith('uni_wk_')) 1020 .forEach(ls_key => 1021 localStorage.removeItem(ls_key)); 1022 1023 localStorage.clear(); // Delete this line in the future, so that only items related to warenkorb get removed. 1024 }); 1025 }); 1026 1027 function clearLocalStorage(event) { 1028 Object.keys(localStorage) 1029 .filter(ls_key => 1030 ls_key.startsWith('uni_wk_')) 1031 .forEach(ls_key => 1032 localStorage.removeItem(ls_key)); 1033 1034 localStorage.clear(); // Delete this line in the future, so that only items related to warenkorb get removed. 1035 } 1036 1037 function item_already_in_cart(item, itemsArray) { 1038 for(var i=0; i<itemsArray.length; i++) { 1039 if(itemsArray[i].semnr == item.semnr && itemsArray[i].vernr == item.vernr) { 1040 return true; 1041 } 1042 }; 1043 return false; 1044 } 1045 1046 function addItemToCart(event) { 1047 event.target.innerHTML = '<i class="fas fa-spinner fa-spin"></i>'; 1048 1049 var parentForm = event.target.closest('form'); // In uni_hwk theme, event.target is NOT the button, but a child span of the button 1050 1051 let semnr = parentForm.querySelector('[name="semnr"]').value; 1052 let vernr = parentForm.querySelector('[name="vernr"]').value; 1053 let booked_modules = parentForm.querySelector('[name="modules"]').value; // = Modul-Nr. or 'all' or 'none' 1054 let waitlist = (parentForm.querySelector('[name="waitlist"]').value == 'true'); 1055 let interessenbekundung = (parentForm.querySelector('[name="interessenbekundung"]').value == 'true'); 1056 1057 let new_item = { 1058 'semnr': semnr, 1059 'vernr': vernr, 1060 'booked_modules': booked_modules, 1061 'waitlist': waitlist, 1062 'interessenbekundung': interessenbekundung, 1063 }; 1064 1065 let user_id = null; 1066 let client = 'hwkkonstanzbtz'; 1067 let ls_key = 'uni_wk_kurse_'+client; 1068 if(user_id) { 1069 ls_key += '_'+user_id; 1070 } 1071 let items = localStorage.getItem(ls_key); 1072 if(!items) { 1073 items = localStorage.getItem('uni_wk_kurse_'+client); // item added to local storage before logging in 1074 } 1075 if(!items) { 1076 items = localStorage.getItem('items'); // This can be removed in the future. 1077 } 1078 if(items) { 1079 items = JSON.parse(items); 1080 } else { // no items stored yet 1081 items = []; 1082 } 1083 1084 /* 1085 * If item not in cart => add item to cart 1086 * If item in cart and adding whole course => do nothing (because the user might have manually un-selected some modules) 1087 * If item in cart and adding single module => Search for this module and set it to 'booked' 1088 */ 1089 for(var i=0; i<items.length; i++) { 1090 if(items[i].semnr == new_item.semnr && items[i].vernr == new_item.vernr) { 1091 if(new_item.booked_modules != 'all' && new_item.booked_modules != 'none') { 1092 // Look for module, set booked 1093 for(var j=0; j<items[i].modules.length; j++) { 1094 if(items[i].modules[j].modulnr === new_item.booked_modules) { 1095 items[i].modules[j].gebucht = true; 1096 items[i].modules[j].anzahl = 1; 1097 //localStorage.setItem('items', JSON.stringify(items)); 1098 localStorage.setItem(ls_key, JSON.stringify(items)); 1099 return; 1100 } 1101 } 1102 } else { 1103 return; 1104 } 1105 } 1106 } 1107 // Add new item to cart via local storage 1108 items.push(new_item); 1109 //localStorage.setItem('items', JSON.stringify(items)); 1110 localStorage.setItem(ls_key, JSON.stringify(items)); 1111 } 1112 </script>
1112 1113
1113<script> 1114 jQuery(document).ready(function ($) { 1115 $(':input[id="inputSearch"]').click(function () { 1116 if ($('#inputSearch').val().length === 0) { 1117 return false; 1118 } 1119 }); 1120 }); 1121 </script>
1121 1122
1122<script data-cfasync="false" data-no-minify="1" data-no-optimize="1" id="borlabs-cookie-core-js-module" src="https://www.bildungsakademie.de/wp-content/plugins/borlabs-cookie/assets/javascript/borlabs-cookie.min.js?ver=3.4.5" type="module"></script>
1122 1123<!--googleoff: all--><div data-nosnippet data-borlabs-cookie-consent-required='true' id='BorlabsCookieBox'></div><div id='BorlabsCookieWidget' class='brlbs-cmpnt-container'></div><!--googleon: all-->
1123<script id="uniplus-base-script-js-extra"> 1124var uniplus = {"ajax_url":"https://www.bildungsakademie.de/wp-admin/admin-ajax.php"}; 1125//# sourceURL=uniplus-base-script-js-extra 1126</script>
vendor: 1 bytes, line 1126
1126
1127<script id="uniplus-base-script-js" src="https://www.bildungsakademie.de/wp-content/plugins/uniplus-base/js/uniplus_base.js?ver=1.0.1"></script>
vendor: 1 bytes, line 1127
1127
1128<script id="uniplus-maps-cluster-js" src="https://www.bildungsakademie.de/wp-content/plugins/uniplus-base/js/markerclusterer.js?ver=1.0.2"></script>
vendor: 1 bytes, line 1128
1128
1129<script id="uniplus-clientside-script-js" src="https://www.bildungsakademie.de/wp-content/plugins/uniplus-clientside/js/uniplus_clientside.js?ver=1.2"></script>
vendor: 1 bytes, line 1129
1129
1130<script id="jquery-ui-core-js-before"> 1131jQuery.uiBackCompat = true; 1132//# sourceURL=jquery-ui-core-js-before 1133</script>
vendor: 1 bytes, line 1133
1133
1134<script id="jquery-ui-core-js" src="https://www.bildungsakademie.de/wp-includes/js/jquery/ui/core.min.js?ver=1.14.2"></script>
vendor: 1 bytes, line 1134
1134
1135<script id="jquery-ui-datepicker-js" src="https://www.bildungsakademie.de/wp-includes/js/jquery/ui/datepicker.min.js?ver=1.14.2"></script>
vendor: 1 bytes, line 1135
1135
1136<script id="jquery-ui-datepicker-js-after"> 1137jQuery(function(jQuery){jQuery.datepicker.setDefaults({"closeText":"Schlie\u00dfen","currentText":"Heute","monthNames":["Januar","Februar","M\u00e4rz","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember"],"monthNamesShort":["Jan.","Feb.","M\u00e4rz","Apr.","Mai","Juni","Juli","Aug.","Sep.","Okt.","Nov.","Dez."],"nextText":"N\u00e4chster","prevText":"Vorheriger","dayNames":["Sonntag","Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag"],"dayNamesShort":["So.","Mo.","Di.","Mi.","Do.","Fr.","Sa."],"dayNamesMin":["S","M","D","M","D","F","S"],"dateFormat":"d. MM yy","firstDay":1,"isRTL":false});}); 1138//# sourceURL=jquery-ui-datepicker-js-after 1139</script>
vendor: 1 bytes, line 1139
1139
1140<script id="datepicker-min-lang-de-js" src="https://www.bildungsakademie.de/wp-content/plugins/uniplus-clientside/js/jquery.datepicker.de.js?ver=1.0"></script>
vendor: 1 bytes, line 1140
1140
1141<script id="validate-js" src="https://www.bildungsakademie.de/wp-content/plugins/uniplus-clientside/js/jquery.validate.js?ver=1.0"></script>
vendor: 1 bytes, line 1141
1141
1142<script id="jquery-confirm-js" src="https://www.bildungsakademie.de/wp-content/plugins/uniplus-clientside/js/jquery-confirm.js?ver=1.0"></script>
vendor: 1 bytes, line 1142
1142
1143<script id="multiselect-js" src="https://www.bildungsakademie.de/wp-content/plugins/uniplus-clientside/js/multiselect.js?ver=1.0"></script>
vendor: 1 bytes, line 1143
1143
1144<script id="uni_faq_live_search.js-js" src="https://www.bildungsakademie.de/wp-content/plugins/uniplus-faq/js/uni_faq_live_search.js?ver=1.1"></script>
vendor: 1 bytes, line 1144
1144
1145<script id="uni_base_filter-letter-js" src="https://www.bildungsakademie.de/wp-content/plugins/uniplus-glossar/js/filter-letters.js?ver=1.0"></script>
vendor: 1 bytes, line 1145
1145
1146<script id="uniplus-kundenportal-script-js" src="https://www.bildungsakademie.de/wp-content/plugins/uniplus-kundenportal/js/uni-kundenportal.js?ver=1.0"></script>
vendor: 1 bytes, line 1146
1146
1147<script id="script-main-js-extra"> 1148var wp_variables = {"browserWarning":"Diese Internetseite ist nicht f\u00fcr diesen Browser optimiert. Bitte benutzen Sie einen aktuelleren Browser, um diese Seite optimal angezeigt zu bekommen.","googlemapSettings":{"confirm_load":false,"placeholder_map":"https://www.bildungsakademie.de/wp-content/themes/chatty/img/placeholder_map.jpg","placeholder_map_sw":"https://www.bildungsakademie.de/wp-content/themes/chatty/img/placeholder_map_sw.jpg"},"jqueryFitvidsEnabled":"1","jqueryAppearEnabled":"","jqueryStickyEnabled":"1","retinaDisabled":"1","scrollOffsetTopAdd":"40","scrollDuration":"1000","scrollDurationExternal":"1","templateUrl":"https://www.bildungsakademie.de/wp-content/themes/chatty","teaserTileSameHeightImage":"0","teaserTileSameHeightImageMd":"0","teaserTileSameHeightImageSm":"0"}; 1149//# sourceURL=script-main-js-extra 1150</script>
vendor: 1 bytes, line 1150
1150
1151<script id="script-main-js" src="https://www.bildungsakademie.de/wp-content/themes/chatty/js/main.min.js?ver=2.10.4"></script>
vendor: 1 bytes, line 1151
1151
1152<script id="chatty-load-google-map-js" src="https://www.bildungsakademie.de/wp-content/themes/chatty/js/chatty-google-map.min.js?ver=2.10.4"></script>
vendor: 1 bytes, line 1152
1152
1153<script id="script-child-js-extra"> 1154var hwk_variables = {"hwk_form_floating_labels":"","hwk_mega_menu":"","hwk_no_retina":"1"}; 1155//# sourceURL=script-child-js-extra 1156</script>
vendor: 1 bytes, line 1156
1156
1157<script id="script-child-js" src="https://www.bildungsakademie.de/wp-content/themes/uni-hwk-ba-konstanz/js/child.min.js?ver=1.3.0"></script>
1157 1158 <!-- UNIPLUS-CACHE-9F726243D38434738CAD93E159E41-2026-10-06T03:59:01+00:00 --> 1159 1160
1160<script type="text/javascript"> 1161 function appendStyle(styles) { 1162 var css = document.createElement('style'); 1163 css.type = 'text/css'; 1164 if (css.styleSheet) css.styleSheet.cssText = styles; // IE check 1165 else css.appendChild(document.createTextNode(styles)); // needs appendChild to also work in Chrome 1166 document.getElementsByTagName("head")[0].appendChild(css); 1167 } 1168 var styles = 'div.color-blue-light-25 { background-color: #d1e3f6; } div.color-blue-dark-25 { background-color: #c1cbdb; } div.color-grey-light { background-color: #eeeeee; } h1.color-hwk-blue-light, h2.color-hwk-blue-light, h3.color-hwk-blue-light, h4.color-hwk-blue-light, h5.color-hwk-blue-light, h6.color-hwk-blue-light, p.color-hwk-blue-light, span.color-hwk-blue-light, a.color-hwk-blue-light, li.color-hwk-blue-light, input.color-hwk-blue-light, label.color-hwk-blue-light, textarea.color-hwk-blue-light, caption.color-hwk-blue-light, blockquote.color-hwk-blue-light, font.color-hwk-blue-light, code.color-hwk-blue-light { color: #448dde !important; } div.color-hwk-blue-light { background-color: #448dde !important; } div.color-hwk-blue-light-secondary { background-color: #76abe4 !important; } h1.color-hwk-blue-dark, h2.color-hwk-blue-dark, h3.color-hwk-blue-dark, h4.color-hwk-blue-dark, h5.color-hwk-blue-dark, h6.color-hwk-blue-dark, p.color-hwk-blue-dark, span.color-hwk-blue-dark, a.color-hwk-blue-dark, li.color-hwk-blue-dark, input.color-hwk-blue-dark, label.color-hwk-blue-dark, textarea.color-hwk-blue-dark, caption.color-hwk-blue-dark, blockquote.color-hwk-blue-dark, font.color-hwk-blue-dark, code.color-hwk-blue-dark { color: #073070 !important; } div.color-hwk-blue-dark { background-color: #073070 !important; } div.color-hwk-blue-dark-secondary { background-color: #456494 !important; } h1.color-hwk-red-dark, h2.color-hwk-red-dark, h3.color-hwk-red-dark, h4.color-hwk-red-dark, h5.color-hwk-red-dark, h6.color-hwk-red-dark, p.color-hwk-red-dark, span.color-hwk-red-dark, a.color-hwk-red-dark, li.color-hwk-red-dark, input.color-hwk-red-dark, label.color-hwk-red-dark, textarea.color-hwk-red-dark, caption.color-hwk-red-dark, blockquote.color-hwk-red-dark, font.color-hwk-red-dark, code.color-hwk-red-dark { color: #b82c44 !important; } div.color-hwk-red-dark { background-color: #b82c44 !important; } div.color-hwk-red-dark-secondary { background-color: #ca6173 !important; } h1.color-hwk-red-light, h2.color-hwk-red-light, h3.color-hwk-red-light, h4.color-hwk-red-light, h5.color-hwk-red-light, h6.color-hwk-red-light, p.color-hwk-red-light, span.color-hwk-red-light, a.color-hwk-red-light, li.color-hwk-red-light, input.color-hwk-red-light, label.color-hwk-red-light, textarea.color-hwk-red-light, caption.color-hwk-red-light, blockquote.color-hwk-red-light, font.color-hwk-red-light, code.color-hwk-red-light { color: #ee234a !important; } div.color-hwk-red-light { background-color: #ee234a !important; } div.color-hwk-red-light-secondary { background-color: #f25a77 !important; } h1.color-hwk-yellow, h2.color-hwk-yellow, h3.color-hwk-yellow, h4.color-hwk-yellow, h5.color-hwk-yellow, h6.color-hwk-yellow, p.color-hwk-yellow, span.color-hwk-yellow, a.color-hwk-yellow, li.color-hwk-yellow, input.color-hwk-yellow, label.color-hwk-yellow, textarea.color-hwk-yellow, caption.color-hwk-yellow, blockquote.color-hwk-yellow, font.color-hwk-yellow, code.color-hwk-yellow { color: #fbcb3d !important; } div.color-hwk-yellow { background-color: #fbcb3d !important; } div.color-hwk-yellow-secondary { background-color: #fcd86e !important; } h1.color-hwk-orange, h2.color-hwk-orange, h3.color-hwk-orange, h4.color-hwk-orange, h5.color-hwk-orange, h6.color-hwk-orange, p.color-hwk-orange, span.color-hwk-orange, a.color-hwk-orange, li.color-hwk-orange, input.color-hwk-orange, label.color-hwk-orange, textarea.color-hwk-orange, caption.color-hwk-orange, blockquote.color-hwk-orange, font.color-hwk-orange, code.color-hwk-orange { color: #ff9933 !important; } div.color-hwk-orange { background-color: #ff9933 !important; } div.color-hwk-orange-secondary { background-color: #ffb366 !important; } h1.color-hwk-green-dark, h2.color-hwk-green-dark, h3.color-hwk-green-dark, h4.color-hwk-green-dark, h5.color-hwk-green-dark, h6.color-hwk-green-dark, p.color-hwk-green-dark, span.color-hwk-green-dark, a.color-hwk-green-dark, li.color-hwk-green-dark, input.color-hwk-green-dark, label.color-hwk-green-dark, textarea.color-hwk-green-dark, caption.color-hwk-green-dark, blockquote.color-hwk-green-dark, font.color-hwk-green-dark, code.color-hwk-green-dark { color: #5a8e1e !important; } div.color-hwk-green-dark { background-color: #5a8e1e !important; } div.color-hwk-green-dark-secondary { background-color: #83aa56 !important; } h1.color-hwk-green-light, h2.color-hwk-green-light, h3.color-hwk-green-light, h4.color-hwk-green-light, h5.color-hwk-green-light, h6.color-hwk-green-light, p.color-hwk-green-light, span.color-hwk-green-light, a.color-hwk-green-light, li.color-hwk-green-light, input.color-hwk-green-light, label.color-hwk-green-light, textarea.color-hwk-green-light, caption.color-hwk-green-light, blockquote.color-hwk-green-light, font.color-hwk-green-light, code.color-hwk-green-light { color: #b4bd00 !important; } div.color-hwk-green-light { background-color: #b4bd00 !important; } div.color-hwk-green-light-secondary { background-color: #c7ce40 !important; } #scrollspyContent ul.nav-tabs { margin-top: 50px; } '; 1169 //window.onload = function() { appendStyle(styles) }; 1170 (function() { // self executing function here 1171 appendStyle(styles); // the DOM will be available here 1172 })(); 1173 </script>
1173 1174 1175 <a id="top" href="#" class="hidden-print"><span class="glyphicon glyphicon-chevron-up"></span></a> 1176 1177
1177<script type="text/x-template" id="eval-submit-template"> 1178 <div> 1179 <div class="row"> 1180 <div v-if="show_progress_bar" class="col-xs-12 col-12 mb-4"> 1181 <progress id="uni-eval-progress-bar" :value="progress"></progress> 1182 </div> 1183 <div v-if="args.total_page_nr > 1" class="col-xs-12 col-12 mb-4"> 1184 <button v-if="!isFirstPage" @click="go_to_previous_page" class="btn btn-primary btn-back"><span class="uni-eval-nav-button-icon">⟨ </span> Vorherige Seite</button> 1185 <button v-if="!isLastPageWithContent" @click="go_to_next_page" class="btn btn-primary float-right">Nächste Seite <span class="uni-eval-nav-button-icon"> ⟩</span></button> 1186 </div> 1187 <div class="col-xs-12 col-12 d-flex justify-content-center"> 1188 <button v-if="!isLastPageWithContent" @click="save_locally" class="btn btn-primary">Zwischenspeichern</button> 1189 <button v-if="isLastPageWithContent" @click="$eventBus.$emit('eval-submit-form', $event.target)" class="btn btn-primary">Absenden</button> 1190 </div> 1191 </div> 1192 <div v-if="error_code == 'insert' || error_code == 'json'" class="col-xs-12 col-12 callout callout-danger"> 1193 <h4>Fehler</h4> 1194 Ihre Angaben konnten nicht gespeichert werden. 1195 </div> 1196 <div v-else-if="error_code == 'export'" class="col-xs-12 col-12 callout callout-danger"> 1197 <h4>Fehler</h4> 1198 Ihre Angaben konnten nicht übermittelt werden. 1199 </div> 1200 <div v-else-if="error_code == 'token'" class="col-xs-12 col-12 callout callout-danger"> 1201 <h4>Fehler</h4> 1202 Ihr Token ist ungültig. 1203 </div>
1204 <div v-else-if="error_code == 'invalid'" class="col-xs-12 col-12 callout callout-warning"> 1205 <h4>Fehlende oder ungültige Eingabe</h4> 1206 Die Seite enthält eine unzulässige Eingabe oder ein Pflichtfeld fehlt.<br> 1207 Bitte kontrollieren Sie Ihre Eingaben. Die betroffenen Felder sind rot hervorgehoben. 1208 </div> 1209 <div v-else-if="error_code == 'pruefungsmerkmalauswahl_gesperrt'" class="col-xs-12 col-12 callout callout-danger"> 1210 <h4>Eintragung fehlgeschlagen</h4> 1211 Sie können keine Ãnderungen mehr vornehmen. 1212 </div> 1213 <div v-else-if="error_code == 'pruefungsmerkmalauswahl_nicht_angemeldet'" class="col-xs-12 col-12 callout callout-danger"> 1214 <h4>Eintragung fehlgeschlagen</h4> 1215 Sie sind nicht zu der ausgewählten Prüfung angemeldet. Bitte überprüfen Sie Ihre Angaben, insbesondere die Lehrlingsrollennummer. 1216 </div> 1217 </div> 1218 </script>
1218 1219 <template id="uni_vue_login_template"> 1220 <div class="uni-login-form"> 1221 <div v-if="login_failed" class="bs-callout bs-callout-danger"> 1222 <h5>Login fehlgeschlagen</h5> 1223 <label>Benutzername oder Passwort ist falsch.</label> 1224 </div> 1225 <div v-if="wrong_pin" class="bs-callout bs-callout-danger"> 1226 <h5>Login fehlgeschlagen</h5> 1227 <label>Die eingegebene PIN ist nicht korrekt.</label> 1228 </div> 1229 <div v-if="content == 'form'" class="uni-form"> 1230 <form enctype="multipart/form-data" v-bind:action="action" method="POST" v-on:submit.prevent="onLoginHandler"> 1231 <fieldset> 1232 <input type="hidden" name="nonce" v-bind:value="nonce" /> 1233 <input type="hidden" name="post_id" v-bind:value="post_id" /> 1234 <div v-if="confirmed" class="col-xs-12 col-12"> 1235 <div class="bs-callout bs-callout-info"> 1236 <h5>Konto bestätigt</h5> 1237 <label>Sie können sich nun am {{ getTheTitle() }} anmelden.</label> 1238 </div> 1239 </div> 1240 1241 <div class="pt-2 row"> 1242 <template v-for="input in inputs"> 1243 <div v-if="!input.hidden" v-bind:class="getInputClass(input.width)"> 1244 <label v-if="!compact" class="control-label"> 1245 {{ input.display_name }} 1246 <span v-if="input.required">*</span>: 1247 </label> 1248 <input 1249 autocomplete="off" 1250 autocapitalize="off" 1251 v-model="input.value" 1252 v-bind:type="input.type" 1253 v-bind:name="input.name" 1254 v-bind:placeholder="input.display_name" 1255 class="form-control" 1256 v-on:keyup.enter="onLoginHandler" 1257 v-bind:class="[ input.invalid ? 'is-invalid has-error' : '', input.class ? input.class : '']" 1258 /> 1259 </div> 1260 </template> 1261 <div v-if="!inputs.password.hidden" class="col-xs-12 col-12 pb-2"> 1262 <span class="cursor-pointer" @click="toggleShowPassword()"> 1263 <span v-if="inputs.password.type !== 'password'"> 1264 <i class="bi bi-eye"></i> 1265 Passwort verstecken 1266 </span> 1267 <span v-else> 1268 <i class="bi bi-eye-slash"></i> 1269 Passwort anzeigen 1270 </span> 1271 </span> 1272 </div> 1273 <div class="col-xs-12 col-sm-12 text-right form-group has-feedback"> 1274 <a v-if="otp" 1275 class="btn btn-link d-inline" 1276 v-on:click.prevent="newOTP" 1277 >neue PIN anfordern</a> 1278 <a 1279 type="submit" 1280 class="btn btn-primary d-inline" 1281 v-on:click.prevent="onLoginHandler" 1282 >Anmelden</a> 1283 </div> 1284 1285 </div> 1286 </fieldset> 1287 </form> 1288 </div> 1289 <div v-else-if="content == 'loading'" class> 1290 <template v-if="show_progress_bar"> 1291 <div class="bs-callout bs-callout-info"> 1292 <h4 class="mb-3"><i class="fas fa-circle-notch fa-spin"></i> Wird geladen â¦</h4> 1293 <div v-if="progress_hint"> 1294 <p class="mb-0 pb-0" v-html="progress_hint"></p> 1295 </div> 1296 <div v-else-if="progress > 1"> 1297 <div id="uni-login-progress-bar" style="height:18px; background-color: #9FC8F2; border-radius: 5px;" :style="{ width: progress + '%' }"> </div> 1298 </div> 1299 </div> 1300 </template> 1301 <template v-else> 1302 <div class="bs-callout bs-callout-info"> 1303 <h4 class="m-0"><i class="fas fa-circle-notch fa-spin"></i> 1304 Wird geladen … 1305 </h4> 1306</div> </template> 1307 </div> 1308 <div v-else-if="content == 'logged_in'" class> 1309 <div class="bs-callout bs-callout-info"> 1310 <h4>Sie sind angemeldet <span v-if="data.first_name" class="uni-just-a-hack-for-hwk-theme">als </span><span v-if="data.first_name" class="logged-in-as" v-html="data.first_name+' '+data.name1"></span></h4> 1311 <p class="mt-3 mb-0 p-0"> 1312 <a href="/kundenportal"> 1313 <i class="bi bi-house"></i> 1314 {{ getTheTitle() }} 1315 </a> 1316 </p> 1317 <p class="mt-3 mb-0 p-0"> 1318 <a href="https://www.bildungsakademie.de/wp-login.php?action=logout&redirect_to=https%3A%2F%2Fwww.bildungsakademie.de&_wpnonce=19faf3d575"> 1319 <i class="bi bi-box-arrow-right"></i> 1320 1321 Abmelden 1322 </a> 1323 </p> 1324 </div> 1325 </div> 1326 <div v-else-if="content == 'logging_in'" class> 1327 <div class="bs-callout bs-callout-info"> 1328 <h4>Anmeldung erfolgreich</h4> 1329 <p>Sie werden automatisch weitergeleitet …</p> 1330 </div> 1331 </div> 1332 </div> 1333</template>
1334<script setup lang="ts"> 1335</script>
1335 <template id="uni-warenkorb-button-icon-template"> 1336 <div v-if="!route.path.includes('bestellung') && count > 0" id="uni-warenkorb-button-icon" @click="handleClick"> 1337 <i class="bi bi-cart-check"></i> 1338 </div> 1339 </template> 1340 1341
1341<script> 1342 Vue.component('eval-submit-component', { 1343 props: ['name'], 1344 template: '#eval-submit-template', 1345 1346 data: function() { 1347 return { 1348 post_id: '305724', 1349 action: 'https://www.bildungsakademie.de/wp-content/plugins/uniplus-evaluation/inc/forms/submit.php', 1350 nonce: '4e34d1bd88', 1351 restriction_nonce: '1f3c20e88c', 1352 redirect_page: '', 1353 endpoints: [], 1354 return_after_sending: 0, 1355 args: { 1356 current_page_nr: 1, 1357 total_page_nr: 0 }, 1358 page_has_visible_content: new Array(1).fill(false), // "+1" so that the indexes range from [1] to [total_page_nr]. Index [0] is not used. 1359 previousPageWithContent: false, 1360 nextPageWithContent: false, 1361 sending_data: false, 1362 error_code: '', 1363 show_progress_bar: false, 1364 progress: 0, 1365 }; 1366 }, 1367 methods: { 1368 go_to_previous_page: function() { 1369 if( !this.isFirstPage ) { 1370 current_page = document.getElementById('page-' + this.args.current_page_nr); 1371 current_page.classList.remove('show'); 1372 current_page.classList.remove('in'); 1373 current_page.classList.remove('active'); 1374 previous_page_nr = this.previousPageWithContent; 1375 previous_page = document.getElementById('page-' + previous_page_nr); 1376 previous_page.classList.add('show'); 1377 previous_page.classList.add('in'); 1378 previous_page.classList.add('active'); 1379 this.args.current_page_nr = this.previousPageWithContent; 1380 window.scrollTo(0, 0); 1381 } 1382 }, 1383 go_to_next_page: function() { 1384 if(this.validateCurrentPageQuestions()) { 1385 if(!this.isLastPageWithContent) { 1386 current_page = document.getElementById('page-' + this.args.current_page_nr); 1387 current_page.classList.remove('show'); 1388 current_page.classList.remove('in'); 1389 current_page.classList.remove('active'); 1390 next_page_nr = this.nextPageWithContent; 1391 next_page = document.getElementById('page-' + next_page_nr); 1392 next_page.classList.add('show'); 1393 next_page.classList.add('in'); 1394 next_page.classList.add('active'); 1395 this.args.current_page_nr = this.nextPageWithContent; 1396 window.scrollTo(0, 0); 1397 } 1398 } 1399 }, 1400 validateCurrentPageQuestions: function() { 1401 var ret = true; 1402 for(var question of this.$evaluation.questions) { 1403 if(this.$evaluation.getPageNr(question) == this.args.current_page_nr) { 1404 var should_scroll = true; 1405 if(!question.validate()) { 1406 ret = false; 1407 if(should_scroll) { 1408 question.$el.scrollIntoView(false); 1409 should_scroll = false; 1410 } 1411 } 1412 } 1413 } 1414 this.error_code = ret ? '' : 'invalid'; 1415 return ret; 1416 }, 1417 save_locally: function() { 1418 for(var q_id in this.$evaluation.questions) { 1419 let question = this.$evaluation.questions[q_id]; 1420 var entry = {}; 1421 if(question.value !== undefined) {entry.value = question.value;} 1422 if(question.values !== undefined) {entry.values = question.values;} 1423 if(question.customCaptions !== undefined) {entry.customCaptions = question.customCaptions;} 1424 localStorage.setItem('UniEvalFormSave_' + this.name + '_q' + q_id, JSON.stringify(entry)); 1425 } 1426 }, 1427 checkVisibility: function() { 1428 // Check which pages have visible content 1429 for(var i=1; i<= this.args.total_page_nr; i++) { 1430 // this.page_has_visible_content[i] = false; 1431 this.page_has_visible_content[i] = 0; 1432 } 1433 for(var question of this.$evaluation.questions) { 1434 if(!question.hide && question.qtype != 'summary') { 1435 var pageNr = this.$evaluation.getPageNr(question); 1436 // this.page_has_visible_content[pageNr] = true; 1437 this.page_has_visible_content[pageNr]++; 1438 } 1439 } 1440 this.updatePageWithContent(); 1441 this.updateProgress(); 1442 }, 1443 updatePageWithContent: function() { 1444 var pageNr; 1445 pageNr = this.args.current_page_nr; 1446 if(1 == this.args.current_page_nr) { 1447 this.previousPageWithContent = false; 1448 } else { 1449 this.previousPageWithContent = 1; // Always treat page 1 as page with content. 1450 } 1451 while(pageNr > 1) { 1452 pageNr--; 1453 if(this.page_has_visible_content[pageNr]) { 1454 this.previousPageWithContent = pageNr; 1455 break; 1456 } 1457 } 1458 pageNr = this.args.current_page_nr; 1459 this.nextPageWithContent = false; 1460 while(pageNr < this.args.total_page_nr) { 1461 pageNr++; 1462 if(this.page_has_visible_content[pageNr]) { 1463 this.nextPageWithContent = pageNr; 1464 break; 1465 } 1466 } 1467 }, 1468 updateProgress() { 1469 var num_past_questions = 0; 1470 var total_num_questions = 0; 1471 for(var i=1; i < this.page_has_visible_content.length; i++) { 1472 total_num_questions += this.page_has_visible_content[i]; 1473 if(i < this.args.current_page_nr) { 1474 num_past_questions += this.page_has_visible_content[i]; 1475 } 1476 } 1477 if(total_num_questions > 0) { 1478 this.progress = num_past_questions/total_num_questions; 1479 } else { 1480 this.progress = 1; 1481 } 1482 } 1483 }, 1484 mounted: function() { 1485 // Check local storage for saved data 1486 for(var q_id in this.$evaluation.questions) { 1487 if (localStorage.getItem('UniEvalFormSave_' + this.name + '_q' + q_id)) { 1488 let object_from_local_storage = JSON.parse(localStorage.getItem('UniEvalFormSave_' + this.name + '_q' + q_id)); 1489 var vue_component = this.$evaluation.questions[q_id]; 1490 if(object_from_local_storage.value !== undefined) {vue_component.value = object_from_local_storage.value;} 1491 if(object_from_local_storage.values !== undefined) {vue_component.values = object_from_local_storage.values;} 1492 if(object_from_local_storage.customCaptions !== undefined) {vue_component.customCaptions = object_from_local_storage.customCaptions;} 1493 } 1494 } 1495 1496 1497 this.$eventBus.$on('eval-submit-form', function(event_target) { 1498 if(!this.sending_data) { 1499 event_target.innerHTML = '<i class="fas fa-spinner fa-spin"></i>'; 1500 this.sending_data = true; 1501 this.error_code = ''; 1502 var is_valid = true; 1503 for(var question of this.$evaluation.questions) { 1504 var should_scroll = true; 1505 if(!question.validate()) { 1506 is_valid = false; 1507 if(should_scroll) { 1508 question.$el.scrollIntoView(false); 1509 should_scroll = false; 1510 } 1511 } 1512 } 1513 if(is_valid) { 1514 // Submit the form... 1515 var formData = this.$root.createFormData(this.inputs); 1516 formData.append('post_id', this.post_id); 1517 formData.append('nonce', this.nonce); 1518 formData.append('restriction_nonce',this.restriction_nonce); 1519 formData.append('token_id', ''); 1520 formData.append('fragebogen_name', this.name); 1521 formData.append('semnr', ''); 1522 formData.append('modnr', ''); 1523 formData.append('vernr', ''); 1524 formData.append('group', ''); 1525 formData.append('generic_parameter_1', ''); 1526 formData.append('generic_parameter_2', ''); 1527 formData.append('generic_parameter_3', ''); 1528 formData.append('generic_parameter_4', ''); 1529 formData.append('lfdnr', ''); 1530 formData.append('kurs_vdat', ''); 1531 formData.append('kurs_bdat', ''); 1532 formData.append('token_vdat', ''); 1533 formData.append('export', 0); 1534 formData.append('endpoints', JSON.stringify(this.endpoints)); 1535 formData.append('immediate_mail', 'null'); 1536 1537 // console.log(this.$evaluation.question_bundles); 1538 var q_data_bundle = {}; 1539 for(var category in this.$evaluation.question_bundles) { 1540 q_data_bundle[category] = {}; 1541 for(var bundle_index in this.$evaluation.question_bundles[category]) { 1542 var bundle = this.$evaluation.question_bundles[category][bundle_index]; 1543 q_data_bundle[category][bundle_index] = {}; 1544 q_data_bundle[category][bundle_index].doznr = bundle.doznr; 1545 q_data_bundle[category][bundle_index].dozent = bundle.dozent; 1546 q_data_bundle[category][bundle_index].thema_id = bundle.thema_id; 1547 q_data_bundle[category][bundle_index].thema_bez = bundle.thema_bez; 1548 q_data_bundle[category][bundle_index].questions = []; 1549 var questions = bundle.questions; 1550 for(var q_id in questions) { 1551 let question = questions[q_id]; 1552 q_data_bundle[category][bundle_index].questions.push( 1553 { 1554 data: question._data 1555 } 1556 ) 1557 } 1558 } 1559 } 1560 var q_data_bundle_json = JSON.stringify(q_data_bundle) 1561 formData.append('q_data_bundle_json', q_data_bundle_json); 1562 1563 this.$http.post(this.action, formData).then(function(res) { 1564 let response = JSON.parse(res.bodyText); 1565 console.log(response); // XXX DEV 1566 // Ok, wir haben die Request an den Server geschickt und Antwort erhalten. 1567 /* Delete local storage */ 1568 for(var q_id in this.$evaluation.questions) { 1569 var question = this.$evaluation.questions[q_id]; 1570 if(!(question.args.do_not_delete_on_submit || ('options' in question.args && question.args.options.do_not_delete_on_submit))) { 1571 localStorage.removeItem('UniEvalFormSave_' + this.name + '_q' + q_id); 1572 } 1573 } 1574 /* Pruefungswesen PDF export */ 1575 if(false) { 1576 // TODO: Aufruf von createPdf nur im endpoint-Erfolgsfall! 1577 // if(response.ergebnis_post_id != 0) { 1578 if(response.success) { 1579 // Check if q-type pruefungswesen_merkmalliste is present 1580 if(q_data_bundle_json.indexOf('pruefungswesen_merkmalliste') >= 0) { 1581 var nonce = response.pruefungswesen_pdf_nonce; 1582 var post_id = response.ergebnis_post_id; 1583 var url = 'https://www.bildungsakademie.de/wp-content/plugins/uniplus-pruefungswesen/inc/forms/createPdf.php' + '?post_id='+post_id+'&nonce='+nonce; 1584 // window.open(url); 1585 this.redirect_page = url; 1586 } 1587 } 1588 } 1589 /* On error: show error message. On success: redirect. */ 1590 if(response.success) { 1591 /* Redirect */ 1592 if(this.return_after_sending) { 1593 location.reload(); 1594 } else { 1595 document.location = this.redirect_page; 1596 } 1597 } else { 1598 this.error_code = response.error_code; 1599 } 1600 this.sending_data = false; 1601 event_target.innerHTML = 'Absenden'; 1602 }, function(res) { 1603 console.log('err'); 1604 this.sending_data = false; 1605 event_target.innerHTML = 'Absenden'; 1606 });
1607 } else { 1608 this.sending_data = false; 1609 event_target.innerHTML = 'Absenden'; 1610 this.error_code = 'invalid'; 1611 } 1612 } 1613 }.bind(this)); 1614 1615 // this.$eventBus.$on('eval-page-changed', function(page_id) { 1616 // this.args.current_page_nr = page_id; 1617 // }.bind(this)); 1618 1619 this.$eventBus.$on('eval-visibility-changed', function() { 1620 this.checkVisibility(); 1621 }.bind(this)); 1622 1623 /* Check query string, preset values */ 1624 /* Won't work on Multiple Choice because query string only provides strings and arrays of strings */ 1625 let query = this.$root.$route.query; 1626 Object.keys(query).forEach(function (item) { 1627 // key: item 1628 // value: query[item] 1629 if(item.substr(0,1) == 'q') { 1630 var qindex = item.substr(1) -1; 1631 if(this.$evaluation.questions[qindex]) { 1632 var the_question = this.$evaluation.questions[qindex]; 1633 if(the_question.value !== undefined) {the_question.value = query[item];} 1634 else if(the_question.values !== undefined) {the_question.values = query[item];} 1635 } 1636 } 1637 1638 }, this); 1639 1640 this.$nextTick(function () { 1641 // Code that will run only after the entire view has been rendered 1642 this.checkVisibility(); 1643 }) 1644 }, 1645 computed: { 1646 isFirstPage: function() { 1647 return this.args.current_page_nr == 1; 1648 }, 1649 isLastPage: function() { 1650 return this.args.current_page_nr == this.args.total_page_nr; 1651 }, 1652 isFirstPageWithContent: function() { 1653 return !this.previousPageWithContent; 1654 }, 1655 isLastPageWithContent: function() { 1656 return !this.nextPageWithContent; 1657 }, 1658 }, 1659 watch: { 1660 args: { 1661 handler: function() { 1662 this.updatePageWithContent(); 1663 this.updateProgress(); 1664 }, 1665 deep: true, 1666 immediate: false, 1667 }, 1668 } 1669 1670 }); 1671 1672 </script>
1672 1673
1673<script> 1674 Vue.component('uni-vue-login', { 1675 template: '#uni_vue_login_template', 1676 props: { 1677 compact: Boolean, 1678 redirect: String, 1679 keepsignedin: Boolean, 1680 redirect_while_logged_in: Boolean, 1681 show_progress_bar: Boolean 1682 }, 1683 kundenportal_title: '', 1684 data: function() { 1685 return { 1686 post_id: '51688', 1687 action: 'https://www.bildungsakademie.de/wp-content/plugins/uniplus-signup/inc/forms/signin.php', 1688 nonce: '85a6c0fc35', 1689 zfaNonce: 'cda78d74b2', 1690 apiNonce: 'd9d01772dc', 1691 login_failed: false, 1692 wrong_pin: '', 1693 confirmed: false, 1694 content: 'loading', 1695 client: 'hwkkonstanzbtz', 1696 data: false,
1697 otp: false, 1698 otp_success: false, 1699 otp_error: false, 1700 progress: 0, 1701 progress_ticks: 0, 1702 progress_hint: '', 1703 saveDevice: false, 1704 zfaToken: '', 1705 inputs: { 1706 email: { 1707 value: '', 1708 type: 'text', 1709 display_name: 'Benutzername', 1710 required: true, 1711 width: 12, 1712 name: 'username', 1713 invalid: false, 1714 hidden: false, 1715 autocapitalize: false 1716 }, 1717 password: { 1718 value: '', 1719 type: 'password', 1720 display_name: 'Passwort', 1721 required: true, 1722 width: 12, 1723 name: 'password', 1724 invalid: false, 1725 hidden: false 1726 }, 1727 pin: { 1728 value: '', 1729 type: 'text', 1730 display_name: 'Ihre PIN', 1731 required: true, 1732 width: 12, 1733 name: 'pin', 1734 hidden: true, 1735 class: 'input-letter-spacing-3', 1736 invalid: false, 1737 autocapitalize: false 1738 }, 1739 } 1740 } 1741 }, 1742 methods: { 1743 toggleShowPassword: function() { 1744 this.inputs.password.type = this.inputs.password.type === 'password' ? 'text' : 'password'; 1745 }, 1746 getTheTitle: function() { 1747 this.kundenportal_title = 'Kundenportal'; 1748 return this.kundenportal_title; 1749 }, 1750 getInputClass : function(w) { 1751 return 'col-xs-12 col-12 col-sm-' + w + ' form-group has-feedback'; 1752 }, 1753 onLoginHandler : function() { 1754 setTimeout(function() { 1755 if(this.compact && document.querySelector('.uni-dropdown-menu')) { 1756 document.querySelector('.uni-dropdown-menu').classList.add('show'); 1757 } 1758 }.bind(this), 50); 1759 1760 this.inputs.email.invalid = (!this.inputs.email.value); 1761 this.inputs.password.invalid = (!this.inputs.password.value); 1762 1763 if(this.inputs.email.value && this.inputs.password.value) { 1764 this.$eventBus.$emit('uni-on-logging-in'); 1765 this.login_failed = false; 1766 this.wrong_pin = false; 1767 var formData = this.$form.createFormData(this.inputs); 1768 formData.append('post_id', this.post_id); 1769 formData.append('nonce', this.nonce); 1770 formData.append('keepsignedin', this.keepsignedin ? 'J' : 'N'); 1771 formData.append('saveDevice', this.saveDevice ? 'J': 'N'); 1772 formData.append('token', this.zfaToken); 1773 1774 this.$http.post(this.action, formData).then(function(res) { 1775 let json = JSON.parse(res.bodyText); 1776 if(json.success) { 1777 if(this.saveDevice && json.token) { 1778 let a = new Date(); 1779 a = new Date(a.getTime() +1000*60*60*24*30); 1780 document.cookie = this.client+'_zfa_token='+json.token+'; expires='+ 1781 a.toGMTString()+';'; 1782 } 1783 this.$eventBus.$emit('uni-on-login-success'); 1784 } else { 1785 this.content = 'form'; 1786 if(!json.success) { 1787 if(json.zfa) { 1788 if(this.otp === true && this.inputs.pin.hidden === false) { 1789 this.wrong_pin = true; 1790 } 1791 this.content = 'loading'; 1792 this.inputs.email.hidden = true; 1793 this.inputs.password.hidden = true; 1794 this.inputs.pin.hidden = false; 1795 this.otp = true; 1796 setTimeout((e) => { 1797 this.content = 'form'; 1798 }, 1); 1799 } else { 1800 this.$eventBus.$emit('uni-on-login-failed'); 1801 } 1802 } 1803 // Show login box with error message 1804 if(this.compact && document.querySelector('.uni-dropdown-menu') && !json.zfa) { 1805 document.querySelector('.uni-dropdown-menu').classList.add('show'); 1806 document.location = 'https://www.bildungsakademie.de/login?state=failed'; 1807 } 1808 } 1809 1810 }.bind(this), function(res) { 1811 this.$eventBus.$emit('uni-on-login-failed'); 1812 }); 1813 } 1814 }, 1815 newOTP() { 1816 this.content = 'loading'; 1817 this.otp_error = false;
1818 this.otp_success = false; 1819 var formData = this.$form.createFormData(this.inputs); 1820 formData.append('post_id', this.post_id); 1821 formData.append('nonce', this.zfaNonce); 1822 this.$http.post('/wp-json/uniplus/2FA/v1/new-otp', formData, 1823 {headers: {'X-WP-Nonce': '0b2209e170'}}) 1824 .then(function (response) { 1825 response.json().then(json => { 1826 if (!json.status == 'success') { 1827 this.otp_error = true; 1828 this.content = 'form'; 1829 } else { 1830 this.otp_success = true; 1831 this.content = 'form'; 1832 } 1833 }); 1834 }.bind(this)); 1835 }, 1836 init : function() { 1837 let formData = new FormData(); 1838 formData.append('post_id', this.post_id); 1839 formData.append('nonce', this.apiNonce); 1840 this.$uniplus.apiRequest('/wp-json/uniplus/signup/v1/userdata', formData, 1841 (json) => { 1842 if(json.status === 'success' && json.data.is_user_logged_in) { 1843 this.data = json.data.user_data; 1844 1845 if(this.redirect_while_logged_in) { 1846 this.content = 'logging_in'; 1847 setTimeout(() => { 1848 document.location = this.redirect ? this.redirect : '/kundenportal'; 1849 }, 2000); 1850 } else { 1851 this.content = 'logged_in'; 1852 } 1853 } else { 1854 this.content = 'form'; 1855 } 1856 }, 1857 (err) => { 1858 this.content = 'form'; 1859 }); 1860 1861 if(this.$route.query.state === 'failed') { 1862 this.login_failed = true; 1863 this.inputs.email.invalid = true; 1864 this.inputs.password.invalid = true; 1865 } 1866 }, 1867 updateLoginProgress() { 1868 this.progress_ticks += Math.floor(Math.random() * 10); 1869 1870 if(this.progress_ticks > 100 && !this.progress_hint) { 1871 this.progress = 100; 1872 this.progress_hint = 'Einen Moment Geduld bitte, wir müssen Ihre Daten noch aufbereiten.'; 1873 } else { 1874 this.progress = this.progress_ticks % 100; 1875 } 1876 } 1877 }, 1878 watch: { 1879 content(newVal, oldVal) { 1880 if(oldVal === 'form' && newVal === 'loading') { 1881 this.progress = 0; 1882 this.progress_ticks = 0; 1883 this.progress_hint = ''; 1884 } 1885 1886 if(oldVal === 'loading' && newVal === 'logged_in') { 1887 this.progress = 100; 1888 this.progress_ticks = 100; 1889 this.progress_hint = ''; 1890 } 1891 } 1892 }, 1893 mounted: function() { 1894 if(typeof this.$route.query.confirmed !== 'undefined') { 1895 this.confirmed = true; 1896 } 1897 1898 this.$eventBus.$on('uni-on-logging-in', () => { 1899 this.login_failed = false; 1900 this.content = 'loading'; 1901 }); 1902 1903 this.$eventBus.$on('uni-on-login-success', () => { 1904 this.content = 'logging_in'; 1905 setTimeout(() => { 1906 document.location = this.redirect ? this.redirect : '/kundenportal'; 1907 }, 250); 1908 }); 1909 1910 this.$eventBus.$on('uni-on-login-failed', () => { 1911 this.content = 'form'; 1912 this.login_failed = true; 1913 this.inputs.email.invalid = true; 1914 this.inputs.password.invalid = true; 1915 }); 1916 1917 this.init(); 1918 if(document.cookie) { 1919 let cookieStr = document.cookie; 1920 let cookieArr = cookieStr.split('; '); 1921 let name = this.client+'_zfa_token='; 1922 for(let i = 0; i < cookieArr.length; i++) { 1923 let cookie = cookieArr[i]; 1924 while (cookie.charAt(0) == ' ') { 1925 cookie = cookie.substring(1); 1926 } 1927 if (cookie.indexOf(name) == 0) { 1928 this.zfaToken = cookie.substring(name.length, cookie.length); 1929 } 1930 } 1931 } 1932 setInterval(() => this.updateLoginProgress(), 980); 1933 1934 } 1935 }); 1936 1937 </script>
1937 1938
1938<script> 1939 Vue.component('warenkorb-button-icon-page', { 1940 template: '#uni-warenkorb-button-icon-template', 1941 1942 data: function() { 1943 return { 1944 route: this.$route, 1945 client: 'hwkkonstanzbtz', 1946 user_id: null, 1947 }; 1948 }, 1949 methods: { 1950 handleClick(e) { 1951 window.location.href = '/bestellung/'; 1952 }, 1953 read_kurse_from_local_storage: function() { 1954 let ls_key = 'uni_wk_kurse_'+this.client; 1955 if(this.user_id) { 1956 ls_key += '_'+this.user_id; 1957 } 1958 let kurse = localStorage.getItem(ls_key); 1959 if(!kurse) { 1960 kurse = localStorage.getItem('uni_wk_kurse_'+this.client); // item added to local storage before logging in 1961 } 1962 if(!kurse) { 1963 kurse = localStorage.getItem('items'); // This can be removed in the future. 1964 } 1965 return kurse; 1966 }, 1967 }, 1968 watch:{ 1969 $route (to, from){ 1970 this.route = this.$route; 1971 let kurse = this.read_kurse_from_local_storage(); 1972 this.items = JSON.parse(kurse); 1973 if(this.items !== null) { 1974 this.count = this.items.length; 1975 } 1976 }, 1977 }, 1978 computed: { 1979 items() { 1980 let kurse = this.read_kurse_from_local_storage(); 1981 return JSON.parse(kurse); 1982 }, 1983 count() { 1984 let kurse = this.read_kurse_from_local_storage(); 1985 return JSON.parse(kurse)?.length; 1986 } 1987 }, 1988 mounted: function() { 1989 this.route = this.$route; 1990 } 1991 }); 1992 </script>
1992 1993
1993<script> 1994 1995 if(!!document.getElementById("vue_app")) { 1996 1997 Vue.prototype.$evaluation = new Vue({ 1998 data: function() { 1999 return { 2000 questions: [], 2001 question_bundles: { 2002 Normal: {}, 2003 Dozenten: {}, 2004 Themen: {} 2005 }, 2006 } 2007 }, 2008 methods: { 2009 getPageNr: function($question) { 2010 // let the_question = document.getElementById('uni_q' + $question.args.qnr); 2011 // let the_section = the_question.parentElement; 2012 let the_section = $question.$el.parentElement; 2013 let pageNr = the_section.getAttribute('uni-with-page'); 2014 return pageNr; 2015 }, 2016 addQuestion: function(question) { 2017 var category = 'Normal'; 2018 var index = '0'; 2019 // if(question.args.hasOwnProperty('personenid')) { 2020 // personenid = question.args.personenid; 2021 // } 2022 let the_section = question.$el.parentElement; 2023 2024 var doznr = the_section.getAttribute('doznr'); 2025 var dozent = the_section.getAttribute('dozent'); 2026 if(doznr === null) { 2027 doznr = 'none'; 2028 } else { // Ist Dozentenfrage 2029 category = 'Dozenten'; 2030 index = doznr; 2031 } 2032 if(dozent === null) { 2033 dozent = ''; 2034 } 2035 2036 var thema_id = the_section.getAttribute('thema_id'); 2037 var thema_bez = the_section.getAttribute('thema_bez'); 2038 if(thema_id === null) { 2039 thema_id = 'none'; 2040 } else { // Ist Themen-Frage 2041 category = 'Themen'; 2042 index = thema_id; 2043 } 2044 if(thema_bez === null) { 2045 thema_bez = ''; 2046 } 2047 2048 if(!this.question_bundles[category].hasOwnProperty(index)) { 2049 this.question_bundles[category][index] = { 2050 doznr: doznr, 2051 dozent: dozent, 2052 thema_id: thema_id, 2053 thema_bez: thema_bez, 2054 questions: [] 2055 }; 2056 } 2057 this.question_bundles[category][index].questions.push(question); 2058 // console.log(this.question_bundles); 2059 } 2060 } 2061 }); 2062 2063 } 2064 </script>
2064 2065
2065<script> 2066 2067 let __uniHasUnsavedChanges = false; 2068 2069 window.addEventListener("beforeunload", (e) => { 2070 if (__uniHasUnsavedChanges) { 2071 e.preventDefault(); 2072 e.returnValue = ''; 2073 } 2074 }); 2075 2076 Vue.prototype.$uniplus = new Vue({ 2077 data: function() { 2078 return { 2079 post_id: '305724', 2080 action: 'https://www.bildungsakademie.de/wp-content/plugins/uniplus-signup/inc/forms/userdata.php', 2081 nonce: 'c8cb5de6ce', 2082 2083 } 2084 }, 2085 methods: { 2086 apiRequest(action, formData, successHandler, errorHandler) { 2087 2088 this.$http.post(action, formData, 2089 { headers: {'X-WP-Nonce': '0b2209e170'} }) 2090 .then(async function(response) { 2091 response.json().then(async json => { 2092 if(json.status === 'success') { 2093 successHandler(json); 2094 } else { 2095 errorHandler(json); 2096 } 2097 }).catch(ex => errorHandler(ex)); 2098 }, function(reason) { 2099 errorHandler(reason); 2100 }); 2101 }, 2102 apiGetRequest(action, successHandler, errorHandler) { 2103 this.$http.get(action, 2104 { headers: {'X-WP-Nonce': '0b2209e170'} }) 2105 .then(async function(response) { 2106 response.json().then(async json => { 2107 if(json.status === 'success') { 2108 successHandler(json); 2109 } else { 2110 errorHandler(json); 2111 } 2112 }); 2113 }, function(reason) { 2114 errorHandler(reason); 2115 }); 2116 }, 2117 toast(status, title, message) { 2118 toastr.options = { 2119 "closeButton": true, 2120 "debug": false, 2121 "newestOnTop": true, 2122 "progressBar": false, 2123 "positionClass": "toast-bottom-right", 2124 "preventDuplicates": false, 2125 "onclick": null, 2126 "showDuration": "300", 2127 "hideDuration": "1000", 2128 "timeOut": "7000", 2129 "extendedTimeOut": "1000", 2130 "showEasing": "swing", 2131 "hideEasing": "linear", 2132 "showMethod": "fadeIn", 2133 "hideMethod": "fadeOut" 2134 } 2135 let msg = '<small><i>'+ moment(new Date()).format('DD.MM.YYYY HH:mm') +' Uhr</i></small></br>'; 2136 if(typeof message !== 'undefined') { 2137 msg += message; 2138 } 2139 toastr[status](msg, title); 2140 }, 2141 toastInfo : function(title, message) { 2142 this.toast('info', title, message); 2143 }, 2144 toastSuccess : function(title, message) { 2145 this.toast('success', title, message); 2146 }, 2147 toastError : function(title, message) { 2148 this.toast('error', title, message); 2149 }, 2150 uniDecimalToTime : function(val) { 2151 let str = String(val); 2152 if(str.includes('.')) { 2153 let h = str.split('.')[0]; 2154 let m = str.split('.')[1]; 2155 if(h.length === 1) { 2156 h = '0' + h; 2157 } 2158 if(m.length === 1) { 2159 m = m + '0'; 2160 } 2161 return `${h}:${m}`; 2162 } else if(str.includes(',')) { 2163 let h = str.split(',')[0]; 2164 let m = str.split(',')[1]; 2165 if(h.length === 1) { 2166 h = '0' + h; 2167 } 2168 if(m.length === 1) { 2169 m = m + '0'; 2170 } 2171 return `${h}:${m}`; 2172 } else { 2173 let h = str; 2174 if(h.length === 1) { 2175 h = '0' + h; 2176 } 2177 return `${h}:00`; 2178 } 2179 }, 2180 loadUserData: function(handler) { 2181 var formData = new FormData(); 2182 formData.append('get_user_data', 'get_user_data'); 2183 formData.append('post_id', this.post_id); 2184 formData.append('nonce', this.nonce); 2185 this.$http.post(this.action, formData).then(function(res) { 2186 let json = JSON.parse(res.bodyText); 2187 handler(json); 2188 }, function(res) { 2189 console.log('err'); 2190 // this.content = 'error'; 2191 }); 2192 }, 2193 downloadFile: function(guid, fileName, type, successCallback, errorCallback, controller = 'file') { 2194 let action = 'https://www.bildungsakademie.de/wp-content/plugins/uniplus-download-center/inc/forms/UniVueDownloadCenterSingleItem.php'; 2195 var formData = new FormData(); 2196 formData.append('post_id', 812235); 2197 formData.append('nonce', '3925e101ea'); 2198 formData.append('guid', guid); 2199 formData.append('fileName', fileName); 2200 formData.append('type', type); 2201 formData.append('controller', controller); 2202 2203 this.$http.post(action, formData).then(function(res) { 2204 if(res == null || res.body == '') { 2205 if(typeof errorCallback !== 'undefined') { 2206 errorCallback(res); 2207 } 2208 } else { 2209 let binaryString = window.atob(res.data); 2210 let binaryLen = binaryString.length; 2211 let bytes = new Uint8Array(binaryLen); 2212 for (let i = 0; i < binaryLen; i++) { 2213 let ascii = binaryString.charCodeAt(i); 2214 bytes[i] = ascii; 2215 } 2216 const blob = new Blob([bytes], {type: type}); 2217 const link = document.createElement('a'); 2218 link.href = URL.createObjectURL(blob); 2219 link.download = fileName; 2220 link.click(); 2221 URL.revokeObjectURL(link.href); 2222 if(typeof successCallback !== 'undefined') { 2223 successCallback(res); 2224 } 2225 } 2226 }).catch(console.error); 2227 },
2228 initUnsavedChanges(formIdWrapper) { 2229 setTimeout(function() { 2230 const div = document.getElementById(formIdWrapper); 2231 if(div !== null) { 2232 const self = this; 2233 div.querySelectorAll(`input, select, textarea`).forEach(el => { 2234 el.addEventListener("input", () => { 2235 __uniHasUnsavedChanges = true; 2236 }); 2237 2238 // für select / checkbox / radio zuverlässiger 2239 el.addEventListener("change", () => { 2240 __uniHasUnsavedChanges = true; 2241 }); 2242 }); 2243 } 2244 }, 2000); 2245 2246 }, 2247 resetUnsavedChanges() { 2248 __uniHasUnsavedChanges = false; 2249 }, 2250 clearUnsavedChanges() { 2251 this.resetUnsavedChanges(); 2252 } 2253 } 2254 }); 2255 </script>
2255 2256
2256<script> 2257 Vue.prototype.$openStreetMap = new Vue({ 2258 data: function() { 2259 return { 2260 done: false, 2261 } 2262 }, 2263 methods: { 2264 addBorlabsEventListener() { 2265 2266 window.addEventListener('borlabs-cookie-after-init', () => { 2267 2268 if(this.checkConsent()) { 2269 this.$eventBus.$on('ready_for_leaflet', function() { 2270 this.createMapIfConsent(); 2271 }.bind(this)); 2272 } else { 2273 window.addEventListener('borlabs-cookie-consent-saved', () => { 2274 this.$eventBus.$on('ready_for_leaflet', function() { 2275 this.createMapIfConsent(); 2276 }.bind(this)); 2277 }); 2278 } 2279 return false; 2280 }); 2281 }, 2282 createMapIfConsent() { 2283 if(!window.BorlabsCookie) { 2284 console.log('h') 2285 // this.$eventBus.$emit('load_osm_leaflet'); 2286 return true; 2287 } 2288 if(this.checkConsent()) { 2289 this.unblockOpenStreetMap(); 2290 if(!this.done) { 2291 this.$eventBus.$emit('load_osm_leaflet'); 2292 this.done = true; 2293 } 2294 return true; 2295 } 2296 return false; 2297 }, 2298 setConsent() { 2299 if(!window.BorlabsCookie) { 2300 this.$eventBus.$emit('load_osm_leaflet'); 2301 return true; 2302 } 2303 window.BorlabsCookie.Consents.addConsent('open-street-map','external-media'); 2304 if(this.checkConsent()) { 2305 this.unblockOpenStreetMap(); 2306 if(!this.done) { 2307 this.$eventBus.$emit('load_osm_leaflet'); 2308 this.done = true; 2309 } 2310 return true; 2311 } 2312 }, 2313 checkConsent() { 2314 2315 return window.BorlabsCookie.Consents.hasConsent('open-street-map','external-media'); 2316 }, 2317 unblockOpenStreetMap() { 2318 window.BorlabsCookie.Unblock.unblockScriptBlockerId('open-street-map-leaflet-map'); 2319 window.BorlabsCookie.Unblock.unblockStyleBlockerId('open-street-map-leaflet-map'); 2320 }, 2321 } 2322 }); 2323 </script>
2323 2324
2324<script> 2325 Vue.prototype.$form = new Vue({ 2326 data: function() { 2327 return { 2328 date_names: ["wfvar_geburtstag","wfvar_geburtsdatum","wfvar_gebdat","wfvar_gebdatum","hwkgop_geburtsname"], 2329 types: { 2330 file: { 2331 /** @var {int} */ 2332 maxFileSizeDefault: 5000000, 2333 /** @var {object} */ 2334 acceptedMediaTypesDefault: JSON.parse('{"application\/pdf":{"type":"application","subtype":"pdf","file_extensions":[".pdf"]},"image\/jpeg":{"type":"image","subtype":"jpeg","file_extensions":[".jpeg",".jpg"]},"image\/png":{"type":"image","subtype":"pdf","file_extensions":[".png"]}}'), 2335 }, 2336 }, 2337 } 2338 }, 2339 computed: { 2340 /** 2341 * 2342 * 2343 * @return {object} 2344 */ 2345 acceptedMediaTypesDefaultMap() { 2346 let acceptedMediaTypesDefaultMap = {}; 2347 2348 if(this.types.file.acceptedMediaTypesDefault) { 2349 Object.entries(this.types.file.acceptedMediaTypesDefault).forEach(([key, val]) => { 2350 acceptedMediaTypesDefaultMap[key] = val.file_extensions; 2351 }); 2352 } 2353 2354 return acceptedMediaTypesDefaultMap; 2355 } 2356 }, 2357 methods: { 2358 ensureInput: function(inputs, logInvalidFields = false) { 2359 let success = true; 2360 2361 for(let inp in inputs) { 2362 let input = inputs[inp]; 2363 input.invalid = false; 2364 2365 if(input.type === 'hidden') { continue; } 2366 if(input.readonly) { continue; } 2367 if(input.type === 'file' && !input.hidden) { 2368 /** @var {File} */ 2369 let inputFile = this.getFile(input); 2370 2371 // test if file not exists but required 2372 if(!inputFile) { 2373 if(input.required) { 2374 input.invalid = true; 2375 success = false; 2376 } 2377 2378 continue; 2379 } 2380 2381 // test if file-size too large 2382 if(inputFile.size > this.types.file.maxFileSizeDefault) { 2383 input.invalid = true; 2384 input.invalidationMessage = `Die maximal erlaubte DateigröÃe beträgt: 5MB` 2385 success = false; 2386 2387 continue; 2388 } 2389 2390 let acceptedMediaTypes = {}; 2391 2392 if(input.accept?.length > 1) { 2393 let accept = []; 2394 2395 if(typeof input.accept === 'string') { 2396 accept = input.accept.split(','); 2397 } 2398 else if(input.accept instanceof Array) { 2399 accept = input.accept; 2400 } 2401 2402 accept = accept.map((item) => item.trim()); 2403 2404 acceptedMediaTypes = this.parseFileAccept(accept); 2405 } 2406 else { 2407 acceptedMediaTypes = this.acceptedMediaTypesDefaultMap; 2408 } 2409 2410 //console.debug(Object.keys(acceptedMediaTypes)); 2411 //console.debug(Object.values(acceptedMediaTypes).flat()); 2412 2413 // get input-file-extension 2414 const parts = inputFile.name.split('.'); 2415 //console.debug(parts); 2416 const inputFileExt = ('.' + parts[parts.length - 1]).trim().toLowerCase(); 2417 //console.debug(inputFileExt); 2418 2419 // test if file-media-type not allowed (mime-type) 2420 const acceptedMimeTypes = Object.keys(acceptedMediaTypes); 2421 if(inputFile.type && inputFile.type !== '' && !acceptedMimeTypes.includes(inputFile.type)) { 2422 console.error(`Error: MIME-Type "${inputFile.type}" not accepted.`); 2423 input.invalid = true; 2424 success = false; 2425 2426 continue; 2427 } 2428 2429 // test if file-media-type not allowed (file-extension) 2430 const acceptedFileExtensions = Object.values(acceptedMediaTypes).flat(); 2431 if(inputFileExt && !acceptedFileExtensions.includes(inputFileExt)) { 2432 console.error(`Error: File-Extensions "${inputFileExt}" not accepted.`); 2433 input.invalid = true; 2434 success = false; 2435 2436 continue; 2437 } 2438 2439 //if((input.required && !length) || (length && (typeof input.accept === 'string') && !input.accept.includes(fileInputs[0].files[0].type))) { 2440 // input.invalid = true; 2441 // success = false; 2442 //} 2443 } 2444 else if((input.type === 'file_storage') && input.required && input.value === '' && !input.hidden) { 2445 input.invalid = true; 2446 success = false; 2447 } 2448 else if((input.type === 'email') && !(input.value === null || input.value === '' || (/^[A-Za-z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/.test(input.value)))) { 2449 input.invalid = true; 2450 success = false; 2451 } 2452 else if(input.type === 'date') { 2453 // console.log(input.min); 2454 // console.log(moment(input.value, 'YYYY-MM-DD')); 2455 // console.log(moment(input.min, 'YYYY-MM-DD')); 2456 // console.log(moment(input.value, 'YYYY-MM-DD').isBefore(moment(input.min, 'YYYY-MM-DD'))); 2457 // console.log(input.max); 2458 // console.log(moment(input.value, 'YYYY-MM-DD')); 2459 // console.log(moment(input.max, 'YYYY-MM-DD')); 2460 // console.log(moment(input.value, 'YYYY-MM-DD').isBefore(moment(input.max, 'YYYY-MM-DD'))); 2461 if(((this.date_names.includes(input.name)) && (new Date(input.value) >= new Date())) || // e.g. birth date cant be in the future 2462 (input.min && moment(input.value, 'YYYY-MM-DD').isBefore(moment(input.min, 'YYYY-MM-DD'))) || 2463 (input.max && moment(input.value, 'YYYY-MM-DD').isAfter(moment(input.max, 'YYYY-MM-DD')))) { 2464 input.invalid = true; 2465 success = false; 2466 } 2467 if(new Date(input.value) < new Date('1800-01-01')) { 2468 input.invalid = true; 2469 success = false; 2470 } 2471 if(input.required && !input.hidden && !input.value) { 2472 input.invalid = true; 2473 success = false; 2474 } 2475 // commented out because of other date-formats that are longer than 10 chars and often not user input (HTML-Element ) 2476 //if(input.value.length > 10) { 2477 // input.invalid = true; 2478 // success = false; 2479 //} 2480 } 2481 else if(input.type === 'termin') { 2482 input.ft_invalid = false; 2483 input.tt_invalid = false; 2484 if(((this.date_names.includes(input.name)) && (new Date(input.value) >= new Date())) || // e.g. birth date cant be in the future 2485 (input.min && moment(input.value, 'YYYY-MM-DD').isBefore(moment(input.min, 'YYYY-MM-DD'))) || 2486 (input.max && moment(input.value, 'YYYY-MM-DD').isAfter(moment(input.max, 'YYYY-MM-DD')))) { 2487 input.invalid = true; 2488 success = false; 2489 } 2490 if(new Date(input.value) < new Date('1800-01-01')) { 2491 input.invalid = true; 2492 success = false; 2493 } 2494 if(input.required && !input.hidden && !input.value) { 2495 input.invalid = true; 2496 success = false; 2497 } 2498 if(input.ft_required && !input.hidden && !input.ft) { 2499 input.ft_invalid = true; 2500 success = false; 2501 } 2502 if(input.tt_required && !input.hidden && !input.tt) { 2503 input.tt_invalid = true; 2504 success = false; 2505 } 2506 } 2507 else if(input.type === 'number') { 2508 if( 2509 ( 2510 (input.max && (Number(input.value) > Number(input.max))) 2511 || 2512 (input.min && (Number(input.value) < Number(input.min))) 2513 || 2514 input.value === '' 2515 ) && 2516 (input.value !== '' || input.required)) { 2517 input.invalid = true; 2518 success = false; 2519 } 2520 // check number format/pattern, if set 2521 if(input.format && input.pattern) { 2522 let regex = new RegExp(input.pattern); 2523 if(!regex.test(input.value)) { 2524 input.invalid = true; 2525 success = false; 2526 } 2527 } 2528 } 2529 else if((input.type === 'numeric') && !(input.value === null || /^\d*$/.test(input.value))) { // e.g. for telephone numbers 2530 input.invalid = true; 2531 success = false; 2532 } 2533 else if((input.type === 'plz') && !(input.value === null || input.value === '' || /^[0-9A-Z -]{4,10}$/.test(input.value))) { 2534 input.invalid = true; 2535 success = false; 2536 } 2537 else if((input.type === 'phone_number_apo_berlin') && !(input.value === null || input.value === '' || /^\+[1-9][0-9]{0,3} [1-9][0-9]* [1-9][0-9]*(\-[0-9]+)?$/.test(input.value))) { 2538 input.invalid = true; 2539 success = false; 2540 } 2541 else if((input.type === 'iban') && !(input.value === null || input.value === '' || uni_helper_js__validate_iban(input.value))) { 2542 input.invalid = true; 2543 success = false; 2544 } 2545 else if(input.required && (!input.hidden)) { 2546 if(input.type === 'checkbox') { 2547 let truevalue = 'J'; 2548 if(input.truevalue) { 2549 truevalue = input.truevalue; 2550 } 2551 if(input.value !== truevalue) { 2552 input.invalid = true; 2553 success = false; 2554 } 2555 } 2556 else if(input.type === 'selectable2' && ((!input.value) || (input.value === -1) || (input.value === '-1'))) { 2557 let go_on = false; 2558 for(let field in input.option_fields) { 2559 if(input.option_fields[field] === 'J') { 2560 go_on = true; 2561 input.invalid = false; 2562 break; 2563 } 2564 } 2565 if(!go_on) { 2566 input.invalid = true; 2567 success = false; 2568 } 2569 } 2570 else if((input.type === 'select' || input.type === 'select2') && (input.value === -1 || input.value === '-1' || input.value === '__null__' || input.value === null || input.value.length === 0 )) { 2571 input.invalid = true; 2572 success = false; 2573 } 2574 else if((input.type === 'checkboxgroup') && (!input.value || input.value.length === 0 )) { 2575 input.invalid = true; 2576 success = false; 2577 } 2578 else if((input.type === 'pruefberufe')) { 2579 if(Object.keys(input.option_fields).length === 0) { 2580 input.invalid = true; 2581 success = false; 2582 } 2583 } 2584 else if((input.type === 'berufe')) { 2585 if(Object.keys(input.option_fields).length === 0) { 2586 input.invalid = true; 2587 success = false; 2588 } 2589 } 2590 else if((input.type === 'beruf_fachrichtung')) { 2591 if(Object.keys(input.option_fields).length === 0) { 2592 input.invalid = true; 2593
2593 success = false; 2594 } 2595 } 2596 else if((input.type === 'beruf_fachrichtung_vue_lvt')) { 2597 if(Object.keys(input.option_fields).length === 0) { 2598 input.invalid = true; 2599 success = false; 2600 } else { 2601 if(input.option_fields.l_aberuf === '-1' || input.option_fields.l_fachr === '-1') { 2602 input.invalid = true; 2603 success = false; 2604 } 2605 } 2606 } 2607 else if((!input.value) && (input.value !== 0)) { 2608 input.invalid = true; 2609 success = false; 2610 } 2611 } 2612 if((input.type === 'text' || input.type === 'textarea' || input.type === 'wp_editor' ) && input.max) { 2613 if(input.value) { 2614 if(input.value.length > input.max) { 2615 input.invalid = true; 2616 success = false; 2617 } 2618 } 2619 } 2620 // if(input.minlen && Number(input.minlen) > 0) { 2621 // valuelen = String(input.value).length; 2622 // if(valuelen < Number(input.minlen)) { 2623 // input.invalid = true; 2624 // success = false; 2625 // } 2626 // } else if(input.maxlen && Number(input.maxlen) > 0) { 2627 // valuelen = String(input.value).length; 2628 // if(valuelen > Number(input.maxlen)) { 2629 // input.invalid = true; 2630 // success = false; 2631 // } 2632 // } 2633 2634 //if(input.invalid && logInvalidFields && //) { 2635 // console.log(input); 2636 //} 2637 } 2638 2639 let rtnObj = {}; 2640 rtnObj.success = success; 2641 rtnObj.inputs = inputs; 2642 2643 //for(let inp in inputs) { 2644 // let input = inputs[inp]; 2645 // if(input.invalid === true) { 2646 // console.log(input); 2647 // } 2648 //} 2649 2650 return rtnObj; 2651 }, 2652 postData: function(action, formData) { 2653 let promise = new Promise(function(res) { 2654 this.$http.post(action, 2655 formData) 2656 .then( function(response) { 2657 var data = response.data; 2658 res({ success:true, data: data }); 2659 }) 2660 .catch( function(e) { 2661 res({ success:false, data: e }); 2662 }); 2663 }.bind(this)); 2664 return promise; 2665 }, 2666 /** 2667 * Do not use this method. 2668 * Use $this.uniplus.apiRequest instead. 2669 * 2670 * @param successHandler 2671 * @param errorHandler 2672 * @param action 2673 * @param data 2674 */ 2675 wpApiRequest(successHandler, errorHandler, action, data = {}) { 2676 let formData = new FormData(); 2677 if(data instanceof FormData) { 2678 formData = data; 2679 } else { 2680 formData = this.$form.createFormData(this.inputs, this.post_id, this.nonce); 2681 if(data) { 2682 for(const formDataKey of Object.keys(data)) { 2683 formData.append(formDataKey, data[formDataKey]); 2684 } 2685 } 2686 } 2687 this.$http.post(action, formData, 2688 { headers: {'X-WP-Nonce': '0b2209e170'} }) 2689 .then(async function(response) { 2690 response.json().then(async json => { 2691 if(json.status === 'success') { 2692 successHandler(json); 2693 } else { 2694 errorHandler(json); 2695 } 2696 }); 2697 }.bind(this), function(reason) { 2698 errorHandler(reason); 2699 }.bind(this)); 2700 }, 2701 getInputClass: function(input) { 2702 if(input.hidden || input.type === 'hidden') { return ''; } 2703 if(input.type === 'hr') { return 'col-xs-12 col-12'; } 2704 return input.width ? 2705 'col-xs-12 col-12 col-sm-' + 2706 input.width + 2707 ' form-group has-feedback' + 2708 (input.inputclass ? 2709 ' ' + 2710 input.inputclass 2711 : '') 2712 : ''; 2713 }, 2714 createFormTypeDesc: function(inputs) { 2715 var types = {}; 2716 for (var input_key in inputs) { 2717 let input = inputs[input_key]; 2718 types[input_key] = { 2719 type: input.type 2720 }; 2721 } 2722 return types; 2723 }, 2724 formatDate(date, format = 'DD.MM.YYYY') { 2725 var rtnDate = date; 2726 var momentDate = moment(new Date(date)); 2727 if (momentDate.isValid()) { 2728 rtnDate = momentDate.format(format); 2729 } 2730 return rtnDate; 2731 }, 2732 createFormData: function(inputs, post_id, nonce, fix_dates, save_empty_fields = false) { 2733 /* Never set save_empty_fields = true when the formData are to be sent to the Middleware! 2734 * This is only meant for saving the formData, e.g. in a custom post type. 2735 */ 2736 var formData = new FormData(); 2737 post_id = (typeof post_id !== 'undefined') ? post_id : false; 2738 nonce = (typeof nonce !== 'undefined') ? nonce : false; 2739 fix_dates = (typeof fix_dates !== 'undefined') ? fix_dates : false; 2740 if(post_id) { 2741 formData.append('post_id', post_id); 2742 } 2743 if(nonce) { 2744 formData.append('nonce', nonce); 2745 } 2746 2747 if(!inputs) { return formData; } 2748 2749 for (var input_key in inputs) { 2750 let input = inputs[input_key]; 2751 switch(input.type) { 2752 case 'headline': 2753 case 'headline2': 2754 case 'headline3': 2755 case 'headline4': 2756 case 'label': 2757 case 'small': 2758 case 'link': 2759 case 'clearfix': 2760 case 'clear': 2761 case 'callout': 2762 case 'offset': 2763 case 'hr': 2764 case 'paragraph': 2765 continue; 2766 case 'file': 2767 /** @var {File} */ 2768 let inputFile = this.getFile(input); 2769 2770 if(inputFile) { 2771 let inputFileData = { 2772 name: inputFile.name, 2773 size: inputFile.size, 2774 type: inputFile.type, 2775 } 2776 formData.append(input.name, inputFile); 2777 formData.append(input.name, JSON.stringify(inputFileData)); 2778 } 2779 break; 2780 case 'file_storage': 2781 if(input.value) { 2782 formData.append(input.name, input.value); 2783 } 2784 break; 2785 case 'select': 2786 if(input.name === 'ausbilder_berufauswahl') { 2787 formData.append(input.name, input.value); 2788 } else if(input.name === 'averh') { 2789 formData.append(input.name, input.value); 2790 } else if(input.name === 'l_mitlz') { 2791 formData.append(input.name, input.value); 2792 } else if(input.name === 'l_lehrzver') { 2793 formData.append(input.name, input.value); 2794 } else if(typeof input.value !== 'undefined' && input.value && input.value !== '-1' && input.value !== -1 && input.value !== '__null__') { 2795 formData.append(input.name, input.value); 2796 } 2797 break; 2798 case 'selectable2': 2799 case 'beruf_fachrichtung': 2800 var option_fields = input.option_fields; 2801 for(let field in option_fields) { 2802 formData.append(field, option_fields[field]); 2803 } 2804 break; 2805 case 'beruf_fachrichtung_vue_lvt': 2806 var option_fields = input.option_fields; 2807 for(let field in option_fields) { 2808 formData.append(field, option_fields[field]); 2809 } 2810 break; 2811 case 'pruefberufe': 2812 var option_fields = input.option_fields; 2813 for(let field in option_fields) { 2814 formData.append(field, option_fields[field]); 2815 } 2816 break; 2817 case 'berufe': 2818 var option_fields = input.option_fields; 2819 for(let field in option_fields) { 2820 formData.append(field, option_fields[field]); 2821 } 2822 break; 2823 case 'checkbox': 2824 if(input.checked) { 2825 formData.append(input.name, input.checked); 2826 } else { 2827 formData.append(input.name, input.value); 2828 } 2829 break; 2830 case 'checkboxgroup': 2831 if(typeof input.value === 'object' && input.value && input.value.length > 0 ) { 2832 formData.append(input.name, input.value); 2833 } 2834 break; 2835 case 'date': 2836 if(fix_dates) { 2837 if(typeof input.value !== 'undefined' && input.value && input.value !== '-1' && input.value !== -1) { 2838 // if(input.format) 2839 formData.append(input.name, input.value); 2840 } 2841 } else if(input.value !== null) { 2842 formData.append(input.name, input.value); 2843 } 2844 break; 2845 case 'number': 2846 if(typeof input.value !== 'undefined' && input.value !== '' && input.value !== null) { 2847 if(input.format && input.pattern) { 2848 let convValue = input.value.replace(/\./, ','); 2849 formData.append(input.name, convValue); 2850 } else { 2851 formData.append(input.name, input.value); 2852 } 2853 } 2854 break; 2855 case 'seminare-gaeste': 2856 let guests = []; 2857 for(const guest of input.value) { 2858 let anotherGuest = {}; 2859 for(const inputKey of Object.keys(guest)) { 2860 const input = guest[inputKey]; 2861 anotherGuest[input.name] = input.value; 2862 } 2863 guests.push(anotherGuest); 2864 } 2865 formData.append(input.name, JSON.stringify(guests)); 2866 break; 2867 case 'hidden': 2868 if(input.name === 'p_persnr' && input.value == 0) { 2869 formData.append(input.name, input.value); 2870 } else if(typeof input.value !== 'undefined' && input.value && input.value !== '-1' && input.value !== -1) { 2871 formData.append(input.name, input.value); 2872 } 2873 break; 2874 default: 2875 if(typeof input.value !== 'undefined' && input.value !== null) { 2876 if((input.value !== '' && input.value !== '-1' && input.value !== -1) || save_empty_fields) { 2877 if((input.value.constructor === Object || input.value.constructor === Ar
2877ray)) { 2878 formData.append(input.name, JSON.stringify(input.value)); 2879 } else { 2880 formData.append(input.name, input.value); 2881 } 2882 } 2883 } 2884 break; 2885 } 2886 } 2887 return formData; 2888 }, 2889 2890 // region Form-Helper--Input-Getter 2891 2892 /** 2893 * @param {object} input 2894 * 2895 * @returns {FileList|undefined} 2896 */ 2897 getFiles(input) { 2898 let inputElement; 2899 let inputFiles; 2900 2901 if(input.id) { 2902 inputElement = document.getElementById(input.id); 2903 } 2904 else if(input.name) { 2905 let inputElements = document.getElementsByName(input.name); 2906 2907 if(inputElements && inputElements.length > 0) { 2908 inputElement = inputElements[0]; 2909 } 2910 } 2911 2912 if(inputElement 2913 && inputElement instanceof HTMLInputElement 2914 && inputElement.files 2915 && inputElement.files instanceof FileList 2916 && inputElement.files.length > 0 2917 ) { 2918 inputFiles = inputElement.files; 2919 } 2920 2921 return inputFiles; 2922 }, 2923 2924 /** 2925 * @param {object} input 2926 * 2927 * @returns {File|undefined} 2928 */ 2929 getFile(input) { 2930 let inputFile; 2931 2932 let inputFiles = this.getFiles(input); 2933 2934 if(inputFiles 2935 && inputFiles instanceof FileList 2936 && inputFiles.length > 0 2937 ) { 2938 inputFile = inputFiles[0]; 2939 } 2940 2941 return inputFile; 2942 }, 2943 2944 // endregion Form-Helper--Input-Getter 2945 2946 // region Form-Helper--Input-Setter 2947 2948 setValue : function(input, value) { 2949 if(input !== undefined) { 2950 input.value = value; 2951 } 2952 }, 2953 setHidden : function(input, value) { 2954 if(input !== undefined) { 2955 input.hidden = value; 2956 } 2957 }, 2958 setRequired : function(input, value) { 2959 if(input !== undefined) { 2960 input.required = value; 2961 } 2962 }, 2963 setReadonly : function(input, value) { 2964 if(input !== undefined) { 2965 input.readonly = value; 2966 } 2967 }, 2968 setDisabled : function(input, value) { 2969 if(input !== undefined) { 2970 input.disabled = value; 2971 } 2972 }, 2973 setOptions : function(input, value) { 2974 if(input !== undefined) { 2975 input.options = value; 2976 } 2977 }, 2978 setWidth : function(input, value) { 2979 if(input !== undefined) { 2980 input.width = value; 2981 } 2982 }, 2983 setType : function(input, value) { 2984 if(input !== undefined) { 2985 input.type = value; 2986 } 2987 }, 2988 2989 // endregion Form-Helper--Input-Setter 2990 2991 submitFileStorage : function(input) { 2992 2993 }, 2994 reset : function(input) { 2995 if(input !== undefined && 'initial_value' in input) { 2996 input.value = input.initial_value; 2997 } 2998 }, 2999 /** 3000 * parses/filters accept attribut of input type 'file' against defaults 3001 * 3002 * @param {array} accept 3003 * 3004 * @return {object} 3005 */ 3006 parseFileAccept(accept) { 3007 let parsedAccept = {}; 3008 3009 const regex = /^(image|application)\/\*$/; 3010 3011 if(Object.keys(this.acceptedMediaTypesDefaultMap).length > 0) { 3012 accept.forEach((acceptItem) => { 3013 3014 let acceptItemTopLevel = false; 3015 if(regex.test(acceptItem)) { 3016 acceptItemTopLevel = acceptItem.split('/')[0]; 3017 } 3018 3019 Object.entries(this.acceptedMediaTypesDefaultMap).forEac
3019h(([k,v]) => { 3020 // check mime-type-top-level 3021 if(acceptItemTopLevel && k.startsWith(acceptItemTopLevel + '/')) { 3022 if(!Object.hasOwn(parsedAccept, k)) { 3023 parsedAccept[k] = v; 3024 } 3025 // check mime-type 3026 } else if(acceptItem === k) { 3027 if(!Object.hasOwn(parsedAccept, k)) { 3028 parsedAccept[acceptItem] = v; 3029 } 3030 // check file-extension 3031 } else if(v.includes(acceptItem)) { 3032 if(!Object.hasOwn(parsedAccept, k) || !(parsedAccept[k] instanceof Array)) { 3033 parsedAccept[k] = []; 3034 } 3035 parsedAccept[k].push(acceptItem); 3036 } 3037 }); 3038 }); 3039 } 3040 3041 return parsedAccept; 3042 } 3043 }, 3044 }); 3045 </script>
3045 3046
3046<script> 3047 3048 function scrollToTop() { 3049 window.scrollTo({ top: 0, left: 0, behavior: 'smooth' }); 3050 } 3051 3052 function scrollToElement(elementId, offset = 0) { 3053 const element = document.getElementById(elementId); 3054 if(typeof element !== "undefined") { 3055 3056 const y = element.getBoundingClientRect().top + window.scrollY; 3057 //console.log(y + offset); 3058 window.scroll({ 3059 top: y + offset, 3060 behavior: 'smooth' 3061 }); 3062 } 3063 } 3064 3065 function openInNewTab(url) { 3066 window.open(url, '_blank').focus(); 3067 } 3068 3069 if(!!document.getElementById("vue_app")) { 3070 3071 Vue.prototype.$window = window; 3072 3073 Vue.prototype.$eventBus = new Vue(); 3074 3075 Vue.prototype.$storage = new Vue({ 3076 data: function() { 3077 return { 3078 cachePrefix: 'unicache_', 3079 defaultCacheTimeoutInSeconds: 60 * 60 3080 } 3081 }, 3082 methods: { 3083 cacheKey(key) { 3084 return `${this.cachePrefix}${key}`; 3085 }, 3086 getCache(_key, fallbackHandler, _cacheTimeoutInSeconds = null) { 3087 const timeout = _cacheTimeoutInSeconds ? _cacheTimeoutInSeconds : this.defaultCacheTimeoutInSeconds; 3088 const key = this.cacheKey(_key); 3089 const cData = localStorage.getItem(key); 3090 if(cData !== null) { 3091 const cDataObj = JSON.parse(cData); 3092 const now = Math.round((new Date()).getTime() / 1000); 3093 if(cDataObj.time + timeout > now) { 3094 return cDataObj.data; 3095 } 3096 } 3097 const data = fallbackHandler(key); 3098 this.setCache(_key, data); 3099 return data; 3100 }, 3101 setCache(_key, data) { 3102 const key = this.cacheKey(_key); 3103 const now = Math.round((new Date()).getTime() / 1000); 3104 localStorage.setItem(key, JSON.stringify({ 3105 time: now, 3106 data: data 3107 })); 3108 }, 3109 unsetCache(_key) { 3110 const key = this.cacheKey(_key); 3111 localStorage.removeItem(key); 3112 }, 3113 clear() { 3114 localStorage.Clear(); 3115 } 3116 } 3117 }); 3118 3119 Vue.prototype.getTheId = function(input) { 3120 if(!input.id) { 3121 input.id = 'input-' + Math.floor(Math.random() * 999999); 3122 } 3123 3124 return input.id; 3125 3126 } 3127 3128 3129 3130 var router = new VueRouter({ 3131 mode: 'history', 3132 routes: [] 3133 }); 3134 new Vue({ 3135 router: router, 3136 el: '#vue_app', 3137 methods: { 3138 createFormData: function(inputs) { 3139 console.log('createFormData have been moved to $form.createFormData'); 3140 return this.$form.createFormData(inputs); 3141 } 3142 } 3143 }); 3144 } 3145 </script>
3145 3146 3147 </div> <!-- <div class="hidden-print"> --> 3148 </body> 3149</html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.