@import url('https://fonts.googleapis.com/css2?family=DM+Serif+Display:ital@0;1&display=swap');
@import url('https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,100..1000;1,9..40,100..1000&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Special+Gothic+Expanded+One&display=swap');

.box-section img {
  max-width: 100%;
  height: auto;
}

.scope-01-section-1-html #opener-box{
  display: flex;
  flex-wrap: wrap;
  width: 100%;
 }

.scope-01-section-1-html #box-intro{
   flex: 1 1 300px;
  font-size: clamp(1rem, 1vw + 0.75rem, 1.3rem);
   font-family: "DM Sans", sans-serif;
   font-optical-sizing: auto;
   font-style: normal;
   color: #212427;
   padding: 20px
 }

.scope-01-section-1-html #inner-intro{
   display:grid;
   place-items:center;
 }

.scope-01-section-1-html #quote{
   flex: 1 1 750px;
   display: flex;
   flex-direction: column;
 }

.scope-01-section-1-html #quote #message{
   text-align:right;
   padding: 10px;
   color: black;
  font-size: clamp(2rem, 5vw, 4.5rem);
  line-height: 0.95;
   font-family: "DM Serif Display", serif;
   -webkit-text-stroke-width: 1px;
   -webkit-text-stroke-color: black;
 }

.scope-01-section-1-html #quote #source{
  font-size: clamp(1rem, 1.2vw + 0.7rem, 1.5rem);
   text-align: right;
   padding: 10px;
 }

.scope-01-section-1-html #box-3D{
 padding: 20px;
 max-width: 100%;
  height: auto;
 }


/* Style rules for phone */
@media only screen and (max-width: 480px){

.scope-01-section-1-html #quote{ align-items: flex-end }

.scope-01-section-1-html #quote #message{
  font-size: 2.5em;
  line-height:0.8em;
  text-align: left;
 }

.scope-01-section-1-html #quote #source{
  font-size: 1em;
  line-height:1em;
  max-width: 28ch;
  text-align:right;
 }

.scope-01-section-1-html #box-intro{
   font-size: 1em;
   line-height: 1.15em;
 }

.scope-01-section-1-html #box-3D-container{
   height: 90px;
   width: 100px;
 }

.scope-01-section-1-html #box-3D{
   padding: 20px 0;
   position: absolute;
   /* scale: 1.2; */
 }
 
 }

/* Scoped: 02_section-letter.html */
.scope-02-section-letter-html #letter-flex{
  display:flex;
  flex-direction:row-reverse;
  width: 100%;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
}

.scope-02-section-letter-html #letter-graphic{
  flex: 1 1 min(600px, 48%);
}

.scope-02-section-letter-html #letter-img{
  max-width: min(100%, 560px);
  transform: scale(0.95) rotate(-4deg);
  transition-property: transform;
  transition-duration: 400ms;
  filter: drop-shadow(0px 5px 2px #9e9e9e);  
}

.scope-02-section-letter-html #letter-img:hover{
  transform: scale(1) rotate(0deg);
}

.scope-02-section-letter-html #letter-caption{
  font-size: clamp(1rem, 1.1vw + 0.7rem, 1.4rem);
  color:rgba(0,0,0,0.9);
  padding: clamp(12px, 4vw, 50px);
  inline-size: 42ch;
}

.scope-02-section-letter-html #letter-header{
  font-family: "Special Gothic Expanded One", sans-serif;
  font-size: clamp(2rem, 6vw, 5rem);
  line-height: 0.9em;
  padding-bottom: clamp(12px, 3vw, 40px);
}

/* Style rules for phone */
@media only screen and (max-width: 480px){

.scope-02-section-letter-html #letter-header{
  font-size: 3em;
}

.scope-02-section-letter-html #letter-caption{
  font-size: 1.1em;
  line-height: 1.05em;
}

.scope-02-section-letter-html #letter-img{transform: scale(1);}
 
}

/* Scoped: 03_section-2.html */
.scope-03-section-2-html #book-box{
    display:flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
  }

.scope-03-section-2-html #book-text{
    order: 1;
    flex: 0 1 450px;
  font-size: clamp(1rem, 1.1vw + 0.7rem, 1.4rem);
  margin: clamp(10px, 3vw, 40px);
    color:#212427;
  }

.scope-03-section-2-html #book-box > a{
    order: 2;
    flex: 1 1 min(700px, 52%);
    display: flex;
    justify-content: center;
  }

.scope-03-section-2-html #book-text h2{
    font-family: "Special Gothic Expanded One", sans-serif;
  }

.scope-03-section-2-html #purchase-book{
    margin: 20px 0;
    text-decoration: underline
  }

.scope-03-section-2-html #book-stack{
    margin: 15px;
    width: min(100%, 700px);
    display:flex;
    align-items: center;
  }

.scope-03-section-2-html #book-cover-img{
    width: 600px;
    z-index: 2;
    position: relative;
  }


.scope-03-section-2-html #book-summary-flyer{
    margin: 20px 0;
    margin-left: -440px;
    width: 620px;
    z-index: 1;
    position: relative;
    transition: margin 700ms;
  }

.scope-03-section-2-html #book-box:hover #book-summary-flyer{
   margin-left: -100px;
   transition: margin 700ms;
   height: auto;
  }

.scope-03-section-2-html #book-summary-flyer-img{
    outline: solid 1px rgba(0,0,0,0.5);
  }


/* Style rules for phone */
@media only screen and (max-width: 480px){

.scope-03-section-2-html #book-text{
    margin: 5px;
    font-size: 1.1em;
    line-height: 1.2em;
  }

.scope-03-section-2-html #book-stack{
    width: auto;
  }

.scope-03-section-2-html #book-cover-img{
    width: 170px;
    z-index: 2;
  }

.scope-03-section-2-html #book-summary-flyer{
    width: 150px;
    margin-left: -10px;
    z-index: 1;
  }

.scope-03-section-2-html #book-box:hover #book-summary-flyer{
   margin-left: -10px;
  }
   
  }

/* Scoped: 04_section-flyers.html */
.scope-04-section-flyers-html .wrapper-box{
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        justify-content: center;
      }

.scope-04-section-flyers-html .wrapper-header{
  font-size: clamp(2rem, 5vw, 4rem);
  line-height: 1;
        flex: 1 1 2rem;
        font-family: "Special Gothic Expanded One", sans-serif;
        font-weight: 400;
        font-style: normal;
        padding: 28px;
        display: flex;
        flex-direction: column;
      }

.scope-04-section-flyers-html .subtext{
        font-family: "DM Sans", sans-serif;
  font-size: clamp(1rem, 1.5vw, 1.5rem);
        transition-property: font-size;
        transition: 500ms;
        color: rgba(0,0,0,0.5);
        line-height: 1em;
      }

/* hide until we unfold */
.scope-04-section-flyers-html .subtext.download{  
        display: none;
      }
.scope-04-section-flyers-html .flyer-group{
        display: grid;
        place-items: center;
        margin: 4px 40px;
        grid-gap: 1rem;
        grid-template-columns: repeat(auto-fit, minmax(400px, 1fr));
      }

.scope-04-section-flyers-html .flyer{
        pointer-events: none; /* disable until unfolded */
        min-height: 50px;
        /* transition-property: margin, transform;
        transition-duration: 10ms, 500ms;  */
        transition: transform 500ms;
        filter: drop-shadow(4px 4px 2px #9e9e9e); 
  
        grid-column-start: 1;
        grid-row-start: 1;
      }
/* .scope-04-section-flyers-html .flyer-group:hover{
        transform: scale(1.02);
      } */

.scope-04-section-flyers-html .flyer img{
  width: 500px;
      }

.scope-04-section-flyers-html .flyer.N1{
        z-index: 3;
        transform: translateX(-50px) rotate(-4deg) ;
      }

.scope-04-section-flyers-html .flyer.N2{
        z-index: 2;
        transform: rotate(0deg)
      }

.scope-04-section-flyers-html .flyer.N3{
        transform: translateX(50px) rotate(4deg)
      }

/* clicked unfold behaviour */

.scope-04-section-flyers-html .unfolded .subtext.unfold{
        display: none;
      }

.scope-04-section-flyers-html .unfolded .subtext.download{  
        display: inline-block;
      }

.scope-04-section-flyers-html .unfolded .flyer{
        margin: 5px;
        margin-top:0px;
        transform: rotate(0);
        scale:1;
        pointer-events: auto; /* allow flyers to be clicked to download pdf */
      }

.scope-04-section-flyers-html .unfolded .flyer:hover{
        transform: scale(1.02);
      }

.scope-04-section-flyers-html .unfolded .flyer-group{
        width: 100%;
        height: auto;
      }

.scope-04-section-flyers-html .unfolded .flyer.N1{ grid-column-start: auto; grid-row-start: auto; }
.scope-04-section-flyers-html .unfolded .flyer.N2{ grid-column-start: auto; grid-row-start: auto; }
.scope-04-section-flyers-html .unfolded .flyer.N3{ grid-column-start: auto; grid-row-start: auto; }


/* Style rules for phone */
@media only screen and (max-width: 480px){

.scope-04-section-flyers-html .wrapper-header{ 
          font-size: 3em;
          line-height: 0.9em;
          }

.scope-04-section-flyers-html .subtext.unfold{
          display: none;
          }

.scope-04-section-flyers-html .subtext.download{  
          display: inline-block;
          }

.scope-04-section-flyers-html .flyer{
          margin: 5px;
          margin-top:0px;
          transform: rotate(0);
          scale:1;
          pointer-events: auto; /* allow flyers to be clicked to download pdf */
          }

.scope-04-section-flyers-html .flyer img{
          width: 380px;
          }

.scope-04-section-flyers-html .flyer-group{
          width: 100%;
          height: auto;
          grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
          margin: 0;
          }

.scope-04-section-flyers-html .flyer.N1,.scope-04-section-flyers-html .flyer.N1:hover{
              transform: rotate(-2deg);
              grid-column-start: auto; 
              grid-row-start: auto;
          }

.scope-04-section-flyers-html .flyer.N2,.scope-04-section-flyers-html .flyer.N2:hover{
              transform: rotate(2deg);
              grid-column-start: auto; 
              grid-row-start: auto;
          }

.scope-04-section-flyers-html .flyer.N3,.scope-04-section-flyers-html .flyer.N3:hover{
              transform: rotate(-3deg);
              grid-column-start: auto; 
              grid-row-start: auto;
          }
  
          
          
      }

/* Scoped: 05_section-follow-up-event.html */
@import url('https://fonts.googleapis.com/css2?family=Special+Gothic+Expanded+One&display=swap');

.scope-05-section-follow-up-event-html #invitation-box{
  flex-direction: row-reverse;
  width: 100%;
  justify-content: center;
  align-items: center;
  display:flex;
  flex-wrap: wrap;
  background-color: hsl(127.5, 50%, 90.59%);
}

.scope-05-section-follow-up-event-html #event-poster{
  flex: 1 1 min(550px, 48%);
  filter: drop-shadow(3px 5px 2px rgba(0,0,0,0.25));
  transform: rotate(3deg)
}

.scope-05-section-follow-up-event-html #event-poster img{
  width: min(100%, 520px);
}

.scope-05-section-follow-up-event-html #you-invited{
  color: #2c312c;
  font-family: "Special Gothic Expanded One", sans-serif;
  font-family: "DM Serif Display", serif;
  font-weight: 400;
  font-style: normal;
  line-height:0.8em;
  font-size: clamp(2.2rem, 7vw, 7rem);
  padding: 20px;
}

.scope-05-section-follow-up-event-html #event-subcaption{
  font-family: "DM Sans", sans-serif;
  font-size: 1.1rem;
  line-height: 1.2rem;
  inline-size: 48ch;
  margin: 10px 4px;
  color: rgba(0,0,0,0.7)
}

.scope-05-section-follow-up-event-html #event-buttons button{
  background-color: rgba(0,0,0,0);
  color: rgba(0,0,0,0.7);
  font-size: 1.2rem;
  border-radius: 10px;
  padding: 10px;
  margin:  6px;
  border: solid 2px rgba(0,0,0,0.7);
  transition: background-color 100ms;
}

.scope-05-section-follow-up-event-html #event-buttons button:hover{
  border: solid 2px black;
  color:black;
  background-color: rgba(0,0,0,0.2);
  
}

.scope-05-section-follow-up-event-html .outlined{
  -webkit-text-stroke-width: 2px;
  -webkit-text-stroke-color: #2c312c;
}


/* Style rules for phone */
@media only screen and (max-width: 480px){
.scope-05-section-follow-up-event-html #you-invited{
  font-size: 4.1em;
}

.scope-05-section-follow-up-event-html #event-subcaption{
  font-size: 1rem;
  line-height: 1.1rem;
  inline-size: auto;
}

.scope-05-section-follow-up-event-html #event-buttons{
  flex-direction:column;
}

}

/* Scoped: 06_section-receipt.html */
/* A bit hacky, but it fixes a scrollbar appearing due to absolute div being outside the <body> */
.scope-06-section-receipt-html{
    overflow-x:hidden !important;
  }

.scope-06-section-receipt-html #receipt-box{
    display:flex;
  }

.scope-06-section-receipt-html #left-content{
  width:50%;
    /* background-color:red; */
    flex-grow: 1;
  flex-basis: min(50%, 540px);
    display:flex;
    flex-direction: column;
    justify-content: center;
  }

.scope-06-section-receipt-html #receipt-header{
    font-family: "Special Gothic Expanded One", sans-serif;
    font-weight: 400;
    font-style: normal;
    font-size: clamp(2rem, 4.5vw, 4rem);
    line-height: 0.9em;
    color: #210200;
    padding: 20px 10px;
  }

.scope-06-section-receipt-html #receipt-subcaption{
    font-family: "DM Sans", sans-serif;
    font-size: clamp(1rem, 1.2vw + 0.7rem, 1.4rem);
    color: #210200;
    padding: 0 10px 10px 10px;
  }

.scope-06-section-receipt-html #receipt-linkout button{
    background-color: rgba(0,0,0,0);
    color: #210200;
    font-size: 1.2em;
    border-radius: 10px;
    padding: 10px;
    margin: 20px 5px 0 0;
    border: solid 2px #210200;
    transition: background-color 100ms;
  }

.scope-06-section-receipt-html #receipt-linkout button:hover{
    background-color: rgba(0,0,0,0.1)
  }

.scope-06-section-receipt-html #right-content{
   width: 50%;
   flex: 1 1 min(50%, 560px);
   /* background-color: orange; */
   position: relative;
   height: clamp(260px, 40vw, 500px);
  }

.scope-06-section-receipt-html #receipt-3D{
    position: absolute;
    height: clamp(240px, 36vw, 500px);
    left: 40%;
    max-width: none;
    transform: scale(clamp(1, 1.8vw, 1.6));
  }

/* add background as ::before to not affect inner content */
.scope-06-section-receipt-html #receipt-box::before{
    position: absolute;
    content: '';
    inset: 0;
    background: #d40d0d;
    /* with https://cssgradient.io/ */
    background: linear-gradient(76deg, rgba(212, 13, 13, 1) 0%, rgba(255, 254, 230, 1) 33%, rgba(121, 199, 66, 1) 65%, rgba(0, 28, 4, 1) 100%);
    border-radius: 12px 12px 12px 12px;
    filter: url(#wobble);
    transform: rotate(-1deg);
    z-index: -1;
    transform: scale(1.04);
  }


/* Style rules for phone */
@media only screen and (max-width: 480px){

.scope-06-section-receipt-html #receipt-box{
    flex-direction: column-reverse;
  }

.scope-06-section-receipt-html #left-content{ width:auto }

.scope-06-section-receipt-html #receipt-linkout button{ margin: 5px 10px }

.scope-06-section-receipt-html #receipt-3D{ 
    transform: scale(1);
    left: 5px;
  }

.scope-06-section-receipt-html #receipt-box::before{
    background: linear-gradient(110deg, rgba(212, 13, 13, 1) 0%, rgba(255, 254, 230, 1) 33%, rgba(121, 199, 66, 1) 65%, rgba(0, 28, 4, 1) 100%);
  }

/* This is a bit hacky */
.scope-06-section-receipt-html .page-section{ overflow:hidden }
  
  }

/* Scoped: 07_section-sources.html */
.scope-07-section-sources-html #sources-header{
  font-size: 8em;
  line-height: 1em;
}

.scope-07-section-sources-html #super{
  vertical-align: super;
  font-size: 0.8em;
}

.scope-07-section-sources-html #subcaption{
font-size: 1.4em;
text-align:center;
}

.scope-07-section-sources-html #subcaption a{
text-decoration: underline;
}

/* Style rules for phone */
@media only screen and (max-width: 480px){
.scope-07-section-sources-html #sources-header{
font-size: 4em;
line-height: 1em;
}

.scope-07-section-sources-html #subcaption{
font-size: 1.1em;
line-height: 1.1em;
text-align:center;
}

}
