I am trying to create a hero box but my herobox and navbar have white space inbetween. I can not get rid of it! I am guesing it has to do with flexbox and/or grid but i'm not sure.
I colored the nav purple and the herobox blue to try to figure why they don't follow each other. I tried messing with the margin and display in CSS.
Chrome inspection of elements:
My code so far:
body {
  font-family: sans-serif;
  margin: 0;
}
main {
  margin-top: none;
}
/*NAVIGATION BAR*/
header {
  height: fit-content;
}
.topnav {
  overflow: hidden;
  background-color: blueviolet;
}
.left {
  padding: 20px;
  float: left;
  width: 50%;
  box-sizing: border-box;
  text-decoration: none;
  text-align: left;
}
.right {
  padding: 20px;
  float: right;
  width: 50%;
  box-sizing: border-box;
  text-decoration: none;
  text-align: right;
}
@media screen and (max-width: 800px) {
  .left,
  .right {
    width: 100%;
    /* The width is 100%, when the viewport is 800px or smaller */
  }
}
/*HERO BOX*/
.hero {
  background-color: aqua;
}
h1 {
  font-size: 15vw;
}
<header>
  <!--NAVIGATION BAR-->
  <nav>
    <div class="topnav">
      <div class="left">
        <a href="#Coupons">
          <p>Coupons!</p>
        </a>
      </div>
      <div class="right">
        <a href="#Order">
          <p>Order Online!</p>
        </a>
      </div>
    </div>
  </nav>
</header>
<main>
  <div class="hero">
    <h1>Super Restaurant!</h1>
    <button><a href="#menu">View our menu!</a></button>
  </div>
</main>
