/* html, body styling ensures page fills viewport */

@import url('https://fonts.googleapis.com/css2?family=IM+Fell+English:ital@0;1&family=Libre+Baskerville:ital,wght@0,400;0,700;1,400&display=swap');

html, body{
margin: auto;
padding: 0;
height: 100%;   /* makes footer stick to bottom */
margin: 0;

background-color: #ff0000;  /* red */
color: #ffffff;

font-family: "Libre Baskerville", serif;

}


/* Grid set up */
.wrapper {
  min-height: 100%;
  display: grid;

  grid-template-columns: auto auto;
  grid-template-rows: auto auto 1fr auto;

  grid-template-areas:
  "logo-banner logo-banner "
  "nav log-in-out"
  "main main"
  "footer footer";

}

/* reusable padding class */
.common{
  padding: 20px;
}

/* logo banner grid area layout */
.logo-banner {
  grid-area: logo-banner;
  display: flex;
  align-content: flex-start;
  align-items: center;
}

/* nav grid area layout */
nav {
  grid-area: nav;
  display: flex;
  align-content: flex-start;
  align-items: baseline;
  padding-left: 20px;
}


/* log in/out area layout */
.log-in-out{
  grid-area: log-in-out;
  display: flex;
  justify-content: flex-end;
  margin-right: 20px;
  align-items: baseline;
}

/* main content grid area */
main{
  grid-area: main;
}

/* footer grid area layout */
footer{
  grid-area: footer;
  background-color: #333;
  display: flex;
  justify-content: space-between;
}


/* Logo styling (white box, rounded corners) */
.logo-image {
    border-radius: 10px;
    background-color: white;
    margin-right: 20px;
    padding: 5px;
    padding-left: 30px;
    padding-right: 30px;
    height: 75px;
    width: auto;

}

/* centers an image horizontally */
.center-image{
    display: flex;
    justify-content: center;
}

.msg-image{
  display: block;   /* allows image to be centered correctly*/
  width: 250px;
  margin: auto;
  padding: 10px;

}

/* large heading text size */
h1 {
  font-size: 300%;
}

/* medium heading text size */
h2 {
  font-size: 200%;
}

/* larger heading style for search page */
h2.search-heading {
  font-size: 250%;
  margin-bottom: auto;
}

/*  wrapper to hold cards and message used on confirm delete page for example. */
.single-holder, .no-results-message {
  display: flex;
  justify-content: start;
  column-gap: 10px;
}

.single-holder > * {
  max-width: 450px;       /* ensures cards/messages never exceed 450px */
}



/* error image styling */
.error-image
{
    border-radius: 10px;
    max-width: 350px;
    align-self: center;   /* prevents image being distorted */
}

/* error message box styling */
.error {
  background-color: #F7BEBE;
  color: #660000;
  border: 2px solid #660000;
  padding: 20px;
  border-radius: 10px;
}

/* row layout for credits list */
.all-credits{
  display: flex;
  justify-content: start;
  column-gap: 30px;
}

/* credit link default styling */
a.credits{
  color: #000000;
  font-weight: bold;
}

/* credit link visited state */
a.credits:visited{
  color: #c6c6c6;
}

/* Remember to put hover rule after link / visited! */
a.credits:hover{
  color: #777777;
}


/* Navigation Styling */
a.nav-button{
    border-radius: 5px;
    text-decoration: none;
    margin-right: 10px;
    padding: 10px;
    font-size: 150%;

    /* Make buttons resize to width of content */
    flex-shrink: 0;
    flex-grow: 0;
}

/* nav button default and visited state */
a.nav-button:link, a.nav-button:visited {
    color: #000;
    background-color: #920000;
}

/* nav button hover state */
a.nav-button:hover {
     background-color: #fcd495;
   
}

/* Style 'inactive' button (not clickable, has title) */
a.grey-button:link, a.grey-button:hover, a.grey-button:visited {
  background-color: #c6c6c6;
}

/* Hamburger css */

/* hamburger icon hidden by default */
.hamburger {
  display: none;
  /* padding: 20px; */
  color: #000;
  border-radius: 5px;
}

/* nav container row layout (overrides earlier nav rule) */
nav {
  display: flex;
  flex-direction: row;
  align-content: start;
  justify-content: flex-start;
}

/* nav items row layout */
.nav-items {
  display: flex;
  color: #000;
  overflow: visible;
  height: 40px;

}

/* duplicate credits layout rule (overrides earlier .all-credits) */
.all-credits{
  display: flex;
  column-gap: 40px;
  align-content: center;
}

/* Footer link styling (left hand side) */
footer div a {
  color: white;
  font-weight: bold;
  text-decoration: none;
  padding-right: 50px;
}

/* footer link hover state */
footer div a:hover{
  color: #FCD495;
}


/* Icon Page styling... */

/* icon legend link styling */
a.legend {
  text-decoration: none;
  color: #000000;
  font-size: 125%;
  padding: 5px;
}

/* icon list container styling */
.icon-list {
  display: grid;
  height: fit-content;

  padding: 10px;
  border-radius: 5px;
  color: #000;
  font-size: 150%;
  background-color: #fff;
}

/* Vertically aligns icon and image (which are inside the a tag) */
.legend {
  display: flex;
  align-items: center;
}

/* legend hover state */
.legend:hover {
  background-color: #FCD495;
}

.icon-list .row:nth-child(odd) {
  background-color: #dedede; /* Light gray for odd rows */
}

.icon-list .row:nth-child(even) {
  background-color: #fff; /* White for even rows */
}

/* row flex layout */
.row {
  display: flex;
  align-items: center;
}

/* tools container alignment */
.tools {
  display: flex;
  justify-content: flex-end;
  padding: 5px;
  background-color: #dedede;
  border-radius: 5px;
}

/* decrease spacing between delete / edit button */
.tools a.nav-button {
  margin-right: 0;
}


/* responsive styles for smaller screens */
@media screen and (max-width: 1380px) {
  
  /* hide nav items and stack vertically on small screens */
  .nav-items {
    display: none;
    flex-direction: column;
    padding: 10px;
    border-radius: 5px;
    height: auto;
  }

  /* show nav items when toggled open */
  .nav-items.show {
  display: flex;
  align-content: flex-start;
  justify-content: flex-start;
}


  /* show hamburger icon on small screens */
  .hamburger {
    display: inline-block;
    padding: 10px;
    margin-right: 10px;
    font-size: 150%;
  }

}