.add-session-alert {
  padding-left: 16px;
  padding-right: 16px;
  padding-bottom: 10px; }

.alert-confirm {
  display: none; }

.alert-housing {
  font-family: "Alegreya", serif;
  background: #718767;
  color: #ffffff; }

.alert-margin {
  margin-top: 20px;
  margin-bottom: 0px; }

.app-alert-parent {
  position: fixed;
  top: 0px;
  margin-top: calc(100vh * .15);
  margin-left: 15%;
  margin-right: 15%;
  width: calc(100vw * .7); }

.camper-edit-alert {
  border: 2px solid;
  padding: 10px;
  border-radius: 4px; }

.camper-edit-link {
  color: #23367a;
  font-size: 14px;
  padding: 0; }

.camper-edit-text {
  font-size: 14px; }

.camper-edit-warning {
  font-size: 18px;
  font-weight: 900; }

.camper-edit-alert-container {
  padding-left: 16px;
  padding-right: 16px; }

.early-bird-container, .early-bird-icon-container,
.session-icon-container,
.session-text-container {
  display: inline-block; }

.early-bird-icon-container {
  background-color: #008000;
  border-radius: 50%;
  height: 16px;
  width: 16px;
  text-align: center; }

.field-error-msg {
  color: #9c0f17;
  font-size: 14px;
  font-weight: 700; }

.form-error-msg {
  color: #9c0f17;
  font-family: "Alegreya", serif;
  font-size: 18px;
  font-weight: 700;
  margin-top: 10px; }

.signature-error-msg {
  color: #9c0f17;
  font-family: "Alegreya", serif;
  font-size: 18px;
  font-weight: 700;
  margin-top: -10px;
  margin-bottom: 10px;
  margin-left: 10px; }

.invalid.submitted .ng-invalid,
.ng-submitted .ng-invalid {
  border-color: #9c0f17; }

.paypal-approve {
  color: #009cde;
  font-family: "Alegreya", serif;
  font-size: 18px;
  font-weight: 700; }

.session-checkmark {
  float: right; }

.session-checkmark img {
  height: 22px;
  width: 22px; }
  @media (max-width: 992px) {
    .session-checkmark img {
      margin-top: -4px; } }

.session-notice {
  color: #002917;
  padding: 20px 20px 10px 20px;
  font-size: 12px;
  font-weight: 700; }

.sessions-all-year-notice {
  color: #002917;
  display: -webkit-inline-box;
  display: inline-flex;
  padding: 0 20px 10px 20px;
  font-size: 12px;
  font-weight: 700; }

.session-navigate-register {
  color: #002917;
  display: -webkit-inline-box;
  display: inline-flex;
  font-size: 12px;
  font-weight: 700;
  padding: 0 20px 20px 20px; }

.session-text-container, .terms-text {
  padding-left: 4px; }

.session-save-alert {
  color: #df7d21;
  display: inline-block;
  font-family: "Alegreya", serif;
  float: right; }

@media screen and (768px) {
  .section-head-container:before {
    content: '';
    float: right;
    display: block;
    width: 154px;
    margin: 0 0 15px 15px; }
  .session-save-alert {
    position: absolute;
    top: 20px;
    right: 20px;
    width: 154px;
    height: 33px;
    padding: 5px;
    margin: 0px; } }

@media (max-width: 768px) {
  .camper-alert-button-container {
    text-align: center; }
  .unsaved-session-text {
    display: none; } }

/* This section is for general styling */
html, body {
  padding: 0;
  margin: 0;
  box-sizing: border-box;
  font-size: 14px;
  font-family: "Open Sans", sans-serif;
  color: #002917;
  background-image: url("/images/forest-bkgrd.jpg");
  background-size: cover; }

*, *:before, *:after {
  box-sizing: inherit; }

input.form-control, select.form-control, textarea.form-control {
  background-color: #f5f5f5; }

.align-left {
  text-align: left; }

.align-right {
  text-align: right; }

.clear:before,
.clear:after {
  content: "";
  display: table; }

.clear:after {
  clear: both; }

.clear {
  zoom: 1;
  /* For IE 6/7 (trigger hasLayout) */ }

/* End of General Styling */
/* This section is for styling of the Forms */
#parent-form, #camper-form, #optional-pay-forms {
  background: #ffffff;
  padding: 20px; }
  @media (max-width: 768px) {
    #parent-form, #camper-form, #optional-pay-forms {
      background: none;
      padding: 0; } }

#payment-form {
  background: #ffffff;
  border-radius: 10px;
  padding: 20px; }

#parent-page, #camper-page, #optional-pay-container {
  background: #3e4938;
  padding: 1.5%; }
  @media (max-width: 768px) {
    #parent-page, #camper-page, #optional-pay-container {
      background: #ffffff;
      padding: 20px; } }

#confirm-page {
  margin-top: 80px; }

#failure-page {
  margin-top: 140px; }

#optional-stripe-form {
  margin-left: 10px;
  margin-right: 10px; }

/* End of Form Styling */
/* This section handles general styling of Containers */
.form-container {
  box-shadow: 0px 0px 5px 1px rgba(0, 0, 0, 0.15);
  -moz-box-shadow: 0px 0px 5px 1px rgba(0, 0, 0, 0.15);
  -o-box-shadow: 0px 0px 5px 1px rgba(0, 0, 0, 0.15);
  -webkit-box-shadow: 0px 0px 5px 1px rgba(0, 0, 0, 0.15);
  background: #ffffff;
  position: relative;
  border-radius: 5px;
  padding: 20px;
  max-width: 800px;
  margin: 20px auto 40px auto;
  min-width: 320px; }

.content-container {
  position: relative;
  width: 100vw;
  height: 100%; }

.optional-button-container {
  padding-left: 0;
  padding-right: 0; }

.page-container {
  position: relative;
  width: 100vw;
  height: 100vh;
  overflow: hidden; }

.session-content-container {
  padding: 0 20px 20px 20px;
  background: #ececec;
  border-top: 1px solid #e9e9e9; }

.session-button-container {
  padding-top: 20px; }

.sliding-container {
  width: calc(100% * 4);
  height: calc(100vh - 100px);
  -webkit-transition: left 1s ease-in-out;
  transition: left 1s ease-in-out; }

/* Container styling ends here */
/* This section handles styling of fonts and icons */
#optional-page-header {
  position: relative;
  max-width: 800px;
  margin: 20px auto 20px auto;
  min-width: 320px; }

.dob-example {
  font-size: 14px; }

.header-font {
  font-weight: 700;
  color: #002917; }

.h1 {
  font-family: "Alegreya", serif;
  font-size: 45px;
  font-weight: 700;
  margin-bottom: 5px;
  margin-top: 15px; }
  @media (max-width: 768px) {
    .h1 {
      font-size: 30px; } }
  @media (max-width: 320px) {
    .h1 {
      font-size: 26px; } }

.h2 {
  font-family: "Alegreya", serif;
  font-size: 26px;
  font-weight: 700;
  margin-top: 0;
  text-align: center; }

.h3 {
  font-family: "Alegreya", serif;
  font-size: 14px;
  font-weight: 700; }
  .h3.optional-pay-header {
    margin-bottom: 0;
    margin-top: 0;
    text-align: center; }

.h3.success-id {
  font-family: "Alegreya", serif;
  font-size: 18px;
  font-weight: 700;
  margin-bottom: 0;
  margin-top: 10px;
  text-align: center; }

.h3.success-failure-steps,
.h3.session-number {
  font-family: "Alegreya", serif;
  font-size: 16px;
  font-weight: 700; }

.fa.icon-alerts {
  font-weight: 900; }
  .fa.icon-alerts.fa-usd {
    color: #ffffff;
    font-size: 10px;
    vertical-align: 1.5px; }
  .fa.icon-alerts.fa-info-circle {
    color: #2a2e90;
    font-size: 18px; }
  .fa.icon-alerts.fa-exclamation-circle.add-session {
    color: #8f2525;
    font-size: 18px; }
  .fa.icon-alerts.fa-exclamation-circle.unsaved-session {
    color: #df7d21;
    font-size: 18px;
    margin-left: 5px; }

.waitlist-display {
  font-size: 12px;
  font-weight: 700;
  color: #295236;
  font-style: italic;
  margin-left: 0; }
  .waitlist-display.ineligible {
    color: #8f2525;
    margin-left: 0; }

/* End of Font and Icon styling */
/* This section handles the styling of the Sessions and Summary Sections */
.radio {
  color: #002917;
  margin-left: 4px; }

.radio.day-transport {
  margin-left: 6px;
  font-size: 12px; }

.disabled {
  color: darkgray;
  font-style: italic; }

label.radio-camp-program {
  padding-left: 24px;
  font-size: 12px; }

label.checkbox-alignment {
  padding-left: 0; }

input.checkbox-spacing {
  margin-right: 4px; }

.submit-button,
.stripe-error-container {
  margin-top: 20px; }

.page-submit {
  background-image: url("/images/dark-wood-texture.jpg");
  color: #ffffff;
  font-family: "Alegreya", serif; }

.page-submit:focus, .page-submit:hover {
  background-image: url("/images/dark-wood-texture.jpg");
  color: #ffe44d; }

.session-form-container {
  width: calc(100vw * .8);
  height: 100vh;
  margin: 0 auto; }

.session-column-content {
  box-shadow: 0px 0px 5px 1px rgba(0, 0, 0, 0.15);
  -moz-box-shadow: 0px 0px 5px 1px rgba(0, 0, 0, 0.15);
  -o-box-shadow: 0px 0px 5px 1px rgba(0, 0, 0, 0.15);
  -webkit-box-shadow: 0px 0px 5px 1px rgba(0, 0, 0, 0.15);
  background: #ffffff;
  border-radius: 8px;
  margin-bottom: 20px; }

.session-container {
  border-bottom: 1px solid #d6d6d6; }

.session-container:last-child {
  border-bottom: none; }

.optional-paypal-stripe-container {
  padding: 0 20px; }

.optional-total-container {
  color: #002917;
  font-size: 20px;
  margin-bottom: 10px;
  margin-left: 0;
  margin-right: 0; }

.section-head-container, .review-content-container {
  padding: 20px; }

.section-head-container {
  position: relative; }

.session-title {
  font-size: 16px;
  display: inline-block;
  color: #002917; }

.session-date, .mobile-date, .min-payment {
  font-family: "Open Sans", sans-serif;
  font-size: 14px;
  font-weight: 400; }

.session-instructions {
  font-size: 12px; }

.session-button1, .session-button2 {
  background-image: url("/images/dark-wood-texture.jpg");
  color: #ffffff;
  width: 100%; }

.session-button1:hover, .session-button1:focus,
.session-button2:hover, .session-button2:focus {
  background-image: url("/images/dark-wood-texture.jpg");
  color: #ffe44d; }

.pay-button1,
.pay-button2,
.pay-button-container {
  padding-left: 10px;
  padding-right: 10px; }

.paypal-button-container {
  margin-bottom: 0;
  text-align: center; }

.pick-payment-text {
  font-family: "Alegreya", serif;
  font-weight: 700;
  margin-bottom: 15px; }

.program-options {
  font-weight: 900;
  font-size: 30px; }

.session-summary-head {
  font-family: "Alegreya", serif;
  font-size: 20px;
  font-weight: 700; }

.summary-head {
  float: left; }

.payment-total-edit {
  color: #23367a;
  font-family: "Alegreya", serif;
  font-size: 14px;
  font-weight: 400;
  padding: 0; }

.review-table-edit {
  color: #23367a;
  font-size: 14px;
  padding: 0; }

.session-head-edit {
  color: #23367a;
  float: right;
  margin-right: 5px;
  font-size: 14px;
  padding: 0; }

.session-head-edit:hover,
.review-table-edit:hover,
.payment-total-edit:hover {
  color: #0233e2; }

.session-head-delete {
  color: #8f2525;
  float: right;
  font-size: 14px;
  padding: 0; }

.session-head-delete:hover {
  color: #cf2225; }

.summary-program, .summary-title-pay, .review-title-pay {
  font-family: "Alegreya", serif; }

.summary-title {
  color: #002917;
  font-family: "Alegreya", serif;
  font-size: 20px;
  font-weight: 700;
  padding-top: 12px;
  padding-bottom: 12px; }

.summaries-container {
  position: relative;
  padding: 20px;
  border-bottom: 2px solid #d6d6d6; }

.summaries-total-container {
  background: #ececec;
  padding: 20px;
  font-size: 20px;
  color: #002917;
  font-weight: 700;
  border-radius: 0 0 10px 10px; }

.review-total-container {
  background: #ececec;
  padding: 20px 20px 10px;
  font-size: 20px;
  color: #002917;
  font-weight: 700; }

.session-submit-container, .session-return-container {
  padding-top: 20px;
  width: 100%; }

.no-scrolling {
  overflow-y: hidden; }

.scrolling {
  overflow-y: auto;
  -webkit-overflow-scrolling: touch; }

.slideableOpen {
  max-height: 10000px;
  overflow: hidden;
  width: inherit; }

.slideableClosed {
  max-height: 0px;
  overflow: hidden; }

.review-title {
  font-family: "Alegreya", serif;
  font-weight: 700;
  font-size: 20px;
  margin-bottom: 10px;
  color: #002917; }

.review-panel {
  border-radius: 5px;
  margin-bottom: 0px; }

.review-row {
  color: #002917;
  margin-bottom: 10px; }

.review-pay-row {
  color: #002917;
  margin-left: 0;
  margin-right: 0;
  margin-bottom: 20px; }

.specials {
  position: relative;
  font-weight: 400;
  margin: 0px;
  padding: 0px;
  font-size: 10px;
  color: #002917; }

.stripe-paypal-container {
  background: #ececec;
  border-radius: 0 0 10px 10px;
  padding: 0 20px 20px; }

.waitlist-display {
  margin-left: 10px;
  color: #285235; }

/* Responsiveness: Media Queries */
@media (max-width: 992px) {
  .session-button2, .pay-button2 {
    margin-top: 25px; }
  .early-bird, .session-date {
    display: none; } }

@media (max-width: 768px) {
  .session-form-container {
    width: calc(100vw * .9); }
  #confirm-page, #failure-page {
    margin-top: 40px; } }

@media (min-width: 992px) {
  .mobile-date, .mobile-early-bird {
    display: none; } }


.navigation-container {
  position: relative;
  width: 100vw;
  height: 100px;
  background: #718767;
  color: #ffffff;
  border-bottom: 2px solid #718767; }

.navigation-section {
  width: calc(100vw / 4);
  position: relative;
  float: left;
  height: 100px; }

.nav-section-line {
  position: relative;
  border-top: 20px solid;
  margin: 30px 0px 25px 0px;
  width: 100%;
  height: 0px;
  border-image-source: url("/images/light-wood-texture.jpg");
  border-image-slice: 10; }

.nav-section-number {
  position: relative;
  width: 50px;
  height: 50px;
  background-image: url("/images/light-wood-texture.jpg");
  border-radius: 50%;
  top: -35px;
  margin: 0px auto;
  font-size: 20px;
  text-align: center;
  padding: 10px 0px;
  color: #718767; }
  .nav-section-number .fa.fa-circle {
    visibility: hidden; }

.nav-section-number.selected {
  background-image: url("/images/light-wood-texture.jpg"); }
  .nav-section-number.selected .fa.fa-circle {
    visibility: visible; }

.nav-section-text {
  position: relative;
  text-align: center;
  font-size: 12px; }

.fa-arrow-left {
  margin-right: 4px; }

.page-title {
  margin: 10px 0; }

.page-title-sessions {
  margin: 10px 0; }
  @media (max-width: 992px) {
    .page-title-sessions {
      margin-top: 20px; } }

.page-title-review-cart {
  margin-top: 56px;
  margin-bottom: 10px; }
  @media (max-width: 992px) {
    .page-title-review-cart {
      margin-top: 10px; } }

.page-title-session-cart {
  margin-top: 49px;
  margin-bottom: 10px; }
  @media (max-width: 992px) {
    .page-title-session-cart {
      margin-top: 10px; } }

.prior-page-container {
  margin-bottom: 0px; }

.prior-page-link {
  font-size: 16px; }

.prior-page-link:hover,
.prior-page-link:active,
.prior-page-link:focus,
.optional-pay-header:hover,
.optional-pay-header:active,
.optional-pay-header:focus {
  color: #8f2525; }

.review-prior-page {
  color: #002917;
  font-size: 14px;
  font-weight: 400;
  padding: 0; }

.return-link-desk, .return-link-review {
  color: #002917;
  font-family: "Alegreya", serif;
  font-size: 18px;
  font-weight: 700;
  padding: 0; }

.review-print-container {
  padding-top: 0; }

@media (max-width: 992px) {
  .return-link-desk {
    display: none; } }

@media (min-width: 992px) {
  .return-link-mobile {
    display: none; } }

@media (max-width: 920px) {
  .hide-small {
    display: none; }
  .form-container {
    margin-top: 2px; } }

@media print {
  @page {
    size: A4 portrait;
    margin: 0 1px;
    width: auto; }
  .no-print, .navigation-container, .prior-page-container {
    display: none; }
  .sliding-container, .session-form-container, .page-container {
    height: 100%; } }


#report-form label{
    width: auto;
}