/* styles.css /*
/* Simon Rüfenacht /*

/* Importe */
/* ------------------------------------------------------------------*/
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans:ital,wght@0,400;0,700;1,400;1,700&display=swap');
@import url("//assets.svsumiswald.ch/bootstrap/latest/css/bootstrap.min.css");
@import url("//assets.svsumiswald.ch/bootstrap-icons/latest/bootstrap-icons.css");
@import url("//assets.svsumiswald.ch/bootstrap-datepicker/latest/css/bootstrap-datepicker3.min.css");
@import url("//assets.svsumiswald.ch/bootstrap-select/latest/css/bootstrap-select.min.css");
@import url("//assets.svsumiswald.ch/bootstrap-table/latest/bootstrap-table.min.css");
@import url("//assets.svsumiswald.ch/summernote/latest/summernote-lite.min.css");
@import url("//assets.svsumiswald.ch/fancybox/latest/fancybox.css");
@import url("//assets.svsumiswald.ch/dropzone/latest/dropzone.css");

/* Root */
/* ------------------------------------------------------------------*/
:root{
	--primary: #2DB36E;
    --primary-rgb: 45,179,110;
    --primary-rgb-p: 45 179 110;
	--primary-akzent: #248F58;
	--secondary: #ccae62;
	--secondary-rgb: 204,174,98;
	--grey: #6a6a6a;
	--lightgrey: #f6f7f9;
	--border-grey:#eff2f5;
	--stripe: #f6f7f9;	
	--gray100: #F7FAFC;
    --gray200: #EDF2F7;
    --gray300: #E2E8F0;
    --gray400: #CBD5E0;
    --gray500: #A0AEC0;
    --gray600: #718096;
    --gray700: #4A5568;
    --gray800: #3f4254;
    --gray900: #1A202C;
	--text-muted: #a1a5b7;
	--bs-body-font-family: "Noto Sans",sans-serif;
	--bs-font-sans-serif: 'Noto Sans';
	--bs-body-color: #57667E;
    --bs-body-font-size: 14px;
	
}
body {
    -webkit-text-size-adjust: 100%;
    -webkit-tap-highlight-color: rgba(0,0,0,0);
    font-weight: 400;
    line-height: 1.5;
    margin: 0;
    background: #EDF2F7;
}

a,
a:hover,
a:focus {
    color: inherit;
    text-decoration: none;
    transition: all 0.3s;
}
/* Anpassungen */
.form-select:focus,
.form-control:focus,
.form-check-input:focus,
.form-select.active{
    border-color: var(--gray500);
    outline: 0;
    box-shadow: 0 0 0 0.25rem rgb(var(--primary-rgb-p) / 10%);
}
.dropdown-item.active, .dropdown-item:active {
    color: var(--primary);
    text-decoration: none;
    background-color: #e9ecef !important;
}
.border-bottom-1 {
    border-bottom: 1px solid #eff2f5;
}
.text-muted {
	color: var(--text-muted);
}
.w-25p{
	width:25px !important;
}
.w-30p{
	width:30px !important;
}
.w-40p{
	width:40px;
}
.w-50p{
	width:50px;
}
.w-60p{
	width:60px;
}
.w-75p{
	width:75px;
}
.w-100p{
	width:100px;
}
.w-120p{
	width:120px;
}
.w-150p{
	width:150px;
}
.w-200p{
	width:200px;
}
.w-250p{
	width:250px;
}
.w-300p{
	width:300px;
}
.text-90{
	font-size:0.9rem !important;
}
.text-80{
	font-size:0.875rem !important;
}
.text-sm{
	font-size:0.75rem !important;
}
.text-xs{
	font-size:0.65rem !important;
}

/* Dividers */
.divider{
	margin:0.75rem 0;
	content:"";
	height:1px;
	background-color: var(--border-grey);
}
/* Layout */
/* ------------------------------------------------------------------*/

/* Wrapper */
#wrapper {
    display: flex;
    width: 100%;
    align-items: stretch;
}

/* Sidebar */
#sidebar{
    min-width: 240px;
    max-width: 240px;
    background: #1f1d26;
    color: #fff;
    transition: all 0.1s;
}
#sidebar.active {
    margin-left: -250px;
}
#sidebar .sidebar-header {
	padding:0.75rem 1.25rem;
    background: rgba(255,255,255,0.1);	
	margin-bottom:1rem;
}
#sidebar ul.nav-items {
    padding: 0 0.5rem;
	margin:0;
}
#sidebar ul li{
	position:relative;
}
#sidebar ul li.list-heading {
    padding: 1rem 0.75rem 0.25rem 0.75rem;
	color: rgba(249,249,249,0.30);
    font-size: 10px;
    font-weight: 500;
    text-transform: uppercase;
}
#sidebar ul li.list-heading:first-child{
	padding-top:0.25rem;;
}
#sidebar .sidebar-header img.logo{
    width:38px;
	margin-right:1rem;
	border-radius:8px;
}
#sidebar .sidebar-header .slogan{
	font-family: 'Consolas';
}

#sidebar ul li a {
    padding: 0.375rem 0.75rem;
    display: block;
	color: rgba(249,249,249,0.60);
	margin-bottom:1px;
	align-items: center!important;

}
#sidebar ul li a:hover,
#sidebar ul li.active a,
#sidebar ul li.active a:active,
#sidebar ul li.active a:visited{
    color: #fff;
    background: rgba(255,255,255,0.1);
	border-radius:8px;
}

/* Collapsed */
#sidebar.collapsed{
    min-width: 64px;
    max-width: 64px;
}
#sidebar.collapsed .sidebar-header {
	justify-content: center!important;
}

#sidebar.collapsed .nav-label{
	position:absolute;
	top:3px;
	left:60px;
	visibility:hidden;
    color: #fff;
    background: rgba(0,0,0,0.75);
	border-radius:8px;
    padding: 0.5rem 0.75rem;
	z-index:10;
}
#sidebar ul li:hover .nav-label{
	visibility:visible;
}
#sidebar.collapsed .nav-icon{
	margin:0 !important;
	font-size:1.125rem;
}
#sidebar.collapsed ul li{
	text-align:center;
}
#sidebar.collapsed ul li.list-heading{
	display:none;
}
#sidebar.collapsed .sidebar-header{
	padding-left:1rem;
}
#sidebar.collapsed .sidebar-header img{
    width:32px;
	margin:0;
}
#sidebar.collapsed .sidebar-header .slogan{
    display:none;
}
/* Header -----------------------------------------------------------*/
header.header{
	background-color:#fff;
	border-bottom:1px solid var(--bs-gray-300);
	padding:1rem 1.5rem;
}
.collapse-icon{
	font-size:1.125rem;
	cursor:pointer;
	color: var(--text-muted);
}
.collapse-icon:hover svg{
	color: var(--primary);
}
.collapse-icon .open-icon{
	display:none;
}

/* Content / Header */
#page{
    width: 100%;
    min-height: 100vh;
    transition: all 0.3s;
}
#page .content{
	padding:1.5rem;
}
.toolbar{
	margin-bottom:1.25rem;
}


/* Filter-Heaer */
.content-header{
	padding:1.5rem 1.5rem 0 1.5rem;
}
.content-header h1{
	font-size:1.75rem;
	color: var(--primary);
	margin:0;
	padding:0;
}

/* Intro */

.intro{
	margin-bottom:1rem;
}
.intro .breadcrumb{
	color: var(--gray500);
	font-size:0.8125rem;
	--bs-breadcrumb-margin-bottom:0 !important;
	--bs-breadcrumb-item-padding-x: 0.375rem;
}


.breadcrumb-item+.breadcrumb-item::before {
    content: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8'%3E%3Cpath d='M2.5 0L1 1.5 3.5 4 1 6.5 2.5 8l4-4-4-4z' fill='%23a1a5b7'/%3E%3C/svg%3E");;
}

.intro .title{
	font-weight:600;
	font-size:1.5rem;
	line-height:1.2;
}

/* Login */
/* ------------------------------------------------------------------*/
.container-fluid.login{
	max-width:500px;
	margin-top:25vh;
}
.container-fluid .card-header{
	background-color: #fff;
	border-bottom:0;
	padding:1rem;
	border-radius:0.5rem;
}
.container-fluid.login .card-title{
	font-weight:600;
}
.container-fluid.login .logo{
	border-radius:50%;
	border:10px solid white;
	position:absolute;
	top:-110px;
	left:calc(50% - 60px);
	width:120px;
}
.logo img{
	width:100px;
}

/* Headings */
/* ------------------------------------------------------------------*/
.heading h1,.heading h2{
	margin:0;
	padding:0;
}
.heading{
	margin-bottom:1.5rem;
}
.heading h1{
	font-size: 1.5rem;
	font-weight:600;
}
.heading div.sub{
	color: var(--gray500);
	font-size:0.8125rem;
	letter-spacing:normal;
}
.heading div.sub a,
.heading div.sub a:active,
.heading div.sub a:visited{
	color: var(--gray600);
}
.heading div.sub a:hover{
	color: var(--primary);
}
.heading .bi-head{
	font-size:1.5rem;
	color: var(--primary);
}

h1{
	font-size:2.5rem;
	font-weight:500;
}
h3{
	font-size:1.5rem;
	margin-bottom:1rem;
}
h4{
	font-size:1rem;
	margin-bottom:0.75rem;
	font-weight:bold;
	padding-bottom:0.5rem;
	border-bottom:1px solid var(--gray300);
}
h5{
	font-size:1.125rem;
}
h6{
	padding:0;
	margin:0;
	margin-top:0.5rem;
	margin-bottom:1rem;
	font-size:1rem;
}

/* Forms / Buttons */
/* ------------------------------------------------------------------*/

/* Buttons */
.btn{
	--bs-btn-border-radius: 0.375rem;
}
.btn-nf:focus,
.btn-nf:checked,
.btn-nf:active{
    outline: 0 !important;
	box-shadow:none !important;
}
.btn-primary{
    color: #fff;
    background-color: var(--primary);
    border-color: var(--primary);
}
.btn-primary:hover {
    color: #fff;
    background-color: var(--primary-akzent);
    border-color: var(--primary-akzent);
}
.btn-check:focus+.btn-primary, .btn-primary:focus {
    color: #fff;
    background-color: var(--primary-akzent);
    border-color: var(--primary-akzent);
	box-shadow: 0 0 0 0.25rem rgb(var(--primary-rgb-p) / 25%);
}
.btn-check:active+.btn-primary, .btn-check:checked+.btn-primary, .btn-primary.active, .btn-primary:active, .show>.btn-primary.dropdown-toggle{
    color: #fff;
    background-color: var(--primary-akzent);
    border-color: var(--primary-akzent)	
}
.btn-check:active+.btn-primary:focus, .btn-check:checked+.btn-primary:focus, .btn-primary.active:focus, .btn-primary:active:focus, .show>.btn-primary.dropdown-toggle:focus {
    box-shadow: 0 0 0 0.25rem rgb(var(--primary-rgb-p) / 25%);
}
.btn-light.btn-tp{
    border-color: transparent;
	background-color: rgba(255,255,255,0.1);
	color:#e5e5e5;
}
.btn-light.btn-tp:hover {    
	background-color: rgba(255,255,255,0.2);
	color:#fff;
}
.btn-light.btn-border{
	border-color: var(--gray300);
}
.btn-light.active{
    color: #fff;
    background-color: var(--primary);
    border-color: var(--primary);
}
.tags .btn-light:hover{
    color: #fff;
    background-color: var(--primary-akzent);
    border-color: var(--primary-akzent);
}
.toolbar .btn-light.active, .btn-light:active{
    box-shadow: 0 0 0 0.25rem rgb(var(--primary-rgb-p) / 15%);
}


.btn-link {
    --bs-btn-color: var(--text-muted);
    --bs-btn-border-color: transparent;
    --bs-btn-hover-color: var(--bs-gray-700);
    --bs-btn-active-color: var(--bs-gray-700);
    --bs-btn-hover-border-color: var(--bs-gray-400);
	--bs-btn-active-border-color: var(--bs-gray-400);

	text-decoration:none;
}
.btn-link:hover{
	background-color: var(--bs-gray-200);
}


/* Forms */
.form-label{
	font-size:0.75rem;
	margin-bottom:0.25rem;
}
.toolbar .form-control,
.toolbar .form-select{	
	border-radius:0.375rem;
}
fieldset{
	padding-bottom:.5rem;
	margin-bottom:1rem;
	border-bottom:1px solid var(--border-grey);
}
fieldset legend{
	font-size:0.9rem;
	font-weight:600;
	margin-bottom:0.375rem;
}

.form-select-sm {
    min-height: calc(1.5em + .5rem + 2px);
}
.form-text{
	margin-top:0.5rem;
}

.form-check-input:checked {
    background-color: var(--primary);
    border-color: var(--primary);
}

.help-block{
	display:inline-block;
	margin-top:.5rem;
}
.form-error{
	font-size:0.75rem;
	color: var(--bs-danger);
}
.form-control.error{
    box-shadow: 0 0 0 0.25rem rgb(var(--primary-rgb-p) / 10%);
}

/* Badges */

/* Tables */
/* ------------------------------------------------------------------*/
.table .btn-toolbar .btn-group-sm>.btn{
	font-size:0.75rem !important;
}
.table .btn-toolbar .btn-light{
	border-color: var(--gray300);
}
.table .btn-toolbar .edit:hover{
	color: var(--bs-success);
}
.table .btn-toolbar .delete:hover{
	color: var(--bs-danger);
}
.table td.name{
	line-height:1.25rem;
}
.table th{
	border-bottom:1px solid var(--border-grey);
	padding-bottom:0.5rem !important;
}
.table td{
	vertical-align:middle;
}

/* Reorder */
/* ------------------------------------------------------------------*/
.reorder-handle{
	cursor:move;
	width:30px;
	padding-left:0.25rem;
}
.ui-sortable-helper {
    display: table;
	width:80%;
}
.ui-state-highlight {
	background-color: var(--gray400); 
	width:100%;
}


/* Dashboard */
/* ------------------------------------------------------------------*/
.api-item{
	border-bottom:1px solid var(--border-grey);
	padding-bottom:0.75rem;
	margin-bottom:0.75rem;
}
.quick-item{
	border-bottom:1px solid var(--border-grey);
	padding:0.75rem 1rem;
}
.quick-item:hover{
	background-color: var(--lightgrey);
}
.quick-item a,
.quick-item a:active,
.quick-item a:visited{
	color: var(--primary);
}
.quick-item a:hover{
	color: var(--primary-akzent);
}

/* Files */
/* ------------------------------------------------------------------*/
#files-list .list-group-item{
	padding:0.375rem 0.75rem;
}
#files-list .level-1{
	padding-left:34px;
}
#files-list .level-2{
	padding-left:54px;
}
#files-list .bi{
	margin-right:6px;
}

/* Loading */
/* ------------------------------------------------------------------*/
.loading{
	position:absolute;
	left:0;
	top:0;
	background-color:rgba(255,255,255,1);
	width:100%;
	height:100%;
	z-index:5;
	border-radius:0.25rem;
}
.spinner{width:50px;height:30px;text-align:center;font-size:0;margin:0}
.spinner>div{background-color:var(--primary);height:100%;width:6px;display:inline-block;border-radius:3px;margin:2px;-webkit-animation:sk-stretchdelay 1.2s infinite ease-in-out;animation:sk-stretchdelay 1.2s infinite ease-in-out}
.spinner--small{width:20px}
.spinner--small.spinner{height:15px}
.spinner--small.spinner>div{width:2px;margin:1px}
.spinner--inline{display:inline-block;position:relative;top:4px}
.spinner--center{margin:50px auto}
.spinner--inverted.spinner>div{background-color:var(--color_white)}
.spinner .rect2{-webkit-animation-delay:-1.1s;animation-delay:-1.1s}
.spinner .rect3{-webkit-animation-delay:-1s;animation-delay:-1s}
.spinner .rect4{-webkit-animation-delay:-.9s;animation-delay:-.9s}
.spinner .rect5{-webkit-animation-delay:-.8s;animation-delay:-.8s}
@-webkit-keyframes sk-stretchdelay{0%,100%,40%{-webkit-transform:scaleY(.4)}20%{-webkit-transform:scaleY(1)}}
@keyframes sk-stretchdelay{0%,100%,40%{transform:scaleY(.4);-webkit-transform:scaleY(.4)}20%{transform:scaleY(1);-webkit-transform:scaleY(1)}}
.bi-arrow-clockwise.spin::before{
    -webkit-animation: spin 1000ms infinite linear;
    animation: spin 1000ms infinite linear;
}
@-webkit-keyframes spin {
    0% {
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg);
    }
    100% {
        -webkit-transform: rotate(359deg);
        transform: rotate(359deg);
    }
}
@keyframes spin {
    0% {
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg);
    }
    100% {
        -webkit-transform: rotate(359deg);
        transform: rotate(359deg);
    }
}

/* Bootstrap-Anpassungen */
/* ------------------------------------------------------------------*/
.card-list{
	border:0;
	border-radius:0.375rem;
}
.card{
	border:0;
	border-radius:0.375rem;
}
.card-list .card-body{
	padding:0.25rem 0;
}
.card-header{
	background-color:#fff;
	border-color: var(--border-grey);	
	border-radius:0.375rem;
}
.card-header:first-child {
    border-radius: 0.375rem 0.375rem 0 0;
}
.card>.list-group:last-child {
    border-bottom-right-radius: 0.375rem;
    border-bottom-left-radius: 0.375rem;
}
.card>.list-group:first-child {
    border-top-left-radius: 0.375rem;
    border-top-right-radius: 0.375rem;
}
.modal-header{
	background-color: var(--lightgrey);
}
.nav-pills .nav-link.active, .nav-pills .show>.nav-link {
    color: #fff;
	background-color: var(--primary);
}
.nav-link {
	color: var(--primary);
}
/*
.list-group-item:focus, .list-group-item:hover {
    color: #41464b;
    background-color: var(--lightgrey);
}
*/
.list-group-item.active {
	font-weight:bold;
    color: var(--gray800);
    background-color: var(--gray200);
	border-color:rgba(0,0,0,.125);
}

.list-task{
	padding-bottom:0.375rem;
	padding-top:0.375rem;
	margin-bottom:0.375rem;
	border-bottom: 1px solid var(--border-grey);
}
.list-task.full{
	color: var(--bs-success);
}
.list-task:first-child{
	padding-top:0;
}
.list-task:last-child{
	margin-bottom:0;
	border:0;
}
.list-task .task{
	line-height:1.25;
	padding-top:0.1rem;
}
.list-helfer div{
	color: rgb(105, 105, 105);
	font-size:0.875rem;
	background-color: var(--lightgrey);
	border-radius:0.25rem;
	padding:0.25rem 0.5rem;
}
.list-helfer div:hover{
	color: rgb(85, 85, 85);
	background-color: var(--gray300);
}
.list-helfer div .bi{
	color: var(--bs-danger);
}
.list-reorder .list-group-item{
	padding:0.5rem 0.75rem;
}

/* Erweiterungen */
/* ------------------------------------------------------------------*/

/* Datepicker */
.datepicker{
	font-size:0.875rem;
	font-family: "Noto Sans",sans-serif;
}
.datepicker table tr td.active.active, .datepicker table tr td.active.highlighted.active, .datepicker table tr td.active.highlighted:active, .datepicker table tr td.active:active {
    background-color: var(--primary);
    border-color: var(--primary-akzent);
}
.datepicker table tr td.active.active.focus, .datepicker table tr td.active.active:focus, .datepicker table tr td.active.active:hover, .datepicker table tr td.active.highlighted.active.focus, .datepicker table tr td.active.highlighted.active:focus, .datepicker table tr td.active.highlighted.active:hover, .datepicker table tr td.active.highlighted:active.focus, .datepicker table tr td.active.highlighted:active:focus, .datepicker table tr td.active.highlighted:active:hover, .datepicker table tr td.active:active.focus, .datepicker table tr td.active:active:focus, .datepicker table tr td.active:active:hover {
    background-color: var(--primary-akzent);
}

/* Bootstrap-Table */
.bootstrap-table .page-list{
	display:none !important
}
.bootstrap-table .fixed-table-pagination{
	color: var(--gray600);
	margin-top:1rem;
	font-size:0.75rem;
}
.bootstrap-table .page-item.active .page-link {
    background-color: var(--primary-akzent);
    border-color: var(--primary-akzent)	
}
.bootstrap-table .page-link:focus {
    box-shadow: 0 0 0 0.25rem rgb(var(--primary-rgb-p) / 50%);
}
.pagination {
    --bs-pagination-color: var(--primary);
	--bs-pagination-hover-color: var(--primary-akzent);
    --bs-pagination-focus-color: var(--primary-akzent);
}
.bootstrap-table .fixed-table-container .fixed-table-body{
	overflow: visible;
}
.table-striped>tbody>tr:nth-of-type(odd)>* {
    --bs-table-accent-bg: var(--gray100);
}
.table-hover>tbody>tr:hover>* {
    --bs-table-accent-bg: rgb(var(--primary-rgb-p) / 10%);
}
.bootstrap-table .fixed-table-container .table thead th .sortable {
    padding-right: 25px!important;
}

/* Bootstrap Select */
.bootstrap-select>.dropdown-toggle{
	color: #212529 !important;
    background-color: #fff;
    background-clip: padding-box;
    border: 1px solid #ced4da;
}
.bootstrap-select .dropdown-toggle:focus, .bootstrap-select>select.mobile-device:focus+.dropdown-toggle{
    border-color: var(--gray500);
    outline: 0 !important;
    box-shadow: 0 0 0 0.25rem rgb(var(--primary-rgb-p) / 10%);
}
.bootstrap-select .dropdown-menu li a,
.bootstrap-select .no-results{	
	font-size:0.875rem;
}
.bootstrap-select .dropdown-menu li.active small {
    color: var(--gray800) !important;
}
.bs-searchbox > .form-control{
    min-height: calc(1.5em + 0.5rem + 2px);
    padding: 0.25rem 0.5rem;
    font-size: .875rem;
    border-radius: 0.2rem;
}

/* Dropzone */
.dropzone .dz-preview .dz-image {
    border-radius: 0px; 
    width: 50px;
    height: 50px;
}
.dropzone .dz-preview .dz-error-message,
.dropzone .dz-preview .dz-remove,
.dropzone .dz-preview .dz-size,
.dropzone .dz-preview .dz-error-mark{
	display:none;
}
.dropzone .dz-preview .dz-progress {
    height: 10px;
    top: 50%;
    margin-top: -10px;
    left: 5%;
    right: 5%;
}
.dropzone .dz-preview {
    margin: 0.5rem;
    min-height: 100%;
}
.dropzone {
    min-height: 100%;
    border: 1px solid rgba(0,0,0,.125);
    border-radius: 0.375rem;
    padding: 1rem;
}
.dropzone-edit{
	min-height:80px !important;
}
.dropzone .dz-message {
    text-align: center;
    margin: 1rem 0;
}

/* Summernote */
.note-editor h1{
	font-size:1.75rem !important;
}
.note-editor h2{
	font-size:1.5rem !important;;
}
.note-editor h3{
	font-size:1.25rem !important;;
}

/* MediaQueries */
/* ------------------------------------------------------------------*/
@media (max-width: 768px){
	#sidebar {
		margin-left: -250px;
	}
	#sidebar.active {
		margin-left: 0;
	}
}

