/* 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; /*white-space: nowrap; */}

.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: 0.9em; font-weight: bold; margin: 5px 0; line-height: 1.3em; list-style-type: none; }
#rs-registration-form .wprs-registration-error { background-color: #ffffdd; 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.0; 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, 0.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 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; }