@-webkit-keyframes ajax-spinner {
  0% {
    -webkit-transform: rotateZ(0deg);
    transform: rotateZ(0deg); }
  100% {
    -webkit-transform: rotateZ(360deg);
    transform: rotateZ(360deg); } }

@keyframes ajax-spinner {
  0% {
    -webkit-transform: rotateZ(0deg);
    transform: rotateZ(0deg); }
  100% {
    -webkit-transform: rotateZ(360deg);
    transform: rotateZ(360deg); } }

.hover-tile {
  position: relative;
  overflow: hidden;
  margin: 1rem; }
  .hover-tile.show-back .hover-tile__front__toggle {
    opacity: 0;
    -webkit-transform: translateY(100px);
    transform: translateY(100px);
    -webkit-transition: opacity 200ms ease-in-out, -webkit-transform 300ms ease;
    transition: opacity 200ms ease-in-out, -webkit-transform 300ms ease;
    transition: transform 300ms ease, opacity 200ms ease-in-out;
    transition: transform 300ms ease, opacity 200ms ease-in-out, -webkit-transform 300ms ease; }
  .hover-tile.show-back .hover-tile__back {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0);
    -webkit-transition: opacity 200ms ease-in-out, -webkit-transform 300ms ease;
    transition: opacity 200ms ease-in-out, -webkit-transform 300ms ease;
    transition: transform 300ms ease, opacity 200ms ease-in-out;
    transition: transform 300ms ease, opacity 200ms ease-in-out, -webkit-transform 300ms ease; }
  @media (min-width: 1024px) {
    .hover-tile:hover .hover-tile__back {
      opacity: 1;
      -webkit-transform: translateY(0);
      transform: translateY(0);
      -webkit-transition: opacity 300ms ease, -webkit-transform 300ms ease;
      transition: opacity 300ms ease, -webkit-transform 300ms ease;
      transition: opacity 300ms ease, transform 300ms ease;
      transition: opacity 300ms ease, transform 300ms ease, -webkit-transform 300ms ease; } }

.hover-tile__front {
  position: relative;
  background-color: #F3F3F4; }
  .hover-tile__front.no-media {
    min-height: 355px; }
    .hover-tile__front.no-media .hover-tile__front__media__pill {
      position: absolute;
      top: unset;
      bottom: 0;
      left: 50%;
      -webkit-transform: translateY(-50%) translateX(-50%);
      transform: translateY(-50%) translateX(-50%); }

.hover-tile__front__media {
  position: relative; }
  .hover-tile__front__media img {
    width: 100%; }
  .hover-tile__front__media .hover-tile__front__media__pill {
    position: absolute;
    top: unset;
    bottom: 0;
    left: 50%;
    -webkit-transform: translateX(-50%) translateY(50%);
    transform: translateX(-50%) translateY(50%); }

.hover-tile__front__media__pill {
  position: absolute;
  bottom: 10px;
  left: 50%;
  padding: 8px 20px;
  font-size: 11px;
  white-space: nowrap;
  -webkit-transform: translateX(-50%) translateY(-50%);
  transform: translateX(-50%) translateY(-50%); }
  @media (min-width: 768px) {
    .hover-tile__front__media__pill {
      font-size: 13px; } }

.hover-tile__front__title {
  height: 150px;
  padding: 2rem; }
  .hover-tile__front__title * {
    margin: 0; }
  .hover-tile__front__title .hover-tile-title h4 {
    font-size: 1.25rem; }
    @media (min-width: 768px) {
      .hover-tile__front__title .hover-tile-title h4 {
        font-size: 1.5rem; } }

.hover-tile__front__toggle {
  position: absolute;
  bottom: 0;
  right: 0;
  height: 50px;
  width: 25px;
  text-indent: -9999px;
  -webkit-transform: translateY(0);
  transform: translateY(0);
  -webkit-transition: opacity 200ms ease-in-out, -webkit-transform 300ms ease;
  transition: opacity 200ms ease-in-out, -webkit-transform 300ms ease;
  transition: transform 300ms ease, opacity 200ms ease-in-out;
  transition: transform 300ms ease, opacity 200ms ease-in-out, -webkit-transform 300ms ease;
  opacity: 1;
  z-index: 2; }
  @media (min-width: 1024px) {
    .hover-tile__front__toggle {
      display: none; } }
  .hover-tile__front__toggle::after {
    content: '';
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    border-top: 50px solid transparent;
    border-bottom: 0 solid transparent;
    border-right: 40px solid #969697; }
  .hover-tile__front__toggle::before {
    content: '+';
    display: block;
    position: absolute;
    right: 6px;
    bottom: -3px;
    font-size: 1.5rem;
    color: #FFF;
    text-indent: 0;
    z-index: 2; }

.hover-tile__back {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  opacity: 0;
  padding: 1.5rem;
  background-color: #F3F3F4;
  -webkit-transform: translateY(20px);
  transform: translateY(20px);
  -webkit-transition: opacity 300ms ease, -webkit-transform 300ms ease;
  transition: opacity 300ms ease, -webkit-transform 300ms ease;
  transition: opacity 300ms ease, transform 300ms ease;
  transition: opacity 300ms ease, transform 300ms ease, -webkit-transform 300ms ease; }

.hover-tile__back__border-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  height: 100%;
  padding: 1.5rem;
  border: 1px solid #BDBDBE; }

.hover-tile__back__border-wrapper__toggle {
  position: absolute;
  top: 10px;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  background-color: #F3F3F4;
  padding: 0.5rem 1.25rem 0.5rem 0.5rem;
  font-size: 12px; }
  .hover-tile__back__border-wrapper__toggle::after {
    content: 'x';
    position: absolute;
    top: 5px;
    right: 6px;
    color: #000;
    font-size: 20px;
    line-height: 20px; }
  @media (min-width: 1024px) {
    .hover-tile__back__border-wrapper__toggle {
      display: none; } }

.hover-tile__back__border-wrapper__title > * {
  margin: 0 0 1rem; }

.hover-tile__back__border-wrapper__description {
  font-size: 13px; }
  @media (min-width: 768px) {
    .hover-tile__back__border-wrapper__description {
      font-size: 15px; } }

.hover-tile__back__border-wrapper__link {
  position: absolute;
  bottom: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%); }
  .hover-tile__back__border-wrapper__link > * {
    width: auto;
    padding: 8px 20px;
    text-decoration: none;
    -webkit-transition: all 150ms ease;
    transition: all 150ms ease;
    cursor: pointer;
    border: 2px solid #FFF;
    border-radius: 0;
    background-color: #000;
    color: #FFF;
    display: inline-block;
    margin: 0 auto;
    padding: 0.75rem 1.5rem;
    font-size: 12px;
    background-color: #404041;
    border: 0; }
    .hover-tile__back__border-wrapper__link > *:hover {
      background-color: #FFF;
      color: #000;
      text-decoration: none;
      -webkit-transition: all 150ms ease;
      transition: all 150ms ease; }
    @media (min-width: 768px) {
      .hover-tile__back__border-wrapper__link > * {
        font-size: 14px; } }
    .hover-tile__back__border-wrapper__link > *:hover a {
      color: #000; }
      .hover-tile__back__border-wrapper__link > *:hover a::before {
        color: #000; }
  .hover-tile__back__border-wrapper__link a {
    color: #FFF;
    text-decoration: none; }
    .hover-tile__back__border-wrapper__link a::before {
      content: '+';
      display: inline-block;
      margin-right: 5px;
      color: #FFF;
      font-size: inherit; }
