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

body {
  width: 100%;
  height: 100%;
  min-height: 100vh;
  position: relative;
  background-color: #443300;
  background-image: url("images/backgrounds/ChiliMac.png");
  color: white;
  /* }

body.main { */
  display: grid;
  justify-content: center;
  justify-items: center;
  /* align-items: center; */
  /* grid-template-areas:
    "header header header"
    "main main main"
    "leftside blog rightside"
    "footer footer footer"; */
  column-gap: 20px;
  grid-template-columns: 160px auto 160px;
  grid-template-rows: 10px;
  /* grid-template-rows: 10px repeat(2, minmax(auto, 1fr)); */
  padding: 0px 10%;
}

body::before {
  content: "";
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  /* min-height: 1vh; */
  position: absolute;
  /* width: 100%; */
  height: 100%;
  background-color: rgba(0, 0, 0, 0.4);
  z-index: -4;
  /* grid-row: 1/4; */
  /* background-color: red; */
  /* display: block; */
}

header {
  width: 800px;
  /* grid-area: header; */
  grid-column: 1 / 4;
  grid-row: 1 / 3;
  display: grid;
  /* grid: 9% / 52% 13% 10% 13% 12%; */
  grid: 9% / 52% 16% 16% 16%;
}

main {
  /* grid-area: main; */
  grid-column: 1 / 4;
  grid-row: 2/ 4;
  /* z-index: 1; */
  margin-bottom: -120px;
  display: block;
  /* width: 800px;
  overflow-x: visible; */
  max-width: 100vw;
  overflow-x: hidden;
  overflow-y: visible;
  height: 1050px;
  /* height: 100%; */
  /* overflow-x: hidden; */
  /* overflow-x: hidden;
  max-width: 100vw; */
  /* justify-content: baseline;
  align-content: baseline; */
}

main.daily {
  height: 800px;
  margin-bottom: -240px;
}

#leftside {
  /* grid-area: leftside; */
  grid-column: 1 / 1;
  grid-row: 4;
}

#blog {
  /* grid-area: blog; */
  grid-column: 2 / 2;
  grid-row: 4;
}

#rightside {
  grid-area: rightside;
  grid-column: 3 / 3;
  grid-row: 4;
}

footer {
  grid-area: footer;
  grid-column: 1 / 3;
  grid-row: 5;
}

.link div {
  /* text-indent: -200vw; */
  color: rgba(0, 0, 0, 0);
  /* background-color: whitesmoke; */
  /* border: blue 2px solid; */
  background-position: top left;
  text-align: center;
  /* Now how do I vertically align the text? */
  cursor: pointer;
  background-color: rgba(0, 0, 0, 0);
  /* background-color: red; */
  z-index: 3;
  /* overflow: visible;
  border-radius: 100%; */
}

.link {
  z-index: 3;
  border: none;
  text-decoration: none;
}

.link div::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  border-radius: 100%;
  background-color: rgba(0, 0, 0, 0);
  z-index: -1;
}

.link div:hover::before {
  background-color: rgba(255, 200, 200, 0.5);
}

.about {
  height: 38px;
  width: 104px;
  background-image: url("images/About.png");
}
.archive {
  margin-top: 25px;
  height: 41px;
  width: 96px;
  background-image: url("images/Archive.png");
}
.cast {
  margin-top: 10px;
  height: 36px;
  width: 80px;
  background-image: url("images/Cast.png");
}
.forum {
  margin-top: 45px;
  width: 83px;
  height: 43px;
  background-image: url("images/Forum.png");
}

#comicdiv {
  display: grid;
  grid-column: 780px;
  justify-items: center;
}

nav {
  display: grid;
  grid: 106px / 120px 120px 60px 120px 120px;
  z-index: 4;
}

#topnav {
  margin-bottom: 5px;
}

nav button {
  color: rgba(0, 0, 0, 0);
  border: none;
  width: 100%;
  height: 100%;
  background-repeat: no-repeat;
  background-position-y: bottom;
  background-color: rgba(0, 0, 0, 0);
  cursor: pointer;
  z-index: 4;
}

#bottomnav {
  margin-top: 5px;
}

#bottomnav button {
  background-position-y: top;
}

.firstbutton {
  background-image: url("images/First\ Button.png");
}
.prevlink {
  margin: 10px 0px 20px;
}
.prevbutton {
  background-image: url("images/Previous\ Button.png");
}
.weeklybutton {
  background-image: url("images/Weekly\ Button.png");
}
#bottomnav .weeklybutton {
  background-position-y: bottom;
  transform: scaleY(-1);
}
.nextlink {
  margin: 10px 0px 20px;
}
.nextbutton {
  background-image: url("images/Next\ Button.png");
}
.lastbutton {
  background-image: url("images/Last\ Button.png");
}

.firstbutton:hover {
  background-image: url("images/First\ Button\ Hover.png");
}
.prevbutton:hover {
  background-image: url("images/Previous\ Button\ Hover.png");
}
.weeklybutton:hover {
  background-image: url("images/Weekly\ Button\ Hover.png");
}
.nextbutton:hover {
  background-image: url("images/Next\ Button\ Hover.png");
}
.lastbutton:hover {
  background-image: url("images/Last\ Button\ Hover.png");
}

#bowltop {
  z-index: -2;
  width: 1500px;
  /* height: 820px; */
  background-color: #ddeeff;
  border-radius: 100%;
  /* margin: auto; */
  padding-top: 20px;
  /* position: absolute;
  left: 50vw; */
  transform: translateX(-750px);
  margin-left: 50vw;

  /* margin-bottom: 100px; */
  /* align-self: normal; */
}

.sunday #bowltop {
  height: 820px;
}

.daily #bowltop {
  height: 450px;
}

.weekly #bowltop {
  height: 2320px;
  width: 2300px;
}

#soup {
  z-index: -1;
  width: 1450px;
  /* height: 770px; */
  background-color: darkred;
  background: url("/images/backgrounds/BeefAndBarley.png");
  border-radius: 100%;
  margin: auto;
}

.sunday #soup {
  height: 770px;
}

.daily #soup {
  height: 400px;
}

.weekly #soup {
  height: 2270px;
  width: 2250px;
}

#comicdiv {
  transform: translateY(-25px);
}

#comic {
  position: relative;
  width: 760px;
  /* height: 610px; */
  padding: 5px;
  background-color: white;
  box-shadow: 0px 0px 5px 5px white;
  border-radius: 10px;
}

.sunday #comic {
  height: 610px;
}

.daily #comic {
  height: 253px;
}

.weekly #comic {
  height: 2098px;
}

#bowlback {
  /* position: relative; */
  position: relative;

  /* margin: auto; */
  z-index: -3;
  width: 1500px;
  height: 500px;
  /* transform: translateX(-750px); */
  margin-left: 50vw;
  /* background-color: red; */
  background-image: linear-gradient(to right, #aabbcc, #667788);
  /* margin-bottom: -100px; */
  /* border-radius: 0 0 500px 725px; */
  border-radius: 0 0 50% 50% / 0 0 100% 100%;
  /* transform: translateY(-305px); */
}

.sunday #bowlback {
  /* transform: translateY(-305px); */
  transform: translate(-750px, -305px);
  margin-bottom: -460px;
}

.daily #bowlback {
  transform: translate(-750px, -200px);
  margin-bottom: -460px;
}

.weekly #bowlback {
  width: 2300px;
  height: 1200px;
  transform: translate(-1150px, -1155px);
  margin-bottom: -1140px;
}

#striplabel {
  /* position: relative; */
  position: absolute;
  font-size: 2em;
  /* margin: auto; */
  margin-left: 50%;
  transform: translateX(-50%);
  /* left: -100px; */
  text-align: center;
  background-image: linear-gradient(to right, #334455, #667788);
  /* left: 0;
  right: 0; */
  /* margin-left: auto;
  margin-right: auto; */
  /* width: 200px; */
  display: block;
  /* max-width: 200px; */
  padding: 5px 10px 10px;
  /* margin-top: 320px; */
  border: 1px black solid;
  box-shadow: 0px 0px 3px 1px black;
}

.sunday #striplabel {
  margin-top: 320px;
}

.daily #striplabel {
  margin-top: 220px;
}

.weekly #striplabel {
  margin-top: 1165px;
}

footer {
  margin: 50px;
  font-size: 0.8em;
  grid-column: 1/4;
}

aside,
section {
  padding: 10px;
  width: 100%;
  /* margin: 0px 20px; */
  background-color: rgba(230, 220, 210, 0.8);
  color: black;
  border-radius: 10px;
}

#commentary p {
  padding: 15px;
}

.noshow {
  visibility: hidden;
}

.hiddentext {
  position: absolute;
  display: block;
  top: 0;
  left: 0;
  font-size: 0px;
}

#title {
  /* position: relative;
  display: block; */
  z-index: 4;
}

article {
  margin-top: 0px;
  /* min-height: 400px; */
  grid-column: 1/4;
}

article section {
  margin-top: 20px;
}

article section:first-child {
  margin-top: 0px;
}

article section p {
  padding: 15px;
}

@media screen and (max-width: 800px) {
  header {
    width: 100vw;
  }
}

@media screen and (max-width: 750px) {
   body {
    display: flex;
    flex-direction: column;
    padding:0px;
   }
   .prevlink, .nextlink {
    margin: calc(100vw * 10 / 750) 0px calc(100vw * 20 / 750);
  }
  
   header {
    width: 100%;
    height: calc(10px + (750px - 100vw) / 4);
    overflow-y: visible;
    /* display:flex;
    flex-direction: row; */
    grid: 9% / auto min-content min-content min-content;
  }
  main {
    margin-top: -20px;
    padding-top: 20px;
  }
  nav {
    width: 100vw;
    display: grid;
    overflow-y: visible;
    grid: calc(100vw * 106 / 750) / 2fr 2fr 1fr 2fr 2fr;
  }
   #comic {
    width: 100vw;
   }
   #comic img {
    width: 100%;
   }
   
   /* .daily #comic {
    height: calc((100vw - 20px) * 600 / 750 + 5px);
  }     */
  
  .daily #comic {
    height: calc(100vw * 243 / 750 + 5px);
  }

  .sunday #comic {
    height: calc(100vw * 600 / 750 + 5px);
  }

  .sunday #bowltop {
    height: calc(100vw * 820 / 750 + 5px);
  }
  
  .daily #bowltop {
    height: calc(100vw * 450 / 750 + 5px);
  }
  
  .weekly #bowltop {
    height: calc(100vw * 2320 / 750 + 5px);
    width: 2300px;
  }
 
  #bowltop {
    padding-top: calc(100vw * 20 / 750);
    width: calc(100vw * 1500 / 750);
    transform: translateX(calc(100vw * -750 / 750));
  }

  #soup {
    width: calc(100vw * 1450 / 750);
  }

  .sunday #soup {
    height: calc(100vw * 770 / 750);
  }
  
  .daily #soup {
    height: calc(100vw * 400 / 750);
  }
  
  .weekly #soup {
    height: calc(100vw * 2270 / 750);
    width: 2250px;
  }

  #bowlback {
  width: calc(100vw * 1500 / 750);
  height: calc(100vw * 500 / 750);
  }
  .sunday #bowlback {
    /* transform: translateY(-305px); */
    transform: translate(calc(100vw * -750 / 750), calc(100vw * -305 / 750));
    margin-bottom: calc(100vw * -460 / 500);
  }
  
  .daily #bowlback {
    transform: translate(calc(100vw * -750 / 750), calc(100vw * -200 / 750));
    margin-bottom: calc(100vw * -460 / 750);
  }
  .weekly #bowlback {
    width: calc(100vw * 2300 / 750);
    height: calc(100vw * 1200 / 750);
    transform: translate(calc(100vw * -1150 / 750), calc(100vw * -1155 / 750));
    margin-bottom: calc(100vw * -1140 / 750);
  }
  .sunday #striplabel {
    margin-top: calc(100vw * 320 / 750);
  }
  
  .daily #striplabel {
    margin-top: calc(100vw * 220 / 750);
  }
  
  .weekly #striplabel {
    margin-top: calc(100vw * 1165 / 750);
  }
  main {
    height: calc(100vw * 1000 / 750 + 50px);
  }
  main.daily {
    height: calc(100vw * 750 / 750 + 50px);
    margin-bottom: calc(100vw * -280 / 750 + 45px);
    /* height: 800px; */
  }

  main.sunday {
    /* margin-bottom: calc(100vw * -280 / 750 + 45px); */
    margin-bottom: -50px;
    /* height: 800px; */
  }


}

.archmain {
  display: grid;
  /* column-gap: 20px; */
  gap: 20px 20px;
  height: auto;
  /* grid-template-columns: auto auto auto auto; */
  grid-template-columns: repeat(4, minmax(0, 1fr));
  /* grid-template-rows: repeat(2, minmax(0, 1fr)); */
  grid-template-rows: auto;
  margin-top: 100px;
  margin-bottom: 0px;

}

#archtitle {
  grid-column: 1/5;
  text-align:center;
  font-size:larger;
}

.monthpadding {
   /* grid-column: 1/4; */
   background: none;
}

.bottompadding {
  background: none;
  height:100px;
  grid-column: 1/4;
}

#years {
  grid-column: 1/5;
}

#years ul {
  display: flex;
  flex-direction: row;
  justify-content: space-around;
}

#years li {
  text-decoration: none;
  list-style: none;
}

.menu2 {
  display:none;
  z-index:3;
}

.dropdown {
  display:none;
  /* display:inline-block; */
  position:relative;
  padding-top: 35px;
  z-index: 5;
}

@media screen and (max-width: 500px) {
  header {
    display: flex;
    flex-direction: row;
  }
  header .menu1 {
    display: none;
  }
  nav {
    width: 100vw;
    display: grid;
    grid: calc(100vw * 106 / 750) / 2fr 2fr 1fr 2fr 2fr;
  }
  nav button {
    background-size: contain;
  }
  .archmain {
    grid-template-columns: auto auto;
    padding: auto auto;
    margin:auto auto;
    width: auto;
  }  
  #archtitle {
    grid-column: 1/3;
  }
    .monthpadding {
    grid-column: 1/1;
  }
  .pad-2 {
    display:none;
  }
  .pad-3 {
    display:none;
  }
  .menu2 {
    display:block;
      height: 49px;
      width: 128px;
      background-image: url("images/Menu.png");
      margin-top:40px;
      margin-left: auto;
      margin-right:20px;
  }
  .about, .archive, .forum {
    margin-top: 0px;
  }
  .menu2:hover .dropdown {
    display:inline-block;
  }
}

@media screen and (max-width: 300px) {
  .menu2 {
    margin-right: max(0px, calc(100vw - 280px));
  }
}