/* --- Home Page Sliding Panel Positioning & Sliding Mechanics --- */

.side-panel {
  position: absolute;
  bottom: 75px;
  height: 300px;
  width: 280px;
  border-top: 1px solid black;
  border-bottom: 1px solid black;
  transition: transform 0.5s ease-in-out;
  z-index: 10;
  box-sizing: border-box;
  display: flex;
  overflow: hidden;
}

.panel-header {
  width: 30px;
  height: 100%;
  background-color: black;
  cursor: pointer;
  position: relative; 
  user-select: none;
  box-sizing: border-box;
}

.vertical-text {
  font: 20px/1.25 'FuturaPTCond-Bold';
  color: white;
  white-space: nowrap;
  writing-mode: vertical-lr;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.rotate-flipped {
  transform: translate(-50%, -50%) rotate(180deg);
}

.panel-content {
  flex: 1;
  margin: 12px;
  text-align: center;
  font: 10pt/1.25 'Tahoma';
  overflow-y: hidden;
}

.left-docked {
  left: -7px;
  flex-direction: row-reverse;
  transform: translateX(0);
}

.left-docked.collapsed {
  transform: translateX(-250px);
}

.right-docked {
  right: -7px;
  flex-direction: row;
  transform: translateX(0);
}

.right-docked.collapsed {
  transform: translateX(250px);
}