


h1 {
   text-align: center;
}



.campaignlist,
.campaignlist .progress ul {
   margin: 0;
   padding: 0;
   list-style: none;
}

.campaignlist {
   margin-top: 3.5em;
   display: flex;
   align-items: center;
   flex-direction: column;
   row-gap: 36px;
}

.campaignlist > li {
   background-color: white;
   width: 100%;
   max-width: 476px;
   cursor: pointer;
   display: flex;
   flex-direction: column;
   scroll-margin-top: 16px;
}

.campaignlist h2,
.campaignlist .logline,
.campaignlist .progress,
.campaignlist .location {
   padding: 0 32px;
}
.campaignlist .progress,
.campaignlist .location {
   border-top: 1px solid var(--color-faint-lines);
   padding: 24px 32px;
}

@media( min-width: 768px ) {
   .campaignlist {
      flex-direction: row;
      align-items: normal;
      flex-wrap: wrap;
      justify-content: center;
      column-gap: 32px;
      row-gap: 48px;
   }
   .campaignlist > li {
      flex: 0 0 calc(50% - 16px );
   }
   .campaignlist > li .progress {
      margin-top: auto;
   }
}
@media( min-width: 1024px ) {
   .campaignlist > li {
      flex: 0 0 32%;
      flex: 0 0 calc(33.33% - 21.33px );
      scroll-margin-top: 101px; /* to complement the sticky header */
   }
}

.campaignlist figure {
   margin: 0;
   padding: 0;
   width: 100%;
   height: auto;
   min-height: 0;
   aspect-ratio: 370 / 250;
   background-color: var(--color-picturebg);
   background-image: url(https://staging.sharedassets.uniondocs.org/images/uniondocs-logo-trans-grey.png);
   background-repeat: no-repeat;
   background-position: 50% 50%;
   position: relative;
}
.campaignlist figure .endedbadge {
   position: absolute;
   top: 12px;
   right: 12px;
   background-image: url(/images/ended-badge.png);
   background-size: contain;
   color: white;
   width: 100px;
   text-align: center;
   align-content: center;
   aspect-ratio: 1 / 1;
   font-size: .7em;
   font-weight: 500;
}
.campaignlist figure img {
   display: block;
   width: 100%;
   height: 100%;
   object-fit: cover;
}
.campaignlist figure img.noimage {
   width: auto;
   height: auto;
   position: relative;
   top: 50%;
   left: 50%;
   transform: translate(-50%, -50%);
   filter: grayscale(1);
   opacity: .25;
}



.campaignlist h2 {
   margin: 1.8em 0 0;
   font-size: .95em;
   font-weight: 600;
}
.campaignlist h2 a {
   color: var(--color-default);
   text-decoration: none;
}
.campaignlist .logline {
   margin: .85em 0 0;
   font-size: 1.3em;
   font-weight: 500;
   padding: 0 32px 24px;
}
.campaignlist .location {
   margin: 0;
   font-size: .8em;
   font-weight: 600;
   display: flex;
   justify-content: center;
   column-gap: 8px;
   color: var(--color-default-lighter);
}
.campaignlist .location,
.campaignlist .location path {
   fill: var(--color-default-lighter);
}



.campaignlist .progress ul {
   display: flex;
   justify-content: space-between;
   font-size: .8em;
   font-weight: 600;
}
.campaignlist .progress ul > li:nth-child(2) {
   color: var(--color-default-light);
}
.campaignlist .progress meter {
   width: 100%;
   height: 10px;
   margin-top: 12px;
   border: none;
}



.loadmoretrigger {
   text-align: center;
   padding: 24px 0;
   color: var(--color-default-lighter);
}
.loadmoretrigger path {
   fill: var(--color-primary);
}
