.modal-enter {
  opacity: 0; }

.modal-leave-active {
  opacity: 0; }

.modal-enter .modal-container,
.modal-leave-active .modal-container {
  -webkit-transform: scale(0.5);
  transform: scale(0.5); }

.slide-down-enter-active,
.slide-down-leave-active {
  transition: max-height 0.5s ease-in-out; }

.slide-down-enter-to,
.slide-down-leave {
  overflow: hidden;
  max-height: 1000px; }

.slide-down-enter,
.slide-down-leave-to {
  overflow: hidden;
  max-height: 0; }

.fade-enter-active, .fade-leave-active {
  transition: opacity .5s; }

.fade-enter, .fade-leave-to {
  opacity: 0;
  position: absolute; }

.sessions-enter-active {
  transition: opacity .5s;
  transition-delay: .5s; }

.sessions-leave-active {
  transition: opacity .5s; }

.sessions-enter {
  opacity: 0;
  position: absolute;
  width: 100%; }

.sessions-leave-to {
  opacity: 0;
  position: absolute;
  width: 100%; }

.sessions-week-enter-active {
  transition: all .5s;
  transition-delay: .5s; }

.sessions-week-leave-active {
  transition: all .5s; }

.sessions-week-enter {
  opacity: 0;
  margin-top: -25px;
  width: 100%; }

.sessions-week-leave-to {
  opacity: 0;
  margin-top: -25px;
  width: 100%; }

.modal-mask {
  position: fixed;
  z-index: 9998;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5);
  display: table;
  transition: opacity 0.3s ease; }
  .modal-mask .modal-wrapper {
    display: table-cell;
    vertical-align: middle; }
    .modal-mask .modal-wrapper .modal-container {
      margin: 0px auto;
      padding: 20px 30px;
      background-color: #010B49;
      border-radius: 2px;
      box-shadow: 0 2px 8px rgba(0, 0, 0, 0.33);
      transition: all 0.3s ease;
      width: 300px; }
      @media (min-width: 992px) {
        .modal-mask .modal-wrapper .modal-container {
          width: 576px; } }
      @media (min-width: 1200px) {
        .modal-mask .modal-wrapper .modal-container {
          width: 768px; } }
      .modal-mask .modal-wrapper .modal-container .modal-header h3 {
        margin-top: 0;
        color: #ffffff; }
      .modal-mask .modal-wrapper .modal-container .modal-body {
        margin: 20px 0;
        color: #ffffff; }
      .modal-mask .modal-wrapper .modal-container .modal-footer button {
        color: #00A6E6;
        background-color: #ffffff;
        border-radius: 5px;
        border: none;
        padding: 10px 15px;
        display: inline-block;
        transition: all .2s ease; }
        .modal-mask .modal-wrapper .modal-container .modal-footer button:hover {
          background-color: #00A6E6;
          color: #ffffff;
          text-decoration: none; }

.bwm_timetable_week_wrapper .bwm_timetable_session .session_main {
  flex-direction: column; }
  .bwm_timetable_week_wrapper .bwm_timetable_session .session_main .session_times {
    order: 2;
    width: 100%;
    margin: 0;
    border-radius: 0; }
  .bwm_timetable_week_wrapper .bwm_timetable_session .session_main .session_details {
    flex-direction: row;
    order: 1;
    width: 100%;
    padding: 5px; }
    @media (min-width: 1200px) {
      .bwm_timetable_week_wrapper .bwm_timetable_session .session_main .session_details {
        min-height: 110px;
        flex-direction: column;
        justify-content: space-around;
        text-align: center; } }
    @media (min-width: 1400px) {
      .bwm_timetable_week_wrapper .bwm_timetable_session .session_main .session_details {
        text-align: left;
        min-height: 75px;
        flex-direction: row; } }
    .bwm_timetable_week_wrapper .bwm_timetable_session .session_main .session_details h5 {
      font-size: 13px !important;
      margin: 0;
      color: #ffffff;
      line-height: 20px; }
      @media (min-width: 1200px) {
        .bwm_timetable_week_wrapper .bwm_timetable_session .session_main .session_details h5 {
          margin-top: 5px;
          font-size: 12px !important;
          line-height: 14px; } }
      @media (min-width: 1400px) {
        .bwm_timetable_week_wrapper .bwm_timetable_session .session_main .session_details h5 {
          font-size: 14px !important;
          line-height: 16px;
          margin-top: 0; } }
    .bwm_timetable_week_wrapper .bwm_timetable_session .session_main .session_details .session_details_right {
      margin-right: 0; }
      @media (min-width: 1200px) {
        .bwm_timetable_week_wrapper .bwm_timetable_session .session_main .session_details .session_details_right {
          margin-bottom: 5px; } }
      @media (min-width: 1400px) {
        .bwm_timetable_week_wrapper .bwm_timetable_session .session_main .session_details .session_details_right {
          margin-bottom: 0; } }
      .bwm_timetable_week_wrapper .bwm_timetable_session .session_main .session_details .session_details_right button.session_open_below {
        margin: 0; }

.bwm_timetable_session {
  background-color: #010B49;
  color: #ffffff;
  margin-bottom: 10px; }
  .bwm_timetable_session .session_main {
    display: flex;
    align-items: stretch;
    flex-direction: column; }
    @media (min-width: 992px) {
      .bwm_timetable_session .session_main {
        flex-direction: row; } }
    .bwm_timetable_session .session_main .session_times {
      width: 100%;
      order: 2;
      background-color: #00A6E6;
      text-align: center;
      display: flex;
      align-items: center;
      justify-content: center;
      padding: 10px 0; }
      @media (min-width: 992px) {
        .bwm_timetable_session .session_main .session_times {
          margin-right: 10px;
          width: 15%;
          order: 1;
          font-size: 14px; } }
      @media (min-width: 1200px) {
        .bwm_timetable_session .session_main .session_times {
          width: 10%; } }
    .bwm_timetable_session .session_main .session_details {
      display: flex;
      flex-direction: row;
      justify-content: space-between;
      align-items: center;
      width: 100%;
      order: 1;
      padding: 10px 0; }
      @media (min-width: 992px) {
        .bwm_timetable_session .session_main .session_details {
          width: 90%;
          order: 2; } }
      .bwm_timetable_session .session_main .session_details h5 {
        margin: 0;
        color: #ffffff;
        font-size: 18px !important;
        padding: 0 0 0 5px; }
        @media (min-width: 992px) {
          .bwm_timetable_session .session_main .session_details h5 {
            padding: 0; } }
      .bwm_timetable_session .session_main .session_details .session_details_right {
        display: flex;
        flex-direction: row;
        align-items: center;
        justify-content: space-between;
        margin-right: 5px;
        margin-left: 5px; }
        .bwm_timetable_session .session_main .session_details .session_details_right .session_location {
          display: none; }
          @media (min-width: 992px) {
            .bwm_timetable_session .session_main .session_details .session_details_right .session_location {
              display: block;
              margin-right: 15px;
              color: #ffffff; } }
        .bwm_timetable_session .session_main .session_details .session_details_right button.session_open_below {
          margin: 0;
          padding: 5px;
          width: 30px;
          height: 30px;
          font-size: 25px;
          font-weight: 700;
          line-height: normal;
          border-radius: 5px;
          color: #ffffff;
          border: none;
          display: flex;
          align-items: center;
          justify-content: center;
          text-align: center;
          background-color: #00A6E6; }
  .bwm_timetable_session .session_below {
    padding: 0 10px 15px 10px; }
    @media (min-width: 1200px) {
      .bwm_timetable_session .session_below {
        padding: 15px; } }
    .bwm_timetable_session .session_below .session_location h6 {
      margin-top: 0px;
      color: #ffffff; }
    .bwm_timetable_session .session_below .session_add_to_basket {
      text-align: right; }
  .bwm_timetable_session .booking_button {
    color: #ffffff;
    background-color: #00A6E6;
    border-radius: 5px;
    border: none;
    padding: 10px 15px;
    display: inline-block;
    transition: all .2s ease; }
    .bwm_timetable_session .booking_button:hover {
      background-color: #010B49;
      text-decoration: none; }

.bwm_timetable {
  position: relative; }
  @media (min-width: 768px) {
    .bwm_timetable {
      padding: 15px; } }
  .bwm_timetable button:focus {
    outline: none; }
  .bwm_timetable .bwm_timetable_top {
    flex-direction: row;
    flex-wrap: wrap;
    display: grid;
    gap: 15px;
    grid-template-columns: 1fr; }
    @media (min-width: 768px) {
      .bwm_timetable .bwm_timetable_top {
        grid-template-columns: 3fr 2fr; } }
    @media (min-width: 1200px) {
      .bwm_timetable .bwm_timetable_top {
        grid-template-columns: 1fr; } }
    .bwm_timetable .bwm_timetable_top .bwm_timetable_controls {
      background-color: #eff8ff;
      width: auto;
      display: grid;
      flex-direction: row;
      align-items: center;
      width: 100%;
      justify-content: space-between;
      gap: 10px;
      order: 1;
      grid-template-columns: auto auto;
      padding: 10px; }
      @media (min-width: 768px) {
        .bwm_timetable .bwm_timetable_top .bwm_timetable_controls {
          padding: 15px; } }
      @media (min-width: 992px) {
        .bwm_timetable .bwm_timetable_top .bwm_timetable_controls {
          width: auto; } }
      .bwm_timetable .bwm_timetable_top .bwm_timetable_controls .basic_controls {
        display: grid;
        grid-template-columns: auto auto;
        gap: 10px; }
      .bwm_timetable .bwm_timetable_top .bwm_timetable_controls button {
        background-color: #00A6E6;
        color: #ffffff;
        border-radius: 5px;
        border: none;
        padding: 10px; }
        .bwm_timetable .bwm_timetable_top .bwm_timetable_controls button.active, .bwm_timetable .bwm_timetable_top .bwm_timetable_controls button:hover {
          background-color: #010B49; }
    .bwm_timetable .bwm_timetable_top .bwm_timetable_filters {
      background-color: #eff8ff;
      display: grid;
      gap: 10px;
      align-items: center;
      justify-content: center;
      order: 2;
      padding: 10px;
      grid-template-columns: 1fr; }
      @media (min-width: 576px) {
        .bwm_timetable .bwm_timetable_top .bwm_timetable_filters {
          grid-template-columns: 1fr 1fr; } }
      @media (min-width: 768px) {
        .bwm_timetable .bwm_timetable_top .bwm_timetable_filters {
          padding: 15px;
          grid-row: 2;
          grid-column: 1 / 3;
          grid-template-columns: 2fr 1fr;
          justify-content: space-between;
          order: 3;
          width: 100%; } }
      @media (min-width: 992px) {
        .bwm_timetable .bwm_timetable_top .bwm_timetable_filters {
          order: 2; } }
      @media (min-width: 1200px) {
        .bwm_timetable .bwm_timetable_top .bwm_timetable_filters {
          grid-column: 1; } }
      .bwm_timetable .bwm_timetable_top .bwm_timetable_filters select {
        padding: 10px;
        color: #ffffff;
        border-radius: 5px;
        border: none;
        background-color: #00A6E6;
        display: block;
        width: 100%; }
    .bwm_timetable .bwm_timetable_top .open_day_select_dropdown {
      color: #ffffff;
      background-color: #eff8ff;
      display: flex;
      flex-direction: row;
      align-items: center;
      justify-content: space-between;
      padding: 10px;
      order: 3; }
      @media (min-width: 768px) {
        .bwm_timetable .bwm_timetable_top .open_day_select_dropdown {
          order: 2;
          padding: 15px;
          width: 100%; } }
      @media (min-width: 992px) {
        .bwm_timetable .bwm_timetable_top .open_day_select_dropdown {
          order: 3;
          width: auto; } }
      @media (min-width: 1200px) {
        .bwm_timetable .bwm_timetable_top .open_day_select_dropdown {
          display: none; } }
      .bwm_timetable .bwm_timetable_top .open_day_select_dropdown > span {
        font-weight: 700;
        padding-right: 10px; }
      .bwm_timetable .bwm_timetable_top .open_day_select_dropdown button {
        color: #00A6E6;
        background-color: #ffffff;
        border-radius: 5px;
        border: none;
        padding: 10px 15px;
        display: inline-block;
        transition: all .2s ease; }
        .bwm_timetable .bwm_timetable_top .open_day_select_dropdown button:hover {
          background-color: #00A6E6;
          color: #ffffff;
          text-decoration: none; }
    .bwm_timetable .bwm_timetable_top.week_view {
      grid-template-columns: 1fr; }
      .bwm_timetable .bwm_timetable_top.week_view .bwm_timetable_filters {
        grid-column: 1; }
  .bwm_timetable .bwm_timetable_sessions_wrapper {
    position: relative; }
    .bwm_timetable .bwm_timetable_sessions_wrapper .bwm_timetable_day_wrapper {
      background-color: #eff8ff;
      padding: 10px;
      width: 100%; }
      .bwm_timetable .bwm_timetable_sessions_wrapper .bwm_timetable_day_wrapper > h5 {
        text-align: center;
        color: #ffffff;
        margin: 0 0 10px 0;
        padding: 5px 0;
        background-color: #010b49; }
      .bwm_timetable .bwm_timetable_sessions_wrapper .bwm_timetable_day_wrapper .bwm_timetable_day {
        position: relative; }
      .bwm_timetable .bwm_timetable_sessions_wrapper .bwm_timetable_day_wrapper .no_sessions_found {
        text-align: center;
        margin: 30px auto; }
        .bwm_timetable .bwm_timetable_sessions_wrapper .bwm_timetable_day_wrapper .no_sessions_found h4 {
          background-color: #00A6E6;
          display: inline-block;
          margin: 0;
          padding: 30px;
          color: #ffffff; }
    .bwm_timetable .bwm_timetable_sessions_wrapper .bwm_timetable_week_wrapper {
      margin-top: 15px; }
      @media (min-width: 1200px) {
        .bwm_timetable .bwm_timetable_sessions_wrapper .bwm_timetable_week_wrapper {
          margin-top: 0px;
          display: grid;
          grid-column-gap: 8px; }
          .bwm_timetable .bwm_timetable_sessions_wrapper .bwm_timetable_week_wrapper.columns_7 {
            grid-template-columns: repeat(7, 1fr); }
          .bwm_timetable .bwm_timetable_sessions_wrapper .bwm_timetable_week_wrapper.columns_8 {
            grid-template-columns: repeat(8, 1fr); } }
      @media (min-width: 1400px) {
        .bwm_timetable .bwm_timetable_sessions_wrapper .bwm_timetable_week_wrapper {
          grid-column-gap: 10px; } }
      .bwm_timetable .bwm_timetable_sessions_wrapper .bwm_timetable_week_wrapper .bwm_timetable_date_day {
        padding: 10px;
        background-color: #010b49; }
        @media (min-width: 1200px) {
          .bwm_timetable .bwm_timetable_sessions_wrapper .bwm_timetable_week_wrapper .bwm_timetable_date_day {
            display: none; } }
        .bwm_timetable .bwm_timetable_sessions_wrapper .bwm_timetable_week_wrapper .bwm_timetable_date_day h6 {
          font-weight: 700;
          margin: 0;
          color: #ffffff; }
      .bwm_timetable .bwm_timetable_sessions_wrapper .bwm_timetable_week_wrapper .bwm_timetable_week {
        background-color: #eff8ff;
        padding: 10px;
        position: relative; }
        @media (min-width: 1200px) {
          .bwm_timetable .bwm_timetable_sessions_wrapper .bwm_timetable_week_wrapper .bwm_timetable_week {
            padding: 8px; } }
        @media (min-width: 1400px) {
          .bwm_timetable .bwm_timetable_sessions_wrapper .bwm_timetable_week_wrapper .bwm_timetable_week {
            padding: 10px; } }
  .bwm_timetable .bwm_timetable_day_select {
    margin: 15px 0;
    background-color: #eff8ff; }
    .bwm_timetable .bwm_timetable_day_select.week_headings {
      display: none; }
      @media (min-width: 1200px) {
        .bwm_timetable .bwm_timetable_day_select.week_headings {
          text-align: center;
          align-items: center;
          display: grid;
          grid-column-gap: 8px; }
          .bwm_timetable .bwm_timetable_day_select.week_headings.columns_7 {
            grid-template-columns: repeat(7, 1fr); }
          .bwm_timetable .bwm_timetable_day_select.week_headings.columns_8 {
            grid-template-columns: repeat(8, 1fr); } }
      @media (min-width: 1400px) {
        .bwm_timetable .bwm_timetable_day_select.week_headings {
          grid-column-gap: 10px; } }
      .bwm_timetable .bwm_timetable_day_select.week_headings h6 {
        padding: 10px 5px;
        font-size: 14px;
        color: #010b49;
        margin: 0; }
    .bwm_timetable .bwm_timetable_day_select .days_select_wrapper {
      display: grid;
      grid-template-columns: 1fr;
      grid-column-gap: 10px;
      margin-top: 15px;
      padding: 10px; }
      @media (min-width: 1200px) {
        .bwm_timetable .bwm_timetable_day_select .days_select_wrapper.columns_7 {
          grid-template-columns: repeat(7, 1fr); } }
      @media (min-width: 1200px) {
        .bwm_timetable .bwm_timetable_day_select .days_select_wrapper.columns_8 {
          grid-template-columns: repeat(8, 1fr); } }
      @media (min-width: 1200px) {
        .bwm_timetable .bwm_timetable_day_select .days_select_wrapper {
          margin-top: 0px; } }
      .bwm_timetable .bwm_timetable_day_select .days_select_wrapper button {
        font-size: 15px;
        border-radius: 5px;
        border: none;
        padding: 8px 12px;
        background-color: #00A6E6;
        color: #ffffff; }
        @media (min-width: 1200px) {
          .bwm_timetable .bwm_timetable_day_select .days_select_wrapper button {
            font-size: 13px; } }
        @media (max-width: 1199px) {
          .bwm_timetable .bwm_timetable_day_select .days_select_wrapper button {
            font-size: 14px;
            margin-bottom: 5px; } }
        .bwm_timetable .bwm_timetable_day_select .days_select_wrapper button.active, .bwm_timetable .bwm_timetable_day_select .days_select_wrapper button:hover {
          background-color: #010B49; }
  .bwm_timetable .toggle_all_classes_button {
    display: block;
    border: none;
    font-weight: 700;
    margin: 15px auto 0 auto;
    color: #ffffff;
    padding: 10px;
    background-color: #00A6E6;
    border-radius: 5px; }
    .bwm_timetable .toggle_all_classes_button:hover {
      background-color: #010B49; }

.bwm_timetable * {
  font-family: Roboto, sans-serif;
}