.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;
      background-color: #EDEDED;
      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 {
        background-color: #512673;
        border-radius: 0; }
        .modal-mask .modal-wrapper .modal-container .modal-header h3 {
          margin: 0;
          color: #ffffff; }
      .modal-mask .modal-wrapper .modal-container .modal-body {
        margin: 0;
        padding: 10px;
        color: #512673; }
        .modal-mask .modal-wrapper .modal-container .modal-body > div {
          color: #512673;
          font-size: 18px;
          margin-bottom: 10px;
          padding-bottom: 10px; }
          .modal-mask .modal-wrapper .modal-container .modal-body > div:last-of-type {
            border-bottom: none;
            padding-bottom: 0px; }
          .modal-mask .modal-wrapper .modal-container .modal-body > div.session_location a {
            color: #512673; }
          .modal-mask .modal-wrapper .modal-container .modal-body > div.session_desc {
            font-size: 14px; }
            @media (min-width: 992px) {
              .modal-mask .modal-wrapper .modal-container .modal-body > div.session_desc {
                font-size: 16px; } }
          .modal-mask .modal-wrapper .modal-container .modal-body > div a.session_url {
            background-color: #C30A69;
            padding: 8px 15px;
            color: #ffffff;
            font-weight: 700;
            border: none;
            transition: all .2s ease; }
            .modal-mask .modal-wrapper .modal-container .modal-body > div a.session_url:hover {
              background-color: #512673;
              text-decoration: none; }
        .modal-mask .modal-wrapper .modal-container .modal-body h6 {
          font-size: 20px;
          color: #512673; }
          .modal-mask .modal-wrapper .modal-container .modal-body h6:last-of-type {
            margin-bottom: 0; }

.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;
    display: flex;
    justify-content: space-between; }
    .bwm_timetable_week_wrapper .bwm_timetable_session .session_main .session_times .time {
      line-height: 25px; }
  .bwm_timetable_week_wrapper .bwm_timetable_session .session_main .session_details {
    flex-direction: row;
    order: 1;
    width: 100%;
    padding: 5px;
    justify-content: center;
    align-items: center; }
    @media (min-width: 1200px) {
      .bwm_timetable_week_wrapper .bwm_timetable_session .session_main .session_details {
        min-height: 90px;
        flex-direction: column;
        text-align: center; } }
    @media (min-width: 1400px) {
      .bwm_timetable_week_wrapper .bwm_timetable_session .session_main .session_details {
        min-height: 70px;
        flex-direction: row; } }
    .bwm_timetable_week_wrapper .bwm_timetable_session .session_main .session_details h5 {
      font-size: 15px;
      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: 16px; } }
      @media (min-width: 1400px) {
        .bwm_timetable_week_wrapper .bwm_timetable_session .session_main .session_details h5 {
          font-size: 15px;
          margin-top: 0; } }
      @media (min-width: 1600px) {
        .bwm_timetable_week_wrapper .bwm_timetable_session .session_main .session_details h5 {
          font-size: 15px; } }
    .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: #512673;
  color: #ffffff;
  margin-bottom: 10px; }
  .bwm_timetable_session .session_main {
    display: flex;
    align-items: center;
    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: #ffffff;
      color: #512673;
      text-align: center;
      padding: 8px 5px;
      display: flex;
      flex-direction: row;
      justify-content: center;
      align-items: center; }
      @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_times button {
        background-color: #C30A69;
        color: #ffffff;
        margin: 0 0 0 15px;
        border: none;
        padding: 0 0 0 1px;
        width: 25px;
        height: 25px;
        font-size: 20px;
        line-height: 25px; }
    .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; }
      @media (min-width: 992px) {
        .bwm_timetable_session .session_main .session_details {
          padding: 0px;
          width: 90%;
          order: 2; } }
      .bwm_timetable_session .session_main .session_details h5 {
        margin: 0;
        color: #ffffff;
        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: 10px;
        margin-left: 5px; }
        .bwm_timetable_session .session_main .session_details .session_details_right a {
          color: #ffffff; }
        .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;
              color: #ffffff; } }
        .bwm_timetable_session .session_main .session_details .session_details_right button.session_open_below {
          margin: 0 0 0 15px;
          border: none;
          padding: 0 0 0 1px;
          width: 25px;
          height: 25px;
          font-size: 20px;
          line-height: 25px; }
  .bwm_timetable_session .session_below {
    padding: 0 10px 15px 10px;
    background-color: #ffffff; }
    @media (min-width: 1200px) {
      .bwm_timetable_session .session_below {
        padding: 15px; } }
    .bwm_timetable_session .session_below .session_location {
      border-bottom: 1px solid #EDEDED;
      margin-bottom: 10px;
      padding-top: 10px; }
      @media (min-width: 768px) {
        .bwm_timetable_session .session_below .session_location {
          padding-top: 0; } }
      .bwm_timetable_session .session_below .session_location a {
        color: #000000; }
      .bwm_timetable_session .session_below .session_location h6 {
        font-size: 20px;
        margin-top: 0px;
        color: #000000; }
    .bwm_timetable_session .session_below .session_duration {
      margin-bottom: 10px;
      padding-bottom: 10px;
      font-size: 16px;
      color: #000000;
      border-bottom: 1px solid #EDEDED; }
    .bwm_timetable_session .session_below .session_desc {
      margin-bottom: 10px;
      padding-bottom: 10px;
      font-size: 16px;
      color: #000000;
      border-bottom: 1px solid #EDEDED; }
    .bwm_timetable_session .session_below .session_link {
      margin-top: 15px; }
      .bwm_timetable_session .session_below .session_link a {
        background-color: #C30A69;
        padding: 8px 15px;
        color: #ffffff;
        font-weight: 700;
        border: none; }

.bwm_timetable {
  background-color: #EDEDED;
  padding: 10px;
  position: relative; }
  .bwm_timetable button:focus {
    outline: none; }
  .bwm_timetable .bwm_timetable_top {
    display: flex;
    flex-direction: column;
    justify-content: space-between; }
    @media (min-width: 768px) {
      .bwm_timetable .bwm_timetable_top {
        flex-direction: row;
        flex-wrap: wrap; } }
    @media (min-width: 992px) {
      .bwm_timetable .bwm_timetable_top {
        flex-wrap: nowrap; } }
    .bwm_timetable .bwm_timetable_top .bwm_timetable_controls {
      background-color: #5f2c86;
      width: auto;
      display: flex;
      flex-direction: row;
      align-items: center;
      justify-content: center;
      padding: 10px;
      order: 1; }
      @media (min-width: 768px) {
        .bwm_timetable .bwm_timetable_top .bwm_timetable_controls {
          justify-content: space-between;
          width: calc(50% - 7px); } }
      @media (min-width: 992px) {
        .bwm_timetable .bwm_timetable_top .bwm_timetable_controls {
          width: auto; } }
      .bwm_timetable .bwm_timetable_top .bwm_timetable_controls button {
        margin-right: 10px;
        padding: 8px 15px;
        border: none;
        color: #ffffff;
        background-color: #C30A69;
        font-weight: 700;
        font-size: 14px; }
        .bwm_timetable .bwm_timetable_top .bwm_timetable_controls button:last-of-type {
          margin-right: 0; }
        .bwm_timetable .bwm_timetable_top .bwm_timetable_controls button.active {
          color: #512673;
          background-color: #ffffff; }
        @media (min-width: 1200px) {
          .bwm_timetable .bwm_timetable_top .bwm_timetable_controls button {
            font-size: 16px; } }
    .bwm_timetable .bwm_timetable_top .bwm_timetable_filters {
      background-color: #5f2c86;
      display: flex;
      flex-direction: row;
      align-items: center;
      margin-top: 15px;
      justify-content: center;
      padding: 10px;
      order: 2;
      font-size: 14px; }
      @media (min-width: 768px) {
        .bwm_timetable .bwm_timetable_top .bwm_timetable_filters {
          justify-content: space-between;
          margin-top: 15px;
          order: 3;
          width: 100%; } }
      @media (min-width: 992px) {
        .bwm_timetable .bwm_timetable_top .bwm_timetable_filters {
          margin-top: 0;
          order: 2;
          width: auto; } }
      @media (min-width: 1200px) {
        .bwm_timetable .bwm_timetable_top .bwm_timetable_filters {
          font-size: 16px; } }
      .bwm_timetable .bwm_timetable_top .bwm_timetable_filters select {
        padding: 7px 10px;
        color: #ffffff;
        border: none;
        background-color: #C30A69;
        width: 100%;
        font-weight: 700;
        margin-right: 10px; }
        .bwm_timetable .bwm_timetable_top .bwm_timetable_filters select:first-of-type {
          margin-left: 0; }
        .bwm_timetable .bwm_timetable_top .bwm_timetable_filters select:last-of-type {
          margin-right: 0; }
        @media (min-width: 768px) {
          .bwm_timetable .bwm_timetable_top .bwm_timetable_filters select {
            width: auto; } }
        @media (min-width: 992px) {
          .bwm_timetable .bwm_timetable_top .bwm_timetable_filters select {
            width: 100%;
            margin: 0 5px 0 5px; } }
        @media (min-width: 1200px) {
          .bwm_timetable .bwm_timetable_top .bwm_timetable_filters select {
            width: auto;
            margin: 0 10px 0 0; }
            .bwm_timetable .bwm_timetable_top .bwm_timetable_filters select:last-of-type {
              margin-right: 0; } }
    .bwm_timetable .bwm_timetable_top .open_day_select_dropdown {
      color: #ffffff;
      background-color: #5f2c86;
      margin-top: 15px;
      display: flex;
      align-items: center;
      flex-direction: row;
      justify-content: center;
      padding: 10px;
      order: 3;
      font-size: 14px; }
      @media (min-width: 768px) {
        .bwm_timetable .bwm_timetable_top .open_day_select_dropdown {
          order: 2;
          justify-content: space-between;
          margin-top: 0;
          width: calc(50% - 7px); } }
      @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 {
        background-color: #C30A69;
        font-weight: 700;
        color: #ffffff;
        border: none;
        padding: 8px 15px; }
  .bwm_timetable .bwm_timetable_sessions_wrapper {
    position: relative; }
    .bwm_timetable .bwm_timetable_sessions_wrapper .bwm_timetable_day_wrapper {
      padding: 10px;
      width: 100%; }
      .bwm_timetable .bwm_timetable_sessions_wrapper .bwm_timetable_day_wrapper > h5 {
        text-align: center;
        color: #512673;
        font-weight: 700;
        margin: 0 0 10px 0; }
      .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: #512673;
          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 {
          padding: 10px;
          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: 5px; }
        @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 {
          margin: 0 0 5px 0;
          color: #512673; }
      .bwm_timetable .bwm_timetable_sessions_wrapper .bwm_timetable_week_wrapper .bwm_timetable_week {
        position: relative; }
  .bwm_timetable .bwm_timetable_day_select {
    margin: 15px 0;
    background-color: #512673; }
    .bwm_timetable .bwm_timetable_day_select.week_headings {
      display: none; }
      @media (min-width: 1200px) {
        .bwm_timetable .bwm_timetable_day_select.week_headings {
          padding: 10px;
          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 > div {
        background-color: #C30A69;
        padding: 9px 5px; }
      .bwm_timetable .bwm_timetable_day_select.week_headings h6 {
        font-size: 13px;
        line-height: 13px;
        color: #ffffff;
        margin: 0;
        font-weight: 700; }
    .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: 13px;
        line-height: 15px;
        padding: 8px 12px;
        border: none;
        background-color: #C30A69;
        color: #ffffff;
        transition: all .2s ease;
        font-weight: 700; }
        @media (max-width: 1199px) {
          .bwm_timetable .bwm_timetable_day_select .days_select_wrapper button {
            margin-bottom: 10px; }
            .bwm_timetable .bwm_timetable_day_select .days_select_wrapper button:last-of-type {
              margin-bottom: 0; } }
        .bwm_timetable .bwm_timetable_day_select .days_select_wrapper button.active {
          background-color: #ffffff;
          color: #512673; }

.booking_button {
  color: #ffffff;
  background-color: #512673;
  padding: 8px 15px;
  border: none;
  font-weight: 700;
  transition: all .2s ease; }
  .booking_button:hover {
    background-color: #C30A69;
    text-decoration: none;
    color: #ffffff; }
