/* 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: #5e3163;  /* deep purple */
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";

}

.common{
  padding: 20px;
}

.logo-banner {
  grid-area: logo-banner;
  display: flex;
  align-content: flex-start;
  align-items: center;
}

nav {
  grid-area: nav;
  display: flex;
  align-content: flex-start;
  align-items: baseline;
  padding-left: 20px;
}


.log-in-out{
  grid-area: log-in-out;
  display: flex;
  justify-content: flex-end;
  margin-right: 20px;
  align-items: baseline;
}

main{
  grid-area: main;
}

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;

}

.center-image{
    display: flex;
    justify-content: center;
}

.msg-image{
  display: block;   /* allows image to be centered correctly*/
  width: 250px;
  margin: auto;
  padding: 10px;

}

h1 {
  font-size: 300%;
}

h2 {
  font-size: 200%;
}

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
{
    border-radius: 10px;
    max-width: 350px;
    align-self: center;   /* prevents image being distorted */
}

.error {
  background-color: #F7BEBE;
  color: #660000;
  border: 2px solid #660000;
  padding: 20px;
  border-radius: 10px;
}

.all-credits{
  display: flex;
  justify-content: start;
  column-gap: 30px;
}

a.credits{
  color: #cba7cf;
  font-weight: bold;
}

a.credits:visited{
  color: #c6c6c6;
}

/* Remember to put hover rule after link / visited! */
a.credits:hover{
  color: #FCD495;
}


/* 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;
}

a.nav-button:link, a.nav-button:visited {
    color: #000;
    background-color: #cba7cf;
}

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 {
  display: none;
  /* padding: 20px; */
  color: #000;
  border-radius: 5px;
}

nav {
  display: flex;
  flex-direction: row;
  align-content: start;
  justify-content: flex-start;
}

.nav-items {
  display: flex;
  color: #000;
  overflow: visible;
  height: 40px;

}

.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 div a:hover{
  color: #FCD495;
}


/* Icon Page styling... */

a.legend {
  text-decoration: none;
  color: #5e3163;
  font-size: 125%;
  padding: 5px;
}

.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 {
  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 {
  display: flex;
  align-items: center;
}

.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;
}


@media screen and (max-width: 1380px) {
  
  .nav-items {
    display: none;
    flex-direction: column;
    padding: 10px;
    border-radius: 5px;
    height: auto;
  }

  .nav-items.show {
  display: flex;
  align-content: flex-start;
  justify-content: flex-start;
}


  .hamburger {
    display: inline-block;
    padding: 10px;
    margin-right: 10px;
    font-size: 150%;
  }


  .nav-combo {
    background-color: #cba7cf;
    border-radius: 5px;
  }


}

