/*-------------------------- LOGO AND TITLE ----------------------------------*/

header {
  background: #CCB2D5; /* Lilac */
}

.title img {
  margin: 1em;
  padding-bottom: 0;
  padding-right: 0.5em;
  float: left;
  width: 5em;
}

.title h1 {
  margin: 0;
  padding: 0;
  padding-top: 1em;
  padding-left: 0;
  position: relative;
  color: #86538C; /* Purple */
}

.title a {
  text-decoration: none;
}

/*------------------------ DEFAULT STYLING FOR PAGE --------------------------*/

body {
  margin:0;
  padding:0;
  background-color: white;
  color: #7F7F7F; /* Grey */
  font-family: 'Montserrat', sans-serif;
  line-height: 2;
}

section {
  padding: 1em;
}

.element {
  padding-bottom: 2rem;
  border-top-width: 0.15rem;
  border-top-style: dotted;
  border-top-color: #7F7F7F; /* Grey */
}

.heading {
  margin-top: 1rem;
  margin-bottom: 1rem;
  font-style:normal;
}

h2 {
  margin-top: 6rem;
}

h3 {
  font-style: italic;
  margin-top: 1rem;
}

h4 {
  margin-bottom: 0.25rem;
}

p {
  margin-top: 0;
  width: 60%;
}

code {
  background-color: #EEE;
  padding: 0.5rem;
  display: block;
}

.td-center{
  text-align: center;
}

/*------------------------------- BRANDING -----------------------------------*/

#main-colour{
  color: #7F7F7F; /* Grey */
  padding: 2rem;
  display: flex;
}

#main-dark{
  color: #7F7F7F; /* Grey */
  padding: 2rem;
  display: flex;
}

#highlight-colour{
  color: #7F7F7F; /* Grey */
  padding: 2rem;
  display: flex;
}

#second-colour{
  color: #7F7F7F; /* Grey */
  padding: 2rem;
  display: flex;
}

#second-dark{
  color: #7F7F7F; /* Grey */
  padding: 2rem;
  display: flex;
}

.color-img {
  width: 15%;
  height: 15%;
  margin-right: 1em;
}

@media only screen and (max-width: 35em) {

  .color-img {
    width: 50%;
    height: 50%;
  }

}

@media only screen and (min-width: 35em) and (max-width: 55em) {

  .color-img {
    width: 25%;
    height: 25%;
  }

}

.logos {
  max-width: 15%;
}

/*----------------------------- FONT STYLING ---------------------------------*/

.highlight {
  color:#ffffff;
  margin-top: 1rem;
  background-color: #86538C; /* Purple */
  padding: 1rem;
  font-family: 'Yeseva One', cursive;
}

.main {
  color: #86538C;  /* Purple */
  margin-top: 1rem;
  background-color: #CCB2D5; /* Lilac */
  padding: 1rem;
  font-family: 'Yeseva One', cursive;
}

.second {
  color: #ffffff;
  margin-top: 1rem;
  background-color: #FEB664; /* Orange */
  padding: 1rem;
  font-family: 'Yeseva One', cursive;
}

.body {
  font-family: 'Montserrat', sans-serif;
  color: #7F7F7F; /* Grey */
}


/* ------------------------- INTERACTIVE ELEMENTS ----------------------------*/

/*in-text link*/
.in-text-link {
  color: #CCB2D5; /* Lilac */
  text-decoration: none;
}

.in-text-link:hover, .in-text-link:focus, .in-text-link:active {
  color: #F8E392; /* Yellow */
}

/*navigation button*/
.button-nav {
  display: inline-block;
  padding: 0.5rem;
  color: white;
  background-color: #86538C;  /* Purple */
  text-decoration: none;
  transition-property: background-color;
  transition-duration: 0.5s;
}

.button-nav:hover, .button-nav:focus {
  background-color: #FEB664; /* Orange */
}

/*submit button*/
.button-submit {
  display: inline-block;
  padding: 0.5rem;
  color: white;
  background-color: #FEB664; /* Orange */
  text-decoration: none;
  transition-property: background-color;
  transition-duration: 0.5s;
}

.button-submit:hover, .button-submit:focus {
  background-color: #F8E392; /* Yellow */
}

/*text input field with label*/
.labelled-input {
  font: 16px 'Montserrat', sans-serif;
  color:  #7F7F7F; /* Grey */
  box-sizing: border-box;
  border: 0;
  border-bottom: 1px solid #86538C;  /* Purple */
  background-color: #fff;
  transition: 0.4s ease-in-out;
}

::placeholder { /* Chrome, Firefox, Opera, Safari 10.1+ */
  color: #FEB664; /* Orange */
  opacity: 1; /* Firefox */
}

:-ms-input-placeholder { /* Internet Explorer 10-11 */
  color: #FEB664; /* Orange */
}

::-ms-input-placeholder { /* Microsoft Edge */
  color: #FEB664; /* Orange */
}

/* reference: https://codepen.io/Takumari85/pen/RaYwpJ */

.labelled-input:focus, .labelled-input:active {
  outline: none;
  background-color: #EEE;
  box-shadow: 0 0 3px #080F5B;
}

.labelled-input:hover {
  background-color: #EEE;
}

.input-label {
  color: #86538C;  /* Purple */
  padding-right: 0.5em;
}

/*radio button with label*/
.radio-label {
  color: #86538C;  /* Purple */
}

select {
  font: 16px 'Montserrat', sans-serif;
  color:  #FEB664; /* Orange */
  box-sizing: border-box;
  border: 0;
  border-bottom: 1px solid #86538C;  /* Purple */
  background-color: #fff;
  transition: 0.4s ease-in-out;
}

select:focus, select:active {
  outline: none;
  background-color: #EEE;
  box-shadow: 0 0 3px #080F5B;
}

/* the css for the radio buttons was taken from a tutorial (link below)*/

input[type='radio']:after {
      /*create a custom circle for the radio button*/
      width: 15px;
      height: 15px;
      border-radius: 15px;
      top: -2px;
      left: -1px;
      position: relative;

      /*set the default colour of the circle*/
      background-color: #d1d3d1;

      /*cover up default radio buttons*/
      content: '';
      display: inline-block;

      /*adding a white border makes the circle appear to have no border*/
      border: 2px solid white;
  }

  input[type='radio']:checked:after {
      /*create a custom circle for the radio button*/
      width: 15px;
      height: 15px;
      border-radius: 15px;
      top: -2px;
      left: -1px;
      position: relative;

      /*set the colour of the circle when it is checked*/
      background-color:  #FEB664; /* Orange */

      /*cover up default radio buttons*/
      content: '';
      display: inline-block;

      /*adding a white border makes the circle appear to have no border*/
      border: 2px solid white;
  }

  /* reference: https://stackoverflow.com/questions/4253920/how-do-i-change-the-color-of-radio-buttons */

.radio-label:hover, .radio-label:focus {
  text-decoration: underline;
}

/*image as link*/
.img-link {
  opacity: 1;
  transition: .5s ease-in-out;
}

.img-link:hover, .img-link:focus {
  opacity:0.5;
}

/* resource: https://www.w3schools.com/howto/howto_css_image_overlay.asp */

/*image as link*/
.img-link img {
  width: 40%;
}

/*headings*/
h1, h2 {
  color: #FEB664; /* Orange */
  font-family: 'Yeseva One', cursive;
}

/* -------------------------- COMBINED ELEMENTS ------------------------------*/

/*main navigation*/
.navigation {
  padding: 0.5em;
  background-color: #86538C; /* Purple */
  list-style-type: none;
  overflow: hidden;
  padding: 0;
  margin: 0;
}

.navigation li {
  float: left;
}

.navigation-item {
  padding: 0.5em;
  display: block;
  text-align: center;
  text-decoration: none;
  color: white;
  transition-property: background-color;
  transition-duration: 0.5s;
}

.navigation-item:hover {
    background-color: #FEB664; /* Orange */
}

/*reference: https://www.w3schools.com/css/css_navbar.asp */

/* product listing css*/
.product {
  display: inline-block;
  width: 40%;
}

.product-img {
  vertical-align: top;
  width: 100%;
}

.product-info {
  text-align: center;
  padding-top: 1em;
}

.flex-box {
  text-align: center;
  align-items: center;
  justify-content: center;
}

/*payment form*/

/* shopping cart css */
table {
  width: 70%;
}

tr {
  padding: 0.5em;
}

td {
  padding: 1em;
}

tr:nth-child(even) {
  background-color: #f2f2f2;
}

/* ------------------------------- FOOTER STYLING ----------------------------*/
footer {
  background-color: #86538C; /* Purple */
  padding: 3em;
  color: white;
  display: flex;
  justify-content: flex-start;
  text-align: center;
  align-items: center;
  justify-content: center;
}

.social-media-container {
  text-align: left;
}

.flex-item {
  padding-left: 3em;
}

#copyright {
  width: 100%;
  padding: 0;
  height: 1em;
}

.social-media {
  float: left;
  width: 2em;
  height: 2em;
  padding-right: .5em;
}

/*links for social media in footer */
.social-media-link {
  color: #F8E392; /* Yellow */
  text-decoration: none;
}

.social-media-link:hover, .social-media-link:focus, .social-media-link:active {
  color: #CCB2D5; /* Lilac */
}

.navigation-item-footer {
  padding: 0.5em;
  display: block;
  text-align: center;
  text-decoration: none;
  background-color: #CCB2D5; /* Lilac */
  color: black;
  transition-property: background-color;
  transition-duration: 0.5s;
  max-width: 6em;
  min-width: 6em;

}

.navigation-item-footer:hover {
    background-color: #F8E392; /* Yellow */
}

/* make the social media links into a column on small screen sizes*/
@media screen and (min-width: 20em) {
  footer {
    flex-direction: column;
    flex-wrap: nowrap;
  }

  .flex-item {
    padding-bottom: 1em;
  }

  #copyright {
    height: 1em;
  }

  .product {
    display: inline-block;
    width: 75%;
  }
}

@media screen and (min-width: 60em) {

  footer {
    flex-direction: row;
    align-items: center;
    justify-content: center;
    flex-wrap: nowrap;
  }

  #copyright {
    height: 1em;
  }

  .social-media-container{
    display: flex;
    flex-direction: row;
  }

  .product {
    display: inline-block;
    width: 40%;
  }
}
