/* ========= VARIABLES ======== */
@font-face {
  font-family: AvenirNextCondensed-Regular;
  src: url(/website/fonts/AvenirNextCondensed-Regular.woff); }

/**
 * ConduitITCStd
 */
/** Ultra Light */
@font-face {
  font-family: "ConduitITCStd";
  font-weight: 100;
  src: url("/website/fonts/ConduitITCStd-Light.ttf"); }

/** Thin */
@font-face {
  font-family: "ConduitITCStd";
  font-weight: 200;
  src: url("/website/fonts/ConduitITCStd-Light.ttf"); }

/** Regular */
@font-face {
  font-family: "ConduitITCStd";
  font-weight: 400;
  src: url("/website/fonts/ConduitITCStd-Medium.ttf"); }

/** Medium */
@font-face {
  font-family: "ConduitITCStd";
  font-weight: 500;
  src: url("/website/fonts/ConduitITCStd-Medium.ttf"); }

/** Semi Bold */
@font-face {
  font-family: "ConduitITCStd";
  font-weight: 600;
  src: url("/website/fonts/ConduitITCStd-Light.ttf"); }

/** Bold */
@font-face {
  font-family: "ConduitITCStd";
  font-weight: 700;
  src: url("/website/fonts/ConduitITCStd-Bold.ttf"); }

.container-fluid {
  max-width: 1136px; }

/**
 * Reset bootstap paddings and margins
 */
body, * {
  font-family: "ConduitITCStd";
  font-weight: 100; }

html {
  background-color: #26282A; }

body, html {
  min-height: 100%; }

ul, p, h1,
h2, h3, h4,
h5, h6 {
  padding: 0px;
  margin: 20px 0; }

*:focus {
  outline: none; }

body {
  padding-top: 57px;
  color: #666; }

h1, h2, h3, h4, h5, .bm-btn {
  color: #26282a;
  font-weight: 400;
  letter-spacing: 1px; }

h1 {
  font-size: 40px;
  font-weight: 400; }

h2, .h2 {
  color: #26282a;
  font-size: 40px;
  font-weight: 400;
  line-height: 42px; }

h3 {
  font-size: 25px;
  line-height: 32px; }
  h3.keyfacts {
    margin-top: 0; }
  h3.lines {
    text-transform: uppercase; }

h4 {
  font-size: 20px;
  line-height: 28px; }

h5 {
  font-size: 18px;
  font-weight: 400;
  line-height: 18px;
  margin-bottom: 8px; }

p, ul, ol, address {
  margin: 20px 0;
  font-size: 18px;
  line-height: 1.4em; }

ul, ol {
  padding-left: 15px; }

a:link, a:visited {
  font-size: 18px; }

li {
  font-size: 18px;
  line-height: 1.4em;
  margin: 15px 0; }

table.table {
  margin: 20px 0; }
  table.table tbody th, table.table tbody td {
    font-size: 18px;
    padding: 10px 20px; }

.alert {
  padding: 5px 15px !important;
  border-radius: 5px !important;
  background-image: none !important; }
  .alert p {
    margin: 5px 0;
    font-weight: 400;
    height: auto; }
  .alert .close {
    padding: 3px 0 0 0;
    opacity: 0.4;
    font-size: 36px; }
    .alert .close:hover {
      opacity: 0.7; }
  .alert p {
    height: auto !important; }

input {
  font-family: "ConduitITCStd" !important; }

.radio input {
  margin: 0; }

.input.form-control {
  height: 34px; }

.form-control.unfilled {
  border: 1px solid #a94442; }

.error_msg {
  display: none;
  border: 2px solid #a94442;
  color: #a94442;
  padding: 15px;
  border-radius: 5px;
  margin: 20px 0 0 0; }
  .error_msg p {
    margin: 0; }

#s1-error-msg {
  color: #a94442;
  margin: 0;
  border: 2px solid #a94442;
  border-radius: 5px;
  display: none; }
  #s1-error-msg p {
    padding: 10px;
    margin: 5px; }

.required_msg {
  color: #a94442;
  margin: 5px 0;
  display: none; }

h4.sub_msg {
  color: #fff; }

.embed-responsive {
  margin: 20px 0; }

.img-responsive {
  width: 100%; }

.thumbnail {
  border: none;
  height: 100px;
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center; }

.cta {
  margin: 20px 0; }

@media screen and (min-width: 728px) {
  .cta {
    margin: 20px; } }

hr.bm-line {
  margin-top: 70px; }

hr {
  border-top: 1px solid #ddd; }

.loading {
  background-color: rgba(0, 0, 0, 0.8);
  position: fixed;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  z-index: 2000;
  text-align: center;
  padding-top: 150px;
  display: none; }

.loading h1 {
  margin-top: 10px;
  color: #FFF; }

.top-bar-alert {
  background-color: #008ccb;
  color: #FFF;
  text-align: center;
  font-size: 20px;
  padding-top: 4px; }

.full-width {
  width: 100%; }

.no-pointer {
  cursor: auto; }

/*
  Buttons groups
 */
button.blue-inline-form {
  background-color: #008ccb;
  color: #fff;
  text-transform: uppercase;
  padding: 10px 20px;
  height: 40px; }

button.yellow {
  background-color: #faee33;
  width: auto;
  color: #26282a;
  text-transform: uppercase;
  font-weight: 400;
  font-size: 20px;
  height: 50px;
  padding-top: 10px;
  display: inline-block; }

#quote-email-field {
  height: 52px;
  text-align: center;
  font-size: 20px;
  font-weight: 400; }

a.btn.yellow {
  width: auto;
  display: inline-block;
  padding: 12px 20px 8px 20px;
  margin: 10px;
  color: #26282a;
  text-transform: uppercase;
  background-color: #faee33;
  font-size: 20px;
  -webkit-box-shadow: 0 2px 4px rgba(0, 0, 0, 0.5);
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.5);
  -webkit-transition: all ease 0.5s;
  -o-transition: all ease 0.5s;
  transition: all ease 0.5s; }
  a.btn.yellow:hover {
    background-color: rgba(250, 238, 51, 0.8);
    color: #26282a; }

a.btn.lrg {
  width: 20%; }

.fully-booked {
  color: #fff;
  background-color: red; }

#book-button-class2 {
  margin-top: 10px; }

.bm-btn {
  font-size: 18px !important;
  font-weight: 400;
  line-height: 17px;
  padding-top: 17px;
  padding-bottom: 11px;
  color: #fff;
  letter-spacing: 0.5px;
  display: inline-block;
  min-width: 200px;
  text-transform: uppercase;
  border: none;
  border-radius: 5px;
  -webkit-transition: all ease 0.5s;
  -o-transition: all ease 0.5s;
  transition: all ease 0.5s; }

.bm-btn.bm-btn-blue {
  background-color: #008ccb;
  font-weight: 400; }

.bm-btn.bm-btn-dark {
  background-color: #26282a; }

.bm-btn.bm-btn-yellow {
  height: 48px;
  background-color: #faee33;
  border-radius: 5px;
  -webkit-box-shadow: 0 2px 4px rgba(0, 0, 0, 0.5);
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.5);
  color: #4a4a4a;
  min-width: 350px;
  font-size: 20px;
  font-weight: 400;
  line-height: 23px; }

.bm-btn-light-blue {
  background-color: #008ccb;
  border-radius: 5px;
  padding-left: 15px;
  padding-right: 15px;
  -webkit-box-shadow: 0 2px 4px rgba(0, 0, 0, 0.5);
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.5); }

.bm-btn.has-shadow {
  -webkit-box-shadow: 0 2px 4px rgba(0, 0, 0, 0.5);
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.5);
  border-radius: 5px; }

.bm-btn.large {
  font-size: 20px;
  padding-top: 17px;
  padding-bottom: 14px;
  min-width: 270px; }

.bm-btn.small {
  font-size: 20px;
  padding-top: 17px;
  padding-bottom: 11px;
  min-width: 150px; }

.bm-btn.small-xs {
  padding-top: 5px;
  padding-bottom: 4px;
  min-width: 72px; }

.bm-btn:hover,
.bm-btn:focus {
  text-decoration: none;
  color: #fff;
  opacity: 0.7; }

.bm-btn.bm-yellow-btn {
  background-color: #faee33;
  color: #4a4a4a;
  font-size: 18px;
  font-weight: 400;
  letter-spacing: 0.5px; }

hr.bm-dark-line {
  border: solid #979797;
  border-width: 1px 0 0;
  clear: both;
  height: 0; }

.btn-top-square {
  border-top-right-radius: 0;
  border-top-left-radius: 0; }

/**
 * Top nav
 */
.header {
  border: 1px solid transparent;
  height: 58px;
  background-image: -webkit-gradient(linear, left top, left bottom, from(#6e6e6e), to(#4a4a4a));
  background-image: -webkit-linear-gradient(top, #6e6e6e 0%, #4a4a4a 100%);
  background-image: -o-linear-gradient(top, #6e6e6e 0%, #4a4a4a 100%);
  background-image: linear-gradient(180deg, #6e6e6e 0%, #4a4a4a 100%); }

.home-page .header {
  background: rgba(0, 0, 0, 0.1); }

.footer {
  max-width: 1136px;
  margin: 0 auto; }

.header-wrapper {
  z-index: 1030;
  position: fixed;
  top: 0px;
  left: 0px;
  right: 0px;
  margin: auto;
  width: 100%; }

.header .nav li {
  margin: 0; }

.header .nav > li > a {
  font-family: AvenirNextCondensed-Regular;
  background: transparent;
  padding: 0px;
  color: #e2e2e2;
  font-size: 18px;
  font-weight: 400;
  letter-spacing: 0.39px;
  line-height: 17px;
  text-transform: uppercase;
  padding-left: 10px;
  padding-right: 10px;
  padding-top: 22px;
  height: 55px;
  display: inline-block; }

.header .nav.navbar-right > li > a {
  font-size: 14px; }

.header .nav li a.active {
  color: #fff;
  border-bottom: 3px solid #499FD6; }

.header .nav > li > a:focus,
.header .nav > li > a:hover {
  background: transparent;
  opacity: 0.8;
  border-bottom: 3px solid rgba(255, 255, 255, 0.7); }

.header > .navbar {
  margin-bottom: 0px; }

.navbar {
  border-radius: 0;
  border: none; }

.header .navbar-toggle .icon-bar {
  background: #fff; }

.header .navbar-toggle {
  border: 1px solid #fff; }

.header .navba-brand {
  padding-left: 10px;
  padding-right: 20px; }

.header .navba-brand img {
  max-width: 142px; }

.header .navba-brand:hover img {
  opacity: 0.8; }

.dropdown-menu > li > a {
  font-size: 16px; }

.navbar-nav > li > .dropdown-menu {
  margin-top: 1px;
  text-transform: uppercase; }

@media (max-width: 992px) {
  .header-wrapper {
    position: absolute; }
  .header {
    height: auto; }
    .header .nav.navbar-right li a {
      font-size: 18px;
      color: #e2e2e2; }
  .navbar-header {
    float: none; }
  .navbar-toggle {
    display: block; }
  .navbar-fixed-top {
    top: 0;
    border-width: 0 0 1px; }
  .navbar-collapse.collapse {
    display: none !important; }
  .navbar-collapse {
    -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1); }
  .navbar-nav {
    float: none !important;
    margin-top: 7.5px; }
  .navbar-nav > li {
    float: none; }
  .navbar-nav > li > a {
    padding-top: 10px;
    padding-bottom: 10px; }
  .header .navbar a {
    border-bottom: 1px solid rgba(255, 255, 255, 0.1); }
  .header .navbar-nav li.dropdown > a {
    border: none; }
  .navbar-nav li a {
    width: 100%; }
  .dropdown-menu {
    position: static;
    background-color: transparent;
    -webkit-box-shadow: none;
    box-shadow: none;
    border: none;
    width: 100%; }
  .navba-brand {
    border: none !important; }
  .header .nav.navbar-right li {
    margin: 0; }
    .header .nav.navbar-right li a {
      padding-left: 10px; }
  .navbar-right, .dropdown-menu {
    margin-bottom: 10px; }
  .navbar-nav > li > .dropdown-menu li {
    padding: 5px 0; }
  .header .nav li a.active {
    color: #fff;
    border-bottom: 1px solid #499FD6; }
  .header .nav > li > a:focus,
  .header .nav > li > a:hover {
    border: none;
    background-color: rgba(0, 0, 0, 0.5); }
  .collapse.in {
    display: block !important; } }

/**
 * Footer on home page
 */
.footer-wrapper {
  background-color: #26282a; }

.static-footer {
  min-height: 320px; }

.footer-wrapper .navbar {
  margin-bottom: 0px;
  min-height: 0px; }

.footer-wrapper .navbar .copyright {
  padding-top: 15px;
  padding-bottom: 10px;
  font-size: 18px;
  font-weight: 100;
  letter-spacing: 0.5px;
  color: #fff; }

.footer-wrapper .navbar .navbar-nav > li {
  padding-right: 20px;
  display: inline-block; }

.footer-wrapper .navbar .navbar-nav > li:last-child:after {
  display: none; }

.footer-wrapper .navbar .navbar-nav > li:after {
  position: absolute;
  width: 1px;
  height: 20px;
  background: #656565;
  content: " ";
  right: 10px;
  top: 0px;
  bottom: 0px;
  margin: auto; }

.footer-wrapper .navbar .navbar-nav > li > a {
  font-size: 18px;
  font-weight: 100;
  letter-spacing: 0.5px;
  color: white;
  padding-right: 0px;
  padding-left: 0px; }

.footer .nav > li > a:focus,
.footer .nav > li > a:hover {
  background: transparent;
  opacity: 0.8; }

/**
 * Footer static
 */
.footer-wrapper.static-footer footer {
  padding: 40px 0; }

.footer .footer-block {
  font-size: 15px;
  font-weight: 400;
  line-height: 24px;
  color: #fff; }

.footer .footer-block .footer-block__title {
  font-size: 18px;
  font-weight: 400;
  line-height: 18px;
  margin-bottom: 8px; }

ul.footer-block__menu {
  padding-left: 0; }

.footer-block__menu li {
  list-style: none; }

.footer .footer-block .footer-block__menu li > a {
  color: #fff;
  font-size: 15px;
  font-weight: 400;
  line-height: 24px; }

.footer-block__text {
  margin-top: 20px;
  line-height: 1.9em; }

/**
 * Modal styles
 */
.modal-content {
  border-radius: 0px;
  border: none; }

.modal-header {
  padding-top: 14px;
  padding-bottom: 14px;
  padding-left: 25px;
  padding-right: 25px;
  border-bottom: none;
  background-color: #008ccb; }

.modal-header .close {
  margin-top: 4px; }

.modal-title {
  color: white;
  font-size: 25px;
  font-weight: 400;
  line-height: 29px; }

.modal-body {
  padding-left: 25px;
  padding-right: 25px;
  padding-top: 25px;
  padding-bottom: 50px; }

.modal-footer {
  color: #6c6c6c;
  font-size: 12px;
  font-weight: 400;
  line-height: 21px;
  padding-left: 25px;
  padding-right: 25px;
  border-top: none;
  padding-top: 0px;
  padding-bottom: 28px;
  margin-top: -25px; }

.modal-body-text {
  font-size: 18px;
  font-weight: 400;
  line-height: 22px;
  color: #666; }

.modal-body-text a {
  color: #3e3e3e;
  text-decoration: underline; }

.modal-body-text a:hover {
  text-decoration: none; }

.modal-body-text > p {
  margin-bottom: 20px;
  line-height: 20px; }

.modal-body-form {
  padding-top: 27px; }

label {
  font-size: 18px;
  font-weight: 400;
  line-height: 21px;
  color: #666; }

.quantity-label {
  margin-right: 20px; }

.quantity-label input {
  margin-right: 7px; }

input.form-control {
  font-family: helvetica;
  height: 36px;
  font-size: 14px;
  font-weight: 200;
  line-height: 19px;
  background-color: white;
  border: 1px solid #979797;
  border-radius: 3px; }

.form-group .form-group-radio__list {
  padding-left: 23px; }

.form-group .form-group-radio__list > li {
  display: inline-block;
  padding-right: 40px; }

.form-group .form-group-radio__list > li:last-child {
  padding-right: 0px; }

.form-group .form-group-radio__list > li input {
  display: none; }

.form-group .form-group-radio__list > li label {
  color: #4a4a4a;
  font-size: 14px;
  position: relative;
  font-weight: 400;
  line-height: 19px;
  cursor: pointer;
  padding-left: 0px; }

.form-group .form-group-radio__list > li label:before {
  position: absolute;
  width: 16px;
  height: 16px;
  background-color: white;
  border: 1px solid #979797;
  -webkit-box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.5);
  box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.5);
  content: " ";
  display: block;
  border-radius: 50%;
  left: -23px; }

.form-group .form-group-radio__list > li label:after {
  position: absolute;
  -webkit-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s;
  width: 8px;
  opacity: 0;
  height: 8px;
  content: " ";
  left: -19px;
  top: 4px;
  background-color: #4a90e2;
  border-radius: 50%; }

.form-group .form-group-radio__list > li input[type="radio"]:checked + label:after {
  opacity: 1; }

.alert-success {
  color: white;
  font-size: 14px;
  font-weight: 400;
  letter-spacing: 1px;
  line-height: 17px;
  padding-top: 12px;
  padding-bottom: 18px;
  padding-right: 24px;
  padding-left: 47px;
  background: url(/website/img/alert_tick.svg) #417505 no-repeat 20px center;
  border-radius: 2px;
  border: none;
  text-transform: uppercase; }

.alert-danger {
  color: white;
  font-size: 14px;
  font-weight: 400;
  letter-spacing: 1px;
  line-height: 17px;
  padding-top: 12px;
  padding-bottom: 12px;
  padding-left: 47px;
  padding-right: 24px;
  background: url(/website/img/alert_cross.svg) #d0021b no-repeat 20px center;
  border-radius: 2px;
  border: none;
  text-transform: uppercase; }

.alert p {
  font-size: 18px;
  padding-bottom: 0px;
  height: 13px;
  padding-top: 4px; }

.bm-page-title {
  color: #26282a;
  font-size: 40px;
  font-weight: 400;
  line-height: 40px;
  padding-bottom: 25px;
  margin-top: 20px; }

.form-group-radio__list.sessions-type > li {
  padding-right: 80px; }

p.book-modal {
  margin-top: 10px; }

/**
 * Home page
 */
body.home-page {
  background: url(/website/img/home-page-bg.jpg) no-repeat center;
  background-size: cover;
  min-height: 100%;
  position: relative; }

body.home-page .header-wrapper {
  background-color: rgba(0, 0, 0, 0.5);
  background-image: none; }

body.home-page .header .nav > li > a {
  color: #fff; }

.bm-home-page-hero {
  text-align: center;
  padding-top: 3em;
  height: 100vh; }

.bm-home-page-hero .bm-home-page-hero__title {
  color: #fff;
  font-size: 50px;
  font-weight: 300;
  line-height: 59px; }

.bm-home-page-hero .bm-home-page-hero__links {
  padding-top: 23px; }

.bm-home-page-hero .bm-home-page-hero__links > a {
  margin-right: 37px; }

.bm-home-page-hero .bm-home-page-hero__links > a:last-child {
  margin-right: 0px; }

/**
 * The CSS shown here will not be introduced in the Quickstart guide, but shows
 * how you can use CSS to style your Element's container.
 */
.StripeElement {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  height: 40px;
  padding: 10px 12px;
  border: 1px solid transparent;
  border-radius: 4px;
  background-color: white;
  -webkit-box-shadow: 0 1px 3px 0 #e6ebf1;
  box-shadow: 0 1px 3px 0 #e6ebf1;
  -webkit-transition: box-shadow 150ms ease;
  -webkit-transition: -webkit-box-shadow 150ms ease;
  transition: -webkit-box-shadow 150ms ease;
  -o-transition: box-shadow 150ms ease;
  transition: box-shadow 150ms ease;
  transition: box-shadow 150ms ease, -webkit-box-shadow 150ms ease; }

.StripeElement--focus {
  -webkit-box-shadow: 0 1px 3px 0 #cfd7df;
  box-shadow: 0 1px 3px 0 #cfd7df; }

.StripeElement--invalid {
  border-color: #fa755a; }

.StripeElement--webkit-autofill {
  background-color: #fefde5 !important; }

#card-errors {
  margin-top: 7px;
  font-size: 17px;
  color: #fa755a; }

/* ============ SECTION SPACING ========= */
.bm-section {
  padding: 40px 0; }
  .bm-section.clients {
    padding-top: 0;
    padding-bottom: 80px; }

.bm-section-blue {
  background-color: #008ccb;
  padding-bottom: 60px; }
  .bm-section-blue h2, .bm-section-blue p {
    color: #fff;
    margin: 0; }
  .bm-section-blue h3 {
    color: #fff;
    margin-top: 40px;
    font-size: 32px; }
  .bm-section-blue li {
    color: #fff; }

.bm-quote-block {
  background-color: #f7f7f7;
  text-align: center;
  padding: 60px 0; }
  .bm-quote-block h3 {
    margin-bottom: 0px;
    font-weight: 400; }
  .bm-quote-block .bm-quote-block__content {
    position: relative;
    padding: 10px 40px; }
    .bm-quote-block .bm-quote-block__content:before {
      content: '\201C';
      position: absolute;
      top: 0;
      left: 0;
      font-size: 120px;
      color: #008ccb; }
    .bm-quote-block .bm-quote-block__content:after {
      content: '\201D';
      position: absolute;
      top: 0;
      right: 0;
      font-size: 120px;
      color: #008ccb; }

.intro {
  margin-bottom: 60px; }

.bm-post-info {
  margin-bottom: 20px; }
  .bm-post-info p {
    margin: 10px 0; }

.race-types {
  padding-bottom: 40px; }

@media screen and (max-width: 768px) {
  .bm-section {
    padding: 0px 0; }
  .bm-section-blue {
    padding: 60px 0; } }

/* ============== CTA BUTTON SECTIONS =============== */
.cta-button-item {
  display: inline-block;
  margin: 20px; }
  .cta-button-item p {
    font-weight: bold; }

/* ================ SESSION TYPE =============== */
.session-type {
  padding: 40px 0;
  border-bottom: 1px solid #ddd; }

.bm-clubs {
  margin-bottom: 20px; }

/* ================== JUNIOR PANELS BOXES =========== */
.panel {
  -webkit-box-shadow: 0 3px 6px rgba(0, 0, 0, 0.2);
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.2);
  border: none;
  text-align: center;
  height: 420px;
  position: relative;
  border-top-right-radius: 0;
  border-top-left-radius: 0;
  border-bottom-right-radius: 10px;
  border-bottom-left-radius: 10px;
  overflow: hidden; }
  .panel h3 {
    background-color: #008ccb;
    margin: 0;
    padding: 15px 0 10px 0;
    text-align: center;
    color: #fff; }
  .panel ul {
    padding: 0px 20px;
    list-style-type: none; }
    .panel ul li {
      border-bottom: 1px solid #f7f7f7;
      margin-top: 0;
      padding: 0px 0 10px 0; }
      .panel ul li:last-child {
        margin-bottom: 0;
        padding-bottom: 0;
        border-bottom: none; }
  .panel .bm-packages-price {
    background-color: #f7f7f7;
    text-align: center;
    position: absolute;
    bottom: 0;
    padding: 0px 0 5px 0;
    margin: 0;
    width: 100%;
    height: 65px;
    border-top: 1px solid #eee; }
    .panel .bm-packages-price p {
      font-weight: 400;
      font-size: 24px;
      text-transform: uppercase; }
      .panel .bm-packages-price p span {
        font-size: 18px; }

#family-days-container .panel {
  height: auto; }
  #family-days-container .panel ul {
    margin-bottom: 80px; }

/* =============== JUNIOR SESSIONS FORMAT ================ */
.bm-clubs {
  -webkit-box-shadow: 0 3px 6px rgba(0, 0, 0, 0.2);
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.2);
  border-bottom-right-radius: 10px;
  border-bottom-left-radius: 10px;
  overflow: hidden; }
  .bm-clubs h3, .bm-clubs p {
    padding: 0 30px; }
  .bm-clubs button.bm-btn {
    padding: 20px; }

footer h5 {
  color: #fff; }

footer li {
  margin: 5px 0; }

/* ============ SESSION STARS ============ */
.bm-sessions-table__stars {
  width: 130px;
  height: 24px;
  position: relative;
  background: url(/website/img/stars1.png) no-repeat left;
  background-size: 100% !important; }

.bm-sessions-table__stars.five-stars {
  background: url(/website/img/stars5.png) no-repeat left; }

.bm-sessions-table__stars.four-stars {
  background: url(/website/img/stars4.png) no-repeat left; }

.bm-sessions-table__stars.three-stars {
  background: url(/website/img/stars3.png) no-repeat left; }

.bm-sessions-table__stars.two-stars {
  background: url(/website/img/stars2.png) no-repeat left; }

.bm-sessions-table__stars.one-stars {
  background: url(/website/img/stars1.png) no-repeat left; }

/* ================ SESSION PAGE STYLES ================ */
.sessions-page {
  padding-top: 60px; }

/* ============== JOBS PAGE STYLES ============== */
.tab-content {
  margin-bottom: 20px; }
  .tab-content h3 {
    padding: 10px 0 5px 0;
    border-top: 1px solid #979797;
    border-bottom: 1px solid #979797; }

.job-item {
  background-color: #f7f7f7;
  padding: 20px 30px; }

ul#job-list {
  padding: 0;
  list-style-type: none; }
  ul#job-list li {
    border-bottom: 1px solid #979797;
    margin: 0; }
    ul#job-list li span {
      float: right; }
    ul#job-list li:first-child {
      border-top: 1px solid #979797; }
    ul#job-list li a {
      font-size: 18px;
      display: block;
      padding: 10px;
      text-decoration: none; }
      ul#job-list li a:hover, ul#job-list li a.active {
        background-color: #f7f7f7; }

/* =========== RESULTS PAGES =============== */
#results-page h2 {
  font-size: 24px;
  padding-left: 15px; }

#results-page .at-nav-links li {
  margin: 0 20px; }
  #results-page .at-nav-links li a, #results-page .at-nav-links li .at-selected-link {
    margin: 0 20px;
    display: block;
    font-size: 22px !important; }

#results-page #results li {
  margin: 0;
  padding: 10px 0 10px 15px; }
  #results-page #results li span {
    font-size: 18px;
    font-weight: 400; }
  #results-page #results li .at-heading {
    font-size: 22px;
    padding-top: 5px;
    padding-right: 5px;
    text-transform: uppercase; }
  #results-page #results li .at-champ-list-leader, #results-page #results li .at-event-list-date {
    font-size: 18px;
    vertical-align: top;
    width: 33%;
    padding-top: 5px; }
  #results-page #results li h3 {
    margin: 0;
    line-height: 1em; }
    #results-page #results li h3 a {
      font-size: 20px;
      margin: 0;
      padding: 0; }

#results-page #results #download_laptimes a {
  display: block;
  margin: 20px 0; }

@media screen and (max-width: 768px) {
  #results-page .at-list li {
    overflow: hidden; }
  #results-page .at-champ-list-leader, #results-page .at-event-list-date {
    width: 25%;
    float: right; }
  #results-page #results li .at-event-list-date {
    width: 25%;
    float: right; }
  #results-page h3.at-event-list-name {
    width: 60%; } }

#results-page .at-champ-list-leader {
  width: 25% !important; }

#results-page table {
  margin-bottom: 60px; }
  #results-page table th {
    padding: 10px 10px 10px 15px;
    font-size: 18px;
    text-align: left; }
  #results-page table td {
    padding: 15px;
    font-size: 18px; }
    #results-page table td .at-link {
      font-size: 18px; }
    #results-page table td .at-ct-rnd-score {
      font-size: 18px; }

/* ========== BOOK PAGE ========== */
.book-now-page img {
  margin-bottom: 0 !important; }

.saved-cards {
  background-color: #f7f7f7;
  border-radius: 10px;
  padding: 10px 10px 0 15px;
  margin-bottom: 20px; }
  .saved-cards #cc-icon {
    display: inline-block;
    text-indent: -9999px;
    width: 40px;
    height: 20px;
    margin: 0 00px 10px 0;
    background-repeat: no-repeat;
    background-size: contain; }
    .saved-cards #cc-icon.visa {
      background-image: url(/website/img/ccicons/visa.svg); }
    .saved-cards #cc-icon.americanexpress {
      background-image: url("/website/img/ccicons/amex.svg"); }
    .saved-cards #cc-icon.mastercard {
      background-image: url("/website/img/ccicons/mastercard.svg"); }
    .saved-cards #cc-icon.maestro {
      background-image: url("/website/img/ccicons/maestro.svg"); }

/* ====================== XMAS PAGE ====================== */
#itinerary-wrapper {
  -webkit-box-shadow: 0 3px 6px rgba(0, 0, 0, 0.2);
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.2);
  background-color: #008ccb;
  border-bottom-right-radius: 10px;
  border-bottom-left-radius: 10px;
  padding: 15px 30px;
  background-image: url("/website/img/itinSnowflake1.png"), url("/website/img/itinSnowflake2.png");
  background-repeat: no-repeat, no-repeat;
  background-position: 90% 10%, 45% 90%; }
  #itinerary-wrapper h3 {
    color: #fff; }

ul#itinerary {
  list-style-type: none;
  padding-left: 0;
  color: #fff; }
  ul#itinerary span {
    font-size: 14px;
    margin-right: 10px; }

@media (max-width: 768px) {
  .cta-button-item {
    margin: 0; } }

/* Small devices (tablets, 768px and up) */
/* Medium devices (desktops, 992px and up) */
/* Large devices (large desktops, 1200px and up) */
/* === PAGE HERO === */
.bm-hero {
  height: 320px;
  position: relative;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  overflow: hidden;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
  /* === page images === */
  /* =============== CTA BUTTONS =============== */ }
  .bm-hero .container-fluid, .bm-hero .row, .bm-hero .col-sm-12 {
    height: 100%; }
  .bm-hero h1 {
    position: relative;
    z-index: 2;
    color: #fff;
    margin-top: 20px;
    line-height: 47px;
    border-bottom: 1px solid #fff;
    padding-bottom: 5px; }
  .bm-hero.adults {
    background-image: url("/website/img/adults_bg.jpg"); }
  .bm-hero.corporate, .bm-hero.tesco {
    background-image: url("/website/img/corporate_image.jpg"); }
  .bm-hero.junior {
    background-image: url("/website/img/juniors-1.jpg"); }
  .bm-hero.about {
    background-image: url("/website/img/sjb-140716-003.jpg"); }
  .bm-hero.timing, .bm-hero.contact, .bm-hero.jobs, .bm-hero.advertise, .bm-hero.faqs {
    background-image: url("/website/img/sjb-140716-003.jpg"); }
  .bm-hero.xmas-parties {
    background-image: url("/website/img/xmas-header.jpg"); }
  .bm-hero .race-types {
    text-align: center;
    padding: 0;
    position: absolute;
    top: auto;
    bottom: 10%;
    left: 0%;
    width: 100%; }
    .bm-hero .race-types a {
      margin: 10px;
      -webkit-box-shadow: 0px 1px 2px 2px rgba(0, 0, 0, 0.4);
      box-shadow: 0px 1px 2px 2px rgba(0, 0, 0, 0.4); }
      .bm-hero .race-types a span {
        font-size: 14px;
        font-weight: bold; }

@media screen and (min-width: 768px) {
  .bm-hero {
    height: 320px; } }

.quote-question {
  display: none; }
  .quote-question p {
    margin: 20px 0; }

#quote-email {
  width: 80%;
  margin: 10px auto; }

.quote-submit {
  width: 20%; }

/* --------------------------------

Primary style

-------------------------------- */
html * {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

#bm-timeline {
  background-color: #e9f0f5; }

img {
  max-width: 100%; }

/* --------------------------------

Modules - reusable parts of our design

-------------------------------- */
.cd-container {
  /* this class is used to give a max-width to the element it is applied to, and center it horizontally when it reaches that max-width */
  width: 90%;
  max-width: 1170px;
  margin: 0 auto; }

.cd-container::after {
  /* clearfix */
  content: '';
  display: table;
  clear: both; }

/* --------------------------------

Main components

-------------------------------- */
#cd-timeline {
  position: relative;
  padding: 2em 0;
  margin-top: 2em;
  margin-bottom: 2em; }

#cd-timeline::before {
  /* this is the vertical line */
  content: '';
  position: absolute;
  top: 0;
  left: 18px;
  height: 100%;
  width: 4px;
  background: #d7e4ed; }

@media only screen and (min-width: 767px) {
  #cd-timeline {
    margin-top: 3em;
    margin-bottom: 3em; }
  #cd-timeline::before {
    left: 50%;
    margin-left: -2px; } }

.cd-timeline-block {
  position: relative;
  margin: 2em 0; }

.cd-timeline-block:after {
  content: "";
  display: table;
  clear: both; }

.cd-timeline-block:first-child {
  margin-top: 0; }

.cd-timeline-block:last-child {
  margin-bottom: 0; }

@media only screen and (min-width: 1170px) {
  .cd-timeline-block {
    margin: 4em 0; }
  .cd-timeline-block:first-child {
    margin-top: 0; }
  .cd-timeline-block:last-child {
    margin-bottom: 0; } }

.cd-timeline-img {
  position: absolute;
  top: 0;
  left: 0;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  -webkit-box-shadow: 0 0 0 4px white, inset 0 2px 0 rgba(0, 0, 0, 0.08), 0 3px 0 4px rgba(0, 0, 0, 0.05);
  box-shadow: 0 0 0 4px white, inset 0 2px 0 rgba(0, 0, 0, 0.08), 0 3px 0 4px rgba(0, 0, 0, 0.05); }

.cd-timeline-img img {
  display: block;
  width: 60px;
  height: 60px;
  position: relative;
  left: 0;
  top: 0;
  margin-left: 0;
  margin-top: -10px; }

@media only screen and (min-width: 767px) {
  .cd-timeline-img {
    width: 60px;
    height: 60px;
    top: 0;
    left: 50%;
    margin-left: -30px;
    /* Force Hardware Acceleration in WebKit */
    -webkit-transform: translateZ(0);
    -webkit-backface-visibility: hidden; }
  .cssanimations .cd-timeline-img.is-hidden {
    visibility: hidden; }
  .cssanimations .cd-timeline-img.bounce-in {
    visibility: visible;
    -webkit-animation: cd-bounce-1 0.6s;
    -moz-animation: cd-bounce-1 0.6s;
    animation: cd-bounce-1 0.6s; } }

.cd-timeline-content {
  position: relative;
  margin-left: 60px;
  background: white;
  border-radius: 0.25em;
  padding: 1em;
  -webkit-box-shadow: 0 3px 0 #d7e4ed;
  box-shadow: 0 3px 0 #d7e4ed; }

.cd-timeline-content:after {
  content: "";
  display: table;
  clear: both; }

.cd-timeline-content h2 {
  color: #303e49; }

.cd-timeline-content p, .cd-timeline-content .cd-read-more, .cd-timeline-content .cd-date {
  font-size: 22px; }

.cd-timeline-content .cd-read-more, .cd-timeline-content .cd-date {
  display: inline-block; }

.cd-timeline-content p {
  margin: 1em 0;
  line-height: 1.6; }

.cd-timeline-content .cd-date {
  float: left;
  padding: .8em 0;
  opacity: .7; }

.cd-timeline-content::before {
  content: '';
  position: absolute;
  top: 16px;
  right: 100%;
  height: 0;
  width: 0;
  border: 7px solid transparent;
  border-right: 7px solid white; }

@media only screen and (max-width: 767px) {
  .cd-timeline-content .cd-date {
    padding: 0; }
  .cd-timeline-content p {
    margin: 10px 0 0; } }

@media only screen and (max-width: 992px) {
  .cd-timeline-content img {
    width: 100%; } }

@media only screen and (min-width: 768px) {
  .cd-timeline-content p {
    max-width: 100%;
    margin: 10px 0 0 0;
    float: none;
    font-size: 20px; } }

@media only screen and (min-width: 767px) {
  .cd-timeline-img img {
    margin-top: 0px; } }

@media only screen and (min-width: 992px) {
  .cd-timeline-content p {
    max-width: 100%;
    margin: 0 0 0 10px;
    float: right;
    width: 40%;
    font-size: 20px;
    line-height: 26px; }
  .cd-timeline-content img {
    width: 55%; } }

@media only screen and (min-width: 768px) {
  .cd-timeline-content .cd-read-more, .cd-timeline-content .cd-date {
    font-size: 24px;
    float: left;
    clear: both; } }

@media only screen and (min-width: 767px) {
  .cd-timeline-content {
    margin-left: -20px;
    width: 45%; }
  .cd-timeline-content::before {
    top: 24px;
    left: 100%;
    border-color: transparent;
    border-left-color: white; }
  .cd-timeline-content .cd-read-more {
    float: left; }
  .cd-timeline-content .cd-date {
    position: absolute;
    width: 100%;
    left: 128%;
    top: 0px;
    font-size: 26px; }
  .cd-timeline-block:nth-child(even) .cd-timeline-content {
    float: right;
    left: 10px; }
  .cd-timeline-block:nth-child(even) .cd-timeline-content::before {
    top: 24px;
    left: auto;
    right: 100%;
    border-color: transparent;
    border-right-color: white; }
  .cd-timeline-block:nth-child(even) .cd-timeline-content .cd-read-more {
    float: right; }
  .cd-timeline-block:nth-child(even) .cd-timeline-content .cd-date {
    left: auto;
    right: 130%;
    text-align: right; }
  .cd-timeline-block:nth-child(odd) .cd-timeline-content .cd-date {
    left: 132%; } }

/* ============= RACE FORMATS ============= */
.session-item-wrapper {
  margin-bottom: 40px;
  border-top: 1px solid #ccc; }

.session-item {
  border-bottom: 1px solid #ccc; }
  .session-item .session-block {
    display: inline-block;
    vertical-align: top;
    -webkit-box-sizing: border-box;
    box-sizing: border-box; }
  .session-item .session-date {
    width: 65px;
    padding-bottom: 0;
    height: 80px;
    margin-right: 15px;
    background-color: #f7f7f7;
    text-align: center;
    font-size: 40px;
    font-weight: 400;
    border: 1px solid #979797;
    border-bottom-right-radius: 5px;
    border-bottom-left-radius: 5px; }
    .session-item .session-date span {
      background-color: #008ccb;
      display: block;
      color: #fff;
      font-size: 20px;
      font-weight: 400;
      padding-top: 2px; }
  .session-item .session-details p {
    margin: 0; }
  .session-item .session-btn {
    float: right;
    width: 20%;
    text-align: right; }
    .session-item .session-btn a.cta {
      margin: 0;
      min-width: auto; }

.cta-tel {
  margin-top: 40px;
  margin-bottom: 20px; }
  .cta-tel h2, .cta-tel h3 {
    margin: 0; }

@media screen and (max-width: 767px) {
  .mini-session .session-details {
    max-width: 180px; }
  .mini-session .session-item {
    padding: 15px 10px; }
    .mini-session .session-item .session-btn {
      float: none;
      width: 100%;
      text-align: left;
      margin: 20px 0 0 0; }
      .mini-session .session-item .session-btn a.cta {
        margin: 0;
        min-width: 100%; } }

/* ========= FULL SESSION PAGE ===== */
.sessions-full-page .session-item {
  overflow: hidden; }

.sessions-full-page .session-details {
  width: 50%; }

.sessions-full-page .session-stars {
  margin: 10px 20px 0px 80px; }

.sessions-full-page .session-btn {
  width: 100%; }
  .sessions-full-page .session-btn .cta.bm-btn {
    min-width: 100%;
    margin: 20px 0 0 0; }

.session-item {
  padding: 15px 10px; }

.session-item:nth-child(even) {
  background-color: #f7f7f7; }

.family-sess .session-item:nth-child(even) {
  background-color: #fff; }

@media screen and (max-width: 767px) {
  .races-sessions .session-details {
    max-width: 180px; }
  .races-sessions .session-btn {
    width: 100%;
    float: none; }
    .races-sessions .session-btn .cta {
      width: 100%;
      margin: 20px 0 10px 0; } }

@media screen and (min-width: 767px) {
  /* === session full page === */
  .races-sessions .session-details {
    margin-top: 20px; }
  .races-sessions .session-btn {
    width: 20%;
    float: right; }
    .races-sessions .session-btn .cta {
      margin: 20px 0 10px 0;
      min-width: 100%; }
  .sessions-full-page .session-details {
    width: 45%; }
  .sessions-full-page .session-stars {
    margin: 0px 20px 0px 40px; }
  .sessions-full-page .session-btn {
    width: 15%; }
    .sessions-full-page .session-btn .cta.bm-btn {
      width: 100px;
      min-width: 100px;
      margin: 0; } }

/* ============= FILTERS ===========*/
.form-group.filters {
  padding-top: 5px;
  padding-left: 15px;
  background-color: #f7f7f7;
  border-radius: 5px; }
  .form-group.filters ul {
    margin: 0; }
  .form-group.filters label {
    font-size: 18px !important; }

/* ================== BASKET ================= */
.login-panel {
  -webkit-box-shadow: 0 3px 6px rgba(0, 0, 0, 0.2);
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.2);
  border-bottom-right-radius: 10px;
  border-bottom-left-radius: 10px;
  margin-bottom: 20px; }
  .login-panel .alert {
    width: 92%;
    margin: 10px auto; }
  .login-panel .session-item-wrapper {
    border: none;
    margin-bottom: 0px; }
  .login-panel .session-item {
    padding: 5px 0 0 0;
    border: none; }
  .login-panel .totals {
    border-top: 1px solid #ccc;
    border-bottom: 1px solid #ccc;
    margin: 20px 0 0 0; }
  .login-panel h3 {
    background-color: #008ccb;
    padding: 15px 10px 10px 10px;
    margin: 0;
    color: #fff;
    text-align: center; }
  .login-panel .book-now-details {
    padding: 20px 20px 5px 20px;
    border-bottom-right-radius: 10px;
    border-bottom-left-radius: 10px; }
  .login-panel p.promo-code {
    margin: 0px; }
  .login-panel #promo-modal {
    display: none;
    margin: 15px 0 20px 0; }
    .login-panel #promo-modal p {
      margin: 0 0 5px 0; }
    .login-panel #promo-modal input {
      height: 40px; }
  .login-panel #pay-btn {
    margin: 10px 0; }
  .login-panel p.terms a {
    font-size: inherit; }

.card-panel .panel-inner {
  padding: 20px 20px 5px 20px; }

@media screen and (max-width: 768px) {
  .card-panel .panel-inner .dates {
    margin: 15px 0; } }

.pay {
  margin-bottom: 40px; }
  .pay .session-details {
    width: 100%; }

/* ======================= PROMO STYLES =================== */
#promo-modal .modal-body {
  padding-top: 0px;
  padding-bottom: 30px; }
