body {
	margin:0;
	color: #1f2f3f;
	font-family: 'Varela Round', sans-serif;
}
header,
footer {
	background:#2b3f99;
	min-height:100px;
	padding:20px;
	color:#fff;
	/*overflow:hidden;*/
	text-align:center;
}
header > div {
	display:inline-block;
	min-width:180px;
	min-height:105px;
}
#header-left {
	float:left;
	text-align:left;
}
#header-middle {
	position:relative;
	width:calc(100% - 360px);
}
#header-right {}
#header-middle nav {
	position:absolute;
	left:0;
	bottom:0;
	width:100%;
	font-family: "Raleway", "Helvetica Neue", Helvetica, Arial, sans-serif;
}
#header-middle nav > * {
	display:inline-block;
	margin:5px 10px;
	color:#fff;
	text-decoration:none;
}
header img {
	filter: brightness(0) invert(1);
	width:100px;
}
#header-left img {
	width:auto;
	max-width:160px;
	height: auto;
	max-height:100px;
}
.header-info {
	float:right;
	text-align:left;
	padding:0 20px;
	min-width:140px;
}
.header-info span {
	display:block;
	margin:5px
}
header.client {
	min-height: 81px;
	padding-top:0;
	padding-bottom:0;
	padding-left:calc(50% - 585px);
	padding-right:calc(50% - 585px);
	background-color:rgba(255, 255, 255, 0.70); 
	position:fixed;
	width:1170px;
	max-width:100%;
	top:0;
	left:0;
	z-index:9;
}
header.client > div {
	min-height:55px;
}
header.client #header-middle {
	float:right;
}
header.client img {
	filter:none;
}
header.client #header-middle nav > *,
header.client a {
	color:#4c4c4c;
	transition: all 0.3s ease;
	text-transform: uppercase;
	font-weight: 500;
	letter-spacing: -1px;
	font-size: 13px;
}
header.client #header-middle nav > *:hover {
	color:#f1ea00;
}
header.client + section {
	margin-top:100px;
}
header.client .submenu {
	background:#fff;
}
footer {
	position:relative;
}
footer span {
	position:absolute;
	display:block;
	top:50%;
	left:50%;
	transform:translate(-50%,-50%);
	font-size:24px;
	width: 90%;
}
.subfooter {
	text-align:center;
	padding:5px 0;
	display:block;
	width:100%;
	color:#aaa;
	font-size:75%;
}
#header-middle nav > .dropdown {
	position: relative;
	cursor:pointer;
	padding-right:18px;
}
#header-middle nav > .dropdown:before {
	font-family: "FontAwesome";
	content:"\f0dd";
	position: absolute;
	right:0;
	top:-4px;
	width:16px;
	height:16px;
	font-size: 18px;
}
.submenu {
	display:none;
	position: absolute;
	width:100px;
	top: 100%;
	left:-5px;
	background-color:#2b3f99;
	text-align: left;
	padding:10px;
	z-index:9;
}
.dropdown:hover .submenu {
	display: block;
}
.submenu a {
	display:block;
	padding:5px 0;
	width:100%;
	text-decoration: none;
	color:#fff;
}
.admin-menu {
	margin-top:-20px;
}
section {
	position:relative;
	padding: 40px 20px;
	min-height:560px;
	text-align:center;
}
.order-list table {
	width:100%;
	display:block;
	overflow:auto;
}
.order-list table th {
	cursor:pointer;
	background-image:url('/css/images/black-unsorted.gif');
	background-repeat:no-repeat;
	background-position:5px 10px;
	background-size:auto 30%;
}
.order-list table td:first-child {
	min-width:120px;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	width: 120px;
	max-width: 120px;
}
.order-list > a {
	display:block;
	background-color:#efefef;
	margin-top:10px;
}
.order-list h3,
.order-list h4 {
	display:inline-block;
	margin:0;
	padding:10px 3px;
}
.order-list a {
	text-decoration: none;
	color: #333;
}
.order-list a:hover {
	text-decoration: underline;
}
#orders-popup {
	overflow-x: hidden;
	overflow-y: scroll;
}
.order-list table,
#orders-popup table {
	border-collapse: collapse;
}
.order-list tbody tr:first-child td,
#orders-popup tbody tr:first-child td,
tr.new-client td {
	border-top:1px solid #777;
}
/*
.order-list tr {
	position: relative;
}
*/
.toggle-client {
	/*position: absolute;
	top: 9px;
	left: 3px;*/
	width: 10px;
	height: 10px;
	display: none;
	background-image: url('/css/images/black-desc.gif');
	background-repeat: no-repeat;
	background-position: center;
	background-size: 100%;
	padding: 0;
	border: none !important;
	cursor: pointer;
	float:left;
	margin-left:-15px;
	margin-top:3px;
}
.new-client.show .toggle-client {
	background-image: url('/css/images/black-asc.gif');
}
.new-client .toggle-client {
	display: block;
}
.new-client ~ tr:not(.new-client) {
	display: none;
}
/*
.new-client.show ~ tr:not(.new-client) {
	display: table-row;
}
*/
#orders-popup {
	display: none;
	position:fixed;
	z-index:9;
	width:90%;
	height:90%;
	padding:10px;
	top:5%;
	left:5%;
	border:1px solid #ddd;
	border-radius:5px;
	box-shadow: 0 0 10px 0px #aaa;
	background-color: #fff;
}
#orders-popup h3 {
	text-align: center;
}
tr.total {
	font-weight: 600;
	background-color: #efefef;
}
#orders-popup table a {
	pointer-events:none;
	text-decoration: none;
	color:#333;
}
a.close,
a.export,
.toggle-send {
	position:absolute;
	top:2px;
	right:8px;
	font-size:24px;
	color:#aaa;
}
a.export {
    right: 40px;
    font-size: 18px;
    top: 5px;
}
.toggle-send {
	font-size: 18px;
	right:90px;
	padding-top:3px;
}
.toggle-send > a {
	color:#aaa;
}
.toggle-send > div {
	border:1px solid #aaa;
	border-radius:5px;
	padding:10px;
	display: none;
	background-color: #ffffff;
	position:absolute;
	top:120px;/*100%;*/
	right:-20px;
	width:240px;
	z-index: 9;
}
.toggle-send input,
.toggle-send textarea {
	width:90%;
	margin-bottom:5px;
}
.toggle-send textarea {
	min-height:90px;
}
.toggle-send span {
	display:block;
	font-size:12px;
}
#login-form {
	margin:100px auto 0;
	width:240px;
	padding:20px;
	border-radius:5px;
	border:solid 2px #2b3f99;
	text-align:center;
}
#login-form input {
	width:calc(100% - 40px);
	margin-bottom:15px;
	border: 1px solid #2b3f99;
	padding: 10px 12px;
}
#login-form input[type="submit"] {
	width: calc(100% - 14px);
	cursor:pointer;
}
.user-info {
	font-weight:600;
	margin:10px;
}
#overview {
	margin:40px auto;
	border-collapse: collapse;
	text-align:left;
}
.logout {
/*
	position:absolute;
	top:0;
	right:15px;
	padding:20px;
	width:140px;
*/
	padding-left:40px;
	text-align:left;
}
.logout a {
	text-decoration:none;
	color:#fff;/*#2b3f99;*/
}
.logout img {
	width:16px;
	position:relative;
	top:4px;
}
/*
table,td,th {
	border: 1px solid black;
}
*/
td,th {
	padding:5px 20px;
}
tr.bold td {
	font-weight:600;
	font-size:120%;
}
tr.marg td {
	padding-bottom:25px;
}
.ready {
	font-weight:600;
}
.waiting {
	color:#ccc;
}
.demo-gallery {
	text-align:center;
}
.demo-gallery > figure {
	max-width:30%;
	margin:0.5%;
	display:inline-block;
	position: relative;
	vertical-align: top;
}
.demo-gallery > figure img {
	max-width:100%;
}
.demo-gallery > figure figcaption {
	font-size:0;
}
.demo-gallery > figure:hover figcaption {
	font-size: 14px;
	position: absolute;
	bottom: 5px;
	left: 0;
	background-color: rgba(80,80,80,0.5);
	width: 100%;
	color: #fff;
	height: 20px;
	padding: 5px 0;
}
div.pswp__caption__center {
	text-align:center;
}
.canvas-wrapper {
	overflow-x:scroll;
	max-width:90%;
	margin:auto;
}
@media all and (max-width:1023px) {
  .demo-gallery > figure {
    max-width:45%;
  }
}
@media all and (max-width:767px) {
	header > div {
		width:90%;
		min-height: 0;
		padding:5%;
	}
	#header-left {
		text-align:center;
	}
	#header-middle {
		width:90%;
	}
	#header-right {
	}
	#header-middle nav {
		position:relative;
	}
	#header-middle nav > * {
		width:100%;
		margin:10px 0;
	}
	#header-middle nav > .dropdown {
		padding-right: 0;
	}
	.dropdown:hover .submenu {
		display: none;
	}
	.dropdown .submenu {
		position: relative;
		text-align: center;
		width: 100%;
		border: 1px solid #fff;
		border-radius: 5px;
		padding: 5px;
		margin: 10px auto;
	}
	.logout {
		padding:0;
		text-align:center;
	}
	.demo-gallery > figure {
	  max-width:90%;
	}
	section {
		min-height:0px;
		padding:40px 0;
		overflow: hidden;
	}
	#login-form {
		margin-top:0;
	}
	.logout {
		/*width:auto;*/
	}
	table#overview td {
		display:inline-block;
	}
	table#overview tr.client td:first-child {
		width:100%;
	}
	table#overview tr.client td:nth-child(3),
	table#overview tr.marg td:nth-child(3),
	table#overview tr.bold td:nth-child(3) {
		text-align:right;
		float: right;
	}
	table#overview tr.marg td:first-child,
	table#overview tr.bold td:nth-child(2) {
		display:none;
	}
	header,
	footer {
		overflow: auto;
	}
}

/*** Pop up / PDF ***/
.popup-content {
	min-height: 1000px;
}
.order-meta {
	overflow:auto;
	text-align: left;
	margin-bottom:25px;
}
#orders-popup .order-meta h3 {
	text-align:left;
	margin-bottom:0;
}
.order-meta img {
	height:50px;
	width:auto;
}
.order-meta ul {
	float: right;
	list-style: none;
	font-size: 14px;
}
.order-meta ~ h3 {
	float:left;
	max-width:100px;
	margin-top:5px;
	font-size: 14px;
}
.order-meta ~ table {
	margin-bottom:25px;
}
.order-meta ~ h3 + table {
	margin-left:100px;
}
table.pdf {
	text-align: left;
	font-size: 10px;
}
table.pdf a {
	text-decoration: none;
	color:#333;
}
table.pdf th,
table.pdf td {
	padding:3px 2px 3px 5px;
}
table.pdf th:first-child,
table.pdf td:first-child {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	width: 105px;
	max-width: 105px;
}
table.pdf .toggle-client {
	display: none !important;
}
table.pdf .new-client ~ tr:not(.new-client),
table.pdf tr {
	display: table-row;
}
/*
table.pdf td {
	border:none !important;
}
*/
.order-prices table {
	width: 100%;
	text-align: left;
	font-size: 14px;
	border-spacing: 0;
	margin-bottom:40px;
	table-layout: fixed;
}
.order-prices th {
	border-bottom:1px solid #777;
}
table.overview .ready {
	font-weight:400;
}
table.overview ~ footer,
.order-prices ~ footer,
table.pdf ~ footer {
	position:absolute;
	width:100%;
	bottom:0;
	padding-bottom:0;
	left:0;
	text-align: center;
	background-color: transparent;
	color:#333;
	font-size: 12px;
	min-height: 15px;
}
.order-notes > span:first-child:before {
	display:block;
	content:'Notes:';
	font-size:16px;
	font-weight:600;
	margin-bottom:5px;
}
.order-notes > span {
	padding-left:20px;
	text-align:left;
	display:block;
	font-size:14px;
}

/*** Cash Flow ***/
#flow-posts h3 {
	margin-top:40px;
}
#flow-posts h4 {
	margin-top:25px;
}
.flow-month {
    vertical-align: top;
	display:inline-block;
	width:30%;
	margin:25px 1%;
	border:1px solid #ccc;
}
.flow-month ul {
	padding-left:0;
	list-style: none;
}
.flow-month li {
	text-align: left;
	font-size: 12px;
}
.flow-month li:nth-child(2n) {
	background-color:#dfdfdf;
}
.flow-month li span {
	display:inline-block;
	margin-left:5px;
	margin-right:5px;
	min-width:25%;
}
.flow-month li span:nth-child(2) {
	min-width: 40%;
}
