html, body {
	font-family: Helvetica, Verdana, Arial, sans-serif;
	background-color: #000000;
	color: #ffffff;
    margin:0;
    padding:0;
	height: 100%;
	width: 100%;
    overflow: hidden;
}

object, embed {
  outline: 0;
}

#main-wrapper {
	display: block;
	height: 100%;
	width: 100%;
	margin: 0;
	box-sizing:border-box;
}

div.fullsizebox {
	width: 100%;
	height: 100%;
	margin: 0;
	padding: 0;
	position: relative;
	/*box-sizing:border-box;*/
}

#content-wrapper{
	margin: -32px 0 -32px 0;
}

#content-container{
	width: 100%;
	height: 100%;
	padding: 32px 0 32px 0;
}

#content{
	width: 100%;
	height: 100%;
}

#appContainer{
	width: 100%;
	height: 100%;
	margin:0;
	padding: 0;
	overflow: auto;
}

canvas {
	display: block;
	width: 100%;
	height: 100%;
	min-width: 1024px;
	min-height: 600px;
}

#contentOverlay {
    pointer-events: none;
	display: block;
	z-index: 1000;
	margin: 0;
	padding: 0;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
}

#overlayWrapper{
    pointer-events: none;
	display: table;
	width: 100%;
	height: 100%;
}

#overlayContent {
    pointer-events: none;
    display: table-cell;
	vertical-align: middle;
}

#overlayContent.top {
	vertical-align: top !important;
}

#overlayContent.middle {
	vertical-align: middle !important;
}

#overlayContent.bottom {
	vertical-align: bottom !important;
}

.absblock{
    display: block;
    position: absolute;
    margin: 0;
    padding: 0;
    width: 100%;
    height: 100%;
}

.clearfix::after {
    content: "";
    clear: both;
    display: table;
}

#mobileBlock{
    display: block;
    margin: 0 auto;
}

#mobileBlock span{
    display: inline-block;
    width: 16px;
}

#appstorePromo {
	position: absolute;
	top: 0;
	right: 0;
}

#wsaPromo {
	position: absolute;
	top: 0;
	right: 0;
}

#wsaPromo a.themedButton,
a.themedButton {
    display: inline-block;
	font-size: 14px;
    color: #000;
    background-color: #f29400;
    height: 32px;
    line-height: 32px;
    padding-left: 16px;
    padding-right: 16px;
    text-decoration: none;
	cursor: pointer;
}

#wsaPromo a.themedButton:hover,
a.themedButton:hover{
    color: #000;
    background-color: #e9b767;
}

#wsaPromo a.themedButton:active,
a.themedButton:active{
    color: #000;
    background-color: #a3a2a0;
}

#splashWrapper{
	display: table-cell;
	vertical-align: middle;
}

#splashImage{
	display: block;
	margin: 0 auto;
}

#splashImage.splash_logo{
	max-width:100%;
	height:auto;
}

#splashImage.startscreen{
	width: auto;
	height: 512px;
}

#messageArea {
    display: block;
    position: relative;
    margin: 0;
   /* padding: 16px;*/
    width: 100%;
    text-align: center;
}

#progressFrame {
    display: inline-block;
    position: relative;
    margin: 0;
    padding: 0;
}

#progressBarBg {
    position: relative;
    display: block;
    margin: 0;
    padding: 0;
}

#progressBar {
    position: absolute;
    display: block;
    height: 100%;
    margin: 0;
    padding: 0;
    top:0;
    bottom: 0;
    left: 0;
}

p.install {
	font-size: small;
}

div.missing {
}

div.front{
    z-index: 1000;
}

#wait{
    opacity: 0;
    margin-top: 8px;
    font-size: 18px;
    text-align: center;
    -webkit-animation: fadein 2s infinite alternate;
    -moz-animation: fadein 2s infinite alternate;
    -o-animation: fadein 2s  infinite alternate;
    -ms-animation: fadein 2s infinite alternate;
    animation: fadein 2s infinite alternate;
}

@keyframes fadein {
    from { opacity: 0.25; }
    to   { opacity: 1; }
}

/* Firefox < 16 */

@-moz-keyframes fadein {
    from { opacity: 0.25; }
    to   { opacity: 1; }
}

/* Safari, Chrome and Opera > 12.1 */

@-webkit-keyframes fadein {
    from { opacity: 0.25; }
    to   { opacity: 1;}
}

/* Internet Explorer */

@-ms-keyframes fadein {
    from { opacity: 0.25; }
    to   { opacity: 1; }
}

/* Opera < 12.1 */

@-o-keyframes fadein {
    from { opacity: 0.25; }
    to   { opacity: 1; }
}

/* Printing */
.hidden {
    display: none !important;
}

.absContent {
    display: block;
    position: absolute;
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
    border: none;
}

.horrSpace{
    margin: 8px;
}

#printOverlay {
    position: absolute;
    border: 0 none;
    z-index: 1000;
    display: block;
    margin: 0;
    padding: 0;
    top:0;
    bottom: 0;
    left: 0;
    right: 0;
}

#pageScroller {
    padding: 16px 0;
    position: absolute;
    border: 0 none;
    z-index: 2;
    display: block;
    top:0;
    bottom: 0;
    left: 0;
    right: 0;
    overflow: scroll;
    background-color: rgba(255,255,255,0.75);
}

#printControls{
  position: absolute;
  top: 16px;
  right: 32px;
  z-index: 3000;
}

page[size="A4"] {
  background: white;
  width: 21cm;
  height: 29.7cm;
  display: block;
  margin: 0 auto;
  margin-bottom: 0.5cm;
  box-shadow: 0 0 0.5cm rgba(0,0,0,0.75);
}

.printPage{
    display: block;
    position: relative;
    height: 100%;
    width: 100%;
    margin: 0;
    padding: 0;
    border: none;
    page-break-after: auto;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

.printWrapper {
    width: 100%;
    height: 100% !important;
    display: inline-block;
    page-break-inside: avoid;
}

.printHeader {
    width: 100%;
    height: 2.5cm;
    position: relative;
}

.printContentContainer {
    width: 100%;
    height: 100% !important;
    margin: -2.5cm 0;
    padding: 2.5cm 0;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

.printContent {
    position: relative;
    display: block;
    width: 100%;
    height: 100%;
    overflow: hidden;
    color:#000;
}

.printBgImg {
    display: block;
    position: absolute;
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
    border: none;
    z-index: 1001;
    overflow: hidden;
}

.printHeaderContent{
    z-index: 1002;
    height: 100%;
}

.printFooter{
    width: 100%;
    height: 30mm;
    bottom: 0;
    position: absolute;
    background-color: #fff;
    overflow: hidden;
}

.printFooterTxt{
    font-size: 10pt;
}

.printLogo{
  position: absolute;
  top: 5mm;
}

.printTitleWrapper{
    position: relative;
    margin: auto;
    width: 7cm;
    height: 100%;
    display: table;
    overflow: hidden;
}

.printTitle{
  display: table-cell;
  text-align: center;
  vertical-align: middle;
  font-size: 14pt;
  font-weight: normal;
}

.printPageInfoWrapper {
    position: absolute;
    bottom: 0;
    right: 0.5cm;
}

.printPageInfoWrapper h3 {
    font-size: 10pt;
    font-weight: normal;
    text-align: right;
}

h3.printPageCounter {
}

h3.printDateTime {
}

.printImageWrapper {
    padding: 1cm;
    display: block;
}

.printImageWrapper img{
    max-width: 100%;
    max-height: 100%;
    margin: auto;
    display: block !important;
    border: 2px solid #000;
}

div.priceList {
    margin: auto 50px;
}

div.priceList h3 {
    border-bottom: 2px solid #000;
}

div.priceList table {
    display: inline-table;
    width: 100%;
    border-collapse: collapse;
}

div.priceList table thead {
    display: table-header-group;
}

div.priceList table tr {
    page-break-inside: avoid;
    font-size: 9pt;
}

div.priceList table th {
    font-size: 10pt;
    font-weight: bold;
    padding-bottom: 2mm;
}

div.priceList table td {
    vertical-align: top;
    padding: 0mm 0mm 4mm 1mm;
}

div.priceList table th.txt-cell,
div.priceList table td.txt-cell{
    text-align: left;
}

div.priceList table th.num-cell,
div.priceList table td.num-cell{
    text-align: right;
    white-space: nowrap;
}

div.priceList table th.num-footerColumncell {
    text-align: right;
    white-space: nowrap;
    vertical-align: text-bottom;
}

div.priceList table th.item-count,
div.priceList table td.item-count {
    font-weight: bold;
    text-align: right;
    padding-right: 2mm;
}

div.priceList table td div.data-row {
    display: block;
    width: 99%;
    margin-bottom: 1mm;
    font-size: 9pt;
}

div.priceList table td div.data-row::after {
    content: "";
    clear: both;
    display: table;
}

div.priceList table td div.item-name {
    font-size: 10pt;
    font-weight: bold;
    margin-bottom: 1mm;
}

div.priceList table td div.item-vendor {
    font-size: 10pt;
}

div.priceList table td span {
    display: inline-block;
    vertical-align: top;
    float: left;
}

div.priceList table td span.data-key {
    width: 30mm;
    font-weight: bold;
    display: inline-block;
}

div.priceList table td span.data-value {
}


div.priceList table td span.data-value ::after {
    content: "";
    clear: both;
    display: table;
}

div.priceList table td div.item-materials-wrapper {
    font-size: 8pt;
}

div.priceList table td span.item-material-type {
    display: block;
    text-align: left;
    font-weight: bold;
    margin: 1mm 0;
    float: none;
}

div.priceList table td span.item-material-value {
    font-size: 8pt;
    margin-left: 5mm;
    display: inline-block;
    text-align: left;
    font-weight: normal;
}

div.priceList table tr.grand-total-price  {
    border-top: 2px solid #000;
}

div.priceList table tr.grand-total-price td {
    font-size: 12pt !important;
    font-weight: bold !important;
    padding: 2mm 0 0 0;
}


div.priceList table tr.grand-total-price td.total-price {
    border-bottom: 4px double #000;
}

div.print-extras-wrapper  {
    margin: auto 50px;
}

div.print-extras h3   {
    border-bottom: 2px solid #000;
    font-size: 10pt;
    width: 100%;
}

div.print-extras ul   {
    font-size: 9pt;
    margin: 0 0 16px 0;
}

.roomObjects {
    color: #000;
    height: 100%;
    overflow: hidden;
    margin: 0 8pt 0 32pt;
}

.roomObjects h3{
    color: #000;
    font-size: 16pt;
    margin: 16pt 0 4pt 4pt;
}

.roomObjects ul {
    display: inline-block;
    width: 50%;
    height: 100%;
    list-style-type: none;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    overflow: hidden;
    padding: 0;
    margin: 0;
}

.roomObjects li {
    font-size: 12pt;
    display: block;
    margin: 2pt 0 8px 0;
    padding-left: 32pt;
    text-indent: -32pt;
}

.roomObjects li  > * {
    text-indent: 0px;
}

.roomObjects li.column1 {
    margin-left: 2pt;
}

.roomObjects li span.item-separator{
    display: block;
    text-align: left;
    font-size: 10pt;
    height: 10pt;
}

.roomObjects li span.item-count{
    display: inline-block;
    min-width: 16pt;
    text-align: right;
    margin-right: 2mm;
}

.roomObjects li span.item-name{
    display: inline-block;
    text-align: left;
    margin-left: 16pt;
}

.roomObjects li span.item-number,
.roomObjects li span.item-vendor{
display: block;
text-align: left;
font-size: 10pt;
padding-left: 10px;
}

.svgHeader{
width: 100%;
height: 100%;
}

.svgHeaderBg{
width: 100%;
height: 100%;
}

.svgLogo {
    right: 0;
}

@media print {
html {
    margin: 0cm !important;
    padding: 0cm !important;
    page-break-before: avoid !important;
    page-break-inside: avoid !important;
    page-break-after: avoid !important;
}

body {
    margin: 0cm !important;
    padding: 0cm !important;
    border: none;
    display: table;
    table-layout: fixed;
    background-color: #fff !important;
    page-break-before: avoid !important;
    page-break-inside: avoid !important;
    page-break-after: avoid !important;
}

page[size="A4"] {
    background: green;
    width: 210mm;
    height: 297mm !important;
    max-height: 297mm !important;
    margin: 0cm !important;
    overflow: hidden;
    border: none;
    border-width: 0;
    page-break-before: avoid !important;
    page-break-inside: avoid !important;
    page-break-after: avoid !important;

    -webkit-box-shadow: none;
    box-shadow: none;

    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;

    widows: 0;
}

@page {
    size: A4;
    width: 210mm;
    height: 297mm !important;
    margin-top: 0cm !important;
    margin-bottom: 0cm !important;
    margin-left: 0cm !important;
    margin-right: 0cm !important;
}

@page:first {
    size: A4;
    width: 210mm;
    height: 297mm !important;
    margin-top: 0cm !important;
    margin-bottom: 0cm !important;
    margin-left: 0cm !important;
    margin-right: 0cm !important;
}
@page:left {
    size: A4;
    width: 210mm;
    height: 297mm !important;
    margin-top: 0cm !important;
    margin-bottom: 0cm !important;
    margin-left: 0cm !important;
    margin-right: 0cm !important;
}
@page:right {
    size: A4;
    width: 210mm;
    height: 297mm !important;
    margin-top: 0cm !important;
    margin-bottom: 0cm !important;
    margin-left: 0cm !important;
    margin-right: 0cm !important;
}

#header,
#wrapper,
#footer,
#content,
#canvas,
#canvas *,
#printControls,
#printControls *,
.no-print,
.no-print * {
    display: none !important;
}

#printOverlay {
    margin: 0cm !important;
    box-shadow: none;
    display: block;
    position: relative;
    height: auto;
    width: auto;
    page-break-before: avoid !important;
    page-break-inside: avoid !important;
    page-break-after: avoid !important;
    background-size: 0 0;
}

#pageScroller {
    margin: 0cm !important;
    padding: 0;
    position: static;
    border: none;
    z-index: -2;
    display: block;
    overflow: visible;
    background-color: #fff;
    page-break-before: avoid !important;
    page-break-inside: avoid !important;
    page-break-after: avoid !important;
    background-size: 0 0;
}

.printPage {
    display: block;
    position: relative;
    height: 100%;
    width: 100%;
    margin: 0cm !important;
    padding: 0;
    border: none;
    page-break-after: auto;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

.printWrapper {
    position: relative;
    margin: 0cm !important;
    width: 100%;
    height: 100% !important;
    min-height: 100%;
    max-height: 100%;
    display: inline-block;
    page-break-inside: avoid;
}

.printHeader {
    width: 100%;
    height: 2.5cm;
    position: relative;
    margin: 0cm !important;
    padding: 0;
    top: 0;
}

.printHeaderContent {
    z-index: 1002;
    height: 100%;
}

.printFooter {
    position: absolute;
    bottom: 0;
    width: 100%;
    height: 30mm !important;
    max-height: 30mm !important;
    overflow: hidden;
    background-color: #fff;
    margin: 0cm !important;
}

.printContentContainer {
    width: 100%;
    height: 247mm !important;
    max-height: 247mm !important;
    margin: 0cm !important;
    padding: 0;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

.printContent {
    position: relative;
    display: block;
    width: 100%;
    height: 247mm;
    max-height: 247mm;
    overflow: hidden;
    color: #000;
    margin: 0cm !important;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

.printBgImg {
    display: block;
    position: absolute;
    width: 100%;
    height: 100%;
    margin: 0cm !important;
    padding: 0;
    border: none;
    z-index: 1001;
    overflow: hidden;
}

}

/* Safari 10.1+ */
@media not all and (min-resolution:.001dpcm) { @media
{

    page[size="A4"] {
        background: white;
        width: 210mm;
        height: 293mm !important;
        max-height: 293mm !important;
        overflow: hidden;
    }
    .printContentContainer {
        width: 100%;
        height: 243mm !important;
        max-height: 243mm !important;
        margin: 0cm !important;
        padding: 0;
        -webkit-box-sizing: border-box;
        -moz-box-sizing: border-box;
        box-sizing: border-box;
    }

    .printContent {
        position: relative;
        display: block;
        width: 100%;
        height: 243mm;
        max-height: 243mm;
        overflow: hidden;
        color: #000;
        margin: 0cm !important;
        -webkit-box-sizing: border-box;
        -moz-box-sizing: border-box;
        box-sizing: border-box;
    }
}}

/* Safari 6.1-10.0 (10.1 is the latest version of Safari at this time) */
@media screen and (min-color-index:0) and (-webkit-min-device-pixel-ratio:0) { @media
{
    .printContentContainer {
        width: 100%;
        height: 243mm !important;
        max-height: 243mm !important;
        margin: 0cm !important;
        padding: 0;
        -webkit-box-sizing: border-box;
        -moz-box-sizing: border-box;
        box-sizing: border-box;
    }

    .printContent {
        position: relative;
        display: block;
        width: 100%;
        height: 243mm;
        max-height: 243mm;
        overflow: hidden;
        color: #000;
        -webkit-box-sizing: border-box;
        -moz-box-sizing: border-box;
        box-sizing: border-box;
    }
}}
