/* MAIN */
html
{
	overflow: hidden;
	height: 100%;
}

body
{
	overflow: hidden;
	background: var(--optimus-main-background) !important;
	scrollbar-width: thin;
	scrollbar-color: var(--optimus-scrollbar-thumb) var(--optimus-scrollbar-track);
}

::-webkit-scrollbar
{
	width: 6px;
	height: 6px;
}

::-webkit-scrollbar-track
{
	background: var(--optimus-scrollbar-track)
}

::-webkit-scrollbar-thumb
{
	background: var(--optimus-scrollbar-thumb)
}

::-webkit-scrollbar-thumb:hover
{
	background: var(--optimus-scrollbar-thumb-hover)
}

::-webkit-scrollbar-thumb:active
{
	background: var(--optimus-scrollbar-thumb-active)
}

input:not([type="date"])::-webkit-calendar-picker-indicator
{
	display: none !important
}

/* BULMA OVERRIDE */
.button:not(.is-rounded), .button.is-small:not(.is-rounded), .file-cta, .select select
{
	border-radius: 6px;
	box-shadow: unset;
}

button:disabled,
button[disabled]
{
	filter: grayscale(1);
}

.button:disabled,
.button[disabled]
{
	filter: grayscale(1);
}

.message,
.table-container
{
	border-radius: 8px;
	box-shadow: 0 .5em 1em -.125em rgba(10, 10, 10, .1), 0 0 0 1px rgba(10, 10, 10, .02);
}

.table thead td
{
	background-color: var(--optimus-tabs-active-background);
	color: var(--optimus-tabs-active-text-color);
}

.dropdown-divider
{
	background-color: var(--optimus-border-color)
}

.modal-card-head,
.modal-card-title,
.message-header
{
	background: var(--optimus-leftmenu-item-active-background);
	color: var(--optimus-leftmenu-item-active-text-color)
}

.message
{
	background: var(--optimus-leftmenu-background);
	border-radius: 8px;
}

@media screen and (max-width:767px)
{
	.field.is-grouped.buttons-group
	{
		display: grid;
		grid-template-columns: 1fr 1fr;
		grid-gap: 3px;
	}

	.field.is-grouped.buttons-group .button
	{
		width: 100%;
	}
}

/* BULMA ADDON */
@media screen and (max-width:1023px)
{
	.is-paddingless-touch
	{
		padding: 0 !important;
	}

	.is-marginless-touch
	{
		margin: 0 !important;
	}
}

@media screen and (max-width:767px)
{
	.is-paddingless-mobile
	{
		padding: 0 !important;
	}

	.is-marginless-mobile
	{
		margin: 0 !important;
	}

	.is-justify-content-center-mobile
	{
		justify-content: center;
	}

	.is-flex-grow-1-mobile
	{
		flex-grow: 1;
	}

	.is-flex-wrap-mobile
	{
		flex-wrap: wrap;
	}
}

@media screen and (min-width:767px)
{
	.is-justify-content-center-mobile
	{
		justify-content: space-between;
	}
}

.is-overflow-scroll
{
	overflow: scroll;
}

.is-overflow-auto
{
	overflow: auto;
}

@media screen and (min-width:768px)
{
	.is-justify-content-flex-end-desktop
	{
		justify-content: flex-end;
	}
}

/* HACK TO HIDE DATEPICKERS ON FIREFOX */
@-moz-document url-prefix()
{
	.control.has-icons-right .input[type=date].no-picker
	{
		padding-right: 6px !important
	}
}

/* OPTIMUS */
.optimus-base
{
	transition: all .2s ease-out;
	height: 100dvh;
	overflow: hidden;
	display: flex;
	flex-direction: column;
}

.optimus-full-layout
{
	overflow: auto;
}

.optimus-left
{
	z-index: 1000
}

.optimus-center
{
	z-index: 0;
	/* Ajout flexbox */
	display: flex;
	flex-direction: column;
}

.optimus-right
{
	z-index: 1
}

.optimus-left
{
	z-index: 10000;
}

.optimus-right
{
	z-index: 1
}

.optimus-brand
{
	border-bottom: 1px solid var(--optimus-border-color);
	background: var(--optimus-navbar-background);
	padding: .5rem;
	z-index: 5;
	display: flex;
	align-items: center;
	transition: all .2s ease-out;
}

.optimus-logo
{
	width: 150px;
	transition: width .2s ease-out, filter 0s linear;
}

.optimus-version
{
	color: var(--optimus-leftmenu-header-text-color);
	font-style: italic;
	font-weight: bold;
	display: flex;
	align-items: center;
}

.optimus-navbar
{
	width: min(100vw, 100%);
	background: var(--optimus-navbar-background);
	box-shadow: 6px 4px 12px rgba(128, 128, 128, 0.1);
	border-bottom: 1px solid var(--optimus-border-color);
	display: flex;
	align-items: center;
	z-index: 1;
}

.optimus-main
{
	width: calc(100vw - 225px);
	background-color: var(--optimus-main-background);
	padding: 2rem;
	display: flex;
	flex-direction: column;
	flex-grow: 1;
	z-index: 0;
	overflow: auto;
	scrollbar-width: thin;
	transition: all .2s ease-out;
}

.optimus-back.button.is-small
{
	visibility: hidden;
	text-decoration: none;
	box-shadow: unset;
	margin-top: -1.75rem;
	margin-left: -1.75rem;
}

.optimus-topmenu-trigger,
.optimus-leftmenu-trigger,
.optimus-darkmode-trigger,
.optimus-websocket-indicator,
.optimus-lightmode-trigger,
.optimus-login-trigger,
.optimus-notificationmenu-trigger
{
	padding: .5rem;
	margin: 0;
	margin-top: .15rem;
	border: 0;
	outline: 0;
	box-shadow: unset;
	height: 3rem;
	background: unset;
	color: var(--optimus-navbar-icon-color);
	transition: all .2s ease-out;
}

.optimus-websocket-indicator
{
	transition: all 0s;
}

.optimus-topmenu-trigger:hover,
.optimus-leftmenu-trigger:hover,
.optimus-darkmode-trigger:hover,
.optimus-lightmode-trigger:hover,
.optimus-notificationmenu-trigger:hover
{
	color: var(--optimus-navbar-icon-hover-color);
	transition: all .1s ease-out;
}

.optimus-toast
{
	max-width: 300px;
}

.optimus-badge:empty
{
	display: none;
	z-index: 99999 !important
}

/* TABS */
.optimus-tabs.is-toggle
{
	scrollbar-width: thin;
	min-height: 52px;
}

.optimus-tabs.is-toggle li a
{
	background: var(--optimus-tabs-background) !important;
	color: var(--optimus-tabs-text-color) !important;
	border: 1px solid var(--optimus-border-color) !important;
}

.optimus-tabs li a:hover
{
	color: var(--optimus-tabs-hover-text-color);
	border-color: var(--optimus-tabs-hover-background)
}

.optimus-tabs.is-toggle li a:hover
{
	background: var(--optimus-tabs-hover-background) !important;
	color: var(--optimus-tabs-hover-text-color) !important;
	border: 1px solid var(--optimus-border-color) !important;
}

.optimus-tabs li.is-active a
{
	color: var(--optimus-tabs-active-background) !important;
}

.optimus-tabs.is-toggle li.is-active a
{
	background: var(--optimus-tabs-active-background) !important;
	color: var(--optimus-tabs-active-text-color) !important;
	border: 1px solid var(--optimus-tabs-active-background) !important;
}




.optimus-tabs.is-toggle li:first-child a,
.optimus-tabs.is-toggle li:last-child a
{
	border-bottom-left-radius: 0;
	border-bottom-right-radius: 0;
}

/* TOPMENU */
.optimus-topmenu .dropdown-menu
{
	border: 1px solid var(--optimus-border-color);
	top: 3rem;
	left: unset;
	width: auto;
	right: 0;
	padding: 0;
	z-index: 999;
	display: unset;
	visibility: hidden;
	opacity: 0;
	transform-origin: top right;
	transform: scale(0.5);
	transition: all .1s ease-out;
}

.optimus-topmenu.is-active .dropdown-menu
{
	display: unset;
	visibility: visible;
	opacity: 1;
	border-radius: 8px;
	box-shadow: 6px 6px 12px rgba(0, 0, 0, 0.25);
	transform-origin: top right;
	transform: scale(1);
	transition: all .1s ease-out;
}

.optimus-topmenu .dropdown-content
{
	background: var(--optimus-topmenu-background);
	padding: 0;
	padding-top: .5rem;
	padding-bottom: .5rem;
	border-radius: 8px;
}

.optimus-topmenu .dropdown-item
{
	color: var(--optimus-topmenu-item-color);
	padding: .5rem 1rem;
}

.optimus-topmenu .dropdown-item:hover
{
	background: var(--optimus-topmenu-item-hover-background);
	color: var(--optimus-topmenu-item-hover-text-color);
}

.optimus-topmenu .dropdown-item.is-active
{
	background: var(--optimus-topmenu-item-active-background);
	color: var(--optimus-topmenu-item-active-text-color);
}

.optimus-topmenu .dropdown-item span:last-child
{
	width: calc(100% + 30px);
}

.optimus-topmenu-header
{
	background: var(--optimus-topmenu-header-background);
	color: var(--optimus-topmenu-header-text-color);
	padding: .5rem 1rem;
	font-size: 0.75rem;
	letter-spacing: .1em;
	text-transform: uppercase;
	border-top: 1px solid var(--optimus-border-color);
	border-bottom: 1px solid var(--optimus-border-color);
	white-space: nowrap;
}

.optimus-topmenu-header:first-child
{
	border-top: 0;
	margin-top: -.5rem;
	border-top-left-radius: 8px;
	border-top-right-radius: 8px;
}

.optimus-topmenu-header:not(:first-child),
.optimus-topmenu-header + a
{
	margin-top: .5rem;
}

/* LEFTMENU */
.optimus-leftmenu-trigger
{
	transform: rotate(180deg);
	margin-top: -2px;
	transition: all .2s ease-out;
}

.optimus-leftmenu
{
	background: var(--optimus-leftmenu-background);
	border-right: 1px solid var(--optimus-border-color);
	box-shadow: 4px 6px 12px rgba(128, 128, 128, 0.1);
	height: calc(100vh - 3.25rem);
	width: 225px;
	overflow-x: hidden;
	overflow-y: auto;
	white-space: nowrap;
	transition: all .2s ease-out;
	user-select: none;
	scrollbar-width: thin;
}

@media only screen and (max-width : 767px)
{
	.optimus-leftmenu
	{
		height: calc(100vh - 6.50rem);
	}

	@media screen and (display-mode: fullscreen),
	screen and (display-mode: standalone),
	screen and (display-mode: minimal-ui)
	{
		.optimus-leftmenu
		{
			height: calc(100vh - 3.25rem);
		}
	}
}

.optimus-leftmenu li,
.optimus-leftmenu a
{
	color: var(--optimus-leftmenu-item-text-color);
	display: flex;
	align-items: center;
}

.optimus-leftmenu li:hover:not(.is-active),
.optimus-leftmenu li:hover:not(.is-active) a
{
	background: var(--optimus-leftmenu-item-hover-background);
	color: var(--optimus-leftmenu-item-hover-text-color);
}

.optimus-leftmenu li.is-active,
.optimus-leftmenu li.is-active a
{
	background: var(--optimus-leftmenu-item-active-background);
	color: var(--optimus-leftmenu-item-active-text-color) !important;
}



/* LEFTMENU COLLAPSABLE BLOCKS */
.optimus-leftmenu > div > input[type=checkbox]
{
	display: none;
}

.optimus-leftmenu > div > input[type=checkbox] + label
{
	margin: 0 !important;
	display: block;
	border-bottom: 1px solid var(--optimus-border-color);
	background: var(--optimus-leftmenu-header-background);
	color: var(--optimus-leftmenu-header-text-color);
	padding: 0.5rem;
	transition: all .2s ease-out, padding 0s ease-out;
}

.optimus-leftmenu > div > input[type=checkbox] + label > i
{
	margin-top: 2px;
	transform: rotate(90deg);
	transition: transform 0.2s ease-out;
}

.optimus-leftmenu > div > input[type=checkbox]:checked + label > i
{
	transform: rotate(0deg);
	transition: transform 0.2s ease-out;
}


.optimus-leftmenu > div > input[type=checkbox]:checked + label + ul
{
	border-bottom: 1px solid var(--optimus-border-color);
	transition: border-bottom 0s ease-out;
}

.optimus-leftmenu > div > input[type=checkbox] + label + ul
{
	border-top: 0px solid var(--optimus-border-color);
	padding: 0 0;
	transition: all 0.2s ease-out;
}

.optimus-leftmenu > div > input[type=checkbox]:checked + label + ul > li
{
	position: relative;
	height: 2.25rem;
	opacity: 1;
	visibility: visible;
	transition: display .2s steps(1, end), height 0.2s ease-out, opacity 0.1s ease-out;
}

.optimus-leftmenu > div > input[type=checkbox]:checked + label + ul > li:first-child
{
	margin-top: .5rem;
}

.optimus-leftmenu > div > input[type=checkbox]:checked + label + ul > li:last-child
{
	margin-bottom: .5rem;
}

.optimus-leftmenu > div > input[type=checkbox] + label + ul > li
{
	padding: 0;
	height: 0;
	opacity: 0;
	visibility: hidden;
	transition: visibility .2s steps(1, end), height 0.2s ease-out, opacity 0.1s ease-out;
}

.optimus-leftmenu > div > input[type=checkbox]:checked + label + ul > li > a > span + span
{
	position: absolute;
	right: .5rem;
	top: .5rem;
}

.optimus-leftmenu > div > input[type=checkbox]:not(:checked) + label + ul > li > a > span + span
{
	display: none;
}

.optimus-leftmenu > div > input[type=checkbox] + label + ul > li > a > span + span:empty
{
	display: none;
}

.optimus-leftmenu > div:last-of-type > input[type=checkbox] + label + ul
{
	border-bottom: 0
}


/* LEFTMENU MINIMIZED */
@media screen and (min-width:1280px)
{
	.menu-minimized .optimus-leftmenu-trigger
	{
		transform: rotate(90deg);
		margin-top: -2px;
		transition: all .2s ease-out;
	}

	.menu-minimized .optimus-brand
	{
		padding: 0;
		margin: 0;
		transition: all .2s ease-out;
	}

	.menu-minimized .optimus-logo
	{
		width: 0;
		margin: 0;
		margin-right: 0 !important;
		transition: width .2s ease-out, filter 0s linear;
	}

	.menu-minimized .optimus-version
	{
		margin: auto;
		transition: all .2s ease-out;
	}

	.menu-minimized .optimus-leftmenu
	{
		width: 50px;
		margin: 0px;
	}

	.menu-minimized .optimus-main
	{
		width: calc(100vw - 50px);
		transition: all .2s ease-out;
	}

	.menu-minimized .optimus-leftmenu li
	{
		background: unset;
	}

	.menu-minimized .optimus-leftmenu > div > input[type=checkbox] + label
	{
		width: 0;
		height: 0;
		opacity: 0;
		padding: 0;
		transition: all .2s ease-out;
	}

	.menu-minimized .optimus-leftmenu > div > input[type=checkbox] + label + ul
	{
		padding: 0 !important;
		border: 0 !important;
	}

	.menu-minimized .optimus-leftmenu > div > input[type=checkbox] + label > i
	{
		display: none;
	}

	.menu-minimized .optimus-leftmenu > div > input[type=checkbox] + label + ul > li:first-child,
	.menu-minimized .optimus-leftmenu > div > input[type=checkbox] + label + ul > li:last-child
	{
		margin-top: 0;
		margin-bottom: 0;
	}

	.menu-minimized .optimus-leftmenu > div > input[type=checkbox] + label + ul > li > a > span + span
	{
		display: none;
	}

	.menu-minimized .optimus-leftmenu > div > input[type=checkbox] + label + ul > li > a > i
	{
		transform: scale(1.35);
		transition: all .2s ease-out;
	}

	.menu-minimized .optimus-leftmenu > div > input[type=checkbox] + label + ul > li > a > span
	{
		width: 0;
		opacity: 0;
		text-overflow: ellipsis;
		transition: all .2s ease-out;
	}
}


/* LEFTMENU HIDDEN */
.menu-hidden .optimus-leftmenu-trigger
{
	transform: rotate(0deg);
	margin-top: 2px;
	transition: all .2s ease-out;
}

.menu-hidden .optimus-leftmenu
{
	margin-left: -50px;
	transition: all .2s ease-out;
}

.menu-hidden .optimus-brand
{
	margin-left: -50px;
	transition: all .2s ease-out;
}

.menu-hidden .optimus-main
{
	width: 100vw;
	transition: all .2s ease-out;
}

.menu-hidden .optimus-leftmenu > div > input[type=checkbox] + label + ul > li > a > span + span
{
	visibility: hidden;
}


/* RIGHT NOTIFICATIONMENU */
.optimus-notificationmenu
{
	position: fixed;
	top: 3.25rem;
	right: 0;
	width: 225px;
	height: calc(100vh - 3.25rem);
	background: var(--optimus-notificationmenu-background);
	border-left: 1px solid var(--optimus-border-color);
	box-shadow: -6px 6px 12px rgba(128, 128, 128, 0.1);
	overflow-y: auto;
	z-index: 1000;
	transition: all .2s ease-out;
}

.optimus-notificationmenu.notificationmenu-hidden
{
	opacity: 0;
	right: -225px;
	transition: all .2s ease-out;
}

.optimus-notificationmenu > article
{
	opacity: 1;
	max-height: 200px;
	margin-bottom: 0 !important;
	border-radius: 0;
	transition: all .2s ease-out;
}

.optimus-notificationmenu > article.added
{
	animation: fadeIn .2s linear;
}

.optimus-notificationmenu > article.removed
{
	opacity: 0;
	max-height: 0;
	transition: all .2s ease-out;
}

.optimus-notificationmenu > article > .message-header
{
	border-radius: 0;
	padding: .5rem;
}

.optimus-notificationmenu > article > .message-body
{
	background: var(--optimus-notificationmenu-item-body-background);
	color: var(--optimus-notificationmenu-item-body-text-color) !important;
	padding: .5rem;
	padding-bottom: 0;
	text-overflow: ellipsis;
	overflow: hidden;
	display: block;
	max-height: 138px;
	border-radius: 0;
}

.optimus-notificationmenu > article > .message-time
{
	background: var(--optimus-notificationmenu-item-time-background);
	color: var(--optimus-notificationmenu-item-time-text-color) !important;
	text-align: right;
	padding: .25rem;
	padding-top: 0;
	margin: 0;
}

.optimus-notificationmenu > article:last-child > .message-time
{
	border-bottom: 1px solid var(--optimus-border-color);
}

.optimus-notificationmenu-badge
{
	transform: scale(0.85) translate(-20px, 0px);
	margin-right: -14px;
	opacity: 1;
	transition: all .2s ease-out;
}

.optimus-notificationmenu-badge:empty
{
	opacity: 0;
	transition: all .2s ease-out;
}


/* BULMA CALENDAR */
input[type="date"].no-picker
{
	margin-right: -2rem;
}

input.no-picker::-webkit-calendar-picker-indicator
{
	display: none;
}

input[type="date"].no-picker::-webkit-input-placeholder
{
	visibility: hidden !important;
}

.datetimepicker-dummy-wrapper
{
	min-width: 160px !important;
	width: 160px !important;
}

.datetimepicker-dummy-wrapper.is-validating
{
	transition: all 0s;
	border-radius: 4px;
	border-color: rgb(72, 199, 142, 0.75) !important;
	box-shadow: 0 0 0 0.1em rgba(0, 201, 110, 0.5);
}

.datetimepicker-dummy-wrapper.is-validating::before,
.datetimepicker-dummy-wrapper.is-validating > input,
.datetimepicker-dummy-wrapper.is-validating + *
{
	color: rgb(72, 199, 142, 0.75) !important;
}

.datetimepicker-dummy-wrapper.is-invalid
{
	transition: all 0s;
	border-radius: 4px;
	border-color: rgb(255, 56, 96, 0.75) !important;
	box-shadow: 0 0 0 0.1em rgba(255, 56, 96, 0.5);
}

.datetimepicker-dummy-wrapper.is-invalid::before,
.datetimepicker-dummy-wrapper.is-invalid > input,
.datetimepicker-dummy-wrapper.is-invalid + *
{
	color: rgb(255, 56, 96, 0.75) !important;
}

.datetimepicker-dummy-wrapper::before
{
	background-color: unset !important;
	mask: unset !important;
	font-family: "Font Awesome 6 Free" !important;
	font-size: 1.1rem !important;
	content: "\f133" !important;
	top: 0.45rem !important;
}

.datetimepicker-dummy-input:first-child
{
	text-indent: 1.8rem !important;
}

.datepicker-body
{
	height: 270px
}

.datetimepicker .datetimepicker-footer > *
{
	margin: 12px 0;
}

.datetimepicker .datetimepicker-footer-validate
{
	color: hsl(141, 71%, 48%) !important
}

.datetimepicker .datetimepicker-footer-today
{
	color: hsl(217, 71%, 53%) !important
}

.datetimepicker .datetimepicker-footer-clear
{
	color: hsl(348, 100%, 61%) !important
}

.datetimepicker .datetimepicker-footer-cancel
{
	color: hsl(0, 0%, 21%) !important
}

.datepicker-keyboard-input
{
	background: transparent;
	color: #ffffff;
	padding: 24px;
	text-align: center;
	width: 320px;
	border: 0;
	outline: 0;
	font-size: 20px;
}

.datepicker-keyboard-input::-webkit-calendar-picker-indicator
{
	display: none;
}


/* BULMA STEPS */
.steps > li
{
	list-style: none;
}

ul.steps
{
	margin-left: 0;
}


/* RESOURCE FINDER */
input[type=resourcefinder]
{
	border-radius: 5px 5px 0 0
}

[data-type="resourcefinder"] + datalist
{
	position: absolute;
	background-color: var(--optimus-leftmenu-background);
	border: 1px solid var(--optimus-border-color);
	border-top: 0;
	border-radius: 0 0 6px 6px;
	box-shadow: 6px 6px 12px rgba(0, 0, 0, 0.25);
	width: 100%;
	max-height: 351px;
	overflow: auto;
	z-index: 9999
}

[data-type="resourcefinder"] + datalist option
{
	background-color: var(--optimus-leftmenu-background);
	color: var(--optimus-leftmenu-item-text-color);
	padding: 4px;
	margin-bottom: 1px;
	cursor: pointer;
	padding: 5px;
}

[data-type="resourcefinder"] + datalist option:hover,
[data-type="resourcefinder"] + datalist option.is-active
{
	background-color: var(--optimus-leftmenu-item-active-background);
	color: var(--optimus-leftmenu-item-active-text-color);
}

/* FULLCALENDAR */
.optimus-calendar .fc-scrollgrid-sync-inner,
.optimus-calendar .fc-scrollgrid-sync-inner a,
.optimus-calendar .fc-timegrid-slot-label-cushion,
.optimus-calendar .fc-timegrid-axis-cushion
{
	font-size: .85rem;
	text-align: center;
	padding: auto;
	font-weight: normal;
	color: var(--optimus-topmenu-item-color) !important;
}

.optimus-calendar .fc-header-toolbar
{
	display: none;
	margin-bottom: 0 !important
}

.optimus-calendar .fc-view-harness
{
	z-index: 0;
	margin: -1px !important;
}

.optimus-calendar
{
	margin-bottom: 0 !important;
}

.optimus-calendar .button
{
	z-index: 0 !important;
}

.optimus-calendar .button:focus:not(:active)
{
	box-shadow: unset;
	border: 1px solid var(--optimus-border-color) !important;
}

.optimus-calendar-container
{
	padding: 0rem;
	border-radius: 8px !important;
	border: 1px solid var(--optimus-border-color) !important;
	height: calc(100vh - 11.25rem);
	background-color: #FFFFFF;
	overflow: hidden
}

@media only screen and (max-width : 1023px)
{
	.optimus-calendar
	{
		padding-top: 1.5rem !important;
	}

	.optimus-calendar-container
	{
		padding-bottom: 0 !important;
		height: calc(100vh - 12.25rem);
	}

	@media screen and (display-mode: fullscreen),
	screen and (display-mode: standalone),
	screen and (display-mode: minimal-ui)
	{
		.optimus-calendar-container
		{
			height: calc(100vh - 8.75rem);
		}
	}
}

.optimus-calendar-datepicker-button
{
	min-width: 190px;
	min-height: 40px;
	font-size: 0.85rem;
}

/* OPTIMUS FORM */
.control.is-validating input,
.select.is-validating,
.select.is-validating select,
.textarea.is-validating
{
	transition: all 0s;
	color: rgb(72, 199, 142);
	border-radius: 4px;
	border-color: rgb(72, 199, 142, 0.75) !important;
	box-shadow: 0 0 0 0.1em rgba(0, 201, 110, 0.5);
}

.control.is-validating > span > i.datepicker
{
	color: rgb(72, 199, 142) !important;
}



/* ROMAIN */
#new-event-form
{
	display: flex;
	flex-direction: column;
	overflow: auto;
}

#edit-event-form
{
	display: flex;
	flex-direction: column;
	overflow: auto;
}

/* LOADER */
.optimus-loader
{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 99999;
	cursor: progress;
	background: var(--optimus-navbar-background);
	outline: 1px solid var(--optimus-border-color);
	overflow: hidden;
}

/* TABULATOR */
.optimus-table
{
	transition: all .2s ease-out
}

.optimus-table .tabulator
{
	background-color: unset;
	border-radius: 8px;
	font-size: 16px;
}

.optimus-table .optimus-table-container
{
	padding: 0;
}

.optimus-table .tabulator .tabulator-header
{
	background: var(--optimus-tabs-active-background);
	color: var(--optimus-tabs-active-text-color);
	font-weight: normal;
}

.optimus-table .tabulator .tabulator-header .tabulator-frozen
{
	background: var(--optimus-tabs-active-background);
}

.optimus-table .tabulator .tabulator-headers > div.tabulator-frozen
{
	border-right: 1px solid var(--optimus-leftmenu-header-background) !important;
	border-left: 0 !important;
}

.optimus-table .tabulator-col[aria-sort="none"] .tabulator-col-sorter
{
	display: none !important;
}

.optimus-table .tabulator-col[aria-sort="ascending"] .tabulator-col-sorter
{
	color: var(--optimus-leftmenu-item-active-text-color) !important;
}

.optimus-table .tabulator-col[aria-sort="descending"] .tabulator-col-sorter
{
	color: var(--optimus-leftmenu-item-active-text-color) !important;
	transform: rotate(180deg);
	transition: 0.2s all ease-out
}

.optimus-table .tabulator .tabulator-header
{
	border-width: 0;
}

.optimus-table .tabulator .tabulator-tableholder::-webkit-scrollbar
{
	height: 8px;
	width: 8px;
}

.optimus-table .tabulator .tabulator-footer
{
	border-width: 0;
	border-top-width: 1px;
	border-color: var(--optimus-border-color);
	background-color: #FFFFFF
}

.optimus-table .tabulator .tabulator-paginator
{
	color: var(--optimus-leftmenu-item-text-color) !important;
	font-weight: normal !important;
}

.optimus-table .tabulator-row .tabulator-cell
{
	border-top-width: 0 !important;
	border-bottom-width: 0 !important;
	border-color: #ffffff !important;
	padding: 0.25em 0.75em
}

.optimus-table .tabulator-row .tabulator-cell i
{
	color: var(--optimus-leftmenu-item-text-color);
}

.optimus-table .tabulator-row
{
	background: var(--optimus-leftmenu-background);
	color: var(--optimus-leftmenu-item-text-color);
}

.optimus-table .tabulator-row.tabulator-group
{
	background: var(--optimus-leftmenu-item-active-background) !important;
	font-weight: normal !important;
	color: #FFFFFF !important;
	border-top: 1px solid var(--optimus-border-color) !important;
	border-bottom: 0 !important;
}

.optimus-table .tabulator-row.tabulator-group.tabulator-group-visible .tabulator-arrow
{
	border-top-color: #FFFFFF;
}

.optimus-table .tabulator-row.tabulator-group span
{
	color: unset !important
}

.optimus-table .tabulator-row.tabulator-group .tabulator-arrow
{
	border-left-color: #FFFFFF;
}

.optimus-table .tabulator
{
	background-color: #ffffff;
}

.optimus-table.is-striped .tabulator .tabulator-row-even
{
	background-color: var(--optimus-leftmenu-header-background);
}

.optimus-table.is-bordered .tabulator
{
	border: 1px solid var(--optimus-border-color);
}

.optimus-table.is-bordered-vertical .tabulator .tabulator-header .tabulator-col:not(:last-of-type)
{
	border-right: 1px solid var(--optimus-leftmenu-header-background);
}

.optimus-table.is-bordered-vertical .tabulator .tabulator-tableholder .tabulator-table .tabulator-row .tabulator-cell:not(:last-of-type)
{
	border-right: 1px solid var(--optimus-leftmenu-header-background);
}

.optimus-table .tabulator-calcs-bottom:not(:last-of-type)
{
	border-color: var(--optimus-border-color) !important;
	border-width: 1px 0 1px !important;
}

.optimus-table .tabulator-calcs-bottom:last-of-type
{
	border-color: var(--optimus-border-color) !important;
	border-width: 1px 0 0 !important;
}

.optimus-table div.tabulator-row.tabulator-group
{
	border-top: 0
}

.optimus-table div.tabulator-row.tabulator-selected .tabulator-cell
{
	background: #dfe9ff;
	color: #000000 !important;
	box-shadow: 0 1px 0 #ffffff inset;
}

.optimus-table .tabulator-editing textarea
{
	background-color: unset;
	outline-color: #485fc7;
	border-width: 0;
	padding: 4px 11px !important;
	font-size: 16px;
	line-height: 1.5rem;
}

.optimus-table .tabulator-editing select
{
	background-color: unset;
	border: 1px solid #485fc7 !important;
	box-sizing: border-box;
	margin: 0px !important;
	padding-bottom: 2px !important;
	padding-left: 6px !important;
	font-size: 16px;
}

.optimus-table .tabulator-editing input[type=text]
{
	border: 1px solid #485fc7 !important;
	font-size: 16px;
	padding-top: 2px !important;
	padding-left: 10px !important;
}

.optimus-table .tabulator-editable
{
	cursor: cell
}

.tabulator-edit-list
{
	scrollbar-width: thin;
	scrollbar-color: var(--optimus-scrollbar-thumb) var(--optimus-scrollbar-track);
}

.tabulator-edit-list-item
{
	padding-left: 11px !important;
}

.tabulator-edit-list-item:hover
{
	background: var(--optimus-leftmenu-item-active-background) !important;
}

.optimus-table .tabulator-tableholder .tabulator-row:not(.tabulator-group):not(.tabulator-calcs):hover,
.optimus-table .tabulator-tableholder .tabulator-row:not(.tabulator-group):not(.tabulator-calcs):hover .tabulator-cell
{
	background-color: #eaeaff !important;
}

.tabulator-edit-list-item.focused,
.tabulator-edit-list-item.active
{
	background-color: var(--optimus-leftmenu-item-active-background) !important;
	color: #FFFFFF !important;
	outline: 0 !important;
}


/* TABULATOR PRINT OUTPUT */
.tabulator-print-header
{
	font-size: 2rem;
	font-weight: bold;
	color: #404040;
	text-align: center;
	padding: 1rem
}

.tabulator-print-table
{
	border: 1px solid #404040;
	width: 100%
}

.tabulator-print-table thead
{
	background: var(--optimus-leftmenu-item-active-background);
}

.tabulator-print-table thead th
{
	padding: .5rem;
	color: #FFFFFF;
	border-bottom: 1px solid #000000;
	border-right: 1px solid #000000
}

.tabulator-print-table tbody tr:not(:last-of-type)
{
	border-bottom: 1px solid #cccccc
}

.tabulator-print-table tbody td
{
	padding-left: .5rem;
	padding-right: .5rem;
	background: unset;
	color: #404040;
}


/* PRISM */
.token.number,
.token.tag
{
	all: inherit;
}

.copy-to-clipboard-button
{
	color: #ffffff !important
}

:not(pre) > code[class*=language-],
pre[class*=language-]
{
	border-radius: 8px;
	background: #21292c !important;
	margin-bottom: 0 !important;
	margin: 0rem !important;
}


/* BULMA SWITCH */
.switch[type=checkbox] + label
{
	padding-top: 0;
	padding-left: 4rem
}

.switch[type=checkbox].is-small + label
{
	padding-top: 0;
	padding-left: 3rem
}

.switch[type=checkbox].is-medium + label
{
	padding-top: 0;
	padding-left: 5rem
}

.switch[type=checkbox].is-large + label
{
	padding-top: 0;
	padding-left: 6rem
}

.switch[type=checkbox].is-thin + label::before,
.switch[type=checkbox].is-thin + label:before
{
	top: calc(50% - .5rem * .5)
}


/* LEAFLET */
.optimus-map
{
	z-index: 0;
	border: 1px solid var(--optimus-border-color);
	border-radius: 8px;
}


/* CHARTJS */
.optimus-charts
{
	position: relative;
	height: 100%;
	max-height: 100%;
	width: 100%;
	max-width: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	aspect-ratio: 2;
}

/* CURTAIN */
@media screen and (max-width:1279px)
{
	.optimus-curtain
	{
		visibility: hidden;
		position: absolute;
		bottom: -100px;
		left: 0;
		right: 0;
		top: 0;
		background-color: #101010;
		opacity: 0;
		z-index: 999;
		transition: all 0.2s ease-out, visibility 0.3s steps(1, end);
	}

	.optimus-curtain.menu-hidden
	{
		visibility: visible;
		left: 225px;
		opacity: var(--optimus-curtain-opacity);
		transition: all 0.2s ease-out;
	}

	.optimus-curtain.notificationmenu-hidden
	{
		visibility: visible;
		left: 0;
		right: 0;
		opacity: var(--optimus-curtain-opacity);
		transition: all 0.2s ease-out, right 0s;
	}

	.optimus-left
	{
		position: fixed;
		left: 0;
		height: 100%;
		transition: all 0.2s ease-out;
	}

	.menu-hidden .optimus-left
	{
		left: -225px;
		transition: all 0.2s ease-out;
	}

	.optimus-notificationmenu
	{
		top: 0;
		height: 100%;
	}

	.optimus-main
	{
		width: 100vw;
		overflow-x: hidden;
	}
}

@media screen and (max-width:1023px)
{
	.title
	{
		padding-top: 1rem;
		padding-left: 1rem;
	}

	.box
	{
		border: unset !important;
	}

	.optimus-main
	{
		padding-top: 1.75rem;
		padding-bottom: 0rem;
		padding-left: 0.25rem;
		padding-right: 0.25rem;
	}

	.optimus-back.button.is-small
	{
		margin-left: -0.25rem;
	}

	.optimus-table .tabulator-footer
	{
		display: none
	}
}

@media screen and (display-mode: fullscreen),
screen and (display-mode: standalone),
screen and (display-mode: minimal-ui)
{
	.optimus-main, .optimus-leftmenu
	{
		padding-bottom: 0 !important
	}

	.optimus-back.button.is-small
	{
		visibility: visible
	}
}

/* BULMA EXTENSION */
.is-smooth-radius
{
	border-radius: 8px !important;
}

.is-borderless
{
	border: 0px !important;
}

.button.is-minimal,
.button.is-minimal:hover,
.button.is-minimal:active
{
	border: 0px !important;
	outline: 0 !important;
	box-shadow: unset !important;
	background: unset;
}

@-webkit-keyframes spin
{
	0%
	{
		-webkit-transform: rotate(0deg);
	}

	100%
	{
		-webkit-transform: rotate(360deg);
	}
}

@keyframes spin
{
	0%
	{
		transform: rotate(0deg);
	}

	100%
	{
		transform: rotate(360deg);
	}
}