/* Created by N'chaka Benjamin */

/* General styles and major block level elements */

/* All styling here are for medium size screens */

@import "fonts.css";

body {
	font-family: Impact, Haettenschweiler, 'Arial Narrow Bold', sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
  margin-left: auto;
  margin-right: auto;
  background-color: hsl(0, 0%, 93%);
  color: black;
  box-sizing: border-box;
  text-align: center;
  letter-spacing: 0.1rem;
  min-height: 110vh;
}

.pattern {
  --s: 2rem; /* control the size */
  --_g: 
  hsla(0, 0%, 0%, 0) calc(-650%/13) calc(50%/13),var(--c) 0 calc(100%/13),
  hsla(0, 0%, 0%, 0) 0 calc(150%/13),var(--c) 0 calc(200%/13),
  hsla(0, 0%, 0%, 0) 0 calc(250%/13),var(--c) 0 calc(300%/13);
  --_g0: repeating-linear-gradient( 45deg,var(--_g));
  --_g1: repeating-linear-gradient(-45deg,var(--_g));
  background:
    var(--_g0),var(--_g0) var(--s) var(--s),
    var(--_g1),var(--_g1) var(--s) var(--s) var(--d);
  background-size: calc(2*var(--s)) calc(2*var(--s));
}

.sea {
  position: relative;
  top: 2rem;
  left: 0;
  width: 100%;
  height: 2rem;
  --s: 2rem; /* control the size */
  --c1: hsla(193, 54%, 95%, 0.5);
  --c2: hsla(196, 53%, 90%, 0.5);
  --c3: hsla(195, 53%, 85%, 0.5);
  --c4: hsl(0, 0%, 0%, 0);
  border-top: 0.25rem solid hsla(240, 100%, 95%, 0.5);
  --_g: 
    var(--c4) 25%, 
    var(--c3) 47%,
    var(--c1)  53% 147%,
    var(--c2) 153% 247%,
    var(--c1) 253% 347%,
    var(--c2) 353% 447%,
    var(--c1) 453% 547%,
    var(--c3) 553%,
    var(--c4) 575%;
  --_s: calc(25%/3) calc(25%/4) at 50%; 
  background:
    radial-gradient(
      var(--_s) 100%, 
      var(--_g)
    ),
    radial-gradient(
      var(--_s) 100%,
      var(--_g)) calc(var(--s)/2) calc(3 * var(--s)/4
    ),
    radial-gradient(
      var(--_s) 0,
      var(--_g)) calc(var(--s)/2
    ) 0,
    radial-gradient(
      var(--_s) 0,
      var(--_g)) 0 calc(3 * var(--s)/4
    ),
    repeating-linear-gradient(
      0,
      var(--c2) calc(25%/-6) calc(25%/6), 
      var(--c1) 0 calc(25%/2)
    );
  background-size: var(--s) calc(3 * var(--s)/2);
  animation: g4 3s infinite linear;
} 

@keyframes g4 {
  to {
    background-position:
      var(--s) 0,
      calc(var(--s)/-2) calc(3*var(--s)/4),
      calc(3*var(--s)/2) 0,
      calc(-1*var(--s)) calc(3*var(--s)/4),
      0 0
  }
}

.forest {
  overflow: hidden;
  margin: auto;
  border-bottom: 0.15rem solid hsl(89, 58%, 21%);
}

.forest-container {
  display: flex;
  justify-content: space-around;
  margin: auto;
  flex-wrap: nowrap;
  margin-left: -1rem;
  background: -moz-linear-gradient(top, hsla(0, 0%, 50%, 0) 0%, hsla(68 12% 40% / 0.1) 100%);
  background: -webkit-linear-gradient(top, hsla(62, 70%, 70%, 0) 0%, hsla(68, 67%, 36%, 0.3) 100%);
  background: linear-gradient(to bottom, hsla(62, 70%, 70%, 0) 0%, hsla(68, 67%, 36%, 0.55) 100%);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00e5e87e', endColorstr='#899a1e',GradientType=0 );
}

.back {
  margin-bottom: 1.3rem !important;
  z-index: 20 !important;
  border-bottom-color: hsl(86, 22%, 50%) !important;
}

.middle {
  margin-bottom: .75rem !important;
  z-index: 30 !important;
  border-bottom-color: hsl(88, 55%, 26%) !important;
}

.tree-extra-large {
  width: 0; 
  height: 0; 
  border-left: 1rem solid transparent;
  border-right: 1rem solid transparent;
  border-bottom: 3.25rem solid hsl(89, 58%, 21%);
  margin-top: auto;
  margin-right: -0.9rem;
  z-index: 50;
}

.tree-large {
  display: inherit;
  width: 0; 
  height: 0; 
  border-left: 0.5rem solid transparent;
  border-right: 0.5rem solid transparent;
  border-bottom: 3.25rem solid hsl(89, 58%, 21%);
  margin-top:auto;
  margin-right: -1.5rem;
  z-index: 50;
}

.tree-medium {
  width: 0; 
  height: 0; 
  border-left: 0.65rem solid transparent;
  border-right: 0.65rem solid transparent;
  border-bottom: 3rem solid hsl(89, 58%, 21%);
  margin-top: auto;
  margin-right: -1rem;
  z-index: 50;
}

.tree-small {
  width: 0; 
  height: 0; 
  border-left: 0.5rem solid transparent;
  border-right: 0.5rem solid transparent;
  border-bottom: 2.5rem solid hsl(89, 58%, 21%);
  margin-top: auto;
  margin-right: -1.5rem;
  z-index: 50;
}

#progress.pattern{
  --c: hsl(336, 40%, 24%);
  --d: hsl(350, 65%, 46%);
  margin: 0;
  padding: 0;
  position: fixed;
  z-index: 30;
  top: 0;
  left: 0;
  width: 100%;
  height: 0.5rem;
}

#progress div{
  position: absolute;
  top: 0;
  left: 0;
  background-color: hsl(210, 63%, 48%);
  width: 0;
  height: 100%;
}

.horizon{
  position: relative;
  top: 2rem;
  left: 0;
  width: 100%;
  height: 4rem;
  background-color: hsl(60, 54%, 95%);
  border-bottom: 0.25rem solid hsla(240, 100%, 95%, 0.25);
  background: linear-gradient(to bottom, hsl(0, 0%, 93%) 0%,hsl(60, 54%, 95%) 50%);
}

.boat{
  width: 7rem;
  height: 1.5rem;
  position: relative;
  top: 3.5rem;
  left: 2rem;
  z-index: 10;
  -webkit-animation: linear infinite;
  -webkit-animation-name: sail;
  -webkit-animation-duration: 60s;
  animation: linear infinite;
  animation-name: sail;
  animation-duration: 60s;
}

@-webkit-keyframes sail {
  0% {
    transform: translateX(-75vw);
  }
  100% {
    transform: translateX(150vw); 
  }
}

@keyframes sail {
  0% {
    transform: translateX(-75vw);
  }
  100% {
    transform: translateX(150vw);
  }
}

.boat div{
  position: absolute;
}

.boat div:nth-of-type(1){
  top: 0;
  left: 10%;
  width: 40%;
  background-color: white;
  height: 0.5rem;
  transform: perspective(5px) rotateX(1deg);
  box-shadow: 0.125rem 0.125rem 0.3125rem hsl(0, 0%, 80%);
  border-top: 0.15rem solid black;
  border-right: 0.5rem solid black;
}

.boat div:nth-of-type(2){
  top: 0.5rem;
  left: 0;
  width: 60%;
  background-color: white;
  height: 0.5rem;
  transform: perspective(5px) rotateX(1deg);
  box-shadow: 0.125rem 0.125rem 0.3125rem hsl(0, 0%, 80%);
  border-top: 0.15rem solid black;
  border-left: 1rem solid black;
}

.boat div:nth-of-type(3){
  bottom: 0;
  left: -5%;
  width: 110%;
  height: 0;
  height: 0.5rem;
  background-color: hsl(210, 63%, 48%);
  transform: perspective(5px) rotateX(-1deg);
  border-top: 0.15rem solid black;
}

h1.pattern{
  --c: hsl(0, 0%, 94%);
  --d: hsl(0, 0%, 95%);
}

#njb-logo,
h1 span{
  display: inline-block;
  width: 1.5rem;
  height: 1.5rem;
}

#njb-logo{
  position: relative;
  top: 0;
}

h1 #njb-logo span{
  position: absolute;
  -moz-border-radius: 50%;
  -webkit-border-radius: 50%;
  border-radius: 50%;
}

h1 #njb-logo span:nth-last-of-type(1){
  top: -0.5rem;
  left: -0.5rem;
  width: 1rem;
  height: 1rem;
  background-color: hsl(210, 63%, 48%);
  z-index: 10;
  border: 0.25rem solid hsl(0, 100%, 50%);
}

h1 #njb-logo span:nth-last-of-type(2){
  bottom: -0.5rem;
  right: -0.5rem;
  background-color: hsl(0, 100%, 50%);
  z-index: 20;
  border: 0.25rem solid hsl(210, 63%, 48%);
}

nav{
  position: fixed;
  z-index: 30;
  top: 0.5rem;
  left: 0;
  width: 100%;
  height: 2rem;
  font-size: 1rem;
  line-height: 1.75rem;
  background-color: #e6e6e6;
}

a {
  color: red;
  display: inline-block;
  margin-left: 0.25rem;
  margin-right: 0.25rem;
  text-decoration: none;
}

nav a.current-page{
  text-decoration: underline;
}

h1,h2,h3{
  color: hsl(0, 100%, 10%);
  margin: 1rem 0;
  padding: 1rem;
  border-top: 0.0625rem solid hsl(0, 0%, 93%);
  border-bottom: 0.0625rem solid hsl(0, 0%, 93%);
  background: hsl(0, 0%, 95%);
}

h1{
  font-size: 2rem;
  line-height: 3rem;
  margin-top: 3rem;
  text-transform: uppercase;
}

h1.njb strong{
  margin-left: 1rem;
}

h2{
  font-size: 1.8rem;
  line-height: 2.65rem;
}

h3{
  font-size: 1.6rem;
  line-height: 1.8rem;
}

ul li{
  padding: 0.5rem;
  line-height: 1.5rem;
  border-bottom: 0.0625rem solid hsl(0, 0%, 95%);
}

ul li:last-of-type{
  border-bottom: unset;
}

p{
  margin: 1rem;
  padding: 1rem;
  line-height: 2.25rem;
}

sup{
  vertical-align: super;
  font-size: smaller;
}

footer{
  overflow-x: hidden;
}

footer #contact-info{
  font-size: 0.75rem;
}

footer #contact-info div{
  padding: 1rem;
}

/* Large */

@media screen and (min-width: 900px){
  html{
    font-size: 32px;
  }
}

/* Medium */

@media screen and (max-width: 900px){
  html{
    font-size: 22px;
  }
}

/* Small */

@media screen and (max-width: 480px){
  html{
    font-size: 20px;
    line-height: 1.6rem;
  }

  nav{
    font-size: 0.75rem;
  }

  h1,h2,h3{
    font-size: 1.5rem;
  }

  .sea{
    --s: 3rem;
  }
}