/*
|===============================================================================|
| Template: moziloCMS_Standard_Hell                                             |
| Author: Sven Svetic, Twinix-Design                                            |
| Version: 0.4 (Farbsystem und Flächenhierarchie)                                                                  | 
| *********  Dieser Hinweis darf nicht entfernt werden!  *********              |
|===============================================================================|
*/



::selection {
    background: var(--selection-bg);
    color: var(--selection-text);
}

* {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box
}

*,
*:before,
*:after {
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    margin: 0;
    padding: 0
}
/*--------------------------------------------------------------
# Body Style
--------------------------------------------------------------*/
html,
body {
    scroll-behavior: smooth
} 

body {
    background: var(--page-bg);
    color: var(--page-text);
    display: flex;
    flex-direction: column;
    min-height: 100vh;
    font-family: Roboto, Helvetica, Arial, sans-serif;
    font-size: 16px;
    line-height: 1.7
}
/*--------------------------------------------------------------
# allgemeiner Style 
--------------------------------------------------------------*/
a {
    color: var(--link-color);
    text-decoration: none
}

a:link,
a:visited,
a:active {
    color: var(--link-color);
    text-decoration: none
}

a:hover {
    color: var(--link-hover)
}

:hover {
    transition: color 0.2s ease 0s
}

p {
    line-height: 1.61em;
    font-weight: 300;
    font-size: 1em
}

iframe {
    border: 0
}

article,
aside,
figure,
footer,
header,
hgroup,
section {
    display: block
}

input[type=checkbox],
input[type=radio] {
    vertical-align: baseline
}

span {
    font-style: inherit;
    font-weight: inherit
}

fieldset {
    border: none
}

.noborder {
	border:none
}

.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}


/*--------------------------------------------------------------
# Überschriften Style
--------------------------------------------------------------*/
h1,
h2,
h3 {
    color: var(--content-heading);
    font-weight: 400
}

h1, #websitename {
    font-size: 2.7em;
    line-height: 1.15;
    margin-bottom: 1.25em
}

h2 {
    font-size: 2.2em;
    margin-bottom: 1.25em
}

h3 {
    font-size: 1.625em;
    margin-bottom: 1.25em;
    line-height: 1.4em
}

#websitename {
    font-size: 3.75em;
    font-weight: bold;
    color: var(--header-text);
    text-shadow: 0 0 2px var(--header-title-highlight),
        -1px -1px 0 var(--color-lime-700),
        -2px -2px 1px var(--color-lime-700),
        -2px -2px 2px var(--header-title-shadow)
}
/*--------------------------------------------------------------
# mozilo Syntax
--------------------------------------------------------------*/
hr {
    border: none;
    border-top: .111em var(--page-divider) solid;
    max-width: 100%;
    margin: .278em
}

.leftcontentimage {
    float: left;
    margin: 0.25em
}

.rightcontentimage {
    float: right;
    margin: 0.25em
}

.alignleft {
    text-align: left
}

.aligncenter {
    text-align: center
}

.alignright {
    text-align: right
}

.alignjustify {
    text-align: justify
}

.highlight {
    padding: .059em;
    background: var(--status-highlight-bg);
    color: var(--status-highlight-text)
}

.unorderedlist,
.orderedlist {
    margin-left: 1.471em
}
/*--------------------------------------------------------------
# tabelle
--------------------------------------------------------------*/
table.contenttable {
    width: 100%;
    height: auto;
    border: .059em solid var(--table-border);
    border-collapse: collapse;
    padding: .294em
}

th.contenttable {
    border: .059em solid var(--table-border);
    background: linear-gradient(to bottom, var(--table-head-bg-start), var(--table-head-bg-end));
    color: var(--table-head-text);
    text-align: center;
    padding: .294em
}

td.contenttable1,
td.contenttable2 {
    border: .059em solid var(--table-border);
    text-align: center;
    padding: .294em
}
/*--------------------------------------------------------------
# sitemap / # search results / # tableofcontents
--------------------------------------------------------------*/
#sitemap {
/*    padding: 0 0 .588em 0.778em */
}

.result-list-header {
	display: block;
	font-size: 1.8em;
    margin: 1.176em .882em .588em 0;
    padding-bottom: .118em;
    color: var(--page-text);
    border-bottom: 1px var(--page-divider) solid
}

.result-list-item {
    padding-bottom: .294em;
    padding-left: 2.5em;
    list-style-type: none
}

#sitemap a, .searchmap result-list result-list a, .tableofcontents a {
    text-decoration: none;
    color: var(--page-text)
}

#sitemap a:hover, .searchmap result-list result-list a:hover, .tableofcontents a:hover {
    color: var(--link-hover)
}
/*--------------------------------------------------------------
# bilder
--------------------------------------------------------------*/
img {
    border: 1px solid var(--image-border);
    display: block;
    max-width: 100%;
    height: auto;
    margin-bottom: 3px;
    -webkit-box-shadow: var(--shadow-image);
    -moz-box-shadow: var(--shadow-image);
    box-shadow: var(--shadow-image)
}

.contentimage {
    display: inline-block;
    max-width: 100%
}

span.imagesubtitle {
    display: block;
    font-size: .706em;
    color: var(--image-caption);
    line-height: .824em;
    text-align: center
}

img.leftcontentimage {
    max-width: 14.706em
}

span.leftcontentimage {
    float: left;
    max-width: 14.706em;
    margin: .235em .588em .588em 0
}

img.rightcontentimage {
    max-width: 14.706em
}

span.rightcontentimage {
    float: right;
    max-width: 14.706em;
    margin: .235em 0 .588em .588em
}
/*--------------------------------------------------------------
# mozilo Gallery
--------------------------------------------------------------*/
.gallerymenu,
.gallerynumbermenu {
    display: block;
    text-align: center;
    padding: 0 10px 5px 10px
}

.gallerymenu,
.gallerynumbermenu>li {
    display: inline-block
}
/*--------------------------------------------------------------
# Searchfield
--------------------------------------------------------------*/
.searchform {
  width: 100%;
  position: relative;
  display: flex;
}

.searchtextfield {
  width: 100%;
  border: 2px solid var(--form-border);
  border-right: none;
  padding: 5px;
  border-radius: 5px 0 0 5px;
  outline: none;
  color: var(--form-text);
  background: var(--form-bg);
}

.searchtextfield:focus{
  color: var(--form-text);
  border-color: var(--form-border-focus);
  box-shadow: var(--focus-ring);
}

.searchbutton {
  width: 40px;
  height: 36px;
  border: 1px solid var(--form-border);
  background: var(--form-button-bg);
  border-radius: 0 5px 5px 0;
  cursor: pointer;
background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'><path fill='%23ffffff' d='M13.22 14.63a8 8 0 1 1 1.41-1.41l4.29 4.29a1 1 0 1 1-1.41 1.41l-4.29-4.29zm-.66-2.07a6 6 0 1 0-8.49-8.49 6 6 0 0 0 8.49 8.49z'></path></svg>");
background-repeat: no-repeat;
background-position: center;
  color: var(--form-button-text)
}

.searchbutton:hover,
.searchbutton:focus {
  background-color: var(--form-button-bg-hover);
  border-color: var(--form-button-bg-hover);
}   
/*--------------------------------------------------------------
# Page Style
--------------------------------------------------------------*/
.header {
    padding: 1.25em;
    min-height: 15.625em;
    text-align: center;
    background: linear-gradient(
        110deg,
        var(--header-bg-start) 0%,
        var(--header-bg-middle) 58%,
        var(--header-bg-end) 100%
    );
    color: var(--header-text);
    -webkit-box-shadow: var(--shadow-header);
    -moz-box-shadow: var(--shadow-header);
    box-shadow: var(--shadow-header)
}

.header img {
    display: inline-block;
    box-shadow: none;
    border: none
}

.topBar {
    display: flex;
    background-color: var(--topbar-bg)
}

.main-row {
    display: flex;
    flex: 1;
    width: 100%;
    max-width: 120em;
    margin: 0 auto;
    background: var(--content-area-bg)
}
/*--------------------------------------------------------------
# Sidebar / Nav Style
--------------------------------------------------------------*/
.dropdown {
    background: var(--nav-area-bg);
    border-right: .063em solid var(--nav-content-divider)
}

.side {
    height: 100%;
    background: var(--nav-area-bg);
    min-width: 280px;
    margin: 0;
    padding: 1.25em
}

.side .panel {
    background: var(--nav-panel-bg);
    border-color: var(--nav-border)
}

nav {
    margin: 0;
    padding: 0;
    list-style-type: none;
    line-height: 1
}
/*--------------------------------------------------------------
# mainmenu {}
--------------------------------------------------------------*/
.mainmenu {
    margin: 0;
    padding: 0
}

.mainmenu-item {
    display: block;
    width: 100%;
    margin: 0
}

.mainmenu-item a {
    padding: 0.444em 0.889em;
    border-bottom: 1px solid var(--nav-border);
    text-decoration: none
}

.mainmenu-item a:hover {
    background: var(--nav-hover-bg);
}

a.menu {
    display: block;
    color: var(--nav-text);
    text-decoration: none
}

a.menu:hover {
    color: var(--nav-hover-text);
    background: var(--nav-hover-bg);
}

a.menuactive {
    display: block;
    font-weight: bold;
    color: var(--nav-active-text);
    background: var(--nav-active-bg);
    border-left: .25em solid var(--nav-submenu-accent);
    text-decoration: none
}

a.menuactive:hover {
    color: var(--nav-hover-text);
}
/*--------------------------------------------------------------
# submenu {}
--------------------------------------------------------------*/
ul.submenu {
    margin: 0em;
    padding: 0em
}

li.submenu {
    margin: 0em;
    padding: 0em;
    list-style-type: none
}

a.submenu {
    display: block;
    color: var(--page-text)
}

a.submenu:hover {
    color: var(--nav-hover-text);
    background: var(--nav-hover-bg);
}

a.submenuactive {
    display: block;
    font-weight: bold;
    color: var(--nav-active-text);
    background: var(--nav-active-bg);
    border-left: .25em solid var(--nav-submenu-accent)
}

a.submenuactive:hover {
    color: var(--nav-hover-text)
}
/*--------------------------------------------------------------
# detailmenu {}
--------------------------------------------------------------*/
.detailmenu {
    margin: 0;
    padding: 0
}

.detailmenu-item {
    width: 100%;
    margin: 0;
    padding: 0;
    padding-left: .625em;
    list-style-type: none
}

.detailmenu-item a {
    text-decoration: none;
    color: var(--page-text)
}
/*--------------------------------------------------------------
# Hamburger Button Checkbox
--------------------------------------------------------------*/
.dropdown input[type=checkbox] {
    display: none
}
/*--------------------------------------------------------------
# Content Style
--------------------------------------------------------------*/
.main {
    flex: 3 1 0%;
    background: var(--content-area-bg);
    margin: 0;
    padding: 1.25em;
    overflow: hidden
}

.panel {
    height: 100% !important;
    min-height: 5em;
    background-color: var(--content-panel-bg);
    color: var(--content-panel-text);
    border: .063em solid var(--content-panel-border);
    border-radius: .25em;
    -webkit-box-shadow: var(--shadow-panel);
    -moz-box-shadow: var(--shadow-panel);
    box-shadow: var(--shadow-panel)
}

.panel-body {
    padding: .625em

}

.main .panel-body {
    padding: .625em;
 /*   min-height: 100vh */
}

.panel-heading {
    background: var(--panel-heading-bg);
    padding: .625em .938em;
    border-bottom: .063em solid transparent;
    border-top-left-radius: .188em;
    border-top-right-radius: .188em
}

.panel-title {
    margin-top: 0;
    margin-bottom: 0;
    color: inherit
}

.panel-title>a {
    color: inherit
}

.panel-footer {
    padding: .625em .938em;
    background-color: var(--panel-footer-bg);
    border-top: .063em solid var(--panel-footer-border);
    border-bottom-right-radius: .188em;
    border-bottom-left-radius: .188em
}
/*--------------------------------------------------------------
# Footer Style
--------------------------------------------------------------*/
.footer {
    padding: 1.25em;
    bottom: 0;
    text-align: center;
    background: var(--footer-bg);
    color: var(--footer-text);
}

.footer p,
.footer span,
.footer small {
    color: inherit;
}

.footer a {
    color: var(--footer-link);
}

.footer a:hover,
.footer a:focus {
    color: var(--footer-link-hover);
}

/*--------------------------------------------------------------
# Farb-Brücke für Plugins
#
# Plugins sollten möglichst nicht direkt auf die Basisfarben
# zugreifen, sondern auf diese semantischen Variablen. Dadurch
# bleiben Plugin-CSS und Layout-Farbschema voneinander entkoppelt.
--------------------------------------------------------------*/
:root {
    --plugin-surface: var(--content-panel-bg);
    --plugin-surface-soft: var(--color-gray-050);
    --plugin-surface-accent: var(--color-lime-100);
    --plugin-text: var(--page-text);
    --plugin-text-muted: var(--page-text-muted);
    --plugin-border: var(--page-border);
    --plugin-primary: var(--color-lime-600);
    --plugin-primary-hover: var(--color-lime-700);
    --plugin-accent: var(--color-orange-500);
    --plugin-accent-hover: var(--color-orange-600);
    --plugin-on-primary: var(--color-white);
    --plugin-shadow: var(--shadow-panel);
    --plugin-focus-ring: var(--focus-ring);
}

/* -------------------------------------- */
/* ---------- max-width 768px ----------- */
/* -------------------------------------- */
@media screen and (max-width: 768px) {
    body {
        font-size: 15px
    }

    .main-row,
    .navbar {
        flex-direction: column
    }

    .dropdown {
        border-right: 0;
        border-bottom: .063em solid var(--nav-content-divider)
    }

    .panel {
        min-height: 2.667em
    }

    h1 {
        font-size: 2.2em
    }

    h2 {
        font-size: 1.9em
    }

    h3 {
        font-size: 1.425em
    }

    .header h1 {
        font-size: 3.333em
    }
/*--------------------------------------------------------------
# Hamburger Button 
--------------------------------------------------------------*/
.side {
    position: absolute;
    opacity: 0;
    max-height: 0px;
    overflow: hidden;
    transition: all 1s cubic-bezier(.325, 1, .22, 1)
}

.dropdown input[type=checkbox]:checked ~ .side {
    position: relative;
    height: auto;
    opacity: 1;
    max-height: 500px;
    transition: all 1s cubic-bezier(.5, 1, .22, 1)
}

.hamburger {
    display: block;
    position: absolute;
    top: 18px;
    right: 13px;
    height: 27px;
    width: 27px;
    cursor: pointer;
    transition: all 1s cubic-bezier(.19, 1, .22, 1)
}

.line {
    position: absolute;
    display: block;
    background: var(--hamburger-color);
    width: 22px;
    height: 3px;
    border-radius: 1px;
    left: 0;
    transition: all .6s cubic-bezier(.5, .1, 0, 1.2)
}

.line1 {
    top: 0
}

.line2 {
    top: 7px;
    width: 18px;
    transform: translateX(2px);
    -webkit-transform: translateX(2px)
}

.line3 {
    top: 14px
}

input[type=checkbox]:checked ~ label .line1 {
    top: 0px;
    width: 24px;
    transform: translateX(-11px) rotate(-45deg) translateY(12px)
}

input[type=checkbox]:checked ~ label .line2 {
    opacity: 0
}

input[type=checkbox]:checked ~ label .line3 {
    top: 14px;
    width: 24px;
    transform: translateX(-8px) rotate(45deg) translateY(-8px)
}
}
/* -------------------------------------- */
/* ---------- max-width 550px ----------- */
/* -------------------------------------- */
@media only screen and (max-width: 550px) {
    body {
        font-size: 14px
    }

    .header h1 {
        font-size: 2.857em
    }
}
fieldset#searchfieldset {
   border:none;
   margin:0px;
   padding:0px;
}

/* Dezenter Link-Button für Navigation zwischen Unterverzeichnissen der Website */
/* Navigationslink */
.btn-link,
.btn-link:visited {
  display: inline-flex;
  align-items: center;
  gap: .45em;
  padding: .65em 1.15em;
  
  Position: relative;
  left: 2rem;    

  color: #f8f8f8;
  background: rgba(25, 25, 25, .78);
  border: 1px solid rgba(255, 255, 255, .22);
  border-radius: 2em;
  box-shadow: 0 4px 14px rgba(0, 0, 0, .25);

  text-decoration: none;
  font-weight: 500;

  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);

  transition: background .2s ease, transform .2s ease, box-shadow .2s ease;
  animation: btn-link-in .5s ease-out both;
}

.btn-link svg {
  width: 1.15em;
  height: 1.15em;
  fill: none;
  stroke: currentColor;
  stroke-width: 2.5;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.btn-link:hover {
  color: #fff;
  background: rgba(45, 45, 45, .94);
  box-shadow: 0 7px 18px rgba(0, 0, 0, .35);
  transform: translateY(-2px);
}

.btn-link:active {
  transform: translateY(0);
}

.btn-link:focus-visible {
  outline: 3px solid #fff;
  outline-offset: 3px;
}

@keyframes btn-link-in {
  from {
    opacity: 0;
    transform: translateY(-.6em);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@media (prefers-reduced-motion: reduce) {
  .btn-link {
    animation: none;
    transition: none;
  }
}