.type-root {
    display: flex;
    flex-direction: column;
    width: 100%;
    box-sizing: border-box;
    gap: var(--spacing-m);
  }

  .type-root .type-project-direct {
    display: flex;
    justify-content: center;
    width: 100%;
  }

  .type-root .type-project-direct .direct-btn {
    align-self: center;
  }

  .type-root .type-map-img {
    width: 85%;
    display: block;
    margin: 0 auto;
  }
  
  .type-root .type-map {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
  }
  
  /* Base overlay styling */
  .type-root .type-overlay {
    position: absolute;
    background-color: rgba(255, 0, 0, 0); /* fully transparent initially */
    cursor: pointer;
    transition: background-color 0.3s ease-in-out, filter 0.3s ease-in-out;
    z-index: 1;
  }
  
  /* Overlay label: layout only; font/color/size from typography.css (p) */
  .type-root .type-overlay p {
    color: var(--color-bg);
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    text-align: center;
    white-space: nowrap;
    margin: 0;
    opacity: 0;
    transition: opacity 0.3s ease-in-out;
    pointer-events: none;
    z-index: 2;
  }
  
  /* Hover effect for the overlay */
  .type-root .type-map a:hover .type-overlay {
    background-color: rgba(255, 0, 0, 0.4); /* show overlay */
    backdrop-filter: blur(2.5px); /* blur background */
  }
  
  /* Hover effect for the text */
  .type-root .type-map a:hover .type-overlay p {
    opacity: 1;
  }
  
  /* Metaphysical 1 */
  #overlay1 {
    top: 1%;
    left: 7.6%;
    width: 14.8%;
    height: 37.2%;
  }
  
  /* Metaphysical 2 */
  #overlay2 {
    top: 8.4%;
    left: 23.5%;
    width: 14.8%;
    height: 37.2%;
  }
  
  /* Metaphysical 3 */
  #overlay3 {
    top: 15.6%;
    left: 39.5%;
    width: 14.8%;
    height: 37.2%;
  }
  
  /* To Summer */
  #overlay4 {
    top: 23.3%;
    left: 61%;
    width: 10.6%;
    height: 30%;
  }
  
  /* Children from the Stars */
  #overlay5 {
    top: 1%;
    left: 81%;
    width: 11.4%;
    height: 34.2%;
  }
  
  /* Jamaican Hiphop 1 */
  #overlay6 {
    top: 68.3%;
    left: 7.5%;
    width: 11.6%;
    height: 31.6%;
  }
  
  /* Jamaican Hiphop 2 */
  #overlay7 {
    top: 68.3%;
    left: 20.3%;
    width: 11.6%;
    height: 31.6%;
  }
  
  /* Reality Trilogy 1 */
  #overlay8 {
    top: 61.2%;
    left: 50.3%;
    width: 13.3%;
    height: 38%;
  }
  
  /* Reality Trilogy 2 */
  #overlay9 {
    top: 61.2%;
    left: 64.7%;
    width: 13.3%;
    height: 38%;
  }
  
  /* Reality Trilogy 3 */
  #overlay10 {
    top: 61.2%;
    left: 79.2%;
    width: 13.3%;
    height: 38%;
  }
  
  /* Love, the Shape of You 1 */
  #overlay11 {
    top: 0.7%;
    left: 7.6%;
    width: 12.4%;
    height: 37%;
  }
  
  /* Love, the Shape of You 2 */
  #overlay12 {
    top: 7.3%;
    left: 21.6%;
    width: 12.4%;
    height: 37%;
  }
  
  /* Love, the Shape of You 3 */
  #overlay13 {
    top: 0.7%;
    left: 36%;
    width: 11.9%;
    height: 37%;
  }
  
  /* Love, the Shape of You 4 */
  #overlay14 {
    top: 7.3%;
    left: 50%;
    width: 12.2%;
    height: 37%;
  }
  
  /* Women as Flower 1 */
  #overlay15 {
    top: 0.8%;
    left: 73.7%;
    width: 18.4%;
    height: 32%;
  }
  
  /* Women as Flower 2 */
  #overlay16 {
    top: 36.8%;
    left: 66.3%;
    width: 18.4%;
    height: 32%;
  }
  
  /* Vincent Van Gogh 1 */
  #overlay17 {
    top: 57.4%;
    left: 39%;
    width: 9%;
    height: 17.3%;
  }
  
  /* Vincent Van Gogh 2 */
  #overlay18 {
    top: 55.1%;
    left: 49.8%;
    width: 8.8%;
    height: 17.3%;
  }
  
  /* Meet Artist */
  #overlay19 {
    top: 70.8%;
    left: 7.6%;
    width: 26%;
    height: 29%;
  }
   
  /* Support a Young Artist 1 */
  #overlay20 {
    top: 82%;
    left: 42.8%;
    width: 9%;
    height: 18%;
  }
  
  /* Support a Young Artist 2 */
  #overlay21 {
    top: 82%;
    left: 53%;
    width: 9%;
    height: 18%;
  }
  
  /* Support a Young Artist 3 */
  #overlay22 {
    top: 82%;
    left: 63%;
    width: 9%;
    height: 18%;
  }
  
  /* Support a Young Artist 4 */
  #overlay23 {
    top: 82%;
    left: 73%;
    width: 9%;
    height: 18%;
  }
  
  /* Support a Young Artist 5 */
  #overlay24 {
    top: 82%;
    left: 83.3%;
    width: 9%;
    height: 18%;
  }
  
  /* FAST1 */
  #overlay25 {
    top: 2%;
    left: 8%;
    width: 17.3%;
    height: 45.2%;
  }
  
  /* FAST2 */
  #overlay26 {
    top: 23%;
    left: 28.3%;
    width: 11.9%;
    height: 31%;
  }
  
  /* FAST3 */
  #overlay27 {
    top: 59.5%;
    left: 15.3%;
    width: 15%;
    height: 38%;
  }
  
  /* Sober Tonight */
  #overlay28 {
    top: 47%;
    left: 43.5%;
    width: 13.7%;
    height: 38.5%;
  }
  
  /* Sober1 */
  #overlay29 {
    top: 2.2%;
    left: 55.4%;
    width: 11.2%;
    height: 23%;
  }
  
  /* Sober2 */
  #overlay30 {
    top: 2.2%;
    left: 68.3%;
    width: 11.2%;
    height: 23%;
  }
  
  /* Sober3 */
  #overlay31 {
    top: 2.2%;
    left: 81.2%;
    width: 11.2%;
    height: 23%;
  }
  
  /* Imprint */
  #overlay32 {
    top: 58%;
    left: 63%;
    width: 29%;
    height: 40%;
  }
  

  /* Main content related */
  .type-root .type-wrapper {
    display: flex;
    align-items: center;
    justify-content: center;
  }
  
  .type-root .type-container {
    display: flex;
    flex-direction: column;
    justify-content: center;
    width: 100%;
    max-width: 80rem;
  }
  
  /* side by side image */
  .type-root .type-container2 {
    display: flex;
    width: 100%;
    height: 100%;
    gap: 1rem;
  }
  
  .type-root .type-img-left,
  .type-root .type-img-right {
    flex: 1;
    min-width: 0;
  }
  
  .type-root .type-white {
    box-shadow: 3px 3px 6px #49453a73;
  }
  
  .type-root .type-icon-row {
    display: flex;
    flex-direction: row;
    gap: 1rem;
    margin-bottom: 1rem;
  }
  
  /* large screen */
  @media (min-width: 1024px) {
    .type-root .type-container {
      flex-direction: row;
      gap: 1rem;
    }
  }
  
  .type-root .type-image-wrap {
    flex-grow: 1;
    /* flex-grow */
    width: 100%;
  }
  
  /* large screen */
  @media (min-width: 1024px) {
    .type-root .type-image-wrap {
      width: auto;
    }
  }
  
  .type-root .type-img-full {
    margin-bottom: 1rem;
  }
  
  .type-root .type-img-small {
    border-radius: 4px;
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
  }
  
  /* small screen */
  @media (max-width: 1023px) {
    .type-root .type-image-wrap {
      margin-bottom: 1rem;
    }
  }
  
  /* large text box with side to side format */
  .type-root .type-poster-left,
  .type-root .type-poster-left1 {
    display: flex;
    flex-direction: row;
    border: 1px solid #D43636;
    border-radius: 20px;
    padding: 20px 25px 20px 25px;
    color: #600;
    flex-shrink: 0;
    /* Prevents the container from shrinking */
    width: auto;
    /* A fixed width for the text box on desktop */
    min-width: 200px;
  }
  
  .type-root .type-poster-left1 {
    margin-bottom: 1rem;
  }
  
  .type-root .type-poster-left-title {
    flex: 1;
  }
  
  .type-root .type-poster-left-p {
    flex: 2.5;
  }
  
  /* large text box with side to side format with center title */
  .type-root .type-poster-left-with-title {
    border: 1px solid #D43636;
    border-radius: 20px;
    padding: 20px 25px 20px 25px;
    margin-bottom: 1rem;
  }
  
  .type-root .type-poster-left-with-title h2 {
    text-align: center;
  }
  
  .type-root .type-poster-left2 {
    display: flex;
    flex-direction: row;
    color: #600;
    flex-shrink: 0;
    /* Prevents the container from shrinking */
    width: auto;
    /* A fixed width for the text box on desktop */
    min-width: 200px;
    gap: 1rem; 
  }
  
  @media (max-width: 1023px) {
    .type-root .type-poster-left2 {
      flex-direction: column;
    }
  }
  
  /* large text box with column format with center title */
  .type-root .type-poster-center {
    border: 1px solid #D43636;
    border-radius: 20px;
    padding: 20px 25px 20px 25px;
    margin-bottom: 1rem;
  }
  
  .type-root .type-poster-center h2 {
    text-align: center;
  }
  
  @media (max-width: 1023px) {
    .type-root .type-poster-left-center h2 {
      text-align: left;
    }
  }
  
  /* large screen */
  @media (min-width: 1024px) {
  
    .type-root .type-poster-alt,
    .type-root .type-poster-alt-row {
      display: none;
    }
  }
  
  /* small screen */
  @media (max-width: 1023px) {
  
    .type-root .type-poster-left,
    .type-root .type-poster-left1 {
      flex-direction: column;
    }
  }
  
  .type-root .type-poster-1 p,
  .type-root .type-poster-2 p,
  .type-root .type-poster-3 p,
  .type-root .type-poster-4 p {
    margin-top: 1rem;
    /* space between paragraphs */
  }
  
  /* poster_description with different width  */
  .type-root .type-poster-1,
  .type-root .type-poster-2,
  .type-root .type-poster-3,
  .type-root .type-poster-4 {
    border: 1px solid #D43636;
    border-radius: 20px;
    padding: 20px 25px 20px 25px;
    color: #600;
    flex-shrink: 0;
    /* Prevents the container from shrinking */
    min-width: 200px;
  }
  
  .type-root .type-poster-1 {
    width: 280px;
  }
  
  .type-root .type-poster-2 {
    width: 400px;
    margin-bottom: 1rem;
  }
  
  .type-root .type-poster-3 {
    width: 400px;
  }
  
  .type-root .type-poster-4 {
    flex: 1;
  }
  
  /* Change the poster_description with alternative*/
  @media (max-width: 1023px) {
  
    .type-root .type-poster-1,
    .type-root .type-poster-2,
    .type-root .type-poster-3,
    .type-root .type-poster-4 {
      display: none;
    }
  
    .type-root .type-poster-alt {
      display: flex;
      flex-direction: column;
      border: 1px solid #D43636;
      border-radius: 20px;
      padding: 20px 25px 20px 25px;
      color: #600;
      flex-shrink: 0;
      /* Prevents the container from shrinking */
      width: auto;
      /* A fixed width for the text box on desktop */
      min-width: 200px;
    }
  
    .type-root .type-poster-alt-row {
      display: flex;
      flex-direction: row;
      border: 1px solid #D43636;
      border-radius: 20px;
      padding: 20px 25px 20px 25px;
      color: #600;
      flex-shrink: 0;
      /* Prevents the container from shrinking */
      width: auto;
      /* A fixed width for the text box on desktop */
      min-width: 200px;
      /* text-align: center;
      justify-content: center; */
      gap: 2rem; 
    }
  
    .type-root .type-vertical-center {
      display: flex;
      align-items: center;
    }
  
    .type-root .type-poster-alt+.type-poster-alt {
      margin-top: 1rem;
    }
  
    .type-root .type-poster-alt-row+.type-poster-alt-row {
      margin-top: 1rem;
    }
  
    .type-root .type-poster-alt h3,
    .type-root .type-poster-left h3,
    .type-root .type-poster-1 h3 {
      margin-bottom: 1rem;
    }
  }

