/* Default */
html {
	touch-action: manipulation;
}

input[type="search"]::-webkit-search-decoration,
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-results-button,
input[type="search"]::-webkit-search-results-decoration {
	display: none;
}

/* Custom bootstrap */
.form-control::placeholder {
	opacity: 0.2;
}

.custom-disabled {
	background-color: var(--bs-secondary-bg);
	opacity: 1;
	pointer-events: none;
}

.fs-big {
	font-size: calc(5rem + 1.5vw)!important
}

@media (max-width: 991.98px) {
	.fs-big {
		font-size: calc(4rem + 1.5vw)!important
	}
}

@media (max-width: 575.98px) {
	.fs-big {
		font-size: calc(2.5rem + 1.5vw)!important
	}
}

.fs-7 {
	font-size: 0.9em;
}

.fs-8 {
	font-size: 0.8em;
}

.fs-9 {
	font-size: 0.7em;
}

.lh-12 {
	line-height: 1.2;
}

.list-noborder {
	border: none!important;
	border-radius: 0!important;
}

.list-noborder .list-group-item {
	border: none!important;
	border-radius: 0!important;
}

.list-nomargin .list-group-item {
	margin: 0!important;
}

.list-group li > ul {
	margin-top: var(--bs-list-group-item-padding-y);
	margin-bottom: calc(var(--bs-list-group-item-padding-y) * -1);
	margin-left: calc(var(--bs-list-group-item-padding-x) * -1);
	margin-right: calc(var(--bs-list-group-item-padding-x) * -1);
}

.list-group li > ul > li > ul {
	margin-left: calc(var(--bs-list-group-item-padding-x) * 2 * -1);
}

.list-group li > ul > li > ul > li > ul {
	margin-left: calc(var(--bs-list-group-item-padding-x) * 3 * -1);
}

.list-group li > ul > li > ul > li > ul > li > ul {
	margin-left: calc(var(--bs-list-group-item-padding-x) * 4 * -1);
}

.list-group li > ul > li > ul > li > ul > li > ul > li > ul {
	margin-left: calc(var(--bs-list-group-item-padding-x) * 5 * -1);
}

.list-group li > ul li {
	padding-left: calc(var(--bs-list-group-item-padding-x) * 2);
}

.list-group li > ul > li > ul li {
	padding-left: calc(var(--bs-list-group-item-padding-x) * 3);
}

.list-group li > ul > li > ul > li > ul li {
	padding-left: calc(var(--bs-list-group-item-padding-x) * 4);
}

.list-group li > ul > li > ul > li > ul > li > ul li {
	padding-left: calc(var(--bs-list-group-item-padding-x) * 5);
}

.list-group li.custom-disabled ul li {
	pointer-events: auto;
}

.min-ph-100 {
	min-height: 100%;
}

.w-280 {
	width: 280px!important;
}

.cmw-580 {
	max-width: 580px;
}

.cmw-500 {
	max-width: 500px;
}

.cmw-260 {
	max-width: 260px;
}

.cmw-50-percent {
	max-width: 50%;
}

.w-mc {
	width: max-content;
}

.cmw-100 {
	max-width: 100%;
}

.background-cover {
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
}

.needs-validation {
	position: relative;
}

.container-custom {
	max-width: 1800px;
}

.navbar-nav .dropdown-menu {
	position: static;
}

@media (min-width: 992px) {
	.navbar-expand-lg .navbar-nav .dropdown-menu {
		position: absolute;
	}
}

.scroll-custom-x-hidden {
	overflow: hidden;
	overflow-x: auto;
	scrollbar-color: transparent transparent;
	scrollbar-width: none;
}

.scroll-custom-x-hidden::-webkit-scrollbar {
	display: none;
}

.scroll-custom-x {
	overflow: hidden;
	overflow-x: auto;
	scrollbar-color: #fff var(--bs-gray-300);
}

.scroll-custom-x::-webkit-scrollbar {
	height: 4px;
	border-radius: 2px;
}

.scroll-custom-x::-webkit-scrollbar-track {
	background-color: #fff;
	border-radius: 2px;
}

.scroll-custom-x::-webkit-scrollbar-thumb {
	background-color: var(--bs-gray-300);
	border-radius: 2px;
}

.scroll-custom-big-x::-webkit-scrollbar {
	height: 8px;
}

.scroll-custom-y {
	overflow: hidden;
	overflow-y: auto;
	scrollbar-color: #fff var(--bs-gray-300);
}

.scroll-custom-y::-webkit-scrollbar {
	width: 4px;
	border-radius: 2px;
}

.scroll-custom-y::-webkit-scrollbar-track {
	background-color: #fff;
	border-radius: 2px;
}

.scroll-custom-y::-webkit-scrollbar-thumb {
	background-color: var(--bs-gray-300);
	border-radius: 2px;
}

.scroll-custom-big-y::-webkit-scrollbar {
	width: 8px;
}

@media (min-width: 992px) {
	.scroll-custom-lg-x .os-host,
	.scroll-custom-lg-x .os-host-textarea,
	.scroll-custom-lg-x .os-padding,
	.scroll-custom-lg-x .os-viewport,
	.scroll-custom-lg-x .os-content {
		overflow: initial!important;
	}
}

@media (max-width: 991.98px) {
	.scroll-custom-lg-x {
		overflow: hidden;
		overflow-x: auto;
		scrollbar-color: #fff var(--bs-gray-300);
		padding-top: 20px;
	}

	.scroll-custom-lg-x::-webkit-scrollbar {
		height: 4px;
		border-radius: 2px;
	}

	.scroll-custom-lg-x::-webkit-scrollbar-track {
		background-color: #fff;
		border-radius: 2px;
	}

	.scroll-custom-lg-x::-webkit-scrollbar-thumb {
		background-color: var(--bs-gray-300);
		border-radius: 2px;
	}

	.scroll-custom-lg-hidden {
		scrollbar-color: transparent transparent;
		scrollbar-width: none;
	}

	.scroll-custom-lg-hidden::-webkit-scrollbar {
		display: none;
	}
}

.gradient-custom {
	position: relative;
}

.gradient-custom:before {
	content: '';
	width: 50px;
	height: 100%;
	position: absolute;
	z-index: 1;
	right: 0px;
	top: 0px;
	pointer-events: none;
	background: linear-gradient(90deg, rgba(255, 255, 255, 0) 50%, rgba(255, 255, 255, 1) 100%);
}

.dropdown-default .dropdown-menu {
	width: max-content;
	max-width: 600px;
}

.dropdown-default * {
	word-wrap: break-word!important;
	word-break: break-word!important;
}

.dropdown-default .dropdown-item {
	white-space: initial;
}

@media (max-width: 767.98px) {
	.dropdown-md-adaptive .dropdown-menu {
		width: 280px!important;
	}
}

@media (max-width: 991.98px) {
	.offcanvas-collapse {
		position: fixed;
		top: 0px;
		bottom: 0;
		left: 100%;
		width: 100%;
		padding-right: 1rem;
		padding-left: 1rem;
		overflow-y: auto;
		visibility: hidden;
		background-color: #fff!important;
		z-index: 1022;
		transition: transform .3s ease-in-out, visibility .3s ease-in-out;
	}

	.offcanvas-collapse.open {
		visibility: visible;
		transform: translateX(-100%);
	}
}

.overflow-clip {
	overflow: clip;
}

.form-switch {
	min-height: initial;
	padding: 0px;
	display: flex;
}

.form-switch .form-check-input {
	float: none;
	margin: 0px;
	cursor: pointer;
}

.table-min>:not(caption)>*>* {
	padding: 0.25rem 0.25rem;
}

.toast-container {
	top: calc(66px + 16px);
}

.z-4 {
	z-index: 4!important;
}

.z-5 {
	z-index: 5!important;
}

.z-6 {
	z-index: 6!important;
}

@media (min-width: 992px) {
	.dropdown-menu-lg-scroll {
		max-height: calc(100vh - 66px - 24px);
		overflow: hidden;
		overflow-y: auto;
	}
}

.img-fluid-child svg,
.img-fluid-child img {
	width: 100%;
	height: auto;
}

.blur-custom {
	-webkit-filter: blur(5px);
	filter: blur(5px);
}

.shadow-custom {
	box-shadow: 0 4px 15px 0 rgba(0, 0, 0, 0.1);
}

@media (min-width: 992px) {
	.shadow-lg-custom {
		box-shadow: 0 4px 15px 0 rgba(0, 0, 0, 0.1);
	}
}

.group-error.is-invalid {
	background-color: rgba(255, 0, 0, 0.03);
}

.group-error > .invalid-feedback {
	display: block;
}

/* BG and colors */
.bg-white-opacity {
	background-color: rgba(255, 255, 255, 0.5)!important;
}

.bg-grey {
	background-color: #d7d7d7!important;
}

.border-grey {
	border: 1px solid #d7d7d7!important;
}

.bg-grey-after:after {
	background-color: #d7d7d7!important;
}

.bg-grey-opacity {
	background-color: rgba(215, 215, 215, 0.7)!important;
}

.bg-green {
	background-color: #a4d5a5!important;
}

.bg-green-after:after {
	background-color: #a4d5a5!important;
}

.bg-green-opacity {
	background-color: rgba(200, 230, 201, 0.7)!important;
}

.border-green {
	border: 1px solid #84cF86!important;
}

.bg-lightgreen1 {
	background-color: #E6F8E6!important;
}

.bg-lightgreen1-after:after {
	background-color: #E6F8E6!important;
}

.bg-lightgreen1-opacity {
	background-color: rgba(230, 248, 230, 0.7)!important;
}

.border-lightgreen1 {
	border: 1px solid #dfebdf!important;
}

.bg-lightgreen2 {
	background-color: #F1FFF1!important;
}

.bg-lightgreen2-after:after {
	background-color: #F1FFF1!important;
}

.bg-lightgreen2-opacity {
	background-color: rgba(241, 255, 241, 0.7)!important;
}

.border-lightgreen2 {
	border: 1px solid #dbf5db!important;
}

.bg-blue {
	background-color: #8fc9f9!important;
}

.bg-blue-after:after {
	background-color: #8fc9f9!important;
}

.bg-blue-opacity {
	background-color: rgba(143, 201, 249, 0.7)!important;
}

.border-blue {
	border: 1px solid #65b4f5!important;
}

.bg-red {
	background-color: #ff25008c!important;
}

.bg-red-after:after {
	background-color: #ff25008c!important;
}

.bg-red-opacity {
	background-color: rgba(255, 0, 0, 0.1)!important;
}

.border-red {
	border: 1px solid #ff25008c!important;
}

.bg-yellow {
	background-color: #FFECB3!important;
}

.bg-yellow-after:after {
	background-color: #FFECB3!important;
}

.bg-yellow-opacity {
	background-color: rgba(255, 236, 179, 0.7)!important;
}

.border-yellow {
	border: 1px solid #ffe490!important;
}

.bg-darkgreen {
	background-color: #80CBC4!important;
}

.bg-darkgreen-after:after {
	background-color: #80CBC4!important;
}

.border-darkgreen {
	border: 1px solid #45c3b7!important;
}

.bg-lilac {
	background-color: #C5CAE9!important;
}

.bg-lilac-after:after {
	background-color: #C5CAE9!important;
}

.border-lilac {
	border: 1px solid #b3beff!important;
}

.border-left-color-terminator {
	border-left-color: red!important;
}

.opacity-after-50:after {
	opacity: 0.5;
}

/* Input password */
.input-group:not(.has-validation)> .password >:not(:last-child):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating) {
	border-top-right-radius: 0;
	border-bottom-right-radius: 0;
}

.password {
	position: relative;
	flex: 1 1 auto;
	min-width: 0;
	border-radius: 0px;
}

.password.active .password-input {
	padding-right: calc(1.5em + 0.75rem);
}

.password-btn {
	position: absolute;
	top: 0px;
	right: 0px;
	width: calc(1.5em + 0.75rem);
	height: 100%;
	max-height: 38px;
	border-radius: 0px;
	box-shadow: none;
	border: none;
	background-color: transparent;
	padding: 0px;
	margin: 0px;
	display: none;
	align-items: center;
	justify-content: center;
}

.password.active .password-btn {
	display: flex;
}

.password-icon {
	width: calc(.75em + .375rem);
	height: auto;
	display: flex;
}

.password-icon:last-child {
	display: none;
}

.password-btn.active-show .password-icon:last-child {
	display: flex;
}

.password-btn.active-show .password-icon:first-child {
	display: none;
}

.password.active .password-input.is-invalid {
	padding-right: calc(1.5em + 0.75rem + 1.5em + 0.75rem);
}

.password.active .password-input.is-invalid + .password-btn {
	right: calc(1.5em + 0.75rem);
}

/*Input*/
.input {
	width: 100%;
	display: flex;
	flex-direction: column;
	position: relative;
}

.input input {
	padding-right: calc(0.75rem + 1.5em)!important;
}

.input input.is-invalid {
	padding-right: calc(1.5em + 0.75rem + 1.5em)!important;
	background-position: right calc(.375em + .1875rem + 1.5em) center!important;
}

.input-clear {
	position: absolute;
	top: 0px;
	right: 0px;
	width: calc(1.5em + 0.75rem);
	height: 100%;
	max-height: 38px;
	font-size: 14px;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
    color: rgba(var(--bs-secondary-rgb), 1) !important;
	pointer-events: none;
	opacity: 0;
}

.input-clear svg {
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.input-clear i {
	display: flex;
}

.input input.input--touched:focus + .input-clear,
.input input.input--touched:hover + .input-clear,
.input input.input--touched + .input-clear:hover {
	opacity: 1;
	pointer-events: auto;
}

@media (max-width: 575.98px) {
	.input input {
		padding-right: calc(0.75rem + 10px)!important;
	}

	.input input.is-invalid {
		padding-right: calc(1.5em + 0.75rem + 10px)!important;
		background-position: right calc(.375em + .1875rem + 10px) center!important;
	}

	.input-clear {
		top: 3px;
		right: 3px;
		width: 14px;
		height: 14px;
		max-height: initial;
	}
}

/*Selector Custom*/
.selector-custom select {
    min-height: 110px;
}

/* Header */
.header {
	height: 66px;
	z-index: 1021;
}

@media (min-width: 992px) {
	.header .navbar-collapse-group {
        display: flex;
        flex-basis: auto;
	}
}

@media (max-width: 991.98px) {
	.header .navbar-collapse {
		position: absolute;
		top: 66px;
		left: 0px;
		width: 100%;
		padding: 0.5rem;
		padding-right: calc(var(--bs-gutter-x) * .5);
		padding-left: calc(var(--bs-gutter-x) * .5);
		background-color: rgba(var(--bs-primary-rgb),var(--bs-bg-opacity))!important;
		max-height: calc(100vh - 66px);
		overflow: hidden;
		overflow-y: auto;
	}

	.header .navbar-collapse-group {
		min-height: calc(100vh - 66px - 0.5rem - 0.5rem);
	}

	.header .dropdown .dropdown-menu {
		display: block;
		max-width: 100%;
		width: 100%;
	}

	.header .dropdown [data-bs-toggle="dropdown"] {
		display: none;
	}
}

/* Menu more */
.menu-more-btn {
	width: 60px;
	height: 40px;
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
	margin-right: auto;
}

.menu-more-hidden {
	background-color: rgba(var(--bs-primary-rgb));
	width: 300px;
	text-align: right;
	display: none;
}

@media (min-width: 992px) {
	.menu-more-wrapper {
		display: flex;
		align-items: center;
		flex-grow: 1;
		white-space: nowrap;
	}

	.menu-more-visible {
		flex-wrap: wrap;
	}

	.menu-more-visible .nav-link {
		padding-top: 0px;
		padding-bottom: 0px;
	}
}

/* Main */
.main {
	min-height: calc(100vh - 66px);
}

@media (max-width: 991.98px) {
	overflow: hidden!important;
}

/* Loader */
.loader {
	z-index: 1020;
}

/* Page content */
.page-content__left {
	width: 400px;
}

.page-content__right {
	width: calc(100% - 400px);
}

@media (max-width: 1199.98px) {
	.page-content__left {
		width: 320px;
	}

	.page-content__right {
		width: calc(100% - 320px);
	}
}

@media (max-width: 991.98px) {
	.page-content__left {
		width: 100%;
	}

	.page-content__right {
		width: 100%;
	}
}

/* Login page */
.authentication__logo {
	position: relative;
	width: 192px;
	text-decoration: none;
}

.authentication__logo svg {
	width: 100%;
	height: auto;
}

.authentication__logo-info {
	color: #fff;
	font-size: 0.8rem;
	position: absolute;
	top: 32px;
	left: 55px;
	font-weight: 300;
	white-space: nowrap;
}

/* Modal */
.modal-content {
	border-radius: 0px;
}

.modal-header {
	border-bottom: none;
	border-radius: 0px;
}

.modal-footer {
	border-top: none;
	border-radius: 0px;
}

/* Schedule shifts */
.schedule-shifts__left {
	width: 57px;
}

.schedule-shifts__right {
	width: calc(100% - 57px);
}

.schedule-shifts__name {
	min-height: 40px;
	max-height: 60px;
	font-size: 0.95rem;
	position: relative;
	margin-top: -1px;
}

.schedule-shifts__name:before {
	content: '';
	display: block;
	padding-bottom: 355%;
	width: 100%;
}

.schedule-shifts__designation {
	width: 20px;
	height: 32px;
	min-width: 20px;
	min-height: 32px;
}

.schedule-shifts__designation--terminator {
	position: relative;
}

.schedule-shifts__designation--terminator:before {
	content: '';
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	height: 100%;
	width: 2px;
	background-color: red;
}

/* Year timesheet */
.year-timesheet__overflow {
	transform: rotateX(180deg);
}

.year-timesheet__content {
	transform: rotateX(180deg);
}

.year-timesheet__item {
	width: max-content;
	min-width: 100%;
}

.year-timesheet__header {
	height: 24px;
}

.year-timesheet__info {
	flex: 1;
	width: 10px;
	min-width: 40px;
	font-size: 0.8rem;
	border-left: 1px solid #fff;
}

.year-timesheet__info:last-child {
	border-right: 1px solid #fff;
}

.year-timesheet__cell {
	cursor: pointer;
	border-top: 1px solid #fff;
	border-left: 1px solid #fff;
	flex: 1;
	width: 10px;
	min-width: 40px;
	position: relative;
	min-height: 32px;
	max-height: 48px;
	margin-top: -1px;
	overflow: hidden;
	--cell-bg-width: 100%;
}

.year-timesheet__cell:before {
	content: '';
	display: block;
	padding-bottom: 60%;
	width: 100%;
}

.year-timesheet__cell:after {
	content: '';
	position: absolute;
	top: 0px;
	left: 0px;
	width: var(--cell-bg-width);
	height: 100%;
}

.year-timesheet__cell:last-child {
	border-right: 1px solid #fff;
}

.year-timesheet__month {
	min-width: 72px;
}

.year-timesheet__day {
	min-width: 50px;
}

.year-timesheet__hour {
	min-width: 50px;
}

.year-timesheet__text {
	position: absolute;
	top: 0px;
	left: 0px;
	width: 100%;
	height: 100%;
	font-size: 0.85rem;
	z-index: 1;
}

.year-timesheet__designation {
	width: 20px;
	height: 32px;
	min-width: 20px;
	min-height: 32px;
	display: flex;
	align-items: center;
	justify-content: center;
}

.year-timesheet__current {
	position: absolute;
	top: 0px;
	left: 0px;
	width: 100%;
	height: 100%;
	border: 2px solid #42A5F5;
	z-index: 2;
}

.year-timesheet__changed {
	position: absolute;
	top: 0px;
	left: 0px;
	width: 100%;
	height: 100%;
	border: 2px solid #42A5F5;
	z-index: 2;
	font-style: italic;
}

/* Stepper */
.stepper {
	width: 100%;
	display: flex;
	flex-direction: column;
}

.stepper__step {
	width: 100%;
	position: relative;
}

.stepper__step:not(:last-child):after {
	content: '';
	position: absolute;
	left: 2.45rem;
	top: 3.25rem;
	width: 1px;
	height: calc(100% - 2.45rem);
	margin-top: 0.45rem;
	background-color: var(--bs-secondary);
	z-index: 1;
}

.stepper__head {
	cursor: pointer;
	display: flex;
	align-items: center;
	padding: 1.5rem;
}

.stepper__head-icon {
	width: 1.938rem;
	height: 1.938rem;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	margin-right: 0.75rem;
	background-color: var(--bs-secondary);
	color: var(--bs-white);
}

.stepper__step.active .stepper__head-icon {
	background-color: var(--bs-primary);
}

.stepper__step.completed .stepper__head-icon {
	background-color: var(--bs-green);
}

.stepper__content {
	padding: 1.5rem;
	padding-left: 3.75rem;
	display: none;
}

.stepper__step.active .stepper__content {
	display: block;
}

@media (max-width: 991.98px) {
	.stepper {
		margin-top: -1.5rem;
	}

	.stepper__head {
		padding: 1.5rem 0;
	}

	.stepper__step:not(:last-child):after {
		left: 0.95rem;
	}

	.stepper__content {
		padding-left: 2.25rem;
	}
}

@media (max-width: 575.98px) {
	.stepper__head {
		padding: 0.8rem 0;
	}

	.stepper__step:not(:last-child):after {
		display: none;
	}

	.stepper__content {
		padding-left: 0rem;
		padding-right: 0rem;
	}
}

/* Code */
.code__text {
	width: 100px;
}

.code__btn {
	height: 42px;
	width: 42px;
}

.code__btn i {
	display: flex;
}

.code__btn i:last-child {
	display: none;
}

.code__btn.active i:last-child {
	display: flex;
}

.code__btn.active i:first-child {
	display: none;
}

.code--min .code__text {
	width: 44px
}

.code--min .code__btn {
	height: 34px;
	width: 34px;
}

/* Edit */
.edit__blank--hidden {
	display: none;
}

/* Vis */
.vis-timeline {
	touch-action: initial!important;
    user-select: initial!important;
    -webkit-user-drag: initial!important;
}

.vis-panel.vis-left {
	touch-action: initial!important;
    user-select: initial!important;
    -webkit-user-drag: initial!important;
}

.vis-dot.success {
	border-color: #66AF66!important;
}

.vis-dot.danger {
	border-color: #E57373!important;
}

.vis-dot.deleted {
	border-color: #bfbebe!important;
}

.vis-item.vis-dot:not(.deleted) {
	cursor: pointer;
}

.vis-item .vis-delete {
	background: var(--bs-primary)!important;
	border: none;
	right: 0!important;
	width: 88px!important;
	padding: 4px 5px!important;
	top: 14px!important;
	left: -43px!important;
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--bs-white);
	height: 32px!important;
	stroke-width: 0;
}

.vis-item .vis-delete::before {
	content: 'Удалить';
}

.vis-item.vis-point.vis-selected.deleted .vis-delete {
	display: none;
}

.vis-item .vis-delete::after {
	content: none!important;
}

.vis-item.vis-selected {
	background-color: transparent!important;
	border-color: var(--bs-primary)!important;
}

.vis-item.vis-range.vis-selected {
	border: 1px solid #97B0F8!important;
	background-color: #D5DDF6!important;
}

.vis-item.vis-point.vis-selected.deleted .vis-dot {
	border-color: #bfbebe!important;
}

.vis-item.vis-point {
	width: 8px;
	height: 8px;
	top: calc(50% - 5px);
}

.vis-item.vis-point .vis-item-content {
    position: absolute;
    min-width: 64px;
    width: max-content;
    max-width: 160px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    background-color: #f7f7f7;
    padding: 4px !important;
    height: auto;
    font-size: 0.8rem;
    color: var(--bs-black);
    bottom: calc(100% + 4px);
    left: 50%;
    transform: translateX(-50%);
    opacity: 0;
    pointer-events: none;
    white-space: initial;
}

.vis-item.vis-point.vis-selected .vis-item-content {
	opacity: 1;
}

.vis-item.vis-range {
	top: calc(50% - 14px)!important;
}

.vis-item .vis-item-content {
	width: 8px;
	height: 8px;
	padding: 0!important;
	margin: 0!important;
}

.vis-custom-time {
	pointer-events: none!important;
}

@media (max-width: 575.98px) {
	.vis-labelset .vis-label .vis-inner a {
		font-size: 0.9em;
	}
}

.timeline-person .vis-label .vis-inner,
.timeline-timesheet .vis-label .vis-inner {
	min-height: 54px;
}

.timeline-person .vis-time-axis,
.timeline-timesheet .vis-time-axis {
	min-height: 40px;
}

.timeline-schedule .vis-label .vis-inner {
	min-height: 40px;
	padding: 5px 16px!important;
	color: var(--bs-body-color);
	text-transform: uppercase;
}

.timeline-schedule .vis-time-axis {
	min-height: 36px;
}

.timeline-day .btn {
	padding: 0.375rem 0.44rem;
}

/* Timeline */
.timeline {
	min-height: 450px;
	min-width: 100%;
	max-width: 100%;
}

@media (min-width: 992px) {
	.timeline-scroll .vis-timeline {
		overflow: clip!important;
	}

	.timeline-scroll .vis-panel.vis-top {
		background-color: rgba(var(--bs-white-rgb),var(--bs-bg-opacity))!important;
		position: sticky!important;
		top: 66px;
		transform: translateX(3px);
		left: auto!important;
		margin-left: auto;
	}
}

.timeline .loader {
	justify-content: flex-start!important;
	padding-top: 100px!important;
}

.timeline-hidden {
	visibility: hidden;
	height: 0px!important;
	padding: 0px!important;
	margin: 0px!important;
	opacity: 0;
	overflow: hidden;
}

.timeline-left {
	width: calc(100% - 400px);
}

.timeline-right {
	width: 400px;
}

@media (max-width: 991.98px) {
	.timeline-person .timeline-content,
	.timeline-timesheet .timeline-content {
		width: calc(400px + 100vw - 1.5rem)
	}

	.timeline-left {
		width: calc(100vw - 1.5rem);
	}
}

.timeline-schedule {
	min-height: 200px;
}

/* Timesheet */
.timesheet__header {
	height: 40px;
	margin-bottom: 2px;
}

@media (min-width: 992px) {
	.timeline-scroll .timesheet__header {
		top: 66px;
		position: sticky;
		z-index: 10;
		background-color: rgba(var(--bs-white-rgb),var(--bs-bg-opacity))!important;
	}
}

.timesheet__item {
	height: 54px;
}

.timesheet__item:hover {
	background-color: #f2f2f2!important;
}

.timesheet__left {
	width: 200px;
}

.timesheet__right {
	width: calc(100% - 200px);
}

.timesheet__time-shift,
.timesheet__time-total {
	font-size: 0.95rem!important;
	border-color: var(--bs-gray-300)!important;
}

.timesheet__input {
	background: none!important;
}

.timesheet__action-loader {
	display: none;
}

.timesheet__action-success {
	display: none;
}

.timesheet__action-fail {
	display: none;
}

/* Tabs */
.tabs__item {
	height: 0px;
	padding: 0px;
	margin: 0px;
	overflow: hidden;
}

.tabs__item.active {
	height: initial;
	padding: initial;
	margin: initial;
	overflow: initial;
}

.tabs-children__item {
	height: 0px;
	padding: 0px;
	margin: 0px;
	overflow: hidden;
}

.tabs-children__item.active {
	height: initial;
	padding: initial;
	margin: initial;
	overflow: initial;
}

@media (max-width: 767.98px) {
	.tabs-children-md .row {
		margin: initial!important;
		padding: initial!important;
	}

	.tabs-children__item-md {
		height: 0px;
		padding: 0px;
		margin: 0px;
		overflow: hidden;
	}

	.tabs-children__item-md.active {
		height: initial;
		padding: initial;
		margin: initial;
		overflow: initial;
	}
}

/* JB Validator */
.hidden-invalid-feedback .invalid-feedback {
	display: none!important;
}

/* Shifts table */
.shifts-table__day {
	max-width: 70px;
	min-width: 70px;
}

/* Terminals */
.terminals__icon {
	width: 32px;
}

.terminals__content {
	width: calc(100% - 32px);
}

/* Reports create */
.reports-create-group select,
.reports-create-group .select2 {
	width: 80px;
	max-width: 80px;
	text-align: right;
}

.reports-create-group .input-group-text {
	width: 48px;
}

/* Switcher */
.switcher__item {
	width: 30px;
	height: 30px;
	display: flex;
	cursor: pointer;
	position: relative;
}

.switcher__item:before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	border: 2px solid #000;
	opacity: 0;
	transition: opacity 0.4s ease-in-out;
}

.switcher__item.active:before,
.switcher__item:hover:before {
	opacity: 1;
}

/* Attendance */
.attendance-table {
	min-height: 200px;
}

.attendance-table .table>thead>*>* {
    padding: 1rem 0.5rem;
}

.attendance-table thead tr:first-child {
	border-top: none;
}

.attendance-table tr td:first-child,
.attendance-table tr th:first-child {
	border-left: none;
}

.attendance-table tr td:last-child,
.attendance-table tr th:last-child {
	border-right: none;
}

.attendance-table--default thead {
	top: 66px!important;
}

.attendance-table--orgperson .table>:not(caption)>*>*,
.attendance-table--group .table>:not(caption)>*>* {
	padding-top: 1rem;
	padding-bottom: 1rem;
}

.attendance-table--group thead {
	top: -1rem!important;
}

.attendance-table-employee {
	max-width: 320px;
	min-width: 320px;
}

.attendance-table--group .attendance-table-employee {
	max-width: 290px;
	min-width: 290px;
}

.attendance-table-date {
	max-width: 220px;
	min-width: 200px;
}

.attendance-table-firstmark-info {
	bottom: 100%;
}

.attendance-icon-late {
	width: 16px;
	height: 16px;
	flex-shrink: 0;
	display: flex;
	background-color: #D12F2F;
}

.attendance-icon-lg-late {
	width: 24px;
	height: 24px;
}

.attendance-icon-notarrived {
	width: 16px;
	height: 16px;
	flex-shrink: 0;
	display: flex;
	background-color: #00A4FF;
}

.attendance-icon-lg-notarrived {
	width: 24px;
	height: 24px;
}

.attendance-icon-onworkplace {
	width: 16px;
	height: 16px;
	flex-shrink: 0;
	display: flex;
	background-color: #00a54a;
}

.attendance-icon-lg-onworkplace {
	width: 24px;
	height: 24px;
}

.attendance-chart .dropdown .btn {
	padding: 0.375rem 0.4rem;
}

.attendance-chart .dropdown .btn span {
	font-size: 0.75em;
}

@media (min-width: 992px) {
	.attendance-overflow {
		cursor: initial!important;
	}
}

@media (max-width: 1199.98px) {
	.attendance-table-employee
	.attendance-table-date {
		min-width: initial;
	}

	.attendance-table--group .attendance-table-employee {
		min-width: initial;
	}
}

@media (max-width: 991.98px) {
	.attendance-table {
		width: 100%;
		max-width: 100%;
		overflow: hidden;
		box-shadow: 0 4px 15px 0 rgba(0, 0, 0, 0.1);
	}

	.attendance-overflow {
		width: 100%;
		max-width: 100%;
		max-height: 400px;
		overflow: auto;
	}

	.attendance-table thead {
		top: 0px!important;
	}

	.attendance-table .table {
		margin-bottom: 0px!important;
	}

	.attendance-table .table>:not(caption)>*>* {
		padding: 0.5rem 1rem;
	}

	.attendance-table--orgperson .table>:not(caption)>*>*,
	.attendance-table--group .table>:not(caption)>*>* {
		padding-top: 1rem;
		padding-bottom: 1rem;
	}

	.attendance-table .table>thead>*>* {
		padding: 1rem;
	}

	.attendance-table-employee,
	.attendance-table-date {
		min-width: 160px;
	}

	.attendance-table--group .attendance-table-employee {
		min-width: 160px;
	}

	.attendance-table-employee span:first-child {
		font-size: 0.9rem;
	}

	.attendance-table .table thead::after {
		content: '';
		position: absolute;
		bottom: -5px;
		left: 0;
		width: 100%;
		height: 6px;
		background: linear-gradient(180deg,
			rgba(0, 0, 0, 0.05) 0%,
			rgba(0, 0, 0, 0.02) 50%,
			rgba(0, 0, 0, 0) 100%);
		pointer-events: none;
		z-index: 1;
	}

	.attendance-table .table thead tr th:first-child::after {
		content: '';
		position: absolute;
		bottom: -5px;
		left: 0;
		width: 100%;
		height: 6px;
		background: linear-gradient(180deg,
			rgba(0, 0, 0, 0.05) 0%,
			rgba(0, 0, 0, 0.02) 50%,
			rgba(0, 0, 0, 0) 100%);
		pointer-events: none;
		z-index: 1;
	}

	.attendance-table .table thead tr th:first-child:before {
		content: '';
		position: absolute;
		top: 0;
		right: -5px;
		width: 6px;
		height: 100%;
		background: linear-gradient(90deg,
			rgba(0, 0, 0, 0.1) 0%,
			rgba(0, 0, 0, 0.05) 50%,
			rgba(0, 0, 0, 0) 100%);
		pointer-events: none;
		z-index: 1;
	}

	.attendance-table table td:first-child:after {
		content: '';
		position: absolute;
		top: 0;
		right: -5px;
		width: 6px;
		height: 100%;
		background: linear-gradient(90deg,
			rgba(0, 0, 0, 0.1) 0%,
			rgba(0, 0, 0, 0.05) 50%,
			rgba(0, 0, 0, 0) 100%);
		pointer-events: none;
		z-index: 1;
	}
}

/* Orgperson stats */
.orgperson-stats-ajax {
	min-height: 450px;
}