/* colours */
:root {
  --color-soft-grey: #b0b0b0;  
  --color-light-grey: #d3d3d3;  
  --color-muted-yellow: #e5c74b; 
  --color-bright-yellow: #f7e55b;  
  --color-green-tinge: #a8b98a; 
  --color-charcoal: #2f2f2f;  
  --color-soft-white: #dbdbdb;  
  --color-muted-pink: #ffc0cb;
}

/* Reset browser defaults */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  pointer-events: all;
}

/* Body styling for centering */
body {
  font-family: "Roboto", sans-serif;
  font-optical-sizing: auto;
  font-weight: 350;
  font-style: normal;
  font-variation-settings: "wdth" 100;
  display: flex;
  justify-content: center;
  background-color: var(--color-charcoal);
  color: var(--color-soft-white);
}

/* Fixed-width container */
.container {
  max-width: 1024px;
  width: 100%;
  padding-left: 16px;
  padding-right: 16px;
  margin: 0 auto;
}

/* Content blocks */
.content-block {
  margin-bottom: 32px;

  /* Random push to the left or right */
  position: relative;
  left: calc(var(--push, 0) * 0px); /* Negative pushes left  was -1px*/
  right: calc(var(--push, 0) * 0px); /* Positive pushes right was 1px */
}

/* Parallax container */
.parallax-container {
  position: absolute; /* Overlays the entire page */
  top: 0;
  left: 0;
  width: 100%;
  /*height: 100%; /* Matches the first container's scrolling area */
  pointer-events: none; /* Allows interaction with the first container */
  /*z-index: -100; Behind the main container */
  will-change: transform;
  transform: translateZ(0);
  backface-visibility: hidden;
}


  #startup-overlay {
    position: fixed;
    inset: 0;
    background: var(--color-charcoal);
    z-index: 999999;
    opacity: 1;
    pointer-events: none;
    transition: opacity 1000ms ease-in-out;
  }



.parallax-content {
  max-width: 1024px;
  /*max-width: 84%; /* Matches the first container's width */
  margin: 0 auto;
  position: relative;
  padding: 16px;
  transform: translateY(0); /* Start at the top */
  /*transition: transform 0.1s linear; /* Smooth scrolling effect */
}

.grid {
    display: grid;
    grid-template-columns: repeat(12, 1fr); /* Define 12 equal columns */
    gap: 16px; /* Space between columns */
    /*margin-bottom: 32px; /* Space between layouts */
  }
  
  /* Column Styling */
  .column {
    grid-column: span var(--span); /* Dynamically span columns based on --span */
    box-sizing: border-box;
    padding: 8px; /* Inner padding for content */
  }
  
  /* Blocks Inside Columns */
  .blocks {
    /*padding: 16px; /* Padding for content */
    text-align: center; /* Center content */
  }

  .text-block p{
    line-height: 1.3rem;
  }

  img {
    width: 100%;
    height: auto;
    z-index: -1000;
    position: relative !important;
  }

  video {
    z-index: -1000;
    position: relative !important;
  }
  .offset-wrapper {
    transform: translateX(var(--offset));
    transition: transform 0.3s ease-out;
  }
  
  .inline-img {
    max-width: 25%;
    display: block;
    z-index: -1000;
    position: relative !important;
  }
  
  .meta-data {
    max-width: 25%;
    margin-top: 0.5em;
    font-style: italic;
    font-size: 0.7rem;
    color: #fff5;
    /*background-color: #fff5;*/
    display: block;
    z-index: -1000;
    position: relative !important;
    padding: 2px;
  }

  .article-caption{
    font-style: italic;
    font-size: 0.7rem;
    color: #fff5;
  }

  .underline {
    text-decoration: underline;
  }


.left {
    text-align: left !important;
    padding-top: 0px !important;
    padding-bottom: 0px !important;
    z-index: 1000 !important;
    position: relative !important;
  }

.right {
    text-align: right !important;
    padding-top: 0px !important;
    padding-bottom: 0px !important;
    z-index: 1000 !important;
    position: relative !important;
  }

  .cursive{
    font-family: "Playwrite AU SA", serif;
    font-weight: 200;
    font-style: normal;
    font-size: 1.1rem;
    line-height: 1.3rem;
  }

  .green{
    color: var(--color-green-tinge);
  }
  .soft_white{
    color: var(--color-soft-white);
  }

  .blue{
    color: var(--color-muted-blue);
  }

  .muted{
    color: var(--color-muted-yellow);
  }

  .pink{
    color: var(--color-muted-pink);
  }

  .jumbo{
    font-family: "Roboto", sans-serif;
    font-optical-sizing: auto;
    font-weight: 200;
    font-style: normal;
    font-variation-settings:"wdth" 100;
    font-size: 6rem;
  }

  .jumbo p{
    line-height: 6rem;
  }


  .default-class{
    color: var(--color-muted-yellow);
  }

  /* typography */
  h1{
    font-family: "Playwrite AU SA Guides", serif;
    font-weight: 300;
    font-style: normal;
    font-size: 2.5rem;
    color: var(--color-green-tinge);
    padding-top: 25px;
    padding-bottom: 10px;
  }

  h2{
    font-family: "Playwrite AU SA", serif;
    font-weight: 300;
    font-style: normal;
    font-size: 1.5rem;
    color: var(--color-green-tinge);
    padding-top: 10px;
    padding-bottom: 10px;
  }


  /* links */
  /* Basic Styles */
a {
  text-decoration: underline; 
  color: var(--color-soft-grey); /* Soft grey for links */
  /*font-weight: 500; /* Slightly bold for emphasis */
}

/* Hover State */
a:hover {
  text-decoration: none;
}

/* Visited State */
a:visited {
  color: inherit; /* Slightly darker color for visited links */
  text-decoration: none; /* Keep consistent styling */
}

/* Active State */
a:active {
  color: var(--color-bright-yellow); /* Highlight link when clicked */
  text-decoration: underline; /* Reinforce active state */
}




  /* Responsive Adjustments */
  @media (max-width: 768px) {
    .grid {
      grid-template-columns: 1fr; /* Single column layout */
      gap: 12px; /* Reduce gap for smaller screens */
    }
    .column {
      grid-column: span 12; /* Columns take full width */
      padding-top: 0px !important;
      padding-bottom: 0px !important;
    }

    a {
      font-size: 1.1rem; /* Slightly larger for touch devices */
      padding: 4px 2px; /* Add touch-friendly spacing */
    }

    .inline-img {
      max-width: 35%;
    }

    .meta-data {
      max-width: 35%;
    }

    h1{
      font-size: 1.2rem; 
    }

    .offset-wrapper {
      transform: translateX(calc(var(--offset) * 0.25));
    }

    html, body {
      overflow-x: hidden; /* Prevent horizontal scroll */
      max-width: 100vw;   /* Ensure no wider than viewport */
    }

    .parallax-container {
      overflow-x: hidden;
    }

    .cw{
      transform: rotate(90deg);
    }

    .ccw{
      transform: rotate(-90deg);
    }
  }

  @media (max-width: 1152px) {
    /*
    html body{
      overflow-x: hidden;
    }
    */
    /*
    .container {
      max-width: 84%;
    }
    */
    /*
    .content-block {
      left: calc(var(--push-mobile, 0) * 0);
      right: calc(var(--push-mobile, 0) * 0);
    }*/
  }
  