

body, th, td, table { font-family: Arial, Helvetica, sans-serif; }

a:hover { text-decoration:none; }

video, .vjs-poster { border:solid 1px #000; }

/* used to separate pages from each other */
@media print {
	.screen-page-spacer { display:none; }
	.reporttoc a:visited { color: Blue; }
	.reporttoc a:link { color: Blue; }
	.reporttoc a:active { color: Blue; }
	.reporttoc a:hover { color: Blue; }
	.pdf-picture-break { display:block !important; clear:both; }
	video, .video-js { display:none !important; }
	.novideoimage { position: relative; } 
	.novideoimage .poster { border:solid 1px #000;}
	.novideoimage .teaser { position: absolute; top: 0; left: 0; z-index : 1;}
}
	
@media screen {
	body { background-color:#555; }
	.screen-page { width:96%; background-color:#fff; border: solid 1px #000; margin-left:auto; margin-right:auto; padding:10px; }
	.screen-page-spacer { text-align:right; font:"Courier New", Courier, monospace; margin-top: 10px; margin-bottom:10px; }
	.screen-page-spacer  span { background-color: White;  }
	.screen-page-spacer  a { margin-left:10px; margin-right:10px; text-decoration: none; color: Black; }
	.screen-page-spacer  a:hover { color: red; }
	.novideoimage { display:none; } 
}

.page-break  { margin: 1px; padding: 1px; }

@page {
	size: US-Letter;
	margin: 30pt 25pt 40pt 25pt;
	padding: 5pt 5pt;
	@bottom { content: flow(pdffooter); }
	@top { content: flow(pdfheader); }
}

/* removes headers in pdf on first page */
@page:first {
       @bottom { content: flow(none); }
       @top { content: flow(none); }
}

.page-num { content: counter(page); }
.pages-num { content: counter(pages); }

.pdf-header { flow: static(pdfheader);}
.pdf-footer { flow: static(pdffooter);}

.reporttoc a::after {
  content: leader('.') target-counter(attr(href), page);
  font-style: normal;
}

.reporttoc ul, .reporttoc li {
  list-style: none;
  margin: 0;
  padding-bottom: 12px;
}

.reporttoc a { prince-bookmark-target: attr(href); prince-bookmark-level: 1; }

h1 { prince-bookmark-level: none }
h2 { prince-bookmark-level: none }
h3 { prince-bookmark-level: none }
h4 { prince-bookmark-level: none }
h5 { prince-bookmark-level: none }
h6 { prince-bookmark-level: none }

h2 { color: #372d2c; border:solid 1px #372d2c; background-color: #e87424; font-weight: bold; padding:3px;  }

thead { display:table-header-group }
tfoot { display:table-footer-group }

.form .pic-table { page-break-before: avoid; }
.comments-holder .pic-table { page-break-before: avoid; }
.pic-table div { page-break-after: avoid; }
.pic-table { margin-top:5px; }
.pic-table-centered{ width: 100%; }
.pic-box { text-align: center; vertical-align:top; display: inline-block; page-break-inside: avoid !important; padding-top:3px;
min-height: 150px; zoom: 1; *display: inline; margin: 3px; _height: 150px; }
.pic-wrap { text-align: left; vertical-align:top; display: inline-block; page-break-inside: avoid !important; padding-top:3px;
min-height: 150px; zoom: 1; *display: inline; margin: 3px; _height: 150px; }

.vid-box { margin-bottom:4px; }
.vid-box-centered { margin-bottom:4px; margin-left:auto; margin-right:auto; }

/* mostly used on cover pages */
.cover-table-outer { width:100%;  }
.cover-table { width:100%; border: 1px solid black; padding: 0.1cm; }
.cover-table-padded { padding: 0.2cm; }
.cover-table-pic { position:absolute; right:5% }
.cover-col-vert { vertical-align: text-top; text-align: center; background-color: #FFcc99; }
.reverse-header { background-color: #FFcc99; color: white; padding: 0.05cm; font-size: 12pt; }

.cover-tex { text-align: center; font-size: 10pt; }
.cover-tex-large { text-align: center; font-size: 12pt; }

/* used for invoice */
.invoice-table {  width: 100%; }
.invoice-col-r { width: 50%; text-align: right; }
.invoice-form {  width: 100%; border:1px solid black; border-collapse: collapse;  }
.invoice-form-col { width: 50%; vertical-align: top; border: 1px solid black; padding:5px; }

/* used for headers */
.header-number { margin-left: 3px; }
.header-image { float:right; }

/* used for the general styles and materials section on the info page*/
.gen-intro { font-size: 10pt !important;}
.sm-gen-header { color: black; font-size: 9pt; font-weight : bold; }
.sm-gen-answer { color: black; font-size: 9pt;	 }
.sm-value{ font-family: "Courier New", Courier, monospace; font-weight: bold; color:#F00; }

/* used for text at begining of report and sections */
.introtext { font-size: 8pt !important; page-break-inside: avoid; color:#333; margin: 0 0 6px 0; }
.footertext { font-size: 8pt !important; border-top: 1px solid black; margin: 6px 0 12px 0; padding-top:2px; page-break-inside: avoid; color:#333; }

/* top level elements */
.section-header { color: #372d2c; font-size: 12pt; border:solid 1px #372d2c; background-color: #e87424; margin: 7pt 0 7pt 0; font-weight : bold; padding:3px; page-break-after:avoid; page-break-inside:avoid !important; }
.frame { width: 100%;   }

/* invoice table */
.pricelist-form {  width: 100%; margin: 0; }
.pricelist-form-header { font-weight: bold; }
.pricelist-form-amt-header { font-weight: bold; text-align:right; }
.pricelist-form-selection { border-color: black; border-width: 2px; border-style: solid; padding: 0; width: 6; height: 6 }
.pricelist-form-name {  }
.pricelist-form-amount { text-align : right; width: 70}

/* invoice text */
.pricelist-header { color: #d87d23; font-size: 10pt;}
.pricelist-selection { color: black; font-size: 10pt;}
.pricelist-name { color: black; font-size: 10pt;}
.pricelist-amount { color: black; font-size: 10pt;}

/* summary table */
.summary-form { width: 100%;}
.summary-form-number { vertical-align: top;  white-space:nowrap; }
.summary-form-question { vertical-align: top; }
.summary-form-answer { vertical-align: top; }
.summary-form-estimate { vertical-align: top; text-align:right;  }
.summary-form-comments { vertical-align: top; }

/* summary text */
.summary-block { width: 100%; margin-left: auto; margin-right: auto; text-align:center; }
.summary-intro { font-size: 10pt !important; color:#333; padding-bottom:10px; }
.summary-footer { font-size: 10pt !important; color:#333; border-top: 1px solid black; margin-top:15px; padding-top:2px;  }
.summary-header { color: #372d2c; font-size: 12pt; border: solid 1px #372d2c; background-color: #e87424; margin: 0; font-weight : bold; page-break-after:avoid; page-break-inside:avoid !important; }
.summary-header-image { float:right; }
.summary-question-number { color: black; font-size: 10pt; font-weight: bold; vertical-align: top; }
.summary-answer { color: black; font-size: 10pt; font-weight: bold;}
.summary-question { color: black; font-size: 10pt; font-weight: bold; vertical-align: top; }
.summary-comments { color: black; font-size: 10pt; }
.summary-comments .pic-box { margin-top:5px; }
.summary-estimates { color: black; font-size: 10pt;}
.summaryIcon { margin-right: 4px; }
.summary-title-consolidated { margin-top: 10px; margin-bottom: 10px; font-size: 12pt; font-weight: bold;}

/* spreadsheets */
.ss-table { border: 1px solid; border-color:black; border-collapse: collapse; }
.ss-tr {  }
.ss-tr:hover { background-color:#FFcc99; }
.ss-td { border-color:black; }
.ss-th { border-color:black; color: #372d2c; background-color:#FFcc99; text-align:center; }

/* work scope */
.workscope-table { border: 1px solid; border-color:black; border-collapse: collapse; width:100%; }
.workscope-table-header1 { background-color: #FFcc99; width:9%; font-size: 12pt; font-weight: bold; padding:5px; padding-bottom:0px; text-align:left; color: #000;  }
.workscope-table-header2 { background-color: #FFcc99; width:35%; font-size: 12pt; font-weight: bold; padding:5px; padding-bottom:0px; text-align:left; color: #000; }
.workscope-table-header3 { background-color: #FFcc99; width:35%; font-size: 12pt; font-weight: bold; padding:5px; padding-bottom:0px; text-align:right; color: #000; }
.workscope-table-header4 { background-color: #FFcc99; font-size: 12pt; font-weight: bold; padding:5px; padding-bottom:0px; text-align:center; color: #000; }
.workscope-entry-table { width:100%; page-break-inside:avoid; }
.workscope-cell-jobname { background-color: #FFcc99; font-size: 12pt; padding:5px; padding-top:2px; border-bottom: 1px solid black; }
.workscope-cell-jobest { background-color: #FFcc99; font-size: 12pt; padding:5px; padding-top:2px; text-align:right; border-bottom: 1px solid black;  }
.workscope-cell-jobextra { background-color: #FFcc99; padding-top:2px; border-bottom: 1px solid black; }
.workscope-cell-priority {text-align: center; padding:5px; width: 9%; }
.workscope-cell-name { font-size: 10pt; padding:5px; width:35%; font-weight:bold; }
.workscope-cell-est { font-size: 10pt; padding:5px; text-align:right; width:35%; font-weight:bold; }
.workscope-cell-desc { font-size: 9pt; padding:0px 5px 5px 5px; color:#555555;}
.workscope-cell-xinfo { font-size: 9pt; padding:5px 5px 5px 5px; color:#555555; background-color:#ddd; }
.workscope-cell-total { background-color: #FFcc99; font-size: 12pt; padding:5px; text-align:right; border-top: 1px double black; font-weight:bold; }
.workscope-header { font-size: 8pt; }
.workscope-header-spacer { padding: 5px; }
.workscope-footer { font-size: 8pt; }
.workscope-footer-spacer { padding: 5px; }
/* used for the comments response to a question */
.comments-picture { border: 1px solid; margin-right:0.1cm }
.comments-number { font-size: 10pt; font-weight: bold; }
/*.comments-header { font-size: 10pt; font-weight: bold; padding-bottom: 0; margin-bottom: 0;}*/
.comments-header  { font-size: 12pt; font-weight: bold; color: #d87d23;  border-bottom:solid 1px #aaa; margin: 3pt 0 3pt 0; padding-left:2px;  page-break-after: avoid; }
.comments { font-size: 10pt !important; }
.comments-holder {padding:6px;}

/* used for the styles and materials section */
.sm-table { table-layout: auto; width: 100%; }
.sm-title { font-size: 12pt; font-weight: bold; color: #d87d23;  border-bottom:solid 1px #BBB; margin: 3pt 0 3pt 0; padding-left:2px;  page-break-after: avoid; }
.sm-header { font-size: 9pt; font-weight: bold; }
.sm-answer { font-size: 9pt; padding-left:20px; }
.sm-col {  }
div.sm-whole:hover { background-color:#FFcc99; }
.sm-whole { margin-bottom: 5px; }


/* table of questions */
.form { border-collapse: collapse; width: 100%; }
.form-question-number {width:10px; border: #777 1px solid; padding-left:0.05cm; padding-right:0.05cm; line-height: 75% }
.form-question { border: #777 1px solid; padding-left:0.05cm; padding-right:0.05cm; line-height: 75% }
.form-header {  border: #777 1px solid;  }
.form-footer { border: #777 1px solid;  }
.form-answer { 	border: #777 1px solid; text-align: center; vertical-align: top;	}
.form-answer-checked { background-color:#e87424; }
.form-discovery { border: #777 1px solid; 	text-align: center;	}
.form-key { color: black; font-size: 8pt; }
.formhov { margin-bottom: 6px; }
.full-comments { page-break-after:avoid; }
.full-comments-below { page-break-after:auto; }
.form tr:hover  { background-color:#FFcc99;}
.form td { padding:4px; }
thead.form td { padding-bottom:0px; }

/* questions and answers text */
.question-number {  font-size: 9pt; }
.question { font-size: 9pt; }
.abbrev { font-size: 10pt; font-weight: bold;}
.answer { font-size: 10pt; }
.discovery { font-size: 9pt; }

/* top level elements */
.section-header { padding:8px 8px 6px 8px; }
.summary-header { padding:8px 8px 6px 8px; }
