.plan {
  text-align: center;
  background-color: #f3f3f3;
  box-shadow: 0 0 6px 2px rgba(0,0,0,0.3);
  border-radius: 5px;
  margin-bottom: 20px;
}
.plan-header {
  padding: 10px 10px;
  color: #fff;
  background-color: #363948;
  border-radius: 5px 5px 0 0;
}
.plan-title {
  font-size: 20px;
  line-height: normal;
  text-transform: uppercase;
}
.plan-price {
  background: #008ab9;
  padding: 10px 0;
  font-size: 45px;
  line-height: normal;
  color: #fff;
}
.plan-price-subtext {
  font-size: 16px;
  clear: both;
  font-weight: bold;
}
.plan-description {
  margin: 10px;
  text-align: left;
}
.plan-description ul {
  list-style: none;
  padding-left: 0;
}
.plan-description ul li {
  padding: 15px;
  border-bottom: 1px solid #ccc;
  transition: all .8s ease;
}
.plan-subscribe {
  padding: 10px;
}
.plan-subscribe .plan-subscribe-button {
  padding: 8px 25px;
  font-size: 18px;
}
.cat-row {
  margin: 20px 0;
  border-radius: 6px;
  padding: 20px;
}

.cat-row--pull-top {
  border-radius: 6px;
  padding: 20px;
  margin-top: 3em;
}

.cat-title-card {
  text-align: center;

  margin: 0 auto 2em auto;
  box-shadow: 0 0 6px 2px rgba(0,0,0,0.3);
  border-radius: 5px;
}

.cat-title {
  background-color: var(--accent-color);

  border-bottom: #363948 1px solid;
  border-top-left-radius: 6px;
  border-top-right-radius: 6px;

  padding: 1em;
  font-size: 3rem;
}

.cat-description {
  background-color: var(--primary-color);

  border-bottom-left-radius: 6px;
  border-bottom-right-radius: 6px;

  text-align: left;
  padding: 1em;
  color: #fff;
}

.plan-image-wrap {
  width:50%;
  margin-left: auto;
  margin-right: auto;
  margin-top: 20px;
  margin-bottom: 20px;
  overflow: hidden;
  position: relative;
}
.plan-icon-wrap {
  width:50%;
  margin-left: auto;
  margin-right: auto;
  margin-top: 20px;
  margin-bottom: 20px;
  overflow: hidden;
  position: relative;
}
.plan-image {
  width: 100%;
}
.plan-icon {
  font-size: 60px;
}

@media (max-width: 600px) {
  .cat-title {
    font-size: 5vmin;
  }
}