.footer a{
	color: #fff;
	font-weight: normal;
	text-decoration: underline;
}

.footer a:visited, .footer a:focus, .footer a:active{
	color: #fff;
}

.footer a:hover{
	font-weight: bold;
	text-decoration: underline;
}
.footer p {
	font-size: 14px;
	margin: 0 1rem 0.75rem 0;
}
/* stopbang route (body class="stopbang") */
.stopbang #main-menu{
	background-color: rgb(84, 84, 84) !important;
	padding: 30px 15px;
}

/* assessment route (body class="assessment") */
.assessment #main-menu{
	background-color: rgb(84, 84, 84) !important;
	padding: 30px 15px;
}

@media screen and (min-width: 640px){
	#stopbang{
		padding-top: 120px;
	}
}

#stopbang-wrap{	/* h1 holding the 'STOPBANG' */
	color: #e1e1e1;
	font-size: 5.2vw;
	font-weight: bold;
	letter-spacing: 4px;
	text-align: center;
	transition: color 420ms;
}
@media screen and (min-width: 1024px){
	#stopbang-wrap{
		font-size: 56px;
	}
}
@media screen and (max-width: 1023px) and (min-width: 640px){
	#stopbang-wrap{
		margin-bottom: 60px;
	}
	label.slider-title{
		margin-left: 0 !important;
	}
}
@media screen and (max-width: 639px){
	#stopbang-wrap{
		display: none;
	}
}

.sb-letter.active, .sb-dot.active{	/* Current step is blue */
	color: #0066cc;
	transition: color 420ms;
}
.sb-dot{ /* Cabin's &middot is square */
	font-family: Times, serif;
	transition: color 420ms;
}
.sb-letter{
	cursor: pointer;
	position: relative;
}
.sb-letter::before{
	content: attr(data-word);
	color: #0066cc;
	font-size: 16px;
	opacity: 0;
	position: absolute;
	top: 65px;
	transition: opacity 200ms;
}
.sb-letter.blue{
	color: #0066cc;
}
.sb-letter.active::before{
	transition: opacity 720ms;
	opacity: 1;
}

#stopbang #assessment .result-title{
	max-width: none;
	padding: 0 30px;
}

#stopbang #contact_form_submit_btn{
	margin-right: 0;
}

/* Yes, this is super annoying. */
#sb-1::before{
	left: -22px;
}
#sb-2::before{
	left: -11px;
}
#sb-3::before{
	left: -29px;
}
#sb-4::before{
	left: -32px;
}
#sb-5::before{	/* Body mass needs width to avoid wrapping */ 
	left: -41px;
	width: 120px;
}
#sb-6::before{
	left: -2px;
}
#sb-7::before{
	left: -5px;
}
#sb-8::before{
	left: -14px;
}


#stopbang #assessment{
	background-color: white;
}

#stopbang #assessment .slider-text{
	color: gray;
}

#stopbang #assessment .slider-title{
	color: gray;
	max-width: 600px;
}

#stopbang .questions{
	border: 1px solid gray;
}

#stopbang #assessment .button.white{
	border-color: #0071ba;
	color: #0071ba;
}

#stopbang .question-nav{
	color: #0071ba;
}

#stopbang input::placeholder, #stopbang textarea::placeholder{
	color: gray;
}

#stopbang .show-for-ie{
	color: gray;
}

#stopbang input[type="text"], #stopbang input[type="email"], #stopbang input[type="tel"], #stopbang textarea{
	color: gray;
}

@media screen and (min-width: 640px){
	#stopbang input[type="submit"]{
		float: right;
		margin-right: 0 !important;
	}
}

@media screen and (max-width: 649px){
	#stopbang input[type="submit"]:not(#submit_bmi_calc){
		margin-left: 0 !important;
	}
}

#calc_bmi{
	margin-top: 60px;
}

#stopbang label.slider-title:first-child{
	margin-top: 12px;
}
@media screen and (min-width: 1024px){
	#stopbang label.slider-title{
		text-align: right;
	}
}

#stopbang #assessment #submit_bmi_calc{
	border-color: gray;
	color: gray;
	margin: 36px 10px 20px;
	padding:  15px 60px;
}

#stopbang #assessment #bmi_calc_lg_weight_label{
	margin-top: 48px;
}

#fill_with_bmi.red{
	color: red;	
}
#fill_with_bmi.blue{
	color: #0071ba;
}

.top-bar {
	padding: 0;
}

.top-bar a {
	font-weight: normal;
}

.top-bar-bottom {
	padding: 0 4rem;
}

.top-bar-top {
	padding: 0 4rem;
	width: 100%;
	background-color: #0071ba;
}

.top-bar-top ul {
	display: flex;
	justify-content: flex-end;
    list-style: none;
	margin-bottom: 10px;
}

.top-bar-top li {
	padding: 0 1rem;
}

.top-bar-top a {
	color: #fff;
	font-size: 16px;
}

.home .hero-content .button {
	background-color: #fff;
	color: #0071ba;
	border: 1px solid #0071ba;
}

.home .hero-content .button:hover {
	background-color: #0071ba;
	color: #fff;
}

.reviews .leader {
	color: #535353;
	padding: 6rem 0;
	line-height: 2rem;
}

.reviews .page-content {
	max-width: unset;
	margin-left: 0;
	margin-right: 0;
	padding: 2rem 0 12rem;
	background-color: #f7f7f7;
}

.reviews .reviews-container {
	padding: 2rem 0;
	width: 100%;
}

.reviews .reviews-controls select {
	width: unset;
	color: #0071ba;
	font-weight: bold;
	padding-right: 2.5rem;
	background-image: url('/assets/icons/arrow-down.svg');
	background-size: 26px 13px;
	background-position: right -2rem center;
	border-color: #a1a1a1;
	border-width: 2px;
	letter-spacing: 0.3px;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	outline: none;
}

.reviews .reviews-controls select:active {
	background-image: url('/assets/icons/arrow-up.svg');
}

.reviews .reviews-controls select option {
	color: #7d7d7d;
}

.reviews .reviews-controls select option:checked {
	color: #0071ba;
	font-weight: bold;
}

.reviews .review {
	padding: 2rem 0;
}

.reviews .review:not(:last-of-type) {
	border-bottom: 1px solid #ddd;
}

.reviews .review .review-header .name {
	font-size: 1.2rem;
	color: #0071ba;
	font-weight: bold;
	padding: 0.25rem 0;
}

.reviews .review .review-header .date {
	color: #6c6c6c;
}

.reviews .review .review-header .stars {
	font-size: 1rem;
}

.reviews .review .review-header .stars > span {
	color: #F1C200;
}

.reviews .review .review-content {
	color: #6c6c6c;
}

.review-response {
	margin: 30px 0 0 45px;
	padding: 10px 15px 5px;
	border-left: 2px solid #0071ba;
	color: #6c6c6c;
}
.review-response p {
	font-size: 1rem;
	color: #6c6c6c;
	line-height: 1.5;
}
.small-heading {
	font-size: 0.8rem;
	font-weight: bold;
	letter-spacing: 1.5px;
	text-transform: uppercase;
	color: #0071ba;
	margin-bottom: 10px;
}
.footer-heading {
	letter-spacing: 1.5px;
	text-transform: uppercase;
}

/* #stopbang input::placeholder, textarea::placeholder{ */
	
/* } */