@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, #toolIntroSection, #personalSection, #adjustSection, #mpceSection, #taxIntroSection, #taxCalcSection, #pageFooter {
	box-shadow: none;
}

#pageHeader {
	background-image: none;
	margin: 0 0 20px 0;
}

#pageHeader #logoAndToolName {
	padding-left: 0;
}

#pageHeader p#logoContainer {
	padding-left: 0;
}

#pageHeader p#toolName {
	color: black;
	font-size: 1.5rem !important;
}

#pageHeader #topMenu, #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;
}

.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: 300px;
}

/*=========================================================================================================
	Styles primarily for #prioritiesSection
  =========================================================================================================*/

#prioritiesSection .planPriorityDescription {
	display: none;
}

/*=========================================================================================================
	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;
}

.chartOptions {
	border: none;
	padding-left: 1.5rem;
}

#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;
}

/*=========================================================================================================
	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;
}
