/* CMS 0f99c2ef2f1c048d9e0bf3bdea1e0575 */

/* jquery-ui.min.css*/
/*! jQuery UI - v1.14.1 - 2025-02-06
* https://jqueryui.com
* Includes: draggable.css, core.css, resizable.css, selectable.css, sortable.css, accordion.css, autocomplete.css, menu.css, button.css, controlgroup.css, checkboxradio.css, datepicker.css, dialog.css, progressbar.css, selectmenu.css, slider.css, spinner.css, tabs.css, tooltip.css, theme.css
* To view and modify this theme, visit https://jqueryui.com/themeroller/?ffDefault=Arial%2CHelvetica%2Csans-serif&fsDefault=1em&fwDefault=normal&cornerRadius=3px&bgColorHeader=e9e9e9&bgTextureHeader=flat&borderColorHeader=dddddd&fcHeader=333333&iconColorHeader=444444&bgColorContent=ffffff&bgTextureContent=flat&borderColorContent=dddddd&fcContent=333333&iconColorContent=444444&bgColorDefault=f6f6f6&bgTextureDefault=flat&borderColorDefault=c5c5c5&fcDefault=454545&iconColorDefault=777777&bgColorHover=ededed&bgTextureHover=flat&borderColorHover=cccccc&fcHover=2b2b2b&iconColorHover=555555&bgColorActive=007fff&bgTextureActive=flat&borderColorActive=003eff&fcActive=ffffff&iconColorActive=ffffff&bgColorHighlight=fffa90&bgTextureHighlight=flat&borderColorHighlight=dad55e&fcHighlight=777620&iconColorHighlight=777620&bgColorError=fddfdf&bgTextureError=flat&borderColorError=f1a899&fcError=5f3f3f&iconColorError=cc0000&bgColorOverlay=aaaaaa&bgTextureOverlay=flat&bgImgOpacityOverlay=0&opacityOverlay=30&bgColorShadow=666666&bgTextureShadow=flat&bgImgOpacityShadow=0&opacityShadow=30&thicknessShadow=5px&offsetTopShadow=0px&offsetLeftShadow=0px&cornerRadiusShadow=8px
* Copyright OpenJS Foundation and other contributors; Licensed MIT */

.ui-draggable-handle{touch-action:none}.ui-helper-hidden{display:none}.ui-helper-hidden-accessible{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.ui-helper-reset{margin:0;padding:0;border:0;outline:0;line-height:1.3;text-decoration:none;font-size:100%;list-style:none}.ui-helper-clearfix:before,.ui-helper-clearfix:after{content:"";display:table;border-collapse:collapse}.ui-helper-clearfix:after{clear:both}.ui-helper-zfix{width:100%;height:100%;top:0;left:0;position:absolute;opacity:0}.ui-front{z-index:100}.ui-state-disabled{cursor:default!important;pointer-events:none}.ui-icon{display:inline-block;vertical-align:middle;margin-top:-.25em;position:relative;text-indent:-99999px;overflow:hidden;background-repeat:no-repeat}.ui-widget-icon-block{left:50%;margin-left:-8px;display:block}.ui-widget-overlay{position:fixed;top:0;left:0;width:100%;height:100%}.ui-resizable{position:relative}.ui-resizable-handle{position:absolute;font-size:0.1px;display:block;touch-action:none}.ui-resizable-disabled .ui-resizable-handle,.ui-resizable-autohide .ui-resizable-handle{display:none}.ui-resizable-n{cursor:n-resize;height:7px;width:100%;top:-5px;left:0}.ui-resizable-s{cursor:s-resize;height:7px;width:100%;bottom:-5px;left:0}.ui-resizable-e{cursor:e-resize;width:7px;right:-5px;top:0;height:100%}.ui-resizable-w{cursor:w-resize;width:7px;left:-5px;top:0;height:100%}.ui-resizable-se{cursor:se-resize;width:12px;height:12px;right:1px;bottom:1px}.ui-resizable-sw{cursor:sw-resize;width:9px;height:9px;left:-5px;bottom:-5px}.ui-resizable-nw{cursor:nw-resize;width:9px;height:9px;left:-5px;top:-5px}.ui-resizable-ne{cursor:ne-resize;width:9px;height:9px;right:-5px;top:-5px}.ui-selectable{touch-action:none}.ui-selectable-helper{position:absolute;z-index:100;border:1px dotted black}.ui-sortable-handle{touch-action:none}.ui-accordion .ui-accordion-header{display:block;cursor:pointer;position:relative;margin:2px 0 0 0;padding:.5em .5em .5em .7em;font-size:100%}.ui-accordion .ui-accordion-content{padding:1em 2.2em;border-top:0;overflow:auto}.ui-autocomplete{position:absolute;top:0;left:0;cursor:default}.ui-menu{list-style:none;padding:0;margin:0;display:block;outline:0}.ui-menu .ui-menu{position:absolute}.ui-menu .ui-menu-item{margin:0;cursor:pointer}.ui-menu .ui-menu-item-wrapper{position:relative;padding:3px 1em 3px .4em}.ui-menu .ui-menu-divider{margin:5px 0;height:0;font-size:0;line-height:0;border-width:1px 0 0 0}.ui-menu .ui-state-focus,.ui-menu .ui-state-active{margin:-1px}.ui-menu-icons{position:relative}.ui-menu-icons .ui-menu-item-wrapper{padding-left:2em}.ui-menu .ui-icon{position:absolute;top:0;bottom:0;left:.2em;margin:auto 0}.ui-menu .ui-menu-icon{left:auto;right:0}.ui-button{padding:.4em 1em;display:inline-block;position:relative;line-height:normal;margin-right:.1em;cursor:pointer;vertical-align:middle;text-align:center;-webkit-user-select:none;user-select:none}.ui-button,.ui-button:link,.ui-button:visited,.ui-button:hover,.ui-button:active{text-decoration:none}.ui-button-icon-only{width:2em;box-sizing:border-box;text-indent:-9999px;white-space:nowrap}input.ui-button.ui-button-icon-only{text-indent:0}.ui-button-icon-only .ui-icon{position:absolute;top:50%;left:50%;margin-top:-8px;margin-left:-8px}.ui-button.ui-icon-notext .ui-icon{padding:0;width:2.1em;height:2.1em;text-indent:-9999px;white-space:nowrap}input.ui-button.ui-icon-notext .ui-icon{width:auto;height:auto;text-indent:0;white-space:normal;padding:.4em 1em}input.ui-button::-moz-focus-inner,button.ui-button::-moz-focus-inner{border:0;padding:0}.ui-controlgroup{vertical-align:middle;display:inline-block}.ui-controlgroup > .ui-controlgroup-item{float:left;margin-left:0;margin-right:0}.ui-controlgroup > .ui-controlgroup-item:focus,.ui-controlgroup > .ui-controlgroup-item.ui-visual-focus{z-index:9999}.ui-controlgroup-vertical > .ui-controlgroup-item{display:block;float:none;width:100%;margin-top:0;margin-bottom:0;text-align:left}.ui-controlgroup-vertical .ui-controlgroup-item{box-sizing:border-box}.ui-controlgroup .ui-controlgroup-label{padding:.4em 1em}.ui-controlgroup .ui-controlgroup-label span{font-size:80%}.ui-controlgroup-horizontal .ui-controlgroup-label + .ui-controlgroup-item{border-left:none}.ui-controlgroup-vertical .ui-controlgroup-label + .ui-controlgroup-item{border-top:none}.ui-controlgroup-horizontal .ui-controlgroup-label.ui-widget-content{border-right:none}.ui-controlgroup-vertical .ui-controlgroup-label.ui-widget-content{border-bottom:none}.ui-controlgroup-vertical .ui-spinner-input{width:calc( 100% - 2.4em )}.ui-controlgroup-vertical .ui-spinner .ui-spinner-up{border-top-style:solid}.ui-checkboxradio-label .ui-icon-background{box-shadow:inset 1px 1px 1px #ccc;border-radius:.12em;border:none}.ui-checkboxradio-radio-label .ui-icon-background{width:16px;height:16px;border-radius:1em;overflow:visible;border:none}.ui-checkboxradio-radio-label.ui-checkboxradio-checked .ui-icon,.ui-checkboxradio-radio-label.ui-checkboxradio-checked:hover .ui-icon{background-image:none;width:8px;height:8px;border-width:4px;border-style:solid}.ui-checkboxradio-disabled{pointer-events:none}.ui-datepicker{width:17em;padding:.2em .2em 0;display:none}.ui-datepicker .ui-datepicker-header{position:relative;padding:.2em 0}.ui-datepicker .ui-datepicker-prev,.ui-datepicker .ui-datepicker-next{position:absolute;top:2px;width:1.8em;height:1.8em}.ui-datepicker .ui-datepicker-prev-hover,.ui-datepicker .ui-datepicker-next-hover{top:1px}.ui-datepicker .ui-datepicker-prev{left:2px}.ui-datepicker .ui-datepicker-next{right:2px}.ui-datepicker .ui-datepicker-prev-hover{left:1px}.ui-datepicker .ui-datepicker-next-hover{right:1px}.ui-datepicker .ui-datepicker-prev span,.ui-datepicker .ui-datepicker-next span{display:block;position:absolute;left:50%;margin-left:-8px;top:50%;margin-top:-8px}.ui-datepicker .ui-datepicker-title{margin:0 2.3em;line-height:1.8em;text-align:center}.ui-datepicker .ui-datepicker-title select{font-size:1em;margin:1px 0}.ui-datepicker select.ui-datepicker-month,.ui-datepicker select.ui-datepicker-year{width:45%}.ui-datepicker table{width:100%;font-size:.9em;border-collapse:collapse;margin:0 0 .4em}.ui-datepicker th{padding:.7em .3em;text-align:center;font-weight:bold;border:0}.ui-datepicker td{border:0;padding:1px}.ui-datepicker td span,.ui-datepicker td a{display:block;padding:.2em;text-align:right;text-decoration:none}.ui-datepicker .ui-datepicker-buttonpane{background-image:none;margin:.7em 0 0 0;padding:0 .2em;border-left:0;border-right:0;border-bottom:0}.ui-datepicker .ui-datepicker-buttonpane button{float:right;margin:.5em .2em .4em;cursor:pointer;padding:.2em .6em .3em .6em;width:auto;overflow:visible}.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current{float:left}.ui-datepicker.ui-datepicker-multi{width:auto}.ui-datepicker-multi .ui-datepicker-group{float:left}.ui-datepicker-multi .ui-datepicker-group table{width:95%;margin:0 auto .4em}.ui-datepicker-multi-2 .ui-datepicker-group{width:50%}.ui-datepicker-multi-3 .ui-datepicker-group{width:33.3%}.ui-datepicker-multi-4 .ui-datepicker-group{width:25%}.ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header,.ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header{border-left-width:0}.ui-datepicker-multi .ui-datepicker-buttonpane{clear:left}.ui-datepicker-row-break{clear:both;width:100%;font-size:0}.ui-datepicker-rtl{direction:rtl}.ui-datepicker-rtl .ui-datepicker-prev{right:2px;left:auto}.ui-datepicker-rtl .ui-datepicker-next{left:2px;right:auto}.ui-datepicker-rtl .ui-datepicker-prev:hover{right:1px;left:auto}.ui-datepicker-rtl .ui-datepicker-next:hover{left:1px;right:auto}.ui-datepicker-rtl .ui-datepicker-buttonpane{clear:right}.ui-datepicker-rtl .ui-datepicker-buttonpane button{float:left}.ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current,.ui-datepicker-rtl .ui-datepicker-group{float:right}.ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header,.ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header{border-right-width:0;border-left-width:1px}.ui-datepicker .ui-icon{display:block;text-indent:-99999px;overflow:hidden;background-repeat:no-repeat;left:.5em;top:.3em}.ui-dialog{position:absolute;top:0;left:0;padding:.2em;outline:0}.ui-dialog .ui-dialog-titlebar{padding:.4em 1em;position:relative}.ui-dialog .ui-dialog-title{float:left;margin:.1em 0;white-space:nowrap;width:90%;overflow:hidden;text-overflow:ellipsis}.ui-dialog .ui-dialog-titlebar-close{position:absolute;right:.3em;top:50%;width:20px;margin:-10px 0 0 0;padding:1px;height:20px}.ui-dialog .ui-dialog-content{position:relative;border:0;padding:.5em 1em;background:none;overflow:auto}.ui-dialog .ui-dialog-buttonpane{text-align:left;border-width:1px 0 0 0;background-image:none;margin-top:.5em;padding:.3em 1em .5em .4em}.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset{float:right}.ui-dialog .ui-dialog-buttonpane button{margin:.5em .4em .5em 0;cursor:pointer}.ui-dialog .ui-resizable-n{height:2px;top:0}.ui-dialog .ui-resizable-e{width:2px;right:0}.ui-dialog .ui-resizable-s{height:2px;bottom:0}.ui-dialog .ui-resizable-w{width:2px;left:0}.ui-dialog .ui-resizable-se,.ui-dialog .ui-resizable-sw,.ui-dialog .ui-resizable-ne,.ui-dialog .ui-resizable-nw{width:7px;height:7px}.ui-dialog .ui-resizable-se{right:0;bottom:0}.ui-dialog .ui-resizable-sw{left:0;bottom:0}.ui-dialog .ui-resizable-ne{right:0;top:0}.ui-dialog .ui-resizable-nw{left:0;top:0}.ui-draggable .ui-dialog-titlebar{cursor:move}.ui-progressbar{height:2em;text-align:left;overflow:hidden}.ui-progressbar .ui-progressbar-value{margin:-1px;height:100%}.ui-progressbar .ui-progressbar-overlay{background:url("data:image/gif;base64,R0lGODlhKAAoAIABAAAAAP///yH/C05FVFNDQVBFMi4wAwEAAAAh+QQJAQABACwAAAAAKAAoAAACkYwNqXrdC52DS06a7MFZI+4FHBCKoDeWKXqymPqGqxvJrXZbMx7Ttc+w9XgU2FB3lOyQRWET2IFGiU9m1frDVpxZZc6bfHwv4c1YXP6k1Vdy292Fb6UkuvFtXpvWSzA+HycXJHUXiGYIiMg2R6W459gnWGfHNdjIqDWVqemH2ekpObkpOlppWUqZiqr6edqqWQAAIfkECQEAAQAsAAAAACgAKAAAApSMgZnGfaqcg1E2uuzDmmHUBR8Qil95hiPKqWn3aqtLsS18y7G1SzNeowWBENtQd+T1JktP05nzPTdJZlR6vUxNWWjV+vUWhWNkWFwxl9VpZRedYcflIOLafaa28XdsH/ynlcc1uPVDZxQIR0K25+cICCmoqCe5mGhZOfeYSUh5yJcJyrkZWWpaR8doJ2o4NYq62lAAACH5BAkBAAEALAAAAAAoACgAAAKVDI4Yy22ZnINRNqosw0Bv7i1gyHUkFj7oSaWlu3ovC8GxNso5fluz3qLVhBVeT/Lz7ZTHyxL5dDalQWPVOsQWtRnuwXaFTj9jVVh8pma9JjZ4zYSj5ZOyma7uuolffh+IR5aW97cHuBUXKGKXlKjn+DiHWMcYJah4N0lYCMlJOXipGRr5qdgoSTrqWSq6WFl2ypoaUAAAIfkECQEAAQAsAAAAACgAKAAAApaEb6HLgd/iO7FNWtcFWe+ufODGjRfoiJ2akShbueb0wtI50zm02pbvwfWEMWBQ1zKGlLIhskiEPm9R6vRXxV4ZzWT2yHOGpWMyorblKlNp8HmHEb/lCXjcW7bmtXP8Xt229OVWR1fod2eWqNfHuMjXCPkIGNileOiImVmCOEmoSfn3yXlJWmoHGhqp6ilYuWYpmTqKUgAAIfkECQEAAQAsAAAAACgAKAAAApiEH6kb58biQ3FNWtMFWW3eNVcojuFGfqnZqSebuS06w5V80/X02pKe8zFwP6EFWOT1lDFk8rGERh1TTNOocQ61Hm4Xm2VexUHpzjymViHrFbiELsefVrn6XKfnt2Q9G/+Xdie499XHd2g4h7ioOGhXGJboGAnXSBnoBwKYyfioubZJ2Hn0RuRZaflZOil56Zp6iioKSXpUAAAh+QQJAQABACwAAAAAKAAoAAACkoQRqRvnxuI7kU1a1UU5bd5tnSeOZXhmn5lWK3qNTWvRdQxP8qvaC+/yaYQzXO7BMvaUEmJRd3TsiMAgswmNYrSgZdYrTX6tSHGZO73ezuAw2uxuQ+BbeZfMxsexY35+/Qe4J1inV0g4x3WHuMhIl2jXOKT2Q+VU5fgoSUI52VfZyfkJGkha6jmY+aaYdirq+lQAACH5BAkBAAEALAAAAAAoACgAAAKWBIKpYe0L3YNKToqswUlvznigd4wiR4KhZrKt9Upqip61i9E3vMvxRdHlbEFiEXfk9YARYxOZZD6VQ2pUunBmtRXo1Lf8hMVVcNl8JafV38aM2/Fu5V16Bn63r6xt97j09+MXSFi4BniGFae3hzbH9+hYBzkpuUh5aZmHuanZOZgIuvbGiNeomCnaxxap2upaCZsq+1kAACH5BAkBAAEALAAAAAAoACgAAAKXjI8By5zf4kOxTVrXNVlv1X0d8IGZGKLnNpYtm8Lr9cqVeuOSvfOW79D9aDHizNhDJidFZhNydEahOaDH6nomtJjp1tutKoNWkvA6JqfRVLHU/QUfau9l2x7G54d1fl995xcIGAdXqMfBNadoYrhH+Mg2KBlpVpbluCiXmMnZ2Sh4GBqJ+ckIOqqJ6LmKSllZmsoq6wpQAAAh+QQJAQABACwAAAAAKAAoAAAClYx/oLvoxuJDkU1a1YUZbJ59nSd2ZXhWqbRa2/gF8Gu2DY3iqs7yrq+xBYEkYvFSM8aSSObE+ZgRl1BHFZNr7pRCavZ5BW2142hY3AN/zWtsmf12p9XxxFl2lpLn1rseztfXZjdIWIf2s5dItwjYKBgo9yg5pHgzJXTEeGlZuenpyPmpGQoKOWkYmSpaSnqKileI2FAAACH5BAkBAAEALAAAAAAoACgAAAKVjB+gu+jG4kORTVrVhRlsnn2dJ3ZleFaptFrb+CXmO9OozeL5VfP99HvAWhpiUdcwkpBH3825AwYdU8xTqlLGhtCosArKMpvfa1mMRae9VvWZfeB2XfPkeLmm18lUcBj+p5dnN8jXZ3YIGEhYuOUn45aoCDkp16hl5IjYJvjWKcnoGQpqyPlpOhr3aElaqrq56Bq7VAAAOw==");height:100%;opacity:0.25}.ui-progressbar-indeterminate .ui-progressbar-value{background-image:none}.ui-selectmenu-menu{padding:0;margin:0;position:absolute;top:0;left:0;display:none}.ui-selectmenu-menu .ui-menu{overflow:auto;overflow-x:hidden;padding-bottom:1px}.ui-selectmenu-menu .ui-menu .ui-selectmenu-optgroup{font-size:1em;font-weight:bold;line-height:1.5;padding:2px 0.4em;margin:0.5em 0 0 0;height:auto;border:0}.ui-selectmenu-open{display:block}.ui-selectmenu-text{display:block;margin-right:20px;overflow:hidden;text-overflow:ellipsis}.ui-selectmenu-button.ui-button{text-align:left;white-space:nowrap;width:14em}.ui-selectmenu-icon.ui-icon{float:right;margin-top:0}.ui-slider{position:relative;text-align:left}.ui-slider .ui-slider-handle{position:absolute;z-index:2;width:1.2em;height:1.2em;cursor:pointer;touch-action:none}.ui-slider .ui-slider-range{position:absolute;z-index:1;font-size:.7em;display:block;border:0;background-position:0 0}.ui-slider-horizontal{height:.8em}.ui-slider-horizontal .ui-slider-handle{top:-.3em;margin-left:-.6em}.ui-slider-horizontal .ui-slider-range{top:0;height:100%}.ui-slider-horizontal .ui-slider-range-min{left:0}.ui-slider-horizontal .ui-slider-range-max{right:0}.ui-slider-vertical{width:.8em;height:100px}.ui-slider-vertical .ui-slider-handle{left:-.3em;margin-left:0;margin-bottom:-.6em}.ui-slider-vertical .ui-slider-range{left:0;width:100%}.ui-slider-vertical .ui-slider-range-min{bottom:0}.ui-slider-vertical .ui-slider-range-max{top:0}.ui-spinner{position:relative;display:inline-block;overflow:hidden;padding:0;vertical-align:middle}.ui-spinner-input{border:none;background:none;color:inherit;padding:.222em 0;margin:.2em 0;vertical-align:middle;margin-left:.4em;margin-right:2em}.ui-spinner-button{width:1.6em;height:50%;font-size:.5em;padding:0;margin:0;text-align:center;position:absolute;cursor:default;display:block;overflow:hidden;right:0}.ui-spinner a.ui-spinner-button{border-top-style:none;border-bottom-style:none;border-right-style:none}.ui-spinner-up{top:0}.ui-spinner-down{bottom:0}.ui-tabs{position:relative;padding:.2em}.ui-tabs .ui-tabs-nav{margin:0;padding:.2em .2em 0}.ui-tabs .ui-tabs-nav li{list-style:none;float:left;position:relative;top:0;margin:1px .2em 0 0;border-bottom-width:0;padding:0;white-space:nowrap}.ui-tabs .ui-tabs-nav .ui-tabs-anchor{float:left;padding:.5em 1em;text-decoration:none}.ui-tabs .ui-tabs-nav li.ui-tabs-active{margin-bottom:-1px;padding-bottom:1px}.ui-tabs .ui-tabs-nav li.ui-tabs-active .ui-tabs-anchor,.ui-tabs .ui-tabs-nav li.ui-state-disabled .ui-tabs-anchor,.ui-tabs .ui-tabs-nav li.ui-tabs-loading .ui-tabs-anchor{cursor:text}.ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-active .ui-tabs-anchor{cursor:pointer}.ui-tabs .ui-tabs-panel{display:block;border-width:0;padding:1em 1.4em;background:none}.ui-tooltip{padding:8px;position:absolute;z-index:9999;max-width:300px}body .ui-tooltip{border-width:2px}.ui-widget{font-family:Arial,Helvetica,sans-serif;font-size:1em}.ui-widget .ui-widget{font-size:1em}.ui-widget input,.ui-widget select,.ui-widget textarea,.ui-widget button{font-family:Arial,Helvetica,sans-serif;font-size:1em}.ui-widget.ui-widget-content{border:1px solid #c5c5c5}.ui-widget-content{border:1px solid #ddd;background:#fff;color:#333}.ui-widget-content a{color:#333}.ui-widget-header{border:1px solid #ddd;background:#e9e9e9;color:#333;font-weight:bold}.ui-widget-header a{color:#333}.ui-state-default,.ui-widget-content .ui-state-default,.ui-widget-header .ui-state-default,.ui-button,html .ui-button.ui-state-disabled:hover,html .ui-button.ui-state-disabled:active{border:1px solid #c5c5c5;background:#f6f6f6;font-weight:normal;color:#454545}.ui-state-default a,.ui-state-default a:link,.ui-state-default a:visited,a.ui-button,a:link.ui-button,a:visited.ui-button,.ui-button{color:#454545;text-decoration:none}.ui-state-hover,.ui-widget-content .ui-state-hover,.ui-widget-header .ui-state-hover,.ui-state-focus,.ui-widget-content .ui-state-focus,.ui-widget-header .ui-state-focus,.ui-button:hover,.ui-button:focus{border:1px solid #ccc;background:#ededed;font-weight:normal;color:#2b2b2b}.ui-state-hover a,.ui-state-hover a:hover,.ui-state-hover a:link,.ui-state-hover a:visited,.ui-state-focus a,.ui-state-focus a:hover,.ui-state-focus a:link,.ui-state-focus a:visited,a.ui-button:hover,a.ui-button:focus{color:#2b2b2b;text-decoration:none}.ui-visual-focus{box-shadow:0 0 3px 1px rgb(94,158,214)}.ui-state-active,.ui-widget-content .ui-state-active,.ui-widget-header .ui-state-active,a.ui-button:active,.ui-button:active,.ui-button.ui-state-active:hover{border:1px solid #003eff;background:#007fff;font-weight:normal;color:#fff}.ui-icon-background,.ui-state-active .ui-icon-background{border:#003eff;background-color:#fff}.ui-state-active a,.ui-state-active a:link,.ui-state-active a:visited{color:#fff;text-decoration:none}.ui-state-highlight,.ui-widget-content .ui-state-highlight,.ui-widget-header .ui-state-highlight{border:1px solid #dad55e;background:#fffa90;color:#777620}.ui-state-checked{border:1px solid #dad55e;background:#fffa90}.ui-state-highlight a,.ui-widget-content .ui-state-highlight a,.ui-widget-header .ui-state-highlight a{color:#777620}.ui-state-error,.ui-widget-content .ui-state-error,.ui-widget-header .ui-state-error{border:1px solid #f1a899;background:#fddfdf;color:#5f3f3f}.ui-state-error a,.ui-widget-content .ui-state-error a,.ui-widget-header .ui-state-error a{color:#5f3f3f}.ui-state-error-text,.ui-widget-content .ui-state-error-text,.ui-widget-header .ui-state-error-text{color:#5f3f3f}.ui-priority-primary,.ui-widget-content .ui-priority-primary,.ui-widget-header .ui-priority-primary{font-weight:bold}.ui-priority-secondary,.ui-widget-content .ui-priority-secondary,.ui-widget-header .ui-priority-secondary{opacity:.7;font-weight:normal}.ui-state-disabled,.ui-widget-content .ui-state-disabled,.ui-widget-header .ui-state-disabled{opacity:.35;background-image:none}.ui-icon{width:16px;height:16px}.ui-icon,.ui-widget-content .ui-icon{background-image:url("./../extlibs/jquery-ui-1.14.1.custom/images/ui-icons_444444_256x240.png")}.ui-widget-header .ui-icon{background-image:url("./../extlibs/jquery-ui-1.14.1.custom/images/ui-icons_444444_256x240.png")}.ui-state-hover .ui-icon,.ui-state-focus .ui-icon,.ui-button:hover .ui-icon,.ui-button:focus .ui-icon{background-image:url("./../extlibs/jquery-ui-1.14.1.custom/images/ui-icons_555555_256x240.png")}.ui-state-active .ui-icon,.ui-button:active .ui-icon{background-image:url("./../extlibs/jquery-ui-1.14.1.custom/images/ui-icons_ffffff_256x240.png")}.ui-state-highlight .ui-icon,.ui-button .ui-state-highlight.ui-icon{background-image:url("./../extlibs/jquery-ui-1.14.1.custom/images/ui-icons_777620_256x240.png")}.ui-state-error .ui-icon,.ui-state-error-text .ui-icon{background-image:url("./../extlibs/jquery-ui-1.14.1.custom/images/ui-icons_cc0000_256x240.png")}.ui-button .ui-icon{background-image:url("./../extlibs/jquery-ui-1.14.1.custom/images/ui-icons_777777_256x240.png")}.ui-icon-blank.ui-icon-blank.ui-icon-blank{background-image:none}.ui-icon-caret-1-n{background-position:0 0}.ui-icon-caret-1-ne{background-position:-16px 0}.ui-icon-caret-1-e{background-position:-32px 0}.ui-icon-caret-1-se{background-position:-48px 0}.ui-icon-caret-1-s{background-position:-65px 0}.ui-icon-caret-1-sw{background-position:-80px 0}.ui-icon-caret-1-w{background-position:-96px 0}.ui-icon-caret-1-nw{background-position:-112px 0}.ui-icon-caret-2-n-s{background-position:-128px 0}.ui-icon-caret-2-e-w{background-position:-144px 0}.ui-icon-triangle-1-n{background-position:0 -16px}.ui-icon-triangle-1-ne{background-position:-16px -16px}.ui-icon-triangle-1-e{background-position:-32px -16px}.ui-icon-triangle-1-se{background-position:-48px -16px}.ui-icon-triangle-1-s{background-position:-65px -16px}.ui-icon-triangle-1-sw{background-position:-80px -16px}.ui-icon-triangle-1-w{background-position:-96px -16px}.ui-icon-triangle-1-nw{background-position:-112px -16px}.ui-icon-triangle-2-n-s{background-position:-128px -16px}.ui-icon-triangle-2-e-w{background-position:-144px -16px}.ui-icon-arrow-1-n{background-position:0 -32px}.ui-icon-arrow-1-ne{background-position:-16px -32px}.ui-icon-arrow-1-e{background-position:-32px -32px}.ui-icon-arrow-1-se{background-position:-48px -32px}.ui-icon-arrow-1-s{background-position:-65px -32px}.ui-icon-arrow-1-sw{background-position:-80px -32px}.ui-icon-arrow-1-w{background-position:-96px -32px}.ui-icon-arrow-1-nw{background-position:-112px -32px}.ui-icon-arrow-2-n-s{background-position:-128px -32px}.ui-icon-arrow-2-ne-sw{background-position:-144px -32px}.ui-icon-arrow-2-e-w{background-position:-160px -32px}.ui-icon-arrow-2-se-nw{background-position:-176px -32px}.ui-icon-arrowstop-1-n{background-position:-192px -32px}.ui-icon-arrowstop-1-e{background-position:-208px -32px}.ui-icon-arrowstop-1-s{background-position:-224px -32px}.ui-icon-arrowstop-1-w{background-position:-240px -32px}.ui-icon-arrowthick-1-n{background-position:1px -48px}.ui-icon-arrowthick-1-ne{background-position:-16px -48px}.ui-icon-arrowthick-1-e{background-position:-32px -48px}.ui-icon-arrowthick-1-se{background-position:-48px -48px}.ui-icon-arrowthick-1-s{background-position:-64px -48px}.ui-icon-arrowthick-1-sw{background-position:-80px -48px}.ui-icon-arrowthick-1-w{background-position:-96px -48px}.ui-icon-arrowthick-1-nw{background-position:-112px -48px}.ui-icon-arrowthick-2-n-s{background-position:-128px -48px}.ui-icon-arrowthick-2-ne-sw{background-position:-144px -48px}.ui-icon-arrowthick-2-e-w{background-position:-160px -48px}.ui-icon-arrowthick-2-se-nw{background-position:-176px -48px}.ui-icon-arrowthickstop-1-n{background-position:-192px -48px}.ui-icon-arrowthickstop-1-e{background-position:-208px -48px}.ui-icon-arrowthickstop-1-s{background-position:-224px -48px}.ui-icon-arrowthickstop-1-w{background-position:-240px -48px}.ui-icon-arrowreturnthick-1-w{background-position:0 -64px}.ui-icon-arrowreturnthick-1-n{background-position:-16px -64px}.ui-icon-arrowreturnthick-1-e{background-position:-32px -64px}.ui-icon-arrowreturnthick-1-s{background-position:-48px -64px}.ui-icon-arrowreturn-1-w{background-position:-64px -64px}.ui-icon-arrowreturn-1-n{background-position:-80px -64px}.ui-icon-arrowreturn-1-e{background-position:-96px -64px}.ui-icon-arrowreturn-1-s{background-position:-112px -64px}.ui-icon-arrowrefresh-1-w{background-position:-128px -64px}.ui-icon-arrowrefresh-1-n{background-position:-144px -64px}.ui-icon-arrowrefresh-1-e{background-position:-160px -64px}.ui-icon-arrowrefresh-1-s{background-position:-176px -64px}.ui-icon-arrow-4{background-position:0 -80px}.ui-icon-arrow-4-diag{background-position:-16px -80px}.ui-icon-extlink{background-position:-32px -80px}.ui-icon-newwin{background-position:-48px -80px}.ui-icon-refresh{background-position:-64px -80px}.ui-icon-shuffle{background-position:-80px -80px}.ui-icon-transfer-e-w{background-position:-96px -80px}.ui-icon-transferthick-e-w{background-position:-112px -80px}.ui-icon-folder-collapsed{background-position:0 -96px}.ui-icon-folder-open{background-position:-16px -96px}.ui-icon-document{background-position:-32px -96px}.ui-icon-document-b{background-position:-48px -96px}.ui-icon-note{background-position:-64px -96px}.ui-icon-mail-closed{background-position:-80px -96px}.ui-icon-mail-open{background-position:-96px -96px}.ui-icon-suitcase{background-position:-112px -96px}.ui-icon-comment{background-position:-128px -96px}.ui-icon-person{background-position:-144px -96px}.ui-icon-print{background-position:-160px -96px}.ui-icon-trash{background-position:-176px -96px}.ui-icon-locked{background-position:-192px -96px}.ui-icon-unlocked{background-position:-208px -96px}.ui-icon-bookmark{background-position:-224px -96px}.ui-icon-tag{background-position:-240px -96px}.ui-icon-home{background-position:0 -112px}.ui-icon-flag{background-position:-16px -112px}.ui-icon-calendar{background-position:-32px -112px}.ui-icon-cart{background-position:-48px -112px}.ui-icon-pencil{background-position:-64px -112px}.ui-icon-clock{background-position:-80px -112px}.ui-icon-disk{background-position:-96px -112px}.ui-icon-calculator{background-position:-112px -112px}.ui-icon-zoomin{background-position:-128px -112px}.ui-icon-zoomout{background-position:-144px -112px}.ui-icon-search{background-position:-160px -112px}.ui-icon-wrench{background-position:-176px -112px}.ui-icon-gear{background-position:-192px -112px}.ui-icon-heart{background-position:-208px -112px}.ui-icon-star{background-position:-224px -112px}.ui-icon-link{background-position:-240px -112px}.ui-icon-cancel{background-position:0 -128px}.ui-icon-plus{background-position:-16px -128px}.ui-icon-plusthick{background-position:-32px -128px}.ui-icon-minus{background-position:-48px -128px}.ui-icon-minusthick{background-position:-64px -128px}.ui-icon-close{background-position:-80px -128px}.ui-icon-closethick{background-position:-96px -128px}.ui-icon-key{background-position:-112px -128px}.ui-icon-lightbulb{background-position:-128px -128px}.ui-icon-scissors{background-position:-144px -128px}.ui-icon-clipboard{background-position:-160px -128px}.ui-icon-copy{background-position:-176px -128px}.ui-icon-contact{background-position:-192px -128px}.ui-icon-image{background-position:-208px -128px}.ui-icon-video{background-position:-224px -128px}.ui-icon-script{background-position:-240px -128px}.ui-icon-alert{background-position:0 -144px}.ui-icon-info{background-position:-16px -144px}.ui-icon-notice{background-position:-32px -144px}.ui-icon-help{background-position:-48px -144px}.ui-icon-check{background-position:-64px -144px}.ui-icon-bullet{background-position:-80px -144px}.ui-icon-radio-on{background-position:-96px -144px}.ui-icon-radio-off{background-position:-112px -144px}.ui-icon-pin-w{background-position:-128px -144px}.ui-icon-pin-s{background-position:-144px -144px}.ui-icon-play{background-position:0 -160px}.ui-icon-pause{background-position:-16px -160px}.ui-icon-seek-next{background-position:-32px -160px}.ui-icon-seek-prev{background-position:-48px -160px}.ui-icon-seek-end{background-position:-64px -160px}.ui-icon-seek-start{background-position:-80px -160px}.ui-icon-seek-first{background-position:-80px -160px}.ui-icon-stop{background-position:-96px -160px}.ui-icon-eject{background-position:-112px -160px}.ui-icon-volume-off{background-position:-128px -160px}.ui-icon-volume-on{background-position:-144px -160px}.ui-icon-power{background-position:0 -176px}.ui-icon-signal-diag{background-position:-16px -176px}.ui-icon-signal{background-position:-32px -176px}.ui-icon-battery-0{background-position:-48px -176px}.ui-icon-battery-1{background-position:-64px -176px}.ui-icon-battery-2{background-position:-80px -176px}.ui-icon-battery-3{background-position:-96px -176px}.ui-icon-circle-plus{background-position:0 -192px}.ui-icon-circle-minus{background-position:-16px -192px}.ui-icon-circle-close{background-position:-32px -192px}.ui-icon-circle-triangle-e{background-position:-48px -192px}.ui-icon-circle-triangle-s{background-position:-64px -192px}.ui-icon-circle-triangle-w{background-position:-80px -192px}.ui-icon-circle-triangle-n{background-position:-96px -192px}.ui-icon-circle-arrow-e{background-position:-112px -192px}.ui-icon-circle-arrow-s{background-position:-128px -192px}.ui-icon-circle-arrow-w{background-position:-144px -192px}.ui-icon-circle-arrow-n{background-position:-160px -192px}.ui-icon-circle-zoomin{background-position:-176px -192px}.ui-icon-circle-zoomout{background-position:-192px -192px}.ui-icon-circle-check{background-position:-208px -192px}.ui-icon-circlesmall-plus{background-position:0 -208px}.ui-icon-circlesmall-minus{background-position:-16px -208px}.ui-icon-circlesmall-close{background-position:-32px -208px}.ui-icon-squaresmall-plus{background-position:-48px -208px}.ui-icon-squaresmall-minus{background-position:-64px -208px}.ui-icon-squaresmall-close{background-position:-80px -208px}.ui-icon-grip-dotted-vertical{background-position:0 -224px}.ui-icon-grip-dotted-horizontal{background-position:-16px -224px}.ui-icon-grip-solid-vertical{background-position:-32px -224px}.ui-icon-grip-solid-horizontal{background-position:-48px -224px}.ui-icon-gripsmall-diagonal-se{background-position:-64px -224px}.ui-icon-grip-diagonal-se{background-position:-80px -224px}.ui-corner-all,.ui-corner-top,.ui-corner-left,.ui-corner-tl{border-top-left-radius:3px}.ui-corner-all,.ui-corner-top,.ui-corner-right,.ui-corner-tr{border-top-right-radius:3px}.ui-corner-all,.ui-corner-bottom,.ui-corner-left,.ui-corner-bl{border-bottom-left-radius:3px}.ui-corner-all,.ui-corner-bottom,.ui-corner-right,.ui-corner-br{border-bottom-right-radius:3px}.ui-widget-overlay{background:#aaa;opacity:.3}.ui-widget-shadow{box-shadow:0 0 5px #666}

/* leaflet.css*/
/* required styles */

.leaflet-pane,
.leaflet-tile,
.leaflet-marker-icon,
.leaflet-marker-shadow,
.leaflet-tile-container,
.leaflet-pane > svg,
.leaflet-pane > canvas,
.leaflet-zoom-box,
.leaflet-image-layer,
.leaflet-layer {
	position: absolute;
	left: 0;
	top: 0;
	}
.leaflet-container {
	overflow: hidden;
	}
.leaflet-tile,
.leaflet-marker-icon,
.leaflet-marker-shadow {
	-webkit-user-select: none;
	   -moz-user-select: none;
	        user-select: none;
	  -webkit-user-drag: none;
	}
/* Prevents IE11 from highlighting tiles in blue */
.leaflet-tile::selection {
	background: transparent;
}
/* Safari renders non-retina tile on retina better with this, but Chrome is worse */
.leaflet-safari .leaflet-tile {
	image-rendering: -webkit-optimize-contrast;
	}
/* hack that prevents hw layers "stretching" when loading new tiles */
.leaflet-safari .leaflet-tile-container {
	width: 1600px;
	height: 1600px;
	-webkit-transform-origin: 0 0;
	}
.leaflet-marker-icon,
.leaflet-marker-shadow {
	display: block;
	}
/* .leaflet-container svg: reset svg max-width decleration shipped in Joomla! (joomla.org) 3.x */
/* .leaflet-container img: map is broken in FF if you have max-width: 100% on tiles */
.leaflet-container .leaflet-overlay-pane svg {
	max-width: none !important;
	max-height: none !important;
	}
.leaflet-container .leaflet-marker-pane img,
.leaflet-container .leaflet-shadow-pane img,
.leaflet-container .leaflet-tile-pane img,
.leaflet-container img.leaflet-image-layer,
.leaflet-container .leaflet-tile {
	max-width: none !important;
	max-height: none !important;
	width: auto;
	padding: 0;
	}

.leaflet-container img.leaflet-tile {
	/* See: https://bugs.chromium.org/p/chromium/issues/detail?id=600120 */
	mix-blend-mode: plus-lighter;
}

.leaflet-container.leaflet-touch-zoom {
	-ms-touch-action: pan-x pan-y;
	touch-action: pan-x pan-y;
	}
.leaflet-container.leaflet-touch-drag {
	-ms-touch-action: pinch-zoom;
	/* Fallback for FF which doesn't support pinch-zoom */
	touch-action: none;
	touch-action: pinch-zoom;
}
.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom {
	-ms-touch-action: none;
	touch-action: none;
}
.leaflet-container {
	-webkit-tap-highlight-color: transparent;
}
.leaflet-container a {
	-webkit-tap-highlight-color: rgba(51, 181, 229, 0.4);
}
.leaflet-tile {
	filter: inherit;
	visibility: hidden;
	}
.leaflet-tile-loaded {
	visibility: inherit;
	}
.leaflet-zoom-box {
	width: 0;
	height: 0;
	-moz-box-sizing: border-box;
	     box-sizing: border-box;
	z-index: 800;
	}
/* workaround for https://bugzilla.mozilla.org/show_bug.cgi?id=888319 */
.leaflet-overlay-pane svg {
	-moz-user-select: none;
	}

.leaflet-pane         { z-index: 400; }

.leaflet-tile-pane    { z-index: 200; }
.leaflet-overlay-pane { z-index: 400; }
.leaflet-shadow-pane  { z-index: 500; }
.leaflet-marker-pane  { z-index: 600; }
.leaflet-tooltip-pane   { z-index: 650; }
.leaflet-popup-pane   { z-index: 700; }

.leaflet-map-pane canvas { z-index: 100; }
.leaflet-map-pane svg    { z-index: 200; }

.leaflet-vml-shape {
	width: 1px;
	height: 1px;
	}
.lvml {
	behavior: url(#default#VML);
	display: inline-block;
	position: absolute;
	}


/* control positioning */

.leaflet-control {
	position: relative;
	z-index: 800;
	pointer-events: visiblePainted; /* IE 9-10 doesn't have auto */
	pointer-events: auto;
	}
.leaflet-top,
.leaflet-bottom {
	position: absolute;
	z-index: 1000;
	pointer-events: none;
	}
.leaflet-top {
	top: 0;
	}
.leaflet-right {
	right: 0;
	}
.leaflet-bottom {
	bottom: 0;
	}
.leaflet-left {
	left: 0;
	}
.leaflet-control {
	float: left;
	clear: both;
	}
.leaflet-right .leaflet-control {
	float: right;
	}
.leaflet-top .leaflet-control {
	margin-top: 10px;
	}
.leaflet-bottom .leaflet-control {
	margin-bottom: 10px;
	}
.leaflet-left .leaflet-control {
	margin-left: 10px;
	}
.leaflet-right .leaflet-control {
	margin-right: 10px;
	}


/* zoom and fade animations */

.leaflet-fade-anim .leaflet-popup {
	opacity: 0;
	-webkit-transition: opacity 0.2s linear;
	   -moz-transition: opacity 0.2s linear;
	        transition: opacity 0.2s linear;
	}
.leaflet-fade-anim .leaflet-map-pane .leaflet-popup {
	opacity: 1;
	}
.leaflet-zoom-animated {
	-webkit-transform-origin: 0 0;
	    -ms-transform-origin: 0 0;
	        transform-origin: 0 0;
	}
svg.leaflet-zoom-animated {
	will-change: transform;
}

.leaflet-zoom-anim .leaflet-zoom-animated {
	-webkit-transition: -webkit-transform 0.25s cubic-bezier(0,0,0.25,1);
	   -moz-transition:    -moz-transform 0.25s cubic-bezier(0,0,0.25,1);
	        transition:         transform 0.25s cubic-bezier(0,0,0.25,1);
	}
.leaflet-zoom-anim .leaflet-tile,
.leaflet-pan-anim .leaflet-tile {
	-webkit-transition: none;
	   -moz-transition: none;
	        transition: none;
	}

.leaflet-zoom-anim .leaflet-zoom-hide {
	visibility: hidden;
	}


/* cursors */

.leaflet-interactive {
	cursor: pointer;
	}
.leaflet-grab {
	cursor: -webkit-grab;
	cursor:    -moz-grab;
	cursor:         grab;
	}
.leaflet-crosshair,
.leaflet-crosshair .leaflet-interactive {
	cursor: crosshair;
	}
.leaflet-popup-pane,
.leaflet-control {
	cursor: auto;
	}
.leaflet-dragging .leaflet-grab,
.leaflet-dragging .leaflet-grab .leaflet-interactive,
.leaflet-dragging .leaflet-marker-draggable {
	cursor: move;
	cursor: -webkit-grabbing;
	cursor:    -moz-grabbing;
	cursor:         grabbing;
	}

/* marker & overlays interactivity */
.leaflet-marker-icon,
.leaflet-marker-shadow,
.leaflet-image-layer,
.leaflet-pane > svg path,
.leaflet-tile-container {
	pointer-events: none;
	}

.leaflet-marker-icon.leaflet-interactive,
.leaflet-image-layer.leaflet-interactive,
.leaflet-pane > svg path.leaflet-interactive,
svg.leaflet-image-layer.leaflet-interactive path {
	pointer-events: visiblePainted; /* IE 9-10 doesn't have auto */
	pointer-events: auto;
	}

/* visual tweaks */

.leaflet-container {
	background: #ddd;
	outline-offset: 1px;
	}
.leaflet-container a {
	color: #0078A8;
	}
.leaflet-zoom-box {
	border: 2px dotted #38f;
	background: rgba(255,255,255,0.5);
	}


/* general typography */
.leaflet-container {
	font-family: "Helvetica Neue", Arial, Helvetica, sans-serif;
	font-size: 12px;
	font-size: 0.75rem;
	line-height: 1.5;
	}


/* general toolbar styles */

.leaflet-bar {
	box-shadow: 0 1px 5px rgba(0,0,0,0.65);
	border-radius: 4px;
	}
.leaflet-bar a {
	background-color: #fff;
	border-bottom: 1px solid #ccc;
	width: 26px;
	height: 26px;
	line-height: 26px;
	display: block;
	text-align: center;
	text-decoration: none;
	color: black;
	}
.leaflet-bar a,
.leaflet-control-layers-toggle {
	background-position: 50% 50%;
	background-repeat: no-repeat;
	display: block;
	}
.leaflet-bar a:hover,
.leaflet-bar a:focus {
	background-color: #f4f4f4;
	}
.leaflet-bar a:first-child {
	border-top-left-radius: 4px;
	border-top-right-radius: 4px;
	}
.leaflet-bar a:last-child {
	border-bottom-left-radius: 4px;
	border-bottom-right-radius: 4px;
	border-bottom: none;
	}
.leaflet-bar a.leaflet-disabled {
	cursor: default;
	background-color: #f4f4f4;
	color: #bbb;
	}

.leaflet-touch .leaflet-bar a {
	width: 30px;
	height: 30px;
	line-height: 30px;
	}
.leaflet-touch .leaflet-bar a:first-child {
	border-top-left-radius: 2px;
	border-top-right-radius: 2px;
	}
.leaflet-touch .leaflet-bar a:last-child {
	border-bottom-left-radius: 2px;
	border-bottom-right-radius: 2px;
	}

/* zoom control */

.leaflet-control-zoom-in,
.leaflet-control-zoom-out {
	font: bold 18px 'Lucida Console', Monaco, monospace;
	text-indent: 1px;
	}

.leaflet-touch .leaflet-control-zoom-in, .leaflet-touch .leaflet-control-zoom-out  {
	font-size: 22px;
	}


/* layers control */

.leaflet-control-layers {
	box-shadow: 0 1px 5px rgba(0,0,0,0.4);
	background: #fff;
	border-radius: 5px;
	}
.leaflet-control-layers-toggle {
	background-image: url(images/layers.png);
	width: 36px;
	height: 36px;
	}
.leaflet-retina .leaflet-control-layers-toggle {
	background-image: url(images/layers-2x.png);
	background-size: 26px 26px;
	}
.leaflet-touch .leaflet-control-layers-toggle {
	width: 44px;
	height: 44px;
	}
.leaflet-control-layers .leaflet-control-layers-list,
.leaflet-control-layers-expanded .leaflet-control-layers-toggle {
	display: none;
	}
.leaflet-control-layers-expanded .leaflet-control-layers-list {
	display: block;
	position: relative;
	}
.leaflet-control-layers-expanded {
	padding: 6px 10px 6px 6px;
	color: #333;
	background: #fff;
	}
.leaflet-control-layers-scrollbar {
	overflow-y: scroll;
	overflow-x: hidden;
	padding-right: 5px;
	}
.leaflet-control-layers-selector {
	margin-top: 2px;
	position: relative;
	top: 1px;
	}
.leaflet-control-layers label {
	display: block;
	font-size: 13px;
	font-size: 1.08333em;
	}
.leaflet-control-layers-separator {
	height: 0;
	border-top: 1px solid #ddd;
	margin: 5px -10px 5px -6px;
	}

/* Default icon URLs */
.leaflet-default-icon-path { /* used only in path-guessing heuristic, see L.Icon.Default */
	background-image: url(images/marker-icon.png);
	}


/* attribution and scale controls */

.leaflet-container .leaflet-control-attribution {
	background: #fff;
	background: rgba(255, 255, 255, 0.8);
	margin: 0;
	}
.leaflet-control-attribution,
.leaflet-control-scale-line {
	padding: 0 5px;
	color: #333;
	line-height: 1.4;
	}
.leaflet-control-attribution a {
	text-decoration: none;
	}
.leaflet-control-attribution a:hover,
.leaflet-control-attribution a:focus {
	text-decoration: underline;
	}
.leaflet-attribution-flag {
	display: inline !important;
	vertical-align: baseline !important;
	width: 1em;
	height: 0.6669em;
	}
.leaflet-left .leaflet-control-scale {
	margin-left: 5px;
	}
.leaflet-bottom .leaflet-control-scale {
	margin-bottom: 5px;
	}
.leaflet-control-scale-line {
	border: 2px solid #777;
	border-top: none;
	line-height: 1.1;
	padding: 2px 5px 1px;
	white-space: nowrap;
	-moz-box-sizing: border-box;
	     box-sizing: border-box;
	background: rgba(255, 255, 255, 0.8);
	text-shadow: 1px 1px #fff;
	}
.leaflet-control-scale-line:not(:first-child) {
	border-top: 2px solid #777;
	border-bottom: none;
	margin-top: -2px;
	}
.leaflet-control-scale-line:not(:first-child):not(:last-child) {
	border-bottom: 2px solid #777;
	}

.leaflet-touch .leaflet-control-attribution,
.leaflet-touch .leaflet-control-layers,
.leaflet-touch .leaflet-bar {
	box-shadow: none;
	}
.leaflet-touch .leaflet-control-layers,
.leaflet-touch .leaflet-bar {
	border: 2px solid rgba(0,0,0,0.2);
	background-clip: padding-box;
	}


/* popup */

.leaflet-popup {
	position: absolute;
	text-align: center;
	margin-bottom: 20px;
	}
.leaflet-popup-content-wrapper {
	padding: 1px;
	text-align: left;
	border-radius: 12px;
	}
.leaflet-popup-content {
	margin: 13px 24px 13px 20px;
	line-height: 1.3;
	font-size: 13px;
	font-size: 1.08333em;
	min-height: 1px;
	}
.leaflet-popup-content p {
	margin: 17px 0;
	margin: 1.3em 0;
	}
.leaflet-popup-tip-container {
	width: 40px;
	height: 20px;
	position: absolute;
	left: 50%;
	margin-top: -1px;
	margin-left: -20px;
	overflow: hidden;
	pointer-events: none;
	}
.leaflet-popup-tip {
	width: 17px;
	height: 17px;
	padding: 1px;

	margin: -10px auto 0;
	pointer-events: auto;

	-webkit-transform: rotate(45deg);
	   -moz-transform: rotate(45deg);
	    -ms-transform: rotate(45deg);
	        transform: rotate(45deg);
	}
.leaflet-popup-content-wrapper,
.leaflet-popup-tip {
	background: white;
	color: #333;
	box-shadow: 0 3px 14px rgba(0,0,0,0.4);
	}
.leaflet-container a.leaflet-popup-close-button {
	position: absolute;
	top: 0;
	right: 0;
	border: none;
	text-align: center;
	width: 24px;
	height: 24px;
	font: 16px/24px Tahoma, Verdana, sans-serif;
	color: #757575;
	text-decoration: none;
	background: transparent;
	}
.leaflet-container a.leaflet-popup-close-button:hover,
.leaflet-container a.leaflet-popup-close-button:focus {
	color: #585858;
	}
.leaflet-popup-scrolled {
	overflow: auto;
	}

.leaflet-oldie .leaflet-popup-content-wrapper {
	-ms-zoom: 1;
	}
.leaflet-oldie .leaflet-popup-tip {
	width: 24px;
	margin: 0 auto;

	-ms-filter: "progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)";
	filter: progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678);
	}

.leaflet-oldie .leaflet-control-zoom,
.leaflet-oldie .leaflet-control-layers,
.leaflet-oldie .leaflet-popup-content-wrapper,
.leaflet-oldie .leaflet-popup-tip {
	border: 1px solid #999;
	}


/* div icon */

.leaflet-div-icon {
	background: #fff;
	border: 1px solid #666;
	}


/* Tooltip */
/* Base styles for the element that has a tooltip */
.leaflet-tooltip {
	position: absolute;
	padding: 6px;
	background-color: #fff;
	border: 1px solid #fff;
	border-radius: 3px;
	color: #222;
	white-space: nowrap;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
	pointer-events: none;
	box-shadow: 0 1px 3px rgba(0,0,0,0.4);
	}
.leaflet-tooltip.leaflet-interactive {
	cursor: pointer;
	pointer-events: auto;
	}
.leaflet-tooltip-top:before,
.leaflet-tooltip-bottom:before,
.leaflet-tooltip-left:before,
.leaflet-tooltip-right:before {
	position: absolute;
	pointer-events: none;
	border: 6px solid transparent;
	background: transparent;
	content: "";
	}

/* Directions */

.leaflet-tooltip-bottom {
	margin-top: 6px;
}
.leaflet-tooltip-top {
	margin-top: -6px;
}
.leaflet-tooltip-bottom:before,
.leaflet-tooltip-top:before {
	left: 50%;
	margin-left: -6px;
	}
.leaflet-tooltip-top:before {
	bottom: 0;
	margin-bottom: -12px;
	border-top-color: #fff;
	}
.leaflet-tooltip-bottom:before {
	top: 0;
	margin-top: -12px;
	margin-left: -6px;
	border-bottom-color: #fff;
	}
.leaflet-tooltip-left {
	margin-left: -6px;
}
.leaflet-tooltip-right {
	margin-left: 6px;
}
.leaflet-tooltip-left:before,
.leaflet-tooltip-right:before {
	top: 50%;
	margin-top: -6px;
	}
.leaflet-tooltip-left:before {
	right: 0;
	margin-right: -12px;
	border-left-color: #fff;
	}
.leaflet-tooltip-right:before {
	left: 0;
	margin-left: -12px;
	border-right-color: #fff;
	}

/* Printing */

@media print {
	/* Prevent printers from removing background-images of controls. */
	.leaflet-control {
		-webkit-print-color-adjust: exact;
		print-color-adjust: exact;
		}
	}


/* rainbow.min.css*/
pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}.hljs{background:#474949;color:#d1d9e1}.hljs-comment,.hljs-quote{color:#969896;font-style:italic}.hljs-addition,.hljs-keyword,.hljs-literal,.hljs-selector-tag,.hljs-type{color:#c9c}.hljs-number,.hljs-selector-attr,.hljs-selector-pseudo{color:#f99157}.hljs-doctag,.hljs-regexp,.hljs-string{color:#8abeb7}.hljs-built_in,.hljs-name,.hljs-section,.hljs-title{color:#b5bd68}.hljs-class .hljs-title,.hljs-selector-id,.hljs-template-variable,.hljs-title.class_,.hljs-variable{color:#fc6}.hljs-name,.hljs-section,.hljs-strong{font-weight:700}.hljs-bullet,.hljs-link,.hljs-meta,.hljs-subst,.hljs-symbol{color:#f99157}.hljs-deletion{color:#dc322f}.hljs-formula{background:#eee8d5}.hljs-attr,.hljs-attribute{color:#81a2be}.hljs-emphasis{font-style:italic}

/* colors.css*/
/* Created with version 4.4.0.0-beta14 */

:root{
	--fontfamily: 'Segoe UI',system-ui,-apple-system,sans-serif;
	--fontfamily-rgb: 'Segoe UI',system-ui,-apple-system,sans-serif;
	--fontsize: 1;
	--fontsize-rgb: 1;
	--fontcolor: #2F332A;
	--fontcolor-rgb: 47,51,42;
	--colorlight: #F7F8F5;
	--colorlight-rgb: 247,248,245;
	--colormedium: #DCDFD5;
	--colormedium-rgb: 220,223,213;
	--colordark: #9CA391;
	--colordark-rgb: 156,163,145;
	--backgroundcolor: #EEF0EA;
	--backgroundcolor-rgb: 238,240,234;
	--bodycolor: #F7F8F5;
	--bodycolor-rgb: 247,248,245;
	--bordercolor: #DCDFD5;
	--bordercolor-rgb: 220,223,213;
	--backgroundcolorcci: #417C3E;
	--backgroundcolorcci-rgb: 65,124,62;
	--colorcci: #fefefe;
	--colorcci-rgb: 254,254,254;
	--bordercci: #dcdfd5;
	--bordercci-rgb: 220,223,213;
	--backgroundhovercci: #316130;
	--backgroundhovercci-rgb: 49,97,48;
	--hovercci: #fefefe;
	--hovercci-rgb: 254,254,254;
	--borderhovercci: inherit;
	--borderhovercci-rgb: ;
	--msginfocolor: #1E5163;
	--msginfocolor-rgb: 30,81,99;
	--msginfobackground: #E9F1F4;
	--msginfobackground-rgb: 233,241,244;
	--msginfobordercolor: #A8CBD8;
	--msginfobordercolor-rgb: 168,203,216;
	--msgwarningcolor: #6E4F0F;
	--msgwarningcolor-rgb: 110,79,15;
	--msgwarningbackground: #FBF2D9;
	--msgwarningbackground-rgb: 251,242,217;
	--msgwarningbordercolor: #E6C266;
	--msgwarningbordercolor-rgb: 230,194,102;
	--msgerrorcolor: #7E362A;
	--msgerrorcolor-rgb: 126,54,42;
	--msgerrorbackground: #FAEAE6;
	--msgerrorbackground-rgb: 250,234,230;
	--msgerrorbordercolor: #DFA394;
	--msgerrorbordercolor-rgb: 223,163,148;
	--msgokcolor: #264A26;
	--msgokcolor-rgb: 38,74,38;
	--msgokbackground: #EEF5EC;
	--msgokbackground-rgb: 238,245,236;
	--msgokbordercolor: #9FCB98;
	--msgokbordercolor-rgb: 159,203,152;
}

/* style.css*/
:root {
	--overlay:rgba(0,0,0,0.75);
	--overlay-color:white;
	--overlay-shadow:0 0 15px rgba(0,0,0,.7);
	
	--menu-background:var(--backgroundcolor);
	--menu-shadow:-0.2em 0 1em rgba(0, 0, 0, 0.15);
	
	--tooltip-background:rgba(51, 51, 51, 0.9);
	--tooltip-color:#fff;
	--tooltip-shadow:0 0 0.5em #333;

	--zindex-body:1;
	--zindex-over-body:10;
	--zindex-overlay-without-header:50;
	--zindex-header:100;
	--zindex-overlay-full:200;
	--zindex-over-overlay:300;
	--zindex-over-overlay2:310;
	--zindex-editbar:320;
	--zindex-editbar2:330;
	--zindex-editbar3:340;
	--zindex-tooltip:350;
	
}

/* =====================================================================================================================
 * All elements
 ==================================================================================================================== */
html, body{
	height:100%;
}
html {
	scrollbar-gutter: stable;
}
body{
	padding:0;
	margin:0;
	height:100vh;
}
figure,
p,
pre{
	margin:0;
}
a{
	cursor:pointer;
}
.texttooltip {
	cursor: help;
}

.download img {
	width: 1em;
	height: 1em;
	vertical-align: middle;
	margin-right: 0.4em;
}
.feicon {
	height:1.5em;
	width:1.5em;
	stroke-width:2px;
	stroke-linecap:round;
	stroke-linejoin:round;
}
.feicon1 {
	height:1em;
	width:1em;
	margin-right:0.2em;
	stroke-width:2px;
	stroke-linecap:round;
	stroke-linejoin:round;
}


.msg-icon {
	height:3em;
	width:3em;
}

/* =====================================================================================================================
 * All contents
 ==================================================================================================================== */
.block > div{
	position:relative;
}
.imgzoom img,
.galleryslider img{
	cursor:pointer;
}
.ui-dialog.ui-dialog {
	position: fixed !important;
}
.notification .ui-dialog-titlebar{
	display:none;
}
.notification{
	position:fixed;
}
.height10max{
	max-height:10vh !important;
}
.height20max{
	max-height:20vh !important;
}
.height30max{
	max-height:30vh !important;
}
.height40max{
	max-height:40vh !important;
}
.height50max{
	max-height:50vh !important;
}
.height60max{
	max-height:60vh !important;
}
.height70max{
	max-height:70vh !important;
}
.height80max{
	max-height:80vh !important;
}
.height90max{
	max-height:90vh !important;
}
.height100max{
	max-height:100vh !important;
}
.height10abs{
	height:10vh !important;
}
.height20abs{
	height:20vh !important;
}
.height30abs{
	height:30vh !important;
}
.height40abs{
	height:40vh !important;
}
.height50abs{
	height:50vh !important;
}
.height60abs{
	height:60vh !important;
}
.height70abs{
	height:70vh !important;
}
.height80abs{
	height:80vh !important;
}
.height90abs{
	height:90vh !important;
}
.height100abs{
	height:100vh !important;
}

.ui-dialog-titlebar-hidden{
	display:none;
}

/* =====================================================================================================================
 * Image Zoom
 ==================================================================================================================== */
.imgzoom {
	transition: 0.2s;
}

.imgviewer {
	display: none;
	position: fixed;
	z-index: var(--zindex-overlay-full);
	inset: 0;
	background: var(--overlay);
	overflow: hidden;
	pointer-events: all;
}

.imgviewer > img {
	position: absolute;
	box-shadow: var(--overlay-shadow);
}

.imgviewer-close,
.imgviewer-nav,
.imgviewer-counter,
.imgviewer-download,
.imgviewer-caption{
	position: fixed;
	background: rgba(0,0,0,0.6);
	color: white;
	text-align: center;
	z-index: var(--zindex-over-overlay);
	user-select: none;
}

.imgviewer-close,
.imgviewer-nav,
.imgviewer-download{
	font-size: 28px;
	line-height: 42px;
	transition: background 0.2s;
	width: 42px;
	height: 42px;
	cursor:pointer;
}
.imgviewer-close:hover,
.imgviewer-nav:hover,
.imgviewer-download:hover {
    background: rgba(255,255,255,0.4);
}
.imgviewer-close {
	top: 10px;
	right: 10px;
}
.imgviewer-download{
	top:10px;
	right:60px;
}
.imgviewer-download{
	display:flex;
	align-items:center;
	justify-content: center;
}
.imgviewer-download svg{
	stroke:white;
	width:32px;
	height:32px;
	stroke-width:2px;
	fill:none;
}
.imgviewer-nav {
	top: 50%;
	transform: translateY(-50%);
}
.imgviewer-prev { left: 10px; }
.imgviewer-next { right: 10px; }

.imgviewer-counter{
	top:10px;
	left:10px;
	padding:0.5em;
}
.imgviewer-caption{
	bottom:10px;
	left:50%;
	transform: translateX(-50%);
	max-width:80%;
	padding:0.5em;
}
.imgviewer-counter,
.imgviewer-caption{
	font-size:0.9em;
}

/* =====================================================================================================================
 * Login dialog
 ==================================================================================================================== */
.loginlogo {
	text-align:center;
	padding:2em;
	font-weight:bold;
}
.logininput > .inputblock {
	margin-bottom:1em;
}

/* =====================================================================================================================
 * Checkboxes and radio buttons
 ==================================================================================================================== */
input.mycheckbox-origin{
	/*display:none;*/
	position:absolute;
	opacity:0;
	pointer-events:none;
}

input.mycheckbox-origin + label{
	display:inline-flex;
}

.mycheckbox-checkbox{
	border:0;
	padding:0.1em;
	background-color:#eee;
	display:inline-flex;
	align-items:center;
	justify-content:center;
	width:1em;
	height:1em;
	cursor:pointer;
	margin-right:0.3em;
}

.mycheckbox-icon,
.mycheckbox-iconempty,
.mycheckbox-icondisabled{
	width:1em;
	height:1em;
	display:none;
}

input.mycheckbox-origin:checked + label .mycheckbox-checkbox .mycheckbox-icon{
	display:block;
}
input.mycheckbox-origin:not(:checked):not(:disabled) + label .mycheckbox-checkbox .mycheckbox-iconempty{
	display:block;
}
input.mycheckbox-origin:not(:checked):disabled + label .mycheckbox-checkbox .mycheckbox-icondisabled{
	display:block;
}

/* =====================================================================================================================
 * Radio buttons
 ==================================================================================================================== */
.myradio-fieldset .mycheckbox-checkbox{
	border-radius:50%;
}

.myradio-fieldset label{
	margin-right:1em;
}

/* =====================================================================================================================
 * Header
 ==================================================================================================================== */
 main {
	z-index:var(--zindex-body);
 }
.header{
	max-width:none;
	width:100%;
	margin-left:auto;
	margin-right:auto;
	position:relative;
	padding-left:0;
	padding-right:0;
	display:flex;
	margin-bottom:1em;
}
.header h1{
	position:absolute;
	z-index:var(--zindex-header);
	left:0;
	padding:0.5em 3em 0.5em;
	width:calc(100% - 6em);
	margin:0;
}
.header h1 a{
	text-decoration:none;
}
.header .headline{
	width:100%;
	position:absolute;
	bottom:0;
	background:var(--overlay);
}
.header figure.background{
	position:absolute;
	top:0;
	right:0;
	bottom:0;
	left:0;
	margin:0;
	display:block;
}
.header figure.background img,
.header figure.background video{
	width:100%;
	max-width:100%;
	display:block;
	margin:0 auto;
	border-style:none;
	overflow-clip-margin:content-box;
	overflow:clip;
	object-fit:cover;
}
.header figure.profile{
	display:none;
}

@media screen and (max-width:48em){
	.header h1{
		padding:0.5em 1em 0.5em;
		width:calc(100% - 2em);
		font-size:150%;
		white-space:nowrap;
	}
}

@media screen and (max-width:639px){
	.ui-dialog .inputblock.inputempty{
		display:none;
	}
}

/* =====================================================================================================================
 * Center Menu
 ==================================================================================================================== */
 header h1 .centermenu,
header h1 .socialmedia {
	float:right;
	cursor:pointer;
	z-index:var(--zindex-over-overlay);
	height:1em;
	width:1em;
	margin-left:0.2em;
	stroke-width:2px;
	stroke-linecap:round;
	stroke-linejoin:round;
}
.headscrolldown_hide{
	display:none;
}

header h1 .centermenu line{
	transform-box:fill-box;
	transform-origin:center;
	transition: transform 0.25s ease, opacity 0.2s ease;
}

header h1 .centermenu.centermenu-open line.top {
	transform: translateY(0.19em) rotate(45deg);
}
header h1 .centermenu.centermenu-open line.middle {
	opacity: 0;
}
header h1 .centermenu.centermenu-open line.bottom {
	transform: translateY(-0.19em) rotate(-45deg);
}

.centermenu-content {
	display:none;
	right:0;
	position:absolute;
	background:var(--bodycolor);
	color:var(--fontcolor);
	overflow:auto;
	width: min(78vw, 320px);
	font-weight:normal;
	box-shadow:var(--menu-shadow);
	z-index:var(--zindex-over-overlay);
}
.centermenu-content ul {
	list-style-type:none;
	margin:0;
	padding:0;
}
.centermenu-content li {
	padding:0.5em 5em 0.5em 1em;
	cursor:pointer;
	font-size:1.2em;
}
.centermenu-content li:hover{
	background-color: var(--backgroundcolorcci);
	color:var(--colorcci);
}
.centermenu-content li:hover a {
	text-decoration:none;
	color:var(--colorcci);
}

@media screen and (max-width:1023px){
	.centermenu-content{
		//width:100%;
	}
}

/* =====================================================================================================================
 * Content
 ==================================================================================================================== */
.wrapper{
	display:flex;
	flex-direction:column;
	min-height:100vh;
}
.content{
	padding:0;
	margin: 0 auto;
	flex: 1;
	width:100%;
}
.flex{
	position:relative;
	max-width:1024px;
	margin:auto;
	display:flex;
	flex-wrap:wrap;
	padding-top:0;
	clear:both;
}
.flex .flex {
	margin:inherit;
}
.flex > div,
.flex > figure{
	width:100%;
}
figure.fleximg,
.multiplechoice .fleximg{
	text-align:center;
}
.flex > div.back,
.flex > div.archive{
	border-radius:inherit;
	background-color:inherit;
	box-shadow:inherit;
	width:100%;
}
.flex p,
.flex div.copyright,
.flex h2,
.flex h3,
.flex h4,
.flex h5,
.flex h6{
	margin:0;
	padding:1em;
}
.flex h2{
	font-size:1.3em;
}
.flex h3{
	font-size:1.2em;
}
.flex h4{
	font-size:1.1em;
}
.flex h5,
.flex h6{
	font-size:1em;
}
.center {
	text-align:center;
}
.flex p,
.flex div.copyright{
	padding:0.5em 1em;
}
.flex .element{
	display:flex;
	flex-direction:column;
	overflow-wrap: break-word;
	word-break: break-word;
	box-sizing: border-box;
}
.flex .element:has( > .fulltextbtn){
	padding-bottom:2em;
}
.flex.event div:has(.fulltextbtn){
	padding-bottom:1.2em;
}
.flex .element.sliderelement .fulltextbtn{
	display:none;
}
.flex .element .fulltextbb{
	display:none;
}
.flex .element p:has(> a.fulltextbb){
	margin-top:0;
	padding:0;
}
.flex .element p ~ p:has(> a.fulltextbb){
	margin-top:1em;
}
.flex .sliderelement .fulltextbb{
	display:inline-block;
	padding:0.5em;
}
.flex .sliderelement .fulltextbb:hover{
	text-decoration:none;
}
figcaption .fulltextbtn{
	padding:1em;
}
figcaption div + .fulltextbtn{
	padding-top:0;
}
figcaption .fulltextbtn span + span{
	display:none;
}
.element .fulltextbtn .fulltextbtnurl span:last-child,
.event .fulltextbtn .fulltextbtnurl span:last-child{
	position:absolute;
	right:1em;
}
.element .fulltextbtn,
.event .fulltextbtn{
	position:absolute;
	bottom:0;
	display:inline-block;
	width:100%;
}
.element .fulltextbtn a,
.event .fulltextbtn a{
	padding:0.5em 1em;
	display:block;
	width:calc(100% - 2em);
}
.element .fulltextbtn a:hover,
.event .fulltextbtn a:hover{
	text-decoration:none;
}
.flex p:first-child{
	margin-top:0.5em;
}
.flex .audio + div p:first-child{
	margin-top:0;
}
.flex p:last-child{
	padding-bottom:1em;
}
.flex > div{
	width:100%;
}

.flex > div.img img{
	max-width:100%;
	max-height:90vh;
	overflow:auto;
}
.flex figure.fleximg{
	position:relative;
	bottom:0;
}
.flex.block,
.quotebanner.block{
	min-height:3em;
	margin-bottom:1em;
}

@media screen and (min-width:640px) and (max-width:1023px){
	
	.flex.flex2 .flex2cols,
	.flex.flex2 .flex3cols,
	.flex.flex2 .flex4cols,
	.flex.flex2 .flex5cols,
	.flex.flex2 .flex6cols,
	.ui-dialog fieldset.flex.flex2 .flex2cols,
	.ui-dialog fieldset.flex.flex2 .flex3cols,
	.ui-dialog fieldset.flex.flex2 .flex4cols,
	.ui-dialog fieldset.flex.flex2 .flex5cols,
	.ui-dialog fieldset.flex.flex2 .flex6cols{
		width:100%;
	}
	
	.flex.flex3 .flex2cols,
	.flex.flex3 .flex3cols,
	.flex.flex3 .flex4cols,
	.flex.flex3 .flex5cols,
	.flex.flex3 .flex6cols,
	.ui-dialog fieldset.flex.flex3 .flex3cols,
	.ui-dialog fieldset.flex.flex3 .flex4cols,
	.ui-dialog fieldset.flex.flex3 .flex5cols,
	.ui-dialog fieldset.flex.flex3 .flex6cols{
		width:100%;
	}
	
	.flex.flex4 .flex2cols{
		width:calc(50% - 0.5em);
	}
	
	.flex.flex4 .flex3cols,
	.flex.flex4 .flex4cols,
	.flex.flex4 .flex5cols,
	.flex.flex4 .flex6cols,
	.ui-dialog fieldset.flex.flex4 .flex4cols,
	.ui-dialog fieldset.flex.flex4 .flex5cols,
	.ui-dialog fieldset.flex.flex4 .flex6cols{
		width:100%;
	}
	
	.flex2 > div,
	.flex2 > figure,
	.ui-dialog fieldset.flex2 > div,
	.ui-dialog fieldset.flex .flex2{
		width:calc(50% - 0.5em);
	}
	
	.flex3 > div,
	.flex3 > figure,
	.ui-dialog fieldset.flex3 > div,
	.ui-dialog fieldset.flex .flex3{
		width:calc(50% - 0.5em);
	}
	
	.flex4 > div,
	.flex4 > figure,
	.ui-dialog fieldset.flex4 > div,
	.ui-dialog fieldset.flex .flex4{
		width:calc(50% - 0.5em);
	}
	
	.flex5 > div,
	.flex5 > figure,
	.ui-dialog fieldset.flex5 > div,
	.ui-dialog fieldset.flex .flex5{
		width:calc(50% - 0.5em);
	}
	
	.flex.flex5 .flex2cols{
		width:calc(50% - 0.5em);
	}
	
	.flex.flex5 .flex3cols,
	.flex.flex5 .flex4cols,
	.flex.flex5 .flex5cols,
	.flex.flex5 .flex6cols{
		width:100%;
	}
	
	.flex6 > div,
	.flex6 > figure,
	.ui-dialog fieldset.flex6 > div,
	.ui-dialog fieldset.flex .flex6{
		width:calc(50% - 0.5em);
	}
	
	.flex6 .flex2cols,
	.flex6 .flex3cols{
		width:calc(50% - 0.5em);
	}
	
	.flex6 .flex4cols,
	.flex6 .flex5cols,
	.flex.flex6 .flex6cols{
		width:100%;
	}
}

@media screen and (min-width:1024px){
	
	.flex.flex2 .flex2cols,
	.flex.flex2 .flex3cols,
	.flex.flex2 .flex4cols,
	.flex.flex2 .flex5cols,
	.flex.flex2 .flex6cols,
	.ui-dialog fieldset.flex.flex2 .flex2cols,
	.ui-dialog fieldset.flex.flex2 .flex3cols,
	.ui-dialog fieldset.flex.flex2 .flex4cols,
	.ui-dialog fieldset.flex.flex2 .flex5cols,
	.ui-dialog fieldset.flex.flex2 .flex6cols{
		width:100%;
	}
	
	.flex.flex3 .flex2cols{
		width:calc(66.66% - 0.40em);
	}
	
	.flex.flex3 .flex3cols,
	.flex.flex3 .flex4cols,
	.flex.flex3 .flex5cols,
	.flex.flex3 .flex6cols,
	.ui-dialog fieldset.flex.flex3 .flex3cols,
	.ui-dialog fieldset.flex.flex3 .flex4cols,
	.ui-dialog fieldset.flex.flex3 .flex5cols,
	.ui-dialog fieldset.flex.flex3 .flex6cols{
		width:100%;
	}
	
	.flex.flex4 .flex2cols{
		width:calc(50% - 0.5em);
	}
	
	.flex.flex4 .flex3cols{
		width:calc(75% - 0.3em);
	}
	
	.flex.flex4 .flex4cols,
	.flex.flex4 .flex5cols,
	.flex.flex4 .flex6cols,
	.ui-dialog fieldset.flex.flex4 .flex4cols,
	.ui-dialog fieldset.flex.flex4 .flex5cols,
	.ui-dialog fieldset.flex.flex4 .flex6cols{
		width:100%;
	}
	
	.flex2 > div,
	.flex2 > figure,
	.ui-dialog fieldset.flex2 > div,
	.ui-dialog fieldset.flex .flex2{
		width:calc(50% - 0.5em);
	}
	
	.flex3 > div,
	.flex3 > figure,
	.ui-dialog fieldset.flex3 > div,
	.ui-dialog fieldset.flex .flex3{
		width:calc(33.33% - 0.67em);
	}
	
	.flex4 > div,
	.flex4 > figure,
	.ui-dialog fieldset.flex4 > div,
	.ui-dialog fieldset.flex .flex4{
		width:calc(25% - 0.75em);
	}
	
	.flex5 > div,
	.flex5 > figure,
	.ui-dialog fieldset.flex5 > div,
	.ui-dialog fieldset.flex .flex5{
		width:calc(20% - 0.8em);
	}
	
	.flex.flex5 .flex2cols{
		width:calc(40% - 0.6em);
	}
	
	.flex.flex5 .flex3cols{
		width:calc(60% - 0.4em);
	}
	
	.flex.flex5 .flex4cols{
		width:calc(80% - 0.2em);
	}
	
	.flex.flex5 .flex5cols,
	.flex.flex5 .flex6cols{
		width:100%;
	}
	
	.flex6 > div,
	.flex6 > figure,
	.ui-dialog fieldset.flex6 > div,
	.ui-dialog fieldset.flex .flex6{
		width:calc(16% - 0.41em);
	}
	
	.flex6 .flex2cols{
		width:calc(33% - 0.44em);
	}
	
	.flex6 .flex3cols{
		width:calc(50% - 0.5em);
	}
	
	.flex6 .flex4cols{
		width:calc(67% - 0.54em);
	}
	
	.flex6 .flex5cols{
		width:calc(84% - 0.59em);
	}
	
	.flex.flex6 .flex6cols{
		width:100%;
	}
}

@media screen and (max-width:639px){
	.flex{
		margin:0 1em;
	}
}

/* =====================================================================================================================
 * Share buttons
 ==================================================================================================================== */
.share-block {
	text-align:right;
	padding:0.5em;
}
.share-element {
	cursor:pointer;
}
.share-element svg {
	width:1.2em;
	height:1.2em;
	margin-right:0.2em;
	stroke-width:2px;
	stroke-linecap:round;
	stroke-linejoin:round;
}

/* =====================================================================================================================
 * Images
 ==================================================================================================================== */
.flex figure.fleximg figcaption.figcaptionbottomright,
.flex figure.fleximg figcaption.figcaptionbottomleft,
.flex figure.fleximg figcaption.figcaptiontopright,
.flex figure.fleximg figcaption.figcaptiontopleft,
.flex figure.fleximg figcaption.figcaptiontop,
.flex figure.fleximg figcaption.figcaptionright,
.flex figure.fleximg figcaption.figcaptionbottom,
.flex figure.fleximg figcaption.figcaptionleft,
.flex figure.fleximg figcaption.figcaptionmiddle,
.header figure.background figcaption.figcaptionbottomright,
.header figure.background figcaption.figcaptionbottomleft,
.header figure.background figcaption.figcaptiontopright,
.header figure.background figcaption.figcaptiontopleft,
.header figure.background figcaption.figcaptiontop,
.header figure.background figcaption.figcaptionright,
.header figure.background figcaption.figcaptionbottom,
.header figure.background figcaption.figcaptionleft,
.header figure.background figcaption.figcaptionmiddle,
.quotebannercontent figure.fleximg figcaption.figcaptionbottomright,
.quotebannercontent figure.fleximg figcaption.figcaptionbottomleft,
.quotebannercontent figure.fleximg figcaption.figcaptiontopright,
.quotebannercontent figure.fleximg figcaption.figcaptiontopleft,
.quotebannercontent figure.fleximg figcaption.figcaptiontop,
.quotebannercontent figure.fleximg figcaption.figcaptionright,
.quotebannercontent figure.fleximg figcaption.figcaptionbottom,
.quotebannercontent figure.fleximg figcaption.figcaptionleft,
.quotebannercontent figure.fleximg figcaption.figcaptionmiddle,
.headlinecontent figure.fleximg figcaption.figcaptionbottomright,
.headlinecontent figure.fleximg figcaption.figcaptionbottomleft,
.headlinecontent figure.fleximg figcaption.figcaptiontopright,
.headlinecontent figure.fleximg figcaption.figcaptiontopleft,
.headlinecontent figure.fleximg figcaption.figcaptiontop,
.headlinecontent figure.fleximg figcaption.figcaptionright,
.headlinecontent figure.fleximg figcaption.figcaptionbottom,
.headlinecontent figure.fleximg figcaption.figcaptionleft,
.headlinecontent figure.fleximg figcaption.figcaptionmiddle{
	position:absolute;
	margin:0.5em;
}
.flex figure.fleximg figcaption.figcaptionbottomright,
.header .background figcaption.figcaptionbottomright,
.quotebannercontent figure.fleximg figcaption.figcaptionbottomright,
.headlinecontent figure.fleximg figcaption.figcaptionbottomright{
	bottom:0;
	right:0;
}
.flex figure.fleximg figcaption.figcaptionbottomleft,
.header .background figcaption.figcaptionbottomleft,
.quotebannercontent figure.fleximg figcaption.figcaptionbottomleft,
.headlinecontent figure.fleximg figcaption.figcaptionbottomleft{
	bottom:0;
	left:0;
}
.flex figure.fleximg figcaption.figcaptiontopright,
.header .background figcaption.figcaptiontopright,
.quotebannercontent figure.fleximg figcaption.figcaptiontopright,
.headlinecontent figure.fleximg figcaption.figcaptiontopright{
	top:0;
	right:0;
}
.flex figure.fleximg figcaption.figcaptiontopleft,
.header .background figcaption.figcaptiontopleft,
.quotebannercontent figure.fleximg figcaption.figcaptiontopleft,
.headlinecontent figure.fleximg figcaption.figcaptiontopleft{
	top:0;
	left:0;
}
.flex figure.fleximg figcaption.figcaptionbottom,
.header .background figcaption.figcaptionbottom,
.quotebannercontent figure.fleximg figcaption.figcaptionbottom,
.headlinecontent figure.fleximg figcaption.figcaptionbottom{
	/*text-align:center;*/
	bottom:0;
	left:0;
	right:0;
}
.flex figure.fleximg figcaption.figcaptiontop,
.header .background figcaption.figcaptiontop,
.quotebannercontent figure.fleximg figcaption.figcaptiontop,
.headlinecontent figure.fleximg figcaption.figcaptiontop{
	/*text-align:center;*/
	top:0;
	left:0;
	right:0;
}
.flex figure.fleximg figcaption.figcaptionleft,
.header .background figcaption.figcaptionleft,
.quotebannercontent figure.fleximg figcaption.figcaptionleft,
.headlinecontent figure.fleximg figcaption.figcaptionleft{
	/*text-align:center;*/
	writing-mode:sideways-lr;
	top:0;
	left:0;
	bottom:0;
}
.flex figure.fleximg figcaption.figcaptionmiddle,
.header .background figcaption.figcaptionmiddle,
.quotebannercontent figure.fleximg figcaption.figcaptionmiddle,
.headlinecontent figure.fleximg figcaption.figcaptionmiddle{
	/*text-align:center;*/
	position:absolute;
	top:50%;
	left:50%;
	transform:translate(-50%, -50%);
}
.flex figure.fleximg figcaption.figcaptionright,
.header .background figcaption.figcaptionright,
.quotebannercontent figure.fleximg figcaption.figcaptionright,
.headlinecontent figure.fleximg figcaption.figcaptionright{
	/*text-align:center;*/
	writing-mode:vertical-rl;
	top:0;
	right:0;
	bottom:0;
}
.quotebannercontent figure.fleximg,
.headlinecontent figure.fleximg{
	position:absolute;
	width:100%;
	height:100%;
}
.flex figcaption,
.header .background figcaption{
	text-align:left;
}
.flex figure.fleximg img,
.flex figure.fleximg video,
.flex video{
	max-width:100%;
	max-height:90vh;
	
}
.flex figure.fleximg.fullimg a,
.flex figure.fleximg.fullimg picture img,
.flex figure.fleximg.fullimg video,
.flex .fullvideo video{
	height:100%;
	object-fit:cover;
	object-position:center bottom;
}
.flex figure.fleximg.fleximgembedded img,
.flex figure.fleximg.fleximgembedded video{
	border-radius:inherit;
}
.flex figcaption,
.header .background figcaption,
.quotebanner figcaption,
.headlinecontent figcaption{
	padding:0.5em 1em;
	font-size:0.9em;
}
.flex .footnote{
	font-size:0.8em;
}
.flex{
	row-gap:1em;
	column-gap:1em;
}

/* =====================================================================================================================
 * Headline element
 ==================================================================================================================== */
.headline{
	position:relative;
	height:100%;
	max-width:100%;
	display:block;
	margin:0 auto;
	border-style:none;
	overflow-clip-margin:content-box;
	overflow:clip;
	object-fit:cover;
}
.header,
.headline{
	margin-bottom:1em;
	position:relative;
}
.headline > div > div{
	display:flex;
	position:absolute;
	bottom:0;
	left:0;
	width:100%;
}
.headline > div > div > p,
.headline > div > div > h2{
	position:relative;
	width:1024px;
	max-width:1024px;
	margin:auto;
	padding:1em;
	font-size:1.4em;
	font-weight:bold;
}
.headline img,
.headline video{
	width:100%;
}
img.imgfocustopleft,
video.imgfocustopleft{
	object-fit:cover;
	object-position:0 0;
}
img.imgfocustopcenter,
video.imgfocustopcenter{
	object-fit:cover;
	object-position:50% 0;
}
img.imgfocustopright,
video.imgfocustopright{
	object-fit:cover;
	object-position:100% 0;
}
img.imgfocusmiddleleft,
video.imgfocusmiddleleft{
	object-fit:cover;
	object-position:0 50%;
}
img.imgfocusmiddlecenter,
video.imgfocusmiddlecenter{
	object-fit:cover;
	object-position:50% 50%;
}
img.imgfocusmiddleright,
video.imgfocusmiddleright{
	object-fit:cover;
	object-position:100% 50%;
}
img.imgfocusbottomleft,
video.imgfocusbottomleft{
	object-fit:cover;
	object-position:0 100%;
}
img.imgfocusbottomcenter,
video.imgfocusbottomcenter{
	object-fit:cover;
	object-position:50% 100%;
}
img.imgfocusbottomright,
video.imgfocusbottomright{
	object-fit:cover;
	object-position:100% 100%;
}
img.imgfocusmanual,
video.imgfocusmanual{ 
	object-fit: cover;
	object-position:50% 50%;
}

/* =====================================================================================================================
 * Headline element
 ==================================================================================================================== */
.headlinecontent {
	height:100%;
}

/* =====================================================================================================================
 * Quotebanner element
 ==================================================================================================================== */
.quotebanner{
	position:relative;
}
.quotebannercontent img,
.quotebannercontent video{
	width:100%;
	height:100%;
	display:block;
	position:absolute;
	z-index:var(--zindex-body);
}
.quotebannercontent > div {
	position:relative;
	display:flex;
	justify-content: center;
	align-items:center;
	text-align:center;
	z-index:var(--zindex-over-body);
	max-width:1024px;
	margin:auto;
}

/* =====================================================================================================================
 * History back element
 ==================================================================================================================== */
p.back{
	text-align:center;
}

/* =====================================================================================================================
 * Footer
 ==================================================================================================================== */
.footer{
	position:relative;
}
.footer .footer1{
	position:relative;
	text-align:center;
	padding:1em;
}

/* =====================================================================================================================
 * Countdown
 ==================================================================================================================== */
.countdown{
	margin-bottom:0.5em;
}
.countdown .countdown_inner{
	padding:0 1em;
	white-space:nowrap;
}
.countdown .countdown_inner > div{
	padding:0.6em;
	margin:0.1em;
	vertical-align:middle;
	text-align:center;
	border-radius:0.5em;
	float:left;
	width:30px;
}
.countdown .countdown_inner .meta{
	font-size:50%;
}
.countdown .clear{
	clear:both;
}

/* =====================================================================================================================
 * Audio player
 ==================================================================================================================== */
audio{
	width:calc(100% - 1em);
	margin:0.5em;
}

/* =====================================================================================================================
 * Calendar list
 ==================================================================================================================== */
.event .title{
	font-weight:bold;
}
.event .time{
	display:none;
}
.eventgroup{
	font-weight:bold;
}

/* =====================================================================================================================
 * Slider gallery
 ==================================================================================================================== */
.slidergallery figure{
	display:inline-block;
	text-align:center;
	margin:0 auto;
}
.flex .element.hidden,
.slidergallery .hidden,
.multiplechoice .hidden,
.form .hidden{
	display:none;
}
.slidergallery .btn{
	z-index:var(--zindex-over-overlay);
	position:absolute;
	top:50%;
}
.slidergallery button.nav{
	font-size:2em;
	padding:0.2em 0.5em;
	border:none;
	background-color:rgba(255, 255, 255, 0.5);
	cursor:pointer;
}
.slidergallery button.nav:hover{
	background-color:rgba(255, 255, 255, 0.9);
}
.slidergallery .prev{
	left:0;
}
.slidergallery .next{
	right:0;
}
.slidergallery .imgcnt{
	position:absolute;
	top:0;
	right:0.2em;
	background-color:rgba(255, 255, 255, 0.8);
	padding:0.5em;
}
.slidergallery .img > div{
	position:relative;
}
.slidergallery:not(.slidergallerycontent) .img,
.slidergallerycontent .img .sliderelement:has(.fullimg){
	text-align:center;
}
.slidergallerycontent .img .sliderelement:not(:has(.fullimg)){
	text-align:inherit;
}
.flex .element.sliderelementactive{
	display:flex;
	flex-direction:row;
}
.slidergallerycontent .img .navbar{
	text-align:center;
}
.slidergallery .navbar{
	padding-top:0.5em;
	padding-bottom:0.5em;
}
.slidergallery .navbar span{
	width:0.6em;
	height:0.6em;
	border-radius:0.5em;
	display:inline-block;
	margin:0.2em;
	cursor:pointer;
}
.slidergallery .navbar span.active{
	width:2em;
	height:0.6em;
}
.slidergallery .timeoutbar{
	height:0.4em;
}
.slidergallery .timeoutbar div.timeout{
	width:0;
	height:100%;
}

@media screen and (min-width:640px){
	.slidergallerycontent .sliderelement{
		clear:both;
	}
	
	.slidergallerycontent .sliderelement figure:not(.fullimg){
		max-width:33%;
		margin-right:1em;
	}
	
	.slidergallerycontent .navbar,
	.slidergallerycontent .timeoutbar{
		clear:both;
	}
}

/* =====================================================================================================================
 * Image / Calendar download
 ==================================================================================================================== */
.event > div{
	position:relative;
}
.event .icaldownload,
.sportbooking-event .icaldownload,
figure .imgdownloadcontainer{
	position:absolute;
	top:0.2em;
	right:0.2em;
}
figure .imgdownload,
.event .icaldownload,
.sportbooking-event .icaldownload,
.imgdownloadcontainer .mycheckbox-checkbox{
	background:rgba(255, 255, 255, 0.4);
	padding:0.2em;
	cursor:pointer;
}
figure .imgdownload:hover,
.event .icaldownload:hover,
.sportbooking-event .icaldownload:hover,
.imgdownloadcontainer .mycheckbox-checkbox:hover{
	background:rgba(255, 255, 255, 0.8);
}
figure .imgdownloadcontainer{
	display:flex;
}
.imgdownloadcontainer > span,
.imgdownloadcontainer > label{
	margin-left:0.2em;
}
.imgdownloadcontainer .mycheckbox-checkbox{
	width:24px;
	height:24px;
	margin-right:0;
}

.gallery:has(.imgdownloadmultiple:checked) .imgdownloadsinglebtn{
	display:none;
}
.gallery .imgdownloadmultiplebtn{
	display:none;
}
.gallery:has(.imgdownloadmultiple:checked) .imgdownloadmultiplebtn{
	display:inherit;
}

/* =====================================================================================================================
 * Code
 ==================================================================================================================== */
.flex pre{
	position:relative;
	padding:0.5em 0;
}

/* =====================================================================================================================
 * Index
 ==================================================================================================================== */
div.myindex ul{
	list-style-type:none;
	margin:0;
	padding:0 0 0 1em;
}
/*div.myindex li{
}*/

/* =====================================================================================================================
 * Charts
 ==================================================================================================================== */
.chartjs{
	position:relative;
	width:100%;
}
.chart canvas{
	background-color:white;
}

/* =====================================================================================================================
 * Downloads
 ==================================================================================================================== */
.downloads ul {
	margin:0;
	padding:0.5em 1em;
}
.downloads ul li{
	list-style-type:none;
	display:grid;
	grid-template-columns: 1fr 150px;
	padding:0.5em 0;
}
.downloads ul li:last-child{
	margin-bottom:unset;
}
.downloads .download-filename {
	font-weight:bold;
}
.downloads .download-button {
	margin-top:1em;
	margin-bottom:0.5em;
}
.downloads .download-button a {
	padding:0.5em;
}
.downloads .download-button a:hover {
	text-decoration:none;
	cursor:pointer;
}
.downloads .download-date{
	padding-top:0.2em;
	font-size:0.8em;
}
.downloads ul li > span:nth-child(2n){
	text-align:right;
	align-self: end;
}
.downloads .download-type,
.downloads .download-size,
.downloads .download-date,
.downloads .download-meta{
	white-space:nowrap;
}

/* =====================================================================================================================
 * Emojis
 ==================================================================================================================== */
.emoji{
	width:1em;
}
.emoji2{
	width:2em;
}

/* =====================================================================================================================
 * Image options
 ==================================================================================================================== */
video.imgrot90,
img.imgrot90{
	transform:rotate(90deg);
}
img.imgrot180,
video.imgrot180{
	transform:rotate(180deg);
}
img.imgrot270,
video.imgrot270{
	transform:rotate(270deg);
}
img.imgrotreflectx,
video.imgrotreflectx{
	transform:scaleX(-1);
}
img.imgrotreflecty,
video.imgrotreflecty{
	transform:scaleY(-1);
}
img.imgrotreflectxy,
video.imgrotreflectxy{
	transform:scale(-1, -1);
}

/* =====================================================================================================================
 * Open Street Map
 ==================================================================================================================== */
.osmmap{
	height:300px;
}
.osmmap a:before,
.osmmap a:after,
.osmmap a:hover{
	text-decoration:inherit;
	content:inherit;
}
.editbar {
	z-index:var(--zindex-editbar);
}
.editbar_element,
.editbar_block{
	z-index:var(--zindex-editbar2);
}
.editbar_submenu{
	z-index:var(--zindex-editbar3);
}
.map .leaflet-control svg{
	display:none !important;
}
.map .mapmarker img.mapmarker-icon{
	width:25px;
	height:41px;
}
.map .mapmarker img.mapmarker-overlay{
	position:absolute;
	left:3px;
	top:3px;
	background-color:white;
	padding:1px;
	border-radius:100%;
	width:17px;
	height:17px;
}
/* =====================================================================================================================
 * Default layout
 ==================================================================================================================== */
.popuplayout .flex.block{
	margin-bottom:0;
}
.popuplayout .flex > div,
.popuplayout .flex > figure,
.popuplayout .flex > div.img img,
.popuplayout .flex figure.fleximg img,
.popuplayout .flex figure.fleximg video,
.popuplayout .flex video,
.popuplayout .flex figure.fleximg.fullimg a,
.popuplayout .flex figure.fleximg.fullimg img,
.popuplayout .flex figure.fleximg.fullimg video,
.popuplayout .flex .fullvideo video,
.popuplayout .chart canvas,
.popuplayout .chart canvas.withhtml,
.editor .popuplayout .block:hover,
.half .flex > div,
.half .flex > figure,
.half .flex > div.img img,
.half .flex figure.fleximg img,
.half .flex figure.fleximg video,
.half .flex video,
.half .flex figure.fleximg.fullimg a,
.half .flex figure.fleximg.fullimg img,
.half .flex figure.fleximg.fullimg video,
.half .flex .fullvideo video,
.half .chart canvas,
.half .chart canvas.withhtml,
.editor .fulltext .block:hover,
.editor .archive .block:hover{
	border-radius:inherit;
	box-shadow:inherit;
}

.youtubevideo{
	width:100%;
	height:80vh;
}

/* =====================================================================================================================
 * Tables
 ==================================================================================================================== */
table{
	width:100%;
	border-collapse:collapse;
}
table th,
table td{
	padding:0.8em;
}
table th{
	font-weight:bold;
}
table td{
	text-align:center;
}

.table-container{
	overflow:auto;
	width:100%;
	max-height:90vh;
}
.table-sticky-head thead tr:first-child{
	position:sticky;
	top:0;
	z-index:2;
}

.table-sticky-body thead tr th:first-child,
.table-sticky-body tbody td:first-child,
.table-sticky-body tbody tr th:first-child{
	position:sticky;
	left:0;
	z-index:1;
}

/* =====================================================================================================================
 * Moving text
 ==================================================================================================================== */
.marquee{
	white-space:nowrap;
	overflow:hidden;
}
.marquee > span{
	margin:0;
	padding:0 0 0 100%;
	display:inline-block;
	animation-name:animation_marquee;
	animation-timing-function:linear;
	animation-duration:10s;
	animation-iteration-count:infinite;
}
@keyframes animation_marquee{
	0%{ transform:translate(0, 0); }
	100%{ transform:translate(-100%, 0); }
}

/* =====================================================================================================================
 * Blinking text
 ==================================================================================================================== */
.blink{
	animation-name:animation_blink;
	animation-timing-function:ease-in;
	animation-duration:1s;
	animation-iteration-count:infinite;
}

@keyframes animation_blink{
	0%{ opacity:1; }
	60%{ opacity:1; }
	70%{ opacity:0; }
	90%{ opacity:0; }
	100%{ opacity:1; }
}

/* =====================================================================================================================
 * Dialogs
 ==================================================================================================================== */
.ui-dialog{
	box-shadow:0.1em 0.1em 0.5em #333;
}
.ui-widget-content{
	padding:0;
}
.ui-dialog-titlebar{
	border-radius:0;
}
.ui-dialog-disabled{
	opacity: 0.5;
	pointer-events: none;
}
.ui-dialog input,
.ui-dialog select,
.ui-dialog textarea{
	width:100%;
	border:0;
	padding:0.4em;
	background-color:#eee;
}
.ui-dialog input[type=checkbox]{
	width:2em;
}
.ui-dialog fieldset > div,
.ui-dialog-content > div.inputblock{
	margin-bottom:0.5em;
	width:100%;
}
.ui-dialog .inputblock.inputplocknowrap{
	white-space:inherit;
}
.ui-dialog-content fieldset.scrollable{
	overflow:auto;
	height:calc(100% - 1em);
}
.ui-dialog fieldset.flex{
	position:relative;
	display:flex;
	flex-wrap:wrap;
}
.ui-dialog fieldset.flex{
	row-gap:1em;
	column-gap:1em;
}
body.noscroll{
	position:fixed;
	left:0;
	right:0;
	width:100%;
}
.inputform form > div{
	margin-bottom:0.5em;
	padding:0 0.5em;
}

/* =====================================================================================================================
 * Dashboard layout
 ==================================================================================================================== */
.dashboard .header{
	min-height:100vh;
}
.dashboard .header figure.background img,
.dashboard .header figure.background video{
	height:100vh;
}
.header figure.profile{
	margin-top:6em;
	margin-left:2em;
	display:flex;
	/*width:100%;*/
}
.header figure.profile img{
	border-radius:100%;
}

/* =====================================================================================================================
 * Default layout
 ==================================================================================================================== */
.half .content,
.halfdashboard .content{
	max-width:1024px;
	margin:auto;
	min-height:calc(50vh - 2.9em);
}
.half .flex.block{
	margin-bottom:0;
	padding-bottom:1em;
}
.half .flex.block:last-child{
	padding-bottom:0;
}
.half .header{
	min-height:50vh;
	max-height:50vh;
	margin-bottom:0;
}
.half .header figure.background img,
.half .header figure.background video{
	height:50vh
}
.half .content,
.halfdashboard .content{
	min-height:calc(50vh - 2.9em);
}

/* =====================================================================================================================
 * Tooltip
 ==================================================================================================================== */
.mytooltip{
	background:var(--tooltip-background);
	padding:0.5em;
	border:none;
	box-shadow:var(--tooltip-shadow);
	font-size:0.8em;
	color:var(--tooltip-color);
	z-index:var(--zindex-tooltip);
	max-width:300px;
	display:block;
	position:absolute;
}
.mytooltiphidden{
	display:none;
}
@media screen and (max-width:350px){
	.mytooltip{
		max-width:90%;
	}
}

/* =====================================================================================================================
 * Forms
 ==================================================================================================================== */
form{
	margin-block-end:0;
}
.flex.form,
.flex .form,
.half .flex.block.form{
	margin-bottom:0.5em;
}
.dashboard .flex.form,
.dashboard .flex .form,
.dashboard .half .flex.block.form,
.dashboard .flex .element .form,
.halfdashboard .flex.form,
.halfdashboard .flex .form,
.halfdashboard .half .flex.block.form,
.halfdashboard .flex .element .form{
	margin-bottom:0;
}
.form .url{
	word-break:break-all;
}
.flex .element .form,
.flex.customer-review .form{
	padding:0.5em;
	margin-bottom:0.5em;
}
.flex form{
	margin:0;
	margin-block:0;
}
.flex form input,
.flex form select,
.flex form textarea,
form .passwordcontainer,
.myradio-fieldset .myradio-list{
	margin-bottom:0.3em;
}
.content .embeddedform button,
.content .embeddedform input[type='button'],
.flex .form button,
.flex form input[type='button'],
.flex form input[type='submit'],
.training .lernpfad-kopf button,
.training .lernpfad-steuerung button{
	padding:0.5em;
	cursor:pointer;
	font-size:1em;
	margin-right:0.5em;
}
.flex form input[type='text'],
.flex form input[type='password'],
.flex form input[type='date'],
.flex form input[type='tel'],
.flex form input[type='email'],
.flex form input[type='number'],
.flex form textarea,
.flex form select,
.training .kapitel-suche input,
.sticky-table input,
.search-input{
	width:100%;
	border:0;
	padding:0.4em;
	font-size:1em;
}

.content .embeddedform button,
.content .embeddedform input[type='button'],
.flex .form button,
.flex form input[type='button'],
.flex form input[type='submit'],
.training .lernpfad-kopf button,
.training .lernpfad-steuerung button,
.search-input{
	border:none;
}

.flex .inputform fieldset.formfield-fieldset{
	padding:0;
	margin:calc(0.5em - 1px);
	border:1px solid;
	box-sizing: border-box;
}
.flex .inputform fieldset.formfield-fieldset > legend{
	font-weight:bold;
	margin:0 1em;
}

.flex .inputform fieldset.myradio-fieldset > legend{
	cursor:default;
}

.flex .inputform fieldset.formfield-fieldset p,
.flex .inputform fieldset.formfield-fieldset fieldset.myradio-fieldset{
	padding:0.5em;
}

.flex .inputform fieldset.myradio-fieldset.formfield-box{
	margin:0.5em 0 0 0;
	border:0;
}
.flex .inputform fieldset p.formfield-radio-list{
	padding:0;
}
.flex .inputform fieldset p.formfield-radio-description{
	padding:0.3em 0 0 0;
}

.formdownloadpw .formfielderror{
	margin:1em;
}
.survey .formerror,
.inputform .formerror,
.inputform .formfielderror,
.formdownloadpw .formfielderror,
.sportbooking .formerror{
	color:var(--msgerrorcolor);
	border:2px solid var(--msgerrorbordercolor);
	background-color:var(--msgerrorbackground);
	margin-bottom:0.2em;
}

.content > .form .formfielderror fieldset,
.content > section > .form .formfielderror fieldset,
.content .flex .form .formfielderror fieldset,
.content .flex .element .form .formfielderror fieldset{
	border-color:var(--msgerrorcolor);
}

.survey .formsucceed,
.inputform .formsucceed,
.sportbooking .formsucceeded{
	border:2px solid var(--msgokbordercolor);
	background-color:var(--msgokbackground);
	color:var(--msgokcolor);
	margin-bottom:0.2em;
}
.content .formcalcsucceeded{
	background-color:var(--msgokbackground);
	color:var(--msgokcolor);
}
.sportbooking .formsucceeded,
.sportbooking .formerror{
	margin-bottom:1em;
}

.inputform .description,
form .description{
	font-size:0.8em;
}
.inputform .description.error{
	color:var(--msgerrorcolor);
}
.inputform .captcha-img{
	margin-bottom:0.2em;
}
.visually-hidden{
	display:none;
}

form .formfield-box{
	padding:0.5em 1em;
}
form .formfield-box-right {
	text-align:right;
}

.flex .inputform fieldset{
	padding-bottom:0.2em;
}

.inputform fieldset > div.formfielderror,
form fieldset > div.formfielderror{
	margin-bottom:0;
}

@media screen and (min-width:640px) and (max-width:1023px){

	form.form2col,
	.formfield-fieldset.form2col {
		display: grid;
		grid-template-columns: 50% 50%;
	}

	form.form2col .formfield2cols,
	form.form2col .formfield3cols,
	.formfield-fieldset.form2col .formfield2cols,
	.formfield-fieldset.form2col .formfield3cols {
		grid-column: span 2;
	}

	form.form3col,
	.formfield-fieldset.form3col {
		display: grid;
		grid-template-columns: 50% 50%;
	}

	form.form3col .formfield2cols,
	.formfield-fieldset.form3col .formfield2cols {
		grid-column: span 2;
	}
	form.form3col .formfield3cols,
	.formfield-fieldset.form3col .formfield3cols {
		grid-column: span 2;
	}

	.formfullcol {
		grid-column: 1 / -1
	}
}

@media screen and (min-width:1024px){

	form.form2col,
	.formfield-fieldset.form2col {
		display: grid;
		grid-template-columns: 50% 50%;
	}

	form.form2col .formfield2cols,
	form.form2col .formfield3cols,
	.formfield-fieldset.form2col .formfield2cols,
	.formfield-fieldset.form2col .formfield3cols {
		grid-column: span 2;
	}

	form.form3col,
	.formfield-fieldset.form3col {
		display: grid;
		grid-template-columns: 33.33% 33.33% 33.33%;
	}

	form.form3col .formfield2cols,
	.formfield-fieldset.form3col .formfield2cols {
		grid-column: span 2;
	}
	form.form3col .formfield3cols,
	.formfield-fieldset.form3col .formfield3cols {
		grid-column: span 3;
	}

	.formfullcol {
		grid-column: 1 / -1
	}
}

 /* Fortschrittsanzeige: schlichter Balken, unabhängig von der Anzahl der Schritte */
.form-multistep .form-progress-track{
	width:100%;
	height:8px;
	background:var(--colorlight);
	overflow:hidden;
	margin-bottom:10px;
}
.form-multistep .form-progress-bar{
	height:100%;
	width:0;
	background:var(--backgroundcolorcci);
	transition:width .25s ease;
}

/* Textuelle Ergänzung: "Schritt X von Y – Titel" */
.form-multistep .form-progress-label{
	font-size:0.9em;
	margin-bottom:0.5em;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
}

.form-multistep .form-progress-label > span:nth-child(1) {
  justify-self: start;
}

.form-multistep .form-progress-label > span:nth-child(2) {
  justify-self: center;
}

.form-multistep .form-progress-label > span:nth-child(3) {
  justify-self: end;
}

.form-multistep fieldset.formfield-fieldset:not(.active){
	display:none !important;
}

.form-multistep input[type='button']:disabled{
	opacity: 0.5;
	pointer-events: none;
}

/* =====================================================================================================================
 * Frontend file upload.
 ==================================================================================================================== */
.formfield-upload-dropzone {
	border: 2px dashed gray;
	padding: 20px;
	text-align: center;
	cursor: pointer;
	min-height:20vh;
	display: flex;
	align-items: center;
	justify-content: center;
}

.formfield-upload-dropzone input[type='file'] {
	display:none;
}

.formfield-upload-dropzone-disabled {
	opacity: 0.5;
	pointer-events: none;
}

/* =====================================================================================================================
 * Input fields with icon.
 ==================================================================================================================== */
.inputiconcontainer,
.flex form .inputiconcontainer{
	width:100%;
	position:relative;
	display:inline-block;
}
.flex form .inputiconcontainer input[type='text'],
.flex form .inputiconcontainer input[type='password']{
	width:100%;
	margin-bottom:0;
}
.inputiconcontainer img,
.inputiconcontainer svg{
	position:absolute;
	right:0.5em;
	top:calc(50%);
	transform:translateY(-50%);
	cursor:pointer;
}
.inputiconcontainer svg:nth-of-type(2){
	right:calc(0.5em + 28px);
}

/* =====================================================================================================================
 * History back button.
 ==================================================================================================================== */
.element.back a.url,
a.historyback{
	padding:0.5em 1em;
}
.element.back a.url:hover,
a.historyback:hover{
	text-decoration:none;
}
.element.back a.url:before,
.element.back a.url:after,
a.url.historyback:before,
a.url.historyback:after{
	content:"";
}

/* =====================================================================================================================
 * Calendar week view
 ==================================================================================================================== */
.calendar-table table{
	border:1px solid lightgrey;
	box-sizing: border-box;
	border-collapse:collapse;
	position:relative;
}
.calendar-table td.calendar-week-view-cell,
.calendar-table th.calendar-week-view-cell{
	width:14.28%;
}
.calendar-table td{
	height:60px;
}
.calendar-table .singleevent{
	position:absolute;
	overflow:hidden;
	text-overflow:ellipsis;
}
.calendar-table .singleevent > div{
	padding:0.4em;
	max-width:100%;
	max-height:100%;
	text-align:center;
}
.calendar-table .singleevent:hover{
	z-index:var(--zindex-over-overlay);
	cursor:pointer;
}

.flex.calendar-table h3{
	padding:0;
	margin:0;
	font-size:1em;
}

.flex.event.calendar-table div:has(.fulltextbtn){
	padding-bottom:0;
}
.event.calendar-table .date,
.event.calendar-table .fulltextbtn,
.event.calendar-table .location{
	display:none;
}
.event.calendar-table .time{
	display:inherit;
	font-size:0.9em;
	white-space:nowrap;
}

.flex.calendar-table p:last-child{
	padding-bottom:0;
}

/* =====================================================================================================================
 * Survey
 ==================================================================================================================== */
.survey tr.choices th{
	white-space:nowrap;
}
.survey .name{
	text-align:center;
}
.survey td:first-child{
	min-width:10em;
}
.mysurvey-origin{
	position:absolute;
	opacity:0;
	pointer-events:none;
}
.survey .mysurvey-buttons,
.survey .mysurvey-description{
	margin:0.5em;
}
.survey .mysurvey-description{
	font-size:0.9em;
}
.mysurvey-checkbox{
	border:0;
	padding:0.1em;
	background-color:#eee;
	display:inline-flex;
	align-items:center;
	justify-content:center;
	width:1em;
	height:1em;
	margin-right:0.3em;
}
.mysurvey-choice:not(:disabled) + label .mysurvey-checkbox{
	cursor:pointer;
}

.mysurvey-icon,
.mysurvey-iconempty,
.mysurvey-iconmaybe,
.mysurvey-icondisabled{
	width:1em;
	height:1em;
	display:none;
}

.mysurvey-origin[data-val='Y'] + label .mysurvey-checkbox{
	background:var(--msgokbackground);
	border:1px solid var(--msgokbordercolor);
	box-sizing: border-box;
}
.mysurvey-origin[data-val='Y'] + label .mysurvey-checkbox .mysurvey-icon{
	display:block;
	stroke:var(--msgokcolor);
}
.mysurvey-origin[data-val=''] + label .mysurvey-checkbox .mysurvey-iconempty{
	display:block;
}
.mysurvey-origin[data-val='N'] + label .mysurvey-checkbox{
	background-color:var(--msgerrorbackground);
	border:1px solid var(--msgerrorbordercolor);
	box-sizing: border-box;
}
.mysurvey-origin[data-val='N'] + label .mysurvey-checkbox .mysurvey-icondisabled{
	display:block;
	stroke:var(--msgerrorcolor);
}
.mysurvey-origin[data-val='?'] + label .mysurvey-checkbox{
	background-color:var(--msgwarningbackground);
	border:1px solid var(--msgwarningbordercolor);
	box-sizing: border-box;
}
.mysurvey-origin[data-val='?'] + label .mysurvey-checkbox .mysurvey-iconmaybe{
	display:block;
	stroke:var(--msgwarningcolor);
}

.survey .membername{
	min-width:5em;
	max-width:5em;
	width:5em;
}
.survey .mysurvey-origin{
	min-width:0.1em;
	max-width:0.1em;
	width:0.1em;
}

/* =====================================================================================================================
 * Druck
 ==================================================================================================================== */
@media print {
	header,
	footer,
	.element.back,
	.slidergallery .navbar,
	.slidergallery .timeoutbar,
	.slidergallery .btn,
	.notprintable{
		display: none !important;
	}
	body {
		font-size: 12pt !important;
		line-height: 1.5 !important;
		margin: 2cm !important;
		background: white !important;
		color: black !important;
	}
	a {
		color: black !important;
		text-decoration: underline !important;
	}
	section {
		page-break-before: always;
	}
	a:after {
		content: " (" attr(href) ")" !important;
		font-size: 10pt;
	}
}

/* =====================================================================================================================
 * Sport booking
 ==================================================================================================================== */
.sportbooking-canceled{
	box-sizing: border-box;
	/*border-left:0.5em solid lightcoral;*/
}
.sportbooking-canceled .membercnt {
	display:none;
}
.sportbooking-full{
	box-sizing: border-box;
	/*border-left:0.5em solid orange;*/
}
/*.sportbooking-full .membercnt {
	background-color:orange;
}*/
.sportbooking-full-msg{
	/*color:lightcoral;*/
	font-weight:bold;
}
.flex p.sportbooking-full-msg {
	margin-left:0.5em;
	margin-right:0.5em;
	padding:0.5em;
}
.sportbooking .membercnt {
	padding:0.2em 1em;
}
.sportbooking-free{
	box-sizing: border-box;
	/*border-left:0.5em solid lightgreen;*/
}
/*.sportbooking-free .membercnt,
.sportbooking-checked .membercnt {
	background-color:lightgreen;
}
.sportbooking-notconfirmed .membercnt {
	background-color:orange;
}*/
.sportbooking-checked {
	box-sizing: border-box;
	/*border:0.5em solid lightgreen;*/
}

.sportbooking form label,
.sportbooking form input[type='text'],
.sportbooking form .passwordcontainer{
	margin-right:0.5em;
}
.sportbooking .form {
	margin-bottom:0;
}

@media screen and (min-width:640px){
	.sportbooking-input {
		white-space:nowrap;
	}
	.sportbooking form input[type='text'],
	.sportbooking form .passwordcontainer{
		width:20%;
	}
}

/* =====================================================================================================================
 * Frontend dialog
 ==================================================================================================================== */
.frontend-dialog .ui-dialog-titlebar,
.frontend-dialog.ui-widget.ui-widget-content {
	border:0;
}
.frontend-dialog .ui-dialog-titlebar button {
	display:none;
}
.frontend-dialog .ui-corner-all {
	border-radius:0;
}
.frontend-dialog .ui-dialog-content{
	display: flex;
	align-items: flex-start;
	gap: 10px;
}
.frontend-dialog.frontend-dialog-noflex .ui-dialog-content{
	display: block;
}
.frontend-dialog.frontend-dialog-noflex .ui-dialog-content > div {
	margin-bottom:0.5em;
}
.frontend-dialog .symbol{
	flex: 0 0 auto;
}
.frontend-dialog .text{
	flex: 1 1 auto;
}

/* =====================================================================================================================
 * Copyright
 ==================================================================================================================== */
 @media screen and (min-width:640px){
	.copyright {
		display:flex;
		gap: 1em;
	}
}
 @media screen and (max-width:639px){
	.copyright img {
		max-width:48px;
		margin-bottom:1em;
	}
}
.flex div.copyright{
	margin:0.5em 0;
}
.loginlogo .personalcms25logo img,
.copyright .personalcms25logo img {
	border-radius:1em;
	padding:0.5em;
	background-color:#fff;
	border:3px solid #666666/*#4f963e*/;
}

/* =====================================================================================================================
 * Multiple-Choice
 ==================================================================================================================== */

.multiplechoice-category-disabled{
	display:none;
}
.multiplechoice-solve{
	width:1em;
	height:1em;
	display:inline-block;
}
.flex p.multiplechoice-failed{
	color:var(--msgerrorcolor);
	border:2px solid var(--msgerrorbordercolor);
	background-color:var(--msgerrorbackground);
	margin-bottom:0.2em;
}

.flex p.multiplechoice-succeeded{
	color:var(--msgokcolor);
	border:2px solid var(--msgokbordercolor);
	background-color:var(--msgokbackground);
	margin-bottom:0.2em;
}

.flex .multiplechoice-question{
	font-weight:bold;
}

.flex .multiplechoice-responses {
	container-type: inline-size;
}
.flex .multiplechoice-responses > div {
	display: grid;
	grid-template-columns: 1fr;
	margin-bottom:1em;
	gap:0.2em;
}

.flex .multiplechoice-responses > div > p {
	padding:0.5em 1em;
	margin:0;
}

.flex .multiplechoice figure.fleximg img,
.flex .multiplechoice img,
.flex .multiplechoice video,
.flex .multiplechoice figure.fleximg video{
	max-height:50vh;
}

@container (min-width: 500px) {
	.flex .multiplechoice-responses div {
		grid-template-columns: 1fr 1fr;
	}
}

/* =====================================================================================================================
 * Glossary
 ==================================================================================================================== */
.ui-dialog .ui-dialog-content.glossary-dialog {
	padding:0;
}
.glossary-dialog img,
.glossary-dialog video,
.glossary-dialog audio {
	max-width: 100%;
  	height: auto;
}

/* =====================================================================================================================
 * Mauerwerklayout
 ==================================================================================================================== */
 
@media screen and (min-width:640px) and (max-width:1023px){
	.flex-masonry{
		column-gap:1em;
		display:inherit;
	}
	.flex-masonry-2{
   		column-count: 2;
	}
	.flex-masonry-3{
   		column-count: 2;
	}
	.flex-masonry-4{
   		column-count: 2;
	}
	.flex-masonry-5{
   		column-count: 2;
	}
	.flex-masonry-6{
   		column-count: 2;
	}
	.flex-masonry > div {
		margin-bottom: 1em;
		break-inside: avoid;
	}
	.flex-masonry .slidergallery {
		display: block;
		width: 100%;
		column-span: all;
	}
}

@media screen and (min-width:1024px){
	.flex-masonry{
		column-gap:1em;
		display:inherit;
	}
	.flex-masonry-2{
   		column-count: 2;
	}
	.flex-masonry-3{
   		column-count: 3;
	}
	.flex-masonry-4{
   		column-count: 4;
	}
	.flex-masonry-5{
   		column-count: 5;
	}
	.flex-masonry-6{
   		column-count: 6;
	}
	.flex-masonry > div {
		margin-bottom: 1em;
		break-inside: avoid;
	}
	.flex-masonry .slidergallery {
		display: block;
		width: 100%;
		column-span: all;
	}
}

/* =====================================================================================================================
 * Line Clamp
 ==================================================================================================================== */
 .lineclamp:not(.lineclamp-expanded) {
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	position: relative;
 }

 .lineclamp:not(.lineclamp-expanded)::after {
	content: "";
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	height: 2em;
	pointer-events: none;
}

.lineclamp-more {
	cursor: pointer;
	display: inline-block;
}

/* =====================================================================================================================
 * Tags
 ==================================================================================================================== */
.tags-entry {
	padding:0.2em 0.5em;
	margin-left:0.4em;
	font-size:0.9em;
}

/* =====================================================================================================================
 * Content element text with image.
 ==================================================================================================================== */
 @media screen and (min-width:640px) and (max-width:1023px){
	.flex .text-img-left,
	.flex .text-img-right {
		display:flex;
		flex-direction:row;
	}
	.flex .text-img-right > div {
		flex-grow: 1;
	}
	.flex .text-img-right figure.fleximg{
		order:2;
	}
	.flex .text-img-width-0 figure.fleximg,
	.flex .text-img-width-100 figure.fleximg{
		max-width:100%;
	}
	.flex .text-img-width-25 figure.fleximg{
		max-width:50%;
	}
	.flex .text-img-width-33 figure.fleximg{
		max-width:50%;
	}
	.flex .text-img-width-50 figure.fleximg{
		max-width:50%;
	}
	.flex .text-img-width-66 figure.fleximg{
		max-width:50%;
	}
	.flex .text-img-width-75 figure.fleximg{
		max-width:50%;
	}

	.flex .text-img-width-25 > div{
		width:50%;
	}
	.flex .text-img-width-33 > div{
		width:50%;
	}
	.flex .text-img-width-50 > div{
		width:50%;
	}
	.flex .text-img-width-66 > div{
		width:50%;
	}
	.flex .text-img-width-75 > div{
		width:50%;
	}

	.flex .text-img-height-10 figure.fleximg img{
		max-height:10vh;
	}
	.flex .text-img-height-20 figure.fleximg img{
		max-height:20vh;
	}
	.flex .text-img-height-30 figure.fleximg img{
		max-height:30vh;
	}
	.flex .text-img-height-40 figure.fleximg img{
		max-height:40vh;
	}
	.flex .text-img-height-50 figure.fleximg img{
		max-height:50vh;
	}
	.flex .text-img-height-60 figure.fleximg img{
		max-height:60vh;
	}
	.flex .text-img-height-70 figure.fleximg img{
		max-height:70vh;
	}
	.flex .text-img-height-80 figure.fleximg img{
		max-height:80vh;
	}
	.flex .text-img-height-90 figure.fleximg img{
		max-height:90vh;
	}
	.flex .text-img-height-100 figure.fleximg img{
		max-height:100vh;
	}
}

@media screen and (min-width:1024px){
	.flex .text-img-left,
	.flex .text-img-right {
		display:flex;
		flex-direction:row;
	}
	.flex .text-img-right > div {
		flex-grow: 1;
	}
	.flex .text-img-right figure.fleximg{
		order:2;
	}
	.flex .text-img-width-0 figure.fleximg,
	.flex .text-img-width-100 figure.fleximg{
		max-width:100%;
	}
	.flex .text-img-width-25 figure.fleximg{
		max-width:25%;
	}
	.flex .text-img-width-33 figure.fleximg{
		max-width:33%;
	}
	.flex .text-img-width-50 figure.fleximg{
		max-width:50%;
	}
	.flex .text-img-width-66 figure.fleximg{
		max-width:66%;
	}
	.flex .text-img-width-75 figure.fleximg{
		max-width:75%;
	}

	.flex .text-img-width-25 > div{
		width:75%;
	}
	.flex .text-img-width-33 > div{
		width:67%;
	}
	.flex .text-img-width-50 > div{
		width:50%;
	}
	.flex .text-img-width-66 > div{
		width:34%;
	}
	.flex .text-img-width-75 > div{
		width:25%;
	}
}

/* =====================================================================================================================
 * Waiting dialog.
 ==================================================================================================================== */
#ajaxOverlay {
    display: none;
    position: fixed;
    z-index:var(--zindex-overlay-full);
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background: var(--overlay);
}
#ajaxOverlay.overlay-without-header{
	z-index:var(--zindex-overlay-without-header);
}

#ajaxOverlay .ajaxLoader {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    background: var(--overlay-color);
    border-radius: 8px;
    padding: 30px;
    min-width: 220px;
    text-align: center;
    box-shadow:  var(--overlay-shadow);
}

#ajaxOverlay .spinner {
    width: 48px;
    height: 48px;
    margin: auto;
    border: 6px solid #ddd;
    border-top: 6px solid var(--backgroundcolorcci);
    border-radius: 50%;
    animation: ajaxspin 2s linear infinite;
}

#ajaxOverlay .text {
    margin-top: 15px;
    font-size: 15px;
}

@keyframes ajaxspin {
    to {
        transform: rotate(360deg);
    }
}

/* =====================================================================================================================
 * Training
 ==================================================================================================================== */

/* Lernpfad-Leiste (sticky, unter dem bestehenden Header) */
.training .lernpfad-bar-inner{
	padding:1em;
}
.training .lernpfad-kopf{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:1em;
	margin-bottom:0.7em;
}
.training .lernpfad-titel{
	font-weight:bold;
}
.training .lernpfad-titel .kurslabel{
	display:block;
	font-weight:normal;
	font-size:0.75em;
	color:var(--fontcolor);
	text-transform:uppercase;
	letter-spacing:0.08em;
	margin-bottom:0.15em;
}
.training .lernpfad-kopf-rechts{
	display:flex;
	align-items:center;
	gap:0.7em;
}
.training .lernpfad-fortschritt-zahl{
	color:var(--backgroundcolorcci);
	font-weight:bold;
	white-space:nowrap;
}

/* Schienen-Navigation (Fenster-Ausschnitt, skaliert auf beliebig viele Kapitel) */
.training .lernpfad-schiene{
	position:relative;
	display:flex;
	align-items:flex-start;
	justify-content:center;
	gap:0;
	padding:0.4em 0.2em 0.2em;
}

.training .schritt,
.training .schritt-ellipsis{
	position:relative;
	display:flex;
	flex-direction:column;
	align-items:center;
	flex:1 1 0;
	max-width:6.5em;
	background:none;
	border:none;
	padding:0.2em 0.3em 0;
	cursor:pointer;
	color:var(--fontcolor);
}
.training .schritt:not(:last-child)::after,
.training .schritt-ellipsis:not(:last-child)::after{
	content:"";
	position:absolute;
	top:1.05em;
	left:calc(50% + 1.05em);
	right:calc(-50% + 1.05em);
	height:2px;
	background:var(--bordercolor);
	z-index:0;
}
.training .schritt.abgeschlossen:not(:last-child)::after{
	background:var(--backgroundcolorcci);
}

.training .schritt-knoten{
	position:relative;
	z-index:1;
	width:2.1em;
	height:2.1em;
	border-radius:50%;
	display:flex;
	align-items:center;
	justify-content:center;
	font-weight:bold;
	background:var(--bodycolor);
	border:2px solid var(--bordercolor);
	color:var(--fontcolor);
	transition:transform 0.15s ease, box-shadow 0.2s ease, border-color 0.2s ease, background 0.2s ease;
}
.training .schritt-label{
	margin-top:0.45em;
	text-align:center;
	line-height:1.2;
	white-space:nowrap;
	overflow:hidden;
	text-overflow:ellipsis;
	max-width:100%;
}

.training .schritt.abgeschlossen .schritt-knoten{
	background:var(--backgroundcolorcci);
	border-color:var(--backgroundcolorcci);
	color:var(--bodycolor);
}
.training .schritt.abgeschlossen .schritt-label{
	color:var(--fontcolor);
}
.training .schritt.abgeschlossen .schritt-knoten svg{
	width:1.05em;
	height:1.05em;
	stroke:var(--bodycolor);
	stroke-width:3px;
	fill:none;
}

.training .schritt.aktuell .schritt-knoten{
	background:var(--bodycolor);
	border-color:var(--backgroundcolorcci);
	color:var(--backgroundcolorcci);
}
.training .schritt.aktuell .schritt-label{
	color:var(--fontcolor);
	font-weight:bold;
}
.training .schritt.aktuell .schritt-knoten svg{
	width:1.05em;
	height:1.05em;
	stroke:var(--backgroundcolorcci);
	stroke-width:3px;
	fill:none;
}

.training .schritt.gesperrt{
	cursor:not-allowed;
}
.training .schritt.gesperrt .schritt-knoten{
	background:var(--backgroundcolor);
	border:2px dashed var(--colordark);
	color:var(--colordark);
}
.training .schritt.gesperrt .schritt-knoten svg{
	width:0.9em;
	height:0.9em;
	stroke:var(--colordark);
	stroke-width:2px;
	fill:none;
}
.training .schritt.gesperrt .schritt-label{
	color:var(--colordark);
}
.training .schritt:not(.gesperrt):hover .schritt-knoten{
	transform:translateY(-2px);
}

/* Ellipsis-Knoten: springt in die Kapiteluebersicht */
.training .schritt-ellipsis .schritt-knoten{
	background:none;
	border:none;
	color:var(--fontcolor);
	font-size:1.3em;
	letter-spacing:0.1em;
}
.training .schritt-ellipsis:hover .schritt-knoten{
	color:var(--backgroundcolorcci);
}
.training .schritt-ellipsis .schritt-label{
	visibility:hidden;
}

/* Gesamtfortschritt: duenner Balken unter der Schiene */
.training .lernpfad-balken{
	height:4px;
	background:var(--colordark);
	border-radius:4px;
	margin-top:0.7em;
	overflow:hidden;
}
.training .lernpfad-balken > div{
	height:100%;
	background:var(--backgroundcolorcci);
	border-radius:4px;
	transition:width 0.35s ease;
}

/* Kapiteluebersicht (Drawer fuer sehr viele Kapitel) */
.training .kapitel-overlay{
	position:fixed;
	inset:0;
	background:var(--overlay);
	opacity:0;
	pointer-events:none;
	transition:opacity 0.25s ease;
	z-index:900;
}
.training .kapitel-overlay.offen{
	opacity:1;
	pointer-events:all;
}

.training .kapitel-drawer{
	position:fixed;
	top:0;
	right:0;
	bottom:0;
	width:min(360px, 90vw);
	background:var(--bodycolor);
	box-shadow:var(--menu-shadow);
	transform:translateX(100%);
	transition:transform 0.28s ease;
	z-index:901;
	display:flex;
	flex-direction:column;
}
.training .kapitel-drawer.offen{
	transform:translateX(0);
}

.training .kapitel-drawer-kopf{
	display:flex;
	align-items:center;
	justify-content:space-between;
	padding:1em 1.2em;
	border-bottom:1px solid var(--bordercolor);
	box-sizing: border-box;
	flex:0 0 auto;
}
.training .kapitel-drawer-kopf h2{
	font-size:1em;
	margin:0;
}
.training .kapitel-drawer-schliessen{
	background:none;
	border:none;
	font-size:1.3em;
	line-height:1;
	cursor:pointer;
	color:var(--fontcolor);
	padding:0.2em;
}
.training .kapitel-drawer-schliessen:hover{
	color:var(--fontcolor);
}

.training .kapitel-suche{
	padding:1em;
	flex:0 0 auto;
}
.training .kapitel-suche input{
	width:100%;
}
.training .kapitel-suche input:focus{
	outline:2px solid var(--backgroundcolorcci);
	outline-offset:1px;
}

.training .kapitel-liste{
	overflow-y:auto;
	flex:1 1 auto;
	padding:0.4em 0 2em;
}

.training .modul-kopf{
	display:flex;
	align-items:center;
	justify-content:space-between;
	width:100%;
	background:none;
	border:none;
	text-align:left;
	padding:0.8em 1.2em;
	cursor:pointer;
	font-weight:bold;
	font-size:0.85em;
	color:var(--fontcolor);
}
.training .modul-kopf:hover{
	background:var(--backgroundcolor);
}
.training .modul-kopf .modul-fortschritt{
	font-weight:normal;
	font-size:0.85em;
	color:var(--fontcolor);
}
.training .modul-kopf .modul-pfeil{
	display:inline-block;
	margin-left:0.6em;
	transition:transform 0.2s ease;
}
.training .modul.offen .modul-kopf .modul-pfeil{
	transform:rotate(90deg);
}

.training .modul-liste{
	display:none;
	flex-direction:column;
	padding-bottom:0.3em;
}
.training .modul.offen .modul-liste{
	display:flex;
}

.training .kapitel-eintrag{
	display:flex;
	align-items:center;
	gap:0.7em;
	width:100%;
	background:none;
	border:none;
	text-align:left;
	padding:0.5em 1.2em 0.5em 2em;
	cursor:pointer;
	font-size:0.85em;
	color:var(--fontcolor);
}
.training .kapitel-eintrag:hover:not(:disabled){
	background:var(--backgroundcolor);
}
.training .kapitel-eintrag:disabled{
	color:var(--colordark);
}
.training .kapitel-eintrag .eintrag-status{
	flex:0 0 auto;
	width:1.3em;
	height:1.3em;
	border-radius:50%;
	display:flex;
	align-items:center;
	justify-content:center;
	background:var(--backgroundcolor);
	border:2px solid var(--bordercolor);
	font-size:0.7em;
	font-weight:bold;
}
.training .kapitel-eintrag.abgeschlossen .eintrag-status{
	background:var(--backgroundcolorcci);
	border-color:var(--backgroundcolorcci);
	color:var(--bodycolor);
}
.training .kapitel-eintrag.abgeschlossen .eintrag-status svg{
	width:0.75em;
	height:0.75em;
	stroke:var(--bodycolor);
	stroke-width:3px;
	fill:none;
}
.training .kapitel-eintrag.aktuell{
	background:var(--backgroundcolor);
	font-weight:bold;
}
.training .kapitel-eintrag.aktuell .eintrag-status{
	border-color:var(--backgroundcolorcci);
	color:var(--backgroundcolorcci);
}
.training .kapitel-eintrag.gesperrt .eintrag-status svg{
	width:0.7em;
	height:0.7em;
	stroke:var(--colordark);
	stroke-width:2px;
	fill:none;
}
.training .kapitel-eintrag .eintrag-text{
	flex:1 1 auto;
	overflow:hidden;
	text-overflow:ellipsis;
	white-space:nowrap;
}
.training .kapitel-eintrag.versteckt{
	display:none;
}

/* Inhalt / Sections */
.training main section{
	animation:einblenden 0.35s ease;
}
.training main section:not(.aktiv){
	display:none;
}
@keyframes einblenden{
	from{ opacity:0; transform:translateY(6px); }
	to{ opacity:1; transform:translateY(0); }
}
@media (prefers-reduced-motion:reduce){
	.training main section{ animation:none; }
}
.training main section h2{
	margin:0 0 0.3em;
}
.training main section .eyebrow{
	display:block;
	font-size:0.8em;
	text-transform:uppercase;
	letter-spacing:0.08em;
	color:var(--backgroundcolorcci);
	font-weight:bold;
	margin-bottom:0.4em;
}
.training main section p{
	line-height:1.6;
	margin:0 0 1em;
}

/* Steuerleiste unten (Zurueck / Weiter) */
.training .lernpfad-steuerung{
	backdrop-filter:blur(6px);
	border-top:1px solid var(--bordercolor);
	box-sizing: border-box;
	padding:0.8em 1em;
}
.training .lernpfad-steuerung-inner{
	max-width:1024px;
	margin:0 auto;
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:1em;
}
.training .lernpfad-steuerung button:disabled{
	opacity:0.5;
	pointer-events:none;
}
.training .lernpfad-steuerung-mitte{
	flex:1;
	text-align:center;
	font-size:0.8em;
	color:var(--fontcolor);
	overflow:hidden;
	white-space:nowrap;
	text-overflow:ellipsis;
}

@media screen and (max-width:640px){
	.training .schritt-label{
		display:none;
	}
	.training .schritt, .schritt-ellipsis{
		max-width:3em;
	}
	.training .lernpfad-steuerung-mitte{
		display:none;
	}
	.training .kapitel-drawer{
		width:100vw;
	}
}

/* =====================================================================================================================
 * Sticky Table
 ==================================================================================================================== */

/* Container mit Scrollbereich - Breite/H?he begrenzen, damit man scrollen kann */
.sticky-table{
	max-width:1024px;
	max-height:90vh;
	overflow:auto;
	position:relative; /* wichtig fuer sticky innerhalb des Containers */
}

.sticky-table table{
	border-collapse:collapse;
	width:100%;
	min-width:900px; /* damit horizontales Scrollen moeglich ist */
}

.sticky-table th,
.sticky-table td{
	padding:8px 12px;
	text-align:left;
	white-space:nowrap;
}

/* --- Sticky Header (thead) --- */
.sticky-table thead th{
	position:sticky;
	top:0;
	z-index:2;
	cursor:pointer;
	user-select:none;
}

.sticky-table thead tr:first-child th{ z-index:1; }

/* Filterzeile ist die zweite Zeile im thead */
.sticky-table thead tr.filter-row th{
	top:37px; /* Hoehe der ersten Header-Zeile - ggf. anpassen */
	padding:4px 6px;
	cursor:default;
}

.sticky-table thead tr.filter-row input{
	width:100%;
	padding:4px 6px;
	font-size:13px;
	box-sizing:border-box;
}

/* --- Sticky erste Spalte --- */
.sticky-table tbody td:first-child,
.sticky-table thead th:first-child{
	position:sticky;
	left:0;
	z-index:1;
}

/* Die Ecke oben links braucht die hoechste z-index, da sie sowohl
   "top sticky" als auch "left sticky" ist */
.sticky-table thead tr:first-child th:first-child{ z-index:3; }
.sticky-table thead tr.filter-row th:first-child{ z-index:4; }

/* Sortier-Pfeile im Header */
.sticky-table th.sortable .arrow{ display:inline-block; width:12px; opacity:.6; }
.sticky-table th.sort-asc,
.sticky-table th.sort-desc{ text-decoration:underline; }

/* =====================================================================================================================
 * Customer Review
 ==================================================================================================================== */

.customer-review .rating{
	display:flex;
	gap:4px;
}

.customer-review .rating svg{
	stroke-width:1px;
	width:28px;
	height:28px;
	cursor:pointer;
	color:var(--fontcolor);
	fill:var(--colordark);
	transition:color .2s;
}

.customer-review .rating svg.active{
	fill:#fdcf00; /* Stars */
}

.customer-review .customer-review-title{
	font-weight:bold;
}
.customer-review .customer-review-meta{
	font-size:0.9em;
	vertical-align:baseline;
}
.customer-review .customer-review-meta svg{
	width:16px;
	height:16px;
	stroke-width:1px;
	fill:#fdcf00; /* Stars */
	vertical-align:-0.125em;
}

.customer-review .customer-review-reply{
	border-left:4px solid var(--colordark);
	margin-left:1em;
	margin-bottom:1em;
}
.customer-review .customer-review-reply-date{
	font-size:0.9em;
}

/* =====================================================================================================================
 * File upload
 ==================================================================================================================== */

@media screen and (min-width:1024px){
	.content-fileupload .fileupload-container{
		display:flex;
		gap:1em;
	}
	
	.content-fileupload .fileupload-container > div{
		flex:1;
	}
	
	.content-fileupload .dropzone,
	.content-fileupload .fileList-container{
		height:50vh;
	}
}

@media screen and (max-width:1023px){
	.content-fileupload .dropzone,
	.content-fileupload .fileList-container{
		height:45vh;
	}
}

.content-fileupload .dropzone{
	display:flex;
	justify-content:center;
	align-items:center;
	border:3px dashed var(--colordark);
	box-sizing: border-box;
	text-align:center;
	color:var(--fontcolor);
	cursor:pointer;
	transition:background 0.2s, border-color 0.2s;
}
.content-fileupload .fileList-container{
	overflow:auto;
	background:var(--colormedium);
}

.content-fileupload .dropzone.dragover{
	background:var(--hovercci);
	border-color:var(--backgroundcolorcci);
	color:var(--backgroundcolorcci);
}

.content-fileupload .fileList{
	list-style:none;
	padding:0;
}

.content-fileupload .fileList li{
	background:var(--colorlight);
	border:1px solid var(--colordark);
	box-sizing: border-box;
	padding:10px 14px;
	margin-bottom:8px;
}

.content-fileupload .file-name{
	font-weight:bold;
	display:block;
	margin-bottom:6px;
}

.content-fileupload .progress-bar{
	background:var(--colormedium);
	height:10px;
	overflow:hidden;
}

.content-fileupload .progress-bar-inner{
	background:var(--backgroundcolorcci);
	height:100%;
	width:0;
	transition:width 0.15s;
}

.content-fileupload .status{
	display:block;
	margin-top:6px;
	font-size:0.9em;
}

.content-fileupload .ok{
	background:var(--msgokbackground);
	color:var(--msgokcolor);
}
.content-fileupload .error .progress-bar-inner{
	background:var(--msgokcolor);
}

.content-fileupload .error{
	background:var(--msgerrorbackground);
	color:var(--msgerrorcolor);
}

.content-fileupload .error .progress-bar-inner{
	background:var(--msgerrorcolor)
}

/* =====================================================================================================================
 * Search
 ==================================================================================================================== */

/* --- Such-Wrapper: standardmaessig zugeklappt (Breite 0) --- */
#search-wrapper {
	float:right;
	position: relative;
	width: 0;
	overflow: visible;
	transition: width 0.2s ease;
}
#search-wrapper.is-expanded {
	width: 280px;
}
#search-input {
	width: 100%;	
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.15s ease;
	font-size:0.5em;
	margin-left:0.2em;
}
#search-wrapper.is-expanded #search-input {
	opacity: 1;
	pointer-events: auto;
}
#search-input:focus {
	outline: none;
}

/* X-Button zum Schließen, erscheint im Suchfeld selbst */
#search-close {
	display: none;
	position: absolute;
	right: 8px;
	top: 50%;
	transform: translateY(-50%);
	background: none;
	border: none;
	cursor: pointer;
	color: #888;
	font-size: 1.1rem;
	line-height: 1;
	padding: 4px;
}
#search-wrapper.is-expanded #search-close {
	display: block;
}

#search-status:empty{
	display:none;
}

#search-status {
	position: absolute;
	top: 100%;
	left: 0;
	background:var(--bodycolor);
	color:var(--fontcolor);
	font-weight:normal;
	box-shadow:var(--menu-shadow);
	margin-top: 2px;
	white-space: nowrap;
	padding:0.5em;
	font-size:0.5em;
}

/* --- Ergebnis-Dropdown --- */
#search-results {
	display: none;
	position: absolute;
	top: calc(100% + 8px);
	right: 0;
	width: 380px;
	max-width: 90vw;
	max-height: 60vh;
	overflow-y: auto;
	background:var(--bodycolor);
	color:var(--fontcolor);
	box-shadow:var(--menu-shadow);
	z-index: var(--zindex-over-overlay);
	font-weight:normal;
}
#search-results.is-open {
	display: block;
}
#search-results a {
	color:var(--fontcolor);
}
.search-result {
	display: block;
	padding: 12px 16px;
	text-decoration: none;
	color: inherit;
	border-bottom: 1px solid var(--bordercolor);
}
.search-result:last-child {
	border-bottom: none;
}

#search-results a.search-result:hover,
#search-results a.search-result.is-active{
	color:var(--colorcci);
}
.search-result:hover,
.search-result.is-active {
	background:var(--backgroundcolorcci);
	color:var(--colorcci);
}
/*.search-result.is-active {
	box-shadow: inset 3px 0 0 #1a5fb4;
}*/
.search-result strong {
	display: block;
	font-size: 0.95rem;
	margin-bottom: 3px;
}
.search-result span {
	display: block;
	font-size: 0.85rem;
	line-height: 1.5;
}
.search-result small {
	display: block;
	font-size: 0.75rem;
	line-height: 1.5;
}

.search-no-results {
	padding: 16px;
	margin: 0;
	font-size: 0.9rem;
}
/*mark {
	background: #ffe066;
	color: inherit;
	padding: 0 2px;
	border-radius: 2px;
}*/

/* --- Mobile: Suchfeld wird zum Vollbild-Overlay --- */
@media (max-width: 640px) {
	nav {
		display: none; /* Platz sparen; in echten Projekten z.B. Burger-Menü */
	}

	#search-wrapper.is-expanded {
		position: fixed;
		inset: 0;
		width: auto;
		background:var(--bodycolor);
		color:var(--fontcolor);
		z-index: var(--zindex-over-overlay);
		padding: 14px 16px;
		overflow: auto;
	}
	#search-wrapper.is-expanded #search-input {
		padding: 12px 40px 12px 14px;
		font-size: 1rem;
	}
	#search-wrapper.is-expanded #search-close {
		right: 24px;
		top: 24px;
		font-size: 1.4rem;
	}
	#search-wrapper.is-expanded #search-status {
		left: 16px;
		top: 56px;
	}
	#search-wrapper.is-expanded #search-results {
		position: static;
		width: auto;
		max-width: none;
		max-height: none;
		box-shadow: none;
		margin-top: 32px;
		display: block; /* auf Mobile immer sichtbarer Bereich unter dem Feld */
	}
}

/* layout.css*/
/* Created with version 4.4.0.0-beta14 */

body,
input,
select,
textarea{
	font-family:'Segoe UI',system-ui,-apple-system,sans-serif;
	font-size:1em;
	color:#2F332A;
	background-color:#F7F8F5;
}
a{
	color:#2F332A;
	text-decoration:none;
}
a:hover{
	text-decoration:underline;
}
button.textbutton{
	border:1px solid #9CA391;
	background-color:#DCDFD5;
}
button.textbutton{
	background-color:#F7F8F5;
}
.content a.url:before,
.footer a.url:before,
figcaption .fulltextbtnurl:before{
	content:"\00AB";
}
.content a.url:after,
.footer a.url:after,
figcaption .fulltextbtnurl:after{
	content:"\00BB";
}
.content .element > div > .fulltextbtnurl,
.content .element .fulltextbb,
.content .event > div > div > div > .fulltextbtnurl{
	background-color:#417C3E;
	color:#fefefe;
	border:1px solid #dcdfd5;
}
.content .element > div > .fulltextbtnurl:hover,
.content .element .fulltextbb:hover,
.content .event > div > div > div > .fulltextbtnurl:hover{
	background-color:#316130;
	color:#fefefe;
}
.content > .form,
.content .flex .form,
.content .form,
.content .flex .element .form,
.content .flex.form > div,
.content .survey tr.active td,
.training .kapitel-suche{
	background-color:#DCDFD5;
}
.content > .form fieldset,
.content .flex .form fieldset,
.content .form fieldset,
.content .flex .element .form fieldset{
	border-color:#9CA391;
}
.content .flex .form button,
.content .form button,
.content .form input[type='button'],
.content .form input[type='submit'],
.content .flex form input[type='button'],
.content .flex form input[type='submit'],
.content a.historyback,
.content .element.back a.url,
.content .embeddedform button,
.content .embeddedform input[type='button'],
.frontend-dialog .ui-dialog-buttonset button,
.training .lernpfad-kopf button,
.training .lernpfad-steuerung button{
	color:#fefefe;
	background-color:#417C3E;
	border:1px solid #dcdfd5;
}
.content .flex .form button:hover,
.content .form button:hover,
.content .element.back a.url:hover,
.content .flex form input[type='button']:hover,
.content .flex form input[type='submit']:hover,
.content a.historyback:hover,
.content .embeddedform button:hover,
.content .embeddedform input[type='button']:hover,
.frontend-dialog .ui-dialog-buttonset button:hover,
.training .lernpfad-kopf button:hover,
.training .lernpfad-steuerung button:hover{
	color:#fefefe;
	background-color:#316130;
}
.content .flex form input[type='text'],
.content .flex form input[type='password'],
.content .flex form input[type='date'],
.content .flex form input[type='tel'],
.content .flex form input[type='email'],
.content .flex form input[type='number'],
.content .flex form textarea,
.content .flex form select,
.content .flex form .mycheckbox-checkbox{
	color:#1B1E17;
	background-color:#ffffff;
}
.header{
	background:linear-gradient(135deg, #417C3E, #F7F8F5);
}
.header > h1{
	background:rgba(65,124,62,0.8);
	color:#fefefe;
	top:0;
}
.header > h1 a{
	color:#fefefe;
}
.header > figure.profile{
	display:none;
}
.header > figure.profile img{
	max-width:90%;
	max-height:50vh;
}
.content .flex:not(.form) > div,
.content .flex > figure{
	border-radius:0;
	background-color:#EEF0EA;
}
.dashboard .header > figure.profile{
	display:block;
}
.dashboard .header > figure.profile img{
	max-width:90%;
	max-height:50vh;
}
.dashboard .content .flex > div,
.dashboard .content .flex > figure,
.halfdashboard .content .flex > div,
.halfdashboard .content .flex > figure{
	box-shadow:0.1em 0.1em 0.5em #cccccc;
}
.dashboard .content .chart canvas.withhtml,
.dashboard .content .flex figure.fleximg img,
.dashboard .content .flex figure.fleximg video,
.dashboard .content .flex video,
.dashboard .content .flex > div.img img,
.halfdashboard .content .chart canvas.withhtml,
.halfdashboard .content .flex figure.fleximg img,
.halfdashboard .content .flex figure.fleximg video,
.halfdashboard .content .flex video,
.halfdashboard .content .flex > div.img img{
	border-radius:0 0 0 0;
}
.dashboard .content .flex figure.fleximg.fullimg a,
.dashboard .content .flex figure.fleximg.fullimg img,
.dashboard .content .flex figure.fleximg.fullimg video,
.dashboard .content .flex .fullvideo video,
.dashboard .content .flex div.osmmap,
.dashboard .content .chart canvas,
.halfdashboard .content .flex figure.fleximg.fullimg a,
.halfdashboard .content .flex figure.fleximg.fullimg img,
.halfdashboard .content .flex figure.fleximg.fullimg video,
.halfdashboard .content .flex .fullvideo video,
.halfdashboard .content .flex div.osmmap,
.halfdashboard .content .chart canvas{
	border-radius:0;
}
body figcaption.figcaptionbottomright,
body figcaption.figcaptionbottomleft,
body figcaption.figcaptiontopright,
body figcaption.figcaptiontopleft,
body figcaption.figcaptiontop,
body figcaption.figcaptionright,
body figcaption.figcaptionbottom,
body figcaption.figcaptionleft,
body figcaption.figcaptionmiddle{
	color:#ffffff;
	background:rgba(69,76,63,0.8);
}
body figcaption.figcaptionbottomright a,
body figcaption.figcaptionbottomleft a,
body figcaption.figcaptiontopright a,
body figcaption.figcaptiontopleft a,
body figcaption.figcaptiontop a,
body figcaption.figcaptionright a,
body figcaption.figcaptionbottom a,
body figcaption.figcaptionleft a,
body figcaption.figcaptionmiddle a{
	color:#ffffff;
}
.half .header,
.halfdashboard .header{
	min-height:40vh;
	max-height:40vh;
}
.half .header > figure.background img,
.half .header > figure.background video,
.halfdashboard .header > figure.background img,
.halfdashboard .header > figure.background video{
	height:40vh;
}
.dashboard .header{
	min-height:100vh;
}
.dashboard .header > figure.background img,
.dashboard .header > figure.background video{
	height:100vh;
}
.content > .headline{
	height:40vh;
}
.content > .headline img,
.content > .headline video{
	height:40vh;
	max-height:40vh;
}
.content > .headline > div > div{
	background:rgba(255,255,255,0.8);
	color:#333333;
}
.content > .quotebanner{
	background:#417C3E;
}
.content > .quotebanner > .quotebannercontent > div{
	padding-top:4em;
	padding-bottom:4em;
}
.content > .quotebanner > div > div{
	color:#fefefe;
	font-size:1.5em;
}
.quotebanner p:before,
.quotebanner h2:before,
.quotebanner h3:before,
.quotebanner h4:before,
.quotebanner h5:before,
.quotebanner h6:before{
	content:"\201C";
}
.quotebanner p:after,
.quotebanner h2:after,
.quotebanner h3:after,
.quotebanner h4:after,
.quotebanner h5:after,
.quotebanner h6:after{
	content:"\201D";
}
.content.popuplayout .flex.block,
.half .content,
table,
table td{
	background-color:#EEF0EA;
}
.footer{
	color:#fefefe;
	font-size:0.9em;
}
.footer a{
	color:#fefefe;
}
.footer > .footer1{
	background-color:#454C3F;
}
.content .countdown > .countdown_inner > div{
	color:#2F332A;
	background-color:#F7F8F5;
}
.content .slidergallery .navbar span.active{
	background-color:#417C3E;
}
.content .slidergallery .navbar span{
	background-color:#DCDFD5;
}
.content .slidergallery .timeoutbar{
	background-color:#F7F8F5;
}
.content .slidergallery .timeoutbar div.timeout{
	background-color:#DCDFD5;
}
.content table{
	background-color:#EEF0EA;
}
.content table,
.content table th,
.content table td,
.content .survey input[type='text'],
.content .survey .mysurvey-checkbox,
.content .inputform .mycheckbox-checkbox,
.content .inputform input[type='text'],
.content .inputform input[type='password'],
.content .inputform form input[type='date'],
.content .inputform form input[type='tel'],
.content .inputform form input[type='email'],
.content .inputform form input[type='number'],
.content .inputform form textarea,
.content .inputform form select{
	border:1px solid #DCDFD5;
}
.formfield-upload-dropzone{
	border-color:#333333;
}
.formfield-upload-dropzone-hover,
.formfield-upload-dropzone:hover{
	border-color:#333333;
	background-color:#ffffff;
}
.content input:focus:not(:disabled),
.content select:focus:not(:disabled),
.content textarea:focus:not(:disabled),
.content .mycheckbox-origin:focus:not(:disabled) + label .mycheckbox-icon,
.content .mycheckbox-origin:not(:disabled) + label .mycheckbox-checkbox:focus:not(:disabled),
.content .mysurvey-origin:focus:not(:disabled) + label .mysurvey-icon,
.content .mysurvey-origin:not(:disabled) + label .mysurvey-checkbox:focus:not(:disabled){
	outline:2px solid #2F332A;
}
.content table th{
	background-color:#417C3E;
	color:#fefefe;
}
.content .calendar-table .singleevent{
	border:1px solid #DCDFD5;
}
.content .calendar-table .singleevent:hover{
	background-color:rgba(65,124,62,0.9);
	color:#fefefe;
}
.imgdownloadmultiple:checked + label > .mycheckbox-checkbox{
	background-color:#417C3E;
}
.imgdownloadmultiple:checked + label > .mycheckbox-checkbox svg > path{
	stroke:#fefefe;
}
.frontend-dialog .ui-dialog-titlebar{
	background-color:#417C3E;
	color:#fefefe;
}
.sportbooking-canceled{
	border-left:0.5em solid #FAEAE6;
}
.sportbooking-full{
	border-left:0.5em solid #FBF2D9;
}
.sportbooking-full .membercnt,
.embeddedform button.sportbooking-unsubscribe{
	background-color:#FBF2D9;
	color:#E6C266;
}
.sportbooking-full-msg{
	background-color:#FAEAE6;
	color:#7E362A;
}
.sportbooking-free{
	border-left:0.5em solid #EEF5EC;
}
.sportbooking-free .membercnt,
.sportbooking-checked .membercnt{
	background-color:#EEF5EC;
	color:#264A26;
}
.sportbooking-notconfirmed .membercnt{
	background-color:#FBF2D9;
	color:#E6C266;
}
.sportbooking-checked{
	border-left:0.5em solid #417C3E;
}
.lineclamp:not(.lineclamp-expanded)::after{
	background:linear-gradient(to bottom, rgba(255,255,255,0), #EEF0EA 80%);
}
.msg-cci{
	background-color:#417C3E !important;
	color:#fefefe !important;
}
.msg-cci a{
	color:#fefefe !important;
}
.downloads ul li{
	border-top:1px solid #DCDFD5;
}
.downloads .download-button a{
	color:#fefefe;
	background-color:#417C3E;
}
.downloads .download-button a:hover{
	color:#fefefe;
	background-color:#316130;
}
.tags-entry{
	color:#fefefe;
	background-color:#417C3E;
}
.msg-important{
	background-color:#FAEAE6;
	color:#7E362A;
}
.msg-important a{
	color:#7E362A;
}
.msg-success{
	background-color:#EEF5EC;
	color:#264A26;
}
.msg-success a{
	color:#264A26;
}
.msg-info{
	background-color:#E9F1F4;
	color:#1E5163;
}
.msg-info a{
	color:#1E5163;
}

/* custom.css*/
/*******************************************************************************
 * Header
 ******************************************************************************/
.dashboard .header > figure.profile img {
    box-shadow: 0.1em 0.1em 0.5em #333;
}
.header h1 > a {
	font-style:italic;
	font-weight:normal;
}

/*******************************************************************************
 * Images
 ******************************************************************************/
.content div.flex:not(.gallery) figure.fleximg,
.content section.flex:not(.gallery) figure.fleximg {
	background-color:#333;
}

.text-img-focus-on-hover{
}

.content div.text-img-focus-on-hover figure {
	position: relative;
	overflow: hidden;
}
.content div.text-img-focus-on-hover figure img {
	width: 100%;
	transition: transform 0.6s ease;
}
.content div.text-img-focus-on-hover figure img:hover {
	transform: scale(1.15);
}

/*******************************************************************************
 * Editor
 ******************************************************************************/
@media screen and (max-width:1024px){
	body .content div.flex.myhideonsmallscreen,
	body .content section.flex.myhideonsmallscreen {
		display:none;
	}
	body.editor .content div.flex.myhideonsmallscreen,
	body.editor .content section.flex.myhideonsmallscreen {
		display:inherit;
	}
}

/*******************************************************************************
 * Content
 ******************************************************************************/
.content div.flex:not(.form) .intro,
.content section.flex:not(.form) .intro {
	background-color:#808080;
	color:white;
	text-align:center;
}

.content div.flex.featurelist figure.fleximg,
.content section.flex.featurelist figure.fleximg {
	margin-top:1em;
	background-color:inherit;
}

.element .fulltextbtn a,
.event .fulltextbtn a{
	text-decoration:none;
	transition: background-color .3s ease;
}

.quotebanner {
	margin-top: 5em;
}
main > section.flex.block:last-child {
	margin-bottom: 5em;
}

/*******************************************************************************
 * Links
 ******************************************************************************/
body figcaption.figcaptionbottomright a,
body figcaption.figcaptionbottomleft a, 
body figcaption.figcaptiontopright a, 
body figcaption.figcaptiontopleft a, 
body figcaption.figcaptiontop a, 
body figcaption.figcaptionright a, 
body figcaption.figcaptionbottom a, 
body figcaption.figcaptionleft a, 
body figcaption.figcaptionmiddle a{
	transition: color 0.3s ease;
}
body figcaption.figcaptionbottomright a:hover,
body figcaption.figcaptionbottomleft a:hover, 
body figcaption.figcaptiontopright a:hover, 
body figcaption.figcaptiontopleft a:hover, 
body figcaption.figcaptiontop a:hover, 
body figcaption.figcaptionright a:hover, 
body figcaption.figcaptionbottom a:hover, 
body figcaption.figcaptionleft a:hover, 
body figcaption.figcaptionmiddle a:hover{
	color: #00a82d;
	text-decoration:none;
}

/*******************************************************************************
 * Events
 ******************************************************************************/
.dashboard .content div.flex > div.today,
.dashboard .content section.flex > div.today {
	box-sizing: border-box;
	border-left:0.5em solid #00a82d;
}

.content div > div.singleevent.category-canceled {
	border-left: solid 1em #f08080;
	box-sizing: border-box;
}

/*******************************************************************************
 * Social media
 ******************************************************************************/
.luicide-social {
	width:1em;
	height:1em;
	stroke-width:2px;
}

/* =======================================================================================================
 * Wetter
 * ==================================================================================================== */
.content .weather {
	padding:0.5em 1em;
	display: flex;
	align-items: flex-start;
	gap: 0.5em;
}
.content .weather-code {
	height: 3em;
	width: auto;
	stroke-width:2px;
	stroke-linecap:round;
	stroke-linejoin:round;
}
.content .weather-code-text {
	font-weight:bold;
}
.content .weather-meta {
	margin-left: 0.2em;
}
.content .weather-meta div {
	white-space: nowrap;
	font-size:0.8em;
	cursor:default;
	margin-bottom:0.2em;
}
.content .weather-meta-img {
	width:1em;
	height:1em;
	margin-right:0.2em;
	stroke-width:1px;
	stroke-linecap:round;
	stroke-linejoin:round;
}
.content .weather-error {
	background-color:#f08080;
	padding:0.1em 0.3em;
}

/*******************************************************************************
 * Reveal
 ******************************************************************************/
.reveal {
}
.reveal-zoom{
}
.reveal-delay {
}
.jsonly .reveal-zoom .element{
	opacity:0;
	transform:scale(0.7);
	transition:all 0.9s cubic-bezier(0.2, 0.8, 0.2, 1);
}
.jsonly .reveal-zoom .element.visible{
	opacity:1;
	transform:scale(1);
}
.jsonly .block .reveal-delay .element:nth-child(1n){ transition-delay:0.1s; }
.jsonly .block .reveal-delay .element:nth-child(2n){ transition-delay:0.2s; }
.jsonly .block .reveal-delay .element:nth-child(3n){ transition-delay:0.3s; }
.jsonly .block .reveal-delay .element:nth-child(4n){ transition-delay:0.1s; }
.jsonly .block .reveal-delay .element:nth-child(5n){ transition-delay:0.2s; }
.jsonly .block .reveal-delay .element:nth-child(6n){ transition-delay:0.3s; }
.jsonly .block .reveal-delay .element:nth-child(7n){ transition-delay:0.1s; }
.jsonly .block .reveal-delay .element:nth-child(8n){ transition-delay:0.2s; }
.jsonly .block .reveal-delay .element:nth-child(9n){ transition-delay:0.3s; }
.jsonly .block .reveal-delay .element:nth-child(10n){ transition-delay:0.1s; }
.jsonly .block .reveal-delay .element:nth-child(11n){ transition-delay:0.2s; }
.jsonly .block .reveal-delay .element:nth-child(12n){ transition-delay:0.3s; }

/*******************************************************************************
 * Full Text Button
 ******************************************************************************/
.element {
	position: relative;
}
.element::after {
	content: "";
	position: absolute;
	inset: 0;
	/*background: rgba(150,150,150,0.4);*/
	background: rgba(255,255,255,0.4);
	opacity: 0;
	transition: opacity 0.2s ease;
	pointer-events: none;
	z-index: 1;
}
.fulltextbtn {
	position: relative;
	z-index: 2;
}

/*******************************************************************************
 * Tags
 ******************************************************************************/	
.tags-entry{			
	background:#d8e9d4;
	color:#264a26;
}