html, body {
	margin: 0;
	padding: 0;
	font-family: 'Open Sans', sans-serif;
    background-color: rgb(235, 236, 237);
	font-size: 1em;
	height: 100%;
}

.alerts {
	position: absolute;
	z-index: 10;
    bottom: 12px;
    left: 40px;
	margin:0;
}

.alerts .alert button.close {
	padding-left: 10px;
}

.not-set {
    color: #c55;
    font-style: italic;
}

.clickable-row {
	cursor: pointer;
}

.clickable-row:hover, .table-striped > tbody > tr.clickable-row:nth-of-type(odd):hover {
	background-color: #f0f0f0;
}

.breadcrumb-container {
	min-height: 34px;
}

.breadcrumb {
	padding: 6px 15px;
	margin: 0 0 0 95px;
	background-color: transparent;
}

.breadcrumb li,
.breadcrumb li a {
	font-size: 10pt;
}

.preloader {
	position: absolute;
	z-index: 1;
	width: 100vw;
    height: calc(100vh - 62px);
	background-color: #fff;
	transition: opacity .5s;
}

.preloader .progress {
	position: absolute;
    z-index: 1;
	width: 250px;
    top: 30vh;
    left: calc(50vw - 175px);
}

/* add sorting icons to gridview sort links */
a.asc:after, a.desc:after {
    position: relative;
    top: 1px;
    display: inline-block;
    font-family: 'Glyphicons Halflings';
    font-style: normal;
    font-weight: normal;
    line-height: 1;
    padding-left: 5px;
}

a.asc:after {
    content: /*"\e113"*/ "\e151";
}

a.desc:after {
    content: /*"\e114"*/ "\e152";
}

.sort-numerical a.asc:after {
    content: "\e153";
}

.sort-numerical a.desc:after {
    content: "\e154";
}

.sort-ordinal a.asc:after {
    content: "\e155";
}

.sort-ordinal a.desc:after {
    content: "\e156";
}

.grid-view th {
    white-space: nowrap;
}

.hint-block {
    display: block;
    margin-top: 5px;
    color: #999;
}

.error-summary {
    color: #a94442;
    background: #fdf7f7;
    border-left: 3px solid #eed3d7;
    padding: 10px 20px;
    margin: 0 0 15px 0;
}

.navbar-default {
	margin-bottom: 0;
	height: 62px;
	background-color: #1362e2;
	border: none;
	border-radius: 0;
}

.navbar-default .navbar-brand {
	position: absolute;
	z-index: 1;
	color: #fff;
	padding-top: 20px;
	font-size: 18pt;
}

.navbar-default .navbar-brand:hover {
	color: #fff;
}

.navbar-default .navbar-brand .logo {
	margin-top: -20px;
	margin-right: 10px;
	height: 92px;
	float: left;
}

.navbar-default .navbar-nav > li > a {
	padding-top: 21px;
	padding-bottom: 21px;
	color: rgba(255,255,255,0.9);
}

.navbar-default .navbar-nav > li > a:hover, .navbar-default .navbar-nav > li > a:focus,
.navbar-default .navbar-nav > .active > a, .navbar-default .navbar-nav > .active > a:hover, .navbar-default .navbar-nav > .active > a:focus {
	color: #fff;
	background-color: transparent;
}

/* align the logout "link" (button in form) of the navbar */
.nav li > form > button.logout {
    padding: 15px;
    border: none;
}

@media(max-width:767px) {
    .nav li > form > button.logout {
        display:block;
        text-align: left;
        width: 100%;
        padding: 10px 15px;
    }
}

.nav > li > form > button.logout:focus,
.nav > li > form > button.logout:hover {
    text-decoration: none;
}

.nav > li > form > button.logout:focus {
    outline: none;
}

.panel > .table-bordered, .panel > .table-responsive > .table-bordered {
	border: 1px solid #ddd;
}

.panel-default .panel-heading {
	padding: 15px;
}

.panel-default .panel-heading .panel-title {
	font-weight: bold;
}

.panel-default > .panel-heading .clearfix {
	height: 0;
}

.panel-default .kv-panel-after {
	padding: 0;
	border: 0;
}

#wrapper {
    position:relative;
	padding: 15px 15px 0;
}

#wrapper.draw {
	background-color: #fff;
	margin-top: -34px;
	padding: 0;
	z-index: 0;
}

#viewport {
	position: relative;
	width: 100vw;
    height: calc(100vh - 62px);
	overflow: scroll;
}

#assets-container,
#details-container {
	position: absolute;
	height: auto;
	width: 250px;
	left: 30px;
    top: 35px;
	color: rgb(80, 81, 82);
	z-index: 99999;
}

#details-container {
	left: auto;
	right: 30px;
}

#assets-container .tools {
	margin-bottom: 10px;
}

#assets-container .tools span {
	display: inline-block;
	width: 35px;
	height: 35px;
	background-color: #fff;
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
	border: 1px solid #555;
}

#assets-container .tools span.active,
#assets-container .tools span:hover {
	background-color: #555;
}

#assets-container .tools span.fixed { background-image: url('/img/fixed.svg'); }
#assets-container .tools span.fixed.active,
#assets-container .tools span.fixed:hover { background-image: url('/img/fixed_hover.svg'); }

#assets-container .tools span.rectangle { background-image: url('/img/rectangle.svg'); }
#assets-container .tools span.rectangle.active,
#assets-container .tools span.rectangle:hover { background-image: url('/img/rectangle_hover.svg'); }

#assets-container .tools span.ellipse { background-image: url('/img/ellipse.svg'); }
#assets-container .tools span.ellipse.active,
#assets-container .tools span.ellipse:hover { background-image: url('/img/ellipse_hover.svg'); }

#assets-container .tools span.polygon { background-image: url('/img/polygon.svg'); }
#assets-container .tools span.polygon.active,
#assets-container .tools span.polygon:hover { background-image: url('/img/polygon_hover.svg'); }

#assets-container .tools span.ruler { background-image: url('/img/ruler.svg'); }
#assets-container .tools span.ruler.active,
#assets-container .tools span.ruler:hover { background-image: url('/img/ruler_hover.svg'); }

#assets-container .library {
	height: 33px;
	overflow: hidden;
}

#assets-container .library:not(:last-child){
	margin-bottom: 15px;
}

#assets-container .library.open {
	height: auto;
	overflow: visible;
}

#assets-container .library .hamburger {
	height: 33px;
	width: 100%;
	padding: 0 33px 0 10px;
	background: #555;
	cursor: pointer;
	position: relative;
	color: #ffffff;
	line-height: 33px;
	font-size: 12pt;
	font-weight: bold;
}

#assets-container .library .hamburger:before {
	content: '+';
	position: absolute;
	right: 10px;
	color: #ffffff;
	line-height: 33px;
	font-size: 18pt;
	font-weight: normal;
}

#assets-container .library.open .hamburger:before {
	content: '−';
}

#assets-container .library .library-container {
	overflow: hidden auto;
	border: 1px solid #696969;
	max-height: calc(100vh - 33px - 15px - 33px - 136px - 62px);
}

#assets-container .summary {
	padding: 10px;
	font-size: 1.3em;
}

#assets-container .summary table {
    width: 100%;
	padding-top: 5px;
	color: #fff;
}

#assets-container .summary table tr td,
#assets-container .summary table tr th {
    width: 50%;
    text-align: left;
}

#assets-container .summary table tr th{
	font-size: 1.1em;
}

#assets-container .category {
	display: inline-block;
	width: 100%;
}

#assets-container .title {
	background-color: rgba(200,200,200,0.7);
	font-weight: bold;
	padding: 5px 10px;
    cursor: pointer;
}

#assets-container .item-container {
    position: relative;
    border-top: 1px solid #666;
}

#assets-container .item {
    position: relative;
	background-color: rgba(200, 200, 200, .7);
    z-index: 3;
	display: block;
	width: 100%;
    height: 70px;
	padding: 10px;
	cursor: pointer;
	box-sizing: border-box;
	-ms-box-sizing: border-box;
	-o-box-sizing: border-box;
}

#assets-container .item:hover {
	/*background-color: #b5dcb4;*/
    background-color: rgb(255, 255, 255, .7);
}

#assets-container .item.active {
	background-color: #ff0000;
}

#assets-container .item.ui-draggable-dragging {
	background-color: rgb(255, 255, 255);
	z-index: 999;
}

#assets-container .item .preview {
	position: absolute;
	width: 50px;
	height: 50px;
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center center;
	z-index: 998;
}

#assets-container .item span {
	color: rgb(80, 81, 82);
    padding-left: 60px;
    line-height: 50px;
}

#details-container .details {
	height: auto;
	background: rgba(200,200,200,0.7);
	border: 1px solid #696969;
	/*display: none;*/
	margin-bottom: 15px;
	z-index: 999;
}

#details-container .details .header {
	position: relative;
	padding: 5px 10px;
	background-color: #555;
	font-size: 12pt;
	font-weight: bold;
	color: #fff;
}

#details-container .details .header span {
	color: #ffffff;
	line-height: 20px;
	font-size: 18pt;
	font-weight: normal;
	cursor: pointer;
	transform: rotate(45deg);
}

#details-container .details .table {
	display: table;
	margin: 0;
	padding: 5px;
}

#details-container .details .table .row {
	display: table-row;
}

#details-container .details .table .row .cell {
	display: table-cell;
	padding: 5px;
}

#details-container .details .table .row .cell input {
	width: 100%;
	padding-left: 5px;
}

#details-container .details .btn {
	margin: 10px;
}

#polygon-menu {
	top: 340px;
}

#context-menu {
	position: absolute;
	z-index: 99999;
	opacity: 0;
	background-color: rgba(200,200,200,0.7);
	transition: opacity .2s ease-in;
}

#context-menu ul {
	list-style-type: none;
	padding: 2px;
	margin: 0;
	border: 1px solid #696969;
}

#context-menu ul li {
	margin-bottom: 3px;
	padding: 5px;
	display: block;
	text-align: left;
}

#canvas .object {
	position: absolute;
	overflow: visible;
	cursor: pointer;
	background-size: 100% 100%;
}

#canvas .object.ui-draggable {
	cursor: move;
}

#canvas .object:after {
	position: absolute;
	left: 0;
	top: 0;
	content: ' ';
	width: 100%;
	height: 100%;
	background-color: rgba(255,255,255,0.2);
	opacity: 0;
	transition: .2s ease-in;
}

#canvas .object.active:after {
	opacity: 1;
}

.ui-resizable-handle{
    background: #d1dbc4;
    cursor: pointer;
}

.ui-resizable-n, .ui-resizable-s
{
	width: 100%;
	height: 4px;
}

.ui-resizable-w, .ui-resizable-e
{
	height: 100%;
	width: 4px;
}

.ui-resizable-w{ left: -2px; }
.ui-resizable-n{ top: -2px; }
.ui-resizable-e{ right: -2px; }
.ui-resizable-s{ bottom: -2px; }

.ui-resizable-se, .ui-resizable-sw, .ui-resizable-nw, .ui-resizable-ne
{ 
	background: #4c6c36; 
	z-index: 91 !important;
	width: 10px;
    height: 10px;
}

.ui-resizable-se{ right: -2px; bottom: -2px; }
.ui-resizable-sw{ left: -2px; bottom: -2px; }
.ui-resizable-nw{ left: -2px; top: -2px; }
.ui-resizable-ne{ right: -2px; top: -2px; }


.ui-rotatable-handle {
	position: absolute;
    height: 20px;
    width: 20px;
    cursor: pointer;
    background-image: url(../img/rotate.png);
	background-size: 100%;
	transform: rotate(180deg);
    left: -25px;
    top: 1px;
}

::-webkit-scrollbar {
	position: absolute;
    background: transparent;
	overflow: visible;
	width: 17px;
}

::-webkit-scrollbar-thumb {
	border: 3px solid transparent;
	background-clip: content-box;
	background-color: #999;
	border-radius: 10px;
}

::-webkit-scrollbar-thumb:hover {
	background-color: #555;
}

::-webkit-scrollbar-thumb:vertical {
	border-width: 6px 4px;
	min-height: 40px;
}

::-webkit-scrollbar-track-piece {
	background-color: rgb(200, 200, 200, .7);
}

::-webkit-scrollbar-corner {
	background: rgba(200, 200, 200, .7);
}

#viewport::-webkit-scrollbar {
    background: transparent;
	overflow: visible;
	width: 17px;
}

#viewport::-webkit-scrollbar-thumb {
	background-color: rgba(0, 0, 0, 0.2);
	border-radius: 10px;
	border: solid #fff;
}

#viewport::-webkit-scrollbar-thumb:hover {
	background: rgba(0, 0, 0, 0.8);
}

#viewport::-webkit-scrollbar-thumb:horizontal {
	border-width: 4px 6px;
	min-width: 40px;
}

#viewport::-webkit-scrollbar-thumb:vertical {
	border-width: 6px 4px;
	min-height: 40px;
}

#viewport::-webkit-scrollbar-track-piece {
	background-color: transparent;
}

#viewport::-webkit-scrollbar-corner {
	background: transparent;
}

#viewport::-webkit-scrollbar-thumb {
	background-color: #ADADAD;
	-webkit-box-shadow: inset 1px 1px 0 rgba(0,0,0,0.10),inset 0 -1px 0 rgba(0,0,0,0.07);
}

#viewport::-webkit-scrollbar-thumb:hover {
	background-color: #999;
}