html, body 
{
    margin: 0;
    padding: 0;
}

html
{
    background: rgb(210,211,219);
    background: linear-gradient(21deg, rgba(210,211,219,0.7345153443113772) 0%, rgba(202,217,245,0.554874625748503) 13%, rgba(170,179,193,0.6117608532934131) 30%, rgba(184,189,194,0.6117608532934131) 46%, rgba(214,222,230,0.5219404940119761) 60%, rgba(203,221,237,0.5189464820359282) 77%, rgba(180,199,210,0.48900636227544914) 89%, rgba(254,255,255,0.7704434880239521) 100%);
    background-position: center center;
    background-size: 100vw 100vh;
    background-attachment: fixed;
    font-family: Josefin Sans;
}

body
{
    background-color: rgba(255, 255, 255, 0.219);
    box-shadow: 0px 0px 8px gray;
    max-width: 1000px;
    margin: 0 auto;
}

@media (min-width: 480px) {
    body
    {
        width: 100%;
    }
}

header
{
    background-image: linear-gradient(
        180deg,
        hsl(0deg 0% 98%) 0%,
        hsl(224deg 6% 95%) 11%,
        hsl(224deg 7% 91%) 22%,
        hsl(224deg 8% 86%) 33%,
        hsl(224deg 8% 82%) 44%,
        hsl(224deg 9% 77%) 56%,
        hsl(224deg 9% 73%) 67%,
        hsl(224deg 10% 67%) 78%,
        hsl(224deg 10% 61%) 89%,
        hsl(223deg 11% 55%) 100%
      );
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    border-bottom-left-radius: 5%;
    border-bottom-right-radius: 5%;
    /*box-shadow: 0px 0px 6px black;*/
    border-bottom: 1px solid gray;
    box-shadow: inset 0px 0px 6px rgb(255, 255, 255);
}

@media (max-width: 820px) {
    header > div > div > img
    {
        width: 88px;
    }
}

@media (max-width: 420px) {
    header > div > div > img
    {
        width: 64px;
    }
}

@media (max-width: 310px) {
    header > div > div > img
    {
        width: 32px;
    }
}

header > div > div
{
    display: flex;
    padding: 10px;
}

header:nth-child(1) > div
{
    display: flex;
    align-items: center;
    justify-content: space-between;
}

@media (max-width: 420px) {
    header > div > div
    {
        padding: 4px;
    }
}

header:nth-child(1) > div > div > ul
{
    justify-content: center;
    list-style-type: none;
    align-items: center;
    flex-wrap: wrap;
    display: flex;
    padding: 0;
}

@media (min-width: 800px) {
    header:nth-child(1) > div > div > ul
    {
        padding-top: 10px;
    }
}

header > div > div > ul > li
{
    transition: 0.5s;
    font-size: 100%;
    margin: 0 4px;
    padding: 10px;
}

@media (max-width: 420px) {
    header > div > div > ul > li
    {
        padding: 20px;
        font-size: 200%;
    }
}

header > div > div > ul > li:hover, .marked-menu
{
    box-shadow: inset 0px 0px 2px rgb(64, 64, 66);
    background-color: rgba(92, 103, 124, 0.468);
    transform: scale(1.08);
    border-radius: 6px;
    transition: 0.5s;
    cursor: pointer;
}

header img
{
    transition: 0.5s;
    cursor: pointer;
}

header img:hover
{
    transform: scale(1.08);
    transition: 0.5s;
}

main 
{
    line-height: 160%;
    min-height: 60vh;
    margin: 20px 10px;
}

@media (max-width: 1010px) {
    main {
        margin: 20px 30px;
    }
}

footer 
{
    border-top: 1px solid darkgray;
    line-height: 140%;
    padding: 20px 10%;
}

.distant-words
{
    word-spacing: 16px;
}

.flow-r
{
    text-align: right;
}

.flow-l
{
    text-align: left;
}

.flow-c
{
    text-align: center;
}

a, a:visited, a:link
{
    text-decoration-line: none;
    transition: 0.25s;
    color: navy;
}

a:hover, a:active
{
    transition: 0.25s;
    color:rgb(4, 53, 53);
}

.hightlight a, .hightlight
{
    color: rgb(168, 5, 38);
}

.flex-flow
{
    justify-content: center;
    flex-wrap: wrap;
    display: flex;
}

.flex-flow-2
{
    justify-content: space-around;
    flex-wrap: wrap;
    display: flex;
}

.flex-flow-3
{
    justify-content: space-around;
    align-items: center;
    flex-wrap: wrap;
    display: flex;
}

.flex-flow-4
{
    justify-content: space-between;
    align-items: center;
    display: flex;
}

.flex-flow-5
{
    display: inline-block;
    font-weight: normal;
    text-align: center;
    max-width: 200px;
}

.flex-flow-5 img
{
    max-height: 48px;
    max-width: 48px;
}

.flex-flow > div
{
    padding: 10px;
}

.distant-y
{
    margin: 20px 0px;
}

.formdata input, .formdata textarea
{
    padding: 6px;
    min-width: 200px;
    margin-bottom: 6px;
    border-radius: 6px;
    border: 1px solid silver;
    box-shadow: inset 4px 4px 4px rgba(99, 106, 108, 0.658);
}

button, .button {
	box-shadow:inset 0px 1px 0px 0px #ffffff;
	background:linear-gradient(to bottom, #f9f9f9 5%, #e9e9e9 100%);
	background-color:#f9f9f9;
	border-radius:6px;
	/*border:1px solid #dcdcdc;*/
    border:1px solid #949393;
	display:inline-block;
	cursor:pointer;
	color:#343333;
	font-family:Arial;
	font-size:13px;
	font-weight:bold;
	padding:6px 24px;
	text-decoration:none;
	text-shadow:0px 1px 0px #ffffff;
}

button:hover, .button:hover {
	background:linear-gradient(to bottom, #e9e9e9 5%, #f9f9f9 100%);
	background-color:#e9e9e9;
}

button:active, .button:active {
	position:relative;
	top:1px;
}

.anpassen
{
    display: flex;
    font-size: 80%;
    flex-wrap: wrap;
    max-width: 300px;
    justify-content: center;
}

.anpassen .text
{
    width: 45%;
}

.anpassen .wert
{
    width: 55%;
}

.anpassen img
{
    max-width: 32px;
    max-height: 32px;
}

@media (max-width: 420px) {
    .anpassen
    {
        display: grid;
        grid-template-columns: auto;
    }

    .anpassen .text, .anpassen .wert
    {
        width: auto;
    }

    .anpassen .text
    {
        font-size: 94%;
        line-height: 124%;
    }

    .anpassen .text
    {
        font-size: 140%;
        line-height: 170%;
    }
    
}

.fold-in, .fold-out {
    margin-top: 10px;
	box-shadow:inset 0px 1px 0px 0px #ffffff;
	background:linear-gradient(to bottom, #ffffff 5%, #f6f6f6 100%);
	background-color:#ffffff;
	border-radius:6px;
	border:1px solid #dcdcdc;
	cursor:pointer;
	color:#666666;
	font-family:Arial;
	font-size:15px;
	text-decoration:none;
	text-shadow:0px 1px 0px #ffffff;
}

.fold-in:hover, .fold-out:hover {
	background:linear-gradient(to bottom, #f6f6f6 5%, #ffffff 100%);
	background-color:#f6f6f6;
}

.fold-in:active, .fold-out:active {
	position:relative;
	top:1px;
}

.fold-in
{
    max-height: auto;
    overflow: auto;
}

.fold-out
{
    overflow: hidden;
    height: 30px;
}

.folder-title
{
    border-bottom: 1px solid gray;
    line-height: 30px;
}

.folder {
    border: 1px solid rgba(169, 169, 169, 0);
    margin-bottom: 10px;
    transition: 0.5s;
    padding: 10px;
}

.folder:hover, .folder:focus, .folder:active {
    box-shadow: 0px 0px 4px rgba(86, 86, 86, 0.739);
    border: 1px solid darkgray;
    transition: 0.5s;
}

iframe {
    border: none;
    width: 100%;
}

.tabbed-box input[type="text"],
.tabbed-box input[type="password"],
.tabbed-box input[type="number"],
.tabbed-box input[type="date"],
.tabbed-box textarea,
.tabbed-box select
{
    box-shadow: inset 0px 0px 4px gray;
    border-radius: 6px;
    min-width: 200px;
    font-size: 70%;
    padding: 10px;
    border: none;
}

.flow-r {
    text-align: right;
}

.tabs {
    display: flex;
    flex-flow: wrap;
    justify-content: flex-start;
    border-bottom: 1px solid rgb(160, 160, 160, 0.4);
}

.tabbed-box {
    box-shadow: 4px 4px 4px rgba(0, 0, 0, 0.08);
    border: 1px solid rgb(160, 160, 160, 0.4);
    background: rgba(255, 255, 255, 0.45);
    border-top: none;
    padding: 10px;
}

.tabbed-box div,
.autofill-better-structured {
    padding: 5px;
}

.tab-item {
    background-image: linear-gradient(rgba(200, 200, 200, 0.25), rgba(200, 200, 200, 0.02));
    border: 1px solid rgb(160, 160, 160, 0.4);
    border-top-right-radius: 10px;
    border-top-left-radius: 10px;
    color: rgb(139, 139, 139);
    border-bottom: none;
    transition: 0.5s;
    cursor: pointer;
    margin: 0 1px;
    padding: 8px;
}

.tab-item:hover {
    background-image: linear-gradient(rgba(200, 200, 200, 0.35), rgba(250, 250, 250, 0.52));
    color: #000;
}

.active-tab-item {
    background-image: linear-gradient(rgba(200, 200, 200, 0.45), rgba(250, 250, 250, 0.62));
    border: 1px solid rgb(160, 160, 160, 0.94);
    border-top-right-radius: 10px;
    border-top-left-radius: 10px;
    border-bottom: none;
    transition: 0.5s;
    cursor: pointer;
    margin: 0 1px;
    padding: 8px;
}

.active-tab-item:hover {
    background-image: linear-gradient(rgba(230, 230, 200, 0.45), rgba(250, 250, 250, 0.62));
}

.preview-libl-picture
{
    transform: scale(0.85);
    filter: sepia(0.25);
    border-radius: 12px;
    transition: 0.25s;
    max-height: 120px;
    max-width: 120px;
    cursor: pointer;
}

.preview-libl-picture:hover
{
    transform: scale(1);
    transition: 0.25s;
    filter: sepia(0);
}

.hidden
{
    transition: 0.25s;
    overflow: hidden;
    opacity: 0.0;
    height: 1px;
}

.visible
{
    max-height: 300px;
    transition: 0.25s;
    overflow: auto;
    height: auto;
    opacity: 1.0;
}

.popup
{
    background-color: rgba(255, 255, 255, 0.927);
    box-shadow: 2px 2px 4px gray;
    border-radius: 12px;
    position: absolute;
    transition: 0.25s;
    min-width: 220px;
    z-index: 999999;
}

.gridded-5x
{
    grid-template-columns: auto auto auto auto auto;
    grid-gap: 10px;
    display: grid;
}

.gridded-4x
{
    grid-template-columns: auto auto auto auto;
    grid-gap: 10px;
    display: grid;
}

.localized-position
{
    display: inline-block;
}

.max-130
{
    overflow: hidden;
    max-width: 130px;
}

.width-300
{
    min-width: 300px;
}

.height-120
{
    min-height: 120px;
}

.fit-in-100 input,
.fit-in-100 textarea
{
    width: 94%;
    margin: 0 auto;
}

.reff-highlight
{
    background: linear-gradient(0deg, rgba(141, 143, 146, 0.05), rgba(255, 255, 255, 0.05));
    box-shadow: 0px 0px 2px rgba(128, 128, 128, 0.325);
    background: rgba(141, 143, 146, 0.05);
    align-content: space-between;
    border-radius: 20px;
    text-align: center;
    transition: 0.5s;
    max-width: 220px;
    cursor: pointer;
    display: grid;
    padding: 10px;
    margin: 16px;
}

.reff-highlight:hover
{
    background: linear-gradient(0deg, rgba(141, 143, 146, 0.08), rgba(255, 255, 255, 0.08));
    box-shadow: 0px 0px 5px rgba(128, 128, 128, 0.825);
    background: rgba(141, 143, 146, 0.08);
    transform: scale(1.12);
    transition: 0.5s;
}

.reff-highlight > .in-topic
{
    margin-bottom: 20px;
    font-size: 120%;
}

.reff-highlight > .in-image
{
    justify-content: center;
    margin-bottom: 20px;
    align-items: center;
    display: flex;
}

.reff-highlight > .in-image > img
{
    transform: scale(0.94);
    border-radius: 20%;
    max-height: 180px;
    transition: 0.5s;
    max-width: 180px;
}

.reff-highlight:hover > .in-image > img
{
    transform: scale(1.25);
    border-radius: 0%;
    max-height: 180px;
    transition: 0.5s;
    max-width: 180px;
}

.reff-highlight > .in-desc
{
    text-align: center;
    line-height: 80%;
    font-size: 60%;
}

.popup-item-node
{
    /* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#f2f5f6+0,e3eaed+37,c8d7dc+100;Grey+3D+%234 */
    background: rgb(242,245,246); /* Old browsers */
    background: -moz-linear-gradient(top,  rgba(242,245,246,1) 0%, rgba(227,234,237,1) 37%, rgba(200,215,220,1) 100%); /* FF3.6-15 */
    background: -webkit-linear-gradient(top,  rgba(242,245,246,1) 0%,rgba(227,234,237,1) 37%,rgba(200,215,220,1) 100%); /* Chrome10-25,Safari5.1-6 */
    background: linear-gradient(to bottom,  rgba(242,245,246,1) 0%,rgba(227,234,237,1) 37%,rgba(200,215,220,1) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f2f5f6', endColorstr='#c8d7dc',GradientType=0 ); /* IE6-9 */
    border-radius: 4px;
    padding: 4px 8px;
    cursor: pointer;
    margin: 2px;
}


header
{
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
}


#desktop
{
    display: block;
}

#mobile
{
    padding-bottom: 0px;
    padding-left: 10px;
    padding-top: 10px;
    display: none;
    height: 34px;
}

@media (max-width: 900px)
{

#desktop {
    display: none;
}

#mobile {
    display: block;
}

}




#mobile span
{
    display: flex;
    width: 29px;
    height: 2px;
    margin-bottom: 5px;
    position: relative;
    background: #000000;
    border-radius: 3px;
    z-index: 1;
    transform-origin: 5px 0px;
    transition: transform 0.5s cubic-bezier(0.77,0.2,0.05,1.0),
                background 0.5s cubic-bezier(0.77,0.2,0.05,1.0),
                opacity 0.55s ease;
}

#mobile input
{
    display: flex;
    width: 40px;
    height: 32px;
    position: absolute;
    cursor: pointer;
    opacity: 0;
    z-index: 2;
}


#mobile span:first-child
{
  transform-origin: 0% 0%;
}

#mobile span:nth-last-child(2)
{
  transform-origin: 0% 100%;
}

#mobile input:checked ~ span
{
  opacity: 1;
  transform: rotate(45deg) translate(-3px, -1px);
  background: #36383F;
}
#mobile input:checked ~ span:nth-last-child(3)
{
  opacity: 0;
  transform: rotate(0deg) scale(0.2, 0.2);
}

#mobile input:checked ~ span:nth-last-child(2)
{
  transform: rotate(-45deg) translate(0, -1px);
}

#mobile img {
    position: absolute;
    z-index: 99999;
    height: 30px;
    right: 20px;
    top: 4px;
}

#mobile-menu li
{
    transition-delay: 0.25s;
    list-style-type: none;
    padding: 6px 10px;
    margin: 4px 0px;
}

#mobile-menu li:hover
{
    box-shadow: inset 0px 0px 2px rgb(64, 64, 66);
    background-color: rgba(92, 103, 124, 0.468);
    transform: scale(1.08);
    border-radius: 6px;
    transition: 0.25s;
    cursor: pointer;
}

#mobile .popup
{
    border-radius: 0px;
    box-shadow: 4px 4px 4px rgba(128, 128, 128, 0.797);
    background-color: rgba(255, 255, 255, 0.92);
    border-bottom-right-radius: 10px;
    border-bottom-left-radius: 10px;
    justify-content: center;
    position: absolute;
    margin: 0px;
    margin-top: 10px;
    overflow: hidden;
    transition: 0.5s;
    display: flex;
    padding: 0px;
    width: 96vw;
    left: 0px;
}

#mobile .popup ul
{
    transition-delay: 0.5s;
    list-style-type: none;
    padding: 0px 10px;
    overflow: hidden;
    margin: 0px 8px;
}

.mobile-popup-hidden
{
    opacity: 0.0;
    height: 1px;  
}

.mobile-popup-visibility
{
    transition: 0.5s;
    height: auto;
    opacity: 1.0;
}







#scroll-to-top {
  position: fixed;
  bottom: 30px;
  right: 30px;
  z-index: 9999;                /* sehr hoch, damit er fast immer oben liegt */
  
  width: 50px;
  height: 50px;
  
  background-color: rgba(44, 62, 80, 0.85);  /* halbtransparent dunkel */
  color: white;
  border: none;
  border-radius: 50%;
  
  display: flex;
  align-items: center;
  justify-content: center;
  
  opacity: 0;
  transform: scale(0.7);
  transition: all 0.3s ease;
  
  cursor: pointer;
  box-shadow: 0 4px 12px rgba(0,0,0,0.3);
}

#scroll-to-top.visible {
  opacity: 0.75;
  transform: scale(1);
}

#scroll-to-top:hover {
  opacity: 1;
  transform: scale(1.1);
  background-color: #34495e;
}

#scroll-to-top svg {
  width: 26px;
  height: 26px;
}