/*Ensures no white gaps along sides of webpage*/
  body {
    margin: 0;
  }

/*Header - Same style across pages (Changes for responsive design below)*/
  header {
   font-family: "Permanent Marker", cursive;
   font-weight: 400;
   font-style: normal;
   display: flex;
   flex-direction:column-reverse;
   justify-content: center;
   align-items: center;
   background-image: linear-gradient(to right, #abbfff, #FBCDF2, #FCF4C9, #FEE3E2, #bbf3c0, #ABBFFF, #FBCDF2);
   padding-bottom: 80px; 
   padding-top: 50px;
   width: 100%; 
  }

/*Creates blinking logo when you hover over the header*/
  header img:last-child {
    display: none;  
  }
  header:hover img:last-child {
    display: block;  
  }
  header:hover img:first-child {
    display: none;  
  }

/* Title of the page*/
  h1 {
    color: black;
    font-family: "Public Sans", sans-serif;
    font-weight: 700;
    font-style: normal;
    font-size: 30px;
    display: flex;
    justify-content: center;
    align-items: center;
    padding-top: 60px;
    padding-bottom: 60px;
  }

/*Text stylings*/
  h2{
    font-family: "Public Sans", sans-serif;
    font-weight: 500;
    font-style: normal;
  }
  h5 {
    font-family: "Permanent Marker", cursive;
  }
  h6 {
    font-family: "Public Sans", sans-serif;
    font-weight: 700;
    font-style: normal;
  }
  p {
    font-family: "Public Sans", sans-serif;
    font-weight: 400;
    font-style: normal;
    text-align: center;
  }
  li {
    font-family: "Public Sans", sans-serif;
    font-weight: 400;
    font-style: normal;
    text-align: left;
  }

/*Colour for links*/
  a {
    color: black;
    font-style: normal;
    font-weight: 900;
  }

/*Navbar styling for smaller devices - 0px-600px*/  
  @media only screen and (min-width: 0px) and (max-width: 600px) {
    .topnav {
      overflow: hidden;
      background-color: #E8BEFA;
    }
    .topnav a {
      float: none;
      display: block;
      color: black;
      text-align: center;
      padding: 14px 16px;
      text-decoration: none;
      font-size: 17px;
      font-family: "Permanent Marker", cursive;
    }
    .topnav a:hover {
      background-color: #FEE3E2;
      color: black;
    }
    .topnav a.active {
      background-color: #ABBFFF;
      color: black;
    }
  }

/*Navbar styling for medium sized devices over 600px-800px*/
  @media screen and (min-width: 600px) and (max-width: 800px) {  
    .topnav {
      display: flex;
      overflow: hidden;
      background-color: #E8BEFA;
    }
    .topnav a {
      float: left;
      color: black;
      text-align: center;
      padding: 14px 16px;
      text-decoration: none;
      font-size: 17px;
      font-family: "Permanent Marker", cursive;
    }
  /*Navbar tab will highlight orange when hovered over*/
    .topnav a:hover {
      background-color: #FEE3E2;
      color: black;
    }
  /*Navbar tab for current page will highlight purple so that user know what page they're on*/
    .topnav a.active {
      background-color: #ABBFFF;
      color: black;
    }
  }

/*Navbar styling for larger sized devices over 800px*/
  @media only screen and (min-width: 800px) { 
    .topnav {
      overflow: hidden;
      background-color: #E8BEFA;
    }
    .topnav a {
      float: left;
      color: black;
      text-align: center;
      padding: 14px 16px;
      text-decoration: none;
      font-size: 17px;
      font-family: "Permanent Marker", cursive;
    }
  /*Contacts tab will split and be displayed on the right hand side of page, highlighted green*/
    .topnav a.split {
      float: right;
      background-color: #BBF3C0;
      color: black;
    }
    .topnav a:hover {
      background-color: #FEE3E2;
      color: black;
    }
    .topnav a.split:hover {
      background-color: #FEE3E2;
      color: black;
    }
    .topnav a.active {
      background-color: #ABBFFF;
      color: black;
    }
  }

/*Responsive Design - for smaller devices - 0px-500px the page displays static cards in a column*/
@media screen and (min-width: 0px) and (max-width: 500px) {
  .flex-container {
    display: flex;
    flex-direction: column;
    justify-content: space-evenly;
    align-items: center;
    gap: 50px;
    padding-bottom: 70px;
  }
  .flip-card {
    background-color: #BBF3C0;
    width: 300px;
    height: 350px;
    border-radius: 50%;
  }
  .flip-card-inner {
    position: relative;
    width: 100%;
    height: 100%;
    text-align: center;
    background-color: #BBF3C0;
    box-shadow: 0 0 30px rgba(171, 191, 255, 0.9);
    padding-top: 5px;
    padding-bottom: 5px;
  }
}

/*Responsive Design - for medium sized devices - 0px-900px the page displays static cards in a column*/
  @media screen and (min-width: 500px) and (max-width: 900px) {
    .flex-container {
      display: flex;
      flex-direction: column;
      justify-content: space-evenly;
      align-items: center;
      gap: 50px;
      padding-bottom: 70px;
    }
    .flip-card {
      background-color: #BBF3C0;
      width: 500px;
      height: 250px;
      border-radius: 50%;
    }
    .flip-card-inner {
      position: relative;
      width: 100%;
      height: 100%;
      text-align: center;
      background-color: #BBF3C0;
      box-shadow: 0 0 30px rgba(171, 191, 255, 0.9);
      padding-top: 5px;
      padding-bottom: 5px;
    }
  }

/*Responsive Design - On larger devices - 900px+ the page displays as flippable cards in rows*/
  @media screen and (min-width: 900px) {
    .flex-container {
      display: flex;
      flex-direction: row;
      flex-wrap: wrap;
      justify-content: space-evenly;
      align-items: center;
      gap: 50px;
      padding-bottom: 70px;
    }
    .flip-card {
      background-color: transparent;
      width: 400px;
      height: 200px;
      perspective: 1000px;
      border-radius: 50%;
    }
/*Position the front and back side */
    .flip-card-inner {
      position: relative;
      width: 100%;
      height: 100%;
      padding-top: 5px;
      padding-bottom: 5px;
      transition: transform 0.9s;
      transform-style: preserve-3d;
    }
/*Horizontal flip on hover*/
    .flip-card:hover .flip-card-inner {
      transform: rotateY(180deg);
    }
/*Position the front and back side*/
    .flip-card-front, .flip-card-back {
      position: absolute;
      width: 100%;
      height: 100%;
      -webkit-backface-visibility: hidden; /* Safari */
      backface-visibility: hidden;
    }
/*Style the front side*/
    .flip-card-front {
      box-sizing: border-box;
      background-color: #ABBFFF;
      box-shadow:  0 0 30px rgba(187, 243, 192, 0.9); 
      color: black;
      font-family: "Public Sans", sans-serif;
      font-size: 20px;
      text-align: center;
      padding-left: 25px;
      padding-right: 25px;
      padding-top: 25px ;
    }
/*Style the back side*/
    .flip-card-back {
      background-color: #BBF3C0;
      box-shadow: 0 0 30px rgba(171, 191, 255, 0.9);
      color: black;
      transform: rotateY(180deg);
      padding-top: 5px;
      padding-bottom: 5px;
    }
  }

/*Footer styling*/
  footer {
    color: black;
    background-color: #FEE3E2;
    text-align: center;
    padding: 14px 16px;
    text-decoration: none;
  }

/*Footer links - centered and on seperate lines*/
  footer.a {
    display: flex;
    justify-content: center;
    align-items: center;
  }