/*Ninja Form Styles*/
.nf-field-description br {
  display: none;
}
.nf-form-cont {
  max-width: 1140px;
  box-sizing: content-box;
}
.nf-form-content {
  max-width: none;
  padding: 0;
}
.nf-field-element img {
  max-width: 100%;
}
.nf-form-cont .nf-field-label {
  -ms-flex-align: top;
  align-items: top;
}
body .nf-field-label .nf-label-span, 
body .nf-field-label label {
  font-weight: normal;
  font-size: 18px;
}
body .checkbox-container label {
  width: 90%;
}
body .section-container {
  background-color: #f6f6f7;
  padding: 20px;
  margin-bottom: 20px;
}
.nf-form-cont .package_container,
.nf-form-cont .package_row_container,
.nf-form-cont .field_cluster_container {
  background-color: #f6f6f7;
  display:block;
  margin-bottom:20px;
  padding: 20px;
}
.nf-form-cont  .section-container .package_container,
.nf-form-cont  .section-container .package_row_container,
.nf-form-cont  .section-container .field_cluster_container {
  background-color: transparent;
  display:block;
  margin-bottom:0px;
  padding: 0px;
}
.nf-form-cont .package_container .field-wrap,
.nf-form-cont .package_row_container .field-wrap,
.nf-form-cont .field_cluster .field-wrap {
  display:block !important;
}
.nf-form-cont .package_container .nf-field-label,
.nf-form-cont .package_row_container .nf-field-label,
.nf-form-cont .field_cluster .nf-field-label {
  display: block;
  padding-bottom: 15px;
}
.nf-form-cont .package_container .nf-field-description,
.nf-form-cont .package_row_container .nf-field-description,
.nf-form-cont .field_cluster .nf-field-description {
  display: block;
  margin-right:0;
}
.nf-form-cont .package_container img,
.nf-form-cont .package_row_container img {
  height:auto;
  max-width:100% !important;
  padding-bottom:15px;
  width:100% !important;
}
.nf-form-cont .package_container .price,
.nf-form-cont .package_row_container .price {
  font-size:20px;
  color:red;
}
.nf-form-cont .a_la_carte {

}
.nf-form-cont .subtotal_section {
  text-align: center;
  font-size: 20px;
  background-color: #eee;
  padding: 10px;
  font-weight: bold;
}
.nf-form-cont .subtotal_section span {
  color: var(--main-color);
}
.nf-form-cont .terms-checkbox label {
  font-size:inherit;
}
.nf-form-cont .notes {
  background-color:#eee;
  padding:10px;
}
.nf-form-fields-required {
  display:none;
}

/* Price */
.price {
  color: var(--main-color);
}

/* Part header */
.part-header {
  text-align: center;
}
.part-header h2 {
  font-size: 3.5em;
}

/* Progress marker */
.progress-marker ul {
  display: flex;
  list-style: none;
  flex-wrap: nowrap;
  padding: 0;
}
.progress-marker li {
  flex-basis: 20%;
  border-top: solid 3px;
  text-align: center;
  padding-top: 10px;
}
.progress-marker li.active {
  border-color: var(--main-color);
  color: var(--main-color);
}
.progress-marker li span {
  display: block;
}

/* Prev/next buttons */
.nf-next-previous input {
  padding: 18px 45px !important;
}
.nf-next-previous  .nf-next {
  background-color: var(--main-color) !important;
}

/* "Submit" button */
input[type="submit"] {
  padding: 18px 45px !important;
  height: auto !important;
  background-color: var(--main-color) !important;
  font-size: 1.4em !important;
}

/* Checkbox items */
.checkbox-container.label-right .field-wrap {
  display: block !important;
}
.checkbox-container.label-right .nf-field-description {
  margin-right: 0 !important;
  padding-left: 30px;
  padding-top: 5px;
}
body .nf-form-content .listcheckbox-wrap li {
  line-height: 1em;
}

/* Highlights for checkbox items that are clicked */
.package_container.highlighted {
  color: inherit;
  box-shadow: 0px 0px 5px #888;
}

/* For form field: "Time Requested" */
.field-time-requested {
  margin-bottom: 9px !important;
}
.field-time-requested ul {
  display: flex;
  flex-wrap: wrap;
}
.field-time-requested .list-radio-wrap .nf-field-element li {
  flex-basis: 24%;
  background-color: #eaebec;
  border-radius: 5px;
  margin-right: 1% !important;
  overflow: hidden;
}
.field-time-requested .list-radio-wrap .nf-field-element li.selected {
  background-color: var(--main-color);
  color:#fff;
}
.field-time-requested .list-radio-wrap .nf-field-element li input {
  visibility: hidden;
  margin: 0;
  height: 1px !important;
}
.field-time-requested .list-radio-wrap .nf-field-element li label {
  margin: 0 !important;
  transition: 0.3s;
  padding: 5px;
}
.field-time-requested .list-radio-wrap .nf-field-element li label:hover {
  cursor: pointer;
  background-color: var(--main-color);
  color: #fff;
}
.field-time-requested .listradio-wrap .nf-field-element label::before,
.field-time-requested .listradio-wrap .nf-field-element label::after {
  display:none;
}

/* Fields meant to be hidden from user */
.hiddenfield {
  visibility: hidden;
}

/* Error message display */
.nf-after-form-content {
  position: fixed;
  bottom: 30px;
  width: 50%;
  left: 25%;
  z-index: 999;
  font-size: 18px;
  text-align: center;
}
.nf-after-form-content .nf-error-msg {
  padding: 20px;
  background-color: #000;
}

/* For Processing overlay */
.processing_overlay {
  display:none;
  height: 100vh;
  width: 100%;
  position: fixed;
  z-index: 99999;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
}
.processing_overlay_inner {
  height: 100% !important;
  width: 100%;
  background-color: rgba(0,0,0,0.4);
  position: relative;
  display:flex;
  justify-content:center;
  align-items:center;
  text-align:center;
}
.processing_overlay_inner div {
  width: 400px;
  height: auto;
  position: relative;
  background-color: #fff;
  padding: 40px;
  max-width: 100%;
  box-shadow: 0px 0px 10px 0px rgba(0,0,0,0.2);
}

@media (max-width: 576px) {

  .part-header h2 {
    font-size: 2.5em;
  }
  .progress-marker ul {
    flex-wrap: wrap;
  }
  .progress-marker li {
    flex-basis: 33%;
    margin-bottom:20px;
  }
  .nf-next-previous input {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }

}