/*
 * Started : 16-OCT-2025
 * Updated : 17-NOV-2025
 */

/*
 * This stylesheet accompanies: Building a static website Index page.
 */

*,
* ::before,
* ::after
{
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

body
{
   background-color: #e6e6ff;
   color: black;
   font-size: 110%;
   font-family: "Noto Sans", "Oxygen-Sans", Ubuntu, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
}

a:link
{
  text-decoration: none;
}

/* Use serif fonts for the headings. */
h1, h2, h3, h4
{
   font-family: "Noto Serif", "Times New Roman", Georgia, serif;
}

h1
{
   color: #1b0d9f;
   font-size: 3.0rem;
	line-height: 110%;
   margin-block-end: 25px;
}

h2
{
   font-size: 2.5rem;
   margin-block-end: 20px;
}

h3
{
   font-size: 2.0rem;
   margin-block-end: 20px;
   /* border: 1px solid blue; */
}

h4
{
   font-size: 1.6rem;
   margin-block-end: 20px;
}

p, pre, hr, ul, ol, table
{
   margin-block-end: 20px;
}

ul, ol
{
   /* If I don't add this, the bullets will not be in line with the rest of the text. */
   padding-inline-start: 20px;
}

article
{
   background-color: white;
   max-inline-size: 1000px;
   margin: 0 auto;
   padding-inline-start: 20px;
   padding-inline-end: 20px;
}

/* If the browser window is narrower than the intrinsic size of an image,
 * display it at 100% of the viewport, until that becomes wider than the intrinsic size of the image.
 * The setting of "display: block;" and "margin: 0 auto;" centres all images within <article> … </article>
 */
article img
{
   max-inline-size: 100%;
   display: block;
   margin: 0 auto;
}

header
{
   background-color: #052962;
   height: 100px; /* Set an arbitrary height. */
}

footer
{
   background-color: #052962;
   color: white; /* Make sure the text is visible against the background. */
}

/* For now, apply the CSS styles to every element inside the footer. */
footer *
{
   max-inline-size: 1000px;
   margin: 0px auto;
   padding: 20px;
}

/*
 * CSS for the top navigation menu.
 * We set the list not to display any visible bullets and reduce the
 * margin and padding 20 pixels.
 * The list element is set to display mode "inline", which means
 * the items in the list will appear next to each other.
 * We also set the width of the icon graphic to be 40 pixels.
 */
nav ul
{
   list-style-type: none;
   margin: 0;
   padding: 0;
   max-inline-size: 1000px;
   margin: 0 auto;
}

nav li
{
   display: inline;
}

nav img
{
   width: 40px;
}

/*
 * CSS to style the "published" section, which displays a small
 * calendar icon and the published and updated dates.
 * We simply set the height of the IMG element (which is the calendar icon)
 * to "1em", to match the font size.
 * Note the "display: inline;" is required because of the CSS used to centre images.
 */
.published img
{
   height: 1em;
   display: inline;
}

/*
 * This is the beginning of the CSS for a list of published articles.
 */
ul.article_list
{
   /* Do not display unordered list bullets */
   list-style-type: none;
   /* Make sure the list lines up on the left-hand side. */
   padding-inline-start: 0;
}

.article_list a:link
{
  text-decoration: none;
}

.article_list li
{
   /* Each list element is a flexbox container. */
   display: flex;
   /* This provides the visual separation between the rows. */
   border-block-end: 1px solid grey;
   /* Put some space between one row in the next (i.e. after the grey border). */
   margin-block-end: 10px;
}

.article_list li:last-child
{
   /* No extra space for the last list element. */
   margin-block-end: 0;
}

.article_list li img
{
   /* Give a specific width to the image. Means flexbox will not resize it. */
   width: 150px;
   /* Counteracts the "max-inline-size: 100%;" definition earlier in the CSS file. */
   max-inline-size: none;
}

/* Do not display the image on screen is narrower than 450 pixels. */
@media (max-width: 450px)
{
   .article_list li img
   {
      display: none;
   }
}

.summary
{
   /* Add space between the image and the text. */
   margin-inline-start: 10px;
   font-size: 0.8rem;
}

.summary h3
{
   margin-block-end: 10px;
   font-size: 1.6rem;
}

.summary p
{
   margin-block-end: 15px;
}
