/* Custom Component - Icon Card */
.icon-card {
  height: 306px;
  padding: 40px;
  background: #FFF;
  box-shadow: 0px 0px 64px 0px rgba(0, 0, 0, 0.10);
  margin-bottom: 25px;
  position: relative;
  overflow: hidden;
}

.icon-card .reveal {
  display: flex;
  position: absolute;
  top: 0;
  left: 0px;
  right: 0;
  bottom: 0;
  background-size: cover;
  justify-content: flex-end;
  align-items: flex-start;
  flex-direction: column;
  padding: 20px;
  color: #FFF;
  transform: translate(100%, -100%);
  transform-origin: right top;  
  transition: all 300ms ease-in-out 50ms;
  opacity: 0.5;
}

.icon-card:hover .reveal,
.icon-card:focus .reveal {
  transform: translate(0, 0);
  opacity: 1;
}

i.icon-card__icon {
  position: absolute;
  top: 15px;
  right: 25px;
  width: 88px;
  height: 88px;
  background: #FFF;
  border-radius: 50%;
  color: #B12024;
  font-size: 47px;
  display: flex;
  justify-content: center;
  align-items: center;
  box-shadow: 0px 0px 30px rgba(177, 32, 36, 0.20);
  z-index: 2;
}

.icon-card .icon-card__title {
  color: var(--Primary-Darkgrey, #3E3E3E);
  font-family: "Sofia Sans";
  font-size: 30px;
  font-style: normal;
  font-weight: 800;
  line-height: normal;
  text-transform: uppercase;
  padding-right: 85px;
  margin: 0 0 25px;
  min-height: 72px;
}

.icon-card .icon-card__content {
  font-size: 18px;
  font-style: normal;
  font-weight: 400;
  line-height: 30px; /* 166.667% */
  color: #3e3e3e;
}

.icon-card:after {
  content: "";
  width: 125px;
  height: 109px;
  transform: rotate(90deg);
  background: #B12024;
  position: absolute;
  z-index: 0;
  top: 8px;
  right: -8px;
  clip-path: polygon(0 0, 100% 0, 100% 0%, 0 100%, 0 0);
}

.icon-card .reveal:before {
  content: "";
  background: linear-gradient(238deg, rgba(0, 0, 0, 0.00)27.15%, rgba(0, 0, 0, 0.40)92.06%);
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: -1;
}

.icon-card .reveal .icon-card__title {
  color: var(--White, #FFF);
  font-family: "Sofia Sans";
  font-size: 28px;
  font-style: normal;
  font-weight: 800;
  line-height: normal;
  margin: 0 0 7px;
}

.icon-card .reveal a {
  padding: 12px 39px 12px 24px;
  background-color: #FFF;
  text-decoration: none !important;
  color: var(--Primary-Red, #B12024);
  text-align: right;
  font-family: "Sofia Sans";
  font-size: 18px;
  font-style: normal;
  font-weight: 700;
  line-height: normal;
  position: relative;
  text-transform: uppercase;
}

.icon-card .reveal a:after {
  content: "\e903";
  font-family: 'reddteam-icons' !important;
  color: var(--Primary-Red, #B12024);
  transform: translate(10px, 1px);
  position: absolute;
  transition: all 300ms ease;
}

.icon-card .reveal a:hover:after {
  transform: translate(12px, 1px);
  color: #FFF;
}

.icon-card .reveal a:hover {
  background: var(--Primary-Red, #B12024);
  color: #FFF;
}