@media screen and (max-width: 767px) {
  .form-registration .btn-group {
    width: 100%; }

  #banner_image_container {
    display: none; }

  .form-registration-controls input.btn, .form-registration-controls button.btn {
    width: 100%;
    margin-bottom: 10px; } }
@media screen and (min-width: 992px) {
  .form-registration input:not([type=radio]):not([type=checkbox]):not([type=submit]) {
    width: 230px; }
  .form-registration select {
    width: 240px; }
  .form-registration .form-registration-controls input, .form-registration .form-registration-controls button {
    width: auto; } }
.form-registration .form-registration-controls {
  padding: 0;
  margin: 0 0 10px 0;
  border: none;
  box-shadow: none;
  text-align: right; }
.form-registration .alert {
  font-size: 0.875rem; }

.form-group input, .form-group textarea, .form-group select {
  display: inline-block;
  margin: 0;
  outline: 0;
  background-color: white;
  -webkit-border-radius: 3px;
  border-radius: 3px;
  box-shadow: inset 0 1px 0 #EEE, white 0 1px 0;
  border: 1px solid #ccc;
  padding: 5px; }

#shopping_cart button[data-toggle=collapse], #shopping_cart article.total-deposit {
  background-color: #4A4A4A;
  color: white; }
#shopping_cart button[data-toggle=collapse] {
  border-radius: 0 !important;
  font-weight: 600;
  font-size: 1rem;
  padding: 6px 15px;
  width: 100%; }
#shopping_cart article {
  font-size: 1rem;
  font-weight: 100;
  color: #4a4a4a;
  border-bottom: none;
  padding: 5px 15px; }
#shopping_cart article.total {
  font-size: 1rem;
  font-weight: 400;
  color: #4a4a4a;
  border-top: 1px solid #ddd; }

div.input {
  position: relative;
  overflow: visible;
  display: block;
  height: 30px;
  margin: 6px auto; }
  div.input input, div.input select, div.input textarea {
    position: absolute;
    left: 200px;
    top: 0;
    transition: .2s linear background;
    width: 230px;
    max-width: 230px; }
  div.input input {
    height: 20px; }
  div.input select {
    height: 100%;
    width: 240px;
    max-width: 240px; }

input.focus, select.focus {
  z-index: 2; }

.placeholder {
  position: relative;
  top: 1px;
  right: 1px;
  bottom: 1px;
  left: 2px;
  z-index: 1;
  height: 20px;
  padding: 4px;
  line-height: 20px;
  color: #555;
  text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);
  white-space: nowrap;
  transition: opacity .1s, font-size .1s;
  cursor: text;
  font-size: 0.9rem; }

label.error {
  position: absolute;
  top: 10px;
  left: 450px; }

.input_validation_warning {
  color: #a94442;
  font-weight: normal;
  font-size: 0.625rem; }
  .input_validation_warning img {
    margin-right: 5px; }

.input_validation_pagewarning {
  background-attachment: scroll;
  background-clip: border-box;
  background-color: #E84C3D;
  border: medium none #E84C3D;
  color: #FFFFFF;
  background-image: none;
  background-origin: padding-box;
  display: block;
  font-size: 0.875rem;
  font-weight: 100;
  min-height: 1rem;
  line-height: 1rem;
  margin-top: 5px;
  overflow-x: hidden;
  overflow-y: hidden;
  padding: 5px 10px;
  text-align: left;
  vertical-align: middle; }

/* validation */
.input_valiation_instruction {
  color: #4A4A4A;
  font-weight: normal;
  font-size: 0.625rem;
  margin-top: 5px; }

/* registration */
div.controls {
  float: right; }

.no_options {
  background-color: #efefef;
  width: 100%;
  text-align: left;
  padding: 10px; }

#sku_summary_table {
  font-size: 1rem;
  width: 100%; }
  #sku_summary_table td {
    padding: 8px 8px 8px 0;
    font-weight: 100; }
  #sku_summary_table tr.row-item {
    font-size: 1rem;
    line-height: 1.6rem;
    color: #5a5a5a;
    text-align: left;
    font-weight: 100;
    text-transform: none; }
  #sku_summary_table tr.row-item td.name {
    line-height: 1.42857143;
    vertical-align: top; }
  #sku_summary_table tr.row-item td.value {
    line-height: 1.42857143;
    vertical-align: top; }
  #sku_summary_table tr#discount_row td {
    line-height: 1.42857143;
    vertical-align: top;
    border-top: 1px solid #ddd;
    color: #2dcc70; }
  #sku_summary_table tr.total td {
    font-size: 1rem;
    color: #4a4a4a;
    line-height: 1.42857143;
    vertical-align: top;
    font-weight: 400;
    border-top: 1px solid #ddd; }
  #sku_summary_table h2 {
    display: inline-block; }

#content h2 {
  color: #474747;
  font-family: 'Open Sans', sans-serif;
  font-size: 1.25rem;
  font-weight: bold;
  margin: 15px 0; }

#service_charge_sku td.service_charge, #service_charge_sku span.service_charge {
  font-size: 1rem;
  line-height: 1.6rem;
  color: #5a5a5a;
  text-align: left;
  font-weight: 100;
  padding: 8px 8px 8px 0;
  line-height: 1.42857143;
  vertical-align: top;
  border-top: 1px solid #ddd;
  text-transform: none; }
  #service_charge_sku td.service_charge.value, #service_charge_sku span.service_charge.value {
    text-align: right; }

#deposit_terms {
  margin-bottom: 15px;
  color: #999999;
  vertical-align: top;
  font-style: italic;
  font-size: 0.625rem; }
  #deposit_terms p {
    display: inline-block;
    vertical-align: top; }

#deposit_container label {
  display: inline-block;
  margin-left: 10px;
  padding: 5px;
  text-transform: uppercase;
  font-size: 0.875rem;
  color: #333333;
  font-weight: 100;
  vertical-align: top; }
#deposit_container input {
  margin-top: 7px !important; }

.payment_option_container label {
  display: inline-block;
  margin-left: 10px; }

#reg_options_form label.error {
  position: relative;
  top: 0;
  left: 10px;
  margin-right: 10px; }

#camp_information_container {
  background-color: #fff;
  padding: 0 10px 10px 10px; }
  #camp_information_container .name {
    font-weight: 600;
    font-size: 1.25rem; }
  #camp_information_container .form-group .name, #camp_information_container .form-group .value {
    font-size: 1.125rem;
    font-weight: 100; }
  #camp_information_container .form-group .name {
    font-weight: 500; }

.form-registration .form-group label:not(.btn) {
  font-size: 0.75rem;
  text-transform: uppercase;
  font-style: normal !important;
  font-weight: normal !important;
  color: #333333;
  padding-right: 10px; }
.form-registration .form-group label.copy {
  font-size: 1rem;
  line-height: 1.6rem;
  color: #5a5a5a;
  text-align: left;
  font-weight: 100;
  text-transform: none; }

/* Registration Blocks */
.block-content h1, .block-content h2, .block-content h3, .block-content h4 {
  color: #5A5A5B; }

.block-content h4 {
  font-size: 0.875rem; }

/* Registration wizard picklists */
.camp_registration_form li {
  font-size: 0.75rem;
  list-style: none;
  display: block;
  line-height: 20px;
  vertical-align: middle;
  font-family: 'Open Sans', sans-serif; }

.camp_registration_form ul.ui-multiselect-checkboxes li {
  font-size: 0.625rem; }

.camp_registration_form ul.ui-multiselect-checkboxes li {
  margin-left: 0px; }

div.nvp {
  overflow: auto; }

div.nvp div.name {
  float: left;
  width: 30%; }

div.nvp div.value {
  float: left;
  width: 70%; }

div.nvp:after {
  clear: both; }

div.nvp div.left, div.nvp div.right {
  float: left; }

div.nvp div.left {
  width: 30%;
  padding: 5px; }

div.nvp div.right {
  width: 70%;
  padding: 5px; }

/* registration - pre-payment */
#prepayment_container .document {
  overflow: hidden; }

.document_links_container .document .link {
  font-size: 1.4rem; }
.document_links_container .document-name {
  font-weight: 100;
  font-size: 1.3em;
  color: #474747;
  margin-bottom: 10px;
  text-transform: uppercase; }
.document_links_container .document-description {
  font-weight: 100;
  font-size: 1em;
  color: #8b8b8b; }

.document_links_container .document {
  margin-bottom: 10px; }

#signature_container {
  margin-top: 15px;
  font-size: 0.75rem;
  line-height: 18px;
  padding: 0 10px;
  vertical-align: top; }
  #signature_container .checkbox {
    margin-top: 20px;
    margin-bottom: 20px; }

#signature_container input {
  margin-top: 0px !important; }

/* registration - payment */
#payment_container {
  height: 1000px; }

#payment_container .section_body {
  height: 100%; }

.payment-disclaimer-container .disclaimer-text {
  font-size: 0.6875rem;
  text-transform: uppercase;
  letter-spacing: 2px;
  line-height: 18px;
  padding: 0px 10px; }

/* registration - confirmation */
section#body #confirmation_container table {
  font-size: 1rem; }
  section#body #confirmation_container table.table {
    margin-bottom: 0; }
section#body #confirmation_container header {
  height: auto;
  padding: 0;
  text-align: left; }
  section#body #confirmation_container header .name, section#body #confirmation_container header .dates {
    padding: 10px 20px; }
  section#body #confirmation_container header .dates {
    font-size: 1.2rem; }
section#body #confirmation_container main > section.article {
  margin-bottom: 20px; }
  section#body #confirmation_container main > section.article > header {
    font-weight: 500;
    color: black; }
  section#body #confirmation_container main > section.article table th, section#body #confirmation_container main > section.article table td {
    border-top: none; }
  section#body #confirmation_container main > section.article table th {
    font-weight: 100;
    width: 30%; }
  section#body #confirmation_container main > section.article section#registrant_summary {
    margin-bottom: 0;
    padding: 15px; }
    section#body #confirmation_container main > section.article section#registrant_summary > header main {
      display: none; }
    section#body #confirmation_container main > section.article section#registrant_summary .lead, section#body #confirmation_container main > section.article section#registrant_summary .item {
      text-transform: none; }
    section#body #confirmation_container main > section.article section#registrant_summary .lead {
      font-size: 1.2rem;
      margin-bottom: 0;
      font-weight: 400; }
    section#body #confirmation_container main > section.article section#registrant_summary .item {
      font-size: 0.9rem;
      font-weight: 100; }
    section#body #confirmation_container main > section.article section#registrant_summary aside {
      display: none; }
  section#body #confirmation_container main > section.article section#upcoming_payments {
    padding: 15px; }
    section#body #confirmation_container main > section.article section#upcoming_payments.block {
      margin-bottom: 0; }
    section#body #confirmation_container main > section.article section#upcoming_payments table.table-upcoming th {
      font-weight: 700 !important;
      font-size: inherit !important;
      text-transform: none !important;
      width: 20%;
      text-align: center; }
      section#body #confirmation_container main > section.article section#upcoming_payments table.table-upcoming th:first-child {
        width: 30%;
        text-align: left; }
    section#body #confirmation_container main > section.article section#upcoming_payments table.table-upcoming td {
      text-align: center;
      width: 20%; }
      section#body #confirmation_container main > section.article section#upcoming_payments table.table-upcoming td:first-child {
        width: 30%;
        text-align: left; }
    section#body #confirmation_container main > section.article section#upcoming_payments table.table-upcoming tfoot td {
      border-top: 1px solid #dddddd;
      font-weight: 700; }
    section#body #confirmation_container main > section.article section#upcoming_payments h2 {
      color: inherit !important;
      margin-top: 0; }
    section#body #confirmation_container main > section.article section#upcoming_payments table + h2 {
      margin-top: 30px; }
  section#body #confirmation_container main > section.article table.table-receipt tr, section#body #confirmation_container main > section.article table.table-receipt th {
    padding-left: 0; }
  section#body #confirmation_container main > section.article table.table-receipt th {
    text-transform: capitalize; }
  section#body #confirmation_container main > section.article table.table-receipt tr.receipt-subtotal {
    border-top: 1px solid #dddddd; }
    section#body #confirmation_container main > section.article table.table-receipt tr.receipt-subtotal * {
      font-weight: 400; }
  section#body #confirmation_container main > section.article table.table-receipt tr.receipt-balance-due * {
    font-weight: 400;
    font-size: 1.2rem; }

#registration_email_alert {
  margin-bottom: 10px;
  background-color: #2DCC70;
  color: #ffffff;
  font-size: 1rem;
  font-weight: 100;
  border-radius: 0;
  -webkit-border-radius: 0; }

#registration_message {
  font-size: 1rem;
  line-height: 1.6rem;
  color: #5a5a5a;
  text-align: left;
  font-weight: 100; }

main section#body .form-registration-deposit section.page > header {
  height: auto;
  padding: 0;
  text-align: left; }
  main section#body .form-registration-deposit section.page > header .name, main section#body .form-registration-deposit section.page > header .dates {
    padding: 10px 20px; }
  main section#body .form-registration-deposit section.page > header .dates {
    font-size: 1.2rem; }

div[data-braintree-id=american-express-card-icon], div[data-braintree-id=jcb-card-icon] {
  display: none !important; }

#sku_summary_table tr.row-item.row-sku td {
  font-size: 1rem;
  font-weight: 400; }
#sku_summary_table tr.row-item.row-installment td {
  font-size: .9rem;
  font-weight: 200; }

#shopping_cart article.row-sku span {
  font-size: 1rem;
  font-weight: 400; }
#shopping_cart article.row-installment span {
  font-size: .9rem;
  font-weight: 200; }

#reg_payment_form .alert.alert-info ul.upcoming {
  padding-inline-start: 20px !important; }
  #reg_payment_form .alert.alert-info ul.upcoming li {
    margin-top: 5px; }

/*# sourceMappingURL=registration.css.map */