@import url('https://fonts.googleapis.com/css2?family=Gorditas:wght@400;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Pangolin&display=swap');

.pangolin-regular {
  font-family: "Pangolin", cursive;
  font-weight: 400;
  font-style: normal;
}

    :root {
      /* 1. Define the size of your single tile image */
      --tile-width: 100px;
      --tile-height: 100px;
    }

    /* 4. Create the infinite loop animation */
    @keyframes moveBackground {
      from {
        background-position: 0 0;
      }
      to {
        /* Shifting by exactly the tile size ensures a perfect, seamless loop */
        background-position: var(--tile-width) var(--tile-height);
      }
    }

    /* Center text card styling just for presentation */
    .content-box {
      background: rgba(255, 255, 255, 0.85);
      padding: 30px;
      border-radius: 12px;
      box-shadow: 0 8px 32px rgba(0, 0, 0, 0.2);
      font-family: sans-serif;
      text-align: center;
    }

* {
      box-sizing: border-box;
    }

a {
  color: #181ed6; /* Changes link color to blue */
  text-decoration: none; /* Optional: Removes the default underline */
}

.gorditas-regular {
  font-family: "Gorditas", serif;
  font-weight: 400;
  font-style: normal;
}

.gorditas-bold {
  font-family: "Gorditas", serif;
  font-weight: 700;
  font-style: normal;
}

/* 1. The Vertical Stack Container */
.button-stack {
  display: flex;
  flex-direction: column; /* Stacks children vertically */
  gap: 12px;              /* Controls spacing between buttons */
  width: 100%;
  max-width: 280px;       /* Constrains layout like a sidebar panel */
  padding: 16px;
  background-color: none;
}

/* 2. Base Button Styles */
.btn {
  display: flex;
  align-items: center;    /* Vertically centers icon and text */
  width: 100%;
  font-family: "Pangolin", cursive;
  padding: 12px 16px;
  background-color: #ffffff;
  color: #212529;
  border: 1px solid #dee2e6;
  border-radius: 8px;
  font-size: 15px;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.2s ease-in-out;
}

/* 3. Image Sizing and Alignment Constraints */
.btn-image {
  width: 20px;            /* Forces consistent visual layout width */
  height: 20px;           /* Forces consistent visual layout height */
  object-fit: contain;    /* Prevents your graphics from stretching or distorting */
  margin-right: 12px;     /* Spacing between the image boundary and text element */
  display: block;         /* Eliminates baseline inline spacing bugs */
}

/* 5. Hover and Active Interaction States */
.btn:hover {
  background-color: #f1f3f5;
  border-color: #ced4da;
  transform: translateY(-1px); /* Subtle lift animation */
}

.btn:active {
  background-color: #e9ecef;
  transform: translateY(0);    /* Resets lift when clicked */
}

.title {
  font-family: "Gorditas", serif;
  font-size: 4rem;
  font-weight: 700;
  text-align: center;
  letter-spacing: 2px;
  line-height: 1;
  -webkit-text-stroke-color: #fff;
  -webkit-text-stroke-width: 2px;
}

    body {
      margin: 0;
      min-height: 100vh;
      background-image: url('https://images.unsplash.com/photo-1584890132374-d69d5d01483e?q=80&w=1167&auto=format&fit=crop&ixlib=rb-4.1.0&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D');
      background-size: cover;
      color: white;
      font-family: "Pangolin", cursive;
    }

    .page {
      width: min(1100px, 92vw);
      margin: 50px auto;
    }

    /* =========================
       OUTER CONTAINER
    ========================= */

    .container {
      position: relative;
      border: 8px solid #fffef2;
      border-radius: 55px 70px 45px 55px;
      border-style: dashed;
      padding: 22px;
      min-height: 760px;
      
      background-image: url('https://f2.toyhou.se/file/f2-toyhou-se/images/34783473_37ryr1SroMXuV4b.png'); /* Replace with your tile image URL */
      background-repeat: repeat; /* This tiles the image horizontally and vertically */
      background-size: var(--tile-width) var(--tile-height);
      
      /* 3. Attach the animation */
      animation: moveBackground 10s linear infinite;
    }

    /* Slight hand-drawn second border */
    .container::before {
      content: "";
      position: absolute;
      inset: 8px;
      border: 3px solid #fffef2;
      border-radius: 48px 60px 38px 48px;
      pointer-events: none;
    }

    /* =========================
       HEADER
    ========================= */

    header {
      position: relative;
      height: 175px;
      border: 4px solid #fffef2;
      border-radius: 45px 65px 0 0;
      display: flex;
      align-items: center;
      justify-content: center;
      margin-bottom: 18px;
      z-index: 1;
      background-image: url('https://images.unsplash.com/photo-1680580868609-23e3d6cee56a?q=80&w=735&auto=format&fit=crop&ixlib=rb-4.1.0&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D');
      background-size: cover;
      background-position: center;
    }

    header h1 {
      margin: 0;
      font-size: clamp(55px, 8vw, 100px);
      font-weight: 400;
      letter-spacing: 4px;
      transform: rotate(-1deg);
      font-family: "Gorditas", serif;
    }

    /* =========================
       MAIN AREA
    ========================= */

    .main {
      position: relative;
      display: grid;
      grid-template-columns: 190px 1fr;
      gap: 28px;
      padding: 0 5px 30px;
      z-index: 2;
    }

    /* =========================
       NAVIGATION
    ========================= */

    .sidebar {
      display: flex;
      flex-direction: column;
      gap: 20px;
    }

    .nav-box {
      min-height: 250px;
      border: 4px solid #fffef2;
      border-radius: 10px 18px 8px 15px;
      display: flex;
      align-items: center;
      justify-content: center;
      padding: 15px;
      text-align: center;
      font-size: 25px;
      line-height: 1.05;
      background: #f2e268;
      overflow-y: auto;
      overflow-x: hidden;
    }

    .nav-box:nth-child(2) {
      transform: rotate(0.5deg);
      background-image: url('https://images.unsplash.com/photo-1644865439228-49106cb7b601?q=80&w=735&auto=format&fit=crop&ixlib=rb-4.1.0&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D');
      background-size: cover;
    }
    
    .nav-box:nth-child(3) {
      min-height: 250px;
      border: 4px solid #fffef2;
      border-radius: 10px 18px 8px 15px;
      display: flex;
      align-items: center;
      justify-content: center;
      padding: 15px;
      text-align: center;
      font-size: 25px;
      line-height: 1.05;
      background: #f2e268;
      overflow-y: auto;
      overflow-x: hidden;
    }

    /* =========================
       CONTENT
    ========================= */

    .content {
      position: relative;
      min-height: 500px;
      border: 4px solid #fffef2;
      border-radius: 10px 45px 35px 10px;
      padding: 50px 40px;
      background: #f2e268;
      overflow: visible;
      
    }

    .content p {
      max-width: 600px;
      margin: 0;
      font-size: 25px;
      line-height: 1.15;
      color: #e87223;
    }

    /* =========================
       OVERLAPPING IMAGE
    ========================= */

    .floating-image {
      position: absolute;

      /* Pull image outside content box */
      right: -150px;
      bottom: -85px;

      width: 300px;
      height: 330px;

      background-image: url("https://f2.toyhou.se/file/f2-toyhou-se/images/125092340_GJ7N1TvfUpU9isG.png");
      background-size: contain;
      background-position: center;

      display: flex;
      align-items: center;
      justify-content: center;

      font-size: 34px;
      color: #fffef2;

      z-index: 5;
      transform: rotate(1deg);
    }

    /* If you want to use an actual image:
       replace the background above with:
       
       background-image: url("your-image.jpg");
       background-size: cover;
       background-position: center;
    */

    .floating-image span {
      transform: rotate(-1deg);
    }

    /* =========================
       MOBILE
    ========================= */

    @media (max-width: 800px) {
      .page {
        width: 94vw;
        margin: 20px auto;
      }

      .container {
        padding: 15px;
        border-radius: 30px;
      }

      header {
        height: 130px;
        border-radius: 30px 40px 0 0;
      }

      header h1 {
        font-size: 55px;
      }

      .main {
        grid-template-columns: 1fr;
        gap: 15px;
      }

      .sidebar {
        display: grid;
        grid-template-columns: 1fr 1fr;
      }

      .nav-box {
        min-height: 90px;
        font-size: 20px;
      }

      .content {
        min-height: 450px;
        padding: 30px 25px;
        margin-bottom: 170px;
      }

      .content p {
        font-size: 27px;
      }

      .floating-image {
        width: 230px;
        height: 250px;
        right: 50%;
        transform: translateX(50%) rotate(1deg);
        bottom: -170px;
      }
    }

    @media (max-width: 450px) {
      header h1 {
        font-size: 45px;
      }

      .sidebar {
        grid-template-columns: 1fr;
      }

      .nav-box {
        min-height: 70px;
      }

      .floating-image {
        width: 200px;
        height: 220px;
      }
    }
    
indexlist {
	
	display:block;
	align-items:center;
  justify-content: center;
  flex-direction:column;
  text-align:center;
  width:100%;
	
}
indexlist onetag {
	display:flex;
	 column-count: 3;
	 	align-items:center;
  justify-content: center;
  flex-wrap:wrap;
  text-align:center;
  width:100%;
}


indexlist a {
	display:flex;
	margin: 5px;
	padding: 2px 7px;
	text-decoration: none;
	font-size:1.2rem;
	flex-direction:column;
	color:var(--text);
	width:20%;
}

indexlist img{
	border-radius:50%;
}

.image-gallery {
  display: flex;       /* Activates flexbox layout */
  flex-wrap: wrap;     /* Tells the images to wrap to the next line when space runs out */
  gap: 15px;           /* Puts a clean, uniform space between the images */
  margin: 25px;
  justify-content: center; /* Optional: Centers the images horizontally on the screen */
}

.rainbow-text {
	font-weight: bold;
	text-align: center;
	font-size: 50px;
	-webkit-text-stroke-color: #fff;
  -webkit-text-stroke-width: 4px;
}
.rainbow-text .block-line > span {
	display: inline-block;
}
span.block-line {
	background-image: linear-gradient(90deg, #ff0000, #ff5500, #ffaa00, #ffff00, #aaff00, #55ff00, #00ff00, #00ff55, #00ffaa, #00ffff, #00aaff, #0055ff, #0000ff, #5500ff, #aa00ff, #ff00ff, #ff00aa, #ff0055);
	color: transparent;
	-webkit-background-clip: text;
	background-clip: text;
}
