@charset "UTF-8";
:root {
  --font-family-custom: "Roboto", sans-serif;
  --font-family-base: "Roboto", sans-serif;
  --color-primary: #306fb7;
}

* {
  box-sizing: border-box;
}

html {
  font-size: 13px;
  font-family: "Poppins", "Helvetica", "sans-serif";
  color: #687a7e;
  scroll-behavior: smooth;
}
html::-webkit-scrollbar {
  width: 7px;
  height: 7px;
  background: white;
}
html::-webkit-scrollbar-thumb {
  background-color: #bdbdbd;
  border-radius: 50px;
}

body {
  margin: 0;
}

.text-dark {
  color: #181c32;
}

p {
  margin: 0 0 10px 0;
}

.wrap-table {
  overflow-x: auto;
}
.wrap-table .line-break svg {
  width: 35px;
  height: 35px;
}
@media only screen and (min-width: 375px) and (max-width: 424px) {
  .wrap-table {
    margin-right: 20px;
  }
}

table {
  border-collapse: collapse;
}

td {
  border: 1px solid #ddd;
  padding: 17px;
}

th {
  border: 1px solid #ddd;
  padding: 17px;
  background-color: #e6e6e6;
}

.w-64 {
  width: 64% !important;
}

.mr-25 {
  margin-right: 25px;
}

.justify-content-center {
  justify-content: center;
}

@keyframes growProgressBar {
  0%, 33% {
    --pgPercentage: 0;
  }
  100% {
    --pgPercentage: var(--value);
  }
}
@property --pgPercentage {
  syntax: "<number>";
  inherits: false;
  initial-value: 0;
}
div[role=progressbar] {
  position: absolute;
  right: 25px;
  --size: 18px;
  --fg: #285f9f;
  --bg: #e1dfe2;
  --pgPercentage: var(--value);
  width: var(--size);
  height: var(--size);
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: radial-gradient(closest-side, white 73%, transparent 0 99.9%, white 0), conic-gradient(var(--fg) calc(var(--pgPercentage) * 1%), var(--bg) 0);
  font-family: Helvetica, Arial, sans-serif;
  font-size: calc(var(--size) / 5);
  color: var(--fg);
}

.syllabus-container {
  width: 100%;
  height: 550px;
  font-family: var(--font-family-custom);
}
.syllabus-container .syllabus-header {
  width: 100%;
  height: 100%;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  display: flex;
  align-items: center;
}
.syllabus-container .syllabus-header .wrapper {
  width: 700px;
  margin: 0 auto;
}
.syllabus-container .syllabus-header .wrapper .author-avatar {
  display: flex;
  align-items: center;
}
.syllabus-container .syllabus-header .wrapper .author-avatar .background-avatar {
  width: 38px;
  height: 38px;
  border-radius: 50%;
  margin-right: 10px;
  background-color: #1bc5bd;
  color: white;
  display: flex;
  justify-content: center;
  align-items: center;
}
.syllabus-container .syllabus-header .wrapper .author-avatar .background-avatar img {
  border: 2px solid #fff;
  width: 100%;
  height: 100%;
  border-radius: 50%;
}
.syllabus-container .syllabus-header .wrapper .author-avatar .background-avatar .avatar-username {
  display: none;
  background-color: #1bc5bd;
  width: 100%;
  height: 100%;
  text-align: center;
  line-height: 38px;
  border-radius: 50%;
}
.syllabus-container .syllabus-header .wrapper .author-avatar .name {
  color: #fff;
  font-size: 16px;
  font-weight: 700;
}
.syllabus-container .syllabus-header .wrapper .syllabus-title {
  font-size: 40px;
  color: #fff;
  word-wrap: break-word;
  font-weight: bold;
  letter-spacing: -0.015px;
  margin: 20px 0 30px;
  text-shadow: 0 7px 13px #858585, 0 0px 8px #858585;
}
.syllabus-container .syllabus-header .wrapper .start-course-syllabus {
  padding: 11px 28px;
  background-color: #fff;
  border-radius: 100px;
  text-decoration: none;
  text-align: center;
  font-size: 12px;
  cursor: pointer;
  color: #4a4a4a;
  text-transform: uppercase;
  font-weight: bold;
  transition: transform 0.15s;
  display: inline-block;
  letter-spacing: 0.1px;
}
.syllabus-container .syllabus-header .wrapper .start-course-syllabus:hover {
  transform: scale(1.1);
}
.syllabus-container .syllabus-content {
  max-width: 700px;
  margin: 0 auto;
}
.syllabus-container .syllabus-content .description {
  font-size: 16px;
  line-height: 33px;
  margin: 50px 0;
}
.syllabus-container .syllabus-content .content {
  padding-bottom: 50px;
}
.syllabus-container .syllabus-content .content .session {
  text-transform: uppercase;
  margin-top: 15px;
  margin-bottom: 15px;
  letter-spacing: 0.6px;
  font-size: 14px;
  font-weight: 700;
  padding: 5px 0;
  border-bottom: 1px solid rgba(49, 53, 55, 0.1);
  color: #313537;
}
.syllabus-container .syllabus-content .content .lesson-syllabus,
.syllabus-container .syllabus-content .content .question-syllabus {
  padding: 20px 63px 20px 40px;
  line-height: 16px;
  font-size: 14px;
  font-weight: 700;
  position: relative;
  display: flex;
  align-items: center;
  position: relative;
  color: #313537;
  transition: background 0.3s;
  cursor: pointer;
}
.syllabus-container .syllabus-content .content .lesson-syllabus:hover,
.syllabus-container .syllabus-content .content .question-syllabus:hover {
  background-color: #f3f3f3;
}
.syllabus-container .syllabus-content .content .lesson-syllabus:hover .icon svg,
.syllabus-container .syllabus-content .content .question-syllabus:hover .icon svg {
  fill: #313537;
}
.syllabus-container .syllabus-content .content .lesson-syllabus .icon,
.syllabus-container .syllabus-content .content .question-syllabus .icon {
  position: absolute;
  left: 8px;
}
.syllabus-container .syllabus-content .content .lesson-syllabus .icon svg,
.syllabus-container .syllabus-content .content .question-syllabus .icon svg {
  fill: #717376;
}

.container {
  min-width: 1028px;
  display: flex;
}
@media only screen and (min-width: 375px) and (max-width: 424px) {
  .container {
    min-width: 100%;
  }
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
  .container {
    min-width: 100%;
  }
}
.container .box-image-zoom {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 100000;
  cursor: zoom-out;
}
.container .box-image-zoom::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  background-color: black;
  opacity: 0.5;
}
.container .box-image-zoom .image-zoom {
  width: 100%;
  height: 100%;
  position: relative;
  object-fit: contain;
}

.left-content {
  position: fixed;
  width: 20%;
  display: flex;
  flex-direction: column;
  overflow-y: auto;
  min-height: 100vh;
  max-height: 100vh;
  background-color: #f7f7f7;
  transition: all 0.3s;
  font-family: var(--font-family-base);
  z-index: 1000;
}
.left-content::-webkit-scrollbar {
  width: 5px;
}
.left-content::-webkit-scrollbar-thumb {
  background-color: #d1d1d1;
  border-radius: 50px;
}
@media only screen and (min-width: 375px) and (max-width: 424px) {
  .left-content {
    display: none;
  }
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
  .left-content {
    display: none;
  }
}
.left-content .left-content-header {
  padding: 20px;
  background-position: 50%;
  background-repeat: no-repeat;
  background-size: cover;
  box-sizing: border-box;
}
.left-content .left-content-header .content .title-syllabus {
  min-height: 50px;
  margin: 30px 0 5px;
  display: inline-block;
  font-size: 28px;
  color: white;
  font-weight: bold;
  text-decoration: none;
  text-shadow: 0 7px 13px #858585, 0 0px 8px #858585;
}
.left-content .left-content-header .content .sidebar-header-progress {
  margin-top: 30px;
  margin-bottom: 20px;
  height: 2px;
  background: rgba(255, 255, 255, 0.5019607843);
  width: 100%;
}
.left-content .left-content-header .content .sidebar-header-progress .progress-number {
  color: white;
  font-size: 11px;
  letter-spacing: 0.1px;
  text-transform: uppercase;
  font-weight: 700;
  padding-top: 7px;
  line-height: 13px;
}

.right-content {
  min-height: 100vh;
  position: relative;
  margin-left: auto;
  width: 80%;
  background-color: #ffffff;
  box-shadow: rgba(0, 0, 0, 0.12) 0 0 10px;
  transition: width 0.3s;
  font-family: var(--font-family-base);
  overflow: hidden;
}
.right-content .navbar-icon {
  display: none;
  position: fixed;
  left: 290px;
  top: 10px;
  transform: translateX(100%);
  font-size: 25px;
  color: black;
  z-index: 10000;
  cursor: pointer;
  background: hsla(0deg, 0%, 100%, 0.8);
  width: 25px;
  height: 25px;
  text-align: center;
  border-radius: 4px;
  padding: 1px;
  font-size: 22px;
}
.right-content .content-wrapper {
  min-height: 100vh;
}
.right-content .hidden {
  opacity: 0;
  transform: translateY(20px);
  transition: transform 0.5s, opacity 1s;
}
.right-content .hidden.position-on-top {
  position: relative;
  z-index: 1000;
}
.right-content .header-back {
  height: 60px;
  background-color: #f0f0f0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  cursor: pointer;
}
.right-content .header-back:hover {
  background-color: #e6e6e6;
}
.right-content .header-back:hover span {
  text-decoration: underline;
}
.right-content .header-back svg {
  height: 15px;
  width: 16px;
  color: black;
}
.right-content .header-back span {
  font-size: 15px;
  font-weight: 700;
  color: black;
}
.right-content .footer-next {
  height: 60px;
  background-color: #f0f0f0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  cursor: pointer;
}
.right-content .footer-next:hover {
  background-color: #e6e6e6;
}
.right-content .footer-next:hover span {
  text-decoration: underline;
}
.right-content .footer-next svg {
  height: 15px;
  width: 16px;
  color: black;
}
.right-content .footer-next span {
  font-size: 15px;
  font-weight: 700;
  color: black;
}
.right-content .show {
  opacity: 1;
  transform: translateY(0);
}
.right-content .break-item {
  display: none;
}
@media only screen and (min-width: 375px) and (max-width: 424px) {
  .right-content {
    width: 100%;
    overflow: hidden;
  }
  .right-content > div {
    width: 100%;
  }
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
  .right-content {
    width: 100%;
    overflow: hidden;
  }
  .right-content > div {
    width: 100%;
  }
}

.right-content::-webkit-scrollbar {
  width: 0;
}

.header-box {
  border-bottom: 1px solid #e4e4e4;
  padding-bottom: 30px;
  padding-top: 50px;
}
.header-box .icon-start-micro {
  position: absolute;
  font-size: 30px;
  color: white;
  width: 30px;
  cursor: pointer;
}
.header-box .icon-start-micro.horizontal {
  top: 48%;
  right: 30px;
  animation: bounceHorizontal 1.5s ease infinite;
}
.header-box .icon-start-micro.horizontal svg {
  transform: rotate(270deg);
}
.header-box .icon-start-micro.vertical {
  bottom: 30px;
  left: 50%;
  animation: bounceVertical 1.5s ease infinite;
}
.header-box .icon-start-micro:hover {
  animation: none;
}

@keyframes bounceHorizontal {
  0% {
    transform: translateX(25%);
  }
  50% {
    transform: translateX(-25%);
  }
  100% {
    transform: translateX(25%);
  }
}
@keyframes bounceVertical {
  0% {
    transform: translateY(25%);
  }
  50% {
    transform: translateY(-25%);
  }
  100% {
    transform: translateY(25%);
  }
}
.progress-header {
  height: 3px;
  width: 100%;
  position: sticky;
  top: 0;
  z-index: 10000;
}
.progress-header .progress-track-header {
  height: 100%;
  width: 0;
  background-color: var(--color-primary);
  transition-duration: 0.3s;
  transition-property: transform;
}

.header {
  display: flex;
  flex-direction: column;
  padding: 0 60px;
  margin: auto;
  max-width: 920px;
  width: 100%;
  position: relative;
}
.header::before {
  content: "";
  position: absolute;
  width: 100px;
  height: 5px;
  bottom: 0;
  left: 60px;
  background-color: var(--color-primary);
}
.header .lesson-number {
  font-family: var(--font-family-custom);
  font-style: italic;
  font-size: 12;
  margin-bottom: 16px;
}
.header .author-avatar {
  display: flex;
  align-items: center;
  width: fit-content;
  padding-bottom: 10px;
}
.header .author-avatar .background-avatar {
  width: 38px;
  height: 38px;
  border-radius: 50%;
  margin-right: 12px;
  color: white;
  display: flex;
  justify-content: center;
  align-items: center;
}
.header .author-avatar .background-avatar .avatar-username {
  display: none;
  background-color: #1bc5bd;
  width: 100%;
  height: 100%;
  text-align: center;
  line-height: 38px;
  border-radius: 50%;
}
.header .author-avatar .background-avatar img {
  width: 100%;
  height: 100%;
  border-radius: 50%;
}
.header .author-avatar .name {
  color: #282828;
  font-size: 14px;
  font-weight: 400;
}
@media only screen and (min-width: 375px) and (max-width: 424px) {
  .header {
    padding: 0 20px;
  }
}

.micro-learning {
  height: calc(100vh - 50px);
  border-bottom: 0px;
  display: flex;
  align-items: center;
  padding: 0;
}
.micro-learning .header::before {
  display: none;
}

.header-title {
  font-size: 34px;
  margin: 0 0 24px;
  font-weight: 600;
  color: #313537;
}

.author {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 20px;
  position: relative;
  align-self: flex-start;
}

.avatar-author {
  width: 38px;
  height: 38px;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #1bc5bd;
  font-size: 13px;
  font-weight: 600;
  color: white;
}

.author::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: -20px;
  width: 100%;
  height: 5px;
  background-color: var(--color-primary);
}

.author .name {
  line-height: 38px;
  color: #687a85;
  font-weight: 500;
}

.author img {
  width: 38px;
  height: 38px;
  border-radius: 50%;
}

.text-wrapper {
  display: flex;
  flex-direction: column;
  background: #fff;
}

.text-container {
  padding: 0 60px;
  margin-left: auto;
  margin-right: auto;
  max-width: 920px;
  width: 100%;
}
@media only screen and (min-width: 375px) and (max-width: 424px) {
  .text-container {
    width: 95%;
    padding: 20px;
  }
}

.text-two-column-container {
  padding: 0 60px;
  margin-left: auto;
  margin-right: auto;
  max-width: 920px;
  display: flex;
  grid-gap: 40px;
}
.text-two-column-container .text-body {
  flex: 1;
}

.text-two-column-container p {
  font-size: 18px;
}

.text-statement-a {
  padding: 35px 16%;
  text-align: center;
  border-top: 1px solid #d1d3e0;
  border-bottom: 1px solid #d1d3e0;
}

.text-statement-b {
  padding: 0 60px;
  text-align: center;
}

.text-statement-b p {
  font-size: 30px;
}

.text-statement-c p {
  font-size: 40px;
  line-height: 2;
}

.text-statement-d-wrapper {
  background-color: #ececec;
}
.text-statement-d-wrapper .line {
  width: 76px;
  height: 4px;
  background-color: var(--color-primary);
  margin-bottom: 13px;
}

.text-statement-d p {
  font-size: 24px;
  line-height: 2;
}

.text-heading,
.text-sub-heading {
  font-weight: 700;
  line-height: 1.25;
  padding: 10px 0;
  font-size: 17px;
  color: #181c32;
}

.text-paragraph-heading {
  font-weight: 700;
  line-height: 1.25;
  padding: 10px 0;
  font-size: 30px;
  color: #313537;
}

.text-heading {
  font-size: 32px;
}

.text-paragraph-with-sub-heading p {
  font-size: 17px;
  font-weight: 700;
}

.text-body {
  line-height: 2;
  font-size: 17px;
  color: #313537;
  font-family: var(--font-family-custom);
}

.image-container {
  overflow-x: hidden;
  position: relative;
  display: flex;
  flex-direction: column;
  padding-top: 30px;
}
.image-container.image-micro-container {
  padding: 0 !important;
  height: 100vh;
}
.image-container.image-micro-container::-webkit-scrollbar {
  width: 0;
  height: 0;
}
.image-container.image-micro-container .image-full-width-src {
  max-height: 100%;
}
.image-container.image-micro-container .image-full-width-src img {
  max-height: 100%;
  border-radius: 0;
}

.background-text-on-image {
  min-height: 400px;
  justify-content: center;
  background-size: cover;
  background-position: center;
  position: relative;
}
.background-text-on-image.micro-learning-text-on-image {
  height: 100vh;
  min-height: auto;
}

.background-opacity-text-on-image {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.text-on-image {
  width: 55%;
  top: 50%;
  margin-left: 12%;
  font-size: 33px;
  color: #fff;
  z-index: 10;
}

.note {
  max-width: 850px;
  padding: 20px;
  background-color: #fff4de;
  border-radius: 4px;
  font-size: 15px;
  display: flex;
  align-items: center;
  color: #5e5e5e;
  font-weight: 500;
  margin: 0 auto;
}

.note .icon i {
  font-size: 25px;
  margin-right: 20px;
  color: #ffa800;
}

.image-two-column-container,
.image-three-column-container,
.image-four-column-container {
  display: flex;
  padding: 0 20px 0 20px;
  align-items: flex-start;
  max-width: 1000px;
  margin: 0 auto;
}
.image-two-column-container .image-preview,
.image-three-column-container .image-preview,
.image-four-column-container .image-preview {
  aspect-ratio: 1/1;
}
@media only screen and (min-width: 375px) and (max-width: 424px) {
  .image-two-column-container,
.image-three-column-container,
.image-four-column-container {
    display: flex;
    flex-direction: column !important;
  }
  .image-two-column-container .image-preview,
.image-three-column-container .image-preview,
.image-four-column-container .image-preview {
    width: 95% !important;
    aspect-ratio: unset !important;
  }
  .image-two-column-container .image-preview img,
.image-three-column-container .image-preview img,
.image-four-column-container .image-preview img {
    object-fit: cover;
  }
  .image-two-column-container .image-text,
.image-three-column-container .image-text,
.image-four-column-container .image-text {
    aspect-ratio: unset !important;
    margin: 20px 0;
  }
}
.image-two-column-container.micro,
.image-three-column-container.micro,
.image-four-column-container.micro {
  max-width: 100%;
}

.image-and-text {
  align-items: center;
}
.image-and-text.reverse img {
  transform: translateX(50%);
  opacity: 0;
  transition: transform 1s, opacity 0.6s;
}
.image-and-text.reverse img.active {
  transform: translateX(0);
  opacity: 1;
}
.image-and-text.not-reverse img {
  transform: translateX(-50%);
  opacity: 0;
  transition: transform 1s, opacity 0.6s;
}
.image-and-text.not-reverse img.active {
  transform: translateX(0);
  opacity: 1;
}
.image-and-text .image-preview {
  aspect-ratio: 3/2;
}

.image-four-column-container {
  flex-wrap: wrap;
  row-gap: 25px;
}

.image-two-column-container .col {
  width: 50%;
}

.image-three-column-container .col {
  width: 33.33%;
  aspect-ratio: 1;
}

.image-four-column-container .col {
  width: calc(25% - 18.75px);
  aspect-ratio: 1;
}

.image-two-column-container p,
.image-three-column-container p,
.image-four-column-container p {
  font-size: 20px;
}

.image-center-src {
  display: flex;
  justify-content: center;
}

.image-center-src img {
  max-width: 920px;
  max-height: 900px;
  width: 80%;
  object-fit: contain;
  border-radius: 5px;
}

.image-full-width-src {
  width: 100%;
  height: 100%;
  max-height: 700px;
  min-height: 200px;
}
@media only screen and (min-width: 375px) and (max-width: 424px) {
  .image-full-width-src {
    display: flex;
    align-items: center;
  }
}

.image-full-width-src img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  background: #efefef;
  border-radius: 5px;
  max-height: 700px;
}

.image-caption {
  width: 85%;
  margin: 0 auto;
  padding: 15px 0px;
  color: #687a7e;
  font-weight: 600;
  font-size: 12px;
}

.image-text {
  flex: 1;
  font-size: 17px;
  margin-left: 25px;
  margin-right: 25px;
  color: #181c32;
}

.section {
  display: flex;
  flex-direction: column;
}

.lesson {
  line-height: 16px;
  padding: 20px 52px 20px 40px;
  cursor: pointer;
  position: relative;
}

.lesson:hover {
  background-color: #eee;
}

.lesson.active {
  position: relative;
}

.lesson.active::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 3px;
  height: 100%;
  background-color: var(--color-primary);
}

.section-title {
  font-weight: 600;
  padding: 20px 52px 20px 28px;
  text-transform: uppercase;
}

.video {
  max-width: 1100px;
  width: 80%;
  display: flex;
  flex-direction: column;
  margin: auto;
  padding-top: 10px;
  border-radius: 5px;
}
@media only screen and (min-width: 375px) and (max-width: 424px) {
  .video {
    width: 100%;
  }
}

.video-micro {
  padding: 0 !important;
}
.video-micro .video {
  width: 100%;
  max-width: 100%;
  padding: 0;
  border-radius: 0px;
}
.video-micro .video video {
  width: 100%;
  height: 100vh;
}

.multimedia-audio {
  max-width: 1100px;
  width: 80%;
  margin: 0 auto;
}
.multimedia-audio audio {
  width: 100%;
}

.attachment {
  width: 100%;
  max-width: 1100px;
  height: 115px;
  border: 1px solid #76767c;
  border-radius: 5px;
  padding: 30px;
  color: black;
  display: flex;
  align-items: center;
  background-color: white;
}
.attachment .icon-file {
  font-size: 50px;
}
.attachment .icon-file-word {
  color: #4c84c9;
}
.attachment .icon-file-excel {
  color: #2f8542;
}
.attachment .icon-file-pdf {
  color: #e15555;
}
.attachment .attachment-name {
  display: flex;
  flex-direction: column;
}
.attachment .attachment-name span:first-child {
  font-size: 17px;
  font-weight: 500;
  margin-left: 25px;
}
.attachment .attachment-name span:last-child {
  margin-left: 25px;
}
.attachment .icon-download {
  font-size: 24px;
  cursor: pointer;
}

.icon-download {
  margin-left: auto;
}

.active {
  background-color: #ffffff;
}

.mySlides {
  flex-direction: column;
  align-items: center;
}

.list-image-slice {
  display: flex;
  align-items: center;
  transform: translateX(-100%);
  transition: transform 0.5s;
}

.mySlides {
  flex-shrink: 0;
  width: 100%;
  display: flex;
}

.mySlides img {
  width: 80%;
  aspect-ratio: 1.5;
  object-fit: cover;
}

.carousel-text {
  margin-top: 15px;
}

.prev-image-slice,
.next-image-slice {
  cursor: pointer;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: auto;
  padding: 16px;
  color: #687a7e;
  font-weight: bold;
  font-size: 40px;
  transition: 0.6s ease;
  border-radius: 0 3px 3px 0;
}

.prev-image-slice {
  left: 5%;
}

.next-image-slice {
  right: 5%;
  border-radius: 3px 0 0 3px;
}

/* ===================QUESTION=================== */
.list-question {
  padding-top: 100px;
  position: relative;
  display: flex;
  justify-content: center;
}

.question-box {
  max-width: 900px;
  width: 100%;
  min-height: 600px;
  padding: 80px 0;
  margin: 0 auto;
  color: #313537;
  background-color: #fff;
  position: absolute;
  overflow-y: auto;
  height: 100px;
  transition: transform 0.5s, opacity 0.5s;
  border: 1px solid #d6d6d6;
  border-radius: 10px;
}
.question-box::-webkit-scrollbar {
  width: 5px;
  height: 5px;
}
.question-box::-webkit-scrollbar-thumb {
  background-color: #d6d6d6;
  border-radius: 50px;
}

.question-end-box {
  padding: 0 50px;
  width: 670px;
  margin-top: 50px;
}

.question-end-box .question-title {
  font-size: 32px;
  font-weight: 700;
  font-family: sans-serif;
}

.question-end-box .progress-question {
  width: 100%;
  height: 15px;
  border-radius: 10px;
  margin-top: 100px;
  background-color: #b8b8b8;
  position: relative;
}

.question-end-box .progress-question::before {
  content: "";
  position: absolute;
  top: 0;
  left: 80%;
  height: 100%;
  width: 1px;
  background-color: white;
}

.question-end-box .progress-question::after {
  content: "đạt";
  position: absolute;
  top: -25px;
  left: 80%;
  height: 100%;
  font-weight: 600;
  background-color: white;
  text-transform: uppercase;
  transform: translateX(-50%);
  color: black;
  font-family: sans-serif;
}

.question-end-box .progress-question .progress {
  height: 100%;
  border-radius: 10px;
  width: 0;
  transition: width 0.5s;
  transition-delay: 1s;
}

.question-end-box .again-question {
  display: inline-block;
  margin: 50px auto;
  text-transform: uppercase;
  font-size: 18px;
  font-weight: 600;
  font-family: sans-serif;
  width: 100%;
  cursor: pointer;
  color: #2e2e2e;
  text-align: center;
}

.question-end-box .score {
  text-align: center;
  margin-top: 20px;
  font-weight: 700;
  font-family: sans-serif;
  color: black;
}

.question-end-box .score .icon-false {
  font-size: 100px;
  color: black;
  display: block;
}

.question-end-box .score .icon-true {
  font-size: 100px;
  color: var(--color-primary);
  display: block;
}

.question-end-box .score .not-reached {
  color: black;
}

.question-end-box .score .reached {
  color: var(--color-primary);
}

.question-box .question-wrapper {
  width: 670px;
  margin: 0 auto;
}

.question-box .question-wrapper .question-title {
  font-weight: 700;
  font-style: italic;
}

.question-box .question-wrapper .question-intro-title {
  font-weight: 700;
  font-size: 40px;
  font-family: sans-serif;
  margin-bottom: 35px;
}

.question-box .question-wrapper .question-intro-content {
  font-weight: 400;
  font-size: 22px;
  line-height: 25px;
  position: relative;
  padding-top: 35px;
}

.question-box .question-wrapper .question-intro-content:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 150px;
  height: 5px;
  background-color: var(--color-primary);
}

.question-box .question-wrapper .question-index {
  font-size: 24px;
  font-weight: 700;
  font-family: system-ui;
  color: var(--color-primary);
  margin-bottom: 45px;
  margin-top: 10px;
}

.question-box .question-wrapper .question-content {
  font-size: 20px;
  border-bottom: 1px solid #ededed;
  padding-bottom: 20px;
}

.question-box .question-wrapper .question_image {
  height: 270px;
  max-width: 100%;
  text-align: center;
  padding: 10px 0;
}

.question-box .question-wrapper .question_image img {
  height: 100%;
  width: 100%;
  border-radius: 10px;
  object-fit: cover;
}

.question-box .question-wrapper .question-answers {
  padding: 10px 0;
}

.question-box .question-wrapper .question-answers.question-matching {
  display: flex;
  gap: 15px;
}

.question-box .question-wrapper .question-answers.question-matching .answer-title {
  flex: 1;
}

.question-box .question-wrapper .question-answers.question-matching .answer-title .answer-title-item {
  display: flex;
  align-items: center;
  position: relative;
}

.question-box .question-wrapper .question-answers.question-matching .answer-title .answer-title-item .answer-true {
  opacity: 0;
  visibility: hidden;
  position: absolute;
  left: -35px;
  top: 20px;
  width: 20px;
  height: 20px;
  border: 1px solid var(--color-primary);
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background-color: var(--color-primary);
  color: white;
  font-size: 13px;
  font-weight: 900;
  cursor: default;
  transition: opacity 0.2s;
}

.question-box .question-wrapper .question-answers.question-matching .answer-title .answer-title-item .answer-false {
  opacity: 0;
  visibility: hidden;
  position: absolute;
  left: -35px;
  top: 20px;
  width: 20px;
  height: 20px;
  border: 1px solid black;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background-color: black;
  color: white;
  font-size: 13px;
  font-weight: 900;
  cursor: default;
  transition: opacity 0.2s;
}

.question-box .question-wrapper .question-answers.question-matching .answer-title .answer-item {
  flex: 1;
  min-height: 60px;
  margin-bottom: 30px;
  clip-path: polygon(95% 0%, 100% 50%, 95% 100%, 0% 100%, 0% 0%);
  background-color: #efefef;
  cursor: grab;
  border-left: 5px solid gray;
  transition: transform 0.3s;
}

.question-box .question-wrapper .question-answers.question-matching .answer-title-matching {
  flex: 1;
}

.question-box .question-wrapper .question-answers.question-matching .answer-title-matching .answer-item {
  min-height: 60px;
  margin-bottom: 30px;
  clip-path: polygon(100% 0, 100% 100%, 0% 100%, 5% 50%, 0% 0%);
  background-color: #efefef;
  cursor: default;
}

.question-box .question-wrapper .question-answers .answer-item {
  font-size: 18px;
  min-height: 80px;
  display: flex;
  align-items: center;
  cursor: pointer;
  transition: transform 0.3s;
}

.question-box .question-wrapper .question-answers .answer-item input {
  margin-left: 20px;
  width: 20px;
  height: 20px;
  cursor: pointer;
  flex-shrink: 0;
}

.question-box .question-wrapper .question-answers .answer-item span {
  margin-left: 15px;
  line-height: 23px;
  padding: 15px 0;
}

.question-box .question-wrapper .question-answers .answer-item span.answer-matching-title {
  margin-left: 25px;
}

.question-box .question-wrapper .question-answers .answer-item:hover {
  background-color: #f3f6f9;
}

.answer-item .image-answer {
  width: 40px;
  height: 40px;
  object-fit: cover;
  border-radius: 5px;
  margin-left: 15px;
}

.question-box .question-wrapper .fill-in-blank {
  border-bottom: 0;
}

.question-box .question-wrapper .answer-fill-in-blank {
  font-size: 20px;
  border-bottom: 1px solid #ededed;
  position: relative;
}

.question-box .question-wrapper .answer-fill-in-blank .answer-true {
  /* display: none; */
  position: absolute;
}

.question-box .question-wrapper .answer-fill-in-blank .answer-false {
  position: absolute;
  left: -45px;
  top: 20px;
  width: 20px;
  height: 20px;
  border: 1px solid black;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background-color: black;
  color: white;
  font-size: 13px;
  font-weight: 900;
  cursor: default;
  visibility: hidden;
  opacity: 0;
  transition: opacity 0.3s;
}

.question-box .question-wrapper .answer-fill-in-blank .answer-true {
  position: absolute;
  left: -45px;
  top: 20px;
  width: 20px;
  height: 20px;
  border: 1px solid var(--color-primary);
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background-color: var(--color-primary);
  color: white;
  font-size: 13px;
  font-weight: 900;
  cursor: default;
  visibility: hidden;
  opacity: 0;
  transition: opacity 0.2s;
}

.question-box .question-wrapper .answer-acceptable {
  margin-top: 15px;
  color: gray;
  font-family: sans-serif;
  visibility: hidden;
  opacity: 0;
  transition: opacity 0.2s;
}

.question-box .question-wrapper .answer-fill-in-blank input {
  width: 100%;
  font-size: 18px;
  margin-bottom: 10px;
  margin-top: 20px;
  border: none;
  outline: none;
}

.question-box .question-wrapper .answer-fill-in-blank input::placeholder {
  color: gray;
}

.question-box .button-question {
  width: 170px;
  height: 40px;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 20px;
  font-size: 13px;
  font-weight: 600;
  color: white;
  text-transform: uppercase;
  font-family: sans-serif;
  letter-spacing: 1px;
  margin: 0 auto;
  margin-top: 20px;
  background-color: #c0c0c0;
  cursor: default;
  transition: background 0.3s;
}

.question-box .button-question.enabledButton {
  background-color: var(--color-primary);
  cursor: pointer;
}

.question-box .question-wrapper .question-answers .answer-item {
  position: relative;
}

.question-box .question-wrapper .question-answers .answer-item::after {
  position: absolute;
  content: "";
  transition: all 0.25s;
  width: 0%;
  height: 0%;
  top: 5px;
  right: 0;
  box-sizing: border-box;
  border-top: 3px solid transparent;
  border-right: 3px solid transparent;
}

.question-box .question-wrapper .question-answers .answer-item::before {
  position: absolute;
  content: "";
  transition: all 0.25s;
  border-bottom: 3px solid transparent;
  border-left: 3px solid transparent;
  width: 0%;
  height: 0%;
  left: 0;
  bottom: 5px;
  box-sizing: border-box;
}

.question-box .question-wrapper .question-answers .answer-item.border-question-active::before {
  width: 100%;
  height: calc(100% - 10px);
  border-bottom: 3px solid var(--color-primary);
  border-left: 3px solid var(--color-primary);
}

.question-box .question-wrapper .question-answers .answer-item.border-question-active::after {
  width: 100%;
  height: calc(100% - 10px);
  border-top: 3px solid var(--color-primary);
  border-right: 3px solid var(--color-primary);
}

.question-box .question-wrapper .question-answers .answer-item.border-dark.border-question-active::before {
  width: 100%;
  height: calc(100% - 10px);
  border-bottom: 3px solid gray;
  border-left: 3px solid gray;
}

.question-box .question-wrapper .question-answers .answer-item.border-dark.border-question-active::after {
  width: 100%;
  height: calc(100% - 10px);
  border-top: 3px solid gray;
  border-right: 3px solid gray;
}

.question-box .question-wrapper .question-answers.disabled-action-answer .answer-item {
  background-color: transparent;
  cursor: default;
}

.question-box .question-wrapper .question-answers .answer-item .answer-true {
  margin-left: 20px;
  width: 20px;
  height: 20px;
  border: 1px solid black;
  align-items: center;
  justify-content: center;
  color: var(--color-primary);
  display: none;
  border-radius: 50%;
}

.question-box .question-wrapper .question-answers .answer-item .answer-false {
  margin-left: 20px;
  width: 20px;
  height: 20px;
  border: 1px solid black;
  align-items: center;
  justify-content: center;
  display: none;
  border-radius: 50%;
}

.question-box .question-wrapper .question-answers .answer-item .answer-true.checkbox {
  margin-left: 20px;
  width: 20px;
  height: 20px;
  align-items: center;
  justify-content: center;
  color: var(--color-primary);
  display: none;
  border-radius: 2px;
}

.question-box .question-wrapper .question-answers .answer-item .answer-false.checkbox {
  margin-left: 20px;
  width: 20px;
  height: 20px;
  align-items: center;
  justify-content: center;
  display: none;
  border-radius: 2px;
}

.question-box .question-wrapper .question-answers .answer-item .answer-true span {
  margin: 0;
  font-weight: 900;
  font-size: 14px;
}

.question-box .question-wrapper .question-answers .answer-item .answer-false span {
  margin: 0;
  font-weight: 900;
  font-size: 14px;
}

.question-box .question-wrapper .question-answers.disabled-action-answer .answer-item input {
  display: none;
}

.question-box .question-wrapper .question-answers.disabled-action-answer .answer-item .answer-true {
  display: flex;
  flex-shrink: 0;
}

.question-box .question-wrapper .question-answers.disabled-action-answer .answer-item .answer-false {
  display: flex;
  flex-shrink: 0;
}

.question-box .button-question.next-question {
  visibility: hidden;
  opacity: 0;
  transform: translateY(100px);
  transition: opacity 0.3s, transform 0.5s;
  background-color: var(--color-primary);
  cursor: pointer;
  position: relative;
  top: 20px;
}

.question-box .button-question.next-question.intro {
  background-color: transparent;
  align-self: flex-start;
  margin-left: 106px;
  color: var(--color-primary);
  width: 100px;
  margin-top: 30px;
}

.question-box .button-question.next-question.active-button {
  visibility: visible;
  opacity: 1;
  transform: translateY(0px);
}

.list-wrapper {
  max-width: 920px;
  margin: 0 auto;
  padding: 0 60px;
  display: flex;
  flex-direction: column;
  row-gap: 27px;
  width: 100%;
}
@media only screen and (min-width: 375px) and (max-width: 424px) {
  .list-wrapper {
    padding: 0 20px;
    width: 95%;
  }
}

.list-wrapper .item-list {
  display: flex;
  align-items: flex-start;
  opacity: 0;
  transform: translateX(100px);
  transition: transform 1s, opacity 1s;
}
.list-wrapper .item-list.show {
  opacity: 1;
  transform: translateY(0);
}

.item-list .title-number {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  color: white;
  background-color: var(--color-primary);
  flex-shrink: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 21px;
  font-family: var(--font-family-custom);
  margin-right: 35px;
}
@media only screen and (min-width: 375px) and (max-width: 424px) {
  .item-list .title-number {
    margin-right: 15px;
  }
}

.item-list .title-checkbox {
  margin-right: 35px;
}

.item-list .content {
  font-size: 17px;
  line-height: 28px;
  font-family: var(--font-family-custom);
  color: #313537;
}

.container-checkbox {
  display: inline-block;
  position: relative;
  cursor: pointer;
  font-size: 30px;
  user-select: none;
  padding-left: 40px;
  margin-bottom: 10px;
}

.container-checkbox input {
  position: absolute;
  opacity: 0;
  cursor: pointer;
  height: 0;
  width: 0;
}

.checkmark {
  position: absolute;
  top: 0;
  left: 0;
  width: 23px;
  height: 23px;
  border-radius: 5px;
  border: 3px solid var(--color-primary);
  transition: background 0.3s;
}

.checkmark:after {
  content: "";
  position: absolute;
  display: none;
}

.container-checkbox .checkmark:after {
  top: 50%;
  left: 50%;
  width: 5px;
  height: 10px;
  border: solid white;
  border-width: 0 3px 3px 0;
  transform: translate(-50%, -50%) rotate(45deg);
}

.container-checkbox input:checked ~ .checkmark {
  background: var(--color-primary);
}

.container-checkbox input:checked ~ .checkmark:after {
  display: block;
}

.item-list .title-bulleted {
  margin-right: 35px;
}

.title-bulleted .bulleted {
  display: inline-block;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--color-primary);
  margin-top: 10px;
  margin-left: 10px;
}

.card-wrapper {
  max-width: 1000px;
  min-height: 310px;
  width: 100%;
  margin-top: 20px;
  display: flex;
  justify-content: center;
  gap: 30px;
  flex-wrap: wrap;
  margin: 0 auto;
}

.flip-card {
  background-color: transparent;
  width: 280px;
  height: 280px;
  perspective: 1000px;
  cursor: pointer;
}

.flip-card-inner {
  position: relative;
  width: 100%;
  height: 100%;
  text-align: center;
  transition: transform 0.6s;
  transform-style: preserve-3d;
  box-shadow: 0 4px 12px 2px rgba(0, 0, 0, 0.0509803922);
  border: 1px solid #ddd;
}

.flip-card-inner .flip-icon {
  position: absolute;
  right: 10px;
  bottom: 10px;
}

.flip-card-front,
.flip-card-back {
  position: absolute;
  width: 100%;
  height: 100%;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  color: black;
  border-top: 4px solid var(--color-primary);
}

.flip-card-front .image-full {
  width: 100%;
  height: 100%;
}

.flip-card-front .image-full img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.flip-card-front .description {
  height: 100%;
  font-weight: 400;
  font-size: 24px;
  padding: 20px;
  overflow-y: auto;
  padding-bottom: 16px;
}
.flip-card-front .description::-webkit-scrollbar {
  width: 5px;
  height: 5px;
  background: white;
}
.flip-card-front .description::-webkit-scrollbar-thumb {
  background-color: #bdbdbd;
  border-radius: 50px;
}

.flip-card-front .image-centered {
  height: 100%;
}

.flip-card-front .image-centered img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.flip-card-back .image-full {
  width: 100%;
  height: 100%;
}

.flip-card-back .image-full img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.flip-card-back .description {
  height: 100%;
  font-weight: 400;
  font-size: 24px;
  padding: 20px;
  overflow-y: auto;
  padding-bottom: 16px;
}
.flip-card-back .description::-webkit-scrollbar {
  width: 5px;
  height: 5px;
  background: white;
}
.flip-card-back .description::-webkit-scrollbar-thumb {
  background-color: #bdbdbd;
  border-radius: 50px;
}

.flip-card-back .image-centered {
  height: 100%;
}

.flip-card-back .image-centered img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.flip-card-back {
  transform: rotateY(180deg);
}

.flip-card.flip-card-active .flip-card-inner {
  transform: rotateY(180deg) scale(1.08);
}

.flip-card-stack {
  opacity: 0;
  visibility: hidden;
}

.card-stack {
  min-height: 400px;
  position: relative;
}

.card-stack .flip-card {
  position: absolute;
  width: 400px;
  height: 400px;
}

.card-stack .flip-card.card-active-next {
  animation-name: card-active-next;
  animation-duration: 0.3s;
}

.card-stack .flip-card.card-active-prev {
  animation-name: card-active-prev;
  animation-duration: 0.3s;
}

.card-stack .flip-card .flip-card-inner {
  background-color: white;
}

.card-stack .flip-card .description {
  text-align: center;
}

.control-next-and-prev {
  justify-content: space-between;
  display: flex;
  align-items: center;
  width: 400px;
  margin: 0 auto;
  margin-top: 20px;
}

.control-next-and-prev .control {
  width: 42px;
  height: 42px;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  cursor: pointer;
  background-color: var(--color-primary);
}

.control-next-and-prev .control i {
  color: white;
}

.control-next-and-prev .disable {
  opacity: 0.7;
}

.control-next-and-prev .control-centered {
  text-align: center;
}

.control-next-and-prev .control-centered .progress-card {
  width: 150px;
  height: 1px;
  margin-top: 8px;
  background-color: #d1d3e0;
}

.control-next-and-prev .control-centered .progress-card .progress-background {
  height: 100%;
  background-color: var(--color-primary);
  transition: width 0.3s;
}

@keyframes card-active-next {
  0% {
    opacity: 0;
    visibility: hidden;
    transform: translateX(200px);
  }
  100% {
    opacity: 1;
    visibility: visible;
    transform: translateX(0);
  }
}
@keyframes card-active-prev {
  0% {
    opacity: 0;
    visibility: hidden;
    transform: translateX(-200px);
  }
  100% {
    opacity: 1;
    visibility: visible;
    transform: translateX(0);
  }
}
.slice-container {
  position: relative;
  min-height: 480px;
  background-color: #f5f5f5;
  transition: height 0.3s;
}

.list-slice {
  overflow: hidden;
  height: 100%;
}

.list-slice-micro {
  height: auto !important;
  padding: 0 !important;
}
.list-slice-micro .slice {
  height: 100vh;
  padding: 0 !important;
}
.list-slice-micro .slice .card-slice {
  height: 100%;
  overflow-y: scroll;
  padding-top: 100px;
  padding-bottom: 0;
}
.list-slice-micro .slice .card-slice::-webkit-scrollbar {
  width: 0;
  height: 0;
  background: white;
}
.list-slice-micro .slice .card-slice .step {
  top: 20px;
}
.list-slice-micro .slice .card-slice .image-slice {
  max-height: 70vh;
}

.slice-process {
  display: flex;
  align-items: flex-start;
  transition: transform 0.5s;
}

.list-slice .slice {
  min-height: 380px;
  padding: 50px 0;
  width: 100%;
  flex-shrink: 0;
}

.zoom-in-click {
  cursor: zoom-in;
}

.slice .card-slice {
  margin: 0 auto;
  background-color: white;
  max-width: 100%;
  min-height: 380px;
  width: 65%;
  min-width: 800px;
  border-radius: 4px;
  padding: 75px 70px;
  box-sizing: border-box;
  opacity: 0;
  transform: scale(0.5);
  transition: opacity 0.5s, transform 0.4s;
}
@media only screen and (min-width: 375px) and (max-width: 424px) {
  .slice .card-slice {
    padding: 75px 50px;
  }
}

.slice .card-slice .card-title {
  text-align: center;
  font-size: 30px;
  font-weight: 700;
  color: #313537;
  margin-bottom: 20px;
}

.slice .card-slice .card-step-title {
  text-align: start;
}

.slice .card-slice .card-content {
  font-size: 17px;
  text-align: center;
  color: #313537;
  font-family: var(--font-family-custom);
  line-height: 1.8;
  margin-bottom: 25px;
}
.slice .card-slice .card-content.content-left {
  text-align: left;
}

.card-slice .button-start-slice {
  width: 170px;
  height: 40px;
  border-radius: 20px;
  color: white;
  background-color: var(--color-primary);
  text-transform: uppercase;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 600;
  font-size: 12px;
  cursor: pointer;
  margin: 0 auto;
}

.button-start-slice span {
  margin-right: 7px;
  line-height: 10px;
}

.button-start-again-slice {
  color: var(--color-primary);
  font-weight: 600;
  font-size: 12px;
  text-transform: uppercase;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  cursor: pointer;
  width: 100px;
  margin: 0 auto;
}

.button-start-again-slice i {
  font-size: 20px;
}

.card-slice {
  position: relative;
}

.card-slice .step {
  position: absolute;
  top: -23px;
  left: 50%;
  transform: translateX(-50%);
  padding: 8px 20px;
  font-size: 20px;
  background: var(--color-primary);
  color: white;
  border-radius: 8px;
  font-weight: 700;
}

.card-slice .image-slice {
  display: block;
  max-width: 100%;
  margin: 0 auto;
  margin-bottom: 25px;
  max-height: 380px;
  border-radius: 10px;
}
.card-slice .video-slice {
  width: 100%;
  aspect-ratio: 16/9;
  border-radius: 7px;
  margin-bottom: 10px;
}

.control-slice {
  top: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  z-index: 1000;
}

.control-slice .prev-slice,
.control-slice .next-slice {
  position: absolute;
  width: 50px;
  height: 50px;
  border-radius: 50%;
  background-color: #313537;
  color: white;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  z-index: 1000;
  transform: translateY(-50%);
  transition: opacity 0.5s;
}

.control-slice .prev-slice {
  top: 50%;
  left: 5%;
}
@media only screen and (min-width: 375px) and (max-width: 424px) {
  .control-slice .prev-slice {
    left: 30%;
    top: calc(100% - 40px);
  }
}

.control-slice .next-slice {
  top: 50%;
  right: 5%;
}
@media only screen and (min-width: 375px) and (max-width: 424px) {
  .control-slice .next-slice {
    right: 30%;
    top: calc(100% - 40px);
  }
}

.control-slice .prev-slice i,
.control-slice .next-slice i {
  font-size: 20px;
}

.graphic-container .graphic-image {
  margin: 0 auto;
  position: relative;
}

.graphic-image img {
  width: 100%;
  border-radius: 10px;
}

.graphic-items .tooltip {
  background-color: white;
  position: absolute;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--color-primary);
  z-index: 100;
  box-shadow: 0 0.2rem 0.6rem rgba(0, 0, 0, 0.75);
  font-weight: 700;
  cursor: pointer;
  transform: translate(-50%, -50%);
}

.graphic-items .tooltip:hover {
  border: 2px solid var(--color-primary);
}

.graphic-items .tooltip::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  height: 100%;
  border-radius: 50%;
  border: 3px solid rgba(255, 255, 255, 0.4745098039);
  transform: translate(-50%, -50%) scale(1.2);
  animation: tooltip-image-animation infinite 2s alternate;
}

@keyframes tooltip-image-animation {
  0% {
    transform: translate(-50%, -50%) scale(1.2);
  }
  100% {
    transform: translate(-50%, -50%) scale(1.5);
  }
}
.graphic-tooltip-content {
  position: absolute;
  background-color: #fff;
  color: #313537;
  width: 350px;
  max-height: 450px;
  padding: 30px;
  border-bottom: 4px solid var(--color-primary);
  border-radius: 4px;
  z-index: 10000;
  transform: translate(calc(-100% - 35px), -50%) scale(0.6);
  box-shadow: 0 0 1rem rgba(0, 0, 0, 0.5);
  visibility: hidden;
  opacity: 0;
  transition: transform 0.3s, opacity 0.3s;
}

.graphic-tooltip-content.show {
  visibility: visible;
  opacity: 1;
  transform: translate(calc(-100% - 35px), -50%) scale(1);
}

.graphic-tooltip-content::after {
  content: "";
  position: absolute;
  right: -6px;
  top: 50%;
  transform: translateY(-50%);
  width: 0;
  height: 0;
  border-top: 8px solid transparent;
  border-left: 10px solid white;
  border-bottom: 8px solid transparent;
}

.graphic-tooltip-content .graphic-title {
  font-size: 20px;
  font-weight: 700;
  margin-bottom: 30px;
  margin-right: 45px;
}

.graphic-tooltip-content .graphic-action {
  position: absolute;
  top: 25px;
  right: 30px;
}
.graphic-tooltip-content .graphic-action i {
  font-size: 15px;
  padding: 10px;
  cursor: pointer;
}
.graphic-tooltip-content .graphic-action i:hover {
  color: var(--color-primary);
}

.graphic-tooltip-content .graphic-description {
  font-family: var(--font-family-custom);
  margin-bottom: 10px;
  line-height: 1.74;
  letter-spacing: 0.1px;
  font-size: 16px;
  font-weight: 300;
  max-height: 320px;
  overflow-y: auto;
}
.graphic-tooltip-content .graphic-description audio {
  width: 100%;
}
.graphic-tooltip-content .graphic-description video {
  width: 100%;
  aspect-ratio: 16/9;
  border-radius: 7px;
}

.graphic-tooltip-content .graphic-description::-webkit-scrollbar {
  width: 5px;
}

.graphic-tooltip-content .graphic-description::-webkit-scrollbar-thumb {
  background-color: #b4b4b4;
  border-radius: 50px;
}

.graphic-tooltip-content .graphic-description img {
  width: 100%;
}

/* SORT */
.sort-container {
  padding: 30px 0;
  min-height: 400px;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.sort-container .sort-items {
  position: relative;
  width: 300px;
  height: 200px;
}
.sort-container .sort-items .sort-item {
  position: absolute;
  width: inherit;
  height: inherit;
  background-color: white;
  cursor: grab;
  border-radius: 4px;
  border: 1px solid #d1d3e0;
  border-top: 3px solid var(--color-primary);
  box-shadow: 0 2px 4px #d1d3e0;
  z-index: 1000;
}
.sort-container .sort-items .sort-item .title {
  position: absolute;
  top: 50%;
  left: 50%;
  color: #181c32;
  font-size: 17px;
  font-weight: 600;
  transform: translate(-50%, -50%);
  width: 80%;
  text-align: center;
}
.sort-container .sort-items .sort-item .bar-icon {
  position: absolute;
  bottom: 10px;
  left: 50%;
  transform: translateX(-50%);
}
.sort-container .sort-items .result {
  display: none;
  text-align: center;
  font-size: 20px;
  font-weight: 700;
  color: #313537;
  margin-top: 50px;
}
.sort-container .sort-items .result .replay {
  font-size: 20px;
  margin-top: 30px;
  text-transform: uppercase;
  cursor: pointer;
}
.sort-container .sort-items .result .replay:hover {
  color: var(--color-primary);
}
.sort-container .sort-piles {
  margin-top: 100px;
  display: flex;
  justify-content: space-around;
  padding-bottom: 50px;
  width: 100%;
}
.sort-container .sort-piles .sort-pile {
  position: relative;
  border-radius: 4px;
  background-color: #d1d3e0;
  width: 300px;
  aspect-ratio: 3/2;
  border: 2px dashed gray;
  overflow: hidden;
}
.sort-container .sort-piles .sort-pile .title {
  position: absolute;
  top: 50%;
  left: 50%;
  color: #181c32;
  font-size: 17px;
  font-weight: 500;
  transform: translate(-50%, -50%);
  text-align: center;
}
.sort-container .sort-piles .sort-pile .sort-item {
  position: absolute;
  width: 100%;
  height: 100%;
  background-color: white;
  cursor: grab;
  border-radius: 4px;
  border: 1px solid #d1d3e0;
  border-top: 3px solid var(--color-primary);
  box-shadow: 0 2px 4px #d1d3e0;
  z-index: 1000;
  animation-name: sort-item;
  animation-duration: 2s;
  animation-fill-mode: forwards;
  animation-delay: 0.1s;
}
.sort-container .sort-piles .sort-pile .sort-item:before {
  content: "✔";
  top: 0;
  left: 0;
  width: 40px;
  height: 40px;
  background: var(--color-primary);
  position: absolute;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 50%;
  animation-name: check-icon;
  animation-duration: 1s;
  animation-fill-mode: forwards;
  color: white;
  font-size: 20px;
}
.sort-container .sort-piles .sort-pile .sort-item .title {
  position: absolute;
  top: 50%;
  left: 50%;
  color: #181c32;
  font-size: 17px;
  font-weight: 500;
  transform: translate(-50%, -50%);
}
.sort-container .sort-piles .sort-pile .sort-item .bar-icon {
  position: absolute;
  bottom: 10px;
  left: 50%;
  transform: translateX(-50%);
}

@keyframes check-icon {
  0% {
    width: 0;
    height: 0;
    transform: scale(0) translate(-50%, -50%);
  }
  100% {
    width: 40px;
    height: 40px;
    transform: scale(1) translate(-50%, -50%);
  }
}
@keyframes sort-item {
  0% {
    transform: scale(1);
  }
  50% {
    transform: scale(0.8);
  }
  60% {
    transform: scale(0.8);
  }
  100% {
    transform: scale(0.8) translateY(130%);
  }
}
.drive-container {
  max-width: 920px;
  margin: 0 auto;
}
.drive-container .continue-widget {
  width: 85%;
  height: 57px;
  color: white;
  font-size: 15px;
  font-weight: 700;
  margin: 0 auto;
  background-color: var(--color-primary);
  display: flex;
  justify-content: center;
  align-items: center;
  text-transform: uppercase;
  letter-spacing: 1.7px;
  border-radius: 2px;
  cursor: pointer;
}
.drive-container .drive-widget::before {
  border-top: 0.1rem solid #000;
  content: "";
  display: block;
  margin: 0 -8%;
  opacity: 0.1;
}
.drive-container .drive-number {
  padding: 2.5rem 0;
}
.drive-container .drive-number::before {
  border-top: 0.1rem solid var(--color-primary);
  content: "";
  display: block;
  margin: 0 -8%;
  opacity: 0.3;
}
.drive-container .drive-number::after {
  content: attr(data-number);
  font-family: var(--font-family-custom);
  background: var(--color-primary);
  border-radius: 50%;
  color: #fff;
  display: block;
  font-weight: 700;
  height: 50px;
  line-height: 50px;
  margin: -26px auto;
  position: relative;
  text-align: center;
  width: 50px;
  font-size: 18px;
}
.drive-container .space {
  height: 30px;
}

/* DLOW SLICE */
.dlow-slice {
  max-width: 1100px;
  width: 80%;
  display: flex;
  flex-direction: column;
  margin: auto;
  padding-top: 10px;
}
@media only screen and (min-width: 375px) and (max-width: 424px) {
  .dlow-slice {
    width: 95%;
    margin: 0 auto;
  }
}
.dlow-slice .video-slice {
  width: 100%;
  height: 620px;
  border: none;
  border: 1px dashed gray;
  border-radius: 10px;
}
@media only screen and (min-width: 375px) and (max-width: 424px) {
  .dlow-slice .video-slice {
    height: 300px;
  }
}

.quote-container {
  max-width: 920px;
  margin: 0 auto;
  padding: 40px;
}
.quote-container.quote-container-a {
  border-top: 1px solid #dfdfdf;
  border-bottom: 1px solid #dfdfdf;
}
.quote-container .quote-a-avatar {
  margin: 0 auto 30px;
  width: 70px;
  height: 70px;
  border-radius: 50%;
  border: 2px solid white;
  box-shadow: 0 1px 0 0 #adadad;
}
.quote-container .quote-a-avatar img {
  border-radius: 50%;
  object-fit: cover;
  width: 100%;
  height: 100%;
}
.quote-container .quote-a-content {
  font-size: 14px;
  line-height: 1.7;
  text-align: center;
  color: #181c32;
  word-wrap: break-word;
  font-family: var(--font-family-custom);
}
.quote-container .quote-a-content p:last-child::after {
  content: "”";
  display: inline;
}
.quote-container .quote-a-content p:first-child::before {
  content: "“";
  display: inline;
}
.quote-container .quote-a-name {
  display: flex;
  justify-content: center;
  font-size: 14px;
  line-height: 1.7;
  text-align: center;
  color: #181c32;
  word-wrap: break-word;
}
.quote-container .quote-b-avatar {
  margin: 0 auto 30px;
  width: 60px;
  height: 60px;
  border-radius: 50%;
}
.quote-container .quote-b-avatar img {
  border-radius: 50%;
  object-fit: cover;
  width: 100%;
  height: 100%;
}
.quote-container .quote-b-content {
  font-size: 32px;
  line-height: 1.4;
  font-weight: 400;
  text-align: center;
  color: #181c32;
  word-wrap: break-word;
}
.quote-container .quote-b-name {
  font-size: 14px;
  line-height: 1.7;
  text-align: center;
  color: #181c32;
  word-wrap: break-word;
}
.quote-container.quote-container-c {
  max-width: 840px;
  display: flex;
  align-items: flex-start;
  margin: 0 auto;
  padding: 40px;
  padding: 60px 15px;
  position: relative;
}
.quote-container.quote-container-c::before {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg width='77.611' height='99' viewBox='0 0 20.534 26.194' xml:space='preserve' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M.161 26.194h13.23V13.229H8.363c0-5.477 3.354-6.752 7.938-8.202L15.243 0c-1.96 0-3.923.107-5.821.642C-1.993 3.859.162 16.966.162 26.194z'/%3E%3C/svg%3E");
  content: "";
  height: 100px;
  left: 20%;
  opacity: 0.027;
  pointer-events: none;
  position: absolute;
  top: 0;
  width: 130px;
}
.quote-container.quote-container-c .quote-c-avatar {
  margin: 0 auto;
  width: 30%;
  flex-shrink: 0;
  position: relative;
}
.quote-container.quote-container-c .quote-c-avatar img {
  object-fit: cover;
  height: 200px;
  height: 200px;
}
.quote-container.quote-container-c .quote-c-content {
  font-size: 14px;
  line-height: 2;
  color: #181c32;
  word-wrap: break-word;
  font-family: var(--font-family-customs);
  font-weight: 400;
}
.quote-container.quote-container-c .quote-c-content p:last-child::after {
  content: "”";
  display: inline;
}
.quote-container.quote-container-c .quote-c-content p:first-child::before {
  content: "“";
  display: inline;
}
.quote-container.quote-container-c .quote-c-name {
  color: #181c32;
  margin-top: 17px;
  display: flex;
}

.accordion-wrapper {
  position: relative;
  margin-left: auto;
  margin-right: auto;
  width: 800px;
  max-width: 100%;
  min-width: 800px;
  background-color: white;
  font-family: var(--font-family-base);
}
.accordion-wrapper .accordion {
  border-bottom: 1px solid #ddd;
}
.accordion-wrapper .accordion .accordion-item .accordion-title {
  box-sizing: border-box;
  border: 1px solid #ddd;
  border-bottom: none;
  color: #282828;
  cursor: pointer;
  font-size: 18px;
  font-weight: 700;
  line-height: 2.2222;
  padding: 30px;
  text-align: left;
  text-decoration: none;
  transition: border 0.3s;
  width: 100%;
  cursor: pointer;
  display: flex;
  line-height: 1.4;
}
.accordion-wrapper .accordion .accordion-item .accordion-title .title {
  flex: 1;
}
.accordion-wrapper .accordion .accordion-item .accordion-title .accordion-hide {
  display: none;
}
.accordion-wrapper .accordion .accordion-item .accordion-title .active-accordion .accordion-show {
  display: none;
}
.accordion-wrapper .accordion .accordion-item .accordion-title .active-accordion .accordion-hide {
  display: block;
}
.accordion-wrapper .accordion .accordion-item .accordion-desc {
  border-left: 1px solid #ddd;
  border-right: 1px solid #ddd;
  display: none;
}
.accordion-wrapper .accordion .accordion-item.active-desc {
  border-left: 4px solid var(--color-primary);
}
.accordion-wrapper .accordion .accordion-item.active-desc .accordion-desc {
  display: block;
}
.accordion-wrapper .accordion .accordion-item .accordion-content {
  padding: 30px;
  padding-top: 0;
  font-size: 16px;
  color: #181c32;
  line-height: 45px;
}
.accordion-wrapper .accordion .accordion-item .accordion-content li {
  padding-bottom: 2px;
}
.accordion-wrapper .accordion .accordion-item .accordion-img {
  display: flex;
  justify-content: center;
  padding-bottom: 20px;
}
.accordion-wrapper .accordion .accordion-item .accordion-img img {
  width: 90%;
  max-height: 450px;
  object-fit: contain;
  border-top: none;
  border-radius: 7px;
}
.accordion-wrapper .accordion .accordion-item .accordion-video {
  display: flex;
  justify-content: center;
  margin-top: 20px;
  padding-bottom: 20px;
}
.accordion-wrapper .accordion .accordion-item .accordion-video video {
  width: 90%;
  aspect-ratio: 16/9;
  border-radius: 7px;
}
.accordion-wrapper .interactive-tabs {
  display: flex;
  overflow-x: auto;
  overflow-y: hidden;
  width: 100%;
  border-right: 1px solid #ddd;
}
.accordion-wrapper .interactive-tabs::-webkit-scrollbar {
  width: 5px;
  height: 5px;
  background: white;
}
.accordion-wrapper .interactive-tabs::-webkit-scrollbar-thumb {
  background-color: #bdbdbd;
  border-radius: 50px;
}
.accordion-wrapper .interactive-tabs .tab-item {
  align-items: center;
  background: #f5f5f5;
  border: 1px solid #ddd;
  border-right: none;
  color: #000;
  cursor: pointer;
  display: flex;
  flex: 0 1 100%;
  font-size: 12px;
  font-weight: 600;
  height: 80px;
  justify-content: center;
  letter-spacing: 0.12em;
  line-height: 1.66667;
  outline-offset: -3px;
  padding: 10px 5px;
  text-align: center;
  text-decoration: none;
  text-overflow: ellipsis;
  text-transform: uppercase;
  transition: background 0.3s, border-bottom-color 0.3s;
  word-break: break-word;
  min-width: 30%;
}
.accordion-wrapper .interactive-tabs .active-tab {
  background-color: white;
  border-bottom: 0;
  color: var(--color-primary);
}
.accordion-wrapper .tab-desc {
  border-left: 1px solid #ddd;
  border-right: 1px solid #ddd;
  border-bottom: 1px solid #ddd;
  display: none;
}
.accordion-wrapper .tab-desc.active-tab {
  display: block;
}
.accordion-wrapper .tab-content {
  padding: 30px;
  font-size: 16px;
  color: #181c32;
  line-height: 45px;
}
.accordion-wrapper .tab-content li {
  padding-bottom: 2px;
}
.accordion-wrapper .tab-img {
  display: flex;
  justify-content: center;
  margin-bottom: 20px;
}
.accordion-wrapper .tab-img img {
  width: 90%;
  padding-top: 0;
  max-height: 450px;
  object-fit: contain;
  border-top: none;
  border-radius: 7px;
}
.accordion-wrapper .tag-video {
  display: flex;
  justify-content: center;
  margin-top: 20px;
  margin-bottom: 20px;
}
.accordion-wrapper .tag-video video {
  width: 90%;
  aspect-ratio: 16/9;
  border-radius: 7px;
}

.time-line-wrapper {
  position: relative;
  padding-left: 60px;
  padding-right: 60px;
  margin-left: auto;
  margin-right: auto;
  max-width: 920px;
  font-family: var(--font-family-custom);
}
.time-line-wrapper .timeline {
  align-items: center;
  display: flex;
  flex-direction: column;
  z-index: 2;
  width: 100%;
  padding: 50px 20px;
  position: relative;
}
.time-line-wrapper .timeline .timeline-card {
  width: 100%;
  padding: 50px 50px 60px;
  box-shadow: 0 2px 30px rgba(0, 0, 0, 0.1);
  border-radius: 4px;
  min-height: 210px;
  margin-bottom: 70px;
  position: relative;
  background-color: white;
}
.time-line-wrapper .timeline .timeline-card::before {
  content: "";
  background: var(--color-primary);
  border-radius: 4px 0 0 4px;
  bottom: 0;
  left: 0;
  position: absolute;
  top: 0;
  transition: opacity 0.3s;
  width: 4px;
}
.time-line-wrapper .timeline .timeline-card:not(:last-child)::after {
  content: "";
  position: absolute;
  bottom: -70px;
  left: 50%;
  height: 70px;
  width: 2px;
  background-color: #ddd;
}
.time-line-wrapper .timeline .timeline-card .date {
  color: var(--color-primary);
  font-size: 20px;
  font-weight: 700;
  margin-bottom: 10px;
  font-style: italic;
}
.time-line-wrapper .timeline .timeline-card .title {
  font-family: var(--font-family-base);
  color: #181c32;
  font-weight: 700;
  letter-spacing: 0.2px;
  font-size: 20px;
  margin-bottom: 10px;
}
.time-line-wrapper .timeline .timeline-card .desc {
  color: #181c32;
  font-size: 17px;
  font-weight: 400;
  line-height: 1.9;
}
.time-line-wrapper .timeline .timeline-card .timeline-img {
  margin-top: 30px;
}
.time-line-wrapper .timeline .timeline-card .timeline-img img {
  width: 100%;
  max-height: 380px;
  object-fit: contain;
}

.button-container .button-wrapper {
  display: flex;
  align-items: center;
  padding: 0 30px;
  max-width: 800px;
  margin: 0 auto;
  margin-bottom: 25px;
}
.button-container .button-wrapper .desc {
  color: #181c32;
  flex: 2 1;
  font-size: 15px;
  font-weight: 300;
  line-height: 1.666667;
  padding-right: 80px;
  transition: padding 0.3s;
  word-break: break-word;
}
.button-container .button-wrapper .button-block {
  border: 2px solid transparent;
  box-sizing: border-box;
  color: #fff;
  cursor: pointer;
  flex: 1 1;
  width: 170px;
  font-size: 12px;
  font-weight: 700;
  height: 40px;
  letter-spacing: 0.4px;
  line-height: 36px;
  max-width: 170px;
  min-width: 100px;
  padding-left: 10px;
  padding-right: 10px;
  text-align: center;
  text-decoration: none;
  text-overflow: ellipsis;
  text-transform: uppercase;
  transition: background 0.3s, border 0.3s, border-radius 0.3s, color 0.3s, opacity 0.3s;
  border-radius: 20px;
  background-color: var(--color-primary);
}

.embed-template {
  width: 100%;
  display: flex;
  flex-direction: column;
  margin: auto;
  padding-top: 10px;
}
@media only screen and (min-width: 375px) and (max-width: 424px) {
  .embed-template {
    width: 95%;
    margin: 0 auto;
  }
}
.embed-template .embed-item {
  width: 100%;
  height: 100%;
  border: none;
}
@media only screen and (min-width: 375px) and (max-width: 424px) {
  .embed-template .embed-item {
    height: 300px;
  }
}

.scorm {
  padding: 0;
  border: 2px dashed gray;
  border-radius: 10px;
  overflow: hidden;
  aspect-ratio: 16/9;
  position: relative;
}
.scorm .button-play-scorm {
  position: absolute;
  width: 100%;
  height: 100%;
  background-color: #d1d1d1;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 30px;
  font-weight: bold;
  text-transform: uppercase;
  cursor: pointer;
}
.scorm .button-play-scorm .icon-play-scorm {
  font-size: 21px;
  margin-left: 10px;
}

.scorm-micro {
  padding: 0 !important;
}
.scorm-micro .scorm {
  width: 100% !important;
  height: 100vh;
  border-radius: 0;
  border: 0;
}

.no-scorm {
  text-align: center;
  color: black;
}

.question-box .question-wrapper .answer-fill-in-blank-2 {
  font-size: 20px;
  position: relative;
}
.question-box .question-wrapper .answer-fill-in-blank-2 .input-fill-in-blank {
  margin: 0 6px;
  height: 27px;
  border-radius: 4px;
  padding: 2px;
}
.question-box .question-wrapper .answer-fill-in-blank-2 .answer-true {
  position: absolute;
  left: -45px;
  top: 3px;
  width: 20px;
  height: 20px;
  border: 1px solid var(--color-primary);
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background-color: var(--color-primary);
  color: white;
  font-size: 13px;
  font-weight: 900;
  cursor: default;
  visibility: hidden;
  opacity: 0;
  transition: opacity 0.2s;
}
.question-box .question-wrapper .answer-fill-in-blank-2 .answer-false {
  position: absolute;
  left: -45px;
  top: 3px;
  width: 20px;
  height: 20px;
  border: 1px solid black;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background-color: black;
  color: white;
  font-size: 13px;
  font-weight: 900;
  cursor: default;
  visibility: hidden;
  opacity: 0;
  transition: opacity 0.3s;
}

.question-box .question-wrapper .answer-acceptable-fill-in-blank-2 {
  margin-top: 15px;
  color: gray;
  font-family: sans-serif;
  visibility: hidden;
  opacity: 0;
  transition: opacity 0.2s;
  line-height: 25px;
}
.question-box .question-wrapper .answer-acceptable-fill-in-blank-2 .answer-input-fill-in-blank {
  border: 1px solid var(--color-primary);
  padding: 2px 5px;
  border-radius: 5px;
}

.question-select-from-list .answer-select-from-list {
  margin: 0 6px;
  height: 27px;
  border-radius: 4px;
  padding: 2px;
  font-size: 15px;
}

.answer-essay textarea {
  width: 100%;
  min-width: 100%;
  max-width: 100%;
  min-height: 200px;
  border-radius: 10px;
  padding: 10px;
}

.question-drag-drop-wrapper .answer-drag-and-drop {
  display: flex;
  flex-direction: row;
  column-gap: 30px;
  height: 100%;
}
.question-drag-drop-wrapper .list-answer-drop {
  flex: 1;
  display: flex;
  flex-direction: column;
}
.question-drag-drop-wrapper .list-answer-drop .drop-box {
  padding: 10px;
  border: 2px solid #ebebeb;
  border-radius: 5px;
  position: relative;
  margin-top: 10px;
  display: flex;
  flex-direction: column;
  row-gap: 10px;
  padding-bottom: 100px;
}
.question-drag-drop-wrapper .list-answer-drop .drop-box .hind {
  position: absolute;
  bottom: 20px;
  left: 0;
  width: 100%;
  text-align: center;
  color: gray;
  text-transform: uppercase;
}
.question-drag-drop-wrapper .list-answer-drop .drop-box .answer-drag {
  background-color: #63acb0;
  border-radius: 5px;
}
.question-drag-drop-wrapper .list-answer-drag {
  flex: 1;
}
.question-drag-drop-wrapper .drag-box {
  border: 2px solid #ebebeb;
  padding: 10px;
  border-radius: 5px;
  margin-top: 10px;
  display: flex;
  flex-direction: column;
  row-gap: 10px;
  min-height: 20px;
}
.question-drag-drop-wrapper .list-answer-drop .answer-drop {
  padding: 10px 10px;
  background-color: #ebebeb;
  border: 2px solid #ebebeb;
  border-radius: 5px;
  display: flex;
}
.question-drag-drop-wrapper .list-answer-drop .answer-drop .title-answer-drop {
  flex: 1;
}
.question-drag-drop-wrapper .list-answer-drop .answer-drop .image {
  width: 40px;
  height: 40px;
}
.question-drag-drop-wrapper .list-answer-drop .answer-drop .image img {
  width: 100%;
  height: 100%;
  border-radius: 5px;
}
.question-drag-drop-wrapper .list-answer-drop .drop-box.drag-over {
  border: 2px dashed gray;
}
.question-drag-drop-wrapper .list-answer-drag .answer-drag {
  padding: 10px 10px;
  background-color: #ebebeb;
  border-radius: 5px;
}
.question-drag-drop-wrapper .list-drop {
  display: flex;
  flex-direction: column;
  row-gap: 10px;
}
.question-drag-drop-wrapper .list-drop .answer-drag {
  padding: 10px 10px;
  background-color: #ebebeb;
  position: relative;
  z-index: 1000;
}
.question-drag-drop-wrapper .placeholder-drop {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: gray;
  opacity: 0.4;
  border: 3px dashed black;
  border-radius: 5px;
  display: none;
}

.answer-arrange {
  user-select: none;
  margin-top: 20px;
  position: relative;
}
.answer-arrange .answer-true {
  position: absolute;
  left: -45px;
  top: 3px;
  width: 20px;
  height: 20px;
  border: 1px solid var(--color-primary);
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background-color: var(--color-primary);
  color: white;
  font-size: 13px;
  font-weight: 900;
  cursor: default;
  visibility: hidden;
  opacity: 0;
  transition: opacity 0.2s;
}
.answer-arrange .answer-false {
  position: absolute;
  left: -45px;
  top: 3px;
  width: 20px;
  height: 20px;
  border: 1px solid black;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background-color: black;
  color: white;
  font-size: 13px;
  font-weight: 900;
  cursor: default;
  visibility: hidden;
  opacity: 0;
  transition: opacity 0.3s;
}

.answer-arrange .answer-drag-item {
  background-color: #c5c5c5;
  padding: 3px 6px;
  border-radius: 3px;
  color: black;
  cursor: pointer;
}

.answer-arrange .list-answer-drop {
  display: flex;
  column-gap: 4px;
  margin-top: 10px;
  border-radius: 3px;
  padding: 7px;
  flex-wrap: wrap;
  background-color: #ebebeb;
  min-height: 22px;
  margin-bottom: 20px;
  display: flex;
  flex-wrap: wrap;
}

.answer-arrange .list-answer-arrange {
  width: fit-content;
  display: flex;
  gap: 4px;
  margin-top: 10px;
  border-radius: 3px;
  padding: 7px;
  flex-wrap: wrap;
}

.answer-arrange .list-answer-arrange .answer-drag-item {
  background-color: #c5c5c5;
  padding: 3px 6px;
  border-radius: 3px;
  color: black;
  cursor: pointer;
}

.question-multiple-true-false .question-answers {
  display: flex;
  flex-direction: column;
  row-gap: 10px;
}

.answer-true-or-false {
  display: flex;
  column-gap: 15px;
}

.answer-multiple-true-or-false {
  display: flex;
  align-items: center;
  padding-top: 10px;
}

.answer-item-multiple-true-false {
  display: flex;
  flex-direction: column;
  align-items: start !important;
  background: #f3f6f9;
  border-radius: 5px;
  position: relative;
  font-size: 18px;
  min-height: 80px;
  display: flex;
  align-items: center;
  cursor: pointer;
  flex-direction: column;
  align-items: start !important;
  background: #f3f6f9;
  border-radius: 5px;
  transition: transform 0.3s;
}
.answer-item-multiple-true-false input {
  margin-left: 15px !important;
  margin-top: 0;
  width: 20px;
  height: 20px;
  cursor: pointer;
}
.answer-item-multiple-true-false .content-answer {
  margin-top: 12px;
  margin-left: 12px;
}
.answer-item-multiple-true-false .answer-true {
  position: absolute;
  left: -45px;
  top: 3px;
  width: 20px;
  height: 20px;
  border: 1px solid var(--color-primary);
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background-color: var(--color-primary);
  color: white;
  font-size: 13px;
  font-weight: 900;
  cursor: default;
  visibility: hidden;
  opacity: 0;
  transition: opacity 0.2s;
}
.answer-item-multiple-true-false .answer-false {
  position: absolute;
  left: -45px;
  top: 3px;
  width: 20px;
  height: 20px;
  border: 1px solid black;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background-color: black;
  color: white;
  font-size: 13px;
  font-weight: 900;
  cursor: default;
  visibility: hidden;
  opacity: 0;
  transition: opacity 0.3s;
}
.answer-item-multiple-true-false .image-answer {
  width: 40px;
  height: 40px;
  object-fit: cover;
  border-radius: 5px;
  margin-left: 15px;
  margin-top: 10px;
}

.quote-on-image {
  position: relative;
  height: 100%;
}
.quote-on-image .quote-container {
  position: relative;
  z-index: 1000;
}
.quote-on-image .background {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0.4;
  background-color: #292929;
  z-index: 1;
}
.quote-on-image .text {
  width: 100%;
  min-height: 480px;
  background-position: center;
  position: relative;
  background-repeat: no-repeat;
  background-size: cover;
  display: flex;
  flex-direction: column;
}
.quote-on-image .text .avatar {
  margin: 100px 0;
  z-index: 1;
  margin-bottom: 0;
}
.quote-on-image .text .avatar img {
  width: 60px;
  height: 60px;
  border-radius: 50px;
  object-fit: cover;
}
.quote-on-image .text .paragraph {
  position: relative;
  border: none;
  font-size: 24px;
  color: #fff;
  z-index: 1;
  margin-top: 25px;
}
.quote-on-image .text .paragraph::before {
  background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAQBAMAAADkNkIoAAAAMFBMVEUAAAD///////////////////////////////////////////////////////////87TQQwAAAAD3RSTlMAEe53RKqZIt1mVTPMu4inCm5kAAAAjElEQVQI12MAggUgwhFEeKgDCdHPQILzG5Bg79kAJOcbAAmJgyC+KkhRUAGQYPsIJFg+g/jyAUCCFcRnWJ8AJJg+gJj21/7fZqj/rK/JwJD/////Df5A4gGYGQBifmSwB5IN9UDiC8N6IKnABCR+MXAAyQRmsAKW//8/FTCe//8faL/v/2gGBrn/mgwACsFCFVZJXz4AAAAASUVORK5CYII=);
  content: "";
  display: block;
  height: 16px;
  left: -4rem;
  position: absolute;
  width: 20px;
}
.quote-on-image .text .name {
  z-index: 1;
  font-weight: 700;
  color: white;
}

.wrapper-check-lesson {
  display: flex;
  justify-content: center;
}
.wrapper-check-lesson .check-multiple-choice,
.wrapper-check-lesson .check-multiple-response,
.wrapper-check-lesson .check-fill-in-the-blank,
.wrapper-check-lesson .check-matching {
  border-radius: 0px;
  border: 1px solid #ddd;
  box-shadow: 0 2px 30px rgba(0, 0, 0, 0.1019607843);
  position: relative;
  min-height: auto;
  padding: 60px 0;
  height: auto;
}
.wrapper-check-lesson .take-again {
  display: none;
  text-transform: uppercase;
  text-align: center;
  font-weight: bold;
  flex-direction: column;
  align-items: center;
  margin-top: 20px;
  cursor: pointer;
}
.wrapper-check-lesson .take-again .icon {
  font-size: 22px;
  margin-top: 10px;
}
.wrapper-check-lesson .take-again:hover {
  color: var(--color-primary);
}

.answer-correct {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  transition: height 0.4s, opacity 0.4s;
}
.answer-correct .icon-correct {
  width: 60px;
  height: 60px;
  border-radius: 50%;
  border: 2px solid #cacbcb;
  text-align: center;
  line-height: 60px;
  font-size: 30px;
  color: var(--color-primary);
  margin-top: 30px;
}
.answer-correct .content-true-false {
  margin-top: 7px;
  margin-bottom: 20px;
  font-weight: 700;
  letter-spacing: 0.2px;
  font-size: 12px;
  color: black;
}

.feedback {
  padding-bottom: 30px;
  padding-top: 10px;
  opacity: 0;
  visibility: hidden;
  max-height: 0;
  transition: max-height 2s, opacity 2s;
  user-select: none;
}
.feedback.active {
  background-color: #f8f8f8;
}
.feedback .content-feedback {
  text-align: center;
  font-size: 14px;
  line-height: 1.7;
  padding: 0 11%;
  margin-bottom: 15px;
}

.control-micorolearning {
  position: absolute;
  display: flex;
  justify-content: space-between;
  align-items: center;
  z-index: 10000;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.5s;
}
.control-micorolearning .back-micro-item {
  align-items: center;
  background-color: #fff;
  border: 1px solid transparent;
  border-radius: 50%;
  box-shadow: 0 4px 9px rgba(0, 0, 0, 0.231372549);
  display: flex;
  justify-content: center;
  transition: transform 0.3s;
  height: 40px;
  width: 40px;
  cursor: pointer;
}
.control-micorolearning .back-micro-item i {
  color: black;
  font-size: 20px;
}
.control-micorolearning .back-micro-item:hover {
  transform: scale(1.1111);
}
.control-micorolearning .next-micro-item {
  align-items: center;
  background-color: #fff;
  border: 1px solid transparent;
  border-radius: 50%;
  box-shadow: 0 4px 9px rgba(0, 0, 0, 0.231372549);
  display: flex;
  justify-content: center;
  transition: transform 0.3s;
  height: 40px;
  width: 40px;
  cursor: pointer;
}
.control-micorolearning .next-micro-item i {
  color: black;
  font-size: 20px;
}
.control-micorolearning .next-micro-item:hover {
  transform: scale(1.1111);
}
.control-micorolearning .list-dot-wrapper {
  display: flex;
  height: 32px;
  border-radius: 30px;
  background: rgba(0, 0, 0, 0.8);
  justify-content: center;
  align-items: center;
  padding: 0 10px;
}
.control-micorolearning .list-dot-wrapper .step-lesson {
  width: 24px;
  height: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}
.control-micorolearning .list-dot-wrapper .step-lesson.dot-break {
  cursor: no-drop;
}
.control-micorolearning .list-dot-wrapper .step-lesson.dot-break:hover .step {
  background: #959395;
  width: 10px;
  height: 10px;
}
.control-micorolearning .list-dot-wrapper .step-lesson .step {
  background: #959395;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  transition: width 0.2s, height 0.2s;
}
.control-micorolearning .list-dot-wrapper .step-lesson .step.active {
  width: 16px;
  height: 16px;
  background: white;
}
.control-micorolearning .list-dot-wrapper .step-lesson .step:hover {
  width: 16px;
  height: 16px;
  background: white;
}
.control-micorolearning.horizontal {
  left: 28px;
  right: 28px;
  top: 30px;
}
.control-micorolearning.vertical {
  top: 28px;
  bottom: 28px;
  right: 30px;
  flex-direction: column;
}
.control-micorolearning.vertical .list-dot-wrapper {
  flex-direction: column;
  width: 32px;
  height: auto;
  padding: 10px 0;
}

.list-micro-learning {
  width: 100%;
  overflow: hidden;
}

.micro-learning-wrapper {
  display: flex;
}
.micro-learning-wrapper .micro-learning {
  position: relative;
  width: 100%;
  height: 100vh;
  flex-shrink: 0;
  background: #bdbdbd;
  z-index: 100;
  opacity: 0;
  background-size: cover;
  background-repeat: space;
  background-position: center;
  transition: transform 0.8s, opacity 0.5s;
}
.micro-learning-wrapper .micro-learning .header-title {
  color: white;
  text-shadow: 0 7px 13px #858585, 0 0px 8px #858585;
}
.micro-learning-wrapper .micro-learning .author-avatar .name {
  color: white;
  text-shadow: 0 7px 13px #858585, 0 0px 8px #858585;
}
.micro-learning-wrapper .item-micro {
  width: 100%;
  height: 100%;
  flex-shrink: 0;
  position: absolute;
  background: white;
  visibility: hidden;
  display: flex;
  flex-direction: column;
  opacity: 0;
  overflow-y: auto;
  transition: transform 0.8s, opacity 0.5s;
  transform: translateX(100%);
}
.micro-learning-wrapper .item-micro::-webkit-scrollbar {
  width: 5px;
  height: 5px;
  background: white;
}
.micro-learning-wrapper .item-micro::-webkit-scrollbar-thumb {
  background-color: #bdbdbd;
  border-radius: 50px;
}
.micro-learning-wrapper .item-micro.item-micro-multiple {
  justify-content: flex-start !important;
}
.micro-learning-wrapper .item-micro .item-micro-background-top {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 50%;
  z-index: -1;
}
.micro-learning-wrapper .item-micro .item-micro-background-bottom {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 50%;
  z-index: -1;
}
.micro-learning-wrapper .item-micro-next-horizontal {
  visibility: visible;
  transform: translateX(100%);
}
.micro-learning-wrapper .item-micro-next-vertical {
  visibility: visible;
  transform: translateY(100%);
}
.micro-learning-wrapper .active-micro {
  opacity: 1;
}

.next-lesson {
  position: fixed;
  bottom: 20px;
  right: 20px;
  background-color: white;
  color: black;
  height: 30px;
  border-radius: 30px;
  padding: 0 15px;
  line-height: 30px;
  box-shadow: 0 0 10px 5px rgba(0, 0, 0, 0.1);
  font-weight: bold;
  cursor: pointer;
}

.back-lesson {
  position: fixed;
  top: 20px;
  right: 20px;
  background-color: white;
  color: black;
  height: 30px;
  border-radius: 30px;
  padding: 0 15px;
  line-height: 30px;
  box-shadow: 0 0 10px 5px rgba(0, 0, 0, 0.1);
  font-weight: bold;
  cursor: pointer;
  z-index: 1000;
}
.back-lesson.horizontal {
  position: absolute;
  left: 20px;
  right: auto;
  top: 0;
  z-index: 1000;
}

/*# sourceMappingURL=styles.css.map */
