/* source-sans-3-300 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Source Sans 3';
  font-style: normal;
  font-weight: 300;
  src: url('fonts/source-sans-3-v15-latin-300.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* source-sans-3-700 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Source Sans 3';
  font-style: normal;
  font-weight: 700;
  src: url('fonts/source-sans-3-v15-latin-700.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

:root {
	--blau: #083443;
	--braun:  #7b4739;
	--rot: #AE2A57;
	--gruen: #559922;
	--bs-body-color:#333;
	--bs-body-font-family: 'Source Sans 3',sans-serif;
    --bs-body-font-size: .9rem;
    --bs-body-font-weight: 300;
	--bs-border-width:0;
}

@media screen and (max-width:991px) {
	:root {
    --bs-body-font-size: 1.2rem;
}

header .date {font-size:inherit;}

}


.bg-danger {background-color: var(--rot)!important;}
.bg-primary {background-color: var(--blau)!important;}
.bg-success {background-color: #668822!important;}

.text-primary {color: var(--blau)!important;}
.text-danger {color: var(--rot)!important;}




.btn-primary {
    --bs-btn-color: #fff;
    --bs-btn-bg: var(--blau);
    --bs-btn-border-color: var(--blau);
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: var(--rot);
    --bs-btn-hover-border-color: var(--rot);
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: var(--rot);
    --bs-btn-active-border-color: var(--rot);
	
    --bs-btn-disabled-bg: #8A1;
    --bs-btn-disabled-border-color: #8A1;
	
}
button[type="submit"]:not(:disabled) .spinner-border {
    display: none;
}

.btn-success {
    --bs-btn-color: #fff;
    --bs-btn-bg: var(--gruen);
    --bs-btn-border-color: var(--gruen);
}


.popover {
    --bs-popover-border-width: 1px;
    --bs-popover-border-radius: .25rem;
    --bs-popover-inner-border-radius: .25rem;
    --bs-popover-zindex: 170;
}

.popover-header {
    display: flex;
    justify-content: space-between;
}
.popover-header .bi {margin-left:.5rem;}


@media (max-width:1299px) {
	.min-1300 {display:none!important;}
}
@media (min-width:1300px) {
	.max-1300 {display:none!important;}
}



body {
	background-color:black;
	background-image:linear-gradient(#000,#666);
	background-attachment:fixed;
	background-size:cover;
	letter-spacing: 0.01rem;
	min-height: 100vh;
    display: flex;
    flex-direction: column;
	}

.body {
    flex-grow: 1;
	margin-top:80px;
	display:flex;
	flex-direction:column;
}

h1,h2,h3,h4,h5,h6,strong,b {font-weight:700;}

h6 {font-size:0.8rem;margin-bottom:0.1rem;}

a {text-decoration:none;color:var(--blau);}
a:hover {color:var(--rot);}

a.badge.bg-danger:hover {background:white!important;}

.text-white a {color:inherit;}
.text-white a:hover {color:var(--rot);}

hr {
    border-top: 1px solid;
    opacity: .3;
    margin: .5rem 0;
}

ul.comma {list-style:none;display:flex;flex-wrap:wrap;padding:0;margin:0;}
ul.comma li:not(:last-child)::after {content:',';margin-right:.3rem;}

header {
    position: fixed;
    top: 6px;
    right: 6px;
    left: 6px;
    z-index: 1030;
    border-radius: 0.4rem;
	background:linear-gradient(rgba(255,255,255,0.7),rgba(255,255,255,0.8));
	backdrop-filter: blur(4px);
	border-top: 1px solid white;
	box-shadow: 0 .1rem .3rem -.1rem rgba(0, 0, 0, 0.3);
	
}

.navbar-nav {
	--bs-navbar-active-color: var(--rot);
	--bs-nav-link-hover-color: var(--rot);
}


header .date {
	line-height:0;
	font-size:1.1rem;
	color:#666;
}

header .form-control {
    width: 7rem;
}



.navbar-brand {width:6rem;display:flex;}
.navbar-brand img {
width: 100%;
}


@media screen and (min-width:1300px) {
	header .date {
		font-size:1.3rem;
	}
	header .form-control {
	    width: 11rem;
	}
	
}
@media screen and (max-width:991px) {

.navbar-brand {width:32px;}
.navbar-toggler {order:5;}
.navbar-collapse {order:6;}
}


.badge[data-count]:empty {display: inline-block;}
.badge[data-count="0"]:empty {display:none;}
.badge[data-count]::before {content:attr(data-count);}

.dropdown-menu {
--bs-dropdown-min-width:20rem;
max-height:80vh;
overflow-y:auto;
--bs-dropdown-link-active-color: black;
--bs-dropdown-link-active-bg: #eee;
}
.dropdown-item {width:var(--bs-dropdown-min-width);
	/*overflow:hidden;text-overflow:ellipsis;*/
	white-space:wrap;}

.dropdown-item span {font-size:0.9rem;position:relative;}


.nav.nav-pills {
	--bs-nav-link-padding-y: 0.3rem;
	--bs-nav-link-padding-x: 0.6rem;
    --bs-nav-pills-link-active-color: #fff;
	--bs-nav-link-color:#fff;
    --bs-nav-pills-link-active-bg: #6c757d;
	--bs-nav-link-hover-color: var(--rot);
	font-size:1.1rem;
}

.nav-pills .badge {
    vertical-align: top;
    margin-top: .3rem;
}

.nav-tabs {
/*    --bs-nav-tabs-border-width: 1px;*/
    --bs-nav-tabs-link-active-color: white;
    --bs-nav-tabs-link-active-bg: var(--blau);
	--bs-link-color: white;
    --bs-nav-link-hover-color: white;
}

/**********************************************************************************/

#login:empty::before {
    content: 'Zeitüberschreitung. Bitte laden Sie die Seite neu, um sich einzuloggen.';
    display: block;
    padding: 3rem 0;
    font-size: 1.4rem;
    color: var(--rot);
    font-weight: bold;
}



form {
	--bs-border-width:1px;
}

.form-check-input:checked {
    background-color: var(--blau);
    border-color: var(--blau);
}

.filter-active {
	/*animation-name: pulsate;
	animation-duration: .4s;
	animation-iteration-count: 20;
	animation-direction: alternate-reverse;*/
	box-shadow: 0 0 0 3px var(--gruen);
}
/*
@keyframes pulsate {
  from {box-shadow: 0 0 3px 5px #66ff00;}
  to {box-shadow: 0 0 0 1px #66ff00;}
}
*/




.form-check {
    border-radius: var(--bs-border-radius-sm);
	min-height:0;
}

/*.form-control {color:black;}

.modal-body {}
*/

.modal-content {
  /*  box-shadow: 0 0 50rem 30rem rgba(0, 0, 0, 0.6);*/
}

.modal:not(.showDeleteBtn) .modal-footer .btn-danger {display:none;}

.modal-body .dropdown-menu.show {
    transform: translateY(2.5rem) !important;
}


header .dropdown-menu:empty,
.modal .dropdown-menu:empty {
    display:none;
}



#tickets,.sektionentickets {
    display: grid;
    grid-template-columns: 1fr 1fr;
    column-gap: 1rem;
    row-gap: 1rem;
    padding-bottom: 1rem;
	z-index:1;
}

.body > #tickets {
    grid-template-columns: 1fr 1fr 1fr;
}

.body > .card[data-type="ticket"] {
	position: absolute;
	left: 50%;
	top: 5rem;
	transform: translateX(-50%);
    z-index: 10;
    box-shadow: 0 0 10rem;
    min-width: 30rem;
    max-width: 95vw;
}

.status-5 {
    filter: brightness(0.8) grayscale(.5);
}

.card[data-type="ticket"] .bi-x-circle-fill {display:none;}
.body > .card[data-type="ticket"] .bi-x-circle-fill {display:inline-block;}

@keyframes blink {
	0%    {opacity: 1;}
	50%   {opacity: 1;}
	51%   {opacity: 0.3;}
	100%  {opacity: 0.3;}
}

.highlight {
	animation-name: blink;
	animation-duration: .15s;
	animation-iteration-count: 3;
}

.bi-bell-fill {
	transform-origin:50% 0;
	animation-name: ringing;
	animation-duration: 1s;
	animation-iteration-count: infinite;
}

@keyframes ringing {
	0%    {transform:rotate(0deg);}
	8%   {transform:rotate(20deg);}
	16%   {transform:rotate(-20deg);}
	24%   {transform:rotate(20deg);}
	32%   {transform:rotate(-20deg);}
	40%   {transform:rotate(20deg);}
	48%   {transform:rotate(-20deg);}
	50%   {transform:rotate(0deg);}
	100%  {transform:rotate(0deg);}
}

.bi-trash {
	color:var(--rot);
}

.bi-filetype-zip::before {
    content: "\f3bf";
}

.bi-x-circle-fill {cursor:pointer;}



.card.text-bg-warning .card-text+a {display:block;line-height:0.9;text-align:right;}


.bi.bi-inboxes-fill, .bi.bi-inbox-fill {
  vertical-align: middle;
  margin: 0 .25rem;
}


/**********************************************************************************/

.grid-1 {
  display: grid;
  gap:.25rem;
}

.grid-2 {
	display:grid;
	grid-template-columns:1fr 1fr;
	column-gap:0.5rem;
	row-gap:0.5rem;
}


.projekte-list, .grid-3 {
	display:grid;
	grid-template-columns:1fr 1fr 1fr;
	column-gap:0.5rem;
	row-gap:0.5rem;
}

.grid-4 {
	display:grid;
	grid-template-columns:1fr 1fr 1fr 1fr;
	column-gap:0.5rem;
	row-gap:0.5rem;
}


.tab-content h3 {
    grid-column: span 3;
	color:white;
}




.card {
	--bs-card-spacer-y: .4rem 1rem;
	--bs-card-spacer-x: .6rem;
	--bs-card-inner-border-radius: var(--bs-card-border-radius);
}

.projekte-list .card {
	/*overflow: hidden;*/
	--bs-card-color: #bbb;
	--bs-card-bg: var(--blau);
    --bs-card-cap-bg: rgba(255, 255, 255, 0.08);
}
.projekte-list .card a {color:white;}

/*.projekte-list .card-text {display:none;}*/

.card-header a {
    white-space: nowrap;
    text-overflow: ellipsis;
    overflow: hidden;
    display: block;
	font-weight: bold;
	}

.card-header h5 {
    text-overflow: ellipsis;
    overflow: hidden;
	margin-bottom:0;
	font-size: 1.1rem;
}

.projekte-list h2 {
    width: 100%;
    grid-column-start: 1;
    grid-column-end: 4;
    text-align: center;
    color: white;
}

.projekte-list h2:last-child {
	display:none;
}


.toast-header {
	border-top-left-radius: var(--bs-toast-border-radius);
	border-top-right-radius: var(--bs-toast-border-radius);
}

.projekte-list.tableview {
	
	display:block;
	
	.card {
	    --bs-card-color: var(--blau);
	    --bs-card-bg: white;
	    --bs-card-cap-bg: white;
	    --bs-border-radius: 0;
	    display: grid;
	    grid-template-columns: 32% 48% 20%;
	}
	
	 .card a {
		 color: inherit;
	    display: flex;
	    gap: 1rem;
	}
	
	.card-body span {
	    display: none;
	}
	
	.card-header h5 {
	    font: inherit;
	}
	
	
}

/**********************************************************************************/

.projekt-text[data-title] {
	
	    background: rgba(80, 80, 80, 0.3);
	    border-radius: 0.35rem;
	    backdrop-filter: blur(10px);

	
	margin-top:1.5rem;
	
	&::before {
		text-transform: uppercase;
		position:absolute;
		right:0;
		transform: translateY(-1.5rem);
		font-weight: 600;
		font-size: .7rem;
	}
}
.projekt-text[data-title="p_text"]::before {content: "Beschreibung";}
.projekt-text[data-title="p_werte"]::before {content: "Auftragswerte";}
.projekt-text[data-title="p_extra"]::before {content: "zusätzliche Aufträge (nur Admins)";}
.projekt-text[data-title="p_internes"]::before {content: "Internes (nur Admins)";}



/**********************************************************************************/


.komma-liste {
	display:flex;
	flex-wrap:wrap;
	gap:0 .25rem;
	& :not(:last-child)::after {content:',';}
}

/**********************************************************************************/

.kanban-container {
    position: relative;
    padding: 0 1rem 1rem;
    min-height: 1rem;
    max-height: 90vh;
    margin-bottom: 3rem;
    display: flex;
}

.handle.bottom {
    top: auto;
    bottom: -1.5rem;
    border-radius: .5rem;
    right: 50%;
    transform: translateX(50%);
}


.kanban-container > .btn {
    color: white;
    position: absolute;
    background: rgba(0, 0, 0, 0.4);
    border-radius: 3rem;
    bottom: -2.3rem;
    z-index: 1000;
    aspect-ratio: 1;
	line-height: 1;
    align-content: center;
}

.kanban.row {flex-grow:1;min-width:100%;}
.kanban .board {
	display:flex;
	flex-direction:column;
	position:relative;
	min-width: 8rem;
	max-height:100%;
}

.kanban .board-container {
    border-radius: .7rem;
    background: rgba(0, 0, 0, 0.7);
    flex-grow: 1;
    position: relative;
}
.kanban .board-container > div {
    display: flex;
    flex-direction: column;
    justify-content: start;
    top: 2.9rem;
    overflow-y: auto;
    position: absolute;
    border-radius: .5rem;
    left: .4rem;
    right: .4rem;
    bottom: .3rem;
	gap: .25rem;
}


.board:not([data-type="temporary"]) .board-container > div:empty::before {
    content: 'Ich bin ein Kanban-Board. Sie können Projekte, Tickets, Notizen und den Kalender in mir organisieren. Einfach Projekte von unten hier hin ziehen. Sie können mich verschieben, umbenennen, die Farbe ändern oder löschen.';
    color: white;
    font-size: 1.1rem;
    padding: 2rem;
	position:absolute;
}

.kanban .card:not([data-type="ticket"]) .card-title {
    font-weight: 400;
    font-size: 1.1rem;
}

.card[data-type="kunde"] {
    background: #a6d1dd!important;
    color: black;
	--bs-card-cap-bg: rgba(var(--bs-body-color-rgb), 0.1);
}


.kanban .board.size-1 .board-container > div {
    display: grid;
    grid-template-columns: 1fr 1fr;
/*	grid-template-rows: min-content min-content min-content min-content min-content min-content min-content min-content min-content min-content min-content min-content min-content min-content min-content min-content min-content min-content min-content;*/
/*	font-size:0.7rem;*/
	align-content: start;
}
.kanban .board.size-1 .card {--bs-card-spacer-y: 0.1rem .6rem;}
.kanban .board.size-1 .card .card-footer {display:none;}
.kanban .board.size-1 .card .card-title {margin:0;font-size:0.9rem;}

.board.size-1 [data-type="ticket"] .card-text,
.board.size-1 [data-type="ticket"] form,
.board.size-1 [data-type="ticket"] .btn,
.board.size-1 [data-type="ticket"] .bi-pencil {
    display: none !important;
}

.card .short,
.kanban .board.size-1 .long {display:none;}
.kanban .board.size-1 .short {display:inline;}


.kanban .board.size-3 {min-width:33vw;}

.kanban .card {
	background: rgba(255, 255, 255, 0.66);
	--bs-card-spacer-x: 0.6rem;
	--bs-card-cap-padding-y: 0.25rem;
    --bs-card-cap-padding-x: .5rem;
}
.kanban .card a:not(.btn) {color:inherit;}



.kanban .size-1 .card .card-title a {
    display: block;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.kanban .board:not(.size-3) .card[data-type="kunde"] .card-text,
.kanban .board:not(.size-3) .card[data-type="projekt"] .card-body {display:none!important;}

.kanban .board.size-3 .notiz {font-size:1.1rem;}

.kanban .board.size-1 .card.widget,
.kanban .board.size-1 .card[data-type="notiz"],
.kanban .board.size-1 .card[data-type="ticket"] {
    grid-column-start: 1;
    grid-column-end: 3;
}




.kanban .board-settings {
    color: white;
    position: absolute;
    display: flex;
    background: rgba(0, 0, 0, 0.2);
    border-radius: .5rem;
    padding: 0.04rem .5rem 0;
    align-items: center;
    top: 0.3rem;
    left: .6rem;
    right: .6rem;
}
/*.kanban .board-settings:not(:hover) > :not(form) {display:none;}*/

.kanban .board[data-type="temporary"] .board-settings > :not(form) {
    display: none;
}

.kanban .board[data-type="temporary"][data-count="0"] {display:none;}

.kanban .board-settings:hover {z-index:1;}

.board-settings .btn {
    color: inherit;
	line-height:1;
}

.board-settings form {
    flex-grow: 1;
}

.board-settings .form-control {
    border: 0;
    background: transparent;
    color: white;
    text-align: center;
	width:100%;
	font-weight:600;
}

.board-settings .form-control-color {
    width: 1.2rem;
    height: 1rem;
    padding: .1rem;
    border-radius: 1rem;
	border: 1px solid white;
}

.board-settings::after {
    content: '';
    position: absolute;
    width: 100%;
    height: 180%;
    z-index: -1;
}


.kanban .board.size-0 .board-container > div {
    top: .4rem;
    left: 0.45rem;
    right: .4rem;
}

.kanban .board.size-0 {
    min-width: 1rem;
    max-width: 2rem;
	/*overflow:hidden;*/
}

.kanban .board.size-0 .board-settings {
    transform: translate(calc(-50% + .4rem), -50%) rotate(90deg);
    width: 15rem;
    top: 50%;
    transform-origin: 50% 50%;
    height: 1.2rem;
}
.kanban .board.size-0 .board-settings .dropup {transform: rotate(-90deg);}

.kanban .board.size-0 .board-settings::after {
    display:none;
}
.kanban .board.size-0 .notiz, .kanban .board.size-0 .card, .kanban .board.size-0 [data-type="ticket"] {
    max-width: .6rem;
    height: .3rem;
    padding: 0;
    overflow: hidden;
    opacity: 0.4;
    margin-bottom: .2rem;
}

.kanban .board.size-0 .card .card-header,
.kanban .board.size-0 .card .card-header {display:none;}



.card.added {
    opacity: .7;
    filter: grayscale(1);
	
}


#trashcan {
    position: fixed;
    left: 13vw;
    bottom: 0rem;
    width: 74vw;
    height: 8rem;
    z-index: 1001;
    background: rgba(0, 0, 0, 0.8);
    border: 0.3rem dashed red;
	border-bottom:0;
	
    border-radius: 7rem 7rem 0 0;
}
#trashcan::before {
    content: 'hier hinziehen zum Entfernen aus dem Board';
	font-size:2.4rem;
    color: red;
    position: absolute;
    width: 100%;
    text-align: center;
    padding: 2rem;
}
#trashcan:not(.show) {display:none;}

#trashcan > * {display:none;}

.card.notiz {
	background:#eeeeaa;
	color:#222255;
	border-radius:0;
}
.notiz > .bi {cursor:pointer;position:absolute;bottom:0rem;right:0.5rem;z-index:2;color:black;}
.notiz:not(.editmode) > .bi {display:none;}
.notiz .card-body::after {
    content: attr(data-insert);
    position: absolute;
    top: 0;
    right: 0.3rem;
    font-size: 0.7rem;
    opacity: 0.64;
}
.notiz img {max-width:100%;height:auto;}

#widgets {
    display: flex;
    gap: .6rem;
    padding: 1rem;
    position: absolute;
    z-index: 11;
    bottom: -2rem;
    background: white;
    border-radius: 1rem;
    left: 4.5rem;
    box-shadow: 0 0 1rem;
	flex-wrap: wrap;
	width:28rem;
    max-width: 90vw;
}
#widgets::before {
    content: '';
    position: absolute;
    border-style: solid;
    border-width: .5rem 1rem;
    border-color: transparent white transparent transparent;
    left: -1.7rem;
    bottom: 0;
    transform: translateY(-50%);
}
#widgets::after {
    content: "Greifen und in ein Kanban-Board ziehen und fallen lassen.";
    font-weight: bold;
    font-size: 1.2rem;
    text-align: center;
    opacity: 0.5;
}


#widgets .card {
	box-shadow:0 .5rem 1rem -.3rem rgba(0,0,0,0.4);
    width: 6rem;
    line-height: 1.2;
	cursor:grab;
}
#widgets .bi.bi-calendar4-week {
	font-size:3rem;color:#ccc;
}

#widgets .card,
.card.widget {
    text-align: center;
    background: #4c5257;
    color: white;
}
.widget .card-body {
    padding: .2rem;
}

.card-body .cal-item {
    position: static;
	text-align:left;
    color: white;
    margin-bottom: .2rem;
    width: auto;
}

.mini-calendar-month {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
	line-height: 1;
	padding: 3px 1px 4px 4px;
}
.mini-calendar-month > * {
    width: calc(100% / 7);
	margin:0 -.5px -.5px 0;
}

.mini-calendar-month > a {
    height: 2rem;
    border: .5px solid;
    text-align: center;
    display: flex;
    flex-direction: column;
    padding: 2px;
    box-sizing: border-box;
	--week-offset:1;
	margin-left: calc(100% / 7 * (var(--week-offset) - 1) - (var(--week-offset) - 1) * .5px);
	position:relative;
	opacity:0.5;
}
.mini-calendar-month > a:hover {
	color:var(--rot);
	background:white;
}
.mini-calendar-month > span {
    color: rgba(255, 255, 255, 0.3);
	margin-bottom:3px;
}
.mini-calendar-month > .has_events {
	background:#7e8c27;
	opacity:1;
}
.mini-calendar-month > .today {
	font-weight:bold;
}
.mini-calendar-month > .weekend {
    background-image: linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5));
}
.holiday {
    background-color: var(--blau) !important;
}

.mini-calendar-month > .today::after {
	content:'';
	position:absolute;
	height:100%;
	width:100%;
	left:0;
	top:0;
	z-index:1;
	outline:2px solid #dd0000;
}

.mini-cal-view .cal-item > div {
    position: relative;
}
.mini-cal-view .cal-item::before {
    display: none;
}


.list-group {
	position:relative;
	--bs-list-group-active-bg: var(--blau);
	--bs-list-group-active-border-color: var(--blau);
}

.kanban .widget[data-type="last_open"] .card-body {
	padding:0;
	border-bottom-right-radius: inherit;
	border-bottom-left-radius: inherit;
	overflow:hidden;
}



.size-1 .list-group > :nth-child(n+5) {display: none;}
.size-2 .list-group > :nth-child(n+7) {display: none;}


.kanban .widget[data-type="online"] {
	background:var(--gruen);
	line-height:1;

	& .grid-4::before {
		content:'Wer ist gerade online?';
		font-weight:bold;
		display:block;
		grid-column: span 4;
	}

	& .grid-4:empty::before {
    content: 'Niemand online';

}
}

.kanban .widget[data-type="kbadmin"] {
    background: transparent;
}
.kanban .widget[data-type="references"], .kanban .widget[data-type="infos"] {
	min-height:13rem;
	overflow:hidden;
	text-align:left;
	.card-body {
		padding:0;
		overflow-y:auto;
        scroll-padding-top: 2rem;
		display:block;
		--bs-border-radius:0;
		--bs-border-radius-sm:0;
		.row {
			position:sticky;
			background:#6c757d;
			top:0;
			z-index:3;
		}
	}
	
	.dropdown-menu {
	    font-size: .9rem;
	    --bs-dropdown-item-padding-y: 0.1rem;
	    --bs-dropdown-item-padding-x: .6rem;
	    --bs-dropdown-min-width: 100%;
		--bs-dropdown-padding-y:0;
		--bs-dropdown-spacer:0;
		box-shadow: 0 .1rem .3rem -.2rem;
	}
	.col-lg-8 > label {padding:0.3rem 0.5rem;}
	.list-group {
		--bs-list-group-item-padding-x: .5rem;
		--bs-list-group-item-padding-y: 0.2rem;
		
		h5 {
		    font-size: inherit;
		    padding: .2rem 1.2rem .2rem 0.5rem;
		    margin: 0;
		    text-align: right;
			position: sticky;
			top: 1.95rem;
			z-index: 2;
			background:#4c555d;
		}
		
		.list-group-item {
			display: flex !important;
            gap: 0.1rem;
			align-items: center;
		}
		.list-group-item-action {
			text-overflow: ellipsis;
		    white-space: nowrap;
		    overflow: hidden;
		}
		
	}
	
	span.badge.text-bg-info {border-radius: .25rem;}
	
	&:not(.editmode) .edit {display:none;}
	
}

.kanban .widget[data-type="infos"] {
	color:black;
	min-height:20rem;
	
	& .card-body .row {
	background:#0dcaf0;
	}
    & .list-group h5 {
		background:#0bb2d3;
		
		form {height:0;width:1px;}
		label {
		    position: absolute;
		    z-index: 1111;
		    height: 100%;
		    width: 100%;
		    bottom: 0;
		    left: 0;
		
			input[type="file"] {opacity:0;position:absolute;width:100%;height:100%;top:0;left:0;}		
		}
    }
	
	&.editmode [data-upload-action] h5 {
		cursor:copy;

		&::before {
	    content: '\F4FA';
	    font-family: 'bootstrap-icons';
	    display: inline-block;
	    float: left;
	}
}
}


.kanban .widget[data-type="backgrounds"] {
	
	.grid-4 {
	    column-gap: 0.25rem;
	    row-gap: 0.25rem;
	}
	button {
    border: 0;
    padding: 0;
    background: transparent;
	img {
	    width: 100%;
	    border-radius: .3rem;
		}
	}
}



.kanban {
--grey-1: #888;
--grey-2: #666;
--grey-3: #444;
--grey-4: #222;
--orange-1: #bb8822;
--orange-2: #bb6622;
--orange-3: #bb4422;
--green-1: #338822;
--green-2: #226622;
--green-3: #114422;
--purple: #441166;
--purple-2: #664499;
--purple-3: #9966bb;
}


@media screen and (max-width:991px) {
	.kanban-container {height:calc(100vh - 8rem)!important;}
	.kanban {
	    flex-wrap: nowrap;
	    overflow-x: auto;
	}
	.kanban .board,
	.kanban .board.size-3 {
		min-width: 94vw;
	}
	
	.kanban .board.size-0 {
	    min-width: 2rem;
	}
	
	.mini-calendar-month > a {height: 2.5rem;}
	
}



/****************************************************************/

.accordion {
	--bs-border-width:1px;
	--bs-accordion-border-width:0px;
    --bs-accordion-btn-padding-y: .6rem;
	--bs-accordion-btn-padding-x: 0.5rem;
	--bs-accordion-btn-bg: #ddd;
	min-height: 1rem;
    background: var(--blau);
	border-radius: var(--bs-accordion-inner-border-radius);
}

.accordion-header {font-weight:normal;}
.accordion-body {--bs-border-width:0;}

.accordion-button,
.accordion-button:not(.collapsed) {
    color: white;
	cursor:default!important;
    background-color: var(--blau);
}
.accordion-button:hover {
    background: color-mix(in srgb, var(--blau), white 13%);
}


.accordion-button * {color:inherit;}

.accordion-toggler {position:relative;cursor:pointer;}

.accordion-toggler::before {
    margin-left: 0.5rem;
	--bs-accordion-btn-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23FFFFFF' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='M2 5L8 11L14 5'/%3e%3c/svg%3e");
}


#sektionen-list:empty::before {
    content: 'Noch keine Sektionen in diesem Projekt.';
    color: white;
    text-align: center;
    display: block;
    padding: 1rem;
    opacity: .4;
}

.accordion-toggler::before {
    flex-shrink: 0;
	display:inline-block;
    width: var(--bs-accordion-btn-icon-width);
    height: var(--bs-accordion-btn-icon-width);
    margin-left: auto;
	margin-bottom: -5px;
    content: "";
    background-image: var(--bs-accordion-btn-icon);
    background-repeat: no-repeat;
    background-size: var(--bs-accordion-btn-icon-width);
    transition: var(--bs-accordion-btn-icon-transition);
}

.accordion-toggler:not(.collapsed)::before {
  /*  background-image: var(--bs-accordion-btn-active-icon);*/
    transform: var(--bs-accordion-btn-icon-transform);
}

span[data-bs-toggle="collapse"] {cursor:pointer;}


.accordion-button span:first-child {margin-right:auto;}

.accordion-button::after,
.accordion-button:disabled [data-bs-toggle="collapse"]::before {display:none;}

.eintragP {
    background: #e5e5e5;
    margin-bottom: 0.2rem;
    padding: .3rem;
    border-radius: 0.3rem;
	position: relative;
	
	& a {
	    position: absolute;
	    right: 0.3rem;
	    top: 0.3rem;
	}
	&.editmode a {display:none;}
	&:not(.editmode) {white-space:pre-line;}
	& .text-white {color:black!important;}
}

.pinned {
	background: #fea;
	&::before {
    content: '\F4EC';
    font-family: 'bootstrap-icons';
    color: var(--rot);
    font-size: 1.7rem;
    line-height: 1;
    display: inline-block;
    transform: rotate(327deg);
    transform-origin: 50% 100%;
    margin: -1rem -.6rem 0 0;
	}
}

.userP {
    font-weight: bold;
}


.big-badges {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
.big-badges .badge {
    --bs-badge-padding-x: 0.1rem;
    --bs-badge-padding-y: 0.5rem;
    --bs-badge-font-size: 1rem;
    --bs-badge-font-weight: 300;
    width: calc(33% - .2rem);
    min-width: 14rem;
}


.card-text {
    margin: 0;
}


.hidden-edit-form:not(.edit-mode) form,
.hidden-edit-form.edit-mode > :not(form) {display:none;}

.hidden-edit-form .bi-pencil {cursor:pointer;}

.hidden-edit-form .visible-text {white-space: pre-line;}

/****************************************************************/



.form-switch input:checked+label span:last-child, .form-switch input:not(:checked)+label span:first-child {
    display: none;
}

input.suche {
	transition:width .5s, background-color .5s;
}
/*
input.suche:not(:focus) {
	background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='black'%3e%3cpath d='M11.742 10.344a6.5 6.5 0 1 0-1.397 1.398h-.001q.044.06.098.115l3.85 3.85a1 1 0 0 0 1.415-1.414l-3.85-3.85a1 1 0 0 0-.115-.1zM12 6.5a5.5 5.5 0 1 1-11 0 5.5 5.5 0 0 1 11 0'/%3e%3c/svg%3e");
	background-repeat:no-repeat;
    background-position: 94% center;
    background-size: auto 50%;
}
*/
.lupe,
input.suche:not(:focus) {
	background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='white'%3e%3cpath d='M11.742 10.344a6.5 6.5 0 1 0-1.397 1.398h-.001q.044.06.098.115l3.85 3.85a1 1 0 0 0 1.415-1.414l-3.85-3.85a1 1 0 0 0-.115-.1zM12 6.5a5.5 5.5 0 1 1-11 0 5.5 5.5 0 0 1 11 0'/%3e%3c/svg%3e");
    background-repeat: no-repeat;
    background-size: 1.2rem;
    background-position: 98% center;
}
input.suche:not(:focus) {
    background-color: transparent;
    background-position: right center;
    width: 1rem;
}

.lupe,
.navbar input.suche:not(:focus) {
	background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='black'%3e%3cpath d='M11.742 10.344a6.5 6.5 0 1 0-1.397 1.398h-.001q.044.06.098.115l3.85 3.85a1 1 0 0 0 1.415-1.414l-3.85-3.85a1 1 0 0 0-.115-.1zM12 6.5a5.5 5.5 0 1 1-11 0 5.5 5.5 0 0 1 11 0'/%3e%3c/svg%3e");
}



/****************************************************************/

.table {margin-bottom:0;}

table.sortable th {white-space:nowrap;cursor:ns-resize;}

table th[aria-sort="ascending"],
table th[aria-sort="descending"] {background:black;position:relative;}

table th[aria-sort="ascending"]::after,
table th[aria-sort="descending"]::after {
	content: '';
    border-style: solid;
    border-width: .5rem .4rem 0;
    border-color: white transparent transparent;
    position: absolute;
    right: .5rem;
    top: 50%;
    transform: translateY(-50%);
}
table th[aria-sort="ascending"]::after {transform:translateY(-50%) rotate(180deg);}

table td button .bi {
    font-size: 1.2rem;
    vertical-align: sub;
    line-height: 1;
}

table tr:has(td[data-sort="100"]) td {
    background: #e0ffa3 !important;
}

.column_selector thead::after {
    position: absolute;
	cursor:pointer;
    right: 0;
    top: 0;
    height: 2.3rem;
    background: black;
    width: 2rem;
    transform: translateX(100%);
    text-align: center;
    align-content: center;
    border-radius: 0 1rem 1rem 0;
	content: "\f3e3";
	display: inline-block;
    font-family: bootstrap-icons !important;
    font-style: normal;
    font-weight: 400 !important;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    vertical-align: -.125em;
    -webkit-font-smoothing: antialiased;
}

table {
	&.hidecol-1 :is(th,td):nth-child(1),
	&.hidecol-2 :is(th,td):nth-child(2),
	&.hidecol-3 :is(th,td):nth-child(3),
	&.hidecol-4 :is(th,td):nth-child(4),
	&.hidecol-5 :is(th,td):nth-child(5),
	&.hidecol-6 :is(th,td):nth-child(6),
	&.hidecol-7 :is(th,td):nth-child(7),
	&.hidecol-8 :is(th,td):nth-child(8),
	&.hidecol-9 :is(th,td):nth-child(9),
	&.hidecol-10 :is(th,td):nth-child(10),
	&.hidecol-11 :is(th,td):nth-child(11),
	&.hidecol-12 :is(th,td):nth-child(12),
	&.hidecol-13 :is(th,td):nth-child(13),
	&.hidecol-14 :is(th,td):nth-child(14),
	&.hidecol-15 :is(th,td):nth-child(15),
	&.hidecol-16 :is(th,td):nth-child(16),
	&.hidecol-17 :is(th,td):nth-child(17),
	&.hidecol-18 :is(th,td):nth-child(18),
	&.hidecol-19 :is(th,td):nth-child(19),
	&.hidecol-20 :is(th,td):nth-child(20),
	&.hidecol-21 :is(th,td):nth-child(21),
	&.hidecol-22 :is(th,td):nth-child(22),
	&.hidecol-23 :is(th,td):nth-child(23),
	&.hidecol-24 :is(th,td):nth-child(24),
	&.hidecol-25 :is(th,td):nth-child(25),
	&.hidecol-26 :is(th,td):nth-child(26),
	&.hidecol-27 :is(th,td):nth-child(27),
	&.hidecol-28 :is(th,td):nth-child(28),
	&.hidecol-29 :is(th,td):nth-child(29) { display:none; }



	&.hide-100 tbody tr:nth-child(n+101),
	&.hide-500 tbody tr:nth-child(n+501),
	&.hide-1000 tbody tr:nth-child(n+1001),
	&.hide-1500 tbody tr:nth-child(n+1501),
	&.hide-2000 tbody tr:nth-child(n+2001),
	&.hide-2500 tbody tr:nth-child(n+2501),
	&.hide-3000 tbody tr:nth-child(n+3001),
	&.hide-3500 tbody tr:nth-child(n+3501),
	&.hide-4000 tbody tr:nth-child(n+4001),
	&.hide-4500 tbody tr:nth-child(n+4501),
	&.hide-5000 tbody tr:nth-child(n+5001),
	&.hide-5500 tbody tr:nth-child(n+5501),
	&.hide-6000 tbody tr:nth-child(n+6001),
	&.hide-6500 tbody tr:nth-child(n+6501),
	&.hide-7000 tbody tr:nth-child(n+7001),
	&.hide-7500 tbody tr:nth-child(n+7501),
	&.hide-8000 tbody tr:nth-child(n+8001),
	&.hide-8500 tbody tr:nth-child(n+8501),
	&.hide-9000 tbody tr:nth-child(n+9001),
	&.hide-9500 tbody tr:nth-child(n+9501),
	&.hide-10000 tbody tr:nth-child(n+10001) { display:none;}



}	



*:has(+ .display-toggle) {
	cursor:pointer;
	user-select:none;
	&::before {
    content: '';
    display: inline-block;
    border-style: solid;
    border-width: 0.3rem 0 0.3rem .5rem;
    border-color: transparent transparent transparent white;
    margin-right: .5rem;
	transform:rotate(90deg);
	}
	&:has(+ .d-none)::before {transform:rotate(0deg);}
}
.display-toggle {	user-select:none;}

/****************************************************************/


.mini-cal {
    width: 100%;
    color: black;
    max-width: 27rem;
    position: relative;
    display: block;
    background: white;
    box-shadow: 0 2px 3px -3px inset;
}

.mini-cal-strip {
    overflow: hidden;
    display: block;
	max-width:100%;
}

.mini-cal-strip > span {
	width:180rem;
	position:relative;
	display:block;
	height:1.3rem;
}

.mini-cal-strip > span::after {
	content:'';
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
	background-image: url(/public/images/gridline.svg);
    z-index: 0;
    opacity: .1;
}


.mini-cal-strip > span > span {
    position: absolute;
    height: 100%;
    text-transform: uppercase;
    font-size: 1.9rem;
    line-height: 0.75;
    overflow: hidden;
    color: rgba(0, 0, 0, 0.15);
    font-weight: 600;
	border-left: 2px dotted black;
}
.mini-cal-strip > span > span:first-child {
    text-align: center;
}

/*.mini-cal-strip > span > span:not(.absence):nth-child(odd) {
    background: rgba(0, 0, 0, 0.07);
}*/
.mini-cal .absence {
    opacity: 0.66;
    z-index: 1;
    background-blend-mode: multiply;
    font-weight: 600;
    filter: saturate(1.5);
    display: flex;
    justify-content: space-between;
    font-size: 0.8rem;
    letter-spacing: -0.02rem;
    color: black;
    line-height: 1.7;
    padding: 0 .1rem;
	border:0;
}


.mini-cal .bi {
    position: absolute;
    opacity: .4;
    z-index: 11;
    top: 50%;
    transform: translateY(-50%);
    line-height: 0;
    left: 3px;
    cursor: pointer;
}

.mini-cal .bi:last-child {
    right: 3px;
    transform: translateY(-50%) rotate(180deg);
    left: auto;
}

.mini-cal:not(:hover) .bi {display:none;}


.map-container {
	z-index:171;position:sticky;bottom:0;left:0;right:0;width:100%;
	height:33vh;
	max-height:66vh!important;
	border-top:3px solid #000;background:#333;
}

.handle {
	background:#333;
	cursor: grab;
	height: 1.5rem;
	position: absolute;
	top: -1.5rem;
	line-height: 1.5rem;
	color: white;
	text-align: center;
	right: 1rem;
	width: 6rem;
	border-radius: .5rem .5rem 0 0;
	user-select: none;
}



/****************************************************************/

.calendar.week {
	height: calc(100vh - 5rem);
	--daycol-width:calc((100vw - 3rem) / 7);
}

.Samstag, .Sonntag {background:rgba(0,0,0,0.3); color:#aaa;border-radius:0!important;}

.jahr {
    font-size: 9.8rem;
    position: absolute;
    z-index: 0;
    opacity: .1;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
}

.calendar.week h3:not(:first-child),
.calendar.week .day-col {
	min-width:var(--daycol-width);
	border-radius:.4rem;
}
.day-col {
	border-right:1px dotted rgba(255,255,255,0.2);
}


.horizontal-scoll {
	position:relative;
	overflow-x:auto;
	max-width:100vw;
}

.horizontal-scoll > div {
width:calc(7 * var(--daycol-width));
}

.calendar h1 .btn-group .btn {
	font-size:inherit;
	color:inherit;
}
.btn-outline-primary {
    --bs-btn-bg: rgba(255, 255, 255, 0.06);
    --bs-btn-hover-bg: rgba(255, 255, 255, 0.14);
    --bs-btn-active-bg: rgba(255, 255, 255, 0.3);
}
.calendar .dropdown-toggle::after {vertical-align: middle;font-size: 1rem;}

.calendar h3 {
	padding:.2rem;
	position:relative;
	z-index:10;
	margin:0;
	user-select:none;
}

.calendar .legend {
	min-width:3rem;
	max-width:3rem;
	z-index:10;
	/*background:rgba(0,0,0,0.2);*/
	position:sticky;
	line-height:1.1;
	left:0;
}

.calendar h3.legend {
	text-align:center;
	color:white;
	opacity:.5;
	background:transparent;
}

.fullday_events {
    display: block;
    font-size: 1rem;
	user-select:none;
	
}
.fullday_events .badge {
	max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
}

.fullday_events.showall > .bi,
.fullday_events:not(.showall) > .bi:last-child,
.fullday_events:not(.showall) .bg-danger {
    display: none;
}
.fullday_events.showall > .bi:last-child {display:inline-block;}

.fullday_events > .bi {
	color:#777;
	cursor:pointer;
    margin: 2px 0 0 0;
    vertical-align: top;
    display: inline-block;
}
.calendar h3 > .bi:hover,
.fullday_events > .bi:hover {color:var(--rot);}

h3.Montag::before,
.mday01::before {
	content:attr(data-monat);
	position:absolute;
	top:0;
	font-weight:400;
	font-size:0.9rem;
	transform:translateY(-100%);
}


.prev, .next {
    position: absolute;
    left: 1rem;
    font-size: 2rem;
    line-height: 1.3;
	z-index:11;
}
.next {
    left: auto;
    right: 1rem;
}

.day-container {
	line-height:1.1;
	position:relative;
	flex-grow:1;
}

.day-container.showGhost::after {
    position: absolute;
    content: '';
    border: 1px dotted #ccc;
    width: 100%;
    top:var(--ghostTop);
    bottom:var(--ghostBottom);
    border-radius: .45rem;
}


.cal-item {
position:absolute;
width:94%;
left:1%;
z-index:1;
transition:transform .3s,box-shadow .3s;
}
.cal-item > div {
border-bottom: 1px solid #222;
border-radius:.25rem;
padding:4px;
background-image:linear-gradient(rgba(0,0,0,0), rgba(0,0,0,0.3));
background-color:#888;
color:white;
cursor:pointer;
z-index:1;
overflow:hidden;
position:absolute;
top:0;left:0;right:0;bottom:0;
}
.cal-item:hover {
	outline:1px solid rgba(255,255,255,0.2);
}
.cal-item.overlap {
    transform: translateX(2px);
}
.cal-item.overlap+.cal-item.overlap {
    transform: translateX(4px);
}
.day-container:hover .cal-item.overlap {
    transform: translateX(20px);
	box-shadow:0 0.4rem 1rem -.3rem rgba(0,0,0,0.6);
	z-index:3;
}
.day-container:hover .cal-item.overlap+.cal-item.overlap {
    transform: translateX(40px);
}
.day-container:hover .cal-item.overlap+.cal-item.overlap+.cal-item.overlap {
    transform: translateX(60px);
}

.cal-item.overflow::after {
    content: '\F132';
    position: absolute;
    font-family: bootstrap-icons !important;
    bottom: 0;
    right: 0.2rem;
}


.cal-item::before {
    position: absolute;
	z-index:-1;
    background: black;
    border-radius: var(--bs-border-radius) var(--bs-border-radius) 0 0;
    height: calc(100% * var(--vorlauf) + 2px);
    content: "Losfahren um " attr(data-vorlauf-zeit) " Uhr";
	font-size:0.8rem;
	padding-top:2px;
	/*
	content: "\f7E0";
    font-family: 'bootstrap-icons';
    font-size: 1.5rem;
    align-content: center;
	*/
    left: 5px;
    top: 2px;
    transform: translateY(-100%);
    text-align: center;
    opacity: .3;
    right: 5px;
}

/*.day-container > *:not(:hover) {opacity:0.6;z-index:0;}*/

.hour-marker {
	position:absolute;
	width:100%;
	text-align:right;
	padding-right:.5rem;
	padding-top:.2rem;
	user-select:none;
}

.hour-grid {
    position: sticky;
	left:0;
}
.hour-grid div {position:absolute;}
.hour-grid div::after {
	content:'';
	position:absolute;
	width:100vw;
	height:1px;
	left:0;
	background:rgba(255,255,255,0.1);
	top:0;
}


.current-time {
    border-top: 1px dotted red;
    position: absolute;
    width: 100%;
    opacity: 1!important;
	z-index:2;
}
.current-time::before,
.current-time::after {
    position: absolute;
    height: 7px;
    width: 7px;
    content: '';
    background: red;
    border-radius: 50%;
    transform: translate(-50%, -50%);
    left: -1px;
}
.current-time::after {
right: -1px;
left:auto;
transform: translate(50%, -50%);
}

.suntime {
	position:absolute;background:rgba(120,200,255,0.1);width:100%;left:0;color:#ffcc00;z-index:0;
}
.suntime i {
	position:absolute;
	left:.2rem;
	transform:translateY(-90%);
}
.suntime i+i {
	bottom:0;
	color:#ccc;
	transform:translateY(110%);
}


@media screen and (max-width:991px) {
	.calendar.week {
		--daycol-width:calc(100vw - 3rem);
	}

}


/****************************************************************/



#general_functions {
	position:fixed;
	top:5rem;
	right:0;
	z-index:300;
    border: 2px solid white;
    border-right: 0;
    border-radius: 2rem 0 0 2rem;
	display:flex;
	flex-direction:column;
	background: rgba(0, 0, 0, 0.2);
}
#general_functions form {
	display:flex;
	flex-direction:column;
}
#general_functions * {color:white;font-size:2rem;}
#general_functions .bg-white * {color:black;}

#general_functions > .btn:first-child {border-radius:1.8rem 0 0 0;padding-top:.5rem;}
#general_functions .btn {border-radius:0;padding:.2rem .8rem .2rem 1rem;border-bottom: 2px solid white;margin-top: -.01rem;}
#general_functions .btn:last-child {border-bottom:0;border-radius: 0 0 0 1.8rem;}

.wiedervorlage .bi+.bi {
    position: absolute;
    transform: translateX(-100%);
}

.sleep-icon {background:url(images/sleep-icon-w.svg);display:inline-block;height:1em;width:1em;    vertical-align: sub;}
#general_functions .bg-white .sleep-icon,
td .sleep-icon,
.card .sleep-icon {background:url(images/sleep-icon-b.svg);}

/****************************************************************/




.upload {width:0;height:0;}
.upload input[type="file"] {opacity:0;position:absolute;left:-999em;cursor:copy;}
.dragenter .upload input[type="file"] {width:100%;height:100%;top:0;left:0;}
.dragenter .upload label {
    position: fixed;
    z-index: 1111;
    height: 100vh;
    width: 100vw;
    background: rgba(0,0,0,0.3);
    border: 0.3rem dashed #99cc00;
    bottom: 0;
    left: 0;
	&::before {
    content: 'Datei hierhin ziehen';
    color: white;
    font-size: 3rem;
    height: 100vh;
    width: 100vw;
    display: flex;
    justify-content: center;
    align-items: center;
	position:absolute;
	z-index:0;
}
}

.dragenter .widget .upload label {
    position: absolute;
    z-index: 11;
    height: 100%;
    width: 100%;
	&::before {
		height:auto;
		width:100%;
	}
}



progress {display:none;}
.dragenter progress {
    display: block;
    position: fixed;
    left: calc(50% - 7rem);
    top: calc(50% + 4rem);
    width: 14rem;
    height: 2rem;
}


/****************************************************************/


input[Placeholder="Suche"] + .dropdown-menu {
	
	li:nth-child(even) > a {
	    background: #fafafa;
	}
	
    .selected > a {
		background: var(--blau) !important;
		color: white;
    }

	.dropdown-item {
	    display: grid;
	    grid-template-columns: 1fr 1fr;
	    white-space: nowrap;
	    padding: 0;
		
		&[href^="/kunden"] {
		    grid-template-columns: 2fr 1fr 1fr;
		}
		
		span {
		    overflow: hidden;
		    text-overflow: ellipsis;
		    padding: .1rem .6rem;
			border-left:1px solid #ccc;

			&:first-child {
				border-left:0;
			}
		}
		
	}

}


#mu_btn.dropdown-toggle {
	position:relative;
	overflow:hidden;
	text-overflow:ellipsis;
	padding-right:1.2rem;
	&::after {
    position: absolute;
    top: 50%;
    right: .5rem;
}
}

/****************************************************************/


.filebrowser {
	list-style:none;
	padding: .2rem 0 0 1.9rem;
	margin:0;
	& ul { list-style:none;width:100%;padding-left: 1.5rem;}
	& li {
		display:flex;
		flex-wrap:wrap;
        border-top: 1px dotted #eee;
	
	
		& > span { padding:1px 6px;}
		& > span:nth-child(2) { width:8rem;margin-left:auto;text-align:right; }
		& > span:nth-child(3) { width:5.5rem;text-align:right; }
		& > span:nth-child(4) { width:4rem;text-align:right; }
	}
	& > li:first-child { border-top:0;}
	& b {
		user-select:none;
	    display: inline-block;
	    cursor: pointer;
	    font-weight: 600;
	}
    & b::before {
        content: '';
        display: block;
        height: 1.4rem;
        position: absolute;
        width: 2rem;
		z-index:3;
        margin-left: -2.4rem;
    }

	& .folder {
		position:relative;
		
		
		&::before,
		&::after {
		            position: absolute;
		            color: #b4d1fe;
		            content: "\f3D1";
		            font-family: bootstrap-icons !important;
		            left: -1.5rem;
		            z-index: 1;
		            font-size: 1.2rem;
		            line-height: 1.2;
		        }
		&::after {
			content: "\F229";
			z-index: 2;
			color: black;
			font-size: .7rem;
			transition: transform .25s;
			margin: .4rem .25rem;
			transform-origin: 50% 39%;
		}
	    &:not(.open)::after { transform: rotate(-90deg);}
		&.open::before { color:#75aafd;}
	}
    
	
	& li:not(.folder) {
		
		&:nth-child(even) { background: rgba(0, 0, 0, 0.05); }
		&:hover { background: rgba(0, 0, 0, 0.08);}

		& a .bi {
			position: absolute;
			margin-left: -1.8rem;
		}
	}
	
	& li:not(.open) > ul {
	    display: none;
	}

}



.spinner-border {
  --bs-spinner-width: 1rem;
  --bs-spinner-height: 1rem;
  --bs-spinner-border-width: 0.2em;
  --bs-spinner-animation-speed: 0.5s;
  color: #ccc;
}


.hilfe {
    position: fixed;
    bottom: .1rem;
    left: .4rem;
    color: white;
	z-index:2000;
	text-shadow:0 0 2px black;
}

.ratio>figcaption {
    position: static;
    text-align: center;
    color: white;
    transform: translateY(100%);
}

/****************************************************************/
/****************************************************************/
/*
@media (prefers-color-scheme: light) {
	
	body {
		background-color:white;
		background-image:linear-gradient(#aaa 1%, #fff 17%);
	}
	
.text-white:not([data-bs-theme="dark"]) {color:#456!important;}

.text-white a.btn-success {color:white;}

.nav.nav-pills {
    --bs-nav-pills-link-active-color: white;
    --bs-nav-link-color: #555;
}

.day-col {
    border-right: 1px dotted rgba(0, 0, 0, 0.2);
}
.hour-grid div::after {
    background: rgba(0, 0, 0, 0.1);
}

.projekt-text[data-title] {
    background: rgba(200, 200, 200, 0.3);
}

#general_functions {
    border-width: 0;
    background: linear-gradient(-90deg, #aaa, #ddd);
    box-shadow: 0 0 1rem -.8rem;
	.btn {border-bottom: 2px groove #fff;}
}

.modal-dialog {
    filter: drop-shadow(0px 0px 600px black);
}

.btn-secondary {
    --bs-btn-color: #fff;
    --bs-btn-bg: rgba(0,0,0,0.1);
    --bs-btn-hover-bg: #ffffff;
    --bs-btn-hover-color: black;
	border:0;
}

.lupe, input.suche:not(:focus) {
	background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='black'%3e%3cpath d='M11.742 10.344a6.5 6.5 0 1 0-1.397 1.398h-.001q.044.06.098.115l3.85 3.85a1 1 0 0 0 1.415-1.414l-3.85-3.85a1 1 0 0 0-.115-.1zM12 6.5a5.5 5.5 0 1 1-11 0 5.5 5.5 0 0 1 11 0'/%3e%3c/svg%3e");
}

.handle {
    background: transparent;
    color: #666;
    box-shadow: 0 0.2rem .5rem -.4rem inset;
}

.tab-pane .card {
    border: 1px solid #aaa;
}


}
*/

/****************************************************************/
/****************************************************************/

@media screen and (max-width:1291px) {

	.grid-3,.grid-4,
	.body > #tickets,#tickets {
	    grid-template-columns: 1fr 1fr;
	}

}

@media screen and (max-width:991px) {

	.grid-2,.grid-3,.grid-4,
	.body > #tickets,#tickets {
	    grid-template-columns: 1fr;
	}

}
