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: #244679;
	color: #f0f8ff;
}
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;
}

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;
}

.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{
	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, div.file-input-wrap, pre.file-input-wrap, iframe.form-control{
	font-size:11pt;
	font-family:'Titillium Web','Open Sans',sans-serif;
	color:#000000;
	padding:4px 8px;
	width:100%;
	box-sizing:border-box;
	border:0px none;
	border-bottom:2px solid #e6e6e6;
	background-color:#F4F4F4;
}
pre.file-input-wrap{
	font-family:monospace;
	white-space: break-spaces;
}
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;
	min-height:60px;
	min-width:100%;
	max-width:100%;
}
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],
form[disabled] input, form[disabled] select, form[disabled] textarea{
	color:#666666;
}
form[disabled] input[type="submit"], form[disabled] input[type="button"]{
	color:#eaeaea;
}
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, div.file-input-wrap{
	/*white-space: nowrap;*/
	overflow: hidden;
	text-overflow: ellipsis;
}
label.file-input-wrap{
	height:33px;
}
div.file-input-wrap{
	min-height:30px;
}
.file-input-wrap label.multi-checkbox {
	display: inline-block;
  margin-right: 10px;
}
.file-input-wrap label.multi-checkbox>span {
	max-width: 100%;
}
.file-input-wrap label.disabled{
    color: #666666;
}
.file-input-wrap input[type="file"]{
	opacity:0.01;
	float:right;
	width:1px;
}
input[type="checkbox"], input[type="radio"]{
	width:21px;
	height:24px;
	vertical-align:-5px;
}
.file-input-wrap input[type="checkbox"], .file-input-wrap input[type="radio"]{
	width:15px;
	height:19px;
	/*margin-top: 2px;*/
	vertical-align:-1px;
}
.file-input-wrap button{
	float: right;
	height: 24px;
	padding: 1px 8px;
	font-size: 10pt;
	margin: 1px -3px -1px 0;
	cursor: pointer;
}
.file-input-wrap span{
	max-width: calc(100% - 44px);
	display: inline-block;
	overflow: hidden;
	text-overflow: ellipsis;
}

form .surround {
	padding: 6px;
	margin-top: 18px;
	border-radius: 4px;
	border: 1px solid #D8D8D8;
}

form .surround .vspace:first-child {
	display: table;
	padding: 0 4px;
	margin-top: -16px;
	background-color: #ffffff;
}


input[data-validate="currency"], input[data-validate="numeric"]{
	text-align:right;
}

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;
}
input[type="button"].close-btn, button.close-btn, a.button.close-btn{
	background-color:#7f97b8;
	border:0px none;
	border-top:1px solid #bec5cf;
	border-bottom:2px solid #648094;
}
input[type="submit"].red, button.red, a.button.red{
	background-color:#c04040;
	border:0px none;
	border-top:1px solid #d0c0c0;
	border-bottom:2px solid #b02020;
}
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,
form[disabled] input[type="submit"], form[disabled] input[type="button"]{
	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, div.form-group label.file-input-wrap, div.form-group i{
	display:block;
	margin-bottom:5px;
}

div.form-group label.vspace, div.form-group i.vspace{
	margin-top:10px;
	margin-bottom:5px;
}
div.form-group i.vspace{
	display: inline-block;
}

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-width:85vw;
	min-width: 450px;
	padding: 54px 15px 15px 15px;
	font-size: 11pt;
	z-index: 666;
	box-shadow: 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;
	width: 100%;
	max-height: calc(100vh - 100px);
	background-color: #FFFFFF;
	overflow-y: auto;
	overflow-x: hidden;
}
div.popup.active{
	transform: translate(-52%, -50%) scale(1);
	opacity: 1;
}

div.popup::before{
	content: " ";
	display: block;
	position: fixed;
	top: -50vh;
	left: -80vw;
	height: 260vh;
	width: 200vw;
	z-index: -19;
	background-color: #00000040;
	box-shadow: inset 0px 30px 80px 50px #1f283580;
	backdrop-filter: blur(1px);
}

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;
}

.user-bubble {
    display: inline-block;
    line-height: 24px;
    font-weight: bold;
    font-size: 11pt;
    padding: 2px 2px 0px 2px;
    height: 24px;
    width: 22px;
    margin: -5px 0px;
    color: #ffffff;
    text-align: center;
    border-radius: 50%;
    border: 1px solid #000f2280;
}

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

.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 {
  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);
}

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