 /* =========================
       RESET
    ========================== */
 * {
     margin: 0;
     padding: 0;
     box-sizing: border-box;
     min-width: 0;
 }

 :root {
     color-scheme: light;
 }

 body,
 html {
     width: 100%;
     font-family: "Montserrat", sans-serif;
     background: #000;
     color: #d9d9d9;
     line-height: 1.7;

     overflow-x: clip;
     max-width: 100%;

     background-image: url("https://www.transparenttextures.com/patterns/black-felt.png");
 }


 img {
     display: block;
     width: 100%;
     opacity: 0.9;
 }

 ::selection {
     color: #000;
     background: #d9d9d9;
 }

 /* =========================
   MAIN LAYOUT
========================== */

 .container-a {
     width: 30rem;
     margin: 0 auto;
 }

 /* @media (min-width: 960px) {
     .container {
         width: 100%;
         padding: 0rem 10rem;
     }
 } */


 .hero-content {
     width: 100%;
 }

 /* =========================
   PLUS
========================== */

 .plus {
     display: flex;
     justify-content: space-between;
 }

 .plus>p {
     font-size: 3rem;
     font-weight: 100;
     opacity: 0.1;
     padding: 3rem;
 }

 #bplus>a {
     width: 1.8rem;
     height: 1.8rem;
     margin-top: 4.65rem;
     opacity: 0.2;
     transition: opacity 0.35s ease;
 }

 #bplus>a:hover {
     opacity: 0.8;
 }

 /* =========================
   DATE TEXT
========================== */

 .date-text {
     width: 100%;
     text-align: center;

     font-size: 2rem;
     letter-spacing: 0.6rem;

     margin-bottom: 0.2rem;

     white-space: nowrap;
 }

 @media (max-width: 525px) {
     .container-a {
         width: 25rem;
         margin: 0 auto;
         padding-left: 1.5rem;
         padding-right: 1.5rem;
     }

     .date-text {
         font-size: 1.27rem;
         letter-spacing: 0.51rem;
     }


 }

 /* =========================
   LOGO
========================== */

 .logo {
     width: 100%;
     height: auto;

     margin-bottom: 5rem;
 }

 /* =========================
   TEXT CONTENT
========================== */

 .content {
     width: 100%;
 }

 .content p {
     width: 100%;

     font-size: 1rem;

     margin-bottom: 2rem;

     text-align: justify;

     font-weight: 300;

     overflow-wrap: break-word;
 }

 .content b {
     font-weight: 600;
 }

 .txthigh {
     color: #000;
     -webkit-text-fill-color: #000;

     background: #d9d9d9;

     box-shadow:
         0.2em 0 0 #d9d9d9,
         -1.8em 0 0 #d9d9d9;
 }

 /* =========================
   EMAIL FORM
========================== */

 .mc-form {
     display: flex;
     flex-direction: column;
     gap: 1rem;
     max-width: 30rem;
     margin-top: 5rem;
     font-weight: 600;
 }


 .mc-form input[type="email"],
 .mc-form button {
     font: inherit;
     border-radius: 0;
     border: none;
     text-align: center;
     padding: 0.1rem;
 }

 .mc-form button {
     background: rgb(255, 255, 255);
     color: rgb(0, 0, 0);
     cursor: pointer;
     transition: 0.35s ease;
 }

 .mc-form button:hover {
     background: #d9d9d9;
 }


 .mc-form button:disabled {
     background: #d9d9d9;
     cursor: not-allowed;
 }

 .mc-message {
     display: none;
     font-size: 14px;
 }



 .container-b {
     max-width: 75rem;
     margin: 0 auto;
 }


 /* =========================
   GALLERY
========================== */

 .gallery {
     width: 100%;
     padding-left: 1rem;
     padding-right: 1rem;

     display: grid;
     grid-template-columns: repeat(3, 1fr);
     gap: 20px;
 }

 .gallery img {
     aspect-ratio: 1 / 1;
     object-fit: cover;

     cursor: pointer;

     transition:
         transform 0.35s ease,
         opacity 0.35s ease;
 }

 .gallery img:hover {
     transform: scale(1.02);
     opacity: 0.8;
 }

 /* =========================
   RESPONSIVE
========================== */
 /* 
@media (max-width: 768px) {

  .gallery {
    grid-template-columns: repeat(3, 1fr);
  }

}

@media (max-width: 540px) {

  .gallery {
    grid-template-columns: repeat(3, 1fr);
  }

  .content p {
    text-align: left;
  }

  .top-text {
    white-space: normal;
    line-height: 1.5;
  }

} */

 /* =========================
   LIGHTBOX
========================== */

 .lightbox {
     position: fixed;
     inset: 0;

     background: rgba(0, 0, 0, 0.94);

     display: none;
     justify-content: center;
     align-items: center;

     z-index: 9999;

     padding: 2rem;
 }

 .lightbox.active {
     display: flex;
 }

 .lightbox img {
     max-width: 90vw;
     max-height: 85vh;

     object-fit: contain;
 }

 /* =========================
   CLOSE BUTTON
========================== */

 .close {
     position: absolute;

     top: 20px;
     right: 30px;

     color: white;

     font-size: 42px;
     font-weight: 300;

     cursor: pointer;

     user-select: none;
 }

 /* =========================
   NAV BUTTONS
========================== */

 .nav-btn {
     position: absolute;

     top: 50%;
     transform: translateY(-50%);

     width: 60px;
     height: 60px;

     border: none;
     border-radius: 50%;

     background: rgba(255, 255, 255, 0.12);

     color: white;

     font-size: 32px;

     cursor: pointer;

     transition: background 0.3s ease;

     z-index: 20;
 }

 .nav-btn:hover {
     background: rgba(255, 255, 255, 0.25);
 }

 .prev {
     left: 20px;
 }

 .next {
     right: 20px;
 }

 @media (max-width: 600px) {

     .nav-btn {
         width: 48px;
         height: 48px;

         font-size: 26px;
     }

     .prev {
         left: 10px;
     }

     .next {
         right: 10px;
     }

     .close {
         right: 20px;
         font-size: 36px;
     }

 }