/*GLOBAL STYLES*/

* {
  padding: 0;
  margin: 0;
  box-sizing: border-box;

  --lightGrey: #F7F7F7;
  --mediumGrey: #C4C4C4;
  --darkGrey: #333333;
  --bulletLine: #FFFFFF;


  /*SKILLCAST THEME COLOURS*/
  --blue: #004C93;
  --orange: #EE9208;

  /*FORMULA ONE THEME COLOURS*/
  /* --blue: #E00E00;
  --orange: #000000; */
}

body {
  font-family: "IBM Plex Sans Arabic", sans-serif;
  display: flex;
  flex-direction: column;
  align-items: center;
}

/*HEADER*/

#header-container {
  width: 100vw;
  display: flex;
  justify-content: center;
}

/*STEPPER*/
#stepper-container {
  margin-top: 5rem;
  display: flex;
  flex-direction: row;
  width: 40vw;
  height: 7.5rem;
  /* background-color: var(--blue); */
  border: 1px var(--blue) solid;
  justify-content: space-evenly;
}

.step-container {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  margin: 1rem;
  position: relative;
  width: 10rem;
}

.bullet {
  width: 3rem;
  height: 3rem;
  border-radius: 50%;
  position: relative;
}

.complete {
  background-color: #FFFFFF;
  background-color: var(--blue);
}

.incomplete {
  border: 2px solid var(--blue);
}

.step-text {
  margin-top: 1rem;
  font-size: 1rem;
  font-weight: 500;
  color: #000000;
}

.bullet>span {
  position: absolute;
  top: 20%;
  left: 40%;
  font-size: 1rem;
  font-weight: 700;
}

.complete>span {
  color: #FFFFFF;
}

.incomplete>span {
  color: var(--blue);
}

.step-container:not(:last-child)::after {
  height: 0.25rem;
  width: 7rem;
  background-color: var(--bulletLine);
  content: "";
  position: absolute;
  top: 30%;
  left: 75%;
}

/*FORM*/

#form-container {
  border: 1px solid var(--blue);
  margin-top: 1rem;
  padding: 2rem;
  width: 40vw;
  min-height: 20rem;
  position: relative;
  overflow: hidden;
  margin-bottom: 5rem;
}

#form-step-container>h3 {
  margin-bottom: 1rem;
  text-align: center;
}

.line-break {
  margin: 2rem 0 0 0;
  border-top: 1px solid var(--blue);
}

/*NAV BUTTONS*/
#button-container {
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  bottom: 0%;
  width: 40vw;
  left: 0%;
}

.button-arrow {
  margin: 0 0.5rem 0 0.5rem;
  font-size: 1.25rem;
}

.button {
  width: 12rem;
  height: 2.5rem;
  background-color: var(--orange);
  border: none;
  cursor: pointer;
  text-transform: uppercase;
  color: #FFFFFF;
  font-weight: 700;
  font-size: 1rem;
}

.button:hover {
  opacity: 0.8;
}

.button:active {
  opacity: 0.5;
}

.next-button {
  margin-left: auto;
}

.previous-button {
  margin-right: auto;
}

button:disabled:hover {
  opacity: 0.4;
  cursor: default;
} 

.disabled {
  opacity: 0.4;
}


/*FORM SECTION*/

#radios-container {
  display: flex;
  justify-content: center;
}

input[type="radio"]{
  display: none;
}

.radio-label{
  height: 9rem;
  width: 9rem;
  border: 1px solid var(--mediumGrey);
  padding: 1rem;
  position: relative;
  color: var(--darkGrey);
  cursor: pointer;
  transition: 0.1s;
  margin: 0 1rem 0 1rem;
  box-shadow: 0px 2px 5px var(--mediumGrey);
  transition: 0.25s;
  font-weight: 700;
}

.radio-label:hover {
  border-color: var(--orange);
  color: var(--orange);
  opacity: 0.7;
}

.radio-label:active {
  box-shadow: none;
}

.icon-buttons {
  font-size: 4rem;
  position: absolute;;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -80%); 
}

.radio-label>span {
  font-size: 0.9rem;
  position: absolute;
  bottom: 20%;
  left: 50%;
  transform: translate(-50%, 40%); 
  font-weight: 500;
  text-align: center;
  margin-top: 1rem;
}

input[type="radio"]:checked + label {
  border-color: var(--orange);
  opacity: 0.9;
  color: var(--orange);
}

/*STEP 4/CHECK SELECTION*/
.check-container {
  margin-bottom: 3rem;
}

.check-title-container {
  display: flex;
  flex-direction: row;
  align-items: center;
  margin-bottom: 0.5rem;
}

.check-button {
  margin-left: 1rem;
  width: 1.75rem;
  height: 1.75rem;
  border: none;
  background-color: var(--orange);
  color: #FFFFFF;

}

.check-button:hover {
  opacity: 0.8;
  cursor: pointer;
}

.check-button:active {
  opacity: 0.5;
}

.check-icon-button {
  position: relative;
}

/* .check-icon-button::after {
  position: absolute;
  top: -.25rem;
  height: 25px;
  width: 25px;
  background-color: black;
  content: attr(data-tooltip);
} */


/*MODAL*/

/* The modal (background) */
.modal {
  display: none;
  position: fixed;
  z-index: 1;
  padding-top: 5rem;
  left: 0;
  top: 0;
  width: 100vw;
  height: 100vh;
  overflow: auto;
  background-color: #000000;
  background-color: rgba(0, 0, 0, 0.4);
}

/*Modal Content*/
.modal-content {
  background-color: #FEFEFE;
  margin: 7.5% auto 7.5% auto;
  padding: 3rem;
  border: 1px solid var(--darkGrey);
  width: 50%;
  height: 35rem;
  position: relative;
  overflow: hidden;
}

/*The Close Button*/
.close-icon {
  color: var(--orange);
  float: right;
  font-size: 1.5rem;
  font-weight: bold;
  cursor: pointer;
}

.close-icon:hover,
.close-icon:focus {
  opacity: 0.6;
  text-decoration: none;
}

.receipt-background {
  position: absolute;
  top: 0;
  left: 0;

}

.modal-info {
  /* margin-right: 2rem; */
  margin-top: 5rem;
  float: right;
}

.download-info-text {
  color: var(--darkGrey);
  font-size: 0.9rem;
}

.download-again-container {
  cursor: pointer;
}
.download-again-container>span {
  color: var(--blue);
}

.redo-icon {
  color: var(--blue);
  margin-left: 1rem;
}

.modal-close-button {
  text-transform: uppercase;
  color: var(--orange);
  position: absolute;
  top: 90%;
  left: 50%;
  transform: translate(-50%, -50%);
  border: none;
  font-size: 1rem;
  background-color: #FFFFFF;
  font-weight: bold;
  cursor: pointer;
}

.modal-close-button:hover{
  opacity: 0.7;
}

.modal-close-button:active{
  opacity: 0.5;
}

#report-title {
  margin-bottom: 5rem;
}

/*STEP THREE CHOOSING FIELDS*/
.fields-container, .entries-container {
  display: flex;
  flex-direction: column;
  margin: 2rem 0 2rem 0rem;
}

.field-container {
  margin-bottom: 0.5rem;
}

.fields-label>span {
  margin-left: 0.5rem;
  cursor: pointer;
}

.fields-checkbox {
  cursor: pointer;
}

/*STEP TWO CHOOSING ENTRIES*/
/* .entries-container {
  display: flex;
  flex-direction: column;
} */

.entries-label {
  font-size: 0.9rem;
  margin-right: 0.5rem;
}

.entries-input {
  width: 100%;
  height: 30px;
  margin-bottom: 1rem;
  box-sizing: border-box;
  border: 2px solid  var(--mediumGrey);
  border-radius: 0px;
  /* font-size: 1rem; */
  box-sizing: border-box;
  /* -webkit-transition: 0.5s;
  transition: 0.5s; */
  outline: none;
  padding: 12px 20px 12px 10px;
  transition: width 0.4s ease-in-out;
}

.entries-input:focus {
  border: 3px solid var(--darkGrey);
}

/*ENTRIES STEP THREE - SHOW MORE OPTIONS BUTTON*/
.more-button-container {
  display: flex;
  justify-content: center;
  position: relative;
}

.show-more-options-button {
    border: none;
    background-color: #FFFFFF;
    font-size: 1rem;
    margin-bottom: 3rem;
    text-decoration: underline;
    cursor: pointer;
  }

  .show-more-options-icon {
    margin-left: 0.5rem;
    font-size: 1.5rem;
    position: absolute;
    bottom: 65%;
    cursor: pointer;
  }

  /*RESPONSIVE DESIGN*/

  @media only screen and (max-width: 1614px) {
    .header{
    width: 100vw;
    }
  }

  @media only screen and (max-width: 1636px) {
    .step-text{
    font-size: 0.8rem;
    text-align: center;
    }
    .bullet {
      width: 2rem;
      height: 2rem;
      border-radius: 50%;
      position: relative;
    }
    .bullet>span {
      font-size: 0.8rem;
      font-weight: 700;
    }
    .step-container:not(:last-child)::after {
      width: 5rem;
      left: 80%;
    }
    .radio-label {
      height: 8rem;
      width: 8rem;
    }
  }

  @media only screen and (max-width: 1356px) {
    .step-container {
      width: 4rem;
    }
    .step-container:not(:last-child)::after {
      height: 0.2rem;
      width: 3rem;
      top: 20%;
      left: 110%;
    }
  }

  @media only screen and (max-width: 1730px) {
    .receipt-background {
      width: 20rem;
      height: 100%;
    }
  }

  @media only screen and (max-width: 1466px) {
    .receipt-background {
      width: 15rem;
      height: 100%;
    }
  }

  @media only screen and (max-width: 1310px) {
    .receipt-background {
      width: 10rem;
      height: 100%;
    }
  }