/*
 * What follows is the result of much research on cross-browser styling.
 * Credit left inline and big thanks to Nicolas Gallagher, Jonathan Neal,
 * Kroc Camen, and the H5BP dev community and team.
 */

/* ==========================================================================
   Base styles: opinionated defaults
   ========================================================================== */

html {
    color: #222;
    font-size: 1em;
    line-height: 1.4;
	font-family: 'proxima-nova', "Helvetica Neue", Helvetica, Arial, "sans-serif";
	-moz-osx-font-smoothing: grayscale;
}

::-moz-selection {
    background: #00527A;
	color:#ffffff;
    text-shadow: none;
}

::selection {
    background: #00527A;
	color:#ffffff;
    text-shadow: none;
}

hr {
    display: block;
    height: 1px;
    border: 0;
    border-top: 1px solid #ccc;
    margin: 1em 0;
    padding: 0;
}

audio,
canvas,
iframe,
img,
svg,
video {
    vertical-align: middle;
}

fieldset {
    border: 0;
    margin: 0;
    padding: 0;
}

textarea {
    resize: vertical;
}

a {
	background-color: transparent;
}

 a, a:visited, a:hover, a:focus {
    text-decoration: none;
}

.no-padding {
    padding: 0;
}


/* ==========================================================================
   Browser Upgrade Prompt
   ========================================================================== */

.browserupgrade {
    margin: 0.2em 0;
    background: #ccc;
    color: #000;
    padding: 0.2em 0;
}

/* ==========================================================================
   Essilor Base Styling
   ========================================================================== */

.arrow_mask {
	width:100%; 
	text-align:center; 
	margin-top:-25px; 
	height:25px; 
	position:absolute; 
	z-index:999;
	
}

.arrow {
	background-image: url(../img/arrow_mask.png); 
	height:25px; 
	background-position:top center; 
	background-repeat:repeat-x;
}

.brand_wrapper {
	position:relative;
	z-index:1;
}

.brand_wrapper_copy {
	width:1200px;
	margin:0 auto 0 auto;
	font-family: 'proxima-nova', "Helvetica Neue", Helvetica, Arial, "sans-serif";
	font-size:10px;
	line-height:16px;
	letter-spacing:1px;
	color:#999999;
	font-weight:400;
	text-align:left;
	padding:20px 0 20px 0;
}

.logo_set {
	width:100%;
	padding:2px 0 2px 0;
	margin-bottom:30px;
}

.logo_wrap {
	width:950px;
	margin:0 auto 0 auto;
}

.logo_1 {
	float:left;
	width:230px;
	border-right:1px solid #333333;
	text-align:left;
}

.logo_2, .logo_3, .logo_4, .logo_5, .logo_6 {
	text-align:right;
	float:left;
	padding:10px 0 0 0;
	vertical-align:top;
}

.logo_2 {
	width:145px;
}

.logo_3 {
	width:120px;
}

.logo_4 {
	width:165px;
}

.logo_5 {
	width:135px;
}

.logo_6 {
	width:150px;
}

.ess_brand {
	width:200px;
	height:59px;
}

.brand1 {
	width:117px;
	height:40px;
}

.brand2 {
	width:73px;
	height:40px;
}

.brand3 {
	width:120px;
	height:40px;
}

.brand4 {
	width:91px;
	height:40px;
}

.brand5 {
	width:110px;
	height:40px;
}

.footer_title {
	font-family: 'proxima-nova', "Helvetica Neue", Helvetica, Arial, "sans-serif";
	padding:28px 30px 20px 30px;
	font-size:28px;
	line-height:34px;
	letter-spacing:3px;
	color:#007EBD;
	font-weight:700;
	text-align:center;
}

.cta_1, .cta_2, .cta_2a, .cta_1a, .cta_1b, .cta_3, .cta_4 {
	box-sizing: border-box;
	border-radius:7px;
	font-family: 'proxima-nova', "Helvetica Neue", Helvetica, Arial, "sans-serif";
	font-size:16px;
	line-height:16px;
	font-weight:800;
	letter-spacing: 1px;
	margin-top:15px;
	text-align:center;
}
.cta_1, .cta_1a, .cta_1b {
	border: 1px solid #ffffff;
	color:#ffffff;
	display:inline-block;
	background-color:transparent;
	padding:15px 70px 15px 70px;
}

.cta_1a {
	width:100%;
	display:block;
	background-color:transparent;
	padding:15px;
}

.cta_1:hover, .cta_1a:hover, .cta_1b:hover {
	background-color:#ffffff;
	cursor:pointer;
	color:#000000;
}

.cta_1b {
	margin:0;
}

.cta_2, .cta_2a, .cta_3, .cta_4 {
	width:100%;
	border: 1px solid #0088ce;
	color:#0088ce;
	background-color:#ffffff;
	padding:15px;
	display:block;
}

.cta_2:hover, .cta_2a:hover, .cta_3:hover, .cta_4:hover {
	background-color:#085fa2;
	cursor:pointer;
	color:#ffffff;
	border:1px solid #085fa2;
}

.cta_2a {
	width:250px;
	margin:0 auto 0 auto;
}
.cta_1a {
	display:none;
}

.cta_3 {
	padding:9px 0 9px 0;
	margin-top:18px;
}

.points_selected {
	background:#0088ce; 
	padding:0 30px 10px 40px !important; 
	text-align:left;
	color:#ffffff !important;
	box-sizing: border-box;
	vertical-align:bottom;
	font-weight:500 !important;
}

.points_cta {
	background:#0088ce; 
	padding:0 30px 0 30px; 
	text-align:right;
	box-sizing: border-box;
}

.cta_4 {
	padding:10px;
	width:300px;
	font-size:14px;
	line-height:14px;
	margin:10px 20px 10px auto;
}

.txt_landing_mobile {
	display:none;
}

.icon_program {
	text-align:center;
	width:100%;
	box-sizing: border-box;
}

.icon_points {
	width:110px;
	height:110px;
}

/*
 * FORMS
 */

.form_landing_mobile, .form_landing_mobile2 {
	display:none;
}

.form_landing {
	width:320px;
	background-color:#ffffff;
	position:absolute;
	right:0;
	top:0;
	font-family: 'proxima-nova', "Helvetica Neue", Helvetica, Arial, "sans-serif";
	color:#000000;
	padding:30px 30px 20px 30px;
	box-sizing: border-box;
	-moz-box-shadow: 0 5px 7px rgba(68, 68, 68, 0.6);
  	-webkit-box-shadow: 0 5px 7px rgba(68, 68, 68, 0.6);
  	box-shadow: 0 5px 7px rgba(68, 68, 68, 0.6);
	z-index:2;
	
}

.form_landing2 {
	width:100%;
	background-color:#ffffff;
	font-family: 'proxima-nova', "Helvetica Neue", Helvetica, Arial, "sans-serif";
	color:#000000;
	padding:30px 30px 20px 30px;
	box-sizing: border-box;
	-moz-box-shadow: 0 5px 7px rgba(68, 68, 68, 0.6);
  	-webkit-box-shadow: 0 5px 7px rgba(68, 68, 68, 0.6);
  	box-shadow: 0 5px 7px rgba(68, 68, 68, 0.6);
}

.form_landing li, .form_landing2 li, .form_modal li, .error li {
	list-style-type:none;
    padding:0;
}

.form_landing li label, .form_landing2 li label {
	padding:0;
	margin:0;
}

.form_landing ul, .form_landing2 ul, .form_modal ul, .error ul {
	list-style-type:none;
    padding:0;
}

.form_landing input, .form_landing2 input {
	width:100%;
	box-sizing: border-box;
	font-family: 'proxima-nova', "Helvetica Neue", Helvetica, Arial, "sans-serif";
	font-size:14px;
	line-height:14px;
	font-weight:700;
	letter-spacing: 1px;
	color:#000000;
	margin-top:5px;
	margin-bottom:10px;
	padding:10px;
	border-radius:7px;
	display:block;
	-webkit-box-shadow: inset 0 0 0 #ffffff !important;
	-moz-box-shadow: inset 0 0 0 #ffffff !important;
	box-shadow: inset 0 0 0 #ffffff !important;
	outline:none !important;
	border:1px solid #cccccc;
}

.form_landing.error input, .form_landing2.error input, .form_enroll.error input, .form_enroll.error select, .sub-menu__item.error input {
	border:1px solid #ff0000 !important;
}

.form_enroll.error input, .form_enroll.error select {
	margin-bottom:10px;
}

.form_landing button, .form_landing2 button, .form_modal button, .error button {
	width:100%;
	box-sizing: border-box;
	border: 1px solid #ffffff;
	border-radius:7px;
	font-family: 'proxima-nova', "Helvetica Neue", Helvetica, Arial, "sans-serif";
	font-size:16px;
	line-height:16px;
	font-weight:700;
	letter-spacing: 1px;
	color:#ffffff;
	background-color:#007EBD;
	margin-top:10px;
	padding:15px;
}

.form_cta:hover button {
	background-color:#00527A;
	cursor:pointer;
	border:1px solid #00527A;
}

.form_cta2:hover button {
	background-color:#ffffff;
	color:#000000;
	cursor:pointer;
	border:1px solid #ffffff;
}

.form_header {
	font-size:22px;
	line-height:28px;
	font-weight:700;
	letter-spacing: 2px;
}

.form_txt {
	font-size:15px;
	line-height:20px;
	font-weight:400;
	padding:5px 0 0 0;
}

.form_footer {
	text-align:center;
	font-size:16px;
	line-height:20px;
	padding:0 0 10px 0;
	border-bottom:1px solid #cccccc;
}

.form_footer_1 {
	font-weight:700;
}

.form_footer_2 {
	font-size:14px;
	line-height:22px;
	padding:10px 0 20px 0;
}

.form_footer_3 {
	font-size:11px;
	line-height:20px;
	text-align:left;
	padding-top:20px;
	border-top:1px solid #ffffff;
}

.form_footer4, .program_title1 {
	width:100%;
	box-sizing: border-box;
	font-family: 'proxima-nova', "Helvetica Neue", Helvetica, Arial, "sans-serif";
	font-size:16px;
	line-height:18px;
	font-weight:800;
	color:#000000;
	text-align:center;
	padding:15px 0 0 0;
}


.form_enroll {
	width:100%;
	font-family: 'proxima-nova', "Helvetica Neue", Helvetica, Arial, "sans-serif";
	color:#000000;
	padding:30px 0 0 0;
	box-sizing: border-box;
}

.form_enroll li {
	list-style-type:none;
    padding:0;
}

.form_enroll li label {
	padding:0;
	margin:0;
}

.form_enroll ul {
	list-style-type:none;
    padding:0;
}

.form_enroll input, .form_enroll select, .form_enroll .error input, .form_enroll .error select {
	width:100%;
	box-sizing: border-box;
	font-family: 'proxima-nova', "Helvetica Neue", Helvetica, Arial, "sans-serif";
	font-size:14px;
	line-height:14px;
	font-weight:700;
	color:#000000;
	margin-top:5px;
	margin-bottom:20px;
	padding:10px;
	border-radius:7px;
	display:block;
	-webkit-box-shadow: inset 0 0 0 #ffffff !important;
	-moz-box-shadow: inset 0 0 0 #ffffff !important;
	box-shadow: inset 0 0 0 #ffffff !important;
	outline:none !important;
	border:1px solid #cccccc;
}

.form_enroll .step2 {
	width:170px;
}

.form_enroll select {
	padding:0 10px 0 10px;
	height:37px;
}

.form_enroll button {
	width:100%;
	box-sizing: border-box;
	border: 1px solid #ffffff;
	border-radius:7px;
	font-family: 'proxima-nova', "Helvetica Neue", Helvetica, Arial, "sans-serif";
	font-size:16px;
	line-height:16px;
	font-weight:700;
	letter-spacing: 1px;
	color:#ffffff;
	background-color:#007EBD;
	margin-top:10px;
	padding:15px;
}


.program_title1 {
	padding:15px 0 15px 0;
	letter-spacing: 2px;
}

.program_title1a {
	border-bottom: 1px dashed rgba(0,0,0,.3);
	width: calc(50vw + 150px);
	float: left;
	height: 1px;
}

.program_title1b {
	border-right: 1px dashed rgba(0,0,0,.3);
	width: 50%;
	float: left;
	height: 50px;
}

.program_img_wrapper {
	text-align:center; 
	height:350px;
}

.program_img_container {
	width:642px;
	height:350px;
	background-color:transparent;
	position:absolute;
	left:0;
	margin-left:calc(50vw - 521px);
	margin-top:-30px;
}

.img_prog_1 {
	position:absolute;
	top:30px;
	right:0;
}

.img_prog_2 {
	position:absolute;
	top:0;
	left:0;
}

.program_img_copy {
	position:absolute;
	width:280px;
	text-align:left;
	box-sizing: border-box;
	font-family: 'proxima-nova', "Helvetica Neue", Helvetica, Arial, "sans-serif";
	font-size:16px;
	line-height:24px;
	font-weight:400;
	color:#000000;
	padding:0 0 0 0;
	right:0;
	margin-right:calc(50vw - 450px);
}

.program_img_header, .program_more_header {
	width:100%;
	text-align:left;
	box-sizing: border-box;
	font-family: 'proxima-nova', "Helvetica Neue", Helvetica, Arial, "sans-serif";
	font-size:22px;
	line-height:32px;
	font-weight:800;
	color:#007EBD;
	padding:0 0 15px 0;
	letter-spacing: 2px;
}

.program_more {
	width:100%;
	max-width:1280px;
	margin:0 auto 0 auto;
	background-color:#0088ce;
	padding:50px;
	height:470px;
}

.program_more_header {
	text-align:center;
	color:#ffffff;
	padding:0 0 50px 0;
}

.program_more_1, .program_more_2, .program_more_3 {
	float:left;
	width:33%;
	box-sizing: border-box;
	color:#ffffff;
	text-align: center;
	font-family: 'proxima-nova', "Helvetica Neue", Helvetica, Arial, "sans-serif";
	font-size:14px;
	line-height:22px;
	padding:0 30px 0 30px;
	height:280px;
}

.program_more_2 {
	width:34%;
	border-left:1px solid #33a0d8;
}

.program_more_3 {
	float:right;
	border-left:1px solid #33a0d8;
}

.program_more_1 h1, .program_more_2 h1, .program_more_3 h1 {
	font-family: 'proxima-nova', "Helvetica Neue", Helvetica, Arial, "sans-serif";
	font-size:24px;
	line-height:28px;
	font-weight:800;
	padding:10px 0 15px 0;
	letter-spacing: 2px;
} 

.program_more_a {
	height:75px;
	margin:0 auto 0 auto;
	padding:0;
	text-align:center;
	background-image:url(../img/program_bkgd.jpg);
	background-repeat:no-repeat;
	background-position:top center;
}

.program_enroll {
	width:100%;
	text-align:center;
}

.program_enroll_header, .program_enroll_body {
	width:650px;
	box-sizing: border-box;
	font-family: 'proxima-nova', "Helvetica Neue", Helvetica, Arial, "sans-serif";
	color:#000000;
	text-align:center;
	margin:0 auto 0 auto;
}

.program_enroll_header {
	padding:30px 0 10px 0;
	font-size:22px;
	line-height:40px;
	font-weight:800;
	letter-spacing: 4px;
}

.program_enroll_body {
	padding:10px 0 10px 0;
	font-size:14px;
	line-height:22px;
	font-weight:400;
}

.program_hr {
	width:1200px; 
	height:1px; 
	margin:40px auto 40px auto; 
	box-sizing: border-box;  
	border-top:1px solid #cccccc;
}

.account_info {
	width:100%;
	max-width:1200px; 
	margin:0 auto 0 auto; 
	padding:50px;
}

.account_info_left, .account_info_right {
	width:50%; 
	box-sizing: border-box;
	font-family: 'proxima-nova', "Helvetica Neue", Helvetica, Arial, "sans-serif";
	color:#000000;
	font-size:14px;
	line-height:21px;
	font-weight:400;
	letter-spacing: 1px;
}
.account_info_left {
	float:left; 
	text-align:left;
}

.account_info_right {
	float:right; 
	text-align:right;
}

.account_info_left h2 {
	font-size:36px;
	line-height:40px;
	font-weight:800;
	letter-spacing:2px;
	margin:0;
	padding:0;
}

.account_info_right h2 {
	font-size:24px;
	line-height:40px;
	font-weight:800;
	letter-spacing:2px;
	margin:0;
	padding:0;
	color:#0088ce;
}

.account_more {
	width:1200px;
	margin:0 auto 0 auto;
	padding:40px 0 20px 0;
}

.account_more_left, .account_more_right {
	width:520px;
	box-sizing: border-box;
	font-family: 'proxima-nova', "Helvetica Neue", Helvetica, Arial, "sans-serif";
	color:#000000;
	font-size:14px;
	line-height:21px;
	font-weight:400;
	letter-spacing: 1px;
	text-align:center;
}

.account_more_left h1, .account_more_right h1 {
	font-size:28px;
	line-height:32px;
	letter-spacing: 2px;
	font-weight:800;
	padding:20px 20px 10px 20px;
}

.account_more_left p, .account_more_right p {
	padding:0 20px 20px 20px;
	margin:0;
}

.account_more_left {
	float:left;
}

.account_more_right {
	float:right;
}

.account_more_container {
	width:520px;
	height:300px;
	position:relative
}

.img_account_1a {
	position:absolute;
	bottom:0;
	right:0;
}

.img_account_1b {
	position:absolute;
	top:0;
	left:0;
}

.img_account_2a {
	position:absolute;
	bottom:0;
	left:0;
}

.img_account_2b {
	position:absolute;
	top:0;
	right:0;
}

.faq_header {
	padding:40px 30px 20px 100px;
}

.labs_header {
	padding:20px 30px 30px 20px;
}

.container_labs, .container_points {
	width:1040px;
	margin:0 auto 0 auto;
	padding:20px 0 20px 0;
	box-sizing: border-box;
}

.container_points {
	width:1200px;
}

.labs_window, .points_window {
	width:100%;
}

.labs_window tr:nth-child(even), .points_window tr:nth-child(even) {
	background: #f5fcff;
}

.labs_window th, td, .points_window th, td { 
	white-space: nowrap;
}

.labs_top, .points_top, .labs_body, .points_body {
	width:100%;
	box-sizing: border-box;
	font-family: 'proxima-nova', "Helvetica Neue", Helvetica, Arial, "sans-serif";
	letter-spacing: 1px;
	text-align:left;
}

.labs_top th, .points_top th {
	color:#999999;
	font-size:14px;
	line-height:18px;
	font-weight:800;
	border-bottom:1px solid #92bdd0;
	padding:0 10px 10px 10px;
	box-sizing:border-box;
}

.sortclass {
	width:12px; 
	height:12px; 
	display:inline; 
	padding:0 0 2px 0; 
	cursor:pointer
}

.labs_body, .points_body {
	color:#000000;
	font-size:13px;
	line-height:26px;
	font-weight:100;
	border-bottom:1px solid #92bdd0;
}

.labs_body td, .points_body td {
	color:#000000;
	font-size:13px;
	line-height:26px;
	font-weight:400;
	padding:0 10px 0 10px;
	border-bottom:1px solid #92bdd0;
}

.points_window tr td:nth-child(1) {
  	padding:7px 0 7px 7px;
}

.checkmark_container {
	display: block;
  	position: relative;
  	padding:7px 0 7px 0;
  	cursor: pointer;
  	font-size: 20px;
  	-webkit-user-select: none;
  	-moz-user-select: none;
  	-ms-user-select: none;
  	user-select: none;
}

.checkmark_container input {
  	position: absolute;
  	opacity: 0;
  	cursor: pointer;
}

.points_checkmark {
  	position: absolute;
  	top: 0;
  	left: 0;
  	height: 20px;
  	width: 20px;
  	background-color: #ffffff;
	border:1px solid #cccaca;
	border-radius:4px;
}

.points_checkmark:after {
  	content: "";
  	position: absolute;
  	display: none;
}

.points_highlight td {
  background:#fffcda;
}

.checkmark_container input:checked ~ .points_checkmark:after {
  	display: block;
}

.checkmark_container .points_checkmark:after {
 	left: 6px;
  	top: 2px;
  	width: 7px;
  	height: 12px;
  	border: solid #000000;
  	border-width: 0 2px 2px 0;
  	-webkit-transform: rotate(45deg);
  	-ms-transform: rotate(45deg);
  	transform: rotate(45deg);
}

.lab_state {
	width:100px;
}

.lab_zip {
	width:100px;
}

.lab_city {
	width:250px;
}

.lab_date {
	width:200px;
}

.points_select {
	width:30px;
}

.points_ship_date {
	width:120px;
}

.points_earn_type {
	width:120px;
}

.points_invoice {
	width:130px;
}

.points_location {
	width:100px;
}

.points_ship {

}

.points_lab {
	width:200px;
}

.points_total {
	width:90px;
}

.points_details {
	width:115px;
}

.points_counter {
	color:#ffffff !important; 
	background:#0088ce; 
	border:0; 
	width:15px; 
	text-align:right
}

.labs_window tr td:nth-child(1),
.labs_window tr td:nth-child(2),
.labs_window tr td:nth-child(3),
.labs_window tr td:nth-child(4),
.points_window tr td:nth-child(2),
.points_window tr td:nth-child(3),
.points_window tr td:nth-child(4),
.points_window tr td:nth-child(5),
.points_window tr td:nth-child(6),
.points_window tr td:nth-child(7),
.points_window tr td:nth-child(8) {
border-right:1px solid #92bdd0;
}

.terms_body, .privacy_body, .contact_body {
	width:100%;
	font-family: 'proxima-nova', "Helvetica Neue", Helvetica, Arial, "sans-serif";
	text-align:left;
	font-size:13px;
	line-height:21px;
	color:#000000;
}

.privacy_body {
	padding:0 20px 0 100px;
}

.terms_body {
	width:100%;
	padding:0 30px 0 70px;
}

.terms_body li {
	padding:0 0 20px 0;
	list-style-position:outside;
}

.priv_copy_heading {
	font-weight:bold;
	padding-bottom:10px !important;
	display:inline-block;
}

.contact_wrapper {
	border-bottom:1px solid #cccccc;
	padding:0 0 50px 0;
}
.contact_body {
	padding:0 0 0 100px;
	box-sizing: border-box;
}

.contact_txt {
	float:left;
	width:65%;
	padding:0 30px 0 0;
}

.contact_box {
	float:right;
	width:380px;
	height:325px;
	background-image:url(../img/contact_bkgd.jpg);
	text-align:center;
	padding:70px 60px;;
}

.contact_box_1, .contact_box_2 {
	width:100%;
	font-family: 'proxima-nova', "Helvetica Neue", Helvetica, Arial, "sans-serif";
	text-align:center;
	color:#ffffff;
	font-weight:800;
	box-sizing: border-box;
	letter-spacing: 1px;
}
.contact_box_1 {
	font-size:20px;
	line-height:20px;
	padding:0 0 20px 0;
}

.contact_box_2 {
	font-size:16px;
	line-height:23px;
	padding:0 0 15px 0;
}

.contact_1 {
	width:40%;
	float:left;
	padding:20px 0 0 0;
}

.contact_2 {
	width:30%;
	float:left;
	padding:20px 0 0 0;
}

.contact_3 {
	width:30%;
	float:right;
	padding:20px 0 0 0;
}

.enroll_wrapper {
	width:520px;
	padding:50px 30px 50px 100px;
	box-sizing: border-box;
}

.enroll_title, .enroll_title2, .enroll_body {
	width:100%;
	font-family: 'proxima-nova', "Helvetica Neue", Helvetica, Arial, "sans-serif";
	text-align:left;
	font-size:20px;
	line-height:25px;
	color:#000000;
	font-weight:700;
	box-sizing: border-box;
	letter-spacing: 2px;
}

.enroll_title {
	padding:20px 0 20px 0;
}

.enroll_title2 {
	padding:20px 0 0 0;
}

.enroll_body, .points_copy {
	font-size:13px;
	line-height:21px;
	font-weight:400;
	letter-spacing: 0;
}

.points_copy {
	text-transform: none;
	width:60%;
	padding:20px 0 0 0;
}

.account_alert {
	background-color:#fcf9d2; 
	width:1200px; 
	margin:70px auto 0 auto; 
	height:100px; 
	position:relative; 
	padding:20px 30px 20px 30px; 
	font-weight:bold; 
	font-size:14px; 
	line-height:28px;
}

.points_filter_wrap {
	width:100%;
	padding:20px;
	background-color:#f9f9f9;
	border-top:1px solid #dbdada;
	border-bottom:1px solid #dbdada;
	box-sizing: border-box;
	margin:0 0 20px 0;
}

.points_filter_wrap input {
	width:100%;
	box-sizing: border-box;
	font-family: 'proxima-nova', "Helvetica Neue", Helvetica, Arial, "sans-serif";
	font-size:12px;
	line-height:12px;
	font-weight:300;
	color:#999999;
	padding:10px;
	border-radius:7px;
	display:block;
	-webkit-box-shadow: inset 0 0 0 #ffffff !important;
	-moz-box-shadow: inset 0 0 0 #ffffff !important;
	box-shadow: inset 0 0 0 #ffffff !important;
	outline:none !important;
	border:1px solid #cccccc;
	margin-top:3px;
}
	
.points_filter_1, .points_filter_2, .points_filter_3, .points_filter_4, .points_filter_5, .points_filter_6, .points_filter_7 {
	width:15%;
	float:left;
	padding:0 10px 0 10px;
	box-sizing: border-box;
	font-family: 'proxima-nova', "Helvetica Neue", Helvetica, Arial, "sans-serif";
	text-align:left;
	font-size:12px;
	line-height:12px;
	color:#999999;
	font-weight:700;
	letter-spacing:1px;
}

.points_filter_1 {
	width:8%;
	font-size:14px;
	padding:30px 0 0 0;
}

.points_filter_5a {
	width:2%;
	float:left;
	padding:30px 4px 0 4px;
	box-sizing: border-box;
	font-family: 'proxima-nova', "Helvetica Neue", Helvetica, Arial, "sans-serif";
	text-align:left;
	font-size:14px;
	line-height:14px;
	color:#000000;
	font-weight:100;
	letter-spacing:1px;
	
}

.points_filter_6 {
	padding-top:17px;
}

.points_filter_7 {
	width:14%;
	float:right;
}

/* ==========================================================================
   Error States
   ========================================================================== */

.error1 {
	font-family: 'proxima-nova', "Helvetica Neue", Helvetica, Arial, "sans-serif";
	text-align:left;
	font-size:12px;
	line-height:16px;
	color:#ff0000;
	padding:0 0 5px 0;
}

.error2 {
	width:200px;
	font-family: 'proxima-nova', "Helvetica Neue", Helvetica, Arial, "sans-serif";
	text-align:left;
	font-size:12px;
	line-height:16px;
	color:#ff0000;
	padding:5px 0 5px 0;
	text-transform:none;
}


/* ==========================================================================
   Helper classes
   ========================================================================== */

.hidden {
    display: none !important;
}

.visuallyhidden {
    border: 0;
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
    white-space: nowrap; /* 1 */
}

.visuallyhidden.focusable:active,
.visuallyhidden.focusable:focus {
    clip: auto;
    clip-path: none;
    height: auto;
    margin: 0;
    overflow: visible;
    position: static;
    width: auto;
    white-space: inherit;
}

.invisible {
    visibility: hidden;
}

.clearfix::after, .clearfix::before, .container-fluid::after, .container-fluid::before, .container::after, .container::before, .dl-horizontal dd::after, .dl-horizontal dd::before, .form-horizontal .form-group::after, .form-horizontal .form-group::before, .row::after, .row::before {
    content: " ";
    display: table;
}

a.skip-header {
    padding: 1rem;
    position: absolute;
    top: 0;
    -webkit-transform: translateY(-120%);
    transform: translateY(-120%);
    color: #fff;
    z-index: 999;
}

.ess_custom {
	background-position: right 10px center;
 	background-repeat: no-repeat;
  	background-size: auto 25%;
  	-moz-appearance: none;
  	-webkit-appearance: none;
  	appearance: none;
	background-image:url(../img/arrow_down.jpg);
}

/* ==========================================================================
   RESPONSIVE STYLES
   ========================================================================== */

@media only screen and (max-width: 1279px) {
.brand_wrapper_copy {
	width:100%;
	box-sizing: border-box;
	padding:20px;
}	
}

@media only screen and (max-width: 1200px) {
.account_alert {
	background-color:#fcf9d2; 
	width:100%;
	margin:0; 
	height:auto;
	position:relative; 
	padding:20px 50px 20px 20px; 
	font-weight:bold; 
	font-size:13px; 
	line-height:24px;
}
	
	.account_more {
	width:100%;
	padding:40px 0 20px 0;
	text-align:center;
}

.account_more_left, .account_more_right {
	width:520px;
	display:block;
	float:none;
	margin:0 auto 0 auto;
}
	
.account_more_left {
	padding:0 0 30px 0;
}

.account_more_container {
	width:520px;
	height:300px;
	position:relative
}
	
.contact_txt {
	float:none;
	width:100%;
	padding:0 30px 0 0;
	display:block;
}

.contact_box {
	float:none;
	display:block;
	width:380px;
	height:325px;
	background-image:url(../img/contact_bkgd.jpg);
	text-align:center;
	padding:70px 60px;
	margin-top:30px;
}

.contact_1, .contact_2, .contact_3 {
	width:100%;
	float:none;
	display:block;
}
}
	
@media only screen and (max-width: 959px) {
	
.contact_body {
	padding:0 30px 0 30px;
}
	
.container_labs, .container_points {
	width:100%;
}
	
.labs_wrapper, .points_wrapper {
	width:100%;
	box-sizing: border-box;
	overflow:auto;
}
	
.form_landing {
	display:none;
}
	
.form_landing_mobile {
	display:block;
	padding:30px 30px 55px 30px;
	background-color:#f0f4f5;
}
	
.form_landing_mobile2 {
	display:none;
}
	
.logo_wrap {
	width:790px;
	box-sizing: border-box;
}
	
.logo_1 {
	width:29%;
	padding:0 0 0 20px;
	box-sizing: border-box;
}

.logo_2, .logo_3, .logo_4, .logo_5, .logo_6 {
	padding-top:10px;
	text-align:right;
	box-sizing: border-box;
}
	
.logo_2 {
	width:15%;
}
	
.logo_3 {
	width:11%;
}
	
.logo_4 {
	width:16%;
}
	
.logo_5 {
	width:13%;
}

.logo_6 {
	width:16%;
	padding-right:20px;
	box-sizing: border-box;
}	

.ess_brand {
	width:180px;
	height:54px;
}

.brand1 {
	width:87px;
	height:30px;
}
	
.brand2 {
	width:54px;
	height:30px;
}
	
.brand3 {
	width:90px;
	height:30px;
}
	
.brand4 {
	width:68px;
	height:30px;
}
	
.brand5 {
	width:83px;
	height:30px;
}

.program_title1 {
	padding:25px 20px 15px 20px;
}

.program_img_wrapper {
	text-align:center;
	height:auto;
}
	
.program_img_container {
	width:100%;
	height:auto;
	background-color:transparent;
	position:inherit;
	margin:0
}

.img_prog_1 {
	position:absolute;
	width:85%;
	top:90px;
	margin-right:0;
}

.img_prog_2 {
	position:absolute;
	width:30%;
	top:70px;
	margin:0;
}

.program_img_copy {
	position:relative;
	width:100%;
	padding:0 20px 0 20px;
	margin-top:50%;
	margin-left:0;
	margin-right:0;
	margin-bottom:20px;
}

.program_img_header, .program_more_header {
	width:100%;
	text-align:center;
	box-sizing: border-box;
	font-family: 'proxima-nova', "Helvetica Neue", Helvetica, Arial, "sans-serif";
	font-size:22px;
	line-height:32px;
	font-weight:800;
	color:#007EBD;
	padding:0 0 15px 0;
	letter-spacing: 2px;
}
	
.program_more_header {
	color:#ffffff;
	padding:0 0 15px 0;
}
	
.program_more {
	padding:30px;
	height:auto;
}

.program_more_header {
	text-align:center;
	color:#ffffff;
}

.program_more_1, .program_more_2, .program_more_3 {
	float:none;
	display:block;
	width:100%;
	padding:0 30px 0 30px;
	height:auto;
	border:none;
}
	
.program_more_2, .program_more_3 {
	padding-top:20px;
}

.program_more_1 h1, .program_more_2 h1, .program_more_3 h1 {
	padding:10px 0 10px 0;

} 
	
.program_enroll_header, .program_enroll_body {
	width:100%;
}

.program_enroll_header {
	padding:30px 20px 10px 20px;
	letter-spacing: 2px;
}

.program_enroll_body {
	padding:10px 20px 10px 20px;
}

.program_hr {
	width:90%; 
	height:1px; 
	margin:20px auto 20px auto;
	box-sizing: border-box;  
	border-top:1px solid #cccccc;
}
	
.faq_header {
	padding:30px 30px 20px 30px;
}
	
.terms_header {
	padding:30px 30px 20px 30px;
}
	
.terms_body {
	width:100%;
	padding:0 30px 0 10px;
}

.privacy_body {
	width:100%;
	padding:0 30px 0 30px;
}	
}


@media only screen and (max-width: 800px) {

.form_landing_mobile2 {
	display:none;
}
	
.footer_title {
	font-size:20px;
	line-height:26px;
}
	
.logo_wrap {
	width:100%;
	margin:0;
	box-sizing: border-box;
}	

		
.logo_1 {
	width:100%;
	text-align:center;
	display:block;
	border-right:none;
	border-bottom:1px solid #cccccc;
	padding:0 0 20px 0;
	float:none;
}
	
.logo_2, .logo_3, .logo_4 {
	width:33%;
	padding:10px 0 0 0;
}
	
.logo_2 {
	text-align:right;	
}
	
.logo_3 {
	text-align:center;
}
	
.logo_4 {
	text-align:left;
}

.logo_5, .logo_6 {
	width:50%;
	padding:10px 0 10px 0;
}
	
.logo_5 {
	text-align:right;
	padding-right:5%;
	width:50%;
}
	
.logo_6 {
	text-align:left;
	padding-left:5%;
	width:50%;
}
	
.brand1 {
	width:87px;
	height:30px;
}
	
.brand2 {
	width:54px;
	height:30px;
}
	
.brand3 {
	width:90px;
	height:30px;
}
	
.brand4 {
	width:68px;
	height:30px;
}
	
.brand5 {
	width:83px;
	height:30px;
}	
	
.brand_wrapper {
	padding:0 30px 0 30px;
}
	
.brand_wrapper_copy {
	padding:20px 0 20px 0;
}
}


@media only screen and (max-width: 699px) {
	
.account_info {
	padding:30px;
	position:relative;
}
	
.account_info_left, .account_info_right {
	float:none;
	width:100%;
	display:block;
	text-align:left;

}
	
.account_more {
	width:100%;
	padding:40px 0 20px 0;
	text-align:center;
	height:auto;
	margin:0;
}

.account_more_left, .account_more_right {
	width:100%;
	margin:0 auto 0 auto;
	height:auto;
}
	
.account_more_left {
	padding:0 0 30px 0;
}

.account_more_container {
	width:100%;
	height:60vw;
}
	
.img_account_1a {
	width:85%;
	position:absolute;
	top:10%;
	right:0;
}

.img_account_1b {
	width:30%;
	position:absolute;
	top:0;
	left:0;
}

.img_account_2a {
	width:85%;
	position:absolute;
	top:15%;
	left:0;
}

.img_account_2b {
	width:50%;
	position:absolute;
	top:0;
	right:0;
}

.contact_box {
	width:100%;
	height:325px;
	background-image:url(../img/contact_bkgd.jpg);
	background-position:center;
	background-repeat:no-repeat;
	background-size:cover;
}
	
.enroll_wrapper {
	width:100%;
	padding:30px;
}
	
.enroll {
	width:100%;
	height:auto;
}
	
}

	
@media print,
       (min-resolution: 1.25dppx),
       (min-resolution: 120dpi) {
    /* Style adjustments for high resolution devices */
}

/* ==========================================================================
   Print styles.
   ========================================================================== */

@media print {
    *,
    *:before,
    *:after {
        background: transparent !important;
        color: #000 !important;
        box-shadow: none !important;
        text-shadow: none !important;
    }

    a,
    a:visited {
        text-decoration: underline;
    }

    a[href]:after {
        content: " (" attr(href) ")";
    }

    abbr[title]:after {
        content: " (" attr(title) ")";
    }

    a[href^="#"]:after,
    a[href^="javascript:"]:after {
        content: "";
    }

    pre {
        white-space: pre-wrap !important;
    }
    pre,
    blockquote {
        border: 1px solid #999;
        page-break-inside: avoid;
    }

    /*
     * Printing Tables:
     */

    thead {
        display: table-header-group;
    }

    tr,
    img {
        page-break-inside: avoid;
    }

    p,
    h2,
    h3 {
        orphans: 3;
        widows: 3;
    }

    h2,
    h3 {
        page-break-after: avoid;
    }
}
