/*font-family: 'Open Sans', sans-serif; */

/* HTML */
* { 
	padding:0; 
	margin:0; 
}

html {
	-webkit-font-smoothing: antialiased;
}

body {
	font-size:24px;
	font-family: 'Open Sans', sans-serif;
}

a { 
	outline:none; 
	text-decoration:none;
	color:#1a78b6;
}

a img { 
	border:none;
}

h1, h2, h3, h4, h5 {
	padding:0; 
	margin:0; 
}

hr {
	border: 0;
    height: 0;
	margin:35px auto;
    border-top: 1px solid #e5e5e5;
    border-bottom: 1px solid #e5e5e5;
}

/* Desktop */
.desktop {
	display:block;
}
	
.mobile {
	display:block;
}

/* Buttons & Links */
.btn {
	display:inline-block;
	padding:12px 100px;
	color:#ffffff;
	font-size:24px;
	background-color:#1a78b6;
	border-radius:10px;
	border:none;
}

.pointer-right {
	color:#1a78b6;
	padding-right:20px;
	background:url(../images/link--pointer.png) no-repeat right center;
}

/* Form Elements */
input[type="email"], 
input[type="tel"],
input[type="password"],
input[type="text"],
textarea {
	background-color:#eeeeee;
	border:none;
	font-size:34px;
	padding:6px 10px 5px;
	border:1px solid #cdcdcd;
	font-weight:300;
	font-family: 'Open Sans', sans-serif;
}

.input-error input[type="email"], 
.input-error input[type="tel"],
.input-error input[type="password"],
.input-error input[type="text"],
.input-error textarea.error {
	border-color:#ed2528;
}

.input-ok input[type="email"], 
.input-ok input[type="tel"],
.input-ok input[type="password"],
.input-ok input[type="text"],
.input-ok textarea {
	border-color:#8bc53f;
}

label {
	font-size:16px;
	display:block;
}

.row--field {
	position:relative;
}

.row--field.input-error::after {
	content:"";
	display:block;
	clear:both;
	position:absolute;
	right:15px;
	bottom:64px;
	z-index:5;
	width:14px;
	height:14px;
	background:url(../images/input--error.png) no-repeat left top;
}

.row--field.input-error .message {
	color:#ed2528;
	font-size:16px;
}

.row--field.input-ok::after {
	content:"";
	display:block;
	clear:both;
	position:absolute;
	right:15px;
	bottom:40px;
	z-index:5;
	width:18px;
	height:14px;
	background:url(../images/input--ok.png) no-repeat left top;
}

.radiobutton input[type="radio"] {
 	display:none;
}

.radiobutton label {
	display:inline-block;
}

.radiobutton input[type="radio"] + label span {
   	display:inline-block;
	margin:0 8px -4px 0;
    height:21px;
	width:21px;
    background:url(../images/input--radiobutton.png) left top no-repeat;
}

.radiobutton input[type="radio"]:checked + label span {
	background-position:left bottom;
}


.select {
	line-height:1;
	background:url(../images/form-select-button.gif) no-repeat right center;
	-moz-appearance: none; 
	-webkit-appearance: none; 
   	height:60px;
   	width:340px;
	overflow:hidden;
}

.select select {
	background: transparent;
   	border:1px solid #d0d0d0;
   	font-size:22px;
   	height:60px;
   	padding:8px 10px;
   	width:368px;
	color:#949595;
}

/* Header */
#header {
	display:table;
	position:fixed;
	z-index:10;
	top:0;
	width:100%;
	color:#ffffff;
	background-color:rgba(0, 0, 0, .9);
}

#header .menu {
	position:relative;
	width:25%;
	vertical-align:middle;
	display:table-cell;
}

#header .menu-item {
	display:table-cell;
	vertical-align:middle;
}

#header .menu--hamburger-icon {
	padding:0 22px;
	height:76px;
}

#header .menu--hamburger-icon .opener {
	float:left;
	width:37px;
	height:31px;
	position:relative;
	text-indent:-9999px;
	overflow:hidden;
	z-index:15;
}

#header .menu--hamburger-icon .opener:before,
#header .menu--hamburger-icon .opener:after,
#header .menu--hamburger-icon .opener span {
	background:#fff;
	border-radius:1px;
	position:absolute;
	top:14px;
	left:0;
	right:0;
	height:7px;
	margin-top:-2px; /* height/2 */
	-webkit-transition:all .2s linear;
	transition:all .2s linear;
}

#header .menu--hamburger-icon .opener:before {
	content:"";
	top:2px;
}

#header .menu--hamburger-icon .opener:after {
	content: "";
	top: 26px;
}

#header .menu--hamburger-icon.active {
	background-color:#222222;
}

#header .menu--hamburger-icon.active .opener {
	width:33px;
	padding-right:4px;
	height:33px;	
}

#header .menu--hamburger-icon.active .opener span {
	opacity: 0;
}

#header .menu--hamburger-icon.active .opener:before,
#header .menu--hamburger-icon.active .opener:after {
	top:15px;
	left:-11%;
	right:11%;
	height:5px;
	width:42px;
}

#header .menu--hamburger-icon.active .opener:before {
	-webkit-transform: rotate(45deg);
	-ms-transform: rotate(45deg);
	transform: rotate(45deg);
	
}

#header .menu--hamburger-icon.active .opener:after {
	-webkit-transform: rotate(-45deg);
	-ms-transform: rotate(-45deg);
	transform: rotate(-45deg);
}

#header .menu--notification-icon {
	padding:0 30px;
	height:76px;
}

#header .menu--notification-icon a {
	display:block;
	width:39px;
	height:42px;
	font-size:12px;
	color:#ffffff;
	background:url(../images/menu--notification-icon.png) no-repeat center center;
}

#header .menu--notification-icon a span {
	display:block;
	padding:2px 0 0 27px;
}

#header .logo {
	display:table-cell;
	width:50%;
}

#header.logged-in .logo {
	text-align:center;
	vertical-align:middle;
}

#header .logo img {
	vertical-align:middle;	/* removes bottom padding on images within table-cell */
}

#header .user-options {
	display:table-cell;
	text-align:right;
	vertical-align:middle;
	width:50%;
	font-size:25px;
}

#header .logo,
#header .user-options {
	padding:14px 24px;
}


#header .user-options a {
	color:#ffffff;
}

#header.logged-in .user-options {
	width:25%;
	font-size:16px;
}

#header.logged-in .user-options a {
	color:#1278b9;
	display:inline-block;
	min-height:45px;
	padding-right:55px;
	background:url(../images/header--virtual-card-icon.png) no-repeat right center;
}

/* Navigation */
#nav-drawer {
	display:none;
	position:fixed;
	top:76px;
	left:-600px;
	z-index:20;
	height:100vh;
	background-color:rgba(34, 34, 34, .95);
}

#nav-drawer a {
	color:#ffffff;
	display:block;
	width:100%;
	padding:13px 23px;
}

#nav-drawer ul {
	border-top:1px solid #676767;
	border-right:1px solid #676767;
}

#nav-drawer ul li {
	
	border-bottom:1px solid #676767;
}

#nav-drawer ul li:hover,
#nav-drawer ul li.active {
	background-color:#000000;
}

#nav-drawer ul li a span {
	display:inline-block;
	background-color:#ed2528;
	border-radius: 50%;
	width:30px;
	height:30px;
	text-align:center;
	padding-top:2px;
	line-height:29px;
	font-size:18px;
	margin-left:10px;
}

/* Footer*/
#footer {
	padding:15px 0;
	font-size:14px;
	text-align:center;
	color:#ffffff;
	background-color:#949595;
}

#footer a {
	color:#ffffff;
	text-decoration:none;
}

#footer ul {
	margin-bottom:6px;
}

#footer li {
	padding:0 10px;
	display:inline;
	list-style:none;
	border-right:1px solid #ffffff;
}

#footer li:last-child {
	border-right:none;
}

/* Content Between Header & Footer */
#content-wrapper {
	position:relative;
	min-height:500px;
	padding-top:187px;
}

.content .box {
	position:relative;
	border:1px solid #acadad;
	border-radius:5px;
	padding:37px;
	margin-bottom:20px;
}

/* Home Page */
.home #content-wrapper {
	padding-top:0;
}

.home .content--hero {
	position:relative;
	width:100%;
	height:100vh;
	background:url(../images/home--main-image.jpg) no-repeat center top;
	background-size:cover;
	-ms-behavior: url(css/backgroundsize.min.htc);
}

.home .content--hero .white-bar {
	position:absolute;
	z-index:5;
	bottom:0;
	width:100%;
	padding-top:10px;
	background-color:rgba(255, 255, 255, .5);
}

.home .content--hero .white-bar .inner {
	padding:35px 9% 15px 9%;
	margin:0 auto;
	background-color:#ffffff;
}

.home .content--hero .white-bar h1 {
	font-weight:600;
	font-size:42px;
	width:60%;
}

.home .content--hero .white-bar h2 {
	font-weight:300;
	font-size:34px;
	width:60%;
}

.home .content--hero .white-bar .btn {
	position:absolute;
	right:9%;
	top:68px;
}

.home .content--hero .read-more {
	text-align:center;
	padding:10px 0;
	font-size:18px;
	color:#979797;
	background:url(../images/home--read-more.png) no-repeat center bottom;
}

.home .content--sign-up {
	padding:85px 0 15px 0;
	text-align:center;
	background-color:#f3f8fb;
}

.home .content--sign-up h2 {
	font-weight:600;
	font-size:42px;
}

.home .content--sign-up h3 {
	font-weight:300;
	font-size:34px;
}

.home .content--sign-up .list {
	width:700px;
	min-height:590px;
	margin:0 auto 30px auto;
	text-align:left;
	font-size:26px;
	background:url(../images/home--phone.png) no-repeat left top;
}

.home .content--sign-up .list ul {
	list-style-image:url(../images/list--bullet.png);
	padding:148px 0 0 375px;
}

.home .content--sign-up .list li {
	padding-bottom:12px;
}

.home .content--sign-up .read-more {
	text-align:center;
	padding:10px 0;
	font-size:18px;
	color:#979797;
	background:url(../images/home--read-more.png) no-repeat center bottom;
}

.home .content--get-card {
	padding:85px 0 85px 0;
	text-align:center;
}

.home .content--get-card p {
	color:#444444;
	width:450px;
	margin:30px auto;
}

.home .content--get-card h3 {
	font-weight:300;
	font-size:34px;
	padding-bottom:50px;
}

.home .content--get-card .btn-container {
	padding-top:20px;
}

/* Register Page, Login Page */
.register .content--register-form,
.login .content--login-form {
	width:557px;
	margin:0 auto;
	padding-bottom:100px;
}
.register .content--register-form h2,
.login .content--login-form h2 {
	font-weight:600;
	font-size:42px;
	text-align:center;
	padding-bottom:50px;
}

.login .content--login-form h4 {
	font-size:30px;
	font-weight:300;
	text-align:center;
}

.register .content--register-form input[type="password"],
.register .content--register-form input[type="text"],
.login .content--login-form input[type="password"],
.login .content--login-form input[type="text"],
.login .content--login-form input[type="tel"] {
	width:calc(100% - 22px);
}

.login .content--login-form .row--field,
.register .content--register-form .row--field {
	padding-bottom:15px;
}

.login .content--login-form .btn-container,
.register .content--register-form .btn-container {
	padding-top:40px;
	text-align:center;
}

.login .content--login-form p,
.register .content--register-form p {
	padding-top:30px;
	text-align:center;
}

/* Register Enter Code Page */
.register-enter-code .content--register-form {
	width:700px;
}

.register-enter-code .content--register-form .row--field {
	width:557px;
	margin:0 auto;
}