html {
    font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
    font: Helvetica Neue, sans-serif;
    --font-scale:100%;
    font-size:var(--font-scale);
    font-optical-sizing: auto;
    font-style:normal;


    --typography-size-h1: 2.986rem;
    --typography-size-h2: 2.488rem;
    --typography-size-h3: 2.074rem;
    --typography-size-h4: 1.728rem;
    --typography-size-h5: 1.44rem
    --typography-size-h6: 1.2rem;
    --typography-size-default: 1rem;
    --typography-size-small: 0.833rem;
    
    

    margin:0%;
    padding:0%;
    
    --nav-width:100%;

}





:root {
--bg-dark: oklch(0.955 0.01 235);
--bg: oklch(0.97 0.008 235);
--bg-light: oklch(0.99 0.006 235);
--text: oklch(0.2 0.01 235);
--text-muted: oklch(0.5 0.01 235);
--highlight: oklch(1 0 235);
--border: oklch(0.82 0.01 235);
--border-muted: oklch(0.88 0.008 235);
--primary: oklch(0.55 0.12 245);
--secondary: oklch(0.5 0.1 265);
--danger: oklch(0.55 0.12 25);
--warning: oklch(0.65 0.12 95);
--success: oklch(0.6 0.12 155);
--info: oklch(0.6 0.12 245);


--shadow-strong: oklch(0.18 0.02 240 / 0.18);






}


body {
  background: var(--bg-dark);
}

h1 {font-size: var(--typography-size-h1);}
h2 {font-size: var(--typography-size-h2);}
h3 {font-size: var(--typography-size-h3);}
h4 {font-size: var(--typography-size-h4);}
h5 {font-size: var(--typography-size-h5);}
h6 {font-size: var(--typography-size-h6);}
p {font-size: var(--typography-size-default);}




.parent {
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: 3rem 1fr;

    width:100%;
    height:100%;
    padding:10px;

    justify-items: center;
    align-items: flex-start;

}

/* DESKTOP viewport*/
@media (min-width:1024px) {
  html{--font-scale:100%;
  --nav-width: clamp(18%, 20%, 30%);
    #open-sidebar-button{
      width: 18%;
    }
  }
  
  
  
}   

/* TABLET viewport*/
@media (max-width:1024px) {
  html{--font-scale:90%;
    --nav-width: clamp(32%, 35%, 40%);
    #open-sidebar-button{
      width: 18%;
    }
  }
  
}

/* PHONE viewport*/
@media (max-width:850px) {
  html{--font-scale:80%;
    --nav-width: clamp(18%, 30%, 32%);
    #open-sidebar-button{
      width: 18%;
    }
  }
  
}


/* PHONE viewport*/
@media (max-width:420px) {
  html{--font-scale:80%;
    --nav-width: clamp(100%, 100%, 100%);
    #open-sidebar-button{
      width: 20%;
    }
  }
  
}



nav { 

    display: flex;
    flex-direction: column;
    align-items: center;
    

    width:20%;

}

.links-container{
  height:100%;
  width:var(--nav-width);
  flex-grow:1;
  flex-shrink:1;
  
  display:flex;
  flex-direction:column;
  align-items:center;

  gap: 0.1rem;
  padding:0.4rem;


  position:fixed;
  top:0;
  left:-105%;
  z-index:10;
  background-color: var(--bg);
  box-shadow: 5px 0px 5px rgba(0,0,0,0.25);

  transition: 0.75s ease-in-out;
  
}

#sidebar-active{
  display:none;
}


#sidebar-active:checked ~ .links-container{
  left:0;
}

#sidebar-active:checked ~ #open-sidebar-button{
  display: none;
}

#sidebar-active:checked ~ #overlay{
  height:100%;
  width:100%;
  position: fixed;

  top:0;
  left:0;

  z-index:9;
  
}

.nav-card{
  
  background: var(--bg);
  color: var(--text-muted);
  border-radius: 1rem;

  margin:0;
  
  width:100%;
  

  height:3rem;
}

/* Reset buttons so they don't fight your design */
button {
  font: inherit;
  color: inherit;
  background: transparent;
  border: 0;
  padding: 0;
}

/* Make nav buttons behave like the card surface */
.nav-card > button {
  display: block;
  width: 100%;
  height: 100%;

  text-align: left;
  cursor: pointer;

  /* Put the card padding here (so the clickable area matches) */
  padding: 0.9rem 1rem;

  /* Optional: keep the same rounding so it feels unified */
  border-radius: 1rem;
}

.nav-card > button:hover {
  background: var(--bg-light);
  transform: scale(1.03);
  box-shadow: 0 4px 10px var(--shadow-strong);
  
  transition:ease-in-out 0.25s;
}

/* Keyboard focus (important) */
.nav-card > button:focus-visible {
  outline: 2px solid var(--primary);
  outline-offset: 3px;
}

.nav-card > label:hover {
  background: var(--bg-light);
  transform: scale(1.03);
  box-shadow: 0 4px 10px var(--shadow-strong);
  
  transition:ease-in-out 0.25s;
}

/* Keyboard focus (important) */
.nav-card > label:focus-visible {
  outline: 2px solid var(--primary);
  outline-offset: 3px;
}

.nav-card label {
  display: flex;
  align-items: center;

  width: 100%;
  height: 100%;

  cursor: pointer;
  
  

  /* Optional: keep the same rounding so it feels unified */
  border-radius: 1rem;
}

.nav-card > label svg {
  pointer-events: none;
  
}



.nav-card h4{
  margin-top:0%;
  margin-left:0%;
  margin-right:2%;
  margin-bottom:0%;

  white-space: nowrap;
  overflow:hidden;
  text-overflow: ellipsis;

}


#content {
  display:flex;
  flex-flow: row wrap;
  justify-content: space-evenly;
  align-items: flex-start;
  align-content: flex-start;
  row-gap: 0.4rem;;
  column-gap: 0.4rem;

  padding: 2rem;
  width:100%;
  flex-grow: 1;
  flex-shrink:1;

  color: var(--text);
}



.content-header-card {
  color: var(--text);
  width:100%;
  padding-left: 1rem;
  overflow-wrap: noramal;
}
.content-header-card h1 {
  padding:0%;
  margin-bottom: 0%;
}
.content-header-card h4{
  margin-top:0%;
  padding-left:0.5rem;
  
}

.content-card {
  border: 0.1rem solid var(--border-muted);
  background-color: var(--bg);
  border-radius: 1rem;
  color: var(--text-muted);

  flex-shrink:0;
  
  padding-left: 2%;
  padding-top:2%;
  padding-right: 2%;
  padding-bottom: 2.4%;

}
.content-card h3{
  margin-top:0%;
  margin-bottom:3%;
  margin-right:0%;
  overflow-wrap: normal;
}
.content-card p{
  margin-top:0%;
  margin-bottom:0%;
  overflow-wrap: normal;
}

article iframe {
  width: 100%;
  height: 90vh;
  border: none;
}

.pdf-article {
  width: 100%;
}

.pdf-article iframe {
  width: 100%;
  height: 90vh;
  border: none;
}

img {
  max-width: 100%;
  height: auto;
  display: block;
  margin-top:0.5rem;
}

/* .open-sidebar-button {
  position: fixed;
  top: 0;
  left:0;
  display: flex;
  align-items: center;
  flex-shrink:1;
  flex-grow:1;

  width: 35%;
  height: 3rem;;

  padding: 0.9rem 1rem;

  cursor: pointer;
  
  border-radius: 1rem;

} */

#open-sidebar-button{
  display:flex;
  position: fixed;
  top: 0.4rem;
  left:0.5rem;
  width:var(--nav-width);
  height:3rem;
  z-index:11;
  background-color: transparent;
  
}

.open-sidebar-button:hover {
  background: var(--bg-light);
  transform: scale(1.03);
  box-shadow: 0 4px 10px var(--shadow-strong);
  
  transition:ease-in-out 0.25s;
}

/* Keyboard focus (important) */
.open-sidebar-button:focus-visible {
  outline: 2px solid var(--primary);
  outline-offset: 3px;
}

.open-sidebar-button label {
  display: flex;
  align-items: center;

  width: 100%;
  height: 100%;

  cursor: pointer;

  
}

.open-sidebar-button svg {
  pointer-events: none;
}



div-block-24 {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  grid-column-gap: 6px;
  grid-row-gap: 6px;
  font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif;
  
}

div-block-24 img {
  transition: ease-in-out 0.1s;
}
div-block-24 img:nth-child(1){transition-delay: 0.1s;}
div-block-24 img:nth-child(2){transition-delay: 0.2s;}
div-block-24 img:nth-child(3){transition-delay: 0.3s;}

.div-block-24.secondary {
  margin-top: 12px;
  margin-bottom: 12px;
  grid-column-gap: 12px;
  grid-row-gap: 12px;
}

.div-block-25 {
  padding-top: 15px;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  line-height: 22px;
}

.text-block-7._2 {
  font-size: 22px;
  line-height: 30px;
  font-weight: 700;
}

._22-link.secondary {
  background-image: none;
  opacity: 0.69;
  color: rgba(0, 0, 0, 0.7);
  background-clip: border-box;
  -webkit-text-fill-color: inherit;
}

._22-link.secondary:hover {
  opacity: 0.5;
}

._22-link.secondary:visited {
  color: rgba(0, 0, 0, 0.74);
}

.grid-item { 
  width: 300px; 
  img{
    width:100%;
    border-radius: 0.2rem;

  }
}




.footerr {
  display:grid;
  width:100%;

  text-align:end;
  padding: 1rem;
  color: var(--text-muted);
  font-style: italic;
  font-size: var(--typography-size-small);
}