/*Ensuring the layout used for the entire website spans the entire screen*/
body {
  margin: 0;
}

/*Container styling, used for displaying elements properly*/
.container {
  margin-top: 25px;
  margin-bottom: 30px;
  width: 100%;
  display: inline-block;
}

.containerBorder {
  border-bottom-style: solid;
  border-bottom-width: 5px;
}

.containerContent {
  margin: 0;
  border-style: solid;
  border-width: 2px;
  border-radius: 2px;
}

.containerLayout {
  margin: 0;
  width: 100%;
  display: inline-block;
  border-radius: 5px;
}

/*Main styling, Alphabetical Order*/
.descriptionText {
  margin: 1.1%;
  text-align: center;
  font-size: 20px;
}

.descriptionSpacing {
  padding-bottom: 30px;
  width: 40%;
  margin-inline-start: 30%;
}

.descriptionTitle {
  font-size: 32px;
  font-weight: bold;
}

footer {
  background-color: lightgray;
  padding: 5px;
}

h1 {
  padding-left: 14.6%;
  display: inline-block;
  width: 22.5%;
  font-size: 48px;
  font-style: oblique;
  font-weight: 600;
}

h2 {
  margin-left: 5%;
  font-size: 32px;
}

.homeContentContainer {
  margin-top: 0;
  width: 100%;
  background-color: lightblue;
  padding-inline-start: 25px;
}

.homeContentContainerColour {
  background-color: rgb(228, 228, 179);
}

.images {
  margin-inline-start: 28%;
  display: inline-block;
  width: 24%;
}

.imageFrame {
  border-width: 15px;
  border-radius: 60px;
  border-style: ridge;
  border-color: #333;
}

.inlineFormatting {
  height: 200px;
}

.italic {
  font-style: italic;
}

.layout {
  margin: 0;
  border-style: solid;
  border-width: 5px;
  border-radius: 10px;
  background-color: #333;
}

.link {
  text-align: center;
  font-size: 24px;
  width: 50%;
  margin: 0px;
}

.homeLinkMargin {
  margin-bottom: 50px;
}

.meter {
  padding-inline-start: 74.2%;
}

.meterStart {
  display: inline-block;
  padding-inline-start: 34%;
  margin: 0px;
}

.referenceContainer {
  width: 90%;
  margin-inline-start: 5%;
  padding: 20px 0px 50px 0px;
}

.referenceText {
  width: 46%;
  display: inline-grid;
}

.selectBox {
  margin-inline-start: 4%;
  margin-top: 35px;
  width: auto;
  background-color: rgb(161, 187, 144);
  font-size: 16px;
  border-radius: 10px;
}

.ShinyCharm {
  margin-inline-start: 38%;
  display: inline-block;
  border-style: double;
  border-color: #9b9b9b;
  border-radius: 80px;
}

.spacing {
  padding: 10px 0px;
}

.text {
  font-size: 24px;
  margin-left: 10%;
  display: inline-block;
  width: 30%;
}

.textParagraph {
  margin-top: 5%;
  vertical-align: top;
}

.title {
  font-size: 24px;
  font-weight: bold;
  margin: 0px;
  margin-left: 15%;
  width: 25%;
  text-align: center;
  padding-top: 50px;
}

.titleButton {
  margin: 0px;
  text-align: center;
  font-size: 32px;
  font-weight: bold;
  width: 100%;
  padding: 20px 0px;
  border-style: ridge;
  border-radius: 10px;
  border-width: 5px;
}

/*Dark mode styling*/
.changeTheme {
  width: 10%;
  height: 48px;
  display: block;
  float: right;
  background-color: rgb(189, 190, 194);
  border-radius: 20px;
  font-weight: bold;
}

body {
  background-color: white;
  color: black;
}

.darkMode {
  background-color: #333;
}

.headingColour {
  color: white;
}

.changeTheme:hover {
  background-color: rgb(142, 145, 150);
}

/*Genration based styling*/
.generationOne {
  background-color: lightgreen;
}

.generationTwo {
  background-color: lightgoldenrodyellow;
}

.generationThree {
  background-color: lightblue;
}

.generationFour {
  background-color: lightpink;
}

.generationFive {
  background-color: lightgray;
}

.generationSix {
  background-color: lightcoral;
}

.generationSeven {
  background-color: lightseagreen;
}

/*Code obtained from : https://www.w3schools.com/cssref/sel_hover.php (W3Schools, n.d.)
  Runs whenever the user hovers over an object with this class assigned*/
.generation:hover {
  background-color: rgb(142, 145, 150);
}

/*Colouring for Containers*/
.pageOneContainerColour {
  background-color: rgb(177, 204, 141);
}

.pageTwoContainerColour {
  background-color: rgb(206, 228, 141);
}

.pageThreeContainerColour {
  background-color: rgb(185, 236, 240);
}

.pageFourContainerColour {
  background-color: rgb(183, 223, 236);
}

.genOneContainerColour {
  background-color: rgb(170, 240, 170);
}

.genTwoContainerColour {
  background-color: rgb(230, 230, 194);
}

.genThreeContainerColour {
  background-color: rgb(189, 223, 235);
}

.genFourContainerColour {
  background-color: rgb(241, 193, 200);
}

.genFiveContainerColour {
  background-color: rgb(194, 194, 194);
}

.genSixContainerColour {
  background-color: rgb(247, 162, 162);
}

.genSevenContainerColour {
  background-color: rgb(106, 212, 207);
}

/*Navigation based styling*/
/*Obtained from: https://www.w3schools.com/howto/howto_js_topnav_responsive.asp (W3Schools, n.d.)
  Styling for repsonsive navigation for the website.*/
.topnav {
  background-color: #000000;
  border-radius: 10px;
}

.topnav a {
  float: left;
  display: block;
  color: #f2f2f2;
  text-align: center;
  padding: 14px 16px;
  text-decoration: none;
  font-size: 17px;
}

.topnav a:hover {
  background-color: #ddd;
  color: black;
}

.topnav a.active {
  background-color: #04AA6D;
  color: white;
}

.topnav .icon {
  display: none;
}

/*End of referenced code*/

/*Responsive design styling*/
/* Obtained From: https://www.w3schools.com/cssref/css3_pr_mediaquery.php (W3Schools, n.d.)
   If the screeen size is too small, it will shift elements.*/
@media only screen and (max-width: 800px) {

  /*Obtained From: https://www.youtube.com/watch?app=desktop&v=0DydwV6KrjA&t=44 (Rafy, 2021)
    Ensures that the layout won't "stick" to one side of the screen on small mobile devices*/
  html,
  body {
    width: 100%;
    height: 100%;
    margin: 0px;
    padding: 0px;
    overflow-x: hidden;
  }

  /*End of referenced code*/


  .images {
    margin-inline-start: 27%;
    display: block;
    width: 40%;
  }

  .link {
    width: 100%;
    text-align: center;
  }

  .meter {
    padding-inline-start: 15%;
    display: block;
  }

  .meterStart {
    padding-inline-start: 15%;
    display: block;
    margin-top: 15px;
  }

  .ShinyCharm {
    margin-inline-start: 15%;
    display: block;
  }

  .text {
    font-size: 16px;
    width: 80%;
  }

  .title {
    width: 100%;
    text-align: center;
    margin-left: 0%;
  }

  .referenceContainer {
    overflow: auto;
  }
}

@media only screen and (max-width: 90px) {
  .changeTheme {
    width: 100%;
  }

  .selectBox {
    width: 100%;
    margin-inline-start: 0%;
  }
}

/*End of referenced media query code*/