Semi-stable version with old variable names

This commit is contained in:
Fabio Herzig
2026-07-16 18:43:30 +02:00
parent 3731183654
commit c8e7ce9174
165 changed files with 25654 additions and 9728 deletions
File diff suppressed because one or more lines are too long
+127
View File
@@ -76,4 +76,131 @@
.confirmNoButton:hover {
background-color: rgba(255, 0, 0, 1);
}
.confirmImportantHeading {
font-size: 22px;
margin: 0;
letter-spacing: 1px;
color: #36454F;
}
.confirmImportantText {
font-size: 16px;
margin: 0;
color: #36454F;
}
.confirmImportantLabel {
font-size: 12px;
margin: 0;
color: #36454F;
}
.confirmImportantInput {
border: 1px solid #36454F;
padding: 12px;
width: 100%;
border-radius: 12px;
color: #36454F;
}
.confirmImportantInput.notOk {
color: #692727;
}
.confirmImportantInput.ok {
color: #2b6927;
}
.confirmImportantInput:focus {
outline: none;
}
.confirmImportantInput.notOk:focus {
color: #8b0000;
border-color: #692727;
}
.confirmImportantInput.ok:focus {
color: #008b00;
border-color: #2b6927;
}
.confirmImportantInputDiv {
display: grid;
gap: 6px;
}
.confirmImportantConfrimBtn, .confirmImportantCancelBtn {
background: #25789e;
border: 1px solid #fff;
color: #ffffff;
padding: 10px 20px;
border-radius: 10px;
transition: transform 0.3s ease filter 0.5s ease;
letter-spacing: 1px;
display: flex;
align-self: flex-start;
}
.confirmImportantConfrimBtn {
background: #25789e;
}
.confirmImportantCancelBtn {
background: #9e253d;
}
.blackBtn:hover {
transform: scale(1.02);
}
.blackBtn:active {
transform: scale(0.98);
}
.notValidBtn {
user-select: none;
cursor: not-allowed;
filter: grayscale(1);
}
.confirmImportantBtnDiv {
display: flex;
flex-direction: row;
flex-wrap: wrap;
justify-content: space-between;
}
.confirmImportantTextDiv {
display: grid;
gap: 12px;
grid-template-columns: 1fr;
}
.confirmImportantBox {
display: grid;
padding: 20px;
grid-template-columns: 1fr;
position: relative;
border-radius: 10px;
background-color: #fff;
width: min(500px, 90vw);
gap: 18px;
}
.confirmImportantBg {
display: flex;
position: fixed;
top: 0;
left: 0;
height: 100vh;
width: 100vw;
z-index: 10000;
align-items: center;
justify-content: center;
backdrop-filter: blur(2px);
background-color: #36454f2f;
}
+2 -1
View File
@@ -23,6 +23,7 @@ table input {
justify-content: space-between;
align-items: center;
cursor: pointer;
width: 100%;
}
.selectOptions,
@@ -86,6 +87,6 @@ table input {
font-weight: 500;
}
.selectLabel {
.selectLabel:not(.sidebar-links .selectLabel) {
font-size: 1rem;
}
+15 -3
View File
@@ -65,7 +65,8 @@ body {
.controls-wrapper>form {
display: flex;
flex-direction: row;
gap: 10px
gap: 10px;
flex-wrap: wrap;
}
/* From Trainer Dashboard - newBtn style */
@@ -100,7 +101,7 @@ button[type="submit"]:active {
align-items: center;
}
.change-type-form input {
.change-type-form textarea {
padding: 10px 15px;
border-radius: 8px;
border: 1px solid var(--border-subtle);
@@ -111,7 +112,7 @@ button[type="submit"]:active {
transition: border-color 0.2s;
}
.change-type-form input:focus {
.change-type-form textarea:focus {
border-color: var(--main);
}
@@ -131,6 +132,17 @@ button[type="submit"]:active {
box-shadow: var(--card-shadow);
}
@media (max-width: 500px) {
:root {
--paddingSite: 20px;
}
.iframeWithTitle {
max-width: calc(100vw - 2 * var(--paddingSite));
}
}
.iframeWithTitle h1 {
color: #fff;
font-size: 1.2rem;
File diff suppressed because it is too large Load Diff
+153 -17
View File
@@ -36,7 +36,6 @@ body {
margin: 0;
width: 100vw;
background: var(--bg);
overflow-x: hidden;
}
::selection {
@@ -190,13 +189,7 @@ input {
font-weight: 700;
}
#wsInfo {
margin: 0;
font-weight: 300;
opacity: 0;
transition: all 2s ease;
}
/*
td a {
position: relative;
color: var(--bg-top);
@@ -219,15 +212,7 @@ td a::after {
td a:hover::after {
transform: scaleX(1);
}
.payed {
color: #099d1f;
}
.notPayed,
.inProcess {
color: #9d1d09;
}
*/
/* Kampfrichter header layout */
@@ -1166,6 +1151,7 @@ select:open {
.settingsRowGroup {
display: grid;
gap: 18px;
align-content: start;
}
span.light {
font-weight: 300;
@@ -1173,4 +1159,154 @@ span.light {
.tableNoten input {
width: fit-content !important;
}
#css-editor-container {
border: 1px solid #ccc;
border-radius: 4px;
overflow: hidden;
}
.cm-editor {
height: 300px;
}
.cssCodeSaveBtn {
padding: 6px 12px;
background: var(--bg-top);
color: #fff;
border: none;
border-radius: 4px;
cursor: pointer;
}
/* From Uiverse.io by alexmaracinaru */
.newBtn {
cursor: pointer;
font-weight: 300;
transition: all 0.2s;
padding: 10px 20px;
border-radius: 100px;
background: #1d6c6f;
border: 1px solid transparent;
display: flex;
align-items: center;
font-size: 15px;
align-self: flex-start;
color: #fff;
}
.newBtn:disabled {
cursor: not-allowed;
background: #ccc;
}
.newBtn:not(:disabled):hover {
background: #1c8284;
}
.newBtn>svg {
width: 34px;
margin-left: 10px;
transition: transform 0.3s ease-in-out;
}
.newBtn:not(:disabled):hover svg {
transform: translateX(5px);
}
.newBtn:not(:disabled):active {
transform: scale(0.95);
}
input[type="file"]#importPresetInput {
display: block;
width: 100%;
margin-bottom: 20px;
padding: 10px;
border: 2px dashed #cbd5e0;
border-radius: 8px;
background-color: #fafafa;
cursor: pointer;
}
input[type="file"]#importPresetInput::file-selector-button {
background: #1d6c6f;
color: white;
border: none;
padding: 8px 16px;
border-radius: 4px;
margin-right: 10px;
cursor: pointer;
}
.gridWKVSConfig {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
gap: 60px;
}
.importWKVSConfigDiv {
display: flex;
flex-direction: column;
gap: 2px;
}
.displayDiv.displayDivSettings {
width: 100%;
height: auto;
aspect-ratio: 16 / 11;
}
.displayDivSettings * {
transition: scale 0.6s ease;
scale: 1;
}
.hidden {
display: none !important;
}
.oneOneGridDisplay {
display: grid;
grid-template-columns: 1fr 450px;
column-gap: 40px;
}
@keyframes shakeHighlit {
0% {
transform: rotate(0deg);
}
25% {
transform: rotate(10deg);
}
75% {
transform: rotate(-10deg);
}
100% {
transform: rotate(0deg);
}
}
.scaled {
scale: 1.05;
animation-name: shakeHighlit;
animation-duration: 0.5s;
}
.subSettingsRowGroup .settingsRow span {
color: #36454f;
}
.subSettingsRowGroup {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
align-items: end;
gap: 16px 22px;
padding: 20px;
border: 1px solid #000;
}
.subSettingsRowGroup .settingsRow {
}
+96 -132
View File
@@ -11,6 +11,7 @@
--text-muted: #5e5e5e;
--disabled-bg: #f3f4f6;
--disabled-border: #cbd5f5;
--main-button: #36454F;
}
/* Base */
@@ -57,11 +58,6 @@ input {
border: none;
}
/* General numeric inputs in scoring area */
.bgSection input[type="number"] {
font-size: 16px;
}
.nopadding {
height: 40px;
}
@@ -78,13 +74,6 @@ input {
background: none;
}
@media (min-width: 1000px) {
.bgSection.open {
width: calc(100vw - 380px);
/* - 2 * var(--paddingSite) */
}
}
/* Cards */
.headerDivKampfrichter {
@@ -220,15 +209,6 @@ table {
}
}
.allTurnerinenDiv tr:hover {
background-color: #f4f4f4;
}
/*.allTurnerinenDiv tr.notHeaderRow:hover td{
-webkit-text-stroke: 0.75px currentColor;
color: currentColor;
}*/
/* Panel with inputs (new style, light) */
.div_edit_values_user {
@@ -249,11 +229,15 @@ table {
align-items: baseline;
font-size: 1.15rem;
letter-spacing: 0.01em;
flex-direction: column;
align-items: center;
}
.current-turnerin-name {
font-weight: 600;
color: var(--accent);
font-weight: 700;
color: #14141f;
margin: 10px 0 20px 0;
font-size: 1.5rem;
}
.heading_fv_nextturnerin {
@@ -289,7 +273,7 @@ table {
.editkampfrichter_user {
border-collapse: collapse;
background: #f9fafb;
border-radius: 12px;
border-radius: 5px;
overflow: hidden;
min-width: 180px;
box-shadow: 0 0 0 1px rgba(209, 213, 219, 0.9);
@@ -304,10 +288,10 @@ table {
.editkampfrichter_user th {
font-size: 0.8rem;
text-transform: uppercase;
letter-spacing: 0.09em;
color: var(--text-muted);
background: #f3f4f6;
color: #fff;
background: #232431;
font-weight: 500;
}
.table_endnote_edit {
@@ -318,7 +302,7 @@ table {
/* Tight cell for pure input */
.nopadding {
padding: 0.25rem 0.5rem !important;
padding: 0 !important;
}
/* Inputs inside edit card */
@@ -326,20 +310,22 @@ table {
.fullinput {
width: 100%;
box-sizing: border-box;
/*padding: 0.45rem 0.6rem;*/
border-radius: 8px;
border: 1px solid var(--border-subtle);
border: 2px solid var(--border-subtle);
background: #ffffff;
color: var(--text-main);
font-size: 0.9rem;
color: #000;
font-size: 1.2rem;
line-height: 1.3;
outline: none;
transition: border-color 0.15s ease, box-shadow 0.15s ease, background-color 0.15s ease;
text-align: center;
font-weight: 600;
border-radius: 0 0 5px 5px;
height: 40px;
letter-spacing: 2px;
}
.fullinput:focus {
border-color: var(--accent);
border: 4px solid var(--accent);
box-shadow: 0 0 0 1px rgba(45, 115, 172, 0.25);
background: #ffffff;
}
@@ -348,11 +334,12 @@ table {
.fullinput:disabled,
.fullinput[readonly] {
background: none;
background: #e2e2e2;
border: none;
color: #6b7280;
color: #000;
opacity: 1;
cursor: auto;
cursor: not-allowed;
font-weight: 400;
}
.fullinput:disabled:hover,
@@ -363,24 +350,6 @@ table {
border-color: var(--disabled-border);
}
/* Computed result fields even clearer */
/*[id^="e-note-"]:disabled {
background: #fff7d6;
background: repeating-linear-gradient(
135deg,
#ffefb0,
#ffefb0 6px,
#fff7d6 6px,
#fff7d6 12px
);
border-color: #f59e0b;
box-shadow: inset 0 0 0 1px rgba(245, 158, 11, 0.7);
color: #92400e;
font-weight: 800;
text-align: center;
}*/
[id^="note-user-"]:disabled {
background: none;
border: none;
@@ -444,7 +413,7 @@ input[type="number"]::-webkit-outer-spin-button {
display: inline-flex;
align-items: center;
justify-content: center;
align-self: baseline;
align-self: center;
}
/* Variants */
@@ -482,8 +451,7 @@ input[type="number"]::-webkit-outer-spin-button {
.submit-musik-start:hover,
.submit-musik-stopp:hover,
.submit-display-result:hover {
transform: translateY(-1px);
box-shadow: 0 12px 30px rgba(15, 23, 42, 0.12);
transform: scale(1.02);
}
.submit-display-turnerin:active,
@@ -491,8 +459,7 @@ input[type="number"]::-webkit-outer-spin-button {
.submit-musik-start:active,
.submit-musik-stopp:active,
.submit-display-result:active {
transform: translateY(0);
box-shadow: 0 8px 18px rgba(15, 23, 42, 0.1);
transform: scale(0.98);
}
/* Burger + menu (unchanged from your style) */
@@ -523,15 +490,16 @@ input[type="number"]::-webkit-outer-spin-button {
background-color: #fff;
box-shadow: none;
position: fixed;
left: 0;
top: 0;
height: 100svh;
right: 0;
top: 150px;
height: fit-content;
width: 100%;
max-width: 400px;
transform: translateX(-100%);
transform: translateX(100%);
z-index: 100;
padding: 20px;
transition: transform 0.45s cubic-bezier(.4, 0, .2, 1);
border-radius: 20px 0 0 20px;
transition: transform 0.2s cubic-bezier(.4, 0, .2, 1);
opacity: 1;
}
@@ -544,9 +512,7 @@ input[type="number"]::-webkit-outer-spin-button {
display: flex;
flex-direction: column;
gap: 14px;
min-height: 100vh;
overflow-y: auto;
padding-bottom: 80px;
}
.innerInternMenuDiv h3 {
@@ -621,7 +587,7 @@ input[type="number"]::-webkit-outer-spin-button {
.button_gruppe {
border: none;
background: #2d73ac;
background: var(--bg-top);
color: white;
width: 36px;
height: 36px;
@@ -633,7 +599,6 @@ input[type="number"]::-webkit-outer-spin-button {
}
.button_gruppe:hover {
background: #245d8a;
transform: scale(1.05);
}
@@ -681,28 +646,8 @@ input[type="number"]::-webkit-outer-spin-button {
transform: translateY(-2px);
}
.menuBg {
position: fixed;
inset: 0;
z-index: 98;
user-select: none;
pointer-events: none;
opacity: 0;
/*background: rgba(0, 0, 0, 0.15);*/
}
.menuBg.menuTransition {
transition: opacity 0.6s ease-out;
}
/*.menuBg.open {
opacity: 1;
pointer-events: auto;
user-select: all;
}*/
.menuTransition {
transition: all 0.6s ease-out;
transition: all 0.3s cubic-bezier(.4, 0, .2, 1);
}
.menuTransition>.kampfrichterBurgerMenuLine {
@@ -761,6 +706,7 @@ input[type="number"]::-webkit-outer-spin-button {
}
}
@media (min-width: 601px) {
.div_edit_values_user,
@@ -804,30 +750,6 @@ input[type="number"]::-webkit-outer-spin-button {
display: flex;
}
.msgDiv {
position: fixed;
bottom: 50px;
right: 20px;
display: flex;
align-items: end;
flex-direction: column-reverse;
gap: 10px;
}
.msgBox {
transform: translateX(calc(100% + 40px));
padding: 10px 15px;
color: #fff;
background-color: #5b5b5b98;
border-left: 4px solid;
border-radius: 2px;
transition: all 0.5s ease;
}
.msgBox.show {
transform: translateX(0);
}
.playcontrolDiv {
display: flex;
justify-content: center;
@@ -853,7 +775,6 @@ input[type="number"]::-webkit-outer-spin-button {
color: var(--bg-top);
}
.adminButtonDiv input,
.buttonNewAdminStyle {
background-color: var(--bg-top);
color: #fff;
@@ -866,21 +787,16 @@ input[type="number"]::-webkit-outer-spin-button {
box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
}
.adminButtonDiv input {
margin: 10px 0 0 10px;
}
.adminButtonDiv input:hover {
filter: brightness(1.2);
}
.titleSingleAbt {
font-weight: 400;
color: var(--bg-top);
}
.adminButtonDiv {
display: block;
display: flex;
flex-direction: row;
flex-wrap: wrap;
gap: 15px;
}
table.widefat {
@@ -928,6 +844,13 @@ table.widefat {
display: flex;
}
@media (max-width: 750px) {
.editUserButtons {
flex-direction: column;
align-items: center;
}
}
.div-submit-display-result, .div-submit-display-start {
display: flex;
flex-direction: column;
@@ -937,6 +860,8 @@ table.widefat {
display: flex;
flex-direction: row;
gap: 3rem;
flex-wrap: wrap;
justify-content: center;
}
.singleNotentable {
@@ -945,6 +870,46 @@ table.widefat {
gap: 1rem;
}
.hidden {
display: none !important;
}
.opacity50 {
opacity: 0.5;
}
.blackBtn {
background: var(--main-button);
border: 1px solid #fff;
color: #ffffff;
padding: 10px 20px;
border-radius: 10px;
transition: transform 0.3s ease;
letter-spacing: 1px;
display: flex;
align-self: flex-start;
}
.blackBtn:hover {
transform: scale(1.02);
}
.blackBtn:active {
transform: scale(0.98);
}
.customDisplayEditorTable tr:nth-child(odd).notpaid td {
background-color: #fff0f0;
}
.customDisplayEditorTable tr:nth-child(even).notpaid td {
background-color: #ffe5e5;
}
.customDisplayEditorTable tr.notpaid:hover td {
background-color: #ffdbdb !important;
}
select {
appearance: none;
/* Standard */
@@ -961,10 +926,7 @@ select {
border-radius: 4px;
background-color: #fff;
background-image: url("data:image/svg+xml;utf8,\
<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'>\
<path d='M6 9L12 15L18 9' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/>\
</svg>");
background-image: url("data:image/svg+xml;utf8,\<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'><path d='M6 9L12 15L18 9' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/>\</svg>");
background-repeat: no-repeat;
background-position: right 10px center;
background-size: 20px;
@@ -973,8 +935,10 @@ select {
}
select:open {
background-image: url("data:image/svg+xml;utf8,\
<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'>\
<path d='M18 15L12 9L6 15' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/>\
</svg>");
background-image: url("data:image/svg+xml;utf8,\<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'>\<path d='M18 15L12 9L6 15' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/>\</svg>");
}
.horizontalLabelWrapper {
display: flex;
flex-direction: column;
}
+147
View File
@@ -0,0 +1,147 @@
body{
overflow: hidden;
}
* {
box-sizing: border-box;
}
.page-secure-login{
display: flex;
}
.bg-secure-login-form {
gap: 20px;
display: grid;
}
.bg-picture-secure-login{
width: calc(100vw - 550px);
height: 100vh;
position: absolute;
left: 0px;
top: 0px;
background-color: #fff;
}
.bg-picture-secure-login img{
width: 100%;
height: 100%;
object-fit: cover;
border-radius: 0 80px 0 0;
display: block;
}
.bg-secure-login{
display: flex;
width: 100vw;
max-width: 550px;
height: 100vh;
background-color: #fff;
position: absolute;
right: 0px;
top: 0px;
align-items: center;
justify-content: center;
padding: 30px;
}
.bg-secure-login-form > h1{
color: #36454F !important;
font-size: 32px;
font-weight: 500;
letter-spacing: 1px;
}
.bg-secure-login-form input[type=password], .bg-secure-login-form input[type=text]{
padding: 5px;
width: 100%;
max-width: 300px;
border-top: none !important;
border-left: none !important;
border-right: none !important;
font-size: 16px;
border-bottom: 1px solid #000 !important;
border-radius: 0px !important;
}
#access_username {
margin-bottom: 20px;
}
.bg-secure-login-form input[type=password]:focus, .bg-secure-login-form input[type=text]:focus{
outline: none;
border-bottom: 1px solid #000 !important;
}
.bg-secure-login-form input[type=password]::placeholder, .bg-secure-login-form input[type=text]::placeholder {
color: #ccc !important;
}
.bg-secure-login-form input[type=submit]{
background-color: #fff !important;
padding: 10px 20px !important;
margin-top: 25px !important;
border: 1px solid #000 !important;
color: #36454F !important;
transition: all 0.3s ease-out !important;
border-radius: 0px !important;
font-weight: 500;
letter-spacing: 1px;
}
.bg-secure-login-form input[type=submit]:hover{
background-color: #36454F !important;
color: #fff !important;
}
.bg-secure-login-form > p{
margin-bottom: 30px;
}
.seclog_home_link{
position: fixed;
z-index: 1000;
top: 30px;
right: 30px;
height: 48px;
width: 48px;
}
.seclog_home_link > img{
object-fit: cover;
width: 100%;
}
#div_showpw, #access_username {
margin-top: 10px;
}
#togglePassword {
position: absolute;
right: 10px;
top: 50%;
transform: translateY(-50%);
background: none;
border: none;
cursor: pointer;
transition: all 0.5s ease;
}
#togglePassword:hover {
transform: translateY(-50%) scale(1.15);
}
#div_showpw{
position: relative;
display: inline-block;
width: 100%;
max-width: 300px;
}
label {
color: #36454F !important;
font-weight: 300;
letter-spacing: 1px;
}
input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
input:-webkit-autofill:active {
-webkit-box-shadow: 0 0 0 1000px #ffffff inset !important;
box-shadow: 0 0 0 1000px #ffffff inset !important;
-webkit-text-fill-color: #000000 !important;
transition: background-color 5000s ease-in-out 0s;
}
+148 -47
View File
@@ -9,10 +9,11 @@
--accent: #4a5568;
--accent-soft: #f0f5ff;
--border-subtle: #d4d7e1;
--text-main: #191919;
--text-main: #36454F;
--text-muted: #5e5e5e;
--disabled-bg: #f3f4f6;
--disabled-border: #cbd5f5;
--main-button: #36454F;
}
/* ── Base ─────────────────────────────────────────────── */
@@ -71,6 +72,7 @@ input {
width: 100vw;
box-sizing: border-box !important;
background: none;
padding: 0 var(--paddingSite) 10px
}
@media (min-width: 1000px) {
@@ -112,7 +114,6 @@ input {
display: flex;
flex-wrap: wrap;
gap: 12px;
padding: 0 var(--paddingSite) 10px;
}
.bg-erfassen button[type="submit"] {
@@ -139,7 +140,6 @@ input {
h3.vereine,
h3.benutzer {
padding: 0 var(--paddingSite);
font-weight: 400;
font-size: 1.15rem;
color: var(--text-main);
@@ -149,8 +149,7 @@ h3.benutzer {
/* ── Inner section (card list) ────────────────────────── */
.inner-pw-set-bg {
padding: 0 var(--paddingSite);
.benutzerGrid {
display: flex;
flex-direction: column;
gap: 14px;
@@ -161,53 +160,62 @@ h3.benutzer {
/* ── User / Verein card ───────────────────────────────── */
.single_pwedit,
.newUserLink {
.newUserLinkDiv {
background: var(--card-bg);
border-radius: var(--card-radius);
box-shadow: var(--card-shadow);
padding: 24px 28px;
transition: box-shadow 0.25s ease;
}
.single_pwedit:hover,
.newUserLink:hover {
.newUserLinkDiv:hover {
box-shadow: 0 14px 40px rgba(15, 23, 42, 0.12);
}
.single_pwedit.verein,
.newUserLink.verein {
.newUserLinkDiv.verein {
border-left: 4px solid var(--bg-top);
}
/* ── Form fields inside user card ─────────────────────── */
.single_pwedit form,
.newUserLink form {
.newUserLinkDiv form {
display: flex;
flex-wrap: wrap;
gap: 14px 24px;
align-items: flex-end;
margin: 0;
}
.single_pwedit form {
padding: 24px 28px 14px 28px;
}
.newUserLinkDiv {
padding: 24px 28px;
}
.single_pwedit label,
.newUserLink label {
.newUserLinkDiv label {
display: block;
font-size: 0.8rem;
font-weight: 500;
text-transform: uppercase;
letter-spacing: 0.06em;
color: var(--text-muted);
letter-spacing: 1.5px;
color: var(--text-main);
margin-bottom: 5px;
}
.single_pwedit .field-group,
.newUserLink .field-group {
.newUserLinkDiv .field-group {
flex: 1 1 200px;
min-width: 0;
display: flex;
flex-direction: column;
justify-content: space-between;
}
.single_pwedit input[type="text"],
.newUserLink input[type="text"] {
.newUserLinkDiv input[type="text"] {
width: 100%;
padding: 9px 12px;
border: 1px dashed #999;
@@ -220,21 +228,21 @@ h3.benutzer {
}
.single_pwedit input[type="text"]:focus,
.newUserLink input[type="text"]:focus {
.newUserLinkDiv input[type="text"]:focus {
outline: none;
border: 1px solid var(--bg-top);
box-shadow: 0 0 0 3px rgba(var(--bg-top-raw) / 0.12);
}
.single_pwedit input[type="text"]::placeholder,
.newUserLink input[type="text"]::placeholder {
.newUserLinkDiv input[type="text"]::placeholder {
color: #b0b0b0;
font-style: italic;
}
/* ── Buttons inside cards ─────────────────────────────── */
.single_pwedit button[type="submit"],
/*.single_pwedit button[type="submit"],
.newUserLink button[type="submit"] {
appearance: none;
border: 1px solid #7777778e;
@@ -255,7 +263,7 @@ h3.benutzer {
border-color: var(--bg-top);
color: #fff;
font-weight: 600;
}
}*/
.delete-user-btn,
.delete-verein-btn {
@@ -268,7 +276,6 @@ h3.benutzer {
font-size: 0.85rem;
font-weight: 500;
cursor: pointer;
margin-top: 10px;
transition: all 0.25s ease;
}
@@ -289,9 +296,30 @@ h3.benutzer {
font-size: 0.85rem;
font-weight: 500;
cursor: pointer;
margin-top: 10px;
margin-left: 8px;
transition: all 0.25s ease;
letter-spacing: 1px;
}
.userActionsDivLink {
display: flex;
flex-direction: row;
flex-wrap: wrap;
gap: 15px 10px;
}
.userActionsDivLink:not(.mty) {
padding: 14px 28px 24px 28px;
border-top: 1px solid var(--main-button);
}
.userActionsDivLink.mty {
padding: 0 28px 10px 28px;
}
.userActionsDivEdit {
display: flex;
width: 100%;
justify-content: space-between;
}
.createOturl:hover {
@@ -311,11 +339,12 @@ h3.benutzer {
justify-content: center;
background-color: #39393941;
backdrop-filter: blur(2px);
z-index: 5;
}
.newUserLink {
max-width: 600px;
max-height: 500px;
.newUserLinkDiv {
max-width: min(600px, 80vw);
max-height: min(500px, 80vh);
overflow-y: auto;
z-index: 9999;
}
@@ -356,7 +385,7 @@ h3.benutzer {
color: var(--text-main);
display: flex;
align-items: center;
gap: 8px;
gap: 20px;
}
.perm-section-title .perm-badge {
@@ -370,9 +399,17 @@ h3.benutzer {
background: var(--bg-top);
color: #fff;
font-size: 0.7rem;
gap: 3px;
}
.permBadgeCount {
font-weight: 700;
}
.permBadgeText {
font-weight: 300;
}
.perm-section-chevron {
width: 20px;
height: 20px;
@@ -386,14 +423,14 @@ h3.benutzer {
.perm-section-body {
max-height: 0;
overflow: hidden;
overflow: hidden auto;
transition: max-height 0.35s cubic-bezier(0.4, 0, 0.2, 1),
padding 0.35s cubic-bezier(0.4, 0, 0.2, 1);
padding 0.35s cubic-bezier(0.4, 0, 0.2, 1);
padding: 0 16px;
}
.perm-section.open .perm-section-body {
max-height: 500px;
max-height: 300px;
padding: 12px 16px 16px;
}
@@ -509,19 +546,36 @@ table {
background-color: #f4f4f4;
}
.inputPreisProgramm,
.inputAktivProgramm {
.inputAktivProgramm,
.inputOrderIndexProgramm,
.labelStartgebuerenWraper {
padding: 6px 10px;
border: 1px dashed #999;
border-radius: 4px;
font-size: 0.9rem;
transition: border-color 0.2s ease, background-color 0.4s ease;
}
.inputPreisProgramm:focus,
.inputAktivProgramm:focus {
.inputPreisProgramm,
.inputAktivProgramm,
.inputOrderIndexProgramm {
max-width: 100px;
font-size: 0.9rem;
background: none;
}
.inputPreisProgramm {
padding: 0;
}
.inputPreisProgramm:focus {
outline: none;
}
.inputAktivProgramm:focus,
.inputOrderIndexProgramm:focus {
outline: none;
border-color: var(--bg-top);
border-style: solid;
}
input[type="number"] {
@@ -534,13 +588,6 @@ input[type="number"]::-webkit-outer-spin-button {
margin: 0;
}
.deleteProgramm {
appearance: none;
background: none;
border: none;
cursor: pointer;
}
select {
appearance: none;
@@ -562,7 +609,7 @@ select {
/* ── One-time URL Modal ───────────────────────────────── */
.ot-modal {
display: none;
display: flex;
position: fixed;
inset: 0;
background: rgba(0, 0, 0, 0.4);
@@ -888,9 +935,9 @@ select {
}
@media (min-width: 768px) {
.inner-pw-set-bg {
.benutzerGrid {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(420px, 1fr));
grid-template-columns: repeat(auto-fill, minmax(480px, 1fr));
}
}
@@ -959,7 +1006,7 @@ select {
}
.containerSection {
padding: var(--paddingSite) calc(var(--paddingSite) * 1.5);
padding: var(--paddingSite) calc(var(--paddingSite) * .5);
margin-bottom: var(--paddingSite);
}
@@ -982,4 +1029,58 @@ select {
align-items: center;
justify-content: center;
margin: 30px 0;
}
.containerTrainerKampfrichterPermissions {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
width: 100%;
gap: 16px;
align-items: flex-start;
}
.inputPasswordUser {
color: #fafafa !important;
background-color:#fafafa !important;
user-select: none;
}
.inputPasswordUser:hover, .inputPasswordUser:focus {
color: #000000 !important;
user-select: auto;
}
.divAblaufdatumLink {
width: 100%;
}
.blackBtn {
background: var(--main-button);
border: 1px solid #fff;
color: #ffffff;
padding: 10px 20px;
border-radius: 10px;
transition: transform 0.3s ease;
letter-spacing: 1px;
display: flex;
align-self: flex-start;
}
.blackBtn:hover {
transform: scale(1.02);
}
.blackBtn:active {
transform: scale(0.98);
}
h3.normalTitle {
color: var(--main-button);
margin-bottom: 8px;
letter-spacing: 1px;
}
.userNotActive {
color: #286690;
width: 100%;
}
+585
View File
@@ -0,0 +1,585 @@
:root {
--paddingSite: 40px;
--card-radius: 24px;
--card-bg: #ffffff;
--bg: #F4F3EF;
--card-shadow: 0 12px 40px rgba(0, 0, 0, 0.04);
--accent: #FF5A5F;
/* Soft energetic pink/red from Dribbble */
--accent-secondary: #FF8A65;
--bg-top: rgb(54, 137, 13);
--bg-top-raw: 54 137 13;
--accent-soft: #f0f5ff;
--border-subtle: #eaeaea;
--text-main: #1b1b1b;
--text-muted: #8A8A8A;
--disabled-bg: #f3f4f6;
--disabled-border: #cbd5f5;
--ui-border: #dfe4ea;
--main-button: #36454F;
}
/* Base */
*,
*::after,
*::before {
box-sizing: border-box;
}
html,
body,
section {
margin: 0;
overscroll-behavior: none;
}
body {
margin: 0;
width: 100vw;
background: var(--bg);
}
::selection {
background: #0000003d;
color: #ffffffff;
}
::-moz-selection {
background: #a4bf4a99;
color: #000;
}
input {
border: none;
}
/* General numeric inputs in scoring area */
.bgSection input[type="number"] {
font-size: 16px;
}
.nopadding {
height: 40px;
}
/* Layout */
.bgSection {
position: relative;
margin-left: auto;
/*margin: var(--paddingSite);
width: calc(100vw - 2 * var(--paddingSite));*/
width: 100vw;
box-sizing: border-box !important;
background: none;
}
@media (min-width: 1081px) {
.bgSection.open {
width: calc(100vw - 380px);
/* - 2 * var(--paddingSite) */
}
}
/* Cards */
.headerDivTrainer {
padding: var(--paddingSite);
padding-bottom: 10px;
background: transparent;
margin-bottom: 20px;
position: relative;
z-index: 3;
}
.dashboardGrid {
padding: 0 var(--paddingSite) var(--paddingSite);
display: grid;
grid-template-columns: 1fr;
gap: 30px;
align-items: start;
width: 100%;
}
.twoColumDiv {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 30px;
align-items: start;
width: 100%;
}
@media (max-width: 1080px) {
.twoColumDiv {
grid-template-columns: 1fr;
}
}
/* headings */
.containerHeading {
margin-top: 0;
font-weight: 600;
font-size: 20px;
margin-bottom: 24px;
color: var(--text-main);
}
.subSettingsRowGroup .settingsRow span {
color: #36454f;
}
.subSettingsRowGroup {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
align-items: end;
gap: 16px 22px;
padding: 20px;
border: 1px solid #000;
}
.customSelectSubGroupHeader {
border-bottom: 1px solid #1c2d34;
font-weight: 600;
border-radius: 0 !important;
pointer-events: none;
}
.customSelectAddOption {
display: inline-flex;
}
.headerThRankLiveConfig > span {
display: flex;
justify-content: space-between;
position: relative;
padding: 20px;
border: 1px solid #00000046;
}
#bodyRowRankLiveConfig > td > span {
display: flex;
justify-content: flex-end;
gap: 15px;
position: relative;
padding: 10px 20px;
border: 1px solid #00000046;
position: relative;
min-height: 54.5px;
align-items: center;
}
.headerThRankLiveConfig .addColumnBtn {
font-size: 24px;
height: 30px;
width: 30px;
line-height: 0;
position: absolute;
top: 0px;
background-color: #5d9ab9;
border: 1px solid #3a6b83;
color: #fff;
border-radius: 15px;
align-content: center;
cursor: pointer;
z-index: 3;
}
.headerThRankLiveConfig .addColumnBtn.addColumnBtnAfter {
right: 0;
transform: translateX(50%) translateY(-50%);
}
.headerThRankLiveConfig .addColumnBtn.addColumnBtnBefore {
left: 0;
transform: translateX(-50%) translateY(-50%);
}
.headerThRankLiveConfig .addColumnBtn {
display: none;
}
.headerThRankLiveConfig:not(.ui-sortable-helper) > span:hover .addColumnBtn.addColumnBtnAfter {
display: block;
}
.headerThRankLiveConfig:not(.ui-sortable-helper):first-child > span:hover .addColumnBtn.addColumnBtnBefore {
display: block;
}
.headerThRankLiveConfig:not(.ui-sortable-helper) > span:hover {
border-right: 1px solid #3a6b83;
}
.headerThRankLiveConfig:not(.ui-sortable-helper):first-child > span:hover {
border-left: 1px solid #3a6b83;
}
.deleteColumnBtn {
color: #6a2a2a;
cursor: pointer;
}
.customSelectAddOption {
max-width: min(100vw, 600px);
border: 1px solid #777;
border-radius: 5px;
padding: 10px;
}
.rankLiveFieldContainerEmty {
display: block;
min-height: 30px;
width: 100%;
background: repeating-linear-gradient(
45deg,
#eeeeee50,
#eeeeee50 5px,
#dddddd50 5px,
#dddddd50 10px
);
}
.singleValueSpan {
position: relative;
padding: 5px;
border-radius: 5px;
border: 1px solid #777;
cursor: grab;
}
.staticText {
border-color: #00f;
background-color: #fff;
}
.staticText .textSingleValueSpan {
white-space: pre;
}
.settingSpan {
display: none;
padding: 2px;
border-radius: 3px;
background-color: #09d1ce;
position: absolute;
top: 0px;
transform: translateX(50%) translateY(-50%);
cursor: pointer;
}
.headerThRankLiveConfig .settingSpan {
right: 50%;
}
.singleValueSpan .settingSpan {
right: 0px;
}
.mainTable:not(.selectCondEl) .singleValueSpan:hover .settingSpan,
.mainTable:not(.selectCondEl) .headerThRankLiveConfig:hover .settingSpan,
.settingsDivSingleValueSpan:not(.hidden) + .settingSpan {
display: inline-flex;
}
.settingSpan > svg {
display: block;
height: 16px;
width: 16px;
pointer-events: none;
}
.settingsDivSingleValueSpan {
background-color: #fff;
padding: 15px;
position: absolute;
bottom: 0;
left: 0;
display: flex;
flex-direction: column;
transform: translateY(100%);
min-width: 100%;
width: fit-content;
gap: 12px;
z-index: 10;
font-weight: 400;
}
.settingsInputGroup {
display: flex;
flex-direction: column;
gap: 8px;
}
.singleValueSpan[data-bold="true"] .textSingleValueSpan, .singleValueSpan[data-bold="true"] .statischerTextInput {
font-weight: 600;
}
.addFieldBtn {
position: absolute;
top: 0;
left: 0;
background-color: #36e049;
display: flex;
height: 30px;
width: 30px;
justify-content: center;
align-items: center;
color: #fff;
font-weight: 800;
border-radius: 0 0 10px 0;
filter: grayscale(1);
transform: translateY(-37.5%) translateX(-37.5%) scale(0.25);
transition: transform 0.3s ease, scale 0.3s ease;
cursor: pointer;
z-index: 2;
}
.mainTable.selectCondEl .addFieldBtn {
transform: scale(0) translateY(-50%) translateX(-50%);
scale: 1;
}
.mainTable:not(.selectCondEl) .rankLiveFieldContainer:hover:not(:has(.singleValueSpan:hover)) .addFieldBtn {
filter: grayscale(0);
transform: scale(1) translateY(0) translateX(0);
scale: 1;
}
.headerThRankLiveConfig > span .deleteColumnBtn {
position: absolute;
top: 0;
right: 0;
background-color: #e03669;
display: flex;
height: 30px;
width: 30px;
justify-content: center;
align-items: center;
color: #fff;
font-weight: 800;
border-radius: 0 0 0 10px;
filter: grayscale(1);
transform: translateY(-37.5%) translateX(37.5%) scale(0.25);
transition: transform 0.3s ease, scale 0.3s ease;
cursor: pointer;
}
.headerThRankLiveConfig:not(.ui-sortable-helper) > span:hover .deleteColumnBtn {
filter: grayscale(0);
transform: scale(1) translateY(0) translateX(0);
scale: 1;
}
.checkbox {
display: flex;
align-items: center;
justify-content: center;
width: max-content;
cursor: pointer;
user-select: none;
}
.checkbox input {
position: absolute;
width: 1px;
height: 1px;
opacity: 0;
pointer-events: none;
}
.checkbox-ui {
position: relative;
display: inline-flex;
width: 42px;
height: 24px;
flex: 0 0 auto;
background: var(--ui-border);
border: 1px solid color-mix(in srgb, var(--ui-border) 80%, #000);
border-radius: 999px;
transition:
background-color 180ms ease,
border-color 180ms ease,
box-shadow 180ms ease;
}
.checkbox-ui::after {
content: "";
position: absolute;
top: 50%;
left: 3px;
width: 18px;
height: 18px;
background: #fff;
border-radius: 50%;
box-shadow: 0 2px 7px rgba(15, 23, 42, 0.22);
transform: translateY(-50%);
transition: transform 180ms ease;
}
.checkbox input:checked + .checkbox-ui {
background: var(--bg-top);
border-color: var(--bg-top);
}
.checkbox input:checked + .checkbox-ui::after {
transform: translate(18px, -50%);
}
.checkbox input:focus-visible + .checkbox-ui {
box-shadow: 0 0 0 4px var(--ui-focus);
}
.dropPlaceholder {
border: 2px dashed #ccc;
border-radius: 8px;
}
.dropPlaceholderColumn {
border: 2px dashed #ddd;
border-radius: 2px;
}
.statischerTextInput {
border-bottom: 1px solid #000;
}
.statischerTextInput:focus {
border-color: var(--bg-top);
outline: none;
}
.columnTitleInput, .inputFontSize, .gebutsdatumFormatInput, .inputDisplayOnDisplayWidth {
background: none;
padding: 2px;
margin-right: 10px;
height: auto;
width: 100%;
max-width: 20vw;
border-bottom: 1px solid #000;
}
.columnTitleInput:focus {
border-color: var(--bg-top);
}
.customSelectAddOption .selectOptions {
width: fit-content;
}
.customSelectAddOption {
position: absolute !important;
background: #fff;
}
.inputFontSize {
max-width: 60px;
}
.inputDisplayOnDisplayWidth {
width: 90px;
}
.autocomplete-container {
position: relative;
width: 100%;
}
.dropdown-list {
position: absolute;
top: 100%;
left: 0;
right: 0;
background: white;
border: 1px solid #ccc;
max-height: 200px;
overflow-y: auto;
z-index: 1000;
}
.dropdown-item {
padding: 8px;
cursor: pointer;
}
.dropdown-item:hover {
background-color: #f0f0f0;
}
.verticalLayoutEl {
display: grid;
grid-template-columns: 1fr;
}
.verticalLayoutEl > span.dragableDropArea {
min-height: 20px;
min-width: max(50px, 100%);
padding: 12px;
display: flex;
width: fit-content;
justify-content: center;
}
.verticalLayoutEl > span.dragableDropArea:not(:last-child) {
border-bottom: 1px solid #000;
}
.inputLabelWrapper {
display: flex;
flex-direction: row;
}
.selectSlugType {
max-width: 300px;
}
.customSelectSlugType {
border: 1px solid #000;
padding: 6px 12px;
border-radius: 6px;
}
.selectCondEl.mainTable .singleValueSpan:not(.condEl) {
border-color: #a5a5a5;
color: #a5a5a5;
background-color: #ececec;
}
.selectCondEl.mainTable .singleValueSpan:not(.condEl):hover {
border-color: #0fab91;
color: #0fab91;
background-color: #ffffff;
}
.selectCondEl.mainTable .singleValueSpan.selectedCondEl {
border-color: #ab4b0f;
color: #ab4b0f;
background-color: #ffffff;
}
.hidden {
display: none !important;
}
.blackBtn {
background: var(--main-button);
border: 1px solid #fff;
color: #ffffff;
padding: 10px 20px;
border-radius: 10px;
transition: transform 0.3s ease;
letter-spacing: 1px;
display: inline-flex;
align-self: flex-start;
font-size: 14px;
}
.blackBtn:hover {
transform: scale(1.02);
}
.blackBtn:active {
transform: scale(0.98);
}
+108 -30
View File
@@ -80,13 +80,6 @@ input {
background: none;
}
@media (min-width: 1000px) {
.bgSection.open {
width: calc(100vw - 380px);
/* - 2 * var(--paddingSite) */
}
}
/* Cards */
.headerDivTrainer {
@@ -97,8 +90,6 @@ input {
z-index: 3;
}
/* headings */
.containerHeading {
@@ -539,47 +530,47 @@ input[type="number"]::-webkit-outer-spin-button {
/* Burger + menu (unchanged from your style) */
.trainerBurgerMenuDiv {
display: flex;
align-items: center;
justify-content: center;
.trainerBurgerMenuDiv, .trainerBurgerMenuDiv svg {
width: 100%;
height: 100%;
width: 28px;
height: 28px;
cursor: pointer;
z-index: 99;
color: var(--bg);
}
.trainerBurgerMenuDiv svg {
width: 100%;
height: 100%;
stroke: currentColor;
transition: transform 0.3s ease;
stroke: #fff;
color: #fff;
}
.trainerBurgerMenuDiv.open svg {
transform: rotate(-90deg);
.trainerBurgerMenuDiv:hover svg {
transform: scale(1.02);
}
.trainerBurgerMenuDiv:active svg {
transform: scale(0.95);
}
.internMenuDiv {
background-color: #fff;
box-shadow: none;
box-shadow: 4px 0 20px rgba(0, 0, 0, 0.15);
position: fixed;
left: 0;
top: 0;
height: 100svh;
width: 100%;
max-width: 380px;
transform: translateX(-100%);
right: 0;
top: 150px;
width: 90vw;
height: 200px;
max-width: 400px;
transform: translateX(0%);
z-index: 100;
padding: 20px;
transition: transform 0.45s cubic-bezier(.4, 0, .2, 1);
opacity: 1;
border-radius: 20px 0 0 20px;
}
.internMenuDiv.open {
transform: translateX(0);
box-shadow: 4px 0 20px rgba(0, 0, 0, 0.15);
transform: translateX(100%);
box-shadow: none;
}
.innerInternMenuDiv {
@@ -1022,6 +1013,93 @@ tr.rowStartgebuer::after {
width: 100px;
}
.chartjs-tooltip {
font-size: 12px;
}
.chartjs-tooltip th {
font-weight: 500;
}
.chartjs-tooltip td {
font-weight: 200;
}
.customSelect {
position: relative;
width: 240px;
font-family: system-ui, sans-serif;
}
.customSelect > * {
margin: 0;
}
.bulkSelectDiv {
display: flex;
align-items: center;
gap: 10px;
margin-bottom: 30px;
}
.bulkSelect:focus .selectArrow {
rotate: 180deg
}
.selectTrigger {
width: 100%;
border: 1px solid #ccc;
background: #fff;
display: flex;
justify-content: space-between;
align-items: center;
cursor: pointer;
}
.selectOptions {
position: absolute;
top: 100%;
left: 0;
right: 0;
padding: 0;
border: 1px solid #ccc;
border-top: none;
list-style: none;
background: #fff;
display: none;
z-index: 1000;
}
.selectOptions li {
padding: 10px 12px;
cursor: pointer;
}
.selectOptions li:hover,
.selectOptions li.selected {
background-color: #f2f2f2;
}
.buttonDownload {
padding: 10px;
border-radius: 10px;
background-color: var(--bg-top);
color: #fff;
border-top: 2px solid #727272;
border-left: 2px solid #727272;
border-bottom: 2px solid #2c2c2c;
border-right: 2px solid #2c2c2c;
transition: transform 0.3s ease;
}
.buttonDownload:hover {
transform: scale(1.015);
}
.buttonDownload:active {
transform: scale(0.95);
}
select {
appearance: none;
+173 -45
View File
@@ -2,7 +2,7 @@
--main: #fe3f18;
--bg-top-raw: 254 63 24;
--main-box-shadow: rgb(from var(--main) r g b / 0.05);
--accent: #cfef00;
--accent: #fe3f18;
--accent-hover: #c5e300;
--paddingSite: 40px;
--card-radius: 20px;
@@ -12,6 +12,7 @@
--border-subtle: #d4d7e1;
--text-main: #191919;
--text-muted: #5e5e5e;
--main-button: #36454F;
}
/* --- BASE & TYPOGRAPHY --- */
@@ -62,7 +63,7 @@ body {
justify-content: space-between;
align-items: center;
padding: var(--paddingSite);
background: linear-gradient(135deg, var(--main), #d85a00);
background: var(--main);
color: #fff;
margin-bottom: var(--paddingSite);
position: relative;
@@ -82,7 +83,7 @@ body {
gap: 24px;
}
.allTurnerinenDiv {
.mainContentDiv {
padding: 0 var(--paddingSite);
}
@@ -127,7 +128,7 @@ body {
max-width: 450px;
transform: translateX(-100%);
z-index: 100;
padding: 20px;
padding: 30px;
transition: transform 0.45s cubic-bezier(.4, 0, .2, 1);
opacity: 1;
}
@@ -141,9 +142,8 @@ body {
display: flex;
flex-direction: column;
gap: 14px;
height: 100dvh;
height: 100%;
overflow-y: auto;
padding-bottom: 80px;
}
.text_akt_abt {
@@ -207,6 +207,20 @@ body {
font-size: 1.5rem;
}
.textInputAbtTitel {
margin: 0;
font-weight: 400;
border-top: none;
border-left: none;
border-right: none;
border-bottom: 1px solid var(--main);
font-size: 1.5rem;
color: #191919;
background: none;
width: max-content;
padding: 4px 8px;
}
.deleteProgramm {
display: flex;
align-items: center;
@@ -243,45 +257,26 @@ body {
}
/* Sidebar Menu Button Styling */
.header-text-conatiner {
.headerOptionConatiner {
display: flex;
flex-direction: column;
padding: 20px;
padding-top: 20px;
gap: 15px;
margin-top: auto;
}
.header-text-conatiner button {
cursor: pointer;
font-weight: 600;
transition: all 0.2s ease;
padding: 12px 20px;
border-radius: 100px;
background: var(--accent);
border: 1px solid transparent;
font-size: 15px;
color: #000;
width: 100%;
box-shadow: 0 4px 6px rgba(207, 239, 0, 0.2);
.headerOptionConatiner > button {
}
.header-text-conatiner button:hover {
background: var(--accent-hover);
transform: translateY(-2px);
box-shadow: 0 6px 12px rgba(207, 239, 0, 0.3);
}
.header-text-conatiner button:active {
transform: scale(0.98) translateY(0);
}
.header-text-conatiner label {
.headerOptionConatiner label {
font-weight: 400;
color: var(--text-main);
font-size: 0.9rem;
margin-bottom: -5px;
}
.header-text-conatiner input[type="number"] {
.headerOptionConatiner input[type="number"] {
padding: 12px 15px;
border-radius: 12px;
border: 1px solid var(--border-subtle);
@@ -292,7 +287,7 @@ body {
width: 100%;
}
.header-text-conatiner input[type="number"]:focus {
.headerOptionConatiner input[type="number"]:focus {
border-color: var(--main);
box-shadow: 0 0 0 3px rgba(40, 102, 110, 0.1);
}
@@ -309,6 +304,7 @@ body {
transition: all 0.3s ease;
border-collapse: separate;
border-spacing: 0;
width: 100%;
}
.geraet-table thead {
@@ -465,45 +461,177 @@ body {
/* Invalid / Unassigned Wrapper */
.invalidAbtDiv {
padding: 20px;
border-radius: 12px;
margin: 20px 20px;
padding: 10px 0;
}
.invalidAbtDiv .geraet-table {
box-shadow: none;
border-color: #fecdd3;
border-color: #d93f4a;
width: 100%;
}
.invalidAbtDiv .geraet-table thead {
background: #ffe4e6;
background: #d93f4a;
}
.invalidAbtDiv .geraet-table thead th {
color: #e11d48;
color: #ffffff;
}
/* Horizontal scroll area for departments */
.allTurnerinenDiv>div {
.singleAbtDiv {
padding-bottom: 20px;
}
.allTurnerinenDiv>div>div:last-child {
.singleAbtDataContainer {
overflow-x: auto;
padding: 10px 0 20px 0;
display: flex;
flex-direction: row;
gap: 16px;
align-items: flex-start;
margin-top: 24px;
margin-bottom: 8px;
}
.allTurnerinenDiv>div>div:last-child::-webkit-scrollbar {
.singleAbtDataContainer::-webkit-scrollbar {
height: 8px;
}
.allTurnerinenDiv>div>div:last-child::-webkit-scrollbar-track {
.singleAbtDataContainer::-webkit-scrollbar-track {
background: #f1f5f9;
border-radius: 10px;
}
.allTurnerinenDiv>div>div:last-child::-webkit-scrollbar-thumb {
.singleAbtDataContainer::-webkit-scrollbar-thumb {
background: #cbd5e1;
border-radius: 10px;
}
.disabled {
opacity: 0.5;
pointer-events: none;
}
.buttonMoveDiv {
display: flex;
flex-direction: column;
gap: 4px;
}
.buttonMove {
background: #fff;
border: 1px solid #d1d5db;
border-radius: 6px;
width: 24px;
height: 18px;
display: flex;
align-items: center;
justify-content: center;
cursor: pointer;
transition: all 0.2s ease;
}
input.abtIndexInput::-webkit-outer-spin-button,
input.abtIndexInput::-webkit-inner-spin-button {
-webkit-appearance: none;
margin: 0;
}
input.abtIndexInput[type=number] {
-moz-appearance: textfield;
}
.abtIndexInput {
text-align: center;
}
.nichtBezahlt {
color: #e11d48;
font-size: 0.9rem;
font-weight: 500;
}
.timePicker {
border: none;
border-bottom: 1px solid #000;
background: none;
padding: 4px 8px;
font-size: 1rem;
color: var(--main);
width: 80px;
text-align: center;
}
.addTimetypeButton {
color: #2dac79;
}
.removeTimetypeButton {
color: #e11d48;
}
.subHeaderAbt {
display: inline-flex;
align-items: center;
gap: 12px;
padding: 4px 8px;
background: #f1f5f9;
border-radius: 8px;
font-size: 0.9rem;
align-self: start;
margin-top: 18px;
position: relative;
}
.subHeaderAbt .customSelect {
position: absolute;
width: 160px;
bottom: 0px;
transform: translateY(120%) translateX(-10%);
padding: 6px;
background: #fff;
border: 1px solid #7b7676;
border-radius: 6px;
}
.hidden {
display: none !important;
}
.buttonsDiv {
display: flex;
flex-direction: column;
gap: 12px;
justify-content: flex-start;
margin-bottom: 20px;
position: fixed;
bottom: 10px;
right: 20px;
}
.blackBtn {
background: var(--main-button);
border: 1px solid #fff;
color: #ffffff;
padding: 10px 20px;
border-radius: 10px;
transition: transform 0.3s ease;
letter-spacing: 1px;
display: flex;
align-self: flex-start;
}
.blackBtn:hover {
transform: scale(1.02);
}
.blackBtn:active {
transform: scale(0.98);
}
h3.normalTitle {
color: var(--main-button);
margin-bottom: 8px;
letter-spacing: 1px;
}
+25 -30
View File
@@ -184,9 +184,15 @@
}
.menuWrapper {
position: fixed;
right: 20px;
top: 20px;
display: flex;
align-items: center;
gap: 16px;
padding: 20px;
border-radius: 40px;
background-color: rgb(var(--bg-top-raw));
}
.abmeldenbutton {
@@ -211,7 +217,7 @@
padding: 20px 24px 8px;
font-size: 14px;
font-weight: 400;
color: rgba(45, 45, 45, 0.85);
color: rgb(146 146 146 / 85%);
}
.customSelect {
@@ -230,8 +236,7 @@ table input {
height: 38px;
}
.selectTrigger,
.selectTriggerBulk {
.selectTriggerSidebar {
background: none;
border: none;
padding: 0;
@@ -241,21 +246,21 @@ table input {
cursor: pointer;
}
.sidebar-nav .selectOptions,
.sidebar-nav .selectOptionsBulk {
.sidebar-nav .selectOptionsSidebar {
position: absolute;
top: calc(100% + 4px);
left: 0;
right: 0;
padding: 4px;
list-style: none;
margin-top: 2px;
border: 1px solid;
border: 1px solid rgba(0, 0, 0, 0.1);
border-radius: 12px;
background: var(--sidebar-bg);
background: #fff;
z-index: 1000;
box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08);
box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
opacity: 0;
transform: scaleY(0);
@@ -265,8 +270,7 @@ table input {
transition: opacity 0.2s ease, transform 0.2s ease;
}
.sidebar-nav .customSelect.open .selectOptions,
.sidebar-nav .customSelect.open .selectOptionsBulk {
.sidebar-nav .customSelect.open .selectOptionsSidebar {
opacity: 1;
transform: scaleY(1);
pointer-events: auto;
@@ -276,8 +280,7 @@ table input {
rotate: 180deg
}
.selectOptions li,
.selectOptionsBulk li {
.selectOptionsSidebar li {
padding: 10px 14px;
cursor: pointer;
border-radius: 8px;
@@ -285,8 +288,7 @@ table input {
transition: background-color 0.15s ease;
}
.selectOptions li:last-child,
.selectOptionsBulk li:last-child {
.selectOptionsSidebar li:last-child {
margin-bottom: 0;
}
@@ -302,43 +304,36 @@ table input {
font-size: 10px;
font-weight: 600;
text-transform: uppercase;
color: rgba(45, 45, 45, 0.45);
color: #fff;
margin-bottom: 6px;
letter-spacing: 0.5px;
}
.sidebar-li-freigaben .selectTrigger {
.selectTriggerSidebar {
width: 100%;
padding: 9px 12px;
background: #fff;
border: 1px solid rgba(0, 0, 0, 0.08);
background: #171717;
border: 1px solid #fcfcfc;
border-radius: 8px;
font-size: 13px;
font-weight: 500;
color: var(--sidebar-text);
color: #fcfcfc;
transition: all 0.2s ease;
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.02);
}
.sidebar-li-freigaben .selectTrigger:hover {
border-color: rgba(0, 0, 0, 0.15);
.selectTriggerSidebar:hover, .sidebar-li-freigaben .customSelect.open .selectTriggerSidebar {
background: #fcfcfc;
color: #171717;
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.04);
}
.sidebar-li-freigaben .selectOptions {
background: #fff;
border: 1px solid rgba(0, 0, 0, 0.1);
box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
margin-top: 2px;
}
.sidebar-li-freigaben .selectOptions li {
.selectOptionsSidebar li {
font-size: 13px;
padding: 8px 12px;
}
.sidebar-li-freigaben .selectOptions li.selected {
.selectOptionsSidebar li.selected {
background: var(--sidebar-active);
color: #111;
font-weight: 600;
+237 -99
View File
@@ -15,6 +15,7 @@
--text-muted: #5e5e5e;
--disabled-bg: #f3f4f6;
--disabled-border: #cbd5f5;
--color-excel: #1D6F42;
}
/* Base */
@@ -86,13 +87,6 @@ input {
background: none;
}
@media (min-width: 1500px) {
.bgSection.open {
width: calc(100vw - 380px);
/* - 2 * var(--paddingSite) */
}
}
/* Cards */
.headerDivTrainer {
@@ -112,6 +106,16 @@ input {
.headingStartgebuerenTabelle {
margin-top: 0;
font-weight: 400;
}
.headingStartgebuerenTabelle {
margin-bottom: 0;
}
.heading_edit_turnerin,
.headingAlleTurnerinnen {
margin-top: 0;
font-weight: 400;
margin-bottom: 20px;
}
@@ -185,6 +189,79 @@ input {
transition: all 2s ease;
}
/* Basis-Container-Positionierung */
.tooltip-container {
position: relative;
display: inline-block;
}
/* Das gehoverte Element */
.target-element {
padding: 10px 20px;
cursor: pointer;
}
/* Der Tooltip selbst */
.tooltip {
visibility: hidden;
opacity: 0;
position: absolute;
z-index: 1000;
/* Positionierung: Oben über dem Element, zentriert */
bottom: 120%; /* Abstand nach oben */
left: 50%;
transform: translateX(-50%);
/* Styling */
background-color: #ffffff;
color: #2f2f2f;
text-align: center;
padding: 8px 12px;
border-radius: 6px;
font-size: 14px;
white-space: nowrap;
box-shadow: 0 4px 6px rgba(162, 162, 162, 0.1);
align-items: center;
text-align: left;
/* Die 0.5s Verzögerung */
transition: visibility 0s linear 0.5s, opacity 0.3s linear;
}
/* Kleiner Pfeil nach unten */
.tooltip::after {
content: "";
position: absolute;
top: 100%;
left: 50%;
margin-left: -5px;
border-width: 5px;
border-style: solid;
border-color: #ffffff transparent transparent transparent;
}
/* Sichtbar machen beim Hovern über den Container */
.tooltip-container:hover .tooltip {
visibility: visible;
opacity: 1;
/* Keine Verzögerung beim Verschwinden */
transition-delay: 0s;
transition: visibility 0s linear 0s, opacity 0.3s linear;
}
.tooltipPaymentStatus {
display: grid;
grid-template-columns: 180px 1fr;
gap: 12px;
align-items: center;
}
.tooltipPaymentStatus > * {
pointer-events: none;
}
/* Kampfrichter header layout */
.headerDivTrainer {
@@ -369,19 +446,16 @@ div.bezahlstatus.paymentAdmin {
text-align: center;
}
.allTurnerinenDiv .editTurnerin,
.allTurnerinenDiv .editTurnerinAdmin {
.allTurnerinenDiv .editPerson {
background: none;
border: none;
}
.allTurnerinenDiv .editTurnerin svg,
.allTurnerinenDiv .editTurnerinAdmin svg {
.allTurnerinenDiv .editPerson svg{
transition: transform 0.3s ease;
}
.allTurnerinenDiv .editTurnerin svg:hover,
.allTurnerinenDiv .editTurnerinAdmin svg:hover {
.allTurnerinenDiv .editPerson svg:hover {
transform: scale(1.2);
animation-name: stiftWackler;
animation-duration: 0.5s;
@@ -447,6 +521,7 @@ div.bezahlstatus.paymentAdmin {
.editContainerDivInner>form>input,
.editContainerDivInner>form>select,
.bulkSelect,
.editContainerDivInner .customSelect,
.emptyEditForm {
border: 1px dashed #777;
max-width: 300px;
@@ -456,6 +531,16 @@ div.bezahlstatus.paymentAdmin {
font-weight: 300;
}
.bulkSelectDiv .customSelect {
border: 1px solid #777;
max-width: 300px;
border-radius: 3px;
font-size: 16px;
margin-bottom: 15px;
font-weight: 300;
min-width: min(250px, 100%);
}
.editContainerDivInner>form>input:focus,
.editContainerDivInner>form>select:focus,
.bulkSelect:focus {
@@ -466,6 +551,8 @@ div.bezahlstatus.paymentAdmin {
}
.editContainerDivInner>form>input,
.editContainerDivInner .customSelect,
.bulkSelectDiv .customSelect,
.emptyEditForm {
padding: 6px 10px;
}
@@ -787,8 +874,12 @@ input[type="number"]::-webkit-outer-spin-button {
transition: transform 0.3s ease;
}
.trainerBurgerMenuDiv.open svg {
transform: rotate(45deg);
.trainerBurgerMenuDiv:hover svg, .deleteStartgebuerCell:hover svg {
transform: scale(1.02);
}
.trainerBurgerMenuDiv:active svg, .deleteStartgebuerCell:active svg {
transform: scale(0.95);
}
.internMenuDiv {
@@ -796,8 +887,9 @@ input[type="number"]::-webkit-outer-spin-button {
box-shadow: none;
position: fixed;
left: 0;
top: 0;
height: 100svh;
border-radius: 0 40px 40px 0;
bottom: 40px;
height: calc(80svh - 80px);
width: 100%;
max-width: 450px;
transform: translateX(-100%);
@@ -805,6 +897,7 @@ input[type="number"]::-webkit-outer-spin-button {
padding: 20px;
transition: transform 0.45s cubic-bezier(.4, 0, .2, 1);
opacity: 1;
overflow: hidden;
}
.internMenuDiv.open {
@@ -816,9 +909,8 @@ input[type="number"]::-webkit-outer-spin-button {
display: flex;
flex-direction: column;
gap: 14px;
height: 100dvh;
max-height: calc(100% - 150px);
overflow-y: auto;
padding-bottom: 80px;
}
.text_akt_abt {
@@ -828,12 +920,12 @@ input[type="number"]::-webkit-outer-spin-button {
line-height: 1.6;
}
.innerInternMenuDiv form {
.internMenuDiv form {
margin: 0;
}
.innerInternMenuDiv input[type="submit"],
.innerInternMenuDiv select {
.internMenuDiv input[type="submit"],
.internMenuDiv select {
width: 100%;
padding: 12px 14px;
border-radius: 10px;
@@ -842,28 +934,17 @@ input[type="number"]::-webkit-outer-spin-button {
transition: all 0.3s ease;
}
.innerInternMenuDiv input[type="submit"]:focus,
.innerInternMenuDiv select:focus {
.internMenuDiv input[type="submit"]:focus,
.internMenuDiv select:focus {
outline: none;
border-color: #2d73ac;
box-shadow: 0 0 6px rgba(45, 115, 172, 0.3);
}
.innerInternMenuDiv .button-secondary {
background: linear-gradient(135deg, #2d73ac, #1f4f75);
color: #fff;
border: none;
border-radius: 12px;
font-weight: 600;
cursor: pointer;
padding: 12px 18px;
transition: transform 0.2s ease, background 0.3s ease;
box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
}
.innerInternMenuDiv .button-secondary:hover {
background: linear-gradient(135deg, #245d8a, #163b5a);
transform: translateY(-2px);
.internMenuDiv button.newBtn {
position: absolute;
bottom: 30px;
right: 30px;
}
.gruppennav {
@@ -1184,15 +1265,18 @@ tr.rowStartgebuer {
transition: background-color 0.2s ease;
}
tr.rowStartgebuer:hover {
background-color: #f9fafb;
}
tr.rowStartgebuer {
border-bottom: 1px solid #f0f0f0;
}
.tableStartgebueren {
position: relative;
}
tr.rowStartgebuerTotal {
position: sticky;
bottom: 0;
left: 0;
font-weight: bold;
border-top: 2px solid #ddd;
background-color: #fdfdfd;
@@ -1240,14 +1324,12 @@ tr.rowStartgebuerTotal {
}
.tableStartgebueren {
max-height: 60vh;
overflow-x: hidden;
overflow-y: auto;
/* Prevent scroll chaining to body */
overscroll-behavior-x: contain;
overscroll-behavior-x: none;
overscroll-behavior-y: none;
/* Smooth scrolling on touch devices */
-webkit-overflow-scrolling: touch;
}
@@ -1294,87 +1376,97 @@ tr.rowStartgebuerTotal {
/* Container styling */
.form_excel {
max-width: 400px;
padding: 30px;
max-width: 420px;
padding: 18px;
border-radius: 12px;
box-shadow: 0 10px 25px rgba(0, 0, 0, 0.05);
text-align: center;
border-top: 6px solid #1D6F42;
/* Excel Green */
border: 4px solid var(--color-excel);
}
.form_excel h4 {
.form_excel h3 {
color: #333;
margin-bottom: 20px;
font-size: 1.5rem;
font-weight: 600;
margin: 0 0 20px 0;
font-weight: 400;
}
/* Download Template Section */
.listExcelForm {
text-align: left;
line-height: 1.25;
display: flex;
flex-direction: column;
gap: 12px;
letter-spacing: 1px;
}
.form_excel a {
text-decoration: none;
display: block;
margin-bottom: 25px;
display: inline-flex;
color: var(--color-excel);
position: relative;
}
.form_excel button[type="button"] {
background-color: #f3f3f3;
color: #1D6F42;
border: 1px solid #1D6F42;
padding: 10px 20px;
border-radius: 6px;
cursor: pointer;
font-weight: 600;
transition: all 0.3s ease;
.form_excel a::after {
content: "";
height: 1px;
width: 100%;
position: absolute;
background-color: var(--color-excel);
bottom: -2px;
left: 0;
transform: scaleX(0);
transition: transform 0.2s ease;
}
.form_excel button[type="button"]:hover {
background-color: #e8f5e9;
transform: translateY(-1px);
.form_excel a:hover::after {
transform: scaleX(1);
}
/* File Input Styling */
.form_excel input[type="file"] {
display: block;
width: 100%;
margin-bottom: 20px;
padding: 10px;
border: 2px dashed #cbd5e0;
border-radius: 8px;
background-color: #fafafa;
padding: 8px 0;
border: none;
cursor: pointer;
}
.form_excel input[type="file"]::file-selector-button {
background: #1D6F42;
color: white;
border: none;
background: none;
color: var(--color-excel);
border: 1px solid var(--color-excel);
padding: 8px 16px;
border-radius: 4px;
margin-right: 10px;
cursor: pointer;
letter-spacing: 1px;
transition: background 0.3s ease, color 0.3s ease;
}
.form_excel input[type="file"]::file-selector-button:hover {
background: var(--color-excel);
color: #fff;
}
/* Submit Button */
.form_excel button[type="submit"] {
background-color: #1D6F42;
/* Official Excel Green */
color: white;
border: none;
padding: 12px 24px;
font-size: 1rem;
font-weight: bold;
background: none;
color: var(--color-excel);
border: 1px solid var(--color-excel);
padding: 8px 16px;
border-radius: 6px;
margin-top: 8px;
width: 100%;
cursor: pointer;
box-shadow: 0 4px 6px rgba(29, 111, 66, 0.2);
transition: background 0.3s ease;
transition: background 0.3s ease, color 0.3s ease;
}
.form_excel button[type="submit"]:hover {
background-color: #155231;
box-shadow: 0 6px 12px rgba(29, 111, 66, 0.3);
background: var(--color-excel);
color: #fff;
}
/* Payment Modal Overlay */
@@ -1574,13 +1666,65 @@ span.flatpickr-weekday {
color: #cfef00;
}
.placeholder {
color: #777;
}
.tooltipPaymentStatusContainer {
position: absolute;
transform: translateY(-100%) translateX(-50%);
background-color: #ffffff;
color: #2f2f2f;
text-align: center;
padding: 8px 12px;
border-radius: 6px;
font-size: 14px;
white-space: nowrap;
box-shadow: 0 4px 6px rgba(162, 162, 162, 0.1);
align-items: center;
text-align: left;
transition: opacity 0.5s ease;
opacity: 1;
}
.opacity0 {
opacity: 0;
pointer-events: none;
transition: opacity 0.2s ease !important;
}
.closeWarenkorb {
color: #d30741;
background: none;
border: none;
padding: 0;
transform: scale(1);
transition: transform 0.3s ease;
display: inline-flex;
align-self: center;
}
.closeWarenkorb:hover {
transform: scale(1.1);
}
.closeWarenkorb:active {
transform: scale(0.9);
}
.headerDivWarenkorb {
display: flex;
flex-direction: row;
flex-wrap: nowrap;
justify-content: space-between;
margin-bottom: 20px;
}
select:not(.flatpickr-monthDropdown-months) {
appearance: none;
/* Standard */
-webkit-appearance: none;
/* WebKit */
-moz-appearance: none;
/* Firefox */
width: 100%;
padding: 12px 35px 12px 14px !important;
@@ -1590,10 +1734,7 @@ select:not(.flatpickr-monthDropdown-months) {
border-radius: 4px;
background-color: #fff;
background-image: url("data:image/svg+xml;utf8,\
<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'>\
<path d='M6 9L12 15L18 9' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/>\
</svg>");
background-image: url("data:image/svg+xml;utf8,\<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'>\<path d='M6 9L12 15L18 9' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/>\</svg>");
background-repeat: no-repeat;
background-position: right 10px center;
background-size: 20px;
@@ -1602,8 +1743,5 @@ select:not(.flatpickr-monthDropdown-months) {
}
select:open {
background-image: url("data:image/svg+xml;utf8,\
<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'>\
<path d='M18 15L12 9L6 15' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/>\
</svg>");
background-image: url("data:image/svg+xml;utf8,\<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'>\<path d='M18 15L12 9L6 15' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/>\</svg>");
}
+1
View File
@@ -0,0 +1 @@
/* Dies ist eine CSS-Datei, welche mit eigener CSS-Logik gefüllt werden kann. Diese CSS Datei glit für alle Intern Seiten.*/
-77
View File
@@ -1,77 +0,0 @@
.welcomeScreen{
position: fixed;
top: 0;
left: 0;
width: 100vw;
height: 100vh;
z-index: 10000;
background-color: #fff;
display: flex;
align-items: center;
justify-content: center;
}
.welcomeScreen{
animation: fadeOut 0.9s forwards;
animation-delay: 3s;
}
.innerWelcomeScreen{
display: flex;
flex-direction: column;
}
.textWelcomeScreen{
text-align: center;
}
.textWelcomeScreen.text span {
display: inline-block;
opacity: 0;
transform: translateY(20px);
animation: rise 0.5s forwards;
font-size: 60px;
font-weight: 100;
color: #8044A6;
}
.textWelcomeScreen.title span {
display: inline-block;
opacity: 0;
transform: translateY(20px);
animation: fall 0.9s forwards;
font-size: 120px;
}
@keyframes rise {
0% {
opacity: 0;
transform: translateY(20px);
}
100% {
opacity: 1;
transform: translateY(0);
}
}
@keyframes fadeOut {
0% {
opacity: 1;
}
99% {
opacity: 0;
}
100% {
display: none;
}
}
@keyframes fall {
0% {
opacity: 0;
transform: translateY(-20px);
}
100% {
opacity: 1;
transform: translateY(0);
}
}