$font: system-ui, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
$font-size: 16px;
$header-size: 55px;
$aside-width: 260px;
$text-color: #555555;
$header-color: #4a5361;
$admin-color: #383c46;
$background-color: #f3f4f7;
$aside-background-color: #242a36;
$aside-text-color: #808797;
$aside-heading-background-color: #3671c9;
$btn-color: #3d7dca;
$btn-color-green: #4ab46d;
$btn-color-red: #be4949;
$btn-color-disabled: #b1b3b4;
$btn-alt-color: #f1f3f4;
* {
	box-sizing: border-box;
	font-family: $font;
    font-size: $font-size;
}
html {
  	height: 100%;
}
body {
	position: relative;
	min-height: 100%;
	color: $text-color;
    background-color: $background-color;
	margin: 0;
}
h1, h2, h3, h4, h5 {
	color: $header-color;
	margin: 0;
	padding: 0;
}
header {
	display: flex;
	position: fixed;
	top: 0;
	left: 0;
	padding-left: $aside-width;
	z-index: 999;
	width: 100%;
	height: $header-size;
	background-color: #fff;
	box-shadow: 0px 0px 8px 1px rgba(45, 54, 68, 0.12);
	.responsive-toggle {
		position: relative;
		display: inline-flex;
		height: 100%;
		width: 16px;
		text-decoration: none;
		margin: 0 5px 0 20px;
		$top-offset: 23px;
		&::before, &::after {
			content: "";
			position: absolute;
			top: 0 + $top-offset;
			left: 0;
			width: 100%;
			height: 2px;
			background-color: #afb2b9;
		}
		&::after {
			top: 8px + $top-offset;
		}
		&:hover, &:active {
			&::before, &::after {
				background-color: lighten($header-color, 10);
			}
		}
	}
	.shortcut-link {
		$shortcut-link-color: #fff;
		display: inline-flex;
		align-self: center;
		align-items: center;
		justify-content: center;
		text-decoration: none;
		color: $shortcut-link-color;
		box-shadow: 0px 0px 6px 1px rgba(45, 54, 68, 0.1);
		padding: 0 10px 0 5px;
		margin-left: 15px;
		border-radius: 4px;
		font-size: 13px;
		font-weight: 500;
		background-color: #818791;
		height: 28px;
		&:hover {
			background-color: darken(#818791, 5);
		}
		svg {
			fill: mix(#818791, #fff, 20%);
			margin-right: 4px;
		}
	}
	.space-between {
		flex: 1;
	}
	.dropdown {
		display: inline-flex;
		color: $header-color;
		height: 100%;
		cursor: pointer;
		justify-content: center;
		align-items: center;
		padding: 0 25px;
		i {
			font-size: 18px;
		}
		&:hover, &:active {
			color: lighten($header-color, 10);
		}
		.profile-img {
			position:relative;
			padding: 0;
			span {
				display: inline-flex;
				align-items: center;
				justify-content: center;
				color: #fff;
				font-size: 14px;
				font-weight: 500;
			}
			span, img {
				width: 30px;
				height: 30px;
				border-radius: 50%;
			}
			i {
				position: absolute;
				top: 0;
				left: 0;
				width: 8px;
				height: 8px;
				border: 1px solid #fff;
				border-radius: 50%;
				&.online {
					background-color: #4ab46d;
				}
			}
		}
		.list {
			display: none;
			position: absolute;
			top: 100%;
			right: 0;
			width: 150px;
			background-color: #fff;
			border-top: 1px solid #eee;
			box-shadow: 0px 2px 2px 1px rgba(45, 54, 68, 0.05);
			a, div {
				display: block;
				text-decoration: none;
				color: $header-color;
				padding: 10px 15px;
				font-size: 14px;
				&:hover, &:active {
					background-color: #fbfbfb;
					.list {
						display: flex;
						flex-flow: column;
						top: -1px;
						right: 100%;						
					}
				}
			}
		}
		&:hover, &:active {
			> .list {
				display: flex;
				flex-flow: column;
			}
		}
	}
}
aside {
	position: fixed;
	z-index: 999999;
	height: 100%;
	width: $aside-width;
	display: flex;
	flex-flow: column;
	background-color: $aside-background-color;
	overflow-y: auto;
	h1 {
		display: inline-flex;
		width: 100%;
		height: $header-size;
		min-height: $header-size;
		color: #fff;
		padding: 0;
		margin: 0;
		font-weight: 500;
		font-size: 16px;
		align-items: center;
		padding: 0 15px;
		span {
			font-size: inherit;
			font-weight: inherit;
			color: inherit;
		}
		.icon {
			display: inline-flex;
			align-items: center;
			justify-content: center;
			width: 28px;
			height: 28px;
			border-radius: 50%;
			border-bottom-right-radius: 0;
			padding: 0;
			margin: 10px 10px 10px 0;
			background-color: $aside-heading-background-color;
			font-size: 14px;
			svg {
				fill: #fff;
			}
		}
	}
	> a {
		position: relative;
		display: inline-flex;
		align-items: center;
		font-size: 14px;
		font-weight: 600;
		text-decoration: none;
		color: lighten($aside-text-color,2);
		padding: 15px 20px;
		.icon {
			display: inline-flex;
			align-items: center;
			width: 30px;
			svg {
				fill: lighten($aside-text-color,2);
			}
		}
		.txt {
			font-size: inherit;
			font-weight: inherit;
			color: inherit;
		}
		&:hover, &.selected {
			background-color: lighten($aside-background-color, 8);
			color: #fff;
			border-left: 3px solid $aside-heading-background-color;
			padding: 15px 17px;
			.note {
				background-color: lighten($aside-background-color, 2);
			}
			svg {
				fill: #fff;
			}
		}
		&.selected + .sub {
			display: flex;
		}
		.note {
			background-color: darken($aside-background-color, 3);
			padding: 1px 5px;
			border-radius: 4px;
			font-size: 12px;
			margin-left: 10px;
		}
	}
	.sub {
		display: none;
		flex-flow: column;
		background-color: darken($aside-background-color, 6);
		padding: 13px 0;
		a {
			font-size: 14px;
			color: lighten($aside-text-color,2);
			text-decoration: none;
			padding: 4px 20px;
			span {
				display: inline-block;
				width: 40px;
				font-size: 12px;
				color: inherit;
				&.square {
					display: inline-block;
					width: 7px;
					height: 7px;
					margin: 0 20px 1px 3px;
					background-color: lighten($aside-text-color,2);
				}
			}
			&:hover, &.selected {
				color: #fff;
				span {
					&.square {
						background-color: #fff;
					}
				}
			}
		}
	}
	.footer {
		display: flex;
		flex-flow: column;
		margin-top: auto;
		padding: 15px;
		border-top: 1px solid darken($aside-background-color, 2);
		background-color: darken($aside-background-color, 1);
		font-size: 14px;
		color: darken($aside-text-color, 15);
		a {
			text-decoration: none;
			font-size: 13px;
			color: darken($aside-text-color, 5);
			padding-bottom: 4px;
			&:hover {
				color: $aside-text-color;
			}
		}
	}
	&.closed {
		display: none;
	}
	&.minimal {
		width: 60px;
		h1 {
			width: 40px;
			height: 40px;
			min-height: 40px;
			padding: 0;
			margin: 5px 0 10px 10px;
			.title {
				display: none;
			}
			.icon {
				width: 35px;
				height: 35px;
				font-size: 16px;
				margin:0;
			}
		}
		> a {
			height: $header-size;
			justify-content: center;
			padding: 15px 0;
			margin: 2px 5px;
			border-radius: 5px;
			.icon {
				width: 100%;
				justify-content: center;
			}
			.txt, .note {
				display: none;
			}
			&:hover, &.selected {
				padding: 15px 0;
			}
			&.selected + .sub {
				display: none;
			}
		}
		.footer {
			display: none;
		}
		+ main {
			padding-left: 60px + 30px;
			header {
				padding-left: 60px;
			}
		}
	}
}
main {
	$padding: 30px;
	padding: $padding;
	padding-left: $aside-width + $padding;
	padding-top: $header-size + $padding;
	h2 {
		font-size: 20px;
		padding-bottom: 5px;
		font-weight: 600;
		span {
			font-size: 16px;
			margin-left: 5px;
			font-weight: 600;
			color: lighten($header-color, 30);
		}
	}
	.content-title {
		display: flex;
		h2 {
			flex: 1;
			svg {
				margin-left: 7px;
				fill: darken($background-color, 20);
				&:hover {
					fill: darken($background-color, 25);
				}
			}
		}
		.btn {
			height: 36px;
		}
		.title {
			flex: 1;
			display: flex;
			align-items: center;
			padding-bottom: 5px;
			.icon {
				display:inline-flex;
				justify-content: center;
				align-items: center;
				background-color: #2fc090;
				color: #fff;
				width: 52px;
				height: 42px;
				border-radius: 15px;
				border-bottom-right-radius: 0;
				margin-right: 15px;
				&.alt {
					background-color: #a0a6b8;
				}
				svg {
					fill: #fff;
				}
			}
			h2 {
				padding: 0 0 3px 0;
			}
			p {
				margin: 0;
				font-size: 14px;
				color: darken($background-color, 25);
				font-weight: 500;
			}
		}
	}
	.msg {
		display: flex;
		align-items: center;
		margin: 15px 0 0 0;
		padding: 15px;
		font-weight: 500;
		box-shadow: 0px 0px 2px 0px rgba(45, 54, 68, 0.1);
		p {
			margin: 0;
			padding: 0 15px;
			font-size: 14px;
			flex: 1;
		}
		.close {
			justify-content: flex-end;
			cursor: pointer;
			&:hover {
				opacity: .8;
			}
		}
		&.success {
			background-color: #C3F3D7;
			border-left: 4px solid #51a775;
			color: #51a775;
			svg {
				fill: #51a775;
			}
		}
		&.error {
			background-color: #f3c3c3;
			border-left: 4px solid #a75151;
			color: #a75151;
			svg {
				fill: #a75151;
			}
		}
	}
	.filter-list {
		display: flex;
		flex-flow: wrap;
		.filter {
			display: inline-flex;
			align-items: center;
			background-color: darken($background-color, 7);
			border-radius: 50px;
			padding: 3px 12px;
			margin: 20px 10px 0 0;
			font-size: 14px;
			font-weight: 500;
			color: lighten($header-color, 5);
			a {
				text-decoration: none;
				margin-right: 10px;
				svg {
					fill: lighten($header-color, 30);
				}
				&:hover svg {
					fill: lighten($header-color, 5);
				}
			}
		}
	}
	.content-header {
		display: flex;
		justify-content: space-between;
		form {
			display: flex;
			justify-content: space-between;
			.search input, > select {
				background-color: transparent;
				outline: none;
				border: none;
				height: 40px;
				width: 220px;
				border-bottom: 1px solid darken($background-color, 10);
				padding-right: 25px;
				margin-left: 10px;
				&:hover, &:active {
					border-bottom: 1px solid darken($background-color, 20);
				}
				&::placeholder {
					color: darken($background-color, 25);
				}
			}
			> select {
				width: 150px;
			}
			> a {
				text-decoration: none;
				display: inline-flex;
				color: darken($background-color, 50);
				justify-self: center;
				align-items: center;
				padding: 0 5px;
				&:hover {
					color: darken($background-color, 60);
				}
			}
		}
		.search {
			label {
				position: relative;
			}
			svg {
				position: absolute;			
				right: 4px;
				top: 0;
				bottom: 0;
				margin-top: auto;
				margin-bottom: auto;
				fill: darken($background-color, 20);
			}
		}
		.filters {
			display: flex;
			position: relative;
			margin-right: 5px;
			margin-bottom: 3px;
			align-items: center;
			a {
				display: inline-flex;
				align-items: center;
				text-decoration: none;
				font-weight: 600;
				color: $header-color;
				white-space: nowrap;
				padding: 7px 10px;
				border-radius: 5px;
				svg {
					fill: $header-color;
					margin-right: 5px;
				}
				&:hover {
					background-color: darken($background-color, 4);
					color: darken($header-color, 10);
				}
			}
			.list {
				display: none;
				z-index: 999999;
				top: calc(100% + 5px);
				width: 180px;
				flex-flow: column;
				position: absolute;
				background-color: #fff;
				padding: 10px;
				box-shadow: 0px 0px 5px 1px rgba(45, 54, 68, 0.12);
				label {
					display: block;
					padding-bottom: 5px;
					font-size: 14px;
				}
				input {
					margin-right: 10px;
				}
				select, input[type="text"], input[type="number"], input[type="date"], input[type="datetime-local"], input[type="time"], input[type="email"], input[type="password"] {
					width: 100%;
					margin-bottom: 8px;
					font-size: 14px;
					padding: 3px;
					border-radius: 5px;
					border:1px solid darken($background-color, 5);
				}
				button {
					background: $btn-color;
					border: 0;
					color: #FFFFFF;
					padding: 5px 0;
					font-size: 12px;
					font-weight: 600;
					margin: 5px 0 5px 0;
					cursor: pointer;
					border-radius: 4px;
					box-shadow: 0px 0px 6px 1px rgba(45, 54, 68, 0.03);
					&:hover {
						background: darken($btn-color, 3);
					}				
				}
			}
		}
	}
	.content-block {
		background-color: #fff;
		margin-top: 25px;
		padding: 15px;
		box-shadow: 0px 0px 6px 1px rgba(45, 54, 68, 0.05);
		overflow: hidden;
		.block-header {
			display: flex;
			align-items: center;
			position: relative;
			border-bottom: 1px solid lighten($background-color, 2);
			margin-bottom: 20px;
			padding: 0 15px 15px 15px;
			margin-left: -15px;
			margin-right: -15px;
			font-size: 14px;
			font-weight: 500;
			.icon {
				display: inline-flex;
				overflow: hidden;
				height: 25px;
				width: 25px;
				justify-content: center;
				align-items: center;
				border-radius: 50%;
				margin-right: 10px;
				background-color: #d5e7fa;
				svg {
					fill: #6e94ba;
				}
			}
		}
		&.cover {
			height: calc(100vh - 200px);
		}
	}
	.content-block-wrapper {
		display: flex;
		width: 100%;
		padding-top: 25px;
		.content-block {
			width: 100%;
			margin: 0 10px;
			&:first-child {
				margin-left: 0;
			}
			&:last-child {
				margin-right: 0;
			}
		}
	}
	.tabs {
		display: flex;
		overflow-x: auto;
  		-webkit-overflow-scrolling: touch;
		background-color: darken($background-color, 5);
		margin-top: 25px;
		box-shadow: 0px 0px 4px 1px rgba(0,0,0,0.03);
		z-index: 100;
		a {
			display: flex;
			text-decoration: none;
			padding: 12px 15px;
			border: 0;
			color: lighten($header-color, 15);
			font-weight: 500;
			font-size: 14px;
			&:hover {
				background-color: darken($background-color, 7);;
			}
			&.active {
				color: $header-color;
				background-color: #fff;
			}
		}
	}
	.tabs ~ .content-block {
		margin-top: 0;
		box-shadow: 0px 6px 5px 1px rgba(0,0,0,0.03);
	}
	.tab-content {
		display: none;
		&.active {
			display: block;
		}
	}
	.dashboard {
		display: flex;
		justify-content: space-between;
		padding-bottom: 40px;
		.stat {
			width: 24%;
			padding: 0;
			display: flex;
			flex-flow: wrap;
			border-left: 4px solid #2d8eee;
			> .icon {		
				display: inline-flex;
				justify-content: center;
				padding: 15px;
				margin: 30px 25px 0 0;
				align-items: center;
				font-size: 18px;
				height: 50px;
				width: 50px;
				border-radius: 50%;
				background-color: #d6eaff;
				color: #8eb3d8;
				svg {
					fill: #8eb3d8;
				}
			}
			.data {
				padding: 7px;
				flex: 1;
				h3 {
					color: mix($header-color, #fff, 60%);
					color: #2d8eee;
					font-size: 14px;
					font-weight: 500;
					padding: 15px 15px 0 15px;
					span {
						font-size: 12px;
						font-weight: 500;
						color: darken($background-color, 30);
						background-color: darken($background-color, 3);
						padding: 2px 5px;
						border-radius: 5px;
						margin-left: 5px;
						white-space: nowrap;
					}
				}
				p {
					margin: 0;
					padding: 10px 15px 15px 15px;
					font-size: 24px;
					font-weight: 700;
					color: lighten($header-color, 15);
				}
			}
			.footer {
				display: flex;
				align-items: center;
				width: 100%;
				border-top: 1px solid darken($background-color, 1);
				background-color: lighten($background-color, 3);
				color: mix(#000, $background-color, 40%);
				font-size: 14px;
				padding: 10px;
				svg {
					fill: mix(#000, $background-color, 40%);
					margin-right: 5px;
				}
			}
			&.green {
				border-left: 4px solid #1ecc8c;
				.data {
					h3 {
						color: #1ecc8c;
					}
				}
				> .icon {
					background-color: #d5f7e3;
					svg {
						fill: #60c99d;
					}
				}
			}
			&.cyan {
				border-left: 4px solid #1eccc3;
				.data {
					h3 {
						color: #1eccc3;
					}
				}
				> .icon {
					background-color: #d1f1f0;
					svg {
						fill: #68c7c5;
					}
				}
			}
			&.red {
				border-left: 4px solid #e98484;
				.data {
					h3 {
						color: #e98484;
					}
				}
				> .icon {
					background-color: #f7e2e2;
					svg {
						fill: #df8787;
					}
				}
			}
		}
	}
	.top-nav {
		display: flex;
		flex-flow: wrap;
		padding-top: 20px;
	}
	.error {
		padding: 15px;
		margin: 0;
	}
	.pagination {
		display: flex;
		align-items: center;
		padding: 25px 0;
		a {
			display: inline-flex;
			text-decoration: none;
			background-color: #7688a0;
			font-size: 14px;
			font-weight: 600;
			color: #fff;
			border-radius: 4px;
			padding: 7px 10px;
			box-shadow: 0px 0px 6px 1px rgba(45, 54, 68, 0.1);
			&:hover {
				background-color: darken(#7688a0, 3);
			}
			&:first-child {
				margin-right: 12px;
			}
			&:last-child {
				margin-left: 12px;
			}
		}
		span {
			font-weight: 600;
		}
	}
	.invoice-details {
		.invoice-detail {
			display: flex;
			justify-content: space-between;
			padding-bottom: 15px;
			word-break: break-all;
			h3 {
				padding: 0;
				margin: 0;
				font-size: 14px;
				font-weight: 500;
			}
			p {
				padding: 0;
				margin: 0;
			}
			.green, .red, .grey, .orange, .blue {
				display: inline-flex;
				font-weight: 600;
				font-size: 12px;
				padding: 3px 8px;
				border-radius: 15px;
				text-transform: capitalize;
				white-space: nowrap;
				background-color: #e8ebec;
				color: #8e9499;
			}
			.green {
				background-color: #b8f7d5;
				color: #34aa6b;
			}
			.blue {
				background-color: #d8e9ff;
				color: #5f92da;
			}
			.red {
				background-color: #f7caca;
				color: #b64343;
			}
			.orange {
				background-color: #f8eac2;
				color: #dea200;
			}
		}
	}
	.invoice-table {
		margin: 0;
		.item-list-end {
			border-bottom:1px solid lighten($background-color, 2);
		}
		.subtotal {
			padding-top: 20px;
		}
		.subtotal, .shipping, .total {
			text-align: right;
			font-weight: 500;
			font-size: 14px;
		}
		.num {
			text-align: right;
		}
	}
}
main, .create-invoice-modal {
	.manage-invoice-table {
		input, select {
			border: 0;
			padding: 5px 0;
			height: 40px;
			background: transparent;
			width: 90%;
			border-bottom: 1px solid darken($background-color, 5);
		}
		.delete-item {
			cursor: pointer;
			fill: darken($background-color, 50);
			&:hover {
				fill: $btn-color-red;
			}
		}
	}
	.manage-invoice-table .add-item {
		$color: #2579da;
		display: inline-flex;
		align-items: center;
		text-decoration: none;
		font-weight: 500;
		color: $color;
		font-size: 14px;
		padding: 15px 0;
		svg {
			fill: $color;
			margin-right: 3px;
		}
		&:hover {
			color: darken($color, 10%);
			svg {
				fill: darken($color, 10%);
			}
		}
	}
}
main .form, .create-invoice-modal {
	display: flex;
	flex-flow: column;
	width: 500px;
	padding: 20px;
	input[type="text"], input[type="password"], input[type="datetime-local"], input[type="email"], input[type="number"], input[type="file"], textarea, select {
		width: 100%;
		padding: 15px 5px;
		margin-bottom: 25px;
		border: 0;
		border-bottom: 1px solid darken($background-color, 5);
		&:hover, &:active {
			border-bottom: 1px solid darken($background-color, 20);
		}
		&::placeholder {
			color: lighten($text-color, 25);
		}
	}
	textarea {
		height: 200px;
		min-height: 100px;
		&.code-editor {
			margin: 15px 0;
			height: 400px;
			font-family: monospace;
			font-size: 14px;
			padding: 15px;
			border-radius: 5px;
			white-space: nowrap;
			overflow: auto;
			tab-size: 4;
			border: 1px solid darken($background-color,1);
		}
	}
	input[type="checkbox"] {
		width: auto;
		margin: 15px 0 25px 2px;
		transform: scale(1.2);
	}
	label {
		position: relative;
		display: block;
		font-weight: 500;
		font-size: 14px;
		color: mix(#FFF, $header-color, 20%);
		.required {
			font-size: 14px;
			font-style: normal;
			color: #e26060;
		}
		input[type="text"] {
			padding-right: 30px;
		}
		i {
			position: absolute;			
			right: 4px;
			top: 20px;
			bottom: 0;
			font-size: 14px;
			margin-top: auto;
			margin-bottom: auto;
			color: darken($background-color, 20);
		}
		&.checkbox {
			display: inline-flex;
			align-items: center;
			margin: 0;
			input[type="checkbox"] {
				margin: 0 10px 0 0;
			}
		}
	}
	button {
		background-color: darken($background-color, 5);
		color: darken($background-color, 50);
		border: 0;
		padding: 5px;
		width: 100%;
		font-weight: 600;
		font-size: 14px;
		cursor: pointer;
		&:hover {
			background-color: darken($background-color, 8);
		}
	}
	.comment {
		font-size: 14px;
		color: lighten($text-color, 20);
		padding: 10px 0 5px;
		margin: 0;
	}
	.hidden {
		display: none;
	}
	.source {
		ul {
			margin: 0;
			padding: 0 15px 15px 20px;
			font-size: 14px;
			color: lighten($text-color, 10);
			li {
				margin: 0;
				padding: 0;
				font-size: 14px;
				margin-bottom: 15px;
				strong {
					display: inline-block;
					font-weight: 500;
					font-size: 14px;
					padding: 0 0 5px 0;
					color: $text-color;
				}
				em {
					font-size: 14px;
				}
			}
		}
	}
	.multiselect {
		position: relative;
		display: flex;
		flex-flow: wrap;
		border-bottom: 1px solid darken($background-color, 5);
		padding-bottom: 10px;
		margin: 10px 0 25px 0;
		> .item {
			display: inline-flex;
			border: 1px solid darken($background-color, 5);
			padding: 0 8px;
			height: 35px;
			margin: 0 5px 5px 0;
			font-size: 14px;
			justify-content: center;
			align-items: center;
			.remove {
				font-style: normal;
				cursor: pointer;
				font-size: 19px;
				margin-right: 3px;
				margin-top: -4px;
				color: darken($background-color, 20);
				&:hover {
					color: darken($background-color, 30);
				}
			}
		}
		input {
			height: 40px;
			width: 80px;
			flex-grow: 1;
			padding: 15px 5px;
			margin: 0;
			outline: 0;
			border: 0;
			&:hover {
				border: 0;
			}
		}
		.list {
			display: none;
			position: absolute;
			top: 100%;
			width: 100%;
			flex-flow: column;
			background-color: #fff;
			box-shadow: 0px 0px 5px 1px rgba(0,0,0,0.1);
			max-height: 100px;
			overflow-y: auto;
			z-index: 1000000000;
			span {
				display: flex;
				padding: 5px 7px;
				cursor: pointer;
				color: #000;
				&:hover {
					background-color: lighten($background-color, 3);
				}
			}
		}
		&:hover, &:active {
			border-bottom: 1px solid darken($background-color, 20);
		}
	}
	.add-client {
		$color: #2579da;
		display: inline-flex;
		align-items: center;
		text-decoration: none;
		font-weight: 500;
		color: $color;
		font-size: 14px;
		padding: 15px 0;
		svg {
			fill: $color;
			margin-right: 3px;
		}
		&:hover {
			color: darken($color, 10%);
			svg {
				fill: darken($color, 10%);
			}
		}
	}
	.add-client {
		padding: 0 0 20px 0;
	}
	&.size-md {
		max-width: 800px;
		width: 100%;
	}
	&.size-full {
		max-width: 100%;
		width: 100%;
	}
}
.table {
	overflow-x: auto;
	padding: 0 10px;
	table {
		width: 100%;
		border-collapse: collapse;
		thead {
			td {
				color: mix($header-color, #fff, 60%);
				font-weight: 600;
				font-size: 14px;
				padding: 15px 0;
				a {
					font-weight: inherit;
					font-size: inherit;
					color: inherit;
					text-decoration: none;
				}
				svg {
					fill: mix($header-color, #fff, 60%);
					margin-left: 5px;
				}
				&:has(svg) {
					color: $header-color;
					border-bottom: 1px solid mix(#000, $background-color, 15%);
					svg {
						fill: $header-color;
					}
				}
			}
			tr {
				border-bottom: 1px solid mix(#000, $background-color, 1%);
			}
		}
		tbody {
			tr:first-child td {
				padding-top: 10px;
			}
			td {
				padding: 8px 0;
				.green, .red, .grey, .orange, .blue {
					display: inline-flex;
					font-weight: 600;
					font-size: 12px;
					padding: 4px 12px;
					border-radius: 15px;
					text-transform: capitalize;
					white-space: nowrap;
					background-color: #e8ebec;
					color: #8e9499;
					&.small {
						font-size: 12px;
						padding: 2px 8px;
						border-radius: 5px;
					}
				}
				.green {
					background-color: #b8f7d5;
					color: #34aa6b;
				}
				.blue {
					background-color: #d8e9ff;
					color: #5f92da;
				}
				.red {
					background-color: #f7caca;
					color: #b64343;
				}
				.orange {
					background-color: #f8eac2;
					color: #dea200;
				}
				.images {
					max-width: 180px;
					img {
						margin-right: 1px;
					}
				}
				.event-color {
					margin-right: 5px;
					font-size: 12px;
				}
				.status {
					display: inline-flex;
					align-items: center;
					justify-content: center;
					.viewed {
						display: inline-flex;
						align-items: center;
						justify-content: center;
						padding-left: 5px;
						svg {
							fill: darken($background-color, 20);
							&:hover {
								fill: darken($background-color, 25);
							}
						}
					}
				}
				&.no-results {
					text-align: center;
					color: mix($background-color, #000, 70%);
					line-height: 30px;
				}
				&.actions {
					padding: 0;
					.table-dropdown {
						display: inline-flex;
						position: relative;
						justify-content: center;
						align-items: center;
						padding: 5px;
						border-radius: 5px;
						cursor: pointer;
						> svg {
							fill: darken($background-color, 15);
						}
						&:hover, &:active {
							background-color: lighten($background-color, 1);
							> svg {
								fill: darken($background-color, 30);
							}
						}
					}
				}
			}
			.img {
				width: 40px;
				padding: 5px 10px 5px 0;
				.profile-img {
					position:relative;
					padding: 0;
					span {
						display: inline-flex;
						align-items: center;
						justify-content: center;
						color: #fff;
						font-size: 12px;
						font-weight: 500;
					}
					span, img {
						border-radius: 50%;
						width: 28px;
						height: 28px;
					}
					i {
						position: absolute;
						top: 0;
						left: 0;
						width: 8px;
						height: 8px;
						border: 1px solid #fff;
						border-radius: 50%;
						&.online {
							background-color: #4ab46d;
						}
						&.offline {
							background-color: #c2c5c9;
						}
					}
				}
			}
			.alt {
				font-size: 14px;
				color: lighten($text-color, 25);
			}
			.strong {
				font-weight: 500;
				color: #778088;
			}
		}
	}
}
.table-dropdown-items {
	display: none;
	flex-flow: column;
	position: absolute;
	z-index: 99999;
	top: 100%;
	right: 0;
	width: 150px;
	background-color: #fff;
	box-shadow: 0px 0px 5px 1px rgba(45, 54, 68, 0.15);
	a {
		display: flex;
		align-items: center;
		text-decoration: none;
		color: $header-color;
		padding: 12px 15px;
		font-size: 14px;
		line-height: 14px;
		font-weight: 500;
		border-bottom: 1px solid lighten($background-color, 1);
		.icon {
			width: 20px;
			svg {
				fill: $header-color;
			}
		}
		&.red {
			color: #dd4d4d;
			.icon {
				svg {
					fill: #dd4d4d;
				}
			}
		}
		&.green {
			color: #34aa6b;
			.icon {
				svg {
					fill: #34aa6b;
				}
			}
		}
		&:hover, &:active {
			background-color: #fbfbfb;
		}
		&:last-child {
			border-bottom: 0;
		}
	}
	&.show {
		display: flex;
	}
}
.invoice-templates {
	display: flex;
	flex-flow: wrap;
	padding: 25px;
	.template {
		position: relative;
		width: 300px;
		height: 380px;
		border: 2px solid darken($background-color, 1);
		margin: 0 25px 25px 0;
		overflow: hidden;
		.preview {
			display: flex;
			justify-content: center;
			align-items: center;
			img {
				width: 97%;
				height: 97%;
				object-fit: contain;
			}
			svg {
				margin-top: 80px;
				fill: darken($background-color, 5);
			}
		}
		.name, .actions a {
			display: flex;
			align-items: center;
			justify-content: center;
			text-decoration: none;
			position: absolute;
			bottom: 10px;
			left: 10px;
			border-radius: 4px;
			background-color: rgba(38, 44, 70, 0.5);
			color: #fff;
			padding: 6px 10px;
			font-size: 12px;
			font-weight: 500;
			max-width: 150px;
			overflow: hidden;
			text-overflow: ellipsis;
			white-space: nowrap;
		}
		.actions a {
			right: 10px;
			left: auto;
			background-color: rgba(38, 44, 70, 0.3);
			svg {
				fill: #fff;
			}
			&:hover {
				background-color: rgba(38, 44, 70, 0.5);
			}
			&:first-child {
				right: 90px;
			}
			&:nth-child(2) {
				right: 50px;
			}
		}
	}
}
.login {
	background-color: $background-color;
	padding-top: 50px;
	form {
		padding-top: 100px;
		display: flex;
		flex-flow: column;
		width: 100%;
		max-width: 350px;
		align-self: center;
		margin: 0 auto;
		background-color: #fff;
		padding: 30px;
		box-shadow: 0px 0px 7px 1px rgba(45, 54, 68, 0.05);
		h2 {
			font-size: 20px;
			font-weight: 600;
			margin-bottom: 30px;
			text-align: center;
		}
		input[type="password"], input[type="email"] {
			border: 1px solid darken($background-color, 3);
			padding: 10px 10px;
			margin-bottom: 15px;
			border-radius: 4px;
			&::placeholder {
				color: darken($background-color, 30);
			}
		}
		input[type="submit"] {
			appearance: none;
			background: #1b6fbe;
			border: 0;
			border-radius: 4px;
			color: #FFFFFF;
			width: 100%;
			padding: 12px 0;
			font-size: 14px;
			font-weight: 500;
			cursor: pointer;
			margin-top: 5px;
			&:hover {
				background: darken(#1b6fbe, 5);
			}
		}
		p {
			margin: 0;
			padding: 25px 0 0 0;
		}
	}
}
.dialog {
	width: 100%;
	height: 100%;
	background-color: rgba(0,0,0,0.5);
	position: fixed;
	top: 0;
	left: 0;
	display: none;
	z-index: 999999;
	align-items: center;
	justify-content: center;
	.content {
		transform: scale(0.5);
		background-color: #fff;
		box-shadow: 0px 0px 5px 2px rgba(0,0,0,0.03);
		width: 400px;
		.heading {
			display: flex;
			padding: 20px;
			font-weight: 600;
			justify-content: space-between;
			border-bottom: 1px solid mix($admin-color, #fff, 10%);
			align-items: center;
			span {
				font-size: 24px;
				line-height: 24px;
				padding-bottom: 4px;
				cursor: pointer;
				color: lighten($header-color, 30);
				&:hover {
					color: lighten($header-color, 10);
				}
			}
		}
		.footer {
			border-top: 1px solid mix($admin-color, #fff, 10%);
			background-color: mix($admin-color, #fff, 2%);
		}
	}
	&.large .content {
		width: 900px;
	}
	&.medium .content {
		width: 600px;
	}
	&.open {
		display: flex;
		.content {
			transform: scale(1.0);
			transition: all 0.2s ease;
		}
	}
}
.add-client-modal {
	.form {
		max-height: 400px;
		overflow-y: auto;
		padding: 15px;
		label {
			display: block;
			font-weight: 500;
			font-size: 14px;
			color: mix(#FFF, $header-color, 20%);
		}
		input[type="text"], input[type="password"], input[type="datetime-local"], input[type="email"], input[type="number"], input[type="file"], textarea, select {
			width: 100%;
			padding: 12px 5px;
			font-size: 14px;
			margin-bottom: 15px;
			border: 0;
			border-bottom: 1px solid darken($background-color, 5);
			&:hover, &:active {
				border-bottom: 1px solid darken($background-color, 20);
			}
			&::placeholder {
				color: lighten($text-color, 25);
			}
		}
		.error-msg {
			color: #e26060;
			font-size: 14px;
			font-weight: 500;
			margin: 0;
			padding: 0;
		}
	}
}
.create-invoice-modal {
	.content {
		max-width: 100%;
		width: 500px;
	}
	.form {
		display: flex;
		flex-flow: column;
		max-height: 500px;
		overflow-y: auto;
		padding: 15px;
	}
}
.link1, .link2 {
	text-decoration: none;
    border-bottom: 1px dotted #afb6c0;
    color: #2d81e2;
	margin: 0 5px 0 0;
	&:hover {
		color: #075dbe;
	}
}
.link2 {
	color: #ba0000;
	border-bottom: 1px dotted #c0afb0;
	&:hover {
		color: #600000;
	}
}
.title1 {
	color: #6a6e75;
	border-bottom: 1px solid lighten($background-color, 2);
	margin-bottom: 15px;
	padding-bottom: 15px;
	font-weight: 500;
}
.btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	text-decoration: none;
	appearance: none;
	cursor: pointer;
	border: 0;
	background: $btn-color;
	color: #FFFFFF;
	padding: 0 14px;
	font-size: 14px;
	line-height: 14px;
	font-weight: 600;
	border-radius: 4px;
	height: 38px;
	box-shadow: 0px 0px 6px 1px rgba(45, 54, 68, 0.1);
	&:hover {
		background: darken($btn-color, 3);
	}
	&.green {
		background: $btn-color-green;
		&:hover {
			background: darken($btn-color-green, 3);
		}
	}
	&.red {
		background: $btn-color-red;
		&:hover {
			background: darken($btn-color-red, 3);
		}
	}
	&.alt {
		color: #75797e;
		border: 1px solid darken($btn-alt-color, 10);
		box-shadow: 0px 0px 3px 1px rgba(0,0,0,0.03);
		background: $btn-alt-color;
		&:hover {
			background: darken($btn-alt-color, 1);
		}
	}
	&.disabled {
		background: $btn-color-disabled;
		&:hover {
			background: darken($btn-color-disabled, 3);
		}		
	}
	&.small {
		padding: 8px 12px;
		font-size: 12px;
	}
	.icon-left {
		margin-right: 7px;
		fill: #fff;
	}
	.icon-right {
		margin-left: 7px;
		fill: #fff;
	}
}
.loader,
.loader::after {
	border-radius: 50%;
	width: 50px;
	height: 50px;
}
.loader {
	position: relative;
	margin: 60px auto;
	border-top: 2px solid rgba(154,158,162, 0.2);
	border-right: 2px solid rgba(154,158,162, 0.2);
	border-bottom: 2px solid rgba(154,158,162, 0.2);
	border-left: 2px solid #9a9ea2;
	transform: translateZ(0);
	animation: loader 1.1s infinite linear;
}
@keyframes loader {
	0% {
		transform: rotate(0deg);
	}
	100% {
		transform: rotate(360deg);
	}
}
@for $i from 1 to 6 {
	.pad-#{$i} {
		padding: #{$i*5}px;
	}
	.mar-#{$i} {
		margin: #{$i*5}px;
	}
}
@for $i from 1 to 6 {
	.pad-bot-#{$i} {
		padding-bottom: #{$i*5}px;
	}
	.pad-top-#{$i} {
		padding-top: #{$i*5}px;
	}
	.pad-left-#{$i} {
		padding-left: #{$i*5}px;
	}
	.pad-right-#{$i} {
		padding-right: #{$i*5}px;
	}
	.pad-x-#{$i} {
		padding-left: #{$i*5}px;
		padding-right: #{$i*5}px;
	}
	.pad-y-#{$i} {
		padding-top: #{$i*5}px;
		padding-bottom: #{$i*5}px;
	}
	.mar-bot-#{$i} {
		margin-bottom: #{$i*5}px;
	}
	.mar-top-#{$i} {
		margin-top: #{$i*5}px;
	}
	.mar-left-#{$i} {
		margin-left: #{$i*5}px;
	}
	.mar-right-#{$i} {
		margin-right: #{$i*5}px;
	}
	.mar-x-#{$i} {
		margin-left: #{$i*5}px;
		margin-right: #{$i*5}px;
	}
	.mar-y-#{$i} {
		margin-top: #{$i*5}px;
		margin-bottom: #{$i*5}px;
	}
}
@media screen and (max-width: 1000px) {
	header {
		padding-left: 0;
	}
	.responsive-hidden {
		display: none !important;
	}
	.responsive-width-100 {
		width: 100% !important;
		flex: auto !important;
		flex-basis: 100% !important;
	}
	.responsive-flex-column {
		flex-flow: column;
	}
	.responsive-flex-wrap {
		flex-flow: wrap;
	}
	.responsive-flex {
		display: flex;
	}
	aside.minimal + main {
		padding-left: 70px;
	}
	main {
		padding: 70px 7px 20px 7px;
		.content-header {
			max-width: 100%;
			form {
				padding-top: 10px;
				.search input, > select {
					padding-right: 25px;
					margin-left: 0;
				}
			}
		}
		.content-block {
			padding: 5px;
			.block-header {
				padding-top: 10px;
			}
		}
		.dashboard {
			flex-flow: column;
			.stat {
				width: 100%;
			}
		}
	}
	@for $i from 1 to 6 {
		.responsive-pad-#{$i} {
			padding: #{$i*5}px;
		}
		.responsive-mar-#{$i} {
			margin: #{$i*5}px;
		}
	}
	@for $i from 1 to 6 {
		.responsive-pad-bot-#{$i} {
			padding-bottom: #{$i*5}px;
		}
		.responsive-pad-top-#{$i} {
			padding-top: #{$i*5}px;
		}
		.responsive-pad-left-#{$i} {
			padding-left: #{$i*5}px;
		}
		.responsive-pad-right-#{$i} {
			padding-right: #{$i*5}px;
		}
		.responsive-pad-x-#{$i} {
			padding-left: #{$i*5}px;
			padding-right: #{$i*5}px;
		}
		.responsive-pad-y-#{$i} {
			padding-top: #{$i*5}px;
			padding-bottom: #{$i*5}px;
		}
		.responsive-mar-bot-#{$i} {
			margin-bottom: #{$i*5}px;
		}
		.responsive-mar-top-#{$i} {
			margin-top: #{$i*5}px;
		}
		.responsive-mar-left-#{$i} {
			margin-left: #{$i*5}px;
		}
		.responsive-mar-right-#{$i} {
			margin-right: #{$i*5}px;
		}
		.responsive-mar-x-#{$i} {
			margin-top: #{$i*5}px;
			margin-bottom: #{$i*5}px;
		}
		.responsive-mar-y-#{$i} {
			margin-left: #{$i*5}px;
			margin-right: #{$i*5}px;
		}
	}
	.content-block-wrapper {
		flex-flow: column;
		.content-block {
			margin: 15px 0 0 0 !important;
		}
	}
}