


/* h1
 * */
body.transheader > main > div:first-child h1 {
   opacity: 0;
   transition: 1s;
}
body.transheader > main > div:first-child h1.shown {
   opacity: 1;
}



/* PANELS
 * */
h2 {
   margin: 0;
   font-size: 1.8em;
   font-weight: 600;
   text-align: center;
}
main > .block {
   padding: 48px 16px;
}
main > .bluish {
   background-color: var(--color-primary-bg);
   color: var(--color-primary);
}
@media( min-width: 768px ) {
   main > .block {
      padding: 72px 16px;
   }
   main > .block.aboutundo {
      padding: 96px 0;
   }
}



/* Buttons
 * */
.homebutton,
.categories > div span {
   display: block;
   max-width: 250px;
   padding: 16px 2px;
   border: 3px solid var(--color-primary);
   margin: 24px auto 0;
   font-size: 19px;
   font-weight: 600;
   line-height: 1;
   text-align: center;
   text-decoration: none;
   border-radius: 32px;
   transition: 0.3s;
}
.categories > div span {
   font-size: 18px;
}
.homebutton:hover,
.categories > div a:hover span {
   border-color: white;
   color: white;
}



/* ABOUT
 * */
.aboutundo p {
   max-width: 640px;
   margin: 0 auto;
   font-size: 1.25em;
   text-align: center;
   font-weight: 700;
}



/* DONATE & MEMBER
 * */
.donatenmember {
   list-style: none;
   display: flex;
   flex-direction: column;
   row-gap: 48px;
   font-size: 1.3em;
   font-weight: 700;
}
.donatenmember li {
   display: flex;
   flex-direction: column;
}
.donatenmember p {
   margin: 0;
   text-align: center;
}
.donatenmember a {
   color: black;
   border-color: black;
}
.donatenmember a:hover {
   background-color: black;
   border-color: black;
   color: white;
}
@media( min-width: 768px ) {
   .donatenmember {
      flex-direction: row;
      column-gap: 48px;
   }
   .donatenmember li {
      flex: 0 0 calc(50% - 24px);
   }
   .donatenmember p {
      margin-bottom: auto;
   }
}



/* PRESS
 * */
.press {
   display: flex;
   flex-direction: column;
   row-gap: 42px;
   background: black;
   color: white;
   font-size: 1.2em;
   font-weight: 600;
}
.press span {
   text-align: center;
}
.press img {
   display: block;
   width: 100%;
   max-width: 1024px;
   margin: 0 auto;
}



/* SLIDES
 * */
.slides {
/*
   min-height: calc(100vh - 64px);
*/
/*
   padding: 32px 0;
*/
}
.slides > ul {
   height: 100%;
   display: flex;
   overflow: auto;
   margin: 0;
   padding: 32px 0;
   list-style: none;
   column-gap: 16px;
   scroll-snap-type: x mandatory;
   scrollbar-width: thin;
}
.slides > ul > li {
   flex: 0 0 100%;
   display: flex;
   flex-direction: row-reverse;
   align-items: center;
   column-gap: 48px;
   scroll-snap-align: start;
}
.slides > ul > li > figure {
   display: none;
}
@media( min-width: 1024px ) {
   .slides {
/*
      height: calc(100vh - 85px - 64px);
      max-height: 1024px;
*/
   }
   .slides > ul > li {
      column-gap: 64px;
   }
   .slides > ul > li > figure {
      display: block;
   }
}
.slides > ul > li > figure {
/*
   height: 100%;
*/
   flex: 0 0 50%;
   margin: 0;
   padding: 0;
}
.slides > ul > li > figure img {
   display: block;
   width: 100%;
   max-height: 450px;
   aspect-ratio: 1/1;
   object-fit: cover;
}
.slides > ul > li > div {
   text-align: center;
   flex: 1;
   display: flex;
   flex-direction: column;
}
@media( min-width: 1024px ) {
   .slides > ul > li > div {
      text-align: left;
   }
}
.slides > ul > li > div h3 {
   margin: 0;
   font-size: 1.7em;
   font-weight: 600;
}
.slides > ul > li > div p {
   margin: 16px 0 0;
   font-size: 1.1em;
}
/* Progress */
.slides .progress {
   margin-top: 32px;
   color: var(--color-light);
}
.slides .progress ul,
.slides .progress li {
   margin: 0;
   padding: 0;
   display: flex;
}
.slides .progress ul {
   list-style: none;
   justify-content: space-around;
}
.slides .progress li {
   flex-direction: column;
   row-gap: 12px;
   font-weight: 500;
}
.slides .progress li span:nth-child(2) {
   font-size: .65em;
}
.slides .progress meter {
   width: 100%;
   height: 10px;
   margin-top: 16px;
   border: none;
}
/* Back campaign */
.slides a {
    padding: 12px 24px;
}
.slides .ended {
   font-size: .9em;
}
.slides .ended a {
   padding: unset;
}
@media( min-width: 1024px ) {
   .slides .progress ul {
      justify-content: space-between;
   }
    .slides a {
      margin-left: 0;
   }
}



/* CATEGORIES
 * */
.categories {

}
.categories h2 {

}
.categories > div {
   margin-top: 32px;
   display: flex;
   justify-content: center;
   flex-direction: column;
   column-gap: 32px;
   row-gap: 48px;
}
.categories > div a {
   text-decoration: none;
}
.categories > div img {
   width: 100%;
   height: auto;
   aspect-ratio: 1/1;
   display: block;
}
@media( min-width: 768px ) {
   .categories > div {
      flex-direction: row;
   }
}



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

.campaignlist {
   margin-top: 2em;
   margin-bottom: 48px;
   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 h3,
.campaignlist .authorcat,
.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 h3 {
   margin: 1.8em 0 0;
   font-size: .95em;
   font-weight: 600;
}
.campaignlist h3 a {
   color: var(--color-default);
   text-decoration: none;
}
.campaignlist .authorcat {
   font-weight: 500;
   margin: 8px 0 0;
}
.campaignlist .authorcat,
.campaignlist .authorcat a {
   color: var(--color-default-light);
   text-decoration: none;
}
.campaignlist .authorcat a:hover {
   color: var(--color-primary);
}
.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;
}



/* FISCAL
 * */
.fiscal > div {
   max-width: 1280px;
   margin: 32px auto 0;
   display: flex;
   flex-direction: column;
   row-gap: 16px;
   column-gap: 48px;
   justify-content: center;
}
.fiscal > div > figure {
   margin: 0;
}
.fiscal > div img {
   width: 100%;
   height: 100%;
   object-fit: cover;
   display: block;
}
.fiscal > div > div {
   align-self: center;
}
.fiscal > div p {
   font-size: 1.25em;
   font-weight: 700;
}
@media( min-width: 768px ) {
   .fiscal > div {
      margin: 24px auto;
      flex-direction: row;
   }
   .fiscal > div > figure {
      flex: 0 0 calc(50% - 24px);
      margin: 32px 0;
   }
}
.fiscal > span {
   display: block;
}
.fiscal > span a {

}
.fiscal > span a:hover {

}

