/* clearfix */
.rs-group:after,
.clearfix {
    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-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 {
    float: left;
    margin-right: 15px;
    clear: left;
    margin-bottom: 5px;
}
.rs-program-title,
.rs-program-teacher,
.rs-teacher-title {
    line-height: 1.2;
    clear: none;
}
.rs-program-photo {
    float: right;
    margin-bottom: 20px;
    margin-left: 10px;
}
.rs-teacher-photo {
    float: left;
    margin-right: 20px;
    margin-bottom: 5px;
}
.rs-teacher-bio {
    clear: left;
}

.rs-program-meta {
    float: right;
    clear: right;
    width: 40%;
    margin: 10px 0 20px 20px;
    padding: 10px 15px 0 15px;
    border-radius: 5px;
    border: 1px solid #e5e5e5;
}
@media screen and (max-width: 600px) {
    .rs-program-meta {
        float: none;
        clear: none;
    }

    .rs-program-content .rs-registration-wrap .rs-registration-open.rs-register-link {
        display: none;
    }
}

/*.rs-program-meta { margin-bottom: 20px; margin-top: 10px; }*/
.rs-program-content {
    clear: left;
}
@media screen and (min-width: 600px) {
    .rs-program-content {
        overflow: auto;
    }
}
.rs-program-price {
    margin-bottom: 10px;
}

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

.rs-registration-wait-list {
    margin-top: 10px;
}

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

.rs-registration-open-future-date {
    cursor: auto;
    text-transform: capitalize;
    text-align: center;
    display: inline-block;
    opacity: 0.3;
}

.rs-program-meta .rs-registration-open-future-date {
    width: 100%;
}

.rs-re-register-payment-card-box{
    margin-left: 15px;
    margin-top:10px;
    border-width: 1px;
    border-color: #cccccc;
    border-style: double;
    padding: 10px;
}

.rs-register-link a:hover,
#submit-registration:hover,
.rs-big-button:hover {
    box-shadow: 0 1px 1px 0 rgba(0,0,0,0.3);
}
.rs-program-categories {
    clear: both;
}

/* registration form */
#rs-registration-form {
    margin-bottom: 2em;
    position: relative;
    clear: left;
}
#rs-registration-form h2,
.rs-form h2 {
    border-bottom: 1px dotted #ccc;
    padding: 5px 0 0 0;
    margin: 20px 0 5px;
}

#rs-registration-form .rs-error,
#rs-rental-inquiry-form .rs-error {
    color: #790000;
    line-height: 1.3em;
    font-size: 1.1em;
    padding: 15px;
    margin: 10px 0;
}

.single-program .rs-program-banner {
    padding: 1.15rem;
    background-color: #f7f7f7;
    border: 1px solid #777;
}

.single-program .rs-program-banner h3 {
    font-size: 1.2rem;
}

.single-program .rs-program-banner p {
    font-size: 90%;
    color: #333;
}

.wprs-registration-table,
.rs-form {
    border-collapse: separate;
    border-spacing: 0 10px;
    border-width: 0;
    width: 99.9%;
    margin: 0;
    background-color: inherit;
}
.wprs-registration-table th,
.rs-form th {
    color: #000;
    font-size: 1em;
    font-weight: normal;
    width: 40%;
    vertical-align: top;
    padding-bottom: 1rem;
    text-align: right;
    padding-right: 20px;
    padding-top: 20px;
}

.wprs-registration-table th label[for=reg-form-captcha] {
    margin-top: 1.4rem;
}

.rs-help-text {
    color: #888;
    font-size: 12px;
}

.wprs-registration-table ul {
    margin: 5px 0 0 0;
}

.wprs-registration-table ul li {
    margin: 0;
}

.wprs-registration-table input[type="checkbox"] {
    margin: 5px 0;
}

@media (max-width: 640px) {
    .wprs-registration-table table,
    .wprs-registration-table thead,
    .wprs-registration-table tbody,
    .wprs-registration-table tr,
    .wprs-registration-table th,
    .wprs-registration-table td {
        text-align: left;
        display: block;
        padding: 0;
        margin: 0;
        width: auto;
    }

    .wprs-registration-table tr {
        margin: 5px 0;
    }

    .wprs-registration-table td ul li label {
        margin: 5px 0 0 0;
        line-height: 1.2rem;
        padding-left: 17px;
        text-indent: -17px;
    }
    .wprs-registration-table th label {
        font-weight: bold;
        padding: 0;
    }

    .rs-registration-next,
    #submit-registration {
        width: 100%;
    }

    .rs-registration-section-donate th {
        float: right;
    }

}

.rs-captcha-image {
    padding: 1rem;
    border: 1px solid #cccccc;
    background: #ffffff;
}
.rs-captcha-help {
    margin: .5rem 0;
}

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

#rs-flexible-pricing-amount-div {
    display: none;
}

.rs-scroll-down-hint::after {
    opacity: 0;
    content: "»";
    font-size: 80px;
    position: fixed;
    bottom: 0;
    right: 50px;
    font-family: serif;
    transform: rotate(90deg);
    z-index: 999;
    color: #888;
}

.rs-scroll-down-hint.animate::after {
    -webkit-animation: scroll-down-hint 1s ease-in 3;
    -moz-animation:    scroll-down-hint 1s ease-in 3;
    -o-animation:      scroll-down-hint 1s ease-in 3;
    animation:         scroll-down-hint 1s ease-in 3;
}

@-webkit-keyframes scroll-down-hint {
    0%   {opacity: 0; transform: rotate(90deg) translateX(0px);}
    50%  {opacity: 1;}
    100% {opacity: 0; transform: rotate(90deg) translateX(25px);}
}

@-moz-keyframes scroll-down-hint {
    0%   {opacity: 0; transform: rotate(90deg) translateX(0px);}
    50%  {opacity: 1;}
    100% {opacity: 0; transform: rotate(90deg) translateX(25px);}
}

@-o-keyframes scroll-down-hint {
    0%   {opacity: 0; transform: rotate(90deg) translateX(0px);}
    50%  {opacity: 1;}
    100% {opacity: 0; transform: rotate(90deg) translateX(25px);}
}

@keyframes scroll-down-hint {
    0%   {opacity: 0; transform: rotate(90deg) translateX(0px);}
    50%  {opacity: 1;}
    100% {opacity: 0; transform: rotate(90deg) translateX(25px);}
}

/* reg form cc fee opt in */
#rs-credit-card-fee-opt-in-checkbox {
    vertical-align: top;
    margin-top: 3px;
}
#credit-card-fee-opt-in-help-text {
    margin-top: 8px;
    margin-bottom: 0;
    text-transform: none;
}
#rs-credit-card-fee {
    padding-top: 1rem;
    padding-bottom: 1rem;
}
#rs-credit-card-fee th {
    padding-top: .6rem;
    padding-bottom: .6rem;
}
#rs-credit-card-fee-opt-in-text-label {
    width:94%;
    margin: 0;
}
#rs-credit-card-fee-opt-in-checkbox {
    width:4%
}

.rs-quick-add-registration .rs-credit-card-fee-calculated {
    display: none;
}

/* registration form errors */
#rs-registration-form .rs-custom-field-required {
    color: #DB2828;
    font-size: 1.1em;
    vertical-align: top;
    padding: 0 0 0 3px;
    font-weight: bold;
}
#rs-registration-form .rs-required {
    /*font-weight: bold;*/
}
#rs-registration-form .rs-custom-field-error, #rs-rental-inquiry-form .rs-custom-field-error {
    color: #790000;
    font-size: .9em;
    margin: 5px 0;
    line-height: 1.3em;
    list-style-type: none;
}
#rs-registration-form p.rs-custom-field-errors {
    height: 0.1em;
}
#rs-registration-form .wprs-registration-error,
#rs-rental-inquiry-form .wprs-registration-error {
    background-color: #ffd;
    border: 1px dotted #790000;
}
#rs-registration-form .wprs-registration-error inpu,
#rs-rental-inquiry-form .wprs-registration-error inpu t,
#content .wprs-registration-error select,
#rs-rental-inquiry-formration-error select {
    border-color: #790000;
}
#rs-registration-form .wprs-registration-error label,
#rs-rental-inquiry-form .wprs-registration-error label {
    /*color: #790000;*/
}
#rs-registration-form tr.wprs-registration-error td,
#rs-rental-inquiry-form tr.wprs-registration-error td {
    padding: 0 10px 0 0 !important;
}

#rs-registration-form tr.wprs-registration-error th,
#rs-rental-inquiry-form tr.wprs-registration-error th {
    padding: 0 10px 0 10px !important;
}

#rs-registration-form #rs-pricing-options.wprs-registration-error .lodging-container,
#rs-rental-inquiry-form #rs-pricing-options.wprs-registration-error .lodging-container {
    padding-left: 20px;
}

#rs-registration-form #rs-pricing-options.wprs-registration-error .rs-custom-field-errors,
#rs-rental-inquiry-form #rs-pricing-options.wprs-registration-error .rs-custom-field-errors {
    padding-left: 15px;
}

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

#rs-registration-form #rs-additional-programs .row {
    width: 100%;
    padding-left: 0.6rem;
}

#rs-registration-form #rs-additional-programs .rs-additional-program-participant {
    line-height: 1.8rem;
    border-bottom: 1px dashed #eee;
    color: #777;
    font-size: 0.7rem;
}

#rs-registration-form #rs-additional-programs .rs-additional-program-participant > .participant-name {
    width: 95%;
    display: inline-block;
}

#rs-registration-form #rs-additional-programs .rs-additional-program-participant > .remove-participant {
    display: inline;
}

/* payment second step hack */
#rs-registration-form .wprs-registration-error.registration-valid,
#rs-rental-inquiry-form .wprs-registration-error.registration-valid {
    border-color: #333;
    color: #333;
    background-color: #d9edf7;
}

#rs-registration-form .rs-price {
    padding: 9px 0 0 5%;
}
#rs-registration-form .rs-price th {
    width: auto;
}
#rs-registration-form .input_extra_date_month {
    display: inline;
    width: 4.5em;
}
#rs-registration-form .input_extra_date_day {
    display: inline;
    width: 4em;
}
#rs-registration-form .input_extra_date_year {
    display: inline;
    width: 5.5em;
}

#rs-registration-form .rs-form-help,
#rs-registration-form small,
.rs-form small {
    font-size: 0.7rem;
    color: #777;
    line-height: 1.3;
    display: block;
}

#rs-registration-form select#rs-payment-type {
    min-width: 9em;
}

/*extra nights*/
.rs-extra-nights {
    margin-top: 10px;
}
.rs-extra-nights select {
    width: 3.5em;
    margin-left: 10px;
}

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

/* edit link */
.rs-container .edit-link {
    font-size: 70%;
    text-transform: uppercase;
    white-space: nowrap;
}

.rs-single-program .edit-link {
    float: right;
}
/* 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.2;
    margin-bottom: 5px;
}
.rs_widget_programs ul {
    margin-left: 0 !important;
}

.rs-registration-complete-title {
    font-size: 150%;
    font-weight: bold;
}

.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.shake {
    animation: shake 0.82s cubic-bezier(.36,.07,.19,.97) both;
    transform: translate3d(0, 0, 0);
    backface-visibility: hidden;
    perspective: 1000px;
}

.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 {
    position: relative;
    margin: 20px 0;
}
.rs-stay-datepicker label {
    font-weight: bold;
    line-height: 28px;
}
.rs-stay-datepicker input {
    width: 100px;
    margin-left: 5px;
}
div.hasDatepicker {
    float: left;
}
#ui-datepicker-div {
    z-index: 10001 !important;
}
.ui-datepicker {
    width: 15em;
    z-index: 10001;
}

.rs-stay-datepicker-restricted {
    text-decoration: line-through;
}

.ui-tooltip {
    box-shadow: none;
    background: whitesmoke;
    border-radius: 1px;
    position: absolute;
    z-index: 10101;
    max-width: 200px;
    font-size: small;
    opacity:1;
    padding: 2px;
}

#rs-availability-cal-loading-note {
    font-size: 80%;
    color: #e1a948;
}


/* 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;
}

/* GF plugin specific */
.rs-post-reg-gravity-form-alert {
    font-size: 120%;
    line-height: 1.4;
}

/* Fix draggable handle in Question area */
.ui-sortable-handle {
    min-width: 9px;
}

.rs-program-meta {
    padding: 0;
    min-width: 250px;
}
.rs-program-content .rs-register-link a {
    text-transform: capitalize;
    text-transform: capitalize;
    border-color: #525252;
    display: inline-block;
    color: #111111;
    text-decoration: none;
}

.rs-program-content a {
    color: #0073aa;
    text-decoration: underline;
}

.rs-meta-content-container {
    padding: 10px 20px;
    float: left;
    clear: left;
    width: 100%;
    box-sizing: border-box;
}
.rs-program-meta .rs-program-photo {
    width: 100%;
    margin: 0;
    padding: 0;
}
.rs-program-meta .rs-program-photo img {
    width: 100%;
    padding: 0;
    margin: 0;
}
.rs-program-meta .rs-registration-wrap {
    padding: 0;
    margin: 0;
    width: 100%;
}
.rs-program-meta .rs-registration-wrap .rs-register-link a {
    width: 100% !important;
    display: inline-block;
    margin: 0;
    padding: 15px 0;
    text-align: center;
    color: #000;
    text-transform: capitalize;
    border-color: #525252;
    border-radius: 4px;
    font-size: 15px;
}

/* Old spinner for payments */
.rs-please-wait {
    float: right;
}

/* New spinner for payments */
.rs-please-wait--full-screen {
    position: fixed;
    top: 0; left: 0; z-index: 9999;
    width: 100vw; height: 100vh;
    background: rgba(255, 255, 255, 1);
    transition: opacity 0.3s;

    display: flex;
    align-items: center;
    justify-content: center;

}

.rs-please-wait--full-screen .loading-text {
    text-align: center;
    color: #000;
    font-size: 1rem;
}

.rs-please-wait--full-screen .loading-spinner {
    margin-top: 1rem;
    display: inline-block;
    width: 50px;
    height: 50px;
    border: 3px solid rgba(0,0,0,.3);
    border-radius: 50%;
    border-top-color: #fff;
    animation: spin 1s ease-in-out infinite;
    -webkit-animation: spin 1s ease-in-out infinite;
}

.rs-please-wait--full-screen.hidden {
    display: none;
}

@keyframes spin {
    to { -webkit-transform: rotate(360deg); }
}
@-webkit-keyframes spin {
    to { -webkit-transform: rotate(360deg); }
}


#rs-rental-inquiry-form .rs-please-wait {
    margin-right: 50%;
}

.button-primary {
    background: #e1a948;
    border: none !important;
    border-radius: 3px !important;
    color: white;
    -webkit-box-shadow: inset 0 1px 0 #ecc88a, 0 1px 0 rgba(0, 0, 0, .15);
            box-shadow: inset 0 1px 0 #ecc88a, 0 1px 0 rgba(0, 0, 0, .15);
    padding: 8px 10px;
    clear: left;
}

.login-submit {
    float: left;
    clear: left;
}

.login-username,
.login-password {
    float: left;
    width: 50%;
    margin: 0 0 5px;
    box-sizing: border-box;
    padding: 0 10px 0 0;
}

/* unique color so devs don't confuse environments */
.rs-non-production-environment #wpadminbar, .archived-site #wpadminbar {
    background: repeating-linear-gradient(
    135deg,
    #463244,
    #463244 10px,
    #553a53 10px,
    #553a53 20px
    );
}

.ui-state-default,
.ui-widget-content .ui-state-default {
    border: 1px solid #efefef;
    background: #efefef;
    text-align: center;
    font-size: 120%;
}

.ui-state-default:hover {
    border: 1px solid #fdaf42;
    color: #fdaf42;
    background: #fff;
}

.ui-state-active,
.ui-widget-content .ui-state-active {
    background: #fdaf42;
    color: #fff;
    font-weight: bold;
}

.ui-datepicker-header {
    background: none;
    border: none;
}

#ui-datepicker-div {
    border: 1px solid #ccc;
    box-shadow: 0 0 10px #aeaeae;
    display: none;
}
.ui-state-disabled,
.ui-widget-content .ui-state-disabled {
    opacity: .15;
}
#rs-registration-form .ui-datepicker-month {
    font-size: 80%;
}

#rs-registration-form select {
    margin: 0;
}
#rs-registration-form fieldset {
    border: 0;
    margin: 0;
    padding: 5px 0 !important;
    clear: left;
}

/* Registration - Tiered Pricing */
.tiered-price-unavailable {
    pointer-events: none;
    opacity: .2;
}
.tiered-price-unavailable .tiered-chosen-option {
    display: none;
}
.tiered-chosen-option {
    width: 2%;
}
.rs-tiered-price-container {
    width: 97%;
    display: inline-block;
    vertical-align: top !important;
}
.rs-tiered-price-container.has-image,
.tiered-price-unavailable .rs-tiered-price-container.has-no-image {
    width: 80%;
    display: inline;
    margin-left: 5px;
}
.tiered-price-unavailable .price-sold-out {
    display: inline-block;
    width: 150px;
}
.tiered-price-image-container {
    position: relative;
    display: inline-block;
    max-width: 150px;
    margin-right: 5px;
    float: left;
}
.tiered-price-unavailable .tiered-price-image-container .price-sold-out {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
}
.price-sold-out {
    display: none;
    color: white;
    background-color: black;
    text-align: center;
    padding: 5px 10px;
    text-transform: uppercase;
}
.price-choice-quantity-option-input.option-input-hidden {
    visibility: hidden;
}
.tiered-pricing-text-display {
    display: inline-block;
}

/* Registration - Sliding Pricing */
tr.rs-sliding-price-row th {
    width: 50px !important;
}

input.rs-sliding-price-option {
    padding-right: 10px;
}

/* Registration - Single / Multiple pricing */
/* Thanks to David @ Hazon */
.rs-price-wrap {
    border: 1px solid #dedede;
    border-radius: 2px;
    font-size: 17px;
    color: #4d4d4d;
    font-weight: bold;
    cursor: pointer;
    padding: 7px 10px;
    margin-top: 20px;
    /* the max width is causing the element to be too short on reg form, looks wierd */
    /* max-width: 500px; */
    overflow: hidden;
}

.rs-price-wrap input[type="checkbox"] {
    margin-bottom: 0;
}

.rs-price-wrap:hover {
    border: 1px solid #8f8f8f;
    box-shadow: 0 0 5px #ccc;
}

.rs-price-wrap.selected {
    border: 1px solid #f2d557;
    background: #fffbf2;
    box-shadow: 0 0 8px #f2d557;
}

/* This fixes formatting when there is help text on first name field but not lastname field */
.rs-field-email {
    clear: left;
}

/* Additional plant medicine PM cost */
.registration-form-additional-pm-cost {
    background-color: #f5f5f5;
    margin-top: 15px;
    padding: 15px;
}
.registration-form-additional-pm-cost-bold {
    font-weight: bold;
}

/* Donate Reg */
#rs-form-donate-reg {
    background: #fffff1;
    padding: 0 10px;
    border: 1px solid #ccc;
    margin-top: 10px;
}
#rs-registration-form .rs-donate-reg-title {
    font-weight: bold;
    font-size: 120%;
    margin: 0 0 5px 0;
}

.wprs-registration-table td {
     padding: 10px 0;
}
.wprs-registration-table,
.rs-form {
    border-collapse: collapse;
}
.wprs-registration-table tr:nth-of-type(even) {
    background: none;
}
.wprs-registration-table input {
    border: 1px solid #e2e2e2;
}
.wprs-registration-table h1 {
    padding: 0;
}
.wprs-registration-table {
    margin-top: 10px;
}
#rs-registration-form {
    margin: 20px 0 10px;
}
.rs-program-registration {
    overflow: hidden;
}
.rs-program-registration h1 {
    margin: -5px 0 0;
    padding: 0;
    font-size: 190%;
}
@media only screen and (max-width: 575px) {
    .rs-program-registration select {
        width: 100%;
    }
    .rs-program-registration select, .rs-program-registration input {
        font-size: 16px !important;
    }
}
.register-tag {
    text-transform: uppercase;
    color: #7a7a7a;
    font-size: 110%;
}
#rs-registration-form {
    padding: 0 !important;
}

/* Hides caret when typing in input is disabled via jquery */
#rs-stay-start,
#rs-stay-end {
    caret-color: transparent;
}

#rs-stay-start-cal .dashicons,
#rs-stay-end-cal .dashicons,
#rs-stay-start-cal .dashicons {
    position: absolute;
    margin: 8px;
    color: #bababa;
    z-index: 1001;
}
#rs-stay-start-cal input,
#rs-stay-end-cal input {
    padding-left: 35px;
    position: relative;
    z-index: 1000;
    min-width: 160px;
}
#rs-stay-start-cal .ui-datepicker-inline,
#rs-stay-end-cal .ui-datepicker-inline {
    display: none !important;
    position: absolute;
    z-index: 1000;
}

#rs-availability-cal-loading-note {
    display: inline-block;
    visibility: hidden;
}

.reg-form-program-details {
    margin: 0;
}

#rs-registration-form .wprs-required-notice {
    /* can't make it look good in all cases, not convinced it's really important. */
    display: none;
}

#rs-registration-form.rs-waiting-list-form .rs-registration-section-content ul {
    list-style: none;
    margin-left: 0;
}

#rs-registration-password-input {
    height: 44px;
}

.darker-reveal-bg {
    background: rgba(0,0,0,0.95) !important;
}

#program-title-reg-form {
    max-width: 420px;
    line-height: 30px;
    margin: 10px 0;
}
/* @group registration */
/* @subgroup fixed multi date */
.rs-multi-fixed-row {
    margin-bottom: 15px;
    padding-left: 24px;
}
.rs-fixed-multi-fields {
    overflow: hidden;
}
.rs-multi-fixed-row .rs-fixed-multi-fields > div {
    float: left;
    padding: 10px;
}
.rs-multi-fixed-row .rs-fixed-multi-fields > div strong {
    display: block;
    padding-top: 6px;
}
.rs-multi-fixed-row .rs-fixed-multi-fields > div:first-child {
    width: 20rem;
}
.rs-multi-fixed-row .rs-fixed-multi-fields > div select {
    width: 5rem;
}


    /* @group login */
.reg-form-login {
    margin: 5px 0;
    color: #7f7f7f;
    font-size: 100%;
    display: block;
}

.reg-form-login p {
    font-size: 90%;
}

.rs-price-addons {
    padding: 20px 0 0;
    margin-left: -10px !important;
    margin-right: -10px !important;
}

.rs-registration-html-field {
    margin-top: 0.5rem;
}

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

/* Optional add ons */
.add-on-wrapper {
    padding: 7px 10px !important;
}
.add-on-container {
    border: 1px solid #dedede;
    border-radius: 2px;
    padding: 0;
    width: 100%;
    height: 100%;
    word-break: break-word;
}
.add-on-container label {
    font-size: 14px;
    padding: 10px 10px 0;
    display: inline-block;
    width: 100%;
}
.add-on-container.no-quantity label {
     height: 100%;
 }
.add-on-image,
.add-on-title,
.add-on-price-wrapper {
    font-weight: bold;
    font-size: 17px;
    margin-bottom: .5rem;
}
.add-on-price-wrapper {
    margin-bottom: .5rem;
}
.rs-add-on-checkbox {
    margin: 0 .6rem 0 0 !important;
    font-size: 200%;
}
.add-on-description {
    font-size: 14px;
    margin-bottom: .5rem;
}
.add-on-container:hover {
    border: 1px solid #8f8f8f;
    box-shadow: 0 0 5px #ccc;
    opacity: 1 !important;
}
.add-on-container.selected {
    border: 1px solid #f2d557;
    background: #fffbf2;
    box-shadow: 0 0 8px #f2d557;
}
.add-on-container .quantity-container.dim {
    opacity: 0.3;
}
.add-on-container .quantity-container.dim .rs-optional-addon-quantity-select {
    pointer-events: none;
}
.add-on-unavailable {
    opacity: .2;
    cursor: default !important;
    pointer-events: none;
}
.add-on-sold-out {
    bottom: 0;
    white-space: nowrap;
    font-size: 18px;
    font-weight: bold;
    color: white;
    padding: 5px;
    line-height: 1em;
    text-transform: uppercase;
    z-index: 10;
    background: black;
    width: 100%;
    text-align: center;
}
.quantity-container {
    /*margin-bottom: 8px !important;*/
    position: absolute;
    bottom: 16px;
}
.quantity-container span {
    font-weight: 500;
    padding: 0 0px 10px 10px;
}
.quantity-container-spacer {
    height: 48px;
}


.program-reg-image-container {
    padding-right: 0 !important;
}

.additional-guest-field-container td {
    padding: 5px 5px 10px;
}
.additional-guest-grid-single-line {
    display:grid;
    column-gap: 8px;
    grid-template-columns: auto auto auto auto auto;
}
.additional-guest-grid-stacked {
    display:grid;
    grid-template-columns: 20% 70%;
    row-gap: 12px;
    column-gap: 30px;
}
.reg-form-select-auto-width {
    width: auto;
    padding-right: 20px; /* Add padding for the dropdown arrow */
    box-sizing: border-box;
}
.total-nights {
    padding-top: 34px;
    color: #666;
    font-size: 90%;
}
/* Early bird discount on reg form and program page */
.rs-program-detail .rs-program-early-bird-discount,
.rs-program-registration .rs-program-early-bird-discount {
    font-weight: bold;
    border: 1px solid #fff; /* color set dynamically based on theme highlight color */
    background-color: #fff;
    padding: 1.5rem;
    margin-top: 1rem;
    margin-bottom: 1rem;
}
.rs-program-list .rs-program-early-bird-discount {
    font-weight: bold;
}

.rs-show-next {
    cursor: pointer;
}

/* Registration Accordion */

.rs-registration-section-content {
    display: none;
    overflow: hidden;
}

fieldset:first-of-type .rs-registration-section-content
{
    display: block;
}

.rs-registration-section-people {
    display: none; /* shown by js when multiple people are selected */
}

.rs-registration-section-welcome .rs-fields {
    overflow: hidden;
    margin-left: -3%;
}

.rs-registration-section-welcome .rs-field {
    margin-bottom: 5px;
    width: 47%;
    float: left;
    margin-left: 2.9%;
}

.rs-registration-section-welcome .rs-field label {
    height: 20px;
}

ul.rs-custom-field-errors {
    margin: 0;
}

.rs-registration-section-welcome .wprs-registration-error {
    padding: 5px;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

.rs-registration-section-heading-number {
    font-family: "Helvetica Neue",Helvetica,Roboto,Arial,sans-serif;
    font-weight: 300;
    border-radius: 50%;
    border: 1px solid black;
    width: 28px;
    height: 28px;
    display: inline-block;
    margin-right: 10px;
    font-size: 20px;
    line-height: 25px;
    text-align: center;
    vertical-align: middle;
    top: -2px;
    position: relative;
}

.rs-registration-section {
    margin-bottom: 1rem;
}

.rs-registration-next {
    display: block;
    text-align: center;
    background: black;
    color: white;
    float: right;
    margin-top: 1rem;
}

.rs-registration-next-wrap {
    overflow: hidden;
    /*border-bottom: 1px dotted #ccc;*/
    /*padding-bottom: 10px;*/
}

.rs-registration-next:hover {
    color: white;
}

.rs-registration-next:focus {
    color: white;
}


.rs-registration-section-note {
    margin: 10px 0;
}

/* Registration Sidebar */

.rs-reg-main.with-sidebar {
    width: 75%;
    margin-right: 3%;
    float: left;
}

.rs-reg-main.with-sidebar #rs-registration-form {
    margin-top: 0;
}

.rs-reg-main.with-sidebar .rs-program-early-bird-discount {
    margin-top: 0;
}

.rs-reg-sidebar {
    float: right;
    width: 21%;
    font-size: 0.8rem;
    margin-top: 46px;
}

.rs-reg-sidebar-section {
    background: #f5f5f5;
    overflow: hidden;
    border: 1px solid #dedede;
    margin-bottom: 10px;
}

.rs-reg-sidebar-section-quote {
    position: relative;
}

.rs-reg-sidebar-section-quote .rs-reg-sidebar-content {
    margin-right: 20px;
}

.rs-reg-sidebar-section-merchant .rs-merchant-of-record {
    border: none;
    margin: 0;
}

.rs-reg-sidebar-section p {
    font-size: inherit;
    line-height: 1.3;
    margin: 10px 0;
}

.rs-reg-sidebar-section p:first-of-type {
    margin-top: 0;
}

.rs-reg-sidebar-section p:last-of-type {
    margin-bottom: 0;
}

.rs-reg-sidebar-section-quote:before {
    color: #ccc;
    content: '\201D';
    font-size:  55px;
    line-height:  1;
    position:  absolute;
    right: 5px;
}

.rs-reg-sidebar .rs-program-photo {
    width: 100%;
    height: auto;
    margin: 0;
}

.rs-reg-sidebar #rs-reg-sidebar-title #program-title-reg-form {
    font-size: 120%;
    line-height: 1.2;
}

.rs-reg-sidebar-content {
    clear: both;
    padding: 10px;
}

.rs-reg-sidebar-details {
}

.rs-reg-sidebar-details .rs-date {
    font-weight: bold;
}

.rs-reg-sidebar-summary {
    border-top: 1px solid #dedede;
}

.rs-reg-sidebar-summary .rs-total-calculated {
    font-size: 16px;
}

.rs-reg-sidebar-details .rs-date,
.rs-reg-sidebar-details .rs-teachers {
    margin-top: 10px;
}

/* Quick add registration email notification checkbox */
#rs-quick-add-reg-email-wrap.alert-box.info {
    background-color: #fff;
    border-color: lightgrey;
}

section.container > .row {
    max-width: 70rem;
}

.rs-reg-sidebar-fixed {
    position: fixed;
    top: 0;
}

.rs-reg-footer {
    display: none;
}

@media (max-width: 640px) {
    .rs-reg-main.with-sidebar {
        margin: 0;
        width: 100%;
        float: none;
    }

    .rs-reg-sidebar {
        margin: 0;
        width: 100% !important;
        float: none;
    }

    .rs-registration-staff-can-register {
        margin-top: 20px;
    }

    .rs-reg-sidebar-summary {
        display: none;
    }

    .rs-reg-footer {
        display: block;
        font-size: 0.8rem;
        clear: both;
    }

    .rs-reg-sidebar-inner .rs-reg-sidebar-section-quote,
    .rs-reg-sidebar-inner .rs-reg-sidebar-section-contact {
        display: none;
    }
}

@media(min-width: 641px) {
    .rs-program-registration {
        min-height: 200vh;
    }
}

/* Language switching */

ul.rs-language-selection {
    float: right;
    font-size: 12px;
}

ul.rs-language-selection {
    float: right;
    font-size: 12px;
}

@media print {
    ul.rs-language-selection {
        display: none;
    }

    a[href]:after {
        content: none !important;
    }
}

.rs-language-box {
    float: right;
}

@media print {
    .rs-language-box {
        display: none;
    }
}

.rs-language-box .rs-language-selection {
    font-size: 12px;
    display: inline-block;
    width: auto;
    height: 22px;
    padding: 0 18px 0 5px;
    cursor: pointer;
    margin: 0;
}

.rs-language-box .rs-language-label {
    font-size: 12px;
    color: rgba(0,0,0,0.75);
}

.rs-small {
    font-size: 85%;
    color: #777;
    line-height: 1.3;
}

.rs-bold {
    font-weight: bold;
}

.rs-hidden {
    display: none;
}

.rs-invert-color th {
    background-color: #000;
    color: white;
}

.rs-price-lodging-header {
    background-color: #eee;
    border-top: 1px solid #333;
}

.rs-price-lodging-table {
    border: 1px solid #333;
}

.rs-center-external-url a {
    color: #0052cc;
    text-decoration: underline;
}

.rs-registration-notice {
    background: #eee;
    border: 1px solid #ddd;
    padding: 20px;
    margin: 20px 0;
}

.rs-online-program {
    background: #eee;
}

.rs-online-program .container a {
    color: #0073aa !important;
    text-decoration: underline;
}

.rs-online-program .site-logo {
    margin: 20px 0;
}

.rs-online-program [role="main"] {
    margin-top: 20px;
}

.rs-registration-notice a {
    color: blue;
}

/* Animations */

@keyframes shake {
    10%, 90% {
        transform: translate3d(-1px, 0, 0);
    }

    20%, 80% {
        transform: translate3d(2px, 0, 0);
    }

    30%, 50%, 70% {
        transform: translate3d(-4px, 0, 0);
    }

    40%, 60% {
        transform: translate3d(4px, 0, 0);
    }
}
.is-expandable:not(.is-expanded) span:first-child:after {
    content: '...';
}
.is-expandable .expand-remainder {
    display: none;
}
.is-expandable.is-expanded .expand-remainder {
    display: block;
}
.rs-uppercase {
    text-transform: uppercase;
    font-size: 85%;
}

/* Recurring package programs */
#recurring-package-date-select {
    width: 325px;
    float: left;
}

/* Hardcoded PM not included custom fields style */
#rs-question-rg-hardcoded-pm-not-included-acceptance-row, #rs-question-rg-hardcoded-free-preparation-course-row {
    background-color: #F5F5F5;
    padding: 1.3rem;
    margin-top: 1.5rem;
}
#reg-form-rg-hardcoded-pm-not-included-acceptance, #reg-form-rg-hardcoded-free-preparation-course {
    margin-bottom: 0;
    padding: 5px;
    border-color: #666666;
}
#rs-question-rg-hardcoded-pm-not-included-acceptance-row label, #rs-question-rg-hardcoded-free-preparation-course-row label {
    line-height: 1.3rem;
    margin-top: 5px;
    color: #666666;
}
#rs-question-rg-hardcoded-pm-not-included-acceptance-row small, #rs-question-rg-hardcoded-free-preparation-course-row small {
    margin-top: 5px;
}

/* MP registration form datepicker style */
.ui-datepicker select.ui-datepicker-month { font-size: 0.8em;}
