*, *:before, *:after {
    box-sizing: border-box;             /* IE8 and up, plus all others except the next two */
    -moz-box-sizing: border-box;        /* Firefox still needs this */
    -webkit-box-sizing: border-box;     /* iOS4 and below, Android 2.3 and below */
}

html, body {
	min-height: 100%;
	background: #f5f5f5;
	font-family: AvenirRoman,"Helvetica Neue",Helvetica,Arial,sans-serif;
	font-size: 18px;
}

/* General Styles */

h1 {font-size: 24px; color: #000; margin: 0 0 30px 0;}
h1 a, h1 a:active, h1 a:hover, h1 a:visited, h1 a:focus {color: #218a3c;}
h2 {font-size: 18px; color: #000; margin: 0 0 30px 0;}
h2 a, h2 a:active, h2 a:hover, h2 a:visited, h2 a:focus {color: #218a3c;}
h3 {font-size: 20px; color: #000; margin: 0 0 30px 0;}
h3 a, h3 a:active, h3 a:hover, h3 a:visited, h3 a:focus {color: #218a3c;}
hr {border-top-color: #d3d3d3; margin: 10px 0px;}

.pad0l		{padding-left: 0 !important;}
.pad0r		{padding-right: 0 !important;}
.pad0b		{padding-bottom: 0 !important;}
.pad15l		{padding-left: 15px !important;}
.pad15r		{padding-right: 15px !important;}
.pad15b		{padding-bottom: 15px;}
.pad5t		{padding-top: 5px;}
.pad10t		{padding-top: 10px;}
.pad5r		{padding-right: 5px;}

.marg0b		{margin-bottom: 0;}
.marg0l		{margin-left: 0 !important;}
.marg15t	{margin-top: 15px;}
.marg15b	{margin-bottom: 15px;}
.marg5b		{margin-bottom: 5px;}

.alignBottom {vertical-align: bottom !important;}

.nowrap {white-space: nowrap;}
.noshow {display: none;}

.font-bold {font-family: AvenirBlack,"Helvetica Neue",Helvetica,Arial,sans-serif;}
.font-ital {font-family: AvenirOblique,"Helvetica Neue",Helvetica,Arial,sans-serif;}
.font-underline {text-decoration: underline;}
.font-gray {color: #626366;}
.footnote {font-size: 12px;}

.debug {font-size: 11px; color: red; font-weight: bold; text-align: center; margin-left: auto; margin-right: auto;}
.debug span {font-weight: normal; color: black;}

.clear {clear: both;}

.shadow {
	border: 1px solid #bbb;
	-webkit-box-shadow: #888 0px 2px 10px;
	-moz-box-shadow: #888 0px 2px 10px;
	box-shadow: #888 0px 2px 10px;
}

.helpicon {
	color: #6bb436;
	font-size: 16px;
}

/* Links */	
a {color: #0066cc;}
a:focus {color: #0066cc; outline: 0; text-decoration: none;}
a:hover {color: #0066cc; text-decoration: underline;}
a:visited {color: #0066cc;}
a:active {color: #0066cc;}

a.green {color: #218a3c;}
a.black, a.black:hover {color: #000;}

a.help {
	text-decoration: none;
}

/* lists */
#landing li {
	margin-top: 15px;
	margin-bottom: 15px;
    display: block;
}

/*#landing li:before {
*/    /*Using a Bootstrap glyphicon as the bullet point*/
/*    content: "\e148";
    font-family: 'Glyphicons Halflings';
    font-size: 14px;
    float: left;
    margin-top: 0px;
    margin-left: -17px;
    color: #218a3c;
}*/

#landing .glyph {
    /*Using a Bootstrap glyphicon as the bullet point*/
    content: "\e148";
    font-family: 'Glyphicons Halflings';
    font-size: 20px;
    float: left;
    margin-top: 1px;
    margin-left: -30px;
    color: #218a3c;
}

#landing li:before {
	margin-top: 4px;
}

/* main containers */
#container {
	margin-bottom: 15px;
}

.page-body, .page-footer {
	padding: 30px 60px;
}

.page-header {
	padding-right: 60px;
}

/*****************
	Header 
******************/
.page-header {
	background: #000;
	border-bottom: 0;
	padding-bottom: 0;
	margin: 0;
}

.topbar {
	line-height: 60px;
	margin: 0;
	background: #000;
	border-radius: 0;
	color: #fff;
	text-align: right;
}

.well {
	border: 0;
	border-radius: 0;
	box-shadow: none;
	-webkit-box-shadow: none;
}

.well.dkgray {
	background-color: #626366;
	color: #fff;	
}

.page-title {
	font-size: 55px;
}

.page-subtitle {
	font-size: 24px;
	margin-top: 10px;
}

.progress {
	border-radius: 0px;
	border: 0;
	box-shadow: none;
	background: transparent;
	float: left;
	padding-left: 5px;
	padding-right: 5px;
}

.progress-bar {
	width: 100%;
	border-radius: 0px;
	border: 1px solid #fff;
	background: transparent;
	box-shadow: none;
}

.progress-bar.active {
	display: block;
	background: #fff;
}

.progress-title {
	color: #fff;
	font-size: 14px;
	text-align: right;
	text-transform: uppercase;
	line-height: 20px;
	vertical-align: middle;
}

/************************
	Body
************************/
.page-body {
	background: #99c7ee; /* Old browsers */
	background: -moz-linear-gradient(top,  #99c7ee 0%, #62b25a 100%); /* FF3.6+ */
	background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#99c7ee), color-stop(100%,#62b25a)); /* Chrome,Safari4+ */
	background: -webkit-linear-gradient(top,  #99c7ee 0%,#62b25a 100%); /* Chrome10+,Safari5.1+ */
	background: -o-linear-gradient(top,  #99c7ee 0%,#62b25a 100%); /* Opera 11.10+ */
	background: -ms-linear-gradient(top,  #99c7ee 0%,#62b25a 100%); /* IE10+ */
	background: linear-gradient(to bottom,  #99c7ee 0%,#62b25a 100%); /* W3C */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#99c7ee', endColorstr='#62b25a',GradientType=0 ); /* IE6-9 */
}

.well.ltgray {
	background: #e6f2f0;
	color: #000;
	margin-bottom: 0;
	padding: 30px;
}

.well.ltgray .title {
	margin-bottom: 15px;
}

.well.white {
	background: #fff;
	border: 1px solid #626366;
}

.well.footer {
	min-height: 40px;
	font-size: 22px;
	color: #000;
	text-transform: uppercase;
	padding: 15px 30px;;
}

.well.footer.green {
	background: #b5d5b8;
}

.well.footer.blue {
	background: #a2cbec;
}

.well.footer.purple {
	background: #b5afda;
}

.well.footer.yellow {
	background: #feffa1;
}

#landing .well.ltgray .footnote {
	font-size: 16px;
}

.landing-block {
	padding: 10px 5px 10px 15px;
}

.landing-block:hover {
	cursor: pointer;
	opacity: 0.8;
}

.landing-block.orange {
	background: #E98D50;
}

.landing-block.white {
	background: #fff;
	color: #218a3c;
	border: 1px solid #6f6f6f;
}

.landing-block .circle {
	height: 40px;
	width: 40px;
	line-height: 40px;
	text-align: center;
	border-radius: 50%;
	background: #218a3c;
	color: #fff;
	margin-top: 4px;
}

.landing-block .circle .text {
	font-size: 14px;
	font-weight: bold;
}

.landing-block .caption {
	font-size: 21px;
	text-transform: uppercase;
	text-align: left;
	line-height: 22px;
	margin-top: 2px;
}

.landing-block .caption span {
	font-size: 16px;
}

.arrow-up {
	width: 0; 
	height: 0; 
	border-left: 10px solid transparent;
	border-right: 10px solid transparent;
	border-bottom: 10px solid #626366;
	margin-left: auto;
	margin-right: auto;
	margin-top: -26px;
}

.matchformula .circle {
	height: 40px;
	width: 40px;
	line-height: 40px;
	text-align: center;
	border-radius: 50%;
	background: #b5d5b8;
	color: #000;
	margin: 10px 0;;
}

.matchformula .circle .text {
	font-size: 14px;
	font-weight: bold;
}

.row-same-height {
	display: table;
	width: 100%;
	table-layout: fixed;
}

.col-same-height {
	display: table-cell;
	float: none !important;
}

.actionRow {
	background: #81c17a;
	border: 1px solid black;
	margin-bottom: 10px;
}

.actionIcon {
	vertical-align: middle;
	text-align: center;
	padding-right: 1.6em;
}

.actionText {
	font-size: 17px;
	padding: 15px 5px 15px 15px;;
	vertical-align: middle;
}

.chartRow {
	background: #fff;
	margin: 0 0 10px 0px;
	border: 1px solid #000;
}

#chartMessage {
	position: absolute;
	bottom: 10px;
	right: 10px;
	max-width: 350px;
	padding-left: 30px;
	font-size: 14px;
}

.contribOutPercent {
	padding: 0;
	color: #218a3c;
	font-size: 24px;
}

.calcResult {
	font-size: 20px;
	color: blue;
}

.popover p:last-child {
	margin-bottom: 0;
}

input {
	border: 1px solid #626366;
	margin-bottom: 10px;
	height: 40px;
}

.help-inline {
	font-size: 12px;
	color: red;
	display: none;
}

input:focus {
  border: 1px solid #218a3c;
  box-shadow: none;
  outline: 0 none;
}

.resultsText {
	color: #626366;
	font-size: 18px;
}

.aftertaxRow, .catchupRow {
	display: none;
}

#terms .well.white {max-height: 400px; overflow: auto;}

/************************
	Footer
************************/
.page-footer {
	background: #e6e8e8;	
	color: #626366;
}

.page-footer .risk {
	font-size: 14px;
}

.page-footer .address {
	font-size: 13px;
}

.page-footer .ereview {
	font-size: 15px;
}

.page-footer .links {
	font-size: 13px;
}

#tableIRS tr td:first-child {
	width: 30%;
}

/************************
	Buttons
************************/

.btn {
	border-radius: 0;
}

.btn:hover {
	opacity: 0.8;
}

.btn-white, .btn-white:hover {
	color: #626366;
	border: 1px solid #626366;
	background: #fff;
}

.btn-gray, .btn-gray:hover, .btn-gray:active, .btn-gray:focus {
	color: #fff;
	border: 1px solid #fff;
	background: #929395;
}

.btn-input.active {
	background: #ff9933;
	border: 1px solid #ff9933;
	color: #fff;	
	box-shadow: none;
}

.btn-input {
	cursor: pointer;
	font-size: 20px;
	padding: 10px;
	min-width: 100%;
}

.btn-orange {
	background: #ff9933;
	color: #000;
	border: 1px solid #000;
	text-align: left;
	margin: 50px 0 20px 0;
	min-width: 100%;
	white-space: normal;
}

.button-row .btn {
	font-size: 17px;
	min-width: 10%;
	margin-left: 10px;
}

.btnPrint {
	color: #218a3c;
}

#navRow button span.glyphicon {
	font-size: 14px;
}

#termsButtons .btn {
	font-size: 17px;
}

.btn:focus,.btn:active {
   outline: none !important;
}

/************************
	Modals
************************/

.modal-content {
	border-radius: 0;
	font-size: 14px;
}

.modal-header {
	font-size: 18px;
	background: #626366;
	color: #fff;
	text-transform: uppercase;
}

.modal-header .close {
	color: #fff;
	opacity: 0.9;
}

.modal-body {
	max-height: 400px;
	overflow-y: auto;
	margin-right: 2px;
}

#modalTermsOfUse .modal-dialog {min-width: 60%;}
#modalIRSLimits .modal-dialog {min-width: 60%;}
#modalAssumptions .modal-dialog {min-width: 60%;}

#modalAssumptions li {
	margin-bottom: 10px;
}

#helpAlert .modal-header {
	background: #fff;
	border: none;
}

#helpAlert .modal-header .close {
	color: #000;
	opacity: 0.4;
}

#helpAlert .modal-content {
	border: 3px solid #a94442;
}


/************************
	Bootstrap Overrides
*************************/
.popover {
	color: black;
	border: 2px solid #218a3c;
}

.popover.top > .arrow:after {
	border-top-color: #218a3c;
}

.popover-content {
	color: black;
    font-size: 14px;
}

.panel {
	border: 0;
	box-shadow: none;
	-webkit-box-shadow: none;
	background: transparent;
}

.panel > .panel-heading {
	padding-bottom: 0px;
}

.panel-body,
.panel-default>.panel-heading+.panel-collapse>.panel-body,
.panel-group .panel-heading+.panel-collapse>.list-group, .panel-group .panel-heading+.panel-collapse>.panel-body {
	border: 1px solid #626366;
	border-top-color: #626366;
}

.panel-body {
	background: #fff;
	margin-top: 10px;
	font-size: 16px;
}

/************************
	Media queries
*************************/

@media print {
	a[href]:after { display:none; }
	.page-break {
		display:block;
		page-break-before:always;
	}
}

/* center modal in window in large views */
@media (min-width: 1200px) {
	.modal {
	  text-align: center;
	  padding: 0!important;
	}
	
	.modal:before {
	  content: '';
	  display: inline-block;
	  height: 100%;
	  vertical-align: middle;
	  margin-right: -4px;
	}
	
	.modal-dialog {
	  display: inline-block;
	  text-align: left;
	  vertical-align: middle;
	}
}

@media (max-width: 1199px) {
	.btn-input {font-size: 16px;}
	.well.ltgray {font-size: 14px;}
	#landing .well.ltgray {font-size: 20px;}
	.panel-body {font-size: 12px;}
}

@media (max-width: 991px) {
	.well.footer {font-size: 16px;}
	#terms .well.white {max-height: 300px; overflow: auto;}
	.panel-body {font-size: 11px;}
	.actionText {font-size: 14px;}	
	.page-subtitle {font-size: 22px;}
	.resultsText {font-size: 14px;}
	.contribOutPercent {font-size: 20px;}
}

@media (max-width: 767px) {
	.page-body, .page-footer {padding: 20px 10px;}
	.page-header {padding-right: 0px;}
	.page-title {font-size: 36px;}
	.page-subtitle {font-size: 20px;}
	h1 {font-size: 22px;}
	h2 {font-size: 18px;}
	.navbar {line-height: inherit; padding-top: 5px;}
	.topbar {line-height: 20px; text-align: center; padding: 20px 0;}
	#terms .well.ltgray {padding: 20px;}
	.well.footer {font-size: 18px;}
	.landing-block .caption {margin-top: 12px;}
	.btn-input {margin-bottom: 10px;}
	.panel-body {font-size: 11px;}
	.resultsText {text-align:center;}
	.contribOutPercent {text-align:center;}
	#chartMessage {position: relative;}
}

.popover{
    max-width: 75%; /* Max Width of the popover (depending on the container!) */
}