  @import url('https://fonts.googleapis.com/css2?family=Bebas+Neue&display=swap');
  html {
    box-sizing: border-box;
  }
  
  body {
    margin: 0;
    /* padding: 0; */
    min-height: 100vh;
    /* w/out setting height, will move right then back on load/reload as scroll bar disappears and returns */
    font-family: Bebas Neue, sans-serif;
    background: whitesmoke;
  }
  
  h1 {
    text-align: center;
    margin-top: 30px;
    margin-bottom: 15px;
    font-size: 40px;
    letter-spacing: 4px;
  }
  /* Loader */
  
  .loader {
    position: fixed;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    background: rgba(255, 255, 255, 0.8);
    opacity: 0.5;
    /* below is mine. Loader gets more blurry as more pages load, then fades out */
    filter: blur(2px);
    /* Or blur actually is set in script */
    transition: opacity 0.3s ease-out;
  }
  
  .loader img {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
  }
  
  .loader.hidden {
    opacity: 0;
  }
  /* */
  /*  Search fields (adapted from Hidden Search app) */
  
  .search {
    position: absolute;
    top: 5px;
    right: 5px;
    /* right: 10px; */
    height: 1.2em;
    /* display: flex;
    justify-content: flex-end; */
  }
  
  .search .input {
    background-color: whitesmoke;
    border: 0;
    font-size: 18px;
    padding: 15px;
    height: 50px;
    width: 50px;
    transition: width 0.3s ease;
    height: 100%;
    padding: 3px 15px;
  }
  
  .btn {
    /* background-color: #fff; */
    border: 0;
    cursor: pointer;
    font-size: 24px;
    /* fa search icon inherits this, and, it would seem, centers itself in its container */
    position: absolute;
    top: 0;
    left: 0;
    left: 2%;
    height: 50px;
    width: 50px;
    transition: transform 0.3s ease;
    background-color: whitesmoke;
    height: 100%;
    /* right: 20px;
    right: 5%; */
    opacity: 0.2;
  }
  
  .btn:focus,
  .input:focus {
    outline: none;
  }
  
  .search.active .input {
    background: white;
    width: 200px;
  }
  
  .search.active .btn {
    /* transform: translateX(198px); */
    transform: translateX(170px);
    /* opacity: 0.7; */
    /* opacity: 1; */
  }
  /* Image Container */
  
  .image-container {
    margin: 10px 30%;
  }
  
  .image-container img {
    width: 100%;
    margin-top: 5px;
  }
  /* Media Query: Large Smartphone */
  
  @media screen and (max-width: 600px) {
    h1 {
      font-size: 30px
    }
    .image-container {
      margin: 10px;
    }
  }
  
  @media screen and (max-width: 450px) {
    h1 {
      font-size: 24px
    }
  }