.calendar-share-popup li a {
  padding: 4px;
  display: block;
}
.calendar-share-popup li a span {
  color: #000;
}
.calendar-share-popup li a:hover, .calendar-share-popup li a:focus {
  background-color: #000;
}
.calendar-share-popup li a:hover span, .calendar-share-popup li a:focus span {
  color: #fff;
}

#calendar-booking-detail-container .dropdown:hover ul, #calendar-booking-detail-container .dropdown:focus-within ul {
  display: block;
}
#calendar-booking-detail-container .dropdown:hover > button, #calendar-booking-detail-container .dropdown:focus-within > button {
  background-color: #6b7584;
  color: #fff !important;
}

#calendarBookingCategorizationPanel a.panel-header {
  background-color: #f8f9fa;
  border-color: rgba(0, 0, 0, 0.125);
}
#calendarBookingCategorizationPanel a.panel-header .panel-title {
  font-size: 1.5rem;
  color: #000;
}
#calendarBookingCategorizationPanel a.panel-header.collapse-icon .collapse-icon-closed,
#calendarBookingCategorizationPanel a.panel-header.collapse-icon .collapse-icon-open {
  font-size: 1.5rem;
  color: #000;
  margin-top: 0;
  top: 50%;
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
}

.calendar-portlet .scheduler-event-content, .calendar-portlet .scheduler-event-title {
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
  padding: 2px 4px;
}

.calendar-portlet .scheduler-view-table-events-overlay-node a.scheduler-view-table-events-overlay-node-close {
  padding: 6px;
  border-radius: 6px;
  margin: 0 0 0 170px;
}

.calendar-portlet #calendar-header-left {
  flex: 1;
  max-width: unset;
}
.calendar-portlet .calendar-list-item {
  color: #222;
  cursor: pointer;
  display: block;
  line-height: 35px;
  overflow: hidden;
  padding: 0 5px;
  position: relative;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.calendar-portlet .calendar-list-item-hover,
.calendar-portlet .calendar-list-item-active {
  background-color: #dce3ea;
  white-space: -moz-pre-wrap;
  white-space: pre-line;
  white-space: pre-wrap;
  white-space: pre;
  word-wrap: break-word;
}
.calendar-portlet .calendar-list-item-hover .calendar-list-item-arrow,
.calendar-portlet .calendar-list-item-active .calendar-list-item-arrow {
  display: block;
}
.calendar-portlet .calendar-list-item-arrow {
  background-color: #fff;
  border: 1px solid #b5b5b5;
  color: #656565;
  line-height: 1em;
  position: absolute;
  right: 5px;
  top: 9px;
}
.calendar-portlet .calendar-list-item-arrow:hover {
  background-color: #f0f0f0;
  color: #333;
}
.calendar-portlet .calendar-list-item-arrow .icon-caret-down {
  padding: 0 3px;
}
@media (max-width: 767px) {
  .calendar-portlet .calendar-list-item-arrow {
    font-size: 1.75em;
    top: 4px;
  }
  .calendar-portlet .calendar-list-item-arrow .icon-caret-down {
    padding: 0 6px;
  }
}
.calendar-portlet .calendar-list-item-color {
  border: 1px solid #dcdcdc;
  display: inline-block;
  height: 11px;
  margin-right: 4px;
  position: relative;
  top: 2px;
  width: 11px;
}
.calendar-portlet .calendar-list-item-label {
  line-height: 13px;
}
.calendar-portlet .calendar-list-item-hidden .calendar-list-item-label {
  color: #555;
}
.calendar-portlet .calendar-list-item .calendar-list-item-color,
.calendar-portlet .calendar-list-item-arrow,
.calendar-portlet .calendar-list-item-arrow .icon-caret-down {
  border-radius: 3px;
}
.calendar-portlet #events-list-container .event-listing {
  display: flex;
  align-items: center;
  margin-top: 20px;
  background-color: #ffffff;
}
.calendar-portlet #events-list-container .event-listing .event-date {
  width: 20%;
  display: flex;
  flex-direction: column;
  text-align: center;
  justify-content: center;
  min-width: 70px;
}
.calendar-portlet #events-list-container .event-listing .event-date .event-month {
  color: var(--grey-4);
  font-family: var(--gotham-medium);
  font-size: 1.4rem;
}
.calendar-portlet #events-list-container .event-listing .event-date .event-day {
  color: var(--grey-6);
  font-family: var(--gotham-bold);
  font-size: 2.5rem;
  line-height: 2rem;
}
.calendar-portlet #events-list-container .event-listing .event-basic-info {
  width: 80%;
  align-items: center;
  display: flex;
  flex-direction: row;
  background-color: #ffffff;
  border-left: 1px solid var(--grey-3);
}
.calendar-portlet #events-list-container .event-listing .event-basic-info .event-basic-info-details {
  padding: 0 1rem;
}
.calendar-portlet #events-list-container .event-listing .event-basic-info .event-basic-info-details .basic-info-button-group {
  display: flex;
}
.calendar-portlet #events-list-container .event-listing .event-basic-info .basic-info-edit-link,
.calendar-portlet #events-list-container .event-listing .event-basic-info .basic-info-delete-link {
  color: var(--bbk-blue);
  font-family: var(--gotham-medium);
}
.calendar-portlet #events-list-container .event-listing .event-basic-info .event-basic-info-image {
  height: 120px;
  width: 220px;
  object-fit: cover;
  max-width: none;
}
.calendar-portlet #events-list-container .event-listing .event-basic-info .event-basic-info-day-time {
  color: var(--grey-5);
  font-size: 0.9rem;
  padding-bottom: 8px;
}
.calendar-portlet #events-list-container .event-listing .event-basic-info .event-basic-info-title {
  color: var(--bbk-blue);
  font-size: 1.2rem;
  font-family: var(--gotham-medium);
}
.calendar-portlet #events-list-container .event-listing:first-child {
  padding-top: 0 !important;
  margin-top: 0 !important;
}
@media (min-width: 768px) {
  .calendar-portlet #events-list-container .event-listing {
    padding-top: 10px;
    background-color: unset;
  }
  .calendar-portlet #events-list-container .event-listing:first-child {
    padding-top: 0px;
  }
  .calendar-portlet #events-list-container .event-listing .event-basic-info {
    box-shadow: 0 5px 5px rgba(0, 0, 0, 0.25);
    width: 85%;
  }
  .calendar-portlet #events-list-container .event-listing .event-date {
    width: 15%;
  }
  .calendar-portlet #events-list-container .event-listing .event-date .event-day {
    font-size: 3rem;
    line-height: 2.5rem;
  }
  .calendar-portlet #events-list-container .event-listing .event-date .event-month {
    font-size: 1.6rem;
    text-transform: uppercase;
  }
  .calendar-portlet #events-list-container .event-listing .event-basic-info .event-basic-info-day-time {
    color: var(--grey-6);
    font-size: 1rem;
  }
  .calendar-portlet #events-list-container .event-listing .event-basic-info .event-basic-info-title {
    font-size: 1.4rem;
  }
}
@media (min-width: 1200px) {
  .calendar-portlet #events-list-container .event-listing .event-date .event-day {
    font-size: 3.5rem;
    line-height: 3rem;
  }
  .calendar-portlet #events-list-container .event-listing .event-date .event-month {
    font-size: 1.7rem;
    text-transform: uppercase;
  }
  .calendar-portlet #events-list-container .event-listing .event-basic-info .event-basic-info-day-time {
    font-size: 1.2rem;
  }
  .calendar-portlet #events-list-container .event-listing .event-basic-info .event-basic-info-title {
    font-size: 1.65rem;
  }
}
@media (min-width: 1440px) {
  .calendar-portlet #events-list-container .event-listing .event-date {
    width: 10%;
  }
  .calendar-portlet #events-list-container .event-listing .event-date .event-month {
    font-size: 1.9rem;
    text-transform: uppercase;
  }
  .calendar-portlet #events-list-container .event-listing .event-date .event-day {
    font-size: 3.75rem;
    line-height: 3.5rem;
  }
  .calendar-portlet #events-list-container .event-listing .event-basic-info {
    box-shadow: 0 5px 5px rgba(0, 0, 0, 0.25);
    width: 90%;
  }
}
.calendar-portlet #calendar-booking-detail-container {
  background-color: var(--white);
  margin: 0;
}
.calendar-portlet #calendar-booking-detail-container #share-row {
  display: flex;
  flex-direction: row;
  justify-content: flex-end;
  background-color: var(--grey-2);
}
.calendar-portlet #calendar-booking-detail-container #share-row .dropdown.add-to-button-dropdown .dropdown-toggle,
.calendar-portlet #calendar-booking-detail-container #share-row .dropdown.share-calendar-booking-dropdown .dropdown-toggle {
  color: var(--bbk-blue);
  font-family: var(--gotham-medium);
  padding: 0.75rem 2rem;
}
@media (max-width: 991px) {
  .calendar-portlet #calendar-booking-detail-container #share-row .dropdown.add-to-button-dropdown .dropdown-toggle,
.calendar-portlet #calendar-booking-detail-container #share-row .dropdown.share-calendar-booking-dropdown .dropdown-toggle {
    color: var(--grey-5);
    font-family: var(--gotham-book);
  }
  .calendar-portlet #calendar-booking-detail-container #share-row .dropdown.add-to-button-dropdown .dropdown-toggle span,
.calendar-portlet #calendar-booking-detail-container #share-row .dropdown.share-calendar-booking-dropdown .dropdown-toggle span {
    display: block;
  }
}
@media (max-width: 575px) {
  .calendar-portlet #calendar-booking-detail-container #share-row .dropdown.add-to-button-dropdown .dropdown-toggle,
.calendar-portlet #calendar-booking-detail-container #share-row .dropdown.share-calendar-booking-dropdown .dropdown-toggle {
    padding: 0.75rem 1rem;
  }
}
@media (max-width: 991px) {
  .calendar-portlet #calendar-booking-detail-container #share-row {
    justify-content: center;
  }
}
.calendar-portlet #calendar-booking-detail-container #title-row {
  margin-bottom: 10px;
}
.calendar-portlet #calendar-booking-detail-container #title-row h2 {
  font-size: 1.4rem;
}
.calendar-portlet #calendar-booking-detail-container #event-image {
  width: 100%;
  height: auto;
}
.calendar-portlet #calendar-booking-detail-container #description-section {
  overflow: hidden;
}
.calendar-portlet #calendar-booking-detail-container #description-section p {
  font-size: 1.2rem;
}
.calendar-portlet #calendar-booking-detail-container #description-section a.tag-link:link,
.calendar-portlet #calendar-booking-detail-container #description-section a.tag-link:visited,
.calendar-portlet #calendar-booking-detail-container #description-section a.tag-link:active {
  color: var(--white, #ffffff);
  border: 1px solid transparent;
  border-radius: 0.25rem;
  padding: 0.5rem 1rem;
  margin-bottom: 0.5rem;
  display: inline-block;
}
.calendar-portlet #calendar-booking-detail-container #description-section a.tag-link:nth-child(even):link,
.calendar-portlet #calendar-booking-detail-container #description-section a.tag-link:nth-child(even):visited,
.calendar-portlet #calendar-booking-detail-container #description-section a.tag-link:nth-child(even):active {
  background-color: var(--bbk-green2);
}
.calendar-portlet #calendar-booking-detail-container #description-section a.tag-link:nth-child(odd):link,
.calendar-portlet #calendar-booking-detail-container #description-section a.tag-link:nth-child(odd):visited,
.calendar-portlet #calendar-booking-detail-container #description-section a.tag-link:nth-child(odd):active {
  background-color: var(--bbk-blue);
}
.calendar-portlet #calendar-booking-detail-container #description-section #snapshot-section {
  padding: 1.5rem;
  background-color: var(--grey-2);
  box-shadow: 0 5px 5px rgba(0, 0, 0, 0.25);
}
.calendar-portlet #calendar-booking-detail-container #description-section #snapshot-section > * {
  padding: 0.75rem 0;
}
.calendar-portlet #calendar-booking-detail-container #description-section #snapshot-section > * > h4 {
  margin-bottom: 0rem;
}
@media (max-width: 991px) {
  .calendar-portlet #calendar-booking-detail-container #description-section #snapshot-section {
    padding: 1.5rem 2rem;
  }
}
.calendar-portlet #calendar-booking-detail-container #description-section .panel-heading {
  border: none;
  display: flex;
}
.calendar-portlet #calendar-booking-detail-container #description-section .panel-heading h3 {
  font-size: 2.25rem;
  margin: 0;
  color: var(--grey-6);
}
.calendar-portlet #calendar-booking-detail-container #description-section .panel-heading h3,
.calendar-portlet #calendar-booking-detail-container #description-section .panel-heading h2,
.calendar-portlet #calendar-booking-detail-container #description-section .panel-heading h1 {
  font-size: 2.25rem;
  margin: 0;
  white-space: normal;
  display: -webkit-box !important;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden !important;
}
@media (max-width: 991px) {
  .calendar-portlet #calendar-booking-detail-container #description-section .panel-heading h3,
.calendar-portlet #calendar-booking-detail-container #description-section .panel-heading h2,
.calendar-portlet #calendar-booking-detail-container #description-section .panel-heading h1 {
    font-size: 2rem;
    margin-top: 4px;
  }
}
@media (max-width: 767px) {
  .calendar-portlet #calendar-booking-detail-container #description-section .panel-heading h3,
.calendar-portlet #calendar-booking-detail-container #description-section .panel-heading h2,
.calendar-portlet #calendar-booking-detail-container #description-section .panel-heading h1 {
    font-size: 1.8rem;
  }
}
@media (max-width: 575px) {
  .calendar-portlet #calendar-booking-detail-container #description-section .panel-heading h3,
.calendar-portlet #calendar-booking-detail-container #description-section .panel-heading h2,
.calendar-portlet #calendar-booking-detail-container #description-section .panel-heading h1 {
    font-size: 1.4rem;
    margin-top: 10px;
  }
}
@media (max-width: 575px) {
  .calendar-portlet #calendar-booking-detail-container #description-section .panel-heading {
    padding-left: 1rem;
    padding-right: 1rem;
  }
}
.calendar-portlet #calendar-booking-detail-container #description-section span.header-back-to a {
  color: var(--bbk-grey-4);
  font-size: 1.3rem;
  padding: 6px;
  border-radius: 4px;
  background-color: var(--grey-2);
  margin-right: 1rem;
}
.calendar-portlet #calendar-booking-detail-container #event-booking-content #event-description,
.calendar-portlet #calendar-booking-detail-container #event-booking-content #event-tags {
  padding: 2rem 1.5rem;
  font-size: 1.2rem;
}
@media (max-width: 575px) {
  .calendar-portlet #calendar-booking-detail-container #event-booking-content #event-description,
.calendar-portlet #calendar-booking-detail-container #event-booking-content #event-tags {
    font-size: 1rem;
  }
}
.calendar-portlet #calendar-booking-detail-container #event-booking-content a#event-url {
  font-size: 1.5rem;
  font-family: var(--gotham-medium);
  padding-left: 1.5rem;
}
@media (max-width: 991px) {
  .calendar-portlet #calendar-booking-detail-container #event-booking-content a#event-url {
    font-size: 1.2rem;
    color: var(--white);
    font-family: var(--gotham-book);
    background-color: var(--bbk-blue);
    padding: 0.5rem 0.75rem;
    border-radius: 0.35rem;
    text-transform: uppercase;
    margin-left: 15px;
  }
}
@media (max-width: 575px) {
  .calendar-portlet #calendar-booking-detail-container {
    margin: 0 -15px;
  }
}
.calendar-portlet #filter-section {
  padding: 0.5rem 1.5rem;
}
.calendar-portlet #filter-section .filter-btn {
  text-align: center;
  width: 100%;
  top: 13px;
  margin-right: 10px;
}
.calendar-portlet #filter-section .filter-btn img {
  height: auto;
  max-width: 76px;
  max-height: 76px;
  width: auto;
}
@media (min-width: 993px) {
  .calendar-portlet #filter-section .filter-btn img {
    width: 100%;
  }
}
.calendar-portlet #filter-section .filter-btn.closed #filter-icon-mobile {
  transform: scaleY(-1);
}
.calendar-portlet #filter-section .filter-btn.closed #open-icon, .calendar-portlet #filter-section .filter-btn.open:hover #hover-icon {
  transform: scaleX(-1);
}
.calendar-portlet #filter-section .filter-btn.closed #open-icon {
  transform: scaleY(-1);
}
.calendar-portlet #filter-section .filter-btn.closed ~ .calendar-filter-container {
  display: none;
}
.calendar-portlet #filter-section .filter-btn.closed #filter-section-closed-button {
  display: none;
}
.calendar-portlet #filter-section .filter-btn.open ~ .calendar-filter-container {
  display: block;
  padding-left: 1.5rem;
}
.calendar-portlet #filter-section .filter-btn.open .filter-section-button-text {
  white-space: nowrap;
}
.calendar-portlet #filter-section .filter-btn.open #filter-section-open-button {
  display: none;
}
.calendar-portlet #filter-section .filter-btn .filter-section-button-text {
  margin-bottom: 0;
  color: #ffffff;
  display: inline;
}
.calendar-portlet #filter-section .filter-btn img#hover-icon, .calendar-portlet #filter-section .filter-btn:hover img#open-icon {
  display: none;
}
.calendar-portlet #filter-section .filter-btn:hover img#hover-icon {
  display: inline;
}
@media (max-width: 992px) {
  .calendar-portlet #filter-section #open-icon, .calendar-portlet #filter-section #hover-icon {
    display: none;
  }
  .calendar-portlet #filter-section .filter-btn:hover img#hover-icon {
    display: none;
  }
}
@media (min-width: 768px) {
  .calendar-portlet #filter-section {
    padding: 0.5rem;
    color: #ffffff;
    margin-top: 51px;
  }
  .calendar-portlet #filter-section .filter-btn {
    top: 0;
    margin-right: 0;
  }
}
@media (min-width: 993px) {
  .calendar-portlet #filter-section {
    width: auto;
    padding-top: 140px;
  }
  .calendar-portlet #filter-section .filter-btn {
    position: absolute;
    margin-right: 10px;
    left: 50%;
    top: 20px;
    transform: translateX(-50%);
  }
  .calendar-portlet #filter-section .filter-btn .filter-section-button-text {
    display: block;
  }
}
.calendar-portlet #filter-section .calendar-filter-container p {
  font-family: var(--gotham-medium);
}
.calendar-portlet #filter-section .calendar-filter-container .filter-input-container input[type=checkbox] {
  min-height: 20px;
  min-width: 20px;
}
.calendar-portlet #filter-section .calendar-filter-container .filter-input-container .filter-label {
  margin-bottom: 0;
  font-family: var(--gotham-light);
  padding-left: 1rem;
}
.calendar-portlet #calendarBookingCategorizationPanelContent .panel-header {
  font-size: 1.5rem;
  color: #000000;
  background-color: #f8f9fa;
  border: rgba(0, 0, 0, 0.125);
  padding: 0.75rem 1.25rem;
  border-bottom-width: 0;
  border-top-left-radius: 0;
  border-top-right-radius: 0;
  position: relative;
}
.calendar-portlet #calendarBookingCategorizationPanelContent .panel-header .collapse-icon-open,
.calendar-portlet #calendarBookingCategorizationPanelContent .panel-header .collapse-icon-closed {
  font-size: 1.5rem;
}
.calendar-portlet #calendar-header-container #calender-header #calendar-header-buttons > a:hover, .calendar-portlet #calendar-header-container #calender-header #calendar-header-buttons > a:focus, .calendar-portlet #calendar-header-container #calender-header #calendar-header-buttons > button:hover, .calendar-portlet #calendar-header-container #calender-header #calendar-header-buttons > button:focus,
.calendar-portlet #calendar-view-type > a:hover,
.calendar-portlet #calendar-view-type > a:focus,
.calendar-portlet #calendar-view-type > button:hover,
.calendar-portlet #calendar-view-type > button:focus, .calendar-portlet .scheduler-base-nav-date > a:hover, .calendar-portlet .scheduler-base-nav-date > a:focus, .calendar-portlet .scheduler-base-nav-date > button:hover, .calendar-portlet .scheduler-base-nav-date > button:focus {
  background-color: #103365;
  color: #ffffff;
  box-shadow: 0 0 0 0.2rem rgba(255, 255, 255, 0.32);
}
.calendar-portlet .calendar-portlet-recurrence-container {
  border: 1px solid #ddd;
  border-radius: 8px;
  padding: 1rem;
  margin: 1rem 0 2rem;
  width: auto;
}
.calendar-portlet .calendar-portlet-recurrence-container .calendar-portlet-recurrence-title {
  font-weight: bold;
  padding: 0;
  text-align: left;
  vertical-align: unset;
  width: 100%;
  margin: 0 0 0.5rem 0;
}
.calendar-portlet .calendar-portlet-recurrence-container .calendar-portlet-interval-view {
  margin-top: 1rem;
}
.calendar-portlet .calendar-portlet-recurrence-container .calendar-portlet-interval-view .radio label {
  display: flex;
  align-items: center;
}
.calendar-portlet .calendar-portlet-recurrence-container .calendar-portlet-interval-view .radio label input {
  margin-right: 0.5rem;
}
.calendar-portlet .calendar-portlet-recurrence-content .calendar-portlet-recurrence-limit.field-wrapper {
  margin-bottom: 5px !important;
  margin-top: 10px;
  display: flex;
  align-items: center;
  flex-wrap: nowrap;
}
.calendar-portlet .calendar-portlet-recurrence-summary {
  margin-left: 2rem;
  margin-top: 0;
}
.calendar-portlet .calendar-portlet-column-parent [type=checkbox] {
  margin-right: 0.5rem;
}
.calendar-portlet .calendar-recurrence-weekday-checkbox .lfr-ddm-field-group {
  display: flex !important;
  flex-wrap: wrap;
}
.calendar-portlet .calendar-recurrence-weekday-checkbox .lfr-ddm-field-group > label {
  width: 140px;
}
@media (max-width: 992px) {
  .calendar-portlet .scheduler-base {
    display: none;
  }
  .calendar-portlet #calendar-header-container #calender-header {
    background-color: #2C61AE;
    justify-content: space-evenly;
    margin-right: -15px;
    margin-left: -15px;
    margin-top: 40px;
    padding: 0.625rem;
  }
  .calendar-portlet #calendar-header-container #calender-header #calendar-header-buttons {
    justify-content: space-evenly;
    width: 100%;
  }
  .calendar-portlet #calendar-header-container #calender-header * {
    color: #ffffff;
  }
}