/*
Theme Name: TPWD Barebones
Theme URI: http://www.elementlms.com
Author: The Element team
Author URI: http://www.elementlms.com/
Description: TPWD Site Theme
Requires at least: 5.3
Tested up to: 6.2
Requires PHP: 7.4
Version: 2.0
Text Domain: tpwd-barebones
*/

/* http://meyerweb.com/eric/tools/css/reset/
v2.0 | 20110126
License: none (public domain)
*/

html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
}

html {
	overflow-y: scroll;
	overflow-x: hidden;
}


/* HTML5 display-role reset for older browsers */

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
	display: block;
}

body {
	line-height: 1;
}

ol, ul {
	list-style: none;
}

blockquote, q {
	quotes: none;
}

blockquote:before, blockquote:after, q:before, q:after {
	content: '';
	content: none;
}

table {
	border-collapse: collapse;
	border-spacing: 0;
}


/* !Global styles -------------------------- */

*, *:before, *:after {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	background-repeat: no-repeat;
	position: relative;
	list-style: none;
}

body, .entry, .entry p {
	font-family: 'Roboto', arial, sans-serif;
	font-weight: 300;
	font-size: 16px;
	line-height: 1.4em;
	color: #4d4d4d;
}

p {
	padding: 0 0 15px 0;
}

a, a:link, a:visited {
	color: #0066cc;
	text-decoration: none;
	font-weight: normal;
}

a:hover {
	text-decoration: underline;
}

strong, b, .strong, .bold {
	font-weight: bold;
}

h1, h2 {
	line-height: 1em;
	font-size: 2.5em;
}

h3 {
	font-size: 1.75em;
	padding: 0 0 15px;
	line-height: 1.2em;
}

.site-title, .site-description, .menu-toggle, .entry-footer {
	display: none;
}


/* !Buttons ----------- */

.button, a.button, .button-orange, .button-green, .button-blue, .button-red, a.button-orange, a.button-green, a.button-blue, a.button-red, button.button-orange, button.button-green, button.button-blue, button.button-red {
	color: inherit;
	background-color: #ddd;
	text-decoration: none;
	-webkit-border-radius: 5px;
	-moz-border-radius: 5px;
	border-radius: 5px;
	display: inline-block;
	padding: 9px 15px 9px;
	font-size: 1em;
	font-weight: normal;
	border: 0;
	line-height: 1;
}

.button:hover, a.button:hover, .button:focus, a.button:focus {
	opacity: .8;
}

.button-orange, a.button-orange, button.button-orange {
	background: #FFA500;
	color: #fff;
	text-decoration: none;
	border: 0;
	-webkit-font-smoothing: antialiased;
}

.button-orange:hover .button-orange:focus, a.button-orange:hover, a.button-orange:focus, button.button-orange:hover, button.button-orange:focus {
	opacity: .75;
}

.button-green, a.button-green, button.button-green {
	background: #86B22D;
	color: #fff;
	border: 0;
	top: 1px;
	padding: 9px 15px 9px !important;
	-webkit-font-smoothing: antialiased;
}

.button-green:hover, .button-green:focus, a.button-green:hover, a.button-green:focus, button.button-green:hover, button.button-green:focus {
	opacity: .75;
}

.button-blue, a.button-blue, button.button-blue {
	background: #bbb;
	color: #fff;
	border: 0;
}

.button-blue:hover, .button-blue:active, a.button-blue:hover, a.button-blue:active, button.button-blue:hover, button.button-blue:active {
	opacity: .75;
}

.button-red, a.button-red, button.button-red {
	background: #ff0000;
	color: #fff;
	border: 0;
}

.button-red:hover, .button-red:focus, a.button-red:hover, a.button-red:focus, button.button-red:hover, button.button-red:focus {
	opacity: .75;
}

.button-blue, a.button-blue, button.button-blue {
	background: #0066CC;
	color: #fff;
	border: 0;
}

.button-blue:hover, .button-blue:focus, a.button-blue:hover, a.button-blue:focus, button.button-blue:hover, button.button-blue:focus {
	opacity: .75;
}

a.button-green.disabled, a.button-blue.disabled, a.button-red.disabled, a.button-orange.disabled {
	background: #999999;
	cursor: not-allowed;
}


/*  !Inputs  */

input[type="text"], input[type="email"], input[type="password"], input[type="number"] {
	border: 1px solid #bbb;
	height: 32px;
	-webkit-border-radius: 4px;
	-moz-border-radius: 4px;
	border-radius: 4px;
	padding: 0 10px;
	font-size: 0.9em;
}

input[type="text"]:focus, input[type="email"]:focus, input[type="password"]:focus input[type="number"]:focus {
	border: 1px solid #0084C8;
}

textarea {
	border: 1px solid #ddd;
	-webkit-border-radius: 4px;
	-moz-border-radius: 4px;
	border-radius: 4px;
}

textarea:focus {
	border: 1px solid #0084C8;
}

select {
	font-size: 16px;
	font-family: inherit;
	height: 31px;
}

/*--------------------------------------------------------------
# Accessibility
--------------------------------------------------------------*/
/* Text meant only for screen readers. */
.screen-reader-text {
	clip: rect(1px, 1px, 1px, 1px);
	position: absolute !important;
	height: 1px;
	width: 1px;
	overflow: hidden;
	word-wrap: normal !important; /* Many screen reader and browser combinations announce broken words as they would appear visually. */
}

.screen-reader-text:focus {
	background-color: #f1f1f1;
	border-radius: 3px;
	box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
	clip: auto !important;
	color: #21759b;
	display: block;
	font-size: 14px;
	font-size: 0.875rem;
	font-weight: bold;
	height: auto;
	left: 5px;
	line-height: normal;
	padding: 15px 23px 14px;
	text-decoration: none;
	top: 5px;
	width: auto;
	z-index: 100000; /* Above WP toolbar. */
}

/* Do not show the outline on the skip link target. */
#content[tabindex="-1"]:focus {
	outline: 0;
}

/* !Headers ------------------------------- */

.site-header-box {
	height: inherit !important;
	background-color: white !important;
}

.site-topnav {
	background-color: #000;
	height: 30px;
	min-width: 320px;
}

.site-topnav a {
	display: block;
	text-decoration: none;
	margin: auto;
	padding-top: 5px;
	width: 238px;
}

.site-topnav img {
	height: 18px;
}

.site-hero {
	margin: 0 auto;
	text-align: center;
	background-color: #e5e5e5;
    padding-bottom: 20px;
}

.hero-wrapper {
	width: 1220px;
	margin: auto;
}

.account-login {
	position: absolute;
	right: 0;
	margin: 25px 15px 0 0;
}

.account-login span {
	display: inline-block;
	color: #666666;
	font-family: Arial;
	font-size: 12px;
	font-weight: 700;
}

.account-login span a {
	display: block;
	padding: 8px;
	width: 140px;
	color: #5f5e5e;
	text-align: center;
	background-color: #f2f2f2;
	z-index: 1;
}

.account-login span a:hover {
	text-decoration: none;
}

.site-hero h1 {
	padding-top: 90px;
	text-transform: uppercase;
	font-weight: bold;
	font-size: 48px;
}

p.sub {
	font-size: 24px;
	margin-top: 15px;
	font-weight: 100;
}

.cta {
	text-align: center;
	margin-top: 20px;
}

.cta a {
	padding: 10px 30px;
	color: #ffffff;
	background-color: #339900;
	width: 190px;
	text-transform: uppercase;
	font-size: 12px;
}

.cta a:hover {
	text-decoration: none;
	background-color: #336600;
}

.hero-links {
	border-top: 1px solid #AEAEAE;
	padding-top: 15px;
	margin: 0 auto;
	margin-top: 10px;
	width: 840px;
	text-align: center;
}

.hero-links h2 {
	font-size: 16px;
}

.h-links {
	margin-right: auto;
	margin-left: auto;
    text-align:center;
}

.h-link {
	display:inline-block;
	padding: 10px;
	width: 240px;
	text-align: center;
}

.h-link a {
	display: block;
	padding: 10px 10px;
	color: #ffffff;
	background-color: #0097dc;
	font-size: 14px;
	text-transform: uppercase;
}

.h-link a:hover {
	background-color: #1782b2;
	text-decoration: none;
}

.site-interior-hero {
	min-height: 110px;
	text-align: left;
	max-width: 1020px;
	margin: 0 auto;
	padding: 0 40px 0px;
	margin-top: 20px;
	margin-bottom: 10px;
}

.interior-logo {
	float: left;
	width: 90px;
	margin-right: 20px;
}

div.cmb-type-password div.cmb-td {
	width: 370px;
}

div.cmb-type-password div.cmb-td p span.alignleft, div.cmb-type-password div.cmb-td input#register_password_pass1, div.cmb-type-password div.cmb-td input#register_password_pass2 {
	width: 100%
}

div.cmb-type-password div.cmb-td p span.alignleft:first-child {
	margin-bottom: 30px;
}

small.tpwd_error_diff_pwd {
	display: block;
	background-color: #ef5555;
	color: #fff;
	padding: 5px;
	margin: 5px 0;
	text-align: center;
	border-radius: 3px;
}

.interior-logo img {
	width: 90px;
}

.interior-nav li a {
	background-color: #f2f2f2;
	float: left;
	padding: 8px 15px;
	margin-right: 10px;
	border: 1px solid #BCBCBC;
	color: black;
	font-size: 14px;
}

.interior-nav li.green a {
	background-color: #49B04F;
	border: 1px solid #5AB65D;
	color: white;
}

.interior-nav li a:hover {
	text-decoration: none;
}

.interior-title h2 {
	color: black;
	font-size: 24px;
	font-weight: bold;
	padding-top: 0px;
	padding-bottom: 15px;
}

.interior-title a:hover {
	text-decoration: none;
}

.site-top-interior-nav a {
	text-transform: uppercase;
	font-size: 14px;
	color: black;
	margin: 5px;
}

.site-top-interior-nav a.topbutton {
	text-transform: capitalize;
	padding: 10px 12px;
	color: #5f5e5e;
	background-color: #f2f2f2;
	font-family: Arial;
	font-size: 14px;
	margin-left: 5px;
	margin-right: 0;
}

.site-top-interior-nav a.topbutton:hover {
	text-decoration: none;
	background-color: #eaeaea;
}

.site-top-interior-nav {
	float: right;
}

.interior-title {
	clear: right;
}

@media only screen and (max-width: 700px) {
	.interior-logo {
		float: left;
		width: 70px;
		margin-right: 20px;
	}
	.interior-logo img {
		width: 70px;
	}
	.interior-title {
		height: 70px;
	}
	.interior-title h2 {
		color: black;
		font-size: 24px;
		font-weight: bold;
		padding-top: 20px;
		padding-bottom: 0;
	}
	#primary-menu {
		text-align: center;
		display: flex;
		width: 100%;
		margin-top: 20px;
	}
	.site-interior-hero {
		padding: 0 20px 20px;
	}
}


/* !My account pages ------------------------------- */

.section-title {
	font-weight: bold;
	margin: 40px 0;
	padding: 0 0 5px;
	border-bottom: 1px solid #bbb;
}

.post-17.logged-in .entry-content, .page-id-57.logged-in .entry-content {
	width: auto;
	margin: 0;
}

.tpwd-dob label {
	display: block;
}

.tpwd-city-state {
	display: table;
}

.tpwd-city, .tpwd-state {
	display: table-cell;
	padding-right: 5px;
}


/* !Footer */

footer {
	clear: both;
	display: block;
	background-color: #EEE;
	font-family: 'Roboto', arial, sans-serif;
	padding: 20px;
}


/* !Products */

.woocommerce-placeholder {
	display: none !important;
}

p.woocommerce-thankyou-order-received {
	font-size: 1.3em;
	padding-top: 0.7em;
	color: green;
}


/* !Mobile first -------------------------------------------------- */

@media only screen and (max-width: 599px) {
	/* !Header ------------- */
	.site-header {
		min-height: 45px;
		background-color: #111;
		padding: 5px 0 0;
	}
	.site-logo {
		display: none;
	}
	.nav-menu {
		overflow: hidden;
	}
	.nav-menu a {
		display: block;
		padding: 0 10px;
		border-left: 1px solid #58595B;
		height: 34px;
		line-height: 33px;
		color: #aaa;
	}
	.nav-menu li:first-child a {
		border: 0;
	}
	.menu-toggle, .main-navigation.toggled ul {
		display: block;
	}
	.menu-toggle {
		margin-left: 10px;
	}
	.main-navigation ul {
		display: none;
	}
	/* !Content ------------- */
	.site-content {
		padding: 0 20px 20px;
	}
	.col-left, .col-right {
		padding: 20px 20px 0;
	}
	/* !Home ------------- */
	.page-hero {
		height: 130px;
	}

	.page-hero h2 {
		color: #fff;
		font-size: 2em;
		position: absolute;
		bottom: 20px;
		left: 20px;
	}
	.course-list-item {
		border: 1px solid #bbb;
		-moz-border-radius: 5px;
		-webkit-border-radius: 5px;
		border-radius: 5px;
		padding: 15px;
		margin-top: 0.5em;
	}
	.site-hero {
		height: initial;
		padding-bottom: 20px;
	}
	.hero-wrapper {
		width: initial;
	}
	.site-hero h1 {
		font-size: 32px;
	}
	p.sub {
		font-size: 16px;
	}
	.hero-links {
		width: initial;
	}
	.hero-links h2 {
		font-size: 14px;
	}
	.h-links {
		width: inherit;
		text-align: center;
		margin-top: 20px;
	}
	.h-link {
		float: none;
		display: initial;
		padding: 0;
	}
	.h-link a {
		margin-bottom: 10px;
	}
	/* !Course home */
	.entry-header {
		display: none;
	}
	.page-title {
		font-size: 2.5em;
		padding: 20px;
	}
	.class-search-box {
		border-top: 1px solid #bbb;
		-moz-border-radius: 5px;
		-webkit-border-radius: 5px;
		border-radius: 5px;
		padding: 30px 0;
	}
	.class-search-current {
		display: block;
		font-size: 2.5em;
	}
	.class-search-button {
		margin: 30px 0 0;
	}
	.class-search-or {
		display: block;
		font-size: 1.75em;
		padding: 30px 10px 0 0;
		background-color: #fff;
		z-index: 1000;
		width: 60px;
	}
	.class-search-zip-box {
		padding: 30px 0 0;
		border-top: 1px solid #ddd;
		margin: -10px 0 0;
	}
	.class-search-zip-box label {
		display: block;
		padding: 0 0 10px;
		font-weight: normal;
	}
	.class-search-zip-box input {
		width: 100%;
	}
	/* !Course results ------------ */
	.page-id-128 h3 {
		padding: 0 20px;
	}
	.page-id-128 h3~a {
		padding: 10px 20px;
		display: block;
	}
	.results-filter-box {
		padding: 0 0 20px;
		border-bottom: 1px solid #bbb;
	}
	.results-filter-box span {
		display: block;
		font-weight: bold;
		padding: 0 0 5px;
	}
	.results-filter-box label {
		font-weight: normal;
	}
	.results-filter-box select {
		margin: 0 0 15px;
	}
	.class-status-box {
		overflow: hidden;
		padding: 20px 0;
		border-top: 1px solid #bbb;
	}
	.class-box {
		border-top: 0;
		padding: 0 0 20px;
	}
	.class-box span {
		display: block;
	}
	.class-date {
		float: left;
		width: 20%;
	}
	.class-date span {
		font-weight: bold;
	}
	.class-time {
		float: left;
		width: 80%;
	}
	.class-location {
		clear: both;
		padding: 10px 0 0;
	}
	.class-status {
		padding: 0 0 10px;
	}
	.class-status .status-open {
		font-size: 1.75em;
		color: #86B22D;
		padding: 10px 0 5px;
	}
	.class-status .status-full {
		font-size: 1.75em;
		color: #FFA500;
		padding: 10px 0 5px;
	}
	.class-actions a:last-child {
		display: block;
		padding: 10px 0 0;
	}
	.pagination {
		padding: 15px 0;
		border-top: 1px solid #bbb;
	}
	.next-page {
		float: right;
		display: inline-block;
	}
	.prev-page {
		float: left;
		display: inline-block;
	}
	/* !Class details ------------ */
	.single-course .site-content {
		padding: 0 20px 20px 20px;
	}
	.single-course .col-left, .single-course .col-right {
		padding: 20px 0 0;
	}
	.single-course .page-title {
		padding: 20px 0 10px;
	}
	.class-id~a {
		display: inline-block;
		padding: 5px 0;
		width: 110px;
	}
	.single-course .class-box {
		padding: 20px 0;
		border: 0;
		overflow: hidden;
	}
	.single-course .class-status {
		border: 1px solid #bbb;
		padding: 15px;
		float: left;
		width: 40%;
		height: 105px;
		-moz-border-radius: 5px 0 0 5px;
		-webkit-border-radius: 5px 0 0 5px;
		border-radius: 5px 0 0 5px;
	}
	.single-course .status-open, .single-course .status-full {
		padding: 0 0 10px;
		display: block;
	}
	.single-course .class-actions {
		float: left;
		width: 60%;
		padding: 15px;
		border: 1px solid #bbb;
		border-left: 0;
		height: 105px;
		-moz-border-radius: 0 5px 5px 0;
		-webkit-border-radius: 0 5px 5px 0;
		border-radius: 0 5px 5px 0;
	}
	.single-course .class-actions a {
		padding: 9px 15px 9px;
		text-align: center;
	}
	.single-course .class-status-registered {
		width: 60%;
		height: 76px;
		float: left;
		padding: 15px;
		border: 1px solid #bbb;
		border-right: 0;
		font-size: 1.75em;
		-moz-border-radius: 5px 0 0 5px;
		-webkit-border-radius: 5px 0 0 5px;
		border-radius: 5px 0 0 5px;
	}
	.single-course .status-registered {
		color: #86B22D;
	}
	.single-course .class-status-registered~.class-actions {
		width: 40%;
		height: auto;
		border-left: 1px solid #bbb;
		-moz-border-radius: 0 5px 5px 0;
		-webkit-border-radius: 0 5px 5px 0;
		border-radius: 0 5px 5px 0;
	}
	.single-course .class-actions a.registered-link {
		padding: 0;
		text-align: left;
	}
	.single-course .class-date-box {
		clear: both;
	}
	.single-course .class-date {
		float: none;
		width: auto;
		display: inline-block;
		font-weight: bold;
	}
	.single-course .class-time {
		float: none;
		width: auto;
		display: inline-block;
	}
	.single-course .class-map-directions {
		display: block;
	}
	.single-course .class-map-map {
		background-color: #eee;
		height: 150px;
		margin: 20px 0;
	}
	/* !Registration ------------- */
	.course-registration label {
		font-weight: normal;
	}
	.reg-account-box {
		padding: 0 20px 30px;
	}
	.account-name, .account-dob, .account-email, .account-password, .account-phone, .account-address, .account-zip {
		margin: 0 0 20px;
	}
	.account-name div, .account-dob div, .account-email div, .account-password div, .account-phone div, .account-address div, .account-zip div {
		display: block;
	}
	.account-name label, .account-dob label, .account-email label, .account-password label, .account-phone label, .account-address label, .account-zip label {
		display: block;
		padding: 0 0 8px;
	}
	.account-name input, .account-dob input, .account-email input, .account-password input, .account-phone input, .account-address input, .account-zip input {
		display: block;
	}
	.account-name div {
		margin: 0 0 15px;
	}
	.account-name input {
		width: 100%;
	}
	.account-name span {
		display: block;
		padding: 5px 0 0;
	}
	.account-dob input {
		display: inline-block;
		width: 60px;
	}
	.account-email input {
		width: 100%;
	}
	.account-phone p, .account-impaired p, .account-email p {
		padding: 5px 0 0;
		font-size: .875em;
	}
	.account-address input {
		width: 100%;
	}
	.account-address input[tabindex="11"] {
		margin: 0 0 10px;
	}
	.account-zip input {
		width: 70px;
	}
	.account-zip input {
		width: 70px;
	}
	.reg-student-box {
		padding: 20px 0;
		border-top: 1px solid #bbb;
	}
	.reg-student-box h3 {
		padding: 0 20px 30px;
	}
	.reg-student-form-box {
		padding: 0 20px 30px 20px;
		display: table;
	}
	.student-form-id-box {
		display: table-cell;
		vertical-align: top;
		padding: 0 10px 0 0;
		border-right: 4px solid #FFA500;
	}
	.student-form-details-box {
		display: table-cell;
		vertical-align: top;
		padding: 0 0 0 15px
	}
	.student-form-id-box span {
		font-weight: bold;
		color: #FFA500;
		display: block;
		font-size: 2em;
	}
	.student-form-id-box a {
		display: block;
		color: #aaa;
		font-size: 1.3em;
		padding: 10px 0 0 3px;
	}
	.student-form-id-box a:hover {
		color: #ff0000;
		text-decoration: none;
	}
	.reg-add-student {
		display: block;
		margin: 0 0 30px 20px;
	}
	.reg-add-student~button {
		margin: 0 20px;
	}
	.reg-review-box {
		padding: 20px 20px 0;
		border-top: 1px solid #bbb;
	}
	.review-total-box span {
		display: block;
		padding: 0 0 15px;
		font-size: 1.500em;
		color: #ff0000;
	}
	.review-order-box {
		padding: 20px 0 0;
	}
	.review-order-box span {
		display: block;
	}
	.review-course {
		font-weight: bold;
	}
	.review-money-box {
		margin: 20px 0 0;
	}
	.review-money-box td {
		padding: 0 20px 5px 0;
	}
	.review-money-box tr:nth-last-child(1) td {
		padding: 10px 20px 5px 0;
		border-top: 1px solid #bbb;
		font-weight: bold;
	}
	.entry-content.checkout {
		margin-top: 2.5em;
	}
	/* !Registration: sections collapsed ------------- */
	.reg-account-box.closed h3 {
		font-size: 1em;
		font-weight: bold;
	}
	.reg-account-box.closed p {
		display: none;
	}
	.reg-account-box.closed .button-orange {
		display: block;
		width: 100px;
		text-align: center;
		margin: 15px 0 0;
	}
	.reg-student-box.closed h3 {
		font-size: 1em;
		font-weight: bold;
	}
	.reg-student-box.closed .button-orange {
		margin: 20px 0 0 20px;
	}
	.reg-student-table {
		width: 90%;
		margin: 0 auto;
	}
	.reg-student-table td {
		padding: 10px;
		font-size: .875em;
		border: 1px solid #bbb;
	}
	.reg-student-table td:first-child {
		background-color: #eee;
	}
	.reg-student-table td:last-child {
		font-weight: bold;
	}
	/* !My account ---------------*/
	.woocommerce-account .woocommerce-MyAccount-navigation {
		display: none;
	}
	.woocommerce-account .woocommerce-MyAccount-content {
		float: none;
		width: 100%;
	}
	.tpwd-fullname span.form-row ,
	.tpwd-dob span.form-row {
		display: block;
		float: none;
	}
	.tpwd-field span.form-row {
		float: none;
	}
	.woocommerce form .form-row-first, .woocommerce form .form-row-last, .woocommerce-page form .form-row-first, .woocommerce-page form .form-row-last {
		width: 100%;
	}
	/* !Footer ------------------ */
	footer a, footer a:link, footer a:visited {
		color: #111;
		font-size: 1em;
	}
	.tpwd-links a {
		display: block;
		padding: 0 0 10px;
	}
}


/* !Desktop styles ---------------------------------------------------------------------------------------- */

@media only screen and (min-width: 600px) {
	/* !Header ------------- */
	button {
		padding: 11px 15px 11px !important;
	}
	.site-header-box {
		height: 80px;
		background-color: #111;
	}
	.site-branding, .main-navigation {
		float: left;
	}
	.site-header {
		max-width: 1020px;
		padding: 0 40px;
		margin: 0 auto;
	}
	.site-logo {
		display: block;
		height: 60px;
		width: 60px;
		padding: 10px 0 0;
	}
	.site-logo img {
		width: 60px;
	}
	.nav-menu {
		overflow: hidden;
		margin: 25px 0 0;
	}
	.nav-menu li {
		float: left;
		position: static
	}
	.nav-menu a {
		display: block;
		padding: 0 20px;
		border-left: 1px solid #58595B;
		height: 34px;
		line-height: 33px;
		color: #aaa;
	}
	.nav-menu li:first-child a {
		border: 0;
	}
	ul#primary-menu {
		position: static;
	}
	.sub-menu {
		background: #111;
		display: none;
		position: absolute;
		z-index: 10;
		padding-bottom: 10px;
	}
	.menu-item-has-children:hover .sub-menu {
		display: block;
	}
	.sub-menu li {
		float: none;
	}
	.sub-menu a {
		border-left: 0;
	}
	button.menu-toggle {
		display: none;
	}
	.menu-main-menu-container {
		display: block;
	}
	/* !Content ------------- */
	#main header {
		display: none;
	}
	.site-content {
		overflow: hidden;
		max-width: 1020px;
		margin: 0 auto;
		padding: 0 40px 20px;
	}
	.col-left {
		padding: 30px 20px 0 0;
	}
	.col-right {
		padding: 30px 0 0 20px;
	}
	.site-content ul li, .site-content ol li {
		margin-left: 0;
		padding-left: 1em;
		list-style: disc inside none;
	}
	/* !Home ------------- */
	.page-hero {
		height: 160px;
		-moz-border-radius: 0px 0px 10px 10px;
		-webkit-border-radius: 0px 0px 10px 10px;
		border-radius: 0px 0px 10px 10px;
	}
	.page-hero h2 {
		color: #fff;
		font-size: 2.5em;
		position: absolute;
		bottom: 20px;
		left: 30px;
		text-shadow: 2px 2px 0px #000;
	}
	.col-left, .col-right {
		float: left;
		width: 50%;
	}
	.course-list-item {
		border: 1px solid #bbb;
		-moz-border-radius: 5px;
		-webkit-border-radius: 5px;
		border-radius: 5px;
		padding: 15px;
		margin: 0 0 15px;
	}
	.course-list-item>a.course-button {
		margin-top: 0.5em;
	}
	.course-title {
		display: block;
	}
	.course-title, .course-info {
		width: 80%;
	}
	.course-info {
		padding: 0;
	}
	.course-button {
		position: absolute;
		top: 15px;
		right: 15px;
	}
	/* !Hunter home page --------------- */
	.body-hunter-ed .page-hero {
		background: #444 url("images/hunter-ed-banner.jpg") no-repeat center center;
		background-size: 940px;
	}
	.body-boater-ed .page-hero {
		background: #444 url("images/boater-ed-banner.jpg") no-repeat center center;
		background-size: 940px;
	}
	.body-bow-hunter-education-overview .page-hero {
		background: #444 url("images/hunter-ed-banner.jpg") no-repeat center center;
		background-size: 940px;
	}
	/* !Course home -------------------- */
	.page-title {
		font-size: 2.5em;
		padding: 30px 20px 0 0;
	}
	.class-search-box {
		border: 1px solid #bbb;
		-moz-border-radius: 5px;
		-webkit-border-radius: 5px;
		border-radius: 5px;
		padding: 30px;
	}
	.class-search-current {
		display: block;
		font-size: 2.5em;
	}
	.class-search-button {
		margin: 30px 0 0;
	}
	.class-search-or {
		display: block;
		font-size: 1.75em;
		padding: 30px 10px 0 0;
		margin-top: 0.4em;
		background-color: #fff;
		z-index: 1000;
		width: 60px;
	}
	.class-search-zip-box {
		padding: 30px 0 0;
		border-top: 1px solid #ddd;
		margin: -10px 0 0;
	}
	.class-search-zip-box label {
		display: block;
		padding: 0 0 10px;
		font-weight: normal;
	}
	.class-search-zip-box input {
		width: 100%;
	}
	.parent-pageid-171 .col-left ul, .parent-pageid-171 .col-left ol {
		margin: 0 0 20px;
	}
	.parent-pageid-171 .col-left ol li, .term-boater-education-instructor-training .col-left li {
		list-style: decimal inside none;
	}
	.class-search-auto-results ul li {
		list-style: none;
	}
	/* !Class results ------------ */
	.page-id-128 .col-left {
		width: 20%;
		padding: 30px 0 0 0;
	}
	.page-id-128 .col-right {
		width: 80%;
		padding: 30px 0 0 0;
	}
	.page-id-128 h3 {
		padding: 30px 0 10px;
	}
	.page-id-128 h3~a {
		display: block;
	}
	.results-filter-box span {
		display: block;
		font-weight: bold;
		padding: 0 0 5px;
	}
	.results-filter-box label {
		font-weight: normal;
	}
	.results-filter-box select {
		margin: 0 0 15px;
	}
	.filter-types {
		overflow: hidden;
	}
	.filter-types div {
		display: block;
		float: left;
	}
	.filter-types div:nth-child(even) {
		clear: both;
		width: 25px;
	}
	.filter-types div:nth-child(odd) {
		width: 120px;
		padding: 0 0 10px;
	}
	.class-search-auto-results {
		border: 1px solid #aaa;
		border-top: none;
	}
	.class-search-auto-results li a {
		display: block;
		padding: 5px 10px;
	}
	.class-box {
		display: table;
		width: 100%;
	}
	.class-box {
		border-top: 0;
		padding: 0 0 20px;
	}
	.class-box span {
		display: block;
	}
	.class-date, .class-time, .class-location, .class-status, .class-actions {
		display: table-cell;
		padding: 15px;
		border: 1px solid #bbb;
		border-right: 0;
		vertical-align: top;
	}
	.class-date {
		width: 11%;
		-moz-border-radius: 5px 0 0 5px;
		-webkit-border-radius: 5px 0 0 5px;
		border-radius: 5px 0 0 5px;
	}
	.class-date span {
		font-weight: bold;
	}
	.class-time {
		width: 22%;
	}
	.class-location {
		width: 31%;
	}
	.class-status {
		width: 16%;
	}
	.class-status .status-open {
		font-size: 1.75em;
		color: #86B22D;
		padding: 0 0 10px;
	}
	.class-status .status-full {
		font-size: 1.75em;
		color: #FFA500;
		padding: 0 0 10px;
	}
	.page-id-128 .class-actions {
		width: 20%;
		border-right: 1px solid #bbb;
		-moz-border-radius: 0 5px 5px 0;
		-webkit-border-radius: 0 5px 5px 0;
		border-radius: 0 5px 5px 0;
	}
	.page-id-128 .class-actions a:last-child {
		display: block;
		padding: 10px 0 0;
	}
	.pagination {
		overflow: hidden;
		padding: 15px 0;
	}
	.next-page {
		float: right;
		display: inline-block;
	}
	.prev-page {
		float: left;
		display: inline-block;
	}
	/* !Class details ------------ */
	.single-course .site-content {
		padding: 0 20px 20px 20px;
		overflow: hidden;
	}
	.single-course .col-left {
		padding: 20px 0 0;
	}
	.single-course .col-right {
		padding: 20px 0 0 30px;
	}
	.single-course .page-title {
		padding: 30px 0 10px;
		width: 65%;
	}
	.class-id~a {
		display: block;
		padding: 5px 0 30px;
		width: 110px;
	}
	.single-course .class-status-box {
		padding: 20px 0;
		border: 0;
		overflow: hidden;
		position: absolute;
		top: 10px;
		right: 20px;
		width: 300px;
	}
	.single-course .class-status {
		border: 1px solid #bbb;
		padding: 15px;
		float: left;
		width: 40%;
		height: 105px;
		-moz-border-radius: 5px 0 0 5px;
		-webkit-border-radius: 5px 0 0 5px;
		border-radius: 5px 0 0 5px;
	}
	.single-course .status-open, .single-course .status-full {
		padding: 0 0 10px;
		display: block;
	}
	.single-course .class-status-registered {
		width: 170px;
		height: 76px;
		float: left;
		padding: 15px;
		border: 1px solid #bbb;
		border-right: 0;
		font-size: 1.75em;
		-moz-border-radius: 5px 0 0 5px;
		-webkit-border-radius: 5px 0 0 5px;
		border-radius: 5px 0 0 5px;
	}
	.single-course .status-registered {
		color: #86B22D;
	}
	.single-course .class-status-registered~.class-actions {
		width: 130px;
		height: auto;
		border-left: 1px solid #bbb;
		-moz-border-radius: 0 5px 5px 0;
		-webkit-border-radius: 0 5px 5px 0;
		border-radius: 0 5px 5px 0;
	}
	.single-course .class-actions {
		float: left;
		width: 60%;
		padding: 15px;
		border: 1px solid #bbb;
		border-left: 0;
		height: 105px;
		-moz-border-radius: 0 5px 5px 0;
		-webkit-border-radius: 0 5px 5px 0;
		border-radius: 0 5px 5px 0;
	}
	.single-course .class-date-box {
		float: left;
		margin: 0 20px 0 0;
		display: table;
	}
	.single-course .class-date {
		width: auto;
		font-weight: bold;
		display: table-cell;
		vertical-align: middle;
	}
	.single-course .class-time {
		width: auto;
		display: table-cell;
		vertical-align: middle;
		border-right: 1px solid #bbb;
		-moz-border-radius: 0 5px 5px 0;
		-webkit-border-radius: 0 5px 5px 0;
		border-radius: 0 5px 5px 0;
	}
	.single-course .class-map-box {
		clear: both;
		display: table;
		width: 100%;
		margin: 80px 0 20px;
		height: 200px;
	}
	.single-course .class-map-info {
		display: table-cell;
		vertical-align: top;
		width: 30%;
		padding: 20px;
		border: 1px solid #bbb;
		border-right: 0;
		-moz-border-radius: 5px 0 0 5px;
		-webkit-border-radius: 5px 0 0 5px;
		border-radius: 5px 0 0 5px;
	}
	.single-course .class-map-directions {
		display: block;
		padding: 15px 0 0;
	}
	.single-course .class-map-map {
		background-color: #eee;
		display: table-cell;
		width: 70%;
		border: 1px solid #bbb;
		-moz-border-radius: 0 5px 5px 0;
		-webkit-border-radius: 0 5px 5px 0;
		border-radius: 0 5px 5px 0;
	}
	/* !Registration ------------- */
	.woocommerce-checkout label {
		font-weight: normal;
	}
	.reg-account-box {
		padding: 30px 0;
	}
	.account-name, .account-dob, .account-email, .account-password, .account-phone, .account-address, .account-city, .account-zip {
		margin: 0 0 50px;
	}
	.account-name div, .account-dob div, .account-email div, .account-password div, .account-phone div, .account-address div, .account-city div, .account-zip div {
		display: block;
	}
	.account-name label, .account-dob label, .account-email label, .account-password label, .account-phone label, .account-address label, .account-city label, .account-zip label {
		display: block;
		padding: 0 0 8px;
	}
	.account-name input, .account-dob input, .account-email input, .account-password input, .account-phone input, .account-address input, .account-city input, .account-zip input {
		display: block;
	}
	.account-name {
		padding: 15px 0 0;
		display: table;
	}
	.account-name div {
		margin: 0 0 15px;
		display: table-cell;
		vertical-align: top;
		padding: 0 15px 0 0;
	}
	.account-name input {
		width: 200px;
	}
	.account-name span {
		display: block;
		padding: 5px 0 0;
	}
	.account-dob input {
		display: inline-block;
		width: 80px;
	}
	.account-email input {
		width: 400px;
	}
	.account-phone p, .account-impaired p, .account-email p {
		padding: 5px 0 0;
		font-size: .875em;
	}
	.account-address input {
		width: 400px;
	}
	.account-address input[tabindex="11"] {
		margin: 0 0 10px;
	}
	.account-zip input {
		width: 70px;
	}
	.account-instructions {
		margin: 1em 0;
	}
	.instructions-wrapper textarea {
		width: 100%
	}
	.reg-student-box {
		padding: 30px 0;
		border-top: 1px solid #bbb;
	}
	.reg-student-form-box {
		padding: 10px 0 30px;
		display: table;
	}
	.student-form-id-box {
		display: table-cell;
		vertical-align: top;
		padding: 0 20px 0 0;
		border-right: 4px solid #FFA500;
	}
	.student-form-details-box {
		display: table-cell;
		vertical-align: top;
		padding: 0 0 0 30px
	}
	.student-form-id-box span {
		font-weight: bold;
		color: #FFA500;
		display: block;
		font-size: 2em;
	}
	.student-form-id-box a {
		display: block;
		color: #aaa;
		font-size: 1.3em;
		padding: 10px 0 0 3px;
	}
	.student-form-id-box a:hover {
		color: #ff0000;
		text-decoration: none;
	}
	.reg-add-student {
		display: block;
		margin: 0 0 30px;
	}
	.reg-review-box {
		padding: 20px 0;
		border-top: 1px solid #bbb;
		overflow: hidden;
	}
	.review-total-box {
		width: 250px;
		float: left;
		padding: 0 30px 0 0;
	}
	.review-total-box span {
		display: block;
		padding: 0 0 15px;
		font-size: 1.500em;
		color: #ff0000;
	}
	.review-order-box {
		width: 300px;
		float: left;
		padding: 0 0 0 30px;
		border-left: 1px solid #bbb;
	}
	.review-order-box span {
		display: block;
	}
	.review-course {
		font-weight: bold;
	}
	.review-money-box {
		margin: 20px 0 0;
	}
	.review-money-box td {
		padding: 0 20px 5px 0;
	}
	.review-money-box tr:nth-last-child(1) td {
		padding: 10px 20px 5px 0;
		border-top: 1px solid #bbb;
		font-weight: bold;
	}
	#add_payment_method #payment, .woocommerce-checkout #payment {
		background: #f8f8f8;
	}
	.woocommerce-checkout #billing_address_2 {
		margin-top: 1.5em;
	}
	#add_payment_method #payment ul.payment_methods li, .woocommerce-checkout #payment ul.payment_methods li {
		list-style: none;
	}
	#add_payment_method #payment div.payment_box p:last-child, .woocommerce-checkout #payment div.payment_box p:last-child {
		padding: 0 0 0 15px;
	}
	.woocommerce #payment #place_order, .woocommerce-page #payment #place_order {
		background-color: #86B22D;
		float: none;
		top: 1px;
	}
	tr.cart_item:first-child td {
		border: 0;
	}
	/* !Registration: sections collapsed ------------- */
	.reg-account-box.closed h3 {
		font-size: 1em;
		font-weight: bold;
	}
	.reg-account-box.closed p {
		display: none;
	}
	.reg-account-box.closed .button-orange {
		position: absolute;
		top: 20px;
		right: 0;
		font-size: .875em;
	}
	.reg-student-box.closed h3 {
		font-size: 1em;
		font-weight: bold;
	}
	.reg-student-box.closed .button-orange {
		position: absolute;
		top: 30px;
		right: 0;
		font-size: .875em;
	}
	.reg-student-table {
		width: 100%;
		margin: 20px 0 0;
	}
	.reg-student-table td {
		padding: 10px;
		font-size: .875em;
		border: 1px solid #bbb;
	}
	.reg-student-table td:first-child {
		background-color: #eee;
	}
	.reg-student-table td:last-child {
		font-weight: bold;
	}
	/* !FAQ ----------------------------------- */
	.page-id-69 .site-content {
		padding: 30px 0 20px;
	}
	.page-id-69 .ul-facts, .page-id-69 .ul-who {
		margin: 0 0 20px;
	}
	.page-id-69 .ul-facts li {
		list-style: inside decimal none;
	}
	.page-id-69 .ul-who li {
		list-style: inside disc none;
	}
	.page-id-69 .site-content h3, .page-id-69 .site-content p, .page-id-69 .site-content li {
		width: 700px;
	}
	/* !Sign in ------------------------------------ */
	.post-17 .entry-content, .page-id-57 .entry-content {
		width: 40%;
		margin: 30px auto 0;
	}
	/* !Footer ------------------------------------- */
	footer {
		text-align: center;
	}
	footer a, footer a:link, footer a:visited {
		color: #111;
		font-size: 0.813em;
	}
	.tpwd-links {
        width: initial;
		margin: 0 auto;
		display: table;
	}
	.tpwd-links a {
		text-align: center;
		padding: 0 10px;
	}
	/* !My account pages ------------------------------- */
	.my-account label {
		display: block;
	}
	.my-account label {
		padding: 0 0 5px;
		font-weight: normal;
	}
	.my-account input {
		margin: 0 0 20px;
		width: 225px;
	}
	.change-email-form input {
		display: block;
	}
	.change-pass-form a {
		display: inline-block;
		padding: 0 0 0 10px;
	}
	.change-personal-form {
		margin: -15px 0 0;
	}
	.change-personal-form input, .change-personal-form label {
		width: 250px;
	}
	.change-personal-form .account-name input {
		margin: 0;
	}
	.change-personal-form .account-dob input {
		width: 50px;
	}
	.change-personal-form .account-zip input {
		width: 100px;
	}
	.myaccount-section-hidden {
		display: none;
	}
	.myaccount-email, .myaccount-personal {
		display: table;
	}
	.myaccount-email .comm-opt-out {
		font-weight: normal;
		font-style: italic;
		font-size: .9em;
	}
	.myaccount-personal span, .myaccount-personal a, .myaccount-email span, .myaccount-email a {
		display: table-cell;
		width: 300px;
		vertical-align: top;
	}
	.myaccount-email {
		margin: 20px 0 0;
	}
	input[name="comm_opt_out"] {
		margin: auto;
		width: inherit;
	}
	.my-account .myaccount-upcoming {
		overflow: hidden;
	}
	.my-account .upcoming-card {
		border: 1px solid #bbb;
		padding: 15px;
		float: left;
		-moz-border-radius: 5px;
		-webkit-border-radius: 5px;
		border-radius: 5px;
		margin: 0 20px 20px 0;
	}
	.my-account .upcoming-card a, .my-account .upcoming-card span {
		display: block;
	}
	.myaccount-completed td {
		height: 60px;
		vertical-align: middle;
		padding: 0 25px;
	}
	.myaccount-completed td:first-child {
		padding: 0 35px 0 85px;
	}
	.my-account .completed-class {
		background: url("http://tpwd.staging.wpengine.com/wp-content/uploads/2016/05/icon-permit.png") no-repeat left center;
		background-size: 64px 40px;
	}
	.my-account .download-permit {
		background: url("http://tpwd.staging.wpengine.com/wp-content/uploads/2016/05/icon-download.png") no-repeat left center;
		background-size: 16px 16px;
	}
	.my-account .myaccount-history td {
		border-bottom: 1px solid #bbb;
		padding: 15px;
	}

	.woocommerce-account .woocommerce-MyAccount-navigation {
		display: none;
	}

	.woocommerce-account .woocommerce-MyAccount-content {
		float: none;
		width: auto;
	}
	/* !Find previous certificate */
	.find-cert p {
		width: 600px;
		margin: 0 0 30px;
	}
	.find-cert .page-title {
		margin: 0 0 30px;
	}
	.find-cert-results {
		border-top: 1px solid #ddd;
		margin: 30px 0;
		padding: 30px 0;
	}
	.cert-results-box {
		display: table;
		width: 100%;
		border: 1px solid #bbb;
		-moz-border-radius: 5px;
		-webkit-border-radius: 5px;
		border-radius: 5px;
	}
	.cert-results-box div {
		display: table-cell;
		vertical-align: middle;
		padding: 20px 30px;
		border-left: 1px solid #ddd;
		font-size: 20px;
	}
	.cert-results-name {
		border: 0;
		width: 35%;
	}
	.cert-results-dob {
		width: 20%;
	}
	.cert-results-link {
		font-size: 16px;
	}
	.cert-results-tpwd {
		color: #777;
		font-size: 16px;
	}
	.find-cert button {
		width: 120px;
	}
	/* !Instructor shopping page */
	.entry-content.my-account {
		width: auto;
	}
	.post-type-archive-product .page-title {
		margin: 0 0 20px;
	}
	.woocommerce .products ul, .woocommerce ul.products {
		overflow: hidden;
	}
	.woocommerce ul.products li.product a {
		display: block;
	}
	.woocommerce .site-content ul li, .woocommerce .site-content ol li {
		text-indent: 0;
	}
	.woocommerce #respond input#submit, .woocommerce a.button, .woocommerce button.button, .woocommerce input.button, .woocommerce div.product form.cart .button {
		-webkit-border-radius: 5px;
		-moz-border-radius: 5px;
		border-radius: 5px;
		display: inline-block;
		padding: 9px 15px 9px;
		font-size: 1em;
		font-weight: normal;
		background-color: #86B22D;
		color: #fff;
		text-decoration: none;
		border: 0;
		text-align: center;
	}
	.woocommerce .quantity .qty {
		width: 5.25em;
	}
	.woocommerce .woocommerce-breadcrumb {
		display: none;
	}
	.single-product #content {
		padding: 30px 0;
	}
	.single-product .price {
		padding: 20px 0;
	}
	form.cart button, form.cart input, .woocommerce div.product form.cart div.quantity {
		float: none;
	}
	.woocommerce div.product form.cart .button {
		margin: 20px 0 0;
	}
	/* Edit Account Info */
	.tpwd-fullname span.form-row ,
	.tpwd-dob span.form-row {
		float: left;
	}
	.woocommerce form .form-row-first, .woocommerce form .form-row-last, .woocommerce-page form .form-row-first, .woocommerce-page form .form-row-last {
		width: auto !important;
	}
	.checkout .woocommerce form .form-row-first, .checkout .woocommerce-page form .form-row-first, .checkout .woocommerce-FormRow.woocommerce-FormRow--narrow.form-row.form-row-last-name {
		width: 20%;
	}
	.checkout .woocommerce-FormRow.woocommerce-FormRow--narrow.form-row.form-row-last-name {
		width: 35%;
	}
	.checkout .woocommerce form .form-row-last, .checkout .woocommerce-page form .form-row-last {
		width: 15%;
	}
	.woocommerce-FormRow.woocommerce-FormRow--middle.form-row.form-row-middle, #account_middle_initial {
		width: 100%;
	}
	.woocommerce-error {
		margin: 0 0 0.5em !important;
	}
	.woocommerce-info, .woocommerce-message {
		margin: 2em 0 2em !important;
	}
	.checkout .form-row-middle {
		width: 15%;
	}
	.tpwd-fullname span, .tpwd-dob span {
		display: inline-block;
	}
	.tpwd-field, .my-account fieldset {
		max-width: 400px;
	}

	.tpwd-contact input, .tpwd-contact select {
		max-width: 400px;
	}

	.tpwd_sms_notification_opt_in {
		margin-top: 5px;
		font-weight: bold !important;
		font-size: 12px;
		line-height: 1em;
	}

	.tpwd_sms_notification_opt_in .dashicons {
		margin-right: 5px;
		font-size: 2em;
		line-height: .5em;
	}

	.tpwd_sms_notification_opt_in .dashicons-yes {
		color: green;
	}

	.tpwd_sms_notification_opt_in .dashicons-no {
		color: red;
	}

	div.reg-account-box-inner div.woocommerce-billing-fields div.account-password {
		width: 400px;
	}
    .hero-links, .hero-wrapper, .h-links{
        width: initial;
    }
}


/* !Hunter/Boater Education Verification Page ---------------------------------- */

.hunterboater-education-verification {
	margin: 2em 0;
}

.hunterboater-education-verification h3, .tpwd-search-results {
	margin-top: 1em;
}

.tpwd-search-results-classes td {
	text-align: center;
}

table.tpwd-search-results-classes>thead {
	font-weight: bold;
}

.tpwd-search-results table {
	width: 100%;
}

.tpwd-search-error {
	// color: #9c0000;
}

.for-required:after {
	content: '*';
	color: #9c0000;
	margin-left: .2em;
}

.tpwd-is-search label {
	margin-right: .5em;
}

.tpwd-is-search input+label {
	margin-left: .5em;
}

.body-hunterboater-education-verification .tpwd-search-results-student td {
	text-align: left;
}

.tpwd-search-results-student td, .tpwd-search-results-classes th, .tpwd-search-results-classes td {
	border: 1px solid #ccc;
	padding: .5em;
}

#tpwd_user_address_update_form td {
	padding: 5px;
}

#tpwd_user_address_update_dialog .wrap-submit-button-modal {
	text-align: right;
}

#tpwd_user_address_update_dialog .tpwd_user_address_error  {
	margin: 5px 0px 10px 0px;
	color: red !important;
}

#tpwd_user_address_update_dialog input.tpwd_user_address_error, #tpwd_user_address_update_dialog select.tpwd_user_address_error  {
	margin: 0px;
	border-color: red !important;
}

.tpwd-spinner {
	background: url(images/spinner.gif) no-repeat;
	background-size: 30px 30px;
	display: inline-block;
	visibility: hidden;
	float: right;
	vertical-align: middle;
	opacity: .7;
	width: 30px;
	height: 30px;
	margin: 4px 10px 0;
}

.tpwd-spinner {
	float: none;
	margin: 5px 2px 0;
	vertical-align: top;
}

.tpwd-spinner.is-active {
	visibility: visible;
}

.element-ui-dialog button.ui-dialog-titlebar-close {
	padding: 0px !important;
	width: 1.5em;
	height: 1.5em;
	margin-top: -13px;
}

/* !DOB Validation Modal ---------------------------------- */

#dob-validation-overlay, #dob-validation-modal {
	display: none;
}

#dob-validation-modal {
	width: 40%;
	max-height: 800px;
	height: auto;
	background: white;
	margin: 0 auto;
	box-shadow: 1px 1px 10px #ccc;
	padding: 3em;
	position: fixed;
	z-index: 9999;
	left: 25%;
	top: 35%;
}

#dob-validation-overlay {
	background: rgba(0, 0, 0, 0.8);
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
}

input.woocommerce-error, select.woocommerce-error, textarea.woocommerce-error {
	border: 2px dashed #b30909;
}

.account-country, .account-county {
	margin-bottom: 50px;
	overflow: auto;
}

.account-country .account-item-half {
	float: left;
	width: 48%;
}

.account-item-half:last-child {
	margin-left: 4%;
}

.course_name_page_title {
	font-size: 1.45em;
	margin-top: 1%;
	text-align: center;
}

div.class-status-box div.class-actions a, div.class-status-box {
	text-align: center !important;
}

div.class-status-box div.class-actions {
	font-size: 1.75em !important;
}

div.class-status-box div.class-status-registered {
	height: auto !important;
}

div#upcomming-classes, div.upcomming-classes-content {
	overflow: auto;
}

div.upcomming-classes-section {
	width: 30%;
	float: left;
	margin: 0 5% 5% 0;
}


/*
.upcomming-classes-section:nth-child(3n){
		margin-right:0;
	}
*/

@media screen and (max-width:600px) {
	.upcomming-classes-section {
		margin-right: 0;
		width: 100% !important;
		clear: both;
	}
}

@media screen and (min-width:601px) and (max-width:900px) {
	.upcomming-classes-section {
		width: 47.5% !important;
	}
	.upcomming-classes-section:nth-child(2n) {
		margin-right: 0;
	}
	.upcomming-classes-section:nth-child(3n) {
		clear: both;
	}
}

@media screen and (min-width:901px) {
	.upcomming-classes-section:nth-child(3n) {
		margin-right: 0;
	}
}

div.upcomming-classes-content {
	border: 1px solid #ddd;
	border-radius: 5px;
	padding: 10px;
}

div.upcomming-classes-content button {
	padding: 9px 15px 9px !important;
	float: right;
	cursor: pointer;
}

span.upcomming-classes-title, span.upcomming-classes-title-hours {
	font-weight: bold;
}

div.cmb-type-password div.cmb-td {
	width: 370px;
}

div.cmb-type-password div.cmb-td p span.alignleft, div.cmb-type-password div.cmb-td input#register_password_pass1, div.cmb-type-password div.cmb-td input#register_password_pass2, div.woocommerce-billing-fields div.account-password input#register_password_pass1, div.woocommerce-billing-fields div.account-password input#register_password_pass2 {
	width: 100%
}

div.cmb-type-password div.cmb-td p span.alignleft:first-child {
	margin-bottom: 30px;
}

small.tpwd_error_diff_pwd {
	display: block;
	background-color: #ef5555;
	color: #fff;
	padding: 5px;
	margin: 5px 0;
	text-align: center;
	border-radius: 3px;
}

div.class-status.contact-instructor {
	height: auto !important;
	border-radius: 5px;
}

div.account-ethnicity p select#account-ethnicity, div.account-gender p select#account-gender {
	min-width: 265px;
}

input[type="checkbox"] {
	width: auto;
}
.tpwd_input.woocommerce-error {
    padding: 0 10px 0 10px !important;
}

#billing_email_message.hidden, #driver_license_message.hidden{
    display:none !important;
}
.confirmation-buttons:after {
    content: "";
    display: table;
    clear: both;
    margin: 10px 0 10px 0;
}
.confirmation-buttons div {
    margin-right: 20px;
}
.clearfix:before,
.clearfix:after {
  content: "";
  display: table;
}
.clearfix:after {
  clear: both;
}
.clearfix {
  zoom: 1; /* For IE 6/7 (trigger hasLayout) */
}

@media screen and (min-width:745px){
    .h-link{
        width: 240px;
    }

}
@media screen and (max-width:744px){
    .h-link{
        width: 100%;
    }

}

.account-phone .tpwd_sms_notification_opt_in {
	line-height: 2em;
}

.account-phone .tpwd_sms_notification_opt_in input[type="checkbox"] {
	display: inline-block;
}