/* If two consecutive sections share the same data-bg-color, remove padding-top on the second */
section[data-bg-color=bg-white] + section[data-bg-color=bg-white], section[data-bg-color=bg-buff] + section[data-bg-color=bg-buff] {
  padding-top: 0 !important;
}

/* repeat for each background color you use */
.p-20 {
  padding: 20px;
}

.mb-20 {
  margin-bottom: 20px;
}

/*
html .container, html .container-fluid {
    max-width: 100%;

    img {
        max-width: 100%;
    }
}
    */
.extend-course-dl, .cb-course-details .cb-course-details-dl, .cb-view-course-information .cb-course-details-dl {
  font-size: 15px;
  line-height: 22px;
}
.extend-course-dl dt, .cb-course-details .cb-course-details-dl dt, .cb-view-course-information .cb-course-details-dl dt {
  float: left;
  margin-right: 5px;
}
.extend-course-dl dd, .cb-course-details .cb-course-details-dl dd, .cb-view-course-information .cb-course-details-dl dd {
  margin: 0;
}

.ncc-cb-highlight {
  padding: 20px;
  margin-bottom: 20px;
  border-radius: 3px;
  font-weight: normal;
}
.ncc-cb-highlight--grey {
  background-color: #f3efe9;
}
.ncc-cb-highlight--p0 {
  padding: 0;
}

.cb-course-information-table, .cb-view-course-information-table {
  margin-bottom: 40px;
}
.cb-course-information-table-row, .cb-course-details-information-table-row, .cb-view-course-information-table-row {
  padding: 15px 20px;
  border: 1px solid #eeeeee;
}
.cb-course-information-table-location, .cb-course-details-information-table-location-date .cb-course-details-information-table-row__location, .cb-view-course-information-table-row__location {
  font-size: 18px;
  line-height: 20px;
  font-weight: bold;
}
@media (max-width: 575.98px) {
  .cb-course-information-table-location, .cb-course-details-information-table-location-date .cb-course-details-information-table-row__location, .cb-view-course-information-table-row__location {
    margin-bottom: 15px;
  }
}
@media (min-width: 768px) {
  .cb-course-information-table-location, .cb-course-details-information-table-location-date .cb-course-details-information-table-row__location, .cb-view-course-information-table-row__location {
    justify-content: center;
    align-self: center;
    width: 287px;
    min-width: 287px;
    max-width: 287px;
  }
}
.cb-course-information-table-date, .cb-course-details-information-table-location-date .cb-course-details-information-table-row-date, .cb-view-course-information-table-row-date {
  font-size: 14px;
  line-height: 17px;
  font-weight: bold;
  padding-top: 4px;
}
@media (min-width: 768px) {
  .cb-course-information-table-date, .cb-course-details-information-table-location-date .cb-course-details-information-table-row-date, .cb-view-course-information-table-row-date {
    text-align: right;
    padding-right: 40px;
  }
}

.cb-back {
  margin: 0 0 20px 0;
}
.cb-back__button {
  font-weight: normal;
}

.cb-progress {
  margin-bottom: 60px;
}
.cb-progress__ul {
  display: flex;
  position: relative;
  padding: 0;
}
.cb-progress__ul:before {
  content: "";
  height: 2px;
  top: 50%;
  left: 0;
  right: 0;
  position: absolute;
  background-color: #b9b9b9;
}
.cb-progress__li {
  flex-grow: 1;
  position: relative;
  text-align: center;
  font-size: 0;
}
.cb-progress__li:first-child {
  text-align: left;
}
.cb-progress__li:first-child .cb-progress__text {
  right: auto;
}
@media (max-width: 767.98px) {
  .cb-progress__li:first-child .cb-progress__text {
    text-align: left;
  }
}
.cb-progress__li:nth-child(2) .cb-progress__number {
  left: -18%;
}
.cb-progress__li:nth-child(2) .cb-progress__text {
  left: -38%;
}
.cb-progress__li:nth-child(3) .cb-progress__number {
  right: -18%;
}
.cb-progress__li:nth-child(3) .cb-progress__text {
  right: -38%;
}
.cb-progress__li:last-child {
  text-align: right;
}
.cb-progress__li:last-child .cb-progress__text {
  left: auto;
}
@media (max-width: 767.98px) {
  .cb-progress__li:last-child .cb-progress__text {
    min-height: 30px;
  }
}
.cb-progress__li--active {
  font-size: 16px;
}
.cb-progress__li--active .cb-progress__text {
  color: #000;
}
.cb-progress__li--active .cb-progress__number {
  background-color: #0065BD;
  color: #fff;
}
.cb-progress__li--active .cb-progress__number:before {
  display: none;
}
.cb-progress__li--ticked .cb-progress__number:before {
  content: "";
  height: 7px;
  width: 11px;
  display: inline-block;
  border-left: 3px solid #0065BD;
  border-bottom: 3px solid #0065BD;
  transform: rotate(-45deg);
  top: 1px;
  position: relative;
}
.cb-progress__number {
  width: 30px;
  height: 30px;
  line-height: 28px;
  text-align: center;
  display: inline-block;
  border-radius: 50%;
  background-color: #fff;
  border: 2px solid #0065BD;
  font-weight: bold;
  position: relative;
}
.cb-progress__text {
  position: absolute;
  margin-left: auto;
  margin-right: auto;
  left: 0;
  right: 0;
  text-align: center;
  color: lightgray;
  font-weight: bold;
  font-size: 15px;
  line-height: 1em;
  bottom: -125%;
}
@media (max-width: 767.98px) {
  .cb-progress__text {
    width: 70px;
    text-align: center;
  }
}
@media (min-width: 768px) {
  .cb-progress__text {
    bottom: -75%;
  }
}

.cb-your-details-highlight__heading {
  margin-bottom: 5px;
}

.cb-your-details-highlight-dl {
  margin-bottom: 0;
}
.cb-your-details-highlight-dl .cb-your-details-highlight-dl__dt {
  display: inline-block;
  float: left;
  min-width: 75px;
  clear: left;
}
.cb-your-details-highlight-dl .cb-your-details-highlight-dl__dt--code {
  padding-bottom: 20px;
}
.cb-your-details-highlight-dl .cb-your-details-highlight-dl__dt--total {
  position: relative;
  top: 3px;
}
.cb-your-details-highlight-dl .cb-your-details-highlight-dl__dt--total, .cb-your-details-highlight-dl .cb-your-details-highlight-dl__dt--cost {
  padding-top: 20px;
}
.cb-your-details-highlight-dl .cb-your-details-highlight-dl__dd--code {
  position: relative;
  padding-bottom: 20px;
}
.cb-your-details-highlight-dl .cb-your-details-highlight-dl__dd--code .cb-your-details-highlight-line {
  content: "";
  position: absolute;
  width: 100%;
  display: block;
  bottom: 3px;
  border-bottom: 2px solid #dbdbdb;
}
.cb-your-details-highlight-dl .cb-your-details-highlight-dl__dd--location .fas {
  margin-right: 20px;
}
.cb-your-details-highlight-dl .cb-your-details-highlight-dl__dd--date .far {
  margin-right: 20px;
}
.cb-your-details-highlight-dl .cb-your-details-highlight-dl__dd--date span:first-child {
  margin-right: 15px;
}
.cb-your-details-highlight-dl .cb-your-details-highlight-dl__dd--total {
  font-size: 18px;
  font-weight: bold;
}
.cb-your-details-highlight-dl .cb-your-details-highlight-dl__dd--total, .cb-your-details-highlight-dl .cb-your-details-highlight-dl__dd--cost {
  position: relative;
  padding-top: 20px;
}
.cb-your-details-highlight-dl .cb-your-details-highlight-dl__dd--total .cb-your-details-highlight-line, .cb-your-details-highlight-dl .cb-your-details-highlight-dl__dd--cost .cb-your-details-highlight-line {
  content: "";
  position: absolute;
  width: 100%;
  display: block;
  top: 3px;
  border-top: 2px solid #dbdbdb;
}
.cb-your-details-highlight-dl .cb-your-details-highlight-dl__dd:last-child {
  margin-bottom: 0;
}

.cb-intro p {
  margin-bottom: 30px;
  font-size: 15px;
  line-height: 18px;
}

.cb-validation-message {
  margin: 0 0 30px 0;
  color: rgb(31, 31, 31);
  padding: 20px 20px 20px 40px;
  background-color: rgba(199, 7, 7, 0.06);
  position: relative;
}
.cb-validation-message__icon {
  color: red;
  position: absolute;
  top: 19px;
  left: 15px;
}
.cb-validation-message__p {
  font-size: 15px;
  line-height: 18px;
  margin: 0 0 10px 0;
}
.cb-validation-message .cb-validation-message-list {
  margin: 0;
  padding-left: 15px;
}
.cb-validation-message .cb-validation-message-list__li {
  margin-bottom: 5px;
}
.cb-validation-message .cb-validation-message-list__a {
  color: rgb(31, 31, 31);
  text-decoration: underline;
}
.cb-validation-message .cb-validation-message-list__a:hover {
  text-decoration: none;
}

.cb-view-course-information-table-row {
  margin-bottom: 7px;
}

@media (max-width: 991.98px) {
  .cb-view-course-information-table-row__location {
    margin-bottom: 20px;
  }
}
.cb-view-course-information-table-row__location-inner {
  padding-left: 36px;
}

.cb-view-course-information-table-row-date {
  text-align: left;
}
@media (min-width: 992px) {
  .cb-view-course-information-table-row-date {
    border-right: 1px solid rgb(225.25, 225.25, 225.25);
    width: 177px;
  }
}
.cb-view-course-information-table-row-date__calendar, .cb-view-course-information-table-row-date__time {
  padding-left: 37px;
}
.cb-view-course-information-table-row-date__calendar {
  display: block;
  white-space: pre;
}
.cb-view-course-information-table-row-date__time {
  white-space: nowrap;
  display: block;
}

.cb-view-course-information-table-row-price {
  display: inline-block;
}
@media (min-width: 992px) {
  .cb-view-course-information-table-row-price {
    padding-left: 40px;
  }
}
.cb-view-course-information-table-row-price__pounds {
  font-size: 24px;
  line-height: 26px;
  font-weight: bold;
  display: block;
}
.cb-view-course-information-table-row-price__per {
  font-size: 14px;
  line-height: 16px;
  display: block;
  white-space: pre;
  color: #666;
}

@media (max-width: 991.98px) {
  .cb-view-course-information-table-row-btn {
    padding-top: 20px;
  }
}
@media (min-width: 992px) {
  .cb-view-course-information-table-row-btn {
    text-align: right;
    padding-left: 40px;
  }
}
@media (max-width: 767.98px) {
  .cb-view-course-information-table-row-btn__link {
    margin-bottom: 5px;
  }
}

@media (min-width: 1280px) {
  .cb-course-details .col-lg-8 {
    padding-right: 120px;
  }
}
.cb-course-details .cb-course-details-proceed {
  text-align: right;
}
.cb-course-details .cb-course-details-proceed__link {
  border: 0;
  padding: 10px 20px;
  margin: 0 0 10px 0;
  background-color: #337ab7;
  border-radius: 3px;
  color: #fff !important;
  font-size: 15px;
  line-height: 17px;
  font-weight: bold;
  white-space: pre;
}
.cb-course-details .cb-course-details-proceed__link:hover {
  background-color: rgb(45.4423076923, 108.7051282051, 163.0576923077);
  text-decoration: none;
  color: #fff;
}

.cb-course-details-information-table {
  margin: 0;
}
@media (max-width: 991.98px) {
  .cb-course-details-information-table-location-date {
    border-bottom: 2px solid #eeeeee;
    display: block;
    padding-bottom: 20px;
    margin-bottom: 20px;
  }
}
.cb-course-details-information-table-location-date .cb-course-details-information-table-row__location .fas {
  margin-right: 18px;
}
.cb-course-details-information-table-location-date .cb-course-details-information-table-row-date {
  padding-left: 38px;
}
.cb-course-details-information-table-location-date .cb-course-details-information-table-row-date .far {
  left: 0;
  top: 3px;
}
@media (min-width: 1280px) {
  .cb-course-details-information-table-location-date {
    border-right: 1px solid rgb(225.25, 225.25, 225.25);
  }
}
@media (min-width: 992px) {
  .cb-course-details-information-table-row-people {
    padding-left: 40px;
  }
}
.cb-course-details-information-table-row-people label {
  margin-right: 20px;
}
@media (max-width: 991.98px) {
  .cb-course-details-information-table-row-people .cb-course-details-information-people-select {
    max-width: 30%;
    margin-right: 0;
    margin-left: auto;
  }
}
.cb-course-details-information-table-row-price {
  display: inline-block;
}
@media (max-width: 991.98px) {
  .cb-course-details-information-table-row-price {
    margin-bottom: 20px;
  }
}
@media (min-width: 992px) {
  .cb-course-details-information-table-row-price {
    padding-left: 40px;
  }
}
@media (max-width: 991.98px) {
  .cb-course-details-information-table-row-price__pounds {
    text-align: left;
  }
}
@media (min-width: 992px) {
  .cb-course-details-information-table-row-price__pounds {
    display: block;
  }
}
.cb-course-details-information-table-row-price__pounds {
  font-size: 24px;
  line-height: 26px;
  font-weight: bold;
}
@media (max-width: 991.98px) {
  .cb-course-details-information-table-row-price__per {
    text-align: left;
  }
}
@media (min-width: 992px) {
  .cb-course-details-information-table-row-price__per {
    display: block;
  }
}
.cb-course-details-information-table-row-price__per {
  font-size: 14px;
  line-height: 16px;
  white-space: pre;
  color: #666;
}

.cb-course-details-total-cost {
  background-color: #f3efe9;
  padding: 20px;
  text-align: right;
  margin-bottom: 20px;
}
.cb-course-details-total-cost__label {
  font-size: 16px;
  font-weight: bold;
  margin-right: 20px;
}
.cb-course-details-total-cost__amount {
  font-size: 24px;
  font-weight: bold;
}

@media (min-width: 1280px) {
  .cb-your-details .col-lg-8 {
    padding-right: 120px;
  }
}
.cb-your-details .cb-course-details-submit {
  border: 1px solid red;
  border: 0;
  padding: 10px 20px;
  margin: 20px 0 20px 0;
  background-color: #337ab7;
  border-radius: 3px;
  color: #fff !important;
  font-size: 15px;
  line-height: 17px;
  font-weight: bold;
  white-space: pre;
}
.cb-your-details .cb-course-details-submit:hover {
  background-color: rgb(45.4423076923, 108.7051282051, 163.0576923077);
  text-decoration: none;
  color: #fff;
}

.form-group--title {
  max-width: 110px !important;
}

.form-group--postcode {
  max-width: 155px !important;
}

.btn-restart {
  border: 0;
  padding: 10px 20px;
  margin: 0 0 10px 0;
  background-color: #337ab7;
  border-radius: 3px;
  color: #fff !important;
  font-size: 15px;
  line-height: 17px;
  font-weight: bold;
  white-space: pre;
}
.btn-restart:hover {
  background-color: rgb(45.4423076923, 108.7051282051, 163.0576923077);
  text-decoration: none;
  color: #fff;
}

@media (min-width: 992px) {
  .cb-delegate-details-main-col {
    padding-right: 60px;
  }
}
.cb-delegate-details-submit {
  border: 0;
  padding: 10px 20px;
  margin: 0 0 10px 0;
  background-color: #337ab7;
  border-radius: 3px;
  color: #fff !important;
  font-size: 15px;
  line-height: 17px;
  font-weight: bold;
  white-space: pre;
}
.cb-delegate-details-submit:hover {
  background-color: rgb(45.4423076923, 108.7051282051, 163.0576923077);
  text-decoration: none;
  color: #fff;
}
.cb-delegate-details-submit {
  margin-top: 30px;
  margin-bottom: 30px;
}

.cb-delegate-details-accordion-card {
  margin-bottom: 30px;
}
.cb-delegate-details-accordion-card.header-validation-error .cb-delegate-details-accordion-card-header__delegate {
  color: #C70707;
}
.cb-delegate-details-accordion-card.header-validation-error .input-validation-error {
  border-color: #C70707;
}
.cb-delegate-details-accordion-card-header {
  position: relative;
  padding: 22px 0 22px 0;
}
.cb-delegate-details-accordion-card-header.collapsed {
  border-bottom: 2px solid #b9b9b9;
}
.cb-delegate-details-accordion-card-header.collapsed .cb-delegate-details-accordion-card-header__edit {
  display: inline-block;
}
.cb-delegate-details-accordion-card-header:first-child {
  border-top: 1px solid #b9b9b9;
}
.cb-delegate-details-accordion-card-header__delegate {
  font-size: 24px;
  font-weight: bold;
  margin-right: 30px;
}
.cb-delegate-details-accordion-card-header__name {
  font-size: 15px;
  font-weight: normal;
}
.cb-delegate-details-accordion-card-header h2 {
  margin: 0 !important;
  padding-right: 100px;
  line-height: 1em;
}
.cb-delegate-details-accordion-card-header__edit {
  position: absolute;
  top: 25px;
  right: 0;
  padding: 0 25px 0 0;
  border: none;
  background: none;
  font-size: 15px;
  color: #2568b3;
  text-decoration: underline;
  display: none;
}
.cb-delegate-details-accordion-card-header__edit:hover {
  text-decoration: none;
}
.cb-delegate-details-accordion-card-header__edit:after {
  content: "";
  width: 13px;
  height: 13px;
  border-top: 8px solid transparent;
  border-bottom: 8px solid transparent;
  border-left: 10px solid #337ab7;
  position: absolute;
  top: 11px;
  right: 0;
}
.cb-delegate-details-accordion-card-body-inner {
  margin-bottom: 30px;
}

.cb-confirmation-details-proceed {
  border: 0;
  padding: 10px 20px;
  margin: 0 0 10px 0;
  background-color: #337ab7;
  border-radius: 3px;
  color: #fff !important;
  font-size: 15px;
  line-height: 17px;
  font-weight: bold;
  white-space: pre;
}
.cb-confirmation-details-proceed:hover {
  background-color: rgb(45.4423076923, 108.7051282051, 163.0576923077);
  text-decoration: none;
  color: #fff;
}
.cb-confirmation-details-booker {
  padding: 20px 0;
  border-bottom: 1px solid #ccc;
}
@media (min-width: 992px) {
  .cb-confirmation-details-booker {
    display: flex;
  }
}
.cb-confirmation-details-booker .cb-confirmation-details-booker__name-title {
  min-width: 100px;
}
.cb-confirmation-details-booker .cb-confirmation-details-booker__edit {
  text-decoration: underline;
}
@media (max-width: 991.98px) {
  .cb-confirmation-details-booker .cb-confirmation-details-booker__edit {
    margin-top: 10px;
    display: inline-block;
  }
}
@media (min-width: 992px) {
  .cb-confirmation-details-booker .cb-confirmation-details-booker__edit {
    position: absolute;
    top: 30px;
    right: 0;
  }
}
.cb-confirmation-details-booker .cb-confirmation-details-booker__edit:hover {
  text-decoration: none;
}
.cb-confirmation-details-delegate {
  padding: 30px 0;
  margin-bottom: 30px;
  border-bottom: 1px solid #ccc;
}
.cb-confirmation-details-delegate .cb-confirmation-details-delegate__name {
  min-width: 100px;
}
@media (min-width: 992px) {
  .cb-confirmation-details-delegate .cb-confirmation-details-delegate__edit {
    position: absolute;
    top: 30px;
    right: 0;
  }
}
.cb-confirmation-details-delegate .cb-confirmation-details-delegate__edit {
  text-decoration: underline;
}
.cb-confirmation-details-delegate .cb-confirmation-details-delegate__edit:hover {
  text-decoration: none;
}
.cb-confirmation-details-delegate ol {
  list-style: none;
  padding: 0;
  margin: 0;
}