﻿/***********************************************************************************************************************

  Application: Clerk's Office / Election Support / Hand Tally Assistant
  File name:   print.css
  Function:    CSS Style Sheet for media="print".

  Date       Release  Type Name                 Change Description
  ---------- -------- ---- -------------------- ------------------------------------------------------------------------
  2017-04-20 2.0.0    New  Steve Lackey         New style sheet.
  2019-04-26 2.0.4    Enh  Steve Lackey         Convert app passwords to hashed values -- add new style.
  2020-01-17 2.0.5    Fix  Steve Lackey         Add a report banner to the site report copies.
                                                Switch BernCo seal to an image with a transparent background.
  2020-01-29 2.0.5    Enh  Steve Lackey         Change site report to use "inline-block" instead of floats.
  2022-11-28 2.0.10   Enh  Steve Lackey         Add site results preview page.
  2023-03-31 2.0.10   Fix  Steve Lackey         Change site results report layout scheme from a set of nested tables to
                                                div's that use CSS grid layout.  (Fix printing problem.)
  2023-07-06 2.0.10   Enh  Steve Lackey         Add timestamp to preview report race descriptions to assist in corrections.
  2023-07-07 2.0.10   Enh  Steve Lackey         Add timestamp to replay ballot information to assist in corrections.

************************************************************************************************************************

  Tech Info:

  *  This CSS is setup for printing only the pages that are regarded as being "reports".  Specifically the site results
     reports, and the ballot replay reports.  If print of other pages is desired in the future, this CSS will need
     enhancements.

***********************************************************************************************************************/
body         { font-family: Arial, Tahoma, Verdana, sans-serif; font-size: 8pt; }

.printNo, .printNo * { display: none !important; }

#banner           { display: table; width: 100%; background-color: white;
                    padding-left: 5pt; padding-top: 5pt; padding-right: 5pt; }
#bannerContent    { display: table-row; }
#bannerLogo       { display: table-cell; padding: 5pt 0 10pt 5pt; }
#bannerLogo img   { height: 100px; width: 100px; }
#bannerText       { display: table-cell; width: 100%; vertical-align: top; text-align: center; }
#bannerTextLine1  { font-size: 30pt; }
#bannerTextLine2  { font-size: 20pt; }
#bannerTextLine3  { padding: 4pt 0 0 0;  }
.bannerItem       { font-size: 8pt;  margin-left: 7pt; margin-right: 7pt; }

#bannerButtonArea       { display: table-cell; vertical-align: top; padding-right: 5pt; }
#bannerButtonArea input { display: block; width: 144pt; text-align: center; }

#pageTitle        { margin: 18pt 18pt; }
#pageTitleLeft    { font-size: 16pt; /*font-weight: bold;*/ }
#pageTitleCtr     { font-size: 16pt; /*font-weight: bold;*/ text-align: center;}

.panelTopMargin  { margin-top: 20pt; }

.panelHeading    { font-size: 10pt; font-weight: bold; }
.panelHeadingCtr { font-size: 10pt; font-weight: bold; text-align: center; }

.panelRow        { margin-top: 5pt; }
.panelRowCtr     { margin-top: 16pt; text-align: center; }

.rowElement      { display: inline-block; margin-right: 20pt; }
.rowElementLast  { margin-right: 0; }
.elementLabel    { margin-right: 20pt; }
.elementValue    { font-weight: bold; }

.inputLabel      { display: inline-block; width: 72pt; }
.inputLabelMed   { display: inline-block; width: 90pt; }
.inputLabelLong  { display: inline-block; width: 108pt; }
.inputLabelTop   { display: block; text-align: left; margin-bottom: 2pt; }

.boldText        { font-weight: bold; }

.hidden          { display: none !important; }

/* General reporting display related */

.reportSeparator  { border-style: solid; border-width: 1pt; border-color: #40E0D0;
                    height: 3pt; color: #40E0D0; background-color: #40E0D0;
                    margin: 12pt 0;
                  }

/* Voting Site preview display related */
.sitePrvw_resultsTitle       { font-size: 14pt; font-weight: 600; margin-top: 14pt }

.sitePrvw_resultsTbl         { font-family: Tahoma, Arial, Verdana, sans-serif;
                               border: 1pt solid black; border-collapse: collapse; }
.sitePrvw_resultsTbl td      { padding: 1pt 2pt; border: 1pt solid black; }

.sitePrvw_ballotDescr        { text-align: left; font-weight: bold; }
.sitePrvw_ballotDtTm         { font-weight: normal; }
.sitePrvw_ballots            { text-align: center; font-weight: bold; }

.sitePrvw_raceDescr          { text-align: left; font-weight: bold; }
.sitePrvw_raceDtTm           { font-weight: normal; }
.sitePrvw_raceVotes          { text-align: center; font-weight: bold; }

.sitePrvw_candName           { font-style: italic; text-align: center; }
.sitePrvw_candNameWI         { text-align: center; }
.sitePrvw_candVote           { text-align: center; }
.sitePrvw_candVoteWI         { text-align: center; }

.sitePrvw_tabHdr             { text-align: center; font-weight: bold; }
.sitePrvw_tabCell            { text-align: center; }

/* Voting Site report display related */
.siteRptBanner           { display: table; width: 100%; padding: 5pt 5pt 5pt 5pt; background-color: white; }
.siteRptBannerContent    { display: table-row; }
.siteRptBannerLogo       { display: table-cell; padding: 5pt 0 10pt 5pt; }
.siteRptBannerLogo img   { height: 100px; width: 100px; }
.siteRptBannerText       { display: table-cell; width: 100%; vertical-align: top; text-align: center; }
.siteRptBannerTextLine1  { font-size: 36pt; }
.siteRptBannerTextLine2  { font-size: 24pt; }
.siteRptBannerTextLine3  { padding: 5pt 0 0 0;  }
.siteRptBannerItem       { font-size: 10pt;  margin-left: 7pt; margin-right: 7pt; }

.siteRpt_area            { width: 468pt; page-break-after: always; }
.siteRpt_resultsArea     { display: grid; width: 100%; grid-template-columns: 1fr; grid-auto-flow: row; height: auto; }
.siteRpt_resultsItem     { grid-row: auto; grid-column: auto; page-break-inside: avoid; }

.siteRpt_hdrTbl          { width: 100%; font-family: Tahoma, Arial, Verdana, sans-serif; font-size: 8pt;
                           border: 1pt solid black; border-collapse: collapse; margin: 0 0 0 0; }
.siteRpt_hdrTbl td       { padding: 1pt 5pt; }
.siteRpt_hdrGrey         { width: 160pt; font-weight: bold; text-align: center; white-space: nowrap;
                           background-color: #F0F0F0; border: none; }
.siteRpt_hdrBlack        { text-align: center; color: white; background-color: black; border: 1pt solid black; }
.siteRpt_hdrWhite        { text-align: center; border: 1pt solid black; }

.siteRpt_raceTbl         { width: 100%; font-family: Tahoma, Arial, Verdana, sans-serif; font-size: 8pt;
                           border: 1pt solid black; border-collapse: collapse; margin: 0 0 0 0; }
.siteRpt_raceTbl td      { padding: 1pt 5pt; }
.siteRpt_raceDescr       { width: 280pt; color: white; background-color: black; text-align: center;
                           border: 1pt solid black; }
.siteRpt_raceVotes       { color: white; background-color: black; text-align: center; border: 1pt solid black; }
.siteRpt_candName        { width: 280pt; font-style: italic; text-align: right; border: 1pt solid black; }
.siteRpt_candNameWI      { width: 280pt; }
.siteRpt_candVote        { text-align: center; border: 1pt solid black; }
.siteRpt_candVoteWI      { text-align: center; }

.siteRpt_tabCellHdr      { text-align: center; padding: 1pt 3pt !important; font-weight: bold;  }
.siteRpt_tabCell         { text-align: center; padding: 1pt 3pt !important; }

.siteRpt_signArea        { display: block; width: 100%; page-break-inside: avoid; }
.siteRpt_sign            { width: 252pt; border: 1pt solid black; padding: 5pt; font-size: 8pt; text-align: center;
                           margin-left: auto; margin-right: auto; }
.siteRpt_signBoldTxt     { font-size: 125%; font-weight: bold; }
.siteRpt_signJustTxt     { text-align: justify; padding: 10pt; }
.siteRpt_signLine        { display: inline-block; width: 216pt; border-top: 1pt solid black;
                           font-size: 80%; vertical-align: text-top; }

/* Ballot replay display related */
.replayMarginBot        { margin-bottom: 12pt; }

.replayMainTbl          { width: 100%; text-align: left; border-collapse: collapse; border: 1pt solid black; }
.replayMainTbl td       { border: 1pt solid black; padding: 1pt 5pt; }

.replayHdrTbl           { width: 100%; font-weight: bold; border: 1pt solid black; }
.replayHdrTbl td        { border: none; }

.replayRace             { width: 100%; font-weight: bold; }
.replayDtTm             { font-weight: normal; }
.replayCand             { width: 90%; }
.replayCount            { width: 10%; text-align: center; }

/***** END OF STYLE SHEET *****/
