@import "fonts.css";

@charset "utf-8"; 

/* ****************************** Overall Site Styles ****************************** */
html {

}

body {
	font-family: "FreightSans-Book", helvetica, arial, sans-serif;
	color: #000000;
	margin: 0px;
}



/* ****************************** Site Structural Styles ****************************** */
#site-container {
	max-width: 100%;
	position: relative;
	min-height: 100vh;
}

section {
	margin: auto;
	max-width: 1074px;
}

.full-row {
	max-width: 100%;
	background-color: #EAEFF7;
}

.row-inner-container {
	margin-left: 15px;
	margin-right: 15px;
}

main {
	padding-bottom: 160px;
}

body[data-always_show_entire_page="false"] #after_submit {
	display: none;
}

.for-maximize {
	display: none;
}


/* ****************************** Link Styles ****************************** */
a {
	color: #1877f2;
	text-decoration: none;
}

a:hover {
	text-decoration: underline;
	color: #0B51B0;
}

a:focus {
	text-decoration: none;
	outline: #2D64AF solid 2px;
	outline-offset: 3px;
}



/* ****************************** Paragraph Styles ****************************** */
p {
	font-family: "FreightSans-Book", helvetica, arial, sans-serif;
	font-size: 1rem;
	line-height: 1.438rem;
}



/* ****************************** Button Styles ****************************** */
.btn {
	font-family: "FreightSans-Bold", helvetica, arial, sans-serif;
	font-size: 1.375rem;
	border: 0px;
	background-color: #60CE82;
	border-radius: .438rem;
	padding: 8px 20px 8px 20px;
	color: #000000;
}

.btn:hover  {
	background-color: #41C568;
}

.btn:focus  {
	background-color: #41C568;
	border: 0px;
	outline: 0px;
	box-shadow: 0px 0px 1px 3px #2D64AF;
}

.call-to-action .btn:focus  {
	box-shadow: 0px 0px 1px 3px #ffffff;
}

body[data-always_show_entire_page="true"] .back_button {
	display: none;
}

.btn-success:disabled {
	color: #76cb91;	
}

.btn-success:active {
	color: #76cb91;	
}

.btn-success:focus,
.btn-success:hover {
	background-color: #41C568;
	color: #000000;
}	

a.btn {
	text-decoration: none;
}

/* ****************************** Individual Element Styles ****************************** */

.clear {
	clear: both;
}

sup {
	font-size: 55%;
}

.underline {
	text-decoration: underline;
}

.alternative_font {
	font-family: helvetica, arial, sans-serif;
	vertical-align: text-top;
	font-size: 95%;
	opacity: 0.8;
}

/* ********** Popovers ********** */
.popover-button {
	width: 24px !important;
	height: 24px !important;
	border-radius: 12px;
	border: 0px solid #000000;
	background: #2d64af url("../images/question_mark.png") no-repeat 0 0;
	padding: 0px;
}

.popover .popover-body {
	color: #000000;
	padding: 10px;
	text-align: left;
	font-family: "FreightSans-Book", helvetica, arial, sans-serif;
	font-size: .938rem;
	line-height: 1.188rem;	
}

.form .popover {
	max-width: 170px;
}

.popover {
	background-color: #EAF0F7;
	border: 1px solid #2D64AF;
	z-index: 2;
}

.popover.bs-popover-top .popover-arrow::before {
  border-top-color: #2D64AF;
}

.popover.bs-popover-bottom .popover-arrow::before {
  border-bottom-color: #2D64AF;
}

.popover.bs-popover-start .popover-arrow::before {
  border-left-color: #2D64AF;
}

.popover.bs-popover-end .popover-arrow::before {
  border-right-color: #2D64AF;
}


.popover.bs-popover-top .popover-arrow::after {
  border-top-color: #EAF0F7;
}

.popover.bs-popover-bottom .popover-arrow::after {
  border-bottom-color: #EAF0F7;
}

.popover.bs-popover-start .popover-arrow::after {
  border-left-color: #EAF0F7;
}

.popover.bs-popover-end .popover-arrow::after {
  border-right-color: #EAF0F7;
}

.popover-button:focus {
	outline: 0px;
	box-shadow: 0px 0px 1px 3px #41C568;
}

.pre-tax-contributions .popover-button:focus {
	box-shadow: 0px 0px 1px 3px #d855a9;
}
.employer-match .popover-button:focus {
	box-shadow: 0px 0px 1px 3px #f34f46;
}



/* ****************************** Header Styles ****************************** */
header {
	margin: auto;
	max-width: 1074px;
	padding-top: 65px;
	position: relative;
}

header .row-inner-container {
	display: flex;
	margin-bottom: 20px;
}

header .left {
	flex: 0;
}

header .right {
	padding-left: 48px;
}

header h1 {
	font-family: "FreightSans-Light", helvetica, arial, sans-serif;
	color: #0093D7;
	font-size: 2.5rem;
	line-height: 2.5rem;
	margin-top: 28px;
	margin-bottom: 0px;
}

header h2 {
	font-family: "FreightSans-Light", helvetica, arial, sans-serif;
	color: #4267B2;
	font-size: 1.375rem;
	line-height: 1.75rem;
	margin-top: 0px;
	margin-bottom: 0px;
}

header #netbenefits-link {
	position: absolute;
	right:15px;
	top: 15px;
}

header #netbenefits-link a {
	font-family: "FreightSans-Light", helvetica, arial, sans-serif;
	color: #3964AE;
	font-size: 1.25rem;
	border-bottom: solid 1px #3964AE;
}

header #netbenefits-link a:focus,
header #netbenefits-link a:hover {
	text-decoration: none;
	color: #000000;
	border-bottom: 0;
}



/* ****************************** Form Styles ****************************** */

.field-container {
	display: inline-block;
	position: relative; 
}

section.form {
	padding-top: 15px;
}

section.form .row-inner-container {
	display: flex;
	border-radius: 8px;
	border-width: 2px;
	border-style: solid;
}

section.form .row-inner-container:not(.alert) {
	border-color: #60CE82;
	box-shadow: 0px 2px 6px #6f6f6f;
}

section.form .row-inner-container .form-cell {
	padding-left: 36px;
	padding-top: 20px;
	padding-bottom: 20px;
}

section.form .row-inner-container .one {
	
	width: 30%;
}

section.form .row-inner-container .two {
	width: 20%
}

section.form .row-inner-container .three {
	width: 32%
}

section.form .row-inner-container .form-cell.submit {
	background-color: #60CE82;
	width: 19%; /* Should be 18% but making 1 pixel more than 100% because of right gap display in box when page scrolls */
	padding-left: 0px;
	padding-top: 0px;
	padding-bottom: 0px;
}

label, 
legend {
	display: block;
	font-family: "FreightSans-Bold", helvetica, arial, sans-serif;
	font-size: 1.1rem;
	line-height: 1.35rem;
	max-width: 145px;
	margin-bottom: 14px;
}

legend.full {
	max-width: 100%;
}

.form-cell.two label {
	max-width: 100%;
}

fieldset label {
	display: inline-block;
	white-space: nowrap;
	margin-bottom: 5px;
	padding-left: 10px;
	font-family: "FreightSans-Book", helvetica, arial, sans-serif;
}

.form-cell.three label {
	max-width: 100%;
	cursor: pointer;
}

input[type=text] {
	border: 1px solid #979797;
	font-family: "FreightSans-Book", helvetica, arial, sans-serif;
	font-size: 1.25rem;
	line-height: 2.188rem;
	padding-left: 10px;
	padding-right: 10px;
	width: 143px;
}

.form-cell.two input[type=text] {
	width: 123px;
}

input[type=text]:hover {
	outline: 0px;
}

input[type=text]:focus {
	outline: 0px;
	box-shadow: 0px 0px 1px 3px #21A1DC;
}

input[type=radio]:focus {
	outline: 0px;
	box-shadow: 0px 0px 1px 3px #21a1dc;
}

input[type=radio]:checked {
    background-color: #6F9824;
    border-color: #6F9824;
}

section.form .row-inner-container button.submit {
	width: 100%;
	height: 100%;
	border: 0px;
	border-top-right-radius: 2px; /* To remove the small amount of green that will otherwise show up at the sides */
	border-bottom-right-radius: 2px; /* To remove the small amount of green that will otherwise show up at the sides */
	background-color: #60CE82;
	font-family: "FreightSans-Bold", helvetica, arial, sans-serif;
	font-size: 1.375rem;
	line-height: 3.125rem;
	padding-top: 3px;
	color: #000000;
}

section.form .row-inner-container .submit:hover {
	background-color: #41C568;
}

section.form .row-inner-container .submit:focus {
	background-color: #41C568;
	box-shadow: 0px 0px 1px 3px #2D64AF;
	border: 0px;
	outline: 0px;
}


/* *** Popover*** */
section.form  .popover-button {
	position: absolute; 
	right: -33px;
	top: 7px;
}

section.form fieldset .popover-button {
	position: relative; 
	width: 16px!important;
	height: 16px!important;
	border-radius: 8px;
	background-size: contain;
	top: 0;
	right: auto;
	left: 4px;
	vertical-align: text-top;
}




/* ****************************** Result Styles ****************************** */
section.results {
	margin-top: 30px;
	padding-top: 40px;
	padding-bottom: 30px;
}

section.results .row-inner-container {
	display: flex;
}

section.results .box {
	position: relative;
	display: flex; 
	flex-direction: column;
	width: 30%;
	padding: 28px 25px 29px 25px;
	border: 2px solid #2D64AF;
	border-radius: 8px;
	background-color: #ffffff;
	text-align: center;
}

/* Adjust height percentages and padding if box descriptive text removes or add number of lines */
section.results .box .icon-container {
	height: 38%;
}

section.results .box .text-num-container {
	display: flex;
	flex-direction: column;
	height: 62%;
}

section.results .box .text-container {
	padding-bottom: 9px;
}
/* END adjust height percentages and padding */

section.results .box .numbers-container {
	margin-top: auto;
}

section.results .box .text-container p {
	font-size: 1.375rem;
	line-height: 1.75rem;
	font-family: "FreightSans-Book", helvetica, arial, sans-serif;
	margin-bottom: 0px;
	max-width: 170px;
	margin: auto;
	padding-top: 10px;
}

section.results .box .numbers-container .amount {
	font-size: 1.75rem;
	line-height: 1.75rem;
	color: #2D64AF;
	font-family: "FreightSans-Bold", helvetica, arial, sans-serif;
	padding-bottom: 5px;
}

section.results .box .numbers-container .percent {
	font-size: 1.125rem;
	line-height: 1.125rem;
	color: #2D64AF;
	font-family: "FreightSans-Light", helvetica, arial, sans-serif;
}

section.results .calc-symbol {
	display: flex;
	width: 5%;
	font-family: "FreightSans-Bold", helvetica, arial, sans-serif;
	color: #4066B2;
	font-size: 42px;
	line-height: 60px;
	align-items: center;
	justify-content: center;
}

section.results .box .popover-button {
	position: absolute; 
	top: 15px;
	right: 15px;
}

section.results .popover {
	max-width: 250px !important;
}

section.results .box.total-contributions {
	background-color: #2D64AF;
	justify-content: center;
	font-size: 1.813rem;
	line-height: 1.875rem;
	color: #ffffff;
	font-family: "FreightSans-Bold", helvetica, arial, sans-serif;
}

section.results .box.total-contributions .total-amount {
	padding-top: 23px;
}

/* *** Pre-tax Contributions Styling *** */
section.results .box.pre-tax-contributions {
	border: 2px solid #d855a9;
}

/* *** Employer Match Styling *** */
section.results .box.employer-match {
	border: 2px solid #f34f46;
}

/* *** After-tax Contributions Styling *** */
section.results .box.after-tax-contributions {
	display: none;
	border: 2px solid #60CE82;
	box-shadow: inset 0px 0px 12px #95d8a9;
}


section.results.max-contributions .box {
	width: 23%;
}

section.results.max-contributions .box.after-tax-contributions {
	display: flex;
}

section.results .max-contributions-summary {
	display: none;
}

section.results.max-contributions .max-contributions-summary {
	display: none !important;
}

section.results .calc-symbol.after-tax-contributions {
	display: none;
}

section.results.max-contributions .calc-symbol.after-tax-contributions {
	display: flex;
}

#full-match-results-summary,
#maximize-contributions-results-summary {
	font-family: "FreightSans-Bold", helvetica, arial, sans-serif;
	font-size: 1.625rem;
	line-height: 2.125rem;
	color: #4267B2;
	text-align: center;
	margin-top: 30px;
	margin-bottom: 0px;
	padding-left: 15px;
	padding-right: 15px;
}

#maximize-contributions-results-summary {
	display: none;
}


/* ****************************** Call to Action Styles ****************************** */

.full-row.call-to-action {
	background-color: #2D64AF;
	color: #FFFFFF;
	padding-top: 30px;
	padding-bottom: 30px;
	overflow: hidden;
}

.full-row.call-to-action .call-to-action-narrow img {
	width: 100%;
}

.full-row.call-to-action .call-to-action-narrow {
	float: left;
	width: 23.5%;
	margin-right: 3%
}

.full-row.call-to-action .call-to-action-wide {
	float: left;
	width: 73.5%;
}

.full-row.call-to-action section p {
	font-family: "FreightSans-Bold", helvetica, arial, sans-serif;
	font-size: 1.375rem;
	line-height: 1.625rem;
}
.full-row.call-to-action .btn_container {
	float: right;
}
.full-row.call-to-action .btn {
	margin: 0 0 20px 80px;
}

.full-row.call-to-action section > div > div > *:last-child {
	margin-bottom: 0;
	padding-bottom: 0;
}

/* ****************************** Result Summary Styles ****************************** */

section.results-summary {
	margin-top: 25px;
}

[data-is_catchup_elig="0"] {
	display: none;
}


/* ****************************** Result Extras ****************************** */

section.results-extras .row-inner-container {
	margin-top: 28px;
	margin-bottom: 28px;
}

section.results-extras .row-inner-container {
	display: flex;
}

section.results-extras #maximize_contributions_extras {
	display: none;
}

section.results-extras #maximize_contributions_img {
	display: none;
}

section.results-extras .right img {
	width: 100%;
}

section.results-extras .right {
	display: flex;
	align-items: center;
	width: 23.5%;
}

section.results-extras .left {
	display: flex;
	align-items: center; 
	justify-content: center;
	width: 76.5%;
	border-top: 1px solid #BCBDBE;
	border-bottom: 1px solid #BCBDBE;
	text-align: center;
	padding-top: 10px;
	padding-bottom: 15px;
	margin-right: 13px;
}

section.results-extras p {
	font-family: "FreightSans-Light", helvetica, arial, sans-serif;
	color: #4267B2;
	font-size: 1.625rem;
	line-height: 2.063rem;
	margin-bottom: 15px;
}

section.results-extras.for-maximize .left {
	display: flex;
	align-items: center;
	width: 55%;
	margin-right: 13px;
}

section.results-extras.for-maximize .right {
	display: flex;
	align-items: center; 
	justify-content: center;
	width: 45%;
	border-top: 0;
	border-bottom: 0;
	text-align: left;
	padding-top: 0;
	padding-bottom: 0;
}

section.results-extras.for-maximize .right p,
section.results-extras.for-maximize .left p {
	font-family: "FreightSans-Light", helvetica, arial, sans-serif;
	color: #4267B2;
	font-size: 1.625rem;
	line-height: 1.75rem;
	margin-bottom: 15px;
}

section.results-extras.for-maximize .right img {
	width: 49%;
	margin-right: 4%;
}






/* ****************************** Restart ****************************** */
section.restart {
	margin-top: 35px;
}

section.restart .btn {
	background-color: #B1B1B1;
	color: #ffffff;
}

section.restart .btn:hover {
	background-color: #A6A6A6;
}



/* ****************************** Info ****************************** */
section.info {
	margin-top: 45px;
}

section.info p {
	font-family: "FreightSans-Book", helvetica, arial, sans-serif;
	font-size: 1rem;
	line-height: 1.375rem;
}

[data-footnotes] {
	margin-bottom: 0;
}



 
/* ****************************** Footer Styles ****************************** */
footer {
  position: absolute;
  bottom: 0;
  width: 100%;
}

footer .row-inner-container {
  border-top: 1px solid #BCBDBE;
  padding-top: 30px;
  padding-bottom: 50px;
}

footer .nav-item {
	padding-left: 20px;
	padding-right: 20px;
	padding-top: 0px;
	padding-bottom: 0px;
	border-left: 1px solid #000000;
}

footer .nav-item:first-child {
	padding-left: 0px;
	border-left: 0px;
}

footer a.nav-link {
	padding: 0px;
	font-family: "FreightSans-Book", helvetica, arial, sans-serif;
	font-size: 1rem;
	line-height: 1rem;
	color: #000000;
}

footer a.nav-link:hover {
	color: #000000;
}



/* ****************************** Modal Windows ****************************** */
.modal-header {
    padding-top: 20px;
	padding-left: 20px;
	padding-right: 20px;
}

.modal-body {
	padding-top: 20px;
	padding-bottom: 20px;
	padding-left: 20px;
	padding-right: 20px;
}

.modal h5.modal-title {
	font-family: "FreightSans-Book", helvetica, arial, sans-serif;
	font-size: 1.875rem;
	line-height: 2.188rem;
	color: #0093D7;
}

input[type="checkbox"]:focus {
	box-shadow: 0px 0px 1px 3px #41c568;
}

/* ***** Responsive YouTube Videos *****/
.videoWrapper {
	position: relative;
	padding-bottom: 56.25%; /* 16:9 */
	height: 0;
}

.videoWrapper iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.modal label {
	display: unset;
	font-family: unset;
	font-size: unset;
	font-weight: bold;
	line-height: unset;
	max-width: unset;
	margin-bottom: unset;
}

.modal input[type="checkbox"] {
	margin-right: 0.5rem;
}

.modal_button_container {
	text-align: center;
}

/* ****************************** Alerts ****************************** */

.alert,
section.form .row-inner-container.alert {
	display: none;
}

.alert:focus {
	box-shadow: 0px 0px 1px 3px #842029;
}

.btn-close:focus {
	box-shadow: 0px 0px 1px 3px #842029;
}
