MediaWiki:Common.css: Unterschied zwischen den Versionen

Aus How to be a Hero
Zur Navigation springen Zur Suche springen
Murmelgrumpf (Diskussion | Beiträge)
Keine Bearbeitungszusammenfassung
TheGamer93 (Diskussion | Beiträge)
Änderung 36181 von TheGamer93 (Diskussion) rückgängig gemacht.
Markierung: Rückgängigmachung
 
(33 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
local p = {} --local p = {} -- p steht für Paket (engl. package)
/* Das folgende CSS wird für alle Benutzeroberflächen geladen. */


function split (inputstr, sep)
/* +++++ 0. Generelle Wikiformatierung +++++ */
.image, a#top{
    background:none !important;
    padding-right: 0px !important;
    text-decoration: none;
}
.image:hover, a#top:hover{
    background:none !important;
}
.mw-body h1{
    font-size: 2.7em !important;
    font-family: "tahoma" !important;
}
.mw-body :not(.toctitle)> h2{
    font-size: 2.3em !important;
    font-weight: bold;
    font-family: "tahoma" !important;
}


    if sep == nil then
.mw-body h3{
        sep = "%s"
     font-size: 1.9em !important;
     end
     border-bottom: 1px solid #a2a9b1;
     local t={}
     font-family: "tahoma" !important;
     for str in string.gmatch(string.gsub(inputstr,sep, "\0"),"%Z+") do
     font-weight: normal !important;
        table.insert(t, str)
}
     end
    return t
end


function copy(obj, seen)
.mw-body h4{
  if type(obj) ~= 'table' then return obj end
    font-size: 1.6em !important;
  if seen and seen[obj] then return seen[obj] end
    font-family: "tahoma";
  local s = seen or {}
}
  local res = setmetatable({}, getmetatable(obj))
  s[obj] = res
  for k, v in pairs(obj) do res[copy(k, s)] = copy(v, s) end
  return res
end
function tabContains(tableasd, keaaay)
solution = nil --"key: "..keaaay.."\n\n"
    for numgasbr,crreasdnt in pairs(tableasd) do
if (tableasd[numgasbr] == keaaay) then
solution = numgasbr
end
--solution = solution..numgasbr..": "..crreasdnt[numgasbr].."\n\n"
end
return solution
end
 
function displaytablevert(taable)
endresutl=""
if (taable==nil or taable[1]==nil) then
return endresutl
end
for nnnn,entri in pairs(taable) do
endresutl=endresutl..entri.."\n"
end
return endresutl
end
 
function displaytablehor(taaable)
endresutal=""
if (taaable==nil or taaable[1]==nil) then
return endresutal
end
for nn,entria in pairs(taaable) do
endresutal=endresutal..entria.." - "
end
return endresutal
end
 
function displaytabletwo(taaaable)
endresutaal=""
if (taaaable==nil or taaaable[1]==nil) then
return endresutaal
end
for nnn,entriaa in pairs(taaaable) do
endresutaal=endresutaal..displaytablehor(entriaa).."\n\n"
end
return endresutaal
end
 
 
function gmatchtable(text, pattern)
ztable={}
for word in string.gmatch(text, pattern) do
table.insert(ztable,word)
end
return ztable
end
 
function tablelength(T)
  local count = 0
  if (T==nil or T[1]==nil) then
return 0
  end
  for _ in pairs(T) do count = count + 1 end
  return count
end
 
function getindexformat()
title = mw.title.new( "Indexformat", "Yggdrasil" )
content = title:getContent()
content = string.gsub(content, "</pre>.-<pre>" , "!!!")
content = string.gsub(content, "</pre>.*" , "")
content = string.gsub(content, ".*<pre>" , "")
content = string.gsub(content, "|" , "\n|")
content = split(content,"!!!")
return content
 
end
 
 
function getheader( title, namespace )
title = mw.title.new( title, namespace )
content = title:getContent()
content = string.gsub(content, "%=%=+", "§§§")
content = split("hallo"..content, "§§§")
iiii = 2
iiiii = 1
length = tablelength(content)
finaltext={}
while (iiii<=length) do
finaltext[iiiii] = content[iiii]
iiii = iiii + 2
iiiii = iiiii + 1
end
return finaltext
end
 
function getheaderlimit( title, namespace )
limiit = tonumber(string.sub(title, string.len(title)))
title = string.sub(title, 1, string.len(title)-2)
title = mw.title.new( title, namespace )
content = title:getContent()
curhead=""
while (0<=limiit) do
curhead = curhead.."%="
limiit = limiit-1
end
curhead = curhead.."+"
content = string.gsub(content, curhead, "no")
content = string.gsub(content, "%=%=+", "§§§")
content = split("hallo"..content, "§§§")
iiii = 2
iiiii = 1
length = tablelength(content)
endtext={}
while (iiii<=length) do
endtext[iiiii] = content[iiii]
iiii = iiii + 2
iiiii = iiiii + 1
end
return endtext
end
 
 
 
 
 
function cut( limit, realtext )
testtext = ""
realtext = removespaceinlink(realtext) --Die Schmiede
srealtext = split(realtext, " ") --Die|Schmiede(list)
i = 2; --2
testtext = testtext.."<br \>"..i..": "
text = display(removespaceinlink(realtext)) --Die Schmiede
stext = split(text, " ") --Die|Schmiede(list)
if(table.getn(stext)==1) then
if(string.len(stext[1])>limit) then
return "%@%"..text
else
return text.."%@%"
end
end
cuttext = stext[1] --Die
realcuttext = srealtext[1] --Die
nextwo = stext[2] --Schmiede
realnextwo = srealtext[2] --Schmiede
nextlen = string.len(nextwo)--8
textlen = string.len(text)--12
cuttextlen = string.len(cuttext)--3
set = true;
testtext = testtext.."<br \>"..i..": "..realcuttext
if(limit>=textlen)then --4>=12
return realtext.."%@%"
elseif(cuttextlen>limit) then--3>4
return "%@%"..realtext


else
.mw-body h5{
while (cuttextlen+nextlen+1<=textlen+2) do --8+3+1<=12+2(12<=14)|14+3+1<=12+2(18<=14)
    font-size: 1.3em !important;
    font-family: "tahoma";
if(cuttextlen+nextlen+1>limit and set) then --8+3+1>4(12>4)|
}
set = false
cuttext = cuttext.."%@%" --"Die %@%"
realcuttext = realcuttext.."%@%" --"Die %@%"
else
cuttext = cuttext.." " --
realcuttext = realcuttext.." " --
end
-- testtext = testtext..tostring(i)..": "..realcuttext.."<br />"
i = i + 1 --3
cuttext = cuttext..nextwo -- "Die%@%Schmiede"
realcuttext = realcuttext..realnextwo -- "Die%@%Schmiede"
nextwo = stext[i]-- nil
realnextwo = srealtext[i]-- nil
if (nextwo ~= nil) then
nextlen = string.len(nextwo) -- 5
end
cuttextlen = string.len(cuttext) -- 14
testtext = testtext.."<br \>"..i..": "..realcuttext
end
realnextwo = srealtext[i]
if (realnextwo ~= nil) then
realcuttext = realcuttext.." "..realnextwo
end
end
testtext = testtext.."<br \>"..(i+1)..": "..realcuttext
return realcuttext
end


function headertotablelimit(title, namespace)
/* +++++ 1. HAUPTSEITE +++++ */
limiiiit = tonumber(string.sub(title, string.len(title)))-1
.mw-wiki-logo {
title = string.sub(title, 1, string.len(title)-2)
        background-size: 100%;
title = mw.title.new( title, namespace )
}
content = title.getContent(title)
original = headertotable(content)
neworiginal = {}
for nnnnn,entriii in ipairs(original) do
if (tablelength(entriii)<=limiiiit) then
neworiginal[nnnnn] = entriii
end
end
return neworiginal
end


function display ( text )
.heroimage img, .heroimage {
text = text:gsub("'", "")
max-width: 100%;
lend = string.len(text)
max-height: 100%;
ii=1
width: 100%;
auf = {}
height: 100%;
zu = {}
border: 0 !important;
currentauf = string.find(text, "%[%[")
margin: auto;
while (currentauf ~= nil) do
margin-top: 2px;
auf[ii] = currentauf;
}
if (string.find(string.sub(text,currentauf+2), "%[%[")~=nil)then
currentauf = currentauf+1+string.find(string.sub(text,currentauf+2), "%[%[")
else
currentauf = nil
end
ii=ii+1
end
ii=1
currentzu = string.find(text, "%|")
while (currentzu ~= nil) do
zu[ii] = currentzu;
if (string.find(string.sub(text,currentzu+2), "%|")~=nil)then
currentzu = currentzu+1+string.find(string.sub(text,currentzu+2), "%|")
else
currentzu = nil
end
ii=ii+1
end
offset = 0
if(table.getn(auf) == table.getn(zu))then
ii=1
while (table.getn(auf)>=ii) do
anfang = auf[ii]
ende = zu[ii]
tt, uu = string.find(string.sub(text, 1, anfang-offset+1), "%[%[(.+)%|")
text = string.gsub(string.sub(text, 1, anfang-offset+1), "%[%[(.+)%|", "")..string.sub(text,anfang-offset+2,string.len(text))
-- text = string.sub(text,1,anfang-offset+1)..string.sub(text,ende+1-offset,string.len(text))
if (tt ~= nil) and (uu ~= nil) then
offset = offset+uu-tt
end
ii=ii+1
end
text = string.gsub(text, "%[%[(.+)%|", "")
end
-- text = text:gsub("%[", "")
-- text = text:gsub("%|", "")
text = text:gsub("%]", "")


.sub {
padding: 10px 0px 15px;
}


return text
#center_box{
end
    max-width: 400px;
    overflow: hidden;
}
img{
    width: 100%;
    object-fit: contain;
}
div#hauptseite h2 {
font-family: inherit;
font-size: 1.5em;
font-weight: bold;
line-height: 1.5;
margin: 0;
padding: .1em 0;
}
div#hauptseite h3 {
font-family: inherit;
font-size: 1em;
font-weight: bold;
line-height: 1.5;
margin: 0;
padding: .1em 0;
}
#hauptseite .inhalt {
border-top: 0;
min-height: 0; /* IE 7 */
padding: .3em .8em .4em;
}
#hauptseite .inhalt hr {
height: 1px;
margin: .5em 0;
}
#hauptseite .inhalt .mehr {
clear: both;
font-size: 95%;
margin-top: .8em;
text-align: right;
}
.hauptseite-oben,
.hauptseite-obenlinks,
.hauptseite-obenrechts,
.hauptseite-links,
.hauptseite-rechts,
.hauptseite-hinweise,
.hauptseite-mitte{
margin-bottom: 1em;
}
.hauptseite-obenlinks,
.hauptseite-links {
margin-right: .5em;
}
.hauptseite-obenrechts,
.hauptseite-hinweise,
.hauptseite-rechts {
margin-left: .5em;
}
.hauptseite-oben h2,
.hauptseite-obenlinks h2,
.hauptseite-obenrechts h2,
.hauptseite-hinweise h2,
.hauptseite-mitte h2,
.hauptseite-unten h2 {
text-align: center;
}
.hauptseite-oben .inhalt .portale {
font-weight: bold;
margin: .2em 0;
}
.hauptseite-oben .inhalt .intern {
font-size: 90%;
text-align: center;
}
.hauptseite-links h2,
.hauptseite-hinweise h2,
.hauptseite-rechts h2,
.hauptseite-unten h2 {
text-indent: .8em;
}
.hauptseite-links h3,
.hauptseite-hinweise h3,
.hauptseite-rechts h3,
.hauptseite-unten h3 {
text-indent: .8em;
}


function removespaceinlink(text)
.hauptseite-unten h3 {
iii=1
font-size: 1.15em;
auf = {}
}
zu = {}
currentauf = string.find(text, "%[%[")
#hauptseite .mw-headline-anchor {
while (currentauf ~= nil) do
display: none;
auf[iii] = currentauf;
}
if (string.find(string.sub(text,currentauf+2), "%[%[")~=nil)then
.res-img img{
currentauf = currentauf+1+string.find(string.sub(text,currentauf+2), "%[%[")
max-width:100%;
else
height:auto;
currentauf = nil
}
end
iii=iii+1
end
iii=1
currentzu = string.find(text, "%]%]")
while (currentzu ~= nil) do
zu[iii] = currentzu;
if (string.find(string.sub(text,currentzu+2), "%]%]")~=nil)then
currentzu = currentzu+1+string.find(string.sub(text,currentzu+2), "%]%]")
else
currentzu = nil
end
iii=iii+1
end
if(table.getn(auf) == table.getn(zu))then
iii=1
while (table.getn(auf)>=iii) do
anfang = auf[iii]
ende = zu[iii]
text = string.sub(text,1,anfang-1)..string.gsub(string.sub(text,anfang,ende)," ","§")..string.sub(text,ende+1,string.len(text))
 
iii=iii+1
end
end
return text
end
 
function gethighest( tabhle )
highest = tabhle[1]
for numgbr,crregnt in ipairs(tabhle) do
if (highest<tabhle[numgbr]) then
highest=tabhle[numgbr]
end
end
return highest
end


function duptable( tabhdhle )
/* +++++ 2. KATEGORIE-KLAPPBOXEN +++++ */
dupe = {}
.categoryListTitle {
nothertab = {}
    font-family: inherit;
for nuamgbr,craregnt in pairs(tabhdhle) do
    font-size: 1em;
reallycontains  = tabContains(nothertab,craregnt)
    font-weight: bold;
if (reallycontains==nil) then
    color: #ffffff;
nothertab[nuamgbr] = craregnt
    line-height: 1.5;
else
    margin: 0;
tempdupetable = {reallycontains,nuamgbr}
    padding: .1em 10px;
table.insert(dupe,tempdupetable)
    text-decoration: underline;
end
    border: 2px solid #A3ACBE;
end
}
return dupe
end


function schlagwortliste()
.categoryListColumn:hover .categoryListTitle {
tiasdtasdfle = mw.title.new( "Schlagwortliste", "Yggdrasil" )
    border: 2px solid #838FA7;
contegfgdfndasdat = tiasdtasdfle:getContent()
    text-decoration: none;
schlagworttable = {}
}
for thingis in string.gmatch(contegfgdfndasdat, "%{%{o%|.-%|") do
iuadiuh = string.sub(thingis,5,string.len(thingis)-1)
if (iuadiuh~="Name") then
table.insert(schlagworttable,iuadiuh)
end
end


return schlagworttable
.categoryList.hidden {
    display: none;
}


end
.categoryList.shown {
 
    display: block;
function gegvorapi()
}
listxy = {}
gegtitle = mw.title.new( "Gegenstände", "Yggdrasil" )
gegcontent = gegtitle:getContent()
tabbbb = headertotable(gegcontent)
headerewnds = {}
tempzwweites = {}
tempzudreites = 0
tempzudreitasdafsaes = 0
for eiwnes,zwwweites in pairs(tabbbb) do
if (tablelength(zwwweites) == 3) then
tempzwweites = copy(zwwweites)
x,tempzudreites = string.find(gegcontent,"===="..tempzwweites[3].."====")
tempzudreitasdafsaes,x = string.find(gegcontent,"\n=", tempzudreites)
if (tempzudreitasdafsaes==nil) then
tempzudreitasdafsaes = string.len(gegcontent)
end
tempzwweites[4] = string.gsub(string.sub(gegcontent,tempzudreites+1,tempzudreitasdafsaes-1),"<.->","")
table.insert(listxy,tempzwweites)
end
end
return listxy -- 1:Category 2: Subcategory 3: Name 4:content
end
 
function zeros(intedhfgjdgkztger)
    resdgsgst = ""
    while (intedhfgjdgkztger>0) do
        resdgsgst=resdgsgst.."0"
        intedhfgjdgkztger=intedhfgjdgkztger-1
end
    return resdgsgst
end
 
function ones(intedhfgjdfasgkztger)
    resdgsasdgst = ""
    while (intedhfgjdfasgkztger>0) do
        resdgsasdgst=resdgsasdgst.."1"
        intedhfgjdfasgkztger=intedhfgjdfasgkztger-1
end
    return resdgsasdgst
end
 
function gegapi()
catlist = {}
nosortlist = {}
unforlist = gegvorapi()
temptable = {}
temprest = ""
tempsplittable = {}
nothertempsplittable = {}
tempimg = nil
for numd, keyd in pairs(unforlist) do
temptable = {}
if (catlist[keyd[1]] == nil) then
catlist[keyd[1]] = {}
end
if (catlist[keyd[1]][keyd[2]] == nil) then
catlist[keyd[1]][keyd[2]] = {}
end
if (catlist[keyd[1]][keyd[2]][numd] == nil) then
catlist[keyd[1]][keyd[2]][numd] = {}
end
temptable["Category"] = keyd[1]
temptable["Subcategory"] = keyd[2]
temptable["Name"] = keyd[3]
catlist[keyd[1]][keyd[2]][numd]["Name"] = keyd[3]
temptable["Text"] =  string.gsub(string.gsub(split(keyd[4], "\n%|\n")[2],"%}%}",""),"\n\n","")
catlist[keyd[1]][keyd[2]][numd]["Text"] = temptable["Text"]
temprest = split(keyd[4], "\n%|\n")[1]
tempimg = string.match(temprest,"img=.-\n")
anothertemp = ""
if (tempimg~= nil) then
temptable["Img"] = string.sub(tempimg,5)
catlist[keyd[1]][keyd[2]][numd]["Img"] = temptable["Img"]
end
temprest = string.gsub(string.gsub(temprest,"\n",""), "{{YggTab.-|!", "")
temprest = string.gsub(temprest, "{{YggTab|!", "|-|!")
temprest = split(temprest,"|%-|!")
for tri,asdf in pairs(temprest) do
tempsplittable = split(asdf,"|")
intindex = 2
nothertempsplittable = {}
while (intindex<=tablelength(tempsplittable)) do
anothertemp = tempsplittable[intindex]
if (string.find(anothertemp,"/")==1) then
anothertemp = string.sub(anothertemp,2)
elseif (string.find(anothertemp,":")~=nil) then
anothertemp = "[[Yggdrasil:"..split(anothertemp,":")[1].."|"..split(anothertemp,":")[2].."]]"
end
table.insert(nothertempsplittable,anothertemp)
intindex = intindex + 1
end
temptable[tempsplittable[1]] = copy(nothertempsplittable)
catlist[keyd[1]][keyd[2]][numd][tempsplittable[1]] = temptable[tempsplittable[1]]
if (tempsplittable[1]=="Schlagwörter") then
temptable[tempsplittable[1]] = split(temptable[tempsplittable[1]][1],", ")
catlist[keyd[1]][keyd[2]][numd][tempsplittable[1]] = temptable[tempsplittable[1]]
end
end
table.insert(nosortlist,temptable)
end
return nosortlist, catlist
end


function changebin(binaasdasfgggary, integeeer)
.categoryList-item {
binaaasdfhry = binaasdasfgggary
     font-size: 1em;
tochange = string.sub(binaaasdfhry, integeeer, integeeer)
}
if(tochange == "1") then
        binaaasdfhry = string.sub(binaaasdfhry,1,integeeer-1).."0"..string.sub(binaaasdfhry,integeeer+1)
     elseif(tochange == "0") then
        binaaasdfhry = string.sub(binaaasdfhry,1,integeeer-1).."1"..string.sub(binaaasdfhry,integeeer+1)
end
return binaaasdfhry
end


function multchangebin(binaaghdfghsdgggary, integeeerstart, integeeerend)
.categoryList {
while (integeeerstart<=integeeerend) do
    padding: 5px 10px;
binaaghdfghsdgggary = changebin(binaaghdfghsdgggary,integeeerstart)
    background: white;
integeeerstart = integeeerstart+1
}
end
return binaaghdfghsdgggary
end


function multset(binaafgdhjhsdgggary, numbertoset, integerstart, integerend)
.categoryListRow {
if (numbertoset == "1") then
    display: flex;
binaafgdhjhsdgggary = string.sub(binaafgdhjhsdgggary, 0, integerstart-1)..ones(integerend-integerstart+1)..string.sub(binaafgdhjhsdgggary, integerend+1)
    flex-wrap: wrap;
elseif(numbertoset == "0") then
}
binaafgdhjhsdgggary = string.sub(binaafgdhjhsdgggary, 0, integerstart-1)..zeros(integerend-integerstart+1)..string.sub(binaafgdhjhsdgggary, integerend+1)
end
return binaafgdhjhsdgggary
end


function multchangebinall(binaasdgggary, integerstart, integerend)
.categoryListColumn {
izgovouv = string.sub(binaasdgggary, integerstart, integerend)
    flex-grow: 1;
if (izgovouv~=ones(integerend-integerstart+1)) then
    flex-basis: 10%;
binaasdgggary = multset(binaasdgggary, "1",integerstart, integerend)
else
binaasdgggary = multset(binaasdgggary, "0",integerstart, integerend)
end
return binaasdgggary
end


function tran(integedasfr)
     background: #A3ACBE;
    integerotut = integedasfr
}
    if (integedasfr=="1") then
        integerotut = "tagselected"
    elseif (integedasfr=="0") then
        integerotut = "tagunselected"
end
     return integerotut
end


function trancat(integdfghedasfr)
.categoryListColumn:hover {
     integerdfghotut = integdfghedasfr
     flex-grow: 1;
    if (integdfghedasfr=="1") then
     flex-basis: 10%;
        integerdfghotut = "catselected"
    elseif (integdfghedasfr=="0") then
        integerdfghotut = "catunselected"
end
     return integerdfghotut
end


function tranlinkopen(integasdedasfr)
     background: #838FA7;
    integerasdotut = integasdedasfr
}
    if (integasdedasfr=="1") then
        integerasdotut = '<span class="linkwhite">'
    elseif (integasdedasfr=="0") then
        integerasdotut = '<span class="linkred">'
end
     return integerasdotut
end


function multtran(intedfgsdggedasfr)
.break-1 .categoryListColumn {
    integerodfghdfghtut = intedfgsdggedasfr
     min-width: 100%;
    if (intedfgsdggedasfr==ones(string.len(intedfgsdggedasfr))) then
}
        integerodfghdfghtut = "tagselected"
    else
        integerodfghdfghtut = "tagunselected"
end
     return integerodfghdfghtut
end


function multtranlinkopen(intedsdfgsdfgfgsdggedasfr)
.break-2 .categoryListColumn {
    asdfintegerodfghdfghtut = intedsdfgsdfgfgsdggedasfr
     min-width: 50%;
    if (intedsdfgsdfgfgsdggedasfr==ones(string.len(intedsdfgsdfgfgsdggedasfr))) then
}
        asdfintegerodfghdfghtut = '<span class="linkwhite">'
    else
        asdfintegerodfghdfghtut = '<span class="linkred">'
end
     return asdfintegerodfghdfghtut
end


function getint(binnnarry, ineetger)
.break-3 .categoryListColumn {
return string.sub(binnnarry,ineetger,ineetger)
    min-width: 33.333%;
end
}


function getmultint(binnnarry, ineetgerstarti, inteegerendi)
.break-4 .categoryListColumn {
return string.sub(binnnarry,ineetgerstarti,inteegerendi)
    min-width: 25%;
end
}


function numtran(binsnnafsffarry, ineeggsdgtger)
.break-5 .categoryListColumn {
return tran(getint(binsnnafsffarry, ineeggsdgtger))
    min-width: 20%;
end
}


function numtrancat(binsnsdfnafsffarry, ineegfdfggsdgtger)
.break-6 .categoryListColumn {
return trancat(getint(binsnsdfnafsffarry, ineegfdfggsdgtger))
    min-width: 16.66666%;
end
}


function numtranlinkopen(binhfghsnnarry, ineegdfsdhgtger)
.break-7 .categoryListColumn {
return tranlinkopen(getint(binhfghsnnarry, ineegdfsdhgtger))
    min-width: 14.285%;
end
}


function nummulttran(binsnwrtzeghnarry, ineegsgdfsdhftgereins, ineegsgdfsdhftgerzwei)
.break-8 .categoryListColumn {
return multtran(getmultint(binsnwrtzeghnarry, ineegsgdfsdhftgereins, ineegsgdfsdhftgerzwei))
    min-width: 12.5%;
end
}


function nummulttranlinkopen(binsnnarry, ineegtgereins, ineegtgerzwei)
.break-9 .categoryListColumn {
return multtranlinkopen(getmultint(binsnnarry, ineegtgereins, ineegtgerzwei))
    min-width: 11.1111%;
end
}


function categorylist()
.break-10 .categoryListColumn {
gegasdtitle = mw.title.new( "Gegenstände", "Yggdrasil" )
    min-width: 10%;
gegconfsatent = gegasdtitle:getContent()
}
tabbfghbb = headertotable(gegconfsatent)
lastlist = {}
for eiwnes,zwwweites in pairs(tabbfghbb) do
if (tablelength(zwwweites) == 1) then
lastlist[zwwweites[1]] = {}
end
if (tablelength(zwwweites) == 2) then
table.insert(lastlist[zwwweites[1]],zwwweites[2])
end
end
return lastlist --Kategorie-->stringlist:subcategories
end


function doubletablelength(taaabaaabaal)
/* +++++ 3. BOX-HALTENDE HOWKYS +++++ */
seendlength = 0
.howky
for iaubgs,aousbd in pairs(taaabaaabaal) do
{
seendlength = seendlength+tablelength(aousbd)
    position: relative;
end
}


return seendlength
.howky:after, .howky.tragendBeidseitig:before {
end
    position: absolute;
--##################################################################################################################################################################
    display: block;
--##################################################################################################################################################################
    content: '';
--##################################################################################################################################################################
    background-size: cover;
--##################################################################################################################################################################
    background-position: 0 0;
--##################################################################################################################################################################
    background-repeat: no-repeat no-repeat;
--##################################################################################################################################################################
}


.howky.knieendUntenLinks:after {
    background-image: url(https://howtobeahero.de/images/c/c5/Howky_Kniened_Unten.png);
    height: 76px;
    width: 63px;
    bottom: -76px;
    left: 0;
}


function p.cutblock ( frame )
.howky.knieendUntenRechts:after {
text = frame.args[3]-- "Die Schmiede"
    background-image: url(https://howtobeahero.de/images/c/c5/Howky_Kniened_Unten.png);
width = tonumber(frame.args[2]) -- 4
    height: 76px;
height = tonumber(frame.args[1]) -- 12
    width: 63px;
block = ""
    bottom: -76px;
textlen = string.len(text) -- 12
    right: 0;
tempsplit = {}
}
while (height>0 and textlen>=width) do -- 12>0 and 12>=4|11>0 and 11>=4
tempsplit = split(cut(width, text), "%%%@%%") -- ("Die", "Schmiede")| (
block = block..tempsplit[1].." " -- "Die "
text = tempsplit[2] -- "Schmiede"
height = height-1 -- 11
if (text==nil) then
text = ""
end
textlen = string.len(text) -- 8
end
if (height>0) then
block = block.." "..text
text = ""
end
result = block.."%@%"..text
result = string.gsub(result, "%§", " ")
return result


.howky.stehendUntenLinks:after {
    background-image: url(https://howtobeahero.de/images/6/6b/Howky_Stehend_Unten.png);
    height: 76px;
    width: 44px;
    bottom: -76px;
    left: 0;
}


end
.howky.stehendUntenRechts:after {
    background-image: url(https://howtobeahero.de/images/6/6b/Howky_Stehend_Unten.png);
    height: 76px;
    width: 44px;
    bottom: -76px;
    right: 0;
}


function p.cut( frame )
.howky.tragendBeidseitig:after {
testtext = ""
    background-image: url(https://howtobeahero.de/images/1/19/Howky_Stehend_Rechts.png);
realtext = frame.args[2] --Die Schmiede
    height: 76px;
realtext = removespaceinlink(realtext) --Die Schmiede
    width: 41px;
srealtext = split(realtext, " ") --Die|Schmiede(list)
    bottom: 0;
i = 2; --2
    right: -41px;
testtext = testtext.."<br \>"..i..": "
}
limit = tonumber(frame.args[1]) --4
text = display(removespaceinlink(realtext)) --Die Schmiede
stext = split(text, " ") --Die|Schmiede(list)
if(table.getn(stext)==1) then
if(string.len(stext[1])>limit) then
return "%@%"..text
else
return text.."%@%"
end
end
cuttext = stext[1] --Die
realcuttext = srealtext[1] --Die
nextwo = stext[2] --Schmiede
realnextwo = srealtext[2] --Schmiede
nextlen = string.len(nextwo)--8
textlen = string.len(text)--12
cuttextlen = string.len(cuttext)--3
set = true;
testtext = testtext.."<br \>"..i..": "..realcuttext
if(limit>=textlen)then --4>=12
return realtext.."%@%"
elseif(cuttextlen>limit) then--3>4
return "%@%"..realtext


else
.howky.tragendBeidseitig:before {
while (cuttextlen+nextlen+1<=textlen+2) do --8+3+1<=12+2(12<=14)|14+3+1<=12+2(18<=14)
    background-image: url(https://howtobeahero.de/images/5/51/Howky_Stehend_Links.png);
    height: 76px;
if(cuttextlen+nextlen+1>limit and set) then --8+3+1>4(12>4)|
    width: 41px;
set = false
    bottom: 0;
cuttext = cuttext.."%@%" --"Die %@%"
    left: -41px;
realcuttext = realcuttext.."%@%" --"Die %@%"
}
else
cuttext = cuttext.." " --
realcuttext = realcuttext.." " --
end
-- testtext = testtext..tostring(i)..": "..realcuttext.."<br />"
i = i + 1 --3
cuttext = cuttext..nextwo -- "Die%@%Schmiede"
realcuttext = realcuttext..realnextwo -- "Die%@%Schmiede"
nextwo = stext[i]-- nil
realnextwo = srealtext[i]-- nil
if (nextwo ~= nil) then
nextlen = string.len(nextwo) -- 5
end
cuttextlen = string.len(cuttext) -- 14
testtext = testtext.."<br \>"..i..": "..realcuttext
end
realnextwo = srealtext[i]
if (realnextwo ~= nil) then
realcuttext = realcuttext.." "..realnextwo
end
end
testtext = testtext.."<br \>"..(i+1)..": "..realcuttext
return realcuttext
end


function p.display ( frame )
/* +++++ 4. BOX-HALTENDE HOWKYS +++++ */
text = frame.args[1]
.howkyContainer
text = text:gsub("'", "")
{
lend = string.len(text)
    position: relative;
i=1
}
auf = {}
zu = {}
currentauf = string.find(text, "%[%[")
while (currentauf ~= nil) do
auf[i] = currentauf;
if (string.find(string.sub(text,currentauf+2), "%[%[")~=nil)then
currentauf = currentauf+1+string.find(string.sub(text,currentauf+2), "%[%[")
else
currentauf = nil
end
i=i+1
end
i=1
currentzu = string.find(text, "%|")
while (currentzu ~= nil) do
zu[i] = currentzu;
if (string.find(string.sub(text,currentzu+2), "%|")~=nil)then
currentzu = currentzu+1+string.find(string.sub(text,currentzu+2), "%|")
else
currentzu = nil
end
i=i+1
end
offset = 0
if(table.getn(auf) == table.getn(zu))then
i=1
while (table.getn(auf)>=i) do
anfang = auf[i]
ende = zu[i]
tt, uu = string.find(string.sub(text, 1, anfang-offset+1), "%[%[(.+)%|")
text = string.gsub(string.sub(text, 1, anfang-offset+1), "%[%[(.+)%|", "")..string.sub(text,anfang-offset+2,string.len(text))
-- text = string.sub(text,1,anfang-offset+1)..string.sub(text,ende+1-offset,string.len(text))
if (tt ~= nil) and (uu ~= nil) then
offset = offset+uu-tt
end
i=i+1
end
text = string.gsub(text, "%[%[(.+)%|", "")
end
-- text = text:gsub("%[", "")
-- text = text:gsub("%|", "")
text = text:gsub("%]", "")


.howky:after, .howky.tragendBeidseitig:before {
    position: absolute;
    display: block;
    content: '';
    background-size: cover;
    background-position: 0 0;
    background-repeat: no-repeat no-repeat;
}


return text
.howky.knieendUntenLinks:after {
end
    background-image: url(https://howtobeahero.de/images/c/c5/Howky_Kniened_Unten.png);
    height: 76px;
    width: 63px;
    bottom: -76px;
    left: 0;
}


.howky.knieendUntenRechts:after {
    background-image: url(https://howtobeahero.de/images/c/c5/Howky_Kniened_Unten.png);
    height: 76px;
    width: 63px;
    bottom: -76px;
    right: 0;
}


.howky.stehendUntenLinks:after {
    background-image: url(https://howtobeahero.de/images/6/6b/Howky_Stehend_Unten.png);
    height: 76px;
    width: 44px;
    bottom: -76px;
    left: 0;
}


function p.split ( frame )
.howky.stehendUntenRechts:after {
spl = split(frame.args[1],frame.args[2])
    background-image: url(https://howtobeahero.de/images/6/6b/Howky_Stehend_Unten.png);
i=1
    height: 76px;
t=""
    width: 44px;
while(i<=tablelength(spl)) do
    bottom: -76px;
t = t..spl[i].."\n\n"
    right: 0;
i=i+1
}
end


     return t
.howky.tragendBeidseitig:after {
end
    background-image: url(https://howtobeahero.de/images/1/19/Howky_Stehend_Rechts.png);
    height: 76px;
    width: 41px;
    bottom: 0;
     right: -41px;
}


function p.removespaceinlink(frame)
.howky.tragendBeidseitig:before {
text = frame.args[1]
    background-image: url(https://howtobeahero.de/images/5/51/Howky_Stehend_Links.png);
i=1
    height: 76px;
auf = {}
    width: 41px;
zu = {}
    bottom: 0;
currentauf = string.find(text, "%[%[")
    left: -41px;
while (currentauf ~= nil) do
}
auf[i] = currentauf;
if (string.find(string.sub(text,currentauf+2), "%[%[")~=nil)then
currentauf = currentauf+1+string.find(string.sub(text,currentauf+2), "%[%[")
else
currentauf = nil
end
i=i+1
end
i=1
currentzu = string.find(text, "%]%]")
while (currentzu ~= nil) do
zu[i] = currentzu;
if (string.find(string.sub(text,currentzu+2), "%]%]")~=nil)then
currentzu = currentzu+1+string.find(string.sub(text,currentzu+2), "%]%]")
else
currentzu = nil
end
i=i+1
end
if(table.getn(auf) == table.getn(zu))then
i=1
while (table.getn(auf)>=i) do
anfang = auf[i]
ende = zu[i]
text = string.sub(text,1,anfang-1)..string.gsub(string.sub(text,anfang,ende)," ","§")..string.sub(text,ende+1,string.len(text))


i=i+1
/* +++++ 5. AUFTEILENDE BOXEN +++++ */
end
.flexbox
end
{
    display: flex;
return text
    flex-wrap: wrap;
end
}


.flexbox > *
{
    flex: 1 100%;
}


.flexbox > .double
{
    flex: 1 49%;
}


.flexbox > .triple
{
    flex: 1 32%;
}


/* Allow limiting of which header levels are shown in a TOC;
  <div class="toclimit-3">, for instance, will limit to
  showing ==headings== and ===headings=== but no further
  (as long as there are no =headings= on the page, which
  there shouldn't be according to the MoS).
*/
.toclimit-2 .toclevel-2,
.toclimit-3 .toclevel-3,
.toclimit-4 .toclevel-4,
.toclimit-5 .toclevel-5,
.toclimit-6 .toclevel-6,
.toclimit-7 .toclevel-7 { display: none; }


/* +++++ 6. FIXIERTE INFINITYBARS +++++ */
.sticky {
    position: fixed;
    z-index: 99999999;
}


function p.size ( frame )
/* +++++ 7. YGGDRASIL+++++ */
text = frame.args[1]
return textSize(text)
end


.ns-104 .mw-body h2 {
        font-size: 3em;
        font-family: serif;
        color: #000eb9;
        text-transform: capitalize;
}
.ns-104 .mw-body h3 {
        font-size: 2.2em;
        font-family: serif;
        color: #006708;
        text-transform: capitalize;
        font-weight: normal;
        border-bottom: 1px solid #868686;
        padding-top: 0em;
}
.ns-104 .mw-body h4 {
        font-size: 1.6em;
        font-weight: bold;
        font-family: sans-serif;
        padding-top: 0.2em;
}
.ns-104 .mw-body h5 {
        font-size: 1.2em;
        font-weight: bold;
        font-family: sans-serif;
}
.ns-104 .mw-body h6 {
        font-size: 1em;
        font-weight: bold;
        font-family: sans-serif;
}
/*
.ns-104 .mw-body a {
        font-weight: bold;
       
}
.ns-104 .mw-editsection a,.ns-104 .wikiEditor-ui-tabs div a{
        font-weight: normal ;
}
*/
.ns-104 .wikiEditor-ui-controls{
    background: url(https://howtobeahero.de/images/thumb/5/55/Dankepf%C3%B6n.png/800px-Dankepf%C3%B6n.png);
    background-repeat: no-repeat;
    background-size: 16%;
    background-position-x: +99%;
    background-color: white;
}


div#yggimg img {
    margin-top: 0.3em;
    max-width: 100%;
    max-height: 100%;
    height: auto;
    border: 0 ;
    margin: auto;
    right: 0;


}


.ns-104 .mw-body .toc h2{
    font-weight: normal ;
   
}


function p.size ( frame )
.ns-104 .mw-body .toc a{
text = frame.args[1]
    font-weight: normal ;
return textSize(text)
   
end
}


function p.findg( frame )
.yggclass #categoryListTitle {
text = frame.args[1]
    font-family: inherit;
d,s,r = string.find(text, "g")
    font-size: 1em;
return d,s,r
    font-weight: bold;
    color: #ffffff;
    line-height: 1.5;
    margin: 0;
    padding: .1em 10px;
    text-decoration: underline;
    border: 2px solid #A3ACBE;
}


end
.yggclass categoryListTitle {
    border: 5px solid #838FA7;
    text-decoration: none;
}


function p.indexold
/* +++++ 8. REGISTER+++++ */
( frame )
.registerselected {
text = frame.args[1]
    white-space: nowrap;
stext = split (text, "§§§")
    border: solid;
currentpage = ""
    border-color: blueviolet;
currentheaders= nil
    border-bottom-color: white;
finish = ""
    border-width: 2px;
i = 1
    padding: 0px;
inde = 1
    text-align: center;
while (i<=tablelength(stext)) do
}
currentpage = stext[i]
currentheaders = getheaderlimit(currentpage, "Yggdrasil")
currentpage = string.sub(currentpage, 1, string.len(currentpage)-2)
headlen = tablelength(currentheaders)
inde = 1
while (inde<=headlen) do
finish = finish.."|[[Yggdrasil:"..currentpage.."#"..currentheaders[inde].."|"..currentheaders[inde].."]]\n|[[Yggdrasil:"..currentpage.."|"..currentpage.."]]\n|-\n"
inde=inde+1
end
i=i+1
end
--text = frame.args[1]
--stext = split (text, "\n")
--ending = ""
--for i = 1,tablelength(stext),1 do
-- currentsplit = split (stext[i], "%>")
-- leng = tablelength(currentsplit)
-- ending = ending.."|[[Yggdrasil:"..currentsplit[2].."#"..currentsplit[1].."|"..currentsplit[1].."]]\n|[[Yggdrasil:"..currentsplit[2].."|"..currentsplit[2].."]]\n|-\n"
--end
return finish
end


.registerunselected {
    white-space: nowrap; 
    border: solid;
    border-color: blueviolet;
    border-width: 2px;
    padding: 0px;
    text-align: center;
}


function p.yggrassen( frame )
.registerunselected a{
text = frame.args[1]
    display:block;
stext = split (text, "\n")
    padding: 15px;
haupttext = split (text, "'''Nebenrassen'''")[1]
    padding-right: 40px;
nebentext = split (text, "'''Nebenrassen'''")[2]
    padding-left: 40px;
shaupttext = split (haupttext, "\n")
    background-color: tan;
snebentext = split (nebentext, "\n")
    background-image: none;
ending = "!<big>Hauptrassen</big>\n|-\n"
}
for i = 2,tablelength(stext),1 do
if (stext[i]=="'''Nebenrassen'''") then
ending = ending.."!<big>Nebenrassen</big>\n|-\n"
else
ending = ending.."|<big>'''[[#"..stext[i].."|"..stext[i].."]]'''</big>\n|-\n"
end
end


return ending
.registerselected a{
    display:block;
    padding: 15px;
    padding-right: 40px;
    padding-left: 40px;
    background-color: bisque;
    background-image: none;
}
.registerunselected a:hover{
    background-color: rosybrown;
    text-decoration: none;
}
.registerbetween {
    padding: 0;
    width: 0.2%;
    border-bottom: solid;
    border-bottom-color: blueviolet;
    border-width: 2px;
    text-align: center;


end
}
.registerrest {
    border-bottom: solid;
    width:100%;
    border-bottom-color: blueviolet;
    border-width: 2px;
    text-align: center;
}


/* +++++ 9. HEADERTEST+++++ */


body.page-Yggdrasil_Test1Ohnetitel h1, body.page-Yggdrasil_Test2Ohnetitel h1, body.page-Yggdrasil_Test3Ohnetitel h1 {
    border: none;
    display: none;
}


function p.yggtab( frame )
body.page-Yggdrasil_Test1Ohnetitel .mw-body, body.page-Yggdrasil_Test2Ohnetitel .mw-body, body.page-Yggdrasil_Test3Ohnetitel .mw-body {
text = frame.args[1]
    padding-top: 0px;
img = frame.args[2]
}
stext = split (text, "§§§")
exist = true
imgtext = ''
if (img~=nil and img~='' and img~='{{{img}}}') then
imgtext='<div id="yggimg">[[Datei:'..img..']]</div>\n'
end
i=1
rettext='{|class="wikitable" style="width: 32%; float:right; margin-top: 0; margin-bottom: 0px;"\n|-\n'
while (stext[i+1]~=nil) do
rettext=rettext..'!style="width:32%; padding: 10px;" |'..string.sub(stext[i],2,string.len(stext[i]))..'\n'
i=i+1
if (stext[i+1]~=nil and stext[i]~='-') then
rettext=rettext..'|style="width:68%; padding: 10px;" |'
end
while (stext[i+1]~=nil and stext[i]~='-') do
if(string.sub(stext[i],1,1)=='/') then
rettext=rettext..string.sub(stext[i],2)
elseif(string.find(stext[i],'#')~=nil) then
found=string.find(stext[i],'#')
rettext=rettext..'[[Yggdrasil:'..string.sub(stext[i],1,found-1)..'#'..string.sub(stext[i],found+1,string.len(stext[i]))..'|'..string.sub(stext[i],found+1,string.len(stext[i]))..']]'
else
rettext=rettext..'[[#'..stext[i]..'|'..stext[i]..']]'
end
rettext=rettext..'\n\n'
i=i+1
end


rettext=rettext..'|-\n'
i=i+1
end
rettext=rettext..'|}'..stext[i-1]..'\n|style="width:20%; padding: 0; vertical-align:top;"|'..imgtext
return rettext
end


function p.getpage( frame )
body.page-Benutzerin_Murmelgrumpf h1{
title = mw.title.new( frame.args[1], frame.args[2] )
    background-image: url( https://howtobeahero.de/images/thumb/4/40/Vinetest3.PNG/800px-Vinetest3.PNG );
content = title:getContent()
    background-position-y: -10px;
return content
    font-style: italic;
end
    font-weight: bold;
    color: antiquewhite;
}


function p.getheader( frame )
body.page-Benutzerin_Murmelgrumpf .mw-wiki-logo:hover{
title = mw.title.new( frame.args[1], frame.args[2] )
    background-image: url(https://howtobeahero.de/images/thumb/4/4e/Wikioc.png/800px-Wikioc.png)
content = title:getContent()
}
--content = string.gsub(content, "([$$$]+)", "DIESER CHARACTER WIRD NICHT UNTERSTÜTZT")
content = string.gsub(content, "%=%=+", "§§§")
content = split("hallo"..content, "§§§")
i = 2
length = tablelength(content)
finaltext=""
while (i<=length) do
if (string.match(content[i], "[^[(%s)(%d)(%a)]]")==nil) then
finaltext = finaltext..content[i].."\n\n"
end
i = i + 2
end
return finaltext
end


function markheaders(content)
.ns-104 .mw-collapsed {
content = content.."\npuffercontent\n"
    display: none ;
content = string.gsub(content, "=\n", "=\npuffercontent\n")
}
content = string.gsub(content, "\n=%s*([^%=]+)%s*=\n", "\n")
content = string.gsub(content, "\n==%s*([^%=]+)%s*==\n", "\n!Anfang2!%1!2Ende!\n")
content = string.gsub(content, "\n===%s*([^%=]+)%s*===\n", "\n!Anfang3!%1!3Ende!\n")
content = string.gsub(content, "\n====%s*([^%=]+)%s*====\n", "\n!Anfang4!%1!4Ende!\n")
content = string.gsub(content, "\n=====%s*([^%=]+)%s*=====\n", "\n!Anfang5!%1!5Ende!\n")
content = string.gsub(content, "\n======%s*([^%=]+)%s*======\n", "\n!Anfang6!%1!6Ende!\n")
return content
end


function onllyheaders(content)
body.page-Headertest h1{
content = markheaders(content)
    background-image: url( https://howtobeahero.de/images/thumb/7/70/Headertest2.png/800px-Headertest2.png );
content = string.gsub(content,"!.Ende!\n.-\n!Anfang", "\n\n")
    color: transparent;
content = string.gsub(content,".*!Anfang", "")
    border: none;
content = string.gsub(content,"!.Ende!.*", "")
    background-repeat: no-repeat;
return content
    background-size: 600px;
}
end


function headertotable(content)
body.page-Yggdrasil_Religion h1, body.page-Yggdrasil_Religion2 h1, body.page-Yggdrasil_Religion3 h1, body.page-Yggdrasil_Religion4 h1, body.page-Yggdrasil_Religion5 h1, body.page-Yggdrasil_Religion6 h1{
testvar=""
    font-size:28.8px;
    margin-top: 0px;
content = onllyheaders(content)
}
firsthead=1
if (string.find(content, "1!")== nil) then
firsthead=firsthead+1
if (string.find(content, "2!")== nil) then
firsthead=firsthead+1
if (string.find(content, "3!")== nil) then
firsthead=firsthead+1
if (string.find(content, "4!")== nil) then
firsthead=firsthead+1
if (string.find(content, "5!")== nil) then
firsthead=firsthead+1
end
end
end
end
end
iiiiii={1,2,2,2,2,1}
content="puffer\n"..content.."\n\n2!Puffer"
iall=0
headersplit={}
headersplit[1] = split(content,tostring(firsthead).."!")
currenthead={}
finaltable={}
while (iiiiii[1]<tablelength(headersplit[1])-1) do--tablelength(headersplit[1])
iall=iall+1
currenthead[1] = string.gsub(gmatchtable(headersplit[1][iiiiii[1]+1], ".-\n")[1],"\n","")
finaltable[iall]={currenthead[1]..testvar}
headersplit[2] = split(headersplit[1][iiiiii[1]+1],tostring(firsthead+1).."!")
while (iiiiii[2]<=tablelength(headersplit[2])) do
iall=iall+1
currenthead[2] = string.gsub(gmatchtable(headersplit[2][iiiiii[2]], ".-\n")[1],"\n","")
finaltable[iall]={currenthead[1],currenthead[2]}
headersplit[3] = split(headersplit[2][iiiiii[2]],tostring(firsthead+2).."!")
while (iiiiii[3]<=tablelength(headersplit[3])) do
iall=iall+1
currenthead[3] = string.gsub(gmatchtable(headersplit[3][iiiiii[3]], ".-\n")[1],"\n","")
finaltable[iall]={currenthead[1],currenthead[2],currenthead[3]}
headersplit[4] = split(headersplit[3][iiiiii[3]],tostring(firsthead+3).."!")
while (iiiiii[4]<=tablelength(headersplit[4])) do
iall=iall+1
currenthead[4] = string.gsub(gmatchtable(headersplit[4][iiiiii[4]], ".-\n")[1],"\n","")
finaltable[iall]={currenthead[1],currenthead[2],currenthead[3],currenthead[4]}
headersplit[5] = split(headersplit[4][iiiiii[4]],tostring(firsthead+4).."!")
while (iiiiii[5]<=tablelength(headersplit[5])) do
iall=iall+1
currenthead[5] = string.gsub(gmatchtable(headersplit[5][iiiiii[5]], ".-\n")[1],"\n","")
finaltable[iall]={currenthead[1],currenthead[2],currenthead[3],currenthead[4],currenthead[5]}
iiiiii[5]=iiiiii[5]+1
end
iiiiii[5]=2
iiiiii[4]=iiiiii[4]+1
end
iiiiii[4]=2
iiiiii[3]=iiiiii[3]+1
end
iiiiii[3]=2
iiiiii[2]=iiiiii[2]+1
end
iiiiii[2]=2
iiiiii[1]=iiiiii[1]+1
end
return finaltable


end
body.page-Yggdrasil_Religion .firstHeading, body.page-Yggdrasil_Religion2 .firstHeading, body.page-Yggdrasil_Religion3 .firstHeading, body.page-Yggdrasil_Religion4 .firstHeading, body.page-Yggdrasil_Religion5 .firstHeading, body.page-Yggdrasil_Religion6 .firstHeading{
    border: none;
    display: none;
}


body.page-Yggdrasil_Religion #contentSub, body.page-Yggdrasil_Religion2 #contentSub, body.page-Yggdrasil_Religion3 #contentSub, body.page-Yggdrasil_Religion4 #contentSub, body.page-Yggdrasil_Religion5 #contentSub, body.page-Yggdrasil_Religion6 #contentSub{
    display: none;
}


body.page-Yggdrasil_Religion h1 .mw-editsection, body.page-Yggdrasil_Religion2 h1 .mw-editsection, body.page-Yggdrasil_Religion3 h1 .mw-editsection, body.page-Yggdrasil_Religion4 h1 .mw-editsection, body.page-Yggdrasil_Religion5 h1 .mw-editsection, body.page-Yggdrasil_Religion6 h1 .mw-editsection{ 
    display: none;
}
/* +++++ 10. REDAKTIONSMEETINGSHOWOFF+++++ */


function p.index( frame )
.box {
--content = displaytablevert(getindexformat())
    color: #000;
text = frame.args[1]
    background-color: #f8f9fa;
stext = split (text, "§§§")
    border: 1px solid #eaecf0;
currentpage = ""
    padding: 1em;
currentheaders= nil
    font-family: monospace,'Courier';
finish = ""
    display: block;
tempfinish =""
margin-top: 1em;
i = 1
    margin-bottom: 1em;
inde = 1
}
while (i<=tablelength(stext)) do
currentpage = stext[i]
currentheaders = headertotablelimit(currentpage, "Yggdrasil")
currentpage = string.sub(currentpage, 1, string.len(currentpage)-2)
headlen = tablelength(currentheaders)
inde = 1
while (inde<=headlen) do
if (tablelength(currentheaders[inde])==1) then
tempfinish = getindexformat()[1]
tempfinish = string.gsub(tempfinish, "{{{h1}}}", currentheaders[inde][1])
tempfinish = string.gsub(tempfinish, "{{{h1 link}}}", "[[Yggdrasil:"..currentpage.."#"..currentheaders[inde][1].."|"..currentheaders[inde][1].."]]")
elseif(tablelength(currentheaders[inde])==2) then
tempfinish = getindexformat()[2]
tempfinish = string.gsub(tempfinish, "{{{h1}}}", currentheaders[inde][1])
tempfinish = string.gsub(tempfinish, "{{{h2}}}", currentheaders[inde][2])
tempfinish = string.gsub(tempfinish, "{{{h1 link}}}", "[[Yggdrasil:"..currentpage.."#"..currentheaders[inde][1].."|"..currentheaders[inde][1].."]]")
tempfinish = string.gsub(tempfinish, "{{{h2 link}}}", "[[Yggdrasil:"..currentpage.."#"..currentheaders[inde][2].."|"..currentheaders[inde][2].."]]")
elseif(tablelength(currentheaders[inde])==3) then
tempfinish = getindexformat()[3]
tempfinish = string.gsub(tempfinish, "{{{h1}}}", currentheaders[inde][1])
tempfinish = string.gsub(tempfinish, "{{{h2}}}", currentheaders[inde][2])
tempfinish = string.gsub(tempfinish, "{{{h3}}}", currentheaders[inde][3])
tempfinish = string.gsub(tempfinish, "{{{h1 link}}}", "[[Yggdrasil:"..currentpage.."#"..currentheaders[inde][1].."|"..currentheaders[inde][1].."]]")
tempfinish = string.gsub(tempfinish, "{{{h2 link}}}", "[[Yggdrasil:"..currentpage.."#"..currentheaders[inde][2].."|"..currentheaders[inde][2].."]]")
tempfinish = string.gsub(tempfinish, "{{{h3 link}}}", "[[Yggdrasil:"..currentpage.."#"..currentheaders[inde][3].."|"..currentheaders[inde][3].."]]")
elseif(tablelength(currentheaders[inde])==4) then
tempfinish = getindexformat()[4]
tempfinish = string.gsub(tempfinish, "{{{h1}}}", currentheaders[inde][1])
tempfinish = string.gsub(tempfinish, "{{{h2}}}", currentheaders[inde][2])
tempfinish = string.gsub(tempfinish, "{{{h3}}}", currentheaders[inde][3])
tempfinish = string.gsub(tempfinish, "{{{h4}}}", currentheaders[inde][4])
tempfinish = string.gsub(tempfinish, "{{{h1 link}}}", "[[Yggdrasil:"..currentpage.."#"..currentheaders[inde][1].."|"..currentheaders[inde][1].."]]")
tempfinish = string.gsub(tempfinish, "{{{h2 link}}}", "[[Yggdrasil:"..currentpage.."#"..currentheaders[inde][2].."|"..currentheaders[inde][2].."]]")
tempfinish = string.gsub(tempfinish, "{{{h3 link}}}", "[[Yggdrasil:"..currentpage.."#"..currentheaders[inde][3].."|"..currentheaders[inde][3].."]]")
tempfinish = string.gsub(tempfinish, "{{{h4 link}}}", "[[Yggdrasil:"..currentpage.."#"..currentheaders[inde][4].."|"..currentheaders[inde][4].."]]")
elseif(tablelength(currentheaders[inde])==5) then
tempfinish = getindexformat()[5]
tempfinish = string.gsub(tempfinish, "{{{h1}}}", currentheaders[inde][1])
tempfinish = string.gsub(tempfinish, "{{{h2}}}", currentheaders[inde][2])
tempfinish = string.gsub(tempfinish, "{{{h3}}}", currentheaders[inde][3])
tempfinish = string.gsub(tempfinish, "{{{h4}}}", currentheaders[inde][4])
tempfinish = string.gsub(tempfinish, "{{{h5}}}", currentheaders[inde][5])
tempfinish = string.gsub(tempfinish, "{{{h1 link}}}", "[[Yggdrasil:"..currentpage.."#"..currentheaders[inde][1].."|"..currentheaders[inde][1].."]]")
tempfinish = string.gsub(tempfinish, "{{{h2 link}}}", "[[Yggdrasil:"..currentpage.."#"..currentheaders[inde][2].."|"..currentheaders[inde][2].."]]")
tempfinish = string.gsub(tempfinish, "{{{h3 link}}}", "[[Yggdrasil:"..currentpage.."#"..currentheaders[inde][3].."|"..currentheaders[inde][3].."]]")
tempfinish = string.gsub(tempfinish, "{{{h4 link}}}", "[[Yggdrasil:"..currentpage.."#"..currentheaders[inde][4].."|"..currentheaders[inde][4].."]]")
tempfinish = string.gsub(tempfinish, "{{{h5 link}}}", "[[Yggdrasil:"..currentpage.."#"..currentheaders[inde][5].."|"..currentheaders[inde][5].."]]")
elseif(tablelength(currentheaders[inde])==6) then
tempfinish = getindexformat()[6]
tempfinish = string.gsub(tempfinish, "{{{h1}}}", currentheaders[inde][1])
tempfinish = string.gsub(tempfinish, "{{{h2}}}", currentheaders[inde][2])
tempfinish = string.gsub(tempfinish, "{{{h3}}}", currentheaders[inde][3])
tempfinish = string.gsub(tempfinish, "{{{h4}}}", currentheaders[inde][4])
tempfinish = string.gsub(tempfinish, "{{{h5}}}", currentheaders[inde][5])
tempfinish = string.gsub(tempfinish, "{{{h6}}}", currentheaders[inde][6])
tempfinish = string.gsub(tempfinish, "{{{h1 link}}}", "[[Yggdrasil:"..currentpage.."#"..currentheaders[inde][1].."|"..currentheaders[inde][1].."]]")
tempfinish = string.gsub(tempfinish, "{{{h2 link}}}", "[[Yggdrasil:"..currentpage.."#"..currentheaders[inde][2].."|"..currentheaders[inde][2].."]]")
tempfinish = string.gsub(tempfinish, "{{{h3 link}}}", "[[Yggdrasil:"..currentpage.."#"..currentheaders[inde][3].."|"..currentheaders[inde][3].."]]")
tempfinish = string.gsub(tempfinish, "{{{h4 link}}}", "[[Yggdrasil:"..currentpage.."#"..currentheaders[inde][4].."|"..currentheaders[inde][4].."]]")
tempfinish = string.gsub(tempfinish, "{{{h5 link}}}", "[[Yggdrasil:"..currentpage.."#"..currentheaders[inde][5].."|"..currentheaders[inde][5].."]]")
tempfinish = string.gsub(tempfinish, "{{{h6 link}}}", "[[Yggdrasil:"..currentpage.."#"..currentheaders[inde][6].."|"..currentheaders[inde][6].."]]")
end
if(tablelength(currentheaders[inde])~=0) then
if (currentpage=="Religion") then
currentpagedis = "Religion/Äscher"
elseif(currentpage=="Religion2") then
currentpagedis = "Religion/Lacerta"
elseif(currentpage=="Religion2") then
currentpagedis = "Religion/Lichtalben"
elseif(currentpage=="Religion2") then
currentpagedis = "Religion/Dunkelalben"
elseif(currentpage=="Religion2") then
currentpagedis = "Religion/Dweorgo"
elseif(currentpage=="Religion2") then
currentpagedis = "Religion/Andere"
else
currentpagedis = currentpage
end
tempfinish = "|"..string.gsub(string.gsub(tempfinish, "{{{page}}}", currentpagedis),"\n", "",1)
tempfinish = string.gsub(tempfinish, "{{{page link}}}", "[[Yggdrasil:"..currentpage.."|"..currentpagedis.."]]")
finish = finish..tempfinish.."\n|-\n"
end
inde=inde+1
end
i=i+1
end
return finish


--<h2>
.box p{
    margin:0;
}


end
/* +++++ 11. NAVFRAME+++++ */
div.NavFrame + div.NavFrame {
border-top-style: none;
border-top-style: hidden;
}
div.NavPic {
background-color: #fff;
margin: 0;
padding: 2px;
/* @noflip */
float: left;
}
div.NavFrame div.NavHead {
position: relative;
}
div.NavFrame p,
div.NavFrame div.NavContent,
div.NavFrame div.NavContent p {
    font-size: 100%;
   
}
div.NavEnd {
    margin: 0;
    padding: 0;
    line-height: 1px;
    clear: both;
}
a.NavToggle {
    position: absolute;
    top: 0;
    right: 1.8em;
    font-weight: normal;
    font-size: 120%;
}


function p.religion( frame )
.client-js .NavFrame.collapsed > .NavContent {
ull = ""
display: none;
if (frame.args[1]=="1") then
}
ull = '{{YggRegister|!Religion:Äscher|Religion2:Lacerta|Religion3:Lichtalben|Religion4:Dubkelalben|Religion5:Dweorgo|Religion6:Andere}}'
elseif (frame.args[1]=="2") then
ull = '{{YggRegister|Religion:Äscher|!Religion2:Lacerta|Religion3:Lichtalben|Religion4:Dubkelalben|Religion5:Dweorgo|Religion6:Andere}}'
elseif (frame.args[1]=="3") then
ull = '{{YggRegister|Religion:Äscher|Religion2:Lacerta|!Religion3:Lichtalben|Religion4:Dubkelalben|Religion5:Dweorgo|Religion6:Andere}}'
elseif (frame.args[1]=="4") then
ull = '{{YggRegister|Religion:Äscher|Religion2:Lacerta|Religion3:Lichtalben|!Religion4:Dubkelalben|Religion5:Dweorgo|Religion6:Andere}}'
elseif (frame.args[1]=="5") then
ull = '{{YggRegister|Religion:Äscher|Religion2:Lacerta|Religion3:Lichtalben|Religion4:Dubkelalben|!Religion5:Dweorgo|Religion6:Andere}}'
elseif (frame.args[1]=="6") then
ull = '{{YggRegister|Religion:Äscher|Religion2:Lacerta|Religion3:Lichtalben|Religion4:Dubkelalben|Religion5:Dweorgo|!Religion6:Andere}}'
end
return ull
end


/* +++++ 12. TagSystem+++++ */
.tagholder {
margin-left: auto;
margin-right: auto;
align-self: center;
width:100%;
text-align: center;
}
.tagselected {
background-color: #ff3939;
display: inline-block;
border: 1px solid #ff3939;
margin-right: 1em;
margin-left: 1em;
border-radius: 0.9em;
}


function p.test( frame )
.tagunselected {
dieter, dieter2 = gegapi()
background-color: #ffffff;
dieter2 = dieter2["Kampfutensilien"]["Nahkampfwaffen"][1]
display: inline-block;
leresti = "Dinge:\n"
border: 1px solid #ff3939;
    for zahl,dingsi in  pairs(dieter2) do
margin-right: 1em;
        leresti = leresti.."*"..zahl..":"
margin-left: 1em;
if (dingsi[1]~=nil) then
border-radius: 0.9em;
for zahfgsal,didfsdhngsi in  pairs(dingsi) do
}
leresti = leresti.." - "..didfsdhngsi
.tagunselected:hover {
end
    background-color: #ff8e8e;
else
    background-image: none;
leresti = leresti.." "..dingsi
    text-decoration: none;
end
}
leresti = leresti.."\n"
.tagselected:hover {
end
    background-color: #ff8e8e;
    background-image: none;
    text-decoration: none;
return leresti
}


end
.catselected {
background-color: #ff3939;
display: table;
border: 1px solid #ff3939;
border-radius: 0.9em;
}
.tagselected .catselected{
border: 1px solid #ffffff;
}
.catunselected {
background-color: #ffffff;
display: table;
border: 1px solid #ff3939;
border-radius: 0.9em;
}
.catunselected:hover {
    background-color: #ff8e8e;
    background-image: none;
    text-decoration: none;
}
.catselected:hover {
    background-color: #ff8e8e;
    background-image: none;
    text-decoration: none;
}


function p.options( frame )
.linkred a{
stext = split (frame.args[1], "§§§")
    display: block;
lengthi = tablelength(stext)
    background-image: none ;
finalthing = ""
    padding-right: 0px ;
tempeins = stext[1]
    text-decoration: none ;
tempzwei = stext[2]
    background: transparent ;
tempdrei = stext[3]
    color: #ff3939 ;
tempvier = stext[4]
}
tempfunf = stext[5]
tempsech = stext[6]
tempsieb = stext[7]
tempacht = stext[8]
tempneun = stext[9]
if (lengthi==2) then
if (string.sub(stext[1],1,1)~="/") then
tempeins = "[[#"..tempeins.."|"..tempeins.."]]"
else
tempeins = string.sub(tempeins,2)
end
if (string.sub(stext[2],1,1)~="/") then
tempzwei = "[[#"..tempzwei.."|"..tempzwei.."]]"
else
tempzwei = string.sub(tempzwei,2)
end
finalthing = "*"..tempeins.." (Bei 1-50)\n*"..tempzwei.." (Bei 51-100)"
elseif(lengthi==3) then
if (string.sub(stext[1],1,1)~="/") then
tempeins = "[[#"..tempeins.."|"..tempeins.."]]"
else
tempeins = string.sub(tempeins,2)
end
if (string.sub(stext[2],1,1)~="/") then
tempzwei = "[[#"..tempzwei.."|"..tempzwei.."]]"
else
tempzwei = string.sub(tempzwei,2)
end
if (string.sub(stext[3],1,1)~="/") then
tempdrei = "[[#"..tempdrei.."|"..tempdrei.."]]"
else
tempdrei = string.sub(tempdrei,2)
end
finalthing = "*"..tempeins.." (Bei 1-33)\n*"..tempzwei.." (Bei 34-66)\n*"..tempdrei.." (Bei 67-99)\n*Bei 100: Reroll"
elseif(lengthi==4) then
if (string.sub(stext[1],1,1)~="/") then
tempeins = "[[#"..tempeins.."|"..tempeins.."]]"
else
tempeins = string.sub(tempeins,2)
end
if (string.sub(stext[2],1,1)~="/") then
tempzwei = "[[#"..tempzwei.."|"..tempzwei.."]]"
else
tempzwei = string.sub(tempzwei,2)
end
if (string.sub(stext[3],1,1)~="/") then
tempdrei = "[[#"..tempdrei.."|"..tempdrei.."]]"
else
tempdrei = string.sub(tempdrei,2)
end
if (string.sub(stext[4],1,1)~="/") then
tempvier = "[[#"..tempvier.."|"..tempvier.."]]"
else
tempvier = string.sub(tempvier,2)
end
finalthing = "*"..tempeins.." (Bei 1-25)\n*"..tempzwei.." (Bei 26-50)\n*"..tempdrei.." (Bei 51-75)\n*"..tempvier.." (Bei 76-100)"
elseif(lengthi==5) then
if (string.sub(stext[1],1,1)~="/") then
tempeins = "[[#"..tempeins.."|"..tempeins.."]]"
else
tempeins = string.sub(tempeins,2)
end
if (string.sub(stext[2],1,1)~="/") then
tempzwei = "[[#"..tempzwei.."|"..tempzwei.."]]"
else
tempzwei = string.sub(tempzwei,2)
end
if (string.sub(stext[3],1,1)~="/") then
tempdrei = "[[#"..tempdrei.."|"..tempdrei.."]]"
else
tempdrei = string.sub(tempdrei,2)
end
if (string.sub(stext[4],1,1)~="/") then
tempvier = "[[#"..tempvier.."|"..tempvier.."]]"
else
tempvier = string.sub(tempvier,2)
end
if (string.sub(stext[5],1,1)~="/") then
tempfunf = "[[#"..tempfunf.."|"..tempfunf.."]]"
else
tempfunf = string.sub(tempfunf,2)
end
finalthing = "*"..tempeins.." (Bei 1-20)\n*"..tempzwei.." (Bei 21-40)\n*"..tempdrei.." (Bei 41-60)\n*"..tempvier.." (Bei 61-80)\n*"..tempfunf.." (Bei 81-100)"
elseif(lengthi==6) then
if (string.sub(stext[1],1,1)~="/") then
tempeins = "[[#"..tempeins.."|"..tempeins.."]]"
else
tempeins = string.sub(tempeins,2)
end
if (string.sub(stext[2],1,1)~="/") then
tempzwei = "[[#"..tempzwei.."|"..tempzwei.."]]"
else
tempzwei = string.sub(tempzwei,2)
end
if (string.sub(stext[3],1,1)~="/") then
tempdrei = "[[#"..tempdrei.."|"..tempdrei.."]]"
else
tempdrei = string.sub(tempdrei,2)
end
if (string.sub(stext[4],1,1)~="/") then
tempvier = "[[#"..tempvier.."|"..tempvier.."]]"
else
tempvier = string.sub(tempvier,2)
end
if (string.sub(stext[5],1,1)~="/") then
tempfunf = "[[#"..tempfunf.."|"..tempfunf.."]]"
else
tempfunf = string.sub(tempfunf,2)
end
if (string.sub(stext[6],1,1)~="/") then
tempsech = "[[#"..tempsech.."|"..tempsech.."]]"
else
tempsech = string.sub(tempsech,2)
end
finalthing = "*"..tempeins.." (Bei 1-16)\n*"..tempzwei.." (Bei 17-32)\n*"..tempdrei.." (Bei 33-48)\n*"..tempvier.." (Bei 49-64)\n*"..tempfunf.." (Bei 65-80)\n*"..tempsech.." (Bei 81-96)\n*Bei 97-100: Reroll"
elseif(lengthi==7) then
if (string.sub(stext[1],1,1)~="/") then
tempeins = "[[#"..tempeins.."|"..tempeins.."]]"
else
tempeins = string.sub(tempeins,2)
end
if (string.sub(stext[2],1,1)~="/") then
tempzwei = "[[#"..tempzwei.."|"..tempzwei.."]]"
else
tempzwei = string.sub(tempzwei,2)
end
if (string.sub(stext[3],1,1)~="/") then
tempdrei = "[[#"..tempdrei.."|"..tempdrei.."]]"
else
tempdrei = string.sub(tempdrei,2)
end
if (string.sub(stext[4],1,1)~="/") then
tempvier = "[[#"..tempvier.."|"..tempvier.."]]"
else
tempvier = string.sub(tempvier,2)
end
if (string.sub(stext[5],1,1)~="/") then
tempfunf = "[[#"..tempfunf.."|"..tempfunf.."]]"
else
tempfunf = string.sub(tempfunf,2)
end
if (string.sub(stext[6],1,1)~="/") then
tempsech = "[[#"..tempsech.."|"..tempsech.."]]"
else
tempsech = string.sub(tempsech,2)
end
if (string.sub(stext[7],1,1)~="/") then
tempsieb = "[[#"..tempsieb.."|"..tempsieb.."]]"
else
tempsieb = string.sub(tempsieb,2)
end
finalthing = "*"..tempeins.." (Bei 1-14)\n*"..tempzwei.." (Bei 15-28)\n*"..tempdrei.." (Bei 29-42)\n*"..tempvier.." (Bei 43-56)\n*"..tempfunf.." (Bei 57-70)\n*"..tempsech.." (Bei 71-84)\n*"..tempsieb.." (Bei 85-98)\n*Bei 99-100: Reroll"
elseif(lengthi==8) then
if (string.sub(stext[1],1,1)~="/") then
tempeins = "[[#"..tempeins.."|"..tempeins.."]]"
else
tempeins = string.sub(tempeins,2)
end
if (string.sub(stext[2],1,1)~="/") then
tempzwei = "[[#"..tempzwei.."|"..tempzwei.."]]"
else
tempzwei = string.sub(tempzwei,2)
end
if (string.sub(stext[3],1,1)~="/") then
tempdrei = "[[#"..tempdrei.."|"..tempdrei.."]]"
else
tempdrei = string.sub(tempdrei,2)
end
if (string.sub(stext[4],1,1)~="/") then
tempvier = "[[#"..tempvier.."|"..tempvier.."]]"
else
tempvier = string.sub(tempvier,2)
end
if (string.sub(stext[5],1,1)~="/") then
tempfunf = "[[#"..tempfunf.."|"..tempfunf.."]]"
else
tempfunf = string.sub(tempfunf,2)
end
if (string.sub(stext[6],1,1)~="/") then
tempsech = "[[#"..tempsech.."|"..tempsech.."]]"
else
tempsech = string.sub(tempsech,2)
end
if (string.sub(stext[7],1,1)~="/") then
tempsieb = "[[#"..tempsieb.."|"..tempsieb.."]]"
else
tempsieb = string.sub(tempsieb,2)
end
if (string.sub(stext[8],1,1)~="/") then
tempacht = "[[#"..tempacht.."|"..tempacht.."]]"
else
tempacht = string.sub(tempacht,2)
end
finalthing = "*"..tempeins.." (Bei 1-12)\n*"..tempzwei.." (Bei 13-24)\n*"..tempdrei.." (Bei 25-36)\n*"..tempvier.." (Bei 37-48)\n*"..tempfunf.." (Bei 49-60)\n*"..tempsech.." (Bei 61-72)\n*"..tempsieb.." (Bei 73-84)\n*"..tempacht.." (Bei 85-96)\n*Bei 97-100: Reroll"
elseif(lengthi==9) then
if (string.sub(stext[1],1,1)~="/") then
tempeins = "[[#"..tempeins.."|"..tempeins.."]]"
else
tempeins = string.sub(tempeins,2)
end
if (string.sub(stext[2],1,1)~="/") then
tempzwei = "[[#"..tempzwei.."|"..tempzwei.."]]"
else
tempzwei = string.sub(tempzwei,2)
end
if (string.sub(stext[3],1,1)~="/") then
tempdrei = "[[#"..tempdrei.."|"..tempdrei.."]]"
else
tempdrei = string.sub(tempdrei,2)
end
if (string.sub(stext[4],1,1)~="/") then
tempvier = "[[#"..tempvier.."|"..tempvier.."]]"
else
tempvier = string.sub(tempvier,2)
end
if (string.sub(stext[5],1,1)~="/") then
tempfunf = "[[#"..tempfunf.."|"..tempfunf.."]]"
else
tempfunf = string.sub(tempfunf,2)
end
if (string.sub(stext[6],1,1)~="/") then
tempsech = "[[#"..tempsech.."|"..tempsech.."]]"
else
tempsech = string.sub(tempsech,2)
end
if (string.sub(stext[7],1,1)~="/") then
tempsieb = "[[#"..tempsieb.."|"..tempsieb.."]]"
else
tempsieb = string.sub(tempsieb,2)
end
if (string.sub(stext[8],1,1)~="/") then
tempacht = "[[#"..tempacht.."|"..tempacht.."]]"
else
tempacht = string.sub(tempacht,2)
end
if (string.sub(stext[9],1,1)~="/") then
tempneun = "[[#"..tempneun.."|"..tempneun.."]]"
else
tempneun = string.sub(tempneun,2)
end
finalthing = "*"..tempeins.." (Bei 1-11)\n*"..tempzwei.." (Bei 12-22)\n*"..tempdrei.." (Bei 23-33)\n*"..tempvier.." (Bei 34-44)\n*"..tempfunf.." (Bei 45-55)\n*"..tempsech.." (Bei 56-66)\n*"..tempsieb.." (Bei 67-77)\n*"..tempacht.." (Bei 78-88)\n*"..tempneun.." (Bei 89-99)\n*Bei 100: Reroll"
else
finalthing = "Die Anzahl an ausgewählten Optionen wird nicht unterstützt. Erkundige dich, dass du alles richtig geschrieben hast. Falls dir das Maximum von 9 Optionen nicht reicht wende dich bitte an [[Benutzerin:Murmelgrumpf]]"
end
return finalthing
end
function p.optionsnodice( frame )
stext = split (frame.args[1], "§§§")
lengthi = tablelength(stext)
finalthing = ""
tempeins = stext[1]
tempzwei = stext[2]
tempdrei = stext[3]
tempvier = stext[4]
tempfunf = stext[5]
tempsech = stext[6]
tempsieb = stext[7]
tempacht = stext[8]
tempneun = stext[9]
if (lengthi==2) then
if (string.sub(stext[1],1,1)~="/") then
tempeins = "[[#"..tempeins.."|"..tempeins.."]]"
else
tempeins = string.sub(tempeins,2)
end
if (string.sub(stext[2],1,1)~="/") then
tempzwei = "[[#"..tempzwei.."|"..tempzwei.."]]"
else
tempzwei = string.sub(tempzwei,2)
end
finalthing = "*"..tempeins.."\n*"..tempzwei
elseif(lengthi==3) then
if (string.sub(stext[1],1,1)~="/") then
tempeins = "[[#"..tempeins.."|"..tempeins.."]]"
else
tempeins = string.sub(tempeins,2)
end
if (string.sub(stext[2],1,1)~="/") then
tempzwei = "[[#"..tempzwei.."|"..tempzwei.."]]"
else
tempzwei = string.sub(tempzwei,2)
end
if (string.sub(stext[3],1,1)~="/") then
tempdrei = "[[#"..tempdrei.."|"..tempdrei.."]]"
else
tempdrei = string.sub(tempdrei,2)
end
finalthing = "*"..tempeins.."\n*"..tempzwei.."\n*"..tempdrei
elseif(lengthi==4) then
if (string.sub(stext[1],1,1)~="/") then
tempeins = "[[#"..tempeins.."|"..tempeins.."]]"
else
tempeins = string.sub(tempeins,2)
end
if (string.sub(stext[2],1,1)~="/") then
tempzwei = "[[#"..tempzwei.."|"..tempzwei.."]]"
else
tempzwei = string.sub(tempzwei,2)
end
if (string.sub(stext[3],1,1)~="/") then
tempdrei = "[[#"..tempdrei.."|"..tempdrei.."]]"
else
tempdrei = string.sub(tempdrei,2)
end
if (string.sub(stext[4],1,1)~="/") then
tempvier = "[[#"..tempvier.."|"..tempvier.."]]"
else
tempvier = string.sub(tempvier,2)
end
finalthing = "*"..tempeins.."\n*"..tempzwei.."\n*"..tempdrei.."\n*"..tempvier
elseif(lengthi==5) then
if (string.sub(stext[1],1,1)~="/") then
tempeins = "[[#"..tempeins.."|"..tempeins.."]]"
else
tempeins = string.sub(tempeins,2)
end
if (string.sub(stext[2],1,1)~="/") then
tempzwei = "[[#"..tempzwei.."|"..tempzwei.."]]"
else
tempzwei = string.sub(tempzwei,2)
end
if (string.sub(stext[3],1,1)~="/") then
tempdrei = "[[#"..tempdrei.."|"..tempdrei.."]]"
else
tempdrei = string.sub(tempdrei,2)
end
if (string.sub(stext[4],1,1)~="/") then
tempvier = "[[#"..tempvier.."|"..tempvier.."]]"
else
tempvier = string.sub(tempvier,2)
end
if (string.sub(stext[5],1,1)~="/") then
tempfunf = "[[#"..tempfunf.."|"..tempfunf.."]]"
else
tempfunf = string.sub(tempfunf,2)
end
finalthing = "*"..tempeins.."\n*"..tempzwei.."\n*"..tempdrei.."\n*"..tempvier.."\n*"..tempfunf
elseif(lengthi==6) then
if (string.sub(stext[1],1,1)~="/") then
tempeins = "[[#"..tempeins.."|"..tempeins.."]]"
else
tempeins = string.sub(tempeins,2)
end
if (string.sub(stext[2],1,1)~="/") then
tempzwei = "[[#"..tempzwei.."|"..tempzwei.."]]"
else
tempzwei = string.sub(tempzwei,2)
end
if (string.sub(stext[3],1,1)~="/") then
tempdrei = "[[#"..tempdrei.."|"..tempdrei.."]]"
else
tempdrei = string.sub(tempdrei,2)
end
if (string.sub(stext[4],1,1)~="/") then
tempvier = "[[#"..tempvier.."|"..tempvier.."]]"
else
tempvier = string.sub(tempvier,2)
end
if (string.sub(stext[5],1,1)~="/") then
tempfunf = "[[#"..tempfunf.."|"..tempfunf.."]]"
else
tempfunf = string.sub(tempfunf,2)
end
if (string.sub(stext[6],1,1)~="/") then
tempsech = "[[#"..tempsech.."|"..tempsech.."]]"
else
tempsech = string.sub(tempsech,2)
end
finalthing = "*"..tempeins.."\n*"..tempzwei.."\n*"..tempdrei.."\n*"..tempvier.."\n*"..tempfunf.."\n*"..tempsech
elseif(lengthi==7) then
if (string.sub(stext[1],1,1)~="/") then
tempeins = "[[#"..tempeins.."|"..tempeins.."]]"
else
tempeins = string.sub(tempeins,2)
end
if (string.sub(stext[2],1,1)~="/") then
tempzwei = "[[#"..tempzwei.."|"..tempzwei.."]]"
else
tempzwei = string.sub(tempzwei,2)
end
if (string.sub(stext[3],1,1)~="/") then
tempdrei = "[[#"..tempdrei.."|"..tempdrei.."]]"
else
tempdrei = string.sub(tempdrei,2)
end
if (string.sub(stext[4],1,1)~="/") then
tempvier = "[[#"..tempvier.."|"..tempvier.."]]"
else
tempvier = string.sub(tempvier,2)
end
if (string.sub(stext[5],1,1)~="/") then
tempfunf = "[[#"..tempfunf.."|"..tempfunf.."]]"
else
tempfunf = string.sub(tempfunf,2)
end
if (string.sub(stext[6],1,1)~="/") then
tempsech = "[[#"..tempsech.."|"..tempsech.."]]"
else
tempsech = string.sub(tempsech,2)
end
if (string.sub(stext[7],1,1)~="/") then
tempsieb = "[[#"..tempsieb.."|"..tempsieb.."]]"
else
tempsieb = string.sub(tempsieb,2)
end
finalthing = "*"..tempeins.."\n*"..tempzwei.."\n*"..tempdrei.."\n*"..tempvier.."\n*"..tempfunf.."\n*"..tempsech.."\n*"..tempsieb
elseif(lengthi==8) then
if (string.sub(stext[1],1,1)~="/") then
tempeins = "[[#"..tempeins.."|"..tempeins.."]]"
else
tempeins = string.sub(tempeins,2)
end
if (string.sub(stext[2],1,1)~="/") then
tempzwei = "[[#"..tempzwei.."|"..tempzwei.."]]"
else
tempzwei = string.sub(tempzwei,2)
end
if (string.sub(stext[3],1,1)~="/") then
tempdrei = "[[#"..tempdrei.."|"..tempdrei.."]]"
else
tempdrei = string.sub(tempdrei,2)
end
if (string.sub(stext[4],1,1)~="/") then
tempvier = "[[#"..tempvier.."|"..tempvier.."]]"
else
tempvier = string.sub(tempvier,2)
end
if (string.sub(stext[5],1,1)~="/") then
tempfunf = "[[#"..tempfunf.."|"..tempfunf.."]]"
else
tempfunf = string.sub(tempfunf,2)
end
if (string.sub(stext[6],1,1)~="/") then
tempsech = "[[#"..tempsech.."|"..tempsech.."]]"
else
tempsech = string.sub(tempsech,2)
end
if (string.sub(stext[7],1,1)~="/") then
tempsieb = "[[#"..tempsieb.."|"..tempsieb.."]]"
else
tempsieb = string.sub(tempsieb,2)
end
if (string.sub(stext[8],1,1)~="/") then
tempacht = "[[#"..tempacht.."|"..tempacht.."]]"
else
tempacht = string.sub(tempacht,2)
end
finalthing = "*"..tempeins.."\n*"..tempzwei.."\n*"..tempdrei.."\n*"..tempvier.."\n*"..tempfunf.."\n*"..tempsech.."\n*"..tempsieb.."\n*"..tempacht
elseif(lengthi==9) then
if (string.sub(stext[1],1,1)~="/") then
tempeins = "[[#"..tempeins.."|"..tempeins.."]]"
else
tempeins = string.sub(tempeins,2)
end
if (string.sub(stext[2],1,1)~="/") then
tempzwei = "[[#"..tempzwei.."|"..tempzwei.."]]"
else
tempzwei = string.sub(tempzwei,2)
end
if (string.sub(stext[3],1,1)~="/") then
tempdrei = "[[#"..tempdrei.."|"..tempdrei.."]]"
else
tempdrei = string.sub(tempdrei,2)
end
if (string.sub(stext[4],1,1)~="/") then
tempvier = "[[#"..tempvier.."|"..tempvier.."]]"
else
tempvier = string.sub(tempvier,2)
end
if (string.sub(stext[5],1,1)~="/") then
tempfunf = "[[#"..tempfunf.."|"..tempfunf.."]]"
else
tempfunf = string.sub(tempfunf,2)
end
if (string.sub(stext[6],1,1)~="/") then
tempsech = "[[#"..tempsech.."|"..tempsech.."]]"
else
tempsech = string.sub(tempsech,2)
end
if (string.sub(stext[7],1,1)~="/") then
tempsieb = "[[#"..tempsieb.."|"..tempsieb.."]]"
else
tempsieb = string.sub(tempsieb,2)
end
if (string.sub(stext[8],1,1)~="/") then
tempacht = "[[#"..tempacht.."|"..tempacht.."]]"
else
tempacht = string.sub(tempacht,2)
end
if (string.sub(stext[9],1,1)~="/") then
tempneun = "[[#"..tempneun.."|"..tempneun.."]]"
else
tempneun = string.sub(tempneun,2)
end
finalthing = "*"..tempeins.."\n*"..tempzwei.."\n*"..tempdrei.."\n*"..tempvier.."\n*"..tempfunf.."\n*"..tempsech.."\n*"..tempsieb.."\n*"..tempacht.."\n*"..tempneun
else
finalthing = "Die Anzahl an ausgewählten Optionen wird nicht unterstützt. Erkundige dich, dass du alles richtig geschrieben hast. Falls dir das Maximum von 9 Optionen nicht reicht wende dich bitte an [[Benutzerin:Murmelgrumpf]]"
end
return finalthing
end
function p.kampf( frame )
    stext = split (frame.args[1], "§§§")
lengthi = tablelength(stext)
curthing = ""
eendrest = ""
for nudmbr,crdrent in ipairs(stext) do
curthing = split (stext[nudmbr], ">")
eendrest = eendrest.."|"..curthing[1].."\n|"..curthing[2].."\n|"..curthing[3].."\n|-\n"
end
return eendrest
end


function p.dia( frame )
.linkwhite a{
     stext = split (frame.args[1], "§§§")
     display: block;
lengthi = tablelength(stext)
    background-image: none ;
curthing = ""
    padding-right: 0px ;
eendrest = ""
    text-decoration: none ;
for nudmbr,crdrent in ipairs(stext) do
    background: transparent ;
curthing = split (stext[nudmbr], ":")
    color: #ffffff ;
eendrest = eendrest.."\n'''"..curthing[1]..":'''\n\n„"..curthing[2].."“\n"
}
end
eendrest = string.gsub(eendrest, "(\n[\n%s]*)", "''%1''")
return eendrest
end
function p.image( frame )
imaage = "[[Datei:"..frame.args[1]
if (frame.args[2]~=nil) then
imaage = imaage.."|"..frame.args[2]
end
if (frame.args[3]~=nil) then
imaage = imaage.."|"..frame.args[3]
end
if (frame.args[4]~=nil) then
imaage = imaage.."|"..frame.args[4]
end
if (frame.args[5]~=nil) then
imaage = imaage.."|"..frame.args[5]
end
if (frame.args[6]~=nil) then
imaage = imaage.."|"..frame.args[6]
end
imaage = imaage.."]]"
return imaage
end


/* +++++ 13. CHECKBOX+++++ */


function p.vid( frame )
.checklinkred a{
stext = split (frame.args[2], "§§§")
    display: block;
seend = "Hier kannst du das Abenteuer von ["..frame.args[1].."] noch ein mal nachschauen! Viel Spaß! :)\n"..'{|class="wikitable"\n|-\n'
    background-image: none ;
     for nuudmbr,curdrent in ipairs(stext) do
    padding-right: 0px ;
seend = seend.."!Teil "..tostring(nuudmbr).."\n"
     text-decoration: none ;
end
     background: transparent ;
seend = seend.."|-\n"
    color: transparent ;
     for nuudmbr,curdrent in ipairs(stext) do
}
seend = seend.."|"..curdrent.."\n"
end
seend = seend.."|-\n|}\n"
return seend
end


function p.talents( frame )
handeln = split (frame.args[1], "\n")
wissen = split (frame.args[2], "\n")
soziales = split (frame.args[3], "\n")
    lenlist = {}
lenlist[1] = tablelength(handeln)
lenlist[2] = tablelength(wissen)
lenlist[3] = tablelength(soziales)
highesst = gethighest(lenlist)
intex = 1
selast = ""
while (intex<=highesst) do
selast = selast.."|"
if (handeln[intex]~=nil) then
selast = selast..handeln[intex]
end
selast = selast.."\n|"
if (wissen[intex]~=nil) then
selast = selast..wissen[intex]
end
selast = selast.."\n|"
if (soziales[intex]~=nil) then
selast = selast..soziales[intex]
end
selast = selast.."\n|-\n"
intex = intex+1
end
return selast
end


function p.description( frame )
.checklinkwhite a{
     stext = split (frame.args[1], "§§§")
     display: block;
eerndrest=""
    background-image: none ;
if(tabContains(stext,"Szene")) then
    padding-right: 0px ;
eerndrest = eerndrest.."'''Szenen:'''\nSzenen geben Handlung und Orte vor, die die Spieler meist passiv miterleben.\n\n"
    text-decoration: none ;
end
    background: transparent ;
if(tabContains(stext,"Inter")) then
    color: transparent ;
eerndrest = eerndrest.."'''<span style='color:#BB0011;'>Interaktionen:</span>'''\nInteraktionen sind aktive Szenen, die eine Interaktion mit den Spielern erfordern.\n\n"
}
end
if(tabContains(stext,"Kursiv")) then
eerndrest = eerndrest.."''Kursive Texte:''\nKursive Texte können wörtlich vorgetragen werden und beinhalten meist direkte Rede oder Beschreibungen.\n\n"
end
if(tabContains(stext,"Probe")) then
eerndrest = eerndrest.."'''<span style='color:#31B404;'>Proben:</span>'''\nSteht für mögliche Talentwürfe, welche die Spieler ablegen müssen.\n\n"
end
if(tabContains(stext,"Moral")) then
eerndrest = eerndrest.."'''<span style='color:#00b8ff;'>Moral:</span>'''\nBeinhaltet Situationen, an denen die Spieler moralische Fragen beantworten müssen, die sich auf den Verlauf des Abenteuers auswirken können.\n\n"
end
if(tabContains(stext,"Module")) then
eerndrest = eerndrest.."'''<span style='color:#4B088A;'>Module:</span>'''\nBeinhalten Regeln, die zusätzlich zum Grundregelwerk in diesem Abenteuer verwendet werden.\n\n"
end
if(tabContains(stext,"Box")) then
eerndrest = eerndrest.."<div class='box'>'''Boxen:''' Boxen stehen für Spielleiterhinweise und beinhalten meist Hintergrundinformationen, welche die Spieler nicht haben können.</div>\n\n"
end
return string.sub(eerndrest,0,string.len(eerndrest)-2)
end


function p.ygggegerror ( frame )
displayedtext = "\n\n----\n\n"
listeeins, listezwei = gegapi()
headerends = {}
schlagworte = schlagwortliste()
for eines,zweites in pairs(listeeins) do
table.insert(headerends,listeeins[eines]["Name"])
for qfsdf,zweihgfhgtes in pairs(listeeins[eines]["Schlagwörter"]) do
if (tabContains(schlagworte,zweihgfhgtes)==nil) then
displayedtext = displayedtext..'<span style="color:red;"><big><big><big> Falsches Schlagwort gefunden: "'..zweihgfhgtes..'"'..", unter: '''("..listeeins[eines]["Category"].." - "..listeeins[eines]["Subcategory"].." - "..listeeins[eines]["Name"]..")'''!Bitte Ändern!</big></big></big>"..'</span>\n\n----\n\n'
end
end
end
dupeeeetab = duptable(headerends)
for zup,dupeeee in pairs(dupeeeetab) do
if (dupeeee~=nil) then
displayedtext = displayedtext..'<span style="color:red;"><big><big><big>Duplikat gefunden: "'..listeeins[dupeeee[1]]["Name"]..'"'..", unter: '''("..listeeins[dupeeee[1]]["Category"]..' - '..listeeins[dupeeee[1]]["Subcategory"]..")''' und unter: '''("..listeeins[dupeeee[2]]["Category"]..' - '..listeeins[dupeeee[2]]["Subcategory"]..")''' !Bitte Ändern!</big></big></big>"..'</span>\n\n----\n\n'
end
end
return displayedtext


end


function p.testzwei ( frame )
.checktagselected {
background-color: #ff3939;
display: inline-block;
border: 0.1em solid #ff3939;
margin-right: 1em;
margin-left: 1em;
border-radius: 0.9em;
width: 1.2em;
height: 1.2em;
line-height: 1;
font-size: 0.7em;
border-collapse: collapse;
}


.checktagunselected {
background-color: #ffffff;
display: inline-block;
border: 0.1em solid #ff3939;
margin-right: 1em;
margin-left: 1em;
border-radius: 0.9em;
width: 1.2em;
height: 1.2em;
line-height: 1;
font-size: 0.7em;
border-collapse: collapse;
return frame.args["test"]
}
end
.checktagunselected:hover {
    background-color: #ff8e8e;
    background-image: none;
    text-decoration: none;
}
.checktagselected:hover {
    background-color: #ff8e8e;
    background-image: none;
    text-decoration: none;
}


function p.cur ( frame )
/* +++++ 14. Pride+++++ */
thingtext = frame.args[1]
thingtext = string.gsub(thingtext, "(\n+)", "''%1''")
return thingtext
end
 
function p.probe ( frame )
return "'''<span style='color:#31B404;'>"..string.gsub(frame.args[1], "(\n+)" , "</span>'''%1'''<span style='color:#31B404;'>").."</span>'''"
end
 
function p.taglist ( frame )
currenttagstate = frame.args[1]
currentcatstate = frame.args[2]
allsetcats = categorylist()
allsetags = schlagwortliste()
if (string.len(currenttagstate)~=tablelength(allsetags)) then
currenttagstate = zeros(tablelength(allsetags))
end
if (string.len(currentcatstate)~=doubletablelength(allsetcats)) then
currentcatstate = zeros(doubletablelength(allsetcats))
end
currentsite = "Tagtest"
sefinalendtext = '{|class="tagholder"\n|style="width:40%"|\n'
tagstatelength = string.len(currenttagstate)
catstatelength = string.len(currentcatstate)
countcat = 1
for curcatname,cursubcats in pairs(allsetcats) do
cursublength = tablelength(cursubcats)
catstdif = catstatelength-cursublength+1
sefinalendtext = sefinalendtext..'{|class="'..nummulttran(currentcatstate,catstdif,catstatelength)..'"\n|'..nummulttranlinkopen(currentcatstate,catstdif,catstatelength)..'[https://howtobeahero.de/index.php?title='..currentsite..'&tagstate='..currenttagstate..'&catstate='..multchangebinall(currentcatstate, catstdif, catstatelength).." "..curcatname..":]</span>\n"
nowcatstatelength = catstatelength-cursublength
while (catstatelength>nowcatstatelength) do
cursubcatname = allsetcats[curcatname][catstatelength-nowcatstatelength]
sefinalendtext = sefinalendtext..'{|class="'..numtrancat(currentcatstate,catstatelength)..'"\n|'..numtranlinkopen(currentcatstate,catstatelength)..'[https://howtobeahero.de/index.php?title='..currentsite..'&tagstate='..currenttagstate..'&catstate='..changebin(currentcatstate,catstatelength).." "..cursubcatname.."]</span>\n|}\n"--..numtranlinkopen(
catstatelength = catstatelength-1
end
sefinalendtext = sefinalendtext.."\n|}\n"
if (countcat%2==0) then
sefinalendtext = sefinalendtext.."\n"
end
countcat=countcat+1
end
sefinalendtext = sefinalendtext..'|style="width:40%"|\n'
    while (tagstatelength>0) do
        sefinalendtext=sefinalendtext..'{|class="'..numtran(currenttagstate,tagstatelength)..'"\n|'..numtranlinkopen(currenttagstate,tagstatelength)..'[https://howtobeahero.de/index.php?title='..currentsite..'&tagstate='..changebin(currenttagstate,tagstatelength)..'&catstate='..currentcatstate.." "..allsetags[tagstatelength]..' •]</span>\n|}\n'
tagstatelength = tagstatelength-1
end
    sefinalendtext=sefinalendtext..'|style="width:20%"|\n'


/*.mw-wiki-logo{
    background-image: url(https://cdn.discordapp.com/attachments/423846571881398272/849626746089242694/Header_Logo_Regenbogen.png)
}*/


/* +++++ 15. BeautyBox +++++ */
.beautyBox {
    color: #2a2a2a;
    background-color: #e3e2db;
    padding: 1em;
    font-family: 'Sitka Text Italic';
    display: block;
    margin-top: 1em;
    margin-bottom: 1em;
}


.beautyBox p{
    margin:0;
}


sefinalendtext=sefinalendtext..'|}'
/* +++++ 16. Diverse Fixes +++++ */
return sefinalendtext.."\n\n"
end


return p
a.image:hover { background: transparent; }

Aktuelle Version vom 23. August 2025, 12:55 Uhr

/* Das folgende CSS wird für alle Benutzeroberflächen geladen. */

/* +++++ 0. Generelle Wikiformatierung +++++ */
.image, a#top{
    background:none !important;
    padding-right: 0px !important;
    text-decoration: none;
}
.image:hover, a#top:hover{
    background:none !important;
}
.mw-body h1{
    font-size: 2.7em !important;
    font-family: "tahoma" !important;
}
.mw-body :not(.toctitle)> h2{
    font-size: 2.3em !important;
    font-weight: bold;
    font-family: "tahoma" !important;
}

.mw-body h3{
    font-size: 1.9em !important;
    border-bottom: 1px solid #a2a9b1;
    font-family: "tahoma" !important;
    font-weight: normal !important;
}

.mw-body h4{
    font-size: 1.6em !important;
    font-family: "tahoma";
}

.mw-body h5{
    font-size: 1.3em !important;
    font-family: "tahoma";
}

/* +++++ 1. HAUPTSEITE +++++ */
.mw-wiki-logo {
        background-size: 100%;
}

.heroimage img, .heroimage {
	max-width: 100%;
	max-height: 100%;
	width: 100%;
	height: 100%;
	border: 0 !important;
	margin: auto;
	margin-top: 2px;
}

.sub {
	padding: 10px 0px 15px;
}

#center_box{
    max-width: 400px;
    overflow: hidden;
}
img{
    width: 100%;
    object-fit: contain;
}
div#hauptseite h2 {
	font-family: inherit;
	font-size: 1.5em;
	font-weight: bold;
	line-height: 1.5;
	margin: 0;
	padding: .1em 0;
}
div#hauptseite h3 {
	font-family: inherit;
	font-size: 1em;
	font-weight: bold;
	line-height: 1.5;
	margin: 0;
	padding: .1em 0;
}
#hauptseite .inhalt {
	border-top: 0;
	min-height: 0; /* IE 7 */
	padding: .3em .8em .4em;
}
#hauptseite .inhalt hr {
	height: 1px;
	margin: .5em 0;
}
#hauptseite .inhalt .mehr {
	clear: both;
	font-size: 95%;
	margin-top: .8em;
	text-align: right;
}
.hauptseite-oben,
.hauptseite-obenlinks,
.hauptseite-obenrechts,
.hauptseite-links,
.hauptseite-rechts,
.hauptseite-hinweise,
.hauptseite-mitte{
	margin-bottom: 1em;
}
.hauptseite-obenlinks,
.hauptseite-links {
	margin-right: .5em;
}
.hauptseite-obenrechts,
.hauptseite-hinweise,
.hauptseite-rechts {
	margin-left: .5em;
}
.hauptseite-oben h2,
.hauptseite-obenlinks h2,
.hauptseite-obenrechts h2,
.hauptseite-hinweise h2,
.hauptseite-mitte h2,
.hauptseite-unten h2 {
	text-align: center;
}
.hauptseite-oben .inhalt .portale {
	font-weight: bold;
	margin: .2em 0;
}
.hauptseite-oben .inhalt .intern {
	font-size: 90%;
	text-align: center;
}
.hauptseite-links h2,
.hauptseite-hinweise h2,
.hauptseite-rechts h2, 
.hauptseite-unten h2 {
	text-indent: .8em;
}
.hauptseite-links h3,
.hauptseite-hinweise h3,
.hauptseite-rechts h3, 
.hauptseite-unten h3 {
	text-indent: .8em;
}

.hauptseite-unten h3 {
	font-size: 1.15em;
}
 
#hauptseite .mw-headline-anchor {
	display: none;
}
.res-img img{
max-width:100%;
height:auto;
}

/* +++++ 2. KATEGORIE-KLAPPBOXEN +++++ */
.categoryListTitle {
    font-family: inherit;
    font-size: 1em;
    font-weight: bold;
    color: #ffffff;
    line-height: 1.5;
    margin: 0;
    padding: .1em 10px;
    text-decoration: underline;
    border: 2px solid #A3ACBE;
}

.categoryListColumn:hover .categoryListTitle {
    border: 2px solid #838FA7;
    text-decoration: none;
}

.categoryList.hidden {
    display: none;
}

.categoryList.shown {
    display: block;
}

.categoryList-item {
    font-size: 1em;
}

.categoryList {
    padding: 5px 10px;
    background: white;
}

.categoryListRow {
    display: flex;
    flex-wrap: wrap;
}

.categoryListColumn {
    flex-grow: 1;
    flex-basis: 10%;

    background: #A3ACBE;
}

.categoryListColumn:hover {
    flex-grow: 1;
    flex-basis: 10%;

    background: #838FA7;
}

.break-1 .categoryListColumn {
    min-width: 100%;
}

.break-2 .categoryListColumn {
    min-width: 50%;
}

.break-3 .categoryListColumn {
    min-width: 33.333%;
}

.break-4 .categoryListColumn {
    min-width: 25%;
}

.break-5 .categoryListColumn {
    min-width: 20%;
}

.break-6 .categoryListColumn {
    min-width: 16.66666%;
}

.break-7 .categoryListColumn {
    min-width: 14.285%;
}

.break-8 .categoryListColumn {
    min-width: 12.5%;
}

.break-9 .categoryListColumn {
    min-width: 11.1111%;
}

.break-10 .categoryListColumn {
    min-width: 10%;
}

/* +++++ 3. BOX-HALTENDE HOWKYS +++++ */
.howky
{
    position: relative;
}

.howky:after, .howky.tragendBeidseitig:before {
    position: absolute;
    display: block;
    content: '';
    background-size: cover;
    background-position: 0 0;
    background-repeat: no-repeat no-repeat;
}

.howky.knieendUntenLinks:after {
    background-image: url(https://howtobeahero.de/images/c/c5/Howky_Kniened_Unten.png);
    height: 76px;
    width: 63px;
    bottom: -76px;
    left: 0;
}

.howky.knieendUntenRechts:after {
    background-image: url(https://howtobeahero.de/images/c/c5/Howky_Kniened_Unten.png);
    height: 76px;
    width: 63px;
    bottom: -76px;
    right: 0;
}

.howky.stehendUntenLinks:after {
    background-image: url(https://howtobeahero.de/images/6/6b/Howky_Stehend_Unten.png);
    height: 76px;
    width: 44px;
    bottom: -76px;
    left: 0;
}

.howky.stehendUntenRechts:after {
    background-image: url(https://howtobeahero.de/images/6/6b/Howky_Stehend_Unten.png);
    height: 76px;
    width: 44px;
    bottom: -76px;
    right: 0;
}

.howky.tragendBeidseitig:after {
    background-image: url(https://howtobeahero.de/images/1/19/Howky_Stehend_Rechts.png);
    height: 76px;
    width: 41px;
    bottom: 0;
    right: -41px;
}

.howky.tragendBeidseitig:before {
    background-image: url(https://howtobeahero.de/images/5/51/Howky_Stehend_Links.png);
    height: 76px;
    width: 41px;
    bottom: 0;
    left: -41px;
}

/* +++++ 4. BOX-HALTENDE HOWKYS +++++ */
.howkyContainer
{
    position: relative;
}

.howky:after, .howky.tragendBeidseitig:before {
    position: absolute;
    display: block;
    content: '';
    background-size: cover;
    background-position: 0 0;
    background-repeat: no-repeat no-repeat;
}

.howky.knieendUntenLinks:after {
    background-image: url(https://howtobeahero.de/images/c/c5/Howky_Kniened_Unten.png);
    height: 76px;
    width: 63px;
    bottom: -76px;
    left: 0;
}

.howky.knieendUntenRechts:after {
    background-image: url(https://howtobeahero.de/images/c/c5/Howky_Kniened_Unten.png);
    height: 76px;
    width: 63px;
    bottom: -76px;
    right: 0;
}

.howky.stehendUntenLinks:after {
    background-image: url(https://howtobeahero.de/images/6/6b/Howky_Stehend_Unten.png);
    height: 76px;
    width: 44px;
    bottom: -76px;
    left: 0;
}

.howky.stehendUntenRechts:after {
    background-image: url(https://howtobeahero.de/images/6/6b/Howky_Stehend_Unten.png);
    height: 76px;
    width: 44px;
    bottom: -76px;
    right: 0;
}

.howky.tragendBeidseitig:after {
    background-image: url(https://howtobeahero.de/images/1/19/Howky_Stehend_Rechts.png);
    height: 76px;
    width: 41px;
    bottom: 0;
    right: -41px;
}

.howky.tragendBeidseitig:before {
    background-image: url(https://howtobeahero.de/images/5/51/Howky_Stehend_Links.png);
    height: 76px;
    width: 41px;
    bottom: 0;
    left: -41px;
}

/* +++++ 5. AUFTEILENDE BOXEN +++++ */
.flexbox
{
    display: flex;
    flex-wrap: wrap;
}

.flexbox > *
{
    flex: 1 100%;
}

.flexbox > .double
{
    flex: 1 49%;
}

.flexbox > .triple
{
    flex: 1 32%;
}

/* Allow limiting of which header levels are shown in a TOC;
   <div class="toclimit-3">, for instance, will limit to
   showing ==headings== and ===headings=== but no further
   (as long as there are no =headings= on the page, which
   there shouldn't be according to the MoS).
 */
.toclimit-2 .toclevel-2,
.toclimit-3 .toclevel-3,
.toclimit-4 .toclevel-4,
.toclimit-5 .toclevel-5,
.toclimit-6 .toclevel-6,
.toclimit-7 .toclevel-7 { display: none; }

/* +++++ 6. FIXIERTE INFINITYBARS +++++ */
 .sticky {
    position: fixed;
    z-index: 99999999;
}

/* +++++ 7. YGGDRASIL+++++ */

.ns-104 .mw-body h2 {
        font-size: 3em;
        font-family: serif;
        color: #000eb9;
        text-transform: capitalize;
}
.ns-104 .mw-body h3 {
        font-size: 2.2em;
        font-family: serif;
        color: #006708;
        text-transform: capitalize;
        font-weight: normal;
        border-bottom: 1px solid #868686;
        padding-top: 0em;
}
.ns-104 .mw-body h4 {
        font-size: 1.6em;
        font-weight: bold;
        font-family: sans-serif;
        padding-top: 0.2em;
}
.ns-104 .mw-body h5 {
        font-size: 1.2em;
        font-weight: bold;
        font-family: sans-serif;
}
.ns-104 .mw-body h6 {
        font-size: 1em;
        font-weight: bold;
        font-family: sans-serif;
}
/*
.ns-104 .mw-body a {
        font-weight: bold;
        
}
.ns-104 .mw-editsection a,.ns-104 .wikiEditor-ui-tabs div a{
        font-weight: normal ;
}
*/
.ns-104 .wikiEditor-ui-controls{
    background: url(https://howtobeahero.de/images/thumb/5/55/Dankepf%C3%B6n.png/800px-Dankepf%C3%B6n.png);
    background-repeat: no-repeat;
    background-size: 16%;
    background-position-x: +99%;
    background-color: white;
}

div#yggimg img {
    margin-top: 0.3em;
    max-width: 100%;
    max-height: 100%;
    height: auto;
    border: 0 ;
    margin: auto;
    right: 0;

}

.ns-104 .mw-body .toc h2{
    font-weight: normal ;
    
}

.ns-104 .mw-body .toc a{
    font-weight: normal ;
    
}

.yggclass #categoryListTitle {
    font-family: inherit;
    font-size: 1em;
    font-weight: bold;
    color: #ffffff;
    line-height: 1.5;
    margin: 0;
    padding: .1em 10px;
    text-decoration: underline;
    border: 2px solid #A3ACBE;
}

.yggclass categoryListTitle {
    border: 5px solid #838FA7;
    text-decoration: none;
}

/* +++++ 8. REGISTER+++++ */
.registerselected {
    white-space: nowrap;
    border: solid;
    border-color: blueviolet;
    border-bottom-color: white; 
    border-width: 2px;
    padding: 0px;
    text-align: center;
}

.registerunselected {
    white-space: nowrap;  
    border: solid; 
    border-color: blueviolet; 
    border-width: 2px;
    padding: 0px;
    text-align: center;
}

.registerunselected a{
    display:block;
    padding: 15px;
    padding-right: 40px;
    padding-left: 40px;
    background-color: tan;
    background-image: none;
}

.registerselected a{
    display:block;
    padding: 15px;
    padding-right: 40px;
    padding-left: 40px;
    background-color: bisque;
    background-image: none;
}
.registerunselected a:hover{
    background-color: rosybrown;
    text-decoration: none;
}
.registerbetween {
    padding: 0; 
    width: 0.2%;
    border-bottom: solid;
    border-bottom-color: blueviolet;
    border-width: 2px;
    text-align: center;

}
.registerrest {
    border-bottom: solid;
    width:100%;
    border-bottom-color: blueviolet;
    border-width: 2px;
    text-align: center;
}

/* +++++ 9. HEADERTEST+++++ */

body.page-Yggdrasil_Test1Ohnetitel h1, body.page-Yggdrasil_Test2Ohnetitel h1, body.page-Yggdrasil_Test3Ohnetitel h1 { 
    border: none;
    display: none;
}

body.page-Yggdrasil_Test1Ohnetitel .mw-body, body.page-Yggdrasil_Test2Ohnetitel .mw-body, body.page-Yggdrasil_Test3Ohnetitel .mw-body { 
    padding-top: 0px;
}


body.page-Benutzerin_Murmelgrumpf h1{
    background-image: url( https://howtobeahero.de/images/thumb/4/40/Vinetest3.PNG/800px-Vinetest3.PNG );
    background-position-y: -10px;
    font-style: italic;
    font-weight: bold;
    color: antiquewhite;
}

body.page-Benutzerin_Murmelgrumpf .mw-wiki-logo:hover{
    background-image: url(https://howtobeahero.de/images/thumb/4/4e/Wikioc.png/800px-Wikioc.png)
}

.ns-104 .mw-collapsed {
    display: none ;
}

body.page-Headertest h1{
    background-image: url( https://howtobeahero.de/images/thumb/7/70/Headertest2.png/800px-Headertest2.png );
    color: transparent;
    border: none;
    background-repeat: no-repeat;
    background-size: 600px;
}

body.page-Yggdrasil_Religion h1, body.page-Yggdrasil_Religion2 h1, body.page-Yggdrasil_Religion3 h1, body.page-Yggdrasil_Religion4 h1, body.page-Yggdrasil_Religion5 h1, body.page-Yggdrasil_Religion6 h1{  
    font-size:28.8px;
    margin-top: 0px;
}

body.page-Yggdrasil_Religion .firstHeading, body.page-Yggdrasil_Religion2 .firstHeading, body.page-Yggdrasil_Religion3 .firstHeading, body.page-Yggdrasil_Religion4 .firstHeading, body.page-Yggdrasil_Religion5 .firstHeading, body.page-Yggdrasil_Religion6 .firstHeading{ 
    border: none;
    display: none;
}

body.page-Yggdrasil_Religion #contentSub, body.page-Yggdrasil_Religion2 #contentSub, body.page-Yggdrasil_Religion3 #contentSub, body.page-Yggdrasil_Religion4 #contentSub, body.page-Yggdrasil_Religion5 #contentSub, body.page-Yggdrasil_Religion6 #contentSub{
    display: none;
}

body.page-Yggdrasil_Religion h1 .mw-editsection, body.page-Yggdrasil_Religion2 h1 .mw-editsection, body.page-Yggdrasil_Religion3 h1 .mw-editsection, body.page-Yggdrasil_Religion4 h1 .mw-editsection, body.page-Yggdrasil_Religion5 h1 .mw-editsection, body.page-Yggdrasil_Religion6 h1 .mw-editsection{  
    display: none;
}
/* +++++ 10. REDAKTIONSMEETINGSHOWOFF+++++ */

.box {
    color: #000;
    background-color: #f8f9fa;
    border: 1px solid #eaecf0;
    padding: 1em;
    font-family: monospace,'Courier';
    display: block;
	margin-top: 1em;
    margin-bottom: 1em;
}

.box p{
    margin:0;
}

/* +++++ 11. NAVFRAME+++++ */
div.NavFrame + div.NavFrame {
	border-top-style: none;
	border-top-style: hidden;
}
div.NavPic {
	background-color: #fff;
	margin: 0;
	padding: 2px;
	/* @noflip */
	float: left;
}
div.NavFrame div.NavHead {
	position: relative;
}
div.NavFrame p,
div.NavFrame div.NavContent,
div.NavFrame div.NavContent p {
    font-size: 100%;
    
}
div.NavEnd {
    margin: 0;
    padding: 0;
    line-height: 1px;
    clear: both;
}
a.NavToggle {
    position: absolute;
    top: 0;
    right: 1.8em;
    font-weight: normal;
    font-size: 120%;
}

.client-js .NavFrame.collapsed > .NavContent {
	display: none;
}

/* +++++ 12. TagSystem+++++ */
.tagholder {
	margin-left: auto;
	margin-right: auto;
	align-self: center;
	width:100%;
	text-align: center;
}
.tagselected {
	background-color: #ff3939;
	display: inline-block;
	border: 1px solid #ff3939;
	margin-right: 1em;
	margin-left: 1em;
	border-radius: 0.9em;
}

.tagunselected {
	background-color: #ffffff;
	display: inline-block;
	border: 1px solid #ff3939;
	margin-right: 1em;
	margin-left: 1em;
	border-radius: 0.9em;
}
.tagunselected:hover {
    background-color: #ff8e8e;
    background-image: none;
    text-decoration: none;
}
.tagselected:hover {
    background-color: #ff8e8e;
    background-image: none;
    text-decoration: none;
}

.catselected {
	background-color: #ff3939;
	display: table;
	border: 1px solid #ff3939;
	border-radius: 0.9em;
}
.tagselected .catselected{
	border: 1px solid #ffffff;
}
.catunselected {
	background-color: #ffffff;
	display: table;
	border: 1px solid #ff3939;
	border-radius: 0.9em;
}
.catunselected:hover {
    background-color: #ff8e8e;
    background-image: none;
    text-decoration: none;
}
.catselected:hover {
    background-color: #ff8e8e;
    background-image: none;
    text-decoration: none;
}

.linkred a{
    display: block;
    background-image: none ;
    padding-right: 0px ;
    text-decoration: none ;
    background: transparent ;
    color: #ff3939 ;
}

.linkwhite a{
    display: block;
    background-image: none ;
    padding-right: 0px ;
    text-decoration: none ;
    background: transparent ;
    color: #ffffff ;
}

/* +++++ 13. CHECKBOX+++++ */

.checklinkred a{
    display: block;
    background-image: none ;
    padding-right: 0px ;
    text-decoration: none ;
    background: transparent ;
    color: transparent ;
}


.checklinkwhite a{
    display: block;
    background-image: none ;
    padding-right: 0px ;
    text-decoration: none ;
    background: transparent ;
    color: transparent ;
}



.checktagselected {
	background-color: #ff3939;
	display: inline-block;
	border: 0.1em solid #ff3939;
	margin-right: 1em;
	margin-left: 1em;
	border-radius: 0.9em;
	width: 1.2em;
	height: 1.2em;
	line-height: 1;
	font-size: 0.7em;
	border-collapse: collapse;
}

.checktagunselected {
	background-color: #ffffff;
	display: inline-block;
	border: 0.1em solid #ff3939;
	margin-right: 1em;
	margin-left: 1em;
	border-radius: 0.9em;
	width: 1.2em;
	height: 1.2em;
	line-height: 1;
	font-size: 0.7em;
	border-collapse: collapse;
	
}
.checktagunselected:hover {
    background-color: #ff8e8e;
    background-image: none;
    text-decoration: none;
}
.checktagselected:hover {
    background-color: #ff8e8e;
    background-image: none;
    text-decoration: none;
}

/* +++++ 14. Pride+++++ */

/*.mw-wiki-logo{
    background-image: url(https://cdn.discordapp.com/attachments/423846571881398272/849626746089242694/Header_Logo_Regenbogen.png)
}*/

/* +++++ 15. BeautyBox +++++ */
.beautyBox {
    color: #2a2a2a;
    background-color: #e3e2db;
    padding: 1em;
    font-family: 'Sitka Text Italic';
    display: block;
    margin-top: 1em;
    margin-bottom: 1em;
}

.beautyBox p{
    margin:0;
}

/* +++++ 16. Diverse Fixes +++++ */

a.image:hover { background: transparent; }