    .phc-button {
      background-color: green;
    }

    .phc-button:hover {
      background-color: forestgreen;
      transition: all ease-in .1s;
      cursor: pointer;
    }

    /* .carousel-tablist */
    img.reload {
      padding: 0.25em;
      display: block-inline;
      position: relative;
      top: 6px;
      height: 0.9em;
    }

    .carousel-tablist {
      background-color: #eee;
      max-width: 900px;
    }

    .carousel-tablist .carousel-inner {
      position: relative;
    }

    .carousel-tablist .carousel-items {
      padding: 5px;
    }

    .carousel-tablist .carousel-items.focus {
      padding: 2px;
      border: solid 3px #005a9c;
    }

    .carousel-tablist .carousel-item {
      display: none;
      max-height: 400px;
      max-width: 900px;
      position: relative;
      overflow: hidden;
      width: 100%;
    }

    .carousel-tablist .carousel-item.active {
      display: block;
    }

    /* More like bootstrap, less accessible */
    .carousel-tablist .carousel-item .carousel-image a img {
      height: 100%;
      width: 100%;
    }

    .carousel-tablist .carousel-item .carousel-caption a {
      cursor: pointer;
      text-decoration: underline;
      color: #fff;
      font-weight: 600;
    }

    .carousel-tablist .carousel-item .carousel-caption a,
    .carousel-tablist .carousel-item .carousel-caption span.contrast {
      margin: 0;
      padding: 6px;
      display: inline-block;
      background-color: rgb(0 0 0 / 65%);
      border-radius: 5px;
      border: 0 solid transparent;
    }

    .carousel-tablist-moreaccessible .carousel-items .carousel-image a {
      display: block;
      margin: 0;
      padding: 5px;
      text-decoration: none;
      border: none;
    }

    .carousel-tablist-moreaccessible .carousel-item .carousel-caption a {
      display: inline-block;
      margin: 0;
      padding: 6px;
      color: black;
      background-color: transparent;
      border: none;
      border-radius: 5px;
    }

    .carousel-tablist-moreaccessible .carousel-item .carousel-caption span.contrast,
    .carousel-tablist-moreaccessible .carousel-item .carousel-caption span.contrast:hover {
      background-color: transparent;
    }

    .carousel-tablist .carousel-item .carousel-caption a:hover,
    .carousel-tablist .carousel-item .carousel-caption span.contrast:hover {
      background-color: rgb(0 0 0 / 100%);
    }

    .carousel-tablist .carousel-item .carousel-caption a:focus {
      padding: 4px;
      border: 2px solid #eee;
      background-color: rgb(0 0 0 / 100%);
      outline: none;
      border-width: 2px solid #fff;
      color: #fff;
    }

    .carousel-tablist .carousel-item .carousel-caption p {
      font-size: 1em;
      line-height: 1.5;
      margin-bottom: 0;
    }

    .carousel-tablist .carousel-item .carousel-caption {
      position: absolute;
      right: 15%;
      bottom: 0;
      left: 15%;
      padding-top: 20px;
      padding-bottom: 20px;
      color: #fff;
      text-align: center;
    }

    /* Shared CSS for Pause and Tab Controls */
    .carousel-tablist .controls {
      box-sizing: border-box;
      position: absolute;
      top: 1em;
      z-index: 10;
      display: flex;
      width: 100%;
      padding: 0.25em 1.25em 0;
    }

    .carousel-tablist .tab-wrapper {
      flex: 1 1 auto;
      height: 30px;
      text-align: center;
      overflow: hidden;
    }

    /* SVG Controls */
    .carousel-tablist .rotation {
      flex: 0 0 auto;
      height: 30px;
      padding: 0;
      background-color: transparent;
      border: none;
      outline: none;
      z-index: 10;
    }

    .carousel-tablist .svg-play .background {
      stroke: black;
      fill: black;
      stroke-width: 1px;
      opacity: 0.6;
    }

    .carousel-tablist .svg-play .border {
      fill: transparent;
      stroke: transparent;
      stroke-width: 2px;
    }

    .carousel-tablist .svg-play .pause {
      stroke-width: 4;
      fill: transparent;
      stroke: transparent;
    }

    .carousel-tablist .svg-play .play {
      stroke-width: 1;
      fill: transparent;
      stroke: transparent;
    }

    .carousel-tablist .pause .svg-play .pause,
    .carousel-tablist .play .svg-play .play {
      fill: white;
      stroke: white;
    }

    .carousel-tablist .rotation:focus .svg-play .background,
    .carousel-tablist .rotation:hover .svg-play .background,
    .carousel-tablist .rotation:hover .svg-play .border {
      fill: #005a9c;
      stroke: #005a9c;
      opacity: 1;
    }

    .carousel-tablist .rotation:focus .svg-play .border {
      stroke: white;
    }

    /* Shared CSS for Tabs */
    .carousel-tablist [role="tablist"] {
      box-sizing: border-box;
      border: 0 transparent solid;
      border-radius: 13px;
      display: inline-block;
      padding-top: 2px;
      height: 30px;
      background-color: rgb(0 0 0 / 65%);
    }

    .carousel-tablist [role="tablist"].focus {
      border-width: 2px;
      border-color: white;
      padding-top: 0;
      background-color: #005a9c;
    }

    .carousel-tablist [role="tab"] {
      position: relative;
      top: -2px;
      padding: 0;
      margin: 0;
      background-color: transparent;
      border: none;
      outline: none;
      width: 34px;
    }

    .carousel-tablist [role="tab"] circle.border {
      display: none;
      z-index: 12;
    }

    .carousel-tablist [role="tab"] circle.tab {
      z-index: 16;
    }

    .carousel-tablist [role="tab"] circle.tab-background {
      stroke: black;
      fill: black;
      stroke-width: 2px;
      opacity: 0.6;
      z-index: 14;
    }

    .carousel-tablist [role="tab"] circle.tab,
    .carousel-tablist [role="tab"] circle.border {
      stroke: white;
      fill: transparent;
      stroke-width: 2px;
    }

    .carousel-tablist-moreaccessible [role="tab"] circle.tab-background {
      z-index: 16;
    }

    .carousel-tablist-moreaccessible [role="tab"] circle.tab {
      z-index: 18;
    }

    .carousel-tablist [role="tab"][aria-selected="true"] circle.tab {
      fill: white;
    }

    .carousel-tablist-moreaccessible [role="tab"] circle.border {
      z-index: 14;
    }

    .carousel-tablist [role="tab"]:focus circle.border {
      display: block;
      fill: #005a9c;
      stroke: #fff;
    }

    .carousel-tablist [role="tablist"].focus circle.tab-background {
      stroke: #005a9c;
      fill: #005a9c;
    }

    .carousel-tablist [role="tab"]:hover circle.tab-background {
      fill: white;
      stroke: white;
      opacity: 1;
    }

    .carousel-tablist [role="tab"]:hover circle.border,
    .carousel-tablist [role="tab"]:hover circle.tab {
      fill: #005a9c;
      stroke: #005a9c;
      opacity: 1;
    }

    .carousel-tablist [role="tab"][aria-selected="true"]:hover circle.tab {
      fill: white;
    }

    /* More accessible carousel styles, with caption and controls above/below image */
    .carousel-tablist-moreaccessible {
      padding: 0;
      margin: 0;
      position: relative;
      border: #eee solid 4px;
      border-radius: 5px;
    }

    .carousel-tablist-moreaccessible .carousel-items,
    .carousel-tablist-moreaccessible .carousel-items.focus {
      padding: 0;
      border: none;
    }

    .carousel-tablist-moreaccessible .carousel-items.focus .carousel-image a {
      padding: 2px;
      border: 3px solid #005a9c;
    }

    /* More accessible caption styling */
    .carousel-tablist-moreaccessible .carousel-item {
      padding: 0;
      margin: 0;
      max-height: none;
    }

    .carousel-tablist-moreaccessible .carousel-item .carousel-caption {
      position: static;
      padding: 0;
      margin: 0;
      height: 60px;
      color: black;
    }

    .carousel-tablist-moreaccessible .carousel-item .carousel-caption p {
      padding: 0;
      margin: 0;
    }

    .carousel-tablist-moreaccessible .carousel-item .carousel-caption h3 {
      font-size: 1.1em;
      padding: 0;
      margin: 0;
    }

    .carousel-tablist-moreaccessible .carousel-item .carousel-caption a:hover {
      background-color: rgb(0 0 0 / 20%);
    }

    .carousel-tablist-moreaccessible .carousel-item .carousel-caption a:focus {
      padding: 4px;
      border: 2px solid #005a9c;
      background-color: transparent;
      color: black;
      outline: none;
    }

    /* Shared CSS for Pause and Tab Controls */
    .carousel-tablist-moreaccessible .controls {
      position: relative;
      top: 0;
      left: 0;
      padding: 0.25em 0.25em 0;
    }

    /* Shared CSS for Tabs */
    .carousel-tablist-moreaccessible [role="tab"] {
      z-index: 20;
    }
