body {
	font-family: system-ui;
	margin: 0;
	padding: 0;
	background: #f4f4f4;
	overflow: hidden;
}

h1.head {
	margin: 0;
	padding: 6px;
	font-size: 18pt;
	white-space: nowrap;
	background-color: #112b4b;
	color: #a8c2e4;
}
section h2 {
	margin: 0 0 0.5rem 0;
}

h1.head::before {
	content: " ";
	display: inline-block;
	height: 32px;
	width: 32px;
	vertical-align: -8px;
	margin-right: 4px;
	background-image: url('../../../static/logo/logo-w.png');
	background-size: contain;
	background-repeat: no-repeat;
}

ul.nav {
	position: relative;
	list-style-type: none;
  padding-left: 0;
	margin: 0;
	opacity: 0;
	background: -webkit-gradient(linear, left top, left bottom, color-stop(0, #254677), color-stop(1, #0E2444));
	border-bottom: 1px solid #254677;
	box-shadow: 0px 10px 16px -10px #00000088;
	z-index: 100;
}
ul.nav.show {
	opacity: 1;
}
ul.nav li {
	display: inline-block;
	border-right: 1px solid #2b3a54;
}
ul.nav li a {
	display: inline-block;
	padding: 10px 6px;
	color: #FFFFFF;
	font-weight: bold;
	font-size: 11pt;
	text-decoration: none;
	background-color: transparent;
	transition: background-color 0.3s;
}
ul.nav li a.active {
	background-color: #00000032;
}

ul.nav li.float-right {
	float: right;
}

ul.nav li.float-right label {
	color: #FFFFFF;
}
ul.nav li.float-right input {
	margin: 6px 8px;
	vertical-align: -6px;
}


ul.grid {
	position: relative;
	list-style-type: none;
	text-align: center;
	margin: 0;
	padding: 0;
}
ul.grid li {
	display: inline-block;
	margin: 1.5em 1.5em;
}
ul.grid li a {
	display: inline-block;
	text-decoration: none;
	text-align: center;
	padding: 10px 6px;
}
ul.grid li img {
	display: block;
	height: 64px;
	width: 64px;
}


main {
	position: relative;
	height: calc(100vh - 95px);
}

main>section {
	position: absolute;
	top: 0px;
	left: 0px;
	width: 100%;
	height: 100%;
	padding: 6px;
	opacity: 0;
	overflow-x: hidden;
	overflow-y: scroll;
	transition: opacity 0.25s;
}

main>section.active {
	opacity: 1;
}

.pages a.page {
	display: inline-block;
	margin: 10px 10px 0 0;
	cursor: pointer;
}
.pages a.page.current {
	background-color: #40C080;
}

div#user {
	float: right;
	margin: 12px 6px;
	color: #FFFFFF;
	opacity: 0;
}
div#user.show {
	opacity: 1;
}
div#user a {
	text-decoration: none;
	font-weight: bold;
	color: #FFFFFF;
}

.hspace {
    margin-bottom: 10px;
}

.hspace h2 {
	display:inline;
	vertical-align: -3px;
	margin-left: 6px;
}

.hspace input.files[type="button"] {
	float: right;
}

table.table-striped {
	width: 100%;
}


form div.form-group.image_path {
	position: relative;
}
form div.form-group.image_path::after {
	content: "📷";
	position: absolute;
	display: block;
	right: 8px;
	top: 25px;
	padding: 3px;
	color: #315d93;
	/*cursor: pointer;
	background-color: rgb(167, 183, 202);*/
}

.popup.files {
	height: 80vh;
	width: 90vw;
}

.popup.files iframe {
	height: calc(100% + 28px);
	width: calc(100% + 28px);
	margin: -14px;
	border: 0px none;
}

.popup h2 input {
	float: right;
	border: 0px none;
}
.popup h2 input.clear {
	margin: -3px 0;
	background-color: rgb(217, 130, 106);
}
.popup h2 input.close {
	margin: 1px -9px -3px 8px;
	color: transparent;
	background-color: #FFFFFF;
	font-size: 1pt;
	height: 24px;
    --svg: url('../../../static/icons/x-symbol.svg');
}

.mask {
  mask-image: var(--svg);
  mask-repeat: no-repeat;
  mask-position: center;
  mask-size: contain;
  -webkit-mask-image: var(--svg);
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
  -webkit-mask-size: contain;
}

.popup.files h2 small {
	overflow: hidden;
	white-space: nowrap;
	width: calc(100% - 273px);
	display: inline-block;
	vertical-align: -4px;
	text-overflow: ellipsis;
}


/* --------------------- Form --------------------- */

form table tr td{
	padding:6px 0px;
}
form table tr td:first-child{
	padding-right:6px;
	padding-top:9px;
	text-align:right;
	vertical-align:top;
	width:148px;
}
form table tr td:last-child{
	/*width:260px;*/
	vertical-align:top;
}

input[type="text"], input[type="password"], input[type="email"], input[type="url"], input[type="number"], input[type="date"], input[type="time"], input[type="datetime-local"], select, textarea, label.file-input-wrap, iframe.form-control{
	font-size:11pt;
	font-family:'Titillium Web','Open Sans',sans-serif;
	/*background-color:#FFFFFF;
	color:#404040;*/
	color:#000000;
	padding:4px 8px;
	width:100%;
	box-sizing:border-box;
	border:0px none;
	border-bottom:2px solid #D8D8D8;
	background-color:#F4F4F4;
}
form.data-form input[type="text"], form.data-form input[type="password"], form.data-form input[type="email"], form.data-form select, form.data-form textarea, form.data-form label.file-input-wrap, iframe.form-control{
	width:100%;
}
input[type="date"], input[type="time"], input[type="datetime-local"] {
	padding:3px 8px;
}
.form-group textarea,
form.data-form textarea {
	margin-right: -10px;
}
input[type="text"]:focus, input[type="password"]:focus, input[type="email"]:focus, select:focus, textarea:focus, label.file-input-wrap:focus{
	background-color:#F8F8F0;
}
input[disabled], select[disabled], textarea[disabled]{
	color:#666666;
}
input[readonly], select[readonly], textarea[readonly]{
	color:#666666;
	background-color:#F8F8F8;
	border-bottom:2px solid #E8E8E8;
}
select{
	outline:0px;
	padding:3px 8px;
}
label.file-input-wrap{
    white-space: nowrap;
    overflow: hidden;
	height:33px;
    text-overflow: ellipsis;
}
label.file-input-wrap input[type="file"]{
	opacity:0.01;
	float:right;
	width:1px;
}
/*label.file-input-wrap i.fa{
	float:right;
}*/
/*textarea{
	height:200px;
}*/
input[type="checkbox"], input[type="radio"]{
	width:21px;
	height:24px;
	vertical-align:-5px;
}
/*select, textarea{
}*/
input[data-validate="currency"], input[data-validate="numeric"]{
	text-align:right;
	/*padding-right:20%;*/
}

input[type="submit"], input[type="button"], button, a.button{
	font-family:'Titillium Web','Open Sans',sans-serif;
	font-weight:bold;
	font-size:11pt;
	padding:6px 15px;
	color:#FFFFFF;
	border-radius:3px;
}

input[type="submit"]{
	background-color:#4080D0;
	border:0px none;
	border-top:1px solid #C0C0D0;
	border-bottom:2px solid #2060D0;
}
input[type="button"], input[type="submit"].green, button.green, a.button.green{/*, input[type="button"].green*/
	background-color:#40C080;
	border:0px none;
	border-top:1px solid #C0D0C0;
	border-bottom:2px solid #20B040;
}
button, a.button{
	background-color:#6080A0;
	border:0px none;
	border-top:1px solid #C0C0C8;
	border-bottom:2px solid #4060A0;
}
/*a.button{
	display:inline-block;
}*/
table.table-striped a.button{
	padding:3px 8px;
	margin:0px 3px;
	box-shadow:0px 0px 3px #7B90B7;
}
a.button i.fa{
	font-size:10pt;
	vertical-align:1px;
	color:#FFFFFF;
}

input[type="submit"][disabled], input[type="button"][disabled], button.disabled, button.cancel, a.button.disabled{
	background-color:#849EB8;
	border-bottom:2px solid #687BA2;
}

div.form-group{
	margin-bottom:15px;
}
div.form-group:last-child{
	margin-bottom:0px;
	clear: both;
	gap: 12px;
	display: flex;
}

div.form-group label{
	display:block;
	margin-bottom:5px;
}

input[type="submit"].red, input[type="button"].red, button.red, a.button.red{
	background-color:#C06060;
	border:0px none;
	border-top:1px solid #D0C0C0;
	border-bottom:2px solid #B03030;
}

/* --------------------- Popup --------------------- */

div.popup{
	position: fixed;
	background-color: rgba(255, 255, 255, 0.99);
	top: 50vh;
	left: 50vw;
	max-height:85vh;
	/*max-height: calc(100vh - 86px);*/
	max-width:85vw;
	min-width: 450px;
	padding: 54px 15px 15px 15px;
	font-size: 11pt;
	overflow: hidden;
	z-index: 666;
	box-shadow: 0px 30px 80px 50px #1f283580, 0px 0px 20px 3px #183d74C0;
	opacity: 0;
	transform: translate(-50%, -60%) scale(0.9);
	transition: transform 0.3s, opacity 0.3s;
}
div.popup .popup-inner{
	margin: -15px;
	padding: 15px;
	max-height: calc(100vh - 100px);
	width: 100%;
	overflow-y: auto;
	overflow-x: hidden;
}
div.popup.active{
	transform: translate(-52%, -50%) scale(1);
	opacity: 1;
}

div.popup h2{
	position: fixed;
	width: 100%;
	background-color: #264675;
	color: #FFFFFF;
	margin: -54px -15px 15px -15px;
	padding: 8px 15px;
	box-sizing: border-box;
}

.row{
	float:left;
	width:calc(100% + 10px);
	margin: 0px -5px;
}
.row .vspace {
	margin-bottom: 20px;
}
.row .col-4, .row .col-8, .row .col-12{
	display: inline-block;
	float: left;
	padding: 0px 5px;
}
.row .col-4{
	width:calc(33.33% - 10px);
}
.row .col-8{
	width:calc(66.66% - 10px);
}
.row .col-12{
	width:calc(100% - 10px);
}

.full-width{
	width: calc(100% - 76px);
}
textarea.full-width{
	min-height: 60px
}


/* --------------------- Flash Message --------------------- */

#flash_messages {
	position: relative;
	overflow: visible;
	height: 0px;
	padding: 0 30vw;
}
#flash_messages>div {
	position: relative;
	box-shadow: 0px 6px 20px -5px #00000080;
	z-index: 10;
}

div#flash_messages,
div.anyErrors{
	text-align:left;
}

div#flash_messages div.success, div#flash_messages div.error, div#flash_messages div.warning,
div.anyErrors div.success, div.anyErrors div.error, div.anyErrors div.warning{
	padding:6px;
	margin:8px 0px 16px 0px;
	font-size:11pt;
}

div#flash_messages>div.success,
div.anyErrors>div.success{
	border-bottom:3px solid #80D080;
	background-color:#D0F8D0;
	color:#208020;
}

div#flash_messages>div.error,
div.anyErrors>div.error{
	border-bottom:3px solid #D08080;
	background-color:#F8D0D0;
	color:#802020;
}

div#flash_messages>div.warning,
div.anyErrors>div.warning{
	border-bottom:3px solid #B0B060;
	background-color:#E4E4B0;
	color:#585820;
}

div#flash_messages .icon,
div.anyErrors .icon{
	float:left;
	height:19px;
	width:19px;
	margin-right: 4px;
}

/* ---------------------------------------------------------- */

.icon {
  display: inline-block;
  height: 32px;
  width: 32px;
  background: var(--bg-color);
  mask-image: var(--svg);
  mask-repeat: no-repeat;
  mask-position: center;
  mask-size: contain;
  -webkit-mask-image: var(--svg);
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
  -webkit-mask-size: contain;
}

.icon.error {
  --svg: url('../../../static/icons/alert.svg');
	--bg-color: #d63c3c;
}
.icon.warning {
  --svg: url('../../../static/icons/warning.svg');
	--bg-color: #b0b025;
}
.icon.success {
  --svg: url('../../../static/icons/success.svg');
	--bg-color: #29a229;
}

/* ---------------------------------------------------------- */

.form-group .pell-actionbar {
	background-color: #242931;
}

.form-group .pell-button {
	padding: 6px 10px;
	width: auto;
}

.form-group .pell-content {
	height: 60vh;
	color: #FFFFFF;
	background-color: #10243d;
	border: 1px solid #E8E8E8;
	border-bottom: 2px solid #E8E8E8;
	font-family: "Inter", sans-serif !important;
}

.form-group .pell-content img {
  /*display: inline-block;
  overflow: auto;
  vertical-align: bottom;*/
  resize: both;
  max-width: 100%;
}

/* ---------------- Grid ---------------- */
.grid {
  display: grid;
  gap: 2.5rem;
}

.grid-2 {
  grid-template-columns: repeat(auto-fit, minmax(400px, 1fr));
}

.grid-2-5 {
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
}

.grid-3 {
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
}

.grid-4 {
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
}

.grid-5 {
  grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
}

.grid-5 article {
  padding: 1rem;
}

.grid-5 article {
  padding: 1rem;
}

article {
  background: color(from #0f1f33 srgb r g b / 0.4);
  color: #ffffff;
  padding: 2rem;
  border-radius: 4px;
  overflow: hidden;
  box-shadow: 0 2px 12px color(from #0f1f33 srgb r g b / 0.8);
  border: 1px solid color(from #6B8E23 srgb r g b / 0.2);
}

/* ---------------------------------------------------------- */