* {
    box-sizing: border-box;
}
:root{
  --main-height: 400px;
  --footer-height: 50px;
  }
/* Link colors, nav+footer & leftside+mainpage */
.nav-top a:link, footer a:link {
  color: black;
  }
.nav-top a:visited, footer a:visited{
  color: lightblue;
  }
.nav-top a:hover, footer a:hover{
  color: white;
  }
#leftside section a:link, main a:link{
  color: #D11149;
  }
#leftside section a:visited, main a:visited{
  color: #F3688F;
  }
#leftside section a:hover, main a:hover{
  color:black;
  }
#leftside section a:active, main a:active{
  color: steelblue;
  }
body {
    display: flex;
    font-family: Tahoma, sans-serif;
    justify-content: center;
    background-size: 30%;
    background-image: url("graph_paper.jpg");
    background-repeat: repeat;
}
main{
    display: grid;
    grid-area: main;
}

.website {
    display: grid;
    grid-template-areas:
    "nav"
    "header"
    "main"
    "footer";
    grid-template-rows: 50px auto auto 50px;
    width:850px;
    border: 3px solid #000000;
    overflow: hidden;
    box-sizing: border-box;
    height:fit-content;
}

/*-----*/
/* NAV */
/*-----*/
.nav-top{
    text-align: center;
    display: grid;
    grid-area: nav;
    background-color: steelblue;
}
/*--------*/
/* HEADER */
/*--------*/
header {
    display: grid;
    grid-area: header;
    background-color: white;
}
header img{
    width: 100%;
    height: 200px;
    display: block;
    object-fit: cover;
  }
/*-----------------------------------------------*/
/* MAIN BODY --> parent of #rightside & #leftside*/
/*-----------------------------------------------*/
.main-body {
    display: grid;
    grid-template-columns: 220px minmax(0,1fr);
    gap: 0px;
}
/*---------------------*/
/*LEFT SIDE within MAIN*/
/*---------------------*/
#leftside{
    padding: 10px;
    background-color: lightblue;
    height: auto;
}
#leftside section {
    border: 2px black solid;
    background-color: white;
    padding: 5px;
    height: 100%;
    width: 100%;
}

#leftside h2{
    margin-block-start: 2px;
    margin-block-end: 2px;
}
#leftside h3{
    margin-block-start: 2px;
    margin-block-end: 2px;
  }
#leftside a{
  font-size: 16px;
  }
.lists {
  margin-bottom: 20px;
  }
/*----------------------*/
/*RIGHT SIDE within MAIN*/
/*----------------------*/
#rightside{
    display: flex;
    padding: 7px;
    background-color:white;
    height: auto;
    flex-direction: column;
}
#info h1{
    margin-block-start: 2px;
    margin-block-end: 2px;
}
#info p{
    margin-block-start: 3px;
    font-size: 18px;  
}
#buttons {
  display:flex;
  justify-content: space-between;
  }
#buttons img {
    width: 100%;
    max-width: 200px;
    height: auto;
}
#secondRow {
  gap:2%;
  display:flex;
  }
#secondRowL{
  font-size: 18px;
  text-align: right;
  width: 55%;
  }
#secondRowL p{
  margin-block-start:7px;
  margin-block-end:7px;
  margin:7px;
  }
#secondRowR{
  width: 43%;
  padding: 7px;
  }
#secondRowR img{
  width: 100%;
  height: auto;
  }
#thirdRow p, #thirdRow h3{
  margin-block-start:7px;
  margin-block-end:7px;
  margin:7px;
  }
#paragraph{
  font-size: 18px;
  }
#happymathing{
  text-align: center;
  }
#signature{
  text-align: right;
  font-size: 25px;
  }
/*--------*/
/* FOOTER */
/*--------*/
footer {
    display: grid;
    grid-area: footer; 
    justify-content: center;
    text-align: center;
    background-color: steelblue;
}
footer p{
  margin-block-start: 5px;
  margin-block-end: 5px;
  padding:10px;
  }
