@charset "utf-8";
/* CSS Document */
.set-top,
.countdown_box,
.countdown_box > div,
.dragBox,
.hintBox,
.aw_a,
.sRead_text,
.exam-wa-ab {
  display: flex;
  flex-direction: row;
 
}
.pR_info {
  text-align: center;
  font-size: 1.8vw;
  margin: 5px 0;
}
.pRead_qnBox {
  font-size: 1.5vw;
  text-align: center;
   font-family: "微軟正黑體", sans-serif;
}
.pR_hint {
  font-family: "微軟正黑體", sans-serif;
  font-size: 1.8vw;
  line-height: 2vw;
}
.pRead_qnBox span {
  font-family: "Times New Roman", Times, serif;
}
.opacity0 {
  opacity: 0;
}
.pr_picBox img{
width: 200px;
}
.set-top {
  align-items: center;
}
.marks-container {
  width: 500px;
  margin: 0 auto;
}
.answer-ab {
  font-size: 1.5em;
  padding: 5px 0;
}
.input-marks {
  margin-left: 115px;
  margin-bottom: 3px;
}
.t-center {
  text-align: center;
}
.exam-input {
  border: 0;
  padding: 0;
  margin: 0 auto;
  background-color: transparent;
  position: static;
  text-align: left;
  font-size: 36px;
  min-height: 48px;
  line-height: 48px;
  width: 90%;
  outline: none;
  transition: border-color 0.3s;
  background-image: linear-gradient(
    to bottom,
    transparent calc(100% - 3px),
    #000 calc(100% - 3px),
    #000 100%
  );
  background-size: 100% 48px;
  background-attachment: local;
}

.exam-input:focus {
  background-image: linear-gradient(
    to bottom,
    transparent calc(100% - 3px),
    #007bff calc(100% - 3px),
    #007bff 100%
  );
}
.exam-wrong {
  color: red;
  font-size: 1.8em;
  margin-top: 10px;
}
.pR_picBox div {
  width: 100%;
  text-align: center;
}
.pR_picBox {
  width: 50%;
  margin: 0 auto;
}
.pR_picBox img {
  width: 100%;
}
.countdown_box > div {
  align-items: center;
}
.record-icon {
  width: 26px;
  height: 26px;
  border-radius: 50%;
  border: 2px solid #ff0000;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-right: 5px;
}

.record-icon::after {
  content: "";
  width: 16px;
  height: 16px;
  background-color: #ff0000;
  border-radius: 50%;
}
button {
  margin: 0 5px;
}
.mx-auto {
  margin: 0 auto;
}
.word-box {
  font-size: 3em;
}
.sRead_text {
  font-size: 2.5em;
  margin-bottom: 10px;
}
.countdown_box {
  justify-content: space-between;
  margin: 10px 0 5px 0;
}
.text-center {
  text-align: center;
}
.set {
  border-bottom: 3px solid #a9a9a9;
  padding: 5px 0px 15px;
}
.bottom-line {
  border-bottom: 3px solid #a9a9a9;
}
.exam-mark {
  position: absolute;
  width: 150px;
  height: 150px;
  bottom: 10%;
  right: 10%;
}
.role-a {
  color: #000;
}
.role-b {
  color: #555;
}
.m-wrong {
  background-image: url("https://web.klokah.tw/text/image/pic-wrong.png");
  background-color: transparent;
}
.m-right {
  background-image: url("https://web.klokah.tw/text/image/pic-right.png");
}
#exam-results-table,
#exam-results-table-qa_e,
.result-style {
  display: table;
  border-collapse: collapse;
  margin: auto;
}
.exam-btns, .exam-btns-results {
  text-align: center;
  margin: 15px 0;
}
.right {
  color: #E91E63;
}
.ca_a {
  display: flex;
  flex-direction: row;
  padding: 5px 0;
}
.ca_pic_box {
  display: flex;
  flex-direction: column;
}
.flexrow {
  display: flex;
  flex-direction: row;
}
.arrow {
  width: 3.2em;
  display: flex;
  align-items: center;
}
.arrow img {
  width: 100%;
}
.cp {
  cursor: pointer;
}
.cp2 {
  cursor: grab;
}
.border1 {
  padding: 0.5vw 1vw;
  border: 0.1vw solid rgba(51, 51, 51, 0.5);
  margin: 0.5vw;
  background-color: white;
  font-weight: bold;
  font-size: 2vw;
  color: #333;
  box-shadow: 0 0 0.2vw rgba(0, 0, 0, 0.15);
  align-self: center;
}
.rsEnd {
  align-items: end;
  display: flex;
  padding-bottom: 1vw;
  font-size: 2vw;
  font-weight: bold;
}
.row {
  display: table-row;
}
#rsQ {
  list-style-type: none;
  display: flex;
  padding-left: 0;
  flex-wrap: wrap;
}
.cell {
  display: table-cell;
  border: 2px solid;
  padding: 2px;
  vertical-align: middle;
  min-width: 100px;
  height: 40px;
  font-size: 30px;
}
.ap_pic_box,
.ap_pic_box div {
  display: flex;
  flex-direction: row;
}
.ap_pic_box {
  flex-wrap: nowrap;
  justify-content: space-between;
}
.ap_pic_box div {
  width: 100%;
  height: auto;
}

.loading {
  text-align: center;
  padding: 20px;
  font-style: italic;
  color: #888;
}

.imgBox {
  position: relative;
  width: 100%;
  padding-bottom: 100%;
  overflow: hidden;
}

.imgWrapper {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  box-sizing: border-box;
  border: 3px solid transparent;
  transition: border-color 0.3s ease;
}

.imgWrapper img {
  width: 100%;
  height: auto;
  object-fit: contain;
}

.selected {
  border-color: #03a9f4;
}
.ct_text_box {
  margin-left: auto;
}
.text-hover {
  color: #9e9e9e;
}
.text-selected {
  color: #03a9f4;
}
.number,
.optionBox,
.cb-text,
.timeBox,
.record-hint {
  font-size: 1.8em;
}
.ts1wrong {
  background-color: #cd5b5b;
  color: white;
}

.ts1correct {
  background-color: rgb(69, 190, 69);
  color: white;
}
.record-hint {
  color: #ff0000;
}
.audio_btn {
  background-image: url("https://web.klokah.tw/text/image/button-play.png");
  background-color: transparent;
  background-repeat: no-repeat;
  width: 46px;
  height: 46px;
}

.audio_btn:hover {
  background-image: url("https://web.klokah.tw/text/image/button-play-hover.png");
}
.audio_playing {
  background-image: url("https://web.klokah.tw/text/image/button-stop.png") !important;
}
.audio_rs {
  width: 60px;
}
.correct-border {
  border-color: #e91e63;
}
.text-correct {
  color: #e91e63;
}
.exam-results {
  margin-top: 20px;
  padding: 10px;
  margin-right: 10px;
}
.hintBtn {
  background-color: #f2f2f2;
  padding: 2px 5px;
  cursor: pointer;
  margin-right: 10px;
}
.hintText {
  font-size: 1.8em;
}
.hintBox {
  margin-top: 10px;
  align-items: center;
}
button {
  cursor: pointer;
  background: transparent;
  border: 0;
  font-size: inherit;
  font-family: inherit;
  border-radius: 3px;
  background-color: #f2f2f2;
  font-size: 40px;
  padding: 5px 15px;
}
.char-btn {
  font-size: 25px;
  margin: 0 8px;
}
.result-row {
  margin-bottom: 5px;
  padding: 5px;
  border-radius: 3px;
}

.correct {
  background-color: #d4edda;
  color: #155724;
}

.wrong {
  background-color: #f8d7da;
  color: #721c24;
}

.score {
  font-size: 18px;
  font-weight: bold;
  margin-top: 10px;
  text-align: center;
}
#main {
  padding-bottom: 50px;
}

.extension .labels a {
  width: 130px;
}
.field.list {
  padding: 0 50px;
}
.lesson {
  padding: 20px 0;
  display: block;
}
.lesson a.no {
  margin-right: 18px;
  opacity: 0.5;
}
.lesson a.no:hover {
  opacity: 1;
}
.lesson > * {
  display: inline-block;
  vertical-align: middle;
}
.field .conversation {
  padding: 20px 0;
}
.lesson .text {
  font-size: 28pt;
  width: 700px;
}
.lesson *:hover {
  cursor: inherit;
}
.lesson .text > * {
  word-wrap: break-word;
  line-height: 28pt;
}
.lesson .text .Ch {
  font-size: 20pt;
  margin-top: 10px;
  color: #808080;
}

.field {
  padding: 15px 30px;
  background-color: white;
}

.field.list .link .no {
  margin: 0 30px;
}
.partTitle {
  font-size: 2em;
  cursor: pointer;
  line-height: 2em;
}
iframe {
  width: 100%;
  height: 500px;
}
.con-frame-inner {
  display: none;
}
.con-frame {
  padding: 1% 3%;
  border-top: dotted 5px #999;
}
.wrapper > :first-child > :first-child {
  border-top: none;
}
.con-frame:last-child {
  padding: 2%;
}
.description {
  margin-left: 70px;
}
.ttitle {
  font-size: 2em;
  text-align: center;
}
.partNo {
  display: inline-block;
  background-color: #5684b3;
  vertical-align: middle;
  text-align: center;
  line-height: 50px;
  width: 50px;
  margin-right: 20px;
  background-size: contain;
  background-repeat: no-repeat;
  color: white;
  font-family: 微軟正黑體;
  font-weight: bolder;
  font-size: 0.8em;
  border-radius: 25px;
}
/*------------------------------| RWD |-------------------------*/
@media screen and (min-width: 1000px) {
  .extension.conversation .tabs a {
    width: 166px;
    height: 51px;
    display: inline-block;
    margin-right: 5px;
  }
  .extension.conversation .panel {
    width: 970px;
    padding: 15px;
  }
  .panel select {
    padding: 5px;
    font-size: 14pt;
    margin-right: 20px;
  }
}
@media only screen and (min-width: 680px) and (max-width: 1000px) {
  .extension.conversation .tabs a {
    width: 23%;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: bottom left;
  }
  .extension.conversation .practice:hover,
  .extension.conversation .practice.selected {
    width: 23%;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: bottom left;
  }
  .extension .tabs a {
    display: inline-block;
    margin-right: 10px;
    height: 50px;
  }
  .extension.conversation .tabs {
    height: 50px;
  }
  .extension.conversation .panel {
    width: 90%;
    padding: 5%;
    border-radius: 5px;
  }
  .panel select {
    padding: 5px;
    font-size: 14pt;
    margin-right: 20px;
  }
}
@media screen and (max-width: 680px) {
  .extension.conversation .exam {
    line-height: 9vw;
    font-size: 5vw;
    width: 25% !important;
    margin-right: 4vw;
  }
  .audio_rs {
    width: 25vw;
  }
  .border1, .rsEnd {
    font-size: 8vw;
  }
  .arrow {
    width: 7vw;
  }
  .pR_picBox {
    width: 96%;
  }
  .extension .tabs {
    height: 30px;
  }
 
  .extension.conversation .tabs a {
    width: 19%;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: bottom left;
    height: 30px;
  }
  .extension.conversation .practice:hover,
  .extension.conversation .practice.selected {
    background-size: contain;
  }
  .extension .tabs a {
    display: inline-block;
    margin-right: 5px;
    height: 30px;
  }
  .extension.sp .tabs {
    height: 30px;
  }
  .extension.sp .panel {
    width: 90%;
    padding: 5%;
    border-radius: 5px;
  }
  .panel select {
    padding: 2%;
    font-size: 14pt;
    width: 100%;
    margin: 5% 0%;
  }
  .field .image {
    width: 100%;
  }
  .field .image > img {
    width: 100%;
    height: 100%;
  }
  .field .word > div {
    margin: 50px 0 0 0px;
  }
  .field .word .text {
    text-align: center;
    font-size: 2em;
    width: 100%;
    margin-left: 0px;
  }
  .no {
    width: 100%;
    height: 100%;
  }
  .link {
    width: 20%;
  }
  .field .sentence .text {
    width: 100%;
  }
  .field .lesson .text {
    width: 100%;
  }
  .extension .header .prev_1 {
    position: absolute;
    top: 5%;
    left: 5%;
  }
  .extension .header .next_1 {
    position: absolute;
    top: 5%;
    right: 5%;
  }
  .extension .header {
    padding: 5%;
    width: 90%;
  }
  .extension .header .title {
    width: 100%;
    text-align: left;
  }
  .extension .header .no {
    padding: 0;
    font-size: 3em;
    margin-top: 15%;
  }
  .extension.conversation .labels a {
    width: 20%;
    padding: 2%;
    font-size: 1.5em;
    display: inline-block;
  }
  .field {
    width: 90%;
    padding: 5%;
  }
  .field.conversation .picture > img {
    width: 100%;
    height: 100%;
  }
  .field.list .link .no {
    margin: 0;
  }
  .field .scene .audio_1 {
    margin: 0 2%;
  }
  .field .sentence .audio_1 {
    margin: 0 2%;
  }
  .field .scene .text {
    margin: 0 2%;
    width: 96%;
  }
  .word .wrapper {
    text-align: center;
  }
  .word .wrapper > * {
    margin: 5%;
  }
  .word .wrapper .Ab {
    font-size: 2.5em;
  }
  .word .wrapper .Ch {
    font-size: 1.5em;
  }
  .extension.conversation .exam {
    font-size: 3.7vw;
    line-height: 6vw;
  }
  .exam-btns {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
  }
  .exam-btns button {
    margin: 5px;
  }
}
