@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;
}

.alert {
	border-color: #AAAAAA !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,
#loadingToolSection,
#warning,
#error,
#toolIntroSection,
#wizardSection,
#personalSection,
#prioritiesSection,
#adjustSection,
#mpceSection,
#taxIntroSection,
#taxCalcSection,
#pageFooter,
#pageBodyDisagree {
	box-shadow: none;
}

#pageHeader {
	background-image: none;
	margin: 0 0 20px 0;
	color: black;
	font-size: 1.5rem !important;
}

#pageHeader div {
	width: auto;
}

#pageHeader .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;
}

#pageFooter > div {
	padding: 0;
}

#pageFooter div.rightSide {
	display: none !important;
}

.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;
}

.simpleFeedback {
	display: none;
}

/*=========================================================================================================
	Styles primarily for #personalSection
  =========================================================================================================*/

#personalSection {
	page-break-before: avoid;
}

#personalSectionPrintTable .name {
	width: 400px;
}

/*=========================================================================================================
	Styles primarily for #prioritiesSection
  =========================================================================================================*/

#prioritiesSection .planPriorityRadioButtonsContainer,
#prioritiesSection .planPriorityDescriptionContainer {
	max-width: 100%;
}

#prioritiesSection .planPriorityDescription {
	background-color: white !important;
	border: none;
	margin: 0;
	padding-left: 0;
}

/*=========================================================================================================
	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 */

.simplifiedModelingPane {
	background-color: white !important;
	font-size: 0.9375rem;
}

.simplifiedModelingContents {
	margin-left: 0;
}

.simplifiedModelingContents .personContainer {
	min-width: 66px;
}

.simplifiedModelingContents .personContainer .headings .title,
.simplifiedModelingContents .personContainer .personTitle {
	line-height: 32px;
	padding: 0;
}

.simplifiedModelingContents .personContainer .personTitle {
	text-align: center;
	text-decoration: underline;
	padding: 0 0.5rem;
}

.simplifiedModelingContents .personContainer.headings div.usageCategory {
	background-color: white !important;
	padding-left: 0;
	margin-left: 0;
	min-height: 32px;
	line-height: 32px;
	text-align: left;
}

.simplifiedModelingContents .personContainer.headings div.usageCategory button {
	color: black !important;
	text-decoration: none;
	font-weight: normal;
}

.simplifiedModelingContents .personContainer.headings div.usageCategory button::after {
	content: ":";
}

.simplifiedModelingContents .personContainer.headings div.usageCategory button .fa {
	display: none;
}

.simplifiedModelingContents div.usageCategory.printOnly {
	line-height: 32px;
	text-align: center;
	padding-right: 0.375rem;
}

/* detailedModelingContents */

.detailedModelingPane {
	background-color: white !important;
}

.detailedModelingContents {
	width: 100%;
}

.detailedModelingContents,
.detailedModelingContents table {
	width: 98%;
}

.detailedModelingContents,
.detailedModelingContents table th,
.detailedModelingContents table td {
	border: none;
	font-size: 0.9375rem !important;
}

.detailedModelingContents table th {
}

.detailedModelingContents table th:not(:first-child).person .personTypeHeader {
	text-decoration: underline;
	min-width: 40px;
}

.detailedModelingContents table th.person {
	padding: 2px;
	font-weight: normal;
}

.detailedModelingContents table th.person .usageCategory {
	font-weight: normal;
	min-height: inherit;
	line-height: inherit;
	padding: 5px;
	margin: 0;
}

.detailedModelingContents table th.person:first-child .usageCategory button {
	color: black !important;
	text-decoration: none;
	font-weight: normal;
}

.detailedModelingContents table th.person:first-child .usageCategory button::after {
	content: ':';
}

.detailedModelingContents table th.person .usageCategory .fa {
	display: none;
}

.detailedModelingContents table th.categoryDescription {
	border-color: #AAAAAA !important;
}

.detailedModelingContents table tr.firstCategory th.categoryDescription {
	padding-top: 0.5rem;
}

.detailedModelingContents table tr th.categoryDescription {
	padding-left: 0;
}

.detailedModelingContents table td {
	vertical-align: middle;
	text-align: center;
	padding: 0.5rem 0;
}

.detailedModelingContents table td.serviceDescription {
	width: 220px;
	vertical-align: middle;
	text-align: left;
	padding: 0.5rem 0;
}

.detailedModelingContents table.withCategoryHeadings td.serviceDescription {
	padding-left: 0.5rem;
}


/*=========================================================================================================
	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;
}

.chartOptions {
	border: none;
	padding-left: 1.5rem;
}

#mainChart,
#mainChartPrint,
#taxChart {
	display: block;
	float: none;
	width: 630px !important;
	min-width: 630px !important;
	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;
}

/*=========================================================================================================
	Styles to support printing of modal dialog content when a modal dialog is open
  =========================================================================================================*/

body.modal-open *,
body.modal-open ::after,
body.modal-open ::before {
	box-sizing: unset !important;
}

body.modal-open div.topmost {
	display: none !important;
}

body.modal-open .modal-backdrop.show {
	opacity: 0;
}

body.modal-open .modal.show {
	position: relative;
	width: 100% !important;
	overflow-y: unset !important;
}

body.modal-open .modal.show .modal-dialog {
	max-width: unset !important;
	margin: unset !important;
}

body.modal-open .modal.show .modal-dialog .modal-body {
	max-height: none !important;
	overflow: unset !important;
}

body.modal-open .modal.show .modal-dialog .modal-header {
	display: block; /* Works around a printing issue in Firefox related to flex box. */
	border: none !important;
}

body.modal-open .modal.show .modal-dialog .modal-header h3 {
	color: black !important;
}

body.modal-open .modal.show .modal-dialog .modal-header button {
	display: none !important;
}

body.modal-open .modal.show .modal-dialog .modal-content {
	display: block !important; /* Works around a printing issue in Firefox related to flex box. */
	border: none !important;
}

body.modal-open .modal.show .modal-dialog .modal-footer {
	display: none !important;
}

body.modal-open .modal.show .modal-dialog .modal-content table.planProvisionsTable {
	font-size: 0.875rem !important;
}

body.modal-open .modal.show a,
body.modal-open .modal.show small,
body.modal-open .modal.show .small {
	color: black !important;
	text-decoration: none;
}

body.modal-open .modal.show .alert {
	color: black !important;
	background-color: white !important;
	border-color: #AAAAAA !important;
}

body.modal-open .modal.show .modal-dialog table tr td,
body.modal-open .modal.show .modal-dialog table tr th {
	color: black !important;
	background-color: white !important;
	border-color: #CCCCCC !important;
}

body.modal-open .modal.show .modal-dialog .modal-content table.planProvisionsTable tr td,
body.modal-open .modal.show .modal-dialog .modal-content table.planProvisionsTable tr th {
	min-width: unset !important;
	padding: 4px 2px !important;
}
