#location-sidebar {
  border-radius: 10px;
  overflow: hidden;
  background: white;
  margin-top: -288px;
  z-index: 1;
  position: relative;
  font-family: 'Cachet Book';
  position: sticky;
  top: 200px;
}

#location-sidebar .sidebar-header {
  background: var(--uulblue);
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 32px;
}

#location-sidebar .sidebar-header .branch-selector {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  cursor: pointer;
}

#page #location-sidebar .sidebar-header .branch-selector.selected .heart-fill {
  animation: heartbeat 1.5s ease-in-out forwards;
  animation-delay: 1s;
  color: var(--lpurple);
}

#location-sidebar .sidebar-header .branch-selector.selected .label {
  display: none;
  line-height: 1.2;
}

#location-sidebar .sidebar-header .branch-selector .current-center {
  display: none;
}

#location-sidebar .sidebar-header .branch-selector.selected .current-center {
  display: block;
  max-width: 70px;
  font-size: 15px;
  line-height: 1.2;
  font-family: 'Cachet Book';
  text-align: right;
  margin-top: 8px;
}

#location-sidebar .directions-container,
#location-sidebar .contact-row,
#location-sidebar .hours-row,
#location-sidebar .additional-hours-row,
#location-sidebar .reserve-schedule-row,
#location-sidebar .holidays-row,
#location-sidebar .amenities-row,
#location-sidebar .programs-row {
  padding: 32px;
  display: flex;
  justify-content: space-between;
  border-bottom: 1px solid var(--lgrey);
}

#location-sidebar .holidays-row .flex-link,
#location-sidebar .holidays-row .label,
#location-sidebar .amenities-row .flex-link,
#location-sidebar .amenities-row .label,
#location-sidebar .programs-row .flex-link,
#location-sidebar .programs-row .label {
  width: 100%;
}

#location-sidebar .holidays-row .label-header,
#location-sidebar .amenities-row .label-header,
#location-sidebar .programs-row .label-header {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

#location-sidebar .amenities-row,
#location-sidebar .programs-row {
  cursor: pointer;
}

#location-sidebar .hours-row,
#location-sidebar .additional-hours-row {
  display: block;
  cursor: pointer;
}

#location-sidebar .amenities-row:not(.active) ul {
  display: none;
}

#location-sidebar .programs-row:not(.active) .label a {
  display: none;
}

#location-sidebar .programs-row .label a {
  font-size: 20px;
  margin-top: 16px;
  display: block;
  font-family: 'Cachet Extra Light';
}

#location-sidebar .programs-row .label .label-header+a {
  margin-top: 32px;
}

#location-sidebar .amenities-row ul {
  padding-left: 24px;
  margin-top: 32px;
  font-family: 'Cachet Extra Light';
}

#location-sidebar .hours-row:not(.active) .flex-link:not(:first-child),
#location-sidebar .additional-hours-row:not(.active) .flex-link:not(:first-child) {
  display: none;
}

#location-sidebar .hours-row:not(.active) .flex-link:first-child .hours-item,
#location-sidebar .additional-hours-row:not(.active) .flex-link:first-child .hours-item {
  display: none;
}

#location-sidebar .hours-row:not(.active) .flex-link:first-child,
#location-sidebar .hours-row:not(.active) .flex-link:first-child .hours-header,
#location-sidebar .additional-hours-row:not(.active) .flex-link:first-child,
#location-sidebar .additional-hours-row:not(.active) .flex-link:first-child .hours-header {
  margin-bottom: 0;
}

#location-sidebar .additional-hours-row:not(.active) .flex-link:first-child .hours-header:not(:first-child) {
  display: none;
}

#location-sidebar .hours-spacer {
  height: 32px;
  width: 100%;
}

#location-sidebar .additional-hours-row:not(.active) .hours-spacer {
  display: none;
}

#location-sidebar .hours-row .flex-link:first-child .chevron-down,
#location-sidebar .additional-hours-row .flex-link:first-child .chevron-down,
#location-sidebar .holidays-row .flex-link:first-child .chevron-down,
#location-sidebar .amenities-row .flex-link:first-child .chevron-down,
#location-sidebar .programs-row .flex-link:first-child .chevron-down {
  transition: transform 0.3s ease;
  transform: rotate(180deg);
}

#location-sidebar .hours-row:not(.active) .flex-link:first-child .chevron-down,
#location-sidebar .additional-hours-row:not(.active) .flex-link:first-child .chevron-down,
#location-sidebar .holidays-row:not(.active) .flex-link:first-child .chevron-down,
#location-sidebar .amenities-row:not(.active) .flex-link:first-child .chevron-down,
#location-sidebar .programs-row:not(.active) .flex-link:first-child .chevron-down {
  transform: rotate(0deg);
}

#location-sidebar .directions-container>a,
#location-sidebar .contact-row>a {
  width: calc(50% - 8px);
}

#location-sidebar .contact-row .social-icons {
  display: flex;
  align-items: center;
}

#location-sidebar .contact-row .social-icons .icon {
  margin-left: 16px;
  margin-right: 0;
}

#location-sidebar .flex-link {
  display: flex;
  font-size: 20px;
  line-height: 1.5;
  text-decoration: none;
  color: inherit;
}

#location-sidebar .flex-link .label {
  color: var(--grey);
}

#location-sidebar .flex-link .icon {
  font-size: 1.5em;
  color: inherit;
  margin-right: 24px;
}

#location-sidebar .flex-link:last-child:not(:first-child):not(.hours-block) {
  justify-content: flex-end;
}

#location-sidebar .flex-link.hours-block {
  margin-bottom: 32px;
}

#location-sidebar .hours-header {
  margin-bottom: 16px;
  display: flex;
  justify-content: space-between;
}

#location-sidebar .hours-header .icon {
  font-size: 1.5em;
  color: inherit;
}

#location-sidebar .hours-item {
  display: flex;
}

#location-sidebar .hours-item-value {
  font-family: 'Cachet Extra Light';
}

#location-sidebar .hours-item-label {
  width: 120px;
  display: inline-block;
}

#location-sidebar .hours-col {
  width: 100%;
}

#location-sidebar .holidays-row {
  cursor: pointer;
}

#location-sidebar .holidays-row:not(.active) .holiday-item {
  display: none;
}

#location-sidebar .holiday-item {
  display: flex;
  justify-content: space-between;
  margin-top: 32px;
  padding-right: 24px;
}

#location-sidebar .holiday-item-value {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  text-align: right;
  font-family: 'Cachet Extra Light';
}

@keyframes heartbeat {
  from {
    transform: scale(1);
    transform-origin: center center;
    animation-timing-function: ease-out;
  }

  10% {
    transform: scale(0.91) translateY(0) rotate(0deg);
    animation-timing-function: ease-in;
  }

  17% {
    transform: scale(0.98) translateY(-5px) rotate(15deg);
    animation-timing-function: ease-out;
  }

  33% {
    transform: scale(0.87) translateY(0) rotate(-15deg);
    animation-timing-function: ease-in;
  }

  45% {
    transform: scale(1) translateY(-5px) rotate(0deg);
    animation-timing-function: ease-out;
  }

  to {
    transform: scale(1) translateY(0) rotate(0deg);
    animation-timing-function: ease-out;
  }
}

#location-sidebar .sidebar-header .branch-selector .heart,
#location-sidebar .sidebar-header .branch-selector .heart-fill {
  font-size: 40px;
}

#location-sidebar .sidebar-header h1 {
  font-size: 40px;
  font-family: 'Cachet Book';
  line-height: 1.1;
  margin: 0;
}

#location-sidebar .sidebar-header .label {
  font-size: 15px;
  font-family: 'Cachet Book';
  text-align: right;
  margin-top: 8px;
  width: 70px;


  #location-sidebar .contact-link .label {
    white-space: nowrap;
  }

  @media (max-width: 1200px) {
    #location-sidebar .flex-link {
      font-size: 15px;
    }

    #location-sidebar .directions-container,
    #location-sidebar .contact-row,
    #location-sidebar .hours-row,
    #location-sidebar .additional-hours-row,
    #location-sidebar .reserve-schedule-row,
    #location-sidebar .holidays-row,
    #location-sidebar .amenities-row,
    #location-sidebar .programs-row,
    #location-sidebar .sidebar-header {
      padding: 24px;
    }
  }

  @media (max-width: 768px) {
    #location-sidebar .programs-row .label a {
      font-size: 15px;
    }

    #location-sidebar {
      border-radius: 0 10px 10px 0;
      position: relative;
      top: unset;
    }

    #location-sidebar .sidebar-header h1 {
      font-size: 25px;
    }

    #location-sidebar .sidebar-header .branch-selector.selected .current-center {
      margin-top: 0;
    }

    #location-sidebar {
      margin-top: -240px;

    }
  }

  @media (max-width: 480px) {
    #location-sidebar .directions-container {
      flex-direction: column;
    }

    #location-sidebar .directions-container>a {
      width: 100%;
      justify-content: flex-start !important;
    }

    #location-sidebar .directions-container>a:first-child {
      margin-bottom: 16px;
    }
  }

  #location-sidebar .contact-row span.label {
    white-space: normal;
  }