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

:root {
  --bg-lightest: #c9c2af; /* ahimsa/header */
  --bg-lighter: #c5baa5; /* main bg */
  --bg-light: #ada491; /* footer/gallery */
  --bg-dark: #38322c; /* ahimsa dark */
  --bg-darker: #2c2c2a; /* ahimsa dark */
  --bg-darkest: #151515; /* ahimsa dark */

  --bg-white: white; 
    
  --red: #cd6458; /* red for hovered buttons */
}

body {
  font-family: Helvetica;
  background: var(--bg-white); /* original: #f7f5ef;*/ /* darker: #c5baa5 */
  /* dacfba */
  display: flex;
  flex-direction: column;
  align-items: center;
}
  
  header ul, footer ul {
    list-style: none;
  }

  main, footer ul {
    display: flex;
  }


/* HEADER - GENERAL */

  header {
    position: fixed;
    top: 0;
    z-index: 10;
 
    background: var(--bg-white);
    width: 100%;
   /* font-size: 27px; */
    font-size: 20px;
  }

    header nav {
      white-space: nowrap;
      border-bottom: 1px solid black;
    }

    header nav>ul {
      display: flex;
      flex-wrap: nowrap;
      align-items: center;
      width: 100%;
      overflow-x: auto;
      background: var(--bg-white);
    }
  
    header nav li a {
      color: inherit;
      text-decoration: none;
      width: 100%;
      height: 100%;
      align-items: center;
      display: block;
     /* padding: 10px 20px;*/
      padding: 0 20px;
      border-right: 1px solid black;
    }

    header nav li {
      height: 55px;
    }

    header nav li a {
      display: flex;
      flex-wrap: nowrap;
      align-items: center;
    }
      header nav li:nth-of-type(1) a {
        gap: 15px;
      }
        @media (min-width: 1000px) {
          header nav li:nth-of-type(1) a {
            padding-left: 0;
            gap: 0;
          }
        }

    header nav li a:hover {
      background: var(--bg-darker);
      /* color: var(--red); */
      color: white;
    }  

/*
    header nav li:nth-of-type(1) a {
      background: var(--bg-darker);
      color: white;
    }
      header nav li:nth-of-type(1) a:hover {
        background: white;
        color: black;
      }
*/
    

/* HEADER - SN LOGO ON LEFT SIDE 
    header>section a {
      height: 100px;
      width: 100%;
      display: block;
      z-index: 15;
    }
*/

    header img {
      max-height: 70%/*55px*/; /* 80 minus 20 of padding */
      filter: grayscale(1) brightness(2) invert(1);
    }

    header nav li a:hover img {
      filter: none;
      /* filter: grayscale(1) brightness(2) invert(1); */
    }


  /* HEADER - RIGHT SIDE */

  header h1 {
    font-size: inherit;
    font-weight: normal;
    padding: 0;
    margin: 0;
  }
   
  main {
    margin-top: 60px;    /* Sets Main under Mobile Header */
  }

  /* HEADER on Desktop */

  @media (min-width: 1000px) {
      header {
       /* height: 55px;*/
        font-size: 29px;
      }

        header img {
          padding: 5px 20px;
          max-height: 55px;
        }
    /*
      header a {
        height: 55px;
      }
    */
    }


  /* MAIN SECTION */

  main {
    display: flex;
    max-width: 100%;
    flex-direction: column;
    justify-content: center;
    min-height: calc(100vh - 100px);
    line-height: 1.6;
    padding: 1em 1em 100px;

    font-family: initial;
    font-size: 18px;
  }

    @media (min-width: 1000px) {
      main {
        max-width: 620px;
        margin-top: 100px;
        padding: 0;
      }
    }

  main img {
    max-width: 100%;
  }

  main h1, main h2 {
   /* text-transform: uppercase;
    font-weight: normal; */
  }

  main h1 {
    padding: 1em 0 0.5em;
    /*font-size: 24px;*/
  }

main h2 {
  padding: 2em 0 1em;
  /*font-size: 20px;*/
}

main h3 {
  padding: 1em 0 0.5em;
 /* font-size: inherit;
  font-style: italic; */
}

main p {
  padding: 0.9em 0;
}

  main ul {
    padding: 1em 1.5em;
  }

  footer { 
    width: 100%;
    font-size: 14px;
    background: var(--bg-white);
    display: flex;
    flex-direction: column;
    justify-content: center;
  }
    @media (min-width: 1000px) {
      footer {
        margin-top: 100px;
        flex-direction: row;
        border-top: 1px solid black;
      }
    }

  footer .right {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 50px 20px;
  }
    @media (min-width: 1000px) {
      footer .right {
        padding: 50px;
      }
    }

  footer .right p {
    font-size: 20px;
  }

  footer .right ul img {
    max-height: 30px;
    transition: 0.3s ease;
  }
    footer .right ul img:hover {
      opacity: 0.6;  
    }

  footer .right .fsocial {
    filter: opacity(0.6);
  }

  footer .right .signal {
    filter: invert(100) opacity(0.6);
  }

  
  footer .right ul {
    justify-content: space-between;
    align-items: center;
    padding: 5px 0;
   
  }
  footer .right ul>ul {
    gap: 10px;
  }

  footer .right>ul {
    width: 100%;
    border-top: 1px solid black;
    margin-bottom: 70px;
    margin-top: 40px;
  }

  footer .left {
    background: var(--bg-darkest);
    
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    color: #c5baa5;
  }

  @media (min-width: 1000px) {
    footer .left {
      width: 35%;
      /* filter: invert(1) sepia(0.3) opacity(0.5) brightness(0.9);*/
    }
    footer .right {
      width: 65%;
    }
  }

  @media (max-width: 1000px) {
    footer .left {
    /*  filter: invert(1) sepia(0.3) opacity(0.5) brightness(0.9);*/
    }
  }

  footer .left img {
    width: 80%;
    padding: 50px 0;
  } 

  .desaturate {
    filter: saturate(0.1);
  }

  ::selection {
    background: var(--bg-darker);
    color: var(--bg-light);
  }


  pre {
    margin-top: 50px;
  }

  code {
    font-size: 16px;
    overflow-x: auto;
    display: block;
  }


  main a {
    color: inherit;
  }

  main a:hover {
    background: var(--bg-darker);
    color: var(--bg-white);
    text-decoration: none;
  }

  main ul, main ol {
    padding-left: 1.5em;
  }

main h1, h2, h3, h4 {
    text-align: center;
}

main h3 {
    margin-top: 20px;
}

  .roman {
    list-style-type: upper-roman;
  }

  .center {
    text-align: center;
  }

  .center-img {
    margin: 0 auto;
    max-width: 100%;
    display: block;
  }

  hr {
    margin: 50px 0;
    height: 1px !important;
    background-color: black;
    border: none;
  }

  .subtext {
    font-size: 14px;
    padding-top: 40px;
  }

  blockquote {
    padding: 20px 30px 20px;
  }

  .subtext blockquote {
    padding: 0 10px;
  }

  .subtext p {
    padding: 0;
  }