.pnl {
  background: rgba(48,64,96,0.4);
  padding: 1em;
  border-radius: 0.25em;
  box-shadow: 0 1px 3px rgba(0,0,0,0.3);
  min-width: 0;
  min-height: 0;
}
.widget {
  width: 100%;
  height: 100%;
  display: grid;
  grid-template-rows: 2em 1fr;
}
.widget .title {
  margin-bottom: 1em;
  min-height: 0;
}
.widget .chart {
  min-height: 0;
}
.pnl.hover {
  cursor: pointer;
  transition: all 0.15s ease-in-out;
}
.pnl.hover:hover {
  background: rgba(128,192,255,0.15);
  margin-top: -5px;
  margin-bottom: 5px;
  box-shadow: 0 5px 5px rgba(0,0,0,0.5);
}
.pnl.active {
  background: rgba(192,224,255,0.2);
}
.pnl.trigger {
  grid-area: 1/6/span 1/span 1;
  background-size: cover;
  color: #fff;
  margin-top: -4px;
  box-shadow: 0 4px 10px 0 rgba(145,221,255,0.5);
  border: 1px solid #9cf;
}
@-moz-keyframes pulse-trigger {
  0% {
    animation-timing-function: cubic-bezier(0.3333, 0.3333, 0.3013, 0.6734);
    transform: scale(0.975);
  }
  0.5% {
    animation-timing-function: cubic-bezier(0.0896, -0.6023, 0.646, 0.7235);
    transform: scale(1.021);
  }
  3% {
    animation-timing-function: cubic-bezier(0.3067, 0.5431, 0.6609, 0.8799);
    transform: scale(1.005);
  }
  11.5% {
    animation-timing-function: cubic-bezier(0.0853, 0.5402, 0.9923, 3.4279);
    transform: scale(0.981);
  }
  49.5% {
    animation-timing-function: cubic-bezier(0.657, 0.3285, 0.6667, 0.6667);
    transform: scale(0.975);
  }
  50% {
    animation-timing-function: cubic-bezier(0.3055, 0, 0.6372, 1);
    transform: scale(1.025);
  }
  51% {
    animation-timing-function: cubic-bezier(0.2829, 1.1101, 0.6672, 0.8368);
    transform: scale(1.018);
  }
  71.6% {
    animation-timing-function: cubic-bezier(0.3266, 9.2767, 0.6713, 1);
    transform: scale(0.976);
  }
  100% {
    transform: scale(0.975);
  }
}
@-webkit-keyframes pulse-trigger {
  0% {
    animation-timing-function: cubic-bezier(0.3333, 0.3333, 0.3013, 0.6734);
    transform: scale(0.975);
  }
  0.5% {
    animation-timing-function: cubic-bezier(0.0896, -0.6023, 0.646, 0.7235);
    transform: scale(1.021);
  }
  3% {
    animation-timing-function: cubic-bezier(0.3067, 0.5431, 0.6609, 0.8799);
    transform: scale(1.005);
  }
  11.5% {
    animation-timing-function: cubic-bezier(0.0853, 0.5402, 0.9923, 3.4279);
    transform: scale(0.981);
  }
  49.5% {
    animation-timing-function: cubic-bezier(0.657, 0.3285, 0.6667, 0.6667);
    transform: scale(0.975);
  }
  50% {
    animation-timing-function: cubic-bezier(0.3055, 0, 0.6372, 1);
    transform: scale(1.025);
  }
  51% {
    animation-timing-function: cubic-bezier(0.2829, 1.1101, 0.6672, 0.8368);
    transform: scale(1.018);
  }
  71.6% {
    animation-timing-function: cubic-bezier(0.3266, 9.2767, 0.6713, 1);
    transform: scale(0.976);
  }
  100% {
    transform: scale(0.975);
  }
}
@-o-keyframes pulse-trigger {
  0% {
    animation-timing-function: cubic-bezier(0.3333, 0.3333, 0.3013, 0.6734);
    transform: scale(0.975);
  }
  0.5% {
    animation-timing-function: cubic-bezier(0.0896, -0.6023, 0.646, 0.7235);
    transform: scale(1.021);
  }
  3% {
    animation-timing-function: cubic-bezier(0.3067, 0.5431, 0.6609, 0.8799);
    transform: scale(1.005);
  }
  11.5% {
    animation-timing-function: cubic-bezier(0.0853, 0.5402, 0.9923, 3.4279);
    transform: scale(0.981);
  }
  49.5% {
    animation-timing-function: cubic-bezier(0.657, 0.3285, 0.6667, 0.6667);
    transform: scale(0.975);
  }
  50% {
    animation-timing-function: cubic-bezier(0.3055, 0, 0.6372, 1);
    transform: scale(1.025);
  }
  51% {
    animation-timing-function: cubic-bezier(0.2829, 1.1101, 0.6672, 0.8368);
    transform: scale(1.018);
  }
  71.6% {
    animation-timing-function: cubic-bezier(0.3266, 9.2767, 0.6713, 1);
    transform: scale(0.976);
  }
  100% {
    transform: scale(0.975);
  }
}
@keyframes pulse-trigger {
  0% {
    animation-timing-function: cubic-bezier(0.3333, 0.3333, 0.3013, 0.6734);
    transform: scale(0.975);
  }
  0.5% {
    animation-timing-function: cubic-bezier(0.0896, -0.6023, 0.646, 0.7235);
    transform: scale(1.021);
  }
  3% {
    animation-timing-function: cubic-bezier(0.3067, 0.5431, 0.6609, 0.8799);
    transform: scale(1.005);
  }
  11.5% {
    animation-timing-function: cubic-bezier(0.0853, 0.5402, 0.9923, 3.4279);
    transform: scale(0.981);
  }
  49.5% {
    animation-timing-function: cubic-bezier(0.657, 0.3285, 0.6667, 0.6667);
    transform: scale(0.975);
  }
  50% {
    animation-timing-function: cubic-bezier(0.3055, 0, 0.6372, 1);
    transform: scale(1.025);
  }
  51% {
    animation-timing-function: cubic-bezier(0.2829, 1.1101, 0.6672, 0.8368);
    transform: scale(1.018);
  }
  71.6% {
    animation-timing-function: cubic-bezier(0.3266, 9.2767, 0.6713, 1);
    transform: scale(0.976);
  }
  100% {
    transform: scale(0.975);
  }
}
