.grid-ap-container {
  display: grid;
  grid-template-columns: 1fr;
  padding: 10px;
  column-gap: 30px;
  row-gap: 20px;
  justify-content: center; }
  .grid-ap-container.horizontal.grid-1 {
    grid-template-columns: 1fr; }
  .grid-ap-container.horizontal.grid-2 {
    grid-template-columns: 1fr 1fr; }
  .grid-ap-container.horizontal.grid-8, .grid-ap-container.horizontal.grid-4 {
    grid-template-columns: 1fr 1fr 1fr 1fr; }
  .grid-ap-container.horizontal.grid-all, .grid-ap-container.horizontal.grid-32, .grid-ap-container.horizontal.grid-16, .grid-ap-container.horizontal.grid-6 {
    grid-template-columns: 1fr 1fr 1fr; }
  @media screen and (max-width: 1020px) {
    .grid-ap-container.horizontal.grid-all, .grid-ap-container.horizontal.grid-32, .grid-ap-container.horizontal.grid-16, .grid-ap-container.horizontal.grid-8, .grid-ap-container.horizontal.grid-6, .grid-ap-container.horizontal.grid-4 {
      grid-template-columns: 1fr 1fr; } }
  @media screen and (max-width: 550px) {
    .grid-ap-container.horizontal.grid-all, .grid-ap-container.horizontal.grid-32, .grid-ap-container.horizontal.grid-16, .grid-ap-container.horizontal.grid-8, .grid-ap-container.horizontal.grid-6, .grid-ap-container.horizontal.grid-4 {
      grid-template-columns: 1fr; } }
  .grid-ap-container .grid-item {
    -webkit-box-shadow: 8px 8px 8px -5px rgba(0, 0, 0, 0.19);
    box-shadow: 8px 8px 8px -5px rgba(0, 0, 0, 0.19);
    display: flex;
    flex-direction: column;
    font-size: 16px;
    text-align: left; }
    @media screen and (min-width: 550px) {
      .grid-1.grid-ap-container .grid-item {
        display: grid;
        grid-template-columns: 1fr 1fr; } }
    .grid-ap-container .grid-item .thumb-progress-container {
      position: relative; }
      .grid-ap-container .grid-item .thumb-progress-container .ap-remaining-days {
        position: absolute;
        text-align: center;
        line-height: 20px;
        max-width: 100px;
        left: 10px;
        top: 10px;
        background-color: #fff;
        padding: 10px;
        -webkit-box-shadow: 8px 8px 8px -5px rgba(0, 0, 0, 0.19);
        box-shadow: 8px 8px 8px -5px rgba(0, 0, 0, 0.19); }
        .grid-ap-container .grid-item .thumb-progress-container .ap-remaining-days span {
          display: block;
          font-weight: bold;
          font-size: 20px; }
      .grid-ap-container .grid-item .thumb-progress-container .thumb-image {
        width: 100%;
        height: 150px;
        background-clip: border-box;
        background-size: cover; }
        .grid-1.grid-ap-container .grid-item .thumb-progress-container .thumb-image {
          height: 250px; }
        @media screen and (max-width: 1020px) {
          .grid-ap-container .grid-item .thumb-progress-container .thumb-image {
            height: 250px; } }
    .grid-ap-container .grid-item .title_container {
      padding: 20px;
      line-height: 35px;
      height: 100%;
      display: flex;
      flex-direction: column; }
      .grid-ap-container .grid-item .title_container .ap-title {
        font-size: 24px;
        font-weight: bold; }
      .grid-ap-container .grid-item .title_container .ap-author {
        font-size: 12px;
        color: grey; }
      .grid-ap-container .grid-item .title_container .ap-actions {
        display: flex;
        flex-direction: row;
        justify-content: space-between;
        margin-top: auto; }
        .grid-ap-container .grid-item .title_container .ap-actions a {
          color: blue;
          text-decoration: none; }
        .grid-ap-container .grid-item .title_container .ap-actions .ap-donate a {
          background-color: #f6245c;
          padding: 5px 10px;
          border-radius: 5px;
          color: white; }
          .grid-ap-container .grid-item .title_container .ap-actions .ap-donate a:hover {
            text-decoration: none;
            background-color: #cc0d40; }
    .grid-ap-container .grid-item .ap-thumb {
      display: table;
      max-height: 250px; }

.ap-progress-bar {
  position: relative; }
  .ap-progress-bar progress {
    display: block; }
  .ap-progress-bar progress[value] {
    width: 100%;
    height: 15px;
    -webkit-appearance: none;
    appearance: none; }
  .ap-progress-bar progress[value]::-webkit-progress-bar {
    background-color: #eee;
    border-radius: 2px;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.25) inset; }
  .ap-progress-bar progress[value]::-webkit-progress-value {
    background-color: blue;
    border-radius: 2px;
    background-size: 35px 20px, 100% 100%, 100% 100%; }
  .ap-progress-bar .ap-bubble {
    position: absolute;
    top: -75px;
    z-index: 999;
    left: -37px; }
    .ap-progress-bar .ap-bubble .triangle {
      position: relative;
      margin: 0;
      padding: 5px 10px;
      top: 13px;
      font-weight: bold;
      box-sizing: border-box;
      background: #fff;
      box-shadow: 0px 3px 3px 0 rgba(0, 0, 0, 0.4);
      text-align: center;
      max-width: 150px;
      min-width: 80px;
      white-space: nowrap; }
    .ap-progress-bar .ap-bubble .triangle::after {
      content: '';
      position: absolute;
      width: 0;
      height: 0;
      margin-left: -0.5em;
      bottom: -20px;
      left: 40%;
      box-sizing: border-box;
      border: 10px solid black;
      border-color: transparent transparent #fff #fff;
      transform-origin: 0 0;
      transform: rotate(-45deg);
      box-shadow: -3px 3px 3px 0 rgba(0, 0, 0, 0.4); }

.ap-show-all {
  margin: 25px 0;
  width: 100%;
  text-align: center; }
  .ap-show-all a {
    padding: 10px 20px;
    color: white;
    background-color: #f6245c;
    border-radius: 15px; }
    .ap-show-all a:hover {
      text-decoration: none;
      color: white;
      background-color: #cc0d40; }

.ap-progress-block {
  width: 100%;
  display: grid;
  justify-content: center; }
  .ap-progress-block .ap-progress-container {
    border-radius: 25px;
    background-color: whitesmoke;
    width: 100%;
    padding: 30px;
    margin: 20px 0;
    display: grid;
    grid-template-columns: 1fr;
    column-gap: 20px; }
    @media screen and (min-width: 1020px) {
      .ap-progress-block .ap-progress-container {
        width: 850px; } }
    @media screen and (min-width: 550px) {
      .ap-progress-block .ap-progress-container {
        grid-template-columns: 5fr 2fr; } }
    .ap-progress-block .ap-progress-container .ap-days-progress {
      display: grid;
      grid-template-columns: 1fr 4fr;
      column-gap: 20px; }
      .ap-progress-block .ap-progress-container .ap-days-progress .ap-remaining-days {
        padding: 10px;
        background-color: white;
        text-align: center;
        max-width: 90px;
        max-height: 100px;
        -webkit-box-shadow: 8px 8px 8px -5px rgba(0, 0, 0, 0.19);
        box-shadow: 8px 8px 8px -5px rgba(0, 0, 0, 0.19);
        line-height: 28px; }
        .ap-progress-block .ap-progress-container .ap-days-progress .ap-remaining-days span {
          display: block;
          font-weight: bold;
          font-size: 27px; }
      .ap-progress-block .ap-progress-container .ap-days-progress .ap-bar-target {
        padding: 45px 0 10px;
        display: grid;
        grid-template-columns: 1fr;
        column-gap: 10px;
        text-align: right; }
        @media screen and (min-width: 1020px) {
          .ap-progress-block .ap-progress-container .ap-days-progress .ap-bar-target {
            grid-template-columns: 3fr 1.4fr; } }
        .ap-progress-block .ap-progress-container .ap-days-progress .ap-bar-target .ap-target {
          line-height: 15px;
          font-weight: bold;
          white-space: nowrap; }
    .ap-progress-block .ap-progress-container .ap-support-button {
      padding-top: 35px;
      text-align: center; }
      .ap-progress-block .ap-progress-container .ap-support-button a {
        white-space: nowrap;
        background-color: #f6245c;
        padding: 15px 20px;
        border-radius: 15px;
        color: white; }
        .ap-progress-block .ap-progress-container .ap-support-button a:hover {
          text-decoration: none;
          background-color: #cc0d40; }
