/*General Items:*/

.blurred {
    filter: blur(12px);
}

.ui-autocomplete-loading {
    background: white url("images/loading-sm.gif") right center no-repeat;
    position: relative;
    top: 4px;
}

body {
    background: #f9fafc;
    background-image: url('wallpaper.jpg');
}

.ui-autocomplete-category {
    font-weight: bold;
    padding: .2em .4em;
    margin: .8em 0 .2em;
    line-height: 1.5;
}

.message-box {
    position: fixed;-webkit-transform: inherit !important;
-moz-transform: inherit !important;
-o-transform: inherit !important;
transform: inherit !important;
    width: 500px;
    height: 75px;
    border: 2px solid #a0a0a0;
    margin: 40px;
    padding: 4px;
    top: 0;
    right: 0;
    text-align: center;
    display: none;
    z-index: 9999;
}

.message-box > span {
    display: inline-block;
    vertical-align: middle;
    line-height: normal;
}

.message-box.red {
    background-color: rgb(232,155,161,0.8);
}

.message-box.green {
    background-color: rgba(162,242,172,0.8);
}

.main_title {
	color:white;
	font-family:"Lucida Sans Unicode", "Lucida Grande", sans-serif;
	font-weight:bold;
	font-size:3.5em;
}

.welcome-grid {
    display: grid;
    grid: auto auto / 60% auto;
    grid-gap: 10px 10px;
    /*justify-items: start;*/
    /*align-items: start;*/
    /*justify-content: start;*/
    /*align-content: start;*/
}



.cell-center {
    text-align: center;
}

.login_table {
	position:relative;
	width:300px;
	background-color: rgb(209,204,202);
	margin-top: 50px;
	margin-left: 300px;
	border-radius: 10px;
	padding: 10px;
	border: 1px solid black;
}

.nav-bar {
    position: fixed;
    width: 220px;
    background-color: #627580;
    left: 0;
    top: 0;
    padding: 0;
    overflow: hidden;
    min-height: 100%;
}

.nav-link {
    margin: 15px 0;
    padding: 3px 3px 3px 8px;
    width:100%;
}

.nav-link.selected {
    background: #545353;    
}

.nav-link img {
    height: 28px;
    width: 28px;
    position: relative;
    left: 3px;
    top: 4px;
}

.nav-link a {
    text-decoration: none;
    color: #efefef;
    font-family:"Lucida Sans Unicode", "Lucida Grande", sans-serif;
    font-size: 16px;
    position: relative;
    left: 10px;
    top: -2px;
}

.nav-link:hover {
    background: #757575;
}

.logo {
    height: 200px;
    width: 200px;
    display: block;
    margin: auto;
}

.logoWithText {
    height: 74px;
    width: 202px;
    display: block;
    margin: auto;
}

.content-box {
    margin: 10px 10px 10px 230px;
    background-color: white;
    border: 2px solid #a0a0a0;
    border-radius: 2px;
    padding: 5px 10px 25px 10px;
    box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
    min-height: 100%;
}

#welcome-box {
    border: 1px solid black;
    border-radius: 2px;
    width: 400px;
}

a {
    text-decoration: none;
}

a.button {
    background-color: #ce7373;
    border: 1px solid #a0a0a0;
    color: white;
    padding: 10px 16px;
    text-align: center;
    display: inline-block;
    font-family:"Lucida Sans Unicode", "Lucida Grande", sans-serif;
    border-radius: 3px;
    text-decoration: none;
    /*width: auto;*/
    margin: 5px 5px 5px 0;
    cursor: pointer;
}

a.button:hover {
    background-color: white;
    color: black;
    font-weight: normal;
}

div.small, span.small {
    font-size:12px;
}

div.large, span.large {
    font-size:40px;
    font-weight:bold;
}

div.medium, span.medium {
    font-size: 18px;
    font-weight: bold;
}

div, span {
    color: black;
	font-family:"Lucida Sans Unicode", "Lucida Grande", sans-serif;
	font-size:1em;
}

h1 {
    color:black;
    font-family:"Lucida Sans Unicode", "Lucida Grande", sans-serif;
    font-size:2em;
    font-weight: bold;
    text-align: left;
}

h2 {
    color:black;
    font-family:"Lucida Sans Unicode", "Lucida Grande", sans-serif;
    font-size:1.2em;
    font-weight: bold;
    text-align: left;

}


button {
    background-color: #ce7373;
    border: 1px solid #a0a0a0;
    color: white;
    padding: 10px 16px;
    text-align: center;
    text-decoration: none;
    font-size: 16px;
    cursor: pointer;
	font-family:"Lucida Sans Unicode", "Lucida Grande", sans-serif;
	border-radius: 3px;
	display: block;
}

button:hover {
    background-color: white;
    color: black;
}

.command-hidden {
    display: inline-block;
    visibility: hidden;
    padding: 1px;
    margin: 2px;
}

.row-hidden {
    display: none;
}

.modify-row:hover .command-hidden {
    visibility: visible;
}

.status-box {
    border: 1px solid black;
    padding: 2px;
    text-align: center;
    border-radius: 2px;
    float: left;
    /*display: inline-block;*/
    margin: 0 8px;
    min-width: 75px;
}

.invoice-row {
    margin: 10px;
}

.invoice-box {
    border: 1px solid #a0a0a0;
    background: #D2D8D8;
    height: 100px;
    position: relative;
    left: 8px;
    width: 300px;
    padding: 4px;
}

.email-box {
    border: 1px solid #a0a0a0;
    padding: 4px;
    width: 490px;
    height: 150px;
    position: relative;
    left: 8px;
    border-radius: 2px;
    resize: none;
}

.invoice-item-box {
    border: 1px solid #a0a0a0;
    padding: 5px;
    border-radius: 2px;
    width:auto;
    margin-left: 20px;
    display: inline-block;
}

#invoiceItems {
    margin-left: 20px;
}

input:focus {
    border: 1px solid #ce7373;
}

input[type="checkbox"] {
    margin:10px;
}

.customer-invoice-box {
    border: 1px solid #a0a0a0;
    border-radius: 2px;
    margin: 8px;
    padding: 8px;
    background: #f4f8ff;
}

.filter-table {
    float:left;
    width:320px;
    border:1px solid #a0a0a0;
    padding:4px;
    vertical-align:top;
    margin-right: 10px;
    margin-bottom: 20px;
    background: #f4f8ff;
}

.pageControl {
    background: #f4f8ff;
}

th.rotate {
    border: none;
    height: 140px;
    white-space: nowrap;
}

th.rotate > div {
    transform: 
    translate(25px, 51px)
    rotate(315deg);
    width: 30px;
}

th.rotate > div > span {
    border-bottom: 1px solid #a0a0a0;
    padding: 5px 10px;
}

th.proposal-header {
    vertical-align:bottom;
    border: none;
    border-bottom: 1px solid #a0a0a0;
}

.command-bar {
    border: 1px solid #a0a0a0;
    padding: 10px;
    margin: 10px 0;
    background: #f4f8ff;
}



.command-bar-hidden {
    display: none;
}


/*Popup menus:*/

.popup-box {
    background-color:rgba(209, 204, 202);
    border: 1px solid #a0a0a0;
    border-radius: 2px;
    padding: 10px;
    box-shadow: 0 4px 8px 0 rgba(0,0,0,0.2), 0 6px 20px 0 rgba(0,0,0,0.19);
    position: fixed;
    z-index: 1;
    display: none;
    top: 20%;
    left: 50%;
    max-width: 100%;
    max-height: 100%;
    transform: translate(-50%, -20%);
    overflow-y: auto;
}

#addExpenseBox {
    min-width: 860px;
}

.alert-table {
	display: none;
	/*height: 35px;*/
	background-color: lightCoral;
	border: 1px solid black;
	border-radius: 4px;
	padding: 8px;
}

.header-text {
    text-transform: uppercase;
    color: black;
    font-family:"Lucida Sans Unicode", "Lucida Grande", sans-serif;
    font-size:1.3em;
    display: block;
    margin: auto;
    text-align: center;
}

.rightText {
    display: block;
    margin: auto;
    text-align: right;
    font-style: italic;
    font-size:0.8em;
}

.textbox {
	background: rgb(255,255,255);
	width:240px;
	height:19px;
	padding: 5px;
	border-top-left-radius: 8px;
	border-top-right-radius: 0;
	border-bottom-left-radius: 8px;
	border-bottom-right-radius: 0;
	border: 1px solid black;
    /*display: inline-block;*/
}

.text-icon {
    background: rgb(238,238,238);
    border-top-left-radius: 0;
    border-top-right-radius: 8px;
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 8px;
    border: 1px solid black;
    width:40px;
    height:29px;
    display: inline-block;
    position: relative;
    left: -1px;
    top: 6px;
    /*float: right;*/
}

.icon {
    height: 25px;
    width: 25px;
    position: relative;
    top: 1px;
    left: 6px;
}

.button-icon {
    height: 30px;
    width: 30px;
    margin:0;
    padding:0;
}

.user-icon {
    height: 110px;
    width: 110px;
    border-radius: 50%;
    display: block;
    margin: auto;
}

.welcome-icon {
    height: 35px;
    width: 35px;
    float: left;
    position: relative;
    top: 7px;
}

.large-icon {
    height: 35px;
    width: 35px;
}

a:hover {
    font-weight: bold;
    cursor: pointer;
}

.active {
	background-color: white;
}

.clearfix::after {
    content:"";
    clear:both;
    display:table;
}

/*Tooltip stuff:*/
.tooltip {
    display:inline-block;
    position:relative;
    /*border-bottom:1px dotted #666;*/
    text-align:center;
}

.tooltip .top {
    max-width:200px;
    top:-5px;
    left:50%;
    transform:translate(-40%,-100%);
    padding:10px 20px;
    color:#fff;
    background-color: #0fbbd4;
    font-weight:bold;
    font-size:14px;
    font-family: "Lucida Sans Unicode", "Lucida Grande", sans-serif;
    border-radius:8px;
    position:absolute;
    z-index:99999999;
    box-sizing:border-box;
    box-shadow:0 1px 8px rgba(0,0,0,0.5);
    display:none;
    opacity: 0;
    transition: opacity 2s;
}

.tooltip:hover .top {
    display:block;
    opacity: 1;
}

.tooltip .top i {
    position:absolute;
    top:100%;
    left:50%;
    margin-left:-15px;
    width:30px;
    height:15px;
    overflow:hidden;
}

.tooltip .top i::after {
    content:'';
    position:absolute;
    width:15px;
    height:15px;
    left:50%;
    transform:translate(-50%,-50%) rotate(45deg);
    background-color: #0fbbd4;
    box-shadow:0 1px 8px rgba(0,0,0,0.5);
}

p {
    margin:10px;
}

.earnings-statement {
    padding: 0;
    margin: 4px;
}

.earnings-row {
    padding: 4px;
    margin: 0;
    border-left: 1px solid black;
    border-right: 1px solid black;
    border-top: 1px solid black;
}

.earnings-list {
    padding: 4px;
    margin: 0;
    border-left: 1px solid black;
    border-right: 1px solid black;
}

.earnings-grey {
    background: gainsboro;
    font-weight: bold;
}

.earnings-cell {
    float: left;
}

.paycheck {
    border: 1px solid black;
    padding: 4px;
    margin: 30px 4px 4px 4px;
}

#calendarView {
    display: grid;
    grid-template-columns: repeat(6, 14.29%) auto;
    place-items: stretch stretch;
    place-content: stretch stretch;
    gap: 2px;
    background: #f4f8ff;
    border: 1px solid #a0a0a0;
}

#incomeStatement {
    display: grid;
    grid-template-columns: 2% auto 20% 20%;
    grid-items: stretch stretch;
    place-content: stretch stretch;
    gap: 2px;
}

#calendarView > div {
    /*padding: 2px;*/
    text-align: center;
    height: 90px;
    background: white;
}

.routine-0 { 
    background: #f4ecb0;
    border: 1px solid #f4f8ff;
}

.routine-1 {
    background: Salmon;
    border: 1px solid #f4f8ff;
}

.routine-2 {
    background: LightGreen;
    border: 1px solid #f4f8ff;
}

.routine-3 {
    background: SeaShell;
    border: 1px solid #f4f8ff;
}

.form927 {
    display: grid;
    grid-template-columns: 5% 37% 10% 16% 16% 16%;
    gap: 9px 3px;
    justify-items: stretch;
    place-content: space-evenly space-evenly;
}

.form941 {
    display:grid;
    grid-template-columns: 50% 10% 5% 10% 25%;
    gap: 9px 3px;
    justify-items: stretch;
    place-content: space-evenly space-evenly;
}

.border-around {
    border: 1px solid black;
    text-align: center;
    padding: 2px;
    font-weight: bold;
    /*margin: auto;*/
}

.w2 {
    display: grid;
    grid-template-columns: 5.85% 16.1% 16.1% 16.1% 11.46% 11.46% 11.46% 11.46%;
    grid-gap: 0;
    justify-items: stretch;
    place-content: start;
}

.w2 div {
    padding: 3px;
}

.tiny {
    font-size: 10px;
}

.payroll-flex {
    display: flex;
    flex-flow: row nowrap;
    align-items: flex-start;
    align-content: flex-start;
}

#generatePaycheckGrid {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-content: flex-start;
}

.generatePaycheck {
    border: 1px solid #a0a0a0;
    background: white;
    margin: 6px;
    padding: 4px;
}

.payroll-item {
    border: 1px solid #a0a0a0;
    background: white;
    margin: 6px;
    padding: 4px;
}

/*Floating input label stuff:*/
.float-container, .input-container {
    position: relative; 
    background: rgb(255,255,255);
    width:260px;
	height:38px;
	padding: 0 4px;
	border-radius: 0 4px 4px 0;
	border: 1px solid #a0a0a0;
    left: -1px;
}

.float-icon {
    background: rgb(238,238,238);
    border-radius: 4px 0 0 4px;
    border: 1px solid #a0a0a0;
    width:40px;
    height:38px;
    display: inline-block;
    position: relative;
    /*left: -1px;*/
    top: 6px;
}

.float-container input {
  border: none;
  outline: 0;
  width: 260px;
  font-size: 14px;
  padding: 12px 0 0;

}

.input-container input {
  border: none;
  outline: 0;
  width: 260px;
  font-size: 14px;
  padding: 12px 0 0;
}

.float-container label {
    position: absolute;
    font-size: 14px;
    transform: translate(0, 9px) scale(1);
    transform-origin: top left;
    transition: all .1s ease-in-out;
    
}

.float-container.active label {
    text-transform: uppercase;
    color: darkgray;
    transform: translate(0, 2px) scale(.75);
}

.flyout {
    border: 1px solid black;
    border-radius: 4px;
}

.fieldWhite {
    background-color: white;
}

.fieldGrey {
    background-color: #D2D8D8;
}

table {
  font-family:"Lucida Sans Unicode", "Lucida Grande", sans-serif;
  border-collapse: collapse;
  /*width: 100%;*/
}

td, th {
  border: 1px solid #dddddd;
  text-align: left;
  padding: 8px;
}

tr:nth-child(even) {
  background-color: #dddddd;
}

tr:nth-child(odd) {
    background-color: white;
}

.hidden {
    display: none;
}

.check {
    margin: 15px;
    padding: 5px;
    border-style: double;
    background-color: Cornsilk;
    display: grid;
    grid-template-columns: 60% 40%;
    justify-items: start;
    align-items: start;
    justify-content: stretch;
}



#accounting-dashboard {
    display: grid;
    margin: 2px;
    grid-template-columns: 25% 25% 25% 25%;
    gap: 20px 20px;
    /*align-items: start;*/
}

#accounting-dashboard h3, #welcome-dashboard h3 {
    font-weight: bold;
    font-size: 1.5em;
    margin: 0 0 10px 0;
}

#accounting-dashboard > div, #welcome-dashboard > div {
    background-color: #f4f8ff;
    padding-left: 10px;
    padding-right: 10px;
    padding-bottom: 10px;
    padding-top: 4px;
    border: 1px solid #dddddd;
    box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.1), 0 6px 20px 0 rgba(0, 0, 0, 0.1);
}

.income-header h4 {
    color: DarkGrey;
    text-transform: uppercase;
    margin: 10px 0 0 0;
    font-size: 1em;
    font-weight: normal;
}

.income-header h5 {
    font-size: 1.4em;
    margin: 10px 0 0 0;
    position: relative;
    left: 20px;
    font-weight:normal;
}

#accounting-netIncome {
    font-size: 1.7em;
    font-weight: bold;
}

.arrow-green {
    background: #A2F2AC !important;
}

.arrow-green:after {
    border-left-color: #a2f2ac !important;
}

#order-status-container > div:last-child:after {
    border-width: 0 !important;
    margin-top: 0 !important;
}

#order-status-container > div:last-child:before {
    border-width: 3px !important;
    margin-top: -3px !important;
}

#order-status-container > div {
	position: relative;
	border: 2px solid #7b8f9c;
	height: 80px;
	width: 16%;
	float:left;
	text-align: center;
	vertical-align:middle;
	background-color:white;
}

#order-status-container > div span {
    font-size: 1em;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

#order-status-container > div:not(:first-child) {
    border-left:none;
}

#order-status-container > div:after, #order-status-container > div:before {
	left: 100%;
	top: 50%;
	border: solid transparent;
	content: " ";
	height: 0;
	width: 0;
	position: absolute;
	pointer-events: none;
}

#order-status-container > div:after {
	border-color: rgba(244, 248, 255, 0);
	/*border-left-color: #f4f8ff;*/
	border-left-color: white;
	border-width: 15px;
	margin-top: -15px;
}

#order-status-container > div:before {
	border-color: rgba(123, 143, 156, 0);
	border-left-color: #7b8f9c;
	border-width: 18px;
	margin-top: -18px;
}

#order-main {
    display: grid;
    margin: 2px;
    grid-template-columns: 70% 27%;
    gap: 20px 20px;
    justify-items: stretch;
    align-items: start;
    place-content: start start;
    clear: both;
}



.order-items {
    border: 2px solid #a0a0a0;
    border-radius: 2px;
    /*box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);*/
    padding: 10px;
}

h3 {
    margin-top: 0;
}

.icon-circle {
    background: WhiteSmoke;
    width: 40%;
    height: auto;
    border-radius: 50%;
    text-align: center;
    line-height: 100px;
    vertical-align: middle;
    padding: 8px;
    border: 1px solid grey;
}

#order-timeline tr > td:first-child {
    text-align:center;
    background: linear-gradient(grey, grey) no-repeat center/2px 100%;
}

#order-timeline tr:first-child > td:first-child {
    text-align:center;
    background-image: linear-gradient(grey, grey);
    background-size: 2px 50%;
    background-repeat: no-repeat;
    background-position: center bottom;
}

#order-timeline tr:last-child > td:first-child {
    text-align:center;
    background-image: linear-gradient(grey, grey);
    background-size: 2px 50%;
    background-repeat: no-repeat;
    background-position: center top;
}

#order-timeline tr {
    /*background-color: #f4f8ff;    */
    background-color: white;
}

.order-col > div {
    margin: 20px;
}

.dot-green {
  height: 12px;
  width: 12px;
  background-color: #a2f2ac;
  border-radius: 50%;
  display: inline-block;
  margin-right: 5px;
}

.product-image {
    position: relative;
}

.product-image > img {
    width: 80px;
    height: auto;
}

.product-image:before {
    display:block;
    content:'';
    position:absolute;
    width:100%;
    height:100%;
    box-shadow:inset -3px -3px 6px 6px rgba(255,255,255,1);
}

.calendarLabel {
    position: relative;
}

.hoverBox {
    display: none;
    position: absolute;
    min-width: 300px;
    background-color: rgb(209, 204, 202);
    border: 1px solid #a0a0a0;
    box-shadow: 0 4px 8px 0 rgba(0,0,0,0.2), 0 6px 20px 0 rgba(0,0,0,0.19);
    padding: 5px;
    z-index: 99;
    border-radius: 3px;
    left:25px;
}

.calendarLabel:hover .hoverBox {
    display: block;
}

.taxProgress > td:not(:first-child) {
   background: linear-gradient(to right, #ce7373, #A2F2AC);
   background-repeat: no-repeat;
}

/*.paycheck-employee {*/
/*    background-color: #f4f8ff;*/
/*    padding: 10px;*/
/*    margin: 10px;*/
/*    border: 1px solid #a0a0a0;*/
    /*box-shadow: 0 4px 8px 0 rgba(0,0,0,0.2), 0 6px 20px 0 rgba(0,0,0,0.19);*/
/*    border-radius: 3px;*/
/*}*/

.paycheck-content {
    /*display: none;*/
    background-color: white;
    padding: 20px;
}

.paycheck-grid {
    display: grid;
    margin: 2px;
    grid-template-columns: 60% 40%;
    gap: 20px 20px;
    justify-items: stretch;
    align-items: start;
    place-content: start start;
    clear: both;    
}

.paycheckHidden {
    display:none;
}