@import url('https://fonts.googleapis.com/css2?family=Roboto&display=swap');

:root{
  --light: rgb(224, 224, 224);
  --rgb-green: rgb(18,203,29);
  --rgb-purple: rgb(164,34,145);
  --rgb-pink: rgb(213,34,96);
  --rgb-grey: rgb(64,64,64);
  --rgb-green-a: rgba(18, 203, 30, 0.599);
  --rgb-purple-a: rgba(164, 34, 144, 0.5);
  --rgb-pink-a: rgba(213, 34, 97, 0.253);
  --rgb-grey-a: rgba(64,64,64,0.5);

  --ft-family-roboto: 'Roboto', Arial, sans-serif;
}

/************* Loading image ****************/
#loading {
  position:relative;
  width:100%;
  height:100%;
}

#loading img {
  margin-top: -12px; /* Half images height */
  margin-left: -12px; /* Half images width */
  position:absolute;
  top:50%;
  left:50%;
}

/************* Body and general styles ****************/
body {
  margin-top: 100px;
  tab-size: 4;
  background-color: var(--light);
  font-family: var(--ft-family-roboto);
}

button, select {
  background-color: #eee;
  color: #444;
  cursor: pointer;
  padding: 18px;
  text-align: center;
  border: none;
  outline: none;
  transition: 0.4s;
  font-weight: 600;
}

button:hover {
  background-color: #ccc;
}

select.dropdown {
  padding: 9px 18px;
}

button#submit {
  font-size: medium;
  position: relative;
  left: 50%;
}

/************* Header ****************/
#header {
  position: fixed;
  top: 0%;
  left: 0%;
  width: 100%;
  background-color: white;
  padding-left: 10px;
  z-index: 1000;
  padding-top: 10px;
  opacity: 75%;
}

#header h1 {
  font-size: 18pt;
}

#header h3 {
  font-size: 10pt;
}

#overlay-message {
  position: fixed;
  top: 0%;
  left: 0%;
  width: 100%;
  height: 100%;
  visibility: hidden;
  display: none;
  opacity: 70%;
  background-color: white;
  z-index: 2000;
  font-size: large;
  font-weight: 600;
  text-align: center;
}

#overlay-message > div {
  position: relative;
  top: 50%;
}


/************* Accordion ****************/
/* Style the buttons that are used to open and close the accordion panel */
.accordion {
  color: #444;
  cursor: pointer;
  width: 100%;
  text-align: left;
  border: none;
  outline: none;
  transition: 0.4s;
  border-radius: 10px;
  padding: 10px 8px;
  margin-bottom: 8px;
  background-color: white;
  display: flex;
  align-items: center;
  justify-content: space-between;
  position: relative;
}

/* Add a background color to the button if it is clicked on (add the .active class with JS), and when you move the mouse over it (hover) */
.active, .accordion:hover {
  background-color: var(--rgb-green-a);
  color: white;
  box-shadow: rgba(0, 0, 0, 0.24) 0px 3px 8px;
}

.accordion:before {
  float: left;
  content: '+';
  margin-right: 5pt;
  margin-left: 5pt;
  font-size: 10pt;
}

.active:before {
  position: relative;
  content: '-';
  color: white;
  margin-right: 5pt;
  margin-left: 5pt;
  font-size: 15pt;
}

/* Style the accordion panel. Note: hidden by default */
.panel {
  padding: 0 18px;
  background-color: white;
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.2s ease-out;
  box-shadow: rgba(50, 50, 93, 0.25) 0px 2px 5px -1px, rgba(0, 0, 0, 0.3) 0px 1px 3px -1px;
  border-radius: 10px;
  font-family: var(--ft-family-roboto);
  margin-bottom: 10px;
  border: none;
  transition: max-height 0.8s ease-in-out;
}

.alignleft {
  float: left;
  margin-left: 5px;
  width: 100%;
  font-size: 16px;
}
.alignright {
	float: right;
  margin-right: 5px;
  width: 100%;
  text-align: right;
  font-size: 14px;
}
#totalScore {
  margin-top: 9px;
  margin-right: 18px;
  padding: 20px 0;
  font-size: 14pt;
}

.panel img {
  max-width: 100%;
}

.panel .question {
  white-space: pre-wrap;
  font-size: 11pt;
}

.panel .question b{
  font-weight: 800;
  font-size: 12pt;
  padding-bottom: 5px;
}

.panel .remarks {
  white-space: pre-wrap;
}

.panel .test-results-table {
  table-layout: fixed;
  width: 98%;
  margin: 0 auto;
}

.panel .test-results-table th {
  background-color: rgb(70, 70, 70);
  color: rgb(250, 250, 250);
  padding-left: 5px;
  padding-right: 5px;
  padding-top: 10px;
  padding-bottom: 10px;
  letter-spacing: 3px;
}

.panel .test-results-table td {
  white-space: pre-wrap;
  border-style: solid;
  border-width: 1px;
  border-color:lightgray;
  padding-left: 10px;
  padding-right: 5px;
  word-wrap: break-word;
}

/* .panel .test-results td::before {
  position: absolute;
  z-index: 1;
  line-height: inherit;
  font-size: inherit;
  color: #424242;
  content: "\A\2424\A\2424\A\2424..." /* Ad libitum
} */

.panel textarea {
  width: 98%;
  margin: 1%;
  height: 100px;
}

.explanation-edit {
  width: 98%;
  height: 300px;
  background-color: #fefefe;
  padding: 10px !important;
}

.explanation-edit p {
  margin: 5px;
}

/************* Central message in body ****************/
.central-message {
  position: fixed;
  top: 25%;
  left: 25%;
  width: 50%;
  background-color: rgb(250, 250, 240);
  padding: 30px;
}

.central-message h1 {
  text-align: center;
}

.central-message h2 {
  text-align: center;
}

.info {
  color: blue;
}

.error {
  color: darkred;
}

.panel .central-message {
  position: relative;
}

/***************** Styles related to form elements *************/
.container tr {
  padding: 5px;
}

.container .radio-td {
  width: auto;
  vertical-align: top;
}

/***************** Report ID **********************/
#reportID {
  visibility: hidden;
  display: none;
}

/***************** Attachment *********************/
.attachment-box {
  width: 98%;
  border-style: dotted;
  border-color: rgb(200, 200, 200);
  text-align: center;
  position: relative;
  margin-top: 10px;
  border-width: 1px;
  padding: 9px !important;
  border-radius: 5pt;
}

.attachment-box:hover {
  background-color: var(--light);
}

.attachment, .current-attachment {
  width: 100%;
  position: relative;
}

.attachment > a {
  color: inherit;
  text-decoration: auto;
}

.attachment-message a {
  display: block;
}

.attachment-message, .current-attachment {
  font-style: italic;
  font-weight: 400;
  vertical-align: middle;
  font-size: x-small;
}

.attachment-message span, .current-attachment {
  display: block;
  font-weight: 600;
  font-size: medium;
}

.current-attachment {
  font-size: small;
  margin-top: 5px;
}

.current-attachment-link {
  display: inline-block;
}

.attachment input[type="file"] {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0%;
  left: 0%;
  opacity: 0;
  cursor: pointer;
}

.explanation-view table {
  width: 98%;
  border: none;
}

.explanation-view table th, .explanation-view table td {
  padding: 5px;
  border: solid 1px lightgray;
}

.explanation-view table th {
  background-color: rgb(70, 70, 70);
  color: rgb(250, 250, 250);
  letter-spacing: 3px;
}

.panel .coding-answer {
  position: relative;
  width: 98%;
  margin: 1%;
  height: 500px;
  border-color: lightgray;
  border-width: 1px;
  border-style: solid;
}

.d-block {
  display: block;
}

.d-none {
  display: none;
}