<style>
    body {
        /* (min, preferred, max) NOTE: std font is 16px */
        font-size: clamp(15px, calc(14px + 1.2vw), 21px) !important;
    }
    img {
        width: 43vw;  /* 44% of the viewport width */
        height: auto; /* Maintain aspect ratio */
    }
    img.img3 {
        width: 28vw;  /* 3 pics on same row */
        height: auto;
    }
    img.imgw {
        width: 88vw;  /* matches width of 2 pics */
        height: auto; /* and full width of viewport */
    }
    img.plain {
       width: 14px;
       height: 22px;
       border:0px none;
    }
    img.star {
       width: 59px;
       height: 25px;
       border:0px none;
    }
    h3 {
        display: flex; /* Use flexbox layout */
        align-items: center; /* Vertically center items */
        font-size: -1;
    }
    ul, ol {
      margin-top: 0.5em;
      padding-left: 0;
      margin-left: 0;
      list-style-position: inside;
    }
    .reference::before {
        content: "\A Pops New Tab: "; /* \A is line break */
        white-space: pre; /* Ensures the line break is respected */
        font-weight: bold;
    }
    .date {
        margin-top: -0.4em;
        margin-left: .2em;
        font-size: clamp(9px, calc(9px + .5vw), 12px) !important;
    }
    p {
        margin-top: 0.25em;      /* Space before */
        margin-bottom: 0.25em;   /* Space after */
    }

/* Only apply max-width on screens wider than 1280px otherwise pics are HUGE! */
@media (min-width: 1280px) {
    img {
        max-width: 30vw;
    }
    
    img.img3 {
        max-width: 20vw;
    }
    
    img.imgw {
        max-width: 60vw;
    }

    /* Constrain text width on large screens */
    p {
        max-width: 60vw;
        margin-top: 0.25em;      /* Space before */
        margin-bottom: 0.25em;   /* Space after */
    }
}
</style>
