@page {
	size: auto;
	margin: 15mm;
}

body, html {
	background-color: white !important;
	font-size: 16px; /* All other font sizes for printing below are relative to this */
	width: 650px !important;
	min-width: 650px !important;
	overflow: visible;
	padding: 0;
	margin: 0 auto;
}

div.topmost.container,
div.topmost.container-fluid {
	background-color: transparent !important;
	width: 650px !important;
	min-width: 650px !important;
	padding: 0;
	margin: 0;
	overflow: initial;
}

body, html, h1, h2, h3, h4, h5, h6, p, span, small, a,
#pageHeader, .textWithTooltip, #pageFooter {
	color: black !important;
}

p, th, td, ul, ol, li {
	font-size: 1rem !important;
}

h1 {
	font-size: 1.75rem !important;
}

h2 {
	font-size: 1.5rem !important;
}

h3 {
	font-size: 1.375rem !important;
}

h4, h5, h6 {
	font-size: 1.25rem !important;
}

.row {
	margin: 0;
	display: block; /* Works around a printing issue in Firefox related to flex box. */
}

.tab-pane {
	background-color: transparent;
}

.col-md-12 {
	padding: 0;
}

.noPrint, .tooltip {
	display: none !important;
}

.printOnly:not(.notInUse),
.printOnly:not(.hiddenNotApplicable) {
	display: block;
}

#wizardSection {
	display: none !important;
}

#nonWizardSections {
	display: block !important;
}

#pageHeader, #toolIntroSection, #personalSection, #adjustSection, #mpceSection, #taxIntroSection, #taxCalcSection, #pageFooter {
	box-shadow: none;
}

#pageHeader {
	background-image: none;
	margin: 0 0 20px 0;
}

#pageHeader div#logoAndToolName {
	padding-left: 0;
}

#pageHeader p#logoContainer {
	padding-left: 0;
}

#pageHeader p#toolName {
	color: black;
	font-size: 1.5rem !important;
}

#pageHeader div#topMenu, #pageHeader div.topMenu{
	display: none;
}

#pageFooter {
	font-size: 0.9375rem;
	padding: 5px 0 0 0;
	margin-top: 25px;
	border-top: solid 1px #AAAAAA;
	background-color: transparent;
	line-height: inherit;
}

.sectionHeader {
	background-color: transparent !important;
	color: black !important;
	border: none;
	box-shadow: none;
	width: 100% !important;
	margin: 0 0 4px 0;
	font-size: 1.25rem !important;
}

.sectionHeader .row .col-md-12 {
	padding: 0 0 25px 0;
	height: 2rem;
	border-bottom: solid 1px black;
	vertical-align: middle;
}

.sectionHeader, .usageCategoryHelpForPrint h4, h3#taxCalcHeadline {
	font-weight: bold;
	padding: 5px 0 8px 0;
	color: black;
}

.sectionHeader .sectionHeaderIcon {
	color: black !important;
	font-size: 1.25rem !important;
	padding: 6px 8px 6px 2px;
}

.sectionBody {
	box-shadow: none;
	padding: 0 0 20px 0;
}

/*=========================================================================================================
	Styles primarily for #personalSection
  =========================================================================================================*/

#personalSection {
	page-break-before: avoid;
}

#personalSectionPrintTable .name {
	width: 300px;
}

/*=========================================================================================================
	Styles primarily for #adjustSection
  =========================================================================================================*/

#adjustSection {
	page-break-before: avoid;
}

#adjustSection .usageCategoryHelpForPrint {
	page-break-before: always;
}

#adjustSection .usageCategoryHelpForPrint h4 {
	margin: 12px 0 12px 0;
}

#adjustSection .usageCategoryHelpForPrint p {
	padding-left: 0;
}

/* simplifiedModelingContents */

#simplifiedModelingContentsPrint table {
	width: 600px;
}

#simplifiedModelingContentsPrint table td {
	vertical-align: top;
}

#simplifiedModelingContentsPrint table tr.subsequent td:first-child span {
	display: none; /* Hides the "My own", etc. in subsequent usage category rows for the same individual */
}

#simplifiedModelingContentsPrint table td.name {
	width: 100px;
}

#simplifiedModelingContentsPrint table td.category {
	width: 185px;
}

#simplifiedModelingContentsPrint table tr.subsequent td.category {
	padding-bottom: 12px;
}

#simplifiedModelingContentsPrint table td.name {
	font-weight: bold;
}

#simplifiedModelingContentsPrint td.name span:after,
#simplifiedModelingContentsPrint td.category span:after {
	content: ':';
}

/* detailedModelingContents */

#detailedModelingContents {
	width: 100%;
}

#detailedModelingContents, #detailedModelingContents table {
	width: 98%;
}

#detailedModelingContents, #detailedModelingContents th, #detailedModelingContents td {
	border: none;
	font-size: 0.9375rem !important;
}

#detailedModelingContents th {
	font-size: 1rem !important;
}

#detailedModelingContents th:not(:first-child).person .personTypeHeader {
	text-decoration: underline;
	min-width: 40px;
}

#detailedModelingContents th.person {
	border-bottom: solid 1px #DDDDDD;
	padding: 2px;
	font-weight: normal;
}

#detailedModelingContents th.person .usageCategory {
	font-weight: normal;
	min-height: inherit;
	line-height: inherit;
	padding: 5px;
	margin: 0;
}

#detailedModelingContents th.person:first-child .usageCategory a {
	text-decoration: none;
}

#detailedModelingContents th.person:first-child .usageCategory a:after {
	content: ':';
}

#detailedModelingContents th.person .usageCategory .fa {
	display: none;
}

#detailedModelingContents td {
	border-bottom: solid 1px #DDDDDD;
	border-right: solid 1px #DDDDDD;
	padding: 7px 4px 6px 4px;
	text-align: center;
}

#detailedModelingContents td.serviceDescription {
	width: 220px;
	text-align: left;
	border-left: solid 1px #DDDDDD;
}

/*=========================================================================================================
	Styles primarily for #mpceSection and #taxCalcSection
  =========================================================================================================*/

#mpceSection {
	page-break-before: always;
}

#mpceSection .chartArea, #taxCalcSection .chartArea {
	width: 100% !important;
	min-width: 100% !important;
	padding: 0;
	margin: 0;
	clear: both;
	display: block;
	float: none;
}

#mpceSection .coverageLevelHeading {
	color: black !important;
	font-size: 1rem !important;
}

#mainChart, #mainChartPrint, #taxChart {
	display: block;
	float: none;
	width: 630px !important;
	min-width: 630px !important;
	height: 630px;
	padding: 15px 0 20px 10px;
}

#mainChart {
	padding-left: 0 !important;
}

#mpceSection .savingsArea {
	width: 100% !important;
	min-width: 100% !important;
	clear: both;
	display: block;
	padding: 20px 0 0 0;
	float: none;
}

#mpceSection .savingsArea h3, #mpceSection .savingsArea h4 {
	font-size: 1.25rem !important;
	padding-bottom: 6px;
}

.savingsAccountSliderRow, .carryoverSliderRow {
	height: auto;
	margin-bottom: 0.5rem;
}

.slider, .savingsAccountSliderLabel, .sliderMinimum, .sliderMaximum, .sliderTextInput, .sliderChangedTip {
	display: none !important;
}

.savingsArea {
	width: 100% !important;
}

#taxCalcSection .chartArea {
	width: 100% !important;
	clear: both;
	float: none;
}

#taxCalcSourcePlanDiv {
	margin-top: 0;
}

/* Class printTableFormat below is used on each of mainChartTable, resultsTable, taxChartTable, and taxCalcPrintTable */

table.printTableFormat {
	font-size: 1rem !important;
	border: none !important;
	width: 99% !important;
	min-width: 99% !important;
	padding: 0 !important;
	margin: 15px 0 5px 0 !important;
}

table.printTableFormat tr th,
table.printTableFormat tr td {
	color: black !important;
	background-color: transparent !important;
	font-size: 1rem !important;
	line-height: 1.125rem !important;
	font-weight: normal !important;
	width: auto !important;
	padding: 8px 3px 5px 3px !important;
	margin: 0 !important;
	border-bottom: solid 1px #DDDDDD !important;
	border-top: none !important;
	text-align: right;
}

table.printTableFormat tr th {
	font-weight: bold !important;
	border-bottom: solid 1px #AAAAAA !important;
}

table.printTableFormat tr th:first-child,
table.printTableFormat tr td:first-child {
	padding-left: 0 !important;
	width: 200px !important;
	min-width: 200px !important;
	text-align: left;
}

table.printTableFormat tr.summaryRow td {
	font-weight: bold !important;
	border-top: double #AAAAAA !important;
	border-bottom: none !important;
}

table.printTableFormat tr.summaryRow td span.textWithTooltip {
	font-weight: bold;
}

table.printTableFormat tfoot tr td {
	border: none !important;
}

.taxChartTableDiv {
	margin-top: 25px;
}

table.taxChartTable tr th, table.taxChartTable tr th:first-child {
	font-weight: normal !important;
	text-align: center;
}

table.taxChartTable tr td, table.taxChartTable tr td:first-child{
	border-bottom: none !important;
	text-align: center;
}

table.taxCalcPrintTable {
	padding-top: 20px !important;
}

table.taxCalcPrintTable tr td:first-child {
	width: 320px !important;
	text-align: left;
}

table.taxCalcPrintTable tr td {
	border-bottom: none !important;
}
