
/*HTML5 Reset*/
article, aside, details, figcaption, figure, footer, header, hgroup, nav, section { display: block; }
audio, canvas, video { display: inline-block; *display: inline; *zoom: 1; }
audio:not([controls]) { display: none; }
[hidden] { display: none; }
/*Main Styles*/
html { font-size: 100%; -webkit-text-size-adjust: 100%; -ms-text-size-adjust: 100%; }
html, button, input, select, textarea { font-family: Arial, Helvetica, sans-serif; color: #333; }
body { margin: 0; font-size: 1em; /*16px*/ line-height: 1em; }
/*Selection*/
::-moz-selection { background: #CCC; color: #000; text-shadow: none; }
::selection { background: #CCC; color: #000; text-shadow: none; }
   
/* =============================================================================
   Links
   ========================================================================== */

a { color: #06F; text-decoration: none; -moz-transition: all .33s; -o-transition: all .33s; -ms-transition: all .33s; -webkit-transition: all .33s; transition: all .33s; }
a:hover { color: #F30; }
a:focus { outline: thin dotted; }
a:hover, a:active { outline: 0; }

/* =============================================================================
   Typography
   ========================================================================== */

b, strong { font-weight: bold; }
blockquote { margin: 1em 40px; }
q { quotes: none; }
q:before, q:after { content: ""; content: none; }
small { font-size: 85%; }

/* =============================================================================
   Lists
   ========================================================================== */

ul, ol { margin: 1em 0; padding: 0 0 0 40px; }
dd { margin: 0 0 0 40px; }
nav ul, nav ol { list-style: none; list-style-image: none; margin: 0; padding: 0; }

/* =============================================================================
   Embedded content
   ========================================================================== */

img { border: 0; -ms-interpolation-mode: bicubic; vertical-align: middle; max-width: 100%; }
.map img, #map_canvas img, #map_canvas2 img {max-width: none;} /*  Fixes style conflict with Google Maps API */
svg:not(:root) { overflow: hidden; }

/* =============================================================================
   Figures
   ========================================================================== */

figure { margin: 0; }

/* =============================================================================
   Forms
   ========================================================================== */

form { margin: 0; }
fieldset { border: 0; margin: 0; padding: 0; }
label { cursor: pointer; }
legend { border: 0; *margin-left: -7px; padding: 0; white-space: normal; }
button, input, select, textarea { font-size: 100%; margin: 0; vertical-align: baseline; *vertical-align: middle; }
button, input { line-height: normal; }
button, input[type="button"], input[type="reset"], input[type="submit"] { cursor: pointer; -webkit-appearance: button; *overflow: visible; }
button[disabled], input[disabled] { cursor: default; }
input[type="checkbox"], input[type="radio"] { box-sizing: border-box; padding: 0; *width: 13px; *height: 13px; }
input[type="search"] { -webkit-appearance: textfield; -moz-box-sizing: content-box; -webkit-box-sizing: content-box; box-sizing: content-box; }
input[type="search"]::-webkit-search-decoration, input[type="search"]::-webkit-search-cancel-button { -webkit-appearance: none; }
button::-moz-focus-inner, input::-moz-focus-inner { border: 0; padding: 0; }
textarea { overflow: auto; vertical-align: top; resize: vertical; }
video { padding:0 !important; 	line-height: 1.1500000000000001em; }
.videoTest { padding:0 !important;	line-height: 1.1500000000000001em; }

/* =============================================================================
   Tables
   ========================================================================== */

table { border-collapse: collapse; border-spacing: 0; }
td { vertical-align: top; }


/* ==========================================================================
   Primary Styles
   Vertex Software Corporation
   Austin, Texas
   ========================================================================== */

* { box-sizing: border-box; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; }

html, button, input, select, textarea { font-family: "proxima-nova", Arial, Helvetica, sans-serif; }

body {
	background: #fff;
	color: #333;
	font-size: 1em;
	line-height: 1.5em; /*24/16px*/
	font-family: "proxima-nova", Arial, Helvetica, sans-serif;
	font-weight: 400;
}

a {
	color: #771B1B;
	text-decoration: none;
	outline: none;
	cursor: pointer;
}
a:hover {
	color: #471010;
	text-decoration: underline;
}

p { margin: 1.25rem 0; /*20px 0*/ }
p:empty { display: none; }

h1, h2, h2, h3, h4, h5, h6 {
	font-family: "museo-slab", Arial, Helvetica, sans-serif;
	color: #6d6e72;
	margin: 1.25rem 0; /*20px 0*/
	font-weight: 100;
}

h1 {
	font-size: 2.75em; /*44/16px*/
	line-height: 1.1363636363636365em; /*50/44px*/
}
h2 {
	font-size: 2.25em; /*36/16px*/
	line-height: 1.1666666666666665em; /*42/36px*/
}
h3 {
	font-size: 1.75rem; /*28/16px*/
	line-height: 1.2142857142857142em; /*34/28px*/
}
h4 {
	font-size: 1.25em; /*20/16px*/
	line-height: 1.3em; /*26/20px*/
}
h5, h6 {
	font-size: 1em; /*16px*/
	line-height: 1.5em; /*24/16px*/
}

h1:first-child,
h2:first-child,
h3:first-child,
h4:first-child,
h5:first-child,
h6:first-child,
p:first-child {
	margin-top: 0;	
}

strong { font-weight: bold; }

hr {
	display: block;
	clear: both;
	height: .125rem; /*2px*/
	width: 100%;
	overflow: hidden;
	padding: 0;
	margin: 1.25rem 0; /*20px*/
	font-size: .125rem; /*2px*/
	line-height: .125rem; /*2px*/
	border: 0 none;
	background: #eee;
	color: #eee;
}

ul { 
    list-style: none;
	padding-left: 1.563rem; /*25px*/
} 
ul li {
	position: relative; 
	margin-top: .5em; /*8/16px*/
}
ul li:first-child {
	margin-top: 0;
}
ul li:before {   
	position: absolute;
	display: inline-block;
	left: -1.25rem; /*-20px*/
	top: 0;
	content: "\f054";
	font-family: "FontAwesome";
	font-weight: normal;
	font-size: 1rem; /*16px*/
	color: #ccc;
}

ol {
	padding-left: 1.563rem; /*25px*/
}
ol li {
	margin-top: .5em; /*8/16px*/
}
ol li:first-child {
	margin-top: 0;
}

ul,
ol {
	/*fix lists next to floated images*/
	overflow: hidden;
	width: auto;
}

.img-left,
.img-right {
	display: block;
	margin: 1.25rem auto; /*20px*/
}

.img-circle {
	display: block;
	border-radius: 100%;
	margin: auto;
	border: .125rem solid #eee; /*2px*/
}

.text-right { text-align: right; }
.text-left { text-align: left; }
.text-center { text-align: center; }

.large-txt,
.large-text {
	font-size: 1.125em; /*18/16px*/
	line-height: 1.444em; /*26/18px*/
}
.larger-txt,
.larger-text { 
	font-size: 1.25em; /*20/16px*/
	line-height: 1.3em; /*26/20px*/
}
.small-txt,
.small-text,
small {
	font-size: .75em; /*12/16px*/
	line-height: 1.333em; /*16/12px*/
}
.red-txt,
.red-text {
	color: #cf441f;
}
.orange-txt,
.orange-text {
	color: #ed9d4a;
}

.red-strike {
	position: relative;
}
.red-strike:after {
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	left: 0;
	width: 100%;
	height: 2px;
	background: #cf441f;
}

.hide-mobile { display: none; }

.wrapper {
	max-width: 75rem; /*1200px*/
	padding: 0 5%;
	margin: 0 auto;
}

/* =========== header ============ */

header {
	position: relative;
	top: 0;
	left: 0;
	width: 100%;
	background: #771B1B;
}
header ul li:before { 
	display: none; 
}

header .row-1 .logo {
	height: 70px;
	width: 142px;
	margin: 0.9375rem auto; /*15px*/
}
header .row-1 .logo a {
	display: block;
	width: 100%;
	height: 0;
	overflow: hidden;
	padding-top: 49.25373134328358%; /*image height/width - 132/268px*/
	text-indent: -9999px;
	background-image: url(../svg/logo-M2-stacked-white.svg);
	background-size: contain;
	background-repeat: no-repeat;
	outline: none !important;
}
header .row-1 nav { 
	/*display: none;*/
	position: absolute;
	top: .9375rem;
	right: .9375rem;
}
header .row-1 nav .main-nav,
header .row-1 nav .social-icons {
	display: none;
}

header .row-2 {
	color: #fff;
	font-size: 1rem; /*16px*/
	line-height: 1.25rem; /*20px*/
	padding: 0.625rem 0; /*10px*/
}
header .row-2 nav a,
header .row-2 nav a:hover {
	color: #fff;
}

/*header .row-2.logged-out {
	background: #471010;
	text-align: center;
}
header .row-2.logged-out a {
	display: inline;
	margin: 0 .625rem; 
}*/

header .row-2.logged-out {
	text-align: center;
	padding-top: 0;
}
header .row-2.logged-out a {
	display: inline-block;
	padding: .5rem .875rem;
	color: #771B1B;
	font-weight: bold;
	background: #fff;
	-webkit-border-radius: .3125rem;
    border-radius: .3125rem;
    -webkit-box-shadow: inset 0 -0.125rem 0 0 #aaa;
    box-shadow: inset 0 -0.125rem 0 0 #aaa;
}
header .row-2.logged-out a:hover {
	text-decoration: none;
	background: #ddd;
}
header .row-2.logged-out a + a {
	margin-left: .625rem;
}

header .row-2.logged-in {
	background: #471010;
}
header .row-2.logged-in .mobile-acct-nav-toggle {
	margin-left: auto;
	cursor: pointer;
	color: #fff;
	text-decoration: none !important;
	outline: none;
}
header .row-2.logged-in .mobile-acct-nav-toggle i {
	margin-right: 0;
}
header .row-2.logged-in .wrapper {
	display: flex;
	flex-flow: row wrap;
	align-items: center;
}
header .row-2.logged-in nav {
	display: none;
	clear: both;
	flex: 0 0 100%;
}
header .row-2.logged-in nav ul {
	margin: 0;
	padding: 0;
	list-style: none;
}
header .row-2.logged-in nav ul li {
	margin-top: .625rem; /*10px*/
	padding-top: .625rem; /*10px*/
	border-top: 1px solid #fff;
}

.nav-cart {
	float: left;
	position: relative;
}
.nav-cart a.cart-toggle-btn {
	display: block;
	position: relative;
	height: 1.875rem; /*30px*/
	color: #fff;
}
.nav-cart a.cart-toggle-btn i.fa-shopping-cart {
	color: #fff;
	font-size: 1.875rem; /*30px*/
	line-height: 1em;
	-webkit-animation-name: wobble;
	animation-name: wobble;
	-webkit-animation-delay: 2s;
    animation-delay: 2s;
	-webkit-animation-duration: 30s;
	animation-duration: 30s;
	-webkit-animation-iteration-count: infinite;
	animation-iteration-count: infinite;
	-webkit-animation-timing-function: ease-in-out;
	animation-timing-function: ease-in-out;
}
.nav-cart a.cart-toggle-btn .number {
	display: block;
	position: absolute;
	top: -0.25rem; /*-4px*/
	right: -0.625rem; /*-10px*/
	width: 1.125rem; /*18px*/
	height: 1.125rem; /*18px*/
	color: #fff;
	font-size: .75rem; /*12px*/
	line-height: 1.125rem; /*18px*/
	font-weight: bold;
	text-align: center;
	text-decoration: none;
	background: #cf441f;
	border-radius: 100%;
}

@-webkit-keyframes wobble {
  0% {
    -webkit-transform: rotate(0);
    transform: rotate(0);
  }
  .5% {
    -webkit-transform: rotate(-5deg);
    transform: rotate(-5deg);
  }
  1% {
    -webkit-transform: rotate(10deg);
    transform: rotate(10deg);
  }
  1.5% {
    -webkit-transform: rotate(-10deg);
    transform: rotate(-10deg);
  }
  2% {
    -webkit-transform: rotate(5deg);
    transform: rotate(5deg);
  }
  2.5% {
    -webkit-transform: rotate(0);
    transform: rotate(0);
  }
}

@keyframes wobble {
  0% {
    -webkit-transform: rotate(0);
    -ms-transform: rotate(0); 
	transform: rotate(0);
  }
  .5% {
    -webkit-transform: rotate(-5deg);
    -ms-transform: rotate(-5deg); 
	transform: rotate(-5deg);
  }
  1% {
    -webkit-transform: rotate(10deg);
    -ms-transform: rotate(10deg);
	transform: rotate(10deg);
  }
  1.5% {
    -webkit-transform: rotate(-10deg);
    -ms-transform: rotate(-10deg);
	transform: rotate(-10deg);
  }
  2% {
    -webkit-transform: rotate(5deg);
    -ms-transform: rotate(5deg);
	transform: rotate(5deg);
  }
  2.5% {
    -webkit-transform: rotate(0);
    -ms-transform: rotate(0);
	transform: rotate(0);
  }	
}

.cart-dropdown {
	position: absolute;
	z-index: 99;
	top: calc(100% + .5rem);
	right: 0;
	padding: 1.25rem;
	width: 280px;
	background-color: #fff;
	-webkit-box-shadow: 0 2px 2px 0 rgba(0,0,0,.25);
	box-shadow: 0 2px 2px 0 rgba(0,0,0,.25);
}
.cart-dropdown .cart-close-btn {
	position: absolute;
	top: 1.25rem;
	right: 1.25rem;
	font-size: 1.5rem;
	line-height: 1em;
}
.cart-dropdown h4 {
	margin: 0 0 .625rem 0;
}
.cart-dropdown .cart-items > li, 
.cart-dropdown .cart-total {
	display: flex;
	flex-flow: row nowrap;
	justify-content: space-between;
	column-gap: .625rem;
	width: 100%;
}
.cart-dropdown .cart-items > li {
	align-items: flex-end;
	padding: .3125rem 0;
	border-bottom: 1px solid #eee;
}
.cart-dropdown .cart-total {
	align-items: flex-start;
	padding: .3125rem 0;
}
.cart-dropdown .cart-btns {
	display: flex;
	flex-flow: row nowrap;
	column-gap: .625rem;
	width: 100%;
	margin-top: .625rem;
}
.cart-dropdown .cart-btns .btn {
	flex: 1 1 50%;
	margin: 0;
}

.nav-profile {
	float: left;
	position: relative;
}
.nav-profile .selected-profile {
	display: flex;
	flex-flow: row nowrap;
	align-items: center;
	cursor: pointer;
}
.nav-profile .selected-profile .profile-img {
	display: block;
	width: 1.875rem;
	height: 1.875rem;
	margin-right: .625rem;
	border-radius: 100%;
	object-fit: cover;
}
.selected-profile .username {
	color: #fff !important;
}
.selected-profile i {
	margin-left: .3125rem;
	font-weight: bold;
}
.nav-profile .profile-dropdown {
}
.nav-profile .profile-dropdown .dropdown-wrap {
	display: none;
}
.nav-profile .profile-dropdown .dropdown-wrap.open {
	display: block;
	position: absolute;
	z-index: 99;
	top: calc(100% + .625rem);
	left: 0;
	padding: 0;
	width: 220px;
	background-color: #fff;
	-webkit-box-shadow: 0 2px 2px 0 rgba(0,0,0,.25);
	box-shadow: 0 2px 2px 0 rgba(0,0,0,.25);
}
.nav-profile .profile-dropdown .profile-dd-row {
	display: flex;
	flex-flow: row nowrap;
	justify-content: flex-start;
	align-items: center;
}
.nav-profile .profile-dropdown .profile-dd-row:not(.secondary) {
	column-gap: .625rem;
	padding: .625rem 1.25rem;
	border-bottom: 1px solid #eee;
}
.nav-profile .profile-dropdown .profile-dd-row:hover {
	text-decoration: none;
}
.nav-profile .profile-dropdown .profile-dd-row:hover > strong {
	text-decoration: underline;
}
.nav-profile .profile-dropdown .profile-dd-row.secondary {
	column-gap: .3125rem;
	width: fit-content;
	margin: 1.25rem;
}
.nav-profile .profile-dropdown .profile-dd-row .profile-img {
	display: block;
	width: 3.125rem;
	height: 3.125rem;
	border-style: solid;
	border-width: 2px;
	border-radius: 100%;
	object-fit: cover;
}
.nav-profile .profile-dropdown .logout-btn {
	display: block;
	width: auto;
	margin: 1.25rem;
}

/* =========== content ============ */

.content-area {
	position: relative;
	background: #fff;
	padding: 1.25rem 0; /*20px*/
	overflow: hidden; /* so the offest colored box backgrounds don't cause horizontal scrolling on mobile */
}

.sidebar {
	margin-top: 1.25rem; /*20px*/
}

.content p:empty {
	display: none;
}

.content > *:first-child,
.sidebar > *:first-child {
	margin-top: 0;
}
.content > *:last-child,
.sidebar > *:last-child {
	margin-bottom: 0;
}

/* flexible iframe */

.flexible-container {
    position: relative;
    padding-bottom: 56.25%;
    height: 0;
    overflow: hidden;
}
.flexible-container iframe,   
.flexible-container object,  
.flexible-container embed {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border:none;
}

/* buttons */

.btn,
input[type="submit"] {
	display: block;
	width: 100%;
	padding: .625rem 1.25rem .75rem 1.25rem; /*10px 20px 12px 20px*/
	background: #771B1B;
	text-align: center;
	color: #fff;
	font-size: 1em;
	line-height: 1.125em; /*18/16px*/
	cursor: pointer;
	border: none;
	-webkit-border-radius: .3125rem; /*5px*/
	border-radius: .3125rem; /*5px*/
	-webkit-box-shadow: inset 0 -.125rem 0 0 #aaa; /*-2px*/
	box-shadow: inset 0 -.125rem 0 0 #aaa; /*-2px*/
}
input[type="submit"] {
	font-family: "proxima-nova", Arial, Helvetica, sans-serif;
}
.btn:hover,
input[type="submit"]:hover {
	color: #fff;
	text-decoration: none;
	background: #471010;
}

.btn.btn-gray {
	background: #999;
}
.btn.btn-gray:hover {
	background: #aaa;
}

.btn.aspNetDisabled,
.btn.aspNetDisabled:hover {
	background: #999;
	cursor: default;
}

.btn.btn-red {
	background: #be2d2c;
}
.btn.btn-red:hover {
	background: #df4442;
}

.btn + .btn {
	margin-top: 1.25rem; /*20px*/
}

.btn.add-to-cart {
	display: inline-block;
	width: auto;
    padding: .625rem; /*10px*/
	margin: .625rem 0 1.25rem 0; /*10px 0 20px 0*/
	font-size: 1em;
	line-height: 1em;
	font-weight: bold;
}

/* columns
Note: div method is kind of old, ul method is set up in the tinymce menu for easier customer use */

ul.column-row,
.columns {
	margin: 1.25rem 0; /*20px 0*/
	padding: 0;
	list-style: none;
}
ul.column-row > li,
.columns > div {
	overflow: hidden;
	margin: 0;
	padding: 0;
}
ul.column-row > li:before {
	display: none;
}
ul.column-row > li + li,
.columns > div + div {
	margin-top: 1.25rem; /*20px*/
}
ul.column-row > li > *:first-child:not(.promo-box),
.columns > div > *:first-child:not(.promo-box) {
	margin-top: 0;
}
ul.column-row > li > *:last-child:not(.promo-box),
.columns > div > *:last-child:not(.promo-box) {
	margin-bottom: 0;
}

/* responsive tables */

table.responsive-table {
	width: 100%;
	margin: 0;
	padding: 0;
	border-collapse: collapse;
	border-spacing: 0;
	border: .125rem solid #eee; /*2px*/
	table-layout: fixed;
}
table.responsive-table thead {
	display: none;
}
table.responsive-table tr {
	display: block;
	border-bottom: .125rem solid #eee; /*2px*/
}
table.responsive-table tr:last-child {
	border-bottom: none;
}
table.responsive-table tr:after {
	content: "";
	display: table;
	clear: both;
}
table.responsive-table th, 
table.responsive-table td {
	padding: 0.625rem; /*10px*/
	font-size: 1em;
	line-height: 1.25em; /*20/16px*/
	word-wrap: break-word;
}
table.responsive-table td {
	display: block;
	float: left;
	clear: left;
	width: 100%;
	text-align: left;
	border-bottom: .125rem solid #eee; /*2px*/
}
table.responsive-table td:last-child {
	border-bottom: none;
}
table.responsive-table td:before {
	content: attr(data-label);
	float: left;
	margin-right: 0.625rem; /*10px*/
	font-weight: bold;
	color: #6D6E72;
}
table.responsive-table th,
table.responsive-table th a,
table.responsive-table th a:hover {
	color: #fff;
	font-weight: bold;
}
table.responsive-table th.hide-mobile,
table.responsive-table td.hide-mobile {
	display: none;
}

/* forms */

fieldset {
	margin-top: 1.25rem; /*20px*/
}
fieldset legend { /* match font size, etc, to H3 */
	margin: 0;
	color: #6d6e72;
	font-family: "museo-slab", Arial, Helvetica, sans-serif;
	font-weight: 100;
	font-size: 1.75rem; /*28/16px*/
	line-height: 1.2142857142857142em; /*34/28px*/
}
fieldset > *:last-child { margin-bottom: 0; }

input[type="text"],
input[type="password"],
input[type="email"],
input[type="tel"],
input[type="date"],
textarea,
select {
	display: inline-block;
	width: 100%;
	background: #eee;
	border: none;
	margin: 0;
	padding: .5rem 0.625rem; /*8px 10px*/
	color: #333;
	font-size: 1em;
	line-height: 1.5em; /*24/16px*/
	border-radius: .25rem; /*4px*/
}

input[type="radio"],
input[type="checkbox"] {
	width: 1.125rem; /*18px*/
	height: 1.125rem; /*18px*/
	vertical-align: middle;
}
input[type="radio"] + label,
input[type="checkbox"] + label,
label + input[type="radio"],
label + input[type="checkbox"],
input[type="radio"] + .label,
input[type="checkbox"] + .label,
.label + input[type="radio"],
.label + input[type="checkbox"] {
	vertical-align: middle;
	margin: 0 1.25rem 0 .5em; /*0 20px 0 8px*/
}

.checkbox-radio-list {
	width: 100%;
}
.checkbox-radio-list td {
	display: block;
	width: 100%;
}
.checkbox-radio-list td label {
	display: inline;
	font-weight: normal;
}

.form-row {
	margin: 1.25rem 0; /*20px*/
}
/*give form-row same styles as cf so we don't have to add the cf class to each row*/
.form-row:before, .form-row:after { content: ""; display: table; }
.form-row:after { clear: both; }
.form-row { *zoom: 1; }

.form-row label,
.form-row .label { 
	display: block;
	margin-bottom: .5rem; /*8px*/
	font-weight: bold; 
	font-size: 1em;
	line-height: 1.25em; /*20/16px*/
}

.form-row > .one-half,
.form-row > .one-third,
.form-row > .two-thirds,
.form-row > .one-fourth,
.form-row > .three-fourths {
	margin-top: 1.25rem; /*20px*/
}

.form-row.inline > * {
	margin-top: 1.25rem; /*20px*/
}
.form-row.inline > label,
.form-row.inline > .label{
	margin-bottom: 0;
}
.form-row.inline > label + *,
.form-row.inline > .label + * {
	margin-top: .5rem; /*8px*/
}

.form-row > *:first-child,
.form-row.inline > *:first-child { 
	margin-top: 0; 
}

.input-group {
    position: relative;
}
.form-row .input-group input {
    position: relative;
    z-index: 1;
    padding-right: 2.5rem;
}
.form-row .input-group .input-group-append {
    display: block;
    position: absolute;
    z-index: 2;
    top: 0;
    right: 0;
    width: 2.5rem;
    height: 100%;
    text-align: center;
}
.form-row .input-group .input-group-append > * {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    font-size: 1em;
    line-height: 1em;
    margin: 0;
    padding: 0;
    background-color: transparent;
    border: 0;
    outline: 0;
}

.input-validation-info {
	display: block;
	margin-top: .25rem; /*4px*/
	font-size: 0.875em; /*14/16px*/
	line-height: 1.2857142857142856em; /*18/14px*/
}
.validation_required {
	display: block;
	margin-top: .25rem; /*4px*/
	color: #cf441f;
	font-weight: bold;
	font-size: 0.875em; /*14/16px*/
	line-height: 1.2857142857142856em; /*18/14px*/
}
.announcement,
.MessageError {
	color: #cf441f;
	font-weight: bold;
}
.red {
	color: #cf441f;
}

.ui-datepicker {
	width: 15rem; /*240px*/
	background: #eee;
}
.ui-datepicker-header {
	padding: 0.625rem; /*10px*/
	color: #fff;
	background: #00b2a9;
	text-align: center;
	font-size: 1rem;
	line-height: 1em;
}
.ui-datepicker-title {
	font-weight: bold;
	font-size: 1.125rem; /*18px*/
	line-height: 1.125em; /*20/18px*/
}
.ui-datepicker-prev,
.ui-datepicker-next {
	position: relative;
	width: 1.25rem; /*20px*/
	height: 1.25rem; /*20px*/
	color: #fff;
	cursor: pointer;
}
.ui-datepicker-prev:hover,
.ui-datepicker-next:hover {
	color: #fff;
	text-decoration: none;
}
.ui-datepicker-prev span,
.ui-datepicker-next span {
	display: none;
}
.ui-datepicker-prev:after,
.ui-datepicker-next:after {
	position: absolute;
	top: 0;
	left: 0;
	font-family: "FontAwesome";
	font-size: 1.25rem; /*20px*/
	line-height: 1em;
}
.ui-datepicker-prev {
	float: left;
}
.ui-datepicker-prev:after {
	content: '\f0a8';
}
.ui-datepicker-next {
	float: right;
}
.ui-datepicker-next:after {
	content: '\f0a9';
}
.ui-datepicker-calendar {
	width: 14.38rem; /*230px*/
	margin: 0.3125rem; /*5px*/
	padding: 0;
	border: none;
}
.ui-datepicker-calendar th,
.ui-datepicker-calendar td {
	margin: 0;
	padding: 0.3125rem; /*5px*/
	text-align: center;
	vertical-align: middle;
	font-size: 1rem;
	line-height: 1em;
}

.pagination {
	display: block;
	width: 100%;
	padding: .5rem 0; /*8px 0*/
	margin: 0;
	text-align: center;
	/*remove spacing between inline items inside*/
	font-size: 0;
	line-height: 0;
}
.pagination a,
.pagination span {
	display: inline-block;
	padding: 0 .5rem; /*0 8px*/
	font-size: 1rem;
	line-height: 1.5em; /*24/16px*/
}
.pagination span {
	font-weight: bold;
}
.pagination span,
.pagination a.aspNetDisabled {
	color: #333;
	cursor: default;
	pointer-events: none;
}
.pagination:empty {
	display: none;
}

/* some kind of input down near purechat code has class="hide" with no actual style to hide it, adding one here */
input[type="submit"].hide {
	display: none;
}

/* sticky checkout button when there's items in cart (on certain pages) */

.sticky-checkout-btn {
	display: block;
	position: fixed;
	z-index: 98;
	bottom: 2.5%;
	right: 2.5%;
	padding: .625rem; /*10px*/
	margin: 0;
	color: #fff;
	font-size: 1em;
	line-height: 1em;
	font-weight: bold;
	text-align: center;
	background-color: rgba(190, 45, 44, .8);
	border-radius: .3125rem; /*5px*/
}
.sticky-checkout-btn i {
	display: block;
	margin-bottom: .3125rem; /*5px*/
	font-size: 1.25em; /*20/16px*/
}
.sticky-checkout-btn:hover {
	color: #fff;
	text-decoration: none;
	background-color: #be2d2c;
}

/* "functional category" page headings with offset colored box backgrounds */

.functional-category-title {
	position: relative;
	z-index: 1;
	background-color: transparent;
}
.functional-category-title ~ * {
	position: relative;
	z-index: 1;
}
.functional-category-title:before {
	content: "";
	position: absolute;
	z-index: -1;
	top: -5rem; /*-80px*/
	left: -6.25rem; /*-100px*/
	width: 500px;
	height: 400px;
	background-position: left top;
	background-repeat: no-repeat;
	background-size: contain;
}
.functional-category-title.group-1:before {
	background-image: url(../svg/boxes-multi.svg);
}
.functional-category-title.group-2:before {
	background-image: url(../svg/boxes-red.svg);
}
.functional-category-title.group-3:before {
	background-image: url(../svg/boxes-blue.svg);
}
.functional-category-title.group-4:before {
	background-image: url(../svg/boxes-green.svg);
}
.functional-category-title.group-5:before {
	background-image: url(../svg/boxes-orange.svg);
}
.functional-category-title.group-6:before {
	background-image: url(../svg/boxes-purple.svg);
}

/* functional categories "menu" */

.programs-row div {
	text-align: center;
}
.programs-row div a {
	display: block;
	position: relative;
	max-width: 12.5rem; /*200px*/
	margin: 0 auto;
	color: #771B1B;
	font-size: 1.25em; /*20/16px*/
	line-height: 1.3em; /*26/20px*/
}
.programs-row div a span {
	display: block;
	position: absolute;
	top: 50%;
	width: 100%;
	margin-top: -1em;
	text-align: center;
}
.programs-row div a span strong {
	display: block;
}
.programs-row div a:hover span {
	text-decoration: underline;
}
.programs-row div > *:last-child {
	margin-bottom: 0;
}

/* full-screen popups */

.popup {
	display: none;
	position: fixed;
	z-index: 99;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	overflow-y: auto; /* in case popup content gets long */
	overflow-x: hidden;
	background: rgba(0,0,0,0.6);
}

.popup-dashboard {
	display: none;
	position: relative;
	z-index: 199;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	overflow-y: auto; /* in case popup content gets long */
	overflow-x: hidden;
	background: rgba(0,0,0,0.6);
}

.popup-content-dashboard {
	display: block;
	position: relative;
	width: 90%;
	margin: 5%;
	padding: 1.875rem; /*30px*/
	background: #fff;
	box-shadow: 0 0 1.25rem 0 rgba(0,0,0,.2); /*20px*/
}

.popup-content {
	display: block;
	position: absolute;
	width: 90%;
	margin: 5%;
	padding: 1.875rem; /*30px*/
	background: #fff;
	box-shadow: 0 0 1.25rem 0 rgba(0,0,0,.2); /*20px*/
}
.popup-content > *:first-child,
.popup-content > .btn-close + * {
	margin-top: 0;
}
.popup-content > *:last-child {
	margin-bottom: 0;
}
.popup-content ul, 
.popup-content ol {
	padding-left: 1.563rem; /*25px*/
}
.popup-content .btn-close {
	display: block;
	position: absolute;
	z-index: 99;
	top: -.625rem; /*-10px*/
	right: -.625rem; /*-10px*/
	cursor: pointer;
	/* to hide any text inside the <a> */
	font-size: 0;
	line-height: 0;
	text-decoration: none !important;
}
.popup-content .btn-close:before {
	display: block;
	content: '\f00d';
	width: 2.5rem; /*40px*/
	height: 2.5rem; /*40px*/
	color: #fff;
	font-family: 'FontAwesome';
	font-size: 1.875rem; /*30px*/
	line-height: 2.5rem; /*40px*/
	text-indent: 0;
	text-align: center;
	background: #ea7f10;
	border-radius: 100%;
}
.popup-content .btn-close:hover:before {
	color: #fff;
	background: #ed9d4a;
}

/* tabs nav */

ul.tabs-nav {
	padding: 0;
	margin: 1.25rem 0; /*20px 0*/
	border-left: .3125rem solid #00b2a9; /*5px*/
}
ul.tabs-nav li {
	margin: 0;
	padding: 0;
}
ul.tabs-nav li:before { display: none; }
ul.tabs-nav li + li {
	margin-top: 0.3125rem; /*5px*/
}
ul.tabs-nav li a {
	display: block;
	padding: .5rem .625rem; /*8px 10px*/
	color: #fff;
	background: #771B1B;
	border-radius: 0 .5rem .5rem 0; /*0 8px 8px 0*/
	outline: 0 !important;
}
ul.tabs-nav li.selected a {
	background: #00b2a9;
}
ul.tabs-nav li.selected a {
	cursor: default;
	text-decoration: none;
}

/* promo box */

.promo-box {
	padding: 1.25rem; /*20px*/
	margin: 1.875rem .625rem; /*30px 10px*/
	color: #fff;
	background: #6d6e72;
	border: solid .125rem #fff; /*2px*/
	outline: solid .625rem #6d6e72; /*10px*/
}
.promo-box:first-child {
	margin-top: .625rem; /*30px*/
}
.promo-box:last-child {
	margin-bottom: .625rem; /*30px*/
}
.promo-box h2, .promo-box h3, .promo-box h4,
.promo-box h5, .promo-box h6, .promo-box a,
.promo-box a:hover, .promo-box ul li:before {
	color: #fff;
}
.promo-box ul {
    padding-left: 1.563rem; /*25px*/
}
.promo-box > *:first-child { margin-top: 0; }
.promo-box > *:last-child { margin-bottom: 0; }

/* simpler outlined box */

.outline-box {
	display: inline-block;
	clear: both;
	padding: 1.25rem; /*20px*/
	border: .125rem solid #eee; /*2px*/
}
.outline-box > *:first-child { margin-top: 0; }
.outline-box > *:last-child { margin-top: 0; }

/* banner area for subpages */

body:not(.page-home) .banner img { 
	display: block;
	width: auto;
	height: auto;
	max-width: 100%;
	margin: 0;
}
body:not(.page-home) .banner p {
	margin: 0;
	padding: 0;
}
body:not(.page-home) .banner p:empty {
	display: none;
}

/* Home page */

.page-home .banner {
	position: relative;
	width: 100%;
	height: 100%;
	margin: 0;
	padding: 0;
	color: #fff;
	text-align: center;
	text-shadow: 1px 1px 1px #000;
	border: none;
	border-radius: 0;
	z-index: 95;
}
.page-home .banner #open-video-popup {
	display: block;
	position: absolute;
	z-index: 96;
	bottom: 6.25rem; /*100px*/
	left: 50%;
	transform: translateX(-50%);
	width: 100%;
	padding: 1px; /*helped with some edges seeming cut off*/
	color: #fff;
	font-size: 5rem; /*80px*/
	line-height: 1em;
	opacity: .8;
	cursor: pointer;
}
.page-home .banner #open-video-popup:hover {
	opacity: 1;
}
.page-home .banner .self-test-cta {
	display: block;
	position: absolute;
	z-index: 96;
	bottom: 0;
	left: 0;
	width: 100%;
	padding: 1rem 5%; /*16px 5%*/
	color: #fff;
	font-size: 1.375em; /*22/16px*/
	line-height: 1.2727272727272727em; /*28/20px*/
	font-weight: bold;
	background: rgba(109, 110, 114, .8);
}
.page-home .banner .slides {
	height: 100%;
}
.page-home .banner .slides li {
	min-height: 320px;
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
}
.page-home .banner .slides li:before { 
	display: none; 
}
.page-home .banner .slides li:nth-child(1) { 
	background-image: url(../Assets/home-slidehow-5.jpg);
	background-position-y: top;
}
.page-home .banner .slides li:nth-child(2) { 
	background-image: url(../Assets/home-slidehow-8.jpg);
	background-position-y: bottom;
}
.page-home .banner .slides li:nth-child(3) { 
	background-image: url(../Assets/home-slidehow-7.jpg);
	background-position-y: top;
}
.page-home .banner .slides li:nth-child(4) { 
	background-image: url(../Assets/home-slidehow-6.jpg);
}
.page-home .banner .caption {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 100%;
	padding: 1.25rem 5%; /*20px 5%*/
	/*padding: 1.25rem 5% 6.25rem 5%;*/ /*20px 5% 100px 5%*/
}
.page-home .banner .caption br {
	display: none;
}
.page-home .banner .caption h2,
.page-home .banner .caption p {
	color: #fff;
	font-weight: 500;
}
.page-home .banner .caption p {
	margin: -.625rem 0 0 0; /*-10px 0 0 0*/
	font-size: 1.5em; /*24/16px*/
	line-height: 1.25em; /*30/24px*/
}

.page-home .featured-promos {
	padding: 1.25rem 0; /*20px 0*/
	background: #eee;
}
.page-home .featured-promos .wrapper div {
	background: #fff;
	padding: 1.25rem; /*20px*/
-webkit-box-shadow: 2px 2px 3px 0 rgba(0,0,0,.25);
box-shadow: 2px 2px 3px 0 rgba(0,0,0,.25);
}
.page-home .featured-promos .wrapper div + div {
	margin-top: 1.25rem; /*20px*/
}
.page-home .featured-promos .wrapper div > *:first-child { margin-top: 0; } 
.page-home .featured-promos .wrapper div > *:last-child { margin-bottom: 0; }

.page-home .promo-box ul {
	max-width: 30em; /*480px*/
	margin: 1.25rem auto; /*20px auto*/
}

.page-home .popup#how-it-works-video .popup-content {
	width: 90%;
	padding: .125rem; /*2px*/
}

/* Vertical aligned rows (like used on How it Works and The Science pages */

.vertical-center-row > div img {
	display: block;
	max-width: 20rem; /*320px*/
	margin: 1.25rem auto; /*20px auto*/
}

/* Profile pages and popups */
.profile-avatar {
    height: 100px;
    width: 100px;
    border-radius: 100%;
    object-fit: cover;
}

.profiles-grid {
    display: flex;
    flex-flow: row wrap;
    justify-content: space-evenly;
    align-items: flex-start;
    gap: 2.5rem;
	text-align: center;
}
.profiles-grid .profile-link-button img {
    display: block;
    margin: 0 auto .625rem auto;
}
.profiles-grid .add-profile-button i {
    display: block;
    height: 100px; 
    width: 100px;
    margin: 0 auto .625rem auto;
    color: #fff;
    font-size: 32px;
    line-height: 100px;
    text-align: center;
    border: 2px solid #771b1b; 
    border-radius: 100%; 
    background-color: #771b1b;
}
.profiles-grid .add-profile-button strong {
    color: #771b1b;
}
.profiles-grid .profile-link-button:hover,
.profiles-grid .add-profile-button:hover {
	text-decoration: none;
}


/* Style Guide page */

.code-box {
	width: 100%;
	height: 9.375rem; /*150px*/
	box-sizing: border-box;
	padding: .625rem; /*10px*/
	margin-bottom: 1.875rem; /*30px*/
	font-family: "Courier New", Courier, monospace;
	font-size: 0.875em; /*14/16px*/
	line-height: 1.1428571428571428em; /*16/14px*/
}

/* =========== footer ============ */

footer {
	text-align: center;
}
footer hr {
	margin-top: 0;
}
footer nav ul li:before { 
	content: none; 
}
footer small {
	display: block;
	margin: 1.25rem 0; /*20px 0*/
	font-size: 0.875em; /*14/16px*/
	line-height: 1.5714285714285714em; /*22/14px*/
}

/* =========== mobile slide nav ============ */

.mobile-nav {
	position: absolute;
	left: -18.75rem; /*-300px*/
	width: 18.75rem; /*-300px*/
  	height: 100%;
	display: block;
    background: #333;
	z-index: 99 !important;
  	box-sizing: border-box;    
  	-moz-box-sizing: border-box;
  	-webkit-box-sizing: border-box;
	overflow: auto;
}
.mobile-nav-bar {
	display: block; 
	position: absolute;
	left: 0;
	top: 0;		
	height: 3.125rem; /*50px*/
	width: auto;
	padding: 0;
	z-index: 98;
}
.mobile-nav-bar .mobile-nav-button {
	display: block;
	float: left;
	height: 3.125rem; /*50px*/
	width: 3.125rem; /*50px*/
	margin: 0;
	padding: 0;
	text-align: center;
	cursor: pointer;
}
.mobile-nav-bar .mobile-nav-button i {
	color: #fff;
	font-size: 1.875rem; /*30px*/
	line-height: 3.125rem; /*50px*/
}
.mobile-nav-bar .nav-cart {
	margin: .75rem 0 0 .625rem; /*12px 0 0 10px*/
}
.mobile-nav {
	display: block;
}
.mobile-nav ul {
	padding: 0;
	margin: 0;
	list-style: none;
}
.mobile-nav ul li {
	padding: 0;
	margin: 0;	
	list-style: none;
	border-bottom: 1px solid #555;                
} 
.mobile-nav ul li:before { display: none; }       
.mobile-nav ul li a {
	padding: .625rem .9375rem; /*10px 15px*/
	display: block;
	color: #fff;
	font-family: "proxima-nova", Arial, Helvetica, sans-serif;
	font-size: 1.125rem; /*18px*/
	line-height: 1.222em; /*22/18px*/
	text-decoration: none; 
}
.mobile-nav ul li a:hover {
	color: #fff;
	background: #555;
	text-decoration: none; 
}
.mobile-nav ul li ul {
	background: #444;
}
.mobile-nav ul li ul li {
	border-top: 1px solid #555;
	border-bottom: 0;
}
.mobile-nav ul li ul li a {
	padding-left: 1.875rem; /*30px*/
	font-weight: normal;
}
.mobile-nav ul.social-icons li {
	display: inline-block;
	border-bottom: none;
}
.mobile-nav ul.social-icons li:hover {
	background: transparent;
}

/* =============================================================================
   Non-Semantic Helper Classes
   ========================================================================== */

/* added by Vertex */
.no-mt, .mt-0 { margin-top: 0 !important; }
.no-mr, .mr-0 { margin-right: 0 !important; }
.no-ml, .ml-0 { margin-left: 0 !important; }
.no-mb, .mb-0 { margin-bottom: 0 !important; }

.ir { display: block; border: 0; text-indent: -999em; overflow: hidden; background-color: transparent; background-repeat: no-repeat; text-align: left; direction: ltr; *line-height: 0; }
.ir br { display: none; }
.hidden { display: none !important; visibility: hidden; }
.visuallyhidden { border: 0; clip: rect(0 0 0 0); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute; width: 1px; }
.visuallyhidden.focusable:active, .visuallyhidden.focusable:focus { clip: auto; height: auto; margin: 0; overflow: visible; position: static; width: auto; }
.invisible { visibility: hidden; }
.cf:before, .cf:after { content: ""; display: table; }
.cf:after { clear: both; }
.cf { *zoom: 1; }

/* =============================================================================
   Print Styles
   ========================================================================== */
 
@media print {
  * { background: transparent !important; color: black !important; box-shadow:none !important; text-shadow: none !important; filter:none !important; -ms-filter: none !important; } /* Black prints faster: h5bp.com/s */
  a, a:visited { text-decoration: none; }
  a[href]:after { content: " (" attr(href) ")"; }
  abbr[title]:after { content: " (" attr(title) ")"; }
  .ir a:after, a[href^="javascript:"]:after, a[href^="#"]:after { content: ""; }  /* Don't show links for images, or javascript/internal links */
  pre, blockquote { border: 1px solid #999; page-break-inside: avoid; }
  thead { display: table-header-group; } /* h5bp.com/t */
  tr, img { page-break-inside: avoid; }
  img { max-width: 100% !important; }
  @page { margin: 0.5cm; }
  p, h2, h3 { orphans: 3; widows: 3; }
  h2, h3 { page-break-after: avoid; }
}
 
