body {
  margin: 40px;
  text-align: center;
  background: #e6e6e6;
  transition: all .3s;
  color: #0C000A; }
  @media screen and (min-width: 900px) {
    body {
      margin: 40px 150px; } }

.wrapper {
  display: grid;
  grid-template-columns: 100%;
  grid-column: 1;
  grid-gap: 1px;
  overflow: hidden;
  background-color: #0C000A;
  border: 1px solid #0C000A;
  transition: all .3s;
  margin-bottom: 1.5em;
  box-shadow: 0 14px 28px rgba(0, 0, 0, 0.25), 0 10px 10px rgba(0, 0, 0, 0.22); }
  @media (min-width: 540px) {
    .wrapper.panel-count-even {
      grid-template-columns: repeat(2, 1fr);
      grid-column: 2; } }
  @media (min-width: 540px) and (max-width: 768px) {
    .wrapper.panel-count-odd {
      grid-template-columns: repeat(2, 1fr); }
      .wrapper.panel-count-odd :nth-child(3n) {
        grid-column: 1 / span 2; } }
  @media (min-width: 769px) {
    .wrapper.panel-count-odd {
      grid-template-columns: repeat(3, 1fr); } }
  @media (min-width: 540px) and (max-width: 768px) {
    .wrapper.panel-count-5 {
      grid-template-columns: repeat(2, 1fr); }
      .wrapper.panel-count-5 :nth-child(5n) {
        grid-column: 1 / span 2; } }
  @media (min-width: 769px) {
    .wrapper.panel-count-5 {
      grid-template-columns: repeat(12, 1fr); }
      .wrapper.panel-count-5 :nth-child(-n+2) {
        grid-column: span 6; }
      .wrapper.panel-count-5 :nth-child(n+3) {
        grid-column: span 4; } }

.box {
  position: relative;
  text-align: left;
  background-color: #0C000A;
  background-size: cover;
  background-position: bottom center;
  background-repeat: no-repeat;
  overflow: hidden;
  padding: 150px 50px;
  font-size: 100%;
  transition: all .3s; }
  @media (min-width: 540px) and (max-width: 768px) {
    .box {
      padding: 200px 50px; } }
  @media (min-width: 769px) {
    .box {
      padding: 250px 50px; } }

.text {
  position: absolute;
  bottom: 30px;
  left: 30px; }
  .text h2 {
    font-weight: 100;
    color: #fff; }
  .text p {
    font-weight: 100;
    color: #fff; }
