    

    html, body{
        overflow-x: clip;
        overflow-y: visible;
        max-width: 100%;
        min-height: 100%;
    }

    body{
        text-align: center;
        background-color: #f1f1f1;
        background-image: linear-gradient(#f1f1f1, #e7e3e2, #d4d7df);
        min-height: 100vh;
    }

    body::after {
        content: '';
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        pointer-events: none;
        z-index: 1;
        box-shadow: inset 0 0 24px 4px rgba(255, 255, 255, 0.52),
                    inset 0 0 48px 12px rgba(255, 255, 255, 0.28);
    }

    #dance-floor{
        position: fixed;
        inset: 0;
        width: 100%;
        height: 100%;
        z-index: 3;
        pointer-events: none;
    }

    #signup{
        position: relative;
        z-index: 4;
    }

    hr{
        width:80%;
        border: 0.5px solid #c1c1c1;
    }


    input[type=text]{
        width:200px;
        padding:0.6em;
    }

    input[type=submit]{
        font-family:"Times New Roman";
        cursor:pointer;

    }

    ::placeholder{
        font-size: 2em;
        font-family:"Times New Roman";
    }


    .text{
        margin-top: 3%;
        font-size: 1.5em;
        margin-bottom:1.5%;
        display:block;
    }

    #signup .text {
        text-shadow:
            0 1px 6px #f1f1f1,
            0 0 14px rgba(241, 241, 241, 0.95),
            0 0 24px rgba(241, 241, 241, 0.75);
    }

    #signup .text a:hover,
    #signup .text a:visited:hover {
        text-shadow: none;
    }

    .fadein{
        text-align: center;
        font-size: 1.5em;
        padding-left: 16%;
        padding-right:16%;
        opacity:0;

    }


    .textlink:after{
        font-family:"Times New Roman";
        color:blue;
    }

    p{
        display:inline;
    }
    
    .textlink:hover{
        background-color: black;
        color:white;
    }

    .textlink:visited{
        font-family:"Times New Roman";
        color:blue;
    }

    .textlink:visited:hover{
        background-color: black;
        color:white;
    }

    .textlink.zigzag,
    .textlink.zigzag:visited{
        color:red;
    }

    .textlink.zigzag:hover,
    .textlink.zigzag:visited:hover{
        background-color: #eb3224;
        color:white;
    }

    .imglink:hover{
        /*-webkit-filter: blur(5px); /* Safari 6.0 - 9.0 */
        /*filter: blur(5px);*/
    }


    #title{
        font-weight: bold;
        text-transform: uppercase;
    }

    #title-sub{
        font-style: italic;
    }

   .landing{
      min-height: 100vh;
      min-height: 100dvh;
      display: flex;
      flex-direction: column;
      justify-content: center;
      align-items: center;
      box-sizing: border-box;
      padding: 24px 0 32px;
      margin-top: -2vh;
   }

   .hero-clip{
      width: 100%;
      max-width: 100%;
      overflow: visible;
      position: relative;
      z-index: 2;
   }

   .hero-stage{
      position: relative;
      display: block;
      width: 280px;
      max-width: 80%;
      margin-top: 1.5%;
      margin-left: auto;
      margin-right: auto;
      overflow: visible;
   }

   .landing .hero-stage{
      margin-top: 0;
   }

   .landing #signup .text{
      margin-top: 1.75em;
      transform-origin: 50% 50%;
   }

   #center{
      display: block;
      position: relative;
      z-index: 2;
      max-width: 100%;
      height: auto;
      box-shadow: 4px 6px 10px #aaa;
   }

   .hero-book{
      position: absolute;
      left: 50%;
      top: 50%;
      z-index: 1;
      transform: translate(-50%, -50%) scale(0.8);
      font-size: max(16px, 2vmin);
      line-height: 1;
      pointer-events: none;
      user-select: none;
      opacity: 0;
      font-family: "Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji", sans-serif;
   }

   .hero-book::before{
      content: '';
      position: absolute;
      left: 50%;
      top: 50%;
      width: 2.6em;
      height: 2.6em;
      z-index: -1;
      pointer-events: none;
      transform: translate(-50%, -50%);
      border-radius: 50%;
      background: radial-gradient(circle, rgba(255, 255, 255, 0.55) 0%, rgba(255, 255, 255, 0.22) 38%, rgba(255, 255, 255, 0) 70%);
   }

   .landing.is-folded .hero-book,
   .landing.is-unfolding .hero-book{
      opacity: 1;
      filter: drop-shadow(0 0 2px rgba(255, 255, 255, 0.7)) drop-shadow(0 0 6px rgba(255, 255, 255, 0.45)) drop-shadow(0 0 12px rgba(255, 255, 255, 0.28));
   }

   .landing.is-unfolding .hero-book,
   .landing.is-settled .hero-book{
      transform: translate(-50%, -50%) scale(1);
   }

   @keyframes book-kick {
      0% { transform: translate(-50%, -50%) scale(0.72); }
      100% { transform: translate(-50%, -50%) scale(1); }
   }

   .landing.is-book-kick .hero-book{
      animation: book-kick 0.38s cubic-bezier(0.2, 1.85, 0.32, 1) both;
   }

   .landing.is-folding:not(.is-settled) .hero-clip{
      z-index: 5;
   }

   .landing.is-settled .hero-clip{
      z-index: 4;
   }

   .landing.is-settled .hero-book{
      z-index: 3;
      pointer-events: auto;
      cursor: pointer;
      padding: 0.35em;
   }

   .cover-hero{
      cursor: pointer;
      transform-origin: 50% 50%;
   }

   .landing.is-folding .cover-hero{
      transition: transform 0.8s cubic-bezier(0.7, 0, 1, 0.08),
                  opacity 0.14s linear 0.8s;
   }

   .landing.is-folding #signup .text{
      transition: transform 0.8s cubic-bezier(0.7, 0, 1, 0.08),
                  opacity 0.32s linear;
   }

   .landing.is-unfolding .cover-hero{
      transition: transform 0.5s cubic-bezier(0.12, 0.85, 0.2, 1),
                  opacity 0.12s linear;
   }

   .landing.is-unfolding #signup .text{
      transition: transform 0.48s cubic-bezier(0.12, 0.85, 0.2, 1) 0.16s,
                  opacity 0.28s linear 0.16s;
   }

   .landing.is-folded .cover-hero{
      transform: scale(var(--fold-scale, 0.08));
      opacity: 0;
      pointer-events: none;
      cursor: default;
   }

   .landing.is-folded #signup{
      pointer-events: none;
   }

   .landing.is-folded #signup .text{
      transform: scale(0);
      opacity: 0;
   }

   .sunburst{
      display: block;
      position: absolute;
      left: 50%;
      top: 50%;
      width: 250%;
      aspect-ratio: 1;
      z-index: 0;
      pointer-events: none;
      opacity: 0;
      transform: translate(-50%, -50%);
      background:
        radial-gradient(circle, rgba(255, 255, 255, 0.1) 0%, rgba(255, 255, 255, 0.03) 38%, transparent 58%);
      -webkit-mask-image: radial-gradient(circle, #000 48%, rgba(0,0,0,0.65) 62%, rgba(0,0,0,0.18) 72%, transparent 80%);
      mask-image: radial-gradient(circle, #000 48%, rgba(0,0,0,0.65) 62%, rgba(0,0,0,0.18) 72%, transparent 80%);
      animation: sunburst-spin 180s steps(4320) infinite;
      transition: opacity 0.35s ease;
   }

   .hero-stage:hover .sunburst{
      opacity: 0.7;
   }

   .landing.is-folding .sunburst,
   .landing.is-folded .sunburst{
      opacity: 0;
      transition: opacity 0.12s linear;
   }

   .landing.is-settled .hero-stage:has(.hero-book:hover) .sunburst{
      opacity: 0.7;
      transition: opacity 0.35s ease;
   }

   .sunburst-long,
   .sunburst-short{
      position: absolute;
      inset: 0;
      background:
        repeating-conic-gradient(
          from 0deg,
          transparent 0deg 1.35deg,
          rgba(255, 255, 255, 0.32) 1.45deg 1.75deg,
          rgba(255, 255, 255, 0.22) 1.82deg 2.05deg,
          transparent 2.15deg 3.4deg,
          rgba(255, 255, 255, 0.26) 3.48deg 3.62deg,
          transparent 3.75deg 5.5deg,
          rgba(255, 255, 255, 0.16) 5.58deg 5.72deg,
          transparent 5.85deg 7.8deg
        ),
        repeating-conic-gradient(
          from 14deg,
          transparent 0deg 3.6deg,
          rgba(255, 255, 255, 0.22) 3.7deg 3.9deg,
          transparent 4deg 6.8deg,
          rgba(255, 255, 255, 0.2) 6.88deg 6.98deg,
          transparent 7.1deg 9.5deg
        );
   }

   .sunburst-long{
      -webkit-mask-image: radial-gradient(circle, #000 46%, rgba(0,0,0,0.7) 60%, rgba(0,0,0,0.22) 70%, transparent 80%);
      mask-image: radial-gradient(circle, #000 46%, rgba(0,0,0,0.7) 60%, rgba(0,0,0,0.22) 70%, transparent 80%);
   }

   .sunburst-short{
      transform: rotate(9deg);
      background:
        repeating-conic-gradient(
          from 6deg,
          transparent 0deg 2.2deg,
          rgba(255, 255, 255, 0.28) 2.3deg 2.55deg,
          rgba(255, 255, 255, 0.18) 2.65deg 2.8deg,
          transparent 2.95deg 5deg
        );
      -webkit-mask-image: radial-gradient(circle, #000 24%, rgba(0,0,0,0.55) 42%, transparent 56%);
      mask-image: radial-gradient(circle, #000 24%, rgba(0,0,0,0.55) 42%, transparent 56%);
   }

   @keyframes sunburst-spin {
      from { transform: translate(-50%, -50%) rotate(0deg); }
      to { transform: translate(-50%, -50%) rotate(360deg); }
   }

   @media (prefers-reduced-motion: reduce) {
      .sunburst,
      .landing.is-book-kick .hero-book{
         animation: none;
      }

      .cover-hero,
      .landing #signup .text{
         transition: none;
      }
   }

   #cover-modal{
      display: none;
      position: fixed;
      inset: 0;
      z-index: 1000;
      align-items: center;
      justify-content: center;
      background-color: rgba(241, 241, 241, 0.35);
      cursor: pointer;
   }

   #cover-modal.open{
      display: flex;
   }

   body.modal-open{
      overflow: hidden;
   }

   body.modal-open > *:not(#cover-modal){
      filter: blur(10px);
      -webkit-filter: blur(10px);
   }

   #cover-modal img{
      max-width: 90vw;
      max-height: 90vh;
      width: auto;
      height: auto;
      box-shadow: 4px 6px 10px #aaa;
      cursor: default;
   }

   @media (max-width: 768px) {
      .cover-hero{
         cursor: pointer;
      }

      #cover-modal,
      #cover-modal.open{
         display: none;
      }

      body.modal-open{
         overflow: auto;
      }

      body.modal-open > *:not(#cover-modal){
         filter: none;
         -webkit-filter: none;
      }
   }

   #crossout{
    text-decoration: line-through;
   }

   #new{
    color:red;
   }

   #emailform{
    display:inline-block;
   }

    input{
      line-height: 170%;
    }

    input[type=submit]{
    background-color: transparent;
    border: 2px solid black;
    color: black;
    font-size:0.5em;
    padding: 3px 7px;
    margin: 4px 2px;
    cursor: pointer;
}

input[type=submit]:hover{
  /*-webkit-filter: blur(5px); /* Safari 6.0 - 9.0 */
 /* filter: blur(5px);*/
}

    ::placeholder{
        font-size: 1.5em;
    }

   #pointer{
        font-size:1em;
        font-style: italic;
   }

/*alert*/
.swal-modal {
  border-radius: 0px;
  box-shadow: 5px 10px 10px #888888;
  font-size:1em;

}

.swal-overlay {
  background-color: transparent;
}

.swal-button{
  color:black;
  border-radius: 0px;
  background-color:transparent;
  border:2px solid black;
  padding:3px 7px;
}

.swal-button:hover{
  /*-webkit-filter: blur(5px); /* Safari 6.0 - 9.0 */ 
  /*filter: blur(5px);*/
}

/* squiggly line*/
  .zigzag {
  color:red;
  display: inline;
  position: relative;
 }

.zigzag:after{
  content: '';
  height: 5px;
  width: 100%;
  position: absolute;
  background: url("https://i.imgur.com/Wy0FoyJ.png");
  background-size: 8px;
  top:24px;
  bottom: 0px;
  left: 0;
  -webkit-animation: zigzagPlay 2s infinite linear;
  -moz-animation: zigzagPlay 2s infinite linear;
  -ms-animation: zigzagPlay 2s infinite linear;
  -o-animation: zigzagPlay 2s infinite linear;
  animation: zigzagPlay 2s infinite linear;
   -webkit-animation-play-state: running;
  -moz-animation-play-state: running;
  -o-animation-play-state: running;
  animation-play-state: running;
}

/*.zigzag:hover:after {
  -webkit-animation-play-state: running;
  -moz-animation-play-state: running;
  -o-animation-play-state: running;
  animation-play-state: running;
}
*/

@-webkit-keyframes zigzagPlay {
  0% {
    background-position: 0px;
  }
  100% {
    background-position: -96px;
  }
}

@-moz-keyframes zigzagPlay {
  0% {
    background-position: 0px;
  }
  100% {
    background-position: -96px;
  }
}

@-ms-keyframes zigzagPlay {
  0% {
    background-position: 0px;
  }
  100% {
    background-position: -96px;
  }
}

@-o-keyframes zigzagPlay {
  0% {
    background-position: 0px;
  }
  100% {
    background-position: -96px;
  }
}

@keyframes zigzagPlay {
  0% {
    background-position: 0px;
  }
  100% {
    background-position: -96px;
  }
}

    footer{
        font-size: 1.5em;
        text-align: center;
        padding-top: 50px;
    }




    @media only screen and (orientation: portrait) { 

    .hero-stage{
        margin-top:5%;
        width:80%;
    }

    .landing .hero-stage{
        margin-top: 0;
    }

    .text, .fadein{
    font-size: 0.95em;
    }

    .fadein{
        padding-left: 10%;
        padding-right:10%;
    }

        #signup{
        padding-left: 0;
        padding-right:0;
    }


    input[type=text]{
        width:200px;
        padding:0.5em;
    }

    input[type=submit]{
        font-family:"Times New Roman";
        cursor:pointer;
        padding:1em;

    }

    input{
      line-height: 175%;
    }

    ::placeholder{
        font-size: 1.5em;
    }

    .zigzag:after{
        top:17px;
    }

    input[type=submit]{
    background-color: transparent;
    border: 2px solid black;
    border-radius:0;
    color: black;
    font-size:0.5em;
    padding: 2px 7px;
    margin: 2px 2px;
    cursor: pointer;
}
  }


