:root {
	--grid-background: rgb(238, 243, 253);
	--grid-background-hover: rgb(223, 234, 255);
	--grid-background-error: rgb(255, 223, 223);
	--grid-background-hover-error: rgb(247, 198, 198);
}

body {-webkit-text-size-adjust: none;position:relative;}.aligncenter,article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}body,html{font-size:100%}a,abbr,acronym,address,applet,article,aside,audio,b,big,blockquote,body,canvas,caption,center,cite,code,dd,del,details,dfn,div,dl,dt,em,embed,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,header,hgroup,html,i,iframe,img,ins,kbd,label,legend,li,mark,menu,nav,object,ol,output,p,pre,q,ruby,s,samp,section,small,span,strike,strong,sub,summary,sup,table,tbody,td,tfoot,th,thead,time,tr,tt,u,ul,var,video{margin:0;padding:0;border:0;}table{border-collapse:collapse;border-spacing:0}.alignright{float:right;margin-left:10px}.alignleft,.wp-caption{float:left;margin-right:10px}.aligncenter{margin:0 auto}.clear{clear:both;height:0;overflow:hidden}*{font-family:Calibri,Arial,San-Serif;font-weight:400}body{line-height:1;margin:0;padding:0}h1,h2,h3,h4,h5,h6,strong{font-weight:700;margin-top:0}p{margin-top:0;margin-bottom:15px}hr{height:1px;border-width:0;background-color:#9a9a9a;color:#9a9a9a}a{text-decoration:none;font-family:inherit;font-size:inherit;font-weight:inherit;font-style:inherit;color:inherit}a:hover{text-decoration:underline}

code {
	border:1px solid gray;
	background-color:white;padding:5px;
	display:block;
	font-size:12px;
}

body{
    background-color: rgb(240,240,240);
}

* {
    font-family: "Albert Sans", Arial;
    font-weight: 400;
    line-height:22px;
}

acronym {text-decoration: none;}

br {line-height:normal;}

div,p,input,a {

    font-size: 15px;
}

.clear {
    clear:both;
}

h1,h2,h3,h4,h5,h6,strong {
    font-weight: 700;
    margin:0; margin-bottom:15px;
}

h1 {font-size: 22px; background-color: #3399FF; color:white; padding:5px;}
h2 {font-size: 20px;}
h3 {font-size: 18px;}
h4 {font-size: 16px;}

h3 a {
    font-size: 18px; color: inherit ;
}

hr {
    margin:13px 0 24px 0;
    background-color: rgb(220,220,220);
    height:1px;
}

i.fa {
    margin-right:10px;
}

.rightalign {
    float:right;
}

.panel {
    background-color: rgb(250,250,250);
    border:1px solid #3399FF;
}

.padding {
    padding:2%;
    padding-top: 80px;
    position:relative;
    padding-bottom:200px;
}

.jobcount {
    background-color: orange;
    border-radius:5px;
    padding:0 5px;
    font-size:75%;
    color:black;
}
.half {
    margin:0 auto;
    width:50%;
}

.blue-text {
    color:#3399FF;
}
.green-text {
    color:rgb(0,120,0);
}
.green-back {
    color:white;
    background-color:rgb(0,120,0);
}
.orange-back {
    color: white;
    background-color: #CC6600;
}
.black-text {
    color:black;
}

.red-text {
    color:rgb(220,0,0);
}
.red-back{
    background-color:rgb(220,0,0);
    color:white;
}
.grey-text {
    color:rgb(200,200,200);
}

.textright {
    text-align:right !important;
}
.textleft{
    text-align:left !important;
}

/* SIDEBAR */

.sidebar,.home-sidebar {
    position:fixed;
    top:0; left:0; bottom:0;
    width: 200px;
    background-color: rgb(12, 52, 87);
    height:100%;

}

.bar {
    height:50px;
    display:block;
    overflow:hidden;
    padding:0 15px;
	text-transform: uppercase;

}
.home-sidebar .bar:first-child {
height:auto;text-align:center;padding:10px 0;
}

.bar span {
    color:white;
    line-height:50px;font-size:20px;
    margin:0;
    padding:0;
    background-color: transparent;
    font-weight:400;
}
.bar span img {
    margin-right:10px;
    vertical-align:middle;
}

.bar a {
    font-size:18px;
    height:50px;
    display:block;
    color:white;
    text-decoration: none;
    line-height:50px;
}
.bar a.mobileMenu {
    display:none;
}
.bar i {
    font-size:18px;
    color:white;
    margin-right:10px;
    margin-top:-3px;
    position:relative;
}

.dim a, .dim i{
    color: rgb(140,140,140);
}

.interactive {transition: all .5s;}

.interactive:hover {
    background-color:#3399FF;
}
.interactive:hover a, .interactive:hover i {
    color:white;
}

/* Page Area */

.page-area {
    position:relative;
    margin-left:200px;
    background-color: rgb(240,240,240);
    height:100%;
}
.options-bar {
    height:50px;
    background-color: rgb(220,220,220);
    overflow:hidden;
    padding:0 15px;
    line-height:50px;
    position: fixed;
    z-index:1000;
    width: calc(100% - 200px);
}


.floating-totals {
	position:fixed;
	bottom:-10px;
	left:0px;
	right:0;
	margin-left:200px;
	background-color: var(--grid-background);
	border-top: 1px solid #dcdcdc;
	padding:30px;
}

dialog {
	width:65vw;
	border-radius:8px;
	border:none;
	position:fixed;
}
dialog::backdrop {
	background-color: rgba(12, 52, 87, .75);
}

dialog button.close-button {
	position:absolute;
	top:10px;
	right:10px;
	background-color:transparent;
	border:none;
}
dialog button.close-button:hover {
	color:rgb(12, 52, 87);
}

dialog .grid-panel {
	margin-bottom:0;
	padding:0;
}

@media all and (max-width:1080px) and (min-width:600px){
    .options-bar{
        width: calc(100% - 51px);
    }
}


.options-bar .button {
    height:50px;
    display:inline-block;
    font-size: 16px; line-height:inherit;
    margin-right: 25px;
    text-decoration: none;
    color:#cecece;
    opacity:0.6;
    transition: all .5s;
}



.options-bar .button i {
    font-size:18px;
}
.options-bar .button:hover {
	color:white;
	opacity:1;
}

.options-bar .top-button {
	display:flex;
	align-items:center;
	float:right;
	gap:5px;
}

.options-bar .title {
    height:50px;
    font-size: 18px; line-height:inherit;
	float:left;
    margin-right: 25px;
    text-decoration: none;
    color:white;
	width:auto;
}

.title-bar {
    background-color:#031a2f;
    border-bottom:1px solid rgb(240,240,240);
    font-size: 20px;
    color:#cecece;
    height:auto;
}

.title-bar a:last-child{
    margin-right:0;
}

.display-panel {
    border:1px solid rgb(220,220,220);
    border-radius: 4px;
    background-color:white;
    padding:15px;
}

.third-panel{
    width:33%;
    margin-right:0.5%;
    margin-bottom:15px;
    border:1px solid rgb(220,220,220);
    border-radius:4px;
    background-color:white;
    padding:1%;
    float:left;
}
.third-panel:nth-child(3n+3){
    margin-right:0;
}




.grid-thirds {
	display:grid;
	grid-template-columns: 1fr 1fr 1fr;
	gap:20px;
}
.grid-panel {
	border-radius:4px;
    background-color:white;
    padding:20px;
	margin-bottom:40px;
}

.domain-list-grid {
	display: grid;
	grid-template-columns: 70px auto 150px 70px 100px max-content;
	gap:20px;
	border-radius:4px;
	background-color: var(--grid-background);
	align-items:center;
	padding:10px;
	margin-bottom:5px;
	transition: background-color .5s;
}

.project-list-grid {
	display: grid;
	grid-template-columns: 60px 70px 70px auto 150px 70px max-content;
	gap:20px;
	border-radius:4px;
	background-color: var(--grid-background);
	align-items:center;
	padding:10px;
	margin-bottom:5px;
	transition: background-color .5s;
}


.domains-list-grid {
	display: grid;
	grid-template-columns: 60px auto 150px max-content max-content;
	gap:20px;
	border-radius:4px;
	background-color: var(--grid-background);
	align-items:center;
	padding:10px;
	margin-bottom:5px;
	transition: background-color .5s;
}


.domains-list-grid .details {
	text-overflow: ellipsis;
}

.jobcoster-list-grid {
	display: grid;
	grid-template-columns: 60px auto 150px 100px max-content;
	gap:20px;
	border-radius:4px;
	background-color: var(--grid-background);
	align-items:center;
	padding:10px;
	margin-bottom:5px;
	transition: background-color .5s;
}

.clients-list-grid {
	display: grid;
	grid-template-columns: 60px auto 450px 300px max-content;
	gap:20px;
	border-radius:4px;
	background-color: var(--grid-background);
	align-items:center;
	padding:10px;
	margin-bottom:5px;
	transition: background-color .5s;
}

.domainnames-list-grid {
	display: grid;
	grid-template-columns: 60px auto 300px 100px max-content;
	gap:20px;
	border-radius:4px;
	background-color: var(--grid-background);
	align-items:center;
	padding:10px;
	margin-bottom:5px;
	transition: background-color .5s;
}

.clients-list-grid .contact, .clients-list-grid .note {text-overflow: ellipsisoverflow:hidden;}

.invoicelist-list-grid {
	display: grid;
	grid-template-columns: 40px 70px 70px auto 120px 100px max-content;
	gap:20px;
	border-radius:4px;
	background-color: var(--grid-background);
	align-items:center;
	padding:10px;
	margin-bottom:5px;
	transition: background-color .5s;
}

.invoicelist-list-grid.TermsPAID {opacity:.5;}

.invoice-list-grid {
	display: grid;
	grid-template-columns: 60px 70px auto 120px 100px max-content;
	gap:20px;
	border-radius:4px;
	background-color: var(--grid-background);
	align-items:center;
	padding:10px;
	margin-bottom:5px;
	transition: background-color .5s;
}

.inline-grid {
	grid-template-columns: 70px auto 120px 100px max-content;
}


.text_allUnpaid, .invoice-unpaid {
	background-color: var(--grid-background-error);
	color:darkred;
}

.project-list-grid:hover,
.domains-list-grid:hover,
.jobcoster-list-grid:hover,
.domain-list-grid:hover,
.domainnames-list-grid:hover,
.clients-list-grid:hover {
	background-color:var(--grid-background-hover);
}
.text_allUnpaid:hover {
	background-color: var(--grid-background-hover-error);
}

.project-list-grid small, .domains-list-grid small,.domainnames-list-grid small {opacity:.75;font-style:normal;}

.desktop-hide {display:none;}

.monthly-grid {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	gap:20px;
	border-radius:4px;
	padding:10px;
}
.monthly-grid > div {
	border-radius:4px;
	padding:20px;
	background-color: var(--grid-background);
}


.buttons {
	display:flex;
	align-items:center;
	gap:10px;
}

.right-align-text {text-align: right;}


.half-panel-inset {
    border-radius:4px;
    background-color:white;
    padding:1%;
}

.half-panel {
    width:49%;
    float:left;
}
.half-panel:nth-child(2n+2){
    float:right;
}
.half-panel:after{
    content:"";
    clear:both;
    display:table;
}

.plain-panel {
    border-width:0;
    background-color: transparent;
    padding:0;
}

.message-box {
    border:1px solid rgb(220,220,220);
    padding:5px 10px;
    margin:10px 0;
    line-height:40px;
    background-color:white;
    clear:both;
}
.message-box-ok {
    border-left:5px solid green;
}
.message-box-bad {
    border-left:5px solid red;
}

/* form elements */
label {
    display:block;
    margin-bottom:5px;
    font-weight: 600;
}

input[type=text],input[type=password],textarea, select, input[type=number],input[type=file],input[type=date] {
    width:100%;
    font-size:15px;
    line-height:20px;
    padding:5px;
    margin-bottom:10px;
}

form div,form button {
    margin-bottom:10px !important;
}

.iconpicker {
    font-size:32px;
}

select {
    width:50%;
}

.iconbutton {
	border-width:0px;
    background-color: #3399FF;
    color:white;
    padding:5px;
    transition:all .5s;
	border-radius:5px;
	display:flex;
}
.iconbutton:hover {
	background-color: black;
	color:white;
}


input[type=submit],input[type=button], .submitbutton{
    border-width:0px;
    background-color: #3399FF;
    color:white;
    padding:5px 10px;
    transition:all .5s;
	border-radius:5px;
	margin-right:5px; margin-bottom:5px;
	display:flex;
	gap:10px;
	align-items:center;
	width:max-content;
}
.submitbutton:hover {
    color:white;
    text-decoration:none;
    background-color:black;
}

form:after {
    clear:both;
    content:"";
    display:table;
}

.select2-selection {
    border-radius: 0 !important;
    height:36px !important;
    line-height:32px !important;
}
.select2-selection>span {
    line-height:32px !important;
}
.select2 {
        margin-bottom:10px;
}

/* tables */
table {
    width:100%;
    border:1px solid rgb(220,220,220);
    background-color:white;
}
table * {
    font-size:14px;
}

.overlay-add-transaction,.overlay-add {
    background-color: white;
    border-bottom:1px solid rgb(220,220,220);
}
.tokenize-sample {
    width:100%; height:auto;
}
.running-total span {
    font-size:10px;
    color:gray;
    display:block;
    padding-top:3px;
}

.bar h1 a {
    display:none;
}

.ui-autocomplete {
    border-radius:0px;
    padding:4px 0;
}
.ui-autocomplete a {
    border-radius:0px;
    display:block;
    padding:4px 7px;

}

.ui-autocomplete a:hover {
    background-color: #3399FF !important;
    color:white;
    text-decoration:none;
}

.ui-autocomplete .ui-state-focus {
    display:block;
    background-color: #3399FF;
    border-width:0px;

}
.ui-menu .ui-menu-item {
    padding:0;
    margin-bottom:4px;
    line-height:24px;
}

.account-icon {
    font-size:24px;
    margin-right:0 !important;
}

.chart {
    border:1px solid rgb(220,220,220);
}

.payee-list a:hover {
    text-decoration: none;
    color:white;
}

.btn-default i {
    margin-right:0;
}

.transarrow {
    cursor: pointer;
}

#jobTitle, #quoteTitle, .invoice-project-title {
	font-size: 200%;
	background-color: transparent;
	border:0px solid rgb(240, 240, 240);

}
#jobTitle:focus, #quoteTitle:focus {
	outline-color: #e5e5e5;
	outline-width: 1px;
	outline-style: solid;
}

#InvoiceDetails {border:1px solid #e5e5e5; padding:20px; border-radius:4px;}

.smallbar a {
	display:grid;
	height:auto;
	grid-template-columns: 40px auto;
	padding:15px 0;
	gap: 10px;
	align-items: center;
}


.invoice-form-grid {
	display:grid;
	grid-template-columns: 75% auto;
	gap:20px;
}

.large-text {
	border-width:0px;
	font-size:20px;
	width:auto;
}
.large-text input {border-width:0px;font-size:20px;display:inline; width:min-content !important;padding:0;outline:none;}

@media all and (max-width:1081px){

	.padding {
	    padding:2%;
	}

	.floating-totals {
		margin-left:0px;
	}

	.floating-totals h2 {
		font-size: 15px;margin-bottom:0;
	}

	.floating-totals .third-panel {height:55px !important;}

    .options-bar {
        width:100%;
        position:relative;
    }

    p {
        font-size: 14px;
    }

    .sidebar,.home-sidebar{
        width:100%;
    }
    .home-sidebar .bar:first-child {
        height:auto;text-align:center;padding:10px 0;
    }


    .bar h1 a {
        display:inline;
    }

    .bar a.mobileMenu {
        display:inline;
        float:right;
    }
    .bar a.mobileMenu i {
		line-height:50px;
    }


    .page-area{
        margin-left:0;
        height:auto;
    }

    .third-panel {
        width:98%;margin-right:0;
    }

    .half-panel {
        float:none;
        width:100%;
    }

    table * {
        font-size:12px;

    }


    p,p strong, p a {font-size:14px;line-height:16px;}

    .floating-totals {
		margin-left:50px;
	}

	.bar img {display:none;}
	.smallbar {
		padding:0;
	}
	.smallbar span {display:none;}

	.smallbar a {
		grid-template-columns: 1fr;
	}

    .sidebar,.home-sidebar  {
        overflow:hidden;
        width: 50px;
    }

    .sidebar a i,.home-sidebar a i {
        margin-right:20px;
    }

    .sidebar h1,.home-sidebar h1 {
        display:none;
    }

    .page-area {
        margin-left:50px;
    }


    table * {
        font-size:13px;

    }

    .home-sidebar {
        width:200px;
    }
    .home-pagearea {
        margin-left:200px;
    }

}

.smallbar {line-height:1; height:auto; border-bottom:none;}
.smallbar span {
    font-size:15px;line-height:1;
	text-transform: uppercase;
}
.smallbar div {line-height:1;position:relative;text-align:center;}


small {
color:gray;
}

#uinv {
	background-color:rgb(204, 0, 0);
	padding:1px 3px;
	color:white;
	font-size: 50%;
	position: absolute;
    line-height: normal !important;
	top: -2px;
    right: 4px;
	display:block;
}

.smallbar span#uinv {display:block !important;}

#ainv {
	background-color:rgb(223, 125, 4);
	padding:1px 3px;
	color:white;
	font-size: 50%;
	position: absolute;
    line-height: normal !important;
	top: -2px;
    right: 4px;
	display:block;
}

.holiday-grid {
	display:grid;
	grid-template-columns: 1fr 1fr 1fr;
	gap: 20px;
}

.holiday-grid .holiday {
	padding:10px;

	background-color: var(--grid-background);
	border-radius:4px;
	text-align:center;
}
.holiday-grid .holiday hr {
	margin:13px 0;
}

.holiday-grid .holiday .day {font-size:30px; line-height:32px;}
.holiday-grid .holiday .month {font-size:18px; text-transform: uppercase; line-height:20px;}
.holiday-grid .holiday .year {font-size:20px;line-height:22px;}

.loginbox {
	width:90%;
	max-width:400px;
    background-color: rgba(0,0,0,.5);
	margin:100px auto 0;
	border:1px solid lightgrey;
	backdrop-filter:blur(4px);
	color:white;
}

.loginbox-bar {
	height: 50px;
  background-color: rgba(0,0,0,.5);
  overflow: hidden;
  padding: 0 15px;
  line-height: 50px;
  z-index: 1000;
  display:flex;

}

.loginbox form {
	padding: 25px;
}

.loginbox  input[type=text],
.loginbox  input[type=password]  {color:black;}

.filter-overdue {float:right;}
.filter-overdue:focus{outline: none;}