
/* clearfix */
.rs-group:after {
	content: ".";
	display: block;
	height: 0;
	clear: both;
	visibility: hidden;
}

.js .hide-if-js {
	display: none;
}

/* program display */
.rs-program, .rs-teacher {
	margin-bottom: 25px;
}

.rs-teacher-container {
	backface-visibility: hidden;
	box-shadow: none;
	pointer-events: none;
}

.rs-teachers-container div.teacher {
	position: static !important;
}

.rs-program-list-intro {
	margin-bottom: 20px;
}

.rs-program-label {
	font-size: 85%;
	text-transform: uppercase;
	font-weight: bold;
}

/*.rs-program.important { border-top: 2px solid #ffd; padding-top: 8px; background-image: -webkit-linear-gradient(#ffd, #fff); background-image: -moz-linear-gradient(#ffe1bd, #fef9ef); }*/
.rs-program.minor, .rs-programs-widget.minor {
	display: none;
}

.rs-program-thumbnail, .rs-teacher-thumbnail {
	width: 32%;
	margin-right: 2%;
	clear: left;
	margin-bottom: 5px;
	display: inline-block;
}

.rs-program-content-wrap, .rs-teacher-content-wrap {
	width: 64%;
	display: inline-block;
	float: right;
}

.rs-program-title, .rs-program-teacher, .rs-teacher-title, .rs-program-with-teachers {
	line-height: 1.2;
	clear: none;
}

h2.rs-program-title {
	margin: 0 !important;
}

.rs-program-photo {
	margin-bottom: 20px;
	width: 100%;
}

.single-program .rs-program-photo img {
	width: 100%;
}

.rs-teacher-photo {
	float: left;
	margin-right: 20px;
	margin-bottom: 5px;
}

.rs-teacher-bio {
	clear: left;
}

.rs-program-with-teachers {
	margin: 0 !important;
	padding: 0 !important;
}

.single-program {
	position: relative;
}

.single-program .entry-content {
	float: left;
	width: 100%;
}

.single-program .rs-program-meta {
	width: 40%;
	float: right;
	box-sizing: border-box;
	border-radius: 5px;
	border: 1px solid #e5e5e5;
	margin: 0 0 0 20px;
}

.rs-program-meta li {
	list-style: none;
}

/*.rs-program-meta { margin-bottom: 20px; margin-top: 10px; }*/
.rs-meta-content-container {
	margin: 20px 20px;
}

.rs-program-early-bird-discount {
	font-weight: bold;
}

.single-program .rs-program-early-bird-discount {
	border-width: 1px;
	border-style: solid;
	/* color set dynamically based on theme highlight color */
	background-color: #fff;
	padding: 1.5rem;
	margin-top: 1rem;
	margin-bottom: 1rem;
}

/*registration link */
.rs-regsitration-wrap {
	margin: 0 0 20px;
}

.rs-register-link a, #submit-registration, .rs-button {
	/*height: 2em;*/
	font-weight: bold;
	padding: 12px 18px 10px;
	/*color: #eb171c;*/
	font-size: 14px;
	line-height: 100%;
	text-decoration: none;
	text-transform: uppercase;
	cursor: pointer;
	border-radius: 5px;
	/*background-color: #fff;*/
	border: 1px solid #e5e5e5;
}

.rs-register-link a:hover, #submit-registration:hover, .rs-big-button:hover, .rs-meta-content-container a.rs-button:hover {
	border-color: #333;
}

.rs-meta-content-container a.rs-button, .rs-meta-content-container .rs-register-link a {
	width: 100%;
	float: left;
	margin: 10px 0;
	text-align: center;
	box-sizing: border-box;
}

.rs-program-categories {
	clear: both;
}

/* registration form */
#rs-registration-form {
	margin-bottom: 2em;
}

#rs-registration-form h2, .rs-form h2 {
	border-bottom: 1px dotted #ccc;
	padding: 0 0 5px 0;
	margin: 15px 0 5px;
}

#rs-registration-form .rs-error {
	color: #790000;
	font-weight: bold;
	font-size: 1.1em;
	padding: 15px;
	margin: 10px 0;
}

.wprs-registration-table, .rs-form {
	border-collapse: separate;
	border-spacing: 0 10px;
	border-width: 0;
	width: 100%;
	margin: 0;
}

.wprs-registration-table th, .rs-form th {
	color: #000;
	font-size: 1em;
	font-weight: normal;
	width: 40%;
	vertical-align: top;
	text-align: right;
	padding-right: 20px;
}

.wprs-registration-table td, .rs-form td {
	border-top-width: 0;
}

.wprs-registration-table td small, .rs-form td small {
	display: block;
}

/* registration form errors */
#rs-registration-form .rs-custom-field-required {
	color: #790000;
	font-size: 1.2em;
}

#rs-registration-form .rs-custom-field-errors {
	color: #790000;
	font-size: .9em;
	font-weight: bold;
	margin: 5px 0;
	line-height: 1.3em;
	list-style-type: none;
}

#rs-registration-form .wprs-registration-error {
	background-color: #ffd;
	border: 1px dotted #790000;
}

#rs-registration-form .wprs-registration-error input, #content .wprs-registration-error select {
	border-color: #790000;
}

#rs-registration-form .wprs-registration-error label {
	color: #790000;
}

#rs-registration-form tr.wprs-registration-error th {
	border-width: 1px 0px 1px 1px;
	border-style: dotted;
}

#rs-registration-form tr.wprs-registration-error td {
	border-width: 1px 1px 1px 0px;
	border-style: dotted;
}

#rs-registration-form tr.wprs-registration-error td {
	border-top: 1px dotted #790000;
}

#rs-registration-form .rs-payment-error {
	color: #790000;
	background-color: #ffdfdf;
	border: 1px dotted #790000;
	padding: 10px;
	font-style: italic;
	font-weight: bold;
}

#rs-registration-form .rs-price {
	padding: 9px 0 0 30px;
}

#rs-registration-form .rs-price th {
	width: auto;
}

#rs-registration-form .rs-form-help, #rs-registration-form small, .rs-form small {
	font-size: 80%;
	color: #777;
	line-height: 1.4;
}

/*extra nights*/
.rs-extra-nights, .rs-extra-nights a {
	float: right;
}

.rs-extra-nights div {
	float: right;
	clear: right;
}

/* registration total */
.rs-total-calculated {
	font-size: 120%;
}

/* edit link */
.rs-container .edit-link {
	float: right;
	font-size: 70%;
	text-transform: uppercase;
}

/* widgets */

/*.rs-programs-widget { margin: 15px 0; list-style: none; clear: left; }*/
.rs-programs-widget h4, .rs-programs-widget p {
	clear: none;
	line-height: 1;
	margin-bottom: 0px;
}

.rs-programs-widget ul {
	margin-left: 0 !important;
}

.rs-programs-widget ul li {
	clear: both;
}

.rs-custom-field-table th {
	width: 140px;
}

/* alerts - from twitter bootstrap */
.alert {
	margin-bottom: 18px;
	text-shadow: 0 1px 0 rgba(255, 255, 255, .5);
	background-color: #fcf8e3;
	border: 1px solid #fbeed5;
	-webkit-border-radius: 4px;
	-moz-border-radius: 4px;
	border-radius: 4px;
	padding: 8px 35px 8px 14px;
}

.alert-success {
	background-color: #dff0d8;
	border-color: #d6e9c6;
}

.alert-danger, .alert-error {
	background-color: #f2dede;
	border-color: #eed3d7;
}

.alert-info {
	background-color: #d9edf7;
	border-color: #bce8f1;
}

.alert-block {
	padding-top: 14px;
	padding-bottom: 14px;
}

.alert-block > p, .alert-block > ul {
	margin-bottom: 0;
}

.alert-block p + p {
	margin-top: 5px;
}

/* datepickers */
.rs-stay-datepicker label {
	font-weight: bold;
	line-height: 40px;
}

.rs-stay-datepicker input {
	width: 100px;
	margin-left: 5px;
}

div.hasDatepicker {
	float: left;
	margin-right: 20px;
}

.ui-datepicker {
	width: 15em;
}

/* datepickers fixes for twenty ten */
#content .ui-datepicker-calendar {
	margin: 0 0 .4em;
}

#content .ui-datepicker tr td {
	padding: 0;
}

#content .ui-datepicker tr th {
	padding: 0;
}

.rs-program-additional-info {
	clear: left;
}

.rs-program-detail header h1 {
	font-size: 200%;
}

.shortcode .rs-program-title {
	margin-bottom: 2px;
}

.rs-register-link a {
	display: inline-block;
}

.shortcode .status div {
	display: inline;
}

.shortcode .status {
	width: 150px;
}

.rs-program.shortcode.table td, .rs-program.shortcode.table th {
	padding: 5px;
	border-bottom: 1px solid #eaeaea;
}

.rs-program.shortcode.table tr:nth-child(even) {
	background: #f9f9f9 !important;
}

.rs-program.shortcode.table .rs-availability {
	text-align: center;
}

.rs-program.shortcode.table .rs-show-more-link {
	text-align: center;
}

.rs-program.shortcode.table .rs-show-register-link {
	text-align: center;
}

.rs-program.shortcode.table .rs-price ul {
	margin: 0;
}

/* responsive tables */
@media (max-width:35em) {
	.rs-program.table, .rs-program thead, .rs-program tbody, .rs-program tfoot, .rs-program th, .rs-program td, .rs-program tr {
		display: block;
	}
	
	.rs-program.shortcode.table tr {
		margin-top: 2em;
		margin-bottom: 2em;
		border-bottom: 1px solid #eaeaea;
		border-top: 1px solid #eaeaea;
	}
	
	.rs-program.shortcode.table td, .rs-program.shortcode.table th {
		border-bottom: none;
		border-top: none;
		padding: 2px;
		text-align: center;
	}
}

@media only screen and (max-width: 768px) {
	.rs-program-content-wrap, .rs-teacher-content-wrap, .rs-program-thumbnail, .rs-teacher-thumbnail {
		display: block;
		float: none;
		width: 100%;
	}
}

@media only screen and (max-width: 520px) {
	.single-program .rs-program-meta {
		width: 100% !important;
	}
	
	.rs-program-title {
		padding: 20px 0 0;
	}
	
	.rs-program-thumbnail, .rs-teacher-thumbnail {
		display: block;
		float: none;
		width: 100%;
	}
}

/* teachers page responsive layout */
@media only screen and (min-width: 375px) and (max-width: 575px) {
	.rs-teacher-content img {
		width: 100%;
	}
	
	.rs-teacher-custom-wrap {
		clear: both;
	}
}

body.rs-programs-single h1.entry-title, body.rs-teachers-single h1.entry-title {
	display: none;
}
