#home {
    position: relative;
    z-index: 5;
    width: 100%;
    height: 100%;
    /*background-color: #000000;
   opacity: 0;*/
}

#title {
    position: absolute;
    /* top: 368px;
    left: 236px; */
    top:45%;
    left:50%;
    transform :translate(-50%,-50%);
    font-family: "Inter-Regular", Helvetica;
    font-weight: 400;
    color: #004aac;
    /*font-size: 300%;*/
    font-size: clamp(15px, 1.5vw, 32px);/*calc(50% + 2vw);*/
    text-align: center;
    letter-spacing: 0;
    line-height: normal;
}

#guide {
    position: absolute;
    width: 393px;
    top:140%;
    left:50%;
    transform :translate(-50%,-50%);
    font-family: "Inter-Regular", Helvetica;
    font-weight: 400;
    color: #b9b9b9;
    font-size:  clamp(12px, 1.5vw, 32px);/*calc(25% + 1vw);*/
    text-align: center;
    letter-spacing: 0;
    line-height: normal;
}

#citeas{
    position: absolute;
    width: auto;
    bottom: 1%;
    left: 43px;
    font-family: "Inter-Bold", Helvetica;
    font-weight: 400;
    color: #000000;
    font-size: calc(50% + .25vw);
    letter-spacing: 0;
    line-height: normal;
}

/* When we’re in guidelines mode, pin it to the bottom of the right panel */
#citeas.guidelines {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    margin: 0;
    padding: 10px;       /* match panel padding */
    font-size: 14px;
    line-height: 1.4;
    white-space: normal; /* allow wrapping */
    color: #000000;   
}

#CCTLogo {
    position: absolute;
    width: 86px;
    height: 86px;
    top: 8px;
    left: 11px;
    object-fit: cover;
    z-index: 10;
}

#diagram {
    position: absolute;
    top:50%;
    left:50%;
    transform :translate(-50%,-50%);
    width: 50%;
    max-width: 950px;
    aspect-ratio: 1;
}

.item {
    position: absolute;
    width: 20%;
    aspect-ratio: 1;
    transition: transform 0.3s ease;
}

.item:hover {
    transform: scale(1.2);    
}

#circle {
    margin: auto;
    position: relative;
    width: 100%;
    height: 100%;
    background-color: #014aad;
    /*background-color: #d9d9d9;*/
    border-radius: 100%;
    box-shadow: 0.3s ease;
}

/* When the parent .item is hovered, add a circular glow to #circle */
.item:hover #circle {
    box-shadow: 0 0 15px rgba(0, 0, 0, 0.2);
}

#text-wrapper {
    text-align: center;
    position:absolute;
    top:50%;
    left:50%;
    padding: 0 5px;
    transform :translate(-50%,-50%);
    font-family: "Inter-Regular", Helvetica;
    font-weight: 400;
    color: #ffffff;
    font-size: clamp(12px, 1.5vw, 32px);/*12px;/*calc(50% + 1.5vw);*/
    letter-spacing: 0;
    line-height: normal;
    white-space: normal;
}

/* Style the container that holds the list */
#scroll {
  width: 50%;
  height: 100%;
  position: relative;
  overflow-y: auto;      /* Allow scrolling if the list gets too long */
  height: 100%;
  /*border-right: 1px solid #ccc;*/
  padding-top: 10%;
  padding-left: 10%;
  background-color: #f9f9f9;
}

/* Style each guideline item */
.gl-item {
  padding: 10px;
  margin-bottom: 5px;
  /* font-size: 14px; */
  font-size: 16px;
  font-family: "Inter-Bold", Helvetica;
  color: black;
  cursor: pointer;
  border-bottom: 1px solid #ddd;
  transition: background-color 0.2s ease;
}
/* Hover effect */
.gl-item:hover {
  background-color: #004aac;
  color: white;
}
.gl-item.active {
    background-color: #004aac;
    color: white;
    font-weight: bold;
}
#gl-name{
    color: white;
    cursor: pointer;
}
#gl{
    width: 100%;
    height: 100%;
    display: inline-flex;
}
#show{
    width:50%;
    height: 100%;
    background-color: #014aad;
}
#gln{
    color: white;
    padding: 10px;
}
#gl-title{
    font-size: 25px;
    font-family: "Inter-Bold", Helvetica;
    position: absolute;
    top: 5%;
    padding-left: 1%;
    padding-right: 1%;
}
#gl-desc{
    font-size: 20px;
    font-family: "Inter-Bold", Helvetica;
    position: absolute;
    top: 20%;
    padding-left: 1%;
    padding-right: 1%;
}
#gl-ref{
    font-size: 12px;
    font-family: "Inter-Bold", Helvetica;
    position: absolute;
    bottom: 10%;
    padding-left: 1%;
    padding-right: 1%;
}

/* ────────────── Breadcrumb ────────────── */
#breadcrumb {
    position: absolute;
    top: 8px;                       /* same vertical offset as logo */
    left: 110px;                    /* adjust so it sits just right of logo */
    height: 86px;                   /* match logo’s height */
    display: flex;                  /* use flex to center content vertically */
    align-items: center;            /* vertical centering */
    font-family: "Inter-Regular", Helvetica;
    font-size: clamp(16px, 2vw, 24px); /* responsive: min 16px, ideal 2vw, max 24px */
    color: #014aad;
    white-space: nowrap;
    z-index: 5;
}

/* Link styles */
#breadcrumb a {
    color: #014aad;
    text-decoration: none;
    opacity: 0.8;
    transition: opacity 0.2s;
}
#breadcrumb a:hover {
    opacity: 1;
}

/* Separator style */
#breadcrumb .sep {
    margin: 0 6px;
    opacity: 0.6;
/* inherit font-size so the “>” scales too */
}
/* ───────────────────────────────────────── */
/* ───────────── Info Box ───────────── */
#info-box {
    position: absolute;

    /* Logo sits at top:8px with height:86px → bottom edge is 8px + 86px = 94px */
    /* Then add 5% of viewport height (5vh) for the gap */
    top: calc(94px + 5vh);
    left: 0;
    
    /*transform: translate(-100%, -50%);*/
    transform: translateX(-100%);   /* only hide off-screen horizontally */

    width: 20%;
    height: fit-content;
    max-height: 90vh;
    /* max-height: 60vh;       cap at 60% of viewport height */
    overflow-y: auto;       /* scroll if content is taller */
    padding: 24px 12px;
    /*background: #014aad;*/
    background: rgba(1, 74, 173, 0.85);
    color: #fff;
    border-top-right-radius: 6px;
    border-bottom-right-radius: 6px;
    transition: transform 0.3s ease;
    z-index: 6;
}
#info-box.visible {
    transform: translateX(0);
}
#info-content {
    /* font-size: clamp(14px, 2vw, 20px);  */
    /* font-size: 16px; */
    font-size: 1.65vmin;
    line-height: 1.4;
    font-family: "Inter-Regular", Helvetica;
}
/* ───────────────────────────────────── */
/* ────────────── Welcome Box ────────────── */
#welcome-box {
    position: absolute;
    /* same vertical position as info-box */
    top: calc(94px + 5vh);
    right: 0;
  
    width: 20%;
    padding: 24px 12px;
    height: fit-content;
    max-height: 90vh;
    overflow-y: auto;
  
    background: rgba(1, 74, 173, 0.85);
    color: #fff;
    font-family: "Inter-Regular", Helvetica;
    line-height: 1.4;
  
    /* rounded on the left side */
    border-top-left-radius: 6px;
    border-bottom-left-radius: 6px;
  
    z-index: 6;
  }
  #welcome-box h2 {
    margin: 0 0 0.5em;      /* space below the heading */
    /* font-size: 20px; */
    font-size: 2vmin;
    font-weight: bold;
    line-height: 1.2;
    color: #ffffff;
  }
  
  /* Welcome box paragraph*/
  #welcome-box p {
    margin: 0;
    /* font-size: 16px; */
    font-size: 1.65vmin;
    line-height: 1.4;
  }
  #welcome-continue {
    display: none;
    }
  /* ───────────────────────────────────────── */

/* ────────────── Mobile Styles ────────────── */
  @media (max-width: 500px) {
    /* ────── Info/Welcome Boxes ────── */
    /* #info-box {
      width: 90%;
      left: 5% !important;
      right: 5% !important;
      top: calc(94px + 5vh);
      max-height: 60vh;                     
    } */

    /* Make them scrollable if content overflows */
    #info-box {
        display: none;          /* hide on mobile */
    }
    #info-content {
        /* font-size: clamp(14px, 2vw, 20px);  */
        /* font-size: 16px; */
        font-size: 1.8vh;
        line-height: 1.4;
        font-family: "Inter-Regular", Helvetica;
    }


    #welcome-box {
        /* span most of the width, with small side padding */
        width: 90%;
        left: 5% !important;
        right: 5% !important;
        /* sit under the logo + gap */
        top: calc(94px + 5vh);
        transform: translateX(0) !important; /* always visible */
        max-height: 60vh;                     /* constrain vertical space */
      }  
    
    #welcome-box {
      overflow-y: auto;
    }

    #welcome-box h2 {
        margin: 0 0 0.5em;      /* space below the heading */
        /* font-size: 20px; */
        font-size: 2vh;
        font-weight: bold;
        line-height: 1.2;
        color: #ffffff;
    }

    #welcome-box p {
        margin: 0;
        /* font-size: 16px; */
        font-size: 1.8vh;
        line-height: 1.4;
    }

    /* Style the Continue button in the welcome box */
    #welcome-box #welcome-continue {
        display: block;           /* so margins center it */
        margin: 1em auto 0;       /* 1em top, auto left/right, 0 bottom */
        padding: 0.6em 1.2em;     /* tweak as you like */
        font-size: 1rem;          /* matches mobile text scale */
        background: #fff;         /* contrasting */
        color: #014aad;           /* brand blue */
        border: none;
        border-radius: 4px;
        cursor: pointer;
    }

    #citeas{
        left: 11px !important;
    }
  
    /* ────── Guidelines Page Panels ────── */
    /* Stack the two panels vertically instead of side-by-side */
    #gl {    
        position: absolute;    
        margin-top: calc(94px + 5vh);
        display: flex;
        flex-direction: column;
        width: 100%;
        height: calc(100vh - (94px + 5vh));
        box-sizing: border-box;
    }

    
    #show #gln {
        display: flex;
        flex-direction: column;
        gap: 1em;              /* space between title, desc, refs */
        padding-bottom: 4em;
    }
  
    /* Force all inner sections back into the normal flow */
    #show #gln > * {
        position: static !important;
        top: auto    !important;
        bottom: auto !important;
        left: auto   !important;
        right: auto  !important;
        width: 100%;           /* fill the panel width */
        margin: 0;             /* gap is handled above */
    }

    /* Make both panels full-width, one after the other */
    #scroll {
        margin: 0; /* remove any leftover margins */
        /* margin-top: calc(94px + 5vh); */
        width: 100% !important;
        flex: 0 0 auto;
        max-height: 30vh;      /* adjust as needed */
        overflow-y: auto;
        padding: 1em;
        box-sizing: border-box;
        position: relative;
    }
    #show {
        width: 100% !important;
        flex: 1 1 auto;
        overflow-y: auto;
        padding: 1em;
        box-sizing: border-box;
        position: relative;
    }

    #show #citeas.guidelines {
        position: static !important;
        margin-top: 1em;
        padding: 0.5em 0;
        color: #fff;
    }
  
    /* ────── Breadcrumb under logo & wrap ────── */
    #breadcrumb {
      position: absolute;
      height: auto;  
      top: calc(94px + 1vh); /* just below logo + small gap */
      left: 50%;
      transform: translateX(-50%);
      width: 90%;            /* almost full width */
      white-space: normal;   /* allow wrapping */
      flex-wrap: wrap;
      justify-content: center;
    }
  
    /* If breadcrumb links run long, wrap onto multiple lines */
    #breadcrumb a,
    #breadcrumb .sep {
      display: inline-block;
      margin: 0.2em 0.3em;
    }
  
    /* And push the list down so breadcrumb sits above it */
    #scroll ul {
      margin-top: 2em; /* adjust as needed to clear the breadcrumb */
    }

}
