:root {
	/*--dark: #444444;*/
	--xred: #EA272B;
	/*--dred: #982F31;*/
	--dred: #dc3545;
	--lite: #eee;
	--lred: #ffa9b1;

	--light-success:	#e0ffe7;
	--light-info:		#dcfaff;
	--light-danger:		#ffe4e6;
	--light-warning:	#fff7df;
	--light-secondary:	#dadada;
}

@font-face {
	font-family: Montserrat;
	src: url(../ext/montserrat.rg.ttf);
}

body {
	/*background-image: url('../img/gravel.png');*/
	/*background-color: #f8f9fa;*/
	/*background-color: white;*/
	background-color: var(--lite);
	/*overflow: hidden;	*/
	overflow: overlay;
	font-family: 'Montserrat', sans-serif;
	font-size: .7rem;
	height: 100vh;
}


table {
	table-layout:fixed;
    width:100%;
    white-space: nowrap;
}

table {
	width: 100%;
}

.form-control, .btn {
	font-size: .7rem;
}

.input-group-text {
	font-size: inherit;
}

/* positioning */
.right  {	text-align: right;	}
.left   {	text-align: left;	}
.center {	text-align: center; }
.bottom {	vertical-align: bottom;	}

.va-bottom {
	vertical-align: bottom;
}

.va-middle {
	vertical-align: middle;
}

.va-top {
	vertical-align: top;
}

input[type="password"]
{
	-webkit-text-security: disc;
}

.nav-icon, .nav-icon-sm {
	display: none;
}


/* font */
.fs-xsmall {
	font-size: x-small;
}

.fs-smaller {
	font-size: smaller;
}

.fs-small {
	font-size: small;
}

.fs-smaller {
	font-size: smaller;
}

.fs-large {
	font-size: large;
}

.fs-larger {
	font-size: larger;
}

.fs-xlarge {
	font-size: x-large;
}

.fs-xxlarge {
	font-size: xx-large;
}

.fw-5 {
	font-weight: 500;
}


/* colors */
.fg-light {
	color: var(--light);
}

.fg-white {
	color: white;
}

.fg-danger { 
	color: var(--danger);
}

.fg-warning {
	color: var(--warning);
}

.fg-light-red {
	color: var(--lred);
}

.fg-info {
	color: var(--info);
}

.fg-primary {
	color: var(--primary);
}

.bg-teal {
	background-color: var(--teal);
}

.bg-fade-yellow {
	background-color: #fffef7;
}

.bg-fade-blue {
	/*background-color: #f7fdff;*/
	background-color: #d7e4ee;
}

.bg-light-danger {
	background-color: var(--light-danger);
}

.bg-light-info {
	background-color: var(--light-info);
}

.bg-light-success {
	background-color: var(--light-success);
}

.bg-light-warning {
	background-color: var(--light-warning);
}

.bg-light-secondary {
	background-color: var(--light-secondary);
}


.x-dark {
	background-color: var(--dark);
	color: white;
	border-color: var(--dark);
}

.x-info {
	background-color: var(--info);
	color: #0c5460;
	border-color: var(--dark);
}

.x-light {
	background-color: var(--light);
	color: var(--dark);
	border-color: var(--dark);
}

.x-secondary {
	background-color: var(--secondary);
	color: var(--light);
	border-color: var(--dark);
}

.x-li {
	padding: 0.25rem 0.5rem;
}

/* padding */
.pd-1	{	padding: 1em;	}

.btn-xs {
	padding: 0rem .3rem;
    font-size: .875rem;
    line-height: 1.5;
    border-radius: .2rem;
}

/* miscellaneous */
input:placeholder-shown {
	/*border: 1px solid var(--xred);*/
}


.btn-red {
	background-color: var(--xred);
	border: 1px solid var(--dark);
	color: white;
}

footer {
	position: fixed;
	width: 100%;
	bottom: 1em;
	font-weight: lighter;
	font-size: small;
	color: var(--dark);
}

header {
	/*margin: 0em 15em 1em 15em;*/
	padding: 0.5em 15em 0.5em 15em;
}

a, a:hover {
	/*color: black;*/
}

div.card-footer {
	background-color: inherit;
	border-top: none;
}

.card-header{
	background-color: var(--secondary);
	color: white;
	border-bottom: none;
}

.card-body {
	overflow-x: auto;
}

span.badge {
	padding: 4px;
	font-weight: normal;
	font-size: medium;
	display: block;
	text-align: left;
}

.border-danger {
	border-color: var(--danger);
}

.dot {
    width: .600rem;
    height: .625rem;
    border-radius: 50%;
    display: inline-block;
    margin-right: .5rem;
}

.dot-sm {
	width: .725rem;
    height: .8rem;
    border-radius: 30%;
    display: inline-block;
    margin-right: .5rem;
}

.img-box {
	border: 3px dashed gray;
	width: 100%;
}

input.is-invalid[type='file'] {
	background-color: var(--danger);
	color: white;
}

::-webkit-scrollbar {
  width: 5px;
  height: 5px;
}

/* Track */
::-webkit-scrollbar-track {
  background: #f1f1f1; 
}
 
/* Handle */
::-webkit-scrollbar-thumb {
  background: #888; 
}

::-webkit-scrollbar:hover {
  width: 10px;
  height: 10px;
}

/* Handle on hover */
::-webkit-scrollbar-thumb:hover {
	background: var(--dark);
  
}


/* 
=================================================
	LOGIN
=================================================*/

.login-container {
	height: 100vh;
	position: relative;
}

.login-box {
	margin: 0;
	position: absolute;
	top: 50%;
	left: 50%;
	-ms-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	text-align: center;
}

#login-logo {
	margin-top: 2rem;
	width: 5rem;
	height: 5rem;
}

#login-title {
	font-size: 1rem;
	font-weight: bold;
	color: var(--dark);
}

#login-form {
	width: 300px;
	padding: 2em;
}

#login-signin {
	/*display: block;*/
	width: 100%;
	font-weight: bold;
}

#login-footer {
	font-size: small;
	font-weight: lighter;
}

#login-frame {
	height: 100vh;
}

.demo {
	background-color: gray;
}

.popover, .popover-header {
	font-size: .8rem;
	min-width: 8rem;
}

.popover-header {
	background-color: var(--danger);
	color: white;
}

.popover .arrow {
	display: none;
}

.popover-body{
	padding-top: .1rem;
	padding-bottom: .5rem;
}

#lgn-footer {
	position: fixed;
	bottom: 1em;
	width: inherit;
	z-index: -999;
}

.text-info {
	max-width: 120px;
}


/* 
=================================================
	DASHBOARD
=================================================*/

#title-text {
	font-size: .9rem;
}

.nav-item {
	font-size: .8rem;
}

#header-holder {
	position: fixed;
	width: 100vw;
}

#db-page {
	/*border: 3px solid green;*/
	color: var(--dark);
}

#pre-header {
	display: flex;
	background-color: white;
	justify-content: center;
	align-items: center;
	padding-top: 10px;
}

#pre-hdr-user {
	display: block;
	text-align: right;
}

#nav-header {
	display: flex;
	background-color: var(--dark);
	padding: 1em 1.4em;
}

table{
    table-layout: auto;
}

td{
    word-wrap: nowrap;
}


#db-claim-box {
	max-height: 500px;
}


#db-box {
	/*margin: 1em 15em 1em 15em;*/
}

#db-header-top {
	background-color: white;
	/*width: 1200px;*/
	margin: auto;
}

#db-header-sub {
	background-color: var(--xred);
	/*padding: 1em;*/
	width: 70%;
}

#dash-logo {
	width: 2.5rem;
	margin: 0em 0em .3em 1em;
}

#db-tab-title {
	font-size: 1rem;
	font-weight: 900;
}

#userbox {
	text-align: right;
}

.nav-link, .nav-link:hover {
	color: white;
}

#dbbody-cont {
	display: inline-block;
	width: 100%;
}

.db-val-lg {
	font-size: 450%;
	color: var(--dark);
}

.db-val-reg {
	font-size: 300%;
	color: var(--dred);
}

.d-flex {
	margin: auto;
}

.boxes {
	padding: 1em 0em 1em 0em;
	background-color: white;
	min-width: 150px;
	text-align: center;
}

.x-border {
	border: 1px solid rgba(0, 0, 0, 0.2);
	border-radius: 5px;
}

.btn-boxes {
	background-color: white;
	border: 1px solid gray;
}

.boxes-left {
	padding: 0em 1em 0em 1em;
	background-color: white;
	text-align: left;
}

.blk-right {
	display: block;
	text-align: right;
}


/* 
=================================================
	REPORT
=================================================*/

div.printable td {
	padding-top: .25rem !important;
	padding-bottom: .25rem !important;
	white-space: nowrap;
}

#report-filter-dd {
	min-width: 200px;
}

.printable {
	max-height: 442px;
	overflow: auto;
}


/* 
=================================================
	USER
=================================================*/

.cap {
	text-transform: capitalize;
}

#us-form-bod {
	
}


/* 
=================================================
	COMMON
=================================================*/


/*	Widescreen */

@media only screen and (min-width: 1367px) {

	.nav-item > .active { 
		color: var(--dark) !important;
		background-color: white !important;
	}

	#pre-header-content, #nav-header-content, #db-body-content {
		display: block;
	}

	#wc-request-box {
		max-width: 1366px;
	}

	#login-frame {
		width: 20rem;
	}

	.nav-text {
		display: block;
	} 

	.nav-icon, .nav-icon-sm, #db-tab-title {
		display: none !important;
	}

	#user-list-card {
		max-height: 81vh;
		overflow: auto;
	}

}

/*	Notebook */

@media only screen and (max-width: 1366px) {

	.nav-item > .active { 
		color: var(--dark) !important;
		background-color: white !important;
	}

	#wc-request-box {
		width: 100%;
	}

	#pre-header-content, #nav-header-content, #db-body-content {
		width: 100vw;
	}
	
	#login-frame {
		width: 20rem;
	}

	.nav-text {
		display: block;
	} 

	.nav-icon, .nav-icon-sm, #db-tab-title {
		display: none !important;
	}

	#user-list-card {
		max-height: 91vh;
		overflow: auto;
	}

}

/*	Tablet */

@media only screen and (max-width: 1024px) {

	.nav-item > .active { 
		color: var(--dark) !important;
		background-color: white !important;
	}

	.db-icons {
		display: none;
	}

	#login-frame {
		width: 20rem;
	}

	.nav-text {
		display: block;
	} 

	.nav-icon, .nav-icon-sm, #db-tab-title {
		display: none !important;
	}

	#nav-header-content {
		width: 100vw;
	}

	#sa-row-cont {
		flex-direction: column-reverse;
	}

}

/*	Mobile */
@media only screen and (max-width: 414px) {

	.fa, .fas {
		font-size: x-large;
	}

	#title-text, #dash-logo {
		display: none;
	}

	#all-navi {
		position: fixed;
		bottom: 1em;
	}

	.nav-text {
		display: none;
	} 

	.nav-icon, .nav-icon-sm, #db-tab-title {
		display: block !important;
	}

	.nav-icon-sm {
		font-size: 1rem;
	}

	#nav-header-content {
		width: 100vw;
	}

	.nav-item > .active {
		background-color: inherit !important;
		color: var(--danger) !important;
	}

	.nav-item {
		display: inline;
	}

	#pre-header {
		position: fixed;
		top: 0em;
		height: 4em;
		z-index: 888;
		padding: 1em;
		box-shadow: 0 12.5px 10px rgba(0, 0, 0, 0.035),
					0 100px 80px rgba(0, 0, 0, 0.07);

	}

	#nav-header {
		position: fixed !important;
	    z-index: 999;
	    padding: .5em 0em !important;
	    bottom: 0em;
	    justify-content: center;
	}

	#nav-header-content {
		margin: 0em;
	}

	#db-body {
		padding: 3em 0em;
		overflow: auto;
	}

	#sa-row-cont, #us-row-cont {
		flex-direction: column-reverse;
	}

	#us-row-cont {
		padding-bottom: 3em;
	}

	#login-logo {
		width: 3.5rem !important;
		height: 3.5rem !important;
	}

	#login-title {
		font-size: .9rem !important;
	}

	#req-form button {
		margin-bottom: .5em;
	}

	#pills-tab {
		display: flex;
		justify-content: space-between;
		padding-left: 2em;
		padding-right: 2em;
	}

	#pills-tab .nav-link {
		padding: 0.4em;
	}

	.nav-icon {
		font-size: 1.4rem;
	}

}