diff --git a/templates/55/ad-hominem/README.md b/templates/55/ad-hominem/README.md
index dcf2f64..aa06770 100644
--- a/templates/55/ad-hominem/README.md
+++ b/templates/55/ad-hominem/README.md
@@ -1,6 +1,6 @@
 # DokuWiki Template Ad-Hominem
 
-A clean and lightweight HTML5 template for DokuWiki.
+A clean and lightweight HTML5 template for [DokuWiki](https://github.com/dokuwiki/dokuwiki).
 
 ## Features
 
diff --git a/templates/55/ad-hominem/css/_admin.less b/templates/55/ad-hominem/css/_admin.less
index 8971e1b..0f7f830 100644
--- a/templates/55/ad-hominem/css/_admin.less
+++ b/templates/55/ad-hominem/css/_admin.less
@@ -1,99 +1,155 @@
-.dokuwiki div.ui-admin {
+
+/* indicate special modes by using a different background and border */
+body.mode_admin {
+	main {
+		& {
+			background-color: @ini_background_alt;
+			border: @ini_text_alt solid 2px;
+			color: @ini_text_alt;
+		}
+		#toc {
+			background-color: @ini_background_alt;
+		}
+		#navYouAreHere {
+			background-color: @ini_background;
+			padding: .25em .25em 0 .25em;
+			border-radius: .25em;
+			border: @ini_text_alt solid 2px;
+		}
+		table th {
+			background-color: @ini_background_neu;
+		}
+	}
+	div.ui-admin {
 	
-	& {
-		display: grid;
-		grid-template-columns: 1fr 1fr;
+		& {
+			display: grid;
+			grid-template-columns: 1fr 1fr;
+		}
+		
+		h1.first-child,
+		div.level1	{
+			grid-column: 1 / span 2;
+			margin-bottom: 1em;
+		}
+
+		/* main task grouped in two columns */
+		ul.admin_tasks {
+			grid-column: 2;
+			list-style-type: none;
+			font-size: 1.125em;
+			margin: 0;
+		}
+		ul.admin_tasks:first-of-type {
+			grid-row: 3 / span 4;
+			grid-column: 1;
+		}
+		ul.admin_plugins {
+			grid-row: 6;
+			grid-column: 2;
+		}	
+
+		/* general menu item styling */
+		ul {
+			padding: 0;
+			li {
+				margin: 0 0 1em 0;
+				font-weight: bold;
+				list-style-type: none;
+				white-space: nowrap;
+
+				a {
+					display: flex;
+					span {
+						display: inline-block;
+
+						&.icon {
+							width: 1.5em;
+							min-height: 1.5em;
+							margin: 0 0.5em;
+							vertical-align: top;
+
+							svg {
+								width: 1.5em;
+								height: 1.5em;
+								fill: @ini_link;
+								display: inline-block;
+								path {
+									fill: @ini_link;
+								}
+							}
+						}
+
+						&.prompt {
+							white-space: normal;
+						}
+					}
+				}
+			}
+		}
+
+		/* Security Warning */
+		#security__check {
+			clear: both;
+			grid-row: 7;
+			grid-column: 1 / span 2;
+		}
+
+		/* DokuWiki version */
+		#admin__version {
+			display: block;
+			box-sizing: border-box;
+			width: 100%;
+			max-height: 7em;
+			overflow: auto;
+			color: @ini_text_neu;
+			background: @ini_background_neu url('images/info.svg') .25em .5em no-repeat;
+			background-size: 1em;
+			padding: .25em 0 .25em 1.75em;
+			border: @ini_border 1px solid;
+			border-radius: .25em;
+			box-shadow: inset .5pt .5pt 1pt #0008;
+			grid-row: 9;
+			grid-column: 1 / span 2;
+		}
 	}
 	
-	h1.first-child,
-	div.level1	{
-		grid-column: 1 / span 2;
-		margin-bottom: 1em;
-	}
-
-    /* main task grouped in two columns */
-    ul.admin_tasks {
-		grid-column: 2;
-		list-style-type: none;
-		font-size: 1.125em;
-		margin: 0;
-    }
-    ul.admin_tasks:first-of-type {
-		grid-row: 3 / span 4;
-		grid-column: 1;
-	}
-	ul.admin_plugins {
-		grid-row: 6;
-		grid-column: 2;
-	}	
-
-    /* general menu item styling */
-    ul {
-        padding: 0;
-        li {
-            margin: 0 0 1em 0;
-            font-weight: bold;
-            list-style-type: none;
-            white-space: nowrap;
-
-            a {
-                display: flex;
-                span {
-                    display: inline-block;
-
-                    &.icon {
-                        width: 1.5em;
-                        min-height: 1.5em;
-                        margin: 0 0.5em;
-                        vertical-align: top;
-
-                        svg {
-                            width: 1.5em;
-                            height: 1.5em;
-                            fill: @ini_link;
-                            display: inline-block;
-                            path {
-                                fill: @ini_link;
-                            }
-                        }
-                    }
-
-                    &.prompt {
-                        white-space: normal;
-                    }
-                }
-            }
-        }
-    }
-
-	/* Security Warning */
-	#security__check {
-		clear: both;
-		grid-row: 7;
-		grid-column: 1 / span 2;
-	}
-
-    /* DokuWiki version */
-    #admin__version {
-		display: block;
-		box-sizing: border-box;
-		width: 100%;
-		max-height: 7em;
-		overflow: auto;
-        color: @ini_text_neu;
-		background: @ini_background_alt url('images/info.svg') .25em .5em no-repeat;
-		background-size: 1em;
-		padding: .25em 0 .25em 1.75em;
-		border: @ini_border 1px solid;
-		border-radius: .25em;
-		box-shadow: inset .5pt .5pt 1pt #0008;
-		grid-row: 9;
-		grid-column: 1 / span 2;
+	/* user manager: */
+	#user__manager {
+		button {
+			& {
+				background-color: @ini_background;
+				border: @ini_text solid 1px;
+				border-radius: .25em;
+				padding: .25em .5em;
+				cursor: pointer;
+			}
+			&#usrmgr__del {
+				background-color: #fcd;
+				color: @ini_text;
+			}
+			&[name="fn[add]"] {
+				background-color: #cdf;
+				color: @ini_text;
+			}
+			&[name="fn[start]"] {
+				border-radius: .5em 0 0 .5em;
+			}
+			&[name="fn[prev]"],
+			&[name="fn[next]"] {
+				border-radius: 0;
+				border-left-width: 0;
+			}
+			&[name="fn[last]"] {
+				border-radius: 0 .5em .5em 0;
+				border-left-width: 0;
+			}
+		}
 	}
 }
 
 /* style the extension manager items: */
-.dokuwiki #extension__manager {
+body.dokuwiki #extension__manager {
 	form.install { box-sizing: border-box; width: 100%; padding: 1em 2em; background-color: #EEE; }
 	form.install .block { text-align: left; width: 100% }
 	form.install input[name=installurl] {
@@ -123,16 +179,44 @@
 
 /* dark mode overrides */
 @media (prefers-color-scheme: dark) {
-	body.darkmode.dokuwiki #extension__manager form.install { background-color: #39393D; }
-	body.darkmode.dokuwiki #extension__manager form.install button[type=submit] {	
+	body.darkmode.mode_admin {
+		main {
+			& {
+				background-color: @ini_background_alt_dark;
+				border-color: @ini_text_alt_dark;
+				color: @ini_text_alt_dark;
+			}
+			#toc {
+				background-color: @ini_background_alt_dark;
+				border-left: @ini_text_alt_dark solid .5pt;;
+			}
+			#navYouAreHere {
+				background-color: @ini_background_dark;
+				border-color: @ini_text_alt_dark;
+			}
+		}
+	}
+
+	body.darkmode #extension__manager form.install { background-color: #39393D; }
+	body.darkmode #extension__manager form.install button[type=submit] {	
 		color: #CDF;
 		background-color: #346;
 		border-color: #90909B;
 	}
-	body.darkmode.dokuwiki #extension__manager form.install button[type=submit]::before { filter: invert(.9); }
-	body.darkmode.dokuwiki div.ui-admin #admin__version { color: @ini_text_alt_dark; background-color: @ini_background_alt_dark; }
+	body.darkmode #extension__manager form.install button[type=submit]::before { filter: invert(.9); }
+	body.darkmode div.ui-admin #admin__version {
+		color: @ini_text_neu_dark;
+		background-color: @ini_background_neu_dark;
+	}
+	
+	body.darkmode div.ui-admin ul li a span.icon {
+		svg {
+			& { fill: @ini_link_dark; }
+			path { fill: @ini_link_dark; }
+		}
+	}
 }
 /* below tablet size */
 @media (max-width: @ini_tablet_width) {
-	.dokuwiki div.ui-admin { display: block; }
+	body.dokuwiki div.ui-admin { display: block; }
 }
\ No newline at end of file
diff --git a/templates/55/ad-hominem/css/_cookies.css b/templates/55/ad-hominem/css/_cookies.css
index ac5090c..b9c197a 100644
--- a/templates/55/ad-hominem/css/_cookies.css
+++ b/templates/55/ad-hominem/css/_cookies.css
@@ -32,11 +32,12 @@
 	float: left;
 	width: 64px;
 	height: 64px;
-	background: transparent url('images/cookie.svg') no-repeat center;
-	background-size: 64px;
 	margin: 8px 16px 8px 2px;
 }
-
+#cookiebanner .cb_icon svg {
+	width: 100%;
+	height: 100%;
+}
 #cookiebanner .cb_action {
 	margin-top:	6pt;
 	display:	grid;
diff --git a/templates/55/ad-hominem/css/_diff.css b/templates/55/ad-hominem/css/_diff.css
index a494cde..47ab478 100644
--- a/templates/55/ad-hominem/css/_diff.css
+++ b/templates/55/ad-hominem/css/_diff.css
@@ -4,77 +4,77 @@
  */
 
 .mode_diff table.diff {
-    width: 100%;
-    border-width: 0;
+	width: 100%;
+	border-width: 0;
 }
 .mode_diff table.diff th,
 .mode_diff table.diff td {
-    vertical-align: top;
-    padding: 0;
-    border-width: 0;
-    /* no style.ini colours because deleted and added lines have a fixed background colour */
-    background-color: #fff;
-    color: #333;
+	vertical-align: top;
+	padding: 0;
+	border-width: 0;
+	/* no style.ini colours because deleted and added lines have a fixed background colour */
+	background-color: #fff;
+	color: #333;
 }
 
 /* table header */
 .mode_diff table.diff th {
-    border-bottom: 1px solid @ini_border;
-    font-size: 110%;
-    font-weight: normal;
+	border-bottom: 1px solid @ini_border;
+	font-size: 110%;
+	font-weight: normal;
 }
 .mode_diff table.diff th a {
-    font-weight: bold;
+	font-weight: bold;
 }
 .mode_diff table.diff th span.user {
-    font-size: .9em;
+	font-size: .9em;
 }
 .mode_diff table.diff th span.sum {
-    font-size: .9em;
-    font-weight: bold;
+	font-size: .9em;
+	font-weight: bold;
 }
 .mode_diff table.diff th.minor {
-    color: #999;
+	color: #999;
 }
 .mode_diff table.diff_sidebyside th {
-    width: 50%;
+	width: 50%;
 }
 
 /* table body */
 .mode_diff table.diff .diff-lineheader {
-    width: .7em;
-    text-align: right;
+	width: .7em;
+	text-align: right;
 }
 [dir=rtl] .mode_diff table.diff .diff-lineheader {
-    text-align: left;
+	text-align: left;
 }
 .mode_diff table.diff .diff-lineheader,
 .mode_diff table.diff td {
-    font-family: @ini_mono_fonts;
+	font-family: @ini_mono_fonts;
 	background-color:	#F6F8FA;
 }
 .mode_diff table.diff td.diff-blockheader {
-    font-weight: bold;
+	font-weight: bold;
 }
 .mode_diff table.diff .diff-addedline {
-    background-color: #E4FFEE;
-    color: inherit;
+	background-color: #E4FFEE;
+	color: inherit;
 }
 .mode_diff table.diff .diff-deletedline {
-    background-color: #FFEEF0;
-    color: inherit;
+	background-color: #FFEEF0;
+	color: inherit;
 }
 .mode_diff table.diff td.diff-context {
-    background-color: #FFF;
-    color: inherit;
+	background-color: #FFF;
+	color: inherit;
 }
 .mode_diff table.diff td.diff-addedline strong {
-    color:				#23292E;
+	color:				#23292E;
 	background-color:	#A5F2C1;
 	font-weight:		normal;
 }
 .mode_diff table.diff td.diff-deletedline strong {
-    color:				#23292E;
+	color:				#23292E;
 	background-color:	#FFB7BF;
 	font-weight:		normal;
 }
@@ -82,63 +82,63 @@
 /* diff options */
 
 .mode_diff .diffoptions form {
-    float: left;
+	float: left;
 }
 .mode_diff .diffoptions p {
-    float: right;
+	float: right;
 }
 
 /* diff nav */
 
 .mode_diff table.diff_sidebyside td.diffnav {
-    padding-bottom: .7em;
+	padding-bottom: .7em;
 }
 .mode_diff .diffnav a {
-    display: inline-block;
-    vertical-align: middle;
+	display: inline-block;
+	vertical-align: middle;
 }
 .mode_diff .diffnav a span {
-    display: none;
+	display: none;
 }
 
 .mode_diff .diffnav a:hover,
 .mode_diff .diffnav a:active,
 .mode_diff .diffnav a:focus {
-    background-color: @ini_background_alt;
-    text-decoration: none;
+	background-color: @ini_background_alt;
+	text-decoration: none;
 }
 
 .mode_diff .diffnav a:before {
-    display: inline-block;
-    line-height: 1;
-    padding: .2em .4em;
-    border: 1px solid @ini_border;
-    border-radius: 2px;
-    color: @ini_text;
+	display: inline-block;
+	line-height: 1;
+	padding: .2em .4em;
+	border: 1px solid @ini_border;
+	border-radius: 2px;
+	color: @ini_text;
 }
 
 .mode_diff .diffnav a.diffprevrev:before {
-    content: '\25C0'; /* left triangle */
+	content: '\25C0'; /* left triangle */
 }
 .mode_diff .diffnav a.diffnextrev:before,
 .mode_diff .diffnav a.difflastrev:before {
-    content: '\25B6'; /* right triangle */
+	content: '\25B6'; /* right triangle */
 }
 .mode_diff .diffnav a.diffbothprevrev:before {
-    content: '\25C0\25C0';
+	content: '\25C0\25C0';
 }
 .mode_diff .diffnav a.diffbothnextrev:before {
-    content: '\25B6\25B6';
+	content: '\25B6\25B6';
 }
 
 .mode_diff .diffnav select {
-    width: 60%;
-    min-width: 9em;
-    height: 1.5em; /* height is necessary for longer options in Webkit */
+	width: 60%;
+	min-width: 9em;
+	height: 1.5em; /* height is necessary for longer options in Webkit */
 }
 
 .mode_diff .diffnav select option[selected] {
-    font-weight: bold;
+	font-weight: bold;
 }
 
 /* dark mode overrides */
diff --git a/templates/55/ad-hominem/css/_edit.css b/templates/55/ad-hominem/css/_edit.css
index 32889e4..171f7e9 100644
--- a/templates/55/ad-hominem/css/_edit.css
+++ b/templates/55/ad-hominem/css/_edit.css
@@ -10,30 +10,30 @@
 }
 
 .mode_edit div.editBox button {
-	border:				#666 solid 1px;
-	border-radius:		1px;
-	padding:			3pt 6pt;
-	margin:				0 2px;
-	cursor:				pointer;
+	border: #666 solid 1px;
+	border-radius: 1px;
+	padding: 3pt 6pt;
+	margin: 0 2px;
+	cursor: pointer;
 }
 
 .mode_edit div.editButtons button:hover {
 	text-decoration:	underline;
 }
 .mode_edit div.editBox button:focus {
-	outline:			@ini_focus_color solid 2px;
-	background-color:	@ini_background;
+	outline: @ini_focus_color solid 2px;
+	background-color: @ini_background;
 }
 
 /*____________ toolbar ____________*/
 
 .mode_edit .editBox > .toolbar,
 .mode_preview .editBox > .toolbar {
-    display: block;
+	display: block;
 	position: -webkit-sticky;
 	position: sticky;
 	top: 0;
-	background-color:	@ini_background;
+	background-color: fadeout(@ini_background, 20%);
 	padding-bottom: 2px;
 	z-index: 9;
 }
@@ -41,33 +41,32 @@
 
 .mode_edit div.toolbar,
 .mode_preview div.toolbar {
-    display: inline-block;
+	display: inline-block;
 }
 #draft__status {
-    font-size: small;
-    color: @ini_text_alt;
-    background-color: inherit;
+	font-size: small;
+	color: @ini_text_alt;
+	background-color: inherit;
 }
 [dir=rtl] #draft__status {
-    /* float: left; */
+	/* float: left; */
 }
 #tool__bar {
-    float: left;
+	float: left;
 }
 [dir=rtl] #tool__bar {
-    float: right;
-}
-
-/* hide the hard-coded button images */
-#tool__bar button>img {
-	visibility: hidden;
+	float: right;
 }
 
 #tool__bar button {
-	background:	#E9E9ED url('images/editor/default.svg') center no-repeat;
+	background:	@ini_background_alt none center no-repeat;
 	background-size: 20px;
-	padding: 3pt 6pt;
+	padding: 3pt 5pt 1pt 5pt;
 	border:	@ini_border solid 1px;
+	margin-right: 2pt;
+}
+#tool__bar button:hover {
+	background-color: @ini_background_neu;
 }
 #tool__bar button[aria-haspopup=true]:after,
 #tool__bar button:nth-child(10):after,
@@ -83,67 +82,42 @@
 	background-size: 13px;
 }
 
-#tool__bar button[aria-haspopup=true]:after {
-	background-image: url('images/editor/overlay-menu.svg');
-}
-#tool__bar button:nth-child(10):after,
-#tool__bar button:nth-child(15):after {
-	background-image: url('images/editor/overlay-popup.svg');
-}
-
-/* import the new icons */
-#tool__bar button[accesskey="b"] { background-image: url('images/editor/format-bold.svg'); margin-left: 1.5pt; }
-#tool__bar button[accesskey="i"] { background-image: url('images/editor/format-italic.svg'); }
-#tool__bar button[accesskey="u"] { background-image: url('images/editor/format-underline.svg'); }
-#tool__bar button[accesskey="m"] { background-image: url('images/editor/format-monospace.svg'); }
-#tool__bar button[accesskey="d"] { background-image: url('images/editor/format-strikethrough.svg'); }
-#tool__bar button[accesskey="8"] { background-image: url('images/editor/format-header-equal.svg'); margin-left: 4pt; }
-#tool__bar button[accesskey="9"] { background-image: url('images/editor/format-header-decrease.svg'); }
-#tool__bar button[accesskey="0"] { background-image: url('images/editor/format-header-increase.svg'); }
-#tool__bar button:nth-child(9) { background-image: url('images/editor/format-header-menu.svg'); }
-#tool__bar button[accesskey="l"] { background-image: url('images/editor/insert-link.svg');margin-left:4pt; }
-#tool__bar button:nth-child(11) { background-image: url('images/editor/insert-external-link.svg'); }
-#tool__bar button[accesskey="-"] { background-image: url('images/editor/format-list-numbered.svg');  margin-left:4pt;}
-#tool__bar button[accesskey="."] { background-image: url('images/editor/format-list-bulleted.svg'); }
-#tool__bar button:nth-child(14) { background-image: url('images/editor/insert-hr.svg');margin-left:4pt;}
-#tool__bar button:nth-child(15) { background-image: url('images/editor/insert-media.svg');margin-left:4pt; }
-#tool__bar button:nth-child(16) { background-image: url('images/editor/insert-emoticon.svg');margin-left:4pt; }
-#tool__bar button:nth-child(17) { background-image: url('images/editor/insert-symbol.svg'); }
-#tool__bar button[accesskey="y"] { background-image: url('images/editor/insert-signature.svg');margin-left:4pt; }
-
-/* set icons for known plugins: */
-#tool__bar #tbbtn_adhoctagsInline { background-image: url('../../plugins/adhoctags/images/code-tags.svg');margin-left:4pt; }
-#tool__bar #tbbtn_adhoctagsBlocks { background-image: url('../../plugins/adhoctags/images/code-brackets.svg'); }
-
 /* buttons inside of toolbar */
 .mode_edit div.toolbar button.toolbutton {
 	margin:		0;
 }
 /* picker popups (outside of .dokuwiki) */
 div.picker {
-    width: 300px;
-    border: 1px solid #CCC;
-    background-color: #EEE;
-    color: inherit;
+	width: 300px;
+	border: 1px solid #CCC;
+	background-color: #EEE;
+	color: inherit;
 }
 /* picker for headlines */
 div.picker.pk_hl {
-    width: auto;
+	width: auto;
 }
 
 /* buttons inside of picker */
-div.picker button.pickerbutton,
-div.picker button.toolbutton {
-    padding: .1em .35em;
-    border-width: 0;
+body.dokuwiki div.picker {
+	button {
+		&:hover {
+			background-color: @ini_background_neu;
+		}
+		&.pickerbutton,
+		&.toolbutton {
+			padding: .1em .35em;
+			border-width: 0;
+		}
+	}
 }
 
 /*____________ edit textarea ____________*/
 
 .dokuwiki textarea.edit {
-    width: 100%;
+	width: 100%;
 	padding: 1px 0 0 2px;
-    margin-bottom: .5em;
+	margin-bottom: .5em;
 	min-height: 52pt;
 	background-color: #EEE;
 	font-family: 'Source Code Pro',Menlo,Consolas,'Courier New',Courier,monospace;
@@ -175,20 +149,20 @@ div.picker button.toolbutton {
 /*____________ below the textarea ____________*/
 
 .dokuwiki div.editBar {
-    display: grid;
+	display: grid;
 	grid-template-columns: 320px minmax(500px, 1fr) auto;
 	align-items: start;
-    margin-bottom: .5em;
+	margin-bottom: .5em;
 }
 
 /* size and wrap controls */
 #size__ctl {
 	grid-row: 1;
-    grid-column: 3;
+	grid-column: 3;
 	min-width: 64px;
 }
 #size__ctl img {
-    cursor: pointer;
+	cursor: pointer;
 }
 
 /* edit buttons */
@@ -199,8 +173,8 @@ div.picker button.toolbutton {
 	grid-template-columns: 1fr 1fr 1fr;
 }
 [dir=rtl] .dokuwiki .editBar .editButtons {
-    margin-right: 0;
-    margin-left: 1em;
+	margin-right: 0;
+	margin-left: 1em;
 }
 .dokuwiki .editBar .editButtons button {
 	border: #CCC solid 1.5pt;
@@ -242,7 +216,7 @@ div.picker button.toolbutton {
 .dokuwiki .editBar .summary {
 	grid-row: 1;
 	grid-column: 2;
-    display: grid;
+	display: grid;
 	grid-template-columns: 1fr auto;
 	line-height: 1em;
 	padding-top: 2pt;
@@ -259,7 +233,7 @@ div.picker button.toolbutton {
 }
 
 .dokuwiki .editBar .summary label {
-    white-space: nowrap;
+	white-space: nowrap;
 }
 .dokuwiki .editBar .summary label:last-child  {
 	padding: 2pt 0 2pt 4pt;
@@ -271,15 +245,15 @@ div.picker button.toolbutton {
 	padding: 2pt 5pt 0 0;
 }
 .dokuwiki .editBar .summary label span {
-    font-size: small;
+	font-size: small;
 	margin: 0 1pt 0 3pt;
 }
 .dokuwiki .editBar .summary input {
 }
 /* change background colour if summary is missing */
 .dokuwiki .editBar .summary input.missing {
-    color: @ini_text;
-    background-color: #ffcccc;
+	color: @ini_text;
+	background-color: #ffcccc;
 }
 
 /* toolbar popups */
@@ -322,10 +296,10 @@ div.picker button.toolbutton {
 ********************************************************************/
 
 .dokuwiki div.preview {
-    border: dotted #CCC;
-    border-width: .2em 0;
-    padding: 1.4em 0;
-    margin-bottom: 1.4em;
+	border: dotted #CCC;
+	border-width: .2em 0;
+	padding: 1.4em 0;
+	margin-bottom: 1.4em;
 }
 
 /* narrow screen overrides: */
@@ -370,7 +344,7 @@ div.picker button.toolbutton {
 @media (prefers-color-scheme: dark) {
 
 	body.darkmode .editBox > .toolbar {
-		background-color:	@ini_background_dark;
+		background-color: fadeout(@ini_background_dark, 20%);
 	}
 	body.darkmode textarea.edit {
 		background-color:	@ini_background_alt_dark;
@@ -400,7 +374,7 @@ div.picker button.toolbutton {
 	}
 	body.mode_edit.darkmode .editBar .editButtons button::before,
 	body.mode_preview.darkmode .editBar .editButtons button::before {
-		filter: invert(.9); 
+		filter: invert(1) opacity(.67);
 	}
 	body.darkmode .editBar .editButtons button#edbtn__save {
 		background-color: #334466;
@@ -417,13 +391,21 @@ div.picker button.toolbutton {
 
 	body.mode_edit.darkmode #tool__bar button,
 	body.mode_preview.darkmode #tool__bar button {
+		background-color: #8C8C8C;
 		border-color:	@ini_border_dark;
-		filter: invert(.8);
+	}
+	body.mode_edit.darkmode #tool__bar button:hover,
+	body.mode_preview.darkmode #tool__bar button:hover {
+		background-color: @ini_text_dark;
 	}
 	body.mode_edit.darkmode .editBar .editButtons button,
 	body.mode_preview.darkmode .editBar .editButtons button {
 		border-color: @ini_border_dark;
 	}
+	body.mode_edit.darkmode #tool__bar button img,
+	body.mode_preview.darkmode #tool__bar button img {
+		filter: brightness(90%);
+	}
 	
 	body.mode_edit.darkmode .editBar .summary #edit__summary,
 	body.mode_preview.darkmode .editBar .summary #edit__summary {
@@ -432,6 +414,11 @@ div.picker button.toolbutton {
 		color: @ini_text_dark;
 	}
 
+	body.darkmode #draft__status {
+		color: @ini_text_alt_dark;
+	}
+
+
 	body.darkmode div.picker {
 		& {
 			background-color: @ini_background_dark;
@@ -439,8 +426,8 @@ div.picker button.toolbutton {
 		}
 		button {
 			& {
-				color: @ini_text_dark;
-				background-color: @ini_background_alt_dark;
+				color: @ini_text;
+				background-color: #8C8C8C;
 				border-color: @ini_border_dark;
 			}
 			&:hover {
diff --git a/templates/55/ad-hominem/css/_fileuploader.css b/templates/55/ad-hominem/css/_fileuploader.css
index 5b89a37..c829d59 100644
--- a/templates/55/ad-hominem/css/_fileuploader.css
+++ b/templates/55/ad-hominem/css/_fileuploader.css
@@ -4,114 +4,160 @@
  */
 
 .qq-uploader {
-    position: relative;
-    width: 100%;
+	position: relative;
+	width: 100%;
+}
+#mediamanager__page .qq-upload-list li {
+	display: grid;
+	grid-template-columns: 1.25rem auto 1rem;
+	grid-gap: 5px;
+	align-items: center;
+}
+#mediamanager__page .qq-upload-list li::before {
+	content: '\1F5CE';
+	color: @ini_text;
+	font-size: 1.25rem;
+	display: inline-block;
+	width: 1.25rem;
+	height:1.5rem;
+	text-align: right;
+}
+
+#mediamanager__page .qq-upload-list li input[type="text"] {
+	font-family: @ini_mono_fonts;
+	font-size: @ini_alt_font_size;
+	background-color: transparent;
+	border: 1px solid transparent;
+	padding: .25em;
+	border-radius: 1.5pt;
+}
+#mediamanager__page .qq-upload-list li input[type="text"]:focus {
+	border-color: @ini_border;
 }
 
 .qq-uploader .error {
-    color: #f00;
-    background-color: #fff;
+	color: #f00;
+	background-color: #fff;
 }
 
 /* select file button */
 
-.qq-upload-button {
-    display: inline-block;
-    text-decoration: none;
-    font-size: 100%;
-    cursor: pointer;
-    margin: 1px 1px 5px;
-	background-color: #15395B;
+.qq-upload-button,
+#mediamanager__upload_button {
+	display: inline-block;
+	text-decoration: none;
+	font-size: 1rem;
+	cursor: pointer;
+	margin: 1px 1px 5px;
 	padding: 2pt 20pt;
+	border: none 0;
 	color: #FFF;
 	cursor: pointer;
 }
+.qq-upload-button {
+	background-color: #15395B;
+}
 #mediamanager__upload_button {
-	padding: 3pt 6pt;
-	border: #666 solid 1px;
+	background-color: #B71C1C;
+	padding: .4rem 2.5rem;
 }
 
+
 .qq-upload-button-focus {
-    outline: 1px dotted;
+	outline: 1px dotted;
 }
 
 /* drop area */
 
 .qq-upload-drop-area {
-    position: absolute;
-    top: 0;
-    left: 0;
-    width: 100%;
-    height: 100%;
-    min-height: 70px;
-    z-index: 2;
-    background: @ini_background_neu;
-    color: @ini_text;
-    text-align: center;
+	background: @ini_background_neu;
+	color: @ini_text_neu;
+	text-align: center;
 }
 
 .qq-upload-drop-area span {
-    display: block;
-    position: absolute;
-    top: 50%;
-    width: 100%;
-    margin-top: -8px;
-    font-size: 120%;
+	padding: 2em .5em;
 }
 
 .qq-upload-drop-area-active {
-    background: @ini_background_alt;
+	position: fixed;
+	top: 0; left: 0;
+	width: 100vw;
+	height: 100vh;
+	min-height: 70px;
+	background: fadeout(@ini_background_alt, 10%);;
+	z-index: 99;
+}
+.qq-upload-drop-area-active span {
+	display: block;
+	position: absolute;
+	top: 50%;
+	width: 100%;
+	margin-top: -8px;
+	font-size: 120%;
+	color: #15395B;
 }
-
 /* list of files to upload */
 
 div.qq-uploader ul {
-    margin: 0;
-    padding: 0;
-    list-style: none;
+	margin: 0;
+	padding: 0;
+	list-style: none;
 }
 
 .qq-uploader li {
-    margin: 0 0 5px;
-    color: @ini_text;
+	margin: 0 0 5px;
+	color: @ini_text;
 }
 
 .qq-uploader li span,
 .qq-uploader li input,
 .qq-uploader li a {
-    margin-right: 5px;
+	margin-right: 5px;
 }
 
 .qq-upload-file {
-    display: block;
-    font-weight: bold;
+	display: block;
+	font-weight: bold;
 }
 
 .qq-upload-spinner {
-    display: inline-block;
-    background: url("../../images/throbber.gif");
-    width: 15px;
-    height: 15px;
-    vertical-align: text-bottom;
+	display: inline-block;
+	background: url("../../images/throbber.gif");
+	width: 15px;
+	height: 15px;
+	vertical-align: text-bottom;
 }
 
-.qq-upload-size,
-.qq-upload-cancel {
-    font-size: 85%;
+.qq-upload-size {
+	font-size: 85%;
 }
+.qq-upload-cancel {
+	font-size: 1rem;
+	line-height: 1.25;
+	width: 1em; height: 1.5em;
+	overflow: hidden;
+}
+.qq-upload-cancel::before {
+	content: '\1F5D9';
+	display: inline-block;
+	width: 1em;
+	height: 1.5em;
+}
+
 
 .qq-upload-failed-text {
-    display: none;
+	display: none;
 }
 .qq-upload-fail .qq-upload-failed-text {
-    display: inline;
+	display: inline;
 }
 
 .qq-action-container * {
-    vertical-align: middle;
+	vertical-align: middle;
 }
 .qq-overwrite-check input {
-    margin-left: 10px;
+	margin-left: 10px;
 }
 
 /* media tree overrides */
@@ -120,4 +166,39 @@ div.qq-uploader ul {
 }
 #mediamanager__page .ui-resizable-e {
 	background-color: #EEE;
+}
+
+/* dark mode overrides */
+@media (prefers-color-scheme: dark) {
+
+	body.darkmode {
+		.qq-upload-button {
+			background-color: #1976D2;
+		}
+		
+		.qq-upload-drop-area {
+			background: @ini_background_neu_dark;
+			color: @ini_text_neu_dark;
+		}
+
+		.qq-upload-drop-area-active {
+			background: fadeout(@ini_background_alt_dark, 10%);;
+		}
+		.qq-upload-drop-area-active span {
+			color: #1976D2;
+		}
+
+		#mediamanager__page .qq-upload-list {
+			li::before {
+				color: @ini_text_dark;
+			}
+			li input[type="text"] {	
+				color: @ini_text_dark;
+			}
+			li input[type="text"]:focus {
+				border-color: @ini_border_dark;
+			}
+			
+		}
+	}
 }
\ No newline at end of file
diff --git a/templates/55/ad-hominem/css/_footnotes.css b/templates/55/ad-hominem/css/_footnotes.css
index a57dfb9..a1526d5 100644
--- a/templates/55/ad-hominem/css/_footnotes.css
+++ b/templates/55/ad-hominem/css/_footnotes.css
@@ -2,30 +2,98 @@
  * This file provides styles for footnotes.
  */
 
+/* pre-defined custom footnote styles */
+
+@counter-style: ~"@counter-style";
+@{counter-style} super-decimal {
+	system: numeric;
+	symbols: '\2070' '\B9' '\B2' '\B3' '\2074' '\2075' '\2076' '\2077' '\2078' '\2079';
+	/* symbols: '⁰' '¹' '²' '³' '⁴' '⁵' '⁶' '⁷' '⁸' '⁹'; */
+}
+
+/* create a custom counter for the footnotes: */
+body, div.footnotes {
+    counter-reset: footnotes;
+}
+
 /*____________ footnotes inside the text ____________*/
 
 /* link to footnote inside the text */
+
+ /* .dokuwiki sup, .dokuwiki sub {ignore subscript and superscript tags!
+	vertical-align: baseline;
+	font-size: inherit;
+} */
 .dokuwiki sup a.fn_top {
+	
+	& {
+		vertical-align: baseline;
+		font-size: inherit;
+		padding: 0 .5pt;
+		font-size: 0;text-decoration: none;
+	}
+	&::after {
+		content: counter(footnotes, super-decimal);
+		counter-increment: footnotes;
+		font-size: 1.1667rem;
+		font-weight: bold;
+		vertical-align: -.2em;
+	}
 }
+
 /* JSpopup */
 div.insitu-footnote {
-    max-width: 40%;
-    min-width: 5em;
+	max-width: 40%;
+	min-width: 5em;
 }
 
 /*____________ footnotes at the bottom of the page ____________*/
 
 .dokuwiki div.footnotes {
-    border-top: 1px solid @ini_border;
-    padding: .5em 0 0 0;
-    margin: 1em 0 0 0;
-    clear: both;
+	& {
+		border-top: 1px solid @ini_border;
+		padding: .5em 0 0 0;
+		margin: 1em 0 0 0;
+		clear: both;
+	}
+	> .fn {
+		& {
+			margin: 0 0 0 2.5rem !important;
+			white-space-collapse: discard;
+			text-indent: ~"calc(-2.5rem - .3em)"; /* compensate for the whitespace character! */
+		}
+		sup { /* ignore superscript tags! */
+			vertical-align: baseline;
+			font-size: 1em;
+		}
+		.fn_bot {
+			& {
+				display: inline-block;
+				text-align: right;
+				margin: 0 .5rem 0 0;
+				width: 2rem; height: .972rem;
+				font-variant-numeric: oldstyle-nums;
+				font-size: 0;
+			}
+			&::after {
+				content: counter(footnotes, decimal) '.';
+				counter-increment: footnotes;
+				font-variant-numeric: oldstyle-nums;
+				display: inline-block;
+				font-size: .972rem;
+				width: 2rem;
+			}
+		}
+		& > .content {
+			display: inline;
+		}
+	}
 }
-.dokuwiki div.footnotes div.fn {
-}
-.dokuwiki div.footnotes div.fn div.content {
-    display: inline;
-}
-.dokuwiki div.footnotes div.fn sup a.fn_bot {
-    font-weight: bold;
+
+[dir=rtl] .dokuwiki div.footnotes > .fn {
+    margin: 0 2.5em 0 0;
 }
+[dir=rtl] .dokuwiki div.footnotes > .fn .fn_bot {
+	text-align: left;
+	margin: 0 0 0 .5em;
+}
\ No newline at end of file
diff --git a/templates/55/ad-hominem/css/_forms.css b/templates/55/ad-hominem/css/_forms.css
index c3fcdfc..6582738 100644
--- a/templates/55/ad-hominem/css/_forms.css
+++ b/templates/55/ad-hominem/css/_forms.css
@@ -3,11 +3,11 @@
 /**
  * This file provides styles for forms in general and specifically
  * for ?do=
- *   - login
- *   - resendpwd
- *   - register
- *   - profile
- *   - subscribe
+ * - login
+ * - resendpwd
+ * - register
+ * - profile
+ * - subscribe
  */
 
 /* ---------------- forms ------------------------ */
@@ -23,7 +23,7 @@
   font-weight: bold;
 }
 [dir=rtl] .dokuwiki label.block {
-    text-align: left;
+	text-align: left;
 }
 
 .dokuwiki label.simple {
@@ -32,7 +32,7 @@
   font-weight: normal;
 }
 [dir=rtl] .dokuwiki label.simple {
-    text-align: right;
+	text-align: right;
 }
 
 .dokuwiki label.block select,
@@ -41,7 +41,7 @@
 }
 
 .dokuwiki label span {
-    vertical-align: middle;
+	vertical-align: middle;
 }
 
 .dokuwiki fieldset {
@@ -62,7 +62,7 @@
 }
 
 .dokuwiki button {
-    vertical-align: middle;
+	vertical-align: middle;
 }
 .dokuwiki input:focus,
 .dokuwiki select:focus,
@@ -76,7 +76,7 @@
 #dw__resendpwd fieldset,
 #dw__register fieldset {
 	max-width: calc(100% - 1em);
-    padding-bottom: 0.7em;
+	padding-bottom: 0.7em;
 }
 
 #dw__login fieldset label.block,
@@ -86,12 +86,12 @@
 	max-width: 320px;
 }
 #dw__login label[for="remember__me"] {
-    margin: 0 10% 1.4em;
+	margin: 0 10% 1.4em;
 }
 
 #dw__profiledelete {
-    display: block;
-    margin-top: 2.8em;
+	display: block;
+	margin-top: 2.8em;
 }
 
 /**
@@ -99,20 +99,20 @@
  */
 
 #subscribe__form {
-    display: block;
-    width: 400px;
-    text-align: center;
+	display: block;
+	width: 400px;
+	text-align: center;
 }
 
 #subscribe__form fieldset {
-    text-align: left;
-    margin: 0.5em 0;
+	text-align: left;
+	margin: 0.5em 0;
 }
 [dir=rtl] #subscribe__form fieldset {
-    text-align: right;
+	text-align: right;
 }
 
 #subscribe__form label {
-    display: block;
-    margin: 0 0.5em 0.5em;
+	display: block;
+	margin: 0 0.5em 0.5em;
 }
diff --git a/templates/55/ad-hominem/css/_imgdetail.css b/templates/55/ad-hominem/css/_imgdetail.css
index a074000..50a350b 100644
--- a/templates/55/ad-hominem/css/_imgdetail.css
+++ b/templates/55/ad-hominem/css/_imgdetail.css
@@ -3,25 +3,25 @@
  */
 
 #dokuwiki__detail {
-    padding: 1em;
+	padding: 1em;
 }
 #dokuwiki__detail h1 {
 }
 
 #dokuwiki__detail img {
-    float: left;
-    margin: 0 1.5em .5em 0;
+	float: left;
+	margin: 0 1.5em .5em 0;
 }
 [dir=rtl] #dokuwiki__detail div.content img {
-    float: right;
-    margin-right: 0;
-    margin-left: 1.5em;
+	float: right;
+	margin-right: 0;
+	margin-left: 1.5em;
 }
 #dokuwiki__detail div.img_detail {
-    float: left;
+	float: left;
 }
 [dir=rtl] #dokuwiki__detail div.content div.img_detail {
-    float: right
+	float: right
 }
 
 #dokuwiki__detail div.img_detail h2 {
@@ -34,5 +34,5 @@
 }
 
 #dokuwiki__detail p.back {
-    clear: both;
+	clear: both;
 }
diff --git a/templates/55/ad-hominem/css/_languages.less b/templates/55/ad-hominem/css/_languages.less
index 651c237..8b6e78b 100644
--- a/templates/55/ad-hominem/css/_languages.less
+++ b/templates/55/ad-hominem/css/_languages.less
@@ -163,7 +163,7 @@
 			ul li a {
 				&::before { border-color: @ini_text_dark; color: @ini_text_dark; }
 				&.wikilink1 { color: @ini_link_dark; }
-				&.wikilink2 bdi { color: @ini_missing_dark; }
+				&.wikilink2 bdi { color: @ini_link_dark; }
 			}
 		}
 
diff --git a/templates/55/ad-hominem/css/_links.css b/templates/55/ad-hominem/css/_links.css
index f9ee5de..c2c5c52 100644
--- a/templates/55/ad-hominem/css/_links.css
+++ b/templates/55/ad-hominem/css/_links.css
@@ -9,26 +9,26 @@ a.wikilink1 {
 }
 /* not existing wikipage */
 a.wikilink2 {
-    text-decoration: none;
+	text-decoration: none;
 }
 a.wikilink2:link,
 a.wikilink2:visited {
-    border-bottom: 1px dashed;
+	border-bottom: 1px dashed;
 }
 a.wikilink2:hover,
 a.wikilink2:active,
 a.wikilink2:focus {
-    border-bottom-width: 0;
+	border-bottom-width: 0;
 }
 
 /* any link to current page */
 span.curid a {
-    font-weight: bold;
+	font-weight: bold;
 }
 
 /* Wikipedia Links */
 a.iw_wp, a.iw_wpfr, a.iw_wpde, a.iw_wpes, a.iw_wppl, a.iw_wpjp, a.iw_wpmeta {
-  background-image: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0nMTAwJTI1JyBoZWlnaHQ9JzEwMCUyNScgdmlld0JveD0nMCAwIDUxMiA1MTInIHZlcnNpb249JzEuMScgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJz48Y2lyY2xlIGN4PScyNTYnIGN5PScyNTYnIHI9JzI1MCcgc3R5bGU9J2ZpbGw6I2ViZWJlYjtzdHJva2U6IzMzMztzdHJva2Utd2lkdGg6MTBweDsnLz48cGF0aCBkPSdNNjUsMTUybDAsOGMwLDIgMSwzIDQsM2MyMCwxIDIwLDUgMjgsMjNsOTAsMTk2YzcsMTQgMTYsMTYgMjUsLTFsNDUsLTg4bDQyLDg4YzgsMTUgMTYsMTYgMjQsMGw4NiwtMTk0YzgsLTE3IDE5LC0yNCAzNiwtMjRjMiwwIDIsLTEgMiwtM2wwLC04bC04MCwwbC0xLDFsMCw3YzAsMiAyLDMgNCwzYzEwLDAgMjksMiAyMSwxOWwtNzAsMTY2bC0zLC0xbC00MywtODhsMzcsLTcyYzgsLTE1IDEwLC0yNCAyNSwtMjRjMiwwIDQsLTEgNCwtM2wwLC03bC0xLC0xbC02NCwwbC0xLDFsMCw3YzAsMyA0LDMgNywzYzE4LDEgMTYsOCAxMCwxOWwtMjcsNTZsLTI1LC01MmMtOSwtMTYgLTExLC0yMSAyLC0yMmMzLC0xIDgsLTEgOCwtNGwwLC03bC0xLC0xbC02OSwwbC0xLDFsMCw4YzAsMiAyLDIgNSwyYzEyLDIgMTIsMyAyMywyNmw0MCw4NGwtMzcsNzVsLTMsLTFsLTc2LC0xNjdjLTgsLTE3IDIsLTE2IDE4LC0xN2MzLDAgMywtMSAzLC0zbDAsLTdsLTEsLTFsLTg2LDBaJyBzdHlsZT0nZmlsbDojMzMzOycvPjwvc3ZnPg==");
+	background-image: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0nMTAwJTI1JyBoZWlnaHQ9JzEwMCUyNScgdmlld0JveD0nMCAwIDUxMiA1MTInIHZlcnNpb249JzEuMScgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJz48Y2lyY2xlIGN4PScyNTYnIGN5PScyNTYnIHI9JzI1MCcgc3R5bGU9J2ZpbGw6I2ViZWJlYjtzdHJva2U6IzMzMztzdHJva2Utd2lkdGg6MTBweDsnLz48cGF0aCBkPSdNNjUsMTUybDAsOGMwLDIgMSwzIDQsM2MyMCwxIDIwLDUgMjgsMjNsOTAsMTk2YzcsMTQgMTYsMTYgMjUsLTFsNDUsLTg4bDQyLDg4YzgsMTUgMTYsMTYgMjQsMGw4NiwtMTk0YzgsLTE3IDE5LC0yNCAzNiwtMjRjMiwwIDIsLTEgMiwtM2wwLC04bC04MCwwbC0xLDFsMCw3YzAsMiAyLDMgNCwzYzEwLDAgMjksMiAyMSwxOWwtNzAsMTY2bC0zLC0xbC00MywtODhsMzcsLTcyYzgsLTE1IDEwLC0yNCAyNSwtMjRjMiwwIDQsLTEgNCwtM2wwLC03bC0xLC0xbC02NCwwbC0xLDFsMCw3YzAsMyA0LDMgNywzYzE4LDEgMTYsOCAxMCwxOWwtMjcsNTZsLTI1LC01MmMtOSwtMTYgLTExLC0yMSAyLC0yMmMzLC0xIDgsLTEgOCwtNGwwLC03bC0xLC0xbC02OSwwbC0xLDFsMCw4YzAsMiAyLDIgNSwyYzEyLDIgMTIsMyAyMywyNmw0MCw4NGwtMzcsNzVsLTMsLTFsLTc2LC0xNjdjLTgsLTE3IDIsLTE2IDE4LC0xN2MzLDAgMywtMSAzLC0zbDAsLTdsLTEsLTFsLTg2LDBaJyBzdHlsZT0nZmlsbDojMzMzOycvPjwvc3ZnPg==");
 }
 
 a.iw_google_de {
@@ -46,22 +46,22 @@ a.windows,
 a.mail,
 a.mediafile,
 a.interwiki {
-    background-repeat: no-repeat;
-    background-position: 0 center;
+	background-repeat: no-repeat;
+	background-position: 0 center;
 	background-size: 1.1em;
-    padding: 0 0 0 1.25em;
+	padding: 0 0 0 1.25em;
 }
 /* external link */
 a.urlextern {
-    background-image: url(../../images/external-link.png);
+	background-image: url(../../images/external-link.png);
 }
 /* windows share */
 a.windows {
-    background-image: url(../../images/unc.png);
+	background-image: url(../../images/unc.png);
 }
 /* email link */
 a.mail {
-    background-image: url(../../images/email.png);
+	background-image: url(../../images/email.png);
 }
 
 /* icons of the following are set by dokuwiki in lib/exe/css.php */
@@ -78,8 +78,8 @@ a.interwiki {
 [dir=rtl] a.mail,
 [dir=rtl] a.interwiki,
 [dir=rtl] a.mediafile {
-    background-position: right center;
-    padding: 0 18px 0 0;
+	background-position: right center;
+	padding: 0 18px 0 0;
 }
 
 
@@ -89,5 +89,4 @@ a.interwiki {
 	body.darkmode a.iw_wp, body.darkmode a.iw_wpfr, body.darkmode a.iw_wpde, body.darkmode a.iw_wpes, body.darkmode a.iw_wppl, body.darkmode a.iw_wpjp, body.darkmode a.iw_wpmeta {
 		background-image: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0nMTAwJScgaGVpZ2h0PScxMDAlJyB2aWV3Qm94PScwIDAgNTEyIDUxMicgdmVyc2lvbj0nMS4xJyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnPjxjaXJjbGUgY3g9JzI1NicgY3k9JzI1Nicgcj0nMjUwJyBzdHlsZT0nZmlsbDojMzMzO3N0cm9rZTojZWJlYmViO3N0cm9rZS13aWR0aDoxMHB4OycvPjxwYXRoIGQ9J002NSwxNTJsMCw4YzAsMiAxLDMgNCwzYzIwLDEgMjAsNSAyOCwyM2w5MCwxOTZjNywxNCAxNiwxNiAyNSwtMWw0NSwtODhsNDIsODhjOCwxNSAxNiwxNiAyNCwwbDg2LC0xOTRjOCwtMTcgMTksLTI0IDM2LC0yNGMyLDAgMiwtMSAyLC0zbDAsLThsLTgwLDBsLTEsMWwwLDdjMCwyIDIsMyA0LDNjMTAsMCAyOSwyIDIxLDE5bC03MCwxNjZsLTMsLTFsLTQzLC04OGwzNywtNzJjOCwtMTUgMTAsLTI0IDI1LC0yNGMyLDAgNCwtMSA0LC0zbDAsLTdsLTEsLTFsLTY0LDBsLTEsMWwwLDdjMCwzIDQsMyA3LDNjMTgsMSAxNiw4IDEwLDE5bC0yNyw1NmwtMjUsLTUyYy05LC0xNiAtMTEsLTIxIDIsLTIyYzMsLTEgOCwtMSA4LC00bDAsLTdsLTEsLTFsLTY5LDBsLTEsMWwwLDhjMCwyIDIsMiA1LDJjMTIsMiAxMiwzIDIzLDI2bDQwLDg0bC0zNyw3NWwtMywtMWwtNzYsLTE2N2MtOCwtMTcgMiwtMTYgMTgsLTE3YzMsMCAzLC0xIDMsLTNsMCwtN2wtMSwtMWwtODYsMFonIHN0eWxlPSdmaWxsOiNlYmViZWI7Jy8+PC9zdmc+");
 	}
-
 }
\ No newline at end of file
diff --git a/templates/55/ad-hominem/css/_media_fullscreen.css b/templates/55/ad-hominem/css/_media_fullscreen.css
index dd703a2..78809cb 100644
--- a/templates/55/ad-hominem/css/_media_fullscreen.css
+++ b/templates/55/ad-hominem/css/_media_fullscreen.css
@@ -10,161 +10,170 @@
 /*____________ structure ____________*/
 
 #mediamanager__page h1 {
-    margin-bottom: .5em;
+	margin-bottom: .5em;
 }
 
 #mediamanager__page {
-    /* min-width must be summary of all 3 panels' min-widths */
-    min-width: 50em; /* @change */
-    width: 100%;
-    text-align: left;
+	/* min-width must be summary of all 3 panels' min-widths */
+	min-width: 50em; /* @change */
+	width: 100%;
+	text-align: left;
 }
 [dir=rtl] #mediamanager__page {
-    text-align: right;
+	text-align: right;
 }
 #mediamanager__page .panel {
-    float: left;
+	float: left;
 }
 [dir=rtl] #mediamanager__page .panel {
-    float: right;
+	float: right;
 }
 
 #mediamanager__page .namespaces {
-    width: 20%;
-    min-width: 10em; /* @change */
-    left:0 !important; /* overrules jQuery UI resizable in rtl */
+	width: 20%;
+	min-width: 10em; /* @change */
+	left:0 !important; /* overrules jQuery UI resizable in rtl */
 }
 #mediamanager__page .filelist {
-    width: 50%;
-    min-width: 25em; /* @change */
-    left:0 !important; /* overrules jQuery UI resizable in rtl */
+	width: 50%;
+	min-width: 25em; /* @change */
+	left:0 !important; /* overrules jQuery UI resizable in rtl */
 }
 #mediamanager__page .file {
-    width: 30%;
-    min-width: 15em; /* @change */
+	width: 30%;
+	min-width: 15em; /* @change */
 }
 
 #mediamanager__page .tabs li {
-    white-space: nowrap;
+	white-space: nowrap;
 }
 
 #mediamanager__page .panelHeader {
-    background-color: @ini_background_alt;
-    margin: 0 10px 10px 0;
-    padding: 10px 10px 8px;
-    text-align: left;
-    min-height: 20px;
-    overflow: hidden;
+	background-color: @ini_background_alt;
+	margin: 0 10px 10px 0;
+	padding: 10px 10px 8px;
+	text-align: left;
+	min-height: 20px;
+	overflow: hidden; 
+	text-overflow: ellipsis;
+	white-space: nowrap;
 }
 [dir=rtl] #mediamanager__page .panelHeader {
-    text-align: right;
-    margin: 0 0 10px 10px;
+	text-align: right;
+	margin: 0 0 10px 10px;
 }
 #mediamanager__page .panelContent {
-    overflow-y: auto;
-    overflow-x: hidden;
-    padding: 3px 0 0 0;
-    margin: 0 10px 10px 0;
-    position: relative;
+	overflow-y: auto;
+	overflow-x: hidden;
+	padding: 3px 0 0 0;
+	margin: 0 10px 10px 0;
+	position: relative;
 }
 [dir=rtl] #mediamanager__page .panelContent {
-    text-align: right;
-    margin: 0 0 10px 10px;
+	text-align: right;
+	margin: 0 0 10px 10px;
 }
 
 #mediamanager__page .file .panelHeader,
 #mediamanager__page .file .panelContent {
-    margin-right: 0;
+	margin-right: 0;
 }
 [dir=rtl] #mediamanager__page .file .panelHeader,
 [dir=rtl] #mediamanager__page .file .panelContent {
-    margin-left: 0;
+	margin-left: 0;
 }
 
-#mediamanager__page .ui-resizable-e,
-[dir=rtl] #mediamanager__page .ui-resizable-w {
-    width: 6px;
-    right: 2px;
-    background: transparent url(../../images/resizecol.png) center center no-repeat;
+#mediamanager__page .ui-resizable-handle.ui-resizable-e,
+[dir=rtl] #mediamanager__page .ui-resizable-handle.ui-resizable-w {
+	width: 6px;
+	right: 2px;
+	background: @ini_background_neu url(../../images/resizecol.png) center center no-repeat;
 }
 #mediamanager__page .ui-resizable-e:hover,
 [dir=rtl] #mediamanager__page .ui-resizable-w:hover {
-    background-color: @ini_background_alt;
+	background-color: @ini_background;
 }
 
 #mediamanager__page dd {
-    margin: 0;
+	margin: 0;
 }
 
 #mediamanager__page .panelHeader h3 {
-    float: left;
-    font-weight: normal;
-    font-size: 1em;
-    padding: 0;
-    margin: 0 0 3px;
+	float: left;
+	font-weight: normal;
+	font-size: 1em;
+	padding: 0;
+	margin: 0 0 3px;
 }
 [dir=rtl] #mediamanager__page .panelHeader h3 {
-    float : right
+	float : right
 }
 
 
 /*____________ namespaces panel ____________*/
 
 [dir=rtl] #mediamanager__page .namespaces {
-    text-align: right;
+	text-align: right;
 }
 
 /* make it look like a tab (as in _tabs.css) */
 #mediamanager__page .namespaces h2 {
-    font-size: 1em;
-    display: inline-block;
-    padding: .3em .8em;
-    margin: 0 0 0 .3em;
-    border-radius: .5em .5em 0 0;
-    font-weight: normal;
-    background-color: @ini_background_alt;
-    color: @ini_text;
-    border: 1px solid @ini_border;
-    border-bottom-color: @ini_background_alt;
-    line-height: 1.4em;
-    position: relative;
-    bottom: -1px;
-    z-index: 2;
+	font-size: 1em;
+	display: inline-block;
+	padding: .3em .8em;
+	margin: 0 0 0 .3em;
+	border-radius: .5em .5em 0 0;
+	font-weight: normal;
+	background-color: @ini_background_alt;
+	color: @ini_text;
+	border: 1px solid @ini_border;
+	border-bottom-color: @ini_background_alt;
+	line-height: 1.4em;
+	position: relative;
+	bottom: -1px;
+	z-index: 2;
 }
 [dir=rtl] #mediamanager__page .namespaces h2 {
-    margin: 0 .3em 0 0;
-    position: relative;
-    right: 10px;
+	margin: 0 .3em 0 0;
+	position: relative;
+	right: 10px;
 }
 #mediamanager__page .namespaces .panelHeader {
-    border-top: 1px solid @ini_border;
-    z-index: 1;
+	border-top: 1px solid @ini_border;
+	z-index: 1;
 }
 
 #mediamanager__page .namespaces ul {
-    margin-left: .2em;
-    margin-bottom: 0;
-    padding: 0;
-    list-style: none;
+	margin: 0 2px 0 0;
+	padding: 0;
+	list-style: none;
 }
 [dir=rtl] #mediamanager__page .namespaces ul {
-    margin-left: 0;
-    margin-right: .2em;
+	margin: 0 0 0 2px;
 }
 #mediamanager__page .namespaces ul ul {
-    margin-left: 1em;
+	margin-left: 1em;
 }
 [dir=rtl] #mediamanager__page .namespaces ul ul {
-    margin-left: 0;
-    margin-right: 1em;
+	margin-left: 0;
+	margin-right: 1em;
 }
 #mediamanager__page .namespaces ul ul li {
-    margin: 0;
+	margin: 0;
+}
+#mediamanager__page .namespaces ul a {
+	display: block;
+	overflow: hidden; 
+	text-overflow: ellipsis;
+	white-space: nowrap;
+}
+#mediamanager__page .namespaces ul li::before {
+	content: none !important;
 }
 
 #mediamanager__page .namespaces ul .selected {
-    background-color: __highlight__;
-    font-weight: bold;
+	background-color: __highlight__;
+	font-weight: bold;
 }
 
 
@@ -173,387 +182,404 @@
 /* file list header */
 
 #mediamanager__page .panelHeader form.options {
-    float: right;
-    margin-top: -3px;
+	float: right;
+	margin-top: .25rem;
 }
 [dir=rtl] #mediamanager__page .panelHeader form.options {
-    float : left
+	float : left
 }
 #mediamanager__page .panelHeader ul {
-    list-style: none;
-    margin: 0;
-    padding: 0;
+	list-style: none;
+	margin: 0;
+	padding: 0;
 }
 #mediamanager__page .panelHeader ul li {
-    color: @ini_text;
-    float: left;
-    line-height: 1;
-    padding-left: 3px;
+	color: @ini_text;
+	float: left;
+	line-height: 1;
+	padding-left: 3px;
 }
 [dir=rtl] #mediamanager__page .panelHeader ul li {
-    padding-right: 3px;
-    padding-left: 0;
-    float: right;
+	padding-right: 3px;
+	padding-left: 0;
+	float: right;
 }
 
 #mediamanager__page .panelHeader ul li.ui-controlgroup-horizontal {
-    padding-left: 2px;
-    margin: 0 0 0 5px;
+	padding-left: 2px;
+	margin: 0 0 0 5px;
 }
 /* #mediamanager__page .panelHeader ul li.listType {
-    background: url('../../images/icon-list.png') 3px 1px no-repeat;
+	background: url('../../images/icon-list.png') 3px 1px no-repeat;
 }
 #mediamanager__page .panelHeader ul li.sortBy {
-    background: url('../../images/icon-sort.png') 3px 1px no-repeat;
+	background: url('../../images/icon-sort.png') 3px 1px no-repeat;
 } */
 [dir=rtl] #mediamanager__page .panelHeader ul li.ui-controlgroup-horizontal {
-    padding-left: 0;
-    padding-right: 2px;
-    margin: 0 5px 0 0;
-    background-position: right 1px;
+	padding-left: 0;
+	padding-right: 2px;
+	margin: 0 5px 0 0;
+	background-position: right 1px;
 }
 
 #mediamanager__page .panelHeader form.options .ui-controlgroup-horizontal label{
-    font-size: 90%;
-    margin-right: -0.4em;
-    padding: .3em .5em;
-    line-height: 1;
+	font-size: 90%;
+	margin-right: -0.4em;
+	padding: .3em .5em;
+	line-height: 1;
 }
 
 /* file list content */
 
 #mediamanager__page .filelist ul {
-    padding: 0;
-    margin: 0 10px 0 0;
+	padding: 0;
+	margin: 0 10px 0 0;
 }
 [dir=rtl] #mediamanager__page .filelist ul {
-    margin: 0 0 0 10px;
+	margin: 0 0 0 10px;
 }
 #mediamanager__page .filelist ul.rows {
-    margin: 0;
+	margin: 0;
 }
 #mediamanager__page .filelist .panelContent ul li:hover {
-    background-color: @ini_background_alt;
+	background-color: @ini_background_alt;
 }
 
 #mediamanager__page .filelist li dt a {
-    vertical-align: middle;
-    display: table-cell;
-    overflow: hidden;
+	vertical-align: middle;
+	display: table-cell;
+	overflow: hidden;
+}
+#mediamanager__page .filelist ul dl dt {
+	display: block;
+	border-radius: 2px;
+	box-shadow: inset 1px 1px 2px 1px #00000066;
+	background: @ini_background_alt url("data:image/gif;base64,R0lGODlhEAAQAHAAACwAAAAAEAAQAIHd3d3u7u4AAAAAAAACH4RvoauIzNyBSyYaLMDZcv15HAaSIlWiJ5Sya/RWVgEAOw==") center;
+}
+#mediamanager__page .filelist ul dl dt img {
+	-webkit-filter: drop-shadow(2px 2px 2px #00000066);
+	filter: drop-shadow(2px 2px 2px #00000066);
 }
-
 /* file list as thumbs */
 
 #mediamanager__page .filelist .thumbs li {
-    width: 100px;
-    min-height: 130px;
-    display: inline-block;
-    /* the right margin should visually be 10px, but because of its inline-block nature the whitespace inbetween is about 4px more */
-    margin: 0 6px 10px 0;
-    background-color: @ini_background_neu;
-    color: @ini_text;
-    padding: 5px;
-    vertical-align: top;
-    text-align: center;
-    position: relative;
-    line-height: 1.2;
+	width: 114px;
+	min-height: 132px;
+	display: inline-block;
+	/* the right margin should visually be 10px, but because of its inline-block nature the whitespace inbetween is about 4px more */
+	margin: 0 6px 10px 0;
+	background-color: @ini_background_neu;
+	color: @ini_text;
+	padding: 5px;
+	vertical-align: top;
+	text-align: center;
+	position: relative;
+	line-height: 1.2;
 }
 [dir=rtl] #mediamanager__page .filelist .thumbs li {
-    margin-right: 0;
-    margin-left: 6px;
+	margin-right: 0;
+	margin-left: 6px;
 }
 
 #mediamanager__page .filelist .thumbs li dt a {
-    width: 100px;
-    height: 90px;
+	width: 110px;
+	height: 110px;
 }
 
 #mediamanager__page .filelist .thumbs li dt a img {
-    max-width: 90px;
-    max-height: 90px;
+	display: block;
+	max-width: 150px;
+	max-height: 150px;
+	padding: 5px;
+	margin: auto;
 }
 
 #mediamanager__page .filelist .thumbs li .name,
 #mediamanager__page .filelist .thumbs li .size,
 #mediamanager__page .filelist .thumbs li .filesize,
 #mediamanager__page .filelist .thumbs li .date {
-    display: block;
-    overflow: hidden;
-    text-overflow: ellipsis;
-    width: 90px;
-    white-space: nowrap;
+	display: block;
+	overflow: hidden;
+	text-overflow: ellipsis;
+	white-space: nowrap;
 	font-size: 10pt;
 }
 #mediamanager__page .filelist .thumbs li .name {
-    padding: 5px 0;
-    font-weight: bold;
+	padding: 5px 0;
+	font-weight: bold;
 }
 #mediamanager__page .filelist .thumbs li .date {
-    font-style: italic;
-    white-space: normal;
+	font-style: italic;
+	white-space: normal;
 }
 
 /* file list as rows */
 
 #mediamanager__page .filelist .rows li {
-    list-style: none;
-    display: block;
-    position: relative;
-    max-height: 50px;
-    margin: 0 0 3px 0;
-    background-color: @ini_background;
-    color: @ini_text;
-    overflow: hidden;
+	list-style: none;
+	display: block;
+	position: relative;
+	max-height: 50px;
+	margin: 0 0 3px 0;
+	background-color: @ini_background;
+	color: @ini_text;
+	overflow: hidden;
 }
 
 #mediamanager__page .filelist .rows li:nth-child(2n+1) {
-    background-color: @ini_background_neu;
+	background-color: @ini_background_neu;
 }
 
 #mediamanager__page .filelist .rows li dt {
-    float: left;
-    width: 10%;
-    height: 40px;
-    text-align: center;
+	float: left;
+	width: 10%;
+	height: 40px;
+	text-align: center;
 }
 [dir=rtl] #mediamanager__page .filelist .rows li dt {
-    float: right;
+	float: right;
 }
 #mediamanager__page .filelist .rows li dt a {
-    width: 100px;
-    height: 40px;
+	width: 100px;
+	height: 40px;
 }
 
 #mediamanager__page .filelist .rows li dt a img {
-    max-width: 40px;
-    max-height: 40px;
+	max-width: 40px;
+	max-height: 40px;
 }
 
 #mediamanager__page .filelist .rows li .name,
 #mediamanager__page .filelist .rows li .size,
 #mediamanager__page .filelist .rows li .filesize,
 #mediamanager__page .filelist .rows li .date {
-    overflow: hidden;
-    text-overflow: ellipsis;
-    float: left;
-    margin-left: 1%;
-    white-space: nowrap;
+	overflow: hidden;
+	text-overflow: ellipsis;
+	float: left;
+	margin-left: 1%;
+	white-space: nowrap;
 }
 [dir=rtl] #mediamanager__page .filelist .rows li .name,
 [dir=rtl] #mediamanager__page .filelist .rows li .size,
 [dir=rtl] #mediamanager__page .filelist .rows li .filesize,
 [dir=rtl] #mediamanager__page .filelist .rows li .date {
-    float: right;
-    margin-left: 0;
-    margin-right: 1%;
+	float: right;
+	margin-left: 0;
+	margin-right: 1%;
 }
 
 #mediamanager__page .filelist .rows li .name {
-    width: 30%;
-    font-weight: bold;
+	width: 30%;
+	font-weight: bold;
 }
 #mediamanager__page .filelist .rows li .size,
 #mediamanager__page .filelist .rows li .filesize {
-    width: 15%;
+	width: 15%;
 }
 #mediamanager__page .filelist .rows li .date {
-    width: 20%;
-    font-style: italic;
-    white-space: normal;
+	width: 20%;
+	font-style: italic;
+	white-space: normal;
 }
 
 /* upload form */
 
 #mediamanager__page div.upload {
-    padding-bottom: 0.5em;
+	padding-bottom: 0.5em;
 }
 
 /*____________ file panel ____________*/
 
 #mediamanager__page .file ul.actions {
-    text-align: center;
-    margin: 0 0 5px;
-    padding: 0;
-    list-style: none;
+	text-align: center;
+	margin: 0 0 5px;
+	padding: 0;
+	list-style: none;
 }
 #mediamanager__page .file ul.actions li {
-    display: inline;
-    margin: 0;
+	display: inline;
+	margin: 0;
 }
 
 #mediamanager__page .file div.image {
-    margin-bottom: 5px;
-    text-align: center;
+	margin-bottom: 5px;
+	text-align: center;
 }
 
 #mediamanager__page .file div.image img {
-    width: 100%;
+	width: 100%;
 }
 
 #mediamanager__page .file dl {
-    margin-bottom: 0;
+	margin-bottom: 0;
 }
 #mediamanager__page .file dl dt {
-    font-weight: bold;
-    display: block;
-    background-color: @ini_background_alt;
+	font-weight: bold;
+	display: block;
+	background-color: @ini_background_alt;
 	padding-left: .25em;
 }
 #mediamanager__page .file dl dd {
-    display: block;
-    background-color: @ini_background_neu;
+	display: block;
+	background-color: @ini_background_neu;
 	padding-left: 1em;
 }
 
 /* file meta data edit form */
 
 #mediamanager__page form.meta div.row {
-    margin-bottom: 5px;
+	margin-bottom: 5px;
 }
 
 #mediamanager__page form.meta label span {
-    display: block;
+	display: block;
 }
 
 #mediamanager__page form.meta input {
-    width: 50%;
+	width: 50%;
 }
 
 #mediamanager__page form.meta button {
-    width: auto;
+	width: auto;
 }
 
 #mediamanager__page form.meta textarea.edit {
-    height: 6em;
-    width: 95%;
-    min-width: 95%;
-    max-width: 95%;
+	height: 6em;
+	width: 95%;
+	min-width: 95%;
+	max-width: 95%;
 }
 
 /* file revisions form */
 
 #mediamanager__page form.changes ul {
-    margin-left: 10px;
-    padding: 0;
-    list-style-type: none;
+	margin-left: 10px;
+	padding: 0;
+	list-style-type: none;
 }
 [dir=rtl] #mediamanager__page form.changes ul {
-    margin-left: 0;
-    margin-right: 10px;
+	margin-left: 0;
+	margin-right: 10px;
 }
 
 #mediamanager__page form.changes ul li div.li div {
-    font-size: 90%;
-    color: @ini_text_neu;
-    padding-left: 18px;
+	font-size: 90%;
+	color: @ini_text_neu;
+	padding-left: 18px;
 }
 [dir=rtl] #mediamanager__page form.changes ul li div.li div {
-    padding-left: 0;
-    padding-right: 18px;
+	padding-left: 0;
+	padding-right: 18px;
 }
 #mediamanager__page form.changes ul li div.li input {
-    position: relative;
-    top: 1px;
+	position: relative;
+	top: 1px;
 }
 
 /* file diff view */
 
 #mediamanager__diff table {
-    table-layout: fixed;
-    border-width: 0;
+	table-layout: fixed;
+	border-width: 0;
 }
 
 #mediamanager__diff td,
 #mediamanager__diff th {
-    width: 48%;
-    margin: 0 5px 10px 0;
-    padding: 0;
-    vertical-align: top;
-    text-align: left;
-    border-color: @ini_background;
+	width: 48%;
+	margin: 0 5px 10px 0;
+	padding: 0;
+	vertical-align: top;
+	text-align: left;
+	border-color: @ini_background;
 }
 [dir=rtl] #mediamanager__diff td,
 [dir=rtl] #mediamanager__diff th {
-    margin: 0 0 10px 5px;
-    text-align: right;
+	margin: 0 0 10px 5px;
+	text-align: right;
 }
 
 #mediamanager__diff th {
-    font-weight: normal;
-    background-color: @ini_background;
-    line-height: 1.2;
+	font-weight: normal;
+	background-color: @ini_background;
+	line-height: 1.2;
 }
 #mediamanager__diff th a {
-    font-weight: bold;
+	font-weight: bold;
 }
 #mediamanager__diff th span {
-    font-size: 90%;
+	font-size: 90%;
 }
 
 #mediamanager__diff dl dd strong{
-    background-color: __highlight__;
-    color: @ini_text;
-    font-weight: normal;
+	background-color: __highlight__;
+	color: @ini_text;
+	font-weight: normal;
 }
 
 /* image diff views */
 
 #mediamanager__page .file form.diffView {
-    margin-bottom: 10px;
-    display: block;
+	margin-bottom: 10px;
+	display: block;
 }
 
 #mediamanager__diff div.slider {
-    margin: 10px;
-    width: 95%;
+	margin: 10px;
+	width: 95%;
 }
 
 #mediamanager__diff .imageDiff {
-    position: relative;
+	position: relative;
 }
 #mediamanager__diff .imageDiff .image2 {
-    position: absolute;
-    top: 0;
-    left: 0;
+	position: absolute;
+	top: 0;
+	left: 0;
 }
 
 #mediamanager__diff .imageDiff.opacity .image2 {
-    opacity: 0.5;
+	opacity: 0.5;
 }
 
 #mediamanager__diff .imageDiff.portions .image2 {
-    border-right: 1px solid red;
-    overflow: hidden;
+	border-right: 1px solid red;
+	overflow: hidden;
 }
 
 #mediamanager__diff .imageDiff.portions img {
-    float: left;
+	float: left;
 }
 
 #mediamanager__diff .imageDiff img {
-    width: 100%;
-    max-width: none;
+	width: 100%;
+	max-width: none;
 }
 
 /* dark mode overrides */
 @media (prefers-color-scheme: dark) {
 	body.darkmode #mediamanager__page .panelHeader,
+	body.darkmode ul.tabs li strong {
+		background-color: transparent;
+		border-color: @ini_text_alt_dark;
+		color: @ini_text_alt_dark;
+		font-weight: bold;
+		border-bottom-color: @ini_background_alt_dark;
+	}
 	body.darkmode .tabs > ul li a,
-	body.darkmode ul.tabs li strong,
 	body.darkmode ul.tabs li a {
-		background-color:	transparent;
-		border-color:		@ini_text_dark;
-		color:				@ini_text_dark;
+		background-color: transparent;
+		border-color: @ini_text_dark;
+		color: @ini_text_dark;
 	}
 
 	body.darkmode #mediamanager__page .namespaces h2 {
-		background-color:	@ini_background_dark;
+		background-color:	@ini_background_alt_dark;
 		border-color:		@ini_text_dark;
-		border-bottom-color: @ini_background_dark;
+		border-bottom-color: @ini_background_alt_dark;
 		color:				@ini_headlines_dark;
 	}
 	body.darkmode #mediamanager__page .filelist .thumbs li {
-		background-color:	@ini_background_alt_dark;
+		background-color:	@ini_background_neu_dark;
 		color:				@ini_text_dark;
 	}
 	body.darkmode #mediamanager__page .filelist .panelContent ul li:hover {
@@ -568,9 +594,18 @@
 		background-color: @ini_background_alt_dark;
 	}
 
-	body.darkmode #mediamanager__page .ui-resizable-e { background-color:	@ini_background_dark; }
+	#mediamanager__page .filelist ul dl dt {
+		background: @ini_background_alt_dark url("data:image/gif;base64,R0lGODlhEAAQAHAAACwAAAAAEAAQAIFeXmJISEwAAAAAAAACH4RvoauIzNyBSyYaLMDZcv15HAaSIlWiJ5Sya/RWVgEAOw==") center;
+	}		
+	
+
+	body.darkmode #mediamanager__page .ui-resizable-e {
+		background-color: @ini_background_dark;
+	}
 	body.darkmode #mediamanager__page .ui-resizable-e:hover,
-	body.darkmode [dir=rtl] #mediamanager__page .ui-resizable-w:hover { background-color: @ini_background_alt_dark; }
+	body.darkmode [dir=rtl] #mediamanager__page .ui-resizable-w:hover {
+		background-color: @ini_background_neu_dark;
+	}
 	body.darkmode #mediamanager__page .file dl dt { background-color:	rgba(0,0,0,.5); }
 	body.darkmode #mediamanager__page .file dl dd { background-color:	rgba(0,0,0,.2); }
 	body.darkmode #mediamanager__page .namespaces ul .selected { background-color: @ini_background_alt_dark; }
diff --git a/templates/55/ad-hominem/css/_media_popup.css b/templates/55/ad-hominem/css/_media_popup.css
index b75893b..6c8dba0 100644
--- a/templates/55/ad-hominem/css/_media_popup.css
+++ b/templates/55/ad-hominem/css/_media_popup.css
@@ -6,53 +6,53 @@
 /*____________ structure ____________*/
 
 html.popup {
-    overflow: auto;
+	overflow: auto;
 }
 
 #media__manager {
-    height: 100%;
-    overflow: hidden;
+	height: 100%;
+	overflow: hidden;
 }
 
 #mediamgr__aside {
-    width: 30%;
-    height: 100%;
-    overflow: auto;
-    position: absolute;
-    left: 0;
-    border-right: 1px solid @ini_border;
+	width: 30%;
+	height: 100%;
+	overflow: auto;
+	position: absolute;
+	left: 0;
+	border-right: 1px solid @ini_border;
 }
 [dir=rtl] #mediamgr__aside {
-    left: auto;
-    right: 0;
-    border-right-width: 0;
-    border-left: 1px solid @ini_border;
+	left: auto;
+	right: 0;
+	border-right-width: 0;
+	border-left: 1px solid @ini_border;
 }
 #mediamgr__aside .pad {
-    padding: .5em;
+	padding: .5em;
 }
 
 #mediamgr__content {
-    width: 69.7%;
-    height: 100%;
-    overflow: auto;
-    position: absolute;
-    right: 0;
+	width: 69.7%;
+	height: 100%;
+	overflow: auto;
+	position: absolute;
+	right: 0;
 }
 [dir=rtl] #mediamgr__content {
-    right: auto;
-    left: 0;
+	right: auto;
+	left: 0;
 }
 #mediamgr__content .pad {
-    padding: .5em;
+	padding: .5em;
 }
 
 #media__manager h1,
 #media__manager h2 {
-    font-size: 1.5em;
-    margin-bottom: .5em;
-    padding-bottom: .2em;
-    border-bottom: 1px solid @ini_border;
+	font-size: 1.5em;
+	margin-bottom: .5em;
+	padding-bottom: .2em;
+	border-bottom: 1px solid @ini_border;
 }
 
 /* left side
@@ -61,15 +61,15 @@ html.popup {
 /*____________ options ____________*/
 
 #media__opts {
-    margin-bottom: .5em;
+	margin-bottom: .5em;
 }
 
 #media__opts input {
-    margin-right: .3em;
+	margin-right: .3em;
 }
 [dir=rtl] #media__opts input {
-    margin-right: 0;
-    margin-left: .3em;
+	margin-right: 0;
+	margin-left: .3em;
 }
 #media__opts label {
 }
@@ -77,39 +77,39 @@ html.popup {
 /*____________ tree ____________*/
 
 #media__tree ul {
-    padding-left: .2em;
+	padding-left: .2em;
 }
 [dir=rtl] #media__tree ul {
-    padding-left: 0;
-    padding-right: .2em;
+	padding-left: 0;
+	padding-right: .2em;
 }
 #media__tree ul li {
-    clear: left;
-    list-style-type: none;
-    list-style-image: none;
-    margin-left: 0;
+	clear: left;
+	list-style-type: none;
+	list-style-image: none;
+	margin-left: 0;
 }
 [dir=rtl] #media__tree ul li {
-    clear: right;
-    margin-right: 0;
+	clear: right;
+	margin-right: 0;
 }
 #media__tree ul li img {
-    float: left;
-    padding: .5em .3em 0 0;
+	float: left;
+	padding: .5em .3em 0 0;
 }
 [dir=rtl] #media__tree ul li img {
-    float: right;
-    padding: .5em 0 0 .3em;
+	float: right;
+	padding: .5em 0 0 .3em;
 }
 #media__tree ul li div.li {
-    display: inline;
+	display: inline;
 }
 #media__tree ul li li {
-    margin-left: 1.5em;
+	margin-left: 1.5em;
 }
 [dir=rtl] #media__tree ul li li {
-    margin-left: 0;
-    margin-right: 1.5em;
+	margin-left: 0;
+	margin-right: 1.5em;
 }
 
 /* right side
@@ -119,76 +119,76 @@ html.popup {
 
 /* upload info */
 #media__content div.upload {
-    font-size: .9em;
-    margin-bottom: .5em;
+	font-size: .9em;
+	margin-bottom: .5em;
 }
 
 #mediamanager__uploader {
-    margin-bottom: 1em;
+	margin-bottom: 1em;
 }
 #mediamanager__uploader p {
-    margin-bottom: .5em;
+	margin-bottom: .5em;
 }
 
 /*____________ file list ____________*/
 
 #media__content img.load {
-    margin: 1em auto;
+	margin: 1em auto;
 }
 
 #media__content .odd,
 #media__content .even {
-    padding: .5em;
+	padding: .5em;
 }
 #media__content .odd {
-    background-color: @ini_background_alt;
+	background-color: @ini_background_alt;
 }
 #media__content .even {
 }
 /* highlight newly uploaded or edited file */
 #media__content #scroll__here {
-    border: 1px dashed @ini_border;
+	border: 1px dashed @ini_border;
 }
 
 /* link which inserts media file */
 #media__content a.mediafile {
-    margin-right: 1.5em;
-    font-weight: bold;
-    cursor: pointer;
+	margin-right: 1.5em;
+	font-weight: bold;
+	cursor: pointer;
 }
 [dir=rtl] #media__content a.mediafile {
-    margin-right: 0;
-    margin-left: 1.5em;
+	margin-right: 0;
+	margin-left: 1.5em;
 }
 #media__content span.info {
 }
 #media__content img.btn {
-    vertical-align: text-bottom;
+	vertical-align: text-bottom;
 }
 
 /* info how to insert media, if JS disabled */
 #media__content div.example {
-    color: @ini_text_neu;
-    margin-left: 1em;
+	color: @ini_text_neu;
+	margin-left: 1em;
 }
 
 #media__content div.detail {
-    padding: .2em 0;
+	padding: .2em 0;
 }
 #media__content div.detail div.thumb {
-    float: left;
-    margin: 0 .5em 0 18px;
+	float: left;
+	margin: 0 .5em 0 18px;
 }
 [dir=rtl] #media__content div.detail div.thumb {
-    float: right;
-    margin: 0 18px 0 .5em;
+	float: right;
+	margin: 0 18px 0 .5em;
 }
 #media__content div.detail div.thumb a {
-    display: block;
-    cursor: pointer;
+	display: block;
+	cursor: pointer;
 }
 #media__content div.detail p {
-    margin-bottom: 0;
+	margin-bottom: 0;
 }
 
 
@@ -199,18 +199,42 @@ html.popup {
 #dw__mediasearch p {
 }
 #dw__mediasearch label {
+	width: 100%;
 }
 #dw__mediasearch label span {
+	display: block;
 }
-#dw__mediasearch input.edit {
+#dw__mediasearch input[type="text"] {
+	background-color: @ini_background;
+	color: @ini_text;
+	border: @ini_border solid 1px;
+	font-family: @ini_mono_fonts;
+	font-size: @ini_alt_font_size;
+	padding: .15em; margin: 0 .25rem;
+	width: ~"calc(100% - 1.25rem)";
 }
 #dw__mediasearch button {
+	background-color: #004D40;
+	color: #FFF;
+	padding: .25rem 1rem;
+	border: transparent none 0;
+	cursor: pointer;
+	font-size: 1rem;
+    margin-top: .5em;
 }
 
 /* dark mode overrides */
 @media (prefers-color-scheme: dark) {
 
-	body.darkmode #media__content .odd {
-		background-color: @ini_background_dark;
+	body.darkmode {
+		#media__content .odd {
+			background-color: @ini_background_dark;
+		}
+
+		#dw__mediasearch input[type="text"] {
+			background-color: @ini_background_site_dark;
+			color: @ini_text_dark;
+			border-color: @ini_border_dark;
+		}
 	}
 }
\ No newline at end of file
diff --git a/templates/55/ad-hominem/css/_modal.css b/templates/55/ad-hominem/css/_modal.css
index 5ce1a69..aa2514e 100644
--- a/templates/55/ad-hominem/css/_modal.css
+++ b/templates/55/ad-hominem/css/_modal.css
@@ -3,11 +3,73 @@
  */
 
 .dokuwiki .ui-widget {
-    font-size: 100%;
+	font-size: 100%;
 	/*min-width: 290px;
 	min-height: 285px; */
 }
 
+element {
+}
+@media screen {
+  #mediamanager__page .panelHeader form.options .ui-controlgroup-horizontal label {
+    font-size: 90%;
+    margin-right: -0.4em;
+    padding: .3em .5em;
+    line-height: 1;
+  }
+}
+@media screen {
+  .dokuwiki .ui-widget {
+    font-size: 100%;
+    min-width: 290px;
+    min-height: 285px;
+  }
+}
+@media screen {
+  .ui-controlgroup > .ui-controlgroup-item {
+    float: left;
+    margin-left: 0;
+    margin-right: 0;
+  }
+}
+@media screen {
+  .ui-corner-all, .ui-corner-bottom, .ui-corner-right, .ui-corner-br {
+    border-bottom-right-radius: 4px;
+  }
+}
+@media screen {
+  .ui-corner-all, .ui-corner-top, .ui-corner-right, .ui-corner-tr {
+    border-top-right-radius: 4px;
+  }
+}
+@media screen {
+  .ui-state-default a, .ui-state-default a:link, .ui-state-default a:visited, a.ui-button, a:link.ui-button, a:visited.ui-button, .ui-button {
+    color: #555555;
+    text-decoration: none;
+  }
+}
+.ui-state-default,
+.ui-widget-content .ui-state-default,
+.ui-widget-header .ui-state-default,
+.ui-button,
+html .ui-button.ui-state-disabled:hover,
+html .ui-button.ui-state-disabled:active {
+	border: 1px solid @ini_border;
+	background: @ini_background_neu none;
+	color: @ini_text_neu;
+}
+
+.dokuwiki .ui-state-active,
+.dokuwiki .ui-widget-content .ui-state-active,
+.dokuwiki .ui-widget-header .ui-state-active,
+.dokuwiki a.ui-button:active,
+.dokuwiki .ui-button:active,
+.dokuwiki .ui-button.ui-state-active:hover {
+	border: 1px solid @ini_border;
+	background: @ini_background_alt none;
+	color: @ini_text_alt;
+}
+
 
 /* link wizard (opens from the link button in the edit toolbar)
 ********************************************************************/
@@ -22,7 +84,7 @@
 }
 
 [dir=rtl] #link__wiz_close {
-    float: left;
+	float: left;
 }
 
 #link__wiz .ui-dialog-content {
@@ -55,62 +117,62 @@
 }
 
 #link__wiz_result {
-    background-color: @ini_background;
-    width:  ~"calc(100% - 2px)";
-    height: ~"calc(100% - 68px)";
-    overflow: auto;
-    border: 1px solid @ini_border;
-    margin: 3px auto;
-    text-align: left;
+	background-color: @ini_background;
+	width:  ~"calc(100% - 2px)";
+	height: ~"calc(100% - 68px)";
+	overflow: auto;
+	border: 1px solid @ini_border;
+	margin: 3px auto;
+	text-align: left;
 	font-size: medium;
-    line-height: 1em;
+	line-height: 1em;
 }
 [dir=rtl] #link__wiz_result {
-    text-align: right;
+	text-align: right;
 }
 
 #link__wiz_result div {
-    padding: 3px 3px 3px 0;
+	padding: 3px 3px 3px 0;
 }
 
 #link__wiz_result div a {
-    display: block;
-    padding-left: 1.3em;
-    min-height: 16px;
-    background: transparent 3px center no-repeat;
+	display: block;
+	padding-left: 1.3em;
+	min-height: 16px;
+	background: transparent 3px center no-repeat;
 	background-size: 1em;
 }
 [dir=rtl] #link__wiz_result div a {
-    padding: 3px 22px 3px 3px;
-    background-position: 257px 3px;
+	padding: 3px 22px 3px 3px;
+	background-position: 257px 3px;
 }
 
 #link__wiz_result div.type_u a:link,
 #link__wiz_result div.type_u a:visited {
-    background-image: url(./images/editor/browse-parent.svg);
+	background-image: url(./images/editor/browse-parent.svg);
 	color: @ini_link;
 }
 #link__wiz_result div.type_f a {
-    background-image: url(./images/editor/browse-link.svg);
+	background-image: url(./images/editor/browse-link.svg);
 }
 #link__wiz_result div.type_d a:link,
 #link__wiz_result div.type_d a:visited {
-    background-image: url(./images/editor/browse-folder.svg);
+	background-image: url(./images/editor/browse-folder.svg);
 	color: @ini_link;
 }
 
 #link__wiz_result div.even {
-    background-color: @ini_background_neu;
+	background-color: @ini_background_neu;
 }
 
 #link__wiz_result div.selected {
-    background-color: @ini_background_alt;
+	background-color: @ini_background_alt;
 }
 
 #link__wiz_result span {
-    display: block;
-    color: @ini_text_neu;
-    margin-left: 22px;
+	display: block;
+	color: @ini_text_neu;
+	margin-left: 22px;
 }
 
 #link__wiz .ui-button {
@@ -127,61 +189,85 @@
 ********************************************************************/
 
 #media__popup {
-    /* for backwards compatibility (not needed since Rincewind) */
-    display: none;
+	/* for backwards compatibility (not needed since Rincewind) */
+	display: none;
 }
 
 #media__popup_content p {
-    margin: 0 0 .5em;
+	margin: 0 0 .5em;
 }
 
 #media__popup_content label {
-    margin-right: .5em;
-    cursor: default;
+	margin-right: .5em;
+	cursor: default;
 }
 
 #media__popup_content button {
-    margin-right: 1px;
-    cursor: pointer;
+	margin-right: 1px;
+	cursor: pointer;
 }
 
 /* dark mode overrides */
 @media (prefers-color-scheme: dark) {
+	body.darkmode {
 
-	body.darkmode #link__wiz {
-		background-color: @ini_background_dark;
-		border-color: @ini_border_dark;
-	}
-	body.darkmode #link__wiz .ui-widget-header {
-		background: @ini_background_alt_dark none;
-		border-color: @ini_border_dark;
-	}
-	body.darkmode #link__wiz .ui-widget-header .ui-dialog-title {
-		color: @ini_headlines_dark;
-	}
-	body.darkmode #link__wiz #link__wiz_entry {
-		border-color: @ini_border_dark;
-		background-color: @ini_background_alt_dark;
-		color: @ini_text_dark;
-	}
-	body.darkmode #link__wiz_result div.type_u a:link,
-	body.darkmode #link__wiz_result div.type_u a:visited,
-	body.darkmode #link__wiz_result div.type_u a:link,
-	body.darkmode #link__wiz_result div.type_u a:visited {
-		color: @ini_link_dark;
-	}
-	body.darkmode #link__wiz button.ui-dialog-titlebar-close {
-		border-color: @ini_border_dark;
-	}
-	body.darkmode #link__wiz .ui-icon-closethick {
-		background-color: @ini_background_dark;
-	}
+		.ui-state-default,
+		.ui-widget-content .ui-state-default,
+		.ui-widget-header .ui-state-default,
+		.ui-button,
+		html .ui-button.ui-state-disabled:hover,
+		html .ui-button.ui-state-disabled:active {
+			border-color: @ini_text_alt_dark;
+			background: @ini_background_dark;
+			color: @ini_text_dark;
+		}
 
-	body.darkmode #link__wiz_result {
-		background-color: rgba(0,0,0,.2);
-		border-color: @ini_border_dark;
-	}
-	body.darkmode #link__wiz_result div.even {
-		background-color: @ini_background_dark;
+		.ui-state-active,
+		.ui-widget-content .ui-state-active,
+		.ui-widget-header .ui-state-active,
+		a.ui-button:active,
+		.ui-button:active,
+		.ui-button.ui-state-active:hover {
+			border-color: @ini_text_alt_dark;
+			background-color: @ini_background_alt_dark;
+			color: @ini_text_alt_dark;
+		}
+
+		#link__wiz {
+			background-color: @ini_background_dark;
+			border-color: @ini_border_dark;
+		}
+		#link__wiz .ui-widget-header {
+			background: @ini_background_alt_dark none;
+			border-color: @ini_border_dark;
+		}
+		#link__wiz .ui-widget-header .ui-dialog-title {
+			color: @ini_headlines_dark;
+		}
+		#link__wiz #link__wiz_entry {
+			border-color: @ini_border_dark;
+			background-color: @ini_background_alt_dark;
+			color: @ini_text_dark;
+		}
+		#link__wiz_result div.type_u a:link,
+		#link__wiz_result div.type_u a:visited,
+		#link__wiz_result div.type_u a:link,
+		#link__wiz_result div.type_u a:visited {
+			color: @ini_link_dark;
+		}
+		#link__wiz button.ui-dialog-titlebar-close {
+			border-color: @ini_border_dark;
+		}
+		#link__wiz .ui-icon-closethick {
+			background-color: @ini_background_dark;
+		}
+
+		#link__wiz_result {
+			background-color: rgba(0,0,0,.2);
+			border-color: @ini_border_dark;
+		}
+		#link__wiz_result div.even {
+			background-color: @ini_background_dark;
+		}
 	}
 }
\ No newline at end of file
diff --git a/templates/55/ad-hominem/css/_recent.css b/templates/55/ad-hominem/css/_recent.css
index 9035a43..78d200d 100644
--- a/templates/55/ad-hominem/css/_recent.css
+++ b/templates/55/ad-hominem/css/_recent.css
@@ -9,40 +9,40 @@
 
 /* select type of revisions (media/pages) */
 .dokuwiki .changeType {
-    margin-bottom: .5em;
+	margin-bottom: .5em;
 }
 
 .dokuwiki form.changes ul li {
-    list-style: none;
-    margin-left: 0;
+	list-style: none;
+	margin-left: 0;
 }
 [dir=rtl] .dokuwiki form.changes ul li {
-    margin-right: 0;
+	margin-right: 0;
 }
 .dokuwiki form.changes ul li span,
 .dokuwiki form.changes ul li a {
-    vertical-align: middle;
+	vertical-align: middle;
 }
 .dokuwiki form.changes ul li span.user a {
-    vertical-align: bottom;
+	vertical-align: bottom;
 }
 .dokuwiki form.changes ul li.minor {
-    opacity: .7;
+	opacity: .7;
 }
 
 .dokuwiki form.changes li span.date {
 }
 .dokuwiki form.changes li a.diff_link {
-    vertical-align: baseline;
+	vertical-align: baseline;
 }
 .dokuwiki form.changes li a.revisions_link {
-    vertical-align: baseline;
+	vertical-align: baseline;
 }
 .dokuwiki form.changes li a.wikilink1,
 .dokuwiki form.changes li a.wikilink2 {
 }
 .dokuwiki form.changes li span.sum {
-    font-weight: bold;
+	font-weight: bold;
 }
 .dokuwiki form.changes li span.user {
 }
@@ -50,30 +50,30 @@
 /*____________ size differences ____________*/
 
 .dokuwiki form.changes li .sizechange {
-    font-size: 80%;
-    border-radius: .2em;
-    padding: .1em .2em;
-    /* cannot use non-guaranteed style.ini colour placeholders, dark templates need to overwrite */
-    background-color: #ddd;
+	font-size: 80%;
+	border-radius: .2em;
+	padding: .1em .2em;
+	/* cannot use non-guaranteed style.ini colour placeholders, dark templates need to overwrite */
+	background-color: #ddd;
 }
 
 .dokuwiki form.changes li .sizechange.positive {
-    background-color: #cfc;;
+	background-color: #cfc;;
 }
 .dokuwiki form.changes li .sizechange.negative {
-    background-color: #fdd;
+	background-color: #fdd;
 }
 
 /*____________ page navigator ____________*/
 
 .dokuwiki div.pagenav {
-    text-align: center;
-    margin: 1.4em 0;
+	text-align: center;
+	margin: 1.4em 0;
 }
 .dokuwiki div.pagenav-prev,
 .dokuwiki div.pagenav-next {
-    display: inline;
-    margin: 0 .5em;
+	display: inline;
+	margin: 0 .5em;
 }
 
 /* dark mode overrides */
diff --git a/templates/55/ad-hominem/css/_search.less b/templates/55/ad-hominem/css/_search.less
index fbd8291..a174097 100644
--- a/templates/55/ad-hominem/css/_search.less
+++ b/templates/55/ad-hominem/css/_search.less
@@ -8,13 +8,13 @@
 
 /* search hit in normal text */
 .dokuwiki .search_hit {
-    color: @ini_text;
-    background-color: __highlight__;
+	color: @ini_text;
+	background-color: __highlight__;
 }
 
 /* "nothing found" at search + media */
 .dokuwiki div.nothing {
-    margin-bottom: 1.4em;
+	margin-bottom: 1.4em;
 }
 
 /* search results page
@@ -22,182 +22,182 @@
 
 /*____________ advanced search form ____________*/
 .dokuwiki .search-results-form fieldset.search-form {
-    width: 100%;
-    margin: 1em 0;
+	width: 100%;
+	margin: 1em 0;
 
-    input[name="q"] {
-        width: 50%;
-    }
+	input[name="q"] {
+		width: 50%;
+	}
 
-    button.toggleAssistant {
-        float: right;
-    }
+	button.toggleAssistant {
+		float: right;
+	}
 
-    .advancedOptions {
-        padding: 1em 0;
+	.advancedOptions {
+		padding: 1em 0;
 
-        > div {
-            display: inline-block;
-            position: relative;
-            margin: 0 0.5em;
-        }
+		> div {
+			display: inline-block;
+			position: relative;
+			margin: 0 0.5em;
+		}
 
-        div.toggle {
-            // default closed toggle state
-            div.current {
-                cursor: pointer;
-                max-width: 10em;
-                white-space: nowrap;
-                overflow: hidden;
-                text-overflow: ellipsis;
+		div.toggle {
+			// default closed toggle state
+			div.current {
+				cursor: pointer;
+				max-width: 10em;
+				white-space: nowrap;
+				overflow: hidden;
+				text-overflow: ellipsis;
 
-                &::after {
-                    content: '▼';
-                    font-size: smaller;
-                    color: @ini_text_alt;
-                }
-            }
-            div.changed {
-                font-weight: bold;
-            }
-            ul {
-                display: none;
-                position: absolute;
-                border: 1px solid @ini_border;
-                background-color: @ini_background;
-                padding: 0.25em 0.5em;
-                text-align: left;
-                min-width: 10em;
-                max-width: 15em;
-                max-height: 50vh;
-                overflow: auto;
-                z-index: 100;
-                li {
-                    margin: 0.25em 0;
-                    list-style: none;
+				&::after {
+					content: '▼';
+					font-size: smaller;
+					color: @ini_text_alt;
+				}
+			}
+			div.changed {
+				font-weight: bold;
+			}
+			ul {
+				display: none;
+				position: absolute;
+				border: 1px solid @ini_border;
+				background-color: @ini_background;
+				padding: 0.25em 0.5em;
+				text-align: left;
+				min-width: 10em;
+				max-width: 15em;
+				max-height: 50vh;
+				overflow: auto;
+				z-index: 100;
+				li {
+					margin: 0.25em 0;
+					list-style: none;
 
-                    a {
-                        display: block;
-                    }
-                }
-            }
+					a {
+						display: block;
+					}
+				}
+			}
 
-            // open toggle state
-            &.open {
-                div.current::after {
-                    content: '▲';
-                }
+			// open toggle state
+			&.open {
+				div.current::after {
+					content: '▲';
+				}
 
-                ul {
-                    display: block;
-                }
-            }
-        }
-    }
+				ul {
+					display: block;
+				}
+			}
+		}
+	}
 }
 
 [dir=rtl] .search-results-form fieldset.search-form .advancedOptions {
-    div.toggle ul {
-        text-align: right;
-    }
+	div.toggle ul {
+		text-align: right;
+	}
 }
 
 /*____________ matching pagenames ____________*/
 
 .dokuwiki div.search_quickresult {
-    margin-bottom: 1.4em;
+	margin-bottom: 1.4em;
 
-    ul {
-        padding: 0;
+	ul {
+		padding: 0;
 
-        li {
-            float: left;
-            width: 12em;
-            margin: 0 1.5em;
-        }
-    }
+		li {
+			float: left;
+			width: 12em;
+			margin: 0 1.5em;
+		}
+	}
 }
 
 [dir=rtl] .dokuwiki div.search_quickresult ul li {
-    float: right;
+	float: right;
 }
 
 /*____________ search results ____________*/
 
 .dokuwiki dl.search_results {
-    margin-bottom: 1.2em;
+	margin-bottom: 1.2em;
 
-    /* search heading */
-    dt {
-        font-weight: normal;
-        margin-bottom: .2em;
-    }
+	/* search heading */
+	dt {
+		font-weight: normal;
+		margin-bottom: .2em;
+	}
 
-    /* last modified line */
-    dd.meta {
-        margin: 0 0 .2em 0;
-    }
+	/* last modified line */
+	dd.meta {
+		margin: 0 0 .2em 0;
+	}
 
-    /* search snippet */
-    dd.snippet {
-        color: @ini_text_alt;
-        background-color: inherit;
-        margin: 0 0 1.2em 0;
+	/* search snippet */
+	dd.snippet {
+		color: @ini_text_alt;
+		background-color: inherit;
+		margin: 0 0 1.2em 0;
 
-        /* search hit in search results */
-        strong.search_hit {
-            font-weight: normal;
-            /* color is set in general */
-        }
+		/* search hit in search results */
+		strong.search_hit {
+			font-weight: normal;
+			/* color is set in general */
+		}
 
-        /* ellipsis separating snippets */
-        .search_sep {
-            color: @ini_text;
-            background-color: inherit;
-        }
-    }
+		/* ellipsis separating snippets */
+		.search_sep {
+			color: @ini_text;
+			background-color: inherit;
+		}
+	}
 }
 
 /* AJAX quicksearch popup
 ********************************************************************/
 
 .dokuwiki form.search {
-    div.no {
-        position: relative;
-    }
+	div.no {
+		position: relative;
+	}
 
-    /* .JSpopup */
-    div.ajax_qsearch {
-        position: absolute;
-        top: 0;
-        left: -13.5em; /* -( width of #qsearch__in + padding of .ajax_qsearch + a bit more ) */
-        width: 12em;
-        padding: 0.5em;
-        font-size: .9em;
-        z-index: 20;
-        text-align: left;
-        display: none;
+	/* .JSpopup */
+	div.ajax_qsearch {
+		position: absolute;
+		top: 0;
+		left: -13.5em; /* -( width of #qsearch__in + padding of .ajax_qsearch + a bit more ) */
+		width: 12em;
+		padding: 0.5em;
+		font-size: .9em;
+		z-index: 20;
+		text-align: left;
+		display: none;
 
-        strong {
-            display: block;
-            margin-bottom: .3em;
-        }
+		strong {
+			display: block;
+			margin-bottom: .3em;
+		}
 
-        ul {
-            margin: 0 !important;
-            padding: 0 !important;
+		ul {
+			margin: 0 !important;
+			padding: 0 !important;
 
-            li {
-                margin: 0;
-                padding: 0;
-                display: block !important;
-            }
-        }
-    }
+			li {
+				margin: 0;
+				padding: 0;
+				display: block !important;
+			}
+		}
+	}
 }
 
 [dir=rtl] .dokuwiki form.search div.ajax_qsearch {
-    left: auto;
-    /*right: -13.5em;*/
-    text-align: right;
-}
+	left: auto;
+	/*right: -13.5em;*/
+	text-align: right;
+}
\ No newline at end of file
diff --git a/templates/55/ad-hominem/css/_tabs.css b/templates/55/ad-hominem/css/_tabs.css
index 507f49e..6f1f433 100644
--- a/templates/55/ad-hominem/css/_tabs.css
+++ b/templates/55/ad-hominem/css/_tabs.css
@@ -4,55 +4,55 @@
 
 .dokuwiki .tabs > ul,
 .dokuwiki ul.tabs {
-    padding: 0;
-    margin: 0;
-    overflow: hidden;
-    position: relative;
+	padding: 0;
+	margin: 0;
+	overflow: hidden;
+	position: relative;
 }
 /* border underneath */
 .dokuwiki .tabs > ul:after,
 .dokuwiki ul.tabs:after {
-    position: absolute;
-    content: "";
-    width: 100%;
-    bottom: 0;
-    left: 0;
-    border-bottom: 1px solid @ini_border;
+	position: absolute;
+	content: "";
+	width: 100%;
+	bottom: 0;
+	left: 0;
+	border-bottom: 1px solid @ini_border;
 }
 
 .dokuwiki .tabs > ul li,
 .dokuwiki ul.tabs li {
-    float: left;
-    padding: 0;
-    margin: 0;
-    list-style: none;
+	float: left;
+	padding: 0;
+	margin: 0;
+	list-style: none;
 }
 [dir=rtl] .dokuwiki .tabs > ul li,
 [dir=rtl] .dokuwiki ul.tabs li {
-    float: right;
+	float: right;
 }
 
 .dokuwiki .tabs > ul li a,
 .dokuwiki ul.tabs li strong,
 .dokuwiki ul.tabs li a {
-    display: inline-block;
-    padding: .3em .8em;
-    margin: 0 0 0 .3em;
-    background-color: @ini_background_neu;
-    color: @ini_text;
-    border: 1px solid @ini_border;
-    border-radius: .5em .5em 0 0;
-    position: relative;
-    z-index: 0;
+	display: inline-block;
+	padding: .3em .8em;
+	margin: 0 0 0 .3em;
+	background-color: @ini_background_neu;
+	color: @ini_text;
+	border: 1px solid @ini_border;
+	border-radius: .5em .5em 0 0;
+	position: relative;
+	z-index: 0;
 }
 [dir=rtl] .dokuwiki .tabs > ul li a,
 [dir=rtl] .dokuwiki ul.tabs li strong,
 [dir=rtl] .dokuwiki ul.tabs li a {
-    margin: 0 .3em 0 0;
+	margin: 0 .3em 0 0;
 }
 
 .dokuwiki ul.tabs li strong {
-    font-weight: normal;
+	font-weight: normal;
 }
 
 .dokuwiki ul.tabs li a:link,
@@ -68,10 +68,10 @@
 .dokuwiki ul.tabs li a:focus,
 .dokuwiki ul.tabs li.active a,
 .dokuwiki ul.tabs li strong {
-    background-color: @ini_background_alt;
-    color: @ini_text;
-    text-decoration: none;
-    font-weight: normal;
+	background-color: @ini_background_alt;
+	color: @ini_text;
+	text-decoration: none;
+	font-weight: normal;
 }
 
 .dokuwiki .tabs > ul li .curid a,
@@ -79,6 +79,6 @@
 .dokuwiki .tabs > ul li .active a,
 .dokuwiki ul.tabs li.active a,
 .dokuwiki ul.tabs li strong {
-    z-index: 2;
-    border-bottom-color: @ini_background_alt;
+	z-index: 2;
+	border-bottom-color: @ini_background_alt;
 }
diff --git a/templates/55/ad-hominem/css/_toc.css b/templates/55/ad-hominem/css/_toc.css
index 469e927..651a806 100644
--- a/templates/55/ad-hominem/css/_toc.css
+++ b/templates/55/ad-hominem/css/_toc.css
@@ -8,56 +8,56 @@
 
 /* toc container */
 #dw__toc {
-    float: right;
-    margin: 0 0 1.4em 1.4em;
-    width: 12em;
-    background-color: @ini_background_alt;
-    color: inherit;
+	float: right;
+	margin: 0 0 1.4em 1.4em;
+	width: 12em;
+	background-color: @ini_background_alt;
+	color: inherit;
 }
 [dir=rtl] #dw__toc {
-    float: left;
-    margin: 0 1.4em 1.4em 0;
+	float: left;
+	margin: 0 1.4em 1.4em 0;
 }
 
 /*____________ toc header ____________*/
 
 .dokuwiki h3.toggle {
-    padding: .2em .5em;
-    font-weight: bold;
+	padding: .2em .5em;
+	font-weight: bold;
 }
 
 .dokuwiki .toggle strong {
-    float: right;
-    margin: 0 .2em;
+	float: right;
+	margin: 0 .2em;
 }
 [dir=rtl] .dokuwiki .toggle strong {
-    float: left;
+	float: left;
 }
 
 /*____________ toc list ____________*/
 
 #dw__toc > div {
-    padding: .2em .5em;
+	padding: .2em .5em;
 }
 #dw__toc ul {
-    padding: 0;
-    margin: 0;
+	padding: 0;
+	margin: 0;
 }
 #dw__toc ul li {
-    list-style: none;
-    padding: 0;
-    margin: 0;
-    line-height: 1.1;
+	list-style: none;
+	padding: 0;
+	margin: 0;
+	line-height: 1.1;
 }
 #dw__toc ul li div.li {
-    padding: .15em 0;
+	padding: .15em 0;
 }
 #dw__toc ul ul {
-    padding-left: 1em;
+	padding-left: 1em;
 }
 [dir=rtl] #dw__toc ul ul {
-    padding-left: 0;
-    padding-right: 1em;
+	padding-left: 0;
+	padding-right: 1em;
 }
 #dw__toc ul ul li {
 }
@@ -74,20 +74,20 @@
 ********************************************************************/
 
 .dokuwiki ul.idx {
-    padding-left: 0;
+	padding-left: 0;
 }
 [dir=rtl] .dokuwiki ul.idx {
-    padding-right: 0;
+	padding-right: 0;
 }
 .dokuwiki ul.idx li {
-    list-style-image: url(../../images/bullet.png);
+	list-style-image: url(../../images/bullet.png);
 }
 .dokuwiki ul.idx li.open {
-    list-style-image: url(../../images/open.png);
+	list-style-image: url(../../images/open.png);
 }
 .dokuwiki ul.idx li.closed {
-    list-style-image: url(../../images/closed.png);
+	list-style-image: url(../../images/closed.png);
 }
 [dir=rtl] .dokuwiki ul.idx li.closed {
-    list-style-image: url(../../images/closed-rtl.png);
+	list-style-image: url(../../images/closed-rtl.png);
 }
diff --git a/templates/55/ad-hominem/css/content.less b/templates/55/ad-hominem/css/content.less
index 5c9b0de..9fc03ac 100644
--- a/templates/55/ad-hominem/css/content.less
+++ b/templates/55/ad-hominem/css/content.less
@@ -62,6 +62,20 @@ body {
 		text-decoration: line-through rgba(255,0,0,.5) solid .1em;
 	}
 
+	/* subscript and superscript */
+	sup, sub {
+		line-height: 1;
+		font-size: .6em;
+		font-weight: 600;
+		margin: 0 .1em;
+	}
+	sup {
+		vertical-align: .5em;
+	}
+	sub {
+		vertical-align: -.15em;
+	}
+
 	/* lists: */
 	ul, ol {
 		margin: 0 2em 1em 1em;
@@ -122,6 +136,7 @@ body {
 		border-radius: 2px;
 		box-shadow: inset 0 0 .5em @ini_border;
 		padding: .3em;
+		font-variant-numeric: slashed-zero;
 	}
 
 	/* overwrite pre styling for CodeMirror plugin: */
diff --git a/templates/55/ad-hominem/css/design.less b/templates/55/ad-hominem/css/design.less
index be7a190..937fff1 100644
--- a/templates/55/ad-hominem/css/design.less
+++ b/templates/55/ad-hominem/css/design.less
@@ -8,63 +8,63 @@
  */
 
 .dokuwiki.export {
-    background-color: @ini_background;
+	background-color: @ini_background;
 }
 
 /* header
 ********************************************************************/
 
 #dokuwiki__header {
-    padding: 2em 0 1.5em;
+	padding: 2em 0 1.5em;
 
-    .headings,
-    .tools {
-        margin-bottom: 1.5em;
-        width: 49%;
-    }
-    .tools {
-        margin-top: .2em;
-    }
+	.headings,
+	.tools {
+		margin-bottom: 1.5em;
+		width: 49%;
+	}
+	.tools {
+		margin-top: .2em;
+	}
 
-    .logo {
-        margin: 0;
-        font-size: 1.5em;
-        font-weight: normal;
-        line-height: 1.2;
+	.logo {
+		margin: 0;
+		font-size: 1.5em;
+		font-weight: normal;
+		line-height: 1.2;
 
-        img {
-            float: left;
-            margin-right: .5em;
-        }
+		img {
+			float: left;
+			margin-right: .5em;
+		}
 
-        span {
-            display: block;
-            padding-top: 10px;
-        }
+		span {
+			display: block;
+			padding-top: 10px;
+		}
 
-        a {
-            text-decoration: none;
-            color: @ini_text;
-            background-color: inherit;
-        }
-    }
+		a {
+			text-decoration: none;
+			color: @ini_text;
+			background-color: inherit;
+		}
+	}
 
-    p.claim {
-        margin-bottom: 0;
-        font-size: 0.875em;
-    }
+	p.claim {
+		margin-bottom: 0;
+		font-size: 0.875em;
+	}
 
-    /* make all links in header (including breadcrumb and interwiki) same colour as the rest */
-    a {
-        color: @ini_link;
-        background-color: inherit;
-    }
+	/* make all links in header (including breadcrumb and interwiki) same colour as the rest */
+	a {
+		color: @ini_link;
+		background-color: inherit;
+	}
 }
 
 [dir=rtl] #dokuwiki__header .logo img {
-    float: right;
-    margin-left: .5em;
-    margin-right: 0;
+	float: right;
+	margin-left: .5em;
+	margin-right: 0;
 }
 
 /* tools
@@ -81,294 +81,294 @@
 .mode_revisions .action.revs a,
 .mode_backlink .action.backlink a,
 .mode_subscribe .action.subscribe a {
-    font-weight: bold;
+	font-weight: bold;
 }
 
 #dokuwiki__header .tools {
-    ul {
-        padding-left: 0;
-        margin-bottom: 0;
-    }
+	ul {
+		padding-left: 0;
+		margin-bottom: 0;
+	}
 
-    li {
-        font-size: 0.875em;
-        margin-left: 1em;
-        list-style: none;
-        display: inline;
-    }
+	li {
+		font-size: 0.875em;
+		margin-left: 1em;
+		list-style: none;
+		display: inline;
+	}
 
-    form.search div.ajax_qsearch li {
-        font-size: 1em;
-        margin-left: 0;
-        display: block;
-        overflow: hidden;
-        text-overflow: ellipsis;
-    }
+	form.search div.ajax_qsearch li {
+		font-size: 1em;
+		margin-left: 0;
+		display: block;
+		overflow: hidden;
+		text-overflow: ellipsis;
+	}
 }
 
 [dir=rtl] #dokuwiki__header .tools li {
-    margin-right: 1em;
-    margin-left: 0;
+	margin-right: 1em;
+	margin-left: 0;
 }
 
 #dokuwiki__header .mobileTools {
-    display: none; /* hide mobile tools dropdown to only show in mobile view */
+	display: none; /* hide mobile tools dropdown to only show in mobile view */
 }
 
 /*____________ site tools ____________*/
 
 #dokuwiki__sitetools {
-    & {
+	& {
 		text-align: right;
 	}
-    form.search {
-        font-size: 0.875em;
-    }
+	form.search {
+		font-size: 0.875em;
+	}
 }
 
 [dir=rtl] #dokuwiki__sitetools {
-    text-align: left;
+	text-align: left;
 }
 
 form.search {
-    display: block;
-    position: relative;
-    margin-bottom: 0.5em;
+	display: block;
+	position: relative;
+	margin-bottom: 0.5em;
 
-    input {
-        /* width: 18em; */
-        padding: .35em 22px .35em .1em;
-    }
+	input {
+		/* width: 18em; */
+		padding: .35em 22px .35em .1em;
+	}
 
-    button {
-        background: transparent url(images/search.png) no-repeat 0 0;
+	button {
+		background: transparent url(images/search.png) no-repeat 0 0;
 		background-size: 16px;
-        border-width: 0;
-        width: 16px;
-        height: 16px;
-        text-indent: -99999px;
-        margin-left: -28px;
-        box-shadow: none;
-        padding: 0;
-    }
+		border-width: 0;
+		width: 16px;
+		height: 16px;
+		text-indent: -99999px;
+		margin-left: -28px;
+		box-shadow: none;
+		padding: 0;
+	}
 }
 
 [dir=rtl] form.search {
-    input {
-        padding: .35em .1em .35em 22px;
-    }
+	input {
+		padding: .35em .1em .35em 22px;
+	}
 
-    button {
-        background-position: 5px 0;
-        margin-left: 0;
-        margin-right: -20px;
-        position: relative;
-    }
+	button {
+		background-position: 5px 0;
+		margin-left: 0;
+		margin-right: -20px;
+		position: relative;
+	}
 }
 
 /*____________ breadcrumbs ____________*/
 
 .dokuwiki div.breadcrumbs {
-    border-top: 1px solid @ini_border;
-    border-bottom: 1px solid @ini_background;
-    margin-bottom: .5em;
-    font-size: 0.875em;
-    clear: both;
+	border-top: 1px solid @ini_border;
+	border-bottom: 1px solid @ini_background;
+	margin-bottom: .5em;
+	font-size: 0.875em;
+	clear: both;
 
-    div {
-        padding: .1em .35em;
-    }
+	div {
+		padding: .1em .35em;
+	}
 
-    div:only-child {
-        border-top: 1px solid @ini_background;
-        border-bottom: 1px solid @ini_border;
-    }
+	div:only-child {
+		border-top: 1px solid @ini_background;
+		border-bottom: 1px solid @ini_border;
+	}
 
-    div:first-child {
-        border-top: 1px solid @ini_background;
-    }
+	div:first-child {
+		border-top: 1px solid @ini_background;
+	}
 
-    div:last-child {
-        border-bottom: 1px solid @ini_border;
-    }
+	div:last-child {
+		border-bottom: 1px solid @ini_border;
+	}
 
-    .bcsep {
-        font-size: 0.75em;
-    }
+	.bcsep {
+		font-size: 0.75em;
+	}
 }
 
 /* sidebar
 ********************************************************************/
 
 .dokuwiki .aside {
-    font-size: 0.875em;
-    overflow: hidden;
-    word-wrap: break-word;
+	font-size: 0.875em;
+	overflow: hidden;
+	word-wrap: break-word;
 
-    /* make sidebar more condensed */
+	/* make sidebar more condensed */
 
-    h1 {
-        font-size: 1.714em;
-        margin-bottom: .292em;
-    }
+	h1 {
+		font-size: 1.714em;
+		margin-bottom: .292em;
+	}
 
-    h2 {
-        margin-bottom: .333em;
-    }
+	h2 {
+		margin-bottom: .333em;
+	}
 
-    h3 {
-        margin-bottom: .444em;
-    }
+	h3 {
+		margin-bottom: .444em;
+	}
 
-    h4 {
-        margin-bottom: .5em;
-    }
+	h4 {
+		margin-bottom: .5em;
+	}
 
-    h5 {
-        margin-bottom: .5714em;
-    }
+	h5 {
+		margin-bottom: .5714em;
+	}
 
-    p,
-    ul,
-    ol,
-    dl,
-    pre,
-    table,
-    fieldset,
-    hr,
-    blockquote,
-    address {
-        margin-bottom: .7em;
-    }
+	p,
+	ul,
+	ol,
+	dl,
+	pre,
+	table,
+	fieldset,
+	hr,
+	blockquote,
+	address {
+		margin-bottom: .7em;
+	}
 
-    ul,
-    ol {
-        padding-left: .5em;
-    }
+	ul,
+	ol {
+		padding-left: .5em;
+	}
 
-    li ul,
-    li ol {
-        margin-bottom: 0;
-        padding: 0;
-    }
+	li ul,
+	li ol {
+		margin-bottom: 0;
+		padding: 0;
+	}
 
-    a:link,
-    a:visited {
-        color: @ini_link;
-        background-color: inherit;
-    }
+	a:link,
+	a:visited {
+		color: @ini_link;
+		background-color: inherit;
+	}
 }
 
 [dir=rtl] .dokuwiki .aside ul,
 [dir=rtl] .dokuwiki .aside ol {
-    padding-right: .5em;
+	padding-right: .5em;
 }
 
 /* content
 ********************************************************************/
 
 .dokuwiki .pageId {
-    float: right;
-    margin-right: -1em;
-    margin-bottom: -1px;
-    margin-top: -1.5em;
-    overflow: hidden;
-    padding: 0.5em 1em 0;
+	float: right;
+	margin-right: -1em;
+	margin-bottom: -1px;
+	margin-top: -1.5em;
+	overflow: hidden;
+	padding: 0.5em 1em 0;
 
-    span {
-        font-size: 0.875em;
-        border: solid @ini_background_alt;
-        border-width: 1px 1px 0;
-        background-color: @ini_background;
-        color: @ini_text_alt;
-        padding: .1em .35em;
-        border-top-left-radius: 2px;
-        border-top-right-radius: 2px;
-        box-shadow: 0 0 .5em @ini_text_alt;
-        display: block;
-    }
+	span {
+		font-size: 0.875em;
+		border: solid @ini_background_alt;
+		border-width: 1px 1px 0;
+		background-color: @ini_background;
+		color: @ini_text_alt;
+		padding: .1em .35em;
+		border-top-left-radius: 2px;
+		border-top-right-radius: 2px;
+		box-shadow: 0 0 .5em @ini_text_alt;
+		display: block;
+	}
 }
 
 .dokuwiki div.page {
-    clear: both;
-    background: @ini_background;
-    color: inherit;
-    border: 1px solid @ini_background_alt;
-    box-shadow: 0 0 .5em @ini_text_alt;
-    border-radius: 2px;
-    padding: 1.556em 2em 2em;
-    margin-bottom: .5em;
-    overflow: hidden;
-    word-wrap: break-word;
+	clear: both;
+	background: @ini_background;
+	color: inherit;
+	border: 1px solid @ini_background_alt;
+	box-shadow: 0 0 .5em @ini_text_alt;
+	border-radius: 2px;
+	padding: 1.556em 2em 2em;
+	margin-bottom: .5em;
+	overflow: hidden;
+	word-wrap: break-word;
 }
 
 .dokuwiki .docInfo {
-    font-size: 0.875em;
-    text-align: right;
-    overflow-wrap: break-word;
+	font-size: 0.875em;
+	text-align: right;
+	overflow-wrap: break-word;
 }
 
 /* license note under edit window */
 .dokuwiki div.license {
-    font-size: small;
-    line-height: 1.5em;
-    padding: 3pt;
-    background-color: @ini_background_alt;
-    border: @ini_border solid 1px;
+	font-size: small;
+	line-height: 1.5em;
+	padding: 3pt;
+	background-color: @ini_background_alt;
+	border: @ini_border solid 1px;
 }
 
 [dir=rtl] .dokuwiki .docInfo {
-    text-align: left;
+	text-align: left;
 }
 
 [dir=rtl] .dokuwiki .pageId {
-    float: left;
-    margin-left: -1em;
-    margin-right: 0;
+	float: left;
+	margin-left: -1em;
+	margin-right: 0;
 }
 
 /* footer
 ********************************************************************/
 
 .dokuwiki .wrapper {
-    margin-bottom: 1.4em;
+	margin-bottom: 1.4em;
 }
 
 #dokuwiki__footer {
-    margin-bottom: 1em;
-    text-align: center;
+	margin-bottom: 1em;
+	text-align: center;
 
-    > .pad {
-        font-size: 0.875em;
-    }
+	> .pad {
+		font-size: 0.875em;
+	}
 
-    div.license {
-        margin-bottom: 0.5em;
-        font-size: 100%;
-    }
+	div.license {
+		margin-bottom: 0.5em;
+		font-size: 100%;
+	}
 
-    div.buttons a {
-        img {
-            opacity: 0.5;
-        }
+	div.buttons a {
+		img {
+			opacity: 0.5;
+		}
 
-        &:hover img,
-        &:active img,
-        &:focus img {
-            opacity: 1;
-        }
-    }
+		&:hover img,
+		&:active img,
+		&:focus img {
+			opacity: 1;
+		}
+	}
 
 }
 
 [dir=rtl] #dokuwiki__footer .license img {
-    margin: 0 0 0 .5em;
+	margin: 0 0 0 .5em;
 }
 
 /* dark mode overrides */
 @media (prefers-color-scheme: dark) {
-    body.darkmode div.license {
-        background-color: @ini_background_alt_dark;
-        border-color: @ini_border_dark;
-    }
+	body.darkmode div.license {
+		background-color: @ini_background_alt_dark;
+		border-color: @ini_border_dark;
+	}
 }
\ No newline at end of file
diff --git a/templates/55/ad-hominem/css/geshi.less b/templates/55/ad-hominem/css/geshi.less
new file mode 100644
index 0000000..2edccfc
--- /dev/null
+++ b/templates/55/ad-hominem/css/geshi.less
@@ -0,0 +1,76 @@
+/**
+ * This file overrides syntax highlighting colours
+ *
+ * @author Sascha Leib <ad@hominem.info>
+**/
+
+main .code {
+	.co0 { color: #545454 }
+	.co4 { color: #AD0000 }
+	.es5 { color: #005C8A }
+	.es6 { color: #006120 }
+	.kw2 { color: #000000 } /* no change */
+	.kw5 { color: #006600 }
+	.kw6 { color: #A8005A }
+	.me0 { color: #004000 } /* no change */
+	.nu0 { color: #8A2E8A }
+	.re0 { color: #0000ff }
+	.re3 { color: #AD0000 }
+	.re4 { color: #006161 }
+	.re5 { color: #660033 } /* no change */
+	.re7 { color: #991111 } /* no change */
+	.re8 { color: #005200 }
+	.sc-2 { color: #404040 } /* no change */
+	.sy3 { color: #000040 } /* no change */
+	.br0, .sy0 { color: #216321; }
+	.co1, .coMULTI, .sc-1 { color: #545454 }
+	.co2, .sy1 { color: #216321 }
+	.co3, .sy4 { color: #006161 }
+	.es0, .es1, .esHARD { color: #000099 } /* no change */
+	.es2, .es3, .es4 { color: #660099 } /* no change */
+	.kw1, .kw8 { color: #855c0d }
+	.kw10, .kw11, .kw12, .kw9 { color: #003399 }
+	.kw13, .kw14, .kw15, .kw16, .me1, .me2 { color: #006600 } /* no change */
+	.kw3, .kw7, .sy2 { color: #000066 } /* no change */
+	.kw4, .re2 { color: #993333 } /* no change */
+	.re1, .st0, .st_h { color: #E60000 }
+	.ln-xtra { background-color: @ini_highlight }
+}
+
+/* dark mode overrides */
+@media (prefers-color-scheme: dark) {
+
+	body.darkmode main .code {
+		
+		.co0 { color: #A6A6A6 }
+		.co4 { color: #FF8080 }
+		.es5 { color: #0FAFFF }
+		.es6 { color: #00C241 }
+		.kw2 { color: #EEEEEE }
+		.kw5 { color: #52FF52 }
+		.kw6 { color: #FF99CC }
+		.me0 { color: #00C200 }
+		.nu0 { color: #D98CD9 }
+		.re0 { color: #9E9EFF }
+		.re3 { color: #FF8080 }
+		.re4 { color: #00CCCC }
+		.re5 { color: #FF7ABD }
+		.re7 { color: #F28888 }
+		.re8 { color: #38FF38 }
+		.sc-2 { color: #A6A6A6 }
+		.sy3 { color: #9E9EFF  }
+		.br0, .sy0 { color: #66cc66 } /* no change */
+		.co1, .coMULTI, .sc-1 { color: #DDDDDD }
+		.co2, .sy1 { color: #94DB94 }
+		.co3, .sy4 { color: #00EBEB }
+		.es0, .es1, .esHARD { color: #A8A8FF }
+		.es2, .es3, .es4 { color: #D685FF }
+		.kw1, .kw8 { color: #D6D600 }
+		.kw10, .kw11, .kw12, .kw9 { color: #B8CEFF }
+		.kw13, .kw14, .kw15, .kw16, .me1, .me2 { color: #00FF00 }
+		.kw3, .kw7, .sy2 { color: #CCCCFF }
+		.kw4, .re2 { color: #ECC5C5 }
+		.re1, .st0, .st_h { color: #FF8080 }
+		.ln-xtra { background-color: @ini_highlight_dark }
+	}
+}
\ No newline at end of file
diff --git a/templates/55/ad-hominem/css/layout.less b/templates/55/ad-hominem/css/layout.less
index f034095..65a18c3 100644
--- a/templates/55/ad-hominem/css/layout.less
+++ b/templates/55/ad-hominem/css/layout.less
@@ -418,7 +418,7 @@ div.no {
 	margin: 1em .25em 0 1em;
 }
 #navBreadCrumbs {
-	margin-left: .5em;
+	margin: 1em .25em 0 1em;
 }
 #navBreadCrumbs ol {
 	list-style: decimal outside;
@@ -521,7 +521,7 @@ body.home #navYouAreHere ol li:last-child {
 		line-height: 1.5em;
 		text-align: left;
 		max-width: @ini_toc_width;
-		background-color: transparent;
+		background-color: @ini_background;
 		border: transparent none 0;
 		border-left: @ini_border solid 1pt;
 	}
@@ -929,6 +929,11 @@ body.mediadetail {
 	
 	body.darkmode {
 
+		#toc {
+			background-color: @ini_background_dark;
+			border-left: @ini_border_dark solid 1pt;
+		}
+
 		& { background-color: @ini_background_site_dark; color: @ini_text_dark; }
 		#skip-link a { background-color: @ini_background_dark;color: @ini_link_dark;}
 		#navYouAreHere ol {
@@ -1033,7 +1038,7 @@ body.mediadetail {
 	#header-layout > header {
 		margin: 0;
 		grid-template-columns: e("repeat(2, auto)");
-		grid-template-rows:    e("repeat(4, auto)");
+		grid-template-rows: e("repeat(4, auto)");
 	}
 	#header-layout > header #siteLogo {
 		grid-column: 1;
@@ -1044,11 +1049,11 @@ body.mediadetail {
 		grid-column: 2;
 	}
 	#header-layout>header #globalTools ul li {
-		display:			block;
-		margin-bottom:		.5em;
+		display: block;
+		margin-bottom: .5em;
 	}
 	#header-layout>header #globalTools ul li:before {
-		content:			'';
+		content: '';
 	}
 	#header-layout>header #phSearch {
 		grid-row: 2;
@@ -1192,7 +1197,7 @@ body.mediadetail {
 		display: initial;
 	}
 	.toggle.auto .tg_content {
-		display:		none;
+		display: none;
 	}
 
 	#toc.hide h3::after,
@@ -1220,22 +1225,22 @@ body.mediadetail {
 	body.darkmode #sidebar {
 		.tg_content {
 			& {
-				background-color:	@ini_background_dark;
-				border-color:		@ini_border_dark;
-				-moz-box-shadow:		3px 3px 3px @ini_background_site_dark;
-				-webkit-box-shadow:		3px 3px 3px @ini_background_site_dark;
-				box-shadow:				3px 3px 3px @ini_background_site_dark;
+				background-color: @ini_background_dark;
+				border-color: @ini_border_dark;
+				-moz-box-shadow: 3px 3px 3px @ini_background_site_dark;
+				-webkit-box-shadow: 3px 3px 3px @ini_background_site_dark;
+				box-shadow: 3px 3px 3px @ini_background_site_dark;
 			}
 			&::before {
-				border-bottom-color:	@ini_border_dark;
+				border-bottom-color: @ini_border_dark;
 			}
 			&::after {
-				border-bottom-color:	@ini_background_dark;
+				border-bottom-color: @ini_background_dark;
 			}
 		}
 		hr {
-			background:				@ini_link_dark;
-			background-image:		linear-gradient(to right, @ini_background_dark, @ini_headlines_dark, @ini_background_dark);
+			background: @ini_link_dark;
+			background-image: linear-gradient(to right, @ini_background_dark, @ini_headlines_dark, @ini_background_dark);
 		}
 	}
 }
@@ -1297,12 +1302,12 @@ body.mediadetail {
 	}
 
 	main blockquote {
-		margin-left:	.15em;
-		margin-right:	0;
+		margin-left: .15em;
+		margin-right: 0;
 	}
 	main ul, main ol {
-		margin-left:	.5em;
-		margin-right:	0;
-		padding-left:	.75em;
+		margin-left: .5em;
+		margin-right: 0;
+		padding-left: .75em;
 	}	
 }
\ No newline at end of file
diff --git a/templates/55/ad-hominem/css/links.less b/templates/55/ad-hominem/css/links.less
index f97f7ca..dfc207b 100644
--- a/templates/55/ad-hominem/css/links.less
+++ b/templates/55/ad-hominem/css/links.less
@@ -2,7 +2,7 @@
  * This contains the content styling
  * @author Sascha Leib <sascha@leib.be>
  */
- 
+
 /* general link styles */
 a:link {
 	color: @ini_link;
@@ -30,7 +30,7 @@ a.wikilink2:visited {
 a.media:link,
 a.media:visited {
 	display: block;
-	line-height: 0;
+	line-height: initial;
 }
 
 /* in-page links */
@@ -56,4 +56,4 @@ footer #ftInclude a.wikilink1:visited {
 	body.darkmode a.wikilink2:link, body.darkmode a.wikilink2:visited { color: @ini_missing_dark; }
 	body.darkmode #ftInclude a.wikilink1:link, body.darkmode #ftInclude a.wikilink1:visited { color: @ini_link_dark; }
 	body.darkmode a[href^='#'].wikilink1:link, body.darkmode a[href^='#'].wikilink1:visited { color: @ini_inpage_dark; }
-}
\ No newline at end of file
+}
diff --git a/templates/55/ad-hominem/css/pagetools.less b/templates/55/ad-hominem/css/pagetools.less
index 5473594..5e05fd9 100644
--- a/templates/55/ad-hominem/css/pagetools.less
+++ b/templates/55/ad-hominem/css/pagetools.less
@@ -7,118 +7,118 @@
  */
 
 #dokuwiki__site > .site {
-    /* give space to the right so the tools won't disappear on smaller screens */
-    /* it's 40px because the 30px wide icons will have 5px more spacing to the left and right */
-    padding-right: 40px;
-    /* give the same space to the left to balance it out */
-    padding-left: 40px;
+	/* give space to the right so the tools won't disappear on smaller screens */
+	/* it's 40px because the 30px wide icons will have 5px more spacing to the left and right */
+	padding-right: 40px;
+	/* give the same space to the left to balance it out */
+	padding-left: 40px;
 }
 
 .dokuwiki div.page {
-    height: 190px;
-    min-height: 190px; /* 30 (= height of icons) x 6 (= maximum number of possible tools) + 2x5 */
-    height: auto;
+	height: 190px;
+	min-height: 190px; /* 30 (= height of icons) x 6 (= maximum number of possible tools) + 2x5 */
+	height: auto;
 }
 
 #dokuwiki__pagetools {
-    @ico-width: 28px;
-    @ico-margin: 8px;
-    @item-width: (@ico-width + @ico-margin + @ico-margin);
-    @item-height: (@ico-width + @ico-margin);
+	@ico-width: 28px;
+	@ico-margin: 8px;
+	@item-width: (@ico-width + @ico-margin + @ico-margin);
+	@item-height: (@ico-width + @ico-margin);
 
-    position: absolute;
-    right: (-1 * @item-width);
-    /* on same vertical level as first headline, because .page has 2em padding */
-    top: 2em;
-    width: @item-width;
+	position: absolute;
+	right: (-1 * @item-width);
+	/* on same vertical level as first headline, because .page has 2em padding */
+	top: 2em;
+	width: @item-width;
 
-    div.tools {
-        position: fixed;
-        width: @item-width;
+	div.tools {
+		position: fixed;
+		width: @item-width;
 
-        ul {
-            position: absolute;
-            right: 0;
-            text-align: right;
-            margin: 0;
-            padding: 0;
-            /* add transparent border to prevent jumping when proper border is added on hover */
-            border: 1px solid transparent;
-            z-index: 10;
+		ul {
+			position: absolute;
+			right: 0;
+			text-align: right;
+			margin: 0;
+			padding: 0;
+			/* add transparent border to prevent jumping when proper border is added on hover */
+			border: 1px solid transparent;
+			z-index: 10;
 
-            li {
-                padding: 0;
-                margin: 0;
-                list-style: none;
-                font-size: 0.875em;
+			li {
+				padding: 0;
+				margin: 0;
+				list-style: none;
+				font-size: 0.875em;
 
-                a {
+				a {
 
-                    display: block;
-                    /* add transparent border to prevent jumping when proper border is added on focus */
-                    border: 1px solid transparent;
-                    white-space: nowrap;
-                    line-height: @item-height;
-                    vertical-align: middle;
-                    height: @item-height;
+					display: block;
+					/* add transparent border to prevent jumping when proper border is added on focus */
+					border: 1px solid transparent;
+					white-space: nowrap;
+					line-height: @item-height;
+					vertical-align: middle;
+					height: @item-height;
 
-                    span {
-                        display: none; // hide label until hover
-                        margin: 0 @ico-margin;
-                    }
+					span {
+						display: none; // hide label until hover
+						margin: 0 @ico-margin;
+					}
 
-                    svg {
-                        width: @ico-width;
-                        height: @ico-width;
-                        margin: 0 @ico-margin;
-                        display: inline-block;
-                        vertical-align: middle;
-                        fill: @ini_border;
-                    }
-                }
+					svg {
+						width: @ico-width;
+						height: @ico-width;
+						margin: 0 @ico-margin;
+						display: inline-block;
+						vertical-align: middle;
+						fill: @ini_border;
+					}
+				}
 
-                // on interaction show the full item
-                a:active,
-                a:focus,
-                a:hover {
-                    background-color: @ini_background_alt;
+				// on interaction show the full item
+				a:active,
+				a:focus,
+				a:hover {
+					background-color: @ini_background_alt;
 
-                    span {
-                        display: inline-block;
-                    }
+					span {
+						display: inline-block;
+					}
 
-                    svg {
-                        fill: @ini_link;
-                    }
-                }
-            }
-        }
-    }
+					svg {
+						fill: @ini_link;
+					}
+				}
+			}
+		}
+	}
 
-    [dir=rtl] & {
-        right: auto;
-        left: (-1 * @item-width);
+	[dir=rtl] & {
+		right: auto;
+		left: (-1 * @item-width);
 
-        div.tools {
-            ul {
-                right: auto;
-                left: 0;
-                text-align: left;
-            }
-        }
-    }
+		div.tools {
+			ul {
+				right: auto;
+				left: 0;
+				text-align: left;
+			}
+		}
+	}
 }
 
 // on hover or focus show all items
 #dokuwiki__pagetools:hover, #dokuwiki__pagetools:focus-within {
-    div.tools ul {
-        background-color: @ini_background;
-        border-color: @ini_border;
-        border-radius: 2px;
-        box-shadow: 2px 2px 2px @ini_text_alt;
+	div.tools ul {
+		background-color: @ini_background;
+		border-color: @ini_border;
+		border-radius: 2px;
+		box-shadow: 2px 2px 2px @ini_text_alt;
 
-        li a span {
-            display: inline-block;
-        }
-    }
+		li a span {
+			display: inline-block;
+		}
+	}
 }
diff --git a/templates/55/ad-hominem/css/plugins.less b/templates/55/ad-hominem/css/plugins.less
index f2f379c..a8bdb53 100644
--- a/templates/55/ad-hominem/css/plugins.less
+++ b/templates/55/ad-hominem/css/plugins.less
@@ -25,4 +25,67 @@
 		padding: .25em .5em;
 		cursor: pointer;
 	}
+}
+
+/* redirect plugin (dark mode override): */
+
+@media (prefers-color-scheme: dark) {
+
+	body.darkmode div.noteredirect {
+		background-color: #2A4456;
+	}
+}
+
+/* move plugin: */
+
+main #plugin_move__progress #plugin_move__preview span {
+	color: @ini_link;
+}
+
+@media (prefers-color-scheme: dark) {
+
+	body.darkmode #plugin_move__progress #plugin_move__preview span {
+		color: @ini_link_dark;
+	}
+	body.darkmode #plugin_move__tree ul.tree_list li div:hover {
+		background-color: @ini_background_alt_dark;
+	}
+
+	body.darkmode .ui-widget-content {
+		border-color: @ini_border_dark;
+		background-color: @ini_background_site_dark;
+		color: @ini_text_alt_dark;
+	}
+
+	body.darkmode .ui-widget.ui-widget-content {
+		border-color: @ini_border_dark;
+	}
+	body.darkmode .ui-widget-header {
+		color: @ini_text_dark;
+		background: @ini_background_alt_dark none 50% 50% repeat-x;
+	}
+}
+
+/* searchIndex Manager plugin (dark mode overrides): */
+
+@media (prefers-color-scheme: dark) {
+	body.darkmode  #plugin__searchindex_msg {
+		background-color: @ini_background_site_dark;
+		color: @ini_text_alt_dark;
+		border-color: @ini_border_dark;
+	}
+}
+
+/* Translations plugin: */
+
+table#outdated_translations {
+	td.missing { background-color: #fdd; }
+	td.current { background-color: #dfd; }
+}
+
+@media (prefers-color-scheme: dark) {
+	body.darkmode table#outdated_translations {
+		td.missing { background-color: #300; }
+		td.current { background-color: #030; }
+	}
 }
\ No newline at end of file
diff --git a/templates/55/ad-hominem/css/print.less b/templates/55/ad-hominem/css/print.less
index 63944ab..a1282a6 100644
--- a/templates/55/ad-hominem/css/print.less
+++ b/templates/55/ad-hominem/css/print.less
@@ -108,6 +108,7 @@ main {
 	-moz-box-shadow: 0 0 0 0 transparent;
 	-webkit-box-shadow: 0 0 0 0 transparent;
 	box-shadow: 0 0 0 0 transparent;
+	font-variant-ligatures: common-ligatures discretionary-ligatures;
 }
 
 /* headlines */
@@ -376,27 +377,35 @@ main img {
 }
 
 /* footnotes */
-main div.footnotes {
-	margin-top: 1.5em;
+.dokuwiki div.footnotes {
+	border-top: transparent 0 none;
 	font-size: smaller;
 }
-main div.footnotes div.fn {
-	display: grid;
-	grid-template-columns: 1.5em auto;
-	grid-gap: .25em;
+
+.dokuwiki sup a.fn_top {
+	color: #000;
 }
-main div.footnotes div.fn > sup {
-	vertical-align: baseline;
-	font-size: smaller;
-	text-align: right;
+.dokuwiki sup a.fn_top::after {
+	font-size: 1.0rem;
+	font-weight: normal;
+}
+ #main-content h1 + div > p:first-child sup a.fn_top::after {
+	 font-weight: bold;
+ }
+ 
+.dokuwiki div.footnotes > .fn .fn_bot {
+	color: #000;
+}
+.dokuwiki div.footnotes > .fn .fn_bot::after {
+	font-size: .833rem;
 }
 
 main div.footnotes:before {
 	content: ' ';
 	display: block;
-	width: 33%;
+	width: 50%;
 	min-width: 5em;
-	border-top: @ini_text solid .5pt;
+	border-top: #000 solid .5pt;
 	height: .5em;
 }
 
diff --git a/templates/55/ad-hominem/css/structure.less b/templates/55/ad-hominem/css/structure.less
index 3ea2f83..ee4adc0 100644
--- a/templates/55/ad-hominem/css/structure.less
+++ b/templates/55/ad-hominem/css/structure.less
@@ -4,86 +4,86 @@
  * @author Anika Henke <anika@selfthinker.org>
  */
 body {
-    margin: 0 auto;
+	margin: 0 auto;
 }
 
 #dokuwiki__site {
-    margin: 0 auto;
-    max-width: @ini_site_width;
+	margin: 0 auto;
+	max-width: @ini_site_width;
 }
 
 #dokuwiki__site > .site {
-    padding: 0 .5em;
+	padding: 0 .5em;
 }
 
 #dokuwiki__header {
-    width: 100%;
+	width: 100%;
 
-    .headings {
-        float: left;
-    }
+	.headings {
+		float: left;
+	}
 
-    .tools {
-        float: right;
-        text-align: right;
-    }
+	.tools {
+		float: right;
+		text-align: right;
+	}
 }
 
 [dir=rtl] #dokuwiki__header {
-    .headings {
-        float: right;
-        text-align: right;
-    }
+	.headings {
+		float: right;
+		text-align: right;
+	}
 
-    .tools {
-        float: left;
-        text-align: left;
-    }
+	.tools {
+		float: left;
+		text-align: left;
+	}
 }
 
 #dokuwiki__site .wrapper {
-    position: relative;
+	position: relative;
 }
 
 #dokuwiki__aside {
-    width: @ini_sidebar_width;
-    float: left;
-    position: relative;
-    display: block;
+	width: @ini_sidebar_width;
+	float: left;
+	position: relative;
+	display: block;
 
-    > .pad {
-        margin: 0 1.5em 0 0;
-    }
+	> .pad {
+		margin: 0 1.5em 0 0;
+	}
 }
 
 [dir=rtl] #dokuwiki__aside {
-    float: right;
-    > .pad {
-        margin: 0 0 0 1.5em;
-    }
+	float: right;
+	> .pad {
+		margin: 0 0 0 1.5em;
+	}
 }
 
 .showSidebar #dokuwiki__content {
-    float: right;
-    margin-left: (-1 * @ini_sidebar_width);
-    width: 100%;
+	float: right;
+	margin-left: (-1 * @ini_sidebar_width);
+	width: 100%;
 
-    > .pad {
-        margin-left: @ini_sidebar_width;
-    }
+	> .pad {
+		margin-left: @ini_sidebar_width;
+	}
 }
 
 [dir=rtl] .showSidebar #dokuwiki__content {
-    float: left;
-    margin-left: 0;
-    margin-right: (-1 * @ini_sidebar_width);
+	float: left;
+	margin-left: 0;
+	margin-right: (-1 * @ini_sidebar_width);
 
-    > .pad {
-        margin-left: 0;
-        margin-right: @ini_sidebar_width;
-    }
+	> .pad {
+		margin-left: 0;
+		margin-right: @ini_sidebar_width;
+	}
 }
 
 #dokuwiki__footer {
-    clear: both;
+	clear: both;
 }
diff --git a/templates/55/ad-hominem/css/usertools.less b/templates/55/ad-hominem/css/usertools.less
index efdf16c..ffe253b 100644
--- a/templates/55/ad-hominem/css/usertools.less
+++ b/templates/55/ad-hominem/css/usertools.less
@@ -1,50 +1,50 @@
 #dokuwiki__usertools {
-    position: absolute;
-    top: .5em;
-    right: 40px; // pagetool width
-    text-align: right;
-    width: 100%;
+	position: absolute;
+	top: .5em;
+	right: 40px; // pagetool width
+	text-align: right;
+	width: 100%;
 
-    ul {
-        margin: 0 auto;
-        padding: 0;
-        max-width: @ini_site_width;
-    }
+	ul {
+		margin: 0 auto;
+		padding: 0;
+		max-width: @ini_site_width;
+	}
 
-    li.action a {
-        display: inline-flex;
-        flex-direction: row-reverse;
-        flex-wrap: nowrap;
+	li.action a {
+		display: inline-flex;
+		flex-direction: row-reverse;
+		flex-wrap: nowrap;
 
-        svg {
-            height: 1.4em;
-            width: 1.4em;
-            vertical-align: middle;
-            fill: @ini_border;
-            margin-right: 0.2em;
-        }
-    }
+		svg {
+			height: 1.4em;
+			width: 1.4em;
+			vertical-align: middle;
+			fill: @ini_border;
+			margin-right: 0.2em;
+		}
+	}
 
-    li.action a:hover,
-    li.action a:active {
-        svg {
-            fill: @ini_link;
-        }
-    }
+	li.action a:hover,
+	li.action a:active {
+		svg {
+			fill: @ini_link;
+		}
+	}
 
 }
 
 [dir=rtl] #dokuwiki__usertools {
-    text-align: left;
-    left: 40px; // pagetool width
-    right: auto;
+	text-align: left;
+	left: 40px; // pagetool width
+	right: auto;
 
 
-    li.action a {
+	li.action a {
 
-        svg {
-            margin-right: 0;
-            margin-left: 0.2em;
-        }
-    }
+		svg {
+			margin-right: 0;
+			margin-left: 0.2em;
+		}
+	}
 }
diff --git a/templates/55/ad-hominem/detail.php b/templates/55/ad-hominem/detail.php
index 6e2ba89..f2747ab 100644
--- a/templates/55/ad-hominem/detail.php
+++ b/templates/55/ad-hominem/detail.php
@@ -2,11 +2,11 @@
 /**
  * Ad Hominem Template
  *
- * @link     https://ad.hominem.info/
- * @author   Sascha Leib <sascha@leib.be>
- * @author   Anika Henke <anika@selfthinker.org>
- * @author   Clarence Lee <clarencedglee@gmail.com>
- * @license  GPL 2 (http://www.gnu.org/licenses/gpl.html)
+ * @link	https://ad.hominem.info/
+ * @author	Sascha Leib <sascha@leib.be>
+ * @author	Anika Henke <anika@selfthinker.org>
+ * @author	Clarence Lee <clarencedglee@gmail.com>
+ * @license	GPL 2 (http://www.gnu.org/licenses/gpl.html)
  */
  
 ini_set('display_errors', 0);
@@ -56,7 +56,7 @@ $htmlLang = ' lang="' . $conf['lang'] . ( $lang['direction'] != 'ltr' ? '" dir="
 			<div id="phInclude"><?php tpl_includeFile('header.html') ?></div>
 		</header>
 	</div>
-    <div id="main-layout">
+	<div id="main-layout">
 		<div id="sidebar" class="toggle hide">
 			<button class="tg_button" title="<?php echo $lang['sidebar'] ?>"><span><?php echo $lang['sidebar'] ?></span></button>
 			<div class="tg_content">
diff --git a/templates/55/ad-hominem/images/cookie.svg b/templates/55/ad-hominem/images/cookie.svg
deleted file mode 100644
index 94a3cb5..0000000
--- a/templates/55/ad-hominem/images/cookie.svg
+++ /dev/null
@@ -1 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg width="100%" height="100%" viewBox="0 0 64 64" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" xmlns:serif="http://www.serif.com/" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:1.5;"><path d="M17.272,19.443c6.035,-0.582 10.759,-5.673 10.759,-11.858c-0,-1.843 -0.42,-3.588 -1.168,-5.146c1.668,-0.289 3.385,-0.439 5.137,-0.439c16.557,-0 30,13.443 30,30c0,16.557 -13.443,30 -30,30c-16.557,-0 -30,-13.443 -30,-30c0,-0.925 0.042,-1.84 0.124,-2.743c1.061,0.31 2.183,0.476 3.345,0.476c6.025,0 11.011,-4.482 11.803,-10.29Z" style="fill:#d5944b;stroke:#26251d;stroke-width:4px;"/><circle cx="17.927" cy="41.07" r="3.488" style="fill:#443017;"/><circle cx="31.33" cy="30.835" r="3.488" style="fill:#443017;"/><circle cx="32" cy="49.883" r="3.488" style="fill:#443017;"/><circle cx="43.952" cy="41.07" r="3.488" style="fill:#443017;"/><circle cx="49.092" cy="27.347" r="3.488" style="fill:#443017;"/><circle cx="38.306" cy="16.056" r="3.488" style="fill:#443017;"/></svg>
\ No newline at end of file
diff --git a/templates/55/ad-hominem/images/editor/default.svg b/templates/55/ad-hominem/images/editor/default.svg
deleted file mode 100644
index e547d3c..0000000
--- a/templates/55/ad-hominem/images/editor/default.svg
+++ /dev/null
@@ -1 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="24" height="24" viewBox="0 0 24 24"><path d="M22,13.5C22,15.26 20.7,16.72 19,16.96V20A2,2 0 0,1 17,22H13.2V21.7A2.7,2.7 0 0,0 10.5,19C9,19 7.8,20.21 7.8,21.7V22H4A2,2 0 0,1 2,20V16.2H2.3C3.79,16.2 5,15 5,13.5C5,12 3.79,10.8 2.3,10.8H2V7A2,2 0 0,1 4,5H7.04C7.28,3.3 8.74,2 10.5,2C12.26,2 13.72,3.3 13.96,5H17A2,2 0 0,1 19,7V10.04C20.7,10.28 22,11.74 22,13.5M17,15H18.5A1.5,1.5 0 0,0 20,13.5A1.5,1.5 0 0,0 18.5,12H17V7H12V5.5A1.5,1.5 0 0,0 10.5,4A1.5,1.5 0 0,0 9,5.5V7H4V9.12C5.76,9.8 7,11.5 7,13.5C7,15.5 5.75,17.2 4,17.88V20H6.12C6.8,18.25 8.5,17 10.5,17C12.5,17 14.2,18.25 14.88,20H17V15Z" style="fill:#333;"/></svg>
\ No newline at end of file
diff --git a/templates/55/ad-hominem/images/editor/format-bold.svg b/templates/55/ad-hominem/images/editor/format-bold.svg
deleted file mode 100644
index 67fcf2a..0000000
--- a/templates/55/ad-hominem/images/editor/format-bold.svg
+++ /dev/null
@@ -1 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg width="24px" height="24px" viewBox="0 0 100 100" version="1.1" xmlns="http://www.w3.org/2000/svg" xml:space="preserve"><path d="M72.1,54.841c-0,3.712 -0.406,7.05 -1.217,10.014c-0.811,2.964 -1.981,5.49 -3.509,7.581c-1.529,2.09 -3.408,3.696 -5.639,4.819c-2.23,1.123 -4.765,1.685 -7.604,1.685c-1.404,-0 -2.714,-0.133 -3.931,-0.398c-1.216,-0.265 -2.378,-0.694 -3.486,-1.287c-1.107,-0.592 -2.199,-1.341 -3.275,-2.246c-1.077,-0.905 -2.176,-1.996 -3.299,-3.275l-0,4.539c-0,0.343 -0.086,0.631 -0.258,0.865c-0.171,0.234 -0.452,0.429 -0.842,0.585c-0.39,0.156 -0.912,0.265 -1.567,0.328c-0.656,0.062 -1.451,0.093 -2.387,0.093c-0.967,0 -1.77,-0.031 -2.41,-0.093c-0.639,-0.063 -1.154,-0.172 -1.544,-0.328c-0.39,-0.156 -0.663,-0.351 -0.819,-0.585c-0.156,-0.234 -0.234,-0.522 -0.234,-0.865l0,-61.534c0,-0.312 0.094,-0.593 0.281,-0.842c0.187,-0.25 0.507,-0.46 0.959,-0.632c0.453,-0.172 1.053,-0.304 1.802,-0.398c0.748,-0.093 1.7,-0.14 2.854,-0.14c1.154,-0 2.106,0.047 2.855,0.14c0.748,0.094 1.349,0.226 1.801,0.398c0.452,0.172 0.772,0.382 0.959,0.632c0.188,0.249 0.281,0.53 0.281,0.842l0,23.069c1.061,-1.06 2.121,-1.965 3.182,-2.714c1.061,-0.749 2.121,-1.365 3.182,-1.848c1.061,-0.484 2.153,-0.835 3.276,-1.053c1.123,-0.218 2.308,-0.328 3.556,-0.328c3.088,0 5.709,0.617 7.861,1.849c2.153,1.232 3.908,2.893 5.265,4.983c1.357,2.09 2.347,4.531 2.971,7.324c0.624,2.792 0.936,5.732 0.936,8.82Zm-12.213,0.842c-0,-1.778 -0.133,-3.494 -0.398,-5.147c-0.265,-1.653 -0.725,-3.119 -1.38,-4.399c-0.656,-1.279 -1.506,-2.3 -2.551,-3.064c-1.045,-0.765 -2.363,-1.147 -3.954,-1.147c-0.78,0 -1.544,0.109 -2.293,0.328c-0.748,0.218 -1.52,0.592 -2.316,1.123c-0.795,0.53 -1.614,1.216 -2.457,2.059c-0.842,0.842 -1.731,1.887 -2.667,3.135l0,13.851c1.654,2.121 3.237,3.735 4.75,4.843c1.513,1.107 3.096,1.661 4.749,1.661c1.529,-0 2.823,-0.39 3.884,-1.17c1.061,-0.78 1.942,-1.794 2.644,-3.041c0.702,-1.248 1.209,-2.668 1.521,-4.259c0.312,-1.591 0.468,-3.182 0.468,-4.773Z" style="fill:#333;"/></svg>
\ No newline at end of file
diff --git a/templates/55/ad-hominem/images/editor/format-header-decrease.svg b/templates/55/ad-hominem/images/editor/format-header-decrease.svg
deleted file mode 100644
index 0a5fa35..0000000
--- a/templates/55/ad-hominem/images/editor/format-header-decrease.svg
+++ /dev/null
@@ -1 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg width="24px" height="24px" viewBox="0 0 100 100" version="1.1" xmlns="http://www.w3.org/2000/svg" xml:space="preserve"><path d="M87.522,19.851l-0.623,2.673c-0.757,0.049 -1.709,0.171 -2.856,0.366c-1.148,0.196 -2.014,0.379 -2.6,0.55c-1.001,0.317 -1.74,0.811 -2.216,1.483c-0.476,0.671 -0.812,1.422 -1.007,2.254l-8.371,36.368c-0.097,0.411 -0.177,0.8 -0.238,1.167c-0.061,0.366 -0.092,0.646 -0.092,0.842c0,1.098 0.47,1.91 1.41,2.435c0.94,0.525 2.692,0.91 5.256,1.154l-0.623,2.673l-28.111,-0l0.623,-2.673c0.635,-0.049 1.538,-0.122 2.71,-0.22c1.172,-0.098 2.014,-0.244 2.527,-0.44c0.952,-0.341 1.684,-0.83 2.197,-1.464c0.513,-0.635 0.867,-1.392 1.062,-2.271l4.189,-18.201l-21.82,0l-3.928,16.995c-0.098,0.413 -0.177,0.803 -0.239,1.17c-0.061,0.366 -0.091,0.646 -0.091,0.842c-0,1.098 0.452,1.904 1.355,2.417c0.903,0.512 2.624,0.903 5.163,1.172l-0.622,2.673l-28.099,-0l0.623,-2.673c0.61,-0.025 1.52,-0.104 2.728,-0.238c1.209,-0.135 2.106,-0.299 2.692,-0.495c0.952,-0.317 1.678,-0.805 2.179,-1.465c0.5,-0.659 0.848,-1.416 1.043,-2.27l8.399,-36.328c0.122,-0.513 0.207,-0.94 0.256,-1.282c0.049,-0.342 0.074,-0.598 0.074,-0.769c-0,-1.025 -0.519,-1.825 -1.557,-2.399c-1.038,-0.573 -2.728,-1.031 -5.072,-1.373l0.622,-2.673l28.106,-0l-0.623,2.673c-0.756,0.049 -1.678,0.171 -2.765,0.366c-1.086,0.196 -1.934,0.379 -2.545,0.55c-1.025,0.317 -1.77,0.824 -2.234,1.519c-0.463,0.696 -0.793,1.437 -0.988,2.223l-3.648,15.777l21.817,-0l3.363,-14.612c0.122,-0.513 0.207,-0.94 0.256,-1.282c0.049,-0.342 0.074,-0.598 0.074,-0.769c-0,-1.025 -0.501,-1.813 -1.502,-2.362c-1.001,-0.549 -2.661,-1.019 -4.981,-1.41l0.623,-2.673l28.104,-0Z" style="fill:#333;"/><path d="M97.931,60.053c0,0.131 -0.012,0.31 -0.036,0.538c-0.025,0.227 -0.062,0.48 -0.11,0.756c-0.049,0.277 -0.118,0.554 -0.208,0.831c-0.089,0.276 -0.199,0.528 -0.329,0.756c-0.131,0.228 -0.281,0.415 -0.452,0.562c-0.171,0.146 -0.37,0.22 -0.598,0.22l-19.922,-0c-0.261,-0 -0.456,-0.086 -0.586,-0.257c-0.13,-0.171 -0.195,-0.435 -0.195,-0.793c-0,-0.13 0.012,-0.314 0.036,-0.55c0.025,-0.236 0.065,-0.492 0.122,-0.769c0.057,-0.276 0.131,-0.553 0.22,-0.83c0.09,-0.276 0.199,-0.529 0.33,-0.756c0.13,-0.228 0.28,-0.416 0.451,-0.562c0.171,-0.146 0.362,-0.22 0.574,-0.22l19.922,0c0.26,0 0.456,0.09 0.586,0.269c0.13,0.179 0.195,0.447 0.195,0.805Z" style="fill:#333;"/></svg>
\ No newline at end of file
diff --git a/templates/55/ad-hominem/images/editor/format-header-equal.svg b/templates/55/ad-hominem/images/editor/format-header-equal.svg
deleted file mode 100644
index 714e771..0000000
--- a/templates/55/ad-hominem/images/editor/format-header-equal.svg
+++ /dev/null
@@ -1 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg width="24px" height="24px" viewBox="0 0 100 100" version="1.1" xmlns="http://www.w3.org/2000/svg" xml:space="preserve"><path d="M87.522,19.851l-0.623,2.673c-0.757,0.049 -1.709,0.171 -2.856,0.366c-1.148,0.196 -2.014,0.379 -2.6,0.55c-1.001,0.317 -1.74,0.811 -2.216,1.483c-0.476,0.671 -0.812,1.422 -1.007,2.254l-8.371,36.368c-0.097,0.411 -0.177,0.8 -0.238,1.167c-0.061,0.366 -0.092,0.646 -0.092,0.842c0,1.098 0.47,1.91 1.41,2.435c0.94,0.525 2.692,0.91 5.256,1.154l-0.623,2.673l-28.111,-0l0.623,-2.673c0.635,-0.049 1.538,-0.122 2.71,-0.22c1.172,-0.098 2.014,-0.244 2.527,-0.44c0.952,-0.341 1.684,-0.83 2.197,-1.464c0.513,-0.635 0.867,-1.392 1.062,-2.271l4.189,-18.201l-21.82,0l-3.928,16.995c-0.098,0.413 -0.177,0.803 -0.239,1.17c-0.061,0.366 -0.091,0.646 -0.091,0.842c-0,1.098 0.452,1.904 1.355,2.417c0.903,0.512 2.624,0.903 5.163,1.172l-0.622,2.673l-28.099,-0l0.623,-2.673c0.61,-0.025 1.52,-0.104 2.728,-0.238c1.209,-0.135 2.106,-0.299 2.692,-0.495c0.952,-0.317 1.678,-0.805 2.179,-1.465c0.5,-0.659 0.848,-1.416 1.043,-2.27l8.399,-36.328c0.122,-0.513 0.207,-0.94 0.256,-1.282c0.049,-0.342 0.074,-0.598 0.074,-0.769c-0,-1.025 -0.519,-1.825 -1.557,-2.399c-1.038,-0.573 -2.728,-1.031 -5.072,-1.373l0.622,-2.673l28.106,-0l-0.623,2.673c-0.756,0.049 -1.678,0.171 -2.765,0.366c-1.086,0.196 -1.934,0.379 -2.545,0.55c-1.025,0.317 -1.77,0.824 -2.234,1.519c-0.463,0.696 -0.793,1.437 -0.988,2.223l-3.648,15.777l21.817,-0l3.363,-14.612c0.122,-0.513 0.207,-0.94 0.256,-1.282c0.049,-0.342 0.074,-0.598 0.074,-0.769c-0,-1.025 -0.501,-1.813 -1.502,-2.362c-1.001,-0.549 -2.661,-1.019 -4.981,-1.41l0.623,-2.673l28.104,-0Z" style="fill:#333;"/><path d="M98.906,64.579c-0,1.172 -0.105,1.984 -0.315,2.438c-0.21,0.454 -0.452,0.681 -0.726,0.681l-20.714,-0c-0.274,-0 -0.511,-0.227 -0.712,-0.681c-0.201,-0.454 -0.301,-1.266 -0.301,-2.438c-0,-1.054 0.091,-1.83 0.274,-2.327c0.182,-0.498 0.429,-0.747 0.739,-0.747l20.714,0c0.328,0 0.584,0.249 0.767,0.747c0.182,0.497 0.274,1.273 0.274,2.327Zm-0,12.918c-0,1.171 -0.105,1.976 -0.315,2.416c-0.21,0.439 -0.452,0.658 -0.726,0.658l-20.714,0c-0.274,0 -0.511,-0.219 -0.712,-0.658c-0.201,-0.44 -0.301,-1.245 -0.301,-2.416c-0,-1.083 0.091,-1.874 0.274,-2.372c0.182,-0.497 0.429,-0.746 0.739,-0.746l20.714,-0c0.328,-0 0.584,0.249 0.767,0.746c0.182,0.498 0.274,1.289 0.274,2.372Z" style="fill:#333;"/></svg>
\ No newline at end of file
diff --git a/templates/55/ad-hominem/images/editor/format-header-increase.svg b/templates/55/ad-hominem/images/editor/format-header-increase.svg
deleted file mode 100644
index f4277a7..0000000
--- a/templates/55/ad-hominem/images/editor/format-header-increase.svg
+++ /dev/null
@@ -1 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg width="24px" height="24px" viewBox="0 0 100 100" version="1.1" xmlns="http://www.w3.org/2000/svg" xml:space="preserve"><path d="M87.522,19.851l-0.623,2.673c-0.757,0.049 -1.709,0.171 -2.856,0.366c-1.148,0.196 -2.014,0.379 -2.6,0.55c-1.001,0.317 -1.74,0.811 -2.216,1.483c-0.476,0.671 -0.812,1.422 -1.007,2.254l-8.371,36.368c-0.097,0.411 -0.177,0.8 -0.238,1.167c-0.061,0.366 -0.092,0.646 -0.092,0.842c0,1.098 0.47,1.91 1.41,2.435c0.94,0.525 2.692,0.91 5.256,1.154l-0.623,2.673l-28.111,-0l0.623,-2.673c0.635,-0.049 1.538,-0.122 2.71,-0.22c1.172,-0.098 2.014,-0.244 2.527,-0.44c0.952,-0.341 1.684,-0.83 2.197,-1.464c0.513,-0.635 0.867,-1.392 1.062,-2.271l4.189,-18.201l-21.82,0l-3.928,16.995c-0.098,0.413 -0.177,0.803 -0.239,1.17c-0.061,0.366 -0.091,0.646 -0.091,0.842c-0,1.098 0.452,1.904 1.355,2.417c0.903,0.512 2.624,0.903 5.163,1.172l-0.622,2.673l-28.099,-0l0.623,-2.673c0.61,-0.025 1.52,-0.104 2.728,-0.238c1.209,-0.135 2.106,-0.299 2.692,-0.495c0.952,-0.317 1.678,-0.805 2.179,-1.465c0.5,-0.659 0.848,-1.416 1.043,-2.27l8.399,-36.328c0.122,-0.513 0.207,-0.94 0.256,-1.282c0.049,-0.342 0.074,-0.598 0.074,-0.769c-0,-1.025 -0.519,-1.825 -1.557,-2.399c-1.038,-0.573 -2.728,-1.031 -5.072,-1.373l0.622,-2.673l28.106,-0l-0.623,2.673c-0.756,0.049 -1.678,0.171 -2.765,0.366c-1.086,0.196 -1.934,0.379 -2.545,0.55c-1.025,0.317 -1.77,0.824 -2.234,1.519c-0.463,0.696 -0.793,1.437 -0.988,2.223l-3.648,15.777l21.817,-0l3.363,-14.612c0.122,-0.513 0.207,-0.94 0.256,-1.282c0.049,-0.342 0.074,-0.598 0.074,-0.769c-0,-1.025 -0.501,-1.813 -1.502,-2.362c-1.001,-0.549 -2.661,-1.019 -4.981,-1.41l0.623,-2.673l28.104,-0Z" style="fill:#333;"/><path d="M23.819,28.58c-0,0.114 -0.013,0.285 -0.037,0.512c-0.024,0.228 -0.065,0.489 -0.122,0.782c-0.057,0.293 -0.13,0.586 -0.22,0.879c-0.089,0.293 -0.195,0.561 -0.317,0.805c-0.122,0.244 -0.269,0.444 -0.44,0.598c-0.171,0.155 -0.354,0.232 -0.549,0.232l-7.593,0l-1.684,8.277c-0.033,0.163 -0.102,0.305 -0.208,0.427c-0.106,0.122 -0.264,0.228 -0.476,0.317c-0.212,0.09 -0.484,0.159 -0.818,0.208c-0.333,0.049 -0.744,0.073 -1.233,0.073c-0.488,0 -0.891,-0.024 -1.208,-0.073c-0.318,-0.049 -0.566,-0.118 -0.745,-0.208c-0.179,-0.089 -0.301,-0.195 -0.366,-0.317c-0.065,-0.122 -0.081,-0.264 -0.049,-0.427l1.685,-8.277l-7.569,0c-0.228,0 -0.407,-0.089 -0.537,-0.268c-0.13,-0.179 -0.195,-0.48 -0.195,-0.903c-0,-0.114 0.012,-0.285 0.037,-0.513c0.024,-0.228 0.061,-0.48 0.109,-0.757c0.049,-0.277 0.118,-0.553 0.208,-0.83c0.089,-0.277 0.195,-0.533 0.317,-0.769c0.122,-0.236 0.261,-0.427 0.415,-0.574c0.155,-0.146 0.33,-0.22 0.525,-0.22l7.642,0l1.66,-8.252c0.033,-0.162 0.106,-0.313 0.22,-0.451c0.114,-0.139 0.276,-0.252 0.488,-0.342c0.212,-0.09 0.488,-0.159 0.83,-0.208c0.342,-0.048 0.749,-0.073 1.221,-0.073c0.504,0 0.911,0.025 1.221,0.073c0.309,0.049 0.553,0.118 0.732,0.208c0.179,0.09 0.297,0.203 0.354,0.342c0.057,0.138 0.069,0.289 0.037,0.451l-1.661,8.252l7.642,0c0.228,0 0.399,0.082 0.513,0.245c0.114,0.162 0.171,0.423 0.171,0.781Z" style="fill:#333;"/></svg>
\ No newline at end of file
diff --git a/templates/55/ad-hominem/images/editor/format-header-menu.svg b/templates/55/ad-hominem/images/editor/format-header-menu.svg
deleted file mode 100644
index faa202b..0000000
--- a/templates/55/ad-hominem/images/editor/format-header-menu.svg
+++ /dev/null
@@ -1 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg width="24px" height="24px" viewBox="0 0 100 100" version="1.1" xmlns="http://www.w3.org/2000/svg" xml:space="preserve"><path d="M87.522,19.851l-0.623,2.673c-0.757,0.049 -1.709,0.171 -2.856,0.366c-1.148,0.196 -2.014,0.379 -2.6,0.55c-1.001,0.317 -1.74,0.811 -2.216,1.483c-0.476,0.671 -0.812,1.422 -1.007,2.254l-8.371,36.368c-0.097,0.411 -0.177,0.8 -0.238,1.167c-0.061,0.366 -0.092,0.646 -0.092,0.842c0,1.098 0.47,1.91 1.41,2.435c0.94,0.525 2.692,0.91 5.256,1.154l-0.623,2.673l-28.111,-0l0.623,-2.673c0.635,-0.049 1.538,-0.122 2.71,-0.22c1.172,-0.098 2.014,-0.244 2.527,-0.44c0.952,-0.341 1.684,-0.83 2.197,-1.464c0.513,-0.635 0.867,-1.392 1.062,-2.271l4.189,-18.201l-21.82,0l-3.928,16.995c-0.098,0.413 -0.177,0.803 -0.239,1.17c-0.061,0.366 -0.091,0.646 -0.091,0.842c-0,1.098 0.452,1.904 1.355,2.417c0.903,0.512 2.624,0.903 5.163,1.172l-0.622,2.673l-28.099,-0l0.623,-2.673c0.61,-0.025 1.52,-0.104 2.728,-0.238c1.209,-0.135 2.106,-0.299 2.692,-0.495c0.952,-0.317 1.678,-0.805 2.179,-1.465c0.5,-0.659 0.848,-1.416 1.043,-2.27l8.399,-36.328c0.122,-0.513 0.207,-0.94 0.256,-1.282c0.049,-0.342 0.074,-0.598 0.074,-0.769c-0,-1.025 -0.519,-1.825 -1.557,-2.399c-1.038,-0.573 -2.728,-1.031 -5.072,-1.373l0.622,-2.673l28.106,-0l-0.623,2.673c-0.756,0.049 -1.678,0.171 -2.765,0.366c-1.086,0.196 -1.934,0.379 -2.545,0.55c-1.025,0.317 -1.77,0.824 -2.234,1.519c-0.463,0.696 -0.793,1.437 -0.988,2.223l-3.648,15.777l21.817,-0l3.363,-14.612c0.122,-0.513 0.207,-0.94 0.256,-1.282c0.049,-0.342 0.074,-0.598 0.074,-0.769c-0,-1.025 -0.501,-1.813 -1.502,-2.362c-1.001,-0.549 -2.661,-1.019 -4.981,-1.41l0.623,-2.673l28.104,-0Z" style="fill:#333;"/></svg>
\ No newline at end of file
diff --git a/templates/55/ad-hominem/images/editor/format-italic.svg b/templates/55/ad-hominem/images/editor/format-italic.svg
deleted file mode 100644
index 4def62e..0000000
--- a/templates/55/ad-hominem/images/editor/format-italic.svg
+++ /dev/null
@@ -1 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg width="24px" height="24px" viewBox="0 0 100 100" version="1.1" xmlns="http://www.w3.org/2000/svg" xml:space="preserve"><path d="M59.821,23.445c-0.156,0.873 -0.367,1.606 -0.632,2.199c-0.265,0.593 -0.616,1.068 -1.053,1.427c-0.437,0.359 -0.983,0.616 -1.638,0.772c-0.655,0.156 -1.45,0.234 -2.386,0.234c-0.905,0 -1.653,-0.078 -2.246,-0.234c-0.593,-0.156 -1.03,-0.413 -1.31,-0.772c-0.281,-0.359 -0.437,-0.834 -0.468,-1.427c-0.032,-0.593 0.031,-1.326 0.187,-2.199c0.187,-0.874 0.421,-1.599 0.702,-2.176c0.28,-0.577 0.631,-1.061 1.053,-1.451c0.421,-0.39 0.959,-0.655 1.614,-0.795c0.655,-0.141 1.451,-0.211 2.386,-0.211c0.905,0 1.646,0.07 2.223,0.211c0.577,0.14 1.014,0.405 1.31,0.795c0.297,0.39 0.46,0.874 0.492,1.451c0.031,0.577 -0.047,1.302 -0.234,2.176Zm-12.12,56.292c-0.062,0.25 -0.171,0.46 -0.327,0.632c-0.156,0.172 -0.39,0.32 -0.702,0.445c-0.312,0.124 -0.726,0.218 -1.24,0.28c-0.515,0.063 -1.147,0.094 -1.895,0.094c-0.78,-0 -1.412,-0.031 -1.896,-0.094c-0.483,-0.062 -0.857,-0.156 -1.123,-0.28c-0.265,-0.125 -0.436,-0.273 -0.514,-0.445c-0.078,-0.172 -0.086,-0.382 -0.024,-0.632l8.376,-42.114c0.031,-0.218 0.125,-0.421 0.281,-0.608c0.156,-0.187 0.39,-0.343 0.702,-0.468c0.312,-0.125 0.725,-0.219 1.24,-0.281c0.515,-0.062 1.162,-0.094 1.942,-0.094c0.749,0 1.365,0.032 1.848,0.094c0.484,0.062 0.858,0.156 1.123,0.281c0.265,0.125 0.437,0.281 0.515,0.468c0.078,0.187 0.101,0.39 0.07,0.608l-8.376,42.114Z" style="fill:#333;"/></svg>
\ No newline at end of file
diff --git a/templates/55/ad-hominem/images/editor/format-list-bulleted.svg b/templates/55/ad-hominem/images/editor/format-list-bulleted.svg
deleted file mode 100644
index de1312d..0000000
--- a/templates/55/ad-hominem/images/editor/format-list-bulleted.svg
+++ /dev/null
@@ -1 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg width="24px" height="24px" viewBox="0 0 100 100" version="1.1" xmlns="http://www.w3.org/2000/svg" xml:space="preserve"><circle cx="16.525" cy="50" r="5.208" style="fill:#333;"/><circle cx="16.525" cy="24.781" r="5.208" style="fill:#333;"/><circle cx="16.525" cy="75.089" r="5.208" style="fill:#333;"/><path d="M83.36,45.833c2.288,0.015 4.14,1.876 4.14,4.167c0,2.3 -1.867,4.167 -4.167,4.167l-50.082,-0c-2.299,-0 -4.166,-1.867 -4.166,-4.167c-0,-2.3 1.867,-4.167 4.166,-4.167l50.082,0l0.027,0Z" style="fill:#333;"/><path d="M83.36,70.922c2.288,0.015 4.14,1.876 4.14,4.167c0,2.3 -1.867,4.167 -4.167,4.167l-50.082,-0c-2.299,-0 -4.166,-1.867 -4.166,-4.167c-0,-2.3 1.867,-4.167 4.166,-4.167l50.082,0l0.027,0Z" style="fill:#333;"/><path d="M83.36,20.615c2.288,0.014 4.14,1.876 4.14,4.166c0,2.3 -1.867,4.167 -4.167,4.167l-50.082,-0c-2.299,-0 -4.166,-1.867 -4.166,-4.167c-0,-2.299 1.867,-4.166 4.166,-4.166l50.082,-0l0.027,-0Z" style="fill:#333;"/></svg>
\ No newline at end of file
diff --git a/templates/55/ad-hominem/images/editor/format-list-numbered.svg b/templates/55/ad-hominem/images/editor/format-list-numbered.svg
deleted file mode 100644
index 4ac404f..0000000
--- a/templates/55/ad-hominem/images/editor/format-list-numbered.svg
+++ /dev/null
@@ -1 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg width="24px" height="24px" viewBox="0 0 100 100" version="1.1" xmlns="http://www.w3.org/2000/svg" xml:space="preserve"><path d="M83.36,45.833c2.288,0.015 4.14,1.876 4.14,4.167c0,2.3 -1.867,4.167 -4.167,4.167l-50.082,-0c-2.299,-0 -4.166,-1.867 -4.166,-4.167c-0,-2.3 1.867,-4.167 4.166,-4.167l50.082,0l0.027,0Z" style="fill:#333;"/><path d="M83.36,70.922c2.288,0.015 4.14,1.876 4.14,4.167c0,2.3 -1.867,4.167 -4.167,4.167l-50.082,-0c-2.299,-0 -4.166,-1.867 -4.166,-4.167c-0,-2.3 1.867,-4.167 4.166,-4.167l50.082,0l0.027,0Z" style="fill:#333;"/><path d="M83.36,20.615c2.288,0.014 4.14,1.876 4.14,4.166c0,2.3 -1.867,4.167 -4.167,4.167l-50.082,-0c-2.299,-0 -4.166,-1.867 -4.166,-4.167c-0,-2.299 1.867,-4.166 4.166,-4.166l50.082,-0l0.027,-0Z" style="fill:#333;"/><path d="M8.42,23.506l0.659,-3.125c3.019,-1.319 5.355,-2.853 7.007,-4.602l2.136,-0l-3.772,18.005l-3.528,-0l2.6,-12.402c-0.732,0.472 -1.576,0.903 -2.533,1.294c-0.956,0.39 -1.812,0.667 -2.569,0.83Z" style="fill:#333;"/><path d="M21.164,30.403l3.467,-0l-0.708,3.381l-3.467,-0l0.708,-3.381Z" style="fill:#333;"/><path d="M12.784,46.667l-3.43,-0.512c0.276,-1.66 0.921,-2.932 1.935,-3.815c1.013,-0.883 2.28,-1.324 3.802,-1.324c1.668,-0 2.979,0.451 3.931,1.355c0.952,0.903 1.428,2.05 1.428,3.442c-0,0.708 -0.147,1.418 -0.44,2.13c-0.293,0.712 -0.773,1.459 -1.44,2.24c-0.48,0.553 -1.265,1.337 -2.356,2.35c-1.09,1.013 -1.813,1.705 -2.167,2.075c-0.354,0.37 -0.693,0.763 -1.019,1.178l6.201,0l-0.659,3.198l-10.876,0c0.114,-0.879 0.372,-1.715 0.775,-2.508c0.403,-0.794 0.905,-1.532 1.507,-2.216c0.603,-0.683 1.705,-1.786 3.308,-3.308c1.205,-1.155 1.966,-1.908 2.283,-2.258c0.57,-0.635 0.96,-1.184 1.172,-1.648c0.212,-0.464 0.317,-0.883 0.317,-1.257c0,-0.603 -0.177,-1.091 -0.531,-1.465c-0.354,-0.375 -0.803,-0.562 -1.349,-0.562c-0.553,0 -1.037,0.21 -1.452,0.629c-0.415,0.419 -0.729,1.178 -0.94,2.276Z" style="fill:#333;"/><path d="M21.89,55.603l3.467,0l-0.708,3.381l-3.467,0l0.708,-3.381Z" style="fill:#333;"/><path d="M7.694,79.509l3.357,-0.402c0.138,0.952 0.388,1.611 0.75,1.977c0.362,0.366 0.845,0.55 1.447,0.55c0.797,-0 1.459,-0.269 1.983,-0.806c0.525,-0.537 0.788,-1.225 0.788,-2.063c-0,-0.733 -0.212,-1.312 -0.635,-1.74c-0.423,-0.427 -0.993,-0.641 -1.709,-0.641c-0.179,0 -0.366,0.017 -0.562,0.049l0.611,-2.917c0.122,0.016 0.24,0.024 0.354,0.024c0.936,0 1.648,-0.238 2.136,-0.714c0.488,-0.476 0.733,-1.121 0.733,-1.935c-0,-0.577 -0.165,-1.033 -0.495,-1.367c-0.329,-0.334 -0.763,-0.5 -1.3,-0.5c-0.504,-0 -0.956,0.185 -1.355,0.555c-0.399,0.37 -0.716,1.003 -0.952,1.898l-3.198,-0.635c0.407,-1.318 0.972,-2.331 1.696,-3.039c1.099,-1.058 2.45,-1.587 4.053,-1.587c1.644,0 2.893,0.458 3.748,1.373c0.854,0.916 1.282,2.012 1.282,3.29c-0,0.928 -0.273,1.766 -0.818,2.515c-0.546,0.748 -1.294,1.298 -2.246,1.648c0.756,0.398 1.314,0.915 1.672,1.55c0.358,0.635 0.537,1.298 0.537,1.99c0,1.318 -0.468,2.531 -1.404,3.637c-1.277,1.514 -2.925,2.271 -4.944,2.271c-1.513,-0 -2.76,-0.433 -3.741,-1.3c-0.981,-0.867 -1.577,-2.094 -1.788,-3.681Z" style="fill:#333;"/><path d="M22.134,80.803l3.467,0l-0.708,3.382l-3.467,-0l0.708,-3.382Z" style="fill:#333;"/></svg>
\ No newline at end of file
diff --git a/templates/55/ad-hominem/images/editor/format-monospace.svg b/templates/55/ad-hominem/images/editor/format-monospace.svg
deleted file mode 100644
index 7979056..0000000
--- a/templates/55/ad-hominem/images/editor/format-monospace.svg
+++ /dev/null
@@ -1 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg width="24px" height="24px" viewBox="0 0 100 100" version="1.1" xmlns="http://www.w3.org/2000/svg" xml:space="preserve"><path d="M29.854,28.357l0,3.977c3.338,-3.587 6.692,-5.381 10.061,-5.381c2.028,-0 3.806,0.538 5.334,1.614c1.529,1.077 2.808,2.707 3.837,4.89c1.747,-2.183 3.518,-3.813 5.311,-4.89c1.794,-1.076 3.596,-1.614 5.405,-1.614c2.839,-0 5.101,0.92 6.785,2.761c2.215,2.371 3.323,4.96 3.323,7.768l-0,27.467l3.322,0c0.936,0 1.606,0.18 2.012,0.539c0.406,0.358 0.608,0.834 0.608,1.427c0,0.561 -0.202,1.029 -0.608,1.404c-0.406,0.374 -1.076,0.561 -2.012,0.561l-7.253,0l-0,-31.024c-0,-1.997 -0.608,-3.65 -1.825,-4.96c-1.217,-1.31 -2.621,-1.966 -4.212,-1.966c-1.435,0 -2.948,0.539 -4.539,1.615c-1.591,1.076 -3.4,3.19 -5.428,6.34l0,26.064l3.276,0c0.936,0 1.607,0.18 2.012,0.539c0.406,0.358 0.608,0.834 0.608,1.427c0,0.561 -0.202,1.029 -0.608,1.404c-0.405,0.374 -1.076,0.561 -2.012,0.561l-7.253,0l-0,-30.743c-0,-2.09 -0.616,-3.814 -1.848,-5.171c-1.233,-1.357 -2.613,-2.036 -4.142,-2.036c-1.403,0 -2.792,0.453 -4.164,1.357c-1.903,1.279 -3.9,3.479 -5.99,6.598l0,26.064l3.323,0c0.935,0 1.606,0.18 2.012,0.539c0.405,0.358 0.608,0.834 0.608,1.427c-0,0.561 -0.203,1.029 -0.608,1.404c-0.406,0.374 -1.077,0.561 -2.012,0.561l-10.576,0c-0.936,0 -1.606,-0.187 -2.012,-0.561c-0.406,-0.375 -0.608,-0.843 -0.608,-1.404c-0,-0.593 0.202,-1.069 0.608,-1.427c0.406,-0.359 1.076,-0.539 2.012,-0.539l3.322,0l0,-32.615l-3.322,0c-0.936,0 -1.606,-0.187 -2.012,-0.561c-0.406,-0.375 -0.608,-0.858 -0.608,-1.451c-0,-0.561 0.202,-1.029 0.608,-1.404c0.406,-0.374 1.076,-0.561 2.012,-0.561l7.253,-0Z" style="fill:#333;fill-rule:nonzero;stroke:#333;stroke-width:1.63px;"/></svg>
\ No newline at end of file
diff --git a/templates/55/ad-hominem/images/editor/format-strikethrough.svg b/templates/55/ad-hominem/images/editor/format-strikethrough.svg
deleted file mode 100644
index 8bcb0f6..0000000
--- a/templates/55/ad-hominem/images/editor/format-strikethrough.svg
+++ /dev/null
@@ -1 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg width="24px" height="24px" viewBox="0 0 100 100" version="1.1" xmlns="http://www.w3.org/2000/svg" xml:space="preserve"><path d="M64.251,55.56c0.435,1.174 0.653,2.526 0.653,4.056c-0,2.153 -0.398,4.071 -1.193,5.756c-0.796,1.684 -1.927,3.104 -3.393,4.258c-1.466,1.154 -3.213,2.028 -5.241,2.62c-2.028,0.593 -4.258,0.889 -6.691,0.889c-1.498,0 -2.925,-0.117 -4.282,-0.351c-1.357,-0.233 -2.574,-0.53 -3.65,-0.889c-1.076,-0.358 -1.989,-0.733 -2.737,-1.123c-0.749,-0.39 -1.295,-0.741 -1.638,-1.052c-0.343,-0.312 -0.593,-0.749 -0.749,-1.311c-0.156,-0.561 -0.234,-1.326 -0.234,-2.293c0,-0.592 0.031,-1.091 0.094,-1.497c0.062,-0.406 0.14,-0.733 0.234,-0.983c0.093,-0.249 0.226,-0.429 0.398,-0.538c0.171,-0.109 0.366,-0.164 0.584,-0.164c0.344,0 0.851,0.211 1.521,0.632c0.671,0.421 1.498,0.881 2.48,1.381c0.983,0.499 2.145,0.959 3.486,1.38c1.342,0.421 2.886,0.632 4.633,0.632c1.31,-0 2.496,-0.141 3.556,-0.421c1.061,-0.281 1.981,-0.695 2.761,-1.24c0.78,-0.546 1.381,-1.241 1.802,-2.083c0.421,-0.842 0.631,-1.84 0.631,-2.995c0,-1.185 -0.304,-2.183 -0.912,-2.994c-0.457,-0.61 -1.024,-1.166 -1.701,-1.67l9.588,0Zm-25.204,-8.333c-0.815,-0.878 -1.484,-1.896 -2.009,-3.053c-0.608,-1.341 -0.912,-2.948 -0.912,-4.82c-0,-1.653 0.319,-3.236 0.959,-4.749c0.639,-1.513 1.599,-2.839 2.878,-3.978c1.279,-1.138 2.878,-2.051 4.796,-2.737c1.919,-0.686 4.157,-1.029 6.715,-1.029c1.123,-0 2.246,0.093 3.369,0.28c1.123,0.187 2.137,0.421 3.042,0.702c0.904,0.281 1.676,0.585 2.316,0.913c0.64,0.327 1.123,0.616 1.451,0.865c0.327,0.25 0.546,0.468 0.655,0.655c0.109,0.188 0.187,0.398 0.234,0.632c0.046,0.234 0.093,0.523 0.14,0.866c0.047,0.343 0.07,0.764 0.07,1.263c0,0.531 -0.023,0.991 -0.07,1.381c-0.047,0.39 -0.125,0.709 -0.234,0.959c-0.109,0.25 -0.242,0.429 -0.398,0.538c-0.156,0.109 -0.327,0.164 -0.514,0.164c-0.281,-0 -0.687,-0.172 -1.217,-0.515c-0.53,-0.343 -1.217,-0.71 -2.059,-1.099c-0.842,-0.39 -1.833,-0.757 -2.971,-1.1c-1.139,-0.343 -2.441,-0.515 -3.908,-0.515c-1.31,0 -2.464,0.148 -3.462,0.445c-0.999,0.296 -1.817,0.717 -2.457,1.263c-0.639,0.546 -1.123,1.193 -1.451,1.942c-0.327,0.749 -0.491,1.56 -0.491,2.433c0,1.217 0.312,2.239 0.936,3.065c0.624,0.827 1.435,1.552 2.433,2.176c0.998,0.624 2.137,1.186 3.416,1.685c1.137,0.444 2.293,0.9 3.467,1.368l-14.724,0Z" style="fill:#333;"/><rect x="31.243" y="48.79" width="37.426" height="5.208" style="fill:#333;"/></svg>
\ No newline at end of file
diff --git a/templates/55/ad-hominem/images/editor/format-underline.svg b/templates/55/ad-hominem/images/editor/format-underline.svg
deleted file mode 100644
index 99291d4..0000000
--- a/templates/55/ad-hominem/images/editor/format-underline.svg
+++ /dev/null
@@ -1 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg width="24px" height="24px" viewBox="0 0 100 100" version="1.1" xmlns="http://www.w3.org/2000/svg" xml:space="preserve"><rect x="27.332" y="81.153" width="58.539" height="4.36" style="fill:#333;"/><path d="M69.142,74.286l0,-7.3c-3.868,5.615 -9.124,8.423 -15.769,8.423c-2.933,-0 -5.67,-0.562 -8.212,-1.685c-2.543,-1.123 -4.43,-2.534 -5.662,-4.234c-1.233,-1.701 -2.098,-3.783 -2.597,-6.247c-0.344,-1.654 -0.515,-4.274 -0.515,-7.862l-0,-30.79l8.423,0l-0,27.562c-0,4.398 0.171,7.362 0.514,8.89c0.531,2.215 1.654,3.954 3.369,5.218c1.716,1.263 3.838,1.895 6.364,1.895c2.527,-0 4.898,-0.647 7.113,-1.942c2.215,-1.295 3.783,-3.057 4.703,-5.288c0.92,-2.23 1.38,-5.467 1.38,-9.709l0,-26.626l8.423,0l0,49.695l-7.534,-0Z" style="fill:#333;"/></svg>
\ No newline at end of file
diff --git a/templates/55/ad-hominem/images/editor/insert-emoticon.svg b/templates/55/ad-hominem/images/editor/insert-emoticon.svg
deleted file mode 100644
index ee86595..0000000
--- a/templates/55/ad-hominem/images/editor/insert-emoticon.svg
+++ /dev/null
@@ -1 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg width="24px" height="24px" viewBox="0 0 100 100" version="1.1" xmlns="http://www.w3.org/2000/svg" xml:space="preserve"><path d="M83.333,50.026c0,9.203 -3.25,17.055 -9.751,23.556c-6.501,6.501 -14.353,9.751 -23.556,9.751c-9.202,0 -17.063,-3.25 -23.582,-9.751c-6.518,-6.501 -9.777,-14.353 -9.777,-23.556c-0,-9.237 3.259,-17.107 9.777,-23.608c6.519,-6.501 14.38,-9.751 23.582,-9.751c9.203,-0 17.055,3.25 23.556,9.751c6.501,6.501 9.751,14.371 9.751,23.608Zm-4.81,0c-0,-7.878 -2.78,-14.597 -8.34,-20.157c-5.56,-5.56 -12.279,-8.34 -20.157,-8.34c-7.878,0 -14.597,2.78 -20.157,8.34c-5.56,5.56 -8.34,12.279 -8.34,20.157c0,7.843 2.78,14.545 8.34,20.105c5.56,5.56 12.279,8.34 20.157,8.34c7.878,-0 14.597,-2.78 20.157,-8.34c5.56,-5.56 8.34,-12.262 8.34,-20.105Zm-37.072,-6.902c-0,1.151 -0.41,2.144 -1.229,2.981c-0.819,0.836 -1.821,1.254 -3.006,1.254c-1.151,0 -2.144,-0.418 -2.981,-1.254c-0.836,-0.837 -1.255,-1.83 -1.255,-2.981c0,-1.185 0.419,-2.187 1.255,-3.006c0.837,-0.82 1.83,-1.229 2.981,-1.229c1.185,-0 2.187,0.409 3.006,1.229c0.819,0.819 1.229,1.821 1.229,3.006Zm25.569,0c-0,1.151 -0.41,2.144 -1.229,2.981c-0.819,0.836 -1.822,1.254 -3.007,1.254c-1.15,0 -2.143,-0.418 -2.98,-1.254c-0.837,-0.837 -1.255,-1.83 -1.255,-2.981c0,-1.185 0.418,-2.187 1.255,-3.006c0.837,-0.82 1.83,-1.229 2.98,-1.229c1.185,-0 2.188,0.409 3.007,1.229c0.819,0.819 1.229,1.821 1.229,3.006Zm-32.366,17.621l3.241,-1.882c2.754,5.019 6.798,7.529 12.131,7.529c5.333,0 9.36,-2.51 12.079,-7.529l3.294,1.882c-1.743,3.312 -3.896,5.839 -6.458,7.582c-2.562,1.743 -5.534,2.614 -8.915,2.614c-3.416,0 -6.396,-0.871 -8.941,-2.614c-2.545,-1.743 -4.688,-4.27 -6.431,-7.582Z" style="fill:#333;"/></svg>
\ No newline at end of file
diff --git a/templates/55/ad-hominem/images/editor/insert-external-link.svg b/templates/55/ad-hominem/images/editor/insert-external-link.svg
deleted file mode 100644
index 0a5d41d..0000000
--- a/templates/55/ad-hominem/images/editor/insert-external-link.svg
+++ /dev/null
@@ -1 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg width="24px" height="24px" viewBox="0 0 100 100" version="1.1" xmlns="http://www.w3.org/2000/svg" xml:space="preserve"><path d="M74.439,18.683l-33.174,33.175l5.845,5.845l34.207,-34.207l-0,20.432l8.266,-0l0,-33.511l-33.511,-0l0,8.266l18.367,0Z" style="fill:#333;"/><path d="M50,12.5l-30,0c-4.139,0 -7.5,3.361 -7.5,7.5l-0,60c-0,4.139 3.361,7.5 7.5,7.5l60,0c4.139,0 7.5,-3.361 7.5,-7.5l0,-30l-6.25,0l0,25c0,3.449 -2.801,6.25 -6.25,6.25l-50,0c-3.449,0 -6.25,-2.801 -6.25,-6.25l-0,-50c-0,-3.449 2.801,-6.25 6.25,-6.25l25,0l0,-6.25Z" style="fill:#333;"/></svg>
\ No newline at end of file
diff --git a/templates/55/ad-hominem/images/editor/insert-hr.svg b/templates/55/ad-hominem/images/editor/insert-hr.svg
deleted file mode 100644
index d6c7c3d..0000000
--- a/templates/55/ad-hominem/images/editor/insert-hr.svg
+++ /dev/null
@@ -1 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg width="24px" height="24px" viewBox="0 0 100 100" version="1.1" xmlns="http://www.w3.org/2000/svg" xml:space="preserve"><rect x="9.149" y="45.833" width="16.667" height="8.333" style="fill:#333;"/><rect x="30.383" y="45.833" width="16.667" height="8.333" style="fill:#333;"/><rect x="51.616" y="45.833" width="16.667" height="8.333" style="fill:#333;"/><rect x="72.85" y="45.833" width="16.667" height="8.333" style="fill:#333;"/></svg>
\ No newline at end of file
diff --git a/templates/55/ad-hominem/images/editor/insert-link.svg b/templates/55/ad-hominem/images/editor/insert-link.svg
deleted file mode 100644
index e9c4d1c..0000000
--- a/templates/55/ad-hominem/images/editor/insert-link.svg
+++ /dev/null
@@ -1 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg width="24px" height="24px" viewBox="0 0 100 100" version="1.1" xmlns="http://www.w3.org/2000/svg" xml:space="preserve"><g><path d="M57.057,69.547l-6.851,6.851c-7.438,7.438 -19.517,7.438 -26.955,-0c-7.439,-7.439 -7.439,-19.517 -0,-26.956l7.723,-7.723c7.443,-7.395 19.488,-7.38 26.912,0.044c1.042,1.042 1.938,2.175 2.689,3.375l-5.869,5.869c-0.522,-1.355 -1.316,-2.607 -2.387,-3.678c-4.519,-4.519 -12.272,-4.109 -17.321,0.911l-5.241,5.24c-5.047,5.048 -5.469,12.823 -0.94,17.352c4.529,4.528 12.304,4.107 17.351,-0.941l1.886,-1.885c2.852,1.245 5.949,1.759 9.003,1.541Z" style="fill:#333;"/><path d="M42.9,30.45l6.852,-6.852c7.441,-7.441 19.531,-7.432 26.982,0.019c7.451,7.452 7.46,19.542 0.02,26.982l-7.725,7.725c-7.445,7.396 -19.502,7.373 -26.938,-0.064c-1.044,-1.043 -1.942,-2.178 -2.694,-3.38l5.87,-5.87c0.524,1.357 1.319,2.61 2.392,3.683c4.527,4.527 12.287,4.122 17.337,-0.899l5.242,-5.242c5.049,-5.049 5.465,-12.831 0.928,-17.367c-4.536,-4.536 -12.318,-4.12 -17.367,0.929l-1.886,1.885c-2.856,-1.248 -5.956,-1.765 -9.013,-1.549Z" style="fill:#333;"/></g></svg>
\ No newline at end of file
diff --git a/templates/55/ad-hominem/images/editor/insert-media.svg b/templates/55/ad-hominem/images/editor/insert-media.svg
deleted file mode 100644
index 8341a28..0000000
--- a/templates/55/ad-hominem/images/editor/insert-media.svg
+++ /dev/null
@@ -1 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg width="24px" height="24px" viewBox="0 0 100 100" version="1.1" xmlns="http://www.w3.org/2000/svg" xml:space="preserve"><path id="Frame" d="M87.5,20.393c0,-4.139 -3.361,-7.5 -7.5,-7.5l-60,-0c-4.139,-0 -7.5,3.361 -7.5,7.5l-0,60c-0,4.139 3.361,7.5 7.5,7.5l60,0c4.139,0 7.5,-3.361 7.5,-7.5l0,-60Zm-6.25,1.895c-0,-1.724 -1.4,-3.124 -3.124,-3.124l-56.252,0c-1.724,0 -3.124,1.4 -3.124,3.124l-0,56.231c-0,1.724 1.4,3.124 3.124,3.124l56.252,-0c1.724,-0 3.124,-1.4 3.124,-3.124l-0,-56.231Z" style="fill:#333;fill-rule:evenodd;"/><path d="M27.098,66.726l12.018,-14.591l7.627,9.259l11.116,-15.094l15.043,20.426l-45.804,0Z" style="fill:#333;"/><circle cx="44" cy="45" r="3" style="fill:#333;"/></svg>
\ No newline at end of file
diff --git a/templates/55/ad-hominem/images/editor/insert-signature.svg b/templates/55/ad-hominem/images/editor/insert-signature.svg
deleted file mode 100644
index e8ea3cc..0000000
--- a/templates/55/ad-hominem/images/editor/insert-signature.svg
+++ /dev/null
@@ -1 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg width="24px" height="24px" viewBox="0 0 100 100" version="1.1" xmlns="http://www.w3.org/2000/svg" xml:space="preserve" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:1.5;"><g id="Layer1"><path d="M37.584,60.801c9.856,-0.551 30.428,-1.801 36.89,-22.354c6.31,-20.071 -12.455,-35.504 -21.583,-3.414c-7.141,25.102 4.479,33.807 14.15,33.807c6.215,-0 9.838,-3.634 12.994,-3.634c5.806,-0 6.717,2.532 6.827,6.276" style="fill:none;stroke:#333;stroke-width:4.17px;"/><rect x="10.385" y="79.301" width="79.23" height="4.129" style="fill:#333;"/><path d="M23.297,59.764l-5.879,-5.879l-2.92,2.92l5.879,5.879l-5.879,5.878l2.92,2.92l5.879,-5.878l5.878,5.878l2.92,-2.92l-5.879,-5.878l5.879,-5.879l-2.92,-2.92l-5.878,5.879Z" style="fill:#333;"/></g></svg>
\ No newline at end of file
diff --git a/templates/55/ad-hominem/images/editor/insert-symbol.svg b/templates/55/ad-hominem/images/editor/insert-symbol.svg
deleted file mode 100644
index 2ca26fd..0000000
--- a/templates/55/ad-hominem/images/editor/insert-symbol.svg
+++ /dev/null
@@ -1 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg width="24px" height="24px" viewBox="0 0 100 100" version="1.1" xmlns="http://www.w3.org/2000/svg" xml:space="preserve"><path d="M81.25,63.774l-2.808,15.787l-24.007,0l0,-2.767c1.649,-2.36 3.278,-4.733 4.887,-7.12c1.609,-2.387 2.913,-4.653 3.914,-6.796c1.135,-2.414 1.987,-4.733 2.555,-6.958c0.567,-2.224 0.851,-4.937 0.851,-8.138c0,-2.251 -0.237,-4.862 -0.71,-7.832c-0.474,-2.971 -1.265,-5.541 -2.375,-7.711c-1.515,-2.876 -3.409,-4.958 -5.682,-6.246c-2.273,-1.289 -4.885,-1.933 -7.834,-1.933c-2.95,0 -5.575,0.678 -7.875,2.035c-2.3,1.356 -4.153,3.418 -5.561,6.184c-1.109,2.143 -1.908,4.605 -2.395,7.386c-0.487,2.78 -0.73,5.486 -0.73,8.117c-0,2.984 0.297,5.69 0.892,8.118c0.595,2.428 1.447,4.781 2.555,7.06c1.055,2.251 2.4,4.584 4.035,6.998c1.636,2.415 3.211,4.693 4.725,6.836l-0,2.767l-24.129,0l-2.808,-15.787l2.808,-0c0.434,1.058 0.834,2.027 1.2,2.909c0.366,0.882 0.861,1.797 1.485,2.747c0.57,0.895 1.207,1.614 1.913,2.156c0.705,0.543 1.6,0.814 2.685,0.814l9.359,-0l-0,-1.343c-1.763,-1.98 -3.662,-4.198 -5.697,-6.653c-2.034,-2.455 -3.608,-4.591 -4.72,-6.408c-1.275,-2.062 -2.285,-4.334 -3.031,-6.816c-0.746,-2.482 -1.119,-5.134 -1.119,-7.955c-0,-3.119 0.637,-6.015 1.912,-8.687c1.275,-2.672 3.106,-5.093 5.493,-7.263c2.279,-2.062 5.066,-3.717 8.362,-4.965c3.296,-1.247 6.843,-1.871 10.641,-1.871c3.96,-0 7.575,0.63 10.844,1.892c3.268,1.261 6.056,2.936 8.361,5.025c2.306,2.116 4.09,4.537 5.351,7.263c1.262,2.726 1.892,5.595 1.892,8.606c0,2.821 -0.352,5.446 -1.058,7.874c-0.705,2.427 -1.722,4.74 -3.051,6.937c-1.357,2.198 -2.978,4.408 -4.863,6.633c-1.885,2.224 -3.75,4.354 -5.595,6.388l0,1.343l9.237,-0c1.004,-0 1.885,-0.278 2.645,-0.834c0.759,-0.556 1.41,-1.268 1.953,-2.136c0.624,-0.977 1.126,-1.913 1.505,-2.808c0.38,-0.895 0.773,-1.845 1.18,-2.848l2.808,-0Z" style="fill:#333;"/></svg>
\ No newline at end of file
diff --git a/templates/55/ad-hominem/images/editor/overlay-menu.svg b/templates/55/ad-hominem/images/editor/overlay-menu.svg
deleted file mode 100644
index 45b954c..0000000
--- a/templates/55/ad-hominem/images/editor/overlay-menu.svg
+++ /dev/null
@@ -1 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg width="24px" height="24px" viewBox="0 0 100 100" version="1.1" xmlns="http://www.w3.org/2000/svg" xml:space="preserve"><path d="M50,64.153l-26.364,-24.14l52.728,0l-26.364,24.14Z" style="fill:#333;"/></svg>
\ No newline at end of file
diff --git a/templates/55/ad-hominem/images/editor/overlay-popup.svg b/templates/55/ad-hominem/images/editor/overlay-popup.svg
deleted file mode 100644
index 19795e7..0000000
--- a/templates/55/ad-hominem/images/editor/overlay-popup.svg
+++ /dev/null
@@ -1 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg width="24px" height="24px" viewBox="0 0 417 417" version="1.1" xmlns="http://www.w3.org/2000/svg" xml:space="preserve"><path d="M116.667,294.312l-0,-34.67l34.798,0l0,34.67l-34.798,0Zm74.27,0l0,-34.67l34.792,0l0,34.67l-34.792,0Zm74.098,0l-0,-34.67l34.965,0l-0,34.67l-34.965,0Z" style="fill:#333;"/></svg>
\ No newline at end of file
diff --git a/templates/55/ad-hominem/lang/de-informal/lang.php b/templates/55/ad-hominem/lang/de-informal/lang.php
index 102a794..c9aad8d 100644
--- a/templates/55/ad-hominem/lang/de-informal/lang.php
+++ b/templates/55/ad-hominem/lang/de-informal/lang.php
@@ -40,15 +40,18 @@ $lang['__print_title_color__']   = 'Überschriftenfarbe für Druck';
 $lang['__background_site_dark__'] = 'Seitenhintergrund (Nachtmodus)';
 $lang['__background_dark__']     = 'Hintergrund des Inhaltsbereichs (Nachtmodus)';
 $lang['__background_alt_dark__'] = 'Alternative Hintergrundfarbe (Nachtmodus)';
+$lang['__background_neu_dark__'] = 'Neutrale Hintergrundfarbe (Nachtmodus)';
 $lang['__headlines_dark__']      = 'Farbe der Überschriften (Nachtmodus)';
 $lang['__text_dark__']           = 'Textfarbe (Nachtmodus)';
 $lang['__text_alt_dark__']       = 'Alternative Textfarbe (Nachtmodus)';
+$lang['__text_neu_dark__']    	 = 'Neutrale Textfarbe (Nachtmodus)';
 $lang['__link_dark__']           = 'Farbe externe Links (Nachtmodus)';
 $lang['__existing_dark__']       = 'Farbe Links zu existierenden Artikeln (Nachtmodus)';
 $lang['__missing_dark__']        = 'Farbe Links zu fehlenden Artikeln (Nachtmodus)';
 $lang['__inpage_dark__']         = 'Farbe für Links innerhalb derselben Seite (Nachtmodus)';
 $lang['__border_dark__']         = 'Umrandungsfarbe (Nachtmodus)';
 $lang['__blockquote_dark__']     = 'Markierung von Zitatblöcken (Nachtmodus)';
+$lang['__highlight_dark__']      = 'Hervorhebungsfarbe (Nachtmodus)';
 
 $lang['cookie_consent']        = 'OK';
 $lang['cookie_linktext']       = 'Mehr Info';
diff --git a/templates/55/ad-hominem/lang/de/lang.php b/templates/55/ad-hominem/lang/de/lang.php
index 6856fc7..e2d1c40 100644
--- a/templates/55/ad-hominem/lang/de/lang.php
+++ b/templates/55/ad-hominem/lang/de/lang.php
@@ -40,15 +40,18 @@ $lang['__print_title_color__']   = 'Überschriftenfarbe für Druck';
 $lang['__background_site_dark__'] = 'Seitenhintergrund (Nachtmodus)';
 $lang['__background_dark__']     = 'Hintergrund des Inhaltsbereichs (Nachtmodus)';
 $lang['__background_alt_dark__'] = 'Alternative Hintergrundfarbe (Nachtmodus)';
+$lang['__background_neu_dark__'] = 'Neutrale Hintergrundfarbe (Nachtmodus)';
 $lang['__headlines_dark__']      = 'Farbe der Überschriften (Nachtmodus)';
 $lang['__text_dark__']           = 'Textfarbe (Nachtmodus)';
 $lang['__text_alt_dark__']       = 'Alternative Textfarbe (Nachtmodus)';
+$lang['__text_neu_dark__']    	 = 'Neutrale Textfarbe (Nachtmodus)';
 $lang['__link_dark__']           = 'Farbe externe Links (Nachtmodus)';
 $lang['__existing_dark__']       = 'Farbe Links zu existierenden Artikeln (Nachtmodus)';
 $lang['__missing_dark__']        = 'Farbe Links zu fehlenden Artikeln (Nachtmodus)';
 $lang['__inpage_dark__']         = 'Farbe für Links innerhalb derselben Seite (Nachtmodus)';
 $lang['__border_dark__']         = 'Umrandungsfarbe (Nachtmodus)';
 $lang['__blockquote_dark__']     = 'Markierung von Zitatblöcken (Nachtmodus)';
+$lang['__highlight_dark__']      = 'Hervorhebungsfarbe (Nachtmodus)';
 
 $lang['cookie_consent']        = 'OK';
 $lang['cookie_linktext']       = 'Weitere Information';
diff --git a/templates/55/ad-hominem/lang/en/lang.php b/templates/55/ad-hominem/lang/en/lang.php
index d6d9624..c5aeacb 100644
--- a/templates/55/ad-hominem/lang/en/lang.php
+++ b/templates/55/ad-hominem/lang/en/lang.php
@@ -35,15 +35,18 @@ $lang['__print_title_color__'] = 'Title color for printing';
 $lang['__background_site_dark__'] = 'Window background (dark mode)';
 $lang['__background_dark__']   = 'Content background (dark mode)';
 $lang['__background_alt_dark__'] = 'Alternative background color (dark mode)';
+$lang['__background_neu_dark__'] = 'Neutral background color (dark mode)';
 $lang['__headlines_dark__']    = 'Headlines color (dark mode)';
 $lang['__text_dark__']         = 'Text color (dark mode)';
-$lang['__text_alt_dark__']     = 'Alternative Text color (dark mode)';
+$lang['__text_alt_dark__']     = 'Alternative text color (dark mode)';
+$lang['__text_neu_dark__']     = 'Neutral text color (dark mode)';
 $lang['__link_dark__']         = 'External link color (dark mode)';
 $lang['__existing_dark__']     = 'Existing article link color (dark mode)';
 $lang['__missing_dark__']      = 'Missing article link color (dark mode)';
 $lang['__inpage_dark__']       = 'Color of links within the same page (dark mode)';
 $lang['__border_dark__']       = 'Border color (dark mode)';
 $lang['__blockquote_dark__']   = 'Blockquote marker (dark mode)';
+$lang['__highlight_dark__']    = 'Highlight color (dark mode)';
 
 $lang['cookie_consent']        = 'OK';
 $lang['cookie_linktext']       = 'More information';
diff --git a/templates/55/ad-hominem/lang/es/lang.php b/templates/55/ad-hominem/lang/es/lang.php
index ad4661c..e4c4e2a 100644
--- a/templates/55/ad-hominem/lang/es/lang.php
+++ b/templates/55/ad-hominem/lang/es/lang.php
@@ -39,15 +39,18 @@ $lang['__print_title_color__'] = 'Color del título para imprimir';
 $lang['__background_site_dark__'] = 'Fondo de la ventana (modo oscuro)';
 $lang['__background_dark__']   = 'Fondo del contenido (modo oscuro)';
 $lang['__background_alt_dark__'] = 'Color de fondo alternativo (modo oscuro)';
+$lang['__background_neu_dark__'] = 'Color de fondo del texto neutro (modo oscuro)';
 $lang['__headlines_dark__']    = 'Color de los titulares (modo oscuro)';
 $lang['__text_dark__']         = 'Color del texto (modo oscuro)';
 $lang['__text_alt_dark__']     = 'Color del texto alternativo (modo oscuro)';
+$lang['__text_neu_dark__']     = 'Color del texto neutro (modo oscuro)';
 $lang['__link_dark__']         = 'Color del enlace externo (modo oscuro)';
 $lang['__existing_dark__']     = 'Color del enlace del artículo existente (modo oscuro)';
 $lang['__missing_dark__']      = 'Color del enlace del artículo que falta (modo oscuro)';
 $lang['__inpage_dark__']       = 'Color de los enlaces dentro de la misma página (modo oscuro)';
 $lang['__border_dark__']       = 'Color del borde (modo oscuro)';
 $lang['__blockquote_dark__']   = 'Marcador de cita en bloque (modo oscuro)';
+$lang['__highlight_dark__']    = 'Color resaltado (modo oscuro)';
 
 $lang['cookie_consent']        = 'OK';
 $lang['cookie_linktext']       = 'Más información';
diff --git a/templates/55/ad-hominem/lang/fi/lang.php b/templates/55/ad-hominem/lang/fi/lang.php
index 138c047..6bad1ca 100644
--- a/templates/55/ad-hominem/lang/fi/lang.php
+++ b/templates/55/ad-hominem/lang/fi/lang.php
@@ -35,15 +35,18 @@ $lang['__print_title_color__'] = 'Otsikon väri tulostusta varten';
 $lang['__background_site_dark__'] = 'Ikkunan tausta (tumma tila)';
 $lang['__background_dark__']   = 'Sisällön tausta (tumma tila)';
 $lang['__background_alt_dark__'] = 'Vaihtoehtoinen taustaväri (tumma tila)';
+$lang['__background_neu_dark__'] = 'Neutral background color (tumma tila)';
 $lang['__headlines_dark__']    = 'Otsikoiden väri (tumma tila)';
 $lang['__text_dark__']         = 'Tekstin väri (tumma tila)';
 $lang['__text_alt_dark__']     = 'Vaihtoehtoinen tekstiväri (tumma tila)';
+$lang['__text_neu_dark__']     = 'Neutral text color (tumma tila)';
 $lang['__link_dark__']         = 'Ulkoisen linkin väri (tumma tila)';
 $lang['__existing_dark__']     = 'Olemassa olevan artikkelin linkin väri (tumma tila)';
 $lang['__missing_dark__']      = 'Puuttuva artikkelilinkin väri (tumma tila)';
 $lang['__inpage_dark__']       = 'Saman sivun sisällä olevien linkkien väri (tumma tila)';
 $lang['__border_dark__']       = 'Reunan väri (tumma tila)';
 $lang['__blockquote_dark__']   = 'Lohkolausemerkintä (tumma tila)';
+$lang['__highlight_dark__']    = 'Korostusväri (tumma tila)';
 
 $lang['cookie_consent']        = 'OK';
 $lang['cookie_linktext']       = 'Lisätietoja';
diff --git a/templates/55/ad-hominem/lang/fr/lang.php b/templates/55/ad-hominem/lang/fr/lang.php
index 848015f..66b50fa 100644
--- a/templates/55/ad-hominem/lang/fr/lang.php
+++ b/templates/55/ad-hominem/lang/fr/lang.php
@@ -40,15 +40,18 @@ $lang['__print_title_color__']   = 'Couleur du titre pour l’impression';
 $lang['__background_site_dark__'] = 'Fond de la fenêtre (mode sombre)';
 $lang['__background_dark__']     = 'Arrière-plan du contenu (mode sombre)';
 $lang['__background_alt_dark__'] = 'Couleur de l’arrière-plan alternatif (mode sombre)';
-$lang['__headlines_dark__']      = 'Couleur des titres (mode sombre)';
-$lang['__text_dark__']           = 'Couleur du texte (mode sombre)';
-$lang['__text_alt_dark__']       = 'Couleur alternative du texte (mode sombre)';
-$lang['__link_dark__']           = 'Couleur des liens externes (mode sombre)';
-$lang['__existing_dark__']       = 'Couleur du lien de l’article existant (mode sombre)';
-$lang['__missing_dark__']        = 'Couleur du lien vers l’article manquant (mode sombre)';
-$lang['__inpage_dark__']         = 'Couleur pour les liens au sein de la même page (mode sombre)';
-$lang['__border_dark__']         = 'Couleur des bordures (mode sombre)';
-$lang['__blockquote_dark__']     = 'Couleur du marqueur de citation (mode sombre)';
+$lang['__background_neu_dark__'] = 'Couleur de fond neutre (mode sombre)';
+$lang['__headlines_dark__']		= 'Couleur des titres (mode sombre)';
+$lang['__text_dark__']			= 'Couleur du texte (mode sombre)';
+$lang['__text_alt_dark__']		= 'Couleur alternative du texte (mode sombre)';
+$lang['__text_neu_dark__']		= 'Couleur de texte neutre (mode sombre)';
+$lang['__link_dark__']			= 'Couleur des liens externes (mode sombre)';
+$lang['__existing_dark__']		= 'Couleur du lien de l’article existant (mode sombre)';
+$lang['__missing_dark__']		= 'Couleur du lien vers l’article manquant (mode sombre)';
+$lang['__inpage_dark__']		= 'Couleur pour les liens au sein de la même page (mode sombre)';
+$lang['__border_dark__']		= 'Couleur des bordures (mode sombre)';
+$lang['__blockquote_dark__']	= 'Couleur du marqueur de citation (mode sombre)';
+$lang['__highlight_dark__']		= 'Couleur de surbrillance (mode sombre)';
 
 $lang['cookie_consent']        = 'OK';
 $lang['cookie_linktext']       = 'Plus d’informations';
diff --git a/templates/55/ad-hominem/main.php b/templates/55/ad-hominem/main.php
index 37c7548..c486ad7 100644
--- a/templates/55/ad-hominem/main.php
+++ b/templates/55/ad-hominem/main.php
@@ -2,11 +2,11 @@
 /**
  * Ad Hominem Template
  *
- * @link     https://ad.hominem.info/
- * @author   Sascha Leib <sascha@leib.be>
- * @author   Anika Henke <anika@selfthinker.org>
- * @author   Clarence Lee <clarencedglee@gmail.com>
- * @license  GPL 2 (http://www.gnu.org/licenses/gpl.html)
+ * @link	https://ad.hominem.info/
+ * @author	Sascha Leib <sascha@leib.be>
+ * @author	Anika Henke <anika@selfthinker.org>
+ * @author	Clarence Lee <clarencedglee@gmail.com>
+ * @license	GPL 2 (http://www.gnu.org/licenses/gpl.html)
  */
 
 if (!defined('DOKU_INC')) die(); /* must be run from within DokuWiki */
@@ -45,7 +45,7 @@ $htmlLang = ' lang="' . $conf['lang'] . ( $lang['direction'] != 'ltr' ? '" dir="
 				<div id="gUserTools">
 					<h3 class="sronly"><?php echo $lang['user_tools']; ?></h3>
 					<ul>
-<?php my_userinfo(str_repeat(chr(9),6)); ?>
+<?php my_userinfo(str_repeat(DOKU_TAB,6)); ?>
 					</ul>
 				</div>
 			</div>
@@ -53,14 +53,14 @@ $htmlLang = ' lang="' . $conf['lang'] . ( $lang['direction'] != 'ltr' ? '" dir="
 <?php include('tpl_searchform.php'); ?>
 			</div>
 			<div id="phTools">
-<?php my_langmenu(str_repeat(chr(9),4), 'tb'); ?>
+<?php my_langmenu(str_repeat(DOKU_TAB,4), 'tb'); ?>
 			</div>
 			<div id="phInclude"><?php tpl_includeFile('header.html') ?></div>
 		</header>
 	</div>
-    <div id="main-layout">
+	<div id="main-layout">
 		<div id="sidebar" class="toggle <?php
-        echo ( $showSidebar ? 'auto' : 'hide' ); ?>">
+		echo ( $showSidebar ? 'auto' : 'hide' ); ?>">
 			<button type="button" class="tg_button" title="<?php echo $lang['sidebar'] ?>"><span><?php echo $lang['sidebar'] ?></span></button>
 			<div class="tg_content">
 				<nav id="sbNavigation">
@@ -72,31 +72,31 @@ $htmlLang = ' lang="' . $conf['lang'] . ( $lang['direction'] != 'ltr' ? '" dir="
 			tpl_includeFile('sidebarfooter.html');
 ?>
 
-<!-- - - - - - - - - END OF SIDEBAR CONTENT  - - - - - - - -->
+<!-- - - - - - - - - END OF SIDEBAR CONTENT - - - - - - - -->
 				</nav>
-<?php my_langmenu(str_repeat(chr(9),4), 'sb'); ?>
+<?php my_langmenu(str_repeat(DOKU_TAB,4), 'sb'); ?>
 				<div id="sbBreadcrumbs">
-<?php		if($conf['breadcrumbs']) { my_breadcrumbs(str_repeat(chr(9),5)); } ?>
+<?php		if($conf['breadcrumbs']) { my_breadcrumbs(str_repeat(DOKU_TAB,5)); } ?>
 				</div>
 			</div>
 		</div>
 		<main id="dokuwiki__top">
 			<header>
-<?php			my_toc(str_repeat(chr(9),4)); 
+<?php			my_toc(str_repeat(DOKU_TAB,4)); 
 				tpl_flush();
 				tpl_includeFile('pageheader.html');
-				if($conf['youarehere']) { my_youarehere(str_repeat(chr(9),4)); }
+				if($conf['youarehere']) { my_youarehere(str_repeat(DOKU_TAB,4)); }
 ?>			</header>
 			<article id="main-content">
 
 <!-- - - - - - - - - ARTICLE CONTENT - - - - - - - --><?php tpl_content(false) ?>
 
 
-<!-- - - - - - - - - END OF ARTICLE  - - - - - - - -->
+<!-- - - - - - - - - END OF ARTICLE - - - - - - - -->
 
 			</article>
 			<footer>
-<?php my_lastchange(str_repeat(chr(9),4)); ?>
+<?php my_lastchange(str_repeat(DOKU_TAB,4)); ?>
 <?php tpl_includeFile('pagefooter.html'); ?>
 			</footer>
 		</main>
@@ -124,7 +124,7 @@ $htmlLang = ' lang="' . $conf['lang'] . ( $lang['direction'] != 'ltr' ? '" dir="
 <?php include('tpl_footer.php'); ?>
 		</footer>
 	</div>
-<?php my_cookiebanner("\t"); ?>
+<?php my_cookiebanner(DOKU_TAB); ?>
 	<div class="no"><?php tpl_indexerWebBug() /* provide DokuWiki housekeeping, required in all templates */ ?></div>
 	<div id="screen__mode" class="no"></div><?php /* helper to detect CSS media query in script.js */ ?>
 </body>
diff --git a/templates/55/ad-hominem/my_template.php b/templates/55/ad-hominem/my_template.php
index b64eca1..10953fb 100644
--- a/templates/55/ad-hominem/my_template.php
+++ b/templates/55/ad-hominem/my_template.php
@@ -2,9 +2,9 @@
 /**
  * Overwriting DokuWiki template functions
  *
- * @license    GPL 2 (http://www.gnu.org/licenses/gpl.html)
- * @author     Sascha Leib <sascha@leib.be>
- * @author     Andreas Gohr <andi@splitbrain.org>
+ * @license	GPL 2 (http://www.gnu.org/licenses/gpl.html)
+ * @author	Sascha Leib <sascha@leib.be>
+ * @author	Andreas Gohr <andi@splitbrain.org>
  */
 
 use dokuwiki\Extension\Event;
@@ -19,31 +19,31 @@ use dokuwiki\File\PageResolver;
  * @author Andreas Gohr <andi@splitbrain.org>
  *
  * @triggers TPL_METAHEADER_OUTPUT
- * @param  bool $alt Should feeds and alternative format links be added?
- * @return bool
+ * @param	bool $alt Should feeds and alternative format links be added?
+ * @return	bool
  */
 function my_metaheaders($alt = true) {
-    global $ID;
-    global $REV;
-    global $INFO;
-    global $JSINFO;
-    global $ACT;
-    global $QUERY;
-    global $lang;
-    global $conf;
-    global $updateVersion;
-    /** @var Input $INPUT */
-    global $INPUT;
+	global $ID;
+	global $REV;
+	global $INFO;
+	global $JSINFO;
+	global $ACT;
+	global $QUERY;
+	global $lang;
+	global $conf;
+	global $updateVersion;
+	/** @var Input $INPUT */
+	global $INPUT;
 
-    // prepare the head array
-    $head = array();
+	// prepare the head array
+	$head = array();
 
-    // prepare seed for js and css
-    $tseed   = $updateVersion;
-    $depends = getConfigFiles('main');
-    $depends[] = DOKU_CONF."tpl/".$conf['template']."/style.ini";
-    foreach($depends as $f) $tseed .= @filemtime($f);
-    $tseed   = md5($tseed);
+	// prepare seed for js and css
+	$tseed = $updateVersion;
+	$depends = getConfigFiles('main');
+	$depends[] = DOKU_CONF."tpl/".$conf['template']."/style.ini";
+	foreach($depends as $f) $tseed .= @filemtime($f);
+	$tseed = md5($tseed);
 
 	// Open Graph information
 	$meta = p_get_metadata($ID);
@@ -55,7 +55,7 @@ function my_metaheaders($alt = true) {
 	
 		if (array_key_exists('description', $meta) && is_array($meta['description'])) {
 			if (array_key_exists('abstract', $meta['description'])) {
-				$parts = explode("\n", $meta['description']['abstract']);
+				$parts = explode(NL, $meta['description']['abstract']);
 				
 				if (is_array($parts) && array_key_exists(2, $parts)) {
 					$head['meta'][] = array('property' => 'og:description', 'content' => $parts[2]);
@@ -67,153 +67,153 @@ function my_metaheaders($alt = true) {
 		}
 	}
 
-    // the usual stuff
-    $head['meta'][] = array('name'=> 'generator', 'content'=> 'DokuWiki');
-    if(actionOK('search')) {
-        $head['link'][] = array(
-            'rel' => 'search', 'type'=> 'application/opensearchdescription+xml',
-            'href'=> DOKU_BASE.'lib/exe/opensearch.php', 'title'=> $conf['title']
-        );
-    }
+	// the usual stuff
+	$head['meta'][] = array('name'=> 'generator', 'content'=> 'DokuWiki');
+	if(actionOK('search')) {
+		$head['link'][] = array(
+			'rel' => 'search', 'type'=> 'application/opensearchdescription+xml',
+			'href'=> DOKU_BASE.'lib/exe/opensearch.php', 'title'=> $conf['title']
+		);
+	}
 
-    $head['link'][] = array('rel'=> 'start', 'href'=> DOKU_BASE);
-    if(actionOK('index')) {
-        $head['link'][] = array(
-            'rel'  => 'contents', 'href'=> wl($ID, 'do=index', false, '&'),
-            'title'=> $lang['btn_index']
-        );
-    }
+	$head['link'][] = array('rel'=> 'start', 'href'=> DOKU_BASE);
+	if(actionOK('index')) {
+		$head['link'][] = array(
+			'rel' => 'contents', 'href'=> wl($ID, 'do=index', false, '&'),
+			'title'=> $lang['btn_index']
+		);
+	}
 
-    if (actionOK('manifest')) {
-        $head['link'][] = array('rel'=> 'manifest', 'href'=> DOKU_BASE.'lib/exe/manifest.php');
-    }
+	if (actionOK('manifest')) {
+		$head['link'][] = array('rel'=> 'manifest', 'href'=> DOKU_BASE.'lib/exe/manifest.php');
+	}
 
-    $styleUtil = new \dokuwiki\StyleUtils();
-    $styleIni = $styleUtil->cssStyleini();
-    $replacements = $styleIni['replacements'];
-    if (!empty($replacements['__theme_color__'])) {
-        $head['meta'][] = array(
+	$styleUtil = new \dokuwiki\StyleUtils();
+	$styleIni = $styleUtil->cssStyleini();
+	$replacements = $styleIni['replacements'];
+	if (!empty($replacements['__theme_color__'])) {
+		$head['meta'][] = array(
 			'name' => 'theme-color',
 			'content' => $replacements['__theme_color__']
 		);
-    }
+	}
 
-    if($alt) {
-        if(actionOK('rss')) {
-            $head['link'][] = array(
-                'rel'  => 'alternate', 'type'=> 'application/rss+xml',
-                'title'=> $lang['btn_recent'], 'href'=> DOKU_BASE.'feed.php'
-            );
-            $head['link'][] = array(
-                'rel'  => 'alternate', 'type'=> 'application/rss+xml',
-                'title'=> $lang['currentns'],
-                'href' => DOKU_BASE.'feed.php?mode=list&ns='.(isset($INFO) ? $INFO['namespace'] : '')
-            );
-        }
-        if(($ACT == 'show' || $ACT == 'search') && $INFO['writable']) {
-            $head['link'][] = array(
-                'rel'  => 'edit',
-                'title'=> $lang['btn_edit'],
-                'href' => wl($ID, 'do=edit', false, '&')
-            );
-        }
+	if($alt) {
+		if(actionOK('rss')) {
+			$head['link'][] = array(
+				'rel'  => 'alternate', 'type'=> 'application/rss+xml',
+				'title'=> $lang['btn_recent'], 'href'=> DOKU_BASE.'feed.php'
+			);
+			$head['link'][] = array(
+				'rel'  => 'alternate', 'type'=> 'application/rss+xml',
+				'title'=> $lang['currentns'],
+				'href' => DOKU_BASE.'feed.php?mode=list&ns='.(isset($INFO) ? $INFO['namespace'] : '')
+			);
+		}
+		if(($ACT == 'show' || $ACT == 'search') && $INFO['writable']) {
+			$head['link'][] = array(
+				'rel'  => 'edit',
+				'title'=> $lang['btn_edit'],
+				'href' => wl($ID, 'do=edit', false, '&')
+			);
+		}
 
-        if(actionOK('rss') && $ACT == 'search') {
-            $head['link'][] = array(
-                'rel'  => 'alternate', 'type'=> 'application/rss+xml',
-                'title'=> $lang['searchresult'],
-                'href' => DOKU_BASE.'feed.php?mode=search&q='.$QUERY
-            );
-        }
+		if(actionOK('rss') && $ACT == 'search') {
+			$head['link'][] = array(
+				'rel'  => 'alternate', 'type'=> 'application/rss+xml',
+				'title'=> $lang['searchresult'],
+				'href' => DOKU_BASE.'feed.php?mode=search&q='.$QUERY
+			);
+		}
 
-        if(actionOK('export_xhtml')) {
-            $head['link'][] = array(
-                'rel' => 'alternate', 'type'=> 'text/html', 'title'=> $lang['plainhtml'],
-                'href'=> exportlink($ID, 'xhtml', '', false, '&')
-            );
-        }
+		if(actionOK('export_xhtml')) {
+			$head['link'][] = array(
+				'rel' => 'alternate', 'type'=> 'text/html', 'title'=> $lang['plainhtml'],
+				'href'=> exportlink($ID, 'xhtml', '', false, '&')
+			);
+		}
 
-        if(actionOK('export_raw')) {
-            $head['link'][] = array(
-                'rel' => 'alternate', 'type'=> 'text/plain', 'title'=> $lang['wikimarkup'],
-                'href'=> exportlink($ID, 'raw', '', false, '&')
-            );
-        }
-    }
+		if(actionOK('export_raw')) {
+			$head['link'][] = array(
+				'rel' => 'alternate', 'type'=> 'text/plain', 'title'=> $lang['wikimarkup'],
+				'href'=> exportlink($ID, 'raw', '', false, '&')
+			);
+		}
+	}
 
-    // setup robot tags apropriate for different modes
-    if(($ACT == 'show' || $ACT == 'export_xhtml') && !$REV) {
-        if($INFO['exists']) {
-            //delay indexing:
-            if((time() - $INFO['lastmod']) >= $conf['indexdelay'] && !isHiddenPage($ID) ) {
-                $head['meta'][] = array('name'=> 'robots', 'content'=> 'index,follow');
-            } else {
-                $head['meta'][] = array('name'=> 'robots', 'content'=> 'noindex,nofollow');
-            }
-            $canonicalUrl = wl($ID, '', true, '&');
-            if ($ID == $conf['start']) {
-                $canonicalUrl = DOKU_URL;
-            }
-            $head['link'][] = array('rel'=> 'canonical', 'href'=> $canonicalUrl);
-        } else {
-            $head['meta'][] = array('name'=> 'robots', 'content'=> 'noindex,follow');
-        }
-    } elseif(defined('DOKU_MEDIADETAIL')) {
-        $head['meta'][] = array('name'=> 'robots', 'content'=> 'index,follow');
-    } else {
-        $head['meta'][] = array('name'=> 'robots', 'content'=> 'noindex,nofollow');
-    }
+	// setup robot tags apropriate for different modes
+	if(($ACT == 'show' || $ACT == 'export_xhtml') && !$REV) {
+		if($INFO['exists']) {
+			//delay indexing:
+			if((time() - $INFO['lastmod']) >= $conf['indexdelay'] && !isHiddenPage($ID) ) {
+				$head['meta'][] = array('name'=> 'robots', 'content'=> 'index,follow');
+			} else {
+				$head['meta'][] = array('name'=> 'robots', 'content'=> 'noindex,nofollow');
+			}
+			$canonicalUrl = wl($ID, '', true, '&');
+			if ($ID == $conf['start']) {
+				$canonicalUrl = DOKU_URL;
+			}
+			$head['link'][] = array('rel'=> 'canonical', 'href'=> $canonicalUrl);
+		} else {
+			$head['meta'][] = array('name'=> 'robots', 'content'=> 'noindex,follow');
+		}
+	} elseif(defined('DOKU_MEDIADETAIL')) {
+		$head['meta'][] = array('name'=> 'robots', 'content'=> 'index,follow');
+	} else {
+		$head['meta'][] = array('name'=> 'robots', 'content'=> 'noindex,nofollow');
+	}
 
-    // set metadata
-    if($ACT == 'show' || $ACT == 'export_xhtml') {
-        // keywords (explicit or implicit)
-        if(!empty($INFO['meta']['subject'])) {
-            $head['meta'][] = array('name'=> 'keywords', 'content'=> join(',', $INFO['meta']['subject']));
-        } else {
-            $head['meta'][] = array('name'=> 'keywords', 'content'=> str_replace(':', ',', $ID));
-        }
-    }
+	// set metadata
+	if($ACT == 'show' || $ACT == 'export_xhtml') {
+		// keywords (explicit or implicit)
+		if(!empty($INFO['meta']['subject'])) {
+			$head['meta'][] = array('name'=> 'keywords', 'content'=> join(',', $INFO['meta']['subject']));
+		} else {
+			$head['meta'][] = array('name'=> 'keywords', 'content'=> str_replace(':', ',', $ID));
+		}
+	}
 
-    // load stylesheets
-    $head['link'][] = array(
-        'rel' => 'stylesheet',
-        'href'=> DOKU_BASE . 'lib/exe/css.php?t='.rawurlencode($conf['template']).'&tseed='.$tseed,
+	// load stylesheets
+	$head['link'][] = array(
+		'rel' => 'stylesheet',
+		'href'=> DOKU_BASE . 'lib/exe/css.php?t='.rawurlencode($conf['template']).'&tseed='.$tseed,
 		'defer' => 'defer'
-    );
+	);
 
-    $script = "var NS='".(isset($INFO)?$INFO['namespace']:'')."';\n\t\t";
-    if($conf['useacl'] && $INPUT->server->str('REMOTE_USER')) {
-        $script .= "var SIG=".toolbar_signature().";\n\t\t";
-    }
+	$script = "var NS='".(isset($INFO)?$INFO['namespace']:'')."';".DOKU_LF.DOKU_TAB.DOKU_TAB;
+	if($conf['useacl'] && $INPUT->server->str('REMOTE_USER')) {
+		$script .= "var SIG=".toolbar_signature().";".DOKU_LF.DOKU_TAB.DOKU_TAB;
+	}
 	
-    if($conf['basedir']) {
-        $script .= 'var BASEDIR="'.$conf['basedir']."\";\n\t\t";
-    }
+	if($conf['basedir']) {
+		$script .= 'var BASEDIR="'.$conf['basedir']."\";".DOKU_LF.DOKU_TAB.DOKU_TAB;
+	}
 
-    jsinfo();
-    $script .= 'var JSINFO = ' . json_encode($JSINFO).';';
-    $head['script'][] = array('_data'=> $script);
+	jsinfo();
+	$script .= 'var JSINFO = ' . json_encode($JSINFO).';';
+	$head['script'][] = array('_data'=> $script);
 
-    // load jquery
-    $jquery = getCdnUrls();
-    foreach($jquery as $src) {
-        $head['script'][] = array(
-            /* 'charset' => 'utf-8', -- obsolete */
-            '_data' => '',
-            'src' => $src,
-        ) + ($conf['defer_js'] ? [ 'defer' => 'defer'] : []);
-    }
+	// load jquery
+	$jquery = getCdnUrls();
+	foreach($jquery as $src) {
+		$head['script'][] = array(
+			/* 'charset' => 'utf-8', -- obsolete */
+			'_data' => '',
+			'src' => $src,
+		) + ($conf['defer_js'] ? [ 'defer' => 'defer'] : []);
+	}
 
-    // load our javascript dispatcher
-    $head['script'][] = array(
-        /* 'charset'=> 'utf-8', -- obsolete */
+	// load our javascript dispatcher
+	$head['script'][] = array(
+		/* 'charset'=> 'utf-8', -- obsolete */
 		'_data'=> '',
-        'src' => DOKU_BASE . 'lib/exe/js.php'.'?t='.rawurlencode($conf['template']).'&tseed='.$tseed,
-    ) + ($conf['defer_js'] ? [ 'defer' => 'defer'] : []);
+		'src' => DOKU_BASE . 'lib/exe/js.php'.'?t='.rawurlencode($conf['template']).'&tseed='.$tseed,
+	) + ($conf['defer_js'] ? [ 'defer' => 'defer'] : []);
 
-    // trigger event here
-    Event::createAndTrigger('TPL_METAHEADER_OUTPUT', $head, '_my_metaheaders_action', true);
-    return true;
+	// trigger event here
+	Event::createAndTrigger('TPL_METAHEADER_OUTPUT', $head, '_my_metaheaders_action', true);
+	return true;
 }
 
 /**
@@ -227,23 +227,23 @@ function my_metaheaders($alt = true) {
  * @param array $data
  */
 function _my_metaheaders_action($data) {
-    foreach($data as $tag => $inst) {
-        foreach($inst as $attr) {
-            if ( empty($attr) ) { continue; }
-            echo "\t<", $tag, ' ', buildAttributes($attr);
-            if(isset($attr['_data']) || $tag == 'script') {
-                if($tag == 'script' && $attr['_data'])
-                    $attr['_data'] = "/*<![CDATA[*/".
-                        $attr['_data'].
-                        "\n/*!]]>*/";
+	foreach($data as $tag => $inst) {
+		foreach($inst as $attr) {
+			if ( empty($attr) ) { continue; }
+			echo DOKU_TAB . '<', $tag, ' ', buildAttributes($attr);
+			if(isset($attr['_data']) || $tag == 'script') {
+				if($tag == 'script' && $attr['_data'])
+					$attr['_data'] = "/*<![CDATA[*/".NL. DOKU_TAB . DOKU_TAB .
+						$attr['_data'].
+						NL . DOKU_TAB . ' /*!]]>*/';
 
-                echo '>', $attr['_data'], '</', $tag, '>';
-            } else {
-                echo '/>';
-            }
-            echo "\n";
-        }
-    }
+				echo '>', $attr['_data'], '</', $tag, '>';
+			} else {
+				echo '/>';
+			}
+			echo DOKU_LF;
+		}
+	}
 }
 
 /**
@@ -256,7 +256,7 @@ function _my_metaheaders_action($data) {
  * @returns string (link)
  */
 function my_homelink() {
-    global $conf;
+	global $conf;
 	
 	$hl = trim(tpl_getConf('homelink'));
 
@@ -280,27 +280,27 @@ function my_homelink() {
  * @return void
  */
 function my_breadcrumbs($prefix = '') {
-    global $lang;
-    global $conf;
+	global $lang;
+	global $conf;
 
-    //check if enabled
-    if(!$conf['breadcrumbs']) return false;
+	//check if enabled
+	if(!$conf['breadcrumbs']) return false;
 
-    $crumbs = breadcrumbs(); //setup crumb trace
+	$crumbs = breadcrumbs(); //setup crumb trace
 
 	/* begin listing */
-	echo $prefix . "<nav id=\"navBreadCrumbs\">\n";
-	echo $prefix . "\t<h4>" . $lang['breadcrumb'] . "</h4>\n";
-	echo $prefix . "\t<ol reversed>\n";
+	echo $prefix . '<nav id="navBreadCrumbs">'.NL;
+	echo $prefix . DOKU_TAB . '<h4>' . $lang['breadcrumb'] . '</h4>'.NL;
+	echo $prefix . DOKU_TAB . '<ol reversed>'.NL;
 
-    $last = count($crumbs);
-    $i    = 0;
-    foreach($crumbs as $id => $name) {
-        $i++;
-		echo $prefix . "\t\t<li" . ($i == $last ? ' class="current"' : '') . '><bdi>' . tpl_link(wl($id), hsc($name), '', true) .  "</bdi></li>\n";
-    }
-	echo $prefix . "\t</ol>\n";
-	echo $prefix . "</nav>\n";
+	$last = count($crumbs);
+	$i	= 0;
+	foreach($crumbs as $id => $name) {
+		$i++;
+		echo $prefix . DOKU_TAB . DOKU_TAB . '<li' . ($i == $last ? ' class="current"' : '') . '><bdi>' . tpl_link(wl($id), hsc($name), '', true) .  '</bdi></li>'.NL;
+	}
+	echo $prefix . DOKU_TAB . '</ol>'.NL;
+	echo $prefix . '</nav>'.NL;
 }
 
 /**
@@ -318,58 +318,58 @@ function my_breadcrumbs($prefix = '') {
  *
  */
 function my_youarehere($prefix = '') {
-    global $conf;
-    global $ID;
-    global $lang;
+	global $conf;
+	global $ID;
+	global $lang;
 
-    // check if enabled
-    if(!$conf['youarehere']) return false;
+	// check if enabled
+	if(!$conf['youarehere']) return false;
 
-    $parts = explode(':', $ID);
-    $count = count($parts);
+	$parts = explode(':', $ID);
+	$count = count($parts);
 	$isdir = ( $parts[$count-1] == $conf['start']);
 	
 	$hl = trim(tpl_getConf('homelink'));
 
-	echo $prefix . "<nav id=\"navYouAreHere\">\n";
-	echo $prefix . "\t<h4>" . $lang['youarehere'] . "</h4>\n";
-	echo $prefix . "\t<ol>\n";
+	echo $prefix . '<nav id="navYouAreHere">'.NL;
+	echo $prefix . DOKU_TAB . '<h4>' . $lang['youarehere'] . '</h4>'.NL;
+	echo $prefix . DOKU_TAB . '<ol>'.NL;
 
-    // always print the startpage
+	// always print the startpage
 	if ( $hl !== '' ) {
-		echo $prefix . "\t\t<li class=\"home\">" . tpl_link( $hl, htmlentities(tpl_getLang('homepage')), ' title="' . htmlentities(tpl_getLang('homepage')) . '"', true) . "</li>\n";
-		echo $prefix . "\t\t<li>" . tpl_pagelink(':'.$conf['start'], null, true) . "</li>\n";
+		echo $prefix . DOKU_TAB . DOKU_TAB . '<li class="home">' . tpl_link( $hl, htmlentities(tpl_getLang('homepage')), ' title="' . htmlentities(tpl_getLang('homepage')) . '"', true) . '</li>'.NL;
+		echo $prefix . DOKU_TAB . DOKU_TAB . '<li>' . tpl_pagelink(':'.$conf['start'], null, true) . '</li>'.NL;
 	} else {
-		echo $prefix . "\t\t<li class=\"home\">" . tpl_pagelink(':'.$conf['start'], null, true) . "</li>\n";
+		echo $prefix . DOKU_TAB . DOKU_TAB . '<li class="home">' . tpl_pagelink(':'.$conf['start'], null, true) . '</li>'.NL;
 	}
 
-    // print intermediate namespace links
-    $page = '';
-    for($i = 0; $i < $count - 1; $i++) {
-        $part = $parts[$i];
-        $page .= $part . ':';
+	// print intermediate namespace links
+	$page = '';
+	for($i = 0; $i < $count - 1; $i++) {
+		$part = $parts[$i];
+		$page .= $part . ':';
 
 		if ($i == $count-2 && $isdir)  break; // Skip last if it is an index page
 	
-		echo $prefix . "\t\t<li>" . tpl_pagelink($page, null, true) . "</li>\n";
-    }
+		echo $prefix . DOKU_TAB . DOKU_TAB . '<li>' . tpl_pagelink($page, null, true) . '</li>'.NL;
+	}
 
-    // chould the current page be included in the listing?
+	// chould the current page be included in the listing?
 	$trail = tpl_getConf('navtrail');
 	
 	if ($trail !== 'none' && $trail !== '') {
 
-		echo $prefix . "\t\t<li class=\"current\">";
+		echo $prefix . DOKU_TAB . DOKU_TAB . '<li class="current">';
 		if ($trail == 'text') {
 			echo tpl_pagetitle($page . $parts[$count-1], true);
 		} else if ($trail == 'link') {
 			echo tpl_pagelink($page . $parts[$count-1], null, true);
 		}
-		echo "</li>\n";
+		echo '</li>'.NL;
 	}
 	
-	echo $prefix . "\t</ol>\n";
-	echo $prefix . "</nav>\n";
+	echo $prefix . DOKU_TAB . '</ol>'.NL;
+	echo $prefix . '</nav>'.NL;
 }
 
 /**
@@ -383,8 +383,8 @@ function my_youarehere($prefix = '') {
  * @return void
  */
 function my_userinfo($prefix = '') {
-    global $lang;
-    global $INPUT;
+	global $lang;
+	global $INPUT;
 
 	// add login/logout button:
 	$items = (new \dokuwiki\Menu\UserMenu())->getItems();
@@ -395,13 +395,13 @@ function my_userinfo($prefix = '') {
 		
 			echo $prefix . '<li class="action profile"><span class="sronly">' . $lang['loggedinas'] .
 				' </span><a href="' . htmlentities($it->getLink()) . '" title="' . $it->getTitle() . '">' .
-				userlink() . "</a></li>\n";
+				userlink() . "</a></li>".NL;
 
 		} else {
 
-			echo $prefix . "<li class=\"action $typ\"><a href=\"" . htmlentities($it->getLink()) .
+			echo $prefix . "<li class=\"action $typ\">" . '<a href="' . htmlentities($it->getLink()) .
 				'" title="' . $it->getTitle() . '">' . ($typ === 'profile'? userlink() : $it->getLabel() ) .
-				"</a></li>\n";
+				'</a></li>'.NL;
 		}
 	}
 }
@@ -419,43 +419,44 @@ function my_userinfo($prefix = '') {
  * @return void
  */
 function my_toc($prefix = '') {
-    global $TOC;
-    global $ACT;
-    global $ID;
-    global $REV;
-    global $INFO;
-    global $conf;
-    global $lang;
-    $toc = array();
+	global $TOC;
+	global $ACT;
+	global $ID;
+	global $REV;
+	global $INFO;
+	global $conf;
+	global $lang;
+	$toc = array();
 
-    if(is_array($TOC)) {
-        // if a TOC was prepared in global scope, always use it
-        $toc = $TOC;
-    } elseif(($ACT == 'show' || substr($ACT, 0, 6) == 'export') && !$REV && $INFO['exists']) {
-        // get TOC from metadata, render if neccessary
-        $meta = p_get_metadata($ID, '', METADATA_RENDER_USING_CACHE);
-        if(isset($meta['internal']['toc'])) {
-            $tocok = $meta['internal']['toc'];
-        } else {
-            $tocok = true;
-        }
-        $toc = isset($meta['description']['tableofcontents']) ? $meta['description']['tableofcontents'] : null;
-        if(!$tocok || !is_array($toc) || !$conf['tocminheads'] || count($toc) < $conf['tocminheads']) {
-            $toc = array();
-        }
-    } elseif($ACT == 'admin') {
-        // try to load admin plugin TOC
-        /** @var $plugin AdminPlugin */
-        if ($plugin = plugin_getRequestAdminPlugin()) {
-            $toc = $plugin->getTOC();
-            $TOC = $toc; // avoid later rebuild
-        }
-    }
+	if(is_array($TOC)) {
+		// if a TOC was prepared in global scope, always use it
+		$toc = $TOC;
+	} elseif(($ACT == 'show' || substr($ACT, 0, 6) == 'export') && !$REV && $INFO['exists']) {
+		// get TOC from metadata, render if neccessary
+		$meta = p_get_metadata($ID, '', METADATA_RENDER_USING_CACHE);
+		if(isset($meta['internal']['toc'])) {
+			$tocok = $meta['internal']['toc'];
+		} else {
+			$tocok = true;
+		}
+		$toc = isset($meta['description']['tableofcontents']) ? $meta['description']['tableofcontents'] : null;
+		if(!$tocok || !is_array($toc) || !$conf['tocminheads'] || count($toc) < $conf['tocminheads']) {
+			$toc = array();
+		}
+	} elseif($ACT == 'admin') {
+		// try to load admin plugin TOC
+		/** @var $plugin AdminPlugin */
+		if ($plugin = plugin_getRequestAdminPlugin()) {
+			$toc = $plugin->getTOC();
+			$TOC = $toc; // avoid later rebuild
+		}
+	}
 
 	/* Build the hierarchical list of headline links: */
 	if (count($toc) >= intval($conf['tocminheads'])) {
-		echo $prefix . "<aside id=\"toc\" class=\"toggle hide\">\n";
-		echo $prefix . "\t<button type=\"button\" id=\"toc-menubutton\" class=\"tg_button\" title=\"" . htmlentities($lang['toc']) . '" aria-haspopup="true" aria-controls="toc-menu"><span>' . htmlentities($lang['toc']) . "</span></button>\n" . $prefix . "\t<div id=\"toc-menu\" class=\"tg_content\" role=\"menu\" aria-labelledby=\"toc-menubutton\">";
+		echo $prefix . '<aside id="toc" class="toggle hide">'.NL;
+		echo $prefix . DOKU_TAB . '<button type="button" id="toc-menubutton" class="tg_button" title="' . htmlentities($lang['toc']) . '" aria-haspopup="true" aria-controls="toc-menu"><span>' . htmlentities($lang['toc']) . '</span></button>'.NL;
+		echo $prefix . DOKU_TAB . '<nav id="toc-menu" class="tg_content" role="menu" aria-labelledby="toc-menubutton">';
 		$level = 0;
 		foreach($toc as $it) {
 			
@@ -464,29 +465,34 @@ function my_toc($prefix = '') {
 
 			if ($cp > 0) {
 				while ($level < $nl) {
-					echo "\n" . $prefix . str_repeat("\t", $level*2 + 2) . "<ol>\n";
+					echo DOKU_LF . $prefix . str_repeat(DOKU_TAB, $level*2 + 2) . '<ol>'.NL;
 					$level++;
 				}
 			} else if ($cp < 0) {
 				while ($level > $nl) {
-					echo "\n" . $prefix . str_repeat("\t", $level*2) . "</ol>\n" . $prefix . str_repeat("\t", $level*2-1) . "</li>\n";
+					echo DOKU_LF . $prefix . str_repeat(DOKU_TAB, $level*2) . '</ol>'.NL;
+					echo $prefix . str_repeat(DOKU_TAB, $level*2-1) . '</li>'.NL;
 					$level--;
 				}
 			} else {
-				echo "</li>\n";
+				echo '</li>'.NL;
 			}
 			
 			$href = ( array_key_exists('link', $it ) ? $it['link'] : '' ) . ( array_key_exists('hid', $it) && $it['hid'] !== '' ? '#' . $it['hid'] : '' );
 
-			echo $prefix . str_repeat("\t", $nl*2 + 1) . '<li  role="presentation"><a role="menuitem" href="' . $href . '">' . htmlentities($it['title']) . "</a>";
+			echo $prefix . str_repeat(DOKU_TAB, $nl*2 + 1) . '<li role="presentation">' . "<a role=\"menuitem\" href=\"{$href}\">" . htmlentities($it['title']) . '</a>';
 			$level = $nl;
 		}
 		
 		for ($i = $level-1; $i > 0; $i--) {
-			echo "</li>\n" . $prefix . str_repeat("\t", $i*2 + 1) . "</ol>";
+			echo '</li>'.NL;
+			echo $prefix . str_repeat(DOKU_TAB, $i*2 + 1) . '</ol>';
 		}
 			
-		echo "</li>\n" . $prefix . "\t\t</ol>\n" . $prefix . "\t</div>\n" . $prefix . "</aside>\n";
+		echo '</li>'.NL;
+		echo $prefix . DOKU_TAB . DOKU_TAB . '</ol>'.NL;
+		echo $prefix . DOKU_TAB . '</nav>'.NL;
+		echo $prefix . '</aside>'.NL;
 	}
 }
 
@@ -501,9 +507,9 @@ function my_toc($prefix = '') {
  */
 function my_lastchange($prefix = '') {
 	
-    global $lang;
-    global $INFO;
-    global $conf;
+	global $lang;
+	global $INFO;
+	global $conf;
 
 	$lastmod = $INFO['lastmod'];
 
@@ -511,14 +517,14 @@ function my_lastchange($prefix = '') {
 
 		$longDate = htmlentities(dformat($lastmod));
 
-		echo $prefix . "<p class=\"docInfo\">\n";
-		echo $prefix . "\t<bdi>" . $lang['lastmod'] . "</bdi>\n";
-		echo $prefix . "\t<time datetime=\"" . date('c', $lastmod) . '" title="' . $longDate . '"><span class="print-only">' . $longDate . '</span><span class="noprint">' . datetime_h($lastmod) . "</span></time>\n";
-		echo $prefix . "</p>\n";
+		echo $prefix . '<p class="docInfo">'.NL;
+		echo $prefix . DOKU_TAB . '<bdi>' . $lang['lastmod'] . '</bdi>'.NL;
+		echo $prefix . DOKU_TAB . '<time datetime="' . date('c', $lastmod) . '" title="' . $longDate . '"><span class="print-only">' . $longDate . '</span><span class="noprint">' . datetime_h($lastmod) . "</span></time>".NL;
+		echo $prefix . '</p>'.NL;
 	}
 	
 	/* user name for last change (is this really interesting to the visitor?) */
-	/* echo $prefix .'<span class="editorname" tabindex="0">' . $lang['by'] . ' <bdi>' . editorinfo($INFO['editor']) . "</bdi></span>\n"; */
+	/* echo $prefix .'<span class="editorname" tabindex="0">' . $lang['by'] . ' <bdi>' . editorinfo($INFO['editor']) . '</bdi></span>'.NL; */
 }
 
 /**
@@ -527,24 +533,24 @@ function my_lastchange($prefix = '') {
  * @return string html of description list
  */
 function my_img_meta($prefix = '') {
-    global $lang;
+	global $lang;
 
 	$format = '%Y-%m-%dT%T%z';	/* e.g. 2021-21-05T16:45:12+02:00 */
 
-    $tags = tpl_get_img_meta();
+	$tags = tpl_get_img_meta();
 
-    foreach($tags as $tag) {
-        $label = $lang[$tag['langkey']];
-        if(!$label) $label = $tag['langkey'] . ':';
+	foreach($tags as $tag) {
+		$label = $lang[$tag['langkey']];
+		if(!$label) $label = $tag['langkey'] . ':';
 
-        echo $prefix . '<tr><th>'.$label.'</th><td>';
-        if ($tag['type'] == 'date') {
-            echo '<time datetime="' . strftime($format, $tag['value']) . '">' . dformat($tag['value']) . '</time>';
-        } else {
-            echo hsc($tag['value']);
-        }
-        echo "</td></tr>\n";
-    }
+		echo $prefix . "<tr><th>{$label}</th><td>";
+		if ($tag['type'] == 'date') {
+			echo '<time datetime="' . strftime($format, $tag['value']) . '">' . dformat($tag['value']) . '</time>';
+		} else {
+			echo hsc($tag['value']);
+		}
+		echo '</td></tr>'.NL;
+	}
 }
 
 /**
@@ -552,13 +558,13 @@ function my_img_meta($prefix = '') {
  *
  */
 function my_sitelogo() {
-    global $conf;
+	global $conf;
 
 	// get logo either out of the template images folder or data/media folder
 	$logoSize = array();
 	$logo = tpl_getMediaFile(array(':logo.svg', ':wiki:logo.svg', ':logo.png', ':wiki:logo.png', 'images/sitelogo.svg'), false, $logoSize);
 	tpl_link( my_homelink(),
-		'<img src="'.$logo.'" ' . (is_array($logoSize) && array_key_exists(3, $logoSize) ? $logoSize[3] : '') . ' alt="' . htmlentities($conf['title']) . '" />', 'accesskey="h" title="[H]" class="logo"');
+		"<img src=\"{$logo}\" " . (is_array($logoSize) && array_key_exists(3, $logoSize) ? $logoSize[3] : '') . ' alt="' . htmlentities($conf['title']) . '" />', 'accesskey="h" title="[H]" class="logo"');
 }
 
 /**
@@ -583,16 +589,16 @@ function my_favicons($color = null) {
 		
 		if ($color== null) { $color = '#2b73b7'; }
 	}
-	echo "\t<meta name=\"theme-color\" content=\"" . $color . "\" />\n"; */
+	echo DOKU_TAB . "<meta name=\"theme-color\" content=\"" . $color . "\" />".NL; */
 
 	// get the favicon:
 	$link = tpl_getMediaFile(array(':favicon.ico', ':favicon.png', ':favicon.svg', ':wiki:favicon.ico', ':wiki:favicon.png', ':wiki:favicon.svg'), false, $logoSize);
-	echo "\t<link rel=\"icon\" href=\"" . $link . "\" />\n";
+	echo DOKU_TAB . "<link rel=\"icon\" href=\"{$link}\" />".NL;
 
 	// Apple Touch Icon
 	$logoSize = array();
 	$link = tpl_getMediaFile(array(':apple-touch-icon.png', ':wiki:apple-touch-icon.png', 'images/apple-touch-icon.png'), false, $logoSize);
-	echo "\t<link rel=\"apple-touch-icon\" href=\"" . $link . "\" />\n";
+	echo DOKU_TAB . "<link rel=\"apple-touch-icon\" href=\"{$link}\" />".NL;
 
 }
 
@@ -614,20 +620,25 @@ function my_cookiebanner($prefix = '') {
 		return;
 	}
 	
+	// define the cookie icon:
+	$svg = '<svg width="100%" height="100%" viewBox="0 0 64 64" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" xmlns:serif="http://www.serif.com/" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:1.5;"><path d="M17.272,19.443c6.035,-0.582 10.759,-5.673 10.759,-11.858c-0,-1.843 -0.42,-3.588 -1.168,-5.146c1.668,-0.289 3.385,-0.439 5.137,-0.439c16.557,-0 30,13.443 30,30c0,16.557 -13.443,30 -30,30c-16.557,-0 -30,-13.443 -30,-30c0,-0.925 0.042,-1.84 0.124,-2.743c1.061,0.31 2.183,0.476 3.345,0.476c6.025,0 11.011,-4.482 11.803,-10.29Z" style="fill:#d5944b;stroke:#26251d;stroke-width:4px;"/><circle cx="17.927" cy="41.07" r="3.488" style="fill:#443017;"/><circle cx="31.33" cy="30.835" r="3.488" style="fill:#443017;"/><circle cx="32" cy="49.883" r="3.488" style="fill:#443017;"/><circle cx="43.952" cy="41.07" r="3.488" style="fill:#443017;"/><circle cx="49.092" cy="27.347" r="3.488" style="fill:#443017;"/><circle cx="38.306" cy="16.056" r="3.488" style="fill:#443017;"/></svg>';
+	
 	// output the HTML code:
-	echo $prefix . "<div id=\"cookiebanner\" class=\"cb_" . $position . "\">\n";
-	echo $prefix . "\t<p class=\"cb_info\"><span class=\"cb_icon\"></span>\n";
-	echo $prefix . "\t\t<span class=\"cb_msg\">". $msg . "</span>\r";
-	echo $prefix . "\t</p>\n";
-	echo $prefix . "\t<p class=\"cb_action\">\n";
-	echo $prefix . "\t\t<button>" . hsc(tpl_getLang('cookie_consent')) . "</button>\n";
-	echo $prefix . "\t\t";
+	echo $prefix . "<div id=\"cookiebanner\" class=\"cb_{$position}\">".NL;
+	echo $prefix . DOKU_TAB . '<p class="cb_info">'.NL;
+	echo $prefix . DOKU_TAB . DOKU_TAB . "<span class=\"cb_icon\">{$svg}</span>".NL;
+	echo $prefix . DOKU_TAB . DOKU_TAB . "<span class=\"cb_msg\">{$msg}</span>".NL;
+	echo $prefix . DOKU_TAB . '</p>'.NL;
+	echo $prefix . DOKU_TAB . '<p class="cb_action">'.NL;
+	echo $prefix . DOKU_TAB . DOKU_TAB . '<button>' . hsc(tpl_getLang('cookie_consent')) . '</button>'.NL;
+	echo $prefix . DOKU_TAB . DOKU_TAB;
 	if ( substr($link, 0, 7) == 'http://' || substr($link, 0, 8) == 'https://') {
-		echo '<a href="' . $link . '" target="_blank">' . hsc(tpl_getLang('cookie_linktext')) . '</a>';
+		echo "<a href=\"{$link}\" target=\"_blank\">" . hsc(tpl_getLang('cookie_linktext')) . '</a>';
 	} else {
 		tpl_pagelink($link, tpl_getLang('cookie_linktext'));
 	}
-	echo $prefix . "\n\t</p>\n" . $prefix . "</div>\n";
+	echo $prefix . DOKU_LF . DOKU_TAB.'</p>'.NL;
+	echo $prefix . '</div>'.NL;
 
 }
 
@@ -671,7 +682,7 @@ function my_langmenu($prefix, $place, $checkage = true) {
 			
 			$asMenu = ($place == 'tb'); // display as menu only in toolbar!
 			
-			$out .= "{$prefix}<div id=\"{$place}Languages\">\n";
+			$out .= $prefix . "<div id=\"{$place}Languages\">".NL;
 			
 			// create the header item 
 			
@@ -684,9 +695,10 @@ function my_langmenu($prefix, $place, $checkage = true) {
 				$svg = "<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><title>{$langName}</title><path d='M20,2H4A2,2 0 0,0 2,4V22L6,18H20A2,2 0 0,0 22,16V4C22,2.89 21.1,2 20,2Z' /><text lengthAdjust='spacingAndGlyphs' x='50%' y='47%' dominant-baseline='middle' text-anchor='middle' style='font-size:50%'>{$lang}</text></svg>";
 			
 				// prepare the menu button:
-				$out .= "{$prefix}\t<button id=\"langButton\" aria-haspopup=\"menu\" aria-controls=\"langMenuWrapper\" aria-expanded=\"false\">\n";
-				$out .= "{$prefix}\t\t{$svg}\n";
-				$out .= "{$prefix}\t\t<span class=\"sronly\">" . $trans->getLang('translations') . "</span>\n{$prefix}\t</button>\n";
+				$out .= $prefix . DOKU_TAB . '<button id="langButton" aria-haspopup="menu" aria-controls="langMenuWrapper" aria-expanded="false">'.NL;
+				$out .= $prefix . DOKU_TAB . DOKU_TAB . $svg . NL;
+				$out .= $prefix . DOKU_TAB . DOKU_TAB . '<span class="sronly">' . $trans->getLang('translations') . '</span>'.NL;
+				$out .= $prefix . DOKU_TAB . '</button>'.NL;
 			
 			} else { // show as list (sidebar)
 
@@ -709,13 +721,13 @@ function my_langmenu($prefix, $place, $checkage = true) {
 						$headline = html_wikilink($about, $headline);
 					}
 					/* complete the headline */
-					$out .= "{$prefix}\t<h3><span>" . $headline . "</span></h3>\n";
+					$out .= $prefix . DOKU_TAB . "<h3><span>{$headline}</span></h3>".NL;
 				} 
 			}
 
 			/* build the menu content */
-			$out .= "{$prefix}\t<div id=\"langMenu" . ( $asMenu ? 'Wrapper" role="menu" style="display: none"' : 'List"') . ">\n"
-				 .	"{$prefix}\t\t<ul id=\"lang" . ( $asMenu ? 'Menu" role="group"' : 'List"' ) . ">\n";
+			$out .= $prefix . DOKU_TAB . '<div id="langMenu' . ( $asMenu ? 'Wrapper" role="menu" style="display: none"' : 'List"') . '>'.NL;
+			$out .= $prefix . DOKU_TAB . DOKU_TAB . '<ul id="lang' . ( $asMenu ? 'Menu" role="group"' : 'List"' ) . '>'.NL;
 
 			// loop over each language and add it to the menu:
 			foreach ($trans->translations as $t) {
@@ -732,16 +744,16 @@ function my_langmenu($prefix, $place, $checkage = true) {
 					$link = wl($trg);
 					$current = ($lng == $lang);
 					
-					$out .= "{$prefix}\t\t\t<li" . ( $asMenu ? ' role="presentation"' : '' ). ( $current ? ' class="current"' : '' ) . ">\n";
-					$out .= "{$prefix}\t\t\t\t<a href=\"{$link}\" lang=\"{$lng}\" hreflang=\"{$lng}\" class=\"{$class}\"" . ( $asMenu ? ' role="menuitem"' : '' ) . '><bdi>'. $trans->getLocalName($lng) . "</bdi></a>\n";
-					$out .= "{$prefix}\t\t\t</li>\n";
+					$out .= $prefix . DOKU_TAB . DOKU_TAB . DOKU_TAB .'<li' . ( $asMenu ? ' role="presentation"' : '' ). ( $current ? ' class="current"' : '' ) . '>'.NL;
+					$out .= $prefix . DOKU_TAB . DOKU_TAB . DOKU_TAB . DOKU_TAB . "<a href=\"{$link}\" lang=\"{$lng}\" hreflang=\"{$lng}\" class=\"{$class}\"" . ( $asMenu ? ' role="menuitem"' : '' ) . '><bdi>'. $trans->getLocalName($lng) . '</bdi></a>'.NL;
+					$out .= $prefix . DOKU_TAB . DOKU_TAB . DOKU_TAB . '</li>'.NL;
 				}
 			}
 
 			// close all open elements:
-			$out .= "{$prefix}\t\t</ul>\n"
-				 .	"{$prefix}\t</div>\n"
-				 .	"{$prefix}</div>\n";
+			$out .= $prefix . DOKU_TAB . DOKU_TAB . '</ul>'.NL
+				 .	$prefix . DOKU_TAB . '</div>'.NL
+				 .	$prefix . '</div>'.NL;
 		}
 		echo $out; // done.
 	}
diff --git a/templates/55/ad-hominem/rest/pageinfo.php b/templates/55/ad-hominem/rest/pageinfo.php
index 2280181..168e623 100644
--- a/templates/55/ad-hominem/rest/pageinfo.php
+++ b/templates/55/ad-hominem/rest/pageinfo.php
@@ -3,13 +3,14 @@
  * DokuWiki Information about a page in JSON format
  *
  * @license		GPL 2 (http://www.gnu.org/licenses/gpl.html)
- * @author		Sascha Leib <sascha.leib (at) kolmio.com>
+ * @author		Sascha Leib <sascha (dot) leib (at) kolmio (dot) com>
  */
 
 header('Content-Type: application/json');
 header('Access-Control-Allow-Origin: *');
 
-//ini_set('display_errors', '1');
+// Turn off all error reporting
+//error_reporting(0);
 
 /* connect to DokuWiki: */
 if(!defined('NOSESSION')) define('NOSESSION',true); // we do not use a session or authentication here (better caching)
@@ -17,7 +18,7 @@ if (!defined('DOKU_INC')) { define('DOKU_INC', __DIR__ . '/../../../../'); }
 require_once(DOKU_INC . 'inc/init.php');
 
 /* get the output style (can be 'preview' or 'all') */
-$style = strtolower($_GET['v']);
+$style = ( array_key_exists('v', $_GET) ? strtolower($_GET['v']) : 'all' );
 if ($style !== 'preview') { $style = 'all'; }
 
 /* initialize the storage: */
@@ -33,7 +34,7 @@ if ($id !== null) {
 	/* get all metadata; */
 	$meta = p_get_metadata($id);
 	
-	if ($meta['title'] && $meta['title'] !== null) {
+	if (array_key_exists('title', $meta) && $meta['title'] !== null) {
 
 		if ($style == 'preview') {
 			$result['type'] = 'preview';
@@ -69,15 +70,14 @@ if ($id !== null) {
 
 		/* extract the first paragraph:*/
 		$parts = explode("\n", $meta['description']['abstract']);
-		$result['extract'] = $parts[2];
-		$result['extract_html'] = '<p>'.$parts[2].'</p>';
+		$result['extract'] = ( count($parts) > 2 ? $parts[2] : '' );
+		$result['extract_html'] = '<p>'. ( count($parts) > 2 ? $parts[2] : '' ) .'</p>';
 	
 	} else {
+		/* page does not exist */
 		$result['extract'] = 'Error: page does not exist.';
 		$result['extract_html'] = '<p><strong>' . $result['extract'] . '</strong></p>';
 	}
-	// $result['conf'] = $conf; /* WARNING: this may expose your configuration to the Internet. Use only for debugging! */
-	// $result['meta'] = $meta; /* uncomment if you need additional meta information */
 } 
 
 /* output the result: */
diff --git a/templates/55/ad-hominem/script.js b/templates/55/ad-hominem/script.js
index 46a2e5d..d91f1d6 100644
--- a/templates/55/ad-hominem/script.js
+++ b/templates/55/ad-hominem/script.js
@@ -16,13 +16,19 @@ $p = {
 		$p.search.init();
 		$p.togglers.init();
 		$p.langMenu.init();
-
 	},
 	
 	/* link information */
 	linkinfo: {
 		init: function() {
 			
+			// write a warning to the console for wrong BASEDIR settings:
+			if (typeof BASEDIR !== 'string') {
+				console.warn("Ad-Hominem Template: BASEDIR not set, assuming '/'!");
+			} else if (BASEDIR.substring(0,1) !== '/') {
+				console.warn("Ad-Hominem Template: BASEDIR does not start with a slash, this may cause problems.");
+			}
+			
 			/* find all links in the main section */
 			var main = document.getElementById("main-layout");
 			var al = main.getElementsByTagName("a");
@@ -100,7 +106,7 @@ $p = {
 		/* TODO: mechanism to dynamically add sites by site admin */
 				
 		/* callback for the onhover event of links: */
-		_linkHoverCallback: function() {
+		_linkHoverCallback: function(evt) {
 
 			var a = jQuery(this);
 			var hi = jQuery.data(this, 'has-info');
@@ -124,7 +130,9 @@ $p = {
 							break;
 						}
 					};
-				} catch (e) {}
+				} catch (err) {
+					console.error(err);
+				}
 
 				/* get the ID to request: */
 				switch(type) {
@@ -153,7 +161,7 @@ $p = {
 						dataType:	'json',
 						crossDomain: true,
 						error:		function(xhr, msg, e) {
-										console.error(msg);
+										console.error("Ajax Error:", msg);
 									},
 						success:	function(data, msg, xhr) {
 										// build the new title for the element:
diff --git a/templates/55/ad-hominem/style.ini b/templates/55/ad-hominem/style.ini
index 06b120f..464a999 100644
--- a/templates/55/ad-hominem/style.ini
+++ b/templates/55/ad-hominem/style.ini
@@ -25,7 +25,7 @@ css/_media_fullscreen.css	= screen
 css/_fileuploader.css		= screen
 css/_tabs.css				= screen
 css/_links.css				= screen
-css/_footnotes.css			= screen
+css/_footnotes.css			= all
 css/_search.less			= screen
 css/_recent.css				= screen
 css/_diff.css				= screen
@@ -41,6 +41,8 @@ css/pagetools.less			= screen
 css/content.less			= screen
 css/plugins.less			= screen
 
+css/geshi.less				= all
+
 css/print.less				= print
 
 
@@ -63,7 +65,7 @@ __background__		= "#FFF"			; @ini_background
 __text_alt__		= "#333"			; @ini_text_alt
 __background_alt__	= "#EEE"			; @ini_background_alt
 ; neutral text and background colors
-__text_neu__		= "#666"			; @ini_text_neu
+__text_neu__		= "#616161"			; @ini_text_neu
 __background_neu__	= "#DDD"			; @ini_background_neu
 ; border color
 __border__			= "#CCC"			; @ini_border
@@ -76,7 +78,7 @@ __highlight__       = "#fcffaa"			; @ini_highlight
 ; default link color
 __link__            = "#1F53A8"			; @ini_link
 
-; border color
+; separator color
 __separator__		= "#666"			; @ini_separator
 
 ;--------------------------------------------------------------------------
@@ -106,16 +108,18 @@ __focus_color__		= "rgba(255,136,0,.75)"	; @ini_focus_color: focus colour (Acces
 __background_site_dark__	= "#0C0C0D"		; @ini_background_site_dark
 __background_dark__			= "#232327"		; @ini_background_dark
 __background_alt_dark__		= "#39393D"		; @ini_background_alt_dark
+__background_neu_dark__		= "#4C4C4E"		; @ini_background_neu_dark
 __headlines_dark__			= "#ADADB3"		; @ini_headlines_dark
 __text_dark__				= "#CCC"		; @ini_text_dark
 __text_alt_dark__			= "#AEAEAE"		; @ini_text_alt_dark
+__text_neu_dark__			= "#BDBDBD"		; @ini_text_neu_dark
 __link_dark__				= "#76B0FD"		; @ini_link_dark
 __existing_dark__			= "#00CA1B"		; @ini_existing_dark
 __missing_dark__			= "#FF9233"		; @ini_missing_dark
 __inpage_dark__				= "#A7AEA6"		; @ini_inpage_dark
 __border_dark__				= "#38383D"		; @ini_border_dark
 __blockquote_dark__			= "#3b3b42"		; @ini_blockquote_dark
-
+__highlight_dark__          = "#3c3c36"		; @ini_highlight_dark
 
 ;----------------------------------------------- Font families ----
 
diff --git a/templates/55/ad-hominem/template.info.txt b/templates/55/ad-hominem/template.info.txt
index 75d65e9..3c71772 100644
--- a/templates/55/ad-hominem/template.info.txt
+++ b/templates/55/ad-hominem/template.info.txt
@@ -1,7 +1,7 @@
 base     ad-hominem
 author   Sascha Leib
 email    ad@hominem.info
-date     2024-10-07
+date     2025-03-18
 name     Ad Hominem Template
-desc     A flexible, lightweight and modernised revision of the DokuWIki default template, optimized for DokuWiki "Kaos"
+desc     A flexible, lightweight and modernised revision of the DokuWIki default template
 url      https://www.dokuwiki.org/template:ad-hominem