﻿/*
 * The default stylesheet for PWLC.com to add additional styling on top of Bootstrap
 */

/* -- BOOTSTRAP OVERRIDES / BASE DESIGN STYLING -- */

a:hover,
a:focus {
	color: #e28212; /* don't darken the orange */
}

/*
	- default, primary, and info buttons all have no separate border color, so make all borders match background color for hover, focus, and active psuedo/helper classes
	- bg-primary is a darker shade than our @brand-primary green color
*/

/* both the default (gray outline) and primary (green) buttons turn a darker solid green on hover */
.bg-primary,
.alert-primary,

.btn-default:hover,
.btn-default:focus,
.btn-default.focus,

.btn-primary:hover,
.btn-primary:focus,
.btn-primary.focus {
	background-color: #4b7314;
	border-color: #4b7314;
	color: white; /* for default */
}

/* alert-primary is to be used like other contextual alerts (with .alert) with the context of displaying results or changes in the user's program */
.bg-primary .alert-primary {
	border-color: white;
}
.alert-primary {
	padding-top: 11px;
	padding-bottom: 11px;
}
.alert-primary a,
.alert-primary a:hover,
.alert-primary a:focus,
.alert-primary a:active {
	color: white;
	text-decoration: underline;
}

.btn-default:active,
.btn-default.active,
.open > .dropdown-toggle.btn-default,

.btn-primary:active,
.btn-primary.active,
.open > .dropdown-toggle.btn-primary,

a.bg-primary:hover,
a.bg-primary:focus,

.bg-primary .btn-primary:hover,
.bg-primary .btn-primary:focus,
.bg-primary .btn-primary.focus {
	background-color: #006240; /* 5% darker than primary hover */
	border-color: #006240;
	color: white;
}

.bg-primary h1,
.bg-primary h2,
.bg-primary h3,
.bg-primary h4,
.bg-primary h5,
.bg-primary h6,

.bg-primary .h1,
.bg-primary .h2,
.bg-primary .h3,
.bg-primary .h4,
.bg-primary .h5,
.bg-primary .h6,

.bg-primary a,
.bg-primary a:hover,
.bg-primary a:focus,
.bg-primary a:active,
.bg-primary a.active {
	color: white;
}

.bg-primary a,
.bg-primary a:hover,
.bg-primary a:focus,
.bg-primary a:active,
.bg-primary a.active {
	font-weight: 600;
}

/* gets lighter on hover per design docs */
.btn-info:hover,
.btn-info:focus,
.btn-info.focus {
	background-color: #fd9720;
	border-color: #fd9720;
}
/* so make darker on click again */
.btn-info:active,
.btn-info.active,
.open > .dropdown-toggle.btn-info {
	background-color: #e28212; /* orig button color */
	border-color: #e28212;
}

.btn-warning:focus,
.btn-warning.focus,
.btn-warning:hover {
	background-color: #909090;
	border-color: #909090;
}
.btn-warning:active,
.btn-warning.active,
.open > .dropdown-toggle.btn-warning {
	background-color: #777777; /* 10% darker than hover */
	border-color: #777777;
}

.btn-default,
.btn-primary,
.btn-success,
.btn-info,
.btn-warning,
.btn-danger {
	text-transform: uppercase;
	font-weight: 700;
}

/* minty green secondary text */
.text-secondary,
.panel-primary > .panel-heading .text-secondary,
.bg-primary .text-secondary {
	color: #b2e7d5;
}

.panel-default > .panel-heading.text-primary {
	color: #5e8c1f;
} 

/* orange info text */
.text-info {
	color: #e28212;
}

.bg-transparent {
	background-color: transparent;
}

/* no top margins for headings */
h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 {
	margin-top: 0;
}

/* collapse margin between adjacent headings that step down in size */
h1 + h2, h2 + h3, h3 + h4, h4 + h5, h5 + h6 {
	margin-top: -11px;
}

p + h1, p + h2, p + h3, p + h4, p + h5, p + h6,
p + .h1, p + .h2, p + .h3, p + .h4, p + .h5, p + .h6 {
	margin-top: 22px;
}

hr {
	border-top-width: 2px;
}

.jumbotron {
	padding: 20px;
}
@media screen and (min-width: 768px) {
	.jumbotron {
		padding-top: 30px;
		padding-bottom: 30px;
	}
}

.btn,
.form-control {
	border-width: 2px;
}
/* standard buttons are similar to BS's normal LG version, so use btn-sm or btn-xs for smaller versions */
.btn {
	font-size: 18px;
	padding: 11px 36px; /* makes height 50 and average of design doc's horiz button paddings */
}
.btn:active,
.btn.active {
	-webkit-box-shadow: none;
	box-shadow: none;
}
.btn-lg,
.btn-group-lg > .btn {
	padding: 11px 36px; /* makes height 50 and average of design doc's horiz button paddings */
}

/* new btn-md class to match up with input sizes */
.btn-md,
.btn-group-md > .btn {
	padding: 9px 10px;
	font-size: 16px;
}

/* defaults from this custom version; just need to re-override sizes for these specific size classes */
.btn-sm,
.btn-group-sm > .btn {
	padding: 6px 8px;
	font-size: 14px;
	line-height: 1.5;
}
.btn-xs,
.btn-group-xs > .btn {
	padding: 1px 5px;
	font-size: 14px;
	line-height: 1.5;
}

/* these were all incorrectly sized at 22px instead of 10px */
.container > .navbar-header,
.container-fluid > .navbar-header,
.container > .navbar-collapse,
.container-fluid > .navbar-collapse {
	margin-left: -10px;
	margin-right: -10px;
}
.navbar-toggle {
	margin-right: 10px;
}
@media (max-width: 767px) {
	.navbar-nav {
		margin-left: -10px;
		margin-right: -10px;
	}
}
.navbar-collapse {
	padding-left: 10px;
	padding-right: 10px;
}

.form-control {
	-webkit-box-shadow: none;
	box-shadow: none;
}

.navbar-default .navbar-nav > .open > a,
.navbar-default .navbar-nav > .open > a:hover,
.navbar-default .navbar-nav > .open > a:focus,
.navbar-default .navbar-nav > .active > a,
.navbar-default .navbar-nav > .active > a:hover,
.navbar-default .navbar-nav > .active > a:focus {
	background-color: transparent;
}

@media (max-width: 767px) {
	p.navbar-text {
		padding-left: 4px;
	}
}

.dropdown-menu .divider {
	height: 2px;
	margin: 5px 10px;
	background-color: #D7D7D7;
}

.list-group:empty {
	margin-bottom: 0;
}

.caption.text-primary {
	color: #5e8c1f;
}

/* .table-responsive Firefox fix */
@-moz-document url-prefix() {
  fieldset { display: table-cell; }
}

ol.carousel-indicators li,
ol.carousel-indicators li.active {
	border-width: 2px;
	margin: 0;
	width: 10px;
	height: 10px;
	border-radius: 10px;
}
ol.carousel-indicators li:not(:last-child) {
	margin-right: 5px;
}

@media (min-width: 768px) {
	ol.carousel-indicators li,
	ol.carousel-indicators li.active {
		border-width: 3px;
		width: 18px;
		height: 18px;
		border-radius: 18px;
	}
}

.pagination > .active > a,
.pagination > .active > span,
.pagination > .active > a:hover,
.pagination > .active > span:hover,
.pagination > .active > a:focus,
.pagination > .active > span:focus {
	font-weight: 600; /* semi-bold */
}
.pagination > .disabled > span,
.pagination > .disabled > span:hover,
.pagination > .disabled > span:focus,
.pagination > .disabled > a,
.pagination > .disabled > a:hover,
.pagination > .disabled > a:focus {
	background-color: #f0f0f0;
	border-color: #f0f0f0;
}
.pagination > li > a:hover,
.pagination > li > span:hover,
.pagination > li > a:focus,
.pagination > li > span:focus {
	font-weight: 700;
}

.nav-tabs > li > a {
	padding-left: 10px;
	padding-right: 10px;
}

::-moz-selection {
	background-color: #b2e7d5; /* 'minty' green */
}
::selection {
	background-color: #b2e7d5; /* 'minty' green */
}

/* -- END BOOTSTRAP OVERRIDES -- */

/* -- HEADER / FOOTER / LAYOUT */

/* styling of main nav bar and header area */

header,
header .navbar {
	margin-top: 5px;
}
@media (min-width: 768px) {
	header,
	header .navbar {
		margin-top: 10px;
	}
	header {
		margin-bottom: 22px;
	}
}
@media (min-width: 768px) and (max-width: 991px) {
	header .navbar {
		margin-bottom: 5px;
	}
}
@media (min-width: 992px) {
	header .navbar {
		margin-bottom: 15px;
	}
}

@media (min-width: 768px) {
	#header-logo-wrapper {
		margin-top: 5px;
		margin-bottom: 5px;
	}
}
@media (max-width: 767px) {
	#header-logo-wrapper {
		padding-left: 5px;
	}
}

#header-buttons .btn {
	text-transform: none;
	font-weight: 600; /* semi-bold */
	font-size: 16px;
}
#header-buttons .btn-info {
	margin-left: 36px;
}
#header-buttons .btn-plain {
	padding-left: 0;
	padding-right: 0;
}
@media (min-width: 991px) {
	#header-buttons {
		margin-top: 2%;
	}
}
@media (min-width: 768px) and (max-width: 991px) {
	#header-buttons {
		margin-top: 2.7%;
	}
	#header-buttons .btn-plain {
		padding-top: 0;
		padding-right: 18px;
	}
}

#xs-nav-additional-links-wrapper {
	margin-top: 10px;
	border-top: 2px solid #D7D7D7;
	padding-top: 10px;
}

.navbar-default {
	background-color: #4b7314; /* bg-primary */
	border: none;
}
@media (min-width: 768px) {
	.navbar-default {
		background-color: #5e8c1f;
	}

	/* setup navbar items to be justified like .nav-pills does */
	header ul.navbar-nav {
		float: none;
		display: table;
		width: 100%;
	}
	header ul.navbar-nav > li {
		float: none;
		display: table-cell;
	}
	/* set main nav bar font to Oswald */
	header ul.navbar-nav > li > a {
		font-family: "Oswald", "Source Sans Pro", "Helvetica Neue", Helvetica, Arial, sans-serif;
		text-transform: uppercase;
		white-space: nowrap;
		float: none;
		display: block;
		text-align: center;
	}

	header .navbar-default .navbar-nav > li > a {
		color: white;
	}
	header .navbar-default .navbar-nav > li > a:hover,
	header .navbar-default .navbar-nav > li > a:focus,
	header .navbar-default .navbar-nav > li > a:active,
	header .navbar-default .navbar-nav > li > a.active,
	header .navbar-default .navbar-nav > .active > a,
	header .navbar-default .navbar-nav > .active > a:hover,
	header .navbar-default .navbar-nav > .active > a:focus {
		color: white;
		background-color: #4b7314;
	}
}
@media (min-width: 768px) and (max-width: 991px) {
	header ul.navbar-nav > li > a {
		padding: 15px 5px;
		font-size: 15px;
	}
	header .navbar-collapse {
		padding-left: 0;
		padding-right: 0;
	}
}
@media (min-width: 992px) {
	header ul.navbar-nav > li > a {
		padding: 25px 5px;
		font-size: 18px;
	}
}
@media (min-width: 768px) and (max-width: 1199px) {
	.main-nav-item-number {
		display: none;
	}
}
@media (max-width: 767px) {
	.navbar-collapse {
		background-color: #f0f0f0;
	}
}
.main-nav-item-number {
	padding-right: 10px;
}

@media (max-width: 991px) {
	#left-nav-wrapper {
		margin-top: 30px;
	}
}

#footer-topper {
	margin-top: 20px;
}

footer {
	padding: 20px 10px 30px;
}
@media (min-width: 768px) {
	footer {
		padding-top: 30px;
		padding-bottom: 40px;
	}
}
footer.navbar-inverse {
	color: #adadad;
}
footer.navbar-inverse a {
	color: #adadad;
}
footer.navbar-inverse a:hover,
footer.navbar-inverse a:focus,
footer.navbar-inverse a:active {
	color: white;
}

footer #social-icons {
	margin-bottom: 15px;
}
@media (min-width: 768px) {
	footer #social-icons {
		margin-bottom: 30px;
	}
}
footer #social-icons a {
	color: white;
	display: inline-block;
	text-align: center;
	margin-left: 6px;
	margin-right: 6px;
}
footer #social-icons a:first-child {
	margin-left: 0;
}
footer #social-icons a:last-child {
	margin-right: 0;
}
footer #social-icons a:hover,
footer #social-icons a:focus,
footer #social-icons a:active {
	color: #6d7578;
	text-decoration: none;
}
footer #social-icons i {
	padding-top: 13px;
	width: 60px;
	height: 60px;
	border-radius: 30px;
	border: solid 2px #6d7578;
}

footer nav.navbar {
	margin-bottom: 0px;
}
footer nav.navbar .nav > li > a {
	padding-left: 13px;
	padding-right: 13px;
}
@media (min-width: 768px) {
	footer nav.navbar {
		margin-bottom: 20px;
	}
	footer nav.navbar .nav > li:first-child > a {
		padding-left: 0;
	}
	footer nav.navbar .nav > li:last-child > a {
		padding-right: 0;
	}
}
@media (min-width: 992px) {
	footer nav.navbar .nav > li > a {
		padding-left: 18px;
		padding-right: 18px;
	}
}


/* fluid until it hits LG size's width */
@media (min-width: 1200px) {
	.container-fluid.limited {
		width: 1200px;
	}
}

/* -- END HEADER / FOOTER / LAYOUT */

/* -- GENERIC CLASSES -- */

.btn-plain { color: black; }

.btn-plain:hover,
.btn-plain:focus,
.btn-plain:hover [class^="text-"],
.btn-plain:focus [class^="text-"] {
	color: #e28212;
	text-decoration: underline;
}

@media (min-width: 992px) {	
	.jumbotron-pair>div:first-child {
		padding-right: 0;
	}
	
	.jumbotron-pair>div:last-child {
		padding-left: 0;
	}
}	

/* for non-uppercased, non-bold button text */
.btn.normal-text {
	text-transform: none;
	font-weight: 400;
}

@media (max-width: 767px) {
	.stacking-xs-buttons .btn {
		margin-top: 5px;
	}
}
@media (min-width: 768px) {
	.text-right-sm-up {
		text-align: right;
	}
}

.content-page-wrapper {
	padding-top: 20px;
	padding-bottom: 20px;
}
.content-page-wrapper h1,
.content-page-wrapper h2,
.content-page-wrapper p,
.content-page-wrapper ul {
	margin-bottom: 22px;
}
@media (min-width: 768px) {
	.content-page-wrapper {
		padding: 20px;
	}
}
@media (min-width: 1200px) {
	.content-page-wrapper {
		padding: 30px;
	}
}

.panel-lg-bottom-margins .panel-body h1,
.panel-lg-bottom-margins .panel-body h2,
.panel-lg-bottom-margins .panel-body p,
.panel-lg-bottom-margins .panel-body ul {
	margin-bottom: 22px;
}

.form-horizontal label.text-left { text-align: left; }

.bold, .text-bold { font-weight: 700; }
.semi-bold { font-weight: 600; }

.text-default,
.text-default:hover,
.text-default:focus,
.text-default:active,
.text-default a,
.text-default a:hover,
.text-default a:focus,
.text-default a:active {
	color: #2a2a2a;
}

.text-default-weight { font-weight: 400; }

.no-margin-top { margin-top: 0; }
.margin-top-5 { margin-top: 5px; }
.no-margin-bottom { margin-bottom: 0; }
.margin-bottom-5  { margin-bottom: 5px; }
.margin-bottom-10 { margin-bottom: 10px; }
.margin-bottom-11 { margin-bottom: 11px; }
.margin-bottom-15 { margin-bottom: 15px; }
.margin-bottom-20 { margin-bottom: 20px; }
.margin-bottom-22 { margin-bottom: 22px; }
.margin-bottom-30 { margin-bottom: 30px; }
.margin-top-10 { margin-top: 10px; }
.margin-top-11 { margin-top: 11px; }
.margin-top-20 { margin-top: 20px; }
.margin-top-22 { margin-top: 22px; }
.margin-left-5  { margin-left: 5px; }
.margin-right-5  { margin-right: 5px; }

@media (min-width: 768px) {
	.margin-right-5-sm-up { margin-right: 5px; }
	.margin-right-10-sm-up { margin-right: 10px; }
	.margin-top-20-sm-up { margin-top: 20px; }
}
@media (max-width: 767px) {
	.margin-top-5-xs { margin-top: 5px; }
	.margin-top-10-xs { margin-top: 10px; }
	.margin-bottom-20-xs { margin-bottom: 20px; }
}
@media (min-width: 768px) {
	.padding-15-sm-up {
		padding: 15px;
	}
}
.padding-top-11 {
	padding-top: 11px;
}
.padding-20 { padding: 20px; }
.padding-30 { padding: 30px; }

.indent {
	margin-left: 40px;
}

.no-padding {
	padding-left: 0 !important;
	padding-right: 0 !important;
}
.no-padding-top {
	padding-top: 0;
}
.no-padding-bottom {
	padding-top: 0;
}

@media (min-width: 768px) {
	.no-padding-left-sm-up {
		padding-left: 0;
	}
	.no-padding-right-sm-up {
		padding-right: 0;
	}
}
@media (min-width: 768px) and (max-width: 991px) {
	.no-padding-sm {
		padding-left: 0;
		padding-right: 0;
	}
}
@media (max-width: 767px) {
	.no-padding-xs {
		padding-left: 0;
		padding-right: 0;
	}
}

/* these classes all get applied to img with src of /Content/images/icons/arrow-right.png */
img.arrow-right {
	padding-left: 10px;
	padding-bottom: 4px;
}
img.arrow-left {
	padding-right: 10px;
	margin-top: -4px;
	-webkit-transform: rotate(180deg);
	-ms-transform: rotate(180deg);
	transform: rotate(180deg);
}
img.arrow-down {
	padding-left: 10px;
	margin-top: -10px;
	-webkit-transform: rotate(90deg);
	-ms-transform: rotate(90deg);
	transform: rotate(90deg);
}
img.arrow-up {
	padding-left: 10px;
	margin-top: 5px;
	-webkit-transform: rotate(-90deg);
	-ms-transform: rotate(-90deg);
	transform: rotate(-90deg);
}

.left-quote {
	width: 44px;
	height: 44px;
	border-radius: 44px;
	float: left;
	margin-right: 8px;
	background-color: #5e8c1f;
	color: white;
}
.left-quote .fa {
	padding-left: 11px;
	padding-top: 10px;
	font-size: 1.5em;
}

/* these two (left-image.. and right-image..) classes (along with the optional .md-break) are for an image and content
   side-by-side with a common background color (put the color class on the row)

   .md-break is if the image and content stack at MD instead of SM   
   .full-width-xs is if you want the row color to touch the edge of the pages at XS
*/
.row.left-image-right-content-with-background > [class^="col-"]:last-child {
	padding-right: 20px;
}	
.row.right-image-left-content-with-background > [class^="col-"]:first-child {
	padding-left: 20px;	
}
.row.left-image-right-content-with-background:not(.full-width-xs),
.row.right-image-left-content-with-background:not(.full-width-xs) {
	margin-left: 0;
	margin-right: 0;
}
@media (min-width: 768px) {
	.row.left-image-right-content-with-background.full-width-xs,
	.row.right-image-left-content-with-background.full-width-xs {
		margin-left: 0;
		margin-right: 0;
	}
	.row.left-image-right-content-with-background > [class^="col-"]:first-child {
		padding-left: 0;
	}
	
	.row.right-image-left-content-with-background > [class^="col-"]:last-child {
		padding-right: 0;
	}
}
@media (min-width: 768px) and (max-width: 991px) {
	.row.left-image-right-content-with-background.md-break > [class^="col-"]:first-child {
		padding-right: 0px;			
	}
	.row.right-image-left-content-with-background.md-break > [class^="col-"]:last-child {
		padding-left: 0px;
	}

	.row.left-image-right-content-with-background.md-break > [class^="col-"]:last-child {
		padding-left: 20px;
	}	
	.row.right-image-left-content-with-background.md-break > [class^="col-"]:first-child {
		padding-right: 20px;	
	}
}
@media (max-width: 767px) {
	.row.left-image-right-content-with-background > [class^="col-"]:last-child {
		padding-left: 20px;
	}	
	.row.right-image-left-content-with-background > [class^="col-"]:first-child {
		padding-right: 20px;	
	}
	.row.left-image-right-content-with-background > [class^="col-"]:first-child,
	.row.right-image-left-content-with-background > [class^="col-"]:last-child {
		padding-left: 0;
		padding-right: 0;
	}
}
.row.left-image-right-content-with-background .jumbotron,
.row.right-image-left-content-with-background .jumbotron {
	margin-bottom: 0;
	padding-bottom: 10px;
}
@media (min-width: 768px) {
	.row.left-image-right-content-with-background .jumbotron,
	.row.right-image-left-content-with-background .jumbotron {
		padding-left: 40px;
		padding-right: 40px;
	}
}


.inline { display: inline; }
.inline-block { display: inline-block; }

.min-width { width: 1%; }
.full-width { width: 100%; }

.vertical-align-middle { vertical-align: middle !important; }

.no-border-radius { border-radius: 0; }

.center-inline-block-outer {
	text-align: center;
}
.center-inline-block-inner {
	display: inline-block;
	text-align: left;
}
@media (max-width: 767px) {
	.center-inline-block-outer-xs {
		text-align: center;
	}
	.center-inline-block-inner-xs {
		display: inline-block;
		text-align: left;
	}
}

.jumbotron.skinny-jumbotron {
	padding: 20px;
	margin-bottom: 20px;
}
.jumbotron.skinny-jumbotron.no-margin-bottom {
	margin-bottom: 0;
}
@media (min-width: 768px) {
	.jumbotron.skinny-jumbotron {
		padding: 30px;
	}
}

.green-oval {
	border: #5e8c1f 4px solid;
	border-radius: 50%;
	text-align: center;
	padding: 10px;
	margin: 5px 15px 20px;
	max-width: 300px;
}
@media (max-width: 768px) {
	.green-oval {
		margin-left: auto;
		margin-right: auto;
	}
}
.green-oval .green-oval-number {
	font-weight: 600;
}

.green-circle-bg {
	color: white;
	background-color: #5e8c1f;
	width: 44px;
	height: 44px;
	border-radius: 50%;
	text-align: center;
	padding-top: 3px;
	padding-left: 1px;
	margin-top: 7px;
	margin-right: 10px;
}

.green-circle-row {
	margin-top: 15px;
}
.green-circle-col {
	width: 64px;
}
.green-circle-content-col {
	width: calc(100% - 64px);
}

@media (min-width: 1200px) {
	.next-page-button {
		margin-left: 30px;
	}
}
@media (min-width: 768px) and (max-width: 1199px) {
	.next-page-button {
		margin-left: 20px;
	}
}
@media (min-width: 768px) {
	.next-page-button {
		margin-bottom: 30px;
	}
}
/* switch to display like .btn-block */
@media (max-width: 499px) {
	.next-page-button {
		padding-left: 5px;
		padding-right: 5px;
		display: block;
		width: 100%;
	}
}

.sidebar-button {
	display: block;
	margin-left: auto;
	margin-right: auto;
	width: 100%;
	max-width: 380px;
	font-weight: 600;
	border-radius: 0;
}

.image-overlay-wrapping-link {
	display: block;
}
.image-overlay-text {
	position: absolute;
	left: 0;
	right: 0;
	margin-bottom: 0;
	text-align: center;
}
.image-overlay-title-text {
	color: white;
	bottom: 60px;
}
.image-overlay-title-text-contents {
	max-width: 380px;
	display: inline-block;
	padding: 0 20px;
}
.image-overlay-link-text {
	bottom: 10px;
	height: 50px;
	line-height: 50px;
	color: #b2e7d5; /* same 'minty green' as .text-secondary */
	text-transform: uppercase;
	font-weight: 600; /* semi-bold */
	white-space: nowrap;
}
.image-overlay-wrapping-link:hover .image-overlay-link-text,
.image-overlay-wrapping-link:focus .image-overlay-link-text,
.image-overlay-wrapping-link:active .image-overlay-link-text {
	color: white;
}

#left-nav-wrapper .jumbotron {
	margin-bottom: 20px;
}

.testimonial-byline,
.jumbotron .testimonial-quote,
.jumbotron .testimonial-by-name {
	font-weight: 600;
}
.testimonial-quote-wrapper p:first-child:before,
.sidebar-testimonial-quote:before {
	content: "“";
}
.testimonial-quote-wrapper p:last-child:after,
.sidebar-testimonial-quote:after {
	content: "”";
}
.jumbotron p.testimonial-by-name {
	margin-bottom: 5px;
}

td.cell-with-button {
	vertical-align: middle !important;
	width: 1%;
}

table.minimal-data-table {
	margin-bottom: 15px;
}
table.minimal-data-table th,
table.minimal-data-table td {
	padding-bottom: 5px;
}
table.minimal-data-table th {
	text-align: right;
	padding-right: 15px;
}

table.table-borderless tr td, table.table-borderless tbody tr th, table.table-borderless thead tr th {
	 border: none;
}

/* place on form to make all placeholders italic in the form */
.italic-placeholders ::-webkit-input-placeholder {
	font-style: italic;  
}
.italic-placeholders ::-moz-placeholder {
	font-style: italic;  
}
.italic-placeholders :-ms-input-placeholder {  
	font-style: italic;  
}

label.required:after {
	content: "*";
	color: #e28212;
}

@media (min-width: 768px) {
	.pull-left-sm-up {
		float: left;
	}
	.pull-right-sm-up {
		float: right;
	}
}

@media (min-width: 992px) and (max-width: 1199px) {
	.pull-left-md {
		float: left;
	}
	.pull-right-md {
		float: right;
	}
}

@media (min-width: 480px) {
	.visible-inline-under-480 {
		display: none;
	}
	.visible-inline-480-up {
		display: inline;
	}
}
@media (max-width: 479px) {
	.visible-inline-under-480 {
		display: inline;
	}
	.visible-inline-480-up {
		display: none;
	}
}

.bg-muted { background-color: #f0f0f0; } /* same as jumbotron bg */

ul.list-unstyled.bg-primary  {
	padding: 20px 40px 15px;
}
/* puts lines between li items */
 ul.list-unstyled.bg-primary > li:not(:last-child) {
	padding-bottom: 8px;
	margin-bottom: 8px;
	border-bottom: 2px solid #5e8c1f; /* brand-primary color (since bg-primary is darker (overrode BS), this works) */
}

.tabs-primary.nav.nav-tabs li > a,
.tabs-primary.nav.nav-tabs .active > a {
	border: none;
	border-radius: 4px;
}
@media (min-width: 768px) {
	.tabs-primary.nav.nav-tabs li > a,
	.tabs-primary.nav.nav-tabs .active > a {
		border-bottom-left-radius: 0;
		border-bottom-right-radius: 0;
	}
	.tabs-primary.nav.nav-tabs li:not(:last-child) > a {
		margin-right: 4px;
	}
}
.tabs-primary.nav.nav-tabs .active > a {
	background-color: #f0f0f0;
	color: #5e8c1f;
}
.tabs-primary.nav.nav-tabs li > a {
	color: white;
	background-color: #5e8c1f;
}
.tabs-primary.nav.nav-tabs li:not(.active) > a:hover,
.tabs-primary.nav.nav-tabs li:not(.active) > a:focus {
	background-color: #4b7314;
}
.tabs-primary.nav.nav-tabs li:not(.active) > a:active {
	background-color: #006240;
}

.panel.panel-primary.with-arrow {
	border-color: transparent;
	-webkit-box-shadow: none;
	box-shadow: none;
}
.panel.panel-primary.with-arrow > .panel-heading {
	padding: 0;
	display: block;
	text-decoration: none;
	color: white;
	background-color: #4b7314;
	border-color: #4b7314;
}
/* these are the clearfix rules */
.panel.panel-primary.with-arrow > .panel-heading:before,
.panel.panel-primary.with-arrow > .panel-heading:after {
	content: " ";
	display: table;
}
.panel.panel-primary.with-arrow > .panel-heading:after {
	clear: both;
}
.panel.panel-primary.with-arrow .panel-title {
	padding: 17px;
	font-size: 22px;
	display: inline-block;
	background-color: #5e8c1f;
	border-color: #5e8c1f;
	width: calc(100% - 56px);
	float: right;
}
.panel.panel-primary.with-arrow .text-secondary {
	padding-left: 8px;
}
.panel.panel-primary.with-arrow .panel-arrow-wrapper {
	display: inline-block;
	padding: 20px 17px 0 17px;
	float: left;
}
@media (max-width: 767px) {
	.panel.panel-primary.with-arrow .panel-arrow-wrapper {
		display: none
	}
	.panel.panel-primary.with-arrow .panel-title {
		width: 100%;
	}
}
@media (min-width: 768px) {
	.panel.panel-primary.with-arrow .panel-heading .caret {
		display: none
	}
}
.panel.panel-primary.with-arrow .panel-heading:hover,
.panel.panel-primary.with-arrow .panel-heading:focus {
	background-color: #006240;
}
.panel.panel-primary.with-arrow .panel-heading:hover .panel-title,
.panel.panel-primary.with-arrow .panel-heading:focus .panel-title {
	background-color: #4b7314;
}
/* rotate the - normally right pointing - arrow so it points up or down */
.panel.panel-primary.with-arrow .panel-heading .panel-arrow-wrapper img {
	-webkit-transform: rotate(-90deg);
	-ms-transform: rotate(-90deg);
	transform: rotate(-90deg);
}
.panel.panel-primary.with-arrow .panel-heading.collapsed .panel-arrow-wrapper img {
	-webkit-transform: rotate(90deg);
	-ms-transform: rotate(90deg);
	transform: rotate(90deg);
}
.panel.panel-primary.with-arrow .panel-heading:not(.collapsed) .caret {
	/* these four lines are ripped from BS for when the caret points up instead of down */
	border-top: 0;
	border-bottom: 4px dashed;
	border-bottom: 4px solid \9;
	content: "";
}

nav.left-nav .list-group,
.product-category-list {
	font-weight: 600; /* semi-bold */
}
nav.left-nav .list-group .list-group-item {
	border-top: none;
	border-right: none;
	border-left: none;
	border-width: 2px;
	margin-bottom: 0;
}
nav.left-nav .list-group .nested-list-group a,
nav.left-nav .list-group .nested-list-group .active {
	padding-left: 30px;
}
nav.left-nav .list-group .nested-list-group .nested-list-group a,
nav.left-nav .list-group .nested-list-group .nested-list-group .active {
	padding-left: 45px;
}
nav.left-nav .list-group .nested-list-group .nested-list-group .nested-list-group a
nav.left-nav .list-group .nested-list-group .nested-list-group .nested-list-group .active {
	padding-left: 60px;
}

@media (min-width: 992px) {
	.col-right-border {
		border-right: 2px solid #f0f0f0;
	}
}

/* -- END GENERIC CLASSES -- */

/* -- SPECIFIC STYLING -- */

.main-layout-alert {
	margin-top: 20px;
	margin-bottom: 5px;
}

#homepage-carousel {
	margin-top: -20px;
}
#homepage-carousel ol.carousel-indicators {
	left: 0;
	margin: 0 0 0 20px;
	text-align: left;
}
#homepage-carousel ol.carousel-indicators li {
	background-color: white;
}
#homepage-carousel ol.carousel-indicators li.active {
	background-color: transparent;
}

@media (min-width: 768px) {
	#homepage-carousel ol.carousel-indicators {
		margin-left: 30px;
	}
}

@media (min-width: 768px) and (max-width: 900px) {
	#homepage-sidebar-images .image-overlay-title-text {
		font-size: 20px;
		bottom: 40px;
	}
	#homepage-sidebar-images .image-overlay-link-text {
		font-size: 14px;
		height: 30px;
		line-height: 30px;
	}
}

#homepage-call-to-action .jumbotron {
	padding: 20px;
}
#homepage-call-to-action h2 {
	vertical-align: middle;
}
#homepage-call-to-action .h2-wrapper {
	margin-bottom: 11px;
}
@media (min-width: 992px) {
	#homepage-call-to-action .h2-wrapper {
		margin-bottom: 0;
	}
	#homepage-call-to-action a.btn {
		margin-left: 20px;	
	}
}
@media (min-width: 1200px) {
	#homepage-article {
		min-height: 417px; /* to match perceived height of 'our success' image's grey bg */
		padding-top: 50px;
	}
}
@media (max-width: 1199px) {
	.homepage-our-success-image {
		margin-top: 5px;
	}
}
@media (min-width: 1200px) {
	.homepage-our-success-image {
		margin-top: 4px;
	}
}

.table-expenses thead,
.table-expenses tfoot {
	font-size: 22px;
	background-color: #5e8c1f;
	color: white;
}
.table-expenses > thead > tr > th,
.table-expenses > tfoot > tr > th {
	vertical-align: middle;
	font-weight: 400;
}
.table-expenses > thead > tr > th,
.table-expenses > tfoot > tr > th {
	padding: 15px 5px;
}
.table-expenses th:first-child {
	padding-left: 15px;
}
@media (min-width: 1200px) {
	.table-expenses th:first-child {
		padding-left: 30px;
	}
}
.table-expenses th:not(:first-child) {
	text-align: center;
}
.table-expenses tbody tr:nth-of-type(odd) {
	background-color: #DBDBDB;
}
.table-expenses tbody tr:nth-of-type(even) {
	background-color: #F0F0F0;
}
.table-expenses > tbody > tr > td {
	padding: 10px 5px;
}
.table-expenses td:first-child {
	padding-left: 30px;
}
@media (min-width: 1200px) {
	.table-expenses td:first-child {
		padding-left: 60px;
	}
}
.table-expenses td:not(:first-child) {
	text-align: center;
}

/* hide overflow for non-responsive captcha box */
.g-recaptcha {
	overflow: hidden;
}

/* -- END SPECIFIC STYLING -- */

/* -- CARRIED OVER FROM .CSS -- */

p.has-success {
	color: #388E3C;
}
.has-error input,
.has-error select {
	background-color: #FFCDD2;
}
.has-error select.form-control,
.has-error input.form-control {
	padding-right: 12px;
}
.has-error .radio-inline,
.validation-summary-errors {
	color: #B71C1C;
}

.error-help-block {
	border-radius: 2px;
	padding: 2px 5px;
}

/* -- END CARRIED OVER FROM.CSS -- */

#find-a-center-link-button {
	background-color: transparent;
	border-color: #6d7578;
	color: white;
	margin-top: 15px;
}
@media (max-width: 767px) {
	#find-a-center-link-button {
		display: block;
	width: 100%;
}
}
@media (min-width: 768px) {
	#find-a-center-link-button {
		margin: -15px 0 0 15px;
	}
}
#find-a-center-link-button:hover,
#find-a-center-link-button:focus {
	background-color: #446713;
	border-color: #446713;
}
#find-a-center-link-button:active {
	background-color: #006240; /* 5% darker than hover */
	border-color: #006240;
}

.list-group-item.active, .list-group-item.active:hover, .list-group-item.active:focus{
background-color: #446713;
}

.btn-primary {
    color: #fff;
    background-color: #446713;
    border-color: #446713;
}