    .side-panel-container {
      display: none;
      opacity: 0;
      position: fixed;
      top: 0;
      left: 0;
      width: 100%;
      height: 100vh;
      overflow: hidden;
    }
    .panel-shade {
      position: absolute;
      opacity: 0.2;
      background-color: var(--bwj-black);
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
    }
    .side-panel {
      position: absolute;
      width: 100%;
      height: 100vh;
      top: 0;
      right: 0;
      background-color: var(--bwj-white);
      overflow: hidden;
      box-shadow: rgba(0, 0, 0, 0.22) 0px 25.6px 57.6px 0px, rgba(0, 0, 0, 0.18) 0px 4.8px 14.4px 0px;
      display: flex;
      flex-direction: column;
    }
    .side-panel.normal {
      width: 100%;
    }
    @media screen and (min-width: 490px) {
     .side-panel.normal {
        width: 480px;
      }
    }
    @media screen and (min-width: 330px) {
     .side-panel.small {
        width: 320px;
      }
    }
    @media screen and (min-width: 654px) {
     .side-panel.large {
        width: 644px;
      }
    }

.panel-header {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    padding: 1.25rem 0;
}
    .panel-header > h2 {
      font-size: 1.25rem;
      font-weight: 700;
      padding: 0 1.25rem;
      margin: 0;
      flex-grow: 1;
    }

    .panel-dismiss-button {
      display: flex;
      width: 3.7rem;
      height: 3.7rem;
      justify-content: center;
      align-items: center;
      font-weight: 800;
    }
    .panel-dismiss-button > i {
      font-size: 1.2rem;
      color: var(--bwj-grey);
    }

    .side-panel > .panel-content {
      flex-grow: 1;
    }

.panel-content .semi-flex-container-content {
    overflow: auto;
}

.side-panel > .panel-footer {
    width: 100%;
    padding: 1.25rem;
    overflow: hidden;
}

@media screen and (max-width: 500px) {
    .side-panel > .panel-footer {
        padding-bottom: calc(1.25rem + 100vh - 100dvh);
    }
}
    .panel-footer > .panel-footer-content {
      display: flex;
      flex-wrap: nowrap;
      gap: 1.25rem;
    }
