/*! © 2023 Beastly Inc. - All rights reserved.
http://www.beastlyinc.com */

/* Revised: May 5, 2023 4:41 PM */

/* ---------- HTML & Body ---------- */

html,
body {
	height: 100%;
	margin: 0;
	padding: 0;
}

body {
	background: #fff;
	color: #222;
	font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-size: 12px; 
	font-weight: 400;							/* The Keen theme's font weight is too light; hard to read. */
	line-height: 1.428;
}

/* ---------- Box Model ---------- */

a,
address,
button,
div,
footer,
h1,
h2,
h3,
h4,
h5,
h6,
header,
img,
input,
li,
nav,
ol,
p,
section,
select,
span,
textarea,
ul {
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}

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

/* Labels and Legends */

label:not(.k-checkbox):not(.k-radio),			/* Excludes Keen-themed radio labels. */
.label,
legend {
	/*font-weight: 500 !important;*/			/* Disabled due to spreadsheet. - March 22, 2023 */
}

.label,											/* Matches "label" in Bootstrap's CSS. */
legend  {
	display: inline-block;
	margin-bottom: .5rem;
}

.form-group legend {							/* Matches ".form-group label" in Bootstrap's CSS. */
	font-size: 1rem;
}

/* Selects */

select {
	-webkit-appearance: none;
}

select:not([multiple]) {
	background: url(images/form-select-arrow.png) no-repeat right #FFF;
	overflow: hidden;
	padding-right: 20px;
}

select[multiple] {
	min-height: calc(36rem + 2px);
}

select[multiple] option[disabled]{				/* Allows us to use disabled options as fake optgroup labels. */
	color: inherit;
	font-weight: 500 !important;				/* Not supported on Safari as of version 11.1.2 (09/29/2018). */
}

/* Textareas */

textarea {
  min-height: calc(18rem + 2px);
}

/* ---------- Headings ---------- */

h3, .h3 {
	font-size: 1.45rem !important;				/* Sized for design. */
}

h4, .h4 {
	font-size: 1.2rem !important;				/* Sized for design. */
	font-weight: 500 !important;				/* Matches the weight of the theme to avoid issues in form labels. */
}

/* --------------------- Accessibility --------------------- */

.beastly-screen-reader-only {
	position: absolute;
	display: inline-block;
	width: 1px;
	height: 1px;
	margin: -1px;
	left: 0;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
}

/* --------------------- Widgets --------------------- */

/*  */

.beastly-form-control-icon,
.beastly-form-control-list,
.beastly-form-control-text {
	height: auto;
	margin-top: 4px;
}

.beastly-form-control-list {
	min-height: calc(3rem + 2px);
}
.beastly-form-control-icon,
.beastly-form-control-text {
	min-height: calc(12rem + 2px);
}

/*  */

.beastly-curtain {
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
	z-index: 1000;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	-o-user-select: none;
	user-select: none;
	/*background: red;*/
}

/*  */

div.beastly-image-main {
	line-height: 0;
	margin-bottom: 20px;
	border: solid 1px #e5e5e5;
	-moz-border-radius: 3px;
	-webkit-border-radius: 3px;
	border-radius: 3px;
	/*background: red;*/
}

div.beastly-image-main > div {
	text-align: center;
	min-height: 400px;
	padding: 20px;
}

div.beastly-image-main > div > div {
	display: inline-block;
	width: 100%;
	max-width: 860px;
}

div.beastly-image-main > div > div > img {
	width: 100%;
}

/*.beastly-image-main > div:last-child > div {
	display: inline-block;
	width: 100%;
	max-width: 400px;
	margin-top: 10px;
	background: blue;
}*/

ul.beastly-image-list {
	display: block;
	min-height: 190px;
	/*text-align: center;*/
	line-height: 0;
	padding: 10px;
	border: solid 1px #e5e5e5;
	-moz-border-radius: 3px;
	-webkit-border-radius: 3px;
	border-radius: 3px;
	/*background: red;*/
}

ul.beastly-image-list > li {
	display: inline-block;
	width: 150px;
	margin: 8px;
	cursor: move;
	border: solid 1px rgba(0,0,0,0);
}

ul.beastly-image-list > li > img {
	width: 100%;
}

/*  */

.beastly-file-drop-highlight {
	position: relative;
}

.beastly-file-drop-highlight::after {
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
	content: "";
	-moz-border-radius: 3px;
	-webkit-border-radius: 3px;
	border-radius: 3px;
	background: rgba(95,95,242,0.1);
}

/*  */

/* <editor-fold desc="Widgets / Icon"> */
		
.beastly-icon,
.beastly-icon-small {
	font-style: normal;
	display: inline-block;
	line-height: 1;
	text-transform: none;
	letter-spacing: normal;
	word-wrap: normal;
	white-space: nowrap;
	direction: ltr;
	position: relative;
}

.beastly-icon {
	font-size: 242%; 								/* Equals about 32px based on "--font-size". */
	font-weight: 250;
}

.beastly-icon-small {
	font-size: 142%;								/* Equals about 20px based on "--font-size". */
	font-weight: 500;
	transform: translateY(25%);
}

.beastly-icon-indicator-add::after {
	position: absolute;
	font-size: 60%;
	font-weight: 330;
	content: "add_circle";
	top: 50%;
	transform: translate(-10%, -50%);
}

.beastly-icon-indicator-issue,
.beastly-icon-indicator-issue-small {
	display: inline-block;
}

.beastly-icon-indicator-issue {
	width: 180px;
	margin-bottom: 10px;
	margin-right: 10px;
}

.beastly-icon-indicator-issue > div {
	display: table;
	width: 100%;
}

.beastly-icon-indicator-issue > div > div {
	display: table-cell;
	vertical-align: middle;
}

.beastly-icon-indicator-issue > div > div:first-child {
	width: 50px;
}

.beastly-icon-indicator-issue > div > div:first-child > div {
	height: 50px;
	width: 50px;
	border-radius: 25px;
}

.beastly-icon-indicator-issue > div > div:last-child {
	padding: 6px;
}

.beastly-icon-indicator-issue-small {
	height: 16px;
	width: 16px;
	border-radius: 8px;
	margin-right: 2px;
}

.beastly-issue-color-1-priority-1 {
	background: #ee0000;
}

.beastly-issue-color-1-priority-2 {
	background: #ff6464;
}

.beastly-issue-color-2-priority-1 {
	background: #0043ee;
}

.beastly-issue-color-2-priority-2 {
	background: #6464ff;
}

.beastly-issue-color-2-priority-3 {
	background: #9c9cfb;
}

.beastly-issue-color-3-priority-1 {
	background: #008e00;
}

.beastly-issue-color-3-priority-2 {
	background: #00d100;
}

.beastly-issue-color-4-priority-1 {
	background: #ffa500;
}

.beastly-issue-color-5-priority-1 {
	background: #ffff00;
}

.beastly-issue-color-6-priority-1 {
	background: #d80ed8;
}

.beastly-issue-color-6-priority-2 {
	background: #e666e6;
}

.beastly-issue-color-7-priority-1 {
	background: #0083a0;
}

.beastly-issue-color-7-priority-2 {
	background: #65b6d3;
}

.beastly-image-guide {
	position: relative;
}

.beastly-image-guide > div {					/* Guides */
	position: absolute;
	z-index: 10;
	pointer-events: none;
	visibility: hidden;
}

.beastly-image-guide > div:nth-of-type(1),		/* Outer Guide */
.beastly-image-guide > div:nth-of-type(2) {		/* Inner Guide */
	border: dashed 1px rgb(95,95,242);
}

.beastly-image-guide > div:nth-of-type(1) {
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
}

.beastly-image-guide > div:nth-of-type(2) {
	top: 4%;
	left: 4%;
	bottom: 4%;
	right: 4%;
	background: rgba(95,95,242,0.2);
}

.beastly-image-guide > div:nth-of-type(3) {		/* Center Guide */
	top: 44%;
	left: 44%;
	bottom: 44%;
	right: 44%;
}

.beastly-image-guide > div:nth-of-type(3) > div {
	position: absolute;
}

.beastly-image-guide > div:nth-of-type(3) > div:nth-child(1) {
	top: 0;
	left: 0;
	bottom: 50%;
	right: 0;
	border-bottom: dashed 1px rgb(95,95,242);
}
.beastly-image-guide > div:nth-of-type(3) > div:nth-child(2) {
	top: 0;
	left: 0;
	bottom: 0;
	right: 50%;
	border-right: dashed 1px rgb(95,95,242);
}

.beastly-image-guide > div:nth-of-type(3) > div:nth-child(3) {
	top: 30%;
	left: 30%;
	bottom: 30%;
	right: 30%;
	border-radius: 50%;
	border: dashed 1px rgb(95,95,242);
}

.beastly-image-guide-show > div {		/* Show Guides */
	visibility: visible;
}

.beastly-log-table {
	width: 100%;
	table-layout: fixed;
	border: solid 1px #ddd;
	margin-bottom: 10px;
}

.beastly-log-table td,
.beastly-log-table th {
	border: solid 1px #e5e5e5;
	padding: 4px;
}

.beastly-log-table th {
	font-weight: bold;
	background: #eee;
	clear: both;
}

.beastly-log-table th span {
	float: right;
	font-weight: normal;
}

.beastly-log-table tr:not(:first-child) {		/* Rows start hidden and are toggled in JS. */
	display: none;
}

.beastly-log-table tr:nth-child(odd) > td {
	background: #f8f8f8;
}

/*  */

.beastly-drag-item {							/* The item that is being dragged (I.e. current). */
	opacity: 0.5;
}

.beastly-drag-over {							/* The item that is being dragged over (I.e. target). */
	border: dashed 1px rgba(95,95,242,1) !important;
}

.beastly-spreadsheet {
	width: 100%;
	height: 0;									/* Starts hidden; overwritten in JS. */
	position: relative;
	cursor: default;
	/*background: red;*/
}

.beastly-spreadsheet button[type=submit] {
	position: absolute;
	bottom: 10px;
	right: 10px;
	z-index: 100;
}

.beastly-spreadsheet-source-elements {
	display: none;
}

.beastly-spreadsheet-tools {							/* NIU; Left in for future use. */
	/* width: 100%;
	height: 25px;
	background: yellow; */
}

.beastly-spreadsheet-headers {
	position: absolute;
	inset: 0;
	z-index: 10;
	overflow: hidden;
	pointer-events: none;			/* Disabled so scroll will pass to ".beastly-spreadsheet-records" underneath. */
	/*background: lime;*/
}

.beastly-spreadsheet-records {
	width: 100%;
	position: relative;
	overflow: auto;
	background: #ffffff;
	/*background: purple;*/
}

.beastly-spreadsheet-headers td,
.beastly-spreadsheet-records td {
	height: 25px;
	width: 210px;										/* We need "min-" and "max-" defined and to match. */
	max-width: 210px;
	min-width: 210px;
	padding: 4px 0 0 10px;
	text-align: left;
	vertical-align: top;
	white-space: nowrap;
	text-overflow: ellipsis;
	-webkit-user-select: none;
}

.beastly-spreadsheet-headers td:first-child,
.beastly-spreadsheet-records td:first-child {
	width: 140px;									/* We need "min-" and "max-" defined and to match. */
	max-width: 140px;
	min-width: 140px;
}

.beastly-spreadsheet-canton,
.beastly-spreadsheet-column-headers,
.beastly-spreadsheet-row-headers,
.beastly-spreadsheet-rows {
	position: absolute;
	top: 0;
	left: 0;
	pointer-events: auto;			/* Enabled because disabled on container element: .beastly-spreadsheet-headers"". */
}

.beastly-spreadsheet-column-headers,
.beastly-spreadsheet-rows {
	right: 0;
}

.beastly-spreadsheet-row-headers {
	z-index: 2;
	bottom: 0;
	/*background: blue;*/
}

.beastly-spreadsheet-canton {		/* "Canton" Reference: https://english.stackexchange.com/questions/182229/name-for-the-top-left-cell-of-a-table */
	z-index: 3;
}

.beastly-spreadsheet-column-headers {
	z-index: 1;
	/*background: lime;*/
}

.beastly-spreadsheet-canton td,
.beastly-spreadsheet-column-headers td,
.beastly-spreadsheet-row-headers td {
	position: relative;
	color: #5F6368;
	background: #f7f9fa;
	border: solid 1px #c0c0c0;
	/*background: pink;*/
}

.beastly-spreadsheet-column-headers td, 
.beastly-spreadsheet-canton td {
	font-weight: 500;
}

.beastly-spreadsheet-header-current {
	background: #e7eaed !important;
}

.beastly-spreadsheet-header-changed {
	background: #bbf5b1 !important;
}

.beastly-spreadsheet-header-current.beastly-spreadsheet-header-changed {
	background: #cee7c5 !important;
}

.beastly-spreadsheet-rows {
	z-index: 1;
	background: #ffffff;
}

/* Important: The pseudo-element below is used to avoid a positioning bug that occurs
when ".beastly-spreadsheet-records" is scrolled horizontally after having been scrolled
100% vertically. */

.beastly-spreadsheet-rows::after {
	width: 100%;
	height: var(--margin-small);
	content: "";
	position: absolute;
	/*background: orange;*/
}

.beastly-spreadsheet-rows td {
	position: relative;
	outline: none;
	border: solid 1px #e1e3e3;
}

.beastly-spreadsheet-rows input,
.beastly-spreadsheet-rows select,
.beastly-spreadsheet-rows textarea {
	outline: none;
}

.beastly-spreadsheet-rows input[type=text],
.beastly-spreadsheet-rows select,
.beastly-spreadsheet-rows textarea {
	border: none;
	height: 100%;
	width: 100%;
	padding: 0;
	background: none;
	/*background: yellow;*/
}

.beastly-spreadsheet-cell-placeholder,
.beastly-spreadsheet-cell-input {}

.beastly-spreadsheet-cell-placeholder {
	position: absolute;
	inset: 0;
	padding: 4px 0 0 10px;								/* Must match ".beastly-spreadsheet-records td" above. */
	overflow: hidden;
	text-overflow: ellipsis;
	/*background: pink;*/
}

.beastly-spreadsheet-cell-placeholder span:not(:last-child)::after {
	content: ", ";
}

.beastly-spreadsheet-cell-input {
	overflow: hidden;
	display: none;
	/*background: lime;*/
}

.beastly-spreadsheet-cell-focused::after {
	position: absolute;
	inset: -1px;
	content: "";
	z-index: 10;
	border: solid 2px #5959FF;
	pointer-events: none;
}

.beastly-spreadsheet-cell-active::after {
	box-shadow: 0 2px 10px rgba(0, 0, 0, .15);
}

.beastly-spreadsheet-cell-active .beastly-spreadsheet-cell-placeholder {
	display: none;
}

.beastly-spreadsheet-cell-active .beastly-spreadsheet-cell-input {
	display: block;
}

.beastly-spreadsheet-cell-active img {
	display: table;
	width: 100%;
	max-width: 400px;
	min-width: 80px;
	margin: 0 auto 10px;
	border: solid 1px #c0c0c0;
}

.beastly-spreadsheet-cell-changed {
	background: #daf9d9 !important;
}

[data-beastly-spreadsheet-resizer-handle=column],
[data-beastly-spreadsheet-resizer-handle=row] {
	position: absolute;
	content: "";
	z-index: 10;
	/*background: red;*/
}

[data-beastly-spreadsheet-resizer-handle=column]:hover,
[data-beastly-spreadsheet-resizer-handle=row]:hover {
	background: #7A7AFF;
}

[data-beastly-spreadsheet-resizer-handle=column] {
	width: 5px;
	top: -1px;
	bottom: -1px;
	right: -3px;
	cursor: col-resize;
	/*background: lime;*/
}

[data-beastly-spreadsheet-resizer-handle=row] {
	height: 5px;
	left: -1px;
	right: -1px;
	bottom: -3px;
	cursor: row-resize;
}

.beastly-spreadsheet-resizer-indicator-column {
	position: absolute;
	width: 5px;
	bottom: 0;
	z-index: 100;
	cursor: col-resize;
	/*background: yellow;*/
}

.beastly-spreadsheet-resizer-indicator-column > div {
	position: absolute;
	top: 0;
	background: #7A7AFF;
}

.beastly-spreadsheet-resizer-indicator-column > div:first-child {			/* Mimics the handle element. */
	height: 0;															/* Set in JS. */
	left: 0;
	right: 0;
	z-index: 10;
}

.beastly-spreadsheet-resizer-indicator-column > div:last-child {
	width: 1px;
	left: 2px;
	bottom: 0;
	z-index: 1;
}

.beastly-spreadsheet-resizer-indicator-row {
	position: absolute;
	height: 5px;
	right: 0;
	z-index: 100;
	cursor: row-resize;
	/*background: yellow;*/
}

.beastly-spreadsheet-resizer-indicator-row > div {
	position: absolute;
	left: 0;
	background: #7A7AFF;
}

.beastly-spreadsheet-resizer-indicator-row > div:first-child {			/* Mimics the handle element. */
	width: 0;															/* Set in JS. */
	top: 0;
	bottom: 0;
	z-index: 10;
}

.beastly-spreadsheet-resizer-indicator-row > div:last-child {
	height: 1px;
	top: 2px;
	right: 0;
	z-index: 1;
}

.beastly-spreadsheet-selection-indicator {
	position: absolute;
	z-index: 1;
	border: solid 1px #5959FF;
	pointer-events: none;
}

.beastly-spreadsheet-selection-indicator > div {
	position: absolute;
	bottom: -5px;
	right: -5px;
	height: 8px;
	width: 8px;
	background: #5959FF;
	border: solid 1px #ffffff;
	cursor: crosshair;
	pointer-events: all;
}

.beastly-spreadsheet-selection-indicator-hidden {
	display: none;
}

.beastly-spreadsheet-selection-indicator-multiple {
	background: rgba(89, 147, 255, 0.25);
}

.beastly-spreadsheet-selection-indicator-selecting {
	border: none;
}

.beastly-spreadsheet-selection-indicator-selecting > div {
	display: none;
}

.beastly-spreadsheet-disable-selectable {
	-webkit-user-select: none;
	user-select: none;
}

.beastly-spreadsheet-library-list {
	padding: 0;
	text-indent: 0;
}

.beastly-spreadsheet-library-list li::before {
	display: inline;
	/*content: "•";*/
	/*font-size: 80%;*/
	/*padding-right: 5px;*/
}

.beastly-spreadsheet-library-list a {
	color:#2758F3;
	margin: 0 5px;
}

.beastly-spreadsheet-library-list a:Hover {
	color:#2758F3;
}