darkmode added - still buggy

This commit is contained in:
Jottyfan committed 2026-10-15 18:25:03 +02:00
1 parent 0f01408745
commit 05d3f81979
19 files changed
+421 -186

No files matched your search

+1 -1
View File
@@ -1,3 +1,3 @@
group = de.jottyfan.camporganizer group = de.jottyfan.camporganizer
version = 1.0.7 version = 1.0.8
description = CampOrganizer2 description = CampOrganizer2
+144 -5
View File
@@ -41,12 +41,23 @@ html {
} }
body { body {
background-image: url('../images/background.jpg'); background-image: url('../images/background.svg');
background-repeat: repeat;
} }
.navbar-background { .navbar-background {
background-image: url('../images/background.jpg'); background-image: linear-gradient(rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0.1)),
background-repeat: no-repeat; url('../images/background.svg');
background-repeat: repeat;
}
[data-bs-theme="dark"] html {
background-image: url('../images/background_dark.svg');
}
[data-bs-theme="dark"] .navbar-background {
background-image: linear-gradient(rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0.1)),
url('../images/background_dark.svg');
} }
.logo { .logo {
@@ -462,8 +473,8 @@ div {
border: 1px solid gray; border: 1px solid gray;
} }
.block660 { .block800 {
max-width: 660px; max-width: 800px;
margin-left: auto; margin-left: auto;
margin-right: auto; margin-right: auto;
} }
@@ -539,3 +550,131 @@ div {
.thumbswipe::-webkit-scrollbar { .thumbswipe::-webkit-scrollbar {
display: none; display: none;
} }
/* ===== Dark Mode (Bootstrap 5.3: data-bs-theme="dark") ===== */
/* --- style.css --- */
[data-bs-theme="dark"] body,
[data-bs-theme="dark"] .navbar-background {
background-image: linear-gradient(rgba(0, 0, 0, 0.75), rgba(0, 0, 0, 0.75)),
url('../images/background.jpg');
}
[data-bs-theme="dark"] .mainpage {
background-color: rgba(33, 37, 41, 0.6);
}
[data-bs-theme="dark"] .tablebox {
background-color: rgba(33, 37, 41, 0.6) !important;
border-color: #495057;
}
[data-bs-theme="dark"] .locked {
background-color: rgba(255, 255, 255, 0.08) !important;
}
/* Links */
[data-bs-theme="dark"] .tablelink {
color: #6ea8fe;
}
[data-bs-theme="dark"] .tablelink:hover {
color: #5fd3d3;
}
[data-bs-theme="dark"] .hoverlink {
color: #ced4da;
}
[data-bs-theme="dark"] .hoverlink:hover {
color: #6ea8fe;
}
[data-bs-theme="dark"] .versionlink {
color: #ddd;
}
/* Buttons */
[data-bs-theme="dark"] .linkbtn:hover,
[data-bs-theme="dark"] .btn-icon-silent:hover {
background-color: #343a40;
border-color: #6c757d;
}
[data-bs-theme="dark"] .btn-icon-silent {
color: #adb5bd;
}
[data-bs-theme="dark"] .btn-linda {
box-shadow: 0 0 7px 4px rgba(0, 0, 0, 0.6);
}
[data-bs-theme="dark"] .btn-linda:hover {
background-color: #6c757d !important;
}
[data-bs-theme="dark"] .mytoggle_btn:hover {
background-color: rgba(255, 255, 255, 0.12) !important;
}
[data-bs-theme="dark"] .lindaborders {
box-shadow: 0 0 7px 4px rgba(0, 0, 0, 0.6);
}
/* Verläufe / Flächen */
[data-bs-theme="dark"] .versionclip {
background-image: linear-gradient(to bottom, #495057, #212529);
}
[data-bs-theme="dark"] .versionclip .versionlink {
color: #ddd;
}
[data-bs-theme="dark"] .silver-to-gray-gradient {
background-image: linear-gradient(to bottom right, #495057, #343a40) !important;
}
[data-bs-theme="dark"] .roleflag {
background-image: linear-gradient(to right bottom, #495057, #343a40);
border-color: #6c757d;
}
[data-bs-theme="dark"] .framed-white {
background: #212529;
color: #f8f9fa;
border-color: #adb5bd;
}
/* Status-Farben (abgedunkelt) */
[data-bs-theme="dark"] .acc_over {
background-image: linear-gradient(to bottom right, #495057, #343a40) !important;
}
[data-bs-theme="dark"] .acc_approved { background: #1e4d2b !important; }
[data-bs-theme="dark"] .acc_rejected { background: #5c2323 !important; }
[data-bs-theme="dark"] .acc_revoked { background: #5a2d5b !important; }
[data-bs-theme="dark"] .acc_requested { background: #6b4515 !important; }
/* Fehlerzustände */
[data-bs-theme="dark"] .error {
color: #ff6b6b;
}
[data-bs-theme="dark"] .inputerror {
background-image: linear-gradient(to left bottom, #212529, #4a2326) !important;
}
[data-bs-theme="dark"] .menu-danger {
color: #ff6b6b;
}
/* Icons / Logo (falls dunkle Grafiken) */
[data-bs-theme="dark"] .icon_profile {
filter: invert(1) brightness(1.2);
}
.icon_darkmode {
width: 32px;
height: 32px;
background-size: 32px;
background-repeat: no-repeat;
background-image: url('../images/Icon_Dunkelmodus.svg');
display: inline-block;
cursor: pointer;
}
[data-bs-theme="dark"] .icon_darkmode {
background-image: url('../images/Icon_Hellmodus.svg');
}
.icon_darkmode:hover {
background-image: url('../images/Icon_Dunkelmodus_hover.svg');
}
[data-bs-theme="dark"] .icon_darkmode:hover {
background-image: url('../images/Icon_Hellmodus_hover.svg');
}
@@ -1,160 +0,0 @@
.headerlayout {
background-color: transparent !important;
}
.footerlayout {
color: silver;
padding: 8px;
margin: 0px;
background-color: #28313d;
font-size: 12px;
position: absolute;
bottom: 0px;
width: 100%;
}
.main {
padding-left: 8px;
padding-right: 8px;
font-size: 14px;
color: rgb(96, 96, 96);
overflow: auto;
height: calc(100vh - 34px - 126px);
}
.banner {
background: #fafafa;
max-height: 56px;
margin-bottom: 30px;
padding: 12px 0;
}
.banner>* {
max-width: 1200px;
margin: 0 auto;
font-size: 25px;
display: block;
}
.menutitle {
flex-basis: -moz-available;
color: rgb(6, 147, 227);
}
.blocktext {
max-width: 1200px;
margin: 0 auto;
}
.blocktext786 {
max-width: 786px;
margin: 0 auto;
}
.darkmode-textcolor {
color: #787878 !important;
}
.darkmode-textcolor:hover {
color: rgb(36, 31, 49) !important;
}
.lightmode-textcolor {
color: #787878 !important;
}
.lightmode-textcolor:hover {
color: rgb(222, 221, 218) !important;
}
.text-light {
text-decoration: none;
}
.text-light#HOVER {
color: rgb(6, 147, 227);
}
.leftimage {
margin-right: 32px;
}
.rightimage {
margin-left: 32px;
}
.center {
text-align: center;
}
.right {
text-align: right;
}
.gray-toggler .navbar-toggler-icon {
background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(128, 128, 128, 1.0)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 8h24M4 16h24M4 24h24'/%3E%3C/svg%3E");
}
/* Set the border color to the desired color */
.gray-toggler.navbar-toggler {
border-color: silver;
}
.dropdown-menu {
max-height: 480px;
overflow-y: auto;
}
.darkmodebutton {
border: 1px solid #4d4d4d;
border-radius: 4px;
background-color: #242424;
}
.help {
text-align: right;
font-size: small;
}
html {
overflow-x: hidden;
}
body {
font-family: Monserrat, sans-serif;
background-image: url('../images/background.jpg');
}
a {
color: rgb(6, 147, 227);
}
h1 {
font-size: 25px;
}
h2 {
font-size: 22px;
}
h3 {
font-size: 18px;
}
h4 {
font-size: 16px;
}
h5 {
font-size: 14px;
}
.preview-content {
min-height: 200px;
max-height: 200px;
overflow-y: auto;
}
.accordion-collapse:not(.show) {
height: 200px !important;
}
@@ -9,7 +9,7 @@
} }
.cls-1, .cls-2 { .cls-1, .cls-2 {
stroke: #313122; stroke: #3f50eb;
} }
.cls-1, .cls-2, .cls-3 { .cls-1, .cls-2, .cls-3 {

Before

Width:  |  Height:  |  Size: 3.5 KiB

After

Width:  |  Height:  |  Size: 3.5 KiB

@@ -10,7 +10,7 @@
.cls-1, .cls-2 { .cls-1, .cls-2 {
fill: none; fill: none;
stroke: #313122; stroke: #229191;
} }
.cls-2 { .cls-2 {

Before

Width:  |  Height:  |  Size: 2.1 KiB

After

Width:  |  Height:  |  Size: 2.1 KiB

@@ -8,7 +8,7 @@
} }
.cls-1, .cls-2 { .cls-1, .cls-2 {
stroke: #313122; stroke: #912222;
} }
.cls-1, .cls-2, .cls-3 { .cls-1, .cls-2, .cls-3 {

Before

Width:  |  Height:  |  Size: 1.8 KiB

After

Width:  |  Height:  |  Size: 1.8 KiB

@@ -0,0 +1,40 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg id="Ebene_2" data-name="Ebene 2" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 71.44 71.44">
<defs>
<style>
.cls-1 {
stroke-linecap: round;
stroke-linejoin: round;
stroke-width: .5px;
}
.cls-1, .cls-2 {
stroke: #313122;
}
.cls-1, .cls-2, .cls-3 {
fill: none;
}
.cls-2 {
stroke-linecap: round;
stroke-linejoin: round;
stroke-width: 1.4px;
}
.cls-4 {
clip-path: url(#clippath);
}
</style>
<clipPath id="clippath">
<path class="cls-3" d="M46,13.5A26,26,0,1,0,57.4,44.9A18,18,0,1,1,46,13.5Z"/>
</clipPath>
</defs>
<g id="Ebene_1-2" data-name="Ebene 1">
<path class="cls-2" d="M46,13.5A26,26,0,1,0,57.4,44.9A18,18,0,1,1,46,13.5Z"/>
<g class="cls-4">
<path class="cls-1" d="M31,5L5,31M38,5L5,38M45,5L5,45M52,5L5,52M59,5L5,59M66,5L5,66M73,5L5,73M80,5L5,80M87,5L5,87"/>
</g>
<path class="cls-1" d="M58,12v6M55,15h6M64,28v4M62,30h4"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.0 KiB

@@ -0,0 +1,40 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg id="Ebene_2" data-name="Ebene 2" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 71.44 71.44">
<defs>
<style>
.cls-1 {
stroke-linecap: round;
stroke-linejoin: round;
stroke-width: .5px;
}
.cls-1, .cls-2 {
stroke: #ffffcc;
}
.cls-1, .cls-2, .cls-3 {
fill: none;
}
.cls-2 {
stroke-linecap: round;
stroke-linejoin: round;
stroke-width: 1.4px;
}
.cls-4 {
clip-path: url(#clippath);
}
</style>
<clipPath id="clippath">
<path class="cls-3" d="M46,13.5A26,26,0,1,0,57.4,44.9A18,18,0,1,1,46,13.5Z"/>
</clipPath>
</defs>
<g id="Ebene_1-2" data-name="Ebene 1">
<path class="cls-2" d="M46,13.5A26,26,0,1,0,57.4,44.9A18,18,0,1,1,46,13.5Z"/>
<g class="cls-4">
<path class="cls-1" d="M31,5L5,31M38,5L5,38M45,5L5,45M52,5L5,52M59,5L5,59M66,5L5,66M73,5L5,73M80,5L5,80M87,5L5,87"/>
</g>
<path class="cls-1" d="M58,12v6M55,15h6M64,28v4M62,30h4"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.0 KiB

@@ -0,0 +1,40 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg id="Ebene_2" data-name="Ebene 2" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 71.44 71.44">
<defs>
<style>
.cls-1 {
stroke-linecap: round;
stroke-linejoin: round;
stroke-width: .5px;
}
.cls-1, .cls-2 {
stroke: #313122;
}
.cls-1, .cls-2, .cls-3 {
fill: none;
}
.cls-2 {
stroke-linecap: round;
stroke-linejoin: round;
stroke-width: 1.4px;
}
.cls-4 {
clip-path: url(#clippath);
}
</style>
<clipPath id="clippath">
<circle class="cls-3" cx="35.72" cy="35.72" r="13"/>
</clipPath>
</defs>
<g id="Ebene_1-2" data-name="Ebene 1">
<circle class="cls-2" cx="35.72" cy="35.72" r="13"/>
<g class="cls-4">
<path class="cls-1" d="M46,10L10,46M52,10L10,52M58,10L10,58M64,10L10,64M70,10L10,70M76,10L10,76"/>
</g>
<path class="cls-2" d="M55.72,35.72h10M49.86,49.86l7.07,7.07M35.72,55.72v10M21.58,49.86l-7.07,7.07M15.72,35.72h-10M21.58,21.58l-7.07-7.07M35.72,15.72v-10M49.86,21.58l7.07-7.07"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.1 KiB

@@ -0,0 +1,40 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg id="Ebene_2" data-name="Ebene 2" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 71.44 71.44">
<defs>
<style>
.cls-1 {
stroke-linecap: round;
stroke-linejoin: round;
stroke-width: .5px;
}
.cls-1, .cls-2 {
stroke: #ffffcc;
}
.cls-1, .cls-2, .cls-3 {
fill: none;
}
.cls-2 {
stroke-linecap: round;
stroke-linejoin: round;
stroke-width: 1.4px;
}
.cls-4 {
clip-path: url(#clippath);
}
</style>
<clipPath id="clippath">
<circle class="cls-3" cx="35.72" cy="35.72" r="13"/>
</clipPath>
</defs>
<g id="Ebene_1-2" data-name="Ebene 1">
<circle class="cls-2" cx="35.72" cy="35.72" r="13"/>
<g class="cls-4">
<path class="cls-1" d="M46,10L10,46M52,10L10,52M58,10L10,58M64,10L10,64M70,10L10,70M76,10L10,76"/>
</g>
<path class="cls-2" d="M55.72,35.72h10M49.86,49.86l7.07,7.07M35.72,55.72v10M21.58,49.86l-7.07,7.07M15.72,35.72h-10M21.58,21.58l-7.07-7.07M35.72,15.72v-10M49.86,21.58l7.07-7.07"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.1 KiB

@@ -11,7 +11,7 @@
} }
.cls-1, .cls-2, .cls-3 { .cls-1, .cls-2, .cls-3 {
stroke: #313122; stroke: #229122;
} }
.cls-1, .cls-2, .cls-3, .cls-4 { .cls-1, .cls-2, .cls-3, .cls-4 {

Before

Width:  |  Height:  |  Size: 1.9 KiB

After

Width:  |  Height:  |  Size: 1.9 KiB

@@ -13,7 +13,7 @@
} }
.cls-1, .cls-3 { .cls-1, .cls-3 {
stroke: #313122; stroke: #919122;
} }
.cls-4 { .cls-4 {

Before

Width:  |  Height:  |  Size: 1.6 KiB

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 139 KiB

@@ -0,0 +1,32 @@
<svg xmlns="http://www.w3.org/2000/svg" width="400" height="400" viewBox="0 0 400 400" xmlns:c2pa="http://c2pa.org/manifest"><metadata><c2pa:manifest>AAAWgmp1bWIAAAAeanVtZGMycGEAEQAQgAAAqgA4m3EDYzJwYQAAABZcanVtYgAAAEdqdW1kYzJtYQARABCAAACqADibcQN1cm46YzJwYTphMzM1MGQyZS04NmU1LTQyYjUtYmRlOC0zNTYxZDY5ZjY5MmMAAAADl2p1bWIAAAApanVtZGMyYXMAEQAQgAAAqgA4m3EDYzJwYS5hc3NlcnRpb25zAAAAALxqdW1iAAAARGp1bWRjYm9yABEAEIAAAKoAOJtxE2MycGEuaW5ncmVkaWVudC52MwAAAAAYYzJzaAhFwg63268uomFOkv/n4gYAAABwY2JvcqNpZGM6Zm9ybWF0bWltYWdlL3N2Zyt4bWxqaW5zdGFuY2VJRHgseG1wOmlpZDpjOWYxNzA2NC00ZDg0LTQ4OTctOTIyOS1jZDczM2MxMzhjNzFscmVsYXRpb25zaGlwaHBhcmVudE9mAAAB4mp1bWIAAABBanVtZGNib3IAEQAQgAAAqgA4m3ETYzJwYS5hY3Rpb25zLnYyAAAAABhjMnNowQ2RhatptqmMbNKziv+RCgAAAZljYm9yomdhY3Rpb25zgqJmYWN0aW9ua2MycGEub3BlbmVkanBhcmFtZXRlcnOha2luZ3JlZGllbnRzgaJjdXJseC1zZWxmI2p1bWJmPWMycGEuYXNzZXJ0aW9ucy9jMnBhLmluZ3JlZGllbnQudjNkaGFzaFggH6MkKOzAit/LsSCI9Zpev4IiqJxvqoT1NdFK3kOekbykZmFjdGlvbngdY29tLmFudGhyb3BpYy5jbGF1ZGUucHJvdmlkZWRqcGFyYW1ldGVyc6F4H2NvbS5hbnRocm9waWMub3JpZ2luLWNvbmZpZGVuY2VndW5rbm93bmtkZXNjcmlwdGlvbnhmQ2xhdWRlIHByb3ZpZGVkIHRoaXMgZmlsZSBhdCB0aGUgcmVxdWVzdCBvZiBhIHVzZXIgYW5kIG1heSBoYXZlIGNyZWF0ZWQgb3IgbW9kaWZpZWQgdGhlIGZpbGUgY29udGVudHMubXNvZnR3YXJlQWdlbnShZG5hbWVmQ2xhdWRlcmFsbEFjdGlvbnNJbmNsdWRlZPUAAADIanVtYgAAAEBqdW1kY2JvcgARABCAAACqADibcRNjMnBhLmhhc2guZGF0YQAAAAAYYzJzaI3UUvWEK7Uejao5l0WyZOUAAACAY2JvcqVjYWxnZnNoYTI1NmNwYWRNAAAAAAAAAAAAAAAAAGRoYXNoWCC6XDstMimt9grK98fJ8bessfw2pBweEEB+OUUhnRwytWRuYW1lbmp1bWJmIG1hbmlmZXN0amV4Y2x1c2lvbnOBomVzdGFydBiWZmxlbmd0aBkeBAAAAj5qdW1iAAAAJ2p1bWRjMmNsABEAEIAAAKoAOJtxA2MycGEuY2xhaW0udjIAAAACD2Nib3KlY2FsZ2ZzaGEyNTZpc2lnbmF0dXJleE1zZWxmI2p1bWJmPS9jMnBhL3VybjpjMnBhOmEzMzUwZDJlLTg2ZTUtNDJiNS1iZGU4LTM1NjFkNjlmNjkyYy9jMnBhLnNpZ25hdHVyZWppbnN0YW5jZUlEeCx4bXA6aWlkOjAyZWQ4ZmM4LWNiZWQtNDA1Ny05MGFiLTliY2M4M2VkN2UzN3JjcmVhdGVkX2Fzc2VydGlvbnODomN1cmx4LXNlbGYjanVtYmY9YzJwYS5hc3NlcnRpb25zL2MycGEuaW5ncmVkaWVudC52M2RoYXNoWCAfoyQo7MCK38uxIIj1ml6/giKonG+qhPU10UreQ56RvKJjdXJseCpzZWxmI2p1bWJmPWMycGEuYXNzZXJ0aW9ucy9jMnBhLmFjdGlvbnMudjJkaGFzaFggZsiV0nt4SuXdWuI92d7JMKszu4oyBs148gjT/kK1zTCiY3VybHgpc2VsZiNqdW1iZj1jMnBhLmFzc2VydGlvbnMvYzJwYS5oYXNoLmRhdGFkaGFzaFggl0Lw3rOSgcOs399VtYeNLEKgXSqX4pDhjpHb8zHhyzN0Y2xhaW1fZ2VuZXJhdG9yX2luZm+jZG5hbWVvQW50aHJvcGljIEZpbGVzZ3ZlcnNpb25lMS4wLjBrc3BlY1ZlcnNpb25lMi40LjAAABA4anVtYgAAAChqdW1kYzJjcwARABCAAACqADibcQNjMnBhLnNpZ25hdHVyZQAAABAIY2JvctKEWQISogEmGCFZAgowggIGMIIBjaADAgECAhRA5aAK7sI50L64g/oGQgU9Z1UTADAKBggqhkjOPQQDAzBJMRcwFQYDVQQKEw5BbnRocm9waWMsIFBCQzEuMCwGA1UEAxMlQW50aHJvcGljIENvbnRlbnQgQ3JlZGVudGlhbHMgUm9vdCBDQTAeFw0yNjA4MDcxODQzNTZaFw0yODA4MDYxOTQzNTZaMEQxFzAVBgNVBAoTDkFudGhyb3BpYywgUEJDMSkwJwYDVQQDEyBBbnRocm9waWMgQ2xhdWRlIENvbnRlbnQgU2lnbmluZzBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABJh6CmvLUBgFFNU0vUKlOVtE6djd17L5SuwX0LemFisBM3dkd/3cyjxFA3Qo5S46fX0/ihY0VZ7mfb9KF703t5OjWDBWMA4GA1UdDwEB/wQEAwIHgDAVBgNVHSUEDjAMBgorBgEEAYPoXgIBMAwGA1UdEwEB/wQCMAAwHwYDVR0jBBgwFoAUzlHiBIFOZFsj+OPEz5o+nMHXXMIwCgYIKoZIzj0EAwMDZwAwZAIwMXMdFJ4BetLLVY7ORuE9noqbbAZOZn/aArXyTwFAZfKrPzxF2vPoJNf1+UCdg1XGAjBwX1zd9WGqYkqmL5SFqw1QySjr1zJfpJM9+1rdDwSPLMOPOjKuiXjoU/pUUeG9RwmhY3BhZFkNngAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALine truncated
<defs>
<filter id="grain" x="0" y="0" width="100%" height="100%">
<feTurbulence type="fractalNoise" baseFrequency=".9" numOctaves="3" seed="7" stitchTiles="stitch"/>
<feColorMatrix values="0 0 0 0 0.45 0 0 0 0 0.4 0 0 0 0 0.33 0 0 0 .55 -.18"/>
</filter>
<filter id="fibers" x="0" y="0" width="100%" height="100%">
<feTurbulence type="fractalNoise" baseFrequency=".012 .35" numOctaves="2" seed="3" stitchTiles="stitch"/>
<feColorMatrix values="0 0 0 0 0.55 0 0 0 0 0.5 0 0 0 0 0.42 0 0 0 .5 -.2"/>
</filter>
</defs>
<rect width="400" height="400" fill="#f8f5ef"/>
<rect width="400" height="400" filter="url(#grain)" opacity="0.9"/>
<rect width="400" height="400" filter="url(#fibers)" opacity="0.16"/>
<g stroke-linecap="round" fill="none">
<path d="M239 294l5 4" stroke="#d9c25a" stroke-width="1.2" opacity="0.54"/>
<path d="M34 248l5 2" stroke="#a46b6b" stroke-width="1.2" opacity="0.53"/>
<path d="M146 180l-4 1" stroke="#6f6a6a" stroke-width="1.6" opacity="0.53"/>
<path d="M68 76l-2 -4" stroke="#6f6a6a" stroke-width="1.6" opacity="0.54"/>
<path d="M167 124l-3 -2" stroke="#d9c25a" stroke-width="1.6" opacity="0.56"/>
<path d="M317 48l2 -3" stroke="#a46b6b" stroke-width="1" opacity="0.45"/>
<path d="M376 43l-3 3" stroke="#a46b6b" stroke-width="1.4" opacity="0.36"/>
<path d="M112 16l-4 2" stroke="#7f9a8a" stroke-width="1.2" opacity="0.32"/>
<circle cx="98" cy="152" r="1.2" fill="#8c8c7a" stroke="none" opacity="0.33"/>
<circle cx="203" cy="202" r="0.8" fill="#a46b6b" stroke="none" opacity="0.32"/>
<circle cx="206" cy="384" r="1.5" fill="#7f9a8a" stroke="none" opacity="0.44"/>
<circle cx="285" cy="50" r="0.8" fill="#9a8f86" stroke="none" opacity="0.48"/>
<circle cx="254" cy="19" r="1" fill="#a46b6b" stroke="none" opacity="0.45"/>
<circle cx="196" cy="162" r="1" fill="#d9c25a" stroke="none" opacity="0.46"/>
<circle cx="183" cy="345" r="1.5" fill="#7f9a8a" stroke="none" opacity="0.57"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 9.7 KiB

@@ -0,0 +1,41 @@
<svg xmlns="http://www.w3.org/2000/svg" width="400" height="400" viewBox="0 0 400 400" xmlns:c2pa="http://c2pa.org/manifest"><metadata><c2pa:manifest>AAAWgmp1bWIAAAAeanVtZGMycGEAEQAQgAAAqgA4m3EDYzJwYQAAABZcanVtYgAAAEdqdW1kYzJtYQARABCAAACqADibcQN1cm46YzJwYTpiNTQ0OTNmOS1iYjM4LTRjMTUtYmNiNC0zZTc4NzRiZDhkNjEAAAADl2p1bWIAAAApanVtZGMyYXMAEQAQgAAAqgA4m3EDYzJwYS5hc3NlcnRpb25zAAAAALxqdW1iAAAARGp1bWRjYm9yABEAEIAAAKoAOJtxE2MycGEuaW5ncmVkaWVudC52MwAAAAAYYzJzaMjjzeo2Nvx4v1hKKJOGnt8AAABwY2JvcqNpZGM6Zm9ybWF0bWltYWdlL3N2Zyt4bWxqaW5zdGFuY2VJRHgseG1wOmlpZDo5M2VhZjFhNy0zYWY5LTQyNDYtYmJmNC00ODIzOThkMTYzZmRscmVsYXRpb25zaGlwaHBhcmVudE9mAAAB4mp1bWIAAABBanVtZGNib3IAEQAQgAAAqgA4m3ETYzJwYS5hY3Rpb25zLnYyAAAAABhjMnNoexbiVOUDbQshgPCaTpPFRwAAAZljYm9yomdhY3Rpb25zgqJmYWN0aW9ua2MycGEub3BlbmVkanBhcmFtZXRlcnOha2luZ3JlZGllbnRzgaJjdXJseC1zZWxmI2p1bWJmPWMycGEuYXNzZXJ0aW9ucy9jMnBhLmluZ3JlZGllbnQudjNkaGFzaFggiXlNGVBM7qOsLswqMUaLmyTug/VEPRd3PuxT517MC2akZmFjdGlvbngdY29tLmFudGhyb3BpYy5jbGF1ZGUucHJvdmlkZWRqcGFyYW1ldGVyc6F4H2NvbS5hbnRocm9waWMub3JpZ2luLWNvbmZpZGVuY2VndW5rbm93bmtkZXNjcmlwdGlvbnhmQ2xhdWRlIHByb3ZpZGVkIHRoaXMgZmlsZSBhdCB0aGUgcmVxdWVzdCBvZiBhIHVzZXIgYW5kIG1heSBoYXZlIGNyZWF0ZWQgb3IgbW9kaWZpZWQgdGhlIGZpbGUgY29udGVudHMubXNvZnR3YXJlQWdlbnShZG5hbWVmQ2xhdWRlcmFsbEFjdGlvbnNJbmNsdWRlZPUAAADIanVtYgAAAEBqdW1kY2JvcgARABCAAACqADibcRNjMnBhLmhhc2guZGF0YQAAAAAYYzJzaNyfeynWJOg7lyQxx4IS8zkAAACAY2JvcqVjYWxnZnNoYTI1NmNwYWRNAAAAAAAAAAAAAAAAAGRoYXNoWCBnYu3XiwdSQI25wUsx/HzYAMhEHuz+T2t/3adQ15N5zmRuYW1lbmp1bWJmIG1hbmlmZXN0amV4Y2x1c2lvbnOBomVzdGFydBiWZmxlbmd0aBkeBAAAAj5qdW1iAAAAJ2p1bWRjMmNsABEAEIAAAKoAOJtxA2MycGEuY2xhaW0udjIAAAACD2Nib3KlY2FsZ2ZzaGEyNTZpc2lnbmF0dXJleE1zZWxmI2p1bWJmPS9jMnBhL3VybjpjMnBhOmI1NDQ5M2Y5LWJiMzgtNGMxNS1iY2I0LTNlNzg3NGJkOGQ2MS9jMnBhLnNpZ25hdHVyZWppbnN0YW5jZUlEeCx4bXA6aWlkOmE5NjQ0MTBhLTIxMjMtNDJlOS05MTJjLWQ4NTJkNjZhZDdhMnJjcmVhdGVkX2Fzc2VydGlvbnODomN1cmx4LXNlbGYjanVtYmY9YzJwYS5hc3NlcnRpb25zL2MycGEuaW5ncmVkaWVudC52M2RoYXNoWCCJeU0ZUEzuo6wuzCoxRoubJO6D9UQ9F3c+7FPnXswLZqJjdXJseCpzZWxmI2p1bWJmPWMycGEuYXNzZXJ0aW9ucy9jMnBhLmFjdGlvbnMudjJkaGFzaFgg8mUqe081yzflPNdOv0b16FR9h/rYo6TB9Rk56+2S8rmiY3VybHgpc2VsZiNqdW1iZj1jMnBhLmFzc2VydGlvbnMvYzJwYS5oYXNoLmRhdGFkaGFzaFggXBXfRxNiVm2jnQnF5QtCV3jOi0c/djwojb51Gi9vYt50Y2xhaW1fZ2VuZXJhdG9yX2luZm+jZG5hbWVvQW50aHJvcGljIEZpbGVzZ3ZlcnNpb25lMS4wLjBrc3BlY1ZlcnNpb25lMi40LjAAABA4anVtYgAAAChqdW1kYzJjcwARABCAAACqADibcQNjMnBhLnNpZ25hdHVyZQAAABAIY2JvctKEWQISogEmGCFZAgowggIGMIIBjaADAgECAhRA5aAK7sI50L64g/oGQgU9Z1UTADAKBggqhkjOPQQDAzBJMRcwFQYDVQQKEw5BbnRocm9waWMsIFBCQzEuMCwGA1UEAxMlQW50aHJvcGljIENvbnRlbnQgQ3JlZGVudGlhbHMgUm9vdCBDQTAeFw0yNjA4MDcxODQzNTZaFw0yODA4MDYxOTQzNTZaMEQxFzAVBgNVBAoTDkFudGhyb3BpYywgUEJDMSkwJwYDVQQDEyBBbnRocm9waWMgQ2xhdWRlIENvbnRlbnQgU2lnbmluZzBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABJh6CmvLUBgFFNU0vUKlOVtE6djd17L5SuwX0LemFisBM3dkd/3cyjxFA3Qo5S46fX0/ihY0VZ7mfb9KF703t5OjWDBWMA4GA1UdDwEB/wQEAwIHgDAVBgNVHSUEDjAMBgorBgEEAYPoXgIBMAwGA1UdEwEB/wQCMAAwHwYDVR0jBBgwFoAUzlHiBIFOZFsj+OPEz5o+nMHXXMIwCgYIKoZIzj0EAwMDZwAwZAIwMXMdFJ4BetLLVY7ORuE9noqbbAZOZn/aArXyTwFAZfKrPzxF2vPoJNf1+UCdg1XGAjBwX1zd9WGqYkqmL5SFqw1QySjr1zJfpJM9+1rdDwSPLMOPOjKuiXjoU/pUUeG9RwmhY3BhZFkNngAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALine truncated
<defs>
<filter id="grain" x="0" y="0" width="100%" height="100%">
<feTurbulence type="fractalNoise" baseFrequency=".9" numOctaves="3" seed="7" stitchTiles="stitch"/>
<feColorMatrix values="0 0 0 0 0.75 0 0 0 0 0.78 0 0 0 0 0.85 0 0 0 .55 -.18"/>
</filter>
<filter id="fibers" x="0" y="0" width="100%" height="100%">
<feTurbulence type="fractalNoise" baseFrequency=".012 .35" numOctaves="2" seed="3" stitchTiles="stitch"/>
<feColorMatrix values="0 0 0 0 0.7 0 0 0 0 0.73 0 0 0 0 0.8 0 0 0 .5 -.2"/>
</filter>
</defs>
<rect width="400" height="400" fill="#232427"/>
<rect width="400" height="400" filter="url(#grain)" opacity="0.14"/>
<rect width="400" height="400" filter="url(#fibers)" opacity="0.07"/>
<g stroke-linecap="round" fill="none">
<path d="M175 215l3 2" stroke="#9aa0aa" stroke-width="1.2" opacity="0.38"/>
<path d="M204 120l3 -2" stroke="#9c6a6a" stroke-width="1.6" opacity="0.27"/>
<path d="M28 372l-4 -2" stroke="#8a8f99" stroke-width="1.6" opacity="0.29"/>
<path d="M117 219l6 3" stroke="#a08585" stroke-width="1.4" opacity="0.34"/>
<path d="M327 239l2 -4" stroke="#8c8f80" stroke-width="1" opacity="0.34"/>
<path d="M151 300l4 -4" stroke="#a08585" stroke-width="1.2" opacity="0.28"/>
<path d="M105 20l3 -2" stroke="#9aa0aa" stroke-width="1" opacity="0.4"/>
<path d="M67 236l-6 1" stroke="#8a8f99" stroke-width="1.2" opacity="0.24"/>
<path d="M251 139l-2 3" stroke="#8b8f95" stroke-width="1" opacity="0.24"/>
<path d="M147 185l-5 -1" stroke="#8a8f99" stroke-width="1.6" opacity="0.39"/>
<path d="M377 206l-5 3" stroke="#9c6a6a" stroke-width="1" opacity="0.28"/>
<path d="M299 342l5 1" stroke="#a08585" stroke-width="1.2" opacity="0.22"/>
<path d="M336 375l-3 -1" stroke="#b8a64a" stroke-width="1" opacity="0.4"/>
<path d="M282 172l2 1" stroke="#8b8f95" stroke-width="1" opacity="0.21"/>
<circle cx="183" cy="289" r="1.5" fill="#9aa0aa" stroke="none" opacity="0.26"/>
<circle cx="22" cy="119" r="0.8" fill="#b8a64a" stroke="none" opacity="0.36"/>
<circle cx="96" cy="280" r="1.2" fill="#a08585" stroke="none" opacity="0.36"/>
<circle cx="79" cy="248" r="1" fill="#8b8f95" stroke="none" opacity="0.38"/>
<circle cx="273" cy="355" r="1.5" fill="#b8a64a" stroke="none" opacity="0.32"/>
<circle cx="360" cy="52" r="1" fill="#b8a64a" stroke="none" opacity="0.31"/>
<circle cx="156" cy="381" r="1" fill="#8b8f95" stroke="none" opacity="0.3"/>
<circle cx="294" cy="139" r="1.2" fill="#a08585" stroke="none" opacity="0.28"/>
<circle cx="320" cy="114" r="1.2" fill="#9aa0aa" stroke="none" opacity="0.23"/>
<circle cx="286" cy="276" r="1.2" fill="#8b8f95" stroke="none" opacity="0.3"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 10 KiB

+21 -8
View File
@@ -1,9 +1,22 @@
progress = { progress = {
start : function(zin) { start: function(zin) {
zin = zin || 1000; zin = zin || 1000;
$("body").append("<div id=\"requestopen\" class=\"loading\" style=\"z-index: " + zin + " !important\"><i class=\"fa fa-spinner fa-pulse\"></i></div>"); $("body").append("<div id=\"requestopen\" class=\"loading\" style=\"z-index: " + zin + " !important\"><i class=\"fa fa-spinner fa-pulse\"></i></div>");
}, },
stop : function() { stop: function() {
$("#requestopen").remove(); $("#requestopen").remove();
} }
} }
(function() {
const saved = localStorage.getItem('theme');
const preferred = window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light';
document.documentElement.setAttribute('data-bs-theme', saved || preferred);
})();
function toggleTheme() {
const html = document.documentElement;
const next = html.getAttribute('data-bs-theme') === 'dark' ? 'light' : 'dark';
html.setAttribute('data-bs-theme', next);
localStorage.setItem('theme', next);
}
@@ -2,7 +2,7 @@
<html xmlns:th="http://www.thymeleaf.org" layout:decorate="~{template}" xmlns:layout="http://www.ultraq.net.nz/thymeleaf/layout" xmlns:sec="http://www.thymeleaf.org/extras/spring-security"> <html xmlns:th="http://www.thymeleaf.org" layout:decorate="~{template}" xmlns:layout="http://www.ultraq.net.nz/thymeleaf/layout" xmlns:sec="http://www.thymeleaf.org/extras/spring-security">
<body> <body>
<div th:fragment="camplist(camps)"> <div th:fragment="camplist(camps)">
<div class="accordion block660" id="accordionExample"> <div class="accordion block800" id="accordionExample">
<div class="accordion-item" th:each="c : ${camps}"> <div class="accordion-item" th:each="c : ${camps}">
<h2 class="accordion-header" style="background: transparent" th:id="'heading' + ${c.pk}"> <h2 class="accordion-header" style="background: transparent" th:id="'heading' + ${c.pk}">
<button class="accordion-button collapsed" type="button" data-bs-toggle="collapse" th:data-bs-target="'#collapse' + ${c.pk}" aria-expanded="false" th:aria-controls="'collapse' + ${c.pk}"> <button class="accordion-button collapsed" type="button" data-bs-toggle="collapse" th:data-bs-target="'#collapse' + ${c.pk}" aria-expanded="false" th:aria-controls="'collapse' + ${c.pk}">
+11 -6
View File
@@ -9,12 +9,17 @@
<div class="container"> <div class="container">
<div class="row"> <div class="row">
<div class="col"> <div class="col">
<p> <h1 class="titlefont">Kontakt</h1>
<strong>Onkel Werner Freizeiten e.V.</strong><br>Holger Zimmermann<br>Friedhofstraße 5<br>74189 Weinsberg <div class="card">
</p> <div class="card-body">
<p> <p>
<strong>E-Mail:</strong>&nbsp;<a href="mailto:info@mittelpunktfreizeiten.de">info@mittelpunktfreizeiten.de</a> <strong>Onkel Werner Freizeiten e.V.</strong><br>Holger Zimmermann<br>Friedhofstraße 5<br>74189 Weinsberg
</p> </p>
<p>
<strong>E-Mail:</strong>&nbsp;<a href="mailto:info@mittelpunktfreizeiten.de">info@mittelpunktfreizeiten.de</a>
</p>
</div>
</div>
</div> </div>
</div> </div>
</div> </div>
@@ -133,6 +133,11 @@
<a href="https://gitlab.com/jottyfan/camporganizer2/-/issues" class="btn btn-secondary btn-icon-silent menufont" target="_blank" th:text="${'v' + @manifestBean.getVersion()}"></a> <a href="https://gitlab.com/jottyfan/camporganizer2/-/issues" class="btn btn-secondary btn-icon-silent menufont" target="_blank" th:text="${'v' + @manifestBean.getVersion()}"></a>
</li> </li>
</ul> </ul>
<ul class="nav navbar-nav">
<li class="nav-item">
<span class="btn icon_darkmode" onclick="toggleTheme()" title="Dark Mode umschalten"></span>
</li>
</ul>
<ul class="nav navbar-nav"> <ul class="nav navbar-nav">
<li class="nav-item"> <li class="nav-item">
<div class="dropdown"> <div class="dropdown">